react-intl 4.1.0 → 4.1.1

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.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","../node_modules/intl-messageformat/lib/index.js","../node_modules/@formatjs/intl-utils/lib/invariant.js","../lib/error.js","../lib/utils.js","../node_modules/react-is/cjs/react-is.development.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/components/useIntl.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"],"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 = {}));\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","// 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","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","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","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","/*\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","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})();\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\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) {\n return _super.call(this, \"Invalid values for \\\"\" + variableId + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(options).join('\", \"') + \"\\\"\", 1 /* INVALID_VALUE */) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\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 + \"\\\"\", 0 /* MISSING_VALUE */) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","import { convertNumberSkeletonToNumberFormatOptions, isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, parseDateTimeSkeleton, isTagElement, } from 'intl-messageformat-parser';\nimport { MissingValueError, InvalidValueError, FormatError, } from './error';\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 TypeError(\"Value for \\\"\" + value_1 + \"\\\" must be a function\");\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));\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\", 2 /* MISSING_INTL_API */);\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));\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","/*\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","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport IntlMessageFormat from './core';\nexport * from './formatters';\nexport * from './core';\nexport * from './error';\nexport default IntlMessageFormat;\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","export class ReactIntlError extends Error {\n constructor(code, message, exception) {\n super(`[React Intl Error ${code}] ${message} ${exception ? `\\n${exception.stack}` : ''}`);\n this.code = code;\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, ReactIntlError);\n }\n }\n}\n","/*\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.development.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';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\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 return (React.createElement(WrappedComponent, Object.assign({}, props, {\n [intlPropName]: intl,\n }, { 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 { 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","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`, 2 /* 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`, 2 /* 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}\nexport const prepareIntlMessageFormatHtmlOutput = (chunks) => React.createElement(React.Fragment, null, ...chunks);\nexport function formatMessage({ locale, formats, messages, defaultLocale, defaultFormats, onError, timeZone, }, 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.' : ''), e));\n }\n }\n else {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the <IntlProvider> for the\n // default locale, and a default message is in the source.\n onError(new ReactIntlError(\"MISSING_TRANSLATION\" /* MISSING_TRANSLATION */, `Missing message: \"${id}\" for locale: \"${locale}\"` +\n (defaultMessage ? ', using default message as fallback.' : '')));\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}\"`, 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.`));\n if (typeof message === 'string') {\n return message || defaultMessage || String(id);\n }\n return defaultMessage || String(id);\n }\n if (Array.isArray(formattedMessageParts)) {\n return prepareIntlMessageFormatHtmlOutput(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`, 2 /* 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`, 2 /* 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}\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 } from './error';\n"],"names":["TYPE","isLiteralElement","el","type","literal","isArgumentElement","argument","isNumberElement","number","isDateElement","date","isTimeElement","time","isSelectElement","select","isPluralElement","plural","isPoundElement","pound","isTagElement","tag","isNumberSkeleton","isDateTimeSkeleton","__extends","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","SyntaxError","_super","message","expected","found","location","_this","name","Error","captureStackTrace","buildMessage","hex","ch","charCodeAt","toString","toUpperCase","literalEscape","replace","classEscape","describeExpectation","expectation","text","escapedParts","parts","map","part","isArray","inverted","description","describeExpected","expected1","descriptions","j","sort","slice","join","describeFound","found1","peg$parse","input","options","undefined","peg$FAILED","peg$startRuleFunctions","start","peg$parsestart","peg$startRuleFunction","peg$c0","peg$c1","messageText","value","insertLocation","peg$c2","peg$c3","peg$literalExpectation","peg$c4","peg$c5","peg$otherExpectation","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","peg$c11","open","children","close","error","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","peg$c26","peg$c27","peg$c28","peg$classExpectation","peg$c29","peg$anyExpectation","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","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","peg$result","startRule","substring","peg$computeLocation","location1","peg$buildSimpleError","text1","ignoreCase","peg$endExpectation","peg$computePosDetails","pos","details","startPos","endPos","startPosDetails","endPosDetails","end","peg$fail","peg$buildStructuredError","s0","peg$parsemessage","s1","peg$parsemessageElement","peg$parseliteralElement","peg$parseargumentElement","peg$parsesimpleFormatElement","peg$parsepluralElement","peg$parseselectElement","peg$parsetagElement","peg$parsepoundElement","peg$parsemessageText","s2","peg$parsedoubleApostrophes","peg$parsequotedString","peg$parseunquotedString","s3","s4","s5","peg$parsevalidTag","peg$parse_","substr","peg$parseopeningTag","peg$parseclosingTag","peg$parseargNameOrNumber","peg$parsenumberSkeletonId","peg$parsewhiteSpace","test","charAt","peg$parsenumberSkeletonTokenOption","peg$parsenumberSkeletonToken","peg$parsenumberSkeleton","peg$parsenumberArgStyle","peg$parsenumberFormatElement","s6","s7","s8","s9","s10","s11","s12","peg$parsedateTimeSkeletonLiteral","peg$parsedateTimeSkeletonPattern","peg$parsedateTimeSkeleton","peg$parsedateOrTimeArgStyle","peg$parsedateOrTimeFormatElement","s13","s14","s15","peg$parsenumber","peg$parsepluralOption","peg$parseselectOption","peg$parsepluralRuleSelectValue","peg$parseargName","peg$parsepatternSyntax","peg$parseargNumber","peg$parseescapedChar","peg$parsetagName","captureLocation","pegParse","__spreadArrays","il","r","k","a","jl","PLURAL_HASHTAG_REGEX","normalizeHashtagInPlural","els","forEach","keys","opt","matchingLiteralElIndex","literalEl","el_1","newValue","newEls","splice","DATE_TIME_REGEX","parseDateTimeSkeleton","result","match","len","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","icuUnitToEcma","unit","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","parseSignificantPrecision","str","_","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseNotationOptions","signOpts","convertNumberSkeletonToNumberFormatOptions","_i","tokens_1","token","currency","useGrouping","maximumFractionDigits","notation","compactDisplay","currencyDisplay","unitDisplay","minimumFractionDigits","parse","opts","getCacheId","inputs","JSON","stringify","orderedProps","obj","memoizeFormatConstructor","FormatConstructor","cache","args","cacheId","format","bind","FormatError","msg","code","InvalidValueError","variableId","MissingValueError","originalMessage","mergeLiteral","lastPart","isFormatXMLElementFn","formatToParts","locales","formatters","formats","values","currentPluralValue","els_1","getNumberFormat","varName","String","getDateTimeFormat","value_1","formatFn","TypeError","chunks","c","other","Intl","PluralRules","rule","getPluralRules","mergeConfig","c1","c2","mergeConfigs","defaultConfig","configs","createDefaultFormatters","dateTime","pluralRules","memoizeIntlConstructor","NumberFormat","DateTimeFormat","IntlMessageFormat","overrideFormats","defaultLocale","formatterCache","ast","resolvedOptions","locale","supportedLocalesOf","getAst","__parse","percent","short","medium","long","full","invariant","condition","Err","ReactIntlError","exception","stack","filterProps","props","whitelist","defaults","filtered","invariantIntlContext","intl","defaultErrorHandler","console","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","hasSymbol","Symbol","for","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","isValidElementType","$$typeof","lowPriorityWarning","printWarning","_len","_key","argIndex","warn","_len2","_key2","concat","lowPriorityWarning$1","typeOf","object","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","module","require$$0","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","FORWARD_REF_STATICS","render","MEMO_STATICS","compare","TYPE_STATICS","reactIs","getStatics","component","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","key","descriptor","e","hoistNonReactStatics_","getDisplayName","Component","IntlContext","IntlConsumer","Consumer","IntlProvider","Provider","Context","injectIntl","WrappedComponent","intlPropName","forwardRef","enforceContext","WithIntl","ref","forwardedRef","__rest","indexOf","propertyIsEnumerable","DisplayName","DisplayNameParts","FormattedNumberParts","formatProps","formatNumberToParts","createFormattedDateTimePartsComponent","ComponentParts","Date","formattedParts","formatDateToParts","formatTimeToParts","createFormattedComponent","formattedValue","Text","useIntl","useContext","NUMBER_FORMAT_OPTIONS","getFormatter","filteredOptions","formatNumber","config","RELATIVE_TIME_FORMAT_OPTIONS","formatRelativeTime","DATE_TIME_FORMAT_OPTIONS","formatDate","formatTime","PLURAL_FORMAT_OPTIONS","formatPlural","setTimeZoneInOptions","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","prepareIntlMessageFormatHtmlOutput","formatMessage","state","messageDescriptor","defaultMessage","formattedMessageParts","formatter","shallowEqualObjects","objA","objB","aKeys","bKeys","LIST_FORMAT_OPTIONS","now","generateToken","formatList","richValues","serializedValues","v","val","DISPLAY_NAMES_OPTONS","formatDisplayName","of","shallowEquals","shallowEquals_","processIntlConfig","createIntl","resolvedConfig","prevConfig","MINUTE","HOUR","DAY","selectUnit","seconds","absValue","Math","abs","getDurationInSeconds","valueToSeconds","INCREMENTABLE_UNITS","canIncrement","includes","FormattedRelativeTime","_updateTimer","prevUnit","prevValue","currentValueInSeconds","updateIntervalInSeconds","clearTimeout","nextValueInSeconds","nextUnit","unitDuration","remainder","prevInterestingValueInSeconds","nextInterestingValueInSeconds","delayInSeconds","setTimeout","setState","scheduleNextUpdate","currentValue","currentUnit","round","formattedRelativeTime","FormattedPlural","pluralCategory","formattedPlural","withIntl","defaultFormatMessage","FormattedMessage","nextProps","otherProps","nextValues","nextOtherProps","tagName","nodes","defineMessages","msgs","FormattedDate","FormattedTime","FormattedNumber","FormattedList","FormattedDisplayName","FormattedDateParts","FormattedTimeParts"],"mappings":"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"}
1
+ {"version":3,"file":"react-intl.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","../node_modules/intl-messageformat/lib/index.js","../node_modules/@formatjs/intl-utils/lib/invariant.js","../lib/error.js","../lib/utils.js","../node_modules/react-is/cjs/react-is.development.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/components/useIntl.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"],"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 = {}));\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","// 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","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","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","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","/*\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","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})();\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\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) {\n return _super.call(this, \"Invalid values for \\\"\" + variableId + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(options).join('\", \"') + \"\\\"\", 1 /* INVALID_VALUE */) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\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 + \"\\\"\", 0 /* MISSING_VALUE */) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","import { convertNumberSkeletonToNumberFormatOptions, isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, parseDateTimeSkeleton, isTagElement, } from 'intl-messageformat-parser';\nimport { MissingValueError, InvalidValueError, FormatError, } from './error';\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 TypeError(\"Value for \\\"\" + value_1 + \"\\\" must be a function\");\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));\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\", 2 /* MISSING_INTL_API */);\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));\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","/*\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","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport IntlMessageFormat from './core';\nexport * from './formatters';\nexport * from './core';\nexport * from './error';\nexport default IntlMessageFormat;\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","export class ReactIntlError extends Error {\n constructor(code, message, exception) {\n super(`[React Intl Error ${code}] ${message} ${exception ? `\\n${exception.stack}` : ''}`);\n this.code = code;\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, ReactIntlError);\n }\n }\n}\n","/*\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.development.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';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\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 return (React.createElement(WrappedComponent, Object.assign({}, props, {\n [intlPropName]: intl,\n }, { 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 { 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","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`, 2 /* 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`, 2 /* 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}\nexport const prepareIntlMessageFormatHtmlOutput = (chunks) => React.createElement(React.Fragment, null, ...chunks);\nexport function formatMessage({ locale, formats, messages, defaultLocale, defaultFormats, onError, timeZone, }, 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.' : ''), 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.' : '')));\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}\"`, 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.`));\n if (typeof message === 'string') {\n return message || defaultMessage || String(id);\n }\n return defaultMessage || String(id);\n }\n if (Array.isArray(formattedMessageParts)) {\n return prepareIntlMessageFormatHtmlOutput(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`, 2 /* 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`, 2 /* 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}\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 } from './error';\n"],"names":["TYPE","isLiteralElement","el","type","literal","isArgumentElement","argument","isNumberElement","number","isDateElement","date","isTimeElement","time","isSelectElement","select","isPluralElement","plural","isPoundElement","pound","isTagElement","tag","isNumberSkeleton","isDateTimeSkeleton","__extends","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","SyntaxError","_super","message","expected","found","location","_this","name","Error","captureStackTrace","buildMessage","hex","ch","charCodeAt","toString","toUpperCase","literalEscape","replace","classEscape","describeExpectation","expectation","text","escapedParts","parts","map","part","isArray","inverted","description","describeExpected","expected1","descriptions","j","sort","slice","join","describeFound","found1","peg$parse","input","options","undefined","peg$FAILED","peg$startRuleFunctions","start","peg$parsestart","peg$startRuleFunction","peg$c0","peg$c1","messageText","value","insertLocation","peg$c2","peg$c3","peg$literalExpectation","peg$c4","peg$c5","peg$otherExpectation","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","peg$c11","open","children","close","error","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","peg$c26","peg$c27","peg$c28","peg$classExpectation","peg$c29","peg$anyExpectation","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","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","peg$result","startRule","substring","peg$computeLocation","location1","peg$buildSimpleError","text1","ignoreCase","peg$endExpectation","peg$computePosDetails","pos","details","startPos","endPos","startPosDetails","endPosDetails","end","peg$fail","peg$buildStructuredError","s0","peg$parsemessage","s1","peg$parsemessageElement","peg$parseliteralElement","peg$parseargumentElement","peg$parsesimpleFormatElement","peg$parsepluralElement","peg$parseselectElement","peg$parsetagElement","peg$parsepoundElement","peg$parsemessageText","s2","peg$parsedoubleApostrophes","peg$parsequotedString","peg$parseunquotedString","s3","s4","s5","peg$parsevalidTag","peg$parse_","substr","peg$parseopeningTag","peg$parseclosingTag","peg$parseargNameOrNumber","peg$parsenumberSkeletonId","peg$parsewhiteSpace","test","charAt","peg$parsenumberSkeletonTokenOption","peg$parsenumberSkeletonToken","peg$parsenumberSkeleton","peg$parsenumberArgStyle","peg$parsenumberFormatElement","s6","s7","s8","s9","s10","s11","s12","peg$parsedateTimeSkeletonLiteral","peg$parsedateTimeSkeletonPattern","peg$parsedateTimeSkeleton","peg$parsedateOrTimeArgStyle","peg$parsedateOrTimeFormatElement","s13","s14","s15","peg$parsenumber","peg$parsepluralOption","peg$parseselectOption","peg$parsepluralRuleSelectValue","peg$parseargName","peg$parsepatternSyntax","peg$parseargNumber","peg$parseescapedChar","peg$parsetagName","captureLocation","pegParse","__spreadArrays","il","r","k","a","jl","PLURAL_HASHTAG_REGEX","normalizeHashtagInPlural","els","forEach","keys","opt","matchingLiteralElIndex","literalEl","el_1","newValue","newEls","splice","DATE_TIME_REGEX","parseDateTimeSkeleton","result","match","len","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","icuUnitToEcma","unit","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","parseSignificantPrecision","str","_","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseNotationOptions","signOpts","convertNumberSkeletonToNumberFormatOptions","_i","tokens_1","token","currency","useGrouping","maximumFractionDigits","notation","compactDisplay","currencyDisplay","unitDisplay","minimumFractionDigits","parse","opts","getCacheId","inputs","JSON","stringify","orderedProps","obj","memoizeFormatConstructor","FormatConstructor","cache","args","cacheId","format","bind","FormatError","msg","code","InvalidValueError","variableId","MissingValueError","originalMessage","mergeLiteral","lastPart","isFormatXMLElementFn","formatToParts","locales","formatters","formats","values","currentPluralValue","els_1","getNumberFormat","varName","String","getDateTimeFormat","value_1","formatFn","TypeError","chunks","c","other","Intl","PluralRules","rule","getPluralRules","mergeConfig","c1","c2","mergeConfigs","defaultConfig","configs","createDefaultFormatters","dateTime","pluralRules","memoizeIntlConstructor","NumberFormat","DateTimeFormat","IntlMessageFormat","overrideFormats","defaultLocale","formatterCache","ast","resolvedOptions","locale","supportedLocalesOf","getAst","__parse","percent","short","medium","long","full","invariant","condition","Err","ReactIntlError","exception","stack","filterProps","props","whitelist","defaults","filtered","invariantIntlContext","intl","defaultErrorHandler","console","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","hasSymbol","Symbol","for","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","isValidElementType","$$typeof","lowPriorityWarning","printWarning","_len","_key","argIndex","warn","_len2","_key2","concat","lowPriorityWarning$1","typeOf","object","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","module","require$$0","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","FORWARD_REF_STATICS","render","MEMO_STATICS","compare","TYPE_STATICS","reactIs","getStatics","component","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","key","descriptor","e","hoistNonReactStatics_","getDisplayName","Component","IntlContext","IntlConsumer","Consumer","IntlProvider","Provider","Context","injectIntl","WrappedComponent","intlPropName","forwardRef","enforceContext","WithIntl","ref","forwardedRef","__rest","indexOf","propertyIsEnumerable","DisplayName","DisplayNameParts","FormattedNumberParts","formatProps","formatNumberToParts","createFormattedDateTimePartsComponent","ComponentParts","Date","formattedParts","formatDateToParts","formatTimeToParts","createFormattedComponent","formattedValue","Text","useIntl","useContext","NUMBER_FORMAT_OPTIONS","getFormatter","filteredOptions","formatNumber","config","RELATIVE_TIME_FORMAT_OPTIONS","formatRelativeTime","DATE_TIME_FORMAT_OPTIONS","formatDate","formatTime","PLURAL_FORMAT_OPTIONS","formatPlural","setTimeZoneInOptions","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","prepareIntlMessageFormatHtmlOutput","formatMessage","state","messageDescriptor","defaultMessage","formattedMessageParts","formatter","toLowerCase","shallowEqualObjects","objA","objB","aKeys","bKeys","LIST_FORMAT_OPTIONS","now","generateToken","formatList","richValues","serializedValues","v","val","DISPLAY_NAMES_OPTONS","formatDisplayName","of","shallowEquals","shallowEquals_","processIntlConfig","createIntl","resolvedConfig","prevConfig","MINUTE","HOUR","DAY","selectUnit","seconds","absValue","Math","abs","getDurationInSeconds","valueToSeconds","INCREMENTABLE_UNITS","canIncrement","includes","FormattedRelativeTime","_updateTimer","prevUnit","prevValue","currentValueInSeconds","updateIntervalInSeconds","clearTimeout","nextValueInSeconds","nextUnit","unitDuration","remainder","prevInterestingValueInSeconds","nextInterestingValueInSeconds","delayInSeconds","setTimeout","setState","scheduleNextUpdate","currentValue","currentUnit","round","formattedRelativeTime","FormattedPlural","pluralCategory","formattedPlural","withIntl","defaultFormatMessage","FormattedMessage","nextProps","otherProps","nextValues","nextOtherProps","tagName","nodes","defineMessages","msgs","FormattedDate","FormattedTime","FormattedNumber","FormattedList","FormattedDisplayName","FormattedDateParts","FormattedTimeParts"],"mappings":"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"}