text:
/**
 *     This code was auto-generated by a Codezu.
 *
 *     Changes to this file may cause incorrect behavior and will be lost if
 *     the code is regenerated.
 */
package com.mozu.api.clients.commerce.customer;

import java.util.List;
import java.util.ArrayList;
import com.mozu.api.MozuClient;
import com.mozu.api.MozuClientFactory;
import com.mozu.api.MozuUrl;
import com.mozu.api.Headers;
import com.mozu.api.security.AuthTicket;
import org.apache.commons.lang.StringUtils;

/**
 * Use the Customer Accounts resource to manage the components of shopper accounts, including attributes, contact information, company notes, and groups associated with the customer account.
 *
 */
public class CustomerAccountClient {

	/**
	 * Retrieves a list of customer accounts.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAccountCollection> mozuClient=GetAccountsClient();
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAccountCollection customerAccountCollection = client.Result();
	 *

	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAccountCollection>
	 * @see com.mozu.api.contracts.customer.CustomerAccountCollection
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAccountCollection> getAccountsClient() throws Exception
	{
		return getAccountsClient( null,  null,  null,  null,  null,  null,  null,  null,  null);
	}

	/**
	 * Retrieves a list of customer accounts.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAccountCollection> mozuClient=GetAccountsClient( startIndex,  pageSize,  sortBy,  filter,  fields,  q,  qLimit,  isAnonymous,  responseFields);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAccountCollection customerAccountCollection = client.Result();
	 *

	 * @param fields The fields to include in the response.
	 * @param filter A set of expressions that consist of a field, operator, and value and represent search parameter syntax when filtering results of a query. Valid operators include equals (eq), does not equal (ne), greater than (gt), less than (lt), greater than or equal to (ge), less than or equal to (le), starts with (sw), or contains (cont). For example - "filter=IsDisplayed+eq+true"
	 * @param isAnonymous If true, retrieve anonymous shopper accounts in the response.
	 * @param pageSize
	 * @param q A list of order search terms (not phrases) to use in the query when searching across order number and the name or email of the billing contact. When entering, separate multiple search terms with a space character.
	 * @param qLimit The maximum number of search results to return in the response. You can limit any range between 1-100.
	 * @param responseFields Use this field to include those fields which are not included by default.
	 * @param sortBy
	 * @param startIndex
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAccountCollection>
	 * @see com.mozu.api.contracts.customer.CustomerAccountCollection
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAccountCollection> getAccountsClient(Integer startIndex, Integer pageSize, String sortBy, String filter, String fields, String q, Integer qLimit, Boolean isAnonymous, String responseFields) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.getAccountsUrl(fields, filter, isAnonymous, pageSize, q, qLimit, responseFields, sortBy, startIndex);
		String verb = "GET";
		Class<?> clz = com.mozu.api.contracts.customer.CustomerAccountCollection.class;
		MozuClient<com.mozu.api.contracts.customer.CustomerAccountCollection> mozuClient = (MozuClient<com.mozu.api.contracts.customer.CustomerAccountCollection>) MozuClientFactory.getInstance(clz);
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		return mozuClient;

	}

	/**
	 * Retrieves the current login state of the customer account specified in the request.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.LoginState> mozuClient=GetLoginStateClient( accountId);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * LoginState loginState = client.Result();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.LoginState>
	 * @see com.mozu.api.contracts.customer.LoginState
	 */
	public static MozuClient<com.mozu.api.contracts.customer.LoginState> getLoginStateClient(Integer accountId) throws Exception
	{
		return getLoginStateClient( accountId,  null);
	}

