text:
package com.mongodb;

import com.mongodb.TaggableReadPreference.NearestReadPreference;
import com.mongodb.TaggableReadPreference.PrimaryPreferredReadPreference;
import com.mongodb.TaggableReadPreference.SecondaryPreferredReadPreference;
import com.mongodb.TaggableReadPreference.SecondaryReadPreference;
import com.mongodb.annotations.Immutable;
import com.mongodb.connection.ClusterDescription;
import com.mongodb.connection.ServerDescription;
import com.mongodb.lang.Nullable;
import org.bson.BsonDocument;
import org.bson.BsonString;

import java.util.Collections;
import java.util.List;
import java.util.concurrent.TimeUnit;

import static com.mongodb.assertions.Assertions.notNull;
import static com.mongodb.internal.connection.ClusterDescriptionHelper.getAny;
import static com.mongodb.internal.connection.ClusterDescriptionHelper.getPrimaries;
import static java.util.Collections.singletonList;
import static java.util.concurrent.TimeUnit.MILLISECONDS;

/**
 * A class that represents preferred replica set members to which a query or command can be sent.
 *
 * @mongodb.driver.manual core/read-preference  Read Preference
 */
@Immutable
public abstract class ReadPreference {

    ReadPreference() {
    }

    /**
     * Create a new ReadPreference instance with a new tag set.
     *

     * Note: this method is not supported for a primary read preference.
     *

     *
     * @param tagSet the new tag set
     * @return a new ReadPreference instance with a new tag set
     * @since 4.1
     */
    public abstract ReadPreference withTagSet(TagSet tagSet);

    /**
     * Create a new ReadPreference instance with a new tag set list.
     *

     * Note: this method is not supported for a primary read preference.
     *

     *
     * @param tagSet the new tag set list
     * @return a new ReadPreference instance with a new tag set list
     * @since 4.1
     */
    public abstract ReadPreference withTagSetList(List<TagSet> tagSet);

    /**
     * Create a new ReadPreference instance with the maximum acceptable staleness of a secondary in order to be considered for
     * read operations.
     *

     * Note: this method is not supported for a primary read preference.
     *

     *
     * @param maxStalenessMS the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                       plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return a new ReadPreference instance with a new maximum allowable staleness
     * @since 4.1
     * @mongodb.server.release 3.4
     */
    public abstract ReadPreference withMaxStalenessMS(Long maxStalenessMS, TimeUnit timeUnit);

    /**
     * Create a new ReadPreference instance with hedge options.
     *

     * Note: this method is not supported for a primary read preference.
     *

     *
     * @param hedgeOptions the hedge options
     * @return a new ReadPreference instance with hedge options
     * @since 4.1
     * @mongodb.server.release 4.4
     */
    public abstract ReadPreference withHedgeOptions(ReadPreferenceHedgeOptions hedgeOptions);

    /**
     * True if this read preference allows reading from a secondary member of a replica set.
     *
     * @return if reading from a secondary is ok
     * @deprecated Prefer {@link #isSecondaryOk()}
     */
    @Deprecated
    public abstract boolean isSlaveOk();

    /**
     * True if this read preference allows reading from a secondary member of a replica set.
     *
     * @return if reading from a secondary is ok
     * @since 4.4
     */
    public abstract boolean isSecondaryOk();

    /**
     * Gets the name of this read preference.
     *
     * @return the name
     */
    public abstract String getName();

    /**
     * Gets a document representing this read preference in the wire protocol.
     *
     * @return the document
     */
    public abstract BsonDocument toDocument();

    /**
     * Chooses the servers from the given cluster than match this read preference.
     *
     * @param clusterDescription the cluster description
     * @return a list of matching server descriptions, which may be empty but may not be null
     */
    public final List<ServerDescription> choose(final ClusterDescription clusterDescription) {
        switch (clusterDescription.getType()) {
            case REPLICA_SET:
                return chooseForReplicaSet(clusterDescription);
            case SHARDED:
            case STANDALONE:
                return chooseForNonReplicaSet(clusterDescription);
            case LOAD_BALANCED:
                return clusterDescription.getServerDescriptions();
            case UNKNOWN:
                return Collections.emptyList();
            default:
                throw new UnsupportedOperationException("Unsupported cluster type: " + clusterDescription.getType());
        }
    }

    /**
     * Choose for non-replica sets.
     *
     * @param clusterDescription the cluster description
     * @return the list of matching server descriptions
     */
    protected abstract List<ServerDescription> chooseForNonReplicaSet(ClusterDescription clusterDescription);

    /**
     * Choose for replica sets.
     *
     * @param clusterDescription the cluster description
     * @return the list of matching server descriptions
     */
    protected abstract List<ServerDescription> chooseForReplicaSet(ClusterDescription clusterDescription);

    /**
     * Gets a read preference that forces read to the primary.
     *
     * @return ReadPreference which reads from primary only
     */
    public static ReadPreference primary() {
        return PRIMARY;
    }

    /**
     * Gets a read preference that forces reads to the primary if available, otherwise to a secondary.
     *
     * @return ReadPreference which reads primary if available.
     */
    public static ReadPreference primaryPreferred() {
        return PRIMARY_PREFERRED;
    }

    /**
     * Gets a read preference that forces reads to a secondary.
     *
     * @return ReadPreference which reads secondary.
     */
    public static ReadPreference secondary() {
        return SECONDARY;
    }

    /**
     * Gets a read preference that forces reads to a secondary if one is available, otherwise to the primary.
     *
     * @return ReadPreference which reads secondary if available, otherwise from primary.
     */
    public static ReadPreference secondaryPreferred() {
        return SECONDARY_PREFERRED;
    }

    /**
     * Gets a read preference that forces reads to a primary or a secondary.
     *
     * @return ReadPreference which reads nearest
     */
    public static ReadPreference nearest() {
        return NEAREST;
    }

    /**
     * Gets a read preference that forces reads to the primary if available, otherwise to a secondary.
     *
     * @param maxStaleness the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                     plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return ReadPreference which reads primary if available.
     * @since 3.4
     * @see TaggableReadPreference#getMaxStaleness(TimeUnit)
     */
    public static ReadPreference primaryPreferred(final long maxStaleness, final TimeUnit timeUnit) {
        return new PrimaryPreferredReadPreference(Collections.emptyList(), maxStaleness, timeUnit);
    }

    /**
     * Gets a read preference that forces reads to a secondary that is less stale than the given maximum.
     *
     *

     * The driver estimates the staleness of each secondary, based on lastWriteDate values provided in server hello responses,
     * and selects only those secondaries whose staleness is less than or equal to maxStaleness.
     *

     *
     * @param maxStaleness the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                     plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return ReadPreference which reads secondary.
     * @since 3.4
     * @see TaggableReadPreference#getMaxStaleness(TimeUnit)
     */
    public static ReadPreference secondary(final long maxStaleness, final TimeUnit timeUnit) {
        return new SecondaryReadPreference(Collections.emptyList(), maxStaleness, timeUnit);
    }

    /**
     * Gets a read preference that forces reads to a secondary that is less stale than the given maximumm if one is available,
     * otherwise to the primary.
     *
     *

     * The driver estimates the staleness of each secondary, based on lastWriteDate values provided in server hello responses,
     * and selects only those secondaries whose staleness is less than or equal to maxStaleness.
     *
     *
     * @param maxStaleness the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                     plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return ReadPreference which reads secondary if available, otherwise from primary.
     * @since 3.4
     * @see TaggableReadPreference#getMaxStaleness(TimeUnit)
     */
    public static ReadPreference secondaryPreferred(final long maxStaleness, final TimeUnit timeUnit) {
        return new SecondaryPreferredReadPreference(Collections.emptyList(), maxStaleness, timeUnit);
    }

    /**
     * Gets a read preference that forces reads to a primary or a secondary that is less stale than the given maximum.
     *
     *

     * The driver estimates the staleness of each secondary, based on lastWriteDate values provided in server hello responses,
     * and selects only those secondaries whose staleness is less than or equal to maxStaleness.
     *

     *
     * @param maxStaleness the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                     plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return ReadPreference which reads nearest
     * @since 3.4
     * @see TaggableReadPreference#getMaxStaleness(TimeUnit)
     */
    public static ReadPreference nearest(final long maxStaleness, final TimeUnit timeUnit) {
        return new NearestReadPreference(Collections.emptyList(), maxStaleness, timeUnit);
    }

    /**
     * Gets a read preference that forces reads to the primary if available, otherwise to a secondary with the given set of tags.
     *
     * @param tagSet the set of tags to limit the list of secondaries to.
     * @return ReadPreference which reads primary if available, otherwise a secondary respective of tags.\
     * @since 2.13
     */
    public static TaggableReadPreference primaryPreferred(final TagSet tagSet) {
        return new PrimaryPreferredReadPreference(singletonList(tagSet), null, MILLISECONDS);
    }

    /**
     * Gets a read preference that forces reads to a secondary with the given set of tags.
     *
     * @param tagSet the set of tags to limit the list of secondaries to
     * @return ReadPreference which reads secondary respective of tags.
     * @since 2.13
     */
    public static TaggableReadPreference secondary(final TagSet tagSet) {
        return new SecondaryReadPreference(singletonList(tagSet), null, MILLISECONDS);
    }

    /**
     * Gets a read preference that forces reads to a secondary with the given set of tags, or the primary is none are available.
     *
     * @param tagSet the set of tags to limit the list of secondaries to
     * @return ReadPreference which reads secondary if available respective of tags, otherwise from primary irrespective of tags.
     * @since 2.13
     */
    public static TaggableReadPreference secondaryPreferred(final TagSet tagSet) {
        return new SecondaryPreferredReadPreference(singletonList(tagSet), null, MILLISECONDS);
    }

