{"version":3,"sources":["webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/@formatjs+fast-memoize@2.2.0/node_modules/@formatjs/fast-memoize/lib/index.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.7.6/node_modules/@formatjs/icu-messageformat-parser/lib/error.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.7.6/node_modules/@formatjs/icu-messageformat-parser/lib/types.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.7.6/node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/@formatjs+icu-skeleton-parser@1.8.0/node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/@formatjs+icu-skeleton-parser@1.8.0/node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/@formatjs+icu-skeleton-parser@1.8.0/node_modules/@formatjs/icu-skeleton-parser/lib/number.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.7.6/node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.7.6/node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.7.6/node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/@formatjs+icu-messageformat-parser@2.7.6/node_modules/@formatjs/icu-messageformat-parser/lib/index.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/core-js@3.23.5/node_modules/core-js/internals/new-promise-capability.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/core-js@3.23.5/node_modules/core-js/internals/promise-native-constructor.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/core-js@3.23.5/node_modules/core-js/internals/promise-resolve.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/core-js@3.23.5/node_modules/core-js/modules/es.promise.finally.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/core-js@3.23.5/node_modules/core-js/modules/es.string.at-alternative.js","webpack://@lemon8/web-seo/../common/temp/split__lemon8_web_seo/node_modules/.pnpm/html-parse-stringify@3.0.1/node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.15.4/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/toArray.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://@lemon8/web-seo/javascript/common/temp/split__lemon8_web_seo/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/esm/typeof.js"],"names":["memoize","fn","options","cache","cacheDefault","serializer","serializerDefault","strategy","strategyDefault","isPrimitive","value","monadic","arg","cacheKey","computedValue","variadic","args","assemble","context","serialize","strategyVariadic","strategyMonadic","ObjectWithoutPrototypeCache","key","strategies","ErrorKind","TYPE","SKELETON_TYPE","isLiteralElement","el","isArgumentElement","isNumberElement","isDateElement","isTimeElement","isSelectElement","isPluralElement","isPoundElement","isTagElement","isNumberSkeleton","isDateTimeSkeleton","createLiteralElement","createNumberElement","style","SPACE_SEPARATOR_REGEX","WHITE_SPACE_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","skeleton","result","match","len","parseNumberSkeletonFromString","stringTokens","x","tokens","_i","stringTokens_1","stringToken","stemAndOptions","stem","_a","options_1","option","icuUnitToEcma","unit","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","INTEGER_WIDTH_REGEX","CONCISE_INTEGER_WIDTH_REGEX","parseSignificantPrecision","str","_","g1","g2","parseSign","parseConciseScientificAndEngineeringStem","signDisplay","parseNotationOptions","opt","signOpts","parseNumberSkeleton","tokens_1","token","all","g3","g4","g5","conciseScientificAndEngineeringOpts","timeData","getBestPattern","locale","skeletonCopy","patternPos","patternChar","extraLength","hourLen","dayPeriodLen","dayPeriodChar","hourChar","getDefaultHourSymbolFromLocale","hourCycle","languageTag","regionTag","hourCycles","SPACE_SEPARATOR_START_REGEX","SPACE_SEPARATOR_END_REGEX","createLocation","start","end","hasNativeStartsWith","hasNativeFromCodePoint","hasNativeFromEntries","hasNativeCodePointAt","hasTrimStart","hasTrimEnd","hasNativeIsSafeInteger","isSafeInteger","n","REGEX_SUPPORTS_U_AND_Y","re","RE","startsWith","s","search","position","fromCodePoint","codePoints","elements","length","i","code","fromEntries","entries","obj","entries_1","k","v","codePointAt","index","size","first","second","trimStart","trimEnd","flag","matchIdentifierAtIndex","IDENTIFIER_PREFIX_RE_1","c","_isWhiteSpace","_isPatternSyntax","Parser","message","nestingLevel","parentArgType","expectingCloseTag","char","_isAlpha","startPosition","tagName","childrenResult","children","endTagStartPosition","closingTagNameStartPosition","closingTagName","startOffset","_isPotentialElementNameChar","parseQuoteResult","parseUnquotedResult","parseLeftAngleResult","location","_isAlphaOrSlash","ch","openingBracePosition","startingPosition","endOffset","endPosition","typeStartPosition","argType","typeEndPosition","styleAndLocation","styleStartPosition","styleLocation","argCloseResult","location_1","dateTimePattern","type","typeEndPosition_1","identifierAndLocation","pluralOffset","optionsResult","location_2","nestedBraces","apostrophePosition","e","expectCloseTag","parsedFirstIdentifier","hasOtherClause","parsedSelectors","selector","selectorLocation","fragmentResult","expectNumberError","invalidNumberError","sign","hasDigits","decimal","offset","kind","prefix","pattern","currentOffset","targetOffset","nextCode","codepoint","pruneLocation","els","parse","opts","error","_Parser","aCallable","PromiseCapability","C","resolve","reject","$$resolve","$$reject","module","global","anObject","isObject","newPromiseCapability","promiseCapability","$","IS_PURE","NativePromiseConstructor","fails","getBuiltIn","isCallable","speciesConstructor","promiseResolve","defineBuiltIn","NativePromisePrototype","NON_GENERIC","onFinally","isFunction","method","uncurryThis","requireObjectCoercible","toIntegerOrInfinity","toString","charAt","FORCED","S","relativeIndex","t","r","a","o","l","m","u","f","h","p","d","g","_typeof","_assertThisInitialized","self","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_possibleConstructorReturn","call","_arrayWithHoles","arr","_iterableToArray","iter","_arrayLikeToArray","arr2","_unsupportedIterableToArray","minLen","_nonIterableRest","_toArray","toPrimitive","toPropertyKey"],"mappings":"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CF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,IACA,KACA,GACJ,EACA,GAAM,CACF,IACA,KACA,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,GACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,KACA,KACA,IACA,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,KACA,GACJ,EACA,GAAM,CACF,IACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,KACA,KACA,IACA,GACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,KACA,GACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACA,GACJ,EACA,GAAM,CACF,KACA,KACA,IACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,KACA,IACA,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,KACA,KACA,IACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,KACA,KACA,IACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,KACA,GACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,GACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,KACA,KACA,IACA,GACJ,EACA,GAAM,CACF,KACA,KACA,IACA,GACJ,EACA,GAAM,CACF,IACA,KACA,GACJ,EACA,GAAM,CACF,KACA,KACA,IACA,GACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,GAAM,CACF,IACA,KACA,GACJ,EACA,GAAM,CACF,IACA,KACA,KACA,GACJ,EACA,GAAM,CACF,IACA,IACJ,EACA,GAAM,CACF,IACA,IACA,KACA,IACJ,EACA,GAAM,CACF,IACA,KACA,IACA,IACJ,EACA,GAAM,CACF,IACA,GACJ,EACA,QAAS,CACL,IACA,IACA,KACA,IACJ,EACA,SAAU,CACN,IACA,KACA,KACA,GACJ,EACA,QAAS,CACL,IACA,IACA,IACJ,EACA,SAAU,CACN,IACA,KACA,IACA,IACJ,EACA,QAAS,CACL,IACA,IACA,KACA,IACJ,EACA,QAAS,CACL,IACA,IACA,KACA,IACJ,EACA,QAAS,CACL,IACA,IACA,KACA,IACJ,EACA,QAAS,CACL,IACA,IACA,KACA,IACJ,EACA,QAAS,CACL,IACA,IACA,KACA,IACJ,EACA,QAAS,CACL,IACA,IACA,KACA,IACJ,EACA,QAAS,CACL,IACA,IACA,IACJ,EACA,QAAS,CACL,IACA,IACA,IACJ,EACA,QAAS,CACL,KACA,KACA,IACA,GACJ,EACA,QAAS,CACL,KACA,IACA,GACJ,EACA,QAAS,CACL,IACA,IACA,IACJ,EACA,QAAS,CACL,IACA,IACA,IACJ,EACA,QAAS,CACL,KACA,IACA,GACJ,EACA,QAAS,CACL,KACA,IACA,GACJ,EACA,QAAS,CACL,KACA,KACA,IACA,GACJ,EACA,QAAS,CACL,KACA,KACA,IACA,GACJ,EACA,QAAS,CACL,KACA,IACA,KACA,GACJ,EACA,QAAS,CACL,KACA,IACA,GACJ,EACA,QAAS,CACL,IACA,KACA,KACA,GACJ,CACJ,EC13CO,SAASC,GAAe1C,EAAU2C,EAAQ,CAE7C,QADIC,EAAe,GACVC,EAAa,EAAGA,EAAa7C,EAAS,OAAQ6C,IAAc,CACjE,IAAIC,EAAc9C,EAAS,OAAO6C,CAAU,EAC5C,GAAIC,IAAgB,IAAK,CAErB,QADIC,EAAc,EACXF,EAAa,EAAI7C,EAAS,QAC7BA,EAAS,OAAO6C,EAAa,CAAC,IAAMC,GACpCC,IACAF,IAEJ,IAAIG,EAAU,GAAKD,EAAc,GAC7BE,EAAeF,EAAc,EAAI,EAAI,GAAKA,GAAe,GACzDG,EAAgB,IAChBC,EAAWC,GAA+BT,CAAM,EAIpD,KAHIQ,GAAY,KAAOA,GAAY,OAC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,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IA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","file":"2-52be75604d585c9ed219.js","sourcesContent":["//\n// Main\n//\nexport function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n },\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic,\n};\n","export var ErrorKind;\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `foo) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));\n","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.dateTime);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n","// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) patterns are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: milliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\n","import { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n }\n // Parse the skeleton\n var stringTokens = skeleton\n .split(WHITE_SPACE_REGEX)\n .filter(function (x) { return x.length > 0; });\n var tokens = [];\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n var stem = stemAndOptions[0], options = stemAndOptions.slice(1);\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n tokens.push({ stem: stem, options: options });\n }\n return tokens;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n var result = {};\n if (str[str.length - 1] === 'r') {\n result.roundingPriority = 'morePrecision';\n }\n else if (str[str.length - 1] === 's') {\n result.roundingPriority = 'lessPrecision';\n }\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n case '()':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering',\n };\n stem = stem.slice(2);\n }\n else if (stem[0] === 'E') {\n result = {\n notation: 'scientific',\n };\n stem = stem.slice(1);\n }\n if (result) {\n var signDisplay = stem.slice(0, 2);\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n }\n else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n result.minimumIntegerDigits = stem.length;\n }\n return result;\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function parseNumberSkeleton(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n case '%':\n result.style = 'percent';\n continue;\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n case 'KK':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n case 'rounding-mode-floor':\n result.roundingMode = 'floor';\n continue;\n case 'rounding-mode-ceiling':\n result.roundingMode = 'ceil';\n continue;\n case 'rounding-mode-down':\n result.roundingMode = 'trunc';\n continue;\n case 'rounding-mode-up':\n result.roundingMode = 'expand';\n continue;\n case 'rounding-mode-half-even':\n result.roundingMode = 'halfEven';\n continue;\n case 'rounding-mode-half-down':\n result.roundingMode = 'halfTrunc';\n continue;\n case 'rounding-mode-half-up':\n result.roundingMode = 'halfExpand';\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n }\n else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n }\n else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n return '';\n });\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n var opt = token.options[0];\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n if (opt === 'w') {\n result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });\n }\n else if (opt) {\n result = __assign(__assign({}, result), parseSignificantPrecision(opt));\n }\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n return result;\n}\n","// @generated from time-data-gen.ts\n// prettier-ignore \nexport var timeData = {\n \"001\": [\n \"H\",\n \"h\"\n ],\n \"AC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AD\": [\n \"H\",\n \"hB\"\n ],\n \"AE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"AF\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"AG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AL\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"AM\": [\n \"H\",\n \"hB\"\n ],\n \"AO\": [\n \"H\",\n \"hB\"\n ],\n \"AR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"AS\": [\n \"h\",\n \"H\"\n ],\n \"AT\": [\n \"H\",\n \"hB\"\n ],\n \"AU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AW\": [\n \"H\",\n \"hB\"\n ],\n \"AX\": [\n \"H\"\n ],\n \"AZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BD\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"BE\": [\n \"H\",\n \"hB\"\n ],\n \"BF\": [\n \"H\",\n \"hB\"\n ],\n \"BG\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"BI\": [\n \"H\",\n \"h\"\n ],\n \"BJ\": [\n \"H\",\n \"hB\"\n ],\n \"BL\": [\n \"H\",\n \"hB\"\n ],\n \"BM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BN\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"BO\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"BQ\": [\n \"H\"\n ],\n \"BR\": [\n \"H\",\n \"hB\"\n ],\n \"BS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BT\": [\n \"h\",\n \"H\"\n ],\n \"BW\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"BY\": [\n \"H\",\n \"h\"\n ],\n \"BZ\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CA\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"CC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CD\": [\n \"hB\",\n \"H\"\n ],\n \"CF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CG\": [\n \"H\",\n \"hB\"\n ],\n \"CH\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"CI\": [\n \"H\",\n \"hB\"\n ],\n \"CK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CL\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CN\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"CO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"CP\": [\n \"H\"\n ],\n \"CR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CU\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CV\": [\n \"H\",\n \"hB\"\n ],\n \"CW\": [\n \"H\",\n \"hB\"\n ],\n \"CX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CY\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"CZ\": [\n \"H\"\n ],\n \"DE\": [\n \"H\",\n \"hB\"\n ],\n \"DG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"DJ\": [\n \"h\",\n \"H\"\n ],\n \"DK\": [\n \"H\"\n ],\n \"DM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"DO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"DZ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"EC\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"EE\": [\n \"H\",\n \"hB\"\n ],\n \"EG\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ER\": [\n \"h\",\n \"H\"\n ],\n \"ES\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"ET\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"FI\": [\n \"H\"\n ],\n \"FJ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"FM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FO\": [\n \"H\",\n \"h\"\n ],\n \"FR\": [\n \"H\",\n \"hB\"\n ],\n \"GA\": [\n \"H\",\n \"hB\"\n ],\n \"GB\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GD\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GE\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"GF\": [\n \"H\",\n \"hB\"\n ],\n \"GG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GH\": [\n \"h\",\n \"H\"\n ],\n \"GI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GL\": [\n \"H\",\n \"h\"\n ],\n \"GM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GN\": [\n \"H\",\n \"hB\"\n ],\n \"GP\": [\n \"H\",\n \"hB\"\n ],\n \"GQ\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"GR\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"GT\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"GU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GW\": [\n \"H\",\n \"hB\"\n ],\n \"GY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"HK\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"HN\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"HR\": [\n \"H\",\n \"hB\"\n ],\n \"HU\": [\n \"H\",\n \"h\"\n ],\n \"IC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"ID\": [\n \"H\"\n ],\n \"IE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IL\": [\n \"H\",\n \"hB\"\n ],\n \"IM\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IN\": [\n \"h\",\n \"H\"\n ],\n \"IO\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IQ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"IR\": [\n \"hB\",\n \"H\"\n ],\n \"IS\": [\n \"H\"\n ],\n \"IT\": [\n \"H\",\n \"hB\"\n ],\n \"JE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"JM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"JO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"JP\": [\n \"H\",\n \"K\",\n \"h\"\n ],\n \"KE\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"KG\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KH\": [\n \"hB\",\n \"h\",\n \"H\",\n \"hb\"\n ],\n \"KI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KM\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KN\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KP\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KW\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"KY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KZ\": [\n \"H\",\n \"hB\"\n ],\n \"LA\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"LB\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"LC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LI\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"LK\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"LR\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LS\": [\n \"h\",\n \"H\"\n ],\n \"LT\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"LU\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"LV\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"LY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MC\": [\n \"H\",\n \"hB\"\n ],\n \"MD\": [\n \"H\",\n \"hB\"\n ],\n \"ME\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"MF\": [\n \"H\",\n \"hB\"\n ],\n \"MG\": [\n \"H\",\n \"h\"\n ],\n \"MH\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ML\": [\n \"H\"\n ],\n \"MM\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"MN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MP\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MQ\": [\n \"H\",\n \"hB\"\n ],\n \"MR\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MS\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MT\": [\n \"H\",\n \"h\"\n ],\n \"MU\": [\n \"H\",\n \"h\"\n ],\n \"MV\": [\n \"H\",\n \"h\"\n ],\n \"MW\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MX\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MY\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"MZ\": [\n \"H\",\n \"hB\"\n ],\n \"NA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"NC\": [\n \"H\",\n \"hB\"\n ],\n \"NE\": [\n \"H\"\n ],\n \"NF\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NI\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"NL\": [\n \"H\",\n \"hB\"\n ],\n \"NO\": [\n \"H\",\n \"h\"\n ],\n \"NP\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"NR\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NU\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"OM\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PE\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"PF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"PG\": [\n \"h\",\n \"H\"\n ],\n \"PH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PK\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"PL\": [\n \"H\",\n \"h\"\n ],\n \"PM\": [\n \"H\",\n \"hB\"\n ],\n \"PN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"PR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PS\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PT\": [\n \"H\",\n \"hB\"\n ],\n \"PW\": [\n \"h\",\n \"H\"\n ],\n \"PY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"QA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"RE\": [\n \"H\",\n \"hB\"\n ],\n \"RO\": [\n \"H\",\n \"hB\"\n ],\n \"RS\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"RU\": [\n \"H\"\n ],\n \"RW\": [\n \"H\",\n \"h\"\n ],\n \"SA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SC\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SD\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SE\": [\n \"H\"\n ],\n \"SG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SH\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SI\": [\n \"H\",\n \"hB\"\n ],\n \"SJ\": [\n \"H\"\n ],\n \"SK\": [\n \"H\"\n ],\n \"SL\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SN\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SO\": [\n \"h\",\n \"H\"\n ],\n \"SR\": [\n \"H\",\n \"hB\"\n ],\n \"SS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"ST\": [\n \"H\",\n \"hB\"\n ],\n \"SV\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"SX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"TC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TD\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"TF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"TG\": [\n \"H\",\n \"hB\"\n ],\n \"TH\": [\n \"H\",\n \"h\"\n ],\n \"TJ\": [\n \"H\",\n \"h\"\n ],\n \"TL\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"TM\": [\n \"H\",\n \"h\"\n ],\n \"TN\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"TO\": [\n \"h\",\n \"H\"\n ],\n \"TR\": [\n \"H\",\n \"hB\"\n ],\n \"TT\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TW\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"TZ\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"UG\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"US\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"UY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"UZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"VA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"VC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VE\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"VG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VN\": [\n \"H\",\n \"h\"\n ],\n \"VU\": [\n \"h\",\n \"H\"\n ],\n \"WF\": [\n \"H\",\n \"hB\"\n ],\n \"WS\": [\n \"h\",\n \"H\"\n ],\n \"XK\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"YE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"YT\": [\n \"H\",\n \"hB\"\n ],\n \"ZA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ZM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"ZW\": [\n \"H\",\n \"h\"\n ],\n \"af-ZA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"ar-001\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ca-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"en-001\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"es-BO\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-BR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-EC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-ES\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-GQ\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-PE\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"fr-CA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gl-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gu-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"hi-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"it-CH\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-IT\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"kn-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ml-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"mr-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"pa-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"ta-IN\": [\n \"hB\",\n \"h\",\n \"hb\",\n \"H\"\n ],\n \"te-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"zu-ZA\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ]\n};\n","import { timeData } from './time-data.generated';\n/**\n * Returns the best matching date time pattern if a date time skeleton\n * pattern is provided with a locale. Follows the Unicode specification:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns\n * @param skeleton date time skeleton pattern that possibly includes j, J or C\n * @param locale\n */\nexport function getBestPattern(skeleton, locale) {\n var skeletonCopy = '';\n for (var patternPos = 0; patternPos < skeleton.length; patternPos++) {\n var patternChar = skeleton.charAt(patternPos);\n if (patternChar === 'j') {\n var extraLength = 0;\n while (patternPos + 1 < skeleton.length &&\n skeleton.charAt(patternPos + 1) === patternChar) {\n extraLength++;\n patternPos++;\n }\n var hourLen = 1 + (extraLength & 1);\n var dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1);\n var dayPeriodChar = 'a';\n var hourChar = getDefaultHourSymbolFromLocale(locale);\n if (hourChar == 'H' || hourChar == 'k') {\n dayPeriodLen = 0;\n }\n while (dayPeriodLen-- > 0) {\n skeletonCopy += dayPeriodChar;\n }\n while (hourLen-- > 0) {\n skeletonCopy = hourChar + skeletonCopy;\n }\n }\n else if (patternChar === 'J') {\n skeletonCopy += 'H';\n }\n else {\n skeletonCopy += patternChar;\n }\n }\n return skeletonCopy;\n}\n/**\n * Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)\n * of the given `locale` to the corresponding time pattern.\n * @param locale\n */\nfunction getDefaultHourSymbolFromLocale(locale) {\n var hourCycle = locale.hourCycle;\n if (hourCycle === undefined &&\n // @ts-ignore hourCycle(s) is not identified yet\n locale.hourCycles &&\n // @ts-ignore\n locale.hourCycles.length) {\n // @ts-ignore\n hourCycle = locale.hourCycles[0];\n }\n if (hourCycle) {\n switch (hourCycle) {\n case 'h24':\n return 'k';\n case 'h23':\n return 'H';\n case 'h12':\n return 'h';\n case 'h11':\n return 'K';\n default:\n throw new Error('Invalid hourCycle');\n }\n }\n // TODO: Once hourCycle is fully supported remove the following with data generation\n var languageTag = locale.language;\n var regionTag;\n if (languageTag !== 'root') {\n regionTag = locale.maximize().region;\n }\n var hourCycles = timeData[regionTag || ''] ||\n timeData[languageTag || ''] ||\n timeData[\"\".concat(languageTag, \"-001\")] ||\n timeData['001'];\n return hourCycles[0];\n}\n","var _a;\nimport { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { SKELETON_TYPE, TYPE, } from './types';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton, } from '@formatjs/icu-skeleton-parser';\nimport { getBestPattern } from './date-time-pattern-generator';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\".concat(SPACE_SEPARATOR_REGEX.source, \"*\"));\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(\"\".concat(SPACE_SEPARATOR_REGEX.source, \"*$\"));\nfunction createLocation(start, end) {\n return { start: start, end: end };\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nvar hasNativeStartsWith = !!String.prototype.startsWith && '_a'.startsWith('a', 1);\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger\n ? Number.isSafeInteger\n : function (n) {\n return (typeof n === 'number' &&\n isFinite(n) &&\n Math.floor(n) === n &&\n Math.abs(n) <= 0x1fffffffffffff);\n };\n// IE11 does not support y and u.\nvar REGEX_SUPPORTS_U_AND_Y = true;\ntry {\n var re = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n /**\n * legacy Edge or Xbox One browser\n * Unicode flag support: supported\n * Pattern_Syntax support: not supported\n * See https://github.com/formatjs/formatjs/issues/2822\n */\n REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec('a')) === null || _a === void 0 ? void 0 : _a[0]) === 'a';\n}\ncatch (_) {\n REGEX_SUPPORTS_U_AND_Y = false;\n}\nvar startsWith = hasNativeStartsWith\n ? // Native\n function startsWith(s, search, position) {\n return s.startsWith(search, position);\n }\n : // For IE11\n function startsWith(s, search, position) {\n return s.slice(position, position + search.length) === search;\n };\nvar fromCodePoint = hasNativeFromCodePoint\n ? String.fromCodePoint\n : // IE11\n function fromCodePoint() {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n var elements = '';\n var length = codePoints.length;\n var i = 0;\n var code;\n while (length > i) {\n code = codePoints[i++];\n if (code > 0x10ffff)\n throw RangeError(code + ' is not a valid code point');\n elements +=\n code < 0x10000\n ? String.fromCharCode(code)\n : String.fromCharCode(((code -= 0x10000) >> 10) + 0xd800, (code % 0x400) + 0xdc00);\n }\n return elements;\n };\nvar fromEntries = \n// native\nhasNativeFromEntries\n ? Object.fromEntries\n : // Ponyfill\n function fromEntries(entries) {\n var obj = {};\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i], k = _a[0], v = _a[1];\n obj[k] = v;\n }\n return obj;\n };\nvar codePointAt = hasNativeCodePointAt\n ? // Native\n function codePointAt(s, index) {\n return s.codePointAt(index);\n }\n : // IE 11\n function codePointAt(s, index) {\n var size = s.length;\n if (index < 0 || index >= size) {\n return undefined;\n }\n var first = s.charCodeAt(index);\n var second;\n return first < 0xd800 ||\n first > 0xdbff ||\n index + 1 === size ||\n (second = s.charCodeAt(index + 1)) < 0xdc00 ||\n second > 0xdfff\n ? first\n : ((first - 0xd800) << 10) + (second - 0xdc00) + 0x10000;\n };\nvar trimStart = hasTrimStart\n ? // Native\n function trimStart(s) {\n return s.trimStart();\n }\n : // Ponyfill\n function trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n };\nvar trimEnd = hasTrimEnd\n ? // Native\n function trimEnd(s) {\n return s.trimEnd();\n }\n : // Ponyfill\n function trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n };\n// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.\nfunction RE(s, flag) {\n return new RegExp(s, flag);\n}\n// #endregion\nvar matchIdentifierAtIndex;\nif (REGEX_SUPPORTS_U_AND_Y) {\n // Native\n var IDENTIFIER_PREFIX_RE_1 = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var _a;\n IDENTIFIER_PREFIX_RE_1.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE_1.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n };\n}\nelse {\n // IE11\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var match = [];\n while (true) {\n var c = codePointAt(s, index);\n if (c === undefined || _isWhiteSpace(c) || _isPatternSyntax(c)) {\n break;\n }\n match.push(c);\n index += c >= 0x10000 ? 2 : 1;\n }\n return fromCodePoint.apply(void 0, match);\n };\n}\nvar Parser = /** @class */ (function () {\n function Parser(message, options) {\n if (options === void 0) { options = {}; }\n this.message = message;\n this.position = { offset: 0, line: 1, column: 1 };\n this.ignoreTag = !!options.ignoreTag;\n this.locale = options.locale;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n return this.parseMessage(0, '', false);\n };\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n while (!this.isEOF()) {\n var char = this.char();\n if (char === 123 /* `{` */) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else if (char === 125 /* `}` */ && nestingLevel > 0) {\n break;\n }\n else if (char === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition()),\n });\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n }\n else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n }\n return { val: elements, err: null };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n var tagName = this.parseTagName();\n this.bumpSpace();\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\".concat(tagName, \"/>\"),\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n if (childrenResult.err) {\n return childrenResult;\n }\n var children = childrenResult.val;\n // Expecting a close tag\n var endTagStartPosition = this.clonePosition();\n if (this.bumpIf('')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n }\n else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n return this.message.slice(startOffset, this.offset());\n };\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n break;\n }\n var location = createLocation(start, this.clonePosition());\n return {\n val: { type: TYPE.literal, value: value, location: location },\n err: null,\n };\n };\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() &&\n this.char() === 60 /* `<` */ &&\n (this.ignoreTag ||\n // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n return '<';\n }\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39 /* `'` */) {\n return null;\n }\n // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n switch (this.peek()) {\n case 39 /* `'` */:\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35: // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n return null;\n default:\n return null;\n }\n this.bump(); // apostrophe\n var codePoints = [this.char()]; // escaped char\n this.bump();\n // read chars until the optional closing apostrophe is found\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch === 39 /* `'` */) {\n if (this.peek() === 39 /* `'` */) {\n codePoints.push(39);\n // Bump one more time because we need to skip 2 characters.\n this.bump();\n }\n else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n }\n else {\n codePoints.push(ch);\n }\n this.bump();\n }\n return fromCodePoint.apply(void 0, codePoints);\n };\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n var ch = this.char();\n if (ch === 60 /* `<` */ ||\n ch === 123 /* `{` */ ||\n (ch === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) ||\n (ch === 125 /* `}` */ && nestingLevel > 0)) {\n return null;\n }\n else {\n this.bump();\n return fromCodePoint(ch);\n }\n };\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n if (this.char() === 125 /* `}` */) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n // argument name\n var value = this.parseIdentifierIfPossible().value;\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125 /* `}` */: {\n this.bump(); // `}`\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n err: null,\n };\n }\n // Argument with options: `{name, format, ...}`\n case 44 /* `,` */: {\n this.bump(); // `,`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return { value: value, location: location };\n };\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a;\n // Parse this range:\n // {name, type, style}\n // ^---^\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n case 'number':\n case 'date':\n case 'time': {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n if (result.err) {\n return result;\n }\n var style = trimEnd(result.val);\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = { style: style, styleLocation: styleLocation };\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_1 = createLocation(openingBracePosition, this.clonePosition());\n // Extract style or skeleton\n if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, '::', 0)) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n if (result.err) {\n return result;\n }\n return {\n val: { type: TYPE.number, value: value, location: location_1, style: result.val },\n err: null,\n };\n }\n else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n var dateTimePattern = skeleton;\n // Get \"best match\" pattern only if locale is passed, if not, let it\n // pass as-is where `parseDateTimeSkeleton()` will throw an error\n // for unsupported patterns.\n if (this.locale) {\n dateTimePattern = getBestPattern(skeleton, this.locale);\n }\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: dateTimePattern,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons\n ? parseDateTimeSkeleton(dateTimePattern)\n : {},\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: { type: type, value: value, location: location_1, style: style },\n err: null,\n };\n }\n }\n // Regular style or no style.\n return {\n val: {\n type: argType === 'number'\n ? TYPE.number\n : argType === 'date'\n ? TYPE.date\n : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null,\n },\n err: null,\n };\n }\n case 'plural':\n case 'selectordinal':\n case 'select': {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n this.bumpSpace();\n // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (result.err) {\n return result;\n }\n // Parse another identifier for option parsing\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n if (optionsResult.err) {\n return optionsResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2,\n },\n err: null,\n };\n }\n else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2,\n },\n err: null,\n };\n }\n }\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125 /* `}` */) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bump(); // `}`\n return { val: true, err: null };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n while (!this.isEOF()) {\n var ch = this.char();\n switch (ch) {\n case 39 /* `'` */: {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n this.bump();\n break;\n }\n case 123 /* `{` */: {\n nestedBraces += 1;\n this.bump();\n break;\n }\n case 125 /* `}` */: {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n }\n else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n }\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n };\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n }\n catch (e) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons\n ? parseNumberSkeleton(tokens)\n : {},\n },\n err: null,\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value, selectorLocation = parsedFirstIdentifier.location;\n // Parse:\n // one {one apple}\n // ^--^\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (result.err) {\n return result;\n }\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n }\n else {\n break;\n }\n }\n // Duplicate selector clauses\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n if (selector === 'other') {\n hasOtherClause = true;\n }\n // Parse:\n // one {one apple}\n // ^----------^\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n if (fragmentResult.err) {\n return fragmentResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n options.push([\n selector,\n {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n ]);\n // Keep track of the existing selectors\n parsedSelectors.add(selector);\n // Prep next selector clause.\n this.bumpSpace();\n (_a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location);\n }\n if (options.length === 0) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n return { val: options, err: null };\n };\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n if (this.bumpIf('+')) {\n }\n else if (this.bumpIf('-')) {\n sign = -1;\n }\n var hasDigits = false;\n var decimal = 0;\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch >= 48 /* `0` */ && ch <= 57 /* `9` */) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n }\n else {\n break;\n }\n }\n var location = createLocation(startingPosition, this.clonePosition());\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n decimal *= sign;\n if (!isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n return { val: decimal, err: null };\n };\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column,\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n var code = codePointAt(this.message, offset);\n if (code === undefined) {\n throw Error(\"Offset \".concat(offset, \" is at invalid UTF-16 code unit boundary\"));\n }\n return code;\n };\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location,\n },\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n var code = this.char();\n if (code === 10 /* '\\n' */) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n }\n else {\n this.position.column += 1;\n // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n Parser.prototype.bumpIf = function (prefix) {\n if (startsWith(this.message, prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n return true;\n }\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n }\n else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" must be greater than or equal to the current offset \").concat(this.offset()));\n }\n targetOffset = Math.min(targetOffset, this.message.length);\n while (true) {\n var offset = this.offset();\n if (offset === targetOffset) {\n break;\n }\n if (offset > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" is at invalid UTF-16 code unit boundary\"));\n }\n this.bump();\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\nfunction _isAlpha(codepoint) {\n return ((codepoint >= 97 && codepoint <= 122) ||\n (codepoint >= 65 && codepoint <= 90));\n}\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47; /* '/' */\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n return (c === 45 /* '-' */ ||\n c === 46 /* '.' */ ||\n (c >= 48 && c <= 57) /* 0..9 */ ||\n c === 95 /* '_' */ ||\n (c >= 97 && c <= 122) /** a..z */ ||\n (c >= 65 && c <= 90) /* A..Z */ ||\n c == 0xb7 ||\n (c >= 0xc0 && c <= 0xd6) ||\n (c >= 0xd8 && c <= 0xf6) ||\n (c >= 0xf8 && c <= 0x37d) ||\n (c >= 0x37f && c <= 0x1fff) ||\n (c >= 0x200c && c <= 0x200d) ||\n (c >= 0x203f && c <= 0x2040) ||\n (c >= 0x2070 && c <= 0x218f) ||\n (c >= 0x2c00 && c <= 0x2fef) ||\n (c >= 0x3001 && c <= 0xd7ff) ||\n (c >= 0xf900 && c <= 0xfdcf) ||\n (c >= 0xfdf0 && c <= 0xfffd) ||\n (c >= 0x10000 && c <= 0xeffff));\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isWhiteSpace(c) {\n return ((c >= 0x0009 && c <= 0x000d) ||\n c === 0x0020 ||\n c === 0x0085 ||\n (c >= 0x200e && c <= 0x200f) ||\n c === 0x2028 ||\n c === 0x2029);\n}\n/**\n * Code point equivalent of regex `\\p{Pattern_Syntax}`.\n * See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isPatternSyntax(c) {\n return ((c >= 0x0021 && c <= 0x0023) ||\n c === 0x0024 ||\n (c >= 0x0025 && c <= 0x0027) ||\n c === 0x0028 ||\n c === 0x0029 ||\n c === 0x002a ||\n c === 0x002b ||\n c === 0x002c ||\n c === 0x002d ||\n (c >= 0x002e && c <= 0x002f) ||\n (c >= 0x003a && c <= 0x003b) ||\n (c >= 0x003c && c <= 0x003e) ||\n (c >= 0x003f && c <= 0x0040) ||\n c === 0x005b ||\n c === 0x005c ||\n c === 0x005d ||\n c === 0x005e ||\n c === 0x0060 ||\n c === 0x007b ||\n c === 0x007c ||\n c === 0x007d ||\n c === 0x007e ||\n c === 0x00a1 ||\n (c >= 0x00a2 && c <= 0x00a5) ||\n c === 0x00a6 ||\n c === 0x00a7 ||\n c === 0x00a9 ||\n c === 0x00ab ||\n c === 0x00ac ||\n c === 0x00ae ||\n c === 0x00b0 ||\n c === 0x00b1 ||\n c === 0x00b6 ||\n c === 0x00bb ||\n c === 0x00bf ||\n c === 0x00d7 ||\n c === 0x00f7 ||\n (c >= 0x2010 && c <= 0x2015) ||\n (c >= 0x2016 && c <= 0x2017) ||\n c === 0x2018 ||\n c === 0x2019 ||\n c === 0x201a ||\n (c >= 0x201b && c <= 0x201c) ||\n c === 0x201d ||\n c === 0x201e ||\n c === 0x201f ||\n (c >= 0x2020 && c <= 0x2027) ||\n (c >= 0x2030 && c <= 0x2038) ||\n c === 0x2039 ||\n c === 0x203a ||\n (c >= 0x203b && c <= 0x203e) ||\n (c >= 0x2041 && c <= 0x2043) ||\n c === 0x2044 ||\n c === 0x2045 ||\n c === 0x2046 ||\n (c >= 0x2047 && c <= 0x2051) ||\n c === 0x2052 ||\n c === 0x2053 ||\n (c >= 0x2055 && c <= 0x205e) ||\n (c >= 0x2190 && c <= 0x2194) ||\n (c >= 0x2195 && c <= 0x2199) ||\n (c >= 0x219a && c <= 0x219b) ||\n (c >= 0x219c && c <= 0x219f) ||\n c === 0x21a0 ||\n (c >= 0x21a1 && c <= 0x21a2) ||\n c === 0x21a3 ||\n (c >= 0x21a4 && c <= 0x21a5) ||\n c === 0x21a6 ||\n (c >= 0x21a7 && c <= 0x21ad) ||\n c === 0x21ae ||\n (c >= 0x21af && c <= 0x21cd) ||\n (c >= 0x21ce && c <= 0x21cf) ||\n (c >= 0x21d0 && c <= 0x21d1) ||\n c === 0x21d2 ||\n c === 0x21d3 ||\n c === 0x21d4 ||\n (c >= 0x21d5 && c <= 0x21f3) ||\n (c >= 0x21f4 && c <= 0x22ff) ||\n (c >= 0x2300 && c <= 0x2307) ||\n c === 0x2308 ||\n c === 0x2309 ||\n c === 0x230a ||\n c === 0x230b ||\n (c >= 0x230c && c <= 0x231f) ||\n (c >= 0x2320 && c <= 0x2321) ||\n (c >= 0x2322 && c <= 0x2328) ||\n c === 0x2329 ||\n c === 0x232a ||\n (c >= 0x232b && c <= 0x237b) ||\n c === 0x237c ||\n (c >= 0x237d && c <= 0x239a) ||\n (c >= 0x239b && c <= 0x23b3) ||\n (c >= 0x23b4 && c <= 0x23db) ||\n (c >= 0x23dc && c <= 0x23e1) ||\n (c >= 0x23e2 && c <= 0x2426) ||\n (c >= 0x2427 && c <= 0x243f) ||\n (c >= 0x2440 && c <= 0x244a) ||\n (c >= 0x244b && c <= 0x245f) ||\n (c >= 0x2500 && c <= 0x25b6) ||\n c === 0x25b7 ||\n (c >= 0x25b8 && c <= 0x25c0) ||\n c === 0x25c1 ||\n (c >= 0x25c2 && c <= 0x25f7) ||\n (c >= 0x25f8 && c <= 0x25ff) ||\n (c >= 0x2600 && c <= 0x266e) ||\n c === 0x266f ||\n (c >= 0x2670 && c <= 0x2767) ||\n c === 0x2768 ||\n c === 0x2769 ||\n c === 0x276a ||\n c === 0x276b ||\n c === 0x276c ||\n c === 0x276d ||\n c === 0x276e ||\n c === 0x276f ||\n c === 0x2770 ||\n c === 0x2771 ||\n c === 0x2772 ||\n c === 0x2773 ||\n c === 0x2774 ||\n c === 0x2775 ||\n (c >= 0x2794 && c <= 0x27bf) ||\n (c >= 0x27c0 && c <= 0x27c4) ||\n c === 0x27c5 ||\n c === 0x27c6 ||\n (c >= 0x27c7 && c <= 0x27e5) ||\n c === 0x27e6 ||\n c === 0x27e7 ||\n c === 0x27e8 ||\n c === 0x27e9 ||\n c === 0x27ea ||\n c === 0x27eb ||\n c === 0x27ec ||\n c === 0x27ed ||\n c === 0x27ee ||\n c === 0x27ef ||\n (c >= 0x27f0 && c <= 0x27ff) ||\n (c >= 0x2800 && c <= 0x28ff) ||\n (c >= 0x2900 && c <= 0x2982) ||\n c === 0x2983 ||\n c === 0x2984 ||\n c === 0x2985 ||\n c === 0x2986 ||\n c === 0x2987 ||\n c === 0x2988 ||\n c === 0x2989 ||\n c === 0x298a ||\n c === 0x298b ||\n c === 0x298c ||\n c === 0x298d ||\n c === 0x298e ||\n c === 0x298f ||\n c === 0x2990 ||\n c === 0x2991 ||\n c === 0x2992 ||\n c === 0x2993 ||\n c === 0x2994 ||\n c === 0x2995 ||\n c === 0x2996 ||\n c === 0x2997 ||\n c === 0x2998 ||\n (c >= 0x2999 && c <= 0x29d7) ||\n c === 0x29d8 ||\n c === 0x29d9 ||\n c === 0x29da ||\n c === 0x29db ||\n (c >= 0x29dc && c <= 0x29fb) ||\n c === 0x29fc ||\n c === 0x29fd ||\n (c >= 0x29fe && c <= 0x2aff) ||\n (c >= 0x2b00 && c <= 0x2b2f) ||\n (c >= 0x2b30 && c <= 0x2b44) ||\n (c >= 0x2b45 && c <= 0x2b46) ||\n (c >= 0x2b47 && c <= 0x2b4c) ||\n (c >= 0x2b4d && c <= 0x2b73) ||\n (c >= 0x2b74 && c <= 0x2b75) ||\n (c >= 0x2b76 && c <= 0x2b95) ||\n c === 0x2b96 ||\n (c >= 0x2b97 && c <= 0x2bff) ||\n (c >= 0x2e00 && c <= 0x2e01) ||\n c === 0x2e02 ||\n c === 0x2e03 ||\n c === 0x2e04 ||\n c === 0x2e05 ||\n (c >= 0x2e06 && c <= 0x2e08) ||\n c === 0x2e09 ||\n c === 0x2e0a ||\n c === 0x2e0b ||\n c === 0x2e0c ||\n c === 0x2e0d ||\n (c >= 0x2e0e && c <= 0x2e16) ||\n c === 0x2e17 ||\n (c >= 0x2e18 && c <= 0x2e19) ||\n c === 0x2e1a ||\n c === 0x2e1b ||\n c === 0x2e1c ||\n c === 0x2e1d ||\n (c >= 0x2e1e && c <= 0x2e1f) ||\n c === 0x2e20 ||\n c === 0x2e21 ||\n c === 0x2e22 ||\n c === 0x2e23 ||\n c === 0x2e24 ||\n c === 0x2e25 ||\n c === 0x2e26 ||\n c === 0x2e27 ||\n c === 0x2e28 ||\n c === 0x2e29 ||\n (c >= 0x2e2a && c <= 0x2e2e) ||\n c === 0x2e2f ||\n (c >= 0x2e30 && c <= 0x2e39) ||\n (c >= 0x2e3a && c <= 0x2e3b) ||\n (c >= 0x2e3c && c <= 0x2e3f) ||\n c === 0x2e40 ||\n c === 0x2e41 ||\n c === 0x2e42 ||\n (c >= 0x2e43 && c <= 0x2e4f) ||\n (c >= 0x2e50 && c <= 0x2e51) ||\n c === 0x2e52 ||\n (c >= 0x2e53 && c <= 0x2e7f) ||\n (c >= 0x3001 && c <= 0x3003) ||\n c === 0x3008 ||\n c === 0x3009 ||\n c === 0x300a ||\n c === 0x300b ||\n c === 0x300c ||\n c === 0x300d ||\n c === 0x300e ||\n c === 0x300f ||\n c === 0x3010 ||\n c === 0x3011 ||\n (c >= 0x3012 && c <= 0x3013) ||\n c === 0x3014 ||\n c === 0x3015 ||\n c === 0x3016 ||\n c === 0x3017 ||\n c === 0x3018 ||\n c === 0x3019 ||\n c === 0x301a ||\n c === 0x301b ||\n c === 0x301c ||\n c === 0x301d ||\n (c >= 0x301e && c <= 0x301f) ||\n c === 0x3020 ||\n c === 0x3030 ||\n c === 0xfd3e ||\n c === 0xfd3f ||\n (c >= 0xfe45 && c <= 0xfe46));\n}\n","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { Parser } from './parser';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement, } from './types';\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n }\n else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n }\n else if ((isDateElement(el) || isTimeElement(el)) &&\n isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n }\n else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\nexport function parse(message, opts) {\n if (opts === void 0) { opts = {}; }\n opts = __assign({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);\n var result = new Parser(message, opts).parse();\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]);\n // @ts-expect-error Assign to error object\n error.location = result.err.location;\n // @ts-expect-error Assign to error object\n error.originalMessage = result.err.message;\n throw error;\n }\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n return result.val;\n}\nexport * from './types';\n// only for testing\nexport var _Parser = Parser;\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\n\nvar charAt = uncurryThis(''.charAt);\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es-x/no-array-string-prototype-at -- safe\n return '𠮷'.at(-2) !== '\\uD842';\n});\n\n// `String.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\n$({ target: 'String', proto: true, forced: FORCED }, {\n at: function at(index) {\n var S = toString(requireObjectCoercible(this));\n var len = S.length;\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : charAt(S, k);\n }\n});\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}"],"sourceRoot":""}