	/**
	 * Retrieves the current login state of the customer account specified in the request.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.LoginState> mozuClient=GetLoginStateClient( accountId,  responseFields);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * LoginState loginState = client.Result();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @param responseFields Use this field to include those fields which are not included by default.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.LoginState>
	 * @see com.mozu.api.contracts.customer.LoginState
	 */
	public static MozuClient<com.mozu.api.contracts.customer.LoginState> getLoginStateClient(Integer accountId, String responseFields) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.getLoginStateUrl(accountId, responseFields);
		String verb = "GET";
		Class<?> clz = com.mozu.api.contracts.customer.LoginState.class;
		MozuClient<com.mozu.api.contracts.customer.LoginState> mozuClient = (MozuClient<com.mozu.api.contracts.customer.LoginState>) MozuClientFactory.getInstance(clz);
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		return mozuClient;

	}

	/**
	 * Retrieve details of a customer account.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAccount> mozuClient=GetAccountClient( accountId);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAccount customerAccount = client.Result();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAccount>
	 * @see com.mozu.api.contracts.customer.CustomerAccount
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAccount> getAccountClient(Integer accountId) throws Exception
	{
		return getAccountClient( accountId,  null);
	}

	/**
	 * Retrieve details of a customer account.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAccount> mozuClient=GetAccountClient( accountId,  responseFields);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAccount customerAccount = client.Result();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @param responseFields Use this field to include those fields which are not included by default.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAccount>
	 * @see com.mozu.api.contracts.customer.CustomerAccount
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAccount> getAccountClient(Integer accountId, String responseFields) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.getAccountUrl(accountId, responseFields);
		String verb = "GET";
		Class<?> clz = com.mozu.api.contracts.customer.CustomerAccount.class;
		MozuClient<com.mozu.api.contracts.customer.CustomerAccount> mozuClient = (MozuClient<com.mozu.api.contracts.customer.CustomerAccount>) MozuClientFactory.getInstance(clz);
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		return mozuClient;

	}

	/**
	 * Creates a new customer account based on the information specified in the request.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAccount> mozuClient=AddAccountClient( account);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAccount customerAccount = client.Result();
	 *

	 * @param account Properties of the customer account.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAccount>
	 * @see com.mozu.api.contracts.customer.CustomerAccount
	 * @see com.mozu.api.contracts.customer.CustomerAccount
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAccount> addAccountClient(com.mozu.api.contracts.customer.CustomerAccount account) throws Exception
	{
		return addAccountClient( account,  null);
	}

	/**
	 * Creates a new customer account based on the information specified in the request.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAccount> mozuClient=AddAccountClient( account,  responseFields);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAccount customerAccount = client.Result();
	 *

	 * @param responseFields Use this field to include those fields which are not included by default.
	 * @param account Properties of the customer account.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAccount>
	 * @see com.mozu.api.contracts.customer.CustomerAccount
	 * @see com.mozu.api.contracts.customer.CustomerAccount
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAccount> addAccountClient(com.mozu.api.contracts.customer.CustomerAccount account, String responseFields) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.addAccountUrl(responseFields);
		String verb = "POST";
		Class<?> clz = com.mozu.api.contracts.customer.CustomerAccount.class;
		MozuClient<com.mozu.api.contracts.customer.CustomerAccount> mozuClient = (MozuClient<com.mozu.api.contracts.customer.CustomerAccount>) MozuClientFactory.getInstance(clz);
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		mozuClient.setBody(account);
		return mozuClient;

	}

	/**
	 * Modify the password associated with a customer account.
	 *

	 * MozuClient mozuClient=ChangePasswordClient( passwordInfo,  accountId);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @param passwordInfo The information required to modify a shopper account password.
	 * @return Mozu.Api.MozuClient
	 * @see com.mozu.api.contracts.customer.PasswordInfo
	 */
	public static MozuClient changePasswordClient(com.mozu.api.contracts.customer.PasswordInfo passwordInfo, Integer accountId) throws Exception
	{
		return changePasswordClient( passwordInfo,  accountId,  null);
	}

	/**
	 * Modify the password associated with a customer account.
	 *

	 * MozuClient mozuClient=ChangePasswordClient( passwordInfo,  accountId,  unlockAccount);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @param unlockAccount
	 * @param passwordInfo The information required to modify a shopper account password.
	 * @return Mozu.Api.MozuClient
	 * @see com.mozu.api.contracts.customer.PasswordInfo
	 */
	public static MozuClient changePasswordClient(com.mozu.api.contracts.customer.PasswordInfo passwordInfo, Integer accountId, Boolean unlockAccount) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.changePasswordUrl(accountId, unlockAccount);
		String verb = "POST";
				MozuClient mozuClient = (MozuClient) MozuClientFactory.getInstance();
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		mozuClient.setBody(passwordInfo);
		return mozuClient;

	}

	/**
	 * Adds a new user login to a defined customer account.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAuthTicket> mozuClient=AddLoginToExistingCustomerClient( customerAuthInfo,  accountId);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAuthTicket customerAuthTicket = client.Result();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @param customerAuthInfo The login information for a customer account.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAuthTicket>
	 * @see com.mozu.api.contracts.customer.CustomerAuthTicket
	 * @see com.mozu.api.contracts.customer.CustomerLoginInfo
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAuthTicket> addLoginToExistingCustomerClient(com.mozu.api.contracts.customer.CustomerLoginInfo customerAuthInfo, Integer accountId) throws Exception
	{
		return addLoginToExistingCustomerClient( customerAuthInfo,  accountId,  null);
	}

	/**
	 * Adds a new user login to a defined customer account.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAuthTicket> mozuClient=AddLoginToExistingCustomerClient( customerAuthInfo,  accountId,  responseFields);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAuthTicket customerAuthTicket = client.Result();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @param responseFields Use this field to include those fields which are not included by default.
	 * @param customerAuthInfo The login information for a customer account.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAuthTicket>
	 * @see com.mozu.api.contracts.customer.CustomerAuthTicket
	 * @see com.mozu.api.contracts.customer.CustomerLoginInfo
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAuthTicket> addLoginToExistingCustomerClient(com.mozu.api.contracts.customer.CustomerLoginInfo customerAuthInfo, Integer accountId, String responseFields) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.addLoginToExistingCustomerUrl(accountId, responseFields);
		String verb = "POST";
		Class<?> clz = com.mozu.api.contracts.customer.CustomerAuthTicket.class;
		MozuClient<com.mozu.api.contracts.customer.CustomerAuthTicket> mozuClient = (MozuClient<com.mozu.api.contracts.customer.CustomerAuthTicket>) MozuClientFactory.getInstance(clz);
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		mozuClient.setBody(customerAuthInfo);
		return mozuClient;

	}

	/**
	 * Updates the customer lifetime value of the specified customer account in the event of an order import or a lifetime value calculation error.
	 *

	 * MozuClient mozuClient=RecomputeCustomerLifetimeValueClient( accountId);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @return Mozu.Api.MozuClient
	 */
	public static MozuClient recomputeCustomerLifetimeValueClient(Integer accountId) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.recomputeCustomerLifetimeValueUrl(accountId);
		String verb = "POST";
				MozuClient mozuClient = (MozuClient) MozuClientFactory.getInstance();
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		return mozuClient;

	}

	/**
	 * Lock or unlock a customer account.
	 *

	 * MozuClient mozuClient=SetLoginLockedClient( isLocked,  accountId);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @param isLocked If true, the customer account is locked from logging in.
	 * @return Mozu.Api.MozuClient
	 * @see bool
	 */
	public static MozuClient setLoginLockedClient(Boolean isLocked, Integer accountId) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.setLoginLockedUrl(accountId);
		String verb = "POST";
				MozuClient mozuClient = (MozuClient) MozuClientFactory.getInstance();
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		mozuClient.setBody(isLocked);
		return mozuClient;

	}

	/**
	 * Requires the password for the customer account to be changed.
	 *

	 * MozuClient mozuClient=SetPasswordChangeRequiredClient( isPasswordChangeRequired,  accountId);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @param isPasswordChangeRequired If true, the password for the customer account must be changed.
	 * @return Mozu.Api.MozuClient
	 * @see bool
	 */
	public static MozuClient setPasswordChangeRequiredClient(Boolean isPasswordChangeRequired, Integer accountId) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.setPasswordChangeRequiredUrl(accountId);
		String verb = "POST";
				MozuClient mozuClient = (MozuClient) MozuClientFactory.getInstance();
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		mozuClient.setBody(isPasswordChangeRequired);
		return mozuClient;

	}

	/**
	 * Creates a new customer account and logs the user associated with the customer account into the site.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAuthTicket> mozuClient=AddAccountAndLoginClient( accountAndAuthInfo);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAuthTicket customerAuthTicket = client.Result();
	 *

	 * @param accountAndAuthInfo The authentication information associated with a customer account. The data includes the account properties such as the name, username, authorization access, and email address, the required password to match, and indicates if the account was imported from a third party resource.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAuthTicket>
	 * @see com.mozu.api.contracts.customer.CustomerAuthTicket
	 * @see com.mozu.api.contracts.customer.CustomerAccountAndAuthInfo
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAuthTicket> addAccountAndLoginClient(com.mozu.api.contracts.customer.CustomerAccountAndAuthInfo accountAndAuthInfo) throws Exception
	{
		return addAccountAndLoginClient( accountAndAuthInfo,  null);
	}

	/**
	 * Creates a new customer account and logs the user associated with the customer account into the site.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAuthTicket> mozuClient=AddAccountAndLoginClient( accountAndAuthInfo,  responseFields);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAuthTicket customerAuthTicket = client.Result();
	 *

	 * @param responseFields Use this field to include those fields which are not included by default.
	 * @param accountAndAuthInfo The authentication information associated with a customer account. The data includes the account properties such as the name, username, authorization access, and email address, the required password to match, and indicates if the account was imported from a third party resource.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAuthTicket>
	 * @see com.mozu.api.contracts.customer.CustomerAuthTicket
	 * @see com.mozu.api.contracts.customer.CustomerAccountAndAuthInfo
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAuthTicket> addAccountAndLoginClient(com.mozu.api.contracts.customer.CustomerAccountAndAuthInfo accountAndAuthInfo, String responseFields) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.addAccountAndLoginUrl(responseFields);
		String verb = "POST";
		Class<?> clz = com.mozu.api.contracts.customer.CustomerAuthTicket.class;
		MozuClient<com.mozu.api.contracts.customer.CustomerAuthTicket> mozuClient = (MozuClient<com.mozu.api.contracts.customer.CustomerAuthTicket>) MozuClientFactory.getInstance(clz);
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		mozuClient.setBody(accountAndAuthInfo);
		return mozuClient;

	}

	/**
	 * Creates multiple customer accounts based on the information specified in the request.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAccountCollection> mozuClient=AddAccountsClient( customers);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAccountCollection customerAccountCollection = client.Result();
	 *

	 * @param customers The authentication information associated with a customer account. The data includes the account properties such as the name, username, authorization access, and email address, the required password to match, and indicates if the account was imported from a third party resource.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAccountCollection>
	 * @see com.mozu.api.contracts.customer.CustomerAccountCollection
	 * @see com.mozu.api.contracts.customer.CustomerAccountAndAuthInfo
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAccountCollection> addAccountsClient(List<com.mozu.api.contracts.customer.CustomerAccountAndAuthInfo> customers) throws Exception
	{
		return addAccountsClient( customers,  null);
	}

	/**
	 * Creates multiple customer accounts based on the information specified in the request.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAccountCollection> mozuClient=AddAccountsClient( customers,  responseFields);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAccountCollection customerAccountCollection = client.Result();
	 *

	 * @param responseFields Use this field to include those fields which are not included by default.
	 * @param customers The authentication information associated with a customer account. The data includes the account properties such as the name, username, authorization access, and email address, the required password to match, and indicates if the account was imported from a third party resource.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAccountCollection>
	 * @see com.mozu.api.contracts.customer.CustomerAccountCollection
	 * @see com.mozu.api.contracts.customer.CustomerAccountAndAuthInfo
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAccountCollection> addAccountsClient(List<com.mozu.api.contracts.customer.CustomerAccountAndAuthInfo> customers, String responseFields) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.addAccountsUrl(responseFields);
		String verb = "POST";
		Class<?> clz = com.mozu.api.contracts.customer.CustomerAccountCollection.class;
		MozuClient<com.mozu.api.contracts.customer.CustomerAccountCollection> mozuClient = (MozuClient<com.mozu.api.contracts.customer.CustomerAccountCollection>) MozuClientFactory.getInstance(clz);
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		mozuClient.setBody(customers);
		return mozuClient;

	}

	/**
	 * Changes a collection of shopper passwords
	 *

	 * MozuClient<com.mozu.api.contracts.customer.ChangePasswordResultCollection> mozuClient=ChangePasswordsClient( accountPasswordInfos);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * ChangePasswordResultCollection changePasswordResultCollection = client.Result();
	 *

	 * @param accountPasswordInfos Mozu.Customer.Contracts.AccountPasswordInfoCollection ApiType DOCUMENT_HERE
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.ChangePasswordResultCollection>
	 * @see com.mozu.api.contracts.customer.ChangePasswordResultCollection
	 * @see com.mozu.api.contracts.customer.AccountPasswordInfoCollection
	 */
	public static MozuClient<com.mozu.api.contracts.customer.ChangePasswordResultCollection> changePasswordsClient(com.mozu.api.contracts.customer.AccountPasswordInfoCollection accountPasswordInfos) throws Exception
	{
		return changePasswordsClient( accountPasswordInfos,  null);
	}

	/**
	 * Changes a collection of shopper passwords
	 *

	 * MozuClient<com.mozu.api.contracts.customer.ChangePasswordResultCollection> mozuClient=ChangePasswordsClient( accountPasswordInfos,  responseFields);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * ChangePasswordResultCollection changePasswordResultCollection = client.Result();
	 *

	 * @param responseFields A list or array of fields returned for a call. These fields may be customized and may be used for various types of data calls in Mozu. For example, responseFields are returned for retrieving or updating attributes, carts, and messages in Mozu.
	 * @param accountPasswordInfos Mozu.Customer.Contracts.AccountPasswordInfoCollection ApiType DOCUMENT_HERE
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.ChangePasswordResultCollection>
	 * @see com.mozu.api.contracts.customer.ChangePasswordResultCollection
	 * @see com.mozu.api.contracts.customer.AccountPasswordInfoCollection
	 */
	public static MozuClient<com.mozu.api.contracts.customer.ChangePasswordResultCollection> changePasswordsClient(com.mozu.api.contracts.customer.AccountPasswordInfoCollection accountPasswordInfos, String responseFields) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.changePasswordsUrl(responseFields);
		String verb = "POST";
		Class<?> clz = com.mozu.api.contracts.customer.ChangePasswordResultCollection.class;
		MozuClient<com.mozu.api.contracts.customer.ChangePasswordResultCollection> mozuClient = (MozuClient<com.mozu.api.contracts.customer.ChangePasswordResultCollection>) MozuClientFactory.getInstance(clz);
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		mozuClient.setBody(accountPasswordInfos);
		return mozuClient;

	}

	/**
	 * Retrieves the current login state of a customer account by providing the customer's email address.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.LoginState> mozuClient=GetLoginStateByEmailAddressClient( emailAddress);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * LoginState loginState = client.Result();
	 *

	 * @param emailAddress The email address associated with the customer account.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.LoginState>
	 * @see com.mozu.api.contracts.customer.LoginState
	 */
	public static MozuClient<com.mozu.api.contracts.customer.LoginState> getLoginStateByEmailAddressClient(String emailAddress) throws Exception
	{
		return getLoginStateByEmailAddressClient( emailAddress,  null);
	}

	/**
	 * Retrieves the current login state of a customer account by providing the customer's email address.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.LoginState> mozuClient=GetLoginStateByEmailAddressClient( emailAddress,  responseFields);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * LoginState loginState = client.Result();
	 *

	 * @param emailAddress The email address associated with the customer account.
	 * @param responseFields Use this field to include those fields which are not included by default.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.LoginState>
	 * @see com.mozu.api.contracts.customer.LoginState
	 */
	public static MozuClient<com.mozu.api.contracts.customer.LoginState> getLoginStateByEmailAddressClient(String emailAddress, String responseFields) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.getLoginStateByEmailAddressUrl(emailAddress, responseFields);
		String verb = "POST";
		Class<?> clz = com.mozu.api.contracts.customer.LoginState.class;
		MozuClient<com.mozu.api.contracts.customer.LoginState> mozuClient = (MozuClient<com.mozu.api.contracts.customer.LoginState>) MozuClientFactory.getInstance(clz);
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		return mozuClient;

	}

	/**
	 * Retrieves the current login state of a customer account by providing the user name associated with the customer account.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.LoginState> mozuClient=GetLoginStateByUserNameClient( userName);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * LoginState loginState = client.Result();
	 *

	 * @param userName The user name associated with the customer account.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.LoginState>
	 * @see com.mozu.api.contracts.customer.LoginState
	 */
	public static MozuClient<com.mozu.api.contracts.customer.LoginState> getLoginStateByUserNameClient(String userName) throws Exception
	{
		return getLoginStateByUserNameClient( userName,  null);
	}

	/**
	 * Retrieves the current login state of a customer account by providing the user name associated with the customer account.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.LoginState> mozuClient=GetLoginStateByUserNameClient( userName,  responseFields);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * LoginState loginState = client.Result();
	 *

	 * @param responseFields Use this field to include those fields which are not included by default.
	 * @param userName The user name associated with the customer account.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.LoginState>
	 * @see com.mozu.api.contracts.customer.LoginState
	 */
	public static MozuClient<com.mozu.api.contracts.customer.LoginState> getLoginStateByUserNameClient(String userName, String responseFields) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.getLoginStateByUserNameUrl(responseFields, userName);
		String verb = "POST";
		Class<?> clz = com.mozu.api.contracts.customer.LoginState.class;
		MozuClient<com.mozu.api.contracts.customer.LoginState> mozuClient = (MozuClient<com.mozu.api.contracts.customer.LoginState>) MozuClientFactory.getInstance(clz);
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		return mozuClient;

	}

	/**
	 * Resets the password for a customer account.
	 *

	 * MozuClient mozuClient=ResetPasswordClient( resetPasswordInfo);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 *

	 * @param resetPasswordInfo Information required to reset the password for a customer account.
	 * @return Mozu.Api.MozuClient
	 * @see com.mozu.api.contracts.customer.ResetPasswordInfo
	 */
	public static MozuClient resetPasswordClient(com.mozu.api.contracts.customer.ResetPasswordInfo resetPasswordInfo) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.resetPasswordUrl();
		String verb = "POST";
				MozuClient mozuClient = (MozuClient) MozuClientFactory.getInstance();
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		mozuClient.setBody(resetPasswordInfo);
		return mozuClient;

	}

	/**
	 * Updates a customer account.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAccount> mozuClient=UpdateAccountClient( account,  accountId);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAccount customerAccount = client.Result();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @param account Properties of the customer account.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAccount>
	 * @see com.mozu.api.contracts.customer.CustomerAccount
	 * @see com.mozu.api.contracts.customer.CustomerAccount
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAccount> updateAccountClient(com.mozu.api.contracts.customer.CustomerAccount account, Integer accountId) throws Exception
	{
		return updateAccountClient( account,  accountId,  null);
	}

	/**
	 * Updates a customer account.
	 *

	 * MozuClient<com.mozu.api.contracts.customer.CustomerAccount> mozuClient=UpdateAccountClient( account,  accountId,  responseFields);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 * CustomerAccount customerAccount = client.Result();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @param responseFields Use this field to include those fields which are not included by default.
	 * @param account Properties of the customer account.
	 * @return Mozu.Api.MozuClient <com.mozu.api.contracts.customer.CustomerAccount>
	 * @see com.mozu.api.contracts.customer.CustomerAccount
	 * @see com.mozu.api.contracts.customer.CustomerAccount
	 */
	public static MozuClient<com.mozu.api.contracts.customer.CustomerAccount> updateAccountClient(com.mozu.api.contracts.customer.CustomerAccount account, Integer accountId, String responseFields) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.updateAccountUrl(accountId, responseFields);
		String verb = "PUT";
		Class<?> clz = com.mozu.api.contracts.customer.CustomerAccount.class;
		MozuClient<com.mozu.api.contracts.customer.CustomerAccount> mozuClient = (MozuClient<com.mozu.api.contracts.customer.CustomerAccount>) MozuClientFactory.getInstance(clz);
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		mozuClient.setBody(account);
		return mozuClient;

	}

	/**
	 * Deletes a customer account. A customer account cannot be deleted if any orders exist, past or present.
	 *

	 * MozuClient mozuClient=DeleteAccountClient( accountId);
	 * client.setBaseAddress(url);
	 * client.executeRequest();
	 *

	 * @param accountId Unique identifier of the customer account.
	 * @return Mozu.Api.MozuClient
	 */
	public static MozuClient deleteAccountClient(Integer accountId) throws Exception
	{
		MozuUrl url = com.mozu.api.urls.commerce.customer.CustomerAccountUrl.deleteAccountUrl(accountId);
		String verb = "DELETE";
				MozuClient mozuClient = (MozuClient) MozuClientFactory.getInstance();
		mozuClient.setVerb(verb);
		mozuClient.setResourceUrl(url);
		return mozuClient;

	}

}