    /**
     * Gets a read preference that forces reads to the primary or a secondary with the given set of tags.
     *
     * @param tagSet the set of tags to limit the list of secondaries to
     * @return ReadPreference which reads nearest node respective of tags.
     * @since 2.13
     */
    public static TaggableReadPreference nearest(final TagSet tagSet) {
        return new NearestReadPreference(singletonList(tagSet), null, MILLISECONDS);
    }

    /**
     * Gets a read preference that forces reads to the primary if available, otherwise to a secondary with the given set of tags
     * that is less stale than the given maximum.
     *
     *

     * The driver estimates the staleness of each secondary, based on lastWriteDate values provided in server hello responses,
     * and selects only those secondaries whose staleness is less than or equal to maxStaleness.
     *

     *
     * @param tagSet the set of tags to limit the list of secondaries to.
     * @param maxStaleness the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                     plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return ReadPreference which reads primary if available, otherwise a secondary respective of tags.\
     * @since 3.4
     * @see TaggableReadPreference#getMaxStaleness(TimeUnit)
     */
    public static TaggableReadPreference primaryPreferred(final TagSet tagSet,
                                                          final long maxStaleness, final TimeUnit timeUnit) {
        return new PrimaryPreferredReadPreference(singletonList(tagSet), maxStaleness, timeUnit);
    }

    /**
     * Gets a read preference that forces reads to a secondary with the given set of tags that is less stale than the given maximum.
     *
     *

     * The driver estimates the staleness of each secondary, based on lastWriteDate values provided in server hello responses,
     * and selects only those secondaries whose staleness is less than or equal to maxStaleness.
     *

     *
     * @param tagSet the set of tags to limit the list of secondaries to
     * @param maxStaleness the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                     plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return ReadPreference which reads secondary respective of tags.
     * @since 3.4
     * @see TaggableReadPreference#getMaxStaleness(TimeUnit)
     */
    public static TaggableReadPreference secondary(final TagSet tagSet,
                                                   final long maxStaleness, final TimeUnit timeUnit) {
        return new SecondaryReadPreference(singletonList(tagSet), maxStaleness, timeUnit);
    }

    /**
     * Gets a read preference that forces reads to a secondary with the given set of tags that is less stale than the given maximum,
     * or the primary is none are available.
     *
     *

     * The driver estimates the staleness of each secondary, based on lastWriteDate values provided in server hello responses,
     * and selects only those secondaries whose staleness is less than or equal to maxStaleness.
     *
     *
     * @param tagSet the set of tags to limit the list of secondaries to
     * @param maxStaleness the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                     plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return ReadPreference which reads secondary if available respective of tags, otherwise from primary irrespective of tags.
     * @since 3.4
     * @see TaggableReadPreference#getMaxStaleness(TimeUnit)
     */
    public static TaggableReadPreference secondaryPreferred(final TagSet tagSet,
                                                            final long maxStaleness, final TimeUnit timeUnit) {
        return new SecondaryPreferredReadPreference(singletonList(tagSet), maxStaleness, timeUnit);
    }

    /**
     * Gets a read preference that forces reads to the primary or a secondary with the given set of tags that is less stale than the
     * given maximum.
     *
     *

     * The driver estimates the staleness of each secondary, based on lastWriteDate values provided in server hello responses,
     * and selects only those secondaries whose staleness is less than or equal to maxStaleness.
     *

     *
     * @param tagSet the set of tags to limit the list of secondaries to
     * @param maxStaleness the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                     plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return ReadPreference which reads nearest node respective of tags.
     * @since 3.4
     * @see TaggableReadPreference#getMaxStaleness(TimeUnit)
     */
    public static TaggableReadPreference nearest(final TagSet tagSet,
                                                 final long maxStaleness, final TimeUnit timeUnit) {
        return new NearestReadPreference(singletonList(tagSet), maxStaleness, timeUnit);
    }

    /**
     * Gets a read preference that forces reads to the primary if available, otherwise to a secondary with one of the given sets of tags.
     * The driver will look for a secondary with each tag set in the given list, stopping after one is found,
     * or failing if no secondary can be found that matches any of the tag sets in the list.
     *
     * @param tagSetList the list of tag sets to limit the list of secondaries to
     * @return ReadPreference which reads primary if available, otherwise a secondary respective of tags.
     * @since 2.13
     */
    public static TaggableReadPreference primaryPreferred(final List<TagSet> tagSetList) {
        return new PrimaryPreferredReadPreference(tagSetList, null, MILLISECONDS);
    }

    /**
     * Gets a read preference that forces reads to a secondary with one of the given sets of tags.
     * The driver will look for a secondary with each tag set in the given list, stopping after one is found,
     * or failing if no secondary can be found that matches any of the tag sets in the list.
     *
     * @param tagSetList the list of tag sets to limit the list of secondaries to
     * @return ReadPreference which reads secondary respective of tags.
     * @since 2.13
     */
    public static TaggableReadPreference secondary(final List<TagSet> tagSetList) {
        return new SecondaryReadPreference(tagSetList, null, MILLISECONDS);
    }

    /**
     * Gets a read preference that forces reads to a secondary with one of the given sets of tags.
     * The driver will look for a secondary with each tag set in the given list, stopping after one is found,
     * or the primary if none are available.
     *
     * @param tagSetList the list of tag sets to limit the list of secondaries to
     * @return ReadPreference which reads secondary if available respective of tags, otherwise from primary irrespective of tags.
     * @since 2.13
     */
    public static TaggableReadPreference secondaryPreferred(final List<TagSet> tagSetList) {
        return new SecondaryPreferredReadPreference(tagSetList, null, MILLISECONDS);
    }

    /**
     * Gets a read preference that forces reads to the primary or a secondary with one of the given sets of tags.
     * The driver will look for a secondary with each tag set in the given list, stopping after one is found,
     * or the primary if none are available.
     *
     * @param tagSetList the list of tag sets to limit the list of secondaries to
     * @return ReadPreference which reads nearest node respective of tags.
     * @since 2.13
     */
    public static TaggableReadPreference nearest(final List<TagSet> tagSetList) {
        return new NearestReadPreference(tagSetList, null, MILLISECONDS);
    }

    /**
     * Gets a read preference that forces reads to the primary if available, otherwise to a secondary with one of the given sets of tags
     * that is less stale than the given maximum.
     *
     *

     * The driver will look for a secondary with each tag set in the given list, stopping after one is found,
     * or failing if no secondary can be found that matches any of the tag sets in the list.
     *

     *
     *

     * The driver estimates the staleness of each secondary, based on lastWriteDate values provided in server hello responses,
     * and selects only those secondaries whose staleness is less than or equal to maxStaleness.
     *

     *
     * @param tagSetList the list of tag sets to limit the list of secondaries to
     * @param maxStaleness the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                     plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return ReadPreference which reads primary if available, otherwise a secondary respective of tags.
     * @since 3.4
     * @see TaggableReadPreference#getMaxStaleness(TimeUnit)
     */
    public static TaggableReadPreference primaryPreferred(final List<TagSet> tagSetList,
                                                          final long maxStaleness, final TimeUnit timeUnit) {
        return new PrimaryPreferredReadPreference(tagSetList, maxStaleness, timeUnit);
    }

    /**
     * Gets a read preference that forces reads to a secondary with one of the given sets of tags that is less stale than
     * the given maximum.
     *
     *

     * The driver will look for a secondary with each tag set in the given list, stopping after one is found,
     * or failing if no secondary can be found that matches any of the tag sets in the list.
     *

     *
     *

     * The driver estimates the staleness of each secondary, based on lastWriteDate values provided in server hello responses,
     * and selects only those secondaries whose staleness is less than or equal to maxStaleness.
     *

     *
     * @param tagSetList the list of tag sets to limit the list of secondaries to
     * @param maxStaleness the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                     plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return ReadPreference which reads secondary respective of tags.
     * @since 3.4
     * @see TaggableReadPreference#getMaxStaleness(TimeUnit)
     */
    public static TaggableReadPreference secondary(final List<TagSet> tagSetList,
                                                   final long maxStaleness, final TimeUnit timeUnit) {
        return new SecondaryReadPreference(tagSetList, maxStaleness, timeUnit);
    }

    /**
     * Gets a read preference that forces reads to a secondary with one of the given sets of tags that is less stale than
     * the given maximum.
     *
     *

     * The driver will look for a secondary with each tag set in the given list, stopping after one is found,
     * or the primary if none are available.
     *

     *
     *

     * The driver estimates the staleness of each secondary, based on lastWriteDate values provided in server hello responses,
     * and selects only those secondaries whose staleness is less than or equal to maxStaleness.
     *

     *
     * @param tagSetList the list of tag sets to limit the list of secondaries to
     * @param maxStaleness the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                     plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return ReadPreference which reads secondary if available respective of tags, otherwise from primary irrespective of tags.
     * @since 3.4
     * @see TaggableReadPreference#getMaxStaleness(TimeUnit)
     */
    public static TaggableReadPreference secondaryPreferred(final List<TagSet> tagSetList,
                                                            final long maxStaleness, final TimeUnit timeUnit) {
        return new SecondaryPreferredReadPreference(tagSetList, maxStaleness, timeUnit);
    }

