Update libraries

This commit is contained in:
2016-05-11 12:12:14 -04:00
parent b0c586fab4
commit dc573ff0bf
392 changed files with 14045 additions and 60573 deletions
+2 -1
View File
@@ -1,4 +1,5 @@
using Backload.Bundles;using System.Web.Optimization;
using System.Web.Optimization;
using Backload.Bundles;
namespace LeafWeb.Web.App_Start
{
+114 -25
View File
@@ -2,22 +2,48 @@
<!-- Version 2.0 -->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vs="http://schemas.microsoft.com/Visual-Studio-Intellisense" xmlns:name="urn:backload-schema" >
<xs:element name="backload" id="backload.2.0">
<xs:element name="backload" id="backload.2.2">
<xs:annotation>
<xs:documentation>Basic settings for the Backload. component library. TIP: You do not need to include any of these setting in your web.config or external config file, if these default settings suit your needs.</xs:documentation>
<xs:documentation>Basic settings for the Backload component library. TIP: You do not need to include any of these setting in your web.config or external config file, if these default settings suit your needs.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:all minOccurs="0" maxOccurs="1">
<xs:element name="fileSystem" minOccurs="0">
<xs:annotation>
<xs:documentation>Sets the attributes for Filesystem storage</xs:documentation>
<xs:documentation>Sets the attributes for filesystem storage</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="filesRoot" type="xs:string" default="~/Files" use="optional"><xs:annotation><xs:documentation>Root upload folder. If the value starts with '~/' (e.g. ~/files) the path is relative to the web root, otherwise set an absolute local path (e.g. d:/files) [Default: "~/Files"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="usersRoot" type="xs:string" default="Users" use="optional"><xs:annotation><xs:documentation>Special subfolder within the filesRoot to store user related files like photos etc. Set it to usersRoot="" if you do not need this subfolder [Default: ""]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="filesRoot" type="xs:string" default="~/Files" use="optional"><xs:annotation><xs:documentation>Root upload folder. If the value starts with '~/' (e.g. ~/files) the path is relative to the web application root, otherwise set an absolute local path (e.g. d:\files) and also set a the virtual path name in the "virtualDirectory" attribute [Default: "~/Files"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="virtualDirectory" type="xs:string" default="/" use="optional"><xs:annotation><xs:documentation>Name of virtual directory in your IIS application to an external storage location (unc or full file system path). If filesRoot is relative to the web application root (starts with '~/', see filesRoot), you do not need to set this value. If filesRoot is an absolute path, you usually set a virtual path in IIS to this external location. In this case, the virtualDirectory attribute must be set to the name of the virtual path and filesRoot to the external path. Example: If the virtual path is z:\files and the name is "files", set filesRoot="z:\files" and virtualDirectory="/files" [Default: "/"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="objectsRoot" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>Subfolder within the filesRoot. Set it to objectsRoot="" if you do not need a subfolder [Default: ""]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="copiesRoot" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>Root of a folder where Backload stores a copy of an uploaded file, if set to a none empty string. If the value is empty ("") not copies are stored. If the value starts with '~/' (e.g. ~/copies) the path is relative to the web root. if the value not starts with '~/' and it isn't an absolute local path, the value will be treated as a subfolder to filesRoot ('copies' -> ~/files/copies). Otherwise set an absolute local path (e.g. d:/backup) [Default: ""]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="chunkPathPrefix" type="xs:string" default="_____" use="optional"><xs:annotation><xs:documentation>Temporäry folder prefix if file chunks are uploaded into the upload folder before they are merged [Default: "_____"].</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="chunkPathPrefix" type="xs:string" default="$$" use="optional"><xs:annotation><xs:documentation>Temporäry folder prefix if file chunks are uploaded into the upload folder before they are merged [Default: "$$"].</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="auxFilesFolder" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>Subfolder for supporting files (previews, mappings, etc). If "auxFilesFolder" is not empty (e.g. auxFilesFolder="_aux") supporting files will be stored in an external path ([filesRoot]\[auxFilesFolder]\). In this case the main upload directories only contain the uploaded files. [Default: ""].</xs:documentation></xs:annotation></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="database" minOccurs="0">
<xs:annotation>
<xs:documentation>Provides setting for database configuration. Supports codeless storage (no application code needed), Entity Framework, Sql FileStreams, Sql FileTables and external file storage (filesystem).</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="connection" type="xs:string" default="FilesContext" use="optional"><xs:annotation><xs:documentation>Name of the database connection (see Web.config). Can also be a connection string. [Default: "FilesContext"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="tableName" type="xs:string" default="Files" use="optional"><xs:annotation><xs:documentation>Name of the underlying database table [Default: "Files"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="fileTableName" type="xs:string" default="FileTable" use="optional"><xs:annotation><xs:documentation>Name of the SqlFileTable if a SqlFileTable is running on Sql Server. In a SqlFileTable, files will be stored outside of the database file in a filesystem directory, but managed by the database engine. This allows to store very large files. In contrast to SqlFileStreams, SqlFileTable files can be accessed, created and deleted directly within the file system as normal files. This allows us for example to copy a file with the explorer to the FileTable's directory in the file system where Sql Server catches the file and manages it. When you create a virtual path in IIS to the FileTable directory in the filesystem, A client can download the files in the SqlFileTable directly from the browser. <a href="https://msdn.microsoft.com/de-de/library/ff929144(v=sql.120).aspx">FileTables (SQL Server)</a>. [Default: "FileTable"].</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="storageMode" default="Internal" use="optional"><xs:annotation><xs:documentation>Defines if files are stored within the database file or as SqlFiieStream. SqlFIleStreams are stored outside of the database file as blob within the file system, but they are managed by the database engine. When using SqlFileStreams, SQL Server and the database must enable the SqlFileStream feature. More info: <a href="https://msdn.microsoft.com/de-de/library/gg471497(v=sql.120).aspx">FILESTREAM (SQL Server)</a>. [Default: "Internal"]</xs:documentation></xs:annotation>
<xs:simpleType >
<xs:restriction base="xs:string">
<xs:enumeration value="Internal"><xs:annotation><xs:documentation>Files will be stored within the database (default).</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="SqlFileStream"><xs:annotation><xs:documentation>Files will be stored as SqlFileStream outside of the database file in a filesystem directory, but managed by the database engine. This allows us to store very large files. More info: <a href="https://msdn.microsoft.com/de-de/library/gg471497(v=sql.120).aspx">FILESTREAM (SQL Server)</a>. Unlike SqlFileTable, files (blobs) cannot be accessed directly on the file system.</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="SqlFileTable"><xs:annotation><xs:documentation>Like SqlFileStreams, files will be stored in a SqlFileTable outside of the database file in a filesystem directory, but managed by the database engine. This allows us to store very large files. More info: <a href="https://msdn.microsoft.com/de-de/library/ff929144(v=sql.120).aspx">FileTables (SQL Server)</a>. Unlike SqlFileStreams FileTable files can be accessed, created and deleted within the file system as normal file. This allows us for example to copy a file with the explorer to the FileTable's directory in the file system where Sql Server catches the file and manages it. You can also enable a client to directory download the file if you create a virtual path from IIS to the FileTable directory.</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="FileSystem"><xs:annotation><xs:documentation>Files will be stored on the filesystem. A virtual path in the database points to the file.</xs:documentation></xs:annotation></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="virtualDirectory" type="xs:string" default="/" use="optional"><xs:annotation><xs:documentation>Storage mode "SqlFileTable" or "FileSystem" only. This setting is only needed if direct download of files is enabled in the configuration with the setting filesUrlPattern="{url}" (default: {backload}). Note: Direct download of files is only available in the storage modes "SqlFileTable" and "FileSystem", because in these modes files are stored as regular files on the file system. As in standard filesystem storage, VirtualDirectory needs to be set as the name of a virtual directory in IIS or an absolute url //if the file system to download files is outside the web application (e.g. UNC shares). VirtualDirectory represents the name of virtual path in your IIS application to an external storage location. If filesRoot is relative to the web application root (starts with '~/', see filesRoot), you do not need to set this value. If filesRoot is an absolute path, you usually set a virtual path in IIS to this external location. In this case, the virtualDirectory attribute must be set to the name of the virtual path and filesRoot to the absolute path. Example: If the virtual path is z:\files and the name is "files", set filesRoot="z:\files" and virtualDirectory="/files" [Default: "/"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="rootPath" type="xs:string" default="~/Files" use="optional"><xs:annotation><xs:documentation>Root path of the file directory when using external file storage (storageMode: SqlFileTable or FileSystem) (SqlFileTable example: "\\Server\SQLEXPRESS\FILES\Uploads\" where "FILES" is the database and "Uploads" is the name of the SqlFileTable.) (FilePath example: z:\Uploads). NOTE: If rootPath is not configured in storageMode "SqlFileTable", rootPath will be automatically retrieved from Sql Server. [Default: "~/Files"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="tempFolder" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>If set to a none empty string, this setting is used to store file chunks, before the full uploaded file will be stored into the database. If you use chunked file uploads, it is recommend to store the chunks in a temporary directory to get best performance. (Examples: "~/Files/Temp/" (app relative), "z:\dbstorage\temp\" (absolute), "\\server\dbstorage\temp\" (unc)) [Default: ""]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="columnMapping" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>If the data model has different column names than the defaults (e.g. FileId instead of the default Id), a column mapping for column names can be set. Example: columnMapping="{Id=FileId,Name=FileName,Original=OriginalName}". See also the database demo package. [Default: ""]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="extension" type="xs:string" default="Backload.Plugin.Database.dll" use="optional"><xs:annotation><xs:documentation>Name of the plugin file, e.g. extension="Backload.Plugin.Database.dll". If this is an empty string the extension name will be automatically set to: "Backload.Plugin.Database.dll [Default: "Backload.Plugin.Database.dll"]</xs:documentation></xs:annotation></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="cloudStorage" minOccurs="0" maxOccurs="1">
@@ -25,8 +51,23 @@
<xs:documentation>Sets the attributes for cloud storage</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:all minOccurs="0" maxOccurs="1">
<xs:element name="azureBlobStorage" minOccurs="0" maxOccurs="1">
<xs:all minOccurs="0" maxOccurs="1">
<xs:element name="azureFileStorage" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Microsoft Azure File storage settings</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="filesRoot" type="xs:string" default="~/Files" use="optional"><xs:annotation><xs:documentation>Root upload folder. If the value starts with '~/' (e.g. ~/files) the path is relative to the web application root, otherwise set an absolute local path (e.g. d:\files) and also set a the virtual path name in the "virtualDirectory" attribute [Default: "~/Files"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="virtualDirectory" type="xs:string" default="/" use="optional"><xs:annotation><xs:documentation>Name of virtual path in your IIS application to an external storage location (unc or full file system path). If filesRoot is relative to the web application root (starts with '~/', see filesRoot), you do not need to set this value. If filesRoot is an absolute path, you usually set a virtual path in IIS to this external location. In this case, the virtualDirectory attribute must be set to the name of the virtual path and filesRoot to the external path. Example: If the virtual path is z:\files and the name is "files", set filesRoot="z:\files" and virtualDirectory="/files" [Default: "/"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="usersRoot" type="xs:string" default="Users" use="optional"><xs:annotation><xs:documentation>Special subfolder within the filesRoot to store user related files like photos etc. Set it to usersRoot="" if you do not need this subfolder [Default: ""]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="objectsRoot" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>Subfolder within the filesRoot. Set it to objectsRoot="" if you do not need a subfolder [Default: ""]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="copiesRoot" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>Root of a folder where Backload stores a copy of an uploaded file, if set to a none empty string. If the value is empty ("") not copies are stored. If the value starts with '~/' (e.g. ~/copies) the path is relative to the web root. If the value not starts with '~/' and it isn't an absolute local path, the value will be treated as a subfolder to filesRoot ('copies' -> ~/files/copies). Otherwise set an absolute local path (e.g. d:/backup) [Default: ""]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="chunkPathPrefix" type="xs:string" default="$$" use="optional"><xs:annotation><xs:documentation>Temporary folder prefix if file chunks are uploaded into the upload folder before they are merged [Default: "$$"].</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="auxFilesFolder" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>Subfolder for supporting files (previews, mappings, etc). If "auxFilesFolder" is not empty (e.g. auxFilesFolder="_aux") supporing files will be stored in an external path ([filesRoot]\[auxFilesFolder]\). In this case the main upload directories only contain the uploaded files. [Default: ""].</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="extension" type="xs:string" default="Backload.Plugin.AzureFileStorage.dll" use="optional"><xs:annotation><xs:documentation>Name of the plugin file, e.g. extension="Backload.Plugin.AzureFileStorage.dll". If this is an empty string the extension name will be automatically set to: "Backload.Plugin.AzureFileStorage.dll [Default: "Backload.Plugin.AzureFileStorage.dll"]</xs:documentation></xs:annotation></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="azureBlobStorage" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:annotation>
<xs:documentation>Microsoft Azure Blob storage settings</xs:documentation>
@@ -41,12 +82,47 @@
<xs:restriction base="xs:string">
<xs:enumeration value="private"><xs:annotation><xs:documentation>No public access.</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="public"><xs:annotation><xs:documentation>Anyone with the url can get or list, but not store or delete files.</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="token"><xs:annotation><xs:documentation>Ad-hoc shared access signature (SAS). Storage access requires a valid access token.</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="token"><xs:annotation><xs:documentation>Ad-hoc shared access signature (SAS). Storage access requires a valid access token [Default].</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="storedPolicy"><xs:annotation><xs:documentation>A shared (stored) access policy will be used. Define a name of the stored policy within the storedPolicyName attribute. Note: Note: Your code is responsable to renew the policy before it expires!</xs:documentation></xs:annotation></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="containerCreation" default="auto" use="optional"><xs:annotation><xs:documentation>Sets the container existence checking and auto creation behavior [Default: "auto"]</xs:documentation></xs:annotation>
<xs:simpleType >
<xs:restriction base="xs:string">
<xs:enumeration value="auto"><xs:annotation><xs:documentation>Container existence is verified on first access, created it if neccessary, after that assumed that the container exists (Default).</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="always"><xs:annotation><xs:documentation>Verify container exsistence on every request and try to create it if it not exists.</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="never"><xs:annotation><xs:documentation>No checks for container exsistence. The containers (files, previews, [archives]) must be available (pre-created) on a request.</xs:documentation></xs:annotation></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="storedPolicyName" type="xs:string" default="backload" use="optional"><xs:annotation><xs:documentation>If accessType is set to "storedPolicy", this is the name of the shared access policy. Note: Your code is responsable to renew the policy before it expires! [Default: "backload"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="extension" type="xs:string" default="Backload.Plugin.AzureBlobStorage.dll" use="optional"><xs:annotation><xs:documentation>Name of the plugin file, e.g. extension="Backload.Plugin.AzureBlobStorage.dll". If this is an empty string the extension name will be automatically set to: "Backload.Plugin.AzureBlobStorage.dll [Default: "Backload.Plugin.AzureBlobStorage.dll"]</xs:documentation></xs:annotation></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="googleDrive" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:annotation>
<xs:documentation>Google Drive storage settings</xs:documentation>
</xs:annotation>
<xs:attribute name="clientId" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>Azure Storage Service connection string name, usually located in the .cscfg file or Web.config. If this is an empty string, the local storage emulator will be used [Default: "StorageConnectionString"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="clientSecret" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>Name of the files upload container. Example: uploadContainer="files". Must start with a lowercase letter. Automatically created if it doesn't exist [Default: "files"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="redirectUris" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>Azure Storage Service connection string name, usually located in the .cscfg file or Web.config. If this is an empty string, the local storage emulator will be used [Default: "StorageConnectionString"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="authUri" type="xs:string" default="https://accounts.google.com/o/oauth2/auth" use="optional"><xs:annotation><xs:documentation>Virtual subfolder within the uploadContainer. Set it to objectsRoot="" if you do not need a subfolder [Default: ""]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="tokenUri" type="xs:string" default="https://accounts.google.com/o/oauth2/token" use="optional"><xs:annotation><xs:documentation>Sas access type only. Time period (in minutes) before the shared access token expires. [Default: "60"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="authProviderX509CertUrl" type="xs:string" default="https://www.googleapis.com/oauth2/v1/certs" use="optional"><xs:annotation><xs:documentation>Sas access type only. Time period (in minutes) before the shared access token expires. [Default: "60"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="filesRoot" type="xs:string" default="Files" use="optional"><xs:annotation><xs:documentation>Root upload folder. [Default: "Files"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="objectsRoot" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>Subfolder within the filesRoot. Set it to objectsRoot="" if you do not need a subfolder [Default: ""]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="storageLocation" default="central" use="optional"><xs:annotation><xs:documentation>Public access type to the uploaded files [Default: "token"]</xs:documentation></xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="centralShared"><xs:annotation><xs:documentation>All files are stored on a central Google Drive accout in the same upload folder. All users have access to all uploaded files.</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="central"><xs:annotation><xs:documentation>All files are stored on a central Google Drive accout into an user individual folder. User only has access to his uploaded files.</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="user"><xs:annotation><xs:documentation>Files are stored in the users Google Drive account. The user must have a Google Drive account.</xs:documentation></xs:annotation></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="extension" type="xs:string" default="Backload.Plugin.GoogleDrive.dll" use="optional"><xs:annotation><xs:documentation>Name of the plugin file, e.g. extension="Backload.Plugin.GoogleDrive.dll". If this is an empty string the extension name will be automatically set to: "Backload.Plugin.GoogleDrive.dll [Default: "Backload.Plugin.GoogleDrive.dll"]</xs:documentation></xs:annotation></xs:attribute>
</xs:complexType>
</xs:element>
</xs:all>
@@ -54,10 +130,11 @@
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="AzureBlobStorage"><xs:annotation><xs:documentation>Microsoft Azure Blob storage provider</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="AzureFileStorage"><xs:annotation><xs:documentation>Microsoft Azure File storage provider</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="GoogleDrive"><xs:annotation><xs:documentation>Google Drive storage provider</xs:documentation></xs:annotation></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="extension" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>Name of the extension file, e.g. extension="Backload.Plugin.AzureBlobStorage.dll". If this is an empty string the extension name will be automatically set to: "Backload.Plugin.[serviceProvider].dll [Default: ""]</xs:documentation></xs:annotation></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="clientFiles" minOccurs="0">
@@ -74,10 +151,10 @@
<xs:documentation>Setting for the handling of uploaded images.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="width" type="xs:unsignedShort" default="1024" use="optional"><xs:annotation><xs:documentation>Width or max width (depends on resizeMode) of the resulting image [Range: 20-5000, Default: "1024"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="height" type="xs:unsignedShort" default="768" use="optional"><xs:annotation><xs:documentation>Height or max height (depends on resizeMode) of the resulting image [Range: 20-5000, Default: "768"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="dpi" type="xs:unsignedShort" default="96" use="optional"><xs:annotation><xs:documentation>Resolution of the resulting image (dots per inch) [Range: 72-600, Default: "96"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="canvasColor" type="xs:string" default="#ffffffff" use="optional"><xs:annotation><xs:documentation>Background color of the canvas. Only used when resize mode is fit and the image ratio of the source and target image differ. You can also use argb (rgb with alpha channel, e.g. background: #00ffffff (transparent), #80ffffff (white, 50% transparency), #ffffffff (white, opaque)) [Default: #ffffff]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="width" type="xs:unsignedShort" default="1024" use="optional"><xs:annotation><xs:documentation>Width or max width (depends on resizeMode) of the resulting image [Range: 1-100000, Default: "1024"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="height" type="xs:unsignedShort" default="768" use="optional"><xs:annotation><xs:documentation>Height or max height (depends on resizeMode) of the resulting image [Range: 1-100000, Default: "768"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="dpi" type="xs:short" default="96" use="optional"><xs:annotation><xs:documentation>Resolution of the resulting image (dots per inch). If set to -1 resolution of the original image is used. [Range: 1-2400, Default: "96"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="canvasColor" type="xs:string" default="#ffffffff" use="optional"><xs:annotation><xs:documentation>Background color of the canvas. Only used when resize mode is fit and the image ratio of the source and target image differ. You can also use argb (rgb with alpha channel, e.g. background: #00ffffff (transparent), #80ffffff (white, 50% transparency), #ffffffff (white, opaque)) [Default: #ffffff]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="resizeMode" default="none" use="optional"><xs:annotation><xs:documentation>Sets the resize mode if the image should be resized into a max width or height canvas [Default: "none"]</xs:documentation></xs:annotation>
<xs:simpleType >
<xs:restriction base="xs:string">
@@ -99,6 +176,7 @@
<xs:enumeration value="image/tiff"><xs:annotation><xs:documentation>Files with .tif or .tiff extension</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="image/gif"><xs:annotation><xs:documentation>Files with .gif extension</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="image/bmp"><xs:annotation><xs:documentation>Microsoft bitmap format.</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="image/vnd.ms-photo"><xs:annotation><xs:documentation>JPEG extended range (MS Photo) format</xs:documentation></xs:annotation></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
@@ -121,10 +199,11 @@
<xs:documentation>Setting for the handling of thumbnails.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="store" type="xs:boolean" default="true" use="optional"><xs:annotation><xs:documentation>If set to "true" (default), preview images are stored physically. If this attribute is set to false and you request preview images (e.g. in a plugin ui) thumbnails have to be created on every request. If you usually use preview images it is recommed to set this attribute to "true". [Default: "true"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="path" type="xs:string" default="_thumbs" use="optional"><xs:annotation><xs:documentation>Location of the thumbnail subfolder within the folder where the main file is stored (thumbnails only). Set to an empty string (path="") to avoid physical storage. [Default: "_thumbs"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="width" type="xs:unsignedShort" default="80" use="optional"><xs:annotation><xs:documentation>Width or max width (depends on resizeMode) of the resulting thumbnail [Range: 20-500, Default: "80"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="height" type="xs:unsignedShort" default="60" use="optional"><xs:annotation><xs:documentation>Height or max height (depends on resizeMode) of the resulting thumbnail [Range: 20-500, Default: "60"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="dpi" type="xs:unsignedShort" default="96" use="optional"><xs:annotation><xs:documentation>Resolution of the resulting thumbnail (dots per inch) [Range: 72-600, Default: "96"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="width" type="xs:unsignedShort" default="80" use="optional"><xs:annotation><xs:documentation>Width or max width (depends on resizeMode) of the resulting thumbnail [Range: 16-10000, Default: "80"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="height" type="xs:short" default="60" use="optional"><xs:annotation><xs:documentation>Height or max height (depends on resizeMode) of the resulting thumbnail [Range: 16-10000, Default: "60"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="dpi" type="xs:short" default="96" use="optional"><xs:annotation><xs:documentation>Resolution of the resulting thumbnail (dots per inch) If set to -1 resolution of the original image is used. If set to -1 resolution of the original image is used. [Range: 72-2400, Default: "96"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="canvasColor" type="xs:string" default="#ffffffff" use="optional"><xs:annotation><xs:documentation>Background color of the canvas. Only used when resize mode is fit and the image ratio of the source and target image differ. You can also use argb (rgb with alpha channel, e.g. background: #00ffffff (transparent), #80ffffff (white, 50% transparency), #ffffffff (white, opaque)) [Default: #ffffff]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="resizeMode" default="place" use="optional" ><xs:annotation><xs:documentation>Sets the resize mode if the thumbnail should be resized into a max width or height of a thumbnail canvas [Default: "place"]</xs:documentation></xs:annotation>
<xs:simpleType >
@@ -241,9 +320,10 @@
</xs:element>
</xs:all>
<xs:attribute name="configSource" type="xs:string" default="Web.Backload.config" use="optional"><xs:annotation><xs:documentation>Name of an external config file [Default: "Web.Backload.config"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="eventing" type="xs:boolean" default="false" use="optional"><xs:annotation><xs:documentation>In your custom code you can bind a handler to events. If set to true (default), events will be fired [Default="false"].</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="eventing" type="xs:boolean" default="false" use="optional"><xs:annotation><xs:documentation>In your custom code you can bind a handler to events. If set to true (default), events will be fired [Default: false].</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="tracing" type="xs:boolean" default="false" use="optional"><xs:annotation><xs:documentation>Enables tracing support. Note that tracing consumes some system resources and should only be enabled during development or to find errors in production. [Default: false].</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="base64MaxSize" type="xs:long" default="1000" use="optional"><xs:annotation><xs:documentation>Max length of a base64 encoded embedded data url. Only required if a url pattern is set to return a base64 string (e.g. thumbsUrlPattern="{base64}") [Default="1000"].</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="deleteUrlPattern" type="xs:string" default="{Backload}" use="optional"><xs:annotation><xs:documentation>This attribute sets the pattern of the url for the DELETE request returned back to the client in order to delete the file. You can use the shortcuts described in the config file. If you do not set this attribute, a link to the Backload component is returned by default. If you do not want to return a url, set this to an empty string or use the shortcut {none} (e.g. deleteUrlPattern="{none}" [Default="{Backload}"].</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="deleteUrlPattern" type="xs:string" default="{backload}" use="optional"><xs:annotation><xs:documentation>This attribute sets the pattern of the url for the DELETE request returned back to the client in order to delete the file. You can use the shortcuts described in the config file. If you do not set this attribute, a link to the Backload component is returned by default. If you do not want to return a url, set this to an empty string or use the shortcut {none} (e.g. deleteUrlPattern="{none}" [Default="{backload}"].</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="enableIntegratedHandler" type="xs:boolean" default="true" use="optional"><xs:annotation><xs:documentation>By default the internal file upload handler is running and ready to receive incoming files or requests. This enables us zero configuration. If you want to set up your own controller in order to do some business logic, set this to "false". [Default: "true"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="fileNotFoundBehaviour" default="auto" use="optional"><xs:annotation><xs:documentation>This setting determines the behaviour, if a file in a GET or DELETE request is not found [Default: "auto"]</xs:documentation></xs:annotation>
<xs:simpleType >
@@ -257,14 +337,14 @@
<xs:attribute name="filesUrlPattern" default="{url}" use="optional"><xs:annotation><xs:documentation>This attribute sets the pattern of the url (File) returned back to the client in order to download the file. You can use the shortcuts described in the config file. If you do not set this attribute, a direct link is returned by default. If you do not want to return a url, set this to an empty string or use the shortcut {none} (e.g. thumbsUrlPattern="{none}" [Default="{url}"].</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="getInclSubFolders" type="xs:boolean" default="false" use="optional"><xs:annotation><xs:documentation>On a GET request (return links to uploaded files) only the upload root folder (default filesRoot) is searched for uploaded files. Set to true in order to include subfolders. (Example: A content-type specific subfolder is set to "pdffiles" the search will find files within this subfolder. There are several ways set up subfolders, e.g. uploadContext and objectContext) [Default: "false"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="keepOrgFileNames" type="xs:boolean" default="false" use="optional"><xs:annotation><xs:documentation>Only applies if you use the uniqueFileNames option. If set to true, the original file name will be stored (subfolder: _mappings) [Default: "false"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="plugin" default="JQueryFileUpload" use="optional"><xs:annotation><xs:documentation>Defines the default Json output format. You can overwrite the Json output within your OutgoingResponse extension. See examples [Default: "JQueryFileUpload"]</xs:documentation></xs:annotation>
<xs:attribute name="plugin" default="JQueryFileUpload" use="optional"><xs:annotation><xs:documentation>Defines the default Json output format. You can overwrite the Json output in your code or within the OutgoingResponseCreated event. See examples [Default: "JQueryFileUpload"]</xs:documentation></xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="JQueryFileUpload"><xs:annotation><xs:documentation>Generates Json for the jQuery FileUpload plugin from blueimp [Default]</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="PlUpload"><xs:annotation><xs:documentation>Generates Json for the PlUpload plugin from Moxiecode</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="FineUploader"><xs:annotation><xs:documentation>Generates Json for the Fine Uploader from Widen Enterprises</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="Auto"><xs:annotation><xs:documentation>Send a (not case sensitive) plugin=[JQueryFileUpload|PlUpload|Custom] querystring with your request (Example: plugin=plupload). This the same as the extensions by convetion based approach to select extensions (See example 09)</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="Custom"><xs:annotation><xs:documentation>Does not generate an output before calling the OutgoingResponse extension manager. You have to generate your own output in an OutgoingResponse extension. Otherwise Backload returns a Json null string to the client.</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="Auto"><xs:annotation><xs:documentation>Send a (not case sensitive) plugin=[JQueryFileUpload|PlUpload|Custom] querystring with your request (Example: plugin=plupload). Because this is request based you can change the JSON output with every ajax request.</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="Custom"><xs:annotation><xs:documentation>Does not generate an output before calling the OutgoingResponseCreated event and you have to generate your own output in this event.</xs:documentation></xs:annotation></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
@@ -277,17 +357,26 @@
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="storageContext" default="Filesystem" use="optional" ><xs:annotation><xs:documentation>Files may be stored in the file system or in a cloud storage [Default: "Filesystem"]</xs:documentation></xs:annotation>
<xs:attribute name="storageContext" default="FileSystem" use="optional" ><xs:annotation><xs:documentation>Files may be stored in the file system or in a cloud storage [Default: "Filesystem"]</xs:documentation></xs:annotation>
<xs:simpleType >
<xs:restriction base="xs:string">
<xs:enumeration value="Filesystem"><xs:annotation><xs:documentation>Saves uploaded files in the file system (or SMB/unc shared folder) [Default]</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="FileSystem"><xs:annotation><xs:documentation>Saves uploaded files in the file system (or SMB/unc shared folder) [Default]</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="Database"><xs:annotation><xs:documentation>Saves uploaded files to a database and enables the database configuration element. Supports codeless storage (no application code needed), Entity Framework, Sql FileStreams, Sql FileTables and external file storage (filesystem).</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="CloudStorage"><xs:annotation><xs:documentation>Saves uploaded files to a cloud storage.</xs:documentation></xs:annotation></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="thumbsUrlPattern" default="{url}" use="optional"><xs:annotation><xs:documentation>This attribute sets the pattern of the url (Thumbnail) returned back to the client in order to download the thumbnail. You can use the shortcuts described in the config file. If you do not set this attribute, a direct link is returned by default. If you do not want to return a url, set this to an empty string or use the shortcut {none} (e.g. thumbsUrlPattern="{none}" [Default="{url}"].</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="uniqueFileNames" type="xs:boolean" default="false" use="optional"><xs:annotation><xs:documentation>Generates unique file names based on guids [Default: "false"]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="webFilesRoot" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>Leave this an empty string, if filesRoot is relative to the web root (starts with '~/', see filesRoot). If filesRoot is an absolute local path (see filesRoot), the Backload handler cannot calculate a web path. Only in this case you must set an absolute web url to the files root, in order a correct filestpath can returned (e. g. "http://myfiles.filestore.com/files/" [Default: ""]</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="webFilesRoot" type="xs:string" default="" use="optional"><xs:annotation><xs:documentation>Obsolete. Use "virtualDirectory" in the FileSystem element instead. This attribute will be removed in a future release.</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="webConfigContext" default="global" use="optional"><xs:annotation><xs:documentation>If set to "global" (default) the IWebConfig configuration instance in IFile_config is static, so if a property is changed in code (e.g. event handler), all subsequent requests use the new setting. If set to "request" a property change in code is only available in this single request. Other concurrent or subsequest requests use the original (global) setting.</xs:documentation></xs:annotation>
<xs:simpleType >
<xs:restriction base="xs:string">
<xs:enumeration value="global"><xs:annotation><xs:documentation>IFile_config returns the global settings used in all reuqests</xs:documentation></xs:annotation></xs:enumeration>
<xs:enumeration value="request"><xs:annotation><xs:documentation>IFile_config returns a request based configuration instance. Note: The GlobalConfig property in IFile_config has a reference to the global configuration.</xs:documentation></xs:annotation></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>
+235 -174
View File
@@ -1,203 +1,264 @@
<?xml version="1.0"?>
<!-- Default configuration options for the Backload component. Insert only the settings you want to change in your Web.Backload.config file.
// Remarks: The server side Backload handler supports very fine granulated and complex storage structures (folders and database tables).
// These storage structures can be influenced server and client side. On the server side you can set up root folders (web.config), on the client you set up context specific subfolders (see example below).
// The good thing: You do not have to use all this stuff. Just omit these settings to use the default simple and flat structure. Everything is stored withing the ~/files folder by default.
// Client side parameters: objectContext and uploadContext (see Example):
// The parameters objectContext and uploadContext are optional. You do not have to include them in the request.
// Basically they influence the storage location on the server, regardless if it is a database or folder structure.
// Server side settings: filesRoot, objectsRoot and content type specific subfolders:
// filesRoot is the root folder for all uploads. objectsRoot is a subfolder an can be ommitted if you do not need it.
// Set up content type specific sub folders, if you want to filter and store files of a specific content into separate subfolders. Example: Store images into an images subfolder (content-types: images/jpeg, images/png, etc. typeFragment: images/). See also example in the contentTypes section.
// Example:
// You want to set up an artist library were users are able to store content (songs, images, videos, other files).
// You want to store the different content in separate subfolders of a root artist folder, where any content belonging to this specific artist is stored.
// Your servers folder structure: [filesRoot]/[objectsRoot]/[objectContext]/[uploadContext] (e.g. ~/files/artists/michealjackson/videos) where [filesRoot] and [objectsRoot] are set up server side in the web.config.
// The objectContext will be the artist. It must be a unique name (e.g. michealjackson) or id. Any uploaded files related to this artist will be stored within a location of this unique id or name.
// UploadContext values are the different content types in this example (e.g. songs, images, videos, other) and result into a subfolder or different datatable.
// If you use separate client side upload controls for the different content, you can simply include hidden input fields. The client jQuery File Upload control will automatically transmit hidden input files to the server. But if you manually perform a ajax request, you have to set these parametes by hand.
// objectContext, uploadContext and fileName can be send in the url as a querystring or in the body (form).
// Note: The subfolder structure can be even more complex: uploadContext supports subfolders within subfolders (e.g. /songs/mp3, /songs/wav, etc.). Simply separate the subfolders by semicolon. Use this example pattern as the value of uploadContext: value="songs;mp3" or value="songs;wav".
// Note also: You can also set up a content type specific subfoldering on the sefrver within the web.config (examples).
CONFIGURATION SETTINGS AND OPTIONS
Insert only the settings you want to change in your Web.Backload.config file.
Remarks: The server side Backload handler supports complex storage structures (folders).
These storage structures can be influenced server and client side. On the server side you can set up root folders (Web.Backload.config), on the client you set up context specific subfolders (see example below).
The good thing: You do not have to use all this settings. Just ignore these settings to use the default simple and flat structure. In this case everything is stored within a default folder (filesystem: ~/files)
// NOTE: This file is not intended to be used directly. Copy the relevant parts to your web.Backload.config file and make your settings in that file.
// The settings in this file are the default values. You do not need to set this values agein. See Example 01 on Github.
-->
CLIENT SIDE AND SERVER SIDE SETTINGS
Server side settings: filesRoot, objectsRoot and content type specific subfolders (see "Settings and Default Values" below):
filesRoot is the root folder for all uploads. objectsRoot is a subfolder an can be ignored if you do not need it.
Set up content type specific sub folders, if you want to filter and store files of a specific content into separate subfolders. Example: Store images into an images subfolder (content-types: images/jpeg, images/png, etc. typeFragment: images/). See also example in the contentTypes section.
Client side parameters: objectContext and uploadContext (see Example):
The parameters objectContext and uploadContext are optional client side parameters). You do not have to include them in the request.
Basically they influence the storage location on the server, regardless if it is a database or folder structure.
Example:
You want to set up an artist library were users are able to store content (songs, images, videos, other files).
You want to store the different content in separate subfolders of a root artist folder, where any content belongs to this specific artist is stored.
Your servers folder structure: [filesRoot]/[objectsRoot]/[objectContext]/[uploadContext] (e.g. ~/files/artists/michealjackson/videos) where [filesRoot] and [objectsRoot] are set up server side in the Web.Backload.config file.
ObjectContext will be the artist. It must be a unique name (e.g. michealjackson) or an id. Any uploaded files related to this artist will be stored within a location of this unique id or name.
UploadContext values are the different content types in this example (e.g. songs, images, videos, other) and result into a subfolder.
The client side parameters (objectContext, uploadContext and fileName) can be send in the url as a querystring or in the body (form) and will be used by the server side handler to determine the storage location.
Note: The subfolder structure can be even more complex: uploadContext supports subfolders within subfolders (e.g. /songs/mp3, /songs/wav, etc.). Simply separate the subfolders by semicolon. Use this example pattern as the value of uploadContext: uploadContext="songs;mp3" or uploadContext="documents;pdf".
Note also: You can also set up automatic storage into content type specific subfolders where Backload stores files based on their content type (e.g. pdf files into a "documents" subfolder) (see below).
SETTINGS AND DEFAULT VALUES (2.2):
<!--
backload: // Basic settings for the Backload component library. TIP: You do not need to include any of these setting in your web.config or external config file, if these default settings fit your needs.
storageContext: // Files may be stored in the file system or in a cloud storage [Default: "Filesystem"]
Filesystem // Saves uploaded files in the file system (or SMB/unc shared folder) [Default]
Cloud // Saves uploaded files to a cloud storage.
enableIntegratedHandler: // By default the internal file upload handler is running and ready to receive incoming files or requests. This enables us zero configuration. If you want to set up your own controller in order to do some business logic, set this to "false". [Default: "true"]
webFilesRoot: // Leave this an empty string, if filesRoot is relative to the web root (starts with '~/', see filesRoot). Usually used with UNC pathes or absolute local pathes (see filesRoot) and virtual directories in IIS. WebFilesRoot can be an absolute web url to the files root (e. g. "http://myfiles.filestore.com/files/" or the name of a virtual directory in IIS [Default: ""]
uniqueFileNames: // Generates unique file names based on guids [Default: "false"]
keepOrgFileNames: // Only applies, if you use the uniqueFileNames option. If set to true, the original file name will be stored (subfolder: _mappings) [Default: "false"]
getInclSubFolders:// On a GET request (return links to uploaded files) only the upload root folder (default filesRoot) is searched for uploaded files. Set to true in order to include subfolders. (Example: A content-type specific subfolder is set to "pdffiles" the search will find files within this subfolder. There are several ways set up subfolders, e.g. uploadContext and objectContext) [Default: "false"]
returnExtraInfo: // We use this setting, to return internal information for the jQuery File Upload Plugin. If you do not want this, set it to "none" [Default: "basic"]
base64MaxSize: // Max length of a base64 encoded embedded data url. Only required if a url pattern is set to return a base64 string in kb (e.g. thumbsUrlPattern="{base64}") [Default="1000" = 1MB].
eventing: // In your custom code you can bind an handler to events. If this option is set to true, events will be fired [Default="false"].
plugin: // Defines the default Json output format. You can overwrite the Json output within your OutgoingResponse extension. See examples [Default: "Auto"]
deleteUrlPattern:
fileUrlPattern:
thumbsUrlPattern: // This attribute sets the pattern of the url returned back to the client in order to download or delete a file. You can use the shortcuts described below. If you do not set this attribute, a direct link is returned by default. If you do not want to return a url, set this to an empty string or use the shortcut {none} (e.g. thumbsUrlPattern="{none}" [Default (GET):"{url}", Default (DELETE):"{Backload}"].
[not set],{url} // If you want a direct link to download the file, do NOT set this value or set the shortcut {url} (e.g. fileUrlPattern="{url}". You do not need to set this value as this is the default for GET requests (DELETE requests: if not set {Backload} is the default).
[empty],{none} // If you do not want a url to be returned for GET or DELETE requests, set this attribute to an empty string or use the shortcut {none} (e.g. fileUrlPattern="").
{Backload} // If you want the file to be returned/deleted by the Backload component, set it to the shortcut {Backload} (Default for the deleteUrlPattern. An explicit file single file request (GET/DELETE with a filename) will now be handled as any other request by the Backload component. You can use your extensions like you are used to. We added an additional extension for the Get file requests: IGetFileRequest. Backloads internal handler has the following pattern (see below) fileUrlPattern="~/Backload/UploadHandler?{fileName}&{objectContext}&{uploadContext}&{content} (empty values are not send back). "{Backload}" is the default for the deleteUrlPattern.
[pattern] // You can define your own pattern for urls returned to the client, for example if you want to use your own download handler.
// Use the shortcuts below (Example: thumbsUrlPattern="http://downloads.myweb.com?file={fileName}&path={full}&preview&foo={query:bar}")
// "~/": Relative to web root (Replacement example http://localhost/).
// {fileName}: Name of the file as a full query (Example:{fileName} => fileName=somepic.jpg).
// {name}: Name of the file (Example:{name} => somepic.jpg).
// {root}: Root storage folder path (Replacement example: files/uploads/)
// {objectContext} If you send an objectContext with your request (see examples for more on this)
// {uploadContext} If you send an uploadContext with your request (see examples for more on this)
// {content} For a content type subfolders, if you set up this feature
// {full} Shortcut for [root]/[objectContext]/[uploadContext]/[content]/
// {base64} Encodes the data (bytes) as a base64 string and includes it in the JSON response. Limited to 256 kb file size, switches to {Backload} if bigger. Saves file requests but blows up the JSON output (not deleteUrlPattern).
// {query:all} If you send custom querystrings along with your request all will be returned in the url.
// {query:key} The custom querystring with this key will be returned. (Example: {query:foo} => &foo=bar)
xmlns:*, xsi:* // No custom setting. Used for schema validation and Visual Studio intellisence.
-->
<backload storageContext="Filesystem" enableIntegratedHandler="true" webFilesRoot="" uniqueFileNames="false" keepOrgFileNames="false" getInclSubFolders="true" returnExtraInfo="basic" plugin="JQueryFileUpload" deleteUrlPattern="{Backload}" filesUrlPattern="{url}" thumbsUrlPattern="{url}" base64MaxSize="1000" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:name="urn:backload-schema" xsi:noNamespaceSchemaLocation="Web.Backload.xsd" >
backload: // Basic settings for the Backload component library. TIP: You do not need to include any of these setting in your web.config or external config file, if these default settings fit your needs.
storageContext: // Files can be stored in the file system to a cloud storage or to a database [Default: "Filesystem"]
Filesystem // Saves uploaded files in the file system (or SMB/unc shared folder) [Default]
CloudStorage // Saves uploaded files to a cloud storage and enables the coud configuration element.
Database // Saves uploaded files to a database and enables the database configuration element. Supports codeless storage (no application code needed), Entity Framework, Sql FileStreams, Sql FileTables and external file storage (filesystem).
eventing // In your custom code you can bind an handler to events. If this option is set to true, events will be fired [Default="false"].
tracing // Enables tracing support. Note that tracing consumes some system resources and should only be enabled during development or to find errors in production. [Default: false].
enableIntegratedHandler // By default the internal file upload handler is running and ready to receive incoming files or requests. This enables us zero configuration. If you want to set up your own controller in order to do some business logic, set this to "false". [Default: "true"]
webFilesRoot // Obsolete. Use "virtualDirectory" in the FileSystem or database element instead. This attribute will be removed in a future release.
uniqueFileNames // Generates unique file names based on guids [Default: "false"]
keepOrgFileNames // Only applies, if you use the uniqueFileNames option. If set to true, the original file name will be stored (subfolder: _mappings) [Default: "false"]
getInclSubFolders // On a GET request (return links to uploaded files) only the upload root folder (default filesRoot) is searched for uploaded files. Set to true in order to include subfolders. (Example: A content-type specific subfolder is set to "pdffiles" the search will find files within this subfolder. There are several ways set up subfolders, e.g. uploadContext and objectContext) [Default: "false"]
returnExtraInfo // We use this setting, to return internal information for the jQuery File Upload Plugin. If you do not want this, set it to "none" [Default: "basic"]
plugin // Defines the default Json output format. You can overwrite the Json output within the OutgoingResponseCreated event. See examples [Default: "Auto"]
JQueryFileUpload // Generates Json for the jQuery FileUpload plugin from blueimp [Default].
PlUpload // Generates Json for PlUpload plugin from Moxiecode.
FineUploader // Generates Json for the Fine Uploader from Widen Enterprises
Auto // Send a plugin=[JQueryFileUpload|PlUpload|Custom] querystring (not case sensitive) with your request (Example: plugin=plupload). Because this is request based you can change the JSON output with every ajax request.
Custom // Does not generate an output before calling the OutgoingResponseCreated event and you have to generate your own output in this event.
base64MaxSize // Max length of a base64 encoded embedded data url. Only required if a url pattern is set to return a base64 string in kb (e.g. thumbsUrlPattern="{base64}") [Default="1000" = 1MB].
deleteUrlPattern,
fileUrlPattern,
thumbsUrlPattern: // This attribute sets the pattern of the url returned back to the client in order to download or delete a file. You can use the shortcuts described below. If you do not set this attribute, a direct link is returned by default. If you do not want to return a url, set this to an empty string or use the shortcut {none} (e.g. thumbsUrlPattern="{none}" [Default (GET):"{url}", Default (DELETE):"{backload}"].
[not set],{url} // If you want a direct link to download the file, do NOT set this value or set the shortcut {url} (e.g. fileUrlPattern="{url}". You do not need to set this value as this is the default for GET requests (DELETE requests: if not set {backload} is the default).
[empty],{none} // If you do not want a url to be returned for GET or DELETE requests, set this attribute to an empty string or use the shortcut {none} (e.g. fileUrlPattern="").
{backload} // If you want the file to be returned/deleted by the Backload component, set it to the shortcut {backload} (Default for the deleteUrlPattern. An explicit file single file request (GET/DELETE with a filename) will now be handled as any other request by the Backload component. You can use your extensions like you are used to. We added an additional extension for the Get file requests: IGetFileRequest. Backloads internal handler has the following pattern (see below) fileUrlPattern="~/Backload/UploadHandler?{fileName}&{objectContext}&{uploadContext}&{content} (empty values are not send back). "{Backload}" is the default for the deleteUrlPattern.
[pattern] // You can define your own pattern for urls returned to the client, for example if you want to use your own download handler.
// Use the shortcuts below (Example: thumbsUrlPattern="http://downloads.myweb.com?file={fileName}&path={full}&preview&foo={query:bar}")
// "~/": Relative to web root (Replacement example http://localhost/).
// {name}: Resolves to name of the file (Example:{name} => somepic.jpg).
// {fileName}: Resolves to name of the file as a full query (Example:{fileName} => fileName=somepic.jpg).
// {original}: Resolves to original name of the file (can be used when the name has changed dureing processing) (Example:{originalName} => originalname.jpg).
// {originalName}: Resolves to original name of the file (can be used when the name has changed dureing processing) as a full query (Example:{originalName} => fileName=originalname.jpg).
// {root}: Resovles to relative root storage folder path (Replacement example: files/uploads/)
// {objectContext} If you send an objectContext with your request, this will be the value of the objectContext parameter (see examples for more on this)
// {uploadContext} If you send an uploadContext with your request, this will be the value of the uploadContext parameter(see examples for more on this)
// {content} For a content type subfolders, if you set up this feature
// {full} Shortcut for [root]/[objectContext]/[uploadContext]/[content]/
// {base64} Encodes the data (bytes) as a base64 string and includes it in the JSON response. Limited to 256 kb file size, switches to {Backload} if bigger. Saves file requests but blows up the JSON output (not deleteUrlPattern).
// {query:all} If you send custom querystrings along with your request all will be returned in the url.
// {query:key} The custom querystring with this key will be returned. (Example: {query:foo} => &foo=bar)
xmlns:*, xsi:* // No custom setting. Used for schema validation and Visual Studio intellisence.
<backload storageContext="Filesystem" eventing="false" tracing="true" enableIntegratedHandler="true" uniqueFileNames="false" keepOrgFileNames="false" getInclSubFolders="true" returnExtraInfo="basic" plugin="JQueryFileUpload" deleteUrlPattern="{backload}" filesUrlPattern="{url}" thumbsUrlPattern="{url}" base64MaxSize="1000" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:name="urn:backload-schema" xsi:noNamespaceSchemaLocation="Web.Backload.xsd" >
fileSystem: // Sets the parameters for the dedicated storage location Filesystem or Database (EntityFramework):
filesRoot // Root upload folder. If the value starts with '~/' (e.g. ~/files) the path is relative to the web application root, otherwise set an absolute local path (e.g. d:\files) and also set a virtual path name in the "virtualDirectory" attribute [Default: "~/Files"]
objectsRoot // Subfolder within the filesRoot. Set it to objectsRoot="" if you do not need a subfolder [Default: ""].
copiesRoot // Root of a folder where Backload stores a copy of an uploaded file, if set to a none empty string. If the value is empty ("") not copies are stored. If the value starts with '~/' (e.g. ~/copies) the path is relative to the web root. If the value not starts with '~/' and it isn't an absolute local path, the value will be treated as a subfolder to filesRoot ('copies' -> ~/files/copies). Otherwise set an absolute local path (e.g. d:/backup) [Default: ""].
chunkPathPrefix // Temporary folder prefix if file chunks are uploaded into the upload folder before they are merged [Default: "$$"].
virtualDirectory // Name of virtual directory in your IIS application to an external storage location (unc or full file system path). If filesRoot is relative to the web application root (starts with '~/', see filesRoot), you do not need to set this value. If filesRoot is an absolute path, you usually set a virtual path in IIS to this external location. In this case, the virtualDirectory attribute must be set to the name of the virtual path and filesRoot to the external path. Example: If the virtual path is z:\files and the name is "files", set filesRoot="z:\files" and virtualDirectory="/files" [Default: "/"]
auxFilesFolder // Subfolder for supporting files (previews, mappings, etc). If "auxFilesFolder" is not empty (e.g. auxFilesFolder="_aux") supporting files will be stored in an external path ([filesRoot]\[auxFilesFolder]\). In this case the main upload directories only contain the uploaded files. [Default: ""].
<fileSystem filesRoot="~/Files" objectsRoot="" copiesRoot="" chunkPathPrefix="$$" auxFilesFolder="" />
database: // Provides setting for database configuration. Supports codeless storage (no application code needed), Entity Framework, Sql FileStreams, Sql FileTables and external file storage (filesystem).
connection // Name of the database connection (see Web.config). Can also be a connection string. [Default: "FilesContext"]
tableName // Name of the underlying database table [Default: "Files"].
storageMode: // Defines if files are stored within the database file or as SqlFiieStream. SqlFIleStreams are stored outside of the database file as blob within the file system, but they are managed by the database engine. When using SqlFileStreams, SQL Server and the database must enable the SqlFileStream feature. More info: <a href="https://msdn.microsoft.com/de-de/library/gg471497(v=sql.120).aspx">FILESTREAM (SQL Server)</a>. [Default: "Internal"].
Internal // Files will be stored within the database (default).
SqlFileStream // Files will be stored as SqlFileStream outside of the database file in a filesystem directory, but managed by the database engine. This allows us to store very large files. More info: <a href="https://msdn.microsoft.com/de-de/library/gg471497(v=sql.120).aspx">FILESTREAM (SQL Server)</a>. Unlike SqlFileTable, files (blobs) cannot be accessed directly on the file system.
SqlFileTable // Like SqlFileStreams, files will be stored in a SqlFileTable outside of the database file in a filesystem directory, but managed by the database engine. This allows us to store very large files. More info: <a href="https://msdn.microsoft.com/de-de/library/ff929144(v=sql.120).aspx">FileTables (SQL Server)</a>. Unlike SqlFileStreams FileTable files can be accessed, created and deleted within the file system as normal file. This allows us for example to copy a file with the explorer to the FileTable's directory in the file system where Sql Server catches the file and manages it. You can also enable a client to directory download the file if you create a virtual path from IIS to the FileTable directory.
FileSystem // Files will be stored on the filesystem. A virtual path in the database points to the file.
fileTableName // Name of the SqlFileTable if a SqlFileTable is running on Sql Server. In a SqlFileTable, files will be stored outside of the database file in a filesystem directory, but managed by the database engine. This allows to store very large files. In contrast to SqlFileStreams, SqlFileTable files can be accessed, created and deleted directly within the file system as normal files. This allows us for example to copy a file with the explorer to the FileTable's directory in the file system where Sql Server catches the file and manages it. When you create a virtual path in IIS to the FileTable directory in the filesystem, A client can download the files in the SqlFileTable directly from the browser. <a href="https://msdn.microsoft.com/de-de/library/ff929144(v=sql.120).aspx">FileTables (SQL Server)</a>. [Default: "FileTable"].
rootPath // Root path of the file directory when using external file storage (storageMode: SqlFileTable or FileSystem) (SqlFileTable example: "\\Server\SQLEXPRESS\FILES\Uploads\" where "FILES" is the database and "Uploads" is the name of the SqlFileTable.) (FilePath example: z:\Uploads). NOTE: If rootPath is not configured in storageMode "SqlFileTable", rootPath will be automatically retrieved from Sql Server. [Default: "~/Files"]
tempFolder // If set to a none empty string, this setting is used to store file chunks, before the full uploaded file will be stored into the database. If you use chunked file uploads, it is recommend to store the chunks in a temporary directory to get best performance. (Examples: "~/Files/Temp/" (app relative), "z:\dbstorage\temp\" (absolute), "\\server\dbstorage\temp\" (unc)) [Default: ""]
columnMapping // If the data model has different column names than the defaults (e.g. FileId instead of the default Id), a column mapping for column names can be set. Example: columnMapping="{Id=FileId,Name=FileName,Original=OriginalName}". This setting can also be done within the context. See also the database demo package. [Default: ""]
virtualDirectory // Storage mode "SqlFileTable" or "FileSystem" only. This setting is only needed if direct download of files is enabled in the configuration with the setting filesUrlPattern="{url}" (default: {backload}). Note: Direct download of files is only available in the storage modes "SqlFileTable" and "FileSystem", because in these modes files are stored as regular files on the file system. As in standard filesystem storage, VirtualDirectory needs to be set as the name of a virtual directory in IIS or an absolute url //if the file system to download files is outside the web application (e.g. UNC shares). VirtualDirectory represents the name of virtual path in your IIS application to an external storage location. If filesRoot is relative to the web application root (starts with '~/', see filesRoot), you do not need to set this value. If filesRoot is an absolute path, you usually set a virtual path in IIS to this external location. In this case, the virtualDirectory attribute must be set to the name of the virtual path and filesRoot to the absolute path. Example: If the virtual path is z:\files and the name is "files", set filesRoot="z:\files" and virtualDirectory="/files" [Default: "/"]
extension // Name of the plugin file, e.g. extension="Backload.Plugin.Database.dll". If this is an empty string the extension name will be automatically set to: "Backload.Plugin.Database.dll [Default: "Backload.Plugin.Database.dll"]
<database connection="FilesContext" tableName="Files" storageMode="Internal" fileTableName="FileTable" rootPath="~/Files" tempFolder="" virtualDirectory="/" columnMapping="" extension="Backload.Plugin.Database.dll" />
cloudStorage: // Sets the attributes for cloud storage
serviceProvider // Storage service provider. [Default: "AzureBlobStorage]
AzureBlobStorage // Microsoft Azure Blob storage service
extension // Name of the extension file, e.g. extension="Backload.Plugin.AzureBlobStorage.dll". If this is an empty string the extension name will be automatically set to: "Backload.Plugin.[serviceProvider].dll [Default: ""]
azureBlobStorage: // Microsoft Azure Blob storage settings
connectionString // Azure Storage Service connection string name, usually located in the .cscfg file or Web.config. If this is an empty string, the local storage emulator will be used [Default: "StorageConnectionString"]
[not set] // Backload looks for the connectionstring "StorageConnectionString" in Azure service definition file (.cscfg) or Web.config
[empty], ""] // Internally resolved to "UseDevelopmentStorage=true". Uses the storage emulator
{string} // Backload looks for a custom name in the Azure service definition file (.cscfg) or in Web.config
uploadContainer // Name of the files upload container. Example: uploadContainer="files". Must start with a lowercase letter. Automatically created if it doesn't exist [Default: "files"]
accessType: // Public access type to the uploaded files [Default: "token"]
private // No public access.
public // Anyone with the url can get or list, but not store or delete files.
token // Ad-hoc shared access signature (SAS). Storage access requires a valid access token. [Default].
storedPolicy // A shared (stored) access policy will be used. Define a name of the stored policy within the storedPolicyName attribute. Note: Note: Your code is responsable to renew the policy before it expires!
storedPolicyName // If accessType is set to "storedPolicy", this attribute is the name of the shared access policy. Note: Your code is responsable to renew the policy before it expires! [Default: "backload"]
tokenExpires // Sas access type only. Time period (in minutes) before the shared access token expires. [Default: "60"]
objectsRoot // Virtual subfolder within the uploadContainer. Set it to objectsRoot="" if you do not need a subfolder [Default: ""]
copiesContainer // Name of a copy container. [Default: ""]
containerCreation // Sets the container existence checking and auto creation behavior [Default: "auto"]
auto // Container existence is verified on first access, created it if neccessary, after that assumed that the container exists (Default).
always // Verify container exsistence on every request and try to create it if it not exists.
never // No checks for container exsistence. The containers (files, previews, [archives]) must be available (pre-created) on a request.
<cloudStorage serviceProvider="AzureBlobStorage" extension="">
<azureBlobStorage connectionString="StorageConnectionString" uploadContainer="uploads" accessType="token" storedPolicyName="backload" tokenExpires="60" objectsRoot="" copiesContainer="" containerCreation="auto" />
</cloudStorage>
security: // Security related settings. By default there are no restrictions. If you need a deeper control, set up your own controller to receive the request, do the authentication/authorization and then call the handler.
forceObjectContext // A request must always include an none empty objectContext parameter (query or form) to be valid. If you use "objectContext" to store/retirieve user related files, a malicious request could reveal some other users files, if forceObjectContext is false [Default:"false"]
allowAnonymous // True: Anyone is allowed, false: The user must be authenticated [Default: "true"]
allowedDownloadRole // By default there are no restrictions on who can download files by a GET request. You can change this by adding a comma separated list of roles [Default: "*"]
allowedUploadRoles // By default there are no restrictions on who can upload files whithin a POST/PUT request. You can change this by adding a comma separated list of roles [Default: "*"]
allowedDeleteRoles // By default there are no restrictions on who can delete files by a DELETE request. You can change this by adding a comma separated list of roles [Default: "*"]
<!--
fileSystem: Sets the parameters for the dedicated storage location Filesystem or Database (EntityFramework):
filesRoot: // Root upload folder. If the value starts with '~/' (e.g. ~/files) the path is relative to the web root, otherwise set an absolute local path (e.g. d:/files) [Default: "~/Files"].
usersRoot: // Special subfolder within the filesRoot to store user related files like photos etc. Set it to usersRoot="" if you do not need this subfolder [Default: ""]
objectsRoot: // Subfolder within the filesRoot (e.g. "uploads"). Set it to objectsRoot="" if you do not need a subfolder [Default: ""].
copiesRoot: // Root of a folder where Backload stores a copy of an uploaded file, if set to a none empty string, else no copies were stored. If the value is empty ("") not copies are stored. If the value starts with '~/' (e.g. ~/copies) the path is relative to the web root. if the value not starts with '~/' and it isn't an absolute local path, the value will be treated as a subfolder to filesRoot ('copies' -> ~/files/copies). Otherwise set an absolute local path (e.g. d:/backup) [Default: ""].
chunkPathPrefix: // Temporary folder prefix if file chunks are uploaded into the upload folder before they are merged [Default: "_____"].
database:
assemblyName: // Name of the assembly where the DBContext class is defined. You can leave this an empty string, if it is defined in the executing (caller of the file upload handler library) assembly [Default: ""]
dbContext: // Full qualified name of the DBContext derived class [Default: ""]
entitySetName: // Name of the root entity where the files will be stored directly or where the navigation begins (with navigation properties [Default: "Files"]
primaryKeyName: // Name of the primary key of the root entity (separate multiple keys by comma [Default: "ID"]
-->
<fileSystem filesRoot="~/Files" usersRoot="" objectsRoot="" copiesRoot="" chunkPathPrefix="_____" />
<database assemblyName="" dbContext="" entitySetName="" primaryKeyName="ID" />
<!--
security: Security related settings. By default there are no restrictions. If you need a deeper control, set up your own controller to receive the request, do the authentication/authorization and then call the handler.
forceObjectContext: // A request must always include an none empty objectContext parameter (query or form) to be valid. If you use "objectContext" to store/retirieve user related files, a malicious request could reveal some other users files, if forceObjectContext is false [Default:"false"]
allowAnonymous: // True: Anyone is allowed, false: The user must be authenticated [Default: "true"]
allowedDownloadRoles: // By default there are no restrictions on who can download files by a GET request. You can change this by adding a comma separated list of roles [Default: "*"]
allowedUploadRoles: // By default there are no restrictions on who can upload files whithin a POST/PUT request. You can change this by adding a comma separated list of roles [Default: "*"]
allowedDeleteRoles: // By default there are no restrictions on who can delete files by a DELETE request. You can change this by adding a comma separated list of roles [Default: "*"]
cors: // Enables/disables and configures CROSS-ORIGIN RESOURCE SHARING (CORS). CORS is used in environments, where file requests (e.g. GET) come from diffenrent domains (e.g. client: http://www.yourwebsite.com, Backload: http://fileservice.com/Backload/Filehandler ).
enabled: // To enable CORS requests set this attribute to true [Default=°false°]</xs:documentation>
allowedDomains: // Comma-separated list of allowed domains for client side requests or "*" to allow all client side cors requests. Example: allowedOrigin="http://www.myservice.com". [Default="*"]
allowedMethods: // Comma-separated list of allowed http methods. [Default="GET,POST,DELETE"]
allowedHeaders: // Comma-separated list of allowed (none simple) headers. [Default=""]
credentials: // Specifies if a request should send credentials by setting credentials="true" [Default="false"]
maxAge: // Validity period of cors permission settings (in seconds) before the client makes a new request for permissions. Note: Not all clients use this value [Default="36000"]
-->
cors: // Enables/disables and configures CROSS-ORIGIN RESOURCE SHARING (CORS). CORS is used in environments, where file requests (e.g. GET) come from diffenrent domains (e.g. client: http://www.yourwebsite.com, Backload: http://fileservice.com/Backload/Filehandler).
enabled // To enable CORS requests set this attribute to true [Default=°false°]
allowedDomains // Comma-separated list of allowed domains for client side requests or "*" to allow all client side cors requests. Example: allowedOrigin="http://www.myservice.com". [Default="*"]
allowedMethods // C omma-separated list of allowed http methods. [Default="GET,POST,DELETE"]
allowedHeaders // Comma-separated list of allowed (none simple) headers. [Default=""]
credentials // Specifies if a request should send credentials by setting credentials="true" [Default="false"]
maxAge // Validity period of cors permission settings (in seconds) before the client makes a new request for permissions. Note: Not all clients use this value [Default="36000"]
<security forceObjectContext="false" allowAnonymous="true" allowedDownloadRoles="*" allowedUploadRoles="*" allowedDeleteRoles="*">
<cors enabled="false" allowedDomains="*" allowedMethods="GET,POST,DELETE" allowedHeaders="" credentials="false" />
</security>
<!--
images and thumbnails:
path // Location of the thumbnail within the folder where the main file is stored (thumbnails only). Set to an empty string (path="") to avoid physical storage. [Default: "_thumbs"]
width: // Width or max width (depends on resizeMode) of the resulting image [images range: 20-5000, Default: "1024"; thumbnails range: 20-500, Default: "80"]
height: // Height or max height (depends on resizeMode) of the resulting image [images range: 20-5000, Default: "768"; thumbnails range: 20-500, Default: "60"]
dpi: // Resolution of the resulting image (dots per inch) [Range: 72-600, Default: "96"]
canvasColor: // Background color of the canvas. Only used when resize mode is fit and the image ratio of the source and target image differ. You can also use argb (rgb with alpha channel, e.g. background: #00ffffff (transparent), #80ffffff (white, 50% transparency), #ffffffff (white, opaque)) [Default: #ffffff]
imageType: // Thumnail images must all have the same image type in order the upload handler can find and return the correct thumbnail path [Default: "image/png"]
maxFileSize: // Max file size (bytes) of an image to be processed by the image processing sub pipeline. If the file size is bigger, the image is stored directly bypassing image processing [Default: "0" (unlimited)].
forceImageType // By default the image type of the original image is used. Set this attribute to always output a different type (e.g. image/png or image/jpeg [Defailt: none])
none // Use the original image type
image/png // Files with .png (protable network graphics) extension
image/jpeg // Files with .jpeg or .jpg extension
image/tiff // Files with .tif or .tiff extension
image/gif // Files with .gif extension
image/bmp // Microsoft Bitmap format
resizeMode: // [Default: "none"]
none // Keep original image, no resizing or cropping
ratio // No Canvas, preserves ratio, width and height are max sizes, smaller images are upscaled
maxratio // Same as ratio, but smaller images are not upscaled.
fit // Fit into canvas, preserves ratio, centered on canvas
place, // If the source image is bigger than the canvas same as fit. If it is smaller than the canvas, it will be placed in the center of the canvas without resizing
crop // Placed on canvas, cropped if neccessary with center of the original image
-->
watermark: // Optional watermark image if images are uploaded. Example: watermark="~/Backload/Imaging/watermark.png". [Default: "" (no watermark)].
background: // Optional background image if images are placed or fit onto a canvas. Example: background="~/Backload/Imaging/background.png". [Default: "" (no background image)].
watermarkPosition: // Vertical position of a watermark to be placed on an image[Default: "center"]
top // Top position
center // Center position
bottom // Bottom position
images, thumbnails: // Image and thumbnail settings
width // Width or max width (depends on resizeMode) of the resulting image [images range: 1-100000, Default: "1024"; thumbnails range: 1-1000, Default: "80"]
height // Height or max height (depends on resizeMode) of the resulting image [images range: 1-100000, Default: "768"; thumbnails range: 1-1000, Default: "60"]
dpi // Resolution of the resulting image (dots per inch) [Range: 1-2400, Default: "96"]
canvasColor // Background color of the canvas. Only used when resize mode is fit and the image ratio of the source and target image differ. You can also use argb (rgb with alpha channel, e.g. background: #00ffffff (transparent), #80ffffff (white, 50% transparency), #ffffffff (white, opaque)) [Default: #ffffff]
maxFileSize // Images only: Max file size (bytes) of an image to be processed by the image processing sub pipeline. If the file size is bigger, the image is stored directly bypassing image processing [Default: "0" (unlimited)].
forceImageType: // Images only: By default the image type of the original image is used. Set this attribute to always output a different type (e.g. image/png or image/jpeg [Defailt: none])
none // Use the original image type
image/png // Files with .png (protable network graphics) extension
image/jpeg // Files with .jpeg or .jpg extension
image/tiff // Files with .tif or .tiff extension
image/gif // Files with .gif extension
image/bmp // Microsoft Bitmap format
image/vnd.ms-photo // JPEG XR (extended range, formerly MS Photo) format
resizeMode: // [Default: "none"]
none // Keep original image, no resizing or cropping
ratio // No Canvas, preserves ratio, width and height are max sizes, smaller images are upscaled
maxratio // Same as ratio, but smaller images are not upscaled.
fit // Fit into canvas, preserves ratio, centered on canvas
place // If the source image is bigger than the canvas same as fit. If it is smaller than the canvas, it will be placed in the center of the canvas without resizing
crop // Placed on canvas, cropped if neccessary with center of the original image
watermark // Images only: Optional watermark image if images are uploaded. Example: watermark="~/Backload/Imaging/watermark.png". [Default: "" (no watermark)].
background // Images only: Optional background image if images are placed or fit onto a canvas. Example: background="~/Backload/Imaging/background.png". [Default: "" (no background image)].
watermarkPosition: // Images only: Vertical position of a watermark to be placed on an image[Default: "center"]
top // Top position
center // Center position
bottom // Bottom position
imageType // Thumbnails only: Thumnail images must all have the same image type in order the upload handler can find and return the correct thumbnail path [Default: "image/png"]
path // Thumbnails only: Location of the thumbnail subfolder within the folder where the main file is stored. Set to an empty string (path="") to avoid physical storage. [Default: "_thumbs"]<
store // Thumbnail only: If set to "true" (default), preview images are stored physically. If this attribute is set to false and you request preview images (e.g. in a plugin ui) thumbnails have to be created on every request. If you usually use preview images it is recommed to set this attribute to "true". [Default: "true"]
<images width="1024" height="768" dpi="96" canvasColor="#ffffffff" forceImageType="none" resizeMode="none" maxFileSize="0" background="" watermark="", watermarkPosition="center" />
<thumbnails path="_thumbs" width="80" height="60" dpi="96" canvasColor="#ffffffff" resizeMode="place" imageType="image/png" />
<thumbnails store="true" path="_thumbs" width="80" height="60" dpi="96" canvasColor="#ffffffff" resizeMode="place" imageType="image/png" />
<!--
clientFiles: If the bundeling feature is used (@Render.Scripts(), @Render.Styles()), set the appropriate files folder. TIP: Don't forgat to register the bundeling feature in the global.asax. See example project.
scripts: // Scripts folder [Default: "~/Backload/Client"]
styles: // Styles folder [Default: "~/Backload/Client"]
-->
clientFiles: // If the bundeling feature is used (@Render.Scripts(), @Render.Styles()), set the appropriate files folder. TIP: Don't forgat to register the bundeling feature in the global.asax. See example project.
scripts // Scripts folder [Default: "~/Backload/Client"]
styles // Styles folder [Default: "~/Backload/Client"]
<clientFiles scripts="~/Backload/Client" styles="~/Backload/Client" />
<!--
cacheManager: Adds cache headers to the response if enabled, and returns a http status 304 (Not Modified), if no files have been uploaded or deleted sinse the last request. Note: If you manually or by a different application change files, don't use "lastModified=true", because only requests within Backload's pipeline will be recognized.
lastModified: // If true, includes a Last-Modified header in the response and returns a 304 (Not Modified) if no files where uploaded or deleted since the last request. [Default="false"]
etag: // If true, a ETag is returned in the response on a single file request. In the next request for this file a 304 is returned, if the file has not been modified. [Default="false"]
expires: // Adds an Expires header to the response, if the value is not 0 (seconds). Example: useExpires="3600" (adds 1 hour to the Expires header) [Default="0"]
location: // Adds a Cache-Control header to the response (Please refer to the System.Web.HttpCacheability enumeration for more info) [Default="ServerAndPrivate"]
mustRevalidate // Sets "must-revalidate" within the Cache-Control header. Caches (e.g. Browser, Proxy) are forced to validate if the request has changed [Default="true"].
-->
cacheManager: // Adds cache headers to the response if enabled, and returns a http status 304 (Not Modified), if no files have been uploaded or deleted sinse the last request. Note: If you manually or by a different application change files, don't use "lastModified=true", because only requests within Backload's pipeline will be recognized.
lastModified // If true, includes a Last-Modified header in the response and returns a 304 (Not Modified) if no files where uploaded or deleted since the last request. [Default="false"]
etag // If true, a ETag is returned in the response on a single file request. In the next request for this file a 304 is returned, if the file has not been modified. [Default="false"]
expires // Adds an Expires header to the response, if the value is not 0 (seconds). Example: useExpires="3600" (adds 1 hour to the Expires header) [Default="0"]
location // Adds a Cache-Control header to the response (Please refer to the System.Web.HttpCacheability enumeration for more info) [Default="ServerAndPrivate"]
mustRevalidate // Sets "must-revalidate" within the Cache-Control header. Caches (e.g. Browser, Proxy) are forced to validate if the request has changed [Default="true"].
<cacheManager lastModified="false" etag="false" expires="0" location="ServerAndPrivate" mustRevalidate="true" />
<!--
contentTypes: Enables or disables the extensibility feature globally. If you do not need it, leave it false, because the extensibility framework must not be loaded. Extensions are disabled by default (enabled="false")
enabled: // Enables/disables extensions [Default="false"].
incomingRequest: // If the extensibility feature is enabled (enabled="true") this attribute enables/disables IIncomingRequest extensions [Default="true"].
authorizeRequest: // If the extensibility feature is enabled (enabled="true") this attribute enables/disables IAuthorizeRequest extensions [Default="true"].
getFilesRequest: // If the extensibility feature is enabled (enabled="true") this attribute enables/disables core IGetFilesRequest extensions [Default="true"].
storeFileRequest: // If the extensibility feature is enabled (enabled="true") this attribute enables/disables core IStoreFileRequest extensions [Default="true"].
deleteFilesRequest: // If the extensibility feature is enabled (enabled="true") this attribute enables/disables core IDeleteFilesRequest extensions [Default="true"].
outgoingResponse: // If the extensibility feature is enabled (enabled="true") this attribute enables/disables IOutgoingResponse extensions [Default="true"].
pipelineException: // If the extensibility feature is enabled (enabled="true") this attribute enables/disables IProcessPipelineException extensions [Default="true"].
-->
contentTypes: // Adds a new content type definition to the configuration.
thumbnailPath // Path to the content type thumbnails. [Default: "~/Backload/ContentTypes"]
thumbnailSize // Content type thumbnail size [Default: "64"]
useThumbnailCanvas // Places the thumbnail on a canvas, so it has the same size than image thumbnails [Default: "true"]
contentType: // Defines a new content type or overrides an existing type
// New contentType entry (MS Office, OpenOffice, PDF, Textfile are included by default. No need to inlude these anymore):
// Use <clear /> to clear all preexisting entries, use <remove name="[entrynmae]" /> to remove a specific entry (Example: <remove name="_AdobePDFFile" /> to remove the predefined PDF type).
// Predifined type names: _AdobePDFFile, _MSExcel2003, _MSExcel2012, _MSPowerpoint2003, _MSPowerpoint2012, _MSWord2003, _MSWord2012, _OpenOfficeWriter, _TextFile.
// Remarks: _MSxxxx2012 includes all file types from 2007 to 2012 office versions. _MSxxxx2003 includes all file types up to the 2003 office version.
name // A unique name of the entry
extFragment // Complete or fragment of the file extension as RegEx string (e.g. .mp finds .mp3, .mp4, .mpeg, etc). Leave it blank, to skip this test.
typeFragment // Complete or fragment of the content-type as RegEx string (e.g. "mpeg" audio/mpeg, video/mpeg, etc). Leave it blank, to skip this test. Content-types matches are preferred over extension matches.
thumbnail // Name of the thumbnail image within the content-types thumbnail folder. Special handling of images: Leave it blank, to send a preview of the uploaded image back, or set a thumbnail if you do not want to return a preview.
subfolder // Subfolder of the object context folder. Has to be set only if files of this content-type should be stored seperatly from other types (e.g. "movies"). [Default: ""]
<clear /> // Deletes all predefined types -->
<remove name="..."/> // Removes the type handling for a specific content type. Example: <remove name="_AdobePDFFile"/> -->
<contentTypes thumbnailPath="~/Backload/ContentTypes" thumbnailSize="64" useThumbnailCanvas="true">
<!--
New contentType entry (MS Office, OpenOffice, PDF, Textfile are included by default. No need to inlude these anymore):
Use <clear /> to clear all preexisting entries, use <remove name="[entrynmae]" /> to remove a specific entry (Example: <remove name="_AdobePDFFile" /> to remove the predefined PDF type).
Predifined type names: _AdobePDFFile, _MSExcel2003, _MSExcel2012, _MSPowerpoint2003, _MSPowerpoint2012, _MSWord2003, _MSWord2012, _OpenOfficeWriter, _TextFile.
Remarks: _MSxxxx2012 includes all file types from 2007 to 2012 office versions. _MSxxxx2003 includes all file types up to the 2003 office version.
name: // A unique name of the entry
extFragment: // Complete or fragment of the file extension as RegEx string (e.g. .mp finds .mp3, .mp4, .mpeg, etc). Leave it blank, to skip this test.
typeFragment: // Complete or fragment of the content-type as RegEx string (e.g. "mpeg" audio/mpeg, video/mpeg, etc). Leave it blank, to skip this test. Content-types matches are preferred over extension matches.
thumbnail; // Name of the thumbnail image within the content-types thumbnail folder. Special handling of images: Leave it blank, to send a preview of the uploaded image back, or set a thumbnail if you do not want to return a preview.
subfolder; // Subfolder of the object context folder. Has to be set only if files of this content-type should be stored seperatly from other types (e.g. "movies"). [Default: ""]
-->
<!-- <clear /> // Deletes all predefined types -->
<!-- <remove name="..."/> // Removes the type handling for a specific content type. Example: <remove name="_AdobePDFFile"/> -->
<!--
// Example
<remove name="_AdobePDFFile"/> // Remove predefined pdf type handling
<add name="SamplePDFFiles" extFragment=".pdf" typeFragment="application/pdf" thumbnail="PDF.png" subFolder="pdfs" /> // Add special type handling for pdf files. Subfolder will be created, if it doesn't exist
<add name="SampleAllImageFiles" extFragment="" typeFragment="image/" thumbnail="" subFolder="images" /> // Add special content type handling for all image types and store them in a image subfolder. This folder will be automatically created if it doesn't exist. The attribute thumbnail is set to an empty string, so that an image preview will be returned (otherwise a static image)
-->
</contentTypes>
<!--
license: Provided license data for Pro/Enterprise editions only
licensee: // Provided licensee value (usually email adress). Obligatory field in the paid editions.
licenseKey: // Provided license key. Obligatory field in the paid editions.
-->
<license licensee="someone@company.com" licenseKey="{some valid key}" />
</backload>
license: // Provided license data for Pro/Enterprise editions only
licensee: // Provided licensee value (usually email adress). Obligatory field in the paid editions.
licenseKey: // Provided license key. Obligatory field in the paid editions.
<license licensee="someone@company.com" licenseKey="{some valid key}" />
@@ -15,6 +15,7 @@ namespace Backload.Controllers
/// </summary>
public partial class BackloadController : Controller
{
/// <summary>
/// The Backload file handler.
/// To access it in an Javascript ajax request use: <code>var url = "/{Application}/Backload/FileHandler/";</code>.
@@ -24,6 +25,7 @@ namespace Backload.Controllers
{
try
{
// Create and initialize the handler
IFileHandler handler = Backload.FileHandler.Create();
handler.Init(HttpContext.Request);
@@ -35,6 +37,7 @@ namespace Backload.Controllers
// Helper to create an ActionResult object from the IBackloadResult instance
return ResultCreator.Create(result);
}
catch
{
+12 -4
View File
@@ -23,7 +23,7 @@ namespace Backload.Helper
// RequestType.Default: Json output has been requested (default).
// Otherwise a file or a thumbnail (bytes) will be returned.
if (result.RequestType == RequestType.Default)
return Create((IFileStatusResult)result);
return Create((IJsonResult)result);
else if ((result.RequestType == RequestType.File) || (result.RequestType == RequestType.Thumbnail))
return Create((IFileDataResult)result);
}
@@ -39,13 +39,21 @@ namespace Backload.Helper
/// </summary>
/// <param name="result">A IFileStatusResult object with client plugin specfic data.</param>
/// <returns>JsonResult instance or a http HttpStatusCodeResult to send an http status</returns>
public static ActionResult Create(IFileStatusResult result)
public static ActionResult Create(IJsonResult result)
{
object resultObject = null;
// Converts to the correct type and gets the result object. Result is usually in ClientStatus
if (result.ResultType == ResultType.Status)
resultObject = ((IFileStatusResult)result).ClientStatus;
else if (result.ResultType == ResultType.Json)
resultObject = ((ICoreResult)result).ResultObject;
// Create Json result from the returned client plugin specific file metadata.
if ((result.ClientStatus != null) && (result.Exception == null))
if ((resultObject != null) && (result.Exception == null))
return new JsonResult()
{
Data = result.ClientStatus,
Data = resultObject,
ContentType = result.ContentType,
ContentEncoding = System.Text.Encoding.UTF8,
MaxJsonLength = Int32.MaxValue,
+2
View File
@@ -2,6 +2,8 @@ To add backgrounds and watermarks to uploaded images, set the path in the
background/watermark attribute of the image element in Web.Backload.config
Background images are only used in resize modes with canvas (fit, place)
The provided background.png and watermark.png are examples only. You can
create your own images. PNG images can have an opacity value lower than 1.
Note: Background and watermark images are a Pro/Enterprise features,
while background color is a Standard feature
+15 -15
View File
@@ -1,24 +1,24 @@
This release:
What's new in release 2.2.2.0?
- Non image type thumbnail creation improved
- Improved url encoding
Release 2.2:
- Azure Blob Storage support
- Native Database support (incl. EF, FileStream, FileTable, FileSystem storage)
- Support for request based configuration settings
- Supporting files (like previews) can be stored in a seperate path
Bug fixes:
- #69 Memory optimizations when processing very large images
- #68 Set image height programmatically results in unexpected behaviour.
- #57 Thumbnail not generated on server for non-image type file
- Cache could not be disabled
What's new in release 2.1?
Improvements:
- CORS (Cross-Origin Resource Sharing) support for cross domain access (Pro/Enterprise).
- Improved image processing
- new resize method (maxratio)
- Watermark/background image support (experimental)
- Improved chunked file handling
- Reduced memory footprint when saving large files
- GetInclSubfolder setting problem fixed
==========================================================================================================
Important migration notes (from releases < 2.0):
- Event handler: If you attached to events, FileUploadStatus and FileUploadStatusItem have been renamed to:
+1 -1
View File
@@ -1,4 +1,4 @@
using System;
using System.Web.Optimization;using System;
using System.Web.Optimization;
using System.Web.Mvc;
using System.Web.Routing;
+219 -97
View File
@@ -45,6 +45,11 @@
<xs:documentation>Pass NLog internal exceptions to the application. Default value is: false.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="internalLogToTrace" type="xs:boolean">
<xs:annotation>
<xs:documentation>Write internal NLog messages to the the System.Diagnostics.Trace. Default value is: false</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="NLogTargets">
<xs:choice minOccurs="0" maxOccurs="unbounded">
@@ -366,18 +371,20 @@
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="maxMessageSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="newLine" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="onConnectionOverflow" minOccurs="0" maxOccurs="1" type="NLog.Targets.NetworkTargetConnectionsOverflowAction" />
<xs:element name="onOverflow" minOccurs="0" maxOccurs="1" type="NLog.Targets.NetworkTargetOverflowAction" />
<xs:element name="connectionCacheSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="address" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="keepConnection" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="connectionCacheSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="maxConnections" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="address" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="maxQueueSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="includeNLogData" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="includeSourceInfo" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="ndcItemSeparator" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.NLogViewerParameterInfo" />
<xs:element name="includeNdc" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="includeCallSite" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="appInfo" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="includeNdc" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="includeNLogData" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="includeMdc" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
@@ -405,36 +412,41 @@
<xs:documentation>Indicates whether to append newline at the end of log message.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="onConnectionOverflow" type="NLog.Targets.NetworkTargetConnectionsOverflowAction">
<xs:annotation>
<xs:documentation>Action that should be taken if the will be more connections than .</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="onOverflow" type="NLog.Targets.NetworkTargetOverflowAction">
<xs:annotation>
<xs:documentation>Action that should be taken if the message is larger than maxMessageSize.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="connectionCacheSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Size of the connection cache (number of connections which are kept alive).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="address" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Network address.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepConnection" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to keep connection open whenever possible.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="connectionCacheSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Size of the connection cache (number of connections which are kept alive).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxConnections" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum current connections. 0 = no maximum.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="address" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Network address.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxQueueSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum queue size.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="includeNLogData" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to include NLog-specific extensions to log4j schema.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="includeSourceInfo" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to include source info (file name and line number) in the information sent over the network.</xs:documentation>
@@ -445,6 +457,11 @@
<xs:documentation>NDC item separator.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="includeNdc" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to include stack contents.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="includeCallSite" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to include call site (class and method name) in the information sent over the network.</xs:documentation>
@@ -455,9 +472,9 @@
<xs:documentation>AppInfo field. By default it's the friendly name of the current AppDomain.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="includeNdc" type="xs:boolean">
<xs:attribute name="includeNLogData" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to include stack contents.</xs:documentation>
<xs:documentation>Indicates whether to include NLog-specific extensions to log4j schema.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="includeMdc" type="xs:boolean">
@@ -468,6 +485,13 @@
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="NLog.Targets.NetworkTargetConnectionsOverflowAction">
<xs:restriction base="xs:string">
<xs:enumeration value="AllowNewConnnection" />
<xs:enumeration value="DiscardMessage" />
<xs:enumeration value="Block" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NLog.Targets.NetworkTargetOverflowAction">
<xs:restriction base="xs:string">
<xs:enumeration value="Error" />
@@ -592,6 +616,7 @@
<xs:element name="regex" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="text" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="wholeWords" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="compileRegex" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="backgroundColor" minOccurs="0" maxOccurs="1" type="NLog.Targets.ConsoleOutputColor" />
<xs:element name="foregroundColor" minOccurs="0" maxOccurs="1" type="NLog.Targets.ConsoleOutputColor" />
</xs:choice>
@@ -615,6 +640,11 @@
<xs:documentation>Indicates whether to match whole words only.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="compileRegex" type="xs:boolean">
<xs:annotation>
<xs:documentation>Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="backgroundColor" type="NLog.Targets.ConsoleOutputColor">
<xs:annotation>
<xs:documentation>Background color.</xs:documentation>
@@ -683,6 +713,7 @@
<xs:element name="dbProvider" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="dbUserName" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="keepConnection" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="useTransactions" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="installConnectionString" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="install-command" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.DatabaseCommandInfo" />
<xs:element name="uninstall-command" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.DatabaseCommandInfo" />
@@ -735,6 +766,11 @@
<xs:documentation>Indicates whether to keep the database connection open between the log events.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="useTransactions" type="xs:boolean">
<xs:annotation>
<xs:documentation>Obsolete - value will be ignored! The logging code always runs outside of transaction. Gets or sets a value indicating whether to use database transactions. Some data providers require this.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="installConnectionString" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used.</xs:documentation>
@@ -886,7 +922,9 @@
<xs:element name="log" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="machineName" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="source" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="onOverflow" minOccurs="0" maxOccurs="1" type="NLog.Targets.EventLogTargetOverflowAction" />
<xs:element name="entryType" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="maxMessageLength" minOccurs="0" maxOccurs="1" type="xs:integer" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
@@ -923,14 +961,31 @@
<xs:documentation>Value to be used as the event Source.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="onOverflow" type="NLog.Targets.EventLogTargetOverflowAction">
<xs:annotation>
<xs:documentation>Action to take if the message is larger than the option.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="entryType" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Optional entrytype. When not set, or when not convertable to then determined by </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxMessageLength" type="xs:integer">
<xs:annotation>
<xs:documentation>Message length limit to write to the Event Log.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="NLog.Targets.EventLogTargetOverflowAction">
<xs:restriction base="xs:string">
<xs:enumeration value="Truncate" />
<xs:enumeration value="Split" />
<xs:enumeration value="Discard" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="FallbackGroup">
<xs:complexContent>
<xs:extension base="CompoundTargetBase">
@@ -961,31 +1016,32 @@
<xs:element name="footer" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="encoding" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="lineEnding" minOccurs="0" maxOccurs="1" type="LineEndingMode" />
<xs:element name="maxArchiveFiles" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="archiveNumbering" minOccurs="0" maxOccurs="1" type="NLog.Targets.ArchiveNumberingMode" />
<xs:element name="archiveFileName" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="archiveEvery" minOccurs="0" maxOccurs="1" type="NLog.Targets.FileArchivePeriod" />
<xs:element name="archiveAboveSize" minOccurs="0" maxOccurs="1" type="xs:long" />
<xs:element name="maxArchiveFiles" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="enableArchiveFileCompression" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="forceManaged" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="fileAttributes" minOccurs="0" maxOccurs="1" type="NLog.Targets.Win32FileAttributes" />
<xs:element name="replaceFileContentsOnEachWrite" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="cleanupFileName" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="fileName" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="archiveDateFormat" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="archiveOldFileOnStartup" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="createDirs" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="deleteOldFileOnStartup" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="enableFileDelete" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="openFileCacheTimeout" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="networkWrites" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="maxLogFilenames" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="keepFileOpen" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="fileAttributes" minOccurs="0" maxOccurs="1" type="NLog.Targets.Win32FileAttributes" />
<xs:element name="deleteOldFileOnStartup" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="replaceFileContentsOnEachWrite" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="concurrentWrites" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="concurrentWriteAttempts" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="concurrentWriteAttemptDelay" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="autoFlush" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="maxLogFilenames" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="networkWrites" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="openFileCacheSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="openFileCacheTimeout" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="bufferSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="autoFlush" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="concurrentWriteAttempts" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="keepFileOpen" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
@@ -1017,11 +1073,6 @@
<xs:documentation>Line ending mode.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxArchiveFiles" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum number of archive files that should be kept.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="archiveNumbering" type="NLog.Targets.ArchiveNumberingMode">
<xs:annotation>
<xs:documentation>Way file archives are numbered.</xs:documentation>
@@ -1039,7 +1090,12 @@
</xs:attribute>
<xs:attribute name="archiveAboveSize" type="xs:long">
<xs:annotation>
<xs:documentation>Size in bytes above which log files will be automatically archived.</xs:documentation>
<xs:documentation>Size in bytes above which log files will be automatically archived. Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. Choose: </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxArchiveFiles" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum number of archive files that should be kept.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="enableArchiveFileCompression" type="xs:boolean">
@@ -1049,17 +1105,12 @@
</xs:attribute>
<xs:attribute name="forceManaged" type="xs:boolean">
<xs:annotation>
<xs:documentation>Gets ors set a value indicating whether a managed file stream is forced, instead of used the native implementation.</xs:documentation>
<xs:documentation>Gets or set a value indicating whether a managed file stream is forced, instead of used the native implementation.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fileAttributes" type="NLog.Targets.Win32FileAttributes">
<xs:attribute name="cleanupFileName" type="xs:boolean">
<xs:annotation>
<xs:documentation>File attributes (Windows only).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="replaceFileContentsOnEachWrite" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to replace file contents on each write instead of appending log message at the end.</xs:documentation>
<xs:documentation>Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fileName" type="SimpleLayoutAttribute">
@@ -1069,7 +1120,7 @@
</xs:attribute>
<xs:attribute name="archiveDateFormat" type="xs:string">
<xs:annotation>
<xs:documentation>Value specifying the date format to use when archving files.</xs:documentation>
<xs:documentation>Value specifying the date format to use when archiving files.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="archiveOldFileOnStartup" type="xs:boolean">
@@ -1082,34 +1133,24 @@
<xs:documentation>Indicates whether to create directories if they do not exist.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deleteOldFileOnStartup" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to delete old log file on startup.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="enableFileDelete" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to enable log file(s) to be deleted.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="openFileCacheTimeout" type="xs:integer">
<xs:attribute name="fileAttributes" type="NLog.Targets.Win32FileAttributes">
<xs:annotation>
<xs:documentation>Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity.</xs:documentation>
<xs:documentation>File attributes (Windows only).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="networkWrites" type="xs:boolean">
<xs:attribute name="deleteOldFileOnStartup" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether concurrent writes to the log file by multiple processes on different network hosts.</xs:documentation>
<xs:documentation>Indicates whether to delete old log file on startup.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxLogFilenames" type="xs:integer">
<xs:attribute name="replaceFileContentsOnEachWrite" type="xs:boolean">
<xs:annotation>
<xs:documentation>Maximum number of log filenames that should be stored as existing.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepFileOpen" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to keep log file open instead of opening and closing it on each logging event.</xs:documentation>
<xs:documentation>Indicates whether to replace file contents on each write instead of appending log message at the end.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="concurrentWrites" type="xs:boolean">
@@ -1117,19 +1158,19 @@
<xs:documentation>Indicates whether concurrent writes to the log file by multiple processes on the same host.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="concurrentWriteAttempts" type="xs:integer">
<xs:annotation>
<xs:documentation>Number of times the write is appended on the file before NLog discards the log message.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="concurrentWriteAttemptDelay" type="xs:integer">
<xs:annotation>
<xs:documentation>Delay in milliseconds to wait before attempting to write to the file again.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="autoFlush" type="xs:boolean">
<xs:attribute name="maxLogFilenames" type="xs:integer">
<xs:annotation>
<xs:documentation>Indicates whether to automatically flush the file buffers after each log message.</xs:documentation>
<xs:documentation>Maximum number of log filenames that should be stored as existing.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="networkWrites" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether concurrent writes to the log file by multiple processes on different network hosts.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="openFileCacheSize" type="xs:integer">
@@ -1137,11 +1178,31 @@
<xs:documentation>Number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="openFileCacheTimeout" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="bufferSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Log file buffer size in bytes.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="autoFlush" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to automatically flush the file buffers after each log message.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="concurrentWriteAttempts" type="xs:integer">
<xs:annotation>
<xs:documentation>Number of times the write is appended on the file before NLog discards the log message.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepFileOpen" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to keep log file open instead of opening and closing it on each logging event.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
@@ -1366,9 +1427,9 @@
<xs:element name="html" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="encoding" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="addNewLines" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="bcc" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="to" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="cc" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="to" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="bcc" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="body" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="subject" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="from" minOccurs="0" maxOccurs="1" type="Layout" />
@@ -1382,6 +1443,8 @@
<xs:element name="enableSsl" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="smtpPort" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="useSystemNetMailSettings" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="pickupDirectoryLocation" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="deliveryMethod" minOccurs="0" maxOccurs="1" type="System.Net.Mail.SmtpDeliveryMethod" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
@@ -1418,9 +1481,9 @@
<xs:documentation>Indicates whether to add new lines between log entries.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="bcc" type="SimpleLayoutAttribute">
<xs:attribute name="cc" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).</xs:documentation>
<xs:documentation>CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="to" type="SimpleLayoutAttribute">
@@ -1428,9 +1491,9 @@
<xs:documentation>Recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="cc" type="SimpleLayoutAttribute">
<xs:attribute name="bcc" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).</xs:documentation>
<xs:documentation>BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="body" type="SimpleLayoutAttribute">
@@ -1498,6 +1561,16 @@
<xs:documentation>Indicates whether the default Settings from System.Net.MailSettings should be used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="pickupDirectoryLocation" type="xs:string">
<xs:annotation>
<xs:documentation>Folder where applications save mail messages to be processed by the local SMTP server.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deliveryMethod" type="System.Net.Mail.SmtpDeliveryMethod">
<xs:annotation>
<xs:documentation>Specifies how outgoing email messages will be handled.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
@@ -1508,6 +1581,13 @@
<xs:enumeration value="Ntlm" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="System.Net.Mail.SmtpDeliveryMethod">
<xs:restriction base="xs:string">
<xs:enumeration value="Network" />
<xs:enumeration value="SpecifiedPickupDirectory" />
<xs:enumeration value="PickupDirectoryFromIis" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Memory">
<xs:complexContent>
<xs:extension base="Target">
@@ -1611,7 +1691,7 @@
</xs:attribute>
<xs:attribute name="methodName" type="xs:string">
<xs:annotation>
<xs:documentation>Method name. The method must be public and static.</xs:documentation>
<xs:documentation>Method name. The method must be public and static. Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx e.g.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
@@ -1626,10 +1706,12 @@
<xs:element name="encoding" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="maxMessageSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="newLine" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="onConnectionOverflow" minOccurs="0" maxOccurs="1" type="NLog.Targets.NetworkTargetConnectionsOverflowAction" />
<xs:element name="onOverflow" minOccurs="0" maxOccurs="1" type="NLog.Targets.NetworkTargetOverflowAction" />
<xs:element name="address" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="connectionCacheSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="keepConnection" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="maxConnections" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="maxQueueSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
@@ -1657,6 +1739,11 @@
<xs:documentation>Indicates whether to append newline at the end of log message.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="onConnectionOverflow" type="NLog.Targets.NetworkTargetConnectionsOverflowAction">
<xs:annotation>
<xs:documentation>Action that should be taken if the will be more connections than .</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="onOverflow" type="NLog.Targets.NetworkTargetOverflowAction">
<xs:annotation>
<xs:documentation>Action that should be taken if the message is larger than maxMessageSize.</xs:documentation>
@@ -1677,6 +1764,11 @@
<xs:documentation>Indicates whether to keep connection open whenever possible.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxConnections" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum current connections. 0 = no maximum.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxQueueSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum queue size.</xs:documentation>
@@ -1694,18 +1786,20 @@
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="maxMessageSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="newLine" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="onConnectionOverflow" minOccurs="0" maxOccurs="1" type="NLog.Targets.NetworkTargetConnectionsOverflowAction" />
<xs:element name="onOverflow" minOccurs="0" maxOccurs="1" type="NLog.Targets.NetworkTargetOverflowAction" />
<xs:element name="connectionCacheSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="address" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="keepConnection" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="connectionCacheSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="maxConnections" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="address" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="maxQueueSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="includeNLogData" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="includeSourceInfo" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="ndcItemSeparator" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.NLogViewerParameterInfo" />
<xs:element name="includeNdc" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="includeCallSite" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="appInfo" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="includeNdc" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="includeNLogData" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="includeMdc" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
@@ -1733,36 +1827,41 @@
<xs:documentation>Indicates whether to append newline at the end of log message.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="onConnectionOverflow" type="NLog.Targets.NetworkTargetConnectionsOverflowAction">
<xs:annotation>
<xs:documentation>Action that should be taken if the will be more connections than .</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="onOverflow" type="NLog.Targets.NetworkTargetOverflowAction">
<xs:annotation>
<xs:documentation>Action that should be taken if the message is larger than maxMessageSize.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="connectionCacheSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Size of the connection cache (number of connections which are kept alive).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="address" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Network address.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepConnection" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to keep connection open whenever possible.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="connectionCacheSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Size of the connection cache (number of connections which are kept alive).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxConnections" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum current connections. 0 = no maximum.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="address" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Network address.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxQueueSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum queue size.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="includeNLogData" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to include NLog-specific extensions to log4j schema.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="includeSourceInfo" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to include source info (file name and line number) in the information sent over the network.</xs:documentation>
@@ -1773,6 +1872,11 @@
<xs:documentation>NDC item separator.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="includeNdc" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to include stack contents.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="includeCallSite" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to include call site (class and method name) in the information sent over the network.</xs:documentation>
@@ -1783,9 +1887,9 @@
<xs:documentation>AppInfo field. By default it's the friendly name of the current AppDomain.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="includeNdc" type="xs:boolean">
<xs:attribute name="includeNLogData" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to include stack contents.</xs:documentation>
<xs:documentation>Indicates whether to include NLog-specific extensions to log4j schema.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="includeMdc" type="xs:boolean">
@@ -1852,6 +1956,7 @@
<xs:element name="counterHelp" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="counterName" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="counterType" minOccurs="0" maxOccurs="1" type="System.Diagnostics.PerformanceCounterType" />
<xs:element name="incrementValue" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="instanceName" minOccurs="0" maxOccurs="1" type="xs:string" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
@@ -1884,6 +1989,11 @@
<xs:documentation>Performance counter type.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="incrementValue" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>The value by which to increment the counter.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="instanceName" type="xs:string">
<xs:annotation>
<xs:documentation>Performance counter instance name.</xs:documentation>
@@ -2224,15 +2334,27 @@
<xs:extension base="Layout">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="attribute" minOccurs="0" maxOccurs="unbounded" type="NLog.Layouts.JsonAttribute" />
<xs:element name="suppressSpaces" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
<xs:attribute name="suppressSpaces" type="xs:boolean">
<xs:annotation>
<xs:documentation>Option to suppress the extra spaces in the output json</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NLog.Layouts.JsonAttribute">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="encode" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
</xs:choice>
<xs:attribute name="encode" type="xs:boolean">
<xs:annotation>
<xs:documentation>Determines wether or not this attribute will be Json encoded.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="layout" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Layout that will be rendered as the attribute's value.</xs:documentation>
+654 -118
View File
File diff suppressed because it is too large Load Diff
+3444 -1480
View File
File diff suppressed because it is too large Load Diff
+310 -290
View File
@@ -1,294 +1,314 @@
/*
AngularJS v1.4.7
(c) 2010-2015 Google, Inc. http://angularjs.org
AngularJS v1.5.5
(c) 2010-2016 Google, Inc. http://angularjs.org
License: MIT
*/
(function(Q,X,w){'use strict';function I(b){return function(){var a=arguments[0],c;c="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.4.7/"+(b?b+"/":"")+a;for(a=1;a<arguments.length;a++){c=c+(1==a?"?":"&")+"p"+(a-1)+"=";var d=encodeURIComponent,e;e=arguments[a];e="function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof e?"undefined":"string"!=typeof e?JSON.stringify(e):e;c+=d(e)}return Error(c)}}function Da(b){if(null==b||Za(b))return!1;var a="length"in Object(b)&&b.length;
return b.nodeType===pa&&a?!0:G(b)||J(b)||0===a||"number"===typeof a&&0<a&&a-1 in b}function m(b,a,c){var d,e;if(b)if(x(b))for(d in b)"prototype"==d||"length"==d||"name"==d||b.hasOwnProperty&&!b.hasOwnProperty(d)||a.call(c,b[d],d,b);else if(J(b)||Da(b)){var f="object"!==typeof b;d=0;for(e=b.length;d<e;d++)(f||d in b)&&a.call(c,b[d],d,b)}else if(b.forEach&&b.forEach!==m)b.forEach(a,c,b);else if(mc(b))for(d in b)a.call(c,b[d],d,b);else if("function"===typeof b.hasOwnProperty)for(d in b)b.hasOwnProperty(d)&&
a.call(c,b[d],d,b);else for(d in b)ta.call(b,d)&&a.call(c,b[d],d,b);return b}function nc(b,a,c){for(var d=Object.keys(b).sort(),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}function oc(b){return function(a,c){b(c,a)}}function Ud(){return++nb}function pc(b,a){a?b.$$hashKey=a:delete b.$$hashKey}function Mb(b,a,c){for(var d=b.$$hashKey,e=0,f=a.length;e<f;++e){var h=a[e];if(C(h)||x(h))for(var g=Object.keys(h),l=0,k=g.length;l<k;l++){var n=g[l],p=h[n];c&&C(p)?ea(p)?b[n]=new Date(p.valueOf()):Oa(p)?
b[n]=new RegExp(p):(C(b[n])||(b[n]=J(p)?[]:{}),Mb(b[n],[p],!0)):b[n]=p}}pc(b,d);return b}function P(b){return Mb(b,ua.call(arguments,1),!1)}function Vd(b){return Mb(b,ua.call(arguments,1),!0)}function Y(b){return parseInt(b,10)}function Nb(b,a){return P(Object.create(b),a)}function y(){}function $a(b){return b}function qa(b){return function(){return b}}function qc(b){return x(b.toString)&&b.toString!==Object.prototype.toString}function v(b){return"undefined"===typeof b}function A(b){return"undefined"!==
typeof b}function C(b){return null!==b&&"object"===typeof b}function mc(b){return null!==b&&"object"===typeof b&&!rc(b)}function G(b){return"string"===typeof b}function V(b){return"number"===typeof b}function ea(b){return"[object Date]"===va.call(b)}function x(b){return"function"===typeof b}function Oa(b){return"[object RegExp]"===va.call(b)}function Za(b){return b&&b.window===b}function ab(b){return b&&b.$evalAsync&&b.$watch}function bb(b){return"boolean"===typeof b}function sc(b){return!(!b||!(b.nodeName||
b.prop&&b.attr&&b.find))}function Wd(b){var a={};b=b.split(",");var c;for(c=0;c<b.length;c++)a[b[c]]=!0;return a}function wa(b){return F(b.nodeName||b[0]&&b[0].nodeName)}function cb(b,a){var c=b.indexOf(a);0<=c&&b.splice(c,1);return c}function ha(b,a,c,d){if(Za(b)||ab(b))throw Ea("cpws");if(tc.test(va.call(a)))throw Ea("cpta");if(a){if(b===a)throw Ea("cpi");c=c||[];d=d||[];C(b)&&(c.push(b),d.push(a));var e;if(J(b))for(e=a.length=0;e<b.length;e++)a.push(ha(b[e],null,c,d));else{var f=a.$$hashKey;J(a)?
a.length=0:m(a,function(b,c){delete a[c]});if(mc(b))for(e in b)a[e]=ha(b[e],null,c,d);else if(b&&"function"===typeof b.hasOwnProperty)for(e in b)b.hasOwnProperty(e)&&(a[e]=ha(b[e],null,c,d));else for(e in b)ta.call(b,e)&&(a[e]=ha(b[e],null,c,d));pc(a,f)}}else if(a=b,C(b)){if(c&&-1!==(f=c.indexOf(b)))return d[f];if(J(b))return ha(b,[],c,d);if(tc.test(va.call(b)))a=new b.constructor(b);else if(ea(b))a=new Date(b.getTime());else if(Oa(b))a=new RegExp(b.source,b.toString().match(/[^\/]*$/)[0]),a.lastIndex=
b.lastIndex;else if(x(b.cloneNode))a=b.cloneNode(!0);else return e=Object.create(rc(b)),ha(b,e,c,d);d&&(c.push(b),d.push(a))}return a}function ja(b,a){if(J(b)){a=a||[];for(var c=0,d=b.length;c<d;c++)a[c]=b[c]}else if(C(b))for(c in a=a||{},b)if("$"!==c.charAt(0)||"$"!==c.charAt(1))a[c]=b[c];return a||b}function ka(b,a){if(b===a)return!0;if(null===b||null===a)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&"object"==c)if(J(b)){if(!J(a))return!1;if((c=b.length)==a.length){for(d=0;d<
c;d++)if(!ka(b[d],a[d]))return!1;return!0}}else{if(ea(b))return ea(a)?ka(b.getTime(),a.getTime()):!1;if(Oa(b))return Oa(a)?b.toString()==a.toString():!1;if(ab(b)||ab(a)||Za(b)||Za(a)||J(a)||ea(a)||Oa(a))return!1;c=fa();for(d in b)if("$"!==d.charAt(0)&&!x(b[d])){if(!ka(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!(d in c)&&"$"!==d.charAt(0)&&A(a[d])&&!x(a[d]))return!1;return!0}return!1}function db(b,a,c){return b.concat(ua.call(a,c))}function uc(b,a){var c=2<arguments.length?ua.call(arguments,2):[];
return!x(a)||a instanceof RegExp?a:c.length?function(){return arguments.length?a.apply(b,db(c,arguments,0)):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}}function Xd(b,a){var c=a;"string"===typeof b&&"$"===b.charAt(0)&&"$"===b.charAt(1)?c=w:Za(a)?c="$WINDOW":a&&X===a?c="$DOCUMENT":ab(a)&&(c="$SCOPE");return c}function eb(b,a){if("undefined"===typeof b)return w;V(a)||(a=a?2:null);return JSON.stringify(b,Xd,a)}function vc(b){return G(b)?JSON.parse(b):b}function wc(b,
a){var c=Date.parse("Jan 01, 1970 00:00:00 "+b)/6E4;return isNaN(c)?a:c}function Ob(b,a,c){c=c?-1:1;var d=wc(a,b.getTimezoneOffset());a=b;b=c*(d-b.getTimezoneOffset());a=new Date(a.getTime());a.setMinutes(a.getMinutes()+b);return a}function xa(b){b=B(b).clone();try{b.empty()}catch(a){}var c=B("<div>").append(b).html();try{return b[0].nodeType===Pa?F(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+F(b)})}catch(d){return F(c)}}function xc(b){try{return decodeURIComponent(b)}catch(a){}}
function yc(b){var a={};m((b||"").split("&"),function(b){var d,e,f;b&&(e=b=b.replace(/\+/g,"%20"),d=b.indexOf("="),-1!==d&&(e=b.substring(0,d),f=b.substring(d+1)),e=xc(e),A(e)&&(f=A(f)?xc(f):!0,ta.call(a,e)?J(a[e])?a[e].push(f):a[e]=[a[e],f]:a[e]=f))});return a}function Pb(b){var a=[];m(b,function(b,d){J(b)?m(b,function(b){a.push(la(d,!0)+(!0===b?"":"="+la(b,!0)))}):a.push(la(d,!0)+(!0===b?"":"="+la(b,!0)))});return a.length?a.join("&"):""}function ob(b){return la(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,
"=").replace(/%2B/gi,"+")}function la(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,a?"%20":"+")}function Yd(b,a){var c,d,e=Qa.length;for(d=0;d<e;++d)if(c=Qa[d]+a,G(c=b.getAttribute(c)))return c;return null}function Zd(b,a){var c,d,e={};m(Qa,function(a){a+="app";!c&&b.hasAttribute&&b.hasAttribute(a)&&(c=b,d=b.getAttribute(a))});m(Qa,function(a){a+="app";var e;!c&&(e=b.querySelector("["+a.replace(":",
"\\:")+"]"))&&(c=e,d=e.getAttribute(a))});c&&(e.strictDi=null!==Yd(c,"strict-di"),a(c,d?[d]:[],e))}function zc(b,a,c){C(c)||(c={});c=P({strictDi:!1},c);var d=function(){b=B(b);if(b.injector()){var d=b[0]===X?"document":xa(b);throw Ea("btstrpd",d.replace(/</,"&lt;").replace(/>/,"&gt;"));}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);c.debugInfoEnabled&&a.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]);a.unshift("ng");d=fb(a,c.strictDi);d.invoke(["$rootScope",
"$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return d},e=/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;Q&&e.test(Q.name)&&(c.debugInfoEnabled=!0,Q.name=Q.name.replace(e,""));if(Q&&!f.test(Q.name))return d();Q.name=Q.name.replace(f,"");da.resumeBootstrap=function(b){m(b,function(b){a.push(b)});return d()};x(da.resumeDeferredBootstrap)&&da.resumeDeferredBootstrap()}function $d(){Q.name="NG_ENABLE_DEBUG_INFO!"+Q.name;Q.location.reload()}
function ae(b){b=da.element(b).injector();if(!b)throw Ea("test");return b.get("$$testability")}function Ac(b,a){a=a||"_";return b.replace(be,function(b,d){return(d?a:"")+b.toLowerCase()})}function ce(){var b;if(!Bc){var a=pb();(ra=v(a)?Q.jQuery:a?Q[a]:w)&&ra.fn.on?(B=ra,P(ra.fn,{scope:Ra.scope,isolateScope:Ra.isolateScope,controller:Ra.controller,injector:Ra.injector,inheritedData:Ra.inheritedData}),b=ra.cleanData,ra.cleanData=function(a){var d;if(Qb)Qb=!1;else for(var e=0,f;null!=(f=a[e]);e++)(d=
ra._data(f,"events"))&&d.$destroy&&ra(f).triggerHandler("$destroy");b(a)}):B=R;da.element=B;Bc=!0}}function qb(b,a,c){if(!b)throw Ea("areq",a||"?",c||"required");return b}function Sa(b,a,c){c&&J(b)&&(b=b[b.length-1]);qb(x(b),a,"not a function, got "+(b&&"object"===typeof b?b.constructor.name||"Object":typeof b));return b}function Ta(b,a){if("hasOwnProperty"===b)throw Ea("badname",a);}function Cc(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,h=0;h<f;h++)d=a[h],b&&(b=(e=b)[d]);return!c&&
x(b)?uc(e,b):b}function rb(b){for(var a=b[0],c=b[b.length-1],d,e=1;a!==c&&(a=a.nextSibling);e++)if(d||b[e]!==a)d||(d=B(ua.call(b,0,e))),d.push(a);return d||b}function fa(){return Object.create(null)}function de(b){function a(a,b,c){return a[b]||(a[b]=c())}var c=I("$injector"),d=I("ng");b=a(b,"angular",Object);b.$$minErr=b.$$minErr||I;return a(b,"module",function(){var b={};return function(f,h,g){if("hasOwnProperty"===f)throw d("badname","module");h&&b.hasOwnProperty(f)&&(b[f]=null);return a(b,f,function(){function a(b,
c,e,f){f||(f=d);return function(){f[e||"push"]([b,c,arguments]);return E}}function b(a,c){return function(b,e){e&&x(e)&&(e.$$moduleName=f);d.push([a,c,arguments]);return E}}if(!h)throw c("nomod",f);var d=[],e=[],r=[],t=a("$injector","invoke","push",e),E={_invokeQueue:d,_configBlocks:e,_runBlocks:r,requires:h,name:f,provider:b("$provide","provider"),factory:b("$provide","factory"),service:b("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),decorator:b("$provide",
"decorator"),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider","register"),directive:b("$compileProvider","directive"),config:t,run:function(a){r.push(a);return this}};g&&t(g);return E})}})}function ee(b){P(b,{bootstrap:zc,copy:ha,extend:P,merge:Vd,equals:ka,element:B,forEach:m,injector:fb,noop:y,bind:uc,toJson:eb,fromJson:vc,identity:$a,isUndefined:v,isDefined:A,isString:G,isFunction:x,isObject:C,isNumber:V,isElement:sc,isArray:J,
version:fe,isDate:ea,lowercase:F,uppercase:sb,callbacks:{counter:0},getTestability:ae,$$minErr:I,$$csp:Fa,reloadWithDebugInfo:$d});Rb=de(Q);Rb("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:ge});a.provider("$compile",Dc).directive({a:he,input:Ec,textarea:Ec,form:ie,script:je,select:ke,style:le,option:me,ngBind:ne,ngBindHtml:oe,ngBindTemplate:pe,ngClass:qe,ngClassEven:re,ngClassOdd:se,ngCloak:te,ngController:ue,ngForm:ve,ngHide:we,ngIf:xe,ngInclude:ye,ngInit:ze,ngNonBindable:Ae,
ngPluralize:Be,ngRepeat:Ce,ngShow:De,ngStyle:Ee,ngSwitch:Fe,ngSwitchWhen:Ge,ngSwitchDefault:He,ngOptions:Ie,ngTransclude:Je,ngModel:Ke,ngList:Le,ngChange:Me,pattern:Fc,ngPattern:Fc,required:Gc,ngRequired:Gc,minlength:Hc,ngMinlength:Hc,maxlength:Ic,ngMaxlength:Ic,ngValue:Ne,ngModelOptions:Oe}).directive({ngInclude:Pe}).directive(tb).directive(Jc);a.provider({$anchorScroll:Qe,$animate:Re,$animateCss:Se,$$animateQueue:Te,$$AnimateRunner:Ue,$browser:Ve,$cacheFactory:We,$controller:Xe,$document:Ye,$exceptionHandler:Ze,
$filter:Kc,$$forceReflow:$e,$interpolate:af,$interval:bf,$http:cf,$httpParamSerializer:df,$httpParamSerializerJQLike:ef,$httpBackend:ff,$xhrFactory:gf,$location:hf,$log:jf,$parse:kf,$rootScope:lf,$q:mf,$$q:nf,$sce:of,$sceDelegate:pf,$sniffer:qf,$templateCache:rf,$templateRequest:sf,$$testability:tf,$timeout:uf,$window:vf,$$rAF:wf,$$jqLite:xf,$$HashMap:yf,$$cookieReader:zf})}])}function gb(b){return b.replace(Af,function(a,b,d,e){return e?d.toUpperCase():d}).replace(Bf,"Moz$1")}function Lc(b){b=b.nodeType;
return b===pa||!b||9===b}function Mc(b,a){var c,d,e=a.createDocumentFragment(),f=[];if(Sb.test(b)){c=c||e.appendChild(a.createElement("div"));d=(Cf.exec(b)||["",""])[1].toLowerCase();d=ma[d]||ma._default;c.innerHTML=d[1]+b.replace(Df,"<$1></$2>")+d[2];for(d=d[0];d--;)c=c.lastChild;f=db(f,c.childNodes);c=e.firstChild;c.textContent=""}else f.push(a.createTextNode(b));e.textContent="";e.innerHTML="";m(f,function(a){e.appendChild(a)});return e}function R(b){if(b instanceof R)return b;var a;G(b)&&(b=T(b),
a=!0);if(!(this instanceof R)){if(a&&"<"!=b.charAt(0))throw Tb("nosel");return new R(b)}if(a){a=X;var c;b=(c=Ef.exec(b))?[a.createElement(c[1])]:(c=Mc(b,a))?c.childNodes:[]}Nc(this,b)}function Ub(b){return b.cloneNode(!0)}function ub(b,a){a||vb(b);if(b.querySelectorAll)for(var c=b.querySelectorAll("*"),d=0,e=c.length;d<e;d++)vb(c[d])}function Oc(b,a,c,d){if(A(d))throw Tb("offargs");var e=(d=wb(b))&&d.events,f=d&&d.handle;if(f)if(a)m(a.split(" "),function(a){if(A(c)){var d=e[a];cb(d||[],c);if(d&&0<
d.length)return}b.removeEventListener(a,f,!1);delete e[a]});else for(a in e)"$destroy"!==a&&b.removeEventListener(a,f,!1),delete e[a]}function vb(b,a){var c=b.ng339,d=c&&hb[c];d&&(a?delete d.data[a]:(d.handle&&(d.events.$destroy&&d.handle({},"$destroy"),Oc(b)),delete hb[c],b.ng339=w))}function wb(b,a){var c=b.ng339,c=c&&hb[c];a&&!c&&(b.ng339=c=++Ff,c=hb[c]={events:{},data:{},handle:w});return c}function Vb(b,a,c){if(Lc(b)){var d=A(c),e=!d&&a&&!C(a),f=!a;b=(b=wb(b,!e))&&b.data;if(d)b[a]=c;else{if(f)return b;
if(e)return b&&b[a];P(b,a)}}}function xb(b,a){return b.getAttribute?-1<(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" "):!1}function yb(b,a){a&&b.setAttribute&&m(a.split(" "),function(a){b.setAttribute("class",T((" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+T(a)+" "," ")))})}function zb(b,a){if(a&&b.setAttribute){var c=(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");m(a.split(" "),function(a){a=T(a);-1===c.indexOf(" "+a+" ")&&
(c+=a+" ")});b.setAttribute("class",T(c))}}function Nc(b,a){if(a)if(a.nodeType)b[b.length++]=a;else{var c=a.length;if("number"===typeof c&&a.window!==a){if(c)for(var d=0;d<c;d++)b[b.length++]=a[d]}else b[b.length++]=a}}function Pc(b,a){return Ab(b,"$"+(a||"ngController")+"Controller")}function Ab(b,a,c){9==b.nodeType&&(b=b.documentElement);for(a=J(a)?a:[a];b;){for(var d=0,e=a.length;d<e;d++)if(A(c=B.data(b,a[d])))return c;b=b.parentNode||11===b.nodeType&&b.host}}function Qc(b){for(ub(b,!0);b.firstChild;)b.removeChild(b.firstChild)}
function Wb(b,a){a||ub(b);var c=b.parentNode;c&&c.removeChild(b)}function Gf(b,a){a=a||Q;if("complete"===a.document.readyState)a.setTimeout(b);else B(a).on("load",b)}function Rc(b,a){var c=Bb[a.toLowerCase()];return c&&Sc[wa(b)]&&c}function Hf(b,a){var c=function(c,e){c.isDefaultPrevented=function(){return c.defaultPrevented};var f=a[e||c.type],h=f?f.length:0;if(h){if(v(c.immediatePropagationStopped)){var g=c.stopImmediatePropagation;c.stopImmediatePropagation=function(){c.immediatePropagationStopped=
!0;c.stopPropagation&&c.stopPropagation();g&&g.call(c)}}c.isImmediatePropagationStopped=function(){return!0===c.immediatePropagationStopped};1<h&&(f=ja(f));for(var l=0;l<h;l++)c.isImmediatePropagationStopped()||f[l].call(b,c)}};c.elem=b;return c}function xf(){this.$get=function(){return P(R,{hasClass:function(b,a){b.attr&&(b=b[0]);return xb(b,a)},addClass:function(b,a){b.attr&&(b=b[0]);return zb(b,a)},removeClass:function(b,a){b.attr&&(b=b[0]);return yb(b,a)}})}}function Ga(b,a){var c=b&&b.$$hashKey;
if(c)return"function"===typeof c&&(c=b.$$hashKey()),c;c=typeof b;return c="function"==c||"object"==c&&null!==b?b.$$hashKey=c+":"+(a||Ud)():c+":"+b}function Ua(b,a){if(a){var c=0;this.nextUid=function(){return++c}}m(b,this.put,this)}function If(b){return(b=b.toString().replace(Tc,"").match(Uc))?"function("+(b[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function fb(b,a){function c(a){return function(b,c){if(C(b))m(b,oc(a));else return a(b,c)}}function d(a,b){Ta(a,"service");if(x(b)||J(b))b=r.instantiate(b);
if(!b.$get)throw Ha("pget",a);return p[a+"Provider"]=b}function e(a,b){return function(){var c=E.invoke(b,this);if(v(c))throw Ha("undef",a);return c}}function f(a,b,c){return d(a,{$get:!1!==c?e(a,b):b})}function h(a){qb(v(a)||J(a),"modulesToLoad","not an array");var b=[],c;m(a,function(a){function d(a){var b,c;b=0;for(c=a.length;b<c;b++){var e=a[b],f=r.get(e[0]);f[e[1]].apply(f,e[2])}}if(!n.get(a)){n.put(a,!0);try{G(a)?(c=Rb(a),b=b.concat(h(c.requires)).concat(c._runBlocks),d(c._invokeQueue),d(c._configBlocks)):
x(a)?b.push(r.invoke(a)):J(a)?b.push(r.invoke(a)):Sa(a,"module")}catch(e){throw J(a)&&(a=a[a.length-1]),e.message&&e.stack&&-1==e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),Ha("modulerr",a,e.stack||e.message||e);}}});return b}function g(b,c){function d(a,e){if(b.hasOwnProperty(a)){if(b[a]===l)throw Ha("cdep",a+" <- "+k.join(" <- "));return b[a]}try{return k.unshift(a),b[a]=l,b[a]=c(a,e)}catch(f){throw b[a]===l&&delete b[a],f;}finally{k.shift()}}function e(b,c,f,g){"string"===typeof f&&(g=
f,f=null);var h=[],k=fb.$$annotate(b,a,g),l,r,p;r=0;for(l=k.length;r<l;r++){p=k[r];if("string"!==typeof p)throw Ha("itkn",p);h.push(f&&f.hasOwnProperty(p)?f[p]:d(p,g))}J(b)&&(b=b[l]);return b.apply(c,h)}return{invoke:e,instantiate:function(a,b,c){var d=Object.create((J(a)?a[a.length-1]:a).prototype||null);a=e(a,d,b,c);return C(a)||x(a)?a:d},get:d,annotate:fb.$$annotate,has:function(a){return p.hasOwnProperty(a+"Provider")||b.hasOwnProperty(a)}}}a=!0===a;var l={},k=[],n=new Ua([],!0),p={$provide:{provider:c(d),
factory:c(f),service:c(function(a,b){return f(a,["$injector",function(a){return a.instantiate(b)}])}),value:c(function(a,b){return f(a,qa(b),!1)}),constant:c(function(a,b){Ta(a,"constant");p[a]=b;t[a]=b}),decorator:function(a,b){var c=r.get(a+"Provider"),d=c.$get;c.$get=function(){var a=E.invoke(d,c);return E.invoke(b,null,{$delegate:a})}}}},r=p.$injector=g(p,function(a,b){da.isString(b)&&k.push(b);throw Ha("unpr",k.join(" <- "));}),t={},E=t.$injector=g(t,function(a,b){var c=r.get(a+"Provider",b);
return E.invoke(c.$get,c,w,a)});m(h(b),function(a){a&&E.invoke(a)});return E}function Qe(){var b=!0;this.disableAutoScrolling=function(){b=!1};this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;Array.prototype.some.call(a,function(a){if("a"===wa(a))return b=a,!0});return b}function f(b){if(b){b.scrollIntoView();var c;c=h.yOffset;x(c)?c=c():sc(c)?(c=c[0],c="fixed"!==a.getComputedStyle(c).position?0:c.getBoundingClientRect().bottom):V(c)||(c=0);c&&(b=b.getBoundingClientRect().top,
a.scrollBy(0,b-c))}else a.scrollTo(0,0)}function h(a){a=G(a)?a:c.hash();var b;a?(b=g.getElementById(a))?f(b):(b=e(g.getElementsByName(a)))?f(b):"top"===a&&f(null):f(null)}var g=a.document;b&&d.$watch(function(){return c.hash()},function(a,b){a===b&&""===a||Gf(function(){d.$evalAsync(h)})});return h}]}function ib(b,a){if(!b&&!a)return"";if(!b)return a;if(!a)return b;J(b)&&(b=b.join(" "));J(a)&&(a=a.join(" "));return b+" "+a}function Jf(b){G(b)&&(b=b.split(" "));var a=fa();m(b,function(b){b.length&&
(a[b]=!0)});return a}function Ia(b){return C(b)?b:{}}function Kf(b,a,c,d){function e(a){try{a.apply(null,ua.call(arguments,1))}finally{if(E--,0===E)for(;K.length;)try{K.pop()()}catch(b){c.error(b)}}}function f(){ia=null;h();g()}function h(){a:{try{u=n.state;break a}catch(a){}u=void 0}u=v(u)?null:u;ka(u,L)&&(u=L);L=u}function g(){if(z!==l.url()||q!==u)z=l.url(),q=u,m(O,function(a){a(l.url(),u)})}var l=this,k=b.location,n=b.history,p=b.setTimeout,r=b.clearTimeout,t={};l.isMock=!1;var E=0,K=[];l.$$completeOutstandingRequest=
e;l.$$incOutstandingRequestCount=function(){E++};l.notifyWhenNoOutstandingRequests=function(a){0===E?a():K.push(a)};var u,q,z=k.href,N=a.find("base"),ia=null;h();q=u;l.url=function(a,c,e){v(e)&&(e=null);k!==b.location&&(k=b.location);n!==b.history&&(n=b.history);if(a){var f=q===e;if(z===a&&(!d.history||f))return l;var g=z&&Ja(z)===Ja(a);z=a;q=e;if(!d.history||g&&f){if(!g||ia)ia=a;c?k.replace(a):g?(c=k,e=a.indexOf("#"),e=-1===e?"":a.substr(e),c.hash=e):k.href=a;k.href!==a&&(ia=a)}else n[c?"replaceState":
"pushState"](e,"",a),h(),q=u;return l}return ia||k.href.replace(/%27/g,"'")};l.state=function(){return u};var O=[],H=!1,L=null;l.onUrlChange=function(a){if(!H){if(d.history)B(b).on("popstate",f);B(b).on("hashchange",f);H=!0}O.push(a);return a};l.$$applicationDestroyed=function(){B(b).off("hashchange popstate",f)};l.$$checkUrlChange=g;l.baseHref=function(){var a=N.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""};l.defer=function(a,b){var c;E++;c=p(function(){delete t[c];e(a)},b||0);
t[c]=!0;return c};l.defer.cancel=function(a){return t[a]?(delete t[a],r(a),e(y),!0):!1}}function Ve(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new Kf(b,d,a,c)}]}function We(){this.$get=function(){function b(b,d){function e(a){a!=p&&(r?r==a&&(r=a.n):r=a,f(a.n,a.p),f(a,p),p=a,p.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(b in a)throw I("$cacheFactory")("iid",b);var h=0,g=P({},d,{id:b}),l={},k=d&&d.capacity||Number.MAX_VALUE,n={},p=null,r=null;return a[b]=
{put:function(a,b){if(!v(b)){if(k<Number.MAX_VALUE){var c=n[a]||(n[a]={key:a});e(c)}a in l||h++;l[a]=b;h>k&&this.remove(r.key);return b}},get:function(a){if(k<Number.MAX_VALUE){var b=n[a];if(!b)return;e(b)}return l[a]},remove:function(a){if(k<Number.MAX_VALUE){var b=n[a];if(!b)return;b==p&&(p=b.p);b==r&&(r=b.n);f(b.n,b.p);delete n[a]}delete l[a];h--},removeAll:function(){l={};h=0;n={};p=r=null},destroy:function(){n=g=l=null;delete a[b]},info:function(){return P({},g,{size:h})}}}var a={};b.info=function(){var b=
{};m(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function rf(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function Dc(b,a){function c(a,b,c){var d=/^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/,e={};m(a,function(a,f){var g=a.match(d);if(!g)throw ga("iscp",b,f,a,c?"controller bindings definition":"isolate scope definition");e[f]={mode:g[1][0],collection:"*"===g[2],optional:"?"===g[3],attrName:g[4]||f}});return e}function d(a){var b=a.charAt(0);if(!b||
b!==F(b))throw ga("baddir",a);if(a!==a.trim())throw ga("baddir",a);}var e={},f=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,h=/(([\w\-]+)(?:\:([^;]+))?;?)/,g=Wd("ngSrc,ngSrcset,src,srcset"),l=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,k=/^(on[a-z]+|formaction)$/;this.directive=function r(a,f){Ta(a,"directive");G(a)?(d(a),qb(f,"directiveFactory"),e.hasOwnProperty(a)||(e[a]=[],b.factory(a+"Directive",["$injector","$exceptionHandler",function(b,d){var f=[];m(e[a],function(e,g){try{var h=b.invoke(e);x(h)?h={compile:qa(h)}:
!h.compile&&h.link&&(h.compile=qa(h.link));h.priority=h.priority||0;h.index=g;h.name=h.name||a;h.require=h.require||h.controller&&h.name;h.restrict=h.restrict||"EA";var k=h,l=h,r=h.name,n={isolateScope:null,bindToController:null};C(l.scope)&&(!0===l.bindToController?(n.bindToController=c(l.scope,r,!0),n.isolateScope={}):n.isolateScope=c(l.scope,r,!1));C(l.bindToController)&&(n.bindToController=c(l.bindToController,r,!0));if(C(n.bindToController)){var S=l.controller,E=l.controllerAs;if(!S)throw ga("noctrl",
r);var ca;a:if(E&&G(E))ca=E;else{if(G(S)){var m=Vc.exec(S);if(m){ca=m[3];break a}}ca=void 0}if(!ca)throw ga("noident",r);}var s=k.$$bindings=n;C(s.isolateScope)&&(h.$$isolateBindings=s.isolateScope);h.$$moduleName=e.$$moduleName;f.push(h)}catch(w){d(w)}});return f}])),e[a].push(f)):m(a,oc(r));return this};this.aHrefSanitizationWhitelist=function(b){return A(b)?(a.aHrefSanitizationWhitelist(b),this):a.aHrefSanitizationWhitelist()};this.imgSrcSanitizationWhitelist=function(b){return A(b)?(a.imgSrcSanitizationWhitelist(b),
this):a.imgSrcSanitizationWhitelist()};var n=!0;this.debugInfoEnabled=function(a){return A(a)?(n=a,this):n};this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(a,b,c,d,u,q,z,N,ia,O,H){function L(a,b){try{a.addClass(b)}catch(c){}}function W(a,b,c,d,e){a instanceof B||(a=B(a));m(a,function(b,c){b.nodeType==Pa&&b.nodeValue.match(/\S+/)&&(a[c]=B(b).wrap("<span></span>").parent()[0])});var f=
S(a,b,a,c,d,e);W.$$addScopeClass(a);var g=null;return function(b,c,d){qb(b,"scope");d=d||{};var e=d.parentBoundTranscludeFn,h=d.transcludeControllers;d=d.futureParentElement;e&&e.$$boundTransclude&&(e=e.$$boundTransclude);g||(g=(d=d&&d[0])?"foreignobject"!==wa(d)&&d.toString().match(/SVG/)?"svg":"html":"html");d="html"!==g?B(Xb(g,B("<div>").append(a).html())):c?Ra.clone.call(a):a;if(h)for(var k in h)d.data("$"+k+"Controller",h[k].instance);W.$$addScopeInfo(d,b);c&&c(d,b);f&&f(b,d,d,e);return d}}function S(a,
b,c,d,e,f){function g(a,c,d,e){var f,k,l,r,n,t,O;if(q)for(O=Array(c.length),r=0;r<h.length;r+=3)f=h[r],O[f]=c[f];else O=c;r=0;for(n=h.length;r<n;)if(k=O[h[r++]],c=h[r++],f=h[r++],c){if(c.scope){if(l=a.$new(),W.$$addScopeInfo(B(k),l),t=c.$$destroyBindings)c.$$destroyBindings=null,l.$on("$destroyed",t)}else l=a;t=c.transcludeOnThisElement?ba(a,c.transclude,e):!c.templateOnThisElement&&e?e:!e&&b?ba(a,b):null;c(f,l,k,d,t,c)}else f&&f(a,k.childNodes,w,e)}for(var h=[],k,l,r,n,q,t=0;t<a.length;t++){k=new Z;
l=ca(a[t],[],k,0===t?d:w,e);(f=l.length?D(l,a[t],k,b,c,null,[],[],f):null)&&f.scope&&W.$$addScopeClass(k.$$element);k=f&&f.terminal||!(r=a[t].childNodes)||!r.length?null:S(r,f?(f.transcludeOnThisElement||!f.templateOnThisElement)&&f.transclude:b);if(f||k)h.push(t,f,k),n=!0,q=q||f;f=null}return n?g:null}function ba(a,b,c){return function(d,e,f,g,h){d||(d=a.$new(!1,h),d.$$transcluded=!0);return b(d,e,{parentBoundTranscludeFn:c,transcludeControllers:f,futureParentElement:g})}}function ca(a,b,c,d,e){var g=
c.$attr,k;switch(a.nodeType){case pa:na(b,ya(wa(a)),"E",d,e);for(var l,r,n,q=a.attributes,t=0,O=q&&q.length;t<O;t++){var K=!1,H=!1;l=q[t];k=l.name;r=T(l.value);l=ya(k);if(n=ja.test(l))k=k.replace(Wc,"").substr(8).replace(/_(.)/g,function(a,b){return b.toUpperCase()});var S=l.replace(/(Start|End)$/,"");I(S)&&l===S+"Start"&&(K=k,H=k.substr(0,k.length-5)+"end",k=k.substr(0,k.length-6));l=ya(k.toLowerCase());g[l]=k;if(n||!c.hasOwnProperty(l))c[l]=r,Rc(a,l)&&(c[l]=!0);V(a,b,r,l,n);na(b,l,"A",d,e,K,H)}a=
a.className;C(a)&&(a=a.animVal);if(G(a)&&""!==a)for(;k=h.exec(a);)l=ya(k[2]),na(b,l,"C",d,e)&&(c[l]=T(k[3])),a=a.substr(k.index+k[0].length);break;case Pa:if(11===Wa)for(;a.parentNode&&a.nextSibling&&a.nextSibling.nodeType===Pa;)a.nodeValue+=a.nextSibling.nodeValue,a.parentNode.removeChild(a.nextSibling);Ka(b,a.nodeValue);break;case 8:try{if(k=f.exec(a.nodeValue))l=ya(k[1]),na(b,l,"M",d,e)&&(c[l]=T(k[2]))}catch(E){}}b.sort(M);return b}function za(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw ga("uterdir",
b,c);a.nodeType==pa&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--);d.push(a);a=a.nextSibling}while(0<e)}else d.push(a);return B(d)}function s(a,b,c){return function(d,e,f,g,h){e=za(e[0],b,c);return a(d,e,f,g,h)}}function D(a,b,d,e,f,g,h,k,r){function n(a,b,c,d){if(a){c&&(a=s(a,c,d));a.require=D.require;a.directiveName=y;if(u===D||D.$$isolateScope)a=$(a,{isolateScope:!0});h.push(a)}if(b){c&&(b=s(b,c,d));b.require=D.require;b.directiveName=y;if(u===D||D.$$isolateScope)b=$(b,{isolateScope:!0});k.push(b)}}
function t(a,b,c,d){var e;if(G(b)){var f=b.match(l);b=b.substring(f[0].length);var g=f[1]||f[3],f="?"===f[2];"^^"===g?c=c.parent():e=(e=d&&d[b])&&e.instance;e||(d="$"+b+"Controller",e=g?c.inheritedData(d):c.data(d));if(!e&&!f)throw ga("ctreq",b,a);}else if(J(b))for(e=[],g=0,f=b.length;g<f;g++)e[g]=t(a,b[g],c,d);return e||null}function O(a,b,c,d,e,f){var g=fa(),h;for(h in d){var k=d[h],l={$scope:k===u||k.$$isolateScope?e:f,$element:a,$attrs:b,$transclude:c},r=k.controller;"@"==r&&(r=b[k.name]);l=q(r,
l,!0,k.controllerAs);g[k.name]=l;ia||a.data("$"+k.name+"Controller",l.instance)}return g}function K(a,c,e,f,g,l){function r(a,b,c){var d;ab(a)||(c=b,b=a,a=w);ia&&(d=ca);c||(c=ia?N.parent():N);return g(a,b,d,c,za)}var n,q,H,E,ca,z,N;b===e?(f=d,N=d.$$element):(N=B(e),f=new Z(N,d));u&&(E=c.$new(!0));g&&(z=r,z.$$boundTransclude=g);ba&&(ca=O(N,f,z,ba,E,c));u&&(W.$$addScopeInfo(N,E,!0,!(L&&(L===u||L===u.$$originalDirective))),W.$$addScopeClass(N,!0),E.$$isolateBindings=u.$$isolateBindings,Y(c,f,E,E.$$isolateBindings,
u,E));if(ca){var Va=u||S,m;Va&&ca[Va.name]&&(q=Va.$$bindings.bindToController,(H=ca[Va.name])&&H.identifier&&q&&(m=H,l.$$destroyBindings=Y(c,f,H.instance,q,Va)));for(n in ca){H=ca[n];var D=H();D!==H.instance&&(H.instance=D,N.data("$"+n+"Controller",D),H===m&&(l.$$destroyBindings(),l.$$destroyBindings=Y(c,f,D,q,Va)))}}n=0;for(l=h.length;n<l;n++)q=h[n],aa(q,q.isolateScope?E:c,N,f,q.require&&t(q.directiveName,q.require,N,ca),z);var za=c;u&&(u.template||null===u.templateUrl)&&(za=E);a&&a(za,e.childNodes,
w,g);for(n=k.length-1;0<=n;n--)q=k[n],aa(q,q.isolateScope?E:c,N,f,q.require&&t(q.directiveName,q.require,N,ca),z)}r=r||{};for(var H=-Number.MAX_VALUE,S=r.newScopeDirective,ba=r.controllerDirectives,u=r.newIsolateScopeDirective,L=r.templateDirective,z=r.nonTlbTranscludeDirective,N=!1,m=!1,ia=r.hasElementTranscludeDirective,v=d.$$element=B(b),D,y,M,Ka=e,na,I=0,F=a.length;I<F;I++){D=a[I];var P=D.$$start,R=D.$$end;P&&(v=za(b,P,R));M=w;if(H>D.priority)break;if(M=D.scope)D.templateUrl||(C(M)?(Q("new/isolated scope",
u||S,D,v),u=D):Q("new/isolated scope",u,D,v)),S=S||D;y=D.name;!D.templateUrl&&D.controller&&(M=D.controller,ba=ba||fa(),Q("'"+y+"' controller",ba[y],D,v),ba[y]=D);if(M=D.transclude)N=!0,D.$$tlb||(Q("transclusion",z,D,v),z=D),"element"==M?(ia=!0,H=D.priority,M=v,v=d.$$element=B(X.createComment(" "+y+": "+d[y]+" ")),b=v[0],U(f,ua.call(M,0),b),Ka=W(M,e,H,g&&g.name,{nonTlbTranscludeDirective:z})):(M=B(Ub(b)).contents(),v.empty(),Ka=W(M,e));if(D.template)if(m=!0,Q("template",L,D,v),L=D,M=x(D.template)?
D.template(v,d):D.template,M=ha(M),D.replace){g=D;M=Sb.test(M)?Xc(Xb(D.templateNamespace,T(M))):[];b=M[0];if(1!=M.length||b.nodeType!==pa)throw ga("tplrt",y,"");U(f,v,b);F={$attr:{}};M=ca(b,[],F);var Lf=a.splice(I+1,a.length-(I+1));u&&A(M);a=a.concat(M).concat(Lf);Yc(d,F);F=a.length}else v.html(M);if(D.templateUrl)m=!0,Q("template",L,D,v),L=D,D.replace&&(g=D),K=Mf(a.splice(I,a.length-I),v,d,f,N&&Ka,h,k,{controllerDirectives:ba,newScopeDirective:S!==D&&S,newIsolateScopeDirective:u,templateDirective:L,
nonTlbTranscludeDirective:z}),F=a.length;else if(D.compile)try{na=D.compile(v,d,Ka),x(na)?n(null,na,P,R):na&&n(na.pre,na.post,P,R)}catch(V){c(V,xa(v))}D.terminal&&(K.terminal=!0,H=Math.max(H,D.priority))}K.scope=S&&!0===S.scope;K.transcludeOnThisElement=N;K.templateOnThisElement=m;K.transclude=Ka;r.hasElementTranscludeDirective=ia;return K}function A(a){for(var b=0,c=a.length;b<c;b++)a[b]=Nb(a[b],{$$isolateScope:!0})}function na(b,d,f,g,h,k,l){if(d===h)return null;h=null;if(e.hasOwnProperty(d)){var n;
d=a.get(d+"Directive");for(var q=0,t=d.length;q<t;q++)try{n=d[q],(v(g)||g>n.priority)&&-1!=n.restrict.indexOf(f)&&(k&&(n=Nb(n,{$$start:k,$$end:l})),b.push(n),h=n)}catch(H){c(H)}}return h}function I(b){if(e.hasOwnProperty(b))for(var c=a.get(b+"Directive"),d=0,f=c.length;d<f;d++)if(b=c[d],b.multiElement)return!0;return!1}function Yc(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;m(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});m(b,function(b,f){"class"==
f?(L(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function Mf(a,b,c,e,f,g,h,k){var l=[],r,n,q=b[0],t=a.shift(),H=Nb(t,{templateUrl:null,transclude:null,replace:null,$$originalDirective:t}),O=x(t.templateUrl)?t.templateUrl(b,c):t.templateUrl,E=t.templateNamespace;b.empty();d(O).then(function(d){var K,u;d=ha(d);if(t.replace){d=Sb.test(d)?Xc(Xb(E,T(d))):
[];K=d[0];if(1!=d.length||K.nodeType!==pa)throw ga("tplrt",t.name,O);d={$attr:{}};U(e,b,K);var z=ca(K,[],d);C(t.scope)&&A(z);a=z.concat(a);Yc(c,d)}else K=q,b.html(d);a.unshift(H);r=D(a,K,c,f,b,t,g,h,k);m(e,function(a,c){a==K&&(e[c]=b[0])});for(n=S(b[0].childNodes,f);l.length;){d=l.shift();u=l.shift();var N=l.shift(),W=l.shift(),z=b[0];if(!d.$$destroyed){if(u!==q){var za=u.className;k.hasElementTranscludeDirective&&t.replace||(z=Ub(K));U(N,B(u),z);L(B(z),za)}u=r.transcludeOnThisElement?ba(d,r.transclude,
W):W;r(n,d,z,e,u,r)}}l=null});return function(a,b,c,d,e){a=e;b.$$destroyed||(l?l.push(b,c,d,a):(r.transcludeOnThisElement&&(a=ba(b,r.transclude,e)),r(n,b,c,d,a,r)))}}function M(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function Q(a,b,c,d){function e(a){return a?" (module: "+a+")":""}if(b)throw ga("multidir",b.name,e(b.$$moduleName),c.name,e(c.$$moduleName),a,xa(d));}function Ka(a,c){var d=b(c,!0);d&&a.push({priority:0,compile:function(a){a=
a.parent();var b=!!a.length;b&&W.$$addBindingClass(a);return function(a,c){var e=c.parent();b||W.$$addBindingClass(e);W.$$addBindingInfo(e,d.expressions);a.$watch(d,function(a){c[0].nodeValue=a})}}})}function Xb(a,b){a=F(a||"html");switch(a){case "svg":case "math":var c=X.createElement("div");c.innerHTML="<"+a+">"+b+"</"+a+">";return c.childNodes[0].childNodes;default:return b}}function R(a,b){if("srcdoc"==b)return ia.HTML;var c=wa(a);if("xlinkHref"==b||"form"==c&&"action"==b||"img"!=c&&("src"==b||
"ngSrc"==b))return ia.RESOURCE_URL}function V(a,c,d,e,f){var h=R(a,e);f=g[e]||f;var l=b(d,!0,h,f);if(l){if("multiple"===e&&"select"===wa(a))throw ga("selmulti",xa(a));c.push({priority:100,compile:function(){return{pre:function(a,c,g){c=g.$$observers||(g.$$observers=fa());if(k.test(e))throw ga("nodomevents");var r=g[e];r!==d&&(l=r&&b(r,!0,h,f),d=r);l&&(g[e]=l(a),(c[e]||(c[e]=[])).$$inter=!0,(g.$$observers&&g.$$observers[e].$$scope||a).$watch(l,function(a,b){"class"===e&&a!=b?g.$updateClass(a,b):g.$set(e,
a)}))}}}})}}function U(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,h;if(a)for(g=0,h=a.length;g<h;g++)if(a[g]==d){a[g++]=c;h=g+e-1;for(var k=a.length;g<k;g++,h++)h<k?a[g]=a[h]:delete a[g];a.length-=e-1;a.context===d&&(a.context=c);break}f&&f.replaceChild(c,d);a=X.createDocumentFragment();a.appendChild(d);B.hasData(d)&&(B(c).data(B(d).data()),ra?(Qb=!0,ra.cleanData([d])):delete B.cache[d[B.expando]]);d=1;for(e=b.length;d<e;d++)f=b[d],B(f).remove(),a.appendChild(f),delete b[d];b[0]=c;b.length=1}function $(a,
b){return P(function(){return a.apply(null,arguments)},a,b)}function aa(a,b,d,e,f,g){try{a(b,d,e,f,g)}catch(h){c(h,xa(d))}}function Y(a,c,d,e,f,g){var h;m(e,function(e,g){var k=e.attrName,l=e.optional,r,n,q,K;switch(e.mode){case "@":l||ta.call(c,k)||(d[g]=c[k]=void 0);c.$observe(k,function(a){G(a)&&(d[g]=a)});c.$$observers[k].$$scope=a;G(c[k])&&(d[g]=b(c[k])(a));break;case "=":if(!ta.call(c,k)){if(l)break;c[k]=void 0}if(l&&!c[k])break;n=u(c[k]);K=n.literal?ka:function(a,b){return a===b||a!==a&&b!==
b};q=n.assign||function(){r=d[g]=n(a);throw ga("nonassign",c[k],f.name);};r=d[g]=n(a);l=function(b){K(b,d[g])||(K(b,r)?q(a,b=d[g]):d[g]=b);return r=b};l.$stateful=!0;l=e.collection?a.$watchCollection(c[k],l):a.$watch(u(c[k],l),null,n.literal);h=h||[];h.push(l);break;case "&":n=c.hasOwnProperty(k)?u(c[k]):y;if(n===y&&l)break;d[g]=function(b){return n(a,b)}}});e=h?function(){for(var a=0,b=h.length;a<b;++a)h[a]()}:y;return g&&e!==y?(g.$on("$destroy",e),y):e}var Z=function(a,b){if(b){var c=Object.keys(b),
d,e,f;d=0;for(e=c.length;d<e;d++)f=c[d],this[f]=b[f]}else this.$attr={};this.$$element=a};Z.prototype={$normalize:ya,$addClass:function(a){a&&0<a.length&&O.addClass(this.$$element,a)},$removeClass:function(a){a&&0<a.length&&O.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=Zc(a,b);c&&c.length&&O.addClass(this.$$element,c);(c=Zc(b,a))&&c.length&&O.removeClass(this.$$element,c)},$set:function(a,b,d,e){var f=Rc(this.$$element[0],a),g=$c[a],h=a;f?(this.$$element.prop(a,b),e=f):g&&(this[g]=
b,h=g);this[a]=b;e?this.$attr[a]=e:(e=this.$attr[a])||(this.$attr[a]=e=Ac(a,"-"));f=wa(this.$$element);if("a"===f&&"href"===a||"img"===f&&"src"===a)this[a]=b=H(b,"src"===a);else if("img"===f&&"srcset"===a){for(var f="",g=T(b),k=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,k=/\s/.test(g)?k:/(,)/,g=g.split(k),k=Math.floor(g.length/2),l=0;l<k;l++)var r=2*l,f=f+H(T(g[r]),!0),f=f+(" "+T(g[r+1]));g=T(g[2*l]).split(/\s/);f+=H(T(g[0]),!0);2===g.length&&(f+=" "+T(g[1]));this[a]=b=f}!1!==d&&(null===b||v(b)?this.$$element.removeAttr(e):
this.$$element.attr(e,b));(a=this.$$observers)&&m(a[h],function(a){try{a(b)}catch(d){c(d)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers=fa()),e=d[a]||(d[a]=[]);e.push(b);z.$evalAsync(function(){e.$$inter||!c.hasOwnProperty(a)||v(c[a])||b(c[a])});return function(){cb(e,b)}}};var da=b.startSymbol(),ea=b.endSymbol(),ha="{{"==da||"}}"==ea?$a:function(a){return a.replace(/\{\{/g,da).replace(/}}/g,ea)},ja=/^ngAttr[A-Z]/;W.$$addBindingInfo=n?function(a,b){var c=a.data("$binding")||
[];J(b)?c=c.concat(b):c.push(b);a.data("$binding",c)}:y;W.$$addBindingClass=n?function(a){L(a,"ng-binding")}:y;W.$$addScopeInfo=n?function(a,b,c,d){a.data(c?d?"$isolateScopeNoTemplate":"$isolateScope":"$scope",b)}:y;W.$$addScopeClass=n?function(a,b){L(a,b?"ng-isolate-scope":"ng-scope")}:y;return W}]}function ya(b){return gb(b.replace(Wc,""))}function Zc(b,a){var c="",d=b.split(/\s+/),e=a.split(/\s+/),f=0;a:for(;f<d.length;f++){for(var h=d[f],g=0;g<e.length;g++)if(h==e[g])continue a;c+=(0<c.length?
" ":"")+h}return c}function Xc(b){b=B(b);var a=b.length;if(1>=a)return b;for(;a--;)8===b[a].nodeType&&Nf.call(b,a,1);return b}function Xe(){var b={},a=!1;this.register=function(a,d){Ta(a,"controller");C(a)?P(b,a):b[a]=d};this.allowGlobals=function(){a=!0};this.$get=["$injector","$window",function(c,d){function e(a,b,c,d){if(!a||!C(a.$scope))throw I("$controller")("noscp",d,b);a.$scope[b]=c}return function(f,h,g,l){var k,n,p;g=!0===g;l&&G(l)&&(p=l);if(G(f)){l=f.match(Vc);if(!l)throw Of("ctrlfmt",f);
n=l[1];p=p||l[3];f=b.hasOwnProperty(n)?b[n]:Cc(h.$scope,n,!0)||(a?Cc(d,n,!0):w);Sa(f,n,!0)}if(g)return g=(J(f)?f[f.length-1]:f).prototype,k=Object.create(g||null),p&&e(h,p,k,n||f.name),P(function(){var a=c.invoke(f,k,h,n);a!==k&&(C(a)||x(a))&&(k=a,p&&e(h,p,k,n||f.name));return k},{instance:k,identifier:p});k=c.instantiate(f,h,n);p&&e(h,p,k,n||f.name);return k}}]}function Ye(){this.$get=["$window",function(b){return B(b.document)}]}function Ze(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,
arguments)}}]}function Yb(b){return C(b)?ea(b)?b.toISOString():eb(b):b}function df(){this.$get=function(){return function(b){if(!b)return"";var a=[];nc(b,function(b,d){null===b||v(b)||(J(b)?m(b,function(b,c){a.push(la(d)+"="+la(Yb(b)))}):a.push(la(d)+"="+la(Yb(b))))});return a.join("&")}}}function ef(){this.$get=function(){return function(b){function a(b,e,f){null===b||v(b)||(J(b)?m(b,function(b,c){a(b,e+"["+(C(b)?c:"")+"]")}):C(b)&&!ea(b)?nc(b,function(b,c){a(b,e+(f?"":"[")+c+(f?"":"]"))}):c.push(la(e)+
"="+la(Yb(b))))}if(!b)return"";var c=[];a(b,"",!0);return c.join("&")}}}function Zb(b,a){if(G(b)){var c=b.replace(Pf,"").trim();if(c){var d=a("Content-Type");(d=d&&0===d.indexOf(ad))||(d=(d=c.match(Qf))&&Rf[d[0]].test(c));d&&(b=vc(c))}}return b}function bd(b){var a=fa(),c;G(b)?m(b.split("\n"),function(b){c=b.indexOf(":");var e=F(T(b.substr(0,c)));b=T(b.substr(c+1));e&&(a[e]=a[e]?a[e]+", "+b:b)}):C(b)&&m(b,function(b,c){var f=F(c),h=T(b);f&&(a[f]=a[f]?a[f]+", "+h:h)});return a}function cd(b){var a;
return function(c){a||(a=bd(b));return c?(c=a[F(c)],void 0===c&&(c=null),c):a}}function dd(b,a,c,d){if(x(d))return d(b,a,c);m(d,function(d){b=d(b,a,c)});return b}function cf(){var b=this.defaults={transformResponse:[Zb],transformRequest:[function(a){return C(a)&&"[object File]"!==va.call(a)&&"[object Blob]"!==va.call(a)&&"[object FormData]"!==va.call(a)?eb(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ja($b),put:ja($b),patch:ja($b)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",
paramSerializer:"$httpParamSerializer"},a=!1;this.useApplyAsync=function(b){return A(b)?(a=!!b,this):a};var c=!0;this.useLegacyPromiseExtensions=function(a){return A(a)?(c=!!a,this):c};var d=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(e,f,h,g,l,k){function n(a){function d(a){var b=P({},a);b.data=a.data?dd(a.data,a.headers,a.status,f.transformResponse):a.data;a=a.status;return 200<=a&&300>a?b:l.reject(b)}function e(a,b){var c,
d={};m(a,function(a,e){x(a)?(c=a(b),null!=c&&(d[e]=c)):d[e]=a});return d}if(!da.isObject(a))throw I("$http")("badreq",a);var f=P({method:"get",transformRequest:b.transformRequest,transformResponse:b.transformResponse,paramSerializer:b.paramSerializer},a);f.headers=function(a){var c=b.headers,d=P({},a.headers),f,g,h,c=P({},c.common,c[F(a.method)]);a:for(f in c){g=F(f);for(h in d)if(F(h)===g)continue a;d[f]=c[f]}return e(d,ja(a))}(a);f.method=sb(f.method);f.paramSerializer=G(f.paramSerializer)?k.get(f.paramSerializer):
f.paramSerializer;var g=[function(a){var c=a.headers,e=dd(a.data,cd(c),w,a.transformRequest);v(e)&&m(c,function(a,b){"content-type"===F(b)&&delete c[b]});v(a.withCredentials)&&!v(b.withCredentials)&&(a.withCredentials=b.withCredentials);return p(a,e).then(d,d)},w],h=l.when(f);for(m(E,function(a){(a.request||a.requestError)&&g.unshift(a.request,a.requestError);(a.response||a.responseError)&&g.push(a.response,a.responseError)});g.length;){a=g.shift();var r=g.shift(),h=h.then(a,r)}c?(h.success=function(a){Sa(a,
"fn");h.then(function(b){a(b.data,b.status,b.headers,f)});return h},h.error=function(a){Sa(a,"fn");h.then(null,function(b){a(b.data,b.status,b.headers,f)});return h}):(h.success=ed("success"),h.error=ed("error"));return h}function p(c,d){function h(b,c,d,e){function f(){k(c,b,d,e)}L&&(200<=b&&300>b?L.put(ba,[b,c,bd(d),e]):L.remove(ba));a?g.$applyAsync(f):(f(),g.$$phase||g.$apply())}function k(a,b,d,e){b=-1<=b?b:0;(200<=b&&300>b?O.resolve:O.reject)({data:a,status:b,headers:cd(d),config:c,statusText:e})}
function p(a){k(a.data,a.status,ja(a.headers()),a.statusText)}function E(){var a=n.pendingRequests.indexOf(c);-1!==a&&n.pendingRequests.splice(a,1)}var O=l.defer(),H=O.promise,L,m,S=c.headers,ba=r(c.url,c.paramSerializer(c.params));n.pendingRequests.push(c);H.then(E,E);!c.cache&&!b.cache||!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method||(L=C(c.cache)?c.cache:C(b.cache)?b.cache:t);L&&(m=L.get(ba),A(m)?m&&x(m.then)?m.then(p,p):J(m)?k(m[1],m[0],ja(m[2]),m[3]):k(m,200,{},"OK"):L.put(ba,H));v(m)&&((m=
fd(c.url)?f()[c.xsrfCookieName||b.xsrfCookieName]:w)&&(S[c.xsrfHeaderName||b.xsrfHeaderName]=m),e(c.method,ba,d,h,S,c.timeout,c.withCredentials,c.responseType));return H}function r(a,b){0<b.length&&(a+=(-1==a.indexOf("?")?"?":"&")+b);return a}var t=h("$http");b.paramSerializer=G(b.paramSerializer)?k.get(b.paramSerializer):b.paramSerializer;var E=[];m(d,function(a){E.unshift(G(a)?k.get(a):k.invoke(a))});n.pendingRequests=[];(function(a){m(arguments,function(a){n[a]=function(b,c){return n(P({},c||{},
{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){m(arguments,function(a){n[a]=function(b,c,d){return n(P({},d||{},{method:a,url:b,data:c}))}})})("post","put","patch");n.defaults=b;return n}]}function gf(){this.$get=function(){return function(){return new Q.XMLHttpRequest}}}function ff(){this.$get=["$browser","$window","$document","$xhrFactory",function(b,a,c,d){return Sf(b,d,b.defer,a.angular.callbacks,c[0])}]}function Sf(b,a,c,d,e){function f(a,b,c){var f=e.createElement("script"),
n=null;f.type="text/javascript";f.src=a;f.async=!0;n=function(a){f.removeEventListener("load",n,!1);f.removeEventListener("error",n,!1);e.body.removeChild(f);f=null;var h=-1,t="unknown";a&&("load"!==a.type||d[b].called||(a={type:"error"}),t=a.type,h="error"===a.type?404:200);c&&c(h,t)};f.addEventListener("load",n,!1);f.addEventListener("error",n,!1);e.body.appendChild(f);return n}return function(e,g,l,k,n,p,r,t){function E(){q&&q();z&&z.abort()}function K(a,d,e,f,g){A(s)&&c.cancel(s);q=z=null;a(d,
e,f,g);b.$$completeOutstandingRequest(y)}b.$$incOutstandingRequestCount();g=g||b.url();if("jsonp"==F(e)){var u="_"+(d.counter++).toString(36);d[u]=function(a){d[u].data=a;d[u].called=!0};var q=f(g.replace("JSON_CALLBACK","angular.callbacks."+u),u,function(a,b){K(k,a,d[u].data,"",b);d[u]=y})}else{var z=a(e,g);z.open(e,g,!0);m(n,function(a,b){A(a)&&z.setRequestHeader(b,a)});z.onload=function(){var a=z.statusText||"",b="response"in z?z.response:z.responseText,c=1223===z.status?204:z.status;0===c&&(c=
b?200:"file"==Aa(g).protocol?404:0);K(k,c,b,z.getAllResponseHeaders(),a)};e=function(){K(k,-1,null,null,"")};z.onerror=e;z.onabort=e;r&&(z.withCredentials=!0);if(t)try{z.responseType=t}catch(N){if("json"!==t)throw N;}z.send(v(l)?null:l)}if(0<p)var s=c(E,p);else p&&x(p.then)&&p.then(E)}}function af(){var b="{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):b};this.endSymbol=function(b){return b?(a=b,this):a};this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(a){return"\\\\\\"+
a}function h(c){return c.replace(n,b).replace(p,a)}function g(f,g,n,p){function u(a){try{var b=a;a=n?e.getTrusted(n,b):e.valueOf(b);var c;if(p&&!A(a))c=a;else if(null==a)c="";else{switch(typeof a){case "string":break;case "number":a=""+a;break;default:a=eb(a)}c=a}return c}catch(g){d(La.interr(f,g))}}p=!!p;for(var q,m,N=0,s=[],O=[],H=f.length,L=[],W=[];N<H;)if(-1!=(q=f.indexOf(b,N))&&-1!=(m=f.indexOf(a,q+l)))N!==q&&L.push(h(f.substring(N,q))),N=f.substring(q+l,m),s.push(N),O.push(c(N,u)),N=m+k,W.push(L.length),
L.push("");else{N!==H&&L.push(h(f.substring(N)));break}n&&1<L.length&&La.throwNoconcat(f);if(!g||s.length){var S=function(a){for(var b=0,c=s.length;b<c;b++){if(p&&v(a[b]))return;L[W[b]]=a[b]}return L.join("")};return P(function(a){var b=0,c=s.length,e=Array(c);try{for(;b<c;b++)e[b]=O[b](a);return S(e)}catch(g){d(La.interr(f,g))}},{exp:f,expressions:s,$$watchDelegate:function(a,b){var c;return a.$watchGroup(O,function(d,e){var f=S(d);x(b)&&b.call(this,f,d!==e?c:f,a);c=f})}})}}var l=b.length,k=a.length,
n=new RegExp(b.replace(/./g,f),"g"),p=new RegExp(a.replace(/./g,f),"g");g.startSymbol=function(){return b};g.endSymbol=function(){return a};return g}]}function bf(){this.$get=["$rootScope","$window","$q","$$q",function(b,a,c,d){function e(e,g,l,k){var n=4<arguments.length,p=n?ua.call(arguments,4):[],r=a.setInterval,t=a.clearInterval,E=0,K=A(k)&&!k,u=(K?d:c).defer(),q=u.promise;l=A(l)?l:0;q.then(null,null,n?function(){e.apply(null,p)}:e);q.$$intervalId=r(function(){u.notify(E++);0<l&&E>=l&&(u.resolve(E),
t(q.$$intervalId),delete f[q.$$intervalId]);K||b.$apply()},g);f[q.$$intervalId]=u;return q}var f={};e.cancel=function(b){return b&&b.$$intervalId in f?(f[b.$$intervalId].reject("canceled"),a.clearInterval(b.$$intervalId),delete f[b.$$intervalId],!0):!1};return e}]}function ac(b){b=b.split("/");for(var a=b.length;a--;)b[a]=ob(b[a]);return b.join("/")}function gd(b,a){var c=Aa(b);a.$$protocol=c.protocol;a.$$host=c.hostname;a.$$port=Y(c.port)||Tf[c.protocol]||null}function hd(b,a){var c="/"!==b.charAt(0);
c&&(b="/"+b);var d=Aa(b);a.$$path=decodeURIComponent(c&&"/"===d.pathname.charAt(0)?d.pathname.substring(1):d.pathname);a.$$search=yc(d.search);a.$$hash=decodeURIComponent(d.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function sa(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Ja(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function Cb(b){return b.replace(/(#.+)|#$/,"$1")}function bc(b,a,c){this.$$html5=!0;c=c||"";gd(b,this);this.$$parse=function(b){var c=sa(a,
b);if(!G(c))throw Db("ipthprfx",b,a);hd(c,this);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var b=Pb(this.$$search),c=this.$$hash?"#"+ob(this.$$hash):"";this.$$url=ac(this.$$path)+(b?"?"+b:"")+c;this.$$absUrl=a+this.$$url.substr(1)};this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,h;A(f=sa(b,d))?(h=f,h=A(f=sa(c,f))?a+(sa("/",f)||f):b+h):A(f=sa(a,d))?h=a+f:a==d+"/"&&(h=a);h&&this.$$parse(h);return!!h}}function cc(b,a,c){gd(b,this);
this.$$parse=function(d){var e=sa(b,d)||sa(a,d),f;v(e)||"#"!==e.charAt(0)?this.$$html5?f=e:(f="",v(e)&&(b=d,this.replace())):(f=sa(c,e),v(f)&&(f=e));hd(f,this);d=this.$$path;var e=b,h=/^\/[A-Z]:(\/.*)/;0===f.indexOf(e)&&(f=f.replace(e,""));h.exec(f)||(d=(f=h.exec(d))?f[1]:d);this.$$path=d;this.$$compose()};this.$$compose=function(){var a=Pb(this.$$search),e=this.$$hash?"#"+ob(this.$$hash):"";this.$$url=ac(this.$$path)+(a?"?"+a:"")+e;this.$$absUrl=b+(this.$$url?c+this.$$url:"")};this.$$parseLinkUrl=
function(a,c){return Ja(b)==Ja(a)?(this.$$parse(a),!0):!1}}function id(b,a,c){this.$$html5=!0;cc.apply(this,arguments);this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,h;b==Ja(d)?f=d:(h=sa(a,d))?f=b+c+h:a===d+"/"&&(f=a);f&&this.$$parse(f);return!!f};this.$$compose=function(){var a=Pb(this.$$search),e=this.$$hash?"#"+ob(this.$$hash):"";this.$$url=ac(this.$$path)+(a?"?"+a:"")+e;this.$$absUrl=b+c+this.$$url}}function Eb(b){return function(){return this[b]}}function jd(b,
a){return function(c){if(v(c))return this[b];this[b]=a(c);this.$$compose();return this}}function hf(){var b="",a={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(a){return A(a)?(b=a,this):b};this.html5Mode=function(b){return bb(b)?(a.enabled=b,this):C(b)?(bb(b.enabled)&&(a.enabled=b.enabled),bb(b.requireBase)&&(a.requireBase=b.requireBase),bb(b.rewriteLinks)&&(a.rewriteLinks=b.rewriteLinks),this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(c,
d,e,f,h){function g(a,b,c){var e=k.url(),f=k.$$state;try{d.url(a,b,c),k.$$state=d.state()}catch(g){throw k.url(e),k.$$state=f,g;}}function l(a,b){c.$broadcast("$locationChangeSuccess",k.absUrl(),a,k.$$state,b)}var k,n;n=d.baseHref();var p=d.url(),r;if(a.enabled){if(!n&&a.requireBase)throw Db("nobase");r=p.substring(0,p.indexOf("/",p.indexOf("//")+2))+(n||"/");n=e.history?bc:id}else r=Ja(p),n=cc;var t=r.substr(0,Ja(r).lastIndexOf("/")+1);k=new n(r,t,"#"+b);k.$$parseLinkUrl(p,p);k.$$state=d.state();
var E=/^\s*(javascript|mailto):/i;f.on("click",function(b){if(a.rewriteLinks&&!b.ctrlKey&&!b.metaKey&&!b.shiftKey&&2!=b.which&&2!=b.button){for(var e=B(b.target);"a"!==wa(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var g=e.prop("href"),l=e.attr("href")||e.attr("xlink:href");C(g)&&"[object SVGAnimatedString]"===g.toString()&&(g=Aa(g.animVal).href);E.test(g)||!g||e.attr("target")||b.isDefaultPrevented()||!k.$$parseLinkUrl(g,l)||(b.preventDefault(),k.absUrl()!=d.url()&&(c.$apply(),h.angular["ff-684208-preventDefault"]=
!0))}});Cb(k.absUrl())!=Cb(p)&&d.url(k.absUrl(),!0);var K=!0;d.onUrlChange(function(a,b){v(sa(t,a))?h.location.href=a:(c.$evalAsync(function(){var d=k.absUrl(),e=k.$$state,f;k.$$parse(a);k.$$state=b;f=c.$broadcast("$locationChangeStart",a,d,b,e).defaultPrevented;k.absUrl()===a&&(f?(k.$$parse(d),k.$$state=e,g(d,!1,e)):(K=!1,l(d,e)))}),c.$$phase||c.$digest())});c.$watch(function(){var a=Cb(d.url()),b=Cb(k.absUrl()),f=d.state(),h=k.$$replace,r=a!==b||k.$$html5&&e.history&&f!==k.$$state;if(K||r)K=!1,
c.$evalAsync(function(){var b=k.absUrl(),d=c.$broadcast("$locationChangeStart",b,a,k.$$state,f).defaultPrevented;k.absUrl()===b&&(d?(k.$$parse(a),k.$$state=f):(r&&g(b,h,f===k.$$state?null:k.$$state),l(a,f)))});k.$$replace=!1});return k}]}function jf(){var b=!0,a=this;this.debugEnabled=function(a){return A(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=
a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=c.console||{},e=b[a]||b.log||y;a=!1;try{a=!!e.apply}catch(l){}return a?function(){var a=[];m(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function Xa(b,a){if("__defineGetter__"===b||"__defineSetter__"===b||"__lookupGetter__"===b||"__lookupSetter__"===
b||"__proto__"===b)throw Z("isecfld",a);return b}function kd(b,a){b+="";if(!G(b))throw Z("iseccst",a);return b}function Ba(b,a){if(b){if(b.constructor===b)throw Z("isecfn",a);if(b.window===b)throw Z("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw Z("isecdom",a);if(b===Object)throw Z("isecobj",a);}return b}function ld(b,a){if(b){if(b.constructor===b)throw Z("isecfn",a);if(b===Uf||b===Vf||b===Wf)throw Z("isecff",a);}}function md(b,a){if(b&&(b===(0).constructor||b===(!1).constructor||
b==="".constructor||b==={}.constructor||b===[].constructor||b===Function.constructor))throw Z("isecaf",a);}function Xf(b,a){return"undefined"!==typeof b?b:a}function nd(b,a){return"undefined"===typeof b?a:"undefined"===typeof a?b:b+a}function U(b,a){var c,d;switch(b.type){case s.Program:c=!0;m(b.body,function(b){U(b.expression,a);c=c&&b.expression.constant});b.constant=c;break;case s.Literal:b.constant=!0;b.toWatch=[];break;case s.UnaryExpression:U(b.argument,a);b.constant=b.argument.constant;b.toWatch=
b.argument.toWatch;break;case s.BinaryExpression:U(b.left,a);U(b.right,a);b.constant=b.left.constant&&b.right.constant;b.toWatch=b.left.toWatch.concat(b.right.toWatch);break;case s.LogicalExpression:U(b.left,a);U(b.right,a);b.constant=b.left.constant&&b.right.constant;b.toWatch=b.constant?[]:[b];break;case s.ConditionalExpression:U(b.test,a);U(b.alternate,a);U(b.consequent,a);b.constant=b.test.constant&&b.alternate.constant&&b.consequent.constant;b.toWatch=b.constant?[]:[b];break;case s.Identifier:b.constant=
!1;b.toWatch=[b];break;case s.MemberExpression:U(b.object,a);b.computed&&U(b.property,a);b.constant=b.object.constant&&(!b.computed||b.property.constant);b.toWatch=[b];break;case s.CallExpression:c=b.filter?!a(b.callee.name).$stateful:!1;d=[];m(b.arguments,function(b){U(b,a);c=c&&b.constant;b.constant||d.push.apply(d,b.toWatch)});b.constant=c;b.toWatch=b.filter&&!a(b.callee.name).$stateful?d:[b];break;case s.AssignmentExpression:U(b.left,a);U(b.right,a);b.constant=b.left.constant&&b.right.constant;
b.toWatch=[b];break;case s.ArrayExpression:c=!0;d=[];m(b.elements,function(b){U(b,a);c=c&&b.constant;b.constant||d.push.apply(d,b.toWatch)});b.constant=c;b.toWatch=d;break;case s.ObjectExpression:c=!0;d=[];m(b.properties,function(b){U(b.value,a);c=c&&b.value.constant;b.value.constant||d.push.apply(d,b.value.toWatch)});b.constant=c;b.toWatch=d;break;case s.ThisExpression:b.constant=!1,b.toWatch=[]}}function od(b){if(1==b.length){b=b[0].expression;var a=b.toWatch;return 1!==a.length?a:a[0]!==b?a:w}}
function pd(b){return b.type===s.Identifier||b.type===s.MemberExpression}function qd(b){if(1===b.body.length&&pd(b.body[0].expression))return{type:s.AssignmentExpression,left:b.body[0].expression,right:{type:s.NGValueParameter},operator:"="}}function rd(b){return 0===b.body.length||1===b.body.length&&(b.body[0].expression.type===s.Literal||b.body[0].expression.type===s.ArrayExpression||b.body[0].expression.type===s.ObjectExpression)}function sd(b,a){this.astBuilder=b;this.$filter=a}function td(b,
a){this.astBuilder=b;this.$filter=a}function Fb(b){return"constructor"==b}function dc(b){return x(b.valueOf)?b.valueOf():Yf.call(b)}function kf(){var b=fa(),a=fa();this.$get=["$filter",function(c){function d(a,b){return null==a||null==b?a===b:"object"===typeof a&&(a=dc(a),"object"===typeof a)?!1:a===b||a!==a&&b!==b}function e(a,b,c,e,f){var g=e.inputs,h;if(1===g.length){var k=d,g=g[0];return a.$watch(function(a){var b=g(a);d(b,k)||(h=e(a,w,w,[b]),k=b&&dc(b));return h},b,c,f)}for(var l=[],n=[],p=0,
m=g.length;p<m;p++)l[p]=d,n[p]=null;return a.$watch(function(a){for(var b=!1,c=0,f=g.length;c<f;c++){var k=g[c](a);if(b||(b=!d(k,l[c])))n[c]=k,l[c]=k&&dc(k)}b&&(h=e(a,w,w,n));return h},b,c,f)}function f(a,b,c,d){var e,f;return e=a.$watch(function(a){return d(a)},function(a,c,d){f=a;x(b)&&b.apply(this,arguments);A(a)&&d.$$postDigest(function(){A(f)&&e()})},c)}function h(a,b,c,d){function e(a){var b=!0;m(a,function(a){A(a)||(b=!1)});return b}var f,g;return f=a.$watch(function(a){return d(a)},function(a,
c,d){g=a;x(b)&&b.call(this,a,c,d);e(a)&&d.$$postDigest(function(){e(g)&&f()})},c)}function g(a,b,c,d){var e;return e=a.$watch(function(a){return d(a)},function(a,c,d){x(b)&&b.apply(this,arguments);e()},c)}function l(a,b){if(!b)return a;var c=a.$$watchDelegate,c=c!==h&&c!==f?function(c,d,e,f){e=a(c,d,e,f);return b(e,c,d)}:function(c,d,e,f){e=a(c,d,e,f);c=b(e,c,d);return A(e)?c:e};a.$$watchDelegate&&a.$$watchDelegate!==e?c.$$watchDelegate=a.$$watchDelegate:b.$stateful||(c.$$watchDelegate=e,c.inputs=
a.inputs?a.inputs:[a]);return c}var k=Fa().noUnsafeEval,n={csp:k,expensiveChecks:!1},p={csp:k,expensiveChecks:!0};return function(d,k,E){var m,u,q;switch(typeof d){case "string":q=d=d.trim();var s=E?a:b;m=s[q];m||(":"===d.charAt(0)&&":"===d.charAt(1)&&(u=!0,d=d.substring(2)),E=E?p:n,m=new ec(E),m=(new fc(m,c,E)).parse(d),m.constant?m.$$watchDelegate=g:u?m.$$watchDelegate=m.literal?h:f:m.inputs&&(m.$$watchDelegate=e),s[q]=m);return l(m,k);case "function":return l(d,k);default:return y}}}]}function mf(){this.$get=
["$rootScope","$exceptionHandler",function(b,a){return ud(function(a){b.$evalAsync(a)},a)}]}function nf(){this.$get=["$browser","$exceptionHandler",function(b,a){return ud(function(a){b.defer(a)},a)}]}function ud(b,a){function c(a,b,c){function d(b){return function(c){e||(e=!0,b.call(a,c))}}var e=!1;return[d(b),d(c)]}function d(){this.$$state={status:0}}function e(a,b){return function(c){b.call(a,c)}}function f(c){!c.processScheduled&&c.pending&&(c.processScheduled=!0,b(function(){var b,d,e;e=c.pending;
c.processScheduled=!1;c.pending=w;for(var f=0,g=e.length;f<g;++f){d=e[f][0];b=e[f][c.status];try{x(b)?d.resolve(b(c.value)):1===c.status?d.resolve(c.value):d.reject(c.value)}catch(h){d.reject(h),a(h)}}}))}function h(){this.promise=new d;this.resolve=e(this,this.resolve);this.reject=e(this,this.reject);this.notify=e(this,this.notify)}var g=I("$q",TypeError);P(d.prototype,{then:function(a,b,c){if(v(a)&&v(b)&&v(c))return this;var d=new h;this.$$state.pending=this.$$state.pending||[];this.$$state.pending.push([d,
a,b,c]);0<this.$$state.status&&f(this.$$state);return d.promise},"catch":function(a){return this.then(null,a)},"finally":function(a,b){return this.then(function(b){return k(b,!0,a)},function(b){return k(b,!1,a)},b)}});P(h.prototype,{resolve:function(a){this.promise.$$state.status||(a===this.promise?this.$$reject(g("qcycle",a)):this.$$resolve(a))},$$resolve:function(b){var d,e;e=c(this,this.$$resolve,this.$$reject);try{if(C(b)||x(b))d=b&&b.then;x(d)?(this.promise.$$state.status=-1,d.call(b,e[0],e[1],
this.notify)):(this.promise.$$state.value=b,this.promise.$$state.status=1,f(this.promise.$$state))}catch(g){e[1](g),a(g)}},reject:function(a){this.promise.$$state.status||this.$$reject(a)},$$reject:function(a){this.promise.$$state.value=a;this.promise.$$state.status=2;f(this.promise.$$state)},notify:function(c){var d=this.promise.$$state.pending;0>=this.promise.$$state.status&&d&&d.length&&b(function(){for(var b,e,f=0,g=d.length;f<g;f++){e=d[f][0];b=d[f][3];try{e.notify(x(b)?b(c):c)}catch(h){a(h)}}})}});
var l=function(a,b){var c=new h;b?c.resolve(a):c.reject(a);return c.promise},k=function(a,b,c){var d=null;try{x(c)&&(d=c())}catch(e){return l(e,!1)}return d&&x(d.then)?d.then(function(){return l(a,b)},function(a){return l(a,!1)}):l(a,b)},n=function(a,b,c,d){var e=new h;e.resolve(a);return e.promise.then(b,c,d)},p=function t(a){if(!x(a))throw g("norslvr",a);if(!(this instanceof t))return new t(a);var b=new h;a(function(a){b.resolve(a)},function(a){b.reject(a)});return b.promise};p.defer=function(){return new h};
p.reject=function(a){var b=new h;b.reject(a);return b.promise};p.when=n;p.resolve=n;p.all=function(a){var b=new h,c=0,d=J(a)?[]:{};m(a,function(a,e){c++;n(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})});0===c&&b.resolve(d);return b.promise};return p}function wf(){this.$get=["$window","$timeout",function(b,a){var c=b.requestAnimationFrame||b.webkitRequestAnimationFrame,d=b.cancelAnimationFrame||b.webkitCancelAnimationFrame||b.webkitCancelRequestAnimationFrame,
e=!!c,f=e?function(a){var b=c(a);return function(){d(b)}}:function(b){var c=a(b,16.66,!1);return function(){a.cancel(c)}};f.supported=e;return f}]}function lf(){function b(a){function b(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount=0;this.$id=++nb;this.$$ChildScope=null}b.prototype=a;return b}var a=10,c=I("$rootScope"),d=null,e=null;this.digestTtl=function(b){arguments.length&&(a=b);return a};this.$get=
["$injector","$exceptionHandler","$parse","$browser",function(f,h,g,l){function k(a){a.currentScope.$$destroyed=!0}function n(){this.$id=++nb;this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this.$root=this;this.$$destroyed=!1;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount=0;this.$$isolateBindings=null}function p(a){if(q.$$phase)throw c("inprog",q.$$phase);q.$$phase=a}function r(a,b){do a.$$watchersCount+=b;while(a=
a.$parent)}function t(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function E(){}function s(){for(;w.length;)try{w.shift()()}catch(a){h(a)}e=null}function u(){null===e&&(e=l.defer(function(){q.$apply(s)}))}n.prototype={constructor:n,$new:function(a,c){var d;c=c||this;a?(d=new n,d.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=b(this)),d=new this.$$ChildScope);d.$parent=c;d.$$prevSibling=c.$$childTail;c.$$childHead?(c.$$childTail.$$nextSibling=
d,c.$$childTail=d):c.$$childHead=c.$$childTail=d;(a||c!=this)&&d.$on("$destroy",k);return d},$watch:function(a,b,c,e){var f=g(a);if(f.$$watchDelegate)return f.$$watchDelegate(this,b,c,f,a);var h=this,k=h.$$watchers,l={fn:b,last:E,get:f,exp:e||a,eq:!!c};d=null;x(b)||(l.fn=y);k||(k=h.$$watchers=[]);k.unshift(l);r(this,1);return function(){0<=cb(k,l)&&r(h,-1);d=null}},$watchGroup:function(a,b){function c(){h=!1;k?(k=!1,b(e,e,g)):b(e,d,g)}var d=Array(a.length),e=Array(a.length),f=[],g=this,h=!1,k=!0;
if(!a.length){var l=!0;g.$evalAsync(function(){l&&b(e,e,g)});return function(){l=!1}}if(1===a.length)return this.$watch(a[0],function(a,c,f){e[0]=a;d[0]=c;b(e,a===c?e:d,f)});m(a,function(a,b){var k=g.$watch(a,function(a,f){e[b]=a;d[b]=f;h||(h=!0,g.$evalAsync(c))});f.push(k)});return function(){for(;f.length;)f.shift()()}},$watchCollection:function(a,b){function c(a){e=a;var b,d,g,h;if(!v(e)){if(C(e))if(Da(e))for(f!==p&&(f=p,t=f.length=0,l++),a=e.length,t!==a&&(l++,f.length=t=a),b=0;b<a;b++)h=f[b],
g=e[b],d=h!==h&&g!==g,d||h===g||(l++,f[b]=g);else{f!==r&&(f=r={},t=0,l++);a=0;for(b in e)ta.call(e,b)&&(a++,g=e[b],h=f[b],b in f?(d=h!==h&&g!==g,d||h===g||(l++,f[b]=g)):(t++,f[b]=g,l++));if(t>a)for(b in l++,f)ta.call(e,b)||(t--,delete f[b])}else f!==e&&(f=e,l++);return l}}c.$stateful=!0;var d=this,e,f,h,k=1<b.length,l=0,n=g(a,c),p=[],r={},q=!0,t=0;return this.$watch(n,function(){q?(q=!1,b(e,e,d)):b(e,h,d);if(k)if(C(e))if(Da(e)){h=Array(e.length);for(var a=0;a<e.length;a++)h[a]=e[a]}else for(a in h=
{},e)ta.call(e,a)&&(h[a]=e[a]);else h=e})},$digest:function(){var b,f,g,k,n,r,t=a,m,u=[],D,v;p("$digest");l.$$checkUrlChange();this===q&&null!==e&&(l.defer.cancel(e),s());d=null;do{r=!1;for(m=this;z.length;){try{v=z.shift(),v.scope.$eval(v.expression,v.locals)}catch(w){h(w)}d=null}a:do{if(k=m.$$watchers)for(n=k.length;n--;)try{if(b=k[n])if((f=b.get(m))!==(g=b.last)&&!(b.eq?ka(f,g):"number"===typeof f&&"number"===typeof g&&isNaN(f)&&isNaN(g)))r=!0,d=b,b.last=b.eq?ha(f,null):f,b.fn(f,g===E?f:g,m),5>
t&&(D=4-t,u[D]||(u[D]=[]),u[D].push({msg:x(b.exp)?"fn: "+(b.exp.name||b.exp.toString()):b.exp,newVal:f,oldVal:g}));else if(b===d){r=!1;break a}}catch(y){h(y)}if(!(k=m.$$watchersCount&&m.$$childHead||m!==this&&m.$$nextSibling))for(;m!==this&&!(k=m.$$nextSibling);)m=m.$parent}while(m=k);if((r||z.length)&&!t--)throw q.$$phase=null,c("infdig",a,u);}while(r||z.length);for(q.$$phase=null;N.length;)try{N.shift()()}catch(A){h(A)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");
this.$$destroyed=!0;this===q&&l.$$applicationDestroyed();r(this,-this.$$watchersCount);for(var b in this.$$listenerCount)t(this,this.$$listenerCount[b],b);a&&a.$$childHead==this&&(a.$$childHead=this.$$nextSibling);a&&a.$$childTail==this&&(a.$$childTail=this.$$prevSibling);this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=y;this.$on=
this.$watch=this.$watchGroup=function(){return y};this.$$listeners={};this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}},$eval:function(a,b){return g(a)(this,b)},$evalAsync:function(a,b){q.$$phase||z.length||l.defer(function(){z.length&&q.$digest()});z.push({scope:this,expression:a,locals:b})},$$postDigest:function(a){N.push(a)},$apply:function(a){try{p("$apply");try{return this.$eval(a)}finally{q.$$phase=null}}catch(b){h(b)}finally{try{q.$digest()}catch(c){throw h(c),
c;}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&w.push(b);u()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(c[d]=null,t(e,1,a))}},$emit:function(a,b){var c=[],d,e=this,f=!1,g={name:a,targetScope:e,stopPropagation:function(){f=!0},preventDefault:function(){g.defaultPrevented=!0},defaultPrevented:!1},
k=db([g],arguments,1),l,n;do{d=e.$$listeners[a]||c;g.currentScope=e;l=0;for(n=d.length;l<n;l++)if(d[l])try{d[l].apply(null,k)}catch(p){h(p)}else d.splice(l,1),l--,n--;if(f)return g.currentScope=null,g;e=e.$parent}while(e);g.currentScope=null;return g},$broadcast:function(a,b){var c=this,d=this,e={name:a,targetScope:this,preventDefault:function(){e.defaultPrevented=!0},defaultPrevented:!1};if(!this.$$listenerCount[a])return e;for(var f=db([e],arguments,1),g,k;c=d;){e.currentScope=c;d=c.$$listeners[a]||
[];g=0;for(k=d.length;g<k;g++)if(d[g])try{d[g].apply(null,f)}catch(l){h(l)}else d.splice(g,1),g--,k--;if(!(d=c.$$listenerCount[a]&&c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent}e.currentScope=null;return e}};var q=new n,z=q.$$asyncQueue=[],N=q.$$postDigestQueue=[],w=q.$$applyAsyncQueue=[];return q}]}function ge(){var b=/^\s*(https?|ftp|mailto|tel|file):/,a=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(a){return A(a)?
(b=a,this):b};this.imgSrcSanitizationWhitelist=function(b){return A(b)?(a=b,this):a};this.$get=function(){return function(c,d){var e=d?a:b,f;f=Aa(c).href;return""===f||f.match(e)?c:"unsafe:"+f}}}function Zf(b){if("self"===b)return b;if(G(b)){if(-1<b.indexOf("***"))throw Ca("iwcard",b);b=vd(b).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*");return new RegExp("^"+b+"$")}if(Oa(b))return new RegExp("^"+b.source+"$");throw Ca("imatcher");}function wd(b){var a=[];A(b)&&m(b,function(b){a.push(Zf(b))});
return a}function pf(){this.SCE_CONTEXTS=oa;var b=["self"],a=[];this.resourceUrlWhitelist=function(a){arguments.length&&(b=wd(a));return b};this.resourceUrlBlacklist=function(b){arguments.length&&(a=wd(b));return a};this.$get=["$injector",function(c){function d(a,b){return"self"===a?fd(b):!!a.exec(b.href)}function e(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};a&&(b.prototype=new a);b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()};b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()};
return b}var f=function(a){throw Ca("unsafe");};c.has("$sanitize")&&(f=c.get("$sanitize"));var h=e(),g={};g[oa.HTML]=e(h);g[oa.CSS]=e(h);g[oa.URL]=e(h);g[oa.JS]=e(h);g[oa.RESOURCE_URL]=e(g[oa.URL]);return{trustAs:function(a,b){var c=g.hasOwnProperty(a)?g[a]:null;if(!c)throw Ca("icontext",a,b);if(null===b||v(b)||""===b)return b;if("string"!==typeof b)throw Ca("itype",a);return new c(b)},getTrusted:function(c,e){if(null===e||v(e)||""===e)return e;var h=g.hasOwnProperty(c)?g[c]:null;if(h&&e instanceof
h)return e.$$unwrapTrustedValue();if(c===oa.RESOURCE_URL){var h=Aa(e.toString()),p,r,t=!1;p=0;for(r=b.length;p<r;p++)if(d(b[p],h)){t=!0;break}if(t)for(p=0,r=a.length;p<r;p++)if(d(a[p],h)){t=!1;break}if(t)return e;throw Ca("insecurl",e.toString());}if(c===oa.HTML)return f(e);throw Ca("unsafe");},valueOf:function(a){return a instanceof h?a.$$unwrapTrustedValue():a}}}]}function of(){var b=!0;this.enabled=function(a){arguments.length&&(b=!!a);return b};this.$get=["$parse","$sceDelegate",function(a,c){if(b&&
8>Wa)throw Ca("iequirks");var d=ja(oa);d.isEnabled=function(){return b};d.trustAs=c.trustAs;d.getTrusted=c.getTrusted;d.valueOf=c.valueOf;b||(d.trustAs=d.getTrusted=function(a,b){return b},d.valueOf=$a);d.parseAs=function(b,c){var e=a(c);return e.literal&&e.constant?e:a(c,function(a){return d.getTrusted(b,a)})};var e=d.parseAs,f=d.getTrusted,h=d.trustAs;m(oa,function(a,b){var c=F(b);d[gb("parse_as_"+c)]=function(b){return e(a,b)};d[gb("get_trusted_"+c)]=function(b){return f(a,b)};d[gb("trust_as_"+
c)]=function(b){return h(a,b)}});return d}]}function qf(){this.$get=["$window","$document",function(b,a){var c={},d=Y((/android (\d+)/.exec(F((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},h,g=/^(Moz|webkit|ms)(?=[A-Z])/,l=f.body&&f.body.style,k=!1,n=!1;if(l){for(var p in l)if(k=g.exec(p)){h=k[0];h=h.substr(0,1).toUpperCase()+h.substr(1);break}h||(h="WebkitOpacity"in l&&"webkit");k=!!("transition"in l||h+"Transition"in l);n=!!("animation"in l||h+"Animation"in
l);!d||k&&n||(k=G(l.webkitTransition),n=G(l.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hasEvent:function(a){if("input"===a&&11>=Wa)return!1;if(v(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:Fa(),vendorPrefix:h,transitions:k,animations:n,android:d}}]}function sf(){this.$get=["$templateCache","$http","$q","$sce",function(b,a,c,d){function e(f,h){e.totalPendingRequests++;G(f)&&b.get(f)||(f=d.getTrustedResourceUrl(f));var g=a.defaults&&a.defaults.transformResponse;
J(g)?g=g.filter(function(a){return a!==Zb}):g===Zb&&(g=null);return a.get(f,{cache:b,transformResponse:g})["finally"](function(){e.totalPendingRequests--}).then(function(a){b.put(f,a.data);return a.data},function(a){if(!h)throw ga("tpload",f,a.status,a.statusText);return c.reject(a)})}e.totalPendingRequests=0;return e}]}function tf(){this.$get=["$rootScope","$browser","$location",function(b,a,c){return{findBindings:function(a,b,c){a=a.getElementsByClassName("ng-binding");var h=[];m(a,function(a){var d=
da.element(a).data("$binding");d&&m(d,function(d){c?(new RegExp("(^|\\s)"+vd(b)+"(\\s|\\||$)")).test(d)&&h.push(a):-1!=d.indexOf(b)&&h.push(a)})});return h},findModels:function(a,b,c){for(var h=["ng-","data-ng-","ng\\:"],g=0;g<h.length;++g){var l=a.querySelectorAll("["+h[g]+"model"+(c?"=":"*=")+'"'+b+'"]');if(l.length)return l}},getLocation:function(){return c.url()},setLocation:function(a){a!==c.url()&&(c.url(a),b.$digest())},whenStable:function(b){a.notifyWhenNoOutstandingRequests(b)}}}]}function uf(){this.$get=
["$rootScope","$browser","$q","$$q","$exceptionHandler",function(b,a,c,d,e){function f(f,l,k){x(f)||(k=l,l=f,f=y);var n=ua.call(arguments,3),p=A(k)&&!k,r=(p?d:c).defer(),t=r.promise,m;m=a.defer(function(){try{r.resolve(f.apply(null,n))}catch(a){r.reject(a),e(a)}finally{delete h[t.$$timeoutId]}p||b.$apply()},l);t.$$timeoutId=m;h[m]=r;return t}var h={};f.cancel=function(b){return b&&b.$$timeoutId in h?(h[b.$$timeoutId].reject("canceled"),delete h[b.$$timeoutId],a.defer.cancel(b.$$timeoutId)):!1};return f}]}
function Aa(b){Wa&&($.setAttribute("href",b),b=$.href);$.setAttribute("href",b);return{href:$.href,protocol:$.protocol?$.protocol.replace(/:$/,""):"",host:$.host,search:$.search?$.search.replace(/^\?/,""):"",hash:$.hash?$.hash.replace(/^#/,""):"",hostname:$.hostname,port:$.port,pathname:"/"===$.pathname.charAt(0)?$.pathname:"/"+$.pathname}}function fd(b){b=G(b)?Aa(b):b;return b.protocol===xd.protocol&&b.host===xd.host}function vf(){this.$get=qa(Q)}function yd(b){function a(a){try{return decodeURIComponent(a)}catch(b){return a}}
var c=b[0]||{},d={},e="";return function(){var b,h,g,l,k;b=c.cookie||"";if(b!==e)for(e=b,b=e.split("; "),d={},g=0;g<b.length;g++)h=b[g],l=h.indexOf("="),0<l&&(k=a(h.substring(0,l)),v(d[k])&&(d[k]=a(h.substring(l+1))));return d}}function zf(){this.$get=yd}function Kc(b){function a(c,d){if(C(c)){var e={};m(c,function(b,c){e[c]=a(c,b)});return e}return b.factory(c+"Filter",d)}this.register=a;this.$get=["$injector",function(a){return function(b){return a.get(b+"Filter")}}];a("currency",zd);a("date",Ad);
a("filter",$f);a("json",ag);a("limitTo",bg);a("lowercase",cg);a("number",Bd);a("orderBy",Cd);a("uppercase",dg)}function $f(){return function(b,a,c){if(!Da(b)){if(null==b)return b;throw I("filter")("notarray",b);}var d;switch(gc(a)){case "function":break;case "boolean":case "null":case "number":case "string":d=!0;case "object":a=eg(a,c,d);break;default:return b}return Array.prototype.filter.call(b,a)}}function eg(b,a,c){var d=C(b)&&"$"in b;!0===a?a=ka:x(a)||(a=function(a,b){if(v(a))return!1;if(null===
a||null===b)return a===b;if(C(b)||C(a)&&!qc(a))return!1;a=F(""+a);b=F(""+b);return-1!==a.indexOf(b)});return function(e){return d&&!C(e)?Ma(e,b.$,a,!1):Ma(e,b,a,c)}}function Ma(b,a,c,d,e){var f=gc(b),h=gc(a);if("string"===h&&"!"===a.charAt(0))return!Ma(b,a.substring(1),c,d);if(J(b))return b.some(function(b){return Ma(b,a,c,d)});switch(f){case "object":var g;if(d){for(g in b)if("$"!==g.charAt(0)&&Ma(b[g],a,c,!0))return!0;return e?!1:Ma(b,a,c,!1)}if("object"===h){for(g in a)if(e=a[g],!x(e)&&!v(e)&&
(f="$"===g,!Ma(f?b:b[g],e,c,f,f)))return!1;return!0}return c(b,a);case "function":return!1;default:return c(b,a)}}function gc(b){return null===b?"null":typeof b}function zd(b){var a=b.NUMBER_FORMATS;return function(b,d,e){v(d)&&(d=a.CURRENCY_SYM);v(e)&&(e=a.PATTERNS[1].maxFrac);return null==b?b:Dd(b,a.PATTERNS[1],a.GROUP_SEP,a.DECIMAL_SEP,e).replace(/\u00A4/g,d)}}function Bd(b){var a=b.NUMBER_FORMATS;return function(b,d){return null==b?b:Dd(b,a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Dd(b,
a,c,d,e){if(C(b))return"";var f=0>b;b=Math.abs(b);var h=Infinity===b;if(!h&&!isFinite(b))return"";var g=b+"",l="",k=!1,n=[];h&&(l="\u221e");if(!h&&-1!==g.indexOf("e")){var p=g.match(/([\d\.]+)e(-?)(\d+)/);p&&"-"==p[2]&&p[3]>e+1?b=0:(l=g,k=!0)}if(h||k)0<e&&1>b&&(l=b.toFixed(e),b=parseFloat(l),l=l.replace(hc,d));else{h=(g.split(hc)[1]||"").length;v(e)&&(e=Math.min(Math.max(a.minFrac,h),a.maxFrac));b=+(Math.round(+(b.toString()+"e"+e)).toString()+"e"+-e);var h=(""+b).split(hc),g=h[0],h=h[1]||"",p=0,
r=a.lgSize,t=a.gSize;if(g.length>=r+t)for(p=g.length-r,k=0;k<p;k++)0===(p-k)%t&&0!==k&&(l+=c),l+=g.charAt(k);for(k=p;k<g.length;k++)0===(g.length-k)%r&&0!==k&&(l+=c),l+=g.charAt(k);for(;h.length<e;)h+="0";e&&"0"!==e&&(l+=d+h.substr(0,e))}0===b&&(f=!1);n.push(f?a.negPre:a.posPre,l,f?a.negSuf:a.posSuf);return n.join("")}function Gb(b,a,c){var d="";0>b&&(d="-",b=-b);for(b=""+b;b.length<a;)b="0"+b;c&&(b=b.substr(b.length-a));return d+b}function aa(b,a,c,d){c=c||0;return function(e){e=e["get"+b]();if(0<
c||e>-c)e+=c;0===e&&-12==c&&(e=12);return Gb(e,a,d)}}function Hb(b,a){return function(c,d){var e=c["get"+b](),f=sb(a?"SHORT"+b:b);return d[f][e]}}function Ed(b){var a=(new Date(b,0,1)).getDay();return new Date(b,0,(4>=a?5:12)-a)}function Fd(b){return function(a){var c=Ed(a.getFullYear());a=+new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))-+c;a=1+Math.round(a/6048E5);return Gb(a,b)}}function ic(b,a){return 0>=b.getFullYear()?a.ERAS[0]:a.ERAS[1]}function Ad(b){function a(a){var b;if(b=
a.match(c)){a=new Date(0);var f=0,h=0,g=b[8]?a.setUTCFullYear:a.setFullYear,l=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=Y(b[9]+b[10]),h=Y(b[9]+b[11]));g.call(a,Y(b[1]),Y(b[2])-1,Y(b[3]));f=Y(b[4]||0)-f;h=Y(b[5]||0)-h;g=Y(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));l.call(a,f,h,g,b)}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e,f){var h="",g=[],l,k;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;G(c)&&(c=
fg.test(c)?Y(c):a(c));V(c)&&(c=new Date(c));if(!ea(c)||!isFinite(c.getTime()))return c;for(;e;)(k=gg.exec(e))?(g=db(g,k,1),e=g.pop()):(g.push(e),e=null);var n=c.getTimezoneOffset();f&&(n=wc(f,c.getTimezoneOffset()),c=Ob(c,f,!0));m(g,function(a){l=hg[a];h+=l?l(c,b.DATETIME_FORMATS,n):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return h}}function ag(){return function(b,a){v(a)&&(a=2);return eb(b,a)}}function bg(){return function(b,a,c){a=Infinity===Math.abs(Number(a))?Number(a):Y(a);if(isNaN(a))return b;
V(b)&&(b=b.toString());if(!J(b)&&!G(b))return b;c=!c||isNaN(c)?0:Y(c);c=0>c&&c>=-b.length?b.length+c:c;return 0<=a?b.slice(c,c+a):0===c?b.slice(a,b.length):b.slice(Math.max(0,c+a),c)}}function Cd(b){function a(a,c){c=c?-1:1;return a.map(function(a){var d=1,g=$a;if(x(a))g=a;else if(G(a)){if("+"==a.charAt(0)||"-"==a.charAt(0))d="-"==a.charAt(0)?-1:1,a=a.substring(1);if(""!==a&&(g=b(a),g.constant))var l=g(),g=function(a){return a[l]}}return{get:g,descending:d*c}})}function c(a){switch(typeof a){case "number":case "boolean":case "string":return!0;
default:return!1}}return function(b,e,f){if(!Da(b))return b;J(e)||(e=[e]);0===e.length&&(e=["+"]);var h=a(e,f);h.push({get:function(){return{}},descending:f?-1:1});b=Array.prototype.map.call(b,function(a,b){return{value:a,predicateValues:h.map(function(d){var e=d.get(a);d=typeof e;if(null===e)d="string",e="null";else if("string"===d)e=e.toLowerCase();else if("object"===d)a:{if("function"===typeof e.valueOf&&(e=e.valueOf(),c(e)))break a;if(qc(e)&&(e=e.toString(),c(e)))break a;e=b}return{value:e,type:d}})}});
b.sort(function(a,b){for(var c=0,d=0,e=h.length;d<e;++d){var c=a.predicateValues[d],f=b.predicateValues[d],t=0;c.type===f.type?c.value!==f.value&&(t=c.value<f.value?-1:1):t=c.type<f.type?-1:1;if(c=t*h[d].descending)break}return c});return b=b.map(function(a){return a.value})}}function Na(b){x(b)&&(b={link:b});b.restrict=b.restrict||"AC";return qa(b)}function Gd(b,a,c,d,e){var f=this,h=[];f.$error={};f.$$success={};f.$pending=w;f.$name=e(a.name||a.ngForm||"")(c);f.$dirty=!1;f.$pristine=!0;f.$valid=
!0;f.$invalid=!1;f.$submitted=!1;f.$$parentForm=Ib;f.$rollbackViewValue=function(){m(h,function(a){a.$rollbackViewValue()})};f.$commitViewValue=function(){m(h,function(a){a.$commitViewValue()})};f.$addControl=function(a){Ta(a.$name,"input");h.push(a);a.$name&&(f[a.$name]=a);a.$$parentForm=f};f.$$renameControl=function(a,b){var c=a.$name;f[c]===a&&delete f[c];f[b]=a;a.$name=b};f.$removeControl=function(a){a.$name&&f[a.$name]===a&&delete f[a.$name];m(f.$pending,function(b,c){f.$setValidity(c,null,a)});
m(f.$error,function(b,c){f.$setValidity(c,null,a)});m(f.$$success,function(b,c){f.$setValidity(c,null,a)});cb(h,a);a.$$parentForm=Ib};Hd({ctrl:this,$element:b,set:function(a,b,c){var d=a[b];d?-1===d.indexOf(c)&&d.push(c):a[b]=[c]},unset:function(a,b,c){var d=a[b];d&&(cb(d,c),0===d.length&&delete a[b])},$animate:d});f.$setDirty=function(){d.removeClass(b,Ya);d.addClass(b,Jb);f.$dirty=!0;f.$pristine=!1;f.$$parentForm.$setDirty()};f.$setPristine=function(){d.setClass(b,Ya,Jb+" ng-submitted");f.$dirty=
!1;f.$pristine=!0;f.$submitted=!1;m(h,function(a){a.$setPristine()})};f.$setUntouched=function(){m(h,function(a){a.$setUntouched()})};f.$setSubmitted=function(){d.addClass(b,"ng-submitted");f.$submitted=!0;f.$$parentForm.$setSubmitted()}}function jc(b){b.$formatters.push(function(a){return b.$isEmpty(a)?a:a.toString()})}function jb(b,a,c,d,e,f){var h=F(a[0].type);if(!e.android){var g=!1;a.on("compositionstart",function(a){g=!0});a.on("compositionend",function(){g=!1;l()})}var l=function(b){k&&(f.defer.cancel(k),
k=null);if(!g){var e=a.val();b=b&&b.type;"password"===h||c.ngTrim&&"false"===c.ngTrim||(e=T(e));(d.$viewValue!==e||""===e&&d.$$hasNativeValidators)&&d.$setViewValue(e,b)}};if(e.hasEvent("input"))a.on("input",l);else{var k,n=function(a,b,c){k||(k=f.defer(function(){k=null;b&&b.value===c||l(a)}))};a.on("keydown",function(a){var b=a.keyCode;91===b||15<b&&19>b||37<=b&&40>=b||n(a,this,this.value)});if(e.hasEvent("paste"))a.on("paste cut",n)}a.on("change",l);d.$render=function(){var b=d.$isEmpty(d.$viewValue)?
"":d.$viewValue;a.val()!==b&&a.val(b)}}function Kb(b,a){return function(c,d){var e,f;if(ea(c))return c;if(G(c)){'"'==c.charAt(0)&&'"'==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1));if(ig.test(c))return new Date(c);b.lastIndex=0;if(e=b.exec(c))return e.shift(),f=d?{yyyy:d.getFullYear(),MM:d.getMonth()+1,dd:d.getDate(),HH:d.getHours(),mm:d.getMinutes(),ss:d.getSeconds(),sss:d.getMilliseconds()/1E3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},m(e,function(b,c){c<a.length&&(f[a[c]]=+b)}),new Date(f.yyyy,
f.MM-1,f.dd,f.HH,f.mm,f.ss||0,1E3*f.sss||0)}return NaN}}function kb(b,a,c,d){return function(e,f,h,g,l,k,n){function p(a){return a&&!(a.getTime&&a.getTime()!==a.getTime())}function r(a){return A(a)&&!ea(a)?c(a)||w:a}Id(e,f,h,g);jb(e,f,h,g,l,k);var t=g&&g.$options&&g.$options.timezone,m;g.$$parserName=b;g.$parsers.push(function(b){return g.$isEmpty(b)?null:a.test(b)?(b=c(b,m),t&&(b=Ob(b,t)),b):w});g.$formatters.push(function(a){if(a&&!ea(a))throw lb("datefmt",a);if(p(a))return(m=a)&&t&&(m=Ob(m,t,!0)),
n("date")(a,d,t);m=null;return""});if(A(h.min)||h.ngMin){var s;g.$validators.min=function(a){return!p(a)||v(s)||c(a)>=s};h.$observe("min",function(a){s=r(a);g.$validate()})}if(A(h.max)||h.ngMax){var u;g.$validators.max=function(a){return!p(a)||v(u)||c(a)<=u};h.$observe("max",function(a){u=r(a);g.$validate()})}}}function Id(b,a,c,d){(d.$$hasNativeValidators=C(a[0].validity))&&d.$parsers.push(function(b){var c=a.prop("validity")||{};return c.badInput&&!c.typeMismatch?w:b})}function Jd(b,a,c,d,e){if(A(d)){b=
b(d);if(!b.constant)throw lb("constexpr",c,d);return b(a)}return e}function kc(b,a){b="ngClass"+b;return["$animate",function(c){function d(a,b){var c=[],d=0;a:for(;d<a.length;d++){for(var e=a[d],n=0;n<b.length;n++)if(e==b[n])continue a;c.push(e)}return c}function e(a){var b=[];return J(a)?(m(a,function(a){b=b.concat(e(a))}),b):G(a)?a.split(" "):C(a)?(m(a,function(a,c){a&&(b=b.concat(c.split(" ")))}),b):a}return{restrict:"AC",link:function(f,h,g){function l(a,b){var c=h.data("$classCounts")||fa(),
d=[];m(a,function(a){if(0<b||c[a])c[a]=(c[a]||0)+b,c[a]===+(0<b)&&d.push(a)});h.data("$classCounts",c);return d.join(" ")}function k(b){if(!0===a||f.$index%2===a){var k=e(b||[]);if(!n){var m=l(k,1);g.$addClass(m)}else if(!ka(b,n)){var s=e(n),m=d(k,s),k=d(s,k),m=l(m,1),k=l(k,-1);m&&m.length&&c.addClass(h,m);k&&k.length&&c.removeClass(h,k)}}n=ja(b)}var n;f.$watch(g[b],k,!0);g.$observe("class",function(a){k(f.$eval(g[b]))});"ngClass"!==b&&f.$watch("$index",function(c,d){var h=c&1;if(h!==(d&1)){var k=
e(f.$eval(g[b]));h===a?(h=l(k,1),g.$addClass(h)):(h=l(k,-1),g.$removeClass(h))}})}}}]}function Hd(b){function a(a,b){b&&!f[a]?(l.addClass(e,a),f[a]=!0):!b&&f[a]&&(l.removeClass(e,a),f[a]=!1)}function c(b,c){b=b?"-"+Ac(b,"-"):"";a(mb+b,!0===c);a(Kd+b,!1===c)}var d=b.ctrl,e=b.$element,f={},h=b.set,g=b.unset,l=b.$animate;f[Kd]=!(f[mb]=e.hasClass(mb));d.$setValidity=function(b,e,f){v(e)?(d.$pending||(d.$pending={}),h(d.$pending,b,f)):(d.$pending&&g(d.$pending,b,f),Ld(d.$pending)&&(d.$pending=w));bb(e)?
e?(g(d.$error,b,f),h(d.$$success,b,f)):(h(d.$error,b,f),g(d.$$success,b,f)):(g(d.$error,b,f),g(d.$$success,b,f));d.$pending?(a(Md,!0),d.$valid=d.$invalid=w,c("",null)):(a(Md,!1),d.$valid=Ld(d.$error),d.$invalid=!d.$valid,c("",d.$valid));e=d.$pending&&d.$pending[b]?w:d.$error[b]?!1:d.$$success[b]?!0:null;c(b,e);d.$$parentForm.$setValidity(b,e,d)}}function Ld(b){if(b)for(var a in b)if(b.hasOwnProperty(a))return!1;return!0}var jg=/^\/(.+)\/([a-z]*)$/,F=function(b){return G(b)?b.toLowerCase():b},ta=Object.prototype.hasOwnProperty,
sb=function(b){return G(b)?b.toUpperCase():b},Wa,B,ra,ua=[].slice,Nf=[].splice,kg=[].push,va=Object.prototype.toString,rc=Object.getPrototypeOf,Ea=I("ng"),da=Q.angular||(Q.angular={}),Rb,nb=0;Wa=X.documentMode;y.$inject=[];$a.$inject=[];var J=Array.isArray,tc=/^\[object (Uint8(Clamped)?)|(Uint16)|(Uint32)|(Int8)|(Int16)|(Int32)|(Float(32)|(64))Array\]$/,T=function(b){return G(b)?b.trim():b},vd=function(b){return b.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},Fa=function(){if(!A(Fa.rules)){var b=
X.querySelector("[ng-csp]")||X.querySelector("[data-ng-csp]");if(b){var a=b.getAttribute("ng-csp")||b.getAttribute("data-ng-csp");Fa.rules={noUnsafeEval:!a||-1!==a.indexOf("no-unsafe-eval"),noInlineStyle:!a||-1!==a.indexOf("no-inline-style")}}else{b=Fa;try{new Function(""),a=!1}catch(c){a=!0}b.rules={noUnsafeEval:a,noInlineStyle:!1}}}return Fa.rules},pb=function(){if(A(pb.name_))return pb.name_;var b,a,c=Qa.length,d,e;for(a=0;a<c;++a)if(d=Qa[a],b=X.querySelector("["+d.replace(":","\\:")+"jq]")){e=
b.getAttribute(d+"jq");break}return pb.name_=e},Qa=["ng-","data-ng-","ng:","x-ng-"],be=/[A-Z]/g,Bc=!1,Qb,pa=1,Pa=3,fe={full:"1.4.7",major:1,minor:4,dot:7,codeName:"dark-luminescence"};R.expando="ng339";var hb=R.cache={},Ff=1;R._data=function(b){return this.cache[b[this.expando]]||{}};var Af=/([\:\-\_]+(.))/g,Bf=/^moz([A-Z])/,lg={mouseleave:"mouseout",mouseenter:"mouseover"},Tb=I("jqLite"),Ef=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Sb=/<|&#?\w+;/,Cf=/<([\w:-]+)/,Df=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
ma={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ma.optgroup=ma.option;ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead;ma.th=ma.td;var Ra=R.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===X.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),R(Q).on("load",a))},
toString:function(){var b=[];m(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?B(this[b]):B(this[this.length+b])},length:0,push:kg,sort:[].sort,splice:[].splice},Bb={};m("multiple selected checked disabled readOnly required open".split(" "),function(b){Bb[F(b)]=b});var Sc={};m("input select option textarea button form details".split(" "),function(b){Sc[b]=!0});var $c={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};
m({data:Vb,removeData:vb,hasData:function(b){for(var a in hb[b.ng339])return!0;return!1}},function(b,a){R[a]=b});m({data:Vb,inheritedData:Ab,scope:function(b){return B.data(b,"$scope")||Ab(b.parentNode||b,["$isolateScope","$scope"])},isolateScope:function(b){return B.data(b,"$isolateScope")||B.data(b,"$isolateScopeNoTemplate")},controller:Pc,injector:function(b){return Ab(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:xb,css:function(b,a,c){a=gb(a);if(A(c))b.style[a]=c;else return b.style[a]},
attr:function(b,a,c){var d=b.nodeType;if(d!==Pa&&2!==d&&8!==d)if(d=F(a),Bb[d])if(A(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||y).specified?d:w;else if(A(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?w:b},prop:function(b,a,c){if(A(c))b[a]=c;else return b[a]},text:function(){function b(a,b){if(v(b)){var d=a.nodeType;return d===pa||d===Pa?a.textContent:""}a.textContent=b}b.$dv="";return b}(),
val:function(b,a){if(v(a)){if(b.multiple&&"select"===wa(b)){var c=[];m(b.options,function(a){a.selected&&c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(v(a))return b.innerHTML;ub(b,!0);b.innerHTML=a},empty:Qc},function(b,a){R.prototype[a]=function(a,d){var e,f,h=this.length;if(b!==Qc&&v(2==b.length&&b!==xb&&b!==Pc?a:d)){if(C(a)){for(e=0;e<h;e++)if(b===Vb)b(this[e],a);else for(f in a)b(this[e],f,a[f]);return this}e=b.$dv;h=v(e)?Math.min(h,1):h;
for(f=0;f<h;f++){var g=b(this[f],a,d);e=e?e+g:g}return e}for(e=0;e<h;e++)b(this[e],a,d);return this}});m({removeData:vb,on:function a(c,d,e,f){if(A(f))throw Tb("onargs");if(Lc(c)){var h=wb(c,!0);f=h.events;var g=h.handle;g||(g=h.handle=Hf(c,f));for(var h=0<=d.indexOf(" ")?d.split(" "):[d],l=h.length;l--;){d=h[l];var k=f[d];k||(f[d]=[],"mouseenter"===d||"mouseleave"===d?a(c,lg[d],function(a){var c=a.relatedTarget;c&&(c===this||this.contains(c))||g(a,d)}):"$destroy"!==d&&c.addEventListener(d,g,!1),
k=f[d]);k.push(e)}}},off:Oc,one:function(a,c,d){a=B(a);a.on(c,function f(){a.off(c,d);a.off(c,f)});a.on(c,d)},replaceWith:function(a,c){var d,e=a.parentNode;ub(a);m(new R(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},children:function(a){var c=[];m(a.childNodes,function(a){a.nodeType===pa&&c.push(a)});return c},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,c){var d=a.nodeType;if(d===pa||11===d){c=new R(c);for(var d=0,e=c.length;d<
e;d++)a.appendChild(c[d])}},prepend:function(a,c){if(a.nodeType===pa){var d=a.firstChild;m(new R(c),function(c){a.insertBefore(c,d)})}},wrap:function(a,c){c=B(c).eq(0).clone()[0];var d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},remove:Wb,detach:function(a){Wb(a,!0)},after:function(a,c){var d=a,e=a.parentNode;c=new R(c);for(var f=0,h=c.length;f<h;f++){var g=c[f];e.insertBefore(g,d.nextSibling);d=g}},addClass:zb,removeClass:yb,toggleClass:function(a,c,d){c&&m(c.split(" "),function(c){var f=
d;v(f)&&(f=!xb(a,c));(f?zb:yb)(a,c)})},parent:function(a){return(a=a.parentNode)&&11!==a.nodeType?a:null},next:function(a){return a.nextElementSibling},find:function(a,c){return a.getElementsByTagName?a.getElementsByTagName(c):[]},clone:Ub,triggerHandler:function(a,c,d){var e,f,h=c.type||c,g=wb(a);if(g=(g=g&&g.events)&&g[h])e={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=
!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:y,type:h,target:a},c.type&&(e=P(e,c)),c=ja(g),f=d?[e].concat(d):[e],m(c,function(c){e.isImmediatePropagationStopped()||c.apply(a,f)})}},function(a,c){R.prototype[c]=function(c,e,f){for(var h,g=0,l=this.length;g<l;g++)v(h)?(h=a(this[g],c,e,f),A(h)&&(h=B(h))):Nc(h,a(this[g],c,e,f));return A(h)?h:this};R.prototype.bind=R.prototype.on;R.prototype.unbind=R.prototype.off});Ua.prototype={put:function(a,
c){this[Ga(a,this.nextUid)]=c},get:function(a){return this[Ga(a,this.nextUid)]},remove:function(a){var c=this[a=Ga(a,this.nextUid)];delete this[a];return c}};var yf=[function(){this.$get=[function(){return Ua}]}],Uc=/^[^\(]*\(\s*([^\)]*)\)/m,mg=/,/,ng=/^\s*(_?)(\S+?)\1\s*$/,Tc=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,Ha=I("$injector");fb.$$annotate=function(a,c,d){var e;if("function"===typeof a){if(!(e=a.$inject)){e=[];if(a.length){if(c)throw G(d)&&d||(d=a.name||If(a)),Ha("strictdi",d);c=a.toString().replace(Tc,
"");c=c.match(Uc);m(c[1].split(mg),function(a){a.replace(ng,function(a,c,d){e.push(d)})})}a.$inject=e}}else J(a)?(c=a.length-1,Sa(a[c],"fn"),e=a.slice(0,c)):Sa(a,"fn",!0);return e};var Nd=I("$animate"),Ue=function(){this.$get=["$q","$$rAF",function(a,c){function d(){}d.all=y;d.chain=y;d.prototype={end:y,cancel:y,resume:y,pause:y,complete:y,then:function(d,f){return a(function(a){c(function(){a()})}).then(d,f)}};return d}]},Te=function(){var a=new Ua,c=[];this.$get=["$$AnimateRunner","$rootScope",
function(d,e){function f(a,c,d){var e=!1;c&&(c=G(c)?c.split(" "):J(c)?c:[],m(c,function(c){c&&(e=!0,a[c]=d)}));return e}function h(){m(c,function(c){var d=a.get(c);if(d){var e=Jf(c.attr("class")),f="",h="";m(d,function(a,c){a!==!!e[c]&&(a?f+=(f.length?" ":"")+c:h+=(h.length?" ":"")+c)});m(c,function(a){f&&zb(a,f);h&&yb(a,h)});a.remove(c)}});c.length=0}return{enabled:y,on:y,off:y,pin:y,push:function(g,l,k,n){n&&n();k=k||{};k.from&&g.css(k.from);k.to&&g.css(k.to);if(k.addClass||k.removeClass)if(l=k.addClass,
n=k.removeClass,k=a.get(g)||{},l=f(k,l,!0),n=f(k,n,!1),l||n)a.put(g,k),c.push(g),1===c.length&&e.$$postDigest(h);return new d}}}]},Re=["$provide",function(a){var c=this;this.$$registeredAnimations=Object.create(null);this.register=function(d,e){if(d&&"."!==d.charAt(0))throw Nd("notcsel",d);var f=d+"-animation";c.$$registeredAnimations[d.substr(1)]=f;a.factory(f,e)};this.classNameFilter=function(a){if(1===arguments.length&&(this.$$classNameFilter=a instanceof RegExp?a:null)&&/(\s+|\/)ng-animate(\s+|\/)/.test(this.$$classNameFilter.toString()))throw Nd("nongcls",
"ng-animate");return this.$$classNameFilter};this.$get=["$$animateQueue",function(a){function c(a,d,e){if(e){var l;a:{for(l=0;l<e.length;l++){var k=e[l];if(1===k.nodeType){l=k;break a}}l=void 0}!l||l.parentNode||l.previousElementSibling||(e=null)}e?e.after(a):d.prepend(a)}return{on:a.on,off:a.off,pin:a.pin,enabled:a.enabled,cancel:function(a){a.end&&a.end()},enter:function(f,h,g,l){h=h&&B(h);g=g&&B(g);h=h||g.parent();c(f,h,g);return a.push(f,"enter",Ia(l))},move:function(f,h,g,l){h=h&&B(h);g=g&&B(g);
h=h||g.parent();c(f,h,g);return a.push(f,"move",Ia(l))},leave:function(c,e){return a.push(c,"leave",Ia(e),function(){c.remove()})},addClass:function(c,e,g){g=Ia(g);g.addClass=ib(g.addclass,e);return a.push(c,"addClass",g)},removeClass:function(c,e,g){g=Ia(g);g.removeClass=ib(g.removeClass,e);return a.push(c,"removeClass",g)},setClass:function(c,e,g,l){l=Ia(l);l.addClass=ib(l.addClass,e);l.removeClass=ib(l.removeClass,g);return a.push(c,"setClass",l)},animate:function(c,e,g,l,k){k=Ia(k);k.from=k.from?
P(k.from,e):e;k.to=k.to?P(k.to,g):g;k.tempClasses=ib(k.tempClasses,l||"ng-inline-animate");return a.push(c,"animate",k)}}}]}],Se=function(){this.$get=["$$rAF","$q",function(a,c){var d=function(){};d.prototype={done:function(a){this.defer&&this.defer[!0===a?"reject":"resolve"]()},end:function(){this.done()},cancel:function(){this.done(!0)},getPromise:function(){this.defer||(this.defer=c.defer());return this.defer.promise},then:function(a,c){return this.getPromise().then(a,c)},"catch":function(a){return this.getPromise()["catch"](a)},
"finally":function(a){return this.getPromise()["finally"](a)}};return function(c,f){function h(){a(function(){f.addClass&&(c.addClass(f.addClass),f.addClass=null);f.removeClass&&(c.removeClass(f.removeClass),f.removeClass=null);f.to&&(c.css(f.to),f.to=null);g||l.done();g=!0});return l}f.cleanupStyles&&(f.from=f.to=null);f.from&&(c.css(f.from),f.from=null);var g,l=new d;return{start:h,end:h}}}]},ga=I("$compile");Dc.$inject=["$provide","$$sanitizeUriProvider"];var Wc=/^((?:x|data)[\:\-_])/i,Of=I("$controller"),
Vc=/^(\S+)(\s+as\s+(\w+))?$/,$e=function(){this.$get=["$document",function(a){return function(c){c?!c.nodeType&&c instanceof B&&(c=c[0]):c=a[0].body;return c.offsetWidth+1}}]},ad="application/json",$b={"Content-Type":ad+";charset=utf-8"},Qf=/^\[|^\{(?!\{)/,Rf={"[":/]$/,"{":/}$/},Pf=/^\)\]\}',?\n/,og=I("$http"),ed=function(a){return function(){throw og("legacy",a);}},La=da.$interpolateMinErr=I("$interpolate");La.throwNoconcat=function(a){throw La("noconcat",a);};La.interr=function(a,c){return La("interr",
a,c.toString())};var pg=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Tf={http:80,https:443,ftp:21},Db=I("$location"),qg={$$html5:!1,$$replace:!1,absUrl:Eb("$$absUrl"),url:function(a){if(v(a))return this.$$url;var c=pg.exec(a);(c[1]||""===a)&&this.path(decodeURIComponent(c[1]));(c[2]||c[1]||""===a)&&this.search(c[3]||"");this.hash(c[5]||"");return this},protocol:Eb("$$protocol"),host:Eb("$$host"),port:Eb("$$port"),path:jd("$$path",function(a){a=null!==a?a.toString():"";return"/"==a.charAt(0)?a:"/"+a}),search:function(a,
c){switch(arguments.length){case 0:return this.$$search;case 1:if(G(a)||V(a))a=a.toString(),this.$$search=yc(a);else if(C(a))a=ha(a,{}),m(a,function(c,e){null==c&&delete a[e]}),this.$$search=a;else throw Db("isrcharg");break;default:v(c)||null===c?delete this.$$search[a]:this.$$search[a]=c}this.$$compose();return this},hash:jd("$$hash",function(a){return null!==a?a.toString():""}),replace:function(){this.$$replace=!0;return this}};m([id,cc,bc],function(a){a.prototype=Object.create(qg);a.prototype.state=
function(c){if(!arguments.length)return this.$$state;if(a!==bc||!this.$$html5)throw Db("nostate");this.$$state=v(c)?null:c;return this}});var Z=I("$parse"),Uf=Function.prototype.call,Vf=Function.prototype.apply,Wf=Function.prototype.bind,Lb=fa();m("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(a){Lb[a]=!0});var rg={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},ec=function(a){this.options=a};ec.prototype={constructor:ec,lex:function(a){this.text=a;this.index=0;for(this.tokens=
[];this.index<this.text.length;)if(a=this.text.charAt(this.index),'"'===a||"'"===a)this.readString(a);else if(this.isNumber(a)||"."===a&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(a))this.readIdent();else if(this.is(a,"(){}[].,;:?"))this.tokens.push({index:this.index,text:a}),this.index++;else if(this.isWhitespace(a))this.index++;else{var c=a+this.peek(),d=c+this.peek(2),e=Lb[c],f=Lb[d];Lb[a]||e||f?(a=f?d:e?c:a,this.tokens.push({index:this.index,text:a,operator:!0}),this.index+=
a.length):this.throwError("Unexpected next character ",this.index,this.index+1)}return this.tokens},is:function(a,c){return-1!==c.indexOf(a)},peek:function(a){a=a||1;return this.index+a<this.text.length?this.text.charAt(this.index+a):!1},isNumber:function(a){return"0"<=a&&"9">=a&&"string"===typeof a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===
a||"+"===a||this.isNumber(a)},throwError:function(a,c,d){d=d||this.index;c=A(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw Z("lexerr",a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index<this.text.length;){var d=F(this.text.charAt(this.index));if("."==d||this.isNumber(d))a+=d;else{var e=this.peek();if("e"==d&&this.isExpOperator(e))a+=d;else if(this.isExpOperator(d)&&e&&this.isNumber(e)&&"e"==a.charAt(a.length-1))a+=d;else if(!this.isExpOperator(d)||
e&&this.isNumber(e)||"e"!=a.charAt(a.length-1))break;else this.throwError("Invalid exponent")}this.index++}this.tokens.push({index:c,text:a,constant:!0,value:Number(a)})},readIdent:function(){for(var a=this.index;this.index<this.text.length;){var c=this.text.charAt(this.index);if(!this.isIdent(c)&&!this.isNumber(c))break;this.index++}this.tokens.push({index:a,text:this.text.slice(a,this.index),identifier:!0})},readString:function(a){var c=this.index;this.index++;for(var d="",e=a,f=!1;this.index<this.text.length;){var h=
this.text.charAt(this.index),e=e+h;if(f)"u"===h?(f=this.text.substring(this.index+1,this.index+5),f.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+f+"]"),this.index+=4,d+=String.fromCharCode(parseInt(f,16))):d+=rg[h]||h,f=!1;else if("\\"===h)f=!0;else{if(h===a){this.index++;this.tokens.push({index:c,text:e,constant:!0,value:d});return}d+=h}this.index++}this.throwError("Unterminated quote",c)}};var s=function(a,c){this.lexer=a;this.options=c};s.Program="Program";s.ExpressionStatement=
"ExpressionStatement";s.AssignmentExpression="AssignmentExpression";s.ConditionalExpression="ConditionalExpression";s.LogicalExpression="LogicalExpression";s.BinaryExpression="BinaryExpression";s.UnaryExpression="UnaryExpression";s.CallExpression="CallExpression";s.MemberExpression="MemberExpression";s.Identifier="Identifier";s.Literal="Literal";s.ArrayExpression="ArrayExpression";s.Property="Property";s.ObjectExpression="ObjectExpression";s.ThisExpression="ThisExpression";s.NGValueParameter="NGValueParameter";
s.prototype={ast:function(a){this.text=a;this.tokens=this.lexer.lex(a);a=this.program();0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]);return a},program:function(){for(var a=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&a.push(this.expressionStatement()),!this.expect(";"))return{type:s.Program,body:a}},expressionStatement:function(){return{type:s.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var a=this.expression();this.expect("|");)a=
this.filter(a);return a},expression:function(){return this.assignment()},assignment:function(){var a=this.ternary();this.expect("=")&&(a={type:s.AssignmentExpression,left:a,right:this.assignment(),operator:"="});return a},ternary:function(){var a=this.logicalOR(),c,d;return this.expect("?")&&(c=this.expression(),this.consume(":"))?(d=this.expression(),{type:s.ConditionalExpression,test:a,alternate:c,consequent:d}):a},logicalOR:function(){for(var a=this.logicalAND();this.expect("||");)a={type:s.LogicalExpression,
operator:"||",left:a,right:this.logicalAND()};return a},logicalAND:function(){for(var a=this.equality();this.expect("&&");)a={type:s.LogicalExpression,operator:"&&",left:a,right:this.equality()};return a},equality:function(){for(var a=this.relational(),c;c=this.expect("==","!=","===","!==");)a={type:s.BinaryExpression,operator:c.text,left:a,right:this.relational()};return a},relational:function(){for(var a=this.additive(),c;c=this.expect("<",">","<=",">=");)a={type:s.BinaryExpression,operator:c.text,
left:a,right:this.additive()};return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a={type:s.BinaryExpression,operator:c.text,left:a,right:this.multiplicative()};return a},multiplicative:function(){for(var a=this.unary(),c;c=this.expect("*","/","%");)a={type:s.BinaryExpression,operator:c.text,left:a,right:this.unary()};return a},unary:function(){var a;return(a=this.expect("+","-","!"))?{type:s.UnaryExpression,operator:a.text,prefix:!0,argument:this.unary()}:this.primary()},
primary:function(){var a;this.expect("(")?(a=this.filterChain(),this.consume(")")):this.expect("[")?a=this.arrayDeclaration():this.expect("{")?a=this.object():this.constants.hasOwnProperty(this.peek().text)?a=ha(this.constants[this.consume().text]):this.peek().identifier?a=this.identifier():this.peek().constant?a=this.constant():this.throwError("not a primary expression",this.peek());for(var c;c=this.expect("(","[",".");)"("===c.text?(a={type:s.CallExpression,callee:a,arguments:this.parseArguments()},
this.consume(")")):"["===c.text?(a={type:s.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===c.text?a={type:s.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return a},filter:function(a){a=[a];for(var c={type:s.CallExpression,callee:this.identifier(),arguments:a,filter:!0};this.expect(":");)a.push(this.expression());return c},parseArguments:function(){var a=[];if(")"!==this.peekToken().text){do a.push(this.expression());
while(this.expect(","))}return a},identifier:function(){var a=this.consume();a.identifier||this.throwError("is not a valid identifier",a);return{type:s.Identifier,name:a.text}},constant:function(){return{type:s.Literal,value:this.consume().value}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text){do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(","))}this.consume("]");return{type:s.ArrayExpression,elements:a}},object:function(){var a=[],c;if("}"!==this.peekToken().text){do{if(this.peek("}"))break;
c={type:s.Property,kind:"init"};this.peek().constant?c.key=this.constant():this.peek().identifier?c.key=this.identifier():this.throwError("invalid key",this.peek());this.consume(":");c.value=this.expression();a.push(c)}while(this.expect(","))}this.consume("}");return{type:s.ObjectExpression,properties:a}},throwError:function(a,c){throw Z("syntax",c.text,a,c.index+1,this.text,this.text.substring(c.index));},consume:function(a){if(0===this.tokens.length)throw Z("ueoe",this.text);var c=this.expect(a);
c||this.throwError("is unexpected, expecting ["+a+"]",this.peek());return c},peekToken:function(){if(0===this.tokens.length)throw Z("ueoe",this.text);return this.tokens[0]},peek:function(a,c,d,e){return this.peekAhead(0,a,c,d,e)},peekAhead:function(a,c,d,e,f){if(this.tokens.length>a){a=this.tokens[a];var h=a.text;if(h===c||h===d||h===e||h===f||!(c||d||e||f))return a}return!1},expect:function(a,c,d,e){return(a=this.peek(a,c,d,e))?(this.tokens.shift(),a):!1},constants:{"true":{type:s.Literal,value:!0},
"false":{type:s.Literal,value:!1},"null":{type:s.Literal,value:null},undefined:{type:s.Literal,value:w},"this":{type:s.ThisExpression}}};sd.prototype={compile:function(a,c){var d=this,e=this.astBuilder.ast(a);this.state={nextId:0,filters:{},expensiveChecks:c,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]};U(e,d.$filter);var f="",h;this.stage="assign";if(h=qd(e))this.state.computing="assign",f=this.nextId(),this.recurse(h,f),this.return_(f),f="fn.assign="+this.generateFunction("assign",
"s,v,l");h=od(e.body);d.stage="inputs";m(h,function(a,c){var e="fn"+c;d.state[e]={vars:[],body:[],own:{}};d.state.computing=e;var f=d.nextId();d.recurse(a,f);d.return_(f);d.state.inputs.push(e);a.watchId=c});this.state.computing="fn";this.stage="main";this.recurse(e);f='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+f+this.watchFns()+"return fn;";f=(new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue",
"ensureSafeAssignContext","ifDefined","plus","text",f))(this.$filter,Xa,Ba,ld,kd,md,Xf,nd,a);this.state=this.stage=w;f.literal=rd(e);f.constant=e.constant;return f},USE:"use",STRICT:"strict",watchFns:function(){var a=[],c=this.state.inputs,d=this;m(c,function(c){a.push("var "+c+"="+d.generateFunction(c,"s"))});c.length&&a.push("fn.inputs=["+c.join(",")+"];");return a.join("")},generateFunction:function(a,c){return"function("+c+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a=
[],c=this;m(this.state.filters,function(d,e){a.push(d+"=$filter("+c.escape(e)+")")});return a.length?"var "+a.join(",")+";":""},varsPrefix:function(a){return this.state[a].vars.length?"var "+this.state[a].vars.join(",")+";":""},body:function(a){return this.state[a].body.join("")},recurse:function(a,c,d,e,f,h){var g,l,k=this,n,p;e=e||y;if(!h&&A(a.watchId))c=c||this.nextId(),this.if_("i",this.lazyAssign(c,this.computedMember("i",a.watchId)),this.lazyRecurse(a,c,d,e,f,!0));else switch(a.type){case s.Program:m(a.body,
function(c,d){k.recurse(c.expression,w,w,function(a){l=a});d!==a.body.length-1?k.current().body.push(l,";"):k.return_(l)});break;case s.Literal:p=this.escape(a.value);this.assign(c,p);e(p);break;case s.UnaryExpression:this.recurse(a.argument,w,w,function(a){l=a});p=a.operator+"("+this.ifDefined(l,0)+")";this.assign(c,p);e(p);break;case s.BinaryExpression:this.recurse(a.left,w,w,function(a){g=a});this.recurse(a.right,w,w,function(a){l=a});p="+"===a.operator?this.plus(g,l):"-"===a.operator?this.ifDefined(g,
0)+a.operator+this.ifDefined(l,0):"("+g+")"+a.operator+"("+l+")";this.assign(c,p);e(p);break;case s.LogicalExpression:c=c||this.nextId();k.recurse(a.left,c);k.if_("&&"===a.operator?c:k.not(c),k.lazyRecurse(a.right,c));e(c);break;case s.ConditionalExpression:c=c||this.nextId();k.recurse(a.test,c);k.if_(c,k.lazyRecurse(a.alternate,c),k.lazyRecurse(a.consequent,c));e(c);break;case s.Identifier:c=c||this.nextId();d&&(d.context="inputs"===k.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",
a.name)+"?l:s"),d.computed=!1,d.name=a.name);Xa(a.name);k.if_("inputs"===k.stage||k.not(k.getHasOwnProperty("l",a.name)),function(){k.if_("inputs"===k.stage||"s",function(){f&&1!==f&&k.if_(k.not(k.nonComputedMember("s",a.name)),k.lazyAssign(k.nonComputedMember("s",a.name),"{}"));k.assign(c,k.nonComputedMember("s",a.name))})},c&&k.lazyAssign(c,k.nonComputedMember("l",a.name)));(k.state.expensiveChecks||Fb(a.name))&&k.addEnsureSafeObject(c);e(c);break;case s.MemberExpression:g=d&&(d.context=this.nextId())||
this.nextId();c=c||this.nextId();k.recurse(a.object,g,w,function(){k.if_(k.notNull(g),function(){if(a.computed)l=k.nextId(),k.recurse(a.property,l),k.getStringValue(l),k.addEnsureSafeMemberName(l),f&&1!==f&&k.if_(k.not(k.computedMember(g,l)),k.lazyAssign(k.computedMember(g,l),"{}")),p=k.ensureSafeObject(k.computedMember(g,l)),k.assign(c,p),d&&(d.computed=!0,d.name=l);else{Xa(a.property.name);f&&1!==f&&k.if_(k.not(k.nonComputedMember(g,a.property.name)),k.lazyAssign(k.nonComputedMember(g,a.property.name),
"{}"));p=k.nonComputedMember(g,a.property.name);if(k.state.expensiveChecks||Fb(a.property.name))p=k.ensureSafeObject(p);k.assign(c,p);d&&(d.computed=!1,d.name=a.property.name)}},function(){k.assign(c,"undefined")});e(c)},!!f);break;case s.CallExpression:c=c||this.nextId();a.filter?(l=k.filter(a.callee.name),n=[],m(a.arguments,function(a){var c=k.nextId();k.recurse(a,c);n.push(c)}),p=l+"("+n.join(",")+")",k.assign(c,p),e(c)):(l=k.nextId(),g={},n=[],k.recurse(a.callee,l,g,function(){k.if_(k.notNull(l),
function(){k.addEnsureSafeFunction(l);m(a.arguments,function(a){k.recurse(a,k.nextId(),w,function(a){n.push(k.ensureSafeObject(a))})});g.name?(k.state.expensiveChecks||k.addEnsureSafeObject(g.context),p=k.member(g.context,g.name,g.computed)+"("+n.join(",")+")"):p=l+"("+n.join(",")+")";p=k.ensureSafeObject(p);k.assign(c,p)},function(){k.assign(c,"undefined")});e(c)}));break;case s.AssignmentExpression:l=this.nextId();g={};if(!pd(a.left))throw Z("lval");this.recurse(a.left,w,g,function(){k.if_(k.notNull(g.context),
function(){k.recurse(a.right,l);k.addEnsureSafeObject(k.member(g.context,g.name,g.computed));k.addEnsureSafeAssignContext(g.context);p=k.member(g.context,g.name,g.computed)+a.operator+l;k.assign(c,p);e(c||p)})},1);break;case s.ArrayExpression:n=[];m(a.elements,function(a){k.recurse(a,k.nextId(),w,function(a){n.push(a)})});p="["+n.join(",")+"]";this.assign(c,p);e(p);break;case s.ObjectExpression:n=[];m(a.properties,function(a){k.recurse(a.value,k.nextId(),w,function(c){n.push(k.escape(a.key.type===
s.Identifier?a.key.name:""+a.key.value)+":"+c)})});p="{"+n.join(",")+"}";this.assign(c,p);e(p);break;case s.ThisExpression:this.assign(c,"s");e("s");break;case s.NGValueParameter:this.assign(c,"v"),e("v")}},getHasOwnProperty:function(a,c){var d=a+"."+c,e=this.current().own;e.hasOwnProperty(d)||(e[d]=this.nextId(!1,a+"&&("+this.escape(c)+" in "+a+")"));return e[d]},assign:function(a,c){if(a)return this.current().body.push(a,"=",c,";"),a},filter:function(a){this.state.filters.hasOwnProperty(a)||(this.state.filters[a]=
this.nextId(!0));return this.state.filters[a]},ifDefined:function(a,c){return"ifDefined("+a+","+this.escape(c)+")"},plus:function(a,c){return"plus("+a+","+c+")"},return_:function(a){this.current().body.push("return ",a,";")},if_:function(a,c,d){if(!0===a)c();else{var e=this.current().body;e.push("if(",a,"){");c();e.push("}");d&&(e.push("else{"),d(),e.push("}"))}},not:function(a){return"!("+a+")"},notNull:function(a){return a+"!=null"},nonComputedMember:function(a,c){return a+"."+c},computedMember:function(a,
c){return a+"["+c+"]"},member:function(a,c,d){return d?this.computedMember(a,c):this.nonComputedMember(a,c)},addEnsureSafeObject:function(a){this.current().body.push(this.ensureSafeObject(a),";")},addEnsureSafeMemberName:function(a){this.current().body.push(this.ensureSafeMemberName(a),";")},addEnsureSafeFunction:function(a){this.current().body.push(this.ensureSafeFunction(a),";")},addEnsureSafeAssignContext:function(a){this.current().body.push(this.ensureSafeAssignContext(a),";")},ensureSafeObject:function(a){return"ensureSafeObject("+
a+",text)"},ensureSafeMemberName:function(a){return"ensureSafeMemberName("+a+",text)"},ensureSafeFunction:function(a){return"ensureSafeFunction("+a+",text)"},getStringValue:function(a){this.assign(a,"getStringValue("+a+",text)")},ensureSafeAssignContext:function(a){return"ensureSafeAssignContext("+a+",text)"},lazyRecurse:function(a,c,d,e,f,h){var g=this;return function(){g.recurse(a,c,d,e,f,h)}},lazyAssign:function(a,c){var d=this;return function(){d.assign(a,c)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,
stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(G(a))return"'"+a.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(V(a))return a.toString();if(!0===a)return"true";if(!1===a)return"false";if(null===a)return"null";if("undefined"===typeof a)return"undefined";throw Z("esc");},nextId:function(a,c){var d="v"+this.state.nextId++;a||this.current().vars.push(d+(c?"="+c:""));return d},current:function(){return this.state[this.state.computing]}};
td.prototype={compile:function(a,c){var d=this,e=this.astBuilder.ast(a);this.expression=a;this.expensiveChecks=c;U(e,d.$filter);var f,h;if(f=qd(e))h=this.recurse(f);f=od(e.body);var g;f&&(g=[],m(f,function(a,c){var e=d.recurse(a);a.input=e;g.push(e);a.watchId=c}));var l=[];m(e.body,function(a){l.push(d.recurse(a.expression))});f=0===e.body.length?function(){}:1===e.body.length?l[0]:function(a,c){var d;m(l,function(e){d=e(a,c)});return d};h&&(f.assign=function(a,c,d){return h(a,d,c)});g&&(f.inputs=
g);f.literal=rd(e);f.constant=e.constant;return f},recurse:function(a,c,d){var e,f,h=this,g;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case s.Literal:return this.value(a.value,c);case s.UnaryExpression:return f=this.recurse(a.argument),this["unary"+a.operator](f,c);case s.BinaryExpression:return e=this.recurse(a.left),f=this.recurse(a.right),this["binary"+a.operator](e,f,c);case s.LogicalExpression:return e=this.recurse(a.left),f=this.recurse(a.right),this["binary"+a.operator](e,
f,c);case s.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),c);case s.Identifier:return Xa(a.name,h.expression),h.identifier(a.name,h.expensiveChecks||Fb(a.name),c,d,h.expression);case s.MemberExpression:return e=this.recurse(a.object,!1,!!d),a.computed||(Xa(a.property.name,h.expression),f=a.property.name),a.computed&&(f=this.recurse(a.property)),a.computed?this.computedMember(e,f,c,d,h.expression):this.nonComputedMember(e,f,
h.expensiveChecks,c,d,h.expression);case s.CallExpression:return g=[],m(a.arguments,function(a){g.push(h.recurse(a))}),a.filter&&(f=this.$filter(a.callee.name)),a.filter||(f=this.recurse(a.callee,!0)),a.filter?function(a,d,e,h){for(var r=[],m=0;m<g.length;++m)r.push(g[m](a,d,e,h));a=f.apply(w,r,h);return c?{context:w,name:w,value:a}:a}:function(a,d,e,p){var r=f(a,d,e,p),m;if(null!=r.value){Ba(r.context,h.expression);ld(r.value,h.expression);m=[];for(var s=0;s<g.length;++s)m.push(Ba(g[s](a,d,e,p),
h.expression));m=Ba(r.value.apply(r.context,m),h.expression)}return c?{value:m}:m};case s.AssignmentExpression:return e=this.recurse(a.left,!0,1),f=this.recurse(a.right),function(a,d,g,p){var r=e(a,d,g,p);a=f(a,d,g,p);Ba(r.value,h.expression);md(r.context);r.context[r.name]=a;return c?{value:a}:a};case s.ArrayExpression:return g=[],m(a.elements,function(a){g.push(h.recurse(a))}),function(a,d,e,f){for(var h=[],m=0;m<g.length;++m)h.push(g[m](a,d,e,f));return c?{value:h}:h};case s.ObjectExpression:return g=
[],m(a.properties,function(a){g.push({key:a.key.type===s.Identifier?a.key.name:""+a.key.value,value:h.recurse(a.value)})}),function(a,d,e,f){for(var h={},m=0;m<g.length;++m)h[g[m].key]=g[m].value(a,d,e,f);return c?{value:h}:h};case s.ThisExpression:return function(a){return c?{value:a}:a};case s.NGValueParameter:return function(a,d,e,f){return c?{value:e}:e}}},"unary+":function(a,c){return function(d,e,f,h){d=a(d,e,f,h);d=A(d)?+d:0;return c?{value:d}:d}},"unary-":function(a,c){return function(d,e,
f,h){d=a(d,e,f,h);d=A(d)?-d:0;return c?{value:d}:d}},"unary!":function(a,c){return function(d,e,f,h){d=!a(d,e,f,h);return c?{value:d}:d}},"binary+":function(a,c,d){return function(e,f,h,g){var l=a(e,f,h,g);e=c(e,f,h,g);l=nd(l,e);return d?{value:l}:l}},"binary-":function(a,c,d){return function(e,f,h,g){var l=a(e,f,h,g);e=c(e,f,h,g);l=(A(l)?l:0)-(A(e)?e:0);return d?{value:l}:l}},"binary*":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)*c(e,f,h,g);return d?{value:e}:e}},"binary/":function(a,c,
d){return function(e,f,h,g){e=a(e,f,h,g)/c(e,f,h,g);return d?{value:e}:e}},"binary%":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)%c(e,f,h,g);return d?{value:e}:e}},"binary===":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)===c(e,f,h,g);return d?{value:e}:e}},"binary!==":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)!==c(e,f,h,g);return d?{value:e}:e}},"binary==":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)==c(e,f,h,g);return d?{value:e}:e}},"binary!=":function(a,c,
d){return function(e,f,h,g){e=a(e,f,h,g)!=c(e,f,h,g);return d?{value:e}:e}},"binary<":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)<c(e,f,h,g);return d?{value:e}:e}},"binary>":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)>c(e,f,h,g);return d?{value:e}:e}},"binary<=":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)<=c(e,f,h,g);return d?{value:e}:e}},"binary>=":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)>=c(e,f,h,g);return d?{value:e}:e}},"binary&&":function(a,c,d){return function(e,
f,h,g){e=a(e,f,h,g)&&c(e,f,h,g);return d?{value:e}:e}},"binary||":function(a,c,d){return function(e,f,h,g){e=a(e,f,h,g)||c(e,f,h,g);return d?{value:e}:e}},"ternary?:":function(a,c,d,e){return function(f,h,g,l){f=a(f,h,g,l)?c(f,h,g,l):d(f,h,g,l);return e?{value:f}:f}},value:function(a,c){return function(){return c?{context:w,name:w,value:a}:a}},identifier:function(a,c,d,e,f){return function(h,g,l,k){h=g&&a in g?g:h;e&&1!==e&&h&&!h[a]&&(h[a]={});g=h?h[a]:w;c&&Ba(g,f);return d?{context:h,name:a,value:g}:
g}},computedMember:function(a,c,d,e,f){return function(h,g,l,k){var n=a(h,g,l,k),p,m;null!=n&&(p=c(h,g,l,k),p=kd(p),Xa(p,f),e&&1!==e&&n&&!n[p]&&(n[p]={}),m=n[p],Ba(m,f));return d?{context:n,name:p,value:m}:m}},nonComputedMember:function(a,c,d,e,f,h){return function(g,l,k,n){g=a(g,l,k,n);f&&1!==f&&g&&!g[c]&&(g[c]={});l=null!=g?g[c]:w;(d||Fb(c))&&Ba(l,h);return e?{context:g,name:c,value:l}:l}},inputs:function(a,c){return function(d,e,f,h){return h?h[c]:a(d,e,f)}}};var fc=function(a,c,d){this.lexer=
a;this.$filter=c;this.options=d;this.ast=new s(this.lexer);this.astCompiler=d.csp?new td(this.ast,c):new sd(this.ast,c)};fc.prototype={constructor:fc,parse:function(a){return this.astCompiler.compile(a,this.options.expensiveChecks)}};fa();fa();var Yf=Object.prototype.valueOf,Ca=I("$sce"),oa={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},ga=I("$compile"),$=X.createElement("a"),xd=Aa(Q.location.href);yd.$inject=["$document"];Kc.$inject=["$provide"];zd.$inject=["$locale"];Bd.$inject=
["$locale"];var hc=".",hg={yyyy:aa("FullYear",4),yy:aa("FullYear",2,0,!0),y:aa("FullYear",1),MMMM:Hb("Month"),MMM:Hb("Month",!0),MM:aa("Month",2,1),M:aa("Month",1,1),dd:aa("Date",2),d:aa("Date",1),HH:aa("Hours",2),H:aa("Hours",1),hh:aa("Hours",2,-12),h:aa("Hours",1,-12),mm:aa("Minutes",2),m:aa("Minutes",1),ss:aa("Seconds",2),s:aa("Seconds",1),sss:aa("Milliseconds",3),EEEE:Hb("Day"),EEE:Hb("Day",!0),a:function(a,c){return 12>a.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a,c,d){a=-1*d;return a=(0<=
a?"+":"")+(Gb(Math[0<a?"floor":"ceil"](a/60),2)+Gb(Math.abs(a%60),2))},ww:Fd(2),w:Fd(1),G:ic,GG:ic,GGG:ic,GGGG:function(a,c){return 0>=a.getFullYear()?c.ERANAMES[0]:c.ERANAMES[1]}},gg=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,fg=/^\-?\d+$/;Ad.$inject=["$locale"];var cg=qa(F),dg=qa(sb);Cd.$inject=["$parse"];var he=qa({restrict:"E",compile:function(a,c){if(!c.href&&!c.xlinkHref)return function(a,c){if("a"===c[0].nodeName.toLowerCase()){var f="[object SVGAnimatedString]"===
va.call(c.prop("href"))?"xlink:href":"href";c.on("click",function(a){c.attr(f)||a.preventDefault()})}}}}),tb={};m(Bb,function(a,c){function d(a,d,f){a.$watch(f[e],function(a){f.$set(c,!!a)})}if("multiple"!=a){var e=ya("ng-"+c),f=d;"checked"===a&&(f=function(a,c,f){f.ngModel!==f[e]&&d(a,c,f)});tb[e]=function(){return{restrict:"A",priority:100,link:f}}}});m($c,function(a,c){tb[c]=function(){return{priority:100,link:function(a,e,f){if("ngPattern"===c&&"/"==f.ngPattern.charAt(0)&&(e=f.ngPattern.match(jg))){f.$set("ngPattern",
new RegExp(e[1],e[2]));return}a.$watch(f[c],function(a){f.$set(c,a)})}}}});m(["src","srcset","href"],function(a){var c=ya("ng-"+a);tb[c]=function(){return{priority:99,link:function(d,e,f){var h=a,g=a;"href"===a&&"[object SVGAnimatedString]"===va.call(e.prop("href"))&&(g="xlinkHref",f.$attr[g]="xlink:href",h=null);f.$observe(c,function(c){c?(f.$set(g,c),Wa&&h&&e.prop(h,f[g])):"href"===a&&f.$set(g,null)})}}}});var Ib={$addControl:y,$$renameControl:function(a,c){a.$name=c},$removeControl:y,$setValidity:y,
$setDirty:y,$setPristine:y,$setSubmitted:y};Gd.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var Od=function(a){return["$timeout","$parse",function(c,d){function e(a){return""===a?d('this[""]').assign:d(a).assign||y}return{name:"form",restrict:a?"EAC":"E",require:["form","^^?form"],controller:Gd,compile:function(d,h){d.addClass(Ya).addClass(mb);var g=h.name?"name":a&&h.ngForm?"ngForm":!1;return{pre:function(a,d,f,h){var m=h[0];if(!("action"in f)){var t=function(c){a.$apply(function(){m.$commitViewValue();
m.$setSubmitted()});c.preventDefault()};d[0].addEventListener("submit",t,!1);d.on("$destroy",function(){c(function(){d[0].removeEventListener("submit",t,!1)},0,!1)})}(h[1]||m.$$parentForm).$addControl(m);var s=g?e(m.$name):y;g&&(s(a,m),f.$observe(g,function(c){m.$name!==c&&(s(a,w),m.$$parentForm.$$renameControl(m,c),s=e(m.$name),s(a,m))}));d.on("$destroy",function(){m.$$parentForm.$removeControl(m);s(a,w);P(m,Ib)})}}}}}]},ie=Od(),ve=Od(!0),ig=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,
sg=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,tg=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,ug=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Pd=/^(\d{4})-(\d{2})-(\d{2})$/,Qd=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,lc=/^(\d{4})-W(\d\d)$/,Rd=/^(\d{4})-(\d\d)$/,Sd=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Td={text:function(a,c,d,e,f,h){jb(a,c,d,e,f,h);jc(e)},date:kb("date",
Pd,Kb(Pd,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":kb("datetimelocal",Qd,Kb(Qd,"yyyy MM dd HH mm ss sss".split(" ")),"yyyy-MM-ddTHH:mm:ss.sss"),time:kb("time",Sd,Kb(Sd,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:kb("week",lc,function(a,c){if(ea(a))return a;if(G(a)){lc.lastIndex=0;var d=lc.exec(a);if(d){var e=+d[1],f=+d[2],h=d=0,g=0,l=0,k=Ed(e),f=7*(f-1);c&&(d=c.getHours(),h=c.getMinutes(),g=c.getSeconds(),l=c.getMilliseconds());return new Date(e,0,k.getDate()+f,d,h,g,l)}}return NaN},"yyyy-Www"),
month:kb("month",Rd,Kb(Rd,["yyyy","MM"]),"yyyy-MM"),number:function(a,c,d,e,f,h){Id(a,c,d,e);jb(a,c,d,e,f,h);e.$$parserName="number";e.$parsers.push(function(a){return e.$isEmpty(a)?null:ug.test(a)?parseFloat(a):w});e.$formatters.push(function(a){if(!e.$isEmpty(a)){if(!V(a))throw lb("numfmt",a);a=a.toString()}return a});if(A(d.min)||d.ngMin){var g;e.$validators.min=function(a){return e.$isEmpty(a)||v(g)||a>=g};d.$observe("min",function(a){A(a)&&!V(a)&&(a=parseFloat(a,10));g=V(a)&&!isNaN(a)?a:w;e.$validate()})}if(A(d.max)||
d.ngMax){var l;e.$validators.max=function(a){return e.$isEmpty(a)||v(l)||a<=l};d.$observe("max",function(a){A(a)&&!V(a)&&(a=parseFloat(a,10));l=V(a)&&!isNaN(a)?a:w;e.$validate()})}},url:function(a,c,d,e,f,h){jb(a,c,d,e,f,h);jc(e);e.$$parserName="url";e.$validators.url=function(a,c){var d=a||c;return e.$isEmpty(d)||sg.test(d)}},email:function(a,c,d,e,f,h){jb(a,c,d,e,f,h);jc(e);e.$$parserName="email";e.$validators.email=function(a,c){var d=a||c;return e.$isEmpty(d)||tg.test(d)}},radio:function(a,c,
d,e){v(d.name)&&c.attr("name",++nb);c.on("click",function(a){c[0].checked&&e.$setViewValue(d.value,a&&a.type)});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e,f,h,g,l){var k=Jd(l,a,"ngTrueValue",d.ngTrueValue,!0),n=Jd(l,a,"ngFalseValue",d.ngFalseValue,!1);c.on("click",function(a){e.$setViewValue(c[0].checked,a&&a.type)});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return!1===a};e.$formatters.push(function(a){return ka(a,
k)});e.$parsers.push(function(a){return a?k:n})},hidden:y,button:y,submit:y,reset:y,file:y},Ec=["$browser","$sniffer","$filter","$parse",function(a,c,d,e){return{restrict:"E",require:["?ngModel"],link:{pre:function(f,h,g,l){l[0]&&(Td[F(g.type)]||Td.text)(f,h,g,l[0],c,a,d,e)}}}}],vg=/^(true|false|\d+)$/,Ne=function(){return{restrict:"A",priority:100,compile:function(a,c){return vg.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,c,f){a.$watch(f.ngValue,function(a){f.$set("value",
a)})}}}},ne=["$compile",function(a){return{restrict:"AC",compile:function(c){a.$$addBindingClass(c);return function(c,e,f){a.$$addBindingInfo(e,f.ngBind);e=e[0];c.$watch(f.ngBind,function(a){e.textContent=v(a)?"":a})}}}}],pe=["$interpolate","$compile",function(a,c){return{compile:function(d){c.$$addBindingClass(d);return function(d,f,h){d=a(f.attr(h.$attr.ngBindTemplate));c.$$addBindingInfo(f,d.expressions);f=f[0];h.$observe("ngBindTemplate",function(a){f.textContent=v(a)?"":a})}}}}],oe=["$sce","$parse",
"$compile",function(a,c,d){return{restrict:"A",compile:function(e,f){var h=c(f.ngBindHtml),g=c(f.ngBindHtml,function(a){return(a||"").toString()});d.$$addBindingClass(e);return function(c,e,f){d.$$addBindingInfo(e,f.ngBindHtml);c.$watch(g,function(){e.html(a.getTrustedHtml(h(c))||"")})}}}}],Me=qa({restrict:"A",require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),qe=kc("",!0),se=kc("Odd",0),re=kc("Even",1),te=Na({compile:function(a,c){c.$set("ngCloak",
w);a.removeClass("ng-cloak")}}),ue=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Jc={},wg={blur:!0,focus:!0};m("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var c=ya("ng-"+a);Jc[c]=["$parse","$rootScope",function(d,e){return{restrict:"A",compile:function(f,h){var g=d(h[c],null,!0);return function(c,d){d.on(a,function(d){var f=function(){g(c,{$event:d})};
wg[a]&&e.$$phase?c.$evalAsync(f):c.$apply(f)})}}}}]});var xe=["$animate",function(a){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,h){var g,l,k;c.$watch(e.ngIf,function(c){c?l||h(function(c,f){l=f;c[c.length++]=X.createComment(" end ngIf: "+e.ngIf+" ");g={clone:c};a.enter(c,d.parent(),d)}):(k&&(k.remove(),k=null),l&&(l.$destroy(),l=null),g&&(k=rb(g.clone),a.leave(k).then(function(){k=null}),g=null))})}}}],ye=["$templateRequest","$anchorScroll",
"$animate",function(a,c,d){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:da.noop,compile:function(e,f){var h=f.ngInclude||f.src,g=f.onload||"",l=f.autoscroll;return function(e,f,m,r,t){var s=0,v,u,q,z=function(){u&&(u.remove(),u=null);v&&(v.$destroy(),v=null);q&&(d.leave(q).then(function(){u=null}),u=q,q=null)};e.$watch(h,function(h){var m=function(){!A(l)||l&&!e.$eval(l)||c()},p=++s;h?(a(h,!0).then(function(a){if(p===s){var c=e.$new();r.template=a;a=t(c,function(a){z();
d.enter(a,null,f).then(m)});v=c;q=a;v.$emit("$includeContentLoaded",h);e.$eval(g)}},function(){p===s&&(z(),e.$emit("$includeContentError",h))}),e.$emit("$includeContentRequested",h)):(z(),r.template=null)})}}}}],Pe=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){/SVG/.test(d[0].toString())?(d.empty(),a(Mc(f.template,X).childNodes)(c,function(a){d.append(a)},{futureParentElement:d})):(d.html(f.template),a(d.contents())(c))}}}],ze=Na({priority:450,
compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Le=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,c,d,e){var f=c.attr(d.$attr.ngList)||", ",h="false"!==d.ngTrim,g=h?T(f):f;e.$parsers.push(function(a){if(!v(a)){var c=[];a&&m(a.split(g),function(a){a&&c.push(h?T(a):a)});return c}});e.$formatters.push(function(a){return J(a)?a.join(f):w});e.$isEmpty=function(a){return!a||!a.length}}}},mb="ng-valid",Kd="ng-invalid",Ya="ng-pristine",Jb="ng-dirty",Md=
"ng-pending",lb=I("ngModel"),xg=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(a,c,d,e,f,h,g,l,k,n){this.$modelValue=this.$viewValue=Number.NaN;this.$$rawModelValue=w;this.$validators={};this.$asyncValidators={};this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$untouched=!0;this.$touched=!1;this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$error={};this.$$success={};this.$pending=
w;this.$name=n(d.name||"",!1)(a);this.$$parentForm=Ib;var p=f(d.ngModel),r=p.assign,t=p,s=r,K=null,u,q=this;this.$$setOptions=function(a){if((q.$options=a)&&a.getterSetter){var c=f(d.ngModel+"()"),g=f(d.ngModel+"($$$p)");t=function(a){var d=p(a);x(d)&&(d=c(a));return d};s=function(a,c){x(p(a))?g(a,{$$$p:q.$modelValue}):r(a,q.$modelValue)}}else if(!p.assign)throw lb("nonassign",d.ngModel,xa(e));};this.$render=y;this.$isEmpty=function(a){return v(a)||""===a||null===a||a!==a};var z=0;Hd({ctrl:this,$element:e,
set:function(a,c){a[c]=!0},unset:function(a,c){delete a[c]},$animate:h});this.$setPristine=function(){q.$dirty=!1;q.$pristine=!0;h.removeClass(e,Jb);h.addClass(e,Ya)};this.$setDirty=function(){q.$dirty=!0;q.$pristine=!1;h.removeClass(e,Ya);h.addClass(e,Jb);q.$$parentForm.$setDirty()};this.$setUntouched=function(){q.$touched=!1;q.$untouched=!0;h.setClass(e,"ng-untouched","ng-touched")};this.$setTouched=function(){q.$touched=!0;q.$untouched=!1;h.setClass(e,"ng-touched","ng-untouched")};this.$rollbackViewValue=
function(){g.cancel(K);q.$viewValue=q.$$lastCommittedViewValue;q.$render()};this.$validate=function(){if(!V(q.$modelValue)||!isNaN(q.$modelValue)){var a=q.$$rawModelValue,c=q.$valid,d=q.$modelValue,e=q.$options&&q.$options.allowInvalid;q.$$runValidators(a,q.$$lastCommittedViewValue,function(f){e||c===f||(q.$modelValue=f?a:w,q.$modelValue!==d&&q.$$writeModelToScope())})}};this.$$runValidators=function(a,c,d){function e(){var d=!0;m(q.$validators,function(e,f){var h=e(a,c);d=d&&h;g(f,h)});return d?
!0:(m(q.$asyncValidators,function(a,c){g(c,null)}),!1)}function f(){var d=[],e=!0;m(q.$asyncValidators,function(f,h){var k=f(a,c);if(!k||!x(k.then))throw lb("$asyncValidators",k);g(h,w);d.push(k.then(function(){g(h,!0)},function(a){e=!1;g(h,!1)}))});d.length?k.all(d).then(function(){h(e)},y):h(!0)}function g(a,c){l===z&&q.$setValidity(a,c)}function h(a){l===z&&d(a)}z++;var l=z;(function(){var a=q.$$parserName||"parse";if(v(u))g(a,null);else return u||(m(q.$validators,function(a,c){g(c,null)}),m(q.$asyncValidators,
function(a,c){g(c,null)})),g(a,u),u;return!0})()?e()?f():h(!1):h(!1)};this.$commitViewValue=function(){var a=q.$viewValue;g.cancel(K);if(q.$$lastCommittedViewValue!==a||""===a&&q.$$hasNativeValidators)q.$$lastCommittedViewValue=a,q.$pristine&&this.$setDirty(),this.$$parseAndValidate()};this.$$parseAndValidate=function(){var c=q.$$lastCommittedViewValue;if(u=v(c)?w:!0)for(var d=0;d<q.$parsers.length;d++)if(c=q.$parsers[d](c),v(c)){u=!1;break}V(q.$modelValue)&&isNaN(q.$modelValue)&&(q.$modelValue=t(a));
var e=q.$modelValue,f=q.$options&&q.$options.allowInvalid;q.$$rawModelValue=c;f&&(q.$modelValue=c,q.$modelValue!==e&&q.$$writeModelToScope());q.$$runValidators(c,q.$$lastCommittedViewValue,function(a){f||(q.$modelValue=a?c:w,q.$modelValue!==e&&q.$$writeModelToScope())})};this.$$writeModelToScope=function(){s(a,q.$modelValue);m(q.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}})};this.$setViewValue=function(a,c){q.$viewValue=a;q.$options&&!q.$options.updateOnDefault||q.$$debounceViewValueCommit(c)};
this.$$debounceViewValueCommit=function(c){var d=0,e=q.$options;e&&A(e.debounce)&&(e=e.debounce,V(e)?d=e:V(e[c])?d=e[c]:V(e["default"])&&(d=e["default"]));g.cancel(K);d?K=g(function(){q.$commitViewValue()},d):l.$$phase?q.$commitViewValue():a.$apply(function(){q.$commitViewValue()})};a.$watch(function(){var c=t(a);if(c!==q.$modelValue&&(q.$modelValue===q.$modelValue||c===c)){q.$modelValue=q.$$rawModelValue=c;u=w;for(var d=q.$formatters,e=d.length,f=c;e--;)f=d[e](f);q.$viewValue!==f&&(q.$viewValue=
q.$$lastCommittedViewValue=f,q.$render(),q.$$runValidators(c,f,y))}return c})}],Ke=["$rootScope",function(a){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:xg,priority:1,compile:function(c){c.addClass(Ya).addClass("ng-untouched").addClass(mb);return{pre:function(a,c,f,h){var g=h[0];c=h[1]||g.$$parentForm;g.$$setOptions(h[2]&&h[2].$options);c.$addControl(g);f.$observe("name",function(a){g.$name!==a&&g.$$parentForm.$$renameControl(g,a)});a.$on("$destroy",function(){g.$$parentForm.$removeControl(g)})},
post:function(c,e,f,h){var g=h[0];if(g.$options&&g.$options.updateOn)e.on(g.$options.updateOn,function(a){g.$$debounceViewValueCommit(a&&a.type)});e.on("blur",function(e){g.$touched||(a.$$phase?c.$evalAsync(g.$setTouched):c.$apply(g.$setTouched))})}}}}}],yg=/(\s+|^)default(\s+|$)/,Oe=function(){return{restrict:"A",controller:["$scope","$attrs",function(a,c){var d=this;this.$options=ha(a.$eval(c.ngModelOptions));A(this.$options.updateOn)?(this.$options.updateOnDefault=!1,this.$options.updateOn=T(this.$options.updateOn.replace(yg,
function(){d.$options.updateOnDefault=!0;return" "}))):this.$options.updateOnDefault=!0}]}},Ae=Na({terminal:!0,priority:1E3}),zg=I("ngOptions"),Ag=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,Ie=["$compile","$parse",function(a,c){function d(a,d,e){function f(a,c,d,e,g){this.selectValue=a;this.viewValue=c;this.label=
d;this.group=e;this.disabled=g}function n(a){var c;if(!s&&Da(a))c=a;else{c=[];for(var d in a)a.hasOwnProperty(d)&&"$"!==d.charAt(0)&&c.push(d)}return c}var m=a.match(Ag);if(!m)throw zg("iexp",a,xa(d));var r=m[5]||m[7],s=m[6];a=/ as /.test(m[0])&&m[1];var v=m[9];d=c(m[2]?m[1]:r);var w=a&&c(a)||d,u=v&&c(v),q=v?function(a,c){return u(e,c)}:function(a){return Ga(a)},z=function(a,c){return q(a,x(a,c))},y=c(m[2]||m[1]),A=c(m[3]||""),O=c(m[4]||""),H=c(m[8]),B={},x=s?function(a,c){B[s]=c;B[r]=a;return B}:
function(a){B[r]=a;return B};return{trackBy:v,getTrackByValue:z,getWatchables:c(H,function(a){var c=[];a=a||[];for(var d=n(a),f=d.length,g=0;g<f;g++){var h=a===d?g:d[g],k=x(a[h],h),h=q(a[h],k);c.push(h);if(m[2]||m[1])h=y(e,k),c.push(h);m[4]&&(k=O(e,k),c.push(k))}return c}),getOptions:function(){for(var a=[],c={},d=H(e)||[],g=n(d),h=g.length,m=0;m<h;m++){var p=d===g?m:g[m],r=x(d[p],p),s=w(e,r),p=q(s,r),t=y(e,r),u=A(e,r),r=O(e,r),s=new f(p,s,t,u,r);a.push(s);c[p]=s}return{items:a,selectValueMap:c,getOptionFromViewValue:function(a){return c[z(a)]},
getViewValueFromOption:function(a){return v?da.copy(a.viewValue):a.viewValue}}}}}var e=X.createElement("option"),f=X.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","?ngModel"],link:function(c,g,l,k){function n(a,c){a.element=c;c.disabled=a.disabled;a.label!==c.label&&(c.label=a.label,c.textContent=a.label);a.value!==c.value&&(c.value=a.selectValue)}function p(a,c,d,e){c&&F(c.nodeName)===d?d=c:(d=e.cloneNode(!1),c?a.insertBefore(d,c):a.appendChild(d));return d}function r(a){for(var c;a;)c=
a.nextSibling,Wb(a),a=c}function s(a){var c=q&&q[0],d=H&&H[0];if(c||d)for(;a&&(a===c||a===d||c&&8===c.nodeType);)a=a.nextSibling;return a}function v(){var a=x&&u.readValue();x=C.getOptions();var c={},d=g[0].firstChild;O&&g.prepend(q);d=s(d);x.items.forEach(function(a){var h,k;a.group?(h=c[a.group],h||(h=p(g[0],d,"optgroup",f),d=h.nextSibling,h.label=a.group,h=c[a.group]={groupElement:h,currentOptionElement:h.firstChild}),k=p(h.groupElement,h.currentOptionElement,"option",e),n(a,k),h.currentOptionElement=
k.nextSibling):(k=p(g[0],d,"option",e),n(a,k),d=k.nextSibling)});Object.keys(c).forEach(function(a){r(c[a].currentOptionElement)});r(d);w.$render();if(!w.$isEmpty(a)){var h=u.readValue();(C.trackBy?ka(a,h):a===h)||(w.$setViewValue(h),w.$render())}}var w=k[1];if(w){var u=k[0];k=l.multiple;for(var q,z=0,y=g.children(),A=y.length;z<A;z++)if(""===y[z].value){q=y.eq(z);break}var O=!!q,H=B(e.cloneNode(!1));H.val("?");var x,C=d(l.ngOptions,g,c);k?(w.$isEmpty=function(a){return!a||0===a.length},u.writeValue=
function(a){x.items.forEach(function(a){a.element.selected=!1});a&&a.forEach(function(a){(a=x.getOptionFromViewValue(a))&&!a.disabled&&(a.element.selected=!0)})},u.readValue=function(){var a=g.val()||[],c=[];m(a,function(a){(a=x.selectValueMap[a])&&!a.disabled&&c.push(x.getViewValueFromOption(a))});return c},C.trackBy&&c.$watchCollection(function(){if(J(w.$viewValue))return w.$viewValue.map(function(a){return C.getTrackByValue(a)})},function(){w.$render()})):(u.writeValue=function(a){var c=x.getOptionFromViewValue(a);
c&&!c.disabled?g[0].value!==c.selectValue&&(H.remove(),O||q.remove(),g[0].value=c.selectValue,c.element.selected=!0,c.element.setAttribute("selected","selected")):null===a||O?(H.remove(),O||g.prepend(q),g.val(""),q.prop("selected",!0),q.attr("selected",!0)):(O||q.remove(),g.prepend(H),g.val("?"),H.prop("selected",!0),H.attr("selected",!0))},u.readValue=function(){var a=x.selectValueMap[g.val()];return a&&!a.disabled?(O||q.remove(),H.remove(),x.getViewValueFromOption(a)):null},C.trackBy&&c.$watch(function(){return C.getTrackByValue(w.$viewValue)},
function(){w.$render()}));O?(q.remove(),a(q)(c),q.removeClass("ng-scope")):q=B(e.cloneNode(!1));v();c.$watchCollection(C.getWatchables,v)}}}}],Be=["$locale","$interpolate","$log",function(a,c,d){var e=/{}/g,f=/^when(Minus)?(.+)$/;return{link:function(h,g,l){function k(a){g.text(a||"")}var n=l.count,p=l.$attr.when&&g.attr(l.$attr.when),r=l.offset||0,s=h.$eval(p)||{},w={},A=c.startSymbol(),u=c.endSymbol(),q=A+n+"-"+r+u,z=da.noop,x;m(l,function(a,c){var d=f.exec(c);d&&(d=(d[1]?"-":"")+F(d[2]),s[d]=g.attr(l.$attr[c]))});
m(s,function(a,d){w[d]=c(a.replace(e,q))});h.$watch(n,function(c){var e=parseFloat(c),f=isNaN(e);f||e in s||(e=a.pluralCat(e-r));e===x||f&&V(x)&&isNaN(x)||(z(),f=w[e],v(f)?(null!=c&&d.debug("ngPluralize: no rule defined for '"+e+"' in "+p),z=y,k()):z=h.$watch(f,k),x=e)})}}}],Ce=["$parse","$animate",function(a,c){var d=I("ngRepeat"),e=function(a,c,d,e,k,m,p){a[d]=e;k&&(a[k]=m);a.$index=c;a.$first=0===c;a.$last=c===p-1;a.$middle=!(a.$first||a.$last);a.$odd=!(a.$even=0===(c&1))};return{restrict:"A",
multiElement:!0,transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,compile:function(f,h){var g=h.ngRepeat,l=X.createComment(" end ngRepeat: "+g+" "),k=g.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!k)throw d("iexp",g);var n=k[1],p=k[2],r=k[3],s=k[4],k=n.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/);if(!k)throw d("iidexp",n);var v=k[3]||k[1],y=k[2];if(r&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(r)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(r)))throw d("badident",
r);var u,q,z,A,x={$id:Ga};s?u=a(s):(z=function(a,c){return Ga(c)},A=function(a){return a});return function(a,f,h,k,n){u&&(q=function(c,d,e){y&&(x[y]=c);x[v]=d;x.$index=e;return u(a,x)});var s=fa();a.$watchCollection(p,function(h){var k,p,t=f[0],u,x=fa(),C,G,J,M,I,F,L;r&&(a[r]=h);if(Da(h))I=h,p=q||z;else for(L in p=q||A,I=[],h)ta.call(h,L)&&"$"!==L.charAt(0)&&I.push(L);C=I.length;L=Array(C);for(k=0;k<C;k++)if(G=h===I?k:I[k],J=h[G],M=p(G,J,k),s[M])F=s[M],delete s[M],x[M]=F,L[k]=F;else{if(x[M])throw m(L,
function(a){a&&a.scope&&(s[a.id]=a)}),d("dupes",g,M,J);L[k]={id:M,scope:w,clone:w};x[M]=!0}for(u in s){F=s[u];M=rb(F.clone);c.leave(M);if(M[0].parentNode)for(k=0,p=M.length;k<p;k++)M[k].$$NG_REMOVED=!0;F.scope.$destroy()}for(k=0;k<C;k++)if(G=h===I?k:I[k],J=h[G],F=L[k],F.scope){u=t;do u=u.nextSibling;while(u&&u.$$NG_REMOVED);F.clone[0]!=u&&c.move(rb(F.clone),null,B(t));t=F.clone[F.clone.length-1];e(F.scope,k,v,J,y,G,C)}else n(function(a,d){F.scope=d;var f=l.cloneNode(!1);a[a.length++]=f;c.enter(a,
null,B(t));t=f;F.clone=a;x[F.id]=F;e(F.scope,k,v,J,y,G,C)});s=x})}}}}],De=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(c,d,e){c.$watch(e.ngShow,function(c){a[c?"removeClass":"addClass"](d,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],we=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(c,d,e){c.$watch(e.ngHide,function(c){a[c?"addClass":"removeClass"](d,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],Ee=Na(function(a,c,d){a.$watch(d.ngStyle,
function(a,d){d&&a!==d&&m(d,function(a,d){c.css(d,"")});a&&c.css(a)},!0)}),Fe=["$animate",function(a){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,f){var h=[],g=[],l=[],k=[],n=function(a,c){return function(){a.splice(c,1)}};c.$watch(e.ngSwitch||e.on,function(c){var d,e;d=0;for(e=l.length;d<e;++d)a.cancel(l[d]);d=l.length=0;for(e=k.length;d<e;++d){var s=rb(g[d].clone);k[d].$destroy();(l[d]=a.leave(s)).then(n(l,d))}g.length=0;k.length=0;(h=f.cases["!"+
c]||f.cases["?"])&&m(h,function(c){c.transclude(function(d,e){k.push(e);var f=c.element;d[d.length++]=X.createComment(" end ngSwitchWhen: ");g.push({clone:d});a.enter(d,f.parent(),f)})})})}}}],Ge=Na({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,c,d,e,f){e.cases["!"+d.ngSwitchWhen]=e.cases["!"+d.ngSwitchWhen]||[];e.cases["!"+d.ngSwitchWhen].push({transclude:f,element:c})}}),He=Na({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,
c,d,e,f){e.cases["?"]=e.cases["?"]||[];e.cases["?"].push({transclude:f,element:c})}}),Je=Na({restrict:"EAC",link:function(a,c,d,e,f){if(!f)throw I("ngTransclude")("orphan",xa(c));f(function(a){c.empty();c.append(a)})}}),je=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){"text/ng-template"==d.type&&a.put(d.id,c[0].text)}}}],Bg={$setViewValue:y,$render:y},Cg=["$element","$scope","$attrs",function(a,c,d){var e=this,f=new Ua;e.ngModelCtrl=Bg;e.unknownOption=B(X.createElement("option"));
e.renderUnknownOption=function(c){c="? "+Ga(c)+" ?";e.unknownOption.val(c);a.prepend(e.unknownOption);a.val(c)};c.$on("$destroy",function(){e.renderUnknownOption=y});e.removeUnknownOption=function(){e.unknownOption.parent()&&e.unknownOption.remove()};e.readValue=function(){e.removeUnknownOption();return a.val()};e.writeValue=function(c){e.hasOption(c)?(e.removeUnknownOption(),a.val(c),""===c&&e.emptyOption.prop("selected",!0)):null==c&&e.emptyOption?(e.removeUnknownOption(),a.val("")):e.renderUnknownOption(c)};
e.addOption=function(a,c){Ta(a,'"option value"');""===a&&(e.emptyOption=c);var d=f.get(a)||0;f.put(a,d+1)};e.removeOption=function(a){var c=f.get(a);c&&(1===c?(f.remove(a),""===a&&(e.emptyOption=w)):f.put(a,c-1))};e.hasOption=function(a){return!!f.get(a)}}],ke=function(){return{restrict:"E",require:["select","?ngModel"],controller:Cg,link:function(a,c,d,e){var f=e[1];if(f){var h=e[0];h.ngModelCtrl=f;f.$render=function(){h.writeValue(f.$viewValue)};c.on("change",function(){a.$apply(function(){f.$setViewValue(h.readValue())})});
if(d.multiple){h.readValue=function(){var a=[];m(c.find("option"),function(c){c.selected&&a.push(c.value)});return a};h.writeValue=function(a){var d=new Ua(a);m(c.find("option"),function(a){a.selected=A(d.get(a.value))})};var g,l=NaN;a.$watch(function(){l!==f.$viewValue||ka(g,f.$viewValue)||(g=ja(f.$viewValue),f.$render());l=f.$viewValue});f.$isEmpty=function(a){return!a||0===a.length}}}}}},me=["$interpolate",function(a){return{restrict:"E",priority:100,compile:function(c,d){if(A(d.value))var e=a(d.value,
!0);else{var f=a(c.text(),!0);f||d.$set("value",c.text())}return function(a,c,d){function k(a){p.addOption(a,c);p.ngModelCtrl.$render();c[0].hasAttribute("selected")&&(c[0].selected=!0)}var m=c.parent(),p=m.data("$selectController")||m.parent().data("$selectController");if(p&&p.ngModelCtrl){if(e){var r;d.$observe("value",function(a){A(r)&&p.removeOption(r);r=a;k(a)})}else f?a.$watch(f,function(a,c){d.$set("value",a);c!==a&&p.removeOption(c);k(a)}):k(d.value);c.on("$destroy",function(){p.removeOption(d.value);
p.ngModelCtrl.$render()})}}}}}],le=qa({restrict:"E",terminal:!1}),Gc=function(){return{restrict:"A",require:"?ngModel",link:function(a,c,d,e){e&&(d.required=!0,e.$validators.required=function(a,c){return!d.required||!e.$isEmpty(c)},d.$observe("required",function(){e.$validate()}))}}},Fc=function(){return{restrict:"A",require:"?ngModel",link:function(a,c,d,e){if(e){var f,h=d.ngPattern||d.pattern;d.$observe("pattern",function(a){G(a)&&0<a.length&&(a=new RegExp("^"+a+"$"));if(a&&!a.test)throw I("ngPattern")("noregexp",
h,a,xa(c));f=a||w;e.$validate()});e.$validators.pattern=function(a,c){return e.$isEmpty(c)||v(f)||f.test(c)}}}}},Ic=function(){return{restrict:"A",require:"?ngModel",link:function(a,c,d,e){if(e){var f=-1;d.$observe("maxlength",function(a){a=Y(a);f=isNaN(a)?-1:a;e.$validate()});e.$validators.maxlength=function(a,c){return 0>f||e.$isEmpty(c)||c.length<=f}}}}},Hc=function(){return{restrict:"A",require:"?ngModel",link:function(a,c,d,e){if(e){var f=0;d.$observe("minlength",function(a){f=Y(a)||0;e.$validate()});
e.$validators.minlength=function(a,c){return e.$isEmpty(c)||c.length>=f}}}}};Q.angular.bootstrap?console.log("WARNING: Tried to load angular more than once."):(ce(),ee(da),da.module("ngLocale",[],["$provide",function(a){function c(a){a+="";var c=a.indexOf(".");return-1==c?0:a.length-c-1}a.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:"January February March April May June July August September October November December".split(" "),
SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,
maxFrac:2,minFrac:2,minInt:1,negPre:"-\u00a4",negSuf:"",posPre:"\u00a4",posSuf:""}]},id:"en-us",pluralCat:function(a,e){var f=a|0,h=e;w===h&&(h=Math.min(c(a),3));Math.pow(10,h);return 1==f&&0==h?"one":"other"}})}]),B(X).ready(function(){Zd(X,zc)}))})(window,document);!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>');
(function(v){'use strict';function O(a){return function(){var b=arguments[0],d;d="["+(a?a+":":"")+b+"] http://errors.angularjs.org/1.5.5/"+(a?a+"/":"")+b;for(b=1;b<arguments.length;b++){d=d+(1==b?"?":"&")+"p"+(b-1)+"=";var c=encodeURIComponent,e;e=arguments[b];e="function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof e?"undefined":"string"!=typeof e?JSON.stringify(e):e;d+=c(e)}return Error(d)}}function ya(a){if(null==a||Va(a))return!1;if(K(a)||F(a)||B&&a instanceof B)return!0;
var b="length"in Object(a)&&a.length;return Q(b)&&(0<=b&&(b-1 in a||a instanceof Array)||"function"==typeof a.item)}function q(a,b,d){var c,e;if(a)if(E(a))for(c in a)"prototype"==c||"length"==c||"name"==c||a.hasOwnProperty&&!a.hasOwnProperty(c)||b.call(d,a[c],c,a);else if(K(a)||ya(a)){var f="object"!==typeof a;c=0;for(e=a.length;c<e;c++)(f||c in a)&&b.call(d,a[c],c,a)}else if(a.forEach&&a.forEach!==q)a.forEach(b,d,a);else if(oc(a))for(c in a)b.call(d,a[c],c,a);else if("function"===typeof a.hasOwnProperty)for(c in a)a.hasOwnProperty(c)&&
b.call(d,a[c],c,a);else for(c in a)ua.call(a,c)&&b.call(d,a[c],c,a);return a}function pc(a,b,d){for(var c=Object.keys(a).sort(),e=0;e<c.length;e++)b.call(d,a[c[e]],c[e]);return c}function qc(a){return function(b,d){a(d,b)}}function Xd(){return++nb}function Nb(a,b,d){for(var c=a.$$hashKey,e=0,f=b.length;e<f;++e){var g=b[e];if(G(g)||E(g))for(var h=Object.keys(g),k=0,l=h.length;k<l;k++){var n=h[k],m=g[n];d&&G(m)?fa(m)?a[n]=new Date(m.valueOf()):Wa(m)?a[n]=new RegExp(m):m.nodeName?a[n]=m.cloneNode(!0):
Ob(m)?a[n]=m.clone():(G(a[n])||(a[n]=K(m)?[]:{}),Nb(a[n],[m],!0)):a[n]=m}}c?a.$$hashKey=c:delete a.$$hashKey;return a}function R(a){return Nb(a,za.call(arguments,1),!1)}function Yd(a){return Nb(a,za.call(arguments,1),!0)}function X(a){return parseInt(a,10)}function Pb(a,b){return R(Object.create(a),b)}function C(){}function Xa(a){return a}function da(a){return function(){return a}}function rc(a){return E(a.toString)&&a.toString!==ma}function y(a){return"undefined"===typeof a}function x(a){return"undefined"!==
typeof a}function G(a){return null!==a&&"object"===typeof a}function oc(a){return null!==a&&"object"===typeof a&&!sc(a)}function F(a){return"string"===typeof a}function Q(a){return"number"===typeof a}function fa(a){return"[object Date]"===ma.call(a)}function E(a){return"function"===typeof a}function Wa(a){return"[object RegExp]"===ma.call(a)}function Va(a){return a&&a.window===a}function Ya(a){return a&&a.$evalAsync&&a.$watch}function Da(a){return"boolean"===typeof a}function Zd(a){return a&&Q(a.length)&&
$d.test(ma.call(a))}function Ob(a){return!(!a||!(a.nodeName||a.prop&&a.attr&&a.find))}function ae(a){var b={};a=a.split(",");var d;for(d=0;d<a.length;d++)b[a[d]]=!0;return b}function va(a){return P(a.nodeName||a[0]&&a[0].nodeName)}function Za(a,b){var d=a.indexOf(b);0<=d&&a.splice(d,1);return d}function qa(a,b){function d(a,b){var d=b.$$hashKey,e;if(K(a)){e=0;for(var f=a.length;e<f;e++)b.push(c(a[e]))}else if(oc(a))for(e in a)b[e]=c(a[e]);else if(a&&"function"===typeof a.hasOwnProperty)for(e in a)a.hasOwnProperty(e)&&
(b[e]=c(a[e]));else for(e in a)ua.call(a,e)&&(b[e]=c(a[e]));d?b.$$hashKey=d:delete b.$$hashKey;return b}function c(a){if(!G(a))return a;var b=f.indexOf(a);if(-1!==b)return g[b];if(Va(a)||Ya(a))throw Aa("cpws");var b=!1,c=e(a);void 0===c&&(c=K(a)?[]:Object.create(sc(a)),b=!0);f.push(a);g.push(c);return b?d(a,c):c}function e(a){switch(ma.call(a)){case "[object Int8Array]":case "[object Int16Array]":case "[object Int32Array]":case "[object Float32Array]":case "[object Float64Array]":case "[object Uint8Array]":case "[object Uint8ClampedArray]":case "[object Uint16Array]":case "[object Uint32Array]":return new a.constructor(c(a.buffer));
case "[object ArrayBuffer]":if(!a.slice){var b=new ArrayBuffer(a.byteLength);(new Uint8Array(b)).set(new Uint8Array(a));return b}return a.slice(0);case "[object Boolean]":case "[object Number]":case "[object String]":case "[object Date]":return new a.constructor(a.valueOf());case "[object RegExp]":return b=new RegExp(a.source,a.toString().match(/[^\/]*$/)[0]),b.lastIndex=a.lastIndex,b;case "[object Blob]":return new a.constructor([a],{type:a.type})}if(E(a.cloneNode))return a.cloneNode(!0)}var f=[],
g=[];if(b){if(Zd(b)||"[object ArrayBuffer]"===ma.call(b))throw Aa("cpta");if(a===b)throw Aa("cpi");K(b)?b.length=0:q(b,function(a,d){"$$hashKey"!==d&&delete b[d]});f.push(a);g.push(b);return d(a,b)}return c(a)}function ha(a,b){if(K(a)){b=b||[];for(var d=0,c=a.length;d<c;d++)b[d]=a[d]}else if(G(a))for(d in b=b||{},a)if("$"!==d.charAt(0)||"$"!==d.charAt(1))b[d]=a[d];return b||a}function pa(a,b){if(a===b)return!0;if(null===a||null===b)return!1;if(a!==a&&b!==b)return!0;var d=typeof a,c;if(d==typeof b&&
"object"==d)if(K(a)){if(!K(b))return!1;if((d=a.length)==b.length){for(c=0;c<d;c++)if(!pa(a[c],b[c]))return!1;return!0}}else{if(fa(a))return fa(b)?pa(a.getTime(),b.getTime()):!1;if(Wa(a))return Wa(b)?a.toString()==b.toString():!1;if(Ya(a)||Ya(b)||Va(a)||Va(b)||K(b)||fa(b)||Wa(b))return!1;d=T();for(c in a)if("$"!==c.charAt(0)&&!E(a[c])){if(!pa(a[c],b[c]))return!1;d[c]=!0}for(c in b)if(!(c in d)&&"$"!==c.charAt(0)&&x(b[c])&&!E(b[c]))return!1;return!0}return!1}function $a(a,b,d){return a.concat(za.call(b,
d))}function tc(a,b){var d=2<arguments.length?za.call(arguments,2):[];return!E(b)||b instanceof RegExp?b:d.length?function(){return arguments.length?b.apply(a,$a(d,arguments,0)):b.apply(a,d)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}}function be(a,b){var d=b;"string"===typeof a&&"$"===a.charAt(0)&&"$"===a.charAt(1)?d=void 0:Va(b)?d="$WINDOW":b&&v.document===b?d="$DOCUMENT":Ya(b)&&(d="$SCOPE");return d}function ab(a,b){if(!y(a))return Q(b)||(b=b?2:null),JSON.stringify(a,be,
b)}function uc(a){return F(a)?JSON.parse(a):a}function vc(a,b){a=a.replace(ce,"");var d=Date.parse("Jan 01, 1970 00:00:00 "+a)/6E4;return isNaN(d)?b:d}function Qb(a,b,d){d=d?-1:1;var c=a.getTimezoneOffset();b=vc(b,c);d*=b-c;a=new Date(a.getTime());a.setMinutes(a.getMinutes()+d);return a}function wa(a){a=B(a).clone();try{a.empty()}catch(b){}var d=B("<div>").append(a).html();try{return a[0].nodeType===Ma?P(d):d.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+P(b)})}catch(c){return P(d)}}
function wc(a){try{return decodeURIComponent(a)}catch(b){}}function xc(a){var b={};q((a||"").split("&"),function(a){var c,e,f;a&&(e=a=a.replace(/\+/g,"%20"),c=a.indexOf("="),-1!==c&&(e=a.substring(0,c),f=a.substring(c+1)),e=wc(e),x(e)&&(f=x(f)?wc(f):!0,ua.call(b,e)?K(b[e])?b[e].push(f):b[e]=[b[e],f]:b[e]=f))});return b}function Rb(a){var b=[];q(a,function(a,c){K(a)?q(a,function(a){b.push(ja(c,!0)+(!0===a?"":"="+ja(a,!0)))}):b.push(ja(c,!0)+(!0===a?"":"="+ja(a,!0)))});return b.length?b.join("&"):""}
function ob(a){return ja(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function ja(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,b?"%20":"+")}function de(a,b){var d,c,e=Na.length;for(c=0;c<e;++c)if(d=Na[c]+b,F(d=a.getAttribute(d)))return d;return null}function ee(a,b){var d,c,e={};q(Na,function(b){b+="app";!d&&a.hasAttribute&&a.hasAttribute(b)&&(d=a,c=a.getAttribute(b))});
q(Na,function(b){b+="app";var e;!d&&(e=a.querySelector("["+b.replace(":","\\:")+"]"))&&(d=e,c=e.getAttribute(b))});d&&(e.strictDi=null!==de(d,"strict-di"),b(d,c?[c]:[],e))}function yc(a,b,d){G(d)||(d={});d=R({strictDi:!1},d);var c=function(){a=B(a);if(a.injector()){var c=a[0]===v.document?"document":wa(a);throw Aa("btstrpd",c.replace(/</,"&lt;").replace(/>/,"&gt;"));}b=b||[];b.unshift(["$provide",function(b){b.value("$rootElement",a)}]);d.debugInfoEnabled&&b.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]);
b.unshift("ng");c=bb(b,d.strictDi);c.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return c},e=/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;v&&e.test(v.name)&&(d.debugInfoEnabled=!0,v.name=v.name.replace(e,""));if(v&&!f.test(v.name))return c();v.name=v.name.replace(f,"");ea.resumeBootstrap=function(a){q(a,function(a){b.push(a)});return c()};E(ea.resumeDeferredBootstrap)&&ea.resumeDeferredBootstrap()}function fe(){v.name=
"NG_ENABLE_DEBUG_INFO!"+v.name;v.location.reload()}function ge(a){a=ea.element(a).injector();if(!a)throw Aa("test");return a.get("$$testability")}function zc(a,b){b=b||"_";return a.replace(he,function(a,c){return(c?b:"")+a.toLowerCase()})}function ie(){var a;if(!Ac){var b=pb();(Z=y(b)?v.jQuery:b?v[b]:void 0)&&Z.fn.on?(B=Z,R(Z.fn,{scope:Oa.scope,isolateScope:Oa.isolateScope,controller:Oa.controller,injector:Oa.injector,inheritedData:Oa.inheritedData}),a=Z.cleanData,Z.cleanData=function(b){for(var c,
e=0,f;null!=(f=b[e]);e++)(c=Z._data(f,"events"))&&c.$destroy&&Z(f).triggerHandler("$destroy");a(b)}):B=U;ea.element=B;Ac=!0}}function qb(a,b,d){if(!a)throw Aa("areq",b||"?",d||"required");return a}function Pa(a,b,d){d&&K(a)&&(a=a[a.length-1]);qb(E(a),b,"not a function, got "+(a&&"object"===typeof a?a.constructor.name||"Object":typeof a));return a}function Qa(a,b){if("hasOwnProperty"===a)throw Aa("badname",b);}function Bc(a,b,d){if(!b)return a;b=b.split(".");for(var c,e=a,f=b.length,g=0;g<f;g++)c=
b[g],a&&(a=(e=a)[c]);return!d&&E(a)?tc(e,a):a}function rb(a){for(var b=a[0],d=a[a.length-1],c,e=1;b!==d&&(b=b.nextSibling);e++)if(c||a[e]!==b)c||(c=B(za.call(a,0,e))),c.push(b);return c||a}function T(){return Object.create(null)}function je(a){function b(a,b,c){return a[b]||(a[b]=c())}var d=O("$injector"),c=O("ng");a=b(a,"angular",Object);a.$$minErr=a.$$minErr||O;return b(a,"module",function(){var a={};return function(f,g,h){if("hasOwnProperty"===f)throw c("badname","module");g&&a.hasOwnProperty(f)&&
(a[f]=null);return b(a,f,function(){function a(b,d,e,f){f||(f=c);return function(){f[e||"push"]([b,d,arguments]);return M}}function b(a,d){return function(b,e){e&&E(e)&&(e.$$moduleName=f);c.push([a,d,arguments]);return M}}if(!g)throw d("nomod",f);var c=[],e=[],r=[],N=a("$injector","invoke","push",e),M={_invokeQueue:c,_configBlocks:e,_runBlocks:r,requires:g,name:f,provider:b("$provide","provider"),factory:b("$provide","factory"),service:b("$provide","service"),value:a("$provide","value"),constant:a("$provide",
"constant","unshift"),decorator:b("$provide","decorator"),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider","register"),directive:b("$compileProvider","directive"),component:b("$compileProvider","component"),config:N,run:function(a){r.push(a);return this}};h&&N(h);return M})}})}function ke(a){R(a,{bootstrap:yc,copy:qa,extend:R,merge:Yd,equals:pa,element:B,forEach:q,injector:bb,noop:C,bind:tc,toJson:ab,fromJson:uc,identity:Xa,isUndefined:y,
isDefined:x,isString:F,isFunction:E,isObject:G,isNumber:Q,isElement:Ob,isArray:K,version:le,isDate:fa,lowercase:P,uppercase:sb,callbacks:{counter:0},getTestability:ge,$$minErr:O,$$csp:Ea,reloadWithDebugInfo:fe});Sb=je(v);Sb("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:me});a.provider("$compile",Cc).directive({a:ne,input:Dc,textarea:Dc,form:oe,script:pe,select:qe,style:re,option:se,ngBind:te,ngBindHtml:ue,ngBindTemplate:ve,ngClass:we,ngClassEven:xe,ngClassOdd:ye,ngCloak:ze,ngController:Ae,
ngForm:Be,ngHide:Ce,ngIf:De,ngInclude:Ee,ngInit:Fe,ngNonBindable:Ge,ngPluralize:He,ngRepeat:Ie,ngShow:Je,ngStyle:Ke,ngSwitch:Le,ngSwitchWhen:Me,ngSwitchDefault:Ne,ngOptions:Oe,ngTransclude:Pe,ngModel:Qe,ngList:Re,ngChange:Se,pattern:Ec,ngPattern:Ec,required:Fc,ngRequired:Fc,minlength:Gc,ngMinlength:Gc,maxlength:Hc,ngMaxlength:Hc,ngValue:Te,ngModelOptions:Ue}).directive({ngInclude:Ve}).directive(tb).directive(Ic);a.provider({$anchorScroll:We,$animate:Xe,$animateCss:Ye,$$animateJs:Ze,$$animateQueue:$e,
$$AnimateRunner:af,$$animateAsyncRun:bf,$browser:cf,$cacheFactory:df,$controller:ef,$document:ff,$exceptionHandler:gf,$filter:Jc,$$forceReflow:hf,$interpolate:jf,$interval:kf,$http:lf,$httpParamSerializer:mf,$httpParamSerializerJQLike:nf,$httpBackend:of,$xhrFactory:pf,$location:qf,$log:rf,$parse:sf,$rootScope:tf,$q:uf,$$q:vf,$sce:wf,$sceDelegate:xf,$sniffer:yf,$templateCache:zf,$templateRequest:Af,$$testability:Bf,$timeout:Cf,$window:Df,$$rAF:Ef,$$jqLite:Ff,$$HashMap:Gf,$$cookieReader:Hf})}])}function cb(a){return a.replace(If,
function(a,d,c,e){return e?c.toUpperCase():c}).replace(Jf,"Moz$1")}function Kc(a){a=a.nodeType;return 1===a||!a||9===a}function Lc(a,b){var d,c,e=b.createDocumentFragment(),f=[];if(Tb.test(a)){d=d||e.appendChild(b.createElement("div"));c=(Kf.exec(a)||["",""])[1].toLowerCase();c=ia[c]||ia._default;d.innerHTML=c[1]+a.replace(Lf,"<$1></$2>")+c[2];for(c=c[0];c--;)d=d.lastChild;f=$a(f,d.childNodes);d=e.firstChild;d.textContent=""}else f.push(b.createTextNode(a));e.textContent="";e.innerHTML="";q(f,function(a){e.appendChild(a)});
return e}function Mc(a,b){var d=a.parentNode;d&&d.replaceChild(b,a);b.appendChild(a)}function U(a){if(a instanceof U)return a;var b;F(a)&&(a=V(a),b=!0);if(!(this instanceof U)){if(b&&"<"!=a.charAt(0))throw Ub("nosel");return new U(a)}if(b){b=v.document;var d;a=(d=Mf.exec(a))?[b.createElement(d[1])]:(d=Lc(a,b))?d.childNodes:[]}Nc(this,a)}function Vb(a){return a.cloneNode(!0)}function ub(a,b){b||db(a);if(a.querySelectorAll)for(var d=a.querySelectorAll("*"),c=0,e=d.length;c<e;c++)db(d[c])}function Oc(a,
b,d,c){if(x(c))throw Ub("offargs");var e=(c=vb(a))&&c.events,f=c&&c.handle;if(f)if(b){var g=function(b){var c=e[b];x(d)&&Za(c||[],d);x(d)&&c&&0<c.length||(a.removeEventListener(b,f,!1),delete e[b])};q(b.split(" "),function(a){g(a);wb[a]&&g(wb[a])})}else for(b in e)"$destroy"!==b&&a.removeEventListener(b,f,!1),delete e[b]}function db(a,b){var d=a.ng339,c=d&&eb[d];c&&(b?delete c.data[b]:(c.handle&&(c.events.$destroy&&c.handle({},"$destroy"),Oc(a)),delete eb[d],a.ng339=void 0))}function vb(a,b){var d=
a.ng339,d=d&&eb[d];b&&!d&&(a.ng339=d=++Nf,d=eb[d]={events:{},data:{},handle:void 0});return d}function Wb(a,b,d){if(Kc(a)){var c=x(d),e=!c&&b&&!G(b),f=!b;a=(a=vb(a,!e))&&a.data;if(c)a[b]=d;else{if(f)return a;if(e)return a&&a[b];R(a,b)}}}function xb(a,b){return a.getAttribute?-1<(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+b+" "):!1}function yb(a,b){b&&a.setAttribute&&q(b.split(" "),function(b){a.setAttribute("class",V((" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g,
" ").replace(" "+V(b)+" "," ")))})}function zb(a,b){if(b&&a.setAttribute){var d=(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");q(b.split(" "),function(a){a=V(a);-1===d.indexOf(" "+a+" ")&&(d+=a+" ")});a.setAttribute("class",V(d))}}function Nc(a,b){if(b)if(b.nodeType)a[a.length++]=b;else{var d=b.length;if("number"===typeof d&&b.window!==b){if(d)for(var c=0;c<d;c++)a[a.length++]=b[c]}else a[a.length++]=b}}function Pc(a,b){return Ab(a,"$"+(b||"ngController")+"Controller")}function Ab(a,
b,d){9==a.nodeType&&(a=a.documentElement);for(b=K(b)?b:[b];a;){for(var c=0,e=b.length;c<e;c++)if(x(d=B.data(a,b[c])))return d;a=a.parentNode||11===a.nodeType&&a.host}}function Qc(a){for(ub(a,!0);a.firstChild;)a.removeChild(a.firstChild)}function Bb(a,b){b||ub(a);var d=a.parentNode;d&&d.removeChild(a)}function Of(a,b){b=b||v;if("complete"===b.document.readyState)b.setTimeout(a);else B(b).on("load",a)}function Rc(a,b){var d=Cb[b.toLowerCase()];return d&&Sc[va(a)]&&d}function Pf(a,b){var d=function(c,
d){c.isDefaultPrevented=function(){return c.defaultPrevented};var f=b[d||c.type],g=f?f.length:0;if(g){if(y(c.immediatePropagationStopped)){var h=c.stopImmediatePropagation;c.stopImmediatePropagation=function(){c.immediatePropagationStopped=!0;c.stopPropagation&&c.stopPropagation();h&&h.call(c)}}c.isImmediatePropagationStopped=function(){return!0===c.immediatePropagationStopped};var k=f.specialHandlerWrapper||Qf;1<g&&(f=ha(f));for(var l=0;l<g;l++)c.isImmediatePropagationStopped()||k(a,c,f[l])}};d.elem=
a;return d}function Qf(a,b,d){d.call(a,b)}function Rf(a,b,d){var c=b.relatedTarget;c&&(c===a||Sf.call(a,c))||d.call(a,b)}function Ff(){this.$get=function(){return R(U,{hasClass:function(a,b){a.attr&&(a=a[0]);return xb(a,b)},addClass:function(a,b){a.attr&&(a=a[0]);return zb(a,b)},removeClass:function(a,b){a.attr&&(a=a[0]);return yb(a,b)}})}}function Fa(a,b){var d=a&&a.$$hashKey;if(d)return"function"===typeof d&&(d=a.$$hashKey()),d;d=typeof a;return d="function"==d||"object"==d&&null!==a?a.$$hashKey=
d+":"+(b||Xd)():d+":"+a}function Ra(a,b){if(b){var d=0;this.nextUid=function(){return++d}}q(a,this.put,this)}function Tc(a){a=Function.prototype.toString.call(a).replace(Tf,"");return a.match(Uf)||a.match(Vf)}function Wf(a){return(a=Tc(a))?"function("+(a[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function bb(a,b){function d(a){return function(b,c){if(G(b))q(b,qc(a));else return a(b,c)}}function c(a,b){Qa(a,"service");if(E(b)||K(b))b=r.instantiate(b);if(!b.$get)throw Ga("pget",a);return m[a+"Provider"]=
b}function e(a,b){return function(){var c=w.invoke(b,this);if(y(c))throw Ga("undef",a);return c}}function f(a,b,d){return c(a,{$get:!1!==d?e(a,b):b})}function g(a){qb(y(a)||K(a),"modulesToLoad","not an array");var b=[],c;q(a,function(a){function d(a){var b,c;b=0;for(c=a.length;b<c;b++){var e=a[b],f=r.get(e[0]);f[e[1]].apply(f,e[2])}}if(!n.get(a)){n.put(a,!0);try{F(a)?(c=Sb(a),b=b.concat(g(c.requires)).concat(c._runBlocks),d(c._invokeQueue),d(c._configBlocks)):E(a)?b.push(r.invoke(a)):K(a)?b.push(r.invoke(a)):
Pa(a,"module")}catch(e){throw K(a)&&(a=a[a.length-1]),e.message&&e.stack&&-1==e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),Ga("modulerr",a,e.stack||e.message||e);}}});return b}function h(a,c){function d(b,e){if(a.hasOwnProperty(b)){if(a[b]===k)throw Ga("cdep",b+" <- "+l.join(" <- "));return a[b]}try{return l.unshift(b),a[b]=k,a[b]=c(b,e)}catch(f){throw a[b]===k&&delete a[b],f;}finally{l.shift()}}function e(a,c,f){var g=[];a=bb.$$annotate(a,b,f);for(var h=0,k=a.length;h<k;h++){var l=a[h];
if("string"!==typeof l)throw Ga("itkn",l);g.push(c&&c.hasOwnProperty(l)?c[l]:d(l,f))}return g}return{invoke:function(a,b,c,d){"string"===typeof c&&(d=c,c=null);c=e(a,c,d);K(a)&&(a=a[a.length-1]);d=11>=Ca?!1:"function"===typeof a&&/^(?:class\s|constructor\()/.test(Function.prototype.toString.call(a));return d?(c.unshift(null),new (Function.prototype.bind.apply(a,c))):a.apply(b,c)},instantiate:function(a,b,c){var d=K(a)?a[a.length-1]:a;a=e(a,b,c);a.unshift(null);return new (Function.prototype.bind.apply(d,
a))},get:d,annotate:bb.$$annotate,has:function(b){return m.hasOwnProperty(b+"Provider")||a.hasOwnProperty(b)}}}b=!0===b;var k={},l=[],n=new Ra([],!0),m={$provide:{provider:d(c),factory:d(f),service:d(function(a,b){return f(a,["$injector",function(a){return a.instantiate(b)}])}),value:d(function(a,b){return f(a,da(b),!1)}),constant:d(function(a,b){Qa(a,"constant");m[a]=b;N[a]=b}),decorator:function(a,b){var c=r.get(a+"Provider"),d=c.$get;c.$get=function(){var a=w.invoke(d,c);return w.invoke(b,null,
{$delegate:a})}}}},r=m.$injector=h(m,function(a,b){ea.isString(b)&&l.push(b);throw Ga("unpr",l.join(" <- "));}),N={},M=h(N,function(a,b){var c=r.get(a+"Provider",b);return w.invoke(c.$get,c,void 0,a)}),w=M;m.$injectorProvider={$get:da(M)};var p=g(a),w=M.get("$injector");w.strictDi=b;q(p,function(a){a&&w.invoke(a)});return w}function We(){var a=!0;this.disableAutoScrolling=function(){a=!1};this.$get=["$window","$location","$rootScope",function(b,d,c){function e(a){var b=null;Array.prototype.some.call(a,
function(a){if("a"===va(a))return b=a,!0});return b}function f(a){if(a){a.scrollIntoView();var c;c=g.yOffset;E(c)?c=c():Ob(c)?(c=c[0],c="fixed"!==b.getComputedStyle(c).position?0:c.getBoundingClientRect().bottom):Q(c)||(c=0);c&&(a=a.getBoundingClientRect().top,b.scrollBy(0,a-c))}else b.scrollTo(0,0)}function g(a){a=F(a)?a:d.hash();var b;a?(b=h.getElementById(a))?f(b):(b=e(h.getElementsByName(a)))?f(b):"top"===a&&f(null):f(null)}var h=b.document;a&&c.$watch(function(){return d.hash()},function(a,b){a===
b&&""===a||Of(function(){c.$evalAsync(g)})});return g}]}function fb(a,b){if(!a&&!b)return"";if(!a)return b;if(!b)return a;K(a)&&(a=a.join(" "));K(b)&&(b=b.join(" "));return a+" "+b}function Xf(a){F(a)&&(a=a.split(" "));var b=T();q(a,function(a){a.length&&(b[a]=!0)});return b}function Ha(a){return G(a)?a:{}}function Yf(a,b,d,c){function e(a){try{a.apply(null,za.call(arguments,1))}finally{if(M--,0===M)for(;w.length;)try{w.pop()()}catch(b){d.error(b)}}}function f(){u=null;g();h()}function g(){p=I();
p=y(p)?null:p;pa(p,L)&&(p=L);L=p}function h(){if(t!==k.url()||H!==p)t=k.url(),H=p,q(J,function(a){a(k.url(),p)})}var k=this,l=a.location,n=a.history,m=a.setTimeout,r=a.clearTimeout,N={};k.isMock=!1;var M=0,w=[];k.$$completeOutstandingRequest=e;k.$$incOutstandingRequestCount=function(){M++};k.notifyWhenNoOutstandingRequests=function(a){0===M?a():w.push(a)};var p,H,t=l.href,z=b.find("base"),u=null,I=c.history?function(){try{return n.state}catch(a){}}:C;g();H=p;k.url=function(b,d,e){y(e)&&(e=null);l!==
a.location&&(l=a.location);n!==a.history&&(n=a.history);if(b){var f=H===e;if(t===b&&(!c.history||f))return k;var h=t&&Ia(t)===Ia(b);t=b;H=e;if(!c.history||h&&f){if(!h||u)u=b;d?l.replace(b):h?(d=l,e=b.indexOf("#"),e=-1===e?"":b.substr(e),d.hash=e):l.href=b;l.href!==b&&(u=b)}else n[d?"replaceState":"pushState"](e,"",b),g(),H=p;return k}return u||l.href.replace(/%27/g,"'")};k.state=function(){return p};var J=[],D=!1,L=null;k.onUrlChange=function(b){if(!D){if(c.history)B(a).on("popstate",f);B(a).on("hashchange",
f);D=!0}J.push(b);return b};k.$$applicationDestroyed=function(){B(a).off("hashchange popstate",f)};k.$$checkUrlChange=h;k.baseHref=function(){var a=z.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""};k.defer=function(a,b){var c;M++;c=m(function(){delete N[c];e(a)},b||0);N[c]=!0;return c};k.defer.cancel=function(a){return N[a]?(delete N[a],r(a),e(C),!0):!1}}function cf(){this.$get=["$window","$log","$sniffer","$document",function(a,b,d,c){return new Yf(a,c,b,d)}]}function df(){this.$get=
function(){function a(a,c){function e(a){a!=m&&(r?r==a&&(r=a.n):r=a,f(a.n,a.p),f(a,m),m=a,m.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(a in b)throw O("$cacheFactory")("iid",a);var g=0,h=R({},c,{id:a}),k=T(),l=c&&c.capacity||Number.MAX_VALUE,n=T(),m=null,r=null;return b[a]={put:function(a,b){if(!y(b)){if(l<Number.MAX_VALUE){var c=n[a]||(n[a]={key:a});e(c)}a in k||g++;k[a]=b;g>l&&this.remove(r.key);return b}},get:function(a){if(l<Number.MAX_VALUE){var b=n[a];if(!b)return;e(b)}return k[a]},
remove:function(a){if(l<Number.MAX_VALUE){var b=n[a];if(!b)return;b==m&&(m=b.p);b==r&&(r=b.n);f(b.n,b.p);delete n[a]}a in k&&(delete k[a],g--)},removeAll:function(){k=T();g=0;n=T();m=r=null},destroy:function(){n=h=k=null;delete b[a]},info:function(){return R({},h,{size:g})}}}var b={};a.info=function(){var a={};q(b,function(b,e){a[e]=b.info()});return a};a.get=function(a){return b[a]};return a}}function zf(){this.$get=["$cacheFactory",function(a){return a("templates")}]}function Cc(a,b){function d(a,
b,c){var d=/^\s*([@&<]|=(\*?))(\??)\s*(\w*)\s*$/,e=T();q(a,function(a,f){if(a in n)e[f]=n[a];else{var g=a.match(d);if(!g)throw ga("iscp",b,f,a,c?"controller bindings definition":"isolate scope definition");e[f]={mode:g[1][0],collection:"*"===g[2],optional:"?"===g[3],attrName:g[4]||f};g[4]&&(n[a]=e[f])}});return e}function c(a){var b=a.charAt(0);if(!b||b!==P(b))throw ga("baddir",a);if(a!==a.trim())throw ga("baddir",a);}var e={},f=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,g=/(([\w\-]+)(?:\:([^;]+))?;?)/,
h=ae("ngSrc,ngSrcset,src,srcset"),k=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,l=/^(on[a-z]+|formaction)$/,n=T();this.directive=function M(b,d){Qa(b,"directive");F(b)?(c(b),qb(d,"directiveFactory"),e.hasOwnProperty(b)||(e[b]=[],a.factory(b+"Directive",["$injector","$exceptionHandler",function(a,c){var d=[];q(e[b],function(e,f){try{var g=a.invoke(e);E(g)?g={compile:da(g)}:!g.compile&&g.link&&(g.compile=da(g.link));g.priority=g.priority||0;g.index=f;g.name=g.name||b;g.require=g.require||g.controller&&g.name;g.restrict=
g.restrict||"EA";g.$$moduleName=e.$$moduleName;d.push(g)}catch(h){c(h)}});return d}])),e[b].push(d)):q(b,qc(M));return this};this.component=function(a,b){function c(a){function e(b){return E(b)||K(b)?function(c,d){return a.invoke(b,this,{$element:c,$attrs:d})}:b}var f=b.template||b.templateUrl?b.template:"",g={controller:d,controllerAs:Uc(b.controller)||b.controllerAs||"$ctrl",template:e(f),templateUrl:e(b.templateUrl),transclude:b.transclude,scope:{},bindToController:b.bindings||{},restrict:"E",
require:b.require};q(b,function(a,b){"$"===b.charAt(0)&&(g[b]=a)});return g}var d=b.controller||function(){};q(b,function(a,b){"$"===b.charAt(0)&&(c[b]=a,E(d)&&(d[b]=a))});c.$inject=["$injector"];return this.directive(a,c)};this.aHrefSanitizationWhitelist=function(a){return x(a)?(b.aHrefSanitizationWhitelist(a),this):b.aHrefSanitizationWhitelist()};this.imgSrcSanitizationWhitelist=function(a){return x(a)?(b.imgSrcSanitizationWhitelist(a),this):b.imgSrcSanitizationWhitelist()};var m=!0;this.debugInfoEnabled=
function(a){return x(a)?(m=a,this):m};var r=10;this.onChangesTtl=function(a){return arguments.length?(r=a,this):r};this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate","$$sanitizeUri",function(a,b,c,n,t,z,u,I,J,D){function L(){try{if(!--qa)throw Z=void 0,ga("infchng",r);u.$apply(function(){for(var a=0,b=Z.length;a<b;++a)Z[a]();Z=void 0})}finally{qa++}}function S(a,b){if(b){var c=Object.keys(b),d,e,f;d=0;for(e=c.length;d<
e;d++)f=c[d],this[f]=b[f]}else this.$attr={};this.$$element=a}function $(a,b,c){na.innerHTML="<span "+b+">";b=na.firstChild.attributes;var d=b[0];b.removeNamedItem(d.name);d.value=c;a.attributes.setNamedItem(d)}function A(a,b){try{a.addClass(b)}catch(c){}}function ba(a,b,c,d,e){a instanceof B||(a=B(a));for(var f=/\S+/,g=0,h=a.length;g<h;g++){var k=a[g];k.nodeType===Ma&&k.nodeValue.match(f)&&Mc(k,a[g]=v.document.createElement("span"))}var l=s(a,b,a,c,d,e);ba.$$addScopeClass(a);var m=null;return function(b,
c,d){qb(b,"scope");e&&e.needsNewScope&&(b=b.$parent.$new());d=d||{};var f=d.parentBoundTranscludeFn,g=d.transcludeControllers;d=d.futureParentElement;f&&f.$$boundTransclude&&(f=f.$$boundTransclude);m||(m=(d=d&&d[0])?"foreignobject"!==va(d)&&ma.call(d).match(/SVG/)?"svg":"html":"html");d="html"!==m?B(ca(m,B("<div>").append(a).html())):c?Oa.clone.call(a):a;if(g)for(var h in g)d.data("$"+h+"Controller",g[h].instance);ba.$$addScopeInfo(d,b);c&&c(d,b);l&&l(b,d,d,f);return d}}function s(a,b,c,d,e,f){function g(a,
c,d,e){var f,k,l,m,n,t,p;if(r)for(p=Array(c.length),m=0;m<h.length;m+=3)f=h[m],p[f]=c[f];else p=c;m=0;for(n=h.length;m<n;)k=p[h[m++]],c=h[m++],f=h[m++],c?(c.scope?(l=a.$new(),ba.$$addScopeInfo(B(k),l)):l=a,t=c.transcludeOnThisElement?ka(a,c.transclude,e):!c.templateOnThisElement&&e?e:!e&&b?ka(a,b):null,c(f,l,k,d,t)):f&&f(a,k.childNodes,void 0,e)}for(var h=[],k,l,m,n,r,t=0;t<a.length;t++){k=new S;l=x(a[t],[],k,0===t?d:void 0,e);(f=l.length?Ba(l,a[t],k,b,c,null,[],[],f):null)&&f.scope&&ba.$$addScopeClass(k.$$element);
k=f&&f.terminal||!(m=a[t].childNodes)||!m.length?null:s(m,f?(f.transcludeOnThisElement||!f.templateOnThisElement)&&f.transclude:b);if(f||k)h.push(t,f,k),n=!0,r=r||f;f=null}return n?g:null}function ka(a,b,c){function d(e,f,g,h,k){e||(e=a.$new(!1,k),e.$$transcluded=!0);return b(e,f,{parentBoundTranscludeFn:c,transcludeControllers:g,futureParentElement:h})}var e=d.$$slots=T(),f;for(f in b.$$slots)e[f]=b.$$slots[f]?ka(a,b.$$slots[f],c):null;return d}function x(a,b,c,d,e){var h=c.$attr,k;switch(a.nodeType){case 1:la(b,
xa(va(a)),"E",d,e);for(var l,m,n,t=a.attributes,r=0,p=t&&t.length;r<p;r++){var I=!1,D=!1;l=t[r];k=l.name;m=V(l.value);l=xa(k);if(n=ya.test(l))k=k.replace(Vc,"").substr(8).replace(/_(.)/g,function(a,b){return b.toUpperCase()});(l=l.match(Aa))&&Q(l[1])&&(I=k,D=k.substr(0,k.length-5)+"end",k=k.substr(0,k.length-6));l=xa(k.toLowerCase());h[l]=k;if(n||!c.hasOwnProperty(l))c[l]=m,Rc(a,l)&&(c[l]=!0);fa(a,b,m,l,n);la(b,l,"A",d,e,I,D)}a=a.className;G(a)&&(a=a.animVal);if(F(a)&&""!==a)for(;k=g.exec(a);)l=xa(k[2]),
la(b,l,"C",d,e)&&(c[l]=V(k[3])),a=a.substr(k.index+k[0].length);break;case Ma:if(11===Ca)for(;a.parentNode&&a.nextSibling&&a.nextSibling.nodeType===Ma;)a.nodeValue+=a.nextSibling.nodeValue,a.parentNode.removeChild(a.nextSibling);X(b,a.nodeValue);break;case 8:try{if(k=f.exec(a.nodeValue))l=xa(k[1]),la(b,l,"M",d,e)&&(c[l]=V(k[2]))}catch(J){}}b.sort(Y);return b}function Wc(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw ga("uterdir",b,c);1==a.nodeType&&(a.hasAttribute(b)&&
e++,a.hasAttribute(c)&&e--);d.push(a);a=a.nextSibling}while(0<e)}else d.push(a);return B(d)}function Xc(a,b,c){return function(d,e,f,g,h){e=Wc(e[0],b,c);return a(d,e,f,g,h)}}function Yb(a,b,c,d,e,f){var g;return a?ba(b,c,d,e,f):function(){g||(g=ba(b,c,d,e,f),b=c=f=null);return g.apply(this,arguments)}}function Ba(a,b,d,e,f,g,h,k,l){function m(a,b,c,d){if(a){c&&(a=Xc(a,c,d));a.require=A.require;a.directiveName=M;if(D===A||A.$$isolateScope)a=ha(a,{isolateScope:!0});h.push(a)}if(b){c&&(b=Xc(b,c,d));
b.require=A.require;b.directiveName=M;if(D===A||A.$$isolateScope)b=ha(b,{isolateScope:!0});k.push(b)}}function n(a,c,e,f,g){function l(a,b,c,d){var e;Ya(a)||(d=c,c=b,b=a,a=void 0);H&&(e=u);c||(c=H?z.parent():z);if(d){var f=g.$$slots[d];if(f)return f(a,b,e,c,$);if(y(f))throw ga("noslot",d,wa(z));}else return g(a,b,e,c,$)}var m,t,p,A,w,u,L,z;b===e?(f=d,z=d.$$element):(z=B(e),f=new S(z,d));w=c;D?A=c.$new(!0):r&&(w=c.$parent);g&&(L=l,L.$$boundTransclude=g,L.isSlotFilled=function(a){return!!g.$$slots[a]});
I&&(u=O(z,f,L,I,A,c,D));D&&(ba.$$addScopeInfo(z,A,!0,!(J&&(J===D||J===D.$$originalDirective))),ba.$$addScopeClass(z,!0),A.$$isolateBindings=D.$$isolateBindings,t=ia(c,f,A,A.$$isolateBindings,D),t.removeWatches&&A.$on("$destroy",t.removeWatches));for(m in u){t=I[m];p=u[m];var Xb=t.$$bindings.bindToController;p.bindingInfo=p.identifier&&Xb?ia(w,f,p.instance,Xb,t):{};var M=p();M!==p.instance&&(p.instance=M,z.data("$"+t.name+"Controller",M),p.bindingInfo.removeWatches&&p.bindingInfo.removeWatches(),p.bindingInfo=
ia(w,f,p.instance,Xb,t))}q(I,function(a,b){var c=a.require;a.bindToController&&!K(c)&&G(c)&&R(u[b].instance,gb(b,c,z,u))});q(u,function(a){var b=a.instance;E(b.$onChanges)&&b.$onChanges(a.bindingInfo.initialChanges);E(b.$onInit)&&b.$onInit();E(b.$onDestroy)&&w.$on("$destroy",function(){b.$onDestroy()})});m=0;for(t=h.length;m<t;m++)p=h[m],ja(p,p.isolateScope?A:c,z,f,p.require&&gb(p.directiveName,p.require,z,u),L);var $=c;D&&(D.template||null===D.templateUrl)&&($=A);a&&a($,e.childNodes,void 0,g);for(m=
k.length-1;0<=m;m--)p=k[m],ja(p,p.isolateScope?A:c,z,f,p.require&&gb(p.directiveName,p.require,z,u),L);q(u,function(a){a=a.instance;E(a.$postLink)&&a.$postLink()})}l=l||{};for(var t=-Number.MAX_VALUE,r=l.newScopeDirective,I=l.controllerDirectives,D=l.newIsolateScopeDirective,J=l.templateDirective,w=l.nonTlbTranscludeDirective,u=!1,L=!1,H=l.hasElementTranscludeDirective,z=d.$$element=B(b),A,M,$,s=e,Sa,ka=!1,C=!1,v,F=0,Ba=a.length;F<Ba;F++){A=a[F];var P=A.$$start,Q=A.$$end;P&&(z=Wc(b,P,Q));$=void 0;
if(t>A.priority)break;if(v=A.scope)A.templateUrl||(G(v)?(W("new/isolated scope",D||r,A,z),D=A):W("new/isolated scope",D,A,z)),r=r||A;M=A.name;if(!ka&&(A.replace&&(A.templateUrl||A.template)||A.transclude&&!A.$$tlb)){for(v=F+1;ka=a[v++];)if(ka.transclude&&!ka.$$tlb||ka.replace&&(ka.templateUrl||ka.template)){C=!0;break}ka=!0}!A.templateUrl&&A.controller&&(v=A.controller,I=I||T(),W("'"+M+"' controller",I[M],A,z),I[M]=A);if(v=A.transclude)if(u=!0,A.$$tlb||(W("transclusion",w,A,z),w=A),"element"==v)H=
!0,t=A.priority,$=z,z=d.$$element=B(ba.$$createComment(M,d[M])),b=z[0],da(f,za.call($,0),b),$[0].$$parentNode=$[0].parentNode,s=Yb(C,$,e,t,g&&g.name,{nonTlbTranscludeDirective:w});else{var la=T();$=B(Vb(b)).contents();if(G(v)){$=[];var Y=T(),X=T();q(v,function(a,b){var c="?"===a.charAt(0);a=c?a.substring(1):a;Y[a]=b;la[b]=null;X[b]=c});q(z.contents(),function(a){var b=Y[xa(va(a))];b?(X[b]=!0,la[b]=la[b]||[],la[b].push(a)):$.push(a)});q(X,function(a,b){if(!a)throw ga("reqslot",b);});for(var Z in la)la[Z]&&
(la[Z]=Yb(C,la[Z],e))}z.empty();s=Yb(C,$,e,void 0,void 0,{needsNewScope:A.$$isolateScope||A.$$newScope});s.$$slots=la}if(A.template)if(L=!0,W("template",J,A,z),J=A,v=E(A.template)?A.template(z,d):A.template,v=ta(v),A.replace){g=A;$=Tb.test(v)?Yc(ca(A.templateNamespace,V(v))):[];b=$[0];if(1!=$.length||1!==b.nodeType)throw ga("tplrt",M,"");da(f,z,b);Ba={$attr:{}};v=x(b,[],Ba);var ea=a.splice(F+1,a.length-(F+1));(D||r)&&Zc(v,D,r);a=a.concat(v).concat(ea);U(d,Ba);Ba=a.length}else z.html(v);if(A.templateUrl)L=
!0,W("template",J,A,z),J=A,A.replace&&(g=A),n=aa(a.splice(F,a.length-F),z,d,f,u&&s,h,k,{controllerDirectives:I,newScopeDirective:r!==A&&r,newIsolateScopeDirective:D,templateDirective:J,nonTlbTranscludeDirective:w}),Ba=a.length;else if(A.compile)try{Sa=A.compile(z,d,s),E(Sa)?m(null,Sa,P,Q):Sa&&m(Sa.pre,Sa.post,P,Q)}catch(fa){c(fa,wa(z))}A.terminal&&(n.terminal=!0,t=Math.max(t,A.priority))}n.scope=r&&!0===r.scope;n.transcludeOnThisElement=u;n.templateOnThisElement=L;n.transclude=s;l.hasElementTranscludeDirective=
H;return n}function gb(a,b,c,d){var e;if(F(b)){var f=b.match(k);b=b.substring(f[0].length);var g=f[1]||f[3],f="?"===f[2];"^^"===g?c=c.parent():e=(e=d&&d[b])&&e.instance;if(!e){var h="$"+b+"Controller";e=g?c.inheritedData(h):c.data(h)}if(!e&&!f)throw ga("ctreq",b,a);}else if(K(b))for(e=[],g=0,f=b.length;g<f;g++)e[g]=gb(a,b[g],c,d);else G(b)&&(e={},q(b,function(b,f){e[f]=gb(a,b,c,d)}));return e||null}function O(a,b,c,d,e,f,g){var h=T(),k;for(k in d){var l=d[k],m={$scope:l===g||l.$$isolateScope?e:f,
$element:a,$attrs:b,$transclude:c},n=l.controller;"@"==n&&(n=b[l.name]);m=z(n,m,!0,l.controllerAs);h[l.name]=m;a.data("$"+l.name+"Controller",m.instance)}return h}function Zc(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d]=Pb(a[d],{$$isolateScope:b,$$newScope:c})}function la(b,f,g,h,k,l,m){if(f===k)return null;k=null;if(e.hasOwnProperty(f)){var n;f=a.get(f+"Directive");for(var t=0,r=f.length;t<r;t++)try{if(n=f[t],(y(h)||h>n.priority)&&-1!=n.restrict.indexOf(g)){l&&(n=Pb(n,{$$start:l,$$end:m}));if(!n.$$bindings){var I=
n,D=n,A=n.name,J={isolateScope:null,bindToController:null};G(D.scope)&&(!0===D.bindToController?(J.bindToController=d(D.scope,A,!0),J.isolateScope={}):J.isolateScope=d(D.scope,A,!1));G(D.bindToController)&&(J.bindToController=d(D.bindToController,A,!0));if(G(J.bindToController)){var w=D.controller,z=D.controllerAs;if(!w)throw ga("noctrl",A);if(!Uc(w,z))throw ga("noident",A);}var u=I.$$bindings=J;G(u.isolateScope)&&(n.$$isolateBindings=u.isolateScope)}b.push(n);k=n}}catch(L){c(L)}}return k}function Q(b){if(e.hasOwnProperty(b))for(var c=
a.get(b+"Directive"),d=0,f=c.length;d<f;d++)if(b=c[d],b.multiElement)return!0;return!1}function U(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;q(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});q(b,function(b,f){"class"==f?(A(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function aa(a,b,c,d,e,f,
g,h){var k=[],l,m,t=b[0],p=a.shift(),r=Pb(p,{templateUrl:null,transclude:null,replace:null,$$originalDirective:p}),I=E(p.templateUrl)?p.templateUrl(b,c):p.templateUrl,D=p.templateNamespace;b.empty();n(I).then(function(n){var J,w;n=ta(n);if(p.replace){n=Tb.test(n)?Yc(ca(D,V(n))):[];J=n[0];if(1!=n.length||1!==J.nodeType)throw ga("tplrt",p.name,I);n={$attr:{}};da(d,b,J);var z=x(J,[],n);G(p.scope)&&Zc(z,!0);a=z.concat(a);U(c,n)}else J=t,b.html(n);a.unshift(r);l=Ba(a,J,c,e,b,p,f,g,h);q(d,function(a,c){a==
J&&(d[c]=b[0])});for(m=s(b[0].childNodes,e);k.length;){n=k.shift();w=k.shift();var u=k.shift(),L=k.shift(),z=b[0];if(!n.$$destroyed){if(w!==t){var S=w.className;h.hasElementTranscludeDirective&&p.replace||(z=Vb(J));da(u,B(w),z);A(B(z),S)}w=l.transcludeOnThisElement?ka(n,l.transclude,L):L;l(m,n,z,d,w)}}k=null});return function(a,b,c,d,e){a=e;b.$$destroyed||(k?k.push(b,c,d,a):(l.transcludeOnThisElement&&(a=ka(b,l.transclude,e)),l(m,b,c,d,a)))}}function Y(a,b){var c=b.priority-a.priority;return 0!==
c?c:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function W(a,b,c,d){function e(a){return a?" (module: "+a+")":""}if(b)throw ga("multidir",b.name,e(b.$$moduleName),c.name,e(c.$$moduleName),a,wa(d));}function X(a,c){var d=b(c,!0);d&&a.push({priority:0,compile:function(a){a=a.parent();var b=!!a.length;b&&ba.$$addBindingClass(a);return function(a,c){var e=c.parent();b||ba.$$addBindingClass(e);ba.$$addBindingInfo(e,d.expressions);a.$watch(d,function(a){c[0].nodeValue=a})}}})}function ca(a,b){a=
P(a||"html");switch(a){case "svg":case "math":var c=v.document.createElement("div");c.innerHTML="<"+a+">"+b+"</"+a+">";return c.childNodes[0].childNodes;default:return b}}function ea(a,b){if("srcdoc"==b)return I.HTML;var c=va(a);if("xlinkHref"==b||"form"==c&&"action"==b||"img"!=c&&("src"==b||"ngSrc"==b))return I.RESOURCE_URL}function fa(a,c,d,e,f){var g=ea(a,e);f=h[e]||f;var k=b(d,!0,g,f);if(k){if("multiple"===e&&"select"===va(a))throw ga("selmulti",wa(a));c.push({priority:100,compile:function(){return{pre:function(a,
c,h){c=h.$$observers||(h.$$observers=T());if(l.test(e))throw ga("nodomevents");var m=h[e];m!==d&&(k=m&&b(m,!0,g,f),d=m);k&&(h[e]=k(a),(c[e]||(c[e]=[])).$$inter=!0,(h.$$observers&&h.$$observers[e].$$scope||a).$watch(k,function(a,b){"class"===e&&a!=b?h.$updateClass(a,b):h.$set(e,a)}))}}}})}}function da(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,h;if(a)for(g=0,h=a.length;g<h;g++)if(a[g]==d){a[g++]=c;h=g+e-1;for(var k=a.length;g<k;g++,h++)h<k?a[g]=a[h]:delete a[g];a.length-=e-1;a.context===d&&(a.context=
c);break}f&&f.replaceChild(c,d);a=v.document.createDocumentFragment();for(g=0;g<e;g++)a.appendChild(b[g]);B.hasData(d)&&(B.data(c,B.data(d)),B(d).off("$destroy"));B.cleanData(a.querySelectorAll("*"));for(g=1;g<e;g++)delete b[g];b[0]=c;b.length=1}function ha(a,b){return R(function(){return a.apply(null,arguments)},a,b)}function ja(a,b,d,e,f,g){try{a(b,d,e,f,g)}catch(h){c(h,wa(d))}}function ia(a,c,d,e,f){function g(b,c,e){E(d.$onChanges)&&c!==e&&(Z||(a.$$postDigest(L),Z=[]),m||(m={},Z.push(h)),m[b]&&
(e=m[b].previousValue),m[b]=new Db(e,c))}function h(){d.$onChanges(m);m=void 0}var k=[],l={},m;q(e,function(e,h){var m=e.attrName,n=e.optional,p,r,I,D;switch(e.mode){case "@":n||ua.call(c,m)||(d[h]=c[m]=void 0);c.$observe(m,function(a){if(F(a)||Da(a))g(h,a,d[h]),d[h]=a});c.$$observers[m].$$scope=a;p=c[m];F(p)?d[h]=b(p)(a):Da(p)&&(d[h]=p);l[h]=new Db(Zb,d[h]);break;case "=":if(!ua.call(c,m)){if(n)break;c[m]=void 0}if(n&&!c[m])break;r=t(c[m]);D=r.literal?pa:function(a,b){return a===b||a!==a&&b!==b};
I=r.assign||function(){p=d[h]=r(a);throw ga("nonassign",c[m],m,f.name);};p=d[h]=r(a);n=function(b){D(b,d[h])||(D(b,p)?I(a,b=d[h]):d[h]=b);return p=b};n.$stateful=!0;n=e.collection?a.$watchCollection(c[m],n):a.$watch(t(c[m],n),null,r.literal);k.push(n);break;case "<":if(!ua.call(c,m)){if(n)break;c[m]=void 0}if(n&&!c[m])break;r=t(c[m]);d[h]=r(a);l[h]=new Db(Zb,d[h]);n=a.$watch(r,function(a,b){a===b&&(b=d[h]);g(h,a,b);d[h]=a},r.literal);k.push(n);break;case "&":r=c.hasOwnProperty(m)?t(c[m]):C;if(r===
C&&n)break;d[h]=function(b){return r(a,b)}}});return{initialChanges:l,removeWatches:k.length&&function(){for(var a=0,b=k.length;a<b;++a)k[a]()}}}var oa=/^\w/,na=v.document.createElement("div"),qa=r,Z;S.prototype={$normalize:xa,$addClass:function(a){a&&0<a.length&&J.addClass(this.$$element,a)},$removeClass:function(a){a&&0<a.length&&J.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=$c(a,b);c&&c.length&&J.addClass(this.$$element,c);(c=$c(b,a))&&c.length&&J.removeClass(this.$$element,
c)},$set:function(a,b,d,e){var f=Rc(this.$$element[0],a),g=ad[a],h=a;f?(this.$$element.prop(a,b),e=f):g&&(this[g]=b,h=g);this[a]=b;e?this.$attr[a]=e:(e=this.$attr[a])||(this.$attr[a]=e=zc(a,"-"));f=va(this.$$element);if("a"===f&&("href"===a||"xlinkHref"===a)||"img"===f&&"src"===a)this[a]=b=D(b,"src"===a);else if("img"===f&&"srcset"===a){for(var f="",g=V(b),k=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,k=/\s/.test(g)?k:/(,)/,g=g.split(k),k=Math.floor(g.length/2),l=0;l<k;l++)var m=2*l,f=f+D(V(g[m]),!0),f=
f+(" "+V(g[m+1]));g=V(g[2*l]).split(/\s/);f+=D(V(g[0]),!0);2===g.length&&(f+=" "+V(g[1]));this[a]=b=f}!1!==d&&(null===b||y(b)?this.$$element.removeAttr(e):oa.test(e)?this.$$element.attr(e,b):$(this.$$element[0],e,b));(a=this.$$observers)&&q(a[h],function(a){try{a(b)}catch(d){c(d)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers=T()),e=d[a]||(d[a]=[]);e.push(b);u.$evalAsync(function(){e.$$inter||!c.hasOwnProperty(a)||y(c[a])||b(c[a])});return function(){Za(e,b)}}};var ra=b.startSymbol(),
sa=b.endSymbol(),ta="{{"==ra&&"}}"==sa?Xa:function(a){return a.replace(/\{\{/g,ra).replace(/}}/g,sa)},ya=/^ngAttr[A-Z]/,Aa=/^(.+)Start$/;ba.$$addBindingInfo=m?function(a,b){var c=a.data("$binding")||[];K(b)?c=c.concat(b):c.push(b);a.data("$binding",c)}:C;ba.$$addBindingClass=m?function(a){A(a,"ng-binding")}:C;ba.$$addScopeInfo=m?function(a,b,c,d){a.data(c?d?"$isolateScopeNoTemplate":"$isolateScope":"$scope",b)}:C;ba.$$addScopeClass=m?function(a,b){A(a,b?"ng-isolate-scope":"ng-scope")}:C;ba.$$createComment=
function(a,b){var c="";m&&(c=" "+(a||"")+": "+(b||"")+" ");return v.document.createComment(c)};return ba}]}function Db(a,b){this.previousValue=a;this.currentValue=b}function xa(a){return cb(a.replace(Vc,""))}function $c(a,b){var d="",c=a.split(/\s+/),e=b.split(/\s+/),f=0;a:for(;f<c.length;f++){for(var g=c[f],h=0;h<e.length;h++)if(g==e[h])continue a;d+=(0<d.length?" ":"")+g}return d}function Yc(a){a=B(a);var b=a.length;if(1>=b)return a;for(;b--;)8===a[b].nodeType&&Zf.call(a,b,1);return a}function Uc(a,
b){if(b&&F(b))return b;if(F(a)){var d=bd.exec(a);if(d)return d[3]}}function ef(){var a={},b=!1;this.has=function(b){return a.hasOwnProperty(b)};this.register=function(b,c){Qa(b,"controller");G(b)?R(a,b):a[b]=c};this.allowGlobals=function(){b=!0};this.$get=["$injector","$window",function(d,c){function e(a,b,c,d){if(!a||!G(a.$scope))throw O("$controller")("noscp",d,b);a.$scope[b]=c}return function(f,g,h,k){var l,n,m;h=!0===h;k&&F(k)&&(m=k);if(F(f)){k=f.match(bd);if(!k)throw $f("ctrlfmt",f);n=k[1];m=
m||k[3];f=a.hasOwnProperty(n)?a[n]:Bc(g.$scope,n,!0)||(b?Bc(c,n,!0):void 0);Pa(f,n,!0)}if(h)return h=(K(f)?f[f.length-1]:f).prototype,l=Object.create(h||null),m&&e(g,m,l,n||f.name),R(function(){var a=d.invoke(f,l,g,n);a!==l&&(G(a)||E(a))&&(l=a,m&&e(g,m,l,n||f.name));return l},{instance:l,identifier:m});l=d.instantiate(f,g,n);m&&e(g,m,l,n||f.name);return l}}]}function ff(){this.$get=["$window",function(a){return B(a.document)}]}function gf(){this.$get=["$log",function(a){return function(b,d){a.error.apply(a,
arguments)}}]}function $b(a){return G(a)?fa(a)?a.toISOString():ab(a):a}function mf(){this.$get=function(){return function(a){if(!a)return"";var b=[];pc(a,function(a,c){null===a||y(a)||(K(a)?q(a,function(a){b.push(ja(c)+"="+ja($b(a)))}):b.push(ja(c)+"="+ja($b(a))))});return b.join("&")}}}function nf(){this.$get=function(){return function(a){function b(a,e,f){null===a||y(a)||(K(a)?q(a,function(a,c){b(a,e+"["+(G(a)?c:"")+"]")}):G(a)&&!fa(a)?pc(a,function(a,c){b(a,e+(f?"":"[")+c+(f?"":"]"))}):d.push(ja(e)+
"="+ja($b(a))))}if(!a)return"";var d=[];b(a,"",!0);return d.join("&")}}}function ac(a,b){if(F(a)){var d=a.replace(ag,"").trim();if(d){var c=b("Content-Type");(c=c&&0===c.indexOf(cd))||(c=(c=d.match(bg))&&cg[c[0]].test(d));c&&(a=uc(d))}}return a}function dd(a){var b=T(),d;F(a)?q(a.split("\n"),function(a){d=a.indexOf(":");var e=P(V(a.substr(0,d)));a=V(a.substr(d+1));e&&(b[e]=b[e]?b[e]+", "+a:a)}):G(a)&&q(a,function(a,d){var f=P(d),g=V(a);f&&(b[f]=b[f]?b[f]+", "+g:g)});return b}function ed(a){var b;
return function(d){b||(b=dd(a));return d?(d=b[P(d)],void 0===d&&(d=null),d):b}}function fd(a,b,d,c){if(E(c))return c(a,b,d);q(c,function(c){a=c(a,b,d)});return a}function lf(){var a=this.defaults={transformResponse:[ac],transformRequest:[function(a){return G(a)&&"[object File]"!==ma.call(a)&&"[object Blob]"!==ma.call(a)&&"[object FormData]"!==ma.call(a)?ab(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ha(bc),put:ha(bc),patch:ha(bc)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",
paramSerializer:"$httpParamSerializer"},b=!1;this.useApplyAsync=function(a){return x(a)?(b=!!a,this):b};var d=!0;this.useLegacyPromiseExtensions=function(a){return x(a)?(d=!!a,this):d};var c=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(e,f,g,h,k,l){function n(b){function c(a){var b=R({},a);b.data=fd(a.data,a.headers,a.status,f.transformResponse);a=a.status;return 200<=a&&300>a?b:k.reject(b)}function e(a,b){var c,d={};q(a,function(a,
e){E(a)?(c=a(b),null!=c&&(d[e]=c)):d[e]=a});return d}if(!G(b))throw O("$http")("badreq",b);if(!F(b.url))throw O("$http")("badreq",b.url);var f=R({method:"get",transformRequest:a.transformRequest,transformResponse:a.transformResponse,paramSerializer:a.paramSerializer},b);f.headers=function(b){var c=a.headers,d=R({},b.headers),f,g,h,c=R({},c.common,c[P(b.method)]);a:for(f in c){g=P(f);for(h in d)if(P(h)===g)continue a;d[f]=c[f]}return e(d,ha(b))}(b);f.method=sb(f.method);f.paramSerializer=F(f.paramSerializer)?
l.get(f.paramSerializer):f.paramSerializer;var g=[function(b){var d=b.headers,e=fd(b.data,ed(d),void 0,b.transformRequest);y(e)&&q(d,function(a,b){"content-type"===P(b)&&delete d[b]});y(b.withCredentials)&&!y(a.withCredentials)&&(b.withCredentials=a.withCredentials);return m(b,e).then(c,c)},void 0],h=k.when(f);for(q(M,function(a){(a.request||a.requestError)&&g.unshift(a.request,a.requestError);(a.response||a.responseError)&&g.push(a.response,a.responseError)});g.length;){b=g.shift();var n=g.shift(),
h=h.then(b,n)}d?(h.success=function(a){Pa(a,"fn");h.then(function(b){a(b.data,b.status,b.headers,f)});return h},h.error=function(a){Pa(a,"fn");h.then(null,function(b){a(b.data,b.status,b.headers,f)});return h}):(h.success=gd("success"),h.error=gd("error"));return h}function m(c,d){function g(a){if(a){var c={};q(a,function(a,d){c[d]=function(c){function d(){a(c)}b?h.$applyAsync(d):h.$$phase?d():h.$apply(d)}});return c}}function l(a,c,d,e){function f(){m(c,a,d,e)}L&&(200<=a&&300>a?L.put(A,[a,c,dd(d),
e]):L.remove(A));b?h.$applyAsync(f):(f(),h.$$phase||h.$apply())}function m(a,b,d,e){b=-1<=b?b:0;(200<=b&&300>b?J.resolve:J.reject)({data:a,status:b,headers:ed(d),config:c,statusText:e})}function u(a){m(a.data,a.status,ha(a.headers()),a.statusText)}function I(){var a=n.pendingRequests.indexOf(c);-1!==a&&n.pendingRequests.splice(a,1)}var J=k.defer(),D=J.promise,L,S,M=c.headers,A=r(c.url,c.paramSerializer(c.params));n.pendingRequests.push(c);D.then(I,I);!c.cache&&!a.cache||!1===c.cache||"GET"!==c.method&&
"JSONP"!==c.method||(L=G(c.cache)?c.cache:G(a.cache)?a.cache:N);L&&(S=L.get(A),x(S)?S&&E(S.then)?S.then(u,u):K(S)?m(S[1],S[0],ha(S[2]),S[3]):m(S,200,{},"OK"):L.put(A,D));y(S)&&((S=hd(c.url)?f()[c.xsrfCookieName||a.xsrfCookieName]:void 0)&&(M[c.xsrfHeaderName||a.xsrfHeaderName]=S),e(c.method,A,d,l,M,c.timeout,c.withCredentials,c.responseType,g(c.eventHandlers),g(c.uploadEventHandlers)));return D}function r(a,b){0<b.length&&(a+=(-1==a.indexOf("?")?"?":"&")+b);return a}var N=g("$http");a.paramSerializer=
F(a.paramSerializer)?l.get(a.paramSerializer):a.paramSerializer;var M=[];q(c,function(a){M.unshift(F(a)?l.get(a):l.invoke(a))});n.pendingRequests=[];(function(a){q(arguments,function(a){n[a]=function(b,c){return n(R({},c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){q(arguments,function(a){n[a]=function(b,c,d){return n(R({},d||{},{method:a,url:b,data:c}))}})})("post","put","patch");n.defaults=a;return n}]}function pf(){this.$get=function(){return function(){return new v.XMLHttpRequest}}}
function of(){this.$get=["$browser","$window","$document","$xhrFactory",function(a,b,d,c){return dg(a,c,a.defer,b.angular.callbacks,d[0])}]}function dg(a,b,d,c,e){function f(a,b,d){var f=e.createElement("script"),n=null;f.type="text/javascript";f.src=a;f.async=!0;n=function(a){f.removeEventListener("load",n,!1);f.removeEventListener("error",n,!1);e.body.removeChild(f);f=null;var g=-1,N="unknown";a&&("load"!==a.type||c[b].called||(a={type:"error"}),N=a.type,g="error"===a.type?404:200);d&&d(g,N)};f.addEventListener("load",
n,!1);f.addEventListener("error",n,!1);e.body.appendChild(f);return n}return function(e,h,k,l,n,m,r,N,M,w){function p(){z&&z();u&&u.abort()}function H(b,c,e,f,g){x(J)&&d.cancel(J);z=u=null;b(c,e,f,g);a.$$completeOutstandingRequest(C)}a.$$incOutstandingRequestCount();h=h||a.url();if("jsonp"==P(e)){var t="_"+(c.counter++).toString(36);c[t]=function(a){c[t].data=a;c[t].called=!0};var z=f(h.replace("JSON_CALLBACK","angular.callbacks."+t),t,function(a,b){H(l,a,c[t].data,"",b);c[t]=C})}else{var u=b(e,h);
u.open(e,h,!0);q(n,function(a,b){x(a)&&u.setRequestHeader(b,a)});u.onload=function(){var a=u.statusText||"",b="response"in u?u.response:u.responseText,c=1223===u.status?204:u.status;0===c&&(c=b?200:"file"==ra(h).protocol?404:0);H(l,c,b,u.getAllResponseHeaders(),a)};e=function(){H(l,-1,null,null,"")};u.onerror=e;u.onabort=e;q(M,function(a,b){u.addEventListener(b,a)});q(w,function(a,b){u.upload.addEventListener(b,a)});r&&(u.withCredentials=!0);if(N)try{u.responseType=N}catch(I){if("json"!==N)throw I;
}u.send(y(k)?null:k)}if(0<m)var J=d(p,m);else m&&E(m.then)&&m.then(p)}}function jf(){var a="{{",b="}}";this.startSymbol=function(b){return b?(a=b,this):a};this.endSymbol=function(a){return a?(b=a,this):b};this.$get=["$parse","$exceptionHandler","$sce",function(d,c,e){function f(a){return"\\\\\\"+a}function g(c){return c.replace(m,a).replace(r,b)}function h(a,b,c,d){var e;return e=a.$watch(function(a){e();return d(a)},b,c)}function k(f,k,m,r){function H(a){try{var b=a;a=m?e.getTrusted(m,b):e.valueOf(b);
var d;if(r&&!x(a))d=a;else if(null==a)d="";else{switch(typeof a){case "string":break;case "number":a=""+a;break;default:a=ab(a)}d=a}return d}catch(g){c(Ja.interr(f,g))}}if(!f.length||-1===f.indexOf(a)){var t;k||(k=g(f),t=da(k),t.exp=f,t.expressions=[],t.$$watchDelegate=h);return t}r=!!r;var z,u,I=0,J=[],D=[];t=f.length;for(var L=[],S=[];I<t;)if(-1!=(z=f.indexOf(a,I))&&-1!=(u=f.indexOf(b,z+l)))I!==z&&L.push(g(f.substring(I,z))),I=f.substring(z+l,u),J.push(I),D.push(d(I,H)),I=u+n,S.push(L.length),L.push("");
else{I!==t&&L.push(g(f.substring(I)));break}m&&1<L.length&&Ja.throwNoconcat(f);if(!k||J.length){var q=function(a){for(var b=0,c=J.length;b<c;b++){if(r&&y(a[b]))return;L[S[b]]=a[b]}return L.join("")};return R(function(a){var b=0,d=J.length,e=Array(d);try{for(;b<d;b++)e[b]=D[b](a);return q(e)}catch(g){c(Ja.interr(f,g))}},{exp:f,expressions:J,$$watchDelegate:function(a,b){var c;return a.$watchGroup(D,function(d,e){var f=q(d);E(b)&&b.call(this,f,d!==e?c:f,a);c=f})}})}}var l=a.length,n=b.length,m=new RegExp(a.replace(/./g,
f),"g"),r=new RegExp(b.replace(/./g,f),"g");k.startSymbol=function(){return a};k.endSymbol=function(){return b};return k}]}function kf(){this.$get=["$rootScope","$window","$q","$$q","$browser",function(a,b,d,c,e){function f(f,k,l,n){function m(){r?f.apply(null,N):f(p)}var r=4<arguments.length,N=r?za.call(arguments,4):[],q=b.setInterval,w=b.clearInterval,p=0,H=x(n)&&!n,t=(H?c:d).defer(),z=t.promise;l=x(l)?l:0;z.$$intervalId=q(function(){H?e.defer(m):a.$evalAsync(m);t.notify(p++);0<l&&p>=l&&(t.resolve(p),
w(z.$$intervalId),delete g[z.$$intervalId]);H||a.$apply()},k);g[z.$$intervalId]=t;return z}var g={};f.cancel=function(a){return a&&a.$$intervalId in g?(g[a.$$intervalId].reject("canceled"),b.clearInterval(a.$$intervalId),delete g[a.$$intervalId],!0):!1};return f}]}function cc(a){a=a.split("/");for(var b=a.length;b--;)a[b]=ob(a[b]);return a.join("/")}function id(a,b){var d=ra(a);b.$$protocol=d.protocol;b.$$host=d.hostname;b.$$port=X(d.port)||eg[d.protocol]||null}function jd(a,b){var d="/"!==a.charAt(0);
d&&(a="/"+a);var c=ra(a);b.$$path=decodeURIComponent(d&&"/"===c.pathname.charAt(0)?c.pathname.substring(1):c.pathname);b.$$search=xc(c.search);b.$$hash=decodeURIComponent(c.hash);b.$$path&&"/"!=b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function na(a,b){if(0===b.indexOf(a))return b.substr(a.length)}function Ia(a){var b=a.indexOf("#");return-1==b?a:a.substr(0,b)}function hb(a){return a.replace(/(#.+)|#$/,"$1")}function dc(a,b,d){this.$$html5=!0;d=d||"";id(a,this);this.$$parse=function(a){var d=na(b,
a);if(!F(d))throw Eb("ipthprfx",a,b);jd(d,this);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=Rb(this.$$search),d=this.$$hash?"#"+ob(this.$$hash):"";this.$$url=cc(this.$$path)+(a?"?"+a:"")+d;this.$$absUrl=b+this.$$url.substr(1)};this.$$parseLinkUrl=function(c,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;x(f=na(a,c))?(g=f,g=x(f=na(d,f))?b+(na("/",f)||f):a+g):x(f=na(b,c))?g=b+f:b==c+"/"&&(g=b);g&&this.$$parse(g);return!!g}}function ec(a,b,d){id(a,this);
this.$$parse=function(c){var e=na(a,c)||na(b,c),f;y(e)||"#"!==e.charAt(0)?this.$$html5?f=e:(f="",y(e)&&(a=c,this.replace())):(f=na(d,e),y(f)&&(f=e));jd(f,this);c=this.$$path;var e=a,g=/^\/[A-Z]:(\/.*)/;0===f.indexOf(e)&&(f=f.replace(e,""));g.exec(f)||(c=(f=g.exec(c))?f[1]:c);this.$$path=c;this.$$compose()};this.$$compose=function(){var b=Rb(this.$$search),e=this.$$hash?"#"+ob(this.$$hash):"";this.$$url=cc(this.$$path)+(b?"?"+b:"")+e;this.$$absUrl=a+(this.$$url?d+this.$$url:"")};this.$$parseLinkUrl=
function(b,d){return Ia(a)==Ia(b)?(this.$$parse(b),!0):!1}}function kd(a,b,d){this.$$html5=!0;ec.apply(this,arguments);this.$$parseLinkUrl=function(c,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;a==Ia(c)?f=c:(g=na(b,c))?f=a+d+g:b===c+"/"&&(f=b);f&&this.$$parse(f);return!!f};this.$$compose=function(){var b=Rb(this.$$search),e=this.$$hash?"#"+ob(this.$$hash):"";this.$$url=cc(this.$$path)+(b?"?"+b:"")+e;this.$$absUrl=a+d+this.$$url}}function Fb(a){return function(){return this[a]}}function ld(a,
b){return function(d){if(y(d))return this[a];this[a]=b(d);this.$$compose();return this}}function qf(){var a="",b={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(b){return x(b)?(a=b,this):a};this.html5Mode=function(a){return Da(a)?(b.enabled=a,this):G(a)?(Da(a.enabled)&&(b.enabled=a.enabled),Da(a.requireBase)&&(b.requireBase=a.requireBase),Da(a.rewriteLinks)&&(b.rewriteLinks=a.rewriteLinks),this):b};this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(d,
c,e,f,g){function h(a,b,d){var e=l.url(),f=l.$$state;try{c.url(a,b,d),l.$$state=c.state()}catch(g){throw l.url(e),l.$$state=f,g;}}function k(a,b){d.$broadcast("$locationChangeSuccess",l.absUrl(),a,l.$$state,b)}var l,n;n=c.baseHref();var m=c.url(),r;if(b.enabled){if(!n&&b.requireBase)throw Eb("nobase");r=m.substring(0,m.indexOf("/",m.indexOf("//")+2))+(n||"/");n=e.history?dc:kd}else r=Ia(m),n=ec;var N=r.substr(0,Ia(r).lastIndexOf("/")+1);l=new n(r,N,"#"+a);l.$$parseLinkUrl(m,m);l.$$state=c.state();
var q=/^\s*(javascript|mailto):/i;f.on("click",function(a){if(b.rewriteLinks&&!a.ctrlKey&&!a.metaKey&&!a.shiftKey&&2!=a.which&&2!=a.button){for(var e=B(a.target);"a"!==va(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var h=e.prop("href"),k=e.attr("href")||e.attr("xlink:href");G(h)&&"[object SVGAnimatedString]"===h.toString()&&(h=ra(h.animVal).href);q.test(h)||!h||e.attr("target")||a.isDefaultPrevented()||!l.$$parseLinkUrl(h,k)||(a.preventDefault(),l.absUrl()!=c.url()&&(d.$apply(),g.angular["ff-684208-preventDefault"]=
!0))}});hb(l.absUrl())!=hb(m)&&c.url(l.absUrl(),!0);var w=!0;c.onUrlChange(function(a,b){y(na(N,a))?g.location.href=a:(d.$evalAsync(function(){var c=l.absUrl(),e=l.$$state,f;a=hb(a);l.$$parse(a);l.$$state=b;f=d.$broadcast("$locationChangeStart",a,c,b,e).defaultPrevented;l.absUrl()===a&&(f?(l.$$parse(c),l.$$state=e,h(c,!1,e)):(w=!1,k(c,e)))}),d.$$phase||d.$digest())});d.$watch(function(){var a=hb(c.url()),b=hb(l.absUrl()),f=c.state(),g=l.$$replace,m=a!==b||l.$$html5&&e.history&&f!==l.$$state;if(w||
m)w=!1,d.$evalAsync(function(){var b=l.absUrl(),c=d.$broadcast("$locationChangeStart",b,a,l.$$state,f).defaultPrevented;l.absUrl()===b&&(c?(l.$$parse(a),l.$$state=f):(m&&h(b,g,f===l.$$state?null:l.$$state),k(a,f)))});l.$$replace=!1});return l}]}function rf(){var a=!0,b=this;this.debugEnabled=function(b){return x(b)?(a=b,this):a};this.$get=["$window",function(d){function c(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&
(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=d.console||{},e=b[a]||b.log||C;a=!1;try{a=!!e.apply}catch(k){}return a?function(){var a=[];q(arguments,function(b){a.push(c(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){a&&c.apply(b,arguments)}}()}}]}function Ta(a,b){if("__defineGetter__"===a||"__defineSetter__"===a||"__lookupGetter__"===a||"__lookupSetter__"===
a||"__proto__"===a)throw ca("isecfld",b);return a}function fg(a){return a+""}function sa(a,b){if(a){if(a.constructor===a)throw ca("isecfn",b);if(a.window===a)throw ca("isecwindow",b);if(a.children&&(a.nodeName||a.prop&&a.attr&&a.find))throw ca("isecdom",b);if(a===Object)throw ca("isecobj",b);}return a}function md(a,b){if(a){if(a.constructor===a)throw ca("isecfn",b);if(a===gg||a===hg||a===ig)throw ca("isecff",b);}}function Gb(a,b){if(a&&(a===(0).constructor||a===(!1).constructor||a==="".constructor||
a==={}.constructor||a===[].constructor||a===Function.constructor))throw ca("isecaf",b);}function jg(a,b){return"undefined"!==typeof a?a:b}function nd(a,b){return"undefined"===typeof a?b:"undefined"===typeof b?a:a+b}function aa(a,b){var d,c;switch(a.type){case s.Program:d=!0;q(a.body,function(a){aa(a.expression,b);d=d&&a.expression.constant});a.constant=d;break;case s.Literal:a.constant=!0;a.toWatch=[];break;case s.UnaryExpression:aa(a.argument,b);a.constant=a.argument.constant;a.toWatch=a.argument.toWatch;
break;case s.BinaryExpression:aa(a.left,b);aa(a.right,b);a.constant=a.left.constant&&a.right.constant;a.toWatch=a.left.toWatch.concat(a.right.toWatch);break;case s.LogicalExpression:aa(a.left,b);aa(a.right,b);a.constant=a.left.constant&&a.right.constant;a.toWatch=a.constant?[]:[a];break;case s.ConditionalExpression:aa(a.test,b);aa(a.alternate,b);aa(a.consequent,b);a.constant=a.test.constant&&a.alternate.constant&&a.consequent.constant;a.toWatch=a.constant?[]:[a];break;case s.Identifier:a.constant=
!1;a.toWatch=[a];break;case s.MemberExpression:aa(a.object,b);a.computed&&aa(a.property,b);a.constant=a.object.constant&&(!a.computed||a.property.constant);a.toWatch=[a];break;case s.CallExpression:d=a.filter?!b(a.callee.name).$stateful:!1;c=[];q(a.arguments,function(a){aa(a,b);d=d&&a.constant;a.constant||c.push.apply(c,a.toWatch)});a.constant=d;a.toWatch=a.filter&&!b(a.callee.name).$stateful?c:[a];break;case s.AssignmentExpression:aa(a.left,b);aa(a.right,b);a.constant=a.left.constant&&a.right.constant;
a.toWatch=[a];break;case s.ArrayExpression:d=!0;c=[];q(a.elements,function(a){aa(a,b);d=d&&a.constant;a.constant||c.push.apply(c,a.toWatch)});a.constant=d;a.toWatch=c;break;case s.ObjectExpression:d=!0;c=[];q(a.properties,function(a){aa(a.value,b);d=d&&a.value.constant;a.value.constant||c.push.apply(c,a.value.toWatch)});a.constant=d;a.toWatch=c;break;case s.ThisExpression:a.constant=!1;a.toWatch=[];break;case s.LocalsExpression:a.constant=!1,a.toWatch=[]}}function od(a){if(1==a.length){a=a[0].expression;
var b=a.toWatch;return 1!==b.length?b:b[0]!==a?b:void 0}}function pd(a){return a.type===s.Identifier||a.type===s.MemberExpression}function qd(a){if(1===a.body.length&&pd(a.body[0].expression))return{type:s.AssignmentExpression,left:a.body[0].expression,right:{type:s.NGValueParameter},operator:"="}}function rd(a){return 0===a.body.length||1===a.body.length&&(a.body[0].expression.type===s.Literal||a.body[0].expression.type===s.ArrayExpression||a.body[0].expression.type===s.ObjectExpression)}function sd(a,
b){this.astBuilder=a;this.$filter=b}function td(a,b){this.astBuilder=a;this.$filter=b}function Hb(a){return"constructor"==a}function fc(a){return E(a.valueOf)?a.valueOf():kg.call(a)}function sf(){var a=T(),b=T(),d={"true":!0,"false":!1,"null":null,undefined:void 0},c,e;this.addLiteral=function(a,b){d[a]=b};this.setIdentifierFns=function(a,b){c=a;e=b;return this};this.$get=["$filter",function(f){function g(c,d,e){var g,k,D;e=e||H;switch(typeof c){case "string":D=c=c.trim();var q=e?b:a;g=q[D];if(!g){":"===
c.charAt(0)&&":"===c.charAt(1)&&(k=!0,c=c.substring(2));g=e?p:w;var S=new gc(g);g=(new hc(S,f,g)).parse(c);g.constant?g.$$watchDelegate=r:k?g.$$watchDelegate=g.literal?m:n:g.inputs&&(g.$$watchDelegate=l);e&&(g=h(g));q[D]=g}return N(g,d);case "function":return N(c,d);default:return N(C,d)}}function h(a){function b(c,d,e,f){var g=H;H=!0;try{return a(c,d,e,f)}finally{H=g}}if(!a)return a;b.$$watchDelegate=a.$$watchDelegate;b.assign=h(a.assign);b.constant=a.constant;b.literal=a.literal;for(var c=0;a.inputs&&
c<a.inputs.length;++c)a.inputs[c]=h(a.inputs[c]);b.inputs=a.inputs;return b}function k(a,b){return null==a||null==b?a===b:"object"===typeof a&&(a=fc(a),"object"===typeof a)?!1:a===b||a!==a&&b!==b}function l(a,b,c,d,e){var f=d.inputs,g;if(1===f.length){var h=k,f=f[0];return a.$watch(function(a){var b=f(a);k(b,h)||(g=d(a,void 0,void 0,[b]),h=b&&fc(b));return g},b,c,e)}for(var l=[],m=[],n=0,r=f.length;n<r;n++)l[n]=k,m[n]=null;return a.$watch(function(a){for(var b=!1,c=0,e=f.length;c<e;c++){var h=f[c](a);
if(b||(b=!k(h,l[c])))m[c]=h,l[c]=h&&fc(h)}b&&(g=d(a,void 0,void 0,m));return g},b,c,e)}function n(a,b,c,d){var e,f;return e=a.$watch(function(a){return d(a)},function(a,c,d){f=a;E(b)&&b.apply(this,arguments);x(a)&&d.$$postDigest(function(){x(f)&&e()})},c)}function m(a,b,c,d){function e(a){var b=!0;q(a,function(a){x(a)||(b=!1)});return b}var f,g;return f=a.$watch(function(a){return d(a)},function(a,c,d){g=a;E(b)&&b.call(this,a,c,d);e(a)&&d.$$postDigest(function(){e(g)&&f()})},c)}function r(a,b,c,d){var e;
return e=a.$watch(function(a){e();return d(a)},b,c)}function N(a,b){if(!b)return a;var c=a.$$watchDelegate,d=!1,c=c!==m&&c!==n?function(c,e,f,g){f=d&&g?g[0]:a(c,e,f,g);return b(f,c,e)}:function(c,d,e,f){e=a(c,d,e,f);c=b(e,c,d);return x(e)?c:e};a.$$watchDelegate&&a.$$watchDelegate!==l?c.$$watchDelegate=a.$$watchDelegate:b.$stateful||(c.$$watchDelegate=l,d=!a.inputs,c.inputs=a.inputs?a.inputs:[a]);return c}var M=Ea().noUnsafeEval,w={csp:M,expensiveChecks:!1,literals:qa(d),isIdentifierStart:E(c)&&c,
isIdentifierContinue:E(e)&&e},p={csp:M,expensiveChecks:!0,literals:qa(d),isIdentifierStart:E(c)&&c,isIdentifierContinue:E(e)&&e},H=!1;g.$$runningExpensiveChecks=function(){return H};return g}]}function uf(){this.$get=["$rootScope","$exceptionHandler",function(a,b){return ud(function(b){a.$evalAsync(b)},b)}]}function vf(){this.$get=["$browser","$exceptionHandler",function(a,b){return ud(function(b){a.defer(b)},b)}]}function ud(a,b){function d(){this.$$state={status:0}}function c(a,b){return function(c){b.call(a,
c)}}function e(c){!c.processScheduled&&c.pending&&(c.processScheduled=!0,a(function(){var a,d,e;e=c.pending;c.processScheduled=!1;c.pending=void 0;for(var f=0,g=e.length;f<g;++f){d=e[f][0];a=e[f][c.status];try{E(a)?d.resolve(a(c.value)):1===c.status?d.resolve(c.value):d.reject(c.value)}catch(h){d.reject(h),b(h)}}}))}function f(){this.promise=new d}var g=O("$q",TypeError);R(d.prototype,{then:function(a,b,c){if(y(a)&&y(b)&&y(c))return this;var d=new f;this.$$state.pending=this.$$state.pending||[];this.$$state.pending.push([d,
a,b,c]);0<this.$$state.status&&e(this.$$state);return d.promise},"catch":function(a){return this.then(null,a)},"finally":function(a,b){return this.then(function(b){return k(b,!0,a)},function(b){return k(b,!1,a)},b)}});R(f.prototype,{resolve:function(a){this.promise.$$state.status||(a===this.promise?this.$$reject(g("qcycle",a)):this.$$resolve(a))},$$resolve:function(a){function d(a){k||(k=!0,h.$$resolve(a))}function f(a){k||(k=!0,h.$$reject(a))}var g,h=this,k=!1;try{if(G(a)||E(a))g=a&&a.then;E(g)?
(this.promise.$$state.status=-1,g.call(a,d,f,c(this,this.notify))):(this.promise.$$state.value=a,this.promise.$$state.status=1,e(this.promise.$$state))}catch(l){f(l),b(l)}},reject:function(a){this.promise.$$state.status||this.$$reject(a)},$$reject:function(a){this.promise.$$state.value=a;this.promise.$$state.status=2;e(this.promise.$$state)},notify:function(c){var d=this.promise.$$state.pending;0>=this.promise.$$state.status&&d&&d.length&&a(function(){for(var a,e,f=0,g=d.length;f<g;f++){e=d[f][0];
a=d[f][3];try{e.notify(E(a)?a(c):c)}catch(h){b(h)}}})}});var h=function(a,b){var c=new f;b?c.resolve(a):c.reject(a);return c.promise},k=function(a,b,c){var d=null;try{E(c)&&(d=c())}catch(e){return h(e,!1)}return d&&E(d.then)?d.then(function(){return h(a,b)},function(a){return h(a,!1)}):h(a,b)},l=function(a,b,c,d){var e=new f;e.resolve(a);return e.promise.then(b,c,d)},n=function(a){if(!E(a))throw g("norslvr",a);var b=new f;a(function(a){b.resolve(a)},function(a){b.reject(a)});return b.promise};n.prototype=
d.prototype;n.defer=function(){var a=new f;a.resolve=c(a,a.resolve);a.reject=c(a,a.reject);a.notify=c(a,a.notify);return a};n.reject=function(a){var b=new f;b.reject(a);return b.promise};n.when=l;n.resolve=l;n.all=function(a){var b=new f,c=0,d=K(a)?[]:{};q(a,function(a,e){c++;l(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})});0===c&&b.resolve(d);return b.promise};return n}function Ef(){this.$get=["$window","$timeout",function(a,
b){var d=a.requestAnimationFrame||a.webkitRequestAnimationFrame,c=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.webkitCancelRequestAnimationFrame,e=!!d,f=e?function(a){var b=d(a);return function(){c(b)}}:function(a){var c=b(a,16.66,!1);return function(){b.cancel(c)}};f.supported=e;return f}]}function tf(){function a(a){function b(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount=0;this.$id=++nb;this.$$ChildScope=
null}b.prototype=a;return b}var b=10,d=O("$rootScope"),c=null,e=null;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$exceptionHandler","$parse","$browser",function(f,g,h){function k(a){a.currentScope.$$destroyed=!0}function l(a){9===Ca&&(a.$$childHead&&l(a.$$childHead),a.$$nextSibling&&l(a.$$nextSibling));a.$parent=a.$$nextSibling=a.$$prevSibling=a.$$childHead=a.$$childTail=a.$root=a.$$watchers=null}function n(){this.$id=++nb;this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=
this.$$prevSibling=this.$$childHead=this.$$childTail=null;this.$root=this;this.$$destroyed=!1;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount=0;this.$$isolateBindings=null}function m(a){if(H.$$phase)throw d("inprog",H.$$phase);H.$$phase=a}function r(a,b){do a.$$watchersCount+=b;while(a=a.$parent)}function N(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function s(){}function w(){for(;u.length;)try{u.shift()()}catch(a){f(a)}e=
null}function p(){null===e&&(e=h.defer(function(){H.$apply(w)}))}n.prototype={constructor:n,$new:function(b,c){var d;c=c||this;b?(d=new n,d.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=a(this)),d=new this.$$ChildScope);d.$parent=c;d.$$prevSibling=c.$$childTail;c.$$childHead?(c.$$childTail.$$nextSibling=d,c.$$childTail=d):c.$$childHead=c.$$childTail=d;(b||c!=this)&&d.$on("$destroy",k);return d},$watch:function(a,b,d,e){var f=g(a);if(f.$$watchDelegate)return f.$$watchDelegate(this,b,d,f,
a);var h=this,k=h.$$watchers,l={fn:b,last:s,get:f,exp:e||a,eq:!!d};c=null;E(b)||(l.fn=C);k||(k=h.$$watchers=[]);k.unshift(l);r(this,1);return function(){0<=Za(k,l)&&r(h,-1);c=null}},$watchGroup:function(a,b){function c(){h=!1;k?(k=!1,b(e,e,g)):b(e,d,g)}var d=Array(a.length),e=Array(a.length),f=[],g=this,h=!1,k=!0;if(!a.length){var l=!0;g.$evalAsync(function(){l&&b(e,e,g)});return function(){l=!1}}if(1===a.length)return this.$watch(a[0],function(a,c,f){e[0]=a;d[0]=c;b(e,a===c?e:d,f)});q(a,function(a,
b){var k=g.$watch(a,function(a,f){e[b]=a;d[b]=f;h||(h=!0,g.$evalAsync(c))});f.push(k)});return function(){for(;f.length;)f.shift()()}},$watchCollection:function(a,b){function c(a){e=a;var b,d,g,h;if(!y(e)){if(G(e))if(ya(e))for(f!==m&&(f=m,t=f.length=0,l++),a=e.length,t!==a&&(l++,f.length=t=a),b=0;b<a;b++)h=f[b],g=e[b],d=h!==h&&g!==g,d||h===g||(l++,f[b]=g);else{f!==r&&(f=r={},t=0,l++);a=0;for(b in e)ua.call(e,b)&&(a++,g=e[b],h=f[b],b in f?(d=h!==h&&g!==g,d||h===g||(l++,f[b]=g)):(t++,f[b]=g,l++));if(t>
a)for(b in l++,f)ua.call(e,b)||(t--,delete f[b])}else f!==e&&(f=e,l++);return l}}c.$stateful=!0;var d=this,e,f,h,k=1<b.length,l=0,n=g(a,c),m=[],r={},p=!0,t=0;return this.$watch(n,function(){p?(p=!1,b(e,e,d)):b(e,h,d);if(k)if(G(e))if(ya(e)){h=Array(e.length);for(var a=0;a<e.length;a++)h[a]=e[a]}else for(a in h={},e)ua.call(e,a)&&(h[a]=e[a]);else h=e})},$digest:function(){var a,g,k,l,n,r,p,q,N=b,u,x=[],y,v;m("$digest");h.$$checkUrlChange();this===H&&null!==e&&(h.defer.cancel(e),w());c=null;do{q=!1;
for(u=this;t.length;){try{v=t.shift(),v.scope.$eval(v.expression,v.locals)}catch(C){f(C)}c=null}a:do{if(r=u.$$watchers)for(p=r.length;p--;)try{if(a=r[p])if(n=a.get,(g=n(u))!==(k=a.last)&&!(a.eq?pa(g,k):"number"===typeof g&&"number"===typeof k&&isNaN(g)&&isNaN(k)))q=!0,c=a,a.last=a.eq?qa(g,null):g,l=a.fn,l(g,k===s?g:k,u),5>N&&(y=4-N,x[y]||(x[y]=[]),x[y].push({msg:E(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,newVal:g,oldVal:k}));else if(a===c){q=!1;break a}}catch(F){f(F)}if(!(r=u.$$watchersCount&&
u.$$childHead||u!==this&&u.$$nextSibling))for(;u!==this&&!(r=u.$$nextSibling);)u=u.$parent}while(u=r);if((q||t.length)&&!N--)throw H.$$phase=null,d("infdig",b,x);}while(q||t.length);for(H.$$phase=null;z.length;)try{z.shift()()}catch(B){f(B)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;this===H&&h.$$applicationDestroyed();r(this,-this.$$watchersCount);for(var b in this.$$listenerCount)N(this,this.$$listenerCount[b],b);a&&a.$$childHead==
this&&(a.$$childHead=this.$$nextSibling);a&&a.$$childTail==this&&(a.$$childTail=this.$$prevSibling);this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=C;this.$on=this.$watch=this.$watchGroup=function(){return C};this.$$listeners={};this.$$nextSibling=null;l(this)}},$eval:function(a,b){return g(a)(this,b)},$evalAsync:function(a,b){H.$$phase||
t.length||h.defer(function(){t.length&&H.$digest()});t.push({scope:this,expression:g(a),locals:b})},$$postDigest:function(a){z.push(a)},$apply:function(a){try{m("$apply");try{return this.$eval(a)}finally{H.$$phase=null}}catch(b){f(b)}finally{try{H.$digest()}catch(c){throw f(c),c;}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&u.push(b);a=g(a);p()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=
0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(c[d]=null,N(e,1,a))}},$emit:function(a,b){var c=[],d,e=this,g=!1,h={name:a,targetScope:e,stopPropagation:function(){g=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},k=$a([h],arguments,1),l,n;do{d=e.$$listeners[a]||c;h.currentScope=e;l=0;for(n=d.length;l<n;l++)if(d[l])try{d[l].apply(null,k)}catch(m){f(m)}else d.splice(l,1),l--,n--;if(g)return h.currentScope=null,h;e=e.$parent}while(e);
h.currentScope=null;return h},$broadcast:function(a,b){var c=this,d=this,e={name:a,targetScope:this,preventDefault:function(){e.defaultPrevented=!0},defaultPrevented:!1};if(!this.$$listenerCount[a])return e;for(var g=$a([e],arguments,1),h,k;c=d;){e.currentScope=c;d=c.$$listeners[a]||[];h=0;for(k=d.length;h<k;h++)if(d[h])try{d[h].apply(null,g)}catch(l){f(l)}else d.splice(h,1),h--,k--;if(!(d=c.$$listenerCount[a]&&c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent}e.currentScope=
null;return e}};var H=new n,t=H.$$asyncQueue=[],z=H.$$postDigestQueue=[],u=H.$$applyAsyncQueue=[];return H}]}function me(){var a=/^\s*(https?|ftp|mailto|tel|file):/,b=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(b){return x(b)?(a=b,this):a};this.imgSrcSanitizationWhitelist=function(a){return x(a)?(b=a,this):b};this.$get=function(){return function(d,c){var e=c?b:a,f;f=ra(d).href;return""===f||f.match(e)?d:"unsafe:"+f}}}function lg(a){if("self"===a)return a;
if(F(a)){if(-1<a.indexOf("***"))throw ta("iwcard",a);a=vd(a).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*");return new RegExp("^"+a+"$")}if(Wa(a))return new RegExp("^"+a.source+"$");throw ta("imatcher");}function wd(a){var b=[];x(a)&&q(a,function(a){b.push(lg(a))});return b}function xf(){this.SCE_CONTEXTS=oa;var a=["self"],b=[];this.resourceUrlWhitelist=function(b){arguments.length&&(a=wd(b));return a};this.resourceUrlBlacklist=function(a){arguments.length&&(b=wd(a));return b};this.$get=["$injector",
function(d){function c(a,b){return"self"===a?hd(b):!!a.exec(b.href)}function e(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};a&&(b.prototype=new a);b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()};b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()};return b}var f=function(a){throw ta("unsafe");};d.has("$sanitize")&&(f=d.get("$sanitize"));var g=e(),h={};h[oa.HTML]=e(g);h[oa.CSS]=e(g);h[oa.URL]=e(g);h[oa.JS]=e(g);h[oa.RESOURCE_URL]=
e(h[oa.URL]);return{trustAs:function(a,b){var c=h.hasOwnProperty(a)?h[a]:null;if(!c)throw ta("icontext",a,b);if(null===b||y(b)||""===b)return b;if("string"!==typeof b)throw ta("itype",a);return new c(b)},getTrusted:function(d,e){if(null===e||y(e)||""===e)return e;var g=h.hasOwnProperty(d)?h[d]:null;if(g&&e instanceof g)return e.$$unwrapTrustedValue();if(d===oa.RESOURCE_URL){var g=ra(e.toString()),m,r,q=!1;m=0;for(r=a.length;m<r;m++)if(c(a[m],g)){q=!0;break}if(q)for(m=0,r=b.length;m<r;m++)if(c(b[m],
g)){q=!1;break}if(q)return e;throw ta("insecurl",e.toString());}if(d===oa.HTML)return f(e);throw ta("unsafe");},valueOf:function(a){return a instanceof g?a.$$unwrapTrustedValue():a}}}]}function wf(){var a=!0;this.enabled=function(b){arguments.length&&(a=!!b);return a};this.$get=["$parse","$sceDelegate",function(b,d){if(a&&8>Ca)throw ta("iequirks");var c=ha(oa);c.isEnabled=function(){return a};c.trustAs=d.trustAs;c.getTrusted=d.getTrusted;c.valueOf=d.valueOf;a||(c.trustAs=c.getTrusted=function(a,b){return b},
c.valueOf=Xa);c.parseAs=function(a,d){var e=b(d);return e.literal&&e.constant?e:b(d,function(b){return c.getTrusted(a,b)})};var e=c.parseAs,f=c.getTrusted,g=c.trustAs;q(oa,function(a,b){var d=P(b);c[cb("parse_as_"+d)]=function(b){return e(a,b)};c[cb("get_trusted_"+d)]=function(b){return f(a,b)};c[cb("trust_as_"+d)]=function(b){return g(a,b)}});return c}]}function yf(){this.$get=["$window","$document",function(a,b){var d={},c=!(a.chrome&&a.chrome.app&&a.chrome.app.runtime)&&a.history&&a.history.pushState,
e=X((/android (\d+)/.exec(P((a.navigator||{}).userAgent))||[])[1]),f=/Boxee/i.test((a.navigator||{}).userAgent),g=b[0]||{},h,k=/^(Moz|webkit|ms)(?=[A-Z])/,l=g.body&&g.body.style,n=!1,m=!1;if(l){for(var r in l)if(n=k.exec(r)){h=n[0];h=h.substr(0,1).toUpperCase()+h.substr(1);break}h||(h="WebkitOpacity"in l&&"webkit");n=!!("transition"in l||h+"Transition"in l);m=!!("animation"in l||h+"Animation"in l);!e||n&&m||(n=F(l.webkitTransition),m=F(l.webkitAnimation))}return{history:!(!c||4>e||f),hasEvent:function(a){if("input"===
a&&11>=Ca)return!1;if(y(d[a])){var b=g.createElement("div");d[a]="on"+a in b}return d[a]},csp:Ea(),vendorPrefix:h,transitions:n,animations:m,android:e}}]}function Af(){var a;this.httpOptions=function(b){return b?(a=b,this):a};this.$get=["$templateCache","$http","$q","$sce",function(b,d,c,e){function f(g,h){f.totalPendingRequests++;F(g)&&b.get(g)||(g=e.getTrustedResourceUrl(g));var k=d.defaults&&d.defaults.transformResponse;K(k)?k=k.filter(function(a){return a!==ac}):k===ac&&(k=null);return d.get(g,
R({cache:b,transformResponse:k},a))["finally"](function(){f.totalPendingRequests--}).then(function(a){b.put(g,a.data);return a.data},function(a){if(!h)throw mg("tpload",g,a.status,a.statusText);return c.reject(a)})}f.totalPendingRequests=0;return f}]}function Bf(){this.$get=["$rootScope","$browser","$location",function(a,b,d){return{findBindings:function(a,b,d){a=a.getElementsByClassName("ng-binding");var g=[];q(a,function(a){var c=ea.element(a).data("$binding");c&&q(c,function(c){d?(new RegExp("(^|\\s)"+
vd(b)+"(\\s|\\||$)")).test(c)&&g.push(a):-1!=c.indexOf(b)&&g.push(a)})});return g},findModels:function(a,b,d){for(var g=["ng-","data-ng-","ng\\:"],h=0;h<g.length;++h){var k=a.querySelectorAll("["+g[h]+"model"+(d?"=":"*=")+'"'+b+'"]');if(k.length)return k}},getLocation:function(){return d.url()},setLocation:function(b){b!==d.url()&&(d.url(b),a.$digest())},whenStable:function(a){b.notifyWhenNoOutstandingRequests(a)}}}]}function Cf(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",
function(a,b,d,c,e){function f(f,k,l){E(f)||(l=k,k=f,f=C);var n=za.call(arguments,3),m=x(l)&&!l,r=(m?c:d).defer(),q=r.promise,s;s=b.defer(function(){try{r.resolve(f.apply(null,n))}catch(b){r.reject(b),e(b)}finally{delete g[q.$$timeoutId]}m||a.$apply()},k);q.$$timeoutId=s;g[s]=r;return q}var g={};f.cancel=function(a){return a&&a.$$timeoutId in g?(g[a.$$timeoutId].reject("canceled"),delete g[a.$$timeoutId],b.defer.cancel(a.$$timeoutId)):!1};return f}]}function ra(a){Ca&&(Y.setAttribute("href",a),a=
Y.href);Y.setAttribute("href",a);return{href:Y.href,protocol:Y.protocol?Y.protocol.replace(/:$/,""):"",host:Y.host,search:Y.search?Y.search.replace(/^\?/,""):"",hash:Y.hash?Y.hash.replace(/^#/,""):"",hostname:Y.hostname,port:Y.port,pathname:"/"===Y.pathname.charAt(0)?Y.pathname:"/"+Y.pathname}}function hd(a){a=F(a)?ra(a):a;return a.protocol===xd.protocol&&a.host===xd.host}function Df(){this.$get=da(v)}function yd(a){function b(a){try{return decodeURIComponent(a)}catch(b){return a}}var d=a[0]||{},
c={},e="";return function(){var a,g,h,k,l;a=d.cookie||"";if(a!==e)for(e=a,a=e.split("; "),c={},h=0;h<a.length;h++)g=a[h],k=g.indexOf("="),0<k&&(l=b(g.substring(0,k)),y(c[l])&&(c[l]=b(g.substring(k+1))));return c}}function Hf(){this.$get=yd}function Jc(a){function b(d,c){if(G(d)){var e={};q(d,function(a,c){e[c]=b(c,a)});return e}return a.factory(d+"Filter",c)}this.register=b;this.$get=["$injector",function(a){return function(b){return a.get(b+"Filter")}}];b("currency",zd);b("date",Ad);b("filter",ng);
b("json",og);b("limitTo",pg);b("lowercase",qg);b("number",Bd);b("orderBy",Cd);b("uppercase",rg)}function ng(){return function(a,b,d){if(!ya(a)){if(null==a)return a;throw O("filter")("notarray",a);}var c;switch(ic(b)){case "function":break;case "boolean":case "null":case "number":case "string":c=!0;case "object":b=sg(b,d,c);break;default:return a}return Array.prototype.filter.call(a,b)}}function sg(a,b,d){var c=G(a)&&"$"in a;!0===b?b=pa:E(b)||(b=function(a,b){if(y(a))return!1;if(null===a||null===b)return a===
b;if(G(b)||G(a)&&!rc(a))return!1;a=P(""+a);b=P(""+b);return-1!==a.indexOf(b)});return function(e){return c&&!G(e)?Ka(e,a.$,b,!1):Ka(e,a,b,d)}}function Ka(a,b,d,c,e){var f=ic(a),g=ic(b);if("string"===g&&"!"===b.charAt(0))return!Ka(a,b.substring(1),d,c);if(K(a))return a.some(function(a){return Ka(a,b,d,c)});switch(f){case "object":var h;if(c){for(h in a)if("$"!==h.charAt(0)&&Ka(a[h],b,d,!0))return!0;return e?!1:Ka(a,b,d,!1)}if("object"===g){for(h in b)if(e=b[h],!E(e)&&!y(e)&&(f="$"===h,!Ka(f?a:a[h],
e,d,f,f)))return!1;return!0}return d(a,b);case "function":return!1;default:return d(a,b)}}function ic(a){return null===a?"null":typeof a}function zd(a){var b=a.NUMBER_FORMATS;return function(a,c,e){y(c)&&(c=b.CURRENCY_SYM);y(e)&&(e=b.PATTERNS[1].maxFrac);return null==a?a:Dd(a,b.PATTERNS[1],b.GROUP_SEP,b.DECIMAL_SEP,e).replace(/\u00A4/g,c)}}function Bd(a){var b=a.NUMBER_FORMATS;return function(a,c){return null==a?a:Dd(a,b.PATTERNS[0],b.GROUP_SEP,b.DECIMAL_SEP,c)}}function tg(a){var b=0,d,c,e,f,g;-1<
(c=a.indexOf(Ed))&&(a=a.replace(Ed,""));0<(e=a.search(/e/i))?(0>c&&(c=e),c+=+a.slice(e+1),a=a.substring(0,e)):0>c&&(c=a.length);for(e=0;a.charAt(e)==jc;e++);if(e==(g=a.length))d=[0],c=1;else{for(g--;a.charAt(g)==jc;)g--;c-=e;d=[];for(f=0;e<=g;e++,f++)d[f]=+a.charAt(e)}c>Fd&&(d=d.splice(0,Fd-1),b=c-1,c=1);return{d:d,e:b,i:c}}function ug(a,b,d,c){var e=a.d,f=e.length-a.i;b=y(b)?Math.min(Math.max(d,f),c):+b;d=b+a.i;c=e[d];if(0<d){e.splice(Math.max(a.i,d));for(var g=d;g<e.length;g++)e[g]=0}else for(f=
Math.max(0,f),a.i=1,e.length=Math.max(1,d=b+1),e[0]=0,g=1;g<d;g++)e[g]=0;if(5<=c)if(0>d-1){for(c=0;c>d;c--)e.unshift(0),a.i++;e.unshift(1);a.i++}else e[d-1]++;for(;f<Math.max(0,b);f++)e.push(0);if(b=e.reduceRight(function(a,b,c,d){b+=a;d[c]=b%10;return Math.floor(b/10)},0))e.unshift(b),a.i++}function Dd(a,b,d,c,e){if(!F(a)&&!Q(a)||isNaN(a))return"";var f=!isFinite(a),g=!1,h=Math.abs(a)+"",k="";if(f)k="\u221e";else{g=tg(h);ug(g,e,b.minFrac,b.maxFrac);k=g.d;h=g.i;e=g.e;f=[];for(g=k.reduce(function(a,
b){return a&&!b},!0);0>h;)k.unshift(0),h++;0<h?f=k.splice(h):(f=k,k=[0]);h=[];for(k.length>=b.lgSize&&h.unshift(k.splice(-b.lgSize).join(""));k.length>b.gSize;)h.unshift(k.splice(-b.gSize).join(""));k.length&&h.unshift(k.join(""));k=h.join(d);f.length&&(k+=c+f.join(""));e&&(k+="e+"+e)}return 0>a&&!g?b.negPre+k+b.negSuf:b.posPre+k+b.posSuf}function Ib(a,b,d,c){var e="";if(0>a||c&&0>=a)c?a=-a+1:(a=-a,e="-");for(a=""+a;a.length<b;)a=jc+a;d&&(a=a.substr(a.length-b));return e+a}function W(a,b,d,c,e){d=
d||0;return function(f){f=f["get"+a]();if(0<d||f>-d)f+=d;0===f&&-12==d&&(f=12);return Ib(f,b,c,e)}}function ib(a,b,d){return function(c,e){var f=c["get"+a](),g=sb((d?"STANDALONE":"")+(b?"SHORT":"")+a);return e[g][f]}}function Gd(a){var b=(new Date(a,0,1)).getDay();return new Date(a,0,(4>=b?5:12)-b)}function Hd(a){return function(b){var d=Gd(b.getFullYear());b=+new Date(b.getFullYear(),b.getMonth(),b.getDate()+(4-b.getDay()))-+d;b=1+Math.round(b/6048E5);return Ib(b,a)}}function kc(a,b){return 0>=a.getFullYear()?
b.ERAS[0]:b.ERAS[1]}function Ad(a){function b(a){var b;if(b=a.match(d)){a=new Date(0);var f=0,g=0,h=b[8]?a.setUTCFullYear:a.setFullYear,k=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=X(b[9]+b[10]),g=X(b[9]+b[11]));h.call(a,X(b[1]),X(b[2])-1,X(b[3]));f=X(b[4]||0)-f;g=X(b[5]||0)-g;h=X(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));k.call(a,f,g,h,b)}return a}var d=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d,f){var g="",h=
[],k,l;d=d||"mediumDate";d=a.DATETIME_FORMATS[d]||d;F(c)&&(c=vg.test(c)?X(c):b(c));Q(c)&&(c=new Date(c));if(!fa(c)||!isFinite(c.getTime()))return c;for(;d;)(l=wg.exec(d))?(h=$a(h,l,1),d=h.pop()):(h.push(d),d=null);var n=c.getTimezoneOffset();f&&(n=vc(f,n),c=Qb(c,f,!0));q(h,function(b){k=xg[b];g+=k?k(c,a.DATETIME_FORMATS,n):"''"===b?"'":b.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function og(){return function(a,b){y(b)&&(b=2);return ab(a,b)}}function pg(){return function(a,b,d){b=Infinity===
Math.abs(Number(b))?Number(b):X(b);if(isNaN(b))return a;Q(a)&&(a=a.toString());if(!K(a)&&!F(a))return a;d=!d||isNaN(d)?0:X(d);d=0>d?Math.max(0,a.length+d):d;return 0<=b?a.slice(d,d+b):0===d?a.slice(b,a.length):a.slice(Math.max(0,d+b),d)}}function Cd(a){function b(b,d){d=d?-1:1;return b.map(function(b){var c=1,h=Xa;if(E(b))h=b;else if(F(b)){if("+"==b.charAt(0)||"-"==b.charAt(0))c="-"==b.charAt(0)?-1:1,b=b.substring(1);if(""!==b&&(h=a(b),h.constant))var k=h(),h=function(a){return a[k]}}return{get:h,
descending:c*d}})}function d(a){switch(typeof a){case "number":case "boolean":case "string":return!0;default:return!1}}return function(a,e,f){if(null==a)return a;if(!ya(a))throw O("orderBy")("notarray",a);K(e)||(e=[e]);0===e.length&&(e=["+"]);var g=b(e,f);g.push({get:function(){return{}},descending:f?-1:1});a=Array.prototype.map.call(a,function(a,b){return{value:a,predicateValues:g.map(function(c){var e=c.get(a);c=typeof e;if(null===e)c="string",e="null";else if("string"===c)e=e.toLowerCase();else if("object"===
c)a:{if("function"===typeof e.valueOf&&(e=e.valueOf(),d(e)))break a;if(rc(e)&&(e=e.toString(),d(e)))break a;e=b}return{value:e,type:c}})}});a.sort(function(a,b){for(var c=0,d=0,e=g.length;d<e;++d){var c=a.predicateValues[d],f=b.predicateValues[d],q=0;c.type===f.type?c.value!==f.value&&(q=c.value<f.value?-1:1):q=c.type<f.type?-1:1;if(c=q*g[d].descending)break}return c});return a=a.map(function(a){return a.value})}}function La(a){E(a)&&(a={link:a});a.restrict=a.restrict||"AC";return da(a)}function Id(a,
b,d,c,e){var f=this,g=[];f.$error={};f.$$success={};f.$pending=void 0;f.$name=e(b.name||b.ngForm||"")(d);f.$dirty=!1;f.$pristine=!0;f.$valid=!0;f.$invalid=!1;f.$submitted=!1;f.$$parentForm=Jb;f.$rollbackViewValue=function(){q(g,function(a){a.$rollbackViewValue()})};f.$commitViewValue=function(){q(g,function(a){a.$commitViewValue()})};f.$addControl=function(a){Qa(a.$name,"input");g.push(a);a.$name&&(f[a.$name]=a);a.$$parentForm=f};f.$$renameControl=function(a,b){var c=a.$name;f[c]===a&&delete f[c];
f[b]=a;a.$name=b};f.$removeControl=function(a){a.$name&&f[a.$name]===a&&delete f[a.$name];q(f.$pending,function(b,c){f.$setValidity(c,null,a)});q(f.$error,function(b,c){f.$setValidity(c,null,a)});q(f.$$success,function(b,c){f.$setValidity(c,null,a)});Za(g,a);a.$$parentForm=Jb};Jd({ctrl:this,$element:a,set:function(a,b,c){var d=a[b];d?-1===d.indexOf(c)&&d.push(c):a[b]=[c]},unset:function(a,b,c){var d=a[b];d&&(Za(d,c),0===d.length&&delete a[b])},$animate:c});f.$setDirty=function(){c.removeClass(a,Ua);
c.addClass(a,Kb);f.$dirty=!0;f.$pristine=!1;f.$$parentForm.$setDirty()};f.$setPristine=function(){c.setClass(a,Ua,Kb+" ng-submitted");f.$dirty=!1;f.$pristine=!0;f.$submitted=!1;q(g,function(a){a.$setPristine()})};f.$setUntouched=function(){q(g,function(a){a.$setUntouched()})};f.$setSubmitted=function(){c.addClass(a,"ng-submitted");f.$submitted=!0;f.$$parentForm.$setSubmitted()}}function lc(a){a.$formatters.push(function(b){return a.$isEmpty(b)?b:b.toString()})}function jb(a,b,d,c,e,f){var g=P(b[0].type);
if(!e.android){var h=!1;b.on("compositionstart",function(){h=!0});b.on("compositionend",function(){h=!1;l()})}var k,l=function(a){k&&(f.defer.cancel(k),k=null);if(!h){var e=b.val();a=a&&a.type;"password"===g||d.ngTrim&&"false"===d.ngTrim||(e=V(e));(c.$viewValue!==e||""===e&&c.$$hasNativeValidators)&&c.$setViewValue(e,a)}};if(e.hasEvent("input"))b.on("input",l);else{var n=function(a,b,c){k||(k=f.defer(function(){k=null;b&&b.value===c||l(a)}))};b.on("keydown",function(a){var b=a.keyCode;91===b||15<
b&&19>b||37<=b&&40>=b||n(a,this,this.value)});if(e.hasEvent("paste"))b.on("paste cut",n)}b.on("change",l);if(Kd[g]&&c.$$hasNativeValidators&&g===d.type)b.on("keydown wheel mousedown",function(a){if(!k){var b=this.validity,c=b.badInput,d=b.typeMismatch;k=f.defer(function(){k=null;b.badInput===c&&b.typeMismatch===d||l(a)})}});c.$render=function(){var a=c.$isEmpty(c.$viewValue)?"":c.$viewValue;b.val()!==a&&b.val(a)}}function Lb(a,b){return function(d,c){var e,f;if(fa(d))return d;if(F(d)){'"'==d.charAt(0)&&
'"'==d.charAt(d.length-1)&&(d=d.substring(1,d.length-1));if(yg.test(d))return new Date(d);a.lastIndex=0;if(e=a.exec(d))return e.shift(),f=c?{yyyy:c.getFullYear(),MM:c.getMonth()+1,dd:c.getDate(),HH:c.getHours(),mm:c.getMinutes(),ss:c.getSeconds(),sss:c.getMilliseconds()/1E3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},q(e,function(a,c){c<b.length&&(f[b[c]]=+a)}),new Date(f.yyyy,f.MM-1,f.dd,f.HH,f.mm,f.ss||0,1E3*f.sss||0)}return NaN}}function kb(a,b,d,c){return function(e,f,g,h,k,l,n){function m(a){return a&&
!(a.getTime&&a.getTime()!==a.getTime())}function r(a){return x(a)&&!fa(a)?d(a)||void 0:a}Ld(e,f,g,h);jb(e,f,g,h,k,l);var q=h&&h.$options&&h.$options.timezone,s;h.$$parserName=a;h.$parsers.push(function(a){if(h.$isEmpty(a))return null;if(b.test(a))return a=d(a,s),q&&(a=Qb(a,q)),a});h.$formatters.push(function(a){if(a&&!fa(a))throw lb("datefmt",a);if(m(a))return(s=a)&&q&&(s=Qb(s,q,!0)),n("date")(a,c,q);s=null;return""});if(x(g.min)||g.ngMin){var w;h.$validators.min=function(a){return!m(a)||y(w)||d(a)>=
w};g.$observe("min",function(a){w=r(a);h.$validate()})}if(x(g.max)||g.ngMax){var p;h.$validators.max=function(a){return!m(a)||y(p)||d(a)<=p};g.$observe("max",function(a){p=r(a);h.$validate()})}}}function Ld(a,b,d,c){(c.$$hasNativeValidators=G(b[0].validity))&&c.$parsers.push(function(a){var c=b.prop("validity")||{};return c.badInput||c.typeMismatch?void 0:a})}function Md(a,b,d,c,e){if(x(c)){a=a(c);if(!a.constant)throw lb("constexpr",d,c);return a(b)}return e}function mc(a,b){a="ngClass"+a;return["$animate",
function(d){function c(a,b){var c=[],d=0;a:for(;d<a.length;d++){for(var e=a[d],n=0;n<b.length;n++)if(e==b[n])continue a;c.push(e)}return c}function e(a){var b=[];return K(a)?(q(a,function(a){b=b.concat(e(a))}),b):F(a)?a.split(" "):G(a)?(q(a,function(a,c){a&&(b=b.concat(c.split(" ")))}),b):a}return{restrict:"AC",link:function(f,g,h){function k(a){a=l(a,1);h.$addClass(a)}function l(a,b){var c=g.data("$classCounts")||T(),d=[];q(a,function(a){if(0<b||c[a])c[a]=(c[a]||0)+b,c[a]===+(0<b)&&d.push(a)});g.data("$classCounts",
c);return d.join(" ")}function n(a,b){var e=c(b,a),f=c(a,b),e=l(e,1),f=l(f,-1);e&&e.length&&d.addClass(g,e);f&&f.length&&d.removeClass(g,f)}function m(a){if(!0===b||f.$index%2===b){var c=e(a||[]);if(!r)k(c);else if(!pa(a,r)){var d=e(r);n(d,c)}}r=K(a)?a.map(function(a){return ha(a)}):ha(a)}var r;f.$watch(h[a],m,!0);h.$observe("class",function(b){m(f.$eval(h[a]))});"ngClass"!==a&&f.$watch("$index",function(c,d){var g=c&1;if(g!==(d&1)){var m=e(f.$eval(h[a]));g===b?k(m):(g=l(m,-1),h.$removeClass(g))}})}}}]}
function Jd(a){function b(a,b){b&&!f[a]?(k.addClass(e,a),f[a]=!0):!b&&f[a]&&(k.removeClass(e,a),f[a]=!1)}function d(a,c){a=a?"-"+zc(a,"-"):"";b(mb+a,!0===c);b(Nd+a,!1===c)}var c=a.ctrl,e=a.$element,f={},g=a.set,h=a.unset,k=a.$animate;f[Nd]=!(f[mb]=e.hasClass(mb));c.$setValidity=function(a,e,f){y(e)?(c.$pending||(c.$pending={}),g(c.$pending,a,f)):(c.$pending&&h(c.$pending,a,f),Od(c.$pending)&&(c.$pending=void 0));Da(e)?e?(h(c.$error,a,f),g(c.$$success,a,f)):(g(c.$error,a,f),h(c.$$success,a,f)):(h(c.$error,
a,f),h(c.$$success,a,f));c.$pending?(b(Pd,!0),c.$valid=c.$invalid=void 0,d("",null)):(b(Pd,!1),c.$valid=Od(c.$error),c.$invalid=!c.$valid,d("",c.$valid));e=c.$pending&&c.$pending[a]?void 0:c.$error[a]?!1:c.$$success[a]?!0:null;d(a,e);c.$$parentForm.$setValidity(a,e,c)}}function Od(a){if(a)for(var b in a)if(a.hasOwnProperty(b))return!1;return!0}var zg=/^\/(.+)\/([a-z]*)$/,ua=Object.prototype.hasOwnProperty,P=function(a){return F(a)?a.toLowerCase():a},sb=function(a){return F(a)?a.toUpperCase():a},Ca,
B,Z,za=[].slice,Zf=[].splice,Ag=[].push,ma=Object.prototype.toString,sc=Object.getPrototypeOf,Aa=O("ng"),ea=v.angular||(v.angular={}),Sb,nb=0;Ca=v.document.documentMode;C.$inject=[];Xa.$inject=[];var K=Array.isArray,$d=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/,V=function(a){return F(a)?a.trim():a},vd=function(a){return a.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},Ea=function(){if(!x(Ea.rules)){var a=v.document.querySelector("[ng-csp]")||
v.document.querySelector("[data-ng-csp]");if(a){var b=a.getAttribute("ng-csp")||a.getAttribute("data-ng-csp");Ea.rules={noUnsafeEval:!b||-1!==b.indexOf("no-unsafe-eval"),noInlineStyle:!b||-1!==b.indexOf("no-inline-style")}}else{a=Ea;try{new Function(""),b=!1}catch(d){b=!0}a.rules={noUnsafeEval:b,noInlineStyle:!1}}}return Ea.rules},pb=function(){if(x(pb.name_))return pb.name_;var a,b,d=Na.length,c,e;for(b=0;b<d;++b)if(c=Na[b],a=v.document.querySelector("["+c.replace(":","\\:")+"jq]")){e=a.getAttribute(c+
"jq");break}return pb.name_=e},ce=/:/g,Na=["ng-","data-ng-","ng:","x-ng-"],he=/[A-Z]/g,Ac=!1,Ma=3,le={full:"1.5.5",major:1,minor:5,dot:5,codeName:"material-conspiration"};U.expando="ng339";var eb=U.cache={},Nf=1;U._data=function(a){return this.cache[a[this.expando]]||{}};var If=/([\:\-\_]+(.))/g,Jf=/^moz([A-Z])/,wb={mouseleave:"mouseout",mouseenter:"mouseover"},Ub=O("jqLite"),Mf=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Tb=/<|&#?\w+;/,Kf=/<([\w:-]+)/,Lf=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
ia={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ia.optgroup=ia.option;ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead;ia.th=ia.td;var Sf=v.Node.prototype.contains||function(a){return!!(this.compareDocumentPosition(a)&16)},Oa=U.prototype={ready:function(a){function b(){d||(d=!0,a())}var d=!1;"complete"===
v.document.readyState?v.setTimeout(b):(this.on("DOMContentLoaded",b),U(v).on("load",b))},toString:function(){var a=[];q(this,function(b){a.push(""+b)});return"["+a.join(", ")+"]"},eq:function(a){return 0<=a?B(this[a]):B(this[this.length+a])},length:0,push:Ag,sort:[].sort,splice:[].splice},Cb={};q("multiple selected checked disabled readOnly required open".split(" "),function(a){Cb[P(a)]=a});var Sc={};q("input select option textarea button form details".split(" "),function(a){Sc[a]=!0});var ad={ngMinlength:"minlength",
ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};q({data:Wb,removeData:db,hasData:function(a){for(var b in eb[a.ng339])return!0;return!1},cleanData:function(a){for(var b=0,d=a.length;b<d;b++)db(a[b])}},function(a,b){U[b]=a});q({data:Wb,inheritedData:Ab,scope:function(a){return B.data(a,"$scope")||Ab(a.parentNode||a,["$isolateScope","$scope"])},isolateScope:function(a){return B.data(a,"$isolateScope")||B.data(a,"$isolateScopeNoTemplate")},controller:Pc,injector:function(a){return Ab(a,
"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:xb,css:function(a,b,d){b=cb(b);if(x(d))a.style[b]=d;else return a.style[b]},attr:function(a,b,d){var c=a.nodeType;if(c!==Ma&&2!==c&&8!==c)if(c=P(b),Cb[c])if(x(d))d?(a[b]=!0,a.setAttribute(b,c)):(a[b]=!1,a.removeAttribute(c));else return a[b]||(a.attributes.getNamedItem(b)||C).specified?c:void 0;else if(x(d))a.setAttribute(b,d);else if(a.getAttribute)return a=a.getAttribute(b,2),null===a?void 0:a},prop:function(a,b,d){if(x(d))a[b]=
d;else return a[b]},text:function(){function a(a,d){if(y(d)){var c=a.nodeType;return 1===c||c===Ma?a.textContent:""}a.textContent=d}a.$dv="";return a}(),val:function(a,b){if(y(b)){if(a.multiple&&"select"===va(a)){var d=[];q(a.options,function(a){a.selected&&d.push(a.value||a.text)});return 0===d.length?null:d}return a.value}a.value=b},html:function(a,b){if(y(b))return a.innerHTML;ub(a,!0);a.innerHTML=b},empty:Qc},function(a,b){U.prototype[b]=function(b,c){var e,f,g=this.length;if(a!==Qc&&y(2==a.length&&
a!==xb&&a!==Pc?b:c)){if(G(b)){for(e=0;e<g;e++)if(a===Wb)a(this[e],b);else for(f in b)a(this[e],f,b[f]);return this}e=a.$dv;g=y(e)?Math.min(g,1):g;for(f=0;f<g;f++){var h=a(this[f],b,c);e=e?e+h:h}return e}for(e=0;e<g;e++)a(this[e],b,c);return this}});q({removeData:db,on:function(a,b,d,c){if(x(c))throw Ub("onargs");if(Kc(a)){c=vb(a,!0);var e=c.events,f=c.handle;f||(f=c.handle=Pf(a,e));c=0<=b.indexOf(" ")?b.split(" "):[b];for(var g=c.length,h=function(b,c,g){var h=e[b];h||(h=e[b]=[],h.specialHandlerWrapper=
c,"$destroy"===b||g||a.addEventListener(b,f,!1));h.push(d)};g--;)b=c[g],wb[b]?(h(wb[b],Rf),h(b,void 0,!0)):h(b)}},off:Oc,one:function(a,b,d){a=B(a);a.on(b,function e(){a.off(b,d);a.off(b,e)});a.on(b,d)},replaceWith:function(a,b){var d,c=a.parentNode;ub(a);q(new U(b),function(b){d?c.insertBefore(b,d.nextSibling):c.replaceChild(b,a);d=b})},children:function(a){var b=[];q(a.childNodes,function(a){1===a.nodeType&&b.push(a)});return b},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,
b){var d=a.nodeType;if(1===d||11===d){b=new U(b);for(var d=0,c=b.length;d<c;d++)a.appendChild(b[d])}},prepend:function(a,b){if(1===a.nodeType){var d=a.firstChild;q(new U(b),function(b){a.insertBefore(b,d)})}},wrap:function(a,b){Mc(a,B(b).eq(0).clone()[0])},remove:Bb,detach:function(a){Bb(a,!0)},after:function(a,b){var d=a,c=a.parentNode;b=new U(b);for(var e=0,f=b.length;e<f;e++){var g=b[e];c.insertBefore(g,d.nextSibling);d=g}},addClass:zb,removeClass:yb,toggleClass:function(a,b,d){b&&q(b.split(" "),
function(b){var e=d;y(e)&&(e=!xb(a,b));(e?zb:yb)(a,b)})},parent:function(a){return(a=a.parentNode)&&11!==a.nodeType?a:null},next:function(a){return a.nextElementSibling},find:function(a,b){return a.getElementsByTagName?a.getElementsByTagName(b):[]},clone:Vb,triggerHandler:function(a,b,d){var c,e,f=b.type||b,g=vb(a);if(g=(g=g&&g.events)&&g[f])c={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=
!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:C,type:f,target:a},b.type&&(c=R(c,b)),b=ha(g),e=d?[c].concat(d):[c],q(b,function(b){c.isImmediatePropagationStopped()||b.apply(a,e)})}},function(a,b){U.prototype[b]=function(b,c,e){for(var f,g=0,h=this.length;g<h;g++)y(f)?(f=a(this[g],b,c,e),x(f)&&(f=B(f))):Nc(f,a(this[g],b,c,e));return x(f)?f:this};U.prototype.bind=U.prototype.on;U.prototype.unbind=U.prototype.off});Ra.prototype={put:function(a,
b){this[Fa(a,this.nextUid)]=b},get:function(a){return this[Fa(a,this.nextUid)]},remove:function(a){var b=this[a=Fa(a,this.nextUid)];delete this[a];return b}};var Gf=[function(){this.$get=[function(){return Ra}]}],Uf=/^([^\(]+?)=>/,Vf=/^[^\(]*\(\s*([^\)]*)\)/m,Bg=/,/,Cg=/^\s*(_?)(\S+?)\1\s*$/,Tf=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,Ga=O("$injector");bb.$$annotate=function(a,b,d){var c;if("function"===typeof a){if(!(c=a.$inject)){c=[];if(a.length){if(b)throw F(d)&&d||(d=a.name||Wf(a)),Ga("strictdi",d);
b=Tc(a);q(b[1].split(Bg),function(a){a.replace(Cg,function(a,b,d){c.push(d)})})}a.$inject=c}}else K(a)?(b=a.length-1,Pa(a[b],"fn"),c=a.slice(0,b)):Pa(a,"fn",!0);return c};var Qd=O("$animate"),Ze=function(){this.$get=C},$e=function(){var a=new Ra,b=[];this.$get=["$$AnimateRunner","$rootScope",function(d,c){function e(a,b,c){var d=!1;b&&(b=F(b)?b.split(" "):K(b)?b:[],q(b,function(b){b&&(d=!0,a[b]=c)}));return d}function f(){q(b,function(b){var c=a.get(b);if(c){var d=Xf(b.attr("class")),e="",f="";q(c,
function(a,b){a!==!!d[b]&&(a?e+=(e.length?" ":"")+b:f+=(f.length?" ":"")+b)});q(b,function(a){e&&zb(a,e);f&&yb(a,f)});a.remove(b)}});b.length=0}return{enabled:C,on:C,off:C,pin:C,push:function(g,h,k,l){l&&l();k=k||{};k.from&&g.css(k.from);k.to&&g.css(k.to);if(k.addClass||k.removeClass)if(h=k.addClass,l=k.removeClass,k=a.get(g)||{},h=e(k,h,!0),l=e(k,l,!1),h||l)a.put(g,k),b.push(g),1===b.length&&c.$$postDigest(f);g=new d;g.complete();return g}}}]},Xe=["$provide",function(a){var b=this;this.$$registeredAnimations=
Object.create(null);this.register=function(d,c){if(d&&"."!==d.charAt(0))throw Qd("notcsel",d);var e=d+"-animation";b.$$registeredAnimations[d.substr(1)]=e;a.factory(e,c)};this.classNameFilter=function(a){if(1===arguments.length&&(this.$$classNameFilter=a instanceof RegExp?a:null)&&/(\s+|\/)ng-animate(\s+|\/)/.test(this.$$classNameFilter.toString()))throw Qd("nongcls","ng-animate");return this.$$classNameFilter};this.$get=["$$animateQueue",function(a){function b(a,c,d){if(d){var h;a:{for(h=0;h<d.length;h++){var k=
d[h];if(1===k.nodeType){h=k;break a}}h=void 0}!h||h.parentNode||h.previousElementSibling||(d=null)}d?d.after(a):c.prepend(a)}return{on:a.on,off:a.off,pin:a.pin,enabled:a.enabled,cancel:function(a){a.end&&a.end()},enter:function(e,f,g,h){f=f&&B(f);g=g&&B(g);f=f||g.parent();b(e,f,g);return a.push(e,"enter",Ha(h))},move:function(e,f,g,h){f=f&&B(f);g=g&&B(g);f=f||g.parent();b(e,f,g);return a.push(e,"move",Ha(h))},leave:function(b,c){return a.push(b,"leave",Ha(c),function(){b.remove()})},addClass:function(b,
c,g){g=Ha(g);g.addClass=fb(g.addclass,c);return a.push(b,"addClass",g)},removeClass:function(b,c,g){g=Ha(g);g.removeClass=fb(g.removeClass,c);return a.push(b,"removeClass",g)},setClass:function(b,c,g,h){h=Ha(h);h.addClass=fb(h.addClass,c);h.removeClass=fb(h.removeClass,g);return a.push(b,"setClass",h)},animate:function(b,c,g,h,k){k=Ha(k);k.from=k.from?R(k.from,c):c;k.to=k.to?R(k.to,g):g;k.tempClasses=fb(k.tempClasses,h||"ng-inline-animate");return a.push(b,"animate",k)}}}]}],bf=function(){this.$get=
["$$rAF",function(a){function b(b){d.push(b);1<d.length||a(function(){for(var a=0;a<d.length;a++)d[a]();d=[]})}var d=[];return function(){var a=!1;b(function(){a=!0});return function(d){a?d():b(d)}}}]},af=function(){this.$get=["$q","$sniffer","$$animateAsyncRun","$document","$timeout",function(a,b,d,c,e){function f(a){this.setHost(a);var b=d();this._doneCallbacks=[];this._tick=function(a){var d=c[0];d&&d.hidden?e(a,0,!1):b(a)};this._state=0}f.chain=function(a,b){function c(){if(d===a.length)b(!0);
else a[d](function(a){!1===a?b(!1):(d++,c())})}var d=0;c()};f.all=function(a,b){function c(f){e=e&&f;++d===a.length&&b(e)}var d=0,e=!0;q(a,function(a){a.done(c)})};f.prototype={setHost:function(a){this.host=a||{}},done:function(a){2===this._state?a():this._doneCallbacks.push(a)},progress:C,getPromise:function(){if(!this.promise){var b=this;this.promise=a(function(a,c){b.done(function(b){!1===b?c():a()})})}return this.promise},then:function(a,b){return this.getPromise().then(a,b)},"catch":function(a){return this.getPromise()["catch"](a)},
"finally":function(a){return this.getPromise()["finally"](a)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end();this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel();this._resolve(!1)},complete:function(a){var b=this;0===b._state&&(b._state=1,b._tick(function(){b._resolve(a)}))},_resolve:function(a){2!==this._state&&(q(this._doneCallbacks,function(b){b(a)}),this._doneCallbacks.length=
0,this._state=2)}};return f}]},Ye=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function(a,b,d){return function(b,e){function f(){a(function(){g.addClass&&(b.addClass(g.addClass),g.addClass=null);g.removeClass&&(b.removeClass(g.removeClass),g.removeClass=null);g.to&&(b.css(g.to),g.to=null);h||k.complete();h=!0});return k}var g=e||{};g.$$prepared||(g=qa(g));g.cleanupStyles&&(g.from=g.to=null);g.from&&(b.css(g.from),g.from=null);var h,k=new d;return{start:f,end:f}}}]},ga=O("$compile"),Zb=new function(){};
Cc.$inject=["$provide","$$sanitizeUriProvider"];Db.prototype.isFirstChange=function(){return this.previousValue===Zb};var Vc=/^((?:x|data)[\:\-_])/i,$f=O("$controller"),bd=/^(\S+)(\s+as\s+([\w$]+))?$/,hf=function(){this.$get=["$document",function(a){return function(b){b?!b.nodeType&&b instanceof B&&(b=b[0]):b=a[0].body;return b.offsetWidth+1}}]},cd="application/json",bc={"Content-Type":cd+";charset=utf-8"},bg=/^\[|^\{(?!\{)/,cg={"[":/]$/,"{":/}$/},ag=/^\)\]\}',?\n/,Dg=O("$http"),gd=function(a){return function(){throw Dg("legacy",
a);}},Ja=ea.$interpolateMinErr=O("$interpolate");Ja.throwNoconcat=function(a){throw Ja("noconcat",a);};Ja.interr=function(a,b){return Ja("interr",a,b.toString())};var Eg=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,eg={http:80,https:443,ftp:21},Eb=O("$location"),Fg={$$html5:!1,$$replace:!1,absUrl:Fb("$$absUrl"),url:function(a){if(y(a))return this.$$url;var b=Eg.exec(a);(b[1]||""===a)&&this.path(decodeURIComponent(b[1]));(b[2]||b[1]||""===a)&&this.search(b[3]||"");this.hash(b[5]||"");return this},protocol:Fb("$$protocol"),
host:Fb("$$host"),port:Fb("$$port"),path:ld("$$path",function(a){a=null!==a?a.toString():"";return"/"==a.charAt(0)?a:"/"+a}),search:function(a,b){switch(arguments.length){case 0:return this.$$search;case 1:if(F(a)||Q(a))a=a.toString(),this.$$search=xc(a);else if(G(a))a=qa(a,{}),q(a,function(b,c){null==b&&delete a[c]}),this.$$search=a;else throw Eb("isrcharg");break;default:y(b)||null===b?delete this.$$search[a]:this.$$search[a]=b}this.$$compose();return this},hash:ld("$$hash",function(a){return null!==
a?a.toString():""}),replace:function(){this.$$replace=!0;return this}};q([kd,ec,dc],function(a){a.prototype=Object.create(Fg);a.prototype.state=function(b){if(!arguments.length)return this.$$state;if(a!==dc||!this.$$html5)throw Eb("nostate");this.$$state=y(b)?null:b;return this}});var ca=O("$parse"),gg=Function.prototype.call,hg=Function.prototype.apply,ig=Function.prototype.bind,Mb=T();q("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(a){Mb[a]=!0});var Gg={n:"\n",f:"\f",r:"\r",
t:"\t",v:"\v","'":"'",'"':'"'},gc=function(a){this.options=a};gc.prototype={constructor:gc,lex:function(a){this.text=a;this.index=0;for(this.tokens=[];this.index<this.text.length;)if(a=this.text.charAt(this.index),'"'===a||"'"===a)this.readString(a);else if(this.isNumber(a)||"."===a&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(a,"(){}[].,;:?"))this.tokens.push({index:this.index,text:a}),this.index++;else if(this.isWhitespace(a))this.index++;
else{var b=a+this.peek(),d=b+this.peek(2),c=Mb[b],e=Mb[d];Mb[a]||c||e?(a=e?d:c?b:a,this.tokens.push({index:this.index,text:a,operator:!0}),this.index+=a.length):this.throwError("Unexpected next character ",this.index,this.index+1)}return this.tokens},is:function(a,b){return-1!==b.indexOf(a)},peek:function(a){a=a||1;return this.index+a<this.text.length?this.text.charAt(this.index+a):!1},isNumber:function(a){return"0"<=a&&"9">=a&&"string"===typeof a},isWhitespace:function(a){return" "===a||"\r"===a||
"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdentifierStart:function(a){return this.options.isIdentifierStart?this.options.isIdentifierStart(a,this.codePointAt(a)):this.isValidIdentifierStart(a)},isValidIdentifierStart:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isIdentifierContinue:function(a){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(a,this.codePointAt(a)):this.isValidIdentifierContinue(a)},isValidIdentifierContinue:function(a,b){return this.isValidIdentifierStart(a,
b)||this.isNumber(a)},codePointAt:function(a){return 1===a.length?a.charCodeAt(0):(a.charCodeAt(0)<<10)+a.charCodeAt(1)-56613888},peekMultichar:function(){var a=this.text.charAt(this.index),b=this.peek();if(!b)return a;var d=a.charCodeAt(0),c=b.charCodeAt(0);return 55296<=d&&56319>=d&&56320<=c&&57343>=c?a+b:a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,b,d){d=d||this.index;b=x(b)?"s "+b+"-"+this.index+" ["+this.text.substring(b,d)+"]":" "+d;throw ca("lexerr",
a,b,this.text);},readNumber:function(){for(var a="",b=this.index;this.index<this.text.length;){var d=P(this.text.charAt(this.index));if("."==d||this.isNumber(d))a+=d;else{var c=this.peek();if("e"==d&&this.isExpOperator(c))a+=d;else if(this.isExpOperator(d)&&c&&this.isNumber(c)&&"e"==a.charAt(a.length-1))a+=d;else if(!this.isExpOperator(d)||c&&this.isNumber(c)||"e"!=a.charAt(a.length-1))break;else this.throwError("Invalid exponent")}this.index++}this.tokens.push({index:b,text:a,constant:!0,value:Number(a)})},
readIdent:function(){var a=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var b=this.peekMultichar();if(!this.isIdentifierContinue(b))break;this.index+=b.length}this.tokens.push({index:a,text:this.text.slice(a,this.index),identifier:!0})},readString:function(a){var b=this.index;this.index++;for(var d="",c=a,e=!1;this.index<this.text.length;){var f=this.text.charAt(this.index),c=c+f;if(e)"u"===f?(e=this.text.substring(this.index+1,this.index+5),e.match(/[\da-f]{4}/i)||
this.throwError("Invalid unicode escape [\\u"+e+"]"),this.index+=4,d+=String.fromCharCode(parseInt(e,16))):d+=Gg[f]||f,e=!1;else if("\\"===f)e=!0;else{if(f===a){this.index++;this.tokens.push({index:b,text:c,constant:!0,value:d});return}d+=f}this.index++}this.throwError("Unterminated quote",b)}};var s=function(a,b){this.lexer=a;this.options=b};s.Program="Program";s.ExpressionStatement="ExpressionStatement";s.AssignmentExpression="AssignmentExpression";s.ConditionalExpression="ConditionalExpression";
s.LogicalExpression="LogicalExpression";s.BinaryExpression="BinaryExpression";s.UnaryExpression="UnaryExpression";s.CallExpression="CallExpression";s.MemberExpression="MemberExpression";s.Identifier="Identifier";s.Literal="Literal";s.ArrayExpression="ArrayExpression";s.Property="Property";s.ObjectExpression="ObjectExpression";s.ThisExpression="ThisExpression";s.LocalsExpression="LocalsExpression";s.NGValueParameter="NGValueParameter";s.prototype={ast:function(a){this.text=a;this.tokens=this.lexer.lex(a);
a=this.program();0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]);return a},program:function(){for(var a=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&a.push(this.expressionStatement()),!this.expect(";"))return{type:s.Program,body:a}},expressionStatement:function(){return{type:s.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var a=this.expression();this.expect("|");)a=this.filter(a);return a},expression:function(){return this.assignment()},
assignment:function(){var a=this.ternary();this.expect("=")&&(a={type:s.AssignmentExpression,left:a,right:this.assignment(),operator:"="});return a},ternary:function(){var a=this.logicalOR(),b,d;return this.expect("?")&&(b=this.expression(),this.consume(":"))?(d=this.expression(),{type:s.ConditionalExpression,test:a,alternate:b,consequent:d}):a},logicalOR:function(){for(var a=this.logicalAND();this.expect("||");)a={type:s.LogicalExpression,operator:"||",left:a,right:this.logicalAND()};return a},logicalAND:function(){for(var a=
this.equality();this.expect("&&");)a={type:s.LogicalExpression,operator:"&&",left:a,right:this.equality()};return a},equality:function(){for(var a=this.relational(),b;b=this.expect("==","!=","===","!==");)a={type:s.BinaryExpression,operator:b.text,left:a,right:this.relational()};return a},relational:function(){for(var a=this.additive(),b;b=this.expect("<",">","<=",">=");)a={type:s.BinaryExpression,operator:b.text,left:a,right:this.additive()};return a},additive:function(){for(var a=this.multiplicative(),
b;b=this.expect("+","-");)a={type:s.BinaryExpression,operator:b.text,left:a,right:this.multiplicative()};return a},multiplicative:function(){for(var a=this.unary(),b;b=this.expect("*","/","%");)a={type:s.BinaryExpression,operator:b.text,left:a,right:this.unary()};return a},unary:function(){var a;return(a=this.expect("+","-","!"))?{type:s.UnaryExpression,operator:a.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var a;this.expect("(")?(a=this.filterChain(),this.consume(")")):
this.expect("[")?a=this.arrayDeclaration():this.expect("{")?a=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?a=qa(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?a={type:s.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?a=this.identifier():this.peek().constant?a=this.constant():this.throwError("not a primary expression",this.peek());for(var b;b=this.expect("(","[",".");)"("===b.text?(a={type:s.CallExpression,
callee:a,arguments:this.parseArguments()},this.consume(")")):"["===b.text?(a={type:s.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===b.text?a={type:s.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return a},filter:function(a){a=[a];for(var b={type:s.CallExpression,callee:this.identifier(),arguments:a,filter:!0};this.expect(":");)a.push(this.expression());return b},parseArguments:function(){var a=[];if(")"!==
this.peekToken().text){do a.push(this.expression());while(this.expect(","))}return a},identifier:function(){var a=this.consume();a.identifier||this.throwError("is not a valid identifier",a);return{type:s.Identifier,name:a.text}},constant:function(){return{type:s.Literal,value:this.consume().value}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text){do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(","))}this.consume("]");return{type:s.ArrayExpression,elements:a}},
object:function(){var a=[],b;if("}"!==this.peekToken().text){do{if(this.peek("}"))break;b={type:s.Property,kind:"init"};this.peek().constant?b.key=this.constant():this.peek().identifier?b.key=this.identifier():this.throwError("invalid key",this.peek());this.consume(":");b.value=this.expression();a.push(b)}while(this.expect(","))}this.consume("}");return{type:s.ObjectExpression,properties:a}},throwError:function(a,b){throw ca("syntax",b.text,a,b.index+1,this.text,this.text.substring(b.index));},consume:function(a){if(0===
this.tokens.length)throw ca("ueoe",this.text);var b=this.expect(a);b||this.throwError("is unexpected, expecting ["+a+"]",this.peek());return b},peekToken:function(){if(0===this.tokens.length)throw ca("ueoe",this.text);return this.tokens[0]},peek:function(a,b,d,c){return this.peekAhead(0,a,b,d,c)},peekAhead:function(a,b,d,c,e){if(this.tokens.length>a){a=this.tokens[a];var f=a.text;if(f===b||f===d||f===c||f===e||!(b||d||c||e))return a}return!1},expect:function(a,b,d,c){return(a=this.peek(a,b,d,c))?
(this.tokens.shift(),a):!1},selfReferential:{"this":{type:s.ThisExpression},$locals:{type:s.LocalsExpression}}};sd.prototype={compile:function(a,b){var d=this,c=this.astBuilder.ast(a);this.state={nextId:0,filters:{},expensiveChecks:b,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]};aa(c,d.$filter);var e="",f;this.stage="assign";if(f=qd(c))this.state.computing="assign",e=this.nextId(),this.recurse(f,e),this.return_(e),e="fn.assign="+this.generateFunction("assign","s,v,l");f=od(c.body);
d.stage="inputs";q(f,function(a,b){var c="fn"+b;d.state[c]={vars:[],body:[],own:{}};d.state.computing=c;var e=d.nextId();d.recurse(a,e);d.return_(e);d.state.inputs.push(c);a.watchId=b});this.state.computing="fn";this.stage="main";this.recurse(c);e='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+e+this.watchFns()+"return fn;";e=(new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext",
"ifDefined","plus","text",e))(this.$filter,Ta,sa,md,fg,Gb,jg,nd,a);this.state=this.stage=void 0;e.literal=rd(c);e.constant=c.constant;return e},USE:"use",STRICT:"strict",watchFns:function(){var a=[],b=this.state.inputs,d=this;q(b,function(b){a.push("var "+b+"="+d.generateFunction(b,"s"))});b.length&&a.push("fn.inputs=["+b.join(",")+"];");return a.join("")},generateFunction:function(a,b){return"function("+b+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a=[],b=this;q(this.state.filters,
function(d,c){a.push(d+"=$filter("+b.escape(c)+")")});return a.length?"var "+a.join(",")+";":""},varsPrefix:function(a){return this.state[a].vars.length?"var "+this.state[a].vars.join(",")+";":""},body:function(a){return this.state[a].body.join("")},recurse:function(a,b,d,c,e,f){var g,h,k=this,l,n;c=c||C;if(!f&&x(a.watchId))b=b||this.nextId(),this.if_("i",this.lazyAssign(b,this.computedMember("i",a.watchId)),this.lazyRecurse(a,b,d,c,e,!0));else switch(a.type){case s.Program:q(a.body,function(b,c){k.recurse(b.expression,
void 0,void 0,function(a){h=a});c!==a.body.length-1?k.current().body.push(h,";"):k.return_(h)});break;case s.Literal:n=this.escape(a.value);this.assign(b,n);c(n);break;case s.UnaryExpression:this.recurse(a.argument,void 0,void 0,function(a){h=a});n=a.operator+"("+this.ifDefined(h,0)+")";this.assign(b,n);c(n);break;case s.BinaryExpression:this.recurse(a.left,void 0,void 0,function(a){g=a});this.recurse(a.right,void 0,void 0,function(a){h=a});n="+"===a.operator?this.plus(g,h):"-"===a.operator?this.ifDefined(g,
0)+a.operator+this.ifDefined(h,0):"("+g+")"+a.operator+"("+h+")";this.assign(b,n);c(n);break;case s.LogicalExpression:b=b||this.nextId();k.recurse(a.left,b);k.if_("&&"===a.operator?b:k.not(b),k.lazyRecurse(a.right,b));c(b);break;case s.ConditionalExpression:b=b||this.nextId();k.recurse(a.test,b);k.if_(b,k.lazyRecurse(a.alternate,b),k.lazyRecurse(a.consequent,b));c(b);break;case s.Identifier:b=b||this.nextId();d&&(d.context="inputs"===k.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",
a.name)+"?l:s"),d.computed=!1,d.name=a.name);Ta(a.name);k.if_("inputs"===k.stage||k.not(k.getHasOwnProperty("l",a.name)),function(){k.if_("inputs"===k.stage||"s",function(){e&&1!==e&&k.if_(k.not(k.nonComputedMember("s",a.name)),k.lazyAssign(k.nonComputedMember("s",a.name),"{}"));k.assign(b,k.nonComputedMember("s",a.name))})},b&&k.lazyAssign(b,k.nonComputedMember("l",a.name)));(k.state.expensiveChecks||Hb(a.name))&&k.addEnsureSafeObject(b);c(b);break;case s.MemberExpression:g=d&&(d.context=this.nextId())||
this.nextId();b=b||this.nextId();k.recurse(a.object,g,void 0,function(){k.if_(k.notNull(g),function(){e&&1!==e&&k.addEnsureSafeAssignContext(g);if(a.computed)h=k.nextId(),k.recurse(a.property,h),k.getStringValue(h),k.addEnsureSafeMemberName(h),e&&1!==e&&k.if_(k.not(k.computedMember(g,h)),k.lazyAssign(k.computedMember(g,h),"{}")),n=k.ensureSafeObject(k.computedMember(g,h)),k.assign(b,n),d&&(d.computed=!0,d.name=h);else{Ta(a.property.name);e&&1!==e&&k.if_(k.not(k.nonComputedMember(g,a.property.name)),
k.lazyAssign(k.nonComputedMember(g,a.property.name),"{}"));n=k.nonComputedMember(g,a.property.name);if(k.state.expensiveChecks||Hb(a.property.name))n=k.ensureSafeObject(n);k.assign(b,n);d&&(d.computed=!1,d.name=a.property.name)}},function(){k.assign(b,"undefined")});c(b)},!!e);break;case s.CallExpression:b=b||this.nextId();a.filter?(h=k.filter(a.callee.name),l=[],q(a.arguments,function(a){var b=k.nextId();k.recurse(a,b);l.push(b)}),n=h+"("+l.join(",")+")",k.assign(b,n),c(b)):(h=k.nextId(),g={},l=
[],k.recurse(a.callee,h,g,function(){k.if_(k.notNull(h),function(){k.addEnsureSafeFunction(h);q(a.arguments,function(a){k.recurse(a,k.nextId(),void 0,function(a){l.push(k.ensureSafeObject(a))})});g.name?(k.state.expensiveChecks||k.addEnsureSafeObject(g.context),n=k.member(g.context,g.name,g.computed)+"("+l.join(",")+")"):n=h+"("+l.join(",")+")";n=k.ensureSafeObject(n);k.assign(b,n)},function(){k.assign(b,"undefined")});c(b)}));break;case s.AssignmentExpression:h=this.nextId();g={};if(!pd(a.left))throw ca("lval");
this.recurse(a.left,void 0,g,function(){k.if_(k.notNull(g.context),function(){k.recurse(a.right,h);k.addEnsureSafeObject(k.member(g.context,g.name,g.computed));k.addEnsureSafeAssignContext(g.context);n=k.member(g.context,g.name,g.computed)+a.operator+h;k.assign(b,n);c(b||n)})},1);break;case s.ArrayExpression:l=[];q(a.elements,function(a){k.recurse(a,k.nextId(),void 0,function(a){l.push(a)})});n="["+l.join(",")+"]";this.assign(b,n);c(n);break;case s.ObjectExpression:l=[];q(a.properties,function(a){k.recurse(a.value,
k.nextId(),void 0,function(b){l.push(k.escape(a.key.type===s.Identifier?a.key.name:""+a.key.value)+":"+b)})});n="{"+l.join(",")+"}";this.assign(b,n);c(n);break;case s.ThisExpression:this.assign(b,"s");c("s");break;case s.LocalsExpression:this.assign(b,"l");c("l");break;case s.NGValueParameter:this.assign(b,"v"),c("v")}},getHasOwnProperty:function(a,b){var d=a+"."+b,c=this.current().own;c.hasOwnProperty(d)||(c[d]=this.nextId(!1,a+"&&("+this.escape(b)+" in "+a+")"));return c[d]},assign:function(a,b){if(a)return this.current().body.push(a,
"=",b,";"),a},filter:function(a){this.state.filters.hasOwnProperty(a)||(this.state.filters[a]=this.nextId(!0));return this.state.filters[a]},ifDefined:function(a,b){return"ifDefined("+a+","+this.escape(b)+")"},plus:function(a,b){return"plus("+a+","+b+")"},return_:function(a){this.current().body.push("return ",a,";")},if_:function(a,b,d){if(!0===a)b();else{var c=this.current().body;c.push("if(",a,"){");b();c.push("}");d&&(c.push("else{"),d(),c.push("}"))}},not:function(a){return"!("+a+")"},notNull:function(a){return a+
"!=null"},nonComputedMember:function(a,b){var d=/[^$_a-zA-Z0-9]/g;return/[$_a-zA-Z][$_a-zA-Z0-9]*/.test(b)?a+"."+b:a+'["'+b.replace(d,this.stringEscapeFn)+'"]'},computedMember:function(a,b){return a+"["+b+"]"},member:function(a,b,d){return d?this.computedMember(a,b):this.nonComputedMember(a,b)},addEnsureSafeObject:function(a){this.current().body.push(this.ensureSafeObject(a),";")},addEnsureSafeMemberName:function(a){this.current().body.push(this.ensureSafeMemberName(a),";")},addEnsureSafeFunction:function(a){this.current().body.push(this.ensureSafeFunction(a),
";")},addEnsureSafeAssignContext:function(a){this.current().body.push(this.ensureSafeAssignContext(a),";")},ensureSafeObject:function(a){return"ensureSafeObject("+a+",text)"},ensureSafeMemberName:function(a){return"ensureSafeMemberName("+a+",text)"},ensureSafeFunction:function(a){return"ensureSafeFunction("+a+",text)"},getStringValue:function(a){this.assign(a,"getStringValue("+a+")")},ensureSafeAssignContext:function(a){return"ensureSafeAssignContext("+a+",text)"},lazyRecurse:function(a,b,d,c,e,f){var g=
this;return function(){g.recurse(a,b,d,c,e,f)}},lazyAssign:function(a,b){var d=this;return function(){d.assign(a,b)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(F(a))return"'"+a.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(Q(a))return a.toString();if(!0===a)return"true";if(!1===a)return"false";if(null===a)return"null";if("undefined"===typeof a)return"undefined";throw ca("esc");},nextId:function(a,
b){var d="v"+this.state.nextId++;a||this.current().vars.push(d+(b?"="+b:""));return d},current:function(){return this.state[this.state.computing]}};td.prototype={compile:function(a,b){var d=this,c=this.astBuilder.ast(a);this.expression=a;this.expensiveChecks=b;aa(c,d.$filter);var e,f;if(e=qd(c))f=this.recurse(e);e=od(c.body);var g;e&&(g=[],q(e,function(a,b){var c=d.recurse(a);a.input=c;g.push(c);a.watchId=b}));var h=[];q(c.body,function(a){h.push(d.recurse(a.expression))});e=0===c.body.length?C:1===
c.body.length?h[0]:function(a,b){var c;q(h,function(d){c=d(a,b)});return c};f&&(e.assign=function(a,b,c){return f(a,c,b)});g&&(e.inputs=g);e.literal=rd(c);e.constant=c.constant;return e},recurse:function(a,b,d){var c,e,f=this,g;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case s.Literal:return this.value(a.value,b);case s.UnaryExpression:return e=this.recurse(a.argument),this["unary"+a.operator](e,b);case s.BinaryExpression:return c=this.recurse(a.left),e=this.recurse(a.right),
this["binary"+a.operator](c,e,b);case s.LogicalExpression:return c=this.recurse(a.left),e=this.recurse(a.right),this["binary"+a.operator](c,e,b);case s.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),b);case s.Identifier:return Ta(a.name,f.expression),f.identifier(a.name,f.expensiveChecks||Hb(a.name),b,d,f.expression);case s.MemberExpression:return c=this.recurse(a.object,!1,!!d),a.computed||(Ta(a.property.name,f.expression),
e=a.property.name),a.computed&&(e=this.recurse(a.property)),a.computed?this.computedMember(c,e,b,d,f.expression):this.nonComputedMember(c,e,f.expensiveChecks,b,d,f.expression);case s.CallExpression:return g=[],q(a.arguments,function(a){g.push(f.recurse(a))}),a.filter&&(e=this.$filter(a.callee.name)),a.filter||(e=this.recurse(a.callee,!0)),a.filter?function(a,c,d,f){for(var m=[],r=0;r<g.length;++r)m.push(g[r](a,c,d,f));a=e.apply(void 0,m,f);return b?{context:void 0,name:void 0,value:a}:a}:function(a,
c,d,n){var m=e(a,c,d,n),r;if(null!=m.value){sa(m.context,f.expression);md(m.value,f.expression);r=[];for(var q=0;q<g.length;++q)r.push(sa(g[q](a,c,d,n),f.expression));r=sa(m.value.apply(m.context,r),f.expression)}return b?{value:r}:r};case s.AssignmentExpression:return c=this.recurse(a.left,!0,1),e=this.recurse(a.right),function(a,d,g,n){var m=c(a,d,g,n);a=e(a,d,g,n);sa(m.value,f.expression);Gb(m.context);m.context[m.name]=a;return b?{value:a}:a};case s.ArrayExpression:return g=[],q(a.elements,function(a){g.push(f.recurse(a))}),
function(a,c,d,e){for(var f=[],r=0;r<g.length;++r)f.push(g[r](a,c,d,e));return b?{value:f}:f};case s.ObjectExpression:return g=[],q(a.properties,function(a){g.push({key:a.key.type===s.Identifier?a.key.name:""+a.key.value,value:f.recurse(a.value)})}),function(a,c,d,e){for(var f={},r=0;r<g.length;++r)f[g[r].key]=g[r].value(a,c,d,e);return b?{value:f}:f};case s.ThisExpression:return function(a){return b?{value:a}:a};case s.LocalsExpression:return function(a,c){return b?{value:c}:c};case s.NGValueParameter:return function(a,
c,d){return b?{value:d}:d}}},"unary+":function(a,b){return function(d,c,e,f){d=a(d,c,e,f);d=x(d)?+d:0;return b?{value:d}:d}},"unary-":function(a,b){return function(d,c,e,f){d=a(d,c,e,f);d=x(d)?-d:0;return b?{value:d}:d}},"unary!":function(a,b){return function(d,c,e,f){d=!a(d,c,e,f);return b?{value:d}:d}},"binary+":function(a,b,d){return function(c,e,f,g){var h=a(c,e,f,g);c=b(c,e,f,g);h=nd(h,c);return d?{value:h}:h}},"binary-":function(a,b,d){return function(c,e,f,g){var h=a(c,e,f,g);c=b(c,e,f,g);
h=(x(h)?h:0)-(x(c)?c:0);return d?{value:h}:h}},"binary*":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)*b(c,e,f,g);return d?{value:c}:c}},"binary/":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)/b(c,e,f,g);return d?{value:c}:c}},"binary%":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)%b(c,e,f,g);return d?{value:c}:c}},"binary===":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)===b(c,e,f,g);return d?{value:c}:c}},"binary!==":function(a,b,d){return function(c,e,f,g){c=a(c,
e,f,g)!==b(c,e,f,g);return d?{value:c}:c}},"binary==":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)==b(c,e,f,g);return d?{value:c}:c}},"binary!=":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)!=b(c,e,f,g);return d?{value:c}:c}},"binary<":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)<b(c,e,f,g);return d?{value:c}:c}},"binary>":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)>b(c,e,f,g);return d?{value:c}:c}},"binary<=":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,
g)<=b(c,e,f,g);return d?{value:c}:c}},"binary>=":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)>=b(c,e,f,g);return d?{value:c}:c}},"binary&&":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)&&b(c,e,f,g);return d?{value:c}:c}},"binary||":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)||b(c,e,f,g);return d?{value:c}:c}},"ternary?:":function(a,b,d,c){return function(e,f,g,h){e=a(e,f,g,h)?b(e,f,g,h):d(e,f,g,h);return c?{value:e}:e}},value:function(a,b){return function(){return b?{context:void 0,
name:void 0,value:a}:a}},identifier:function(a,b,d,c,e){return function(f,g,h,k){f=g&&a in g?g:f;c&&1!==c&&f&&!f[a]&&(f[a]={});g=f?f[a]:void 0;b&&sa(g,e);return d?{context:f,name:a,value:g}:g}},computedMember:function(a,b,d,c,e){return function(f,g,h,k){var l=a(f,g,h,k),n,m;null!=l&&(n=b(f,g,h,k),n+="",Ta(n,e),c&&1!==c&&(Gb(l),l&&!l[n]&&(l[n]={})),m=l[n],sa(m,e));return d?{context:l,name:n,value:m}:m}},nonComputedMember:function(a,b,d,c,e,f){return function(g,h,k,l){g=a(g,h,k,l);e&&1!==e&&(Gb(g),
g&&!g[b]&&(g[b]={}));h=null!=g?g[b]:void 0;(d||Hb(b))&&sa(h,f);return c?{context:g,name:b,value:h}:h}},inputs:function(a,b){return function(d,c,e,f){return f?f[b]:a(d,c,e)}}};var hc=function(a,b,d){this.lexer=a;this.$filter=b;this.options=d;this.ast=new s(a,d);this.astCompiler=d.csp?new td(this.ast,b):new sd(this.ast,b)};hc.prototype={constructor:hc,parse:function(a){return this.astCompiler.compile(a,this.options.expensiveChecks)}};var kg=Object.prototype.valueOf,ta=O("$sce"),oa={HTML:"html",CSS:"css",
URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},mg=O("$compile"),Y=v.document.createElement("a"),xd=ra(v.location.href);yd.$inject=["$document"];Jc.$inject=["$provide"];var Fd=22,Ed=".",jc="0";zd.$inject=["$locale"];Bd.$inject=["$locale"];var xg={yyyy:W("FullYear",4,0,!1,!0),yy:W("FullYear",2,0,!0,!0),y:W("FullYear",1,0,!1,!0),MMMM:ib("Month"),MMM:ib("Month",!0),MM:W("Month",2,1),M:W("Month",1,1),LLLL:ib("Month",!1,!0),dd:W("Date",2),d:W("Date",1),HH:W("Hours",2),H:W("Hours",1),hh:W("Hours",2,-12),
h:W("Hours",1,-12),mm:W("Minutes",2),m:W("Minutes",1),ss:W("Seconds",2),s:W("Seconds",1),sss:W("Milliseconds",3),EEEE:ib("Day"),EEE:ib("Day",!0),a:function(a,b){return 12>a.getHours()?b.AMPMS[0]:b.AMPMS[1]},Z:function(a,b,d){a=-1*d;return a=(0<=a?"+":"")+(Ib(Math[0<a?"floor":"ceil"](a/60),2)+Ib(Math.abs(a%60),2))},ww:Hd(2),w:Hd(1),G:kc,GG:kc,GGG:kc,GGGG:function(a,b){return 0>=a.getFullYear()?b.ERANAMES[0]:b.ERANAMES[1]}},wg=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,
vg=/^\-?\d+$/;Ad.$inject=["$locale"];var qg=da(P),rg=da(sb);Cd.$inject=["$parse"];var ne=da({restrict:"E",compile:function(a,b){if(!b.href&&!b.xlinkHref)return function(a,b){if("a"===b[0].nodeName.toLowerCase()){var e="[object SVGAnimatedString]"===ma.call(b.prop("href"))?"xlink:href":"href";b.on("click",function(a){b.attr(e)||a.preventDefault()})}}}}),tb={};q(Cb,function(a,b){function d(a,d,e){a.$watch(e[c],function(a){e.$set(b,!!a)})}if("multiple"!=a){var c=xa("ng-"+b),e=d;"checked"===a&&(e=function(a,
b,e){e.ngModel!==e[c]&&d(a,b,e)});tb[c]=function(){return{restrict:"A",priority:100,link:e}}}});q(ad,function(a,b){tb[b]=function(){return{priority:100,link:function(a,c,e){if("ngPattern"===b&&"/"==e.ngPattern.charAt(0)&&(c=e.ngPattern.match(zg))){e.$set("ngPattern",new RegExp(c[1],c[2]));return}a.$watch(e[b],function(a){e.$set(b,a)})}}}});q(["src","srcset","href"],function(a){var b=xa("ng-"+a);tb[b]=function(){return{priority:99,link:function(d,c,e){var f=a,g=a;"href"===a&&"[object SVGAnimatedString]"===
ma.call(c.prop("href"))&&(g="xlinkHref",e.$attr[g]="xlink:href",f=null);e.$observe(b,function(b){b?(e.$set(g,b),Ca&&f&&c.prop(f,e[g])):"href"===a&&e.$set(g,null)})}}}});var Jb={$addControl:C,$$renameControl:function(a,b){a.$name=b},$removeControl:C,$setValidity:C,$setDirty:C,$setPristine:C,$setSubmitted:C};Id.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var Rd=function(a){return["$timeout","$parse",function(b,d){function c(a){return""===a?d('this[""]').assign:d(a).assign||C}return{name:"form",
restrict:a?"EAC":"E",require:["form","^^?form"],controller:Id,compile:function(d,f){d.addClass(Ua).addClass(mb);var g=f.name?"name":a&&f.ngForm?"ngForm":!1;return{pre:function(a,d,e,f){var m=f[0];if(!("action"in e)){var r=function(b){a.$apply(function(){m.$commitViewValue();m.$setSubmitted()});b.preventDefault()};d[0].addEventListener("submit",r,!1);d.on("$destroy",function(){b(function(){d[0].removeEventListener("submit",r,!1)},0,!1)})}(f[1]||m.$$parentForm).$addControl(m);var q=g?c(m.$name):C;g&&
(q(a,m),e.$observe(g,function(b){m.$name!==b&&(q(a,void 0),m.$$parentForm.$$renameControl(m,b),q=c(m.$name),q(a,m))}));d.on("$destroy",function(){m.$$parentForm.$removeControl(m);q(a,void 0);R(m,Jb)})}}}}}]},oe=Rd(),Be=Rd(!0),yg=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,Hg=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,Ig=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,
Jg=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Sd=/^(\d{4,})-(\d{2})-(\d{2})$/,Td=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,nc=/^(\d{4,})-W(\d\d)$/,Ud=/^(\d{4,})-(\d\d)$/,Vd=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Kd=T();q(["date","datetime-local","month","time","week"],function(a){Kd[a]=!0});var Wd={text:function(a,b,d,c,e,f){jb(a,b,d,c,e,f);lc(c)},date:kb("date",Sd,Lb(Sd,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":kb("datetimelocal",Td,Lb(Td,"yyyy MM dd HH mm ss sss".split(" ")),
"yyyy-MM-ddTHH:mm:ss.sss"),time:kb("time",Vd,Lb(Vd,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:kb("week",nc,function(a,b){if(fa(a))return a;if(F(a)){nc.lastIndex=0;var d=nc.exec(a);if(d){var c=+d[1],e=+d[2],f=d=0,g=0,h=0,k=Gd(c),e=7*(e-1);b&&(d=b.getHours(),f=b.getMinutes(),g=b.getSeconds(),h=b.getMilliseconds());return new Date(c,0,k.getDate()+e,d,f,g,h)}}return NaN},"yyyy-Www"),month:kb("month",Ud,Lb(Ud,["yyyy","MM"]),"yyyy-MM"),number:function(a,b,d,c,e,f){Ld(a,b,d,c);jb(a,b,d,c,e,f);c.$$parserName=
"number";c.$parsers.push(function(a){if(c.$isEmpty(a))return null;if(Jg.test(a))return parseFloat(a)});c.$formatters.push(function(a){if(!c.$isEmpty(a)){if(!Q(a))throw lb("numfmt",a);a=a.toString()}return a});if(x(d.min)||d.ngMin){var g;c.$validators.min=function(a){return c.$isEmpty(a)||y(g)||a>=g};d.$observe("min",function(a){x(a)&&!Q(a)&&(a=parseFloat(a,10));g=Q(a)&&!isNaN(a)?a:void 0;c.$validate()})}if(x(d.max)||d.ngMax){var h;c.$validators.max=function(a){return c.$isEmpty(a)||y(h)||a<=h};d.$observe("max",
function(a){x(a)&&!Q(a)&&(a=parseFloat(a,10));h=Q(a)&&!isNaN(a)?a:void 0;c.$validate()})}},url:function(a,b,d,c,e,f){jb(a,b,d,c,e,f);lc(c);c.$$parserName="url";c.$validators.url=function(a,b){var d=a||b;return c.$isEmpty(d)||Hg.test(d)}},email:function(a,b,d,c,e,f){jb(a,b,d,c,e,f);lc(c);c.$$parserName="email";c.$validators.email=function(a,b){var d=a||b;return c.$isEmpty(d)||Ig.test(d)}},radio:function(a,b,d,c){y(d.name)&&b.attr("name",++nb);b.on("click",function(a){b[0].checked&&c.$setViewValue(d.value,
a&&a.type)});c.$render=function(){b[0].checked=d.value==c.$viewValue};d.$observe("value",c.$render)},checkbox:function(a,b,d,c,e,f,g,h){var k=Md(h,a,"ngTrueValue",d.ngTrueValue,!0),l=Md(h,a,"ngFalseValue",d.ngFalseValue,!1);b.on("click",function(a){c.$setViewValue(b[0].checked,a&&a.type)});c.$render=function(){b[0].checked=c.$viewValue};c.$isEmpty=function(a){return!1===a};c.$formatters.push(function(a){return pa(a,k)});c.$parsers.push(function(a){return a?k:l})},hidden:C,button:C,submit:C,reset:C,
file:C},Dc=["$browser","$sniffer","$filter","$parse",function(a,b,d,c){return{restrict:"E",require:["?ngModel"],link:{pre:function(e,f,g,h){h[0]&&(Wd[P(g.type)]||Wd.text)(e,f,g,h[0],b,a,d,c)}}}}],Kg=/^(true|false|\d+)$/,Te=function(){return{restrict:"A",priority:100,compile:function(a,b){return Kg.test(b.ngValue)?function(a,b,e){e.$set("value",a.$eval(e.ngValue))}:function(a,b,e){a.$watch(e.ngValue,function(a){e.$set("value",a)})}}}},te=["$compile",function(a){return{restrict:"AC",compile:function(b){a.$$addBindingClass(b);
return function(b,c,e){a.$$addBindingInfo(c,e.ngBind);c=c[0];b.$watch(e.ngBind,function(a){c.textContent=y(a)?"":a})}}}}],ve=["$interpolate","$compile",function(a,b){return{compile:function(d){b.$$addBindingClass(d);return function(c,d,f){c=a(d.attr(f.$attr.ngBindTemplate));b.$$addBindingInfo(d,c.expressions);d=d[0];f.$observe("ngBindTemplate",function(a){d.textContent=y(a)?"":a})}}}}],ue=["$sce","$parse","$compile",function(a,b,d){return{restrict:"A",compile:function(c,e){var f=b(e.ngBindHtml),g=
b(e.ngBindHtml,function(a){return(a||"").toString()});d.$$addBindingClass(c);return function(b,c,e){d.$$addBindingInfo(c,e.ngBindHtml);b.$watch(g,function(){c.html(a.getTrustedHtml(f(b))||"")})}}}}],Se=da({restrict:"A",require:"ngModel",link:function(a,b,d,c){c.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),we=mc("",!0),ye=mc("Odd",0),xe=mc("Even",1),ze=La({compile:function(a,b){b.$set("ngCloak",void 0);a.removeClass("ng-cloak")}}),Ae=[function(){return{restrict:"A",scope:!0,controller:"@",
priority:500}}],Ic={},Lg={blur:!0,focus:!0};q("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var b=xa("ng-"+a);Ic[b]=["$parse","$rootScope",function(d,c){return{restrict:"A",compile:function(e,f){var g=d(f[b],null,!0);return function(b,d){d.on(a,function(d){var e=function(){g(b,{$event:d})};Lg[a]&&c.$$phase?b.$evalAsync(e):b.$apply(e)})}}}}]});var De=["$animate","$compile",function(a,
b){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(d,c,e,f,g){var h,k,l;d.$watch(e.ngIf,function(d){d?k||g(function(d,f){k=f;d[d.length++]=b.$$createComment("end ngIf",e.ngIf);h={clone:d};a.enter(d,c.parent(),c)}):(l&&(l.remove(),l=null),k&&(k.$destroy(),k=null),h&&(l=rb(h.clone),a.leave(l).then(function(){l=null}),h=null))})}}}],Ee=["$templateRequest","$anchorScroll","$animate",function(a,b,d){return{restrict:"ECA",priority:400,terminal:!0,
transclude:"element",controller:ea.noop,compile:function(c,e){var f=e.ngInclude||e.src,g=e.onload||"",h=e.autoscroll;return function(c,e,n,m,r){var q=0,s,w,p,y=function(){w&&(w.remove(),w=null);s&&(s.$destroy(),s=null);p&&(d.leave(p).then(function(){w=null}),w=p,p=null)};c.$watch(f,function(f){var n=function(){!x(h)||h&&!c.$eval(h)||b()},u=++q;f?(a(f,!0).then(function(a){if(!c.$$destroyed&&u===q){var b=c.$new();m.template=a;a=r(b,function(a){y();d.enter(a,null,e).then(n)});s=b;p=a;s.$emit("$includeContentLoaded",
f);c.$eval(g)}},function(){c.$$destroyed||u!==q||(y(),c.$emit("$includeContentError",f))}),c.$emit("$includeContentRequested",f)):(y(),m.template=null)})}}}}],Ve=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(b,d,c,e){ma.call(d[0]).match(/SVG/)?(d.empty(),a(Lc(e.template,v.document).childNodes)(b,function(a){d.append(a)},{futureParentElement:d})):(d.html(e.template),a(d.contents())(b))}}}],Fe=La({priority:450,compile:function(){return{pre:function(a,
b,d){a.$eval(d.ngInit)}}}}),Re=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,b,d,c){var e=b.attr(d.$attr.ngList)||", ",f="false"!==d.ngTrim,g=f?V(e):e;c.$parsers.push(function(a){if(!y(a)){var b=[];a&&q(a.split(g),function(a){a&&b.push(f?V(a):a)});return b}});c.$formatters.push(function(a){if(K(a))return a.join(e)});c.$isEmpty=function(a){return!a||!a.length}}}},mb="ng-valid",Nd="ng-invalid",Ua="ng-pristine",Kb="ng-dirty",Pd="ng-pending",lb=O("ngModel"),Mg=["$scope",
"$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(a,b,d,c,e,f,g,h,k,l){this.$modelValue=this.$viewValue=Number.NaN;this.$$rawModelValue=void 0;this.$validators={};this.$asyncValidators={};this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$untouched=!0;this.$touched=!1;this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$error={};this.$$success={};this.$pending=void 0;this.$name=l(d.name||"",!1)(a);
this.$$parentForm=Jb;var n=e(d.ngModel),m=n.assign,r=n,s=m,v=null,w,p=this;this.$$setOptions=function(a){if((p.$options=a)&&a.getterSetter){var b=e(d.ngModel+"()"),f=e(d.ngModel+"($$$p)");r=function(a){var c=n(a);E(c)&&(c=b(a));return c};s=function(a,b){E(n(a))?f(a,{$$$p:b}):m(a,b)}}else if(!n.assign)throw lb("nonassign",d.ngModel,wa(c));};this.$render=C;this.$isEmpty=function(a){return y(a)||""===a||null===a||a!==a};this.$$updateEmptyClasses=function(a){p.$isEmpty(a)?(f.removeClass(c,"ng-not-empty"),
f.addClass(c,"ng-empty")):(f.removeClass(c,"ng-empty"),f.addClass(c,"ng-not-empty"))};var H=0;Jd({ctrl:this,$element:c,set:function(a,b){a[b]=!0},unset:function(a,b){delete a[b]},$animate:f});this.$setPristine=function(){p.$dirty=!1;p.$pristine=!0;f.removeClass(c,Kb);f.addClass(c,Ua)};this.$setDirty=function(){p.$dirty=!0;p.$pristine=!1;f.removeClass(c,Ua);f.addClass(c,Kb);p.$$parentForm.$setDirty()};this.$setUntouched=function(){p.$touched=!1;p.$untouched=!0;f.setClass(c,"ng-untouched","ng-touched")};
this.$setTouched=function(){p.$touched=!0;p.$untouched=!1;f.setClass(c,"ng-touched","ng-untouched")};this.$rollbackViewValue=function(){g.cancel(v);p.$viewValue=p.$$lastCommittedViewValue;p.$render()};this.$validate=function(){if(!Q(p.$modelValue)||!isNaN(p.$modelValue)){var a=p.$$rawModelValue,b=p.$valid,c=p.$modelValue,d=p.$options&&p.$options.allowInvalid;p.$$runValidators(a,p.$$lastCommittedViewValue,function(e){d||b===e||(p.$modelValue=e?a:void 0,p.$modelValue!==c&&p.$$writeModelToScope())})}};
this.$$runValidators=function(a,b,c){function d(){var c=!0;q(p.$validators,function(d,e){var g=d(a,b);c=c&&g;f(e,g)});return c?!0:(q(p.$asyncValidators,function(a,b){f(b,null)}),!1)}function e(){var c=[],d=!0;q(p.$asyncValidators,function(e,g){var h=e(a,b);if(!h||!E(h.then))throw lb("nopromise",h);f(g,void 0);c.push(h.then(function(){f(g,!0)},function(){d=!1;f(g,!1)}))});c.length?k.all(c).then(function(){g(d)},C):g(!0)}function f(a,b){h===H&&p.$setValidity(a,b)}function g(a){h===H&&c(a)}H++;var h=
H;(function(){var a=p.$$parserName||"parse";if(y(w))f(a,null);else return w||(q(p.$validators,function(a,b){f(b,null)}),q(p.$asyncValidators,function(a,b){f(b,null)})),f(a,w),w;return!0})()?d()?e():g(!1):g(!1)};this.$commitViewValue=function(){var a=p.$viewValue;g.cancel(v);if(p.$$lastCommittedViewValue!==a||""===a&&p.$$hasNativeValidators)p.$$updateEmptyClasses(a),p.$$lastCommittedViewValue=a,p.$pristine&&this.$setDirty(),this.$$parseAndValidate()};this.$$parseAndValidate=function(){var b=p.$$lastCommittedViewValue;
if(w=y(b)?void 0:!0)for(var c=0;c<p.$parsers.length;c++)if(b=p.$parsers[c](b),y(b)){w=!1;break}Q(p.$modelValue)&&isNaN(p.$modelValue)&&(p.$modelValue=r(a));var d=p.$modelValue,e=p.$options&&p.$options.allowInvalid;p.$$rawModelValue=b;e&&(p.$modelValue=b,p.$modelValue!==d&&p.$$writeModelToScope());p.$$runValidators(b,p.$$lastCommittedViewValue,function(a){e||(p.$modelValue=a?b:void 0,p.$modelValue!==d&&p.$$writeModelToScope())})};this.$$writeModelToScope=function(){s(a,p.$modelValue);q(p.$viewChangeListeners,
function(a){try{a()}catch(c){b(c)}})};this.$setViewValue=function(a,b){p.$viewValue=a;p.$options&&!p.$options.updateOnDefault||p.$$debounceViewValueCommit(b)};this.$$debounceViewValueCommit=function(b){var c=0,d=p.$options;d&&x(d.debounce)&&(d=d.debounce,Q(d)?c=d:Q(d[b])?c=d[b]:Q(d["default"])&&(c=d["default"]));g.cancel(v);c?v=g(function(){p.$commitViewValue()},c):h.$$phase?p.$commitViewValue():a.$apply(function(){p.$commitViewValue()})};a.$watch(function(){var b=r(a);if(b!==p.$modelValue&&(p.$modelValue===
p.$modelValue||b===b)){p.$modelValue=p.$$rawModelValue=b;w=void 0;for(var c=p.$formatters,d=c.length,e=b;d--;)e=c[d](e);p.$viewValue!==e&&(p.$$updateEmptyClasses(e),p.$viewValue=p.$$lastCommittedViewValue=e,p.$render(),p.$$runValidators(b,e,C))}return b})}],Qe=["$rootScope",function(a){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:Mg,priority:1,compile:function(b){b.addClass(Ua).addClass("ng-untouched").addClass(mb);return{pre:function(a,b,e,f){var g=f[0];b=f[1]||
g.$$parentForm;g.$$setOptions(f[2]&&f[2].$options);b.$addControl(g);e.$observe("name",function(a){g.$name!==a&&g.$$parentForm.$$renameControl(g,a)});a.$on("$destroy",function(){g.$$parentForm.$removeControl(g)})},post:function(b,c,e,f){var g=f[0];if(g.$options&&g.$options.updateOn)c.on(g.$options.updateOn,function(a){g.$$debounceViewValueCommit(a&&a.type)});c.on("blur",function(){g.$touched||(a.$$phase?b.$evalAsync(g.$setTouched):b.$apply(g.$setTouched))})}}}}}],Ng=/(\s+|^)default(\s+|$)/,Ue=function(){return{restrict:"A",
controller:["$scope","$attrs",function(a,b){var d=this;this.$options=qa(a.$eval(b.ngModelOptions));x(this.$options.updateOn)?(this.$options.updateOnDefault=!1,this.$options.updateOn=V(this.$options.updateOn.replace(Ng,function(){d.$options.updateOnDefault=!0;return" "}))):this.$options.updateOnDefault=!0}]}},Ge=La({terminal:!0,priority:1E3}),Og=O("ngOptions"),Pg=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,
Oe=["$compile","$document","$parse",function(a,b,d){function c(a,b,c){function e(a,b,c,d,f){this.selectValue=a;this.viewValue=b;this.label=c;this.group=d;this.disabled=f}function f(a){var b;if(!q&&ya(a))b=a;else{b=[];for(var c in a)a.hasOwnProperty(c)&&"$"!==c.charAt(0)&&b.push(c)}return b}var m=a.match(Pg);if(!m)throw Og("iexp",a,wa(b));var r=m[5]||m[7],q=m[6];a=/ as /.test(m[0])&&m[1];var s=m[9];b=d(m[2]?m[1]:r);var w=a&&d(a)||b,p=s&&d(s),v=s?function(a,b){return p(c,b)}:function(a){return Fa(a)},
t=function(a,b){return v(a,L(a,b))},z=d(m[2]||m[1]),u=d(m[3]||""),y=d(m[4]||""),x=d(m[8]),D={},L=q?function(a,b){D[q]=b;D[r]=a;return D}:function(a){D[r]=a;return D};return{trackBy:s,getTrackByValue:t,getWatchables:d(x,function(a){var b=[];a=a||[];for(var d=f(a),e=d.length,g=0;g<e;g++){var h=a===d?g:d[g],l=a[h],h=L(l,h),l=v(l,h);b.push(l);if(m[2]||m[1])l=z(c,h),b.push(l);m[4]&&(h=y(c,h),b.push(h))}return b}),getOptions:function(){for(var a=[],b={},d=x(c)||[],g=f(d),h=g.length,m=0;m<h;m++){var p=d===
g?m:g[m],q=L(d[p],p),r=w(c,q),p=v(r,q),D=z(c,q),N=u(c,q),q=y(c,q),r=new e(p,r,D,N,q);a.push(r);b[p]=r}return{items:a,selectValueMap:b,getOptionFromViewValue:function(a){return b[t(a)]},getViewValueFromOption:function(a){return s?ea.copy(a.viewValue):a.viewValue}}}}}var e=v.document.createElement("option"),f=v.document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(a,b,c,d){d[0].registerOption=C},post:function(d,h,k,l){function n(a,b){a.element=
b;b.disabled=a.disabled;a.label!==b.label&&(b.label=a.label,b.textContent=a.label);a.value!==b.value&&(b.value=a.selectValue)}function m(){var a=u&&r.readValue();if(u)for(var b=u.items.length-1;0<=b;b--){var c=u.items[b];c.group?Bb(c.element.parentNode):Bb(c.element)}u=I.getOptions();var d={};t&&h.prepend(w);u.items.forEach(function(a){var b;if(x(a.group)){b=d[a.group];b||(b=f.cloneNode(!1),E.appendChild(b),b.label=a.group,d[a.group]=b);var c=e.cloneNode(!1)}else b=E,c=e.cloneNode(!1);b.appendChild(c);
n(a,c)});h[0].appendChild(E);s.$render();s.$isEmpty(a)||(b=r.readValue(),(I.trackBy||v?pa(a,b):a===b)||(s.$setViewValue(b),s.$render()))}var r=l[0],s=l[1],v=k.multiple,w;l=0;for(var p=h.children(),y=p.length;l<y;l++)if(""===p[l].value){w=p.eq(l);break}var t=!!w,z=B(e.cloneNode(!1));z.val("?");var u,I=c(k.ngOptions,h,d),E=b[0].createDocumentFragment();v?(s.$isEmpty=function(a){return!a||0===a.length},r.writeValue=function(a){u.items.forEach(function(a){a.element.selected=!1});a&&a.forEach(function(a){if(a=
u.getOptionFromViewValue(a))a.element.selected=!0})},r.readValue=function(){var a=h.val()||[],b=[];q(a,function(a){(a=u.selectValueMap[a])&&!a.disabled&&b.push(u.getViewValueFromOption(a))});return b},I.trackBy&&d.$watchCollection(function(){if(K(s.$viewValue))return s.$viewValue.map(function(a){return I.getTrackByValue(a)})},function(){s.$render()})):(r.writeValue=function(a){var b=u.getOptionFromViewValue(a);b?(h[0].value!==b.selectValue&&(z.remove(),t||w.remove(),h[0].value=b.selectValue,b.element.selected=
!0),b.element.setAttribute("selected","selected")):null===a||t?(z.remove(),t||h.prepend(w),h.val(""),w.prop("selected",!0),w.attr("selected",!0)):(t||w.remove(),h.prepend(z),h.val("?"),z.prop("selected",!0),z.attr("selected",!0))},r.readValue=function(){var a=u.selectValueMap[h.val()];return a&&!a.disabled?(t||w.remove(),z.remove(),u.getViewValueFromOption(a)):null},I.trackBy&&d.$watch(function(){return I.getTrackByValue(s.$viewValue)},function(){s.$render()}));t?(w.remove(),a(w)(d),w.removeClass("ng-scope")):
w=B(e.cloneNode(!1));h.empty();m();d.$watchCollection(I.getWatchables,m)}}}}],He=["$locale","$interpolate","$log",function(a,b,d){var c=/{}/g,e=/^when(Minus)?(.+)$/;return{link:function(f,g,h){function k(a){g.text(a||"")}var l=h.count,n=h.$attr.when&&g.attr(h.$attr.when),m=h.offset||0,r=f.$eval(n)||{},s={},v=b.startSymbol(),w=b.endSymbol(),p=v+l+"-"+m+w,x=ea.noop,t;q(h,function(a,b){var c=e.exec(b);c&&(c=(c[1]?"-":"")+P(c[2]),r[c]=g.attr(h.$attr[b]))});q(r,function(a,d){s[d]=b(a.replace(c,p))});f.$watch(l,
function(b){var c=parseFloat(b),e=isNaN(c);e||c in r||(c=a.pluralCat(c-m));c===t||e&&Q(t)&&isNaN(t)||(x(),e=s[c],y(e)?(null!=b&&d.debug("ngPluralize: no rule defined for '"+c+"' in "+n),x=C,k()):x=f.$watch(e,k),t=c)})}}}],Ie=["$parse","$animate","$compile",function(a,b,d){var c=O("ngRepeat"),e=function(a,b,c,d,e,n,m){a[c]=d;e&&(a[e]=n);a.$index=b;a.$first=0===b;a.$last=b===m-1;a.$middle=!(a.$first||a.$last);a.$odd=!(a.$even=0===(b&1))};return{restrict:"A",multiElement:!0,transclude:"element",priority:1E3,
terminal:!0,$$tlb:!0,compile:function(f,g){var h=g.ngRepeat,k=d.$$createComment("end ngRepeat",h),l=h.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!l)throw c("iexp",h);var n=l[1],m=l[2],r=l[3],s=l[4],l=n.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/);if(!l)throw c("iidexp",n);var v=l[3]||l[1],w=l[2];if(r&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(r)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(r)))throw c("badident",
r);var p,y,t,z,u={$id:Fa};s?p=a(s):(t=function(a,b){return Fa(b)},z=function(a){return a});return function(a,d,f,g,l){p&&(y=function(b,c,d){w&&(u[w]=b);u[v]=c;u.$index=d;return p(a,u)});var n=T();a.$watchCollection(m,function(f){var g,m,p=d[0],s,u=T(),x,D,E,C,F,B,G;r&&(a[r]=f);if(ya(f))F=f,m=y||t;else for(G in m=y||z,F=[],f)ua.call(f,G)&&"$"!==G.charAt(0)&&F.push(G);x=F.length;G=Array(x);for(g=0;g<x;g++)if(D=f===F?g:F[g],E=f[D],C=m(D,E,g),n[C])B=n[C],delete n[C],u[C]=B,G[g]=B;else{if(u[C])throw q(G,
function(a){a&&a.scope&&(n[a.id]=a)}),c("dupes",h,C,E);G[g]={id:C,scope:void 0,clone:void 0};u[C]=!0}for(s in n){B=n[s];C=rb(B.clone);b.leave(C);if(C[0].parentNode)for(g=0,m=C.length;g<m;g++)C[g].$$NG_REMOVED=!0;B.scope.$destroy()}for(g=0;g<x;g++)if(D=f===F?g:F[g],E=f[D],B=G[g],B.scope){s=p;do s=s.nextSibling;while(s&&s.$$NG_REMOVED);B.clone[0]!=s&&b.move(rb(B.clone),null,p);p=B.clone[B.clone.length-1];e(B.scope,g,v,E,w,D,x)}else l(function(a,c){B.scope=c;var d=k.cloneNode(!1);a[a.length++]=d;b.enter(a,
null,p);p=d;B.clone=a;u[B.id]=B;e(B.scope,g,v,E,w,D,x)});n=u})}}}}],Je=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,d,c){b.$watch(c.ngShow,function(b){a[b?"removeClass":"addClass"](d,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],Ce=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,d,c){b.$watch(c.ngHide,function(b){a[b?"addClass":"removeClass"](d,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],Ke=La(function(a,b,d){a.$watch(d.ngStyle,function(a,
d){d&&a!==d&&q(d,function(a,c){b.css(c,"")});a&&b.css(a)},!0)}),Le=["$animate","$compile",function(a,b){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(d,c,e,f){var g=[],h=[],k=[],l=[],n=function(a,b){return function(){a.splice(b,1)}};d.$watch(e.ngSwitch||e.on,function(c){var d,e;d=0;for(e=k.length;d<e;++d)a.cancel(k[d]);d=k.length=0;for(e=l.length;d<e;++d){var s=rb(h[d].clone);l[d].$destroy();(k[d]=a.leave(s)).then(n(k,d))}h.length=0;l.length=0;(g=f.cases["!"+
c]||f.cases["?"])&&q(g,function(c){c.transclude(function(d,e){l.push(e);var f=c.element;d[d.length++]=b.$$createComment("end ngSwitchWhen");h.push({clone:d});a.enter(d,f.parent(),f)})})})}}}],Me=La({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,d,c,e){c.cases["!"+d.ngSwitchWhen]=c.cases["!"+d.ngSwitchWhen]||[];c.cases["!"+d.ngSwitchWhen].push({transclude:e,element:b})}}),Ne=La({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,
b,d,c,e){c.cases["?"]=c.cases["?"]||[];c.cases["?"].push({transclude:e,element:b})}}),Qg=O("ngTransclude"),Pe=La({restrict:"EAC",link:function(a,b,d,c,e){d.ngTransclude===d.$attr.ngTransclude&&(d.ngTransclude="");if(!e)throw Qg("orphan",wa(b));e(function(a){a.length&&(b.empty(),b.append(a))},null,d.ngTransclude||d.ngTranscludeSlot)}}),pe=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(b,d){"text/ng-template"==d.type&&a.put(d.id,b[0].text)}}}],Rg={$setViewValue:C,$render:C},
Sg=["$element","$scope",function(a,b){var d=this,c=new Ra;d.ngModelCtrl=Rg;d.unknownOption=B(v.document.createElement("option"));d.renderUnknownOption=function(b){b="? "+Fa(b)+" ?";d.unknownOption.val(b);a.prepend(d.unknownOption);a.val(b)};b.$on("$destroy",function(){d.renderUnknownOption=C});d.removeUnknownOption=function(){d.unknownOption.parent()&&d.unknownOption.remove()};d.readValue=function(){d.removeUnknownOption();return a.val()};d.writeValue=function(b){d.hasOption(b)?(d.removeUnknownOption(),
a.val(b),""===b&&d.emptyOption.prop("selected",!0)):null==b&&d.emptyOption?(d.removeUnknownOption(),a.val("")):d.renderUnknownOption(b)};d.addOption=function(a,b){if(8!==b[0].nodeType){Qa(a,'"option value"');""===a&&(d.emptyOption=b);var g=c.get(a)||0;c.put(a,g+1);d.ngModelCtrl.$render();b[0].hasAttribute("selected")&&(b[0].selected=!0)}};d.removeOption=function(a){var b=c.get(a);b&&(1===b?(c.remove(a),""===a&&(d.emptyOption=void 0)):c.put(a,b-1))};d.hasOption=function(a){return!!c.get(a)};d.registerOption=
function(a,b,c,h,k){if(h){var l;c.$observe("value",function(a){x(l)&&d.removeOption(l);l=a;d.addOption(a,b)})}else k?a.$watch(k,function(a,e){c.$set("value",a);e!==a&&d.removeOption(e);d.addOption(a,b)}):d.addOption(c.value,b);b.on("$destroy",function(){d.removeOption(c.value);d.ngModelCtrl.$render()})}}],qe=function(){return{restrict:"E",require:["select","?ngModel"],controller:Sg,priority:1,link:{pre:function(a,b,d,c){var e=c[1];if(e){var f=c[0];f.ngModelCtrl=e;b.on("change",function(){a.$apply(function(){e.$setViewValue(f.readValue())})});
if(d.multiple){f.readValue=function(){var a=[];q(b.find("option"),function(b){b.selected&&a.push(b.value)});return a};f.writeValue=function(a){var c=new Ra(a);q(b.find("option"),function(a){a.selected=x(c.get(a.value))})};var g,h=NaN;a.$watch(function(){h!==e.$viewValue||pa(g,e.$viewValue)||(g=ha(e.$viewValue),e.$render());h=e.$viewValue});e.$isEmpty=function(a){return!a||0===a.length}}}},post:function(a,b,d,c){var e=c[1];if(e){var f=c[0];e.$render=function(){f.writeValue(e.$viewValue)}}}}}},se=["$interpolate",
function(a){return{restrict:"E",priority:100,compile:function(b,d){if(x(d.value))var c=a(d.value,!0);else{var e=a(b.text(),!0);e||d.$set("value",b.text())}return function(a,b,d){var k=b.parent();(k=k.data("$selectController")||k.parent().data("$selectController"))&&k.registerOption(a,b,d,c,e)}}}}],re=da({restrict:"E",terminal:!1}),Fc=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,d,c){c&&(d.required=!0,c.$validators.required=function(a,b){return!d.required||!c.$isEmpty(b)},d.$observe("required",
function(){c.$validate()}))}}},Ec=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,d,c){if(c){var e,f=d.ngPattern||d.pattern;d.$observe("pattern",function(a){F(a)&&0<a.length&&(a=new RegExp("^"+a+"$"));if(a&&!a.test)throw O("ngPattern")("noregexp",f,a,wa(b));e=a||void 0;c.$validate()});c.$validators.pattern=function(a,b){return c.$isEmpty(b)||y(e)||e.test(b)}}}}},Hc=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,d,c){if(c){var e=-1;d.$observe("maxlength",function(a){a=
X(a);e=isNaN(a)?-1:a;c.$validate()});c.$validators.maxlength=function(a,b){return 0>e||c.$isEmpty(b)||b.length<=e}}}}},Gc=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,d,c){if(c){var e=0;d.$observe("minlength",function(a){e=X(a)||0;c.$validate()});c.$validators.minlength=function(a,b){return c.$isEmpty(b)||b.length>=e}}}}};v.angular.bootstrap?v.console&&console.log("WARNING: Tried to load angular more than once."):(ie(),ke(ea),ea.module("ngLocale",[],["$provide",function(a){function b(a){a+=
"";var b=a.indexOf(".");return-1==b?0:a.length-b-1}a.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:"January February March April May June July August September October November December".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONEMONTH:"January February March April May June July August September October November December".split(" "),
WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-\u00a4",negSuf:"",posPre:"\u00a4",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(a,
c){var e=a|0,f=c;void 0===f&&(f=Math.min(b(a),3));Math.pow(10,f);return 1==e&&0==f?"one":"other"}})}]),B(v.document).ready(function(){ee(v.document,yc)}))})(window);!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>');
//# sourceMappingURL=angular.min.js.map
File diff suppressed because one or more lines are too long
+676
View File
@@ -0,0 +1,676 @@
/**
* CLDR JavaScript Library v0.4.4
* http://jquery.com/
*
* Copyright 2013 Rafael Xavier de Souza
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2016-01-18T12:25Z
*/
/*!
* CLDR JavaScript Library v0.4.4 2016-01-18T12:25Z MIT license © Rafael Xavier
* http://git.io/h4lmVg
*/
(function( root, factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD.
define( factory );
} else if ( typeof module === "object" && typeof module.exports === "object" ) {
// Node. CommonJS.
module.exports = factory();
} else {
// Global
root.Cldr = factory();
}
}( this, function() {
var arrayIsArray = Array.isArray || function( obj ) {
return Object.prototype.toString.call( obj ) === "[object Array]";
};
var pathNormalize = function( path, attributes ) {
if ( arrayIsArray( path ) ) {
path = path.join( "/" );
}
if ( typeof path !== "string" ) {
throw new Error( "invalid path \"" + path + "\"" );
}
// 1: Ignore leading slash `/`
// 2: Ignore leading `cldr/`
path = path
.replace( /^\// , "" ) /* 1 */
.replace( /^cldr\// , "" ); /* 2 */
// Replace {attribute}'s
path = path.replace( /{[a-zA-Z]+}/g, function( name ) {
name = name.replace( /^{([^}]*)}$/, "$1" );
return attributes[ name ];
});
return path.split( "/" );
};
var arraySome = function( array, callback ) {
var i, length;
if ( array.some ) {
return array.some( callback );
}
for ( i = 0, length = array.length; i < length; i++ ) {
if ( callback( array[ i ], i, array ) ) {
return true;
}
}
return false;
};
/**
* Return the maximized language id as defined in
* http://www.unicode.org/reports/tr35/#Likely_Subtags
* 1. Canonicalize.
* 1.1 Make sure the input locale is in canonical form: uses the right
* separator, and has the right casing.
* TODO Right casing? What df? It seems languages are lowercase, scripts are
* Capitalized, territory is uppercase. I am leaving this as an exercise to
* the user.
*
* 1.2 Replace any deprecated subtags with their canonical values using the
* <alias> data in supplemental metadata. Use the first value in the
* replacement list, if it exists. Language tag replacements may have multiple
* parts, such as "sh" ➞ "sr_Latn" or mo" ➞ "ro_MD". In such a case, the
* original script and/or region are retained if there is one. Thus
* "sh_Arab_AQ" ➞ "sr_Arab_AQ", not "sr_Latn_AQ".
* TODO What <alias> data?
*
* 1.3 If the tag is grandfathered (see <variable id="$grandfathered"
* type="choice"> in the supplemental data), then return it.
* TODO grandfathered?
*
* 1.4 Remove the script code 'Zzzz' and the region code 'ZZ' if they occur.
* 1.5 Get the components of the cleaned-up source tag (languages, scripts,
* and regions), plus any variants and extensions.
* 2. Lookup. Lookup each of the following in order, and stop on the first
* match:
* 2.1 languages_scripts_regions
* 2.2 languages_regions
* 2.3 languages_scripts
* 2.4 languages
* 2.5 und_scripts
* 3. Return
* 3.1 If there is no match, either return an error value, or the match for
* "und" (in APIs where a valid language tag is required).
* 3.2 Otherwise there is a match = languagem_scriptm_regionm
* 3.3 Let xr = xs if xs is not empty, and xm otherwise.
* 3.4 Return the language tag composed of languager _ scriptr _ regionr +
* variants + extensions.
*
* @subtags [Array] normalized language id subtags tuple (see init.js).
*/
var coreLikelySubtags = function( Cldr, cldr, subtags, options ) {
var match, matchFound,
language = subtags[ 0 ],
script = subtags[ 1 ],
sep = Cldr.localeSep,
territory = subtags[ 2 ],
variantsAndUnicodeLocaleExtensions = subtags.slice( 3, 4 );
options = options || {};
// Skip if (language, script, territory) is not empty [3.3]
if ( language !== "und" && script !== "Zzzz" && territory !== "ZZ" ) {
return [ language, script, territory ].concat( variantsAndUnicodeLocaleExtensions );
}
// Skip if no supplemental likelySubtags data is present
if ( typeof cldr.get( "supplemental/likelySubtags" ) === "undefined" ) {
return;
}
// [2]
matchFound = arraySome([
[ language, script, territory ],
[ language, territory ],
[ language, script ],
[ language ],
[ "und", script ]
], function( test ) {
return match = !(/\b(Zzzz|ZZ)\b/).test( test.join( sep ) ) /* [1.4] */ && cldr.get( [ "supplemental/likelySubtags", test.join( sep ) ] );
});
// [3]
if ( matchFound ) {
// [3.2 .. 3.4]
match = match.split( sep );
return [
language !== "und" ? language : match[ 0 ],
script !== "Zzzz" ? script : match[ 1 ],
territory !== "ZZ" ? territory : match[ 2 ]
].concat(
variantsAndUnicodeLocaleExtensions
);
} else if ( options.force ) {
// [3.1.2]
return cldr.get( "supplemental/likelySubtags/und" ).split( sep );
} else {
// [3.1.1]
return;
}
};
/**
* Given a locale, remove any fields that Add Likely Subtags would add.
* http://www.unicode.org/reports/tr35/#Likely_Subtags
* 1. First get max = AddLikelySubtags(inputLocale). If an error is signaled,
* return it.
* 2. Remove the variants from max.
* 3. Then for trial in {language, language _ region, language _ script}. If
* AddLikelySubtags(trial) = max, then return trial + variants.
* 4. If you do not get a match, return max + variants.
*
* @maxLanguageId [Array] maxLanguageId tuple (see init.js).
*/
var coreRemoveLikelySubtags = function( Cldr, cldr, maxLanguageId ) {
var match, matchFound,
language = maxLanguageId[ 0 ],
script = maxLanguageId[ 1 ],
territory = maxLanguageId[ 2 ],
variants = maxLanguageId[ 3 ];
// [3]
matchFound = arraySome([
[ [ language, "Zzzz", "ZZ" ], [ language ] ],
[ [ language, "Zzzz", territory ], [ language, territory ] ],
[ [ language, script, "ZZ" ], [ language, script ] ]
], function( test ) {
var result = coreLikelySubtags( Cldr, cldr, test[ 0 ] );
match = test[ 1 ];
return result && result[ 0 ] === maxLanguageId[ 0 ] &&
result[ 1 ] === maxLanguageId[ 1 ] &&
result[ 2 ] === maxLanguageId[ 2 ];
});
if ( matchFound ) {
if ( variants ) {
match.push( variants );
}
return match;
}
// [4]
return maxLanguageId;
};
/**
* subtags( locale )
*
* @locale [String]
*/
var coreSubtags = function( locale ) {
var aux, unicodeLanguageId,
subtags = [];
locale = locale.replace( /_/, "-" );
// Unicode locale extensions.
aux = locale.split( "-u-" );
if ( aux[ 1 ] ) {
aux[ 1 ] = aux[ 1 ].split( "-t-" );
locale = aux[ 0 ] + ( aux[ 1 ][ 1 ] ? "-t-" + aux[ 1 ][ 1 ] : "");
subtags[ 4 /* unicodeLocaleExtensions */ ] = aux[ 1 ][ 0 ];
}
// TODO normalize transformed extensions. Currently, skipped.
// subtags[ x ] = locale.split( "-t-" )[ 1 ];
unicodeLanguageId = locale.split( "-t-" )[ 0 ];
// unicode_language_id = "root"
// | unicode_language_subtag
// (sep unicode_script_subtag)?
// (sep unicode_region_subtag)?
// (sep unicode_variant_subtag)* ;
//
// Although unicode_language_subtag = alpha{2,8}, I'm using alpha{2,3}. Because, there's no language on CLDR lengthier than 3.
aux = unicodeLanguageId.match( /^(([a-z]{2,3})(-([A-Z][a-z]{3}))?(-([A-Z]{2}|[0-9]{3}))?)((-([a-zA-Z0-9]{5,8}|[0-9][a-zA-Z0-9]{3}))*)$|^(root)$/ );
if ( aux === null ) {
return [ "und", "Zzzz", "ZZ" ];
}
subtags[ 0 /* language */ ] = aux[ 10 ] /* root */ || aux[ 2 ] || "und";
subtags[ 1 /* script */ ] = aux[ 4 ] || "Zzzz";
subtags[ 2 /* territory */ ] = aux[ 6 ] || "ZZ";
if ( aux[ 7 ] && aux[ 7 ].length ) {
subtags[ 3 /* variant */ ] = aux[ 7 ].slice( 1 ) /* remove leading "-" */;
}
// 0: language
// 1: script
// 2: territory (aka region)
// 3: variant
// 4: unicodeLocaleExtensions
return subtags;
};
var arrayForEach = function( array, callback ) {
var i, length;
if ( array.forEach ) {
return array.forEach( callback );
}
for ( i = 0, length = array.length; i < length; i++ ) {
callback( array[ i ], i, array );
}
};
/**
* bundleLookup( minLanguageId )
*
* @Cldr [Cldr class]
*
* @cldr [Cldr instance]
*
* @minLanguageId [String] requested languageId after applied remove likely subtags.
*/
var bundleLookup = function( Cldr, cldr, minLanguageId ) {
var availableBundleMap = Cldr._availableBundleMap,
availableBundleMapQueue = Cldr._availableBundleMapQueue;
if ( availableBundleMapQueue.length ) {
arrayForEach( availableBundleMapQueue, function( bundle ) {
var existing, maxBundle, minBundle, subtags;
subtags = coreSubtags( bundle );
maxBundle = coreLikelySubtags( Cldr, cldr, subtags );
minBundle = coreRemoveLikelySubtags( Cldr, cldr, maxBundle );
minBundle = minBundle.join( Cldr.localeSep );
existing = availableBundleMapQueue[ minBundle ];
if ( existing && existing.length < bundle.length ) {
return;
}
availableBundleMap[ minBundle ] = bundle;
});
Cldr._availableBundleMapQueue = [];
}
return availableBundleMap[ minLanguageId ] || null;
};
var objectKeys = function( object ) {
var i,
result = [];
if ( Object.keys ) {
return Object.keys( object );
}
for ( i in object ) {
result.push( i );
}
return result;
};
var createError = function( code, attributes ) {
var error, message;
message = code + ( attributes && JSON ? ": " + JSON.stringify( attributes ) : "" );
error = new Error( message );
error.code = code;
// extend( error, attributes );
arrayForEach( objectKeys( attributes ), function( attribute ) {
error[ attribute ] = attributes[ attribute ];
});
return error;
};
var validate = function( code, check, attributes ) {
if ( !check ) {
throw createError( code, attributes );
}
};
var validatePresence = function( value, name ) {
validate( "E_MISSING_PARAMETER", typeof value !== "undefined", {
name: name
});
};
var validateType = function( value, name, check, expected ) {
validate( "E_INVALID_PAR_TYPE", check, {
expected: expected,
name: name,
value: value
});
};
var validateTypePath = function( value, name ) {
validateType( value, name, typeof value === "string" || arrayIsArray( value ), "String or Array" );
};
/**
* Function inspired by jQuery Core, but reduced to our use case.
*/
var isPlainObject = function( obj ) {
return obj !== null && "" + obj === "[object Object]";
};
var validateTypePlainObject = function( value, name ) {
validateType( value, name, typeof value === "undefined" || isPlainObject( value ), "Plain Object" );
};
var validateTypeString = function( value, name ) {
validateType( value, name, typeof value === "string", "a string" );
};
// @path: normalized path
var resourceGet = function( data, path ) {
var i,
node = data,
length = path.length;
for ( i = 0; i < length - 1; i++ ) {
node = node[ path[ i ] ];
if ( !node ) {
return undefined;
}
}
return node[ path[ i ] ];
};
/**
* setAvailableBundles( Cldr, json )
*
* @Cldr [Cldr class]
*
* @json resolved/unresolved cldr data.
*
* Set available bundles queue based on passed json CLDR data. Considers a bundle as any String at /main/{bundle}.
*/
var coreSetAvailableBundles = function( Cldr, json ) {
var bundle,
availableBundleMapQueue = Cldr._availableBundleMapQueue,
main = resourceGet( json, [ "main" ] );
if ( main ) {
for ( bundle in main ) {
if ( main.hasOwnProperty( bundle ) && bundle !== "root" &&
availableBundleMapQueue.indexOf( bundle ) === -1 ) {
availableBundleMapQueue.push( bundle );
}
}
}
};
var alwaysArray = function( somethingOrArray ) {
return arrayIsArray( somethingOrArray ) ? somethingOrArray : [ somethingOrArray ];
};
var jsonMerge = (function() {
// Returns new deeply merged JSON.
//
// Eg.
// merge( { a: { b: 1, c: 2 } }, { a: { b: 3, d: 4 } } )
// -> { a: { b: 3, c: 2, d: 4 } }
//
// @arguments JSON's
//
var merge = function() {
var destination = {},
sources = [].slice.call( arguments, 0 );
arrayForEach( sources, function( source ) {
var prop;
for ( prop in source ) {
if ( prop in destination && typeof destination[ prop ] === "object" && !arrayIsArray( destination[ prop ] ) ) {
// Merge Objects
destination[ prop ] = merge( destination[ prop ], source[ prop ] );
} else {
// Set new values
destination[ prop ] = source[ prop ];
}
}
});
return destination;
};
return merge;
}());
/**
* load( Cldr, source, jsons )
*
* @Cldr [Cldr class]
*
* @source [Object]
*
* @jsons [arguments]
*/
var coreLoad = function( Cldr, source, jsons ) {
var i, j, json;
validatePresence( jsons[ 0 ], "json" );
// Support arbitrary parameters, e.g., `Cldr.load({...}, {...})`.
for ( i = 0; i < jsons.length; i++ ) {
// Support array parameters, e.g., `Cldr.load([{...}, {...}])`.
json = alwaysArray( jsons[ i ] );
for ( j = 0; j < json.length; j++ ) {
validateTypePlainObject( json[ j ], "json" );
source = jsonMerge( source, json[ j ] );
coreSetAvailableBundles( Cldr, json[ j ] );
}
}
return source;
};
var itemGetResolved = function( Cldr, path, attributes ) {
// Resolve path
var normalizedPath = pathNormalize( path, attributes );
return resourceGet( Cldr._resolved, normalizedPath );
};
/**
* new Cldr()
*/
var Cldr = function( locale ) {
this.init( locale );
};
// Build optimization hack to avoid duplicating functions across modules.
Cldr._alwaysArray = alwaysArray;
Cldr._coreLoad = coreLoad;
Cldr._createError = createError;
Cldr._itemGetResolved = itemGetResolved;
Cldr._jsonMerge = jsonMerge;
Cldr._pathNormalize = pathNormalize;
Cldr._resourceGet = resourceGet;
Cldr._validatePresence = validatePresence;
Cldr._validateType = validateType;
Cldr._validateTypePath = validateTypePath;
Cldr._validateTypePlainObject = validateTypePlainObject;
Cldr._availableBundleMap = {};
Cldr._availableBundleMapQueue = [];
Cldr._resolved = {};
// Allow user to override locale separator "-" (default) | "_". According to http://www.unicode.org/reports/tr35/#Unicode_language_identifier, both "-" and "_" are valid locale separators (eg. "en_GB", "en-GB"). According to http://unicode.org/cldr/trac/ticket/6786 its usage must be consistent throughout the data set.
Cldr.localeSep = "-";
/**
* Cldr.load( json [, json, ...] )
*
* @json [JSON] CLDR data or [Array] Array of @json's.
*
* Load resolved cldr data.
*/
Cldr.load = function() {
Cldr._resolved = coreLoad( Cldr, Cldr._resolved, arguments );
};
/**
* .init() automatically run on instantiation/construction.
*/
Cldr.prototype.init = function( locale ) {
var attributes, language, maxLanguageId, minLanguageId, script, subtags, territory, unicodeLocaleExtensions, variant,
sep = Cldr.localeSep;
validatePresence( locale, "locale" );
validateTypeString( locale, "locale" );
subtags = coreSubtags( locale );
unicodeLocaleExtensions = subtags[ 4 ];
variant = subtags[ 3 ];
// Normalize locale code.
// Get (or deduce) the "triple subtags": language, territory (also aliased as region), and script subtags.
// Get the variant subtags (calendar, collation, currency, etc).
// refs:
// - http://www.unicode.org/reports/tr35/#Field_Definitions
// - http://www.unicode.org/reports/tr35/#Language_and_Locale_IDs
// - http://www.unicode.org/reports/tr35/#Unicode_locale_identifier
// When a locale id does not specify a language, or territory (region), or script, they are obtained by Likely Subtags.
maxLanguageId = coreLikelySubtags( Cldr, this, subtags, { force: true } ) || subtags;
language = maxLanguageId[ 0 ];
script = maxLanguageId[ 1 ];
territory = maxLanguageId[ 2 ];
minLanguageId = coreRemoveLikelySubtags( Cldr, this, maxLanguageId ).join( sep );
// Set attributes
this.attributes = attributes = {
bundle: bundleLookup( Cldr, this, minLanguageId ),
// Unicode Language Id
minlanguageId: minLanguageId,
maxLanguageId: maxLanguageId.join( sep ),
// Unicode Language Id Subtabs
language: language,
script: script,
territory: territory,
region: territory, /* alias */
variant: variant
};
// Unicode locale extensions.
unicodeLocaleExtensions && ( "-" + unicodeLocaleExtensions ).replace( /-[a-z]{3,8}|(-[a-z]{2})-([a-z]{3,8})/g, function( attribute, key, type ) {
if ( key ) {
// Extension is in the `keyword` form.
attributes[ "u" + key ] = type;
} else {
// Extension is in the `attribute` form.
attributes[ "u" + attribute ] = true;
}
});
this.locale = locale;
};
/**
* .get()
*/
Cldr.prototype.get = function( path ) {
validatePresence( path, "path" );
validateTypePath( path, "path" );
return itemGetResolved( Cldr, path, this.attributes );
};
/**
* .main()
*/
Cldr.prototype.main = function( path ) {
validatePresence( path, "path" );
validateTypePath( path, "path" );
validate( "E_MISSING_BUNDLE", this.attributes.bundle !== null, {
locale: this.locale
});
path = alwaysArray( path );
return this.get( [ "main/{bundle}" ].concat( path ) );
};
return Cldr;
}));
+585
View File
@@ -0,0 +1,585 @@
/**
* CLDR JavaScript Library v0.4.4
* http://jquery.com/
*
* Copyright 2013 Rafael Xavier de Souza
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2016-01-18T12:25Z
*/
/*!
* CLDR JavaScript Library v0.4.4 2016-01-18T12:25Z MIT license © Rafael Xavier
* http://git.io/h4lmVg
*/
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD.
define( [ "../cldr" ], factory );
} else if ( typeof module === "object" && typeof module.exports === "object" ) {
// Node. CommonJS.
module.exports = factory( require( "cldrjs" ) );
} else {
// Global
factory( Cldr );
}
}(function( Cldr ) {
// Build optimization hack to avoid duplicating functions across modules.
var pathNormalize = Cldr._pathNormalize,
validatePresence = Cldr._validatePresence,
validateType = Cldr._validateType;
/*!
* EventEmitter v4.2.7 - git.io/ee
* Oliver Caldwell
* MIT license
* @preserve
*/
var EventEmitter;
/* jshint ignore:start */
EventEmitter = (function () {
/**
* Class for managing events.
* Can be extended to provide event functionality in other classes.
*
* @class EventEmitter Manages event registering and emitting.
*/
function EventEmitter() {}
// Shortcuts to improve speed and size
var proto = EventEmitter.prototype;
var exports = this;
var originalGlobalValue = exports.EventEmitter;
/**
* Finds the index of the listener for the event in it's storage array.
*
* @param {Function[]} listeners Array of listeners to search through.
* @param {Function} listener Method to look for.
* @return {Number} Index of the specified listener, -1 if not found
* @api private
*/
function indexOfListener(listeners, listener) {
var i = listeners.length;
while (i--) {
if (listeners[i].listener === listener) {
return i;
}
}
return -1;
}
/**
* Alias a method while keeping the context correct, to allow for overwriting of target method.
*
* @param {String} name The name of the target method.
* @return {Function} The aliased method
* @api private
*/
function alias(name) {
return function aliasClosure() {
return this[name].apply(this, arguments);
};
}
/**
* Returns the listener array for the specified event.
* Will initialise the event object and listener arrays if required.
* Will return an object if you use a regex search. The object contains keys for each matched event. So /ba[rz]/ might return an object containing bar and baz. But only if you have either defined them with defineEvent or added some listeners to them.
* Each property in the object response is an array of listener functions.
*
* @param {String|RegExp} evt Name of the event to return the listeners from.
* @return {Function[]|Object} All listener functions for the event.
*/
proto.getListeners = function getListeners(evt) {
var events = this._getEvents();
var response;
var key;
// Return a concatenated array of all matching events if
// the selector is a regular expression.
if (evt instanceof RegExp) {
response = {};
for (key in events) {
if (events.hasOwnProperty(key) && evt.test(key)) {
response[key] = events[key];
}
}
}
else {
response = events[evt] || (events[evt] = []);
}
return response;
};
/**
* Takes a list of listener objects and flattens it into a list of listener functions.
*
* @param {Object[]} listeners Raw listener objects.
* @return {Function[]} Just the listener functions.
*/
proto.flattenListeners = function flattenListeners(listeners) {
var flatListeners = [];
var i;
for (i = 0; i < listeners.length; i += 1) {
flatListeners.push(listeners[i].listener);
}
return flatListeners;
};
/**
* Fetches the requested listeners via getListeners but will always return the results inside an object. This is mainly for internal use but others may find it useful.
*
* @param {String|RegExp} evt Name of the event to return the listeners from.
* @return {Object} All listener functions for an event in an object.
*/
proto.getListenersAsObject = function getListenersAsObject(evt) {
var listeners = this.getListeners(evt);
var response;
if (listeners instanceof Array) {
response = {};
response[evt] = listeners;
}
return response || listeners;
};
/**
* Adds a listener function to the specified event.
* The listener will not be added if it is a duplicate.
* If the listener returns true then it will be removed after it is called.
* If you pass a regular expression as the event name then the listener will be added to all events that match it.
*
* @param {String|RegExp} evt Name of the event to attach the listener to.
* @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.addListener = function addListener(evt, listener) {
var listeners = this.getListenersAsObject(evt);
var listenerIsWrapped = typeof listener === 'object';
var key;
for (key in listeners) {
if (listeners.hasOwnProperty(key) && indexOfListener(listeners[key], listener) === -1) {
listeners[key].push(listenerIsWrapped ? listener : {
listener: listener,
once: false
});
}
}
return this;
};
/**
* Alias of addListener
*/
proto.on = alias('addListener');
/**
* Semi-alias of addListener. It will add a listener that will be
* automatically removed after it's first execution.
*
* @param {String|RegExp} evt Name of the event to attach the listener to.
* @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.addOnceListener = function addOnceListener(evt, listener) {
return this.addListener(evt, {
listener: listener,
once: true
});
};
/**
* Alias of addOnceListener.
*/
proto.once = alias('addOnceListener');
/**
* Defines an event name. This is required if you want to use a regex to add a listener to multiple events at once. If you don't do this then how do you expect it to know what event to add to? Should it just add to every possible match for a regex? No. That is scary and bad.
* You need to tell it what event names should be matched by a regex.
*
* @param {String} evt Name of the event to create.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.defineEvent = function defineEvent(evt) {
this.getListeners(evt);
return this;
};
/**
* Uses defineEvent to define multiple events.
*
* @param {String[]} evts An array of event names to define.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.defineEvents = function defineEvents(evts) {
for (var i = 0; i < evts.length; i += 1) {
this.defineEvent(evts[i]);
}
return this;
};
/**
* Removes a listener function from the specified event.
* When passed a regular expression as the event name, it will remove the listener from all events that match it.
*
* @param {String|RegExp} evt Name of the event to remove the listener from.
* @param {Function} listener Method to remove from the event.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.removeListener = function removeListener(evt, listener) {
var listeners = this.getListenersAsObject(evt);
var index;
var key;
for (key in listeners) {
if (listeners.hasOwnProperty(key)) {
index = indexOfListener(listeners[key], listener);
if (index !== -1) {
listeners[key].splice(index, 1);
}
}
}
return this;
};
/**
* Alias of removeListener
*/
proto.off = alias('removeListener');
/**
* Adds listeners in bulk using the manipulateListeners method.
* If you pass an object as the second argument you can add to multiple events at once. The object should contain key value pairs of events and listeners or listener arrays. You can also pass it an event name and an array of listeners to be added.
* You can also pass it a regular expression to add the array of listeners to all events that match it.
* Yeah, this function does quite a bit. That's probably a bad thing.
*
* @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add to multiple events at once.
* @param {Function[]} [listeners] An optional array of listener functions to add.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.addListeners = function addListeners(evt, listeners) {
// Pass through to manipulateListeners
return this.manipulateListeners(false, evt, listeners);
};
/**
* Removes listeners in bulk using the manipulateListeners method.
* If you pass an object as the second argument you can remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.
* You can also pass it an event name and an array of listeners to be removed.
* You can also pass it a regular expression to remove the listeners from all events that match it.
*
* @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to remove from multiple events at once.
* @param {Function[]} [listeners] An optional array of listener functions to remove.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.removeListeners = function removeListeners(evt, listeners) {
// Pass through to manipulateListeners
return this.manipulateListeners(true, evt, listeners);
};
/**
* Edits listeners in bulk. The addListeners and removeListeners methods both use this to do their job. You should really use those instead, this is a little lower level.
* The first argument will determine if the listeners are removed (true) or added (false).
* If you pass an object as the second argument you can add/remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.
* You can also pass it an event name and an array of listeners to be added/removed.
* You can also pass it a regular expression to manipulate the listeners of all events that match it.
*
* @param {Boolean} remove True if you want to remove listeners, false if you want to add.
* @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add/remove from multiple events at once.
* @param {Function[]} [listeners] An optional array of listener functions to add/remove.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.manipulateListeners = function manipulateListeners(remove, evt, listeners) {
var i;
var value;
var single = remove ? this.removeListener : this.addListener;
var multiple = remove ? this.removeListeners : this.addListeners;
// If evt is an object then pass each of it's properties to this method
if (typeof evt === 'object' && !(evt instanceof RegExp)) {
for (i in evt) {
if (evt.hasOwnProperty(i) && (value = evt[i])) {
// Pass the single listener straight through to the singular method
if (typeof value === 'function') {
single.call(this, i, value);
}
else {
// Otherwise pass back to the multiple function
multiple.call(this, i, value);
}
}
}
}
else {
// So evt must be a string
// And listeners must be an array of listeners
// Loop over it and pass each one to the multiple method
i = listeners.length;
while (i--) {
single.call(this, evt, listeners[i]);
}
}
return this;
};
/**
* Removes all listeners from a specified event.
* If you do not specify an event then all listeners will be removed.
* That means every event will be emptied.
* You can also pass a regex to remove all events that match it.
*
* @param {String|RegExp} [evt] Optional name of the event to remove all listeners for. Will remove from every event if not passed.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.removeEvent = function removeEvent(evt) {
var type = typeof evt;
var events = this._getEvents();
var key;
// Remove different things depending on the state of evt
if (type === 'string') {
// Remove all listeners for the specified event
delete events[evt];
}
else if (evt instanceof RegExp) {
// Remove all events matching the regex.
for (key in events) {
if (events.hasOwnProperty(key) && evt.test(key)) {
delete events[key];
}
}
}
else {
// Remove all listeners in all events
delete this._events;
}
return this;
};
/**
* Alias of removeEvent.
*
* Added to mirror the node API.
*/
proto.removeAllListeners = alias('removeEvent');
/**
* Emits an event of your choice.
* When emitted, every listener attached to that event will be executed.
* If you pass the optional argument array then those arguments will be passed to every listener upon execution.
* Because it uses `apply`, your array of arguments will be passed as if you wrote them out separately.
* So they will not arrive within the array on the other side, they will be separate.
* You can also pass a regular expression to emit to all events that match it.
*
* @param {String|RegExp} evt Name of the event to emit and execute listeners for.
* @param {Array} [args] Optional array of arguments to be passed to each listener.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.emitEvent = function emitEvent(evt, args) {
var listeners = this.getListenersAsObject(evt);
var listener;
var i;
var key;
var response;
for (key in listeners) {
if (listeners.hasOwnProperty(key)) {
i = listeners[key].length;
while (i--) {
// If the listener returns true then it shall be removed from the event
// The function is executed either with a basic call or an apply if there is an args array
listener = listeners[key][i];
if (listener.once === true) {
this.removeListener(evt, listener.listener);
}
response = listener.listener.apply(this, args || []);
if (response === this._getOnceReturnValue()) {
this.removeListener(evt, listener.listener);
}
}
}
}
return this;
};
/**
* Alias of emitEvent
*/
proto.trigger = alias('emitEvent');
/**
* Subtly different from emitEvent in that it will pass its arguments on to the listeners, as opposed to taking a single array of arguments to pass on.
* As with emitEvent, you can pass a regex in place of the event name to emit to all events that match it.
*
* @param {String|RegExp} evt Name of the event to emit and execute listeners for.
* @param {...*} Optional additional arguments to be passed to each listener.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.emit = function emit(evt) {
var args = Array.prototype.slice.call(arguments, 1);
return this.emitEvent(evt, args);
};
/**
* Sets the current value to check against when executing listeners. If a
* listeners return value matches the one set here then it will be removed
* after execution. This value defaults to true.
*
* @param {*} value The new value to check for when executing listeners.
* @return {Object} Current instance of EventEmitter for chaining.
*/
proto.setOnceReturnValue = function setOnceReturnValue(value) {
this._onceReturnValue = value;
return this;
};
/**
* Fetches the current value to check against when executing listeners. If
* the listeners return value matches this one then it should be removed
* automatically. It will return true by default.
*
* @return {*|Boolean} The current value to check for or the default, true.
* @api private
*/
proto._getOnceReturnValue = function _getOnceReturnValue() {
if (this.hasOwnProperty('_onceReturnValue')) {
return this._onceReturnValue;
}
else {
return true;
}
};
/**
* Fetches the events object and creates one if required.
*
* @return {Object} The events storage object.
* @api private
*/
proto._getEvents = function _getEvents() {
return this._events || (this._events = {});
};
/**
* Reverts the global {@link EventEmitter} to its previous value and returns a reference to this version.
*
* @return {Function} Non conflicting EventEmitter class.
*/
EventEmitter.noConflict = function noConflict() {
exports.EventEmitter = originalGlobalValue;
return EventEmitter;
};
return EventEmitter;
}());
/* jshint ignore:end */
var validateTypeFunction = function( value, name ) {
validateType( value, name, typeof value === "undefined" || typeof value === "function", "Function" );
};
var superGet, superInit,
globalEe = new EventEmitter();
function validateTypeEvent( value, name ) {
validateType( value, name, typeof value === "string" || value instanceof RegExp, "String or RegExp" );
}
function validateThenCall( method, self ) {
return function( event, listener ) {
validatePresence( event, "event" );
validateTypeEvent( event, "event" );
validatePresence( listener, "listener" );
validateTypeFunction( listener, "listener" );
return self[ method ].apply( self, arguments );
};
}
function off( self ) {
return validateThenCall( "off", self );
}
function on( self ) {
return validateThenCall( "on", self );
}
function once( self ) {
return validateThenCall( "once", self );
}
Cldr.off = off( globalEe );
Cldr.on = on( globalEe );
Cldr.once = once( globalEe );
/**
* Overload Cldr.prototype.init().
*/
superInit = Cldr.prototype.init;
Cldr.prototype.init = function() {
var ee;
this.ee = ee = new EventEmitter();
this.off = off( ee );
this.on = on( ee );
this.once = once( ee );
superInit.apply( this, arguments );
};
/**
* getOverload is encapsulated, because of cldr/unresolved. If it's loaded
* after cldr/event (and note it overwrites .get), it can trigger this
* overload again.
*/
function getOverload() {
/**
* Overload Cldr.prototype.get().
*/
superGet = Cldr.prototype.get;
Cldr.prototype.get = function( path ) {
var value = superGet.apply( this, arguments );
path = pathNormalize( path, this.attributes ).join( "/" );
globalEe.trigger( "get", [ path, value ] );
this.ee.trigger( "get", [ path, value ] );
return value;
};
}
Cldr._eventInit = getOverload;
getOverload();
return Cldr;
}));
+101
View File
@@ -0,0 +1,101 @@
/**
* CLDR JavaScript Library v0.4.4
* http://jquery.com/
*
* Copyright 2013 Rafael Xavier de Souza
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2016-01-18T12:25Z
*/
/*!
* CLDR JavaScript Library v0.4.4 2016-01-18T12:25Z MIT license © Rafael Xavier
* http://git.io/h4lmVg
*/
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD.
define( [ "../cldr" ], factory );
} else if ( typeof module === "object" && typeof module.exports === "object" ) {
// Node. CommonJS.
module.exports = factory( require( "cldrjs" ) );
} else {
// Global
factory( Cldr );
}
}(function( Cldr ) {
// Build optimization hack to avoid duplicating functions across modules.
var alwaysArray = Cldr._alwaysArray;
var supplementalMain = function( cldr ) {
var prepend, supplemental;
prepend = function( prepend ) {
return function( path ) {
path = alwaysArray( path );
return cldr.get( [ prepend ].concat( path ) );
};
};
supplemental = prepend( "supplemental" );
// Week Data
// http://www.unicode.org/reports/tr35/tr35-dates.html#Week_Data
supplemental.weekData = prepend( "supplemental/weekData" );
supplemental.weekData.firstDay = function() {
return cldr.get( "supplemental/weekData/firstDay/{territory}" ) ||
cldr.get( "supplemental/weekData/firstDay/001" );
};
supplemental.weekData.minDays = function() {
var minDays = cldr.get( "supplemental/weekData/minDays/{territory}" ) ||
cldr.get( "supplemental/weekData/minDays/001" );
return parseInt( minDays, 10 );
};
// Time Data
// http://www.unicode.org/reports/tr35/tr35-dates.html#Time_Data
supplemental.timeData = prepend( "supplemental/timeData" );
supplemental.timeData.allowed = function() {
return cldr.get( "supplemental/timeData/{territory}/_allowed" ) ||
cldr.get( "supplemental/timeData/001/_allowed" );
};
supplemental.timeData.preferred = function() {
return cldr.get( "supplemental/timeData/{territory}/_preferred" ) ||
cldr.get( "supplemental/timeData/001/_preferred" );
};
return supplemental;
};
var initSuper = Cldr.prototype.init;
/**
* .init() automatically ran on construction.
*
* Overload .init().
*/
Cldr.prototype.init = function() {
initSuper.apply( this, arguments );
this.supplemental = supplementalMain( this );
};
return Cldr;
}));
+164
View File
@@ -0,0 +1,164 @@
/**
* CLDR JavaScript Library v0.4.4
* http://jquery.com/
*
* Copyright 2013 Rafael Xavier de Souza
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2016-01-18T12:25Z
*/
/*!
* CLDR JavaScript Library v0.4.4 2016-01-18T12:25Z MIT license © Rafael Xavier
* http://git.io/h4lmVg
*/
(function( factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD.
define( [ "../cldr" ], factory );
} else if ( typeof module === "object" && typeof module.exports === "object" ) {
// Node. CommonJS.
module.exports = factory( require( "cldrjs" ) );
} else {
// Global
factory( Cldr );
}
}(function( Cldr ) {
// Build optimization hack to avoid duplicating functions across modules.
var coreLoad = Cldr._coreLoad;
var jsonMerge = Cldr._jsonMerge;
var pathNormalize = Cldr._pathNormalize;
var resourceGet = Cldr._resourceGet;
var validatePresence = Cldr._validatePresence;
var validateTypePath = Cldr._validateTypePath;
var bundleParentLookup = function( Cldr, locale ) {
var normalizedPath, parent;
if ( locale === "root" ) {
return;
}
// First, try to find parent on supplemental data.
normalizedPath = pathNormalize( [ "supplemental/parentLocales/parentLocale", locale ] );
parent = resourceGet( Cldr._resolved, normalizedPath ) || resourceGet( Cldr._raw, normalizedPath );
if ( parent ) {
return parent;
}
// Or truncate locale.
parent = locale.substr( 0, locale.lastIndexOf( Cldr.localeSep ) );
if ( !parent ) {
return "root";
}
return parent;
};
// @path: normalized path
var resourceSet = function( data, path, value ) {
var i,
node = data,
length = path.length;
for ( i = 0; i < length - 1; i++ ) {
if ( !node[ path[ i ] ] ) {
node[ path[ i ] ] = {};
}
node = node[ path[ i ] ];
}
node[ path[ i ] ] = value;
};
var itemLookup = (function() {
var lookup;
lookup = function( Cldr, locale, path, attributes, childLocale ) {
var normalizedPath, parent, value;
// 1: Finish recursion
// 2: Avoid infinite loop
if ( typeof locale === "undefined" /* 1 */ || locale === childLocale /* 2 */ ) {
return;
}
// Resolve path
normalizedPath = pathNormalize( path, attributes );
// Check resolved (cached) data first
// 1: Due to #16, never use the cached resolved non-leaf nodes. It may not
// represent its leafs in its entirety.
value = resourceGet( Cldr._resolved, normalizedPath );
if ( value && typeof value !== "object" /* 1 */ ) {
return value;
}
// Check raw data
value = resourceGet( Cldr._raw, normalizedPath );
if ( !value ) {
// Or, lookup at parent locale
parent = bundleParentLookup( Cldr, locale );
value = lookup( Cldr, parent, path, jsonMerge( attributes, { bundle: parent }), locale );
}
if ( value ) {
// Set resolved (cached)
resourceSet( Cldr._resolved, normalizedPath, value );
}
return value;
};
return lookup;
}());
Cldr._raw = {};
/**
* Cldr.load( json [, json, ...] )
*
* @json [JSON] CLDR data or [Array] Array of @json's.
*
* Load resolved or unresolved cldr data.
* Overwrite Cldr.load().
*/
Cldr.load = function() {
Cldr._raw = coreLoad( Cldr, Cldr._raw, arguments );
};
/**
* Overwrite Cldr.prototype.get().
*/
Cldr.prototype.get = function( path ) {
validatePresence( path, "path" );
validateTypePath( path, "path" );
// 1: use bundle as locale on item lookup for simplification purposes, because no other extended subtag is used anyway on bundle parent lookup.
// 2: during init(), this method is called, but bundle is yet not defined. Use "" as a workaround in this very specific scenario.
return itemLookup( Cldr, this.attributes && this.attributes.bundle /* 1 */ || "" /* 2 */, path, this.attributes );
};
// In case cldr/unresolved is loaded after cldr/event, we trigger its overloads again. Because, .get is overwritten in here.
if ( Cldr._eventInit ) {
Cldr._eventInit();
}
return Cldr;
}));
+421
View File
@@ -0,0 +1,421 @@
/**
* Globalize v1.1.1
*
* http://github.com/jquery/globalize
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2016-02-04T12:01Z
*/
/*!
* Globalize v1.1.1 2016-02-04T12:01Z Released under the MIT license
* http://git.io/TrdQbw
*/
(function( root, factory ) {
// UMD returnExports
if ( typeof define === "function" && define.amd ) {
// AMD
define([
"cldr",
"cldr/event"
], factory );
} else if ( typeof exports === "object" ) {
// Node, CommonJS
module.exports = factory( require( "cldrjs" ) );
} else {
// Global
root.Globalize = factory( root.Cldr );
}
}( this, function( Cldr ) {
/**
* A toString method that outputs meaningful values for objects or arrays and
* still performs as fast as a plain string in case variable is string, or as
* fast as `"" + number` in case variable is a number.
* Ref: http://jsperf.com/my-stringify
*/
var toString = function( variable ) {
return typeof variable === "string" ? variable : ( typeof variable === "number" ? "" +
variable : JSON.stringify( variable ) );
};
/**
* formatMessage( message, data )
*
* @message [String] A message with optional {vars} to be replaced.
*
* @data [Array or JSON] Object with replacing-variables content.
*
* Return the formatted message. For example:
*
* - formatMessage( "{0} second", [ 1 ] ); // 1 second
*
* - formatMessage( "{0}/{1}", ["m", "s"] ); // m/s
*
* - formatMessage( "{name} <{email}>", {
* name: "Foo",
* email: "bar@baz.qux"
* }); // Foo <bar@baz.qux>
*/
var formatMessage = function( message, data ) {
// Replace {attribute}'s
message = message.replace( /{[0-9a-zA-Z-_. ]+}/g, function( name ) {
name = name.replace( /^{([^}]*)}$/, "$1" );
return toString( data[ name ] );
});
return message;
};
var objectExtend = function() {
var destination = arguments[ 0 ],
sources = [].slice.call( arguments, 1 );
sources.forEach(function( source ) {
var prop;
for ( prop in source ) {
destination[ prop ] = source[ prop ];
}
});
return destination;
};
var createError = function( code, message, attributes ) {
var error;
message = code + ( message ? ": " + formatMessage( message, attributes ) : "" );
error = new Error( message );
error.code = code;
objectExtend( error, attributes );
return error;
};
// Based on http://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript-jquery
var stringHash = function( str ) {
return [].reduce.call( str, function( hash, i ) {
var chr = i.charCodeAt( 0 );
hash = ( ( hash << 5 ) - hash ) + chr;
return hash | 0;
}, 0 );
};
var runtimeKey = function( fnName, locale, args, argsStr ) {
var hash;
argsStr = argsStr || JSON.stringify( args );
hash = stringHash( fnName + locale + argsStr );
return hash > 0 ? "a" + hash : "b" + Math.abs( hash );
};
var functionName = function( fn ) {
if ( fn.name !== undefined ) {
return fn.name;
}
// fn.name is not supported by IE.
var matches = /^function\s+([\w\$]+)\s*\(/.exec( fn.toString() );
if ( matches && matches.length > 0 ) {
return matches[ 1 ];
}
};
var runtimeBind = function( args, cldr, fn, runtimeArgs ) {
var argsStr = JSON.stringify( args ),
fnName = functionName( fn ),
locale = cldr.locale;
// If name of the function is not available, this is most likely due uglification,
// which most likely means we are in production, and runtimeBind here is not necessary.
if ( !fnName ) {
return fn;
}
fn.runtimeKey = runtimeKey( fnName, locale, null, argsStr );
fn.generatorString = function() {
return "Globalize(\"" + locale + "\")." + fnName + "(" + argsStr.slice( 1, -1 ) + ")";
};
fn.runtimeArgs = runtimeArgs;
return fn;
};
var validate = function( code, message, check, attributes ) {
if ( !check ) {
throw createError( code, message, attributes );
}
};
var alwaysArray = function( stringOrArray ) {
return Array.isArray( stringOrArray ) ? stringOrArray : stringOrArray ? [ stringOrArray ] : [];
};
var validateCldr = function( path, value, options ) {
var skipBoolean;
options = options || {};
skipBoolean = alwaysArray( options.skip ).some(function( pathRe ) {
return pathRe.test( path );
});
validate( "E_MISSING_CLDR", "Missing required CLDR content `{path}`.", value || skipBoolean, {
path: path
});
};
var validateDefaultLocale = function( value ) {
validate( "E_DEFAULT_LOCALE_NOT_DEFINED", "Default locale has not been defined.",
value !== undefined, {} );
};
var validateParameterPresence = function( value, name ) {
validate( "E_MISSING_PARAMETER", "Missing required parameter `{name}`.",
value !== undefined, { name: name });
};
/**
* range( value, name, minimum, maximum )
*
* @value [Number].
*
* @name [String] name of variable.
*
* @minimum [Number]. The lowest valid value, inclusive.
*
* @maximum [Number]. The greatest valid value, inclusive.
*/
var validateParameterRange = function( value, name, minimum, maximum ) {
validate(
"E_PAR_OUT_OF_RANGE",
"Parameter `{name}` has value `{value}` out of range [{minimum}, {maximum}].",
value === undefined || value >= minimum && value <= maximum,
{
maximum: maximum,
minimum: minimum,
name: name,
value: value
}
);
};
var validateParameterType = function( value, name, check, expected ) {
validate(
"E_INVALID_PAR_TYPE",
"Invalid `{name}` parameter ({value}). {expected} expected.",
check,
{
expected: expected,
name: name,
value: value
}
);
};
var validateParameterTypeLocale = function( value, name ) {
validateParameterType(
value,
name,
value === undefined || typeof value === "string" || value instanceof Cldr,
"String or Cldr instance"
);
};
/**
* Function inspired by jQuery Core, but reduced to our use case.
*/
var isPlainObject = function( obj ) {
return obj !== null && "" + obj === "[object Object]";
};
var validateParameterTypePlainObject = function( value, name ) {
validateParameterType(
value,
name,
value === undefined || isPlainObject( value ),
"Plain Object"
);
};
var alwaysCldr = function( localeOrCldr ) {
return localeOrCldr instanceof Cldr ? localeOrCldr : new Cldr( localeOrCldr );
};
// ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions?redirectlocale=en-US&redirectslug=JavaScript%2FGuide%2FRegular_Expressions
var regexpEscape = function( string ) {
return string.replace( /([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1" );
};
var stringPad = function( str, count, right ) {
var length;
if ( typeof str !== "string" ) {
str = String( str );
}
for ( length = str.length; length < count; length += 1 ) {
str = ( right ? ( str + "0" ) : ( "0" + str ) );
}
return str;
};
function validateLikelySubtags( cldr ) {
cldr.once( "get", validateCldr );
cldr.get( "supplemental/likelySubtags" );
}
/**
* [new] Globalize( locale|cldr )
*
* @locale [String]
*
* @cldr [Cldr instance]
*
* Create a Globalize instance.
*/
function Globalize( locale ) {
if ( !( this instanceof Globalize ) ) {
return new Globalize( locale );
}
validateParameterPresence( locale, "locale" );
validateParameterTypeLocale( locale, "locale" );
this.cldr = alwaysCldr( locale );
validateLikelySubtags( this.cldr );
}
/**
* Globalize.load( json, ... )
*
* @json [JSON]
*
* Load resolved or unresolved cldr data.
* Somewhat equivalent to previous Globalize.addCultureInfo(...).
*/
Globalize.load = function() {
// validations are delegated to Cldr.load().
Cldr.load.apply( Cldr, arguments );
};
/**
* Globalize.locale( [locale|cldr] )
*
* @locale [String]
*
* @cldr [Cldr instance]
*
* Set default Cldr instance if locale or cldr argument is passed.
*
* Return the default Cldr instance.
*/
Globalize.locale = function( locale ) {
validateParameterTypeLocale( locale, "locale" );
if ( arguments.length ) {
this.cldr = alwaysCldr( locale );
validateLikelySubtags( this.cldr );
}
return this.cldr;
};
/**
* Optimization to avoid duplicating some internal functions across modules.
*/
Globalize._alwaysArray = alwaysArray;
Globalize._createError = createError;
Globalize._formatMessage = formatMessage;
Globalize._isPlainObject = isPlainObject;
Globalize._objectExtend = objectExtend;
Globalize._regexpEscape = regexpEscape;
Globalize._runtimeBind = runtimeBind;
Globalize._stringPad = stringPad;
Globalize._validate = validate;
Globalize._validateCldr = validateCldr;
Globalize._validateDefaultLocale = validateDefaultLocale;
Globalize._validateParameterPresence = validateParameterPresence;
Globalize._validateParameterRange = validateParameterRange;
Globalize._validateParameterTypePlainObject = validateParameterTypePlainObject;
Globalize._validateParameterType = validateParameterType;
return Globalize;
}));
@@ -1,67 +0,0 @@
/*
* Globalize Culture af-ZA
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "af-ZA", "default", {
name: "af-ZA",
englishName: "Afrikaans (South Africa)",
nativeName: "Afrikaans (Suid Afrika)",
language: "af",
numberFormat: {
percent: {
pattern: ["-n%","n%"]
},
currency: {
pattern: ["$-n","$ n"],
symbol: "R"
}
},
calendars: {
standard: {
days: {
names: ["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"],
namesAbbr: ["Son","Maan","Dins","Woen","Dond","Vry","Sat"],
namesShort: ["So","Ma","Di","Wo","Do","Vr","Sa"]
},
months: {
names: ["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember",""],
namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des",""]
},
patterns: {
d: "yyyy/MM/dd",
D: "dd MMMM yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd MMMM yyyy hh:mm tt",
F: "dd MMMM yyyy hh:mm:ss tt",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,67 +0,0 @@
/*
* Globalize Culture af
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "af", "default", {
name: "af",
englishName: "Afrikaans",
nativeName: "Afrikaans",
language: "af",
numberFormat: {
percent: {
pattern: ["-n%","n%"]
},
currency: {
pattern: ["$-n","$ n"],
symbol: "R"
}
},
calendars: {
standard: {
days: {
names: ["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"],
namesAbbr: ["Son","Maan","Dins","Woen","Dond","Vry","Sat"],
namesShort: ["So","Ma","Di","Wo","Do","Vr","Sa"]
},
months: {
names: ["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember",""],
namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des",""]
},
patterns: {
d: "yyyy/MM/dd",
D: "dd MMMM yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd MMMM yyyy hh:mm tt",
F: "dd MMMM yyyy hh:mm:ss tt",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,74 +0,0 @@
/*
* Globalize Culture am-ET
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "am-ET", "default", {
name: "am-ET",
englishName: "Amharic (Ethiopia)",
nativeName: "አማርኛ (ኢትዮጵያ)",
language: "am",
numberFormat: {
decimals: 1,
groupSizes: [3,0],
"NaN": "NAN",
percent: {
pattern: ["-n%","n%"],
decimals: 1,
groupSizes: [3,0]
},
currency: {
pattern: ["-$n","$n"],
groupSizes: [3,0],
symbol: "ETB"
}
},
calendars: {
standard: {
days: {
names: ["እሑድ","ሰኞ","ማክሰኞ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"],
namesAbbr: ["እሑድ","ሰኞ","ማክሰ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"],
namesShort: ["እ","ሰ","ማ","ረ","ሐ","ዓ","ቅ"]
},
months: {
names: ["ጃንዩወሪ","ፌብሩወሪ","ማርች","ኤፕረል","ሜይ","ጁን","ጁላይ","ኦገስት","ሴፕቴምበር","ኦክተውበር","ኖቬምበር","ዲሴምበር",""],
namesAbbr: ["ጃንዩ","ፌብሩ","ማርች","ኤፕረ","ሜይ","ጁን","ጁላይ","ኦገስ","ሴፕቴ","ኦክተ","ኖቬም","ዲሴም",""]
},
AM: ["ጡዋት","ጡዋት","ጡዋት"],
PM: ["ከሰዓት","ከሰዓት","ከሰዓት"],
eras: [{"name":"ዓመተ ምሕረት","start":null,"offset":0}],
patterns: {
d: "d/M/yyyy",
D: "dddd '፣' MMMM d 'ቀን' yyyy",
f: "dddd '፣' MMMM d 'ቀን' yyyy h:mm tt",
F: "dddd '፣' MMMM d 'ቀን' yyyy h:mm:ss tt",
M: "MMMM d ቀን",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,74 +0,0 @@
/*
* Globalize Culture am
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "am", "default", {
name: "am",
englishName: "Amharic",
nativeName: "አማርኛ",
language: "am",
numberFormat: {
decimals: 1,
groupSizes: [3,0],
"NaN": "NAN",
percent: {
pattern: ["-n%","n%"],
decimals: 1,
groupSizes: [3,0]
},
currency: {
pattern: ["-$n","$n"],
groupSizes: [3,0],
symbol: "ETB"
}
},
calendars: {
standard: {
days: {
names: ["እሑድ","ሰኞ","ማክሰኞ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"],
namesAbbr: ["እሑድ","ሰኞ","ማክሰ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"],
namesShort: ["እ","ሰ","ማ","ረ","ሐ","ዓ","ቅ"]
},
months: {
names: ["ጃንዩወሪ","ፌብሩወሪ","ማርች","ኤፕረል","ሜይ","ጁን","ጁላይ","ኦገስት","ሴፕቴምበር","ኦክተውበር","ኖቬምበር","ዲሴምበር",""],
namesAbbr: ["ጃንዩ","ፌብሩ","ማርች","ኤፕረ","ሜይ","ጁን","ጁላይ","ኦገስ","ሴፕቴ","ኦክተ","ኖቬም","ዲሴም",""]
},
AM: ["ጡዋት","ጡዋት","ጡዋት"],
PM: ["ከሰዓት","ከሰዓት","ከሰዓት"],
eras: [{"name":"ዓመተ ምሕረት","start":null,"offset":0}],
patterns: {
d: "d/M/yyyy",
D: "dddd '፣' MMMM d 'ቀን' yyyy",
f: "dddd '፣' MMMM d 'ቀን' yyyy h:mm tt",
F: "dddd '፣' MMMM d 'ቀን' yyyy h:mm:ss tt",
M: "MMMM d ቀን",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,457 +0,0 @@
/*
* Globalize Culture ar-AE
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ar-AE", "default", {
name: "ar-AE",
englishName: "Arabic (U.A.E.)",
nativeName: "العربية (الإمارات العربية المتحدة)",
language: "ar",
isRTL: true,
numberFormat: {
pattern: ["n-"],
"NaN": "ليس برقم",
negativeInfinity: "-لا نهاية",
positiveInfinity: "+لا نهاية",
currency: {
pattern: ["$n-","$ n"],
symbol: "د.إ.\u200f"
}
},
calendars: {
standard: {
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM, yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd MMMM, yyyy hh:mm tt",
F: "dd MMMM, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
UmAlQura: {
name: "UmAlQura",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MMMM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MMMM/yyyy hh:mm tt",
F: "dd/MMMM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
_yearInfo: [
// MonthLengthFlags, Gregorian Date
[746, -2198707200000],
[1769, -2168121600000],
[3794, -2137449600000],
[3748, -2106777600000],
[3402, -2076192000000],
[2710, -2045606400000],
[1334, -2015020800000],
[2741, -1984435200000],
[3498, -1953763200000],
[2980, -1923091200000],
[2889, -1892505600000],
[2707, -1861920000000],
[1323, -1831334400000],
[2647, -1800748800000],
[1206, -1770076800000],
[2741, -1739491200000],
[1450, -1708819200000],
[3413, -1678233600000],
[3370, -1647561600000],
[2646, -1616976000000],
[1198, -1586390400000],
[2397, -1555804800000],
[748, -1525132800000],
[1749, -1494547200000],
[1706, -1463875200000],
[1365, -1433289600000],
[1195, -1402704000000],
[2395, -1372118400000],
[698, -1341446400000],
[1397, -1310860800000],
[2994, -1280188800000],
[1892, -1249516800000],
[1865, -1218931200000],
[1621, -1188345600000],
[683, -1157760000000],
[1371, -1127174400000],
[2778, -1096502400000],
[1748, -1065830400000],
[3785, -1035244800000],
[3474, -1004572800000],
[3365, -973987200000],
[2637, -943401600000],
[685, -912816000000],
[1389, -882230400000],
[2922, -851558400000],
[2898, -820886400000],
[2725, -790300800000],
[2635, -759715200000],
[1175, -729129600000],
[2359, -698544000000],
[694, -667872000000],
[1397, -637286400000],
[3434, -606614400000],
[3410, -575942400000],
[2710, -545356800000],
[2349, -514771200000],
[605, -484185600000],
[1245, -453600000000],
[2778, -422928000000],
[1492, -392256000000],
[3497, -361670400000],
[3410, -330998400000],
[2730, -300412800000],
[1238, -269827200000],
[2486, -239241600000],
[884, -208569600000],
[1897, -177984000000],
[1874, -147312000000],
[1701, -116726400000],
[1355, -86140800000],
[2731, -55555200000],
[1370, -24883200000],
[2773, 5702400000],
[3538, 36374400000],
[3492, 67046400000],
[3401, 97632000000],
[2709, 128217600000],
[1325, 158803200000],
[2653, 189388800000],
[1370, 220060800000],
[2773, 250646400000],
[1706, 281318400000],
[1685, 311904000000],
[1323, 342489600000],
[2647, 373075200000],
[1198, 403747200000],
[2422, 434332800000],
[1388, 465004800000],
[2901, 495590400000],
[2730, 526262400000],
[2645, 556848000000],
[1197, 587433600000],
[2397, 618019200000],
[730, 648691200000],
[1497, 679276800000],
[3506, 709948800000],
[2980, 740620800000],
[2890, 771206400000],
[2645, 801792000000],
[693, 832377600000],
[1397, 862963200000],
[2922, 893635200000],
[3026, 924307200000],
[3012, 954979200000],
[2953, 985564800000],
[2709, 1016150400000],
[1325, 1046736000000],
[1453, 1077321600000],
[2922, 1107993600000],
[1748, 1138665600000],
[3529, 1169251200000],
[3474, 1199923200000],
[2726, 1230508800000],
[2390, 1261094400000],
[686, 1291680000000],
[1389, 1322265600000],
[874, 1352937600000],
[2901, 1383523200000],
[2730, 1414195200000],
[2381, 1444780800000],
[1181, 1475366400000],
[2397, 1505952000000],
[698, 1536624000000],
[1461, 1567209600000],
[1450, 1597881600000],
[3413, 1628467200000],
[2714, 1659139200000],
[2350, 1689724800000],
[622, 1720310400000],
[1373, 1750896000000],
[2778, 1781568000000],
[1748, 1812240000000],
[1701, 1842825600000],
[0, 1873411200000]
],
minDate: -2198707200000,
maxDate: 1873411199999,
toGregorian: function(hyear, hmonth, hday) {
var days = hday - 1,
gyear = hyear - 1318;
if (gyear < 0 || gyear >= this._yearInfo.length) return null;
var info = this._yearInfo[gyear],
gdate = new Date(info[1]),
monthLength = info[0];
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the gregorian date in the same timezone,
// not what the gregorian date was at GMT time, so we adjust for the offset.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
for (var i = 0; i < hmonth; i++) {
days += 29 + (monthLength & 1);
monthLength = monthLength >> 1;
}
gdate.setDate(gdate.getDate() + days);
return gdate;
},
fromGregorian: function(gdate) {
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the hijri date in the same timezone,
// not what the hijri date was at GMT time, so we adjust for the offset.
var ticks = gdate - gdate.getTimezoneOffset() * 60000;
if (ticks < this.minDate || ticks > this.maxDate) return null;
var hyear = 0,
hmonth = 1;
// find the earliest gregorian date in the array that is greater than or equal to the given date
while (ticks > this._yearInfo[++hyear][1]) { }
if (ticks !== this._yearInfo[hyear][1]) {
hyear--;
}
var info = this._yearInfo[hyear],
// how many days has it been since the date we found in the array?
// 86400000 = ticks per day
days = Math.floor((ticks - info[1]) / 86400000),
monthLength = info[0];
hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
// now increment day/month based on the total days, considering
// how many days are in each month. We cannot run past the year
// mark since we would have found a different array entry in that case.
var daysInMonth = 29 + (monthLength & 1);
while (days >= daysInMonth) {
days -= daysInMonth;
monthLength = monthLength >> 1;
daysInMonth = 29 + (monthLength & 1);
hmonth++;
}
// remaining days is less than is in one month, thus is the day of the month we landed on
// hmonth-1 because in javascript months are zero based, stay consistent with that.
return [hyear, hmonth - 1, days + 1];
}
}
},
Hijri: {
name: "Hijri",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MM/yyyy hh:mm tt",
F: "dd/MM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
Gregorian_MiddleEastFrench: {
name: "Gregorian_MiddleEastFrench",
firstDay: 6,
days: {
names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
namesShort: ["di","lu","ma","me","je","ve","sa"]
},
months: {
names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
Gregorian_Arabic: {
name: "Gregorian_Arabic",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
},
Gregorian_TransliteratedFrench: {
name: "Gregorian_TransliteratedFrench",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
}
}
});
}( this ));
@@ -1,462 +0,0 @@
/*
* Globalize Culture ar-BH
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ar-BH", "default", {
name: "ar-BH",
englishName: "Arabic (Bahrain)",
nativeName: "العربية (البحرين)",
language: "ar",
isRTL: true,
numberFormat: {
pattern: ["n-"],
decimals: 3,
"NaN": "ليس برقم",
negativeInfinity: "-لا نهاية",
positiveInfinity: "+لا نهاية",
percent: {
decimals: 3
},
currency: {
pattern: ["$n-","$ n"],
decimals: 3,
symbol: "د.ب.\u200f"
}
},
calendars: {
standard: {
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM, yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd MMMM, yyyy hh:mm tt",
F: "dd MMMM, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
UmAlQura: {
name: "UmAlQura",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MMMM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MMMM/yyyy hh:mm tt",
F: "dd/MMMM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
_yearInfo: [
// MonthLengthFlags, Gregorian Date
[746, -2198707200000],
[1769, -2168121600000],
[3794, -2137449600000],
[3748, -2106777600000],
[3402, -2076192000000],
[2710, -2045606400000],
[1334, -2015020800000],
[2741, -1984435200000],
[3498, -1953763200000],
[2980, -1923091200000],
[2889, -1892505600000],
[2707, -1861920000000],
[1323, -1831334400000],
[2647, -1800748800000],
[1206, -1770076800000],
[2741, -1739491200000],
[1450, -1708819200000],
[3413, -1678233600000],
[3370, -1647561600000],
[2646, -1616976000000],
[1198, -1586390400000],
[2397, -1555804800000],
[748, -1525132800000],
[1749, -1494547200000],
[1706, -1463875200000],
[1365, -1433289600000],
[1195, -1402704000000],
[2395, -1372118400000],
[698, -1341446400000],
[1397, -1310860800000],
[2994, -1280188800000],
[1892, -1249516800000],
[1865, -1218931200000],
[1621, -1188345600000],
[683, -1157760000000],
[1371, -1127174400000],
[2778, -1096502400000],
[1748, -1065830400000],
[3785, -1035244800000],
[3474, -1004572800000],
[3365, -973987200000],
[2637, -943401600000],
[685, -912816000000],
[1389, -882230400000],
[2922, -851558400000],
[2898, -820886400000],
[2725, -790300800000],
[2635, -759715200000],
[1175, -729129600000],
[2359, -698544000000],
[694, -667872000000],
[1397, -637286400000],
[3434, -606614400000],
[3410, -575942400000],
[2710, -545356800000],
[2349, -514771200000],
[605, -484185600000],
[1245, -453600000000],
[2778, -422928000000],
[1492, -392256000000],
[3497, -361670400000],
[3410, -330998400000],
[2730, -300412800000],
[1238, -269827200000],
[2486, -239241600000],
[884, -208569600000],
[1897, -177984000000],
[1874, -147312000000],
[1701, -116726400000],
[1355, -86140800000],
[2731, -55555200000],
[1370, -24883200000],
[2773, 5702400000],
[3538, 36374400000],
[3492, 67046400000],
[3401, 97632000000],
[2709, 128217600000],
[1325, 158803200000],
[2653, 189388800000],
[1370, 220060800000],
[2773, 250646400000],
[1706, 281318400000],
[1685, 311904000000],
[1323, 342489600000],
[2647, 373075200000],
[1198, 403747200000],
[2422, 434332800000],
[1388, 465004800000],
[2901, 495590400000],
[2730, 526262400000],
[2645, 556848000000],
[1197, 587433600000],
[2397, 618019200000],
[730, 648691200000],
[1497, 679276800000],
[3506, 709948800000],
[2980, 740620800000],
[2890, 771206400000],
[2645, 801792000000],
[693, 832377600000],
[1397, 862963200000],
[2922, 893635200000],
[3026, 924307200000],
[3012, 954979200000],
[2953, 985564800000],
[2709, 1016150400000],
[1325, 1046736000000],
[1453, 1077321600000],
[2922, 1107993600000],
[1748, 1138665600000],
[3529, 1169251200000],
[3474, 1199923200000],
[2726, 1230508800000],
[2390, 1261094400000],
[686, 1291680000000],
[1389, 1322265600000],
[874, 1352937600000],
[2901, 1383523200000],
[2730, 1414195200000],
[2381, 1444780800000],
[1181, 1475366400000],
[2397, 1505952000000],
[698, 1536624000000],
[1461, 1567209600000],
[1450, 1597881600000],
[3413, 1628467200000],
[2714, 1659139200000],
[2350, 1689724800000],
[622, 1720310400000],
[1373, 1750896000000],
[2778, 1781568000000],
[1748, 1812240000000],
[1701, 1842825600000],
[0, 1873411200000]
],
minDate: -2198707200000,
maxDate: 1873411199999,
toGregorian: function(hyear, hmonth, hday) {
var days = hday - 1,
gyear = hyear - 1318;
if (gyear < 0 || gyear >= this._yearInfo.length) return null;
var info = this._yearInfo[gyear],
gdate = new Date(info[1]),
monthLength = info[0];
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the gregorian date in the same timezone,
// not what the gregorian date was at GMT time, so we adjust for the offset.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
for (var i = 0; i < hmonth; i++) {
days += 29 + (monthLength & 1);
monthLength = monthLength >> 1;
}
gdate.setDate(gdate.getDate() + days);
return gdate;
},
fromGregorian: function(gdate) {
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the hijri date in the same timezone,
// not what the hijri date was at GMT time, so we adjust for the offset.
var ticks = gdate - gdate.getTimezoneOffset() * 60000;
if (ticks < this.minDate || ticks > this.maxDate) return null;
var hyear = 0,
hmonth = 1;
// find the earliest gregorian date in the array that is greater than or equal to the given date
while (ticks > this._yearInfo[++hyear][1]) { }
if (ticks !== this._yearInfo[hyear][1]) {
hyear--;
}
var info = this._yearInfo[hyear],
// how many days has it been since the date we found in the array?
// 86400000 = ticks per day
days = Math.floor((ticks - info[1]) / 86400000),
monthLength = info[0];
hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
// now increment day/month based on the total days, considering
// how many days are in each month. We cannot run past the year
// mark since we would have found a different array entry in that case.
var daysInMonth = 29 + (monthLength & 1);
while (days >= daysInMonth) {
days -= daysInMonth;
monthLength = monthLength >> 1;
daysInMonth = 29 + (monthLength & 1);
hmonth++;
}
// remaining days is less than is in one month, thus is the day of the month we landed on
// hmonth-1 because in javascript months are zero based, stay consistent with that.
return [hyear, hmonth - 1, days + 1];
}
}
},
Hijri: {
name: "Hijri",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MM/yyyy hh:mm tt",
F: "dd/MM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
Gregorian_MiddleEastFrench: {
name: "Gregorian_MiddleEastFrench",
firstDay: 6,
days: {
names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
namesShort: ["di","lu","ma","me","je","ve","sa"]
},
months: {
names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
Gregorian_Arabic: {
name: "Gregorian_Arabic",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
},
Gregorian_TransliteratedFrench: {
name: "Gregorian_TransliteratedFrench",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
}
}
});
}( this ));
@@ -1,458 +0,0 @@
/*
* Globalize Culture ar-DZ
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ar-DZ", "default", {
name: "ar-DZ",
englishName: "Arabic (Algeria)",
nativeName: "العربية (الجزائر)",
language: "ar",
isRTL: true,
numberFormat: {
pattern: ["n-"],
"NaN": "ليس برقم",
negativeInfinity: "-لا نهاية",
positiveInfinity: "+لا نهاية",
currency: {
pattern: ["$n-","$ n"],
symbol: "د.ج.\u200f"
}
},
calendars: {
standard: {
"/": "-",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
patterns: {
d: "dd-MM-yyyy",
D: "dd MMMM, yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dd MMMM, yyyy H:mm",
F: "dd MMMM, yyyy H:mm:ss",
M: "dd MMMM"
}
},
Hijri: {
name: "Hijri",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dd/MM/yyyy H:mm",
F: "dd/MM/yyyy H:mm:ss",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
UmAlQura: {
name: "UmAlQura",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MMMM/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dd/MMMM/yyyy H:mm",
F: "dd/MMMM/yyyy H:mm:ss",
M: "dd MMMM"
},
convert: {
_yearInfo: [
// MonthLengthFlags, Gregorian Date
[746, -2198707200000],
[1769, -2168121600000],
[3794, -2137449600000],
[3748, -2106777600000],
[3402, -2076192000000],
[2710, -2045606400000],
[1334, -2015020800000],
[2741, -1984435200000],
[3498, -1953763200000],
[2980, -1923091200000],
[2889, -1892505600000],
[2707, -1861920000000],
[1323, -1831334400000],
[2647, -1800748800000],
[1206, -1770076800000],
[2741, -1739491200000],
[1450, -1708819200000],
[3413, -1678233600000],
[3370, -1647561600000],
[2646, -1616976000000],
[1198, -1586390400000],
[2397, -1555804800000],
[748, -1525132800000],
[1749, -1494547200000],
[1706, -1463875200000],
[1365, -1433289600000],
[1195, -1402704000000],
[2395, -1372118400000],
[698, -1341446400000],
[1397, -1310860800000],
[2994, -1280188800000],
[1892, -1249516800000],
[1865, -1218931200000],
[1621, -1188345600000],
[683, -1157760000000],
[1371, -1127174400000],
[2778, -1096502400000],
[1748, -1065830400000],
[3785, -1035244800000],
[3474, -1004572800000],
[3365, -973987200000],
[2637, -943401600000],
[685, -912816000000],
[1389, -882230400000],
[2922, -851558400000],
[2898, -820886400000],
[2725, -790300800000],
[2635, -759715200000],
[1175, -729129600000],
[2359, -698544000000],
[694, -667872000000],
[1397, -637286400000],
[3434, -606614400000],
[3410, -575942400000],
[2710, -545356800000],
[2349, -514771200000],
[605, -484185600000],
[1245, -453600000000],
[2778, -422928000000],
[1492, -392256000000],
[3497, -361670400000],
[3410, -330998400000],
[2730, -300412800000],
[1238, -269827200000],
[2486, -239241600000],
[884, -208569600000],
[1897, -177984000000],
[1874, -147312000000],
[1701, -116726400000],
[1355, -86140800000],
[2731, -55555200000],
[1370, -24883200000],
[2773, 5702400000],
[3538, 36374400000],
[3492, 67046400000],
[3401, 97632000000],
[2709, 128217600000],
[1325, 158803200000],
[2653, 189388800000],
[1370, 220060800000],
[2773, 250646400000],
[1706, 281318400000],
[1685, 311904000000],
[1323, 342489600000],
[2647, 373075200000],
[1198, 403747200000],
[2422, 434332800000],
[1388, 465004800000],
[2901, 495590400000],
[2730, 526262400000],
[2645, 556848000000],
[1197, 587433600000],
[2397, 618019200000],
[730, 648691200000],
[1497, 679276800000],
[3506, 709948800000],
[2980, 740620800000],
[2890, 771206400000],
[2645, 801792000000],
[693, 832377600000],
[1397, 862963200000],
[2922, 893635200000],
[3026, 924307200000],
[3012, 954979200000],
[2953, 985564800000],
[2709, 1016150400000],
[1325, 1046736000000],
[1453, 1077321600000],
[2922, 1107993600000],
[1748, 1138665600000],
[3529, 1169251200000],
[3474, 1199923200000],
[2726, 1230508800000],
[2390, 1261094400000],
[686, 1291680000000],
[1389, 1322265600000],
[874, 1352937600000],
[2901, 1383523200000],
[2730, 1414195200000],
[2381, 1444780800000],
[1181, 1475366400000],
[2397, 1505952000000],
[698, 1536624000000],
[1461, 1567209600000],
[1450, 1597881600000],
[3413, 1628467200000],
[2714, 1659139200000],
[2350, 1689724800000],
[622, 1720310400000],
[1373, 1750896000000],
[2778, 1781568000000],
[1748, 1812240000000],
[1701, 1842825600000],
[0, 1873411200000]
],
minDate: -2198707200000,
maxDate: 1873411199999,
toGregorian: function(hyear, hmonth, hday) {
var days = hday - 1,
gyear = hyear - 1318;
if (gyear < 0 || gyear >= this._yearInfo.length) return null;
var info = this._yearInfo[gyear],
gdate = new Date(info[1]),
monthLength = info[0];
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the gregorian date in the same timezone,
// not what the gregorian date was at GMT time, so we adjust for the offset.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
for (var i = 0; i < hmonth; i++) {
days += 29 + (monthLength & 1);
monthLength = monthLength >> 1;
}
gdate.setDate(gdate.getDate() + days);
return gdate;
},
fromGregorian: function(gdate) {
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the hijri date in the same timezone,
// not what the hijri date was at GMT time, so we adjust for the offset.
var ticks = gdate - gdate.getTimezoneOffset() * 60000;
if (ticks < this.minDate || ticks > this.maxDate) return null;
var hyear = 0,
hmonth = 1;
// find the earliest gregorian date in the array that is greater than or equal to the given date
while (ticks > this._yearInfo[++hyear][1]) { }
if (ticks !== this._yearInfo[hyear][1]) {
hyear--;
}
var info = this._yearInfo[hyear],
// how many days has it been since the date we found in the array?
// 86400000 = ticks per day
days = Math.floor((ticks - info[1]) / 86400000),
monthLength = info[0];
hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
// now increment day/month based on the total days, considering
// how many days are in each month. We cannot run past the year
// mark since we would have found a different array entry in that case.
var daysInMonth = 29 + (monthLength & 1);
while (days >= daysInMonth) {
days -= daysInMonth;
monthLength = monthLength >> 1;
daysInMonth = 29 + (monthLength & 1);
hmonth++;
}
// remaining days is less than is in one month, thus is the day of the month we landed on
// hmonth-1 because in javascript months are zero based, stay consistent with that.
return [hyear, hmonth - 1, days + 1];
}
}
},
Gregorian_MiddleEastFrench: {
name: "Gregorian_MiddleEastFrench",
firstDay: 6,
days: {
names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
namesShort: ["di","lu","ma","me","je","ve","sa"]
},
months: {
names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dddd, MMMM dd, yyyy H:mm",
F: "dddd, MMMM dd, yyyy H:mm:ss",
M: "dd MMMM"
}
},
Gregorian_Arabic: {
name: "Gregorian_Arabic",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dddd, MMMM dd, yyyy H:mm",
F: "dddd, MMMM dd, yyyy H:mm:ss"
}
},
Gregorian_TransliteratedEnglish: {
name: "Gregorian_TransliteratedEnglish",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["أ","ا","ث","أ","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dddd, MMMM dd, yyyy H:mm",
F: "dddd, MMMM dd, yyyy H:mm:ss"
}
}
}
});
}( this ));
@@ -1,484 +0,0 @@
/*
* Globalize Culture ar-EG
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ar-EG", "default", {
name: "ar-EG",
englishName: "Arabic (Egypt)",
nativeName: "العربية (مصر)",
language: "ar",
isRTL: true,
numberFormat: {
pattern: ["n-"],
decimals: 3,
"NaN": "ليس برقم",
negativeInfinity: "-لا نهاية",
positiveInfinity: "+لا نهاية",
percent: {
decimals: 3
},
currency: {
pattern: ["$n-","$ n"],
symbol: "ج.م.\u200f"
}
},
calendars: {
standard: {
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM, yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd MMMM, yyyy hh:mm tt",
F: "dd MMMM, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
UmAlQura: {
name: "UmAlQura",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MMMM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MMMM/yyyy hh:mm tt",
F: "dd/MMMM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
_yearInfo: [
// MonthLengthFlags, Gregorian Date
[746, -2198707200000],
[1769, -2168121600000],
[3794, -2137449600000],
[3748, -2106777600000],
[3402, -2076192000000],
[2710, -2045606400000],
[1334, -2015020800000],
[2741, -1984435200000],
[3498, -1953763200000],
[2980, -1923091200000],
[2889, -1892505600000],
[2707, -1861920000000],
[1323, -1831334400000],
[2647, -1800748800000],
[1206, -1770076800000],
[2741, -1739491200000],
[1450, -1708819200000],
[3413, -1678233600000],
[3370, -1647561600000],
[2646, -1616976000000],
[1198, -1586390400000],
[2397, -1555804800000],
[748, -1525132800000],
[1749, -1494547200000],
[1706, -1463875200000],
[1365, -1433289600000],
[1195, -1402704000000],
[2395, -1372118400000],
[698, -1341446400000],
[1397, -1310860800000],
[2994, -1280188800000],
[1892, -1249516800000],
[1865, -1218931200000],
[1621, -1188345600000],
[683, -1157760000000],
[1371, -1127174400000],
[2778, -1096502400000],
[1748, -1065830400000],
[3785, -1035244800000],
[3474, -1004572800000],
[3365, -973987200000],
[2637, -943401600000],
[685, -912816000000],
[1389, -882230400000],
[2922, -851558400000],
[2898, -820886400000],
[2725, -790300800000],
[2635, -759715200000],
[1175, -729129600000],
[2359, -698544000000],
[694, -667872000000],
[1397, -637286400000],
[3434, -606614400000],
[3410, -575942400000],
[2710, -545356800000],
[2349, -514771200000],
[605, -484185600000],
[1245, -453600000000],
[2778, -422928000000],
[1492, -392256000000],
[3497, -361670400000],
[3410, -330998400000],
[2730, -300412800000],
[1238, -269827200000],
[2486, -239241600000],
[884, -208569600000],
[1897, -177984000000],
[1874, -147312000000],
[1701, -116726400000],
[1355, -86140800000],
[2731, -55555200000],
[1370, -24883200000],
[2773, 5702400000],
[3538, 36374400000],
[3492, 67046400000],
[3401, 97632000000],
[2709, 128217600000],
[1325, 158803200000],
[2653, 189388800000],
[1370, 220060800000],
[2773, 250646400000],
[1706, 281318400000],
[1685, 311904000000],
[1323, 342489600000],
[2647, 373075200000],
[1198, 403747200000],
[2422, 434332800000],
[1388, 465004800000],
[2901, 495590400000],
[2730, 526262400000],
[2645, 556848000000],
[1197, 587433600000],
[2397, 618019200000],
[730, 648691200000],
[1497, 679276800000],
[3506, 709948800000],
[2980, 740620800000],
[2890, 771206400000],
[2645, 801792000000],
[693, 832377600000],
[1397, 862963200000],
[2922, 893635200000],
[3026, 924307200000],
[3012, 954979200000],
[2953, 985564800000],
[2709, 1016150400000],
[1325, 1046736000000],
[1453, 1077321600000],
[2922, 1107993600000],
[1748, 1138665600000],
[3529, 1169251200000],
[3474, 1199923200000],
[2726, 1230508800000],
[2390, 1261094400000],
[686, 1291680000000],
[1389, 1322265600000],
[874, 1352937600000],
[2901, 1383523200000],
[2730, 1414195200000],
[2381, 1444780800000],
[1181, 1475366400000],
[2397, 1505952000000],
[698, 1536624000000],
[1461, 1567209600000],
[1450, 1597881600000],
[3413, 1628467200000],
[2714, 1659139200000],
[2350, 1689724800000],
[622, 1720310400000],
[1373, 1750896000000],
[2778, 1781568000000],
[1748, 1812240000000],
[1701, 1842825600000],
[0, 1873411200000]
],
minDate: -2198707200000,
maxDate: 1873411199999,
toGregorian: function(hyear, hmonth, hday) {
var days = hday - 1,
gyear = hyear - 1318;
if (gyear < 0 || gyear >= this._yearInfo.length) return null;
var info = this._yearInfo[gyear],
gdate = new Date(info[1]),
monthLength = info[0];
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the gregorian date in the same timezone,
// not what the gregorian date was at GMT time, so we adjust for the offset.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
for (var i = 0; i < hmonth; i++) {
days += 29 + (monthLength & 1);
monthLength = monthLength >> 1;
}
gdate.setDate(gdate.getDate() + days);
return gdate;
},
fromGregorian: function(gdate) {
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the hijri date in the same timezone,
// not what the hijri date was at GMT time, so we adjust for the offset.
var ticks = gdate - gdate.getTimezoneOffset() * 60000;
if (ticks < this.minDate || ticks > this.maxDate) return null;
var hyear = 0,
hmonth = 1;
// find the earliest gregorian date in the array that is greater than or equal to the given date
while (ticks > this._yearInfo[++hyear][1]) { }
if (ticks !== this._yearInfo[hyear][1]) {
hyear--;
}
var info = this._yearInfo[hyear],
// how many days has it been since the date we found in the array?
// 86400000 = ticks per day
days = Math.floor((ticks - info[1]) / 86400000),
monthLength = info[0];
hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
// now increment day/month based on the total days, considering
// how many days are in each month. We cannot run past the year
// mark since we would have found a different array entry in that case.
var daysInMonth = 29 + (monthLength & 1);
while (days >= daysInMonth) {
days -= daysInMonth;
monthLength = monthLength >> 1;
daysInMonth = 29 + (monthLength & 1);
hmonth++;
}
// remaining days is less than is in one month, thus is the day of the month we landed on
// hmonth-1 because in javascript months are zero based, stay consistent with that.
return [hyear, hmonth - 1, days + 1];
}
}
},
Gregorian_TransliteratedEnglish: {
name: "Gregorian_TransliteratedEnglish",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["أ","ا","ث","أ","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
},
Hijri: {
name: "Hijri",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MM/yyyy hh:mm tt",
F: "dd/MM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
Gregorian_MiddleEastFrench: {
name: "Gregorian_MiddleEastFrench",
firstDay: 6,
days: {
names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
namesShort: ["di","lu","ma","me","je","ve","sa"]
},
months: {
names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
Gregorian_Arabic: {
name: "Gregorian_Arabic",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
},
Gregorian_TransliteratedFrench: {
name: "Gregorian_TransliteratedFrench",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
}
}
});
}( this ));
@@ -1,457 +0,0 @@
/*
* Globalize Culture ar-IQ
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ar-IQ", "default", {
name: "ar-IQ",
englishName: "Arabic (Iraq)",
nativeName: "العربية (العراق)",
language: "ar",
isRTL: true,
numberFormat: {
pattern: ["n-"],
"NaN": "ليس برقم",
negativeInfinity: "-لا نهاية",
positiveInfinity: "+لا نهاية",
currency: {
pattern: ["$n-","$ n"],
symbol: "د.ع.\u200f"
}
},
calendars: {
standard: {
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM, yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd MMMM, yyyy hh:mm tt",
F: "dd MMMM, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
UmAlQura: {
name: "UmAlQura",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MMMM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MMMM/yyyy hh:mm tt",
F: "dd/MMMM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
_yearInfo: [
// MonthLengthFlags, Gregorian Date
[746, -2198707200000],
[1769, -2168121600000],
[3794, -2137449600000],
[3748, -2106777600000],
[3402, -2076192000000],
[2710, -2045606400000],
[1334, -2015020800000],
[2741, -1984435200000],
[3498, -1953763200000],
[2980, -1923091200000],
[2889, -1892505600000],
[2707, -1861920000000],
[1323, -1831334400000],
[2647, -1800748800000],
[1206, -1770076800000],
[2741, -1739491200000],
[1450, -1708819200000],
[3413, -1678233600000],
[3370, -1647561600000],
[2646, -1616976000000],
[1198, -1586390400000],
[2397, -1555804800000],
[748, -1525132800000],
[1749, -1494547200000],
[1706, -1463875200000],
[1365, -1433289600000],
[1195, -1402704000000],
[2395, -1372118400000],
[698, -1341446400000],
[1397, -1310860800000],
[2994, -1280188800000],
[1892, -1249516800000],
[1865, -1218931200000],
[1621, -1188345600000],
[683, -1157760000000],
[1371, -1127174400000],
[2778, -1096502400000],
[1748, -1065830400000],
[3785, -1035244800000],
[3474, -1004572800000],
[3365, -973987200000],
[2637, -943401600000],
[685, -912816000000],
[1389, -882230400000],
[2922, -851558400000],
[2898, -820886400000],
[2725, -790300800000],
[2635, -759715200000],
[1175, -729129600000],
[2359, -698544000000],
[694, -667872000000],
[1397, -637286400000],
[3434, -606614400000],
[3410, -575942400000],
[2710, -545356800000],
[2349, -514771200000],
[605, -484185600000],
[1245, -453600000000],
[2778, -422928000000],
[1492, -392256000000],
[3497, -361670400000],
[3410, -330998400000],
[2730, -300412800000],
[1238, -269827200000],
[2486, -239241600000],
[884, -208569600000],
[1897, -177984000000],
[1874, -147312000000],
[1701, -116726400000],
[1355, -86140800000],
[2731, -55555200000],
[1370, -24883200000],
[2773, 5702400000],
[3538, 36374400000],
[3492, 67046400000],
[3401, 97632000000],
[2709, 128217600000],
[1325, 158803200000],
[2653, 189388800000],
[1370, 220060800000],
[2773, 250646400000],
[1706, 281318400000],
[1685, 311904000000],
[1323, 342489600000],
[2647, 373075200000],
[1198, 403747200000],
[2422, 434332800000],
[1388, 465004800000],
[2901, 495590400000],
[2730, 526262400000],
[2645, 556848000000],
[1197, 587433600000],
[2397, 618019200000],
[730, 648691200000],
[1497, 679276800000],
[3506, 709948800000],
[2980, 740620800000],
[2890, 771206400000],
[2645, 801792000000],
[693, 832377600000],
[1397, 862963200000],
[2922, 893635200000],
[3026, 924307200000],
[3012, 954979200000],
[2953, 985564800000],
[2709, 1016150400000],
[1325, 1046736000000],
[1453, 1077321600000],
[2922, 1107993600000],
[1748, 1138665600000],
[3529, 1169251200000],
[3474, 1199923200000],
[2726, 1230508800000],
[2390, 1261094400000],
[686, 1291680000000],
[1389, 1322265600000],
[874, 1352937600000],
[2901, 1383523200000],
[2730, 1414195200000],
[2381, 1444780800000],
[1181, 1475366400000],
[2397, 1505952000000],
[698, 1536624000000],
[1461, 1567209600000],
[1450, 1597881600000],
[3413, 1628467200000],
[2714, 1659139200000],
[2350, 1689724800000],
[622, 1720310400000],
[1373, 1750896000000],
[2778, 1781568000000],
[1748, 1812240000000],
[1701, 1842825600000],
[0, 1873411200000]
],
minDate: -2198707200000,
maxDate: 1873411199999,
toGregorian: function(hyear, hmonth, hday) {
var days = hday - 1,
gyear = hyear - 1318;
if (gyear < 0 || gyear >= this._yearInfo.length) return null;
var info = this._yearInfo[gyear],
gdate = new Date(info[1]),
monthLength = info[0];
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the gregorian date in the same timezone,
// not what the gregorian date was at GMT time, so we adjust for the offset.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
for (var i = 0; i < hmonth; i++) {
days += 29 + (monthLength & 1);
monthLength = monthLength >> 1;
}
gdate.setDate(gdate.getDate() + days);
return gdate;
},
fromGregorian: function(gdate) {
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the hijri date in the same timezone,
// not what the hijri date was at GMT time, so we adjust for the offset.
var ticks = gdate - gdate.getTimezoneOffset() * 60000;
if (ticks < this.minDate || ticks > this.maxDate) return null;
var hyear = 0,
hmonth = 1;
// find the earliest gregorian date in the array that is greater than or equal to the given date
while (ticks > this._yearInfo[++hyear][1]) { }
if (ticks !== this._yearInfo[hyear][1]) {
hyear--;
}
var info = this._yearInfo[hyear],
// how many days has it been since the date we found in the array?
// 86400000 = ticks per day
days = Math.floor((ticks - info[1]) / 86400000),
monthLength = info[0];
hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
// now increment day/month based on the total days, considering
// how many days are in each month. We cannot run past the year
// mark since we would have found a different array entry in that case.
var daysInMonth = 29 + (monthLength & 1);
while (days >= daysInMonth) {
days -= daysInMonth;
monthLength = monthLength >> 1;
daysInMonth = 29 + (monthLength & 1);
hmonth++;
}
// remaining days is less than is in one month, thus is the day of the month we landed on
// hmonth-1 because in javascript months are zero based, stay consistent with that.
return [hyear, hmonth - 1, days + 1];
}
}
},
Hijri: {
name: "Hijri",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MM/yyyy hh:mm tt",
F: "dd/MM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
Gregorian_MiddleEastFrench: {
name: "Gregorian_MiddleEastFrench",
firstDay: 6,
days: {
names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
namesShort: ["di","lu","ma","me","je","ve","sa"]
},
months: {
names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
Gregorian_TransliteratedEnglish: {
name: "Gregorian_TransliteratedEnglish",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["أ","ا","ث","أ","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
},
Gregorian_TransliteratedFrench: {
name: "Gregorian_TransliteratedFrench",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
}
}
});
}( this ));
@@ -1,462 +0,0 @@
/*
* Globalize Culture ar-JO
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ar-JO", "default", {
name: "ar-JO",
englishName: "Arabic (Jordan)",
nativeName: "العربية (الأردن)",
language: "ar",
isRTL: true,
numberFormat: {
pattern: ["n-"],
decimals: 3,
"NaN": "ليس برقم",
negativeInfinity: "-لا نهاية",
positiveInfinity: "+لا نهاية",
percent: {
decimals: 3
},
currency: {
pattern: ["$n-","$ n"],
decimals: 3,
symbol: "د.ا.\u200f"
}
},
calendars: {
standard: {
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM, yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd MMMM, yyyy hh:mm tt",
F: "dd MMMM, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
UmAlQura: {
name: "UmAlQura",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MMMM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MMMM/yyyy hh:mm tt",
F: "dd/MMMM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
_yearInfo: [
// MonthLengthFlags, Gregorian Date
[746, -2198707200000],
[1769, -2168121600000],
[3794, -2137449600000],
[3748, -2106777600000],
[3402, -2076192000000],
[2710, -2045606400000],
[1334, -2015020800000],
[2741, -1984435200000],
[3498, -1953763200000],
[2980, -1923091200000],
[2889, -1892505600000],
[2707, -1861920000000],
[1323, -1831334400000],
[2647, -1800748800000],
[1206, -1770076800000],
[2741, -1739491200000],
[1450, -1708819200000],
[3413, -1678233600000],
[3370, -1647561600000],
[2646, -1616976000000],
[1198, -1586390400000],
[2397, -1555804800000],
[748, -1525132800000],
[1749, -1494547200000],
[1706, -1463875200000],
[1365, -1433289600000],
[1195, -1402704000000],
[2395, -1372118400000],
[698, -1341446400000],
[1397, -1310860800000],
[2994, -1280188800000],
[1892, -1249516800000],
[1865, -1218931200000],
[1621, -1188345600000],
[683, -1157760000000],
[1371, -1127174400000],
[2778, -1096502400000],
[1748, -1065830400000],
[3785, -1035244800000],
[3474, -1004572800000],
[3365, -973987200000],
[2637, -943401600000],
[685, -912816000000],
[1389, -882230400000],
[2922, -851558400000],
[2898, -820886400000],
[2725, -790300800000],
[2635, -759715200000],
[1175, -729129600000],
[2359, -698544000000],
[694, -667872000000],
[1397, -637286400000],
[3434, -606614400000],
[3410, -575942400000],
[2710, -545356800000],
[2349, -514771200000],
[605, -484185600000],
[1245, -453600000000],
[2778, -422928000000],
[1492, -392256000000],
[3497, -361670400000],
[3410, -330998400000],
[2730, -300412800000],
[1238, -269827200000],
[2486, -239241600000],
[884, -208569600000],
[1897, -177984000000],
[1874, -147312000000],
[1701, -116726400000],
[1355, -86140800000],
[2731, -55555200000],
[1370, -24883200000],
[2773, 5702400000],
[3538, 36374400000],
[3492, 67046400000],
[3401, 97632000000],
[2709, 128217600000],
[1325, 158803200000],
[2653, 189388800000],
[1370, 220060800000],
[2773, 250646400000],
[1706, 281318400000],
[1685, 311904000000],
[1323, 342489600000],
[2647, 373075200000],
[1198, 403747200000],
[2422, 434332800000],
[1388, 465004800000],
[2901, 495590400000],
[2730, 526262400000],
[2645, 556848000000],
[1197, 587433600000],
[2397, 618019200000],
[730, 648691200000],
[1497, 679276800000],
[3506, 709948800000],
[2980, 740620800000],
[2890, 771206400000],
[2645, 801792000000],
[693, 832377600000],
[1397, 862963200000],
[2922, 893635200000],
[3026, 924307200000],
[3012, 954979200000],
[2953, 985564800000],
[2709, 1016150400000],
[1325, 1046736000000],
[1453, 1077321600000],
[2922, 1107993600000],
[1748, 1138665600000],
[3529, 1169251200000],
[3474, 1199923200000],
[2726, 1230508800000],
[2390, 1261094400000],
[686, 1291680000000],
[1389, 1322265600000],
[874, 1352937600000],
[2901, 1383523200000],
[2730, 1414195200000],
[2381, 1444780800000],
[1181, 1475366400000],
[2397, 1505952000000],
[698, 1536624000000],
[1461, 1567209600000],
[1450, 1597881600000],
[3413, 1628467200000],
[2714, 1659139200000],
[2350, 1689724800000],
[622, 1720310400000],
[1373, 1750896000000],
[2778, 1781568000000],
[1748, 1812240000000],
[1701, 1842825600000],
[0, 1873411200000]
],
minDate: -2198707200000,
maxDate: 1873411199999,
toGregorian: function(hyear, hmonth, hday) {
var days = hday - 1,
gyear = hyear - 1318;
if (gyear < 0 || gyear >= this._yearInfo.length) return null;
var info = this._yearInfo[gyear],
gdate = new Date(info[1]),
monthLength = info[0];
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the gregorian date in the same timezone,
// not what the gregorian date was at GMT time, so we adjust for the offset.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
for (var i = 0; i < hmonth; i++) {
days += 29 + (monthLength & 1);
monthLength = monthLength >> 1;
}
gdate.setDate(gdate.getDate() + days);
return gdate;
},
fromGregorian: function(gdate) {
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the hijri date in the same timezone,
// not what the hijri date was at GMT time, so we adjust for the offset.
var ticks = gdate - gdate.getTimezoneOffset() * 60000;
if (ticks < this.minDate || ticks > this.maxDate) return null;
var hyear = 0,
hmonth = 1;
// find the earliest gregorian date in the array that is greater than or equal to the given date
while (ticks > this._yearInfo[++hyear][1]) { }
if (ticks !== this._yearInfo[hyear][1]) {
hyear--;
}
var info = this._yearInfo[hyear],
// how many days has it been since the date we found in the array?
// 86400000 = ticks per day
days = Math.floor((ticks - info[1]) / 86400000),
monthLength = info[0];
hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
// now increment day/month based on the total days, considering
// how many days are in each month. We cannot run past the year
// mark since we would have found a different array entry in that case.
var daysInMonth = 29 + (monthLength & 1);
while (days >= daysInMonth) {
days -= daysInMonth;
monthLength = monthLength >> 1;
daysInMonth = 29 + (monthLength & 1);
hmonth++;
}
// remaining days is less than is in one month, thus is the day of the month we landed on
// hmonth-1 because in javascript months are zero based, stay consistent with that.
return [hyear, hmonth - 1, days + 1];
}
}
},
Hijri: {
name: "Hijri",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MM/yyyy hh:mm tt",
F: "dd/MM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
Gregorian_MiddleEastFrench: {
name: "Gregorian_MiddleEastFrench",
firstDay: 6,
days: {
names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
namesShort: ["di","lu","ma","me","je","ve","sa"]
},
months: {
names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
Gregorian_TransliteratedEnglish: {
name: "Gregorian_TransliteratedEnglish",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["أ","ا","ث","أ","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
},
Gregorian_TransliteratedFrench: {
name: "Gregorian_TransliteratedFrench",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
}
}
});
}( this ));
@@ -1,457 +0,0 @@
/*
* Globalize Culture ar-LB
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ar-LB", "default", {
name: "ar-LB",
englishName: "Arabic (Lebanon)",
nativeName: "العربية (لبنان)",
language: "ar",
isRTL: true,
numberFormat: {
pattern: ["n-"],
"NaN": "ليس برقم",
negativeInfinity: "-لا نهاية",
positiveInfinity: "+لا نهاية",
currency: {
pattern: ["$n-","$ n"],
symbol: "ل.ل.\u200f"
}
},
calendars: {
standard: {
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM, yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd MMMM, yyyy hh:mm tt",
F: "dd MMMM, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
UmAlQura: {
name: "UmAlQura",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MMMM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MMMM/yyyy hh:mm tt",
F: "dd/MMMM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
_yearInfo: [
// MonthLengthFlags, Gregorian Date
[746, -2198707200000],
[1769, -2168121600000],
[3794, -2137449600000],
[3748, -2106777600000],
[3402, -2076192000000],
[2710, -2045606400000],
[1334, -2015020800000],
[2741, -1984435200000],
[3498, -1953763200000],
[2980, -1923091200000],
[2889, -1892505600000],
[2707, -1861920000000],
[1323, -1831334400000],
[2647, -1800748800000],
[1206, -1770076800000],
[2741, -1739491200000],
[1450, -1708819200000],
[3413, -1678233600000],
[3370, -1647561600000],
[2646, -1616976000000],
[1198, -1586390400000],
[2397, -1555804800000],
[748, -1525132800000],
[1749, -1494547200000],
[1706, -1463875200000],
[1365, -1433289600000],
[1195, -1402704000000],
[2395, -1372118400000],
[698, -1341446400000],
[1397, -1310860800000],
[2994, -1280188800000],
[1892, -1249516800000],
[1865, -1218931200000],
[1621, -1188345600000],
[683, -1157760000000],
[1371, -1127174400000],
[2778, -1096502400000],
[1748, -1065830400000],
[3785, -1035244800000],
[3474, -1004572800000],
[3365, -973987200000],
[2637, -943401600000],
[685, -912816000000],
[1389, -882230400000],
[2922, -851558400000],
[2898, -820886400000],
[2725, -790300800000],
[2635, -759715200000],
[1175, -729129600000],
[2359, -698544000000],
[694, -667872000000],
[1397, -637286400000],
[3434, -606614400000],
[3410, -575942400000],
[2710, -545356800000],
[2349, -514771200000],
[605, -484185600000],
[1245, -453600000000],
[2778, -422928000000],
[1492, -392256000000],
[3497, -361670400000],
[3410, -330998400000],
[2730, -300412800000],
[1238, -269827200000],
[2486, -239241600000],
[884, -208569600000],
[1897, -177984000000],
[1874, -147312000000],
[1701, -116726400000],
[1355, -86140800000],
[2731, -55555200000],
[1370, -24883200000],
[2773, 5702400000],
[3538, 36374400000],
[3492, 67046400000],
[3401, 97632000000],
[2709, 128217600000],
[1325, 158803200000],
[2653, 189388800000],
[1370, 220060800000],
[2773, 250646400000],
[1706, 281318400000],
[1685, 311904000000],
[1323, 342489600000],
[2647, 373075200000],
[1198, 403747200000],
[2422, 434332800000],
[1388, 465004800000],
[2901, 495590400000],
[2730, 526262400000],
[2645, 556848000000],
[1197, 587433600000],
[2397, 618019200000],
[730, 648691200000],
[1497, 679276800000],
[3506, 709948800000],
[2980, 740620800000],
[2890, 771206400000],
[2645, 801792000000],
[693, 832377600000],
[1397, 862963200000],
[2922, 893635200000],
[3026, 924307200000],
[3012, 954979200000],
[2953, 985564800000],
[2709, 1016150400000],
[1325, 1046736000000],
[1453, 1077321600000],
[2922, 1107993600000],
[1748, 1138665600000],
[3529, 1169251200000],
[3474, 1199923200000],
[2726, 1230508800000],
[2390, 1261094400000],
[686, 1291680000000],
[1389, 1322265600000],
[874, 1352937600000],
[2901, 1383523200000],
[2730, 1414195200000],
[2381, 1444780800000],
[1181, 1475366400000],
[2397, 1505952000000],
[698, 1536624000000],
[1461, 1567209600000],
[1450, 1597881600000],
[3413, 1628467200000],
[2714, 1659139200000],
[2350, 1689724800000],
[622, 1720310400000],
[1373, 1750896000000],
[2778, 1781568000000],
[1748, 1812240000000],
[1701, 1842825600000],
[0, 1873411200000]
],
minDate: -2198707200000,
maxDate: 1873411199999,
toGregorian: function(hyear, hmonth, hday) {
var days = hday - 1,
gyear = hyear - 1318;
if (gyear < 0 || gyear >= this._yearInfo.length) return null;
var info = this._yearInfo[gyear],
gdate = new Date(info[1]),
monthLength = info[0];
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the gregorian date in the same timezone,
// not what the gregorian date was at GMT time, so we adjust for the offset.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
for (var i = 0; i < hmonth; i++) {
days += 29 + (monthLength & 1);
monthLength = monthLength >> 1;
}
gdate.setDate(gdate.getDate() + days);
return gdate;
},
fromGregorian: function(gdate) {
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the hijri date in the same timezone,
// not what the hijri date was at GMT time, so we adjust for the offset.
var ticks = gdate - gdate.getTimezoneOffset() * 60000;
if (ticks < this.minDate || ticks > this.maxDate) return null;
var hyear = 0,
hmonth = 1;
// find the earliest gregorian date in the array that is greater than or equal to the given date
while (ticks > this._yearInfo[++hyear][1]) { }
if (ticks !== this._yearInfo[hyear][1]) {
hyear--;
}
var info = this._yearInfo[hyear],
// how many days has it been since the date we found in the array?
// 86400000 = ticks per day
days = Math.floor((ticks - info[1]) / 86400000),
monthLength = info[0];
hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
// now increment day/month based on the total days, considering
// how many days are in each month. We cannot run past the year
// mark since we would have found a different array entry in that case.
var daysInMonth = 29 + (monthLength & 1);
while (days >= daysInMonth) {
days -= daysInMonth;
monthLength = monthLength >> 1;
daysInMonth = 29 + (monthLength & 1);
hmonth++;
}
// remaining days is less than is in one month, thus is the day of the month we landed on
// hmonth-1 because in javascript months are zero based, stay consistent with that.
return [hyear, hmonth - 1, days + 1];
}
}
},
Hijri: {
name: "Hijri",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MM/yyyy hh:mm tt",
F: "dd/MM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
Gregorian_MiddleEastFrench: {
name: "Gregorian_MiddleEastFrench",
firstDay: 1,
days: {
names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
namesShort: ["di","lu","ma","me","je","ve","sa"]
},
months: {
names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
Gregorian_TransliteratedEnglish: {
name: "Gregorian_TransliteratedEnglish",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["أ","ا","ث","أ","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
},
Gregorian_TransliteratedFrench: {
name: "Gregorian_TransliteratedFrench",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
}
}
});
}( this ));
@@ -1,462 +0,0 @@
/*
* Globalize Culture ar-LY
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ar-LY", "default", {
name: "ar-LY",
englishName: "Arabic (Libya)",
nativeName: "العربية (ليبيا)",
language: "ar",
isRTL: true,
numberFormat: {
pattern: ["n-"],
decimals: 3,
"NaN": "ليس برقم",
negativeInfinity: "-لا نهاية",
positiveInfinity: "+لا نهاية",
percent: {
decimals: 3
},
currency: {
pattern: ["$n-","$n"],
decimals: 3,
symbol: "د.ل.\u200f"
}
},
calendars: {
standard: {
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM, yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd MMMM, yyyy hh:mm tt",
F: "dd MMMM, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
Hijri: {
name: "Hijri",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MM/yyyy hh:mm tt",
F: "dd/MM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
UmAlQura: {
name: "UmAlQura",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MMMM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MMMM/yyyy hh:mm tt",
F: "dd/MMMM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
_yearInfo: [
// MonthLengthFlags, Gregorian Date
[746, -2198707200000],
[1769, -2168121600000],
[3794, -2137449600000],
[3748, -2106777600000],
[3402, -2076192000000],
[2710, -2045606400000],
[1334, -2015020800000],
[2741, -1984435200000],
[3498, -1953763200000],
[2980, -1923091200000],
[2889, -1892505600000],
[2707, -1861920000000],
[1323, -1831334400000],
[2647, -1800748800000],
[1206, -1770076800000],
[2741, -1739491200000],
[1450, -1708819200000],
[3413, -1678233600000],
[3370, -1647561600000],
[2646, -1616976000000],
[1198, -1586390400000],
[2397, -1555804800000],
[748, -1525132800000],
[1749, -1494547200000],
[1706, -1463875200000],
[1365, -1433289600000],
[1195, -1402704000000],
[2395, -1372118400000],
[698, -1341446400000],
[1397, -1310860800000],
[2994, -1280188800000],
[1892, -1249516800000],
[1865, -1218931200000],
[1621, -1188345600000],
[683, -1157760000000],
[1371, -1127174400000],
[2778, -1096502400000],
[1748, -1065830400000],
[3785, -1035244800000],
[3474, -1004572800000],
[3365, -973987200000],
[2637, -943401600000],
[685, -912816000000],
[1389, -882230400000],
[2922, -851558400000],
[2898, -820886400000],
[2725, -790300800000],
[2635, -759715200000],
[1175, -729129600000],
[2359, -698544000000],
[694, -667872000000],
[1397, -637286400000],
[3434, -606614400000],
[3410, -575942400000],
[2710, -545356800000],
[2349, -514771200000],
[605, -484185600000],
[1245, -453600000000],
[2778, -422928000000],
[1492, -392256000000],
[3497, -361670400000],
[3410, -330998400000],
[2730, -300412800000],
[1238, -269827200000],
[2486, -239241600000],
[884, -208569600000],
[1897, -177984000000],
[1874, -147312000000],
[1701, -116726400000],
[1355, -86140800000],
[2731, -55555200000],
[1370, -24883200000],
[2773, 5702400000],
[3538, 36374400000],
[3492, 67046400000],
[3401, 97632000000],
[2709, 128217600000],
[1325, 158803200000],
[2653, 189388800000],
[1370, 220060800000],
[2773, 250646400000],
[1706, 281318400000],
[1685, 311904000000],
[1323, 342489600000],
[2647, 373075200000],
[1198, 403747200000],
[2422, 434332800000],
[1388, 465004800000],
[2901, 495590400000],
[2730, 526262400000],
[2645, 556848000000],
[1197, 587433600000],
[2397, 618019200000],
[730, 648691200000],
[1497, 679276800000],
[3506, 709948800000],
[2980, 740620800000],
[2890, 771206400000],
[2645, 801792000000],
[693, 832377600000],
[1397, 862963200000],
[2922, 893635200000],
[3026, 924307200000],
[3012, 954979200000],
[2953, 985564800000],
[2709, 1016150400000],
[1325, 1046736000000],
[1453, 1077321600000],
[2922, 1107993600000],
[1748, 1138665600000],
[3529, 1169251200000],
[3474, 1199923200000],
[2726, 1230508800000],
[2390, 1261094400000],
[686, 1291680000000],
[1389, 1322265600000],
[874, 1352937600000],
[2901, 1383523200000],
[2730, 1414195200000],
[2381, 1444780800000],
[1181, 1475366400000],
[2397, 1505952000000],
[698, 1536624000000],
[1461, 1567209600000],
[1450, 1597881600000],
[3413, 1628467200000],
[2714, 1659139200000],
[2350, 1689724800000],
[622, 1720310400000],
[1373, 1750896000000],
[2778, 1781568000000],
[1748, 1812240000000],
[1701, 1842825600000],
[0, 1873411200000]
],
minDate: -2198707200000,
maxDate: 1873411199999,
toGregorian: function(hyear, hmonth, hday) {
var days = hday - 1,
gyear = hyear - 1318;
if (gyear < 0 || gyear >= this._yearInfo.length) return null;
var info = this._yearInfo[gyear],
gdate = new Date(info[1]),
monthLength = info[0];
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the gregorian date in the same timezone,
// not what the gregorian date was at GMT time, so we adjust for the offset.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
for (var i = 0; i < hmonth; i++) {
days += 29 + (monthLength & 1);
monthLength = monthLength >> 1;
}
gdate.setDate(gdate.getDate() + days);
return gdate;
},
fromGregorian: function(gdate) {
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the hijri date in the same timezone,
// not what the hijri date was at GMT time, so we adjust for the offset.
var ticks = gdate - gdate.getTimezoneOffset() * 60000;
if (ticks < this.minDate || ticks > this.maxDate) return null;
var hyear = 0,
hmonth = 1;
// find the earliest gregorian date in the array that is greater than or equal to the given date
while (ticks > this._yearInfo[++hyear][1]) { }
if (ticks !== this._yearInfo[hyear][1]) {
hyear--;
}
var info = this._yearInfo[hyear],
// how many days has it been since the date we found in the array?
// 86400000 = ticks per day
days = Math.floor((ticks - info[1]) / 86400000),
monthLength = info[0];
hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
// now increment day/month based on the total days, considering
// how many days are in each month. We cannot run past the year
// mark since we would have found a different array entry in that case.
var daysInMonth = 29 + (monthLength & 1);
while (days >= daysInMonth) {
days -= daysInMonth;
monthLength = monthLength >> 1;
daysInMonth = 29 + (monthLength & 1);
hmonth++;
}
// remaining days is less than is in one month, thus is the day of the month we landed on
// hmonth-1 because in javascript months are zero based, stay consistent with that.
return [hyear, hmonth - 1, days + 1];
}
}
},
Gregorian_MiddleEastFrench: {
name: "Gregorian_MiddleEastFrench",
firstDay: 6,
days: {
names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
namesShort: ["di","lu","ma","me","je","ve","sa"]
},
months: {
names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
Gregorian_Arabic: {
name: "Gregorian_Arabic",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
},
Gregorian_TransliteratedFrench: {
name: "Gregorian_TransliteratedFrench",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
}
}
});
}( this ));
@@ -1,458 +0,0 @@
/*
* Globalize Culture ar-MA
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ar-MA", "default", {
name: "ar-MA",
englishName: "Arabic (Morocco)",
nativeName: "العربية (المملكة المغربية)",
language: "ar",
isRTL: true,
numberFormat: {
pattern: ["n-"],
"NaN": "ليس برقم",
negativeInfinity: "-لا نهاية",
positiveInfinity: "+لا نهاية",
currency: {
pattern: ["$n-","$ n"],
symbol: "د.م.\u200f"
}
},
calendars: {
standard: {
"/": "-",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","ماي","يونيو","يوليوز","غشت","شتنبر","أكتوبر","نونبر","دجنبر",""],
namesAbbr: ["يناير","فبراير","مارس","أبريل","ماي","يونيو","يوليوز","غشت","شتنبر","أكتوبر","نونبر","دجنبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
patterns: {
d: "dd-MM-yyyy",
D: "dd MMMM, yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dd MMMM, yyyy H:mm",
F: "dd MMMM, yyyy H:mm:ss",
M: "dd MMMM"
}
},
Hijri: {
name: "Hijri",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dd/MM/yyyy H:mm",
F: "dd/MM/yyyy H:mm:ss",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
UmAlQura: {
name: "UmAlQura",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MMMM/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dd/MMMM/yyyy H:mm",
F: "dd/MMMM/yyyy H:mm:ss",
M: "dd MMMM"
},
convert: {
_yearInfo: [
// MonthLengthFlags, Gregorian Date
[746, -2198707200000],
[1769, -2168121600000],
[3794, -2137449600000],
[3748, -2106777600000],
[3402, -2076192000000],
[2710, -2045606400000],
[1334, -2015020800000],
[2741, -1984435200000],
[3498, -1953763200000],
[2980, -1923091200000],
[2889, -1892505600000],
[2707, -1861920000000],
[1323, -1831334400000],
[2647, -1800748800000],
[1206, -1770076800000],
[2741, -1739491200000],
[1450, -1708819200000],
[3413, -1678233600000],
[3370, -1647561600000],
[2646, -1616976000000],
[1198, -1586390400000],
[2397, -1555804800000],
[748, -1525132800000],
[1749, -1494547200000],
[1706, -1463875200000],
[1365, -1433289600000],
[1195, -1402704000000],
[2395, -1372118400000],
[698, -1341446400000],
[1397, -1310860800000],
[2994, -1280188800000],
[1892, -1249516800000],
[1865, -1218931200000],
[1621, -1188345600000],
[683, -1157760000000],
[1371, -1127174400000],
[2778, -1096502400000],
[1748, -1065830400000],
[3785, -1035244800000],
[3474, -1004572800000],
[3365, -973987200000],
[2637, -943401600000],
[685, -912816000000],
[1389, -882230400000],
[2922, -851558400000],
[2898, -820886400000],
[2725, -790300800000],
[2635, -759715200000],
[1175, -729129600000],
[2359, -698544000000],
[694, -667872000000],
[1397, -637286400000],
[3434, -606614400000],
[3410, -575942400000],
[2710, -545356800000],
[2349, -514771200000],
[605, -484185600000],
[1245, -453600000000],
[2778, -422928000000],
[1492, -392256000000],
[3497, -361670400000],
[3410, -330998400000],
[2730, -300412800000],
[1238, -269827200000],
[2486, -239241600000],
[884, -208569600000],
[1897, -177984000000],
[1874, -147312000000],
[1701, -116726400000],
[1355, -86140800000],
[2731, -55555200000],
[1370, -24883200000],
[2773, 5702400000],
[3538, 36374400000],
[3492, 67046400000],
[3401, 97632000000],
[2709, 128217600000],
[1325, 158803200000],
[2653, 189388800000],
[1370, 220060800000],
[2773, 250646400000],
[1706, 281318400000],
[1685, 311904000000],
[1323, 342489600000],
[2647, 373075200000],
[1198, 403747200000],
[2422, 434332800000],
[1388, 465004800000],
[2901, 495590400000],
[2730, 526262400000],
[2645, 556848000000],
[1197, 587433600000],
[2397, 618019200000],
[730, 648691200000],
[1497, 679276800000],
[3506, 709948800000],
[2980, 740620800000],
[2890, 771206400000],
[2645, 801792000000],
[693, 832377600000],
[1397, 862963200000],
[2922, 893635200000],
[3026, 924307200000],
[3012, 954979200000],
[2953, 985564800000],
[2709, 1016150400000],
[1325, 1046736000000],
[1453, 1077321600000],
[2922, 1107993600000],
[1748, 1138665600000],
[3529, 1169251200000],
[3474, 1199923200000],
[2726, 1230508800000],
[2390, 1261094400000],
[686, 1291680000000],
[1389, 1322265600000],
[874, 1352937600000],
[2901, 1383523200000],
[2730, 1414195200000],
[2381, 1444780800000],
[1181, 1475366400000],
[2397, 1505952000000],
[698, 1536624000000],
[1461, 1567209600000],
[1450, 1597881600000],
[3413, 1628467200000],
[2714, 1659139200000],
[2350, 1689724800000],
[622, 1720310400000],
[1373, 1750896000000],
[2778, 1781568000000],
[1748, 1812240000000],
[1701, 1842825600000],
[0, 1873411200000]
],
minDate: -2198707200000,
maxDate: 1873411199999,
toGregorian: function(hyear, hmonth, hday) {
var days = hday - 1,
gyear = hyear - 1318;
if (gyear < 0 || gyear >= this._yearInfo.length) return null;
var info = this._yearInfo[gyear],
gdate = new Date(info[1]),
monthLength = info[0];
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the gregorian date in the same timezone,
// not what the gregorian date was at GMT time, so we adjust for the offset.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
for (var i = 0; i < hmonth; i++) {
days += 29 + (monthLength & 1);
monthLength = monthLength >> 1;
}
gdate.setDate(gdate.getDate() + days);
return gdate;
},
fromGregorian: function(gdate) {
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the hijri date in the same timezone,
// not what the hijri date was at GMT time, so we adjust for the offset.
var ticks = gdate - gdate.getTimezoneOffset() * 60000;
if (ticks < this.minDate || ticks > this.maxDate) return null;
var hyear = 0,
hmonth = 1;
// find the earliest gregorian date in the array that is greater than or equal to the given date
while (ticks > this._yearInfo[++hyear][1]) { }
if (ticks !== this._yearInfo[hyear][1]) {
hyear--;
}
var info = this._yearInfo[hyear],
// how many days has it been since the date we found in the array?
// 86400000 = ticks per day
days = Math.floor((ticks - info[1]) / 86400000),
monthLength = info[0];
hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
// now increment day/month based on the total days, considering
// how many days are in each month. We cannot run past the year
// mark since we would have found a different array entry in that case.
var daysInMonth = 29 + (monthLength & 1);
while (days >= daysInMonth) {
days -= daysInMonth;
monthLength = monthLength >> 1;
daysInMonth = 29 + (monthLength & 1);
hmonth++;
}
// remaining days is less than is in one month, thus is the day of the month we landed on
// hmonth-1 because in javascript months are zero based, stay consistent with that.
return [hyear, hmonth - 1, days + 1];
}
}
},
Gregorian_MiddleEastFrench: {
name: "Gregorian_MiddleEastFrench",
firstDay: 1,
days: {
names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
namesShort: ["di","lu","ma","me","je","ve","sa"]
},
months: {
names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dddd, MMMM dd, yyyy H:mm",
F: "dddd, MMMM dd, yyyy H:mm:ss",
M: "dd MMMM"
}
},
Gregorian_Arabic: {
name: "Gregorian_Arabic",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dddd, MMMM dd, yyyy H:mm",
F: "dddd, MMMM dd, yyyy H:mm:ss"
}
},
Gregorian_TransliteratedEnglish: {
name: "Gregorian_TransliteratedEnglish",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["أ","ا","ث","أ","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dddd, MMMM dd, yyyy H:mm",
F: "dddd, MMMM dd, yyyy H:mm:ss"
}
}
}
});
}( this ));
@@ -1,457 +0,0 @@
/*
* Globalize Culture ar-QA
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ar-QA", "default", {
name: "ar-QA",
englishName: "Arabic (Qatar)",
nativeName: "العربية (قطر)",
language: "ar",
isRTL: true,
numberFormat: {
pattern: ["n-"],
"NaN": "ليس برقم",
negativeInfinity: "-لا نهاية",
positiveInfinity: "+لا نهاية",
currency: {
pattern: ["$n-","$ n"],
symbol: "ر.ق.\u200f"
}
},
calendars: {
standard: {
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM, yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd MMMM, yyyy hh:mm tt",
F: "dd MMMM, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
UmAlQura: {
name: "UmAlQura",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MMMM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MMMM/yyyy hh:mm tt",
F: "dd/MMMM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
_yearInfo: [
// MonthLengthFlags, Gregorian Date
[746, -2198707200000],
[1769, -2168121600000],
[3794, -2137449600000],
[3748, -2106777600000],
[3402, -2076192000000],
[2710, -2045606400000],
[1334, -2015020800000],
[2741, -1984435200000],
[3498, -1953763200000],
[2980, -1923091200000],
[2889, -1892505600000],
[2707, -1861920000000],
[1323, -1831334400000],
[2647, -1800748800000],
[1206, -1770076800000],
[2741, -1739491200000],
[1450, -1708819200000],
[3413, -1678233600000],
[3370, -1647561600000],
[2646, -1616976000000],
[1198, -1586390400000],
[2397, -1555804800000],
[748, -1525132800000],
[1749, -1494547200000],
[1706, -1463875200000],
[1365, -1433289600000],
[1195, -1402704000000],
[2395, -1372118400000],
[698, -1341446400000],
[1397, -1310860800000],
[2994, -1280188800000],
[1892, -1249516800000],
[1865, -1218931200000],
[1621, -1188345600000],
[683, -1157760000000],
[1371, -1127174400000],
[2778, -1096502400000],
[1748, -1065830400000],
[3785, -1035244800000],
[3474, -1004572800000],
[3365, -973987200000],
[2637, -943401600000],
[685, -912816000000],
[1389, -882230400000],
[2922, -851558400000],
[2898, -820886400000],
[2725, -790300800000],
[2635, -759715200000],
[1175, -729129600000],
[2359, -698544000000],
[694, -667872000000],
[1397, -637286400000],
[3434, -606614400000],
[3410, -575942400000],
[2710, -545356800000],
[2349, -514771200000],
[605, -484185600000],
[1245, -453600000000],
[2778, -422928000000],
[1492, -392256000000],
[3497, -361670400000],
[3410, -330998400000],
[2730, -300412800000],
[1238, -269827200000],
[2486, -239241600000],
[884, -208569600000],
[1897, -177984000000],
[1874, -147312000000],
[1701, -116726400000],
[1355, -86140800000],
[2731, -55555200000],
[1370, -24883200000],
[2773, 5702400000],
[3538, 36374400000],
[3492, 67046400000],
[3401, 97632000000],
[2709, 128217600000],
[1325, 158803200000],
[2653, 189388800000],
[1370, 220060800000],
[2773, 250646400000],
[1706, 281318400000],
[1685, 311904000000],
[1323, 342489600000],
[2647, 373075200000],
[1198, 403747200000],
[2422, 434332800000],
[1388, 465004800000],
[2901, 495590400000],
[2730, 526262400000],
[2645, 556848000000],
[1197, 587433600000],
[2397, 618019200000],
[730, 648691200000],
[1497, 679276800000],
[3506, 709948800000],
[2980, 740620800000],
[2890, 771206400000],
[2645, 801792000000],
[693, 832377600000],
[1397, 862963200000],
[2922, 893635200000],
[3026, 924307200000],
[3012, 954979200000],
[2953, 985564800000],
[2709, 1016150400000],
[1325, 1046736000000],
[1453, 1077321600000],
[2922, 1107993600000],
[1748, 1138665600000],
[3529, 1169251200000],
[3474, 1199923200000],
[2726, 1230508800000],
[2390, 1261094400000],
[686, 1291680000000],
[1389, 1322265600000],
[874, 1352937600000],
[2901, 1383523200000],
[2730, 1414195200000],
[2381, 1444780800000],
[1181, 1475366400000],
[2397, 1505952000000],
[698, 1536624000000],
[1461, 1567209600000],
[1450, 1597881600000],
[3413, 1628467200000],
[2714, 1659139200000],
[2350, 1689724800000],
[622, 1720310400000],
[1373, 1750896000000],
[2778, 1781568000000],
[1748, 1812240000000],
[1701, 1842825600000],
[0, 1873411200000]
],
minDate: -2198707200000,
maxDate: 1873411199999,
toGregorian: function(hyear, hmonth, hday) {
var days = hday - 1,
gyear = hyear - 1318;
if (gyear < 0 || gyear >= this._yearInfo.length) return null;
var info = this._yearInfo[gyear],
gdate = new Date(info[1]),
monthLength = info[0];
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the gregorian date in the same timezone,
// not what the gregorian date was at GMT time, so we adjust for the offset.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
for (var i = 0; i < hmonth; i++) {
days += 29 + (monthLength & 1);
monthLength = monthLength >> 1;
}
gdate.setDate(gdate.getDate() + days);
return gdate;
},
fromGregorian: function(gdate) {
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the hijri date in the same timezone,
// not what the hijri date was at GMT time, so we adjust for the offset.
var ticks = gdate - gdate.getTimezoneOffset() * 60000;
if (ticks < this.minDate || ticks > this.maxDate) return null;
var hyear = 0,
hmonth = 1;
// find the earliest gregorian date in the array that is greater than or equal to the given date
while (ticks > this._yearInfo[++hyear][1]) { }
if (ticks !== this._yearInfo[hyear][1]) {
hyear--;
}
var info = this._yearInfo[hyear],
// how many days has it been since the date we found in the array?
// 86400000 = ticks per day
days = Math.floor((ticks - info[1]) / 86400000),
monthLength = info[0];
hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
// now increment day/month based on the total days, considering
// how many days are in each month. We cannot run past the year
// mark since we would have found a different array entry in that case.
var daysInMonth = 29 + (monthLength & 1);
while (days >= daysInMonth) {
days -= daysInMonth;
monthLength = monthLength >> 1;
daysInMonth = 29 + (monthLength & 1);
hmonth++;
}
// remaining days is less than is in one month, thus is the day of the month we landed on
// hmonth-1 because in javascript months are zero based, stay consistent with that.
return [hyear, hmonth - 1, days + 1];
}
}
},
Hijri: {
name: "Hijri",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MM/yyyy hh:mm tt",
F: "dd/MM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
Gregorian_MiddleEastFrench: {
name: "Gregorian_MiddleEastFrench",
firstDay: 6,
days: {
names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
namesShort: ["di","lu","ma","me","je","ve","sa"]
},
months: {
names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
Gregorian_Arabic: {
name: "Gregorian_Arabic",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
},
Gregorian_TransliteratedFrench: {
name: "Gregorian_TransliteratedFrench",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
}
}
});
}( this ));
@@ -1,457 +0,0 @@
/*
* Globalize Culture ar-SA
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ar-SA", "default", {
name: "ar-SA",
englishName: "Arabic (Saudi Arabia)",
nativeName: "العربية (المملكة العربية السعودية)",
language: "ar",
isRTL: true,
numberFormat: {
pattern: ["n-"],
"NaN": "ليس برقم",
negativeInfinity: "-لا نهاية",
positiveInfinity: "+لا نهاية",
currency: {
pattern: ["$n-","$ n"],
symbol: "ر.س.\u200f"
}
},
calendars: {
standard: {
name: "UmAlQura",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MMMM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MMMM/yyyy hh:mm tt",
F: "dd/MMMM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
_yearInfo: [
// MonthLengthFlags, Gregorian Date
[746, -2198707200000],
[1769, -2168121600000],
[3794, -2137449600000],
[3748, -2106777600000],
[3402, -2076192000000],
[2710, -2045606400000],
[1334, -2015020800000],
[2741, -1984435200000],
[3498, -1953763200000],
[2980, -1923091200000],
[2889, -1892505600000],
[2707, -1861920000000],
[1323, -1831334400000],
[2647, -1800748800000],
[1206, -1770076800000],
[2741, -1739491200000],
[1450, -1708819200000],
[3413, -1678233600000],
[3370, -1647561600000],
[2646, -1616976000000],
[1198, -1586390400000],
[2397, -1555804800000],
[748, -1525132800000],
[1749, -1494547200000],
[1706, -1463875200000],
[1365, -1433289600000],
[1195, -1402704000000],
[2395, -1372118400000],
[698, -1341446400000],
[1397, -1310860800000],
[2994, -1280188800000],
[1892, -1249516800000],
[1865, -1218931200000],
[1621, -1188345600000],
[683, -1157760000000],
[1371, -1127174400000],
[2778, -1096502400000],
[1748, -1065830400000],
[3785, -1035244800000],
[3474, -1004572800000],
[3365, -973987200000],
[2637, -943401600000],
[685, -912816000000],
[1389, -882230400000],
[2922, -851558400000],
[2898, -820886400000],
[2725, -790300800000],
[2635, -759715200000],
[1175, -729129600000],
[2359, -698544000000],
[694, -667872000000],
[1397, -637286400000],
[3434, -606614400000],
[3410, -575942400000],
[2710, -545356800000],
[2349, -514771200000],
[605, -484185600000],
[1245, -453600000000],
[2778, -422928000000],
[1492, -392256000000],
[3497, -361670400000],
[3410, -330998400000],
[2730, -300412800000],
[1238, -269827200000],
[2486, -239241600000],
[884, -208569600000],
[1897, -177984000000],
[1874, -147312000000],
[1701, -116726400000],
[1355, -86140800000],
[2731, -55555200000],
[1370, -24883200000],
[2773, 5702400000],
[3538, 36374400000],
[3492, 67046400000],
[3401, 97632000000],
[2709, 128217600000],
[1325, 158803200000],
[2653, 189388800000],
[1370, 220060800000],
[2773, 250646400000],
[1706, 281318400000],
[1685, 311904000000],
[1323, 342489600000],
[2647, 373075200000],
[1198, 403747200000],
[2422, 434332800000],
[1388, 465004800000],
[2901, 495590400000],
[2730, 526262400000],
[2645, 556848000000],
[1197, 587433600000],
[2397, 618019200000],
[730, 648691200000],
[1497, 679276800000],
[3506, 709948800000],
[2980, 740620800000],
[2890, 771206400000],
[2645, 801792000000],
[693, 832377600000],
[1397, 862963200000],
[2922, 893635200000],
[3026, 924307200000],
[3012, 954979200000],
[2953, 985564800000],
[2709, 1016150400000],
[1325, 1046736000000],
[1453, 1077321600000],
[2922, 1107993600000],
[1748, 1138665600000],
[3529, 1169251200000],
[3474, 1199923200000],
[2726, 1230508800000],
[2390, 1261094400000],
[686, 1291680000000],
[1389, 1322265600000],
[874, 1352937600000],
[2901, 1383523200000],
[2730, 1414195200000],
[2381, 1444780800000],
[1181, 1475366400000],
[2397, 1505952000000],
[698, 1536624000000],
[1461, 1567209600000],
[1450, 1597881600000],
[3413, 1628467200000],
[2714, 1659139200000],
[2350, 1689724800000],
[622, 1720310400000],
[1373, 1750896000000],
[2778, 1781568000000],
[1748, 1812240000000],
[1701, 1842825600000],
[0, 1873411200000]
],
minDate: -2198707200000,
maxDate: 1873411199999,
toGregorian: function(hyear, hmonth, hday) {
var days = hday - 1,
gyear = hyear - 1318;
if (gyear < 0 || gyear >= this._yearInfo.length) return null;
var info = this._yearInfo[gyear],
gdate = new Date(info[1]),
monthLength = info[0];
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the gregorian date in the same timezone,
// not what the gregorian date was at GMT time, so we adjust for the offset.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
for (var i = 0; i < hmonth; i++) {
days += 29 + (monthLength & 1);
monthLength = monthLength >> 1;
}
gdate.setDate(gdate.getDate() + days);
return gdate;
},
fromGregorian: function(gdate) {
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the hijri date in the same timezone,
// not what the hijri date was at GMT time, so we adjust for the offset.
var ticks = gdate - gdate.getTimezoneOffset() * 60000;
if (ticks < this.minDate || ticks > this.maxDate) return null;
var hyear = 0,
hmonth = 1;
// find the earliest gregorian date in the array that is greater than or equal to the given date
while (ticks > this._yearInfo[++hyear][1]) { }
if (ticks !== this._yearInfo[hyear][1]) {
hyear--;
}
var info = this._yearInfo[hyear],
// how many days has it been since the date we found in the array?
// 86400000 = ticks per day
days = Math.floor((ticks - info[1]) / 86400000),
monthLength = info[0];
hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
// now increment day/month based on the total days, considering
// how many days are in each month. We cannot run past the year
// mark since we would have found a different array entry in that case.
var daysInMonth = 29 + (monthLength & 1);
while (days >= daysInMonth) {
days -= daysInMonth;
monthLength = monthLength >> 1;
daysInMonth = 29 + (monthLength & 1);
hmonth++;
}
// remaining days is less than is in one month, thus is the day of the month we landed on
// hmonth-1 because in javascript months are zero based, stay consistent with that.
return [hyear, hmonth - 1, days + 1];
}
}
},
Hijri: {
name: "Hijri",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MM/yyyy hh:mm tt",
F: "dd/MM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
Gregorian_MiddleEastFrench: {
name: "Gregorian_MiddleEastFrench",
firstDay: 6,
days: {
names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
namesShort: ["di","lu","ma","me","je","ve","sa"]
},
months: {
names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
Gregorian_Arabic: {
name: "Gregorian_Arabic",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
},
Gregorian_Localized: {
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM, yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd MMMM, yyyy hh:mm tt",
F: "dd MMMM, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
Gregorian_TransliteratedFrench: {
name: "Gregorian_TransliteratedFrench",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
}
}
});
}( this ));
@@ -1,457 +0,0 @@
/*
* Globalize Culture ar-SY
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ar-SY", "default", {
name: "ar-SY",
englishName: "Arabic (Syria)",
nativeName: "العربية (سوريا)",
language: "ar",
isRTL: true,
numberFormat: {
pattern: ["n-"],
"NaN": "ليس برقم",
negativeInfinity: "-لا نهاية",
positiveInfinity: "+لا نهاية",
currency: {
pattern: ["$n-","$ n"],
symbol: "ل.س.\u200f"
}
},
calendars: {
standard: {
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM, yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd MMMM, yyyy hh:mm tt",
F: "dd MMMM, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
UmAlQura: {
name: "UmAlQura",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MMMM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MMMM/yyyy hh:mm tt",
F: "dd/MMMM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
_yearInfo: [
// MonthLengthFlags, Gregorian Date
[746, -2198707200000],
[1769, -2168121600000],
[3794, -2137449600000],
[3748, -2106777600000],
[3402, -2076192000000],
[2710, -2045606400000],
[1334, -2015020800000],
[2741, -1984435200000],
[3498, -1953763200000],
[2980, -1923091200000],
[2889, -1892505600000],
[2707, -1861920000000],
[1323, -1831334400000],
[2647, -1800748800000],
[1206, -1770076800000],
[2741, -1739491200000],
[1450, -1708819200000],
[3413, -1678233600000],
[3370, -1647561600000],
[2646, -1616976000000],
[1198, -1586390400000],
[2397, -1555804800000],
[748, -1525132800000],
[1749, -1494547200000],
[1706, -1463875200000],
[1365, -1433289600000],
[1195, -1402704000000],
[2395, -1372118400000],
[698, -1341446400000],
[1397, -1310860800000],
[2994, -1280188800000],
[1892, -1249516800000],
[1865, -1218931200000],
[1621, -1188345600000],
[683, -1157760000000],
[1371, -1127174400000],
[2778, -1096502400000],
[1748, -1065830400000],
[3785, -1035244800000],
[3474, -1004572800000],
[3365, -973987200000],
[2637, -943401600000],
[685, -912816000000],
[1389, -882230400000],
[2922, -851558400000],
[2898, -820886400000],
[2725, -790300800000],
[2635, -759715200000],
[1175, -729129600000],
[2359, -698544000000],
[694, -667872000000],
[1397, -637286400000],
[3434, -606614400000],
[3410, -575942400000],
[2710, -545356800000],
[2349, -514771200000],
[605, -484185600000],
[1245, -453600000000],
[2778, -422928000000],
[1492, -392256000000],
[3497, -361670400000],
[3410, -330998400000],
[2730, -300412800000],
[1238, -269827200000],
[2486, -239241600000],
[884, -208569600000],
[1897, -177984000000],
[1874, -147312000000],
[1701, -116726400000],
[1355, -86140800000],
[2731, -55555200000],
[1370, -24883200000],
[2773, 5702400000],
[3538, 36374400000],
[3492, 67046400000],
[3401, 97632000000],
[2709, 128217600000],
[1325, 158803200000],
[2653, 189388800000],
[1370, 220060800000],
[2773, 250646400000],
[1706, 281318400000],
[1685, 311904000000],
[1323, 342489600000],
[2647, 373075200000],
[1198, 403747200000],
[2422, 434332800000],
[1388, 465004800000],
[2901, 495590400000],
[2730, 526262400000],
[2645, 556848000000],
[1197, 587433600000],
[2397, 618019200000],
[730, 648691200000],
[1497, 679276800000],
[3506, 709948800000],
[2980, 740620800000],
[2890, 771206400000],
[2645, 801792000000],
[693, 832377600000],
[1397, 862963200000],
[2922, 893635200000],
[3026, 924307200000],
[3012, 954979200000],
[2953, 985564800000],
[2709, 1016150400000],
[1325, 1046736000000],
[1453, 1077321600000],
[2922, 1107993600000],
[1748, 1138665600000],
[3529, 1169251200000],
[3474, 1199923200000],
[2726, 1230508800000],
[2390, 1261094400000],
[686, 1291680000000],
[1389, 1322265600000],
[874, 1352937600000],
[2901, 1383523200000],
[2730, 1414195200000],
[2381, 1444780800000],
[1181, 1475366400000],
[2397, 1505952000000],
[698, 1536624000000],
[1461, 1567209600000],
[1450, 1597881600000],
[3413, 1628467200000],
[2714, 1659139200000],
[2350, 1689724800000],
[622, 1720310400000],
[1373, 1750896000000],
[2778, 1781568000000],
[1748, 1812240000000],
[1701, 1842825600000],
[0, 1873411200000]
],
minDate: -2198707200000,
maxDate: 1873411199999,
toGregorian: function(hyear, hmonth, hday) {
var days = hday - 1,
gyear = hyear - 1318;
if (gyear < 0 || gyear >= this._yearInfo.length) return null;
var info = this._yearInfo[gyear],
gdate = new Date(info[1]),
monthLength = info[0];
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the gregorian date in the same timezone,
// not what the gregorian date was at GMT time, so we adjust for the offset.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
for (var i = 0; i < hmonth; i++) {
days += 29 + (monthLength & 1);
monthLength = monthLength >> 1;
}
gdate.setDate(gdate.getDate() + days);
return gdate;
},
fromGregorian: function(gdate) {
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the hijri date in the same timezone,
// not what the hijri date was at GMT time, so we adjust for the offset.
var ticks = gdate - gdate.getTimezoneOffset() * 60000;
if (ticks < this.minDate || ticks > this.maxDate) return null;
var hyear = 0,
hmonth = 1;
// find the earliest gregorian date in the array that is greater than or equal to the given date
while (ticks > this._yearInfo[++hyear][1]) { }
if (ticks !== this._yearInfo[hyear][1]) {
hyear--;
}
var info = this._yearInfo[hyear],
// how many days has it been since the date we found in the array?
// 86400000 = ticks per day
days = Math.floor((ticks - info[1]) / 86400000),
monthLength = info[0];
hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
// now increment day/month based on the total days, considering
// how many days are in each month. We cannot run past the year
// mark since we would have found a different array entry in that case.
var daysInMonth = 29 + (monthLength & 1);
while (days >= daysInMonth) {
days -= daysInMonth;
monthLength = monthLength >> 1;
daysInMonth = 29 + (monthLength & 1);
hmonth++;
}
// remaining days is less than is in one month, thus is the day of the month we landed on
// hmonth-1 because in javascript months are zero based, stay consistent with that.
return [hyear, hmonth - 1, days + 1];
}
}
},
Hijri: {
name: "Hijri",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dd/MM/yyyy hh:mm tt",
F: "dd/MM/yyyy hh:mm:ss tt",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
Gregorian_MiddleEastFrench: {
name: "Gregorian_MiddleEastFrench",
firstDay: 6,
days: {
names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
namesShort: ["di","lu","ma","me","je","ve","sa"]
},
months: {
names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt",
M: "dd MMMM"
}
},
Gregorian_TransliteratedEnglish: {
name: "Gregorian_TransliteratedEnglish",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["أ","ا","ث","أ","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
},
Gregorian_TransliteratedFrench: {
name: "Gregorian_TransliteratedFrench",
firstDay: 6,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
}
}
});
}( this ));
@@ -1,463 +0,0 @@
/*
* Globalize Culture ar-TN
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ar-TN", "default", {
name: "ar-TN",
englishName: "Arabic (Tunisia)",
nativeName: "العربية (تونس)",
language: "ar",
isRTL: true,
numberFormat: {
pattern: ["n-"],
decimals: 3,
"NaN": "ليس برقم",
negativeInfinity: "-لا نهاية",
positiveInfinity: "+لا نهاية",
percent: {
decimals: 3
},
currency: {
pattern: ["$n-","$ n"],
decimals: 3,
symbol: "د.ت.\u200f"
}
},
calendars: {
standard: {
"/": "-",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
patterns: {
d: "dd-MM-yyyy",
D: "dd MMMM, yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dd MMMM, yyyy H:mm",
F: "dd MMMM, yyyy H:mm:ss",
M: "dd MMMM"
}
},
Hijri: {
name: "Hijri",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dd/MM/yyyy H:mm",
F: "dd/MM/yyyy H:mm:ss",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
UmAlQura: {
name: "UmAlQura",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""],
namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MMMM/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dd/MMMM/yyyy H:mm",
F: "dd/MMMM/yyyy H:mm:ss",
M: "dd MMMM"
},
convert: {
_yearInfo: [
// MonthLengthFlags, Gregorian Date
[746, -2198707200000],
[1769, -2168121600000],
[3794, -2137449600000],
[3748, -2106777600000],
[3402, -2076192000000],
[2710, -2045606400000],
[1334, -2015020800000],
[2741, -1984435200000],
[3498, -1953763200000],
[2980, -1923091200000],
[2889, -1892505600000],
[2707, -1861920000000],
[1323, -1831334400000],
[2647, -1800748800000],
[1206, -1770076800000],
[2741, -1739491200000],
[1450, -1708819200000],
[3413, -1678233600000],
[3370, -1647561600000],
[2646, -1616976000000],
[1198, -1586390400000],
[2397, -1555804800000],
[748, -1525132800000],
[1749, -1494547200000],
[1706, -1463875200000],
[1365, -1433289600000],
[1195, -1402704000000],
[2395, -1372118400000],
[698, -1341446400000],
[1397, -1310860800000],
[2994, -1280188800000],
[1892, -1249516800000],
[1865, -1218931200000],
[1621, -1188345600000],
[683, -1157760000000],
[1371, -1127174400000],
[2778, -1096502400000],
[1748, -1065830400000],
[3785, -1035244800000],
[3474, -1004572800000],
[3365, -973987200000],
[2637, -943401600000],
[685, -912816000000],
[1389, -882230400000],
[2922, -851558400000],
[2898, -820886400000],
[2725, -790300800000],
[2635, -759715200000],
[1175, -729129600000],
[2359, -698544000000],
[694, -667872000000],
[1397, -637286400000],
[3434, -606614400000],
[3410, -575942400000],
[2710, -545356800000],
[2349, -514771200000],
[605, -484185600000],
[1245, -453600000000],
[2778, -422928000000],
[1492, -392256000000],
[3497, -361670400000],
[3410, -330998400000],
[2730, -300412800000],
[1238, -269827200000],
[2486, -239241600000],
[884, -208569600000],
[1897, -177984000000],
[1874, -147312000000],
[1701, -116726400000],
[1355, -86140800000],
[2731, -55555200000],
[1370, -24883200000],
[2773, 5702400000],
[3538, 36374400000],
[3492, 67046400000],
[3401, 97632000000],
[2709, 128217600000],
[1325, 158803200000],
[2653, 189388800000],
[1370, 220060800000],
[2773, 250646400000],
[1706, 281318400000],
[1685, 311904000000],
[1323, 342489600000],
[2647, 373075200000],
[1198, 403747200000],
[2422, 434332800000],
[1388, 465004800000],
[2901, 495590400000],
[2730, 526262400000],
[2645, 556848000000],
[1197, 587433600000],
[2397, 618019200000],
[730, 648691200000],
[1497, 679276800000],
[3506, 709948800000],
[2980, 740620800000],
[2890, 771206400000],
[2645, 801792000000],
[693, 832377600000],
[1397, 862963200000],
[2922, 893635200000],
[3026, 924307200000],
[3012, 954979200000],
[2953, 985564800000],
[2709, 1016150400000],
[1325, 1046736000000],
[1453, 1077321600000],
[2922, 1107993600000],
[1748, 1138665600000],
[3529, 1169251200000],
[3474, 1199923200000],
[2726, 1230508800000],
[2390, 1261094400000],
[686, 1291680000000],
[1389, 1322265600000],
[874, 1352937600000],
[2901, 1383523200000],
[2730, 1414195200000],
[2381, 1444780800000],
[1181, 1475366400000],
[2397, 1505952000000],
[698, 1536624000000],
[1461, 1567209600000],
[1450, 1597881600000],
[3413, 1628467200000],
[2714, 1659139200000],
[2350, 1689724800000],
[622, 1720310400000],
[1373, 1750896000000],
[2778, 1781568000000],
[1748, 1812240000000],
[1701, 1842825600000],
[0, 1873411200000]
],
minDate: -2198707200000,
maxDate: 1873411199999,
toGregorian: function(hyear, hmonth, hday) {
var days = hday - 1,
gyear = hyear - 1318;
if (gyear < 0 || gyear >= this._yearInfo.length) return null;
var info = this._yearInfo[gyear],
gdate = new Date(info[1]),
monthLength = info[0];
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the gregorian date in the same timezone,
// not what the gregorian date was at GMT time, so we adjust for the offset.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
for (var i = 0; i < hmonth; i++) {
days += 29 + (monthLength & 1);
monthLength = monthLength >> 1;
}
gdate.setDate(gdate.getDate() + days);
return gdate;
},
fromGregorian: function(gdate) {
// Date's ticks in javascript are always from the GMT time,
// but we are interested in the hijri date in the same timezone,
// not what the hijri date was at GMT time, so we adjust for the offset.
var ticks = gdate - gdate.getTimezoneOffset() * 60000;
if (ticks < this.minDate || ticks > this.maxDate) return null;
var hyear = 0,
hmonth = 1;
// find the earliest gregorian date in the array that is greater than or equal to the given date
while (ticks > this._yearInfo[++hyear][1]) { }
if (ticks !== this._yearInfo[hyear][1]) {
hyear--;
}
var info = this._yearInfo[hyear],
// how many days has it been since the date we found in the array?
// 86400000 = ticks per day
days = Math.floor((ticks - info[1]) / 86400000),
monthLength = info[0];
hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N
// now increment day/month based on the total days, considering
// how many days are in each month. We cannot run past the year
// mark since we would have found a different array entry in that case.
var daysInMonth = 29 + (monthLength & 1);
while (days >= daysInMonth) {
days -= daysInMonth;
monthLength = monthLength >> 1;
daysInMonth = 29 + (monthLength & 1);
hmonth++;
}
// remaining days is less than is in one month, thus is the day of the month we landed on
// hmonth-1 because in javascript months are zero based, stay consistent with that.
return [hyear, hmonth - 1, days + 1];
}
}
},
Gregorian_MiddleEastFrench: {
name: "Gregorian_MiddleEastFrench",
firstDay: 1,
days: {
names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],
namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],
namesShort: ["di","lu","ma","me","je","ve","sa"]
},
months: {
names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""],
namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"ap. J.-C.","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dddd, MMMM dd, yyyy H:mm",
F: "dddd, MMMM dd, yyyy H:mm:ss",
M: "dd MMMM"
}
},
Gregorian_Arabic: {
name: "Gregorian_Arabic",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["ح","ن","ث","ر","خ","ج","س"]
},
months: {
names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""],
namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dddd, MMMM dd, yyyy H:mm",
F: "dddd, MMMM dd, yyyy H:mm:ss"
}
},
Gregorian_TransliteratedEnglish: {
name: "Gregorian_TransliteratedEnglish",
firstDay: 1,
days: {
names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],
namesShort: ["أ","ا","ث","أ","خ","ج","س"]
},
months: {
names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""],
namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""]
},
AM: ["ص","ص","ص"],
PM: ["م","م","م"],
eras: [{"name":"م","start":null,"offset":0}],
patterns: {
d: "MM/dd/yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dddd, MMMM dd, yyyy H:mm",
F: "dddd, MMMM dd, yyyy H:mm:ss"
}
}
}
});
}( this ));
@@ -1,78 +0,0 @@
/*
* Globalize Culture arn-CL
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "arn-CL", "default", {
name: "arn-CL",
englishName: "Mapudungun (Chile)",
nativeName: "Mapudungun (Chile)",
language: "arn",
numberFormat: {
",": ".",
".": ",",
"NaN": "NeuN",
negativeInfinity: "-Infinito",
positiveInfinity: "Infinito",
percent: {
",": ".",
".": ","
},
currency: {
pattern: ["-$ n","$ n"],
",": ".",
".": ","
}
},
calendars: {
standard: {
"/": "-",
days: {
names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
namesShort: ["do","lu","ma","mi","ju","vi","sá"]
},
months: {
names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
},
AM: null,
PM: null,
eras: [{"name":"d.C.","start":null,"offset":0}],
patterns: {
d: "dd-MM-yyyy",
D: "dddd, dd' de 'MMMM' de 'yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dddd, dd' de 'MMMM' de 'yyyy H:mm",
F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss",
M: "dd MMMM",
Y: "MMMM' de 'yyyy"
}
}
}
});
}( this ));
@@ -1,78 +0,0 @@
/*
* Globalize Culture arn
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "arn", "default", {
name: "arn",
englishName: "Mapudungun",
nativeName: "Mapudungun",
language: "arn",
numberFormat: {
",": ".",
".": ",",
"NaN": "NeuN",
negativeInfinity: "-Infinito",
positiveInfinity: "Infinito",
percent: {
",": ".",
".": ","
},
currency: {
pattern: ["-$ n","$ n"],
",": ".",
".": ","
}
},
calendars: {
standard: {
"/": "-",
days: {
names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],
namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"],
namesShort: ["do","lu","ma","mi","ju","vi","sá"]
},
months: {
names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""],
namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""]
},
AM: null,
PM: null,
eras: [{"name":"d.C.","start":null,"offset":0}],
patterns: {
d: "dd-MM-yyyy",
D: "dddd, dd' de 'MMMM' de 'yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "dddd, dd' de 'MMMM' de 'yyyy H:mm",
F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss",
M: "dd MMMM",
Y: "MMMM' de 'yyyy"
}
}
}
});
}( this ));
@@ -1,78 +0,0 @@
/*
* Globalize Culture as-IN
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "as-IN", "default", {
name: "as-IN",
englishName: "Assamese (India)",
nativeName: "অসমীয়া (ভাৰত)",
language: "as",
numberFormat: {
groupSizes: [3,2],
"NaN": "nan",
negativeInfinity: "-infinity",
positiveInfinity: "infinity",
percent: {
pattern: ["-n%","n%"],
groupSizes: [3,2]
},
currency: {
pattern: ["$ -n","n$"],
groupSizes: [3,2],
symbol: "ট"
}
},
calendars: {
standard: {
"/": "-",
firstDay: 1,
days: {
names: ["সোমবাৰ","মঙ্গলবাৰ","বুধবাৰ","বৃহস্পতিবাৰ","শুক্রবাৰ","শনিবাৰ","ৰবিবাৰ"],
namesAbbr: ["সোম.","মঙ্গল.","বুধ.","বৃহ.","শুক্র.","শনি.","ৰবি."],
namesShort: ["সো","ম","বু","বৃ","শু","শ","র"]
},
months: {
names: ["জানুৱাৰী","ফেব্রুৱাৰী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টেম্বর","অক্টোবর","নবেম্বর","ডিচেম্বর",""],
namesAbbr: ["জানু","ফেব্রু","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টে","অক্টো","নবে","ডিচে",""]
},
AM: ["ৰাতিপু","ৰাতিপু","ৰাতিপু"],
PM: ["আবেলি","আবেলি","আবেলি"],
eras: [{"name":"খ্রীষ্টাব্দ","start":null,"offset":0}],
patterns: {
d: "dd-MM-yyyy",
D: "yyyy,MMMM dd, dddd",
t: "tt h:mm",
T: "tt h:mm:ss",
f: "yyyy,MMMM dd, dddd tt h:mm",
F: "yyyy,MMMM dd, dddd tt h:mm:ss",
M: "dd MMMM",
Y: "MMMM,yy"
}
}
}
});
}( this ));
@@ -1,78 +0,0 @@
/*
* Globalize Culture as
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "as", "default", {
name: "as",
englishName: "Assamese",
nativeName: "অসমীয়া",
language: "as",
numberFormat: {
groupSizes: [3,2],
"NaN": "nan",
negativeInfinity: "-infinity",
positiveInfinity: "infinity",
percent: {
pattern: ["-n%","n%"],
groupSizes: [3,2]
},
currency: {
pattern: ["$ -n","n$"],
groupSizes: [3,2],
symbol: "ট"
}
},
calendars: {
standard: {
"/": "-",
firstDay: 1,
days: {
names: ["সোমবাৰ","মঙ্গলবাৰ","বুধবাৰ","বৃহস্পতিবাৰ","শুক্রবাৰ","শনিবাৰ","ৰবিবাৰ"],
namesAbbr: ["সোম.","মঙ্গল.","বুধ.","বৃহ.","শুক্র.","শনি.","ৰবি."],
namesShort: ["সো","ম","বু","বৃ","শু","শ","র"]
},
months: {
names: ["জানুৱাৰী","ফেব্রুৱাৰী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টেম্বর","অক্টোবর","নবেম্বর","ডিচেম্বর",""],
namesAbbr: ["জানু","ফেব্রু","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টে","অক্টো","নবে","ডিচে",""]
},
AM: ["ৰাতিপু","ৰাতিপু","ৰাতিপু"],
PM: ["আবেলি","আবেলি","আবেলি"],
eras: [{"name":"খ্রীষ্টাব্দ","start":null,"offset":0}],
patterns: {
d: "dd-MM-yyyy",
D: "yyyy,MMMM dd, dddd",
t: "tt h:mm",
T: "tt h:mm:ss",
f: "yyyy,MMMM dd, dddd tt h:mm",
F: "yyyy,MMMM dd, dddd tt h:mm:ss",
M: "dd MMMM",
Y: "MMMM,yy"
}
}
}
});
}( this ));
@@ -1,81 +0,0 @@
/*
* Globalize Culture az-Cyrl-AZ
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "az-Cyrl-AZ", "default", {
name: "az-Cyrl-AZ",
englishName: "Azeri (Cyrillic, Azerbaijan)",
nativeName: "Азәрбајҹан (Азәрбајҹан)",
language: "az-Cyrl",
numberFormat: {
",": " ",
".": ",",
percent: {
pattern: ["-n%","n%"],
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "ман."
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["Базар","Базар ертәси","Чәршәнбә ахшамы","Чәршәнбә","Ҹүмә ахшамы","Ҹүмә","Шәнбә"],
namesAbbr: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"],
namesShort: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"]
},
months: {
names: ["Јанвар","Феврал","Март","Апрел","Мај","Ијун","Ијул","Август","Сентјабр","Октјабр","Нојабр","Декабр",""],
namesAbbr: ["Јан","Фев","Мар","Апр","Мај","Ијун","Ијул","Авг","Сен","Окт","Ноя","Дек",""]
},
monthsGenitive: {
names: ["јанвар","феврал","март","апрел","мај","ијун","ијул","август","сентјабр","октјабр","нојабр","декабр",""],
namesAbbr: ["Јан","Фев","Мар","Апр","мая","ијун","ијул","Авг","Сен","Окт","Ноя","Дек",""]
},
AM: null,
PM: null,
patterns: {
d: "dd.MM.yyyy",
D: "d MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d MMMM yyyy H:mm",
F: "d MMMM yyyy H:mm:ss",
M: "d MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,81 +0,0 @@
/*
* Globalize Culture az-Cyrl
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "az-Cyrl", "default", {
name: "az-Cyrl",
englishName: "Azeri (Cyrillic)",
nativeName: "Азәрбајҹан дили",
language: "az-Cyrl",
numberFormat: {
",": " ",
".": ",",
percent: {
pattern: ["-n%","n%"],
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "ман."
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["Базар","Базар ертәси","Чәршәнбә ахшамы","Чәршәнбә","Ҹүмә ахшамы","Ҹүмә","Шәнбә"],
namesAbbr: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"],
namesShort: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"]
},
months: {
names: ["Јанвар","Феврал","Март","Апрел","Мај","Ијун","Ијул","Август","Сентјабр","Октјабр","Нојабр","Декабр",""],
namesAbbr: ["Јан","Фев","Мар","Апр","Мај","Ијун","Ијул","Авг","Сен","Окт","Ноя","Дек",""]
},
monthsGenitive: {
names: ["јанвар","феврал","март","апрел","мај","ијун","ијул","август","сентјабр","октјабр","нојабр","декабр",""],
namesAbbr: ["Јан","Фев","Мар","Апр","мая","ијун","ијул","Авг","Сен","Окт","Ноя","Дек",""]
},
AM: null,
PM: null,
patterns: {
d: "dd.MM.yyyy",
D: "d MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d MMMM yyyy H:mm",
F: "d MMMM yyyy H:mm:ss",
M: "d MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,81 +0,0 @@
/*
* Globalize Culture az-Latn-AZ
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "az-Latn-AZ", "default", {
name: "az-Latn-AZ",
englishName: "Azeri (Latin, Azerbaijan)",
nativeName: "Azərbaycan\xadılı (Azərbaycan)",
language: "az-Latn",
numberFormat: {
",": " ",
".": ",",
percent: {
pattern: ["-n%","n%"],
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "man."
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],
namesAbbr: ["B","Be","Ça","Ç","Ca","C","Ş"],
namesShort: ["B","Be","Ça","Ç","Ca","C","Ş"]
},
months: {
names: ["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avgust","Sentyabr","Oktyabr","Noyabr","Dekabr",""],
namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""]
},
monthsGenitive: {
names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""],
namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""]
},
AM: null,
PM: null,
patterns: {
d: "dd.MM.yyyy",
D: "d MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d MMMM yyyy H:mm",
F: "d MMMM yyyy H:mm:ss",
M: "d MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,81 +0,0 @@
/*
* Globalize Culture az-Latn
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "az-Latn", "default", {
name: "az-Latn",
englishName: "Azeri (Latin)",
nativeName: "Azərbaycan\xadılı",
language: "az-Latn",
numberFormat: {
",": " ",
".": ",",
percent: {
pattern: ["-n%","n%"],
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "man."
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],
namesAbbr: ["B","Be","Ça","Ç","Ca","C","Ş"],
namesShort: ["B","Be","Ça","Ç","Ca","C","Ş"]
},
months: {
names: ["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avgust","Sentyabr","Oktyabr","Noyabr","Dekabr",""],
namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""]
},
monthsGenitive: {
names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""],
namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""]
},
AM: null,
PM: null,
patterns: {
d: "dd.MM.yyyy",
D: "d MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d MMMM yyyy H:mm",
F: "d MMMM yyyy H:mm:ss",
M: "d MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,81 +0,0 @@
/*
* Globalize Culture az
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "az", "default", {
name: "az",
englishName: "Azeri",
nativeName: "Azərbaycan\xadılı",
language: "az",
numberFormat: {
",": " ",
".": ",",
percent: {
pattern: ["-n%","n%"],
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "man."
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],
namesAbbr: ["B","Be","Ça","Ç","Ca","C","Ş"],
namesShort: ["B","Be","Ça","Ç","Ca","C","Ş"]
},
months: {
names: ["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avgust","Sentyabr","Oktyabr","Noyabr","Dekabr",""],
namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""]
},
monthsGenitive: {
names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""],
namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""]
},
AM: null,
PM: null,
patterns: {
d: "dd.MM.yyyy",
D: "d MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d MMMM yyyy H:mm",
F: "d MMMM yyyy H:mm:ss",
M: "d MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,81 +0,0 @@
/*
* Globalize Culture ba-RU
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ba-RU", "default", {
name: "ba-RU",
englishName: "Bashkir (Russia)",
nativeName: "Башҡорт (Россия)",
language: "ba",
numberFormat: {
",": " ",
".": ",",
groupSizes: [3,0],
negativeInfinity: "-бесконечность",
positiveInfinity: "бесконечность",
percent: {
pattern: ["-n%","n%"],
groupSizes: [3,0],
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
groupSizes: [3,0],
",": " ",
".": ",",
symbol: "һ."
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["Йәкшәмбе","Дүшәмбе","Шишәмбе","Шаршамбы","Кесаҙна","Йома","Шәмбе"],
namesAbbr: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"],
namesShort: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"]
},
months: {
names: ["ғинуар","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь",""],
namesAbbr: ["ғин","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""]
},
AM: null,
PM: null,
patterns: {
d: "dd.MM.yy",
D: "d MMMM yyyy 'й'",
t: "H:mm",
T: "H:mm:ss",
f: "d MMMM yyyy 'й' H:mm",
F: "d MMMM yyyy 'й' H:mm:ss",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,81 +0,0 @@
/*
* Globalize Culture ba
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ba", "default", {
name: "ba",
englishName: "Bashkir",
nativeName: "Башҡорт",
language: "ba",
numberFormat: {
",": " ",
".": ",",
groupSizes: [3,0],
negativeInfinity: "-бесконечность",
positiveInfinity: "бесконечность",
percent: {
pattern: ["-n%","n%"],
groupSizes: [3,0],
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
groupSizes: [3,0],
",": " ",
".": ",",
symbol: "һ."
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["Йәкшәмбе","Дүшәмбе","Шишәмбе","Шаршамбы","Кесаҙна","Йома","Шәмбе"],
namesAbbr: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"],
namesShort: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"]
},
months: {
names: ["ғинуар","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь",""],
namesAbbr: ["ғин","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""]
},
AM: null,
PM: null,
patterns: {
d: "dd.MM.yy",
D: "d MMMM yyyy 'й'",
t: "H:mm",
T: "H:mm:ss",
f: "d MMMM yyyy 'й' H:mm",
F: "d MMMM yyyy 'й' H:mm:ss",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,80 +0,0 @@
/*
* Globalize Culture be-BY
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "be-BY", "default", {
name: "be-BY",
englishName: "Belarusian (Belarus)",
nativeName: "Беларускі (Беларусь)",
language: "be",
numberFormat: {
",": " ",
".": ",",
percent: {
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "р."
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["нядзеля","панядзелак","аўторак","серада","чацвер","пятніца","субота"],
namesAbbr: ["нд","пн","аў","ср","чц","пт","сб"],
namesShort: ["нд","пн","аў","ср","чц","пт","сб"]
},
months: {
names: ["Студзень","Люты","Сакавік","Красавік","Май","Чэрвень","Ліпень","Жнівень","Верасень","Кастрычнік","Лістапад","Снежань",""],
namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""]
},
monthsGenitive: {
names: ["студзеня","лютага","сакавіка","красавіка","мая","чэрвеня","ліпеня","жніўня","верасня","кастрычніка","лістапада","снежня",""],
namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""]
},
AM: null,
PM: null,
patterns: {
d: "dd.MM.yyyy",
D: "d MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d MMMM yyyy H:mm",
F: "d MMMM yyyy H:mm:ss",
M: "d MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,80 +0,0 @@
/*
* Globalize Culture be
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "be", "default", {
name: "be",
englishName: "Belarusian",
nativeName: "Беларускі",
language: "be",
numberFormat: {
",": " ",
".": ",",
percent: {
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "р."
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["нядзеля","панядзелак","аўторак","серада","чацвер","пятніца","субота"],
namesAbbr: ["нд","пн","аў","ср","чц","пт","сб"],
namesShort: ["нд","пн","аў","ср","чц","пт","сб"]
},
months: {
names: ["Студзень","Люты","Сакавік","Красавік","Май","Чэрвень","Ліпень","Жнівень","Верасень","Кастрычнік","Лістапад","Снежань",""],
namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""]
},
monthsGenitive: {
names: ["студзеня","лютага","сакавіка","красавіка","мая","чэрвеня","ліпеня","жніўня","верасня","кастрычніка","лістапада","снежня",""],
namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""]
},
AM: null,
PM: null,
patterns: {
d: "dd.MM.yyyy",
D: "d MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d MMMM yyyy H:mm",
F: "d MMMM yyyy H:mm:ss",
M: "d MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,79 +0,0 @@
/*
* Globalize Culture bg-BG
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "bg-BG", "default", {
name: "bg-BG",
englishName: "Bulgarian (Bulgaria)",
nativeName: "български (България)",
language: "bg",
numberFormat: {
",": " ",
".": ",",
negativeInfinity: "- безкрайност",
positiveInfinity: "+ безкрайност",
percent: {
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "лв."
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"],
namesAbbr: ["нед","пон","вт","ср","четв","пет","съб"],
namesShort: ["н","п","в","с","ч","п","с"]
},
months: {
names: ["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември",""],
namesAbbr: ["ян","февр","март","апр","май","юни","юли","авг","септ","окт","ноември","дек",""]
},
AM: null,
PM: null,
eras: [{"name":"след новата ера","start":null,"offset":0}],
patterns: {
d: "d.M.yyyy 'г.'",
D: "dd MMMM yyyy 'г.'",
t: "HH:mm 'ч.'",
T: "HH:mm:ss 'ч.'",
f: "dd MMMM yyyy 'г.' HH:mm 'ч.'",
F: "dd MMMM yyyy 'г.' HH:mm:ss 'ч.'",
M: "dd MMMM",
Y: "MMMM yyyy 'г.'"
}
}
}
});
}( this ));
@@ -1,79 +0,0 @@
/*
* Globalize Culture bg
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "bg", "default", {
name: "bg",
englishName: "Bulgarian",
nativeName: "български",
language: "bg",
numberFormat: {
",": " ",
".": ",",
negativeInfinity: "- безкрайност",
positiveInfinity: "+ безкрайност",
percent: {
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "лв."
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"],
namesAbbr: ["нед","пон","вт","ср","четв","пет","съб"],
namesShort: ["н","п","в","с","ч","п","с"]
},
months: {
names: ["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември",""],
namesAbbr: ["ян","февр","март","апр","май","юни","юли","авг","септ","окт","ноември","дек",""]
},
AM: null,
PM: null,
eras: [{"name":"след новата ера","start":null,"offset":0}],
patterns: {
d: "d.M.yyyy 'г.'",
D: "dd MMMM yyyy 'г.'",
t: "HH:mm 'ч.'",
T: "HH:mm:ss 'ч.'",
f: "dd MMMM yyyy 'г.' HH:mm 'ч.'",
F: "dd MMMM yyyy 'г.' HH:mm:ss 'ч.'",
M: "dd MMMM",
Y: "MMMM yyyy 'г.'"
}
}
}
});
}( this ));
@@ -1,74 +0,0 @@
/*
* Globalize Culture bn-BD
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "bn-BD", "default", {
name: "bn-BD",
englishName: "Bengali (Bangladesh)",
nativeName: "বাংলা (বাংলাদেশ)",
language: "bn",
numberFormat: {
groupSizes: [3,2],
percent: {
pattern: ["-%n","%n"],
groupSizes: [3,2]
},
currency: {
pattern: ["$ -n","$ n"],
groupSizes: [3,2],
symbol: "৳"
}
},
calendars: {
standard: {
"/": "-",
":": ".",
firstDay: 1,
days: {
names: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],
namesAbbr: ["রবি.","সোম.","মঙ্গল.","বুধ.","বৃহস্পতি.","শুক্র.","শনি."],
namesShort: ["র","স","ম","ব","ব","শ","শ"]
},
months: {
names: ["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর",""],
namesAbbr: ["জানু.","ফেব্রু.","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগ.","সেপ্টে.","অক্টো.","নভে.","ডিসে.",""]
},
AM: ["পুর্বাহ্ন","পুর্বাহ্ন","পুর্বাহ্ন"],
PM: ["অপরাহ্ন","অপরাহ্ন","অপরাহ্ন"],
patterns: {
d: "dd-MM-yy",
D: "dd MMMM yyyy",
t: "HH.mm",
T: "HH.mm.ss",
f: "dd MMMM yyyy HH.mm",
F: "dd MMMM yyyy HH.mm.ss",
M: "dd MMMM"
}
}
}
});
}( this ));
@@ -1,74 +0,0 @@
/*
* Globalize Culture bn-IN
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "bn-IN", "default", {
name: "bn-IN",
englishName: "Bengali (India)",
nativeName: "বাংলা (ভারত)",
language: "bn",
numberFormat: {
groupSizes: [3,2],
percent: {
pattern: ["-%n","%n"],
groupSizes: [3,2]
},
currency: {
pattern: ["$ -n","$ n"],
groupSizes: [3,2],
symbol: "টা"
}
},
calendars: {
standard: {
"/": "-",
":": ".",
firstDay: 1,
days: {
names: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],
namesAbbr: ["রবি.","সোম.","মঙ্গল.","বুধ.","বৃহস্পতি.","শুক্র.","শনি."],
namesShort: ["র","স","ম","ব","ব","শ","শ"]
},
months: {
names: ["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর",""],
namesAbbr: ["জানু.","ফেব্রু.","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগ.","সেপ্টে.","অক্টো.","নভে.","ডিসে.",""]
},
AM: ["পুর্বাহ্ন","পুর্বাহ্ন","পুর্বাহ্ন"],
PM: ["অপরাহ্ন","অপরাহ্ন","অপরাহ্ন"],
patterns: {
d: "dd-MM-yy",
D: "dd MMMM yyyy",
t: "HH.mm",
T: "HH.mm.ss",
f: "dd MMMM yyyy HH.mm",
F: "dd MMMM yyyy HH.mm.ss",
M: "dd MMMM"
}
}
}
});
}( this ));
@@ -1,74 +0,0 @@
/*
* Globalize Culture bn
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "bn", "default", {
name: "bn",
englishName: "Bengali",
nativeName: "বাংলা",
language: "bn",
numberFormat: {
groupSizes: [3,2],
percent: {
pattern: ["-%n","%n"],
groupSizes: [3,2]
},
currency: {
pattern: ["$ -n","$ n"],
groupSizes: [3,2],
symbol: "টা"
}
},
calendars: {
standard: {
"/": "-",
":": ".",
firstDay: 1,
days: {
names: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],
namesAbbr: ["রবি.","সোম.","মঙ্গল.","বুধ.","বৃহস্পতি.","শুক্র.","শনি."],
namesShort: ["র","স","ম","ব","ব","শ","শ"]
},
months: {
names: ["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর",""],
namesAbbr: ["জানু.","ফেব্রু.","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগ.","সেপ্টে.","অক্টো.","নভে.","ডিসে.",""]
},
AM: ["পুর্বাহ্ন","পুর্বাহ্ন","পুর্বাহ্ন"],
PM: ["অপরাহ্ন","অপরাহ্ন","অপরাহ্ন"],
patterns: {
d: "dd-MM-yy",
D: "dd MMMM yyyy",
t: "HH.mm",
T: "HH.mm.ss",
f: "dd MMMM yyyy HH.mm",
F: "dd MMMM yyyy HH.mm.ss",
M: "dd MMMM"
}
}
}
});
}( this ));
@@ -1,77 +0,0 @@
/*
* Globalize Culture bo-CN
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "bo-CN", "default", {
name: "bo-CN",
englishName: "Tibetan (PRC)",
nativeName: "བོད་ཡིག (ཀྲུང་ཧྭ་མི་དམངས་སྤྱི་མཐུན་རྒྱལ་ཁབ།)",
language: "bo",
numberFormat: {
groupSizes: [3,0],
"NaN": "ཨང་ཀི་མིན་པ།",
negativeInfinity: "མོ་གྲངས་ཚད་མེད་ཆུང་བ།",
positiveInfinity: "ཕོ་གྲངས་ཚད་མེད་ཆེ་བ།",
percent: {
pattern: ["-n%","n%"],
groupSizes: [3,0]
},
currency: {
pattern: ["$-n","$n"],
groupSizes: [3,0],
symbol: "¥"
}
},
calendars: {
standard: {
firstDay: 1,
days: {
names: ["གཟའ་ཉི་མ།","གཟའ་ཟླ་བ།","གཟའ་མིག་དམར།","གཟའ་ལྷག་པ།","གཟའ་ཕུར་བུ།","གཟའ་པ་སངས།","གཟའ་སྤེན་པ།"],
namesAbbr: ["ཉི་མ།","ཟླ་བ།","མིག་དམར།","ལྷག་པ།","ཕུར་བུ།","པ་སངས།","སྤེན་པ།"],
namesShort: ["༧","༡","༢","༣","༤","༥","༦"]
},
months: {
names: ["སྤྱི་ཟླ་དང་པོ།","སྤྱི་ཟླ་གཉིས་པ།","སྤྱི་ཟླ་གསུམ་པ།","སྤྱི་ཟླ་བཞི་པ།","སྤྱི་ཟླ་ལྔ་པ།","སྤྱི་ཟླ་དྲུག་པ།","སྤྱི་ཟླ་བདུན་པ།","སྤྱི་ཟླ་བརྒྱད་པ།","སྤྱི་ཟླ་དགུ་པ།","སྤྱི་ཟླ་བཅུ་པོ།","སྤྱི་ཟླ་བཅུ་གཅིག་པ།","སྤྱི་ཟླ་བཅུ་གཉིས་པ།",""],
namesAbbr: ["ཟླ་ ༡","ཟླ་ ༢","ཟླ་ ༣","ཟླ་ ༤","ཟླ་ ༥","ཟླ་ ༦","ཟླ་ ༧","ཟླ་ ༨","ཟླ་ ༩","ཟླ་ ༡༠","ཟླ་ ༡༡","ཟླ་ ༡༢",""]
},
AM: ["སྔ་དྲོ","སྔ་དྲོ","སྔ་དྲོ"],
PM: ["ཕྱི་དྲོ","ཕྱི་དྲོ","ཕྱི་དྲོ"],
eras: [{"name":"སྤྱི་ལོ","start":null,"offset":0}],
patterns: {
d: "yyyy/M/d",
D: "yyyy'ལོའི་ཟླ' M'ཚེས' d",
t: "HH:mm",
T: "HH:mm:ss",
f: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm",
F: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm:ss",
M: "'ཟླ་' M'ཚེས'd",
Y: "yyyy.M"
}
}
}
});
}( this ));
@@ -1,77 +0,0 @@
/*
* Globalize Culture bo
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "bo", "default", {
name: "bo",
englishName: "Tibetan",
nativeName: "བོད་ཡིག",
language: "bo",
numberFormat: {
groupSizes: [3,0],
"NaN": "ཨང་ཀི་མིན་པ།",
negativeInfinity: "མོ་གྲངས་ཚད་མེད་ཆུང་བ།",
positiveInfinity: "ཕོ་གྲངས་ཚད་མེད་ཆེ་བ།",
percent: {
pattern: ["-n%","n%"],
groupSizes: [3,0]
},
currency: {
pattern: ["$-n","$n"],
groupSizes: [3,0],
symbol: "¥"
}
},
calendars: {
standard: {
firstDay: 1,
days: {
names: ["གཟའ་ཉི་མ།","གཟའ་ཟླ་བ།","གཟའ་མིག་དམར།","གཟའ་ལྷག་པ།","གཟའ་ཕུར་བུ།","གཟའ་པ་སངས།","གཟའ་སྤེན་པ།"],
namesAbbr: ["ཉི་མ།","ཟླ་བ།","མིག་དམར།","ལྷག་པ།","ཕུར་བུ།","པ་སངས།","སྤེན་པ།"],
namesShort: ["༧","༡","༢","༣","༤","༥","༦"]
},
months: {
names: ["སྤྱི་ཟླ་དང་པོ།","སྤྱི་ཟླ་གཉིས་པ།","སྤྱི་ཟླ་གསུམ་པ།","སྤྱི་ཟླ་བཞི་པ།","སྤྱི་ཟླ་ལྔ་པ།","སྤྱི་ཟླ་དྲུག་པ།","སྤྱི་ཟླ་བདུན་པ།","སྤྱི་ཟླ་བརྒྱད་པ།","སྤྱི་ཟླ་དགུ་པ།","སྤྱི་ཟླ་བཅུ་པོ།","སྤྱི་ཟླ་བཅུ་གཅིག་པ།","སྤྱི་ཟླ་བཅུ་གཉིས་པ།",""],
namesAbbr: ["ཟླ་ ༡","ཟླ་ ༢","ཟླ་ ༣","ཟླ་ ༤","ཟླ་ ༥","ཟླ་ ༦","ཟླ་ ༧","ཟླ་ ༨","ཟླ་ ༩","ཟླ་ ༡༠","ཟླ་ ༡༡","ཟླ་ ༡༢",""]
},
AM: ["སྔ་དྲོ","སྔ་དྲོ","སྔ་དྲོ"],
PM: ["ཕྱི་དྲོ","ཕྱི་དྲོ","ཕྱི་དྲོ"],
eras: [{"name":"སྤྱི་ལོ","start":null,"offset":0}],
patterns: {
d: "yyyy/M/d",
D: "yyyy'ལོའི་ཟླ' M'ཚེས' d",
t: "HH:mm",
T: "HH:mm:ss",
f: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm",
F: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm:ss",
M: "'ཟླ་' M'ཚེས'd",
Y: "yyyy.M"
}
}
}
});
}( this ));
@@ -1,79 +0,0 @@
/*
* Globalize Culture br-FR
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "br-FR", "default", {
name: "br-FR",
englishName: "Breton (France)",
nativeName: "brezhoneg (Frañs)",
language: "br",
numberFormat: {
",": " ",
".": ",",
"NaN": "NkN",
negativeInfinity: "-Anfin",
positiveInfinity: "+Anfin",
percent: {
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
firstDay: 1,
days: {
names: ["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"],
namesAbbr: ["Sul","Lun","Meu.","Mer.","Yaou","Gwe.","Sad."],
namesShort: ["Su","Lu","Mz","Mc","Ya","Gw","Sa"]
},
months: {
names: ["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu",""],
namesAbbr: ["Gen.","C'hwe.","Meur.","Ebr.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kzu",""]
},
AM: null,
PM: null,
eras: [{"name":"g. J.-K.","start":null,"offset":0}],
patterns: {
d: "dd/MM/yyyy",
D: "dddd d MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dddd d MMMM yyyy HH:mm",
F: "dddd d MMMM yyyy HH:mm:ss",
M: "d MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,79 +0,0 @@
/*
* Globalize Culture br
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "br", "default", {
name: "br",
englishName: "Breton",
nativeName: "brezhoneg",
language: "br",
numberFormat: {
",": " ",
".": ",",
"NaN": "NkN",
negativeInfinity: "-Anfin",
positiveInfinity: "+Anfin",
percent: {
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
firstDay: 1,
days: {
names: ["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"],
namesAbbr: ["Sul","Lun","Meu.","Mer.","Yaou","Gwe.","Sad."],
namesShort: ["Su","Lu","Mz","Mc","Ya","Gw","Sa"]
},
months: {
names: ["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu",""],
namesAbbr: ["Gen.","C'hwe.","Meur.","Ebr.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kzu",""]
},
AM: null,
PM: null,
eras: [{"name":"g. J.-K.","start":null,"offset":0}],
patterns: {
d: "dd/MM/yyyy",
D: "dddd d MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dddd d MMMM yyyy HH:mm",
F: "dddd d MMMM yyyy HH:mm:ss",
M: "d MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,78 +0,0 @@
/*
* Globalize Culture bs-Cyrl-BA
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "bs-Cyrl-BA", "default", {
name: "bs-Cyrl-BA",
englishName: "Bosnian (Cyrillic, Bosnia and Herzegovina)",
nativeName: "босански (Босна и Херцеговина)",
language: "bs-Cyrl",
numberFormat: {
",": ".",
".": ",",
negativeInfinity: "-бесконачност",
positiveInfinity: "+бесконачност",
percent: {
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "КМ"
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["недјеља","понедјељак","уторак","сриједа","четвртак","петак","субота"],
namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"],
namesShort: ["н","п","у","с","ч","п","с"]
},
months: {
names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""],
namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""]
},
AM: null,
PM: null,
eras: [{"name":"н.е.","start":null,"offset":0}],
patterns: {
d: "d.M.yyyy",
D: "d. MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d. MMMM yyyy H:mm",
F: "d. MMMM yyyy H:mm:ss",
M: "d. MMMM"
}
}
}
});
}( this ));
@@ -1,78 +0,0 @@
/*
* Globalize Culture bs-Cyrl
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "bs-Cyrl", "default", {
name: "bs-Cyrl",
englishName: "Bosnian (Cyrillic)",
nativeName: "босански",
language: "bs-Cyrl",
numberFormat: {
",": ".",
".": ",",
negativeInfinity: "-бесконачност",
positiveInfinity: "+бесконачност",
percent: {
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "КМ"
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["недјеља","понедјељак","уторак","сриједа","четвртак","петак","субота"],
namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"],
namesShort: ["н","п","у","с","ч","п","с"]
},
months: {
names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""],
namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""]
},
AM: null,
PM: null,
eras: [{"name":"н.е.","start":null,"offset":0}],
patterns: {
d: "d.M.yyyy",
D: "d. MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d. MMMM yyyy H:mm",
F: "d. MMMM yyyy H:mm:ss",
M: "d. MMMM"
}
}
}
});
}( this ));
@@ -1,76 +0,0 @@
/*
* Globalize Culture bs-Latn-BA
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "bs-Latn-BA", "default", {
name: "bs-Latn-BA",
englishName: "Bosnian (Latin, Bosnia and Herzegovina)",
nativeName: "bosanski (Bosna i Hercegovina)",
language: "bs-Latn",
numberFormat: {
",": ".",
".": ",",
percent: {
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "KM"
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],
namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"],
namesShort: ["ne","po","ut","sr","če","pe","su"]
},
months: {
names: ["januar","februar","mart","april","maj","juni","juli","avgust","septembar","oktobar","novembar","decembar",""],
namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
},
AM: null,
PM: null,
patterns: {
d: "d.M.yyyy",
D: "d. MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d. MMMM yyyy H:mm",
F: "d. MMMM yyyy H:mm:ss",
M: "d. MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,76 +0,0 @@
/*
* Globalize Culture bs-Latn
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "bs-Latn", "default", {
name: "bs-Latn",
englishName: "Bosnian (Latin)",
nativeName: "bosanski",
language: "bs-Latn",
numberFormat: {
",": ".",
".": ",",
percent: {
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "KM"
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],
namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"],
namesShort: ["ne","po","ut","sr","če","pe","su"]
},
months: {
names: ["januar","februar","mart","april","maj","juni","juli","avgust","septembar","oktobar","novembar","decembar",""],
namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
},
AM: null,
PM: null,
patterns: {
d: "d.M.yyyy",
D: "d. MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d. MMMM yyyy H:mm",
F: "d. MMMM yyyy H:mm:ss",
M: "d. MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,76 +0,0 @@
/*
* Globalize Culture bs
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "bs", "default", {
name: "bs",
englishName: "Bosnian",
nativeName: "bosanski",
language: "bs",
numberFormat: {
",": ".",
".": ",",
percent: {
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "KM"
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],
namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"],
namesShort: ["ne","po","ut","sr","če","pe","su"]
},
months: {
names: ["januar","februar","mart","april","maj","juni","juli","avgust","septembar","oktobar","novembar","decembar",""],
namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""]
},
AM: null,
PM: null,
patterns: {
d: "d.M.yyyy",
D: "d. MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d. MMMM yyyy H:mm",
F: "d. MMMM yyyy H:mm:ss",
M: "d. MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,79 +0,0 @@
/*
* Globalize Culture ca-ES
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ca-ES", "default", {
name: "ca-ES",
englishName: "Catalan (Catalan)",
nativeName: "català (català)",
language: "ca",
numberFormat: {
",": ".",
".": ",",
"NaN": "NeuN",
negativeInfinity: "-Infinit",
positiveInfinity: "Infinit",
percent: {
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
firstDay: 1,
days: {
names: ["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],
namesAbbr: ["dg.","dl.","dt.","dc.","dj.","dv.","ds."],
namesShort: ["dg","dl","dt","dc","dj","dv","ds"]
},
months: {
names: ["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre",""],
namesAbbr: ["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des",""]
},
AM: null,
PM: null,
eras: [{"name":"d.C.","start":null,"offset":0}],
patterns: {
d: "dd/MM/yyyy",
D: "dddd, d' / 'MMMM' / 'yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dddd, d' / 'MMMM' / 'yyyy HH:mm",
F: "dddd, d' / 'MMMM' / 'yyyy HH:mm:ss",
M: "dd MMMM",
Y: "MMMM' / 'yyyy"
}
}
}
});
}( this ));
@@ -1,79 +0,0 @@
/*
* Globalize Culture ca
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "ca", "default", {
name: "ca",
englishName: "Catalan",
nativeName: "català",
language: "ca",
numberFormat: {
",": ".",
".": ",",
"NaN": "NeuN",
negativeInfinity: "-Infinit",
positiveInfinity: "Infinit",
percent: {
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
firstDay: 1,
days: {
names: ["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],
namesAbbr: ["dg.","dl.","dt.","dc.","dj.","dv.","ds."],
namesShort: ["dg","dl","dt","dc","dj","dv","ds"]
},
months: {
names: ["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre",""],
namesAbbr: ["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des",""]
},
AM: null,
PM: null,
eras: [{"name":"d.C.","start":null,"offset":0}],
patterns: {
d: "dd/MM/yyyy",
D: "dddd, d' / 'MMMM' / 'yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dddd, d' / 'MMMM' / 'yyyy HH:mm",
F: "dddd, d' / 'MMMM' / 'yyyy HH:mm:ss",
M: "dd MMMM",
Y: "MMMM' / 'yyyy"
}
}
}
});
}( this ));
@@ -1,79 +0,0 @@
/*
* Globalize Culture co-FR
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "co-FR", "default", {
name: "co-FR",
englishName: "Corsican (France)",
nativeName: "Corsu (France)",
language: "co",
numberFormat: {
",": " ",
".": ",",
"NaN": "Mica numericu",
negativeInfinity: "-Infinitu",
positiveInfinity: "+Infinitu",
percent: {
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
firstDay: 1,
days: {
names: ["dumenica","luni","marti","mercuri","ghjovi","venderi","sabbatu"],
namesAbbr: ["dum.","lun.","mar.","mer.","ghj.","ven.","sab."],
namesShort: ["du","lu","ma","me","gh","ve","sa"]
},
months: {
names: ["ghjennaghju","ferraghju","marzu","aprile","maghju","ghjunghju","lugliu","aostu","settembre","ottobre","nuvembre","dicembre",""],
namesAbbr: ["ghje","ferr","marz","apri","magh","ghju","lugl","aost","sett","otto","nuve","dice",""]
},
AM: null,
PM: null,
eras: [{"name":"dopu J-C","start":null,"offset":0}],
patterns: {
d: "dd/MM/yyyy",
D: "dddd d MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dddd d MMMM yyyy HH:mm",
F: "dddd d MMMM yyyy HH:mm:ss",
M: "d MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,79 +0,0 @@
/*
* Globalize Culture co
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "co", "default", {
name: "co",
englishName: "Corsican",
nativeName: "Corsu",
language: "co",
numberFormat: {
",": " ",
".": ",",
"NaN": "Mica numericu",
negativeInfinity: "-Infinitu",
positiveInfinity: "+Infinitu",
percent: {
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
firstDay: 1,
days: {
names: ["dumenica","luni","marti","mercuri","ghjovi","venderi","sabbatu"],
namesAbbr: ["dum.","lun.","mar.","mer.","ghj.","ven.","sab."],
namesShort: ["du","lu","ma","me","gh","ve","sa"]
},
months: {
names: ["ghjennaghju","ferraghju","marzu","aprile","maghju","ghjunghju","lugliu","aostu","settembre","ottobre","nuvembre","dicembre",""],
namesAbbr: ["ghje","ferr","marz","apri","magh","ghju","lugl","aost","sett","otto","nuve","dice",""]
},
AM: null,
PM: null,
eras: [{"name":"dopu J-C","start":null,"offset":0}],
patterns: {
d: "dd/MM/yyyy",
D: "dddd d MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dddd d MMMM yyyy HH:mm",
F: "dddd d MMMM yyyy HH:mm:ss",
M: "d MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,85 +0,0 @@
/*
* Globalize Culture cs-CZ
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "cs-CZ", "default", {
name: "cs-CZ",
englishName: "Czech (Czech Republic)",
nativeName: "čeština (Česká republika)",
language: "cs",
numberFormat: {
",": " ",
".": ",",
"NaN": "Není číslo",
negativeInfinity: "-nekonečno",
positiveInfinity: "+nekonečno",
percent: {
pattern: ["-n%","n%"],
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "Kč"
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],
namesAbbr: ["ne","po","út","st","čt","pá","so"],
namesShort: ["ne","po","út","st","čt","pá","so"]
},
months: {
names: ["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec",""],
namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
},
monthsGenitive: {
names: ["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince",""],
namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
},
AM: ["dop.","dop.","DOP."],
PM: ["odp.","odp.","ODP."],
eras: [{"name":"n. l.","start":null,"offset":0}],
patterns: {
d: "d.M.yyyy",
D: "d. MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d. MMMM yyyy H:mm",
F: "d. MMMM yyyy H:mm:ss",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,85 +0,0 @@
/*
* Globalize Culture cs
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "cs", "default", {
name: "cs",
englishName: "Czech",
nativeName: "čeština",
language: "cs",
numberFormat: {
",": " ",
".": ",",
"NaN": "Není číslo",
negativeInfinity: "-nekonečno",
positiveInfinity: "+nekonečno",
percent: {
pattern: ["-n%","n%"],
",": " ",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": " ",
".": ",",
symbol: "Kč"
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],
namesAbbr: ["ne","po","út","st","čt","pá","so"],
namesShort: ["ne","po","út","st","čt","pá","so"]
},
months: {
names: ["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec",""],
namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
},
monthsGenitive: {
names: ["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince",""],
namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""]
},
AM: ["dop.","dop.","DOP."],
PM: ["odp.","odp.","ODP."],
eras: [{"name":"n. l.","start":null,"offset":0}],
patterns: {
d: "d.M.yyyy",
D: "d. MMMM yyyy",
t: "H:mm",
T: "H:mm:ss",
f: "d. MMMM yyyy H:mm",
F: "d. MMMM yyyy H:mm:ss",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,70 +0,0 @@
/*
* Globalize Culture cy-GB
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "cy-GB", "default", {
name: "cy-GB",
englishName: "Welsh (United Kingdom)",
nativeName: "Cymraeg (y Deyrnas Unedig)",
language: "cy",
numberFormat: {
percent: {
pattern: ["-%n","%n"]
},
currency: {
pattern: ["-$n","$n"],
symbol: "£"
}
},
calendars: {
standard: {
firstDay: 1,
days: {
names: ["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"],
namesAbbr: ["Sul","Llun","Maw","Mer","Iau","Gwe","Sad"],
namesShort: ["Su","Ll","Ma","Me","Ia","Gw","Sa"]
},
months: {
names: ["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr",""],
namesAbbr: ["Ion","Chwe","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rhag",""]
},
AM: ["a.m.","a.m.","A.M."],
PM: ["p.m.","p.m.","P.M."],
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dd MMMM yyyy HH:mm",
F: "dd MMMM yyyy HH:mm:ss",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,70 +0,0 @@
/*
* Globalize Culture cy
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "cy", "default", {
name: "cy",
englishName: "Welsh",
nativeName: "Cymraeg",
language: "cy",
numberFormat: {
percent: {
pattern: ["-%n","%n"]
},
currency: {
pattern: ["-$n","$n"],
symbol: "£"
}
},
calendars: {
standard: {
firstDay: 1,
days: {
names: ["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"],
namesAbbr: ["Sul","Llun","Maw","Mer","Iau","Gwe","Sad"],
namesShort: ["Su","Ll","Ma","Me","Ia","Gw","Sa"]
},
months: {
names: ["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr",""],
namesAbbr: ["Ion","Chwe","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rhag",""]
},
AM: ["a.m.","a.m.","A.M."],
PM: ["p.m.","p.m.","P.M."],
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dd MMMM yyyy HH:mm",
F: "dd MMMM yyyy HH:mm:ss",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,78 +0,0 @@
/*
* Globalize Culture da-DK
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "da-DK", "default", {
name: "da-DK",
englishName: "Danish (Denmark)",
nativeName: "dansk (Danmark)",
language: "da",
numberFormat: {
",": ".",
".": ",",
negativeInfinity: "-INF",
positiveInfinity: "INF",
percent: {
",": ".",
".": ","
},
currency: {
pattern: ["$ -n","$ n"],
",": ".",
".": ",",
symbol: "kr."
}
},
calendars: {
standard: {
"/": "-",
firstDay: 1,
days: {
names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],
namesAbbr: ["sø","ma","ti","on","to","fr","lø"],
namesShort: ["sø","ma","ti","on","to","fr","lø"]
},
months: {
names: ["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december",""],
namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""]
},
AM: null,
PM: null,
patterns: {
d: "dd-MM-yyyy",
D: "d. MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "d. MMMM yyyy HH:mm",
F: "d. MMMM yyyy HH:mm:ss",
M: "d. MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,78 +0,0 @@
/*
* Globalize Culture da
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "da", "default", {
name: "da",
englishName: "Danish",
nativeName: "dansk",
language: "da",
numberFormat: {
",": ".",
".": ",",
negativeInfinity: "-INF",
positiveInfinity: "INF",
percent: {
",": ".",
".": ","
},
currency: {
pattern: ["$ -n","$ n"],
",": ".",
".": ",",
symbol: "kr."
}
},
calendars: {
standard: {
"/": "-",
firstDay: 1,
days: {
names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],
namesAbbr: ["sø","ma","ti","on","to","fr","lø"],
namesShort: ["sø","ma","ti","on","to","fr","lø"]
},
months: {
names: ["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december",""],
namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""]
},
AM: null,
PM: null,
patterns: {
d: "dd-MM-yyyy",
D: "d. MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "d. MMMM yyyy HH:mm",
F: "d. MMMM yyyy HH:mm:ss",
M: "d. MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,81 +0,0 @@
/*
* Globalize Culture de-AT
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "de-AT", "default", {
name: "de-AT",
englishName: "German (Austria)",
nativeName: "Deutsch (Österreich)",
language: "de",
numberFormat: {
",": ".",
".": ",",
"NaN": "n. def.",
negativeInfinity: "-unendlich",
positiveInfinity: "+unendlich",
percent: {
pattern: ["-n%","n%"],
",": ".",
".": ","
},
currency: {
pattern: ["-$ n","$ n"],
",": ".",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"],
namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"]
},
months: {
names: ["Jänner","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""],
namesAbbr: ["Jän","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
},
AM: null,
PM: null,
eras: [{"name":"n. Chr.","start":null,"offset":0}],
patterns: {
d: "dd.MM.yyyy",
D: "dddd, dd. MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dddd, dd. MMMM yyyy HH:mm",
F: "dddd, dd. MMMM yyyy HH:mm:ss",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,78 +0,0 @@
/*
* Globalize Culture de-CH
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "de-CH", "default", {
name: "de-CH",
englishName: "German (Switzerland)",
nativeName: "Deutsch (Schweiz)",
language: "de",
numberFormat: {
",": "'",
"NaN": "n. def.",
negativeInfinity: "-unendlich",
positiveInfinity: "+unendlich",
percent: {
pattern: ["-n%","n%"],
",": "'"
},
currency: {
pattern: ["$-n","$ n"],
",": "'",
symbol: "Fr."
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"],
namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"]
},
months: {
names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""],
namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
},
AM: null,
PM: null,
eras: [{"name":"n. Chr.","start":null,"offset":0}],
patterns: {
d: "dd.MM.yyyy",
D: "dddd, d. MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dddd, d. MMMM yyyy HH:mm",
F: "dddd, d. MMMM yyyy HH:mm:ss",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,81 +0,0 @@
/*
* Globalize Culture de-DE
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "de-DE", "default", {
name: "de-DE",
englishName: "German (Germany)",
nativeName: "Deutsch (Deutschland)",
language: "de",
numberFormat: {
",": ".",
".": ",",
"NaN": "n. def.",
negativeInfinity: "-unendlich",
positiveInfinity: "+unendlich",
percent: {
pattern: ["-n%","n%"],
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"],
namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"]
},
months: {
names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""],
namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
},
AM: null,
PM: null,
eras: [{"name":"n. Chr.","start":null,"offset":0}],
patterns: {
d: "dd.MM.yyyy",
D: "dddd, d. MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dddd, d. MMMM yyyy HH:mm",
F: "dddd, d. MMMM yyyy HH:mm:ss",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,78 +0,0 @@
/*
* Globalize Culture de-LI
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "de-LI", "default", {
name: "de-LI",
englishName: "German (Liechtenstein)",
nativeName: "Deutsch (Liechtenstein)",
language: "de",
numberFormat: {
",": "'",
"NaN": "n. def.",
negativeInfinity: "-unendlich",
positiveInfinity: "+unendlich",
percent: {
pattern: ["-n%","n%"],
",": "'"
},
currency: {
pattern: ["$-n","$ n"],
",": "'",
symbol: "CHF"
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"],
namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"]
},
months: {
names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""],
namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
},
AM: null,
PM: null,
eras: [{"name":"n. Chr.","start":null,"offset":0}],
patterns: {
d: "dd.MM.yyyy",
D: "dddd, d. MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dddd, d. MMMM yyyy HH:mm",
F: "dddd, d. MMMM yyyy HH:mm:ss",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,81 +0,0 @@
/*
* Globalize Culture de-LU
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "de-LU", "default", {
name: "de-LU",
englishName: "German (Luxembourg)",
nativeName: "Deutsch (Luxemburg)",
language: "de",
numberFormat: {
",": ".",
".": ",",
"NaN": "n. def.",
negativeInfinity: "-unendlich",
positiveInfinity: "+unendlich",
percent: {
pattern: ["-n%","n%"],
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"],
namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"]
},
months: {
names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""],
namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
},
AM: null,
PM: null,
eras: [{"name":"n. Chr.","start":null,"offset":0}],
patterns: {
d: "dd.MM.yyyy",
D: "dddd, d. MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dddd, d. MMMM yyyy HH:mm",
F: "dddd, d. MMMM yyyy HH:mm:ss",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,81 +0,0 @@
/*
* Globalize Culture de
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "de", "default", {
name: "de",
englishName: "German",
nativeName: "Deutsch",
language: "de",
numberFormat: {
",": ".",
".": ",",
"NaN": "n. def.",
negativeInfinity: "-unendlich",
positiveInfinity: "+unendlich",
percent: {
pattern: ["-n%","n%"],
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
"/": ".",
firstDay: 1,
days: {
names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"],
namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"]
},
months: {
names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""],
namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""]
},
AM: null,
PM: null,
eras: [{"name":"n. Chr.","start":null,"offset":0}],
patterns: {
d: "dd.MM.yyyy",
D: "dddd, d. MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dddd, d. MMMM yyyy HH:mm",
F: "dddd, d. MMMM yyyy HH:mm:ss",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,84 +0,0 @@
/*
* Globalize Culture dsb-DE
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "dsb-DE", "default", {
name: "dsb-DE",
englishName: "Lower Sorbian (Germany)",
nativeName: "dolnoserbšćina (Nimska)",
language: "dsb",
numberFormat: {
",": ".",
".": ",",
"NaN": "njedefinowane",
negativeInfinity: "-njekońcne",
positiveInfinity: "+njekońcne",
percent: {
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
"/": ". ",
firstDay: 1,
days: {
names: ["njeźela","ponjeźele","wałtora","srjoda","stwortk","pětk","sobota"],
namesAbbr: ["nje","pon","wał","srj","stw","pět","sob"],
namesShort: ["n","p","w","s","s","p","s"]
},
months: {
names: ["januar","februar","měrc","apryl","maj","junij","julij","awgust","september","oktober","nowember","december",""],
namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""]
},
monthsGenitive: {
names: ["januara","februara","měrca","apryla","maja","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""],
namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""]
},
AM: null,
PM: null,
eras: [{"name":"po Chr.","start":null,"offset":0}],
patterns: {
d: "d. M. yyyy",
D: "dddd, 'dnja' d. MMMM yyyy",
t: "H.mm 'goź.'",
T: "H:mm:ss",
f: "dddd, 'dnja' d. MMMM yyyy H.mm 'goź.'",
F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss",
M: "d. MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,84 +0,0 @@
/*
* Globalize Culture dsb
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "dsb", "default", {
name: "dsb",
englishName: "Lower Sorbian",
nativeName: "dolnoserbšćina",
language: "dsb",
numberFormat: {
",": ".",
".": ",",
"NaN": "njedefinowane",
negativeInfinity: "-njekońcne",
positiveInfinity: "+njekońcne",
percent: {
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
"/": ". ",
firstDay: 1,
days: {
names: ["njeźela","ponjeźele","wałtora","srjoda","stwortk","pětk","sobota"],
namesAbbr: ["nje","pon","wał","srj","stw","pět","sob"],
namesShort: ["n","p","w","s","s","p","s"]
},
months: {
names: ["januar","februar","měrc","apryl","maj","junij","julij","awgust","september","oktober","nowember","december",""],
namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""]
},
monthsGenitive: {
names: ["januara","februara","měrca","apryla","maja","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""],
namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""]
},
AM: null,
PM: null,
eras: [{"name":"po Chr.","start":null,"offset":0}],
patterns: {
d: "d. M. yyyy",
D: "dddd, 'dnja' d. MMMM yyyy",
t: "H.mm 'goź.'",
T: "H:mm:ss",
f: "dddd, 'dnja' d. MMMM yyyy H.mm 'goź.'",
F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss",
M: "d. MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,164 +0,0 @@
/*
* Globalize Culture dv-MV
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "dv-MV", "default", {
name: "dv-MV",
englishName: "Divehi (Maldives)",
nativeName: "ދިވެހިބަސް (ދިވެހި ރާއްޖެ)",
language: "dv",
isRTL: true,
numberFormat: {
currency: {
pattern: ["n $-","n $"],
symbol: "ރ."
}
},
calendars: {
standard: {
name: "Hijri",
days: {
names: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
namesAbbr: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
namesShort: ["އާ","ހޯ","އަ","ބު","ބު","ހު","ހޮ"]
},
months: {
names: ["މުޙައްރަމް","ޞަފަރު","ރަބީޢުލްއައްވަލް","ރަބީޢުލްއާޚިރު","ޖުމާދަލްއޫލާ","ޖުމާދަލްއާޚިރާ","ރަޖަބް","ޝަޢްބާން","ރަމަޟާން","ޝައްވާލް","ޛުލްޤަޢިދާ","ޛުލްޙިއްޖާ",""],
namesAbbr: ["މުޙައްރަމް","ޞަފަރު","ރަބީޢުލްއައްވަލް","ރަބީޢުލްއާޚިރު","ޖުމާދަލްއޫލާ","ޖުމާދަލްއާޚިރާ","ރަޖަބް","ޝަޢްބާން","ރަމަޟާން","ޝައްވާލް","ޛުލްޤަޢިދާ","ޛުލްޙިއްޖާ",""]
},
AM: ["މކ","މކ","މކ"],
PM: ["މފ","މފ","މފ"],
eras: [{"name":"ހިޖްރީ","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dd/MM/yyyy HH:mm",
F: "dd/MM/yyyy HH:mm:ss",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
Gregorian_Localized: {
days: {
names: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
namesAbbr: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
namesShort: ["އާ","ހޯ","އަ","ބު","ބު","ހު","ހޮ"]
},
months: {
names: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""],
namesAbbr: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""]
},
AM: ["މކ","މކ","މކ"],
PM: ["މފ","މފ","މފ"],
eras: [{"name":"މީލާދީ","start":null,"offset":0}],
patterns: {
d: "dd/MM/yy",
D: "ddd, yyyy MMMM dd",
t: "HH:mm",
T: "HH:mm:ss",
f: "ddd, yyyy MMMM dd HH:mm",
F: "ddd, yyyy MMMM dd HH:mm:ss",
Y: "yyyy, MMMM"
}
}
}
});
}( this ));
@@ -1,164 +0,0 @@
/*
* Globalize Culture dv
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "dv", "default", {
name: "dv",
englishName: "Divehi",
nativeName: "ދިވެހިބަސް",
language: "dv",
isRTL: true,
numberFormat: {
currency: {
pattern: ["n $-","n $"],
symbol: "ރ."
}
},
calendars: {
standard: {
name: "Hijri",
days: {
names: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
namesAbbr: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
namesShort: ["އާ","ހޯ","އަ","ބު","ބު","ހު","ހޮ"]
},
months: {
names: ["މުޙައްރަމް","ޞަފަރު","ރަބީޢުލްއައްވަލް","ރަބީޢުލްއާޚިރު","ޖުމާދަލްއޫލާ","ޖުމާދަލްއާޚިރާ","ރަޖަބް","ޝަޢްބާން","ރަމަޟާން","ޝައްވާލް","ޛުލްޤަޢިދާ","ޛުލްޙިއްޖާ",""],
namesAbbr: ["މުޙައްރަމް","ޞަފަރު","ރަބީޢުލްއައްވަލް","ރަބީޢުލްއާޚިރު","ޖުމާދަލްއޫލާ","ޖުމާދަލްއާޚިރާ","ރަޖަބް","ޝަޢްބާން","ރަމަޟާން","ޝައްވާލް","ޛުލްޤަޢިދާ","ޛުލްޙިއްޖާ",""]
},
AM: ["މކ","މކ","މކ"],
PM: ["މފ","މފ","މފ"],
eras: [{"name":"بعد الهجرة","start":null,"offset":0}],
twoDigitYearMax: 1451,
patterns: {
d: "dd/MM/yy",
D: "dd/MM/yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dd/MM/yyyy HH:mm",
F: "dd/MM/yyyy HH:mm:ss",
M: "dd MMMM"
},
convert: {
// Adapted to Script from System.Globalization.HijriCalendar
ticks1970: 62135596800000,
// number of days leading up to each month
monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
minDate: -42521673600000,
maxDate: 253402300799999,
// The number of days to add or subtract from the calendar to accommodate the variances
// in the start and the end of Ramadan and to accommodate the date difference between
// countries/regions. May be dynamically adjusted based on user preference, but should
// remain in the range of -2 to 2, inclusive.
hijriAdjustment: 0,
toGregorian: function(hyear, hmonth, hday) {
var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment;
// 86400000 = ticks per day
var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
// adjust for timezone, because we are interested in the gregorian date for the same timezone
// but ticks in javascript is always from GMT, unlike the server were ticks counts from the base
// date in the current timezone.
gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
return gdate;
},
fromGregorian: function(gdate) {
if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment;
// very particular formula determined by someone smart, adapted from the server-side implementation.
// it approximates the hijri year.
var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
absDays = this.daysToYear(hyear),
daysInYear = this.isLeapYear(hyear) ? 355 : 354;
// hyear is just approximate, it may need adjustment up or down by 1.
if (daysSinceJan0101 < absDays) {
hyear--;
absDays -= daysInYear;
}
else if (daysSinceJan0101 === absDays) {
hyear--;
absDays = this.daysToYear(hyear);
}
else {
if (daysSinceJan0101 > (absDays + daysInYear)) {
absDays += daysInYear;
hyear++;
}
}
// determine month by looking at how many days into the hyear we are
// monthDays contains the number of days up to each month.
hmonth = 0;
var daysIntoYear = daysSinceJan0101 - absDays;
while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
hmonth++;
}
hmonth--;
hday = daysIntoYear - this.monthDays[hmonth];
return [hyear, hmonth, hday];
},
daysToYear: function(year) {
// calculates how many days since Jan 1, 0001
var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
yearsInto30 = year - yearsToYear30 - 1,
days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
while (yearsInto30 > 0) {
days += (this.isLeapYear(yearsInto30) ? 355 : 354);
yearsInto30--;
}
return days;
},
isLeapYear: function(year) {
return ((((year * 11) + 14) % 30) < 11);
}
}
},
Gregorian_Localized: {
days: {
names: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
namesAbbr: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],
namesShort: ["އާ","ހޯ","އަ","ބު","ބު","ހު","ހޮ"]
},
months: {
names: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""],
namesAbbr: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""]
},
AM: ["މކ","މކ","މކ"],
PM: ["މފ","މފ","މފ"],
eras: [{"name":"މީލާދީ","start":null,"offset":0}],
patterns: {
d: "dd/MM/yy",
D: "ddd, yyyy MMMM dd",
t: "HH:mm",
T: "HH:mm:ss",
f: "ddd, yyyy MMMM dd HH:mm",
F: "ddd, yyyy MMMM dd HH:mm:ss",
Y: "yyyy, MMMM"
}
}
}
});
}( this ));
@@ -1,82 +0,0 @@
/*
* Globalize Culture el-GR
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "el-GR", "default", {
name: "el-GR",
englishName: "Greek (Greece)",
nativeName: "Ελληνικά (Ελλάδα)",
language: "el",
numberFormat: {
",": ".",
".": ",",
"NaN": "μη αριθμός",
negativeInfinity: "-Άπειρο",
positiveInfinity: "Άπειρο",
percent: {
pattern: ["-n%","n%"],
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
firstDay: 1,
days: {
names: ["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],
namesAbbr: ["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],
namesShort: ["Κυ","Δε","Τρ","Τε","Πε","Πα","Σά"]
},
months: {
names: ["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος",""],
namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""]
},
monthsGenitive: {
names: ["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου",""],
namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""]
},
AM: ["πμ","πμ","ΠΜ"],
PM: ["μμ","μμ","ΜΜ"],
eras: [{"name":"μ.Χ.","start":null,"offset":0}],
patterns: {
d: "d/M/yyyy",
D: "dddd, d MMMM yyyy",
f: "dddd, d MMMM yyyy h:mm tt",
F: "dddd, d MMMM yyyy h:mm:ss tt",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,82 +0,0 @@
/*
* Globalize Culture el
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "el", "default", {
name: "el",
englishName: "Greek",
nativeName: "Ελληνικά",
language: "el",
numberFormat: {
",": ".",
".": ",",
"NaN": "μη αριθμός",
negativeInfinity: "-Άπειρο",
positiveInfinity: "Άπειρο",
percent: {
pattern: ["-n%","n%"],
",": ".",
".": ","
},
currency: {
pattern: ["-n $","n $"],
",": ".",
".": ",",
symbol: "€"
}
},
calendars: {
standard: {
firstDay: 1,
days: {
names: ["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],
namesAbbr: ["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],
namesShort: ["Κυ","Δε","Τρ","Τε","Πε","Πα","Σά"]
},
months: {
names: ["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος",""],
namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""]
},
monthsGenitive: {
names: ["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου",""],
namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""]
},
AM: ["πμ","πμ","ΠΜ"],
PM: ["μμ","μμ","ΜΜ"],
eras: [{"name":"μ.Χ.","start":null,"offset":0}],
patterns: {
d: "d/M/yyyy",
D: "dddd, d MMMM yyyy",
f: "dddd, d MMMM yyyy h:mm tt",
F: "dddd, d MMMM yyyy h:mm:ss tt",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,47 +0,0 @@
/*
* Globalize Culture en-029
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "en-029", "default", {
name: "en-029",
englishName: "English (Caribbean)",
nativeName: "English (Caribbean)",
numberFormat: {
currency: {
pattern: ["-$n","$n"]
}
},
calendars: {
standard: {
firstDay: 1,
patterns: {
d: "MM/dd/yyyy"
}
}
}
});
}( this ));
@@ -1,52 +0,0 @@
/*
* Globalize Culture en-AU
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "en-AU", "default", {
name: "en-AU",
englishName: "English (Australia)",
nativeName: "English (Australia)",
numberFormat: {
currency: {
pattern: ["-$n","$n"]
}
},
calendars: {
standard: {
firstDay: 1,
patterns: {
d: "d/MM/yyyy",
D: "dddd, d MMMM yyyy",
f: "dddd, d MMMM yyyy h:mm tt",
F: "dddd, d MMMM yyyy h:mm:ss tt",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,54 +0,0 @@
/*
* Globalize Culture en-BZ
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "en-BZ", "default", {
name: "en-BZ",
englishName: "English (Belize)",
nativeName: "English (Belize)",
numberFormat: {
currency: {
groupSizes: [3,0],
symbol: "BZ$"
}
},
calendars: {
standard: {
patterns: {
d: "dd/MM/yyyy",
D: "dddd, dd MMMM yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, dd MMMM yyyy hh:mm tt",
F: "dddd, dd MMMM yyyy hh:mm:ss tt",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,49 +0,0 @@
/*
* Globalize Culture en-CA
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "en-CA", "default", {
name: "en-CA",
englishName: "English (Canada)",
nativeName: "English (Canada)",
numberFormat: {
currency: {
pattern: ["-$n","$n"]
}
},
calendars: {
standard: {
patterns: {
d: "dd/MM/yyyy",
D: "MMMM-dd-yy",
f: "MMMM-dd-yy h:mm tt",
F: "MMMM-dd-yy h:mm:ss tt"
}
}
}
});
}( this ));
@@ -1,55 +0,0 @@
/*
* Globalize Culture en-GB
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "en-GB", "default", {
name: "en-GB",
englishName: "English (United Kingdom)",
nativeName: "English (United Kingdom)",
numberFormat: {
currency: {
pattern: ["-$n","$n"],
symbol: "£"
}
},
calendars: {
standard: {
firstDay: 1,
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dd MMMM yyyy HH:mm",
F: "dd MMMM yyyy HH:mm:ss",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,57 +0,0 @@
/*
* Globalize Culture en-IE
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "en-IE", "default", {
name: "en-IE",
englishName: "English (Ireland)",
nativeName: "English (Ireland)",
numberFormat: {
currency: {
pattern: ["-$n","$n"],
symbol: "€"
}
},
calendars: {
standard: {
firstDay: 1,
AM: null,
PM: null,
patterns: {
d: "dd/MM/yyyy",
D: "dd MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dd MMMM yyyy HH:mm",
F: "dd MMMM yyyy HH:mm:ss",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,60 +0,0 @@
/*
* Globalize Culture en-IN
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "en-IN", "default", {
name: "en-IN",
englishName: "English (India)",
nativeName: "English (India)",
numberFormat: {
groupSizes: [3,2],
percent: {
groupSizes: [3,2]
},
currency: {
pattern: ["$ -n","$ n"],
groupSizes: [3,2],
symbol: "Rs."
}
},
calendars: {
standard: {
"/": "-",
firstDay: 1,
patterns: {
d: "dd-MM-yyyy",
D: "dd MMMM yyyy",
t: "HH:mm",
T: "HH:mm:ss",
f: "dd MMMM yyyy HH:mm",
F: "dd MMMM yyyy HH:mm:ss",
M: "dd MMMM"
}
}
}
});
}( this ));
@@ -1,51 +0,0 @@
/*
* Globalize Culture en-JM
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "en-JM", "default", {
name: "en-JM",
englishName: "English (Jamaica)",
nativeName: "English (Jamaica)",
numberFormat: {
currency: {
pattern: ["-$n","$n"],
symbol: "J$"
}
},
calendars: {
standard: {
patterns: {
d: "dd/MM/yyyy",
t: "hh:mm tt",
T: "hh:mm:ss tt",
f: "dddd, MMMM dd, yyyy hh:mm tt",
F: "dddd, MMMM dd, yyyy hh:mm:ss tt"
}
}
}
});
}( this ));
@@ -1,56 +0,0 @@
/*
* Globalize Culture en-MY
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "en-MY", "default", {
name: "en-MY",
englishName: "English (Malaysia)",
nativeName: "English (Malaysia)",
numberFormat: {
percent: {
pattern: ["-n%","n%"]
},
currency: {
symbol: "RM"
}
},
calendars: {
standard: {
days: {
namesShort: ["S","M","T","W","T","F","S"]
},
patterns: {
d: "d/M/yyyy",
D: "dddd, d MMMM, yyyy",
f: "dddd, d MMMM, yyyy h:mm tt",
F: "dddd, d MMMM, yyyy h:mm:ss tt",
M: "d MMMM"
}
}
}
});
}( this ));
@@ -1,54 +0,0 @@
/*
* Globalize Culture en-NZ
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "en-NZ", "default", {
name: "en-NZ",
englishName: "English (New Zealand)",
nativeName: "English (New Zealand)",
numberFormat: {
currency: {
pattern: ["-$n","$n"]
}
},
calendars: {
standard: {
firstDay: 1,
AM: ["a.m.","a.m.","A.M."],
PM: ["p.m.","p.m.","P.M."],
patterns: {
d: "d/MM/yyyy",
D: "dddd, d MMMM yyyy",
f: "dddd, d MMMM yyyy h:mm tt",
F: "dddd, d MMMM yyyy h:mm:ss tt",
M: "dd MMMM",
Y: "MMMM yyyy"
}
}
}
});
}( this ));
@@ -1,39 +0,0 @@
/*
* Globalize Culture en-PH
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "en-PH", "default", {
name: "en-PH",
englishName: "English (Republic of the Philippines)",
nativeName: "English (Philippines)",
numberFormat: {
currency: {
symbol: "Php"
}
}
});
}( this ));
@@ -1,53 +0,0 @@
/*
* Globalize Culture en-SG
*
* http://github.com/jquery/globalize
*
* Copyright Software Freedom Conservancy, Inc.
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* This file was generated by the Globalize Culture Generator
* Translation: bugs found in this file need to be fixed in the generator
*/
(function( window, undefined ) {
var Globalize;
if ( typeof require !== "undefined" &&
typeof exports !== "undefined" &&
typeof module !== "undefined" ) {
// Assume CommonJS
Globalize = require( "globalize" );
} else {
// Global variable
Globalize = window.Globalize;
}
Globalize.addCultureInfo( "en-SG", "default", {
name: "en-SG",
englishName: "English (Singapore)",
nativeName: "English (Singapore)",
numberFormat: {
percent: {
pattern: ["-n%","n%"]
}
},
calendars: {
standard: {
days: {
namesShort: ["S","M","T","W","T","F","S"]
},
patterns: {
d: "d/M/yyyy",
D: "dddd, d MMMM, yyyy",
f: "dddd, d MMMM, yyyy h:mm tt",
F: "dddd, d MMMM, yyyy h:mm:ss tt",
M: "d MMMM"
}
}
}
});
}( this ));

Some files were not shown because too many files have changed in this diff Show More