// or element, update the intersection rect. // Note: and cannot be clipped to a rect that's not also // the document rect, so no need to compute a new intersection. if (parent != document.body && parent != document.documentElement && parentComputedStyle.overflow != 'visible') { parentRect = getBoundingClientRect(parent); } } // If either of the above conditionals set a new parentRect, // calculate new intersection data. if (parentRect) { intersectionRect = computeRectIntersection(parentRect, intersectionRect); if (!intersectionRect) break; } parent = getParentNode(parent); } return intersectionRect; }; /** * Returns the root rect after being expanded by the rootMargin value. * @return {Object} The expanded root rect. * @private */ IntersectionObserver.prototype._getRootRect = function() { var rootRect; if (this.root) { rootRect = getBoundingClientRect(this.root); } else { // Use / instead of window since scroll bars affect size. var html = document.documentElement; var body = document.body; rootRect = { x: 0, y: 0, top: 0, left: 0, right: html.clientWidth || body.clientWidth, width: html.clientWidth || body.clientWidth, bottom: html.clientHeight || body.clientHeight, height: html.clientHeight || body.clientHeight }; } return this._expandRectByRootMargin(rootRect); }; /** * Accepts a rect and expands it by the rootMargin value. * @param {Object} rect The rect object to expand. * @return {Object} The expanded rect. * @private */ IntersectionObserver.prototype._expandRectByRootMargin = function(rect) { var margins = this._rootMarginValues.map(function(margin, i) { return margin.unit == 'px' ? margin.value : margin.value * (i % 2 ? rect.width : rect.height) / 100; }); var newRect = { top: rect.top - margins[0], right: rect.right + margins[1], bottom: rect.bottom + margins[2], left: rect.left - margins[3] }; newRect.width = newRect.right - newRect.left; newRect.height = newRect.bottom - newRect.top; newRect.x = newRect.left; newRect.y = newRect.top; return newRect; }; /** * Accepts an old and new entry and returns true if at least one of the * threshold values has been crossed. * @param {?IntersectionObserverEntry} oldEntry The previous entry for a * particular target element or null if no previous entry exists. * @param {IntersectionObserverEntry} newEntry The current entry for a * particular target element. * @return {boolean} Returns true if a any threshold has been crossed. * @private */ IntersectionObserver.prototype._hasCrossedThreshold = function(oldEntry, newEntry) { // To make comparing easier, an entry that has a ratio of 0 // but does not actually intersect is given a value of -1 var oldRatio = oldEntry && oldEntry.isIntersecting ? oldEntry.intersectionRatio || 0 : -1; var newRatio = newEntry.isIntersecting ? newEntry.intersectionRatio || 0 : -1; // Ignore unchanged ratios if (oldRatio === newRatio) return; for (var i = 0; i < this.thresholds.length; i++) { var threshold = this.thresholds[i]; // Return true if an entry matches a threshold or if the new ratio // and the old ratio are on the opposite sides of a threshold. if (threshold == oldRatio || threshold == newRatio || threshold < oldRatio !== threshold < newRatio) { return true; } } }; /** * Returns whether or not the root element is an element and is in the DOM. * @return {boolean} True if the root element is an element and is in the DOM. * @private */ IntersectionObserver.prototype._rootIsInDom = function() { return !this.root || containsDeep(document, this.root); }; /** * Returns whether or not the target element is a child of root. * @param {Element} target The target element to check. * @return {boolean} True if the target element is a child of root. * @private */ IntersectionObserver.prototype._rootContainsTarget = function(target) { return containsDeep(this.root || document, target); }; /** * Adds the instance to the global IntersectionObserver registry if it isn't * already present. * @private */ IntersectionObserver.prototype._registerInstance = function() { if (registry.indexOf(this) < 0) { registry.push(this); } }; /** * Removes the instance from the global IntersectionObserver registry. * @private */ IntersectionObserver.prototype._unregisterInstance = function() { var index = registry.indexOf(this); if (index != -1) registry.splice(index, 1); }; /** * Returns the result of the performance.now() method or null in browsers * that don't support the API. * @return {number} The elapsed time since the page was requested. */ function now() { return window.performance && performance.now && performance.now(); } /** * Throttles a function and delays its execution, so it's only called at most * once within a given time period. * @param {Function} fn The function to throttle. * @param {number} timeout The amount of time that must pass before the * function can be called again. * @return {Function} The throttled function. */ function throttle(fn, timeout) { var timer = null; return function () { if (!timer) { timer = setTimeout(function() { fn(); timer = null; }, timeout); } }; } /** * Adds an event handler to a DOM node ensuring cross-browser compatibility. * @param {Node} node The DOM node to add the event handler to. * @param {string} event The event name. * @param {Function} fn The event handler to add. * @param {boolean} opt_useCapture Optionally adds the even to the capture * phase. Note: this only works in modern browsers. */ function addEvent(node, event, fn, opt_useCapture) { if (typeof node.addEventListener == 'function') { node.addEventListener(event, fn, opt_useCapture || false); } else if (typeof node.attachEvent == 'function') { node.attachEvent('on' + event, fn); } } /** * Removes a previously added event handler from a DOM node. * @param {Node} node The DOM node to remove the event handler from. * @param {string} event The event name. * @param {Function} fn The event handler to remove. * @param {boolean} opt_useCapture If the event handler was added with this * flag set to true, it should be set to true here in order to remove it. */ function removeEvent(node, event, fn, opt_useCapture) { if (typeof node.removeEventListener == 'function') { node.removeEventListener(event, fn, opt_useCapture || false); } else if (typeof node.detatchEvent == 'function') { node.detatchEvent('on' + event, fn); } } /** * Returns the intersection between two rect objects. * @param {Object} rect1 The first rect. * @param {Object} rect2 The second rect. * @return {?Object} The intersection rect or undefined if no intersection * is found. */ function computeRectIntersection(rect1, rect2) { var top = Math.max(rect1.top, rect2.top); var bottom = Math.min(rect1.bottom, rect2.bottom); var left = Math.max(rect1.left, rect2.left); var right = Math.min(rect1.right, rect2.right); var width = right - left; var height = bottom - top; return (width >= 0 && height >= 0) && { x: left, y: top, top: top, bottom: bottom, left: left, right: right, width: width, height: height }; } /** * Shims the native getBoundingClientRect for compatibility with older IE. * @param {Element} el The element whose bounding rect to get. * @return {Object} The (possibly shimmed) rect of the element. */ function getBoundingClientRect(el) { var rect; try { rect = el.getBoundingClientRect(); } catch (err) { // Ignore Windows 7 IE11 "Unspecified error" // https://github.com/w3c/IntersectionObserver/pull/205 } if (!rect) return getEmptyRect(); // Older IE if (!(rect.width && rect.height && rect.x && rect.y)) { rect = { x: rect.left, y: rect.top, top: rect.top, right: rect.right, bottom: rect.bottom, left: rect.left, width: rect.right - rect.left, height: rect.bottom - rect.top }; } return rect; } /** * Returns an empty rect object. An empty rect is returned when an element * is not in the DOM. * @return {Object} The empty rect. */ function getEmptyRect() { return { x: 0, y: 0, top: 0, bottom: 0, left: 0, right: 0, width: 0, height: 0 }; } /** * Checks to see if a parent element contains a child element (including inside * shadow DOM). * @param {Node} parent The parent element. * @param {Node} child The child element. * @return {boolean} True if the parent node contains the child node. */ function containsDeep(parent, child) { var node = child; while (node) { if (node == parent) return true; node = getParentNode(node); } return false; } /** * Gets the parent node of an element or its host element if the parent node * is a shadow root. * @param {Node} node The node whose parent to get. * @return {Node|null} The parent node or null if no parent exists. */ function getParentNode(node) { var parent = node.parentNode; if (parent && parent.nodeType == 11 && parent.host) { // If the parent is a shadow root, return the host element. return parent.host; } if (parent && parent.assignedSlot) { // If the parent is distributed in a , return the parent of a slot. return parent.assignedSlot.parentNode; } return parent; } // Exposes the constructors globally. window.IntersectionObserver = IntersectionObserver; window.IntersectionObserverEntry = IntersectionObserverEntry; }(window, document)); } if (!("IntersectionObserverEntry"in window&&"isIntersecting"in window.IntersectionObserverEntry.prototype )) { // IntersectionObserverEntry // Minimal polyfill for Edge 15's lack of `isIntersecting` // See: https://github.com/w3c/IntersectionObserver/issues/211 Object.defineProperty(IntersectionObserverEntry.prototype, 'isIntersecting', { get: function () { return this.intersectionRatio > 0; } } ); } if (!("Reflect"in self )) { // Reflect // 26.1 The Reflect Object try { Object.defineProperty(self, "Reflect", { value: self.Reflect || {}, writable: true, configurable: true, enumerable: false }); } catch (e) { self.Reflect = self.Reflect || {}; } } if (!("flags"in RegExp.prototype )) { // RegExp.prototype.flags /* global Get, ToBoolean, Type */ Object.defineProperty(RegExp.prototype, 'flags', { configurable: true, enumerable: false, get: function () { // 21.2.5.3.1 Let R be the this value. var R = this; // 21.2.5.3.2 If Type(R) is not Object, throw a TypeError exception. if (Type(R) !== 'object') { throw new TypeError('Method called on incompatible type: must be an object.'); } // 21.2.5.3.3 Let result be the empty String. var result = ''; // 21.2.5.3.4 Let global be ToBoolean(? Get(R, "global")). var global = ToBoolean(Get(R, 'global')); // 21.2.5.3.5 If global is true, append the code unit 0x0067 (LATIN SMALL LETTER G) as the last code unit of result. if (global) { result += 'g'; } // 21.2.5.3.6 Let ignoreCase be ToBoolean(? Get(R, "ignoreCase")). var ignoreCase = ToBoolean(Get(R, 'ignoreCase')); // 21.2.5.3.7 If ignoreCase is true, append the code unit 0x0069 (LATIN SMALL LETTER I) as the last code unit of result. if (ignoreCase) { result += 'i'; } // 21.2.5.3.8 Let multiline be ToBoolean(? Get(R, "multiline")). var multiline = ToBoolean(Get(R, 'multiline')); // 21.2.5.3.9 If multiline is true, append the code unit 0x006D (LATIN SMALL LETTER M) as the last code unit of result. if (multiline) { result += 'm'; } // 21.2.5.3.10 Let unicode be ToBoolean(? Get(R, "unicode")). var unicode = ToBoolean(Get(R, 'unicode')); // 21.2.5.3.11 If unicode is true, append the code unit 0x0075 (LATIN SMALL LETTER U) as the last code unit of result. if (unicode) { result += 'u'; } // 21.2.5.3.12 Let sticky be ToBoolean(? Get(R, "sticky")). var sticky = ToBoolean(Get(R, 'sticky')); // 21.2.5.3.13 If sticky is true, append the code unit 0x0079 (LATIN SMALL LETTER Y) as the last code unit of result. if (sticky) { result += 'y'; } // 21.2.5.3.14 Return result. return result; } }); } if (!("requestAnimationFrame"in self )) { // requestAnimationFrame (function (global) { var rafPrefix; // do not inject RAF in order to avoid broken performance var nowOffset = Date.now(); // use performance api if exist, otherwise use Date.now. // Date.now polyfill required. var pnow = function () { if (global.performance && typeof global.performance.now === 'function') { return global.performance.now(); } // fallback return Date.now() - nowOffset; }; if ('mozRequestAnimationFrame' in global) { rafPrefix = 'moz'; } else if ('webkitRequestAnimationFrame' in global) { rafPrefix = 'webkit'; } if (rafPrefix) { global.requestAnimationFrame = function (callback) { return global[rafPrefix + 'RequestAnimationFrame'](function () { callback(pnow()); }); }; global.cancelAnimationFrame = global[rafPrefix + 'CancelAnimationFrame']; } else { var lastTime = Date.now(); global.requestAnimationFrame = function (callback) { if (typeof callback !== 'function') { throw new TypeError(callback + ' is not a function'); } var currentTime = Date.now(), delay = 16 + lastTime - currentTime; if (delay < 0) { delay = 0; } lastTime = currentTime; return setTimeout(function () { lastTime = Date.now(); callback(pnow()); }, delay); }; global.cancelAnimationFrame = function (id) { clearTimeout(id); }; } }(self)); } if (!("requestIdleCallback"in self )) { // requestIdleCallback (function (global) { // The requestIdleCallback polyfill builds on ReactScheduler, which // calculates the browser's framerate and seperates the idle call into a // seperate tick: // "It works by scheduling a requestAnimationFrame, storing the time for the // start of the frame, then scheduling a postMessage which gets scheduled // after paint. Within the postMessage handler do as much work as possible // until time + frame rate. By separating the idle call into a separate // event tick we ensure that layout, paint and other browser work is counted // against the available time. The frame rate is dynamically adjusted." // https://github.com/facebook/react/blob/43a137d9c13064b530d95ba51138ec1607de2c99/packages/react-scheduler/src/ReactScheduler.js // MIT License // // Copyright (c) 2013-present, Facebook, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. var idleCallbackIdentifier = 0; var scheduledCallbacks = []; var timedOutCallbacks = []; var nestedCallbacks = []; var isIdleScheduled = false; var isCallbackRunning = false; var allowIdleDeadlineConstructor = false; var scheduledAnimationFrameId; var scheduledAnimationFrameTimeout; // We start out assuming that we run at 30fps (1 frame per 33.3ms) but then // the heuristic tracking will adjust this value to a faster fps if we get // more frequent animation frames. var previousFrameTime = 33; var activeFrameTime = 33; var frameDeadline = 0; var port; // The object to `postMessage` on. var messageKey; var messageChannelSupport = typeof MessageChannel === 'object'; // We use the postMessage trick to defer idle work until after the repaint. if (messageChannelSupport) { // Use MessageChannel if supported. var messageChannel = new MessageChannel(); port = messageChannel.port2; messageChannel.port1.onmessage = processIdleCallbacks; } else { // TODO add `MessageChannel` polyfill to polyfill.io. // Otherwise fallback to document messaging. It is less efficient as // all message event listeners within a project will be called each // frame whilst idle callbacks remain. messageKey = 'polyfillIdleCallback' + Math.random().toString(36).slice(2); port = window; window.addEventListener('message', function (event) { // some engines return true when a strict comparison with `window` is made. if (event.source != window || event.data !== messageKey) { return; } processIdleCallbacks(); }); } function timeRemaining() { // Defensive coding. Time remaining should never be more than 50ms. // This is sometimes the case in Safari 9. return Math.min(frameDeadline - performance.now(), 50); } function getDeadline(callbackObject) { var timeout = callbackObject.options.timeout; var added = callbackObject.added; // Create deadline from global.IdleDeadline. // Turn off constructor error to do so. allowIdleDeadlineConstructor = true; var deadline = new global.IdleDeadline(); allowIdleDeadlineConstructor = false; // Set deadline properties. Object.defineProperty(deadline, 'didTimeout', { value: timeout ? added + timeout < performance.now() : false }); Object.defineProperty(deadline, 'timeRemaining', { value: timeRemaining }); return deadline; } function runCallback(callbackObject) { var deadline = getDeadline(callbackObject); var callback = callbackObject.callback; callback(deadline); } function scheduleIdleWork() { if (!isIdleScheduled) { isIdleScheduled = true; try { // Safari 9 throws "TypeError: Value is not a sequence" port.postMessage(messageKey, '*'); } catch (error) { port.postMessage(messageKey); } } } function scheduleAnimationFrame() { // Schedule animation frame to calculate the browsers framerate. if (!scheduledAnimationFrameId) { // Request the animation frame. scheduledAnimationFrameId = requestAnimationFrame(function (rafTime) { // Remove timeout fallback, as the animation frame run successfully. scheduledAnimationFrameId = undefined; clearTimeout(scheduledAnimationFrameTimeout); // Safari 9 gives a `rafTime` far into the future. // It appears to be (now + (frame rate) * 2). var futureRafTime = rafTime - activeFrameTime > performance.now(); if (futureRafTime) { rafTime = rafTime - (activeFrameTime * 2); } // Calculate the frame rate. var nextFrameTime = rafTime - frameDeadline + activeFrameTime; if (nextFrameTime < activeFrameTime && previousFrameTime < activeFrameTime) { if (nextFrameTime < 8) { // Defensive coding. We don't support higher frame rates than 120hz. // If we get lower than that, it is probably a bug. nextFrameTime = 8; } // If one frame goes long, then the next one can be short to catch up. // If two frames are short in a row, then that's an indication that we // actually have a higher frame rate than what we're currently optimizing. // We adjust our heuristic dynamically accordingly. For example, if we're // running on 120hz display or 90hz VR display. // Take the max of the two in case one of them was an anomaly due to // missed frame deadlines. activeFrameTime = Math.max(previousFrameTime, nextFrameTime); } else { previousFrameTime = nextFrameTime; } // Update the deadline we have to run idle callbacks. frameDeadline = rafTime + activeFrameTime; // Schedule idle callback work. scheduleIdleWork(); }); // If the animation frame is not called, for example if the tab is in the // background, schedule work should still be run. So set a timeout as a // fallback. scheduledAnimationFrameTimeout = setTimeout(function () { // Cancel the animation frame which failed to run timely. cancelAnimationFrame(scheduledAnimationFrameId); scheduledAnimationFrameId = undefined; // Update the deadline we have to run idle callbacks. frameDeadline = performance.now() + 50; // Run callbacks. scheduleIdleWork(); }, 100); } } function processIdleCallbacks () { isIdleScheduled = false; isCallbackRunning = true; // Move timed-out callbacks from the scheduled array. timedOutCallbacks = scheduledCallbacks.filter(function (callbackObject) { if (callbackObject.options.timeout !== undefined) { var deadline = getDeadline(callbackObject); return deadline.didTimeout; } return false; }); scheduledCallbacks = scheduledCallbacks.filter(function (callbackObject) { return !timedOutCallbacks.includes(callbackObject); }); // Of the timed-out callbacks, order by those with the lowest timeout. timedOutCallbacks.sort(function (a, b) { return a.options.timeout - b.options.timeout; }); // Run all timed-out callbacks, regardless of the deadline time // remaining. while (timedOutCallbacks.length > 0) { var callbackObject = timedOutCallbacks.shift(); runCallback(callbackObject); } // While there is deadline time remaining, run remaining scheduled // callbacks. while (scheduledCallbacks.length > 0 && timeRemaining() > 0) { callbackObject = scheduledCallbacks.shift(); runCallback(callbackObject); } // Schedule callbacks added during this idle period to run in the next // idle period (nested callbacks). if (nestedCallbacks.length > 0) { scheduledCallbacks = scheduledCallbacks.concat(nestedCallbacks); nestedCallbacks = []; } // Schedule any remaining callbacks for a future idle period. if (scheduledCallbacks.length > 0) { scheduleAnimationFrame(); } isCallbackRunning = false; } /** * @param {function} callback * @return {number} - The idle callback identifier. */ global.requestIdleCallback = function requestIdleCallback(callback, options) { var id = ++idleCallbackIdentifier; // Create an object to store the callback, its options, and the time it // was added. var callbackObject = { id: id, callback: callback, options: options || {}, added: performance.now() }; // If an idle callback is running already this is a nested idle callback // and should be scheduled for a different period. If no idle callback // is running schedule immediately. if (isCallbackRunning) { nestedCallbacks.push(callbackObject); } else { scheduledCallbacks.push(callbackObject); } // Run scheduled idle callbacks after the next animation frame. scheduleAnimationFrame(); // Return the callbacks identifier. return id; }; /** * @param {number} - The idle callback identifier to cancel. * @return {undefined} */ global.cancelIdleCallback = function cancelIdleCallback(id) { if(arguments.length === 0) { throw new TypeError('cancelIdleCallback requires at least 1 argument'); } var callbackFilter = function (callbackObject) { return callbackObject.id !== id; }; // Find and remove the callback from the scheduled idle callbacks, // and nested callbacks (cancelIdleCallback may be called in an idle period). scheduledCallbacks = scheduledCallbacks.filter(callbackFilter); nestedCallbacks = nestedCallbacks.filter(callbackFilter); }; /** IdleDeadline Polyfill * @example * requestIdleCallback(function (deadline) { * console.log(deadline instanceof IdleDeadline); // true * }); */ global.IdleDeadline = function IdleDeadline() { if (!allowIdleDeadlineConstructor) { throw new TypeError('Illegal constructor'); } }; Object.defineProperty(global.IdleDeadline.prototype, 'timeRemaining', { value: function() { throw new TypeError('Illegal invocation'); } }); if (Object.prototype.hasOwnProperty.call(Object.prototype, '__defineGetter__')) { Object.defineProperty(global.IdleDeadline.prototype, 'didTimeout', { get: function () { throw new TypeError('Illegal invocation'); } }); } else { Object.defineProperty(global.IdleDeadline.prototype, 'didTimeout', { value: undefined }); } }(self)); } if (!("fromCodePoint"in String&&1===String.fromCodePoint.length )) { // String.fromCodePoint /* global CreateMethodProperty, IsArray, SameValue, ToInteger, ToNumber, UTF16Encoding */ // 21.1.2.2. String.fromCodePoint ( ...codePoints ) CreateMethodProperty(String, 'fromCodePoint', function fromCodePoint(_) { // Polyfill.io - List to store the characters whilst iterating over the code points. var result = []; // 1. Let codePoints be a List containing the arguments passed to this function. var codePoints = arguments; // 2. Let length be the number of elements in codePoints. var length = arguments.length; // 3. Let elements be a new empty List. var elements = []; // 4. Let nextIndex be 0. var nextIndex = 0; // 5. Repeat, while nextIndex < length while (nextIndex < length) { // Polyfill.io - We reset the elements List as we store the partial results in the result List. elements = []; // a. Let next be codePoints[nextIndex]. var next = codePoints[nextIndex]; // b. Let nextCP be ? ToNumber(next). var nextCP = ToNumber(next); // c. If SameValue(nextCP, ToInteger(nextCP)) is false, throw a RangeError exception. if (SameValue(nextCP, ToInteger(nextCP)) === false) { throw new RangeError('Invalid code point ' + Object.prototype.toString.call(nextCP)); } // d. If nextCP < 0 or nextCP > 0x10FFFF, throw a RangeError exception. if (nextCP < 0 || nextCP > 0x10FFFF) { throw new RangeError('Invalid code point ' + Object.prototype.toString.call(nextCP)); } // e. Append the elements of the UTF16Encoding of nextCP to the end of elements. // Polyfill.io - UTF16Encoding can return a single codepoint or a list of multiple codepoints. var cp = UTF16Encoding(nextCP); if (IsArray(cp)) { elements = elements.concat(cp); } else { elements.push(cp); } // f. Let nextIndex be nextIndex + 1. nextIndex = nextIndex + 1; // Polyfill.io - Retrieving the characters whilst iterating enables the function to work in a memory efficient and performant way. result.push(String.fromCharCode.apply(null, elements)); } // 6. Return the String value whose elements are, in order, the elements in the List elements. If length is 0, the empty string is returned. return length === 0 ? '' : result.join(''); }); } if (!("at"in String.prototype )) { // String.prototype.at /* global CreateMethodProperty, RequireObjectCoercible, ToIntegerOrInfinity, ToString */ // 22.1.3.1. String.prototype.at ( index ) CreateMethodProperty(String.prototype, 'at', function at(index) { // 1. Let O be ? RequireObjectCoercible(this value). var O = RequireObjectCoercible(this); // 2. Let S be ? ToString(O). var S = ToString(O); // 3. Let len be the length of S. var len = S.length; // 4. Let relativeIndex be ? ToIntegerOrInfinity(index). var relativeIndex = ToIntegerOrInfinity(index); // 5. If relativeIndex ≥ 0, then // 5.a. Let k be relativeIndex. // 6. Else, // 6.a. Let k be len + relativeIndex. var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; // 7. If k < 0 or k ≥ len, return undefined. if (k < 0 || k >= len) return undefined; // 8. Return the substring of S from k to k + 1. return S.substring(k, k + 1); }); } if (!("codePointAt"in String.prototype )) { // String.prototype.codePointAt /* global CreateMethodProperty, RequireObjectCoercible, ToInteger, ToString, UTF16Decode */ // 21.1.3.3. String.prototype.codePointAt ( pos ) CreateMethodProperty(String.prototype, 'codePointAt', function codePointAt(pos) { // 1. Let O be ? RequireObjectCoercible(this value). var O = RequireObjectCoercible(this); // 2. Let S be ? ToString(O). var S = ToString(O); // 3. Let position be ? ToInteger(pos). var position = ToInteger(pos); // 4. Let size be the length of S. var size = S.length; // 5. If position < 0 or position ≥ size, return undefined. if (position < 0 || position >= size) { return undefined; } // 6. Let first be the numeric value of the code unit at index position within the String S. var first = String.prototype.charCodeAt.call(S, position); // 7. If first < 0xD800 or first > 0xDBFF or position+1 = size, return first. if (first < 0xD800 || first > 0xDBFF || position + 1 === size) { return first; } // 8. Let second be the numeric value of the code unit at index position+1 within the String S. var second = String.prototype.charCodeAt.call(S, position + 1); // 9. If second < 0xDC00 or second > 0xDFFF, return first. if (second < 0xDC00 || second > 0xDFFF) { return first; } // 10. Return UTF16Decode(first, second). // 21.1.3.3.10 Return UTF16Decode(first, second). return UTF16Decode(first, second); }); } // _ESAbstract.AdvanceStringIndex /* global */ // 22.2.5.2.3 AdvanceStringIndex ( S, index, unicode ) function AdvanceStringIndex(S, index, unicode) { // eslint-disable-line no-unused-vars // 1. Assert: index ≤ 253 - 1. if (index > Number.MAX_SAFE_INTEGER) { throw new TypeError('Assertion failed: `index` must be <= 2**53'); } // 2. If unicode is false, return index + 1. if (unicode === false) { return index + 1; } // 3. Let length be the number of code units in S. var length = S.length; // 4. If index + 1 ≥ length, return index + 1. if (index + 1 >= length) { return index + 1; } // 5. Let cp be ! CodePointAt(S, index). var cp = S.codePointAt(index); // 6. Return index + cp.[[CodeUnitCount]]. return index + cp.length; } if (!("endsWith"in String.prototype )) { // String.prototype.endsWith /* global CreateMethodProperty, IsRegExp, RequireObjectCoercible, ToInteger, ToString */ // 21.1.3.6. String.prototype.endsWith ( searchString [ , endPosition ] ) CreateMethodProperty(String.prototype, 'endsWith', function endsWith(searchString /* [ , endPosition ] */) { 'use strict'; var endPosition = arguments.length > 1 ? arguments[1] : undefined; // 1. Let O be ? RequireObjectCoercible(this value). var O = RequireObjectCoercible(this); // 2. Let S be ? ToString(O). var S = ToString(O); // 3. Let isRegExp be ? IsRegExp(searchString). var isRegExp = IsRegExp(searchString); // 4. If isRegExp is true, throw a TypeError exception. if (isRegExp) { throw new TypeError('First argument to String.prototype.endsWith must not be a regular expression'); } // 5. Let searchStr be ? ToString(searchString). var searchStr = ToString(searchString); // 6. Let len be the length of S. var len = S.length; // 7. If endPosition is undefined, let pos be len, else let pos be ? ToInteger(endPosition). var pos = endPosition === undefined ? len : ToInteger(endPosition); // 8. Let end be min(max(pos, 0), len). var end = Math.min(Math.max(pos, 0), len); // 9. Let searchLength be the length of searchStr. var searchLength = searchStr.length; // 10. Let start be end - searchLength. var start = end - searchLength; // 11. If start is less than 0, return false. if (start < 0) { return false; } // 12. If the sequence of elements of S starting at start of length searchLength is the same as the full element sequence of searchStr, return true. if (S.substr(start, searchLength) === searchStr) { return true; } // 13. Otherwise, return false. return false; }); } if (!("includes"in String.prototype )) { // String.prototype.includes /* global CreateMethodProperty, IsRegExp, RequireObjectCoercible, ToInteger, ToString */ // 21.1.3.7. String.prototype.includes ( searchString [ , position ] ) CreateMethodProperty(String.prototype, 'includes', function includes(searchString /* [ , position ] */) { 'use strict'; var position = arguments.length > 1 ? arguments[1] : undefined; // 1. Let O be ? RequireObjectCoercible(this value). var O = RequireObjectCoercible(this); // 2. Let S be ? ToString(O). var S = ToString(O); // 3. Let isRegExp be ? IsRegExp(searchString). var isRegExp = IsRegExp(searchString); // 4. If isRegExp is true, throw a TypeError exception. if (isRegExp) { throw new TypeError('First argument to String.prototype.includes must not be a regular expression'); } // 5. Let searchStr be ? ToString(searchString). var searchStr = ToString(searchString); // 6. Let pos be ? ToInteger(position). (If position is undefined, this step produces the value 0.) var pos = ToInteger(position); // 7. Let len be the length of S. var len = S.length; // 8. Let start be min(max(pos, 0), len). var start = Math.min(Math.max(pos, 0), len); // 9. Let searchLen be the length of searchStr. // var searchLength = searchStr.length; // 10. If there exists any integer k not smaller than start such that k + searchLen is not greater than len, and for all nonnegative integers j less than searchLen, the code unit at index k+j within S is the same as the code unit at index j within searchStr, return true; but if there is no such integer k, return false. return String.prototype.indexOf.call(S, searchStr, start) !== -1; }); } if (!("padEnd"in String.prototype )) { // String.prototype.padEnd /* global CreateMethodProperty, RequireObjectCoercible, ToLength, ToString */ // 21.1.3.13. String.prototype.padEnd( maxLength [ , fillString ] ) CreateMethodProperty(String.prototype, 'padEnd', function padEnd(maxLength /* [ , fillString ] */) { 'use strict'; var fillString = arguments.length > 1 ? arguments[1] : undefined; // 1. Let O be ? RequireObjectCoercible(this value). var O = RequireObjectCoercible(this); // 2. Let S be ? ToString(O). var S = ToString(O); // 3. Let intMaxLength be ? ToLength(maxLength). var intMaxLength = ToLength(maxLength); // 4. Let stringLength be the length of S. var stringLength = S.length; // 5. If intMaxLength is not greater than stringLength, return S. if (intMaxLength <= stringLength) { return S; } // 6. If fillString is undefined, let filler be the String value consisting solely of the code unit 0x0020 (SPACE). if (fillString === undefined) { var filler = ' '; // 7. Else, let filler be ? ToString(fillString). } else { filler = ToString(fillString); } // 8. If filler is the empty String, return S. if (filler === '') { return S; } // 9. Let fillLen be intMaxLength - stringLength. var fillLen = intMaxLength - stringLength; // 10. Let truncatedStringFiller be the String value consisting of repeated concatenations of filler truncated to length fillLen. var truncatedStringFiller = ''; for (var i = 0; i < fillLen; i++) { truncatedStringFiller += filler; } truncatedStringFiller = truncatedStringFiller.substr(0, fillLen); // 11. Return the string-concatenation of S and truncatedStringFiller. return S + truncatedStringFiller; }); } if (!("padStart"in String.prototype )) { // String.prototype.padStart /* global CreateMethodProperty, RequireObjectCoercible, ToLength, ToString */ // 21.1.3.14. String.prototype.padStart( maxLength [ , fillString ] ) CreateMethodProperty(String.prototype, 'padStart', function padStart(maxLength /* [ , fillString ] */) { 'use strict'; var fillString = arguments.length > 1 ? arguments[1] : undefined; // 1. Let O be ? RequireObjectCoercible(this value). var O = RequireObjectCoercible(this); // 2. Let S be ? ToString(O). var S = ToString(O); // 3. Let intMaxLength be ? ToLength(maxLength). var intMaxLength = ToLength(maxLength); // 4. Let stringLength be the length of S. var stringLength = S.length; // 5. If intMaxLength is not greater than stringLength, return S. if (intMaxLength <= stringLength) { return S; } // 6. If fillString is undefined, let filler be the String value consisting solely of the code unit 0x0020 (SPACE). if (fillString === undefined) { var filler = ' '; // 7. Else, let filler be ? ToString(fillString). } else { filler = ToString(fillString); } // 8. If filler is the empty String, return S. if (filler === '') { return S; } // 9. Let fillLen be intMaxLength - stringLength. var fillLen = intMaxLength - stringLength; // 10. Let truncatedStringFiller be the String value consisting of repeated concatenations of filler truncated to length fillLen. var truncatedStringFiller = ''; for (var i = 0; i < fillLen; i++) { truncatedStringFiller += filler; } truncatedStringFiller = truncatedStringFiller.substr(0, fillLen); // 11. Return the string-concatenation of truncatedStringFiller and S. return truncatedStringFiller + S; }); } if (!("repeat"in String.prototype )) { // String.prototype.repeat /* global CreateMethodProperty, RequireObjectCoercible, ToInteger, ToString */ // 21.1.3.15String.prototype.repeat ( count ) CreateMethodProperty(String.prototype, 'repeat', function repeat(count) { 'use strict'; // 1. Let O be ? RequireObjectCoercible(this value). var O = RequireObjectCoercible(this); // 2. Let S be ? ToString(O). var S = ToString(O); // 3. Let n be ? ToInteger(count). var n = ToInteger(count); // 4. If n < 0, throw a RangeError exception. if (n < 0) { throw new RangeError('Invalid count value'); } // 5. If n is +∞, throw a RangeError exception. if (n === Infinity) { throw new RangeError('Invalid count value'); } // 6. Let T be the String value that is made from n copies of S appended together. If n is 0, T is the empty String. var T = n === 0 ? '' : new Array(n + 1).join(S); // 7. Return T. return T; }); } if (!("startsWith"in String.prototype )) { // String.prototype.startsWith /* global CreateMethodProperty, IsRegExp, RequireObjectCoercible, ToInteger, ToString */ // 21.1.3.20. String.prototype.startsWith ( searchString [ , position ] ) CreateMethodProperty(String.prototype, 'startsWith', function startsWith(searchString /* [ , position ] */) { 'use strict'; var position = arguments.length > 1 ? arguments[1] : undefined; // 1. Let O be ? RequireObjectCoercible(this value). var O = RequireObjectCoercible(this); // 2. Let S be ? ToString(O). var S = ToString(O); // 3. Let isRegExp be ? IsRegExp(searchString). var isRegExp = IsRegExp(searchString); // 4. If isRegExp is true, throw a TypeError exception. if (isRegExp) { throw new TypeError('First argument to String.prototype.startsWith must not be a regular expression'); } // 5. Let searchStr be ? ToString(searchString). var searchStr = ToString(searchString); // 6. Let pos be ? ToInteger(position). (If position is undefined, this step produces the value 0.) var pos = ToInteger(position); // 7. Let len be the length of S. var len = S.length; // 8. Let start be min(max(pos, 0), len). var start = Math.min(Math.max(pos, 0), len); // 9. Let searchLength be the length of searchStr. var searchLength = searchStr.length; // 10. If searchLength+start is greater than len, return false. if (searchLength + start > len) { return false; } // 11. If the sequence of elements of S starting at start of length searchLength is the same as the full element sequence of searchStr, return true. if (S.substr(start).indexOf(searchString) === 0) { return true; } // 12. Otherwise, return false. return false; }); } if (!("trim"in String.prototype&&function(){var r="​…᠎" return!"\t\n\v\f\r                 \u2028\u2029\ufeff".trim()&&r.trim()===r}() )) { // String.prototype.trim /* global CreateMethodProperty, TrimString */ // 21.1.3.27. String.prototype.trim ( ) CreateMethodProperty(String.prototype, 'trim', function trim() { 'use strict'; // Let S be this value. var S = this; // Return ? TrimString(S, "start+end"). return TrimString(S, "start+end"); }); } if (!("parseFloat"in Number&&1/parseFloat("\t\n\v\f\r                 \u2028\u2029\ufeff-0")==-1/0 )) { // Number.parseFloat /* global CreateMethodProperty */ (function (nativeparseFloat, global) { // Polyfill.io - parseFloat is incorrect in older browsers var parseFloat = function parseFloat(str) { var string = String(str).trim(); var result = nativeparseFloat(string); return result === 0 && string.charAt(0) == '-' ? -0 : result; } CreateMethodProperty(global, 'parseFloat', parseFloat); // 20.1.2.12. Number.parseFloat ( string ) // The value of the Number.parseFloat data property is the same built-in function object that is the value of the parseFloat property of the global object defined in 18.2.4. CreateMethodProperty(Number, 'parseFloat', global.parseFloat); }(parseFloat, this)); } if (!("parseInt"in Number&&8===Number.parseInt("08") )) { // Number.parseInt /* global CreateMethodProperty */ (function (nativeParseInt, global) { // Polyfill.io - parseInt is incorrect in older browsers var parseInt = function parseInt(str, radix) { var string = String(str).trim(); return nativeParseInt(string, (radix >>> 0) || (/^[-+]?0[xX]/.test(string) ? 16 : 10)); } CreateMethodProperty(global, 'parseInt', parseInt); // 20.1.2.13. Number.parseInt ( string, radix ) // The value of the Number.parseInt data property is the same built-in function object that is the value of the parseInt property of the global object defined in 18.2.5. CreateMethodProperty(Number, 'parseInt', global.parseInt); }(parseInt, this)); } if (!("trimEnd"in String.prototype&&function(){var n="​…᠎" return!"\t\n\v\f\r                 \u2028\u2029\ufeff".trimEnd()&&n.trimEnd()===n}() )) { // String.prototype.trimEnd /* global CreateMethodProperty, TrimString */ // 21.1.3.28 String.prototype.trimEnd ( ) CreateMethodProperty(String.prototype, 'trimEnd', function trimEnd() { 'use strict'; // 1. Let S be this value. var S = this; // 2. Return ? TrimString(S, "end"). return TrimString(S, "end"); }); } if (!("trimStart"in String.prototype&&function(){var t="​…᠎" return!"\t\n\v\f\r                 \u2028\u2029\ufeff".trimStart()&&t.trimStart()===t}() )) { // String.prototype.trimStart /* global CreateMethodProperty, TrimString */ // 21.1.3.29 String.prototype.trimStart ( ) CreateMethodProperty(String.prototype, 'trimStart', function trimStart() { 'use strict'; // 1. Let S be this value. var S = this; // 2. Return ? TrimString(S, "start"). return TrimString(S, "start"); }); } if (!("Symbol"in self&&0===self.Symbol.length )) { // Symbol // A modification of https://github.com/WebReflection/get-own-property-symbols // (C) Andrea Giammarchi - MIT Licensed /* global Type */ (function (Object, GOPS, global) { 'use strict'; //so that ({}).toString.call(null) returns the correct [object Null] rather than [object Window] var setDescriptor; var id = 0; var random = '' + Math.random(); var prefix = '__\x01symbol:'; var prefixLength = prefix.length; var internalSymbol = '__\x01symbol@@' + random; var emptySymbolLookup = {}; var DP = 'defineProperty'; var DPies = 'defineProperties'; var GOPN = 'getOwnPropertyNames'; var GOPD = 'getOwnPropertyDescriptor'; var PIE = 'propertyIsEnumerable'; var ObjectProto = Object.prototype; var hOP = ObjectProto.hasOwnProperty; var pIE = ObjectProto[PIE]; var toString = ObjectProto.toString; var concat = Array.prototype.concat; var cachedWindowNames = Object.getOwnPropertyNames ? Object.getOwnPropertyNames(self) : []; var nGOPN = Object[GOPN]; var gOPN = function getOwnPropertyNames (obj) { if (toString.call(obj) === '[object Window]') { try { return nGOPN(obj); } catch (e) { // IE bug where layout engine calls userland gOPN for cross-domain `window` objects return concat.call([], cachedWindowNames); } } return nGOPN(obj); }; var gOPD = Object[GOPD]; var objectCreate = Object.create; var objectKeys = Object.keys; var freeze = Object.freeze || Object; var objectDefineProperty = Object[DP]; var $defineProperties = Object[DPies]; var descriptor = gOPD(Object, GOPN); var addInternalIfNeeded = function (o, uid, enumerable) { if (!hOP.call(o, internalSymbol)) { try { objectDefineProperty(o, internalSymbol, { enumerable: false, configurable: false, writable: false, value: {} }); } catch (e) { o[internalSymbol] = {}; } } o[internalSymbol]['@@' + uid] = enumerable; }; var createWithSymbols = function (proto, descriptors) { var self = objectCreate(proto); gOPN(descriptors).forEach(function (key) { if (propertyIsEnumerable.call(descriptors, key)) { $defineProperty(self, key, descriptors[key]); } }); return self; }; var copyAsNonEnumerable = function (descriptor) { var newDescriptor = objectCreate(descriptor); newDescriptor.enumerable = false; return newDescriptor; }; var get = function get(){}; var onlyNonSymbols = function (name) { return name != internalSymbol && !hOP.call(source, name); }; var onlySymbols = function (name) { return name != internalSymbol && hOP.call(source, name); }; var propertyIsEnumerable = function propertyIsEnumerable(key) { var uid = '' + key; return onlySymbols(uid) ? ( hOP.call(this, uid) && this[internalSymbol] && this[internalSymbol]['@@' + uid] ) : pIE.call(this, key); }; var setAndGetSymbol = function (uid) { var descriptor = { enumerable: false, configurable: true, get: get, set: function (value) { setDescriptor(this, uid, { enumerable: false, configurable: true, writable: true, value: value }); addInternalIfNeeded(this, uid, true); } }; try { objectDefineProperty(ObjectProto, uid, descriptor); } catch (e) { ObjectProto[uid] = descriptor.value; } source[uid] = objectDefineProperty( Object(uid), 'constructor', sourceConstructor ); var description = gOPD(Symbol.prototype, 'description'); if (description) { objectDefineProperty( source[uid], 'description', description ); } return freeze(source[uid]); }; var symbolDescription = function (s) { var sym = thisSymbolValue(s); // 3. Return sym.[[Description]]. if (supportsInferredNames) { var name = getInferredName(sym); if (name !== "") { return name.slice(1, -1); // name.slice('['.length, -']'.length); } } if (emptySymbolLookup[sym] !== undefined) { return emptySymbolLookup[sym]; } var string = sym.toString(); var randomStartIndex = string.lastIndexOf("0."); string = string.slice(10, randomStartIndex); if (string === "") { return undefined; } return string; }; var Symbol = function Symbol() { var description = arguments[0]; if (this instanceof Symbol) { throw new TypeError('Symbol is not a constructor'); } var uid = prefix.concat(description || '', random, ++id); if (description !== undefined && (description === null || isNaN(description) || String(description) === "")) { emptySymbolLookup[uid] = String(description); } var that = setAndGetSymbol(uid); return that; }; var source = objectCreate(null); var sourceConstructor = {value: Symbol}; var sourceMap = function (uid) { return source[uid]; }; var $defineProperty = function defineProperty(o, key, descriptor) { var uid = '' + key; if (onlySymbols(uid)) { setDescriptor(o, uid, descriptor.enumerable ? copyAsNonEnumerable(descriptor) : descriptor); addInternalIfNeeded(o, uid, !!descriptor.enumerable); } else { objectDefineProperty(o, key, descriptor); } return o; }; var onlyInternalSymbols = function (obj) { return function (name) { return hOP.call(obj, internalSymbol) && hOP.call(obj[internalSymbol], '@@' + name); }; }; var $getOwnPropertySymbols = function getOwnPropertySymbols(o) { return gOPN(o).filter(o === ObjectProto ? onlyInternalSymbols(o) : onlySymbols).map(sourceMap); } ; descriptor.value = $defineProperty; objectDefineProperty(Object, DP, descriptor); descriptor.value = $getOwnPropertySymbols; objectDefineProperty(Object, GOPS, descriptor); descriptor.value = function getOwnPropertyNames(o) { return gOPN(o).filter(onlyNonSymbols); }; objectDefineProperty(Object, GOPN, descriptor); descriptor.value = function defineProperties(o, descriptors) { var symbols = $getOwnPropertySymbols(descriptors); if (symbols.length) { objectKeys(descriptors).concat(symbols).forEach(function (uid) { if (propertyIsEnumerable.call(descriptors, uid)) { $defineProperty(o, uid, descriptors[uid]); } }); } else { $defineProperties(o, descriptors); } return o; }; objectDefineProperty(Object, DPies, descriptor); descriptor.value = propertyIsEnumerable; objectDefineProperty(ObjectProto, PIE, descriptor); descriptor.value = Symbol; objectDefineProperty(global, 'Symbol', descriptor); // defining `Symbol.for(key)` descriptor.value = function (key) { var uid = prefix.concat(prefix, key, random); return uid in ObjectProto ? source[uid] : setAndGetSymbol(uid); }; objectDefineProperty(Symbol, 'for', descriptor); // defining `Symbol.keyFor(symbol)` descriptor.value = function (symbol) { if (onlyNonSymbols(symbol)) throw new TypeError(symbol + ' is not a symbol'); return hOP.call(source, symbol) ? symbol.slice(prefixLength * 2, -random.length) : void 0 ; }; objectDefineProperty(Symbol, 'keyFor', descriptor); descriptor.value = function getOwnPropertyDescriptor(o, key) { var descriptor = gOPD(o, key); if (descriptor && onlySymbols(key)) { descriptor.enumerable = propertyIsEnumerable.call(o, key); } return descriptor; }; objectDefineProperty(Object, GOPD, descriptor); descriptor.value = function create(proto, descriptors) { return arguments.length === 1 || typeof descriptors === "undefined" ? objectCreate(proto) : createWithSymbols(proto, descriptors); }; objectDefineProperty(Object, 'create', descriptor); var strictModeSupported = (function(){ 'use strict'; return this; }).call(null) === null; if (strictModeSupported) { descriptor.value = function () { var str = toString.call(this); return (str === '[object String]' && onlySymbols(this)) ? '[object Symbol]' : str; }; } else { descriptor.value = function () { // https://github.com/Financial-Times/polyfill-library/issues/164#issuecomment-486965300 // Polyfill.io this code is here for the situation where a browser does not // support strict mode and is executing `Object.prototype.toString.call(null)`. // This code ensures that we return the correct result in that situation however, // this code also introduces a bug where it will return the incorrect result for // `Object.prototype.toString.call(window)`. We can't have the correct result for // both `window` and `null`, so we have opted for `null` as we believe this is the more // common situation. if (this === window) { return '[object Null]'; } var str = toString.call(this); return (str === '[object String]' && onlySymbols(this)) ? '[object Symbol]' : str; }; } objectDefineProperty(ObjectProto, 'toString', descriptor); setDescriptor = function (o, key, descriptor) { var protoDescriptor = gOPD(ObjectProto, key); delete ObjectProto[key]; objectDefineProperty(o, key, descriptor); if (o !== ObjectProto) { objectDefineProperty(ObjectProto, key, protoDescriptor); } }; // The abstract operation thisSymbolValue(value) performs the following steps: function thisSymbolValue(value) { // 1. If Type(value) is Symbol, return value. if (Type(value) === "symbol") { return value; } // 2. If Type(value) is Object and value has a [[SymbolData]] internal slot, then // a. Let s be value.[[SymbolData]]. // b. Assert: Type(s) is Symbol. // c. Return s. // 3. Throw a TypeError exception. throw TypeError(value + " is not a symbol"); } // Symbol.prototype.description if (function () { // supports getters try { var a = {}; Object.defineProperty(a, "t", { configurable: true, enumerable: false, get: function() { return true; }, set: undefined }); return !!a.t; } catch (e) { return false; } }()) { var getInferredName; try { // eslint-disable-next-line no-new-func getInferredName = Function("s", "var v = s.valueOf(); return { [v]() {} }[v].name;"); // eslint-disable-next-line no-empty } catch (e) { } var inferred = function () { }; var supportsInferredNames = getInferredName && inferred.name === "inferred" ? getInferredName : null; // 19.4.3.2 get Symbol.prototype.description Object.defineProperty(global.Symbol.prototype, "description", { configurable: true, enumerable: false, get: function () { // 1. Let s be the this value. var s = this; return symbolDescription(s); } }); } }(Object, 'getOwnPropertySymbols', self)); } if (!(self.Reflect&&"ownKeys"in self.Reflect )) { // Reflect.ownKeys /* global CreateMethodProperty, Reflect, Type */ // 26.1.10 Reflect.ownKeys ( target ) CreateMethodProperty(Reflect, 'ownKeys', function ownKeys(target) { // 1. If Type(target) is not Object, throw a TypeError exception. if (Type(target) !== "object") { throw new TypeError(Object.prototype.toString.call(target) + ' is not an Object'); } // polyfill-library - These steps are taken care of by Object.getOwnPropertyNames. // 2. Let keys be ? target.[[OwnPropertyKeys]](). // 3. Return CreateArrayFromList(keys). return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target)); }); } if (!("getOwnPropertyDescriptor"in Object&&"function"==typeof Object.getOwnPropertyDescriptor&&function(){try{var t={} return t.test=0,0===Object.getOwnPropertyDescriptors(t).test.value}catch(t){return!1}}() )) { // Object.getOwnPropertyDescriptors /* global CreateMethodProperty, Reflect, ToObject, CreateDataProperty */ // 19.1.2.9. Object.getOwnPropertyDescriptors ( O ) CreateMethodProperty( Object, 'getOwnPropertyDescriptors', function getOwnPropertyDescriptors(O) { // 1. Let obj be ? ToObject(O). var obj = ToObject(O); // 2. Let ownKeys be ? obj.[[OwnPropertyKeys]](). var ownKeys = Reflect.ownKeys(obj); // 3. Let descriptors be ! ObjectCreate(%ObjectPrototype%). var descriptors = {}; // 4. For each element key of ownKeys in List order, do var length = ownKeys.length; for (var i = 0; i < length; i++) { var key = ownKeys[i]; // a. Let desc be ? obj.[[GetOwnProperty]](key). // b. Let descriptor be ! FromPropertyDescriptor(desc). var descriptor = Object.getOwnPropertyDescriptor(O, key); // c. If descriptor is not undefined, perform ! CreateDataProperty(descriptors, key, descriptor). if (descriptor !== undefined) { CreateDataProperty(descriptors, key, descriptor); } } // 5. Return descriptors. return descriptors; } ); } if (!("Symbol"in self&&"asyncIterator"in self.Symbol )) { // Symbol.asyncIterator /* global Symbol */ Object.defineProperty(Symbol, 'asyncIterator', { value: Symbol('asyncIterator') }); } if (!("Symbol"in self&&"hasInstance"in self.Symbol )) { // Symbol.hasInstance /* global Symbol */ Object.defineProperty(Symbol, 'hasInstance', { value: Symbol('hasInstance') }); } if (!("Symbol"in self&&"isConcatSpreadable"in self.Symbol )) { // Symbol.isConcatSpreadable /* global Symbol */ Object.defineProperty(Symbol, 'isConcatSpreadable', { value: Symbol('isConcatSpreadable') }); } if (!("Symbol"in self&&"iterator"in self.Symbol )) { // Symbol.iterator Object.defineProperty(self.Symbol, 'iterator', { value: self.Symbol('iterator') }); } // _ESAbstract.GetIterator /* global GetMethod, Symbol, Call, Type, GetV */ // 7.4.1. GetIterator ( obj [ , method ] ) // The abstract operation GetIterator with argument obj and optional argument method performs the following steps: function GetIterator(obj /*, method */) { // eslint-disable-line no-unused-vars // 1. If method is not present, then // a. Set method to ? GetMethod(obj, @@iterator). var method = arguments.length > 1 ? arguments[1] : GetMethod(obj, Symbol.iterator); // 2. Let iterator be ? Call(method, obj). var iterator = Call(method, obj); // 3. If Type(iterator) is not Object, throw a TypeError exception. if (Type(iterator) !== 'object') { throw new TypeError('bad iterator'); } // 4. Let nextMethod be ? GetV(iterator, "next"). var nextMethod = GetV(iterator, "next"); // 5. Let iteratorRecord be Record {[[Iterator]]: iterator, [[NextMethod]]: nextMethod, [[Done]]: false}. var iteratorRecord = Object.create(null); iteratorRecord['[[Iterator]]'] = iterator; iteratorRecord['[[NextMethod]]'] = nextMethod; iteratorRecord['[[Done]]'] = false; // 6. Return iteratorRecord. return iteratorRecord; } // _ESAbstract.AddEntriesFromIterable /* global IsCallable, GetIterator, IteratorStep, IteratorValue, IteratorClose, Get, Call, Type */ // eslint-disable-next-line no-unused-vars var AddEntriesFromIterable = (function() { var toString = {}.toString; var split = "".split; // 23.1.1.2 AddEntriesFromIterable ( target, iterable, adder ) return function AddEntriesFromIterable(target, iterable, adder) { // 1. If IsCallable(adder) is false, throw a TypeError exception. if (IsCallable(adder) === false) { throw new TypeError("adder is not callable."); } // 2. Assert: iterable is present, and is neither undefined nor null. // 3. Let iteratorRecord be ? GetIterator(iterable). var iteratorRecord = GetIterator(iterable); // 4. Repeat, // eslint-disable-next-line no-constant-condition while (true) { // a. Let next be ? IteratorStep(iteratorRecord). var next = IteratorStep(iteratorRecord); // b. If next is false, return target. if (next === false) { return target; } // c. Let nextItem be ? IteratorValue(next). var nextItem = IteratorValue(next); // d. If Type(nextItem) is not Object, then if (Type(nextItem) !== "object") { // i. Let error be ThrowCompletion(a newly created TypeError object). var error = new TypeError("nextItem is not an object"); // ii. Return ? IteratorClose(iteratorRecord, error). IteratorClose(iteratorRecord, error); throw error; } // Polyfill.io fallback for non-array-like strings which exist in some ES3 user-agents nextItem = (Type(nextItem) === "string" || nextItem instanceof String) && toString.call(nextItem) == "[object String]" ? split.call(nextItem, "") : nextItem; var k; try { // e. Let k be Get(nextItem, "0"). k = Get(nextItem, "0"); // eslint-disable-next-line no-catch-shadow } catch (k) { // f. If k is an abrupt completion, return ? IteratorClose(iteratorRecord, k). return IteratorClose(iteratorRecord, k); } var v; try { // g. Let v be Get(nextItem, "1"). v = Get(nextItem, "1"); // eslint-disable-next-line no-catch-shadow } catch (v) { // h. If v is an abrupt completion, return ? IteratorClose(iteratorRecord, v). return IteratorClose(iteratorRecord, v); } try { // i. Let status be Call(adder, target, « k.[[Value]], v.[[Value]] »). Call(adder, target, [k, v]); // eslint-disable-next-line no-catch-shadow } catch (status) { // j. If status is an abrupt completion, return ? IteratorClose(iteratorRecord, status). return IteratorClose(iteratorRecord, status); } } }; })(); // _ESAbstract.IterableToList /* global GetIterator, IteratorStep, IteratorValue */ // 7.4.11 IterableToList ( items [ , method ] ) function IterableToList(items /*, method */) { // eslint-disable-line no-unused-vars // 1. If method is present, then // 1.a. Let iteratorRecord be ? GetIterator(items, sync, method). // 2. Else, // 2.a. Let iteratorRecord be ? GetIterator(items, sync). var iteratorRecord = arguments.length > 1 ? GetIterator(items, arguments[1]) : GetIterator(items); // 3. Let values be a new empty List. var values = []; // 4. Let next be true. var next = true; // 5. Repeat, while next is not false, while (next !== false) { // 5.a. Set next to ? IteratorStep(iteratorRecord). next = IteratorStep(iteratorRecord); // 5.b. If next is not false, then if (next !== false) { // 5.b.i. Let nextValue be ? IteratorValue(next). var nextValue = IteratorValue(next); // 5.b.ii. Append nextValue to the end of the List values. values.push(nextValue); } } // 6. Return values. return values; } if (!("AggregateError"in self )) { // AggregateError /* global _ErrorConstructor, CreateDataPropertyOrThrow, CreateMethodProperty, IterableToList */ (function () { var hasErrorCause = (function () { try { return new Error('m', { cause: 'c' }).cause === 'c'; } catch (e) { return false; } })(); function AggregateError (errors, message) { if (!(this instanceof AggregateError)) return new AggregateError(errors, message); var temp = typeof message === 'undefined' ? new Error() : new Error(message); CreateDataPropertyOrThrow(this, 'name', 'AggregateError'); CreateDataPropertyOrThrow(this, 'message', temp.message); CreateDataPropertyOrThrow(this, 'stack', temp.stack); var errorsList; if (Array.isArray(errors)) { errorsList = errors.slice(); } else { try { errorsList = IterableToList(errors); } catch (_error) { throw new TypeError('Argument is not iterable'); } } CreateDataPropertyOrThrow(this, 'errors', errorsList); } AggregateError.prototype = Object.create(Error.prototype); AggregateError.prototype.constructor = AggregateError; CreateMethodProperty(self, 'AggregateError', AggregateError); // If `Error.cause` is available, add it to `AggregateError` if (hasErrorCause) { CreateMethodProperty(self, 'AggregateError', _ErrorConstructor('AggregateError')); } })(); } if (!("Symbol"in self&&"match"in self.Symbol )) { // Symbol.match /* global Symbol */ Object.defineProperty(Symbol, 'match', { value: Symbol('match') }); } if (!("Symbol"in self&&"matchAll"in self.Symbol )) { // Symbol.matchAll /* global Symbol */ // 20.4.2.8 Symbol.matchAll Object.defineProperty(Symbol, 'matchAll', { value: Symbol('matchAll') }); } if (!("Symbol"in self&&"replace"in self.Symbol )) { // Symbol.replace /* global Symbol */ Object.defineProperty(Symbol, 'replace', { value: Symbol('replace') }); } if (!("replaceAll"in String.prototype )) { // String.prototype.replaceAll /* global CreateMethodProperty, RequireObjectCoercible, ToString, IsRegExp, Get, GetMethod, Call, IsCallable, StringIndexOf, GetSubstitution */ // 21.1.3.18 String.prototype.replaceAll ( searchValue, replaceValue ) CreateMethodProperty(String.prototype, 'replaceAll', function replaceAll(searchValue, replaceValue ) { 'use strict'; // 1. Let O be ? RequireObjectCoercible(this value). var O = RequireObjectCoercible(this); // 2. If searchValue is neither undefined nor null, then if (searchValue !== undefined && searchValue !== null) { // 2.a. Let isRegExp be ? IsRegExp(searchValue). var isRegExp = IsRegExp(searchValue); // 2.b. If isRegExp is true, then if (isRegExp) { // 2.b.i. Let flags be ? Get(searchValue, "flags"). var flags = Get(searchValue, "flags"); // IE doesn't have RegExp.prototype.flags support, it does have RegExp.prototype.global // 2.b.iii. If ? ToString(flags) does not contain "g", throw a TypeError exception. if (!('flags' in RegExp.prototype) && searchValue.global !== true) { throw TypeError(''); } else if ('flags' in RegExp.prototype) { // 2.b.ii. Perform ? RequireObjectCoercible(flags). RequireObjectCoercible(flags) // 2.b.iii. If ? ToString(flags) does not contain "g", throw a TypeError exception. if (ToString(flags).indexOf('g') === -1) { throw TypeError(''); } } } // 2.c. Let replacer be ? GetMethod(searchValue, @@replace). var replacer = 'Symbol' in self && 'replace' in self.Symbol ? GetMethod(searchValue, self.Symbol.replace) : undefined; // 2.d. If replacer is not undefined, then if (replacer !== undefined) { // 2.d.i. Return ? Call(replacer, searchValue, « O, replaceValue »). return Call(replacer, searchValue, [ O, replaceValue ]); } } // 3. Let string be ? ToString(O). var string = ToString(O); // 4. Let searchString be ? ToString(searchValue). var searchString = ToString(searchValue); // 5. Let functionalReplace be IsCallable(replaceValue). var functionalReplace = IsCallable(replaceValue); // 6. If functionalReplace is false, then if (functionalReplace === false) { // 6.a. Set replaceValue to ? ToString(replaceValue). replaceValue = ToString(replaceValue); } // 7. Let searchLength be the length of searchString. var searchLength = searchString.length; // 8. Let advanceBy be max(1, searchLength). var advanceBy = Math.max(1, searchLength); // 9. Let matchPositions be a new empty List. var matchPositions = []; // 10. Let position be ! StringIndexOf(string, searchString, 0). var position = StringIndexOf(string, searchString, 0); // 11. Repeat, while position is not -1, while (position !== -1) { // 11.a. Append position to the end of matchPositions. matchPositions.push(position); // 11.b. Set position to ! StringIndexOf(string, searchString, position + advanceBy). position = StringIndexOf(string, searchString, position + advanceBy); } // 12. Let endOfLastMatch be 0. var endOfLastMatch = 0; // 13. Let result be the empty String. var result = ''; // 14. For each element position of matchPositions, do for (var i = 0; i < matchPositions.length; i++) { // 14.a. Let preserved be the substring of string from endOfLastMatch to position. var preserved = string.substring(endOfLastMatch, matchPositions[i]); // 14.b. If functionalReplace is true, then if (functionalReplace) { // 14.b.i. Let replacement be ? ToString(? Call(replaceValue, undefined, « searchString, position, string »)). var replacement = ToString(Call(replaceValue, undefined, [searchString, matchPositions[i], string])); // 14.c. Else, } else { // 14.c.i. Assert: Type(replaceValue) is String. // 14.c.ii. Let captures be a new empty List. var captures = []; // 14.c.iii. Let replacement be ! GetSubstitution(searchString, string, position, captures, undefined, replaceValue). replacement = GetSubstitution(searchString, string, matchPositions[i], captures, undefined, replaceValue); } // 14.d. Set result to the string-concatenation of result, preserved, and replacement. result = result + preserved + replacement; // 14.e. Set endOfLastMatch to position + searchLength. endOfLastMatch = matchPositions[i] + searchLength; } // 15. If endOfLastMatch < the length of string, then if (endOfLastMatch < string.length) { // 15.a. Set result to the string-concatenation of result and the substring of string from endOfLastMatch. result = result + string.substring(endOfLastMatch); } // 16. Return result. return result; }); } if (!("Symbol"in self&&"search"in self.Symbol )) { // Symbol.search /* global Symbol */ Object.defineProperty(Symbol, 'search', { value: Symbol('search') }); } if (!("Symbol"in self&&"species"in self.Symbol )) { // Symbol.species /* global Symbol */ Object.defineProperty(Symbol, 'species', { value: Symbol('species') }); } if (!("Symbol"in self&&"split"in self.Symbol )) { // Symbol.split /* global Symbol */ Object.defineProperty(Symbol, 'split', { value: Symbol('split') }); } if (!("Symbol"in self&&"toPrimitive"in self.Symbol )) { // Symbol.toPrimitive /* global Symbol */ Object.defineProperty(Symbol, 'toPrimitive', { value: Symbol('toPrimitive') }); } if (!("Symbol"in self&&"toStringTag"in self.Symbol )) { // Symbol.toStringTag /* global Symbol */ Object.defineProperty(Symbol, 'toStringTag', { value: Symbol('toStringTag') }); } // _ESAbstract.CreateRegExpStringIterator /* global AdvanceStringIndex, CreateIterResultObject, CreateMethodProperty, Get, RegExpExec, Symbol, ToLength, ToString */ // 22.2.7.1 CreateRegExpStringIterator ( R, S, global, fullUnicode ) function CreateRegExpStringIterator(R, S, global, fullUnicode) { // eslint-disable-line no-unused-vars // 22.2.7.2 The %RegExpStringIteratorPrototype% Object var RegExpStringIteratorPrototype = {} // 22.2.7.2.1 %RegExpStringIteratorPrototype%.next ( ) CreateMethodProperty(RegExpStringIteratorPrototype, 'next', function next() { // 1. Let closure be a new Abstract Closure with no parameters that captures R, S, global, and fullUnicode and performs the following steps when called: // 1.a. Repeat, // 2. Return ! CreateIteratorFromClosure(closure, "%RegExpStringIteratorPrototype%", %RegExpStringIteratorPrototype%). if (this['[[Done]]'] === true) { return CreateIterResultObject(undefined, true); } // 1.a.i. Let match be ? RegExpExec(R, S). var match = RegExpExec(R, S); // 1.a.ii. If match is null, return undefined. if (match === null) { this['[[Done]]'] = true; return CreateIterResultObject(undefined, true); } // 1.a.iii. If global is false, then if (global === false) { // 1.a.iii.1. Perform ? Yield(match). // 1.a.iii.2. Return undefined. var result = CreateIterResultObject(match, false); this['[[Done]]'] = true; return result; } // 1.a.iv. Let matchStr be ? ToString(? Get(match, "0")). var matchStr = ToString(Get(match, '0')); // 1.a.v. If matchStr is the empty String, then if (matchStr === '') { // 1.a.v.1. Let thisIndex be ℝ(? ToLength(? Get(R, "lastIndex"))). var thisIndex = ToLength(Get(R, 'lastIndex')); // 1.a.v.2. Let nextIndex be ! AdvanceStringIndex(S, thisIndex, fullUnicode). var nextIndex = AdvanceStringIndex(S, thisIndex, fullUnicode); // 1.a.v.3. Perform ? Set(R, "lastIndex", 𝔽(nextIndex), true). R.lastIndex = nextIndex; } // 1.a.vi. Perform ? Yield(match). return CreateIterResultObject(match, false); }); // 22.2.7.2.2 %RegExpStringIteratorPrototype% [ @@toStringTag ] Object.defineProperty(RegExpStringIteratorPrototype, Symbol.toStringTag, { configurable: true, enumerable: false, writable: false, value: 'RegExp String Iterator' }); CreateMethodProperty(RegExpStringIteratorPrototype, Symbol.iterator, function iterator() { return this; } ); return RegExpStringIteratorPrototype; } if (!("Symbol"in self&&"matchAll"in self.Symbol&&!!RegExp.prototype[self.Symbol.matchAll] )) { // RegExp.prototype.@@matchAll /* global Construct, CreateMethodProperty, CreateRegExpStringIterator, Get, SpeciesConstructor, Symbol, ToLength, ToString, Type */ var supportsRegexpLiteralConstructorWithFlags = (function () { try { new RegExp(/x/, 'g') return true } catch (ignore) { return false } })(); // 22.2.5.8 RegExp.prototype [ @@matchAll ] ( string ) CreateMethodProperty(RegExp.prototype, Symbol.matchAll, function (string) { 'use strict'; // 1. Let R be the this value. var R = this; // 2. If Type(R) is not Object, throw a TypeError exception. if (Type(R) !== 'object') { throw new TypeError('Method called on incompatible type: must be an object.'); } // 3. Let S be ? ToString(string). var S = ToString(string); // 4. Let C be ? SpeciesConstructor(R, %RegExp%). var C = SpeciesConstructor(R, RegExp); // 5. Let flags be ? ToString(? Get(R, "flags")). var flags = ToString(Get(R, 'flags')); // IE doesn't have RegExp.prototype.flags support if (!('flags' in RegExp.prototype)) { flags = ''; if (R.global === true) { flags += 'g'; } if (R.ignoreCase === true) { flags += 'i'; } if (R.multiline === true) { flags += 'm'; } } // 6. Let matcher be ? Construct(C, « R, flags »). var matcher = Construct(C, [ supportsRegexpLiteralConstructorWithFlags ? R : R.source, flags ]); // 7. Let lastIndex be ? ToLength(? Get(R, "lastIndex")). var lastIndex = ToLength(Get(R, 'lastIndex')); // 8. Perform ? Set(matcher, "lastIndex", lastIndex, true). matcher.lastIndex = lastIndex; // 9. If flags contains "g", let global be true. // 10. Else, let global be false. var global = flags.indexOf('g') > -1; // 11. If flags contains "u", let fullUnicode be true. // 12. Else, let fullUnicode be false. var fullUnicode = flags.indexOf('u') > -1; // 13. Return ! CreateRegExpStringIterator(matcher, S, global, fullUnicode). return CreateRegExpStringIterator(matcher, S, global, fullUnicode); }); } if (!("matchAll"in String.prototype )) { // String.prototype.matchAll /* global Call, CreateMethodProperty, Get, GetMethod, Invoke, IsRegExp, RequireObjectCoercible, ToString */ // 22.1.3.13 String.prototype.matchAll ( regexp ) CreateMethodProperty(String.prototype, 'matchAll', function matchAll(regexp) { 'use strict'; // 1. Let O be ? RequireObjectCoercible(this value). var O = RequireObjectCoercible(this); // 2. If regexp is neither undefined nor null, then if (regexp !== undefined && regexp !== null) { // 2.a. Let isRegExp be ? IsRegExp(regexp). var isRegExp = IsRegExp(regexp); // 2.b. If isRegExp is true, then if (isRegExp) { // 2.b.i. Let flags be ? Get(regexp, "flags"). var flags = Get(regexp, "flags"); // IE doesn't have RegExp.prototype.flags support, it does have RegExp.prototype.global // 2.b.iii. If ? ToString(flags) does not contain "g", throw a TypeError exception. if (!('flags' in RegExp.prototype) && regexp.global !== true) { throw TypeError(''); } else if ('flags' in RegExp.prototype) { // 2.b.ii. Perform ? RequireObjectCoercible(flags). RequireObjectCoercible(flags) // 2.b.iii. If ? ToString(flags) does not contain "g", throw a TypeError exception. if (ToString(flags).indexOf('g') === -1) { throw TypeError(''); } } } // 2.c. Let matcher be ? GetMethod(regexp, @@matchAll). var matcher = 'Symbol' in self && 'matchAll' in self.Symbol ? GetMethod(regexp, self.Symbol.matchAll) : undefined; // 2.d. If matcher is not undefined, then if (matcher !== undefined) { // 2.d.i. Return ? Call(matcher, regexp, « O »). return Call(matcher, regexp, [ O ]); } } // 3. Let S be ? ToString(O). var S = ToString(O); // 4. Let rx be ? RegExpCreate(regexp, "g"). var rx = new RegExp(regexp, 'g'); // 5. Return ? Invoke(rx, @@matchAll, « S »). return Invoke(rx, 'Symbol' in self && 'matchAll' in self.Symbol && self.Symbol.matchAll, [ S ]); }); } // _Iterator /* global Symbol */ // A modification of https://github.com/medikoo/es6-iterator // Copyright (C) 2013-2015 Mariusz Nowak (www.medikoo.com) var Iterator = (function () { // eslint-disable-line no-unused-vars var clear = function () { this.length = 0; return this; }; var callable = function (fn) { if (typeof fn !== 'function') throw new TypeError(fn + " is not a function"); return fn; }; var Iterator = function (list, context) { if (!(this instanceof Iterator)) { return new Iterator(list, context); } Object.defineProperties(this, { __list__: { writable: true, value: list }, __context__: { writable: true, value: context }, __nextIndex__: { writable: true, value: 0 } }); if (!context) return; callable(context.on); context.on('_add', this._onAdd.bind(this)); context.on('_delete', this._onDelete.bind(this)); context.on('_clear', this._onClear.bind(this)); }; Object.defineProperties(Iterator.prototype, Object.assign({ constructor: { value: Iterator, configurable: true, enumerable: false, writable: true }, _next: { value: function () { var i; if (!this.__list__) return; if (this.__redo__) { i = this.__redo__.shift(); if (i !== undefined) return i; } if (this.__nextIndex__ < this.__list__.length) return this.__nextIndex__++; this._unBind(); }, configurable: true, enumerable: false, writable: true }, next: { value: function () { return this._createResult(this._next()); }, configurable: true, enumerable: false, writable: true }, _createResult: { value: function (i) { if (i === undefined) return { done: true, value: undefined }; return { done: false, value: this._resolve(i) }; }, configurable: true, enumerable: false, writable: true }, _resolve: { value: function (i) { return this.__list__[i]; }, configurable: true, enumerable: false, writable: true }, _unBind: { value: function () { this.__list__ = null; delete this.__redo__; if (!this.__context__) return; this.__context__.off('_add', this._onAdd.bind(this)); this.__context__.off('_delete', this._onDelete.bind(this)); this.__context__.off('_clear', this._onClear.bind(this)); this.__context__ = null; }, configurable: true, enumerable: false, writable: true }, toString: { value: function () { return '[object Iterator]'; }, configurable: true, enumerable: false, writable: true } }, { _onAdd: { value: function (index) { if (index >= this.__nextIndex__) return; ++this.__nextIndex__; if (!this.__redo__) { Object.defineProperty(this, '__redo__', { value: [index], configurable: true, enumerable: false, writable: false }); return; } this.__redo__.forEach(function (redo, i) { if (redo >= index) this.__redo__[i] = ++redo; }, this); this.__redo__.push(index); }, configurable: true, enumerable: false, writable: true }, _onDelete: { value: function (index) { var i; if (index >= this.__nextIndex__) return; --this.__nextIndex__; if (!this.__redo__) return; i = this.__redo__.indexOf(index); if (i !== -1) this.__redo__.splice(i, 1); this.__redo__.forEach(function (redo, i) { if (redo > index) this.__redo__[i] = --redo; }, this); }, configurable: true, enumerable: false, writable: true }, _onClear: { value: function () { if (this.__redo__) clear.call(this.__redo__); this.__nextIndex__ = 0; }, configurable: true, enumerable: false, writable: true } })); Object.defineProperty(Iterator.prototype, Symbol.iterator, { value: function () { return this; }, configurable: true, enumerable: false, writable: true }); Object.defineProperty(Iterator.prototype, Symbol.toStringTag, { value: 'Iterator', configurable: false, enumerable: false, writable: true }); return Iterator; }()); // _ArrayIterator /* global Iterator, Symbol */ // A modification of https://github.com/medikoo/es6-iterator // Copyright (C) 2013-2015 Mariusz Nowak (www.medikoo.com) var ArrayIterator = (function() { // eslint-disable-line no-unused-vars var ArrayIterator = function(arr, kind) { if (!(this instanceof ArrayIterator)) return new ArrayIterator(arr, kind); Iterator.call(this, arr); if (!kind) kind = 'value'; else if (String.prototype.includes.call(kind, 'key+value')) kind = 'key+value'; else if (String.prototype.includes.call(kind, 'key')) kind = 'key'; else kind = 'value'; Object.defineProperty(this, '__kind__', { value: kind, configurable: false, enumerable: false, writable: false }); }; if (Object.setPrototypeOf) Object.setPrototypeOf(ArrayIterator, Iterator.prototype); ArrayIterator.prototype = Object.create(Iterator.prototype, { constructor: { value: ArrayIterator, configurable: true, enumerable: false, writable: true }, _resolve: { value: function(i) { if (this.__kind__ === 'value') return this.__list__[i]; if (this.__kind__ === 'key+value') return [i, this.__list__[i]]; return i; }, configurable: true, enumerable: false, writable: true }, toString: { value: function() { return '[object Array Iterator]'; }, configurable: true, enumerable: false, writable: true } }); Object.defineProperty(ArrayIterator.prototype, Symbol.toStringTag, { value: 'Array Iterator', writable: false, enumerable: false, configurable: true }); return ArrayIterator; }()); if (!("Symbol"in self&&"iterator"in self.Symbol&&!!Array.prototype.entries )) { // Array.prototype.entries /* global CreateMethodProperty, ToObject, ArrayIterator */ // 22.1.3.4. Array.prototype.entries ( ) CreateMethodProperty(Array.prototype, 'entries', function entries() { // 1. Let O be ? ToObject(this value). var O = ToObject(this); // 2. Return CreateArrayIterator(O, "key+value"). // TODO: Add CreateArrayIterator return new ArrayIterator(O, 'key+value'); }); } if (!("Symbol"in self&&"iterator"in self.Symbol&&!!Array.prototype.keys )) { // Array.prototype.keys /* global CreateMethodProperty, ToObject, ArrayIterator */ // 22.1.3.14. Array.prototype.keys ( ) CreateMethodProperty(Array.prototype, 'keys', function keys() { // 1. Let O be ? ToObject(this value). var O = ToObject(this); // 2. Return CreateArrayIterator(O, "key"). // TODO: Add CreateArrayIterator. return new ArrayIterator(O, 'key'); }); } if (!("values"in Array.prototype )) { // Array.prototype.values /* global CreateMethodProperty, Symbol, ToObject, ArrayIterator */ // 22.1.3.30/ Array.prototype.values ( ) // Polyfill.io - Firefox, Chrome and Opera have Array.prototype[Symbol.iterator], which is the exact same function as Array.prototype.values. if ('Symbol' in self && 'iterator' in Symbol && typeof Array.prototype[Symbol.iterator] === 'function') { CreateMethodProperty(Array.prototype, 'values', Array.prototype[Symbol.iterator]); } else { CreateMethodProperty(Array.prototype, 'values', function values () { // 1. Let O be ? ToObject(this value). var O = ToObject(this); // 2. Return CreateArrayIterator(O, "value"). // TODO: Add CreateArrayIterator return new ArrayIterator(O, 'value'); }); } } // _StringIterator // A modification of https://github.com/medikoo/es6-iterator // Copyright (C) 2013-2015 Mariusz Nowak (www.medikoo.com) /* global Iterator, Symbol */ var StringIterator = (function() { // eslint-disable-line no-unused-vars var StringIterator = function (str) { if (!(this instanceof StringIterator)) return new StringIterator(str); str = String(str); Iterator.call(this, str); Object.defineProperty(this, '__length__', { value: str.length, configurable: false, enumerable: false, writable: false }); }; if (Object.setPrototypeOf) Object.setPrototypeOf(StringIterator, Iterator); StringIterator.prototype = Object.create(Iterator.prototype, { constructor: { value: StringIterator, configurable: true, enumerable: false, writable: true }, _next: { value: function() { if (!this.__list__) return; if (this.__nextIndex__ < this.__length__) return this.__nextIndex__++; this._unBind(); }, configurable: true, enumerable: false, writable: true }, _resolve: { value: function (i) { var char = this.__list__[i], code; if (this.__nextIndex__ === this.__length__) return char; code = char.charCodeAt(0); if ((code >= 0xD800) && (code <= 0xDBFF)) return char + this.__list__[this.__nextIndex__++]; return char; }, configurable: true, enumerable: false, writable: true }, toString: { value: function() { return '[object String Iterator]'; }, configurable: true, enumerable: false, writable: true } }); Object.defineProperty(StringIterator.prototype, Symbol.toStringTag, { value: 'String Iterator', writable: false, enumerable: false, configurable: true }); return StringIterator; }()); if (!("Symbol"in self&&"iterator"in self.Symbol&&!!Array.prototype[self.Symbol.iterator] )) { // Array.prototype.@@iterator /* global Symbol, CreateMethodProperty */ // 22.1.3.31. Array.prototype [ @@iterator ] ( ) // The initial value of the @@iterator property is the same function object as the initial value of the Array.prototype.values property. CreateMethodProperty(Array.prototype, Symbol.iterator, Array.prototype.values); } if (!("fromEntries"in Object )) { // Object.fromEntries /* global CreateMethodProperty, RequireObjectCoercible, ToPropertyKey, CreateDataPropertyOrThrow, AddEntriesFromIterable */ // 19.1.2.5 Object.fromEntries ( iterable ) CreateMethodProperty(Object, 'fromEntries', function fromEntries(iterable) { // 1. Perform ? RequireObjectCoercible(iterable). RequireObjectCoercible(iterable); // 2. Let obj be ObjectCreate(%ObjectPrototype%). var obj = {}; // 3. Assert: obj is an extensible ordinary object with no own properties. // 4. Let stepsDefine be the algorithm steps defined in CreateDataPropertyOnObject Functions. // 5. Let adder be CreateBuiltinFunction(stepsDefine, « »). var adder = function (key, value) { // Let O be the this value. var O = this; // Assert: Type(O) is Object. // Assert: O is an extensible ordinary object. // Let propertyKey be ? ToPropertyKey(key). var propertyKey = ToPropertyKey(key); // Perform ! CreateDataPropertyOrThrow(O, propertyKey, value). CreateDataPropertyOrThrow(O, propertyKey, value); }; // 6. Return ? AddEntriesFromIterable(obj, iterable, adder). return AddEntriesFromIterable(obj, iterable, adder); }); } if (!("Symbol"in self&&"toStringTag"in self.Symbol&&"ArrayBuffer"in self&&self.Symbol.toStringTag in self.ArrayBuffer.prototype&&void 0!==self.ArrayBuffer.prototype[self.Symbol.toStringTag] )) { // ArrayBuffer.prototype.@@toStringTag /* global ArrayBuffer, DataView, Symbol */ // 25.1.5.4 ArrayBuffer.prototype [ @@toStringTag ] (function () { Object.defineProperty(ArrayBuffer.prototype, Symbol.toStringTag, { value: 'ArrayBuffer', writable: false, enumerable: false, configurable: true }); Object.defineProperty(DataView.prototype, Symbol.toStringTag, { value: 'DataView', writable: false, enumerable: false, configurable: true }); })(); } if (!("Map"in self&&function(t){try{var n=new t.Map([[1,1],[2,2]]) return 0===t.Map.length&&2===n.size&&"Symbol"in t&&"iterator"in t.Symbol&&"function"==typeof n[t.Symbol.iterator]&&"toStringTag"in t.Symbol&&void 0!==n[t.Symbol.toStringTag]}catch(t){return!1}}(self) )) { // Map /* global CreateIterResultObject, CreateMethodProperty, GetIterator, IsCallable, IteratorClose, IteratorStep, IteratorValue, OrdinaryCreateFromConstructor, SameValueZero, Type, Symbol */ (function (global) { // Need an internal counter to assign unique IDs to a key map var _uniqueHashId = 0; // Create a unique key name for storing meta data on functions and objects to enable lookups in hash table var _metaKey = Symbol('meta_' + ((Math.random() * 100000000) + '').replace('.', '')); /** * hashKey() * Function that given a key of `any` type, returns a string key value to enable hash map optimization for accessing Map data structure * @param {string|integer|function|object} recordKey - Record key to normalize to string accessor for hash map * @returns {string|false} - Returns a hashed string value or false if non extensible object key */ var hashKey = function(recordKey) { // Check to see if we are dealing with object or function type. if (typeof recordKey === 'object' ? recordKey !== null : typeof recordKey === 'function') { // Check to see if we are dealing with a non extensible object if (!Object.isExtensible(recordKey)) { // Return `false` return false; } if (!Object.prototype.hasOwnProperty.call(recordKey, _metaKey)) { var uniqueHashKey = typeof(recordKey)+'-'+(++_uniqueHashId); Object.defineProperty(recordKey, _metaKey, { configurable: false, enumerable: false, writable: false, value: uniqueHashKey }); } // Return previously defined hashed key return recordKey[_metaKey]; } // If this is just a primitive: // - prepend the type // - add a unique marker // - cast to a string return (typeof recordKey) + '_f1cc2551-7df7-4319-ba53-5b263a78a257_' + recordKey; }; /** * getRecordIndex() * Function that given a Map and a key of `any` type, returns an index number that coorelates with a record found in `this._keys[index]` and `this._values[index]` * @param {Map} map - Map structure * @param {string|number|function|object} recordKey - Record key to normalize to string accessor for hash map * @returns {number|false} - Returns either a index to access map._keys and map._values, or false if not found */ var getRecordIndex = function(map, recordKey) { var hashedKey = hashKey(recordKey); // Casts key to unique string (unless already string or number) if (hashedKey === false) { // We have to iterate through our Map structure because `recordKey` is non-primitive and not extensible return getRecordIndexSlow(map, recordKey); } var recordIndex = map._table[hashedKey]; // O(1) access to record return recordIndex !== undefined ? recordIndex : false; }; /** * getRecordIndexSlow() * Alternative (and slower) function to `getRecordIndex()`. Necessary for looking up non-extensible object keys. * @param {Map} map - Map structure * @param {string|number|function|object} recordKey - Record key to normalize to string accessor for hash map * @returns {number|false} - Returns either a index to access map._keys and map._values, or false if not found */ var getRecordIndexSlow = function(map, recordKey) { // We have to iterate through our Map structure because `recordKey` is non-primitive and not extensible for (var i = 0; i < map._keys.length; i++) { var _recordKey = map._keys[i]; if (_recordKey !== undefMarker && SameValueZero(_recordKey, recordKey)) { return i; } } return false; }; /** * setHashIndex() * Function that given a map, key of `any` type, and a value, creates a new entry in Map hash table * @param {Map} map * @param {string|number|function|object} recordKey - Key to translate into normalized key for hash map * @param {number|bool} recordIndex - new record index for the hashedKey or `false` to delete the record index for the hashedKey * @returns {bool} - indicates success of operation */ var setHashIndex = function(map, recordKey, recordIndex) { var hashedKey = hashKey(recordKey); if (hashedKey === false) { // If hashed key is false, the recordKey is an object which is not extensible. // That indicates we cannot use the hash map for it, so this operation becomes no-op. return false; } if (recordIndex === false) { delete map._table[hashedKey]; } else { map._table[hashedKey] = recordIndex; } return true; }; // Deleted map items mess with iterator pointers, so rather than removing them mark them as deleted. Can't use undefined or null since those both valid keys so use a private symbol. var undefMarker = Symbol('undef'); // 23.1.1.1 Map ( [ iterable ] ) var Map = function Map(/* iterable */) { // 1. If NewTarget is undefined, throw a TypeError exception. if (!(this instanceof Map)) { throw new TypeError('Constructor Map requires "new"'); } // 2. Let map be ? OrdinaryCreateFromConstructor(NewTarget, "%MapPrototype%", « [[MapData]] »). var map = OrdinaryCreateFromConstructor(this, Map.prototype, { _table: {}, // O(1) access table for retrieving records _keys: [], _values: [], _size: 0, _es6Map: true }); // 3. Set map.[[MapData]] to a new empty List. // Polyfill.io - This step was done as part of step two. // 4. If iterable is not present, let iterable be undefined. var iterable = arguments.length > 0 ? arguments[0] : undefined; // 5. If iterable is either undefined or null, return map. if (iterable === null || iterable === undefined) { return map; } // 6. Let adder be ? Get(map, "set"). var adder = map.set; // 7. If IsCallable(adder) is false, throw a TypeError exception. if (!IsCallable(adder)) { throw new TypeError("Map.prototype.set is not a function"); } // 8. Let iteratorRecord be ? GetIterator(iterable). try { var iteratorRecord = GetIterator(iterable); // 9. Repeat, // eslint-disable-next-line no-constant-condition while (true) { // a. Let next be ? IteratorStep(iteratorRecord). var next = IteratorStep(iteratorRecord); // b. If next is false, return map. if (next === false) { return map; } // c. Let nextItem be ? IteratorValue(next). var nextItem = IteratorValue(next); // d. If Type(nextItem) is not Object, then if (Type(nextItem) !== 'object') { // i. Let error be Completion{[[Type]]: throw, [[Value]]: a newly created TypeError object, [[Target]]: empty}. try { throw new TypeError('Iterator value ' + nextItem + ' is not an entry object'); } catch (error) { // ii. Return ? IteratorClose(iteratorRecord, error). return IteratorClose(iteratorRecord, error); } } try { // Polyfill.io - The try catch accounts for steps: f, h, and j. // e. Let k be Get(nextItem, "0"). var k = nextItem[0]; // f. If k is an abrupt completion, return ? IteratorClose(iteratorRecord, k). // g. Let v be Get(nextItem, "1"). var v = nextItem[1]; // h. If v is an abrupt completion, return ? IteratorClose(iteratorRecord, v). // i. Let status be Call(adder, map, « k.[[Value]], v.[[Value]] »). adder.call(map, k, v); } catch (e) { // j. If status is an abrupt completion, return ? IteratorClose(iteratorRecord, status). return IteratorClose(iteratorRecord, e); } } } catch (e) { // Polyfill.io - For user agents which do not have iteration methods on argument objects or arrays, we can special case those. if (Array.isArray(iterable) || Object.prototype.toString.call(iterable) === '[object Arguments]') { var index; var length = iterable.length; for (index = 0; index < length; index++) { adder.call(map, iterable[index][0], iterable[index][1]); } } } return map; }; // 23.1.2.1. Map.prototype // The initial value of Map.prototype is the intrinsic object %MapPrototype%. // This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }. Object.defineProperty(Map, 'prototype', { configurable: false, enumerable: false, writable: false, value: {} }); // 23.1.2.2 get Map [ @@species ] Object.defineProperty(Map, Symbol.species, { configurable: true, enumerable: false, get: function () { // 1. Return the this value. return this; }, set: undefined }); // 23.1.3.1 Map.prototype.clear ( ) CreateMethodProperty(Map.prototype, 'clear', function clear() { // 1. Let M be the this value. var M = this; // 2. If Type(M) is not Object, throw a TypeError exception. if (Type(M) !== 'object') { throw new TypeError('Method Map.prototype.clear called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 3. If M does not have a [[MapData]] internal slot, throw a TypeError exception. if (M._es6Map !== true) { throw new TypeError('Method Map.prototype.clear called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 4. Let entries be the List that is M.[[MapData]]. var entries = M._keys; // 5. For each Record {[[Key]], [[Value]]} p that is an element of entries, do for (var i = 0; i < entries.length; i++) { // 5.a. Set p.[[Key]] to empty. M._keys[i] = undefMarker; // 5.b. Set p.[[Value]] to empty. M._values[i] = undefMarker; } this._size = 0; // 5a. Clear lookup table this._table = {}; // 6. Return undefined. return undefined; } ); // 23.1.3.2. Map.prototype.constructor CreateMethodProperty(Map.prototype, 'constructor', Map); // 23.1.3.3. Map.prototype.delete ( key ) CreateMethodProperty(Map.prototype, 'delete', function (key) { // 1. Let M be the this value. var M = this; // 2. If Type(M) is not Object, throw a TypeError exception. if (Type(M) !== 'object') { throw new TypeError('Method Map.prototype.clear called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 3. If M does not have a [[MapData]] internal slot, throw a TypeError exception. if (M._es6Map !== true) { throw new TypeError('Method Map.prototype.clear called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 4. Let entries be the List that is M.[[MapData]]. // 5. For each Record {[[Key]], [[Value]]} p that is an element of entries, do // 5a. If p.[[Key]] is not empty and SameValueZero(p.[[Key]], key) is true, then // i. Set p.[[Key]] to empty. // ii. Set p.[[Value]] to empty. // ii-a. Remove key from lookup table // iii. Return true. // 6. Return false. // Implement steps 4-6 with a more optimal algo // Steps 4-5: Access record var recordIndex = getRecordIndex(M, key); // O(1) access to record index if (recordIndex !== false) { // Get record's `key` (could be `any` type); var recordKey = M._keys[recordIndex]; // 5a. If p.[[Key]] is not empty and SameValueZero(p.[[Key]], key) is true, then if (recordKey !== undefMarker && SameValueZero(recordKey, key)) { // i. Set p.[[Key]] to empty. this._keys[recordIndex] = undefMarker; // ii. Set p.[[Value]] to empty. this._values[recordIndex] = undefMarker; this._size = --this._size; // iia. Remove key from lookup table setHashIndex(this, key, false); // iii. Return true. return true; } } // 6. Return false. return false; } ); // 23.1.3.4. Map.prototype.entries ( ) CreateMethodProperty(Map.prototype, 'entries', function entries () { // 1. Let M be the this value. var M = this; // 2. Return ? CreateMapIterator(M, "key+value"). return CreateMapIterator(M, 'key+value'); } ); // 23.1.3.5. Map.prototype.forEach ( callbackfn [ , thisArg ] ) CreateMethodProperty(Map.prototype, 'forEach', function (callbackFn) { // 1. Let M be the this value. var M = this; // 2. If Type(M) is not Object, throw a TypeError exception. if (Type(M) !== 'object') { throw new TypeError('Method Map.prototype.forEach called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 3. If M does not have a [[MapData]] internal slot, throw a TypeError exception. if (M._es6Map !== true) { throw new TypeError('Method Map.prototype.forEach called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 4. If IsCallable(callbackfn) is false, throw a TypeError exception. if (!IsCallable(callbackFn)) { throw new TypeError(Object.prototype.toString.call(callbackFn) + ' is not a function.'); } // 5. If thisArg is present, let T be thisArg; else let T be undefined. if (arguments[1]) { var T = arguments[1]; } // 6. Let entries be the List that is M.[[MapData]]. var entries = M._keys; // 7. For each Record {[[Key]], [[Value]]} e that is an element of entries, in original key insertion order, do for (var i = 0; i < entries.length; i++) { // a. If e.[[Key]] is not empty, then if (M._keys[i] !== undefMarker && M._values[i] !== undefMarker ) { // i. Perform ? Call(callbackfn, T, « e.[[Value]], e.[[Key]], M »). callbackFn.call(T, M._values[i], M._keys[i], M); } } // 8. Return undefined. return undefined; } ); // 23.1.3.6. Map.prototype.get ( key ) CreateMethodProperty(Map.prototype, 'get', function get(key) { // 1. Let M be the this value. var M = this; // 2. If Type(M) is not Object, throw a TypeError exception. if (Type(M) !== 'object') { throw new TypeError('Method Map.prototype.get called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 3. If M does not have a [[MapData]] internal slot, throw a TypeError exception. if (M._es6Map !== true) { throw new TypeError('Method Map.prototype.get called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 4. Let entries be the List that is M.[[MapData]]. // 5. For each Record {[[Key]], [[Value]]} p that is an element of entries, do // a. If p.[[Key]] is not empty and SameValueZero(p.[[Key]], key) is true, return p.[[Value]]. // 6. Return undefined. // Implement steps 4-6 with a more optimal algo var recordIndex = getRecordIndex(M, key); // O(1) access to record index if (recordIndex !== false) { var recordKey = M._keys[recordIndex]; if (recordKey !== undefMarker && SameValueZero(recordKey, key)) { return M._values[recordIndex]; } } return undefined; }); // 23.1.3.7. Map.prototype.has ( key ) CreateMethodProperty(Map.prototype, 'has', function has (key) { // 1. Let M be the this value. var M = this; // 2. If Type(M) is not Object, throw a TypeError exception. if (typeof M !== 'object') { throw new TypeError('Method Map.prototype.has called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 3. If M does not have a [[MapData]] internal slot, throw a TypeError exception. if (M._es6Map !== true) { throw new TypeError('Method Map.prototype.has called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 4. Let entries be the List that is M.[[MapData]]. // 5. For each Record {[[Key]], [[Value]]} p that is an element of entries, do // a. If p.[[Key]] is not empty and SameValueZero(p.[[Key]], key) is true, return true. // 6. Return false. // Implement steps 4-6 with a more optimal algo var recordIndex = getRecordIndex(M, key); // O(1) access to record index if (recordIndex !== false) { var recordKey = M._keys[recordIndex]; if (recordKey !== undefMarker && SameValueZero(recordKey, key)) { return true; } } return false; }); // 23.1.3.8. Map.prototype.keys ( ) CreateMethodProperty(Map.prototype, 'keys', function keys () { // 1. Let M be the this value. var M = this; // 2. Return ? CreateMapIterator(M, "key"). return CreateMapIterator(M, "key"); }); // 23.1.3.9. Map.prototype.set ( key, value ) CreateMethodProperty(Map.prototype, 'set', function set(key, value) { // 1. Let M be the this value. var M = this; // 2. If Type(M) is not Object, throw a TypeError exception. if (Type(M) !== 'object') { throw new TypeError('Method Map.prototype.set called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 3. If M does not have a [[MapData]] internal slot, throw a TypeError exception. if (M._es6Map !== true) { throw new TypeError('Method Map.prototype.set called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 4. Let entries be the List that is M.[[MapData]]. // 5. For each Record {[[Key]], [[Value]]} p that is an element of entries, do // 6. If key is -0, let key be +0. // 7. Let p be the Record {[[Key]]: key, [[Value]]: value}. // 8. Append p as the last element of entries. // 9. Return M. // Strictly following the above steps 4-9 will lead to an inefficient algorithm. // Step 8 also doesn't seem to be required if an entry already exists var recordIndex = getRecordIndex(M, key); // O(1) access to record index if (recordIndex !== false) { // update path M._values[recordIndex] = value; } else { // eslint-disable-next-line no-compare-neg-zero if (key === -0) { key = 0; } var p = { '[[Key]]': key, '[[Value]]': value }; M._keys.push(p['[[Key]]']); M._values.push(p['[[Value]]']); setHashIndex(M, key, M._keys.length - 1); // update lookup table ++M._size; } return M; }); // 23.1.3.10. get Map.prototype.size Object.defineProperty(Map.prototype, 'size', { configurable: true, enumerable: false, get: function () { // 1. Let M be the this value. var M = this; // 2. If Type(M) is not Object, throw a TypeError exception. if (Type(M) !== 'object') { throw new TypeError('Method Map.prototype.size called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 3. If M does not have a [[MapData]] internal slot, throw a TypeError exception. if (M._es6Map !== true) { throw new TypeError('Method Map.prototype.size called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 4. Let entries be the List that is M.[[MapData]]. // 5. Let count be 0. // 6. For each Record {[[Key]], [[Value]]} p that is an element of entries, do // 6a. If p.[[Key]] is not empty, set count to count+1. // 7. Return count. // Implement 4-7 more efficently by returning pre-computed property return this._size; }, set: undefined }); // 23.1.3.11. Map.prototype.values ( ) CreateMethodProperty(Map.prototype, 'values', function values () { // 1. Let M be the this value. var M = this; // 2. Return ? CreateMapIterator(M, "value"). return CreateMapIterator(M, 'value'); } ); // 23.1.3.12. Map.prototype [ @@iterator ] ( ) // The initial value of the @@iterator property is the same function object as the initial value of the entries property. CreateMethodProperty(Map.prototype, Symbol.iterator, Map.prototype.entries); // 23.1.3.13. Map.prototype [ @@toStringTag ] // The initial value of the @@toStringTag property is the String value "Map". // This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. Object.defineProperty(Map.prototype, Symbol.toStringTag, { value: 'Map', writable: false, enumerable: false, configurable: true }); // Polyfill.io - Safari 8 implements Map.name but as a non-configurable property, which means it would throw an error if we try and configure it here. if (!('name' in Map)) { // 19.2.4.2 name Object.defineProperty(Map, 'name', { configurable: true, enumerable: false, writable: false, value: 'Map' }); } // 23.1.5.1. CreateMapIterator ( map, kind ) function CreateMapIterator(map, kind) { // 1. If Type(map) is not Object, throw a TypeError exception. if (Type(map) !== 'object') { throw new TypeError('createMapIterator called on incompatible receiver ' + Object.prototype.toString.call(map)); } // 2. If map does not have a [[MapData]] internal slot, throw a TypeError exception. if (map._es6Map !== true) { throw new TypeError('createMapIterator called on incompatible receiver ' + Object.prototype.toString.call(map)); } // 3. Let iterator be ObjectCreate(%MapIteratorPrototype%, « [[Map]], [[MapNextIndex]], [[MapIterationKind]] »). var iterator = Object.create(MapIteratorPrototype); // 4. Set iterator.[[Map]] to map. Object.defineProperty(iterator, '[[Map]]', { configurable: true, enumerable: false, writable: true, value: map }); // 5. Set iterator.[[MapNextIndex]] to 0. Object.defineProperty(iterator, '[[MapNextIndex]]', { configurable: true, enumerable: false, writable: true, value: 0 }); // 6. Set iterator.[[MapIterationKind]] to kind. Object.defineProperty(iterator, '[[MapIterationKind]]', { configurable: true, enumerable: false, writable: true, value: kind }); // 7. Return iterator. return iterator; } // 23.1.5.2. The %MapIteratorPrototype% Object var MapIteratorPrototype = {}; // Polyfill.io - We use this as a quick way to check if an object is a Map Iterator instance. Object.defineProperty(MapIteratorPrototype, 'isMapIterator', { configurable: false, enumerable: false, writable: false, value: true }); // 23.1.5.2.1. %MapIteratorPrototype%.next ( ) CreateMethodProperty(MapIteratorPrototype, 'next', function next() { // 1. Let O be the this value. var O = this; // 2. If Type(O) is not Object, throw a TypeError exception. if (Type(O) !== 'object') { throw new TypeError('Method %MapIteratorPrototype%.next called on incompatible receiver ' + Object.prototype.toString.call(O)); } // 3. If O does not have all of the internal slots of a Map Iterator Instance (23.1.5.3), throw a TypeError exception. if (!O.isMapIterator) { throw new TypeError('Method %MapIteratorPrototype%.next called on incompatible receiver ' + Object.prototype.toString.call(O)); } // 4. Let m be O.[[Map]]. var m = O['[[Map]]']; // 5. Let index be O.[[MapNextIndex]]. var index = O['[[MapNextIndex]]']; // 6. Let itemKind be O.[[MapIterationKind]]. var itemKind = O['[[MapIterationKind]]']; // 7. If m is undefined, return CreateIterResultObject(undefined, true). if (m === undefined) { return CreateIterResultObject(undefined, true); } // 8. Assert: m has a [[MapData]] internal slot. if (!m._es6Map) { throw new Error(Object.prototype.toString.call(m) + ' has a [[MapData]] internal slot.'); } // 9. Let entries be the List that is m.[[MapData]]. var entries = m._keys; // 10. Let numEntries be the number of elements of entries. var numEntries = entries.length; // 11. NOTE: numEntries must be redetermined each time this method is evaluated. // 12. Repeat, while index is less than numEntries, while (index < numEntries) { // a. Let e be the Record {[[Key]], [[Value]]} that is the value of entries[index]. var e = Object.create(null); e['[[Key]]'] = m._keys[index]; e['[[Value]]'] = m._values[index]; // b. Set index to index+1. index = index + 1; // c. Set O.[[MapNextIndex]] to index. O['[[MapNextIndex]]'] = index; // d. If e.[[Key]] is not empty, then if (e['[[Key]]'] !== undefMarker) { // i. If itemKind is "key", let result be e.[[Key]]. if (itemKind === 'key') { var result = e['[[Key]]']; // ii. Else if itemKind is "value", let result be e.[[Value]]. } else if (itemKind === 'value') { result = e['[[Value]]']; // iii. Else, } else { // 1. Assert: itemKind is "key+value". if (itemKind !== 'key+value') { throw new Error(); } // 2. Let result be CreateArrayFromList(« e.[[Key]], e.[[Value]] »). result = [ e['[[Key]]'], e['[[Value]]'] ]; } // iv. Return CreateIterResultObject(result, false). return CreateIterResultObject(result, false); } } // 13. Set O.[[Map]] to undefined. O['[[Map]]'] = undefined; // 14. Return CreateIterResultObject(undefined, true). return CreateIterResultObject(undefined, true); } ); // 23.1.5.2.2 %MapIteratorPrototype% [ @@toStringTag ] // The initial value of the @@toStringTag property is the String value "Map Iterator". // This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. Object.defineProperty(MapIteratorPrototype, Symbol.toStringTag, { value: 'Map Iterator', writable: false, enumerable: false, configurable: true }); CreateMethodProperty(MapIteratorPrototype, Symbol.iterator, function iterator() { return this; } ); // Export the object CreateMethodProperty(global, 'Map', Map); }(self)); } if (!("Symbol"in self&&"toStringTag"in self.Symbol&&"toString"in Object.prototype&&!0===function(){var t={} return t[self.Symbol.toStringTag]="x","[object x]"===Object.prototype.toString.call(t)}() )) { // Object.prototype.toString /* global CreateMethodProperty, Get, Symbol, ToObject, Type */ // 20.1.3.6 Object.prototype.toString ( ) (function () { var ObjectProtoToStringOriginal = Object.prototype.toString; CreateMethodProperty(Object.prototype, 'toString', function toString () { 'use strict'; // 1. If the this value is undefined, return "[object Undefined]". if (this === undefined) return '[object Undefined]'; // 2. If the this value is null, return "[object Null]". if (this === null) return '[object Null]'; // 3. Let O be ! ToObject(this value). var O = ToObject(this); // Polyfill.io - We will not implement these; we will use the original `Object.prototype.toString` to determine the object class // 4. Let isArray be ? IsArray(O). // 5. If isArray is true, let builtinTag be "Array". // 6. Else if O has a [[ParameterMap]] internal slot, let builtinTag be "Arguments". // 7. Else if O has a [[Call]] internal method, let builtinTag be "Function". // 8. Else if O has an [[ErrorData]] internal slot, let builtinTag be "Error". // 9. Else if O has a [[BooleanData]] internal slot, let builtinTag be "Boolean". // 10. Else if O has a [[NumberData]] internal slot, let builtinTag be "Number". // 11. Else if O has a [[StringData]] internal slot, let builtinTag be "String". // 12. Else if O has a [[DateValue]] internal slot, let builtinTag be "Date". // 13. Else if O has a [[RegExpMatcher]] internal slot, let builtinTag be "RegExp". // 14. Else, let builtinTag be "Object". // 15. Let tag be ? Get(O, @@toStringTag). var tag = Get(O, Symbol.toStringTag); // 16. If Type(tag) is not String, set tag to builtinTag. if (Type(tag) !== 'string') return ObjectProtoToStringOriginal.call(O); // 17. Return the string-concatenation of "[object ", tag, and "]". return '[object ' + tag + ']'; }); })(); } if (!("Promise"in self )) { // Promise /* Yaku v0.19.3 (c) 2015 Yad Smood. http://ysmood.org License MIT */ /* Yaku v0.17.9 (c) 2015 Yad Smood. http://ysmood.org License MIT */ (function () { 'use strict'; var $undefined , $null = null , isBrowser = typeof self === 'object' , root = self , nativePromise = root.Promise , process = root.process , console = root.console , isLongStackTrace = true , Arr = Array , Err = Error , $rejected = 1 , $resolved = 2 , $pending = 3 , $Symbol = 'Symbol' , $iterator = 'iterator' , $species = 'species' , $speciesKey = $Symbol + '(' + $species + ')' , $return = 'return' , $unhandled = '_uh' , $promiseTrace = '_pt' , $settlerTrace = '_st' , $invalidThis = 'Invalid this' , $invalidArgument = 'Invalid argument' , $fromPrevious = '\nFrom previous ' , $promiseCircularChain = 'Chaining cycle detected for promise' , $unhandledRejectionMsg = 'Uncaught (in promise)' , $rejectionHandled = 'rejectionHandled' , $unhandledRejection = 'unhandledRejection' , $tryCatchFn , $tryCatchThis , $tryErr = { e: $null } , $noop = function () {} , $cleanStackReg = /^.+\/node_modules\/yaku\/.+\n?/mg ; /** * This class follows the [Promises/A+](https://promisesaplus.com) and * [ES6](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects) spec * with some extra helpers. * @param {Function} executor Function object with two arguments resolve, reject. * The first argument fulfills the promise, the second argument rejects it. * We can call these functions, once our operation is completed. */ var Yaku = function (executor) { var self = this, err; // "this._s" is the internao state of: pending, resolved or rejected // "this._v" is the internal value if (!isObject(self) || self._s !== $undefined) throw genTypeError($invalidThis); self._s = $pending; if (isLongStackTrace) self[$promiseTrace] = genTraceInfo(); if (executor !== $noop) { if (!isFunction(executor)) throw genTypeError($invalidArgument); err = genTryCatcher(executor)( genSettler(self, $resolved), genSettler(self, $rejected) ); if (err === $tryErr) settlePromise(self, $rejected, err.e); } }; Yaku.default = Yaku; extend(Yaku.prototype, { /** * Appends fulfillment and rejection handlers to the promise, * and returns a new promise resolving to the return value of the called handler. * @param {Function} onFulfilled Optional. Called when the Promise is resolved. * @param {Function} onRejected Optional. Called when the Promise is rejected. * @return {Yaku} It will return a new Yaku which will resolve or reject after * @example * the current Promise. * ```js * var Promise = require('yaku'); * var p = Promise.resolve(10); * * p.then((v) => { * console.log(v); * }); * ``` */ then: function (onFulfilled, onRejected) { if (this._s === undefined) throw genTypeError(); return addHandler( this, newCapablePromise(Yaku.speciesConstructor(this, Yaku)), onFulfilled, onRejected ); }, /** * The `catch()` method returns a Promise and deals with rejected cases only. * It behaves the same as calling `Promise.prototype.then(undefined, onRejected)`. * @param {Function} onRejected A Function called when the Promise is rejected. * This function has one argument, the rejection reason. * @return {Yaku} A Promise that deals with rejected cases only. * @example * ```js * var Promise = require('yaku'); * var p = Promise.reject(new Error("ERR")); * * p['catch']((v) => { * console.log(v); * }); * ``` */ 'catch': function (onRejected) { return this.then($undefined, onRejected); }, /** * Register a callback to be invoked when a promise is settled (either fulfilled or rejected). * Similar with the try-catch-finally, it's often used for cleanup. * @param {Function} onFinally A Function called when the Promise is settled. * It will not receive any argument. * @return {Yaku} A Promise that will reject if onFinally throws an error or returns a rejected promise. * Else it will resolve previous promise's final state (either fulfilled or rejected). * @example * ```js * var Promise = require('yaku'); * var p = Math.random() > 0.5 ? Promise.resolve() : Promise.reject(); * p.finally(() => { * console.log('finally'); * }); * ``` */ 'finally': function (onFinally) { return this.then(function (val) { return Yaku.resolve(onFinally()).then(function () { return val; }); }, function (err) { return Yaku.resolve(onFinally()).then(function () { throw err; }); }); }, // The number of current promises that attach to this Yaku instance. _c: 0, // The parent Yaku. _p: $null }); /** * The `Promise.resolve(value)` method returns a Promise object that is resolved with the given value. * If the value is a thenable (i.e. has a then method), the returned promise will "follow" that thenable, * adopting its eventual state; otherwise the returned promise will be fulfilled with the value. * @param {Any} value Argument to be resolved by this Promise. * Can also be a Promise or a thenable to resolve. * @return {Yaku} * @example * ```js * var Promise = require('yaku'); * var p = Promise.resolve(10); * ``` */ Yaku.resolve = function (val) { return isYaku(val) ? val : settleWithX(newCapablePromise(this), val); }; /** * The `Promise.reject(reason)` method returns a Promise object that is rejected with the given reason. * @param {Any} reason Reason why this Promise rejected. * @return {Yaku} * @example * ```js * var Promise = require('yaku'); * var p = Promise.reject(new Error("ERR")); * ``` */ Yaku.reject = function (reason) { return settlePromise(newCapablePromise(this), $rejected, reason); }; /** * The `Promise.race(iterable)` method returns a promise that resolves or rejects * as soon as one of the promises in the iterable resolves or rejects, * with the value or reason from that promise. * @param {iterable} iterable An iterable object, such as an Array. * @return {Yaku} The race function returns a Promise that is settled * the same way as the first passed promise to settle. * It resolves or rejects, whichever happens first. * @example * ```js * var Promise = require('yaku'); * Promise.race([ * 123, * Promise.resolve(0) * ]) * .then((value) => { * console.log(value); // => 123 * }); * ``` */ Yaku.race = function (iterable) { var self = this , p = newCapablePromise(self) , resolve = function (val) { settlePromise(p, $resolved, val); } , reject = function (val) { settlePromise(p, $rejected, val); } , ret = genTryCatcher(each)(iterable, function (v) { self.resolve(v).then(resolve, reject); }); if (ret === $tryErr) return self.reject(ret.e); return p; }; /** * The `Promise.all(iterable)` method returns a promise that resolves when * all of the promises in the iterable argument have resolved. * * The result is passed as an array of values from all the promises. * If something passed in the iterable array is not a promise, * it's converted to one by Promise.resolve. If any of the passed in promises rejects, * the all Promise immediately rejects with the value of the promise that rejected, * discarding all the other promises whether or not they have resolved. * @param {iterable} iterable An iterable object, such as an Array. * @return {Yaku} * @example * ```js * var Promise = require('yaku'); * Promise.all([ * 123, * Promise.resolve(0) * ]) * .then((values) => { * console.log(values); // => [123, 0] * }); * ``` * @example * Use with iterable. * ```js * var Promise = require('yaku'); * Promise.all((function * () { * yield 10; * yield new Promise(function (r) { setTimeout(r, 1000, "OK") }); * })()) * .then((values) => { * console.log(values); // => [123, 0] * }); * ``` */ Yaku.all = function (iterable) { var self = this , p1 = newCapablePromise(self) , res = [] , ret ; function reject (reason) { settlePromise(p1, $rejected, reason); } ret = genTryCatcher(each)(iterable, function (item, i) { self.resolve(item).then(function (value) { res[i] = value; if (!--ret) settlePromise(p1, $resolved, res); }, reject); }); if (ret === $tryErr) return self.reject(ret.e); if (!ret) settlePromise(p1, $resolved, []); return p1; }; /** * The ES6 Symbol object that Yaku should use, by default it will use the * global one. * @type {Object} * @example * ```js * var core = require("core-js/library"); * var Promise = require("yaku"); * Promise.Symbol = core.Symbol; * ``` */ Yaku.Symbol = root[$Symbol] || {}; // To support browsers that don't support `Object.defineProperty`. genTryCatcher(function () { Object.defineProperty(Yaku, getSpecies(), { get: function () { return this; } }); })(); /** * Use this api to custom the species behavior. * https://tc39.github.io/ecma262/#sec-speciesconstructor * @param {Any} O The current this object. * @param {Function} defaultConstructor */ Yaku.speciesConstructor = function (O, D) { var C = O.constructor; return C ? (C[getSpecies()] || D) : D; }; /** * Catch all possibly unhandled rejections. If you want to use specific * format to display the error stack, overwrite it. * If it is set, auto `console.error` unhandled rejection will be disabled. * @param {Any} reason The rejection reason. * @param {Yaku} p The promise that was rejected. * @example * ```js * var Promise = require('yaku'); * Promise.unhandledRejection = (reason) => { * console.error(reason); * }; * * // The console will log an unhandled rejection error message. * Promise.reject('my reason'); * * // The below won't log the unhandled rejection error message. * Promise.reject('v')["catch"](() => {}); * ``` */ Yaku.unhandledRejection = function (reason, p) { console && console.error( $unhandledRejectionMsg, isLongStackTrace ? p.longStack : genStackInfo(reason, p) ); }; /** * Emitted whenever a Promise was rejected and an error handler was * attached to it (for example with `["catch"]()`) later than after an event loop turn. * @param {Any} reason The rejection reason. * @param {Yaku} p The promise that was rejected. */ Yaku.rejectionHandled = $noop; /** * It is used to enable the long stack trace. * Once it is enabled, it can't be reverted. * While it is very helpful in development and testing environments, * it is not recommended to use it in production. It will slow down * application and eat up memory. * It will add an extra property `longStack` to the Error object. * @example * ```js * var Promise = require('yaku'); * Promise.enableLongStackTrace(); * Promise.reject(new Error("err"))["catch"]((err) => { * console.log(err.longStack); * }); * ``` */ Yaku.enableLongStackTrace = function () { isLongStackTrace = true; }; /** * Only Node has `process.nextTick` function. For browser there are * so many ways to polyfill it. Yaku won't do it for you, instead you * can choose what you prefer. For example, this project * [next-tick](https://github.com/medikoo/next-tick). * By default, Yaku will use `process.nextTick` on Node, `setTimeout` on browser. * @type {Function} * @example * ```js * var Promise = require('yaku'); * Promise.nextTick = require('next-tick'); * ``` * @example * You can even use sync resolution if you really know what you are doing. * ```js * var Promise = require('yaku'); * Promise.nextTick = fn => fn(); * ``` */ Yaku.nextTick = isBrowser ? function (fn) { nativePromise ? new nativePromise(function (resolve) { resolve(); }).then(fn) : setTimeout(fn); } : process.nextTick; // ********************** Private ********************** Yaku._s = 1; /** * All static variable name will begin with `$`. Such as `$rejected`. * @private */ // ******************************* Utils ******************************** function getSpecies () { return Yaku[$Symbol][$species] || $speciesKey; } function extend (src, target) { for (var k in target) { src[k] = target[k]; } } function isObject (obj) { return obj && typeof obj === 'object'; } function isFunction (obj) { return typeof obj === 'function'; } function isInstanceOf (a, b) { return a instanceof b; } function isError (obj) { return isInstanceOf(obj, Err); } function ensureType (obj, fn, msg) { if (!fn(obj)) throw genTypeError(msg); } /** * Wrap a function into a try-catch. * @private * @return {Any | $tryErr} */ function tryCatcher () { try { return $tryCatchFn.apply($tryCatchThis, arguments); } catch (e) { $tryErr.e = e; return $tryErr; } } /** * Generate a try-catch wrapped function. * @private * @param {Function} fn * @return {Function} */ function genTryCatcher (fn, self) { $tryCatchFn = fn; $tryCatchThis = self; return tryCatcher; } /** * Generate a scheduler. * @private * @param {Integer} initQueueSize * @param {Function} fn `(Yaku, Value) ->` The schedule handler. * @return {Function} `(Yaku, Value) ->` The scheduler. */ function genScheduler (initQueueSize, fn) { /** * All async promise will be scheduled in * here, so that they can be execute on the next tick. * @private */ var fnQueue = Arr(initQueueSize) , fnQueueLen = 0; /** * Run all queued functions. * @private */ function flush () { var i = 0; while (i < fnQueueLen) { fn(fnQueue[i], fnQueue[i + 1]); fnQueue[i++] = $undefined; fnQueue[i++] = $undefined; } fnQueueLen = 0; if (fnQueue.length > initQueueSize) fnQueue.length = initQueueSize; } return function (v, arg) { fnQueue[fnQueueLen++] = v; fnQueue[fnQueueLen++] = arg; if (fnQueueLen === 2) Yaku.nextTick(flush); }; } /** * Generate a iterator * @param {Any} obj * @private * @return {Object || TypeError} */ function each (iterable, fn) { var len , i = 0 , iter , item , ret ; if (!iterable) throw genTypeError($invalidArgument); var gen = iterable[Yaku[$Symbol][$iterator]]; if (isFunction(gen)) iter = gen.call(iterable); else if (isFunction(iterable.next)) { iter = iterable; } else if (isInstanceOf(iterable, Arr)) { len = iterable.length; while (i < len) { fn(iterable[i], i++); } return i; } else throw genTypeError($invalidArgument); while (!(item = iter.next()).done) { ret = genTryCatcher(fn)(item.value, i++); if (ret === $tryErr) { isFunction(iter[$return]) && iter[$return](); throw ret.e; } } return i; } /** * Generate type error object. * @private * @param {String} msg * @return {TypeError} */ function genTypeError (msg) { return new TypeError(msg); } function genTraceInfo (noTitle) { return (noTitle ? '' : $fromPrevious) + new Err().stack; } // *************************** Promise Helpers **************************** /** * Resolve the value returned by onFulfilled or onRejected. * @private * @param {Yaku} p1 * @param {Yaku} p2 */ var scheduleHandler = genScheduler(999, function (p1, p2) { var x, handler; // 2.2.2 // 2.2.3 handler = p1._s !== $rejected ? p2._onFulfilled : p2._onRejected; // 2.2.7.3 // 2.2.7.4 if (handler === $undefined) { settlePromise(p2, p1._s, p1._v); return; } // 2.2.7.1 x = genTryCatcher(callHanler)(handler, p1._v); if (x === $tryErr) { // 2.2.7.2 settlePromise(p2, $rejected, x.e); return; } settleWithX(p2, x); }); var scheduleUnhandledRejection = genScheduler(9, function (p) { if (!hashOnRejected(p)) { p[$unhandled] = 1; emitEvent($unhandledRejection, p); } }); function emitEvent (name, p) { var browserEventName = 'on' + name.toLowerCase() , browserHandler = root[browserEventName]; if (process && process.listeners(name).length) name === $unhandledRejection ? process.emit(name, p._v, p) : process.emit(name, p); else if (browserHandler) browserHandler({ reason: p._v, promise: p }); else Yaku[name](p._v, p); } function isYaku (val) { return val && val._s; } function newCapablePromise (Constructor) { if (isYaku(Constructor)) return new Constructor($noop); var p, r, j; p = new Constructor(function (resolve, reject) { if (p) throw genTypeError(); r = resolve; j = reject; }); ensureType(r, isFunction); ensureType(j, isFunction); return p; } /** * It will produce a settlePromise function to user. * Such as the resolve and reject in this `new Yaku (resolve, reject) ->`. * @private * @param {Yaku} self * @param {Integer} state The value is one of `$pending`, `$resolved` or `$rejected`. * @return {Function} `(value) -> undefined` A resolve or reject function. */ function genSettler (self, state) { var isCalled = false; return function (value) { if (isCalled) return; isCalled = true; if (isLongStackTrace) self[$settlerTrace] = genTraceInfo(true); if (state === $resolved) settleWithX(self, value); else settlePromise(self, state, value); }; } /** * Link the promise1 to the promise2. * @private * @param {Yaku} p1 * @param {Yaku} p2 * @param {Function} onFulfilled * @param {Function} onRejected */ function addHandler (p1, p2, onFulfilled, onRejected) { // 2.2.1 if (isFunction(onFulfilled)) p2._onFulfilled = onFulfilled; if (isFunction(onRejected)) { if (p1[$unhandled]) emitEvent($rejectionHandled, p1); p2._onRejected = onRejected; } if (isLongStackTrace) p2._p = p1; p1[p1._c++] = p2; // 2.2.6 if (p1._s !== $pending) scheduleHandler(p1, p2); // 2.2.7 return p2; } // iterate tree function hashOnRejected (node) { // A node shouldn't be checked twice. if (node._umark) return true; else node._umark = true; var i = 0 , len = node._c , child; while (i < len) { child = node[i++]; if (child._onRejected || hashOnRejected(child)) return true; } } function genStackInfo (reason, p) { var stackInfo = []; function push (trace) { return stackInfo.push(trace.replace(/^\s+|\s+$/g, '')); } if (isLongStackTrace) { if (p[$settlerTrace]) push(p[$settlerTrace]); // Hope you guys could understand how the back trace works. // We only have to iterate through the tree from the bottom to root. (function iter (node) { if (node && $promiseTrace in node) { iter(node._next); push(node[$promiseTrace] + ''); iter(node._p); } })(p); } return (reason && reason.stack ? reason.stack : reason) + ('\n' + stackInfo.join('\n')).replace($cleanStackReg, ''); } function callHanler (handler, value) { // 2.2.5 return handler(value); } /** * Resolve or reject a promise. * @private * @param {Yaku} p * @param {Integer} state * @param {Any} value */ function settlePromise (p, state, value) { var i = 0 , len = p._c; // 2.1.2 // 2.1.3 if (p._s === $pending) { // 2.1.1.1 p._s = state; p._v = value; if (state === $rejected) { if (isLongStackTrace && isError(value)) { value.longStack = genStackInfo(value, p); } scheduleUnhandledRejection(p); } // 2.2.4 while (i < len) { scheduleHandler(p, p[i++]); } } return p; } /** * Resolve or reject promise with value x. The x can also be a thenable. * @private * @param {Yaku} p * @param {Any | Thenable} x A normal value or a thenable. */ function settleWithX (p, x) { // 2.3.1 if (x === p && x) { settlePromise(p, $rejected, genTypeError($promiseCircularChain)); return p; } // 2.3.2 // 2.3.3 if (x !== $null && (isFunction(x) || isObject(x))) { // 2.3.2.1 var xthen = genTryCatcher(getThen)(x); if (xthen === $tryErr) { // 2.3.3.2 settlePromise(p, $rejected, xthen.e); return p; } if (isFunction(xthen)) { if (isLongStackTrace && isYaku(x)) p._next = x; // Fix https://bugs.chromium.org/p/v8/issues/detail?id=4162 if (isYaku(x)) settleXthen(p, x, xthen); else Yaku.nextTick(function () { settleXthen(p, x, xthen); }); } else // 2.3.3.4 settlePromise(p, $resolved, x); } else // 2.3.4 settlePromise(p, $resolved, x); return p; } /** * Try to get a promise's then method. * @private * @param {Thenable} x * @return {Function} */ function getThen (x) { return x.then; } /** * Resolve then with its promise. * @private * @param {Yaku} p * @param {Thenable} x * @param {Function} xthen */ function settleXthen (p, x, xthen) { // 2.3.3.3 var err = genTryCatcher(xthen, x)(function (y) { // 2.3.3.3.3 // 2.3.3.3.1 x && (x = $null, settleWithX(p, y)); }, function (r) { // 2.3.3.3.3 // 2.3.3.3.2 x && (x = $null, settlePromise(p, $rejected, r)); }); // 2.3.3.3.4.1 if (err === $tryErr && x) { // 2.3.3.3.4.2 settlePromise(p, $rejected, err.e); x = $null; } } // 27.2.5.5 Promise.prototype [ @@toStringTag ] // The initial value of the @@toStringTag property is the String value "Promise". // This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. Object.defineProperty(Yaku.prototype, Yaku.Symbol.toStringTag, { value: 'Promise', writable: false, enumerable: false, configurable: true }); root.Promise = Yaku; })(); } if (!("Promise"in self&&"allSettled"in self.Promise )) { // Promise.allSettled /* global CreateMethodProperty, IterableToList, Promise, Type */ (function () { // Based on https://github.com/es-shims/Promise.allSettled/blob/main/implementation.js CreateMethodProperty(Promise, 'allSettled', function allSettled (iterable) { var C = this; if (Type(C) !== 'object') { throw new TypeError('`this` value must be an object'); } var arr; if (Array.isArray(iterable)) { arr = iterable; } else { try { arr = IterableToList(iterable); } catch (_error) { return Promise.reject(new TypeError('Argument of Promise.allSettled is not iterable')); } } var promises = arr.map(function (promise) { var onFulfill = function (value) { return { status: 'fulfilled', value: value }; }; var onReject = function (reason) { return { status: 'rejected', reason: reason }; }; var itemPromise = C.resolve(promise); try { return itemPromise.then(onFulfill, onReject); } catch (e) { return C.reject(e); } }); return C.all(promises); }); }()); } if (!("Promise"in self&&"any"in self.Promise )) { // Promise.any /* global AggregateError, CreateMethodProperty, IterableToList, Promise, Type */ (function () { // Based on https://github.com/es-shims/Promise.any/blob/master/implementation.js var identity = function (x) { return x; } CreateMethodProperty(Promise, 'any', function any (iterable) { var C = this; if (Type(C) !== 'object') { throw new TypeError('`this` value must be an object'); } var arr; if (Array.isArray(iterable)) { arr = iterable; } else { try { arr = IterableToList(iterable); } catch (_error) { return Promise.reject(new TypeError('Argument of Promise.any is not iterable')); } } var thrower = function (value) { return C.reject(value); }; var promises = arr.map(function (promise) { var itemPromise = C.resolve(promise); try { return itemPromise.then(thrower, identity); } catch (e) { return e; } }); return C.all(promises).then(function (errors) { throw new AggregateError(errors, 'Every promise rejected') }, identity); }); }()); } if (!("Promise"in self&&"finally"in self.Promise.prototype )) { // Promise.prototype.finally /* global CreateMethodProperty, IsCallable, SpeciesConstructor, Type, Promise */ (function () { // Based on https://github.com/tc39/proposal-promise-finally/blob/master/polyfill.js var then = Function.prototype.bind.call(Function.prototype.call, Promise.prototype.then); var getPromise = function (C, handler) { return new C(function (resolve) { resolve(handler()); }); }; // 1. Promise.prototype.finally ( onFinally ) CreateMethodProperty(Promise.prototype, 'finally', function (onFinally) { // 1. Let promise be the this value. var promise = this; // 2. If Type(promise) is not Object, throw a TypeError exception. if (Type(promise) !== 'object') { throw new TypeError('Method %PromisePrototype%.finally called on incompatible receiver ' + Object.prototype.toString.call(promise)); } // 3. Let C be ? SpeciesConstructor(promise, %Promise%). var C = SpeciesConstructor(promise, Promise); // 4. Assert: IsConstructor(C) is true. // 5. If IsCallable(onFinally) is false, if (IsCallable(onFinally) === false) { // a. Let thenFinally be onFinally. var thenFinally = onFinally; // b. Let catchFinally be onFinally. var catchFinally = onFinally; // 6. Else, } else { // a. Let thenFinally be a new built-in function object as defined in ThenFinally Function. thenFinally = function (x) { return then(getPromise(C, onFinally), function () { return x; }); }; // b. Let catchFinally be a new built-in function object as defined in CatchFinally Function. catchFinally = function (e) { return then(getPromise(C, onFinally), function () { throw e; }); }; // c. Set thenFinally and catchFinally's [[Constructor]] internal slots to C. // d. Set thenFinally and catchFinally's [[OnFinally]] internal slots to onFinally. } // 7. Return ? Invoke(promise, "then", « thenFinally, catchFinally »). return then(promise, thenFinally, catchFinally); }); }()); } if (!("Set"in self&&function(){try{var e=new self.Set([1,2]) return 0===self.Set.length&&2===e.size&&"Symbol"in self&&"iterator"in self.Symbol&&"function"==typeof e[self.Symbol.iterator]&&"toStringTag"in self.Symbol&&void 0!==e[self.Symbol.toStringTag]}catch(e){return!1}}() )) { // Set /* global CreateIterResultObject, CreateMethodProperty, GetIterator, IsCallable, IteratorClose, IteratorStep, IteratorValue, OrdinaryCreateFromConstructor, SameValueZero, Symbol */ (function (global) { // Deleted set items mess with iterator pointers, so rather than removing them mark them as deleted. Can't use undefined or null since those both valid keys so use a private symbol. var undefMarker = Symbol('undef'); // 23.2.1.1. Set ( [ iterable ] ) var Set = function Set(/* iterable */) { // 1. If NewTarget is undefined, throw a TypeError exception. if (!(this instanceof Set)) { throw new TypeError('Constructor Set requires "new"'); } // 2. Let set be ? OrdinaryCreateFromConstructor(NewTarget, "%SetPrototype%", « [[SetData]] »). var set = OrdinaryCreateFromConstructor(this, Set.prototype, { _values: [], _size: 0, _es6Set: true }); // 3. Set set.[[SetData]] to a new empty List. // Polyfill.io - This step was done as part of step two. // 4. If iterable is not present, let iterable be undefined. var iterable = arguments.length > 0 ? arguments[0] : undefined; // 5. If iterable is either undefined or null, return set. if (iterable === null || iterable === undefined) { return set; } // 6. Let adder be ? Get(set, "add"). var adder = set.add; // 7. If IsCallable(adder) is false, throw a TypeError exception. if (!IsCallable(adder)) { throw new TypeError("Set.prototype.add is not a function"); } try { // 8. Let iteratorRecord be ? GetIterator(iterable). var iteratorRecord = GetIterator(iterable); // 9. Repeat, // eslint-disable-next-line no-constant-condition while (true) { // a. Let next be ? IteratorStep(iteratorRecord). var next = IteratorStep(iteratorRecord); // b. If next is false, return set. if (next === false) { return set; } // c. Let nextValue be ? IteratorValue(next). var nextValue = IteratorValue(next); // d. Let status be Call(adder, set, « nextValue.[[Value]] »). try { adder.call(set, nextValue); } catch (e) { // e. If status is an abrupt completion, return ? IteratorClose(iteratorRecord, status). return IteratorClose(iteratorRecord, e); } } } catch (e) { // Polyfill.io - For user agents which do not have iteration methods on argument objects or arrays, we can special case those. if (Array.isArray(iterable) || Object.prototype.toString.call(iterable) === '[object Arguments]') { var index; var length = iterable.length; for (index = 0; index < length; index++) { adder.call(set, iterable[index]); } } else { throw (e); } } return set; }; // 23.2.2.1. Set.prototype // The initial value of Set.prototype is the intrinsic %SetPrototype% object. // This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }. Object.defineProperty(Set, 'prototype', { configurable: false, enumerable: false, writable: false, value: {} }); // 23.2.2.2 get Set [ @@species ] Object.defineProperty(Set, Symbol.species, { configurable: true, enumerable: false, get: function () { // 1. Return the this value. return this; }, set: undefined }); // 23.2.3.1. Set.prototype.add ( value ) CreateMethodProperty(Set.prototype, 'add', function add(value) { // 1. Let S be the this value. var S = this; // 2. If Type(S) is not Object, throw a TypeError exception. if (typeof S !== 'object') { throw new TypeError('Method Set.prototype.add called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 3. If S does not have a [[SetData]] internal slot, throw a TypeError exception. if (S._es6Set !== true) { throw new TypeError('Method Set.prototype.add called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 4. Let entries be the List that is S.[[SetData]]. var entries = S._values; // 5. For each e that is an element of entries, do for (var i = 0; i < entries.length; i++) { var e = entries[i]; // a. If e is not empty and SameValueZero(e, value) is true, then if (e !== undefMarker && SameValueZero(e, value)) { // i. Return S. return S; } } // 6. If value is -0, let value be +0. if (value === 0 && 1/value === -Infinity) { value = 0; } // 7. Append value as the last element of entries. S._values.push(value); this._size = ++this._size; // 8. Return S. return S; }); // 23.2.3.2. Set.prototype.clear ( ) CreateMethodProperty(Set.prototype, 'clear', function clear() { // 1. Let S be the this value. var S = this; // 2. If Type(S) is not Object, throw a TypeError exception. if (typeof S !== 'object') { throw new TypeError('Method Set.prototype.clear called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 3. If S does not have a [[SetData]] internal slot, throw a TypeError exception. if (S._es6Set !== true) { throw new TypeError('Method Set.prototype.clear called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 4. Let entries be the List that is S.[[SetData]]. var entries = S._values; // 5. For each e that is an element of entries, do for (var i = 0; i < entries.length; i++) { // a. Replace the element of entries whose value is e with an element whose value is empty. entries[i] = undefMarker; } this._size = 0; // 6. Return undefined. return undefined; }); // 23.2.3.3. Set.prototype.constructor CreateMethodProperty(Set.prototype, 'constructor', Set); // 23.2.3.4. Set.prototype.delete ( value ) CreateMethodProperty(Set.prototype, 'delete', function (value) { // 1. Let S be the this value. var S = this; // 2. If Type(S) is not Object, throw a TypeError exception. if (typeof S !== 'object') { throw new TypeError('Method Set.prototype.delete called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 3. If S does not have a [[SetData]] internal slot, throw a TypeError exception. if (S._es6Set !== true) { throw new TypeError('Method Set.prototype.delete called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 4. Let entries be the List that is S.[[SetData]]. var entries = S._values; // 5. For each e that is an element of entries, do for (var i = 0; i < entries.length; i++) { var e = entries[i]; // a. If e is not empty and SameValueZero(e, value) is true, then if (e !== undefMarker && SameValueZero(e, value)) { // i. Replace the element of entries whose value is e with an element whose value is empty. entries[i] = undefMarker; this._size = --this._size; // ii. Return true. return true; } } // 6. Return false. return false; } ); // 23.2.3.5. Set.prototype.entries ( ) CreateMethodProperty(Set.prototype, 'entries', function entries() { // 1. Let S be the this value. var S = this; // 2. Return ? CreateSetIterator(S, "key+value"). return CreateSetIterator(S, 'key+value'); } ); // 23.2.3.6. Set.prototype.forEach ( callbackfn [ , thisArg ] ) CreateMethodProperty(Set.prototype, 'forEach', function forEach(callbackFn /*[ , thisArg ]*/) { // 1. Let S be the this value. var S = this; // 2. If Type(S) is not Object, throw a TypeError exception. if (typeof S !== 'object') { throw new TypeError('Method Set.prototype.forEach called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 3. If S does not have a [[SetData]] internal slot, throw a TypeError exception. if (S._es6Set !== true) { throw new TypeError('Method Set.prototype.forEach called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 4. If IsCallable(callbackfn) is false, throw a TypeError exception. if (!IsCallable(callbackFn)) { throw new TypeError(Object.prototype.toString.call(callbackFn) + ' is not a function.'); } // 5. If thisArg is present, let T be thisArg; else let T be undefined. if (arguments[1]) { var T = arguments[1]; } // 6. Let entries be the List that is S.[[SetData]]. var entries = S._values; // 7. For each e that is an element of entries, in original insertion order, do for (var i = 0; i < entries.length; i++) { var e = entries[i]; // a. If e is not empty, then if (e !== undefMarker) { // i. Perform ? Call(callbackfn, T, « e, e, S »). callbackFn.call(T, e, e, S); } } // 8. Return undefined. return undefined; } ); // 23.2.3.7. Set.prototype.has ( value ) CreateMethodProperty(Set.prototype, 'has', function has(value) { // 1. Let S be the this value. var S = this; // 2. If Type(S) is not Object, throw a TypeError exception. if (typeof S !== 'object') { throw new TypeError('Method Set.prototype.forEach called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 3. If S does not have a [[SetData]] internal slot, throw a TypeError exception. if (S._es6Set !== true) { throw new TypeError('Method Set.prototype.forEach called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 4. Let entries be the List that is S.[[SetData]]. var entries = S._values; // 5. For each e that is an element of entries, do for (var i = 0; i < entries.length; i++) { var e = entries[i]; // a. If e is not empty and SameValueZero(e, value) is true, return true. if (e !== undefMarker && SameValueZero(e, value)) { return true; } } // 6. Return false. return false; } ); // Polyfill.io - We need to define Set.prototype.values before Set.prototype.keys because keys is a reference to values. // 23.2.3.10. Set.prototype.values() var values = function values() { // 1. Let S be the this value. var S = this; // 2. Return ? CreateSetIterator(S, "value"). return CreateSetIterator(S, "value"); }; CreateMethodProperty(Set.prototype, 'values', values); // 23.2.3.8 Set.prototype.keys ( ) // The initial value of the keys property is the same function object as the initial value of the values property. CreateMethodProperty(Set.prototype, 'keys', values); // 23.2.3.9. get Set.prototype.size Object.defineProperty(Set.prototype, 'size', { configurable: true, enumerable: false, get: function () { // 1. Let S be the this value. var S = this; // 2. If Type(S) is not Object, throw a TypeError exception. if (typeof S !== 'object') { throw new TypeError('Method Set.prototype.size called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 3. If S does not have a [[SetData]] internal slot, throw a TypeError exception. if (S._es6Set !== true) { throw new TypeError('Method Set.prototype.size called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 4. Let entries be the List that is S.[[SetData]]. var entries = S._values; // 5. Let count be 0. var count = 0; // 6. For each e that is an element of entries, do for (var i = 0; i < entries.length; i++) { var e = entries[i]; // a. If e is not empty, set count to count+1. if (e !== undefMarker) { count = count + 1; } } // 7. Return count. return count; }, set: undefined }); // 23.2.3.11. Set.prototype [ @@iterator ] ( ) // The initial value of the @@iterator property is the same function object as the initial value of the values property. CreateMethodProperty(Set.prototype, Symbol.iterator, values); // 23.2.3.12. Set.prototype [ @@toStringTag ] // The initial value of the @@toStringTag property is the String value "Set". // This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. Object.defineProperty(Set.prototype, Symbol.toStringTag, { value: 'Set', writable: false, enumerable: false, configurable: true }); // Polyfill.io - Safari 8 implements Set.name but as a non-configurable property, which means it would throw an error if we try and configure it here. if (!('name' in Set)) { // 19.2.4.2 name Object.defineProperty(Set, 'name', { configurable: true, enumerable: false, writable: false, value: 'Set' }); } // 23.2.5.1. CreateSetIterator ( set, kind ) function CreateSetIterator(set, kind) { // 1. If Type(set) is not Object, throw a TypeError exception. if (typeof set !== 'object') { throw new TypeError('createSetIterator called on incompatible receiver ' + Object.prototype.toString.call(set)); } // 2. If set does not have a [[SetData]] internal slot, throw a TypeError exception. if (set._es6Set !== true) { throw new TypeError('createSetIterator called on incompatible receiver ' + Object.prototype.toString.call(set)); } // 3. Let iterator be ObjectCreate(%SetIteratorPrototype%, « [[IteratedSet]], [[SetNextIndex]], [[SetIterationKind]] »). var iterator = Object.create(SetIteratorPrototype); // 4. Set iterator.[[IteratedSet]] to set. Object.defineProperty(iterator, '[[IteratedSet]]', { configurable: true, enumerable: false, writable: true, value: set }); // 5. Set iterator.[[SetNextIndex]] to 0. Object.defineProperty(iterator, '[[SetNextIndex]]', { configurable: true, enumerable: false, writable: true, value: 0 }); // 6. Set iterator.[[SetIterationKind]] to kind. Object.defineProperty(iterator, '[[SetIterationKind]]', { configurable: true, enumerable: false, writable: true, value: kind }); // 7. Return iterator. return iterator; } // 23.2.5.2. The %SetIteratorPrototype% Object var SetIteratorPrototype = {}; //Polyfill.io - We add this property to help us identify what is a set iterator. Object.defineProperty(SetIteratorPrototype, 'isSetIterator', { configurable: false, enumerable: false, writable: false, value: true }); // 23.2.5.2.1. %SetIteratorPrototype%.next ( ) CreateMethodProperty(SetIteratorPrototype, 'next', function next() { // 1. Let O be the this value. var O = this; // 2. If Type(O) is not Object, throw a TypeError exception. if (typeof O !== 'object') { throw new TypeError('Method %SetIteratorPrototype%.next called on incompatible receiver ' + Object.prototype.toString.call(O)); } // 3. If O does not have all of the internal slots of a Set Iterator Instance (23.2.5.3), throw a TypeError exception. if (!O.isSetIterator) { throw new TypeError('Method %SetIteratorPrototype%.next called on incompatible receiver ' + Object.prototype.toString.call(O)); } // 4. Let s be O.[[IteratedSet]]. var s = O['[[IteratedSet]]']; // 5. Let index be O.[[SetNextIndex]]. var index = O['[[SetNextIndex]]']; // 6. Let itemKind be O.[[SetIterationKind]]. var itemKind = O['[[SetIterationKind]]']; // 7. If s is undefined, return CreateIterResultObject(undefined, true). if (s === undefined) { return CreateIterResultObject(undefined, true); } // 8. Assert: s has a [[SetData]] internal slot. if (!s._es6Set) { throw new Error(Object.prototype.toString.call(s) + ' does not have [[SetData]] internal slot.'); } // 9. Let entries be the List that is s.[[SetData]]. var entries = s._values; // 10. Let numEntries be the number of elements of entries. var numEntries = entries.length; // 11. NOTE: numEntries must be redetermined each time this method is evaluated. // 12. Repeat, while index is less than numEntries, while (index < numEntries) { // a. Let e be entries[index]. var e = entries[index]; // b. Set index to index+1. index = index + 1; // c. Set O.[[SetNextIndex]] to index. O['[[SetNextIndex]]'] = index; // d. If e is not empty, then if (e !== undefMarker) { // i. If itemKind is "key+value", then if (itemKind === 'key+value') { // 1. Return CreateIterResultObject(CreateArrayFromList(« e, e »), false). return CreateIterResultObject([e, e], false); } // ii. Return CreateIterResultObject(e, false). return CreateIterResultObject(e, false); } } // 13. Set O.[[IteratedSet]] to undefined. O['[[IteratedSet]]'] = undefined; // 14. Return CreateIterResultObject(undefined, true). return CreateIterResultObject(undefined, true); }); // 23.2.5.2.2. %SetIteratorPrototype% [ @@toStringTag ] // The initial value of the @@toStringTag property is the String value "Set Iterator". // This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. Object.defineProperty(SetIteratorPrototype, Symbol.toStringTag, { value: 'Set Iterator', writable: false, enumerable: false, configurable: true }); CreateMethodProperty(SetIteratorPrototype, Symbol.iterator, function iterator() { return this; } ); // Export the object CreateMethodProperty(global, 'Set', Set); }(self)); } if (!("from"in Array&&function(){try{return Array.from({length:-1/0}),"a"===Array.from(new self.Set(["a"]))[0]&&"a"===Array.from(new self.Map([["a","one"]]))[0][0]}catch(r){return!1}}() )) { // Array.from /* globals IsCallable, GetMethod, Symbol, IsConstructor, Construct, ArrayCreate, GetIterator, IteratorClose, ToString, IteratorStep, IteratorValue, Call, CreateDataPropertyOrThrow, ToObject, ToLength, Get, CreateMethodProperty */ (function () { var toString = Object.prototype.toString; var stringMatch = String.prototype.match; // A cross-realm friendly way to detect if a value is a String object or literal. function isString(value) { if (typeof value === 'string') { return true; } if (typeof value !== 'object') { return false; } return toString.call(value) === '[object String]'; } // 22.1.2.1. Array.from ( items [ , mapfn [ , thisArg ] ] ) CreateMethodProperty(Array, 'from', function from(items /* [ , mapfn [ , thisArg ] ] */) { // eslint-disable-line no-undef // 1. Let C be the this value. var C = this; // 2. If mapfn is undefined, let mapping be false. var mapfn = arguments.length > 1 ? arguments[1] : undefined; if (mapfn === undefined) { var mapping = false; // 3. Else, } else { // a. If IsCallable(mapfn) is false, throw a TypeError exception. if (IsCallable(mapfn) === false) { throw new TypeError(Object.prototype.toString.call(mapfn) + ' is not a function.'); } // b. If thisArg is present, let T be thisArg; else let T be undefined. var thisArg = arguments.length > 2 ? arguments[2] : undefined; if (thisArg !== undefined) { var T = thisArg; } else { T = undefined; } // c. Let mapping be true. mapping = true; } // 4. Let usingIterator be ? GetMethod(items, @@iterator). var usingIterator = GetMethod(items, Symbol.iterator); // 5. If usingIterator is not undefined, then if (usingIterator !== undefined) { // a. If IsConstructor(C) is true, then if (IsConstructor(C)) { // i. Let A be ? Construct(C). var A = Construct(C); // b. Else, } else { // i. Let A be ! ArrayCreate(0). A = ArrayCreate(0); } // c. Let iteratorRecord be ? GetIterator(items, usingIterator). var iteratorRecord = GetIterator(items, usingIterator); // d. Let k be 0. var k = 0; // e. Repeat, // eslint-disable-next-line no-constant-condition while (true) { // i. If k ≥ 2^53-1, then if (k >= (Math.pow(2, 53) - 1)) { // 1. Let error be Completion{[[Type]]: throw, [[Value]]: a newly created TypeError object, [[Target]]: empty}. var error = new TypeError('Iteration count can not be greater than or equal 9007199254740991.'); // 2. Return ? IteratorClose(iteratorRecord, error). return IteratorClose(iteratorRecord, error); } // ii. Let Pk be ! ToString(k). var Pk = ToString(k); // iii. Let next be ? IteratorStep(iteratorRecord). var next = IteratorStep(iteratorRecord); // iv. If next is false, then if (next === false) { // 1. Perform ? Set(A, "length", k, true). A.length = k; // 2. Return A. return A; } // v. Let nextValue be ? IteratorValue(next). var nextValue = IteratorValue(next); // vi. If mapping is true, then if (mapping) { try { // Polyfill.io - The try catch accounts for step 2. // 1. Let mappedValue be Call(mapfn, T, « nextValue, k »). var mappedValue = Call(mapfn, T, [nextValue, k]); // 2. If mappedValue is an abrupt completion, return ? IteratorClose(iteratorRecord, mappedValue). // 3. Let mappedValue be mappedValue.[[Value]]. } catch (e) { return IteratorClose(iteratorRecord, e); } // vii. Else, let mappedValue be nextValue. } else { mappedValue = nextValue; } try { // Polyfill.io - The try catch accounts for step ix. // viii. Let defineStatus be CreateDataPropertyOrThrow(A, Pk, mappedValue). CreateDataPropertyOrThrow(A, Pk, mappedValue); // ix. If defineStatus is an abrupt completion, return ? IteratorClose(iteratorRecord, defineStatus). } catch (e) { return IteratorClose(iteratorRecord, e); } // x. Increase k by 1. k = k + 1; } } // 6. NOTE: items is not an Iterable so assume it is an array-like object. // 7. Let arrayLike be ! ToObject(items). // Polyfill.io - For Strings we need to split astral symbols into surrogate pairs. if (isString(items)) { var arrayLike = stringMatch.call(items, /[\uD800-\uDBFF][\uDC00-\uDFFF]?|[^\uD800-\uDFFF]|./g) || []; } else { arrayLike = ToObject(items); } // 8. Let len be ? ToLength(? Get(arrayLike, "length")). var len = ToLength(Get(arrayLike, "length")); // 9. If IsConstructor(C) is true, then if (IsConstructor(C)) { // a. Let A be ? Construct(C, « len »). A = Construct(C, [len]); // 10. Else, } else { // a. Let A be ? ArrayCreate(len). A = ArrayCreate(len); } // 11. Let k be 0. k = 0; // 12. Repeat, while k < len while (k < len) { // a. Let Pk be ! ToString(k). Pk = ToString(k); // b. Let kValue be ? Get(arrayLike, Pk). var kValue = Get(arrayLike, Pk); // c. If mapping is true, then if (mapping === true) { // i. Let mappedValue be ? Call(mapfn, T, « kValue, k »). mappedValue = Call(mapfn, T, [kValue, k]); // d. Else, let mappedValue be kValue. } else { mappedValue = kValue; } // e. Perform ? CreateDataPropertyOrThrow(A, Pk, mappedValue). CreateDataPropertyOrThrow(A, Pk, mappedValue); // f. Increase k by 1. k = k + 1; } // 13. Perform ? Set(A, "length", len, true). A.length = len; // 14. Return A. return A; }); }()); } if (!("Symbol"in self&&"iterator"in self.Symbol&&!!String.prototype[self.Symbol.iterator] )) { // String.prototype.@@iterator /* global CreateMethodProperty, RequireObjectCoercible, ToString, StringIterator, Symbol */ // 21.1.3.29. String.prototype [ @@iterator ] ( ) CreateMethodProperty(String.prototype, Symbol.iterator, function () { // 1. Let O be ? RequireObjectCoercible(this value). var O = RequireObjectCoercible(this); // 2. Let S be ? ToString(O). var S = ToString(O); // 3. Return CreateStringIterator(S). // TODO: Add CreateStringIterator. return new StringIterator(S); }); } if (!("Symbol"in self&&"unscopables"in self.Symbol )) { // Symbol.unscopables /* global Symbol */ Object.defineProperty(Symbol, 'unscopables', { value: Symbol('unscopables') }); } if (!("Symbol"in self&&"toStringTag"in self.Symbol&&"Int8Array"in self&&Object.getOwnPropertyDescriptor("__proto__"in self.Int8Array.prototype&&self.Int8Array.prototype.__proto__!==Object.prototype&&self.Int8Array.prototype.__proto__||self.Int8Array.prototype,self.Symbol.toStringTag) )) { // TypedArray.prototype.@@toStringTag /* global Symbol, Type */ // 23.2.3.33 get %TypedArray%.prototype [ @@toStringTag ] (function () { var supportsDefiningFunctionName = (function () { var fn = function () {}; try { Object.defineProperty(fn, 'name', { value: 'test' }); return true; } catch (ignore) { return false; } })(); function _get() { // 1. Let O be the this value. var O = this; // 2. If Type(O) is not Object, return undefined. if (Type(O) !== 'object') { return undefined; } // 3. If O does not have a [[TypedArrayName]] internal slot, return undefined. if (!('_name' in O)) { return undefined; } // 4. Let name be O.[[TypedArrayName]]. var name = O._name; // 5. Assert: Type(name) is String. if (Type(name) !== 'string') { throw TypeError(); } // 6. Return name. return name; } if (supportsDefiningFunctionName) { Object.defineProperty(_get, 'name', { value: 'get [Symbol.toStringTag]', writable: false, enumerable: false, configurable: true }); } function defineToStringTag(proto) { Object.defineProperty(proto, Symbol.toStringTag, { get: _get, enumerable: false, configurable: true }); } function defineNameInternalSlot(proto, name) { Object.defineProperty(proto, '_name', { value: name, writable: false, enumerable: false, configurable: false }); } defineNameInternalSlot(self.Int8Array.prototype, 'Int8Array'); defineNameInternalSlot(self.Uint8Array.prototype, 'Uint8Array'); defineNameInternalSlot(self.Uint8ClampedArray.prototype, 'Uint8ClampedArray'); defineNameInternalSlot(self.Int16Array.prototype, 'Int16Array'); defineNameInternalSlot(self.Uint16Array.prototype, 'Uint16Array'); defineNameInternalSlot(self.Int32Array.prototype, 'Int32Array'); defineNameInternalSlot(self.Uint32Array.prototype, 'Uint32Array'); defineNameInternalSlot(self.Float32Array.prototype, 'Float32Array'); defineNameInternalSlot(self.Float64Array.prototype, 'Float64Array'); // IE11, and potentially other browsers, have `Int8Array.prototype` inherit directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses defineToStringTag(self.Int8Array.prototype.__proto__); } else { defineToStringTag(self.Int8Array.prototype); defineToStringTag(self.Uint8Array.prototype); defineToStringTag(self.Uint8ClampedArray.prototype); defineToStringTag(self.Int16Array.prototype); defineToStringTag(self.Uint16Array.prototype); defineToStringTag(self.Int32Array.prototype); defineToStringTag(self.Uint32Array.prototype); defineToStringTag(self.Float32Array.prototype); defineToStringTag(self.Float64Array.prototype); } })(); } if (!("Int8Array"in self&&"at"in self.Int8Array.prototype )) { // TypedArray.prototype.at /* global CreateMethodProperty, Get, ToIntegerOrInfinity, ToString */ // 23.2.3.1. %TypedArray%.prototype.at ( index ) (function () { function at(index) { // 1. Let O be the this value. var O = this; // 2. Perform ? ValidateTypedArray(O). // TODO: Add ValidateTypedArray // 3. Let len be O.[[ArrayLength]]. var len = O.length; // 4. Let relativeIndex be ? ToIntegerOrInfinity(index). var relativeIndex = ToIntegerOrInfinity(index); // 5. If relativeIndex ≥ 0, then // 5.a. Let k be relativeIndex. // 6. Else, // 6.a. Let k be len + relativeIndex. var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; // 7. If k < 0 or k ≥ len, return undefined. if (k < 0 || k >= len) return undefined; // 8. Return ! Get(O, ! ToString(𝔽(k))). return Get(O, ToString(k)); } // in IE11, `Int8Array.prototype` inherits directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses CreateMethodProperty(self.Int8Array.prototype.__proto__, 'at', at); } else { CreateMethodProperty(self.Int8Array.prototype, 'at', at); CreateMethodProperty(self.Uint8Array.prototype, 'at', at); CreateMethodProperty(self.Uint8ClampedArray.prototype, 'at', at); CreateMethodProperty(self.Int16Array.prototype, 'at', at); CreateMethodProperty(self.Uint16Array.prototype, 'at', at); CreateMethodProperty(self.Int32Array.prototype, 'at', at); CreateMethodProperty(self.Uint32Array.prototype, 'at', at); CreateMethodProperty(self.Float32Array.prototype, 'at', at); CreateMethodProperty(self.Float64Array.prototype, 'at', at); } })(); } if (!("Int8Array"in self&&"entries"in self.Int8Array.prototype )) { // TypedArray.prototype.entries /* global CreateMethodProperty, ArrayIterator */ // 23.2.3.7 %TypedArray%.prototype.entries ( ) (function () { function entries() { // 1. Let O be the this value. var O = this; // 2. Perform ? ValidateTypedArray(O). // TODO: Add ValidateTypedArray // 3. Return CreateArrayIterator(O, key). // TODO: Add CreateArrayIterator return new ArrayIterator(O, 'key+value'); } // use "Int8Array" as a proxy for support of "TypedArray" subclasses var fnName = 'entries' // in IE11, `Int8Array.prototype` inherits directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses CreateMethodProperty(self.Int8Array.prototype.__proto__, fnName, entries); } else { CreateMethodProperty(self.Int8Array.prototype, fnName, entries); CreateMethodProperty(self.Uint8Array.prototype, fnName, entries); CreateMethodProperty(self.Uint8ClampedArray.prototype, fnName, entries); CreateMethodProperty(self.Int16Array.prototype, fnName, entries); CreateMethodProperty(self.Uint16Array.prototype, fnName, entries); CreateMethodProperty(self.Int32Array.prototype, fnName, entries); CreateMethodProperty(self.Uint32Array.prototype, fnName, entries); CreateMethodProperty(self.Float32Array.prototype, fnName, entries); CreateMethodProperty(self.Float64Array.prototype, fnName, entries); } })(); } if (!("Int8Array"in self&&"findLast"in self.Int8Array.prototype )) { // TypedArray.prototype.findLast /* global Call, CreateMethodProperty, Get, IsCallable, ToBoolean, ToString */ // 23.2.3.13 %TypedArray%.prototype.findLast ( predicate [ , thisArg ] ) (function () { function findLast(predicate /*[ , thisArg ]*/) { // 1. Let O be the this value. var O = this; // 2. Perform ? ValidateTypedArray(O). // TODO: Add ValidateTypedArray // 3. Let len be O.[[ArrayLength]]. var len = O.length; // 4. If IsCallable(predicate) is false, throw a TypeError exception. if (!IsCallable(predicate)) throw TypeError(); // 5. Let k be len - 1. var k = len - 1; // 6. Repeat, while k ≥ 0, while (k >= 0) { // a. Let Pk be ! ToString(𝔽(k)). var Pk = ToString(k); // b. Let kValue be ! Get(O, Pk). var kValue = Get(O, Pk); // c. Let testResult be ToBoolean(? Call(predicate, thisArg, « kValue, 𝔽(k), O »)). var testResult = ToBoolean(Call(predicate, arguments.length > 1 ? arguments[1] : undefined, [kValue, k, O])) // d. If testResult is true, return kValue. if (testResult) { return kValue; } // e. Set k to k - 1. k = k - 1; } // 7. Return undefined. return undefined; } var fnName = 'findLast' // in IE11, `Int8Array.prototype` inherits directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses CreateMethodProperty(self.Int8Array.prototype.__proto__, fnName, findLast); } else { CreateMethodProperty(self.Int8Array.prototype, fnName, findLast); CreateMethodProperty(self.Uint8Array.prototype, fnName, findLast); CreateMethodProperty(self.Uint8ClampedArray.prototype, fnName, findLast); CreateMethodProperty(self.Int16Array.prototype, fnName, findLast); CreateMethodProperty(self.Uint16Array.prototype, fnName, findLast); CreateMethodProperty(self.Int32Array.prototype, fnName, findLast); CreateMethodProperty(self.Uint32Array.prototype, fnName, findLast); CreateMethodProperty(self.Float32Array.prototype, fnName, findLast); CreateMethodProperty(self.Float64Array.prototype, fnName, findLast); } })(); } if (!("Int8Array"in self&&"findLastIndex"in self.Int8Array.prototype )) { // TypedArray.prototype.findLastIndex /* global Call, CreateMethodProperty, Get, IsCallable, ToBoolean, ToString */ // 23.2.3.14 %TypedArray%.prototype.findLastIndex ( predicate [ , thisArg ] ) (function () { function findLastIndex(predicate /*[ , thisArg ]*/) { // 1. Let O be the this value. var O = this; // 2. Perform ? ValidateTypedArray(O). // TODO: Add ValidateTypedArray // 3. Let len be O.[[ArrayLength]]. var len = O.length; // 4. If IsCallable(predicate) is false, throw a TypeError exception. if (!IsCallable(predicate)) throw TypeError(); // 5. Let k be len - 1. var k = len - 1; // 6. Repeat, while k ≥ 0, while (k >= 0) { // a. Let Pk be ! ToString(𝔽(k)). var Pk = ToString(k); // b. Let kValue be ! Get(O, Pk). var kValue = Get(O, Pk); // c. Let testResult be ToBoolean(? Call(predicate, thisArg, « kValue, 𝔽(k), O »)). var testResult = ToBoolean(Call(predicate, arguments.length > 1 ? arguments[1] : undefined, [kValue, k, O])) // d. If testResult is true, return 𝔽(k). if (testResult) { return k; } // e. Set k to k - 1. k = k - 1; } // 7. Return -1𝔽. return -1; } var fnName = 'findLastIndex' // in IE11, `Int8Array.prototype` inherits directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses CreateMethodProperty(self.Int8Array.prototype.__proto__, fnName, findLastIndex); } else { CreateMethodProperty(self.Int8Array.prototype, fnName, findLastIndex); CreateMethodProperty(self.Uint8Array.prototype, fnName, findLastIndex); CreateMethodProperty(self.Uint8ClampedArray.prototype, fnName, findLastIndex); CreateMethodProperty(self.Int16Array.prototype, fnName, findLastIndex); CreateMethodProperty(self.Uint16Array.prototype, fnName, findLastIndex); CreateMethodProperty(self.Int32Array.prototype, fnName, findLastIndex); CreateMethodProperty(self.Uint32Array.prototype, fnName, findLastIndex); CreateMethodProperty(self.Float32Array.prototype, fnName, findLastIndex); CreateMethodProperty(self.Float64Array.prototype, fnName, findLastIndex); } })(); } if (!("Int8Array"in self&&"keys"in self.Int8Array.prototype )) { // TypedArray.prototype.keys /* global CreateMethodProperty, ArrayIterator */ // 23.2.3.19 %TypedArray%.prototype.keys ( ) (function () { function keys() { // 1. Let O be the this value. var O = this; // 2. Perform ? ValidateTypedArray(O). // TODO: Add ValidateTypedArray // 3. Return CreateArrayIterator(O, key). // TODO: Add CreateArrayIterator return new ArrayIterator(O, 'key'); } // use "Int8Array" as a proxy for support of "TypedArray" subclasses var fnName = 'keys' // in IE11, `Int8Array.prototype` inherits directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses CreateMethodProperty(self.Int8Array.prototype.__proto__, fnName, keys); } else { CreateMethodProperty(self.Int8Array.prototype, fnName, keys); CreateMethodProperty(self.Uint8Array.prototype, fnName, keys); CreateMethodProperty(self.Uint8ClampedArray.prototype, fnName, keys); CreateMethodProperty(self.Int16Array.prototype, fnName, keys); CreateMethodProperty(self.Uint16Array.prototype, fnName, keys); CreateMethodProperty(self.Int32Array.prototype, fnName, keys); CreateMethodProperty(self.Uint32Array.prototype, fnName, keys); CreateMethodProperty(self.Float32Array.prototype, fnName, keys); CreateMethodProperty(self.Float64Array.prototype, fnName, keys); } })(); } if (!("Int8Array"in self&&"sort"in self.Int8Array.prototype )) { // TypedArray.prototype.sort /* global CreateMethodProperty, IsCallable */ // 23.2.3.29 %TypedArray%.prototype.sort ( comparefn ) (function () { function sort(comparefn) { // 1. If comparefn is not undefined and IsCallable(comparefn) is false, throw a TypeError exception. if (comparefn !== undefined && IsCallable(comparefn) === false) { throw new TypeError( "The comparison function must be either a function or undefined" ); } // 2. Let obj be the this value. var obj = this; // 3. Perform ? ValidateTypedArray(obj). // TODO: Add ValidateTypedArray // 4. Let len be obj.[[ArrayLength]]. var len = obj.length; // Polyfill.io - This is based on https://github.com/inexorabletash/polyfill/blob/716a3f36ca10fad032083014faf1a47c638e2502/typedarray.js#L848-L858 // 5. NOTE: The following closure performs a numeric comparison rather than the string comparison used in 23.1.3.30. // 6. Let SortCompare be a new Abstract Closure with parameters (x, y) that captures comparefn and performs the following steps when called: // a. Return ? CompareTypedArrayElements(x, y, comparefn). function sortCompare(x, y) { if (x !== x && y !== y) return +0; if (x !== x) return 1; if (y !== y) return -1; if (comparefn !== undefined) { return comparefn(x, y); } if (x < y) return -1; if (x > y) return 1; return +0; } // 7. Let sortedList be ? SortIndexedProperties(obj, len, SortCompare, read-through-holes). var sortedList = Array(len); for (var i = 0; i < len; i++) sortedList[i] = obj[i]; sortedList.sort(sortCompare); // 8. Let j be 0. var j = 0; // 9. Repeat, while j < len, while (j < len) { // a. Perform ! Set(obj, ! ToString(𝔽(j)), sortedList[j], true). obj[j] = sortedList[j]; // b. Set j to j + 1. j = j + 1; } // 10. Return obj. return obj; } // in IE11, `Int8Array.prototype` inherits directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses CreateMethodProperty(self.Int8Array.prototype.__proto__, 'sort', sort); } else { CreateMethodProperty(self.Int8Array.prototype, 'sort', sort); CreateMethodProperty(self.Uint8Array.prototype, 'sort', sort); CreateMethodProperty(self.Uint8ClampedArray.prototype, 'sort', sort); CreateMethodProperty(self.Int16Array.prototype, 'sort', sort); CreateMethodProperty(self.Uint16Array.prototype, 'sort', sort); CreateMethodProperty(self.Int32Array.prototype, 'sort', sort); CreateMethodProperty(self.Uint32Array.prototype, 'sort', sort); CreateMethodProperty(self.Float32Array.prototype, 'sort', sort); CreateMethodProperty(self.Float64Array.prototype, 'sort', sort); } })(); } if (!("Int8Array"in self&&"toReversed"in self.Int8Array.prototype )) { // TypedArray.prototype.toReversed /* global CreateMethodProperty, Get, ToString, TypedArrayCreateSameType */ // 23.2.3.32 %TypedArray%.prototype.toReversed ( ) (function () { function toReversed() { // 1. Let O be the this value. var O = this; // 2. Perform ? ValidateTypedArray(O). // TODO: Add ValidateTypedArray // 3. Let length be O.[[ArrayLength]]. var length = O.length; // 4. Let A be ? TypedArrayCreateSameType(O, « 𝔽(length) »). var A = TypedArrayCreateSameType(O, [ length ]); // 5. Let k be 0. var k = 0; // 6. Repeat, while k < length, while (k < length) { // a. Let from be ! ToString(𝔽(length - k - 1)). var from = ToString(length - k - 1); // b. Let Pk be ! ToString(𝔽(k)). var Pk = ToString(k); // c. Let fromValue be ! Get(O, from). var fromValue = Get(O, from); // d. Perform ! Set(A, Pk, fromValue, true). A[Pk] = fromValue; // e. Set k to k + 1. k = k + 1; } // 7. Return A. return A; } // in IE11, `Int8Array.prototype` inherits directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses CreateMethodProperty(self.Int8Array.prototype.__proto__, 'toReversed', toReversed); } else { CreateMethodProperty(self.Int8Array.prototype, 'toReversed', toReversed); CreateMethodProperty(self.Uint8Array.prototype, 'toReversed', toReversed); CreateMethodProperty(self.Uint8ClampedArray.prototype, 'toReversed', toReversed); CreateMethodProperty(self.Int16Array.prototype, 'toReversed', toReversed); CreateMethodProperty(self.Uint16Array.prototype, 'toReversed', toReversed); CreateMethodProperty(self.Int32Array.prototype, 'toReversed', toReversed); CreateMethodProperty(self.Uint32Array.prototype, 'toReversed', toReversed); CreateMethodProperty(self.Float32Array.prototype, 'toReversed', toReversed); CreateMethodProperty(self.Float64Array.prototype, 'toReversed', toReversed); } })(); } if (!("Int8Array"in self&&"toSorted"in self.Int8Array.prototype )) { // TypedArray.prototype.toSorted /* global CreateMethodProperty, IsCallable, TypedArrayCreateSameType */ // 23.2.3.33 %TypedArray%.prototype.toSorted ( comparefn ) (function () { function toSorted(comparefn) { // 1. If comparefn is not undefined and IsCallable(comparefn) is false, throw a TypeError exception. if (comparefn !== undefined && IsCallable(comparefn) === false) { throw new TypeError( "The comparison function must be either a function or undefined" ); } // 2. Let O be the this value. var O = this; // 3. Perform ? ValidateTypedArray(O). // TODO: Add ValidateTypedArray // 4. Let len be O.[[ArrayLength]]. var len = O.length; // 5. Let A be ? TypedArrayCreateSameType(O, « 𝔽(len) »). var A = TypedArrayCreateSameType(O, [ len ]); // 9. Let j be 0. var j = 0; // 10. Repeat, while j < len, while (j < len) { // a. Perform ! Set(A, ! ToString(𝔽(j)), sortedList[j], true). A[j] = O[j]; // b. Set j to j + 1. j = j + 1; } // Polyfill.io - These steps are handled by native `%TypedArray%.prototype.sort`, below // 6. NOTE: The following closure performs a numeric comparison rather than the string comparison used in 23.1.3.34. // 7. Let SortCompare be a new Abstract Closure with parameters (x, y) that captures comparefn and performs the following steps when called: // a. Return ? CompareTypedArrayElements(x, y, comparefn). // 8. Let sortedList be ? SortIndexedProperties(O, len, SortCompare, read-through-holes). comparefn !== undefined ? A.sort(comparefn) : A.sort(); // 11. Return A. return A; } // in IE11, `Int8Array.prototype` inherits directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses CreateMethodProperty(self.Int8Array.prototype.__proto__, 'toSorted', toSorted); } else { CreateMethodProperty(self.Int8Array.prototype, 'toSorted', toSorted); CreateMethodProperty(self.Uint8Array.prototype, 'toSorted', toSorted); CreateMethodProperty(self.Uint8ClampedArray.prototype, 'toSorted', toSorted); CreateMethodProperty(self.Int16Array.prototype, 'toSorted', toSorted); CreateMethodProperty(self.Uint16Array.prototype, 'toSorted', toSorted); CreateMethodProperty(self.Int32Array.prototype, 'toSorted', toSorted); CreateMethodProperty(self.Uint32Array.prototype, 'toSorted', toSorted); CreateMethodProperty(self.Float32Array.prototype, 'toSorted', toSorted); CreateMethodProperty(self.Float64Array.prototype, 'toSorted', toSorted); } })(); } if (!("Int8Array"in self&&"toString"in self.Int8Array.prototype )) { // TypedArray.prototype.toString /* global CreateMethodProperty */ // 23.2.3.32 %TypedArray%.prototype.toString ( ) // The initial value of the "toString" property is %Array.prototype.toString% // use "Int8Array" as a proxy for all "TypedArray" subclasses (function () { var fnName = 'toString' var fn = Array.prototype.toString // in IE11, `Int8Array.prototype` inherits directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses CreateMethodProperty(self.Int8Array.prototype.__proto__, fnName, fn); } else { CreateMethodProperty(self.Int8Array.prototype, fnName, fn); CreateMethodProperty(self.Uint8Array.prototype, fnName, fn); CreateMethodProperty(self.Uint8ClampedArray.prototype, fnName, fn); CreateMethodProperty(self.Int16Array.prototype, fnName, fn); CreateMethodProperty(self.Uint16Array.prototype, fnName, fn); CreateMethodProperty(self.Int32Array.prototype, fnName, fn); CreateMethodProperty(self.Uint32Array.prototype, fnName, fn); CreateMethodProperty(self.Float32Array.prototype, fnName, fn); CreateMethodProperty(self.Float64Array.prototype, fnName, fn); } })(); } if (!("Int8Array"in self&&"values"in self.Int8Array.prototype )) { // TypedArray.prototype.values /* global CreateMethodProperty, Symbol, ArrayIterator */ // 23.2.3.33 %TypedArray%.prototype.values ( ) (function () { // use "Int8Array" as a proxy for support of "TypedArray" subclasses function createMethodProperties (fn) { var fnName = 'values' // in IE11, `Int8Array.prototype` inherits directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses CreateMethodProperty(self.Int8Array.prototype.__proto__, fnName, fn); } else { CreateMethodProperty(self.Int8Array.prototype, fnName, fn); CreateMethodProperty(self.Uint8Array.prototype, fnName, fn); CreateMethodProperty(self.Uint8ClampedArray.prototype, fnName, fn); CreateMethodProperty(self.Int16Array.prototype, fnName, fn); CreateMethodProperty(self.Uint16Array.prototype, fnName, fn); CreateMethodProperty(self.Int32Array.prototype, fnName, fn); CreateMethodProperty(self.Uint32Array.prototype, fnName, fn); CreateMethodProperty(self.Float32Array.prototype, fnName, fn); CreateMethodProperty(self.Float64Array.prototype, fnName, fn); } } // Polyfill.io - Firefox, Chrome and Opera have %TypedArray%.prototype[Symbol.iterator], which is the exact same function as %TypedArray%.prototype.values. if ('Symbol' in self && 'iterator' in Symbol && typeof self.Int8Array.prototype[Symbol.iterator] === 'function') { createMethodProperties(self.Int8Array.prototype[Symbol.iterator]) } else { createMethodProperties(function values () { // 1. Let O be the this value. var O = this; // 2. Perform ? ValidateTypedArray(O). // TODO: Add ValidateTypedArray // 3. Return CreateArrayIterator(O, value). // TODO: Add CreateArrayIterator return new ArrayIterator(O, 'value'); }); } })(); } if (!("Symbol"in self&&"iterator"in self.Symbol&&"Int8Array"in self&&self.Symbol.iterator in self.Int8Array.prototype )) { // TypedArray.prototype.@@iterator /* global Symbol, CreateMethodProperty */ // 23.2.3.34 %TypedArray%.prototype [ @@iterator ] ( ) // The initial value of the @@iterator property is %TypedArray.prototype.values% // in IE11, `Int8Array.prototype` inherits directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses CreateMethodProperty(self.Int8Array.prototype.__proto__, Symbol.iterator, self.Int8Array.prototype.__proto__.values); } else { CreateMethodProperty(self.Int8Array.prototype, Symbol.iterator, self.Int8Array.prototype.values); CreateMethodProperty(self.Uint8Array.prototype, Symbol.iterator, self.Uint8Array.prototype.values); CreateMethodProperty(self.Uint8ClampedArray.prototype, Symbol.iterator, self.Uint8ClampedArray.prototype.values); CreateMethodProperty(self.Int16Array.prototype, Symbol.iterator, self.Int16Array.prototype.values); CreateMethodProperty(self.Uint16Array.prototype, Symbol.iterator, self.Uint16Array.prototype.values); CreateMethodProperty(self.Int32Array.prototype, Symbol.iterator, self.Int32Array.prototype.values); CreateMethodProperty(self.Uint32Array.prototype, Symbol.iterator, self.Uint32Array.prototype.values); CreateMethodProperty(self.Float32Array.prototype, Symbol.iterator, self.Float32Array.prototype.values); CreateMethodProperty(self.Float64Array.prototype, Symbol.iterator, self.Float64Array.prototype.values); } } if (!("Int8Array"in self&&"with"in self.Int8Array.prototype )) { // TypedArray.prototype.with /* global CreateMethodProperty, Get, IsValidIntegerIndex, ToIntegerOrInfinity, ToNumber, ToString, TypedArrayCreateSameType */ // 23.2.3.36 %TypedArray%.prototype.with ( index, value ) (function () { function With(index, value) { // 1. Let O be the this value. var O = this; // 2. Perform ? ValidateTypedArray(O). // TODO: Add ValidateTypedArray // 3. Let len be O.[[ArrayLength]]. var len = O.length; // 4. Let relativeIndex be ? ToIntegerOrInfinity(index). var relativeIndex = ToIntegerOrInfinity(index); // 5. If relativeIndex ≥ 0, let actualIndex be relativeIndex. // 6. Else, let actualIndex be len + relativeIndex. var actualIndex = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; // 7. If O.[[ContentType]] is BigInt, let numericValue be ? ToBigInt(value). // TODO: Add BigInt support // 8. Else, let numericValue be ? ToNumber(value). var numericValue = ToNumber(value); // 9. If IsValidIntegerIndex(O, 𝔽(actualIndex)) is false, throw a RangeError exception. if (IsValidIntegerIndex(O, actualIndex) === false) { throw new RangeError('Invalid index'); } // 10. Let A be ? TypedArrayCreateSameType(O, « 𝔽(len) »). var A = TypedArrayCreateSameType(O, [ len ]); // 11. Let k be 0. var k = 0; // 12. Repeat, while k < len, while (k < len) { // a. Let Pk be ! ToString(𝔽(k)). var Pk = ToString(k); // b. If k is actualIndex, let fromValue be numericValue. // c. Else, let fromValue be ! Get(O, Pk). var fromValue = k === actualIndex ? numericValue : Get(O, Pk); // d. Perform ! Set(A, Pk, fromValue, true). A[Pk] = fromValue; // e. Set k to k + 1. k = k + 1; } // 13. Return A. return A; } var supportsDefiningFunctionName = (function () { var fn = function () {}; try { Object.defineProperty(fn, 'name', { value: 'test' }); return true; } catch (ignore) { return false; } })(); if (supportsDefiningFunctionName) { Object.defineProperty(With, 'name', { value: 'with', writable: false, enumerable: false, configurable: true }) } // in IE11, `Int8Array.prototype` inherits directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses CreateMethodProperty(self.Int8Array.prototype.__proto__, 'with', With); } else { CreateMethodProperty(self.Int8Array.prototype, 'with', With); CreateMethodProperty(self.Uint8Array.prototype, 'with', With); CreateMethodProperty(self.Uint8ClampedArray.prototype, 'with', With); CreateMethodProperty(self.Int16Array.prototype, 'with', With); CreateMethodProperty(self.Uint16Array.prototype, 'with', With); CreateMethodProperty(self.Int32Array.prototype, 'with', With); CreateMethodProperty(self.Uint32Array.prototype, 'with', With); CreateMethodProperty(self.Float32Array.prototype, 'with', With); CreateMethodProperty(self.Float64Array.prototype, 'with', With); } })(); } if (!((function(r){"use strict" try{var a=new r.URL("http://example.com") if("href"in a&&"searchParams"in a){var e=new URL("http://example.com") if(e.search="a=1&b=2","http://example.com/?a=1&b=2"===e.href&&(e.search="","http://example.com/"===e.href)){if(!("sort"in r.URLSearchParams.prototype))return!1 var t=new r.URLSearchParams("a=1"),n=new r.URLSearchParams(t) if("a=1"!==String(n))return!1 var c=new r.URLSearchParams({a:"1"}) if("a=1"!==String(c))return!1 var h=new r.URLSearchParams([["a","1"]]) return"a=1"===String(h)}}return!1}catch(r){return!1}})(self) )) { // URL /* global Symbol */ // URL Polyfill // Draft specification: https://url.spec.whatwg.org // Notes: // - Primarily useful for parsing URLs and modifying query parameters // - Should work in IE9+ and everything more modern, with es5.js polyfills (function (global) { 'use strict'; function isSequence(o) { if (!o) return false; if ('Symbol' in global && 'iterator' in global.Symbol && typeof o[Symbol.iterator] === 'function') return true; if (Array.isArray(o)) return true; return false; } ;(function() { // eslint-disable-line no-extra-semi // Browsers may have: // * No global URL object // * URL with static methods only - may have a dummy constructor // * URL with members except searchParams // * Full URL API support var origURL = global.URL; var nativeURL; try { if (origURL) { nativeURL = new global.URL('http://example.com'); if ('searchParams' in nativeURL) { var url = new URL('http://example.com'); url.search = 'a=1&b=2'; if (url.href === 'http://example.com/?a=1&b=2') { url.search = ''; if (url.href === 'http://example.com/') { return; } } } if (!('href' in nativeURL)) { nativeURL = undefined; } nativeURL = undefined; } // eslint-disable-next-line no-empty } catch (_) {} // NOTE: Doesn't do the encoding/decoding dance function urlencoded_serialize(pairs) { var output = '', first = true; pairs.forEach(function (pair) { var name = encodeURIComponent(pair.name); var value = encodeURIComponent(pair.value); if (!first) output += '&'; output += name + '=' + value; first = false; }); return output.replace(/%20/g, '+'); } // https://url.spec.whatwg.org/#percent-decode var cachedDecodePattern; function percent_decode(bytes) { // This can't simply use decodeURIComponent (part of ECMAScript) as that's limited to // decoding to valid UTF-8 only. It throws URIError for literals that look like percent // encoding (e.g. `x=%`, `x=%a`, and `x=a%2sf`) and for non-UTF8 binary data that was // percent encoded and cannot be turned back into binary within a JavaScript string. // // The spec deals with this as follows: // * Read input as UTF-8 encoded bytes. This needs low-level access or a modern // Web API, like TextDecoder. Old browsers don't have that, and it'd a large // dependency to add to this polyfill. // * For each percentage sign followed by two hex, blindly decode the byte in binary // form. This would require TextEncoder to not corrupt multi-byte chars. // * Replace any bytes that would be invalid under UTF-8 with U+FFFD. // // Instead we: // * Use the fact that UTF-8 is designed to make validation easy in binary. // You don't have to decode first. There are only a handful of valid prefixes and // ranges, per RFC 3629. // * Safely create multi-byte chars with decodeURIComponent, by only passing it // valid and full characters (e.g. "%F0" separately from "%F0%9F%92%A9" throws). // Anything else is kept as literal or replaced with U+FFFD, as per the URL spec. if (!cachedDecodePattern) { // In a UTF-8 multibyte sequence, non-initial bytes are always between %80 and %BF var uContinuation = '%[89AB][0-9A-F]'; // The length of a UTF-8 sequence is specified by the first byte // // One-byte sequences: 0xxxxxxx // So the byte is between %00 and %7F var u1Bytes = '%[0-7][0-9A-F]'; // Two-byte sequences: 110xxxxx 10xxxxxx // So the first byte is between %C0 and %DF var u2Bytes = '%[CD][0-9A-F]' + uContinuation; // Three-byte sequences: 1110xxxx 10xxxxxx 10xxxxxx // So the first byte is between %E0 and %EF var u3Bytes = '%E[0-9A-F]' + uContinuation + uContinuation; // Four-byte sequences: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx // So the first byte is between %F0 and %F7 var u4Bytes = '%F[0-7]' + uContinuation + uContinuation +uContinuation; var anyByte = '%[0-9A-F][0-9A-F]'; // Match some consecutive percent-escaped bytes. More precisely, match // 1-4 bytes that validly encode one character in UTF-8, or 1 byte that // would be invalid in UTF-8 in this location. cachedDecodePattern = new RegExp( '(' + u4Bytes + ')|(' + u3Bytes + ')|(' + u2Bytes + ')|(' + u1Bytes + ')|(' + anyByte + ')', 'gi' ); } return bytes.replace(cachedDecodePattern, function (match, u4, u3, u2, u1, uBad) { return (uBad !== undefined) ? '\uFFFD' : decodeURIComponent(match); }); } // NOTE: Doesn't do the encoding/decoding dance // // https://url.spec.whatwg.org/#concept-urlencoded-parser function urlencoded_parse(input, isindex) { var sequences = input.split('&'); if (isindex && sequences[0].indexOf('=') === -1) sequences[0] = '=' + sequences[0]; var pairs = []; sequences.forEach(function (bytes) { if (bytes.length === 0) return; var index = bytes.indexOf('='); if (index !== -1) { var name = bytes.substring(0, index); var value = bytes.substring(index + 1); } else { name = bytes; value = ''; } name = name.replace(/\+/g, ' '); value = value.replace(/\+/g, ' '); pairs.push({ name: name, value: value }); }); var output = []; pairs.forEach(function (pair) { output.push({ name: percent_decode(pair.name), value: percent_decode(pair.value) }); }); return output; } function URLUtils(url) { if (nativeURL) return new origURL(url); var anchor = document.createElement('a'); anchor.href = url; return anchor; } function URLSearchParams(init) { var $this = this; this._list = []; if (init === undefined || init === null) { // no-op } else if (init instanceof URLSearchParams) { // In ES6 init would be a sequence, but special case for ES5. this._list = urlencoded_parse(String(init)); } else if (typeof init === 'object' && isSequence(init)) { Array.from(init).forEach(function(e) { if (!isSequence(e)) throw TypeError(); var nv = Array.from(e); if (nv.length !== 2) throw TypeError(); $this._list.push({name: String(nv[0]), value: String(nv[1])}); }); } else if (typeof init === 'object' && init) { Object.keys(init).forEach(function(key) { $this._list.push({name: String(key), value: String(init[key])}); }); } else { init = String(init); if (init.substring(0, 1) === '?') init = init.substring(1); this._list = urlencoded_parse(init); } this._url_object = null; this._setList = function (list) { if (!updating) $this._list = list; }; var updating = false; this._update_steps = function() { if (updating) return; updating = true; if (!$this._url_object) return; // Partial workaround for IE issue with 'about:' if ($this._url_object.protocol === 'about:' && $this._url_object.pathname.indexOf('?') !== -1) { $this._url_object.pathname = $this._url_object.pathname.split('?')[0]; } $this._url_object.search = urlencoded_serialize($this._list); updating = false; }; } Object.defineProperties(URLSearchParams.prototype, { append: { value: function (name, value) { this._list.push({ name: name, value: value }); this._update_steps(); }, writable: true, enumerable: true, configurable: true }, 'delete': { value: function (name) { for (var i = 0; i < this._list.length;) { if (this._list[i].name === name) this._list.splice(i, 1); else ++i; } this._update_steps(); }, writable: true, enumerable: true, configurable: true }, get: { value: function (name) { for (var i = 0; i < this._list.length; ++i) { if (this._list[i].name === name) return this._list[i].value; } return null; }, writable: true, enumerable: true, configurable: true }, getAll: { value: function (name) { var result = []; for (var i = 0; i < this._list.length; ++i) { if (this._list[i].name === name) result.push(this._list[i].value); } return result; }, writable: true, enumerable: true, configurable: true }, has: { value: function (name) { for (var i = 0; i < this._list.length; ++i) { if (this._list[i].name === name) return true; } return false; }, writable: true, enumerable: true, configurable: true }, set: { value: function (name, value) { var found = false; for (var i = 0; i < this._list.length;) { if (this._list[i].name === name) { if (!found) { this._list[i].value = value; found = true; ++i; } else { this._list.splice(i, 1); } } else { ++i; } } if (!found) this._list.push({ name: name, value: value }); this._update_steps(); }, writable: true, enumerable: true, configurable: true }, entries: { value: function() { return new Iterator(this._list, 'key+value'); }, writable: true, enumerable: true, configurable: true }, keys: { value: function() { return new Iterator(this._list, 'key'); }, writable: true, enumerable: true, configurable: true }, values: { value: function() { return new Iterator(this._list, 'value'); }, writable: true, enumerable: true, configurable: true }, forEach: { value: function(callback) { var thisArg = (arguments.length > 1) ? arguments[1] : undefined; this._list.forEach(function(pair) { callback.call(thisArg, pair.value, pair.name); }); }, writable: true, enumerable: true, configurable: true }, toString: { value: function () { return urlencoded_serialize(this._list); }, writable: true, enumerable: false, configurable: true }, sort: { value: function sort() { var entries = this.entries(); var entry = entries.next(); var keys = []; var values = {}; while (!entry.done) { var value = entry.value; var key = value[0]; keys.push(key); if (!(Object.prototype.hasOwnProperty.call(values, key))) { values[key] = []; } values[key].push(value[1]); entry = entries.next(); } keys.sort(); for (var i = 0; i < keys.length; i++) { this.delete(keys[i]); } for (var j = 0; j < keys.length; j++) { key = keys[j]; this.append(key, values[key].shift()); } } } }); function Iterator(source, kind) { var index = 0; this.next = function() { if (index >= source.length) return {done: true, value: undefined}; var pair = source[index++]; return {done: false, value: kind === 'key' ? pair.name : kind === 'value' ? pair.value : [pair.name, pair.value]}; }; } if ('Symbol' in global && 'iterator' in global.Symbol) { Object.defineProperty(URLSearchParams.prototype, global.Symbol.iterator, { value: URLSearchParams.prototype.entries, writable: true, enumerable: true, configurable: true}); Object.defineProperty(Iterator.prototype, global.Symbol.iterator, { value: function() { return this; }, writable: true, enumerable: true, configurable: true}); } function URL(url, base) { if (!(this instanceof global.URL)) throw new TypeError("Failed to construct 'URL': Please use the 'new' operator."); if (base) { url = (function () { if (nativeURL) return new origURL(url, base).href; var iframe; try { var doc; // Use another document/base tag/anchor for relative URL resolution, if possible if (Object.prototype.toString.call(window.operamini) === "[object OperaMini]") { iframe = document.createElement('iframe'); iframe.style.display = 'none'; document.documentElement.appendChild(iframe); doc = iframe.contentWindow.document; } else if (document.implementation && document.implementation.createHTMLDocument) { doc = document.implementation.createHTMLDocument(''); } else if (document.implementation && document.implementation.createDocument) { doc = document.implementation.createDocument('http://www.w3.org/1999/xhtml', 'html', null); doc.documentElement.appendChild(doc.createElement('head')); doc.documentElement.appendChild(doc.createElement('body')); } else if (window.ActiveXObject) { doc = new window.ActiveXObject('htmlfile'); doc.write(''); doc.close(); } if (!doc) throw Error('base not supported'); var baseTag = doc.createElement('base'); baseTag.href = base; doc.getElementsByTagName('head')[0].appendChild(baseTag); var anchor = doc.createElement('a'); anchor.href = url; return anchor.href; } finally { if (iframe) iframe.parentNode.removeChild(iframe); } }()); } // An inner object implementing URLUtils (either a native URL // object or an HTMLAnchorElement instance) is used to perform the // URL algorithms. var instance = URLUtils(url || ''); var self = this; var query_object = new URLSearchParams( instance.search ? instance.search.substring(1) : null); query_object._url_object = self; Object.defineProperties(self, { href: { get: function () { return instance.href; }, set: function (v) { instance.href = v; tidy_instance(); update_steps(); }, enumerable: true, configurable: true }, origin: { get: function () { if (this.protocol.toLowerCase() === "data:") { return null } if ('origin' in instance) return instance.origin; return this.protocol + '//' + this.host; }, enumerable: true, configurable: true }, protocol: { get: function () { return instance.protocol; }, set: function (v) { instance.protocol = v; }, enumerable: true, configurable: true }, username: { get: function () { return instance.username; }, set: function (v) { instance.username = v; }, enumerable: true, configurable: true }, password: { get: function () { return instance.password; }, set: function (v) { instance.password = v; }, enumerable: true, configurable: true }, host: { get: function () { // IE returns default port in |host| var re = {'http:': /:80$/, 'https:': /:443$/, 'ftp:': /:21$/}[instance.protocol]; return re ? instance.host.replace(re, '') : instance.host; }, set: function (v) { instance.host = v; }, enumerable: true, configurable: true }, hostname: { get: function () { return instance.hostname; }, set: function (v) { instance.hostname = v; }, enumerable: true, configurable: true }, port: { get: function () { return instance.port; }, set: function (v) { instance.port = v; }, enumerable: true, configurable: true }, pathname: { get: function () { // IE does not include leading '/' in |pathname| if (instance.pathname.charAt(0) !== '/') return '/' + instance.pathname; return instance.pathname; }, set: function (v) { instance.pathname = v; }, enumerable: true, configurable: true }, search: { get: function () { return instance.search; }, set: function (v) { if (instance.search === v) return; instance.search = v; tidy_instance(); update_steps(); }, enumerable: true, configurable: true }, searchParams: { get: function () { return query_object; }, enumerable: true, configurable: true }, hash: { get: function () { return instance.hash; }, set: function (v) { instance.hash = v; tidy_instance(); }, enumerable: true, configurable: true }, toString: { value: function() { return instance.toString(); }, enumerable: false, configurable: true }, valueOf: { value: function() { return instance.valueOf(); }, enumerable: false, configurable: true } }); function tidy_instance() { var href = instance.href.replace(/#$|\?$|\?(?=#)/g, ''); if (instance.href !== href) instance.href = href; } function update_steps() { query_object._setList(instance.search ? urlencoded_parse(instance.search.substring(1)) : []); query_object._update_steps(); } return self; } if (origURL) { for (var i in origURL) { if (Object.prototype.hasOwnProperty.call(origURL, i) && typeof origURL[i] === 'function') URL[i] = origURL[i]; } } global.URL = URL; global.URLSearchParams = URLSearchParams; })(); // Patch native URLSearchParams constructor to handle sequences/records // if necessary. (function() { if (new global.URLSearchParams([['a', 1]]).get('a') === '1' && new global.URLSearchParams({a: 1}).get('a') === '1') return; var orig = global.URLSearchParams; global.URLSearchParams = function(init) { if (init && typeof init === 'object' && isSequence(init)) { var o = new orig(); Array.from(init).forEach(function (e) { if (!isSequence(e)) throw TypeError(); var nv = Array.from(e); if (nv.length !== 2) throw TypeError(); o.append(nv[0], nv[1]); }); return o; } else if (init && typeof init === 'object') { o = new orig(); Object.keys(init).forEach(function(key) { o.set(key, init[key]); }); return o; } else { return new orig(init); } }; })(); }(self)); } if (!((function(){try{if("WeakMap"in self&&0===self.WeakMap.length){var e={},t=new self.WeakMap([[e,"test"]]) return"test"===t.get(e)&&!1===t.delete(0)&&"toStringTag"in self.Symbol&&void 0!==t[self.Symbol.toStringTag]}return!1}catch(e){return!1}})() )) { // WeakMap /* globals Symbol, OrdinaryCreateFromConstructor, IsCallable, GetIterator, IteratorStep, IteratorValue, IteratorClose, Get, Call, CreateMethodProperty, Type, SameValue */ (function (global) { // Deleted map items mess with iterator pointers, so rather than removing them mark them as deleted. Can't use undefined or null since those both valid keys so use a private symbol. var undefMarker = Symbol('undef'); // 23.3.1.1 WeakMap ( [ iterable ] ) var WeakMap = function WeakMap(/* iterable */) { // 1. If NewTarget is undefined, throw a TypeError exception. if (!(this instanceof WeakMap)) { throw new TypeError('Constructor WeakMap requires "new"'); } // 2. Let map be ? OrdinaryCreateFromConstructor(NewTarget, "%WeakMapPrototype%", « [[WeakMapData]] »). var map = OrdinaryCreateFromConstructor(this, WeakMap.prototype, { _keys: [], _values: [], _es6WeakMap: true }); // 3. Set map.[[WeakMapData]] to a new empty List. // Polyfill.io - This step was done as part of step two. // 4. If iterable is not present, let iterable be undefined. var iterable = arguments.length > 0 ? arguments[0] : undefined; // 5. If iterable is either undefined or null, return map. if (iterable === null || iterable === undefined) { return map; } // 6. Let adder be ? Get(map, "set"). var adder = Get(map, "set"); // 7. If IsCallable(adder) is false, throw a TypeError exception. if (!IsCallable(adder)) { throw new TypeError("WeakMap.prototype.set is not a function"); } // 8. Let iteratorRecord be ? GetIterator(iterable). try { var iteratorRecord = GetIterator(iterable); // 9. Repeat, // eslint-disable-next-line no-constant-condition while (true) { // a. Let next be ? IteratorStep(iteratorRecord). var next = IteratorStep(iteratorRecord); // b. If next is false, return map. if (next === false) { return map; } // c. Let nextItem be ? IteratorValue(next). var nextItem = IteratorValue(next); // d. If Type(nextItem) is not Object, then if (Type(nextItem) !== 'object') { // i. Let error be Completion{[[Type]]: throw, [[Value]]: a newly created TypeError object, [[Target]]: empty}. try { throw new TypeError('Iterator value ' + nextItem + ' is not an entry object'); } catch (error) { // ii. Return ? IteratorClose(iteratorRecord, error). return IteratorClose(iteratorRecord, error); } } try { // Polyfill.io - The try catch accounts for steps: f, h, and j. // e. Let k be Get(nextItem, "0"). var k = Get(nextItem, "0"); // f. If k is an abrupt completion, return ? IteratorClose(iteratorRecord, k). // g. Let v be Get(nextItem, "1"). var v = Get(nextItem, "1"); // h. If v is an abrupt completion, return ? IteratorClose(iteratorRecord, v). // i. Let status be Call(adder, map, « k.[[Value]], v.[[Value]] »). Call(adder, map, [k, v]); } catch (e) { // j. If status is an abrupt completion, return ? IteratorClose(iteratorRecord, status). return IteratorClose(iteratorRecord, e); } } } catch (e) { // Polyfill.io - For user agents which do not have iteration methods on argument objects or arrays, we can special case those. if (Array.isArray(iterable) || Object.prototype.toString.call(iterable) === '[object Arguments]') { var index; var length = iterable.length; for (index = 0; index < length; index++) { k = iterable[index][0]; v = iterable[index][1]; Call(adder, map, [k, v]); } } } return map; }; // 23.3.2.1 WeakMap.prototype // The initial value of WeakMap.prototype is the intrinsic object %WeakMapPrototype%. // This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }. Object.defineProperty(WeakMap, 'prototype', { configurable: false, enumerable: false, writable: false, value: {} }); // 23.3.3.1 WeakMap.prototype.constructor CreateMethodProperty(WeakMap.prototype, 'constructor', WeakMap); // 23.3.3.2 WeakMap.prototype.delete ( key ) CreateMethodProperty(WeakMap.prototype, 'delete', function (key) { // 1. Let M be the this value. var M = this; // 2. If Type(M) is not Object, throw a TypeError exception. if (Type(M) !== 'object') { throw new TypeError('Method WeakMap.prototype.clear called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 3. If M does not have a [[WeakMapData]] internal slot, throw a TypeError exception. if (M._es6WeakMap !== true) { throw new TypeError('Method WeakMap.prototype.clear called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 4. Let entries be the List that is M.[[WeakMapData]]. var entries = M._keys; // 5. If Type(key) is not Object, return false. if (Type(key) !== 'object') { return false; } // 6. For each Record {[[Key]], [[Value]]} p that is an element of entries, do for (var i = 0; i < entries.length; i++) { // a. If p.[[Key]] is not empty and SameValue(p.[[Key]], key) is true, then if (M._keys[i] !== undefMarker && SameValue(M._keys[i], key)) { // i. Set p.[[Key]] to empty. this._keys[i] = undefMarker; // ii. Set p.[[Value]] to empty. this._values[i] = undefMarker; this._size = --this._size; // iii. Return true. return true; } } // 7. Return false. return false; }); // 23.3.3.3 WeakMap.prototype.get ( key ) CreateMethodProperty(WeakMap.prototype, 'get', function get(key) { // 1. Let M be the this value. var M = this; // 2. If Type(M) is not Object, throw a TypeError exception. if (Type(M) !== 'object') { throw new TypeError('Method WeakMap.prototype.get called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 3. If M does not have a [[WeakMapData]] internal slot, throw a TypeError exception. if (M._es6WeakMap !== true) { throw new TypeError('Method WeakMap.prototype.get called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 4. Let entries be the List that is M.[[WeakMapData]]. var entries = M._keys; // 5. If Type(key) is not Object, return undefined. if (Type(key) !== 'object') { return undefined; } // 6. For each Record {[[Key]], [[Value]]} p that is an element of entries, do for (var i = 0; i < entries.length; i++) { // a. If p.[[Key]] is not empty and SameValue(p.[[Key]], key) is true, return p.[[Value]]. if (M._keys[i] !== undefMarker && SameValue(M._keys[i], key)) { return M._values[i]; } } // 7. Return undefined. return undefined; }); // 23.3.3.4 WeakMap.prototype.has ( key ) CreateMethodProperty(WeakMap.prototype, 'has', function has(key) { // 1. Let M be the this value. var M = this; // 2. If Type(M) is not Object, throw a TypeError exception. if (typeof M !== 'object') { throw new TypeError('Method WeakMap.prototype.has called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 3. If M does not have a [[WeakMapData]] internal slot, throw a TypeError exception. if (M._es6WeakMap !== true) { throw new TypeError('Method WeakMap.prototype.has called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 4. Let entries be the List that is M.[[WeakMapData]]. var entries = M._keys; // 5. If Type(key) is not Object, return false. if (Type(key) !== 'object') { return false; } // 6. For each Record {[[Key]], [[Value]]} p that is an element of entries, do for (var i = 0; i < entries.length; i++) { // a. If p.[[Key]] is not empty and SameValue(p.[[Key]], key) is true, return true. if (M._keys[i] !== undefMarker && SameValue(M._keys[i], key)) { return true; } } // 7. Return false. return false; }); // 23.3.3.5 WeakMap.prototype.set ( key, value ) CreateMethodProperty(WeakMap.prototype, 'set', function set(key, value) { // 1. Let M be the this value. var M = this; // 2. If Type(M) is not Object, throw a TypeError exception. if (Type(M) !== 'object') { throw new TypeError('Method WeakMap.prototype.set called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 3. If M does not have a [[WeakMapData]] internal slot, throw a TypeError exception. if (M._es6WeakMap !== true) { throw new TypeError('Method WeakMap.prototype.set called on incompatible receiver ' + Object.prototype.toString.call(M)); } // 4. Let entries be the List that is M.[[WeakMapData]]. var entries = M._keys; // 5. If Type(key) is not Object, throw a TypeError exception. if (Type(key) !== 'object') { throw new TypeError("Invalid value used as weak map key"); } // 6. For each Record {[[Key]], [[Value]]} p that is an element of entries, do for (var i = 0; i < entries.length; i++) { // a. If p.[[Key]] is not empty and SameValue(p.[[Key]], key) is true, then if (M._keys[i] !== undefMarker && SameValue(M._keys[i], key)) { // i. Set p.[[Value]] to value. M._values[i] = value; // ii. Return M. return M; } } // 7. Let p be the Record {[[Key]]: key, [[Value]]: value}. var p = { '[[Key]]': key, '[[Value]]': value }; // 8. Append p as the last element of entries. M._keys.push(p['[[Key]]']); M._values.push(p['[[Value]]']); // 9. Return M. return M; }); // 23.3.3.6 WeakMap.prototype [ @@toStringTag ] // The initial value of the @@toStringTag property is the String value "WeakMap". // This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. Object.defineProperty(WeakMap.prototype, Symbol.toStringTag, { configurable: true, enumerable: false, writable: false, value: 'WeakMap' }); // Polyfill.io - Safari 8 implements WeakMap.name but as a non-writable property, which means it would throw an error if we try and write to it here. if (!('name' in WeakMap)) { // 19.2.4.2 name Object.defineProperty(WeakMap, 'name', { configurable: true, enumerable: false, writable: false, value: 'WeakMap' }); } // Export the object CreateMethodProperty(global, 'WeakMap', WeakMap); }(self)); } if (!("Intl"in self&&"Locale"in self.Intl )) { // Intl.Locale (function() { var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __markAsModule = function(target) { return __defProp(target, "__esModule", {value: true}); }; var __commonJS = function(cb, mod) { return function __require() { return mod || (0, cb[Object.keys(cb)[0]])((mod = {exports: {}}).exports, mod), mod.exports; }; }; var __reExport = function(target, module, desc) { if (module && typeof module === "object" || typeof module === "function") for (var keys = __getOwnPropNames(module), i = 0, n = keys.length, key; i < n; i++) { key = keys[i]; if (!__hasOwnProp.call(target, key) && key !== "default") __defProp(target, key, {get: function(k) { return module[k]; }.bind(null, key), enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable}); } return target; }; var __toModule = function(module) { return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? {get: function() { return module.default; }, enumerable: true} : {value: module, enumerable: true})), module); }; // node_modules/tslib/tslib.js var require_tslib = __commonJS({ "node_modules/tslib/tslib.js": function(exports, module) { var __extends2; var __assign5; var __rest; var __decorate; var __param; var __metadata; var __awaiter; var __generator; var __exportStar; var __values; var __read; var __spread; var __spreadArrays; var __spreadArray2; var __await; var __asyncGenerator; var __asyncDelegator; var __asyncValues; var __makeTemplateObject; var __importStar; var __importDefault; var __classPrivateFieldGet; var __classPrivateFieldSet; var __createBinding; (function(factory) { var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {}; if (typeof define === "function" && define.amd) { define("tslib", ["exports"], function(exports2) { factory(createExporter(root, createExporter(exports2))); }); } else if (typeof module === "object" && typeof module.exports === "object") { factory(createExporter(root, createExporter(module.exports))); } else { factory(createExporter(root)); } function createExporter(exports2, previous) { if (exports2 !== root) { if (typeof Object.create === "function") { Object.defineProperty(exports2, "__esModule", {value: true}); } else { exports2.__esModule = true; } } return function(id, v) { return exports2[id] = previous ? previous(id, v) : v; }; } })(function(exporter) { var extendStatics = Object.setPrototypeOf || {__proto__: []} instanceof Array && function(d, b) { d.__proto__ = b; } || function(d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; __extends2 = function(d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; __assign5 = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; __rest = function(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; __decorate = function(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; __param = function(paramIndex, decorator) { return function(target, key) { decorator(target, key, paramIndex); }; }; __metadata = function(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); }; __awaiter = function(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; __generator = function(thisArg, body) { var _ = {label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: []}, f, y, t, g; return g = {next: verb(0), "throw": verb(1), "return": verb(2)}, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function(v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return {value: op[1], done: false}; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return {value: op[0] ? op[1] : void 0, done: true}; } }; __exportStar = function(m, o) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); }; __createBinding = Object.create ? function(o, m, k, k2) { if (k2 === void 0) k2 = k; Object.defineProperty(o, k2, {enumerable: true, get: function() { return m[k]; }}); } : function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; }; __values = function(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function() { if (o && i >= o.length) o = void 0; return {value: o && o[i++], done: !o}; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); }; __read = function(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = {error: error}; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; __spread = function() { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; __spreadArrays = function() { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; __spreadArray2 = function(to, from) { for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) to[j] = from[i]; return to; }; __await = function(v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }; __asyncGenerator = function(thisArg, _arguments, generator) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var g = generator.apply(thisArg, _arguments || []), i, q = []; return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { return this; }, i; function verb(n) { if (g[n]) i[n] = function(v) { return new Promise(function(a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } }; __asyncDelegator = function(o) { var i, p; return i = {}, verb("next"), verb("throw", function(e) { throw e; }), verb("return"), i[Symbol.iterator] = function() { return this; }, i; function verb(n, f) { i[n] = o[n] ? function(v) { return (p = !p) ? {value: __await(o[n](v)), done: n === "return"} : f ? f(v) : v; } : f; } }; __asyncValues = function(o) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var m = o[Symbol.asyncIterator], i; return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { return this; }, i); function verb(n) { i[n] = o[n] && function(v) { return new Promise(function(resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v2) { resolve({value: v2, done: d}); }, reject); } }; __makeTemplateObject = function(cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", {value: raw}); } else { cooked.raw = raw; } return cooked; }; var __setModuleDefault = Object.create ? function(o, v) { Object.defineProperty(o, "default", {enumerable: true, value: v}); } : function(o, v) { o["default"] = v; }; __importStar = function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); } __setModuleDefault(result, mod); return result; }; __importDefault = function(mod) { return mod && mod.__esModule ? mod : {"default": mod}; }; __classPrivateFieldGet = function(receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; __classPrivateFieldSet = function(receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; }; exporter("__extends", __extends2); exporter("__assign", __assign5); exporter("__rest", __rest); exporter("__decorate", __decorate); exporter("__param", __param); exporter("__metadata", __metadata); exporter("__awaiter", __awaiter); exporter("__generator", __generator); exporter("__exportStar", __exportStar); exporter("__createBinding", __createBinding); exporter("__values", __values); exporter("__read", __read); exporter("__spread", __spread); exporter("__spreadArrays", __spreadArrays); exporter("__spreadArray", __spreadArray2); exporter("__await", __await); exporter("__asyncGenerator", __asyncGenerator); exporter("__asyncDelegator", __asyncDelegator); exporter("__asyncValues", __asyncValues); exporter("__makeTemplateObject", __makeTemplateObject); exporter("__importStar", __importStar); exporter("__importDefault", __importDefault); exporter("__classPrivateFieldGet", __classPrivateFieldGet); exporter("__classPrivateFieldSet", __classPrivateFieldSet); }); } }); // bazel-out/darwin-fastbuild/bin/packages/intl-getcanonicallocales/src/parser.js var require_parser = __commonJS({ "bazel-out/darwin-fastbuild/bin/packages/intl-getcanonicallocales/src/parser.js": function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", {value: true}); exports.parseUnicodeLocaleId = exports.parseUnicodeLanguageId = exports.isUnicodeVariantSubtag = exports.isUnicodeScriptSubtag = exports.isUnicodeRegionSubtag = exports.isStructurallyValidLanguageTag = exports.isUnicodeLanguageSubtag = exports.SEPARATOR = void 0; var tslib_1 = require_tslib(); var ALPHANUM_1_8 = /^[a-z0-9]{1,8}$/i; var ALPHANUM_2_8 = /^[a-z0-9]{2,8}$/i; var ALPHANUM_3_8 = /^[a-z0-9]{3,8}$/i; var KEY_REGEX = /^[a-z0-9][a-z]$/i; var TYPE_REGEX = /^[a-z0-9]{3,8}$/i; var ALPHA_4 = /^[a-z]{4}$/i; var OTHER_EXTENSION_TYPE = /^[0-9a-svwyz]$/i; var UNICODE_REGION_SUBTAG_REGEX = /^([a-z]{2}|[0-9]{3})$/i; var UNICODE_VARIANT_SUBTAG_REGEX = /^([a-z0-9]{5,8}|[0-9][a-z0-9]{3})$/i; var UNICODE_LANGUAGE_SUBTAG_REGEX = /^([a-z]{2,3}|[a-z]{5,8})$/i; var TKEY_REGEX = /^[a-z][0-9]$/i; exports.SEPARATOR = "-"; function isUnicodeLanguageSubtag2(lang) { return UNICODE_LANGUAGE_SUBTAG_REGEX.test(lang); } exports.isUnicodeLanguageSubtag = isUnicodeLanguageSubtag2; function isStructurallyValidLanguageTag2(tag) { try { parseUnicodeLanguageId2(tag.split(exports.SEPARATOR)); } catch (e) { return false; } return true; } exports.isStructurallyValidLanguageTag = isStructurallyValidLanguageTag2; function isUnicodeRegionSubtag2(region) { return UNICODE_REGION_SUBTAG_REGEX.test(region); } exports.isUnicodeRegionSubtag = isUnicodeRegionSubtag2; function isUnicodeScriptSubtag2(script) { return ALPHA_4.test(script); } exports.isUnicodeScriptSubtag = isUnicodeScriptSubtag2; function isUnicodeVariantSubtag(variant) { return UNICODE_VARIANT_SUBTAG_REGEX.test(variant); } exports.isUnicodeVariantSubtag = isUnicodeVariantSubtag; function parseUnicodeLanguageId2(chunks) { if (typeof chunks === "string") { chunks = chunks.split(exports.SEPARATOR); } var lang = chunks.shift(); if (!lang) { throw new RangeError("Missing unicode_language_subtag"); } if (lang === "root") { return {lang: "root", variants: []}; } if (!isUnicodeLanguageSubtag2(lang)) { throw new RangeError("Malformed unicode_language_subtag"); } var script; if (chunks.length && isUnicodeScriptSubtag2(chunks[0])) { script = chunks.shift(); } var region; if (chunks.length && isUnicodeRegionSubtag2(chunks[0])) { region = chunks.shift(); } var variants = {}; while (chunks.length && isUnicodeVariantSubtag(chunks[0])) { var variant = chunks.shift(); if (variant in variants) { throw new RangeError('Duplicate variant "' + variant + '"'); } variants[variant] = 1; } return { lang: lang, script: script, region: region, variants: Object.keys(variants) }; } exports.parseUnicodeLanguageId = parseUnicodeLanguageId2; function parseUnicodeExtension(chunks) { var keywords = []; var keyword; while (chunks.length && (keyword = parseKeyword(chunks))) { keywords.push(keyword); } if (keywords.length) { return { type: "u", keywords: keywords, attributes: [] }; } var attributes = []; while (chunks.length && ALPHANUM_3_8.test(chunks[0])) { attributes.push(chunks.shift()); } while (chunks.length && (keyword = parseKeyword(chunks))) { keywords.push(keyword); } if (keywords.length || attributes.length) { return { type: "u", attributes: attributes, keywords: keywords }; } throw new RangeError("Malformed unicode_extension"); } function parseKeyword(chunks) { var key; if (!KEY_REGEX.test(chunks[0])) { return; } key = chunks.shift(); var type = []; while (chunks.length && TYPE_REGEX.test(chunks[0])) { type.push(chunks.shift()); } var value = ""; if (type.length) { value = type.join(exports.SEPARATOR); } return [key, value]; } function parseTransformedExtension(chunks) { var lang; try { lang = parseUnicodeLanguageId2(chunks); } catch (e) { } var fields = []; while (chunks.length && TKEY_REGEX.test(chunks[0])) { var key = chunks.shift(); var value = []; while (chunks.length && ALPHANUM_3_8.test(chunks[0])) { value.push(chunks.shift()); } if (!value.length) { throw new RangeError('Missing tvalue for tkey "' + key + '"'); } fields.push([key, value.join(exports.SEPARATOR)]); } if (fields.length) { return { type: "t", fields: fields, lang: lang }; } throw new RangeError("Malformed transformed_extension"); } function parsePuExtension(chunks) { var exts = []; while (chunks.length && ALPHANUM_1_8.test(chunks[0])) { exts.push(chunks.shift()); } if (exts.length) { return { type: "x", value: exts.join(exports.SEPARATOR) }; } throw new RangeError("Malformed private_use_extension"); } function parseOtherExtensionValue(chunks) { var exts = []; while (chunks.length && ALPHANUM_2_8.test(chunks[0])) { exts.push(chunks.shift()); } if (exts.length) { return exts.join(exports.SEPARATOR); } return ""; } function parseExtensions(chunks) { if (!chunks.length) { return {extensions: []}; } var extensions = []; var unicodeExtension; var transformedExtension; var puExtension; var otherExtensionMap = {}; do { var type = chunks.shift(); switch (type) { case "u": case "U": if (unicodeExtension) { throw new RangeError("There can only be 1 -u- extension"); } unicodeExtension = parseUnicodeExtension(chunks); extensions.push(unicodeExtension); break; case "t": case "T": if (transformedExtension) { throw new RangeError("There can only be 1 -t- extension"); } transformedExtension = parseTransformedExtension(chunks); extensions.push(transformedExtension); break; case "x": case "X": if (puExtension) { throw new RangeError("There can only be 1 -x- extension"); } puExtension = parsePuExtension(chunks); extensions.push(puExtension); break; default: if (!OTHER_EXTENSION_TYPE.test(type)) { throw new RangeError("Malformed extension type"); } if (type in otherExtensionMap) { throw new RangeError("There can only be 1 -" + type + "- extension"); } var extension = { type: type, value: parseOtherExtensionValue(chunks) }; otherExtensionMap[extension.type] = extension; extensions.push(extension); break; } } while (chunks.length); return {extensions: extensions}; } function parseUnicodeLocaleId2(locale) { var chunks = locale.split(exports.SEPARATOR); var lang = parseUnicodeLanguageId2(chunks); return tslib_1.__assign({lang: lang}, parseExtensions(chunks)); } exports.parseUnicodeLocaleId = parseUnicodeLocaleId2; } }); // bazel-out/darwin-fastbuild/bin/packages/intl-getcanonicallocales/src/emitter.js var require_emitter = __commonJS({ "bazel-out/darwin-fastbuild/bin/packages/intl-getcanonicallocales/src/emitter.js": function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", {value: true}); exports.emitUnicodeLocaleId = exports.emitUnicodeLanguageId = void 0; var tslib_1 = require_tslib(); function emitUnicodeLanguageId2(lang) { if (!lang) { return ""; } return tslib_1.__spreadArray([lang.lang, lang.script, lang.region], lang.variants || []).filter(Boolean).join("-"); } exports.emitUnicodeLanguageId = emitUnicodeLanguageId2; function emitUnicodeLocaleId2(_a) { var lang = _a.lang, extensions = _a.extensions; var chunks = [emitUnicodeLanguageId2(lang)]; for (var _i = 0, extensions_1 = extensions; _i < extensions_1.length; _i++) { var ext = extensions_1[_i]; chunks.push(ext.type); switch (ext.type) { case "u": chunks.push.apply(chunks, tslib_1.__spreadArray(tslib_1.__spreadArray([], ext.attributes), ext.keywords.reduce(function(all, kv) { return all.concat(kv); }, []))); break; case "t": chunks.push.apply(chunks, tslib_1.__spreadArray([emitUnicodeLanguageId2(ext.lang)], ext.fields.reduce(function(all, kv) { return all.concat(kv); }, []))); break; default: chunks.push(ext.value); break; } } return chunks.filter(Boolean).join("-"); } exports.emitUnicodeLocaleId = emitUnicodeLocaleId2; } }); // bazel-out/darwin-fastbuild/bin/packages/intl-getcanonicallocales/src/data/aliases.js var require_aliases = __commonJS({ "bazel-out/darwin-fastbuild/bin/packages/intl-getcanonicallocales/src/data/aliases.js": function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", {value: true}); exports.variantAlias = exports.scriptAlias = exports.territoryAlias = exports.languageAlias = void 0; exports.languageAlias = { "aa-saaho": "ssy", "aam": "aas", "aar": "aa", "abk": "ab", "adp": "dz", "afr": "af", "agp": "apf", "ais": "ami", "aju": "jrb", "aka": "ak", "alb": "sq", "als": "sq", "amh": "am", "ara": "ar", "arb": "ar", "arg": "an", "arm": "hy", "art-lojban": "jbo", "asd": "snz", "asm": "as", "aue": "ktz", "ava": "av", "ave": "ae", "aym": "ay", "ayr": "ay", "ayx": "nun", "aze": "az", "azj": "az", "bak": "ba", "bam": "bm", "baq": "eu", "baz": "nvo", "bcc": "bal", "bcl": "bik", "bel": "be", "ben": "bn", "bgm": "bcg", "bh": "bho", "bhk": "fbl", "bih": "bho", "bis": "bi", "bjd": "drl", "bjq": "bzc", "bkb": "ebk", "bod": "bo", "bos": "bs", "bre": "br", "btb": "beb", "bul": "bg", "bur": "my", "bxk": "luy", "bxr": "bua", "cat": "ca", "ccq": "rki", "cel-gaulish": "xtg", "ces": "cs", "cha": "ch", "che": "ce", "chi": "zh", "chu": "cu", "chv": "cv", "cjr": "mom", "cka": "cmr", "cld": "syr", "cmk": "xch", "cmn": "zh", "cnr": "sr-ME", "cor": "kw", "cos": "co", "coy": "pij", "cqu": "quh", "cre": "cr", "cwd": "cr", "cym": "cy", "cze": "cs", "daf": "dnj", "dan": "da", "dap": "njz", "deu": "de", "dgo": "doi", "dhd": "mwr", "dik": "din", "diq": "zza", "dit": "dif", "div": "dv", "djl": "dze", "dkl": "aqd", "drh": "mn", "drr": "kzk", "drw": "fa-AF", "dud": "uth", "duj": "dwu", "dut": "nl", "dwl": "dbt", "dzo": "dz", "ekk": "et", "ell": "el", "elp": "amq", "emk": "man", "en-GB-oed": "en-GB-oxendict", "eng": "en", "epo": "eo", "esk": "ik", "est": "et", "eus": "eu", "ewe": "ee", "fao": "fo", "fas": "fa", "fat": "ak", "fij": "fj", "fin": "fi", "fra": "fr", "fre": "fr", "fry": "fy", "fuc": "ff", "ful": "ff", "gav": "dev", "gaz": "om", "gbc": "wny", "gbo": "grb", "geo": "ka", "ger": "de", "gfx": "vaj", "ggn": "gvr", "ggo": "esg", "ggr": "gtu", "gio": "aou", "gla": "gd", "gle": "ga", "glg": "gl", "gli": "kzk", "glv": "gv", "gno": "gon", "gre": "el", "grn": "gn", "gti": "nyc", "gug": "gn", "guj": "gu", "guv": "duz", "gya": "gba", "hat": "ht", "hau": "ha", "hbs": "sr-Latn", "hdn": "hai", "hea": "hmn", "heb": "he", "her": "hz", "him": "srx", "hin": "hi", "hmo": "ho", "hrr": "jal", "hrv": "hr", "hun": "hu", "hy-arevmda": "hyw", "hye": "hy", "i-ami": "ami", "i-bnn": "bnn", "i-default": "en-x-i-default", "i-enochian": "und-x-i-enochian", "i-hak": "hak", "i-klingon": "tlh", "i-lux": "lb", "i-mingo": "see-x-i-mingo", "i-navajo": "nv", "i-pwn": "pwn", "i-tao": "tao", "i-tay": "tay", "i-tsu": "tsu", "ibi": "opa", "ibo": "ig", "ice": "is", "ido": "io", "iii": "ii", "ike": "iu", "iku": "iu", "ile": "ie", "ill": "ilm", "ilw": "gal", "in": "id", "ina": "ia", "ind": "id", "ipk": "ik", "isl": "is", "ita": "it", "iw": "he", "izi": "eza", "jar": "jgk", "jav": "jv", "jeg": "oyb", "ji": "yi", "jpn": "ja", "jw": "jv", "kal": "kl", "kan": "kn", "kas": "ks", "kat": "ka", "kau": "kr", "kaz": "kk", "kdv": "zkd", "kgc": "tdf", "kgd": "ncq", "kgh": "kml", "khk": "mn", "khm": "km", "kik": "ki", "kin": "rw", "kir": "ky", "kmr": "ku", "knc": "kr", "kng": "kg", "knn": "kok", "koj": "kwv", "kom": "kv", "kon": "kg", "kor": "ko", "kpp": "jkm", "kpv": "kv", "krm": "bmf", "ktr": "dtp", "kua": "kj", "kur": "ku", "kvs": "gdj", "kwq": "yam", "kxe": "tvd", "kxl": "kru", "kzh": "dgl", "kzj": "dtp", "kzt": "dtp", "lao": "lo", "lat": "la", "lav": "lv", "lbk": "bnc", "leg": "enl", "lii": "raq", "lim": "li", "lin": "ln", "lit": "lt", "llo": "ngt", "lmm": "rmx", "ltz": "lb", "lub": "lu", "lug": "lg", "lvs": "lv", "mac": "mk", "mah": "mh", "mal": "ml", "mao": "mi", "mar": "mr", "may": "ms", "meg": "cir", "mgx": "jbk", "mhr": "chm", "mkd": "mk", "mlg": "mg", "mlt": "mt", "mnk": "man", "mnt": "wnn", "mo": "ro", "mof": "xnt", "mol": "ro", "mon": "mn", "mri": "mi", "msa": "ms", "mst": "mry", "mup": "raj", "mwd": "dmw", "mwj": "vaj", "mya": "my", "myd": "aog", "myt": "mry", "nad": "xny", "nau": "na", "nav": "nv", "nbf": "nru", "nbl": "nr", "nbx": "ekc", "ncp": "kdz", "nde": "nd", "ndo": "ng", "nep": "ne", "nld": "nl", "nln": "azd", "nlr": "nrk", "nno": "nn", "nns": "nbr", "nnx": "ngv", "no-bok": "nb", "no-bokmal": "nb", "no-nyn": "nn", "no-nynorsk": "nn", "nob": "nb", "noo": "dtd", "nor": "no", "npi": "ne", "nts": "pij", "nxu": "bpp", "nya": "ny", "oci": "oc", "ojg": "oj", "oji": "oj", "ori": "or", "orm": "om", "ory": "or", "oss": "os", "oun": "vaj", "pan": "pa", "pbu": "ps", "pcr": "adx", "per": "fa", "pes": "fa", "pli": "pi", "plt": "mg", "pmc": "huw", "pmu": "phr", "pnb": "lah", "pol": "pl", "por": "pt", "ppa": "bfy", "ppr": "lcq", "prs": "fa-AF", "pry": "prt", "pus": "ps", "puz": "pub", "que": "qu", "quz": "qu", "rmr": "emx", "rmy": "rom", "roh": "rm", "ron": "ro", "rum": "ro", "run": "rn", "rus": "ru", "sag": "sg", "san": "sa", "sap": "aqt", "sca": "hle", "scc": "sr", "scr": "hr", "sgl": "isk", "sgn-BE-FR": "sfb", "sgn-BE-NL": "vgt", "sgn-BR": "bzs", "sgn-CH-DE": "sgg", "sgn-CO": "csn", "sgn-DE": "gsg", "sgn-DK": "dsl", "sgn-ES": "ssp", "sgn-FR": "fsl", "sgn-GB": "bfi", "sgn-GR": "gss", "sgn-IE": "isg", "sgn-IT": "ise", "sgn-JP": "jsl", "sgn-MX": "mfs", "sgn-NI": "ncs", "sgn-NL": "dse", "sgn-NO": "nsi", "sgn-PT": "psr", "sgn-SE": "swl", "sgn-US": "ase", "sgn-ZA": "sfs", "sh": "sr-Latn", "sin": "si", "skk": "oyb", "slk": "sk", "slo": "sk", "slv": "sl", "sme": "se", "smo": "sm", "sna": "sn", "snd": "sd", "som": "so", "sot": "st", "spa": "es", "spy": "kln", "sqi": "sq", "src": "sc", "srd": "sc", "srp": "sr", "ssw": "ss", "sul": "sgd", "sum": "ulw", "sun": "su", "swa": "sw", "swc": "sw-CD", "swe": "sv", "swh": "sw", "tah": "ty", "tam": "ta", "tat": "tt", "tdu": "dtp", "tel": "te", "tgg": "bjp", "tgk": "tg", "tgl": "fil", "tha": "th", "thc": "tpo", "thw": "ola", "thx": "oyb", "tib": "bo", "tid": "itd", "tie": "ras", "tir": "ti", "tkk": "twm", "tl": "fil", "tlw": "weo", "tmp": "tyj", "tne": "kak", "tnf": "fa-AF", "ton": "to", "tsf": "taj", "tsn": "tn", "tso": "ts", "ttq": "tmh", "tuk": "tk", "tur": "tr", "tw": "ak", "twi": "ak", "uig": "ug", "ukr": "uk", "umu": "del", "und-aaland": "und-AX", "und-arevela": "und", "und-arevmda": "und", "und-bokmal": "und", "und-hakka": "und", "und-hepburn-heploc": "und-alalc97", "und-lojban": "und", "und-nynorsk": "und", "und-saaho": "und", "und-xiang": "und", "unp": "wro", "uok": "ema", "urd": "ur", "uzb": "uz", "uzn": "uz", "ven": "ve", "vie": "vi", "vol": "vo", "wel": "cy", "wgw": "wgb", "wit": "nol", "wiw": "nwo", "wln": "wa", "wol": "wo", "xba": "cax", "xho": "xh", "xia": "acn", "xkh": "waw", "xpe": "kpe", "xrq": "dmw", "xsj": "suj", "xsl": "den", "ybd": "rki", "ydd": "yi", "yen": "ynq", "yid": "yi", "yiy": "yrm", "yma": "lrr", "ymt": "mtm", "yor": "yo", "yos": "zom", "yuu": "yug", "zai": "zap", "zh-cmn": "zh", "zh-cmn-Hans": "zh-Hans", "zh-cmn-Hant": "zh-Hant", "zh-gan": "gan", "zh-guoyu": "zh", "zh-hakka": "hak", "zh-min": "nan-x-zh-min", "zh-min-nan": "nan", "zh-wuu": "wuu", "zh-xiang": "hsn", "zh-yue": "yue", "zha": "za", "zho": "zh", "zir": "scv", "zsm": "ms", "zul": "zu", "zyb": "za" }; exports.territoryAlias = { "100": "BG", "104": "MM", "108": "BI", "112": "BY", "116": "KH", "120": "CM", "124": "CA", "132": "CV", "136": "KY", "140": "CF", "144": "LK", "148": "TD", "152": "CL", "156": "CN", "158": "TW", "162": "CX", "166": "CC", "170": "CO", "172": "RU AM AZ BY GE KG KZ MD TJ TM UA UZ", "174": "KM", "175": "YT", "178": "CG", "180": "CD", "184": "CK", "188": "CR", "191": "HR", "192": "CU", "196": "CY", "200": "CZ SK", "203": "CZ", "204": "BJ", "208": "DK", "212": "DM", "214": "DO", "218": "EC", "222": "SV", "226": "GQ", "230": "ET", "231": "ET", "232": "ER", "233": "EE", "234": "FO", "238": "FK", "239": "GS", "242": "FJ", "246": "FI", "248": "AX", "249": "FR", "250": "FR", "254": "GF", "258": "PF", "260": "TF", "262": "DJ", "266": "GA", "268": "GE", "270": "GM", "275": "PS", "276": "DE", "278": "DE", "280": "DE", "288": "GH", "292": "GI", "296": "KI", "300": "GR", "304": "GL", "308": "GD", "312": "GP", "316": "GU", "320": "GT", "324": "GN", "328": "GY", "332": "HT", "334": "HM", "336": "VA", "340": "HN", "344": "HK", "348": "HU", "352": "IS", "356": "IN", "360": "ID", "364": "IR", "368": "IQ", "372": "IE", "376": "IL", "380": "IT", "384": "CI", "388": "JM", "392": "JP", "398": "KZ", "400": "JO", "404": "KE", "408": "KP", "410": "KR", "414": "KW", "417": "KG", "418": "LA", "422": "LB", "426": "LS", "428": "LV", "430": "LR", "434": "LY", "438": "LI", "440": "LT", "442": "LU", "446": "MO", "450": "MG", "454": "MW", "458": "MY", "462": "MV", "466": "ML", "470": "MT", "474": "MQ", "478": "MR", "480": "MU", "484": "MX", "492": "MC", "496": "MN", "498": "MD", "499": "ME", "500": "MS", "504": "MA", "508": "MZ", "512": "OM", "516": "NA", "520": "NR", "524": "NP", "528": "NL", "530": "CW SX BQ", "531": "CW", "532": "CW SX BQ", "533": "AW", "534": "SX", "535": "BQ", "536": "SA IQ", "540": "NC", "548": "VU", "554": "NZ", "558": "NI", "562": "NE", "566": "NG", "570": "NU", "574": "NF", "578": "NO", "580": "MP", "581": "UM", "582": "FM MH MP PW", "583": "FM", "584": "MH", "585": "PW", "586": "PK", "591": "PA", "598": "PG", "600": "PY", "604": "PE", "608": "PH", "612": "PN", "616": "PL", "620": "PT", "624": "GW", "626": "TL", "630": "PR", "634": "QA", "638": "RE", "642": "RO", "643": "RU", "646": "RW", "652": "BL", "654": "SH", "659": "KN", "660": "AI", "662": "LC", "663": "MF", "666": "PM", "670": "VC", "674": "SM", "678": "ST", "682": "SA", "686": "SN", "688": "RS", "690": "SC", "694": "SL", "702": "SG", "703": "SK", "704": "VN", "705": "SI", "706": "SO", "710": "ZA", "716": "ZW", "720": "YE", "724": "ES", "728": "SS", "729": "SD", "732": "EH", "736": "SD", "740": "SR", "744": "SJ", "748": "SZ", "752": "SE", "756": "CH", "760": "SY", "762": "TJ", "764": "TH", "768": "TG", "772": "TK", "776": "TO", "780": "TT", "784": "AE", "788": "TN", "792": "TR", "795": "TM", "796": "TC", "798": "TV", "800": "UG", "804": "UA", "807": "MK", "810": "RU AM AZ BY EE GE KZ KG LV LT MD TJ TM UA UZ", "818": "EG", "826": "GB", "830": "JE GG", "831": "GG", "832": "JE", "833": "IM", "834": "TZ", "840": "US", "850": "VI", "854": "BF", "858": "UY", "860": "UZ", "862": "VE", "876": "WF", "882": "WS", "886": "YE", "887": "YE", "890": "RS ME SI HR MK BA", "891": "RS ME", "894": "ZM", "958": "AA", "959": "QM", "960": "QN", "962": "QP", "963": "QQ", "964": "QR", "965": "QS", "966": "QT", "967": "EU", "968": "QV", "969": "QW", "970": "QX", "971": "QY", "972": "QZ", "973": "XA", "974": "XB", "975": "XC", "976": "XD", "977": "XE", "978": "XF", "979": "XG", "980": "XH", "981": "XI", "982": "XJ", "983": "XK", "984": "XL", "985": "XM", "986": "XN", "987": "XO", "988": "XP", "989": "XQ", "990": "XR", "991": "XS", "992": "XT", "993": "XU", "994": "XV", "995": "XW", "996": "XX", "997": "XY", "998": "XZ", "999": "ZZ", "004": "AF", "008": "AL", "010": "AQ", "012": "DZ", "016": "AS", "020": "AD", "024": "AO", "028": "AG", "031": "AZ", "032": "AR", "036": "AU", "040": "AT", "044": "BS", "048": "BH", "050": "BD", "051": "AM", "052": "BB", "056": "BE", "060": "BM", "062": "034 143", "064": "BT", "068": "BO", "070": "BA", "072": "BW", "074": "BV", "076": "BR", "084": "BZ", "086": "IO", "090": "SB", "092": "VG", "096": "BN", "AAA": "AA", "ABW": "AW", "AFG": "AF", "AGO": "AO", "AIA": "AI", "ALA": "AX", "ALB": "AL", "AN": "CW SX BQ", "AND": "AD", "ANT": "CW SX BQ", "ARE": "AE", "ARG": "AR", "ARM": "AM", "ASC": "AC", "ASM": "AS", "ATA": "AQ", "ATF": "TF", "ATG": "AG", "AUS": "AU", "AUT": "AT", "AZE": "AZ", "BDI": "BI", "BEL": "BE", "BEN": "BJ", "BES": "BQ", "BFA": "BF", "BGD": "BD", "BGR": "BG", "BHR": "BH", "BHS": "BS", "BIH": "BA", "BLM": "BL", "BLR": "BY", "BLZ": "BZ", "BMU": "BM", "BOL": "BO", "BRA": "BR", "BRB": "BB", "BRN": "BN", "BTN": "BT", "BU": "MM", "BUR": "MM", "BVT": "BV", "BWA": "BW", "CAF": "CF", "CAN": "CA", "CCK": "CC", "CHE": "CH", "CHL": "CL", "CHN": "CN", "CIV": "CI", "CMR": "CM", "COD": "CD", "COG": "CG", "COK": "CK", "COL": "CO", "COM": "KM", "CPT": "CP", "CPV": "CV", "CRI": "CR", "CS": "RS ME", "CT": "KI", "CUB": "CU", "CUW": "CW", "CXR": "CX", "CYM": "KY", "CYP": "CY", "CZE": "CZ", "DD": "DE", "DDR": "DE", "DEU": "DE", "DGA": "DG", "DJI": "DJ", "DMA": "DM", "DNK": "DK", "DOM": "DO", "DY": "BJ", "DZA": "DZ", "ECU": "EC", "EGY": "EG", "ERI": "ER", "ESH": "EH", "ESP": "ES", "EST": "EE", "ETH": "ET", "FIN": "FI", "FJI": "FJ", "FLK": "FK", "FQ": "AQ TF", "FRA": "FR", "FRO": "FO", "FSM": "FM", "FX": "FR", "FXX": "FR", "GAB": "GA", "GBR": "GB", "GEO": "GE", "GGY": "GG", "GHA": "GH", "GIB": "GI", "GIN": "GN", "GLP": "GP", "GMB": "GM", "GNB": "GW", "GNQ": "GQ", "GRC": "GR", "GRD": "GD", "GRL": "GL", "GTM": "GT", "GUF": "GF", "GUM": "GU", "GUY": "GY", "HKG": "HK", "HMD": "HM", "HND": "HN", "HRV": "HR", "HTI": "HT", "HUN": "HU", "HV": "BF", "IDN": "ID", "IMN": "IM", "IND": "IN", "IOT": "IO", "IRL": "IE", "IRN": "IR", "IRQ": "IQ", "ISL": "IS", "ISR": "IL", "ITA": "IT", "JAM": "JM", "JEY": "JE", "JOR": "JO", "JPN": "JP", "JT": "UM", "KAZ": "KZ", "KEN": "KE", "KGZ": "KG", "KHM": "KH", "KIR": "KI", "KNA": "KN", "KOR": "KR", "KWT": "KW", "LAO": "LA", "LBN": "LB", "LBR": "LR", "LBY": "LY", "LCA": "LC", "LIE": "LI", "LKA": "LK", "LSO": "LS", "LTU": "LT", "LUX": "LU", "LVA": "LV", "MAC": "MO", "MAF": "MF", "MAR": "MA", "MCO": "MC", "MDA": "MD", "MDG": "MG", "MDV": "MV", "MEX": "MX", "MHL": "MH", "MI": "UM", "MKD": "MK", "MLI": "ML", "MLT": "MT", "MMR": "MM", "MNE": "ME", "MNG": "MN", "MNP": "MP", "MOZ": "MZ", "MRT": "MR", "MSR": "MS", "MTQ": "MQ", "MUS": "MU", "MWI": "MW", "MYS": "MY", "MYT": "YT", "NAM": "NA", "NCL": "NC", "NER": "NE", "NFK": "NF", "NGA": "NG", "NH": "VU", "NIC": "NI", "NIU": "NU", "NLD": "NL", "NOR": "NO", "NPL": "NP", "NQ": "AQ", "NRU": "NR", "NT": "SA IQ", "NTZ": "SA IQ", "NZL": "NZ", "OMN": "OM", "PAK": "PK", "PAN": "PA", "PC": "FM MH MP PW", "PCN": "PN", "PER": "PE", "PHL": "PH", "PLW": "PW", "PNG": "PG", "POL": "PL", "PRI": "PR", "PRK": "KP", "PRT": "PT", "PRY": "PY", "PSE": "PS", "PU": "UM", "PYF": "PF", "PZ": "PA", "QAT": "QA", "QMM": "QM", "QNN": "QN", "QPP": "QP", "QQQ": "QQ", "QRR": "QR", "QSS": "QS", "QTT": "QT", "QU": "EU", "QUU": "EU", "QVV": "QV", "QWW": "QW", "QXX": "QX", "QYY": "QY", "QZZ": "QZ", "REU": "RE", "RH": "ZW", "ROU": "RO", "RUS": "RU", "RWA": "RW", "SAU": "SA", "SCG": "RS ME", "SDN": "SD", "SEN": "SN", "SGP": "SG", "SGS": "GS", "SHN": "SH", "SJM": "SJ", "SLB": "SB", "SLE": "SL", "SLV": "SV", "SMR": "SM", "SOM": "SO", "SPM": "PM", "SRB": "RS", "SSD": "SS", "STP": "ST", "SU": "RU AM AZ BY EE GE KZ KG LV LT MD TJ TM UA UZ", "SUN": "RU AM AZ BY EE GE KZ KG LV LT MD TJ TM UA UZ", "SUR": "SR", "SVK": "SK", "SVN": "SI", "SWE": "SE", "SWZ": "SZ", "SXM": "SX", "SYC": "SC", "SYR": "SY", "TAA": "TA", "TCA": "TC", "TCD": "TD", "TGO": "TG", "THA": "TH", "TJK": "TJ", "TKL": "TK", "TKM": "TM", "TLS": "TL", "TMP": "TL", "TON": "TO", "TP": "TL", "TTO": "TT", "TUN": "TN", "TUR": "TR", "TUV": "TV", "TWN": "TW", "TZA": "TZ", "UGA": "UG", "UK": "GB", "UKR": "UA", "UMI": "UM", "URY": "UY", "USA": "US", "UZB": "UZ", "VAT": "VA", "VCT": "VC", "VD": "VN", "VEN": "VE", "VGB": "VG", "VIR": "VI", "VNM": "VN", "VUT": "VU", "WK": "UM", "WLF": "WF", "WSM": "WS", "XAA": "XA", "XBB": "XB", "XCC": "XC", "XDD": "XD", "XEE": "XE", "XFF": "XF", "XGG": "XG", "XHH": "XH", "XII": "XI", "XJJ": "XJ", "XKK": "XK", "XLL": "XL", "XMM": "XM", "XNN": "XN", "XOO": "XO", "XPP": "XP", "XQQ": "XQ", "XRR": "XR", "XSS": "XS", "XTT": "XT", "XUU": "XU", "XVV": "XV", "XWW": "XW", "XXX": "XX", "XYY": "XY", "XZZ": "XZ", "YD": "YE", "YEM": "YE", "YMD": "YE", "YU": "RS ME", "YUG": "RS ME", "ZAF": "ZA", "ZAR": "CD", "ZMB": "ZM", "ZR": "CD", "ZWE": "ZW", "ZZZ": "ZZ" }; exports.scriptAlias = { "Qaai": "Zinh" }; exports.variantAlias = { "heploc": "alalc97", "polytoni": "polyton" }; } }); // node_modules/cldr-core/supplemental/likelySubtags.json var require_likelySubtags = __commonJS({ "node_modules/cldr-core/supplemental/likelySubtags.json": function(exports, module) { module.exports = { supplemental: { version: { _unicodeVersion: "13.0.0", _cldrVersion: "39" }, likelySubtags: { aa: "aa-Latn-ET", aai: "aai-Latn-ZZ", aak: "aak-Latn-ZZ", aau: "aau-Latn-ZZ", ab: "ab-Cyrl-GE", abi: "abi-Latn-ZZ", abq: "abq-Cyrl-ZZ", abr: "abr-Latn-GH", abt: "abt-Latn-ZZ", aby: "aby-Latn-ZZ", acd: "acd-Latn-ZZ", ace: "ace-Latn-ID", ach: "ach-Latn-UG", ada: "ada-Latn-GH", ade: "ade-Latn-ZZ", adj: "adj-Latn-ZZ", adp: "adp-Tibt-BT", ady: "ady-Cyrl-RU", adz: "adz-Latn-ZZ", ae: "ae-Avst-IR", aeb: "aeb-Arab-TN", aey: "aey-Latn-ZZ", af: "af-Latn-ZA", agc: "agc-Latn-ZZ", agd: "agd-Latn-ZZ", agg: "agg-Latn-ZZ", agm: "agm-Latn-ZZ", ago: "ago-Latn-ZZ", agq: "agq-Latn-CM", aha: "aha-Latn-ZZ", ahl: "ahl-Latn-ZZ", aho: "aho-Ahom-IN", ajg: "ajg-Latn-ZZ", ak: "ak-Latn-GH", akk: "akk-Xsux-IQ", ala: "ala-Latn-ZZ", ali: "ali-Latn-ZZ", aln: "aln-Latn-XK", alt: "alt-Cyrl-RU", am: "am-Ethi-ET", amm: "amm-Latn-ZZ", amn: "amn-Latn-ZZ", amo: "amo-Latn-NG", amp: "amp-Latn-ZZ", an: "an-Latn-ES", anc: "anc-Latn-ZZ", ank: "ank-Latn-ZZ", ann: "ann-Latn-ZZ", any: "any-Latn-ZZ", aoj: "aoj-Latn-ZZ", aom: "aom-Latn-ZZ", aoz: "aoz-Latn-ID", apc: "apc-Arab-ZZ", apd: "apd-Arab-TG", ape: "ape-Latn-ZZ", apr: "apr-Latn-ZZ", aps: "aps-Latn-ZZ", apz: "apz-Latn-ZZ", ar: "ar-Arab-EG", arc: "arc-Armi-IR", "arc-Nbat": "arc-Nbat-JO", "arc-Palm": "arc-Palm-SY", arh: "arh-Latn-ZZ", arn: "arn-Latn-CL", aro: "aro-Latn-BO", arq: "arq-Arab-DZ", ars: "ars-Arab-SA", ary: "ary-Arab-MA", arz: "arz-Arab-EG", as: "as-Beng-IN", asa: "asa-Latn-TZ", ase: "ase-Sgnw-US", asg: "asg-Latn-ZZ", aso: "aso-Latn-ZZ", ast: "ast-Latn-ES", ata: "ata-Latn-ZZ", atg: "atg-Latn-ZZ", atj: "atj-Latn-CA", auy: "auy-Latn-ZZ", av: "av-Cyrl-RU", avl: "avl-Arab-ZZ", avn: "avn-Latn-ZZ", avt: "avt-Latn-ZZ", avu: "avu-Latn-ZZ", awa: "awa-Deva-IN", awb: "awb-Latn-ZZ", awo: "awo-Latn-ZZ", awx: "awx-Latn-ZZ", ay: "ay-Latn-BO", ayb: "ayb-Latn-ZZ", az: "az-Latn-AZ", "az-Arab": "az-Arab-IR", "az-IQ": "az-Arab-IQ", "az-IR": "az-Arab-IR", "az-RU": "az-Cyrl-RU", ba: "ba-Cyrl-RU", bal: "bal-Arab-PK", ban: "ban-Latn-ID", bap: "bap-Deva-NP", bar: "bar-Latn-AT", bas: "bas-Latn-CM", bav: "bav-Latn-ZZ", bax: "bax-Bamu-CM", bba: "bba-Latn-ZZ", bbb: "bbb-Latn-ZZ", bbc: "bbc-Latn-ID", bbd: "bbd-Latn-ZZ", bbj: "bbj-Latn-CM", bbp: "bbp-Latn-ZZ", bbr: "bbr-Latn-ZZ", bcf: "bcf-Latn-ZZ", bch: "bch-Latn-ZZ", bci: "bci-Latn-CI", bcm: "bcm-Latn-ZZ", bcn: "bcn-Latn-ZZ", bco: "bco-Latn-ZZ", bcq: "bcq-Ethi-ZZ", bcu: "bcu-Latn-ZZ", bdd: "bdd-Latn-ZZ", be: "be-Cyrl-BY", bef: "bef-Latn-ZZ", beh: "beh-Latn-ZZ", bej: "bej-Arab-SD", bem: "bem-Latn-ZM", bet: "bet-Latn-ZZ", bew: "bew-Latn-ID", bex: "bex-Latn-ZZ", bez: "bez-Latn-TZ", bfd: "bfd-Latn-CM", bfq: "bfq-Taml-IN", bft: "bft-Arab-PK", bfy: "bfy-Deva-IN", bg: "bg-Cyrl-BG", bgc: "bgc-Deva-IN", bgn: "bgn-Arab-PK", bgx: "bgx-Grek-TR", bhb: "bhb-Deva-IN", bhg: "bhg-Latn-ZZ", bhi: "bhi-Deva-IN", bhl: "bhl-Latn-ZZ", bho: "bho-Deva-IN", bhy: "bhy-Latn-ZZ", bi: "bi-Latn-VU", bib: "bib-Latn-ZZ", big: "big-Latn-ZZ", bik: "bik-Latn-PH", bim: "bim-Latn-ZZ", bin: "bin-Latn-NG", bio: "bio-Latn-ZZ", biq: "biq-Latn-ZZ", bjh: "bjh-Latn-ZZ", bji: "bji-Ethi-ZZ", bjj: "bjj-Deva-IN", bjn: "bjn-Latn-ID", bjo: "bjo-Latn-ZZ", bjr: "bjr-Latn-ZZ", bjt: "bjt-Latn-SN", bjz: "bjz-Latn-ZZ", bkc: "bkc-Latn-ZZ", bkm: "bkm-Latn-CM", bkq: "bkq-Latn-ZZ", bku: "bku-Latn-PH", bkv: "bkv-Latn-ZZ", blt: "blt-Tavt-VN", bm: "bm-Latn-ML", bmh: "bmh-Latn-ZZ", bmk: "bmk-Latn-ZZ", bmq: "bmq-Latn-ML", bmu: "bmu-Latn-ZZ", bn: "bn-Beng-BD", bng: "bng-Latn-ZZ", bnm: "bnm-Latn-ZZ", bnp: "bnp-Latn-ZZ", bo: "bo-Tibt-CN", boj: "boj-Latn-ZZ", bom: "bom-Latn-ZZ", bon: "bon-Latn-ZZ", bpy: "bpy-Beng-IN", bqc: "bqc-Latn-ZZ", bqi: "bqi-Arab-IR", bqp: "bqp-Latn-ZZ", bqv: "bqv-Latn-CI", br: "br-Latn-FR", bra: "bra-Deva-IN", brh: "brh-Arab-PK", brx: "brx-Deva-IN", brz: "brz-Latn-ZZ", bs: "bs-Latn-BA", bsj: "bsj-Latn-ZZ", bsq: "bsq-Bass-LR", bss: "bss-Latn-CM", bst: "bst-Ethi-ZZ", bto: "bto-Latn-PH", btt: "btt-Latn-ZZ", btv: "btv-Deva-PK", bua: "bua-Cyrl-RU", buc: "buc-Latn-YT", bud: "bud-Latn-ZZ", bug: "bug-Latn-ID", buk: "buk-Latn-ZZ", bum: "bum-Latn-CM", buo: "buo-Latn-ZZ", bus: "bus-Latn-ZZ", buu: "buu-Latn-ZZ", bvb: "bvb-Latn-GQ", bwd: "bwd-Latn-ZZ", bwr: "bwr-Latn-ZZ", bxh: "bxh-Latn-ZZ", bye: "bye-Latn-ZZ", byn: "byn-Ethi-ER", byr: "byr-Latn-ZZ", bys: "bys-Latn-ZZ", byv: "byv-Latn-CM", byx: "byx-Latn-ZZ", bza: "bza-Latn-ZZ", bze: "bze-Latn-ML", bzf: "bzf-Latn-ZZ", bzh: "bzh-Latn-ZZ", bzw: "bzw-Latn-ZZ", ca: "ca-Latn-ES", cad: "cad-Latn-US", can: "can-Latn-ZZ", cbj: "cbj-Latn-ZZ", cch: "cch-Latn-NG", ccp: "ccp-Cakm-BD", ce: "ce-Cyrl-RU", ceb: "ceb-Latn-PH", cfa: "cfa-Latn-ZZ", cgg: "cgg-Latn-UG", ch: "ch-Latn-GU", chk: "chk-Latn-FM", chm: "chm-Cyrl-RU", cho: "cho-Latn-US", chp: "chp-Latn-CA", chr: "chr-Cher-US", cic: "cic-Latn-US", cja: "cja-Arab-KH", cjm: "cjm-Cham-VN", cjv: "cjv-Latn-ZZ", ckb: "ckb-Arab-IQ", ckl: "ckl-Latn-ZZ", cko: "cko-Latn-ZZ", cky: "cky-Latn-ZZ", cla: "cla-Latn-ZZ", cme: "cme-Latn-ZZ", cmg: "cmg-Soyo-MN", co: "co-Latn-FR", cop: "cop-Copt-EG", cps: "cps-Latn-PH", cr: "cr-Cans-CA", crh: "crh-Cyrl-UA", crj: "crj-Cans-CA", crk: "crk-Cans-CA", crl: "crl-Cans-CA", crm: "crm-Cans-CA", crs: "crs-Latn-SC", cs: "cs-Latn-CZ", csb: "csb-Latn-PL", csw: "csw-Cans-CA", ctd: "ctd-Pauc-MM", cu: "cu-Cyrl-RU", "cu-Glag": "cu-Glag-BG", cv: "cv-Cyrl-RU", cy: "cy-Latn-GB", da: "da-Latn-DK", dad: "dad-Latn-ZZ", daf: "daf-Latn-CI", dag: "dag-Latn-ZZ", dah: "dah-Latn-ZZ", dak: "dak-Latn-US", dar: "dar-Cyrl-RU", dav: "dav-Latn-KE", dbd: "dbd-Latn-ZZ", dbq: "dbq-Latn-ZZ", dcc: "dcc-Arab-IN", ddn: "ddn-Latn-ZZ", de: "de-Latn-DE", ded: "ded-Latn-ZZ", den: "den-Latn-CA", dga: "dga-Latn-ZZ", dgh: "dgh-Latn-ZZ", dgi: "dgi-Latn-ZZ", dgl: "dgl-Arab-ZZ", dgr: "dgr-Latn-CA", dgz: "dgz-Latn-ZZ", dia: "dia-Latn-ZZ", dje: "dje-Latn-NE", dmf: "dmf-Medf-NG", dnj: "dnj-Latn-CI", dob: "dob-Latn-ZZ", doi: "doi-Deva-IN", dop: "dop-Latn-ZZ", dow: "dow-Latn-ZZ", drh: "drh-Mong-CN", dri: "dri-Latn-ZZ", drs: "drs-Ethi-ZZ", dsb: "dsb-Latn-DE", dtm: "dtm-Latn-ML", dtp: "dtp-Latn-MY", dts: "dts-Latn-ZZ", dty: "dty-Deva-NP", dua: "dua-Latn-CM", duc: "duc-Latn-ZZ", dud: "dud-Latn-ZZ", dug: "dug-Latn-ZZ", dv: "dv-Thaa-MV", dva: "dva-Latn-ZZ", dww: "dww-Latn-ZZ", dyo: "dyo-Latn-SN", dyu: "dyu-Latn-BF", dz: "dz-Tibt-BT", dzg: "dzg-Latn-ZZ", ebu: "ebu-Latn-KE", ee: "ee-Latn-GH", efi: "efi-Latn-NG", egl: "egl-Latn-IT", egy: "egy-Egyp-EG", eka: "eka-Latn-ZZ", eky: "eky-Kali-MM", el: "el-Grek-GR", ema: "ema-Latn-ZZ", emi: "emi-Latn-ZZ", en: "en-Latn-US", "en-Shaw": "en-Shaw-GB", enn: "enn-Latn-ZZ", enq: "enq-Latn-ZZ", eo: "eo-Latn-001", eri: "eri-Latn-ZZ", es: "es-Latn-ES", esg: "esg-Gonm-IN", esu: "esu-Latn-US", et: "et-Latn-EE", etr: "etr-Latn-ZZ", ett: "ett-Ital-IT", etu: "etu-Latn-ZZ", etx: "etx-Latn-ZZ", eu: "eu-Latn-ES", ewo: "ewo-Latn-CM", ext: "ext-Latn-ES", eza: "eza-Latn-ZZ", fa: "fa-Arab-IR", faa: "faa-Latn-ZZ", fab: "fab-Latn-ZZ", fag: "fag-Latn-ZZ", fai: "fai-Latn-ZZ", fan: "fan-Latn-GQ", ff: "ff-Latn-SN", "ff-Adlm": "ff-Adlm-GN", ffi: "ffi-Latn-ZZ", ffm: "ffm-Latn-ML", fi: "fi-Latn-FI", fia: "fia-Arab-SD", fil: "fil-Latn-PH", fit: "fit-Latn-SE", fj: "fj-Latn-FJ", flr: "flr-Latn-ZZ", fmp: "fmp-Latn-ZZ", fo: "fo-Latn-FO", fod: "fod-Latn-ZZ", fon: "fon-Latn-BJ", for: "for-Latn-ZZ", fpe: "fpe-Latn-ZZ", fqs: "fqs-Latn-ZZ", fr: "fr-Latn-FR", frc: "frc-Latn-US", frp: "frp-Latn-FR", frr: "frr-Latn-DE", frs: "frs-Latn-DE", fub: "fub-Arab-CM", fud: "fud-Latn-WF", fue: "fue-Latn-ZZ", fuf: "fuf-Latn-GN", fuh: "fuh-Latn-ZZ", fuq: "fuq-Latn-NE", fur: "fur-Latn-IT", fuv: "fuv-Latn-NG", fuy: "fuy-Latn-ZZ", fvr: "fvr-Latn-SD", fy: "fy-Latn-NL", ga: "ga-Latn-IE", gaa: "gaa-Latn-GH", gaf: "gaf-Latn-ZZ", gag: "gag-Latn-MD", gah: "gah-Latn-ZZ", gaj: "gaj-Latn-ZZ", gam: "gam-Latn-ZZ", gan: "gan-Hans-CN", gaw: "gaw-Latn-ZZ", gay: "gay-Latn-ID", gba: "gba-Latn-ZZ", gbf: "gbf-Latn-ZZ", gbm: "gbm-Deva-IN", gby: "gby-Latn-ZZ", gbz: "gbz-Arab-IR", gcr: "gcr-Latn-GF", gd: "gd-Latn-GB", gde: "gde-Latn-ZZ", gdn: "gdn-Latn-ZZ", gdr: "gdr-Latn-ZZ", geb: "geb-Latn-ZZ", gej: "gej-Latn-ZZ", gel: "gel-Latn-ZZ", gez: "gez-Ethi-ET", gfk: "gfk-Latn-ZZ", ggn: "ggn-Deva-NP", ghs: "ghs-Latn-ZZ", gil: "gil-Latn-KI", gim: "gim-Latn-ZZ", gjk: "gjk-Arab-PK", gjn: "gjn-Latn-ZZ", gju: "gju-Arab-PK", gkn: "gkn-Latn-ZZ", gkp: "gkp-Latn-ZZ", gl: "gl-Latn-ES", glk: "glk-Arab-IR", gmm: "gmm-Latn-ZZ", gmv: "gmv-Ethi-ZZ", gn: "gn-Latn-PY", gnd: "gnd-Latn-ZZ", gng: "gng-Latn-ZZ", god: "god-Latn-ZZ", gof: "gof-Ethi-ZZ", goi: "goi-Latn-ZZ", gom: "gom-Deva-IN", gon: "gon-Telu-IN", gor: "gor-Latn-ID", gos: "gos-Latn-NL", got: "got-Goth-UA", grb: "grb-Latn-ZZ", grc: "grc-Cprt-CY", "grc-Linb": "grc-Linb-GR", grt: "grt-Beng-IN", grw: "grw-Latn-ZZ", gsw: "gsw-Latn-CH", gu: "gu-Gujr-IN", gub: "gub-Latn-BR", guc: "guc-Latn-CO", gud: "gud-Latn-ZZ", gur: "gur-Latn-GH", guw: "guw-Latn-ZZ", gux: "gux-Latn-ZZ", guz: "guz-Latn-KE", gv: "gv-Latn-IM", gvf: "gvf-Latn-ZZ", gvr: "gvr-Deva-NP", gvs: "gvs-Latn-ZZ", gwc: "gwc-Arab-ZZ", gwi: "gwi-Latn-CA", gwt: "gwt-Arab-ZZ", gyi: "gyi-Latn-ZZ", ha: "ha-Latn-NG", "ha-CM": "ha-Arab-CM", "ha-SD": "ha-Arab-SD", hag: "hag-Latn-ZZ", hak: "hak-Hans-CN", ham: "ham-Latn-ZZ", haw: "haw-Latn-US", haz: "haz-Arab-AF", hbb: "hbb-Latn-ZZ", hdy: "hdy-Ethi-ZZ", he: "he-Hebr-IL", hhy: "hhy-Latn-ZZ", hi: "hi-Deva-IN", hia: "hia-Latn-ZZ", hif: "hif-Latn-FJ", hig: "hig-Latn-ZZ", hih: "hih-Latn-ZZ", hil: "hil-Latn-PH", hla: "hla-Latn-ZZ", hlu: "hlu-Hluw-TR", hmd: "hmd-Plrd-CN", hmt: "hmt-Latn-ZZ", hnd: "hnd-Arab-PK", hne: "hne-Deva-IN", hnj: "hnj-Hmng-LA", hnn: "hnn-Latn-PH", hno: "hno-Arab-PK", ho: "ho-Latn-PG", hoc: "hoc-Deva-IN", hoj: "hoj-Deva-IN", hot: "hot-Latn-ZZ", hr: "hr-Latn-HR", hsb: "hsb-Latn-DE", hsn: "hsn-Hans-CN", ht: "ht-Latn-HT", hu: "hu-Latn-HU", hui: "hui-Latn-ZZ", hy: "hy-Armn-AM", hz: "hz-Latn-NA", ia: "ia-Latn-001", ian: "ian-Latn-ZZ", iar: "iar-Latn-ZZ", iba: "iba-Latn-MY", ibb: "ibb-Latn-NG", iby: "iby-Latn-ZZ", ica: "ica-Latn-ZZ", ich: "ich-Latn-ZZ", id: "id-Latn-ID", idd: "idd-Latn-ZZ", idi: "idi-Latn-ZZ", idu: "idu-Latn-ZZ", ife: "ife-Latn-TG", ig: "ig-Latn-NG", igb: "igb-Latn-ZZ", ige: "ige-Latn-ZZ", ii: "ii-Yiii-CN", ijj: "ijj-Latn-ZZ", ik: "ik-Latn-US", ikk: "ikk-Latn-ZZ", ikt: "ikt-Latn-CA", ikw: "ikw-Latn-ZZ", ikx: "ikx-Latn-ZZ", ilo: "ilo-Latn-PH", imo: "imo-Latn-ZZ", in: "in-Latn-ID", inh: "inh-Cyrl-RU", io: "io-Latn-001", iou: "iou-Latn-ZZ", iri: "iri-Latn-ZZ", is: "is-Latn-IS", it: "it-Latn-IT", iu: "iu-Cans-CA", iw: "iw-Hebr-IL", iwm: "iwm-Latn-ZZ", iws: "iws-Latn-ZZ", izh: "izh-Latn-RU", izi: "izi-Latn-ZZ", ja: "ja-Jpan-JP", jab: "jab-Latn-ZZ", jam: "jam-Latn-JM", jar: "jar-Latn-ZZ", jbo: "jbo-Latn-001", jbu: "jbu-Latn-ZZ", jen: "jen-Latn-ZZ", jgk: "jgk-Latn-ZZ", jgo: "jgo-Latn-CM", ji: "ji-Hebr-UA", jib: "jib-Latn-ZZ", jmc: "jmc-Latn-TZ", jml: "jml-Deva-NP", jra: "jra-Latn-ZZ", jut: "jut-Latn-DK", jv: "jv-Latn-ID", jw: "jw-Latn-ID", ka: "ka-Geor-GE", kaa: "kaa-Cyrl-UZ", kab: "kab-Latn-DZ", kac: "kac-Latn-MM", kad: "kad-Latn-ZZ", kai: "kai-Latn-ZZ", kaj: "kaj-Latn-NG", kam: "kam-Latn-KE", kao: "kao-Latn-ML", kbd: "kbd-Cyrl-RU", kbm: "kbm-Latn-ZZ", kbp: "kbp-Latn-ZZ", kbq: "kbq-Latn-ZZ", kbx: "kbx-Latn-ZZ", kby: "kby-Arab-NE", kcg: "kcg-Latn-NG", kck: "kck-Latn-ZW", kcl: "kcl-Latn-ZZ", kct: "kct-Latn-ZZ", kde: "kde-Latn-TZ", kdh: "kdh-Arab-TG", kdl: "kdl-Latn-ZZ", kdt: "kdt-Thai-TH", kea: "kea-Latn-CV", ken: "ken-Latn-CM", kez: "kez-Latn-ZZ", kfo: "kfo-Latn-CI", kfr: "kfr-Deva-IN", kfy: "kfy-Deva-IN", kg: "kg-Latn-CD", kge: "kge-Latn-ID", kgf: "kgf-Latn-ZZ", kgp: "kgp-Latn-BR", kha: "kha-Latn-IN", khb: "khb-Talu-CN", khn: "khn-Deva-IN", khq: "khq-Latn-ML", khs: "khs-Latn-ZZ", kht: "kht-Mymr-IN", khw: "khw-Arab-PK", khz: "khz-Latn-ZZ", ki: "ki-Latn-KE", kij: "kij-Latn-ZZ", kiu: "kiu-Latn-TR", kiw: "kiw-Latn-ZZ", kj: "kj-Latn-NA", kjd: "kjd-Latn-ZZ", kjg: "kjg-Laoo-LA", kjs: "kjs-Latn-ZZ", kjy: "kjy-Latn-ZZ", kk: "kk-Cyrl-KZ", "kk-AF": "kk-Arab-AF", "kk-Arab": "kk-Arab-CN", "kk-CN": "kk-Arab-CN", "kk-IR": "kk-Arab-IR", "kk-MN": "kk-Arab-MN", kkc: "kkc-Latn-ZZ", kkj: "kkj-Latn-CM", kl: "kl-Latn-GL", kln: "kln-Latn-KE", klq: "klq-Latn-ZZ", klt: "klt-Latn-ZZ", klx: "klx-Latn-ZZ", km: "km-Khmr-KH", kmb: "kmb-Latn-AO", kmh: "kmh-Latn-ZZ", kmo: "kmo-Latn-ZZ", kms: "kms-Latn-ZZ", kmu: "kmu-Latn-ZZ", kmw: "kmw-Latn-ZZ", kn: "kn-Knda-IN", knf: "knf-Latn-GW", knp: "knp-Latn-ZZ", ko: "ko-Kore-KR", koi: "koi-Cyrl-RU", kok: "kok-Deva-IN", kol: "kol-Latn-ZZ", kos: "kos-Latn-FM", koz: "koz-Latn-ZZ", kpe: "kpe-Latn-LR", kpf: "kpf-Latn-ZZ", kpo: "kpo-Latn-ZZ", kpr: "kpr-Latn-ZZ", kpx: "kpx-Latn-ZZ", kqb: "kqb-Latn-ZZ", kqf: "kqf-Latn-ZZ", kqs: "kqs-Latn-ZZ", kqy: "kqy-Ethi-ZZ", kr: "kr-Latn-ZZ", krc: "krc-Cyrl-RU", kri: "kri-Latn-SL", krj: "krj-Latn-PH", krl: "krl-Latn-RU", krs: "krs-Latn-ZZ", kru: "kru-Deva-IN", ks: "ks-Arab-IN", ksb: "ksb-Latn-TZ", ksd: "ksd-Latn-ZZ", ksf: "ksf-Latn-CM", ksh: "ksh-Latn-DE", ksj: "ksj-Latn-ZZ", ksr: "ksr-Latn-ZZ", ktb: "ktb-Ethi-ZZ", ktm: "ktm-Latn-ZZ", kto: "kto-Latn-ZZ", ktr: "ktr-Latn-MY", ku: "ku-Latn-TR", "ku-Arab": "ku-Arab-IQ", "ku-LB": "ku-Arab-LB", "ku-Yezi": "ku-Yezi-GE", kub: "kub-Latn-ZZ", kud: "kud-Latn-ZZ", kue: "kue-Latn-ZZ", kuj: "kuj-Latn-ZZ", kum: "kum-Cyrl-RU", kun: "kun-Latn-ZZ", kup: "kup-Latn-ZZ", kus: "kus-Latn-ZZ", kv: "kv-Cyrl-RU", kvg: "kvg-Latn-ZZ", kvr: "kvr-Latn-ID", kvx: "kvx-Arab-PK", kw: "kw-Latn-GB", kwj: "kwj-Latn-ZZ", kwo: "kwo-Latn-ZZ", kwq: "kwq-Latn-ZZ", kxa: "kxa-Latn-ZZ", kxc: "kxc-Ethi-ZZ", kxe: "kxe-Latn-ZZ", kxl: "kxl-Deva-IN", kxm: "kxm-Thai-TH", kxp: "kxp-Arab-PK", kxw: "kxw-Latn-ZZ", kxz: "kxz-Latn-ZZ", ky: "ky-Cyrl-KG", "ky-Arab": "ky-Arab-CN", "ky-CN": "ky-Arab-CN", "ky-Latn": "ky-Latn-TR", "ky-TR": "ky-Latn-TR", kye: "kye-Latn-ZZ", kyx: "kyx-Latn-ZZ", kzh: "kzh-Arab-ZZ", kzj: "kzj-Latn-MY", kzr: "kzr-Latn-ZZ", kzt: "kzt-Latn-MY", la: "la-Latn-VA", lab: "lab-Lina-GR", lad: "lad-Hebr-IL", lag: "lag-Latn-TZ", lah: "lah-Arab-PK", laj: "laj-Latn-UG", las: "las-Latn-ZZ", lb: "lb-Latn-LU", lbe: "lbe-Cyrl-RU", lbu: "lbu-Latn-ZZ", lbw: "lbw-Latn-ID", lcm: "lcm-Latn-ZZ", lcp: "lcp-Thai-CN", ldb: "ldb-Latn-ZZ", led: "led-Latn-ZZ", lee: "lee-Latn-ZZ", lem: "lem-Latn-ZZ", lep: "lep-Lepc-IN", leq: "leq-Latn-ZZ", leu: "leu-Latn-ZZ", lez: "lez-Cyrl-RU", lg: "lg-Latn-UG", lgg: "lgg-Latn-ZZ", li: "li-Latn-NL", lia: "lia-Latn-ZZ", lid: "lid-Latn-ZZ", lif: "lif-Deva-NP", "lif-Limb": "lif-Limb-IN", lig: "lig-Latn-ZZ", lih: "lih-Latn-ZZ", lij: "lij-Latn-IT", lis: "lis-Lisu-CN", ljp: "ljp-Latn-ID", lki: "lki-Arab-IR", lkt: "lkt-Latn-US", lle: "lle-Latn-ZZ", lln: "lln-Latn-ZZ", lmn: "lmn-Telu-IN", lmo: "lmo-Latn-IT", lmp: "lmp-Latn-ZZ", ln: "ln-Latn-CD", lns: "lns-Latn-ZZ", lnu: "lnu-Latn-ZZ", lo: "lo-Laoo-LA", loj: "loj-Latn-ZZ", lok: "lok-Latn-ZZ", lol: "lol-Latn-CD", lor: "lor-Latn-ZZ", los: "los-Latn-ZZ", loz: "loz-Latn-ZM", lrc: "lrc-Arab-IR", lt: "lt-Latn-LT", ltg: "ltg-Latn-LV", lu: "lu-Latn-CD", lua: "lua-Latn-CD", luo: "luo-Latn-KE", luy: "luy-Latn-KE", luz: "luz-Arab-IR", lv: "lv-Latn-LV", lwl: "lwl-Thai-TH", lzh: "lzh-Hans-CN", lzz: "lzz-Latn-TR", mad: "mad-Latn-ID", maf: "maf-Latn-CM", mag: "mag-Deva-IN", mai: "mai-Deva-IN", mak: "mak-Latn-ID", man: "man-Latn-GM", "man-GN": "man-Nkoo-GN", "man-Nkoo": "man-Nkoo-GN", mas: "mas-Latn-KE", maw: "maw-Latn-ZZ", maz: "maz-Latn-MX", mbh: "mbh-Latn-ZZ", mbo: "mbo-Latn-ZZ", mbq: "mbq-Latn-ZZ", mbu: "mbu-Latn-ZZ", mbw: "mbw-Latn-ZZ", mci: "mci-Latn-ZZ", mcp: "mcp-Latn-ZZ", mcq: "mcq-Latn-ZZ", mcr: "mcr-Latn-ZZ", mcu: "mcu-Latn-ZZ", mda: "mda-Latn-ZZ", mde: "mde-Arab-ZZ", mdf: "mdf-Cyrl-RU", mdh: "mdh-Latn-PH", mdj: "mdj-Latn-ZZ", mdr: "mdr-Latn-ID", mdx: "mdx-Ethi-ZZ", med: "med-Latn-ZZ", mee: "mee-Latn-ZZ", mek: "mek-Latn-ZZ", men: "men-Latn-SL", mer: "mer-Latn-KE", met: "met-Latn-ZZ", meu: "meu-Latn-ZZ", mfa: "mfa-Arab-TH", mfe: "mfe-Latn-MU", mfn: "mfn-Latn-ZZ", mfo: "mfo-Latn-ZZ", mfq: "mfq-Latn-ZZ", mg: "mg-Latn-MG", mgh: "mgh-Latn-MZ", mgl: "mgl-Latn-ZZ", mgo: "mgo-Latn-CM", mgp: "mgp-Deva-NP", mgy: "mgy-Latn-TZ", mh: "mh-Latn-MH", mhi: "mhi-Latn-ZZ", mhl: "mhl-Latn-ZZ", mi: "mi-Latn-NZ", mif: "mif-Latn-ZZ", min: "min-Latn-ID", miw: "miw-Latn-ZZ", mk: "mk-Cyrl-MK", mki: "mki-Arab-ZZ", mkl: "mkl-Latn-ZZ", mkp: "mkp-Latn-ZZ", mkw: "mkw-Latn-ZZ", ml: "ml-Mlym-IN", mle: "mle-Latn-ZZ", mlp: "mlp-Latn-ZZ", mls: "mls-Latn-SD", mmo: "mmo-Latn-ZZ", mmu: "mmu-Latn-ZZ", mmx: "mmx-Latn-ZZ", mn: "mn-Cyrl-MN", "mn-CN": "mn-Mong-CN", "mn-Mong": "mn-Mong-CN", mna: "mna-Latn-ZZ", mnf: "mnf-Latn-ZZ", mni: "mni-Beng-IN", mnw: "mnw-Mymr-MM", mo: "mo-Latn-RO", moa: "moa-Latn-ZZ", moe: "moe-Latn-CA", moh: "moh-Latn-CA", mos: "mos-Latn-BF", mox: "mox-Latn-ZZ", mpp: "mpp-Latn-ZZ", mps: "mps-Latn-ZZ", mpt: "mpt-Latn-ZZ", mpx: "mpx-Latn-ZZ", mql: "mql-Latn-ZZ", mr: "mr-Deva-IN", mrd: "mrd-Deva-NP", mrj: "mrj-Cyrl-RU", mro: "mro-Mroo-BD", ms: "ms-Latn-MY", "ms-CC": "ms-Arab-CC", mt: "mt-Latn-MT", mtc: "mtc-Latn-ZZ", mtf: "mtf-Latn-ZZ", mti: "mti-Latn-ZZ", mtr: "mtr-Deva-IN", mua: "mua-Latn-CM", mur: "mur-Latn-ZZ", mus: "mus-Latn-US", mva: "mva-Latn-ZZ", mvn: "mvn-Latn-ZZ", mvy: "mvy-Arab-PK", mwk: "mwk-Latn-ML", mwr: "mwr-Deva-IN", mwv: "mwv-Latn-ID", mww: "mww-Hmnp-US", mxc: "mxc-Latn-ZW", mxm: "mxm-Latn-ZZ", my: "my-Mymr-MM", myk: "myk-Latn-ZZ", mym: "mym-Ethi-ZZ", myv: "myv-Cyrl-RU", myw: "myw-Latn-ZZ", myx: "myx-Latn-UG", myz: "myz-Mand-IR", mzk: "mzk-Latn-ZZ", mzm: "mzm-Latn-ZZ", mzn: "mzn-Arab-IR", mzp: "mzp-Latn-ZZ", mzw: "mzw-Latn-ZZ", mzz: "mzz-Latn-ZZ", na: "na-Latn-NR", nac: "nac-Latn-ZZ", naf: "naf-Latn-ZZ", nak: "nak-Latn-ZZ", nan: "nan-Hans-CN", nap: "nap-Latn-IT", naq: "naq-Latn-NA", nas: "nas-Latn-ZZ", nb: "nb-Latn-NO", nca: "nca-Latn-ZZ", nce: "nce-Latn-ZZ", ncf: "ncf-Latn-ZZ", nch: "nch-Latn-MX", nco: "nco-Latn-ZZ", ncu: "ncu-Latn-ZZ", nd: "nd-Latn-ZW", ndc: "ndc-Latn-MZ", nds: "nds-Latn-DE", ne: "ne-Deva-NP", neb: "neb-Latn-ZZ", new: "new-Deva-NP", nex: "nex-Latn-ZZ", nfr: "nfr-Latn-ZZ", ng: "ng-Latn-NA", nga: "nga-Latn-ZZ", ngb: "ngb-Latn-ZZ", ngl: "ngl-Latn-MZ", nhb: "nhb-Latn-ZZ", nhe: "nhe-Latn-MX", nhw: "nhw-Latn-MX", nif: "nif-Latn-ZZ", nii: "nii-Latn-ZZ", nij: "nij-Latn-ID", nin: "nin-Latn-ZZ", niu: "niu-Latn-NU", niy: "niy-Latn-ZZ", niz: "niz-Latn-ZZ", njo: "njo-Latn-IN", nkg: "nkg-Latn-ZZ", nko: "nko-Latn-ZZ", nl: "nl-Latn-NL", nmg: "nmg-Latn-CM", nmz: "nmz-Latn-ZZ", nn: "nn-Latn-NO", nnf: "nnf-Latn-ZZ", nnh: "nnh-Latn-CM", nnk: "nnk-Latn-ZZ", nnm: "nnm-Latn-ZZ", nnp: "nnp-Wcho-IN", no: "no-Latn-NO", nod: "nod-Lana-TH", noe: "noe-Deva-IN", non: "non-Runr-SE", nop: "nop-Latn-ZZ", nou: "nou-Latn-ZZ", nqo: "nqo-Nkoo-GN", nr: "nr-Latn-ZA", nrb: "nrb-Latn-ZZ", nsk: "nsk-Cans-CA", nsn: "nsn-Latn-ZZ", nso: "nso-Latn-ZA", nss: "nss-Latn-ZZ", ntm: "ntm-Latn-ZZ", ntr: "ntr-Latn-ZZ", nui: "nui-Latn-ZZ", nup: "nup-Latn-ZZ", nus: "nus-Latn-SS", nuv: "nuv-Latn-ZZ", nux: "nux-Latn-ZZ", nv: "nv-Latn-US", nwb: "nwb-Latn-ZZ", nxq: "nxq-Latn-CN", nxr: "nxr-Latn-ZZ", ny: "ny-Latn-MW", nym: "nym-Latn-TZ", nyn: "nyn-Latn-UG", nzi: "nzi-Latn-GH", oc: "oc-Latn-FR", ogc: "ogc-Latn-ZZ", okr: "okr-Latn-ZZ", okv: "okv-Latn-ZZ", om: "om-Latn-ET", ong: "ong-Latn-ZZ", onn: "onn-Latn-ZZ", ons: "ons-Latn-ZZ", opm: "opm-Latn-ZZ", or: "or-Orya-IN", oro: "oro-Latn-ZZ", oru: "oru-Arab-ZZ", os: "os-Cyrl-GE", osa: "osa-Osge-US", ota: "ota-Arab-ZZ", otk: "otk-Orkh-MN", ozm: "ozm-Latn-ZZ", pa: "pa-Guru-IN", "pa-Arab": "pa-Arab-PK", "pa-PK": "pa-Arab-PK", pag: "pag-Latn-PH", pal: "pal-Phli-IR", "pal-Phlp": "pal-Phlp-CN", pam: "pam-Latn-PH", pap: "pap-Latn-AW", pau: "pau-Latn-PW", pbi: "pbi-Latn-ZZ", pcd: "pcd-Latn-FR", pcm: "pcm-Latn-NG", pdc: "pdc-Latn-US", pdt: "pdt-Latn-CA", ped: "ped-Latn-ZZ", peo: "peo-Xpeo-IR", pex: "pex-Latn-ZZ", pfl: "pfl-Latn-DE", phl: "phl-Arab-ZZ", phn: "phn-Phnx-LB", pil: "pil-Latn-ZZ", pip: "pip-Latn-ZZ", pka: "pka-Brah-IN", pko: "pko-Latn-KE", pl: "pl-Latn-PL", pla: "pla-Latn-ZZ", pms: "pms-Latn-IT", png: "png-Latn-ZZ", pnn: "pnn-Latn-ZZ", pnt: "pnt-Grek-GR", pon: "pon-Latn-FM", ppa: "ppa-Deva-IN", ppo: "ppo-Latn-ZZ", pra: "pra-Khar-PK", prd: "prd-Arab-IR", prg: "prg-Latn-001", ps: "ps-Arab-AF", pss: "pss-Latn-ZZ", pt: "pt-Latn-BR", ptp: "ptp-Latn-ZZ", puu: "puu-Latn-GA", pwa: "pwa-Latn-ZZ", qu: "qu-Latn-PE", quc: "quc-Latn-GT", qug: "qug-Latn-EC", rai: "rai-Latn-ZZ", raj: "raj-Deva-IN", rao: "rao-Latn-ZZ", rcf: "rcf-Latn-RE", rej: "rej-Latn-ID", rel: "rel-Latn-ZZ", res: "res-Latn-ZZ", rgn: "rgn-Latn-IT", rhg: "rhg-Arab-MM", ria: "ria-Latn-IN", rif: "rif-Tfng-MA", "rif-NL": "rif-Latn-NL", rjs: "rjs-Deva-NP", rkt: "rkt-Beng-BD", rm: "rm-Latn-CH", rmf: "rmf-Latn-FI", rmo: "rmo-Latn-CH", rmt: "rmt-Arab-IR", rmu: "rmu-Latn-SE", rn: "rn-Latn-BI", rna: "rna-Latn-ZZ", rng: "rng-Latn-MZ", ro: "ro-Latn-RO", rob: "rob-Latn-ID", rof: "rof-Latn-TZ", roo: "roo-Latn-ZZ", rro: "rro-Latn-ZZ", rtm: "rtm-Latn-FJ", ru: "ru-Cyrl-RU", rue: "rue-Cyrl-UA", rug: "rug-Latn-SB", rw: "rw-Latn-RW", rwk: "rwk-Latn-TZ", rwo: "rwo-Latn-ZZ", ryu: "ryu-Kana-JP", sa: "sa-Deva-IN", saf: "saf-Latn-GH", sah: "sah-Cyrl-RU", saq: "saq-Latn-KE", sas: "sas-Latn-ID", sat: "sat-Olck-IN", sav: "sav-Latn-SN", saz: "saz-Saur-IN", sba: "sba-Latn-ZZ", sbe: "sbe-Latn-ZZ", sbp: "sbp-Latn-TZ", sc: "sc-Latn-IT", sck: "sck-Deva-IN", scl: "scl-Arab-ZZ", scn: "scn-Latn-IT", sco: "sco-Latn-GB", scs: "scs-Latn-CA", sd: "sd-Arab-PK", "sd-Deva": "sd-Deva-IN", "sd-Khoj": "sd-Khoj-IN", "sd-Sind": "sd-Sind-IN", sdc: "sdc-Latn-IT", sdh: "sdh-Arab-IR", se: "se-Latn-NO", sef: "sef-Latn-CI", seh: "seh-Latn-MZ", sei: "sei-Latn-MX", ses: "ses-Latn-ML", sg: "sg-Latn-CF", sga: "sga-Ogam-IE", sgs: "sgs-Latn-LT", sgw: "sgw-Ethi-ZZ", sgz: "sgz-Latn-ZZ", shi: "shi-Tfng-MA", shk: "shk-Latn-ZZ", shn: "shn-Mymr-MM", shu: "shu-Arab-ZZ", si: "si-Sinh-LK", sid: "sid-Latn-ET", sig: "sig-Latn-ZZ", sil: "sil-Latn-ZZ", sim: "sim-Latn-ZZ", sjr: "sjr-Latn-ZZ", sk: "sk-Latn-SK", skc: "skc-Latn-ZZ", skr: "skr-Arab-PK", sks: "sks-Latn-ZZ", sl: "sl-Latn-SI", sld: "sld-Latn-ZZ", sli: "sli-Latn-PL", sll: "sll-Latn-ZZ", sly: "sly-Latn-ID", sm: "sm-Latn-WS", sma: "sma-Latn-SE", smj: "smj-Latn-SE", smn: "smn-Latn-FI", smp: "smp-Samr-IL", smq: "smq-Latn-ZZ", sms: "sms-Latn-FI", sn: "sn-Latn-ZW", snc: "snc-Latn-ZZ", snk: "snk-Latn-ML", snp: "snp-Latn-ZZ", snx: "snx-Latn-ZZ", sny: "sny-Latn-ZZ", so: "so-Latn-SO", sog: "sog-Sogd-UZ", sok: "sok-Latn-ZZ", soq: "soq-Latn-ZZ", sou: "sou-Thai-TH", soy: "soy-Latn-ZZ", spd: "spd-Latn-ZZ", spl: "spl-Latn-ZZ", sps: "sps-Latn-ZZ", sq: "sq-Latn-AL", sr: "sr-Cyrl-RS", "sr-ME": "sr-Latn-ME", "sr-RO": "sr-Latn-RO", "sr-RU": "sr-Latn-RU", "sr-TR": "sr-Latn-TR", srb: "srb-Sora-IN", srn: "srn-Latn-SR", srr: "srr-Latn-SN", srx: "srx-Deva-IN", ss: "ss-Latn-ZA", ssd: "ssd-Latn-ZZ", ssg: "ssg-Latn-ZZ", ssy: "ssy-Latn-ER", st: "st-Latn-ZA", stk: "stk-Latn-ZZ", stq: "stq-Latn-DE", su: "su-Latn-ID", sua: "sua-Latn-ZZ", sue: "sue-Latn-ZZ", suk: "suk-Latn-TZ", sur: "sur-Latn-ZZ", sus: "sus-Latn-GN", sv: "sv-Latn-SE", sw: "sw-Latn-TZ", swb: "swb-Arab-YT", swc: "swc-Latn-CD", swg: "swg-Latn-DE", swp: "swp-Latn-ZZ", swv: "swv-Deva-IN", sxn: "sxn-Latn-ID", sxw: "sxw-Latn-ZZ", syl: "syl-Beng-BD", syr: "syr-Syrc-IQ", szl: "szl-Latn-PL", ta: "ta-Taml-IN", taj: "taj-Deva-NP", tal: "tal-Latn-ZZ", tan: "tan-Latn-ZZ", taq: "taq-Latn-ZZ", tbc: "tbc-Latn-ZZ", tbd: "tbd-Latn-ZZ", tbf: "tbf-Latn-ZZ", tbg: "tbg-Latn-ZZ", tbo: "tbo-Latn-ZZ", tbw: "tbw-Latn-PH", tbz: "tbz-Latn-ZZ", tci: "tci-Latn-ZZ", tcy: "tcy-Knda-IN", tdd: "tdd-Tale-CN", tdg: "tdg-Deva-NP", tdh: "tdh-Deva-NP", tdu: "tdu-Latn-MY", te: "te-Telu-IN", ted: "ted-Latn-ZZ", tem: "tem-Latn-SL", teo: "teo-Latn-UG", tet: "tet-Latn-TL", tfi: "tfi-Latn-ZZ", tg: "tg-Cyrl-TJ", "tg-Arab": "tg-Arab-PK", "tg-PK": "tg-Arab-PK", tgc: "tgc-Latn-ZZ", tgo: "tgo-Latn-ZZ", tgu: "tgu-Latn-ZZ", th: "th-Thai-TH", thl: "thl-Deva-NP", thq: "thq-Deva-NP", thr: "thr-Deva-NP", ti: "ti-Ethi-ET", tif: "tif-Latn-ZZ", tig: "tig-Ethi-ER", tik: "tik-Latn-ZZ", tim: "tim-Latn-ZZ", tio: "tio-Latn-ZZ", tiv: "tiv-Latn-NG", tk: "tk-Latn-TM", tkl: "tkl-Latn-TK", tkr: "tkr-Latn-AZ", tkt: "tkt-Deva-NP", tl: "tl-Latn-PH", tlf: "tlf-Latn-ZZ", tlx: "tlx-Latn-ZZ", tly: "tly-Latn-AZ", tmh: "tmh-Latn-NE", tmy: "tmy-Latn-ZZ", tn: "tn-Latn-ZA", tnh: "tnh-Latn-ZZ", to: "to-Latn-TO", tof: "tof-Latn-ZZ", tog: "tog-Latn-MW", toq: "toq-Latn-ZZ", tpi: "tpi-Latn-PG", tpm: "tpm-Latn-ZZ", tpz: "tpz-Latn-ZZ", tqo: "tqo-Latn-ZZ", tr: "tr-Latn-TR", tru: "tru-Latn-TR", trv: "trv-Latn-TW", trw: "trw-Arab-PK", ts: "ts-Latn-ZA", tsd: "tsd-Grek-GR", tsf: "tsf-Deva-NP", tsg: "tsg-Latn-PH", tsj: "tsj-Tibt-BT", tsw: "tsw-Latn-ZZ", tt: "tt-Cyrl-RU", ttd: "ttd-Latn-ZZ", tte: "tte-Latn-ZZ", ttj: "ttj-Latn-UG", ttr: "ttr-Latn-ZZ", tts: "tts-Thai-TH", ttt: "ttt-Latn-AZ", tuh: "tuh-Latn-ZZ", tul: "tul-Latn-ZZ", tum: "tum-Latn-MW", tuq: "tuq-Latn-ZZ", tvd: "tvd-Latn-ZZ", tvl: "tvl-Latn-TV", tvu: "tvu-Latn-ZZ", twh: "twh-Latn-ZZ", twq: "twq-Latn-NE", txg: "txg-Tang-CN", ty: "ty-Latn-PF", tya: "tya-Latn-ZZ", tyv: "tyv-Cyrl-RU", tzm: "tzm-Latn-MA", ubu: "ubu-Latn-ZZ", udi: "udi-Aghb-RU", udm: "udm-Cyrl-RU", ug: "ug-Arab-CN", "ug-Cyrl": "ug-Cyrl-KZ", "ug-KZ": "ug-Cyrl-KZ", "ug-MN": "ug-Cyrl-MN", uga: "uga-Ugar-SY", uk: "uk-Cyrl-UA", uli: "uli-Latn-FM", umb: "umb-Latn-AO", und: "en-Latn-US", "und-002": "en-Latn-NG", "und-003": "en-Latn-US", "und-005": "pt-Latn-BR", "und-009": "en-Latn-AU", "und-011": "en-Latn-NG", "und-013": "es-Latn-MX", "und-014": "sw-Latn-TZ", "und-015": "ar-Arab-EG", "und-017": "sw-Latn-CD", "und-018": "en-Latn-ZA", "und-019": "en-Latn-US", "und-021": "en-Latn-US", "und-029": "es-Latn-CU", "und-030": "zh-Hans-CN", "und-034": "hi-Deva-IN", "und-035": "id-Latn-ID", "und-039": "it-Latn-IT", "und-053": "en-Latn-AU", "und-054": "en-Latn-PG", "und-057": "en-Latn-GU", "und-061": "sm-Latn-WS", "und-142": "zh-Hans-CN", "und-143": "uz-Latn-UZ", "und-145": "ar-Arab-SA", "und-150": "ru-Cyrl-RU", "und-151": "ru-Cyrl-RU", "und-154": "en-Latn-GB", "und-155": "de-Latn-DE", "und-202": "en-Latn-NG", "und-419": "es-Latn-419", "und-AD": "ca-Latn-AD", "und-Adlm": "ff-Adlm-GN", "und-AE": "ar-Arab-AE", "und-AF": "fa-Arab-AF", "und-Aghb": "udi-Aghb-RU", "und-Ahom": "aho-Ahom-IN", "und-AL": "sq-Latn-AL", "und-AM": "hy-Armn-AM", "und-AO": "pt-Latn-AO", "und-AQ": "und-Latn-AQ", "und-AR": "es-Latn-AR", "und-Arab": "ar-Arab-EG", "und-Arab-CC": "ms-Arab-CC", "und-Arab-CN": "ug-Arab-CN", "und-Arab-GB": "ks-Arab-GB", "und-Arab-ID": "ms-Arab-ID", "und-Arab-IN": "ur-Arab-IN", "und-Arab-KH": "cja-Arab-KH", "und-Arab-MM": "rhg-Arab-MM", "und-Arab-MN": "kk-Arab-MN", "und-Arab-MU": "ur-Arab-MU", "und-Arab-NG": "ha-Arab-NG", "und-Arab-PK": "ur-Arab-PK", "und-Arab-TG": "apd-Arab-TG", "und-Arab-TH": "mfa-Arab-TH", "und-Arab-TJ": "fa-Arab-TJ", "und-Arab-TR": "az-Arab-TR", "und-Arab-YT": "swb-Arab-YT", "und-Armi": "arc-Armi-IR", "und-Armn": "hy-Armn-AM", "und-AS": "sm-Latn-AS", "und-AT": "de-Latn-AT", "und-Avst": "ae-Avst-IR", "und-AW": "nl-Latn-AW", "und-AX": "sv-Latn-AX", "und-AZ": "az-Latn-AZ", "und-BA": "bs-Latn-BA", "und-Bali": "ban-Bali-ID", "und-Bamu": "bax-Bamu-CM", "und-Bass": "bsq-Bass-LR", "und-Batk": "bbc-Batk-ID", "und-BD": "bn-Beng-BD", "und-BE": "nl-Latn-BE", "und-Beng": "bn-Beng-BD", "und-BF": "fr-Latn-BF", "und-BG": "bg-Cyrl-BG", "und-BH": "ar-Arab-BH", "und-Bhks": "sa-Bhks-IN", "und-BI": "rn-Latn-BI", "und-BJ": "fr-Latn-BJ", "und-BL": "fr-Latn-BL", "und-BN": "ms-Latn-BN", "und-BO": "es-Latn-BO", "und-Bopo": "zh-Bopo-TW", "und-BQ": "pap-Latn-BQ", "und-BR": "pt-Latn-BR", "und-Brah": "pka-Brah-IN", "und-Brai": "fr-Brai-FR", "und-BT": "dz-Tibt-BT", "und-Bugi": "bug-Bugi-ID", "und-Buhd": "bku-Buhd-PH", "und-BV": "und-Latn-BV", "und-BY": "be-Cyrl-BY", "und-Cakm": "ccp-Cakm-BD", "und-Cans": "cr-Cans-CA", "und-Cari": "xcr-Cari-TR", "und-CD": "sw-Latn-CD", "und-CF": "fr-Latn-CF", "und-CG": "fr-Latn-CG", "und-CH": "de-Latn-CH", "und-Cham": "cjm-Cham-VN", "und-Cher": "chr-Cher-US", "und-Chrs": "xco-Chrs-UZ", "und-CI": "fr-Latn-CI", "und-CL": "es-Latn-CL", "und-CM": "fr-Latn-CM", "und-CN": "zh-Hans-CN", "und-CO": "es-Latn-CO", "und-Copt": "cop-Copt-EG", "und-CP": "und-Latn-CP", "und-Cprt": "grc-Cprt-CY", "und-CR": "es-Latn-CR", "und-CU": "es-Latn-CU", "und-CV": "pt-Latn-CV", "und-CW": "pap-Latn-CW", "und-CY": "el-Grek-CY", "und-Cyrl": "ru-Cyrl-RU", "und-Cyrl-AL": "mk-Cyrl-AL", "und-Cyrl-BA": "sr-Cyrl-BA", "und-Cyrl-GE": "os-Cyrl-GE", "und-Cyrl-GR": "mk-Cyrl-GR", "und-Cyrl-MD": "uk-Cyrl-MD", "und-Cyrl-RO": "bg-Cyrl-RO", "und-Cyrl-SK": "uk-Cyrl-SK", "und-Cyrl-TR": "kbd-Cyrl-TR", "und-Cyrl-XK": "sr-Cyrl-XK", "und-CZ": "cs-Latn-CZ", "und-DE": "de-Latn-DE", "und-Deva": "hi-Deva-IN", "und-Deva-BT": "ne-Deva-BT", "und-Deva-FJ": "hif-Deva-FJ", "und-Deva-MU": "bho-Deva-MU", "und-Deva-PK": "btv-Deva-PK", "und-Diak": "dv-Diak-MV", "und-DJ": "aa-Latn-DJ", "und-DK": "da-Latn-DK", "und-DO": "es-Latn-DO", "und-Dogr": "doi-Dogr-IN", "und-Dupl": "fr-Dupl-FR", "und-DZ": "ar-Arab-DZ", "und-EA": "es-Latn-EA", "und-EC": "es-Latn-EC", "und-EE": "et-Latn-EE", "und-EG": "ar-Arab-EG", "und-Egyp": "egy-Egyp-EG", "und-EH": "ar-Arab-EH", "und-Elba": "sq-Elba-AL", "und-Elym": "arc-Elym-IR", "und-ER": "ti-Ethi-ER", "und-ES": "es-Latn-ES", "und-ET": "am-Ethi-ET", "und-Ethi": "am-Ethi-ET", "und-EU": "en-Latn-IE", "und-EZ": "de-Latn-EZ", "und-FI": "fi-Latn-FI", "und-FO": "fo-Latn-FO", "und-FR": "fr-Latn-FR", "und-GA": "fr-Latn-GA", "und-GE": "ka-Geor-GE", "und-Geor": "ka-Geor-GE", "und-GF": "fr-Latn-GF", "und-GH": "ak-Latn-GH", "und-GL": "kl-Latn-GL", "und-Glag": "cu-Glag-BG", "und-GN": "fr-Latn-GN", "und-Gong": "wsg-Gong-IN", "und-Gonm": "esg-Gonm-IN", "und-Goth": "got-Goth-UA", "und-GP": "fr-Latn-GP", "und-GQ": "es-Latn-GQ", "und-GR": "el-Grek-GR", "und-Gran": "sa-Gran-IN", "und-Grek": "el-Grek-GR", "und-Grek-TR": "bgx-Grek-TR", "und-GS": "und-Latn-GS", "und-GT": "es-Latn-GT", "und-Gujr": "gu-Gujr-IN", "und-Guru": "pa-Guru-IN", "und-GW": "pt-Latn-GW", "und-Hanb": "zh-Hanb-TW", "und-Hang": "ko-Hang-KR", "und-Hani": "zh-Hani-CN", "und-Hano": "hnn-Hano-PH", "und-Hans": "zh-Hans-CN", "und-Hant": "zh-Hant-TW", "und-Hebr": "he-Hebr-IL", "und-Hebr-CA": "yi-Hebr-CA", "und-Hebr-GB": "yi-Hebr-GB", "und-Hebr-SE": "yi-Hebr-SE", "und-Hebr-UA": "yi-Hebr-UA", "und-Hebr-US": "yi-Hebr-US", "und-Hira": "ja-Hira-JP", "und-HK": "zh-Hant-HK", "und-Hluw": "hlu-Hluw-TR", "und-HM": "und-Latn-HM", "und-Hmng": "hnj-Hmng-LA", "und-Hmnp": "mww-Hmnp-US", "und-HN": "es-Latn-HN", "und-HR": "hr-Latn-HR", "und-HT": "ht-Latn-HT", "und-HU": "hu-Latn-HU", "und-Hung": "hu-Hung-HU", "und-IC": "es-Latn-IC", "und-ID": "id-Latn-ID", "und-IL": "he-Hebr-IL", "und-IN": "hi-Deva-IN", "und-IQ": "ar-Arab-IQ", "und-IR": "fa-Arab-IR", "und-IS": "is-Latn-IS", "und-IT": "it-Latn-IT", "und-Ital": "ett-Ital-IT", "und-Jamo": "ko-Jamo-KR", "und-Java": "jv-Java-ID", "und-JO": "ar-Arab-JO", "und-JP": "ja-Jpan-JP", "und-Jpan": "ja-Jpan-JP", "und-Kali": "eky-Kali-MM", "und-Kana": "ja-Kana-JP", "und-KE": "sw-Latn-KE", "und-KG": "ky-Cyrl-KG", "und-KH": "km-Khmr-KH", "und-Khar": "pra-Khar-PK", "und-Khmr": "km-Khmr-KH", "und-Khoj": "sd-Khoj-IN", "und-Kits": "zkt-Kits-CN", "und-KM": "ar-Arab-KM", "und-Knda": "kn-Knda-IN", "und-Kore": "ko-Kore-KR", "und-KP": "ko-Kore-KP", "und-KR": "ko-Kore-KR", "und-Kthi": "bho-Kthi-IN", "und-KW": "ar-Arab-KW", "und-KZ": "ru-Cyrl-KZ", "und-LA": "lo-Laoo-LA", "und-Lana": "nod-Lana-TH", "und-Laoo": "lo-Laoo-LA", "und-Latn-AF": "tk-Latn-AF", "und-Latn-AM": "ku-Latn-AM", "und-Latn-CN": "za-Latn-CN", "und-Latn-CY": "tr-Latn-CY", "und-Latn-DZ": "fr-Latn-DZ", "und-Latn-ET": "en-Latn-ET", "und-Latn-GE": "ku-Latn-GE", "und-Latn-IR": "tk-Latn-IR", "und-Latn-KM": "fr-Latn-KM", "und-Latn-MA": "fr-Latn-MA", "und-Latn-MK": "sq-Latn-MK", "und-Latn-MM": "kac-Latn-MM", "und-Latn-MO": "pt-Latn-MO", "und-Latn-MR": "fr-Latn-MR", "und-Latn-RU": "krl-Latn-RU", "und-Latn-SY": "fr-Latn-SY", "und-Latn-TN": "fr-Latn-TN", "und-Latn-TW": "trv-Latn-TW", "und-Latn-UA": "pl-Latn-UA", "und-LB": "ar-Arab-LB", "und-Lepc": "lep-Lepc-IN", "und-LI": "de-Latn-LI", "und-Limb": "lif-Limb-IN", "und-Lina": "lab-Lina-GR", "und-Linb": "grc-Linb-GR", "und-Lisu": "lis-Lisu-CN", "und-LK": "si-Sinh-LK", "und-LS": "st-Latn-LS", "und-LT": "lt-Latn-LT", "und-LU": "fr-Latn-LU", "und-LV": "lv-Latn-LV", "und-LY": "ar-Arab-LY", "und-Lyci": "xlc-Lyci-TR", "und-Lydi": "xld-Lydi-TR", "und-MA": "ar-Arab-MA", "und-Mahj": "hi-Mahj-IN", "und-Maka": "mak-Maka-ID", "und-Mand": "myz-Mand-IR", "und-Mani": "xmn-Mani-CN", "und-Marc": "bo-Marc-CN", "und-MC": "fr-Latn-MC", "und-MD": "ro-Latn-MD", "und-ME": "sr-Latn-ME", "und-Medf": "dmf-Medf-NG", "und-Mend": "men-Mend-SL", "und-Merc": "xmr-Merc-SD", "und-Mero": "xmr-Mero-SD", "und-MF": "fr-Latn-MF", "und-MG": "mg-Latn-MG", "und-MK": "mk-Cyrl-MK", "und-ML": "bm-Latn-ML", "und-Mlym": "ml-Mlym-IN", "und-MM": "my-Mymr-MM", "und-MN": "mn-Cyrl-MN", "und-MO": "zh-Hant-MO", "und-Modi": "mr-Modi-IN", "und-Mong": "mn-Mong-CN", "und-MQ": "fr-Latn-MQ", "und-MR": "ar-Arab-MR", "und-Mroo": "mro-Mroo-BD", "und-MT": "mt-Latn-MT", "und-Mtei": "mni-Mtei-IN", "und-MU": "mfe-Latn-MU", "und-Mult": "skr-Mult-PK", "und-MV": "dv-Thaa-MV", "und-MX": "es-Latn-MX", "und-MY": "ms-Latn-MY", "und-Mymr": "my-Mymr-MM", "und-Mymr-IN": "kht-Mymr-IN", "und-Mymr-TH": "mnw-Mymr-TH", "und-MZ": "pt-Latn-MZ", "und-NA": "af-Latn-NA", "und-Nand": "sa-Nand-IN", "und-Narb": "xna-Narb-SA", "und-Nbat": "arc-Nbat-JO", "und-NC": "fr-Latn-NC", "und-NE": "ha-Latn-NE", "und-Newa": "new-Newa-NP", "und-NI": "es-Latn-NI", "und-Nkoo": "man-Nkoo-GN", "und-NL": "nl-Latn-NL", "und-NO": "nb-Latn-NO", "und-NP": "ne-Deva-NP", "und-Nshu": "zhx-Nshu-CN", "und-Ogam": "sga-Ogam-IE", "und-Olck": "sat-Olck-IN", "und-OM": "ar-Arab-OM", "und-Orkh": "otk-Orkh-MN", "und-Orya": "or-Orya-IN", "und-Osge": "osa-Osge-US", "und-Osma": "so-Osma-SO", "und-PA": "es-Latn-PA", "und-Palm": "arc-Palm-SY", "und-Pauc": "ctd-Pauc-MM", "und-PE": "es-Latn-PE", "und-Perm": "kv-Perm-RU", "und-PF": "fr-Latn-PF", "und-PG": "tpi-Latn-PG", "und-PH": "fil-Latn-PH", "und-Phag": "lzh-Phag-CN", "und-Phli": "pal-Phli-IR", "und-Phlp": "pal-Phlp-CN", "und-Phnx": "phn-Phnx-LB", "und-PK": "ur-Arab-PK", "und-PL": "pl-Latn-PL", "und-Plrd": "hmd-Plrd-CN", "und-PM": "fr-Latn-PM", "und-PR": "es-Latn-PR", "und-Prti": "xpr-Prti-IR", "und-PS": "ar-Arab-PS", "und-PT": "pt-Latn-PT", "und-PW": "pau-Latn-PW", "und-PY": "gn-Latn-PY", "und-QA": "ar-Arab-QA", "und-QO": "en-Latn-DG", "und-RE": "fr-Latn-RE", "und-Rjng": "rej-Rjng-ID", "und-RO": "ro-Latn-RO", "und-Rohg": "rhg-Rohg-MM", "und-RS": "sr-Cyrl-RS", "und-RU": "ru-Cyrl-RU", "und-Runr": "non-Runr-SE", "und-RW": "rw-Latn-RW", "und-SA": "ar-Arab-SA", "und-Samr": "smp-Samr-IL", "und-Sarb": "xsa-Sarb-YE", "und-Saur": "saz-Saur-IN", "und-SC": "fr-Latn-SC", "und-SD": "ar-Arab-SD", "und-SE": "sv-Latn-SE", "und-Sgnw": "ase-Sgnw-US", "und-Shaw": "en-Shaw-GB", "und-Shrd": "sa-Shrd-IN", "und-SI": "sl-Latn-SI", "und-Sidd": "sa-Sidd-IN", "und-Sind": "sd-Sind-IN", "und-Sinh": "si-Sinh-LK", "und-SJ": "nb-Latn-SJ", "und-SK": "sk-Latn-SK", "und-SM": "it-Latn-SM", "und-SN": "fr-Latn-SN", "und-SO": "so-Latn-SO", "und-Sogd": "sog-Sogd-UZ", "und-Sogo": "sog-Sogo-UZ", "und-Sora": "srb-Sora-IN", "und-Soyo": "cmg-Soyo-MN", "und-SR": "nl-Latn-SR", "und-ST": "pt-Latn-ST", "und-Sund": "su-Sund-ID", "und-SV": "es-Latn-SV", "und-SY": "ar-Arab-SY", "und-Sylo": "syl-Sylo-BD", "und-Syrc": "syr-Syrc-IQ", "und-Tagb": "tbw-Tagb-PH", "und-Takr": "doi-Takr-IN", "und-Tale": "tdd-Tale-CN", "und-Talu": "khb-Talu-CN", "und-Taml": "ta-Taml-IN", "und-Tang": "txg-Tang-CN", "und-Tavt": "blt-Tavt-VN", "und-TD": "fr-Latn-TD", "und-Telu": "te-Telu-IN", "und-TF": "fr-Latn-TF", "und-Tfng": "zgh-Tfng-MA", "und-TG": "fr-Latn-TG", "und-Tglg": "fil-Tglg-PH", "und-TH": "th-Thai-TH", "und-Thaa": "dv-Thaa-MV", "und-Thai": "th-Thai-TH", "und-Thai-CN": "lcp-Thai-CN", "und-Thai-KH": "kdt-Thai-KH", "und-Thai-LA": "kdt-Thai-LA", "und-Tibt": "bo-Tibt-CN", "und-Tirh": "mai-Tirh-IN", "und-TJ": "tg-Cyrl-TJ", "und-TK": "tkl-Latn-TK", "und-TL": "pt-Latn-TL", "und-TM": "tk-Latn-TM", "und-TN": "ar-Arab-TN", "und-TO": "to-Latn-TO", "und-TR": "tr-Latn-TR", "und-TV": "tvl-Latn-TV", "und-TW": "zh-Hant-TW", "und-TZ": "sw-Latn-TZ", "und-UA": "uk-Cyrl-UA", "und-UG": "sw-Latn-UG", "und-Ugar": "uga-Ugar-SY", "und-UY": "es-Latn-UY", "und-UZ": "uz-Latn-UZ", "und-VA": "it-Latn-VA", "und-Vaii": "vai-Vaii-LR", "und-VE": "es-Latn-VE", "und-VN": "vi-Latn-VN", "und-VU": "bi-Latn-VU", "und-Wara": "hoc-Wara-IN", "und-Wcho": "nnp-Wcho-IN", "und-WF": "fr-Latn-WF", "und-WS": "sm-Latn-WS", "und-XK": "sq-Latn-XK", "und-Xpeo": "peo-Xpeo-IR", "und-Xsux": "akk-Xsux-IQ", "und-YE": "ar-Arab-YE", "und-Yezi": "ku-Yezi-GE", "und-Yiii": "ii-Yiii-CN", "und-YT": "fr-Latn-YT", "und-Zanb": "cmg-Zanb-MN", "und-ZW": "sn-Latn-ZW", unr: "unr-Beng-IN", "unr-Deva": "unr-Deva-NP", "unr-NP": "unr-Deva-NP", unx: "unx-Beng-IN", uok: "uok-Latn-ZZ", ur: "ur-Arab-PK", uri: "uri-Latn-ZZ", urt: "urt-Latn-ZZ", urw: "urw-Latn-ZZ", usa: "usa-Latn-ZZ", uth: "uth-Latn-ZZ", utr: "utr-Latn-ZZ", uvh: "uvh-Latn-ZZ", uvl: "uvl-Latn-ZZ", uz: "uz-Latn-UZ", "uz-AF": "uz-Arab-AF", "uz-Arab": "uz-Arab-AF", "uz-CN": "uz-Cyrl-CN", vag: "vag-Latn-ZZ", vai: "vai-Vaii-LR", van: "van-Latn-ZZ", ve: "ve-Latn-ZA", vec: "vec-Latn-IT", vep: "vep-Latn-RU", vi: "vi-Latn-VN", vic: "vic-Latn-SX", viv: "viv-Latn-ZZ", vls: "vls-Latn-BE", vmf: "vmf-Latn-DE", vmw: "vmw-Latn-MZ", vo: "vo-Latn-001", vot: "vot-Latn-RU", vro: "vro-Latn-EE", vun: "vun-Latn-TZ", vut: "vut-Latn-ZZ", wa: "wa-Latn-BE", wae: "wae-Latn-CH", waj: "waj-Latn-ZZ", wal: "wal-Ethi-ET", wan: "wan-Latn-ZZ", war: "war-Latn-PH", wbp: "wbp-Latn-AU", wbq: "wbq-Telu-IN", wbr: "wbr-Deva-IN", wci: "wci-Latn-ZZ", wer: "wer-Latn-ZZ", wgi: "wgi-Latn-ZZ", whg: "whg-Latn-ZZ", wib: "wib-Latn-ZZ", wiu: "wiu-Latn-ZZ", wiv: "wiv-Latn-ZZ", wja: "wja-Latn-ZZ", wji: "wji-Latn-ZZ", wls: "wls-Latn-WF", wmo: "wmo-Latn-ZZ", wnc: "wnc-Latn-ZZ", wni: "wni-Arab-KM", wnu: "wnu-Latn-ZZ", wo: "wo-Latn-SN", wob: "wob-Latn-ZZ", wos: "wos-Latn-ZZ", wrs: "wrs-Latn-ZZ", wsg: "wsg-Gong-IN", wsk: "wsk-Latn-ZZ", wtm: "wtm-Deva-IN", wuu: "wuu-Hans-CN", wuv: "wuv-Latn-ZZ", wwa: "wwa-Latn-ZZ", xav: "xav-Latn-BR", xbi: "xbi-Latn-ZZ", xco: "xco-Chrs-UZ", xcr: "xcr-Cari-TR", xes: "xes-Latn-ZZ", xh: "xh-Latn-ZA", xla: "xla-Latn-ZZ", xlc: "xlc-Lyci-TR", xld: "xld-Lydi-TR", xmf: "xmf-Geor-GE", xmn: "xmn-Mani-CN", xmr: "xmr-Merc-SD", xna: "xna-Narb-SA", xnr: "xnr-Deva-IN", xog: "xog-Latn-UG", xon: "xon-Latn-ZZ", xpr: "xpr-Prti-IR", xrb: "xrb-Latn-ZZ", xsa: "xsa-Sarb-YE", xsi: "xsi-Latn-ZZ", xsm: "xsm-Latn-ZZ", xsr: "xsr-Deva-NP", xwe: "xwe-Latn-ZZ", yam: "yam-Latn-ZZ", yao: "yao-Latn-MZ", yap: "yap-Latn-FM", yas: "yas-Latn-ZZ", yat: "yat-Latn-ZZ", yav: "yav-Latn-CM", yay: "yay-Latn-ZZ", yaz: "yaz-Latn-ZZ", yba: "yba-Latn-ZZ", ybb: "ybb-Latn-CM", yby: "yby-Latn-ZZ", yer: "yer-Latn-ZZ", ygr: "ygr-Latn-ZZ", ygw: "ygw-Latn-ZZ", yi: "yi-Hebr-001", yko: "yko-Latn-ZZ", yle: "yle-Latn-ZZ", ylg: "ylg-Latn-ZZ", yll: "yll-Latn-ZZ", yml: "yml-Latn-ZZ", yo: "yo-Latn-NG", yon: "yon-Latn-ZZ", yrb: "yrb-Latn-ZZ", yre: "yre-Latn-ZZ", yrl: "yrl-Latn-BR", yss: "yss-Latn-ZZ", yua: "yua-Latn-MX", yue: "yue-Hant-HK", "yue-CN": "yue-Hans-CN", "yue-Hans": "yue-Hans-CN", yuj: "yuj-Latn-ZZ", yut: "yut-Latn-ZZ", yuw: "yuw-Latn-ZZ", za: "za-Latn-CN", zag: "zag-Latn-SD", zdj: "zdj-Arab-KM", zea: "zea-Latn-NL", zgh: "zgh-Tfng-MA", zh: "zh-Hans-CN", "zh-AU": "zh-Hant-AU", "zh-BN": "zh-Hant-BN", "zh-Bopo": "zh-Bopo-TW", "zh-GB": "zh-Hant-GB", "zh-GF": "zh-Hant-GF", "zh-Hanb": "zh-Hanb-TW", "zh-Hant": "zh-Hant-TW", "zh-HK": "zh-Hant-HK", "zh-ID": "zh-Hant-ID", "zh-MO": "zh-Hant-MO", "zh-PA": "zh-Hant-PA", "zh-PF": "zh-Hant-PF", "zh-PH": "zh-Hant-PH", "zh-SR": "zh-Hant-SR", "zh-TH": "zh-Hant-TH", "zh-TW": "zh-Hant-TW", "zh-US": "zh-Hant-US", "zh-VN": "zh-Hant-VN", zhx: "zhx-Nshu-CN", zia: "zia-Latn-ZZ", zkt: "zkt-Kits-CN", zlm: "zlm-Latn-TG", zmi: "zmi-Latn-MY", zne: "zne-Latn-ZZ", zu: "zu-Latn-ZA", zza: "zza-Latn-TR" } } }; } }); // bazel-out/darwin-fastbuild/bin/packages/intl-getcanonicallocales/src/canonicalizer.js var require_canonicalizer = __commonJS({ "bazel-out/darwin-fastbuild/bin/packages/intl-getcanonicallocales/src/canonicalizer.js": function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", {value: true}); exports.canonicalizeUnicodeLocaleId = exports.canonicalizeUnicodeLanguageId = void 0; var tslib_1 = require_tslib(); var aliases_1 = require_aliases(); var parser_1 = require_parser(); var likelySubtags2 = tslib_1.__importStar(require_likelySubtags()); var emitter_1 = require_emitter(); function canonicalizeAttrs(strs) { return Object.keys(strs.reduce(function(all, str) { all[str.toLowerCase()] = 1; return all; }, {})).sort(); } function canonicalizeKVs(arr) { var all = {}; var result = []; for (var _i = 0, arr_1 = arr; _i < arr_1.length; _i++) { var kv = arr_1[_i]; if (kv[0] in all) { continue; } all[kv[0]] = 1; if (!kv[1] || kv[1] === "true") { result.push([kv[0].toLowerCase()]); } else { result.push([kv[0].toLowerCase(), kv[1].toLowerCase()]); } } return result.sort(compareKV); } function compareKV(t1, t2) { return t1[0] < t2[0] ? -1 : t1[0] > t2[0] ? 1 : 0; } function compareExtension(e1, e2) { return e1.type < e2.type ? -1 : e1.type > e2.type ? 1 : 0; } function mergeVariants(v1, v2) { var result = tslib_1.__spreadArray([], v1); for (var _i = 0, v2_1 = v2; _i < v2_1.length; _i++) { var v = v2_1[_i]; if (v1.indexOf(v) < 0) { result.push(v); } } return result; } function canonicalizeUnicodeLanguageId(unicodeLanguageId) { var finalLangAst = unicodeLanguageId; if (unicodeLanguageId.variants.length) { var replacedLang_1 = ""; for (var _i = 0, _a = unicodeLanguageId.variants; _i < _a.length; _i++) { var variant = _a[_i]; if (replacedLang_1 = aliases_1.languageAlias[emitter_1.emitUnicodeLanguageId({ lang: unicodeLanguageId.lang, variants: [variant] })]) { var replacedLangAst = parser_1.parseUnicodeLanguageId(replacedLang_1.split(parser_1.SEPARATOR)); finalLangAst = { lang: replacedLangAst.lang, script: finalLangAst.script || replacedLangAst.script, region: finalLangAst.region || replacedLangAst.region, variants: mergeVariants(finalLangAst.variants, replacedLangAst.variants) }; break; } } } if (finalLangAst.script && finalLangAst.region) { var replacedLang_2 = aliases_1.languageAlias[emitter_1.emitUnicodeLanguageId({ lang: finalLangAst.lang, script: finalLangAst.script, region: finalLangAst.region, variants: [] })]; if (replacedLang_2) { var replacedLangAst = parser_1.parseUnicodeLanguageId(replacedLang_2.split(parser_1.SEPARATOR)); finalLangAst = { lang: replacedLangAst.lang, script: replacedLangAst.script, region: replacedLangAst.region, variants: finalLangAst.variants }; } } if (finalLangAst.region) { var replacedLang_3 = aliases_1.languageAlias[emitter_1.emitUnicodeLanguageId({ lang: finalLangAst.lang, region: finalLangAst.region, variants: [] })]; if (replacedLang_3) { var replacedLangAst = parser_1.parseUnicodeLanguageId(replacedLang_3.split(parser_1.SEPARATOR)); finalLangAst = { lang: replacedLangAst.lang, script: finalLangAst.script || replacedLangAst.script, region: replacedLangAst.region, variants: finalLangAst.variants }; } } var replacedLang = aliases_1.languageAlias[emitter_1.emitUnicodeLanguageId({ lang: finalLangAst.lang, variants: [] })]; if (replacedLang) { var replacedLangAst = parser_1.parseUnicodeLanguageId(replacedLang.split(parser_1.SEPARATOR)); finalLangAst = { lang: replacedLangAst.lang, script: finalLangAst.script || replacedLangAst.script, region: finalLangAst.region || replacedLangAst.region, variants: finalLangAst.variants }; } if (finalLangAst.region) { var region = finalLangAst.region.toUpperCase(); var regionAlias = aliases_1.territoryAlias[region]; var replacedRegion = void 0; if (regionAlias) { var regions = regionAlias.split(" "); replacedRegion = regions[0]; var likelySubtag = likelySubtags2.supplemental.likelySubtags[emitter_1.emitUnicodeLanguageId({ lang: finalLangAst.lang, script: finalLangAst.script, variants: [] })]; if (likelySubtag) { var likelyRegion = parser_1.parseUnicodeLanguageId(likelySubtag.split(parser_1.SEPARATOR)).region; if (likelyRegion && regions.indexOf(likelyRegion) > -1) { replacedRegion = likelyRegion; } } } if (replacedRegion) { finalLangAst.region = replacedRegion; } finalLangAst.region = finalLangAst.region.toUpperCase(); } if (finalLangAst.script) { finalLangAst.script = finalLangAst.script[0].toUpperCase() + finalLangAst.script.slice(1).toLowerCase(); if (aliases_1.scriptAlias[finalLangAst.script]) { finalLangAst.script = aliases_1.scriptAlias[finalLangAst.script]; } } if (finalLangAst.variants.length) { for (var i = 0; i < finalLangAst.variants.length; i++) { var variant = finalLangAst.variants[i].toLowerCase(); if (aliases_1.variantAlias[variant]) { var alias = aliases_1.variantAlias[variant]; if (parser_1.isUnicodeVariantSubtag(alias)) { finalLangAst.variants[i] = alias; } else if (parser_1.isUnicodeLanguageSubtag(alias)) { finalLangAst.lang = alias; } } } finalLangAst.variants.sort(); } return finalLangAst; } exports.canonicalizeUnicodeLanguageId = canonicalizeUnicodeLanguageId; function canonicalizeUnicodeLocaleId(locale) { locale.lang = canonicalizeUnicodeLanguageId(locale.lang); if (locale.extensions) { for (var _i = 0, _a = locale.extensions; _i < _a.length; _i++) { var extension = _a[_i]; switch (extension.type) { case "u": extension.keywords = canonicalizeKVs(extension.keywords); if (extension.attributes) { extension.attributes = canonicalizeAttrs(extension.attributes); } break; case "t": if (extension.lang) { extension.lang = canonicalizeUnicodeLanguageId(extension.lang); } extension.fields = canonicalizeKVs(extension.fields); break; default: extension.value = extension.value.toLowerCase(); break; } } locale.extensions.sort(compareExtension); } return locale; } exports.canonicalizeUnicodeLocaleId = canonicalizeUnicodeLocaleId; } }); // bazel-out/darwin-fastbuild/bin/packages/intl-getcanonicallocales/src/types.js var require_types = __commonJS({ "bazel-out/darwin-fastbuild/bin/packages/intl-getcanonicallocales/src/types.js": function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", {value: true}); } }); // bazel-out/darwin-fastbuild/bin/packages/intl-getcanonicallocales/index.js var require_intl_getcanonicallocales = __commonJS({ "bazel-out/darwin-fastbuild/bin/packages/intl-getcanonicallocales/index.js": function(exports) { "use strict"; Object.defineProperty(exports, "__esModule", {value: true}); exports.isUnicodeLanguageSubtag = exports.isUnicodeScriptSubtag = exports.isUnicodeRegionSubtag = exports.isStructurallyValidLanguageTag = exports.parseUnicodeLanguageId = exports.parseUnicodeLocaleId = exports.getCanonicalLocales = void 0; var tslib_1 = require_tslib(); var parser_1 = require_parser(); var emitter_1 = require_emitter(); var canonicalizer_1 = require_canonicalizer(); function CanonicalizeLocaleList2(locales) { if (locales === void 0) { return []; } var seen = []; if (typeof locales === "string") { locales = [locales]; } for (var _i = 0, locales_1 = locales; _i < locales_1.length; _i++) { var locale = locales_1[_i]; var canonicalizedTag = emitter_1.emitUnicodeLocaleId(canonicalizer_1.canonicalizeUnicodeLocaleId(parser_1.parseUnicodeLocaleId(locale))); if (seen.indexOf(canonicalizedTag) < 0) { seen.push(canonicalizedTag); } } return seen; } function getCanonicalLocales(locales) { return CanonicalizeLocaleList2(locales); } exports.getCanonicalLocales = getCanonicalLocales; var parser_2 = require_parser(); Object.defineProperty(exports, "parseUnicodeLocaleId", {enumerable: true, get: function() { return parser_2.parseUnicodeLocaleId; }}); Object.defineProperty(exports, "parseUnicodeLanguageId", {enumerable: true, get: function() { return parser_2.parseUnicodeLanguageId; }}); Object.defineProperty(exports, "isStructurallyValidLanguageTag", {enumerable: true, get: function() { return parser_2.isStructurallyValidLanguageTag; }}); Object.defineProperty(exports, "isUnicodeRegionSubtag", {enumerable: true, get: function() { return parser_2.isUnicodeRegionSubtag; }}); Object.defineProperty(exports, "isUnicodeScriptSubtag", {enumerable: true, get: function() { return parser_2.isUnicodeScriptSubtag; }}); Object.defineProperty(exports, "isUnicodeLanguageSubtag", {enumerable: true, get: function() { return parser_2.isUnicodeLanguageSubtag; }}); tslib_1.__exportStar(require_types(), exports); tslib_1.__exportStar(require_emitter(), exports); } }); // bazel-out/darwin-fastbuild/bin/packages/intl-locale/lib/index.js var import_tslib5 = __toModule(require_tslib()); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/BestFitFormatMatcher.js var import_tslib2 = __toModule(require_tslib()); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/utils.js function invariant(condition, message, Err) { if (Err === void 0) { Err = Error; } if (!condition) { throw new Err(message); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/skeleton.js var import_tslib = __toModule(require_tslib()); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/types/date-time.js var RangePatternType; (function(RangePatternType2) { RangePatternType2["startRange"] = "startRange"; RangePatternType2["shared"] = "shared"; RangePatternType2["endRange"] = "endRange"; })(RangePatternType || (RangePatternType = {})); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/262.js function ToString(o) { if (typeof o === "symbol") { throw TypeError("Cannot convert a Symbol value to a string"); } return String(o); } function ToObject(arg) { if (arg == null) { throw new TypeError("undefined/null cannot be converted to object"); } return Object(arg); } function SameValue(x, y) { if (Object.is) { return Object.is(x, y); } if (x === y) { return x !== 0 || 1 / x === 1 / y; } return x !== x && y !== y; } var MINUTES_PER_HOUR = 60; var SECONDS_PER_MINUTE = 60; var MS_PER_SECOND = 1e3; var MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE; var MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/CoerceOptionsToObject.js function CoerceOptionsToObject(options) { if (typeof options === "undefined") { return Object.create(null); } return ToObject(options); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/BasicFormatMatcher.js var import_tslib3 = __toModule(require_tslib()); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/GetOption.js function GetOption(opts, prop, type, values, fallback) { if (typeof opts !== "object") { throw new TypeError("Options must be an object"); } var value = opts[prop]; if (value !== void 0) { if (type !== "boolean" && type !== "string") { throw new TypeError("invalid type"); } if (type === "boolean") { value = Boolean(value); } if (type === "string") { value = ToString(value); } if (values !== void 0 && !values.filter(function(val) { return val == value; }).length) { throw new RangeError(value + " is not within " + values.join(", ")); } return value; } return fallback; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/IsSanctionedSimpleUnitIdentifier.js var SANCTIONED_UNITS = [ "angle-degree", "area-acre", "area-hectare", "concentr-percent", "digital-bit", "digital-byte", "digital-gigabit", "digital-gigabyte", "digital-kilobit", "digital-kilobyte", "digital-megabit", "digital-megabyte", "digital-petabyte", "digital-terabit", "digital-terabyte", "duration-day", "duration-hour", "duration-millisecond", "duration-minute", "duration-month", "duration-second", "duration-week", "duration-year", "length-centimeter", "length-foot", "length-inch", "length-kilometer", "length-meter", "length-mile-scandinavian", "length-mile", "length-millimeter", "length-yard", "mass-gram", "mass-kilogram", "mass-ounce", "mass-pound", "mass-stone", "temperature-celsius", "temperature-fahrenheit", "volume-fluid-ounce", "volume-gallon", "volume-liter", "volume-milliliter" ]; function removeUnitNamespace(unit) { return unit.slice(unit.indexOf("-") + 1); } var SIMPLE_UNITS = SANCTIONED_UNITS.map(removeUnitNamespace); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/regex.generated.js var S_UNICODE_REGEX = /[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEE0-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDD78\uDD7A-\uDDCB\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6\uDF00-\uDF92\uDF94-\uDFCA]/; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/format_to_parts.js var CARET_S_UNICODE_REGEX = new RegExp("^" + S_UNICODE_REGEX.source); var S_DOLLAR_UNICODE_REGEX = new RegExp(S_UNICODE_REGEX.source + "$"); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/data.js var import_tslib4 = __toModule(require_tslib()); var MissingLocaleDataError = function(_super) { (0, import_tslib4.__extends)(MissingLocaleDataError2, _super); function MissingLocaleDataError2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = "MISSING_LOCALE_DATA"; return _this; } return MissingLocaleDataError2; }(Error); // bazel-out/darwin-fastbuild/bin/packages/intl-locale/lib/index.js var import_intl_getcanonicallocales = __toModule(require_intl_getcanonicallocales()); var likelySubtagsData = __toModule(require_likelySubtags()); // bazel-out/darwin-fastbuild/bin/packages/intl-locale/lib/get_internal_slots.js var internalSlotMap = new WeakMap(); function getInternalSlots(x) { var internalSlots = internalSlotMap.get(x); if (!internalSlots) { internalSlots = Object.create(null); internalSlotMap.set(x, internalSlots); } return internalSlots; } // bazel-out/darwin-fastbuild/bin/packages/intl-locale/lib/index.js var likelySubtags = likelySubtagsData.supplemental.likelySubtags; var RELEVANT_EXTENSION_KEYS = ["ca", "co", "hc", "kf", "kn", "nu"]; var UNICODE_TYPE_REGEX = /^[a-z0-9]{3,8}(-[a-z0-9]{3,8})*$/i; function applyOptionsToTag(tag, options) { invariant(typeof tag === "string", "language tag must be a string"); invariant((0, import_intl_getcanonicallocales.isStructurallyValidLanguageTag)(tag), "malformed language tag", RangeError); var language = GetOption(options, "language", "string", void 0, void 0); if (language !== void 0) { invariant((0, import_intl_getcanonicallocales.isUnicodeLanguageSubtag)(language), "Malformed unicode_language_subtag", RangeError); } var script = GetOption(options, "script", "string", void 0, void 0); if (script !== void 0) { invariant((0, import_intl_getcanonicallocales.isUnicodeScriptSubtag)(script), "Malformed unicode_script_subtag", RangeError); } var region = GetOption(options, "region", "string", void 0, void 0); if (region !== void 0) { invariant((0, import_intl_getcanonicallocales.isUnicodeRegionSubtag)(region), "Malformed unicode_region_subtag", RangeError); } var languageId = (0, import_intl_getcanonicallocales.parseUnicodeLanguageId)(tag); if (language !== void 0) { languageId.lang = language; } if (script !== void 0) { languageId.script = script; } if (region !== void 0) { languageId.region = region; } return Intl.getCanonicalLocales((0, import_intl_getcanonicallocales.emitUnicodeLocaleId)((0, import_tslib5.__assign)((0, import_tslib5.__assign)({}, (0, import_intl_getcanonicallocales.parseUnicodeLocaleId)(tag)), {lang: languageId})))[0]; } function applyUnicodeExtensionToTag(tag, options, relevantExtensionKeys) { var unicodeExtension; var keywords = []; var ast = (0, import_intl_getcanonicallocales.parseUnicodeLocaleId)(tag); for (var _i = 0, _a = ast.extensions; _i < _a.length; _i++) { var ext = _a[_i]; if (ext.type === "u") { unicodeExtension = ext; if (Array.isArray(ext.keywords)) keywords = ext.keywords; } } var result = Object.create(null); for (var _b = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _b < relevantExtensionKeys_1.length; _b++) { var key = relevantExtensionKeys_1[_b]; var value = void 0, entry = void 0; for (var _c = 0, keywords_1 = keywords; _c < keywords_1.length; _c++) { var keyword = keywords_1[_c]; if (keyword[0] === key) { entry = keyword; value = entry[1]; } } invariant(key in options, key + " must be in options"); var optionsValue = options[key]; if (optionsValue !== void 0) { invariant(typeof optionsValue === "string", "Value for " + key + " must be a string"); value = optionsValue; if (entry) { entry[1] = value; } else { keywords.push([key, value]); } } result[key] = value; } if (!unicodeExtension) { if (keywords.length) { ast.extensions.push({ type: "u", keywords: keywords, attributes: [] }); } } else { unicodeExtension.keywords = keywords; } result.locale = Intl.getCanonicalLocales((0, import_intl_getcanonicallocales.emitUnicodeLocaleId)(ast))[0]; return result; } function mergeUnicodeLanguageId(lang, script, region, variants, replacement) { if (variants === void 0) { variants = []; } if (!replacement) { return { lang: lang || "und", script: script, region: region, variants: variants }; } return { lang: !lang || lang === "und" ? replacement.lang : lang, script: script || replacement.script, region: region || replacement.region, variants: (0, import_tslib5.__spreadArray)((0, import_tslib5.__spreadArray)([], variants), replacement.variants) }; } function addLikelySubtags(tag) { var ast = (0, import_intl_getcanonicallocales.parseUnicodeLocaleId)(tag); var unicodeLangId = ast.lang; var lang = unicodeLangId.lang, script = unicodeLangId.script, region = unicodeLangId.region, variants = unicodeLangId.variants; if (script && region) { var match_1 = likelySubtags[(0, import_intl_getcanonicallocales.emitUnicodeLanguageId)({lang: lang, script: script, region: region, variants: []})]; if (match_1) { var parts_1 = (0, import_intl_getcanonicallocales.parseUnicodeLanguageId)(match_1); ast.lang = mergeUnicodeLanguageId(void 0, void 0, void 0, variants, parts_1); return (0, import_intl_getcanonicallocales.emitUnicodeLocaleId)(ast); } } if (script) { var match_2 = likelySubtags[(0, import_intl_getcanonicallocales.emitUnicodeLanguageId)({lang: lang, script: script, variants: []})]; if (match_2) { var parts_2 = (0, import_intl_getcanonicallocales.parseUnicodeLanguageId)(match_2); ast.lang = mergeUnicodeLanguageId(void 0, void 0, region, variants, parts_2); return (0, import_intl_getcanonicallocales.emitUnicodeLocaleId)(ast); } } if (region) { var match_3 = likelySubtags[(0, import_intl_getcanonicallocales.emitUnicodeLanguageId)({lang: lang, region: region, variants: []})]; if (match_3) { var parts_3 = (0, import_intl_getcanonicallocales.parseUnicodeLanguageId)(match_3); ast.lang = mergeUnicodeLanguageId(void 0, script, void 0, variants, parts_3); return (0, import_intl_getcanonicallocales.emitUnicodeLocaleId)(ast); } } var match = likelySubtags[lang] || likelySubtags[(0, import_intl_getcanonicallocales.emitUnicodeLanguageId)({lang: "und", script: script, variants: []})]; if (!match) { throw new Error("No match for addLikelySubtags"); } var parts = (0, import_intl_getcanonicallocales.parseUnicodeLanguageId)(match); ast.lang = mergeUnicodeLanguageId(void 0, script, region, variants, parts); return (0, import_intl_getcanonicallocales.emitUnicodeLocaleId)(ast); } function removeLikelySubtags(tag) { var maxLocale = addLikelySubtags(tag); if (!maxLocale) { return tag; } maxLocale = (0, import_intl_getcanonicallocales.emitUnicodeLanguageId)((0, import_tslib5.__assign)((0, import_tslib5.__assign)({}, (0, import_intl_getcanonicallocales.parseUnicodeLanguageId)(maxLocale)), {variants: []})); var ast = (0, import_intl_getcanonicallocales.parseUnicodeLocaleId)(tag); var _a = ast.lang, lang = _a.lang, script = _a.script, region = _a.region, variants = _a.variants; var trial = addLikelySubtags((0, import_intl_getcanonicallocales.emitUnicodeLanguageId)({lang: lang, variants: []})); if (trial === maxLocale) { return (0, import_intl_getcanonicallocales.emitUnicodeLocaleId)((0, import_tslib5.__assign)((0, import_tslib5.__assign)({}, ast), {lang: mergeUnicodeLanguageId(lang, void 0, void 0, variants)})); } if (region) { var trial_1 = addLikelySubtags((0, import_intl_getcanonicallocales.emitUnicodeLanguageId)({lang: lang, region: region, variants: []})); if (trial_1 === maxLocale) { return (0, import_intl_getcanonicallocales.emitUnicodeLocaleId)((0, import_tslib5.__assign)((0, import_tslib5.__assign)({}, ast), {lang: mergeUnicodeLanguageId(lang, void 0, region, variants)})); } } if (script) { var trial_2 = addLikelySubtags((0, import_intl_getcanonicallocales.emitUnicodeLanguageId)({lang: lang, script: script, variants: []})); if (trial_2 === maxLocale) { return (0, import_intl_getcanonicallocales.emitUnicodeLocaleId)((0, import_tslib5.__assign)((0, import_tslib5.__assign)({}, ast), {lang: mergeUnicodeLanguageId(lang, script, void 0, variants)})); } } return tag; } var Locale = function() { function Locale2(tag, opts) { var newTarget = this && this instanceof Locale2 ? this.constructor : void 0; if (!newTarget) { throw new TypeError("Intl.Locale must be called with 'new'"); } var relevantExtensionKeys = Locale2.relevantExtensionKeys; var internalSlotsList = [ "initializedLocale", "locale", "calendar", "collation", "hourCycle", "numberingSystem" ]; if (relevantExtensionKeys.indexOf("kf") > -1) { internalSlotsList.push("caseFirst"); } if (relevantExtensionKeys.indexOf("kn") > -1) { internalSlotsList.push("numeric"); } if (tag === void 0) { throw new TypeError("First argument to Intl.Locale constructor can't be empty or missing"); } if (typeof tag !== "string" && typeof tag !== "object") { throw new TypeError("tag must be a string or object"); } var internalSlots; if (typeof tag === "object" && (internalSlots = getInternalSlots(tag)) && internalSlots.initializedLocale) { tag = internalSlots.locale; } else { tag = tag.toString(); } internalSlots = getInternalSlots(this); var options = CoerceOptionsToObject(opts); tag = applyOptionsToTag(tag, options); var opt = Object.create(null); var calendar = GetOption(options, "calendar", "string", void 0, void 0); if (calendar !== void 0) { if (!UNICODE_TYPE_REGEX.test(calendar)) { throw new RangeError("invalid calendar"); } } opt.ca = calendar; var collation = GetOption(options, "collation", "string", void 0, void 0); if (collation !== void 0) { if (!UNICODE_TYPE_REGEX.test(collation)) { throw new RangeError("invalid collation"); } } opt.co = collation; var hc = GetOption(options, "hourCycle", "string", ["h11", "h12", "h23", "h24"], void 0); opt.hc = hc; var kf = GetOption(options, "caseFirst", "string", ["upper", "lower", "false"], void 0); opt.kf = kf; var _kn = GetOption(options, "numeric", "boolean", void 0, void 0); var kn; if (_kn !== void 0) { kn = String(_kn); } opt.kn = kn; var numberingSystem = GetOption(options, "numberingSystem", "string", void 0, void 0); if (numberingSystem !== void 0) { if (!UNICODE_TYPE_REGEX.test(numberingSystem)) { throw new RangeError("Invalid numberingSystem"); } } opt.nu = numberingSystem; var r = applyUnicodeExtensionToTag(tag, opt, relevantExtensionKeys); internalSlots.locale = r.locale; internalSlots.calendar = r.ca; internalSlots.collation = r.co; internalSlots.hourCycle = r.hc; if (relevantExtensionKeys.indexOf("kf") > -1) { internalSlots.caseFirst = r.kf; } if (relevantExtensionKeys.indexOf("kn") > -1) { internalSlots.numeric = SameValue(r.kn, "true"); } internalSlots.numberingSystem = r.nu; } Locale2.prototype.maximize = function() { var locale = getInternalSlots(this).locale; try { var maximizedLocale = addLikelySubtags(locale); return new Locale2(maximizedLocale); } catch (e) { return new Locale2(locale); } }; Locale2.prototype.minimize = function() { var locale = getInternalSlots(this).locale; try { var minimizedLocale = removeLikelySubtags(locale); return new Locale2(minimizedLocale); } catch (e) { return new Locale2(locale); } }; Locale2.prototype.toString = function() { return getInternalSlots(this).locale; }; Object.defineProperty(Locale2.prototype, "baseName", { get: function() { var locale = getInternalSlots(this).locale; return (0, import_intl_getcanonicallocales.emitUnicodeLanguageId)((0, import_intl_getcanonicallocales.parseUnicodeLanguageId)(locale)); }, enumerable: false, configurable: true }); Object.defineProperty(Locale2.prototype, "calendar", { get: function() { return getInternalSlots(this).calendar; }, enumerable: false, configurable: true }); Object.defineProperty(Locale2.prototype, "collation", { get: function() { return getInternalSlots(this).collation; }, enumerable: false, configurable: true }); Object.defineProperty(Locale2.prototype, "hourCycle", { get: function() { return getInternalSlots(this).hourCycle; }, enumerable: false, configurable: true }); Object.defineProperty(Locale2.prototype, "caseFirst", { get: function() { return getInternalSlots(this).caseFirst; }, enumerable: false, configurable: true }); Object.defineProperty(Locale2.prototype, "numeric", { get: function() { return getInternalSlots(this).numeric; }, enumerable: false, configurable: true }); Object.defineProperty(Locale2.prototype, "numberingSystem", { get: function() { return getInternalSlots(this).numberingSystem; }, enumerable: false, configurable: true }); Object.defineProperty(Locale2.prototype, "language", { get: function() { var locale = getInternalSlots(this).locale; return (0, import_intl_getcanonicallocales.parseUnicodeLanguageId)(locale).lang; }, enumerable: false, configurable: true }); Object.defineProperty(Locale2.prototype, "script", { get: function() { var locale = getInternalSlots(this).locale; return (0, import_intl_getcanonicallocales.parseUnicodeLanguageId)(locale).script; }, enumerable: false, configurable: true }); Object.defineProperty(Locale2.prototype, "region", { get: function() { var locale = getInternalSlots(this).locale; return (0, import_intl_getcanonicallocales.parseUnicodeLanguageId)(locale).region; }, enumerable: false, configurable: true }); Locale2.relevantExtensionKeys = RELEVANT_EXTENSION_KEYS; return Locale2; }(); try { if (typeof Symbol !== "undefined") { Object.defineProperty(Locale.prototype, Symbol.toStringTag, { value: "Intl.Locale", writable: false, enumerable: false, configurable: true }); } Object.defineProperty(Locale.prototype.constructor, "length", { value: 1, writable: false, enumerable: false, configurable: true }); } catch (e) { } // bazel-out/darwin-fastbuild/bin/packages/intl-locale/lib/should-polyfill.js function hasIntlGetCanonicalLocalesBug() { try { return new Intl.Locale("und-x-private").toString() === "x-private"; } catch (e) { return true; } } function shouldPolyfill() { return typeof Intl === "undefined" || !("Locale" in Intl) || hasIntlGetCanonicalLocalesBug(); } // bazel-out/darwin-fastbuild/bin/packages/intl-locale/lib/polyfill.js if (shouldPolyfill()) { Object.defineProperty(Intl, "Locale", { value: Locale, writable: true, enumerable: false, configurable: true }); } })(); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ } if (!("Intl"in self&&"DisplayNames"in self.Intl )) { // Intl.DisplayNames (function() { // node_modules/tslib/tslib.es6.js var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || {__proto__: []} instanceof Array && function(d2, b2) { d2.__proto__ = b2; } || function(d2, b2) { for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; }; return extendStatics(d, b); }; function __extends(d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } var __assign = function() { __assign = Object.assign || function __assign2(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/utils.js function setInternalSlot(map, pl, field, value) { if (!map.get(pl)) { map.set(pl, Object.create(null)); } var slots = map.get(pl); slots[field] = value; } function getInternalSlot(map, pl, field) { return getMultiInternalSlots(map, pl, field)[field]; } function getMultiInternalSlots(map, pl) { var fields = []; for (var _i = 2; _i < arguments.length; _i++) { fields[_i - 2] = arguments[_i]; } var slots = map.get(pl); if (!slots) { throw new TypeError(pl + " InternalSlot has not been initialized"); } return fields.reduce(function(all, f) { all[f] = slots[f]; return all; }, Object.create(null)); } var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi; function invariant(condition, message, Err) { if (Err === void 0) { Err = Error; } if (!condition) { throw new Err(message); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/types/date-time.js var RangePatternType; (function(RangePatternType2) { RangePatternType2["startRange"] = "startRange"; RangePatternType2["shared"] = "shared"; RangePatternType2["endRange"] = "endRange"; })(RangePatternType || (RangePatternType = {})); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/CanonicalizeLocaleList.js function CanonicalizeLocaleList(locales) { return Intl.getCanonicalLocales(locales); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/262.js function ToString(o) { if (typeof o === "symbol") { throw TypeError("Cannot convert a Symbol value to a string"); } return String(o); } function ToObject(arg) { if (arg == null) { throw new TypeError("undefined/null cannot be converted to object"); } return Object(arg); } var MINUTES_PER_HOUR = 60; var SECONDS_PER_MINUTE = 60; var MS_PER_SECOND = 1e3; var MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE; var MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/GetOption.js function GetOption(opts, prop, type, values, fallback) { if (typeof opts !== "object") { throw new TypeError("Options must be an object"); } var value = opts[prop]; if (value !== void 0) { if (type !== "boolean" && type !== "string") { throw new TypeError("invalid type"); } if (type === "boolean") { value = Boolean(value); } if (type === "string") { value = ToString(value); } if (values !== void 0 && !values.filter(function(val) { return val == value; }).length) { throw new RangeError(value + " is not within " + values.join(", ")); } return value; } return fallback; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/BestAvailableLocale.js function BestAvailableLocale(availableLocales, locale) { var candidate = locale; while (true) { if (availableLocales.has(candidate)) { return candidate; } var pos = candidate.lastIndexOf("-"); if (!~pos) { return void 0; } if (pos >= 2 && candidate[pos - 2] === "-") { pos -= 2; } candidate = candidate.slice(0, pos); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/LookupMatcher.js function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) { var result = {locale: ""}; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var locale = requestedLocales_1[_i]; var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale); if (availableLocale) { result.locale = availableLocale; if (locale !== noExtensionLocale) { result.extension = locale.slice(noExtensionLocale.length + 1, locale.length); } return result; } } result.locale = getDefaultLocale(); return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/BestFitMatcher.js function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) { var minimizedAvailableLocaleMap = {}; var minimizedAvailableLocales = new Set(); availableLocales.forEach(function(locale2) { var minimizedLocale = new Intl.Locale(locale2).minimize().toString(); minimizedAvailableLocaleMap[minimizedLocale] = locale2; minimizedAvailableLocales.add(minimizedLocale); }); var foundLocale; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var l = requestedLocales_1[_i]; if (foundLocale) { break; } var noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); if (availableLocales.has(noExtensionLocale)) { foundLocale = noExtensionLocale; break; } if (minimizedAvailableLocales.has(noExtensionLocale)) { foundLocale = minimizedAvailableLocaleMap[noExtensionLocale]; break; } var locale = new Intl.Locale(noExtensionLocale); var maximizedRequestedLocale = locale.maximize().toString(); var minimizedRequestedLocale = locale.minimize().toString(); if (minimizedAvailableLocales.has(minimizedRequestedLocale)) { foundLocale = minimizedAvailableLocaleMap[minimizedRequestedLocale]; break; } foundLocale = BestAvailableLocale(minimizedAvailableLocales, maximizedRequestedLocale); } return { locale: foundLocale || getDefaultLocale() }; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/UnicodeExtensionValue.js function UnicodeExtensionValue(extension, key) { invariant(key.length === 2, "key must have 2 elements"); var size = extension.length; var searchValue = "-" + key + "-"; var pos = extension.indexOf(searchValue); if (pos !== -1) { var start = pos + 4; var end = start; var k = start; var done = false; while (!done) { var e = extension.indexOf("-", k); var len = void 0; if (e === -1) { len = size - k; } else { len = e - k; } if (len === 2) { done = true; } else if (e === -1) { end = size; done = true; } else { end = e; k = e + 1; } } return extension.slice(start, end); } searchValue = "-" + key; pos = extension.indexOf(searchValue); if (pos !== -1 && pos + 3 === size) { return ""; } return void 0; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/ResolveLocale.js function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) { var matcher = options.localeMatcher; var r; if (matcher === "lookup") { r = LookupMatcher(availableLocales, requestedLocales, getDefaultLocale); } else { r = BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale); } var foundLocale = r.locale; var result = {locale: "", dataLocale: foundLocale}; var supportedExtension = "-u"; for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) { var key = relevantExtensionKeys_1[_i]; invariant(foundLocale in localeData, "Missing locale data for " + foundLocale); var foundLocaleData = localeData[foundLocale]; invariant(typeof foundLocaleData === "object" && foundLocaleData !== null, "locale data " + key + " must be an object"); var keyLocaleData = foundLocaleData[key]; invariant(Array.isArray(keyLocaleData), "keyLocaleData for " + key + " must be an array"); var value = keyLocaleData[0]; invariant(typeof value === "string" || value === null, "value must be string or null but got " + typeof value + " in key " + key); var supportedExtensionAddition = ""; if (r.extension) { var requestedValue = UnicodeExtensionValue(r.extension, key); if (requestedValue !== void 0) { if (requestedValue !== "") { if (~keyLocaleData.indexOf(requestedValue)) { value = requestedValue; supportedExtensionAddition = "-" + key + "-" + value; } } else if (~requestedValue.indexOf("true")) { value = "true"; supportedExtensionAddition = "-" + key; } } } if (key in options) { var optionsValue = options[key]; invariant(typeof optionsValue === "string" || typeof optionsValue === "undefined" || optionsValue === null, "optionsValue must be String, Undefined or Null"); if (~keyLocaleData.indexOf(optionsValue)) { if (optionsValue !== value) { value = optionsValue; supportedExtensionAddition = ""; } } } result[key] = value; supportedExtension += supportedExtensionAddition; } if (supportedExtension.length > 2) { var privateIndex = foundLocale.indexOf("-x-"); if (privateIndex === -1) { foundLocale = foundLocale + supportedExtension; } else { var preExtension = foundLocale.slice(0, privateIndex); var postExtension = foundLocale.slice(privateIndex, foundLocale.length); foundLocale = preExtension + supportedExtension + postExtension; } foundLocale = Intl.getCanonicalLocales(foundLocale)[0]; } result.locale = foundLocale; return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/IsWellFormedCurrencyCode.js function toUpperCase(str) { return str.replace(/([a-z])/g, function(_, c) { return c.toUpperCase(); }); } var NOT_A_Z_REGEX = /[^A-Z]/; function IsWellFormedCurrencyCode(currency) { currency = toUpperCase(currency); if (currency.length !== 3) { return false; } if (NOT_A_Z_REGEX.test(currency)) { return false; } return true; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DisplayNames/CanonicalCodeForDisplayNames.js var UNICODE_REGION_SUBTAG_REGEX = /^([a-z]{2}|[0-9]{3})$/i; var ALPHA_4 = /^[a-z]{4}$/i; function isUnicodeRegionSubtag(region) { return UNICODE_REGION_SUBTAG_REGEX.test(region); } function isUnicodeScriptSubtag(script) { return ALPHA_4.test(script); } function CanonicalCodeForDisplayNames(type, code) { if (type === "language") { return CanonicalizeLocaleList([code])[0]; } if (type === "region") { if (!isUnicodeRegionSubtag(code)) { throw RangeError("invalid region"); } return code.toUpperCase(); } if (type === "script") { if (!isUnicodeScriptSubtag(code)) { throw RangeError("invalid script"); } return "" + code[0].toUpperCase() + code.slice(1).toLowerCase(); } invariant(type === "currency", "invalid type"); if (!IsWellFormedCurrencyCode(code)) { throw RangeError("invalid currency"); } return code.toUpperCase(); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/GetOptionsObject.js function GetOptionsObject(options) { if (typeof options === "undefined") { return Object.create(null); } if (typeof options === "object") { return options; } throw new TypeError("Options must be an object"); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/IsSanctionedSimpleUnitIdentifier.js var SANCTIONED_UNITS = [ "angle-degree", "area-acre", "area-hectare", "concentr-percent", "digital-bit", "digital-byte", "digital-gigabit", "digital-gigabyte", "digital-kilobit", "digital-kilobyte", "digital-megabit", "digital-megabyte", "digital-petabyte", "digital-terabit", "digital-terabyte", "duration-day", "duration-hour", "duration-millisecond", "duration-minute", "duration-month", "duration-second", "duration-week", "duration-year", "length-centimeter", "length-foot", "length-inch", "length-kilometer", "length-meter", "length-mile-scandinavian", "length-mile", "length-millimeter", "length-yard", "mass-gram", "mass-kilogram", "mass-ounce", "mass-pound", "mass-stone", "temperature-celsius", "temperature-fahrenheit", "volume-fluid-ounce", "volume-gallon", "volume-liter", "volume-milliliter" ]; function removeUnitNamespace(unit) { return unit.slice(unit.indexOf("-") + 1); } var SIMPLE_UNITS = SANCTIONED_UNITS.map(removeUnitNamespace); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/regex.generated.js var S_UNICODE_REGEX = /[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEE0-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDD78\uDD7A-\uDDCB\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6\uDF00-\uDF92\uDF94-\uDFCA]/; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/format_to_parts.js var CARET_S_UNICODE_REGEX = new RegExp("^" + S_UNICODE_REGEX.source); var S_DOLLAR_UNICODE_REGEX = new RegExp(S_UNICODE_REGEX.source + "$"); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/LookupSupportedLocales.js function LookupSupportedLocales(availableLocales, requestedLocales) { var subset = []; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var locale = requestedLocales_1[_i]; var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale); if (availableLocale) { subset.push(availableLocale); } } return subset; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/SupportedLocales.js function SupportedLocales(availableLocales, requestedLocales, options) { var matcher = "best fit"; if (options !== void 0) { options = ToObject(options); matcher = GetOption(options, "localeMatcher", "string", ["lookup", "best fit"], "best fit"); } if (matcher === "best fit") { return LookupSupportedLocales(availableLocales, requestedLocales); } return LookupSupportedLocales(availableLocales, requestedLocales); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/data.js var MissingLocaleDataError = function(_super) { __extends(MissingLocaleDataError2, _super); function MissingLocaleDataError2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = "MISSING_LOCALE_DATA"; return _this; } return MissingLocaleDataError2; }(Error); // bazel-out/darwin-fastbuild/bin/packages/intl-displaynames/lib/index.js var DisplayNames = function() { function DisplayNames2(locales, options) { var _newTarget = this.constructor; if (_newTarget === void 0) { throw TypeError("Constructor Intl.DisplayNames requires 'new'"); } var requestedLocales = CanonicalizeLocaleList(locales); options = GetOptionsObject(options); var opt = Object.create(null); var localeData = DisplayNames2.localeData; var matcher = GetOption(options, "localeMatcher", "string", ["lookup", "best fit"], "best fit"); opt.localeMatcher = matcher; var r = ResolveLocale(DisplayNames2.availableLocales, requestedLocales, opt, [], DisplayNames2.localeData, DisplayNames2.getDefaultLocale); var style = GetOption(options, "style", "string", ["narrow", "short", "long"], "long"); setSlot(this, "style", style); var type = GetOption(options, "type", "string", ["language", "currency", "region", "script"], void 0); if (type === void 0) { throw TypeError('Intl.DisplayNames constructor requires "type" option'); } setSlot(this, "type", type); var fallback = GetOption(options, "fallback", "string", ["code", "none"], "code"); setSlot(this, "fallback", fallback); setSlot(this, "locale", r.locale); var dataLocale = r.dataLocale; var dataLocaleData = localeData[dataLocale]; invariant(!!dataLocaleData, "Missing locale data for " + dataLocale); setSlot(this, "localeData", dataLocaleData); invariant(dataLocaleData !== void 0, "locale data for " + r.locale + " does not exist."); var types = dataLocaleData.types; invariant(typeof types === "object" && types != null, "invalid types data"); var typeFields = types[type]; invariant(typeof typeFields === "object" && typeFields != null, "invalid typeFields data"); var styleFields = typeFields[style]; invariant(typeof styleFields === "object" && styleFields != null, "invalid styleFields data"); setSlot(this, "fields", styleFields); } DisplayNames2.supportedLocalesOf = function(locales, options) { return SupportedLocales(DisplayNames2.availableLocales, CanonicalizeLocaleList(locales), options); }; DisplayNames2.__addLocaleData = function() { var data = []; for (var _i = 0; _i < arguments.length; _i++) { data[_i] = arguments[_i]; } for (var _a = 0, data_1 = data; _a < data_1.length; _a++) { var _b = data_1[_a], d = _b.data, locale = _b.locale; var minimizedLocale = new Intl.Locale(locale).minimize().toString(); DisplayNames2.localeData[locale] = DisplayNames2.localeData[minimizedLocale] = d; DisplayNames2.availableLocales.add(minimizedLocale); DisplayNames2.availableLocales.add(locale); if (!DisplayNames2.__defaultLocale) { DisplayNames2.__defaultLocale = minimizedLocale; } } }; DisplayNames2.prototype.of = function(code) { checkReceiver(this, "of"); var type = getSlot(this, "type"); var codeAsString = ToString(code); if (!isValidCodeForDisplayNames(type, codeAsString)) { throw RangeError("invalid code for Intl.DisplayNames.prototype.of"); } var _a = getMultiInternalSlots(__INTERNAL_SLOT_MAP__, this, "localeData", "style", "fallback"), localeData = _a.localeData, style = _a.style, fallback = _a.fallback; var canonicalCode = CanonicalCodeForDisplayNames(type, codeAsString); var regionSubTag; if (type === "language") { var regionMatch = /-([a-z]{2}|\d{3})\b/i.exec(canonicalCode); if (regionMatch) { canonicalCode = canonicalCode.substring(0, regionMatch.index) + canonicalCode.substring(regionMatch.index + regionMatch[0].length); regionSubTag = regionMatch[1]; } } var typesData = localeData.types[type]; var name = typesData[style][canonicalCode] || typesData.long[canonicalCode]; if (name !== void 0) { if (regionSubTag) { var regionsData = localeData.types.region; var regionDisplayName = regionsData[style][regionSubTag] || regionsData.long[regionSubTag]; if (regionDisplayName || fallback === "code") { var pattern = localeData.patterns.locale; return pattern.replace("{0}", name).replace("{1}", regionDisplayName || regionSubTag); } } else { return name; } } if (fallback === "code") { return codeAsString; } }; DisplayNames2.prototype.resolvedOptions = function() { checkReceiver(this, "resolvedOptions"); return __assign({}, getMultiInternalSlots(__INTERNAL_SLOT_MAP__, this, "locale", "style", "type", "fallback")); }; DisplayNames2.getDefaultLocale = function() { return DisplayNames2.__defaultLocale; }; DisplayNames2.localeData = {}; DisplayNames2.availableLocales = new Set(); DisplayNames2.__defaultLocale = ""; DisplayNames2.polyfilled = true; return DisplayNames2; }(); function isValidCodeForDisplayNames(type, code) { switch (type) { case "language": return /^[a-z]{2,3}(-[a-z]{4})?(-([a-z]{2}|\d{3}))?(-([a-z\d]{5,8}|\d[a-z\d]{3}))*$/i.test(code); case "region": return /^([a-z]{2}|\d{3})$/i.test(code); case "script": return /^[a-z]{4}$/i.test(code); case "currency": return IsWellFormedCurrencyCode(code); } } try { if (typeof Symbol !== "undefined" && Symbol.toStringTag) { Object.defineProperty(DisplayNames.prototype, Symbol.toStringTag, { value: "Intl.DisplayNames", configurable: true, enumerable: false, writable: false }); } Object.defineProperty(DisplayNames, "length", { value: 2, writable: false, enumerable: false, configurable: true }); } catch (e) { } var __INTERNAL_SLOT_MAP__ = new WeakMap(); function getSlot(instance, key) { return getInternalSlot(__INTERNAL_SLOT_MAP__, instance, key); } function setSlot(instance, key, value) { setInternalSlot(__INTERNAL_SLOT_MAP__, instance, key, value); } function checkReceiver(receiver, methodName) { if (!(receiver instanceof DisplayNames)) { throw TypeError("Method Intl.DisplayNames.prototype." + methodName + " called on incompatible receiver"); } } // bazel-out/darwin-fastbuild/bin/packages/intl-displaynames/lib/should-polyfill.js function hasMissingICUBug() { var DisplayNames2 = Intl.DisplayNames; if (DisplayNames2 && !DisplayNames2.polyfilled) { return new DisplayNames2(["en"], { type: "region" }).of("CA") === "CA"; } return false; } function hasScriptBug() { var DisplayNames2 = Intl.DisplayNames; if (DisplayNames2 && !DisplayNames2.polyfilled) { return new DisplayNames2(["en"], { type: "script" }).of("arab") !== "Arabic"; } return false; } function shouldPolyfill() { return !Intl.DisplayNames || hasMissingICUBug() || hasScriptBug(); } // bazel-out/darwin-fastbuild/bin/packages/intl-displaynames/lib/polyfill.js if (shouldPolyfill()) { Object.defineProperty(Intl, "DisplayNames", { value: DisplayNames, enumerable: false, writable: true, configurable: true }); } })(); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ } if (!("Intl"in self&&Intl.DisplayNames&&Intl.DisplayNames.supportedLocalesOf&&1===Intl.DisplayNames.supportedLocalesOf("de").length )) { // Intl.DisplayNames.~locale.de /* @generated */ // prettier-ignore if (Intl.DisplayNames && typeof Intl.DisplayNames.__addLocaleData === 'function') { Intl.DisplayNames.__addLocaleData({"data":{"types":{"language":{"long":{"aa":"Afar","ab":"Abchasisch","ace":"Aceh","ach":"Acholi","ada":"Adangme","ady":"Adygeisch","ae":"Avestisch","aeb":"Tunesisches Arabisch","af":"Afrikaans","afh":"Afrihili","agq":"Aghem","ain":"Ainu","ak":"Akan","akk":"Akkadisch","akz":"Alabama","ale":"Aleutisch","aln":"Gegisch","alt":"Süd-Altaisch","am":"Amharisch","an":"Aragonesisch","ang":"Altenglisch","anp":"Angika","ar":"Arabisch","ar-001":"Modernes Hocharabisch","arc":"Aramäisch","arn":"Mapudungun","aro":"Araona","arp":"Arapaho","arq":"Algerisches Arabisch","ars":"Arabisch (Nadschd)","arw":"Arawak","ary":"Marokkanisches Arabisch","arz":"Ägyptisches Arabisch","as":"Assamesisch","asa":"Asu","ase":"Amerikanische Gebärdensprache","ast":"Asturisch","av":"Awarisch","avk":"Kotava","awa":"Awadhi","ay":"Aymara","az":"Aserbaidschanisch","ba":"Baschkirisch","bal":"Belutschisch","ban":"Balinesisch","bar":"Bairisch","bas":"Bassa","bax":"Bamun","bbc":"Batak Toba","bbj":"Ghomala","be":"Belarussisch","bej":"Bedauye","bem":"Bemba","bew":"Betawi","bez":"Bena","bfd":"Bafut","bfq":"Badaga","bg":"Bulgarisch","bgn":"Westliches Belutschi","bho":"Bhodschpuri","bi":"Bislama","bik":"Bikol","bin":"Bini","bjn":"Banjaresisch","bkm":"Kom","bla":"Blackfoot","bm":"Bambara","bn":"Bengalisch","bo":"Tibetisch","bpy":"Bishnupriya","bqi":"Bachtiarisch","br":"Bretonisch","bra":"Braj-Bhakha","brh":"Brahui","brx":"Bodo","bs":"Bosnisch","bss":"Akoose","bua":"Burjatisch","bug":"Buginesisch","bum":"Bulu","byn":"Blin","byv":"Medumba","ca":"Katalanisch","cad":"Caddo","car":"Karibisch","cay":"Cayuga","cch":"Atsam","ccp":"Chakma","ce":"Tschetschenisch","ceb":"Cebuano","cgg":"Rukiga","ch":"Chamorro","chb":"Chibcha","chg":"Tschagataisch","chk":"Chuukesisch","chm":"Mari","chn":"Chinook","cho":"Choctaw","chp":"Chipewyan","chr":"Cherokee","chy":"Cheyenne","ckb":"Zentralkurdisch","co":"Korsisch","cop":"Koptisch","cps":"Capiznon","cr":"Cree","crh":"Krimtatarisch","crs":"Seychellenkreol","cs":"Tschechisch","csb":"Kaschubisch","cu":"Kirchenslawisch","cv":"Tschuwaschisch","cy":"Walisisch","da":"Dänisch","dak":"Dakota","dar":"Darginisch","dav":"Taita","de":"Deutsch","de-AT":"Österreichisches Deutsch","de-CH":"Schweizer Hochdeutsch","del":"Delaware","den":"Slave","dgr":"Dogrib","din":"Dinka","dje":"Zarma","doi":"Dogri","dsb":"Niedersorbisch","dtp":"Zentral-Dusun","dua":"Duala","dum":"Mittelniederländisch","dv":"Dhivehi","dyo":"Diola","dyu":"Dyula","dz":"Dzongkha","dzg":"Dazaga","ebu":"Embu","ee":"Ewe","efi":"Efik","egl":"Emilianisch","egy":"Ägyptisch","eka":"Ekajuk","el":"Griechisch","elx":"Elamisch","en":"Englisch","en-AU":"Englisch (Australien)","en-CA":"Englisch (Kanada)","en-GB":"Englisch (Vereinigtes Königreich)","en-US":"Englisch (Vereinigte Staaten)","enm":"Mittelenglisch","eo":"Esperanto","es":"Spanisch","es-419":"Spanisch (Lateinamerika)","es-ES":"Spanisch (Spanien)","es-MX":"Spanisch (Mexiko)","esu":"Zentral-Alaska-Yupik","et":"Estnisch","eu":"Baskisch","ewo":"Ewondo","ext":"Extremadurisch","fa":"Persisch","fa-AF":"Dari","fan":"Pangwe","fat":"Fanti","ff":"Ful","fi":"Finnisch","fil":"Filipino","fit":"Meänkieli","fj":"Fidschi","fo":"Färöisch","fon":"Fon","fr":"Französisch","fr-CA":"Französisch (Kanada)","fr-CH":"Französisch (Schweiz)","frc":"Cajun","frm":"Mittelfranzösisch","fro":"Altfranzösisch","frp":"Frankoprovenzalisch","frr":"Nordfriesisch","frs":"Ostfriesisch","fur":"Friaulisch","fy":"Westfriesisch","ga":"Irisch","gaa":"Ga","gag":"Gagausisch","gan":"Gan","gay":"Gayo","gba":"Gbaya","gbz":"Gabri","gd":"Gälisch (Schottland)","gez":"Geez","gil":"Kiribatisch","gl":"Galicisch","glk":"Gilaki","gmh":"Mittelhochdeutsch","gn":"Guaraní","goh":"Althochdeutsch","gom":"Goa-Konkani","gon":"Gondi","gor":"Mongondou","got":"Gotisch","grb":"Grebo","grc":"Altgriechisch","gsw":"Schweizerdeutsch","gu":"Gujarati","guc":"Wayúu","gur":"Farefare","guz":"Gusii","gv":"Manx","gwi":"Kutchin","ha":"Haussa","hai":"Haida","hak":"Hakka","haw":"Hawaiisch","he":"Hebräisch","hi":"Hindi","hif":"Fidschi-Hindi","hil":"Hiligaynon","hit":"Hethitisch","hmn":"Miao","ho":"Hiri-Motu","hr":"Kroatisch","hsb":"Obersorbisch","hsn":"Xiang","ht":"Haiti-Kreolisch","hu":"Ungarisch","hup":"Hupa","hy":"Armenisch","hz":"Herero","ia":"Interlingua","iba":"Iban","ibb":"Ibibio","id":"Indonesisch","ie":"Interlingue","ig":"Igbo","ii":"Yi","ik":"Inupiak","ilo":"Ilokano","inh":"Inguschisch","io":"Ido","is":"Isländisch","it":"Italienisch","iu":"Inuktitut","izh":"Ischorisch","ja":"Japanisch","jam":"Jamaikanisch-Kreolisch","jbo":"Lojban","jgo":"Ngomba","jmc":"Machame","jpr":"Jüdisch-Persisch","jrb":"Jüdisch-Arabisch","jut":"Jütisch","jv":"Javanisch","ka":"Georgisch","kaa":"Karakalpakisch","kab":"Kabylisch","kac":"Kachin","kaj":"Jju","kam":"Kamba","kaw":"Kawi","kbd":"Kabardinisch","kbl":"Kanembu","kcg":"Tyap","kde":"Makonde","kea":"Kabuverdianu","ken":"Kenyang","kfo":"Koro","kg":"Kongolesisch","kgp":"Kaingang","kha":"Khasi","kho":"Sakisch","khq":"Koyra Chiini","khw":"Khowar","ki":"Kikuyu","kiu":"Kirmanjki","kj":"Kwanyama","kk":"Kasachisch","kkj":"Kako","kl":"Grönländisch","kln":"Kalenjin","km":"Khmer","kmb":"Kimbundu","kn":"Kannada","ko":"Koreanisch","koi":"Komi-Permjakisch","kok":"Konkani","kos":"Kosraeanisch","kpe":"Kpelle","kr":"Kanuri","krc":"Karatschaiisch-Balkarisch","kri":"Krio","krj":"Kinaray-a","krl":"Karelisch","kru":"Oraon","ks":"Kaschmiri","ksb":"Shambala","ksf":"Bafia","ksh":"Kölsch","ku":"Kurdisch","kum":"Kumükisch","kut":"Kutenai","kv":"Komi","kw":"Kornisch","ky":"Kirgisisch","la":"Latein","lad":"Ladino","lag":"Langi","lah":"Lahnda","lam":"Lamba","lb":"Luxemburgisch","lez":"Lesgisch","lfn":"Lingua Franca Nova","lg":"Ganda","li":"Limburgisch","lij":"Ligurisch","liv":"Livisch","lkt":"Lakota","lmo":"Lombardisch","ln":"Lingala","lo":"Laotisch","lol":"Mongo","lou":"Kreol (Louisiana)","loz":"Lozi","lrc":"Nördliches Luri","lt":"Litauisch","ltg":"Lettgallisch","lu":"Luba-Katanga","lua":"Luba-Lulua","lui":"Luiseno","lun":"Lunda","luo":"Luo","lus":"Lushai","luy":"Luhya","lv":"Lettisch","lzh":"Klassisches Chinesisch","lzz":"Lasisch","mad":"Maduresisch","maf":"Mafa","mag":"Khotta","mai":"Maithili","mak":"Makassarisch","man":"Malinke","mas":"Massai","mde":"Maba","mdf":"Mokschanisch","mdr":"Mandaresisch","men":"Mende","mer":"Meru","mfe":"Morisyen","mg":"Malagasy","mga":"Mittelirisch","mgh":"Makhuwa-Meetto","mgo":"Meta’","mh":"Marschallesisch","mi":"Maori","mic":"Micmac","min":"Minangkabau","mk":"Mazedonisch","ml":"Malayalam","mn":"Mongolisch","mnc":"Mandschurisch","mni":"Meithei","moh":"Mohawk","mos":"Mossi","mr":"Marathi","mrj":"Bergmari","ms":"Malaiisch","mt":"Maltesisch","mua":"Mundang","mul":"Mehrsprachig","mus":"Muskogee","mwl":"Mirandesisch","mwr":"Marwari","mwv":"Mentawai","my":"Birmanisch","mye":"Myene","myv":"Ersja-Mordwinisch","mzn":"Masanderanisch","na":"Nauruisch","nan":"Min Nan","nap":"Neapolitanisch","naq":"Nama","nb":"Norwegisch (Bokmål)","nd":"Nord-Ndebele","nds":"Niederdeutsch","nds-NL":"Niedersächsisch","ne":"Nepalesisch","new":"Newari","ng":"Ndonga","nia":"Nias","niu":"Niue","njo":"Ao-Naga","nl":"Niederländisch","nl-BE":"Flämisch","nmg":"Kwasio","nn":"Norwegisch (Nynorsk)","nnh":"Ngiemboon","no":"Norwegisch","nog":"Nogai","non":"Altnordisch","nov":"Novial","nqo":"N’Ko","nr":"Süd-Ndebele","nso":"Nord-Sotho","nus":"Nuer","nv":"Navajo","nwc":"Alt-Newari","ny":"Nyanja","nym":"Nyamwezi","nyn":"Nyankole","nyo":"Nyoro","nzi":"Nzima","oc":"Okzitanisch","oj":"Ojibwa","om":"Oromo","or":"Oriya","os":"Ossetisch","osa":"Osage","ota":"Osmanisch","pa":"Punjabi","pag":"Pangasinan","pal":"Mittelpersisch","pam":"Pampanggan","pap":"Papiamento","pau":"Palau","pcd":"Picardisch","pcm":"Nigerianisches Pidgin","pdc":"Pennsylvaniadeutsch","pdt":"Plautdietsch","peo":"Altpersisch","pfl":"Pfälzisch","phn":"Phönizisch","pi":"Pali","pl":"Polnisch","pms":"Piemontesisch","pnt":"Pontisch","pon":"Ponapeanisch","prg":"Altpreußisch","pro":"Altprovenzalisch","ps":"Paschtu","pt":"Portugiesisch","pt-BR":"Portugiesisch (Brasilien)","pt-PT":"Portugiesisch (Portugal)","qu":"Quechua","quc":"K’iche’","qug":"Chimborazo Hochland-Quechua","raj":"Rajasthani","rap":"Rapanui","rar":"Rarotonganisch","rgn":"Romagnol","rif":"Tarifit","rm":"Rätoromanisch","rn":"Rundi","ro":"Rumänisch","ro-MD":"Moldauisch","rof":"Rombo","rom":"Romani","rtm":"Rotumanisch","ru":"Russisch","rue":"Russinisch","rug":"Roviana","rup":"Aromunisch","rw":"Kinyarwanda","rwk":"Rwa","sa":"Sanskrit","sad":"Sandawe","sah":"Jakutisch","sam":"Samaritanisch","saq":"Samburu","sas":"Sasak","sat":"Santali","saz":"Saurashtra","sba":"Ngambay","sbp":"Sangu","sc":"Sardisch","scn":"Sizilianisch","sco":"Schottisch","sd":"Sindhi","sdc":"Sassarisch","sdh":"Südkurdisch","se":"Nordsamisch","see":"Seneca","seh":"Sena","sei":"Seri","sel":"Selkupisch","ses":"Koyra Senni","sg":"Sango","sga":"Altirisch","sgs":"Samogitisch","sh":"Serbo-Kroatisch","shi":"Taschelhit","shn":"Schan","shu":"Tschadisch-Arabisch","si":"Singhalesisch","sid":"Sidamo","sk":"Slowakisch","sl":"Slowenisch","sli":"Schlesisch (Niederschlesisch)","sly":"Selayar","sm":"Samoanisch","sma":"Südsamisch","smj":"Lule-Samisch","smn":"Inari-Samisch","sms":"Skolt-Samisch","sn":"Shona","snk":"Soninke","so":"Somali","sog":"Sogdisch","sq":"Albanisch","sr":"Serbisch","srn":"Srananisch","srr":"Serer","ss":"Swazi","ssy":"Saho","st":"Süd-Sotho","stq":"Saterfriesisch","su":"Sundanesisch","suk":"Sukuma","sus":"Susu","sux":"Sumerisch","sv":"Schwedisch","sw":"Suaheli","sw-CD":"Kongo-Swahili","swb":"Komorisch","syc":"Altsyrisch","syr":"Syrisch","szl":"Schlesisch (Wasserpolnisch)","ta":"Tamil","tcy":"Tulu","te":"Telugu","tem":"Temne","teo":"Teso","ter":"Tereno","tet":"Tetum","tg":"Tadschikisch","th":"Thailändisch","ti":"Tigrinya","tig":"Tigre","tiv":"Tiv","tk":"Turkmenisch","tkl":"Tokelauanisch","tkr":"Tsachurisch","tl":"Tagalog","tlh":"Klingonisch","tli":"Tlingit","tly":"Talisch","tmh":"Tamaseq","tn":"Tswana","to":"Tongaisch","tog":"Nyasa Tonga","tpi":"Neumelanesisch","tr":"Türkisch","tru":"Turoyo","trv":"Taroko","ts":"Tsonga","tsd":"Tsakonisch","tsi":"Tsimshian","tt":"Tatarisch","ttt":"Tatisch","tum":"Tumbuka","tvl":"Tuvaluisch","tw":"Twi","twq":"Tasawaq","ty":"Tahitisch","tyv":"Tuwinisch","tzm":"Zentralatlas-Tamazight","udm":"Udmurtisch","ug":"Uigurisch","uga":"Ugaritisch","uk":"Ukrainisch","umb":"Umbundu","und":"Unbekannte Sprache","ur":"Urdu","uz":"Usbekisch","vai":"Vai","ve":"Venda","vec":"Venetisch","vep":"Wepsisch","vi":"Vietnamesisch","vls":"Westflämisch","vmf":"Mainfränkisch","vo":"Volapük","vot":"Wotisch","vro":"Võro","vun":"Vunjo","wa":"Wallonisch","wae":"Walliserdeutsch","wal":"Walamo","war":"Waray","was":"Washo","wbp":"Warlpiri","wo":"Wolof","wuu":"Wu","xal":"Kalmückisch","xh":"Xhosa","xmf":"Mingrelisch","xog":"Soga","yao":"Yao","yap":"Yapesisch","yav":"Yangben","ybb":"Yemba","yi":"Jiddisch","yo":"Yoruba","yrl":"Nheengatu","yue":"Kantonesisch","za":"Zhuang","zap":"Zapotekisch","zbl":"Bliss-Symbole","zea":"Seeländisch","zen":"Zenaga","zgh":"Tamazight","zh":"Chinesisch","zh-Hans":"Chinesisch (vereinfacht)","zh-Hant":"Chinesisch (traditionell)","zu":"Zulu","zun":"Zuni","zxx":"Keine Sprachinhalte","zza":"Zaza"},"short":{"az":"Aserbaidschanisch","en-GB":"Englisch (GB)","en-US":"Englisch (USA)"},"narrow":{}},"region":{"long":{"142":"Asien","143":"Zentralasien","145":"Westasien","150":"Europa","151":"Osteuropa","154":"Nordeuropa","155":"Westeuropa","202":"Subsahara-Afrika","419":"Lateinamerika","001":"Welt","002":"Afrika","003":"Nordamerika","005":"Südamerika","009":"Ozeanien","011":"Westafrika","013":"Mittelamerika","014":"Ostafrika","015":"Nordafrika","017":"Zentralafrika","018":"Südliches Afrika","019":"Amerika","021":"Nördliches Amerika","029":"Karibik","030":"Ostasien","034":"Südasien","035":"Südostasien","039":"Südeuropa","053":"Australasien","054":"Melanesien","057":"Mikronesisches Inselgebiet","061":"Polynesien","AC":"Ascension","AD":"Andorra","AE":"Vereinigte Arabische Emirate","AF":"Afghanistan","AG":"Antigua und Barbuda","AI":"Anguilla","AL":"Albanien","AM":"Armenien","AO":"Angola","AQ":"Antarktis","AR":"Argentinien","AS":"Amerikanisch-Samoa","AT":"Österreich","AU":"Australien","AW":"Aruba","AX":"Ålandinseln","AZ":"Aserbaidschan","BA":"Bosnien und Herzegowina","BB":"Barbados","BD":"Bangladesch","BE":"Belgien","BF":"Burkina Faso","BG":"Bulgarien","BH":"Bahrain","BI":"Burundi","BJ":"Benin","BL":"St. Barthélemy","BM":"Bermuda","BN":"Brunei Darussalam","BO":"Bolivien","BQ":"Karibische Niederlande","BR":"Brasilien","BS":"Bahamas","BT":"Bhutan","BV":"Bouvetinsel","BW":"Botsuana","BY":"Belarus","BZ":"Belize","CA":"Kanada","CC":"Kokosinseln","CD":"Kongo-Kinshasa","CF":"Zentralafrikanische Republik","CG":"Kongo-Brazzaville","CH":"Schweiz","CI":"Côte d’Ivoire","CK":"Cookinseln","CL":"Chile","CM":"Kamerun","CN":"China","CO":"Kolumbien","CP":"Clipperton-Insel","CR":"Costa Rica","CU":"Kuba","CV":"Cabo Verde","CW":"Curaçao","CX":"Weihnachtsinsel","CY":"Zypern","CZ":"Tschechien","DE":"Deutschland","DG":"Diego Garcia","DJ":"Dschibuti","DK":"Dänemark","DM":"Dominica","DO":"Dominikanische Republik","DZ":"Algerien","EA":"Ceuta und Melilla","EC":"Ecuador","EE":"Estland","EG":"Ägypten","EH":"Westsahara","ER":"Eritrea","ES":"Spanien","ET":"Äthiopien","EU":"Europäische Union","EZ":"Eurozone","FI":"Finnland","FJ":"Fidschi","FK":"Falklandinseln","FM":"Mikronesien","FO":"Färöer","FR":"Frankreich","GA":"Gabun","GB":"Vereinigtes Königreich","GD":"Grenada","GE":"Georgien","GF":"Französisch-Guayana","GG":"Guernsey","GH":"Ghana","GI":"Gibraltar","GL":"Grönland","GM":"Gambia","GN":"Guinea","GP":"Guadeloupe","GQ":"Äquatorialguinea","GR":"Griechenland","GS":"Südgeorgien und die Südlichen Sandwichinseln","GT":"Guatemala","GU":"Guam","GW":"Guinea-Bissau","GY":"Guyana","HK":"Sonderverwaltungsregion Hongkong","HM":"Heard und McDonaldinseln","HN":"Honduras","HR":"Kroatien","HT":"Haiti","HU":"Ungarn","IC":"Kanarische Inseln","ID":"Indonesien","IE":"Irland","IL":"Israel","IM":"Isle of Man","IN":"Indien","IO":"Britisches Territorium im Indischen Ozean","IQ":"Irak","IR":"Iran","IS":"Island","IT":"Italien","JE":"Jersey","JM":"Jamaika","JO":"Jordanien","JP":"Japan","KE":"Kenia","KG":"Kirgisistan","KH":"Kambodscha","KI":"Kiribati","KM":"Komoren","KN":"St. Kitts und Nevis","KP":"Nordkorea","KR":"Südkorea","KW":"Kuwait","KY":"Kaimaninseln","KZ":"Kasachstan","LA":"Laos","LB":"Libanon","LC":"St. Lucia","LI":"Liechtenstein","LK":"Sri Lanka","LR":"Liberia","LS":"Lesotho","LT":"Litauen","LU":"Luxemburg","LV":"Lettland","LY":"Libyen","MA":"Marokko","MC":"Monaco","MD":"Republik Moldau","ME":"Montenegro","MF":"St. Martin","MG":"Madagaskar","MH":"Marshallinseln","MK":"Nordmazedonien","ML":"Mali","MM":"Myanmar","MN":"Mongolei","MO":"Sonderverwaltungsregion Macau","MP":"Nördliche Marianen","MQ":"Martinique","MR":"Mauretanien","MS":"Montserrat","MT":"Malta","MU":"Mauritius","MV":"Malediven","MW":"Malawi","MX":"Mexiko","MY":"Malaysia","MZ":"Mosambik","NA":"Namibia","NC":"Neukaledonien","NE":"Niger","NF":"Norfolkinsel","NG":"Nigeria","NI":"Nicaragua","NL":"Niederlande","NO":"Norwegen","NP":"Nepal","NR":"Nauru","NU":"Niue","NZ":"Neuseeland","OM":"Oman","PA":"Panama","PE":"Peru","PF":"Französisch-Polynesien","PG":"Papua-Neuguinea","PH":"Philippinen","PK":"Pakistan","PL":"Polen","PM":"St. Pierre und Miquelon","PN":"Pitcairninseln","PR":"Puerto Rico","PS":"Palästinensische Autonomiegebiete","PT":"Portugal","PW":"Palau","PY":"Paraguay","QA":"Katar","QO":"Äußeres Ozeanien","RE":"Réunion","RO":"Rumänien","RS":"Serbien","RU":"Russland","RW":"Ruanda","SA":"Saudi-Arabien","SB":"Salomonen","SC":"Seychellen","SD":"Sudan","SE":"Schweden","SG":"Singapur","SH":"St. Helena","SI":"Slowenien","SJ":"Spitzbergen und Jan Mayen","SK":"Slowakei","SL":"Sierra Leone","SM":"San Marino","SN":"Senegal","SO":"Somalia","SR":"Suriname","SS":"Südsudan","ST":"São Tomé und Príncipe","SV":"El Salvador","SX":"Sint Maarten","SY":"Syrien","SZ":"Eswatini","TA":"Tristan da Cunha","TC":"Turks- und Caicosinseln","TD":"Tschad","TF":"Französische Süd- und Antarktisgebiete","TG":"Togo","TH":"Thailand","TJ":"Tadschikistan","TK":"Tokelau","TL":"Timor-Leste","TM":"Turkmenistan","TN":"Tunesien","TO":"Tonga","TR":"Türkei","TT":"Trinidad und Tobago","TV":"Tuvalu","TW":"Taiwan","TZ":"Tansania","UA":"Ukraine","UG":"Uganda","UM":"Amerikanische Überseeinseln","UN":"Vereinte Nationen","US":"Vereinigte Staaten","UY":"Uruguay","UZ":"Usbekistan","VA":"Vatikanstadt","VC":"St. Vincent und die Grenadinen","VE":"Venezuela","VG":"Britische Jungferninseln","VI":"Amerikanische Jungferninseln","VN":"Vietnam","VU":"Vanuatu","WF":"Wallis und Futuna","WS":"Samoa","XA":"Pseudo-Akzente","XB":"Pseudo-Bidi","XK":"Kosovo","YE":"Jemen","YT":"Mayotte","ZA":"Südafrika","ZM":"Sambia","ZW":"Simbabwe","ZZ":"Unbekannte Region"},"short":{"GB":"UK","HK":"Hongkong","MO":"Macau","PS":"Palästina","UN":"UN","US":"USA"},"narrow":{}},"script":{"long":{"Adlm":"Adlm","Afak":"Afaka","Aghb":"Kaukasisch-Albanisch","Ahom":"Ahom","Arab":"Arabisch","Aran":"Nastaliq","Armi":"Armi","Armn":"Armenisch","Avst":"Avestisch","Bali":"Balinesisch","Bamu":"Bamun","Bass":"Bassa","Batk":"Battakisch","Beng":"Bengalisch","Bhks":"Bhks","Blis":"Bliss-Symbole","Bopo":"Bopomofo","Brah":"Brahmi","Brai":"Braille","Bugi":"Buginesisch","Buhd":"Buhid","Cakm":"Chakma","Cans":"UCAS","Cari":"Karisch","Cham":"Cham","Cher":"Cherokee","Chrs":"Chrs","Cirt":"Cirth","Copt":"Koptisch","Cprt":"Zypriotisch","Cyrl":"Kyrillisch","Cyrs":"Altkirchenslawisch","Deva":"Devanagari","Diak":"Diak","Dogr":"Dogr","Dsrt":"Deseret","Dupl":"Duployanisch","Egyd":"Ägyptisch - Demotisch","Egyh":"Ägyptisch - Hieratisch","Egyp":"Ägyptische Hieroglyphen","Elba":"Elbasanisch","Elym":"Elym","Ethi":"Äthiopisch","Geok":"Khutsuri","Geor":"Georgisch","Glag":"Glagolitisch","Gong":"Gong","Gonm":"Gonm","Goth":"Gotisch","Gran":"Grantha","Grek":"Griechisch","Gujr":"Gujarati","Guru":"Gurmukhi","Hanb":"Han mit Bopomofo","Hang":"Hangul","Hani":"Chinesisch","Hano":"Hanunoo","Hans":"Vereinfacht","Hant":"Traditionell","Hatr":"Hatr","Hebr":"Hebräisch","Hira":"Hiragana","Hluw":"Hieroglyphen-Luwisch","Hmng":"Pahawh Hmong","Hmnp":"Hmnp","Hrkt":"Japanische Silbenschrift","Hung":"Altungarisch","Inds":"Indus-Schrift","Ital":"Altitalisch","Jamo":"Jamo","Java":"Javanesisch","Jpan":"Japanisch","Jurc":"Jurchen","Kali":"Kayah Li","Kana":"Katakana","Khar":"Kharoshthi","Khmr":"Khmer","Khoj":"Khojki","Kits":"Kits","Knda":"Kannada","Kore":"Koreanisch","Kpel":"Kpelle","Kthi":"Kaithi","Lana":"Lanna","Laoo":"Laotisch","Latf":"Lateinisch - Fraktur-Variante","Latg":"Lateinisch - Gälische Variante","Latn":"Lateinisch","Lepc":"Lepcha","Limb":"Limbu","Lina":"Linear A","Linb":"Linear B","Lisu":"Fraser","Loma":"Loma","Lyci":"Lykisch","Lydi":"Lydisch","Mahj":"Mahajani","Maka":"Maka","Mand":"Mandäisch","Mani":"Manichäisch","Marc":"Marc","Maya":"Maya-Hieroglyphen","Medf":"Medf","Mend":"Mende","Merc":"Meroitisch kursiv","Mero":"Meroitisch","Mlym":"Malayalam","Modi":"Modi","Mong":"Mongolisch","Moon":"Moon","Mroo":"Mro","Mtei":"Meitei Mayek","Mult":"Mult","Mymr":"Birmanisch","Nand":"Nand","Narb":"Altnordarabisch","Nbat":"Nabatäisch","Newa":"Newa","Nkgb":"Geba","Nkoo":"N’Ko","Nshu":"Frauenschrift","Ogam":"Ogham","Olck":"Ol Chiki","Orkh":"Orchon-Runen","Orya":"Oriya","Osge":"Osge","Osma":"Osmanisch","Palm":"Palmyrenisch","Pauc":"Pau Cin Hau","Perm":"Altpermisch","Phag":"Phags-pa","Phli":"Buch-Pahlavi","Phlp":"Psalter-Pahlavi","Phlv":"Pahlavi","Phnx":"Phönizisch","Plrd":"Pollard Phonetisch","Prti":"Parthisch","Qaag":"Zawgyi","Rjng":"Rejang","Rohg":"Rohg","Roro":"Rongorongo","Runr":"Runenschrift","Samr":"Samaritanisch","Sara":"Sarati","Sarb":"Altsüdarabisch","Saur":"Saurashtra","Sgnw":"Gebärdensprache","Shaw":"Shaw-Alphabet","Shrd":"Sharada","Sidd":"Siddham","Sind":"Khudawadi","Sinh":"Singhalesisch","Sogd":"Sogd","Sogo":"Sogo","Sora":"Sora Sompeng","Soyo":"Soyo","Sund":"Sundanesisch","Sylo":"Syloti Nagri","Syrc":"Syrisch","Syre":"Syrisch - Estrangelo-Variante","Syrj":"Westsyrisch","Syrn":"Ostsyrisch","Tagb":"Tagbanwa","Takr":"Takri","Tale":"Tai Le","Talu":"Tai Lue","Taml":"Tamilisch","Tang":"Xixia","Tavt":"Tai-Viet","Telu":"Telugu","Teng":"Tengwar","Tfng":"Tifinagh","Tglg":"Tagalog","Thaa":"Thaana","Thai":"Thai","Tibt":"Tibetisch","Tirh":"Tirhuta","Ugar":"Ugaritisch","Vaii":"Vai","Visp":"Sichtbare Sprache","Wara":"Varang Kshiti","Wcho":"Wcho","Wole":"Woleaianisch","Xpeo":"Altpersisch","Xsux":"Sumerisch-akkadische Keilschrift","Yezi":"Yezi","Yiii":"Yi","Zanb":"Zanb","Zinh":"Geerbter Schriftwert","Zmth":"Mathematische Notation","Zsye":"Emoji","Zsym":"Symbole","Zxxx":"Schriftlos","Zyyy":"Verbreitet","Zzzz":"Unbekannte Schrift"},"short":{},"narrow":{}},"currency":{"long":{"ADP":"Andorranische Pesete","AED":"VAE-Dirham","AFA":"Afghanische Afghani (1927–2002)","AFN":"Afghanischer Afghani","ALK":"Albanischer Lek (1946–1965)","ALL":"Albanischer Lek","AMD":"Armenischer Dram","ANG":"Niederländische-Antillen-Gulden","AOA":"Angolanischer Kwanza","AOK":"Angolanischer Kwanza (1977–1990)","AON":"Angolanischer Neuer Kwanza (1990–2000)","AOR":"Angolanischer Kwanza Reajustado (1995–1999)","ARA":"Argentinischer Austral","ARL":"Argentinischer Peso Ley (1970–1983)","ARM":"Argentinischer Peso (1881–1970)","ARP":"Argentinischer Peso (1983–1985)","ARS":"Argentinischer Peso","ATS":"Österreichischer Schilling","AUD":"Australischer Dollar","AWG":"Aruba-Florin","AZM":"Aserbaidschan-Manat (1993–2006)","AZN":"Aserbaidschan-Manat","BAD":"Bosnien und Herzegowina Dinar (1992–1994)","BAM":"Konvertible Mark Bosnien und Herzegowina","BAN":"Bosnien und Herzegowina Neuer Dinar (1994–1997)","BBD":"Barbados-Dollar","BDT":"Bangladesch-Taka","BEC":"Belgischer Franc (konvertibel)","BEF":"Belgischer Franc","BEL":"Belgischer Finanz-Franc","BGL":"Bulgarische Lew (1962–1999)","BGM":"Bulgarischer Lew (1952–1962)","BGN":"Bulgarischer Lew","BGO":"Bulgarischer Lew (1879–1952)","BHD":"Bahrain-Dinar","BIF":"Burundi-Franc","BMD":"Bermuda-Dollar","BND":"Brunei-Dollar","BOB":"Bolivianischer Boliviano","BOL":"Bolivianischer Boliviano (1863–1963)","BOP":"Bolivianischer Peso","BOV":"Boliviansiche Mvdol","BRB":"Brasilianischer Cruzeiro Novo (1967–1986)","BRC":"Brasilianischer Cruzado (1986–1989)","BRE":"Brasilianischer Cruzeiro (1990–1993)","BRL":"Brasilianischer Real","BRN":"Brasilianischer Cruzado Novo (1989–1990)","BRR":"Brasilianischer Cruzeiro (1993–1994)","BRZ":"Brasilianischer Cruzeiro (1942–1967)","BSD":"Bahamas-Dollar","BTN":"Bhutan-Ngultrum","BUK":"Birmanischer Kyat","BWP":"Botswanischer Pula","BYB":"Belarus-Rubel (1994–1999)","BYN":"Weißrussischer Rubel","BYR":"Weißrussischer Rubel (2000–2016)","BZD":"Belize-Dollar","CAD":"Kanadischer Dollar","CDF":"Kongo-Franc","CHE":"WIR-Euro","CHF":"Schweizer Franken","CHW":"WIR Franken","CLE":"Chilenischer Escudo","CLF":"Chilenische Unidades de Fomento","CLP":"Chilenischer Peso","CNH":"Renminbi-Yuan (Offshore)","CNX":"Dollar der Chinesischen Volksbank","CNY":"Renminbi Yuan","COP":"Kolumbianischer Peso","COU":"Kolumbianische Unidades de valor real","CRC":"Costa-Rica-Colón","CSD":"Serbischer Dinar (2002–2006)","CSK":"Tschechoslowakische Krone","CUC":"Kubanischer Peso (konvertibel)","CUP":"Kubanischer Peso","CVE":"Cabo-Verde-Escudo","CYP":"Zypern-Pfund","CZK":"Tschechische Krone","DDM":"Mark der DDR","DEM":"Deutsche Mark","DJF":"Dschibuti-Franc","DKK":"Dänische Krone","DOP":"Dominikanischer Peso","DZD":"Algerischer Dinar","ECS":"Ecuadorianischer Sucre","ECV":"Verrechnungseinheit für Ecuador","EEK":"Estnische Krone","EGP":"Ägyptisches Pfund","ERN":"Eritreischer Nakfa","ESA":"Spanische Peseta (A–Konten)","ESB":"Spanische Peseta (konvertibel)","ESP":"Spanische Peseta","ETB":"Äthiopischer Birr","EUR":"Euro","FIM":"Finnische Mark","FJD":"Fidschi-Dollar","FKP":"Falkland-Pfund","FRF":"Französischer Franc","GBP":"Britisches Pfund","GEK":"Georgischer Kupon Larit","GEL":"Georgischer Lari","GHC":"Ghanaischer Cedi (1979–2007)","GHS":"Ghanaischer Cedi","GIP":"Gibraltar-Pfund","GMD":"Gambia-Dalasi","GNF":"Guinea-Franc","GNS":"Guineischer Syli","GQE":"Äquatorialguinea-Ekwele","GRD":"Griechische Drachme","GTQ":"Guatemaltekischer Quetzal","GWE":"Portugiesisch Guinea Escudo","GWP":"Guinea-Bissau Peso","GYD":"Guyana-Dollar","HKD":"Hongkong-Dollar","HNL":"Honduras-Lempira","HRD":"Kroatischer Dinar","HRK":"Kroatischer Kuna","HTG":"Haitianische Gourde","HUF":"Ungarischer Forint","IDR":"Indonesische Rupiah","IEP":"Irisches Pfund","ILP":"Israelisches Pfund","ILR":"Israelischer Schekel (1980–1985)","ILS":"Israelischer Neuer Schekel","INR":"Indische Rupie","IQD":"Irakischer Dinar","IRR":"Iranischer Rial","ISJ":"Isländische Krone (1918–1981)","ISK":"Isländische Krone","ITL":"Italienische Lira","JMD":"Jamaika-Dollar","JOD":"Jordanischer Dinar","JPY":"Japanischer Yen","KES":"Kenia-Schilling","KGS":"Kirgisischer Som","KHR":"Kambodschanischer Riel","KMF":"Komoren-Franc","KPW":"Nordkoreanischer Won","KRH":"Südkoreanischer Hwan (1953–1962)","KRO":"Südkoreanischer Won (1945–1953)","KRW":"Südkoreanischer Won","KWD":"Kuwait-Dinar","KYD":"Kaiman-Dollar","KZT":"Kasachischer Tenge","LAK":"Laotischer Kip","LBP":"Libanesisches Pfund","LKR":"Sri-Lanka-Rupie","LRD":"Liberianischer Dollar","LSL":"Loti","LTL":"Litauischer Litas","LTT":"Litauischer Talonas","LUC":"Luxemburgischer Franc (konvertibel)","LUF":"Luxemburgischer Franc","LUL":"Luxemburgischer Finanz-Franc","LVL":"Lettischer Lats","LVR":"Lettischer Rubel","LYD":"Libyscher Dinar","MAD":"Marokkanischer Dirham","MAF":"Marokkanischer Franc","MCF":"Monegassischer Franc","MDC":"Moldau-Cupon","MDL":"Moldau-Leu","MGA":"Madagaskar-Ariary","MGF":"Madagaskar-Franc","MKD":"Mazedonischer Denar","MKN":"Mazedonischer Denar (1992–1993)","MLF":"Malischer Franc","MMK":"Myanmarischer Kyat","MNT":"Mongolischer Tögrög","MOP":"Macao-Pataca","MRO":"Mauretanischer Ouguiya (1973–2017)","MRU":"Mauretanischer Ouguiya","MTL":"Maltesische Lira","MTP":"Maltesisches Pfund","MUR":"Mauritius-Rupie","MVP":"Malediven-Rupie (alt)","MVR":"Malediven-Rufiyaa","MWK":"Malawi-Kwacha","MXN":"Mexikanischer Peso","MXP":"Mexikanischer Silber-Peso (1861–1992)","MXV":"Mexicanischer Unidad de Inversion (UDI)","MYR":"Malaysischer Ringgit","MZE":"Mosambikanischer Escudo","MZM":"Mosambikanischer Metical (1980–2006)","MZN":"Mosambikanischer Metical","NAD":"Namibia-Dollar","NGN":"Nigerianischer Naira","NIC":"Nicaraguanischer Córdoba (1988–1991)","NIO":"Nicaragua-Córdoba","NLG":"Niederländischer Gulden","NOK":"Norwegische Krone","NPR":"Nepalesische Rupie","NZD":"Neuseeland-Dollar","OMR":"Omanischer Rial","PAB":"Panamaischer Balboa","PEI":"Peruanischer Inti","PEN":"Peruanischer Sol","PES":"Peruanischer Sol (1863–1965)","PGK":"Papua-neuguineischer Kina","PHP":"Philippinischer Peso","PKR":"Pakistanische Rupie","PLN":"Polnischer Złoty","PLZ":"Polnischer Zloty (1950–1995)","PTE":"Portugiesischer Escudo","PYG":"Paraguayischer Guaraní","QAR":"Katar-Riyal","RHD":"Rhodesischer Dollar","ROL":"Rumänischer Leu (1952–2006)","RON":"Rumänischer Leu","RSD":"Serbischer Dinar","RUB":"Russischer Rubel","RUR":"Russischer Rubel (1991–1998)","RWF":"Ruanda-Franc","SAR":"Saudi-Rial","SBD":"Salomonen-Dollar","SCR":"Seychellen-Rupie","SDD":"Sudanesischer Dinar (1992–2007)","SDG":"Sudanesisches Pfund","SDP":"Sudanesisches Pfund (1957–1998)","SEK":"Schwedische Krone","SGD":"Singapur-Dollar","SHP":"St.-Helena-Pfund","SIT":"Slowenischer Tolar","SKK":"Slowakische Krone","SLL":"Sierra-leonischer Leone","SOS":"Somalia-Schilling","SRD":"Suriname-Dollar","SRG":"Suriname Gulden","SSP":"Südsudanesisches Pfund","STD":"São-toméischer Dobra (1977–2017)","STN":"São-toméischer Dobra","SUR":"Sowjetischer Rubel","SVC":"El Salvador Colon","SYP":"Syrisches Pfund","SZL":"Swasiländischer Lilangeni","THB":"Thailändischer Baht","TJR":"Tadschikistan Rubel","TJS":"Tadschikistan-Somoni","TMM":"Turkmenistan-Manat (1993–2009)","TMT":"Turkmenistan-Manat","TND":"Tunesischer Dinar","TOP":"Tongaischer Paʻanga","TPE":"Timor-Escudo","TRL":"Türkische Lira (1922–2005)","TRY":"Türkische Lira","TTD":"Trinidad-und-Tobago-Dollar","TWD":"Neuer Taiwan-Dollar","TZS":"Tansania-Schilling","UAH":"Ukrainische Hrywnja","UAK":"Ukrainischer Karbovanetz","UGS":"Uganda-Schilling (1966–1987)","UGX":"Uganda-Schilling","USD":"US-Dollar","USN":"US Dollar (Nächster Tag)","USS":"US Dollar (Gleicher Tag)","UYI":"Uruguayischer Peso (Indexierte Rechnungseinheiten)","UYP":"Uruguayischer Peso (1975–1993)","UYU":"Uruguayischer Peso","UYW":"UYW","UZS":"Usbekistan-Sum","VEB":"Venezolanischer Bolívar (1871–2008)","VEF":"Venezolanischer Bolívar (2008–2018)","VES":"Venezolanischer Bolívar","VND":"Vietnamesischer Dong","VNN":"Vietnamesischer Dong(1978–1985)","VUV":"Vanuatu-Vatu","WST":"Samoanischer Tala","XAF":"CFA-Franc (BEAC)","XAG":"Unze Silber","XAU":"Unze Gold","XBA":"Europäische Rechnungseinheit","XBB":"Europäische Währungseinheit (XBB)","XBC":"Europäische Rechnungseinheit (XBC)","XBD":"Europäische Rechnungseinheit (XBD)","XCD":"Ostkaribischer Dollar","XDR":"Sonderziehungsrechte","XEU":"Europäische Währungseinheit (XEU)","XFO":"Französischer Gold-Franc","XFU":"Französischer UIC-Franc","XOF":"CFA-Franc (BCEAO)","XPD":"Unze Palladium","XPF":"CFP-Franc","XPT":"Unze Platin","XRE":"RINET Funds","XSU":"SUCRE","XTS":"Testwährung","XUA":"Rechnungseinheit der AfEB","XXX":"Unbekannte Währung","YDD":"Jemen-Dinar","YER":"Jemen-Rial","YUD":"Jugoslawischer Dinar (1966–1990)","YUM":"Jugoslawischer Neuer Dinar (1994–2002)","YUN":"Jugoslawischer Dinar (konvertibel)","YUR":"Jugoslawischer reformierter Dinar (1992–1993)","ZAL":"Südafrikanischer Rand (Finanz)","ZAR":"Südafrikanischer Rand","ZMK":"Kwacha (1968–2012)","ZMW":"Kwacha","ZRN":"Zaire-Neuer Zaïre (1993–1998)","ZRZ":"Zaire-Zaïre (1971–1993)","ZWD":"Simbabwe-Dollar (1980–2008)","ZWL":"Simbabwe-Dollar (2009)","ZWR":"Simbabwe-Dollar (2008)"},"short":{},"narrow":{}}},"patterns":{"locale":"{0} ({1})"}},"locale":"de"} ) } } if (!("Intl"in self&&"ListFormat"in self.Intl )) { // Intl.ListFormat (function() { // node_modules/tslib/tslib.es6.js var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || {__proto__: []} instanceof Array && function(d2, b2) { d2.__proto__ = b2; } || function(d2, b2) { for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; }; return extendStatics(d, b); }; function __extends(d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } var __assign = function() { __assign = Object.assign || function __assign2(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/utils.js function setInternalSlot(map, pl, field, value) { if (!map.get(pl)) { map.set(pl, Object.create(null)); } var slots = map.get(pl); slots[field] = value; } function getInternalSlot(map, pl, field) { return getMultiInternalSlots(map, pl, field)[field]; } function getMultiInternalSlots(map, pl) { var fields = []; for (var _i = 2; _i < arguments.length; _i++) { fields[_i - 2] = arguments[_i]; } var slots = map.get(pl); if (!slots) { throw new TypeError(pl + " InternalSlot has not been initialized"); } return fields.reduce(function(all, f) { all[f] = slots[f]; return all; }, Object.create(null)); } function isLiteralPart(patternPart) { return patternPart.type === "literal"; } var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi; function invariant(condition, message, Err) { if (Err === void 0) { Err = Error; } if (!condition) { throw new Err(message); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/types/date-time.js var RangePatternType; (function(RangePatternType2) { RangePatternType2["startRange"] = "startRange"; RangePatternType2["shared"] = "shared"; RangePatternType2["endRange"] = "endRange"; })(RangePatternType || (RangePatternType = {})); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/CanonicalizeLocaleList.js function CanonicalizeLocaleList(locales) { return Intl.getCanonicalLocales(locales); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/262.js function ToString(o) { if (typeof o === "symbol") { throw TypeError("Cannot convert a Symbol value to a string"); } return String(o); } function ToObject(arg) { if (arg == null) { throw new TypeError("undefined/null cannot be converted to object"); } return Object(arg); } var MINUTES_PER_HOUR = 60; var SECONDS_PER_MINUTE = 60; var MS_PER_SECOND = 1e3; var MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE; var MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/PartitionPattern.js function PartitionPattern(pattern) { var result = []; var beginIndex = pattern.indexOf("{"); var endIndex = 0; var nextIndex = 0; var length = pattern.length; while (beginIndex < pattern.length && beginIndex > -1) { endIndex = pattern.indexOf("}", beginIndex); invariant(endIndex > beginIndex, "Invalid pattern " + pattern); if (beginIndex > nextIndex) { result.push({ type: "literal", value: pattern.substring(nextIndex, beginIndex) }); } result.push({ type: pattern.substring(beginIndex + 1, endIndex), value: void 0 }); nextIndex = endIndex + 1; beginIndex = pattern.indexOf("{", nextIndex); } if (nextIndex < length) { result.push({ type: "literal", value: pattern.substring(nextIndex, length) }); } return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/GetOption.js function GetOption(opts, prop, type, values, fallback) { if (typeof opts !== "object") { throw new TypeError("Options must be an object"); } var value = opts[prop]; if (value !== void 0) { if (type !== "boolean" && type !== "string") { throw new TypeError("invalid type"); } if (type === "boolean") { value = Boolean(value); } if (type === "string") { value = ToString(value); } if (values !== void 0 && !values.filter(function(val) { return val == value; }).length) { throw new RangeError(value + " is not within " + values.join(", ")); } return value; } return fallback; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/BestAvailableLocale.js function BestAvailableLocale(availableLocales, locale) { var candidate = locale; while (true) { if (availableLocales.has(candidate)) { return candidate; } var pos = candidate.lastIndexOf("-"); if (!~pos) { return void 0; } if (pos >= 2 && candidate[pos - 2] === "-") { pos -= 2; } candidate = candidate.slice(0, pos); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/LookupMatcher.js function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) { var result = {locale: ""}; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var locale = requestedLocales_1[_i]; var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale); if (availableLocale) { result.locale = availableLocale; if (locale !== noExtensionLocale) { result.extension = locale.slice(noExtensionLocale.length + 1, locale.length); } return result; } } result.locale = getDefaultLocale(); return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/BestFitMatcher.js function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) { var minimizedAvailableLocaleMap = {}; var minimizedAvailableLocales = new Set(); availableLocales.forEach(function(locale2) { var minimizedLocale = new Intl.Locale(locale2).minimize().toString(); minimizedAvailableLocaleMap[minimizedLocale] = locale2; minimizedAvailableLocales.add(minimizedLocale); }); var foundLocale; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var l = requestedLocales_1[_i]; if (foundLocale) { break; } var noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); if (availableLocales.has(noExtensionLocale)) { foundLocale = noExtensionLocale; break; } if (minimizedAvailableLocales.has(noExtensionLocale)) { foundLocale = minimizedAvailableLocaleMap[noExtensionLocale]; break; } var locale = new Intl.Locale(noExtensionLocale); var maximizedRequestedLocale = locale.maximize().toString(); var minimizedRequestedLocale = locale.minimize().toString(); if (minimizedAvailableLocales.has(minimizedRequestedLocale)) { foundLocale = minimizedAvailableLocaleMap[minimizedRequestedLocale]; break; } foundLocale = BestAvailableLocale(minimizedAvailableLocales, maximizedRequestedLocale); } return { locale: foundLocale || getDefaultLocale() }; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/UnicodeExtensionValue.js function UnicodeExtensionValue(extension, key) { invariant(key.length === 2, "key must have 2 elements"); var size = extension.length; var searchValue = "-" + key + "-"; var pos = extension.indexOf(searchValue); if (pos !== -1) { var start = pos + 4; var end = start; var k = start; var done = false; while (!done) { var e = extension.indexOf("-", k); var len = void 0; if (e === -1) { len = size - k; } else { len = e - k; } if (len === 2) { done = true; } else if (e === -1) { end = size; done = true; } else { end = e; k = e + 1; } } return extension.slice(start, end); } searchValue = "-" + key; pos = extension.indexOf(searchValue); if (pos !== -1 && pos + 3 === size) { return ""; } return void 0; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/ResolveLocale.js function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) { var matcher = options.localeMatcher; var r; if (matcher === "lookup") { r = LookupMatcher(availableLocales, requestedLocales, getDefaultLocale); } else { r = BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale); } var foundLocale = r.locale; var result = {locale: "", dataLocale: foundLocale}; var supportedExtension = "-u"; for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) { var key = relevantExtensionKeys_1[_i]; invariant(foundLocale in localeData, "Missing locale data for " + foundLocale); var foundLocaleData = localeData[foundLocale]; invariant(typeof foundLocaleData === "object" && foundLocaleData !== null, "locale data " + key + " must be an object"); var keyLocaleData = foundLocaleData[key]; invariant(Array.isArray(keyLocaleData), "keyLocaleData for " + key + " must be an array"); var value = keyLocaleData[0]; invariant(typeof value === "string" || value === null, "value must be string or null but got " + typeof value + " in key " + key); var supportedExtensionAddition = ""; if (r.extension) { var requestedValue = UnicodeExtensionValue(r.extension, key); if (requestedValue !== void 0) { if (requestedValue !== "") { if (~keyLocaleData.indexOf(requestedValue)) { value = requestedValue; supportedExtensionAddition = "-" + key + "-" + value; } } else if (~requestedValue.indexOf("true")) { value = "true"; supportedExtensionAddition = "-" + key; } } } if (key in options) { var optionsValue = options[key]; invariant(typeof optionsValue === "string" || typeof optionsValue === "undefined" || optionsValue === null, "optionsValue must be String, Undefined or Null"); if (~keyLocaleData.indexOf(optionsValue)) { if (optionsValue !== value) { value = optionsValue; supportedExtensionAddition = ""; } } } result[key] = value; supportedExtension += supportedExtensionAddition; } if (supportedExtension.length > 2) { var privateIndex = foundLocale.indexOf("-x-"); if (privateIndex === -1) { foundLocale = foundLocale + supportedExtension; } else { var preExtension = foundLocale.slice(0, privateIndex); var postExtension = foundLocale.slice(privateIndex, foundLocale.length); foundLocale = preExtension + supportedExtension + postExtension; } foundLocale = Intl.getCanonicalLocales(foundLocale)[0]; } result.locale = foundLocale; return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/GetOptionsObject.js function GetOptionsObject(options) { if (typeof options === "undefined") { return Object.create(null); } if (typeof options === "object") { return options; } throw new TypeError("Options must be an object"); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/IsSanctionedSimpleUnitIdentifier.js var SANCTIONED_UNITS = [ "angle-degree", "area-acre", "area-hectare", "concentr-percent", "digital-bit", "digital-byte", "digital-gigabit", "digital-gigabyte", "digital-kilobit", "digital-kilobyte", "digital-megabit", "digital-megabyte", "digital-petabyte", "digital-terabit", "digital-terabyte", "duration-day", "duration-hour", "duration-millisecond", "duration-minute", "duration-month", "duration-second", "duration-week", "duration-year", "length-centimeter", "length-foot", "length-inch", "length-kilometer", "length-meter", "length-mile-scandinavian", "length-mile", "length-millimeter", "length-yard", "mass-gram", "mass-kilogram", "mass-ounce", "mass-pound", "mass-stone", "temperature-celsius", "temperature-fahrenheit", "volume-fluid-ounce", "volume-gallon", "volume-liter", "volume-milliliter" ]; function removeUnitNamespace(unit) { return unit.slice(unit.indexOf("-") + 1); } var SIMPLE_UNITS = SANCTIONED_UNITS.map(removeUnitNamespace); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/regex.generated.js var S_UNICODE_REGEX = /[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEE0-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDD78\uDD7A-\uDDCB\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6\uDF00-\uDF92\uDF94-\uDFCA]/; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/format_to_parts.js var CARET_S_UNICODE_REGEX = new RegExp("^" + S_UNICODE_REGEX.source); var S_DOLLAR_UNICODE_REGEX = new RegExp(S_UNICODE_REGEX.source + "$"); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/LookupSupportedLocales.js function LookupSupportedLocales(availableLocales, requestedLocales) { var subset = []; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var locale = requestedLocales_1[_i]; var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale); if (availableLocale) { subset.push(availableLocale); } } return subset; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/SupportedLocales.js function SupportedLocales(availableLocales, requestedLocales, options) { var matcher = "best fit"; if (options !== void 0) { options = ToObject(options); matcher = GetOption(options, "localeMatcher", "string", ["lookup", "best fit"], "best fit"); } if (matcher === "best fit") { return LookupSupportedLocales(availableLocales, requestedLocales); } return LookupSupportedLocales(availableLocales, requestedLocales); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/data.js var MissingLocaleDataError = function(_super) { __extends(MissingLocaleDataError2, _super); function MissingLocaleDataError2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = "MISSING_LOCALE_DATA"; return _this; } return MissingLocaleDataError2; }(Error); // bazel-out/darwin-fastbuild/bin/packages/intl-listformat/lib/index.js function validateInstance(instance, method) { if (!(instance instanceof ListFormat)) { throw new TypeError("Method Intl.ListFormat.prototype." + method + " called on incompatible receiver " + String(instance)); } } function stringListFromIterable(list) { if (list === void 0) { return []; } var result = []; for (var _i = 0, list_1 = list; _i < list_1.length; _i++) { var el = list_1[_i]; if (typeof el !== "string") { throw new TypeError("array list[" + list.indexOf(el) + "] is not type String"); } result.push(el); } return result; } function createPartsFromList(internalSlotMap, lf, list) { var size = list.length; if (size === 0) { return []; } if (size === 2) { var pattern = getInternalSlot(internalSlotMap, lf, "templatePair"); var first = {type: "element", value: list[0]}; var second = {type: "element", value: list[1]}; return deconstructPattern(pattern, {"0": first, "1": second}); } var last = { type: "element", value: list[size - 1] }; var parts = last; var i = size - 2; while (i >= 0) { var pattern = void 0; if (i === 0) { pattern = getInternalSlot(internalSlotMap, lf, "templateStart"); } else if (i < size - 2) { pattern = getInternalSlot(internalSlotMap, lf, "templateMiddle"); } else { pattern = getInternalSlot(internalSlotMap, lf, "templateEnd"); } var head = {type: "element", value: list[i]}; parts = deconstructPattern(pattern, {"0": head, "1": parts}); i--; } return parts; } function deconstructPattern(pattern, placeables) { var patternParts = PartitionPattern(pattern); var result = []; for (var _i = 0, patternParts_1 = patternParts; _i < patternParts_1.length; _i++) { var patternPart = patternParts_1[_i]; var part = patternPart.type; if (isLiteralPart(patternPart)) { result.push({ type: "literal", value: patternPart.value }); } else { invariant(part in placeables, part + " is missing from placables"); var subst = placeables[part]; if (Array.isArray(subst)) { result.push.apply(result, subst); } else { result.push(subst); } } } return result; } var ListFormat = function() { function ListFormat2(locales, options) { var newTarget = this && this instanceof ListFormat2 ? this.constructor : void 0; if (!newTarget) { throw new TypeError("Intl.ListFormat must be called with 'new'"); } setInternalSlot(ListFormat2.__INTERNAL_SLOT_MAP__, this, "initializedListFormat", true); var requestedLocales = CanonicalizeLocaleList(locales); var opt = Object.create(null); var opts = GetOptionsObject(options); var matcher = GetOption(opts, "localeMatcher", "string", ["best fit", "lookup"], "best fit"); opt.localeMatcher = matcher; var localeData = ListFormat2.localeData; var r = ResolveLocale(ListFormat2.availableLocales, requestedLocales, opt, ListFormat2.relevantExtensionKeys, localeData, ListFormat2.getDefaultLocale); setInternalSlot(ListFormat2.__INTERNAL_SLOT_MAP__, this, "locale", r.locale); var type = GetOption(opts, "type", "string", ["conjunction", "disjunction", "unit"], "conjunction"); setInternalSlot(ListFormat2.__INTERNAL_SLOT_MAP__, this, "type", type); var style = GetOption(opts, "style", "string", ["long", "short", "narrow"], "long"); setInternalSlot(ListFormat2.__INTERNAL_SLOT_MAP__, this, "style", style); var dataLocale = r.dataLocale; var dataLocaleData = localeData[dataLocale]; invariant(!!dataLocaleData, "Missing locale data for " + dataLocale); var dataLocaleTypes = dataLocaleData[type]; var templates = dataLocaleTypes[style]; setInternalSlot(ListFormat2.__INTERNAL_SLOT_MAP__, this, "templatePair", templates.pair); setInternalSlot(ListFormat2.__INTERNAL_SLOT_MAP__, this, "templateStart", templates.start); setInternalSlot(ListFormat2.__INTERNAL_SLOT_MAP__, this, "templateMiddle", templates.middle); setInternalSlot(ListFormat2.__INTERNAL_SLOT_MAP__, this, "templateEnd", templates.end); } ListFormat2.prototype.format = function(elements) { validateInstance(this, "format"); var result = ""; var parts = createPartsFromList(ListFormat2.__INTERNAL_SLOT_MAP__, this, stringListFromIterable(elements)); if (!Array.isArray(parts)) { return parts.value; } for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) { var p = parts_1[_i]; result += p.value; } return result; }; ListFormat2.prototype.formatToParts = function(elements) { validateInstance(this, "format"); var parts = createPartsFromList(ListFormat2.__INTERNAL_SLOT_MAP__, this, stringListFromIterable(elements)); if (!Array.isArray(parts)) { return [parts]; } var result = []; for (var _i = 0, parts_2 = parts; _i < parts_2.length; _i++) { var part = parts_2[_i]; result.push(__assign({}, part)); } return result; }; ListFormat2.prototype.resolvedOptions = function() { validateInstance(this, "resolvedOptions"); return { locale: getInternalSlot(ListFormat2.__INTERNAL_SLOT_MAP__, this, "locale"), type: getInternalSlot(ListFormat2.__INTERNAL_SLOT_MAP__, this, "type"), style: getInternalSlot(ListFormat2.__INTERNAL_SLOT_MAP__, this, "style") }; }; ListFormat2.supportedLocalesOf = function(locales, options) { return SupportedLocales(ListFormat2.availableLocales, CanonicalizeLocaleList(locales), options); }; ListFormat2.__addLocaleData = function() { var data = []; for (var _i = 0; _i < arguments.length; _i++) { data[_i] = arguments[_i]; } for (var _a = 0, data_1 = data; _a < data_1.length; _a++) { var _b = data_1[_a], d = _b.data, locale = _b.locale; var minimizedLocale = new Intl.Locale(locale).minimize().toString(); ListFormat2.localeData[locale] = ListFormat2.localeData[minimizedLocale] = d; ListFormat2.availableLocales.add(minimizedLocale); ListFormat2.availableLocales.add(locale); if (!ListFormat2.__defaultLocale) { ListFormat2.__defaultLocale = minimizedLocale; } } }; ListFormat2.getDefaultLocale = function() { return ListFormat2.__defaultLocale; }; ListFormat2.localeData = {}; ListFormat2.availableLocales = new Set(); ListFormat2.__defaultLocale = ""; ListFormat2.relevantExtensionKeys = []; ListFormat2.polyfilled = true; ListFormat2.__INTERNAL_SLOT_MAP__ = new WeakMap(); return ListFormat2; }(); var lib_default = ListFormat; try { if (typeof Symbol !== "undefined") { Object.defineProperty(ListFormat.prototype, Symbol.toStringTag, { value: "Intl.ListFormat", writable: false, enumerable: false, configurable: true }); } Object.defineProperty(ListFormat.prototype.constructor, "length", { value: 0, writable: false, enumerable: false, configurable: true }); Object.defineProperty(ListFormat.supportedLocalesOf, "length", { value: 1, writable: false, enumerable: false, configurable: true }); } catch (e) { } // bazel-out/darwin-fastbuild/bin/packages/intl-listformat/lib/should-polyfill.js function shouldPolyfill() { return typeof Intl === "undefined" || !("ListFormat" in Intl); } // bazel-out/darwin-fastbuild/bin/packages/intl-listformat/lib/polyfill.js if (shouldPolyfill()) { Object.defineProperty(Intl, "ListFormat", { value: lib_default, writable: true, enumerable: false, configurable: true }); } })(); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ } if (!("Intl"in self&&Intl.ListFormat&&Intl.ListFormat.supportedLocalesOf&&1===Intl.ListFormat.supportedLocalesOf("de").length )) { // Intl.ListFormat.~locale.de /* @generated */ // prettier-ignore if (Intl.ListFormat && typeof Intl.ListFormat.__addLocaleData === 'function') { Intl.ListFormat.__addLocaleData({"data":{"conjunction":{"long":{"start":"{0}, {1}","middle":"{0}, {1}","end":"{0} und {1}","pair":"{0} und {1}"},"short":{"start":"{0}, {1}","middle":"{0}, {1}","end":"{0} und {1}","pair":"{0} und {1}"},"narrow":{"start":"{0}, {1}","middle":"{0}, {1}","end":"{0} und {1}","pair":"{0} und {1}"}},"disjunction":{"long":{"start":"{0}, {1}","middle":"{0}, {1}","end":"{0} oder {1}","pair":"{0} oder {1}"},"short":{"start":"{0}, {1}","middle":"{0}, {1}","end":"{0} oder {1}","pair":"{0} oder {1}"},"narrow":{"start":"{0}, {1}","middle":"{0}, {1}","end":"{0} oder {1}","pair":"{0} oder {1}"}},"unit":{"long":{"start":"{0}, {1}","middle":"{0}, {1}","end":"{0} und {1}","pair":"{0}, {1}"},"short":{"start":"{0}, {1}","middle":"{0}, {1}","end":"{0} und {1}","pair":"{0}, {1}"},"narrow":{"start":"{0}, {1}","middle":"{0}, {1}","end":"{0} und {1}","pair":"{0}, {1}"}}},"locale":"de"} ) } } if (!("Intl"in self&&"PluralRules"in self.Intl )) { // Intl.PluralRules (function() { // node_modules/tslib/tslib.es6.js var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || {__proto__: []} instanceof Array && function(d2, b2) { d2.__proto__ = b2; } || function(d2, b2) { for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; }; return extendStatics(d, b); }; function __extends(d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } function __spreadArray(to, from) { for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) to[j] = from[i]; return to; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/utils.js function getMagnitude(x) { return Math.floor(Math.log(x) * Math.LOG10E); } function repeat(s, times) { if (typeof s.repeat === "function") { return s.repeat(times); } var arr = new Array(times); for (var i = 0; i < arr.length; i++) { arr[i] = s; } return arr.join(""); } var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi; function invariant(condition, message, Err) { if (Err === void 0) { Err = Error; } if (!condition) { throw new Err(message); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/types/date-time.js var RangePatternType; (function(RangePatternType2) { RangePatternType2["startRange"] = "startRange"; RangePatternType2["shared"] = "shared"; RangePatternType2["endRange"] = "endRange"; })(RangePatternType || (RangePatternType = {})); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/CanonicalizeLocaleList.js function CanonicalizeLocaleList(locales) { return Intl.getCanonicalLocales(locales); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/262.js function ToString(o) { if (typeof o === "symbol") { throw TypeError("Cannot convert a Symbol value to a string"); } return String(o); } function ToNumber(val) { if (val === void 0) { return NaN; } if (val === null) { return 0; } if (typeof val === "boolean") { return val ? 1 : 0; } if (typeof val === "number") { return val; } if (typeof val === "symbol" || typeof val === "bigint") { throw new TypeError("Cannot convert symbol/bigint to number"); } return Number(val); } function ToObject(arg) { if (arg == null) { throw new TypeError("undefined/null cannot be converted to object"); } return Object(arg); } function SameValue(x, y) { if (Object.is) { return Object.is(x, y); } if (x === y) { return x !== 0 || 1 / x === 1 / y; } return x !== x && y !== y; } function Type(x) { if (x === null) { return "Null"; } if (typeof x === "undefined") { return "Undefined"; } if (typeof x === "function" || typeof x === "object") { return "Object"; } if (typeof x === "number") { return "Number"; } if (typeof x === "boolean") { return "Boolean"; } if (typeof x === "string") { return "String"; } if (typeof x === "symbol") { return "Symbol"; } if (typeof x === "bigint") { return "BigInt"; } } var MINUTES_PER_HOUR = 60; var SECONDS_PER_MINUTE = 60; var MS_PER_SECOND = 1e3; var MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE; var MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/CoerceOptionsToObject.js function CoerceOptionsToObject(options) { if (typeof options === "undefined") { return Object.create(null); } return ToObject(options); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/GetOption.js function GetOption(opts, prop, type, values, fallback) { if (typeof opts !== "object") { throw new TypeError("Options must be an object"); } var value = opts[prop]; if (value !== void 0) { if (type !== "boolean" && type !== "string") { throw new TypeError("invalid type"); } if (type === "boolean") { value = Boolean(value); } if (type === "string") { value = ToString(value); } if (values !== void 0 && !values.filter(function(val) { return val == value; }).length) { throw new RangeError(value + " is not within " + values.join(", ")); } return value; } return fallback; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/BestAvailableLocale.js function BestAvailableLocale(availableLocales, locale) { var candidate = locale; while (true) { if (availableLocales.has(candidate)) { return candidate; } var pos = candidate.lastIndexOf("-"); if (!~pos) { return void 0; } if (pos >= 2 && candidate[pos - 2] === "-") { pos -= 2; } candidate = candidate.slice(0, pos); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/LookupMatcher.js function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) { var result = {locale: ""}; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var locale = requestedLocales_1[_i]; var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale); if (availableLocale) { result.locale = availableLocale; if (locale !== noExtensionLocale) { result.extension = locale.slice(noExtensionLocale.length + 1, locale.length); } return result; } } result.locale = getDefaultLocale(); return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/BestFitMatcher.js function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) { var minimizedAvailableLocaleMap = {}; var minimizedAvailableLocales = new Set(); availableLocales.forEach(function(locale2) { var minimizedLocale = new Intl.Locale(locale2).minimize().toString(); minimizedAvailableLocaleMap[minimizedLocale] = locale2; minimizedAvailableLocales.add(minimizedLocale); }); var foundLocale; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var l = requestedLocales_1[_i]; if (foundLocale) { break; } var noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); if (availableLocales.has(noExtensionLocale)) { foundLocale = noExtensionLocale; break; } if (minimizedAvailableLocales.has(noExtensionLocale)) { foundLocale = minimizedAvailableLocaleMap[noExtensionLocale]; break; } var locale = new Intl.Locale(noExtensionLocale); var maximizedRequestedLocale = locale.maximize().toString(); var minimizedRequestedLocale = locale.minimize().toString(); if (minimizedAvailableLocales.has(minimizedRequestedLocale)) { foundLocale = minimizedAvailableLocaleMap[minimizedRequestedLocale]; break; } foundLocale = BestAvailableLocale(minimizedAvailableLocales, maximizedRequestedLocale); } return { locale: foundLocale || getDefaultLocale() }; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/UnicodeExtensionValue.js function UnicodeExtensionValue(extension, key) { invariant(key.length === 2, "key must have 2 elements"); var size = extension.length; var searchValue = "-" + key + "-"; var pos = extension.indexOf(searchValue); if (pos !== -1) { var start = pos + 4; var end = start; var k = start; var done = false; while (!done) { var e = extension.indexOf("-", k); var len = void 0; if (e === -1) { len = size - k; } else { len = e - k; } if (len === 2) { done = true; } else if (e === -1) { end = size; done = true; } else { end = e; k = e + 1; } } return extension.slice(start, end); } searchValue = "-" + key; pos = extension.indexOf(searchValue); if (pos !== -1 && pos + 3 === size) { return ""; } return void 0; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/ResolveLocale.js function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) { var matcher = options.localeMatcher; var r; if (matcher === "lookup") { r = LookupMatcher(availableLocales, requestedLocales, getDefaultLocale); } else { r = BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale); } var foundLocale = r.locale; var result = {locale: "", dataLocale: foundLocale}; var supportedExtension = "-u"; for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) { var key = relevantExtensionKeys_1[_i]; invariant(foundLocale in localeData, "Missing locale data for " + foundLocale); var foundLocaleData = localeData[foundLocale]; invariant(typeof foundLocaleData === "object" && foundLocaleData !== null, "locale data " + key + " must be an object"); var keyLocaleData = foundLocaleData[key]; invariant(Array.isArray(keyLocaleData), "keyLocaleData for " + key + " must be an array"); var value = keyLocaleData[0]; invariant(typeof value === "string" || value === null, "value must be string or null but got " + typeof value + " in key " + key); var supportedExtensionAddition = ""; if (r.extension) { var requestedValue = UnicodeExtensionValue(r.extension, key); if (requestedValue !== void 0) { if (requestedValue !== "") { if (~keyLocaleData.indexOf(requestedValue)) { value = requestedValue; supportedExtensionAddition = "-" + key + "-" + value; } } else if (~requestedValue.indexOf("true")) { value = "true"; supportedExtensionAddition = "-" + key; } } } if (key in options) { var optionsValue = options[key]; invariant(typeof optionsValue === "string" || typeof optionsValue === "undefined" || optionsValue === null, "optionsValue must be String, Undefined or Null"); if (~keyLocaleData.indexOf(optionsValue)) { if (optionsValue !== value) { value = optionsValue; supportedExtensionAddition = ""; } } } result[key] = value; supportedExtension += supportedExtensionAddition; } if (supportedExtension.length > 2) { var privateIndex = foundLocale.indexOf("-x-"); if (privateIndex === -1) { foundLocale = foundLocale + supportedExtension; } else { var preExtension = foundLocale.slice(0, privateIndex); var postExtension = foundLocale.slice(privateIndex, foundLocale.length); foundLocale = preExtension + supportedExtension + postExtension; } foundLocale = Intl.getCanonicalLocales(foundLocale)[0]; } result.locale = foundLocale; return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DefaultNumberOption.js function DefaultNumberOption(val, min, max, fallback) { if (val !== void 0) { val = Number(val); if (isNaN(val) || val < min || val > max) { throw new RangeError(val + " is outside of range [" + min + ", " + max + "]"); } return Math.floor(val); } return fallback; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/GetNumberOption.js function GetNumberOption(options, property, minimum, maximum, fallback) { var val = options[property]; return DefaultNumberOption(val, minimum, maximum, fallback); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/IsSanctionedSimpleUnitIdentifier.js var SANCTIONED_UNITS = [ "angle-degree", "area-acre", "area-hectare", "concentr-percent", "digital-bit", "digital-byte", "digital-gigabit", "digital-gigabyte", "digital-kilobit", "digital-kilobyte", "digital-megabit", "digital-megabyte", "digital-petabyte", "digital-terabit", "digital-terabyte", "duration-day", "duration-hour", "duration-millisecond", "duration-minute", "duration-month", "duration-second", "duration-week", "duration-year", "length-centimeter", "length-foot", "length-inch", "length-kilometer", "length-meter", "length-mile-scandinavian", "length-mile", "length-millimeter", "length-yard", "mass-gram", "mass-kilogram", "mass-ounce", "mass-pound", "mass-stone", "temperature-celsius", "temperature-fahrenheit", "volume-fluid-ounce", "volume-gallon", "volume-liter", "volume-milliliter" ]; function removeUnitNamespace(unit) { return unit.slice(unit.indexOf("-") + 1); } var SIMPLE_UNITS = SANCTIONED_UNITS.map(removeUnitNamespace); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/ToRawPrecision.js function ToRawPrecision(x, minPrecision, maxPrecision) { var p = maxPrecision; var m; var e; var xFinal; if (x === 0) { m = repeat("0", p); e = 0; xFinal = 0; } else { var xToString = x.toString(); var xToStringExponentIndex = xToString.indexOf("e"); var _a = xToString.split("e"), xToStringMantissa = _a[0], xToStringExponent = _a[1]; var xToStringMantissaWithoutDecimalPoint = xToStringMantissa.replace(".", ""); if (xToStringExponentIndex >= 0 && xToStringMantissaWithoutDecimalPoint.length <= p) { e = +xToStringExponent; m = xToStringMantissaWithoutDecimalPoint + repeat("0", p - xToStringMantissaWithoutDecimalPoint.length); xFinal = x; } else { e = getMagnitude(x); var decimalPlaceOffset = e - p + 1; var n = Math.round(adjustDecimalPlace(x, decimalPlaceOffset)); if (adjustDecimalPlace(n, p - 1) >= 10) { e = e + 1; n = Math.floor(n / 10); } m = n.toString(); xFinal = adjustDecimalPlace(n, p - 1 - e); } } var int; if (e >= p - 1) { m = m + repeat("0", e - p + 1); int = e + 1; } else if (e >= 0) { m = m.slice(0, e + 1) + "." + m.slice(e + 1); int = e + 1; } else { m = "0." + repeat("0", -e - 1) + m; int = 1; } if (m.indexOf(".") >= 0 && maxPrecision > minPrecision) { var cut = maxPrecision - minPrecision; while (cut > 0 && m[m.length - 1] === "0") { m = m.slice(0, -1); cut--; } if (m[m.length - 1] === ".") { m = m.slice(0, -1); } } return {formattedString: m, roundedNumber: xFinal, integerDigitsCount: int}; function adjustDecimalPlace(x2, magnitude) { return magnitude < 0 ? x2 * Math.pow(10, -magnitude) : x2 / Math.pow(10, magnitude); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/ToRawFixed.js function ToRawFixed(x, minFraction, maxFraction) { var f = maxFraction; var n = Math.round(x * Math.pow(10, f)); var xFinal = n / Math.pow(10, f); var m; if (n < 1e21) { m = n.toString(); } else { m = n.toString(); var _a = m.split("e"), mantissa = _a[0], exponent = _a[1]; m = mantissa.replace(".", ""); m = m + repeat("0", Math.max(+exponent - m.length + 1, 0)); } var int; if (f !== 0) { var k = m.length; if (k <= f) { var z = repeat("0", f + 1 - k); m = z + m; k = f + 1; } var a = m.slice(0, k - f); var b = m.slice(k - f); m = a + "." + b; int = a.length; } else { int = m.length; } var cut = maxFraction - minFraction; while (cut > 0 && m[m.length - 1] === "0") { m = m.slice(0, -1); cut--; } if (m[m.length - 1] === ".") { m = m.slice(0, -1); } return {formattedString: m, roundedNumber: xFinal, integerDigitsCount: int}; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/FormatNumericToString.js function FormatNumericToString(intlObject, x) { var isNegative = x < 0 || SameValue(x, -0); if (isNegative) { x = -x; } var result; var rourndingType = intlObject.roundingType; switch (rourndingType) { case "significantDigits": result = ToRawPrecision(x, intlObject.minimumSignificantDigits, intlObject.maximumSignificantDigits); break; case "fractionDigits": result = ToRawFixed(x, intlObject.minimumFractionDigits, intlObject.maximumFractionDigits); break; default: result = ToRawPrecision(x, 1, 2); if (result.integerDigitsCount > 1) { result = ToRawFixed(x, 0, 0); } break; } x = result.roundedNumber; var string = result.formattedString; var int = result.integerDigitsCount; var minInteger = intlObject.minimumIntegerDigits; if (int < minInteger) { var forwardZeros = repeat("0", minInteger - int); string = forwardZeros + string; } if (isNegative) { x = -x; } return {roundedNumber: x, formattedString: string}; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/regex.generated.js var S_UNICODE_REGEX = /[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEE0-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDD78\uDD7A-\uDDCB\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6\uDF00-\uDF92\uDF94-\uDFCA]/; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/format_to_parts.js var CARET_S_UNICODE_REGEX = new RegExp("^" + S_UNICODE_REGEX.source); var S_DOLLAR_UNICODE_REGEX = new RegExp(S_UNICODE_REGEX.source + "$"); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/SetNumberFormatDigitOptions.js function SetNumberFormatDigitOptions(internalSlots, opts, mnfdDefault, mxfdDefault, notation) { var mnid = GetNumberOption(opts, "minimumIntegerDigits", 1, 21, 1); var mnfd = opts.minimumFractionDigits; var mxfd = opts.maximumFractionDigits; var mnsd = opts.minimumSignificantDigits; var mxsd = opts.maximumSignificantDigits; internalSlots.minimumIntegerDigits = mnid; if (mnsd !== void 0 || mxsd !== void 0) { internalSlots.roundingType = "significantDigits"; mnsd = DefaultNumberOption(mnsd, 1, 21, 1); mxsd = DefaultNumberOption(mxsd, mnsd, 21, 21); internalSlots.minimumSignificantDigits = mnsd; internalSlots.maximumSignificantDigits = mxsd; } else if (mnfd !== void 0 || mxfd !== void 0) { internalSlots.roundingType = "fractionDigits"; mnfd = DefaultNumberOption(mnfd, 0, 20, mnfdDefault); var mxfdActualDefault = Math.max(mnfd, mxfdDefault); mxfd = DefaultNumberOption(mxfd, mnfd, 20, mxfdActualDefault); internalSlots.minimumFractionDigits = mnfd; internalSlots.maximumFractionDigits = mxfd; } else if (notation === "compact") { internalSlots.roundingType = "compactRounding"; } else { internalSlots.roundingType = "fractionDigits"; internalSlots.minimumFractionDigits = mnfdDefault; internalSlots.maximumFractionDigits = mxfdDefault; } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/PluralRules/GetOperands.js function GetOperands(s) { invariant(typeof s === "string", "GetOperands should have been called with a string"); var n = ToNumber(s); invariant(isFinite(n), "n should be finite"); var dp = s.indexOf("."); var iv; var f; var v; var fv = ""; if (dp === -1) { iv = n; f = 0; v = 0; } else { iv = s.slice(0, dp); fv = s.slice(dp, s.length); f = ToNumber(fv); v = fv.length; } var i = Math.abs(ToNumber(iv)); var w; var t; if (f !== 0) { var ft = fv.replace(/0+$/, ""); w = ft.length; t = ToNumber(ft); } else { w = 0; t = 0; } return { Number: n, IntegerDigits: i, NumberOfFractionDigits: v, NumberOfFractionDigitsWithoutTrailing: w, FractionDigits: f, FractionDigitsWithoutTrailing: t }; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/PluralRules/InitializePluralRules.js function InitializePluralRules(pl, locales, options, _a) { var availableLocales = _a.availableLocales, relevantExtensionKeys = _a.relevantExtensionKeys, localeData = _a.localeData, getDefaultLocale = _a.getDefaultLocale, getInternalSlots2 = _a.getInternalSlots; var requestedLocales = CanonicalizeLocaleList(locales); var opt = Object.create(null); var opts = CoerceOptionsToObject(options); var internalSlots = getInternalSlots2(pl); internalSlots.initializedPluralRules = true; var matcher = GetOption(opts, "localeMatcher", "string", ["best fit", "lookup"], "best fit"); opt.localeMatcher = matcher; internalSlots.type = GetOption(opts, "type", "string", ["cardinal", "ordinal"], "cardinal"); SetNumberFormatDigitOptions(internalSlots, opts, 0, 3, "standard"); var r = ResolveLocale(availableLocales, requestedLocales, opt, relevantExtensionKeys, localeData, getDefaultLocale); internalSlots.locale = r.locale; return pl; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/PluralRules/ResolvePlural.js function ResolvePlural(pl, n, _a) { var getInternalSlots2 = _a.getInternalSlots, PluralRuleSelect2 = _a.PluralRuleSelect; var internalSlots = getInternalSlots2(pl); invariant(Type(internalSlots) === "Object", "pl has to be an object"); invariant("initializedPluralRules" in internalSlots, "pluralrules must be initialized"); invariant(Type(n) === "Number", "n must be a number"); if (!isFinite(n)) { return "other"; } var locale = internalSlots.locale, type = internalSlots.type; var res = FormatNumericToString(internalSlots, n); var s = res.formattedString; var operands = GetOperands(s); return PluralRuleSelect2(locale, type, n, operands); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/LookupSupportedLocales.js function LookupSupportedLocales(availableLocales, requestedLocales) { var subset = []; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var locale = requestedLocales_1[_i]; var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale); if (availableLocale) { subset.push(availableLocale); } } return subset; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/SupportedLocales.js function SupportedLocales(availableLocales, requestedLocales, options) { var matcher = "best fit"; if (options !== void 0) { options = ToObject(options); matcher = GetOption(options, "localeMatcher", "string", ["lookup", "best fit"], "best fit"); } if (matcher === "best fit") { return LookupSupportedLocales(availableLocales, requestedLocales); } return LookupSupportedLocales(availableLocales, requestedLocales); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/data.js var MissingLocaleDataError = function(_super) { __extends(MissingLocaleDataError2, _super); function MissingLocaleDataError2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = "MISSING_LOCALE_DATA"; return _this; } return MissingLocaleDataError2; }(Error); // bazel-out/darwin-fastbuild/bin/packages/intl-pluralrules/lib/get_internal_slots.js var internalSlotMap = new WeakMap(); function getInternalSlots(x) { var internalSlots = internalSlotMap.get(x); if (!internalSlots) { internalSlots = Object.create(null); internalSlotMap.set(x, internalSlots); } return internalSlots; } // bazel-out/darwin-fastbuild/bin/packages/intl-pluralrules/lib/index.js function validateInstance(instance, method) { if (!(instance instanceof PluralRules)) { throw new TypeError("Method Intl.PluralRules.prototype." + method + " called on incompatible receiver " + String(instance)); } } function PluralRuleSelect(locale, type, _n, _a) { var IntegerDigits = _a.IntegerDigits, NumberOfFractionDigits = _a.NumberOfFractionDigits, FractionDigits = _a.FractionDigits; return PluralRules.localeData[locale].fn(NumberOfFractionDigits ? IntegerDigits + "." + FractionDigits : IntegerDigits, type === "ordinal"); } var PluralRules = function() { function PluralRules2(locales, options) { var newTarget = this && this instanceof PluralRules2 ? this.constructor : void 0; if (!newTarget) { throw new TypeError("Intl.PluralRules must be called with 'new'"); } return InitializePluralRules(this, locales, options, { availableLocales: PluralRules2.availableLocales, relevantExtensionKeys: PluralRules2.relevantExtensionKeys, localeData: PluralRules2.localeData, getDefaultLocale: PluralRules2.getDefaultLocale, getInternalSlots: getInternalSlots }); } PluralRules2.prototype.resolvedOptions = function() { validateInstance(this, "resolvedOptions"); var opts = Object.create(null); var internalSlots = getInternalSlots(this); opts.locale = internalSlots.locale; opts.type = internalSlots.type; [ "minimumIntegerDigits", "minimumFractionDigits", "maximumFractionDigits", "minimumSignificantDigits", "maximumSignificantDigits" ].forEach(function(field) { var val = internalSlots[field]; if (val !== void 0) { opts[field] = val; } }); opts.pluralCategories = __spreadArray([], PluralRules2.localeData[opts.locale].categories[opts.type]); return opts; }; PluralRules2.prototype.select = function(val) { var pr = this; validateInstance(pr, "select"); var n = ToNumber(val); return ResolvePlural(pr, n, {getInternalSlots: getInternalSlots, PluralRuleSelect: PluralRuleSelect}); }; PluralRules2.prototype.toString = function() { return "[object Intl.PluralRules]"; }; PluralRules2.supportedLocalesOf = function(locales, options) { return SupportedLocales(PluralRules2.availableLocales, CanonicalizeLocaleList(locales), options); }; PluralRules2.__addLocaleData = function() { var data = []; for (var _i = 0; _i < arguments.length; _i++) { data[_i] = arguments[_i]; } for (var _a = 0, data_1 = data; _a < data_1.length; _a++) { var _b = data_1[_a], d = _b.data, locale = _b.locale; PluralRules2.localeData[locale] = d; PluralRules2.availableLocales.add(locale); if (!PluralRules2.__defaultLocale) { PluralRules2.__defaultLocale = locale; } } }; PluralRules2.getDefaultLocale = function() { return PluralRules2.__defaultLocale; }; PluralRules2.localeData = {}; PluralRules2.availableLocales = new Set(); PluralRules2.__defaultLocale = ""; PluralRules2.relevantExtensionKeys = []; PluralRules2.polyfilled = true; return PluralRules2; }(); try { if (typeof Symbol !== "undefined") { Object.defineProperty(PluralRules.prototype, Symbol.toStringTag, { value: "Intl.PluralRules", writable: false, enumerable: false, configurable: true }); } try { Object.defineProperty(PluralRules, "length", { value: 0, writable: false, enumerable: false, configurable: true }); } catch (error) { } Object.defineProperty(PluralRules.prototype.constructor, "length", { value: 0, writable: false, enumerable: false, configurable: true }); Object.defineProperty(PluralRules.supportedLocalesOf, "length", { value: 1, writable: false, enumerable: false, configurable: true }); } catch (ex) { } // bazel-out/darwin-fastbuild/bin/packages/intl-pluralrules/lib/should-polyfill.js function shouldPolyfill() { return typeof Intl === "undefined" || !("PluralRules" in Intl) || new Intl.PluralRules("en", {minimumFractionDigits: 2}).select(1) === "one"; } // bazel-out/darwin-fastbuild/bin/packages/intl-pluralrules/lib/polyfill.js if (shouldPolyfill()) { Object.defineProperty(Intl, "PluralRules", { value: PluralRules, writable: true, enumerable: false, configurable: true }); } })(); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ } if (!("Intl"in self&&"NumberFormat"in self.Intl&&function(){try{new Intl.NumberFormat(void 0,{style:"unit",unit:"byte"})}catch(t){return!1}return!0}() )) { // Intl.NumberFormat (function() { var __defProp = Object.defineProperty; var __export = function(target, all) { for (var name in all) __defProp(target, name, {get: all[name], enumerable: true}); }; // node_modules/tslib/tslib.es6.js var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || {__proto__: []} instanceof Array && function(d2, b2) { d2.__proto__ = b2; } || function(d2, b2) { for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; }; return extendStatics(d, b); }; function __extends(d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/utils.js function getMagnitude(x) { return Math.floor(Math.log(x) * Math.LOG10E); } function repeat(s, times) { if (typeof s.repeat === "function") { return s.repeat(times); } var arr = new Array(times); for (var i = 0; i < arr.length; i++) { arr[i] = s; } return arr.join(""); } function defineProperty(target, name, _a) { var value = _a.value; Object.defineProperty(target, name, { configurable: true, enumerable: false, writable: true, value: value }); } var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi; function invariant(condition, message, Err) { if (Err === void 0) { Err = Error; } if (!condition) { throw new Err(message); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/types/date-time.js var RangePatternType; (function(RangePatternType2) { RangePatternType2["startRange"] = "startRange"; RangePatternType2["shared"] = "shared"; RangePatternType2["endRange"] = "endRange"; })(RangePatternType || (RangePatternType = {})); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/CanonicalizeLocaleList.js function CanonicalizeLocaleList(locales) { return Intl.getCanonicalLocales(locales); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/262.js function ToString(o) { if (typeof o === "symbol") { throw TypeError("Cannot convert a Symbol value to a string"); } return String(o); } function ToNumber(val) { if (val === void 0) { return NaN; } if (val === null) { return 0; } if (typeof val === "boolean") { return val ? 1 : 0; } if (typeof val === "number") { return val; } if (typeof val === "symbol" || typeof val === "bigint") { throw new TypeError("Cannot convert symbol/bigint to number"); } return Number(val); } function ToObject(arg) { if (arg == null) { throw new TypeError("undefined/null cannot be converted to object"); } return Object(arg); } function SameValue(x, y) { if (Object.is) { return Object.is(x, y); } if (x === y) { return x !== 0 || 1 / x === 1 / y; } return x !== x && y !== y; } function ArrayCreate(len) { return new Array(len); } function HasOwnProperty(o, prop) { return Object.prototype.hasOwnProperty.call(o, prop); } var MINUTES_PER_HOUR = 60; var SECONDS_PER_MINUTE = 60; var MS_PER_SECOND = 1e3; var MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE; var MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR; function IsCallable(fn) { return typeof fn === "function"; } function OrdinaryHasInstance(C, O, internalSlots) { if (!IsCallable(C)) { return false; } if (internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction) { var BC = internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction; return O instanceof BC; } if (typeof O !== "object") { return false; } var P = C.prototype; if (typeof P !== "object") { throw new TypeError("OrdinaryHasInstance called on an object with an invalid prototype property."); } return Object.prototype.isPrototypeOf.call(P, O); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/CoerceOptionsToObject.js function CoerceOptionsToObject(options) { if (typeof options === "undefined") { return Object.create(null); } return ToObject(options); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/GetOption.js function GetOption(opts, prop, type, values, fallback) { if (typeof opts !== "object") { throw new TypeError("Options must be an object"); } var value = opts[prop]; if (value !== void 0) { if (type !== "boolean" && type !== "string") { throw new TypeError("invalid type"); } if (type === "boolean") { value = Boolean(value); } if (type === "string") { value = ToString(value); } if (values !== void 0 && !values.filter(function(val) { return val == value; }).length) { throw new RangeError(value + " is not within " + values.join(", ")); } return value; } return fallback; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/BestAvailableLocale.js function BestAvailableLocale(availableLocales, locale) { var candidate = locale; while (true) { if (availableLocales.has(candidate)) { return candidate; } var pos = candidate.lastIndexOf("-"); if (!~pos) { return void 0; } if (pos >= 2 && candidate[pos - 2] === "-") { pos -= 2; } candidate = candidate.slice(0, pos); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/LookupMatcher.js function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) { var result = {locale: ""}; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var locale = requestedLocales_1[_i]; var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale); if (availableLocale) { result.locale = availableLocale; if (locale !== noExtensionLocale) { result.extension = locale.slice(noExtensionLocale.length + 1, locale.length); } return result; } } result.locale = getDefaultLocale(); return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/BestFitMatcher.js function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) { var minimizedAvailableLocaleMap = {}; var minimizedAvailableLocales = new Set(); availableLocales.forEach(function(locale2) { var minimizedLocale = new Intl.Locale(locale2).minimize().toString(); minimizedAvailableLocaleMap[minimizedLocale] = locale2; minimizedAvailableLocales.add(minimizedLocale); }); var foundLocale; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var l = requestedLocales_1[_i]; if (foundLocale) { break; } var noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); if (availableLocales.has(noExtensionLocale)) { foundLocale = noExtensionLocale; break; } if (minimizedAvailableLocales.has(noExtensionLocale)) { foundLocale = minimizedAvailableLocaleMap[noExtensionLocale]; break; } var locale = new Intl.Locale(noExtensionLocale); var maximizedRequestedLocale = locale.maximize().toString(); var minimizedRequestedLocale = locale.minimize().toString(); if (minimizedAvailableLocales.has(minimizedRequestedLocale)) { foundLocale = minimizedAvailableLocaleMap[minimizedRequestedLocale]; break; } foundLocale = BestAvailableLocale(minimizedAvailableLocales, maximizedRequestedLocale); } return { locale: foundLocale || getDefaultLocale() }; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/UnicodeExtensionValue.js function UnicodeExtensionValue(extension, key) { invariant(key.length === 2, "key must have 2 elements"); var size = extension.length; var searchValue = "-" + key + "-"; var pos = extension.indexOf(searchValue); if (pos !== -1) { var start = pos + 4; var end = start; var k = start; var done = false; while (!done) { var e = extension.indexOf("-", k); var len = void 0; if (e === -1) { len = size - k; } else { len = e - k; } if (len === 2) { done = true; } else if (e === -1) { end = size; done = true; } else { end = e; k = e + 1; } } return extension.slice(start, end); } searchValue = "-" + key; pos = extension.indexOf(searchValue); if (pos !== -1 && pos + 3 === size) { return ""; } return void 0; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/ResolveLocale.js function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) { var matcher = options.localeMatcher; var r; if (matcher === "lookup") { r = LookupMatcher(availableLocales, requestedLocales, getDefaultLocale); } else { r = BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale); } var foundLocale = r.locale; var result = {locale: "", dataLocale: foundLocale}; var supportedExtension = "-u"; for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) { var key = relevantExtensionKeys_1[_i]; invariant(foundLocale in localeData, "Missing locale data for " + foundLocale); var foundLocaleData = localeData[foundLocale]; invariant(typeof foundLocaleData === "object" && foundLocaleData !== null, "locale data " + key + " must be an object"); var keyLocaleData = foundLocaleData[key]; invariant(Array.isArray(keyLocaleData), "keyLocaleData for " + key + " must be an array"); var value = keyLocaleData[0]; invariant(typeof value === "string" || value === null, "value must be string or null but got " + typeof value + " in key " + key); var supportedExtensionAddition = ""; if (r.extension) { var requestedValue = UnicodeExtensionValue(r.extension, key); if (requestedValue !== void 0) { if (requestedValue !== "") { if (~keyLocaleData.indexOf(requestedValue)) { value = requestedValue; supportedExtensionAddition = "-" + key + "-" + value; } } else if (~requestedValue.indexOf("true")) { value = "true"; supportedExtensionAddition = "-" + key; } } } if (key in options) { var optionsValue = options[key]; invariant(typeof optionsValue === "string" || typeof optionsValue === "undefined" || optionsValue === null, "optionsValue must be String, Undefined or Null"); if (~keyLocaleData.indexOf(optionsValue)) { if (optionsValue !== value) { value = optionsValue; supportedExtensionAddition = ""; } } } result[key] = value; supportedExtension += supportedExtensionAddition; } if (supportedExtension.length > 2) { var privateIndex = foundLocale.indexOf("-x-"); if (privateIndex === -1) { foundLocale = foundLocale + supportedExtension; } else { var preExtension = foundLocale.slice(0, privateIndex); var postExtension = foundLocale.slice(privateIndex, foundLocale.length); foundLocale = preExtension + supportedExtension + postExtension; } foundLocale = Intl.getCanonicalLocales(foundLocale)[0]; } result.locale = foundLocale; return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DefaultNumberOption.js function DefaultNumberOption(val, min, max, fallback) { if (val !== void 0) { val = Number(val); if (isNaN(val) || val < min || val > max) { throw new RangeError(val + " is outside of range [" + min + ", " + max + "]"); } return Math.floor(val); } return fallback; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/GetNumberOption.js function GetNumberOption(options, property, minimum, maximum, fallback) { var val = options[property]; return DefaultNumberOption(val, minimum, maximum, fallback); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/IsWellFormedCurrencyCode.js function toUpperCase(str) { return str.replace(/([a-z])/g, function(_, c) { return c.toUpperCase(); }); } var NOT_A_Z_REGEX = /[^A-Z]/; function IsWellFormedCurrencyCode(currency) { currency = toUpperCase(currency); if (currency.length !== 3) { return false; } if (NOT_A_Z_REGEX.test(currency)) { return false; } return true; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/IsSanctionedSimpleUnitIdentifier.js var SANCTIONED_UNITS = [ "angle-degree", "area-acre", "area-hectare", "concentr-percent", "digital-bit", "digital-byte", "digital-gigabit", "digital-gigabyte", "digital-kilobit", "digital-kilobyte", "digital-megabit", "digital-megabyte", "digital-petabyte", "digital-terabit", "digital-terabyte", "duration-day", "duration-hour", "duration-millisecond", "duration-minute", "duration-month", "duration-second", "duration-week", "duration-year", "length-centimeter", "length-foot", "length-inch", "length-kilometer", "length-meter", "length-mile-scandinavian", "length-mile", "length-millimeter", "length-yard", "mass-gram", "mass-kilogram", "mass-ounce", "mass-pound", "mass-stone", "temperature-celsius", "temperature-fahrenheit", "volume-fluid-ounce", "volume-gallon", "volume-liter", "volume-milliliter" ]; function removeUnitNamespace(unit) { return unit.slice(unit.indexOf("-") + 1); } var SIMPLE_UNITS = SANCTIONED_UNITS.map(removeUnitNamespace); function IsSanctionedSimpleUnitIdentifier(unitIdentifier) { return SIMPLE_UNITS.indexOf(unitIdentifier) > -1; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/IsWellFormedUnitIdentifier.js function toLowerCase(str) { return str.replace(/([A-Z])/g, function(_, c) { return c.toLowerCase(); }); } function IsWellFormedUnitIdentifier(unit) { unit = toLowerCase(unit); if (IsSanctionedSimpleUnitIdentifier(unit)) { return true; } var units = unit.split("-per-"); if (units.length !== 2) { return false; } var numerator = units[0], denominator = units[1]; if (!IsSanctionedSimpleUnitIdentifier(numerator) || !IsSanctionedSimpleUnitIdentifier(denominator)) { return false; } return true; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/ComputeExponentForMagnitude.js function ComputeExponentForMagnitude(numberFormat, magnitude, _a) { var getInternalSlots2 = _a.getInternalSlots; var internalSlots = getInternalSlots2(numberFormat); var notation = internalSlots.notation, dataLocaleData = internalSlots.dataLocaleData, numberingSystem = internalSlots.numberingSystem; switch (notation) { case "standard": return 0; case "scientific": return magnitude; case "engineering": return Math.floor(magnitude / 3) * 3; default: { var compactDisplay = internalSlots.compactDisplay, style = internalSlots.style, currencyDisplay = internalSlots.currencyDisplay; var thresholdMap = void 0; if (style === "currency" && currencyDisplay !== "name") { var currency = dataLocaleData.numbers.currency[numberingSystem] || dataLocaleData.numbers.currency[dataLocaleData.numbers.nu[0]]; thresholdMap = currency.short; } else { var decimal = dataLocaleData.numbers.decimal[numberingSystem] || dataLocaleData.numbers.decimal[dataLocaleData.numbers.nu[0]]; thresholdMap = compactDisplay === "long" ? decimal.long : decimal.short; } if (!thresholdMap) { return 0; } var num = String(Math.pow(10, magnitude)); var thresholds = Object.keys(thresholdMap); if (num < thresholds[0]) { return 0; } if (num > thresholds[thresholds.length - 1]) { return thresholds[thresholds.length - 1].length - 1; } var i = thresholds.indexOf(num); if (i === -1) { return 0; } var magnitudeKey = thresholds[i]; var compactPattern = thresholdMap[magnitudeKey].other; if (compactPattern === "0") { return 0; } return magnitudeKey.length - thresholdMap[magnitudeKey].other.match(/0+/)[0].length; } } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/ToRawPrecision.js function ToRawPrecision(x, minPrecision, maxPrecision) { var p = maxPrecision; var m; var e; var xFinal; if (x === 0) { m = repeat("0", p); e = 0; xFinal = 0; } else { var xToString = x.toString(); var xToStringExponentIndex = xToString.indexOf("e"); var _a = xToString.split("e"), xToStringMantissa = _a[0], xToStringExponent = _a[1]; var xToStringMantissaWithoutDecimalPoint = xToStringMantissa.replace(".", ""); if (xToStringExponentIndex >= 0 && xToStringMantissaWithoutDecimalPoint.length <= p) { e = +xToStringExponent; m = xToStringMantissaWithoutDecimalPoint + repeat("0", p - xToStringMantissaWithoutDecimalPoint.length); xFinal = x; } else { e = getMagnitude(x); var decimalPlaceOffset = e - p + 1; var n = Math.round(adjustDecimalPlace(x, decimalPlaceOffset)); if (adjustDecimalPlace(n, p - 1) >= 10) { e = e + 1; n = Math.floor(n / 10); } m = n.toString(); xFinal = adjustDecimalPlace(n, p - 1 - e); } } var int; if (e >= p - 1) { m = m + repeat("0", e - p + 1); int = e + 1; } else if (e >= 0) { m = m.slice(0, e + 1) + "." + m.slice(e + 1); int = e + 1; } else { m = "0." + repeat("0", -e - 1) + m; int = 1; } if (m.indexOf(".") >= 0 && maxPrecision > minPrecision) { var cut = maxPrecision - minPrecision; while (cut > 0 && m[m.length - 1] === "0") { m = m.slice(0, -1); cut--; } if (m[m.length - 1] === ".") { m = m.slice(0, -1); } } return {formattedString: m, roundedNumber: xFinal, integerDigitsCount: int}; function adjustDecimalPlace(x2, magnitude) { return magnitude < 0 ? x2 * Math.pow(10, -magnitude) : x2 / Math.pow(10, magnitude); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/ToRawFixed.js function ToRawFixed(x, minFraction, maxFraction) { var f = maxFraction; var n = Math.round(x * Math.pow(10, f)); var xFinal = n / Math.pow(10, f); var m; if (n < 1e21) { m = n.toString(); } else { m = n.toString(); var _a = m.split("e"), mantissa = _a[0], exponent = _a[1]; m = mantissa.replace(".", ""); m = m + repeat("0", Math.max(+exponent - m.length + 1, 0)); } var int; if (f !== 0) { var k = m.length; if (k <= f) { var z = repeat("0", f + 1 - k); m = z + m; k = f + 1; } var a = m.slice(0, k - f); var b = m.slice(k - f); m = a + "." + b; int = a.length; } else { int = m.length; } var cut = maxFraction - minFraction; while (cut > 0 && m[m.length - 1] === "0") { m = m.slice(0, -1); cut--; } if (m[m.length - 1] === ".") { m = m.slice(0, -1); } return {formattedString: m, roundedNumber: xFinal, integerDigitsCount: int}; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/FormatNumericToString.js function FormatNumericToString(intlObject, x) { var isNegative = x < 0 || SameValue(x, -0); if (isNegative) { x = -x; } var result; var rourndingType = intlObject.roundingType; switch (rourndingType) { case "significantDigits": result = ToRawPrecision(x, intlObject.minimumSignificantDigits, intlObject.maximumSignificantDigits); break; case "fractionDigits": result = ToRawFixed(x, intlObject.minimumFractionDigits, intlObject.maximumFractionDigits); break; default: result = ToRawPrecision(x, 1, 2); if (result.integerDigitsCount > 1) { result = ToRawFixed(x, 0, 0); } break; } x = result.roundedNumber; var string = result.formattedString; var int = result.integerDigitsCount; var minInteger = intlObject.minimumIntegerDigits; if (int < minInteger) { var forwardZeros = repeat("0", minInteger - int); string = forwardZeros + string; } if (isNegative) { x = -x; } return {roundedNumber: x, formattedString: string}; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/ComputeExponent.js function ComputeExponent(numberFormat, x, _a) { var getInternalSlots2 = _a.getInternalSlots; if (x === 0) { return [0, 0]; } if (x < 0) { x = -x; } var magnitude = getMagnitude(x); var exponent = ComputeExponentForMagnitude(numberFormat, magnitude, { getInternalSlots: getInternalSlots2 }); x = exponent < 0 ? x * Math.pow(10, -exponent) : x / Math.pow(10, exponent); var formatNumberResult = FormatNumericToString(getInternalSlots2(numberFormat), x); if (formatNumberResult.roundedNumber === 0) { return [exponent, magnitude]; } var newMagnitude = getMagnitude(formatNumberResult.roundedNumber); if (newMagnitude === magnitude - exponent) { return [exponent, magnitude]; } return [ ComputeExponentForMagnitude(numberFormat, magnitude + 1, { getInternalSlots: getInternalSlots2 }), magnitude + 1 ]; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/CurrencyDigits.js function CurrencyDigits(c, _a) { var currencyDigitsData = _a.currencyDigitsData; return HasOwnProperty(currencyDigitsData, c) ? currencyDigitsData[c] : 2; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/digit-mapping.json var digit_mapping_exports = {}; __export(digit_mapping_exports, { adlm: function() { return adlm; }, ahom: function() { return ahom; }, arab: function() { return arab; }, arabext: function() { return arabext; }, bali: function() { return bali; }, beng: function() { return beng; }, bhks: function() { return bhks; }, brah: function() { return brah; }, cakm: function() { return cakm; }, cham: function() { return cham; }, default: function() { return digit_mapping_default; }, deva: function() { return deva; }, diak: function() { return diak; }, fullwide: function() { return fullwide; }, gong: function() { return gong; }, gonm: function() { return gonm; }, gujr: function() { return gujr; }, guru: function() { return guru; }, hanidec: function() { return hanidec; }, hmng: function() { return hmng; }, hmnp: function() { return hmnp; }, java: function() { return java; }, kali: function() { return kali; }, khmr: function() { return khmr; }, knda: function() { return knda; }, lana: function() { return lana; }, lanatham: function() { return lanatham; }, laoo: function() { return laoo; }, lepc: function() { return lepc; }, limb: function() { return limb; }, mathbold: function() { return mathbold; }, mathdbl: function() { return mathdbl; }, mathmono: function() { return mathmono; }, mathsanb: function() { return mathsanb; }, mathsans: function() { return mathsans; }, mlym: function() { return mlym; }, modi: function() { return modi; }, mong: function() { return mong; }, mroo: function() { return mroo; }, mtei: function() { return mtei; }, mymr: function() { return mymr; }, mymrshan: function() { return mymrshan; }, mymrtlng: function() { return mymrtlng; }, newa: function() { return newa; }, nkoo: function() { return nkoo; }, olck: function() { return olck; }, orya: function() { return orya; }, osma: function() { return osma; }, rohg: function() { return rohg; }, saur: function() { return saur; }, segment: function() { return segment; }, shrd: function() { return shrd; }, sind: function() { return sind; }, sinh: function() { return sinh; }, sora: function() { return sora; }, sund: function() { return sund; }, takr: function() { return takr; }, talu: function() { return talu; }, tamldec: function() { return tamldec; }, telu: function() { return telu; }, thai: function() { return thai; }, tibt: function() { return tibt; }, tirh: function() { return tirh; }, vaii: function() { return vaii; }, wara: function() { return wara; }, wcho: function() { return wcho; } }); var adlm = ["\uD83A\uDD50", "\uD83A\uDD51", "\uD83A\uDD52", "\uD83A\uDD53", "\uD83A\uDD54", "\uD83A\uDD55", "\uD83A\uDD56", "\uD83A\uDD57", "\uD83A\uDD58", "\uD83A\uDD59"]; var ahom = ["\uD805\uDF30", "\uD805\uDF31", "\uD805\uDF32", "\uD805\uDF33", "\uD805\uDF34", "\uD805\uDF35", "\uD805\uDF36", "\uD805\uDF37", "\uD805\uDF38", "\uD805\uDF39"]; var arab = ["\u0660", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"]; var arabext = ["\u06F0", "\u06F1", "\u06F2", "\u06F3", "\u06F4", "\u06F5", "\u06F6", "\u06F7", "\u06F8", "\u06F9"]; var bali = ["\u1B50", "\u1B51", "\u1B52", "\u1B53", "\u1B54", "\u1B55", "\u1B56", "\u1B57", "\u1B58", "\u1B59"]; var beng = ["\u09E6", "\u09E7", "\u09E8", "\u09E9", "\u09EA", "\u09EB", "\u09EC", "\u09ED", "\u09EE", "\u09EF"]; var bhks = ["\uD807\uDC50", "\uD807\uDC51", "\uD807\uDC52", "\uD807\uDC53", "\uD807\uDC54", "\uD807\uDC55", "\uD807\uDC56", "\uD807\uDC57", "\uD807\uDC58", "\uD807\uDC59"]; var brah = ["\uD804\uDC66", "\uD804\uDC67", "\uD804\uDC68", "\uD804\uDC69", "\uD804\uDC6A", "\uD804\uDC6B", "\uD804\uDC6C", "\uD804\uDC6D", "\uD804\uDC6E", "\uD804\uDC6F"]; var cakm = ["\uD804\uDD36", "\uD804\uDD37", "\uD804\uDD38", "\uD804\uDD39", "\uD804\uDD3A", "\uD804\uDD3B", "\uD804\uDD3C", "\uD804\uDD3D", "\uD804\uDD3E", "\uD804\uDD3F"]; var cham = ["\uAA50", "\uAA51", "\uAA52", "\uAA53", "\uAA54", "\uAA55", "\uAA56", "\uAA57", "\uAA58", "\uAA59"]; var deva = ["\u0966", "\u0967", "\u0968", "\u0969", "\u096A", "\u096B", "\u096C", "\u096D", "\u096E", "\u096F"]; var diak = ["\uD806\uDD50", "\uD806\uDD51", "\uD806\uDD52", "\uD806\uDD53", "\uD806\uDD54", "\uD806\uDD55", "\uD806\uDD56", "\uD806\uDD57", "\uD806\uDD58", "\uD806\uDD59"]; var fullwide = ["\uFF10", "\uFF11", "\uFF12", "\uFF13", "\uFF14", "\uFF15", "\uFF16", "\uFF17", "\uFF18", "\uFF19"]; var gong = ["\uD807\uDDA0", "\uD807\uDDA1", "\uD807\uDDA2", "\uD807\uDDA3", "\uD807\uDDA4", "\uD807\uDDA5", "\uD807\uDDA6", "\uD807\uDDA7", "\uD807\uDDA8", "\uD807\uDDA9"]; var gonm = ["\uD807\uDD50", "\uD807\uDD51", "\uD807\uDD52", "\uD807\uDD53", "\uD807\uDD54", "\uD807\uDD55", "\uD807\uDD56", "\uD807\uDD57", "\uD807\uDD58", "\uD807\uDD59"]; var gujr = ["\u0AE6", "\u0AE7", "\u0AE8", "\u0AE9", "\u0AEA", "\u0AEB", "\u0AEC", "\u0AED", "\u0AEE", "\u0AEF"]; var guru = ["\u0A66", "\u0A67", "\u0A68", "\u0A69", "\u0A6A", "\u0A6B", "\u0A6C", "\u0A6D", "\u0A6E", "\u0A6F"]; var hanidec = ["\u3007", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D", "\u4E03", "\u516B", "\u4E5D"]; var hmng = ["\uD81A\uDF50", "\uD81A\uDF51", "\uD81A\uDF52", "\uD81A\uDF53", "\uD81A\uDF54", "\uD81A\uDF55", "\uD81A\uDF56", "\uD81A\uDF57", "\uD81A\uDF58", "\uD81A\uDF59"]; var hmnp = ["\uD838\uDD40", "\uD838\uDD41", "\uD838\uDD42", "\uD838\uDD43", "\uD838\uDD44", "\uD838\uDD45", "\uD838\uDD46", "\uD838\uDD47", "\uD838\uDD48", "\uD838\uDD49"]; var java = ["\uA9D0", "\uA9D1", "\uA9D2", "\uA9D3", "\uA9D4", "\uA9D5", "\uA9D6", "\uA9D7", "\uA9D8", "\uA9D9"]; var kali = ["\uA900", "\uA901", "\uA902", "\uA903", "\uA904", "\uA905", "\uA906", "\uA907", "\uA908", "\uA909"]; var khmr = ["\u17E0", "\u17E1", "\u17E2", "\u17E3", "\u17E4", "\u17E5", "\u17E6", "\u17E7", "\u17E8", "\u17E9"]; var knda = ["\u0CE6", "\u0CE7", "\u0CE8", "\u0CE9", "\u0CEA", "\u0CEB", "\u0CEC", "\u0CED", "\u0CEE", "\u0CEF"]; var lana = ["\u1A80", "\u1A81", "\u1A82", "\u1A83", "\u1A84", "\u1A85", "\u1A86", "\u1A87", "\u1A88", "\u1A89"]; var lanatham = ["\u1A90", "\u1A91", "\u1A92", "\u1A93", "\u1A94", "\u1A95", "\u1A96", "\u1A97", "\u1A98", "\u1A99"]; var laoo = ["\u0ED0", "\u0ED1", "\u0ED2", "\u0ED3", "\u0ED4", "\u0ED5", "\u0ED6", "\u0ED7", "\u0ED8", "\u0ED9"]; var lepc = ["\u1A90", "\u1A91", "\u1A92", "\u1A93", "\u1A94", "\u1A95", "\u1A96", "\u1A97", "\u1A98", "\u1A99"]; var limb = ["\u1946", "\u1947", "\u1948", "\u1949", "\u194A", "\u194B", "\u194C", "\u194D", "\u194E", "\u194F"]; var mathbold = ["\uD835\uDFCE", "\uD835\uDFCF", "\uD835\uDFD0", "\uD835\uDFD1", "\uD835\uDFD2", "\uD835\uDFD3", "\uD835\uDFD4", "\uD835\uDFD5", "\uD835\uDFD6", "\uD835\uDFD7"]; var mathdbl = ["\uD835\uDFD8", "\uD835\uDFD9", "\uD835\uDFDA", "\uD835\uDFDB", "\uD835\uDFDC", "\uD835\uDFDD", "\uD835\uDFDE", "\uD835\uDFDF", "\uD835\uDFE0", "\uD835\uDFE1"]; var mathmono = ["\uD835\uDFF6", "\uD835\uDFF7", "\uD835\uDFF8", "\uD835\uDFF9", "\uD835\uDFFA", "\uD835\uDFFB", "\uD835\uDFFC", "\uD835\uDFFD", "\uD835\uDFFE", "\uD835\uDFFF"]; var mathsanb = ["\uD835\uDFEC", "\uD835\uDFED", "\uD835\uDFEE", "\uD835\uDFEF", "\uD835\uDFF0", "\uD835\uDFF1", "\uD835\uDFF2", "\uD835\uDFF3", "\uD835\uDFF4", "\uD835\uDFF5"]; var mathsans = ["\uD835\uDFE2", "\uD835\uDFE3", "\uD835\uDFE4", "\uD835\uDFE5", "\uD835\uDFE6", "\uD835\uDFE7", "\uD835\uDFE8", "\uD835\uDFE9", "\uD835\uDFEA", "\uD835\uDFEB"]; var mlym = ["\u0D66", "\u0D67", "\u0D68", "\u0D69", "\u0D6A", "\u0D6B", "\u0D6C", "\u0D6D", "\u0D6E", "\u0D6F"]; var modi = ["\uD805\uDE50", "\uD805\uDE51", "\uD805\uDE52", "\uD805\uDE53", "\uD805\uDE54", "\uD805\uDE55", "\uD805\uDE56", "\uD805\uDE57", "\uD805\uDE58", "\uD805\uDE59"]; var mong = ["\u1810", "\u1811", "\u1812", "\u1813", "\u1814", "\u1815", "\u1816", "\u1817", "\u1818", "\u1819"]; var mroo = ["\uD81A\uDE60", "\uD81A\uDE61", "\uD81A\uDE62", "\uD81A\uDE63", "\uD81A\uDE64", "\uD81A\uDE65", "\uD81A\uDE66", "\uD81A\uDE67", "\uD81A\uDE68", "\uD81A\uDE69"]; var mtei = ["\uABF0", "\uABF1", "\uABF2", "\uABF3", "\uABF4", "\uABF5", "\uABF6", "\uABF7", "\uABF8", "\uABF9"]; var mymr = ["\u1040", "\u1041", "\u1042", "\u1043", "\u1044", "\u1045", "\u1046", "\u1047", "\u1048", "\u1049"]; var mymrshan = ["\u1090", "\u1091", "\u1092", "\u1093", "\u1094", "\u1095", "\u1096", "\u1097", "\u1098", "\u1099"]; var mymrtlng = ["\uA9F0", "\uA9F1", "\uA9F2", "\uA9F3", "\uA9F4", "\uA9F5", "\uA9F6", "\uA9F7", "\uA9F8", "\uA9F9"]; var newa = ["\uD805\uDC50", "\uD805\uDC51", "\uD805\uDC52", "\uD805\uDC53", "\uD805\uDC54", "\uD805\uDC55", "\uD805\uDC56", "\uD805\uDC57", "\uD805\uDC58", "\uD805\uDC59"]; var nkoo = ["\u07C0", "\u07C1", "\u07C2", "\u07C3", "\u07C4", "\u07C5", "\u07C6", "\u07C7", "\u07C8", "\u07C9"]; var olck = ["\u1C50", "\u1C51", "\u1C52", "\u1C53", "\u1C54", "\u1C55", "\u1C56", "\u1C57", "\u1C58", "\u1C59"]; var orya = ["\u0B66", "\u0B67", "\u0B68", "\u0B69", "\u0B6A", "\u0B6B", "\u0B6C", "\u0B6D", "\u0B6E", "\u0B6F"]; var osma = ["\uD801\uDCA0", "\uD801\uDCA1", "\uD801\uDCA2", "\uD801\uDCA3", "\uD801\uDCA4", "\uD801\uDCA5", "\uD801\uDCA6", "\uD801\uDCA7", "\uD801\uDCA8", "\uD801\uDCA9"]; var rohg = ["\uD803\uDD30", "\uD803\uDD31", "\uD803\uDD32", "\uD803\uDD33", "\uD803\uDD34", "\uD803\uDD35", "\uD803\uDD36", "\uD803\uDD37", "\uD803\uDD38", "\uD803\uDD39"]; var saur = ["\uA8D0", "\uA8D1", "\uA8D2", "\uA8D3", "\uA8D4", "\uA8D5", "\uA8D6", "\uA8D7", "\uA8D8", "\uA8D9"]; var segment = ["\uD83E\uDFF0", "\uD83E\uDFF1", "\uD83E\uDFF2", "\uD83E\uDFF3", "\uD83E\uDFF4", "\uD83E\uDFF5", "\uD83E\uDFF6", "\uD83E\uDFF7", "\uD83E\uDFF8", "\uD83E\uDFF9"]; var shrd = ["\uD804\uDDD0", "\uD804\uDDD1", "\uD804\uDDD2", "\uD804\uDDD3", "\uD804\uDDD4", "\uD804\uDDD5", "\uD804\uDDD6", "\uD804\uDDD7", "\uD804\uDDD8", "\uD804\uDDD9"]; var sind = ["\uD804\uDEF0", "\uD804\uDEF1", "\uD804\uDEF2", "\uD804\uDEF3", "\uD804\uDEF4", "\uD804\uDEF5", "\uD804\uDEF6", "\uD804\uDEF7", "\uD804\uDEF8", "\uD804\uDEF9"]; var sinh = ["\u0DE6", "\u0DE7", "\u0DE8", "\u0DE9", "\u0DEA", "\u0DEB", "\u0DEC", "\u0DED", "\u0DEE", "\u0DEF"]; var sora = ["\uD804\uDCF0", "\uD804\uDCF1", "\uD804\uDCF2", "\uD804\uDCF3", "\uD804\uDCF4", "\uD804\uDCF5", "\uD804\uDCF6", "\uD804\uDCF7", "\uD804\uDCF8", "\uD804\uDCF9"]; var sund = ["\u1BB0", "\u1BB1", "\u1BB2", "\u1BB3", "\u1BB4", "\u1BB5", "\u1BB6", "\u1BB7", "\u1BB8", "\u1BB9"]; var takr = ["\uD805\uDEC0", "\uD805\uDEC1", "\uD805\uDEC2", "\uD805\uDEC3", "\uD805\uDEC4", "\uD805\uDEC5", "\uD805\uDEC6", "\uD805\uDEC7", "\uD805\uDEC8", "\uD805\uDEC9"]; var talu = ["\u19D0", "\u19D1", "\u19D2", "\u19D3", "\u19D4", "\u19D5", "\u19D6", "\u19D7", "\u19D8", "\u19D9"]; var tamldec = ["\u0BE6", "\u0BE7", "\u0BE8", "\u0BE9", "\u0BEA", "\u0BEB", "\u0BEC", "\u0BED", "\u0BEE", "\u0BEF"]; var telu = ["\u0C66", "\u0C67", "\u0C68", "\u0C69", "\u0C6A", "\u0C6B", "\u0C6C", "\u0C6D", "\u0C6E", "\u0C6F"]; var thai = ["\u0E50", "\u0E51", "\u0E52", "\u0E53", "\u0E54", "\u0E55", "\u0E56", "\u0E57", "\u0E58", "\u0E59"]; var tibt = ["\u0F20", "\u0F21", "\u0F22", "\u0F23", "\u0F24", "\u0F25", "\u0F26", "\u0F27", "\u0F28", "\u0F29"]; var tirh = ["\uD805\uDCD0", "\uD805\uDCD1", "\uD805\uDCD2", "\uD805\uDCD3", "\uD805\uDCD4", "\uD805\uDCD5", "\uD805\uDCD6", "\uD805\uDCD7", "\uD805\uDCD8", "\uD805\uDCD9"]; var vaii = ["\u1620", "\u1621", "\u1622", "\u1623", "\u1624", "\u1625", "\u1626", "\u1627", "\u1628", "\u1629"]; var wara = ["\uD806\uDCE0", "\uD806\uDCE1", "\uD806\uDCE2", "\uD806\uDCE3", "\uD806\uDCE4", "\uD806\uDCE5", "\uD806\uDCE6", "\uD806\uDCE7", "\uD806\uDCE8", "\uD806\uDCE9"]; var wcho = ["\uD838\uDEF0", "\uD838\uDEF1", "\uD838\uDEF2", "\uD838\uDEF3", "\uD838\uDEF4", "\uD838\uDEF5", "\uD838\uDEF6", "\uD838\uDEF7", "\uD838\uDEF8", "\uD838\uDEF9"]; var digit_mapping_default = {adlm: adlm, ahom: ahom, arab: arab, arabext: arabext, bali: bali, beng: beng, bhks: bhks, brah: brah, cakm: cakm, cham: cham, deva: deva, diak: diak, fullwide: fullwide, gong: gong, gonm: gonm, gujr: gujr, guru: guru, hanidec: hanidec, hmng: hmng, hmnp: hmnp, java: java, kali: kali, khmr: khmr, knda: knda, lana: lana, lanatham: lanatham, laoo: laoo, lepc: lepc, limb: limb, mathbold: mathbold, mathdbl: mathdbl, mathmono: mathmono, mathsanb: mathsanb, mathsans: mathsans, mlym: mlym, modi: modi, mong: mong, mroo: mroo, mtei: mtei, mymr: mymr, mymrshan: mymrshan, mymrtlng: mymrtlng, newa: newa, nkoo: nkoo, olck: olck, orya: orya, osma: osma, rohg: rohg, saur: saur, segment: segment, shrd: shrd, sind: sind, sinh: sinh, sora: sora, sund: sund, takr: takr, talu: talu, tamldec: tamldec, telu: telu, thai: thai, tibt: tibt, tirh: tirh, vaii: vaii, wara: wara, wcho: wcho}; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/regex.generated.js var S_UNICODE_REGEX = /[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEE0-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDD78\uDD7A-\uDDCB\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6\uDF00-\uDF92\uDF94-\uDFCA]/; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/format_to_parts.js var CARET_S_UNICODE_REGEX = new RegExp("^" + S_UNICODE_REGEX.source); var S_DOLLAR_UNICODE_REGEX = new RegExp(S_UNICODE_REGEX.source + "$"); var CLDR_NUMBER_PATTERN = /[#0](?:[\.,][#0]+)*/g; function formatToParts(numberResult, data, pl, options) { var sign = numberResult.sign, exponent = numberResult.exponent, magnitude = numberResult.magnitude; var notation = options.notation, style = options.style, numberingSystem = options.numberingSystem; var defaultNumberingSystem = data.numbers.nu[0]; var compactNumberPattern = null; if (notation === "compact" && magnitude) { compactNumberPattern = getCompactDisplayPattern(numberResult, pl, data, style, options.compactDisplay, options.currencyDisplay, numberingSystem); } var nonNameCurrencyPart; if (style === "currency" && options.currencyDisplay !== "name") { var byCurrencyDisplay = data.currencies[options.currency]; if (byCurrencyDisplay) { switch (options.currencyDisplay) { case "code": nonNameCurrencyPart = options.currency; break; case "symbol": nonNameCurrencyPart = byCurrencyDisplay.symbol; break; default: nonNameCurrencyPart = byCurrencyDisplay.narrow; break; } } else { nonNameCurrencyPart = options.currency; } } var numberPattern; if (!compactNumberPattern) { if (style === "decimal" || style === "unit" || style === "currency" && options.currencyDisplay === "name") { var decimalData = data.numbers.decimal[numberingSystem] || data.numbers.decimal[defaultNumberingSystem]; numberPattern = getPatternForSign(decimalData.standard, sign); } else if (style === "currency") { var currencyData = data.numbers.currency[numberingSystem] || data.numbers.currency[defaultNumberingSystem]; numberPattern = getPatternForSign(currencyData[options.currencySign], sign); } else { var percentPattern = data.numbers.percent[numberingSystem] || data.numbers.percent[defaultNumberingSystem]; numberPattern = getPatternForSign(percentPattern, sign); } } else { numberPattern = compactNumberPattern; } var decimalNumberPattern = CLDR_NUMBER_PATTERN.exec(numberPattern)[0]; numberPattern = numberPattern.replace(CLDR_NUMBER_PATTERN, "{0}").replace(/'(.)'/g, "$1"); if (style === "currency" && options.currencyDisplay !== "name") { var currencyData = data.numbers.currency[numberingSystem] || data.numbers.currency[defaultNumberingSystem]; var afterCurrency = currencyData.currencySpacing.afterInsertBetween; if (afterCurrency && !S_DOLLAR_UNICODE_REGEX.test(nonNameCurrencyPart)) { numberPattern = numberPattern.replace("\xA4{0}", "\xA4" + afterCurrency + "{0}"); } var beforeCurrency = currencyData.currencySpacing.beforeInsertBetween; if (beforeCurrency && !CARET_S_UNICODE_REGEX.test(nonNameCurrencyPart)) { numberPattern = numberPattern.replace("{0}\xA4", "{0}" + beforeCurrency + "\xA4"); } } var numberPatternParts = numberPattern.split(/({c:[^}]+}|\{0\}|[¤%\-\+])/g); var numberParts = []; var symbols = data.numbers.symbols[numberingSystem] || data.numbers.symbols[defaultNumberingSystem]; for (var _i = 0, numberPatternParts_1 = numberPatternParts; _i < numberPatternParts_1.length; _i++) { var part = numberPatternParts_1[_i]; if (!part) { continue; } switch (part) { case "{0}": { numberParts.push.apply(numberParts, paritionNumberIntoParts(symbols, numberResult, notation, exponent, numberingSystem, !compactNumberPattern && options.useGrouping, decimalNumberPattern)); break; } case "-": numberParts.push({type: "minusSign", value: symbols.minusSign}); break; case "+": numberParts.push({type: "plusSign", value: symbols.plusSign}); break; case "%": numberParts.push({type: "percentSign", value: symbols.percentSign}); break; case "\xA4": numberParts.push({type: "currency", value: nonNameCurrencyPart}); break; default: if (/^\{c:/.test(part)) { numberParts.push({ type: "compact", value: part.substring(3, part.length - 1) }); } else { numberParts.push({type: "literal", value: part}); } break; } } switch (style) { case "currency": { if (options.currencyDisplay === "name") { var unitPattern = (data.numbers.currency[numberingSystem] || data.numbers.currency[defaultNumberingSystem]).unitPattern; var unitName = void 0; var currencyNameData = data.currencies[options.currency]; if (currencyNameData) { unitName = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), currencyNameData.displayName); } else { unitName = options.currency; } var unitPatternParts = unitPattern.split(/(\{[01]\})/g); var result = []; for (var _a = 0, unitPatternParts_1 = unitPatternParts; _a < unitPatternParts_1.length; _a++) { var part = unitPatternParts_1[_a]; switch (part) { case "{0}": result.push.apply(result, numberParts); break; case "{1}": result.push({type: "currency", value: unitName}); break; default: if (part) { result.push({type: "literal", value: part}); } break; } } return result; } else { return numberParts; } } case "unit": { var unit = options.unit, unitDisplay = options.unitDisplay; var unitData = data.units.simple[unit]; var unitPattern = void 0; if (unitData) { unitPattern = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), data.units.simple[unit][unitDisplay]); } else { var _b = unit.split("-per-"), numeratorUnit = _b[0], denominatorUnit = _b[1]; unitData = data.units.simple[numeratorUnit]; var numeratorUnitPattern = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), data.units.simple[numeratorUnit][unitDisplay]); var perUnitPattern = data.units.simple[denominatorUnit].perUnit[unitDisplay]; if (perUnitPattern) { unitPattern = perUnitPattern.replace("{0}", numeratorUnitPattern); } else { var perPattern = data.units.compound.per[unitDisplay]; var denominatorPattern = selectPlural(pl, 1, data.units.simple[denominatorUnit][unitDisplay]); unitPattern = unitPattern = perPattern.replace("{0}", numeratorUnitPattern).replace("{1}", denominatorPattern.replace("{0}", "")); } } var result = []; for (var _c = 0, _d = unitPattern.split(/(\s*\{0\}\s*)/); _c < _d.length; _c++) { var part = _d[_c]; var interpolateMatch = /^(\s*)\{0\}(\s*)$/.exec(part); if (interpolateMatch) { if (interpolateMatch[1]) { result.push({type: "literal", value: interpolateMatch[1]}); } result.push.apply(result, numberParts); if (interpolateMatch[2]) { result.push({type: "literal", value: interpolateMatch[2]}); } } else if (part) { result.push({type: "unit", value: part}); } } return result; } default: return numberParts; } } function paritionNumberIntoParts(symbols, numberResult, notation, exponent, numberingSystem, useGrouping, decimalNumberPattern) { var result = []; var n = numberResult.formattedString, x = numberResult.roundedNumber; if (isNaN(x)) { return [{type: "nan", value: n}]; } else if (!isFinite(x)) { return [{type: "infinity", value: n}]; } var digitReplacementTable = digit_mapping_exports[numberingSystem]; if (digitReplacementTable) { n = n.replace(/\d/g, function(digit) { return digitReplacementTable[+digit] || digit; }); } var decimalSepIndex = n.indexOf("."); var integer; var fraction; if (decimalSepIndex > 0) { integer = n.slice(0, decimalSepIndex); fraction = n.slice(decimalSepIndex + 1); } else { integer = n; } if (useGrouping && (notation !== "compact" || x >= 1e4)) { var groupSepSymbol = symbols.group; var groups = []; var integerNumberPattern = decimalNumberPattern.split(".")[0]; var patternGroups = integerNumberPattern.split(","); var primaryGroupingSize = 3; var secondaryGroupingSize = 3; if (patternGroups.length > 1) { primaryGroupingSize = patternGroups[patternGroups.length - 1].length; } if (patternGroups.length > 2) { secondaryGroupingSize = patternGroups[patternGroups.length - 2].length; } var i = integer.length - primaryGroupingSize; if (i > 0) { groups.push(integer.slice(i, i + primaryGroupingSize)); for (i -= secondaryGroupingSize; i > 0; i -= secondaryGroupingSize) { groups.push(integer.slice(i, i + secondaryGroupingSize)); } groups.push(integer.slice(0, i + secondaryGroupingSize)); } else { groups.push(integer); } while (groups.length > 0) { var integerGroup = groups.pop(); result.push({type: "integer", value: integerGroup}); if (groups.length > 0) { result.push({type: "group", value: groupSepSymbol}); } } } else { result.push({type: "integer", value: integer}); } if (fraction !== void 0) { result.push({type: "decimal", value: symbols.decimal}, {type: "fraction", value: fraction}); } if ((notation === "scientific" || notation === "engineering") && isFinite(x)) { result.push({type: "exponentSeparator", value: symbols.exponential}); if (exponent < 0) { result.push({type: "exponentMinusSign", value: symbols.minusSign}); exponent = -exponent; } var exponentResult = ToRawFixed(exponent, 0, 0); result.push({ type: "exponentInteger", value: exponentResult.formattedString }); } return result; } function getPatternForSign(pattern, sign) { if (pattern.indexOf(";") < 0) { pattern = pattern + ";-" + pattern; } var _a = pattern.split(";"), zeroPattern = _a[0], negativePattern = _a[1]; switch (sign) { case 0: return zeroPattern; case -1: return negativePattern; default: return negativePattern.indexOf("-") >= 0 ? negativePattern.replace(/-/g, "+") : "+" + zeroPattern; } } function getCompactDisplayPattern(numberResult, pl, data, style, compactDisplay, currencyDisplay, numberingSystem) { var _a; var roundedNumber = numberResult.roundedNumber, sign = numberResult.sign, magnitude = numberResult.magnitude; var magnitudeKey = String(Math.pow(10, magnitude)); var defaultNumberingSystem = data.numbers.nu[0]; var pattern; if (style === "currency" && currencyDisplay !== "name") { var byNumberingSystem = data.numbers.currency; var currencyData = byNumberingSystem[numberingSystem] || byNumberingSystem[defaultNumberingSystem]; var compactPluralRules = (_a = currencyData.short) === null || _a === void 0 ? void 0 : _a[magnitudeKey]; if (!compactPluralRules) { return null; } pattern = selectPlural(pl, roundedNumber, compactPluralRules); } else { var byNumberingSystem = data.numbers.decimal; var byCompactDisplay = byNumberingSystem[numberingSystem] || byNumberingSystem[defaultNumberingSystem]; var compactPlaralRule = byCompactDisplay[compactDisplay][magnitudeKey]; if (!compactPlaralRule) { return null; } pattern = selectPlural(pl, roundedNumber, compactPlaralRule); } if (pattern === "0") { return null; } pattern = getPatternForSign(pattern, sign).replace(/([^\s;\-\+\d¤]+)/g, "{c:$1}").replace(/0+/, "0"); return pattern; } function selectPlural(pl, x, rules) { return rules[pl.select(x)] || rules.other; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/PartitionNumberPattern.js function PartitionNumberPattern(numberFormat, x, _a) { var _b; var getInternalSlots2 = _a.getInternalSlots; var internalSlots = getInternalSlots2(numberFormat); var pl = internalSlots.pl, dataLocaleData = internalSlots.dataLocaleData, numberingSystem = internalSlots.numberingSystem; var symbols = dataLocaleData.numbers.symbols[numberingSystem] || dataLocaleData.numbers.symbols[dataLocaleData.numbers.nu[0]]; var magnitude = 0; var exponent = 0; var n; if (isNaN(x)) { n = symbols.nan; } else if (!isFinite(x)) { n = symbols.infinity; } else { if (internalSlots.style === "percent") { x *= 100; } ; _b = ComputeExponent(numberFormat, x, { getInternalSlots: getInternalSlots2 }), exponent = _b[0], magnitude = _b[1]; x = exponent < 0 ? x * Math.pow(10, -exponent) : x / Math.pow(10, exponent); var formatNumberResult = FormatNumericToString(internalSlots, x); n = formatNumberResult.formattedString; x = formatNumberResult.roundedNumber; } var sign; var signDisplay = internalSlots.signDisplay; switch (signDisplay) { case "never": sign = 0; break; case "auto": if (SameValue(x, 0) || x > 0 || isNaN(x)) { sign = 0; } else { sign = -1; } break; case "always": if (SameValue(x, 0) || x > 0 || isNaN(x)) { sign = 1; } else { sign = -1; } break; default: if (x === 0 || isNaN(x)) { sign = 0; } else if (x > 0) { sign = 1; } else { sign = -1; } } return formatToParts({roundedNumber: x, formattedString: n, exponent: exponent, magnitude: magnitude, sign: sign}, internalSlots.dataLocaleData, pl, internalSlots); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/FormatNumericToParts.js function FormatNumericToParts(nf, x, implDetails) { var parts = PartitionNumberPattern(nf, x, implDetails); var result = ArrayCreate(0); for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) { var part = parts_1[_i]; result.push({ type: part.type, value: part.value }); } return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/SetNumberFormatUnitOptions.js function SetNumberFormatUnitOptions(nf, options, _a) { if (options === void 0) { options = Object.create(null); } var getInternalSlots2 = _a.getInternalSlots; var internalSlots = getInternalSlots2(nf); var style = GetOption(options, "style", "string", ["decimal", "percent", "currency", "unit"], "decimal"); internalSlots.style = style; var currency = GetOption(options, "currency", "string", void 0, void 0); if (currency !== void 0 && !IsWellFormedCurrencyCode(currency)) { throw RangeError("Malformed currency code"); } if (style === "currency" && currency === void 0) { throw TypeError("currency cannot be undefined"); } var currencyDisplay = GetOption(options, "currencyDisplay", "string", ["code", "symbol", "narrowSymbol", "name"], "symbol"); var currencySign = GetOption(options, "currencySign", "string", ["standard", "accounting"], "standard"); var unit = GetOption(options, "unit", "string", void 0, void 0); if (unit !== void 0 && !IsWellFormedUnitIdentifier(unit)) { throw RangeError("Invalid unit argument for Intl.NumberFormat()"); } if (style === "unit" && unit === void 0) { throw TypeError("unit cannot be undefined"); } var unitDisplay = GetOption(options, "unitDisplay", "string", ["short", "narrow", "long"], "short"); if (style === "currency") { internalSlots.currency = currency.toUpperCase(); internalSlots.currencyDisplay = currencyDisplay; internalSlots.currencySign = currencySign; } if (style === "unit") { internalSlots.unit = unit; internalSlots.unitDisplay = unitDisplay; } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/SetNumberFormatDigitOptions.js function SetNumberFormatDigitOptions(internalSlots, opts, mnfdDefault, mxfdDefault, notation) { var mnid = GetNumberOption(opts, "minimumIntegerDigits", 1, 21, 1); var mnfd = opts.minimumFractionDigits; var mxfd = opts.maximumFractionDigits; var mnsd = opts.minimumSignificantDigits; var mxsd = opts.maximumSignificantDigits; internalSlots.minimumIntegerDigits = mnid; if (mnsd !== void 0 || mxsd !== void 0) { internalSlots.roundingType = "significantDigits"; mnsd = DefaultNumberOption(mnsd, 1, 21, 1); mxsd = DefaultNumberOption(mxsd, mnsd, 21, 21); internalSlots.minimumSignificantDigits = mnsd; internalSlots.maximumSignificantDigits = mxsd; } else if (mnfd !== void 0 || mxfd !== void 0) { internalSlots.roundingType = "fractionDigits"; mnfd = DefaultNumberOption(mnfd, 0, 20, mnfdDefault); var mxfdActualDefault = Math.max(mnfd, mxfdDefault); mxfd = DefaultNumberOption(mxfd, mnfd, 20, mxfdActualDefault); internalSlots.minimumFractionDigits = mnfd; internalSlots.maximumFractionDigits = mxfd; } else if (notation === "compact") { internalSlots.roundingType = "compactRounding"; } else { internalSlots.roundingType = "fractionDigits"; internalSlots.minimumFractionDigits = mnfdDefault; internalSlots.maximumFractionDigits = mxfdDefault; } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/InitializeNumberFormat.js function InitializeNumberFormat(nf, locales, opts, _a) { var getInternalSlots2 = _a.getInternalSlots, localeData = _a.localeData, availableLocales = _a.availableLocales, numberingSystemNames2 = _a.numberingSystemNames, getDefaultLocale = _a.getDefaultLocale, currencyDigitsData = _a.currencyDigitsData; var requestedLocales = CanonicalizeLocaleList(locales); var options = CoerceOptionsToObject(opts); var opt = Object.create(null); var matcher = GetOption(options, "localeMatcher", "string", ["lookup", "best fit"], "best fit"); opt.localeMatcher = matcher; var numberingSystem = GetOption(options, "numberingSystem", "string", void 0, void 0); if (numberingSystem !== void 0 && numberingSystemNames2.indexOf(numberingSystem) < 0) { throw RangeError("Invalid numberingSystems: " + numberingSystem); } opt.nu = numberingSystem; var r = ResolveLocale(availableLocales, requestedLocales, opt, ["nu"], localeData, getDefaultLocale); var dataLocaleData = localeData[r.dataLocale]; invariant(!!dataLocaleData, "Missing locale data for " + r.dataLocale); var internalSlots = getInternalSlots2(nf); internalSlots.locale = r.locale; internalSlots.dataLocale = r.dataLocale; internalSlots.numberingSystem = r.nu; internalSlots.dataLocaleData = dataLocaleData; SetNumberFormatUnitOptions(nf, options, {getInternalSlots: getInternalSlots2}); var style = internalSlots.style; var mnfdDefault; var mxfdDefault; if (style === "currency") { var currency = internalSlots.currency; var cDigits = CurrencyDigits(currency, {currencyDigitsData: currencyDigitsData}); mnfdDefault = cDigits; mxfdDefault = cDigits; } else { mnfdDefault = 0; mxfdDefault = style === "percent" ? 0 : 3; } var notation = GetOption(options, "notation", "string", ["standard", "scientific", "engineering", "compact"], "standard"); internalSlots.notation = notation; SetNumberFormatDigitOptions(internalSlots, options, mnfdDefault, mxfdDefault, notation); var compactDisplay = GetOption(options, "compactDisplay", "string", ["short", "long"], "short"); if (notation === "compact") { internalSlots.compactDisplay = compactDisplay; } var useGrouping = GetOption(options, "useGrouping", "boolean", void 0, true); internalSlots.useGrouping = useGrouping; var signDisplay = GetOption(options, "signDisplay", "string", ["auto", "never", "always", "exceptZero"], "auto"); internalSlots.signDisplay = signDisplay; return nf; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/LookupSupportedLocales.js function LookupSupportedLocales(availableLocales, requestedLocales) { var subset = []; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var locale = requestedLocales_1[_i]; var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale); if (availableLocale) { subset.push(availableLocale); } } return subset; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/SupportedLocales.js function SupportedLocales(availableLocales, requestedLocales, options) { var matcher = "best fit"; if (options !== void 0) { options = ToObject(options); matcher = GetOption(options, "localeMatcher", "string", ["lookup", "best fit"], "best fit"); } if (matcher === "best fit") { return LookupSupportedLocales(availableLocales, requestedLocales); } return LookupSupportedLocales(availableLocales, requestedLocales); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/data.js var MissingLocaleDataError = function(_super) { __extends(MissingLocaleDataError2, _super); function MissingLocaleDataError2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = "MISSING_LOCALE_DATA"; return _this; } return MissingLocaleDataError2; }(Error); // bazel-out/darwin-fastbuild/bin/packages/intl-numberformat/lib/src/data/currency-digits.json var currency_digits_exports = {}; __export(currency_digits_exports, { ADP: function() { return ADP; }, AFN: function() { return AFN; }, ALL: function() { return ALL; }, AMD: function() { return AMD; }, BHD: function() { return BHD; }, BIF: function() { return BIF; }, BYN: function() { return BYN; }, BYR: function() { return BYR; }, CAD: function() { return CAD; }, CHF: function() { return CHF; }, CLF: function() { return CLF; }, CLP: function() { return CLP; }, COP: function() { return COP; }, CRC: function() { return CRC; }, CZK: function() { return CZK; }, DEFAULT: function() { return DEFAULT; }, DJF: function() { return DJF; }, DKK: function() { return DKK; }, ESP: function() { return ESP; }, GNF: function() { return GNF; }, GYD: function() { return GYD; }, HUF: function() { return HUF; }, IDR: function() { return IDR; }, IQD: function() { return IQD; }, IRR: function() { return IRR; }, ISK: function() { return ISK; }, ITL: function() { return ITL; }, JOD: function() { return JOD; }, JPY: function() { return JPY; }, KMF: function() { return KMF; }, KPW: function() { return KPW; }, KRW: function() { return KRW; }, KWD: function() { return KWD; }, LAK: function() { return LAK; }, LBP: function() { return LBP; }, LUF: function() { return LUF; }, LYD: function() { return LYD; }, MGA: function() { return MGA; }, MGF: function() { return MGF; }, MMK: function() { return MMK; }, MNT: function() { return MNT; }, MRO: function() { return MRO; }, MUR: function() { return MUR; }, NOK: function() { return NOK; }, OMR: function() { return OMR; }, PKR: function() { return PKR; }, PYG: function() { return PYG; }, RSD: function() { return RSD; }, RWF: function() { return RWF; }, SEK: function() { return SEK; }, SLL: function() { return SLL; }, SOS: function() { return SOS; }, STD: function() { return STD; }, SYP: function() { return SYP; }, TMM: function() { return TMM; }, TND: function() { return TND; }, TRL: function() { return TRL; }, TWD: function() { return TWD; }, TZS: function() { return TZS; }, UGX: function() { return UGX; }, UYI: function() { return UYI; }, UYW: function() { return UYW; }, UZS: function() { return UZS; }, VEF: function() { return VEF; }, VND: function() { return VND; }, VUV: function() { return VUV; }, XAF: function() { return XAF; }, XOF: function() { return XOF; }, XPF: function() { return XPF; }, YER: function() { return YER; }, ZMK: function() { return ZMK; }, ZWD: function() { return ZWD; }, default: function() { return currency_digits_default; } }); var ADP = 0; var AFN = 0; var ALL = 0; var AMD = 2; var BHD = 3; var BIF = 0; var BYN = 2; var BYR = 0; var CAD = 2; var CHF = 2; var CLF = 4; var CLP = 0; var COP = 2; var CRC = 2; var CZK = 2; var DEFAULT = 2; var DJF = 0; var DKK = 2; var ESP = 0; var GNF = 0; var GYD = 2; var HUF = 2; var IDR = 2; var IQD = 0; var IRR = 0; var ISK = 0; var ITL = 0; var JOD = 3; var JPY = 0; var KMF = 0; var KPW = 0; var KRW = 0; var KWD = 3; var LAK = 0; var LBP = 0; var LUF = 0; var LYD = 3; var MGA = 0; var MGF = 0; var MMK = 0; var MNT = 2; var MRO = 0; var MUR = 2; var NOK = 2; var OMR = 3; var PKR = 2; var PYG = 0; var RSD = 0; var RWF = 0; var SEK = 2; var SLL = 0; var SOS = 0; var STD = 0; var SYP = 0; var TMM = 0; var TND = 3; var TRL = 0; var TWD = 2; var TZS = 2; var UGX = 0; var UYI = 0; var UYW = 4; var UZS = 2; var VEF = 2; var VND = 0; var VUV = 0; var XAF = 0; var XOF = 0; var XPF = 0; var YER = 0; var ZMK = 0; var ZWD = 0; var currency_digits_default = {ADP: ADP, AFN: AFN, ALL: ALL, AMD: AMD, BHD: BHD, BIF: BIF, BYN: BYN, BYR: BYR, CAD: CAD, CHF: CHF, CLF: CLF, CLP: CLP, COP: COP, CRC: CRC, CZK: CZK, DEFAULT: DEFAULT, DJF: DJF, DKK: DKK, ESP: ESP, GNF: GNF, GYD: GYD, HUF: HUF, IDR: IDR, IQD: IQD, IRR: IRR, ISK: ISK, ITL: ITL, JOD: JOD, JPY: JPY, KMF: KMF, KPW: KPW, KRW: KRW, KWD: KWD, LAK: LAK, LBP: LBP, LUF: LUF, LYD: LYD, MGA: MGA, MGF: MGF, MMK: MMK, MNT: MNT, MRO: MRO, MUR: MUR, NOK: NOK, OMR: OMR, PKR: PKR, PYG: PYG, RSD: RSD, RWF: RWF, SEK: SEK, SLL: SLL, SOS: SOS, STD: STD, SYP: SYP, TMM: TMM, TND: TND, TRL: TRL, TWD: TWD, TZS: TZS, UGX: UGX, UYI: UYI, UYW: UYW, UZS: UZS, VEF: VEF, VND: VND, VUV: VUV, XAF: XAF, XOF: XOF, XPF: XPF, YER: YER, ZMK: ZMK, ZWD: ZWD}; // bazel-out/darwin-fastbuild/bin/packages/intl-numberformat/lib/src/data/numbering-systems.json var names = ["adlm", "ahom", "arab", "arabext", "armn", "armnlow", "bali", "beng", "bhks", "brah", "cakm", "cham", "cyrl", "deva", "diak", "ethi", "fullwide", "geor", "gong", "gonm", "grek", "greklow", "gujr", "guru", "hanidays", "hanidec", "hans", "hansfin", "hant", "hantfin", "hebr", "hmng", "hmnp", "java", "jpan", "jpanfin", "jpanyear", "kali", "khmr", "knda", "lana", "lanatham", "laoo", "latn", "lepc", "limb", "mathbold", "mathdbl", "mathmono", "mathsanb", "mathsans", "mlym", "modi", "mong", "mroo", "mtei", "mymr", "mymrshan", "mymrtlng", "newa", "nkoo", "olck", "orya", "osma", "rohg", "roman", "romanlow", "saur", "segment", "shrd", "sind", "sinh", "sora", "sund", "takr", "talu", "taml", "tamldec", "telu", "thai", "tibt", "tirh", "vaii", "wara", "wcho"]; // bazel-out/darwin-fastbuild/bin/packages/intl-numberformat/lib/src/get_internal_slots.js var internalSlotMap = new WeakMap(); function getInternalSlots(x) { var internalSlots = internalSlotMap.get(x); if (!internalSlots) { internalSlots = Object.create(null); internalSlotMap.set(x, internalSlots); } return internalSlots; } // bazel-out/darwin-fastbuild/bin/packages/intl-numberformat/lib/src/core.js var numberingSystemNames = names; var RESOLVED_OPTIONS_KEYS = [ "locale", "numberingSystem", "style", "currency", "currencyDisplay", "currencySign", "unit", "unitDisplay", "minimumIntegerDigits", "minimumFractionDigits", "maximumFractionDigits", "minimumSignificantDigits", "maximumSignificantDigits", "useGrouping", "notation", "compactDisplay", "signDisplay" ]; var NumberFormat = function(locales, options) { if (!this || !OrdinaryHasInstance(NumberFormat, this)) { return new NumberFormat(locales, options); } InitializeNumberFormat(this, locales, options, { getInternalSlots: getInternalSlots, localeData: NumberFormat.localeData, availableLocales: NumberFormat.availableLocales, getDefaultLocale: NumberFormat.getDefaultLocale, currencyDigitsData: currency_digits_exports, numberingSystemNames: numberingSystemNames }); var internalSlots = getInternalSlots(this); var dataLocale = internalSlots.dataLocale; var dataLocaleData = NumberFormat.localeData[dataLocale]; invariant(dataLocaleData !== void 0, "Cannot load locale-dependent data for " + dataLocale + "."); internalSlots.pl = new Intl.PluralRules(dataLocale, { minimumFractionDigits: internalSlots.minimumFractionDigits, maximumFractionDigits: internalSlots.maximumFractionDigits, minimumIntegerDigits: internalSlots.minimumIntegerDigits, minimumSignificantDigits: internalSlots.minimumSignificantDigits, maximumSignificantDigits: internalSlots.maximumSignificantDigits }); return this; }; function formatToParts2(x) { return FormatNumericToParts(this, toNumeric(x), { getInternalSlots: getInternalSlots }); } try { Object.defineProperty(formatToParts2, "name", { value: "formatToParts", enumerable: false, writable: false, configurable: true }); } catch (e) { } defineProperty(NumberFormat.prototype, "formatToParts", { value: formatToParts2 }); defineProperty(NumberFormat.prototype, "resolvedOptions", { value: function resolvedOptions() { if (typeof this !== "object" || !OrdinaryHasInstance(NumberFormat, this)) { throw TypeError("Method Intl.NumberFormat.prototype.resolvedOptions called on incompatible receiver"); } var internalSlots = getInternalSlots(this); var ro = {}; for (var _i = 0, RESOLVED_OPTIONS_KEYS_1 = RESOLVED_OPTIONS_KEYS; _i < RESOLVED_OPTIONS_KEYS_1.length; _i++) { var key = RESOLVED_OPTIONS_KEYS_1[_i]; var value = internalSlots[key]; if (value !== void 0) { ro[key] = value; } } return ro; } }); var formatDescriptor = { enumerable: false, configurable: true, get: function() { if (typeof this !== "object" || !OrdinaryHasInstance(NumberFormat, this)) { throw TypeError("Intl.NumberFormat format property accessor called on incompatible receiver"); } var internalSlots = getInternalSlots(this); var numberFormat = this; var boundFormat = internalSlots.boundFormat; if (boundFormat === void 0) { boundFormat = function(value) { var x = toNumeric(value); return numberFormat.formatToParts(x).map(function(x2) { return x2.value; }).join(""); }; try { Object.defineProperty(boundFormat, "name", { configurable: true, enumerable: false, writable: false, value: "" }); } catch (e) { } internalSlots.boundFormat = boundFormat; } return boundFormat; } }; try { Object.defineProperty(formatDescriptor.get, "name", { configurable: true, enumerable: false, writable: false, value: "get format" }); } catch (e) { } Object.defineProperty(NumberFormat.prototype, "format", formatDescriptor); defineProperty(NumberFormat, "supportedLocalesOf", { value: function supportedLocalesOf(locales, options) { return SupportedLocales(NumberFormat.availableLocales, CanonicalizeLocaleList(locales), options); } }); NumberFormat.__addLocaleData = function __addLocaleData() { var data = []; for (var _i = 0; _i < arguments.length; _i++) { data[_i] = arguments[_i]; } for (var _a = 0, data_1 = data; _a < data_1.length; _a++) { var _b = data_1[_a], d = _b.data, locale = _b.locale; var minimizedLocale = new Intl.Locale(locale).minimize().toString(); NumberFormat.localeData[locale] = NumberFormat.localeData[minimizedLocale] = d; NumberFormat.availableLocales.add(minimizedLocale); NumberFormat.availableLocales.add(locale); if (!NumberFormat.__defaultLocale) { NumberFormat.__defaultLocale = minimizedLocale; } } }; NumberFormat.__addUnitData = function __addUnitData(locale, unitsData) { var _a = NumberFormat.localeData, _b = locale, existingData = _a[_b]; if (!existingData) { throw new Error('Locale data for "' + locale + '" has not been loaded in NumberFormat. \nPlease __addLocaleData before adding additional unit data'); } for (var unit in unitsData.simple) { existingData.units.simple[unit] = unitsData.simple[unit]; } for (var unit in unitsData.compound) { existingData.units.compound[unit] = unitsData.compound[unit]; } }; NumberFormat.__defaultLocale = ""; NumberFormat.localeData = {}; NumberFormat.availableLocales = new Set(); NumberFormat.getDefaultLocale = function() { return NumberFormat.__defaultLocale; }; NumberFormat.polyfilled = true; function toNumeric(val) { if (typeof val === "bigint") { return val; } return ToNumber(val); } try { if (typeof Symbol !== "undefined") { Object.defineProperty(NumberFormat.prototype, Symbol.toStringTag, { configurable: true, enumerable: false, writable: false, value: "Intl.NumberFormat" }); } Object.defineProperty(NumberFormat.prototype.constructor, "length", { configurable: true, enumerable: false, writable: false, value: 0 }); Object.defineProperty(NumberFormat.supportedLocalesOf, "length", { configurable: true, enumerable: false, writable: false, value: 1 }); Object.defineProperty(NumberFormat, "prototype", { configurable: false, enumerable: false, writable: false, value: NumberFormat.prototype }); } catch (e) { } // bazel-out/darwin-fastbuild/bin/packages/intl-numberformat/lib/src/to_locale_string.js function toLocaleString(x, locales, options) { var numberFormat = new NumberFormat(locales, options); return numberFormat.format(x); } // bazel-out/darwin-fastbuild/bin/packages/intl-numberformat/lib/should-polyfill.js function onlySupportsEn() { return !Intl.NumberFormat.polyfilled && !Intl.NumberFormat.supportedLocalesOf(["es"]).length; } function supportsES2020() { try { var s = new Intl.NumberFormat("en", { style: "unit", unit: "bit", unitDisplay: "long", notation: "scientific" }).format(1e4); if (s !== "1E4 bits") { return false; } } catch (e) { return false; } return true; } function shouldPolyfill() { return typeof Intl === "undefined" || !("NumberFormat" in Intl) || !supportsES2020() || onlySupportsEn(); } // bazel-out/darwin-fastbuild/bin/packages/intl-numberformat/lib/polyfill.js if (shouldPolyfill()) { defineProperty(Intl, "NumberFormat", {value: NumberFormat}); defineProperty(Number.prototype, "toLocaleString", { value: function toLocaleString2(locales, options) { return toLocaleString(this, locales, options); } }); } })(); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ } if (!("Intl"in self&&"DateTimeFormat"in self.Intl&&"formatToParts"in self.Intl.DateTimeFormat.prototype&&"dayPeriod"===new self.Intl.DateTimeFormat("en",{hourCycle:"h11",hour:"numeric"}).formatToParts(0)[2].type&&"formatRangeToParts"in self.Intl.DateTimeFormat.prototype&&"dayPeriod"===new self.Intl.DateTimeFormat("en",{hourCycle:"h11",hour:"numeric"}).formatRangeToParts(0,1)[2].type )) { // Intl.DateTimeFormat (function() { // node_modules/tslib/tslib.es6.js var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || {__proto__: []} instanceof Array && function(d2, b2) { d2.__proto__ = b2; } || function(d2, b2) { for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; }; return extendStatics(d, b); }; function __extends(d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } var __assign = function() { __assign = Object.assign || function __assign2(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; function __rest(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/utils.js function defineProperty(target, name, _a) { var value = _a.value; Object.defineProperty(target, name, { configurable: true, enumerable: false, writable: true, value: value }); } var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi; function invariant(condition, message, Err) { if (Err === void 0) { Err = Error; } if (!condition) { throw new Err(message); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/utils.js var DATE_TIME_PROPS = [ "weekday", "era", "year", "month", "day", "hour", "minute", "second", "timeZoneName" ]; var removalPenalty = 120; var additionPenalty = 20; var differentNumericTypePenalty = 15; var longLessPenalty = 8; var longMorePenalty = 6; var shortLessPenalty = 6; var shortMorePenalty = 3; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/types/date-time.js var RangePatternType; (function(RangePatternType2) { RangePatternType2["startRange"] = "startRange"; RangePatternType2["shared"] = "shared"; RangePatternType2["endRange"] = "endRange"; })(RangePatternType || (RangePatternType = {})); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/skeleton.js var 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; var expPatternTrimmer = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; function matchSkeletonPattern(match, result) { var len = match.length; switch (match[0]) { case "G": result.era = len === 4 ? "long" : len === 5 ? "narrow" : "short"; return "{era}"; case "y": case "Y": case "u": case "U": case "r": result.year = len === 2 ? "2-digit" : "numeric"; return "{year}"; case "q": case "Q": throw new RangeError("`w/Q` (quarter) patterns are not supported"); case "M": case "L": result.month = ["numeric", "2-digit", "short", "long", "narrow"][len - 1]; return "{month}"; case "w": case "W": throw new RangeError("`w/W` (week of year) patterns are not supported"); case "d": result.day = ["numeric", "2-digit"][len - 1]; return "{day}"; case "D": case "F": case "g": result.day = "numeric"; return "{day}"; case "E": result.weekday = len === 4 ? "long" : len === 5 ? "narrow" : "short"; return "{weekday}"; case "e": result.weekday = [ void 0, void 0, "short", "long", "narrow", "short" ][len - 1]; return "{weekday}"; case "c": result.weekday = [ void 0, void 0, "short", "long", "narrow", "short" ][len - 1]; return "{weekday}"; case "a": case "b": case "B": result.hour12 = true; return "{ampm}"; case "h": result.hour = ["numeric", "2-digit"][len - 1]; result.hour12 = true; return "{hour}"; case "H": result.hour = ["numeric", "2-digit"][len - 1]; return "{hour}"; case "K": result.hour = ["numeric", "2-digit"][len - 1]; result.hour12 = true; return "{hour}"; case "k": result.hour = ["numeric", "2-digit"][len - 1]; return "{hour}"; case "j": case "J": case "C": throw new RangeError("`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead"); case "m": result.minute = ["numeric", "2-digit"][len - 1]; return "{minute}"; case "s": result.second = ["numeric", "2-digit"][len - 1]; return "{second}"; case "S": case "A": result.second = "numeric"; return "{second}"; case "z": case "Z": case "O": case "v": case "V": case "X": case "x": result.timeZoneName = len < 4 ? "short" : "long"; return "{timeZoneName}"; } return ""; } function skeletonTokenToTable2(c) { switch (c) { case "G": return "era"; case "y": case "Y": case "u": case "U": case "r": return "year"; case "M": case "L": return "month"; case "d": case "D": case "F": case "g": return "day"; case "a": case "b": case "B": return "ampm"; case "h": case "H": case "K": case "k": return "hour"; case "m": return "minute"; case "s": case "S": case "A": return "second"; default: throw new RangeError("Invalid range pattern token"); } } function processDateTimePattern(pattern, result) { var literals = []; var pattern12 = pattern.replace(/'{2}/g, "{apostrophe}").replace(/'(.*?)'/g, function(_, literal) { literals.push(literal); return "$$" + (literals.length - 1) + "$$"; }).replace(DATE_TIME_REGEX, function(m) { return matchSkeletonPattern(m, result || {}); }); if (literals.length) { pattern12 = pattern12.replace(/\$\$(\d+)\$\$/g, function(_, i) { return literals[+i]; }).replace(/\{apostrophe\}/g, "'"); } return [ pattern12.replace(/([\s\uFEFF\xA0])\{ampm\}([\s\uFEFF\xA0])/, "$1").replace("{ampm}", "").replace(expPatternTrimmer, ""), pattern12 ]; } function parseDateTimeSkeleton(skeleton, rawPattern, rangePatterns, intervalFormatFallback) { if (rawPattern === void 0) { rawPattern = skeleton; } var result = { pattern: "", pattern12: "", skeleton: skeleton, rawPattern: rawPattern, rangePatterns: {}, rangePatterns12: {} }; if (rangePatterns) { for (var k in rangePatterns) { var key = skeletonTokenToTable2(k); var rawPattern_1 = rangePatterns[k]; var intervalResult = { patternParts: [] }; var _a = processDateTimePattern(rawPattern_1, intervalResult), pattern_1 = _a[0], pattern12_1 = _a[1]; result.rangePatterns[key] = __assign(__assign({}, intervalResult), {patternParts: splitRangePattern(pattern_1)}); result.rangePatterns12[key] = __assign(__assign({}, intervalResult), {patternParts: splitRangePattern(pattern12_1)}); } } else if (intervalFormatFallback) { var patternParts = splitFallbackRangePattern(intervalFormatFallback); result.rangePatterns.default = { patternParts: patternParts }; result.rangePatterns12.default = { patternParts: patternParts }; } skeleton.replace(DATE_TIME_REGEX, function(m) { return matchSkeletonPattern(m, result); }); var _b = processDateTimePattern(rawPattern), pattern = _b[0], pattern12 = _b[1]; result.pattern = pattern; result.pattern12 = pattern12; return result; } function splitFallbackRangePattern(pattern) { var parts = pattern.split(/(\{[0|1]\})/g).filter(Boolean); return parts.map(function(pattern2) { switch (pattern2) { case "{0}": return { source: RangePatternType.startRange, pattern: pattern2 }; case "{1}": return { source: RangePatternType.endRange, pattern: pattern2 }; default: return { source: RangePatternType.shared, pattern: pattern2 }; } }); } function splitRangePattern(pattern) { var PART_REGEX = /\{(.*?)\}/g; var parts = {}; var match; var splitIndex = 0; while (match = PART_REGEX.exec(pattern)) { if (!(match[0] in parts)) { parts[match[0]] = match.index; } else { splitIndex = match.index; break; } } if (!splitIndex) { return [ { source: RangePatternType.startRange, pattern: pattern } ]; } return [ { source: RangePatternType.startRange, pattern: pattern.slice(0, splitIndex) }, { source: RangePatternType.endRange, pattern: pattern.slice(splitIndex) } ]; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/BestFitFormatMatcher.js function isNumericType(t) { return t === "numeric" || t === "2-digit"; } function bestFitFormatMatcherScore(options, format) { var score = 0; if (options.hour12 && !format.hour12) { score -= removalPenalty; } else if (!options.hour12 && format.hour12) { score -= additionPenalty; } for (var _i = 0, DATE_TIME_PROPS_1 = DATE_TIME_PROPS; _i < DATE_TIME_PROPS_1.length; _i++) { var prop = DATE_TIME_PROPS_1[_i]; var optionsProp = options[prop]; var formatProp = format[prop]; if (optionsProp === void 0 && formatProp !== void 0) { score -= additionPenalty; } else if (optionsProp !== void 0 && formatProp === void 0) { score -= removalPenalty; } else if (optionsProp !== formatProp) { if (isNumericType(optionsProp) !== isNumericType(formatProp)) { score -= differentNumericTypePenalty; } else { var values = ["2-digit", "numeric", "narrow", "short", "long"]; var optionsPropIndex = values.indexOf(optionsProp); var formatPropIndex = values.indexOf(formatProp); var delta = Math.max(-2, Math.min(formatPropIndex - optionsPropIndex, 2)); if (delta === 2) { score -= longMorePenalty; } else if (delta === 1) { score -= shortMorePenalty; } else if (delta === -1) { score -= shortLessPenalty; } else if (delta === -2) { score -= longLessPenalty; } } } } return score; } function BestFitFormatMatcher(options, formats) { var bestScore = -Infinity; var bestFormat = formats[0]; invariant(Array.isArray(formats), "formats should be a list of things"); for (var _i = 0, formats_1 = formats; _i < formats_1.length; _i++) { var format = formats_1[_i]; var score = bestFitFormatMatcherScore(options, format); if (score > bestScore) { bestScore = score; bestFormat = format; } } var skeletonFormat = __assign({}, bestFormat); var patternFormat = {rawPattern: bestFormat.rawPattern}; processDateTimePattern(bestFormat.rawPattern, patternFormat); for (var prop in skeletonFormat) { var skeletonValue = skeletonFormat[prop]; var patternValue = patternFormat[prop]; var requestedValue = options[prop]; if (prop === "minute" || prop === "second") { continue; } if (!requestedValue) { continue; } if (isNumericType(patternValue) && !isNumericType(requestedValue)) { continue; } if (skeletonValue === requestedValue) { continue; } patternFormat[prop] = requestedValue; } patternFormat.pattern = skeletonFormat.pattern; patternFormat.pattern12 = skeletonFormat.pattern12; patternFormat.skeleton = skeletonFormat.skeleton; patternFormat.rangePatterns = skeletonFormat.rangePatterns; patternFormat.rangePatterns12 = skeletonFormat.rangePatterns12; return patternFormat; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/CanonicalizeLocaleList.js function CanonicalizeLocaleList(locales) { return Intl.getCanonicalLocales(locales); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/CanonicalizeTimeZoneName.js function CanonicalizeTimeZoneName(tz, _a) { var tzData = _a.tzData, uppercaseLinks = _a.uppercaseLinks; var uppercasedTz = tz.toUpperCase(); var uppercasedZones = Object.keys(tzData).reduce(function(all, z) { all[z.toUpperCase()] = z; return all; }, {}); var ianaTimeZone = uppercaseLinks[uppercasedTz] || uppercasedZones[uppercasedTz]; if (ianaTimeZone === "Etc/UTC" || ianaTimeZone === "Etc/GMT") { return "UTC"; } return ianaTimeZone; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/262.js function ToString(o) { if (typeof o === "symbol") { throw TypeError("Cannot convert a Symbol value to a string"); } return String(o); } function ToNumber(val) { if (val === void 0) { return NaN; } if (val === null) { return 0; } if (typeof val === "boolean") { return val ? 1 : 0; } if (typeof val === "number") { return val; } if (typeof val === "symbol" || typeof val === "bigint") { throw new TypeError("Cannot convert symbol/bigint to number"); } return Number(val); } function ToInteger(n) { var number = ToNumber(n); if (isNaN(number) || SameValue(number, -0)) { return 0; } if (isFinite(number)) { return number; } var integer = Math.floor(Math.abs(number)); if (number < 0) { integer = -integer; } if (SameValue(integer, -0)) { return 0; } return integer; } function TimeClip(time) { if (!isFinite(time)) { return NaN; } if (Math.abs(time) > 8.64 * 1e15) { return NaN; } return ToInteger(time); } function ToObject(arg) { if (arg == null) { throw new TypeError("undefined/null cannot be converted to object"); } return Object(arg); } function SameValue(x, y) { if (Object.is) { return Object.is(x, y); } if (x === y) { return x !== 0 || 1 / x === 1 / y; } return x !== x && y !== y; } function ArrayCreate(len) { return new Array(len); } function Type(x) { if (x === null) { return "Null"; } if (typeof x === "undefined") { return "Undefined"; } if (typeof x === "function" || typeof x === "object") { return "Object"; } if (typeof x === "number") { return "Number"; } if (typeof x === "boolean") { return "Boolean"; } if (typeof x === "string") { return "String"; } if (typeof x === "symbol") { return "Symbol"; } if (typeof x === "bigint") { return "BigInt"; } } var MS_PER_DAY = 864e5; function mod(x, y) { return x - Math.floor(x / y) * y; } function Day(t) { return Math.floor(t / MS_PER_DAY); } function WeekDay(t) { return mod(Day(t) + 4, 7); } function DayFromYear(y) { return Date.UTC(y, 0) / MS_PER_DAY; } function YearFromTime(t) { return new Date(t).getUTCFullYear(); } function DaysInYear(y) { if (y % 4 !== 0) { return 365; } if (y % 100 !== 0) { return 366; } if (y % 400 !== 0) { return 365; } return 366; } function DayWithinYear(t) { return Day(t) - DayFromYear(YearFromTime(t)); } function InLeapYear(t) { return DaysInYear(YearFromTime(t)) === 365 ? 0 : 1; } function MonthFromTime(t) { var dwy = DayWithinYear(t); var leap = InLeapYear(t); if (dwy >= 0 && dwy < 31) { return 0; } if (dwy < 59 + leap) { return 1; } if (dwy < 90 + leap) { return 2; } if (dwy < 120 + leap) { return 3; } if (dwy < 151 + leap) { return 4; } if (dwy < 181 + leap) { return 5; } if (dwy < 212 + leap) { return 6; } if (dwy < 243 + leap) { return 7; } if (dwy < 273 + leap) { return 8; } if (dwy < 304 + leap) { return 9; } if (dwy < 334 + leap) { return 10; } if (dwy < 365 + leap) { return 11; } throw new Error("Invalid time"); } function DateFromTime(t) { var dwy = DayWithinYear(t); var mft = MonthFromTime(t); var leap = InLeapYear(t); if (mft === 0) { return dwy + 1; } if (mft === 1) { return dwy - 30; } if (mft === 2) { return dwy - 58 - leap; } if (mft === 3) { return dwy - 89 - leap; } if (mft === 4) { return dwy - 119 - leap; } if (mft === 5) { return dwy - 150 - leap; } if (mft === 6) { return dwy - 180 - leap; } if (mft === 7) { return dwy - 211 - leap; } if (mft === 8) { return dwy - 242 - leap; } if (mft === 9) { return dwy - 272 - leap; } if (mft === 10) { return dwy - 303 - leap; } if (mft === 11) { return dwy - 333 - leap; } throw new Error("Invalid time"); } var HOURS_PER_DAY = 24; var MINUTES_PER_HOUR = 60; var SECONDS_PER_MINUTE = 60; var MS_PER_SECOND = 1e3; var MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE; var MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR; function HourFromTime(t) { return mod(Math.floor(t / MS_PER_HOUR), HOURS_PER_DAY); } function MinFromTime(t) { return mod(Math.floor(t / MS_PER_MINUTE), MINUTES_PER_HOUR); } function SecFromTime(t) { return mod(Math.floor(t / MS_PER_SECOND), SECONDS_PER_MINUTE); } function IsCallable(fn) { return typeof fn === "function"; } function OrdinaryHasInstance(C, O, internalSlots) { if (!IsCallable(C)) { return false; } if (internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction) { var BC = internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction; return O instanceof BC; } if (typeof O !== "object") { return false; } var P = C.prototype; if (typeof P !== "object") { throw new TypeError("OrdinaryHasInstance called on an object with an invalid prototype property."); } return Object.prototype.isPrototypeOf.call(P, O); } function msFromTime(t) { return mod(t, MS_PER_SECOND); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/BasicFormatMatcher.js function BasicFormatMatcher(options, formats) { var bestScore = -Infinity; var bestFormat = formats[0]; invariant(Array.isArray(formats), "formats should be a list of things"); for (var _i = 0, formats_1 = formats; _i < formats_1.length; _i++) { var format = formats_1[_i]; var score = 0; for (var _a = 0, DATE_TIME_PROPS_1 = DATE_TIME_PROPS; _a < DATE_TIME_PROPS_1.length; _a++) { var prop = DATE_TIME_PROPS_1[_a]; var optionsProp = options[prop]; var formatProp = format[prop]; if (optionsProp === void 0 && formatProp !== void 0) { score -= additionPenalty; } else if (optionsProp !== void 0 && formatProp === void 0) { score -= removalPenalty; } else if (optionsProp !== formatProp) { var values = void 0; if (prop === "fractionalSecondDigits") { values = [1, 2, 3]; } else { values = ["2-digit", "numeric", "narrow", "short", "long"]; } var optionsPropIndex = values.indexOf(optionsProp); var formatPropIndex = values.indexOf(formatProp); var delta = Math.max(-2, Math.min(formatPropIndex - optionsPropIndex, 2)); if (delta === 2) { score -= longMorePenalty; } else if (delta === 1) { score -= shortMorePenalty; } else if (delta === -1) { score -= shortLessPenalty; } else if (delta === -2) { score -= longLessPenalty; } } } if (score > bestScore) { bestScore = score; bestFormat = format; } } return __assign({}, bestFormat); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/DateTimeStyleFormat.js function DateTimeStyleFormat(dateStyle, timeStyle, dataLocaleData) { var dateFormat, timeFormat; if (timeStyle !== void 0) { invariant(timeStyle === "full" || timeStyle === "long" || timeStyle === "medium" || timeStyle === "short", "invalid timeStyle"); timeFormat = dataLocaleData.timeFormat[timeStyle]; } if (dateStyle !== void 0) { invariant(dateStyle === "full" || dateStyle === "long" || dateStyle === "medium" || dateStyle === "short", "invalid dateStyle"); dateFormat = dataLocaleData.dateFormat[dateStyle]; } if (dateStyle !== void 0 && timeStyle !== void 0) { var format = {}; for (var field in dateFormat) { if (field !== "pattern") { format[field] = dateFormat[field]; } } for (var field in timeFormat) { if (field !== "pattern" && field !== "pattern12") { format[field] = timeFormat[field]; } } var connector = dataLocaleData.dateTimeFormat[dateStyle]; var pattern = connector.replace("{0}", timeFormat.pattern).replace("{1}", dateFormat.pattern); format.pattern = pattern; if ("pattern12" in timeFormat) { var pattern12 = connector.replace("{0}", timeFormat.pattern12).replace("{1}", dateFormat.pattern); format.pattern12 = pattern12; } return format; } if (timeStyle !== void 0) { return timeFormat; } invariant(dateStyle !== void 0, "dateStyle should not be undefined"); return dateFormat; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/ToLocalTime.js function getApplicableZoneData(t, timeZone, tzData) { var _a; var zoneData = tzData[timeZone]; if (!zoneData) { return [0, false]; } var i = 0; var offset = 0; var dst = false; for (; i <= zoneData.length; i++) { if (i === zoneData.length || zoneData[i][0] * 1e3 > t) { ; _a = zoneData[i - 1], offset = _a[2], dst = _a[3]; break; } } return [offset * 1e3, dst]; } function ToLocalTime(t, calendar, timeZone, _a) { var tzData = _a.tzData; invariant(Type(t) === "Number", "invalid time"); invariant(calendar === "gregory", "We only support Gregory calendar right now"); var _b = getApplicableZoneData(t, timeZone, tzData), timeZoneOffset = _b[0], inDST = _b[1]; var tz = t + timeZoneOffset; var year = YearFromTime(tz); return { weekday: WeekDay(tz), era: year < 0 ? "BC" : "AD", year: year, relatedYear: void 0, yearName: void 0, month: MonthFromTime(tz), day: DateFromTime(tz), hour: HourFromTime(tz), minute: MinFromTime(tz), second: SecFromTime(tz), millisecond: msFromTime(tz), inDST: inDST, timeZoneOffset: timeZoneOffset }; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/FormatDateTimePattern.js function pad(n) { if (n < 10) { return "0" + n; } return String(n); } function offsetToGmtString(gmtFormat, hourFormat, offsetInMs, style) { var offsetInMinutes = Math.floor(offsetInMs / 6e4); var mins = Math.abs(offsetInMinutes) % 60; var hours = Math.floor(Math.abs(offsetInMinutes) / 60); var _a = hourFormat.split(";"), positivePattern = _a[0], negativePattern = _a[1]; var offsetStr = ""; var pattern = offsetInMs < 0 ? negativePattern : positivePattern; if (style === "long") { offsetStr = pattern.replace("HH", pad(hours)).replace("H", String(hours)).replace("mm", pad(mins)).replace("m", String(mins)); } else if (mins || hours) { if (!mins) { pattern = pattern.replace(/:?m+/, ""); } offsetStr = pattern.replace(/H+/, String(hours)).replace(/m+/, String(mins)); } return gmtFormat.replace("{0}", offsetStr); } function FormatDateTimePattern(dtf, patternParts, x, _a) { var getInternalSlots2 = _a.getInternalSlots, localeData = _a.localeData, getDefaultTimeZone = _a.getDefaultTimeZone, tzData = _a.tzData; x = TimeClip(x); var internalSlots = getInternalSlots2(dtf); var dataLocale = internalSlots.dataLocale; var dataLocaleData = localeData[dataLocale]; var locale = internalSlots.locale; var nfOptions = Object.create(null); nfOptions.useGrouping = false; var nf = new Intl.NumberFormat(locale, nfOptions); var nf2Options = Object.create(null); nf2Options.minimumIntegerDigits = 2; nf2Options.useGrouping = false; var nf2 = new Intl.NumberFormat(locale, nf2Options); var fractionalSecondDigits = internalSlots.fractionalSecondDigits; var nf3; if (fractionalSecondDigits !== void 0) { var nf3Options = Object.create(null); nf3Options.minimumIntegerDigits = fractionalSecondDigits; nf3Options.useGrouping = false; nf3 = new Intl.NumberFormat(locale, nf3Options); } var tm = ToLocalTime(x, internalSlots.calendar, internalSlots.timeZone, {tzData: tzData}); var result = []; for (var _i = 0, patternParts_1 = patternParts; _i < patternParts_1.length; _i++) { var patternPart = patternParts_1[_i]; var p = patternPart.type; if (p === "literal") { result.push({ type: "literal", value: patternPart.value }); } else if (p === "fractionalSecondDigits") { var v = Math.floor(tm.millisecond * Math.pow(10, (fractionalSecondDigits || 0) - 3)); result.push({ type: "fractionalSecond", value: nf3.format(v) }); } else if (DATE_TIME_PROPS.indexOf(p) > -1) { var fv = ""; var f = internalSlots[p]; var v = tm[p]; if (p === "year" && v <= 0) { v = 1 - v; } if (p === "month") { v++; } var hourCycle = internalSlots.hourCycle; if (p === "hour" && (hourCycle === "h11" || hourCycle === "h12")) { v = v % 12; if (v === 0 && hourCycle === "h12") { v = 12; } } if (p === "hour" && hourCycle === "h24") { if (v === 0) { v = 24; } } if (f === "numeric") { fv = nf.format(v); } else if (f === "2-digit") { fv = nf2.format(v); if (fv.length > 2) { fv = fv.slice(fv.length - 2, fv.length); } } else if (f === "narrow" || f === "short" || f === "long") { if (p === "era") { fv = dataLocaleData[p][f][v]; } else if (p === "timeZoneName") { var timeZoneName = dataLocaleData.timeZoneName, gmtFormat = dataLocaleData.gmtFormat, hourFormat = dataLocaleData.hourFormat; var timeZone = internalSlots.timeZone || getDefaultTimeZone(); var timeZoneData = timeZoneName[timeZone]; if (timeZoneData && timeZoneData[f]) { fv = timeZoneData[f][+tm.inDST]; } else { fv = offsetToGmtString(gmtFormat, hourFormat, tm.timeZoneOffset, f); } } else if (p === "month") { fv = dataLocaleData.month[f][v - 1]; } else { fv = dataLocaleData[p][f][v]; } } result.push({ type: p, value: fv }); } else if (p === "ampm") { var v = tm.hour; var fv = void 0; if (v > 11) { fv = dataLocaleData.pm; } else { fv = dataLocaleData.am; } result.push({ type: "dayPeriod", value: fv }); } else if (p === "relatedYear") { var v = tm.relatedYear; var fv = nf.format(v); result.push({ type: "relatedYear", value: fv }); } else if (p === "yearName") { var v = tm.yearName; var fv = nf.format(v); result.push({ type: "yearName", value: fv }); } } return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/PartitionPattern.js function PartitionPattern(pattern) { var result = []; var beginIndex = pattern.indexOf("{"); var endIndex = 0; var nextIndex = 0; var length = pattern.length; while (beginIndex < pattern.length && beginIndex > -1) { endIndex = pattern.indexOf("}", beginIndex); invariant(endIndex > beginIndex, "Invalid pattern " + pattern); if (beginIndex > nextIndex) { result.push({ type: "literal", value: pattern.substring(nextIndex, beginIndex) }); } result.push({ type: pattern.substring(beginIndex + 1, endIndex), value: void 0 }); nextIndex = endIndex + 1; beginIndex = pattern.indexOf("{", nextIndex); } if (nextIndex < length) { result.push({ type: "literal", value: pattern.substring(nextIndex, length) }); } return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/PartitionDateTimePattern.js function PartitionDateTimePattern(dtf, x, implDetails) { x = TimeClip(x); if (isNaN(x)) { throw new RangeError("invalid time"); } var getInternalSlots2 = implDetails.getInternalSlots; var internalSlots = getInternalSlots2(dtf); var pattern = internalSlots.pattern; return FormatDateTimePattern(dtf, PartitionPattern(pattern), x, implDetails); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/FormatDateTime.js function FormatDateTime(dtf, x, implDetails) { var parts = PartitionDateTimePattern(dtf, x, implDetails); var result = ""; for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) { var part = parts_1[_i]; result += part.value; } return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/PartitionDateTimeRangePattern.js var TABLE_2_FIELDS = [ "era", "year", "month", "day", "ampm", "hour", "minute", "second", "fractionalSecondDigits" ]; function PartitionDateTimeRangePattern(dtf, x, y, implDetails) { x = TimeClip(x); if (isNaN(x)) { throw new RangeError("Invalid start time"); } y = TimeClip(y); if (isNaN(y)) { throw new RangeError("Invalid end time"); } var getInternalSlots2 = implDetails.getInternalSlots, tzData = implDetails.tzData; var internalSlots = getInternalSlots2(dtf); var tm1 = ToLocalTime(x, internalSlots.calendar, internalSlots.timeZone, {tzData: tzData}); var tm2 = ToLocalTime(y, internalSlots.calendar, internalSlots.timeZone, {tzData: tzData}); var pattern = internalSlots.pattern, rangePatterns = internalSlots.rangePatterns; var rangePattern; var dateFieldsPracticallyEqual = true; var patternContainsLargerDateField = false; for (var _i = 0, TABLE_2_FIELDS_1 = TABLE_2_FIELDS; _i < TABLE_2_FIELDS_1.length; _i++) { var fieldName = TABLE_2_FIELDS_1[_i]; if (dateFieldsPracticallyEqual && !patternContainsLargerDateField) { if (fieldName === "ampm") { var rp = rangePatterns.ampm; if (rangePattern !== void 0 && rp === void 0) { patternContainsLargerDateField = true; } else { var v1 = tm1.hour; var v2 = tm2.hour; if (v1 > 11 && v2 < 11 || v1 < 11 && v2 > 11) { dateFieldsPracticallyEqual = false; } rangePattern = rp; } } else if (fieldName === "fractionalSecondDigits") { var fractionalSecondDigits = internalSlots.fractionalSecondDigits; if (fractionalSecondDigits === void 0) { fractionalSecondDigits = 3; } var v1 = Math.floor(tm1.millisecond * Math.pow(10, fractionalSecondDigits - 3)); var v2 = Math.floor(tm2.millisecond * Math.pow(10, fractionalSecondDigits - 3)); if (v1 !== v2) { dateFieldsPracticallyEqual = false; } } else { var rp = rangePatterns[fieldName]; if (rangePattern !== void 0 && rp === void 0) { patternContainsLargerDateField = true; } else { var v1 = tm1[fieldName]; var v2 = tm2[fieldName]; if (!SameValue(v1, v2)) { dateFieldsPracticallyEqual = false; } rangePattern = rp; } } } } if (dateFieldsPracticallyEqual) { var result_2 = FormatDateTimePattern(dtf, PartitionPattern(pattern), x, implDetails); for (var _a = 0, result_1 = result_2; _a < result_1.length; _a++) { var r = result_1[_a]; r.source = RangePatternType.shared; } return result_2; } var result = []; if (rangePattern === void 0) { rangePattern = rangePatterns.default; for (var _b = 0, _c = rangePattern.patternParts; _b < _c.length; _b++) { var patternPart = _c[_b]; if (patternPart.pattern === "{0}" || patternPart.pattern === "{1}") { patternPart.pattern = pattern; } } } for (var _d = 0, _e = rangePattern.patternParts; _d < _e.length; _d++) { var rangePatternPart = _e[_d]; var source = rangePatternPart.source, pattern_1 = rangePatternPart.pattern; var z = void 0; if (source === RangePatternType.startRange || source === RangePatternType.shared) { z = x; } else { z = y; } var patternParts = PartitionPattern(pattern_1); var partResult = FormatDateTimePattern(dtf, patternParts, z, implDetails); for (var _f = 0, partResult_1 = partResult; _f < partResult_1.length; _f++) { var r = partResult_1[_f]; r.source = source; } result = result.concat(partResult); } return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/FormatDateTimeRange.js function FormatDateTimeRange(dtf, x, y, implDetails) { var parts = PartitionDateTimeRangePattern(dtf, x, y, implDetails); var result = ""; for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) { var part = parts_1[_i]; result += part.value; } return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/FormatDateTimeRangeToParts.js function FormatDateTimeRangeToParts(dtf, x, y, implDetails) { var parts = PartitionDateTimeRangePattern(dtf, x, y, implDetails); var result = new Array(0); for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) { var part = parts_1[_i]; result.push({ type: part.type, value: part.value, source: part.source }); } return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/FormatDateTimeToParts.js function FormatDateTimeToParts(dtf, x, implDetails) { var parts = PartitionDateTimePattern(dtf, x, implDetails); var result = ArrayCreate(0); for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) { var part = parts_1[_i]; result.push({ type: part.type, value: part.value }); } return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/ToDateTimeOptions.js function ToDateTimeOptions(options, required, defaults) { if (options === void 0) { options = null; } else { options = ToObject(options); } options = Object.create(options); var needDefaults = true; if (required === "date" || required === "any") { for (var _i = 0, _a = ["weekday", "year", "month", "day"]; _i < _a.length; _i++) { var prop = _a[_i]; var value = options[prop]; if (value !== void 0) { needDefaults = false; } } } if (required === "time" || required === "any") { for (var _b = 0, _c = [ "dayPeriod", "hour", "minute", "second", "fractionalSecondDigits" ]; _b < _c.length; _b++) { var prop = _c[_b]; var value = options[prop]; if (value !== void 0) { needDefaults = false; } } } if (options.dateStyle !== void 0 || options.timeStyle !== void 0) { needDefaults = false; } if (required === "date" && options.timeStyle) { throw new TypeError("Intl.DateTimeFormat date was required but timeStyle was included"); } if (required === "time" && options.dateStyle) { throw new TypeError("Intl.DateTimeFormat time was required but dateStyle was included"); } if (needDefaults && (defaults === "date" || defaults === "all")) { for (var _d = 0, _e = ["year", "month", "day"]; _d < _e.length; _d++) { var prop = _e[_d]; options[prop] = "numeric"; } } if (needDefaults && (defaults === "time" || defaults === "all")) { for (var _f = 0, _g = ["hour", "minute", "second"]; _f < _g.length; _f++) { var prop = _g[_f]; options[prop] = "numeric"; } } return options; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/GetOption.js function GetOption(opts, prop, type, values, fallback) { if (typeof opts !== "object") { throw new TypeError("Options must be an object"); } var value = opts[prop]; if (value !== void 0) { if (type !== "boolean" && type !== "string") { throw new TypeError("invalid type"); } if (type === "boolean") { value = Boolean(value); } if (type === "string") { value = ToString(value); } if (values !== void 0 && !values.filter(function(val) { return val == value; }).length) { throw new RangeError(value + " is not within " + values.join(", ")); } return value; } return fallback; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/BestAvailableLocale.js function BestAvailableLocale(availableLocales, locale) { var candidate = locale; while (true) { if (availableLocales.has(candidate)) { return candidate; } var pos = candidate.lastIndexOf("-"); if (!~pos) { return void 0; } if (pos >= 2 && candidate[pos - 2] === "-") { pos -= 2; } candidate = candidate.slice(0, pos); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/LookupMatcher.js function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) { var result = {locale: ""}; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var locale = requestedLocales_1[_i]; var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale); if (availableLocale) { result.locale = availableLocale; if (locale !== noExtensionLocale) { result.extension = locale.slice(noExtensionLocale.length + 1, locale.length); } return result; } } result.locale = getDefaultLocale(); return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/BestFitMatcher.js function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) { var minimizedAvailableLocaleMap = {}; var minimizedAvailableLocales = new Set(); availableLocales.forEach(function(locale2) { var minimizedLocale = new Intl.Locale(locale2).minimize().toString(); minimizedAvailableLocaleMap[minimizedLocale] = locale2; minimizedAvailableLocales.add(minimizedLocale); }); var foundLocale; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var l = requestedLocales_1[_i]; if (foundLocale) { break; } var noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); if (availableLocales.has(noExtensionLocale)) { foundLocale = noExtensionLocale; break; } if (minimizedAvailableLocales.has(noExtensionLocale)) { foundLocale = minimizedAvailableLocaleMap[noExtensionLocale]; break; } var locale = new Intl.Locale(noExtensionLocale); var maximizedRequestedLocale = locale.maximize().toString(); var minimizedRequestedLocale = locale.minimize().toString(); if (minimizedAvailableLocales.has(minimizedRequestedLocale)) { foundLocale = minimizedAvailableLocaleMap[minimizedRequestedLocale]; break; } foundLocale = BestAvailableLocale(minimizedAvailableLocales, maximizedRequestedLocale); } return { locale: foundLocale || getDefaultLocale() }; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/UnicodeExtensionValue.js function UnicodeExtensionValue(extension, key) { invariant(key.length === 2, "key must have 2 elements"); var size = extension.length; var searchValue = "-" + key + "-"; var pos = extension.indexOf(searchValue); if (pos !== -1) { var start = pos + 4; var end = start; var k = start; var done = false; while (!done) { var e = extension.indexOf("-", k); var len = void 0; if (e === -1) { len = size - k; } else { len = e - k; } if (len === 2) { done = true; } else if (e === -1) { end = size; done = true; } else { end = e; k = e + 1; } } return extension.slice(start, end); } searchValue = "-" + key; pos = extension.indexOf(searchValue); if (pos !== -1 && pos + 3 === size) { return ""; } return void 0; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/ResolveLocale.js function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) { var matcher = options.localeMatcher; var r; if (matcher === "lookup") { r = LookupMatcher(availableLocales, requestedLocales, getDefaultLocale); } else { r = BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale); } var foundLocale = r.locale; var result = {locale: "", dataLocale: foundLocale}; var supportedExtension = "-u"; for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) { var key = relevantExtensionKeys_1[_i]; invariant(foundLocale in localeData, "Missing locale data for " + foundLocale); var foundLocaleData = localeData[foundLocale]; invariant(typeof foundLocaleData === "object" && foundLocaleData !== null, "locale data " + key + " must be an object"); var keyLocaleData = foundLocaleData[key]; invariant(Array.isArray(keyLocaleData), "keyLocaleData for " + key + " must be an array"); var value = keyLocaleData[0]; invariant(typeof value === "string" || value === null, "value must be string or null but got " + typeof value + " in key " + key); var supportedExtensionAddition = ""; if (r.extension) { var requestedValue = UnicodeExtensionValue(r.extension, key); if (requestedValue !== void 0) { if (requestedValue !== "") { if (~keyLocaleData.indexOf(requestedValue)) { value = requestedValue; supportedExtensionAddition = "-" + key + "-" + value; } } else if (~requestedValue.indexOf("true")) { value = "true"; supportedExtensionAddition = "-" + key; } } } if (key in options) { var optionsValue = options[key]; invariant(typeof optionsValue === "string" || typeof optionsValue === "undefined" || optionsValue === null, "optionsValue must be String, Undefined or Null"); if (~keyLocaleData.indexOf(optionsValue)) { if (optionsValue !== value) { value = optionsValue; supportedExtensionAddition = ""; } } } result[key] = value; supportedExtension += supportedExtensionAddition; } if (supportedExtension.length > 2) { var privateIndex = foundLocale.indexOf("-x-"); if (privateIndex === -1) { foundLocale = foundLocale + supportedExtension; } else { var preExtension = foundLocale.slice(0, privateIndex); var postExtension = foundLocale.slice(privateIndex, foundLocale.length); foundLocale = preExtension + supportedExtension + postExtension; } foundLocale = Intl.getCanonicalLocales(foundLocale)[0]; } result.locale = foundLocale; return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/IsValidTimeZoneName.js function IsValidTimeZoneName(tz, _a) { var tzData = _a.tzData, uppercaseLinks = _a.uppercaseLinks; var uppercasedTz = tz.toUpperCase(); var zoneNames = new Set(); Object.keys(tzData).map(function(z) { return z.toUpperCase(); }).forEach(function(z) { return zoneNames.add(z); }); return zoneNames.has(uppercasedTz) || uppercasedTz in uppercaseLinks; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DefaultNumberOption.js function DefaultNumberOption(val, min, max, fallback) { if (val !== void 0) { val = Number(val); if (isNaN(val) || val < min || val > max) { throw new RangeError(val + " is outside of range [" + min + ", " + max + "]"); } return Math.floor(val); } return fallback; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/GetNumberOption.js function GetNumberOption(options, property, minimum, maximum, fallback) { var val = options[property]; return DefaultNumberOption(val, minimum, maximum, fallback); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/DateTimeFormat/InitializeDateTimeFormat.js function isTimeRelated(opt) { for (var _i = 0, _a = ["hour", "minute", "second"]; _i < _a.length; _i++) { var prop = _a[_i]; var value = opt[prop]; if (value !== void 0) { return true; } } return false; } function resolveHourCycle(hc, hcDefault, hour12) { if (hc == null) { hc = hcDefault; } if (hour12 !== void 0) { if (hour12) { if (hcDefault === "h11" || hcDefault === "h23") { hc = "h11"; } else { hc = "h12"; } } else { invariant(!hour12, "hour12 must not be set"); if (hcDefault === "h11" || hcDefault === "h23") { hc = "h23"; } else { hc = "h24"; } } } return hc; } var TYPE_REGEX = /^[a-z0-9]{3,8}$/i; function InitializeDateTimeFormat(dtf, locales, opts, _a) { var getInternalSlots2 = _a.getInternalSlots, availableLocales = _a.availableLocales, localeData = _a.localeData, getDefaultLocale = _a.getDefaultLocale, getDefaultTimeZone = _a.getDefaultTimeZone, relevantExtensionKeys = _a.relevantExtensionKeys, tzData = _a.tzData, uppercaseLinks = _a.uppercaseLinks; var requestedLocales = CanonicalizeLocaleList(locales); var options = ToDateTimeOptions(opts, "any", "date"); var opt = Object.create(null); var matcher = GetOption(options, "localeMatcher", "string", ["lookup", "best fit"], "best fit"); opt.localeMatcher = matcher; var calendar = GetOption(options, "calendar", "string", void 0, void 0); if (calendar !== void 0 && !TYPE_REGEX.test(calendar)) { throw new RangeError("Malformed calendar"); } var internalSlots = getInternalSlots2(dtf); opt.ca = calendar; var numberingSystem = GetOption(options, "numberingSystem", "string", void 0, void 0); if (numberingSystem !== void 0 && !TYPE_REGEX.test(numberingSystem)) { throw new RangeError("Malformed numbering system"); } opt.nu = numberingSystem; var hour12 = GetOption(options, "hour12", "boolean", void 0, void 0); var hourCycle = GetOption(options, "hourCycle", "string", ["h11", "h12", "h23", "h24"], void 0); if (hour12 !== void 0) { hourCycle = null; } opt.hc = hourCycle; var r = ResolveLocale(availableLocales, requestedLocales, opt, relevantExtensionKeys, localeData, getDefaultLocale); internalSlots.locale = r.locale; calendar = r.ca; internalSlots.calendar = calendar; internalSlots.hourCycle = r.hc; internalSlots.numberingSystem = r.nu; var dataLocale = r.dataLocale; internalSlots.dataLocale = dataLocale; var timeZone = options.timeZone; if (timeZone !== void 0) { timeZone = String(timeZone); if (!IsValidTimeZoneName(timeZone, {tzData: tzData, uppercaseLinks: uppercaseLinks})) { throw new RangeError("Invalid timeZoneName"); } timeZone = CanonicalizeTimeZoneName(timeZone, {tzData: tzData, uppercaseLinks: uppercaseLinks}); } else { timeZone = getDefaultTimeZone(); } internalSlots.timeZone = timeZone; opt = Object.create(null); opt.weekday = GetOption(options, "weekday", "string", ["narrow", "short", "long"], void 0); opt.era = GetOption(options, "era", "string", ["narrow", "short", "long"], void 0); opt.year = GetOption(options, "year", "string", ["2-digit", "numeric"], void 0); opt.month = GetOption(options, "month", "string", ["2-digit", "numeric", "narrow", "short", "long"], void 0); opt.day = GetOption(options, "day", "string", ["2-digit", "numeric"], void 0); opt.hour = GetOption(options, "hour", "string", ["2-digit", "numeric"], void 0); opt.minute = GetOption(options, "minute", "string", ["2-digit", "numeric"], void 0); opt.second = GetOption(options, "second", "string", ["2-digit", "numeric"], void 0); opt.timeZoneName = GetOption(options, "timeZoneName", "string", ["short", "long"], void 0); opt.fractionalSecondDigits = GetNumberOption(options, "fractionalSecondDigits", 1, 3, void 0); var dataLocaleData = localeData[dataLocale]; invariant(!!dataLocaleData, "Missing locale data for " + dataLocale); var formats = dataLocaleData.formats[calendar]; if (!formats) { throw new RangeError('Calendar "' + calendar + '" is not supported. Try setting "calendar" to 1 of the following: ' + Object.keys(dataLocaleData.formats).join(", ")); } var formatMatcher = GetOption(options, "formatMatcher", "string", ["basic", "best fit"], "best fit"); var dateStyle = GetOption(options, "dateStyle", "string", ["full", "long", "medium", "short"], void 0); internalSlots.dateStyle = dateStyle; var timeStyle = GetOption(options, "timeStyle", "string", ["full", "long", "medium", "short"], void 0); internalSlots.timeStyle = timeStyle; var bestFormat; if (dateStyle === void 0 && timeStyle === void 0) { if (formatMatcher === "basic") { bestFormat = BasicFormatMatcher(opt, formats); } else { if (isTimeRelated(opt)) { var hc = resolveHourCycle(internalSlots.hourCycle, dataLocaleData.hourCycle, hour12); opt.hour12 = hc === "h11" || hc === "h12"; } bestFormat = BestFitFormatMatcher(opt, formats); } } else { for (var _i = 0, DATE_TIME_PROPS_1 = DATE_TIME_PROPS; _i < DATE_TIME_PROPS_1.length; _i++) { var prop = DATE_TIME_PROPS_1[_i]; var p = opt[prop]; if (p !== void 0) { throw new TypeError("Intl.DateTimeFormat can't set option " + prop + " when " + (dateStyle ? "dateStyle" : "timeStyle") + " is used"); } } bestFormat = DateTimeStyleFormat(dateStyle, timeStyle, dataLocaleData); } internalSlots.format = bestFormat; for (var prop in opt) { var p = bestFormat[prop]; if (p !== void 0) { internalSlots[prop] = p; } } var pattern; var rangePatterns; if (internalSlots.hour !== void 0) { var hc = resolveHourCycle(internalSlots.hourCycle, dataLocaleData.hourCycle, hour12); internalSlots.hourCycle = hc; if (hc === "h11" || hc === "h12") { pattern = bestFormat.pattern12; rangePatterns = bestFormat.rangePatterns12; } else { pattern = bestFormat.pattern; rangePatterns = bestFormat.rangePatterns; } } else { internalSlots.hourCycle = void 0; pattern = bestFormat.pattern; rangePatterns = bestFormat.rangePatterns; } internalSlots.pattern = pattern; internalSlots.rangePatterns = rangePatterns; return dtf; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/IsSanctionedSimpleUnitIdentifier.js var SANCTIONED_UNITS = [ "angle-degree", "area-acre", "area-hectare", "concentr-percent", "digital-bit", "digital-byte", "digital-gigabit", "digital-gigabyte", "digital-kilobit", "digital-kilobyte", "digital-megabit", "digital-megabyte", "digital-petabyte", "digital-terabit", "digital-terabyte", "duration-day", "duration-hour", "duration-millisecond", "duration-minute", "duration-month", "duration-second", "duration-week", "duration-year", "length-centimeter", "length-foot", "length-inch", "length-kilometer", "length-meter", "length-mile-scandinavian", "length-mile", "length-millimeter", "length-yard", "mass-gram", "mass-kilogram", "mass-ounce", "mass-pound", "mass-stone", "temperature-celsius", "temperature-fahrenheit", "volume-fluid-ounce", "volume-gallon", "volume-liter", "volume-milliliter" ]; function removeUnitNamespace(unit) { return unit.slice(unit.indexOf("-") + 1); } var SIMPLE_UNITS = SANCTIONED_UNITS.map(removeUnitNamespace); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/regex.generated.js var S_UNICODE_REGEX = /[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEE0-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDD78\uDD7A-\uDDCB\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6\uDF00-\uDF92\uDF94-\uDFCA]/; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/format_to_parts.js var CARET_S_UNICODE_REGEX = new RegExp("^" + S_UNICODE_REGEX.source); var S_DOLLAR_UNICODE_REGEX = new RegExp(S_UNICODE_REGEX.source + "$"); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/LookupSupportedLocales.js function LookupSupportedLocales(availableLocales, requestedLocales) { var subset = []; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var locale = requestedLocales_1[_i]; var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale); if (availableLocale) { subset.push(availableLocale); } } return subset; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/SupportedLocales.js function SupportedLocales(availableLocales, requestedLocales, options) { var matcher = "best fit"; if (options !== void 0) { options = ToObject(options); matcher = GetOption(options, "localeMatcher", "string", ["lookup", "best fit"], "best fit"); } if (matcher === "best fit") { return LookupSupportedLocales(availableLocales, requestedLocales); } return LookupSupportedLocales(availableLocales, requestedLocales); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/data.js var MissingLocaleDataError = function(_super) { __extends(MissingLocaleDataError2, _super); function MissingLocaleDataError2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = "MISSING_LOCALE_DATA"; return _this; } return MissingLocaleDataError2; }(Error); // bazel-out/darwin-fastbuild/bin/packages/intl-datetimeformat/lib/src/get_internal_slots.js var internalSlotMap = new WeakMap(); function getInternalSlots(x) { var internalSlots = internalSlotMap.get(x); if (!internalSlots) { internalSlots = Object.create(null); internalSlotMap.set(x, internalSlots); } return internalSlots; } // bazel-out/darwin-fastbuild/bin/packages/intl-datetimeformat/lib/src/data/links.js var links_default = { "Africa/Asmera": "Africa/Nairobi", "Africa/Timbuktu": "Africa/Abidjan", "America/Argentina/ComodRivadavia": "America/Argentina/Catamarca", "America/Atka": "America/Adak", "America/Buenos_Aires": "America/Argentina/Buenos_Aires", "America/Catamarca": "America/Argentina/Catamarca", "America/Coral_Harbour": "America/Atikokan", "America/Cordoba": "America/Argentina/Cordoba", "America/Ensenada": "America/Tijuana", "America/Fort_Wayne": "America/Indiana/Indianapolis", "America/Godthab": "America/Nuuk", "America/Indianapolis": "America/Indiana/Indianapolis", "America/Jujuy": "America/Argentina/Jujuy", "America/Knox_IN": "America/Indiana/Knox", "America/Louisville": "America/Kentucky/Louisville", "America/Mendoza": "America/Argentina/Mendoza", "America/Montreal": "America/Toronto", "America/Porto_Acre": "America/Rio_Branco", "America/Rosario": "America/Argentina/Cordoba", "America/Santa_Isabel": "America/Tijuana", "America/Shiprock": "America/Denver", "America/Virgin": "America/Port_of_Spain", "Antarctica/South_Pole": "Pacific/Auckland", "Asia/Ashkhabad": "Asia/Ashgabat", "Asia/Calcutta": "Asia/Kolkata", "Asia/Chongqing": "Asia/Shanghai", "Asia/Chungking": "Asia/Shanghai", "Asia/Dacca": "Asia/Dhaka", "Asia/Harbin": "Asia/Shanghai", "Asia/Kashgar": "Asia/Urumqi", "Asia/Katmandu": "Asia/Kathmandu", "Asia/Macao": "Asia/Macau", "Asia/Rangoon": "Asia/Yangon", "Asia/Saigon": "Asia/Ho_Chi_Minh", "Asia/Tel_Aviv": "Asia/Jerusalem", "Asia/Thimbu": "Asia/Thimphu", "Asia/Ujung_Pandang": "Asia/Makassar", "Asia/Ulan_Bator": "Asia/Ulaanbaatar", "Atlantic/Faeroe": "Atlantic/Faroe", "Atlantic/Jan_Mayen": "Europe/Oslo", "Australia/ACT": "Australia/Sydney", "Australia/Canberra": "Australia/Sydney", "Australia/Currie": "Australia/Hobart", "Australia/LHI": "Australia/Lord_Howe", "Australia/NSW": "Australia/Sydney", "Australia/North": "Australia/Darwin", "Australia/Queensland": "Australia/Brisbane", "Australia/South": "Australia/Adelaide", "Australia/Tasmania": "Australia/Hobart", "Australia/Victoria": "Australia/Melbourne", "Australia/West": "Australia/Perth", "Australia/Yancowinna": "Australia/Broken_Hill", "Brazil/Acre": "America/Rio_Branco", "Brazil/DeNoronha": "America/Noronha", "Brazil/East": "America/Sao_Paulo", "Brazil/West": "America/Manaus", "Canada/Atlantic": "America/Halifax", "Canada/Central": "America/Winnipeg", "Canada/Eastern": "America/Toronto", "Canada/Mountain": "America/Edmonton", "Canada/Newfoundland": "America/St_Johns", "Canada/Pacific": "America/Vancouver", "Canada/Saskatchewan": "America/Regina", "Canada/Yukon": "America/Whitehorse", "Chile/Continental": "America/Santiago", "Chile/EasterIsland": "Pacific/Easter", "Cuba": "America/Havana", "Egypt": "Africa/Cairo", "Eire": "Europe/Dublin", "Etc/UCT": "Etc/UTC", "Europe/Belfast": "Europe/London", "Europe/Tiraspol": "Europe/Chisinau", "GB": "Europe/London", "GB-Eire": "Europe/London", "GMT+0": "Etc/GMT", "GMT-0": "Etc/GMT", "GMT0": "Etc/GMT", "Greenwich": "Etc/GMT", "Hongkong": "Asia/Hong_Kong", "Iceland": "Atlantic/Reykjavik", "Iran": "Asia/Tehran", "Israel": "Asia/Jerusalem", "Jamaica": "America/Jamaica", "Japan": "Asia/Tokyo", "Kwajalein": "Pacific/Kwajalein", "Libya": "Africa/Tripoli", "Mexico/BajaNorte": "America/Tijuana", "Mexico/BajaSur": "America/Mazatlan", "Mexico/General": "America/Mexico_City", "NZ": "Pacific/Auckland", "NZ-CHAT": "Pacific/Chatham", "Navajo": "America/Denver", "PRC": "Asia/Shanghai", "Pacific/Johnston": "Pacific/Honolulu", "Pacific/Ponape": "Pacific/Pohnpei", "Pacific/Samoa": "Pacific/Pago_Pago", "Pacific/Truk": "Pacific/Chuuk", "Pacific/Yap": "Pacific/Chuuk", "Poland": "Europe/Warsaw", "Portugal": "Europe/Lisbon", "ROC": "Asia/Taipei", "ROK": "Asia/Seoul", "Singapore": "Asia/Singapore", "Turkey": "Europe/Istanbul", "UCT": "Etc/UTC", "US/Alaska": "America/Anchorage", "US/Aleutian": "America/Adak", "US/Arizona": "America/Phoenix", "US/Central": "America/Chicago", "US/East-Indiana": "America/Indiana/Indianapolis", "US/Eastern": "America/New_York", "US/Hawaii": "Pacific/Honolulu", "US/Indiana-Starke": "America/Indiana/Knox", "US/Michigan": "America/Detroit", "US/Mountain": "America/Denver", "US/Pacific": "America/Los_Angeles", "US/Samoa": "Pacific/Pago_Pago", "UTC": "Etc/UTC", "Universal": "Etc/UTC", "W-SU": "Europe/Moscow", "Zulu": "Etc/UTC" }; // bazel-out/darwin-fastbuild/bin/packages/intl-datetimeformat/lib/src/packer.js function unpack(data) { var abbrvs = data.abbrvs.split("|"); var offsets = data.offsets.split("|").map(function(n) { return parseInt(n, 36); }); var packedZones = data.zones; var zones = {}; for (var _i = 0, packedZones_1 = packedZones; _i < packedZones_1.length; _i++) { var d = packedZones_1[_i]; var _a = d.split("|"), zone = _a[0], zoneData = _a.slice(1); zones[zone] = zoneData.map(function(z) { return z.split(","); }).map(function(_a2) { var ts = _a2[0], abbrvIndex = _a2[1], offsetIndex = _a2[2], dst = _a2[3]; return [ ts === "" ? -Infinity : parseInt(ts, 36), abbrvs[+abbrvIndex], offsets[+offsetIndex], dst === "1" ]; }); } return zones; } // bazel-out/darwin-fastbuild/bin/packages/intl-datetimeformat/lib/src/core.js var UPPERCASED_LINKS = Object.keys(links_default).reduce(function(all, l) { all[l.toUpperCase()] = links_default[l]; return all; }, {}); var RESOLVED_OPTIONS_KEYS = [ "locale", "calendar", "numberingSystem", "dateStyle", "timeStyle", "timeZone", "hourCycle", "weekday", "era", "year", "month", "day", "hour", "minute", "second", "timeZoneName" ]; var formatDescriptor = { enumerable: false, configurable: true, get: function() { if (typeof this !== "object" || !OrdinaryHasInstance(DateTimeFormat, this)) { throw TypeError("Intl.DateTimeFormat format property accessor called on incompatible receiver"); } var internalSlots = getInternalSlots(this); var dtf = this; var boundFormat = internalSlots.boundFormat; if (boundFormat === void 0) { boundFormat = function(date) { var x; if (date === void 0) { x = Date.now(); } else { x = Number(date); } return FormatDateTime(dtf, x, { getInternalSlots: getInternalSlots, localeData: DateTimeFormat.localeData, tzData: DateTimeFormat.tzData, getDefaultTimeZone: DateTimeFormat.getDefaultTimeZone }); }; try { Object.defineProperty(boundFormat, "name", { configurable: true, enumerable: false, writable: false, value: "" }); } catch (e) { } internalSlots.boundFormat = boundFormat; } return boundFormat; } }; try { Object.defineProperty(formatDescriptor.get, "name", { configurable: true, enumerable: false, writable: false, value: "get format" }); } catch (e) { } var DateTimeFormat = function(locales, options) { if (!this || !OrdinaryHasInstance(DateTimeFormat, this)) { return new DateTimeFormat(locales, options); } InitializeDateTimeFormat(this, locales, options, { tzData: DateTimeFormat.tzData, uppercaseLinks: UPPERCASED_LINKS, availableLocales: DateTimeFormat.availableLocales, relevantExtensionKeys: DateTimeFormat.relevantExtensionKeys, getDefaultLocale: DateTimeFormat.getDefaultLocale, getDefaultTimeZone: DateTimeFormat.getDefaultTimeZone, getInternalSlots: getInternalSlots, localeData: DateTimeFormat.localeData }); var internalSlots = getInternalSlots(this); var dataLocale = internalSlots.dataLocale; var dataLocaleData = DateTimeFormat.localeData[dataLocale]; invariant(dataLocaleData !== void 0, "Cannot load locale-dependent data for " + dataLocale + "."); }; defineProperty(DateTimeFormat, "supportedLocalesOf", { value: function supportedLocalesOf(locales, options) { return SupportedLocales(DateTimeFormat.availableLocales, CanonicalizeLocaleList(locales), options); } }); defineProperty(DateTimeFormat.prototype, "resolvedOptions", { value: function resolvedOptions() { if (typeof this !== "object" || !OrdinaryHasInstance(DateTimeFormat, this)) { throw TypeError("Method Intl.DateTimeFormat.prototype.resolvedOptions called on incompatible receiver"); } var internalSlots = getInternalSlots(this); var ro = {}; for (var _i = 0, RESOLVED_OPTIONS_KEYS_1 = RESOLVED_OPTIONS_KEYS; _i < RESOLVED_OPTIONS_KEYS_1.length; _i++) { var key = RESOLVED_OPTIONS_KEYS_1[_i]; var value = internalSlots[key]; if (key === "hourCycle") { var hour12 = value === "h11" || value === "h12" ? true : value === "h23" || value === "h24" ? false : void 0; if (hour12 !== void 0) { ro.hour12 = hour12; } } if (DATE_TIME_PROPS.indexOf(key) > -1) { if (internalSlots.dateStyle !== void 0 || internalSlots.timeStyle !== void 0) { value = void 0; } } if (value !== void 0) { ro[key] = value; } } return ro; } }); defineProperty(DateTimeFormat.prototype, "formatToParts", { value: function formatToParts2(date) { if (date === void 0) { date = Date.now(); } else { date = ToNumber(date); } return FormatDateTimeToParts(this, date, { getInternalSlots: getInternalSlots, localeData: DateTimeFormat.localeData, tzData: DateTimeFormat.tzData, getDefaultTimeZone: DateTimeFormat.getDefaultTimeZone }); } }); defineProperty(DateTimeFormat.prototype, "formatRangeToParts", { value: function formatRangeToParts(startDate, endDate) { var dtf = this; if (typeof dtf !== "object") { throw new TypeError(); } if (startDate === void 0 || endDate === void 0) { throw new TypeError("startDate/endDate cannot be undefined"); } var x = ToNumber(startDate); var y = ToNumber(endDate); return FormatDateTimeRangeToParts(dtf, x, y, { getInternalSlots: getInternalSlots, localeData: DateTimeFormat.localeData, tzData: DateTimeFormat.tzData, getDefaultTimeZone: DateTimeFormat.getDefaultTimeZone }); } }); defineProperty(DateTimeFormat.prototype, "formatRange", { value: function formatRange(startDate, endDate) { var dtf = this; if (typeof dtf !== "object") { throw new TypeError(); } if (startDate === void 0 || endDate === void 0) { throw new TypeError("startDate/endDate cannot be undefined"); } var x = ToNumber(startDate); var y = ToNumber(endDate); return FormatDateTimeRange(dtf, x, y, { getInternalSlots: getInternalSlots, localeData: DateTimeFormat.localeData, tzData: DateTimeFormat.tzData, getDefaultTimeZone: DateTimeFormat.getDefaultTimeZone }); } }); var DEFAULT_TIMEZONE = "UTC"; DateTimeFormat.__setDefaultTimeZone = function(timeZone) { if (timeZone !== void 0) { timeZone = String(timeZone); if (!IsValidTimeZoneName(timeZone, { tzData: DateTimeFormat.tzData, uppercaseLinks: UPPERCASED_LINKS })) { throw new RangeError("Invalid timeZoneName"); } timeZone = CanonicalizeTimeZoneName(timeZone, { tzData: DateTimeFormat.tzData, uppercaseLinks: UPPERCASED_LINKS }); } else { timeZone = DEFAULT_TIMEZONE; } DateTimeFormat.__defaultTimeZone = timeZone; }; DateTimeFormat.relevantExtensionKeys = ["nu", "ca", "hc"]; DateTimeFormat.__defaultTimeZone = DEFAULT_TIMEZONE; DateTimeFormat.getDefaultTimeZone = function() { return DateTimeFormat.__defaultTimeZone; }; DateTimeFormat.__addLocaleData = function __addLocaleData() { var data = []; for (var _i = 0; _i < arguments.length; _i++) { data[_i] = arguments[_i]; } var _loop_1 = function(d2, locale2) { var dateFormat = d2.dateFormat, timeFormat = d2.timeFormat, dateTimeFormat = d2.dateTimeFormat, formats = d2.formats, intervalFormats = d2.intervalFormats, rawData = __rest(d2, ["dateFormat", "timeFormat", "dateTimeFormat", "formats", "intervalFormats"]); var processedData = __assign(__assign({}, rawData), {dateFormat: { full: parseDateTimeSkeleton(dateFormat.full), long: parseDateTimeSkeleton(dateFormat.long), medium: parseDateTimeSkeleton(dateFormat.medium), short: parseDateTimeSkeleton(dateFormat.short) }, timeFormat: { full: parseDateTimeSkeleton(timeFormat.full), long: parseDateTimeSkeleton(timeFormat.long), medium: parseDateTimeSkeleton(timeFormat.medium), short: parseDateTimeSkeleton(timeFormat.short) }, dateTimeFormat: { full: parseDateTimeSkeleton(dateTimeFormat.full).pattern, long: parseDateTimeSkeleton(dateTimeFormat.long).pattern, medium: parseDateTimeSkeleton(dateTimeFormat.medium).pattern, short: parseDateTimeSkeleton(dateTimeFormat.short).pattern }, formats: {}}); var _loop_2 = function(calendar2) { processedData.formats[calendar2] = Object.keys(formats[calendar2]).map(function(skeleton) { return parseDateTimeSkeleton(skeleton, formats[calendar2][skeleton], intervalFormats[skeleton], intervalFormats.intervalFormatFallback); }); }; for (var calendar in formats) { _loop_2(calendar); } var minimizedLocale = new Intl.Locale(locale2).minimize().toString(); DateTimeFormat.localeData[locale2] = DateTimeFormat.localeData[minimizedLocale] = processedData; DateTimeFormat.availableLocales.add(locale2); DateTimeFormat.availableLocales.add(minimizedLocale); if (!DateTimeFormat.__defaultLocale) { DateTimeFormat.__defaultLocale = minimizedLocale; } }; for (var _a = 0, data_1 = data; _a < data_1.length; _a++) { var _b = data_1[_a], d = _b.data, locale = _b.locale; _loop_1(d, locale); } }; Object.defineProperty(DateTimeFormat.prototype, "format", formatDescriptor); DateTimeFormat.__defaultLocale = ""; DateTimeFormat.localeData = {}; DateTimeFormat.availableLocales = new Set(); DateTimeFormat.getDefaultLocale = function() { return DateTimeFormat.__defaultLocale; }; DateTimeFormat.polyfilled = true; DateTimeFormat.tzData = {}; DateTimeFormat.__addTZData = function(d) { DateTimeFormat.tzData = unpack(d); }; try { if (typeof Symbol !== "undefined") { Object.defineProperty(DateTimeFormat.prototype, Symbol.toStringTag, { value: "Intl.DateTimeFormat", writable: false, enumerable: false, configurable: true }); } Object.defineProperty(DateTimeFormat.prototype.constructor, "length", { value: 1, writable: false, enumerable: false, configurable: true }); } catch (e) { } // bazel-out/darwin-fastbuild/bin/packages/intl-datetimeformat/lib/should-polyfill.js function supportsDateStyle() { try { return !!new Intl.DateTimeFormat(void 0, { dateStyle: "short" }).resolvedOptions().dateStyle; } catch (e) { return false; } } function hasChromeLt71Bug() { try { return new Intl.DateTimeFormat("en", { hourCycle: "h11", hour: "numeric" }).formatToParts(0)[2].type !== "dayPeriod"; } catch (e) { return false; } } function hasUnthrownDateTimeStyleBug() { try { return !!new Intl.DateTimeFormat("en", { dateStyle: "short", hour: "numeric" }).format(new Date(0)); } catch (e) { return false; } } function shouldPolyfill() { return !("DateTimeFormat" in Intl) || !("formatToParts" in Intl.DateTimeFormat.prototype) || !("formatRange" in Intl.DateTimeFormat.prototype) || hasChromeLt71Bug() || hasUnthrownDateTimeStyleBug() || !supportsDateStyle(); } // bazel-out/darwin-fastbuild/bin/packages/intl-datetimeformat/lib/src/to_locale_string.js function toLocaleString(x, locales, options) { var dtf = new DateTimeFormat(locales, options); return dtf.format(x); } function toLocaleDateString(x, locales, options) { var dtf = new DateTimeFormat(locales, ToDateTimeOptions(options, "date", "date")); return dtf.format(x); } function toLocaleTimeString(x, locales, options) { var dtf = new DateTimeFormat(locales, ToDateTimeOptions(options, "time", "time")); return dtf.format(x); } // bazel-out/darwin-fastbuild/bin/packages/intl-datetimeformat/lib/polyfill.js if (shouldPolyfill()) { defineProperty(Intl, "DateTimeFormat", {value: DateTimeFormat}); defineProperty(Date.prototype, "toLocaleString", { value: function toLocaleString2(locales, options) { return toLocaleString(this, locales, options); } }); defineProperty(Date.prototype, "toLocaleDateString", { value: function toLocaleDateString2(locales, options) { return toLocaleDateString(this, locales, options); } }); defineProperty(Date.prototype, "toLocaleTimeString", { value: function toLocaleTimeString2(locales, options) { return toLocaleTimeString(this, locales, options); } }); } })(); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ } if (!("Intl"in self&&Intl.PluralRules&&Intl.PluralRules.supportedLocalesOf&&function(){try{return 1===Intl.PluralRules.supportedLocalesOf("de").length}catch(l){return!1}}() )) { // Intl.PluralRules.~locale.de /* @generated */ // prettier-ignore if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function') { Intl.PluralRules.__addLocaleData({"data":{"categories":{"cardinal":["one","other"],"ordinal":["other"]},"fn":function(n, ord) { var s = String(n).split('.'), v0 = !s[1]; if (ord) return 'other'; return n == 1 && v0 ? 'one' : 'other'; }},"locale":"de"}) } } if (!("Intl"in self&&Intl.NumberFormat&&function(){try{new Intl.NumberFormat("de",{style:"unit",unit:"byte"})}catch(t){return!1}return!0}()&&Intl.NumberFormat.supportedLocalesOf("de").length )) { // Intl.NumberFormat.~locale.de /* @generated */ // prettier-ignore if (Intl.NumberFormat && typeof Intl.NumberFormat.__addLocaleData === 'function') { Intl.NumberFormat.__addLocaleData({"data":{"units":{"simple":{"degree":{"long":{"other":"{0} Grad"},"short":{"other":"{0}°"},"narrow":{"other":"{0}°"},"perUnit":{}},"hectare":{"long":{"other":"{0} Hektar"},"short":{"other":"{0} ha"},"narrow":{"other":"{0} ha"},"perUnit":{}},"acre":{"long":{"other":"{0} Acres","one":"{0} Acre"},"short":{"other":"{0} ac"},"narrow":{"other":"{0} ac"},"perUnit":{}},"percent":{"long":{"other":"{0} Prozent"},"short":{"other":"{0} %"},"narrow":{"other":"{0} %"},"perUnit":{}},"liter-per-kilometer":{"long":{"other":"{0} Liter pro Kilometer"},"short":{"other":"{0} l/km"},"narrow":{"other":"{0} l/km"},"perUnit":{}},"mile-per-gallon":{"long":{"other":"{0} Meilen pro Gallone","one":"{0} Meile pro Gallone"},"short":{"other":"{0} mpg"},"narrow":{"other":"{0} mpg"},"perUnit":{}},"petabyte":{"long":{"other":"{0} Petabyte"},"short":{"other":"{0} PB"},"narrow":{"other":"{0} PB"},"perUnit":{}},"terabyte":{"long":{"other":"{0} Terabyte","one":"{0} Terabyte"},"short":{"other":"{0} TB"},"narrow":{"other":"{0} TB"},"perUnit":{}},"terabit":{"long":{"other":"{0} Terabit","one":"{0} Terabit"},"short":{"other":"{0} Tb"},"narrow":{"other":"{0} Tb"},"perUnit":{}},"gigabyte":{"long":{"other":"{0} Gigabyte","one":"{0} Gigabyte"},"short":{"other":"{0} GB"},"narrow":{"other":"{0} GB"},"perUnit":{}},"gigabit":{"long":{"other":"{0} Gigabit","one":"{0} Gigabit"},"short":{"other":"{0} Gb"},"narrow":{"other":"{0} Gb"},"perUnit":{}},"megabyte":{"long":{"other":"{0} Megabyte","one":"{0} Megabyte"},"short":{"other":"{0} MB"},"narrow":{"other":"{0} MB"},"perUnit":{}},"megabit":{"long":{"other":"{0} Megabit","one":"{0} Megabit"},"short":{"other":"{0} Mb"},"narrow":{"other":"{0} Mb"},"perUnit":{}},"kilobyte":{"long":{"other":"{0} Kilobyte","one":"{0} Kilobyte"},"short":{"other":"{0} kB"},"narrow":{"other":"{0} kB"},"perUnit":{}},"kilobit":{"long":{"other":"{0} Kilobits","one":"{0} Kilobit"},"short":{"other":"{0} kb"},"narrow":{"other":"{0} kb"},"perUnit":{}},"byte":{"long":{"other":"{0} Byte","one":"{0} Byte"},"short":{"other":"{0} Bytes","one":"{0} Byte"},"narrow":{"other":"{0} Bytes","one":"{0} Byte"},"perUnit":{}},"bit":{"long":{"other":"{0} Bit","one":"{0} Bit"},"short":{"other":"{0} Bit","one":"{0} Bit"},"narrow":{"other":"{0} Bits","one":"{0} Bit"},"perUnit":{}},"year":{"long":{"other":"{0} Jahre","one":"{0} Jahr"},"short":{"other":"{0} J"},"narrow":{"other":"{0} J"},"perUnit":{"long":"{0} pro Jahr","short":"{0}/J","narrow":"{0}/J"}},"month":{"long":{"other":"{0} Monate","one":"{0} Monat"},"short":{"other":"{0} Mon."},"narrow":{"other":"{0} M"},"perUnit":{"long":"{0} pro Monat","short":"{0}/M","narrow":"{0}/M"}},"week":{"long":{"other":"{0} Wochen","one":"{0} Woche"},"short":{"other":"{0} Wo."},"narrow":{"other":"{0} W"},"perUnit":{"long":"{0} pro Woche","short":"{0}/W","narrow":"{0}/W"}},"day":{"long":{"other":"{0} Tage","one":"{0} Tag"},"short":{"other":"{0} Tg."},"narrow":{"other":"{0} T"},"perUnit":{"long":"{0} pro Tag","short":"{0}/T","narrow":"{0}/T"}},"hour":{"long":{"other":"{0} Stunden","one":"{0} Stunde"},"short":{"other":"{0} Std."},"narrow":{"other":"{0} Std."},"perUnit":{"long":"{0} pro Stunde","short":"{0}/h","narrow":"{0}/h"}},"minute":{"long":{"other":"{0} Minuten","one":"{0} Minute"},"short":{"other":"{0} Min."},"narrow":{"other":"{0} Min."},"perUnit":{"long":"{0} pro Minute","short":"{0}/min","narrow":"{0}/min"}},"second":{"long":{"other":"{0} Sekunden","one":"{0} Sekunde"},"short":{"other":"{0} Sek."},"narrow":{"other":"{0} Sek."},"perUnit":{"long":"{0} pro Sekunde","short":"{0}/s","narrow":"{0}/s"}},"millisecond":{"long":{"other":"{0} Millisekunden","one":"{0} Millisekunde"},"short":{"other":"{0} ms"},"narrow":{"other":"{0} ms"},"perUnit":{}},"kilometer":{"long":{"other":"{0} Kilometer"},"short":{"other":"{0} km"},"narrow":{"other":"{0} km"},"perUnit":{"long":"{0} pro Kilometer","short":"{0}/km","narrow":"{0}/km"}},"meter":{"long":{"other":"{0} Meter"},"short":{"other":"{0} m"},"narrow":{"other":"{0} m"},"perUnit":{"long":"{0} pro Meter","short":"{0}/m","narrow":"{0}/m"}},"centimeter":{"long":{"other":"{0} Zentimeter"},"short":{"other":"{0} cm"},"narrow":{"other":"{0} cm"},"perUnit":{"long":"{0} pro Zentimeter","short":"{0}/cm","narrow":"{0}/cm"}},"millimeter":{"long":{"other":"{0} Millimeter"},"short":{"other":"{0} mm"},"narrow":{"other":"{0} mm"},"perUnit":{}},"mile":{"long":{"other":"{0} Meilen","one":"{0} Meile"},"short":{"other":"{0} mi"},"narrow":{"other":"{0} mi"},"perUnit":{}},"yard":{"long":{"other":"{0} Yards","one":"{0} Yard"},"short":{"other":"{0} yd"},"narrow":{"other":"{0} yd"},"perUnit":{}},"foot":{"long":{"other":"{0} Fuß"},"short":{"other":"{0} ft"},"narrow":{"other":"{0} ft"},"perUnit":{"long":"{0} pro Fuß","short":"{0}/ft","narrow":"{0}/ft"}},"inch":{"long":{"other":"{0} Zoll"},"short":{"other":"{0} in","one":"{0} in"},"narrow":{"other":"{0} in","one":"{0} in"},"perUnit":{"long":"{0} pro Zoll","short":"{0}/in","narrow":"{0}/in"}},"mile-scandinavian":{"long":{"other":"{0} skandinavische Meilen","one":"{0} skandinavische Meile"},"short":{"other":"{0} smi"},"narrow":{"other":"{0} smi"},"perUnit":{}},"kilogram":{"long":{"other":"{0} Kilogramm"},"short":{"other":"{0} kg"},"narrow":{"other":"{0} kg"},"perUnit":{"long":"{0} pro Kilogramm","short":"{0}/kg","narrow":"{0}/kg"}},"gram":{"long":{"other":"{0} Gramm"},"short":{"other":"{0} g"},"narrow":{"other":"{0} g"},"perUnit":{"long":"{0} pro Gramm","short":"{0}/g","narrow":"{0}/g"}},"stone":{"long":{"other":"{0} Stones","one":"{0} Stone"},"short":{"other":"{0} st"},"narrow":{"other":"{0} st"},"perUnit":{}},"pound":{"long":{"other":"{0} Pfund"},"short":{"other":"{0} lb"},"narrow":{"other":"{0} lb"},"perUnit":{"long":"{0} pro Pfund","short":"{0}/lb","narrow":"{0}/lb"}},"ounce":{"long":{"other":"{0} Unzen","one":"{0} Unze"},"short":{"other":"{0} oz"},"narrow":{"other":"{0} oz"},"perUnit":{"long":"{0} pro Unze","short":"{0}/oz","narrow":"{0}/oz"}},"kilometer-per-hour":{"long":{"other":"{0} Kilometer pro Stunde"},"short":{"other":"{0} km/h"},"narrow":{"other":"{0} km/h"},"perUnit":{}},"meter-per-second":{"long":{"other":"{0} Meter pro Sekunde"},"short":{"other":"{0} m/s"},"narrow":{"other":"{0} m/s"},"perUnit":{}},"mile-per-hour":{"long":{"other":"{0} Meilen pro Stunde","one":"{0} Meile pro Stunde"},"short":{"other":"{0} mi/h"},"narrow":{"other":"{0} mi/h"},"perUnit":{}},"celsius":{"long":{"other":"{0} Grad Celsius"},"short":{"other":"{0} °C"},"narrow":{"other":"{0} °C"},"perUnit":{}},"fahrenheit":{"long":{"other":"{0} Grad Fahrenheit"},"short":{"other":"{0} °F"},"narrow":{"other":"{0}°F"},"perUnit":{}},"liter":{"long":{"other":"{0} Liter"},"short":{"other":"{0} l"},"narrow":{"other":"{0} l"},"perUnit":{"long":"{0} pro Liter","short":"{0}/l","narrow":"{0}/l"}},"milliliter":{"long":{"other":"{0} Milliliter"},"short":{"other":"{0} ml"},"narrow":{"other":"{0} ml"},"perUnit":{}},"gallon":{"long":{"other":"{0} Gallonen","one":"{0} Gallone"},"short":{"other":"{0} gal"},"narrow":{"other":"{0} gal"},"perUnit":{"long":"{0} pro Gallone","short":"{0}/gal","narrow":"{0}/gal"}},"fluid-ounce":{"long":{"other":"{0} Flüssigunzen","one":"{0} Flüssigunze"},"short":{"other":"{0} fl oz"},"narrow":{"other":"{0} fl oz"},"perUnit":{}}},"compound":{"per":{"long":"{0} pro {1}","short":"{0}/{1}","narrow":"{0}/{1}"}}},"currencies":{"ADP":{"displayName":{"other":"Andorranische Peseten","one":"Andorranische Pesete"},"symbol":"ADP","narrow":"ADP"},"AED":{"displayName":{"other":"VAE-Dirham"},"symbol":"AED","narrow":"AED"},"AFA":{"displayName":{"other":"Afghanische Afghani (1927–2002)"},"symbol":"AFA","narrow":"AFA"},"AFN":{"displayName":{"other":"Afghanische Afghani","one":"Afghanischer Afghani"},"symbol":"AFN","narrow":"؋"},"ALK":{"displayName":{"other":"Albanische Lek (1946–1965)","one":"Albanischer Lek (1946–1965)"},"symbol":"ALK","narrow":"ALK"},"ALL":{"displayName":{"other":"Albanische Lek","one":"Albanischer Lek"},"symbol":"ALL","narrow":"ALL"},"AMD":{"displayName":{"other":"Armenische Dram","one":"Armenischer Dram"},"symbol":"AMD","narrow":"֏"},"ANG":{"displayName":{"other":"Niederländische-Antillen-Gulden"},"symbol":"ANG","narrow":"ANG"},"AOA":{"displayName":{"other":"Angolanische Kwanza","one":"Angolanischer Kwanza"},"symbol":"AOA","narrow":"Kz"},"AOK":{"displayName":{"other":"Angolanische Kwanza (1977–1990)","one":"Angolanischer Kwanza (1977–1990)"},"symbol":"AOK","narrow":"AOK"},"AON":{"displayName":{"other":"Angolanische Neue Kwanza (1990–2000)","one":"Angolanischer Neuer Kwanza (1990–2000)"},"symbol":"AON","narrow":"AON"},"AOR":{"displayName":{"other":"Angolanische Kwanza Reajustado (1995–1999)","one":"Angolanischer Kwanza Reajustado (1995–1999)"},"symbol":"AOR","narrow":"AOR"},"ARA":{"displayName":{"other":"Argentinische Austral","one":"Argentinischer Austral"},"symbol":"ARA","narrow":"ARA"},"ARL":{"displayName":{"other":"Argentinische Pesos Ley (1970–1983)","one":"Argentinischer Peso Ley (1970–1983)"},"symbol":"ARL","narrow":"ARL"},"ARM":{"displayName":{"other":"Argentinische Pesos (1881–1970)","one":"Argentinischer Peso (1881–1970)"},"symbol":"ARM","narrow":"ARM"},"ARP":{"displayName":{"other":"Argentinische Peso (1983–1985)","one":"Argentinischer Peso (1983–1985)"},"symbol":"ARP","narrow":"ARP"},"ARS":{"displayName":{"other":"Argentinische Pesos","one":"Argentinischer Peso"},"symbol":"ARS","narrow":"$"},"ATS":{"displayName":{"other":"Österreichische Schilling","one":"Österreichischer Schilling"},"symbol":"öS","narrow":"öS"},"AUD":{"displayName":{"other":"Australische Dollar","one":"Australischer Dollar"},"symbol":"AU$","narrow":"$"},"AWG":{"displayName":{"other":"Aruba-Florin"},"symbol":"AWG","narrow":"AWG"},"AZM":{"displayName":{"other":"Aserbaidschan-Manat (1993–2006)"},"symbol":"AZM","narrow":"AZM"},"AZN":{"displayName":{"other":"Aserbaidschan-Manat"},"symbol":"AZN","narrow":"₼"},"BAD":{"displayName":{"other":"Bosnien und Herzegowina Dinar (1992–1994)"},"symbol":"BAD","narrow":"BAD"},"BAM":{"displayName":{"other":"Konvertible Mark Bosnien und Herzegowina"},"symbol":"BAM","narrow":"KM"},"BAN":{"displayName":{"other":"Bosnien und Herzegowina Neue Dinar (1994–1997)","one":"Bosnien und Herzegowina Neuer Dinar (1994–1997)"},"symbol":"BAN","narrow":"BAN"},"BBD":{"displayName":{"other":"Barbados-Dollar"},"symbol":"BBD","narrow":"$"},"BDT":{"displayName":{"other":"Bangladesch-Taka"},"symbol":"BDT","narrow":"৳"},"BEC":{"displayName":{"other":"Belgische Franc (konvertibel)","one":"Belgischer Franc (konvertibel)"},"symbol":"BEC","narrow":"BEC"},"BEF":{"displayName":{"other":"Belgische Franc","one":"Belgischer Franc"},"symbol":"BEF","narrow":"BEF"},"BEL":{"displayName":{"other":"Belgische Finanz-Franc","one":"Belgischer Finanz-Franc"},"symbol":"BEL","narrow":"BEL"},"BGL":{"displayName":{"other":"Bulgarische Lew (1962–1999)"},"symbol":"BGL","narrow":"BGL"},"BGM":{"displayName":{"other":"Bulgarische Lew (1952–1962)","one":"Bulgarischer Lew (1952–1962)"},"symbol":"BGK","narrow":"BGK"},"BGN":{"displayName":{"other":"Bulgarische Lew","one":"Bulgarischer Lew"},"symbol":"BGN","narrow":"BGN"},"BGO":{"displayName":{"other":"Bulgarische Lew (1879–1952)","one":"Bulgarischer Lew (1879–1952)"},"symbol":"BGJ","narrow":"BGJ"},"BHD":{"displayName":{"other":"Bahrain-Dinar"},"symbol":"BHD","narrow":"BHD"},"BIF":{"displayName":{"other":"Burundi-Francs","one":"Burundi-Franc"},"symbol":"BIF","narrow":"BIF"},"BMD":{"displayName":{"other":"Bermuda-Dollar"},"symbol":"BMD","narrow":"$"},"BND":{"displayName":{"other":"Brunei-Dollar"},"symbol":"BND","narrow":"$"},"BOB":{"displayName":{"other":"Bolivianische Bolivianos","one":"Bolivianischer Boliviano"},"symbol":"BOB","narrow":"Bs"},"BOL":{"displayName":{"other":"Bolivianische Bolivianos (1863–1963)","one":"Bolivianischer Boliviano (1863–1963)"},"symbol":"BOL","narrow":"BOL"},"BOP":{"displayName":{"other":"Bolivianische Peso","one":"Bolivianischer Peso"},"symbol":"BOP","narrow":"BOP"},"BOV":{"displayName":{"other":"Bolivianische Mvdol","one":"Boliviansiche Mvdol"},"symbol":"BOV","narrow":"BOV"},"BRB":{"displayName":{"other":"Brasilianische Cruzeiro Novo (1967–1986)","one":"Brasilianischer Cruzeiro Novo (1967–1986)"},"symbol":"BRB","narrow":"BRB"},"BRC":{"displayName":{"other":"Brasilianische Cruzado (1986–1989)","one":"Brasilianischer Cruzado (1986–1989)"},"symbol":"BRC","narrow":"BRC"},"BRE":{"displayName":{"other":"Brasilianische Cruzeiro (1990–1993)","one":"Brasilianischer Cruzeiro (1990–1993)"},"symbol":"BRE","narrow":"BRE"},"BRL":{"displayName":{"other":"Brasilianische Real","one":"Brasilianischer Real"},"symbol":"R$","narrow":"R$"},"BRN":{"displayName":{"other":"Brasilianische Cruzado Novo (1989–1990)","one":"Brasilianischer Cruzado Novo (1989–1990)"},"symbol":"BRN","narrow":"BRN"},"BRR":{"displayName":{"other":"Brasilianische Cruzeiro (1993–1994)","one":"Brasilianischer Cruzeiro (1993–1994)"},"symbol":"BRR","narrow":"BRR"},"BRZ":{"displayName":{"other":"Brasilianischer Cruzeiro (1942–1967)"},"symbol":"BRZ","narrow":"BRZ"},"BSD":{"displayName":{"other":"Bahamas-Dollar"},"symbol":"BSD","narrow":"$"},"BTN":{"displayName":{"other":"Bhutan-Ngultrum"},"symbol":"BTN","narrow":"BTN"},"BUK":{"displayName":{"other":"Birmanische Kyat","one":"Birmanischer Kyat"},"symbol":"BUK","narrow":"BUK"},"BWP":{"displayName":{"other":"Botswanische Pula","one":"Botswanischer Pula"},"symbol":"BWP","narrow":"P"},"BYB":{"displayName":{"other":"Belarus-Rubel (1994–1999)"},"symbol":"BYB","narrow":"BYB"},"BYN":{"displayName":{"other":"Weißrussische Rubel","one":"Weißrussischer Rubel"},"symbol":"BYN","narrow":"р."},"BYR":{"displayName":{"other":"Weißrussische Rubel (2000–2016)","one":"Weißrussischer Rubel (2000–2016)"},"symbol":"BYR","narrow":"BYR"},"BZD":{"displayName":{"other":"Belize-Dollar"},"symbol":"BZD","narrow":"$"},"CAD":{"displayName":{"other":"Kanadische Dollar","one":"Kanadischer Dollar"},"symbol":"CA$","narrow":"$"},"CDF":{"displayName":{"other":"Kongo-Francs","one":"Kongo-Franc"},"symbol":"CDF","narrow":"CDF"},"CHE":{"displayName":{"other":"WIR-Euro"},"symbol":"CHE","narrow":"CHE"},"CHF":{"displayName":{"other":"Schweizer Franken"},"symbol":"CHF","narrow":"CHF"},"CHW":{"displayName":{"other":"WIR Franken"},"symbol":"CHW","narrow":"CHW"},"CLE":{"displayName":{"other":"Chilenische Escudo","one":"Chilenischer Escudo"},"symbol":"CLE","narrow":"CLE"},"CLF":{"displayName":{"other":"Chilenische Unidades de Fomento"},"symbol":"CLF","narrow":"CLF"},"CLP":{"displayName":{"other":"Chilenische Pesos","one":"Chilenischer Peso"},"symbol":"CLP","narrow":"$"},"CNH":{"displayName":{"other":"Renminbi-Yuan (Offshore)"},"symbol":"CNH","narrow":"CNH"},"CNX":{"displayName":{"other":"Dollar der Chinesischen Volksbank"},"symbol":"CNX","narrow":"CNX"},"CNY":{"displayName":{"other":"Renminbi Yuan","one":"Chinesischer Yuan"},"symbol":"CN¥","narrow":"¥"},"COP":{"displayName":{"other":"Kolumbianische Pesos","one":"Kolumbianischer Peso"},"symbol":"COP","narrow":"$"},"COU":{"displayName":{"other":"Kolumbianische Unidades de valor real","one":"Kolumbianische Unidad de valor real"},"symbol":"COU","narrow":"COU"},"CRC":{"displayName":{"other":"Costa-Rica-Colón"},"symbol":"CRC","narrow":"₡"},"CSD":{"displayName":{"other":"Serbische Dinar (2002–2006)","one":"Serbischer Dinar (2002–2006)"},"symbol":"CSD","narrow":"CSD"},"CSK":{"displayName":{"other":"Tschechoslowakische Kronen"},"symbol":"CSK","narrow":"CSK"},"CUC":{"displayName":{"other":"Kubanische Pesos (konvertibel)","one":"Kubanischer Peso (konvertibel)"},"symbol":"CUC","narrow":"Cub$"},"CUP":{"displayName":{"other":"Kubanische Pesos","one":"Kubanischer Peso"},"symbol":"CUP","narrow":"$"},"CVE":{"displayName":{"other":"Cabo-Verde-Escudos","one":"Cabo-Verde-Escudo"},"symbol":"CVE","narrow":"CVE"},"CYP":{"displayName":{"other":"Zypern Pfund"},"symbol":"CYP","narrow":"CYP"},"CZK":{"displayName":{"other":"Tschechische Kronen","one":"Tschechische Krone"},"symbol":"CZK","narrow":"Kč"},"DDM":{"displayName":{"other":"Mark der DDR"},"symbol":"DDM","narrow":"DDM"},"DEM":{"displayName":{"other":"Deutsche Mark"},"symbol":"DM","narrow":"DM"},"DJF":{"displayName":{"other":"Dschibuti-Franc"},"symbol":"DJF","narrow":"DJF"},"DKK":{"displayName":{"other":"Dänische Kronen","one":"Dänische Krone"},"symbol":"DKK","narrow":"kr"},"DOP":{"displayName":{"other":"Dominikanische Pesos","one":"Dominikanischer Peso"},"symbol":"DOP","narrow":"$"},"DZD":{"displayName":{"other":"Algerische Dinar","one":"Algerischer Dinar"},"symbol":"DZD","narrow":"DZD"},"ECS":{"displayName":{"other":"Ecuadorianische Sucre","one":"Ecuadorianischer Sucre"},"symbol":"ECS","narrow":"ECS"},"ECV":{"displayName":{"other":"Verrechnungseinheiten für Ecuador"},"symbol":"ECV","narrow":"ECV"},"EEK":{"displayName":{"other":"Estnische Kronen","one":"Estnische Krone"},"symbol":"EEK","narrow":"EEK"},"EGP":{"displayName":{"other":"Ägyptische Pfund","one":"Ägyptisches Pfund"},"symbol":"EGP","narrow":"E£"},"ERN":{"displayName":{"other":"Eritreische Nakfa","one":"Eritreischer Nakfa"},"symbol":"ERN","narrow":"ERN"},"ESA":{"displayName":{"other":"Spanische Peseten (A–Konten)","one":"Spanische Peseta (A–Konten)"},"symbol":"ESA","narrow":"ESA"},"ESB":{"displayName":{"other":"Spanische Peseten (konvertibel)","one":"Spanische Peseta (konvertibel)"},"symbol":"ESB","narrow":"ESB"},"ESP":{"displayName":{"other":"Spanische Peseten","one":"Spanische Peseta"},"symbol":"ESP","narrow":"₧"},"ETB":{"displayName":{"other":"Äthiopische Birr","one":"Äthiopischer Birr"},"symbol":"ETB","narrow":"ETB"},"EUR":{"displayName":{"other":"Euro"},"symbol":"€","narrow":"€"},"FIM":{"displayName":{"other":"Finnische Mark"},"symbol":"FIM","narrow":"FIM"},"FJD":{"displayName":{"other":"Fidschi-Dollar"},"symbol":"FJD","narrow":"$"},"FKP":{"displayName":{"other":"Falkland-Pfund"},"symbol":"FKP","narrow":"Fl£"},"FRF":{"displayName":{"other":"Französische Franc","one":"Französischer Franc"},"symbol":"FRF","narrow":"FRF"},"GBP":{"displayName":{"other":"Britische Pfund","one":"Britisches Pfund"},"symbol":"£","narrow":"£"},"GEK":{"displayName":{"other":"Georgische Kupon Larit","one":"Georgischer Kupon Larit"},"symbol":"GEK","narrow":"GEK"},"GEL":{"displayName":{"other":"Georgische Lari","one":"Georgischer Lari"},"symbol":"GEL","narrow":"₾"},"GHC":{"displayName":{"other":"Ghanaische Cedi (1979–2007)","one":"Ghanaischer Cedi (1979–2007)"},"symbol":"GHC","narrow":"GHC"},"GHS":{"displayName":{"other":"Ghanaische Cedi","one":"Ghanaischer Cedi"},"symbol":"GHS","narrow":"₵"},"GIP":{"displayName":{"other":"Gibraltar-Pfund"},"symbol":"GIP","narrow":"£"},"GMD":{"displayName":{"other":"Gambia-Dalasi"},"symbol":"GMD","narrow":"GMD"},"GNF":{"displayName":{"other":"Guinea-Franc"},"symbol":"GNF","narrow":"F.G."},"GNS":{"displayName":{"other":"Guineische Syli","one":"Guineischer Syli"},"symbol":"GNS","narrow":"GNS"},"GQE":{"displayName":{"other":"Äquatorialguinea-Ekwele"},"symbol":"GQE","narrow":"GQE"},"GRD":{"displayName":{"other":"Griechische Drachmen","one":"Griechische Drachme"},"symbol":"GRD","narrow":"GRD"},"GTQ":{"displayName":{"other":"Guatemaltekische Quetzales","one":"Guatemaltekischer Quetzal"},"symbol":"GTQ","narrow":"Q"},"GWE":{"displayName":{"other":"Portugiesisch Guinea Escudo"},"symbol":"GWE","narrow":"GWE"},"GWP":{"displayName":{"other":"Guinea-Bissau Pesos","one":"Guinea-Bissau Peso"},"symbol":"GWP","narrow":"GWP"},"GYD":{"displayName":{"other":"Guyana-Dollar"},"symbol":"GYD","narrow":"$"},"HKD":{"displayName":{"other":"Hongkong-Dollar"},"symbol":"HK$","narrow":"$"},"HNL":{"displayName":{"other":"Honduras-Lempira"},"symbol":"HNL","narrow":"L"},"HRD":{"displayName":{"other":"Kroatische Dinar","one":"Kroatischer Dinar"},"symbol":"HRD","narrow":"HRD"},"HRK":{"displayName":{"other":"Kroatische Kuna","one":"Kroatischer Kuna"},"symbol":"HRK","narrow":"kn"},"HTG":{"displayName":{"other":"Haitianische Gourdes","one":"Haitianische Gourde"},"symbol":"HTG","narrow":"HTG"},"HUF":{"displayName":{"other":"Ungarische Forint","one":"Ungarischer Forint"},"symbol":"HUF","narrow":"Ft"},"IDR":{"displayName":{"other":"Indonesische Rupiah"},"symbol":"IDR","narrow":"Rp"},"IEP":{"displayName":{"other":"Irische Pfund","one":"Irisches Pfund"},"symbol":"IEP","narrow":"IEP"},"ILP":{"displayName":{"other":"Israelische Pfund","one":"Israelisches Pfund"},"symbol":"ILP","narrow":"ILP"},"ILR":{"displayName":{"other":"Israelische Schekel (1980–1985)","one":"Israelischer Schekel (1980–1985)"},"symbol":"ILR","narrow":"ILR"},"ILS":{"displayName":{"other":"Israelische Neue Schekel","one":"Israelischer Neuer Schekel"},"symbol":"₪","narrow":"₪"},"INR":{"displayName":{"other":"Indische Rupien","one":"Indische Rupie"},"symbol":"₹","narrow":"₹"},"IQD":{"displayName":{"other":"Irakische Dinar","one":"Irakischer Dinar"},"symbol":"IQD","narrow":"IQD"},"IRR":{"displayName":{"other":"Iranische Rial","one":"Iranischer Rial"},"symbol":"IRR","narrow":"IRR"},"ISJ":{"displayName":{"other":"Isländische Kronen (1918–1981)","one":"Isländische Krone (1918–1981)"},"symbol":"ISJ","narrow":"ISJ"},"ISK":{"displayName":{"other":"Isländische Kronen","one":"Isländische Krone"},"symbol":"ISK","narrow":"kr"},"ITL":{"displayName":{"other":"Italienische Lire","one":"Italienische Lira"},"symbol":"ITL","narrow":"ITL"},"JMD":{"displayName":{"other":"Jamaika-Dollar"},"symbol":"JMD","narrow":"$"},"JOD":{"displayName":{"other":"Jordanische Dinar","one":"Jordanischer Dinar"},"symbol":"JOD","narrow":"JOD"},"JPY":{"displayName":{"other":"Japanische Yen","one":"Japanischer Yen"},"symbol":"¥","narrow":"¥"},"KES":{"displayName":{"other":"Kenia-Schilling"},"symbol":"KES","narrow":"KES"},"KGS":{"displayName":{"other":"Kirgisische Som","one":"Kirgisischer Som"},"symbol":"KGS","narrow":"KGS"},"KHR":{"displayName":{"other":"Kambodschanische Riel","one":"Kambodschanischer Riel"},"symbol":"KHR","narrow":"៛"},"KMF":{"displayName":{"other":"Komoren-Francs","one":"Komoren-Franc"},"symbol":"KMF","narrow":"FC"},"KPW":{"displayName":{"other":"Nordkoreanische Won","one":"Nordkoreanischer Won"},"symbol":"KPW","narrow":"₩"},"KRH":{"displayName":{"other":"Südkoreanischer Hwan (1953–1962)"},"symbol":"KRH","narrow":"KRH"},"KRO":{"displayName":{"other":"Südkoreanischer Won (1945–1953)"},"symbol":"KRO","narrow":"KRO"},"KRW":{"displayName":{"other":"Südkoreanische Won","one":"Südkoreanischer Won"},"symbol":"₩","narrow":"₩"},"KWD":{"displayName":{"other":"Kuwait-Dinar"},"symbol":"KWD","narrow":"KWD"},"KYD":{"displayName":{"other":"Kaiman-Dollar"},"symbol":"KYD","narrow":"$"},"KZT":{"displayName":{"other":"Kasachische Tenge","one":"Kasachischer Tenge"},"symbol":"KZT","narrow":"₸"},"LAK":{"displayName":{"other":"Laotische Kip","one":"Laotischer Kip"},"symbol":"LAK","narrow":"₭"},"LBP":{"displayName":{"other":"Libanesische Pfund","one":"Libanesisches Pfund"},"symbol":"LBP","narrow":"L£"},"LKR":{"displayName":{"other":"Sri-Lanka-Rupien","one":"Sri-Lanka-Rupie"},"symbol":"LKR","narrow":"Rs"},"LRD":{"displayName":{"other":"Liberianische Dollar","one":"Liberianischer Dollar"},"symbol":"LRD","narrow":"$"},"LSL":{"displayName":{"other":"Loti"},"symbol":"LSL","narrow":"LSL"},"LTL":{"displayName":{"other":"Litauische Litas","one":"Litauischer Litas"},"symbol":"LTL","narrow":"Lt"},"LTT":{"displayName":{"other":"Litauische Talonas"},"symbol":"LTT","narrow":"LTT"},"LUC":{"displayName":{"other":"Luxemburgische Franc (konvertibel)"},"symbol":"LUC","narrow":"LUC"},"LUF":{"displayName":{"other":"Luxemburgische Franc"},"symbol":"LUF","narrow":"LUF"},"LUL":{"displayName":{"other":"Luxemburgische Finanz-Franc"},"symbol":"LUL","narrow":"LUL"},"LVL":{"displayName":{"other":"Lettische Lats","one":"Lettischer Lats"},"symbol":"LVL","narrow":"Ls"},"LVR":{"displayName":{"other":"Lettische Rubel"},"symbol":"LVR","narrow":"LVR"},"LYD":{"displayName":{"other":"Libysche Dinar","one":"Libyscher Dinar"},"symbol":"LYD","narrow":"LYD"},"MAD":{"displayName":{"other":"Marokkanische Dirham","one":"Marokkanischer Dirham"},"symbol":"MAD","narrow":"MAD"},"MAF":{"displayName":{"other":"Marokkanische Franc"},"symbol":"MAF","narrow":"MAF"},"MCF":{"displayName":{"other":"Monegassische Franc","one":"Monegassischer Franc"},"symbol":"MCF","narrow":"MCF"},"MDC":{"displayName":{"other":"Moldau-Cupon"},"symbol":"MDC","narrow":"MDC"},"MDL":{"displayName":{"other":"Moldau-Leu"},"symbol":"MDL","narrow":"MDL"},"MGA":{"displayName":{"other":"Madagaskar-Ariary"},"symbol":"MGA","narrow":"Ar"},"MGF":{"displayName":{"other":"Madagaskar-Franc"},"symbol":"MGF","narrow":"MGF"},"MKD":{"displayName":{"other":"Mazedonische Denari","one":"Mazedonischer Denar"},"symbol":"MKD","narrow":"MKD"},"MKN":{"displayName":{"other":"Mazedonische Denar (1992–1993)","one":"Mazedonischer Denar (1992–1993)"},"symbol":"MKN","narrow":"MKN"},"MLF":{"displayName":{"other":"Malische Franc"},"symbol":"MLF","narrow":"MLF"},"MMK":{"displayName":{"other":"Myanmarische Kyat","one":"Myanmarischer Kyat"},"symbol":"MMK","narrow":"K"},"MNT":{"displayName":{"other":"Mongolische Tögrög","one":"Mongolischer Tögrög"},"symbol":"MNT","narrow":"₮"},"MOP":{"displayName":{"other":"Macao-Pataca"},"symbol":"MOP","narrow":"MOP"},"MRO":{"displayName":{"other":"Mauretanische Ouguiya (1973–2017)","one":"Mauretanischer Ouguiya (1973–2017)"},"symbol":"MRO","narrow":"MRO"},"MRU":{"displayName":{"other":"Mauretanische Ouguiya","one":"Mauretanischer Ouguiya"},"symbol":"MRU","narrow":"MRU"},"MTL":{"displayName":{"other":"Maltesische Lira"},"symbol":"MTL","narrow":"MTL"},"MTP":{"displayName":{"other":"Maltesische Pfund"},"symbol":"MTP","narrow":"MTP"},"MUR":{"displayName":{"other":"Mauritius-Rupien","one":"Mauritius-Rupie"},"symbol":"MUR","narrow":"Rs"},"MVP":{"displayName":{"other":"Malediven-Rupien (alt)","one":"Malediven-Rupie (alt)"},"symbol":"MVP","narrow":"MVP"},"MVR":{"displayName":{"other":"Malediven-Rupien","one":"Malediven-Rufiyaa"},"symbol":"MVR","narrow":"MVR"},"MWK":{"displayName":{"other":"Malawi-Kwacha"},"symbol":"MWK","narrow":"MWK"},"MXN":{"displayName":{"other":"Mexikanische Pesos","one":"Mexikanischer Peso"},"symbol":"MX$","narrow":"$"},"MXP":{"displayName":{"other":"Mexikanische Silber-Pesos (1861–1992)","one":"Mexikanische Silber-Peso (1861–1992)"},"symbol":"MXP","narrow":"MXP"},"MXV":{"displayName":{"other":"Mexikanische Unidad de Inversion (UDI)","one":"Mexicanischer Unidad de Inversion (UDI)"},"symbol":"MXV","narrow":"MXV"},"MYR":{"displayName":{"other":"Malaysische Ringgit","one":"Malaysischer Ringgit"},"symbol":"MYR","narrow":"RM"},"MZE":{"displayName":{"other":"Mozambikanische Escudo"},"symbol":"MZE","narrow":"MZE"},"MZM":{"displayName":{"other":"Mosambikanische Meticais (1980–2006)","one":"Mosambikanischer Metical (1980–2006)"},"symbol":"MZM","narrow":"MZM"},"MZN":{"displayName":{"other":"Mosambikanische Meticais","one":"Mosambikanischer Metical"},"symbol":"MZN","narrow":"MZN"},"NAD":{"displayName":{"other":"Namibia-Dollar"},"symbol":"NAD","narrow":"$"},"NGN":{"displayName":{"other":"Nigerianische Naira","one":"Nigerianischer Naira"},"symbol":"NGN","narrow":"₦"},"NIC":{"displayName":{"other":"Nicaraguanische Córdoba (1988–1991)","one":"Nicaraguanischer Córdoba (1988–1991)"},"symbol":"NIC","narrow":"NIC"},"NIO":{"displayName":{"other":"Nicaragua-Córdobas","one":"Nicaragua-Córdoba"},"symbol":"NIO","narrow":"C$"},"NLG":{"displayName":{"other":"Niederländische Gulden","one":"Niederländischer Gulden"},"symbol":"NLG","narrow":"NLG"},"NOK":{"displayName":{"other":"Norwegische Kronen","one":"Norwegische Krone"},"symbol":"NOK","narrow":"kr"},"NPR":{"displayName":{"other":"Nepalesische Rupien","one":"Nepalesische Rupie"},"symbol":"NPR","narrow":"Rs"},"NZD":{"displayName":{"other":"Neuseeland-Dollar"},"symbol":"NZ$","narrow":"$"},"OMR":{"displayName":{"other":"Omanische Rials","one":"Omanischer Rial"},"symbol":"OMR","narrow":"OMR"},"PAB":{"displayName":{"other":"Panamaische Balboas","one":"Panamaischer Balboa"},"symbol":"PAB","narrow":"PAB"},"PEI":{"displayName":{"other":"Peruanische Inti"},"symbol":"PEI","narrow":"PEI"},"PEN":{"displayName":{"other":"Peruanische Sol","one":"Peruanischer Sol"},"symbol":"PEN","narrow":"PEN"},"PES":{"displayName":{"other":"Peruanische Sol (1863–1965)","one":"Peruanischer Sol (1863–1965)"},"symbol":"PES","narrow":"PES"},"PGK":{"displayName":{"other":"Papua-neuguineischer Kina"},"symbol":"PGK","narrow":"PGK"},"PHP":{"displayName":{"other":"Philippinische Pesos","one":"Philippinischer Peso"},"symbol":"PHP","narrow":"₱"},"PKR":{"displayName":{"other":"Pakistanische Rupien","one":"Pakistanische Rupie"},"symbol":"PKR","narrow":"Rs"},"PLN":{"displayName":{"other":"Polnische Złoty","one":"Polnischer Złoty"},"symbol":"PLN","narrow":"zł"},"PLZ":{"displayName":{"other":"Polnische Zloty (1950–1995)","one":"Polnischer Zloty (1950–1995)"},"symbol":"PLZ","narrow":"PLZ"},"PTE":{"displayName":{"other":"Portugiesische Escudo"},"symbol":"PTE","narrow":"PTE"},"PYG":{"displayName":{"other":"Paraguayische Guaraníes","one":"Paraguayischer Guaraní"},"symbol":"PYG","narrow":"₲"},"QAR":{"displayName":{"other":"Katar-Riyal"},"symbol":"QAR","narrow":"QAR"},"RHD":{"displayName":{"other":"Rhodesische Dollar"},"symbol":"RHD","narrow":"RHD"},"ROL":{"displayName":{"other":"Rumänische Leu (1952–2006)","one":"Rumänischer Leu (1952–2006)"},"symbol":"ROL","narrow":"ROL"},"RON":{"displayName":{"other":"Rumänische Leu","one":"Rumänischer Leu"},"symbol":"RON","narrow":"L"},"RSD":{"displayName":{"other":"Serbische Dinaren","one":"Serbischer Dinar"},"symbol":"RSD","narrow":"RSD"},"RUB":{"displayName":{"other":"Russische Rubel","one":"Russischer Rubel"},"symbol":"RUB","narrow":"₽"},"RUR":{"displayName":{"other":"Russische Rubel (1991–1998)","one":"Russischer Rubel (1991–1998)"},"symbol":"RUR","narrow":"р."},"RWF":{"displayName":{"other":"Ruanda-Francs","one":"Ruanda-Franc"},"symbol":"RWF","narrow":"F.Rw"},"SAR":{"displayName":{"other":"Saudi-Rial"},"symbol":"SAR","narrow":"SAR"},"SBD":{"displayName":{"other":"Salomonen-Dollar"},"symbol":"SBD","narrow":"$"},"SCR":{"displayName":{"other":"Seychellen-Rupien","one":"Seychellen-Rupie"},"symbol":"SCR","narrow":"SCR"},"SDD":{"displayName":{"other":"Sudanesische Dinar (1992–2007)","one":"Sudanesischer Dinar (1992–2007)"},"symbol":"SDD","narrow":"SDD"},"SDG":{"displayName":{"other":"Sudanesische Pfund","one":"Sudanesisches Pfund"},"symbol":"SDG","narrow":"SDG"},"SDP":{"displayName":{"other":"Sudanesische Pfund (1957–1998)","one":"Sudanesisches Pfund (1957–1998)"},"symbol":"SDP","narrow":"SDP"},"SEK":{"displayName":{"other":"Schwedische Kronen","one":"Schwedische Krone"},"symbol":"SEK","narrow":"kr"},"SGD":{"displayName":{"other":"Singapur-Dollar"},"symbol":"SGD","narrow":"$"},"SHP":{"displayName":{"other":"St.-Helena-Pfund"},"symbol":"SHP","narrow":"£"},"SIT":{"displayName":{"other":"Slowenische Tolar","one":"Slowenischer Tolar"},"symbol":"SIT","narrow":"SIT"},"SKK":{"displayName":{"other":"Slowakische Kronen"},"symbol":"SKK","narrow":"SKK"},"SLL":{"displayName":{"other":"Sierra-leonische Leones","one":"Sierra-leonischer Leone"},"symbol":"SLL","narrow":"SLL"},"SOS":{"displayName":{"other":"Somalia-Schilling"},"symbol":"SOS","narrow":"SOS"},"SRD":{"displayName":{"other":"Suriname-Dollar"},"symbol":"SRD","narrow":"$"},"SRG":{"displayName":{"other":"Suriname-Gulden"},"symbol":"SRG","narrow":"SRG"},"SSP":{"displayName":{"other":"Südsudanesische Pfund","one":"Südsudanesisches Pfund"},"symbol":"SSP","narrow":"£"},"STD":{"displayName":{"other":"São-toméische Dobra (1977–2017)","one":"São-toméischer Dobra (1977–2017)"},"symbol":"STD","narrow":"STD"},"STN":{"displayName":{"other":"São-toméische Dobras","one":"São-toméischer Dobra"},"symbol":"STN","narrow":"Db"},"SUR":{"displayName":{"other":"Sowjetische Rubel"},"symbol":"SUR","narrow":"SUR"},"SVC":{"displayName":{"other":"El Salvador-Colon"},"symbol":"SVC","narrow":"SVC"},"SYP":{"displayName":{"other":"Syrische Pfund","one":"Syrisches Pfund"},"symbol":"SYP","narrow":"SYP"},"SZL":{"displayName":{"other":"Swasiländische Emalangeni","one":"Swasiländischer Lilangeni"},"symbol":"SZL","narrow":"SZL"},"THB":{"displayName":{"other":"Thailändische Baht","one":"Thailändischer Baht"},"symbol":"฿","narrow":"฿"},"TJR":{"displayName":{"other":"Tadschikistan-Rubel"},"symbol":"TJR","narrow":"TJR"},"TJS":{"displayName":{"other":"Tadschikistan-Somoni"},"symbol":"TJS","narrow":"TJS"},"TMM":{"displayName":{"other":"Turkmenistan-Manat (1993–2009)"},"symbol":"TMM","narrow":"TMM"},"TMT":{"displayName":{"other":"Turkmenistan-Manat"},"symbol":"TMT","narrow":"TMT"},"TND":{"displayName":{"other":"Tunesische Dinar","one":"Tunesischer Dinar"},"symbol":"TND","narrow":"TND"},"TOP":{"displayName":{"other":"Tongaische Paʻanga","one":"Tongaischer Paʻanga"},"symbol":"TOP","narrow":"T$"},"TPE":{"displayName":{"other":"Timor-Escudo"},"symbol":"TPE","narrow":"TPE"},"TRL":{"displayName":{"other":"Türkische Lira (1922–2005)"},"symbol":"TRL","narrow":"TRL"},"TRY":{"displayName":{"other":"Türkische Lira"},"symbol":"TRY","narrow":"₺"},"TTD":{"displayName":{"other":"Trinidad-und-Tobago-Dollar"},"symbol":"TTD","narrow":"$"},"TWD":{"displayName":{"other":"Neue Taiwan-Dollar","one":"Neuer Taiwan-Dollar"},"symbol":"NT$","narrow":"NT$"},"TZS":{"displayName":{"other":"Tansania-Schilling"},"symbol":"TZS","narrow":"TZS"},"UAH":{"displayName":{"other":"Ukrainische Hrywen","one":"Ukrainische Hrywnja"},"symbol":"UAH","narrow":"₴"},"UAK":{"displayName":{"other":"Ukrainische Karbovanetz"},"symbol":"UAK","narrow":"UAK"},"UGS":{"displayName":{"other":"Uganda-Schilling (1966–1987)"},"symbol":"UGS","narrow":"UGS"},"UGX":{"displayName":{"other":"Uganda-Schilling"},"symbol":"UGX","narrow":"UGX"},"USD":{"displayName":{"other":"US-Dollar"},"symbol":"$","narrow":"$"},"USN":{"displayName":{"other":"US-Dollar (Nächster Tag)"},"symbol":"USN","narrow":"USN"},"USS":{"displayName":{"other":"US-Dollar (Gleicher Tag)"},"symbol":"USS","narrow":"USS"},"UYI":{"displayName":{"other":"Uruguayische Pesos (Indexierte Rechnungseinheiten)","one":"Uruguayischer Peso (Indexierte Rechnungseinheiten)"},"symbol":"UYI","narrow":"UYI"},"UYP":{"displayName":{"other":"Uruguayische Pesos (1975–1993)","one":"Uruguayischer Peso (1975–1993)"},"symbol":"UYP","narrow":"UYP"},"UYU":{"displayName":{"other":"Uruguayische Pesos","one":"Uruguayischer Peso"},"symbol":"UYU","narrow":"$"},"UYW":{"displayName":{"other":"UYW"},"symbol":"UYW","narrow":"UYW"},"UZS":{"displayName":{"other":"Usbekistan-Sum"},"symbol":"UZS","narrow":"UZS"},"VEB":{"displayName":{"other":"Venezolanische Bolívares (1871–2008)","one":"Venezolanischer Bolívar (1871–2008)"},"symbol":"VEB","narrow":"VEB"},"VEF":{"displayName":{"other":"Venezolanische Bolívares (2008–2018)","one":"Venezolanischer Bolívar (2008–2018)"},"symbol":"VEF","narrow":"Bs"},"VES":{"displayName":{"other":"Venezolanische Bolívares","one":"Venezolanischer Bolívar"},"symbol":"VES","narrow":"VES"},"VND":{"displayName":{"other":"Vietnamesische Dong","one":"Vietnamesischer Dong"},"symbol":"₫","narrow":"₫"},"VNN":{"displayName":{"other":"Vietnamesische Dong(1978–1985)","one":"Vietnamesischer Dong(1978–1985)"},"symbol":"VNN","narrow":"VNN"},"VUV":{"displayName":{"other":"Vanuatu-Vatu"},"symbol":"VUV","narrow":"VUV"},"WST":{"displayName":{"other":"Samoanische Tala","one":"Samoanischer Tala"},"symbol":"WST","narrow":"WST"},"XAF":{"displayName":{"other":"CFA-Franc (BEAC)"},"symbol":"FCFA","narrow":"FCFA"},"XAG":{"displayName":{"other":"Unzen Silber","one":"Unze Silber"},"symbol":"XAG","narrow":"XAG"},"XAU":{"displayName":{"other":"Unzen Gold","one":"Unze Gold"},"symbol":"XAU","narrow":"XAU"},"XBA":{"displayName":{"other":"Europäische Rechnungseinheiten"},"symbol":"XBA","narrow":"XBA"},"XBB":{"displayName":{"other":"Europäische Währungseinheiten (XBB)"},"symbol":"XBB","narrow":"XBB"},"XBC":{"displayName":{"other":"Europäische Rechnungseinheiten (XBC)"},"symbol":"XBC","narrow":"XBC"},"XBD":{"displayName":{"other":"Europäische Rechnungseinheiten (XBD)"},"symbol":"XBD","narrow":"XBD"},"XCD":{"displayName":{"other":"Ostkaribische Dollar","one":"Ostkaribischer Dollar"},"symbol":"EC$","narrow":"$"},"XDR":{"displayName":{"other":"Sonderziehungsrechte"},"symbol":"XDR","narrow":"XDR"},"XEU":{"displayName":{"other":"Europäische Währungseinheiten (XEU)"},"symbol":"XEU","narrow":"XEU"},"XFO":{"displayName":{"other":"Französische Gold-Franc"},"symbol":"XFO","narrow":"XFO"},"XFU":{"displayName":{"other":"Französische UIC-Franc"},"symbol":"XFU","narrow":"XFU"},"XOF":{"displayName":{"other":"CFA-Francs (BCEAO)","one":"CFA-Franc (BCEAO)"},"symbol":"F CFA","narrow":"F CFA"},"XPD":{"displayName":{"other":"Unzen Palladium","one":"Unze Palladium"},"symbol":"XPD","narrow":"XPD"},"XPF":{"displayName":{"other":"CFP-Franc"},"symbol":"CFPF","narrow":"CFPF"},"XPT":{"displayName":{"other":"Unzen Platin","one":"Unze Platin"},"symbol":"XPT","narrow":"XPT"},"XRE":{"displayName":{"other":"RINET Funds"},"symbol":"XRE","narrow":"XRE"},"XSU":{"displayName":{"other":"SUCRE"},"symbol":"XSU","narrow":"XSU"},"XTS":{"displayName":{"other":"Testwährung"},"symbol":"XTS","narrow":"XTS"},"XUA":{"displayName":{"other":"Rechnungseinheiten der AfEB","one":"Rechnungseinheit der AfEB"},"symbol":"XUA","narrow":"XUA"},"XXX":{"displayName":{"other":"(unbekannte Währung)"},"symbol":"XXX","narrow":"XXX"},"YDD":{"displayName":{"other":"Jemen-Dinar"},"symbol":"YDD","narrow":"YDD"},"YER":{"displayName":{"other":"Jemen-Rial"},"symbol":"YER","narrow":"YER"},"YUD":{"displayName":{"other":"Jugoslawische Dinar (1966–1990)","one":"Jugoslawischer Dinar (1966–1990)"},"symbol":"YUD","narrow":"YUD"},"YUM":{"displayName":{"other":"Jugoslawische Neue Dinar (1994–2002)","one":"Jugoslawischer Neuer Dinar (1994–2002)"},"symbol":"YUM","narrow":"YUM"},"YUN":{"displayName":{"other":"Jugoslawische Dinar (konvertibel)"},"symbol":"YUN","narrow":"YUN"},"YUR":{"displayName":{"other":"Jugoslawische reformierte Dinar (1992–1993)","one":"Jugoslawischer reformierter Dinar (1992–1993)"},"symbol":"YUR","narrow":"YUR"},"ZAL":{"displayName":{"other":"Südafrikanischer Rand (Finanz)"},"symbol":"ZAL","narrow":"ZAL"},"ZAR":{"displayName":{"other":"Südafrikanische Rand","one":"Südafrikanischer Rand"},"symbol":"ZAR","narrow":"R"},"ZMK":{"displayName":{"other":"Kwacha (1968–2012)"},"symbol":"ZMK","narrow":"ZMK"},"ZMW":{"displayName":{"other":"Kwacha"},"symbol":"ZMW","narrow":"K"},"ZRN":{"displayName":{"other":"Zaire-Neue Zaïre (1993–1998)","one":"Zaire-Neuer Zaïre (1993–1998)"},"symbol":"ZRN","narrow":"ZRN"},"ZRZ":{"displayName":{"other":"Zaire-Zaïre (1971–1993)"},"symbol":"ZRZ","narrow":"ZRZ"},"ZWD":{"displayName":{"other":"Simbabwe-Dollar (1980–2008)"},"symbol":"ZWD","narrow":"ZWD"},"ZWL":{"displayName":{"other":"Simbabwe-Dollar (2009)"},"symbol":"ZWL","narrow":"ZWL"},"ZWR":{"displayName":{"other":"Simbabwe-Dollar (2008)"},"symbol":"ZWR","narrow":"ZWR"}},"numbers":{"nu":["latn"],"symbols":{"latn":{"decimal":",","group":".","list":";","percentSign":"%","plusSign":"+","minusSign":"-","approximatelySign":"≈","exponential":"E","superscriptingExponent":"·","perMille":"‰","infinity":"∞","nan":"NaN","timeSeparator":":"}},"percent":{"latn":"#,##0 %"},"decimal":{"latn":{"standard":"#,##0.###","long":{"1000":{"other":"0 Tausend"},"10000":{"other":"00 Tausend"},"100000":{"other":"000 Tausend"},"1000000":{"other":"0 Millionen","one":"0 Million"},"10000000":{"other":"00 Millionen"},"100000000":{"other":"000 Millionen"},"1000000000":{"other":"0 Milliarden","one":"0 Milliarde"},"10000000000":{"other":"00 Milliarden"},"100000000000":{"other":"000 Milliarden"},"1000000000000":{"other":"0 Billionen","one":"0 Billion"},"10000000000000":{"other":"00 Billionen"},"100000000000000":{"other":"000 Billionen"}},"short":{"1000":{"other":"0"},"10000":{"other":"0"},"100000":{"other":"0"},"1000000":{"other":"0 Mio'.'"},"10000000":{"other":"00 Mio'.'"},"100000000":{"other":"000 Mio'.'"},"1000000000":{"other":"0 Mrd'.'"},"10000000000":{"other":"00 Mrd'.'"},"100000000000":{"other":"000 Mrd'.'"},"1000000000000":{"other":"0 Bio'.'"},"10000000000000":{"other":"00 Bio'.'"},"100000000000000":{"other":"000 Bio'.'"}}}},"currency":{"latn":{"currencySpacing":{"beforeInsertBetween":" ","afterInsertBetween":" "},"standard":"#,##0.00 ¤","accounting":"#,##0.00 ¤","unitPattern":"{0} {1}","short":{"1000":{"other":"0"},"10000":{"other":"0"},"100000":{"other":"0"},"1000000":{"other":"0 Mio'.' ¤"},"10000000":{"other":"00 Mio'.' ¤"},"100000000":{"other":"000 Mio'.' ¤"},"1000000000":{"other":"0 Mrd'.' ¤"},"10000000000":{"other":"00 Mrd'.' ¤"},"100000000000":{"other":"000 Mrd'.' ¤"},"1000000000000":{"other":"0 Bio'.' ¤"},"10000000000000":{"other":"00 Bio'.' ¤"},"100000000000000":{"other":"000 Bio'.' ¤"}}}}},"nu":["latn"]},"locale":"de"} ) } } if (!("Intl"in self&&"DateTimeFormat"in self.Intl&&"formatRangeToParts"in self.Intl.DateTimeFormat&&self.Intl.DateTimeFormat.supportedLocalesOf("de").length )) { // Intl.DateTimeFormat.~locale.de /* @generated */ // prettier-ignore if (Intl.DateTimeFormat && typeof Intl.DateTimeFormat.__addLocaleData === 'function') { Intl.DateTimeFormat.__addLocaleData({"data":{"am":"AM","pm":"PM","weekday":{"narrow":["S","M","D","M","D","F","S"],"short":["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],"long":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},"era":{"narrow":{"BC":"v. Chr.","AD":"n. Chr."},"short":{"BC":"v. Chr.","AD":"n. Chr."},"long":{"BC":"v. Chr.","AD":"n. Chr."}},"month":{"narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"short":["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],"long":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},"timeZoneName":{"America/Rio_Branco":{"long":["Acre-Normalzeit","Acre-Sommerzeit"]},"Asia/Kabul":{"long":["Afghanistan-Zeit","Afghanistan-Zeit"]},"Africa/Maputo":{"long":["Zentralafrikanische Zeit","Zentralafrikanische Zeit"]},"Africa/Bujumbura":{"long":["Zentralafrikanische Zeit","Zentralafrikanische Zeit"]},"Africa/Gaborone":{"long":["Zentralafrikanische Zeit","Zentralafrikanische Zeit"]},"Africa/Lubumbashi":{"long":["Zentralafrikanische Zeit","Zentralafrikanische Zeit"]},"Africa/Blantyre":{"long":["Zentralafrikanische Zeit","Zentralafrikanische Zeit"]},"Africa/Kigali":{"long":["Zentralafrikanische Zeit","Zentralafrikanische Zeit"]},"Africa/Lusaka":{"long":["Zentralafrikanische Zeit","Zentralafrikanische Zeit"]},"Africa/Harare":{"long":["Zentralafrikanische Zeit","Zentralafrikanische Zeit"]},"Africa/Nairobi":{"long":["Ostafrikanische Zeit","Ostafrikanische Zeit"]},"Africa/Djibouti":{"long":["Ostafrikanische Zeit","Ostafrikanische Zeit"]},"Africa/Asmera":{"long":["Ostafrikanische Zeit","Ostafrikanische Zeit"]},"Africa/Addis_Ababa":{"long":["Ostafrikanische Zeit","Ostafrikanische Zeit"]},"Indian/Comoro":{"long":["Ostafrikanische Zeit","Ostafrikanische Zeit"]},"Indian/Antananarivo":{"long":["Ostafrikanische Zeit","Ostafrikanische Zeit"]},"Africa/Mogadishu":{"long":["Ostafrikanische Zeit","Ostafrikanische Zeit"]},"Africa/Dar_es_Salaam":{"long":["Ostafrikanische Zeit","Ostafrikanische Zeit"]},"Africa/Kampala":{"long":["Ostafrikanische Zeit","Ostafrikanische Zeit"]},"Indian/Mayotte":{"long":["Ostafrikanische Zeit","Ostafrikanische Zeit"]},"Africa/Johannesburg":{"long":["Südafrikanische Zeit","Südafrikanische Zeit"]},"Africa/Maseru":{"long":["Südafrikanische Zeit","Südafrikanische Zeit"]},"Africa/Mbabane":{"long":["Südafrikanische Zeit","Südafrikanische Zeit"]},"Africa/Lagos":{"long":["Westafrikanische Normalzeit","Westafrikanische Sommerzeit"]},"Africa/Luanda":{"long":["Westafrikanische Normalzeit","Westafrikanische Sommerzeit"]},"Africa/Porto-Novo":{"long":["Westafrikanische Normalzeit","Westafrikanische Sommerzeit"]},"Africa/Kinshasa":{"long":["Westafrikanische Normalzeit","Westafrikanische Sommerzeit"]},"Africa/Bangui":{"long":["Westafrikanische Normalzeit","Westafrikanische Sommerzeit"]},"Africa/Brazzaville":{"long":["Westafrikanische Normalzeit","Westafrikanische Sommerzeit"]},"Africa/Douala":{"long":["Westafrikanische Normalzeit","Westafrikanische Sommerzeit"]},"Africa/Libreville":{"long":["Westafrikanische Normalzeit","Westafrikanische Sommerzeit"]},"Africa/Malabo":{"long":["Westafrikanische Normalzeit","Westafrikanische Sommerzeit"]},"Africa/Niamey":{"long":["Westafrikanische Normalzeit","Westafrikanische Sommerzeit"]},"Africa/Ndjamena":{"long":["Westafrikanische Normalzeit","Westafrikanische Sommerzeit"]},"Asia/Aqtobe":{"long":["Westkasachische Zeit","Westkasachische Zeit"]},"America/Juneau":{"long":["Alaska-Normalzeit","Alaska-Sommerzeit"]},"Asia/Almaty":{"long":["Ostkasachische Zeit","Ostkasachische Zeit"]},"America/Manaus":{"long":["Amazonas-Normalzeit","Amazonas-Sommerzeit"]},"America/Chicago":{"long":["Nordamerikanische Inland-Normalzeit","Nordamerikanische Inland-Sommerzeit"]},"America/Belize":{"long":["Nordamerikanische Inland-Normalzeit","Nordamerikanische Inland-Sommerzeit"]},"America/Winnipeg":{"long":["Nordamerikanische Inland-Normalzeit","Nordamerikanische Inland-Sommerzeit"]},"America/Costa_Rica":{"long":["Nordamerikanische Inland-Normalzeit","Nordamerikanische Inland-Sommerzeit"]},"America/Guatemala":{"long":["Nordamerikanische Inland-Normalzeit","Nordamerikanische Inland-Sommerzeit"]},"America/Tegucigalpa":{"long":["Nordamerikanische Inland-Normalzeit","Nordamerikanische Inland-Sommerzeit"]},"America/Mexico_City":{"long":["Nordamerikanische Inland-Normalzeit","Nordamerikanische Inland-Sommerzeit"]},"America/El_Salvador":{"long":["Nordamerikanische Inland-Normalzeit","Nordamerikanische Inland-Sommerzeit"]},"America/New_York":{"long":["Nordamerikanische Ostküsten-Normalzeit","Nordamerikanische Ostküsten-Sommerzeit"]},"America/Nassau":{"long":["Nordamerikanische Ostküsten-Normalzeit","Nordamerikanische Ostküsten-Sommerzeit"]},"America/Toronto":{"long":["Nordamerikanische Ostküsten-Normalzeit","Nordamerikanische Ostküsten-Sommerzeit"]},"America/Port-au-Prince":{"long":["Nordamerikanische Ostküsten-Normalzeit","Nordamerikanische Ostküsten-Sommerzeit"]},"America/Jamaica":{"long":["Nordamerikanische Ostküsten-Normalzeit","Nordamerikanische Ostküsten-Sommerzeit"]},"America/Cayman":{"long":["Nordamerikanische Ostküsten-Normalzeit","Nordamerikanische Ostküsten-Sommerzeit"]},"America/Panama":{"long":["Nordamerikanische Ostküsten-Normalzeit","Nordamerikanische Ostküsten-Sommerzeit"]},"America/Denver":{"long":["Rocky Mountain-Normalzeit","Rocky-Mountain-Sommerzeit"]},"America/Edmonton":{"long":["Rocky Mountain-Normalzeit","Rocky-Mountain-Sommerzeit"]},"America/Hermosillo":{"long":["Rocky Mountain-Normalzeit","Rocky-Mountain-Sommerzeit"]},"America/Los_Angeles":{"long":["Nordamerikanische Westküsten-Normalzeit","Nordamerikanische Westküsten-Sommerzeit"]},"America/Vancouver":{"long":["Nordamerikanische Westküsten-Normalzeit","Nordamerikanische Westküsten-Sommerzeit"]},"America/Tijuana":{"long":["Nordamerikanische Westküsten-Normalzeit","Nordamerikanische Westküsten-Sommerzeit"]},"Asia/Anadyr":{"long":["Anadyr Normalzeit","Anadyr Sommerzeit"]},"Pacific/Apia":{"long":["Apia-Normalzeit","Apia-Sommerzeit"]},"Asia/Riyadh":{"long":["Arabische Normalzeit","Arabische Sommerzeit"]},"Asia/Bahrain":{"long":["Arabische Normalzeit","Arabische Sommerzeit"]},"Asia/Baghdad":{"long":["Arabische Normalzeit","Arabische Sommerzeit"]},"Asia/Kuwait":{"long":["Arabische Normalzeit","Arabische Sommerzeit"]},"Asia/Qatar":{"long":["Arabische Normalzeit","Arabische Sommerzeit"]},"Asia/Aden":{"long":["Arabische Normalzeit","Arabische Sommerzeit"]},"America/Buenos_Aires":{"long":["Argentinische Normalzeit","Argentinische Sommerzeit"]},"America/Argentina/San_Luis":{"long":["Westargentinische Normalzeit","Westargentinische Sommerzeit"]},"Asia/Ashgabat":{"long":["Turkmenistan-Normalzeit","Turkmenistan-Sommerzeit"]},"America/Halifax":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Antigua":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Anguilla":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Aruba":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Barbados":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"Atlantic/Bermuda":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Kralendijk":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Curacao":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Dominica":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Grenada":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Thule":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Guadeloupe":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/St_Kitts":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/St_Lucia":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Marigot":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Martinique":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Montserrat":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Puerto_Rico":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Lower_Princes":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Port_of_Spain":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/St_Vincent":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/Tortola":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"America/St_Thomas":{"long":["Atlantik-Normalzeit","Atlantik-Sommerzeit"]},"Australia/Adelaide":{"long":["Zentralaustralische Normalzeit","Zentralaustralische Sommerzeit"]},"Australia/Eucla":{"long":["Zentral-/Westaustralische Normalzeit","Zentral-/Westaustralische Sommerzeit"]},"Australia/Sydney":{"long":["Ostaustralische Normalzeit","Ostaustralische Sommerzeit"]},"Australia/Perth":{"long":["Westaustralische Normalzeit","Westaustralische Sommerzeit"]},"Atlantic/Azores":{"long":["Azoren-Normalzeit","Azoren-Sommerzeit"]},"Asia/Thimphu":{"long":["Bhutan-Zeit","Bhutan-Zeit"]},"America/La_Paz":{"long":["Bolivianische Zeit","Bolivianische Zeit"]},"Asia/Kuching":{"long":["Malaysische Zeit","Malaysische Zeit"]},"America/Sao_Paulo":{"long":["Brasília-Normalzeit","Brasília-Sommerzeit"]},"Europe/London":{"long":["Mittlere Greenwich-Zeit","Mittlere Greenwich-Zeit"]},"Asia/Brunei":{"long":["Brunei-Darussalam-Zeit","Brunei-Darussalam-Zeit"]},"Atlantic/Cape_Verde":{"long":["Cabo-Verde-Normalzeit","Cabo-Verde-Sommerzeit"]},"Antarctica/Casey":{"long":["Casey-Zeit","Casey-Zeit"]},"Pacific/Saipan":{"long":["Nördliche-Marianen-Zeit","Nördliche-Marianen-Zeit"]},"Pacific/Guam":{"long":["Guam-Zeit","Guam-Zeit"]},"Pacific/Chatham":{"long":["Chatham-Normalzeit","Chatham-Sommerzeit"]},"America/Santiago":{"long":["Chilenische Normalzeit","Chilenische Sommerzeit"]},"Asia/Shanghai":{"long":["Chinesische Normalzeit","Chinesische Sommerzeit"]},"Asia/Choibalsan":{"long":["Tschoibalsan-Normalzeit","Tschoibalsan-Sommerzeit"]},"Indian/Christmas":{"long":["Weihnachtsinsel-Zeit","Weihnachtsinsel-Zeit"]},"Indian/Cocos":{"long":["Kokosinseln-Zeit","Kokosinseln-Zeit"]},"America/Bogota":{"long":["Kolumbianische Normalzeit","Kolumbianische Sommerzeit"]},"Pacific/Rarotonga":{"long":["Cookinseln-Normalzeit","Cookinseln-Sommerzeit"]},"America/Havana":{"long":["Kubanische Normalzeit","Kubanische Sommerzeit"]},"Antarctica/Davis":{"long":["Davis-Zeit","Davis-Zeit"]},"Antarctica/DumontDUrville":{"long":["Dumont-d’Urville-Zeit","Dumont-d’Urville-Zeit"]},"Asia/Dushanbe":{"long":["Tadschikistan-Zeit","Tadschikistan-Zeit"]},"America/Paramaribo":{"long":["Suriname-Zeit","Suriname-Zeit"]},"Asia/Dili":{"long":["Osttimor-Zeit","Osttimor-Zeit"]},"Pacific/Easter":{"long":["Osterinsel-Normalzeit","Osterinsel-Sommerzeit"]},"America/Guayaquil":{"long":["Ecuadorianische Zeit","Ecuadorianische Zeit"]},"Europe/Paris":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Andorra":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Tirane":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Vienna":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Sarajevo":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Brussels":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Zurich":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Prague":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Berlin":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Copenhagen":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Madrid":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Gibraltar":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Zagreb":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Budapest":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Rome":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Vaduz":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Luxembourg":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Monaco":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Podgorica":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Skopje":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Malta":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Amsterdam":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Oslo":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Warsaw":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Belgrade":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Stockholm":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Ljubljana":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Arctic/Longyearbyen":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Bratislava":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/San_Marino":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Africa/Tunis":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Vatican":{"long":["Mitteleuropäische Normalzeit","Mitteleuropäische Sommerzeit"],"short":["MEZ","MESZ"]},"Europe/Bucharest":{"long":["Osteuropäische Normalzeit","Osteuropäische Sommerzeit"],"short":["OEZ","OESZ"]},"Europe/Mariehamn":{"long":["Osteuropäische Normalzeit","Osteuropäische Sommerzeit"],"short":["OEZ","OESZ"]},"Europe/Sofia":{"long":["Osteuropäische Normalzeit","Osteuropäische Sommerzeit"],"short":["OEZ","OESZ"]},"Asia/Nicosia":{"long":["Osteuropäische Normalzeit","Osteuropäische Sommerzeit"],"short":["OEZ","OESZ"]},"Africa/Cairo":{"long":["Osteuropäische Normalzeit","Osteuropäische Sommerzeit"],"short":["OEZ","OESZ"]},"Europe/Helsinki":{"long":["Osteuropäische Normalzeit","Osteuropäische Sommerzeit"],"short":["OEZ","OESZ"]},"Europe/Athens":{"long":["Osteuropäische Normalzeit","Osteuropäische Sommerzeit"],"short":["OEZ","OESZ"]},"Asia/Amman":{"long":["Osteuropäische Normalzeit","Osteuropäische Sommerzeit"],"short":["OEZ","OESZ"]},"Asia/Beirut":{"long":["Osteuropäische Normalzeit","Osteuropäische Sommerzeit"],"short":["OEZ","OESZ"]},"Asia/Damascus":{"long":["Osteuropäische Normalzeit","Osteuropäische Sommerzeit"],"short":["OEZ","OESZ"]},"Europe/Minsk":{"long":["Kaliningrader Zeit","Kaliningrader Zeit"]},"Europe/Kaliningrad":{"long":["Kaliningrader Zeit","Kaliningrader Zeit"]},"Atlantic/Canary":{"long":["Westeuropäische Normalzeit","Westeuropäische Sommerzeit"],"short":["WEZ","WESZ"]},"Atlantic/Faeroe":{"long":["Westeuropäische Normalzeit","Westeuropäische Sommerzeit"],"short":["WEZ","WESZ"]},"Atlantic/Stanley":{"long":["Falklandinseln-Normalzeit","Falklandinseln-Sommerzeit"]},"Pacific/Fiji":{"long":["Fidschi-Normalzeit","Fidschi-Sommerzeit"]},"America/Cayenne":{"long":["Französisch-Guayana-Zeit","Französisch-Guayana-Zeit"]},"Indian/Kerguelen":{"long":["Französische-Süd-und-Antarktisgebiete-Zeit","Französische-Süd-und-Antarktisgebiete-Zeit"]},"Asia/Bishkek":{"long":["Kirgisistan-Zeit","Kirgisistan-Zeit"]},"Pacific/Galapagos":{"long":["Galapagos-Zeit","Galapagos-Zeit"]},"Pacific/Gambier":{"long":["Gambier-Zeit","Gambier-Zeit"]},"Pacific/Tarawa":{"long":["Gilbert-Inseln-Zeit","Gilbert-Inseln-Zeit"]},"Atlantic/Reykjavik":{"long":["Mittlere Greenwich-Zeit","Mittlere Greenwich-Zeit"]},"Africa/Ouagadougou":{"long":["Mittlere Greenwich-Zeit","Mittlere Greenwich-Zeit"]},"Africa/Abidjan":{"long":["Mittlere Greenwich-Zeit","Mittlere Greenwich-Zeit"]},"Africa/Accra":{"long":["Mittlere Greenwich-Zeit","Mittlere Greenwich-Zeit"]},"Africa/Banjul":{"long":["Mittlere Greenwich-Zeit","Mittlere Greenwich-Zeit"]},"Africa/Conakry":{"long":["Mittlere Greenwich-Zeit","Mittlere Greenwich-Zeit"]},"Africa/Bamako":{"long":["Mittlere Greenwich-Zeit","Mittlere Greenwich-Zeit"]},"Africa/Nouakchott":{"long":["Mittlere Greenwich-Zeit","Mittlere Greenwich-Zeit"]},"Atlantic/St_Helena":{"long":["Mittlere Greenwich-Zeit","Mittlere Greenwich-Zeit"]},"Africa/Freetown":{"long":["Mittlere Greenwich-Zeit","Mittlere Greenwich-Zeit"]},"Africa/Dakar":{"long":["Mittlere Greenwich-Zeit","Mittlere Greenwich-Zeit"]},"Africa/Lome":{"long":["Mittlere Greenwich-Zeit","Mittlere Greenwich-Zeit"]},"America/Scoresbysund":{"long":["Ostgrönland-Normalzeit","Ostgrönland-Sommerzeit"]},"America/Godthab":{"long":["Westgrönland-Normalzeit","Westgrönland-Sommerzeit"]},"Asia/Dubai":{"long":["Golf-Zeit","Golf-Zeit"]},"Asia/Muscat":{"long":["Golf-Zeit","Golf-Zeit"]},"America/Guyana":{"long":["Guyana-Zeit","Guyana-Zeit"]},"Pacific/Honolulu":{"long":["Hawaii-Aleuten-Normalzeit","Hawaii-Aleuten-Sommerzeit"]},"Asia/Hong_Kong":{"long":["Hongkong-Normalzeit","Hongkong-Sommerzeit"]},"Asia/Hovd":{"long":["Chowd-Normalzeit","Chowd-Sommerzeit"]},"Asia/Calcutta":{"long":["Indische Normalzeit","Indische Normalzeit"]},"Asia/Colombo":{"long":["Sri-Lanka-Zeit","Sri-Lanka-Zeit"]},"Indian/Chagos":{"long":["Indischer-Ozean-Zeit","Indischer-Ozean-Zeit"]},"Asia/Bangkok":{"long":["Indochina-Zeit","Indochina-Zeit"]},"Asia/Phnom_Penh":{"long":["Indochina-Zeit","Indochina-Zeit"]},"Asia/Vientiane":{"long":["Indochina-Zeit","Indochina-Zeit"]},"Asia/Makassar":{"long":["Zentralindonesische Zeit","Zentralindonesische Zeit"]},"Asia/Jayapura":{"long":["Ostindonesische Zeit","Ostindonesische Zeit"]},"Asia/Jakarta":{"long":["Westindonesische Zeit","Westindonesische Zeit"]},"Asia/Tehran":{"long":["Iranische Normalzeit","Iranische Sommerzeit"]},"Asia/Irkutsk":{"long":["Irkutsk-Normalzeit","Irkutsk-Sommerzeit"]},"Asia/Jerusalem":{"long":["Israelische Normalzeit","Israelische Sommerzeit"]},"Asia/Tokyo":{"long":["Japanische Normalzeit","Japanische Sommerzeit"]},"Asia/Kamchatka":{"long":["Kamtschatka-Normalzeit","Kamtschatka-Sommerzeit"]},"Asia/Karachi":{"long":["Pakistanische Normalzeit","Pakistanische Sommerzeit"]},"Asia/Qyzylorda":{"long":["Quysylorda-Normalzeit","Qysylorda-Sommerzeit"]},"Asia/Seoul":{"long":["Koreanische Normalzeit","Koreanische Sommerzeit"]},"Pacific/Kosrae":{"long":["Kosrae-Zeit","Kosrae-Zeit"]},"Asia/Krasnoyarsk":{"long":["Krasnojarsk-Normalzeit","Krasnojarsk-Sommerzeit"]},"Europe/Samara":{"long":["Samara-Normalzeit","Samara-Sommerzeit"]},"Pacific/Kiritimati":{"long":["Linieninseln-Zeit","Linieninseln-Zeit"]},"Australia/Lord_Howe":{"long":["Lord-Howe-Normalzeit","Lord-Howe-Sommerzeit"]},"Asia/Macau":{"long":["Macau-Normalzeit","Macau-Sommerzeit"]},"Antarctica/Macquarie":{"long":["Macquarieinsel-Zeit","Macquarieinsel-Zeit"]},"Asia/Magadan":{"long":["Magadan-Normalzeit","Magadan-Sommerzeit"]},"Indian/Maldives":{"long":["Malediven-Zeit","Malediven-Zeit"]},"Pacific/Marquesas":{"long":["Marquesas-Zeit","Marquesas-Zeit"]},"Pacific/Majuro":{"long":["Marshallinseln-Zeit","Marshallinseln-Zeit"]},"Indian/Mauritius":{"long":["Mauritius-Normalzeit","Mauritius-Sommerzeit"]},"Antarctica/Mawson":{"long":["Mawson-Zeit","Mawson-Zeit"]},"America/Santa_Isabel":{"long":["Mexiko Nordwestliche Zone-Normalzeit","Mexiko Nordwestliche Zone-Sommerzeit"]},"America/Mazatlan":{"long":["Mexiko Pazifikzone-Normalzeit","Mexiko Pazifikzone-Sommerzeit"]},"Asia/Ulaanbaatar":{"long":["Ulaanbaatar-Normalzeit","Ulaanbaatar-Sommerzeit"]},"Europe/Moscow":{"long":["Moskauer Normalzeit","Moskauer Sommerzeit"]},"Asia/Rangoon":{"long":["Myanmar-Zeit","Myanmar-Zeit"]},"Pacific/Nauru":{"long":["Nauru-Zeit","Nauru-Zeit"]},"Asia/Katmandu":{"long":["Nepalesische Zeit","Nepalesische Zeit"]},"Pacific/Noumea":{"long":["Neukaledonische Normalzeit","Neukaledonische Sommerzeit"]},"Pacific/Auckland":{"long":["Neuseeland-Normalzeit","Neuseeland-Sommerzeit"]},"Antarctica/McMurdo":{"long":["Neuseeland-Normalzeit","Neuseeland-Sommerzeit"]},"America/St_Johns":{"long":["Neufundland-Normalzeit","Neufundland-Sommerzeit"]},"Pacific/Niue":{"long":["Niue-Zeit","Niue-Zeit"]},"Pacific/Norfolk":{"long":["Norfolkinsel-Normalzeit","Norfolkinsel-Sommerzeit"]},"America/Noronha":{"long":["Fernando-de-Noronha-Normalzeit","Fernando-de-Noronha-Sommerzeit"]},"Asia/Novosibirsk":{"long":["Nowosibirsk-Normalzeit","Nowosibirsk-Sommerzeit"]},"Asia/Omsk":{"long":["Omsker Normalzeit","Omsker Sommerzeit"]},"Pacific/Palau":{"long":["Palau-Zeit","Palau-Zeit"]},"Pacific/Port_Moresby":{"long":["Papua-Neuguinea-Zeit","Papua-Neuguinea-Zeit"]},"America/Asuncion":{"long":["Paraguayanische Normalzeit","Paraguayanische Sommerzeit"]},"America/Lima":{"long":["Peruanische Normalzeit","Peruanische Sommerzeit"]},"Asia/Manila":{"long":["Philippinische Normalzeit","Philippinische Sommerzeit"]},"Pacific/Enderbury":{"long":["Phoenixinseln-Zeit","Phoenixinseln-Zeit"]},"America/Miquelon":{"long":["St.-Pierre-und-Miquelon-Normalzeit","St.-Pierre-und-Miquelon-Sommerzeit"]},"Pacific/Pitcairn":{"long":["Pitcairninseln-Zeit","Pitcairninseln-Zeit"]},"Pacific/Ponape":{"long":["Ponape-Zeit","Ponape-Zeit"]},"Asia/Pyongyang":{"long":["Pjöngjang-Zeit","Pjöngjang-Zeit"]},"Indian/Reunion":{"long":["Réunion-Zeit","Réunion-Zeit"]},"Antarctica/Rothera":{"long":["Rothera-Zeit","Rothera-Zeit"]},"Asia/Sakhalin":{"long":["Sachalin-Normalzeit","Sachalin-Sommerzeit"]},"Pacific/Pago_Pago":{"long":["Samoa-Normalzeit","Samoa-Sommerzeit"]},"Indian/Mahe":{"long":["Seychellen-Zeit","Seychellen-Zeit"]},"Asia/Singapore":{"long":["Singapurische Normalzeit","Singapurische Normalzeit"]},"Pacific/Guadalcanal":{"long":["Salomonen-Zeit","Salomonen-Zeit"]},"Atlantic/South_Georgia":{"long":["Südgeorgische Zeit","Südgeorgische Zeit"]},"Asia/Yekaterinburg":{"long":["Jekaterinburg-Normalzeit","Jekaterinburg-Sommerzeit"]},"Antarctica/Syowa":{"long":["Syowa-Zeit","Syowa-Zeit"]},"Pacific/Tahiti":{"long":["Tahiti-Zeit","Tahiti-Zeit"]},"Asia/Taipei":{"long":["Taipeh-Normalzeit","Taipeh-Sommerzeit"]},"Asia/Tashkent":{"long":["Usbekistan-Normalzeit","Usbekistan-Sommerzeit"]},"Pacific/Fakaofo":{"long":["Tokelau-Zeit","Tokelau-Zeit"]},"Pacific/Tongatapu":{"long":["Tonganische Normalzeit","Tonganische Sommerzeit"]},"Pacific/Truk":{"long":["Chuuk-Zeit","Chuuk-Zeit"]},"Pacific/Funafuti":{"long":["Tuvalu-Zeit","Tuvalu-Zeit"]},"America/Montevideo":{"long":["Uruguyanische Normalzeit","Uruguayanische Sommerzeit"]},"Pacific/Efate":{"long":["Vanuatu-Normalzeit","Vanuatu-Sommerzeit"]},"America/Caracas":{"long":["Venezuela-Zeit","Venezuela-Zeit"]},"Asia/Vladivostok":{"long":["Wladiwostok-Normalzeit","Wladiwostok-Sommerzeit"]},"Europe/Volgograd":{"long":["Wolgograd-Normalzeit","Wolgograd-Sommerzeit"]},"Antarctica/Vostok":{"long":["Wostok-Zeit","Wostok-Zeit"]},"Pacific/Wake":{"long":["Wake-Insel-Zeit","Wake-Insel-Zeit"]},"Pacific/Wallis":{"long":["Wallis-und-Futuna-Zeit","Wallis-und-Futuna-Zeit"]},"Asia/Yakutsk":{"long":["Jakutsker Normalzeit","Jakutsker Sommerzeit"]},"UTC":{"long":["Koordinierte Weltzeit","Koordinierte Weltzeit"],"short":["UTC","UTC"]}},"gmtFormat":"GMT{0}","hourFormat":"+HH:mm;-HH:mm","dateFormat":{"full":"EEEE, d. MMMM y","long":"d. MMMM y","medium":"dd.MM.y","short":"dd.MM.yy"},"timeFormat":{"full":"HH:mm:ss zzzz","long":"HH:mm:ss z","medium":"HH:mm:ss","short":"HH:mm"},"dateTimeFormat":{"full":"{1} 'um' {0}","long":"{1} 'um' {0}","medium":"{1}, {0}","short":"{1}, {0}"},"formats":{"gregory":{"Bh":"h B","Bhm":"h:mm B","Bhms":"h:mm:ss B","d":"d","E":"ccc","EBhm":"E h:mm B","EBhms":"E h:mm:ss B","Ed":"E, d.","Ehm":"E h:mm a","EHm":"E, HH:mm","Ehms":"E, h:mm:ss a","EHms":"E, HH:mm:ss","Gy":"y G","GyMMM":"MMM y G","GyMMMd":"d. MMM y G","GyMMMEd":"E, d. MMM y G","h":"h 'Uhr' a","H":"HH 'Uhr'","hm":"h:mm a","Hm":"HH:mm","hms":"h:mm:ss a","Hms":"HH:mm:ss","hmsv":"h:mm:ss a v","Hmsv":"HH:mm:ss v","hmv":"h:mm a v","Hmv":"HH:mm v","M":"L","Md":"d.M.","MEd":"E, d.M.","MMd":"d.MM.","MMdd":"dd.MM.","MMM":"LLL","MMMd":"d. MMM","MMMEd":"E, d. MMM","MMMMd":"d. MMMM","MMMMEd":"E, d. MMMM","ms":"mm:ss","y":"y","yM":"M.y","yMd":"d.M.y","yMEd":"E, d.M.y","yMM":"MM.y","yMMdd":"dd.MM.y","yMMM":"MMM y","yMMMd":"d. MMM y","yMMMEd":"E, d. MMM y","yMMMM":"MMMM y","EEEE, d. MMMM y":"EEEE, d. MMMM y","d. MMMM y":"d. MMMM y","dd.MM.y":"dd.MM.y","dd.MM.yy":"dd.MM.yy","HH:mm:ss zzzz":"HH:mm:ss zzzz","HH:mm:ss z":"HH:mm:ss z","HH:mm:ss":"HH:mm:ss","HH:mm":"HH:mm","EEEE, d. MMMM y 'um' HH:mm:ss zzzz":"EEEE, d. MMMM y 'um' HH:mm:ss zzzz","d. MMMM y 'um' HH:mm:ss zzzz":"d. MMMM y 'um' HH:mm:ss zzzz","dd.MM.y, HH:mm:ss zzzz":"dd.MM.y, HH:mm:ss zzzz","dd.MM.yy, HH:mm:ss zzzz":"dd.MM.yy, HH:mm:ss zzzz","d, HH:mm:ss zzzz":"d, HH:mm:ss zzzz","E, HH:mm:ss zzzz":"ccc, HH:mm:ss zzzz","Ed, HH:mm:ss zzzz":"E, d., HH:mm:ss zzzz","Gy, HH:mm:ss zzzz":"y G, HH:mm:ss zzzz","GyMMM, HH:mm:ss zzzz":"MMM y G, HH:mm:ss zzzz","GyMMMd, HH:mm:ss zzzz":"d. MMM y G, HH:mm:ss zzzz","GyMMMEd, HH:mm:ss zzzz":"E, d. MMM y G, HH:mm:ss zzzz","M, HH:mm:ss zzzz":"L, HH:mm:ss zzzz","Md, HH:mm:ss zzzz":"d.M., HH:mm:ss zzzz","MEd, HH:mm:ss zzzz":"E, d.M., HH:mm:ss zzzz","MMd, HH:mm:ss zzzz":"d.MM., HH:mm:ss zzzz","MMdd, HH:mm:ss zzzz":"dd.MM., HH:mm:ss zzzz","MMM, HH:mm:ss zzzz":"LLL, HH:mm:ss zzzz","MMMd, HH:mm:ss zzzz":"d. MMM, HH:mm:ss zzzz","MMMEd, HH:mm:ss zzzz":"E, d. MMM, HH:mm:ss zzzz","MMMMd 'um' HH:mm:ss zzzz":"d. MMMM 'um' HH:mm:ss zzzz","MMMMEd 'um' HH:mm:ss zzzz":"E, d. MMMM 'um' HH:mm:ss zzzz","y, HH:mm:ss zzzz":"y, HH:mm:ss zzzz","yM, HH:mm:ss zzzz":"M.y, HH:mm:ss zzzz","yMd, HH:mm:ss zzzz":"d.M.y, HH:mm:ss zzzz","yMEd, HH:mm:ss zzzz":"E, d.M.y, HH:mm:ss zzzz","yMM, HH:mm:ss zzzz":"MM.y, HH:mm:ss zzzz","yMMdd, HH:mm:ss zzzz":"dd.MM.y, HH:mm:ss zzzz","yMMM, HH:mm:ss zzzz":"MMM y, HH:mm:ss zzzz","yMMMd, HH:mm:ss zzzz":"d. MMM y, HH:mm:ss zzzz","yMMMEd, HH:mm:ss zzzz":"E, d. MMM y, HH:mm:ss zzzz","yMMMM 'um' HH:mm:ss zzzz":"MMMM y 'um' HH:mm:ss zzzz","EEEE, d. MMMM y 'um' HH:mm:ss z":"EEEE, d. MMMM y 'um' HH:mm:ss z","d. MMMM y 'um' HH:mm:ss z":"d. MMMM y 'um' HH:mm:ss z","dd.MM.y, HH:mm:ss z":"dd.MM.y, HH:mm:ss z","dd.MM.yy, HH:mm:ss z":"dd.MM.yy, HH:mm:ss z","d, HH:mm:ss z":"d, HH:mm:ss z","E, HH:mm:ss z":"ccc, HH:mm:ss z","Ed, HH:mm:ss z":"E, d., HH:mm:ss z","Gy, HH:mm:ss z":"y G, HH:mm:ss z","GyMMM, HH:mm:ss z":"MMM y G, HH:mm:ss z","GyMMMd, HH:mm:ss z":"d. MMM y G, HH:mm:ss z","GyMMMEd, HH:mm:ss z":"E, d. MMM y G, HH:mm:ss z","M, HH:mm:ss z":"L, HH:mm:ss z","Md, HH:mm:ss z":"d.M., HH:mm:ss z","MEd, HH:mm:ss z":"E, d.M., HH:mm:ss z","MMd, HH:mm:ss z":"d.MM., HH:mm:ss z","MMdd, HH:mm:ss z":"dd.MM., HH:mm:ss z","MMM, HH:mm:ss z":"LLL, HH:mm:ss z","MMMd, HH:mm:ss z":"d. MMM, HH:mm:ss z","MMMEd, HH:mm:ss z":"E, d. MMM, HH:mm:ss z","MMMMd 'um' HH:mm:ss z":"d. MMMM 'um' HH:mm:ss z","MMMMEd 'um' HH:mm:ss z":"E, d. MMMM 'um' HH:mm:ss z","y, HH:mm:ss z":"y, HH:mm:ss z","yM, HH:mm:ss z":"M.y, HH:mm:ss z","yMd, HH:mm:ss z":"d.M.y, HH:mm:ss z","yMEd, HH:mm:ss z":"E, d.M.y, HH:mm:ss z","yMM, HH:mm:ss z":"MM.y, HH:mm:ss z","yMMdd, HH:mm:ss z":"dd.MM.y, HH:mm:ss z","yMMM, HH:mm:ss z":"MMM y, HH:mm:ss z","yMMMd, HH:mm:ss z":"d. MMM y, HH:mm:ss z","yMMMEd, HH:mm:ss z":"E, d. MMM y, HH:mm:ss z","yMMMM 'um' HH:mm:ss z":"MMMM y 'um' HH:mm:ss z","EEEE, d. MMMM y 'um' HH:mm:ss":"EEEE, d. MMMM y 'um' HH:mm:ss","d. MMMM y 'um' HH:mm:ss":"d. MMMM y 'um' HH:mm:ss","dd.MM.y, HH:mm:ss":"dd.MM.y, HH:mm:ss","dd.MM.yy, HH:mm:ss":"dd.MM.yy, HH:mm:ss","d, HH:mm:ss":"d, HH:mm:ss","E, HH:mm:ss":"ccc, HH:mm:ss","Ed, HH:mm:ss":"E, d., HH:mm:ss","Gy, HH:mm:ss":"y G, HH:mm:ss","GyMMM, HH:mm:ss":"MMM y G, HH:mm:ss","GyMMMd, HH:mm:ss":"d. MMM y G, HH:mm:ss","GyMMMEd, HH:mm:ss":"E, d. MMM y G, HH:mm:ss","M, HH:mm:ss":"L, HH:mm:ss","Md, HH:mm:ss":"d.M., HH:mm:ss","MEd, HH:mm:ss":"E, d.M., HH:mm:ss","MMd, HH:mm:ss":"d.MM., HH:mm:ss","MMdd, HH:mm:ss":"dd.MM., HH:mm:ss","MMM, HH:mm:ss":"LLL, HH:mm:ss","MMMd, HH:mm:ss":"d. MMM, HH:mm:ss","MMMEd, HH:mm:ss":"E, d. MMM, HH:mm:ss","MMMMd 'um' HH:mm:ss":"d. MMMM 'um' HH:mm:ss","MMMMEd 'um' HH:mm:ss":"E, d. MMMM 'um' HH:mm:ss","y, HH:mm:ss":"y, HH:mm:ss","yM, HH:mm:ss":"M.y, HH:mm:ss","yMd, HH:mm:ss":"d.M.y, HH:mm:ss","yMEd, HH:mm:ss":"E, d.M.y, HH:mm:ss","yMM, HH:mm:ss":"MM.y, HH:mm:ss","yMMdd, HH:mm:ss":"dd.MM.y, HH:mm:ss","yMMM, HH:mm:ss":"MMM y, HH:mm:ss","yMMMd, HH:mm:ss":"d. MMM y, HH:mm:ss","yMMMEd, HH:mm:ss":"E, d. MMM y, HH:mm:ss","yMMMM 'um' HH:mm:ss":"MMMM y 'um' HH:mm:ss","EEEE, d. MMMM y 'um' HH:mm":"EEEE, d. MMMM y 'um' HH:mm","d. MMMM y 'um' HH:mm":"d. MMMM y 'um' HH:mm","dd.MM.y, HH:mm":"dd.MM.y, HH:mm","dd.MM.yy, HH:mm":"dd.MM.yy, HH:mm","d, HH:mm":"d, HH:mm","E, HH:mm":"ccc, HH:mm","Ed, HH:mm":"E, d., HH:mm","Gy, HH:mm":"y G, HH:mm","GyMMM, HH:mm":"MMM y G, HH:mm","GyMMMd, HH:mm":"d. MMM y G, HH:mm","GyMMMEd, HH:mm":"E, d. MMM y G, HH:mm","M, HH:mm":"L, HH:mm","Md, HH:mm":"d.M., HH:mm","MEd, HH:mm":"E, d.M., HH:mm","MMd, HH:mm":"d.MM., HH:mm","MMdd, HH:mm":"dd.MM., HH:mm","MMM, HH:mm":"LLL, HH:mm","MMMd, HH:mm":"d. MMM, HH:mm","MMMEd, HH:mm":"E, d. MMM, HH:mm","MMMMd 'um' HH:mm":"d. MMMM 'um' HH:mm","MMMMEd 'um' HH:mm":"E, d. MMMM 'um' HH:mm","y, HH:mm":"y, HH:mm","yM, HH:mm":"M.y, HH:mm","yMd, HH:mm":"d.M.y, HH:mm","yMEd, HH:mm":"E, d.M.y, HH:mm","yMM, HH:mm":"MM.y, HH:mm","yMMdd, HH:mm":"dd.MM.y, HH:mm","yMMM, HH:mm":"MMM y, HH:mm","yMMMd, HH:mm":"d. MMM y, HH:mm","yMMMEd, HH:mm":"E, d. MMM y, HH:mm","yMMMM 'um' HH:mm":"MMMM y 'um' HH:mm","EEEE, d. MMMM y 'um' Bh":"EEEE, d. MMMM y 'um' h B","d. MMMM y 'um' Bh":"d. MMMM y 'um' h B","dd.MM.y, Bh":"dd.MM.y, h B","dd.MM.yy, Bh":"dd.MM.yy, h B","d, Bh":"d, h B","E, Bh":"ccc, h B","Ed, Bh":"E, d., h B","Gy, Bh":"y G, h B","GyMMM, Bh":"MMM y G, h B","GyMMMd, Bh":"d. MMM y G, h B","GyMMMEd, Bh":"E, d. MMM y G, h B","M, Bh":"L, h B","Md, Bh":"d.M., h B","MEd, Bh":"E, d.M., h B","MMd, Bh":"d.MM., h B","MMdd, Bh":"dd.MM., h B","MMM, Bh":"LLL, h B","MMMd, Bh":"d. MMM, h B","MMMEd, Bh":"E, d. MMM, h B","MMMMd 'um' Bh":"d. MMMM 'um' h B","MMMMEd 'um' Bh":"E, d. MMMM 'um' h B","y, Bh":"y, h B","yM, Bh":"M.y, h B","yMd, Bh":"d.M.y, h B","yMEd, Bh":"E, d.M.y, h B","yMM, Bh":"MM.y, h B","yMMdd, Bh":"dd.MM.y, h B","yMMM, Bh":"MMM y, h B","yMMMd, Bh":"d. MMM y, h B","yMMMEd, Bh":"E, d. MMM y, h B","yMMMM 'um' Bh":"MMMM y 'um' h B","EEEE, d. MMMM y 'um' Bhm":"EEEE, d. MMMM y 'um' h:mm B","d. MMMM y 'um' Bhm":"d. MMMM y 'um' h:mm B","dd.MM.y, Bhm":"dd.MM.y, h:mm B","dd.MM.yy, Bhm":"dd.MM.yy, h:mm B","d, Bhm":"d, h:mm B","E, Bhm":"ccc, h:mm B","Ed, Bhm":"E, d., h:mm B","Gy, Bhm":"y G, h:mm B","GyMMM, Bhm":"MMM y G, h:mm B","GyMMMd, Bhm":"d. MMM y G, h:mm B","GyMMMEd, Bhm":"E, d. MMM y G, h:mm B","M, Bhm":"L, h:mm B","Md, Bhm":"d.M., h:mm B","MEd, Bhm":"E, d.M., h:mm B","MMd, Bhm":"d.MM., h:mm B","MMdd, Bhm":"dd.MM., h:mm B","MMM, Bhm":"LLL, h:mm B","MMMd, Bhm":"d. MMM, h:mm B","MMMEd, Bhm":"E, d. MMM, h:mm B","MMMMd 'um' Bhm":"d. MMMM 'um' h:mm B","MMMMEd 'um' Bhm":"E, d. MMMM 'um' h:mm B","y, Bhm":"y, h:mm B","yM, Bhm":"M.y, h:mm B","yMd, Bhm":"d.M.y, h:mm B","yMEd, Bhm":"E, d.M.y, h:mm B","yMM, Bhm":"MM.y, h:mm B","yMMdd, Bhm":"dd.MM.y, h:mm B","yMMM, Bhm":"MMM y, h:mm B","yMMMd, Bhm":"d. MMM y, h:mm B","yMMMEd, Bhm":"E, d. MMM y, h:mm B","yMMMM 'um' Bhm":"MMMM y 'um' h:mm B","EEEE, d. MMMM y 'um' Bhms":"EEEE, d. MMMM y 'um' h:mm:ss B","d. MMMM y 'um' Bhms":"d. MMMM y 'um' h:mm:ss B","dd.MM.y, Bhms":"dd.MM.y, h:mm:ss B","dd.MM.yy, Bhms":"dd.MM.yy, h:mm:ss B","d, Bhms":"d, h:mm:ss B","E, Bhms":"ccc, h:mm:ss B","Ed, Bhms":"E, d., h:mm:ss B","Gy, Bhms":"y G, h:mm:ss B","GyMMM, Bhms":"MMM y G, h:mm:ss B","GyMMMd, Bhms":"d. MMM y G, h:mm:ss B","GyMMMEd, Bhms":"E, d. MMM y G, h:mm:ss B","M, Bhms":"L, h:mm:ss B","Md, Bhms":"d.M., h:mm:ss B","MEd, Bhms":"E, d.M., h:mm:ss B","MMd, Bhms":"d.MM., h:mm:ss B","MMdd, Bhms":"dd.MM., h:mm:ss B","MMM, Bhms":"LLL, h:mm:ss B","MMMd, Bhms":"d. MMM, h:mm:ss B","MMMEd, Bhms":"E, d. MMM, h:mm:ss B","MMMMd 'um' Bhms":"d. MMMM 'um' h:mm:ss B","MMMMEd 'um' Bhms":"E, d. MMMM 'um' h:mm:ss B","y, Bhms":"y, h:mm:ss B","yM, Bhms":"M.y, h:mm:ss B","yMd, Bhms":"d.M.y, h:mm:ss B","yMEd, Bhms":"E, d.M.y, h:mm:ss B","yMM, Bhms":"MM.y, h:mm:ss B","yMMdd, Bhms":"dd.MM.y, h:mm:ss B","yMMM, Bhms":"MMM y, h:mm:ss B","yMMMd, Bhms":"d. MMM y, h:mm:ss B","yMMMEd, Bhms":"E, d. MMM y, h:mm:ss B","yMMMM 'um' Bhms":"MMMM y 'um' h:mm:ss B","EEEE, d. MMMM y 'um' h":"EEEE, d. MMMM y 'um' h 'Uhr' a","d. MMMM y 'um' h":"d. MMMM y 'um' h 'Uhr' a","dd.MM.y, h":"dd.MM.y, h 'Uhr' a","dd.MM.yy, h":"dd.MM.yy, h 'Uhr' a","d, h":"d, h 'Uhr' a","E, h":"ccc, h 'Uhr' a","Ed, h":"E, d., h 'Uhr' a","Gy, h":"y G, h 'Uhr' a","GyMMM, h":"MMM y G, h 'Uhr' a","GyMMMd, h":"d. MMM y G, h 'Uhr' a","GyMMMEd, h":"E, d. MMM y G, h 'Uhr' a","M, h":"L, h 'Uhr' a","Md, h":"d.M., h 'Uhr' a","MEd, h":"E, d.M., h 'Uhr' a","MMd, h":"d.MM., h 'Uhr' a","MMdd, h":"dd.MM., h 'Uhr' a","MMM, h":"LLL, h 'Uhr' a","MMMd, h":"d. MMM, h 'Uhr' a","MMMEd, h":"E, d. MMM, h 'Uhr' a","MMMMd 'um' h":"d. MMMM 'um' h 'Uhr' a","MMMMEd 'um' h":"E, d. MMMM 'um' h 'Uhr' a","y, h":"y, h 'Uhr' a","yM, h":"M.y, h 'Uhr' a","yMd, h":"d.M.y, h 'Uhr' a","yMEd, h":"E, d.M.y, h 'Uhr' a","yMM, h":"MM.y, h 'Uhr' a","yMMdd, h":"dd.MM.y, h 'Uhr' a","yMMM, h":"MMM y, h 'Uhr' a","yMMMd, h":"d. MMM y, h 'Uhr' a","yMMMEd, h":"E, d. MMM y, h 'Uhr' a","yMMMM 'um' h":"MMMM y 'um' h 'Uhr' a","EEEE, d. MMMM y 'um' H":"EEEE, d. MMMM y 'um' HH 'Uhr'","d. MMMM y 'um' H":"d. MMMM y 'um' HH 'Uhr'","dd.MM.y, H":"dd.MM.y, HH 'Uhr'","dd.MM.yy, H":"dd.MM.yy, HH 'Uhr'","d, H":"d, HH 'Uhr'","E, H":"ccc, HH 'Uhr'","Ed, H":"E, d., HH 'Uhr'","Gy, H":"y G, HH 'Uhr'","GyMMM, H":"MMM y G, HH 'Uhr'","GyMMMd, H":"d. MMM y G, HH 'Uhr'","GyMMMEd, H":"E, d. MMM y G, HH 'Uhr'","M, H":"L, HH 'Uhr'","Md, H":"d.M., HH 'Uhr'","MEd, H":"E, d.M., HH 'Uhr'","MMd, H":"d.MM., HH 'Uhr'","MMdd, H":"dd.MM., HH 'Uhr'","MMM, H":"LLL, HH 'Uhr'","MMMd, H":"d. MMM, HH 'Uhr'","MMMEd, H":"E, d. MMM, HH 'Uhr'","MMMMd 'um' H":"d. MMMM 'um' HH 'Uhr'","MMMMEd 'um' H":"E, d. MMMM 'um' HH 'Uhr'","y, H":"y, HH 'Uhr'","yM, H":"M.y, HH 'Uhr'","yMd, H":"d.M.y, HH 'Uhr'","yMEd, H":"E, d.M.y, HH 'Uhr'","yMM, H":"MM.y, HH 'Uhr'","yMMdd, H":"dd.MM.y, HH 'Uhr'","yMMM, H":"MMM y, HH 'Uhr'","yMMMd, H":"d. MMM y, HH 'Uhr'","yMMMEd, H":"E, d. MMM y, HH 'Uhr'","yMMMM 'um' H":"MMMM y 'um' HH 'Uhr'","EEEE, d. MMMM y 'um' hm":"EEEE, d. MMMM y 'um' h:mm a","d. MMMM y 'um' hm":"d. MMMM y 'um' h:mm a","dd.MM.y, hm":"dd.MM.y, h:mm a","dd.MM.yy, hm":"dd.MM.yy, h:mm a","d, hm":"d, h:mm a","E, hm":"ccc, h:mm a","Ed, hm":"E, d., h:mm a","Gy, hm":"y G, h:mm a","GyMMM, hm":"MMM y G, h:mm a","GyMMMd, hm":"d. MMM y G, h:mm a","GyMMMEd, hm":"E, d. MMM y G, h:mm a","M, hm":"L, h:mm a","Md, hm":"d.M., h:mm a","MEd, hm":"E, d.M., h:mm a","MMd, hm":"d.MM., h:mm a","MMdd, hm":"dd.MM., h:mm a","MMM, hm":"LLL, h:mm a","MMMd, hm":"d. MMM, h:mm a","MMMEd, hm":"E, d. MMM, h:mm a","MMMMd 'um' hm":"d. MMMM 'um' h:mm a","MMMMEd 'um' hm":"E, d. MMMM 'um' h:mm a","y, hm":"y, h:mm a","yM, hm":"M.y, h:mm a","yMd, hm":"d.M.y, h:mm a","yMEd, hm":"E, d.M.y, h:mm a","yMM, hm":"MM.y, h:mm a","yMMdd, hm":"dd.MM.y, h:mm a","yMMM, hm":"MMM y, h:mm a","yMMMd, hm":"d. MMM y, h:mm a","yMMMEd, hm":"E, d. MMM y, h:mm a","yMMMM 'um' hm":"MMMM y 'um' h:mm a","EEEE, d. MMMM y 'um' Hm":"EEEE, d. MMMM y 'um' HH:mm","d. MMMM y 'um' Hm":"d. MMMM y 'um' HH:mm","dd.MM.y, Hm":"dd.MM.y, HH:mm","dd.MM.yy, Hm":"dd.MM.yy, HH:mm","d, Hm":"d, HH:mm","E, Hm":"ccc, HH:mm","Ed, Hm":"E, d., HH:mm","Gy, Hm":"y G, HH:mm","GyMMM, Hm":"MMM y G, HH:mm","GyMMMd, Hm":"d. MMM y G, HH:mm","GyMMMEd, Hm":"E, d. MMM y G, HH:mm","M, Hm":"L, HH:mm","Md, Hm":"d.M., HH:mm","MEd, Hm":"E, d.M., HH:mm","MMd, Hm":"d.MM., HH:mm","MMdd, Hm":"dd.MM., HH:mm","MMM, Hm":"LLL, HH:mm","MMMd, Hm":"d. MMM, HH:mm","MMMEd, Hm":"E, d. MMM, HH:mm","MMMMd 'um' Hm":"d. MMMM 'um' HH:mm","MMMMEd 'um' Hm":"E, d. MMMM 'um' HH:mm","y, Hm":"y, HH:mm","yM, Hm":"M.y, HH:mm","yMd, Hm":"d.M.y, HH:mm","yMEd, Hm":"E, d.M.y, HH:mm","yMM, Hm":"MM.y, HH:mm","yMMdd, Hm":"dd.MM.y, HH:mm","yMMM, Hm":"MMM y, HH:mm","yMMMd, Hm":"d. MMM y, HH:mm","yMMMEd, Hm":"E, d. MMM y, HH:mm","yMMMM 'um' Hm":"MMMM y 'um' HH:mm","EEEE, d. MMMM y 'um' hms":"EEEE, d. MMMM y 'um' h:mm:ss a","d. MMMM y 'um' hms":"d. MMMM y 'um' h:mm:ss a","dd.MM.y, hms":"dd.MM.y, h:mm:ss a","dd.MM.yy, hms":"dd.MM.yy, h:mm:ss a","d, hms":"d, h:mm:ss a","E, hms":"ccc, h:mm:ss a","Ed, hms":"E, d., h:mm:ss a","Gy, hms":"y G, h:mm:ss a","GyMMM, hms":"MMM y G, h:mm:ss a","GyMMMd, hms":"d. MMM y G, h:mm:ss a","GyMMMEd, hms":"E, d. MMM y G, h:mm:ss a","M, hms":"L, h:mm:ss a","Md, hms":"d.M., h:mm:ss a","MEd, hms":"E, d.M., h:mm:ss a","MMd, hms":"d.MM., h:mm:ss a","MMdd, hms":"dd.MM., h:mm:ss a","MMM, hms":"LLL, h:mm:ss a","MMMd, hms":"d. MMM, h:mm:ss a","MMMEd, hms":"E, d. MMM, h:mm:ss a","MMMMd 'um' hms":"d. MMMM 'um' h:mm:ss a","MMMMEd 'um' hms":"E, d. MMMM 'um' h:mm:ss a","y, hms":"y, h:mm:ss a","yM, hms":"M.y, h:mm:ss a","yMd, hms":"d.M.y, h:mm:ss a","yMEd, hms":"E, d.M.y, h:mm:ss a","yMM, hms":"MM.y, h:mm:ss a","yMMdd, hms":"dd.MM.y, h:mm:ss a","yMMM, hms":"MMM y, h:mm:ss a","yMMMd, hms":"d. MMM y, h:mm:ss a","yMMMEd, hms":"E, d. MMM y, h:mm:ss a","yMMMM 'um' hms":"MMMM y 'um' h:mm:ss a","EEEE, d. MMMM y 'um' Hms":"EEEE, d. MMMM y 'um' HH:mm:ss","d. MMMM y 'um' Hms":"d. MMMM y 'um' HH:mm:ss","dd.MM.y, Hms":"dd.MM.y, HH:mm:ss","dd.MM.yy, Hms":"dd.MM.yy, HH:mm:ss","d, Hms":"d, HH:mm:ss","E, Hms":"ccc, HH:mm:ss","Ed, Hms":"E, d., HH:mm:ss","Gy, Hms":"y G, HH:mm:ss","GyMMM, Hms":"MMM y G, HH:mm:ss","GyMMMd, Hms":"d. MMM y G, HH:mm:ss","GyMMMEd, Hms":"E, d. MMM y G, HH:mm:ss","M, Hms":"L, HH:mm:ss","Md, Hms":"d.M., HH:mm:ss","MEd, Hms":"E, d.M., HH:mm:ss","MMd, Hms":"d.MM., HH:mm:ss","MMdd, Hms":"dd.MM., HH:mm:ss","MMM, Hms":"LLL, HH:mm:ss","MMMd, Hms":"d. MMM, HH:mm:ss","MMMEd, Hms":"E, d. MMM, HH:mm:ss","MMMMd 'um' Hms":"d. MMMM 'um' HH:mm:ss","MMMMEd 'um' Hms":"E, d. MMMM 'um' HH:mm:ss","y, Hms":"y, HH:mm:ss","yM, Hms":"M.y, HH:mm:ss","yMd, Hms":"d.M.y, HH:mm:ss","yMEd, Hms":"E, d.M.y, HH:mm:ss","yMM, Hms":"MM.y, HH:mm:ss","yMMdd, Hms":"dd.MM.y, HH:mm:ss","yMMM, Hms":"MMM y, HH:mm:ss","yMMMd, Hms":"d. MMM y, HH:mm:ss","yMMMEd, Hms":"E, d. MMM y, HH:mm:ss","yMMMM 'um' Hms":"MMMM y 'um' HH:mm:ss","EEEE, d. MMMM y 'um' hmsv":"EEEE, d. MMMM y 'um' h:mm:ss a v","d. MMMM y 'um' hmsv":"d. MMMM y 'um' h:mm:ss a v","dd.MM.y, hmsv":"dd.MM.y, h:mm:ss a v","dd.MM.yy, hmsv":"dd.MM.yy, h:mm:ss a v","d, hmsv":"d, h:mm:ss a v","E, hmsv":"ccc, h:mm:ss a v","Ed, hmsv":"E, d., h:mm:ss a v","Gy, hmsv":"y G, h:mm:ss a v","GyMMM, hmsv":"MMM y G, h:mm:ss a v","GyMMMd, hmsv":"d. MMM y G, h:mm:ss a v","GyMMMEd, hmsv":"E, d. MMM y G, h:mm:ss a v","M, hmsv":"L, h:mm:ss a v","Md, hmsv":"d.M., h:mm:ss a v","MEd, hmsv":"E, d.M., h:mm:ss a v","MMd, hmsv":"d.MM., h:mm:ss a v","MMdd, hmsv":"dd.MM., h:mm:ss a v","MMM, hmsv":"LLL, h:mm:ss a v","MMMd, hmsv":"d. MMM, h:mm:ss a v","MMMEd, hmsv":"E, d. MMM, h:mm:ss a v","MMMMd 'um' hmsv":"d. MMMM 'um' h:mm:ss a v","MMMMEd 'um' hmsv":"E, d. MMMM 'um' h:mm:ss a v","y, hmsv":"y, h:mm:ss a v","yM, hmsv":"M.y, h:mm:ss a v","yMd, hmsv":"d.M.y, h:mm:ss a v","yMEd, hmsv":"E, d.M.y, h:mm:ss a v","yMM, hmsv":"MM.y, h:mm:ss a v","yMMdd, hmsv":"dd.MM.y, h:mm:ss a v","yMMM, hmsv":"MMM y, h:mm:ss a v","yMMMd, hmsv":"d. MMM y, h:mm:ss a v","yMMMEd, hmsv":"E, d. MMM y, h:mm:ss a v","yMMMM 'um' hmsv":"MMMM y 'um' h:mm:ss a v","EEEE, d. MMMM y 'um' Hmsv":"EEEE, d. MMMM y 'um' HH:mm:ss v","d. MMMM y 'um' Hmsv":"d. MMMM y 'um' HH:mm:ss v","dd.MM.y, Hmsv":"dd.MM.y, HH:mm:ss v","dd.MM.yy, Hmsv":"dd.MM.yy, HH:mm:ss v","d, Hmsv":"d, HH:mm:ss v","E, Hmsv":"ccc, HH:mm:ss v","Ed, Hmsv":"E, d., HH:mm:ss v","Gy, Hmsv":"y G, HH:mm:ss v","GyMMM, Hmsv":"MMM y G, HH:mm:ss v","GyMMMd, Hmsv":"d. MMM y G, HH:mm:ss v","GyMMMEd, Hmsv":"E, d. MMM y G, HH:mm:ss v","M, Hmsv":"L, HH:mm:ss v","Md, Hmsv":"d.M., HH:mm:ss v","MEd, Hmsv":"E, d.M., HH:mm:ss v","MMd, Hmsv":"d.MM., HH:mm:ss v","MMdd, Hmsv":"dd.MM., HH:mm:ss v","MMM, Hmsv":"LLL, HH:mm:ss v","MMMd, Hmsv":"d. MMM, HH:mm:ss v","MMMEd, Hmsv":"E, d. MMM, HH:mm:ss v","MMMMd 'um' Hmsv":"d. MMMM 'um' HH:mm:ss v","MMMMEd 'um' Hmsv":"E, d. MMMM 'um' HH:mm:ss v","y, Hmsv":"y, HH:mm:ss v","yM, Hmsv":"M.y, HH:mm:ss v","yMd, Hmsv":"d.M.y, HH:mm:ss v","yMEd, Hmsv":"E, d.M.y, HH:mm:ss v","yMM, Hmsv":"MM.y, HH:mm:ss v","yMMdd, Hmsv":"dd.MM.y, HH:mm:ss v","yMMM, Hmsv":"MMM y, HH:mm:ss v","yMMMd, Hmsv":"d. MMM y, HH:mm:ss v","yMMMEd, Hmsv":"E, d. MMM y, HH:mm:ss v","yMMMM 'um' Hmsv":"MMMM y 'um' HH:mm:ss v","EEEE, d. MMMM y 'um' hmv":"EEEE, d. MMMM y 'um' h:mm a v","d. MMMM y 'um' hmv":"d. MMMM y 'um' h:mm a v","dd.MM.y, hmv":"dd.MM.y, h:mm a v","dd.MM.yy, hmv":"dd.MM.yy, h:mm a v","d, hmv":"d, h:mm a v","E, hmv":"ccc, h:mm a v","Ed, hmv":"E, d., h:mm a v","Gy, hmv":"y G, h:mm a v","GyMMM, hmv":"MMM y G, h:mm a v","GyMMMd, hmv":"d. MMM y G, h:mm a v","GyMMMEd, hmv":"E, d. MMM y G, h:mm a v","M, hmv":"L, h:mm a v","Md, hmv":"d.M., h:mm a v","MEd, hmv":"E, d.M., h:mm a v","MMd, hmv":"d.MM., h:mm a v","MMdd, hmv":"dd.MM., h:mm a v","MMM, hmv":"LLL, h:mm a v","MMMd, hmv":"d. MMM, h:mm a v","MMMEd, hmv":"E, d. MMM, h:mm a v","MMMMd 'um' hmv":"d. MMMM 'um' h:mm a v","MMMMEd 'um' hmv":"E, d. MMMM 'um' h:mm a v","y, hmv":"y, h:mm a v","yM, hmv":"M.y, h:mm a v","yMd, hmv":"d.M.y, h:mm a v","yMEd, hmv":"E, d.M.y, h:mm a v","yMM, hmv":"MM.y, h:mm a v","yMMdd, hmv":"dd.MM.y, h:mm a v","yMMM, hmv":"MMM y, h:mm a v","yMMMd, hmv":"d. MMM y, h:mm a v","yMMMEd, hmv":"E, d. MMM y, h:mm a v","yMMMM 'um' hmv":"MMMM y 'um' h:mm a v","EEEE, d. MMMM y 'um' Hmv":"EEEE, d. MMMM y 'um' HH:mm v","d. MMMM y 'um' Hmv":"d. MMMM y 'um' HH:mm v","dd.MM.y, Hmv":"dd.MM.y, HH:mm v","dd.MM.yy, Hmv":"dd.MM.yy, HH:mm v","d, Hmv":"d, HH:mm v","E, Hmv":"ccc, HH:mm v","Ed, Hmv":"E, d., HH:mm v","Gy, Hmv":"y G, HH:mm v","GyMMM, Hmv":"MMM y G, HH:mm v","GyMMMd, Hmv":"d. MMM y G, HH:mm v","GyMMMEd, Hmv":"E, d. MMM y G, HH:mm v","M, Hmv":"L, HH:mm v","Md, Hmv":"d.M., HH:mm v","MEd, Hmv":"E, d.M., HH:mm v","MMd, Hmv":"d.MM., HH:mm v","MMdd, Hmv":"dd.MM., HH:mm v","MMM, Hmv":"LLL, HH:mm v","MMMd, Hmv":"d. MMM, HH:mm v","MMMEd, Hmv":"E, d. MMM, HH:mm v","MMMMd 'um' Hmv":"d. MMMM 'um' HH:mm v","MMMMEd 'um' Hmv":"E, d. MMMM 'um' HH:mm v","y, Hmv":"y, HH:mm v","yM, Hmv":"M.y, HH:mm v","yMd, Hmv":"d.M.y, HH:mm v","yMEd, Hmv":"E, d.M.y, HH:mm v","yMM, Hmv":"MM.y, HH:mm v","yMMdd, Hmv":"dd.MM.y, HH:mm v","yMMM, Hmv":"MMM y, HH:mm v","yMMMd, Hmv":"d. MMM y, HH:mm v","yMMMEd, Hmv":"E, d. MMM y, HH:mm v","yMMMM 'um' Hmv":"MMMM y 'um' HH:mm v","EEEE, d. MMMM y 'um' ms":"EEEE, d. MMMM y 'um' mm:ss","d. MMMM y 'um' ms":"d. MMMM y 'um' mm:ss","dd.MM.y, ms":"dd.MM.y, mm:ss","dd.MM.yy, ms":"dd.MM.yy, mm:ss","d, ms":"d, mm:ss","E, ms":"ccc, mm:ss","Ed, ms":"E, d., mm:ss","Gy, ms":"y G, mm:ss","GyMMM, ms":"MMM y G, mm:ss","GyMMMd, ms":"d. MMM y G, mm:ss","GyMMMEd, ms":"E, d. MMM y G, mm:ss","M, ms":"L, mm:ss","Md, ms":"d.M., mm:ss","MEd, ms":"E, d.M., mm:ss","MMd, ms":"d.MM., mm:ss","MMdd, ms":"dd.MM., mm:ss","MMM, ms":"LLL, mm:ss","MMMd, ms":"d. MMM, mm:ss","MMMEd, ms":"E, d. MMM, mm:ss","MMMMd 'um' ms":"d. MMMM 'um' mm:ss","MMMMEd 'um' ms":"E, d. MMMM 'um' mm:ss","y, ms":"y, mm:ss","yM, ms":"M.y, mm:ss","yMd, ms":"d.M.y, mm:ss","yMEd, ms":"E, d.M.y, mm:ss","yMM, ms":"MM.y, mm:ss","yMMdd, ms":"dd.MM.y, mm:ss","yMMM, ms":"MMM y, mm:ss","yMMMd, ms":"d. MMM y, mm:ss","yMMMEd, ms":"E, d. MMM y, mm:ss","yMMMM 'um' ms":"MMMM y 'um' mm:ss"}},"intervalFormats":{"intervalFormatFallback":"{0} – {1}","Bh":{"B":"h 'Uhr' B – h 'Uhr' B","h":"h–h 'Uhr' B"},"Bhm":{"B":"h:mm 'Uhr' B – h:mm 'Uhr' B","h":"h:mm – h:mm 'Uhr' B","m":"h:mm – h:mm 'Uhr' B"},"d":{"d":"d.–d."},"Gy":{"G":"y G – y G","y":"y–y G"},"GyM":{"G":"MM.y GGGGG – MM.y GGGGG","M":"MM.y – MM.y GGGGG","y":"MM.y – MM.y GGGGG"},"GyMd":{"d":"dd.–dd.MM.y GGGGG","G":"dd.MM.y GGGGG – dd.MM.y GGGGG","M":"dd.MM. – dd.MM.y GGGGG","y":"dd.MM.y – dd.MM.y GGGGG"},"GyMEd":{"d":"E, dd.MM.y – E, dd.MM.y GGGGG","G":"E, dd.MM.y GGGGG – E, dd.MM.y GGGGG","M":"E, dd.MM. – E, dd.MM.y GGGGG","y":"E, dd.MM.y – E, dd.MM.y GGGGG"},"GyMMM":{"G":"MMM y G – MMM y G","M":"MMM–MMM y G","y":"MMM y – MMM y G"},"GyMMMd":{"d":"d.–d. MMM y G","G":"d. MMM y G – d. MMM y G","M":"d. MMM – d. MMM y G","y":"d. MMM y – d. MMM y G"},"GyMMMEd":{"d":"E, d. – E, d. MMM y G","G":"E, d. MMM y G – E E, d. MMM y G","M":"E, d. MMM – E, d. MMM y G","y":"E, d. MMM y – E, d. MMM y G"},"h":{"a":"h 'Uhr' a – h 'Uhr' a","h":"h – h 'Uhr' a"},"H":{"H":"HH–HH 'Uhr'"},"hm":{"a":"h:mm a – h:mm a","h":"h:mm–h:mm a","m":"h:mm–h:mm a"},"Hm":{"H":"HH:mm–HH:mm 'Uhr'","m":"HH:mm–HH:mm 'Uhr'"},"hmv":{"a":"h:mm a – h:mm a v","h":"h:mm–h:mm a v","m":"h:mm–h:mm a v"},"Hmv":{"H":"HH:mm–HH:mm 'Uhr' v","m":"HH:mm–HH:mm 'Uhr' v"},"hv":{"a":"h a – h a v","h":"h–h a v"},"Hv":{"H":"HH–HH 'Uhr' v"},"M":{"M":"M.–M."},"Md":{"d":"dd.–dd.MM.","M":"dd.MM. – dd.MM."},"MEd":{"d":"E, dd. – E, dd.MM.","M":"E, dd.MM. – E, dd.MM."},"MMM":{"M":"MMM–MMM"},"MMMd":{"d":"d.–d. MMM","M":"d. MMM – d. MMM"},"MMMEd":{"d":"E, d. – E, d. MMM","M":"E, d. MMM – E, d. MMM"},"MMMM":{"M":"LLLL–LLLL"},"y":{"y":"y–y"},"yM":{"M":"MM.y – MM.y","y":"MM.y – MM.y"},"yMd":{"d":"dd.–dd.MM.y","M":"dd.MM. – dd.MM.y","y":"dd.MM.y – dd.MM.y"},"yMEd":{"d":"E, dd. – E, dd.MM.y","M":"E, dd.MM. – E, dd.MM.y","y":"E, dd.MM.y – E, dd.MM.y"},"yMMM":{"M":"MMM–MMM y","y":"MMM y – MMM y"},"yMMMd":{"d":"d.–d. MMM y","M":"d. MMM – d. MMM y","y":"d. MMM y – d. MMM y"},"yMMMEd":{"d":"E, d. – E, d. MMM y","M":"E, d. MMM – E, d. MMM y","y":"E, d. MMM y – E, d. MMM y"},"yMMMM":{"M":"MMMM–MMMM y","y":"MMMM y – MMMM y"}},"hourCycle":"h23","nu":["latn"],"ca":["gregory"],"hc":["h23",""]},"locale":"de"} ) } } if (!("Intl"in self&&Intl.PluralRules&&Intl.PluralRules.supportedLocalesOf&&function(){try{return 1===Intl.PluralRules.supportedLocalesOf("en").length}catch(l){return!1}}() )) { // Intl.PluralRules.~locale.en /* @generated */ // prettier-ignore if (Intl.PluralRules && typeof Intl.PluralRules.__addLocaleData === 'function') { Intl.PluralRules.__addLocaleData({"data":{"categories":{"cardinal":["one","other"],"ordinal":["one","two","few","other"]},"fn":function(n, ord) { var s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2); if (ord) return n10 == 1 && n100 != 11 ? 'one' : n10 == 2 && n100 != 12 ? 'two' : n10 == 3 && n100 != 13 ? 'few' : 'other'; return n == 1 && v0 ? 'one' : 'other'; }},"locale":"en"}) } } if (!("Intl"in self&&Intl.NumberFormat&&function(){try{new Intl.NumberFormat("en",{style:"unit",unit:"byte"})}catch(t){return!1}return!0}()&&Intl.NumberFormat.supportedLocalesOf("en").length )) { // Intl.NumberFormat.~locale.en /* @generated */ // prettier-ignore if (Intl.NumberFormat && typeof Intl.NumberFormat.__addLocaleData === 'function') { Intl.NumberFormat.__addLocaleData({"data":{"units":{"simple":{"degree":{"long":{"other":"{0} degrees","one":"{0} degree"},"short":{"other":"{0} deg"},"narrow":{"other":"{0}°"},"perUnit":{}},"hectare":{"long":{"other":"{0} hectares","one":"{0} hectare"},"short":{"other":"{0} ha"},"narrow":{"other":"{0}ha"},"perUnit":{}},"acre":{"long":{"other":"{0} acres","one":"{0} acre"},"short":{"other":"{0} ac"},"narrow":{"other":"{0}ac"},"perUnit":{}},"percent":{"long":{"other":"{0} percent"},"short":{"other":"{0}%"},"narrow":{"other":"{0}%"},"perUnit":{}},"liter-per-kilometer":{"long":{"other":"{0} liters per kilometer","one":"{0} liter per kilometer"},"short":{"other":"{0} L/km"},"narrow":{"other":"{0}L/km"},"perUnit":{}},"mile-per-gallon":{"long":{"other":"{0} miles per gallon","one":"{0} mile per gallon"},"short":{"other":"{0} mpg"},"narrow":{"other":"{0}mpg"},"perUnit":{}},"petabyte":{"long":{"other":"{0} petabytes","one":"{0} petabyte"},"short":{"other":"{0} PB"},"narrow":{"other":"{0}PB"},"perUnit":{}},"terabyte":{"long":{"other":"{0} terabytes","one":"{0} terabyte"},"short":{"other":"{0} TB"},"narrow":{"other":"{0}TB"},"perUnit":{}},"terabit":{"long":{"other":"{0} terabits","one":"{0} terabit"},"short":{"other":"{0} Tb"},"narrow":{"other":"{0}Tb"},"perUnit":{}},"gigabyte":{"long":{"other":"{0} gigabytes","one":"{0} gigabyte"},"short":{"other":"{0} GB"},"narrow":{"other":"{0}GB"},"perUnit":{}},"gigabit":{"long":{"other":"{0} gigabits","one":"{0} gigabit"},"short":{"other":"{0} Gb"},"narrow":{"other":"{0}Gb"},"perUnit":{}},"megabyte":{"long":{"other":"{0} megabytes","one":"{0} megabyte"},"short":{"other":"{0} MB"},"narrow":{"other":"{0}MB"},"perUnit":{}},"megabit":{"long":{"other":"{0} megabits","one":"{0} megabit"},"short":{"other":"{0} Mb"},"narrow":{"other":"{0}Mb"},"perUnit":{}},"kilobyte":{"long":{"other":"{0} kilobytes","one":"{0} kilobyte"},"short":{"other":"{0} kB"},"narrow":{"other":"{0}kB"},"perUnit":{}},"kilobit":{"long":{"other":"{0} kilobits","one":"{0} kilobit"},"short":{"other":"{0} kb"},"narrow":{"other":"{0}kb"},"perUnit":{}},"byte":{"long":{"other":"{0} bytes","one":"{0} byte"},"short":{"other":"{0} byte"},"narrow":{"other":"{0}B"},"perUnit":{}},"bit":{"long":{"other":"{0} bits","one":"{0} bit"},"short":{"other":"{0} bit"},"narrow":{"other":"{0}bit"},"perUnit":{}},"year":{"long":{"other":"{0} years","one":"{0} year"},"short":{"other":"{0} yrs","one":"{0} yr"},"narrow":{"other":"{0}y"},"perUnit":{"long":"{0} per year","short":"{0}/y","narrow":"{0}/y"}},"month":{"long":{"other":"{0} months","one":"{0} month"},"short":{"other":"{0} mths","one":"{0} mth"},"narrow":{"other":"{0}m"},"perUnit":{"long":"{0} per month","short":"{0}/m","narrow":"{0}/m"}},"week":{"long":{"other":"{0} weeks","one":"{0} week"},"short":{"other":"{0} wks","one":"{0} wk"},"narrow":{"other":"{0}w"},"perUnit":{"long":"{0} per week","short":"{0}/w","narrow":"{0}/w"}},"day":{"long":{"other":"{0} days","one":"{0} day"},"short":{"other":"{0} days","one":"{0} day"},"narrow":{"other":"{0}d"},"perUnit":{"long":"{0} per day","short":"{0}/d","narrow":"{0}/d"}},"hour":{"long":{"other":"{0} hours","one":"{0} hour"},"short":{"other":"{0} hr"},"narrow":{"other":"{0}h"},"perUnit":{"long":"{0} per hour","short":"{0}/h","narrow":"{0}/h"}},"minute":{"long":{"other":"{0} minutes","one":"{0} minute"},"short":{"other":"{0} min"},"narrow":{"other":"{0}m"},"perUnit":{"long":"{0} per minute","short":"{0}/min","narrow":"{0}/min"}},"second":{"long":{"other":"{0} seconds","one":"{0} second"},"short":{"other":"{0} sec"},"narrow":{"other":"{0}s"},"perUnit":{"long":"{0} per second","short":"{0}/s","narrow":"{0}/s"}},"millisecond":{"long":{"other":"{0} milliseconds","one":"{0} millisecond"},"short":{"other":"{0} ms"},"narrow":{"other":"{0}ms"},"perUnit":{}},"kilometer":{"long":{"other":"{0} kilometers","one":"{0} kilometer"},"short":{"other":"{0} km"},"narrow":{"other":"{0}km"},"perUnit":{"long":"{0} per kilometer","short":"{0}/km","narrow":"{0}/km"}},"meter":{"long":{"other":"{0} meters","one":"{0} meter"},"short":{"other":"{0} m"},"narrow":{"other":"{0}m"},"perUnit":{"long":"{0} per meter","short":"{0}/m","narrow":"{0}/m"}},"centimeter":{"long":{"other":"{0} centimeters","one":"{0} centimeter"},"short":{"other":"{0} cm"},"narrow":{"other":"{0}cm"},"perUnit":{"long":"{0} per centimeter","short":"{0}/cm","narrow":"{0}/cm"}},"millimeter":{"long":{"other":"{0} millimeters","one":"{0} millimeter"},"short":{"other":"{0} mm"},"narrow":{"other":"{0}mm"},"perUnit":{}},"mile":{"long":{"other":"{0} miles","one":"{0} mile"},"short":{"other":"{0} mi"},"narrow":{"other":"{0}mi"},"perUnit":{}},"yard":{"long":{"other":"{0} yards","one":"{0} yard"},"short":{"other":"{0} yd"},"narrow":{"other":"{0}yd"},"perUnit":{}},"foot":{"long":{"other":"{0} feet","one":"{0} foot"},"short":{"other":"{0} ft"},"narrow":{"other":"{0}′"},"perUnit":{"long":"{0} per foot","short":"{0}/ft","narrow":"{0}/ft"}},"inch":{"long":{"other":"{0} inches","one":"{0} inch"},"short":{"other":"{0} in"},"narrow":{"other":"{0}″"},"perUnit":{"long":"{0} per inch","short":"{0}/in","narrow":"{0}/in"}},"mile-scandinavian":{"long":{"other":"{0} miles-scandinavian","one":"{0} mile-scandinavian"},"short":{"other":"{0} smi"},"narrow":{"other":"{0}smi"},"perUnit":{}},"kilogram":{"long":{"other":"{0} kilograms","one":"{0} kilogram"},"short":{"other":"{0} kg"},"narrow":{"other":"{0}kg"},"perUnit":{"long":"{0} per kilogram","short":"{0}/kg","narrow":"{0}/kg"}},"gram":{"long":{"other":"{0} grams","one":"{0} gram"},"short":{"other":"{0} g"},"narrow":{"other":"{0}g"},"perUnit":{"long":"{0} per gram","short":"{0}/g","narrow":"{0}/g"}},"stone":{"long":{"other":"{0} stones","one":"{0} stone"},"short":{"other":"{0} st"},"narrow":{"other":"{0}st"},"perUnit":{}},"pound":{"long":{"other":"{0} pounds","one":"{0} pound"},"short":{"other":"{0} lb"},"narrow":{"other":"{0}#"},"perUnit":{"long":"{0} per pound","short":"{0}/lb","narrow":"{0}/lb"}},"ounce":{"long":{"other":"{0} ounces","one":"{0} ounce"},"short":{"other":"{0} oz"},"narrow":{"other":"{0}oz"},"perUnit":{"long":"{0} per ounce","short":"{0}/oz","narrow":"{0}/oz"}},"kilometer-per-hour":{"long":{"other":"{0} kilometers per hour","one":"{0} kilometer per hour"},"short":{"other":"{0} km/h"},"narrow":{"other":"{0}km/h"},"perUnit":{}},"meter-per-second":{"long":{"other":"{0} meters per second","one":"{0} meter per second"},"short":{"other":"{0} m/s"},"narrow":{"other":"{0}m/s"},"perUnit":{}},"mile-per-hour":{"long":{"other":"{0} miles per hour","one":"{0} mile per hour"},"short":{"other":"{0} mph"},"narrow":{"other":"{0}mph"},"perUnit":{}},"celsius":{"long":{"other":"{0} degrees Celsius","one":"{0} degree Celsius"},"short":{"other":"{0}°C"},"narrow":{"other":"{0}°C"},"perUnit":{}},"fahrenheit":{"long":{"other":"{0} degrees Fahrenheit","one":"{0} degree Fahrenheit"},"short":{"other":"{0}°F"},"narrow":{"other":"{0}°"},"perUnit":{}},"liter":{"long":{"other":"{0} liters","one":"{0} liter"},"short":{"other":"{0} L"},"narrow":{"other":"{0}L"},"perUnit":{"long":"{0} per liter","short":"{0}/L","narrow":"{0}/L"}},"milliliter":{"long":{"other":"{0} milliliters","one":"{0} milliliter"},"short":{"other":"{0} mL"},"narrow":{"other":"{0}mL"},"perUnit":{}},"gallon":{"long":{"other":"{0} gallons","one":"{0} gallon"},"short":{"other":"{0} gal"},"narrow":{"other":"{0}gal"},"perUnit":{"long":"{0} per gallon","short":"{0}/gal US","narrow":"{0}/gal"}},"fluid-ounce":{"long":{"other":"{0} fluid ounces","one":"{0} fluid ounce"},"short":{"other":"{0} fl oz"},"narrow":{"other":"{0}fl oz"},"perUnit":{}}},"compound":{"per":{"long":"{0} per {1}","short":"{0}/{1}","narrow":"{0}/{1}"}}},"currencies":{"ADP":{"displayName":{"other":"Andorran pesetas","one":"Andorran peseta"},"symbol":"ADP","narrow":"ADP"},"AED":{"displayName":{"other":"UAE dirhams","one":"UAE dirham"},"symbol":"AED","narrow":"AED"},"AFA":{"displayName":{"other":"Afghan afghanis (1927–2002)","one":"Afghan afghani (1927–2002)"},"symbol":"AFA","narrow":"AFA"},"AFN":{"displayName":{"other":"Afghan Afghanis","one":"Afghan Afghani"},"symbol":"AFN","narrow":"؋"},"ALK":{"displayName":{"other":"Albanian lekë (1946–1965)","one":"Albanian lek (1946–1965)"},"symbol":"ALK","narrow":"ALK"},"ALL":{"displayName":{"other":"Albanian lekë","one":"Albanian lek"},"symbol":"ALL","narrow":"ALL"},"AMD":{"displayName":{"other":"Armenian drams","one":"Armenian dram"},"symbol":"AMD","narrow":"֏"},"ANG":{"displayName":{"other":"Netherlands Antillean guilders","one":"Netherlands Antillean guilder"},"symbol":"ANG","narrow":"ANG"},"AOA":{"displayName":{"other":"Angolan kwanzas","one":"Angolan kwanza"},"symbol":"AOA","narrow":"Kz"},"AOK":{"displayName":{"other":"Angolan kwanzas (1977–1991)","one":"Angolan kwanza (1977–1991)"},"symbol":"AOK","narrow":"AOK"},"AON":{"displayName":{"other":"Angolan new kwanzas (1990–2000)","one":"Angolan new kwanza (1990–2000)"},"symbol":"AON","narrow":"AON"},"AOR":{"displayName":{"other":"Angolan readjusted kwanzas (1995–1999)","one":"Angolan readjusted kwanza (1995–1999)"},"symbol":"AOR","narrow":"AOR"},"ARA":{"displayName":{"other":"Argentine australs","one":"Argentine austral"},"symbol":"ARA","narrow":"ARA"},"ARL":{"displayName":{"other":"Argentine pesos ley (1970–1983)","one":"Argentine peso ley (1970–1983)"},"symbol":"ARL","narrow":"ARL"},"ARM":{"displayName":{"other":"Argentine pesos (1881–1970)","one":"Argentine peso (1881–1970)"},"symbol":"ARM","narrow":"ARM"},"ARP":{"displayName":{"other":"Argentine pesos (1983–1985)","one":"Argentine peso (1983–1985)"},"symbol":"ARP","narrow":"ARP"},"ARS":{"displayName":{"other":"Argentine pesos","one":"Argentine peso"},"symbol":"ARS","narrow":"$"},"ATS":{"displayName":{"other":"Austrian schillings","one":"Austrian schilling"},"symbol":"ATS","narrow":"ATS"},"AUD":{"displayName":{"other":"Australian dollars","one":"Australian dollar"},"symbol":"A$","narrow":"$"},"AWG":{"displayName":{"other":"Aruban florin"},"symbol":"AWG","narrow":"AWG"},"AZM":{"displayName":{"other":"Azerbaijani manats (1993–2006)","one":"Azerbaijani manat (1993–2006)"},"symbol":"AZM","narrow":"AZM"},"AZN":{"displayName":{"other":"Azerbaijani manats","one":"Azerbaijani manat"},"symbol":"AZN","narrow":"₼"},"BAD":{"displayName":{"other":"Bosnia-Herzegovina dinars (1992–1994)","one":"Bosnia-Herzegovina dinar (1992–1994)"},"symbol":"BAD","narrow":"BAD"},"BAM":{"displayName":{"other":"Bosnia-Herzegovina convertible marks","one":"Bosnia-Herzegovina convertible mark"},"symbol":"BAM","narrow":"KM"},"BAN":{"displayName":{"other":"Bosnia-Herzegovina new dinars (1994–1997)","one":"Bosnia-Herzegovina new dinar (1994–1997)"},"symbol":"BAN","narrow":"BAN"},"BBD":{"displayName":{"other":"Barbadian dollars","one":"Barbadian dollar"},"symbol":"BBD","narrow":"$"},"BDT":{"displayName":{"other":"Bangladeshi takas","one":"Bangladeshi taka"},"symbol":"BDT","narrow":"৳"},"BEC":{"displayName":{"other":"Belgian francs (convertible)","one":"Belgian franc (convertible)"},"symbol":"BEC","narrow":"BEC"},"BEF":{"displayName":{"other":"Belgian francs","one":"Belgian franc"},"symbol":"BEF","narrow":"BEF"},"BEL":{"displayName":{"other":"Belgian francs (financial)","one":"Belgian franc (financial)"},"symbol":"BEL","narrow":"BEL"},"BGL":{"displayName":{"other":"Bulgarian hard leva","one":"Bulgarian hard lev"},"symbol":"BGL","narrow":"BGL"},"BGM":{"displayName":{"other":"Bulgarian socialist leva","one":"Bulgarian socialist lev"},"symbol":"BGM","narrow":"BGM"},"BGN":{"displayName":{"other":"Bulgarian leva","one":"Bulgarian lev"},"symbol":"BGN","narrow":"BGN"},"BGO":{"displayName":{"other":"Bulgarian leva (1879–1952)","one":"Bulgarian lev (1879–1952)"},"symbol":"BGO","narrow":"BGO"},"BHD":{"displayName":{"other":"Bahraini dinars","one":"Bahraini dinar"},"symbol":"BHD","narrow":"BHD"},"BIF":{"displayName":{"other":"Burundian francs","one":"Burundian franc"},"symbol":"BIF","narrow":"BIF"},"BMD":{"displayName":{"other":"Bermudan dollars","one":"Bermudan dollar"},"symbol":"BMD","narrow":"$"},"BND":{"displayName":{"other":"Brunei dollars","one":"Brunei dollar"},"symbol":"BND","narrow":"$"},"BOB":{"displayName":{"other":"Bolivian bolivianos","one":"Bolivian boliviano"},"symbol":"BOB","narrow":"Bs"},"BOL":{"displayName":{"other":"Bolivian bolivianos (1863–1963)","one":"Bolivian boliviano (1863–1963)"},"symbol":"BOL","narrow":"BOL"},"BOP":{"displayName":{"other":"Bolivian pesos","one":"Bolivian peso"},"symbol":"BOP","narrow":"BOP"},"BOV":{"displayName":{"other":"Bolivian mvdols","one":"Bolivian mvdol"},"symbol":"BOV","narrow":"BOV"},"BRB":{"displayName":{"other":"Brazilian new cruzeiros (1967–1986)","one":"Brazilian new cruzeiro (1967–1986)"},"symbol":"BRB","narrow":"BRB"},"BRC":{"displayName":{"other":"Brazilian cruzados (1986–1989)","one":"Brazilian cruzado (1986–1989)"},"symbol":"BRC","narrow":"BRC"},"BRE":{"displayName":{"other":"Brazilian cruzeiros (1990–1993)","one":"Brazilian cruzeiro (1990–1993)"},"symbol":"BRE","narrow":"BRE"},"BRL":{"displayName":{"other":"Brazilian reals","one":"Brazilian real"},"symbol":"R$","narrow":"R$"},"BRN":{"displayName":{"other":"Brazilian new cruzados (1989–1990)","one":"Brazilian new cruzado (1989–1990)"},"symbol":"BRN","narrow":"BRN"},"BRR":{"displayName":{"other":"Brazilian cruzeiros (1993–1994)","one":"Brazilian cruzeiro (1993–1994)"},"symbol":"BRR","narrow":"BRR"},"BRZ":{"displayName":{"other":"Brazilian cruzeiros (1942–1967)","one":"Brazilian cruzeiro (1942–1967)"},"symbol":"BRZ","narrow":"BRZ"},"BSD":{"displayName":{"other":"Bahamian dollars","one":"Bahamian dollar"},"symbol":"BSD","narrow":"$"},"BTN":{"displayName":{"other":"Bhutanese ngultrums","one":"Bhutanese ngultrum"},"symbol":"BTN","narrow":"BTN"},"BUK":{"displayName":{"other":"Burmese kyats","one":"Burmese kyat"},"symbol":"BUK","narrow":"BUK"},"BWP":{"displayName":{"other":"Botswanan pulas","one":"Botswanan pula"},"symbol":"BWP","narrow":"P"},"BYB":{"displayName":{"other":"Belarusian rubles (1994–1999)","one":"Belarusian ruble (1994–1999)"},"symbol":"BYB","narrow":"BYB"},"BYN":{"displayName":{"other":"Belarusian rubles","one":"Belarusian ruble"},"symbol":"BYN","narrow":"р."},"BYR":{"displayName":{"other":"Belarusian rubles (2000–2016)","one":"Belarusian ruble (2000–2016)"},"symbol":"BYR","narrow":"BYR"},"BZD":{"displayName":{"other":"Belize dollars","one":"Belize dollar"},"symbol":"BZD","narrow":"$"},"CAD":{"displayName":{"other":"Canadian dollars","one":"Canadian dollar"},"symbol":"CA$","narrow":"$"},"CDF":{"displayName":{"other":"Congolese francs","one":"Congolese franc"},"symbol":"CDF","narrow":"CDF"},"CHE":{"displayName":{"other":"WIR euros","one":"WIR euro"},"symbol":"CHE","narrow":"CHE"},"CHF":{"displayName":{"other":"Swiss francs","one":"Swiss franc"},"symbol":"CHF","narrow":"CHF"},"CHW":{"displayName":{"other":"WIR francs","one":"WIR franc"},"symbol":"CHW","narrow":"CHW"},"CLE":{"displayName":{"other":"Chilean escudos","one":"Chilean escudo"},"symbol":"CLE","narrow":"CLE"},"CLF":{"displayName":{"other":"Chilean units of account (UF)","one":"Chilean unit of account (UF)"},"symbol":"CLF","narrow":"CLF"},"CLP":{"displayName":{"other":"Chilean pesos","one":"Chilean peso"},"symbol":"CLP","narrow":"$"},"CNH":{"displayName":{"other":"Chinese yuan (offshore)"},"symbol":"CNH","narrow":"CNH"},"CNX":{"displayName":{"other":"Chinese People’s Bank dollars","one":"Chinese People’s Bank dollar"},"symbol":"CNX","narrow":"CNX"},"CNY":{"displayName":{"other":"Chinese yuan"},"symbol":"CN¥","narrow":"¥"},"COP":{"displayName":{"other":"Colombian pesos","one":"Colombian peso"},"symbol":"COP","narrow":"$"},"COU":{"displayName":{"other":"Colombian real value units","one":"Colombian real value unit"},"symbol":"COU","narrow":"COU"},"CRC":{"displayName":{"other":"Costa Rican colóns","one":"Costa Rican colón"},"symbol":"CRC","narrow":"₡"},"CSD":{"displayName":{"other":"Serbian dinars (2002–2006)","one":"Serbian dinar (2002–2006)"},"symbol":"CSD","narrow":"CSD"},"CSK":{"displayName":{"other":"Czechoslovak hard korunas","one":"Czechoslovak hard koruna"},"symbol":"CSK","narrow":"CSK"},"CUC":{"displayName":{"other":"Cuban convertible pesos","one":"Cuban convertible peso"},"symbol":"CUC","narrow":"$"},"CUP":{"displayName":{"other":"Cuban pesos","one":"Cuban peso"},"symbol":"CUP","narrow":"$"},"CVE":{"displayName":{"other":"Cape Verdean escudos","one":"Cape Verdean escudo"},"symbol":"CVE","narrow":"CVE"},"CYP":{"displayName":{"other":"Cypriot pounds","one":"Cypriot pound"},"symbol":"CYP","narrow":"CYP"},"CZK":{"displayName":{"other":"Czech korunas","one":"Czech koruna"},"symbol":"CZK","narrow":"Kč"},"DDM":{"displayName":{"other":"East German marks","one":"East German mark"},"symbol":"DDM","narrow":"DDM"},"DEM":{"displayName":{"other":"German marks","one":"German mark"},"symbol":"DEM","narrow":"DEM"},"DJF":{"displayName":{"other":"Djiboutian francs","one":"Djiboutian franc"},"symbol":"DJF","narrow":"DJF"},"DKK":{"displayName":{"other":"Danish kroner","one":"Danish krone"},"symbol":"DKK","narrow":"kr"},"DOP":{"displayName":{"other":"Dominican pesos","one":"Dominican peso"},"symbol":"DOP","narrow":"$"},"DZD":{"displayName":{"other":"Algerian dinars","one":"Algerian dinar"},"symbol":"DZD","narrow":"DZD"},"ECS":{"displayName":{"other":"Ecuadorian sucres","one":"Ecuadorian sucre"},"symbol":"ECS","narrow":"ECS"},"ECV":{"displayName":{"other":"Ecuadorian units of constant value","one":"Ecuadorian unit of constant value"},"symbol":"ECV","narrow":"ECV"},"EEK":{"displayName":{"other":"Estonian kroons","one":"Estonian kroon"},"symbol":"EEK","narrow":"EEK"},"EGP":{"displayName":{"other":"Egyptian pounds","one":"Egyptian pound"},"symbol":"EGP","narrow":"E£"},"ERN":{"displayName":{"other":"Eritrean nakfas","one":"Eritrean nakfa"},"symbol":"ERN","narrow":"ERN"},"ESA":{"displayName":{"other":"Spanish pesetas (A account)","one":"Spanish peseta (A account)"},"symbol":"ESA","narrow":"ESA"},"ESB":{"displayName":{"other":"Spanish pesetas (convertible account)","one":"Spanish peseta (convertible account)"},"symbol":"ESB","narrow":"ESB"},"ESP":{"displayName":{"other":"Spanish pesetas","one":"Spanish peseta"},"symbol":"ESP","narrow":"₧"},"ETB":{"displayName":{"other":"Ethiopian birrs","one":"Ethiopian birr"},"symbol":"ETB","narrow":"ETB"},"EUR":{"displayName":{"other":"euros","one":"euro"},"symbol":"€","narrow":"€"},"FIM":{"displayName":{"other":"Finnish markkas","one":"Finnish markka"},"symbol":"FIM","narrow":"FIM"},"FJD":{"displayName":{"other":"Fijian dollars","one":"Fijian dollar"},"symbol":"FJD","narrow":"$"},"FKP":{"displayName":{"other":"Falkland Islands pounds","one":"Falkland Islands pound"},"symbol":"FKP","narrow":"£"},"FRF":{"displayName":{"other":"French francs","one":"French franc"},"symbol":"FRF","narrow":"FRF"},"GBP":{"displayName":{"other":"British pounds","one":"British pound"},"symbol":"£","narrow":"£"},"GEK":{"displayName":{"other":"Georgian kupon larits","one":"Georgian kupon larit"},"symbol":"GEK","narrow":"GEK"},"GEL":{"displayName":{"other":"Georgian laris","one":"Georgian lari"},"symbol":"GEL","narrow":"₾"},"GHC":{"displayName":{"other":"Ghanaian cedis (1979–2007)","one":"Ghanaian cedi (1979–2007)"},"symbol":"GHC","narrow":"GHC"},"GHS":{"displayName":{"other":"Ghanaian cedis","one":"Ghanaian cedi"},"symbol":"GHS","narrow":"GH₵"},"GIP":{"displayName":{"other":"Gibraltar pounds","one":"Gibraltar pound"},"symbol":"GIP","narrow":"£"},"GMD":{"displayName":{"other":"Gambian dalasis","one":"Gambian dalasi"},"symbol":"GMD","narrow":"GMD"},"GNF":{"displayName":{"other":"Guinean francs","one":"Guinean franc"},"symbol":"GNF","narrow":"FG"},"GNS":{"displayName":{"other":"Guinean sylis","one":"Guinean syli"},"symbol":"GNS","narrow":"GNS"},"GQE":{"displayName":{"other":"Equatorial Guinean ekwele"},"symbol":"GQE","narrow":"GQE"},"GRD":{"displayName":{"other":"Greek drachmas","one":"Greek drachma"},"symbol":"GRD","narrow":"GRD"},"GTQ":{"displayName":{"other":"Guatemalan quetzals","one":"Guatemalan quetzal"},"symbol":"GTQ","narrow":"Q"},"GWE":{"displayName":{"other":"Portuguese Guinea escudos","one":"Portuguese Guinea escudo"},"symbol":"GWE","narrow":"GWE"},"GWP":{"displayName":{"other":"Guinea-Bissau pesos","one":"Guinea-Bissau peso"},"symbol":"GWP","narrow":"GWP"},"GYD":{"displayName":{"other":"Guyanaese dollars","one":"Guyanaese dollar"},"symbol":"GYD","narrow":"$"},"HKD":{"displayName":{"other":"Hong Kong dollars","one":"Hong Kong dollar"},"symbol":"HK$","narrow":"$"},"HNL":{"displayName":{"other":"Honduran lempiras","one":"Honduran lempira"},"symbol":"HNL","narrow":"L"},"HRD":{"displayName":{"other":"Croatian dinars","one":"Croatian dinar"},"symbol":"HRD","narrow":"HRD"},"HRK":{"displayName":{"other":"Croatian kunas","one":"Croatian kuna"},"symbol":"HRK","narrow":"kn"},"HTG":{"displayName":{"other":"Haitian gourdes","one":"Haitian gourde"},"symbol":"HTG","narrow":"HTG"},"HUF":{"displayName":{"other":"Hungarian forints","one":"Hungarian forint"},"symbol":"HUF","narrow":"Ft"},"IDR":{"displayName":{"other":"Indonesian rupiahs","one":"Indonesian rupiah"},"symbol":"IDR","narrow":"Rp"},"IEP":{"displayName":{"other":"Irish pounds","one":"Irish pound"},"symbol":"IEP","narrow":"IEP"},"ILP":{"displayName":{"other":"Israeli pounds","one":"Israeli pound"},"symbol":"ILP","narrow":"ILP"},"ILR":{"displayName":{"other":"Israeli shekels (1980–1985)","one":"Israeli shekel (1980–1985)"},"symbol":"ILR","narrow":"ILR"},"ILS":{"displayName":{"other":"Israeli new shekels","one":"Israeli new shekel"},"symbol":"₪","narrow":"₪"},"INR":{"displayName":{"other":"Indian rupees","one":"Indian rupee"},"symbol":"₹","narrow":"₹"},"IQD":{"displayName":{"other":"Iraqi dinars","one":"Iraqi dinar"},"symbol":"IQD","narrow":"IQD"},"IRR":{"displayName":{"other":"Iranian rials","one":"Iranian rial"},"symbol":"IRR","narrow":"IRR"},"ISJ":{"displayName":{"other":"Icelandic krónur (1918–1981)","one":"Icelandic króna (1918–1981)"},"symbol":"ISJ","narrow":"ISJ"},"ISK":{"displayName":{"other":"Icelandic krónur","one":"Icelandic króna"},"symbol":"ISK","narrow":"kr"},"ITL":{"displayName":{"other":"Italian liras","one":"Italian lira"},"symbol":"ITL","narrow":"ITL"},"JMD":{"displayName":{"other":"Jamaican dollars","one":"Jamaican dollar"},"symbol":"JMD","narrow":"$"},"JOD":{"displayName":{"other":"Jordanian dinars","one":"Jordanian dinar"},"symbol":"JOD","narrow":"JOD"},"JPY":{"displayName":{"other":"Japanese yen"},"symbol":"¥","narrow":"¥"},"KES":{"displayName":{"other":"Kenyan shillings","one":"Kenyan shilling"},"symbol":"KES","narrow":"KES"},"KGS":{"displayName":{"other":"Kyrgystani soms","one":"Kyrgystani som"},"symbol":"KGS","narrow":"KGS"},"KHR":{"displayName":{"other":"Cambodian riels","one":"Cambodian riel"},"symbol":"KHR","narrow":"៛"},"KMF":{"displayName":{"other":"Comorian francs","one":"Comorian franc"},"symbol":"KMF","narrow":"CF"},"KPW":{"displayName":{"other":"North Korean won"},"symbol":"KPW","narrow":"₩"},"KRH":{"displayName":{"other":"South Korean hwan (1953–1962)"},"symbol":"KRH","narrow":"KRH"},"KRO":{"displayName":{"other":"South Korean won (1945–1953)"},"symbol":"KRO","narrow":"KRO"},"KRW":{"displayName":{"other":"South Korean won"},"symbol":"₩","narrow":"₩"},"KWD":{"displayName":{"other":"Kuwaiti dinars","one":"Kuwaiti dinar"},"symbol":"KWD","narrow":"KWD"},"KYD":{"displayName":{"other":"Cayman Islands dollars","one":"Cayman Islands dollar"},"symbol":"KYD","narrow":"$"},"KZT":{"displayName":{"other":"Kazakhstani tenges","one":"Kazakhstani tenge"},"symbol":"KZT","narrow":"₸"},"LAK":{"displayName":{"other":"Laotian kips","one":"Laotian kip"},"symbol":"LAK","narrow":"₭"},"LBP":{"displayName":{"other":"Lebanese pounds","one":"Lebanese pound"},"symbol":"LBP","narrow":"L£"},"LKR":{"displayName":{"other":"Sri Lankan rupees","one":"Sri Lankan rupee"},"symbol":"LKR","narrow":"Rs"},"LRD":{"displayName":{"other":"Liberian dollars","one":"Liberian dollar"},"symbol":"LRD","narrow":"$"},"LSL":{"displayName":{"other":"Lesotho lotis","one":"Lesotho loti"},"symbol":"LSL","narrow":"LSL"},"LTL":{"displayName":{"other":"Lithuanian litai","one":"Lithuanian litas"},"symbol":"LTL","narrow":"Lt"},"LTT":{"displayName":{"other":"Lithuanian talonases","one":"Lithuanian talonas"},"symbol":"LTT","narrow":"LTT"},"LUC":{"displayName":{"other":"Luxembourgian convertible francs","one":"Luxembourgian convertible franc"},"symbol":"LUC","narrow":"LUC"},"LUF":{"displayName":{"other":"Luxembourgian francs","one":"Luxembourgian franc"},"symbol":"LUF","narrow":"LUF"},"LUL":{"displayName":{"other":"Luxembourg financial francs","one":"Luxembourg financial franc"},"symbol":"LUL","narrow":"LUL"},"LVL":{"displayName":{"other":"Latvian lati","one":"Latvian lats"},"symbol":"LVL","narrow":"Ls"},"LVR":{"displayName":{"other":"Latvian rubles","one":"Latvian ruble"},"symbol":"LVR","narrow":"LVR"},"LYD":{"displayName":{"other":"Libyan dinars","one":"Libyan dinar"},"symbol":"LYD","narrow":"LYD"},"MAD":{"displayName":{"other":"Moroccan dirhams","one":"Moroccan dirham"},"symbol":"MAD","narrow":"MAD"},"MAF":{"displayName":{"other":"Moroccan francs","one":"Moroccan franc"},"symbol":"MAF","narrow":"MAF"},"MCF":{"displayName":{"other":"Monegasque francs","one":"Monegasque franc"},"symbol":"MCF","narrow":"MCF"},"MDC":{"displayName":{"other":"Moldovan cupon"},"symbol":"MDC","narrow":"MDC"},"MDL":{"displayName":{"other":"Moldovan lei","one":"Moldovan leu"},"symbol":"MDL","narrow":"MDL"},"MGA":{"displayName":{"other":"Malagasy ariaries","one":"Malagasy ariary"},"symbol":"MGA","narrow":"Ar"},"MGF":{"displayName":{"other":"Malagasy francs","one":"Malagasy franc"},"symbol":"MGF","narrow":"MGF"},"MKD":{"displayName":{"other":"Macedonian denari","one":"Macedonian denar"},"symbol":"MKD","narrow":"MKD"},"MKN":{"displayName":{"other":"Macedonian denari (1992–1993)","one":"Macedonian denar (1992–1993)"},"symbol":"MKN","narrow":"MKN"},"MLF":{"displayName":{"other":"Malian francs","one":"Malian franc"},"symbol":"MLF","narrow":"MLF"},"MMK":{"displayName":{"other":"Myanmar kyats","one":"Myanmar kyat"},"symbol":"MMK","narrow":"K"},"MNT":{"displayName":{"other":"Mongolian tugriks","one":"Mongolian tugrik"},"symbol":"MNT","narrow":"₮"},"MOP":{"displayName":{"other":"Macanese patacas","one":"Macanese pataca"},"symbol":"MOP","narrow":"MOP"},"MRO":{"displayName":{"other":"Mauritanian ouguiyas (1973–2017)","one":"Mauritanian ouguiya (1973–2017)"},"symbol":"MRO","narrow":"MRO"},"MRU":{"displayName":{"other":"Mauritanian ouguiyas","one":"Mauritanian ouguiya"},"symbol":"MRU","narrow":"MRU"},"MTL":{"displayName":{"other":"Maltese lira"},"symbol":"MTL","narrow":"MTL"},"MTP":{"displayName":{"other":"Maltese pounds","one":"Maltese pound"},"symbol":"MTP","narrow":"MTP"},"MUR":{"displayName":{"other":"Mauritian rupees","one":"Mauritian rupee"},"symbol":"MUR","narrow":"Rs"},"MVP":{"displayName":{"other":"Maldivian rupees (1947–1981)","one":"Maldivian rupee (1947–1981)"},"symbol":"MVP","narrow":"MVP"},"MVR":{"displayName":{"other":"Maldivian rufiyaas","one":"Maldivian rufiyaa"},"symbol":"MVR","narrow":"MVR"},"MWK":{"displayName":{"other":"Malawian kwachas","one":"Malawian kwacha"},"symbol":"MWK","narrow":"MWK"},"MXN":{"displayName":{"other":"Mexican pesos","one":"Mexican peso"},"symbol":"MX$","narrow":"$"},"MXP":{"displayName":{"other":"Mexican silver pesos (1861–1992)","one":"Mexican silver peso (1861–1992)"},"symbol":"MXP","narrow":"MXP"},"MXV":{"displayName":{"other":"Mexican investment units","one":"Mexican investment unit"},"symbol":"MXV","narrow":"MXV"},"MYR":{"displayName":{"other":"Malaysian ringgits","one":"Malaysian ringgit"},"symbol":"MYR","narrow":"RM"},"MZE":{"displayName":{"other":"Mozambican escudos","one":"Mozambican escudo"},"symbol":"MZE","narrow":"MZE"},"MZM":{"displayName":{"other":"Mozambican meticals (1980–2006)","one":"Mozambican metical (1980–2006)"},"symbol":"MZM","narrow":"MZM"},"MZN":{"displayName":{"other":"Mozambican meticals","one":"Mozambican metical"},"symbol":"MZN","narrow":"MZN"},"NAD":{"displayName":{"other":"Namibian dollars","one":"Namibian dollar"},"symbol":"NAD","narrow":"$"},"NGN":{"displayName":{"other":"Nigerian nairas","one":"Nigerian naira"},"symbol":"NGN","narrow":"₦"},"NIC":{"displayName":{"other":"Nicaraguan córdobas (1988–1991)","one":"Nicaraguan córdoba (1988–1991)"},"symbol":"NIC","narrow":"NIC"},"NIO":{"displayName":{"other":"Nicaraguan córdobas","one":"Nicaraguan córdoba"},"symbol":"NIO","narrow":"C$"},"NLG":{"displayName":{"other":"Dutch guilders","one":"Dutch guilder"},"symbol":"NLG","narrow":"NLG"},"NOK":{"displayName":{"other":"Norwegian kroner","one":"Norwegian krone"},"symbol":"NOK","narrow":"kr"},"NPR":{"displayName":{"other":"Nepalese rupees","one":"Nepalese rupee"},"symbol":"NPR","narrow":"Rs"},"NZD":{"displayName":{"other":"New Zealand dollars","one":"New Zealand dollar"},"symbol":"NZ$","narrow":"$"},"OMR":{"displayName":{"other":"Omani rials","one":"Omani rial"},"symbol":"OMR","narrow":"OMR"},"PAB":{"displayName":{"other":"Panamanian balboas","one":"Panamanian balboa"},"symbol":"PAB","narrow":"PAB"},"PEI":{"displayName":{"other":"Peruvian intis","one":"Peruvian inti"},"symbol":"PEI","narrow":"PEI"},"PEN":{"displayName":{"other":"Peruvian soles","one":"Peruvian sol"},"symbol":"PEN","narrow":"PEN"},"PES":{"displayName":{"other":"Peruvian soles (1863–1965)","one":"Peruvian sol (1863–1965)"},"symbol":"PES","narrow":"PES"},"PGK":{"displayName":{"other":"Papua New Guinean kina"},"symbol":"PGK","narrow":"PGK"},"PHP":{"displayName":{"other":"Philippine pisos","one":"Philippine piso"},"symbol":"₱","narrow":"₱"},"PKR":{"displayName":{"other":"Pakistani rupees","one":"Pakistani rupee"},"symbol":"PKR","narrow":"Rs"},"PLN":{"displayName":{"other":"Polish zlotys","one":"Polish zloty"},"symbol":"PLN","narrow":"zł"},"PLZ":{"displayName":{"other":"Polish zlotys (PLZ)","one":"Polish zloty (PLZ)"},"symbol":"PLZ","narrow":"PLZ"},"PTE":{"displayName":{"other":"Portuguese escudos","one":"Portuguese escudo"},"symbol":"PTE","narrow":"PTE"},"PYG":{"displayName":{"other":"Paraguayan guaranis","one":"Paraguayan guarani"},"symbol":"PYG","narrow":"₲"},"QAR":{"displayName":{"other":"Qatari rials","one":"Qatari rial"},"symbol":"QAR","narrow":"QAR"},"RHD":{"displayName":{"other":"Rhodesian dollars","one":"Rhodesian dollar"},"symbol":"RHD","narrow":"RHD"},"ROL":{"displayName":{"other":"Romanian Lei (1952–2006)","one":"Romanian leu (1952–2006)"},"symbol":"ROL","narrow":"ROL"},"RON":{"displayName":{"other":"Romanian lei","one":"Romanian leu"},"symbol":"RON","narrow":"lei"},"RSD":{"displayName":{"other":"Serbian dinars","one":"Serbian dinar"},"symbol":"RSD","narrow":"RSD"},"RUB":{"displayName":{"other":"Russian rubles","one":"Russian ruble"},"symbol":"RUB","narrow":"₽"},"RUR":{"displayName":{"other":"Russian rubles (1991–1998)","one":"Russian ruble (1991–1998)"},"symbol":"RUR","narrow":"р."},"RWF":{"displayName":{"other":"Rwandan francs","one":"Rwandan franc"},"symbol":"RWF","narrow":"RF"},"SAR":{"displayName":{"other":"Saudi riyals","one":"Saudi riyal"},"symbol":"SAR","narrow":"SAR"},"SBD":{"displayName":{"other":"Solomon Islands dollars","one":"Solomon Islands dollar"},"symbol":"SBD","narrow":"$"},"SCR":{"displayName":{"other":"Seychellois rupees","one":"Seychellois rupee"},"symbol":"SCR","narrow":"SCR"},"SDD":{"displayName":{"other":"Sudanese dinars (1992–2007)","one":"Sudanese dinar (1992–2007)"},"symbol":"SDD","narrow":"SDD"},"SDG":{"displayName":{"other":"Sudanese pounds","one":"Sudanese pound"},"symbol":"SDG","narrow":"SDG"},"SDP":{"displayName":{"other":"Sudanese pounds (1957–1998)","one":"Sudanese pound (1957–1998)"},"symbol":"SDP","narrow":"SDP"},"SEK":{"displayName":{"other":"Swedish kronor","one":"Swedish krona"},"symbol":"SEK","narrow":"kr"},"SGD":{"displayName":{"other":"Singapore dollars","one":"Singapore dollar"},"symbol":"SGD","narrow":"$"},"SHP":{"displayName":{"other":"St. Helena pounds","one":"St. Helena pound"},"symbol":"SHP","narrow":"£"},"SIT":{"displayName":{"other":"Slovenian tolars","one":"Slovenian tolar"},"symbol":"SIT","narrow":"SIT"},"SKK":{"displayName":{"other":"Slovak korunas","one":"Slovak koruna"},"symbol":"SKK","narrow":"SKK"},"SLL":{"displayName":{"other":"Sierra Leonean leones","one":"Sierra Leonean leone"},"symbol":"SLL","narrow":"SLL"},"SOS":{"displayName":{"other":"Somali shillings","one":"Somali shilling"},"symbol":"SOS","narrow":"SOS"},"SRD":{"displayName":{"other":"Surinamese dollars","one":"Surinamese dollar"},"symbol":"SRD","narrow":"$"},"SRG":{"displayName":{"other":"Surinamese guilders","one":"Surinamese guilder"},"symbol":"SRG","narrow":"SRG"},"SSP":{"displayName":{"other":"South Sudanese pounds","one":"South Sudanese pound"},"symbol":"SSP","narrow":"£"},"STD":{"displayName":{"other":"São Tomé & Príncipe dobras (1977–2017)","one":"São Tomé & Príncipe dobra (1977–2017)"},"symbol":"STD","narrow":"STD"},"STN":{"displayName":{"other":"São Tomé & Príncipe dobras","one":"São Tomé & Príncipe dobra"},"symbol":"STN","narrow":"Db"},"SUR":{"displayName":{"other":"Soviet roubles","one":"Soviet rouble"},"symbol":"SUR","narrow":"SUR"},"SVC":{"displayName":{"other":"Salvadoran colones","one":"Salvadoran colón"},"symbol":"SVC","narrow":"SVC"},"SYP":{"displayName":{"other":"Syrian pounds","one":"Syrian pound"},"symbol":"SYP","narrow":"£"},"SZL":{"displayName":{"other":"Swazi emalangeni","one":"Swazi lilangeni"},"symbol":"SZL","narrow":"SZL"},"THB":{"displayName":{"other":"Thai baht"},"symbol":"THB","narrow":"฿"},"TJR":{"displayName":{"other":"Tajikistani rubles","one":"Tajikistani ruble"},"symbol":"TJR","narrow":"TJR"},"TJS":{"displayName":{"other":"Tajikistani somonis","one":"Tajikistani somoni"},"symbol":"TJS","narrow":"TJS"},"TMM":{"displayName":{"other":"Turkmenistani manat (1993–2009)"},"symbol":"TMM","narrow":"TMM"},"TMT":{"displayName":{"other":"Turkmenistani manat"},"symbol":"TMT","narrow":"TMT"},"TND":{"displayName":{"other":"Tunisian dinars","one":"Tunisian dinar"},"symbol":"TND","narrow":"TND"},"TOP":{"displayName":{"other":"Tongan paʻanga"},"symbol":"TOP","narrow":"T$"},"TPE":{"displayName":{"other":"Timorese escudos","one":"Timorese escudo"},"symbol":"TPE","narrow":"TPE"},"TRL":{"displayName":{"other":"Turkish Lira (1922–2005)","one":"Turkish lira (1922–2005)"},"symbol":"TRL","narrow":"TRL"},"TRY":{"displayName":{"other":"Turkish Lira","one":"Turkish lira"},"symbol":"TRY","narrow":"₺"},"TTD":{"displayName":{"other":"Trinidad & Tobago dollars","one":"Trinidad & Tobago dollar"},"symbol":"TTD","narrow":"$"},"TWD":{"displayName":{"other":"New Taiwan dollars","one":"New Taiwan dollar"},"symbol":"NT$","narrow":"$"},"TZS":{"displayName":{"other":"Tanzanian shillings","one":"Tanzanian shilling"},"symbol":"TZS","narrow":"TZS"},"UAH":{"displayName":{"other":"Ukrainian hryvnias","one":"Ukrainian hryvnia"},"symbol":"UAH","narrow":"₴"},"UAK":{"displayName":{"other":"Ukrainian karbovantsiv","one":"Ukrainian karbovanets"},"symbol":"UAK","narrow":"UAK"},"UGS":{"displayName":{"other":"Ugandan shillings (1966–1987)","one":"Ugandan shilling (1966–1987)"},"symbol":"UGS","narrow":"UGS"},"UGX":{"displayName":{"other":"Ugandan shillings","one":"Ugandan shilling"},"symbol":"UGX","narrow":"UGX"},"USD":{"displayName":{"other":"US dollars","one":"US dollar"},"symbol":"$","narrow":"$"},"USN":{"displayName":{"other":"US dollars (next day)","one":"US dollar (next day)"},"symbol":"USN","narrow":"USN"},"USS":{"displayName":{"other":"US dollars (same day)","one":"US dollar (same day)"},"symbol":"USS","narrow":"USS"},"UYI":{"displayName":{"other":"Uruguayan pesos (indexed units)","one":"Uruguayan peso (indexed units)"},"symbol":"UYI","narrow":"UYI"},"UYP":{"displayName":{"other":"Uruguayan pesos (1975–1993)","one":"Uruguayan peso (1975–1993)"},"symbol":"UYP","narrow":"UYP"},"UYU":{"displayName":{"other":"Uruguayan pesos","one":"Uruguayan peso"},"symbol":"UYU","narrow":"$"},"UYW":{"displayName":{"other":"Uruguayan nominal wage index units","one":"Uruguayan nominal wage index unit"},"symbol":"UYW","narrow":"UYW"},"UZS":{"displayName":{"other":"Uzbekistani som"},"symbol":"UZS","narrow":"UZS"},"VEB":{"displayName":{"other":"Venezuelan bolívars (1871–2008)","one":"Venezuelan bolívar (1871–2008)"},"symbol":"VEB","narrow":"VEB"},"VEF":{"displayName":{"other":"Venezuelan bolívars (2008–2018)","one":"Venezuelan bolívar (2008–2018)"},"symbol":"VEF","narrow":"Bs"},"VES":{"displayName":{"other":"Venezuelan bolívars","one":"Venezuelan bolívar"},"symbol":"VES","narrow":"VES"},"VND":{"displayName":{"other":"Vietnamese dong"},"symbol":"₫","narrow":"₫"},"VNN":{"displayName":{"other":"Vietnamese dong (1978–1985)"},"symbol":"VNN","narrow":"VNN"},"VUV":{"displayName":{"other":"Vanuatu vatus","one":"Vanuatu vatu"},"symbol":"VUV","narrow":"VUV"},"WST":{"displayName":{"other":"Samoan tala"},"symbol":"WST","narrow":"WST"},"XAF":{"displayName":{"other":"Central African CFA francs","one":"Central African CFA franc"},"symbol":"FCFA","narrow":"FCFA"},"XAG":{"displayName":{"other":"troy ounces of silver","one":"troy ounce of silver"},"symbol":"XAG","narrow":"XAG"},"XAU":{"displayName":{"other":"troy ounces of gold","one":"troy ounce of gold"},"symbol":"XAU","narrow":"XAU"},"XBA":{"displayName":{"other":"European composite units","one":"European composite unit"},"symbol":"XBA","narrow":"XBA"},"XBB":{"displayName":{"other":"European monetary units","one":"European monetary unit"},"symbol":"XBB","narrow":"XBB"},"XBC":{"displayName":{"other":"European units of account (XBC)","one":"European unit of account (XBC)"},"symbol":"XBC","narrow":"XBC"},"XBD":{"displayName":{"other":"European units of account (XBD)","one":"European unit of account (XBD)"},"symbol":"XBD","narrow":"XBD"},"XCD":{"displayName":{"other":"East Caribbean dollars","one":"East Caribbean dollar"},"symbol":"EC$","narrow":"$"},"XDR":{"displayName":{"other":"special drawing rights"},"symbol":"XDR","narrow":"XDR"},"XEU":{"displayName":{"other":"European currency units","one":"European currency unit"},"symbol":"XEU","narrow":"XEU"},"XFO":{"displayName":{"other":"French gold francs","one":"French gold franc"},"symbol":"XFO","narrow":"XFO"},"XFU":{"displayName":{"other":"French UIC-francs","one":"French UIC-franc"},"symbol":"XFU","narrow":"XFU"},"XOF":{"displayName":{"other":"West African CFA francs","one":"West African CFA franc"},"symbol":"F CFA","narrow":"F CFA"},"XPD":{"displayName":{"other":"troy ounces of palladium","one":"troy ounce of palladium"},"symbol":"XPD","narrow":"XPD"},"XPF":{"displayName":{"other":"CFP francs","one":"CFP franc"},"symbol":"CFPF","narrow":"CFPF"},"XPT":{"displayName":{"other":"troy ounces of platinum","one":"troy ounce of platinum"},"symbol":"XPT","narrow":"XPT"},"XRE":{"displayName":{"other":"RINET Funds units","one":"RINET Funds unit"},"symbol":"XRE","narrow":"XRE"},"XSU":{"displayName":{"other":"Sucres","one":"Sucre"},"symbol":"XSU","narrow":"XSU"},"XTS":{"displayName":{"other":"Testing Currency units","one":"Testing Currency unit"},"symbol":"XTS","narrow":"XTS"},"XUA":{"displayName":{"other":"ADB units of account","one":"ADB unit of account"},"symbol":"XUA","narrow":"XUA"},"XXX":{"displayName":{"other":"(unknown currency)","one":"(unknown unit of currency)"},"symbol":"¤","narrow":"¤"},"YDD":{"displayName":{"other":"Yemeni dinars","one":"Yemeni dinar"},"symbol":"YDD","narrow":"YDD"},"YER":{"displayName":{"other":"Yemeni rials","one":"Yemeni rial"},"symbol":"YER","narrow":"YER"},"YUD":{"displayName":{"other":"Yugoslavian hard dinars (1966–1990)","one":"Yugoslavian hard dinar (1966–1990)"},"symbol":"YUD","narrow":"YUD"},"YUM":{"displayName":{"other":"Yugoslavian new dinars (1994–2002)","one":"Yugoslavian new dinar (1994–2002)"},"symbol":"YUM","narrow":"YUM"},"YUN":{"displayName":{"other":"Yugoslavian convertible dinars (1990–1992)","one":"Yugoslavian convertible dinar (1990–1992)"},"symbol":"YUN","narrow":"YUN"},"YUR":{"displayName":{"other":"Yugoslavian reformed dinars (1992–1993)","one":"Yugoslavian reformed dinar (1992–1993)"},"symbol":"YUR","narrow":"YUR"},"ZAL":{"displayName":{"other":"South African rands (financial)","one":"South African rand (financial)"},"symbol":"ZAL","narrow":"ZAL"},"ZAR":{"displayName":{"other":"South African rand"},"symbol":"ZAR","narrow":"R"},"ZMK":{"displayName":{"other":"Zambian kwachas (1968–2012)","one":"Zambian kwacha (1968–2012)"},"symbol":"ZMK","narrow":"ZMK"},"ZMW":{"displayName":{"other":"Zambian kwachas","one":"Zambian kwacha"},"symbol":"ZMW","narrow":"ZK"},"ZRN":{"displayName":{"other":"Zairean new zaires (1993–1998)","one":"Zairean new zaire (1993–1998)"},"symbol":"ZRN","narrow":"ZRN"},"ZRZ":{"displayName":{"other":"Zairean zaires (1971–1993)","one":"Zairean zaire (1971–1993)"},"symbol":"ZRZ","narrow":"ZRZ"},"ZWD":{"displayName":{"other":"Zimbabwean dollars (1980–2008)","one":"Zimbabwean dollar (1980–2008)"},"symbol":"ZWD","narrow":"ZWD"},"ZWL":{"displayName":{"other":"Zimbabwean dollars (2009)","one":"Zimbabwean dollar (2009)"},"symbol":"ZWL","narrow":"ZWL"},"ZWR":{"displayName":{"other":"Zimbabwean dollars (2008)","one":"Zimbabwean dollar (2008)"},"symbol":"ZWR","narrow":"ZWR"}},"numbers":{"nu":["latn"],"symbols":{"latn":{"decimal":".","group":",","list":";","percentSign":"%","plusSign":"+","minusSign":"-","approximatelySign":"~","exponential":"E","superscriptingExponent":"×","perMille":"‰","infinity":"∞","nan":"NaN","timeSeparator":":"}},"percent":{"latn":"#,##0%"},"decimal":{"latn":{"standard":"#,##0.###","long":{"1000":{"other":"0 thousand"},"10000":{"other":"00 thousand"},"100000":{"other":"000 thousand"},"1000000":{"other":"0 million"},"10000000":{"other":"00 million"},"100000000":{"other":"000 million"},"1000000000":{"other":"0 billion"},"10000000000":{"other":"00 billion"},"100000000000":{"other":"000 billion"},"1000000000000":{"other":"0 trillion"},"10000000000000":{"other":"00 trillion"},"100000000000000":{"other":"000 trillion"}},"short":{"1000":{"other":"0K"},"10000":{"other":"00K"},"100000":{"other":"000K"},"1000000":{"other":"0M"},"10000000":{"other":"00M"},"100000000":{"other":"000M"},"1000000000":{"other":"0B"},"10000000000":{"other":"00B"},"100000000000":{"other":"000B"},"1000000000000":{"other":"0T"},"10000000000000":{"other":"00T"},"100000000000000":{"other":"000T"}}}},"currency":{"latn":{"currencySpacing":{"beforeInsertBetween":" ","afterInsertBetween":" "},"standard":"¤#,##0.00","accounting":"¤#,##0.00;(¤#,##0.00)","unitPattern":"{0} {1}","short":{"1000":{"other":"¤0K"},"10000":{"other":"¤00K"},"100000":{"other":"¤000K"},"1000000":{"other":"¤0M"},"10000000":{"other":"¤00M"},"100000000":{"other":"¤000M"},"1000000000":{"other":"¤0B"},"10000000000":{"other":"¤00B"},"100000000000":{"other":"¤000B"},"1000000000000":{"other":"¤0T"},"10000000000000":{"other":"¤00T"},"100000000000000":{"other":"¤000T"}}}}},"nu":["latn"]},"locale":"en"} ) } } if (!("Int8Array"in self&&"toLocaleString"in self.Int8Array.prototype )) { // TypedArray.prototype.toLocaleString /* global CreateMethodProperty */ // 23.2.3.31 %TypedArray%.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] ) (function () { var fnName = 'toLocaleString' // %TypedArray%.prototype.toLocaleString is a distinct function that implements the same algorithm as Array.prototype.toLocaleString function toLocaleString () { return Array.prototype.toLocaleString.call(this, arguments); } // use "Int8Array" as a proxy for all "TypedArray" subclasses // in IE11, `Int8Array.prototype` inherits directly from `Object.prototype` // in that case, don't define it on the parent; define it directly on the prototype if ('__proto__' in self.Int8Array.prototype && self.Int8Array.prototype.__proto__ !== Object.prototype) { // set this on the underlying "TypedArrayPrototype", which is shared with all "TypedArray" subclasses CreateMethodProperty(self.Int8Array.prototype.__proto__, fnName, toLocaleString); } else { CreateMethodProperty(self.Int8Array.prototype, fnName, toLocaleString); CreateMethodProperty(self.Uint8Array.prototype, fnName, toLocaleString); CreateMethodProperty(self.Uint8ClampedArray.prototype, fnName, toLocaleString); CreateMethodProperty(self.Int16Array.prototype, fnName, toLocaleString); CreateMethodProperty(self.Uint16Array.prototype, fnName, toLocaleString); CreateMethodProperty(self.Int32Array.prototype, fnName, toLocaleString); CreateMethodProperty(self.Uint32Array.prototype, fnName, toLocaleString); CreateMethodProperty(self.Float32Array.prototype, fnName, toLocaleString); CreateMethodProperty(self.Float64Array.prototype, fnName, toLocaleString); } })(); } if (!("Intl"in self&&"RelativeTimeFormat"in self.Intl )) { // Intl.RelativeTimeFormat (function() { // node_modules/tslib/tslib.es6.js var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || {__proto__: []} instanceof Array && function(d2, b2) { d2.__proto__ = b2; } || function(d2, b2) { for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; }; return extendStatics(d, b); }; function __extends(d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/utils.js var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi; function invariant(condition, message, Err) { if (Err === void 0) { Err = Error; } if (!condition) { throw new Err(message); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/types/date-time.js var RangePatternType; (function(RangePatternType2) { RangePatternType2["startRange"] = "startRange"; RangePatternType2["shared"] = "shared"; RangePatternType2["endRange"] = "endRange"; })(RangePatternType || (RangePatternType = {})); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/CanonicalizeLocaleList.js function CanonicalizeLocaleList(locales) { return Intl.getCanonicalLocales(locales); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/262.js function ToString(o) { if (typeof o === "symbol") { throw TypeError("Cannot convert a Symbol value to a string"); } return String(o); } function ToObject(arg) { if (arg == null) { throw new TypeError("undefined/null cannot be converted to object"); } return Object(arg); } function SameValue(x, y) { if (Object.is) { return Object.is(x, y); } if (x === y) { return x !== 0 || 1 / x === 1 / y; } return x !== x && y !== y; } function Type(x) { if (x === null) { return "Null"; } if (typeof x === "undefined") { return "Undefined"; } if (typeof x === "function" || typeof x === "object") { return "Object"; } if (typeof x === "number") { return "Number"; } if (typeof x === "boolean") { return "Boolean"; } if (typeof x === "string") { return "String"; } if (typeof x === "symbol") { return "Symbol"; } if (typeof x === "bigint") { return "BigInt"; } } var MINUTES_PER_HOUR = 60; var SECONDS_PER_MINUTE = 60; var MS_PER_SECOND = 1e3; var MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE; var MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/CoerceOptionsToObject.js function CoerceOptionsToObject(options) { if (typeof options === "undefined") { return Object.create(null); } return ToObject(options); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/PartitionPattern.js function PartitionPattern(pattern) { var result = []; var beginIndex = pattern.indexOf("{"); var endIndex = 0; var nextIndex = 0; var length = pattern.length; while (beginIndex < pattern.length && beginIndex > -1) { endIndex = pattern.indexOf("}", beginIndex); invariant(endIndex > beginIndex, "Invalid pattern " + pattern); if (beginIndex > nextIndex) { result.push({ type: "literal", value: pattern.substring(nextIndex, beginIndex) }); } result.push({ type: pattern.substring(beginIndex + 1, endIndex), value: void 0 }); nextIndex = endIndex + 1; beginIndex = pattern.indexOf("{", nextIndex); } if (nextIndex < length) { result.push({ type: "literal", value: pattern.substring(nextIndex, length) }); } return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/GetOption.js function GetOption(opts, prop, type, values, fallback) { if (typeof opts !== "object") { throw new TypeError("Options must be an object"); } var value = opts[prop]; if (value !== void 0) { if (type !== "boolean" && type !== "string") { throw new TypeError("invalid type"); } if (type === "boolean") { value = Boolean(value); } if (type === "string") { value = ToString(value); } if (values !== void 0 && !values.filter(function(val) { return val == value; }).length) { throw new RangeError(value + " is not within " + values.join(", ")); } return value; } return fallback; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/BestAvailableLocale.js function BestAvailableLocale(availableLocales, locale) { var candidate = locale; while (true) { if (availableLocales.has(candidate)) { return candidate; } var pos = candidate.lastIndexOf("-"); if (!~pos) { return void 0; } if (pos >= 2 && candidate[pos - 2] === "-") { pos -= 2; } candidate = candidate.slice(0, pos); } } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/LookupMatcher.js function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) { var result = {locale: ""}; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var locale = requestedLocales_1[_i]; var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale); if (availableLocale) { result.locale = availableLocale; if (locale !== noExtensionLocale) { result.extension = locale.slice(noExtensionLocale.length + 1, locale.length); } return result; } } result.locale = getDefaultLocale(); return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/BestFitMatcher.js function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) { var minimizedAvailableLocaleMap = {}; var minimizedAvailableLocales = new Set(); availableLocales.forEach(function(locale2) { var minimizedLocale = new Intl.Locale(locale2).minimize().toString(); minimizedAvailableLocaleMap[minimizedLocale] = locale2; minimizedAvailableLocales.add(minimizedLocale); }); var foundLocale; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var l = requestedLocales_1[_i]; if (foundLocale) { break; } var noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); if (availableLocales.has(noExtensionLocale)) { foundLocale = noExtensionLocale; break; } if (minimizedAvailableLocales.has(noExtensionLocale)) { foundLocale = minimizedAvailableLocaleMap[noExtensionLocale]; break; } var locale = new Intl.Locale(noExtensionLocale); var maximizedRequestedLocale = locale.maximize().toString(); var minimizedRequestedLocale = locale.minimize().toString(); if (minimizedAvailableLocales.has(minimizedRequestedLocale)) { foundLocale = minimizedAvailableLocaleMap[minimizedRequestedLocale]; break; } foundLocale = BestAvailableLocale(minimizedAvailableLocales, maximizedRequestedLocale); } return { locale: foundLocale || getDefaultLocale() }; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/UnicodeExtensionValue.js function UnicodeExtensionValue(extension, key) { invariant(key.length === 2, "key must have 2 elements"); var size = extension.length; var searchValue = "-" + key + "-"; var pos = extension.indexOf(searchValue); if (pos !== -1) { var start = pos + 4; var end = start; var k = start; var done = false; while (!done) { var e = extension.indexOf("-", k); var len = void 0; if (e === -1) { len = size - k; } else { len = e - k; } if (len === 2) { done = true; } else if (e === -1) { end = size; done = true; } else { end = e; k = e + 1; } } return extension.slice(start, end); } searchValue = "-" + key; pos = extension.indexOf(searchValue); if (pos !== -1 && pos + 3 === size) { return ""; } return void 0; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/ResolveLocale.js function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) { var matcher = options.localeMatcher; var r; if (matcher === "lookup") { r = LookupMatcher(availableLocales, requestedLocales, getDefaultLocale); } else { r = BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale); } var foundLocale = r.locale; var result = {locale: "", dataLocale: foundLocale}; var supportedExtension = "-u"; for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) { var key = relevantExtensionKeys_1[_i]; invariant(foundLocale in localeData, "Missing locale data for " + foundLocale); var foundLocaleData = localeData[foundLocale]; invariant(typeof foundLocaleData === "object" && foundLocaleData !== null, "locale data " + key + " must be an object"); var keyLocaleData = foundLocaleData[key]; invariant(Array.isArray(keyLocaleData), "keyLocaleData for " + key + " must be an array"); var value = keyLocaleData[0]; invariant(typeof value === "string" || value === null, "value must be string or null but got " + typeof value + " in key " + key); var supportedExtensionAddition = ""; if (r.extension) { var requestedValue = UnicodeExtensionValue(r.extension, key); if (requestedValue !== void 0) { if (requestedValue !== "") { if (~keyLocaleData.indexOf(requestedValue)) { value = requestedValue; supportedExtensionAddition = "-" + key + "-" + value; } } else if (~requestedValue.indexOf("true")) { value = "true"; supportedExtensionAddition = "-" + key; } } } if (key in options) { var optionsValue = options[key]; invariant(typeof optionsValue === "string" || typeof optionsValue === "undefined" || optionsValue === null, "optionsValue must be String, Undefined or Null"); if (~keyLocaleData.indexOf(optionsValue)) { if (optionsValue !== value) { value = optionsValue; supportedExtensionAddition = ""; } } } result[key] = value; supportedExtension += supportedExtensionAddition; } if (supportedExtension.length > 2) { var privateIndex = foundLocale.indexOf("-x-"); if (privateIndex === -1) { foundLocale = foundLocale + supportedExtension; } else { var preExtension = foundLocale.slice(0, privateIndex); var postExtension = foundLocale.slice(privateIndex, foundLocale.length); foundLocale = preExtension + supportedExtension + postExtension; } foundLocale = Intl.getCanonicalLocales(foundLocale)[0]; } result.locale = foundLocale; return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/IsSanctionedSimpleUnitIdentifier.js var SANCTIONED_UNITS = [ "angle-degree", "area-acre", "area-hectare", "concentr-percent", "digital-bit", "digital-byte", "digital-gigabit", "digital-gigabyte", "digital-kilobit", "digital-kilobyte", "digital-megabit", "digital-megabyte", "digital-petabyte", "digital-terabit", "digital-terabyte", "duration-day", "duration-hour", "duration-millisecond", "duration-minute", "duration-month", "duration-second", "duration-week", "duration-year", "length-centimeter", "length-foot", "length-inch", "length-kilometer", "length-meter", "length-mile-scandinavian", "length-mile", "length-millimeter", "length-yard", "mass-gram", "mass-kilogram", "mass-ounce", "mass-pound", "mass-stone", "temperature-celsius", "temperature-fahrenheit", "volume-fluid-ounce", "volume-gallon", "volume-liter", "volume-milliliter" ]; function removeUnitNamespace(unit) { return unit.slice(unit.indexOf("-") + 1); } var SIMPLE_UNITS = SANCTIONED_UNITS.map(removeUnitNamespace); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/regex.generated.js var S_UNICODE_REGEX = /[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BF\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEE0-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDD78\uDD7A-\uDDCB\uDDCD-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6\uDF00-\uDF92\uDF94-\uDFCA]/; // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/NumberFormat/format_to_parts.js var CARET_S_UNICODE_REGEX = new RegExp("^" + S_UNICODE_REGEX.source); var S_DOLLAR_UNICODE_REGEX = new RegExp(S_UNICODE_REGEX.source + "$"); // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/RelativeTimeFormat/SingularRelativeTimeUnit.js function SingularRelativeTimeUnit(unit) { invariant(Type(unit) === "String", "unit must be a string"); if (unit === "seconds") return "second"; if (unit === "minutes") return "minute"; if (unit === "hours") return "hour"; if (unit === "days") return "day"; if (unit === "weeks") return "week"; if (unit === "months") return "month"; if (unit === "quarters") return "quarter"; if (unit === "years") return "year"; if (unit !== "second" && unit !== "minute" && unit !== "hour" && unit !== "day" && unit !== "week" && unit !== "month" && unit !== "quarter" && unit !== "year") { throw new RangeError("invalid unit"); } return unit; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/RelativeTimeFormat/MakePartsList.js function MakePartsList(pattern, unit, parts) { var patternParts = PartitionPattern(pattern); var result = []; for (var _i = 0, patternParts_1 = patternParts; _i < patternParts_1.length; _i++) { var patternPart = patternParts_1[_i]; if (patternPart.type === "literal") { result.push({ type: "literal", value: patternPart.value }); } else { invariant(patternPart.type === "0", "Malformed pattern " + pattern); for (var _a = 0, parts_1 = parts; _a < parts_1.length; _a++) { var part = parts_1[_a]; result.push({ type: part.type, value: part.value, unit: unit }); } } } return result; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/RelativeTimeFormat/PartitionRelativeTimePattern.js function PartitionRelativeTimePattern(rtf, value, unit, _a) { var getInternalSlots2 = _a.getInternalSlots; invariant(Type(value) === "Number", "value must be number, instead got " + typeof value, TypeError); invariant(Type(unit) === "String", "unit must be number, instead got " + typeof value, TypeError); if (isNaN(value) || !isFinite(value)) { throw new RangeError("Invalid value " + value); } var resolvedUnit = SingularRelativeTimeUnit(unit); var _b = getInternalSlots2(rtf), fields = _b.fields, style = _b.style, numeric = _b.numeric, pluralRules = _b.pluralRules, numberFormat = _b.numberFormat; var entry = resolvedUnit; if (style === "short") { entry = resolvedUnit + "-short"; } else if (style === "narrow") { entry = resolvedUnit + "-narrow"; } if (!(entry in fields)) { entry = resolvedUnit; } var patterns = fields[entry]; if (numeric === "auto") { if (ToString(value) in patterns) { return [ { type: "literal", value: patterns[ToString(value)] } ]; } } var tl = "future"; if (SameValue(value, -0) || value < 0) { tl = "past"; } var po = patterns[tl]; var fv = typeof numberFormat.formatToParts === "function" ? numberFormat.formatToParts(Math.abs(value)) : [ { type: "literal", value: numberFormat.format(Math.abs(value)), unit: unit } ]; var pr = pluralRules.select(value); var pattern = po[pr]; return MakePartsList(pattern, resolvedUnit, fv); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/RelativeTimeFormat/InitializeRelativeTimeFormat.js var NUMBERING_SYSTEM_REGEX = /^[a-z0-9]{3,8}(-[a-z0-9]{3,8})*$/i; function InitializeRelativeTimeFormat(rtf, locales, options, _a) { var getInternalSlots2 = _a.getInternalSlots, availableLocales = _a.availableLocales, relevantExtensionKeys = _a.relevantExtensionKeys, localeData = _a.localeData, getDefaultLocale = _a.getDefaultLocale; var internalSlots = getInternalSlots2(rtf); internalSlots.initializedRelativeTimeFormat = true; var requestedLocales = CanonicalizeLocaleList(locales); var opt = Object.create(null); var opts = CoerceOptionsToObject(options); var matcher = GetOption(opts, "localeMatcher", "string", ["best fit", "lookup"], "best fit"); opt.localeMatcher = matcher; var numberingSystem = GetOption(opts, "numberingSystem", "string", void 0, void 0); if (numberingSystem !== void 0) { if (!NUMBERING_SYSTEM_REGEX.test(numberingSystem)) { throw new RangeError("Invalid numbering system " + numberingSystem); } } opt.nu = numberingSystem; var r = ResolveLocale(availableLocales, requestedLocales, opt, relevantExtensionKeys, localeData, getDefaultLocale); var locale = r.locale, nu = r.nu; internalSlots.locale = locale; internalSlots.style = GetOption(opts, "style", "string", ["long", "narrow", "short"], "long"); internalSlots.numeric = GetOption(opts, "numeric", "string", ["always", "auto"], "always"); var fields = localeData[r.dataLocale]; invariant(!!fields, "Missing locale data for " + r.dataLocale); internalSlots.fields = fields; internalSlots.numberFormat = new Intl.NumberFormat(locales); internalSlots.pluralRules = new Intl.PluralRules(locales); internalSlots.numberingSystem = nu; return rtf; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/LookupSupportedLocales.js function LookupSupportedLocales(availableLocales, requestedLocales) { var subset = []; for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) { var locale = requestedLocales_1[_i]; var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, ""); var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale); if (availableLocale) { subset.push(availableLocale); } } return subset; } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/SupportedLocales.js function SupportedLocales(availableLocales, requestedLocales, options) { var matcher = "best fit"; if (options !== void 0) { options = ToObject(options); matcher = GetOption(options, "localeMatcher", "string", ["lookup", "best fit"], "best fit"); } if (matcher === "best fit") { return LookupSupportedLocales(availableLocales, requestedLocales); } return LookupSupportedLocales(availableLocales, requestedLocales); } // bazel-out/darwin-fastbuild/bin/packages/ecma402-abstract/lib/data.js var MissingLocaleDataError = function(_super) { __extends(MissingLocaleDataError2, _super); function MissingLocaleDataError2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = "MISSING_LOCALE_DATA"; return _this; } return MissingLocaleDataError2; }(Error); // bazel-out/darwin-fastbuild/bin/packages/intl-relativetimeformat/lib/get_internal_slots.js var internalSlotMap = new WeakMap(); function getInternalSlots(x) { var internalSlots = internalSlotMap.get(x); if (!internalSlots) { internalSlots = Object.create(null); internalSlotMap.set(x, internalSlots); } return internalSlots; } // bazel-out/darwin-fastbuild/bin/packages/intl-relativetimeformat/lib/index.js var RelativeTimeFormat = function() { function RelativeTimeFormat2(locales, options) { var newTarget = this && this instanceof RelativeTimeFormat2 ? this.constructor : void 0; if (!newTarget) { throw new TypeError("Intl.RelativeTimeFormat must be called with 'new'"); } return InitializeRelativeTimeFormat(this, locales, options, { getInternalSlots: getInternalSlots, availableLocales: RelativeTimeFormat2.availableLocales, relevantExtensionKeys: RelativeTimeFormat2.relevantExtensionKeys, localeData: RelativeTimeFormat2.localeData, getDefaultLocale: RelativeTimeFormat2.getDefaultLocale }); } RelativeTimeFormat2.prototype.format = function(value, unit) { if (typeof this !== "object") { throw new TypeError("format was called on a non-object"); } var internalSlots = getInternalSlots(this); if (!internalSlots.initializedRelativeTimeFormat) { throw new TypeError("format was called on a invalid context"); } return PartitionRelativeTimePattern(this, Number(value), ToString(unit), { getInternalSlots: getInternalSlots }).map(function(el) { return el.value; }).join(""); }; RelativeTimeFormat2.prototype.formatToParts = function(value, unit) { if (typeof this !== "object") { throw new TypeError("formatToParts was called on a non-object"); } var internalSlots = getInternalSlots(this); if (!internalSlots.initializedRelativeTimeFormat) { throw new TypeError("formatToParts was called on a invalid context"); } return PartitionRelativeTimePattern(this, Number(value), ToString(unit), {getInternalSlots: getInternalSlots}); }; RelativeTimeFormat2.prototype.resolvedOptions = function() { if (typeof this !== "object") { throw new TypeError("resolvedOptions was called on a non-object"); } var internalSlots = getInternalSlots(this); if (!internalSlots.initializedRelativeTimeFormat) { throw new TypeError("resolvedOptions was called on a invalid context"); } return { locale: internalSlots.locale, style: internalSlots.style, numeric: internalSlots.numeric, numberingSystem: internalSlots.numberingSystem }; }; RelativeTimeFormat2.supportedLocalesOf = function(locales, options) { return SupportedLocales(RelativeTimeFormat2.availableLocales, CanonicalizeLocaleList(locales), options); }; RelativeTimeFormat2.__addLocaleData = function() { var data = []; for (var _i = 0; _i < arguments.length; _i++) { data[_i] = arguments[_i]; } for (var _a = 0, data_1 = data; _a < data_1.length; _a++) { var _b = data_1[_a], d = _b.data, locale = _b.locale; var minimizedLocale = new Intl.Locale(locale).minimize().toString(); RelativeTimeFormat2.localeData[locale] = RelativeTimeFormat2.localeData[minimizedLocale] = d; RelativeTimeFormat2.availableLocales.add(minimizedLocale); RelativeTimeFormat2.availableLocales.add(locale); if (!RelativeTimeFormat2.__defaultLocale) { RelativeTimeFormat2.__defaultLocale = minimizedLocale; } } }; RelativeTimeFormat2.getDefaultLocale = function() { return RelativeTimeFormat2.__defaultLocale; }; RelativeTimeFormat2.localeData = {}; RelativeTimeFormat2.availableLocales = new Set(); RelativeTimeFormat2.__defaultLocale = ""; RelativeTimeFormat2.relevantExtensionKeys = ["nu"]; RelativeTimeFormat2.polyfilled = true; return RelativeTimeFormat2; }(); var lib_default = RelativeTimeFormat; try { if (typeof Symbol !== "undefined") { Object.defineProperty(RelativeTimeFormat.prototype, Symbol.toStringTag, { value: "Intl.RelativeTimeFormat", writable: false, enumerable: false, configurable: true }); } Object.defineProperty(RelativeTimeFormat.prototype.constructor, "length", { value: 0, writable: false, enumerable: false, configurable: true }); Object.defineProperty(RelativeTimeFormat.supportedLocalesOf, "length", { value: 1, writable: false, enumerable: false, configurable: true }); } catch (e) { } // bazel-out/darwin-fastbuild/bin/packages/intl-relativetimeformat/lib/should-polyfill.js function shouldPolyfill() { return typeof Intl === "undefined" || !("RelativeTimeFormat" in Intl); } // bazel-out/darwin-fastbuild/bin/packages/intl-relativetimeformat/lib/polyfill.js if (shouldPolyfill()) { Object.defineProperty(Intl, "RelativeTimeFormat", { value: lib_default, writable: true, enumerable: false, configurable: true }); } })(); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ } if (!("Intl"in self&&Intl.RelativeTimeFormat&&Intl.RelativeTimeFormat.supportedLocalesOf&&1===Intl.RelativeTimeFormat.supportedLocalesOf("de").length )) { // Intl.RelativeTimeFormat.~locale.de /* @generated */ // prettier-ignore if (Intl.RelativeTimeFormat && typeof Intl.RelativeTimeFormat.__addLocaleData === 'function') { Intl.RelativeTimeFormat.__addLocaleData({"data":{"nu":["latn"],"year":{"0":"dieses Jahr","1":"nächstes Jahr","future":{"one":"in {0} Jahr","other":"in {0} Jahren"},"past":{"one":"vor {0} Jahr","other":"vor {0} Jahren"},"-1":"letztes Jahr"},"year-short":{"0":"dieses Jahr","1":"nächstes Jahr","future":{"one":"in {0} Jahr","other":"in {0} Jahren"},"past":{"one":"vor {0} Jahr","other":"vor {0} Jahren"},"-1":"letztes Jahr"},"year-narrow":{"0":"dieses Jahr","1":"nächstes Jahr","future":{"one":"in {0} Jahr","other":"in {0} Jahren"},"past":{"one":"vor {0} Jahr","other":"vor {0} Jahren"},"-1":"letztes Jahr"},"quarter":{"0":"dieses Quartal","1":"nächstes Quartal","future":{"one":"in {0} Quartal","other":"in {0} Quartalen"},"past":{"one":"vor {0} Quartal","other":"vor {0} Quartalen"},"-1":"letztes Quartal"},"quarter-short":{"0":"dieses Quartal","1":"nächstes Quartal","future":{"one":"in {0} Quart.","other":"in {0} Quart."},"past":{"one":"vor {0} Quart.","other":"vor {0} Quart."},"-1":"letztes Quartal"},"quarter-narrow":{"0":"dieses Quartal","1":"nächstes Quartal","future":{"one":"in {0} Q","other":"in {0} Q"},"past":{"one":"vor {0} Q","other":"vor {0} Q"},"-1":"letztes Quartal"},"month":{"0":"diesen Monat","1":"nächsten Monat","future":{"one":"in {0} Monat","other":"in {0} Monaten"},"past":{"one":"vor {0} Monat","other":"vor {0} Monaten"},"-1":"letzten Monat"},"month-short":{"0":"diesen Monat","1":"nächsten Monat","future":{"one":"in {0} Monat","other":"in {0} Monaten"},"past":{"one":"vor {0} Monat","other":"vor {0} Monaten"},"-1":"letzten Monat"},"month-narrow":{"0":"diesen Monat","1":"nächsten Monat","future":{"one":"in {0} Monat","other":"in {0} Monaten"},"past":{"one":"vor {0} Monat","other":"vor {0} Monaten"},"-1":"letzten Monat"},"week":{"0":"diese Woche","1":"nächste Woche","future":{"one":"in {0} Woche","other":"in {0} Wochen"},"past":{"one":"vor {0} Woche","other":"vor {0} Wochen"},"-1":"letzte Woche"},"week-short":{"0":"diese Woche","1":"nächste Woche","future":{"one":"in {0} Woche","other":"in {0} Wochen"},"past":{"one":"vor {0} Woche","other":"vor {0} Wochen"},"-1":"letzte Woche"},"week-narrow":{"0":"diese Woche","1":"nächste Woche","future":{"one":"in {0} Wo.","other":"in {0} Wo."},"past":{"one":"vor {0} Wo.","other":"vor {0} Wo."},"-1":"letzte Woche"},"day":{"0":"heute","1":"morgen","2":"übermorgen","future":{"one":"in {0} Tag","other":"in {0} Tagen"},"past":{"one":"vor {0} Tag","other":"vor {0} Tagen"},"-2":"vorgestern","-1":"gestern"},"day-short":{"0":"heute","1":"morgen","2":"übermorgen","future":{"one":"in {0} Tag","other":"in {0} Tagen"},"past":{"one":"vor {0} Tag","other":"vor {0} Tagen"},"-2":"vorgestern","-1":"gestern"},"day-narrow":{"0":"heute","1":"morgen","2":"übermorgen","future":{"one":"in {0} Tag","other":"in {0} Tagen"},"past":{"one":"vor {0} Tag","other":"vor {0} Tagen"},"-2":"vorgestern","-1":"gestern"},"hour":{"0":"in dieser Stunde","future":{"one":"in {0} Stunde","other":"in {0} Stunden"},"past":{"one":"vor {0} Stunde","other":"vor {0} Stunden"}},"hour-short":{"0":"in dieser Stunde","future":{"one":"in {0} Std.","other":"in {0} Std."},"past":{"one":"vor {0} Std.","other":"vor {0} Std."}},"hour-narrow":{"0":"in dieser Stunde","future":{"one":"in {0} Std.","other":"in {0} Std."},"past":{"one":"vor {0} Std.","other":"vor {0} Std."}},"minute":{"0":"in dieser Minute","future":{"one":"in {0} Minute","other":"in {0} Minuten"},"past":{"one":"vor {0} Minute","other":"vor {0} Minuten"}},"minute-short":{"0":"in dieser Minute","future":{"one":"in {0} Min.","other":"in {0} Min."},"past":{"one":"vor {0} Min.","other":"vor {0} Min."}},"minute-narrow":{"0":"in dieser Minute","future":{"one":"in {0} m","other":"in {0} m"},"past":{"one":"vor {0} m","other":"vor {0} m"}},"second":{"0":"jetzt","future":{"one":"in {0} Sekunde","other":"in {0} Sekunden"},"past":{"one":"vor {0} Sekunde","other":"vor {0} Sekunden"}},"second-short":{"0":"jetzt","future":{"one":"in {0} Sek.","other":"in {0} Sek."},"past":{"one":"vor {0} Sek.","other":"vor {0} Sek."}},"second-narrow":{"0":"jetzt","future":{"one":"in {0} s","other":"in {0} s"},"past":{"one":"vor {0} s","other":"vor {0} s"}}},"locale":"de"} ) } } if (!("ResizeObserver"in self )) { // ResizeObserver (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ResizeObserver = {})); })(this, (function (exports) { 'use strict'; var resizeObservers = []; var hasActiveObservations = function () { return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; }); }; var hasSkippedObservations = function () { return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; }); }; var msg = 'ResizeObserver loop completed with undelivered notifications.'; var deliverResizeLoopError = function () { var event; if (typeof ErrorEvent === 'function') { event = new ErrorEvent('error', { message: msg }); } else { event = document.createEvent('Event'); event.initEvent('error', false, false); event.message = msg; } window.dispatchEvent(event); }; var ResizeObserverBoxOptions; (function (ResizeObserverBoxOptions) { ResizeObserverBoxOptions["BORDER_BOX"] = "border-box"; ResizeObserverBoxOptions["CONTENT_BOX"] = "content-box"; ResizeObserverBoxOptions["DEVICE_PIXEL_CONTENT_BOX"] = "device-pixel-content-box"; })(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {})); var freeze = function (obj) { return Object.freeze(obj); }; var ResizeObserverSize = (function () { function ResizeObserverSize(inlineSize, blockSize) { this.inlineSize = inlineSize; this.blockSize = blockSize; freeze(this); } return ResizeObserverSize; }()); var DOMRectReadOnly = (function () { function DOMRectReadOnly(x, y, width, height) { this.x = x; this.y = y; this.width = width; this.height = height; this.top = this.y; this.left = this.x; this.bottom = this.top + this.height; this.right = this.left + this.width; return freeze(this); } DOMRectReadOnly.prototype.toJSON = function () { var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height; return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height }; }; DOMRectReadOnly.fromRect = function (rectangle) { return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height); }; return DOMRectReadOnly; }()); var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; }; var isHidden = function (target) { if (isSVG(target)) { var _a = target.getBBox(), width = _a.width, height = _a.height; return !width && !height; } var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight; return !(offsetWidth || offsetHeight || target.getClientRects().length); }; var isElement = function (obj) { var _a; if (obj instanceof Element) { return true; } var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView; return !!(scope && obj instanceof scope.Element); }; var isReplacedElement = function (target) { switch (target.tagName) { case 'INPUT': if (target.type !== 'image') { break; } case 'VIDEO': case 'AUDIO': case 'EMBED': case 'OBJECT': case 'CANVAS': case 'IFRAME': case 'IMG': return true; } return false; }; var global = typeof window !== 'undefined' ? window : {}; var cache = new WeakMap(); var scrollRegexp = /auto|scroll/; var verticalRegexp = /^tb|vertical/; var IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent); var parseDimension = function (pixel) { return parseFloat(pixel || '0'); }; var size = function (inlineSize, blockSize, switchSizes) { if (inlineSize === void 0) { inlineSize = 0; } if (blockSize === void 0) { blockSize = 0; } if (switchSizes === void 0) { switchSizes = false; } return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0); }; var zeroBoxes = freeze({ devicePixelContentBoxSize: size(), borderBoxSize: size(), contentBoxSize: size(), contentRect: new DOMRectReadOnly(0, 0, 0, 0) }); var calculateBoxSizes = function (target, forceRecalculation) { if (forceRecalculation === void 0) { forceRecalculation = false; } if (cache.has(target) && !forceRecalculation) { return cache.get(target); } if (isHidden(target)) { cache.set(target, zeroBoxes); return zeroBoxes; } var cs = getComputedStyle(target); var svg = isSVG(target) && target.ownerSVGElement && target.getBBox(); var removePadding = !IE && cs.boxSizing === 'border-box'; var switchSizes = verticalRegexp.test(cs.writingMode || ''); var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || ''); var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || ''); var paddingTop = svg ? 0 : parseDimension(cs.paddingTop); var paddingRight = svg ? 0 : parseDimension(cs.paddingRight); var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom); var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft); var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth); var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth); var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth); var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth); var horizontalPadding = paddingLeft + paddingRight; var verticalPadding = paddingTop + paddingBottom; var horizontalBorderArea = borderLeft + borderRight; var verticalBorderArea = borderTop + borderBottom; var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight; var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth; var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0; var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0; var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness; var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness; var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea; var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea; var boxes = freeze({ devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes), borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes), contentBoxSize: size(contentWidth, contentHeight, switchSizes), contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight) }); cache.set(target, boxes); return boxes; }; var calculateBoxSize = function (target, observedBox, forceRecalculation) { var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize; switch (observedBox) { case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX: return devicePixelContentBoxSize; case ResizeObserverBoxOptions.BORDER_BOX: return borderBoxSize; default: return contentBoxSize; } }; var ResizeObserverEntry = (function () { function ResizeObserverEntry(target) { var boxes = calculateBoxSizes(target); this.target = target; this.contentRect = boxes.contentRect; this.borderBoxSize = freeze([boxes.borderBoxSize]); this.contentBoxSize = freeze([boxes.contentBoxSize]); this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]); } return ResizeObserverEntry; }()); var calculateDepthForNode = function (node) { if (isHidden(node)) { return Infinity; } var depth = 0; var parent = node.parentNode; while (parent) { depth += 1; parent = parent.parentNode; } return depth; }; var broadcastActiveObservations = function () { var shallowestDepth = Infinity; var callbacks = []; resizeObservers.forEach(function processObserver(ro) { if (ro.activeTargets.length === 0) { return; } var entries = []; ro.activeTargets.forEach(function processTarget(ot) { var entry = new ResizeObserverEntry(ot.target); var targetDepth = calculateDepthForNode(ot.target); entries.push(entry); ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox); if (targetDepth < shallowestDepth) { shallowestDepth = targetDepth; } }); callbacks.push(function resizeObserverCallback() { ro.callback.call(ro.observer, entries, ro.observer); }); ro.activeTargets.splice(0, ro.activeTargets.length); }); for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) { var callback = callbacks_1[_i]; callback(); } return shallowestDepth; }; var gatherActiveObservationsAtDepth = function (depth) { resizeObservers.forEach(function processObserver(ro) { ro.activeTargets.splice(0, ro.activeTargets.length); ro.skippedTargets.splice(0, ro.skippedTargets.length); ro.observationTargets.forEach(function processTarget(ot) { if (ot.isActive()) { if (calculateDepthForNode(ot.target) > depth) { ro.activeTargets.push(ot); } else { ro.skippedTargets.push(ot); } } }); }); }; var process = function () { var depth = 0; gatherActiveObservationsAtDepth(depth); while (hasActiveObservations()) { depth = broadcastActiveObservations(); gatherActiveObservationsAtDepth(depth); } if (hasSkippedObservations()) { deliverResizeLoopError(); } return depth > 0; }; var trigger; var callbacks = []; var notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); }; var queueMicroTask = function (callback) { if (!trigger) { var toggle_1 = 0; var el_1 = document.createTextNode(''); var config = { characterData: true }; new MutationObserver(function () { return notify(); }).observe(el_1, config); trigger = function () { el_1.textContent = "".concat(toggle_1 ? toggle_1-- : toggle_1++); }; } callbacks.push(callback); trigger(); }; var queueResizeObserver = function (cb) { queueMicroTask(function ResizeObserver() { requestAnimationFrame(cb); }); }; var watching = 0; var isWatching = function () { return !!watching; }; var CATCH_PERIOD = 250; var observerConfig = { attributes: true, characterData: true, childList: true, subtree: true }; var events = [ 'resize', 'load', 'transitionend', 'animationend', 'animationstart', 'animationiteration', 'keyup', 'keydown', 'mouseup', 'mousedown', 'mouseover', 'mouseout', 'blur', 'focus' ]; var time = function (timeout) { if (timeout === void 0) { timeout = 0; } return Date.now() + timeout; }; var scheduled = false; var Scheduler = (function () { function Scheduler() { var _this = this; this.stopped = true; this.listener = function () { return _this.schedule(); }; } Scheduler.prototype.run = function (timeout) { var _this = this; if (timeout === void 0) { timeout = CATCH_PERIOD; } if (scheduled) { return; } scheduled = true; var until = time(timeout); queueResizeObserver(function () { var elementsHaveResized = false; try { elementsHaveResized = process(); } finally { scheduled = false; timeout = until - time(); if (!isWatching()) { return; } if (elementsHaveResized) { _this.run(1000); } else if (timeout > 0) { _this.run(timeout); } else { _this.start(); } } }); }; Scheduler.prototype.schedule = function () { this.stop(); this.run(); }; Scheduler.prototype.observe = function () { var _this = this; var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); }; document.body ? cb() : global.addEventListener('DOMContentLoaded', cb); }; Scheduler.prototype.start = function () { var _this = this; if (this.stopped) { this.stopped = false; this.observer = new MutationObserver(this.listener); this.observe(); events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); }); } }; Scheduler.prototype.stop = function () { var _this = this; if (!this.stopped) { this.observer && this.observer.disconnect(); events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); }); this.stopped = true; } }; return Scheduler; }()); var scheduler = new Scheduler(); var updateCount = function (n) { !watching && n > 0 && scheduler.start(); watching += n; !watching && scheduler.stop(); }; var skipNotifyOnElement = function (target) { return !isSVG(target) && !isReplacedElement(target) && getComputedStyle(target).display === 'inline'; }; var ResizeObservation = (function () { function ResizeObservation(target, observedBox) { this.target = target; this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX; this.lastReportedSize = { inlineSize: 0, blockSize: 0 }; } ResizeObservation.prototype.isActive = function () { var size = calculateBoxSize(this.target, this.observedBox, true); if (skipNotifyOnElement(this.target)) { this.lastReportedSize = size; } if (this.lastReportedSize.inlineSize !== size.inlineSize || this.lastReportedSize.blockSize !== size.blockSize) { return true; } return false; }; return ResizeObservation; }()); var ResizeObserverDetail = (function () { function ResizeObserverDetail(resizeObserver, callback) { this.activeTargets = []; this.skippedTargets = []; this.observationTargets = []; this.observer = resizeObserver; this.callback = callback; } return ResizeObserverDetail; }()); var observerMap = new WeakMap(); var getObservationIndex = function (observationTargets, target) { for (var i = 0; i < observationTargets.length; i += 1) { if (observationTargets[i].target === target) { return i; } } return -1; }; var ResizeObserverController = (function () { function ResizeObserverController() { } ResizeObserverController.connect = function (resizeObserver, callback) { var detail = new ResizeObserverDetail(resizeObserver, callback); observerMap.set(resizeObserver, detail); }; ResizeObserverController.observe = function (resizeObserver, target, options) { var detail = observerMap.get(resizeObserver); var firstObservation = detail.observationTargets.length === 0; if (getObservationIndex(detail.observationTargets, target) < 0) { firstObservation && resizeObservers.push(detail); detail.observationTargets.push(new ResizeObservation(target, options && options.box)); updateCount(1); scheduler.schedule(); } }; ResizeObserverController.unobserve = function (resizeObserver, target) { var detail = observerMap.get(resizeObserver); var index = getObservationIndex(detail.observationTargets, target); var lastObservation = detail.observationTargets.length === 1; if (index >= 0) { lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1); detail.observationTargets.splice(index, 1); updateCount(-1); } }; ResizeObserverController.disconnect = function (resizeObserver) { var _this = this; var detail = observerMap.get(resizeObserver); detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); }); detail.activeTargets.splice(0, detail.activeTargets.length); }; return ResizeObserverController; }()); var ResizeObserver = (function () { function ResizeObserver(callback) { if (arguments.length === 0) { throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present."); } if (typeof callback !== 'function') { throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function."); } ResizeObserverController.connect(this, callback); } ResizeObserver.prototype.observe = function (target, options) { if (arguments.length === 0) { throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present."); } if (!isElement(target)) { throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element"); } ResizeObserverController.observe(this, target, options); }; ResizeObserver.prototype.unobserve = function (target) { if (arguments.length === 0) { throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present."); } if (!isElement(target)) { throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element"); } ResizeObserverController.unobserve(this, target); }; ResizeObserver.prototype.disconnect = function () { ResizeObserverController.disconnect(this); }; ResizeObserver.toString = function () { return 'function ResizeObserver () { [polyfill code] }'; }; return ResizeObserver; }()); exports.ResizeObserver = ResizeObserver; exports.ResizeObserverEntry = ResizeObserverEntry; exports.ResizeObserverSize = ResizeObserverSize; Object.defineProperty(exports, '__esModule', { value: true }); })); ;self.ResizeObserverEntry = ResizeObserver.ResizeObserverEntry;self.ResizeObserver=ResizeObserver.ResizeObserver; } if (!((function(e){try{if(Object.prototype.hasOwnProperty.call(e,"WeakSet")&&0===e.WeakSet.length){var t={},r=new e.WeakSet([t]) return r.has(t)&&!1===r.delete(0)&&"toStringTag"in self.Symbol&&void 0!==r[self.Symbol.toStringTag]}return!1}catch(e){return!1}})(self) )) { // WeakSet /* global Call, CreateMethodProperty, Get, GetIterator, IsArray, IsCallable, IteratorClose, IteratorStep, IteratorValue, OrdinaryCreateFromConstructor, SameValueZero, Type, Symbol */ (function (global) { // Deleted set items mess with iterator pointers, so rather than removing them mark them as deleted. Can't use undefined or null since those both valid keys so use a private symbol. var undefMarker = Symbol('undef'); // 23.4.1.1. WeakSet ( [ iterable ] ) var WeakSet = function WeakSet() { // 1. If NewTarget is undefined, throw a TypeError exception. if (!(this instanceof WeakSet)) { throw new TypeError('Constructor WeakSet requires "new"'); } // 2. Let set be ? OrdinaryCreateFromConstructor(NewTarget, "%WeakSetPrototype%", « [[WeakSetData]] »). var set = OrdinaryCreateFromConstructor(this, WeakSet.prototype, { _values: [], _size: 0, _es6WeakSet: true }); // 3. Set set.[[WeakSetData]] to a new empty List. // Polyfill.io - This step was done as part of step two. // 4. If iterable is not present, let iterable be undefined. var iterable = arguments.length > 0 ? arguments[0] : undefined; // 5. If iterable is either undefined or null, return set. if (iterable === null || iterable === undefined) { return set; } // 6. Let adder be ? Get(set, "add"). var adder = Get(set, 'add'); // 7. If IsCallable(adder) is false, throw a TypeError exception. if (!IsCallable(adder)) { throw new TypeError("WeakSet.prototype.add is not a function"); } try { // 8. Let iteratorRecord be ? GetIterator(iterable). var iteratorRecord = GetIterator(iterable); // 9. Repeat, // eslint-disable-next-line no-constant-condition while (true) { // a. Let next be ? IteratorStep(iteratorRecord). var next = IteratorStep(iteratorRecord); // b. If next is false, return set. if (next === false) { return set; } // c. Let nextValue be ? IteratorValue(next). var nextValue = IteratorValue(next); // d. Let status be Call(adder, set, « nextValue »). try { Call(adder, set, [nextValue]); } catch (e) { // e. If status is an abrupt completion, return ? IteratorClose(iteratorRecord, status). return IteratorClose(iteratorRecord, e); } } } catch (e) { // Polyfill.io - For user agents which do not have iteration methods on argument objects or arrays, we can special case those. if (IsArray(iterable) || Object.prototype.toString.call(iterable) === '[object Arguments]') { var index; var length = iterable.length; for (index = 0; index < length; index++) { Call(adder, set, [iterable[index]]); } } } return set; }; // 23.4.2.1. WeakSet.prototype // The initial value of WeakSet.prototype is the intrinsic %WeakSetPrototype% object. // This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }. Object.defineProperty(WeakSet, 'prototype', { configurable: false, enumerable: false, writable: false, value: {} }); // 23.4.3.1. WeakSet.prototype.add ( value ) CreateMethodProperty(WeakSet.prototype, 'add', function add(value) { // 1. Let S be the this value. var S = this; // 2. If Type(S) is not Object, throw a TypeError exception. if (Type(S) !== 'object') { throw new TypeError('Method WeakSet.prototype.add called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 3. If S does not have a [[WeakSetData]] internal slot, throw a TypeError exception. if (S._es6WeakSet !== true) { throw new TypeError('Method WeakSet.prototype.add called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 4. If Type(value) is not Object, throw a TypeError exception. if (Type(value) !== 'object') { throw new TypeError('Invalid value used in weak set'); } // 5. Let entries be the List that is S.[[WeakSetData]]. var entries = S._values; // 6. For each e that is an element of entries, do for (var i = 0; i < entries.length; i++) { var e = entries[i]; // a. If e is not empty and SameValue(e, value) is true, then if (e !== undefMarker && SameValueZero(e, value)) { // i. Return S. return S; } } // 7. Append value as the last element of entries. S._values.push(value); // 8. Return S. return S; }); // 23.4.3.2. WeakSet.prototype.constructor CreateMethodProperty(WeakSet.prototype, 'constructor', WeakSet); // 23.4.3.3. WeakSet.prototype.delete ( value ) CreateMethodProperty(WeakSet.prototype, 'delete', function (value) { // 1. Let S be the this value. var S = this; // 2. If Type(S) is not Object, throw a TypeError exception. if (Type(S) !== 'object') { throw new TypeError('Method WeakSet.prototype.delete called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 3. If S does not have a [[WeakSetData]] internal slot, throw a TypeError exception. if (S._es6WeakSet !== true) { throw new TypeError('Method WeakSet.prototype.delete called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 4. If Type(value) is not Object, return false. if (Type(value) !== 'object') { return false; } // 5. Let entries be the List that is S.[[WeakSetData]]. var entries = S._values; // 6. For each e that is an element of entries, do for (var i = 0; i < entries.length; i++) { var e = entries[i]; // a. If e is not empty and SameValue(e, value) is true, then if (e !== undefMarker && SameValueZero(e, value)) { // i. Replace the element of entries whose value is e with an element whose value is empty. entries[i] = undefMarker; // ii. Return true. return true; } } // 7. Return false. return false; }); // 23.4.3.4. WeakSet.prototype.has ( value ) CreateMethodProperty(WeakSet.prototype, 'has', function has(value) { // 1. Let S be the this value. var S = this; // 2. If Type(S) is not Object, throw a TypeError exception. if (Type(S) !== 'object') { throw new TypeError('Method WeakSet.prototype.has called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 3. If S does not have a [[WeakSetData]] internal slot, throw a TypeError exception. if (S._es6WeakSet !== true) { throw new TypeError('Method WeakSet.prototype.has called on incompatible receiver ' + Object.prototype.toString.call(S)); } // 4. Let entries be the List that is S.[[WeakSetData]]. var entries = S._values; // 5. If Type(value) is not Object, return false. if (Type(value) !== 'object') { return false; } // 6. For each e that is an element of entries, do for (var i = 0; i < entries.length; i++) { var e = entries[i]; // a. If e is not empty and SameValue(e, value) is true, return true. if (e !== undefMarker && SameValueZero(e, value)) { return true; } } // 7. Return false. return false; }); // 23.4.3.5. WeakSet.prototype [ @@toStringTag ] // The initial value of the @@toStringTag property is the String value "WeakSet". // This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. Object.defineProperty(WeakSet.prototype, Symbol.toStringTag, { configurable: true, enumerable: false, writable: false, value: 'WeakSet' }); // Polyfill.io - Safari 8 implements Set.name but as a non-configurable property, which means it would throw an error if we try and configure it here. if (!('name' in WeakSet)) { // 19.2.4.2 name Object.defineProperty(WeakSet, 'name', { configurable: true, enumerable: false, writable: false, value: 'WeakSet' }); } // Export the object CreateMethodProperty(global, 'WeakSet', WeakSet); }(self)); } }) ('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});
UNBEGRENZTER FILM- UND SERIENSPASS
EINLOGGEN

Sex Education

Nerd Otis hat dank seiner Mutter, einer Sexualtherapeutin, alle Antworten parat. Daher will seine rebellische Mitschülerin Maeve in der Schule eine Sextherapieklinik eröffnen.
Mit:Asa Butterfield,Gillian Anderson,Ncuti Gatwa
Von:Laurie Nunn
Ansehen, so viel Sie wollen.

Gillian Anderson („The Crown“) glänzt neben Asa Butterfield, Emma Mackey und Ncuti Gatwa in dieser wilden Teen-Komödie.

Videos

Sex Education

Folgen

Sex Education

  1. „Folge 1“ ansehen. Folge 1 der 1. Staffel.

    Trotz der Fürsorge seiner Mutter Jean, einer Sexualtherapeutin, und den ermutigenden Worten seines Kumpels Eric fürchtet Otis, dass er ewig Jungfrau bleiben wird.

  2. „Folge 2“ ansehen. Folge 2 der 1. Staffel.

    Maeve bringt Otis dazu, auf der Party einer Mitschülerin kostenlose Ratschläge über Sex zu erteilen. Doch das Leben als Sexualtherapeut ist schwieriger, als er dachte.

  3. „Folge 3“ ansehen. Folge 3 der 1. Staffel.

    Otis' Klinik erweist sich als ein Renner und Otis fühlt sich allmählich zu Maeve hingezogen, die ihn überraschend sogar um Hilfe bittet. Eric dreht sein eigenes Ding.

  4. „Folge 4“ ansehen. Folge 4 der 1. Staffel.

    Eric merkt, dass Otis in Maeve verknallt ist. Doch der Nachwuchstherapeut ist hin- und hergerissen, als Ladykiller Jackson Otis' Rat zu seinem geheimen Schwarm sucht.

  5. „Folge 5“ ansehen. Folge 5 der 1. Staffel.

    Ein kompromittierendes Bild bringt eine Mitschülerin in Bedrängnis. Maeve will die Schuldige ausfindig machen, was Otis an einem wichtigen Tag zu einem Entschluss zwingt.

  6. „Folge 6“ ansehen. Folge 6 der 1. Staffel.

    Erics Trauma isoliert ihn. Maeves Aufsatz gewinnt einen Preis. Otis will Lily näherkommen, jedoch stehen ihm seine grundsätzlichen Probleme im Weg.

  7. „Folge 7“ ansehen. Folge 7 der 1. Staffel.

    Der Tanz erweckt unter den Schülern von Moordale das Beste, sorgt aber auch für Drama. Otis hat ein Date, Maeve bekommt ihr Kleid und Eric legt einen guten Auftritt hin.

  8. „Folge 8“ ansehen. Folge 8 der 1. Staffel.

    Jeans neues Buch ist Otis ein Dorn im Auge. Maeve hält für ihren Bruder den Kopf hin. Eric muss mit dem Feind nachsitzen und Lily fühlt sich von ihrem Körper verraten.

  1. „Folge 1“ ansehen. Folge 1 der 2. Staffel.

    Selbstbefriedigung erweist sich als Otis' heimliches neues Talent. Doch wird er sein Verlangen nach Ola in Schach halten können? In der Schule gehen Chlamydien umher.

  2. „Folge 2“ ansehen. Folge 2 der 2. Staffel.

    Nach Jeans peinlichem Auftritt in der Schule versucht Otis, Ola mit der Hand zu befriedigen, und berät einen unbeholfenen Lehrer. Maeve kneift.

  3. „Folge 3“ ansehen. Folge 3 der 2. Staffel.

    Aimee hat im Bus auf dem Weg zu Maeve ein schockierendes Erlebnis. Rahim kommt Eric näher. Ein Familienessen der Milburns wird von Spannungen überschattet.

  4. „Folge 4“ ansehen. Folge 4 der 2. Staffel.

    Ola möchte das volle Programm durchziehen, doch Otis ist mulmig zumute. Jean und Maeve brauchen Abstand. Jackson hat Lampenfieber. Liebende finden wieder zueinander.

  5. „Folge 5“ ansehen. Folge 5 der 2. Staffel.

    Otis und Eric nehmen sich mit Remi im Wald eine Auszeit vom Liebeschaos. Maeve ist sich bewusst, dass Eltern auch nur Menschen sind. Ola folgt ihrem Herzen.

  6. „Folge 6“ ansehen. Folge 6 der 2. Staffel.

    Um Gelassenheit zu demonstrieren, organisiert Otis eine kleine Zusammenkunft, die jedoch eskaliert. Jackson konzentriert sich auf seine Genesung. Die Wahrheit tut weh.

  7. „Folge 7“ ansehen. Folge 7 der 2. Staffel.

    Es ist der Morgen danach. „Sex Kid“ Otis übergibt sich am laufenden Band. Auch in der Schule herrscht Chaos. Beim Nachsitzen kommen sich die Mädels näher.

  8. „Folge 8“ ansehen. Folge 8 der 2. Staffel.

    Ihre übliche Konfliktlösungsstrategie scheint Otis und Jean dieses Mal nicht voranzubringen. Maeve absolviert die Abschlussprüfungen. Shakespeare kann durchaus sexy sein.

  1. „Folge 1“ ansehen. Folge 1 der 3. Staffel.

    An der Moordale treibt es die Schülerschaft wieder zum Höhepunkt. Otis hat einen Schnurrbart – und ein Geheimnis. Jean macht reinen Tisch, und die neue Rektorin ist da.

  2. „Folge 2“ ansehen. Folge 2 der 3. Staffel.

    Ruby verleiht Otis einen neuen Look – und Hope der Schule. Eric und Adam gehen zur Sache, aber sind sich nicht ganz sicher, wie.

  3. „Folge 3“ ansehen. Folge 3 der 3. Staffel.

    In der Schule werden Uniformen eingeführt. Aimee spricht offen über den Übergriff, und Jackson freundet sich mit dem nicht-binären Neuzugang an.

  4. „Folge 4“ ansehen. Folge 4 der 3. Staffel.

    Können sich aus Sex Gefühle entwickeln – und umgekehrt? Ruby schreckt vor Otis zurück. Maeve baut eine Verbindung zu Isaac auf. Abstinenz ist nicht jedermanns Sache.

  5. „Folge 5“ ansehen. Folge 5 der 3. Staffel.

    In Frankreich treffen die Vergangenheit und die peinliche Gegenwart aufeinander, als einem Schüler ein Missgeschick passiert. Die Funken fliegen, und Jean explodiert.

  6. „Folge 6“ ansehen. Folge 6 der 3. Staffel.

    Die Wahrheit ist irgendwo dort draußen. Maeve erhält Neuigkeiten. Aimee tischt ihre Vulva-Cupcakes auf. Eric gewöhnt sich an Nigeria. Hope schlägt über die Stränge.

  7. „Folge 7“ ansehen. Folge 7 der 3. Staffel.

    Es gibt nichts Heißeres als die eigenen vier Wände. Jean stößt auf Chaos und eine kalte Schulter. Eine Mutter ist auf der Flucht. Die „Sex-Schule“ ist endlich offiziell.

  8. „Folge 8“ ansehen. Folge 8 der 3. Staffel.

    Moordales Schicksal hängt in der Schwebe. Aimee lässt die Katze aus dem Sack. Eric gesteht. Otis begibt sich in die Klinik. Ehrlichkeit ist jetzt wichtiger denn je.

  1. „Folge 1“ ansehen. Folge 1 der 4. Staffel.

    Maeve gerät mit einem schwierigen Professor aneinander. Wird ihre Verbindung zu Otis über den Ozean hinweg gedeihen oder scheitern? Ein Nacktfoto sorgt für eine haarige Situation.

  2. „Folge 2“ ansehen. Folge 2 der 4. Staffel.

    Otis sieht die Beziehungsprobleme eines beliebten Paares als Chance. Eric findet seinesgleichen. Überraschungen im Bett lassen Jackson an seiner Sexualität zweifeln.

  3. „Folge 3“ ansehen. Folge 3 der 4. Staffel.

    Eine knallharte Rezension lässt Maeve an ihrem Entschluss zweifeln. Adam und Michael genießen das Leben als Junggesellen. Ruby hilft Otis dabei, Stimmen für seine Wahl zu sammeln.

  4. „Folge 4“ ansehen. Folge 4 der 4. Staffel.

    Ein bekanntes Gesicht kehrt aufgrund einer Tragödie zurück nach Moordale. Jeans Rettung ist Otis‘ schlimmster Albtraum. Ruby stellt Nachforschungen an. Aisha will ein Date mit Cal.

  5. „Folge 5“ ansehen. Folge 5 der 4. Staffel.

    Jean kann der Mutterrolle nur wenig Freude abgewinnen. Hitzige Debatten und ein heißes Date mit der trauernden Maeve fordern Otis heraus. Jackson hat eine Identitätskrise.

  6. „Folge 6“ ansehen. Folge 6 der 4. Staffel.

    Abschiede sind nie einfach, aber dieser hier ist ein Chaos. Trotz brodelnder Gefühle kann Maeve die richtigen Worte finden. Aimee fühlt sich inspiriert und Eric redet Tacheles.

  7. „Folge 7“ ansehen. Folge 7 der 4. Staffel.

    Ein funktionsloser Fahrstuhl führt zu einer Protestaktion. Ein jahrelanger Konflikt zwischen Schwestern erreicht seinen Siedepunkt. Maeve trifft eine Entscheidung.

  8. „Folge 8“ ansehen. Folge 8 der 4. Staffel.

    Ganz Cavendish kommt zusammen, um nach Cal zu suchen. Während Eric seine Berufung findet, entdeckt Jackson seine Wurzeln. Liebe und Wahrheit nehmen verschiedene Formen an.

Weitere Details

Offline ansehen
Unterwegs? Mit der Download-Funktion ist Netflix überall mit dabei.
Diese Serie ist …
Gewagt,Bittersüß,Herzergreifend
Über „Sex Education“
Auf Tudum.com können Sie hinter die Kulissen blicken und mehr erfahren.
Besetzung
Asa ButterfieldGillian AndersonNcuti GatwaEmma MackeyAimee Lou WoodConnor SwindellsKedar Williams-StirlingMimi KeeneAlistair PetrieChaneil KularTanya ReynoldsPatricia AllisonMikael PersbrandtRakhee ThakrarJemima KirkeAnne-Marie DuffDaniel Levy

Ähnliche Titel

Demnächst verfügbar