    /**
     * Gets a read preference that forces reads to the primary or a secondary with one of the given sets of tags that is less stale than
     * the given maximum.
     *
     *

     * The driver will look for a secondary with each tag set in the given list, stopping after one is found,
     * or the primary if none are available.
     *

     *
     *

     * The driver estimates the staleness of each secondary, based on lastWriteDate values provided in server hello responses,
     * and selects only those secondaries whose staleness is less than or equal to maxStaleness.
     *

     *
     * @param tagSetList the list of tag sets to limit the list of secondaries to
     * @param maxStaleness the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                     plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return ReadPreference which reads nearest node respective of tags.
     * @since 3.4
     * @see TaggableReadPreference#getMaxStaleness(TimeUnit)
     */
    public static TaggableReadPreference nearest(final List<TagSet> tagSetList,
                                                 final long maxStaleness, final TimeUnit timeUnit) {
        return new NearestReadPreference(tagSetList, maxStaleness, timeUnit);
    }

    /**
     * Creates a read preference from the given read preference name.
     *
     * @param name the name of the read preference
     * @return the read preference
     */
    public static ReadPreference valueOf(final String name) {
        notNull("name", name);

        String nameToCheck = name.toLowerCase();

        if (nameToCheck.equals(PRIMARY.getName().toLowerCase())) {
            return PRIMARY;
        }
        if (nameToCheck.equals(SECONDARY.getName().toLowerCase())) {
            return SECONDARY;
        }
        if (nameToCheck.equals(SECONDARY_PREFERRED.getName().toLowerCase())) {
            return SECONDARY_PREFERRED;
        }
        if (nameToCheck.equals(PRIMARY_PREFERRED.getName().toLowerCase())) {
            return PRIMARY_PREFERRED;
        }
        if (nameToCheck.equals(NEAREST.getName().toLowerCase())) {
            return NEAREST;
        }

        throw new IllegalArgumentException("No match for read preference of " + name);
    }

    /**
     * Creates a taggable read preference from the given read preference name and list of tag sets.
     *
     * @param name the name of the read preference
     * @param tagSetList the list of tag sets
     * @return the taggable read preference
     * @since 2.13
     */
    public static TaggableReadPreference valueOf(final String name, final List<TagSet> tagSetList) {
        return valueOf(name, tagSetList, null, MILLISECONDS);
    }

    /**
     * Creates a taggable read preference from the given read preference name, list of tag sets, and max allowable staleness of secondaries.
     *
     *

     * The driver estimates the staleness of each secondary, based on lastWriteDate values provided in server hello responses,
     * and selects only those secondaries whose staleness is less than or equal to maxStaleness.
     *

     *
     * @param name the name of the read preference
     * @param tagSetList the list of tag sets
     * @param maxStaleness the max allowable staleness of secondaries. The minimum value is either 90 seconds, or the heartbeat frequency
     *                     plus 10 seconds, whichever is greatest.
     * @param timeUnit the time unit of maxStaleness
     * @return the taggable read preference
     * @since 3.4
     * @see TaggableReadPreference#getMaxStaleness(TimeUnit)
     */
    public static TaggableReadPreference valueOf(final String name, final List<TagSet> tagSetList, final long maxStaleness,
                                                 final TimeUnit timeUnit) {
        return valueOf(name, tagSetList, (Long) maxStaleness, timeUnit);
    }

    private static TaggableReadPreference valueOf(final String name, final List<TagSet> tagSetList, @Nullable final Long maxStaleness,
                                                  final TimeUnit timeUnit) {
        notNull("name", name);
        notNull("tagSetList", tagSetList);
        notNull("timeUnit", timeUnit);

        String nameToCheck = name.toLowerCase();

        if (nameToCheck.equals(PRIMARY.getName().toLowerCase())) {
            throw new IllegalArgumentException("Primary read preference can not also specify tag sets, max staleness or hedge");
        }

        if (nameToCheck.equals(SECONDARY.getName().toLowerCase())) {
            return new SecondaryReadPreference(tagSetList, maxStaleness, timeUnit);
        }
        if (nameToCheck.equals(SECONDARY_PREFERRED.getName().toLowerCase())) {
            return new SecondaryPreferredReadPreference(tagSetList, maxStaleness, timeUnit);
        }
        if (nameToCheck.equals(PRIMARY_PREFERRED.getName().toLowerCase())) {
            return new PrimaryPreferredReadPreference(tagSetList, maxStaleness, timeUnit);
        }
        if (nameToCheck.equals(NEAREST.getName().toLowerCase())) {
            return new NearestReadPreference(tagSetList, maxStaleness, timeUnit);
        }

        throw new IllegalArgumentException("No match for read preference of " + name);
    }

    /**
     * Preference to read from primary only. Cannot be combined with tags.
     */
    private static final class PrimaryReadPreference extends ReadPreference {
        private PrimaryReadPreference() {
        }

        @Override
        public ReadPreference withTagSet(final TagSet tagSet) {
            throw new UnsupportedOperationException("Primary read preference can not also specify tag sets");
        }

        @Override
        public TaggableReadPreference withTagSetList(final List<TagSet> tagSet) {
            throw new UnsupportedOperationException("Primary read preference can not also specify tag sets");
        }

        @Override
        public TaggableReadPreference withMaxStalenessMS(final Long maxStalenessMS, final TimeUnit timeUnit) {
            throw new UnsupportedOperationException("Primary read preference can not also specify max staleness");
        }

        @Override
        public TaggableReadPreference withHedgeOptions(final ReadPreferenceHedgeOptions hedgeOptions) {
            throw new UnsupportedOperationException("Primary read preference can not also specify hedge");
        }

        @Override
        public boolean isSlaveOk() {
            return false;
        }

        @Override
        public boolean isSecondaryOk() {
            return false;
        }

        @Override
        public String toString() {
            return getName();
        }

        @Override
        public boolean equals(final Object o) {
            return o != null && getClass() == o.getClass();
        }

        @Override
        public int hashCode() {
            return getName().hashCode();
        }

        public BsonDocument toDocument() {
            return new BsonDocument("mode", new BsonString(getName()));
        }

        @Override
        protected List<ServerDescription> chooseForReplicaSet(final ClusterDescription clusterDescription) {
            return getPrimaries(clusterDescription);
        }

        @Override
        protected List<ServerDescription> chooseForNonReplicaSet(final ClusterDescription clusterDescription) {
            return getAny(clusterDescription);
        }

        @Override
        public String getName() {
            return "primary";
        }
    }

    private static final ReadPreference PRIMARY;
    private static final ReadPreference SECONDARY;
    private static final ReadPreference SECONDARY_PREFERRED;
    private static final ReadPreference PRIMARY_PREFERRED;
    private static final ReadPreference NEAREST;

    static {
        PRIMARY = new PrimaryReadPreference();
        SECONDARY = new SecondaryReadPreference();
        SECONDARY_PREFERRED = new SecondaryPreferredReadPreference();
        PRIMARY_PREFERRED = new PrimaryPreferredReadPreference();
        NEAREST = new NearestReadPreference();
   }
}