redpajama_set_name: RedPajamaGithub


text:
Essential Maintenance on A52 Brian Clough Way
Home > Get Connected > News and Events > News > Essential Maintenance on A52 Brian Clough Way
Essential road maintenance to Derby's section of the A52 (Brian Clough Way), will start on Monday evening (18th July).
Work will run until Thursday 28 July and will include resurfacing, gully maintenance, street lighting maintenance, barrier repairs and street cleansing. The work will be carried out by the Council's Streetpride Teams.
To minimise disruption to the travelling public, work will be carried out in phases and only take place between the hours of 8.00pm to 5.00am. Some road closures will be necessary and diversion routes will be in operation at these times. Outside of the working hours all roads will be open as usual.
Timetable of work:
18, 19, 20 and 21 July – between Pentagon Island and the ASDA Spondon Island (Eastbound)
25, 26, 27 and 28 July – between ASDA Spondon Island and Pentagon island (Westbound)
Councillor Asaf Afzal, Cabinet Member with responsibility for Highways, said "The essential work to this section of the A52 will bring about a vast improvement to a vital section of Derby's road networks which is a key gateway to the city. Doing the works at night will minimise any inconvenience to road users. Reduced congestion and safer roads contribute to an improved quality of life for local people."

redpajama_set_name: RedPajamaCommonCrawl


