react-intl 4.4.0 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"react-intl.min.js","sources":["../node_modules/intl-messageformat-parser/lib/types.js","../node_modules/intl-messageformat-parser/lib/parser.js","../node_modules/intl-messageformat-parser/lib/normalize.js","../node_modules/intl-messageformat-parser/lib/skeleton.js","../node_modules/intl-messageformat-parser/lib/index.js","../node_modules/intl-format-cache/lib/index.js","../node_modules/intl-messageformat/lib/error.js","../node_modules/intl-messageformat/lib/formatters.js","../node_modules/intl-messageformat/lib/core.js","../lib/error.js","../node_modules/@formatjs/intl-utils/lib/invariant.js","../lib/utils.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../lib/components/injectIntl.js","../lib/components/createFormattedComponent.js","../lib/formatters/number.js","../lib/formatters/relativeTime.js","../lib/formatters/dateTime.js","../lib/formatters/plural.js","../lib/formatters/message.js","../node_modules/shallow-equal/objects/index.js","../lib/formatters/list.js","../lib/formatters/displayName.js","../lib/components/provider.js","../lib/components/relative.js","../lib/components/plural.js","../lib/components/message.js","../lib/index.js","../lib/components/useIntl.js"],"sourcesContent":["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 === 0 /* number */);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 1 /* 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//# sourceMappingURL=types.js.map","// tslint:disable:only-arrow-functions\n// tslint:disable:object-literal-shorthand\n// tslint:disable:trailing-comma\n// tslint:disable:object-literal-sort-keys\n// tslint:disable:one-variable-per-declaration\n// tslint:disable:max-line-length\n// tslint:disable:no-consecutive-blank-lines\n// tslint:disable:align\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.2.6 )\n//\n// https://pegjs.org/ https://github.com/metadevpro/ts-pegjs\nimport { TYPE, } from './types';\nvar SyntaxError = /** @class */ (function (_super) {\n __extends(SyntaxError, _super);\n function SyntaxError(message, expected, found, location) {\n var _this = _super.call(this) || this;\n _this.message = message;\n _this.expected = expected;\n _this.found = found;\n _this.location = location;\n _this.name = \"SyntaxError\";\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(_this, SyntaxError);\n }\n return _this;\n }\n SyntaxError.buildMessage = function (expected, found) {\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\"/g, \"\\\\\\\"\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function classEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\]/g, \"\\\\]\")\n .replace(/\\^/g, \"\\\\^\")\n .replace(/-/g, \"\\\\-\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function describeExpectation(expectation) {\n switch (expectation.type) {\n case \"literal\":\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n case \"class\":\n var escapedParts = expectation.parts.map(function (part) {\n return Array.isArray(part)\n ? classEscape(part[0]) + \"-\" + classEscape(part[1])\n : classEscape(part);\n });\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n case \"any\":\n return \"any character\";\n case \"end\":\n return \"end of input\";\n case \"other\":\n return expectation.description;\n }\n }\n function describeExpected(expected1) {\n var descriptions = expected1.map(describeExpectation);\n var i;\n var j;\n descriptions.sort();\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n function describeFound(found1) {\n return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n }\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n };\n return SyntaxError;\n}(Error));\nexport { SyntaxError };\nfunction peg$parse(input, options) {\n options = options !== undefined ? options : {};\n var peg$FAILED = {};\n var peg$startRuleFunctions = { start: peg$parsestart };\n var peg$startRuleFunction = peg$parsestart;\n var peg$c0 = function (parts) {\n return parts.join('');\n };\n var peg$c1 = function (messageText) {\n return __assign({ type: TYPE.literal, value: messageText }, insertLocation());\n };\n var peg$c2 = \"#\";\n var peg$c3 = peg$literalExpectation(\"#\", false);\n var peg$c4 = function () {\n return __assign({ type: TYPE.pound }, insertLocation());\n };\n var peg$c5 = peg$otherExpectation(\"tagElement\");\n var peg$c6 = \"<\";\n var peg$c7 = peg$literalExpectation(\"<\", false);\n var peg$c8 = \"/>\";\n var peg$c9 = peg$literalExpectation(\"/>\", false);\n var peg$c10 = function (value) {\n return __assign({ type: TYPE.literal, value: value.join('') }, insertLocation());\n };\n var peg$c11 = function (open, children, close) {\n if (open !== close) {\n error(\"Mismatch tag \\\"\" + open + \"\\\" !== \\\"\" + close + \"\\\"\", location());\n }\n return __assign({ type: TYPE.tag, value: open, children: children }, insertLocation());\n };\n var peg$c12 = function () { messageCtx.push('openingTag'); return true; };\n var peg$c13 = \">\";\n var peg$c14 = peg$literalExpectation(\">\", false);\n var peg$c15 = function (tag) { messageCtx.pop(); return true; };\n var peg$c16 = function (tag) {\n return tag;\n };\n var peg$c17 = \"</\";\n var peg$c18 = peg$literalExpectation(\"</\", false);\n var peg$c19 = function () { messageCtx.push('closingTag'); return true; };\n var peg$c20 = peg$otherExpectation(\"argumentElement\");\n var peg$c21 = \"{\";\n var peg$c22 = peg$literalExpectation(\"{\", false);\n var peg$c23 = \"}\";\n var peg$c24 = peg$literalExpectation(\"}\", false);\n var peg$c25 = function (value) {\n return __assign({ type: TYPE.argument, value: value }, insertLocation());\n };\n var peg$c26 = peg$otherExpectation(\"numberSkeletonId\");\n var peg$c27 = /^['\\/{}]/;\n var peg$c28 = peg$classExpectation([\"'\", \"/\", \"{\", \"}\"], false, false);\n var peg$c29 = peg$anyExpectation();\n var peg$c30 = peg$otherExpectation(\"numberSkeletonTokenOption\");\n var peg$c31 = \"/\";\n var peg$c32 = peg$literalExpectation(\"/\", false);\n var peg$c33 = function (option) { return option; };\n var peg$c34 = peg$otherExpectation(\"numberSkeletonToken\");\n var peg$c35 = function (stem, options) {\n return { stem: stem, options: options };\n };\n var peg$c36 = function (tokens) {\n return __assign({ type: 0 /* number */, tokens: tokens }, insertLocation());\n };\n var peg$c37 = \"::\";\n var peg$c38 = peg$literalExpectation(\"::\", false);\n var peg$c39 = function (skeleton) { return skeleton; };\n var peg$c40 = function () { messageCtx.push('numberArgStyle'); return true; };\n var peg$c41 = function (style) {\n messageCtx.pop();\n return style.replace(/\\s*$/, '');\n };\n var peg$c42 = \",\";\n var peg$c43 = peg$literalExpectation(\",\", false);\n var peg$c44 = \"number\";\n var peg$c45 = peg$literalExpectation(\"number\", false);\n var peg$c46 = function (value, type, style) {\n return __assign({ type: type === 'number' ? TYPE.number : type === 'date' ? TYPE.date : TYPE.time, style: style && style[2], value: value }, insertLocation());\n };\n var peg$c47 = \"'\";\n var peg$c48 = peg$literalExpectation(\"'\", false);\n var peg$c49 = /^[^']/;\n var peg$c50 = peg$classExpectation([\"'\"], true, false);\n var peg$c51 = /^[^a-zA-Z'{}]/;\n var peg$c52 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"'\", \"{\", \"}\"], true, false);\n var peg$c53 = /^[a-zA-Z]/;\n var peg$c54 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false);\n var peg$c55 = function (pattern) {\n return __assign({ type: 1 /* dateTime */, pattern: pattern }, insertLocation());\n };\n var peg$c56 = function () { messageCtx.push('dateOrTimeArgStyle'); return true; };\n var peg$c57 = \"date\";\n var peg$c58 = peg$literalExpectation(\"date\", false);\n var peg$c59 = \"time\";\n var peg$c60 = peg$literalExpectation(\"time\", false);\n var peg$c61 = \"plural\";\n var peg$c62 = peg$literalExpectation(\"plural\", false);\n var peg$c63 = \"selectordinal\";\n var peg$c64 = peg$literalExpectation(\"selectordinal\", false);\n var peg$c65 = \"offset:\";\n var peg$c66 = peg$literalExpectation(\"offset:\", false);\n var peg$c67 = function (value, pluralType, offset, options) {\n return __assign({ type: TYPE.plural, pluralType: pluralType === 'plural' ? 'cardinal' : 'ordinal', value: value, offset: offset ? offset[2] : 0, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in plural element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c68 = \"select\";\n var peg$c69 = peg$literalExpectation(\"select\", false);\n var peg$c70 = function (value, options) {\n return __assign({ type: TYPE.select, value: value, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in select element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c71 = \"=\";\n var peg$c72 = peg$literalExpectation(\"=\", false);\n var peg$c73 = function (id) { messageCtx.push('select'); return true; };\n var peg$c74 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c75 = function (id) { messageCtx.push('plural'); return true; };\n var peg$c76 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c77 = peg$otherExpectation(\"whitespace\");\n var peg$c78 = /^[\\t-\\r \\x85\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/;\n var peg$c79 = peg$classExpectation([[\"\\t\", \"\\r\"], \" \", \"\\x85\", \"\\xA0\", \"\\u1680\", [\"\\u2000\", \"\\u200A\"], \"\\u2028\", \"\\u2029\", \"\\u202F\", \"\\u205F\", \"\\u3000\"], false, false);\n var peg$c80 = peg$otherExpectation(\"syntax pattern\");\n var peg$c81 = /^[!-\\/:-@[-\\^`{-~\\xA1-\\xA7\\xA9\\xAB\\xAC\\xAE\\xB0\\xB1\\xB6\\xBB\\xBF\\xD7\\xF7\\u2010-\\u2027\\u2030-\\u203E\\u2041-\\u2053\\u2055-\\u205E\\u2190-\\u245F\\u2500-\\u2775\\u2794-\\u2BFF\\u2E00-\\u2E7F\\u3001-\\u3003\\u3008-\\u3020\\u3030\\uFD3E\\uFD3F\\uFE45\\uFE46]/;\n var peg$c82 = peg$classExpectation([[\"!\", \"/\"], [\":\", \"@\"], [\"[\", \"^\"], \"`\", [\"{\", \"~\"], [\"\\xA1\", \"\\xA7\"], \"\\xA9\", \"\\xAB\", \"\\xAC\", \"\\xAE\", \"\\xB0\", \"\\xB1\", \"\\xB6\", \"\\xBB\", \"\\xBF\", \"\\xD7\", \"\\xF7\", [\"\\u2010\", \"\\u2027\"], [\"\\u2030\", \"\\u203E\"], [\"\\u2041\", \"\\u2053\"], [\"\\u2055\", \"\\u205E\"], [\"\\u2190\", \"\\u245F\"], [\"\\u2500\", \"\\u2775\"], [\"\\u2794\", \"\\u2BFF\"], [\"\\u2E00\", \"\\u2E7F\"], [\"\\u3001\", \"\\u3003\"], [\"\\u3008\", \"\\u3020\"], \"\\u3030\", \"\\uFD3E\", \"\\uFD3F\", \"\\uFE45\", \"\\uFE46\"], false, false);\n var peg$c83 = peg$otherExpectation(\"optional whitespace\");\n var peg$c84 = peg$otherExpectation(\"number\");\n var peg$c85 = \"-\";\n var peg$c86 = peg$literalExpectation(\"-\", false);\n var peg$c87 = function (negative, num) {\n return num\n ? negative\n ? -num\n : num\n : 0;\n };\n var peg$c88 = peg$otherExpectation(\"apostrophe\");\n var peg$c89 = peg$otherExpectation(\"double apostrophes\");\n var peg$c90 = \"''\";\n var peg$c91 = peg$literalExpectation(\"''\", false);\n var peg$c92 = function () { return \"'\"; };\n var peg$c93 = function (escapedChar, quotedChars) {\n return escapedChar + quotedChars.replace(\"''\", \"'\");\n };\n var peg$c94 = function (x) {\n return (x !== '<' &&\n x !== '{' &&\n !(isInPluralOption() && x === '#') &&\n !(isNestedMessageText() && x === '}') &&\n !(isNestedMessageText() && x === '>'));\n };\n var peg$c95 = \"\\n\";\n var peg$c96 = peg$literalExpectation(\"\\n\", false);\n var peg$c97 = function (x) {\n return x === '<' || x === '>' || x === '{' || x === '}' || (isInPluralOption() && x === '#');\n };\n var peg$c98 = peg$otherExpectation(\"argNameOrNumber\");\n var peg$c99 = peg$otherExpectation(\"validTag\");\n var peg$c100 = peg$otherExpectation(\"argNumber\");\n var peg$c101 = \"0\";\n var peg$c102 = peg$literalExpectation(\"0\", false);\n var peg$c103 = function () { return 0; };\n var peg$c104 = /^[1-9]/;\n var peg$c105 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n var peg$c106 = /^[0-9]/;\n var peg$c107 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n var peg$c108 = function (digits) {\n return parseInt(digits.join(''), 10);\n };\n var peg$c109 = peg$otherExpectation(\"argName\");\n var peg$c110 = peg$otherExpectation(\"tagName\");\n var peg$currPos = 0;\n var peg$savedPos = 0;\n var peg$posDetailsCache = [{ line: 1, column: 1 }];\n var peg$maxFailPos = 0;\n var peg$maxFailExpected = [];\n var peg$silentFails = 0;\n var peg$result;\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n function expected(description, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildStructuredError([peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location1);\n }\n function error(message, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildSimpleError(message, location1);\n }\n function peg$literalExpectation(text1, ignoreCase) {\n return { type: \"literal\", text: text1, ignoreCase: ignoreCase };\n }\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos];\n var p;\n if (details) {\n return details;\n }\n else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n }\n else {\n details.column++;\n }\n p++;\n }\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos);\n var endPosDetails = peg$computePosDetails(endPos);\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n function peg$fail(expected1) {\n if (peg$currPos < peg$maxFailPos) {\n return;\n }\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n peg$maxFailExpected.push(expected1);\n }\n function peg$buildSimpleError(message, location1) {\n return new SyntaxError(message, [], \"\", location1);\n }\n function peg$buildStructuredError(expected1, found, location1) {\n return new SyntaxError(SyntaxError.buildMessage(expected1, found), expected1, found, location1);\n }\n function peg$parsestart() {\n var s0;\n s0 = peg$parsemessage();\n return s0;\n }\n function peg$parsemessage() {\n var s0, s1;\n s0 = [];\n s1 = peg$parsemessageElement();\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsemessageElement();\n }\n return s0;\n }\n function peg$parsemessageElement() {\n var s0;\n s0 = peg$parseliteralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsesimpleFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsetagElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepoundElement();\n }\n }\n }\n }\n }\n }\n return s0;\n }\n function peg$parsemessageText() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parseliteralElement() {\n var s0, s1;\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsepoundElement() {\n var s0, s1;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 35) {\n s1 = peg$c2;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c3);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c4();\n }\n s0 = s1;\n return s0;\n }\n function peg$parsetagElement() {\n var s0, s1, s2, s3, s4, s5;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 60) {\n s2 = peg$c6;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalidTag();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.substr(peg$currPos, 2) === peg$c8) {\n s5 = peg$c8;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s5 !== peg$FAILED) {\n s2 = [s2, s3, s4, s5];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c10(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseopeningTag();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessage();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseclosingTag();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c5);\n }\n }\n return s0;\n }\n function peg$parseopeningTag() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 60) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s2 = peg$c12();\n if (s2) {\n s2 = undefined;\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalidTag();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 62) {\n s4 = peg$c13;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c15(s3);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseclosingTag() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c17) {\n s1 = peg$c17;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c18);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s2 = peg$c19();\n if (s2) {\n s2 = undefined;\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalidTag();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 62) {\n s4 = peg$c13;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c15(s3);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s5 = peg$c23;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c25(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c20);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonId() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c27.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c27.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c26);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonTokenOption() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 47) {\n s1 = peg$c31;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c32);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c30);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonToken() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parsenumberSkeletonTokenOption();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parsenumberSkeletonTokenOption();\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c35(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c34);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeleton() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsenumberSkeletonToken();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsenumberSkeletonToken();\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c36(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsenumberArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c37) {\n s1 = peg$c37;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c38);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c39(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c40();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c41(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsenumberFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c44) {\n s7 = peg$c44;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c45);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c42;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsenumberArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c23;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c46(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonLiteral() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c47;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s3 = peg$c47;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = [];\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c51.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c52);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c51.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c52);\n }\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonPattern() {\n var s0, s1;\n s0 = [];\n if (peg$c53.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c53.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeleton() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n s2 = [];\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s1 = input.substring(s1, peg$currPos);\n }\n else {\n s1 = s2;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsedateOrTimeArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c37) {\n s1 = peg$c37;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c38);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsedateTimeSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c39(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c56();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c41(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsedateOrTimeFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c57) {\n s7 = peg$c57;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c58);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c59) {\n s7 = peg$c59;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c60);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c42;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsedateOrTimeArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c23;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c46(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsesimpleFormatElement() {\n var s0;\n s0 = peg$parsenumberFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsedateOrTimeFormatElement();\n }\n return s0;\n }\n function peg$parsepluralElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c61) {\n s7 = peg$c61;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c62);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 13) === peg$c63) {\n s7 = peg$c63;\n peg$currPos += 13;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c64);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c42;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = peg$currPos;\n if (input.substr(peg$currPos, 7) === peg$c65) {\n s12 = peg$c65;\n peg$currPos += 7;\n }\n else {\n s12 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c66);\n }\n }\n if (s12 !== peg$FAILED) {\n s13 = peg$parse_();\n if (s13 !== peg$FAILED) {\n s14 = peg$parsenumber();\n if (s14 !== peg$FAILED) {\n s12 = [s12, s13, s14];\n s11 = s12;\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n if (s11 === peg$FAILED) {\n s11 = null;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n s13 = [];\n s14 = peg$parsepluralOption();\n if (s14 !== peg$FAILED) {\n while (s14 !== peg$FAILED) {\n s13.push(s14);\n s14 = peg$parsepluralOption();\n }\n }\n else {\n s13 = peg$FAILED;\n }\n if (s13 !== peg$FAILED) {\n s14 = peg$parse_();\n if (s14 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s15 = peg$c23;\n peg$currPos++;\n }\n else {\n s15 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s15 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c67(s3, s7, s11, s13);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseselectElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c68) {\n s7 = peg$c68;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c42;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parseselectOption();\n if (s12 !== peg$FAILED) {\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parseselectOption();\n }\n }\n else {\n s11 = peg$FAILED;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s13 = peg$c23;\n peg$currPos++;\n }\n else {\n s13 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s13 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70(s3, s11);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralRuleSelectValue() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c71;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c72);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseargName();\n }\n return s0;\n }\n function peg$parseselectOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargName();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c21;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c73(s2);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c23;\n peg$currPos++;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c74(s2, s6);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsepluralRuleSelectValue();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c21;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c75(s2);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c23;\n peg$currPos++;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c76(s2, s6);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsewhiteSpace() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c78.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c79);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c77);\n }\n }\n return s0;\n }\n function peg$parsepatternSyntax() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c81.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c82);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c80);\n }\n }\n return s0;\n }\n function peg$parse_() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsewhiteSpace();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsewhiteSpace();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c83);\n }\n }\n return s0;\n }\n function peg$parsenumber() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 45) {\n s1 = peg$c85;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargNumber();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c87(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c84);\n }\n }\n return s0;\n }\n function peg$parseapostrophe() {\n var s0, s1;\n peg$silentFails++;\n if (input.charCodeAt(peg$currPos) === 39) {\n s0 = peg$c47;\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c88);\n }\n }\n return s0;\n }\n function peg$parsedoubleApostrophes() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c90) {\n s1 = peg$c90;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c92();\n }\n s0 = s1;\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c89);\n }\n }\n return s0;\n }\n function peg$parsequotedString() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c47;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseescapedChar();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n s4 = [];\n if (input.substr(peg$currPos, 2) === peg$c90) {\n s5 = peg$c90;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n if (input.substr(peg$currPos, 2) === peg$c90) {\n s5 = peg$c90;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = input.substring(s3, peg$currPos);\n }\n else {\n s3 = s4;\n }\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s4 = peg$c47;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c93(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseunquotedString() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c94(s2);\n if (s3) {\n s3 = undefined;\n }\n else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 === peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 10) {\n s1 = peg$c95;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c96);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n return s0;\n }\n function peg$parseescapedChar() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c97(s2);\n if (s3) {\n s3 = undefined;\n }\n else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n return s0;\n }\n function peg$parseargNameOrNumber() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseargNumber();\n if (s1 === peg$FAILED) {\n s1 = peg$parseargName();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c98);\n }\n }\n return s0;\n }\n function peg$parsevalidTag() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseargNumber();\n if (s1 === peg$FAILED) {\n s1 = peg$parsetagName();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c99);\n }\n }\n return s0;\n }\n function peg$parseargNumber() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c101;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c102);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c103();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (peg$c104.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c105);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n if (peg$c106.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c107);\n }\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n if (peg$c106.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c107);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c108(s1);\n }\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c100);\n }\n }\n return s0;\n }\n function peg$parseargName() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c109);\n }\n }\n return s0;\n }\n function peg$parsetagName() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n if (input.charCodeAt(peg$currPos) === 45) {\n s2 = peg$c85;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s2 === peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n if (input.charCodeAt(peg$currPos) === 45) {\n s2 = peg$c85;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s2 === peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c110);\n }\n }\n return s0;\n }\n var messageCtx = ['root'];\n function isNestedMessageText() {\n return messageCtx.length > 1;\n }\n function isInPluralOption() {\n return messageCtx[messageCtx.length - 1] === 'plural';\n }\n function insertLocation() {\n return options && options.captureLocation ? {\n location: location()\n } : {};\n }\n peg$result = peg$startRuleFunction();\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n }\n else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n throw peg$buildStructuredError(peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos));\n }\n}\nexport var pegParse = peg$parse;\n//# sourceMappingURL=parser.js.map","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { isPluralElement, isLiteralElement, isSelectElement, } from './types';\nimport { pegParse } from './parser';\nvar PLURAL_HASHTAG_REGEX = /(^|[^\\\\])#/g;\n/**\n * Whether to convert `#` in plural rule options\n * to `{var, number}`\n * @param el AST Element\n * @param pluralStack current plural stack\n */\nexport function normalizeHashtagInPlural(els) {\n els.forEach(function (el) {\n // If we're encountering a plural el\n if (!isPluralElement(el) && !isSelectElement(el)) {\n return;\n }\n // Go down the options and search for # in any literal element\n Object.keys(el.options).forEach(function (id) {\n var _a;\n var opt = el.options[id];\n // If we got a match, we have to split this\n // and inject a NumberElement in the middle\n var matchingLiteralElIndex = -1;\n var literalEl = undefined;\n for (var i = 0; i < opt.value.length; i++) {\n var el_1 = opt.value[i];\n if (isLiteralElement(el_1) && PLURAL_HASHTAG_REGEX.test(el_1.value)) {\n matchingLiteralElIndex = i;\n literalEl = el_1;\n break;\n }\n }\n if (literalEl) {\n var newValue = literalEl.value.replace(PLURAL_HASHTAG_REGEX, \"$1{\" + el.value + \", number}\");\n var newEls = pegParse(newValue);\n (_a = opt.value).splice.apply(_a, __spreadArrays([matchingLiteralElIndex, 1], newEls));\n }\n normalizeHashtagInPlural(opt.value);\n });\n });\n}\n//# sourceMappingURL=normalize.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\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 ? 'short' : 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) pattenrs 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: miliseconds 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) pattenrs are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\+|#+)?)?$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?$/g;\nfunction parseSignificantPrecision(str) {\n var result = {};\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 return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n return {\n signDisplay: 'never',\n };\n }\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 convertNumberSkeletonToNumberFormatOptions(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 result.style = 'percent';\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\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 }\n // Precision\n // https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#fraction-precision\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\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 (match, g1, g2) {\n // precision-integer case\n if (match === '.') {\n result.maximumFractionDigits = 0;\n }\n // .000+ case\n else if (g2 === '+') {\n result.minimumFractionDigits = g2.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumFractionDigits = g1.length;\n }\n // .00## or .000 case\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n if (token.options.length) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.options[0]));\n }\n continue;\n }\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 }\n return result;\n}\n//# sourceMappingURL=skeleton.js.map","import { pegParse } from './parser';\nimport { normalizeHashtagInPlural } from './normalize';\nexport * from './types';\nexport * from './parser';\nexport * from './skeleton';\nexport function parse(input, opts) {\n var els = pegParse(input, opts);\n if (!opts || opts.normalizeHashtagInPlural !== false) {\n normalizeHashtagInPlural(els);\n }\n return els;\n}\n//# sourceMappingURL=index.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n// -- Utilities ----------------------------------------------------------------\nfunction getCacheId(inputs) {\n return JSON.stringify(inputs.map(function (input) {\n return input && typeof input === 'object' ? orderedProps(input) : input;\n }));\n}\nfunction orderedProps(obj) {\n return Object.keys(obj)\n .sort()\n .map(function (k) {\n var _a;\n return (_a = {}, _a[k] = obj[k], _a);\n });\n}\nvar memoizeFormatConstructor = function (FormatConstructor, cache) {\n if (cache === void 0) { cache = {}; }\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var cacheId = getCacheId(args);\n var format = cacheId && cache[cacheId];\n if (!format) {\n format = new ((_a = FormatConstructor).bind.apply(_a, __spreadArrays([void 0], args)))();\n if (cacheId) {\n cache[cacheId] = format;\n }\n }\n return format;\n };\n};\nexport default memoizeFormatConstructor;\n//# sourceMappingURL=index.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \" + this.code + \"] \" + this.message;\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\" + variableId + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(options).join('\", \"') + \"\\\"\", \"INVALID_VALUE\" /* INVALID_VALUE */, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\" + value + \"\\\" must be of type \" + type, \"INVALID_VALUE\" /* INVALID_VALUE */, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\" + variableId + \"\\\" was not provided to the string \\\"\" + originalMessage + \"\\\"\", \"MISSING_VALUE\" /* MISSING_VALUE */, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n//# sourceMappingURL=error.js.map","import { convertNumberSkeletonToNumberFormatOptions, isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, parseDateTimeSkeleton, isTagElement, } from 'intl-messageformat-parser';\nimport { MissingValueError, InvalidValueError, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== 0 /* literal */ ||\n part.type !== 0 /* literal */) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nfunction isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: 0 /* literal */,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: 0 /* literal */,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: 0 /* literal */,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? 0 /* literal */ : 1 /* object */,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string' ? formats.date[el.style] : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? parseDateTimeSkeleton(el.style.pattern)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? convertNumberSkeletonToNumberFormatOptions(el.style.tokens)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values);\n var chunks = formatFn.apply(void 0, parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? 0 /* literal */ : 1 /* object */,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\" + value];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", \"MISSING_INTL_API\" /* MISSING_INTL_API */, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n//# sourceMappingURL=formatters.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { parse } from 'intl-messageformat-parser';\nimport memoizeIntlConstructor from 'intl-format-cache';\nimport { formatToParts, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nexport function createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat, cache.number),\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat, cache.dateTime),\n getPluralRules: memoizeIntlConstructor(Intl.PluralRules, cache.pluralRules),\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== 0 /* literal */ ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () { return ({\n locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n }); };\n this.getAst = function () { return _this.ast; };\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, {\n normalizeHashtagInPlural: false,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n IntlMessageFormat.defaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\nexport default IntlMessageFormat;\n//# sourceMappingURL=core.js.map","export var ReactIntlErrorCode;\n(function (ReactIntlErrorCode) {\n ReactIntlErrorCode[\"FORMAT_ERROR\"] = \"FORMAT_ERROR\";\n ReactIntlErrorCode[\"UNSUPPORTED_FORMATTER\"] = \"UNSUPPORTED_FORMATTER\";\n ReactIntlErrorCode[\"INVALID_CONFIG\"] = \"INVALID_CONFIG\";\n ReactIntlErrorCode[\"MISSING_DATA\"] = \"MISSING_DATA\";\n ReactIntlErrorCode[\"MISSING_TRANSLATION\"] = \"MISSING_TRANSLATION\";\n})(ReactIntlErrorCode || (ReactIntlErrorCode = {}));\nexport class ReactIntlError extends Error {\n constructor(code, message, descriptor, exception) {\n super(`[React Intl Error ${code}] ${message} ${exception ? `\\n${exception.stack}` : ''}`);\n this.code = code;\n this.descriptor = descriptor;\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, ReactIntlError);\n }\n }\n}\n","export function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n//# sourceMappingURL=invariant.js.map","/*\nHTML escaping is the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\nimport * as React from 'react';\nimport IntlMessageFormat from 'intl-messageformat';\nimport memoizeIntlConstructor from 'intl-format-cache';\nimport { invariant } from '@formatjs/intl-utils';\nimport { ReactIntlError } from './error';\nexport function filterProps(props, whitelist, defaults = {}) {\n return whitelist.reduce((filtered, name) => {\n if (name in props) {\n filtered[name] = props[name];\n }\n else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nexport function invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' +\n '<IntlProvider> needs to exist in the component ancestry.');\n}\nexport function defaultErrorHandler(error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n}\nexport const DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n textComponent: React.Fragment,\n defaultLocale: 'en',\n defaultFormats: {},\n onError: defaultErrorHandler,\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {},\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nexport function createFormatters(cache = createIntlCache()) {\n const RelativeTimeFormat = Intl.RelativeTimeFormat;\n const ListFormat = Intl.ListFormat;\n const DisplayNames = Intl.DisplayNames;\n return {\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat, cache.dateTime),\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat, cache.number),\n getMessageFormat: memoizeIntlConstructor(IntlMessageFormat, cache.message),\n getRelativeTimeFormat: memoizeIntlConstructor(RelativeTimeFormat, cache.relativeTime),\n getPluralRules: memoizeIntlConstructor(Intl.PluralRules, cache.pluralRules),\n getListFormat: memoizeIntlConstructor(ListFormat, cache.list),\n getDisplayNames: memoizeIntlConstructor(DisplayNames, cache.displayNames),\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n const formatType = formats && formats[type];\n let format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(new ReactIntlError(\"UNSUPPORTED_FORMATTER\" /* UNSUPPORTED_FORMATTER */, `No ${type} format named: ${name}`));\n}\n","/** @license React v16.8.6\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.memo\"):\n60115,r=b?Symbol.for(\"react.lazy\"):60116;function t(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return u}}case r:case q:case d:return u}}}function v(a){return t(a)===m}exports.typeOf=t;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;\nexports.Fragment=e;exports.Lazy=r;exports.Memo=q;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||\"object\"===typeof a&&null!==a&&(a.$$typeof===r||a.$$typeof===q||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n)};exports.isAsyncMode=function(a){return v(a)||t(a)===l};exports.isConcurrentMode=v;exports.isContextConsumer=function(a){return t(a)===k};\nexports.isContextProvider=function(a){return t(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return t(a)===n};exports.isFragment=function(a){return t(a)===e};exports.isLazy=function(a){return t(a)===r};exports.isMemo=function(a){return t(a)===q};exports.isPortal=function(a){return t(a)===d};exports.isProfiler=function(a){return t(a)===g};exports.isStrictMode=function(a){return t(a)===f};\nexports.isSuspense=function(a){return t(a)===p};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import * as React from 'react';\nimport * as hoistNonReactStatics_ from 'hoist-non-react-statics';\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nconst hoistNonReactStatics = hoistNonReactStatics_.default || hoistNonReactStatics_;\nimport { invariantIntlContext } from '../utils';\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n// TODO: We should provide initial value here\nconst IntlContext = React.createContext(null);\nconst { Consumer: IntlConsumer, Provider: IntlProvider } = IntlContext;\nexport const Provider = IntlProvider;\nexport const Context = IntlContext;\nexport default function injectIntl(WrappedComponent, options) {\n const { intlPropName = 'intl', forwardRef = false, enforceContext = true } = options || {};\n const WithIntl = props => (React.createElement(IntlConsumer, null, (intl) => {\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n const intlProp = { [intlPropName]: intl };\n return (React.createElement(WrappedComponent, Object.assign({}, props, intlProp, { ref: forwardRef ? props.forwardedRef : null })));\n }));\n WithIntl.displayName = `injectIntl(${getDisplayName(WrappedComponent)})`;\n WithIntl.WrappedComponent = WrappedComponent;\n if (forwardRef) {\n return hoistNonReactStatics(React.forwardRef((props, ref) => (React.createElement(WithIntl, Object.assign({}, props, { forwardedRef: ref })))), WrappedComponent);\n }\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}\n","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { invariantIntlContext } from '../utils';\nimport { Context } from './injectIntl';\nvar DisplayName;\n(function (DisplayName) {\n DisplayName[\"formatDate\"] = \"FormattedDate\";\n DisplayName[\"formatTime\"] = \"FormattedTime\";\n DisplayName[\"formatNumber\"] = \"FormattedNumber\";\n DisplayName[\"formatList\"] = \"FormattedList\";\n // Note that this DisplayName is the locale display name, not to be confused with\n // the name of the enum, which is for React component display name in dev tools.\n DisplayName[\"formatDisplayName\"] = \"FormattedDisplayName\";\n})(DisplayName || (DisplayName = {}));\nvar DisplayNameParts;\n(function (DisplayNameParts) {\n DisplayNameParts[\"formatDate\"] = \"FormattedDateParts\";\n DisplayNameParts[\"formatTime\"] = \"FormattedTimeParts\";\n DisplayNameParts[\"formatNumber\"] = \"FormattedNumberParts\";\n DisplayNameParts[\"formatList\"] = \"FormattedListParts\";\n})(DisplayNameParts || (DisplayNameParts = {}));\nexport const FormattedNumberParts = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n return children(intl.formatNumberToParts(value, formatProps));\n}));\nFormattedNumberParts.displayName = 'FormattedNumberParts';\nexport function createFormattedDateTimePartsComponent(name) {\n const ComponentParts = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n const formattedParts = name === 'formatDate'\n ? intl.formatDateToParts(date, formatProps)\n : intl.formatTimeToParts(date, formatProps);\n return children(formattedParts);\n }));\n ComponentParts.displayName = DisplayNameParts[name];\n return ComponentParts;\n}\nexport function createFormattedComponent(name) {\n const Component = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n // TODO: fix TS type definition for localeMatcher upstream\n const formattedValue = intl[name](value, formatProps);\n if (typeof children === 'function') {\n return children(formattedValue);\n }\n const Text = intl.textComponent || React.Fragment;\n return React.createElement(Text, null, formattedValue);\n }));\n Component.displayName = DisplayName[name];\n return Component;\n}\n","import { getNamedFormat, filterProps } from '../utils';\nimport { ReactIntlError } from '../error';\nconst NUMBER_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n // Unified NumberFormat (Stage 3 as of 10/22/19)\n 'compactDisplay',\n 'currencyDisplay',\n 'currencySign',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n];\nexport function getFormatter({ locale, formats, onError, }, getNumberFormat, options = {}) {\n const { format } = options;\n const defaults = ((format &&\n getNamedFormat(formats, 'number', format, onError)) ||\n {});\n const filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nexport function formatNumber(config, getNumberFormat, value, options = {}) {\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting number.', e));\n }\n return String(value);\n}\nexport function formatNumberToParts(config, getNumberFormat, value, options = {}) {\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting number.', e));\n }\n return [];\n}\n","import { getNamedFormat, filterProps } from '../utils';\nimport { FormatError } from 'intl-messageformat';\nimport { ReactIntlError } from '../error';\nconst RELATIVE_TIME_FORMAT_OPTIONS = [\n 'numeric',\n 'style',\n];\nfunction getFormatter({ locale, formats, onError, }, getRelativeTimeFormat, options = {}) {\n const { format } = options;\n const defaults = (!!format && getNamedFormat(formats, 'relative', format, onError)) || {};\n const filteredOptions = filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\nexport function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options = {}) {\n if (!unit) {\n unit = 'second';\n }\n const RelativeTimeFormat = Intl.RelativeTimeFormat;\n if (!RelativeTimeFormat) {\n config.onError(new FormatError(`Intl.RelativeTimeFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-relativetimeformat\"\n`, \"MISSING_INTL_API\" /* MISSING_INTL_API */));\n }\n try {\n return getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting relative time.', e));\n }\n return String(value);\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { filterProps, getNamedFormat } from '../utils';\nimport { ReactIntlError } from '../error';\nconst DATE_TIME_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'formatMatcher',\n 'timeZone',\n 'hour12',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n];\nexport function getFormatter({ locale, formats, onError, timeZone, }, type, getDateTimeFormat, options = {}) {\n const { format } = options;\n const defaults = Object.assign(Object.assign({}, (timeZone && { timeZone })), (format && getNamedFormat(formats, type, format, onError)));\n let filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);\n if (type === 'time' &&\n !filteredOptions.hour &&\n !filteredOptions.minute &&\n !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = Object.assign(Object.assign({}, filteredOptions), { hour: 'numeric', minute: 'numeric' });\n }\n return getDateTimeFormat(locale, filteredOptions);\n}\nexport function formatDate(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting date.', e));\n }\n return String(date);\n}\nexport function formatTime(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting time.', e));\n }\n return String(date);\n}\nexport function formatDateToParts(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting date.', e));\n }\n return [];\n}\nexport function formatTimeToParts(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting time.', e));\n }\n return [];\n}\n","import { filterProps } from '../utils';\nimport { ReactIntlError } from '../error';\nimport { FormatError } from 'intl-messageformat';\nconst PLURAL_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n];\nexport function formatPlural({ locale, onError }, getPluralRules, value, options = {}) {\n if (!Intl.PluralRules) {\n onError(new FormatError(`Intl.PluralRules is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-pluralrules\"\n`, \"MISSING_INTL_API\" /* MISSING_INTL_API */));\n }\n const filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting plural.', e));\n }\n return 'other';\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { invariant } from '@formatjs/intl-utils';\nimport IntlMessageFormat from 'intl-messageformat';\nimport { ReactIntlError } from '../error';\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce((all, k) => {\n all[k] = Object.assign({ timeZone }, opts[k]);\n return all;\n }, {});\n}\nfunction deepMergeOptions(opts1, opts2) {\n const keys = Object.keys(Object.assign(Object.assign({}, opts1), opts2));\n return keys.reduce((all, k) => {\n all[k] = Object.assign(Object.assign({}, (opts1[k] || {})), (opts2[k] || {}));\n return all;\n }, {});\n}\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n const mfFormats = IntlMessageFormat.formats;\n return Object.assign(Object.assign(Object.assign({}, mfFormats), f1), { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });\n}\nfunction prepareIntlMessageFormatHtmlOutput(chunks) {\n return React.createElement(React.Fragment, null, ...chunks);\n}\nexport function formatMessage({ locale, formats, messages, defaultLocale, defaultFormats, onError, timeZone, wrapRichTextChunksInFragment, }, state, messageDescriptor = { id: '' }, values = {}) {\n const { id, defaultMessage } = messageDescriptor;\n // `id` is a required field of a Message Descriptor.\n invariant(!!id, '[React Intl] An `id` must be provided to format a message.');\n const message = messages && messages[String(id)];\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n let formattedMessageParts = '';\n if (message) {\n try {\n const formatter = state.getMessageFormat(message, locale, formats, {\n formatters: state,\n });\n formattedMessageParts = formatter.format(values);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, `Error formatting message: \"${id}\" for locale: \"${locale}\"` +\n (defaultMessage ? ', using default message as fallback.' : ''), messageDescriptor, e));\n }\n }\n else if (!defaultMessage ||\n (locale && locale.toLowerCase() !== defaultLocale.toLowerCase())) {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the <IntlProvider> for the\n // default locale.\n onError(new ReactIntlError(\"MISSING_TRANSLATION\" /* MISSING_TRANSLATION */, `Missing message: \"${id}\" for locale: \"${locale}\"` +\n (defaultMessage ? ', using default message as fallback.' : ''), messageDescriptor));\n }\n if (!formattedMessageParts && defaultMessage) {\n try {\n const formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n formattedMessageParts = formatter.format(values);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, `Error formatting the default message for: \"${id}\"`, messageDescriptor, e));\n }\n }\n if (!formattedMessageParts) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, `Cannot format message: \"${id}\", ` +\n `using message ${message || defaultMessage ? 'source' : 'id'} as fallback.`, messageDescriptor));\n if (typeof message === 'string') {\n return message || defaultMessage || String(id);\n }\n return defaultMessage || String(id);\n }\n if (Array.isArray(formattedMessageParts)) {\n if (wrapRichTextChunksInFragment) {\n return prepareIntlMessageFormatHtmlOutput(formattedMessageParts);\n }\n return formattedMessageParts;\n }\n return formattedMessageParts;\n}\n","'use strict';\n\nfunction shallowEqualObjects(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (!objA || !objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n\n if (bKeys.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqualObjects;\n","import { filterProps } from '../utils';\nimport { FormatError } from 'intl-messageformat';\nimport { ReactIntlError } from '../error';\nconst LIST_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n 'style',\n];\nconst now = Date.now();\nfunction generateToken(i) {\n return `${now}_${i}_${now}`;\n}\nexport function formatList({ locale, onError }, getListFormat, values, options = {}) {\n const ListFormat = Intl.ListFormat;\n if (!ListFormat) {\n onError(new FormatError(`Intl.ListFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-listformat\"\n`, \"MISSING_INTL_API\" /* MISSING_INTL_API */));\n }\n const filteredOptions = filterProps(options, LIST_FORMAT_OPTIONS);\n try {\n const richValues = {};\n const serializedValues = values.map((v, i) => {\n if (typeof v === 'object') {\n const id = generateToken(i);\n richValues[id] = v;\n return id;\n }\n return String(v);\n });\n if (!Object.keys(richValues).length) {\n return getListFormat(locale, filteredOptions).format(serializedValues);\n }\n const parts = getListFormat(locale, filteredOptions).formatToParts(serializedValues);\n return parts.reduce((all, el) => {\n const val = el.value;\n if (richValues[val]) {\n all.push(richValues[val]);\n }\n else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n }\n else {\n all.push(val);\n }\n return all;\n }, []);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting list.', e));\n }\n return values;\n}\n","import { filterProps } from '../utils';\nimport { FormatError } from 'intl-messageformat';\nimport { ReactIntlError } from '../error';\nconst DISPLAY_NAMES_OPTONS = [\n 'localeMatcher',\n 'style',\n 'type',\n 'fallback',\n];\nexport function formatDisplayName({ locale, onError }, getDisplayNames, value, options = {}) {\n const DisplayNames = Intl.DisplayNames;\n if (!DisplayNames) {\n onError(new FormatError(`Intl.DisplayNames is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-displaynames\"\n`, \"MISSING_INTL_API\" /* MISSING_INTL_API */));\n }\n const filteredOptions = filterProps(options, DISPLAY_NAMES_OPTONS);\n try {\n return getDisplayNames(locale, filteredOptions).of(value);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting display name.', e));\n }\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { Provider } from './injectIntl';\nimport { DEFAULT_INTL_CONFIG, createFormatters, invariantIntlContext, createIntlCache, } from '../utils';\nimport { formatNumber, formatNumberToParts } from '../formatters/number';\nimport { formatRelativeTime } from '../formatters/relativeTime';\nimport { formatDate, formatTime, formatDateToParts, formatTimeToParts, } from '../formatters/dateTime';\nimport { formatPlural } from '../formatters/plural';\nimport { formatMessage } from '../formatters/message';\nimport * as shallowEquals_ from 'shallow-equal/objects';\nimport { formatList } from '../formatters/list';\nimport { formatDisplayName } from '../formatters/displayName';\nimport { ReactIntlError } from '../error';\nconst shallowEquals = shallowEquals_.default || shallowEquals_;\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError,\n };\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport function createIntl(config, cache) {\n const formatters = createFormatters(cache);\n const resolvedConfig = Object.assign(Object.assign({}, DEFAULT_INTL_CONFIG), config);\n const { locale, defaultLocale, onError } = resolvedConfig;\n if (!locale) {\n if (onError) {\n onError(new ReactIntlError(\"INVALID_CONFIG\" /* INVALID_CONFIG */, `\"locale\" was not configured, using \"${defaultLocale}\" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/API.md#intlshape for more details`));\n }\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each <FormattedMessage> contains a `defaultMessage` prop.\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n }\n else if (!Intl.NumberFormat.supportedLocalesOf(locale).length && onError) {\n onError(new ReactIntlError(\"MISSING_DATA\" /* MISSING_DATA */, `Missing locale data for locale: \"${locale}\" in Intl.NumberFormat. Using default locale: \"${defaultLocale}\" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/Getting-Started.md#runtime-requirements for more details`));\n }\n else if (!Intl.DateTimeFormat.supportedLocalesOf(locale).length &&\n onError) {\n onError(new ReactIntlError(\"MISSING_DATA\" /* MISSING_DATA */, `Missing locale data for locale: \"${locale}\" in Intl.DateTimeFormat. Using default locale: \"${defaultLocale}\" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/Getting-Started.md#runtime-requirements for more details`));\n }\n return Object.assign(Object.assign({}, resolvedConfig), { formatters, formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: formatMessage.bind(null, resolvedConfig, formatters), formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat), formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames) });\n}\nexport default class IntlProvider extends React.PureComponent {\n constructor() {\n super(...arguments);\n this.cache = createIntlCache();\n this.state = {\n cache: this.cache,\n intl: createIntl(processIntlConfig(this.props), this.cache),\n prevConfig: processIntlConfig(this.props),\n };\n }\n static getDerivedStateFromProps(props, { prevConfig, cache }) {\n const config = processIntlConfig(props);\n if (!shallowEquals(prevConfig, config)) {\n return {\n intl: createIntl(config, cache),\n prevConfig: config,\n };\n }\n return null;\n }\n render() {\n invariantIntlContext(this.state.intl);\n return React.createElement(Provider, { value: this.state.intl }, this.props.children);\n }\n}\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.defaultProps = DEFAULT_INTL_CONFIG;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nimport { invariant } from '@formatjs/intl-utils';\nconst MINUTE = 60;\nconst HOUR = 60 * 60;\nconst DAY = 60 * 60 * 24;\nfunction selectUnit(seconds) {\n const absValue = Math.abs(seconds);\n if (absValue < MINUTE) {\n return 'second';\n }\n if (absValue < HOUR) {\n return 'minute';\n }\n if (absValue < DAY) {\n return 'hour';\n }\n return 'day';\n}\nfunction getDurationInSeconds(unit) {\n switch (unit) {\n case 'second':\n return 1;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n default:\n return DAY;\n }\n}\nfunction valueToSeconds(value, unit) {\n if (!value) {\n return 0;\n }\n switch (unit) {\n case 'second':\n return value;\n case 'minute':\n return value * MINUTE;\n default:\n return value * HOUR;\n }\n}\nconst INCREMENTABLE_UNITS = ['second', 'minute', 'hour'];\nfunction canIncrement(unit = 'second') {\n return INCREMENTABLE_UNITS.includes(unit);\n}\nexport class FormattedRelativeTime extends React.PureComponent {\n constructor(props) {\n super(props);\n // Public for testing\n this._updateTimer = null;\n this.state = {\n prevUnit: this.props.unit,\n prevValue: this.props.value,\n currentValueInSeconds: canIncrement(this.props.unit)\n ? valueToSeconds(this.props.value, this.props.unit)\n : 0,\n };\n invariant(!props.updateIntervalInSeconds ||\n !!(props.updateIntervalInSeconds && canIncrement(props.unit)), 'Cannot schedule update with unit longer than hour');\n }\n scheduleNextUpdate({ updateIntervalInSeconds, unit }, { currentValueInSeconds }) {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n // If there's no interval and we cannot increment this unit, do nothing\n if (!updateIntervalInSeconds || !canIncrement(unit)) {\n return;\n }\n // Figure out the next interesting time\n const nextValueInSeconds = currentValueInSeconds - updateIntervalInSeconds;\n const nextUnit = selectUnit(nextValueInSeconds);\n // We've reached the max auto incrementable unit, don't schedule another update\n if (nextUnit === 'day') {\n return;\n }\n const unitDuration = getDurationInSeconds(nextUnit);\n const remainder = nextValueInSeconds % unitDuration;\n const prevInterestingValueInSeconds = nextValueInSeconds - remainder;\n const nextInterestingValueInSeconds = prevInterestingValueInSeconds >= currentValueInSeconds\n ? prevInterestingValueInSeconds - unitDuration\n : prevInterestingValueInSeconds;\n const delayInSeconds = Math.abs(nextInterestingValueInSeconds - currentValueInSeconds);\n this._updateTimer = setTimeout(() => this.setState({\n currentValueInSeconds: nextInterestingValueInSeconds,\n }), delayInSeconds * 1e3);\n }\n componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n componentDidUpdate() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n componentWillUnmount() {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n }\n static getDerivedStateFromProps(props, state) {\n if (props.unit !== state.prevUnit || props.value !== state.prevValue) {\n return {\n prevValue: props.value,\n prevUnit: props.unit,\n currentValueInSeconds: canIncrement(props.unit)\n ? valueToSeconds(props.value, props.unit)\n : 0,\n };\n }\n return null;\n }\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { formatRelativeTime, textComponent: Text } = intl;\n const { children, value, unit, updateIntervalInSeconds } = this.props;\n const { currentValueInSeconds } = this.state;\n let currentValue = value || 0;\n let currentUnit = unit;\n if (canIncrement(unit) &&\n typeof currentValueInSeconds === 'number' &&\n updateIntervalInSeconds) {\n currentUnit = selectUnit(currentValueInSeconds);\n const unitDuration = getDurationInSeconds(currentUnit);\n currentValue = Math.round(currentValueInSeconds / unitDuration);\n }\n const formattedRelativeTime = formatRelativeTime(currentValue, currentUnit, Object.assign({}, this.props));\n if (typeof children === 'function') {\n return children(formattedRelativeTime);\n }\n if (Text) {\n return React.createElement(Text, null, formattedRelativeTime);\n }\n return formattedRelativeTime;\n }));\n }\n}\nFormattedRelativeTime.displayName = 'FormattedRelativeTime';\nFormattedRelativeTime.defaultProps = {\n value: 0,\n unit: 'second',\n};\nexport default FormattedRelativeTime;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport withIntl from './injectIntl';\nconst FormattedPlural = props => {\n const { value, other, children, intl: { formatPlural, textComponent: Text }, } = props;\n const pluralCategory = formatPlural(value, props);\n const formattedPlural = props[pluralCategory] || other;\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n if (Text) {\n return React.createElement(Text, null, formattedPlural);\n }\n // Work around @types/react where React.FC cannot return string\n return formattedPlural;\n};\nFormattedPlural.defaultProps = {\n type: 'cardinal',\n};\nFormattedPlural.displayName = 'FormattedPlural';\nexport default withIntl(FormattedPlural);\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { Context } from './injectIntl';\nimport { formatMessage } from '../formatters/message';\nimport { invariantIntlContext, DEFAULT_INTL_CONFIG, createFormatters, } from '../utils';\nimport * as shallowEquals_ from 'shallow-equal/objects';\nconst shallowEquals = shallowEquals_.default || shallowEquals_;\nfunction defaultFormatMessage(descriptor, values) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Could not find required `intl` object. <IntlProvider> needs to exist in the component ancestry. Using default message as fallback.');\n }\n return formatMessage(Object.assign(Object.assign({}, DEFAULT_INTL_CONFIG), { locale: 'en' }), createFormatters(), descriptor, values);\n}\nclass FormattedMessage extends React.Component {\n shouldComponentUpdate(nextProps) {\n const _a = this.props, { values } = _a, otherProps = __rest(_a, [\"values\"]);\n const { values: nextValues } = nextProps, nextOtherProps = __rest(nextProps, [\"values\"]);\n return (!shallowEquals(nextValues, values) ||\n !shallowEquals(otherProps, nextOtherProps));\n }\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n if (!this.props.defaultMessage) {\n invariantIntlContext(intl);\n }\n const { formatMessage = defaultFormatMessage, textComponent: Text = React.Fragment, } = intl || {};\n const { id, description, defaultMessage, values, children, tagName: Component = Text, } = this.props;\n const descriptor = { id, description, defaultMessage };\n let nodes = formatMessage(descriptor, values);\n if (!Array.isArray(nodes)) {\n nodes = [nodes];\n }\n if (typeof children === 'function') {\n return children(...nodes);\n }\n if (Component) {\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return React.createElement(Component, null, ...nodes);\n }\n return nodes;\n }));\n }\n}\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.defaultProps = {\n values: {},\n};\nexport default FormattedMessage;\n","export function defineMessages(msgs) {\n return msgs;\n}\nexport function defineMessage(msg) {\n return msg;\n}\nimport { createFormattedComponent, createFormattedDateTimePartsComponent, } from './components/createFormattedComponent';\nexport { default as injectIntl, Provider as RawIntlProvider, Context as IntlContext, } from './components/injectIntl';\nexport { default as useIntl } from './components/useIntl';\nexport { default as IntlProvider, createIntl } from './components/provider';\n// IMPORTANT: Explicit here to prevent api-extractor from outputing `import('./types').CustomFormatConfig`\nexport const FormattedDate = createFormattedComponent('formatDate');\nexport const FormattedTime = createFormattedComponent('formatTime');\nexport const FormattedNumber = createFormattedComponent('formatNumber');\nexport const FormattedList = createFormattedComponent('formatList');\nexport const FormattedDisplayName = createFormattedComponent('formatDisplayName');\nexport const FormattedDateParts = createFormattedDateTimePartsComponent('formatDate');\nexport const FormattedTimeParts = createFormattedDateTimePartsComponent('formatTime');\nexport { FormattedNumberParts } from './components/createFormattedComponent';\nexport { default as FormattedRelativeTime } from './components/relative';\nexport { default as FormattedPlural } from './components/plural';\nexport { default as FormattedMessage } from './components/message';\nexport { createIntlCache } from './utils';\nexport { ReactIntlError, ReactIntlErrorCode } from './error';\n","import { useContext } from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nexport default function useIntl() {\n const intl = useContext(Context);\n invariantIntlContext(intl);\n return intl;\n}\n"],"names":["TYPE","SKELETON_TYPE","isLiteralElement","el","type","literal","isSelectElement","select","isPluralElement","plural","_super","SyntaxError","Error","__extends","buildMessage","expected","found","hex","ch","charCodeAt","toString","toUpperCase","literalEscape","s","replace","classEscape","describeExpectation","expectation","text","escapedParts","parts","map","part","Array","isArray","inverted","description","expected1","i","j","descriptions","sort","length","slice","join","describeExpected","found1","message","location","_this","call","this","name","captureStackTrace","pegParse","input","options","undefined","peg$result","peg$FAILED","peg$startRuleFunctions","start","peg$parsestart","peg$startRuleFunction","peg$c0","peg$c1","messageText","__assign","value","insertLocation","peg$c2","peg$c3","peg$literalExpectation","peg$c4","pound","peg$c5","peg$otherExpectation","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","peg$c11","open","children","close","error","tag","peg$c12","messageCtx","push","peg$c13","peg$c14","peg$c15","pop","peg$c16","peg$c17","peg$c18","peg$c19","peg$c20","peg$c21","peg$c22","peg$c23","peg$c24","peg$c25","argument","peg$c26","peg$c27","peg$c28","peg$classExpectation","peg$c29","peg$c30","peg$c31","peg$c32","peg$c33","option","peg$c34","peg$c35","stem","peg$c36","tokens","peg$c37","peg$c38","peg$c39","skeleton","peg$c40","peg$c41","style","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","number","date","time","peg$c47","peg$c48","peg$c49","peg$c50","peg$c51","peg$c52","peg$c53","peg$c54","peg$c55","pattern","peg$c56","peg$c57","peg$c58","peg$c59","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","peg$c65","peg$c66","peg$c67","pluralType","offset","reduce","all","_a","id","optionLocation","peg$c68","peg$c69","peg$c70","peg$c71","peg$c72","peg$c73","peg$c74","peg$c75","peg$c76","peg$c77","peg$c78","peg$c79","peg$c80","peg$c81","peg$c82","peg$c83","peg$c84","peg$c85","peg$c86","peg$c87","negative","num","peg$c89","peg$c90","peg$c91","peg$c92","peg$c93","escapedChar","quotedChars","peg$c94","x","isInPluralOption","isNestedMessageText","peg$c95","peg$c96","peg$c97","peg$c98","peg$c99","peg$c100","peg$c101","peg$c102","peg$c103","peg$c104","peg$c105","peg$c106","peg$c107","peg$c108","digits","parseInt","peg$c109","peg$c110","peg$currPos","peg$savedPos","peg$posDetailsCache","line","column","peg$maxFailPos","peg$maxFailExpected","peg$silentFails","startRule","substring","peg$computeLocation","location1","peg$buildSimpleError","text1","ignoreCase","peg$computePosDetails","pos","p","details","startPos","endPos","startPosDetails","endPosDetails","end","peg$fail","peg$parsemessage","s0","s1","peg$parsemessageElement","peg$parsemessageText","peg$parseliteralElement","s2","s3","s5","peg$parse_","peg$parseargNameOrNumber","peg$parseargumentElement","s7","s9","s10","s11","s12","substr","peg$parsenumberSkeletonToken","peg$parsenumberSkeleton","peg$parsenumberArgStyle","peg$parsenumberFormatElement","peg$parsedateTimeSkeletonLiteral","peg$parsedateTimeSkeletonPattern","peg$parsedateTimeSkeleton","peg$parsedateOrTimeArgStyle","peg$parsedateOrTimeFormatElement","peg$parsesimpleFormatElement","s13","s14","s15","peg$parsenumber","peg$parsepluralOption","peg$parsepluralElement","peg$parseselectOption","peg$parseselectElement","s4","peg$parsevalidTag","peg$parseopeningTag","peg$parseclosingTag","peg$parsetagElement","peg$parsepoundElement","peg$parsedoubleApostrophes","peg$parsequotedString","peg$parseunquotedString","peg$parsenumberSkeletonId","peg$parsewhiteSpace","test","charAt","peg$parsenumberSkeletonTokenOption","s6","peg$parseargName","peg$parsepluralRuleSelectValue","peg$parsepatternSyntax","peg$parseargNumber","peg$parseescapedChar","peg$parsetagName","captureLocation","PLURAL_HASHTAG_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","result","match","len","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","parseSignificantPrecision","str","_","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseNotationOptions","opt","signOpts","convertNumberSkeletonToNumberFormatOptions","_i","tokens_1","token","currency","useGrouping","maximumFractionDigits","unit","notation","compactDisplay","currencyDisplay","unitDisplay","minimumFractionDigits","parse","opts","els","normalizeHashtagInPlural","forEach","Object","keys","matchingLiteralElIndex","literalEl","el_1","newValue","newEls","splice","apply","__spreadArrays","getCacheId","inputs","JSON","stringify","_typeof","obj","k","orderedProps","ErrorCode","memoizeFormatConstructor","FormatConstructor","cache","args","arguments","cacheId","format","bind","FormatError","prototype","code","msg","originalMessage","InvalidValueError","variableId","InvalidValueTypeError","PART_TYPE","MissingValueError","mergeConfigs","defaultConfig","configs","c1","c2","mergeConfig","ReactIntlErrorCode","IntlMessageFormat","defaultLocale","Intl","NumberFormat","resolvedOptions","locale","__parse","formats","percent","short","medium","long","full","locales","overrideFormats","formatterCache","dateTime","pluralRules","values","formatToParts","formatters","currentPluralValue","els_1","varName","value_1","formatFn","chunks","c","other","PluralRules","rule","getPluralRules","getNumberFormat","getDateTimeFormat","String","lastPart","mergeLiteral","ast","supportedLocalesOf","getAst","TypeError","memoizeIntlConstructor","DateTimeFormat","createDefaultFormatters","invariant","condition","Err","ReactIntlError","descriptor","exception","stack","filterProps","props","whitelist","defaults","filtered","invariantIntlContext","intl","DEFAULT_INTL_CONFIG","messages","timeZone","textComponent","React","defaultFormats","onError","createIntlCache","relativeTime","list","displayNames","createFormatters","RelativeTimeFormat","ListFormat","DisplayNames","getMessageFormat","getRelativeTimeFormat","getListFormat","getDisplayNames","getNamedFormat","formatType","defineProperty","exports","b","Symbol","for","d","e","f","g","h","l","m","n","q","r","t","a","u","$$typeof","v","module","require$$0","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","reactIs","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","targetComponent","sourceComponent","blacklist","inheritedComponent","hoistNonReactStatics","concat","targetStatics","sourceStatics","key","hoistNonReactStatics_","IntlContext","IntlConsumer","Consumer","Provider","Context","injectIntl","WrappedComponent","WithIntl","enforceContext","intlProp","intlPropName","assign","ref","forwardRef","forwardedRef","Component","getDisplayName","DisplayName","DisplayNameParts","__rest","hasOwnProperty","indexOf","propertyIsEnumerable","FormattedNumberParts","formatProps","formatNumberToParts","createFormattedDateTimePartsComponent","ComponentParts","Date","formatDateToParts","formatTimeToParts","createFormattedComponent","formattedValue","Text","NUMBER_FORMAT_OPTIONS","getFormatter","RELATIVE_TIME_FORMAT_OPTIONS","formatRelativeTime","config","DATE_TIME_FORMAT_OPTIONS","filteredOptions","PLURAL_FORMAT_OPTIONS","setTimeZoneInOptions","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","formatMessage","state","wrapRichTextChunksInFragment","messageDescriptor","defaultMessage","formattedMessageParts","toLowerCase","prepareIntlMessageFormatHtmlOutput","objA","objB","aKeys","bKeys","LIST_FORMAT_OPTIONS","now","formatList","richValues","serializedValues","generateToken","val","DISPLAY_NAMES_OPTONS","shallowEquals","shallowEquals_","processIntlConfig","createIntl","resolvedConfig","formatNumber","formatDate","formatTime","formatPlural","formatDisplayName","of","IntlProvider","prevConfig","MINUTE","HOUR","selectUnit","seconds","absValue","Math","abs","getDurationInSeconds","valueToSeconds","INCREMENTABLE_UNITS","canIncrement","includes","FormattedRelativeTime","_updateTimer","prevUnit","prevValue","currentValueInSeconds","updateIntervalInSeconds","clearTimeout","nextValueInSeconds","nextUnit","unitDuration","prevInterestingValueInSeconds","nextInterestingValueInSeconds","delayInSeconds","setTimeout","_this2","setState","scheduleNextUpdate","_this3","currentValue","currentUnit","round","formattedRelativeTime","FormattedPlural","formattedPlural","withIntl","defaultFormatMessage","FormattedMessage","nextProps","otherProps","nextValues","nextOtherProps","tagName","nodes","FormattedDate","FormattedTime","FormattedNumber","FormattedList","FormattedDisplayName","FormattedDateParts","FormattedTimeParts","msgs","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"react-intl.min.js","sources":["../node_modules/intl-messageformat/node_modules/intl-messageformat-parser/lib/types.js","../node_modules/intl-messageformat/node_modules/intl-messageformat-parser/lib/parser.js","../node_modules/intl-messageformat/node_modules/intl-messageformat-parser/lib/normalize.js","../node_modules/intl-messageformat/node_modules/intl-messageformat-parser/lib/skeleton.js","../node_modules/intl-messageformat/node_modules/intl-messageformat-parser/lib/index.js","../node_modules/intl-format-cache/lib/index.js","../node_modules/intl-messageformat/lib/error.js","../node_modules/intl-messageformat/lib/formatters.js","../node_modules/intl-messageformat/lib/core.js","../lib/error.js","../node_modules/@formatjs/intl-utils/lib/invariant.js","../lib/utils.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../lib/components/injectIntl.js","../lib/components/createFormattedComponent.js","../lib/formatters/number.js","../lib/formatters/relativeTime.js","../lib/formatters/dateTime.js","../lib/formatters/plural.js","../lib/formatters/message.js","../node_modules/shallow-equal/objects/index.js","../lib/formatters/list.js","../lib/formatters/displayName.js","../lib/components/provider.js","../lib/components/relative.js","../lib/components/plural.js","../lib/components/message.js","../lib/index.js","../lib/components/useIntl.js"],"sourcesContent":["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 === 0 /* number */);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 1 /* 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//# sourceMappingURL=types.js.map","// tslint:disable:only-arrow-functions\n// tslint:disable:object-literal-shorthand\n// tslint:disable:trailing-comma\n// tslint:disable:object-literal-sort-keys\n// tslint:disable:one-variable-per-declaration\n// tslint:disable:max-line-length\n// tslint:disable:no-consecutive-blank-lines\n// tslint:disable:align\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.2.6 )\n//\n// https://pegjs.org/ https://github.com/metadevpro/ts-pegjs\nimport { TYPE, } from './types';\nvar SyntaxError = /** @class */ (function (_super) {\n __extends(SyntaxError, _super);\n function SyntaxError(message, expected, found, location) {\n var _this = _super.call(this) || this;\n _this.message = message;\n _this.expected = expected;\n _this.found = found;\n _this.location = location;\n _this.name = \"SyntaxError\";\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(_this, SyntaxError);\n }\n return _this;\n }\n SyntaxError.buildMessage = function (expected, found) {\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\"/g, \"\\\\\\\"\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function classEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\]/g, \"\\\\]\")\n .replace(/\\^/g, \"\\\\^\")\n .replace(/-/g, \"\\\\-\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function describeExpectation(expectation) {\n switch (expectation.type) {\n case \"literal\":\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n case \"class\":\n var escapedParts = expectation.parts.map(function (part) {\n return Array.isArray(part)\n ? classEscape(part[0]) + \"-\" + classEscape(part[1])\n : classEscape(part);\n });\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n case \"any\":\n return \"any character\";\n case \"end\":\n return \"end of input\";\n case \"other\":\n return expectation.description;\n }\n }\n function describeExpected(expected1) {\n var descriptions = expected1.map(describeExpectation);\n var i;\n var j;\n descriptions.sort();\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n function describeFound(found1) {\n return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n }\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n };\n return SyntaxError;\n}(Error));\nexport { SyntaxError };\nfunction peg$parse(input, options) {\n options = options !== undefined ? options : {};\n var peg$FAILED = {};\n var peg$startRuleFunctions = { start: peg$parsestart };\n var peg$startRuleFunction = peg$parsestart;\n var peg$c0 = function (parts) {\n return parts.join('');\n };\n var peg$c1 = function (messageText) {\n return __assign({ type: TYPE.literal, value: messageText }, insertLocation());\n };\n var peg$c2 = \"#\";\n var peg$c3 = peg$literalExpectation(\"#\", false);\n var peg$c4 = function () {\n return __assign({ type: TYPE.pound }, insertLocation());\n };\n var peg$c5 = peg$otherExpectation(\"tagElement\");\n var peg$c6 = \"<\";\n var peg$c7 = peg$literalExpectation(\"<\", false);\n var peg$c8 = \"/>\";\n var peg$c9 = peg$literalExpectation(\"/>\", false);\n var peg$c10 = function (value) {\n return __assign({ type: TYPE.literal, value: value.join('') }, insertLocation());\n };\n var peg$c11 = function (open, children, close) {\n if (open !== close) {\n error(\"Mismatch tag \\\"\" + open + \"\\\" !== \\\"\" + close + \"\\\"\", location());\n }\n return __assign({ type: TYPE.tag, value: open, children: children }, insertLocation());\n };\n var peg$c12 = function () { messageCtx.push('openingTag'); return true; };\n var peg$c13 = \">\";\n var peg$c14 = peg$literalExpectation(\">\", false);\n var peg$c15 = function (tag) { messageCtx.pop(); return true; };\n var peg$c16 = function (tag) {\n return tag;\n };\n var peg$c17 = \"</\";\n var peg$c18 = peg$literalExpectation(\"</\", false);\n var peg$c19 = function () { messageCtx.push('closingTag'); return true; };\n var peg$c20 = peg$otherExpectation(\"argumentElement\");\n var peg$c21 = \"{\";\n var peg$c22 = peg$literalExpectation(\"{\", false);\n var peg$c23 = \"}\";\n var peg$c24 = peg$literalExpectation(\"}\", false);\n var peg$c25 = function (value) {\n return __assign({ type: TYPE.argument, value: value }, insertLocation());\n };\n var peg$c26 = peg$otherExpectation(\"numberSkeletonId\");\n var peg$c27 = /^['\\/{}]/;\n var peg$c28 = peg$classExpectation([\"'\", \"/\", \"{\", \"}\"], false, false);\n var peg$c29 = peg$anyExpectation();\n var peg$c30 = peg$otherExpectation(\"numberSkeletonTokenOption\");\n var peg$c31 = \"/\";\n var peg$c32 = peg$literalExpectation(\"/\", false);\n var peg$c33 = function (option) { return option; };\n var peg$c34 = peg$otherExpectation(\"numberSkeletonToken\");\n var peg$c35 = function (stem, options) {\n return { stem: stem, options: options };\n };\n var peg$c36 = function (tokens) {\n return __assign({ type: 0 /* number */, tokens: tokens }, insertLocation());\n };\n var peg$c37 = \"::\";\n var peg$c38 = peg$literalExpectation(\"::\", false);\n var peg$c39 = function (skeleton) { return skeleton; };\n var peg$c40 = function () { messageCtx.push('numberArgStyle'); return true; };\n var peg$c41 = function (style) {\n messageCtx.pop();\n return style.replace(/\\s*$/, '');\n };\n var peg$c42 = \",\";\n var peg$c43 = peg$literalExpectation(\",\", false);\n var peg$c44 = \"number\";\n var peg$c45 = peg$literalExpectation(\"number\", false);\n var peg$c46 = function (value, type, style) {\n return __assign({ type: type === 'number' ? TYPE.number : type === 'date' ? TYPE.date : TYPE.time, style: style && style[2], value: value }, insertLocation());\n };\n var peg$c47 = \"'\";\n var peg$c48 = peg$literalExpectation(\"'\", false);\n var peg$c49 = /^[^']/;\n var peg$c50 = peg$classExpectation([\"'\"], true, false);\n var peg$c51 = /^[^a-zA-Z'{}]/;\n var peg$c52 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"'\", \"{\", \"}\"], true, false);\n var peg$c53 = /^[a-zA-Z]/;\n var peg$c54 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false);\n var peg$c55 = function (pattern) {\n return __assign({ type: 1 /* dateTime */, pattern: pattern }, insertLocation());\n };\n var peg$c56 = function () { messageCtx.push('dateOrTimeArgStyle'); return true; };\n var peg$c57 = \"date\";\n var peg$c58 = peg$literalExpectation(\"date\", false);\n var peg$c59 = \"time\";\n var peg$c60 = peg$literalExpectation(\"time\", false);\n var peg$c61 = \"plural\";\n var peg$c62 = peg$literalExpectation(\"plural\", false);\n var peg$c63 = \"selectordinal\";\n var peg$c64 = peg$literalExpectation(\"selectordinal\", false);\n var peg$c65 = \"offset:\";\n var peg$c66 = peg$literalExpectation(\"offset:\", false);\n var peg$c67 = function (value, pluralType, offset, options) {\n return __assign({ type: TYPE.plural, pluralType: pluralType === 'plural' ? 'cardinal' : 'ordinal', value: value, offset: offset ? offset[2] : 0, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in plural element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c68 = \"select\";\n var peg$c69 = peg$literalExpectation(\"select\", false);\n var peg$c70 = function (value, options) {\n return __assign({ type: TYPE.select, value: value, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in select element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c71 = \"=\";\n var peg$c72 = peg$literalExpectation(\"=\", false);\n var peg$c73 = function (id) { messageCtx.push('select'); return true; };\n var peg$c74 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c75 = function (id) { messageCtx.push('plural'); return true; };\n var peg$c76 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c77 = peg$otherExpectation(\"whitespace\");\n var peg$c78 = /^[\\t-\\r \\x85\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/;\n var peg$c79 = peg$classExpectation([[\"\\t\", \"\\r\"], \" \", \"\\x85\", \"\\xA0\", \"\\u1680\", [\"\\u2000\", \"\\u200A\"], \"\\u2028\", \"\\u2029\", \"\\u202F\", \"\\u205F\", \"\\u3000\"], false, false);\n var peg$c80 = peg$otherExpectation(\"syntax pattern\");\n var peg$c81 = /^[!-\\/:-@[-\\^`{-~\\xA1-\\xA7\\xA9\\xAB\\xAC\\xAE\\xB0\\xB1\\xB6\\xBB\\xBF\\xD7\\xF7\\u2010-\\u2027\\u2030-\\u203E\\u2041-\\u2053\\u2055-\\u205E\\u2190-\\u245F\\u2500-\\u2775\\u2794-\\u2BFF\\u2E00-\\u2E7F\\u3001-\\u3003\\u3008-\\u3020\\u3030\\uFD3E\\uFD3F\\uFE45\\uFE46]/;\n var peg$c82 = peg$classExpectation([[\"!\", \"/\"], [\":\", \"@\"], [\"[\", \"^\"], \"`\", [\"{\", \"~\"], [\"\\xA1\", \"\\xA7\"], \"\\xA9\", \"\\xAB\", \"\\xAC\", \"\\xAE\", \"\\xB0\", \"\\xB1\", \"\\xB6\", \"\\xBB\", \"\\xBF\", \"\\xD7\", \"\\xF7\", [\"\\u2010\", \"\\u2027\"], [\"\\u2030\", \"\\u203E\"], [\"\\u2041\", \"\\u2053\"], [\"\\u2055\", \"\\u205E\"], [\"\\u2190\", \"\\u245F\"], [\"\\u2500\", \"\\u2775\"], [\"\\u2794\", \"\\u2BFF\"], [\"\\u2E00\", \"\\u2E7F\"], [\"\\u3001\", \"\\u3003\"], [\"\\u3008\", \"\\u3020\"], \"\\u3030\", \"\\uFD3E\", \"\\uFD3F\", \"\\uFE45\", \"\\uFE46\"], false, false);\n var peg$c83 = peg$otherExpectation(\"optional whitespace\");\n var peg$c84 = peg$otherExpectation(\"number\");\n var peg$c85 = \"-\";\n var peg$c86 = peg$literalExpectation(\"-\", false);\n var peg$c87 = function (negative, num) {\n return num\n ? negative\n ? -num\n : num\n : 0;\n };\n var peg$c88 = peg$otherExpectation(\"apostrophe\");\n var peg$c89 = peg$otherExpectation(\"double apostrophes\");\n var peg$c90 = \"''\";\n var peg$c91 = peg$literalExpectation(\"''\", false);\n var peg$c92 = function () { return \"'\"; };\n var peg$c93 = function (escapedChar, quotedChars) {\n return escapedChar + quotedChars.replace(\"''\", \"'\");\n };\n var peg$c94 = function (x) {\n return (x !== '<' &&\n x !== '{' &&\n !(isInPluralOption() && x === '#') &&\n !(isNestedMessageText() && x === '}') &&\n !(isNestedMessageText() && x === '>'));\n };\n var peg$c95 = \"\\n\";\n var peg$c96 = peg$literalExpectation(\"\\n\", false);\n var peg$c97 = function (x) {\n return x === '<' || x === '>' || x === '{' || x === '}' || (isInPluralOption() && x === '#');\n };\n var peg$c98 = peg$otherExpectation(\"argNameOrNumber\");\n var peg$c99 = peg$otherExpectation(\"validTag\");\n var peg$c100 = peg$otherExpectation(\"argNumber\");\n var peg$c101 = \"0\";\n var peg$c102 = peg$literalExpectation(\"0\", false);\n var peg$c103 = function () { return 0; };\n var peg$c104 = /^[1-9]/;\n var peg$c105 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n var peg$c106 = /^[0-9]/;\n var peg$c107 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n var peg$c108 = function (digits) {\n return parseInt(digits.join(''), 10);\n };\n var peg$c109 = peg$otherExpectation(\"argName\");\n var peg$c110 = peg$otherExpectation(\"tagName\");\n var peg$currPos = 0;\n var peg$savedPos = 0;\n var peg$posDetailsCache = [{ line: 1, column: 1 }];\n var peg$maxFailPos = 0;\n var peg$maxFailExpected = [];\n var peg$silentFails = 0;\n var peg$result;\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n function expected(description, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildStructuredError([peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location1);\n }\n function error(message, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildSimpleError(message, location1);\n }\n function peg$literalExpectation(text1, ignoreCase) {\n return { type: \"literal\", text: text1, ignoreCase: ignoreCase };\n }\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos];\n var p;\n if (details) {\n return details;\n }\n else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n }\n else {\n details.column++;\n }\n p++;\n }\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos);\n var endPosDetails = peg$computePosDetails(endPos);\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n function peg$fail(expected1) {\n if (peg$currPos < peg$maxFailPos) {\n return;\n }\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n peg$maxFailExpected.push(expected1);\n }\n function peg$buildSimpleError(message, location1) {\n return new SyntaxError(message, [], \"\", location1);\n }\n function peg$buildStructuredError(expected1, found, location1) {\n return new SyntaxError(SyntaxError.buildMessage(expected1, found), expected1, found, location1);\n }\n function peg$parsestart() {\n var s0;\n s0 = peg$parsemessage();\n return s0;\n }\n function peg$parsemessage() {\n var s0, s1;\n s0 = [];\n s1 = peg$parsemessageElement();\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsemessageElement();\n }\n return s0;\n }\n function peg$parsemessageElement() {\n var s0;\n s0 = peg$parseliteralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsesimpleFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsetagElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepoundElement();\n }\n }\n }\n }\n }\n }\n return s0;\n }\n function peg$parsemessageText() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parseliteralElement() {\n var s0, s1;\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsepoundElement() {\n var s0, s1;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 35) {\n s1 = peg$c2;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c3);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c4();\n }\n s0 = s1;\n return s0;\n }\n function peg$parsetagElement() {\n var s0, s1, s2, s3, s4, s5;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 60) {\n s2 = peg$c6;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalidTag();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.substr(peg$currPos, 2) === peg$c8) {\n s5 = peg$c8;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s5 !== peg$FAILED) {\n s2 = [s2, s3, s4, s5];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c10(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseopeningTag();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessage();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseclosingTag();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c5);\n }\n }\n return s0;\n }\n function peg$parseopeningTag() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 60) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s2 = peg$c12();\n if (s2) {\n s2 = undefined;\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalidTag();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 62) {\n s4 = peg$c13;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c15(s3);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseclosingTag() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c17) {\n s1 = peg$c17;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c18);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s2 = peg$c19();\n if (s2) {\n s2 = undefined;\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalidTag();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 62) {\n s4 = peg$c13;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c15(s3);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s5 = peg$c23;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c25(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c20);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonId() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c27.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c27.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c26);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonTokenOption() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 47) {\n s1 = peg$c31;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c32);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c30);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonToken() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parsenumberSkeletonTokenOption();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parsenumberSkeletonTokenOption();\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c35(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c34);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeleton() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsenumberSkeletonToken();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsenumberSkeletonToken();\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c36(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsenumberArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c37) {\n s1 = peg$c37;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c38);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c39(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c40();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c41(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsenumberFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c44) {\n s7 = peg$c44;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c45);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c42;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsenumberArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c23;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c46(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonLiteral() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c47;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s3 = peg$c47;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = [];\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c51.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c52);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c51.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c52);\n }\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonPattern() {\n var s0, s1;\n s0 = [];\n if (peg$c53.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c53.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeleton() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n s2 = [];\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s1 = input.substring(s1, peg$currPos);\n }\n else {\n s1 = s2;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsedateOrTimeArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c37) {\n s1 = peg$c37;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c38);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsedateTimeSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c39(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c56();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c41(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsedateOrTimeFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c57) {\n s7 = peg$c57;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c58);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c59) {\n s7 = peg$c59;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c60);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c42;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsedateOrTimeArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c23;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c46(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsesimpleFormatElement() {\n var s0;\n s0 = peg$parsenumberFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsedateOrTimeFormatElement();\n }\n return s0;\n }\n function peg$parsepluralElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c61) {\n s7 = peg$c61;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c62);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 13) === peg$c63) {\n s7 = peg$c63;\n peg$currPos += 13;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c64);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c42;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = peg$currPos;\n if (input.substr(peg$currPos, 7) === peg$c65) {\n s12 = peg$c65;\n peg$currPos += 7;\n }\n else {\n s12 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c66);\n }\n }\n if (s12 !== peg$FAILED) {\n s13 = peg$parse_();\n if (s13 !== peg$FAILED) {\n s14 = peg$parsenumber();\n if (s14 !== peg$FAILED) {\n s12 = [s12, s13, s14];\n s11 = s12;\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n if (s11 === peg$FAILED) {\n s11 = null;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n s13 = [];\n s14 = peg$parsepluralOption();\n if (s14 !== peg$FAILED) {\n while (s14 !== peg$FAILED) {\n s13.push(s14);\n s14 = peg$parsepluralOption();\n }\n }\n else {\n s13 = peg$FAILED;\n }\n if (s13 !== peg$FAILED) {\n s14 = peg$parse_();\n if (s14 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s15 = peg$c23;\n peg$currPos++;\n }\n else {\n s15 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s15 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c67(s3, s7, s11, s13);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseselectElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c21;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c42;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c68) {\n s7 = peg$c68;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c42;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parseselectOption();\n if (s12 !== peg$FAILED) {\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parseselectOption();\n }\n }\n else {\n s11 = peg$FAILED;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s13 = peg$c23;\n peg$currPos++;\n }\n else {\n s13 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s13 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70(s3, s11);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralRuleSelectValue() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c71;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c72);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseargName();\n }\n return s0;\n }\n function peg$parseselectOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargName();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c21;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c73(s2);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c23;\n peg$currPos++;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c74(s2, s6);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsepluralRuleSelectValue();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c21;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c22);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c75(s2);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c23;\n peg$currPos++;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c24);\n }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c76(s2, s6);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsewhiteSpace() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c78.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c79);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c77);\n }\n }\n return s0;\n }\n function peg$parsepatternSyntax() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c81.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c82);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c80);\n }\n }\n return s0;\n }\n function peg$parse_() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsewhiteSpace();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsewhiteSpace();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c83);\n }\n }\n return s0;\n }\n function peg$parsenumber() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 45) {\n s1 = peg$c85;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargNumber();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c87(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c84);\n }\n }\n return s0;\n }\n function peg$parseapostrophe() {\n var s0, s1;\n peg$silentFails++;\n if (input.charCodeAt(peg$currPos) === 39) {\n s0 = peg$c47;\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c88);\n }\n }\n return s0;\n }\n function peg$parsedoubleApostrophes() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c90) {\n s1 = peg$c90;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c92();\n }\n s0 = s1;\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c89);\n }\n }\n return s0;\n }\n function peg$parsequotedString() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c47;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseescapedChar();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n s4 = [];\n if (input.substr(peg$currPos, 2) === peg$c90) {\n s5 = peg$c90;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n if (input.substr(peg$currPos, 2) === peg$c90) {\n s5 = peg$c90;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c49.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c50);\n }\n }\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = input.substring(s3, peg$currPos);\n }\n else {\n s3 = s4;\n }\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s4 = peg$c47;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c93(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseunquotedString() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c94(s2);\n if (s3) {\n s3 = undefined;\n }\n else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 === peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 10) {\n s1 = peg$c95;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c96);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n return s0;\n }\n function peg$parseescapedChar() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c97(s2);\n if (s3) {\n s3 = undefined;\n }\n else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n return s0;\n }\n function peg$parseargNameOrNumber() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseargNumber();\n if (s1 === peg$FAILED) {\n s1 = peg$parseargName();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c98);\n }\n }\n return s0;\n }\n function peg$parsevalidTag() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseargNumber();\n if (s1 === peg$FAILED) {\n s1 = peg$parsetagName();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c99);\n }\n }\n return s0;\n }\n function peg$parseargNumber() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c101;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c102);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c103();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (peg$c104.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c105);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n if (peg$c106.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c107);\n }\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n if (peg$c106.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c107);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c108(s1);\n }\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c100);\n }\n }\n return s0;\n }\n function peg$parseargName() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c109);\n }\n }\n return s0;\n }\n function peg$parsetagName() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n if (input.charCodeAt(peg$currPos) === 45) {\n s2 = peg$c85;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s2 === peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n if (input.charCodeAt(peg$currPos) === 45) {\n s2 = peg$c85;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s2 === peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c29);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c110);\n }\n }\n return s0;\n }\n var messageCtx = ['root'];\n function isNestedMessageText() {\n return messageCtx.length > 1;\n }\n function isInPluralOption() {\n return messageCtx[messageCtx.length - 1] === 'plural';\n }\n function insertLocation() {\n return options && options.captureLocation ? {\n location: location()\n } : {};\n }\n peg$result = peg$startRuleFunction();\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n }\n else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n throw peg$buildStructuredError(peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos));\n }\n}\nexport var pegParse = peg$parse;\n//# sourceMappingURL=parser.js.map","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { isPluralElement, isLiteralElement, isSelectElement, } from './types';\nimport { pegParse } from './parser';\nvar PLURAL_HASHTAG_REGEX = /(^|[^\\\\])#/g;\n/**\n * Whether to convert `#` in plural rule options\n * to `{var, number}`\n * @param el AST Element\n * @param pluralStack current plural stack\n */\nexport function normalizeHashtagInPlural(els) {\n els.forEach(function (el) {\n // If we're encountering a plural el\n if (!isPluralElement(el) && !isSelectElement(el)) {\n return;\n }\n // Go down the options and search for # in any literal element\n Object.keys(el.options).forEach(function (id) {\n var _a;\n var opt = el.options[id];\n // If we got a match, we have to split this\n // and inject a NumberElement in the middle\n var matchingLiteralElIndex = -1;\n var literalEl = undefined;\n for (var i = 0; i < opt.value.length; i++) {\n var el_1 = opt.value[i];\n if (isLiteralElement(el_1) && PLURAL_HASHTAG_REGEX.test(el_1.value)) {\n matchingLiteralElIndex = i;\n literalEl = el_1;\n break;\n }\n }\n if (literalEl) {\n var newValue = literalEl.value.replace(PLURAL_HASHTAG_REGEX, \"$1{\" + el.value + \", number}\");\n var newEls = pegParse(newValue);\n (_a = opt.value).splice.apply(_a, __spreadArrays([matchingLiteralElIndex, 1], newEls));\n }\n normalizeHashtagInPlural(opt.value);\n });\n });\n}\n//# sourceMappingURL=normalize.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\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 ? 'short' : 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) pattenrs 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: miliseconds 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) pattenrs are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?$/g;\nfunction parseSignificantPrecision(str) {\n var result = {};\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 return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n return {\n signDisplay: 'never',\n };\n }\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 convertNumberSkeletonToNumberFormatOptions(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 result.style = 'percent';\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\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 }\n // Precision\n // https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#fraction-precision\n // precision-integer case\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\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 (match, 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 if (token.options.length) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.options[0]));\n }\n continue;\n }\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 }\n return result;\n}\n//# sourceMappingURL=skeleton.js.map","import { pegParse } from './parser';\nimport { normalizeHashtagInPlural } from './normalize';\nexport * from './types';\nexport * from './parser';\nexport * from './skeleton';\nexport function parse(input, opts) {\n var els = pegParse(input, opts);\n if (!opts || opts.normalizeHashtagInPlural !== false) {\n normalizeHashtagInPlural(els);\n }\n return els;\n}\n//# sourceMappingURL=index.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n// -- Utilities ----------------------------------------------------------------\nfunction getCacheId(inputs) {\n return JSON.stringify(inputs.map(function (input) {\n return input && typeof input === 'object' ? orderedProps(input) : input;\n }));\n}\nfunction orderedProps(obj) {\n return Object.keys(obj)\n .sort()\n .map(function (k) {\n var _a;\n return (_a = {}, _a[k] = obj[k], _a);\n });\n}\nvar memoizeFormatConstructor = function (FormatConstructor, cache) {\n if (cache === void 0) { cache = {}; }\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var cacheId = getCacheId(args);\n var format = cacheId && cache[cacheId];\n if (!format) {\n format = new ((_a = FormatConstructor).bind.apply(_a, __spreadArrays([void 0], args)))();\n if (cacheId) {\n cache[cacheId] = format;\n }\n }\n return format;\n };\n};\nexport default memoizeFormatConstructor;\n//# sourceMappingURL=index.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \" + this.code + \"] \" + this.message;\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\" + variableId + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(options).join('\", \"') + \"\\\"\", \"INVALID_VALUE\" /* INVALID_VALUE */, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\" + value + \"\\\" must be of type \" + type, \"INVALID_VALUE\" /* INVALID_VALUE */, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\" + variableId + \"\\\" was not provided to the string \\\"\" + originalMessage + \"\\\"\", \"MISSING_VALUE\" /* MISSING_VALUE */, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n//# sourceMappingURL=error.js.map","import { convertNumberSkeletonToNumberFormatOptions, isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, parseDateTimeSkeleton, isTagElement, } from 'intl-messageformat-parser';\nimport { MissingValueError, InvalidValueError, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== 0 /* literal */ ||\n part.type !== 0 /* literal */) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nfunction isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: 0 /* literal */,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: 0 /* literal */,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: 0 /* literal */,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? 0 /* literal */ : 1 /* object */,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string' ? formats.date[el.style] : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? parseDateTimeSkeleton(el.style.pattern)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? convertNumberSkeletonToNumberFormatOptions(el.style.tokens)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values);\n var chunks = formatFn.apply(void 0, parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? 0 /* literal */ : 1 /* object */,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\" + value];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", \"MISSING_INTL_API\" /* MISSING_INTL_API */, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n//# sourceMappingURL=formatters.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { parse } from 'intl-messageformat-parser';\nimport memoizeIntlConstructor from 'intl-format-cache';\nimport { formatToParts, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nexport function createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat, cache.number),\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat, cache.dateTime),\n getPluralRules: memoizeIntlConstructor(Intl.PluralRules, cache.pluralRules),\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== 0 /* literal */ ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () { return ({\n locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n }); };\n this.getAst = function () { return _this.ast; };\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, {\n normalizeHashtagInPlural: false,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function () {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: true,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\nexport default IntlMessageFormat;\n//# sourceMappingURL=core.js.map","export var ReactIntlErrorCode;\n(function (ReactIntlErrorCode) {\n ReactIntlErrorCode[\"FORMAT_ERROR\"] = \"FORMAT_ERROR\";\n ReactIntlErrorCode[\"UNSUPPORTED_FORMATTER\"] = \"UNSUPPORTED_FORMATTER\";\n ReactIntlErrorCode[\"INVALID_CONFIG\"] = \"INVALID_CONFIG\";\n ReactIntlErrorCode[\"MISSING_DATA\"] = \"MISSING_DATA\";\n ReactIntlErrorCode[\"MISSING_TRANSLATION\"] = \"MISSING_TRANSLATION\";\n})(ReactIntlErrorCode || (ReactIntlErrorCode = {}));\nexport class ReactIntlError extends Error {\n constructor(code, message, descriptor, exception) {\n super(`[React Intl Error ${code}] ${message} ${exception ? `\\n${exception.stack}` : ''}`);\n this.code = code;\n this.descriptor = descriptor;\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, ReactIntlError);\n }\n }\n}\n","export function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n//# sourceMappingURL=invariant.js.map","/*\nHTML escaping is the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\nimport * as React from 'react';\nimport IntlMessageFormat from 'intl-messageformat';\nimport memoizeIntlConstructor from 'intl-format-cache';\nimport { invariant } from '@formatjs/intl-utils';\nimport { ReactIntlError } from './error';\nexport function filterProps(props, whitelist, defaults = {}) {\n return whitelist.reduce((filtered, name) => {\n if (name in props) {\n filtered[name] = props[name];\n }\n else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nexport function invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' +\n '<IntlProvider> needs to exist in the component ancestry.');\n}\nexport function defaultErrorHandler(error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n}\nexport const DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n textComponent: React.Fragment,\n defaultLocale: 'en',\n defaultFormats: {},\n onError: defaultErrorHandler,\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {},\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nexport function createFormatters(cache = createIntlCache()) {\n const RelativeTimeFormat = Intl.RelativeTimeFormat;\n const ListFormat = Intl.ListFormat;\n const DisplayNames = Intl.DisplayNames;\n return {\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat, cache.dateTime),\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat, cache.number),\n getMessageFormat: memoizeIntlConstructor(IntlMessageFormat, cache.message),\n getRelativeTimeFormat: memoizeIntlConstructor(RelativeTimeFormat, cache.relativeTime),\n getPluralRules: memoizeIntlConstructor(Intl.PluralRules, cache.pluralRules),\n getListFormat: memoizeIntlConstructor(ListFormat, cache.list),\n getDisplayNames: memoizeIntlConstructor(DisplayNames, cache.displayNames),\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n const formatType = formats && formats[type];\n let format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(new ReactIntlError(\"UNSUPPORTED_FORMATTER\" /* UNSUPPORTED_FORMATTER */, `No ${type} format named: ${name}`));\n}\n","/** @license React v16.8.6\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.memo\"):\n60115,r=b?Symbol.for(\"react.lazy\"):60116;function t(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return u}}case r:case q:case d:return u}}}function v(a){return t(a)===m}exports.typeOf=t;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;\nexports.Fragment=e;exports.Lazy=r;exports.Memo=q;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||\"object\"===typeof a&&null!==a&&(a.$$typeof===r||a.$$typeof===q||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n)};exports.isAsyncMode=function(a){return v(a)||t(a)===l};exports.isConcurrentMode=v;exports.isContextConsumer=function(a){return t(a)===k};\nexports.isContextProvider=function(a){return t(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return t(a)===n};exports.isFragment=function(a){return t(a)===e};exports.isLazy=function(a){return t(a)===r};exports.isMemo=function(a){return t(a)===q};exports.isPortal=function(a){return t(a)===d};exports.isProfiler=function(a){return t(a)===g};exports.isStrictMode=function(a){return t(a)===f};\nexports.isSuspense=function(a){return t(a)===p};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import * as React from 'react';\nimport * as hoistNonReactStatics_ from 'hoist-non-react-statics';\n// Since rollup cannot deal with namespace being a function,\n// this is to interop with TypeScript since `invariant`\n// does not export a default\n// https://github.com/rollup/rollup/issues/1267\nconst hoistNonReactStatics = hoistNonReactStatics_.default || hoistNonReactStatics_;\nimport { invariantIntlContext } from '../utils';\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n// TODO: We should provide initial value here\nconst IntlContext = React.createContext(null);\nconst { Consumer: IntlConsumer, Provider: IntlProvider } = IntlContext;\nexport const Provider = IntlProvider;\nexport const Context = IntlContext;\nexport default function injectIntl(WrappedComponent, options) {\n const { intlPropName = 'intl', forwardRef = false, enforceContext = true } = options || {};\n const WithIntl = props => (React.createElement(IntlConsumer, null, (intl) => {\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n const intlProp = { [intlPropName]: intl };\n return (React.createElement(WrappedComponent, Object.assign({}, props, intlProp, { ref: forwardRef ? props.forwardedRef : null })));\n }));\n WithIntl.displayName = `injectIntl(${getDisplayName(WrappedComponent)})`;\n WithIntl.WrappedComponent = WrappedComponent;\n if (forwardRef) {\n return hoistNonReactStatics(React.forwardRef((props, ref) => (React.createElement(WithIntl, Object.assign({}, props, { forwardedRef: ref })))), WrappedComponent);\n }\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}\n","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { invariantIntlContext } from '../utils';\nimport { Context } from './injectIntl';\nvar DisplayName;\n(function (DisplayName) {\n DisplayName[\"formatDate\"] = \"FormattedDate\";\n DisplayName[\"formatTime\"] = \"FormattedTime\";\n DisplayName[\"formatNumber\"] = \"FormattedNumber\";\n DisplayName[\"formatList\"] = \"FormattedList\";\n // Note that this DisplayName is the locale display name, not to be confused with\n // the name of the enum, which is for React component display name in dev tools.\n DisplayName[\"formatDisplayName\"] = \"FormattedDisplayName\";\n})(DisplayName || (DisplayName = {}));\nvar DisplayNameParts;\n(function (DisplayNameParts) {\n DisplayNameParts[\"formatDate\"] = \"FormattedDateParts\";\n DisplayNameParts[\"formatTime\"] = \"FormattedTimeParts\";\n DisplayNameParts[\"formatNumber\"] = \"FormattedNumberParts\";\n DisplayNameParts[\"formatList\"] = \"FormattedListParts\";\n})(DisplayNameParts || (DisplayNameParts = {}));\nexport const FormattedNumberParts = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n return children(intl.formatNumberToParts(value, formatProps));\n}));\nFormattedNumberParts.displayName = 'FormattedNumberParts';\nexport function createFormattedDateTimePartsComponent(name) {\n const ComponentParts = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props, [\"value\", \"children\"]);\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n const formattedParts = name === 'formatDate'\n ? intl.formatDateToParts(date, formatProps)\n : intl.formatTimeToParts(date, formatProps);\n return children(formattedParts);\n }));\n ComponentParts.displayName = DisplayNameParts[name];\n return ComponentParts;\n}\nexport function createFormattedComponent(name) {\n const Component = props => (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { value, children } = props, formatProps = __rest(props\n // TODO: fix TS type definition for localeMatcher upstream\n , [\"value\", \"children\"]);\n // TODO: fix TS type definition for localeMatcher upstream\n const formattedValue = intl[name](value, formatProps);\n if (typeof children === 'function') {\n return children(formattedValue);\n }\n const Text = intl.textComponent || React.Fragment;\n return React.createElement(Text, null, formattedValue);\n }));\n Component.displayName = DisplayName[name];\n return Component;\n}\n","import { getNamedFormat, filterProps } from '../utils';\nimport { ReactIntlError } from '../error';\nconst NUMBER_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n // Unified NumberFormat (Stage 3 as of 10/22/19)\n 'compactDisplay',\n 'currencyDisplay',\n 'currencySign',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n];\nexport function getFormatter({ locale, formats, onError, }, getNumberFormat, options = {}) {\n const { format } = options;\n const defaults = ((format &&\n getNamedFormat(formats, 'number', format, onError)) ||\n {});\n const filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nexport function formatNumber(config, getNumberFormat, value, options = {}) {\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting number.', e));\n }\n return String(value);\n}\nexport function formatNumberToParts(config, getNumberFormat, value, options = {}) {\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting number.', e));\n }\n return [];\n}\n","import { getNamedFormat, filterProps } from '../utils';\nimport { FormatError } from 'intl-messageformat';\nimport { ReactIntlError } from '../error';\nconst RELATIVE_TIME_FORMAT_OPTIONS = ['numeric', 'style'];\nfunction getFormatter({ locale, formats, onError, }, getRelativeTimeFormat, options = {}) {\n const { format } = options;\n const defaults = (!!format && getNamedFormat(formats, 'relative', format, onError)) || {};\n const filteredOptions = filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\nexport function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options = {}) {\n if (!unit) {\n unit = 'second';\n }\n const RelativeTimeFormat = Intl.RelativeTimeFormat;\n if (!RelativeTimeFormat) {\n config.onError(new FormatError(`Intl.RelativeTimeFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-relativetimeformat\"\n`, \"MISSING_INTL_API\" /* MISSING_INTL_API */));\n }\n try {\n return getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting relative time.', e));\n }\n return String(value);\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { filterProps, getNamedFormat } from '../utils';\nimport { ReactIntlError } from '../error';\nconst DATE_TIME_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'formatMatcher',\n 'timeZone',\n 'hour12',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n];\nexport function getFormatter({ locale, formats, onError, timeZone, }, type, getDateTimeFormat, options = {}) {\n const { format } = options;\n const defaults = Object.assign(Object.assign({}, (timeZone && { timeZone })), (format && getNamedFormat(formats, type, format, onError)));\n let filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);\n if (type === 'time' &&\n !filteredOptions.hour &&\n !filteredOptions.minute &&\n !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = Object.assign(Object.assign({}, filteredOptions), { hour: 'numeric', minute: 'numeric' });\n }\n return getDateTimeFormat(locale, filteredOptions);\n}\nexport function formatDate(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting date.', e));\n }\n return String(date);\n}\nexport function formatTime(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting time.', e));\n }\n return String(date);\n}\nexport function formatDateToParts(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting date.', e));\n }\n return [];\n}\nexport function formatTimeToParts(config, getDateTimeFormat, value, options = {}) {\n const date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting time.', e));\n }\n return [];\n}\n","import { filterProps } from '../utils';\nimport { ReactIntlError } from '../error';\nimport { FormatError } from 'intl-messageformat';\nconst PLURAL_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n];\nexport function formatPlural({ locale, onError }, getPluralRules, value, options = {}) {\n if (!Intl.PluralRules) {\n onError(new FormatError(`Intl.PluralRules is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-pluralrules\"\n`, \"MISSING_INTL_API\" /* MISSING_INTL_API */));\n }\n const filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting plural.', e));\n }\n return 'other';\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { invariant } from '@formatjs/intl-utils';\nimport IntlMessageFormat from 'intl-messageformat';\nimport { ReactIntlError } from '../error';\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce((all, k) => {\n all[k] = Object.assign({ timeZone }, opts[k]);\n return all;\n }, {});\n}\nfunction deepMergeOptions(opts1, opts2) {\n const keys = Object.keys(Object.assign(Object.assign({}, opts1), opts2));\n return keys.reduce((all, k) => {\n all[k] = Object.assign(Object.assign({}, (opts1[k] || {})), (opts2[k] || {}));\n return all;\n }, {});\n}\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n const mfFormats = IntlMessageFormat.formats;\n return Object.assign(Object.assign(Object.assign({}, mfFormats), f1), { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });\n}\nfunction prepareIntlMessageFormatHtmlOutput(chunks) {\n return React.createElement(React.Fragment, null, ...chunks);\n}\nexport function formatMessage({ locale, formats, messages, defaultLocale, defaultFormats, onError, timeZone, wrapRichTextChunksInFragment, }, state, messageDescriptor = { id: '' }, values = {}) {\n const { id, defaultMessage } = messageDescriptor;\n // `id` is a required field of a Message Descriptor.\n invariant(!!id, '[React Intl] An `id` must be provided to format a message.');\n const message = messages && messages[String(id)];\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n let formattedMessageParts = '';\n if (message) {\n try {\n const formatter = state.getMessageFormat(message, locale, formats, {\n formatters: state,\n });\n formattedMessageParts = formatter.format(values);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, `Error formatting message: \"${id}\" for locale: \"${locale}\"` +\n (defaultMessage ? ', using default message as fallback.' : ''), messageDescriptor, e));\n }\n }\n else if (!defaultMessage ||\n (locale && locale.toLowerCase() !== defaultLocale.toLowerCase())) {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the <IntlProvider> for the\n // default locale.\n onError(new ReactIntlError(\"MISSING_TRANSLATION\" /* MISSING_TRANSLATION */, `Missing message: \"${id}\" for locale: \"${locale}\"` +\n (defaultMessage ? ', using default message as fallback.' : ''), messageDescriptor));\n }\n if (!formattedMessageParts && defaultMessage) {\n try {\n const formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n formattedMessageParts = formatter.format(values);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, `Error formatting the default message for: \"${id}\"`, messageDescriptor, e));\n }\n }\n if (!formattedMessageParts) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, `Cannot format message: \"${id}\", ` +\n `using message ${message || defaultMessage ? 'source' : 'id'} as fallback.`, messageDescriptor));\n if (typeof message === 'string') {\n return message || defaultMessage || String(id);\n }\n return defaultMessage || String(id);\n }\n if (Array.isArray(formattedMessageParts)) {\n if (wrapRichTextChunksInFragment) {\n return prepareIntlMessageFormatHtmlOutput(formattedMessageParts);\n }\n return formattedMessageParts;\n }\n return formattedMessageParts;\n}\n","'use strict';\n\nfunction shallowEqualObjects(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (!objA || !objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n\n if (bKeys.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqualObjects;\n","import { filterProps } from '../utils';\nimport { FormatError } from 'intl-messageformat';\nimport { ReactIntlError } from '../error';\nconst LIST_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n 'style',\n];\nconst now = Date.now();\nfunction generateToken(i) {\n return `${now}_${i}_${now}`;\n}\nexport function formatList({ locale, onError }, getListFormat, values, options = {}) {\n const ListFormat = Intl.ListFormat;\n if (!ListFormat) {\n onError(new FormatError(`Intl.ListFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-listformat\"\n`, \"MISSING_INTL_API\" /* MISSING_INTL_API */));\n }\n const filteredOptions = filterProps(options, LIST_FORMAT_OPTIONS);\n try {\n const richValues = {};\n const serializedValues = values.map((v, i) => {\n if (typeof v === 'object') {\n const id = generateToken(i);\n richValues[id] = v;\n return id;\n }\n return String(v);\n });\n if (!Object.keys(richValues).length) {\n return getListFormat(locale, filteredOptions).format(serializedValues);\n }\n const parts = getListFormat(locale, filteredOptions).formatToParts(serializedValues);\n return parts.reduce((all, el) => {\n const val = el.value;\n if (richValues[val]) {\n all.push(richValues[val]);\n }\n else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n }\n else {\n all.push(val);\n }\n return all;\n }, []);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting list.', e));\n }\n return values;\n}\n","import { filterProps } from '../utils';\nimport { FormatError } from 'intl-messageformat';\nimport { ReactIntlError } from '../error';\nconst DISPLAY_NAMES_OPTONS = [\n 'localeMatcher',\n 'style',\n 'type',\n 'fallback',\n];\nexport function formatDisplayName({ locale, onError }, getDisplayNames, value, options = {}) {\n const DisplayNames = Intl.DisplayNames;\n if (!DisplayNames) {\n onError(new FormatError(`Intl.DisplayNames is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-displaynames\"\n`, \"MISSING_INTL_API\" /* MISSING_INTL_API */));\n }\n const filteredOptions = filterProps(options, DISPLAY_NAMES_OPTONS);\n try {\n return getDisplayNames(locale, filteredOptions).of(value);\n }\n catch (e) {\n onError(new ReactIntlError(\"FORMAT_ERROR\" /* FORMAT_ERROR */, 'Error formatting display name.', e));\n }\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { Provider } from './injectIntl';\nimport { DEFAULT_INTL_CONFIG, createFormatters, invariantIntlContext, createIntlCache, } from '../utils';\nimport { formatNumber, formatNumberToParts } from '../formatters/number';\nimport { formatRelativeTime } from '../formatters/relativeTime';\nimport { formatDate, formatTime, formatDateToParts, formatTimeToParts, } from '../formatters/dateTime';\nimport { formatPlural } from '../formatters/plural';\nimport { formatMessage } from '../formatters/message';\nimport * as shallowEquals_ from 'shallow-equal/objects';\nimport { formatList } from '../formatters/list';\nimport { formatDisplayName } from '../formatters/displayName';\nimport { ReactIntlError } from '../error';\nconst shallowEquals = shallowEquals_.default || shallowEquals_;\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError,\n };\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport function createIntl(config, cache) {\n const formatters = createFormatters(cache);\n const resolvedConfig = Object.assign(Object.assign({}, DEFAULT_INTL_CONFIG), config);\n const { locale, defaultLocale, onError } = resolvedConfig;\n if (!locale) {\n if (onError) {\n onError(new ReactIntlError(\"INVALID_CONFIG\" /* INVALID_CONFIG */, `\"locale\" was not configured, using \"${defaultLocale}\" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/API.md#intlshape for more details`));\n }\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each <FormattedMessage> contains a `defaultMessage` prop.\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n }\n else if (!Intl.NumberFormat.supportedLocalesOf(locale).length && onError) {\n onError(new ReactIntlError(\"MISSING_DATA\" /* MISSING_DATA */, `Missing locale data for locale: \"${locale}\" in Intl.NumberFormat. Using default locale: \"${defaultLocale}\" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/Getting-Started.md#runtime-requirements for more details`));\n }\n else if (!Intl.DateTimeFormat.supportedLocalesOf(locale).length &&\n onError) {\n onError(new ReactIntlError(\"MISSING_DATA\" /* MISSING_DATA */, `Missing locale data for locale: \"${locale}\" in Intl.DateTimeFormat. Using default locale: \"${defaultLocale}\" as fallback. See https://github.com/formatjs/react-intl/blob/master/docs/Getting-Started.md#runtime-requirements for more details`));\n }\n return Object.assign(Object.assign({}, resolvedConfig), { formatters, formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: formatMessage.bind(null, resolvedConfig, formatters), formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat), formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames) });\n}\nexport default class IntlProvider extends React.PureComponent {\n constructor() {\n super(...arguments);\n this.cache = createIntlCache();\n this.state = {\n cache: this.cache,\n intl: createIntl(processIntlConfig(this.props), this.cache),\n prevConfig: processIntlConfig(this.props),\n };\n }\n static getDerivedStateFromProps(props, { prevConfig, cache }) {\n const config = processIntlConfig(props);\n if (!shallowEquals(prevConfig, config)) {\n return {\n intl: createIntl(config, cache),\n prevConfig: config,\n };\n }\n return null;\n }\n render() {\n invariantIntlContext(this.state.intl);\n return React.createElement(Provider, { value: this.state.intl }, this.props.children);\n }\n}\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.defaultProps = DEFAULT_INTL_CONFIG;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nimport { invariant } from '@formatjs/intl-utils';\nconst MINUTE = 60;\nconst HOUR = 60 * 60;\nconst DAY = 60 * 60 * 24;\nfunction selectUnit(seconds) {\n const absValue = Math.abs(seconds);\n if (absValue < MINUTE) {\n return 'second';\n }\n if (absValue < HOUR) {\n return 'minute';\n }\n if (absValue < DAY) {\n return 'hour';\n }\n return 'day';\n}\nfunction getDurationInSeconds(unit) {\n switch (unit) {\n case 'second':\n return 1;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n default:\n return DAY;\n }\n}\nfunction valueToSeconds(value, unit) {\n if (!value) {\n return 0;\n }\n switch (unit) {\n case 'second':\n return value;\n case 'minute':\n return value * MINUTE;\n default:\n return value * HOUR;\n }\n}\nconst INCREMENTABLE_UNITS = ['second', 'minute', 'hour'];\nfunction canIncrement(unit = 'second') {\n return INCREMENTABLE_UNITS.includes(unit);\n}\nexport class FormattedRelativeTime extends React.PureComponent {\n constructor(props) {\n super(props);\n // Public for testing\n this._updateTimer = null;\n this.state = {\n prevUnit: this.props.unit,\n prevValue: this.props.value,\n currentValueInSeconds: canIncrement(this.props.unit)\n ? valueToSeconds(this.props.value, this.props.unit)\n : 0,\n };\n invariant(!props.updateIntervalInSeconds ||\n !!(props.updateIntervalInSeconds && canIncrement(props.unit)), 'Cannot schedule update with unit longer than hour');\n }\n scheduleNextUpdate({ updateIntervalInSeconds, unit }, { currentValueInSeconds }) {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n // If there's no interval and we cannot increment this unit, do nothing\n if (!updateIntervalInSeconds || !canIncrement(unit)) {\n return;\n }\n // Figure out the next interesting time\n const nextValueInSeconds = currentValueInSeconds - updateIntervalInSeconds;\n const nextUnit = selectUnit(nextValueInSeconds);\n // We've reached the max auto incrementable unit, don't schedule another update\n if (nextUnit === 'day') {\n return;\n }\n const unitDuration = getDurationInSeconds(nextUnit);\n const remainder = nextValueInSeconds % unitDuration;\n const prevInterestingValueInSeconds = nextValueInSeconds - remainder;\n const nextInterestingValueInSeconds = prevInterestingValueInSeconds >= currentValueInSeconds\n ? prevInterestingValueInSeconds - unitDuration\n : prevInterestingValueInSeconds;\n const delayInSeconds = Math.abs(nextInterestingValueInSeconds - currentValueInSeconds);\n this._updateTimer = setTimeout(() => this.setState({\n currentValueInSeconds: nextInterestingValueInSeconds,\n }), delayInSeconds * 1e3);\n }\n componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n componentDidUpdate() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n componentWillUnmount() {\n clearTimeout(this._updateTimer);\n this._updateTimer = null;\n }\n static getDerivedStateFromProps(props, state) {\n if (props.unit !== state.prevUnit || props.value !== state.prevValue) {\n return {\n prevValue: props.value,\n prevUnit: props.unit,\n currentValueInSeconds: canIncrement(props.unit)\n ? valueToSeconds(props.value, props.unit)\n : 0,\n };\n }\n return null;\n }\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n invariantIntlContext(intl);\n const { formatRelativeTime, textComponent: Text } = intl;\n const { children, value, unit, updateIntervalInSeconds } = this.props;\n const { currentValueInSeconds } = this.state;\n let currentValue = value || 0;\n let currentUnit = unit;\n if (canIncrement(unit) &&\n typeof currentValueInSeconds === 'number' &&\n updateIntervalInSeconds) {\n currentUnit = selectUnit(currentValueInSeconds);\n const unitDuration = getDurationInSeconds(currentUnit);\n currentValue = Math.round(currentValueInSeconds / unitDuration);\n }\n const formattedRelativeTime = formatRelativeTime(currentValue, currentUnit, Object.assign({}, this.props));\n if (typeof children === 'function') {\n return children(formattedRelativeTime);\n }\n if (Text) {\n return React.createElement(Text, null, formattedRelativeTime);\n }\n return formattedRelativeTime;\n }));\n }\n}\nFormattedRelativeTime.displayName = 'FormattedRelativeTime';\nFormattedRelativeTime.defaultProps = {\n value: 0,\n unit: 'second',\n};\nexport default FormattedRelativeTime;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport * as React from 'react';\nimport withIntl from './injectIntl';\nconst FormattedPlural = props => {\n const { value, other, children, intl: { formatPlural, textComponent: Text }, } = props;\n const pluralCategory = formatPlural(value, props);\n const formattedPlural = props[pluralCategory] || other;\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n if (Text) {\n return React.createElement(Text, null, formattedPlural);\n }\n // Work around @types/react where React.FC cannot return string\n return formattedPlural;\n};\nFormattedPlural.defaultProps = {\n type: 'cardinal',\n};\nFormattedPlural.displayName = 'FormattedPlural';\nexport default withIntl(FormattedPlural);\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { Context } from './injectIntl';\nimport { formatMessage } from '../formatters/message';\nimport { invariantIntlContext, DEFAULT_INTL_CONFIG, createFormatters, } from '../utils';\nimport * as shallowEquals_ from 'shallow-equal/objects';\nconst shallowEquals = shallowEquals_.default || shallowEquals_;\nfunction defaultFormatMessage(descriptor, values) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Could not find required `intl` object. <IntlProvider> needs to exist in the component ancestry. Using default message as fallback.');\n }\n return formatMessage(Object.assign(Object.assign({}, DEFAULT_INTL_CONFIG), { locale: 'en' }), createFormatters(), descriptor, values);\n}\nclass FormattedMessage extends React.Component {\n shouldComponentUpdate(nextProps) {\n const _a = this.props, { values } = _a, otherProps = __rest(_a, [\"values\"]);\n const { values: nextValues } = nextProps, nextOtherProps = __rest(nextProps, [\"values\"]);\n return (!shallowEquals(nextValues, values) ||\n !shallowEquals(otherProps, nextOtherProps));\n }\n render() {\n return (React.createElement(Context.Consumer, null, (intl) => {\n if (!this.props.defaultMessage) {\n invariantIntlContext(intl);\n }\n const { formatMessage = defaultFormatMessage, textComponent: Text = React.Fragment, } = intl || {};\n const { id, description, defaultMessage, values, children, tagName: Component = Text, } = this.props;\n const descriptor = { id, description, defaultMessage };\n let nodes = formatMessage(descriptor, values);\n if (!Array.isArray(nodes)) {\n nodes = [nodes];\n }\n if (typeof children === 'function') {\n return children(...nodes);\n }\n if (Component) {\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return React.createElement(Component, null, ...nodes);\n }\n return nodes;\n }));\n }\n}\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.defaultProps = {\n values: {},\n};\nexport default FormattedMessage;\n","export function defineMessages(msgs) {\n return msgs;\n}\nexport function defineMessage(msg) {\n return msg;\n}\nimport { createFormattedComponent, createFormattedDateTimePartsComponent, } from './components/createFormattedComponent';\nexport { default as injectIntl, Provider as RawIntlProvider, Context as IntlContext, } from './components/injectIntl';\nexport { default as useIntl } from './components/useIntl';\nexport { default as IntlProvider, createIntl } from './components/provider';\n// IMPORTANT: Explicit here to prevent api-extractor from outputing `import('./types').CustomFormatConfig`\nexport const FormattedDate = createFormattedComponent('formatDate');\nexport const FormattedTime = createFormattedComponent('formatTime');\nexport const FormattedNumber = createFormattedComponent('formatNumber');\nexport const FormattedList = createFormattedComponent('formatList');\nexport const FormattedDisplayName = createFormattedComponent('formatDisplayName');\nexport const FormattedDateParts = createFormattedDateTimePartsComponent('formatDate');\nexport const FormattedTimeParts = createFormattedDateTimePartsComponent('formatTime');\nexport { FormattedNumberParts } from './components/createFormattedComponent';\nexport { default as FormattedRelativeTime } from './components/relative';\nexport { default as FormattedPlural } from './components/plural';\nexport { default as FormattedMessage } from './components/message';\nexport { createIntlCache } from './utils';\nexport { ReactIntlError, ReactIntlErrorCode } from './error';\n","import { useContext } from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nexport default function useIntl() {\n const intl = useContext(Context);\n invariantIntlContext(intl);\n return intl;\n}\n"],"names":["TYPE","SKELETON_TYPE","isLiteralElement","el","type","literal","isSelectElement","select","isPluralElement","plural","_super","SyntaxError","Error","__extends","buildMessage","expected","found","hex","ch","charCodeAt","toString","toUpperCase","literalEscape","s","replace","classEscape","describeExpectation","expectation","text","escapedParts","parts","map","part","Array","isArray","inverted","description","expected1","i","j","descriptions","sort","length","slice","join","describeExpected","found1","message","location","_this","call","this","name","captureStackTrace","pegParse","input","options","undefined","peg$result","peg$FAILED","peg$startRuleFunctions","start","peg$parsestart","peg$startRuleFunction","peg$c0","peg$c1","messageText","__assign","value","insertLocation","peg$c2","peg$c3","peg$literalExpectation","peg$c4","pound","peg$c5","peg$otherExpectation","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","peg$c11","open","children","close","error","tag","peg$c12","messageCtx","push","peg$c13","peg$c14","peg$c15","pop","peg$c16","peg$c17","peg$c18","peg$c19","peg$c20","peg$c21","peg$c22","peg$c23","peg$c24","peg$c25","argument","peg$c26","peg$c27","peg$c28","peg$classExpectation","peg$c29","peg$c30","peg$c31","peg$c32","peg$c33","option","peg$c34","peg$c35","stem","peg$c36","tokens","peg$c37","peg$c38","peg$c39","skeleton","peg$c40","peg$c41","style","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","number","date","time","peg$c47","peg$c48","peg$c49","peg$c50","peg$c51","peg$c52","peg$c53","peg$c54","peg$c55","pattern","peg$c56","peg$c57","peg$c58","peg$c59","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","peg$c65","peg$c66","peg$c67","pluralType","offset","reduce","all","_a","id","optionLocation","peg$c68","peg$c69","peg$c70","peg$c71","peg$c72","peg$c73","peg$c74","peg$c75","peg$c76","peg$c77","peg$c78","peg$c79","peg$c80","peg$c81","peg$c82","peg$c83","peg$c84","peg$c85","peg$c86","peg$c87","negative","num","peg$c89","peg$c90","peg$c91","peg$c92","peg$c93","escapedChar","quotedChars","peg$c94","x","isInPluralOption","isNestedMessageText","peg$c95","peg$c96","peg$c97","peg$c98","peg$c99","peg$c100","peg$c101","peg$c102","peg$c103","peg$c104","peg$c105","peg$c106","peg$c107","peg$c108","digits","parseInt","peg$c109","peg$c110","peg$currPos","peg$savedPos","peg$posDetailsCache","line","column","peg$maxFailPos","peg$maxFailExpected","peg$silentFails","startRule","substring","peg$computeLocation","location1","peg$buildSimpleError","text1","ignoreCase","peg$computePosDetails","pos","p","details","startPos","endPos","startPosDetails","endPosDetails","end","peg$fail","peg$parsemessage","s0","s1","peg$parsemessageElement","peg$parsemessageText","peg$parseliteralElement","s2","s3","s5","peg$parse_","peg$parseargNameOrNumber","peg$parseargumentElement","s7","s9","s10","s11","s12","substr","peg$parsenumberSkeletonToken","peg$parsenumberSkeleton","peg$parsenumberArgStyle","peg$parsenumberFormatElement","peg$parsedateTimeSkeletonLiteral","peg$parsedateTimeSkeletonPattern","peg$parsedateTimeSkeleton","peg$parsedateOrTimeArgStyle","peg$parsedateOrTimeFormatElement","peg$parsesimpleFormatElement","s13","s14","s15","peg$parsenumber","peg$parsepluralOption","peg$parsepluralElement","peg$parseselectOption","peg$parseselectElement","s4","peg$parsevalidTag","peg$parseopeningTag","peg$parseclosingTag","peg$parsetagElement","peg$parsepoundElement","peg$parsedoubleApostrophes","peg$parsequotedString","peg$parseunquotedString","peg$parsenumberSkeletonId","peg$parsewhiteSpace","test","charAt","peg$parsenumberSkeletonTokenOption","s6","peg$parseargName","peg$parsepluralRuleSelectValue","peg$parsepatternSyntax","peg$parseargNumber","peg$parseescapedChar","peg$parsetagName","captureLocation","PLURAL_HASHTAG_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","result","match","len","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","parseSignificantPrecision","str","_","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseNotationOptions","opt","signOpts","convertNumberSkeletonToNumberFormatOptions","_i","tokens_1","token","currency","useGrouping","maximumFractionDigits","unit","notation","compactDisplay","currencyDisplay","unitDisplay","g3","g4","g5","minimumFractionDigits","parse","opts","els","normalizeHashtagInPlural","forEach","Object","keys","matchingLiteralElIndex","literalEl","el_1","newValue","newEls","splice","apply","__spreadArrays","getCacheId","inputs","JSON","stringify","_typeof","obj","k","orderedProps","ErrorCode","memoizeFormatConstructor","FormatConstructor","cache","args","arguments","cacheId","format","bind","FormatError","prototype","code","msg","originalMessage","InvalidValueError","variableId","InvalidValueTypeError","PART_TYPE","MissingValueError","mergeConfigs","defaultConfig","configs","c1","c2","mergeConfig","ReactIntlErrorCode","IntlMessageFormat","defineProperty","memoizedDefaultLocale","Intl","NumberFormat","resolvedOptions","locale","__parse","formats","percent","short","medium","long","full","locales","overrideFormats","defaultLocale","formatterCache","dateTime","pluralRules","values","formatToParts","formatters","currentPluralValue","els_1","varName","value_1","formatFn","chunks","c","other","PluralRules","rule","getPluralRules","getNumberFormat","getDateTimeFormat","String","lastPart","mergeLiteral","ast","supportedLocalesOf","getAst","TypeError","memoizeIntlConstructor","DateTimeFormat","createDefaultFormatters","invariant","condition","Err","ReactIntlError","descriptor","exception","stack","filterProps","props","whitelist","defaults","filtered","invariantIntlContext","intl","DEFAULT_INTL_CONFIG","messages","timeZone","textComponent","React","defaultFormats","onError","createIntlCache","relativeTime","list","displayNames","createFormatters","RelativeTimeFormat","ListFormat","DisplayNames","getMessageFormat","getRelativeTimeFormat","getListFormat","getDisplayNames","getNamedFormat","formatType","exports","b","Symbol","for","d","e","f","g","h","l","m","n","q","r","t","a","u","$$typeof","v","module","require$$0","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","reactIs","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","targetComponent","sourceComponent","blacklist","inheritedComponent","hoistNonReactStatics","concat","targetStatics","sourceStatics","key","hoistNonReactStatics_","IntlContext","IntlConsumer","Consumer","Provider","Context","injectIntl","WrappedComponent","WithIntl","enforceContext","intlProp","intlPropName","assign","ref","forwardRef","forwardedRef","Component","getDisplayName","DisplayName","DisplayNameParts","__rest","hasOwnProperty","indexOf","propertyIsEnumerable","FormattedNumberParts","formatProps","formatNumberToParts","createFormattedDateTimePartsComponent","ComponentParts","Date","formatDateToParts","formatTimeToParts","createFormattedComponent","formattedValue","Text","NUMBER_FORMAT_OPTIONS","getFormatter","RELATIVE_TIME_FORMAT_OPTIONS","formatRelativeTime","config","DATE_TIME_FORMAT_OPTIONS","filteredOptions","PLURAL_FORMAT_OPTIONS","setTimeZoneInOptions","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","formatMessage","state","wrapRichTextChunksInFragment","messageDescriptor","defaultMessage","formattedMessageParts","toLowerCase","prepareIntlMessageFormatHtmlOutput","objA","objB","aKeys","bKeys","LIST_FORMAT_OPTIONS","now","formatList","richValues","serializedValues","generateToken","val","DISPLAY_NAMES_OPTONS","shallowEquals","shallowEquals_","processIntlConfig","createIntl","resolvedConfig","formatNumber","formatDate","formatTime","formatPlural","formatDisplayName","of","IntlProvider","prevConfig","MINUTE","HOUR","selectUnit","seconds","absValue","Math","abs","getDurationInSeconds","valueToSeconds","INCREMENTABLE_UNITS","canIncrement","includes","FormattedRelativeTime","_updateTimer","prevUnit","prevValue","currentValueInSeconds","updateIntervalInSeconds","clearTimeout","nextValueInSeconds","nextUnit","unitDuration","prevInterestingValueInSeconds","nextInterestingValueInSeconds","delayInSeconds","setTimeout","_this2","setState","scheduleNextUpdate","_this3","currentValue","currentUnit","round","formattedRelativeTime","FormattedPlural","formattedPlural","withIntl","defaultFormatMessage","FormattedMessage","nextProps","otherProps","nextValues","nextOtherProps","tagName","nodes","FormattedDate","FormattedTime","FormattedNumber","FormattedList","FormattedDisplayName","FormattedDateParts","FormattedTimeParts","msgs","useContext"],"mappings":"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"}