text:
Charles Tillman in "The Heart of the Matter"
To view original article, please click here
Ted Kay, a two-time Emmy Award winner, set out to make a little film to increase awareness of congenital heart disease.
The result is a full-fledged, one-hour documentary with big-name stars and rock-star physicians — including a few from Chicago.
"The Heart of the Matter," narrated by North Shore native Chris O'Donnell, also features Dr. Carl Backer (division chief, cardiovascular-thoracic surgery at Children's Memorial Hospital); Dr. Ziyad Hijazi (director of congenital and structural heart disease at Rush Medical Center); and Dr. Marla Mendelson (director of adult congenital heart center at Northwestern University).
Their interviews examine the causes, treatments and legislative action related to the disease. There also are interviews with celebrities like Brian Littrell of Backstreet Boys fame and Chicago Bears cornerbackCharles Tillman and other families and children affected by the disease. (Mr. Littrell was born with a congenital heart defect, and Mr. Tillman's daughter was born with heart problems.)
Mr. Kay, president of TMK Productions, won Emmy awards for "Choosing One's Way: Resistance in Auschwitz," a documentary hosted by Academy Award winner Ellen Burstyn, and for "Outside In," which examines adults with attention deficit disorder.
PBS will air the film on May 6.

redpajama_set_name: RedPajamaCommonCrawl


With the 2018 eventing season drawing to its conclusion, Bicton Arena will be in celebratory mood next weekend with its four-day international competition, writes Lucy Johnson.
A packed programme kicks off on Thursday (October 18) with the prestigious BE100 three-day competition, which has attracted competitors from across the length and breadth of the country.
More than 70 riders and horses will be in action in this class, vying for prizes sponsored by Goodbye Flies and AJ Boutique.
Feature class of the competition is the CIC2*, sponsored by Rathbones, with recent World Equestrian Championships team gold medalist Tom McEwen among those in action. One hundred competitors will tackle organiser and course builder Helen West's cross-country courses, the most the class has ever attracted since it was first introduced in 2015.
Helen [West] says: "We're over the moon with the entries and together with our other classes, which include the CIC* with nearly 150 entries, we're expecting four fabulous days of equine competition. We have some fantastic sponsors on board with Cavanna Homes sponsoring the CCI*, Empire Coach Builders the CIC*, plus invaluable support from many others including Equine H, Cheffings Equine, Skinners, Woof Wear, John Bevan, Leonard Coombe, English Country Cottages, Wyvern to name a few.
The competition has attracted some significant names from the world of eventing, including former British Olympian Jeanette Brakewell, Marcelo Tosi, who represented Brazil at WEG, William Fox-Pitt and Harry Meade, while top fashion model Edie Campbell, who models for companies like Burberry, Vogue and Lois Vuitton, will also be in action in the CIC2* on Fireball F.
Organisers have also added plenty of special touches, including buckets filled with goodies for riders in CIC, CCI and BE100 three-day classes, trophies for winners of the International classes and flowers to all winners.
Hatherleigh-based Padraig McCarthy, who won silver at WEG on Mr Chunky and who has several rides throughout the competition, will join Tom McEwan for a question and answer session on Friday evening, starting at 7.30pm in the marquee.


Page F30: What percentage of scientific publications are in Spanish?
What percentage of scientific publications are in Spanish?
Instead of just revealing the number in the title, imagine what you think it is and then follow the link here to find the number. By the way, it's in fifth place and German is second after English. The article doesn't say which languages are in between but I will guess French, and...Japanese.
For posterity's sake (if the link dies in a year, for example) I'll include a paragraph from the article, and just white it out.


Hey friends today I come up with intriguing post which can be helpful for all of us. Here we are going to go over regarding Logout Facebook From All Devices At the end of post you'll learn about Energetic login sessions. It is really simple to forget to logout of Facebook account or Facebook carrier on any type of device. Often times it occurs when we remain in rush for another task.
Exactly what is necessary is to logout of Facebook account. You make this behavior to finish the Facebook current active session. Because there might be possibility that other individual use that gadget. On Facebook we all have numerous personal points which can be miss made use of. In some case we might have to deal with humiliation. So no have to pray to god and also state log me from Facebook.
All thanks to Facebook group, that they generate this practical function. Facebook supplies improved security feature that permits us to remotely logout Facebook account from any kind of device. We can remotely log out of Facebook messenger & finish all the Facebook energetic sessions on any computer.
Step-2: Most likely to the top-right side of your account, just click the ▼ sign and afterwards select the "Setting" from the drop-down checklist to open Setups web page.
Step-3: From the left-hand side of the open screen, click on the "Security and Login Settings" alternative.
Step-4: Currently click on the "Where You're Logged In section" and afterwards discover the session you intend to finish.
Step-5: Currently click on the three dots symbol then click on the log out button.
Although, above listed actions are enough to resolve your questions like ways to facebook logout from all tools? Or just how do you facebook logout of all devices? Still, if you found any type of problem with this approach then, allow us know via the comment section. Really, our goal is to earn your self-learner so enjoys the discovering procedure with Learn Wisely. Conversely, you can understand more FB attributes in our FB Tutorial.


HPAC annually serves over 300 students and their families — as well as impacting over 2,000 students through our community events and school partnerships.
Through our birth to college pipeline, we give Hunts Point students a chance to shine. The goal is to broaden their horizons, teach them new skills, and build confidence so they are prepared for the wider world of college and careers.
Education success starts with strong family relationships and curiosity for learning about our world. To learn more, email Reina Garcia, or call her at 718-620-2824, ext 106.
Family School Skill Sessions (FSS) is an eight-week program that prepares children for school and focuses on strengthening parent-child relationships through communication, education, and child-directed play.
Sessions involve family discussions, social-emotional focused art and play activities, and a read-aloud.
HPAC has partnered with Chances for Children (CFC) to offer free individualized sessions for parents and their children.
During this play-based intervention, therapists provide parents with information about child development, discuss confusion parents may have about their children's behaviors, and help parents work through the unavoidable bumps in the road of parenting.
Readers To Leaders is a kindergarten after-school program that focuses on literacy and language development for students who are performing below grade-level. Students and their families also participate in Raising a Reader, a research-based early literacy and family engagement program that helps families develop book-sharing routines with their children.
Play to Learn is a family-based program that offers Hunts Point families an educational and creative play space with age-appropriate activities and resources. Parents and caregivers learn the importance of play through personalized instruction that builds on parents' strengths. Playworkers strategically guide the way in which parents play with their child by modeling and communicating the best way of supporting the child.
The HPAC Lending Library aims to promote the importance of early literacy by providing easy access to age-appropriate and educational literature to families and children in the Hunts Point community. The Library currently contains over 1,000 books in Spanish and English and other educational materials available for participating families to borrow.
The HPAC Summer Smarts program is a 4-week camp for students who are entering or repeating kindergarten in the upcoming fall.
Summer Smarts tailors instruction to each student to enhance his or her social, emotional, and cognitive skills through play, rigorous academic small and large group instruction, and family field trips to prepare students for school.
HPAC Youth Development programs foster school engagement, build academic skills, and support students on the journey to college. To learn more, email Kwame Mensah, Director of Programs, or call him at 718-620-2824, ext. 102.
The Hunts Point Children's Shakespeare Ensemble is a collaboration with The Public Shakespeare Initiative to produce a Shakespearean play with 4th through 6th grade students.
The program includes an acting ensemble (5th & 6th graders) and a choral ensemble (4th graders). The program ends with a full theater production in Shakespeare's original language, complete with sets, lights, costumes, a chorus, and live musicians.
In the Storefront Ensemble, students participate in an intensive writing curriculum coupled with performance instruction.
Students write about themselves, their neighborhood and the world, learning to use written word as an expressive art form.
Students' final pieces are adapted and combined into a script that the students perform for their parents and community.
The Career and Education Mentoring Program (or CEMP) introduces students who are part of HPAC programs to possible career opportunities that match their interests.
Through CEMP activities and field trips, students are exposed to a college environment, learn about career pathways, and interact with college mentors who encourage youth to aim for higher education.
The HPAC Young Writers Program is a pipeline of programming that prepares students for the demands of college through the development of writing, critical thinking, and presentation skills.
Young Writers begins with supplemental writing workshops for Storefront Ensemble participants and continues through year-long and intensive summer writing workshops for high school students, including a partnership with the Kenyon Young Writers Workshop. The Young Writers program provides opportunities for students to gain experiences and skills necessary to complete high school and college-level work. Each year, the Young Writers Program publishes a literary magazine, The Six Train, showcasing student work.
HPAC's education counselor works with students during transition grades to find the right middle school, high school, and college. Through workshops, family advisement meetings, and ongoing support and connections to educational opportunities, scholars are set on the pathway to post-secondary success. Beginning in high school, students are guided through the process of going to college – from SAT prep to completing the financial aid application process. Scholars are also encouraged and supported each summer to find opportunities to engage in academic learning, explore interests, and gain job skills.
The Family Project's goal is to help families living in Hunts Point establish and/or maintain household stability for the purpose of providing a nurturing, secure, and supportive environment that promotes the educational progress of their children.
To learn more, email Allison Barlow, LMSW, Family Project Director, or call her at 718-620-2824, ext 108.


text:
Días de cine (pel·lícula), film espanyol del 2006 dirigit per David Serrano de la Peña
 Días de cine (programa de televisió), programa de televisió espanyol amb periodicitat setmanal dedicat a la informació cinematogràfica estrenat en 1991
 Premis Días de Cine, guardons que atorga la redacció del programa Días de cine de Televisió Espanyola

redpajama_set_name: RedPajamaWikipedia


text:
Español Français Português
OEA/Ser.G
CP/RES. 760 (1217/99)
Original: Spanish
AMENDMENTS TO THE RULES OF PROCEDURE OF THE GENERAL ASSEMBLY
THE PERMANENT COUNCIL OF THE ORGANIZATION OF AMERICAN STATES,
RECALLING that the General Assembly, in resolution AG/RES. 1603 (XXVIII-O/98), "Modernization of the OAS and Renewal of the Inter-American System," established the Special Joint Working Group of the Permanent Council and the Inter-American Council for Integral Development (CIDI) "for the purpose of identifying the aspects with regard to which it is necessary to foster and intensify the process of strengthening and modernizing the OAS by defining strategies, procedures, and concrete actions with a view to promoting a comprehensive renewal of the inter-American system, on the basis of the dialogue of foreign ministers and heads of delegation of the General Assembly";
RECALLING ALSO that the General Assembly, in resolution AG/RES. 1603 (XXVIII-O/98), authorized the Permanent Council to adopt such organizational and structural measures as it considered suitable in pursuit of the aims set forth in that resolution, including the adoption ad referendum of decisions requiring authorization from the General Assembly, and to report to the Assembly on the work carried out; and
CONSIDERING the report presented by the Chair of the Special Joint Working Group of the Permanent Council and the Inter-American Council for Integral Development on the Strengthening and Modernization of the OAS concerning the proposed amendments to the Rules of Procedure of the General Assembly,
RESOLVES:
1. To adopt, ad referendum of the General Assembly, the "Rules of Procedure of the General Assembly" contained in the appendix to this resolution.
2. That, without prejudice to the condition indicated in the preceding operative paragraph, those Rules of Procedure shall enter into force on the date of adoption of this resolution.
3. To report to the General Assembly at its thirtieth regular session on the application of this resolution.
4. To express appreciation for the report presented by the Chair of the Special Joint Working Group of the Permanent Council and the Inter-American Council for Integral Development on the Strengthening and Modernization of the OAS and for the effective work of the subgroup established by the Special Joint Working Group to revise the Rules of Procedure of the General Assembly.
RULES OF PROCEDURE OF THE GENERAL ASSEMBLY 1/
I. NATURE AND COMPOSITION
Article 1. The General Assembly is the supreme organ of the Organization of American States and is composed of the delegations accredited by the governments of the member states.
II. PARTICIPANTS
Article 2. The delegations of the member states shall be composed of the representatives, advisers, and other persons whom the governments accredit. Each delegation shall have a head of delegation, who may delegate his duties to any other member of his delegation.
Article 3. The members of each delegation and the permanent observers to the Organization of American States shall be accredited to the General Assembly by their respective governments through written communication to the Secretary General of the Organization.
Article 4. The order of precedence of the delegations for each session shall be established by lot by the Preparatory Committee of the General Assembly. The order of precedence of the permanent observers shall be established in the same manner.
Article 5. The Secretary General of the Organization, or his representative, may participate with voice but without vote in the deliberations of the General Assembly.
Organs of the OAS
Article 6. The chairs or representatives of the following organs or agencies of the inter-American system may attend the General Assembly with the right to speak:
Inter-American Juridical Committee; Inter-American Commission on Human Rights; Inter-American Court of Human Rights; Permanent Executive Committee of the Inter-American Council for Integral Development; and Inter-American specialized organizations.
Article 7. The Secretary-General of the United Nations, or his representative, may attend the sessions of the General Assembly and may speak if he so desires.
Article 8. Permanent observers or their respective alternates, as the case may be, may attend the public meetings of the plenary General Assembly and the General Committee. They may likewise attend any closed meetings when invited by the corresponding presiding officer. Permanent observers may also request the floor and the corresponding presiding officer will decide on the request.
Other observers
Article 9. The following may also send observers to the General Assembly:
a. Governments of American states that are not members of the Organization, with the authorization of the Permanent Council;
b. Governments of non-American states that are members of the United Nations or of its specialized agencies, when they express an interest in attending, with the authorization of the Permanent Council;
c. Inter-American regional or subregional governmental entities or agencies that are not included among the organs of the Organization, with the authorization of the Permanent Council;
d. The specialized agencies of the United Nations and other international agencies, when agreements concluded with the Organization and in force so establish.
The observers referred to in this article may request to speak at meetings, and the corresponding presiding officer shall decide whether to recognize the observer.
For the purposes of this article, the Secretary General of the Organization shall transmit the appropriate communications.
Article 10. With the authorization of the Permanent Council and the consent of the government of the country in which the Assembly session is to be held, representatives of the specialized agencies of the United Nations and other governmental or nongovernmental international agencies and organizations not included in the previous article may attend the General Assembly as special guests, as long as they have expressed interest in doing so.
For the purposes of this article, the Secretary General of the Organization shall extend the appropriate invitations.
Requests to attend General Assembly sessions as special guests shall be presented to the General Secretariat of the Organization at least 30 days in advance of the opening of the Assembly session.
III. PRESIDENT
Article 11. The head of the delegation indicated by the order of precedence established under these Rules of Procedure shall serve as provisional president until the General Assembly elects its president.
Article 12. At the first plenary session, the General Assembly shall elect a president, who shall hold office until the close of the Assembly session. The election shall be by the vote of a majority of the member states.
Article 13. The heads of delegation shall be vice presidents ex officio of the Assembly and shall replace the president in the event of his disability, in accordance with the order of precedence.
Article 14. When the officer presiding over a session wishes to take part in the discussion or in the voting on a matter, he shall request the appropriate representative, in accordance with Article 13, to preside.
Powers of the president
Article 15. The president shall call the plenary sessions; decide on the order of business thereof; open and close the plenary sessions; direct the discussions; recognize speakers in the order in which they request the floor; submit points under discussion to a vote and announce the results thereof; decide on points of order in accordance with the provisions of Article 57; install the General Committee of the Assembly; and, in general, comply with and enforce the provisions of these Rules of Procedure.
IV. SECRETARIAT
Article 16. The General Secretariat, as the central and permanent organ of the Organization, is the Secretariat of the General Assembly. To this end, the Secretary General shall, on a permanent basis, provide it with adequate Secretariat services and shall carry out the duties and assignments given him by the Assembly.
Article 17. The General Secretariat shall provide the delegations with the official documents of the General Assembly. It shall also provide these documents, except those for which it has been decided to limit distribution, to the permanent observers, other observers, and special guests.
Article 18. The president of the General Assembly shall establish the maximum duration of the statements of the heads of delegation.
V. COMMITTEES
Preparatory Committee
Article 19. The Preparatory Committee of the General Assembly shall be governed by Articles 60 and 91.c 2/ of the Charter and by the applicable provisions of these Rules of Procedure.
Article 20. No later than 15 days before the opening of the General Assembly session, the Preparatory Committee shall adopt recommendations on the following topics:
a. Agreement on the draft agenda; b. Agreement on the proposed program-budget; c. Agreement on the time limit for the presentation of proposals; d. Agreement on the duration of the Assembly session; e. Agreement on the minutes of the meetings.
Article 21. The chair of the Permanent Executive Committee of the Inter-American Council for Integral Development, or his representatives, may participate in the deliberations of the Preparatory Committee, with the right to speak.
The Committee may invite representatives of other entities of the inter-American system to participate in its deliberations when it considers matters directly related to the activities of those entities.
Article 22. The General Assembly may establish a General Committee, which may establish such subcommittees and working groups as it deems necessary. Each subcommittee and working group shall elect a chair, who shall present a report to the General Committee containing its conclusions.
Article 23. At each special session, the General Assembly may establish a General Committee, which may establish such subcommittees and working groups as it deems necessary.
Article 24. The General Committee shall be composed of representatives of all the member states participating in the General Assembly. The General Committee shall elect a chair, a vice chair, and a rapporteur. The chair shall have, as appropriate, the same powers as those indicated for the president of the Assembly in Article 15. In the event of the absence of the chair, the vice chair shall assume that position. In the event of the absence or incapacity of the latter, a representative of a delegation selected according to the order of precedence shall preside.
Work of the General Assembly
Article 25. The president of the General Assembly shall see that the work of the General Assembly proceeds satisfactorily and, to this end, shall present such recommendations as he considers appropriate. The president, if necessary, shall coordinate the draft declarations, recommendations, and resolutions adopted by the General Committee before they are submitted to a plenary session. The president shall also perform the other duties assigned by these Rules of Procedure and any others assigned by the General Assembly itself.
Article 26. The Secretary General shall receive the credentials presented to him under the provisions of Article 3 and shall submit a report on the matter to the General Assembly.
Style Committee
Article 27. The Permanent Council of the Organization shall constitute a Style Committee composed of delegations appointed at the last regular meeting it holds before each regular or special session of the General Assembly, and each such delegation shall represent one of the four official languages of the Organization.
The Style Committee shall receive the resolutions, declarations, and recommendations issued by the General Assembly, shall correct their defects of form, and shall ensure equivalency among the versions in the official languages. If it notes defects of form that it cannot correct, the Style Committee shall submit the matter to the Permanent Council for resolution.
Article 28. The rapporteur of the General Committee shall present to the plenary General Assembly a report on the topics assigned to that committee, which shall include the conclusions reached by the committee and the results of the votes taken. The duration of the report may not exceed five minutes, unless the president gives express authorization to that effect. The plenary Assembly shall take cognizance of the report and consider the proposals recommended therein.
VI. AGENDA
A. Regular sessions
Article 29. For each regular session of the General Assembly, the Preparatory Committee shall prepare a preliminary draft agenda that will be sent with a report by that committee to the governments of the member states, so that they may have an opportunity to make the observations they deem pertinent or to propose the inclusion of additional topics within whatever time period the Committee may set. In preparing this preliminary draft agenda, the Committee shall take into account the provisions of the Charter, the topics proposed by the governments of the member states, those agreed to by the Assembly at previous sessions, and, if such is the case, by the Meeting of Consultation of Ministers of Foreign Affairs, those recommended by other organs of the Organization, and matters that, in the opinion of the Secretary General, might threaten the peace and security of the Hemisphere or the development of the member states.
Article 30. The agenda for each regular session of the General Assembly shall include the following matters, in addition to those mentioned in the previous article:
a. Adoption of the agenda; b. The observations and recommendations of the Permanent Council on the reports of the Inter-American Council for Integral Development, the Inter-American Juridical Committee, the Inter-American Commission on Human Rights, the General Secretariat, the specialized organizations and conferences, and the other organs, agencies, and entities; c. Determination of the place and date of the next regular session; d. Election of officers of organs, agencies, and entities of the Organization; e. Adoption of the annual program-budget of the Organization; f. Determination of the quotas of the member states.
Article 31. Taking into account the observations and proposals referred to in Article 29, the Preparatory Committee shall prepare the draft agenda, which shall be transmitted to the governments at least 45 days before the opening date of each regular session of the General Assembly. The Preparatory Committee may recommend that, in view of their importance, certain topics be considered on a priority basis at the opening of the regular session of the Assembly. The draft agenda shall be accompanied by a report of the Committee, which shall contain such factual and legal background information and, when appropriate, other criteria as may facilitate consideration of the topics.
Article 32. Once the Preparatory Committee has approved the draft agenda, new topics may be included only by the vote of two thirds of the members of that committee, at least 30 days prior to the opening date of the session of the General Assembly.
Article 33. Once the regular session of the General Assembly has begun, only urgent and important matters may be added to the agenda. The admission of such topics shall require the vote of two thirds of the member states.
Article 34. The General Assembly shall adopt the agenda by the vote of two thirds of the member states, following a report by the Preparatory Committee.
B. Special sessions
Article 35. The agenda of each special session of the General Assembly shall be confined to the subject or subjects for which the session was convoked.
The procedures and time periods for the preparation of the agenda of a special session shall be established in each case by the Preparatory Committee.
VII. DRAFTS AND WORKING DOCUMENTS
Draft treaties or conventions
Article 36. A government of a member state or an organ of the Organization that wishes to submit to the General Assembly for consideration a draft treaty or convention relating to any topic on the agenda shall transmit the text thereof to the Secretary General of the Organization at least 45 days prior to the opening of the Assembly session, so that the governments may give it advance consideration. If such a draft is not submitted within the time specified, it may be considered by the Assembly only if the latter so agrees by the vote of two thirds of the member states.
Draft declarations, resolutions, or recommendations
Article 37. Whenever possible, draft declarations, resolutions, or recommendations relating to the agenda shall be presented to the Secretary General of the Organization prior to the beginning of the Assembly session. The deadline for the presentation of drafts after the session has begun shall be established by the General Assembly at its first plenary session.
Article 38. The observations and recommendations of the Permanent Council concerning the reports of the specialized organizations and bodies of the Organization may be combined into a single document and shall be sent directly to the plenary General Assembly together with those reports as information documents. Any delegation may request separate consideration of such observations and recommendations, in which case they shall be sent to the General Committee for that purpose.
Article 39. Reports from the Meeting of Consultation, those requested by the General Assembly itself, and any observations and recommendations that the Permanent Council may present on the reports of the Inter-American Council for Integral Development, the Inter-American Juridical Committee, the Inter-American Commission on Human Rights, the General Secretariat, the specialized organizations and conferences, and the other organs, agencies, and entities must be transmitted to the governments of the member states no later than 30 days prior to the opening date of the regular session of the General Assembly.
Article 40. Any draft, study, or report that, in the opinion of a delegation or of the Secretary General, is not clearly related to the agenda shall be presented to the General Committee so that it may decide on the matter.
Article 41. In adopting any resolution providing for a project or activity that entails expenditure by the Organization, the General Assembly shall take into account financial estimates, which the General Secretariat shall prepare in advance, on the impact of such projects or activities on the budgetary calculations of the Organization, as well as prior statements by the Committee on Administrative and Budgetary Affairs of the Permanent Council or, as the case may be, by the General Committee of the General Assembly on such financial repercussions.
Article 42. For special sessions of the Assembly, the Preparatory Committee may, if necessary, change the procedures and time periods established in this chapter with respect to drafts and working documents.
VIII. SESSIONS
Schedule of sessions and opening dates
Article 43. The General Assembly shall hold a regular session each year, preferably during the second quarter.
At each of these sessions, the General Assembly shall determine the opening date of its next session, taking special account of the work of preparing and adjusting the program-budget of the Organization.
Article 44. At each regular session, the General Assembly shall determine the place of its next regular session, taking into account the offers made by the member states and in accordance with the principle of rotation.
Article 45. If for any reason the General Assembly session cannot be held at the place chosen, it shall be held at the headquarters of the General Secretariat, unless a member state should offer to host the session in its territory at least three months in advance of the date determined in accordance with Article 43 of these Rules of Procedure, in which case the Permanent Council may decide that the General Assembly shall meet at that place.
Transmittal of the notice of convocation
Article 46. The Secretary General shall transmit to the member states the notice of convocation of each regular session of the General Assembly at least 60 days prior to the opening date thereof.
Article 47. The General Assembly shall hold a special session when the Permanent Council convokes it in accordance with Article 58 3/ of the Charter.
The Secretary General shall immediately transmit the corresponding notice of convocation to the governments.
IX. SESSIONS AND MEETINGS
Types of sessions
Article 48. The General Assembly shall hold an inaugural session, the necessary plenary sessions, and a closing session. Nevertheless, in the case of a special session, the inaugural session may be eliminated.
Public and closed sessions
Article 49. The plenary sessions of the General Assembly and the meetings of the General Committee, the subcommittees, and the working groups shall be public, unless the respective body decides that they shall be closed.
Article 50. Only the delegations of the member states, necessary Secretariat personnel, and the permanent observers, in accordance with Article 8, may attend closed sessions or meetings.
X. DEBATES AND PROCEDURE
Article 51. English, French, Portuguese, and Spanish shall be the official languages of the General Assembly.
Article 52. A majority of the member states shall constitute a quorum at the plenary sessions. In the General Committee, its subcommittees, and its working groups, a quorum shall consist of one third of the delegations comprising those bodies. Nevertheless, in order for a vote to be taken, the presence of at least two thirds of such delegations at the session or meeting concerned shall be required.
Article 53. Proposals shall be presented in writing to the Secretariat and may not be discussed until 12 hours after they have been distributed to the delegations in all four official languages. Nevertheless, the General Assembly, by the vote of two thirds of the member states, may authorize discussion in the plenary sessions of a proposal that has not been distributed on time.
Article 54. During the consideration of a proposal a motion may be made to amend it.
A motion shall be considered to be an amendment to a proposal only when it adds to or eliminates something from that proposal or changes part of it. A motion that would totally replace the original proposal or that is not directly related to it shall not be considered to be an amendment.
Withdrawal of proposals and amendments
Article 55. A proposal or an amendment may be withdrawn by its proponent before it has been put to a vote. Any delegation may present again a proposal or amendment that has been withdrawn.
Article 56. For the reconsideration of a decision taken by the plenary General Assembly, the General Committee, a subcommittee, or a working group, the approval of the corresponding motion by the vote of two thirds of the delegations that are members of the body in question shall be required.
Points of order
Article 57. During the discussion of a topic, any delegation may raise a point of order, which shall be decided upon immediately by the president or chair. Any delegation may appeal this decision, in which case the appeal shall be put to a vote.
While raising a point of order, a delegation may not go into the substance of the matter under discussion.
Suspension of debate
Article 58. The president or chair or any delegation may propose that debate be suspended. Only two delegations may speak in favor of, and two against, such a motion, which shall then be put to a vote immediately.
Closing of debate
Article 59. The president or chair or any delegation, when he or it considers that a topic has been discussed sufficiently, may propose that debate be closed. This motion may be opposed briefly by two delegations, after which it shall be declared approved if so voted by two thirds of the delegations present at the session or meeting.
Suspension or adjournment of the session or meeting
Article 60. During the discussion of any topic, the president or chair or any representative may propose that the session or meeting be suspended or adjourned. Such a motion shall be put to a vote immediately and without discussion.
Article 61. Decisions on the matters dealt with in Articles 57, 58, and 60 shall be taken by the vote of a majority of the delegations present.
Order of procedural motion
Article 62. Except as provided in Article 57, the following motions shall have precedence, in the order set forth below, over all other proposals or motions:
a. Suspension of the session or meeting; b. Adjournment of the session or meeting; c. Suspension of debate on the topic under consideration; d. Close of debate on the topic under consideration.
Provisions common to all deliberative bodies of the General Assembly
Article 63. The provisions regarding debate and procedure contained in this chapter shall govern the plenary sessions and the meetings of the committees, subcommittees, and working groups.
XI. VOTING
Article 64. Each delegations shall have the right to one vote.
Majority required
Article 65. In both the plenary sessions and the General Committee meetings, decisions shall be taken by the vote of a majority of the member states, except in those cases in which the Charter of the Organization or these Rules of Procedure may provide otherwise.
Article 66. In the subcommittees and working groups of the General Committee, decisions shall be taken by the vote of a majority of the delegations present, except in those cases in which these Rules of Procedure may provide otherwise
Article 67. Votes shall be taken by a show of hands, but any representative may request a roll-call vote, which shall be taken beginning with the delegation whose name is drawn by lot by the president or chair and continuing in the order of precedence of the delegations.
Votes shall be taken by secret ballot only in the cases and in the manner provided for in these Rules of Procedure.
No representative may interrupt the voting, except for a point of order relating to the manner in which it is being conducted. This rule applies to the votes provided for in this article and in the following articles of this chapter.
Voting on proposals
Article 68. After discussion is closed, the proposals presented, together with any amendments thereto, shall be put to a vote immediately.
Proposals shall be voted upon in the order in which they are presented.
Voting on amendments
Article 69. An amendment shall be submitted for discussion and shall be put to a vote before the proposal that it is intended to modify is voted upon.
Article 70. When several amendments to a proposal are presented, the vote shall be taken first on the one that departs furthest from the original text. The other amendments shall be voted upon in like order. In case of doubt in this regard, they shall be considered in the order of their presentation.
Article 71. When the adoption of one amendment necessarily entails the exclusion of another, the latter shall not be put to a vote. If one or more of the amendments is adopted, the proposal as amended shall be put to a vote.
Article 72. When any delegation so requests, a proposal or amendment shall be voted upon by parts. If any delegation opposes such a request, the opposing motion shall be put to a vote, in which case the majority called for in Article 65 or Article 66, as applicable, shall be required for approval. If voting by parts is accepted, the proposal or amendment thus approved shall be put to a final vote in its entirety. When all the operative parts of a proposal or amendment have been rejected, such proposal or amendment shall be considered to have been rejected as a whole.
Article 73. Elections shall be by secret ballot except when they are by acclamation.
Article 74. In cases where only one member state or one person is to be elected, if no candidate obtains the vote of a majority of the member states on the first ballot, a second and, if necessary, a third ballot shall be taken, limited to the two candidates receiving the largest number of votes. If after the third ballot no candidate has obtained the required majority, the election shall be suspended for the period of time determined by the Assembly or, if applicable, the committee concerned. When the election is resumed, two additional ballots shall be taken. If neither of the two candidates is elected the balloting procedure established in this article shall be started again at the time indicated by the Assembly, with respect to the candidates who are presented.
Article 75. When two or more elective posts are to be filled at the same time and under the same conditions, the candidates obtaining the vote of a majority of the member states shall be declared elected. If the number of candidates obtaining such a majority is smaller than the number of persons or members to be elected, there shall be additional ballots to fill the remaining posts, the voting being limited to the candidates who have received the most votes on the previous ballot, in such a way that the number of candidates will not be more than twice the number of posts remaining to be filled.
Explanation of vote
Article 76. After voting has ended, and except when it has been by secret ballot, any representative may request the floor to give a brief explanation of his vote.
XII. MINUTES AND OTHER DOCUMENTS OF THE GENERAL ASSEMBLY
Verbatim and summary minutes
Article 77. The minutes of the plenary sessions shall be verbatim. The minutes of committee meetings shall be summary, unless the Preparatory Committee decides otherwise.
Article 78. The Secretariat shall distribute the provisional minutes to the delegations and, when applicable, to the permanent observers as promptly as possible. It shall do the same for the other observers in the case of public meetings at which these observers have spoken. The delegations, permanent observers, and other observers may present to the Secretariat any corrections in style that they deem necessary.
The corrected minutes shall be published as part of the official proceedings of the session.
Article 79. The Secretariat shall publish a brief summary of the sessions and meetings held on the preceding day. This publication shall also include:
a. The list of documents distributed during the preceding 24 hours; b. The orders of business for the next sessions and meetings; and c. Brief announcements of interest to the delegations.
Resolutions, declarations, and recommendations
Article 80. The resolutions, declarations, and recommendations issued by the General Assembly shall be published in the official languages of the Organization and shall be distributed to the delegations, permanent observers, other observers, and special guests immediately after they are approved. The General Assembly may entrust the Permanent Council with coordinating the texts of the resolutions after each session. The General Secretariat shall distribute the official versions of these resolutions to the governments.
Reservations and statements
Article 81. Any delegation that wishes to make a reservation or statement with respect to a treaty or convention, or a statement regarding a resolution of the General Assembly, shall communicate the text thereof to the Secretariat, so that the latter may distribute it to the delegations no later than at the plenary session at which the instrument in question is to be voted upon. Such reservations and statements shall appear along with the treaty or convention or, in the case of a resolution, in the corresponding minutes.
Official version of the proceedings
Article 82. The General Secretariat shall publish as soon as possible the official version of the proceedings of each Assembly session.
The General Secretariat shall adopt an appropriate system for numbering the resolutions of the General Assembly.
Article 83. The General Secretariat shall send certified copies of the treaties, conventions, and resolutions adopted by the Assembly to the governments of the member states. It shall also register the said treaties and conventions with the United Nations.
XIII. ADMISSION OF NEW MEMBERS
Article 84. The General Assembly shall consider the recommendations made by the Permanent Council concerning the requests for admission presented by independent American states, in accordance with the provisions of Article 7 of the Charter.
By a vote of two thirds of the member states and following a report by the competent committee, the General Assembly shall determine whether it is appropriate to authorize the Secretary General to permit the applicant state to sign the Charter and for him to accept the deposit of the corresponding instrument of ratification.
XIV. AMENDMENT OF THE RULES OF PROCEDURE
Article 85. These Rules of Procedure may be amended by the General Assembly, acting either on its own initiative or on a proposal by the Preparatory Committee or the Permanent Council. For the adoption of a proposed amendment, the vote of a majority of the member states shall be required, except in the case of articles in which a two thirds majority has been established, for the amendment of which that same majority shall be required.
1. Proposed amendments agreed upon by the Special Joint Working Group of the Permanent Council and CIDI on the Strengthening and Modernization of the OAS have been incorporated.
2. Numbering resulting from the entry into force of the Protocol of Washington.
| Resolutions Index |
Copyright © 2023 All rights reserved. Organization of American States


So that you can fully concentrate on your core business! We take care of the security and maintenance of your WordPress installation.
You work hard on your business. Our team of WordPress experts ensures that your technology is not holding you back.
We scan your website daily for malware and other security-related issues. That enables us to quickly respond to threats and to protect you.
Daily to hourly backups of your website on secure AWS servers. In the worst case, we can restore your website with just a few clicks. That way you can sleep peacefully.
Monitor and track the development of your keywords in Google. That way you can better evaluate your SEO strategy and react quickly to possible changes. Because your keyword ranking is valuable.
We update WordPress and plugins at least once a month or as soon as we hear of security-relevant updates.
Thanks to regular uptime and performance monitoring, we can detect overload peaks and failures on your website. You will also receive valuable information on general performance.
If you ever need help, we are at your side by phone or e-mail. You can rely on us if there is a problem.
WordPress is one of the most widely used content management systems in the world and inherently secure. However, due to its widespread use, WordPress is also particularly vulnerable to attacks and hacker attacks. As a rule, known security gaps are promptly closed by WordPress core developers and plugin developers. However, you only enjoy this security if you regularly update your website and keep an eye on possible WordPress security gaps.
As soon as you miss the latest updates or do not install them in time, there is an increased risk for your WordPress installation. Occasionally, known vulnerabilities are quickly exploited, and your website may be vulnerable because of missing updates.
We not only update your website but also offer a complete maintenance concept including daily cloud backups, security scans, performance / uptime monitoring, and many other services.
If you are the do-it-yourself type and would like to install your updates yourself, our monitoring package is the right one for you. We create regular backups for you and keep you up to date on possible security problems.
Critical emergency? Find WordPress First Aid here.
We would like to help you to concentrate on your core business activities by managing the monthly WordPress maintenance for you. On request, in addition to maintenance services we can also help you with the continued development of your WordPress website.
We offer our services to commercial customers who, for example, run blogs, company websites or online shops (WooCommerce) on the basis of WordPress and require support with WordPress maintenance.
No suitable standard solutions available? We are looking forward to getting in contact with you and would be happy to submit a customized offer for your WordPress website(s).
Adaptations to the theme of the page, setup of additional plugins, development of plugins or performance optimization may be part of a maintenance package or can be ordered separately.
Here you can find an overview of all the services that we as WordPress developers and programmers can perform for you.
Above, we have put together several standard packages for maintaining standard WordPress corporate websites, blogs, and online stores (WooCommerce).
In the case of large websites or stores with customized plugins, we are happy to submit a customized offer. To make the process as easy as possible for you, please use the linked form for a maintenance service request.
On the right side, you can find further details about our WordPress maintenance contracts as well as information about frequently asked questions.
Do the maintenance packages apply to every website regardless of the size?
We try to accommodate all standard WordPress corporate websites, blogs or WooCommerce stores with our standardized packages. However, due to the uniqueness and potential complexity of each website, we cannot offer the packages for every WordPress website.
After your request, we will review your website and the installed plugins. Should it turn out that maintenance work for your website would go beyond the scope of our standardized packages, we will make you a customized offer.
Is a maintenance contract valid for several websites?
No, for each WordPress installation separate maintenance contracts must be signed. Multisite systems are also excluded from the standard packages and require an individual request.
How often are updates carried out?
Should compatibility problems or errors arise after a plugin, theme or WordPress update, we will fix them at the agreed hourly rate.
What does OnPage Monitoring include?
A detailed OnPage analysis is a cornerstone for a good search engine ranking on Google & Co. We regularly monitor your website using automated crawlers and inform you once every 3 months if there are any issues that might negatively influence your ranking or website performance. Potential issues range from erroneous headings, errors in metadata, duplicate content, missing URLs (404), performance data and more.
If you need help resolving the errors, we will be glad to help and submit an offer based on the agreed hourly rate.
Which questions are answered by phone support?
As far as possible, we will answer general questions about WordPress as part of our phone support. Questions can range from your theme to used plugins, and more. You can find additional information in the WordPress Support section.
What counts as editorial work?
Editorial work covers content maintenance, for example, publishing of given content (copy, images). Copywriting is not covered.
Should we become aware of a potential threat to your WordPress websites, for instance, due to current news or other sources, we will update your website as soon as possible.
Is the maintenance contract a security guarantee against hackers or attacks?
Regular updates and maintenance significantly reduce the risk of hacking or other malicious use of your website. However, we cannot offer a guarantee against hacks, malware infections or other attacks.
The security of a WordPress website depends on several factors, of which regular maintenance only contributes a part. If you have further questions about this topic, please contact us directly.
What are the terms of payment and which payment method is accepted?
We invoice the flat-rate remuneration for the maintenance contracts for 3 months in advance. If additional costs arise due to repair work or other services, we will invoice those extra at the end of the month.
You can transfer your payments or have them conveniently collected by SEPA direct debit.
If you are interested in a monthly payment method, this is also possible for a small surcharge.
Which login credentials are required?
Are fee-based or premium plugins also updated?
If you use paid premium plugins on your website, the license costs are not part of the maintenance fee. We can extend the plugin licenses for you and then invoice the corresponding license costs, or you can purchase the licenses yourself and provide us with the corresponding data.
In some cases, we already have developer or agency licenses for certain plugins, so that we can extend your premium plugins at more favorable conditions or even free of charge.
Are updates first tested in a test environment?
Unless agreed otherwise in the maintenance contract, we will install updates directly on the live page. Should problems arise, we can restore an earlier backup version or offer a paid repair.
Do I have to change my webhoster for the maintenance service?
No, we maintain your website on your existing web space. If this is not ideal for your WordPress website, we will be happy to advise you. In principle, however, you can stay with your current web host, a switch is not necessary.
Is the website offline during updates?
In general, the website is accessible during updates and, depending on the update, only for a few minutes in a maintenance mode. However, unpredictable problems during an update can cause downtime.
Where and for how long are the backups stored?
We store your website backups on an external service so that we can preserve the data even if there are server problems. The backups are stored in an Amazon AWS S3 Bucket in Ireland (Europe).
Backups are created incrementally and backed up for 30 days. If necessary, we can restore your website with a few clicks.
We regularly monitor the current performance of your website. That helps to track whether changes or updates cause a change in performance.
We monitor whether your site is unavailable due to overloads, server failures or other problems. Without uptime monitoring, it is usually not possible to detect whether a page has downtime.
Keyword monitoring, what is this?
Give us the most important keywords for your website, and we will monitor your ranking accordingly. On request, you can receive weekly or monthly reports on your keyword ranking.
We monitor and evaluate a maximum of 100 keywords per website.
As far as this is included in the selected maintenance package, the provider supports the customer by phone in all important matters concerning WordPress, plugins, themes and more. We invoice support services that exceed the contractually agreed time at € 20.00 net plus VAT for every additional 15 minutes.


Raymond Kargbo, Director General Petroleum Directorate, is Sierra Leone's highest paid civil servant- Le 102 million every month.
His salary, reports state, triples that of President Koroma who doubles as commander-in-chief and fountain of honour of the Republic of Sierra Leone.
That as at year ending 2016, the salary of Raymond Kargbo which was little over Le 80 million was increased to 40% thus making him now receives Le 102 million as take-home effective January 2017.
It is true the Office of Petroleum Directorate is directly under office of the President and was established to regulate and supervise petroleum oil and gas operations in the country. Salary currently paid its DG is but in opposition with the Sierra Leone economy, one driven by donors and which is facing meltdown.
Information now in the public domain is that the Petroleum DG is receiving an annual net salary of over a billion has left many in shock including countless number of civil servants holding worthwhile and enviable public positions- Ministers, Permanent Secretaries, others inclusive.
Three years down the line (2014, 15 and 16), report states, following breakthroughs that oil discovered in Sierra Leone is of less commercial value, and by extension, companies vesting interest in the drilling of petroleum oil in the country forced pulling-out, the Petroleum Directorate has virtually not been generating any income, making the Directorate of no commercial importance but rather conditionally reliant on finances it has generated.
And that the Directorate, some two years ago, rented the Emmanshola House at Third Road on Regent Road, Hill Station, for use as office from the current Secretary to the President, Osho Coker, at an unimaginable cost – USD 145,000- (over a billion of country's money) a year.
Being an office under Office of the President, it is presumed nonetheless that renting out a house owned and belonging to the Secretary to the President is a complete conflict of interest as stated in the Anti-Corruption Act 2008.
It is revealed also that DG Raymond recently made an oversea trip, purchasing a traveling ticket at USD 7000 (comparably fifty million Leones).
They say over two hundred million Leones is reportedly spent on him (DG Raymond) as yearly house rent allowance.
Sources said he (DG Raymond) has bought a house situated at Adelaide Street on Gabriel Street junction, which used to house a night club called Mix-Point.
Mishaps said to have been happening at the office of the Petroleum Directorate has raised an anxiety of unease from among concerned Sierra Leoneans, who time countless, have called for a probe on how monies are spent by officials of both the Directorate and the office of the President respectively.
A source also tells the New Age that the Secretary to the President, Osho Coker, has had his son and close family member respectively employed as Finance and IT officers at the Directorate, and that both have had unfettered and enjoying moments doing things at will.
Even though the recently published 2015 audit report has made no mention about the Petroleum Directorate, allusions making the rounds state that there are damning disclosures on how finances of the Directorate are used and how also procurement processes, in particular, the renting of its office space (one belonging to the Secretary to President) were violated.
Recently, it was revealed that some employees of the Directorate were summarily dismissed on grounds of gross misconduct (breach of trust, breach of confidentiality, professional misconduct, disclosure of official documents and correspondence between the Petroleum Directorate and its clients to the print media), with the dismissed letter copied the Secretary to the President for the information of his boss.
This, by definition, shows how the rented office space, (property of Secretary to the President), portrays absolute conflict of interest and by extension a case for the anti corruption.
When NEW AGE contacted the Communication Director in the Office of the President, Jara Kawusu Konteh, he promised to call to clarify the issues but failed to do so up until press time.


The beaches and gardens provide a pleasant backdrop to your vacation home in Poipu. This romantic city is known for its snorkeling, surfing and hiking. Poipu Beach and Lydgate Beach Park are just a couple of the must-sees in the area. Whether you're planning a family holiday, romantic stay or friends trip, vacation rentals offer features like full kitchens and laundry facilities for a more convenient stay.
Fly into Lihue, HI (LIH), the closest airport, located 9.8 mi (15.8 km) from the city center.
Where to stay near Poipu?
Our 2019 vacation rental listings offer a large selection of 1,452 house rentals near Poipu. From 961 Condos/Apartments to 298 Houses, find unique vacation rental for you to enjoy a memorable stay with your family and friends. The best place to stay near Poipu for a long holiday or a weekend break is on HomeAway.
What are the popular points of interest near where I can stay when travelling to Poipu?
But there are many other points of interest around Poipu listed on HomeAway where you can find your place to stay. Please use our search bar to access the selection of vacation rentals available near the point of interest of your choice.
Can I rent Condos/Apartments in Poipu?
Can I find a vacation rental with pool in Poipu?
Yes, you can select your preferred vacation rental with pool among our 1,207 vacation homes with pool available in Poipu.


Discussion in 'General TomTom Discussion' started by s601SUPERFLOW, Mar 11, 2008.
I had a system failure with my first Tom Tom 720. this was replaced in due course.
The new 720 is switching off after about 5 minutes when connected up to car power source. It gives me a 10 second warning then switched off. When re activated it carries on where it left off.
I cannot seem to find any menu item to adjust this unit to keep the display on until I reach the destination or I switch it off. If this is a mal function then it constitutes a safety hazard as you are continual watching for the 10 second warning, so as to over ride it. This reduces you concentration on the road conditions.
If any one can help me with this issue I would appreciate it. the last problem took 8 weeks to resolve!!!
In Preferences-->Battery Savings-->Do you have the option to turn off when external power lost checked?
Are your battery charger connections solid, both to the unit and into the opening in the car?
Have you tried a pin reset?
I recently purchased my 720 and I am having the same issue. When connected to the car charger it cuts off after about 5 min with 10 second warning to tap the screen to continue. If I just use battery power no problem. I use other devices through this power outlet .no problem. My car is a 2007 accura TL so I dont think it is an electrical issue..any advice?
When you first got your unit, did you fully charge it for 2-4 hours while docked to the computer? The guide spells this out.
Yes I gave it a full charge as was spelled out in the manual.. I am pretty rigid when it comes to preparing lithium and other rechargable battaries. I called TT support and the are sending me out a new car power adapter..The quickness of the resolution made me think that they have been experiencing this issue enough that they don't give you the run around. I will post back once I receive it try it out..
I had the same problem a while ago when connecting the car power supply. I found that I don't get the problem if I turn the 720 on after I've connected the power supply. Try your sequence of connection to see if it has an impact. Basically my unit thought it was being connected to a computer and gave me the USB screen. Once saying "no" to connect to computer the unit will shut off if no activity is taking place.
tomtom xl how to auto switch on ?


text:
Q: Error using Spring authorize tag to check to see if user is logged in? Trying to test to see if a user is logged in  I am using the following code:
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>

<sec:authorize access="isAuthenticated()">
   YES, you are logged in!
</sec:authorize>

But I am getting the following erorr?
javax.servlet.jsp.JspException: No visible WebSecurityExpressionHandler instance could be found in the application context. There must be at least one in order to support expressions in JSP 'authorize' tags.
        at org.springframework.security.taglibs.authz.AuthorizeTag.getExpressionHandler(AuthorizeTag.java:100)
        at org.springframework.security.taglibs.authz.AuthorizeTag.authorizeUsingAccessExpression(AuthorizeTag.java:58)
        at org.springframework.security.taglibs.authz.AuthorizeTag.doStartTag(AuthorizeTag.java:48)

A: Setting use-expressions="true" in the http element will work but means all your security settings in both Java code and security contexts must use expression notations. This can be a problem if you are currently using the standard security notations.
To use both expressions and standard notations just declare a new bean in your security context like so -
<beans:bean class="org.springframework.security.web.access.expression.DefaultWebSecurityExpressionHandler"/>

A: To use expressions to secure individual URLs, you would first need to set the use-expressions attribute in the  element to true
<http use-expressions="true">
See Spring Security doc

redpajama_set_name: RedPajamaStackExchange


Overall economic health is a key driver in determining opportunity for home-building and land development. A stronger economy means more job creation. Higher job creation means more people. And more people means growth in housing demand. These are just a few of the reasons why Megatel Homes specializes in building quality custom homes in ever-expanding home-buying markets throughout Texas, with a primary focus on the Dallas-Fort Worth Metroplex.
Despite lower oil pricing the past few years, the Federal Reserve Bank of Dallas' Texas Business-Cycle Index reports that, overall, Texas' economy grew at a faster rate in 2016 (4.5%) than its long-term average (3.9%). This economic growth bears out with Texas continuing to recognize positive employment growth with an annual growth rate in 2016 of 1.8 percent (seasonally adjusted).
Dallas-Fort Worth specifically posted 3.9% job growth in 2016, due in part to its diverse base of industries including, transportation, medical, education, and services. The area's growth is expected to continue to expand throughout 2017 and beyond, with companies like JPMorganChase, Liberty Mutual Insurance, Toyota, and more announcing relocations and/or expansions.
Dallas claimed the no. 1 ranking in Forbes' Best Buy Cities: Where To Invest in Housing In 2017. Dallas has an average home price of $233,000, which is up 3.9% over 2016 and underpriced by 3% compared to the city's historic average.
Local Market Monitor forecasts housing prices will increase in DFW by 31% by 2020 due in part to 2016's 3.9% job growth and the 6.2% growth in population over the past three years.


As well as producing our own analytical reports, NCRAS provides tools for analysts both within the health service and elsewhere.
The CancerStats System is a national web-based reporting tool, providing the user access to cancer information for their area. To use the tool you must be registered.
For those working outside of the health service, or who do not need access to the level of information contained within CAS, it is possible to download the data underlying the Cancer e-Atlas and our other e-Atlas based information tools.
If more detailed information is required it is possible to request data extracts or analysis from the NCRAS analytical team, or through the Office for Data Release.
We also maintain a list of other other sources of cancer data that may be useful.