When my daughter, Megan (Everything is Lekker), was home for a visit recently, we went to a local independent fabric store called Prairie Salvage & Surplus. It's a tiny storefront surrounded by empty factories and open fields but it's like the Tardis inside, only filled with the most amazing collection of discontinued fabrics, from cottons, silks, and velvets to upholstery weights. There is even a whole room of vinyls and Naugahyde. You never know what you might find. On a remnant table, Megs discovered four yards of a lovely light grey linen-weave cotton with narrow pink stripes for $8. She immediately envisioned a skirt and, once we got home, she drew me a picture: pockets (her one requirement) and an elastised waist dropped down about an inch to create gathers at the top. Then I got to work; a few hours later, she was able to model the result. She paired it with a J Crew chambray shirt and a pale pink patent leather belt; we were both very pleased with the way it turned out. It was a fun collaboration!
I got to do a little decorative painting when my friend, Maura, brought me a small vintage table that had been varnished, painted, varnished, and painted again. (It was kind of a mess but I forgot to take a 'before' picture.) While I stripped it, Maura picked out a pretty green semi-gloss for the body and a butter yellow for the contrast in the faux bois finish I applied to the top. I love the look of exaggerated wood grain and it's a nice accent on this little table.
Then, serendipity. Maura mentioned how nice it would be to have a small lamp for the table so we went shopping in the house. I had an open-work metal base looking for something to do and a vintage shade in my studio that happened to fit perfectly. Maura picked out some fabric from my collection and I used it to cover the shade. The vintage floral is a great complement for the table and the striped couch it will find itself near. I love it when a plan comes together.


text:
package org.elasticsearch.xpack.core.common.time;

import org.elasticsearch.ElasticsearchParseException;
import org.elasticsearch.common.ParseField;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.mapper.DateFieldMapper;

import java.io.IOException;
import java.time.Instant;
import java.util.Date;
import java.util.concurrent.TimeUnit;

public final class TimeUtils {

    private TimeUtils() {
        // Do nothing
    }

    public static Date parseTimeField(XContentParser parser, String fieldName) throws IOException {
        if (parser.currentToken() == XContentParser.Token.VALUE_NUMBER) {
            return new Date(parser.longValue());
        } else if (parser.currentToken() == XContentParser.Token.VALUE_STRING) {
            return new Date(dateStringToEpoch(parser.text()));
        }
        throw new IllegalArgumentException(
                "unexpected token [" + parser.currentToken() + "] for [" + fieldName + "]");
    }

    public static Instant parseTimeFieldToInstant(XContentParser parser, String fieldName) throws IOException {
        if (parser.currentToken() == XContentParser.Token.VALUE_NUMBER) {
            return Instant.ofEpochMilli(parser.longValue());
        } else if (parser.currentToken() == XContentParser.Token.VALUE_STRING) {
            return Instant.ofEpochMilli(dateStringToEpoch(parser.text()));
        }
        throw new IllegalArgumentException(
            "unexpected token [" + parser.currentToken() + "] for [" + fieldName + "]");
    }

    /**
     * First tries to parse the date first as a Long and convert that to an
     * epoch time. If the long number has more than 10 digits it is considered a
     * time in milliseconds else if 10 or less digits it is in seconds. If that
     * fails it tries to parse the string using
     * {@link DateFieldMapper#DEFAULT_DATE_TIME_FORMATTER}
     *
     * If the date string cannot be parsed -1 is returned.
     *
     * @return The epoch time in milliseconds or -1 if the date cannot be
     *         parsed.
     */
    public static long dateStringToEpoch(String date) {
        try {
            long epoch = Long.parseLong(date);
            if (date.trim().length() <= 10) { // seconds
                return epoch * 1000;
            } else {
                return epoch;
            }
        } catch (NumberFormatException nfe) {
            // not a number
        }

        try {
            return DateFieldMapper.DEFAULT_DATE_TIME_FORMATTER.parseMillis(date);
        } catch (ElasticsearchParseException | IllegalArgumentException e) {
        }
        // Could not do the conversion
        return -1;
    }

    /**
     * Checks that the given {@code timeValue} is a non-negative multiple value of the {@code baseUnit}.
     *
     *

     *
400ms is valid for base unit of seconds

     *
450ms is invalid for base unit of seconds but valid for base unit of milliseconds

     *

     */
    public static void checkNonNegativeMultiple(TimeValue timeValue, TimeUnit baseUnit, ParseField field) {
        checkNonNegative(timeValue, field);
        checkMultiple(timeValue, baseUnit, field);
    }

    /**
     * Checks that the given {@code timeValue} is a positive multiple value of the {@code baseUnit}.
     *
     *

     *
400ms is valid for base unit of seconds

     *
450ms is invalid for base unit of seconds but valid for base unit of milliseconds

     *

     */
    public static void checkPositiveMultiple(TimeValue timeValue, TimeUnit baseUnit, ParseField field) {
        checkPositive(timeValue, field);
        checkMultiple(timeValue, baseUnit, field);
    }

    /**
     * Checks that the given {@code timeValue} is positive.
     *
     *

     *
1s is valid

     *
-1s is invalid

     *

     */
    public static void checkPositive(TimeValue timeValue, ParseField field) {
        long nanos = timeValue.getNanos();
        if (nanos <= 0) {
            throw new IllegalArgumentException(field.getPreferredName() + " cannot be less or equal than 0. Value = "
                    + timeValue.toString());
        }
    }

    private static void checkNonNegative(TimeValue timeValue, ParseField field) {
        long nanos = timeValue.getNanos();
        if (nanos < 0) {
            throw new IllegalArgumentException(field.getPreferredName() + " cannot be less than 0. Value = " + timeValue.toString());
        }
    }

    /**
     * Check the given {@code timeValue} is a multiple of the {@code baseUnit}
     */
    public static void checkMultiple(TimeValue timeValue, TimeUnit baseUnit, ParseField field) {
        long nanos = timeValue.getNanos();
        TimeValue base = new TimeValue(1, baseUnit);
        long baseNanos = base.getNanos();
        if (nanos % baseNanos != 0) {
            throw new IllegalArgumentException(field.getPreferredName() + " has to be a multiple of " + base.toString() + "; actual was '"
                    + timeValue.toString() + "'");
        }
    }
}


Located in the new area of Longgang Town, Longyuan School affiliated to Central China Normal University is a nine-year comprehensive campus that meets functional needs of 3,360 students in 72 classes, mainly serving the surrounding residential people. The design of the project is based on the principle of 'creating a nature-friendly open teaching environment'. ?Inspired by the combination of corridors and alleys in traditional Chinese architecture and based on the principle of openness and flexibility, colorful outdoor learning, living and interactive space are created through the full use of space. Architects bring an unique green valley in the corner of urban high buildings.
Based on demand, Longyuan School has a L-shaped layout in architecture plan. On one hand, similar teaching units are placed relatively concentratedly, ensuring appropriate lighting condition in close distance and forming courtyards with different style. The courtyard is not directly landed, but placed on a splendid green slope to create a garden-like campus environment and ample activities. The indoor sports arena is placed next to the outdoor sports field, forming a clear division of active and quiet with the school's teaching area. The administrative office building is placed at the entrance to facilitate the management of the traffic flow. Canteen is placed in the southwest corner of the site to facilitate logistics and transportation. It is also following Shenzhen's leading wind direction, which is easy for the odor to spread out.
As partition between teaching area and sports area, the social corridor runs through the whole campus space like a "Dreamy Passageway". Five different color mass of "Golden Forum", "Wooden Stage", "Water Sound Room", "Fire Painting Pavilion" and "Earth Workshop" are connected with corridors through stairs and ramps. At the same time, a lot of diverse communication spaces such as platforms and staircase spaces are added into the corridors. This enriches the corridors space morphology and also reduces the interference of the stadium to the teaching area. Children stroll, play, meet, communicate and discuss here, making learning a fun way of life.
Kids in primary school prefer more lively and diverse space forms. Instead of using traditional symbolic and concretization design techniques for children, designers use multi-form space layout on the overhead floor of the entrance of primary school to form space tunnels like in fantasy scenes. They really treat architectural space as a playground for children to play and stimulate children's playfulness. The corridor uses a large area of blue which represents "origin" and "fantasy", and matches with the yellow tone of the school as a whole. It is more friendly and interesting. The quiet and relaxing atmosphere forms a dynamic contrast with the liveliness of children.
The main users of a school are the children who will retain childhood memories in the school. In the condition that the spacial form of traditional classroom can not be changed, from a more humanistic and creative point of view, the design of Langhong School creates more accessible "blank" space to stimulate student interaction and give children the happy space they should have at their age.


