FossilRepo

fossilrepo / assets / admin / js / vendor / xregexp / xregexp.js
Source Blame History 6126 lines
afe42d0… ragelink 1 (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.XRegExp = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
afe42d0… ragelink 2 "use strict";
afe42d0… ragelink 3
afe42d0… ragelink 4 var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
afe42d0… ragelink 5
afe42d0… ragelink 6 var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
afe42d0… ragelink 7
afe42d0… ragelink 8 var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
afe42d0… ragelink 9
afe42d0… ragelink 10 var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
afe42d0… ragelink 11
afe42d0… ragelink 12 var _Array$isArray = require("@babel/runtime-corejs3/core-js-stable/array/is-array");
afe42d0… ragelink 13
afe42d0… ragelink 14 var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
afe42d0… ragelink 15
afe42d0… ragelink 16 var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
afe42d0… ragelink 17
afe42d0… ragelink 18 _Object$defineProperty(exports, "__esModule", {
afe42d0… ragelink 19 value: true
afe42d0… ragelink 20 });
afe42d0… ragelink 21
afe42d0… ragelink 22 exports["default"] = void 0;
afe42d0… ragelink 23
afe42d0… ragelink 24 var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
afe42d0… ragelink 25
afe42d0… ragelink 26 var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
afe42d0… ragelink 27
afe42d0… ragelink 28 var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
afe42d0… ragelink 29
afe42d0… ragelink 30 var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
afe42d0… ragelink 31
afe42d0… ragelink 32 function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
afe42d0… ragelink 33
afe42d0… ragelink 34 function _unsupportedIterableToArray(o, minLen) { var _context4; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context4 = Object.prototype.toString.call(o)).call(_context4, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
afe42d0… ragelink 35
afe42d0… ragelink 36 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
afe42d0… ragelink 37
afe42d0… ragelink 38 /*!
afe42d0… ragelink 39 * XRegExp Unicode Base 5.1.1
afe42d0… ragelink 40 * <xregexp.com>
afe42d0… ragelink 41 * Steven Levithan (c) 2008-present MIT License
afe42d0… ragelink 42 */
afe42d0… ragelink 43 var _default = function _default(XRegExp) {
afe42d0… ragelink 44 /**
afe42d0… ragelink 45 * Adds base support for Unicode matching:
afe42d0… ragelink 46 * - Adds syntax `\p{..}` for matching Unicode tokens. Tokens can be inverted using `\P{..}` or
afe42d0… ragelink 47 * `\p{^..}`. Token names ignore case, spaces, hyphens, and underscores. You can omit the
afe42d0… ragelink 48 * braces for token names that are a single letter (e.g. `\pL` or `PL`).
afe42d0… ragelink 49 * - Adds flag A (astral), which enables 21-bit Unicode support.
afe42d0… ragelink 50 * - Adds the `XRegExp.addUnicodeData` method used by other addons to provide character data.
afe42d0… ragelink 51 *
afe42d0… ragelink 52 * Unicode Base relies on externally provided Unicode character data. Official addons are
afe42d0… ragelink 53 * available to provide data for Unicode categories, scripts, and properties.
afe42d0… ragelink 54 *
afe42d0… ragelink 55 * @requires XRegExp
afe42d0… ragelink 56 */
afe42d0… ragelink 57 // ==--------------------------==
afe42d0… ragelink 58 // Private stuff
afe42d0… ragelink 59 // ==--------------------------==
afe42d0… ragelink 60 // Storage for Unicode data
afe42d0… ragelink 61 var unicode = {};
afe42d0… ragelink 62 var unicodeTypes = {}; // Reuse utils
afe42d0… ragelink 63
afe42d0… ragelink 64 var dec = XRegExp._dec;
afe42d0… ragelink 65 var hex = XRegExp._hex;
afe42d0… ragelink 66 var pad4 = XRegExp._pad4; // Generates a token lookup name: lowercase, with hyphens, spaces, and underscores removed
afe42d0… ragelink 67
afe42d0… ragelink 68 function normalize(name) {
afe42d0… ragelink 69 return name.replace(/[- _]+/g, '').toLowerCase();
afe42d0… ragelink 70 } // Gets the decimal code of a literal code unit, \xHH, \uHHHH, or a backslash-escaped literal
afe42d0… ragelink 71
afe42d0… ragelink 72
afe42d0… ragelink 73 function charCode(chr) {
afe42d0… ragelink 74 var esc = /^\\[xu](.+)/.exec(chr);
afe42d0… ragelink 75 return esc ? dec(esc[1]) : chr.charCodeAt(chr[0] === '\\' ? 1 : 0);
afe42d0… ragelink 76 } // Inverts a list of ordered BMP characters and ranges
afe42d0… ragelink 77
afe42d0… ragelink 78
afe42d0… ragelink 79 function invertBmp(range) {
afe42d0… ragelink 80 var output = '';
afe42d0… ragelink 81 var lastEnd = -1;
afe42d0… ragelink 82 (0, _forEach["default"])(XRegExp).call(XRegExp, range, /(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/, function (m) {
afe42d0… ragelink 83 var start = charCode(m[1]);
afe42d0… ragelink 84
afe42d0… ragelink 85 if (start > lastEnd + 1) {
afe42d0… ragelink 86 output += "\\u".concat(pad4(hex(lastEnd + 1)));
afe42d0… ragelink 87
afe42d0… ragelink 88 if (start > lastEnd + 2) {
afe42d0… ragelink 89 output += "-\\u".concat(pad4(hex(start - 1)));
afe42d0… ragelink 90 }
afe42d0… ragelink 91 }
afe42d0… ragelink 92
afe42d0… ragelink 93 lastEnd = charCode(m[2] || m[1]);
afe42d0… ragelink 94 });
afe42d0… ragelink 95
afe42d0… ragelink 96 if (lastEnd < 0xFFFF) {
afe42d0… ragelink 97 output += "\\u".concat(pad4(hex(lastEnd + 1)));
afe42d0… ragelink 98
afe42d0… ragelink 99 if (lastEnd < 0xFFFE) {
afe42d0… ragelink 100 output += '-\\uFFFF';
afe42d0… ragelink 101 }
afe42d0… ragelink 102 }
afe42d0… ragelink 103
afe42d0… ragelink 104 return output;
afe42d0… ragelink 105 } // Generates an inverted BMP range on first use
afe42d0… ragelink 106
afe42d0… ragelink 107
afe42d0… ragelink 108 function cacheInvertedBmp(slug) {
afe42d0… ragelink 109 var prop = 'b!';
afe42d0… ragelink 110 return unicode[slug][prop] || (unicode[slug][prop] = invertBmp(unicode[slug].bmp));
afe42d0… ragelink 111 } // Combines and optionally negates BMP and astral data
afe42d0… ragelink 112
afe42d0… ragelink 113
afe42d0… ragelink 114 function buildAstral(slug, isNegated) {
afe42d0… ragelink 115 var item = unicode[slug];
afe42d0… ragelink 116 var combined = '';
afe42d0… ragelink 117
afe42d0… ragelink 118 if (item.bmp && !item.isBmpLast) {
afe42d0… ragelink 119 var _context;
afe42d0… ragelink 120
afe42d0… ragelink 121 combined = (0, _concat["default"])(_context = "[".concat(item.bmp, "]")).call(_context, item.astral ? '|' : '');
afe42d0… ragelink 122 }
afe42d0… ragelink 123
afe42d0… ragelink 124 if (item.astral) {
afe42d0… ragelink 125 combined += item.astral;
afe42d0… ragelink 126 }
afe42d0… ragelink 127
afe42d0… ragelink 128 if (item.isBmpLast && item.bmp) {
afe42d0… ragelink 129 var _context2;
afe42d0… ragelink 130
afe42d0… ragelink 131 combined += (0, _concat["default"])(_context2 = "".concat(item.astral ? '|' : '', "[")).call(_context2, item.bmp, "]");
afe42d0… ragelink 132 } // Astral Unicode tokens always match a code point, never a code unit
afe42d0… ragelink 133
afe42d0… ragelink 134
afe42d0… ragelink 135 return isNegated ? "(?:(?!".concat(combined, ")(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[\0-\uFFFF]))") : "(?:".concat(combined, ")");
afe42d0… ragelink 136 } // Builds a complete astral pattern on first use
afe42d0… ragelink 137
afe42d0… ragelink 138
afe42d0… ragelink 139 function cacheAstral(slug, isNegated) {
afe42d0… ragelink 140 var prop = isNegated ? 'a!' : 'a=';
afe42d0… ragelink 141 return unicode[slug][prop] || (unicode[slug][prop] = buildAstral(slug, isNegated));
afe42d0… ragelink 142 } // ==--------------------------==
afe42d0… ragelink 143 // Core functionality
afe42d0… ragelink 144 // ==--------------------------==
afe42d0… ragelink 145
afe42d0… ragelink 146 /*
afe42d0… ragelink 147 * Add astral mode (flag A) and Unicode token syntax: `\p{..}`, `\P{..}`, `\p{^..}`, `\pC`.
afe42d0… ragelink 148 */
afe42d0… ragelink 149
afe42d0… ragelink 150
afe42d0… ragelink 151 XRegExp.addToken( // Use `*` instead of `+` to avoid capturing `^` as the token name in `\p{^}`
afe42d0… ragelink 152 /\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/, function (match, scope, flags) {
afe42d0… ragelink 153 var ERR_DOUBLE_NEG = 'Invalid double negation ';
afe42d0… ragelink 154 var ERR_UNKNOWN_NAME = 'Unknown Unicode token ';
afe42d0… ragelink 155 var ERR_UNKNOWN_REF = 'Unicode token missing data ';
afe42d0… ragelink 156 var ERR_ASTRAL_ONLY = 'Astral mode required for Unicode token ';
afe42d0… ragelink 157 var ERR_ASTRAL_IN_CLASS = 'Astral mode does not support Unicode tokens within character classes';
afe42d0… ragelink 158
afe42d0… ragelink 159 var _match = (0, _slicedToArray2["default"])(match, 6),
afe42d0… ragelink 160 fullToken = _match[0],
afe42d0… ragelink 161 pPrefix = _match[1],
afe42d0… ragelink 162 caretNegation = _match[2],
afe42d0… ragelink 163 typePrefix = _match[3],
afe42d0… ragelink 164 tokenName = _match[4],
afe42d0… ragelink 165 tokenSingleCharName = _match[5]; // Negated via \P{..} or \p{^..}
afe42d0… ragelink 166
afe42d0… ragelink 167
afe42d0… ragelink 168 var isNegated = pPrefix === 'P' || !!caretNegation; // Switch from BMP (0-FFFF) to astral (0-10FFFF) mode via flag A
afe42d0… ragelink 169
afe42d0… ragelink 170 var isAstralMode = (0, _indexOf["default"])(flags).call(flags, 'A') !== -1; // Token lookup name. Check `tokenSingleCharName` first to avoid passing `undefined`
afe42d0… ragelink 171 // via `\p{}`
afe42d0… ragelink 172
afe42d0… ragelink 173 var slug = normalize(tokenSingleCharName || tokenName); // Token data object
afe42d0… ragelink 174
afe42d0… ragelink 175 var item = unicode[slug];
afe42d0… ragelink 176
afe42d0… ragelink 177 if (pPrefix === 'P' && caretNegation) {
afe42d0… ragelink 178 throw new SyntaxError(ERR_DOUBLE_NEG + fullToken);
afe42d0… ragelink 179 }
afe42d0… ragelink 180
afe42d0… ragelink 181 if (!unicode.hasOwnProperty(slug)) {
afe42d0… ragelink 182 throw new SyntaxError(ERR_UNKNOWN_NAME + fullToken);
afe42d0… ragelink 183 }
afe42d0… ragelink 184
afe42d0… ragelink 185 if (typePrefix) {
afe42d0… ragelink 186 if (!(unicodeTypes[typePrefix] && unicodeTypes[typePrefix][slug])) {
afe42d0… ragelink 187 throw new SyntaxError(ERR_UNKNOWN_NAME + fullToken);
afe42d0… ragelink 188 }
afe42d0… ragelink 189 } // Switch to the negated form of the referenced Unicode token
afe42d0… ragelink 190
afe42d0… ragelink 191
afe42d0… ragelink 192 if (item.inverseOf) {
afe42d0… ragelink 193 slug = normalize(item.inverseOf);
afe42d0… ragelink 194
afe42d0… ragelink 195 if (!unicode.hasOwnProperty(slug)) {
afe42d0… ragelink 196 var _context3;
afe42d0… ragelink 197
afe42d0… ragelink 198 throw new ReferenceError((0, _concat["default"])(_context3 = "".concat(ERR_UNKNOWN_REF + fullToken, " -> ")).call(_context3, item.inverseOf));
afe42d0… ragelink 199 }
afe42d0… ragelink 200
afe42d0… ragelink 201 item = unicode[slug];
afe42d0… ragelink 202 isNegated = !isNegated;
afe42d0… ragelink 203 }
afe42d0… ragelink 204
afe42d0… ragelink 205 if (!(item.bmp || isAstralMode)) {
afe42d0… ragelink 206 throw new SyntaxError(ERR_ASTRAL_ONLY + fullToken);
afe42d0… ragelink 207 }
afe42d0… ragelink 208
afe42d0… ragelink 209 if (isAstralMode) {
afe42d0… ragelink 210 if (scope === 'class') {
afe42d0… ragelink 211 throw new SyntaxError(ERR_ASTRAL_IN_CLASS);
afe42d0… ragelink 212 }
afe42d0… ragelink 213
afe42d0… ragelink 214 return cacheAstral(slug, isNegated);
afe42d0… ragelink 215 }
afe42d0… ragelink 216
afe42d0… ragelink 217 return scope === 'class' ? isNegated ? cacheInvertedBmp(slug) : item.bmp : "".concat((isNegated ? '[^' : '[') + item.bmp, "]");
afe42d0… ragelink 218 }, {
afe42d0… ragelink 219 scope: 'all',
afe42d0… ragelink 220 optionalFlags: 'A',
afe42d0… ragelink 221 leadChar: '\\'
afe42d0… ragelink 222 });
afe42d0… ragelink 223 /**
afe42d0… ragelink 224 * Adds to the list of Unicode tokens that XRegExp regexes can match via `\p` or `\P`.
afe42d0… ragelink 225 *
afe42d0… ragelink 226 * @memberOf XRegExp
afe42d0… ragelink 227 * @param {Array} data Objects with named character ranges. Each object may have properties
afe42d0… ragelink 228 * `name`, `alias`, `isBmpLast`, `inverseOf`, `bmp`, and `astral`. All but `name` are
afe42d0… ragelink 229 * optional, although one of `bmp` or `astral` is required (unless `inverseOf` is set). If
afe42d0… ragelink 230 * `astral` is absent, the `bmp` data is used for BMP and astral modes. If `bmp` is absent,
afe42d0… ragelink 231 * the name errors in BMP mode but works in astral mode. If both `bmp` and `astral` are
afe42d0… ragelink 232 * provided, the `bmp` data only is used in BMP mode, and the combination of `bmp` and
afe42d0… ragelink 233 * `astral` data is used in astral mode. `isBmpLast` is needed when a token matches orphan
afe42d0… ragelink 234 * high surrogates *and* uses surrogate pairs to match astral code points. The `bmp` and
afe42d0… ragelink 235 * `astral` data should be a combination of literal characters and `\xHH` or `\uHHHH` escape
afe42d0… ragelink 236 * sequences, with hyphens to create ranges. Any regex metacharacters in the data should be
afe42d0… ragelink 237 * escaped, apart from range-creating hyphens. The `astral` data can additionally use
afe42d0… ragelink 238 * character classes and alternation, and should use surrogate pairs to represent astral code
afe42d0… ragelink 239 * points. `inverseOf` can be used to avoid duplicating character data if a Unicode token is
afe42d0… ragelink 240 * defined as the exact inverse of another token.
afe42d0… ragelink 241 * @param {String} [typePrefix] Enables optionally using this type as a prefix for all of the
afe42d0… ragelink 242 * provided Unicode tokens, e.g. if given `'Type'`, then `\p{TokenName}` can also be written
afe42d0… ragelink 243 * as `\p{Type=TokenName}`.
afe42d0… ragelink 244 * @example
afe42d0… ragelink 245 *
afe42d0… ragelink 246 * // Basic use
afe42d0… ragelink 247 * XRegExp.addUnicodeData([{
afe42d0… ragelink 248 * name: 'XDigit',
afe42d0… ragelink 249 * alias: 'Hexadecimal',
afe42d0… ragelink 250 * bmp: '0-9A-Fa-f'
afe42d0… ragelink 251 * }]);
afe42d0… ragelink 252 * XRegExp('\\p{XDigit}:\\p{Hexadecimal}+').test('0:3D'); // -> true
afe42d0… ragelink 253 */
afe42d0… ragelink 254
afe42d0… ragelink 255 XRegExp.addUnicodeData = function (data, typePrefix) {
afe42d0… ragelink 256 var ERR_NO_NAME = 'Unicode token requires name';
afe42d0… ragelink 257 var ERR_NO_DATA = 'Unicode token has no character data ';
afe42d0… ragelink 258
afe42d0… ragelink 259 if (typePrefix) {
afe42d0… ragelink 260 // Case sensitive to match ES2018
afe42d0… ragelink 261 unicodeTypes[typePrefix] = {};
afe42d0… ragelink 262 }
afe42d0… ragelink 263
afe42d0… ragelink 264 var _iterator = _createForOfIteratorHelper(data),
afe42d0… ragelink 265 _step;
afe42d0… ragelink 266
afe42d0… ragelink 267 try {
afe42d0… ragelink 268 for (_iterator.s(); !(_step = _iterator.n()).done;) {
afe42d0… ragelink 269 var item = _step.value;
afe42d0… ragelink 270
afe42d0… ragelink 271 if (!item.name) {
afe42d0… ragelink 272 throw new Error(ERR_NO_NAME);
afe42d0… ragelink 273 }
afe42d0… ragelink 274
afe42d0… ragelink 275 if (!(item.inverseOf || item.bmp || item.astral)) {
afe42d0… ragelink 276 throw new Error(ERR_NO_DATA + item.name);
afe42d0… ragelink 277 }
afe42d0… ragelink 278
afe42d0… ragelink 279 var normalizedName = normalize(item.name);
afe42d0… ragelink 280 unicode[normalizedName] = item;
afe42d0… ragelink 281
afe42d0… ragelink 282 if (typePrefix) {
afe42d0… ragelink 283 unicodeTypes[typePrefix][normalizedName] = true;
afe42d0… ragelink 284 }
afe42d0… ragelink 285
afe42d0… ragelink 286 if (item.alias) {
afe42d0… ragelink 287 var normalizedAlias = normalize(item.alias);
afe42d0… ragelink 288 unicode[normalizedAlias] = item;
afe42d0… ragelink 289
afe42d0… ragelink 290 if (typePrefix) {
afe42d0… ragelink 291 unicodeTypes[typePrefix][normalizedAlias] = true;
afe42d0… ragelink 292 }
afe42d0… ragelink 293 }
afe42d0… ragelink 294 } // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and
afe42d0… ragelink 295 // flags might now produce different results
afe42d0… ragelink 296
afe42d0… ragelink 297 } catch (err) {
afe42d0… ragelink 298 _iterator.e(err);
afe42d0… ragelink 299 } finally {
afe42d0… ragelink 300 _iterator.f();
afe42d0… ragelink 301 }
afe42d0… ragelink 302
afe42d0… ragelink 303 XRegExp.cache.flush('patterns');
afe42d0… ragelink 304 };
afe42d0… ragelink 305 /**
afe42d0… ragelink 306 * @ignore
afe42d0… ragelink 307 *
afe42d0… ragelink 308 * Return a reference to the internal Unicode definition structure for the given Unicode
afe42d0… ragelink 309 * Property if the given name is a legal Unicode Property for use in XRegExp `\p` or `\P` regex
afe42d0… ragelink 310 * constructs.
afe42d0… ragelink 311 *
afe42d0… ragelink 312 * @memberOf XRegExp
afe42d0… ragelink 313 * @param {String} name Name by which the Unicode Property may be recognized (case-insensitive),
afe42d0… ragelink 314 * e.g. `'N'` or `'Number'`. The given name is matched against all registered Unicode
afe42d0… ragelink 315 * Properties and Property Aliases.
afe42d0… ragelink 316 * @returns {Object} Reference to definition structure when the name matches a Unicode Property.
afe42d0… ragelink 317 *
afe42d0… ragelink 318 * @note
afe42d0… ragelink 319 * For more info on Unicode Properties, see also http://unicode.org/reports/tr18/#Categories.
afe42d0… ragelink 320 *
afe42d0… ragelink 321 * @note
afe42d0… ragelink 322 * This method is *not* part of the officially documented API and may change or be removed in
afe42d0… ragelink 323 * the future. It is meant for userland code that wishes to reuse the (large) internal Unicode
afe42d0… ragelink 324 * structures set up by XRegExp.
afe42d0… ragelink 325 */
afe42d0… ragelink 326
afe42d0… ragelink 327
afe42d0… ragelink 328 XRegExp._getUnicodeProperty = function (name) {
afe42d0… ragelink 329 var slug = normalize(name);
afe42d0… ragelink 330 return unicode[slug];
afe42d0… ragelink 331 };
afe42d0… ragelink 332 };
afe42d0… ragelink 333
afe42d0… ragelink 334 exports["default"] = _default;
afe42d0… ragelink 335 module.exports = exports.default;
afe42d0… ragelink 336 },{"@babel/runtime-corejs3/core-js-stable/array/from":5,"@babel/runtime-corejs3/core-js-stable/array/is-array":6,"@babel/runtime-corejs3/core-js-stable/instance/concat":7,"@babel/runtime-corejs3/core-js-stable/instance/for-each":9,"@babel/runtime-corejs3/core-js-stable/instance/index-of":10,"@babel/runtime-corejs3/core-js-stable/instance/slice":11,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/core-js-stable/symbol":16,"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/helpers/interopRequireDefault":24,"@babel/runtime-corejs3/helpers/slicedToArray":27}],2:[function(require,module,exports){
afe42d0… ragelink 337 "use strict";
afe42d0… ragelink 338
afe42d0… ragelink 339 var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
afe42d0… ragelink 340
afe42d0… ragelink 341 var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
afe42d0… ragelink 342
afe42d0… ragelink 343 _Object$defineProperty(exports, "__esModule", {
afe42d0… ragelink 344 value: true
afe42d0… ragelink 345 });
afe42d0… ragelink 346
afe42d0… ragelink 347 exports["default"] = void 0;
afe42d0… ragelink 348
afe42d0… ragelink 349 var _categories = _interopRequireDefault(require("../../tools/output/categories"));
afe42d0… ragelink 350
afe42d0… ragelink 351 /*!
afe42d0… ragelink 352 * XRegExp Unicode Categories 5.1.1
afe42d0… ragelink 353 * <xregexp.com>
afe42d0… ragelink 354 * Steven Levithan (c) 2010-present MIT License
afe42d0… ragelink 355 * Unicode data by Mathias Bynens <mathiasbynens.be>
afe42d0… ragelink 356 */
afe42d0… ragelink 357 var _default = function _default(XRegExp) {
afe42d0… ragelink 358 /**
afe42d0… ragelink 359 * Adds support for Unicode's general categories. E.g., `\p{Lu}` or `\p{Uppercase Letter}`. See
afe42d0… ragelink 360 * category descriptions in UAX #44 <http://unicode.org/reports/tr44/#GC_Values_Table>. Token
afe42d0… ragelink 361 * names are case insensitive, and any spaces, hyphens, and underscores are ignored.
afe42d0… ragelink 362 *
afe42d0… ragelink 363 * Uses Unicode 14.0.0.
afe42d0… ragelink 364 *
afe42d0… ragelink 365 * @requires XRegExp, Unicode Base
afe42d0… ragelink 366 */
afe42d0… ragelink 367 if (!XRegExp.addUnicodeData) {
afe42d0… ragelink 368 throw new ReferenceError('Unicode Base must be loaded before Unicode Categories');
afe42d0… ragelink 369 }
afe42d0… ragelink 370
afe42d0… ragelink 371 XRegExp.addUnicodeData(_categories["default"]);
afe42d0… ragelink 372 };
afe42d0… ragelink 373
afe42d0… ragelink 374 exports["default"] = _default;
afe42d0… ragelink 375 module.exports = exports.default;
afe42d0… ragelink 376 },{"../../tools/output/categories":222,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/helpers/interopRequireDefault":24}],3:[function(require,module,exports){
afe42d0… ragelink 377 "use strict";
afe42d0… ragelink 378
afe42d0… ragelink 379 var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
afe42d0… ragelink 380
afe42d0… ragelink 381 var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
afe42d0… ragelink 382
afe42d0… ragelink 383 _Object$defineProperty(exports, "__esModule", {
afe42d0… ragelink 384 value: true
afe42d0… ragelink 385 });
afe42d0… ragelink 386
afe42d0… ragelink 387 exports["default"] = void 0;
afe42d0… ragelink 388
afe42d0… ragelink 389 var _xregexp = _interopRequireDefault(require("./xregexp"));
afe42d0… ragelink 390
afe42d0… ragelink 391 var _unicodeBase = _interopRequireDefault(require("./addons/unicode-base"));
afe42d0… ragelink 392
afe42d0… ragelink 393 var _unicodeCategories = _interopRequireDefault(require("./addons/unicode-categories"));
afe42d0… ragelink 394
afe42d0… ragelink 395 (0, _unicodeBase["default"])(_xregexp["default"]);
afe42d0… ragelink 396 (0, _unicodeCategories["default"])(_xregexp["default"]);
afe42d0… ragelink 397 var _default = _xregexp["default"];
afe42d0… ragelink 398 exports["default"] = _default;
afe42d0… ragelink 399 module.exports = exports.default;
afe42d0… ragelink 400 },{"./addons/unicode-base":1,"./addons/unicode-categories":2,"./xregexp":4,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/helpers/interopRequireDefault":24}],4:[function(require,module,exports){
afe42d0… ragelink 401 "use strict";
afe42d0… ragelink 402
afe42d0… ragelink 403 var _sliceInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
afe42d0… ragelink 404
afe42d0… ragelink 405 var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
afe42d0… ragelink 406
afe42d0… ragelink 407 var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
afe42d0… ragelink 408
afe42d0… ragelink 409 var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
afe42d0… ragelink 410
afe42d0… ragelink 411 var _Array$isArray = require("@babel/runtime-corejs3/core-js-stable/array/is-array");
afe42d0… ragelink 412
afe42d0… ragelink 413 var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
afe42d0… ragelink 414
afe42d0… ragelink 415 var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
afe42d0… ragelink 416
afe42d0… ragelink 417 _Object$defineProperty(exports, "__esModule", {
afe42d0… ragelink 418 value: true
afe42d0… ragelink 419 });
afe42d0… ragelink 420
afe42d0… ragelink 421 exports["default"] = void 0;
afe42d0… ragelink 422
afe42d0… ragelink 423 var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
afe42d0… ragelink 424
afe42d0… ragelink 425 var _flags = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/flags"));
afe42d0… ragelink 426
afe42d0… ragelink 427 var _sort = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/sort"));
afe42d0… ragelink 428
afe42d0… ragelink 429 var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
afe42d0… ragelink 430
afe42d0… ragelink 431 var _parseInt2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/parse-int"));
afe42d0… ragelink 432
afe42d0… ragelink 433 var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
afe42d0… ragelink 434
afe42d0… ragelink 435 var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
afe42d0… ragelink 436
afe42d0… ragelink 437 var _create = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/create"));
afe42d0… ragelink 438
afe42d0… ragelink 439 var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
afe42d0… ragelink 440
afe42d0… ragelink 441 function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
afe42d0… ragelink 442
afe42d0… ragelink 443 function _unsupportedIterableToArray(o, minLen) { var _context9; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty2(_context9 = Object.prototype.toString.call(o)).call(_context9, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
afe42d0… ragelink 444
afe42d0… ragelink 445 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
afe42d0… ragelink 446
afe42d0… ragelink 447 /*!
afe42d0… ragelink 448 * XRegExp 5.1.1
afe42d0… ragelink 449 * <xregexp.com>
afe42d0… ragelink 450 * Steven Levithan (c) 2007-present MIT License
afe42d0… ragelink 451 */
afe42d0… ragelink 452
afe42d0… ragelink 453 /**
afe42d0… ragelink 454 * XRegExp provides augmented, extensible regular expressions. You get additional regex syntax and
afe42d0… ragelink 455 * flags, beyond what browsers support natively. XRegExp is also a regex utility belt with tools to
afe42d0… ragelink 456 * make your client-side grepping simpler and more powerful, while freeing you from related
afe42d0… ragelink 457 * cross-browser inconsistencies.
afe42d0… ragelink 458 */
afe42d0… ragelink 459 // ==--------------------------==
afe42d0… ragelink 460 // Private stuff
afe42d0… ragelink 461 // ==--------------------------==
afe42d0… ragelink 462 // Property name used for extended regex instance data
afe42d0… ragelink 463 var REGEX_DATA = 'xregexp'; // Optional features that can be installed and uninstalled
afe42d0… ragelink 464
afe42d0… ragelink 465 var features = {
afe42d0… ragelink 466 astral: false,
afe42d0… ragelink 467 namespacing: true
afe42d0… ragelink 468 }; // Storage for fixed/extended native methods
afe42d0… ragelink 469
afe42d0… ragelink 470 var fixed = {}; // Storage for regexes cached by `XRegExp.cache`
afe42d0… ragelink 471
afe42d0… ragelink 472 var regexCache = {}; // Storage for pattern details cached by the `XRegExp` constructor
afe42d0… ragelink 473
afe42d0… ragelink 474 var patternCache = {}; // Storage for regex syntax tokens added internally or by `XRegExp.addToken`
afe42d0… ragelink 475
afe42d0… ragelink 476 var tokens = []; // Token scopes
afe42d0… ragelink 477
afe42d0… ragelink 478 var defaultScope = 'default';
afe42d0… ragelink 479 var classScope = 'class'; // Regexes that match native regex syntax, including octals
afe42d0… ragelink 480
afe42d0… ragelink 481 var nativeTokens = {
afe42d0… ragelink 482 // Any native multicharacter token in default scope, or any single character
afe42d0… ragelink 483 'default': /\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,
afe42d0… ragelink 484 // Any native multicharacter token in character class scope, or any single character
afe42d0… ragelink 485 'class': /\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/
afe42d0… ragelink 486 }; // Any backreference or dollar-prefixed character in replacement strings
afe42d0… ragelink 487
afe42d0… ragelink 488 var replacementToken = /\$(?:\{([^\}]+)\}|<([^>]+)>|(\d\d?|[\s\S]?))/g; // Check for correct `exec` handling of nonparticipating capturing groups
afe42d0… ragelink 489
afe42d0… ragelink 490 var correctExecNpcg = /()??/.exec('')[1] === undefined; // Check for ES6 `flags` prop support
afe42d0… ragelink 491
afe42d0… ragelink 492 var hasFlagsProp = (0, _flags["default"])(/x/) !== undefined;
afe42d0… ragelink 493
afe42d0… ragelink 494 function hasNativeFlag(flag) {
afe42d0… ragelink 495 // Can't check based on the presence of properties/getters since browsers might support such
afe42d0… ragelink 496 // properties even when they don't support the corresponding flag in regex construction (tested
afe42d0… ragelink 497 // in Chrome 48, where `'unicode' in /x/` is true but trying to construct a regex with flag `u`
afe42d0… ragelink 498 // throws an error)
afe42d0… ragelink 499 var isSupported = true;
afe42d0… ragelink 500
afe42d0… ragelink 501 try {
afe42d0… ragelink 502 // Can't use regex literals for testing even in a `try` because regex literals with
afe42d0… ragelink 503 // unsupported flags cause a compilation error in IE
afe42d0… ragelink 504 new RegExp('', flag); // Work around a broken/incomplete IE11 polyfill for sticky introduced in core-js 3.6.0
afe42d0… ragelink 505
afe42d0… ragelink 506 if (flag === 'y') {
afe42d0… ragelink 507 // Using function to avoid babel transform to regex literal
afe42d0… ragelink 508 var gy = function () {
afe42d0… ragelink 509 return 'gy';
afe42d0… ragelink 510 }();
afe42d0… ragelink 511
afe42d0… ragelink 512 var incompleteY = '.a'.replace(new RegExp('a', gy), '.') === '..';
afe42d0… ragelink 513
afe42d0… ragelink 514 if (incompleteY) {
afe42d0… ragelink 515 isSupported = false;
afe42d0… ragelink 516 }
afe42d0… ragelink 517 }
afe42d0… ragelink 518 } catch (exception) {
afe42d0… ragelink 519 isSupported = false;
afe42d0… ragelink 520 }
afe42d0… ragelink 521
afe42d0… ragelink 522 return isSupported;
afe42d0… ragelink 523 } // Check for ES2021 `d` flag support
afe42d0… ragelink 524
afe42d0… ragelink 525
afe42d0… ragelink 526 var hasNativeD = hasNativeFlag('d'); // Check for ES2018 `s` flag support
afe42d0… ragelink 527
afe42d0… ragelink 528 var hasNativeS = hasNativeFlag('s'); // Check for ES6 `u` flag support
afe42d0… ragelink 529
afe42d0… ragelink 530 var hasNativeU = hasNativeFlag('u'); // Check for ES6 `y` flag support
afe42d0… ragelink 531
afe42d0… ragelink 532 var hasNativeY = hasNativeFlag('y'); // Tracker for known flags, including addon flags
afe42d0… ragelink 533
afe42d0… ragelink 534 var registeredFlags = {
afe42d0… ragelink 535 d: hasNativeD,
afe42d0… ragelink 536 g: true,
afe42d0… ragelink 537 i: true,
afe42d0… ragelink 538 m: true,
afe42d0… ragelink 539 s: hasNativeS,
afe42d0… ragelink 540 u: hasNativeU,
afe42d0… ragelink 541 y: hasNativeY
afe42d0… ragelink 542 }; // Flags to remove when passing to native `RegExp` constructor
afe42d0… ragelink 543
afe42d0… ragelink 544 var nonnativeFlags = hasNativeS ? /[^dgimsuy]+/g : /[^dgimuy]+/g;
afe42d0… ragelink 545 /**
afe42d0… ragelink 546 * Attaches extended data and `XRegExp.prototype` properties to a regex object.
afe42d0… ragelink 547 *
afe42d0… ragelink 548 * @private
afe42d0… ragelink 549 * @param {RegExp} regex Regex to augment.
afe42d0… ragelink 550 * @param {Array} captureNames Array with capture names, or `null`.
afe42d0… ragelink 551 * @param {String} xSource XRegExp pattern used to generate `regex`, or `null` if N/A.
afe42d0… ragelink 552 * @param {String} xFlags XRegExp flags used to generate `regex`, or `null` if N/A.
afe42d0… ragelink 553 * @param {Boolean} [isInternalOnly=false] Whether the regex will be used only for internal
afe42d0… ragelink 554 * operations, and never exposed to users. For internal-only regexes, we can improve perf by
afe42d0… ragelink 555 * skipping some operations like attaching `XRegExp.prototype` properties.
afe42d0… ragelink 556 * @returns {!RegExp} Augmented regex.
afe42d0… ragelink 557 */
afe42d0… ragelink 558
afe42d0… ragelink 559 function augment(regex, captureNames, xSource, xFlags, isInternalOnly) {
afe42d0… ragelink 560 var _context;
afe42d0… ragelink 561
afe42d0… ragelink 562 regex[REGEX_DATA] = {
afe42d0… ragelink 563 captureNames: captureNames
afe42d0… ragelink 564 };
afe42d0… ragelink 565
afe42d0… ragelink 566 if (isInternalOnly) {
afe42d0… ragelink 567 return regex;
afe42d0… ragelink 568 } // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value
afe42d0… ragelink 569
afe42d0… ragelink 570
afe42d0… ragelink 571 if (regex.__proto__) {
afe42d0… ragelink 572 regex.__proto__ = XRegExp.prototype;
afe42d0… ragelink 573 } else {
afe42d0… ragelink 574 for (var p in XRegExp.prototype) {
afe42d0… ragelink 575 // An `XRegExp.prototype.hasOwnProperty(p)` check wouldn't be worth it here, since this
afe42d0… ragelink 576 // is performance sensitive, and enumerable `Object.prototype` or `RegExp.prototype`
afe42d0… ragelink 577 // extensions exist on `regex.prototype` anyway
afe42d0… ragelink 578 regex[p] = XRegExp.prototype[p];
afe42d0… ragelink 579 }
afe42d0… ragelink 580 }
afe42d0… ragelink 581
afe42d0… ragelink 582 regex[REGEX_DATA].source = xSource; // Emulate the ES6 `flags` prop by ensuring flags are in alphabetical order
afe42d0… ragelink 583
afe42d0… ragelink 584 regex[REGEX_DATA].flags = xFlags ? (0, _sort["default"])(_context = xFlags.split('')).call(_context).join('') : xFlags;
afe42d0… ragelink 585 return regex;
afe42d0… ragelink 586 }
afe42d0… ragelink 587 /**
afe42d0… ragelink 588 * Removes any duplicate characters from the provided string.
afe42d0… ragelink 589 *
afe42d0… ragelink 590 * @private
afe42d0… ragelink 591 * @param {String} str String to remove duplicate characters from.
afe42d0… ragelink 592 * @returns {string} String with any duplicate characters removed.
afe42d0… ragelink 593 */
afe42d0… ragelink 594
afe42d0… ragelink 595
afe42d0… ragelink 596 function clipDuplicates(str) {
afe42d0… ragelink 597 return str.replace(/([\s\S])(?=[\s\S]*\1)/g, '');
afe42d0… ragelink 598 }
afe42d0… ragelink 599 /**
afe42d0… ragelink 600 * Copies a regex object while preserving extended data and augmenting with `XRegExp.prototype`
afe42d0… ragelink 601 * properties. The copy has a fresh `lastIndex` property (set to zero). Allows adding and removing
afe42d0… ragelink 602 * flags g and y while copying the regex.
afe42d0… ragelink 603 *
afe42d0… ragelink 604 * @private
afe42d0… ragelink 605 * @param {RegExp} regex Regex to copy.
afe42d0… ragelink 606 * @param {Object} [options] Options object with optional properties:
afe42d0… ragelink 607 * - `addG` {Boolean} Add flag g while copying the regex.
afe42d0… ragelink 608 * - `addY` {Boolean} Add flag y while copying the regex.
afe42d0… ragelink 609 * - `removeG` {Boolean} Remove flag g while copying the regex.
afe42d0… ragelink 610 * - `removeY` {Boolean} Remove flag y while copying the regex.
afe42d0… ragelink 611 * - `isInternalOnly` {Boolean} Whether the copied regex will be used only for internal
afe42d0… ragelink 612 * operations, and never exposed to users. For internal-only regexes, we can improve perf by
afe42d0… ragelink 613 * skipping some operations like attaching `XRegExp.prototype` properties.
afe42d0… ragelink 614 * - `source` {String} Overrides `<regex>.source`, for special cases.
afe42d0… ragelink 615 * @returns {RegExp} Copy of the provided regex, possibly with modified flags.
afe42d0… ragelink 616 */
afe42d0… ragelink 617
afe42d0… ragelink 618
afe42d0… ragelink 619 function copyRegex(regex, options) {
afe42d0… ragelink 620 var _context2;
afe42d0… ragelink 621
afe42d0… ragelink 622 if (!XRegExp.isRegExp(regex)) {
afe42d0… ragelink 623 throw new TypeError('Type RegExp expected');
afe42d0… ragelink 624 }
afe42d0… ragelink 625
afe42d0… ragelink 626 var xData = regex[REGEX_DATA] || {};
afe42d0… ragelink 627 var flags = getNativeFlags(regex);
afe42d0… ragelink 628 var flagsToAdd = '';
afe42d0… ragelink 629 var flagsToRemove = '';
afe42d0… ragelink 630 var xregexpSource = null;
afe42d0… ragelink 631 var xregexpFlags = null;
afe42d0… ragelink 632 options = options || {};
afe42d0… ragelink 633
afe42d0… ragelink 634 if (options.removeG) {
afe42d0… ragelink 635 flagsToRemove += 'g';
afe42d0… ragelink 636 }
afe42d0… ragelink 637
afe42d0… ragelink 638 if (options.removeY) {
afe42d0… ragelink 639 flagsToRemove += 'y';
afe42d0… ragelink 640 }
afe42d0… ragelink 641
afe42d0… ragelink 642 if (flagsToRemove) {
afe42d0… ragelink 643 flags = flags.replace(new RegExp("[".concat(flagsToRemove, "]+"), 'g'), '');
afe42d0… ragelink 644 }
afe42d0… ragelink 645
afe42d0… ragelink 646 if (options.addG) {
afe42d0… ragelink 647 flagsToAdd += 'g';
afe42d0… ragelink 648 }
afe42d0… ragelink 649
afe42d0… ragelink 650 if (options.addY) {
afe42d0… ragelink 651 flagsToAdd += 'y';
afe42d0… ragelink 652 }
afe42d0… ragelink 653
afe42d0… ragelink 654 if (flagsToAdd) {
afe42d0… ragelink 655 flags = clipDuplicates(flags + flagsToAdd);
afe42d0… ragelink 656 }
afe42d0… ragelink 657
afe42d0… ragelink 658 if (!options.isInternalOnly) {
afe42d0… ragelink 659 if (xData.source !== undefined) {
afe42d0… ragelink 660 xregexpSource = xData.source;
afe42d0… ragelink 661 } // null or undefined; don't want to add to `flags` if the previous value was null, since
afe42d0… ragelink 662 // that indicates we're not tracking original precompilation flags
afe42d0… ragelink 663
afe42d0… ragelink 664
afe42d0… ragelink 665 if ((0, _flags["default"])(xData) != null) {
afe42d0… ragelink 666 // Flags are only added for non-internal regexes by `XRegExp.globalize`. Flags are never
afe42d0… ragelink 667 // removed for non-internal regexes, so don't need to handle it
afe42d0… ragelink 668 xregexpFlags = flagsToAdd ? clipDuplicates((0, _flags["default"])(xData) + flagsToAdd) : (0, _flags["default"])(xData);
afe42d0… ragelink 669 }
afe42d0… ragelink 670 } // Augment with `XRegExp.prototype` properties, but use the native `RegExp` constructor to avoid
afe42d0… ragelink 671 // searching for special tokens. That would be wrong for regexes constructed by `RegExp`, and
afe42d0… ragelink 672 // unnecessary for regexes constructed by `XRegExp` because the regex has already undergone the
afe42d0… ragelink 673 // translation to native regex syntax
afe42d0… ragelink 674
afe42d0… ragelink 675
afe42d0… ragelink 676 regex = augment(new RegExp(options.source || regex.source, flags), hasNamedCapture(regex) ? (0, _slice["default"])(_context2 = xData.captureNames).call(_context2, 0) : null, xregexpSource, xregexpFlags, options.isInternalOnly);
afe42d0… ragelink 677 return regex;
afe42d0… ragelink 678 }
afe42d0… ragelink 679 /**
afe42d0… ragelink 680 * Converts hexadecimal to decimal.
afe42d0… ragelink 681 *
afe42d0… ragelink 682 * @private
afe42d0… ragelink 683 * @param {String} hex
afe42d0… ragelink 684 * @returns {number}
afe42d0… ragelink 685 */
afe42d0… ragelink 686
afe42d0… ragelink 687
afe42d0… ragelink 688 function dec(hex) {
afe42d0… ragelink 689 return (0, _parseInt2["default"])(hex, 16);
afe42d0… ragelink 690 }
afe42d0… ragelink 691 /**
afe42d0… ragelink 692 * Returns a pattern that can be used in a native RegExp in place of an ignorable token such as an
afe42d0… ragelink 693 * inline comment or whitespace with flag x. This is used directly as a token handler function
afe42d0… ragelink 694 * passed to `XRegExp.addToken`.
afe42d0… ragelink 695 *
afe42d0… ragelink 696 * @private
afe42d0… ragelink 697 * @param {String} match Match arg of `XRegExp.addToken` handler
afe42d0… ragelink 698 * @param {String} scope Scope arg of `XRegExp.addToken` handler
afe42d0… ragelink 699 * @param {String} flags Flags arg of `XRegExp.addToken` handler
afe42d0… ragelink 700 * @returns {string} Either '' or '(?:)', depending on which is needed in the context of the match.
afe42d0… ragelink 701 */
afe42d0… ragelink 702
afe42d0… ragelink 703
afe42d0… ragelink 704 function getContextualTokenSeparator(match, scope, flags) {
afe42d0… ragelink 705 var matchEndPos = match.index + match[0].length;
afe42d0… ragelink 706 var precedingChar = match.input[match.index - 1];
afe42d0… ragelink 707 var followingChar = match.input[matchEndPos];
afe42d0… ragelink 708
afe42d0… ragelink 709 if ( // No need to separate tokens if at the beginning or end of a group, before or after a
afe42d0… ragelink 710 // group, or before or after a `|`
afe42d0… ragelink 711 /^[()|]$/.test(precedingChar) || /^[()|]$/.test(followingChar) || // No need to separate tokens if at the beginning or end of the pattern
afe42d0… ragelink 712 match.index === 0 || matchEndPos === match.input.length || // No need to separate tokens if at the beginning of a noncapturing group or lookaround.
afe42d0… ragelink 713 // Looks only at the last 4 chars (at most) for perf when constructing long regexes.
afe42d0… ragelink 714 /\(\?(?:[:=!]|<[=!])$/.test(match.input.substring(match.index - 4, match.index)) || // Avoid separating tokens when the following token is a quantifier
afe42d0… ragelink 715 isQuantifierNext(match.input, matchEndPos, flags)) {
afe42d0… ragelink 716 return '';
afe42d0… ragelink 717 } // Keep tokens separated. This avoids e.g. inadvertedly changing `\1 1` or `\1(?#)1` to `\11`.
afe42d0… ragelink 718 // This also ensures all tokens remain as discrete atoms, e.g. it prevents converting the
afe42d0… ragelink 719 // syntax error `(? :` into `(?:`.
afe42d0… ragelink 720
afe42d0… ragelink 721
afe42d0… ragelink 722 return '(?:)';
afe42d0… ragelink 723 }
afe42d0… ragelink 724 /**
afe42d0… ragelink 725 * Returns native `RegExp` flags used by a regex object.
afe42d0… ragelink 726 *
afe42d0… ragelink 727 * @private
afe42d0… ragelink 728 * @param {RegExp} regex Regex to check.
afe42d0… ragelink 729 * @returns {string} Native flags in use.
afe42d0… ragelink 730 */
afe42d0… ragelink 731
afe42d0… ragelink 732
afe42d0… ragelink 733 function getNativeFlags(regex) {
afe42d0… ragelink 734 return hasFlagsProp ? (0, _flags["default"])(regex) : // Explicitly using `RegExp.prototype.toString` (rather than e.g. `String` or concatenation
afe42d0… ragelink 735 // with an empty string) allows this to continue working predictably when
afe42d0… ragelink 736 // `XRegExp.proptotype.toString` is overridden
afe42d0… ragelink 737 /\/([a-z]*)$/i.exec(RegExp.prototype.toString.call(regex))[1];
afe42d0… ragelink 738 }
afe42d0… ragelink 739 /**
afe42d0… ragelink 740 * Determines whether a regex has extended instance data used to track capture names.
afe42d0… ragelink 741 *
afe42d0… ragelink 742 * @private
afe42d0… ragelink 743 * @param {RegExp} regex Regex to check.
afe42d0… ragelink 744 * @returns {boolean} Whether the regex uses named capture.
afe42d0… ragelink 745 */
afe42d0… ragelink 746
afe42d0… ragelink 747
afe42d0… ragelink 748 function hasNamedCapture(regex) {
afe42d0… ragelink 749 return !!(regex[REGEX_DATA] && regex[REGEX_DATA].captureNames);
afe42d0… ragelink 750 }
afe42d0… ragelink 751 /**
afe42d0… ragelink 752 * Converts decimal to hexadecimal.
afe42d0… ragelink 753 *
afe42d0… ragelink 754 * @private
afe42d0… ragelink 755 * @param {Number|String} dec
afe42d0… ragelink 756 * @returns {string}
afe42d0… ragelink 757 */
afe42d0… ragelink 758
afe42d0… ragelink 759
afe42d0… ragelink 760 function hex(dec) {
afe42d0… ragelink 761 return (0, _parseInt2["default"])(dec, 10).toString(16);
afe42d0… ragelink 762 }
afe42d0… ragelink 763 /**
afe42d0… ragelink 764 * Checks whether the next nonignorable token after the specified position is a quantifier.
afe42d0… ragelink 765 *
afe42d0… ragelink 766 * @private
afe42d0… ragelink 767 * @param {String} pattern Pattern to search within.
afe42d0… ragelink 768 * @param {Number} pos Index in `pattern` to search at.
afe42d0… ragelink 769 * @param {String} flags Flags used by the pattern.
afe42d0… ragelink 770 * @returns {Boolean} Whether the next nonignorable token is a quantifier.
afe42d0… ragelink 771 */
afe42d0… ragelink 772
afe42d0… ragelink 773
afe42d0… ragelink 774 function isQuantifierNext(pattern, pos, flags) {
afe42d0… ragelink 775 var inlineCommentPattern = '\\(\\?#[^)]*\\)';
afe42d0… ragelink 776 var lineCommentPattern = '#[^#\\n]*';
afe42d0… ragelink 777 var quantifierPattern = '[?*+]|{\\d+(?:,\\d*)?}';
afe42d0… ragelink 778 var regex = (0, _indexOf["default"])(flags).call(flags, 'x') !== -1 ? // Ignore any leading whitespace, line comments, and inline comments
afe42d0… ragelink 779 /^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/ : // Ignore any leading inline comments
afe42d0… ragelink 780 /^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/;
afe42d0… ragelink 781 return regex.test((0, _slice["default"])(pattern).call(pattern, pos));
afe42d0… ragelink 782 }
afe42d0… ragelink 783 /**
afe42d0… ragelink 784 * Determines whether a value is of the specified type, by resolving its internal [[Class]].
afe42d0… ragelink 785 *
afe42d0… ragelink 786 * @private
afe42d0… ragelink 787 * @param {*} value Object to check.
afe42d0… ragelink 788 * @param {String} type Type to check for, in TitleCase.
afe42d0… ragelink 789 * @returns {boolean} Whether the object matches the type.
afe42d0… ragelink 790 */
afe42d0… ragelink 791
afe42d0… ragelink 792
afe42d0… ragelink 793 function isType(value, type) {
afe42d0… ragelink 794 return Object.prototype.toString.call(value) === "[object ".concat(type, "]");
afe42d0… ragelink 795 }
afe42d0… ragelink 796 /**
afe42d0… ragelink 797 * Returns the object, or throws an error if it is `null` or `undefined`. This is used to follow
afe42d0… ragelink 798 * the ES5 abstract operation `ToObject`.
afe42d0… ragelink 799 *
afe42d0… ragelink 800 * @private
afe42d0… ragelink 801 * @param {*} value Object to check and return.
afe42d0… ragelink 802 * @returns {*} The provided object.
afe42d0… ragelink 803 */
afe42d0… ragelink 804
afe42d0… ragelink 805
afe42d0… ragelink 806 function nullThrows(value) {
afe42d0… ragelink 807 // null or undefined
afe42d0… ragelink 808 if (value == null) {
afe42d0… ragelink 809 throw new TypeError('Cannot convert null or undefined to object');
afe42d0… ragelink 810 }
afe42d0… ragelink 811
afe42d0… ragelink 812 return value;
afe42d0… ragelink 813 }
afe42d0… ragelink 814 /**
afe42d0… ragelink 815 * Adds leading zeros if shorter than four characters. Used for fixed-length hexadecimal values.
afe42d0… ragelink 816 *
afe42d0… ragelink 817 * @private
afe42d0… ragelink 818 * @param {String} str
afe42d0… ragelink 819 * @returns {string}
afe42d0… ragelink 820 */
afe42d0… ragelink 821
afe42d0… ragelink 822
afe42d0… ragelink 823 function pad4(str) {
afe42d0… ragelink 824 while (str.length < 4) {
afe42d0… ragelink 825 str = "0".concat(str);
afe42d0… ragelink 826 }
afe42d0… ragelink 827
afe42d0… ragelink 828 return str;
afe42d0… ragelink 829 }
afe42d0… ragelink 830 /**
afe42d0… ragelink 831 * Checks for flag-related errors, and strips/applies flags in a leading mode modifier. Offloads
afe42d0… ragelink 832 * the flag preparation logic from the `XRegExp` constructor.
afe42d0… ragelink 833 *
afe42d0… ragelink 834 * @private
afe42d0… ragelink 835 * @param {String} pattern Regex pattern, possibly with a leading mode modifier.
afe42d0… ragelink 836 * @param {String} flags Any combination of flags.
afe42d0… ragelink 837 * @returns {!Object} Object with properties `pattern` and `flags`.
afe42d0… ragelink 838 */
afe42d0… ragelink 839
afe42d0… ragelink 840
afe42d0… ragelink 841 function prepareFlags(pattern, flags) {
afe42d0… ragelink 842 // Recent browsers throw on duplicate flags, so copy this behavior for nonnative flags
afe42d0… ragelink 843 if (clipDuplicates(flags) !== flags) {
afe42d0… ragelink 844 throw new SyntaxError("Invalid duplicate regex flag ".concat(flags));
afe42d0… ragelink 845 } // Strip and apply a leading mode modifier with any combination of flags except `dgy`
afe42d0… ragelink 846
afe42d0… ragelink 847
afe42d0… ragelink 848 pattern = pattern.replace(/^\(\?([\w$]+)\)/, function ($0, $1) {
afe42d0… ragelink 849 if (/[dgy]/.test($1)) {
afe42d0… ragelink 850 throw new SyntaxError("Cannot use flags dgy in mode modifier ".concat($0));
afe42d0… ragelink 851 } // Allow duplicate flags within the mode modifier
afe42d0… ragelink 852
afe42d0… ragelink 853
afe42d0… ragelink 854 flags = clipDuplicates(flags + $1);
afe42d0… ragelink 855 return '';
afe42d0… ragelink 856 }); // Throw on unknown native or nonnative flags
afe42d0… ragelink 857
afe42d0… ragelink 858 var _iterator = _createForOfIteratorHelper(flags),
afe42d0… ragelink 859 _step;
afe42d0… ragelink 860
afe42d0… ragelink 861 try {
afe42d0… ragelink 862 for (_iterator.s(); !(_step = _iterator.n()).done;) {
afe42d0… ragelink 863 var flag = _step.value;
afe42d0… ragelink 864
afe42d0… ragelink 865 if (!registeredFlags[flag]) {
afe42d0… ragelink 866 throw new SyntaxError("Unknown regex flag ".concat(flag));
afe42d0… ragelink 867 }
afe42d0… ragelink 868 }
afe42d0… ragelink 869 } catch (err) {
afe42d0… ragelink 870 _iterator.e(err);
afe42d0… ragelink 871 } finally {
afe42d0… ragelink 872 _iterator.f();
afe42d0… ragelink 873 }
afe42d0… ragelink 874
afe42d0… ragelink 875 return {
afe42d0… ragelink 876 pattern: pattern,
afe42d0… ragelink 877 flags: flags
afe42d0… ragelink 878 };
afe42d0… ragelink 879 }
afe42d0… ragelink 880 /**
afe42d0… ragelink 881 * Prepares an options object from the given value.
afe42d0… ragelink 882 *
afe42d0… ragelink 883 * @private
afe42d0… ragelink 884 * @param {String|Object} value Value to convert to an options object.
afe42d0… ragelink 885 * @returns {Object} Options object.
afe42d0… ragelink 886 */
afe42d0… ragelink 887
afe42d0… ragelink 888
afe42d0… ragelink 889 function prepareOptions(value) {
afe42d0… ragelink 890 var options = {};
afe42d0… ragelink 891
afe42d0… ragelink 892 if (isType(value, 'String')) {
afe42d0… ragelink 893 (0, _forEach["default"])(XRegExp).call(XRegExp, value, /[^\s,]+/, function (match) {
afe42d0… ragelink 894 options[match] = true;
afe42d0… ragelink 895 });
afe42d0… ragelink 896 return options;
afe42d0… ragelink 897 }
afe42d0… ragelink 898
afe42d0… ragelink 899 return value;
afe42d0… ragelink 900 }
afe42d0… ragelink 901 /**
afe42d0… ragelink 902 * Registers a flag so it doesn't throw an 'unknown flag' error.
afe42d0… ragelink 903 *
afe42d0… ragelink 904 * @private
afe42d0… ragelink 905 * @param {String} flag Single-character flag to register.
afe42d0… ragelink 906 */
afe42d0… ragelink 907
afe42d0… ragelink 908
afe42d0… ragelink 909 function registerFlag(flag) {
afe42d0… ragelink 910 if (!/^[\w$]$/.test(flag)) {
afe42d0… ragelink 911 throw new Error('Flag must be a single character A-Za-z0-9_$');
afe42d0… ragelink 912 }
afe42d0… ragelink 913
afe42d0… ragelink 914 registeredFlags[flag] = true;
afe42d0… ragelink 915 }
afe42d0… ragelink 916 /**
afe42d0… ragelink 917 * Runs built-in and custom regex syntax tokens in reverse insertion order at the specified
afe42d0… ragelink 918 * position, until a match is found.
afe42d0… ragelink 919 *
afe42d0… ragelink 920 * @private
afe42d0… ragelink 921 * @param {String} pattern Original pattern from which an XRegExp object is being built.
afe42d0… ragelink 922 * @param {String} flags Flags being used to construct the regex.
afe42d0… ragelink 923 * @param {Number} pos Position to search for tokens within `pattern`.
afe42d0… ragelink 924 * @param {Number} scope Regex scope to apply: 'default' or 'class'.
afe42d0… ragelink 925 * @param {Object} context Context object to use for token handler functions.
afe42d0… ragelink 926 * @returns {Object} Object with properties `matchLength`, `output`, and `reparse`; or `null`.
afe42d0… ragelink 927 */
afe42d0… ragelink 928
afe42d0… ragelink 929
afe42d0… ragelink 930 function runTokens(pattern, flags, pos, scope, context) {
afe42d0… ragelink 931 var i = tokens.length;
afe42d0… ragelink 932 var leadChar = pattern[pos];
afe42d0… ragelink 933 var result = null;
afe42d0… ragelink 934 var match;
afe42d0… ragelink 935 var t; // Run in reverse insertion order
afe42d0… ragelink 936
afe42d0… ragelink 937 while (i--) {
afe42d0… ragelink 938 t = tokens[i];
afe42d0… ragelink 939
afe42d0… ragelink 940 if (t.leadChar && t.leadChar !== leadChar || t.scope !== scope && t.scope !== 'all' || t.flag && !((0, _indexOf["default"])(flags).call(flags, t.flag) !== -1)) {
afe42d0… ragelink 941 continue;
afe42d0… ragelink 942 }
afe42d0… ragelink 943
afe42d0… ragelink 944 match = XRegExp.exec(pattern, t.regex, pos, 'sticky');
afe42d0… ragelink 945
afe42d0… ragelink 946 if (match) {
afe42d0… ragelink 947 result = {
afe42d0… ragelink 948 matchLength: match[0].length,
afe42d0… ragelink 949 output: t.handler.call(context, match, scope, flags),
afe42d0… ragelink 950 reparse: t.reparse
afe42d0… ragelink 951 }; // Finished with token tests
afe42d0… ragelink 952
afe42d0… ragelink 953 break;
afe42d0… ragelink 954 }
afe42d0… ragelink 955 }
afe42d0… ragelink 956
afe42d0… ragelink 957 return result;
afe42d0… ragelink 958 }
afe42d0… ragelink 959 /**
afe42d0… ragelink 960 * Enables or disables implicit astral mode opt-in. When enabled, flag A is automatically added to
afe42d0… ragelink 961 * all new regexes created by XRegExp. This causes an error to be thrown when creating regexes if
afe42d0… ragelink 962 * the Unicode Base addon is not available, since flag A is registered by that addon.
afe42d0… ragelink 963 *
afe42d0… ragelink 964 * @private
afe42d0… ragelink 965 * @param {Boolean} on `true` to enable; `false` to disable.
afe42d0… ragelink 966 */
afe42d0… ragelink 967
afe42d0… ragelink 968
afe42d0… ragelink 969 function setAstral(on) {
afe42d0… ragelink 970 features.astral = on;
afe42d0… ragelink 971 }
afe42d0… ragelink 972 /**
afe42d0… ragelink 973 * Adds named capture groups to the `groups` property of match arrays. See here for details:
afe42d0… ragelink 974 * https://github.com/tc39/proposal-regexp-named-groups
afe42d0… ragelink 975 *
afe42d0… ragelink 976 * @private
afe42d0… ragelink 977 * @param {Boolean} on `true` to enable; `false` to disable.
afe42d0… ragelink 978 */
afe42d0… ragelink 979
afe42d0… ragelink 980
afe42d0… ragelink 981 function setNamespacing(on) {
afe42d0… ragelink 982 features.namespacing = on;
afe42d0… ragelink 983 } // ==--------------------------==
afe42d0… ragelink 984 // Constructor
afe42d0… ragelink 985 // ==--------------------------==
afe42d0… ragelink 986
afe42d0… ragelink 987 /**
afe42d0… ragelink 988 * Creates an extended regular expression object for matching text with a pattern. Differs from a
afe42d0… ragelink 989 * native regular expression in that additional syntax and flags are supported. The returned object
afe42d0… ragelink 990 * is in fact a native `RegExp` and works with all native methods.
afe42d0… ragelink 991 *
afe42d0… ragelink 992 * @class XRegExp
afe42d0… ragelink 993 * @constructor
afe42d0… ragelink 994 * @param {String|RegExp} pattern Regex pattern string, or an existing regex object to copy.
afe42d0… ragelink 995 * @param {String} [flags] Any combination of flags.
afe42d0… ragelink 996 * Native flags:
afe42d0… ragelink 997 * - `d` - indices for capturing groups (ES2021)
afe42d0… ragelink 998 * - `g` - global
afe42d0… ragelink 999 * - `i` - ignore case
afe42d0… ragelink 1000 * - `m` - multiline anchors
afe42d0… ragelink 1001 * - `u` - unicode (ES6)
afe42d0… ragelink 1002 * - `y` - sticky (Firefox 3+, ES6)
afe42d0… ragelink 1003 * Additional XRegExp flags:
afe42d0… ragelink 1004 * - `n` - named capture only
afe42d0… ragelink 1005 * - `s` - dot matches all (aka singleline) - works even when not natively supported
afe42d0… ragelink 1006 * - `x` - free-spacing and line comments (aka extended)
afe42d0… ragelink 1007 * - `A` - 21-bit Unicode properties (aka astral) - requires the Unicode Base addon
afe42d0… ragelink 1008 * Flags cannot be provided when constructing one `RegExp` from another.
afe42d0… ragelink 1009 * @returns {RegExp} Extended regular expression object.
afe42d0… ragelink 1010 * @example
afe42d0… ragelink 1011 *
afe42d0… ragelink 1012 * // With named capture and flag x
afe42d0… ragelink 1013 * XRegExp(`(?<year> [0-9]{4} ) -? # year
afe42d0… ragelink 1014 * (?<month> [0-9]{2} ) -? # month
afe42d0… ragelink 1015 * (?<day> [0-9]{2} ) # day`, 'x');
afe42d0… ragelink 1016 *
afe42d0… ragelink 1017 * // Providing a regex object copies it. Native regexes are recompiled using native (not XRegExp)
afe42d0… ragelink 1018 * // syntax. Copies maintain extended data, are augmented with `XRegExp.prototype` properties, and
afe42d0… ragelink 1019 * // have fresh `lastIndex` properties (set to zero).
afe42d0… ragelink 1020 * XRegExp(/regex/);
afe42d0… ragelink 1021 */
afe42d0… ragelink 1022
afe42d0… ragelink 1023
afe42d0… ragelink 1024 function XRegExp(pattern, flags) {
afe42d0… ragelink 1025 if (XRegExp.isRegExp(pattern)) {
afe42d0… ragelink 1026 if (flags !== undefined) {
afe42d0… ragelink 1027 throw new TypeError('Cannot supply flags when copying a RegExp');
afe42d0… ragelink 1028 }
afe42d0… ragelink 1029
afe42d0… ragelink 1030 return copyRegex(pattern);
afe42d0… ragelink 1031 } // Copy the argument behavior of `RegExp`
afe42d0… ragelink 1032
afe42d0… ragelink 1033
afe42d0… ragelink 1034 pattern = pattern === undefined ? '' : String(pattern);
afe42d0… ragelink 1035 flags = flags === undefined ? '' : String(flags);
afe42d0… ragelink 1036
afe42d0… ragelink 1037 if (XRegExp.isInstalled('astral') && !((0, _indexOf["default"])(flags).call(flags, 'A') !== -1)) {
afe42d0… ragelink 1038 // This causes an error to be thrown if the Unicode Base addon is not available
afe42d0… ragelink 1039 flags += 'A';
afe42d0… ragelink 1040 }
afe42d0… ragelink 1041
afe42d0… ragelink 1042 if (!patternCache[pattern]) {
afe42d0… ragelink 1043 patternCache[pattern] = {};
afe42d0… ragelink 1044 }
afe42d0… ragelink 1045
afe42d0… ragelink 1046 if (!patternCache[pattern][flags]) {
afe42d0… ragelink 1047 var context = {
afe42d0… ragelink 1048 hasNamedCapture: false,
afe42d0… ragelink 1049 captureNames: []
afe42d0… ragelink 1050 };
afe42d0… ragelink 1051 var scope = defaultScope;
afe42d0… ragelink 1052 var output = '';
afe42d0… ragelink 1053 var pos = 0;
afe42d0… ragelink 1054 var result; // Check for flag-related errors, and strip/apply flags in a leading mode modifier
afe42d0… ragelink 1055
afe42d0… ragelink 1056 var applied = prepareFlags(pattern, flags);
afe42d0… ragelink 1057 var appliedPattern = applied.pattern;
afe42d0… ragelink 1058 var appliedFlags = (0, _flags["default"])(applied); // Use XRegExp's tokens to translate the pattern to a native regex pattern.
afe42d0… ragelink 1059 // `appliedPattern.length` may change on each iteration if tokens use `reparse`
afe42d0… ragelink 1060
afe42d0… ragelink 1061 while (pos < appliedPattern.length) {
afe42d0… ragelink 1062 do {
afe42d0… ragelink 1063 // Check for custom tokens at the current position
afe42d0… ragelink 1064 result = runTokens(appliedPattern, appliedFlags, pos, scope, context); // If the matched token used the `reparse` option, splice its output into the
afe42d0… ragelink 1065 // pattern before running tokens again at the same position
afe42d0… ragelink 1066
afe42d0… ragelink 1067 if (result && result.reparse) {
afe42d0… ragelink 1068 appliedPattern = (0, _slice["default"])(appliedPattern).call(appliedPattern, 0, pos) + result.output + (0, _slice["default"])(appliedPattern).call(appliedPattern, pos + result.matchLength);
afe42d0… ragelink 1069 }
afe42d0… ragelink 1070 } while (result && result.reparse);
afe42d0… ragelink 1071
afe42d0… ragelink 1072 if (result) {
afe42d0… ragelink 1073 output += result.output;
afe42d0… ragelink 1074 pos += result.matchLength || 1;
afe42d0… ragelink 1075 } else {
afe42d0… ragelink 1076 // Get the native token at the current position
afe42d0… ragelink 1077 var _XRegExp$exec = XRegExp.exec(appliedPattern, nativeTokens[scope], pos, 'sticky'),
afe42d0… ragelink 1078 _XRegExp$exec2 = (0, _slicedToArray2["default"])(_XRegExp$exec, 1),
afe42d0… ragelink 1079 token = _XRegExp$exec2[0];
afe42d0… ragelink 1080
afe42d0… ragelink 1081 output += token;
afe42d0… ragelink 1082 pos += token.length;
afe42d0… ragelink 1083
afe42d0… ragelink 1084 if (token === '[' && scope === defaultScope) {
afe42d0… ragelink 1085 scope = classScope;
afe42d0… ragelink 1086 } else if (token === ']' && scope === classScope) {
afe42d0… ragelink 1087 scope = defaultScope;
afe42d0… ragelink 1088 }
afe42d0… ragelink 1089 }
afe42d0… ragelink 1090 }
afe42d0… ragelink 1091
afe42d0… ragelink 1092 patternCache[pattern][flags] = {
afe42d0… ragelink 1093 // Use basic cleanup to collapse repeated empty groups like `(?:)(?:)` to `(?:)`. Empty
afe42d0… ragelink 1094 // groups are sometimes inserted during regex transpilation in order to keep tokens
afe42d0… ragelink 1095 // separated. However, more than one empty group in a row is never needed.
afe42d0… ragelink 1096 pattern: output.replace(/(?:\(\?:\))+/g, '(?:)'),
afe42d0… ragelink 1097 // Strip all but native flags
afe42d0… ragelink 1098 flags: appliedFlags.replace(nonnativeFlags, ''),
afe42d0… ragelink 1099 // `context.captureNames` has an item for each capturing group, even if unnamed
afe42d0… ragelink 1100 captures: context.hasNamedCapture ? context.captureNames : null
afe42d0… ragelink 1101 };
afe42d0… ragelink 1102 }
afe42d0… ragelink 1103
afe42d0… ragelink 1104 var generated = patternCache[pattern][flags];
afe42d0… ragelink 1105 return augment(new RegExp(generated.pattern, (0, _flags["default"])(generated)), generated.captures, pattern, flags);
afe42d0… ragelink 1106 } // Add `RegExp.prototype` to the prototype chain
afe42d0… ragelink 1107
afe42d0… ragelink 1108
afe42d0… ragelink 1109 XRegExp.prototype = /(?:)/; // ==--------------------------==
afe42d0… ragelink 1110 // Public properties
afe42d0… ragelink 1111 // ==--------------------------==
afe42d0… ragelink 1112
afe42d0… ragelink 1113 /**
afe42d0… ragelink 1114 * The XRegExp version number as a string containing three dot-separated parts. For example,
afe42d0… ragelink 1115 * '2.0.0-beta-3'.
afe42d0… ragelink 1116 *
afe42d0… ragelink 1117 * @static
afe42d0… ragelink 1118 * @memberOf XRegExp
afe42d0… ragelink 1119 * @type String
afe42d0… ragelink 1120 */
afe42d0… ragelink 1121
afe42d0… ragelink 1122 XRegExp.version = '5.1.1'; // ==--------------------------==
afe42d0… ragelink 1123 // Public methods
afe42d0… ragelink 1124 // ==--------------------------==
afe42d0… ragelink 1125 // Intentionally undocumented; used in tests and addons
afe42d0… ragelink 1126
afe42d0… ragelink 1127 XRegExp._clipDuplicates = clipDuplicates;
afe42d0… ragelink 1128 XRegExp._hasNativeFlag = hasNativeFlag;
afe42d0… ragelink 1129 XRegExp._dec = dec;
afe42d0… ragelink 1130 XRegExp._hex = hex;
afe42d0… ragelink 1131 XRegExp._pad4 = pad4;
afe42d0… ragelink 1132 /**
afe42d0… ragelink 1133 * Extends XRegExp syntax and allows custom flags. This is used internally and can be used to
afe42d0… ragelink 1134 * create XRegExp addons. If more than one token can match the same string, the last added wins.
afe42d0… ragelink 1135 *
afe42d0… ragelink 1136 * @memberOf XRegExp
afe42d0… ragelink 1137 * @param {RegExp} regex Regex object that matches the new token.
afe42d0… ragelink 1138 * @param {Function} handler Function that returns a new pattern string (using native regex syntax)
afe42d0… ragelink 1139 * to replace the matched token within all future XRegExp regexes. Has access to persistent
afe42d0… ragelink 1140 * properties of the regex being built, through `this`. Invoked with three arguments:
afe42d0… ragelink 1141 * - The match array, with named backreference properties.
afe42d0… ragelink 1142 * - The regex scope where the match was found: 'default' or 'class'.
afe42d0… ragelink 1143 * - The flags used by the regex, including any flags in a leading mode modifier.
afe42d0… ragelink 1144 * The handler function becomes part of the XRegExp construction process, so be careful not to
afe42d0… ragelink 1145 * construct XRegExps within the function or you will trigger infinite recursion.
afe42d0… ragelink 1146 * @param {Object} [options] Options object with optional properties:
afe42d0… ragelink 1147 * - `scope` {String} Scope where the token applies: 'default', 'class', or 'all'.
afe42d0… ragelink 1148 * - `flag` {String} Single-character flag that triggers the token. This also registers the
afe42d0… ragelink 1149 * flag, which prevents XRegExp from throwing an 'unknown flag' error when the flag is used.
afe42d0… ragelink 1150 * - `optionalFlags` {String} Any custom flags checked for within the token `handler` that are
afe42d0… ragelink 1151 * not required to trigger the token. This registers the flags, to prevent XRegExp from
afe42d0… ragelink 1152 * throwing an 'unknown flag' error when any of the flags are used.
afe42d0… ragelink 1153 * - `reparse` {Boolean} Whether the `handler` function's output should not be treated as
afe42d0… ragelink 1154 * final, and instead be reparseable by other tokens (including the current token). Allows
afe42d0… ragelink 1155 * token chaining or deferring.
afe42d0… ragelink 1156 * - `leadChar` {String} Single character that occurs at the beginning of any successful match
afe42d0… ragelink 1157 * of the token (not always applicable). This doesn't change the behavior of the token unless
afe42d0… ragelink 1158 * you provide an erroneous value. However, providing it can increase the token's performance
afe42d0… ragelink 1159 * since the token can be skipped at any positions where this character doesn't appear.
afe42d0… ragelink 1160 * @example
afe42d0… ragelink 1161 *
afe42d0… ragelink 1162 * // Basic usage: Add \a for the ALERT control code
afe42d0… ragelink 1163 * XRegExp.addToken(
afe42d0… ragelink 1164 * /\\a/,
afe42d0… ragelink 1165 * () => '\\x07',
afe42d0… ragelink 1166 * {scope: 'all'}
afe42d0… ragelink 1167 * );
afe42d0… ragelink 1168 * XRegExp('\\a[\\a-\\n]+').test('\x07\n\x07'); // -> true
afe42d0… ragelink 1169 *
afe42d0… ragelink 1170 * // Add the U (ungreedy) flag from PCRE and RE2, which reverses greedy and lazy quantifiers.
afe42d0… ragelink 1171 * // Since `scope` is not specified, it uses 'default' (i.e., transformations apply outside of
afe42d0… ragelink 1172 * // character classes only)
afe42d0… ragelink 1173 * XRegExp.addToken(
afe42d0… ragelink 1174 * /([?*+]|{\d+(?:,\d*)?})(\??)/,
afe42d0… ragelink 1175 * (match) => `${match[1]}${match[2] ? '' : '?'}`,
afe42d0… ragelink 1176 * {flag: 'U'}
afe42d0… ragelink 1177 * );
afe42d0… ragelink 1178 * XRegExp('a+', 'U').exec('aaa')[0]; // -> 'a'
afe42d0… ragelink 1179 * XRegExp('a+?', 'U').exec('aaa')[0]; // -> 'aaa'
afe42d0… ragelink 1180 */
afe42d0… ragelink 1181
afe42d0… ragelink 1182 XRegExp.addToken = function (regex, handler, options) {
afe42d0… ragelink 1183 options = options || {};
afe42d0… ragelink 1184 var _options = options,
afe42d0… ragelink 1185 optionalFlags = _options.optionalFlags;
afe42d0… ragelink 1186
afe42d0… ragelink 1187 if (options.flag) {
afe42d0… ragelink 1188 registerFlag(options.flag);
afe42d0… ragelink 1189 }
afe42d0… ragelink 1190
afe42d0… ragelink 1191 if (optionalFlags) {
afe42d0… ragelink 1192 optionalFlags = optionalFlags.split('');
afe42d0… ragelink 1193
afe42d0… ragelink 1194 var _iterator2 = _createForOfIteratorHelper(optionalFlags),
afe42d0… ragelink 1195 _step2;
afe42d0… ragelink 1196
afe42d0… ragelink 1197 try {
afe42d0… ragelink 1198 for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
afe42d0… ragelink 1199 var flag = _step2.value;
afe42d0… ragelink 1200 registerFlag(flag);
afe42d0… ragelink 1201 }
afe42d0… ragelink 1202 } catch (err) {
afe42d0… ragelink 1203 _iterator2.e(err);
afe42d0… ragelink 1204 } finally {
afe42d0… ragelink 1205 _iterator2.f();
afe42d0… ragelink 1206 }
afe42d0… ragelink 1207 } // Add to the private list of syntax tokens
afe42d0… ragelink 1208
afe42d0… ragelink 1209
afe42d0… ragelink 1210 tokens.push({
afe42d0… ragelink 1211 regex: copyRegex(regex, {
afe42d0… ragelink 1212 addG: true,
afe42d0… ragelink 1213 addY: hasNativeY,
afe42d0… ragelink 1214 isInternalOnly: true
afe42d0… ragelink 1215 }),
afe42d0… ragelink 1216 handler: handler,
afe42d0… ragelink 1217 scope: options.scope || defaultScope,
afe42d0… ragelink 1218 flag: options.flag,
afe42d0… ragelink 1219 reparse: options.reparse,
afe42d0… ragelink 1220 leadChar: options.leadChar
afe42d0… ragelink 1221 }); // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and flags
afe42d0… ragelink 1222 // might now produce different results
afe42d0… ragelink 1223
afe42d0… ragelink 1224 XRegExp.cache.flush('patterns');
afe42d0… ragelink 1225 };
afe42d0… ragelink 1226 /**
afe42d0… ragelink 1227 * Caches and returns the result of calling `XRegExp(pattern, flags)`. On any subsequent call with
afe42d0… ragelink 1228 * the same pattern and flag combination, the cached copy of the regex is returned.
afe42d0… ragelink 1229 *
afe42d0… ragelink 1230 * @memberOf XRegExp
afe42d0… ragelink 1231 * @param {String} pattern Regex pattern string.
afe42d0… ragelink 1232 * @param {String} [flags] Any combination of XRegExp flags.
afe42d0… ragelink 1233 * @returns {RegExp} Cached XRegExp object.
afe42d0… ragelink 1234 * @example
afe42d0… ragelink 1235 *
afe42d0… ragelink 1236 * let match;
afe42d0… ragelink 1237 * while (match = XRegExp.cache('.', 'gs').exec('abc')) {
afe42d0… ragelink 1238 * // The regex is compiled once only
afe42d0… ragelink 1239 * }
afe42d0… ragelink 1240 */
afe42d0… ragelink 1241
afe42d0… ragelink 1242
afe42d0… ragelink 1243 XRegExp.cache = function (pattern, flags) {
afe42d0… ragelink 1244 if (!regexCache[pattern]) {
afe42d0… ragelink 1245 regexCache[pattern] = {};
afe42d0… ragelink 1246 }
afe42d0… ragelink 1247
afe42d0… ragelink 1248 return regexCache[pattern][flags] || (regexCache[pattern][flags] = XRegExp(pattern, flags));
afe42d0… ragelink 1249 }; // Intentionally undocumented; used in tests
afe42d0… ragelink 1250
afe42d0… ragelink 1251
afe42d0… ragelink 1252 XRegExp.cache.flush = function (cacheName) {
afe42d0… ragelink 1253 if (cacheName === 'patterns') {
afe42d0… ragelink 1254 // Flush the pattern cache used by the `XRegExp` constructor
afe42d0… ragelink 1255 patternCache = {};
afe42d0… ragelink 1256 } else {
afe42d0… ragelink 1257 // Flush the regex cache populated by `XRegExp.cache`
afe42d0… ragelink 1258 regexCache = {};
afe42d0… ragelink 1259 }
afe42d0… ragelink 1260 };
afe42d0… ragelink 1261 /**
afe42d0… ragelink 1262 * Escapes any regular expression metacharacters, for use when matching literal strings. The result
afe42d0… ragelink 1263 * can safely be used at any position within a regex that uses any flags.
afe42d0… ragelink 1264 *
afe42d0… ragelink 1265 * @memberOf XRegExp
afe42d0… ragelink 1266 * @param {String} str String to escape.
afe42d0… ragelink 1267 * @returns {string} String with regex metacharacters escaped.
afe42d0… ragelink 1268 * @example
afe42d0… ragelink 1269 *
afe42d0… ragelink 1270 * XRegExp.escape('Escaped? <.>');
afe42d0… ragelink 1271 * // -> 'Escaped\?\u0020<\.>'
afe42d0… ragelink 1272 */
afe42d0… ragelink 1273 // Following are the contexts where each metacharacter needs to be escaped because it would
afe42d0… ragelink 1274 // otherwise have a special meaning, change the meaning of surrounding characters, or cause an
afe42d0… ragelink 1275 // error. Context 'default' means outside character classes only.
afe42d0… ragelink 1276 // - `\` - context: all
afe42d0… ragelink 1277 // - `[()*+?.$|` - context: default
afe42d0… ragelink 1278 // - `]` - context: default with flag u or if forming the end of a character class
afe42d0… ragelink 1279 // - `{}` - context: default with flag u or if part of a valid/complete quantifier pattern
afe42d0… ragelink 1280 // - `,` - context: default if in a position that causes an unescaped `{` to turn into a quantifier.
afe42d0… ragelink 1281 // Ex: `/^a{1\,2}$/` matches `'a{1,2}'`, but `/^a{1,2}$/` matches `'a'` or `'aa'`
afe42d0… ragelink 1282 // - `#` and <whitespace> - context: default with flag x
afe42d0… ragelink 1283 // - `^` - context: default, and context: class if it's the first character in the class
afe42d0… ragelink 1284 // - `-` - context: class if part of a valid character class range
afe42d0… ragelink 1285
afe42d0… ragelink 1286
afe42d0… ragelink 1287 XRegExp.escape = function (str) {
afe42d0… ragelink 1288 return String(nullThrows(str)). // Escape most special chars with a backslash
afe42d0… ragelink 1289 replace(/[\\\[\]{}()*+?.^$|]/g, '\\$&'). // Convert to \uNNNN for special chars that can't be escaped when used with ES6 flag `u`
afe42d0… ragelink 1290 replace(/[\s#\-,]/g, function (match) {
afe42d0… ragelink 1291 return "\\u".concat(pad4(hex(match.charCodeAt(0))));
afe42d0… ragelink 1292 });
afe42d0… ragelink 1293 };
afe42d0… ragelink 1294 /**
afe42d0… ragelink 1295 * Executes a regex search in a specified string. Returns a match array or `null`. If the provided
afe42d0… ragelink 1296 * regex uses named capture, named capture properties are included on the match array's `groups`
afe42d0… ragelink 1297 * property. Optional `pos` and `sticky` arguments specify the search start position, and whether
afe42d0… ragelink 1298 * the match must start at the specified position only. The `lastIndex` property of the provided
afe42d0… ragelink 1299 * regex is not used, but is updated for compatibility. Also fixes browser bugs compared to the
afe42d0… ragelink 1300 * native `RegExp.prototype.exec` and can be used reliably cross-browser.
afe42d0… ragelink 1301 *
afe42d0… ragelink 1302 * @memberOf XRegExp
afe42d0… ragelink 1303 * @param {String} str String to search.
afe42d0… ragelink 1304 * @param {RegExp} regex Regex to search with.
afe42d0… ragelink 1305 * @param {Number} [pos=0] Zero-based index at which to start the search.
afe42d0… ragelink 1306 * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position
afe42d0… ragelink 1307 * only. The string `'sticky'` is accepted as an alternative to `true`.
afe42d0… ragelink 1308 * @returns {Array} Match array with named capture properties on the `groups` object, or `null`. If
afe42d0… ragelink 1309 * the `namespacing` feature is off, named capture properties are directly on the match array.
afe42d0… ragelink 1310 * @example
afe42d0… ragelink 1311 *
afe42d0… ragelink 1312 * // Basic use, with named capturing group
afe42d0… ragelink 1313 * let match = XRegExp.exec('U+2620', XRegExp('U\\+(?<hex>[0-9A-F]{4})'));
afe42d0… ragelink 1314 * match.groups.hex; // -> '2620'
afe42d0… ragelink 1315 *
afe42d0… ragelink 1316 * // With pos and sticky, in a loop
afe42d0… ragelink 1317 * let pos = 3, result = [], match;
afe42d0… ragelink 1318 * while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\d)>/, pos, 'sticky')) {
afe42d0… ragelink 1319 * result.push(match[1]);
afe42d0… ragelink 1320 * pos = match.index + match[0].length;
afe42d0… ragelink 1321 * }
afe42d0… ragelink 1322 * // result -> ['2', '3', '4']
afe42d0… ragelink 1323 */
afe42d0… ragelink 1324
afe42d0… ragelink 1325
afe42d0… ragelink 1326 XRegExp.exec = function (str, regex, pos, sticky) {
afe42d0… ragelink 1327 var cacheKey = 'g';
afe42d0… ragelink 1328 var addY = false;
afe42d0… ragelink 1329 var fakeY = false;
afe42d0… ragelink 1330 var match;
afe42d0… ragelink 1331 addY = hasNativeY && !!(sticky || regex.sticky && sticky !== false);
afe42d0… ragelink 1332
afe42d0… ragelink 1333 if (addY) {
afe42d0… ragelink 1334 cacheKey += 'y';
afe42d0… ragelink 1335 } else if (sticky) {
afe42d0… ragelink 1336 // Simulate sticky matching by appending an empty capture to the original regex. The
afe42d0… ragelink 1337 // resulting regex will succeed no matter what at the current index (set with `lastIndex`),
afe42d0… ragelink 1338 // and will not search the rest of the subject string. We'll know that the original regex
afe42d0… ragelink 1339 // has failed if that last capture is `''` rather than `undefined` (i.e., if that last
afe42d0… ragelink 1340 // capture participated in the match).
afe42d0… ragelink 1341 fakeY = true;
afe42d0… ragelink 1342 cacheKey += 'FakeY';
afe42d0… ragelink 1343 }
afe42d0… ragelink 1344
afe42d0… ragelink 1345 regex[REGEX_DATA] = regex[REGEX_DATA] || {}; // Shares cached copies with `XRegExp.match`/`replace`
afe42d0… ragelink 1346
afe42d0… ragelink 1347 var r2 = regex[REGEX_DATA][cacheKey] || (regex[REGEX_DATA][cacheKey] = copyRegex(regex, {
afe42d0… ragelink 1348 addG: true,
afe42d0… ragelink 1349 addY: addY,
afe42d0… ragelink 1350 source: fakeY ? "".concat(regex.source, "|()") : undefined,
afe42d0… ragelink 1351 removeY: sticky === false,
afe42d0… ragelink 1352 isInternalOnly: true
afe42d0… ragelink 1353 }));
afe42d0… ragelink 1354 pos = pos || 0;
afe42d0… ragelink 1355 r2.lastIndex = pos; // Fixed `exec` required for `lastIndex` fix, named backreferences, etc.
afe42d0… ragelink 1356
afe42d0… ragelink 1357 match = fixed.exec.call(r2, str); // Get rid of the capture added by the pseudo-sticky matcher if needed. An empty string means
afe42d0… ragelink 1358 // the original regexp failed (see above).
afe42d0… ragelink 1359
afe42d0… ragelink 1360 if (fakeY && match && match.pop() === '') {
afe42d0… ragelink 1361 match = null;
afe42d0… ragelink 1362 }
afe42d0… ragelink 1363
afe42d0… ragelink 1364 if (regex.global) {
afe42d0… ragelink 1365 regex.lastIndex = match ? r2.lastIndex : 0;
afe42d0… ragelink 1366 }
afe42d0… ragelink 1367
afe42d0… ragelink 1368 return match;
afe42d0… ragelink 1369 };
afe42d0… ragelink 1370 /**
afe42d0… ragelink 1371 * Executes a provided function once per regex match. Searches always start at the beginning of the
afe42d0… ragelink 1372 * string and continue until the end, regardless of the state of the regex's `global` property and
afe42d0… ragelink 1373 * initial `lastIndex`.
afe42d0… ragelink 1374 *
afe42d0… ragelink 1375 * @memberOf XRegExp
afe42d0… ragelink 1376 * @param {String} str String to search.
afe42d0… ragelink 1377 * @param {RegExp} regex Regex to search with.
afe42d0… ragelink 1378 * @param {Function} callback Function to execute for each match. Invoked with four arguments:
afe42d0… ragelink 1379 * - The match array, with named backreference properties.
afe42d0… ragelink 1380 * - The zero-based match index.
afe42d0… ragelink 1381 * - The string being traversed.
afe42d0… ragelink 1382 * - The regex object being used to traverse the string.
afe42d0… ragelink 1383 * @example
afe42d0… ragelink 1384 *
afe42d0… ragelink 1385 * // Extracts every other digit from a string
afe42d0… ragelink 1386 * const evens = [];
afe42d0… ragelink 1387 * XRegExp.forEach('1a2345', /\d/, (match, i) => {
afe42d0… ragelink 1388 * if (i % 2) evens.push(+match[0]);
afe42d0… ragelink 1389 * });
afe42d0… ragelink 1390 * // evens -> [2, 4]
afe42d0… ragelink 1391 */
afe42d0… ragelink 1392
afe42d0… ragelink 1393
afe42d0… ragelink 1394 XRegExp.forEach = function (str, regex, callback) {
afe42d0… ragelink 1395 var pos = 0;
afe42d0… ragelink 1396 var i = -1;
afe42d0… ragelink 1397 var match;
afe42d0… ragelink 1398
afe42d0… ragelink 1399 while (match = XRegExp.exec(str, regex, pos)) {
afe42d0… ragelink 1400 // Because `regex` is provided to `callback`, the function could use the deprecated/
afe42d0… ragelink 1401 // nonstandard `RegExp.prototype.compile` to mutate the regex. However, since `XRegExp.exec`
afe42d0… ragelink 1402 // doesn't use `lastIndex` to set the search position, this can't lead to an infinite loop,
afe42d0… ragelink 1403 // at least. Actually, because of the way `XRegExp.exec` caches globalized versions of
afe42d0… ragelink 1404 // regexes, mutating the regex will not have any effect on the iteration or matched strings,
afe42d0… ragelink 1405 // which is a nice side effect that brings extra safety.
afe42d0… ragelink 1406 callback(match, ++i, str, regex);
afe42d0… ragelink 1407 pos = match.index + (match[0].length || 1);
afe42d0… ragelink 1408 }
afe42d0… ragelink 1409 };
afe42d0… ragelink 1410 /**
afe42d0… ragelink 1411 * Copies a regex object and adds flag `g`. The copy maintains extended data, is augmented with
afe42d0… ragelink 1412 * `XRegExp.prototype` properties, and has a fresh `lastIndex` property (set to zero). Native
afe42d0… ragelink 1413 * regexes are not recompiled using XRegExp syntax.
afe42d0… ragelink 1414 *
afe42d0… ragelink 1415 * @memberOf XRegExp
afe42d0… ragelink 1416 * @param {RegExp} regex Regex to globalize.
afe42d0… ragelink 1417 * @returns {RegExp} Copy of the provided regex with flag `g` added.
afe42d0… ragelink 1418 * @example
afe42d0… ragelink 1419 *
afe42d0… ragelink 1420 * const globalCopy = XRegExp.globalize(/regex/);
afe42d0… ragelink 1421 * globalCopy.global; // -> true
afe42d0… ragelink 1422 */
afe42d0… ragelink 1423
afe42d0… ragelink 1424
afe42d0… ragelink 1425 XRegExp.globalize = function (regex) {
afe42d0… ragelink 1426 return copyRegex(regex, {
afe42d0… ragelink 1427 addG: true
afe42d0… ragelink 1428 });
afe42d0… ragelink 1429 };
afe42d0… ragelink 1430 /**
afe42d0… ragelink 1431 * Installs optional features according to the specified options. Can be undone using
afe42d0… ragelink 1432 * `XRegExp.uninstall`.
afe42d0… ragelink 1433 *
afe42d0… ragelink 1434 * @memberOf XRegExp
afe42d0… ragelink 1435 * @param {Object|String} options Options object or string.
afe42d0… ragelink 1436 * @example
afe42d0… ragelink 1437 *
afe42d0… ragelink 1438 * // With an options object
afe42d0… ragelink 1439 * XRegExp.install({
afe42d0… ragelink 1440 * // Enables support for astral code points in Unicode addons (implicitly sets flag A)
afe42d0… ragelink 1441 * astral: true,
afe42d0… ragelink 1442 *
afe42d0… ragelink 1443 * // Adds named capture groups to the `groups` property of matches
afe42d0… ragelink 1444 * namespacing: true
afe42d0… ragelink 1445 * });
afe42d0… ragelink 1446 *
afe42d0… ragelink 1447 * // With an options string
afe42d0… ragelink 1448 * XRegExp.install('astral namespacing');
afe42d0… ragelink 1449 */
afe42d0… ragelink 1450
afe42d0… ragelink 1451
afe42d0… ragelink 1452 XRegExp.install = function (options) {
afe42d0… ragelink 1453 options = prepareOptions(options);
afe42d0… ragelink 1454
afe42d0… ragelink 1455 if (!features.astral && options.astral) {
afe42d0… ragelink 1456 setAstral(true);
afe42d0… ragelink 1457 }
afe42d0… ragelink 1458
afe42d0… ragelink 1459 if (!features.namespacing && options.namespacing) {
afe42d0… ragelink 1460 setNamespacing(true);
afe42d0… ragelink 1461 }
afe42d0… ragelink 1462 };
afe42d0… ragelink 1463 /**
afe42d0… ragelink 1464 * Checks whether an individual optional feature is installed.
afe42d0… ragelink 1465 *
afe42d0… ragelink 1466 * @memberOf XRegExp
afe42d0… ragelink 1467 * @param {String} feature Name of the feature to check. One of:
afe42d0… ragelink 1468 * - `astral`
afe42d0… ragelink 1469 * - `namespacing`
afe42d0… ragelink 1470 * @returns {boolean} Whether the feature is installed.
afe42d0… ragelink 1471 * @example
afe42d0… ragelink 1472 *
afe42d0… ragelink 1473 * XRegExp.isInstalled('astral');
afe42d0… ragelink 1474 */
afe42d0… ragelink 1475
afe42d0… ragelink 1476
afe42d0… ragelink 1477 XRegExp.isInstalled = function (feature) {
afe42d0… ragelink 1478 return !!features[feature];
afe42d0… ragelink 1479 };
afe42d0… ragelink 1480 /**
afe42d0… ragelink 1481 * Returns `true` if an object is a regex; `false` if it isn't. This works correctly for regexes
afe42d0… ragelink 1482 * created in another frame, when `instanceof` and `constructor` checks would fail.
afe42d0… ragelink 1483 *
afe42d0… ragelink 1484 * @memberOf XRegExp
afe42d0… ragelink 1485 * @param {*} value Object to check.
afe42d0… ragelink 1486 * @returns {boolean} Whether the object is a `RegExp` object.
afe42d0… ragelink 1487 * @example
afe42d0… ragelink 1488 *
afe42d0… ragelink 1489 * XRegExp.isRegExp('string'); // -> false
afe42d0… ragelink 1490 * XRegExp.isRegExp(/regex/i); // -> true
afe42d0… ragelink 1491 * XRegExp.isRegExp(RegExp('^', 'm')); // -> true
afe42d0… ragelink 1492 * XRegExp.isRegExp(XRegExp('(?s).')); // -> true
afe42d0… ragelink 1493 */
afe42d0… ragelink 1494
afe42d0… ragelink 1495
afe42d0… ragelink 1496 XRegExp.isRegExp = function (value) {
afe42d0… ragelink 1497 return Object.prototype.toString.call(value) === '[object RegExp]';
afe42d0… ragelink 1498 }; // Same as `isType(value, 'RegExp')`, but avoiding that function call here for perf since
afe42d0… ragelink 1499 // `isRegExp` is used heavily by internals including regex construction
afe42d0… ragelink 1500
afe42d0… ragelink 1501 /**
afe42d0… ragelink 1502 * Returns the first matched string, or in global mode, an array containing all matched strings.
afe42d0… ragelink 1503 * This is essentially a more convenient re-implementation of `String.prototype.match` that gives
afe42d0… ragelink 1504 * the result types you actually want (string instead of `exec`-style array in match-first mode,
afe42d0… ragelink 1505 * and an empty array instead of `null` when no matches are found in match-all mode). It also lets
afe42d0… ragelink 1506 * you override flag g and ignore `lastIndex`, and fixes browser bugs.
afe42d0… ragelink 1507 *
afe42d0… ragelink 1508 * @memberOf XRegExp
afe42d0… ragelink 1509 * @param {String} str String to search.
afe42d0… ragelink 1510 * @param {RegExp} regex Regex to search with.
afe42d0… ragelink 1511 * @param {String} [scope='one'] Use 'one' to return the first match as a string. Use 'all' to
afe42d0… ragelink 1512 * return an array of all matched strings. If not explicitly specified and `regex` uses flag g,
afe42d0… ragelink 1513 * `scope` is 'all'.
afe42d0… ragelink 1514 * @returns {String|Array} In match-first mode: First match as a string, or `null`. In match-all
afe42d0… ragelink 1515 * mode: Array of all matched strings, or an empty array.
afe42d0… ragelink 1516 * @example
afe42d0… ragelink 1517 *
afe42d0… ragelink 1518 * // Match first
afe42d0… ragelink 1519 * XRegExp.match('abc', /\w/); // -> 'a'
afe42d0… ragelink 1520 * XRegExp.match('abc', /\w/g, 'one'); // -> 'a'
afe42d0… ragelink 1521 * XRegExp.match('abc', /x/g, 'one'); // -> null
afe42d0… ragelink 1522 *
afe42d0… ragelink 1523 * // Match all
afe42d0… ragelink 1524 * XRegExp.match('abc', /\w/g); // -> ['a', 'b', 'c']
afe42d0… ragelink 1525 * XRegExp.match('abc', /\w/, 'all'); // -> ['a', 'b', 'c']
afe42d0… ragelink 1526 * XRegExp.match('abc', /x/, 'all'); // -> []
afe42d0… ragelink 1527 */
afe42d0… ragelink 1528
afe42d0… ragelink 1529
afe42d0… ragelink 1530 XRegExp.match = function (str, regex, scope) {
afe42d0… ragelink 1531 var global = regex.global && scope !== 'one' || scope === 'all';
afe42d0… ragelink 1532 var cacheKey = (global ? 'g' : '') + (regex.sticky ? 'y' : '') || 'noGY';
afe42d0… ragelink 1533 regex[REGEX_DATA] = regex[REGEX_DATA] || {}; // Shares cached copies with `XRegExp.exec`/`replace`
afe42d0… ragelink 1534
afe42d0… ragelink 1535 var r2 = regex[REGEX_DATA][cacheKey] || (regex[REGEX_DATA][cacheKey] = copyRegex(regex, {
afe42d0… ragelink 1536 addG: !!global,
afe42d0… ragelink 1537 removeG: scope === 'one',
afe42d0… ragelink 1538 isInternalOnly: true
afe42d0… ragelink 1539 }));
afe42d0… ragelink 1540 var result = String(nullThrows(str)).match(r2);
afe42d0… ragelink 1541
afe42d0… ragelink 1542 if (regex.global) {
afe42d0… ragelink 1543 regex.lastIndex = scope === 'one' && result ? // Can't use `r2.lastIndex` since `r2` is nonglobal in this case
afe42d0… ragelink 1544 result.index + result[0].length : 0;
afe42d0… ragelink 1545 }
afe42d0… ragelink 1546
afe42d0… ragelink 1547 return global ? result || [] : result && result[0];
afe42d0… ragelink 1548 };
afe42d0… ragelink 1549 /**
afe42d0… ragelink 1550 * Retrieves the matches from searching a string using a chain of regexes that successively search
afe42d0… ragelink 1551 * within previous matches. The provided `chain` array can contain regexes and or objects with
afe42d0… ragelink 1552 * `regex` and `backref` properties. When a backreference is specified, the named or numbered
afe42d0… ragelink 1553 * backreference is passed forward to the next regex or returned.
afe42d0… ragelink 1554 *
afe42d0… ragelink 1555 * @memberOf XRegExp
afe42d0… ragelink 1556 * @param {String} str String to search.
afe42d0… ragelink 1557 * @param {Array} chain Regexes that each search for matches within preceding results.
afe42d0… ragelink 1558 * @returns {Array} Matches by the last regex in the chain, or an empty array.
afe42d0… ragelink 1559 * @example
afe42d0… ragelink 1560 *
afe42d0… ragelink 1561 * // Basic usage; matches numbers within <b> tags
afe42d0… ragelink 1562 * XRegExp.matchChain('1 <b>2</b> 3 <b>4 a 56</b>', [
afe42d0… ragelink 1563 * XRegExp('(?is)<b>.*?</b>'),
afe42d0… ragelink 1564 * /\d+/
afe42d0… ragelink 1565 * ]);
afe42d0… ragelink 1566 * // -> ['2', '4', '56']
afe42d0… ragelink 1567 *
afe42d0… ragelink 1568 * // Passing forward and returning specific backreferences
afe42d0… ragelink 1569 * const html = `<a href="http://xregexp.com/api/">XRegExp</a>
afe42d0… ragelink 1570 * <a href="http://www.google.com/">Google</a>`;
afe42d0… ragelink 1571 * XRegExp.matchChain(html, [
afe42d0… ragelink 1572 * {regex: /<a href="([^"]+)">/i, backref: 1},
afe42d0… ragelink 1573 * {regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain'}
afe42d0… ragelink 1574 * ]);
afe42d0… ragelink 1575 * // -> ['xregexp.com', 'www.google.com']
afe42d0… ragelink 1576 */
afe42d0… ragelink 1577
afe42d0… ragelink 1578
afe42d0… ragelink 1579 XRegExp.matchChain = function (str, chain) {
afe42d0… ragelink 1580 return function recurseChain(values, level) {
afe42d0… ragelink 1581 var item = chain[level].regex ? chain[level] : {
afe42d0… ragelink 1582 regex: chain[level]
afe42d0… ragelink 1583 };
afe42d0… ragelink 1584 var matches = [];
afe42d0… ragelink 1585
afe42d0… ragelink 1586 function addMatch(match) {
afe42d0… ragelink 1587 if (item.backref) {
afe42d0… ragelink 1588 var ERR_UNDEFINED_GROUP = "Backreference to undefined group: ".concat(item.backref);
afe42d0… ragelink 1589 var isNamedBackref = isNaN(item.backref);
afe42d0… ragelink 1590
afe42d0… ragelink 1591 if (isNamedBackref && XRegExp.isInstalled('namespacing')) {
afe42d0… ragelink 1592 // `groups` has `null` as prototype, so using `in` instead of `hasOwnProperty`
afe42d0… ragelink 1593 if (!(match.groups && item.backref in match.groups)) {
afe42d0… ragelink 1594 throw new ReferenceError(ERR_UNDEFINED_GROUP);
afe42d0… ragelink 1595 }
afe42d0… ragelink 1596 } else if (!match.hasOwnProperty(item.backref)) {
afe42d0… ragelink 1597 throw new ReferenceError(ERR_UNDEFINED_GROUP);
afe42d0… ragelink 1598 }
afe42d0… ragelink 1599
afe42d0… ragelink 1600 var backrefValue = isNamedBackref && XRegExp.isInstalled('namespacing') ? match.groups[item.backref] : match[item.backref];
afe42d0… ragelink 1601 matches.push(backrefValue || '');
afe42d0… ragelink 1602 } else {
afe42d0… ragelink 1603 matches.push(match[0]);
afe42d0… ragelink 1604 }
afe42d0… ragelink 1605 }
afe42d0… ragelink 1606
afe42d0… ragelink 1607 var _iterator3 = _createForOfIteratorHelper(values),
afe42d0… ragelink 1608 _step3;
afe42d0… ragelink 1609
afe42d0… ragelink 1610 try {
afe42d0… ragelink 1611 for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
afe42d0… ragelink 1612 var value = _step3.value;
afe42d0… ragelink 1613 (0, _forEach["default"])(XRegExp).call(XRegExp, value, item.regex, addMatch);
afe42d0… ragelink 1614 }
afe42d0… ragelink 1615 } catch (err) {
afe42d0… ragelink 1616 _iterator3.e(err);
afe42d0… ragelink 1617 } finally {
afe42d0… ragelink 1618 _iterator3.f();
afe42d0… ragelink 1619 }
afe42d0… ragelink 1620
afe42d0… ragelink 1621 return level === chain.length - 1 || !matches.length ? matches : recurseChain(matches, level + 1);
afe42d0… ragelink 1622 }([str], 0);
afe42d0… ragelink 1623 };
afe42d0… ragelink 1624 /**
afe42d0… ragelink 1625 * Returns a new string with one or all matches of a pattern replaced. The pattern can be a string
afe42d0… ragelink 1626 * or regex, and the replacement can be a string or a function to be called for each match. To
afe42d0… ragelink 1627 * perform a global search and replace, use the optional `scope` argument or include flag g if using
afe42d0… ragelink 1628 * a regex. Replacement strings can use `$<n>` or `${n}` for named and numbered backreferences.
afe42d0… ragelink 1629 * Replacement functions can use named backreferences via the last argument. Also fixes browser bugs
afe42d0… ragelink 1630 * compared to the native `String.prototype.replace` and can be used reliably cross-browser.
afe42d0… ragelink 1631 *
afe42d0… ragelink 1632 * @memberOf XRegExp
afe42d0… ragelink 1633 * @param {String} str String to search.
afe42d0… ragelink 1634 * @param {RegExp|String} search Search pattern to be replaced.
afe42d0… ragelink 1635 * @param {String|Function} replacement Replacement string or a function invoked to create it.
afe42d0… ragelink 1636 * Replacement strings can include special replacement syntax:
afe42d0… ragelink 1637 * - $$ - Inserts a literal $ character.
afe42d0… ragelink 1638 * - $&, $0 - Inserts the matched substring.
afe42d0… ragelink 1639 * - $` - Inserts the string that precedes the matched substring (left context).
afe42d0… ragelink 1640 * - $' - Inserts the string that follows the matched substring (right context).
afe42d0… ragelink 1641 * - $n, $nn - Where n/nn are digits referencing an existing capturing group, inserts
afe42d0… ragelink 1642 * backreference n/nn.
afe42d0… ragelink 1643 * - $<n>, ${n} - Where n is a name or any number of digits that reference an existing capturing
afe42d0… ragelink 1644 * group, inserts backreference n.
afe42d0… ragelink 1645 * Replacement functions are invoked with three or more arguments:
afe42d0… ragelink 1646 * - args[0] - The matched substring (corresponds to `$&` above). If the `namespacing` feature
afe42d0… ragelink 1647 * is off, named backreferences are accessible as properties of this argument.
afe42d0… ragelink 1648 * - args[1..n] - One argument for each backreference (corresponding to `$1`, `$2`, etc. above).
afe42d0… ragelink 1649 * If the regex has no capturing groups, no arguments appear in this position.
afe42d0… ragelink 1650 * - args[n+1] - The zero-based index of the match within the entire search string.
afe42d0… ragelink 1651 * - args[n+2] - The total string being searched.
afe42d0… ragelink 1652 * - args[n+3] - If the the search pattern is a regex with named capturing groups, the last
afe42d0… ragelink 1653 * argument is the groups object. Its keys are the backreference names and its values are the
afe42d0… ragelink 1654 * backreference values. If the `namespacing` feature is off, this argument is not present.
afe42d0… ragelink 1655 * @param {String} [scope] Use 'one' to replace the first match only, or 'all'. Defaults to 'one'.
afe42d0… ragelink 1656 * Defaults to 'all' if using a regex with flag g.
afe42d0… ragelink 1657 * @returns {String} New string with one or all matches replaced.
afe42d0… ragelink 1658 * @example
afe42d0… ragelink 1659 *
afe42d0… ragelink 1660 * // Regex search, using named backreferences in replacement string
afe42d0… ragelink 1661 * const name = XRegExp('(?<first>\\w+) (?<last>\\w+)');
afe42d0… ragelink 1662 * XRegExp.replace('John Smith', name, '$<last>, $<first>');
afe42d0… ragelink 1663 * // -> 'Smith, John'
afe42d0… ragelink 1664 *
afe42d0… ragelink 1665 * // Regex search, using named backreferences in replacement function
afe42d0… ragelink 1666 * XRegExp.replace('John Smith', name, (...args) => {
afe42d0… ragelink 1667 * const groups = args[args.length - 1];
afe42d0… ragelink 1668 * return `${groups.last}, ${groups.first}`;
afe42d0… ragelink 1669 * });
afe42d0… ragelink 1670 * // -> 'Smith, John'
afe42d0… ragelink 1671 *
afe42d0… ragelink 1672 * // String search, with replace-all
afe42d0… ragelink 1673 * XRegExp.replace('RegExp builds RegExps', 'RegExp', 'XRegExp', 'all');
afe42d0… ragelink 1674 * // -> 'XRegExp builds XRegExps'
afe42d0… ragelink 1675 */
afe42d0… ragelink 1676
afe42d0… ragelink 1677
afe42d0… ragelink 1678 XRegExp.replace = function (str, search, replacement, scope) {
afe42d0… ragelink 1679 var isRegex = XRegExp.isRegExp(search);
afe42d0… ragelink 1680 var global = search.global && scope !== 'one' || scope === 'all';
afe42d0… ragelink 1681 var cacheKey = (global ? 'g' : '') + (search.sticky ? 'y' : '') || 'noGY';
afe42d0… ragelink 1682 var s2 = search;
afe42d0… ragelink 1683
afe42d0… ragelink 1684 if (isRegex) {
afe42d0… ragelink 1685 search[REGEX_DATA] = search[REGEX_DATA] || {}; // Shares cached copies with `XRegExp.exec`/`match`. Since a copy is used, `search`'s
afe42d0… ragelink 1686 // `lastIndex` isn't updated *during* replacement iterations
afe42d0… ragelink 1687
afe42d0… ragelink 1688 s2 = search[REGEX_DATA][cacheKey] || (search[REGEX_DATA][cacheKey] = copyRegex(search, {
afe42d0… ragelink 1689 addG: !!global,
afe42d0… ragelink 1690 removeG: scope === 'one',
afe42d0… ragelink 1691 isInternalOnly: true
afe42d0… ragelink 1692 }));
afe42d0… ragelink 1693 } else if (global) {
afe42d0… ragelink 1694 s2 = new RegExp(XRegExp.escape(String(search)), 'g');
afe42d0… ragelink 1695 } // Fixed `replace` required for named backreferences, etc.
afe42d0… ragelink 1696
afe42d0… ragelink 1697
afe42d0… ragelink 1698 var result = fixed.replace.call(nullThrows(str), s2, replacement);
afe42d0… ragelink 1699
afe42d0… ragelink 1700 if (isRegex && search.global) {
afe42d0… ragelink 1701 // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)
afe42d0… ragelink 1702 search.lastIndex = 0;
afe42d0… ragelink 1703 }
afe42d0… ragelink 1704
afe42d0… ragelink 1705 return result;
afe42d0… ragelink 1706 };
afe42d0… ragelink 1707 /**
afe42d0… ragelink 1708 * Performs batch processing of string replacements. Used like `XRegExp.replace`, but accepts an
afe42d0… ragelink 1709 * array of replacement details. Later replacements operate on the output of earlier replacements.
afe42d0… ragelink 1710 * Replacement details are accepted as an array with a regex or string to search for, the
afe42d0… ragelink 1711 * replacement string or function, and an optional scope of 'one' or 'all'. Uses the XRegExp
afe42d0… ragelink 1712 * replacement text syntax, which supports named backreference properties via `$<name>` or
afe42d0… ragelink 1713 * `${name}`.
afe42d0… ragelink 1714 *
afe42d0… ragelink 1715 * @memberOf XRegExp
afe42d0… ragelink 1716 * @param {String} str String to search.
afe42d0… ragelink 1717 * @param {Array} replacements Array of replacement detail arrays.
afe42d0… ragelink 1718 * @returns {String} New string with all replacements.
afe42d0… ragelink 1719 * @example
afe42d0… ragelink 1720 *
afe42d0… ragelink 1721 * str = XRegExp.replaceEach(str, [
afe42d0… ragelink 1722 * [XRegExp('(?<name>a)'), 'z$<name>'],
afe42d0… ragelink 1723 * [/b/gi, 'y'],
afe42d0… ragelink 1724 * [/c/g, 'x', 'one'], // scope 'one' overrides /g
afe42d0… ragelink 1725 * [/d/, 'w', 'all'], // scope 'all' overrides lack of /g
afe42d0… ragelink 1726 * ['e', 'v', 'all'], // scope 'all' allows replace-all for strings
afe42d0… ragelink 1727 * [/f/g, (match) => match.toUpperCase()]
afe42d0… ragelink 1728 * ]);
afe42d0… ragelink 1729 */
afe42d0… ragelink 1730
afe42d0… ragelink 1731
afe42d0… ragelink 1732 XRegExp.replaceEach = function (str, replacements) {
afe42d0… ragelink 1733 var _iterator4 = _createForOfIteratorHelper(replacements),
afe42d0… ragelink 1734 _step4;
afe42d0… ragelink 1735
afe42d0… ragelink 1736 try {
afe42d0… ragelink 1737 for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
afe42d0… ragelink 1738 var r = _step4.value;
afe42d0… ragelink 1739 str = XRegExp.replace(str, r[0], r[1], r[2]);
afe42d0… ragelink 1740 }
afe42d0… ragelink 1741 } catch (err) {
afe42d0… ragelink 1742 _iterator4.e(err);
afe42d0… ragelink 1743 } finally {
afe42d0… ragelink 1744 _iterator4.f();
afe42d0… ragelink 1745 }
afe42d0… ragelink 1746
afe42d0… ragelink 1747 return str;
afe42d0… ragelink 1748 };
afe42d0… ragelink 1749 /**
afe42d0… ragelink 1750 * Splits a string into an array of strings using a regex or string separator. Matches of the
afe42d0… ragelink 1751 * separator are not included in the result array. However, if `separator` is a regex that contains
afe42d0… ragelink 1752 * capturing groups, backreferences are spliced into the result each time `separator` is matched.
afe42d0… ragelink 1753 * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably
afe42d0… ragelink 1754 * cross-browser.
afe42d0… ragelink 1755 *
afe42d0… ragelink 1756 * @memberOf XRegExp
afe42d0… ragelink 1757 * @param {String} str String to split.
afe42d0… ragelink 1758 * @param {RegExp|String} separator Regex or string to use for separating the string.
afe42d0… ragelink 1759 * @param {Number} [limit] Maximum number of items to include in the result array.
afe42d0… ragelink 1760 * @returns {Array} Array of substrings.
afe42d0… ragelink 1761 * @example
afe42d0… ragelink 1762 *
afe42d0… ragelink 1763 * // Basic use
afe42d0… ragelink 1764 * XRegExp.split('a b c', ' ');
afe42d0… ragelink 1765 * // -> ['a', 'b', 'c']
afe42d0… ragelink 1766 *
afe42d0… ragelink 1767 * // With limit
afe42d0… ragelink 1768 * XRegExp.split('a b c', ' ', 2);
afe42d0… ragelink 1769 * // -> ['a', 'b']
afe42d0… ragelink 1770 *
afe42d0… ragelink 1771 * // Backreferences in result array
afe42d0… ragelink 1772 * XRegExp.split('..word1..', /([a-z]+)(\d+)/i);
afe42d0… ragelink 1773 * // -> ['..', 'word', '1', '..']
afe42d0… ragelink 1774 */
afe42d0… ragelink 1775
afe42d0… ragelink 1776
afe42d0… ragelink 1777 XRegExp.split = function (str, separator, limit) {
afe42d0… ragelink 1778 return fixed.split.call(nullThrows(str), separator, limit);
afe42d0… ragelink 1779 };
afe42d0… ragelink 1780 /**
afe42d0… ragelink 1781 * Executes a regex search in a specified string. Returns `true` or `false`. Optional `pos` and
afe42d0… ragelink 1782 * `sticky` arguments specify the search start position, and whether the match must start at the
afe42d0… ragelink 1783 * specified position only. The `lastIndex` property of the provided regex is not used, but is
afe42d0… ragelink 1784 * updated for compatibility. Also fixes browser bugs compared to the native
afe42d0… ragelink 1785 * `RegExp.prototype.test` and can be used reliably cross-browser.
afe42d0… ragelink 1786 *
afe42d0… ragelink 1787 * @memberOf XRegExp
afe42d0… ragelink 1788 * @param {String} str String to search.
afe42d0… ragelink 1789 * @param {RegExp} regex Regex to search with.
afe42d0… ragelink 1790 * @param {Number} [pos=0] Zero-based index at which to start the search.
afe42d0… ragelink 1791 * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position
afe42d0… ragelink 1792 * only. The string `'sticky'` is accepted as an alternative to `true`.
afe42d0… ragelink 1793 * @returns {boolean} Whether the regex matched the provided value.
afe42d0… ragelink 1794 * @example
afe42d0… ragelink 1795 *
afe42d0… ragelink 1796 * // Basic use
afe42d0… ragelink 1797 * XRegExp.test('abc', /c/); // -> true
afe42d0… ragelink 1798 *
afe42d0… ragelink 1799 * // With pos and sticky
afe42d0… ragelink 1800 * XRegExp.test('abc', /c/, 0, 'sticky'); // -> false
afe42d0… ragelink 1801 * XRegExp.test('abc', /c/, 2, 'sticky'); // -> true
afe42d0… ragelink 1802 */
afe42d0… ragelink 1803 // Do this the easy way :-)
afe42d0… ragelink 1804
afe42d0… ragelink 1805
afe42d0… ragelink 1806 XRegExp.test = function (str, regex, pos, sticky) {
afe42d0… ragelink 1807 return !!XRegExp.exec(str, regex, pos, sticky);
afe42d0… ragelink 1808 };
afe42d0… ragelink 1809 /**
afe42d0… ragelink 1810 * Uninstalls optional features according to the specified options. Used to undo the actions of
afe42d0… ragelink 1811 * `XRegExp.install`.
afe42d0… ragelink 1812 *
afe42d0… ragelink 1813 * @memberOf XRegExp
afe42d0… ragelink 1814 * @param {Object|String} options Options object or string.
afe42d0… ragelink 1815 * @example
afe42d0… ragelink 1816 *
afe42d0… ragelink 1817 * // With an options object
afe42d0… ragelink 1818 * XRegExp.uninstall({
afe42d0… ragelink 1819 * // Disables support for astral code points in Unicode addons (unless enabled per regex)
afe42d0… ragelink 1820 * astral: true,
afe42d0… ragelink 1821 *
afe42d0… ragelink 1822 * // Don't add named capture groups to the `groups` property of matches
afe42d0… ragelink 1823 * namespacing: true
afe42d0… ragelink 1824 * });
afe42d0… ragelink 1825 *
afe42d0… ragelink 1826 * // With an options string
afe42d0… ragelink 1827 * XRegExp.uninstall('astral namespacing');
afe42d0… ragelink 1828 */
afe42d0… ragelink 1829
afe42d0… ragelink 1830
afe42d0… ragelink 1831 XRegExp.uninstall = function (options) {
afe42d0… ragelink 1832 options = prepareOptions(options);
afe42d0… ragelink 1833
afe42d0… ragelink 1834 if (features.astral && options.astral) {
afe42d0… ragelink 1835 setAstral(false);
afe42d0… ragelink 1836 }
afe42d0… ragelink 1837
afe42d0… ragelink 1838 if (features.namespacing && options.namespacing) {
afe42d0… ragelink 1839 setNamespacing(false);
afe42d0… ragelink 1840 }
afe42d0… ragelink 1841 };
afe42d0… ragelink 1842 /**
afe42d0… ragelink 1843 * Returns an XRegExp object that is the union of the given patterns. Patterns can be provided as
afe42d0… ragelink 1844 * regex objects or strings. Metacharacters are escaped in patterns provided as strings.
afe42d0… ragelink 1845 * Backreferences in provided regex objects are automatically renumbered to work correctly within
afe42d0… ragelink 1846 * the larger combined pattern. Native flags used by provided regexes are ignored in favor of the
afe42d0… ragelink 1847 * `flags` argument.
afe42d0… ragelink 1848 *
afe42d0… ragelink 1849 * @memberOf XRegExp
afe42d0… ragelink 1850 * @param {Array} patterns Regexes and strings to combine.
afe42d0… ragelink 1851 * @param {String} [flags] Any combination of XRegExp flags.
afe42d0… ragelink 1852 * @param {Object} [options] Options object with optional properties:
afe42d0… ragelink 1853 * - `conjunction` {String} Type of conjunction to use: 'or' (default) or 'none'.
afe42d0… ragelink 1854 * @returns {RegExp} Union of the provided regexes and strings.
afe42d0… ragelink 1855 * @example
afe42d0… ragelink 1856 *
afe42d0… ragelink 1857 * XRegExp.union(['a+b*c', /(dogs)\1/, /(cats)\1/], 'i');
afe42d0… ragelink 1858 * // -> /a\+b\*c|(dogs)\1|(cats)\2/i
afe42d0… ragelink 1859 *
afe42d0… ragelink 1860 * XRegExp.union([/man/, /bear/, /pig/], 'i', {conjunction: 'none'});
afe42d0… ragelink 1861 * // -> /manbearpig/i
afe42d0… ragelink 1862 */
afe42d0… ragelink 1863
afe42d0… ragelink 1864
afe42d0… ragelink 1865 XRegExp.union = function (patterns, flags, options) {
afe42d0… ragelink 1866 options = options || {};
afe42d0… ragelink 1867 var conjunction = options.conjunction || 'or';
afe42d0… ragelink 1868 var numCaptures = 0;
afe42d0… ragelink 1869 var numPriorCaptures;
afe42d0… ragelink 1870 var captureNames;
afe42d0… ragelink 1871
afe42d0… ragelink 1872 function rewrite(match, paren, backref) {
afe42d0… ragelink 1873 var name = captureNames[numCaptures - numPriorCaptures]; // Capturing group
afe42d0… ragelink 1874
afe42d0… ragelink 1875 if (paren) {
afe42d0… ragelink 1876 ++numCaptures; // If the current capture has a name, preserve the name
afe42d0… ragelink 1877
afe42d0… ragelink 1878 if (name) {
afe42d0… ragelink 1879 return "(?<".concat(name, ">");
afe42d0… ragelink 1880 } // Backreference
afe42d0… ragelink 1881
afe42d0… ragelink 1882 } else if (backref) {
afe42d0… ragelink 1883 // Rewrite the backreference
afe42d0… ragelink 1884 return "\\".concat(+backref + numPriorCaptures);
afe42d0… ragelink 1885 }
afe42d0… ragelink 1886
afe42d0… ragelink 1887 return match;
afe42d0… ragelink 1888 }
afe42d0… ragelink 1889
afe42d0… ragelink 1890 if (!(isType(patterns, 'Array') && patterns.length)) {
afe42d0… ragelink 1891 throw new TypeError('Must provide a nonempty array of patterns to merge');
afe42d0… ragelink 1892 }
afe42d0… ragelink 1893
afe42d0… ragelink 1894 var parts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g;
afe42d0… ragelink 1895 var output = [];
afe42d0… ragelink 1896
afe42d0… ragelink 1897 var _iterator5 = _createForOfIteratorHelper(patterns),
afe42d0… ragelink 1898 _step5;
afe42d0… ragelink 1899
afe42d0… ragelink 1900 try {
afe42d0… ragelink 1901 for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
afe42d0… ragelink 1902 var pattern = _step5.value;
afe42d0… ragelink 1903
afe42d0… ragelink 1904 if (XRegExp.isRegExp(pattern)) {
afe42d0… ragelink 1905 numPriorCaptures = numCaptures;
afe42d0… ragelink 1906 captureNames = pattern[REGEX_DATA] && pattern[REGEX_DATA].captureNames || []; // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns are
afe42d0… ragelink 1907 // independently valid; helps keep this simple. Named captures are put back
afe42d0… ragelink 1908
afe42d0… ragelink 1909 output.push(XRegExp(pattern.source).source.replace(parts, rewrite));
afe42d0… ragelink 1910 } else {
afe42d0… ragelink 1911 output.push(XRegExp.escape(pattern));
afe42d0… ragelink 1912 }
afe42d0… ragelink 1913 }
afe42d0… ragelink 1914 } catch (err) {
afe42d0… ragelink 1915 _iterator5.e(err);
afe42d0… ragelink 1916 } finally {
afe42d0… ragelink 1917 _iterator5.f();
afe42d0… ragelink 1918 }
afe42d0… ragelink 1919
afe42d0… ragelink 1920 var separator = conjunction === 'none' ? '' : '|';
afe42d0… ragelink 1921 return XRegExp(output.join(separator), flags);
afe42d0… ragelink 1922 }; // ==--------------------------==
afe42d0… ragelink 1923 // Fixed/extended native methods
afe42d0… ragelink 1924 // ==--------------------------==
afe42d0… ragelink 1925
afe42d0… ragelink 1926 /**
afe42d0… ragelink 1927 * Adds named capture support (with backreferences returned as `result.name`), and fixes browser
afe42d0… ragelink 1928 * bugs in the native `RegExp.prototype.exec`. Use via `XRegExp.exec`.
afe42d0… ragelink 1929 *
afe42d0… ragelink 1930 * @memberOf RegExp
afe42d0… ragelink 1931 * @param {String} str String to search.
afe42d0… ragelink 1932 * @returns {Array} Match array with named backreference properties, or `null`.
afe42d0… ragelink 1933 */
afe42d0… ragelink 1934
afe42d0… ragelink 1935
afe42d0… ragelink 1936 fixed.exec = function (str) {
afe42d0… ragelink 1937 var origLastIndex = this.lastIndex;
afe42d0… ragelink 1938 var match = RegExp.prototype.exec.apply(this, arguments);
afe42d0… ragelink 1939
afe42d0… ragelink 1940 if (match) {
afe42d0… ragelink 1941 // Fix browsers whose `exec` methods don't return `undefined` for nonparticipating capturing
afe42d0… ragelink 1942 // groups. This fixes IE 5.5-8, but not IE 9's quirks mode or emulation of older IEs. IE 9
afe42d0… ragelink 1943 // in standards mode follows the spec.
afe42d0… ragelink 1944 if (!correctExecNpcg && match.length > 1 && (0, _indexOf["default"])(match).call(match, '') !== -1) {
afe42d0… ragelink 1945 var _context3;
afe42d0… ragelink 1946
afe42d0… ragelink 1947 var r2 = copyRegex(this, {
afe42d0… ragelink 1948 removeG: true,
afe42d0… ragelink 1949 isInternalOnly: true
afe42d0… ragelink 1950 }); // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed
afe42d0… ragelink 1951 // matching due to characters outside the match
afe42d0… ragelink 1952
afe42d0… ragelink 1953 (0, _slice["default"])(_context3 = String(str)).call(_context3, match.index).replace(r2, function () {
afe42d0… ragelink 1954 var len = arguments.length; // Skip index 0 and the last 2
afe42d0… ragelink 1955
afe42d0… ragelink 1956 for (var i = 1; i < len - 2; ++i) {
afe42d0… ragelink 1957 if ((i < 0 || arguments.length <= i ? undefined : arguments[i]) === undefined) {
afe42d0… ragelink 1958 match[i] = undefined;
afe42d0… ragelink 1959 }
afe42d0… ragelink 1960 }
afe42d0… ragelink 1961 });
afe42d0… ragelink 1962 } // Attach named capture properties
afe42d0… ragelink 1963
afe42d0… ragelink 1964
afe42d0… ragelink 1965 if (this[REGEX_DATA] && this[REGEX_DATA].captureNames) {
afe42d0… ragelink 1966 var groupsObject = match;
afe42d0… ragelink 1967
afe42d0… ragelink 1968 if (XRegExp.isInstalled('namespacing')) {
afe42d0… ragelink 1969 // https://tc39.github.io/proposal-regexp-named-groups/#sec-regexpbuiltinexec
afe42d0… ragelink 1970 match.groups = (0, _create["default"])(null);
afe42d0… ragelink 1971 groupsObject = match.groups;
afe42d0… ragelink 1972 } // Skip index 0
afe42d0… ragelink 1973
afe42d0… ragelink 1974
afe42d0… ragelink 1975 for (var i = 1; i < match.length; ++i) {
afe42d0… ragelink 1976 var name = this[REGEX_DATA].captureNames[i - 1];
afe42d0… ragelink 1977
afe42d0… ragelink 1978 if (name) {
afe42d0… ragelink 1979 groupsObject[name] = match[i];
afe42d0… ragelink 1980 }
afe42d0… ragelink 1981 } // Preserve any existing `groups` obj that came from native ES2018 named capture
afe42d0… ragelink 1982
afe42d0… ragelink 1983 } else if (!match.groups && XRegExp.isInstalled('namespacing')) {
afe42d0… ragelink 1984 match.groups = undefined;
afe42d0… ragelink 1985 } // Fix browsers that increment `lastIndex` after zero-length matches
afe42d0… ragelink 1986
afe42d0… ragelink 1987
afe42d0… ragelink 1988 if (this.global && !match[0].length && this.lastIndex > match.index) {
afe42d0… ragelink 1989 this.lastIndex = match.index;
afe42d0… ragelink 1990 }
afe42d0… ragelink 1991 }
afe42d0… ragelink 1992
afe42d0… ragelink 1993 if (!this.global) {
afe42d0… ragelink 1994 // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)
afe42d0… ragelink 1995 this.lastIndex = origLastIndex;
afe42d0… ragelink 1996 }
afe42d0… ragelink 1997
afe42d0… ragelink 1998 return match;
afe42d0… ragelink 1999 };
afe42d0… ragelink 2000 /**
afe42d0… ragelink 2001 * Fixes browser bugs in the native `RegExp.prototype.test`.
afe42d0… ragelink 2002 *
afe42d0… ragelink 2003 * @memberOf RegExp
afe42d0… ragelink 2004 * @param {String} str String to search.
afe42d0… ragelink 2005 * @returns {boolean} Whether the regex matched the provided value.
afe42d0… ragelink 2006 */
afe42d0… ragelink 2007
afe42d0… ragelink 2008
afe42d0… ragelink 2009 fixed.test = function (str) {
afe42d0… ragelink 2010 // Do this the easy way :-)
afe42d0… ragelink 2011 return !!fixed.exec.call(this, str);
afe42d0… ragelink 2012 };
afe42d0… ragelink 2013 /**
afe42d0… ragelink 2014 * Adds named capture support (with backreferences returned as `result.name`), and fixes browser
afe42d0… ragelink 2015 * bugs in the native `String.prototype.match`.
afe42d0… ragelink 2016 *
afe42d0… ragelink 2017 * @memberOf String
afe42d0… ragelink 2018 * @param {RegExp|*} regex Regex to search with. If not a regex object, it is passed to `RegExp`.
afe42d0… ragelink 2019 * @returns {Array} If `regex` uses flag g, an array of match strings or `null`. Without flag g,
afe42d0… ragelink 2020 * the result of calling `regex.exec(this)`.
afe42d0… ragelink 2021 */
afe42d0… ragelink 2022
afe42d0… ragelink 2023
afe42d0… ragelink 2024 fixed.match = function (regex) {
afe42d0… ragelink 2025 if (!XRegExp.isRegExp(regex)) {
afe42d0… ragelink 2026 // Use the native `RegExp` rather than `XRegExp`
afe42d0… ragelink 2027 regex = new RegExp(regex);
afe42d0… ragelink 2028 } else if (regex.global) {
afe42d0… ragelink 2029 var result = String.prototype.match.apply(this, arguments); // Fixes IE bug
afe42d0… ragelink 2030
afe42d0… ragelink 2031 regex.lastIndex = 0;
afe42d0… ragelink 2032 return result;
afe42d0… ragelink 2033 }
afe42d0… ragelink 2034
afe42d0… ragelink 2035 return fixed.exec.call(regex, nullThrows(this));
afe42d0… ragelink 2036 };
afe42d0… ragelink 2037 /**
afe42d0… ragelink 2038 * Adds support for `${n}` (or `$<n>`) tokens for named and numbered backreferences in replacement
afe42d0… ragelink 2039 * text, and provides named backreferences to replacement functions as `arguments[0].name`. Also
afe42d0… ragelink 2040 * fixes browser bugs in replacement text syntax when performing a replacement using a nonregex
afe42d0… ragelink 2041 * search value, and the value of a replacement regex's `lastIndex` property during replacement
afe42d0… ragelink 2042 * iterations and upon completion. Note that this doesn't support SpiderMonkey's proprietary third
afe42d0… ragelink 2043 * (`flags`) argument. Use via `XRegExp.replace`.
afe42d0… ragelink 2044 *
afe42d0… ragelink 2045 * @memberOf String
afe42d0… ragelink 2046 * @param {RegExp|String} search Search pattern to be replaced.
afe42d0… ragelink 2047 * @param {String|Function} replacement Replacement string or a function invoked to create it.
afe42d0… ragelink 2048 * @returns {string} New string with one or all matches replaced.
afe42d0… ragelink 2049 */
afe42d0… ragelink 2050
afe42d0… ragelink 2051
afe42d0… ragelink 2052 fixed.replace = function (search, replacement) {
afe42d0… ragelink 2053 var isRegex = XRegExp.isRegExp(search);
afe42d0… ragelink 2054 var origLastIndex;
afe42d0… ragelink 2055 var captureNames;
afe42d0… ragelink 2056 var result;
afe42d0… ragelink 2057
afe42d0… ragelink 2058 if (isRegex) {
afe42d0… ragelink 2059 if (search[REGEX_DATA]) {
afe42d0… ragelink 2060 captureNames = search[REGEX_DATA].captureNames;
afe42d0… ragelink 2061 } // Only needed if `search` is nonglobal
afe42d0… ragelink 2062
afe42d0… ragelink 2063
afe42d0… ragelink 2064 origLastIndex = search.lastIndex;
afe42d0… ragelink 2065 } else {
afe42d0… ragelink 2066 search += ''; // Type-convert
afe42d0… ragelink 2067 } // Don't use `typeof`; some older browsers return 'function' for regex objects
afe42d0… ragelink 2068
afe42d0… ragelink 2069
afe42d0… ragelink 2070 if (isType(replacement, 'Function')) {
afe42d0… ragelink 2071 // Stringifying `this` fixes a bug in IE < 9 where the last argument in replacement
afe42d0… ragelink 2072 // functions isn't type-converted to a string
afe42d0… ragelink 2073 result = String(this).replace(search, function () {
afe42d0… ragelink 2074 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
afe42d0… ragelink 2075 args[_key] = arguments[_key];
afe42d0… ragelink 2076 }
afe42d0… ragelink 2077
afe42d0… ragelink 2078 if (captureNames) {
afe42d0… ragelink 2079 var groupsObject;
afe42d0… ragelink 2080
afe42d0… ragelink 2081 if (XRegExp.isInstalled('namespacing')) {
afe42d0… ragelink 2082 // https://tc39.github.io/proposal-regexp-named-groups/#sec-regexpbuiltinexec
afe42d0… ragelink 2083 groupsObject = (0, _create["default"])(null);
afe42d0… ragelink 2084 args.push(groupsObject);
afe42d0… ragelink 2085 } else {
afe42d0… ragelink 2086 // Change the `args[0]` string primitive to a `String` object that can store
afe42d0… ragelink 2087 // properties. This really does need to use `String` as a constructor
afe42d0… ragelink 2088 args[0] = new String(args[0]);
afe42d0… ragelink 2089 groupsObject = args[0];
afe42d0… ragelink 2090 } // Store named backreferences
afe42d0… ragelink 2091
afe42d0… ragelink 2092
afe42d0… ragelink 2093 for (var i = 0; i < captureNames.length; ++i) {
afe42d0… ragelink 2094 if (captureNames[i]) {
afe42d0… ragelink 2095 groupsObject[captureNames[i]] = args[i + 1];
afe42d0… ragelink 2096 }
afe42d0… ragelink 2097 }
afe42d0… ragelink 2098 } // ES6 specs the context for replacement functions as `undefined`
afe42d0… ragelink 2099
afe42d0… ragelink 2100
afe42d0… ragelink 2101 return replacement.apply(void 0, args);
afe42d0… ragelink 2102 });
afe42d0… ragelink 2103 } else {
afe42d0… ragelink 2104 // Ensure that the last value of `args` will be a string when given nonstring `this`,
afe42d0… ragelink 2105 // while still throwing on null or undefined context
afe42d0… ragelink 2106 result = String(nullThrows(this)).replace(search, function () {
afe42d0… ragelink 2107 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
afe42d0… ragelink 2108 args[_key2] = arguments[_key2];
afe42d0… ragelink 2109 }
afe42d0… ragelink 2110
afe42d0… ragelink 2111 return String(replacement).replace(replacementToken, replacer);
afe42d0… ragelink 2112
afe42d0… ragelink 2113 function replacer($0, bracketed, angled, dollarToken) {
afe42d0… ragelink 2114 bracketed = bracketed || angled; // ES2018 added a new trailing `groups` arg that's passed to replacement functions
afe42d0… ragelink 2115 // when the search regex uses native named capture
afe42d0… ragelink 2116
afe42d0… ragelink 2117 var numNonCaptureArgs = isType(args[args.length - 1], 'Object') ? 4 : 3;
afe42d0… ragelink 2118 var numCaptures = args.length - numNonCaptureArgs; // Handle named or numbered backreference with curly or angled braces: ${n}, $<n>
afe42d0… ragelink 2119
afe42d0… ragelink 2120 if (bracketed) {
afe42d0… ragelink 2121 // Handle backreference to numbered capture, if `bracketed` is an integer. Use
afe42d0… ragelink 2122 // `0` for the entire match. Any number of leading zeros may be used.
afe42d0… ragelink 2123 if (/^\d+$/.test(bracketed)) {
afe42d0… ragelink 2124 // Type-convert and drop leading zeros
afe42d0… ragelink 2125 var _n = +bracketed;
afe42d0… ragelink 2126
afe42d0… ragelink 2127 if (_n <= numCaptures) {
afe42d0… ragelink 2128 return args[_n] || '';
afe42d0… ragelink 2129 }
afe42d0… ragelink 2130 } // Handle backreference to named capture. If the name does not refer to an
afe42d0… ragelink 2131 // existing capturing group, it's an error. Also handles the error for numbered
afe42d0… ragelink 2132 // backference that does not refer to an existing group.
afe42d0… ragelink 2133 // Using `indexOf` since having groups with the same name is already an error,
afe42d0… ragelink 2134 // otherwise would need `lastIndexOf`.
afe42d0… ragelink 2135
afe42d0… ragelink 2136
afe42d0… ragelink 2137 var n = captureNames ? (0, _indexOf["default"])(captureNames).call(captureNames, bracketed) : -1;
afe42d0… ragelink 2138
afe42d0… ragelink 2139 if (n < 0) {
afe42d0… ragelink 2140 throw new SyntaxError("Backreference to undefined group ".concat($0));
afe42d0… ragelink 2141 }
afe42d0… ragelink 2142
afe42d0… ragelink 2143 return args[n + 1] || '';
afe42d0… ragelink 2144 } // Handle `$`-prefixed variable
afe42d0… ragelink 2145 // Handle space/blank first because type conversion with `+` drops space padding
afe42d0… ragelink 2146 // and converts spaces and empty strings to `0`
afe42d0… ragelink 2147
afe42d0… ragelink 2148
afe42d0… ragelink 2149 if (dollarToken === '' || dollarToken === ' ') {
afe42d0… ragelink 2150 throw new SyntaxError("Invalid token ".concat($0));
afe42d0… ragelink 2151 }
afe42d0… ragelink 2152
afe42d0… ragelink 2153 if (dollarToken === '&' || +dollarToken === 0) {
afe42d0… ragelink 2154 // $&, $0 (not followed by 1-9), $00
afe42d0… ragelink 2155 return args[0];
afe42d0… ragelink 2156 }
afe42d0… ragelink 2157
afe42d0… ragelink 2158 if (dollarToken === '$') {
afe42d0… ragelink 2159 // $$
afe42d0… ragelink 2160 return '$';
afe42d0… ragelink 2161 }
afe42d0… ragelink 2162
afe42d0… ragelink 2163 if (dollarToken === '`') {
afe42d0… ragelink 2164 var _context4;
afe42d0… ragelink 2165
afe42d0… ragelink 2166 // $` (left context)
afe42d0… ragelink 2167 return (0, _slice["default"])(_context4 = args[args.length - 1]).call(_context4, 0, args[args.length - 2]);
afe42d0… ragelink 2168 }
afe42d0… ragelink 2169
afe42d0… ragelink 2170 if (dollarToken === "'") {
afe42d0… ragelink 2171 var _context5;
afe42d0… ragelink 2172
afe42d0… ragelink 2173 // $' (right context)
afe42d0… ragelink 2174 return (0, _slice["default"])(_context5 = args[args.length - 1]).call(_context5, args[args.length - 2] + args[0].length);
afe42d0… ragelink 2175 } // Handle numbered backreference without braces
afe42d0… ragelink 2176 // Type-convert and drop leading zero
afe42d0… ragelink 2177
afe42d0… ragelink 2178
afe42d0… ragelink 2179 dollarToken = +dollarToken; // XRegExp behavior for `$n` and `$nn`:
afe42d0… ragelink 2180 // - Backrefs end after 1 or 2 digits. Use `${..}` or `$<..>` for more digits.
afe42d0… ragelink 2181 // - `$1` is an error if no capturing groups.
afe42d0… ragelink 2182 // - `$10` is an error if less than 10 capturing groups. Use `${1}0` or `$<1>0`
afe42d0… ragelink 2183 // instead.
afe42d0… ragelink 2184 // - `$01` is `$1` if at least one capturing group, else it's an error.
afe42d0… ragelink 2185 // - `$0` (not followed by 1-9) and `$00` are the entire match.
afe42d0… ragelink 2186 // Native behavior, for comparison:
afe42d0… ragelink 2187 // - Backrefs end after 1 or 2 digits. Cannot reference capturing group 100+.
afe42d0… ragelink 2188 // - `$1` is a literal `$1` if no capturing groups.
afe42d0… ragelink 2189 // - `$10` is `$1` followed by a literal `0` if less than 10 capturing groups.
afe42d0… ragelink 2190 // - `$01` is `$1` if at least one capturing group, else it's a literal `$01`.
afe42d0… ragelink 2191 // - `$0` is a literal `$0`.
afe42d0… ragelink 2192
afe42d0… ragelink 2193 if (!isNaN(dollarToken)) {
afe42d0… ragelink 2194 if (dollarToken > numCaptures) {
afe42d0… ragelink 2195 throw new SyntaxError("Backreference to undefined group ".concat($0));
afe42d0… ragelink 2196 }
afe42d0… ragelink 2197
afe42d0… ragelink 2198 return args[dollarToken] || '';
afe42d0… ragelink 2199 } // `$` followed by an unsupported char is an error, unlike native JS
afe42d0… ragelink 2200
afe42d0… ragelink 2201
afe42d0… ragelink 2202 throw new SyntaxError("Invalid token ".concat($0));
afe42d0… ragelink 2203 }
afe42d0… ragelink 2204 });
afe42d0… ragelink 2205 }
afe42d0… ragelink 2206
afe42d0… ragelink 2207 if (isRegex) {
afe42d0… ragelink 2208 if (search.global) {
afe42d0… ragelink 2209 // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)
afe42d0… ragelink 2210 search.lastIndex = 0;
afe42d0… ragelink 2211 } else {
afe42d0… ragelink 2212 // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)
afe42d0… ragelink 2213 search.lastIndex = origLastIndex;
afe42d0… ragelink 2214 }
afe42d0… ragelink 2215 }
afe42d0… ragelink 2216
afe42d0… ragelink 2217 return result;
afe42d0… ragelink 2218 };
afe42d0… ragelink 2219 /**
afe42d0… ragelink 2220 * Fixes browser bugs in the native `String.prototype.split`. Use via `XRegExp.split`.
afe42d0… ragelink 2221 *
afe42d0… ragelink 2222 * @memberOf String
afe42d0… ragelink 2223 * @param {RegExp|String} separator Regex or string to use for separating the string.
afe42d0… ragelink 2224 * @param {Number} [limit] Maximum number of items to include in the result array.
afe42d0… ragelink 2225 * @returns {!Array} Array of substrings.
afe42d0… ragelink 2226 */
afe42d0… ragelink 2227
afe42d0… ragelink 2228
afe42d0… ragelink 2229 fixed.split = function (separator, limit) {
afe42d0… ragelink 2230 if (!XRegExp.isRegExp(separator)) {
afe42d0… ragelink 2231 // Browsers handle nonregex split correctly, so use the faster native method
afe42d0… ragelink 2232 return String.prototype.split.apply(this, arguments);
afe42d0… ragelink 2233 }
afe42d0… ragelink 2234
afe42d0… ragelink 2235 var str = String(this);
afe42d0… ragelink 2236 var output = [];
afe42d0… ragelink 2237 var origLastIndex = separator.lastIndex;
afe42d0… ragelink 2238 var lastLastIndex = 0;
afe42d0… ragelink 2239 var lastLength; // Values for `limit`, per the spec:
afe42d0… ragelink 2240 // If undefined: pow(2,32) - 1
afe42d0… ragelink 2241 // If 0, Infinity, or NaN: 0
afe42d0… ragelink 2242 // If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32);
afe42d0… ragelink 2243 // If negative number: pow(2,32) - floor(abs(limit))
afe42d0… ragelink 2244 // If other: Type-convert, then use the above rules
afe42d0… ragelink 2245 // This line fails in very strange ways for some values of `limit` in Opera 10.5-10.63, unless
afe42d0… ragelink 2246 // Opera Dragonfly is open (go figure). It works in at least Opera 9.5-10.1 and 11+
afe42d0… ragelink 2247
afe42d0… ragelink 2248 limit = (limit === undefined ? -1 : limit) >>> 0;
afe42d0… ragelink 2249 (0, _forEach["default"])(XRegExp).call(XRegExp, str, separator, function (match) {
afe42d0… ragelink 2250 // This condition is not the same as `if (match[0].length)`
afe42d0… ragelink 2251 if (match.index + match[0].length > lastLastIndex) {
afe42d0… ragelink 2252 output.push((0, _slice["default"])(str).call(str, lastLastIndex, match.index));
afe42d0… ragelink 2253
afe42d0… ragelink 2254 if (match.length > 1 && match.index < str.length) {
afe42d0… ragelink 2255 Array.prototype.push.apply(output, (0, _slice["default"])(match).call(match, 1));
afe42d0… ragelink 2256 }
afe42d0… ragelink 2257
afe42d0… ragelink 2258 lastLength = match[0].length;
afe42d0… ragelink 2259 lastLastIndex = match.index + lastLength;
afe42d0… ragelink 2260 }
afe42d0… ragelink 2261 });
afe42d0… ragelink 2262
afe42d0… ragelink 2263 if (lastLastIndex === str.length) {
afe42d0… ragelink 2264 if (!separator.test('') || lastLength) {
afe42d0… ragelink 2265 output.push('');
afe42d0… ragelink 2266 }
afe42d0… ragelink 2267 } else {
afe42d0… ragelink 2268 output.push((0, _slice["default"])(str).call(str, lastLastIndex));
afe42d0… ragelink 2269 }
afe42d0… ragelink 2270
afe42d0… ragelink 2271 separator.lastIndex = origLastIndex;
afe42d0… ragelink 2272 return output.length > limit ? (0, _slice["default"])(output).call(output, 0, limit) : output;
afe42d0… ragelink 2273 }; // ==--------------------------==
afe42d0… ragelink 2274 // Built-in syntax/flag tokens
afe42d0… ragelink 2275 // ==--------------------------==
afe42d0… ragelink 2276
afe42d0… ragelink 2277 /*
afe42d0… ragelink 2278 * Letter escapes that natively match literal characters: `\a`, `\A`, etc. These should be
afe42d0… ragelink 2279 * SyntaxErrors but are allowed in web reality. XRegExp makes them errors for cross-browser
afe42d0… ragelink 2280 * consistency and to reserve their syntax, but lets them be superseded by addons.
afe42d0… ragelink 2281 */
afe42d0… ragelink 2282
afe42d0… ragelink 2283
afe42d0… ragelink 2284 XRegExp.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/, function (match, scope) {
afe42d0… ragelink 2285 // \B is allowed in default scope only
afe42d0… ragelink 2286 if (match[1] === 'B' && scope === defaultScope) {
afe42d0… ragelink 2287 return match[0];
afe42d0… ragelink 2288 }
afe42d0… ragelink 2289
afe42d0… ragelink 2290 throw new SyntaxError("Invalid escape ".concat(match[0]));
afe42d0… ragelink 2291 }, {
afe42d0… ragelink 2292 scope: 'all',
afe42d0… ragelink 2293 leadChar: '\\'
afe42d0… ragelink 2294 });
afe42d0… ragelink 2295 /*
afe42d0… ragelink 2296 * Unicode code point escape with curly braces: `\u{N..}`. `N..` is any one or more digit
afe42d0… ragelink 2297 * hexadecimal number from 0-10FFFF, and can include leading zeros. Requires the native ES6 `u` flag
afe42d0… ragelink 2298 * to support code points greater than U+FFFF. Avoids converting code points above U+FFFF to
afe42d0… ragelink 2299 * surrogate pairs (which could be done without flag `u`), since that could lead to broken behavior
afe42d0… ragelink 2300 * if you follow a `\u{N..}` token that references a code point above U+FFFF with a quantifier, or
afe42d0… ragelink 2301 * if you use the same in a character class.
afe42d0… ragelink 2302 */
afe42d0… ragelink 2303
afe42d0… ragelink 2304 XRegExp.addToken(/\\u{([\dA-Fa-f]+)}/, function (match, scope, flags) {
afe42d0… ragelink 2305 var code = dec(match[1]);
afe42d0… ragelink 2306
afe42d0… ragelink 2307 if (code > 0x10FFFF) {
afe42d0… ragelink 2308 throw new SyntaxError("Invalid Unicode code point ".concat(match[0]));
afe42d0… ragelink 2309 }
afe42d0… ragelink 2310
afe42d0… ragelink 2311 if (code <= 0xFFFF) {
afe42d0… ragelink 2312 // Converting to \uNNNN avoids needing to escape the literal character and keep it
afe42d0… ragelink 2313 // separate from preceding tokens
afe42d0… ragelink 2314 return "\\u".concat(pad4(hex(code)));
afe42d0… ragelink 2315 } // If `code` is between 0xFFFF and 0x10FFFF, require and defer to native handling
afe42d0… ragelink 2316
afe42d0… ragelink 2317
afe42d0… ragelink 2318 if (hasNativeU && (0, _indexOf["default"])(flags).call(flags, 'u') !== -1) {
afe42d0… ragelink 2319 return match[0];
afe42d0… ragelink 2320 }
afe42d0… ragelink 2321
afe42d0… ragelink 2322 throw new SyntaxError('Cannot use Unicode code point above \\u{FFFF} without flag u');
afe42d0… ragelink 2323 }, {
afe42d0… ragelink 2324 scope: 'all',
afe42d0… ragelink 2325 leadChar: '\\'
afe42d0… ragelink 2326 });
afe42d0… ragelink 2327 /*
afe42d0… ragelink 2328 * Comment pattern: `(?# )`. Inline comments are an alternative to the line comments allowed in
afe42d0… ragelink 2329 * free-spacing mode (flag x).
afe42d0… ragelink 2330 */
afe42d0… ragelink 2331
afe42d0… ragelink 2332 XRegExp.addToken(/\(\?#[^)]*\)/, getContextualTokenSeparator, {
afe42d0… ragelink 2333 leadChar: '('
afe42d0… ragelink 2334 });
afe42d0… ragelink 2335 /*
afe42d0… ragelink 2336 * Whitespace and line comments, in free-spacing mode (aka extended mode, flag x) only.
afe42d0… ragelink 2337 */
afe42d0… ragelink 2338
afe42d0… ragelink 2339 XRegExp.addToken(/\s+|#[^\n]*\n?/, getContextualTokenSeparator, {
afe42d0… ragelink 2340 flag: 'x'
afe42d0… ragelink 2341 });
afe42d0… ragelink 2342 /*
afe42d0… ragelink 2343 * Dot, in dotAll mode (aka singleline mode, flag s) only.
afe42d0… ragelink 2344 */
afe42d0… ragelink 2345
afe42d0… ragelink 2346 if (!hasNativeS) {
afe42d0… ragelink 2347 XRegExp.addToken(/\./, function () {
afe42d0… ragelink 2348 return '[\\s\\S]';
afe42d0… ragelink 2349 }, {
afe42d0… ragelink 2350 flag: 's',
afe42d0… ragelink 2351 leadChar: '.'
afe42d0… ragelink 2352 });
afe42d0… ragelink 2353 }
afe42d0… ragelink 2354 /*
afe42d0… ragelink 2355 * Named backreference: `\k<name>`. Backreference names can use RegExpIdentifierName characters
afe42d0… ragelink 2356 * only. Also allows numbered backreferences as `\k<n>`.
afe42d0… ragelink 2357 */
afe42d0… ragelink 2358
afe42d0… ragelink 2359
afe42d0… ragelink 2360 XRegExp.addToken(/\\k<([^>]+)>/, function (match) {
afe42d0… ragelink 2361 var _context6, _context7;
afe42d0… ragelink 2362
afe42d0… ragelink 2363 // Groups with the same name is an error, else would need `lastIndexOf`
afe42d0… ragelink 2364 var index = isNaN(match[1]) ? (0, _indexOf["default"])(_context6 = this.captureNames).call(_context6, match[1]) + 1 : +match[1];
afe42d0… ragelink 2365 var endIndex = match.index + match[0].length;
afe42d0… ragelink 2366
afe42d0… ragelink 2367 if (!index || index > this.captureNames.length) {
afe42d0… ragelink 2368 throw new SyntaxError("Backreference to undefined group ".concat(match[0]));
afe42d0… ragelink 2369 } // Keep backreferences separate from subsequent literal numbers. This avoids e.g.
afe42d0… ragelink 2370 // inadvertedly changing `(?<n>)\k<n>1` to `()\11`.
afe42d0… ragelink 2371
afe42d0… ragelink 2372
afe42d0… ragelink 2373 return (0, _concat["default"])(_context7 = "\\".concat(index)).call(_context7, endIndex === match.input.length || isNaN(match.input[endIndex]) ? '' : '(?:)');
afe42d0… ragelink 2374 }, {
afe42d0… ragelink 2375 leadChar: '\\'
afe42d0… ragelink 2376 });
afe42d0… ragelink 2377 /*
afe42d0… ragelink 2378 * Numbered backreference or octal, plus any following digits: `\0`, `\11`, etc. Octals except `\0`
afe42d0… ragelink 2379 * not followed by 0-9 and backreferences to unopened capture groups throw an error. Other matches
afe42d0… ragelink 2380 * are returned unaltered. IE < 9 doesn't support backreferences above `\99` in regex syntax.
afe42d0… ragelink 2381 */
afe42d0… ragelink 2382
afe42d0… ragelink 2383 XRegExp.addToken(/\\(\d+)/, function (match, scope) {
afe42d0… ragelink 2384 if (!(scope === defaultScope && /^[1-9]/.test(match[1]) && +match[1] <= this.captureNames.length) && match[1] !== '0') {
afe42d0… ragelink 2385 throw new SyntaxError("Cannot use octal escape or backreference to undefined group ".concat(match[0]));
afe42d0… ragelink 2386 }
afe42d0… ragelink 2387
afe42d0… ragelink 2388 return match[0];
afe42d0… ragelink 2389 }, {
afe42d0… ragelink 2390 scope: 'all',
afe42d0… ragelink 2391 leadChar: '\\'
afe42d0… ragelink 2392 });
afe42d0… ragelink 2393 /*
afe42d0… ragelink 2394 * Named capturing group; match the opening delimiter only: `(?<name>`. Capture names can use the
afe42d0… ragelink 2395 * RegExpIdentifierName characters only. Names can't be integers. Supports Python-style
afe42d0… ragelink 2396 * `(?P<name>` as an alternate syntax to avoid issues in some older versions of Opera which natively
afe42d0… ragelink 2397 * supported the Python-style syntax. Otherwise, XRegExp might treat numbered backreferences to
afe42d0… ragelink 2398 * Python-style named capture as octals.
afe42d0… ragelink 2399 */
afe42d0… ragelink 2400
afe42d0… ragelink 2401 XRegExp.addToken(/\(\?P?<((?:[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])(?:[\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088E\u0898-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]|\uDB40[\uDD00-\uDDEF])*)>/, function (match) {
afe42d0… ragelink 2402 var _context8;
afe42d0… ragelink 2403
afe42d0… ragelink 2404 if (!XRegExp.isInstalled('namespacing') && (match[1] === 'length' || match[1] === '__proto__')) {
afe42d0… ragelink 2405 throw new SyntaxError("Cannot use reserved word as capture name ".concat(match[0]));
afe42d0… ragelink 2406 }
afe42d0… ragelink 2407
afe42d0… ragelink 2408 if ((0, _indexOf["default"])(_context8 = this.captureNames).call(_context8, match[1]) !== -1) {
afe42d0… ragelink 2409 throw new SyntaxError("Cannot use same name for multiple groups ".concat(match[0]));
afe42d0… ragelink 2410 }
afe42d0… ragelink 2411
afe42d0… ragelink 2412 this.captureNames.push(match[1]);
afe42d0… ragelink 2413 this.hasNamedCapture = true;
afe42d0… ragelink 2414 return '(';
afe42d0… ragelink 2415 }, {
afe42d0… ragelink 2416 leadChar: '('
afe42d0… ragelink 2417 });
afe42d0… ragelink 2418 /*
afe42d0… ragelink 2419 * Capturing group; match the opening parenthesis only. Required for support of named capturing
afe42d0… ragelink 2420 * groups. Also adds named capture only mode (flag n).
afe42d0… ragelink 2421 */
afe42d0… ragelink 2422
afe42d0… ragelink 2423 XRegExp.addToken(/\((?!\?)/, function (match, scope, flags) {
afe42d0… ragelink 2424 if ((0, _indexOf["default"])(flags).call(flags, 'n') !== -1) {
afe42d0… ragelink 2425 return '(?:';
afe42d0… ragelink 2426 }
afe42d0… ragelink 2427
afe42d0… ragelink 2428 this.captureNames.push(null);
afe42d0… ragelink 2429 return '(';
afe42d0… ragelink 2430 }, {
afe42d0… ragelink 2431 optionalFlags: 'n',
afe42d0… ragelink 2432 leadChar: '('
afe42d0… ragelink 2433 });
afe42d0… ragelink 2434 var _default = XRegExp;
afe42d0… ragelink 2435 exports["default"] = _default;
afe42d0… ragelink 2436 module.exports = exports.default;
afe42d0… ragelink 2437 },{"@babel/runtime-corejs3/core-js-stable/array/from":5,"@babel/runtime-corejs3/core-js-stable/array/is-array":6,"@babel/runtime-corejs3/core-js-stable/instance/concat":7,"@babel/runtime-corejs3/core-js-stable/instance/flags":8,"@babel/runtime-corejs3/core-js-stable/instance/for-each":9,"@babel/runtime-corejs3/core-js-stable/instance/index-of":10,"@babel/runtime-corejs3/core-js-stable/instance/slice":11,"@babel/runtime-corejs3/core-js-stable/instance/sort":12,"@babel/runtime-corejs3/core-js-stable/object/create":13,"@babel/runtime-corejs3/core-js-stable/object/define-property":14,"@babel/runtime-corejs3/core-js-stable/parse-int":15,"@babel/runtime-corejs3/core-js-stable/symbol":16,"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/helpers/interopRequireDefault":24,"@babel/runtime-corejs3/helpers/slicedToArray":27}],5:[function(require,module,exports){
afe42d0… ragelink 2438 module.exports = require("core-js-pure/stable/array/from");
afe42d0… ragelink 2439 },{"core-js-pure/stable/array/from":208}],6:[function(require,module,exports){
afe42d0… ragelink 2440 module.exports = require("core-js-pure/stable/array/is-array");
afe42d0… ragelink 2441 },{"core-js-pure/stable/array/is-array":209}],7:[function(require,module,exports){
afe42d0… ragelink 2442 module.exports = require("core-js-pure/stable/instance/concat");
afe42d0… ragelink 2443 },{"core-js-pure/stable/instance/concat":212}],8:[function(require,module,exports){
afe42d0… ragelink 2444 module.exports = require("core-js-pure/stable/instance/flags");
afe42d0… ragelink 2445 },{"core-js-pure/stable/instance/flags":213}],9:[function(require,module,exports){
afe42d0… ragelink 2446 module.exports = require("core-js-pure/stable/instance/for-each");
afe42d0… ragelink 2447 },{"core-js-pure/stable/instance/for-each":214}],10:[function(require,module,exports){
afe42d0… ragelink 2448 module.exports = require("core-js-pure/stable/instance/index-of");
afe42d0… ragelink 2449 },{"core-js-pure/stable/instance/index-of":215}],11:[function(require,module,exports){
afe42d0… ragelink 2450 module.exports = require("core-js-pure/stable/instance/slice");
afe42d0… ragelink 2451 },{"core-js-pure/stable/instance/slice":216}],12:[function(require,module,exports){
afe42d0… ragelink 2452 module.exports = require("core-js-pure/stable/instance/sort");
afe42d0… ragelink 2453 },{"core-js-pure/stable/instance/sort":217}],13:[function(require,module,exports){
afe42d0… ragelink 2454 module.exports = require("core-js-pure/stable/object/create");
afe42d0… ragelink 2455 },{"core-js-pure/stable/object/create":218}],14:[function(require,module,exports){
afe42d0… ragelink 2456 module.exports = require("core-js-pure/stable/object/define-property");
afe42d0… ragelink 2457 },{"core-js-pure/stable/object/define-property":219}],15:[function(require,module,exports){
afe42d0… ragelink 2458 module.exports = require("core-js-pure/stable/parse-int");
afe42d0… ragelink 2459 },{"core-js-pure/stable/parse-int":220}],16:[function(require,module,exports){
afe42d0… ragelink 2460 module.exports = require("core-js-pure/stable/symbol");
afe42d0… ragelink 2461 },{"core-js-pure/stable/symbol":221}],17:[function(require,module,exports){
afe42d0… ragelink 2462 module.exports = require("core-js-pure/features/array/from");
afe42d0… ragelink 2463 },{"core-js-pure/features/array/from":52}],18:[function(require,module,exports){
afe42d0… ragelink 2464 module.exports = require("core-js-pure/features/array/is-array");
afe42d0… ragelink 2465 },{"core-js-pure/features/array/is-array":53}],19:[function(require,module,exports){
afe42d0… ragelink 2466 module.exports = require("core-js-pure/features/get-iterator-method");
afe42d0… ragelink 2467 },{"core-js-pure/features/get-iterator-method":54}],20:[function(require,module,exports){
afe42d0… ragelink 2468 module.exports = require("core-js-pure/features/instance/slice");
afe42d0… ragelink 2469 },{"core-js-pure/features/instance/slice":55}],21:[function(require,module,exports){
afe42d0… ragelink 2470 module.exports = require("core-js-pure/features/symbol");
afe42d0… ragelink 2471 },{"core-js-pure/features/symbol":56}],22:[function(require,module,exports){
afe42d0… ragelink 2472 function _arrayLikeToArray(arr, len) {
afe42d0… ragelink 2473 if (len == null || len > arr.length) len = arr.length;
afe42d0… ragelink 2474
afe42d0… ragelink 2475 for (var i = 0, arr2 = new Array(len); i < len; i++) {
afe42d0… ragelink 2476 arr2[i] = arr[i];
afe42d0… ragelink 2477 }
afe42d0… ragelink 2478
afe42d0… ragelink 2479 return arr2;
afe42d0… ragelink 2480 }
afe42d0… ragelink 2481
afe42d0… ragelink 2482 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
afe42d0… ragelink 2483 },{}],23:[function(require,module,exports){
afe42d0… ragelink 2484 var _Array$isArray = require("@babel/runtime-corejs3/core-js/array/is-array");
afe42d0… ragelink 2485
afe42d0… ragelink 2486 function _arrayWithHoles(arr) {
afe42d0… ragelink 2487 if (_Array$isArray(arr)) return arr;
afe42d0… ragelink 2488 }
afe42d0… ragelink 2489
afe42d0… ragelink 2490 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
afe42d0… ragelink 2491 },{"@babel/runtime-corejs3/core-js/array/is-array":18}],24:[function(require,module,exports){
afe42d0… ragelink 2492 function _interopRequireDefault(obj) {
afe42d0… ragelink 2493 return obj && obj.__esModule ? obj : {
afe42d0… ragelink 2494 "default": obj
afe42d0… ragelink 2495 };
afe42d0… ragelink 2496 }
afe42d0… ragelink 2497
afe42d0… ragelink 2498 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
afe42d0… ragelink 2499 },{}],25:[function(require,module,exports){
afe42d0… ragelink 2500 var _Symbol = require("@babel/runtime-corejs3/core-js/symbol");
afe42d0… ragelink 2501
afe42d0… ragelink 2502 var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
afe42d0… ragelink 2503
afe42d0… ragelink 2504 function _iterableToArrayLimit(arr, i) {
afe42d0… ragelink 2505 var _i = arr == null ? null : typeof _Symbol !== "undefined" && _getIteratorMethod(arr) || arr["@@iterator"];
afe42d0… ragelink 2506
afe42d0… ragelink 2507 if (_i == null) return;
afe42d0… ragelink 2508 var _arr = [];
afe42d0… ragelink 2509 var _n = true;
afe42d0… ragelink 2510 var _d = false;
afe42d0… ragelink 2511
afe42d0… ragelink 2512 var _s, _e;
afe42d0… ragelink 2513
afe42d0… ragelink 2514 try {
afe42d0… ragelink 2515 for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
afe42d0… ragelink 2516 _arr.push(_s.value);
afe42d0… ragelink 2517
afe42d0… ragelink 2518 if (i && _arr.length === i) break;
afe42d0… ragelink 2519 }
afe42d0… ragelink 2520 } catch (err) {
afe42d0… ragelink 2521 _d = true;
afe42d0… ragelink 2522 _e = err;
afe42d0… ragelink 2523 } finally {
afe42d0… ragelink 2524 try {
afe42d0… ragelink 2525 if (!_n && _i["return"] != null) _i["return"]();
afe42d0… ragelink 2526 } finally {
afe42d0… ragelink 2527 if (_d) throw _e;
afe42d0… ragelink 2528 }
afe42d0… ragelink 2529 }
afe42d0… ragelink 2530
afe42d0… ragelink 2531 return _arr;
afe42d0… ragelink 2532 }
afe42d0… ragelink 2533
afe42d0… ragelink 2534 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
afe42d0… ragelink 2535 },{"@babel/runtime-corejs3/core-js/get-iterator-method":19,"@babel/runtime-corejs3/core-js/symbol":21}],26:[function(require,module,exports){
afe42d0… ragelink 2536 function _nonIterableRest() {
afe42d0… ragelink 2537 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
afe42d0… ragelink 2538 }
afe42d0… ragelink 2539
afe42d0… ragelink 2540 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
afe42d0… ragelink 2541 },{}],27:[function(require,module,exports){
afe42d0… ragelink 2542 var arrayWithHoles = require("./arrayWithHoles.js");
afe42d0… ragelink 2543
afe42d0… ragelink 2544 var iterableToArrayLimit = require("./iterableToArrayLimit.js");
afe42d0… ragelink 2545
afe42d0… ragelink 2546 var unsupportedIterableToArray = require("./unsupportedIterableToArray.js");
afe42d0… ragelink 2547
afe42d0… ragelink 2548 var nonIterableRest = require("./nonIterableRest.js");
afe42d0… ragelink 2549
afe42d0… ragelink 2550 function _slicedToArray(arr, i) {
afe42d0… ragelink 2551 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
afe42d0… ragelink 2552 }
afe42d0… ragelink 2553
afe42d0… ragelink 2554 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
afe42d0… ragelink 2555 },{"./arrayWithHoles.js":23,"./iterableToArrayLimit.js":25,"./nonIterableRest.js":26,"./unsupportedIterableToArray.js":28}],28:[function(require,module,exports){
afe42d0… ragelink 2556 var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js/instance/slice");
afe42d0… ragelink 2557
afe42d0… ragelink 2558 var _Array$from = require("@babel/runtime-corejs3/core-js/array/from");
afe42d0… ragelink 2559
afe42d0… ragelink 2560 var arrayLikeToArray = require("./arrayLikeToArray.js");
afe42d0… ragelink 2561
afe42d0… ragelink 2562 function _unsupportedIterableToArray(o, minLen) {
afe42d0… ragelink 2563 var _context;
afe42d0… ragelink 2564
afe42d0… ragelink 2565 if (!o) return;
afe42d0… ragelink 2566 if (typeof o === "string") return arrayLikeToArray(o, minLen);
afe42d0… ragelink 2567
afe42d0… ragelink 2568 var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1);
afe42d0… ragelink 2569
afe42d0… ragelink 2570 if (n === "Object" && o.constructor) n = o.constructor.name;
afe42d0… ragelink 2571 if (n === "Map" || n === "Set") return _Array$from(o);
afe42d0… ragelink 2572 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
afe42d0… ragelink 2573 }
afe42d0… ragelink 2574
afe42d0… ragelink 2575 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
afe42d0… ragelink 2576 },{"./arrayLikeToArray.js":22,"@babel/runtime-corejs3/core-js/array/from":17,"@babel/runtime-corejs3/core-js/instance/slice":20}],29:[function(require,module,exports){
afe42d0… ragelink 2577 var parent = require('../../stable/array/from');
afe42d0… ragelink 2578
afe42d0… ragelink 2579 module.exports = parent;
afe42d0… ragelink 2580
afe42d0… ragelink 2581 },{"../../stable/array/from":208}],30:[function(require,module,exports){
afe42d0… ragelink 2582 var parent = require('../../stable/array/is-array');
afe42d0… ragelink 2583
afe42d0… ragelink 2584 module.exports = parent;
afe42d0… ragelink 2585
afe42d0… ragelink 2586 },{"../../stable/array/is-array":209}],31:[function(require,module,exports){
afe42d0… ragelink 2587 var parent = require('../stable/get-iterator-method');
afe42d0… ragelink 2588
afe42d0… ragelink 2589 module.exports = parent;
afe42d0… ragelink 2590
afe42d0… ragelink 2591 },{"../stable/get-iterator-method":211}],32:[function(require,module,exports){
afe42d0… ragelink 2592 var parent = require('../../stable/instance/slice');
afe42d0… ragelink 2593
afe42d0… ragelink 2594 module.exports = parent;
afe42d0… ragelink 2595
afe42d0… ragelink 2596 },{"../../stable/instance/slice":216}],33:[function(require,module,exports){
afe42d0… ragelink 2597 var parent = require('../../stable/symbol');
afe42d0… ragelink 2598
afe42d0… ragelink 2599 module.exports = parent;
afe42d0… ragelink 2600
afe42d0… ragelink 2601 },{"../../stable/symbol":221}],34:[function(require,module,exports){
afe42d0… ragelink 2602 require('../../modules/es.string.iterator');
afe42d0… ragelink 2603 require('../../modules/es.array.from');
afe42d0… ragelink 2604 var path = require('../../internals/path');
afe42d0… ragelink 2605
afe42d0… ragelink 2606 module.exports = path.Array.from;
afe42d0… ragelink 2607
afe42d0… ragelink 2608 },{"../../internals/path":142,"../../modules/es.array.from":170,"../../modules/es.string.iterator":184}],35:[function(require,module,exports){
afe42d0… ragelink 2609 require('../../modules/es.array.is-array');
afe42d0… ragelink 2610 var path = require('../../internals/path');
afe42d0… ragelink 2611
afe42d0… ragelink 2612 module.exports = path.Array.isArray;
afe42d0… ragelink 2613
afe42d0… ragelink 2614 },{"../../internals/path":142,"../../modules/es.array.is-array":172}],36:[function(require,module,exports){
afe42d0… ragelink 2615 require('../../../modules/es.array.concat');
afe42d0… ragelink 2616 var entryVirtual = require('../../../internals/entry-virtual');
afe42d0… ragelink 2617
afe42d0… ragelink 2618 module.exports = entryVirtual('Array').concat;
afe42d0… ragelink 2619
afe42d0… ragelink 2620 },{"../../../internals/entry-virtual":91,"../../../modules/es.array.concat":168}],37:[function(require,module,exports){
afe42d0… ragelink 2621 require('../../../modules/es.array.for-each');
afe42d0… ragelink 2622 var entryVirtual = require('../../../internals/entry-virtual');
afe42d0… ragelink 2623
afe42d0… ragelink 2624 module.exports = entryVirtual('Array').forEach;
afe42d0… ragelink 2625
afe42d0… ragelink 2626 },{"../../../internals/entry-virtual":91,"../../../modules/es.array.for-each":169}],38:[function(require,module,exports){
afe42d0… ragelink 2627 require('../../../modules/es.array.index-of');
afe42d0… ragelink 2628 var entryVirtual = require('../../../internals/entry-virtual');
afe42d0… ragelink 2629
afe42d0… ragelink 2630 module.exports = entryVirtual('Array').indexOf;
afe42d0… ragelink 2631
afe42d0… ragelink 2632 },{"../../../internals/entry-virtual":91,"../../../modules/es.array.index-of":171}],39:[function(require,module,exports){
afe42d0… ragelink 2633 require('../../../modules/es.array.slice');
afe42d0… ragelink 2634 var entryVirtual = require('../../../internals/entry-virtual');
afe42d0… ragelink 2635
afe42d0… ragelink 2636 module.exports = entryVirtual('Array').slice;
afe42d0… ragelink 2637
afe42d0… ragelink 2638 },{"../../../internals/entry-virtual":91,"../../../modules/es.array.slice":174}],40:[function(require,module,exports){
afe42d0… ragelink 2639 require('../../../modules/es.array.sort');
afe42d0… ragelink 2640 var entryVirtual = require('../../../internals/entry-virtual');
afe42d0… ragelink 2641
afe42d0… ragelink 2642 module.exports = entryVirtual('Array').sort;
afe42d0… ragelink 2643
afe42d0… ragelink 2644 },{"../../../internals/entry-virtual":91,"../../../modules/es.array.sort":175}],41:[function(require,module,exports){
afe42d0… ragelink 2645 require('../modules/es.array.iterator');
afe42d0… ragelink 2646 require('../modules/es.string.iterator');
afe42d0… ragelink 2647 var getIteratorMethod = require('../internals/get-iterator-method');
afe42d0… ragelink 2648
afe42d0… ragelink 2649 module.exports = getIteratorMethod;
afe42d0… ragelink 2650
afe42d0… ragelink 2651 },{"../internals/get-iterator-method":101,"../modules/es.array.iterator":173,"../modules/es.string.iterator":184}],42:[function(require,module,exports){
afe42d0… ragelink 2652 var isPrototypeOf = require('../../internals/object-is-prototype-of');
afe42d0… ragelink 2653 var method = require('../array/virtual/concat');
afe42d0… ragelink 2654
afe42d0… ragelink 2655 var ArrayPrototype = Array.prototype;
afe42d0… ragelink 2656
afe42d0… ragelink 2657 module.exports = function (it) {
afe42d0… ragelink 2658 var own = it.concat;
afe42d0… ragelink 2659 return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.concat) ? method : own;
afe42d0… ragelink 2660 };
afe42d0… ragelink 2661
afe42d0… ragelink 2662 },{"../../internals/object-is-prototype-of":135,"../array/virtual/concat":36}],43:[function(require,module,exports){
afe42d0… ragelink 2663 var isPrototypeOf = require('../../internals/object-is-prototype-of');
afe42d0… ragelink 2664 var flags = require('../regexp/flags');
afe42d0… ragelink 2665
afe42d0… ragelink 2666 var RegExpPrototype = RegExp.prototype;
afe42d0… ragelink 2667
afe42d0… ragelink 2668 module.exports = function (it) {
afe42d0… ragelink 2669 return (it === RegExpPrototype || isPrototypeOf(RegExpPrototype, it)) ? flags(it) : it.flags;
afe42d0… ragelink 2670 };
afe42d0… ragelink 2671
afe42d0… ragelink 2672 },{"../../internals/object-is-prototype-of":135,"../regexp/flags":50}],44:[function(require,module,exports){
afe42d0… ragelink 2673 var isPrototypeOf = require('../../internals/object-is-prototype-of');
afe42d0… ragelink 2674 var method = require('../array/virtual/index-of');
afe42d0… ragelink 2675
afe42d0… ragelink 2676 var ArrayPrototype = Array.prototype;
afe42d0… ragelink 2677
afe42d0… ragelink 2678 module.exports = function (it) {
afe42d0… ragelink 2679 var own = it.indexOf;
afe42d0… ragelink 2680 return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.indexOf) ? method : own;
afe42d0… ragelink 2681 };
afe42d0… ragelink 2682
afe42d0… ragelink 2683 },{"../../internals/object-is-prototype-of":135,"../array/virtual/index-of":38}],45:[function(require,module,exports){
afe42d0… ragelink 2684 var isPrototypeOf = require('../../internals/object-is-prototype-of');
afe42d0… ragelink 2685 var method = require('../array/virtual/slice');
afe42d0… ragelink 2686
afe42d0… ragelink 2687 var ArrayPrototype = Array.prototype;
afe42d0… ragelink 2688
afe42d0… ragelink 2689 module.exports = function (it) {
afe42d0… ragelink 2690 var own = it.slice;
afe42d0… ragelink 2691 return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.slice) ? method : own;
afe42d0… ragelink 2692 };
afe42d0… ragelink 2693
afe42d0… ragelink 2694 },{"../../internals/object-is-prototype-of":135,"../array/virtual/slice":39}],46:[function(require,module,exports){
afe42d0… ragelink 2695 var isPrototypeOf = require('../../internals/object-is-prototype-of');
afe42d0… ragelink 2696 var method = require('../array/virtual/sort');
afe42d0… ragelink 2697
afe42d0… ragelink 2698 var ArrayPrototype = Array.prototype;
afe42d0… ragelink 2699
afe42d0… ragelink 2700 module.exports = function (it) {
afe42d0… ragelink 2701 var own = it.sort;
afe42d0… ragelink 2702 return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.sort) ? method : own;
afe42d0… ragelink 2703 };
afe42d0… ragelink 2704
afe42d0… ragelink 2705 },{"../../internals/object-is-prototype-of":135,"../array/virtual/sort":40}],47:[function(require,module,exports){
afe42d0… ragelink 2706 require('../../modules/es.object.create');
afe42d0… ragelink 2707 var path = require('../../internals/path');
afe42d0… ragelink 2708
afe42d0… ragelink 2709 var Object = path.Object;
afe42d0… ragelink 2710
afe42d0… ragelink 2711 module.exports = function create(P, D) {
afe42d0… ragelink 2712 return Object.create(P, D);
afe42d0… ragelink 2713 };
afe42d0… ragelink 2714
afe42d0… ragelink 2715 },{"../../internals/path":142,"../../modules/es.object.create":178}],48:[function(require,module,exports){
afe42d0… ragelink 2716 require('../../modules/es.object.define-property');
afe42d0… ragelink 2717 var path = require('../../internals/path');
afe42d0… ragelink 2718
afe42d0… ragelink 2719 var Object = path.Object;
afe42d0… ragelink 2720
afe42d0… ragelink 2721 var defineProperty = module.exports = function defineProperty(it, key, desc) {
afe42d0… ragelink 2722 return Object.defineProperty(it, key, desc);
afe42d0… ragelink 2723 };
afe42d0… ragelink 2724
afe42d0… ragelink 2725 if (Object.defineProperty.sham) defineProperty.sham = true;
afe42d0… ragelink 2726
afe42d0… ragelink 2727 },{"../../internals/path":142,"../../modules/es.object.define-property":179}],49:[function(require,module,exports){
afe42d0… ragelink 2728 require('../modules/es.parse-int');
afe42d0… ragelink 2729 var path = require('../internals/path');
afe42d0… ragelink 2730
afe42d0… ragelink 2731 module.exports = path.parseInt;
afe42d0… ragelink 2732
afe42d0… ragelink 2733 },{"../internals/path":142,"../modules/es.parse-int":181}],50:[function(require,module,exports){
afe42d0… ragelink 2734 require('../../modules/es.regexp.flags');
afe42d0… ragelink 2735 var uncurryThis = require('../../internals/function-uncurry-this');
afe42d0… ragelink 2736 var regExpFlags = require('../../internals/regexp-flags');
afe42d0… ragelink 2737
afe42d0… ragelink 2738 module.exports = uncurryThis(regExpFlags);
afe42d0… ragelink 2739
afe42d0… ragelink 2740 },{"../../internals/function-uncurry-this":99,"../../internals/regexp-flags":144,"../../modules/es.regexp.flags":183}],51:[function(require,module,exports){
afe42d0… ragelink 2741 require('../../modules/es.array.concat');
afe42d0… ragelink 2742 require('../../modules/es.object.to-string');
afe42d0… ragelink 2743 require('../../modules/es.symbol');
afe42d0… ragelink 2744 require('../../modules/es.symbol.async-iterator');
afe42d0… ragelink 2745 require('../../modules/es.symbol.description');
afe42d0… ragelink 2746 require('../../modules/es.symbol.has-instance');
afe42d0… ragelink 2747 require('../../modules/es.symbol.is-concat-spreadable');
afe42d0… ragelink 2748 require('../../modules/es.symbol.iterator');
afe42d0… ragelink 2749 require('../../modules/es.symbol.match');
afe42d0… ragelink 2750 require('../../modules/es.symbol.match-all');
afe42d0… ragelink 2751 require('../../modules/es.symbol.replace');
afe42d0… ragelink 2752 require('../../modules/es.symbol.search');
afe42d0… ragelink 2753 require('../../modules/es.symbol.species');
afe42d0… ragelink 2754 require('../../modules/es.symbol.split');
afe42d0… ragelink 2755 require('../../modules/es.symbol.to-primitive');
afe42d0… ragelink 2756 require('../../modules/es.symbol.to-string-tag');
afe42d0… ragelink 2757 require('../../modules/es.symbol.unscopables');
afe42d0… ragelink 2758 require('../../modules/es.json.to-string-tag');
afe42d0… ragelink 2759 require('../../modules/es.math.to-string-tag');
afe42d0… ragelink 2760 require('../../modules/es.reflect.to-string-tag');
afe42d0… ragelink 2761 var path = require('../../internals/path');
afe42d0… ragelink 2762
afe42d0… ragelink 2763 module.exports = path.Symbol;
afe42d0… ragelink 2764
afe42d0… ragelink 2765 },{"../../internals/path":142,"../../modules/es.array.concat":168,"../../modules/es.json.to-string-tag":176,"../../modules/es.math.to-string-tag":177,"../../modules/es.object.to-string":180,"../../modules/es.reflect.to-string-tag":182,"../../modules/es.symbol":190,"../../modules/es.symbol.async-iterator":185,"../../modules/es.symbol.description":186,"../../modules/es.symbol.has-instance":187,"../../modules/es.symbol.is-concat-spreadable":188,"../../modules/es.symbol.iterator":189,"../../modules/es.symbol.match":192,"../../modules/es.symbol.match-all":191,"../../modules/es.symbol.replace":193,"../../modules/es.symbol.search":194,"../../modules/es.symbol.species":195,"../../modules/es.symbol.split":196,"../../modules/es.symbol.to-primitive":197,"../../modules/es.symbol.to-string-tag":198,"../../modules/es.symbol.unscopables":199}],52:[function(require,module,exports){
afe42d0… ragelink 2766 var parent = require('../../actual/array/from');
afe42d0… ragelink 2767
afe42d0… ragelink 2768 module.exports = parent;
afe42d0… ragelink 2769
afe42d0… ragelink 2770 },{"../../actual/array/from":29}],53:[function(require,module,exports){
afe42d0… ragelink 2771 var parent = require('../../actual/array/is-array');
afe42d0… ragelink 2772
afe42d0… ragelink 2773 module.exports = parent;
afe42d0… ragelink 2774
afe42d0… ragelink 2775 },{"../../actual/array/is-array":30}],54:[function(require,module,exports){
afe42d0… ragelink 2776 var parent = require('../actual/get-iterator-method');
afe42d0… ragelink 2777
afe42d0… ragelink 2778 module.exports = parent;
afe42d0… ragelink 2779
afe42d0… ragelink 2780 },{"../actual/get-iterator-method":31}],55:[function(require,module,exports){
afe42d0… ragelink 2781 var parent = require('../../actual/instance/slice');
afe42d0… ragelink 2782
afe42d0… ragelink 2783 module.exports = parent;
afe42d0… ragelink 2784
afe42d0… ragelink 2785 },{"../../actual/instance/slice":32}],56:[function(require,module,exports){
afe42d0… ragelink 2786 var parent = require('../../actual/symbol');
afe42d0… ragelink 2787 require('../../modules/esnext.symbol.async-dispose');
afe42d0… ragelink 2788 require('../../modules/esnext.symbol.dispose');
afe42d0… ragelink 2789 require('../../modules/esnext.symbol.matcher');
afe42d0… ragelink 2790 require('../../modules/esnext.symbol.metadata');
afe42d0… ragelink 2791 require('../../modules/esnext.symbol.observable');
afe42d0… ragelink 2792 // TODO: Remove from `core-js@4`
afe42d0… ragelink 2793 require('../../modules/esnext.symbol.pattern-match');
afe42d0… ragelink 2794 // TODO: Remove from `core-js@4`
afe42d0… ragelink 2795 require('../../modules/esnext.symbol.replace-all');
afe42d0… ragelink 2796
afe42d0… ragelink 2797 module.exports = parent;
afe42d0… ragelink 2798
afe42d0… ragelink 2799 },{"../../actual/symbol":33,"../../modules/esnext.symbol.async-dispose":200,"../../modules/esnext.symbol.dispose":201,"../../modules/esnext.symbol.matcher":202,"../../modules/esnext.symbol.metadata":203,"../../modules/esnext.symbol.observable":204,"../../modules/esnext.symbol.pattern-match":205,"../../modules/esnext.symbol.replace-all":206}],57:[function(require,module,exports){
afe42d0… ragelink 2800 var global = require('../internals/global');
afe42d0… ragelink 2801 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 2802 var tryToString = require('../internals/try-to-string');
afe42d0… ragelink 2803
afe42d0… ragelink 2804 var TypeError = global.TypeError;
afe42d0… ragelink 2805
afe42d0… ragelink 2806 // `Assert: IsCallable(argument) is true`
afe42d0… ragelink 2807 module.exports = function (argument) {
afe42d0… ragelink 2808 if (isCallable(argument)) return argument;
afe42d0… ragelink 2809 throw TypeError(tryToString(argument) + ' is not a function');
afe42d0… ragelink 2810 };
afe42d0… ragelink 2811
afe42d0… ragelink 2812 },{"../internals/global":104,"../internals/is-callable":114,"../internals/try-to-string":162}],58:[function(require,module,exports){
afe42d0… ragelink 2813 var global = require('../internals/global');
afe42d0… ragelink 2814 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 2815
afe42d0… ragelink 2816 var String = global.String;
afe42d0… ragelink 2817 var TypeError = global.TypeError;
afe42d0… ragelink 2818
afe42d0… ragelink 2819 module.exports = function (argument) {
afe42d0… ragelink 2820 if (typeof argument == 'object' || isCallable(argument)) return argument;
afe42d0… ragelink 2821 throw TypeError("Can't set " + String(argument) + ' as a prototype');
afe42d0… ragelink 2822 };
afe42d0… ragelink 2823
afe42d0… ragelink 2824 },{"../internals/global":104,"../internals/is-callable":114}],59:[function(require,module,exports){
afe42d0… ragelink 2825 module.exports = function () { /* empty */ };
afe42d0… ragelink 2826
afe42d0… ragelink 2827 },{}],60:[function(require,module,exports){
afe42d0… ragelink 2828 var global = require('../internals/global');
afe42d0… ragelink 2829 var isObject = require('../internals/is-object');
afe42d0… ragelink 2830
afe42d0… ragelink 2831 var String = global.String;
afe42d0… ragelink 2832 var TypeError = global.TypeError;
afe42d0… ragelink 2833
afe42d0… ragelink 2834 // `Assert: Type(argument) is Object`
afe42d0… ragelink 2835 module.exports = function (argument) {
afe42d0… ragelink 2836 if (isObject(argument)) return argument;
afe42d0… ragelink 2837 throw TypeError(String(argument) + ' is not an object');
afe42d0… ragelink 2838 };
afe42d0… ragelink 2839
afe42d0… ragelink 2840 },{"../internals/global":104,"../internals/is-object":117}],61:[function(require,module,exports){
afe42d0… ragelink 2841 'use strict';
afe42d0… ragelink 2842 var $forEach = require('../internals/array-iteration').forEach;
afe42d0… ragelink 2843 var arrayMethodIsStrict = require('../internals/array-method-is-strict');
afe42d0… ragelink 2844
afe42d0… ragelink 2845 var STRICT_METHOD = arrayMethodIsStrict('forEach');
afe42d0… ragelink 2846
afe42d0… ragelink 2847 // `Array.prototype.forEach` method implementation
afe42d0… ragelink 2848 // https://tc39.es/ecma262/#sec-array.prototype.foreach
afe42d0… ragelink 2849 module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {
afe42d0… ragelink 2850 return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
afe42d0… ragelink 2851 // eslint-disable-next-line es/no-array-prototype-foreach -- safe
afe42d0… ragelink 2852 } : [].forEach;
afe42d0… ragelink 2853
afe42d0… ragelink 2854 },{"../internals/array-iteration":64,"../internals/array-method-is-strict":66}],62:[function(require,module,exports){
afe42d0… ragelink 2855 'use strict';
afe42d0… ragelink 2856 var global = require('../internals/global');
afe42d0… ragelink 2857 var bind = require('../internals/function-bind-context');
afe42d0… ragelink 2858 var call = require('../internals/function-call');
afe42d0… ragelink 2859 var toObject = require('../internals/to-object');
afe42d0… ragelink 2860 var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
afe42d0… ragelink 2861 var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
afe42d0… ragelink 2862 var isConstructor = require('../internals/is-constructor');
afe42d0… ragelink 2863 var lengthOfArrayLike = require('../internals/length-of-array-like');
afe42d0… ragelink 2864 var createProperty = require('../internals/create-property');
afe42d0… ragelink 2865 var getIterator = require('../internals/get-iterator');
afe42d0… ragelink 2866 var getIteratorMethod = require('../internals/get-iterator-method');
afe42d0… ragelink 2867
afe42d0… ragelink 2868 var Array = global.Array;
afe42d0… ragelink 2869
afe42d0… ragelink 2870 // `Array.from` method implementation
afe42d0… ragelink 2871 // https://tc39.es/ecma262/#sec-array.from
afe42d0… ragelink 2872 module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
afe42d0… ragelink 2873 var O = toObject(arrayLike);
afe42d0… ragelink 2874 var IS_CONSTRUCTOR = isConstructor(this);
afe42d0… ragelink 2875 var argumentsLength = arguments.length;
afe42d0… ragelink 2876 var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
afe42d0… ragelink 2877 var mapping = mapfn !== undefined;
afe42d0… ragelink 2878 if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);
afe42d0… ragelink 2879 var iteratorMethod = getIteratorMethod(O);
afe42d0… ragelink 2880 var index = 0;
afe42d0… ragelink 2881 var length, result, step, iterator, next, value;
afe42d0… ragelink 2882 // if the target is not iterable or it's an array with the default iterator - use a simple case
afe42d0… ragelink 2883 if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {
afe42d0… ragelink 2884 iterator = getIterator(O, iteratorMethod);
afe42d0… ragelink 2885 next = iterator.next;
afe42d0… ragelink 2886 result = IS_CONSTRUCTOR ? new this() : [];
afe42d0… ragelink 2887 for (;!(step = call(next, iterator)).done; index++) {
afe42d0… ragelink 2888 value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
afe42d0… ragelink 2889 createProperty(result, index, value);
afe42d0… ragelink 2890 }
afe42d0… ragelink 2891 } else {
afe42d0… ragelink 2892 length = lengthOfArrayLike(O);
afe42d0… ragelink 2893 result = IS_CONSTRUCTOR ? new this(length) : Array(length);
afe42d0… ragelink 2894 for (;length > index; index++) {
afe42d0… ragelink 2895 value = mapping ? mapfn(O[index], index) : O[index];
afe42d0… ragelink 2896 createProperty(result, index, value);
afe42d0… ragelink 2897 }
afe42d0… ragelink 2898 }
afe42d0… ragelink 2899 result.length = index;
afe42d0… ragelink 2900 return result;
afe42d0… ragelink 2901 };
afe42d0… ragelink 2902
afe42d0… ragelink 2903 },{"../internals/call-with-safe-iteration-closing":72,"../internals/create-property":80,"../internals/function-bind-context":96,"../internals/function-call":97,"../internals/get-iterator":102,"../internals/get-iterator-method":101,"../internals/global":104,"../internals/is-array-iterator-method":112,"../internals/is-constructor":115,"../internals/length-of-array-like":123,"../internals/to-object":157}],63:[function(require,module,exports){
afe42d0… ragelink 2904 var toIndexedObject = require('../internals/to-indexed-object');
afe42d0… ragelink 2905 var toAbsoluteIndex = require('../internals/to-absolute-index');
afe42d0… ragelink 2906 var lengthOfArrayLike = require('../internals/length-of-array-like');
afe42d0… ragelink 2907
afe42d0… ragelink 2908 // `Array.prototype.{ indexOf, includes }` methods implementation
afe42d0… ragelink 2909 var createMethod = function (IS_INCLUDES) {
afe42d0… ragelink 2910 return function ($this, el, fromIndex) {
afe42d0… ragelink 2911 var O = toIndexedObject($this);
afe42d0… ragelink 2912 var length = lengthOfArrayLike(O);
afe42d0… ragelink 2913 var index = toAbsoluteIndex(fromIndex, length);
afe42d0… ragelink 2914 var value;
afe42d0… ragelink 2915 // Array#includes uses SameValueZero equality algorithm
afe42d0… ragelink 2916 // eslint-disable-next-line no-self-compare -- NaN check
afe42d0… ragelink 2917 if (IS_INCLUDES && el != el) while (length > index) {
afe42d0… ragelink 2918 value = O[index++];
afe42d0… ragelink 2919 // eslint-disable-next-line no-self-compare -- NaN check
afe42d0… ragelink 2920 if (value != value) return true;
afe42d0… ragelink 2921 // Array#indexOf ignores holes, Array#includes - not
afe42d0… ragelink 2922 } else for (;length > index; index++) {
afe42d0… ragelink 2923 if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
afe42d0… ragelink 2924 } return !IS_INCLUDES && -1;
afe42d0… ragelink 2925 };
afe42d0… ragelink 2926 };
afe42d0… ragelink 2927
afe42d0… ragelink 2928 module.exports = {
afe42d0… ragelink 2929 // `Array.prototype.includes` method
afe42d0… ragelink 2930 // https://tc39.es/ecma262/#sec-array.prototype.includes
afe42d0… ragelink 2931 includes: createMethod(true),
afe42d0… ragelink 2932 // `Array.prototype.indexOf` method
afe42d0… ragelink 2933 // https://tc39.es/ecma262/#sec-array.prototype.indexof
afe42d0… ragelink 2934 indexOf: createMethod(false)
afe42d0… ragelink 2935 };
afe42d0… ragelink 2936
afe42d0… ragelink 2937 },{"../internals/length-of-array-like":123,"../internals/to-absolute-index":153,"../internals/to-indexed-object":154}],64:[function(require,module,exports){
afe42d0… ragelink 2938 var bind = require('../internals/function-bind-context');
afe42d0… ragelink 2939 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 2940 var IndexedObject = require('../internals/indexed-object');
afe42d0… ragelink 2941 var toObject = require('../internals/to-object');
afe42d0… ragelink 2942 var lengthOfArrayLike = require('../internals/length-of-array-like');
afe42d0… ragelink 2943 var arraySpeciesCreate = require('../internals/array-species-create');
afe42d0… ragelink 2944
afe42d0… ragelink 2945 var push = uncurryThis([].push);
afe42d0… ragelink 2946
afe42d0… ragelink 2947 // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
afe42d0… ragelink 2948 var createMethod = function (TYPE) {
afe42d0… ragelink 2949 var IS_MAP = TYPE == 1;
afe42d0… ragelink 2950 var IS_FILTER = TYPE == 2;
afe42d0… ragelink 2951 var IS_SOME = TYPE == 3;
afe42d0… ragelink 2952 var IS_EVERY = TYPE == 4;
afe42d0… ragelink 2953 var IS_FIND_INDEX = TYPE == 6;
afe42d0… ragelink 2954 var IS_FILTER_REJECT = TYPE == 7;
afe42d0… ragelink 2955 var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
afe42d0… ragelink 2956 return function ($this, callbackfn, that, specificCreate) {
afe42d0… ragelink 2957 var O = toObject($this);
afe42d0… ragelink 2958 var self = IndexedObject(O);
afe42d0… ragelink 2959 var boundFunction = bind(callbackfn, that);
afe42d0… ragelink 2960 var length = lengthOfArrayLike(self);
afe42d0… ragelink 2961 var index = 0;
afe42d0… ragelink 2962 var create = specificCreate || arraySpeciesCreate;
afe42d0… ragelink 2963 var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
afe42d0… ragelink 2964 var value, result;
afe42d0… ragelink 2965 for (;length > index; index++) if (NO_HOLES || index in self) {
afe42d0… ragelink 2966 value = self[index];
afe42d0… ragelink 2967 result = boundFunction(value, index, O);
afe42d0… ragelink 2968 if (TYPE) {
afe42d0… ragelink 2969 if (IS_MAP) target[index] = result; // map
afe42d0… ragelink 2970 else if (result) switch (TYPE) {
afe42d0… ragelink 2971 case 3: return true; // some
afe42d0… ragelink 2972 case 5: return value; // find
afe42d0… ragelink 2973 case 6: return index; // findIndex
afe42d0… ragelink 2974 case 2: push(target, value); // filter
afe42d0… ragelink 2975 } else switch (TYPE) {
afe42d0… ragelink 2976 case 4: return false; // every
afe42d0… ragelink 2977 case 7: push(target, value); // filterReject
afe42d0… ragelink 2978 }
afe42d0… ragelink 2979 }
afe42d0… ragelink 2980 }
afe42d0… ragelink 2981 return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
afe42d0… ragelink 2982 };
afe42d0… ragelink 2983 };
afe42d0… ragelink 2984
afe42d0… ragelink 2985 module.exports = {
afe42d0… ragelink 2986 // `Array.prototype.forEach` method
afe42d0… ragelink 2987 // https://tc39.es/ecma262/#sec-array.prototype.foreach
afe42d0… ragelink 2988 forEach: createMethod(0),
afe42d0… ragelink 2989 // `Array.prototype.map` method
afe42d0… ragelink 2990 // https://tc39.es/ecma262/#sec-array.prototype.map
afe42d0… ragelink 2991 map: createMethod(1),
afe42d0… ragelink 2992 // `Array.prototype.filter` method
afe42d0… ragelink 2993 // https://tc39.es/ecma262/#sec-array.prototype.filter
afe42d0… ragelink 2994 filter: createMethod(2),
afe42d0… ragelink 2995 // `Array.prototype.some` method
afe42d0… ragelink 2996 // https://tc39.es/ecma262/#sec-array.prototype.some
afe42d0… ragelink 2997 some: createMethod(3),
afe42d0… ragelink 2998 // `Array.prototype.every` method
afe42d0… ragelink 2999 // https://tc39.es/ecma262/#sec-array.prototype.every
afe42d0… ragelink 3000 every: createMethod(4),
afe42d0… ragelink 3001 // `Array.prototype.find` method
afe42d0… ragelink 3002 // https://tc39.es/ecma262/#sec-array.prototype.find
afe42d0… ragelink 3003 find: createMethod(5),
afe42d0… ragelink 3004 // `Array.prototype.findIndex` method
afe42d0… ragelink 3005 // https://tc39.es/ecma262/#sec-array.prototype.findIndex
afe42d0… ragelink 3006 findIndex: createMethod(6),
afe42d0… ragelink 3007 // `Array.prototype.filterReject` method
afe42d0… ragelink 3008 // https://github.com/tc39/proposal-array-filtering
afe42d0… ragelink 3009 filterReject: createMethod(7)
afe42d0… ragelink 3010 };
afe42d0… ragelink 3011
afe42d0… ragelink 3012 },{"../internals/array-species-create":71,"../internals/function-bind-context":96,"../internals/function-uncurry-this":99,"../internals/indexed-object":109,"../internals/length-of-array-like":123,"../internals/to-object":157}],65:[function(require,module,exports){
afe42d0… ragelink 3013 var fails = require('../internals/fails');
afe42d0… ragelink 3014 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 3015 var V8_VERSION = require('../internals/engine-v8-version');
afe42d0… ragelink 3016
afe42d0… ragelink 3017 var SPECIES = wellKnownSymbol('species');
afe42d0… ragelink 3018
afe42d0… ragelink 3019 module.exports = function (METHOD_NAME) {
afe42d0… ragelink 3020 // We can't use this feature detection in V8 since it causes
afe42d0… ragelink 3021 // deoptimization and serious performance degradation
afe42d0… ragelink 3022 // https://github.com/zloirock/core-js/issues/677
afe42d0… ragelink 3023 return V8_VERSION >= 51 || !fails(function () {
afe42d0… ragelink 3024 var array = [];
afe42d0… ragelink 3025 var constructor = array.constructor = {};
afe42d0… ragelink 3026 constructor[SPECIES] = function () {
afe42d0… ragelink 3027 return { foo: 1 };
afe42d0… ragelink 3028 };
afe42d0… ragelink 3029 return array[METHOD_NAME](Boolean).foo !== 1;
afe42d0… ragelink 3030 });
afe42d0… ragelink 3031 };
afe42d0… ragelink 3032
afe42d0… ragelink 3033 },{"../internals/engine-v8-version":89,"../internals/fails":94,"../internals/well-known-symbol":166}],66:[function(require,module,exports){
afe42d0… ragelink 3034 'use strict';
afe42d0… ragelink 3035 var fails = require('../internals/fails');
afe42d0… ragelink 3036
afe42d0… ragelink 3037 module.exports = function (METHOD_NAME, argument) {
afe42d0… ragelink 3038 var method = [][METHOD_NAME];
afe42d0… ragelink 3039 return !!method && fails(function () {
afe42d0… ragelink 3040 // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing
afe42d0… ragelink 3041 method.call(null, argument || function () { throw 1; }, 1);
afe42d0… ragelink 3042 });
afe42d0… ragelink 3043 };
afe42d0… ragelink 3044
afe42d0… ragelink 3045 },{"../internals/fails":94}],67:[function(require,module,exports){
afe42d0… ragelink 3046 var global = require('../internals/global');
afe42d0… ragelink 3047 var toAbsoluteIndex = require('../internals/to-absolute-index');
afe42d0… ragelink 3048 var lengthOfArrayLike = require('../internals/length-of-array-like');
afe42d0… ragelink 3049 var createProperty = require('../internals/create-property');
afe42d0… ragelink 3050
afe42d0… ragelink 3051 var Array = global.Array;
afe42d0… ragelink 3052 var max = Math.max;
afe42d0… ragelink 3053
afe42d0… ragelink 3054 module.exports = function (O, start, end) {
afe42d0… ragelink 3055 var length = lengthOfArrayLike(O);
afe42d0… ragelink 3056 var k = toAbsoluteIndex(start, length);
afe42d0… ragelink 3057 var fin = toAbsoluteIndex(end === undefined ? length : end, length);
afe42d0… ragelink 3058 var result = Array(max(fin - k, 0));
afe42d0… ragelink 3059 for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
afe42d0… ragelink 3060 result.length = n;
afe42d0… ragelink 3061 return result;
afe42d0… ragelink 3062 };
afe42d0… ragelink 3063
afe42d0… ragelink 3064 },{"../internals/create-property":80,"../internals/global":104,"../internals/length-of-array-like":123,"../internals/to-absolute-index":153}],68:[function(require,module,exports){
afe42d0… ragelink 3065 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 3066
afe42d0… ragelink 3067 module.exports = uncurryThis([].slice);
afe42d0… ragelink 3068
afe42d0… ragelink 3069 },{"../internals/function-uncurry-this":99}],69:[function(require,module,exports){
afe42d0… ragelink 3070 var arraySlice = require('../internals/array-slice-simple');
afe42d0… ragelink 3071
afe42d0… ragelink 3072 var floor = Math.floor;
afe42d0… ragelink 3073
afe42d0… ragelink 3074 var mergeSort = function (array, comparefn) {
afe42d0… ragelink 3075 var length = array.length;
afe42d0… ragelink 3076 var middle = floor(length / 2);
afe42d0… ragelink 3077 return length < 8 ? insertionSort(array, comparefn) : merge(
afe42d0… ragelink 3078 array,
afe42d0… ragelink 3079 mergeSort(arraySlice(array, 0, middle), comparefn),
afe42d0… ragelink 3080 mergeSort(arraySlice(array, middle), comparefn),
afe42d0… ragelink 3081 comparefn
afe42d0… ragelink 3082 );
afe42d0… ragelink 3083 };
afe42d0… ragelink 3084
afe42d0… ragelink 3085 var insertionSort = function (array, comparefn) {
afe42d0… ragelink 3086 var length = array.length;
afe42d0… ragelink 3087 var i = 1;
afe42d0… ragelink 3088 var element, j;
afe42d0… ragelink 3089
afe42d0… ragelink 3090 while (i < length) {
afe42d0… ragelink 3091 j = i;
afe42d0… ragelink 3092 element = array[i];
afe42d0… ragelink 3093 while (j && comparefn(array[j - 1], element) > 0) {
afe42d0… ragelink 3094 array[j] = array[--j];
afe42d0… ragelink 3095 }
afe42d0… ragelink 3096 if (j !== i++) array[j] = element;
afe42d0… ragelink 3097 } return array;
afe42d0… ragelink 3098 };
afe42d0… ragelink 3099
afe42d0… ragelink 3100 var merge = function (array, left, right, comparefn) {
afe42d0… ragelink 3101 var llength = left.length;
afe42d0… ragelink 3102 var rlength = right.length;
afe42d0… ragelink 3103 var lindex = 0;
afe42d0… ragelink 3104 var rindex = 0;
afe42d0… ragelink 3105
afe42d0… ragelink 3106 while (lindex < llength || rindex < rlength) {
afe42d0… ragelink 3107 array[lindex + rindex] = (lindex < llength && rindex < rlength)
afe42d0… ragelink 3108 ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]
afe42d0… ragelink 3109 : lindex < llength ? left[lindex++] : right[rindex++];
afe42d0… ragelink 3110 } return array;
afe42d0… ragelink 3111 };
afe42d0… ragelink 3112
afe42d0… ragelink 3113 module.exports = mergeSort;
afe42d0… ragelink 3114
afe42d0… ragelink 3115 },{"../internals/array-slice-simple":67}],70:[function(require,module,exports){
afe42d0… ragelink 3116 var global = require('../internals/global');
afe42d0… ragelink 3117 var isArray = require('../internals/is-array');
afe42d0… ragelink 3118 var isConstructor = require('../internals/is-constructor');
afe42d0… ragelink 3119 var isObject = require('../internals/is-object');
afe42d0… ragelink 3120 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 3121
afe42d0… ragelink 3122 var SPECIES = wellKnownSymbol('species');
afe42d0… ragelink 3123 var Array = global.Array;
afe42d0… ragelink 3124
afe42d0… ragelink 3125 // a part of `ArraySpeciesCreate` abstract operation
afe42d0… ragelink 3126 // https://tc39.es/ecma262/#sec-arrayspeciescreate
afe42d0… ragelink 3127 module.exports = function (originalArray) {
afe42d0… ragelink 3128 var C;
afe42d0… ragelink 3129 if (isArray(originalArray)) {
afe42d0… ragelink 3130 C = originalArray.constructor;
afe42d0… ragelink 3131 // cross-realm fallback
afe42d0… ragelink 3132 if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;
afe42d0… ragelink 3133 else if (isObject(C)) {
afe42d0… ragelink 3134 C = C[SPECIES];
afe42d0… ragelink 3135 if (C === null) C = undefined;
afe42d0… ragelink 3136 }
afe42d0… ragelink 3137 } return C === undefined ? Array : C;
afe42d0… ragelink 3138 };
afe42d0… ragelink 3139
afe42d0… ragelink 3140 },{"../internals/global":104,"../internals/is-array":113,"../internals/is-constructor":115,"../internals/is-object":117,"../internals/well-known-symbol":166}],71:[function(require,module,exports){
afe42d0… ragelink 3141 var arraySpeciesConstructor = require('../internals/array-species-constructor');
afe42d0… ragelink 3142
afe42d0… ragelink 3143 // `ArraySpeciesCreate` abstract operation
afe42d0… ragelink 3144 // https://tc39.es/ecma262/#sec-arrayspeciescreate
afe42d0… ragelink 3145 module.exports = function (originalArray, length) {
afe42d0… ragelink 3146 return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
afe42d0… ragelink 3147 };
afe42d0… ragelink 3148
afe42d0… ragelink 3149 },{"../internals/array-species-constructor":70}],72:[function(require,module,exports){
afe42d0… ragelink 3150 var anObject = require('../internals/an-object');
afe42d0… ragelink 3151 var iteratorClose = require('../internals/iterator-close');
afe42d0… ragelink 3152
afe42d0… ragelink 3153 // call something on iterator step with safe closing on error
afe42d0… ragelink 3154 module.exports = function (iterator, fn, value, ENTRIES) {
afe42d0… ragelink 3155 try {
afe42d0… ragelink 3156 return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
afe42d0… ragelink 3157 } catch (error) {
afe42d0… ragelink 3158 iteratorClose(iterator, 'throw', error);
afe42d0… ragelink 3159 }
afe42d0… ragelink 3160 };
afe42d0… ragelink 3161
afe42d0… ragelink 3162 },{"../internals/an-object":60,"../internals/iterator-close":120}],73:[function(require,module,exports){
afe42d0… ragelink 3163 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 3164
afe42d0… ragelink 3165 var ITERATOR = wellKnownSymbol('iterator');
afe42d0… ragelink 3166 var SAFE_CLOSING = false;
afe42d0… ragelink 3167
afe42d0… ragelink 3168 try {
afe42d0… ragelink 3169 var called = 0;
afe42d0… ragelink 3170 var iteratorWithReturn = {
afe42d0… ragelink 3171 next: function () {
afe42d0… ragelink 3172 return { done: !!called++ };
afe42d0… ragelink 3173 },
afe42d0… ragelink 3174 'return': function () {
afe42d0… ragelink 3175 SAFE_CLOSING = true;
afe42d0… ragelink 3176 }
afe42d0… ragelink 3177 };
afe42d0… ragelink 3178 iteratorWithReturn[ITERATOR] = function () {
afe42d0… ragelink 3179 return this;
afe42d0… ragelink 3180 };
afe42d0… ragelink 3181 // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
afe42d0… ragelink 3182 Array.from(iteratorWithReturn, function () { throw 2; });
afe42d0… ragelink 3183 } catch (error) { /* empty */ }
afe42d0… ragelink 3184
afe42d0… ragelink 3185 module.exports = function (exec, SKIP_CLOSING) {
afe42d0… ragelink 3186 if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
afe42d0… ragelink 3187 var ITERATION_SUPPORT = false;
afe42d0… ragelink 3188 try {
afe42d0… ragelink 3189 var object = {};
afe42d0… ragelink 3190 object[ITERATOR] = function () {
afe42d0… ragelink 3191 return {
afe42d0… ragelink 3192 next: function () {
afe42d0… ragelink 3193 return { done: ITERATION_SUPPORT = true };
afe42d0… ragelink 3194 }
afe42d0… ragelink 3195 };
afe42d0… ragelink 3196 };
afe42d0… ragelink 3197 exec(object);
afe42d0… ragelink 3198 } catch (error) { /* empty */ }
afe42d0… ragelink 3199 return ITERATION_SUPPORT;
afe42d0… ragelink 3200 };
afe42d0… ragelink 3201
afe42d0… ragelink 3202 },{"../internals/well-known-symbol":166}],74:[function(require,module,exports){
afe42d0… ragelink 3203 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 3204
afe42d0… ragelink 3205 var toString = uncurryThis({}.toString);
afe42d0… ragelink 3206 var stringSlice = uncurryThis(''.slice);
afe42d0… ragelink 3207
afe42d0… ragelink 3208 module.exports = function (it) {
afe42d0… ragelink 3209 return stringSlice(toString(it), 8, -1);
afe42d0… ragelink 3210 };
afe42d0… ragelink 3211
afe42d0… ragelink 3212 },{"../internals/function-uncurry-this":99}],75:[function(require,module,exports){
afe42d0… ragelink 3213 var global = require('../internals/global');
afe42d0… ragelink 3214 var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');
afe42d0… ragelink 3215 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 3216 var classofRaw = require('../internals/classof-raw');
afe42d0… ragelink 3217 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 3218
afe42d0… ragelink 3219 var TO_STRING_TAG = wellKnownSymbol('toStringTag');
afe42d0… ragelink 3220 var Object = global.Object;
afe42d0… ragelink 3221
afe42d0… ragelink 3222 // ES3 wrong here
afe42d0… ragelink 3223 var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
afe42d0… ragelink 3224
afe42d0… ragelink 3225 // fallback for IE11 Script Access Denied error
afe42d0… ragelink 3226 var tryGet = function (it, key) {
afe42d0… ragelink 3227 try {
afe42d0… ragelink 3228 return it[key];
afe42d0… ragelink 3229 } catch (error) { /* empty */ }
afe42d0… ragelink 3230 };
afe42d0… ragelink 3231
afe42d0… ragelink 3232 // getting tag from ES6+ `Object.prototype.toString`
afe42d0… ragelink 3233 module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
afe42d0… ragelink 3234 var O, tag, result;
afe42d0… ragelink 3235 return it === undefined ? 'Undefined' : it === null ? 'Null'
afe42d0… ragelink 3236 // @@toStringTag case
afe42d0… ragelink 3237 : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
afe42d0… ragelink 3238 // builtinTag case
afe42d0… ragelink 3239 : CORRECT_ARGUMENTS ? classofRaw(O)
afe42d0… ragelink 3240 // ES3 arguments fallback
afe42d0… ragelink 3241 : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
afe42d0… ragelink 3242 };
afe42d0… ragelink 3243
afe42d0… ragelink 3244 },{"../internals/classof-raw":74,"../internals/global":104,"../internals/is-callable":114,"../internals/to-string-tag-support":160,"../internals/well-known-symbol":166}],76:[function(require,module,exports){
afe42d0… ragelink 3245 var fails = require('../internals/fails');
afe42d0… ragelink 3246
afe42d0… ragelink 3247 module.exports = !fails(function () {
afe42d0… ragelink 3248 function F() { /* empty */ }
afe42d0… ragelink 3249 F.prototype.constructor = null;
afe42d0… ragelink 3250 // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
afe42d0… ragelink 3251 return Object.getPrototypeOf(new F()) !== F.prototype;
afe42d0… ragelink 3252 });
afe42d0… ragelink 3253
afe42d0… ragelink 3254 },{"../internals/fails":94}],77:[function(require,module,exports){
afe42d0… ragelink 3255 'use strict';
afe42d0… ragelink 3256 var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
afe42d0… ragelink 3257 var create = require('../internals/object-create');
afe42d0… ragelink 3258 var createPropertyDescriptor = require('../internals/create-property-descriptor');
afe42d0… ragelink 3259 var setToStringTag = require('../internals/set-to-string-tag');
afe42d0… ragelink 3260 var Iterators = require('../internals/iterators');
afe42d0… ragelink 3261
afe42d0… ragelink 3262 var returnThis = function () { return this; };
afe42d0… ragelink 3263
afe42d0… ragelink 3264 module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
afe42d0… ragelink 3265 var TO_STRING_TAG = NAME + ' Iterator';
afe42d0… ragelink 3266 IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
afe42d0… ragelink 3267 setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
afe42d0… ragelink 3268 Iterators[TO_STRING_TAG] = returnThis;
afe42d0… ragelink 3269 return IteratorConstructor;
afe42d0… ragelink 3270 };
afe42d0… ragelink 3271
afe42d0… ragelink 3272 },{"../internals/create-property-descriptor":79,"../internals/iterators":122,"../internals/iterators-core":121,"../internals/object-create":127,"../internals/set-to-string-tag":147}],78:[function(require,module,exports){
afe42d0… ragelink 3273 var DESCRIPTORS = require('../internals/descriptors');
afe42d0… ragelink 3274 var definePropertyModule = require('../internals/object-define-property');
afe42d0… ragelink 3275 var createPropertyDescriptor = require('../internals/create-property-descriptor');
afe42d0… ragelink 3276
afe42d0… ragelink 3277 module.exports = DESCRIPTORS ? function (object, key, value) {
afe42d0… ragelink 3278 return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
afe42d0… ragelink 3279 } : function (object, key, value) {
afe42d0… ragelink 3280 object[key] = value;
afe42d0… ragelink 3281 return object;
afe42d0… ragelink 3282 };
afe42d0… ragelink 3283
afe42d0… ragelink 3284 },{"../internals/create-property-descriptor":79,"../internals/descriptors":83,"../internals/object-define-property":129}],79:[function(require,module,exports){
afe42d0… ragelink 3285 module.exports = function (bitmap, value) {
afe42d0… ragelink 3286 return {
afe42d0… ragelink 3287 enumerable: !(bitmap & 1),
afe42d0… ragelink 3288 configurable: !(bitmap & 2),
afe42d0… ragelink 3289 writable: !(bitmap & 4),
afe42d0… ragelink 3290 value: value
afe42d0… ragelink 3291 };
afe42d0… ragelink 3292 };
afe42d0… ragelink 3293
afe42d0… ragelink 3294 },{}],80:[function(require,module,exports){
afe42d0… ragelink 3295 'use strict';
afe42d0… ragelink 3296 var toPropertyKey = require('../internals/to-property-key');
afe42d0… ragelink 3297 var definePropertyModule = require('../internals/object-define-property');
afe42d0… ragelink 3298 var createPropertyDescriptor = require('../internals/create-property-descriptor');
afe42d0… ragelink 3299
afe42d0… ragelink 3300 module.exports = function (object, key, value) {
afe42d0… ragelink 3301 var propertyKey = toPropertyKey(key);
afe42d0… ragelink 3302 if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
afe42d0… ragelink 3303 else object[propertyKey] = value;
afe42d0… ragelink 3304 };
afe42d0… ragelink 3305
afe42d0… ragelink 3306 },{"../internals/create-property-descriptor":79,"../internals/object-define-property":129,"../internals/to-property-key":159}],81:[function(require,module,exports){
afe42d0… ragelink 3307 'use strict';
afe42d0… ragelink 3308 var $ = require('../internals/export');
afe42d0… ragelink 3309 var call = require('../internals/function-call');
afe42d0… ragelink 3310 var IS_PURE = require('../internals/is-pure');
afe42d0… ragelink 3311 var FunctionName = require('../internals/function-name');
afe42d0… ragelink 3312 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 3313 var createIteratorConstructor = require('../internals/create-iterator-constructor');
afe42d0… ragelink 3314 var getPrototypeOf = require('../internals/object-get-prototype-of');
afe42d0… ragelink 3315 var setPrototypeOf = require('../internals/object-set-prototype-of');
afe42d0… ragelink 3316 var setToStringTag = require('../internals/set-to-string-tag');
afe42d0… ragelink 3317 var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
afe42d0… ragelink 3318 var redefine = require('../internals/redefine');
afe42d0… ragelink 3319 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 3320 var Iterators = require('../internals/iterators');
afe42d0… ragelink 3321 var IteratorsCore = require('../internals/iterators-core');
afe42d0… ragelink 3322
afe42d0… ragelink 3323 var PROPER_FUNCTION_NAME = FunctionName.PROPER;
afe42d0… ragelink 3324 var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
afe42d0… ragelink 3325 var IteratorPrototype = IteratorsCore.IteratorPrototype;
afe42d0… ragelink 3326 var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
afe42d0… ragelink 3327 var ITERATOR = wellKnownSymbol('iterator');
afe42d0… ragelink 3328 var KEYS = 'keys';
afe42d0… ragelink 3329 var VALUES = 'values';
afe42d0… ragelink 3330 var ENTRIES = 'entries';
afe42d0… ragelink 3331
afe42d0… ragelink 3332 var returnThis = function () { return this; };
afe42d0… ragelink 3333
afe42d0… ragelink 3334 module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
afe42d0… ragelink 3335 createIteratorConstructor(IteratorConstructor, NAME, next);
afe42d0… ragelink 3336
afe42d0… ragelink 3337 var getIterationMethod = function (KIND) {
afe42d0… ragelink 3338 if (KIND === DEFAULT && defaultIterator) return defaultIterator;
afe42d0… ragelink 3339 if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
afe42d0… ragelink 3340 switch (KIND) {
afe42d0… ragelink 3341 case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
afe42d0… ragelink 3342 case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
afe42d0… ragelink 3343 case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
afe42d0… ragelink 3344 } return function () { return new IteratorConstructor(this); };
afe42d0… ragelink 3345 };
afe42d0… ragelink 3346
afe42d0… ragelink 3347 var TO_STRING_TAG = NAME + ' Iterator';
afe42d0… ragelink 3348 var INCORRECT_VALUES_NAME = false;
afe42d0… ragelink 3349 var IterablePrototype = Iterable.prototype;
afe42d0… ragelink 3350 var nativeIterator = IterablePrototype[ITERATOR]
afe42d0… ragelink 3351 || IterablePrototype['@@iterator']
afe42d0… ragelink 3352 || DEFAULT && IterablePrototype[DEFAULT];
afe42d0… ragelink 3353 var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
afe42d0… ragelink 3354 var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
afe42d0… ragelink 3355 var CurrentIteratorPrototype, methods, KEY;
afe42d0… ragelink 3356
afe42d0… ragelink 3357 // fix native
afe42d0… ragelink 3358 if (anyNativeIterator) {
afe42d0… ragelink 3359 CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
afe42d0… ragelink 3360 if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
afe42d0… ragelink 3361 if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
afe42d0… ragelink 3362 if (setPrototypeOf) {
afe42d0… ragelink 3363 setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
afe42d0… ragelink 3364 } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {
afe42d0… ragelink 3365 redefine(CurrentIteratorPrototype, ITERATOR, returnThis);
afe42d0… ragelink 3366 }
afe42d0… ragelink 3367 }
afe42d0… ragelink 3368 // Set @@toStringTag to native iterators
afe42d0… ragelink 3369 setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
afe42d0… ragelink 3370 if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
afe42d0… ragelink 3371 }
afe42d0… ragelink 3372 }
afe42d0… ragelink 3373
afe42d0… ragelink 3374 // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
afe42d0… ragelink 3375 if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
afe42d0… ragelink 3376 if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {
afe42d0… ragelink 3377 createNonEnumerableProperty(IterablePrototype, 'name', VALUES);
afe42d0… ragelink 3378 } else {
afe42d0… ragelink 3379 INCORRECT_VALUES_NAME = true;
afe42d0… ragelink 3380 defaultIterator = function values() { return call(nativeIterator, this); };
afe42d0… ragelink 3381 }
afe42d0… ragelink 3382 }
afe42d0… ragelink 3383
afe42d0… ragelink 3384 // export additional methods
afe42d0… ragelink 3385 if (DEFAULT) {
afe42d0… ragelink 3386 methods = {
afe42d0… ragelink 3387 values: getIterationMethod(VALUES),
afe42d0… ragelink 3388 keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
afe42d0… ragelink 3389 entries: getIterationMethod(ENTRIES)
afe42d0… ragelink 3390 };
afe42d0… ragelink 3391 if (FORCED) for (KEY in methods) {
afe42d0… ragelink 3392 if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
afe42d0… ragelink 3393 redefine(IterablePrototype, KEY, methods[KEY]);
afe42d0… ragelink 3394 }
afe42d0… ragelink 3395 } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
afe42d0… ragelink 3396 }
afe42d0… ragelink 3397
afe42d0… ragelink 3398 // define iterator
afe42d0… ragelink 3399 if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
afe42d0… ragelink 3400 redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });
afe42d0… ragelink 3401 }
afe42d0… ragelink 3402 Iterators[NAME] = defaultIterator;
afe42d0… ragelink 3403
afe42d0… ragelink 3404 return methods;
afe42d0… ragelink 3405 };
afe42d0… ragelink 3406
afe42d0… ragelink 3407 },{"../internals/create-iterator-constructor":77,"../internals/create-non-enumerable-property":78,"../internals/export":93,"../internals/function-call":97,"../internals/function-name":98,"../internals/is-callable":114,"../internals/is-pure":118,"../internals/iterators":122,"../internals/iterators-core":121,"../internals/object-get-prototype-of":134,"../internals/object-set-prototype-of":139,"../internals/redefine":143,"../internals/set-to-string-tag":147,"../internals/well-known-symbol":166}],82:[function(require,module,exports){
afe42d0… ragelink 3408 var path = require('../internals/path');
afe42d0… ragelink 3409 var hasOwn = require('../internals/has-own-property');
afe42d0… ragelink 3410 var wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');
afe42d0… ragelink 3411 var defineProperty = require('../internals/object-define-property').f;
afe42d0… ragelink 3412
afe42d0… ragelink 3413 module.exports = function (NAME) {
afe42d0… ragelink 3414 var Symbol = path.Symbol || (path.Symbol = {});
afe42d0… ragelink 3415 if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {
afe42d0… ragelink 3416 value: wrappedWellKnownSymbolModule.f(NAME)
afe42d0… ragelink 3417 });
afe42d0… ragelink 3418 };
afe42d0… ragelink 3419
afe42d0… ragelink 3420 },{"../internals/has-own-property":105,"../internals/object-define-property":129,"../internals/path":142,"../internals/well-known-symbol-wrapped":165}],83:[function(require,module,exports){
afe42d0… ragelink 3421 var fails = require('../internals/fails');
afe42d0… ragelink 3422
afe42d0… ragelink 3423 // Detect IE8's incomplete defineProperty implementation
afe42d0… ragelink 3424 module.exports = !fails(function () {
afe42d0… ragelink 3425 // eslint-disable-next-line es/no-object-defineproperty -- required for testing
afe42d0… ragelink 3426 return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
afe42d0… ragelink 3427 });
afe42d0… ragelink 3428
afe42d0… ragelink 3429 },{"../internals/fails":94}],84:[function(require,module,exports){
afe42d0… ragelink 3430 var global = require('../internals/global');
afe42d0… ragelink 3431 var isObject = require('../internals/is-object');
afe42d0… ragelink 3432
afe42d0… ragelink 3433 var document = global.document;
afe42d0… ragelink 3434 // typeof document.createElement is 'object' in old IE
afe42d0… ragelink 3435 var EXISTS = isObject(document) && isObject(document.createElement);
afe42d0… ragelink 3436
afe42d0… ragelink 3437 module.exports = function (it) {
afe42d0… ragelink 3438 return EXISTS ? document.createElement(it) : {};
afe42d0… ragelink 3439 };
afe42d0… ragelink 3440
afe42d0… ragelink 3441 },{"../internals/global":104,"../internals/is-object":117}],85:[function(require,module,exports){
afe42d0… ragelink 3442 // iterable DOM collections
afe42d0… ragelink 3443 // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
afe42d0… ragelink 3444 module.exports = {
afe42d0… ragelink 3445 CSSRuleList: 0,
afe42d0… ragelink 3446 CSSStyleDeclaration: 0,
afe42d0… ragelink 3447 CSSValueList: 0,
afe42d0… ragelink 3448 ClientRectList: 0,
afe42d0… ragelink 3449 DOMRectList: 0,
afe42d0… ragelink 3450 DOMStringList: 0,
afe42d0… ragelink 3451 DOMTokenList: 1,
afe42d0… ragelink 3452 DataTransferItemList: 0,
afe42d0… ragelink 3453 FileList: 0,
afe42d0… ragelink 3454 HTMLAllCollection: 0,
afe42d0… ragelink 3455 HTMLCollection: 0,
afe42d0… ragelink 3456 HTMLFormElement: 0,
afe42d0… ragelink 3457 HTMLSelectElement: 0,
afe42d0… ragelink 3458 MediaList: 0,
afe42d0… ragelink 3459 MimeTypeArray: 0,
afe42d0… ragelink 3460 NamedNodeMap: 0,
afe42d0… ragelink 3461 NodeList: 1,
afe42d0… ragelink 3462 PaintRequestList: 0,
afe42d0… ragelink 3463 Plugin: 0,
afe42d0… ragelink 3464 PluginArray: 0,
afe42d0… ragelink 3465 SVGLengthList: 0,
afe42d0… ragelink 3466 SVGNumberList: 0,
afe42d0… ragelink 3467 SVGPathSegList: 0,
afe42d0… ragelink 3468 SVGPointList: 0,
afe42d0… ragelink 3469 SVGStringList: 0,
afe42d0… ragelink 3470 SVGTransformList: 0,
afe42d0… ragelink 3471 SourceBufferList: 0,
afe42d0… ragelink 3472 StyleSheetList: 0,
afe42d0… ragelink 3473 TextTrackCueList: 0,
afe42d0… ragelink 3474 TextTrackList: 0,
afe42d0… ragelink 3475 TouchList: 0
afe42d0… ragelink 3476 };
afe42d0… ragelink 3477
afe42d0… ragelink 3478 },{}],86:[function(require,module,exports){
afe42d0… ragelink 3479 var userAgent = require('../internals/engine-user-agent');
afe42d0… ragelink 3480
afe42d0… ragelink 3481 var firefox = userAgent.match(/firefox\/(\d+)/i);
afe42d0… ragelink 3482
afe42d0… ragelink 3483 module.exports = !!firefox && +firefox[1];
afe42d0… ragelink 3484
afe42d0… ragelink 3485 },{"../internals/engine-user-agent":88}],87:[function(require,module,exports){
afe42d0… ragelink 3486 var UA = require('../internals/engine-user-agent');
afe42d0… ragelink 3487
afe42d0… ragelink 3488 module.exports = /MSIE|Trident/.test(UA);
afe42d0… ragelink 3489
afe42d0… ragelink 3490 },{"../internals/engine-user-agent":88}],88:[function(require,module,exports){
afe42d0… ragelink 3491 var getBuiltIn = require('../internals/get-built-in');
afe42d0… ragelink 3492
afe42d0… ragelink 3493 module.exports = getBuiltIn('navigator', 'userAgent') || '';
afe42d0… ragelink 3494
afe42d0… ragelink 3495 },{"../internals/get-built-in":100}],89:[function(require,module,exports){
afe42d0… ragelink 3496 var global = require('../internals/global');
afe42d0… ragelink 3497 var userAgent = require('../internals/engine-user-agent');
afe42d0… ragelink 3498
afe42d0… ragelink 3499 var process = global.process;
afe42d0… ragelink 3500 var Deno = global.Deno;
afe42d0… ragelink 3501 var versions = process && process.versions || Deno && Deno.version;
afe42d0… ragelink 3502 var v8 = versions && versions.v8;
afe42d0… ragelink 3503 var match, version;
afe42d0… ragelink 3504
afe42d0… ragelink 3505 if (v8) {
afe42d0… ragelink 3506 match = v8.split('.');
afe42d0… ragelink 3507 // in old Chrome, versions of V8 isn't V8 = Chrome / 10
afe42d0… ragelink 3508 // but their correct versions are not interesting for us
afe42d0… ragelink 3509 version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
afe42d0… ragelink 3510 }
afe42d0… ragelink 3511
afe42d0… ragelink 3512 // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
afe42d0… ragelink 3513 // so check `userAgent` even if `.v8` exists, but 0
afe42d0… ragelink 3514 if (!version && userAgent) {
afe42d0… ragelink 3515 match = userAgent.match(/Edge\/(\d+)/);
afe42d0… ragelink 3516 if (!match || match[1] >= 74) {
afe42d0… ragelink 3517 match = userAgent.match(/Chrome\/(\d+)/);
afe42d0… ragelink 3518 if (match) version = +match[1];
afe42d0… ragelink 3519 }
afe42d0… ragelink 3520 }
afe42d0… ragelink 3521
afe42d0… ragelink 3522 module.exports = version;
afe42d0… ragelink 3523
afe42d0… ragelink 3524 },{"../internals/engine-user-agent":88,"../internals/global":104}],90:[function(require,module,exports){
afe42d0… ragelink 3525 var userAgent = require('../internals/engine-user-agent');
afe42d0… ragelink 3526
afe42d0… ragelink 3527 var webkit = userAgent.match(/AppleWebKit\/(\d+)\./);
afe42d0… ragelink 3528
afe42d0… ragelink 3529 module.exports = !!webkit && +webkit[1];
afe42d0… ragelink 3530
afe42d0… ragelink 3531 },{"../internals/engine-user-agent":88}],91:[function(require,module,exports){
afe42d0… ragelink 3532 var path = require('../internals/path');
afe42d0… ragelink 3533
afe42d0… ragelink 3534 module.exports = function (CONSTRUCTOR) {
afe42d0… ragelink 3535 return path[CONSTRUCTOR + 'Prototype'];
afe42d0… ragelink 3536 };
afe42d0… ragelink 3537
afe42d0… ragelink 3538 },{"../internals/path":142}],92:[function(require,module,exports){
afe42d0… ragelink 3539 // IE8- don't enum bug keys
afe42d0… ragelink 3540 module.exports = [
afe42d0… ragelink 3541 'constructor',
afe42d0… ragelink 3542 'hasOwnProperty',
afe42d0… ragelink 3543 'isPrototypeOf',
afe42d0… ragelink 3544 'propertyIsEnumerable',
afe42d0… ragelink 3545 'toLocaleString',
afe42d0… ragelink 3546 'toString',
afe42d0… ragelink 3547 'valueOf'
afe42d0… ragelink 3548 ];
afe42d0… ragelink 3549
afe42d0… ragelink 3550 },{}],93:[function(require,module,exports){
afe42d0… ragelink 3551 'use strict';
afe42d0… ragelink 3552 var global = require('../internals/global');
afe42d0… ragelink 3553 var apply = require('../internals/function-apply');
afe42d0… ragelink 3554 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 3555 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 3556 var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
afe42d0… ragelink 3557 var isForced = require('../internals/is-forced');
afe42d0… ragelink 3558 var path = require('../internals/path');
afe42d0… ragelink 3559 var bind = require('../internals/function-bind-context');
afe42d0… ragelink 3560 var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
afe42d0… ragelink 3561 var hasOwn = require('../internals/has-own-property');
afe42d0… ragelink 3562
afe42d0… ragelink 3563 var wrapConstructor = function (NativeConstructor) {
afe42d0… ragelink 3564 var Wrapper = function (a, b, c) {
afe42d0… ragelink 3565 if (this instanceof Wrapper) {
afe42d0… ragelink 3566 switch (arguments.length) {
afe42d0… ragelink 3567 case 0: return new NativeConstructor();
afe42d0… ragelink 3568 case 1: return new NativeConstructor(a);
afe42d0… ragelink 3569 case 2: return new NativeConstructor(a, b);
afe42d0… ragelink 3570 } return new NativeConstructor(a, b, c);
afe42d0… ragelink 3571 } return apply(NativeConstructor, this, arguments);
afe42d0… ragelink 3572 };
afe42d0… ragelink 3573 Wrapper.prototype = NativeConstructor.prototype;
afe42d0… ragelink 3574 return Wrapper;
afe42d0… ragelink 3575 };
afe42d0… ragelink 3576
afe42d0… ragelink 3577 /*
afe42d0… ragelink 3578 options.target - name of the target object
afe42d0… ragelink 3579 options.global - target is the global object
afe42d0… ragelink 3580 options.stat - export as static methods of target
afe42d0… ragelink 3581 options.proto - export as prototype methods of target
afe42d0… ragelink 3582 options.real - real prototype method for the `pure` version
afe42d0… ragelink 3583 options.forced - export even if the native feature is available
afe42d0… ragelink 3584 options.bind - bind methods to the target, required for the `pure` version
afe42d0… ragelink 3585 options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
afe42d0… ragelink 3586 options.unsafe - use the simple assignment of property instead of delete + defineProperty
afe42d0… ragelink 3587 options.sham - add a flag to not completely full polyfills
afe42d0… ragelink 3588 options.enumerable - export as enumerable property
afe42d0… ragelink 3589 options.noTargetGet - prevent calling a getter on target
afe42d0… ragelink 3590 options.name - the .name of the function if it does not match the key
afe42d0… ragelink 3591 */
afe42d0… ragelink 3592 module.exports = function (options, source) {
afe42d0… ragelink 3593 var TARGET = options.target;
afe42d0… ragelink 3594 var GLOBAL = options.global;
afe42d0… ragelink 3595 var STATIC = options.stat;
afe42d0… ragelink 3596 var PROTO = options.proto;
afe42d0… ragelink 3597
afe42d0… ragelink 3598 var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype;
afe42d0… ragelink 3599
afe42d0… ragelink 3600 var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];
afe42d0… ragelink 3601 var targetPrototype = target.prototype;
afe42d0… ragelink 3602
afe42d0… ragelink 3603 var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;
afe42d0… ragelink 3604 var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;
afe42d0… ragelink 3605
afe42d0… ragelink 3606 for (key in source) {
afe42d0… ragelink 3607 FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
afe42d0… ragelink 3608 // contains in native
afe42d0… ragelink 3609 USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);
afe42d0… ragelink 3610
afe42d0… ragelink 3611 targetProperty = target[key];
afe42d0… ragelink 3612
afe42d0… ragelink 3613 if (USE_NATIVE) if (options.noTargetGet) {
afe42d0… ragelink 3614 descriptor = getOwnPropertyDescriptor(nativeSource, key);
afe42d0… ragelink 3615 nativeProperty = descriptor && descriptor.value;
afe42d0… ragelink 3616 } else nativeProperty = nativeSource[key];
afe42d0… ragelink 3617
afe42d0… ragelink 3618 // export native or implementation
afe42d0… ragelink 3619 sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];
afe42d0… ragelink 3620
afe42d0… ragelink 3621 if (USE_NATIVE && typeof targetProperty == typeof sourceProperty) continue;
afe42d0… ragelink 3622
afe42d0… ragelink 3623 // bind timers to global for call from export context
afe42d0… ragelink 3624 if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);
afe42d0… ragelink 3625 // wrap global constructors for prevent changs in this version
afe42d0… ragelink 3626 else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);
afe42d0… ragelink 3627 // make static versions for prototype methods
afe42d0… ragelink 3628 else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);
afe42d0… ragelink 3629 // default case
afe42d0… ragelink 3630 else resultProperty = sourceProperty;
afe42d0… ragelink 3631
afe42d0… ragelink 3632 // add a flag to not completely full polyfills
afe42d0… ragelink 3633 if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {
afe42d0… ragelink 3634 createNonEnumerableProperty(resultProperty, 'sham', true);
afe42d0… ragelink 3635 }
afe42d0… ragelink 3636
afe42d0… ragelink 3637 createNonEnumerableProperty(target, key, resultProperty);
afe42d0… ragelink 3638
afe42d0… ragelink 3639 if (PROTO) {
afe42d0… ragelink 3640 VIRTUAL_PROTOTYPE = TARGET + 'Prototype';
afe42d0… ragelink 3641 if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {
afe42d0… ragelink 3642 createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});
afe42d0… ragelink 3643 }
afe42d0… ragelink 3644 // export virtual prototype methods
afe42d0… ragelink 3645 createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);
afe42d0… ragelink 3646 // export real prototype methods
afe42d0… ragelink 3647 if (options.real && targetPrototype && !targetPrototype[key]) {
afe42d0… ragelink 3648 createNonEnumerableProperty(targetPrototype, key, sourceProperty);
afe42d0… ragelink 3649 }
afe42d0… ragelink 3650 }
afe42d0… ragelink 3651 }
afe42d0… ragelink 3652 };
afe42d0… ragelink 3653
afe42d0… ragelink 3654 },{"../internals/create-non-enumerable-property":78,"../internals/function-apply":95,"../internals/function-bind-context":96,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/has-own-property":105,"../internals/is-callable":114,"../internals/is-forced":116,"../internals/object-get-own-property-descriptor":130,"../internals/path":142}],94:[function(require,module,exports){
afe42d0… ragelink 3655 module.exports = function (exec) {
afe42d0… ragelink 3656 try {
afe42d0… ragelink 3657 return !!exec();
afe42d0… ragelink 3658 } catch (error) {
afe42d0… ragelink 3659 return true;
afe42d0… ragelink 3660 }
afe42d0… ragelink 3661 };
afe42d0… ragelink 3662
afe42d0… ragelink 3663 },{}],95:[function(require,module,exports){
afe42d0… ragelink 3664 var FunctionPrototype = Function.prototype;
afe42d0… ragelink 3665 var apply = FunctionPrototype.apply;
afe42d0… ragelink 3666 var bind = FunctionPrototype.bind;
afe42d0… ragelink 3667 var call = FunctionPrototype.call;
afe42d0… ragelink 3668
afe42d0… ragelink 3669 // eslint-disable-next-line es/no-reflect -- safe
afe42d0… ragelink 3670 module.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bind(apply) : function () {
afe42d0… ragelink 3671 return call.apply(apply, arguments);
afe42d0… ragelink 3672 });
afe42d0… ragelink 3673
afe42d0… ragelink 3674 },{}],96:[function(require,module,exports){
afe42d0… ragelink 3675 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 3676 var aCallable = require('../internals/a-callable');
afe42d0… ragelink 3677
afe42d0… ragelink 3678 var bind = uncurryThis(uncurryThis.bind);
afe42d0… ragelink 3679
afe42d0… ragelink 3680 // optional / simple context binding
afe42d0… ragelink 3681 module.exports = function (fn, that) {
afe42d0… ragelink 3682 aCallable(fn);
afe42d0… ragelink 3683 return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) {
afe42d0… ragelink 3684 return fn.apply(that, arguments);
afe42d0… ragelink 3685 };
afe42d0… ragelink 3686 };
afe42d0… ragelink 3687
afe42d0… ragelink 3688 },{"../internals/a-callable":57,"../internals/function-uncurry-this":99}],97:[function(require,module,exports){
afe42d0… ragelink 3689 var call = Function.prototype.call;
afe42d0… ragelink 3690
afe42d0… ragelink 3691 module.exports = call.bind ? call.bind(call) : function () {
afe42d0… ragelink 3692 return call.apply(call, arguments);
afe42d0… ragelink 3693 };
afe42d0… ragelink 3694
afe42d0… ragelink 3695 },{}],98:[function(require,module,exports){
afe42d0… ragelink 3696 var DESCRIPTORS = require('../internals/descriptors');
afe42d0… ragelink 3697 var hasOwn = require('../internals/has-own-property');
afe42d0… ragelink 3698
afe42d0… ragelink 3699 var FunctionPrototype = Function.prototype;
afe42d0… ragelink 3700 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
afe42d0… ragelink 3701 var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
afe42d0… ragelink 3702
afe42d0… ragelink 3703 var EXISTS = hasOwn(FunctionPrototype, 'name');
afe42d0… ragelink 3704 // additional protection from minified / mangled / dropped function names
afe42d0… ragelink 3705 var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
afe42d0… ragelink 3706 var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));
afe42d0… ragelink 3707
afe42d0… ragelink 3708 module.exports = {
afe42d0… ragelink 3709 EXISTS: EXISTS,
afe42d0… ragelink 3710 PROPER: PROPER,
afe42d0… ragelink 3711 CONFIGURABLE: CONFIGURABLE
afe42d0… ragelink 3712 };
afe42d0… ragelink 3713
afe42d0… ragelink 3714 },{"../internals/descriptors":83,"../internals/has-own-property":105}],99:[function(require,module,exports){
afe42d0… ragelink 3715 var FunctionPrototype = Function.prototype;
afe42d0… ragelink 3716 var bind = FunctionPrototype.bind;
afe42d0… ragelink 3717 var call = FunctionPrototype.call;
afe42d0… ragelink 3718 var callBind = bind && bind.bind(call);
afe42d0… ragelink 3719
afe42d0… ragelink 3720 module.exports = bind ? function (fn) {
afe42d0… ragelink 3721 return fn && callBind(call, fn);
afe42d0… ragelink 3722 } : function (fn) {
afe42d0… ragelink 3723 return fn && function () {
afe42d0… ragelink 3724 return call.apply(fn, arguments);
afe42d0… ragelink 3725 };
afe42d0… ragelink 3726 };
afe42d0… ragelink 3727
afe42d0… ragelink 3728 },{}],100:[function(require,module,exports){
afe42d0… ragelink 3729 var path = require('../internals/path');
afe42d0… ragelink 3730 var global = require('../internals/global');
afe42d0… ragelink 3731 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 3732
afe42d0… ragelink 3733 var aFunction = function (variable) {
afe42d0… ragelink 3734 return isCallable(variable) ? variable : undefined;
afe42d0… ragelink 3735 };
afe42d0… ragelink 3736
afe42d0… ragelink 3737 module.exports = function (namespace, method) {
afe42d0… ragelink 3738 return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])
afe42d0… ragelink 3739 : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
afe42d0… ragelink 3740 };
afe42d0… ragelink 3741
afe42d0… ragelink 3742 },{"../internals/global":104,"../internals/is-callable":114,"../internals/path":142}],101:[function(require,module,exports){
afe42d0… ragelink 3743 var classof = require('../internals/classof');
afe42d0… ragelink 3744 var getMethod = require('../internals/get-method');
afe42d0… ragelink 3745 var Iterators = require('../internals/iterators');
afe42d0… ragelink 3746 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 3747
afe42d0… ragelink 3748 var ITERATOR = wellKnownSymbol('iterator');
afe42d0… ragelink 3749
afe42d0… ragelink 3750 module.exports = function (it) {
afe42d0… ragelink 3751 if (it != undefined) return getMethod(it, ITERATOR)
afe42d0… ragelink 3752 || getMethod(it, '@@iterator')
afe42d0… ragelink 3753 || Iterators[classof(it)];
afe42d0… ragelink 3754 };
afe42d0… ragelink 3755
afe42d0… ragelink 3756 },{"../internals/classof":75,"../internals/get-method":103,"../internals/iterators":122,"../internals/well-known-symbol":166}],102:[function(require,module,exports){
afe42d0… ragelink 3757 var global = require('../internals/global');
afe42d0… ragelink 3758 var call = require('../internals/function-call');
afe42d0… ragelink 3759 var aCallable = require('../internals/a-callable');
afe42d0… ragelink 3760 var anObject = require('../internals/an-object');
afe42d0… ragelink 3761 var tryToString = require('../internals/try-to-string');
afe42d0… ragelink 3762 var getIteratorMethod = require('../internals/get-iterator-method');
afe42d0… ragelink 3763
afe42d0… ragelink 3764 var TypeError = global.TypeError;
afe42d0… ragelink 3765
afe42d0… ragelink 3766 module.exports = function (argument, usingIterator) {
afe42d0… ragelink 3767 var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
afe42d0… ragelink 3768 if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));
afe42d0… ragelink 3769 throw TypeError(tryToString(argument) + ' is not iterable');
afe42d0… ragelink 3770 };
afe42d0… ragelink 3771
afe42d0… ragelink 3772 },{"../internals/a-callable":57,"../internals/an-object":60,"../internals/function-call":97,"../internals/get-iterator-method":101,"../internals/global":104,"../internals/try-to-string":162}],103:[function(require,module,exports){
afe42d0… ragelink 3773 var aCallable = require('../internals/a-callable');
afe42d0… ragelink 3774
afe42d0… ragelink 3775 // `GetMethod` abstract operation
afe42d0… ragelink 3776 // https://tc39.es/ecma262/#sec-getmethod
afe42d0… ragelink 3777 module.exports = function (V, P) {
afe42d0… ragelink 3778 var func = V[P];
afe42d0… ragelink 3779 return func == null ? undefined : aCallable(func);
afe42d0… ragelink 3780 };
afe42d0… ragelink 3781
afe42d0… ragelink 3782 },{"../internals/a-callable":57}],104:[function(require,module,exports){
afe42d0… ragelink 3783 (function (global){(function (){
afe42d0… ragelink 3784 var check = function (it) {
afe42d0… ragelink 3785 return it && it.Math == Math && it;
afe42d0… ragelink 3786 };
afe42d0… ragelink 3787
afe42d0… ragelink 3788 // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
afe42d0… ragelink 3789 module.exports =
afe42d0… ragelink 3790 // eslint-disable-next-line es/no-global-this -- safe
afe42d0… ragelink 3791 check(typeof globalThis == 'object' && globalThis) ||
afe42d0… ragelink 3792 check(typeof window == 'object' && window) ||
afe42d0… ragelink 3793 // eslint-disable-next-line no-restricted-globals -- safe
afe42d0… ragelink 3794 check(typeof self == 'object' && self) ||
afe42d0… ragelink 3795 check(typeof global == 'object' && global) ||
afe42d0… ragelink 3796 // eslint-disable-next-line no-new-func -- fallback
afe42d0… ragelink 3797 (function () { return this; })() || Function('return this')();
afe42d0… ragelink 3798
afe42d0… ragelink 3799 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
afe42d0… ragelink 3800 },{}],105:[function(require,module,exports){
afe42d0… ragelink 3801 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 3802 var toObject = require('../internals/to-object');
afe42d0… ragelink 3803
afe42d0… ragelink 3804 var hasOwnProperty = uncurryThis({}.hasOwnProperty);
afe42d0… ragelink 3805
afe42d0… ragelink 3806 // `HasOwnProperty` abstract operation
afe42d0… ragelink 3807 // https://tc39.es/ecma262/#sec-hasownproperty
afe42d0… ragelink 3808 module.exports = Object.hasOwn || function hasOwn(it, key) {
afe42d0… ragelink 3809 return hasOwnProperty(toObject(it), key);
afe42d0… ragelink 3810 };
afe42d0… ragelink 3811
afe42d0… ragelink 3812 },{"../internals/function-uncurry-this":99,"../internals/to-object":157}],106:[function(require,module,exports){
afe42d0… ragelink 3813 module.exports = {};
afe42d0… ragelink 3814
afe42d0… ragelink 3815 },{}],107:[function(require,module,exports){
afe42d0… ragelink 3816 var getBuiltIn = require('../internals/get-built-in');
afe42d0… ragelink 3817
afe42d0… ragelink 3818 module.exports = getBuiltIn('document', 'documentElement');
afe42d0… ragelink 3819
afe42d0… ragelink 3820 },{"../internals/get-built-in":100}],108:[function(require,module,exports){
afe42d0… ragelink 3821 var DESCRIPTORS = require('../internals/descriptors');
afe42d0… ragelink 3822 var fails = require('../internals/fails');
afe42d0… ragelink 3823 var createElement = require('../internals/document-create-element');
afe42d0… ragelink 3824
afe42d0… ragelink 3825 // Thank's IE8 for his funny defineProperty
afe42d0… ragelink 3826 module.exports = !DESCRIPTORS && !fails(function () {
afe42d0… ragelink 3827 // eslint-disable-next-line es/no-object-defineproperty -- requied for testing
afe42d0… ragelink 3828 return Object.defineProperty(createElement('div'), 'a', {
afe42d0… ragelink 3829 get: function () { return 7; }
afe42d0… ragelink 3830 }).a != 7;
afe42d0… ragelink 3831 });
afe42d0… ragelink 3832
afe42d0… ragelink 3833 },{"../internals/descriptors":83,"../internals/document-create-element":84,"../internals/fails":94}],109:[function(require,module,exports){
afe42d0… ragelink 3834 var global = require('../internals/global');
afe42d0… ragelink 3835 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 3836 var fails = require('../internals/fails');
afe42d0… ragelink 3837 var classof = require('../internals/classof-raw');
afe42d0… ragelink 3838
afe42d0… ragelink 3839 var Object = global.Object;
afe42d0… ragelink 3840 var split = uncurryThis(''.split);
afe42d0… ragelink 3841
afe42d0… ragelink 3842 // fallback for non-array-like ES3 and non-enumerable old V8 strings
afe42d0… ragelink 3843 module.exports = fails(function () {
afe42d0… ragelink 3844 // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
afe42d0… ragelink 3845 // eslint-disable-next-line no-prototype-builtins -- safe
afe42d0… ragelink 3846 return !Object('z').propertyIsEnumerable(0);
afe42d0… ragelink 3847 }) ? function (it) {
afe42d0… ragelink 3848 return classof(it) == 'String' ? split(it, '') : Object(it);
afe42d0… ragelink 3849 } : Object;
afe42d0… ragelink 3850
afe42d0… ragelink 3851 },{"../internals/classof-raw":74,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/global":104}],110:[function(require,module,exports){
afe42d0… ragelink 3852 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 3853 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 3854 var store = require('../internals/shared-store');
afe42d0… ragelink 3855
afe42d0… ragelink 3856 var functionToString = uncurryThis(Function.toString);
afe42d0… ragelink 3857
afe42d0… ragelink 3858 // this helper broken in `[email protected]`, so we can't use `shared` helper
afe42d0… ragelink 3859 if (!isCallable(store.inspectSource)) {
afe42d0… ragelink 3860 store.inspectSource = function (it) {
afe42d0… ragelink 3861 return functionToString(it);
afe42d0… ragelink 3862 };
afe42d0… ragelink 3863 }
afe42d0… ragelink 3864
afe42d0… ragelink 3865 module.exports = store.inspectSource;
afe42d0… ragelink 3866
afe42d0… ragelink 3867 },{"../internals/function-uncurry-this":99,"../internals/is-callable":114,"../internals/shared-store":149}],111:[function(require,module,exports){
afe42d0… ragelink 3868 var NATIVE_WEAK_MAP = require('../internals/native-weak-map');
afe42d0… ragelink 3869 var global = require('../internals/global');
afe42d0… ragelink 3870 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 3871 var isObject = require('../internals/is-object');
afe42d0… ragelink 3872 var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
afe42d0… ragelink 3873 var hasOwn = require('../internals/has-own-property');
afe42d0… ragelink 3874 var shared = require('../internals/shared-store');
afe42d0… ragelink 3875 var sharedKey = require('../internals/shared-key');
afe42d0… ragelink 3876 var hiddenKeys = require('../internals/hidden-keys');
afe42d0… ragelink 3877
afe42d0… ragelink 3878 var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
afe42d0… ragelink 3879 var TypeError = global.TypeError;
afe42d0… ragelink 3880 var WeakMap = global.WeakMap;
afe42d0… ragelink 3881 var set, get, has;
afe42d0… ragelink 3882
afe42d0… ragelink 3883 var enforce = function (it) {
afe42d0… ragelink 3884 return has(it) ? get(it) : set(it, {});
afe42d0… ragelink 3885 };
afe42d0… ragelink 3886
afe42d0… ragelink 3887 var getterFor = function (TYPE) {
afe42d0… ragelink 3888 return function (it) {
afe42d0… ragelink 3889 var state;
afe42d0… ragelink 3890 if (!isObject(it) || (state = get(it)).type !== TYPE) {
afe42d0… ragelink 3891 throw TypeError('Incompatible receiver, ' + TYPE + ' required');
afe42d0… ragelink 3892 } return state;
afe42d0… ragelink 3893 };
afe42d0… ragelink 3894 };
afe42d0… ragelink 3895
afe42d0… ragelink 3896 if (NATIVE_WEAK_MAP || shared.state) {
afe42d0… ragelink 3897 var store = shared.state || (shared.state = new WeakMap());
afe42d0… ragelink 3898 var wmget = uncurryThis(store.get);
afe42d0… ragelink 3899 var wmhas = uncurryThis(store.has);
afe42d0… ragelink 3900 var wmset = uncurryThis(store.set);
afe42d0… ragelink 3901 set = function (it, metadata) {
afe42d0… ragelink 3902 if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
afe42d0… ragelink 3903 metadata.facade = it;
afe42d0… ragelink 3904 wmset(store, it, metadata);
afe42d0… ragelink 3905 return metadata;
afe42d0… ragelink 3906 };
afe42d0… ragelink 3907 get = function (it) {
afe42d0… ragelink 3908 return wmget(store, it) || {};
afe42d0… ragelink 3909 };
afe42d0… ragelink 3910 has = function (it) {
afe42d0… ragelink 3911 return wmhas(store, it);
afe42d0… ragelink 3912 };
afe42d0… ragelink 3913 } else {
afe42d0… ragelink 3914 var STATE = sharedKey('state');
afe42d0… ragelink 3915 hiddenKeys[STATE] = true;
afe42d0… ragelink 3916 set = function (it, metadata) {
afe42d0… ragelink 3917 if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
afe42d0… ragelink 3918 metadata.facade = it;
afe42d0… ragelink 3919 createNonEnumerableProperty(it, STATE, metadata);
afe42d0… ragelink 3920 return metadata;
afe42d0… ragelink 3921 };
afe42d0… ragelink 3922 get = function (it) {
afe42d0… ragelink 3923 return hasOwn(it, STATE) ? it[STATE] : {};
afe42d0… ragelink 3924 };
afe42d0… ragelink 3925 has = function (it) {
afe42d0… ragelink 3926 return hasOwn(it, STATE);
afe42d0… ragelink 3927 };
afe42d0… ragelink 3928 }
afe42d0… ragelink 3929
afe42d0… ragelink 3930 module.exports = {
afe42d0… ragelink 3931 set: set,
afe42d0… ragelink 3932 get: get,
afe42d0… ragelink 3933 has: has,
afe42d0… ragelink 3934 enforce: enforce,
afe42d0… ragelink 3935 getterFor: getterFor
afe42d0… ragelink 3936 };
afe42d0… ragelink 3937
afe42d0… ragelink 3938 },{"../internals/create-non-enumerable-property":78,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/is-object":117,"../internals/native-weak-map":125,"../internals/shared-key":148,"../internals/shared-store":149}],112:[function(require,module,exports){
afe42d0… ragelink 3939 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 3940 var Iterators = require('../internals/iterators');
afe42d0… ragelink 3941
afe42d0… ragelink 3942 var ITERATOR = wellKnownSymbol('iterator');
afe42d0… ragelink 3943 var ArrayPrototype = Array.prototype;
afe42d0… ragelink 3944
afe42d0… ragelink 3945 // check on default Array iterator
afe42d0… ragelink 3946 module.exports = function (it) {
afe42d0… ragelink 3947 return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
afe42d0… ragelink 3948 };
afe42d0… ragelink 3949
afe42d0… ragelink 3950 },{"../internals/iterators":122,"../internals/well-known-symbol":166}],113:[function(require,module,exports){
afe42d0… ragelink 3951 var classof = require('../internals/classof-raw');
afe42d0… ragelink 3952
afe42d0… ragelink 3953 // `IsArray` abstract operation
afe42d0… ragelink 3954 // https://tc39.es/ecma262/#sec-isarray
afe42d0… ragelink 3955 // eslint-disable-next-line es/no-array-isarray -- safe
afe42d0… ragelink 3956 module.exports = Array.isArray || function isArray(argument) {
afe42d0… ragelink 3957 return classof(argument) == 'Array';
afe42d0… ragelink 3958 };
afe42d0… ragelink 3959
afe42d0… ragelink 3960 },{"../internals/classof-raw":74}],114:[function(require,module,exports){
afe42d0… ragelink 3961 // `IsCallable` abstract operation
afe42d0… ragelink 3962 // https://tc39.es/ecma262/#sec-iscallable
afe42d0… ragelink 3963 module.exports = function (argument) {
afe42d0… ragelink 3964 return typeof argument == 'function';
afe42d0… ragelink 3965 };
afe42d0… ragelink 3966
afe42d0… ragelink 3967 },{}],115:[function(require,module,exports){
afe42d0… ragelink 3968 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 3969 var fails = require('../internals/fails');
afe42d0… ragelink 3970 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 3971 var classof = require('../internals/classof');
afe42d0… ragelink 3972 var getBuiltIn = require('../internals/get-built-in');
afe42d0… ragelink 3973 var inspectSource = require('../internals/inspect-source');
afe42d0… ragelink 3974
afe42d0… ragelink 3975 var noop = function () { /* empty */ };
afe42d0… ragelink 3976 var empty = [];
afe42d0… ragelink 3977 var construct = getBuiltIn('Reflect', 'construct');
afe42d0… ragelink 3978 var constructorRegExp = /^\s*(?:class|function)\b/;
afe42d0… ragelink 3979 var exec = uncurryThis(constructorRegExp.exec);
afe42d0… ragelink 3980 var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
afe42d0… ragelink 3981
afe42d0… ragelink 3982 var isConstructorModern = function isConstructor(argument) {
afe42d0… ragelink 3983 if (!isCallable(argument)) return false;
afe42d0… ragelink 3984 try {
afe42d0… ragelink 3985 construct(noop, empty, argument);
afe42d0… ragelink 3986 return true;
afe42d0… ragelink 3987 } catch (error) {
afe42d0… ragelink 3988 return false;
afe42d0… ragelink 3989 }
afe42d0… ragelink 3990 };
afe42d0… ragelink 3991
afe42d0… ragelink 3992 var isConstructorLegacy = function isConstructor(argument) {
afe42d0… ragelink 3993 if (!isCallable(argument)) return false;
afe42d0… ragelink 3994 switch (classof(argument)) {
afe42d0… ragelink 3995 case 'AsyncFunction':
afe42d0… ragelink 3996 case 'GeneratorFunction':
afe42d0… ragelink 3997 case 'AsyncGeneratorFunction': return false;
afe42d0… ragelink 3998 }
afe42d0… ragelink 3999 try {
afe42d0… ragelink 4000 // we can't check .prototype since constructors produced by .bind haven't it
afe42d0… ragelink 4001 // `Function#toString` throws on some built-it function in some legacy engines
afe42d0… ragelink 4002 // (for example, `DOMQuad` and similar in FF41-)
afe42d0… ragelink 4003 return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
afe42d0… ragelink 4004 } catch (error) {
afe42d0… ragelink 4005 return true;
afe42d0… ragelink 4006 }
afe42d0… ragelink 4007 };
afe42d0… ragelink 4008
afe42d0… ragelink 4009 isConstructorLegacy.sham = true;
afe42d0… ragelink 4010
afe42d0… ragelink 4011 // `IsConstructor` abstract operation
afe42d0… ragelink 4012 // https://tc39.es/ecma262/#sec-isconstructor
afe42d0… ragelink 4013 module.exports = !construct || fails(function () {
afe42d0… ragelink 4014 var called;
afe42d0… ragelink 4015 return isConstructorModern(isConstructorModern.call)
afe42d0… ragelink 4016 || !isConstructorModern(Object)
afe42d0… ragelink 4017 || !isConstructorModern(function () { called = true; })
afe42d0… ragelink 4018 || called;
afe42d0… ragelink 4019 }) ? isConstructorLegacy : isConstructorModern;
afe42d0… ragelink 4020
afe42d0… ragelink 4021 },{"../internals/classof":75,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/get-built-in":100,"../internals/inspect-source":110,"../internals/is-callable":114}],116:[function(require,module,exports){
afe42d0… ragelink 4022 var fails = require('../internals/fails');
afe42d0… ragelink 4023 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 4024
afe42d0… ragelink 4025 var replacement = /#|\.prototype\./;
afe42d0… ragelink 4026
afe42d0… ragelink 4027 var isForced = function (feature, detection) {
afe42d0… ragelink 4028 var value = data[normalize(feature)];
afe42d0… ragelink 4029 return value == POLYFILL ? true
afe42d0… ragelink 4030 : value == NATIVE ? false
afe42d0… ragelink 4031 : isCallable(detection) ? fails(detection)
afe42d0… ragelink 4032 : !!detection;
afe42d0… ragelink 4033 };
afe42d0… ragelink 4034
afe42d0… ragelink 4035 var normalize = isForced.normalize = function (string) {
afe42d0… ragelink 4036 return String(string).replace(replacement, '.').toLowerCase();
afe42d0… ragelink 4037 };
afe42d0… ragelink 4038
afe42d0… ragelink 4039 var data = isForced.data = {};
afe42d0… ragelink 4040 var NATIVE = isForced.NATIVE = 'N';
afe42d0… ragelink 4041 var POLYFILL = isForced.POLYFILL = 'P';
afe42d0… ragelink 4042
afe42d0… ragelink 4043 module.exports = isForced;
afe42d0… ragelink 4044
afe42d0… ragelink 4045 },{"../internals/fails":94,"../internals/is-callable":114}],117:[function(require,module,exports){
afe42d0… ragelink 4046 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 4047
afe42d0… ragelink 4048 module.exports = function (it) {
afe42d0… ragelink 4049 return typeof it == 'object' ? it !== null : isCallable(it);
afe42d0… ragelink 4050 };
afe42d0… ragelink 4051
afe42d0… ragelink 4052 },{"../internals/is-callable":114}],118:[function(require,module,exports){
afe42d0… ragelink 4053 module.exports = true;
afe42d0… ragelink 4054
afe42d0… ragelink 4055 },{}],119:[function(require,module,exports){
afe42d0… ragelink 4056 var global = require('../internals/global');
afe42d0… ragelink 4057 var getBuiltIn = require('../internals/get-built-in');
afe42d0… ragelink 4058 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 4059 var isPrototypeOf = require('../internals/object-is-prototype-of');
afe42d0… ragelink 4060 var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');
afe42d0… ragelink 4061
afe42d0… ragelink 4062 var Object = global.Object;
afe42d0… ragelink 4063
afe42d0… ragelink 4064 module.exports = USE_SYMBOL_AS_UID ? function (it) {
afe42d0… ragelink 4065 return typeof it == 'symbol';
afe42d0… ragelink 4066 } : function (it) {
afe42d0… ragelink 4067 var $Symbol = getBuiltIn('Symbol');
afe42d0… ragelink 4068 return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));
afe42d0… ragelink 4069 };
afe42d0… ragelink 4070
afe42d0… ragelink 4071 },{"../internals/get-built-in":100,"../internals/global":104,"../internals/is-callable":114,"../internals/object-is-prototype-of":135,"../internals/use-symbol-as-uid":164}],120:[function(require,module,exports){
afe42d0… ragelink 4072 var call = require('../internals/function-call');
afe42d0… ragelink 4073 var anObject = require('../internals/an-object');
afe42d0… ragelink 4074 var getMethod = require('../internals/get-method');
afe42d0… ragelink 4075
afe42d0… ragelink 4076 module.exports = function (iterator, kind, value) {
afe42d0… ragelink 4077 var innerResult, innerError;
afe42d0… ragelink 4078 anObject(iterator);
afe42d0… ragelink 4079 try {
afe42d0… ragelink 4080 innerResult = getMethod(iterator, 'return');
afe42d0… ragelink 4081 if (!innerResult) {
afe42d0… ragelink 4082 if (kind === 'throw') throw value;
afe42d0… ragelink 4083 return value;
afe42d0… ragelink 4084 }
afe42d0… ragelink 4085 innerResult = call(innerResult, iterator);
afe42d0… ragelink 4086 } catch (error) {
afe42d0… ragelink 4087 innerError = true;
afe42d0… ragelink 4088 innerResult = error;
afe42d0… ragelink 4089 }
afe42d0… ragelink 4090 if (kind === 'throw') throw value;
afe42d0… ragelink 4091 if (innerError) throw innerResult;
afe42d0… ragelink 4092 anObject(innerResult);
afe42d0… ragelink 4093 return value;
afe42d0… ragelink 4094 };
afe42d0… ragelink 4095
afe42d0… ragelink 4096 },{"../internals/an-object":60,"../internals/function-call":97,"../internals/get-method":103}],121:[function(require,module,exports){
afe42d0… ragelink 4097 'use strict';
afe42d0… ragelink 4098 var fails = require('../internals/fails');
afe42d0… ragelink 4099 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 4100 var create = require('../internals/object-create');
afe42d0… ragelink 4101 var getPrototypeOf = require('../internals/object-get-prototype-of');
afe42d0… ragelink 4102 var redefine = require('../internals/redefine');
afe42d0… ragelink 4103 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 4104 var IS_PURE = require('../internals/is-pure');
afe42d0… ragelink 4105
afe42d0… ragelink 4106 var ITERATOR = wellKnownSymbol('iterator');
afe42d0… ragelink 4107 var BUGGY_SAFARI_ITERATORS = false;
afe42d0… ragelink 4108
afe42d0… ragelink 4109 // `%IteratorPrototype%` object
afe42d0… ragelink 4110 // https://tc39.es/ecma262/#sec-%iteratorprototype%-object
afe42d0… ragelink 4111 var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
afe42d0… ragelink 4112
afe42d0… ragelink 4113 /* eslint-disable es/no-array-prototype-keys -- safe */
afe42d0… ragelink 4114 if ([].keys) {
afe42d0… ragelink 4115 arrayIterator = [].keys();
afe42d0… ragelink 4116 // Safari 8 has buggy iterators w/o `next`
afe42d0… ragelink 4117 if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
afe42d0… ragelink 4118 else {
afe42d0… ragelink 4119 PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
afe42d0… ragelink 4120 if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
afe42d0… ragelink 4121 }
afe42d0… ragelink 4122 }
afe42d0… ragelink 4123
afe42d0… ragelink 4124 var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {
afe42d0… ragelink 4125 var test = {};
afe42d0… ragelink 4126 // FF44- legacy iterators case
afe42d0… ragelink 4127 return IteratorPrototype[ITERATOR].call(test) !== test;
afe42d0… ragelink 4128 });
afe42d0… ragelink 4129
afe42d0… ragelink 4130 if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};
afe42d0… ragelink 4131 else if (IS_PURE) IteratorPrototype = create(IteratorPrototype);
afe42d0… ragelink 4132
afe42d0… ragelink 4133 // `%IteratorPrototype%[@@iterator]()` method
afe42d0… ragelink 4134 // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
afe42d0… ragelink 4135 if (!isCallable(IteratorPrototype[ITERATOR])) {
afe42d0… ragelink 4136 redefine(IteratorPrototype, ITERATOR, function () {
afe42d0… ragelink 4137 return this;
afe42d0… ragelink 4138 });
afe42d0… ragelink 4139 }
afe42d0… ragelink 4140
afe42d0… ragelink 4141 module.exports = {
afe42d0… ragelink 4142 IteratorPrototype: IteratorPrototype,
afe42d0… ragelink 4143 BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
afe42d0… ragelink 4144 };
afe42d0… ragelink 4145
afe42d0… ragelink 4146 },{"../internals/fails":94,"../internals/is-callable":114,"../internals/is-pure":118,"../internals/object-create":127,"../internals/object-get-prototype-of":134,"../internals/redefine":143,"../internals/well-known-symbol":166}],122:[function(require,module,exports){
afe42d0… ragelink 4147 arguments[4][106][0].apply(exports,arguments)
afe42d0… ragelink 4148 },{"dup":106}],123:[function(require,module,exports){
afe42d0… ragelink 4149 var toLength = require('../internals/to-length');
afe42d0… ragelink 4150
afe42d0… ragelink 4151 // `LengthOfArrayLike` abstract operation
afe42d0… ragelink 4152 // https://tc39.es/ecma262/#sec-lengthofarraylike
afe42d0… ragelink 4153 module.exports = function (obj) {
afe42d0… ragelink 4154 return toLength(obj.length);
afe42d0… ragelink 4155 };
afe42d0… ragelink 4156
afe42d0… ragelink 4157 },{"../internals/to-length":156}],124:[function(require,module,exports){
afe42d0… ragelink 4158 /* eslint-disable es/no-symbol -- required for testing */
afe42d0… ragelink 4159 var V8_VERSION = require('../internals/engine-v8-version');
afe42d0… ragelink 4160 var fails = require('../internals/fails');
afe42d0… ragelink 4161
afe42d0… ragelink 4162 // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
afe42d0… ragelink 4163 module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
afe42d0… ragelink 4164 var symbol = Symbol();
afe42d0… ragelink 4165 // Chrome 38 Symbol has incorrect toString conversion
afe42d0… ragelink 4166 // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
afe42d0… ragelink 4167 return !String(symbol) || !(Object(symbol) instanceof Symbol) ||
afe42d0… ragelink 4168 // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
afe42d0… ragelink 4169 !Symbol.sham && V8_VERSION && V8_VERSION < 41;
afe42d0… ragelink 4170 });
afe42d0… ragelink 4171
afe42d0… ragelink 4172 },{"../internals/engine-v8-version":89,"../internals/fails":94}],125:[function(require,module,exports){
afe42d0… ragelink 4173 var global = require('../internals/global');
afe42d0… ragelink 4174 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 4175 var inspectSource = require('../internals/inspect-source');
afe42d0… ragelink 4176
afe42d0… ragelink 4177 var WeakMap = global.WeakMap;
afe42d0… ragelink 4178
afe42d0… ragelink 4179 module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));
afe42d0… ragelink 4180
afe42d0… ragelink 4181 },{"../internals/global":104,"../internals/inspect-source":110,"../internals/is-callable":114}],126:[function(require,module,exports){
afe42d0… ragelink 4182 var global = require('../internals/global');
afe42d0… ragelink 4183 var fails = require('../internals/fails');
afe42d0… ragelink 4184 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 4185 var toString = require('../internals/to-string');
afe42d0… ragelink 4186 var trim = require('../internals/string-trim').trim;
afe42d0… ragelink 4187 var whitespaces = require('../internals/whitespaces');
afe42d0… ragelink 4188
afe42d0… ragelink 4189 var $parseInt = global.parseInt;
afe42d0… ragelink 4190 var Symbol = global.Symbol;
afe42d0… ragelink 4191 var ITERATOR = Symbol && Symbol.iterator;
afe42d0… ragelink 4192 var hex = /^[+-]?0x/i;
afe42d0… ragelink 4193 var exec = uncurryThis(hex.exec);
afe42d0… ragelink 4194 var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22
afe42d0… ragelink 4195 // MS Edge 18- broken with boxed symbols
afe42d0… ragelink 4196 || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); }));
afe42d0… ragelink 4197
afe42d0… ragelink 4198 // `parseInt` method
afe42d0… ragelink 4199 // https://tc39.es/ecma262/#sec-parseint-string-radix
afe42d0… ragelink 4200 module.exports = FORCED ? function parseInt(string, radix) {
afe42d0… ragelink 4201 var S = trim(toString(string));
afe42d0… ragelink 4202 return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10));
afe42d0… ragelink 4203 } : $parseInt;
afe42d0… ragelink 4204
afe42d0… ragelink 4205 },{"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/global":104,"../internals/string-trim":152,"../internals/to-string":161,"../internals/whitespaces":167}],127:[function(require,module,exports){
afe42d0… ragelink 4206 /* global ActiveXObject -- old IE, WSH */
afe42d0… ragelink 4207 var anObject = require('../internals/an-object');
afe42d0… ragelink 4208 var defineProperties = require('../internals/object-define-properties');
afe42d0… ragelink 4209 var enumBugKeys = require('../internals/enum-bug-keys');
afe42d0… ragelink 4210 var hiddenKeys = require('../internals/hidden-keys');
afe42d0… ragelink 4211 var html = require('../internals/html');
afe42d0… ragelink 4212 var documentCreateElement = require('../internals/document-create-element');
afe42d0… ragelink 4213 var sharedKey = require('../internals/shared-key');
afe42d0… ragelink 4214
afe42d0… ragelink 4215 var GT = '>';
afe42d0… ragelink 4216 var LT = '<';
afe42d0… ragelink 4217 var PROTOTYPE = 'prototype';
afe42d0… ragelink 4218 var SCRIPT = 'script';
afe42d0… ragelink 4219 var IE_PROTO = sharedKey('IE_PROTO');
afe42d0… ragelink 4220
afe42d0… ragelink 4221 var EmptyConstructor = function () { /* empty */ };
afe42d0… ragelink 4222
afe42d0… ragelink 4223 var scriptTag = function (content) {
afe42d0… ragelink 4224 return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
afe42d0… ragelink 4225 };
afe42d0… ragelink 4226
afe42d0… ragelink 4227 // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
afe42d0… ragelink 4228 var NullProtoObjectViaActiveX = function (activeXDocument) {
afe42d0… ragelink 4229 activeXDocument.write(scriptTag(''));
afe42d0… ragelink 4230 activeXDocument.close();
afe42d0… ragelink 4231 var temp = activeXDocument.parentWindow.Object;
afe42d0… ragelink 4232 activeXDocument = null; // avoid memory leak
afe42d0… ragelink 4233 return temp;
afe42d0… ragelink 4234 };
afe42d0… ragelink 4235
afe42d0… ragelink 4236 // Create object with fake `null` prototype: use iframe Object with cleared prototype
afe42d0… ragelink 4237 var NullProtoObjectViaIFrame = function () {
afe42d0… ragelink 4238 // Thrash, waste and sodomy: IE GC bug
afe42d0… ragelink 4239 var iframe = documentCreateElement('iframe');
afe42d0… ragelink 4240 var JS = 'java' + SCRIPT + ':';
afe42d0… ragelink 4241 var iframeDocument;
afe42d0… ragelink 4242 iframe.style.display = 'none';
afe42d0… ragelink 4243 html.appendChild(iframe);
afe42d0… ragelink 4244 // https://github.com/zloirock/core-js/issues/475
afe42d0… ragelink 4245 iframe.src = String(JS);
afe42d0… ragelink 4246 iframeDocument = iframe.contentWindow.document;
afe42d0… ragelink 4247 iframeDocument.open();
afe42d0… ragelink 4248 iframeDocument.write(scriptTag('document.F=Object'));
afe42d0… ragelink 4249 iframeDocument.close();
afe42d0… ragelink 4250 return iframeDocument.F;
afe42d0… ragelink 4251 };
afe42d0… ragelink 4252
afe42d0… ragelink 4253 // Check for document.domain and active x support
afe42d0… ragelink 4254 // No need to use active x approach when document.domain is not set
afe42d0… ragelink 4255 // see https://github.com/es-shims/es5-shim/issues/150
afe42d0… ragelink 4256 // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
afe42d0… ragelink 4257 // avoid IE GC bug
afe42d0… ragelink 4258 var activeXDocument;
afe42d0… ragelink 4259 var NullProtoObject = function () {
afe42d0… ragelink 4260 try {
afe42d0… ragelink 4261 activeXDocument = new ActiveXObject('htmlfile');
afe42d0… ragelink 4262 } catch (error) { /* ignore */ }
afe42d0… ragelink 4263 NullProtoObject = typeof document != 'undefined'
afe42d0… ragelink 4264 ? document.domain && activeXDocument
afe42d0… ragelink 4265 ? NullProtoObjectViaActiveX(activeXDocument) // old IE
afe42d0… ragelink 4266 : NullProtoObjectViaIFrame()
afe42d0… ragelink 4267 : NullProtoObjectViaActiveX(activeXDocument); // WSH
afe42d0… ragelink 4268 var length = enumBugKeys.length;
afe42d0… ragelink 4269 while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
afe42d0… ragelink 4270 return NullProtoObject();
afe42d0… ragelink 4271 };
afe42d0… ragelink 4272
afe42d0… ragelink 4273 hiddenKeys[IE_PROTO] = true;
afe42d0… ragelink 4274
afe42d0… ragelink 4275 // `Object.create` method
afe42d0… ragelink 4276 // https://tc39.es/ecma262/#sec-object.create
afe42d0… ragelink 4277 module.exports = Object.create || function create(O, Properties) {
afe42d0… ragelink 4278 var result;
afe42d0… ragelink 4279 if (O !== null) {
afe42d0… ragelink 4280 EmptyConstructor[PROTOTYPE] = anObject(O);
afe42d0… ragelink 4281 result = new EmptyConstructor();
afe42d0… ragelink 4282 EmptyConstructor[PROTOTYPE] = null;
afe42d0… ragelink 4283 // add "__proto__" for Object.getPrototypeOf polyfill
afe42d0… ragelink 4284 result[IE_PROTO] = O;
afe42d0… ragelink 4285 } else result = NullProtoObject();
afe42d0… ragelink 4286 return Properties === undefined ? result : defineProperties(result, Properties);
afe42d0… ragelink 4287 };
afe42d0… ragelink 4288
afe42d0… ragelink 4289 },{"../internals/an-object":60,"../internals/document-create-element":84,"../internals/enum-bug-keys":92,"../internals/hidden-keys":106,"../internals/html":107,"../internals/object-define-properties":128,"../internals/shared-key":148}],128:[function(require,module,exports){
afe42d0… ragelink 4290 var DESCRIPTORS = require('../internals/descriptors');
afe42d0… ragelink 4291 var definePropertyModule = require('../internals/object-define-property');
afe42d0… ragelink 4292 var anObject = require('../internals/an-object');
afe42d0… ragelink 4293 var toIndexedObject = require('../internals/to-indexed-object');
afe42d0… ragelink 4294 var objectKeys = require('../internals/object-keys');
afe42d0… ragelink 4295
afe42d0… ragelink 4296 // `Object.defineProperties` method
afe42d0… ragelink 4297 // https://tc39.es/ecma262/#sec-object.defineproperties
afe42d0… ragelink 4298 // eslint-disable-next-line es/no-object-defineproperties -- safe
afe42d0… ragelink 4299 module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
afe42d0… ragelink 4300 anObject(O);
afe42d0… ragelink 4301 var props = toIndexedObject(Properties);
afe42d0… ragelink 4302 var keys = objectKeys(Properties);
afe42d0… ragelink 4303 var length = keys.length;
afe42d0… ragelink 4304 var index = 0;
afe42d0… ragelink 4305 var key;
afe42d0… ragelink 4306 while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
afe42d0… ragelink 4307 return O;
afe42d0… ragelink 4308 };
afe42d0… ragelink 4309
afe42d0… ragelink 4310 },{"../internals/an-object":60,"../internals/descriptors":83,"../internals/object-define-property":129,"../internals/object-keys":137,"../internals/to-indexed-object":154}],129:[function(require,module,exports){
afe42d0… ragelink 4311 var global = require('../internals/global');
afe42d0… ragelink 4312 var DESCRIPTORS = require('../internals/descriptors');
afe42d0… ragelink 4313 var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
afe42d0… ragelink 4314 var anObject = require('../internals/an-object');
afe42d0… ragelink 4315 var toPropertyKey = require('../internals/to-property-key');
afe42d0… ragelink 4316
afe42d0… ragelink 4317 var TypeError = global.TypeError;
afe42d0… ragelink 4318 // eslint-disable-next-line es/no-object-defineproperty -- safe
afe42d0… ragelink 4319 var $defineProperty = Object.defineProperty;
afe42d0… ragelink 4320
afe42d0… ragelink 4321 // `Object.defineProperty` method
afe42d0… ragelink 4322 // https://tc39.es/ecma262/#sec-object.defineproperty
afe42d0… ragelink 4323 exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {
afe42d0… ragelink 4324 anObject(O);
afe42d0… ragelink 4325 P = toPropertyKey(P);
afe42d0… ragelink 4326 anObject(Attributes);
afe42d0… ragelink 4327 if (IE8_DOM_DEFINE) try {
afe42d0… ragelink 4328 return $defineProperty(O, P, Attributes);
afe42d0… ragelink 4329 } catch (error) { /* empty */ }
afe42d0… ragelink 4330 if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
afe42d0… ragelink 4331 if ('value' in Attributes) O[P] = Attributes.value;
afe42d0… ragelink 4332 return O;
afe42d0… ragelink 4333 };
afe42d0… ragelink 4334
afe42d0… ragelink 4335 },{"../internals/an-object":60,"../internals/descriptors":83,"../internals/global":104,"../internals/ie8-dom-define":108,"../internals/to-property-key":159}],130:[function(require,module,exports){
afe42d0… ragelink 4336 var DESCRIPTORS = require('../internals/descriptors');
afe42d0… ragelink 4337 var call = require('../internals/function-call');
afe42d0… ragelink 4338 var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
afe42d0… ragelink 4339 var createPropertyDescriptor = require('../internals/create-property-descriptor');
afe42d0… ragelink 4340 var toIndexedObject = require('../internals/to-indexed-object');
afe42d0… ragelink 4341 var toPropertyKey = require('../internals/to-property-key');
afe42d0… ragelink 4342 var hasOwn = require('../internals/has-own-property');
afe42d0… ragelink 4343 var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
afe42d0… ragelink 4344
afe42d0… ragelink 4345 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
afe42d0… ragelink 4346 var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
afe42d0… ragelink 4347
afe42d0… ragelink 4348 // `Object.getOwnPropertyDescriptor` method
afe42d0… ragelink 4349 // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
afe42d0… ragelink 4350 exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
afe42d0… ragelink 4351 O = toIndexedObject(O);
afe42d0… ragelink 4352 P = toPropertyKey(P);
afe42d0… ragelink 4353 if (IE8_DOM_DEFINE) try {
afe42d0… ragelink 4354 return $getOwnPropertyDescriptor(O, P);
afe42d0… ragelink 4355 } catch (error) { /* empty */ }
afe42d0… ragelink 4356 if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
afe42d0… ragelink 4357 };
afe42d0… ragelink 4358
afe42d0… ragelink 4359 },{"../internals/create-property-descriptor":79,"../internals/descriptors":83,"../internals/function-call":97,"../internals/has-own-property":105,"../internals/ie8-dom-define":108,"../internals/object-property-is-enumerable":138,"../internals/to-indexed-object":154,"../internals/to-property-key":159}],131:[function(require,module,exports){
afe42d0… ragelink 4360 /* eslint-disable es/no-object-getownpropertynames -- safe */
afe42d0… ragelink 4361 var classof = require('../internals/classof-raw');
afe42d0… ragelink 4362 var toIndexedObject = require('../internals/to-indexed-object');
afe42d0… ragelink 4363 var $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
afe42d0… ragelink 4364 var arraySlice = require('../internals/array-slice-simple');
afe42d0… ragelink 4365
afe42d0… ragelink 4366 var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
afe42d0… ragelink 4367 ? Object.getOwnPropertyNames(window) : [];
afe42d0… ragelink 4368
afe42d0… ragelink 4369 var getWindowNames = function (it) {
afe42d0… ragelink 4370 try {
afe42d0… ragelink 4371 return $getOwnPropertyNames(it);
afe42d0… ragelink 4372 } catch (error) {
afe42d0… ragelink 4373 return arraySlice(windowNames);
afe42d0… ragelink 4374 }
afe42d0… ragelink 4375 };
afe42d0… ragelink 4376
afe42d0… ragelink 4377 // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
afe42d0… ragelink 4378 module.exports.f = function getOwnPropertyNames(it) {
afe42d0… ragelink 4379 return windowNames && classof(it) == 'Window'
afe42d0… ragelink 4380 ? getWindowNames(it)
afe42d0… ragelink 4381 : $getOwnPropertyNames(toIndexedObject(it));
afe42d0… ragelink 4382 };
afe42d0… ragelink 4383
afe42d0… ragelink 4384 },{"../internals/array-slice-simple":67,"../internals/classof-raw":74,"../internals/object-get-own-property-names":132,"../internals/to-indexed-object":154}],132:[function(require,module,exports){
afe42d0… ragelink 4385 var internalObjectKeys = require('../internals/object-keys-internal');
afe42d0… ragelink 4386 var enumBugKeys = require('../internals/enum-bug-keys');
afe42d0… ragelink 4387
afe42d0… ragelink 4388 var hiddenKeys = enumBugKeys.concat('length', 'prototype');
afe42d0… ragelink 4389
afe42d0… ragelink 4390 // `Object.getOwnPropertyNames` method
afe42d0… ragelink 4391 // https://tc39.es/ecma262/#sec-object.getownpropertynames
afe42d0… ragelink 4392 // eslint-disable-next-line es/no-object-getownpropertynames -- safe
afe42d0… ragelink 4393 exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
afe42d0… ragelink 4394 return internalObjectKeys(O, hiddenKeys);
afe42d0… ragelink 4395 };
afe42d0… ragelink 4396
afe42d0… ragelink 4397 },{"../internals/enum-bug-keys":92,"../internals/object-keys-internal":136}],133:[function(require,module,exports){
afe42d0… ragelink 4398 // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
afe42d0… ragelink 4399 exports.f = Object.getOwnPropertySymbols;
afe42d0… ragelink 4400
afe42d0… ragelink 4401 },{}],134:[function(require,module,exports){
afe42d0… ragelink 4402 var global = require('../internals/global');
afe42d0… ragelink 4403 var hasOwn = require('../internals/has-own-property');
afe42d0… ragelink 4404 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 4405 var toObject = require('../internals/to-object');
afe42d0… ragelink 4406 var sharedKey = require('../internals/shared-key');
afe42d0… ragelink 4407 var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');
afe42d0… ragelink 4408
afe42d0… ragelink 4409 var IE_PROTO = sharedKey('IE_PROTO');
afe42d0… ragelink 4410 var Object = global.Object;
afe42d0… ragelink 4411 var ObjectPrototype = Object.prototype;
afe42d0… ragelink 4412
afe42d0… ragelink 4413 // `Object.getPrototypeOf` method
afe42d0… ragelink 4414 // https://tc39.es/ecma262/#sec-object.getprototypeof
afe42d0… ragelink 4415 module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
afe42d0… ragelink 4416 var object = toObject(O);
afe42d0… ragelink 4417 if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];
afe42d0… ragelink 4418 var constructor = object.constructor;
afe42d0… ragelink 4419 if (isCallable(constructor) && object instanceof constructor) {
afe42d0… ragelink 4420 return constructor.prototype;
afe42d0… ragelink 4421 } return object instanceof Object ? ObjectPrototype : null;
afe42d0… ragelink 4422 };
afe42d0… ragelink 4423
afe42d0… ragelink 4424 },{"../internals/correct-prototype-getter":76,"../internals/global":104,"../internals/has-own-property":105,"../internals/is-callable":114,"../internals/shared-key":148,"../internals/to-object":157}],135:[function(require,module,exports){
afe42d0… ragelink 4425 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 4426
afe42d0… ragelink 4427 module.exports = uncurryThis({}.isPrototypeOf);
afe42d0… ragelink 4428
afe42d0… ragelink 4429 },{"../internals/function-uncurry-this":99}],136:[function(require,module,exports){
afe42d0… ragelink 4430 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 4431 var hasOwn = require('../internals/has-own-property');
afe42d0… ragelink 4432 var toIndexedObject = require('../internals/to-indexed-object');
afe42d0… ragelink 4433 var indexOf = require('../internals/array-includes').indexOf;
afe42d0… ragelink 4434 var hiddenKeys = require('../internals/hidden-keys');
afe42d0… ragelink 4435
afe42d0… ragelink 4436 var push = uncurryThis([].push);
afe42d0… ragelink 4437
afe42d0… ragelink 4438 module.exports = function (object, names) {
afe42d0… ragelink 4439 var O = toIndexedObject(object);
afe42d0… ragelink 4440 var i = 0;
afe42d0… ragelink 4441 var result = [];
afe42d0… ragelink 4442 var key;
afe42d0… ragelink 4443 for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
afe42d0… ragelink 4444 // Don't enum bug & hidden keys
afe42d0… ragelink 4445 while (names.length > i) if (hasOwn(O, key = names[i++])) {
afe42d0… ragelink 4446 ~indexOf(result, key) || push(result, key);
afe42d0… ragelink 4447 }
afe42d0… ragelink 4448 return result;
afe42d0… ragelink 4449 };
afe42d0… ragelink 4450
afe42d0… ragelink 4451 },{"../internals/array-includes":63,"../internals/function-uncurry-this":99,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/to-indexed-object":154}],137:[function(require,module,exports){
afe42d0… ragelink 4452 var internalObjectKeys = require('../internals/object-keys-internal');
afe42d0… ragelink 4453 var enumBugKeys = require('../internals/enum-bug-keys');
afe42d0… ragelink 4454
afe42d0… ragelink 4455 // `Object.keys` method
afe42d0… ragelink 4456 // https://tc39.es/ecma262/#sec-object.keys
afe42d0… ragelink 4457 // eslint-disable-next-line es/no-object-keys -- safe
afe42d0… ragelink 4458 module.exports = Object.keys || function keys(O) {
afe42d0… ragelink 4459 return internalObjectKeys(O, enumBugKeys);
afe42d0… ragelink 4460 };
afe42d0… ragelink 4461
afe42d0… ragelink 4462 },{"../internals/enum-bug-keys":92,"../internals/object-keys-internal":136}],138:[function(require,module,exports){
afe42d0… ragelink 4463 'use strict';
afe42d0… ragelink 4464 var $propertyIsEnumerable = {}.propertyIsEnumerable;
afe42d0… ragelink 4465 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
afe42d0… ragelink 4466 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
afe42d0… ragelink 4467
afe42d0… ragelink 4468 // Nashorn ~ JDK8 bug
afe42d0… ragelink 4469 var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
afe42d0… ragelink 4470
afe42d0… ragelink 4471 // `Object.prototype.propertyIsEnumerable` method implementation
afe42d0… ragelink 4472 // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
afe42d0… ragelink 4473 exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
afe42d0… ragelink 4474 var descriptor = getOwnPropertyDescriptor(this, V);
afe42d0… ragelink 4475 return !!descriptor && descriptor.enumerable;
afe42d0… ragelink 4476 } : $propertyIsEnumerable;
afe42d0… ragelink 4477
afe42d0… ragelink 4478 },{}],139:[function(require,module,exports){
afe42d0… ragelink 4479 /* eslint-disable no-proto -- safe */
afe42d0… ragelink 4480 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 4481 var anObject = require('../internals/an-object');
afe42d0… ragelink 4482 var aPossiblePrototype = require('../internals/a-possible-prototype');
afe42d0… ragelink 4483
afe42d0… ragelink 4484 // `Object.setPrototypeOf` method
afe42d0… ragelink 4485 // https://tc39.es/ecma262/#sec-object.setprototypeof
afe42d0… ragelink 4486 // Works with __proto__ only. Old v8 can't work with null proto objects.
afe42d0… ragelink 4487 // eslint-disable-next-line es/no-object-setprototypeof -- safe
afe42d0… ragelink 4488 module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
afe42d0… ragelink 4489 var CORRECT_SETTER = false;
afe42d0… ragelink 4490 var test = {};
afe42d0… ragelink 4491 var setter;
afe42d0… ragelink 4492 try {
afe42d0… ragelink 4493 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
afe42d0… ragelink 4494 setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
afe42d0… ragelink 4495 setter(test, []);
afe42d0… ragelink 4496 CORRECT_SETTER = test instanceof Array;
afe42d0… ragelink 4497 } catch (error) { /* empty */ }
afe42d0… ragelink 4498 return function setPrototypeOf(O, proto) {
afe42d0… ragelink 4499 anObject(O);
afe42d0… ragelink 4500 aPossiblePrototype(proto);
afe42d0… ragelink 4501 if (CORRECT_SETTER) setter(O, proto);
afe42d0… ragelink 4502 else O.__proto__ = proto;
afe42d0… ragelink 4503 return O;
afe42d0… ragelink 4504 };
afe42d0… ragelink 4505 }() : undefined);
afe42d0… ragelink 4506
afe42d0… ragelink 4507 },{"../internals/a-possible-prototype":58,"../internals/an-object":60,"../internals/function-uncurry-this":99}],140:[function(require,module,exports){
afe42d0… ragelink 4508 'use strict';
afe42d0… ragelink 4509 var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');
afe42d0… ragelink 4510 var classof = require('../internals/classof');
afe42d0… ragelink 4511
afe42d0… ragelink 4512 // `Object.prototype.toString` method implementation
afe42d0… ragelink 4513 // https://tc39.es/ecma262/#sec-object.prototype.tostring
afe42d0… ragelink 4514 module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
afe42d0… ragelink 4515 return '[object ' + classof(this) + ']';
afe42d0… ragelink 4516 };
afe42d0… ragelink 4517
afe42d0… ragelink 4518 },{"../internals/classof":75,"../internals/to-string-tag-support":160}],141:[function(require,module,exports){
afe42d0… ragelink 4519 var global = require('../internals/global');
afe42d0… ragelink 4520 var call = require('../internals/function-call');
afe42d0… ragelink 4521 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 4522 var isObject = require('../internals/is-object');
afe42d0… ragelink 4523
afe42d0… ragelink 4524 var TypeError = global.TypeError;
afe42d0… ragelink 4525
afe42d0… ragelink 4526 // `OrdinaryToPrimitive` abstract operation
afe42d0… ragelink 4527 // https://tc39.es/ecma262/#sec-ordinarytoprimitive
afe42d0… ragelink 4528 module.exports = function (input, pref) {
afe42d0… ragelink 4529 var fn, val;
afe42d0… ragelink 4530 if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
afe42d0… ragelink 4531 if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;
afe42d0… ragelink 4532 if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
afe42d0… ragelink 4533 throw TypeError("Can't convert object to primitive value");
afe42d0… ragelink 4534 };
afe42d0… ragelink 4535
afe42d0… ragelink 4536 },{"../internals/function-call":97,"../internals/global":104,"../internals/is-callable":114,"../internals/is-object":117}],142:[function(require,module,exports){
afe42d0… ragelink 4537 arguments[4][106][0].apply(exports,arguments)
afe42d0… ragelink 4538 },{"dup":106}],143:[function(require,module,exports){
afe42d0… ragelink 4539 var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
afe42d0… ragelink 4540
afe42d0… ragelink 4541 module.exports = function (target, key, value, options) {
afe42d0… ragelink 4542 if (options && options.enumerable) target[key] = value;
afe42d0… ragelink 4543 else createNonEnumerableProperty(target, key, value);
afe42d0… ragelink 4544 };
afe42d0… ragelink 4545
afe42d0… ragelink 4546 },{"../internals/create-non-enumerable-property":78}],144:[function(require,module,exports){
afe42d0… ragelink 4547 'use strict';
afe42d0… ragelink 4548 var anObject = require('../internals/an-object');
afe42d0… ragelink 4549
afe42d0… ragelink 4550 // `RegExp.prototype.flags` getter implementation
afe42d0… ragelink 4551 // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
afe42d0… ragelink 4552 module.exports = function () {
afe42d0… ragelink 4553 var that = anObject(this);
afe42d0… ragelink 4554 var result = '';
afe42d0… ragelink 4555 if (that.global) result += 'g';
afe42d0… ragelink 4556 if (that.ignoreCase) result += 'i';
afe42d0… ragelink 4557 if (that.multiline) result += 'm';
afe42d0… ragelink 4558 if (that.dotAll) result += 's';
afe42d0… ragelink 4559 if (that.unicode) result += 'u';
afe42d0… ragelink 4560 if (that.sticky) result += 'y';
afe42d0… ragelink 4561 return result;
afe42d0… ragelink 4562 };
afe42d0… ragelink 4563
afe42d0… ragelink 4564 },{"../internals/an-object":60}],145:[function(require,module,exports){
afe42d0… ragelink 4565 var global = require('../internals/global');
afe42d0… ragelink 4566
afe42d0… ragelink 4567 var TypeError = global.TypeError;
afe42d0… ragelink 4568
afe42d0… ragelink 4569 // `RequireObjectCoercible` abstract operation
afe42d0… ragelink 4570 // https://tc39.es/ecma262/#sec-requireobjectcoercible
afe42d0… ragelink 4571 module.exports = function (it) {
afe42d0… ragelink 4572 if (it == undefined) throw TypeError("Can't call method on " + it);
afe42d0… ragelink 4573 return it;
afe42d0… ragelink 4574 };
afe42d0… ragelink 4575
afe42d0… ragelink 4576 },{"../internals/global":104}],146:[function(require,module,exports){
afe42d0… ragelink 4577 var global = require('../internals/global');
afe42d0… ragelink 4578
afe42d0… ragelink 4579 // eslint-disable-next-line es/no-object-defineproperty -- safe
afe42d0… ragelink 4580 var defineProperty = Object.defineProperty;
afe42d0… ragelink 4581
afe42d0… ragelink 4582 module.exports = function (key, value) {
afe42d0… ragelink 4583 try {
afe42d0… ragelink 4584 defineProperty(global, key, { value: value, configurable: true, writable: true });
afe42d0… ragelink 4585 } catch (error) {
afe42d0… ragelink 4586 global[key] = value;
afe42d0… ragelink 4587 } return value;
afe42d0… ragelink 4588 };
afe42d0… ragelink 4589
afe42d0… ragelink 4590 },{"../internals/global":104}],147:[function(require,module,exports){
afe42d0… ragelink 4591 var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');
afe42d0… ragelink 4592 var defineProperty = require('../internals/object-define-property').f;
afe42d0… ragelink 4593 var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
afe42d0… ragelink 4594 var hasOwn = require('../internals/has-own-property');
afe42d0… ragelink 4595 var toString = require('../internals/object-to-string');
afe42d0… ragelink 4596 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 4597
afe42d0… ragelink 4598 var TO_STRING_TAG = wellKnownSymbol('toStringTag');
afe42d0… ragelink 4599
afe42d0… ragelink 4600 module.exports = function (it, TAG, STATIC, SET_METHOD) {
afe42d0… ragelink 4601 if (it) {
afe42d0… ragelink 4602 var target = STATIC ? it : it.prototype;
afe42d0… ragelink 4603 if (!hasOwn(target, TO_STRING_TAG)) {
afe42d0… ragelink 4604 defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });
afe42d0… ragelink 4605 }
afe42d0… ragelink 4606 if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {
afe42d0… ragelink 4607 createNonEnumerableProperty(target, 'toString', toString);
afe42d0… ragelink 4608 }
afe42d0… ragelink 4609 }
afe42d0… ragelink 4610 };
afe42d0… ragelink 4611
afe42d0… ragelink 4612 },{"../internals/create-non-enumerable-property":78,"../internals/has-own-property":105,"../internals/object-define-property":129,"../internals/object-to-string":140,"../internals/to-string-tag-support":160,"../internals/well-known-symbol":166}],148:[function(require,module,exports){
afe42d0… ragelink 4613 var shared = require('../internals/shared');
afe42d0… ragelink 4614 var uid = require('../internals/uid');
afe42d0… ragelink 4615
afe42d0… ragelink 4616 var keys = shared('keys');
afe42d0… ragelink 4617
afe42d0… ragelink 4618 module.exports = function (key) {
afe42d0… ragelink 4619 return keys[key] || (keys[key] = uid(key));
afe42d0… ragelink 4620 };
afe42d0… ragelink 4621
afe42d0… ragelink 4622 },{"../internals/shared":150,"../internals/uid":163}],149:[function(require,module,exports){
afe42d0… ragelink 4623 var global = require('../internals/global');
afe42d0… ragelink 4624 var setGlobal = require('../internals/set-global');
afe42d0… ragelink 4625
afe42d0… ragelink 4626 var SHARED = '__core-js_shared__';
afe42d0… ragelink 4627 var store = global[SHARED] || setGlobal(SHARED, {});
afe42d0… ragelink 4628
afe42d0… ragelink 4629 module.exports = store;
afe42d0… ragelink 4630
afe42d0… ragelink 4631 },{"../internals/global":104,"../internals/set-global":146}],150:[function(require,module,exports){
afe42d0… ragelink 4632 var IS_PURE = require('../internals/is-pure');
afe42d0… ragelink 4633 var store = require('../internals/shared-store');
afe42d0… ragelink 4634
afe42d0… ragelink 4635 (module.exports = function (key, value) {
afe42d0… ragelink 4636 return store[key] || (store[key] = value !== undefined ? value : {});
afe42d0… ragelink 4637 })('versions', []).push({
afe42d0… ragelink 4638 version: '3.20.0',
afe42d0… ragelink 4639 mode: IS_PURE ? 'pure' : 'global',
afe42d0… ragelink 4640 copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
afe42d0… ragelink 4641 });
afe42d0… ragelink 4642
afe42d0… ragelink 4643 },{"../internals/is-pure":118,"../internals/shared-store":149}],151:[function(require,module,exports){
afe42d0… ragelink 4644 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 4645 var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
afe42d0… ragelink 4646 var toString = require('../internals/to-string');
afe42d0… ragelink 4647 var requireObjectCoercible = require('../internals/require-object-coercible');
afe42d0… ragelink 4648
afe42d0… ragelink 4649 var charAt = uncurryThis(''.charAt);
afe42d0… ragelink 4650 var charCodeAt = uncurryThis(''.charCodeAt);
afe42d0… ragelink 4651 var stringSlice = uncurryThis(''.slice);
afe42d0… ragelink 4652
afe42d0… ragelink 4653 var createMethod = function (CONVERT_TO_STRING) {
afe42d0… ragelink 4654 return function ($this, pos) {
afe42d0… ragelink 4655 var S = toString(requireObjectCoercible($this));
afe42d0… ragelink 4656 var position = toIntegerOrInfinity(pos);
afe42d0… ragelink 4657 var size = S.length;
afe42d0… ragelink 4658 var first, second;
afe42d0… ragelink 4659 if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
afe42d0… ragelink 4660 first = charCodeAt(S, position);
afe42d0… ragelink 4661 return first < 0xD800 || first > 0xDBFF || position + 1 === size
afe42d0… ragelink 4662 || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF
afe42d0… ragelink 4663 ? CONVERT_TO_STRING
afe42d0… ragelink 4664 ? charAt(S, position)
afe42d0… ragelink 4665 : first
afe42d0… ragelink 4666 : CONVERT_TO_STRING
afe42d0… ragelink 4667 ? stringSlice(S, position, position + 2)
afe42d0… ragelink 4668 : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
afe42d0… ragelink 4669 };
afe42d0… ragelink 4670 };
afe42d0… ragelink 4671
afe42d0… ragelink 4672 module.exports = {
afe42d0… ragelink 4673 // `String.prototype.codePointAt` method
afe42d0… ragelink 4674 // https://tc39.es/ecma262/#sec-string.prototype.codepointat
afe42d0… ragelink 4675 codeAt: createMethod(false),
afe42d0… ragelink 4676 // `String.prototype.at` method
afe42d0… ragelink 4677 // https://github.com/mathiasbynens/String.prototype.at
afe42d0… ragelink 4678 charAt: createMethod(true)
afe42d0… ragelink 4679 };
afe42d0… ragelink 4680
afe42d0… ragelink 4681 },{"../internals/function-uncurry-this":99,"../internals/require-object-coercible":145,"../internals/to-integer-or-infinity":155,"../internals/to-string":161}],152:[function(require,module,exports){
afe42d0… ragelink 4682 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 4683 var requireObjectCoercible = require('../internals/require-object-coercible');
afe42d0… ragelink 4684 var toString = require('../internals/to-string');
afe42d0… ragelink 4685 var whitespaces = require('../internals/whitespaces');
afe42d0… ragelink 4686
afe42d0… ragelink 4687 var replace = uncurryThis(''.replace);
afe42d0… ragelink 4688 var whitespace = '[' + whitespaces + ']';
afe42d0… ragelink 4689 var ltrim = RegExp('^' + whitespace + whitespace + '*');
afe42d0… ragelink 4690 var rtrim = RegExp(whitespace + whitespace + '*$');
afe42d0… ragelink 4691
afe42d0… ragelink 4692 // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
afe42d0… ragelink 4693 var createMethod = function (TYPE) {
afe42d0… ragelink 4694 return function ($this) {
afe42d0… ragelink 4695 var string = toString(requireObjectCoercible($this));
afe42d0… ragelink 4696 if (TYPE & 1) string = replace(string, ltrim, '');
afe42d0… ragelink 4697 if (TYPE & 2) string = replace(string, rtrim, '');
afe42d0… ragelink 4698 return string;
afe42d0… ragelink 4699 };
afe42d0… ragelink 4700 };
afe42d0… ragelink 4701
afe42d0… ragelink 4702 module.exports = {
afe42d0… ragelink 4703 // `String.prototype.{ trimLeft, trimStart }` methods
afe42d0… ragelink 4704 // https://tc39.es/ecma262/#sec-string.prototype.trimstart
afe42d0… ragelink 4705 start: createMethod(1),
afe42d0… ragelink 4706 // `String.prototype.{ trimRight, trimEnd }` methods
afe42d0… ragelink 4707 // https://tc39.es/ecma262/#sec-string.prototype.trimend
afe42d0… ragelink 4708 end: createMethod(2),
afe42d0… ragelink 4709 // `String.prototype.trim` method
afe42d0… ragelink 4710 // https://tc39.es/ecma262/#sec-string.prototype.trim
afe42d0… ragelink 4711 trim: createMethod(3)
afe42d0… ragelink 4712 };
afe42d0… ragelink 4713
afe42d0… ragelink 4714 },{"../internals/function-uncurry-this":99,"../internals/require-object-coercible":145,"../internals/to-string":161,"../internals/whitespaces":167}],153:[function(require,module,exports){
afe42d0… ragelink 4715 var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
afe42d0… ragelink 4716
afe42d0… ragelink 4717 var max = Math.max;
afe42d0… ragelink 4718 var min = Math.min;
afe42d0… ragelink 4719
afe42d0… ragelink 4720 // Helper for a popular repeating case of the spec:
afe42d0… ragelink 4721 // Let integer be ? ToInteger(index).
afe42d0… ragelink 4722 // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
afe42d0… ragelink 4723 module.exports = function (index, length) {
afe42d0… ragelink 4724 var integer = toIntegerOrInfinity(index);
afe42d0… ragelink 4725 return integer < 0 ? max(integer + length, 0) : min(integer, length);
afe42d0… ragelink 4726 };
afe42d0… ragelink 4727
afe42d0… ragelink 4728 },{"../internals/to-integer-or-infinity":155}],154:[function(require,module,exports){
afe42d0… ragelink 4729 // toObject with fallback for non-array-like ES3 strings
afe42d0… ragelink 4730 var IndexedObject = require('../internals/indexed-object');
afe42d0… ragelink 4731 var requireObjectCoercible = require('../internals/require-object-coercible');
afe42d0… ragelink 4732
afe42d0… ragelink 4733 module.exports = function (it) {
afe42d0… ragelink 4734 return IndexedObject(requireObjectCoercible(it));
afe42d0… ragelink 4735 };
afe42d0… ragelink 4736
afe42d0… ragelink 4737 },{"../internals/indexed-object":109,"../internals/require-object-coercible":145}],155:[function(require,module,exports){
afe42d0… ragelink 4738 var ceil = Math.ceil;
afe42d0… ragelink 4739 var floor = Math.floor;
afe42d0… ragelink 4740
afe42d0… ragelink 4741 // `ToIntegerOrInfinity` abstract operation
afe42d0… ragelink 4742 // https://tc39.es/ecma262/#sec-tointegerorinfinity
afe42d0… ragelink 4743 module.exports = function (argument) {
afe42d0… ragelink 4744 var number = +argument;
afe42d0… ragelink 4745 // eslint-disable-next-line no-self-compare -- safe
afe42d0… ragelink 4746 return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
afe42d0… ragelink 4747 };
afe42d0… ragelink 4748
afe42d0… ragelink 4749 },{}],156:[function(require,module,exports){
afe42d0… ragelink 4750 var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
afe42d0… ragelink 4751
afe42d0… ragelink 4752 var min = Math.min;
afe42d0… ragelink 4753
afe42d0… ragelink 4754 // `ToLength` abstract operation
afe42d0… ragelink 4755 // https://tc39.es/ecma262/#sec-tolength
afe42d0… ragelink 4756 module.exports = function (argument) {
afe42d0… ragelink 4757 return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
afe42d0… ragelink 4758 };
afe42d0… ragelink 4759
afe42d0… ragelink 4760 },{"../internals/to-integer-or-infinity":155}],157:[function(require,module,exports){
afe42d0… ragelink 4761 var global = require('../internals/global');
afe42d0… ragelink 4762 var requireObjectCoercible = require('../internals/require-object-coercible');
afe42d0… ragelink 4763
afe42d0… ragelink 4764 var Object = global.Object;
afe42d0… ragelink 4765
afe42d0… ragelink 4766 // `ToObject` abstract operation
afe42d0… ragelink 4767 // https://tc39.es/ecma262/#sec-toobject
afe42d0… ragelink 4768 module.exports = function (argument) {
afe42d0… ragelink 4769 return Object(requireObjectCoercible(argument));
afe42d0… ragelink 4770 };
afe42d0… ragelink 4771
afe42d0… ragelink 4772 },{"../internals/global":104,"../internals/require-object-coercible":145}],158:[function(require,module,exports){
afe42d0… ragelink 4773 var global = require('../internals/global');
afe42d0… ragelink 4774 var call = require('../internals/function-call');
afe42d0… ragelink 4775 var isObject = require('../internals/is-object');
afe42d0… ragelink 4776 var isSymbol = require('../internals/is-symbol');
afe42d0… ragelink 4777 var getMethod = require('../internals/get-method');
afe42d0… ragelink 4778 var ordinaryToPrimitive = require('../internals/ordinary-to-primitive');
afe42d0… ragelink 4779 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 4780
afe42d0… ragelink 4781 var TypeError = global.TypeError;
afe42d0… ragelink 4782 var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
afe42d0… ragelink 4783
afe42d0… ragelink 4784 // `ToPrimitive` abstract operation
afe42d0… ragelink 4785 // https://tc39.es/ecma262/#sec-toprimitive
afe42d0… ragelink 4786 module.exports = function (input, pref) {
afe42d0… ragelink 4787 if (!isObject(input) || isSymbol(input)) return input;
afe42d0… ragelink 4788 var exoticToPrim = getMethod(input, TO_PRIMITIVE);
afe42d0… ragelink 4789 var result;
afe42d0… ragelink 4790 if (exoticToPrim) {
afe42d0… ragelink 4791 if (pref === undefined) pref = 'default';
afe42d0… ragelink 4792 result = call(exoticToPrim, input, pref);
afe42d0… ragelink 4793 if (!isObject(result) || isSymbol(result)) return result;
afe42d0… ragelink 4794 throw TypeError("Can't convert object to primitive value");
afe42d0… ragelink 4795 }
afe42d0… ragelink 4796 if (pref === undefined) pref = 'number';
afe42d0… ragelink 4797 return ordinaryToPrimitive(input, pref);
afe42d0… ragelink 4798 };
afe42d0… ragelink 4799
afe42d0… ragelink 4800 },{"../internals/function-call":97,"../internals/get-method":103,"../internals/global":104,"../internals/is-object":117,"../internals/is-symbol":119,"../internals/ordinary-to-primitive":141,"../internals/well-known-symbol":166}],159:[function(require,module,exports){
afe42d0… ragelink 4801 var toPrimitive = require('../internals/to-primitive');
afe42d0… ragelink 4802 var isSymbol = require('../internals/is-symbol');
afe42d0… ragelink 4803
afe42d0… ragelink 4804 // `ToPropertyKey` abstract operation
afe42d0… ragelink 4805 // https://tc39.es/ecma262/#sec-topropertykey
afe42d0… ragelink 4806 module.exports = function (argument) {
afe42d0… ragelink 4807 var key = toPrimitive(argument, 'string');
afe42d0… ragelink 4808 return isSymbol(key) ? key : key + '';
afe42d0… ragelink 4809 };
afe42d0… ragelink 4810
afe42d0… ragelink 4811 },{"../internals/is-symbol":119,"../internals/to-primitive":158}],160:[function(require,module,exports){
afe42d0… ragelink 4812 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 4813
afe42d0… ragelink 4814 var TO_STRING_TAG = wellKnownSymbol('toStringTag');
afe42d0… ragelink 4815 var test = {};
afe42d0… ragelink 4816
afe42d0… ragelink 4817 test[TO_STRING_TAG] = 'z';
afe42d0… ragelink 4818
afe42d0… ragelink 4819 module.exports = String(test) === '[object z]';
afe42d0… ragelink 4820
afe42d0… ragelink 4821 },{"../internals/well-known-symbol":166}],161:[function(require,module,exports){
afe42d0… ragelink 4822 var global = require('../internals/global');
afe42d0… ragelink 4823 var classof = require('../internals/classof');
afe42d0… ragelink 4824
afe42d0… ragelink 4825 var String = global.String;
afe42d0… ragelink 4826
afe42d0… ragelink 4827 module.exports = function (argument) {
afe42d0… ragelink 4828 if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
afe42d0… ragelink 4829 return String(argument);
afe42d0… ragelink 4830 };
afe42d0… ragelink 4831
afe42d0… ragelink 4832 },{"../internals/classof":75,"../internals/global":104}],162:[function(require,module,exports){
afe42d0… ragelink 4833 var global = require('../internals/global');
afe42d0… ragelink 4834
afe42d0… ragelink 4835 var String = global.String;
afe42d0… ragelink 4836
afe42d0… ragelink 4837 module.exports = function (argument) {
afe42d0… ragelink 4838 try {
afe42d0… ragelink 4839 return String(argument);
afe42d0… ragelink 4840 } catch (error) {
afe42d0… ragelink 4841 return 'Object';
afe42d0… ragelink 4842 }
afe42d0… ragelink 4843 };
afe42d0… ragelink 4844
afe42d0… ragelink 4845 },{"../internals/global":104}],163:[function(require,module,exports){
afe42d0… ragelink 4846 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 4847
afe42d0… ragelink 4848 var id = 0;
afe42d0… ragelink 4849 var postfix = Math.random();
afe42d0… ragelink 4850 var toString = uncurryThis(1.0.toString);
afe42d0… ragelink 4851
afe42d0… ragelink 4852 module.exports = function (key) {
afe42d0… ragelink 4853 return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
afe42d0… ragelink 4854 };
afe42d0… ragelink 4855
afe42d0… ragelink 4856 },{"../internals/function-uncurry-this":99}],164:[function(require,module,exports){
afe42d0… ragelink 4857 /* eslint-disable es/no-symbol -- required for testing */
afe42d0… ragelink 4858 var NATIVE_SYMBOL = require('../internals/native-symbol');
afe42d0… ragelink 4859
afe42d0… ragelink 4860 module.exports = NATIVE_SYMBOL
afe42d0… ragelink 4861 && !Symbol.sham
afe42d0… ragelink 4862 && typeof Symbol.iterator == 'symbol';
afe42d0… ragelink 4863
afe42d0… ragelink 4864 },{"../internals/native-symbol":124}],165:[function(require,module,exports){
afe42d0… ragelink 4865 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 4866
afe42d0… ragelink 4867 exports.f = wellKnownSymbol;
afe42d0… ragelink 4868
afe42d0… ragelink 4869 },{"../internals/well-known-symbol":166}],166:[function(require,module,exports){
afe42d0… ragelink 4870 var global = require('../internals/global');
afe42d0… ragelink 4871 var shared = require('../internals/shared');
afe42d0… ragelink 4872 var hasOwn = require('../internals/has-own-property');
afe42d0… ragelink 4873 var uid = require('../internals/uid');
afe42d0… ragelink 4874 var NATIVE_SYMBOL = require('../internals/native-symbol');
afe42d0… ragelink 4875 var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');
afe42d0… ragelink 4876
afe42d0… ragelink 4877 var WellKnownSymbolsStore = shared('wks');
afe42d0… ragelink 4878 var Symbol = global.Symbol;
afe42d0… ragelink 4879 var symbolFor = Symbol && Symbol['for'];
afe42d0… ragelink 4880 var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
afe42d0… ragelink 4881
afe42d0… ragelink 4882 module.exports = function (name) {
afe42d0… ragelink 4883 if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
afe42d0… ragelink 4884 var description = 'Symbol.' + name;
afe42d0… ragelink 4885 if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {
afe42d0… ragelink 4886 WellKnownSymbolsStore[name] = Symbol[name];
afe42d0… ragelink 4887 } else if (USE_SYMBOL_AS_UID && symbolFor) {
afe42d0… ragelink 4888 WellKnownSymbolsStore[name] = symbolFor(description);
afe42d0… ragelink 4889 } else {
afe42d0… ragelink 4890 WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
afe42d0… ragelink 4891 }
afe42d0… ragelink 4892 } return WellKnownSymbolsStore[name];
afe42d0… ragelink 4893 };
afe42d0… ragelink 4894
afe42d0… ragelink 4895 },{"../internals/global":104,"../internals/has-own-property":105,"../internals/native-symbol":124,"../internals/shared":150,"../internals/uid":163,"../internals/use-symbol-as-uid":164}],167:[function(require,module,exports){
afe42d0… ragelink 4896 // a string of all valid unicode whitespaces
afe42d0… ragelink 4897 module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
afe42d0… ragelink 4898 '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
afe42d0… ragelink 4899
afe42d0… ragelink 4900 },{}],168:[function(require,module,exports){
afe42d0… ragelink 4901 'use strict';
afe42d0… ragelink 4902 var $ = require('../internals/export');
afe42d0… ragelink 4903 var global = require('../internals/global');
afe42d0… ragelink 4904 var fails = require('../internals/fails');
afe42d0… ragelink 4905 var isArray = require('../internals/is-array');
afe42d0… ragelink 4906 var isObject = require('../internals/is-object');
afe42d0… ragelink 4907 var toObject = require('../internals/to-object');
afe42d0… ragelink 4908 var lengthOfArrayLike = require('../internals/length-of-array-like');
afe42d0… ragelink 4909 var createProperty = require('../internals/create-property');
afe42d0… ragelink 4910 var arraySpeciesCreate = require('../internals/array-species-create');
afe42d0… ragelink 4911 var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
afe42d0… ragelink 4912 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 4913 var V8_VERSION = require('../internals/engine-v8-version');
afe42d0… ragelink 4914
afe42d0… ragelink 4915 var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
afe42d0… ragelink 4916 var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
afe42d0… ragelink 4917 var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
afe42d0… ragelink 4918 var TypeError = global.TypeError;
afe42d0… ragelink 4919
afe42d0… ragelink 4920 // We can't use this feature detection in V8 since it causes
afe42d0… ragelink 4921 // deoptimization and serious performance degradation
afe42d0… ragelink 4922 // https://github.com/zloirock/core-js/issues/679
afe42d0… ragelink 4923 var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
afe42d0… ragelink 4924 var array = [];
afe42d0… ragelink 4925 array[IS_CONCAT_SPREADABLE] = false;
afe42d0… ragelink 4926 return array.concat()[0] !== array;
afe42d0… ragelink 4927 });
afe42d0… ragelink 4928
afe42d0… ragelink 4929 var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
afe42d0… ragelink 4930
afe42d0… ragelink 4931 var isConcatSpreadable = function (O) {
afe42d0… ragelink 4932 if (!isObject(O)) return false;
afe42d0… ragelink 4933 var spreadable = O[IS_CONCAT_SPREADABLE];
afe42d0… ragelink 4934 return spreadable !== undefined ? !!spreadable : isArray(O);
afe42d0… ragelink 4935 };
afe42d0… ragelink 4936
afe42d0… ragelink 4937 var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
afe42d0… ragelink 4938
afe42d0… ragelink 4939 // `Array.prototype.concat` method
afe42d0… ragelink 4940 // https://tc39.es/ecma262/#sec-array.prototype.concat
afe42d0… ragelink 4941 // with adding support of @@isConcatSpreadable and @@species
afe42d0… ragelink 4942 $({ target: 'Array', proto: true, forced: FORCED }, {
afe42d0… ragelink 4943 // eslint-disable-next-line no-unused-vars -- required for `.length`
afe42d0… ragelink 4944 concat: function concat(arg) {
afe42d0… ragelink 4945 var O = toObject(this);
afe42d0… ragelink 4946 var A = arraySpeciesCreate(O, 0);
afe42d0… ragelink 4947 var n = 0;
afe42d0… ragelink 4948 var i, k, length, len, E;
afe42d0… ragelink 4949 for (i = -1, length = arguments.length; i < length; i++) {
afe42d0… ragelink 4950 E = i === -1 ? O : arguments[i];
afe42d0… ragelink 4951 if (isConcatSpreadable(E)) {
afe42d0… ragelink 4952 len = lengthOfArrayLike(E);
afe42d0… ragelink 4953 if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
afe42d0… ragelink 4954 for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
afe42d0… ragelink 4955 } else {
afe42d0… ragelink 4956 if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
afe42d0… ragelink 4957 createProperty(A, n++, E);
afe42d0… ragelink 4958 }
afe42d0… ragelink 4959 }
afe42d0… ragelink 4960 A.length = n;
afe42d0… ragelink 4961 return A;
afe42d0… ragelink 4962 }
afe42d0… ragelink 4963 });
afe42d0… ragelink 4964
afe42d0… ragelink 4965 },{"../internals/array-method-has-species-support":65,"../internals/array-species-create":71,"../internals/create-property":80,"../internals/engine-v8-version":89,"../internals/export":93,"../internals/fails":94,"../internals/global":104,"../internals/is-array":113,"../internals/is-object":117,"../internals/length-of-array-like":123,"../internals/to-object":157,"../internals/well-known-symbol":166}],169:[function(require,module,exports){
afe42d0… ragelink 4966 'use strict';
afe42d0… ragelink 4967 var $ = require('../internals/export');
afe42d0… ragelink 4968 var forEach = require('../internals/array-for-each');
afe42d0… ragelink 4969
afe42d0… ragelink 4970 // `Array.prototype.forEach` method
afe42d0… ragelink 4971 // https://tc39.es/ecma262/#sec-array.prototype.foreach
afe42d0… ragelink 4972 // eslint-disable-next-line es/no-array-prototype-foreach -- safe
afe42d0… ragelink 4973 $({ target: 'Array', proto: true, forced: [].forEach != forEach }, {
afe42d0… ragelink 4974 forEach: forEach
afe42d0… ragelink 4975 });
afe42d0… ragelink 4976
afe42d0… ragelink 4977 },{"../internals/array-for-each":61,"../internals/export":93}],170:[function(require,module,exports){
afe42d0… ragelink 4978 var $ = require('../internals/export');
afe42d0… ragelink 4979 var from = require('../internals/array-from');
afe42d0… ragelink 4980 var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');
afe42d0… ragelink 4981
afe42d0… ragelink 4982 var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
afe42d0… ragelink 4983 // eslint-disable-next-line es/no-array-from -- required for testing
afe42d0… ragelink 4984 Array.from(iterable);
afe42d0… ragelink 4985 });
afe42d0… ragelink 4986
afe42d0… ragelink 4987 // `Array.from` method
afe42d0… ragelink 4988 // https://tc39.es/ecma262/#sec-array.from
afe42d0… ragelink 4989 $({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
afe42d0… ragelink 4990 from: from
afe42d0… ragelink 4991 });
afe42d0… ragelink 4992
afe42d0… ragelink 4993 },{"../internals/array-from":62,"../internals/check-correctness-of-iteration":73,"../internals/export":93}],171:[function(require,module,exports){
afe42d0… ragelink 4994 'use strict';
afe42d0… ragelink 4995 /* eslint-disable es/no-array-prototype-indexof -- required for testing */
afe42d0… ragelink 4996 var $ = require('../internals/export');
afe42d0… ragelink 4997 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 4998 var $IndexOf = require('../internals/array-includes').indexOf;
afe42d0… ragelink 4999 var arrayMethodIsStrict = require('../internals/array-method-is-strict');
afe42d0… ragelink 5000
afe42d0… ragelink 5001 var un$IndexOf = uncurryThis([].indexOf);
afe42d0… ragelink 5002
afe42d0… ragelink 5003 var NEGATIVE_ZERO = !!un$IndexOf && 1 / un$IndexOf([1], 1, -0) < 0;
afe42d0… ragelink 5004 var STRICT_METHOD = arrayMethodIsStrict('indexOf');
afe42d0… ragelink 5005
afe42d0… ragelink 5006 // `Array.prototype.indexOf` method
afe42d0… ragelink 5007 // https://tc39.es/ecma262/#sec-array.prototype.indexof
afe42d0… ragelink 5008 $({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {
afe42d0… ragelink 5009 indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
afe42d0… ragelink 5010 var fromIndex = arguments.length > 1 ? arguments[1] : undefined;
afe42d0… ragelink 5011 return NEGATIVE_ZERO
afe42d0… ragelink 5012 // convert -0 to +0
afe42d0… ragelink 5013 ? un$IndexOf(this, searchElement, fromIndex) || 0
afe42d0… ragelink 5014 : $IndexOf(this, searchElement, fromIndex);
afe42d0… ragelink 5015 }
afe42d0… ragelink 5016 });
afe42d0… ragelink 5017
afe42d0… ragelink 5018 },{"../internals/array-includes":63,"../internals/array-method-is-strict":66,"../internals/export":93,"../internals/function-uncurry-this":99}],172:[function(require,module,exports){
afe42d0… ragelink 5019 var $ = require('../internals/export');
afe42d0… ragelink 5020 var isArray = require('../internals/is-array');
afe42d0… ragelink 5021
afe42d0… ragelink 5022 // `Array.isArray` method
afe42d0… ragelink 5023 // https://tc39.es/ecma262/#sec-array.isarray
afe42d0… ragelink 5024 $({ target: 'Array', stat: true }, {
afe42d0… ragelink 5025 isArray: isArray
afe42d0… ragelink 5026 });
afe42d0… ragelink 5027
afe42d0… ragelink 5028 },{"../internals/export":93,"../internals/is-array":113}],173:[function(require,module,exports){
afe42d0… ragelink 5029 'use strict';
afe42d0… ragelink 5030 var toIndexedObject = require('../internals/to-indexed-object');
afe42d0… ragelink 5031 var addToUnscopables = require('../internals/add-to-unscopables');
afe42d0… ragelink 5032 var Iterators = require('../internals/iterators');
afe42d0… ragelink 5033 var InternalStateModule = require('../internals/internal-state');
afe42d0… ragelink 5034 var defineProperty = require('../internals/object-define-property').f;
afe42d0… ragelink 5035 var defineIterator = require('../internals/define-iterator');
afe42d0… ragelink 5036 var IS_PURE = require('../internals/is-pure');
afe42d0… ragelink 5037 var DESCRIPTORS = require('../internals/descriptors');
afe42d0… ragelink 5038
afe42d0… ragelink 5039 var ARRAY_ITERATOR = 'Array Iterator';
afe42d0… ragelink 5040 var setInternalState = InternalStateModule.set;
afe42d0… ragelink 5041 var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
afe42d0… ragelink 5042
afe42d0… ragelink 5043 // `Array.prototype.entries` method
afe42d0… ragelink 5044 // https://tc39.es/ecma262/#sec-array.prototype.entries
afe42d0… ragelink 5045 // `Array.prototype.keys` method
afe42d0… ragelink 5046 // https://tc39.es/ecma262/#sec-array.prototype.keys
afe42d0… ragelink 5047 // `Array.prototype.values` method
afe42d0… ragelink 5048 // https://tc39.es/ecma262/#sec-array.prototype.values
afe42d0… ragelink 5049 // `Array.prototype[@@iterator]` method
afe42d0… ragelink 5050 // https://tc39.es/ecma262/#sec-array.prototype-@@iterator
afe42d0… ragelink 5051 // `CreateArrayIterator` internal method
afe42d0… ragelink 5052 // https://tc39.es/ecma262/#sec-createarrayiterator
afe42d0… ragelink 5053 module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
afe42d0… ragelink 5054 setInternalState(this, {
afe42d0… ragelink 5055 type: ARRAY_ITERATOR,
afe42d0… ragelink 5056 target: toIndexedObject(iterated), // target
afe42d0… ragelink 5057 index: 0, // next index
afe42d0… ragelink 5058 kind: kind // kind
afe42d0… ragelink 5059 });
afe42d0… ragelink 5060 // `%ArrayIteratorPrototype%.next` method
afe42d0… ragelink 5061 // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
afe42d0… ragelink 5062 }, function () {
afe42d0… ragelink 5063 var state = getInternalState(this);
afe42d0… ragelink 5064 var target = state.target;
afe42d0… ragelink 5065 var kind = state.kind;
afe42d0… ragelink 5066 var index = state.index++;
afe42d0… ragelink 5067 if (!target || index >= target.length) {
afe42d0… ragelink 5068 state.target = undefined;
afe42d0… ragelink 5069 return { value: undefined, done: true };
afe42d0… ragelink 5070 }
afe42d0… ragelink 5071 if (kind == 'keys') return { value: index, done: false };
afe42d0… ragelink 5072 if (kind == 'values') return { value: target[index], done: false };
afe42d0… ragelink 5073 return { value: [index, target[index]], done: false };
afe42d0… ragelink 5074 }, 'values');
afe42d0… ragelink 5075
afe42d0… ragelink 5076 // argumentsList[@@iterator] is %ArrayProto_values%
afe42d0… ragelink 5077 // https://tc39.es/ecma262/#sec-createunmappedargumentsobject
afe42d0… ragelink 5078 // https://tc39.es/ecma262/#sec-createmappedargumentsobject
afe42d0… ragelink 5079 var values = Iterators.Arguments = Iterators.Array;
afe42d0… ragelink 5080
afe42d0… ragelink 5081 // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
afe42d0… ragelink 5082 addToUnscopables('keys');
afe42d0… ragelink 5083 addToUnscopables('values');
afe42d0… ragelink 5084 addToUnscopables('entries');
afe42d0… ragelink 5085
afe42d0… ragelink 5086 // V8 ~ Chrome 45- bug
afe42d0… ragelink 5087 if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {
afe42d0… ragelink 5088 defineProperty(values, 'name', { value: 'values' });
afe42d0… ragelink 5089 } catch (error) { /* empty */ }
afe42d0… ragelink 5090
afe42d0… ragelink 5091 },{"../internals/add-to-unscopables":59,"../internals/define-iterator":81,"../internals/descriptors":83,"../internals/internal-state":111,"../internals/is-pure":118,"../internals/iterators":122,"../internals/object-define-property":129,"../internals/to-indexed-object":154}],174:[function(require,module,exports){
afe42d0… ragelink 5092 'use strict';
afe42d0… ragelink 5093 var $ = require('../internals/export');
afe42d0… ragelink 5094 var global = require('../internals/global');
afe42d0… ragelink 5095 var isArray = require('../internals/is-array');
afe42d0… ragelink 5096 var isConstructor = require('../internals/is-constructor');
afe42d0… ragelink 5097 var isObject = require('../internals/is-object');
afe42d0… ragelink 5098 var toAbsoluteIndex = require('../internals/to-absolute-index');
afe42d0… ragelink 5099 var lengthOfArrayLike = require('../internals/length-of-array-like');
afe42d0… ragelink 5100 var toIndexedObject = require('../internals/to-indexed-object');
afe42d0… ragelink 5101 var createProperty = require('../internals/create-property');
afe42d0… ragelink 5102 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 5103 var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
afe42d0… ragelink 5104 var un$Slice = require('../internals/array-slice');
afe42d0… ragelink 5105
afe42d0… ragelink 5106 var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
afe42d0… ragelink 5107
afe42d0… ragelink 5108 var SPECIES = wellKnownSymbol('species');
afe42d0… ragelink 5109 var Array = global.Array;
afe42d0… ragelink 5110 var max = Math.max;
afe42d0… ragelink 5111
afe42d0… ragelink 5112 // `Array.prototype.slice` method
afe42d0… ragelink 5113 // https://tc39.es/ecma262/#sec-array.prototype.slice
afe42d0… ragelink 5114 // fallback for not array-like ES3 strings and DOM objects
afe42d0… ragelink 5115 $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
afe42d0… ragelink 5116 slice: function slice(start, end) {
afe42d0… ragelink 5117 var O = toIndexedObject(this);
afe42d0… ragelink 5118 var length = lengthOfArrayLike(O);
afe42d0… ragelink 5119 var k = toAbsoluteIndex(start, length);
afe42d0… ragelink 5120 var fin = toAbsoluteIndex(end === undefined ? length : end, length);
afe42d0… ragelink 5121 // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
afe42d0… ragelink 5122 var Constructor, result, n;
afe42d0… ragelink 5123 if (isArray(O)) {
afe42d0… ragelink 5124 Constructor = O.constructor;
afe42d0… ragelink 5125 // cross-realm fallback
afe42d0… ragelink 5126 if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {
afe42d0… ragelink 5127 Constructor = undefined;
afe42d0… ragelink 5128 } else if (isObject(Constructor)) {
afe42d0… ragelink 5129 Constructor = Constructor[SPECIES];
afe42d0… ragelink 5130 if (Constructor === null) Constructor = undefined;
afe42d0… ragelink 5131 }
afe42d0… ragelink 5132 if (Constructor === Array || Constructor === undefined) {
afe42d0… ragelink 5133 return un$Slice(O, k, fin);
afe42d0… ragelink 5134 }
afe42d0… ragelink 5135 }
afe42d0… ragelink 5136 result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));
afe42d0… ragelink 5137 for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
afe42d0… ragelink 5138 result.length = n;
afe42d0… ragelink 5139 return result;
afe42d0… ragelink 5140 }
afe42d0… ragelink 5141 });
afe42d0… ragelink 5142
afe42d0… ragelink 5143 },{"../internals/array-method-has-species-support":65,"../internals/array-slice":68,"../internals/create-property":80,"../internals/export":93,"../internals/global":104,"../internals/is-array":113,"../internals/is-constructor":115,"../internals/is-object":117,"../internals/length-of-array-like":123,"../internals/to-absolute-index":153,"../internals/to-indexed-object":154,"../internals/well-known-symbol":166}],175:[function(require,module,exports){
afe42d0… ragelink 5144 'use strict';
afe42d0… ragelink 5145 var $ = require('../internals/export');
afe42d0… ragelink 5146 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 5147 var aCallable = require('../internals/a-callable');
afe42d0… ragelink 5148 var toObject = require('../internals/to-object');
afe42d0… ragelink 5149 var lengthOfArrayLike = require('../internals/length-of-array-like');
afe42d0… ragelink 5150 var toString = require('../internals/to-string');
afe42d0… ragelink 5151 var fails = require('../internals/fails');
afe42d0… ragelink 5152 var internalSort = require('../internals/array-sort');
afe42d0… ragelink 5153 var arrayMethodIsStrict = require('../internals/array-method-is-strict');
afe42d0… ragelink 5154 var FF = require('../internals/engine-ff-version');
afe42d0… ragelink 5155 var IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');
afe42d0… ragelink 5156 var V8 = require('../internals/engine-v8-version');
afe42d0… ragelink 5157 var WEBKIT = require('../internals/engine-webkit-version');
afe42d0… ragelink 5158
afe42d0… ragelink 5159 var test = [];
afe42d0… ragelink 5160 var un$Sort = uncurryThis(test.sort);
afe42d0… ragelink 5161 var push = uncurryThis(test.push);
afe42d0… ragelink 5162
afe42d0… ragelink 5163 // IE8-
afe42d0… ragelink 5164 var FAILS_ON_UNDEFINED = fails(function () {
afe42d0… ragelink 5165 test.sort(undefined);
afe42d0… ragelink 5166 });
afe42d0… ragelink 5167 // V8 bug
afe42d0… ragelink 5168 var FAILS_ON_NULL = fails(function () {
afe42d0… ragelink 5169 test.sort(null);
afe42d0… ragelink 5170 });
afe42d0… ragelink 5171 // Old WebKit
afe42d0… ragelink 5172 var STRICT_METHOD = arrayMethodIsStrict('sort');
afe42d0… ragelink 5173
afe42d0… ragelink 5174 var STABLE_SORT = !fails(function () {
afe42d0… ragelink 5175 // feature detection can be too slow, so check engines versions
afe42d0… ragelink 5176 if (V8) return V8 < 70;
afe42d0… ragelink 5177 if (FF && FF > 3) return;
afe42d0… ragelink 5178 if (IE_OR_EDGE) return true;
afe42d0… ragelink 5179 if (WEBKIT) return WEBKIT < 603;
afe42d0… ragelink 5180
afe42d0… ragelink 5181 var result = '';
afe42d0… ragelink 5182 var code, chr, value, index;
afe42d0… ragelink 5183
afe42d0… ragelink 5184 // generate an array with more 512 elements (Chakra and old V8 fails only in this case)
afe42d0… ragelink 5185 for (code = 65; code < 76; code++) {
afe42d0… ragelink 5186 chr = String.fromCharCode(code);
afe42d0… ragelink 5187
afe42d0… ragelink 5188 switch (code) {
afe42d0… ragelink 5189 case 66: case 69: case 70: case 72: value = 3; break;
afe42d0… ragelink 5190 case 68: case 71: value = 4; break;
afe42d0… ragelink 5191 default: value = 2;
afe42d0… ragelink 5192 }
afe42d0… ragelink 5193
afe42d0… ragelink 5194 for (index = 0; index < 47; index++) {
afe42d0… ragelink 5195 test.push({ k: chr + index, v: value });
afe42d0… ragelink 5196 }
afe42d0… ragelink 5197 }
afe42d0… ragelink 5198
afe42d0… ragelink 5199 test.sort(function (a, b) { return b.v - a.v; });
afe42d0… ragelink 5200
afe42d0… ragelink 5201 for (index = 0; index < test.length; index++) {
afe42d0… ragelink 5202 chr = test[index].k.charAt(0);
afe42d0… ragelink 5203 if (result.charAt(result.length - 1) !== chr) result += chr;
afe42d0… ragelink 5204 }
afe42d0… ragelink 5205
afe42d0… ragelink 5206 return result !== 'DGBEFHACIJK';
afe42d0… ragelink 5207 });
afe42d0… ragelink 5208
afe42d0… ragelink 5209 var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;
afe42d0… ragelink 5210
afe42d0… ragelink 5211 var getSortCompare = function (comparefn) {
afe42d0… ragelink 5212 return function (x, y) {
afe42d0… ragelink 5213 if (y === undefined) return -1;
afe42d0… ragelink 5214 if (x === undefined) return 1;
afe42d0… ragelink 5215 if (comparefn !== undefined) return +comparefn(x, y) || 0;
afe42d0… ragelink 5216 return toString(x) > toString(y) ? 1 : -1;
afe42d0… ragelink 5217 };
afe42d0… ragelink 5218 };
afe42d0… ragelink 5219
afe42d0… ragelink 5220 // `Array.prototype.sort` method
afe42d0… ragelink 5221 // https://tc39.es/ecma262/#sec-array.prototype.sort
afe42d0… ragelink 5222 $({ target: 'Array', proto: true, forced: FORCED }, {
afe42d0… ragelink 5223 sort: function sort(comparefn) {
afe42d0… ragelink 5224 if (comparefn !== undefined) aCallable(comparefn);
afe42d0… ragelink 5225
afe42d0… ragelink 5226 var array = toObject(this);
afe42d0… ragelink 5227
afe42d0… ragelink 5228 if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);
afe42d0… ragelink 5229
afe42d0… ragelink 5230 var items = [];
afe42d0… ragelink 5231 var arrayLength = lengthOfArrayLike(array);
afe42d0… ragelink 5232 var itemsLength, index;
afe42d0… ragelink 5233
afe42d0… ragelink 5234 for (index = 0; index < arrayLength; index++) {
afe42d0… ragelink 5235 if (index in array) push(items, array[index]);
afe42d0… ragelink 5236 }
afe42d0… ragelink 5237
afe42d0… ragelink 5238 internalSort(items, getSortCompare(comparefn));
afe42d0… ragelink 5239
afe42d0… ragelink 5240 itemsLength = items.length;
afe42d0… ragelink 5241 index = 0;
afe42d0… ragelink 5242
afe42d0… ragelink 5243 while (index < itemsLength) array[index] = items[index++];
afe42d0… ragelink 5244 while (index < arrayLength) delete array[index++];
afe42d0… ragelink 5245
afe42d0… ragelink 5246 return array;
afe42d0… ragelink 5247 }
afe42d0… ragelink 5248 });
afe42d0… ragelink 5249
afe42d0… ragelink 5250 },{"../internals/a-callable":57,"../internals/array-method-is-strict":66,"../internals/array-sort":69,"../internals/engine-ff-version":86,"../internals/engine-is-ie-or-edge":87,"../internals/engine-v8-version":89,"../internals/engine-webkit-version":90,"../internals/export":93,"../internals/fails":94,"../internals/function-uncurry-this":99,"../internals/length-of-array-like":123,"../internals/to-object":157,"../internals/to-string":161}],176:[function(require,module,exports){
afe42d0… ragelink 5251 var global = require('../internals/global');
afe42d0… ragelink 5252 var setToStringTag = require('../internals/set-to-string-tag');
afe42d0… ragelink 5253
afe42d0… ragelink 5254 // JSON[@@toStringTag] property
afe42d0… ragelink 5255 // https://tc39.es/ecma262/#sec-json-@@tostringtag
afe42d0… ragelink 5256 setToStringTag(global.JSON, 'JSON', true);
afe42d0… ragelink 5257
afe42d0… ragelink 5258 },{"../internals/global":104,"../internals/set-to-string-tag":147}],177:[function(require,module,exports){
afe42d0… ragelink 5259 // empty
afe42d0… ragelink 5260
afe42d0… ragelink 5261 },{}],178:[function(require,module,exports){
afe42d0… ragelink 5262 var $ = require('../internals/export');
afe42d0… ragelink 5263 var DESCRIPTORS = require('../internals/descriptors');
afe42d0… ragelink 5264 var create = require('../internals/object-create');
afe42d0… ragelink 5265
afe42d0… ragelink 5266 // `Object.create` method
afe42d0… ragelink 5267 // https://tc39.es/ecma262/#sec-object.create
afe42d0… ragelink 5268 $({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {
afe42d0… ragelink 5269 create: create
afe42d0… ragelink 5270 });
afe42d0… ragelink 5271
afe42d0… ragelink 5272 },{"../internals/descriptors":83,"../internals/export":93,"../internals/object-create":127}],179:[function(require,module,exports){
afe42d0… ragelink 5273 var $ = require('../internals/export');
afe42d0… ragelink 5274 var DESCRIPTORS = require('../internals/descriptors');
afe42d0… ragelink 5275 var objectDefinePropertyModile = require('../internals/object-define-property');
afe42d0… ragelink 5276
afe42d0… ragelink 5277 // `Object.defineProperty` method
afe42d0… ragelink 5278 // https://tc39.es/ecma262/#sec-object.defineproperty
afe42d0… ragelink 5279 $({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {
afe42d0… ragelink 5280 defineProperty: objectDefinePropertyModile.f
afe42d0… ragelink 5281 });
afe42d0… ragelink 5282
afe42d0… ragelink 5283 },{"../internals/descriptors":83,"../internals/export":93,"../internals/object-define-property":129}],180:[function(require,module,exports){
afe42d0… ragelink 5284 arguments[4][177][0].apply(exports,arguments)
afe42d0… ragelink 5285 },{"dup":177}],181:[function(require,module,exports){
afe42d0… ragelink 5286 var $ = require('../internals/export');
afe42d0… ragelink 5287 var $parseInt = require('../internals/number-parse-int');
afe42d0… ragelink 5288
afe42d0… ragelink 5289 // `parseInt` method
afe42d0… ragelink 5290 // https://tc39.es/ecma262/#sec-parseint-string-radix
afe42d0… ragelink 5291 $({ global: true, forced: parseInt != $parseInt }, {
afe42d0… ragelink 5292 parseInt: $parseInt
afe42d0… ragelink 5293 });
afe42d0… ragelink 5294
afe42d0… ragelink 5295 },{"../internals/export":93,"../internals/number-parse-int":126}],182:[function(require,module,exports){
afe42d0… ragelink 5296 arguments[4][177][0].apply(exports,arguments)
afe42d0… ragelink 5297 },{"dup":177}],183:[function(require,module,exports){
afe42d0… ragelink 5298 arguments[4][177][0].apply(exports,arguments)
afe42d0… ragelink 5299 },{"dup":177}],184:[function(require,module,exports){
afe42d0… ragelink 5300 'use strict';
afe42d0… ragelink 5301 var charAt = require('../internals/string-multibyte').charAt;
afe42d0… ragelink 5302 var toString = require('../internals/to-string');
afe42d0… ragelink 5303 var InternalStateModule = require('../internals/internal-state');
afe42d0… ragelink 5304 var defineIterator = require('../internals/define-iterator');
afe42d0… ragelink 5305
afe42d0… ragelink 5306 var STRING_ITERATOR = 'String Iterator';
afe42d0… ragelink 5307 var setInternalState = InternalStateModule.set;
afe42d0… ragelink 5308 var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
afe42d0… ragelink 5309
afe42d0… ragelink 5310 // `String.prototype[@@iterator]` method
afe42d0… ragelink 5311 // https://tc39.es/ecma262/#sec-string.prototype-@@iterator
afe42d0… ragelink 5312 defineIterator(String, 'String', function (iterated) {
afe42d0… ragelink 5313 setInternalState(this, {
afe42d0… ragelink 5314 type: STRING_ITERATOR,
afe42d0… ragelink 5315 string: toString(iterated),
afe42d0… ragelink 5316 index: 0
afe42d0… ragelink 5317 });
afe42d0… ragelink 5318 // `%StringIteratorPrototype%.next` method
afe42d0… ragelink 5319 // https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
afe42d0… ragelink 5320 }, function next() {
afe42d0… ragelink 5321 var state = getInternalState(this);
afe42d0… ragelink 5322 var string = state.string;
afe42d0… ragelink 5323 var index = state.index;
afe42d0… ragelink 5324 var point;
afe42d0… ragelink 5325 if (index >= string.length) return { value: undefined, done: true };
afe42d0… ragelink 5326 point = charAt(string, index);
afe42d0… ragelink 5327 state.index += point.length;
afe42d0… ragelink 5328 return { value: point, done: false };
afe42d0… ragelink 5329 });
afe42d0… ragelink 5330
afe42d0… ragelink 5331 },{"../internals/define-iterator":81,"../internals/internal-state":111,"../internals/string-multibyte":151,"../internals/to-string":161}],185:[function(require,module,exports){
afe42d0… ragelink 5332 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5333
afe42d0… ragelink 5334 // `Symbol.asyncIterator` well-known symbol
afe42d0… ragelink 5335 // https://tc39.es/ecma262/#sec-symbol.asynciterator
afe42d0… ragelink 5336 defineWellKnownSymbol('asyncIterator');
afe42d0… ragelink 5337
afe42d0… ragelink 5338 },{"../internals/define-well-known-symbol":82}],186:[function(require,module,exports){
afe42d0… ragelink 5339 arguments[4][177][0].apply(exports,arguments)
afe42d0… ragelink 5340 },{"dup":177}],187:[function(require,module,exports){
afe42d0… ragelink 5341 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5342
afe42d0… ragelink 5343 // `Symbol.hasInstance` well-known symbol
afe42d0… ragelink 5344 // https://tc39.es/ecma262/#sec-symbol.hasinstance
afe42d0… ragelink 5345 defineWellKnownSymbol('hasInstance');
afe42d0… ragelink 5346
afe42d0… ragelink 5347 },{"../internals/define-well-known-symbol":82}],188:[function(require,module,exports){
afe42d0… ragelink 5348 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5349
afe42d0… ragelink 5350 // `Symbol.isConcatSpreadable` well-known symbol
afe42d0… ragelink 5351 // https://tc39.es/ecma262/#sec-symbol.isconcatspreadable
afe42d0… ragelink 5352 defineWellKnownSymbol('isConcatSpreadable');
afe42d0… ragelink 5353
afe42d0… ragelink 5354 },{"../internals/define-well-known-symbol":82}],189:[function(require,module,exports){
afe42d0… ragelink 5355 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5356
afe42d0… ragelink 5357 // `Symbol.iterator` well-known symbol
afe42d0… ragelink 5358 // https://tc39.es/ecma262/#sec-symbol.iterator
afe42d0… ragelink 5359 defineWellKnownSymbol('iterator');
afe42d0… ragelink 5360
afe42d0… ragelink 5361 },{"../internals/define-well-known-symbol":82}],190:[function(require,module,exports){
afe42d0… ragelink 5362 'use strict';
afe42d0… ragelink 5363 var $ = require('../internals/export');
afe42d0… ragelink 5364 var global = require('../internals/global');
afe42d0… ragelink 5365 var getBuiltIn = require('../internals/get-built-in');
afe42d0… ragelink 5366 var apply = require('../internals/function-apply');
afe42d0… ragelink 5367 var call = require('../internals/function-call');
afe42d0… ragelink 5368 var uncurryThis = require('../internals/function-uncurry-this');
afe42d0… ragelink 5369 var IS_PURE = require('../internals/is-pure');
afe42d0… ragelink 5370 var DESCRIPTORS = require('../internals/descriptors');
afe42d0… ragelink 5371 var NATIVE_SYMBOL = require('../internals/native-symbol');
afe42d0… ragelink 5372 var fails = require('../internals/fails');
afe42d0… ragelink 5373 var hasOwn = require('../internals/has-own-property');
afe42d0… ragelink 5374 var isArray = require('../internals/is-array');
afe42d0… ragelink 5375 var isCallable = require('../internals/is-callable');
afe42d0… ragelink 5376 var isObject = require('../internals/is-object');
afe42d0… ragelink 5377 var isPrototypeOf = require('../internals/object-is-prototype-of');
afe42d0… ragelink 5378 var isSymbol = require('../internals/is-symbol');
afe42d0… ragelink 5379 var anObject = require('../internals/an-object');
afe42d0… ragelink 5380 var toObject = require('../internals/to-object');
afe42d0… ragelink 5381 var toIndexedObject = require('../internals/to-indexed-object');
afe42d0… ragelink 5382 var toPropertyKey = require('../internals/to-property-key');
afe42d0… ragelink 5383 var $toString = require('../internals/to-string');
afe42d0… ragelink 5384 var createPropertyDescriptor = require('../internals/create-property-descriptor');
afe42d0… ragelink 5385 var nativeObjectCreate = require('../internals/object-create');
afe42d0… ragelink 5386 var objectKeys = require('../internals/object-keys');
afe42d0… ragelink 5387 var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');
afe42d0… ragelink 5388 var getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');
afe42d0… ragelink 5389 var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
afe42d0… ragelink 5390 var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
afe42d0… ragelink 5391 var definePropertyModule = require('../internals/object-define-property');
afe42d0… ragelink 5392 var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
afe42d0… ragelink 5393 var arraySlice = require('../internals/array-slice');
afe42d0… ragelink 5394 var redefine = require('../internals/redefine');
afe42d0… ragelink 5395 var shared = require('../internals/shared');
afe42d0… ragelink 5396 var sharedKey = require('../internals/shared-key');
afe42d0… ragelink 5397 var hiddenKeys = require('../internals/hidden-keys');
afe42d0… ragelink 5398 var uid = require('../internals/uid');
afe42d0… ragelink 5399 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 5400 var wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');
afe42d0… ragelink 5401 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5402 var setToStringTag = require('../internals/set-to-string-tag');
afe42d0… ragelink 5403 var InternalStateModule = require('../internals/internal-state');
afe42d0… ragelink 5404 var $forEach = require('../internals/array-iteration').forEach;
afe42d0… ragelink 5405
afe42d0… ragelink 5406 var HIDDEN = sharedKey('hidden');
afe42d0… ragelink 5407 var SYMBOL = 'Symbol';
afe42d0… ragelink 5408 var PROTOTYPE = 'prototype';
afe42d0… ragelink 5409 var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
afe42d0… ragelink 5410
afe42d0… ragelink 5411 var setInternalState = InternalStateModule.set;
afe42d0… ragelink 5412 var getInternalState = InternalStateModule.getterFor(SYMBOL);
afe42d0… ragelink 5413
afe42d0… ragelink 5414 var ObjectPrototype = Object[PROTOTYPE];
afe42d0… ragelink 5415 var $Symbol = global.Symbol;
afe42d0… ragelink 5416 var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];
afe42d0… ragelink 5417 var TypeError = global.TypeError;
afe42d0… ragelink 5418 var QObject = global.QObject;
afe42d0… ragelink 5419 var $stringify = getBuiltIn('JSON', 'stringify');
afe42d0… ragelink 5420 var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
afe42d0… ragelink 5421 var nativeDefineProperty = definePropertyModule.f;
afe42d0… ragelink 5422 var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
afe42d0… ragelink 5423 var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
afe42d0… ragelink 5424 var push = uncurryThis([].push);
afe42d0… ragelink 5425
afe42d0… ragelink 5426 var AllSymbols = shared('symbols');
afe42d0… ragelink 5427 var ObjectPrototypeSymbols = shared('op-symbols');
afe42d0… ragelink 5428 var StringToSymbolRegistry = shared('string-to-symbol-registry');
afe42d0… ragelink 5429 var SymbolToStringRegistry = shared('symbol-to-string-registry');
afe42d0… ragelink 5430 var WellKnownSymbolsStore = shared('wks');
afe42d0… ragelink 5431
afe42d0… ragelink 5432 // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
afe42d0… ragelink 5433 var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
afe42d0… ragelink 5434
afe42d0… ragelink 5435 // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
afe42d0… ragelink 5436 var setSymbolDescriptor = DESCRIPTORS && fails(function () {
afe42d0… ragelink 5437 return nativeObjectCreate(nativeDefineProperty({}, 'a', {
afe42d0… ragelink 5438 get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }
afe42d0… ragelink 5439 })).a != 7;
afe42d0… ragelink 5440 }) ? function (O, P, Attributes) {
afe42d0… ragelink 5441 var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
afe42d0… ragelink 5442 if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
afe42d0… ragelink 5443 nativeDefineProperty(O, P, Attributes);
afe42d0… ragelink 5444 if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
afe42d0… ragelink 5445 nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
afe42d0… ragelink 5446 }
afe42d0… ragelink 5447 } : nativeDefineProperty;
afe42d0… ragelink 5448
afe42d0… ragelink 5449 var wrap = function (tag, description) {
afe42d0… ragelink 5450 var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);
afe42d0… ragelink 5451 setInternalState(symbol, {
afe42d0… ragelink 5452 type: SYMBOL,
afe42d0… ragelink 5453 tag: tag,
afe42d0… ragelink 5454 description: description
afe42d0… ragelink 5455 });
afe42d0… ragelink 5456 if (!DESCRIPTORS) symbol.description = description;
afe42d0… ragelink 5457 return symbol;
afe42d0… ragelink 5458 };
afe42d0… ragelink 5459
afe42d0… ragelink 5460 var $defineProperty = function defineProperty(O, P, Attributes) {
afe42d0… ragelink 5461 if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
afe42d0… ragelink 5462 anObject(O);
afe42d0… ragelink 5463 var key = toPropertyKey(P);
afe42d0… ragelink 5464 anObject(Attributes);
afe42d0… ragelink 5465 if (hasOwn(AllSymbols, key)) {
afe42d0… ragelink 5466 if (!Attributes.enumerable) {
afe42d0… ragelink 5467 if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
afe42d0… ragelink 5468 O[HIDDEN][key] = true;
afe42d0… ragelink 5469 } else {
afe42d0… ragelink 5470 if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
afe42d0… ragelink 5471 Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
afe42d0… ragelink 5472 } return setSymbolDescriptor(O, key, Attributes);
afe42d0… ragelink 5473 } return nativeDefineProperty(O, key, Attributes);
afe42d0… ragelink 5474 };
afe42d0… ragelink 5475
afe42d0… ragelink 5476 var $defineProperties = function defineProperties(O, Properties) {
afe42d0… ragelink 5477 anObject(O);
afe42d0… ragelink 5478 var properties = toIndexedObject(Properties);
afe42d0… ragelink 5479 var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
afe42d0… ragelink 5480 $forEach(keys, function (key) {
afe42d0… ragelink 5481 if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);
afe42d0… ragelink 5482 });
afe42d0… ragelink 5483 return O;
afe42d0… ragelink 5484 };
afe42d0… ragelink 5485
afe42d0… ragelink 5486 var $create = function create(O, Properties) {
afe42d0… ragelink 5487 return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
afe42d0… ragelink 5488 };
afe42d0… ragelink 5489
afe42d0… ragelink 5490 var $propertyIsEnumerable = function propertyIsEnumerable(V) {
afe42d0… ragelink 5491 var P = toPropertyKey(V);
afe42d0… ragelink 5492 var enumerable = call(nativePropertyIsEnumerable, this, P);
afe42d0… ragelink 5493 if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;
afe42d0… ragelink 5494 return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]
afe42d0… ragelink 5495 ? enumerable : true;
afe42d0… ragelink 5496 };
afe42d0… ragelink 5497
afe42d0… ragelink 5498 var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
afe42d0… ragelink 5499 var it = toIndexedObject(O);
afe42d0… ragelink 5500 var key = toPropertyKey(P);
afe42d0… ragelink 5501 if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;
afe42d0… ragelink 5502 var descriptor = nativeGetOwnPropertyDescriptor(it, key);
afe42d0… ragelink 5503 if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {
afe42d0… ragelink 5504 descriptor.enumerable = true;
afe42d0… ragelink 5505 }
afe42d0… ragelink 5506 return descriptor;
afe42d0… ragelink 5507 };
afe42d0… ragelink 5508
afe42d0… ragelink 5509 var $getOwnPropertyNames = function getOwnPropertyNames(O) {
afe42d0… ragelink 5510 var names = nativeGetOwnPropertyNames(toIndexedObject(O));
afe42d0… ragelink 5511 var result = [];
afe42d0… ragelink 5512 $forEach(names, function (key) {
afe42d0… ragelink 5513 if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);
afe42d0… ragelink 5514 });
afe42d0… ragelink 5515 return result;
afe42d0… ragelink 5516 };
afe42d0… ragelink 5517
afe42d0… ragelink 5518 var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
afe42d0… ragelink 5519 var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
afe42d0… ragelink 5520 var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
afe42d0… ragelink 5521 var result = [];
afe42d0… ragelink 5522 $forEach(names, function (key) {
afe42d0… ragelink 5523 if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {
afe42d0… ragelink 5524 push(result, AllSymbols[key]);
afe42d0… ragelink 5525 }
afe42d0… ragelink 5526 });
afe42d0… ragelink 5527 return result;
afe42d0… ragelink 5528 };
afe42d0… ragelink 5529
afe42d0… ragelink 5530 // `Symbol` constructor
afe42d0… ragelink 5531 // https://tc39.es/ecma262/#sec-symbol-constructor
afe42d0… ragelink 5532 if (!NATIVE_SYMBOL) {
afe42d0… ragelink 5533 $Symbol = function Symbol() {
afe42d0… ragelink 5534 if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');
afe42d0… ragelink 5535 var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);
afe42d0… ragelink 5536 var tag = uid(description);
afe42d0… ragelink 5537 var setter = function (value) {
afe42d0… ragelink 5538 if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);
afe42d0… ragelink 5539 if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
afe42d0… ragelink 5540 setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
afe42d0… ragelink 5541 };
afe42d0… ragelink 5542 if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
afe42d0… ragelink 5543 return wrap(tag, description);
afe42d0… ragelink 5544 };
afe42d0… ragelink 5545
afe42d0… ragelink 5546 SymbolPrototype = $Symbol[PROTOTYPE];
afe42d0… ragelink 5547
afe42d0… ragelink 5548 redefine(SymbolPrototype, 'toString', function toString() {
afe42d0… ragelink 5549 return getInternalState(this).tag;
afe42d0… ragelink 5550 });
afe42d0… ragelink 5551
afe42d0… ragelink 5552 redefine($Symbol, 'withoutSetter', function (description) {
afe42d0… ragelink 5553 return wrap(uid(description), description);
afe42d0… ragelink 5554 });
afe42d0… ragelink 5555
afe42d0… ragelink 5556 propertyIsEnumerableModule.f = $propertyIsEnumerable;
afe42d0… ragelink 5557 definePropertyModule.f = $defineProperty;
afe42d0… ragelink 5558 getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
afe42d0… ragelink 5559 getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
afe42d0… ragelink 5560 getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
afe42d0… ragelink 5561
afe42d0… ragelink 5562 wrappedWellKnownSymbolModule.f = function (name) {
afe42d0… ragelink 5563 return wrap(wellKnownSymbol(name), name);
afe42d0… ragelink 5564 };
afe42d0… ragelink 5565
afe42d0… ragelink 5566 if (DESCRIPTORS) {
afe42d0… ragelink 5567 // https://github.com/tc39/proposal-Symbol-description
afe42d0… ragelink 5568 nativeDefineProperty(SymbolPrototype, 'description', {
afe42d0… ragelink 5569 configurable: true,
afe42d0… ragelink 5570 get: function description() {
afe42d0… ragelink 5571 return getInternalState(this).description;
afe42d0… ragelink 5572 }
afe42d0… ragelink 5573 });
afe42d0… ragelink 5574 if (!IS_PURE) {
afe42d0… ragelink 5575 redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
afe42d0… ragelink 5576 }
afe42d0… ragelink 5577 }
afe42d0… ragelink 5578 }
afe42d0… ragelink 5579
afe42d0… ragelink 5580 $({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
afe42d0… ragelink 5581 Symbol: $Symbol
afe42d0… ragelink 5582 });
afe42d0… ragelink 5583
afe42d0… ragelink 5584 $forEach(objectKeys(WellKnownSymbolsStore), function (name) {
afe42d0… ragelink 5585 defineWellKnownSymbol(name);
afe42d0… ragelink 5586 });
afe42d0… ragelink 5587
afe42d0… ragelink 5588 $({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
afe42d0… ragelink 5589 // `Symbol.for` method
afe42d0… ragelink 5590 // https://tc39.es/ecma262/#sec-symbol.for
afe42d0… ragelink 5591 'for': function (key) {
afe42d0… ragelink 5592 var string = $toString(key);
afe42d0… ragelink 5593 if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
afe42d0… ragelink 5594 var symbol = $Symbol(string);
afe42d0… ragelink 5595 StringToSymbolRegistry[string] = symbol;
afe42d0… ragelink 5596 SymbolToStringRegistry[symbol] = string;
afe42d0… ragelink 5597 return symbol;
afe42d0… ragelink 5598 },
afe42d0… ragelink 5599 // `Symbol.keyFor` method
afe42d0… ragelink 5600 // https://tc39.es/ecma262/#sec-symbol.keyfor
afe42d0… ragelink 5601 keyFor: function keyFor(sym) {
afe42d0… ragelink 5602 if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
afe42d0… ragelink 5603 if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
afe42d0… ragelink 5604 },
afe42d0… ragelink 5605 useSetter: function () { USE_SETTER = true; },
afe42d0… ragelink 5606 useSimple: function () { USE_SETTER = false; }
afe42d0… ragelink 5607 });
afe42d0… ragelink 5608
afe42d0… ragelink 5609 $({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {
afe42d0… ragelink 5610 // `Object.create` method
afe42d0… ragelink 5611 // https://tc39.es/ecma262/#sec-object.create
afe42d0… ragelink 5612 create: $create,
afe42d0… ragelink 5613 // `Object.defineProperty` method
afe42d0… ragelink 5614 // https://tc39.es/ecma262/#sec-object.defineproperty
afe42d0… ragelink 5615 defineProperty: $defineProperty,
afe42d0… ragelink 5616 // `Object.defineProperties` method
afe42d0… ragelink 5617 // https://tc39.es/ecma262/#sec-object.defineproperties
afe42d0… ragelink 5618 defineProperties: $defineProperties,
afe42d0… ragelink 5619 // `Object.getOwnPropertyDescriptor` method
afe42d0… ragelink 5620 // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
afe42d0… ragelink 5621 getOwnPropertyDescriptor: $getOwnPropertyDescriptor
afe42d0… ragelink 5622 });
afe42d0… ragelink 5623
afe42d0… ragelink 5624 $({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {
afe42d0… ragelink 5625 // `Object.getOwnPropertyNames` method
afe42d0… ragelink 5626 // https://tc39.es/ecma262/#sec-object.getownpropertynames
afe42d0… ragelink 5627 getOwnPropertyNames: $getOwnPropertyNames,
afe42d0… ragelink 5628 // `Object.getOwnPropertySymbols` method
afe42d0… ragelink 5629 // https://tc39.es/ecma262/#sec-object.getownpropertysymbols
afe42d0… ragelink 5630 getOwnPropertySymbols: $getOwnPropertySymbols
afe42d0… ragelink 5631 });
afe42d0… ragelink 5632
afe42d0… ragelink 5633 // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
afe42d0… ragelink 5634 // https://bugs.chromium.org/p/v8/issues/detail?id=3443
afe42d0… ragelink 5635 $({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {
afe42d0… ragelink 5636 getOwnPropertySymbols: function getOwnPropertySymbols(it) {
afe42d0… ragelink 5637 return getOwnPropertySymbolsModule.f(toObject(it));
afe42d0… ragelink 5638 }
afe42d0… ragelink 5639 });
afe42d0… ragelink 5640
afe42d0… ragelink 5641 // `JSON.stringify` method behavior with symbols
afe42d0… ragelink 5642 // https://tc39.es/ecma262/#sec-json.stringify
afe42d0… ragelink 5643 if ($stringify) {
afe42d0… ragelink 5644 var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {
afe42d0… ragelink 5645 var symbol = $Symbol();
afe42d0… ragelink 5646 // MS Edge converts symbol values to JSON as {}
afe42d0… ragelink 5647 return $stringify([symbol]) != '[null]'
afe42d0… ragelink 5648 // WebKit converts symbol values to JSON as null
afe42d0… ragelink 5649 || $stringify({ a: symbol }) != '{}'
afe42d0… ragelink 5650 // V8 throws on boxed symbols
afe42d0… ragelink 5651 || $stringify(Object(symbol)) != '{}';
afe42d0… ragelink 5652 });
afe42d0… ragelink 5653
afe42d0… ragelink 5654 $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
afe42d0… ragelink 5655 // eslint-disable-next-line no-unused-vars -- required for `.length`
afe42d0… ragelink 5656 stringify: function stringify(it, replacer, space) {
afe42d0… ragelink 5657 var args = arraySlice(arguments);
afe42d0… ragelink 5658 var $replacer = replacer;
afe42d0… ragelink 5659 if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
afe42d0… ragelink 5660 if (!isArray(replacer)) replacer = function (key, value) {
afe42d0… ragelink 5661 if (isCallable($replacer)) value = call($replacer, this, key, value);
afe42d0… ragelink 5662 if (!isSymbol(value)) return value;
afe42d0… ragelink 5663 };
afe42d0… ragelink 5664 args[1] = replacer;
afe42d0… ragelink 5665 return apply($stringify, null, args);
afe42d0… ragelink 5666 }
afe42d0… ragelink 5667 });
afe42d0… ragelink 5668 }
afe42d0… ragelink 5669
afe42d0… ragelink 5670 // `Symbol.prototype[@@toPrimitive]` method
afe42d0… ragelink 5671 // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
afe42d0… ragelink 5672 if (!SymbolPrototype[TO_PRIMITIVE]) {
afe42d0… ragelink 5673 var valueOf = SymbolPrototype.valueOf;
afe42d0… ragelink 5674 // eslint-disable-next-line no-unused-vars -- required for .length
afe42d0… ragelink 5675 redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {
afe42d0… ragelink 5676 // TODO: improve hint logic
afe42d0… ragelink 5677 return call(valueOf, this);
afe42d0… ragelink 5678 });
afe42d0… ragelink 5679 }
afe42d0… ragelink 5680 // `Symbol.prototype[@@toStringTag]` property
afe42d0… ragelink 5681 // https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag
afe42d0… ragelink 5682 setToStringTag($Symbol, SYMBOL);
afe42d0… ragelink 5683
afe42d0… ragelink 5684 hiddenKeys[HIDDEN] = true;
afe42d0… ragelink 5685
afe42d0… ragelink 5686 },{"../internals/an-object":60,"../internals/array-iteration":64,"../internals/array-slice":68,"../internals/create-property-descriptor":79,"../internals/define-well-known-symbol":82,"../internals/descriptors":83,"../internals/export":93,"../internals/fails":94,"../internals/function-apply":95,"../internals/function-call":97,"../internals/function-uncurry-this":99,"../internals/get-built-in":100,"../internals/global":104,"../internals/has-own-property":105,"../internals/hidden-keys":106,"../internals/internal-state":111,"../internals/is-array":113,"../internals/is-callable":114,"../internals/is-object":117,"../internals/is-pure":118,"../internals/is-symbol":119,"../internals/native-symbol":124,"../internals/object-create":127,"../internals/object-define-property":129,"../internals/object-get-own-property-descriptor":130,"../internals/object-get-own-property-names":132,"../internals/object-get-own-property-names-external":131,"../internals/object-get-own-property-symbols":133,"../internals/object-is-prototype-of":135,"../internals/object-keys":137,"../internals/object-property-is-enumerable":138,"../internals/redefine":143,"../internals/set-to-string-tag":147,"../internals/shared":150,"../internals/shared-key":148,"../internals/to-indexed-object":154,"../internals/to-object":157,"../internals/to-property-key":159,"../internals/to-string":161,"../internals/uid":163,"../internals/well-known-symbol":166,"../internals/well-known-symbol-wrapped":165}],191:[function(require,module,exports){
afe42d0… ragelink 5687 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5688
afe42d0… ragelink 5689 // `Symbol.matchAll` well-known symbol
afe42d0… ragelink 5690 // https://tc39.es/ecma262/#sec-symbol.matchall
afe42d0… ragelink 5691 defineWellKnownSymbol('matchAll');
afe42d0… ragelink 5692
afe42d0… ragelink 5693 },{"../internals/define-well-known-symbol":82}],192:[function(require,module,exports){
afe42d0… ragelink 5694 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5695
afe42d0… ragelink 5696 // `Symbol.match` well-known symbol
afe42d0… ragelink 5697 // https://tc39.es/ecma262/#sec-symbol.match
afe42d0… ragelink 5698 defineWellKnownSymbol('match');
afe42d0… ragelink 5699
afe42d0… ragelink 5700 },{"../internals/define-well-known-symbol":82}],193:[function(require,module,exports){
afe42d0… ragelink 5701 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5702
afe42d0… ragelink 5703 // `Symbol.replace` well-known symbol
afe42d0… ragelink 5704 // https://tc39.es/ecma262/#sec-symbol.replace
afe42d0… ragelink 5705 defineWellKnownSymbol('replace');
afe42d0… ragelink 5706
afe42d0… ragelink 5707 },{"../internals/define-well-known-symbol":82}],194:[function(require,module,exports){
afe42d0… ragelink 5708 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5709
afe42d0… ragelink 5710 // `Symbol.search` well-known symbol
afe42d0… ragelink 5711 // https://tc39.es/ecma262/#sec-symbol.search
afe42d0… ragelink 5712 defineWellKnownSymbol('search');
afe42d0… ragelink 5713
afe42d0… ragelink 5714 },{"../internals/define-well-known-symbol":82}],195:[function(require,module,exports){
afe42d0… ragelink 5715 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5716
afe42d0… ragelink 5717 // `Symbol.species` well-known symbol
afe42d0… ragelink 5718 // https://tc39.es/ecma262/#sec-symbol.species
afe42d0… ragelink 5719 defineWellKnownSymbol('species');
afe42d0… ragelink 5720
afe42d0… ragelink 5721 },{"../internals/define-well-known-symbol":82}],196:[function(require,module,exports){
afe42d0… ragelink 5722 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5723
afe42d0… ragelink 5724 // `Symbol.split` well-known symbol
afe42d0… ragelink 5725 // https://tc39.es/ecma262/#sec-symbol.split
afe42d0… ragelink 5726 defineWellKnownSymbol('split');
afe42d0… ragelink 5727
afe42d0… ragelink 5728 },{"../internals/define-well-known-symbol":82}],197:[function(require,module,exports){
afe42d0… ragelink 5729 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5730
afe42d0… ragelink 5731 // `Symbol.toPrimitive` well-known symbol
afe42d0… ragelink 5732 // https://tc39.es/ecma262/#sec-symbol.toprimitive
afe42d0… ragelink 5733 defineWellKnownSymbol('toPrimitive');
afe42d0… ragelink 5734
afe42d0… ragelink 5735 },{"../internals/define-well-known-symbol":82}],198:[function(require,module,exports){
afe42d0… ragelink 5736 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5737
afe42d0… ragelink 5738 // `Symbol.toStringTag` well-known symbol
afe42d0… ragelink 5739 // https://tc39.es/ecma262/#sec-symbol.tostringtag
afe42d0… ragelink 5740 defineWellKnownSymbol('toStringTag');
afe42d0… ragelink 5741
afe42d0… ragelink 5742 },{"../internals/define-well-known-symbol":82}],199:[function(require,module,exports){
afe42d0… ragelink 5743 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5744
afe42d0… ragelink 5745 // `Symbol.unscopables` well-known symbol
afe42d0… ragelink 5746 // https://tc39.es/ecma262/#sec-symbol.unscopables
afe42d0… ragelink 5747 defineWellKnownSymbol('unscopables');
afe42d0… ragelink 5748
afe42d0… ragelink 5749 },{"../internals/define-well-known-symbol":82}],200:[function(require,module,exports){
afe42d0… ragelink 5750 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5751
afe42d0… ragelink 5752 // `Symbol.asyncDispose` well-known symbol
afe42d0… ragelink 5753 // https://github.com/tc39/proposal-using-statement
afe42d0… ragelink 5754 defineWellKnownSymbol('asyncDispose');
afe42d0… ragelink 5755
afe42d0… ragelink 5756 },{"../internals/define-well-known-symbol":82}],201:[function(require,module,exports){
afe42d0… ragelink 5757 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5758
afe42d0… ragelink 5759 // `Symbol.dispose` well-known symbol
afe42d0… ragelink 5760 // https://github.com/tc39/proposal-using-statement
afe42d0… ragelink 5761 defineWellKnownSymbol('dispose');
afe42d0… ragelink 5762
afe42d0… ragelink 5763 },{"../internals/define-well-known-symbol":82}],202:[function(require,module,exports){
afe42d0… ragelink 5764 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5765
afe42d0… ragelink 5766 // `Symbol.matcher` well-known symbol
afe42d0… ragelink 5767 // https://github.com/tc39/proposal-pattern-matching
afe42d0… ragelink 5768 defineWellKnownSymbol('matcher');
afe42d0… ragelink 5769
afe42d0… ragelink 5770 },{"../internals/define-well-known-symbol":82}],203:[function(require,module,exports){
afe42d0… ragelink 5771 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5772
afe42d0… ragelink 5773 // `Symbol.metadata` well-known symbol
afe42d0… ragelink 5774 // https://github.com/tc39/proposal-decorators
afe42d0… ragelink 5775 defineWellKnownSymbol('metadata');
afe42d0… ragelink 5776
afe42d0… ragelink 5777 },{"../internals/define-well-known-symbol":82}],204:[function(require,module,exports){
afe42d0… ragelink 5778 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5779
afe42d0… ragelink 5780 // `Symbol.observable` well-known symbol
afe42d0… ragelink 5781 // https://github.com/tc39/proposal-observable
afe42d0… ragelink 5782 defineWellKnownSymbol('observable');
afe42d0… ragelink 5783
afe42d0… ragelink 5784 },{"../internals/define-well-known-symbol":82}],205:[function(require,module,exports){
afe42d0… ragelink 5785 // TODO: remove from `core-js@4`
afe42d0… ragelink 5786 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5787
afe42d0… ragelink 5788 // `Symbol.patternMatch` well-known symbol
afe42d0… ragelink 5789 // https://github.com/tc39/proposal-pattern-matching
afe42d0… ragelink 5790 defineWellKnownSymbol('patternMatch');
afe42d0… ragelink 5791
afe42d0… ragelink 5792 },{"../internals/define-well-known-symbol":82}],206:[function(require,module,exports){
afe42d0… ragelink 5793 // TODO: remove from `core-js@4`
afe42d0… ragelink 5794 var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
afe42d0… ragelink 5795
afe42d0… ragelink 5796 defineWellKnownSymbol('replaceAll');
afe42d0… ragelink 5797
afe42d0… ragelink 5798 },{"../internals/define-well-known-symbol":82}],207:[function(require,module,exports){
afe42d0… ragelink 5799 require('../modules/es.array.iterator');
afe42d0… ragelink 5800 var DOMIterables = require('../internals/dom-iterables');
afe42d0… ragelink 5801 var global = require('../internals/global');
afe42d0… ragelink 5802 var classof = require('../internals/classof');
afe42d0… ragelink 5803 var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
afe42d0… ragelink 5804 var Iterators = require('../internals/iterators');
afe42d0… ragelink 5805 var wellKnownSymbol = require('../internals/well-known-symbol');
afe42d0… ragelink 5806
afe42d0… ragelink 5807 var TO_STRING_TAG = wellKnownSymbol('toStringTag');
afe42d0… ragelink 5808
afe42d0… ragelink 5809 for (var COLLECTION_NAME in DOMIterables) {
afe42d0… ragelink 5810 var Collection = global[COLLECTION_NAME];
afe42d0… ragelink 5811 var CollectionPrototype = Collection && Collection.prototype;
afe42d0… ragelink 5812 if (CollectionPrototype && classof(CollectionPrototype) !== TO_STRING_TAG) {
afe42d0… ragelink 5813 createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
afe42d0… ragelink 5814 }
afe42d0… ragelink 5815 Iterators[COLLECTION_NAME] = Iterators.Array;
afe42d0… ragelink 5816 }
afe42d0… ragelink 5817
afe42d0… ragelink 5818 },{"../internals/classof":75,"../internals/create-non-enumerable-property":78,"../internals/dom-iterables":85,"../internals/global":104,"../internals/iterators":122,"../internals/well-known-symbol":166,"../modules/es.array.iterator":173}],208:[function(require,module,exports){
afe42d0… ragelink 5819 var parent = require('../../es/array/from');
afe42d0… ragelink 5820
afe42d0… ragelink 5821 module.exports = parent;
afe42d0… ragelink 5822
afe42d0… ragelink 5823 },{"../../es/array/from":34}],209:[function(require,module,exports){
afe42d0… ragelink 5824 var parent = require('../../es/array/is-array');
afe42d0… ragelink 5825
afe42d0… ragelink 5826 module.exports = parent;
afe42d0… ragelink 5827
afe42d0… ragelink 5828 },{"../../es/array/is-array":35}],210:[function(require,module,exports){
afe42d0… ragelink 5829 var parent = require('../../../es/array/virtual/for-each');
afe42d0… ragelink 5830
afe42d0… ragelink 5831 module.exports = parent;
afe42d0… ragelink 5832
afe42d0… ragelink 5833 },{"../../../es/array/virtual/for-each":37}],211:[function(require,module,exports){
afe42d0… ragelink 5834 var parent = require('../es/get-iterator-method');
afe42d0… ragelink 5835 require('../modules/web.dom-collections.iterator');
afe42d0… ragelink 5836
afe42d0… ragelink 5837 module.exports = parent;
afe42d0… ragelink 5838
afe42d0… ragelink 5839 },{"../es/get-iterator-method":41,"../modules/web.dom-collections.iterator":207}],212:[function(require,module,exports){
afe42d0… ragelink 5840 var parent = require('../../es/instance/concat');
afe42d0… ragelink 5841
afe42d0… ragelink 5842 module.exports = parent;
afe42d0… ragelink 5843
afe42d0… ragelink 5844 },{"../../es/instance/concat":42}],213:[function(require,module,exports){
afe42d0… ragelink 5845 var parent = require('../../es/instance/flags');
afe42d0… ragelink 5846
afe42d0… ragelink 5847 module.exports = parent;
afe42d0… ragelink 5848
afe42d0… ragelink 5849 },{"../../es/instance/flags":43}],214:[function(require,module,exports){
afe42d0… ragelink 5850 require('../../modules/web.dom-collections.iterator');
afe42d0… ragelink 5851 var classof = require('../../internals/classof');
afe42d0… ragelink 5852 var hasOwn = require('../../internals/has-own-property');
afe42d0… ragelink 5853 var isPrototypeOf = require('../../internals/object-is-prototype-of');
afe42d0… ragelink 5854 var method = require('../array/virtual/for-each');
afe42d0… ragelink 5855
afe42d0… ragelink 5856 var ArrayPrototype = Array.prototype;
afe42d0… ragelink 5857
afe42d0… ragelink 5858 var DOMIterables = {
afe42d0… ragelink 5859 DOMTokenList: true,
afe42d0… ragelink 5860 NodeList: true
afe42d0… ragelink 5861 };
afe42d0… ragelink 5862
afe42d0… ragelink 5863 module.exports = function (it) {
afe42d0… ragelink 5864 var own = it.forEach;
afe42d0… ragelink 5865 return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.forEach)
afe42d0… ragelink 5866 || hasOwn(DOMIterables, classof(it)) ? method : own;
afe42d0… ragelink 5867 };
afe42d0… ragelink 5868
afe42d0… ragelink 5869 },{"../../internals/classof":75,"../../internals/has-own-property":105,"../../internals/object-is-prototype-of":135,"../../modules/web.dom-collections.iterator":207,"../array/virtual/for-each":210}],215:[function(require,module,exports){
afe42d0… ragelink 5870 var parent = require('../../es/instance/index-of');
afe42d0… ragelink 5871
afe42d0… ragelink 5872 module.exports = parent;
afe42d0… ragelink 5873
afe42d0… ragelink 5874 },{"../../es/instance/index-of":44}],216:[function(require,module,exports){
afe42d0… ragelink 5875 var parent = require('../../es/instance/slice');
afe42d0… ragelink 5876
afe42d0… ragelink 5877 module.exports = parent;
afe42d0… ragelink 5878
afe42d0… ragelink 5879 },{"../../es/instance/slice":45}],217:[function(require,module,exports){
afe42d0… ragelink 5880 var parent = require('../../es/instance/sort');
afe42d0… ragelink 5881
afe42d0… ragelink 5882 module.exports = parent;
afe42d0… ragelink 5883
afe42d0… ragelink 5884 },{"../../es/instance/sort":46}],218:[function(require,module,exports){
afe42d0… ragelink 5885 var parent = require('../../es/object/create');
afe42d0… ragelink 5886
afe42d0… ragelink 5887 module.exports = parent;
afe42d0… ragelink 5888
afe42d0… ragelink 5889 },{"../../es/object/create":47}],219:[function(require,module,exports){
afe42d0… ragelink 5890 var parent = require('../../es/object/define-property');
afe42d0… ragelink 5891
afe42d0… ragelink 5892 module.exports = parent;
afe42d0… ragelink 5893
afe42d0… ragelink 5894 },{"../../es/object/define-property":48}],220:[function(require,module,exports){
afe42d0… ragelink 5895 var parent = require('../es/parse-int');
afe42d0… ragelink 5896
afe42d0… ragelink 5897 module.exports = parent;
afe42d0… ragelink 5898
afe42d0… ragelink 5899 },{"../es/parse-int":49}],221:[function(require,module,exports){
afe42d0… ragelink 5900 var parent = require('../../es/symbol');
afe42d0… ragelink 5901 require('../../modules/web.dom-collections.iterator');
afe42d0… ragelink 5902
afe42d0… ragelink 5903 module.exports = parent;
afe42d0… ragelink 5904
afe42d0… ragelink 5905 },{"../../es/symbol":51,"../../modules/web.dom-collections.iterator":207}],222:[function(require,module,exports){
afe42d0… ragelink 5906 module.exports = [
afe42d0… ragelink 5907 {
afe42d0… ragelink 5908 'name': 'C',
afe42d0… ragelink 5909 'alias': 'Other',
afe42d0… ragelink 5910 'isBmpLast': true,
afe42d0… ragelink 5911 'bmp': '\0-\x1F\x7F-\x9F\xAD\u0378\u0379\u0380-\u0383\u038B\u038D\u03A2\u0530\u0557\u0558\u058B\u058C\u0590\u05C8-\u05CF\u05EB-\u05EE\u05F5-\u0605\u061C\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB\u07FC\u082E\u082F\u083F\u085C\u085D\u085F\u086B-\u086F\u088F-\u0897\u08E2\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A77-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0BFF\u0C0D\u0C11\u0C29\u0C3A\u0C3B\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B\u0C5C\u0C5E\u0C5F\u0C64\u0C65\u0C70-\u0C76\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDC\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D50-\u0D53\u0D64\u0D65\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F6\u13F7\u13FE\u13FF\u169D-\u169F\u16F9-\u16FF\u1716-\u171E\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180E\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE\u1AAF\u1ACF-\u1AFF\u1B4D-\u1B4F\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C89-\u1C8F\u1CBB\u1CBC\u1CC8-\u1CCF\u1CFB-\u1CFF\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20C1-\u20CF\u20F1-\u20FF\u218C-\u218F\u2427-\u243F\u244B-\u245F\u2B74\u2B75\u2B96\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E5E-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u3130\u318F\u31E4-\u31EF\u321F\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA6F8-\uA6FF\uA7CB-\uA7CF\uA7D2\uA7D4\uA7DA-\uA7F1\uA82D-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C6-\uA8CD\uA8DA-\uA8DF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB6C-\uAB6F\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC3-\uFBD2\uFD90\uFD91\uFDC8-\uFDCE\uFDD0-\uFDEF\uFE1A-\uFE1F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF',
afe42d0… ragelink 5912 'astral': '\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCBD\uDCC3-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA0-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDD73-\uDD7A\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]'
afe42d0… ragelink 5913 },
afe42d0… ragelink 5914 {
afe42d0… ragelink 5915 'name': 'Cc',
afe42d0… ragelink 5916 'alias': 'Control',
afe42d0… ragelink 5917 'bmp': '\0-\x1F\x7F-\x9F'
afe42d0… ragelink 5918 },
afe42d0… ragelink 5919 {
afe42d0… ragelink 5920 'name': 'Cf',
afe42d0… ragelink 5921 'alias': 'Format',
afe42d0… ragelink 5922 'bmp': '\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB',
afe42d0… ragelink 5923 'astral': '\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC38]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]'
afe42d0… ragelink 5924 },
afe42d0… ragelink 5925 {
afe42d0… ragelink 5926 'name': 'Cn',
afe42d0… ragelink 5927 'alias': 'Unassigned',
afe42d0… ragelink 5928 'bmp': '\u0378\u0379\u0380-\u0383\u038B\u038D\u03A2\u0530\u0557\u0558\u058B\u058C\u0590\u05C8-\u05CF\u05EB-\u05EE\u05F5-\u05FF\u070E\u074B\u074C\u07B2-\u07BF\u07FB\u07FC\u082E\u082F\u083F\u085C\u085D\u085F\u086B-\u086F\u088F\u0892-\u0897\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A77-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0BFF\u0C0D\u0C11\u0C29\u0C3A\u0C3B\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B\u0C5C\u0C5E\u0C5F\u0C64\u0C65\u0C70-\u0C76\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDC\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D50-\u0D53\u0D64\u0D65\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F6\u13F7\u13FE\u13FF\u169D-\u169F\u16F9-\u16FF\u1716-\u171E\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE\u1AAF\u1ACF-\u1AFF\u1B4D-\u1B4F\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C89-\u1C8F\u1CBB\u1CBC\u1CC8-\u1CCF\u1CFB-\u1CFF\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u2065\u2072\u2073\u208F\u209D-\u209F\u20C1-\u20CF\u20F1-\u20FF\u218C-\u218F\u2427-\u243F\u244B-\u245F\u2B74\u2B75\u2B96\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E5E-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u3130\u318F\u31E4-\u31EF\u321F\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA6F8-\uA6FF\uA7CB-\uA7CF\uA7D2\uA7D4\uA7DA-\uA7F1\uA82D-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C6-\uA8CD\uA8DA-\uA8DF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB6C-\uAB6F\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC3-\uFBD2\uFD90\uFD91\uFDC8-\uFDCE\uFDD0-\uFDEF\uFE1A-\uFE1F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD\uFEFE\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFF8\uFFFE\uFFFF',
afe42d0… ragelink 5929 'astral': '\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCC3-\uDCCC\uDCCE\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDB7F][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F\uDC39-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA4-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00\uDC02-\uDC1F\uDC80-\uDCFF\uDDF0-\uDFFF]|[\uDBBF\uDBFF][\uDFFE\uDFFF]'
afe42d0… ragelink 5930 },
afe42d0… ragelink 5931 {
afe42d0… ragelink 5932 'name': 'Co',
afe42d0… ragelink 5933 'alias': 'Private_Use',
afe42d0… ragelink 5934 'bmp': '\uE000-\uF8FF',
afe42d0… ragelink 5935 'astral': '[\uDB80-\uDBBE\uDBC0-\uDBFE][\uDC00-\uDFFF]|[\uDBBF\uDBFF][\uDC00-\uDFFD]'
afe42d0… ragelink 5936 },
afe42d0… ragelink 5937 {
afe42d0… ragelink 5938 'name': 'Cs',
afe42d0… ragelink 5939 'alias': 'Surrogate',
afe42d0… ragelink 5940 'bmp': '\uD800-\uDFFF'
afe42d0… ragelink 5941 },
afe42d0… ragelink 5942 {
afe42d0… ragelink 5943 'name': 'L',
afe42d0… ragelink 5944 'alias': 'Letter',
afe42d0… ragelink 5945 'bmp': 'A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC',
afe42d0… ragelink 5946 'astral': '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]'
afe42d0… ragelink 5947 },
afe42d0… ragelink 5948 {
afe42d0… ragelink 5949 'name': 'LC',
afe42d0… ragelink 5950 'alias': 'Cased_Letter',
afe42d0… ragelink 5951 'bmp': 'A-Za-z\xB5\xC0-\xD6\xD8-\xF6\xF8-\u01BA\u01BC-\u01BF\u01C4-\u0293\u0295-\u02AF\u0370-\u0373\u0376\u0377\u037B-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0560-\u0588\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FD-\u10FF\u13A0-\u13F5\u13F8-\u13FD\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2134\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C7B\u2C7E-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA640-\uA66D\uA680-\uA69B\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F5\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A\uFF41-\uFF5A',
afe42d0… ragelink 5952 'astral': '\uD801[\uDC00-\uDC4F\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD806[\uDCA0-\uDCDF]|\uD81B[\uDE40-\uDE7F]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD00-\uDD43]'
afe42d0… ragelink 5953 },
afe42d0… ragelink 5954 {
afe42d0… ragelink 5955 'name': 'Ll',
afe42d0… ragelink 5956 'alias': 'Lowercase_Letter',
afe42d0… ragelink 5957 'bmp': 'a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7BB\uA7BD\uA7BF\uA7C1\uA7C3\uA7C8\uA7CA\uA7D1\uA7D3\uA7D5\uA7D7\uA7D9\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A',
afe42d0… ragelink 5958 'astral': '\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD22-\uDD43]'
afe42d0… ragelink 5959 },
afe42d0… ragelink 5960 {
afe42d0… ragelink 5961 'name': 'Lm',
afe42d0… ragelink 5962 'alias': 'Modifier_Letter',
afe42d0… ragelink 5963 'bmp': '\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u081A\u0824\u0828\u08C9\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C\uA69D\uA717-\uA71F\uA770\uA788\uA7F2-\uA7F4\uA7F8\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3\uAAF4\uAB5C-\uAB5F\uAB69\uFF70\uFF9E\uFF9F',
afe42d0… ragelink 5964 'astral': '\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD81A[\uDF40-\uDF43]|\uD81B[\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD838[\uDD37-\uDD3D]|\uD83A\uDD4B'
afe42d0… ragelink 5965 },
afe42d0… ragelink 5966 {
afe42d0… ragelink 5967 'name': 'Lo',
afe42d0… ragelink 5968 'alias': 'Other_Letter',
afe42d0… ragelink 5969 'bmp': '\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05EF-\u05F2\u0620-\u063F\u0641-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C8\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E45\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1100-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC',
afe42d0… ragelink 5970 'astral': '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF4A\uDF50]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD837\uDF0A|\uD838[\uDD00-\uDD2C\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]'
afe42d0… ragelink 5971 },
afe42d0… ragelink 5972 {
afe42d0… ragelink 5973 'name': 'Lt',
afe42d0… ragelink 5974 'alias': 'Titlecase_Letter',
afe42d0… ragelink 5975 'bmp': '\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC'
afe42d0… ragelink 5976 },
afe42d0… ragelink 5977 {
afe42d0… ragelink 5978 'name': 'Lu',
afe42d0… ragelink 5979 'alias': 'Uppercase_Letter',
afe42d0… ragelink 5980 'bmp': 'A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7D0\uA7D6\uA7D8\uA7F5\uFF21-\uFF3A',
afe42d0… ragelink 5981 'astral': '\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]'
afe42d0… ragelink 5982 },
afe42d0… ragelink 5983 {
afe42d0… ragelink 5984 'name': 'M',
afe42d0… ragelink 5985 'alias': 'Mark',
afe42d0… ragelink 5986 'bmp': '\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F',
afe42d0… ragelink 5987 'astral': '\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]'
afe42d0… ragelink 5988 },
afe42d0… ragelink 5989 {
afe42d0… ragelink 5990 'name': 'Mc',
afe42d0… ragelink 5991 'alias': 'Spacing_Mark',
afe42d0… ragelink 5992 'bmp': '\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BE-\u09C0\u09C7\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u1715\u1734\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF7\u302E\u302F\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC',
afe42d0… ragelink 5993 'astral': '\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3E\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB0-\uDCB2\uDCB9\uDCBB-\uDCBE\uDCC1\uDDAF-\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF20\uDF21\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD30-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD65\uDD66\uDD6D-\uDD72]'
afe42d0… ragelink 5994 },
afe42d0… ragelink 5995 {
afe42d0… ragelink 5996 'name': 'Me',
afe42d0… ragelink 5997 'alias': 'Enclosing_Mark',
afe42d0… ragelink 5998 'bmp': '\u0488\u0489\u1ABE\u20DD-\u20E0\u20E2-\u20E4\uA670-\uA672'
afe42d0… ragelink 5999 },
afe42d0… ragelink 6000 {
afe42d0… ragelink 6001 'name': 'Mn',
afe42d0… ragelink 6002 'alias': 'Nonspacing_Mark',
afe42d0… ragelink 6003 'bmp': '\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F',
afe42d0… ragelink 6004 'astral': '\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF40\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB3-\uDCB8\uDCBA\uDCBF\uDCC0\uDCC2\uDCC3\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]'
afe42d0… ragelink 6005 },
afe42d0… ragelink 6006 {
afe42d0… ragelink 6007 'name': 'N',
afe42d0… ragelink 6008 'alias': 'Number',
afe42d0… ragelink 6009 'bmp': '0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19',
afe42d0… ragelink 6010 'astral': '\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]'
afe42d0… ragelink 6011 },
afe42d0… ragelink 6012 {
afe42d0… ragelink 6013 'name': 'Nd',
afe42d0… ragelink 6014 'alias': 'Decimal_Number',
afe42d0… ragelink 6015 'bmp': '0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19',
afe42d0… ragelink 6016 'astral': '\uD801[\uDCA0-\uDCA9]|\uD803[\uDD30-\uDD39]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9\uDD50-\uDD59]|\uD807[\uDC50-\uDC59\uDD50-\uDD59\uDDA0-\uDDA9]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9]'
afe42d0… ragelink 6017 },
afe42d0… ragelink 6018 {
afe42d0… ragelink 6019 'name': 'Nl',
afe42d0… ragelink 6020 'alias': 'Letter_Number',
afe42d0… ragelink 6021 'bmp': '\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF',
afe42d0… ragelink 6022 'astral': '\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E]'
afe42d0… ragelink 6023 },
afe42d0… ragelink 6024 {
afe42d0… ragelink 6025 'name': 'No',
afe42d0… ragelink 6026 'alias': 'Other_Number',
afe42d0… ragelink 6027 'bmp': '\xB2\xB3\xB9\xBC-\xBE\u09F4-\u09F9\u0B72-\u0B77\u0BF0-\u0BF2\u0C78-\u0C7E\u0D58-\u0D5E\u0D70-\u0D78\u0F2A-\u0F33\u1369-\u137C\u17F0-\u17F9\u19DA\u2070\u2074-\u2079\u2080-\u2089\u2150-\u215F\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA830-\uA835',
afe42d0… ragelink 6028 'astral': '\uD800[\uDD07-\uDD33\uDD75-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC65\uDDE1-\uDDF4]|\uD805[\uDF3A\uDF3B]|\uD806[\uDCEA-\uDCF2]|\uD807[\uDC5A-\uDC6C\uDFC0-\uDFD4]|\uD81A[\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD83A[\uDCC7-\uDCCF]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]'
afe42d0… ragelink 6029 },
afe42d0… ragelink 6030 {
afe42d0… ragelink 6031 'name': 'P',
afe42d0… ragelink 6032 'alias': 'Punctuation',
afe42d0… ragelink 6033 'bmp': '!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65',
afe42d0… ragelink 6034 'astral': '\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]'
afe42d0… ragelink 6035 },
afe42d0… ragelink 6036 {
afe42d0… ragelink 6037 'name': 'Pc',
afe42d0… ragelink 6038 'alias': 'Connector_Punctuation',
afe42d0… ragelink 6039 'bmp': '_\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F'
afe42d0… ragelink 6040 },
afe42d0… ragelink 6041 {
afe42d0… ragelink 6042 'name': 'Pd',
afe42d0… ragelink 6043 'alias': 'Dash_Punctuation',
afe42d0… ragelink 6044 'bmp': '\\-\u058A\u05BE\u1400\u1806\u2010-\u2015\u2E17\u2E1A\u2E3A\u2E3B\u2E40\u2E5D\u301C\u3030\u30A0\uFE31\uFE32\uFE58\uFE63\uFF0D',
afe42d0… ragelink 6045 'astral': '\uD803\uDEAD'
afe42d0… ragelink 6046 },
afe42d0… ragelink 6047 {
afe42d0… ragelink 6048 'name': 'Pe',
afe42d0… ragelink 6049 'alias': 'Close_Punctuation',
afe42d0… ragelink 6050 'bmp': '\\)\\]\\}\u0F3B\u0F3D\u169C\u2046\u207E\u208E\u2309\u230B\u232A\u2769\u276B\u276D\u276F\u2771\u2773\u2775\u27C6\u27E7\u27E9\u27EB\u27ED\u27EF\u2984\u2986\u2988\u298A\u298C\u298E\u2990\u2992\u2994\u2996\u2998\u29D9\u29DB\u29FD\u2E23\u2E25\u2E27\u2E29\u2E56\u2E58\u2E5A\u2E5C\u3009\u300B\u300D\u300F\u3011\u3015\u3017\u3019\u301B\u301E\u301F\uFD3E\uFE18\uFE36\uFE38\uFE3A\uFE3C\uFE3E\uFE40\uFE42\uFE44\uFE48\uFE5A\uFE5C\uFE5E\uFF09\uFF3D\uFF5D\uFF60\uFF63'
afe42d0… ragelink 6051 },
afe42d0… ragelink 6052 {
afe42d0… ragelink 6053 'name': 'Pf',
afe42d0… ragelink 6054 'alias': 'Final_Punctuation',
afe42d0… ragelink 6055 'bmp': '\xBB\u2019\u201D\u203A\u2E03\u2E05\u2E0A\u2E0D\u2E1D\u2E21'
afe42d0… ragelink 6056 },
afe42d0… ragelink 6057 {
afe42d0… ragelink 6058 'name': 'Pi',
afe42d0… ragelink 6059 'alias': 'Initial_Punctuation',
afe42d0… ragelink 6060 'bmp': '\xAB\u2018\u201B\u201C\u201F\u2039\u2E02\u2E04\u2E09\u2E0C\u2E1C\u2E20'
afe42d0… ragelink 6061 },
afe42d0… ragelink 6062 {
afe42d0… ragelink 6063 'name': 'Po',
afe42d0… ragelink 6064 'alias': 'Other_Punctuation',
afe42d0… ragelink 6065 'bmp': '!-#%-\'\\*,\\.\\/:;\\?@\\\xA1\xA7\xB6\xB7\xBF\u037E\u0387\u055A-\u055F\u0589\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u166E\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u1805\u1807-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2016\u2017\u2020-\u2027\u2030-\u2038\u203B-\u203E\u2041-\u2043\u2047-\u2051\u2053\u2055-\u205E\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00\u2E01\u2E06-\u2E08\u2E0B\u2E0E-\u2E16\u2E18\u2E19\u2E1B\u2E1E\u2E1F\u2E2A-\u2E2E\u2E30-\u2E39\u2E3C-\u2E3F\u2E41\u2E43-\u2E4F\u2E52-\u2E54\u3001-\u3003\u303D\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFE10-\uFE16\uFE19\uFE30\uFE45\uFE46\uFE49-\uFE4C\uFE50-\uFE52\uFE54-\uFE57\uFE5F-\uFE61\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF07\uFF0A\uFF0C\uFF0E\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3C\uFF61\uFF64\uFF65',
afe42d0… ragelink 6066 'astral': '\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]'
afe42d0… ragelink 6067 },
afe42d0… ragelink 6068 {
afe42d0… ragelink 6069 'name': 'Ps',
afe42d0… ragelink 6070 'alias': 'Open_Punctuation',
afe42d0… ragelink 6071 'bmp': '\\(\\[\\{\u0F3A\u0F3C\u169B\u201A\u201E\u2045\u207D\u208D\u2308\u230A\u2329\u2768\u276A\u276C\u276E\u2770\u2772\u2774\u27C5\u27E6\u27E8\u27EA\u27EC\u27EE\u2983\u2985\u2987\u2989\u298B\u298D\u298F\u2991\u2993\u2995\u2997\u29D8\u29DA\u29FC\u2E22\u2E24\u2E26\u2E28\u2E42\u2E55\u2E57\u2E59\u2E5B\u3008\u300A\u300C\u300E\u3010\u3014\u3016\u3018\u301A\u301D\uFD3F\uFE17\uFE35\uFE37\uFE39\uFE3B\uFE3D\uFE3F\uFE41\uFE43\uFE47\uFE59\uFE5B\uFE5D\uFF08\uFF3B\uFF5B\uFF5F\uFF62'
afe42d0… ragelink 6072 },
afe42d0… ragelink 6073 {
afe42d0… ragelink 6074 'name': 'S',
afe42d0… ragelink 6075 'alias': 'Symbol',
afe42d0… ragelink 6076 'bmp': '\\$\\+<->\\^`\\|~\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\u0888\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-\u20C0\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-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD',
afe42d0… ragelink 6077 'astral': '\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|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\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\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]'
afe42d0… ragelink 6078 },
afe42d0… ragelink 6079 {
afe42d0… ragelink 6080 'name': 'Sc',
afe42d0… ragelink 6081 'alias': 'Currency_Symbol',
afe42d0… ragelink 6082 'bmp': '\\$\xA2-\xA5\u058F\u060B\u07FE\u07FF\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20C0\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6',
afe42d0… ragelink 6083 'astral': '\uD807[\uDFDD-\uDFE0]|\uD838\uDEFF|\uD83B\uDCB0'
afe42d0… ragelink 6084 },
afe42d0… ragelink 6085 {
afe42d0… ragelink 6086 'name': 'Sk',
afe42d0… ragelink 6087 'alias': 'Modifier_Symbol',
afe42d0… ragelink 6088 'bmp': '\\^`\xA8\xAF\xB4\xB8\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u0888\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u309B\u309C\uA700-\uA716\uA720\uA721\uA789\uA78A\uAB5B\uAB6A\uAB6B\uFBB2-\uFBC2\uFF3E\uFF40\uFFE3',
afe42d0… ragelink 6089 'astral': '\uD83C[\uDFFB-\uDFFF]'
afe42d0… ragelink 6090 },
afe42d0… ragelink 6091 {
afe42d0… ragelink 6092 'name': 'Sm',
afe42d0… ragelink 6093 'alias': 'Math_Symbol',
afe42d0… ragelink 6094 'bmp': '\\+<->\\|~\xAC\xB1\xD7\xF7\u03F6\u0606-\u0608\u2044\u2052\u207A-\u207C\u208A-\u208C\u2118\u2140-\u2144\u214B\u2190-\u2194\u219A\u219B\u21A0\u21A3\u21A6\u21AE\u21CE\u21CF\u21D2\u21D4\u21F4-\u22FF\u2320\u2321\u237C\u239B-\u23B3\u23DC-\u23E1\u25B7\u25C1\u25F8-\u25FF\u266F\u27C0-\u27C4\u27C7-\u27E5\u27F0-\u27FF\u2900-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2AFF\u2B30-\u2B44\u2B47-\u2B4C\uFB29\uFE62\uFE64-\uFE66\uFF0B\uFF1C-\uFF1E\uFF5C\uFF5E\uFFE2\uFFE9-\uFFEC',
afe42d0… ragelink 6095 'astral': '\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD83B[\uDEF0\uDEF1]'
afe42d0… ragelink 6096 },
afe42d0… ragelink 6097 {
afe42d0… ragelink 6098 'name': 'So',
afe42d0… ragelink 6099 'alias': 'Other_Symbol',
afe42d0… ragelink 6100 'bmp': '\xA6\xA9\xAE\xB0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\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\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFD40-\uFD4F\uFDCF\uFDFD-\uFDFF\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD',
afe42d0… ragelink 6101 'astral': '\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFDC\uDFE1-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838\uDD4F|\uD83B[\uDCAC\uDD2E]|\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-\uDFFA]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]'
afe42d0… ragelink 6102 },
afe42d0… ragelink 6103 {
afe42d0… ragelink 6104 'name': 'Z',
afe42d0… ragelink 6105 'alias': 'Separator',
afe42d0… ragelink 6106 'bmp': ' \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000'
afe42d0… ragelink 6107 },
afe42d0… ragelink 6108 {
afe42d0… ragelink 6109 'name': 'Zl',
afe42d0… ragelink 6110 'alias': 'Line_Separator',
afe42d0… ragelink 6111 'bmp': '\u2028'
afe42d0… ragelink 6112 },
afe42d0… ragelink 6113 {
afe42d0… ragelink 6114 'name': 'Zp',
afe42d0… ragelink 6115 'alias': 'Paragraph_Separator',
afe42d0… ragelink 6116 'bmp': '\u2029'
afe42d0… ragelink 6117 },
afe42d0… ragelink 6118 {
afe42d0… ragelink 6119 'name': 'Zs',
afe42d0… ragelink 6120 'alias': 'Space_Separator',
afe42d0… ragelink 6121 'bmp': ' \xA0\u1680\u2000-\u200A\u202F\u205F\u3000'
afe42d0… ragelink 6122 }
afe42d0… ragelink 6123 ];
afe42d0… ragelink 6124
afe42d0… ragelink 6125 },{}]},{},[3])(3)
afe42d0… ragelink 6126 });

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button