text:
package com.hazelcast.internal.eviction;

import com.hazelcast.cluster.ClusterState;
import com.hazelcast.config.Config;
import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.core.IMap;
import com.hazelcast.map.impl.MapService;
import com.hazelcast.monitor.LocalMapStats;
import com.hazelcast.test.AssertTask;
import com.hazelcast.test.HazelcastSerialClassRunner;
import com.hazelcast.test.HazelcastTestSupport;
import com.hazelcast.test.annotation.SlowTest;
import com.hazelcast.test.bounce.BounceMemberRule;
import com.hazelcast.util.StringUtil;
import org.junit.Rule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;

import java.util.concurrent.atomic.AtomicReferenceArray;

import static com.hazelcast.map.BackupExpirationTest.getTotalEntryCount;
import static org.junit.Assert.assertEquals;

@RunWith(HazelcastSerialClassRunner.class)
@Category(SlowTest.class)
public class BackupExpirationBouncingMemberTest extends HazelcastTestSupport {

    String mapName = "test";
    int maxIdleSeconds = 2;
    int backupCount = 3;
    int keySpace = 1000;

    @Rule
    public BounceMemberRule bounceMemberRule = BounceMemberRule.with(getConfig())
            .clusterSize(4)
            .driverCount(1)
            .build();

    @Override
    protected Config getConfig() {
        Config config = super.getConfig();
        config.getMapConfig(mapName)
                .setMaxIdleSeconds(maxIdleSeconds)
                .setBackupCount(backupCount);
        return config;
    }

    @Test
    public void backups_should_be_empty_after_expiration() {
        Runnable[] methods = new Runnable[2];
        HazelcastInstance testDriver = bounceMemberRule.getNextTestDriver();
        methods[0] = new Get(testDriver);
        methods[1] = new Set(testDriver);

        bounceMemberRule.testRepeatedly(methods, 20);

        assertTrueEventually(new AssertTask() {
            @Override
            public void run() {
                AtomicReferenceArray<HazelcastInstance> members = bounceMemberRule.getMembers();
                AtomicReferenceArray<HazelcastInstance> testDrivers = bounceMemberRule.getTestDrivers();

                assertSize(members);
                assertSize(testDrivers);
            }

            private void assertSize(AtomicReferenceArray<HazelcastInstance> members) {
                int length = members.length();
                for (int i = 0; i < length; i++) {
                    HazelcastInstance node = members.get(i);
                    assert node != null;
                    if (node.getLifecycleService().isRunning()
                            && node.getCluster().getClusterState() != ClusterState.PASSIVE) {

                        ClusterState clusterState = node.getCluster().getClusterState();
                        IMap map = node.getMap(mapName);

                        MapService mapService = getNodeEngineImpl(node).getService(MapService.SERVICE_NAME);
                        long lastStartMillis = getLastStartMillis(mapService.getMapServiceContext().getExpirationManager());
                        long lastEndMillis = getLastEndMillis(mapService.getMapServiceContext().getExpirationManager());

                        LocalMapStats localMapStats = map.getLocalMapStats();
                        String msg = "Failed on node: %s, current cluster state is: %s, "
                                + "ownedEntryCount: %d, backupEntryCount: %d, "
                                + "expiredRecordsCleanerTask=[now: %s, lastStart: %s, lastEnd: %s]";

                        String formattedMsg = String.format(msg, node, clusterState.toString(),
                                localMapStats.getOwnedEntryCount(),
                                localMapStats.getBackupEntryCount(),
                                StringUtil.timeToStringFriendly(System.currentTimeMillis()),
                                StringUtil.timeToStringFriendly(lastStartMillis),
                                StringUtil.timeToStringFriendly(lastEndMillis));

                        assertEquals(formattedMsg, 0, getTotalEntryCount(localMapStats));
                    }
                }
            }
        }, 240);
    }

    private class Get implements Runnable {

        private final HazelcastInstance hz;

        public Get(HazelcastInstance hz) {
            this.hz = hz;
        }

        @Override
        public void run() {
            for (int i = 0; i < keySpace; i++) {
                hz.getMap(mapName).get(i);
            }
        }
    }

    private class Set implements Runnable {

        private final HazelcastInstance hz;

        public Set(HazelcastInstance hz) {
            this.hz = hz;
        }

        @Override
        public void run() {
            for (int i = 0; i < keySpace; i++) {
                hz.getMap(mapName).set(i, i);
            }
        }
    }

    private long getLastStartMillis(ExpirationManager expirationManager) {
        return expirationManager.task.lastStartMillis;
    }

    private long getLastEndMillis(ExpirationManager expirationManager) {
        return expirationManager.task.lastEndMillis;
    }
}


Ringtone Maker is free app creates ringtones, alarms, and notifications from MP3, FLAC, OGG, WAV,AAC(M4A)/MP4, 3GPP/AMR files. Cut the best part of your. Room , Unit 4, Building 12, Area 4, AnZhenXiLi, ChaoYang, Beijing, China. Audio MP3 Cutter Mix Converter and Ringtone Maker. Photo Collage Editor. 15 Mar A simple search for ringtone maker apps on Google play store revels thousands of results, but most of them are either filled with ads or lack.
31 May Ringtone Maker is the easiest app to create custom ringtones! Just choose your beloved iPod song, swipe the audio wave to select the perfect. Ringtone Maker is the easiest app to create custom ringtones! Just choose your beloved iPod song, swipe the audio wave to select the perfect clip, and then. Make your own free ringtones for iPhone and other mobile phones! Just three steps: upload a file, choose a required range and click "Make Ringtone"! You can .
Ringtone Maker latest version: Turn your MP3s into ringtones. Overall, Ringtone Maker is a good app if all you want to do is turn your MP3 tracks into ringtones. Download Ringtone Maker apk and all version history for Android. Make your own MP3 ringtones quickly and easily. Can anyone suggest which app they feel is the best Ringtone Maker for music stored on your phone? I've tried a couple but the only pick up a.


text:
North Korea's Hwasong-15 missile test photos were photoshopped to make them look 'pretty'
According to a space analyst, the constellation of stars in the background seem to be photoshopped.
By Lara Rebello
Updated December 6, 2017 05:54 GMT
North Korea's testing of its Hwasong-15 long-range ballistic missile on 29 November has renewed concerns regarding the threat the country poses for the US. While most experts have been focusing on what they believe is the dictatorship's most technologically advanced missile, some scholars were looking at the background instead — more specifically the sky on the night of the test launch.
On inspecting images of the launch released by North Korea, a space analyst observed that the photos showed inconsistencies in the positioning of constellations that make up the backdrop of the missile test. Dr Marco Langbroek, Space Situational Awareness consultant at Leiden University in the Netherlands, believes the regime tampered with the images, adding stars in the sky.
Read more about North Korea
What is CHAMP? Trump's secret weapon could knock out North Korea's missile control systems
China conducts air drills near Korean peninsula in apparent show of force against US and South Korea
North Korean 'ghost boats' washing up in Japan as Kim Jong-un demands more fish
"The real fun started when... I started to look at the pictures of the actual launch moment. The fact that some of these show stars in itself is already something, as these images necessitate short exposures, so you do not expect stars. But the real fun came when I looked at the stars visible. There, things clearly were not right!" he added.
Langbroek pointed out that in two images, the exhaust plume and position of the number on the missile were almost identical, yet the star-field had been edited. "One shows Orion, which is south-southeastwest. The other shows Andromeda with the Andromeda galaxy which is northwest. So these two images from the same view point, show dramatically opposite sky areas," the scientist explained in his blog.
He also compared two other photos that seem to have been mirror images of the launch but the constellations were different. "So clearly, the starry sky background was added to the imagery and is not original," he said.
"They looked so crisp, that just didn't seem right to me," Jonathan McDowell, an astronomer at the Harvard-Smithsonian Center for Astrophysics, wrote in response to Langbroek's posts on Twitter. "Stars just don't look that different a few miles apart, and we have no reason to disbelieve that this launch was from the Pyongsong region north of Pyongyang."
More evidence of tampered #Hwasong15 imagery: two images, mirrors of each other (look at exhaust plume, lack of number on missile body 2nd image) so opposite viewpoints. Yet starfield in background both south-southeast, Orion and Canis major (but with Sirius missing!)@planet4589 pic.twitter.com/ZqfygbOwFa
— Dr Marco Langbroek (@Marco_Langbroek) December 5, 2017
Then why did the North Korean government choose to alter the photos?
According to Langbroek and McDowell, it could have been simply to make the missile photos prettier. "The most likely reason is simply that they did it for aesthetics. An ICBM soaring into the stars makes for good propaganda images. They apparently just didn't care enough to do it correctly," Langbroek wrote.
The Kim Jong-un government has taken to photoshop often in the past – from editing their leader's ears, to using dramatic sunset backdrops and even adding sheep to a countryside.
"Maybe they wanted to play a prank on analysts as well: they know these images will be analysed by the west. Fooling around with clues as to the orientation of images makes it harder to glean information from them on three-dimensional missile shape, and launch site geo-location," the Dutch national added.
"Yeah, I think somewhat just wanted to make it pretty. I doubt there's anything deeper here," McDowell concurred.
North Korea's latest missile reportedly uses two engines and no supplementary thrusters REUTERS/KCNA
Related topics : North Korea


text:
Henning Jarnskor (born 15 November 1972) is a retired Faroese football midfielder.

References

1972 births
Living people
Faroese footballers
GÍ Gøta players
Association football midfielders
Faroe Islands international footballers

redpajama_set_name: RedPajamaWikipedia


text:
Lawsuit By Professor Fired for Claiming Sandy Hook Was a Hoax Partially Dismissed
Anna Merlan
Filed to:sandy hook
Mourners at a vigil after Sandy Hook, December 2012. Photo via AP
A tenured professor at Florida Atlantic University, who was fired after claiming Sandy Hook was a hoax and then sued for his job back, has had portions of his lawsuit dismissed. The professor, James F. Tracy, writes a blog claiming Sandy Hook never happened, and when Sandy Hook parent Lenny Pozner asked him to take down photos of his son Noah, the youngest victim, Tracy responded with a certified letter asking him to prove the child ever existed.
In December of last year, Lenny and Veronique Pozner wrote an anguished op-ed in Broward's Sun-Sentinel, detailing what they said was a long pattern of harassment by Tracy, and criticizing the attention paid to him by the media, which "elevated his status and fame among the degenerates that revel in the pleasure of sadistically torturing victims' families." The Pozners detailed some of the harassment in wrenching detail:
In fact, Tracy is among those who have personally sought to cause our family pain and anguish by publicly demonizing our attempts to keep cherished photos of our slain son from falling into the hands of conspiracy theorists.
Tracy even sent us a certified letter demanding proof that Noah once lived, that we were his parents, and that we were the rightful owner of his photographic image. We found this so outrageous and unsettling that we filed a police report for harassment. Once Tracy realized we would not respond, he subjected us to ridicule and contempt on his blog, boasting to his readers that the "unfulfilled request" was "noteworthy" because we had used copyright claims to "thwart continued research of the Sandy Hook massacre event."
His blog post was echoed dozens of times on conspiracy websites, including one maintained by Tracy's colleague and frequent collaborator James Fetzer, a Holocaust denier who expounded upon Tracy's article by stating that our refusal to respond to this obscene ultimatum "implies that Noah did not die at Sandy Hook and confirms that Lenny is a fraud."
FAU reprimanded Tracy in 2013 for using his university credentials in his personal blog posts about Sandy Hook, but in their editorial the Pozners argued that didn't go far enough:
When do the interests of the college and its students take precedence over the tenure of a professor who has clearly proven himself in violation of the university's own policy? The FAU Academic Affairs Faculty Handbook clearly states that "A faculty member's activities which fall outside the scope of employment shall constitute misconduct only if such activities adversely affect the legitimate interests of the University."
They also pointed out that fellow professors had said Tracy's posts had "negative consequences," including students not wanting to attend FAU.
Tracy was fired in January 2016, and filed suit in April, saying the firing violated his rights to free speech and academic freedom. But a judge dismissed eight of the ten counts in the suit on Thursday, writing that the suit " mixed "multiple constitutional theories" and had a "lack of clarity," according to the Sun-Sentinel. The paper reports that he will potentially be able to refile on some of the claims, including his contention that the firing was "retaliatory" in nature. It's unclear whether he will actually refile.
The Pozners have since divorced. Lenny Ponzer, as detailed in New York magazine, has devoted himself full-time to fighting conspiracy theorists who claim Sandy Hook and other mass-casualty events were hoaxes. There are still many easily findable blogs questioning his son's existence, and even referring to Noah's name in sarcastic quotes.
In an update, Pozner told NYMag recently that the conspiracy theorists he's battling seem "emboldened" of late, and that sites like Google and YouTube and Facebook have been deeply unhelpful in taking down hoax material.
Update and correction, February 26: An earlier version of this post incorrectly stated that all of Tracy's lawsuit had been dismissed; a judge dismissed eight of ten counts but allowed two others to move forward. I regret the error.
On December 28, Tracy filed a second amended complaint. FAU moved to have the suit dismissed, a motion which the court denied. In his new complaint, Tracy accuses FAU of retaliation in violation of his right to free speech, of conspiracy to interfere with his civil rights, and challenges the university's policy on conflicts of interest and "outside activities." Tracy argues that his personal blogging constituted protected speech and shouldn't have resulted in is firing.
Anna Merlan was a Senior Reporter at G/O Media until September 2019. She's the author of Republic of Lies: American Conspiracy Theorists and Their Surprising Rise to Power.
PGP Fingerprint: 67B5 5767 9D6F 652E 8EFD 76F5 3CF0 DAF2 79E5 1FB6 • PGP Key


Do you eat non dairy fermented foods? Do you eat them every single day? Probably not. We talk about the benefits of non dairy fermented foods in our Clean Cuisine book on page 277, but my mom suggested we talk more about them on the blog than we have done in the past. So here you go mom!
Not only is fermentation an age-old process, but it is actually the oldest method of storage and preservation of foods. Eons ago, before electricity was harnessed and refrigeration became ubiquitous, people relied on various methods of preservation, one of the most important being fermentation. But as small farming led to large scale farming, along the way most families dropped the chore of preparing non dairy fermented foods in their homes. They also stopped eating these foods as part of their daily diet. And because the scientific community didn't really understand the real health benefits to fermentation, the whole concept became more or less outdated.
Non-dairy fermented foods are making a BIG comeback. Not only are foodies falling in love with their signature tang (a wee bit sour and a smidgen savory), nutritionists and doctors are praising their incredible whole body and gut health benefits.
But what exactly is fermentation? Biologists call it the anaerobic metabolizing of sugars. There is a broader definition, as described by Sandor Katz, of Liberty Tennessee: "the transformation of food by various bacteria, fungi and the enzymes they produce." Breads undergo a fermentation process but the good microbes are dead via baking, by the time consumer gets them. That's because heat kills probiotics. Live fermentation is a totally different story.
Pasteurization, and the process of killing bacteria has been helpful in reducing the transmission of diseases (such as typhoid fever, tuberculosis, scarlet fever, polio, and dysentery), but it has led people to believe all bacteria is bad. Not so.
Allowing bacteria to form in a sealed jar of vegetables over a few months might not seem like the most appealing way to create an appetizing dish, but fermentation really has a lot going for it. Just ask the Koreans and Japanese, who have been fermenting vegetables and beans for generations. They even ferment their fish!
By shredding, salting (i.e. brining) and packing cabbage in jars, cabbage will last more or less indefinitely and develop an incredibly delicious tangy flavor along with LOTS of beneficial good bacteria. Unpasteurized fermented foods such as sauerkraut, kimchi and kombucha have trillions of live good bacteria that scientists now realize play a major role in promoting good health.
What's more, the probiotics in non-dairy fermented foods help to make the foods you eat more nutritious. How so? Probiotic-rich foods enhance digestion and absorption. For example, eating probiotic rich kimchi or sauerkraut can increase the availability of vitamins A, C, and K, as well as vitamins from the B-complex group.
Probiotic rich foods also help decrease inflammation and there is some research showing they may even help protect against certain types of cancer.
Non Dairy Fermented Foods to Start Eating Today!
Beyond yogurt, here's a list of some of the incredibly healthy fermented foods that need to be on your radar (and in your stomach!) Starting today. Ideally you would eat one non-dairy fermented food with every meal. I realize that's a bit much to ask though (and even I don't do that), however I do make it a point to eat one serving of one of these foods every single day.
The foods listed above can all be easily bought at any well-stocked natural foods store. However, if you really want to get serious about things, you can certainly make your own non-dairy fermented foods. There are many DIY articles online, but I think these articles by three different bloggers below are the most comprehensive and easiest to follow.
There are also plenty of books on the subject, but "Fermented Vegetables" (see photo) is my favorite.
One of my biggest food philosophies is that it is SO much easier from a psychological standpoint to make an effort to add nutrient rich foods to your diet rather than to obsess over all of the unhealthy foods you shouldn't eat. I have LOTS of foods on my must-try-to-eat-each-day list and non dairy fermented foods are definitely on the list! I started adding them to my diet about 5 years ago and although initially I wasn't super crazy about their tangy flavor, I now crave it. They definitely grow on you! And the more variety you get the better. That's because not only do you want to consume a lot of probiotic rich foods, to really reap the maximum benefits you also want a lot of diversity.
Thank you so much for sharing your story Margaret. I have never heard of Mbeki Herbal Clinic but I too have MS and I will definitely check it out. I'm so glad you are feeling better. Thank you again for sharing!
I was diagnosed with multiple sclerosis 1 month after I turned 50. My was is 96 and had it since she was in her 20s. I was on Copaxone, the first year was daily and later I was on 40 mg, 3 times a week. It made a tremendous difference for me. Although the fatigue was what really gets to me. When I do too much, I do start to feel weak.There has been little if any progress in finding a cure or reliable treatment. My multiple sclerosis got significantly worse and unbearable because of my cognitive thinking.. Last year, i started on a natural multiple sclerosis Herbal therapy from Green House Herbal Clinic, i read a lot of positive reviews from patients who used the treatment and i immediately started on it. I had great relief with this herbal treatment. I am doing very much better now, no case of Cognitive thinking or memory Loss,, my multiple sclerosis condition is totally reversed. Visit Green House Herbal Clinic website w ww. greenhouseherbalclinic .com. I am thankful to nature, the medics failed. Share with friends!!


text:
News Real Madrid
Illara 'understands boos'
By andrew - 5 April 2014, 21:11
Asier Illarramendi has admitted he wasn't surprised to be booed by Real Sociedad's fans on his return to Anoeta.
The midfielder scored as Real Madrid won 4-0 in San Sebastian, the game's other goals coming from Gareth Bale, Pepe and Alvaro Morata.
Speaking after the match, Illara revealed he anticipated a hostile reception and added that Madrid will maintain this form in the hope Barcelona and Atletico Madrid slip up and let them back in the title race.
"On one hand I expected the booing from the fans. I tried to focus on the game. I expected it," AS reports.
"I gave everything to Sociedad but when Madrid offered me the chance to join, I took it.
"I will always feel like I'm at home at Anoeta. It's always special to come back home.
"The match changed a lot with our second goal.
"I never scored for La Real here so it's quite a coincidence to do it the first time I'm here with Madrid.
"There are a few games left and we must do our job, win all the matches and wait for the others to fail."
Tags Illarramendi
Liverpool make Illarramendi offer
Liverpool join Illarramendi chase
3 March 2015, 11:29
Illarra to reject Bilbao?
Select Category News (54,942) Barcelona (16,953) Real Madrid (16,619) La Liga (9,306) Atletico Madrid (7,379) Champions League (5,115) Sevilla (3,998) Valencia (3,792) Today's Papers (3,010) La Roja (2,599) Real Betis (2,172) Athletic Bilbao (2,038) Real Sociedad (1,927) Malaga (1,856) Blog (1,696) Celta Vigo (1,609) Espanyol (1,590) Villarreal (1,524) Copa del Rey (1,438) Getafe (1,226) Levante (1,126) Rayo Vallecano (988) Granada (954) Europa League (858) Eibar (697) Osasuna (673) Real Valladolid (593) Las Palmas (588) Alaves (496) Deportivo La Coruna (435) Segunda (435) Leganes (419) Elche (398) Real Zaragoza (353) Almeria (327) Sporting Gijon (301) Girona (296) Mallorca (285) Huesca (128) Cadiz (103) Racing Santander (46) Fuenlabrada (39) Real Oviedo (29) Tenerife (29) Albacete (25) Numancia (25) Mirandes (23) Alcorcon (21) Lugo (15) Extremadura (10) Ponferradina (8) Castellon (1) Logrones (1) Cartagena (1) Sabadell (1)


What does it Mean for HR Processes to be both Intelligent AND Connected?
What's the intelligent approach to your HR processes? It stems from an evolving set of capabilities that transform the way we manage information into something smarter and more connected than ever before. AIIM calls this Intelligent Information Management - and we believe it has the power to revamp your business processes, including Human Capital Management (HCM).
A flexible and modular approach that utilizes content and information wherever and whenever it is needed – CONTENT SERVICES.
Process tools that can be delivered with the simplicity of an app, but within a framework that allows the business to remain in control without relying on IT – PROCESS SERVICES.
Automated tools to prepare ALL of its information – both data and content – for the era of machine learning – ANALYTICS SERVICES.
Download this FREE tip sheet to learn how this concept of information that is both intelligent AND connected can revolutionize your Human Resources processes.


For 2012, NASA and the Astronomical League are partnering to offer two observing certificates. Completion of the requirements for each certificate will qualify you to download a certificate of completion. Requirements for completion are as follows.
Level 1: Amateur Astronomers who successfully view the transit through a properly filtered telescope (e.g. white light or Ha filters, or one of many projection methods) will receive a certificate of participation in the Sun Earth Day Observing Challenge.
Level 2: Amateur Astronomers will take a picture of the transit and note the time of the observation. Upload the picture so it may be posted on the Sun Earth Day web site and then calculate a value for the AU given one of the techniques described on the site.
You may upload your images of the transit to the NASA Flickr account. There, you will find instructions for upload including details of the necessary metadata to be included with each image.


It provides accommodation in 24 luxury rooms and suites, with high standard equipment. This excellent hotel in Kosice also offers guarded parking place, famous restaurant with winter garden and the currently very popular Indian ayurvedic spa RASAJÁNA.
Opening hours - restaurant: Monday - Saturday: 11:00 - 23:00; Sunday: 11:00 - 22:00.


It looks like Microsoft are getting in on the act with the blogging phenomena. You know something's big when the behemoth gets involved. As I was saying yesterday to my Dad this movement has just achieved critical mass. Even to the point where people are being paid to blog.
Egads. "Paid" won't load, but the name Molly popped up. And there goes my paranoia, since MegaMolly (my sharp-witted Brit pal) has been curiously silent for weeks. Now why do I feel like such a mushroom?


Word is that Sting specifically requested Charles Robinson to be the referee for his match last night against Triple H.
The two go back to their WCW days, and Robinson is reportedly very well respected among the boys.
We just posted this BRAND NEW photo of Stephanie McMahon on the beach in a bikini during a recent vacation. If you're interested, you can click here to view the photo. This is a very rare photo as Stephanie is rarely photographed in a bikini.
100% DIRECT LINK (PHOTOS): WWE's New Production Trucks!


I like Ocean. I grew up around it. My entire body seems to lighten when I even see it in the distance, much less get to be near it on a beach or a boat.
There are lots of coasts in the US.
But I prefer my water like the water I grew up near. (Puerto Rico) Clear and turquoise. Now, I don't hate other beaches, in fact I find every beach has its own personality and enjoyment.
My first visit to a beach after we moved to the States was rather disappointing. It was in New Hampshire. (we lived in CT at the time.) The water was brownish grey. The sky was overcast. It was basically like this.
I grew up with this. Literally – this is an island we used to sail to regularly and swim.
So, what should have been a lovely day at the beach was a bitter day for a 14 year old who thought all beaches were essentially like the turquoise one above.
All of this is a story about expectations. About how our internalized world view ruins moments that should be wonderful.
Now I look at the New England Beaches with pleasure and see the beauty. But that's because I've adjusted my world view to accept that beaches are different and each has their own energy and landscape.
The reaction of my 14 year old self was for the same reason so many of us found the idea of two men kissing or two women kissing so uncomfortable when it was first brought to our attention. Because we had internalized a view of the world that didn't have a place for that. Once we reorganized our brain, let it get used to the new configuration – voila – no more feelings of ick at the idea.
It doesn't have to be the big things in life – like homophobia. It can be the small disappointments or the awkward moments. What is it that makes you angry, sad or disappointed?
The next time something seems terrible to you and other people seem to find it perfectly acceptable, or even like it – stop for a moment and consider.
Do you hate it because its just not the way your brain organized your views? Did you expect clear blue water at a beach powered by North Atlantic waves on a cloudy day? Is there room for a new view?
I've lived in New Hampshire for almost 30 years and still don't like its beaches. That's why I have a cottage on Cape Cod, though I'll go to Maine if I want beautiful beaches and hypothermia. Not Caribbean beautiful by any stretch!
I like your little segue into homophobia. People brought up seeing it shouldn't have that "ick" response, it is more learned.
All so very true. We are used to what's comfortable for us.
This sounds very mature. I don't think I can do this. The beach where you grew up around is much prettier than most other US beaches. I cannot eat Cheese Whiz after having 3 year-old aged English cheddar and appreciate the Whiz. I just can't. I'm not that mature. But you could be an inspiration though.


How many inches to an hour?
GodNote: Sorry this Praamzius article is a bit short. We have sent our Data Dwarves off to find more nuggets of information. Updates coming soon.
Saunders, Chas, and Peter J. Allen, eds. "PRAAMZIUS - the Baltic God of Time (Baltic mythology)." Godchecker. Godchecker.com / CID, 29 Jan. 2014. Web. 25 April 2019.
We are often asked about mythology merchandise. Do we sell Praamzius graphic novels, books, video or role-playing games (RPG)? To purchase such goodies we suggest you try Amazon, Ebay or other reputable online stores. For official Godchecker merch please visit our God Shop where a wide range of items are available to buy.


WX Training and Soft Design Consulting, LLC is dedicated to providing the best training in WinDev, WebDev, and WinDev Mobile, and that means we bring numerous years of creating course content and presentation to the WinDev community.
Glenn Rathke, owner of WX Training and Soft Design Consulting, LLC is a seasoned developer and former professor at Roosevelt University in Chicago, IL. Glenn has trained hundreds of developers and students over the years. He incorporates concepts from many proven programming courses as well as his own unique 'take' on the WinDev language.
Soft Design Consulting, LLC presented a mini 1 day version of the 'Getting Started Course' at several of the WinDev Conferences where developers were treated to an implementation of Dynamic Business Ruls and a fully reusable Query by Example.
We have been offering consulting services to large and small clients for over 20 years. With our unique blend of having taught rapid application development at Roosevelt University in Chicago for 10 years, as well as being a seasoned developer for many more, we bring experience and enthusiasm to our WinDev/WebDev clients.
We offer local, client site, Self Study, and Streaming Video training.
WX Training and Soft Design Consulting, LLC provides skills enhancement, skills transfer, mentoring, and training in the PCSoft product line for developers. We also offer this to management for those wishing to understand the development process as it relates to WinDev WebDev, and WinDev Mobile (the suite often referred to as WX). We offer both customized training and generalized courses for a wide variety of developers.
Soft Design Consulting, LLC was founded in 2005, by Glenn Rathke, and is located in the West Palm Beach area. Glenn was a former founding partner with Blackwell Consulting Services, LLC in Chicago. The idea for providing a WX training solution was formed a few years back when several clients asked us to provide custom training to fit their needs. These training sessions and extensive set of examples is the basis for our current training packages. While this site is dedicated to training classes for WinDev, WebDev, and WinDev mobile, we also offer custom web and desktop application development to serve your business needs. From mission-critical solutions to cost-effective applications, we build them to meet your requirements and expectations.
1. Elegantly simple user interface which shortens the learning curve.
3. Fast data access which increases productivity.
Please explore this Web site to find out about our training class. Thank you for your interest in WinDev and WebDev training from Soft Design Consulting, LLC.
Call or email us for more information on the perfect training class for you or your employees.


The old saying is true – you should never put anything smaller than your elbow in your ear. That means you, Q-tip users. They are doing you more harm than good.
If you are prone to wax build ups, you may need regular checkups to monitor for and remove excess wax. One of our certified audiologists can help by making recommendations for wax blockage prevention and, when necessary, by performing wax removal. For more information or to book an appointment with one of our certified audiologist, contact our clinic today.


text:
When Will Disney Plus Be Available In The UK?
on 9th January 2020 at 6:22 pm
Disney Plus seems to be doing pretty well at the moment, in the territories it's currently in which doesn't include the UK and most of Europe. So, we've decided to look into when Disney Plus' UK release date is exactly and try and figure out why it hasn't come to the United Kingdom and other parts of Europe yet.
Answering the first question is actually pretty easy. Disney Plus will be coming to the UK in March. March 31st, 2020 to be precise.
This means that we're going to finally be able to subscribe to Disney Plus this year in the UK. However, there is a slight issue at hand. Is there any real need to.
What's on Disney Plus at the moment that people are watching or have watched that you really want to see? There's only one show I can think of that's worth subscribing to Disney Plus for at the moment and that's The Mandalorian.
Sure, you can spend hours of your life endlessly watching episodes of the Spider-Man Animated Series, The Simpsons, and Recess, but is that really worth a subscription?
Plus, The Simpsons is being shown in the wrong aspect ratio, which is mad.
Will it be worth subscribing to Disney Plus in the UK?
Disney Plus is coming to the UK in March – Credit: Disney
Read more: These Are The 10 Netflix Original Shows You Should Be Excited To Watch In 2020
There have already been reports claiming that Disney Plus has seen a rather worrying amount of people opting to unsubscribe from their streaming service after having watched The Mandalorian.
That's not good. Retention is just as important to streaming services and bringing new people in is. That's one of the reasons why services like Netflix and Amazon Prime Video are constantly making new shows.
It's not just to bring new people in, but also making sure the people who are already subscribed remain so.
I know a lot of people who do what I refer to as 'streaming service hopping'. They'll want to watch one show on one streaming service, subscribe to that and then cancel their subscription and move on to another streaming service.
Some people only want to be subscribed to one service at a time, and that really does make sense because being invested in all these streaming platforms is expensive.
You have Netflix (which isn't that cheap nowadays), Amazon Prime Video (which does come with Amazon Prime), Hulu (not in the UK), Apple TV Plus (which is way too expensive for what it is) and Disney Plus.
There are far too many streaming services nowadays
Is The Mandalorian the only show worth watching on Disney Plus? – Credit: Lucasfilm
Read more: This Year's Oscars Won't Have A Host Again And That's A Good Thing – Here's Why
Then in the US you have HBO Max coming, and here in the UK we have Now TV. There are way too many, and it's getting too hard to handle and doing too much damage to our bank accounts.
So, what is the answer, I hear you ask? The answer is to find the streaming service that suits your needs the most. For instance, if you have children, I would actually recommend a subscription to Disney Plus.
If you're into your blockbuster TV shows, I'd say go for Netflix. If you want your ore grown-up shows, then head on over to Amazon Prime Video.
But then you can do what I earlier referred to as 'streaming service hopping', and just be subscribed to one platform at a time and enjoy one show at a time.
That certainly saves you from 'then endless scroll' which people have now become accustomed to doing every night on platforms like Netflix and Apple TV Plus.
As for why Disney Plus has been so delayed in the UK and other European territories, we have Rupert Murdoch and Sky to thank for that.
Sky is the reason why we've had to wait so long for Disney Plus in the UK
Ewan McGregor will play Obi Wan Kenobi in an upcoming Disney Plus TV Series (Credit: Lucasfilm)
Read more: Here Are The 20 Most Anticipated Films Of 2020
Disney is still waiting for some of their contracts with Sky to run out. Disney and Comcast, the company that now owns Sky, struck a deal which meant that Disney movies and TV shows could be shown on Sky TV.
This is what lead to Sky have a dedicated Disney channel which showed nothing but Disney movies.
Disney has to wait until March for these contracts to run out, which is why we've had to wait so long, and because Sky is in many different European territories, other countries such as Italy and France have had to wait too.
That wasn't the case with The Netherlands since they got Disney Plus on day one (lucky buggers).
However, I've noticed that a lot of people in Europe managed to watch The Mandalorian despite Disney Plus not being available here, so I reckon many people found other means of watching the show.
That's really not good news for Disney since when the streaming service lands in March, I'm not sure how many people will feel inclined to subscribe immediately.
Personally, I'm going to wait until The Falcon And The Winter Soldier comes out to subscribe.
How about you guys? Will you be subscribing to Disney Plus when it finally comes to the UK? Let us know in the comments below.
DISNEYDISNEY PLUSFEATURESFILMTV
Amazon Prime VideoDisneyDisney PlusDisney Plus UKDisney Plus UK release dateHuluMarvelNetflixThe Mandalorian
Joker Won't Win Best Picture At The Oscars This Year And Here's Why
Birds Of Prey's New Trailer Has Arrived And This Film Looks Insane