@hebcal/rest-api 3.12.0 → 3.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @hebcal/rest-api v3.12.0 */
1
+ /*! @hebcal/rest-api v3.14.0 */
2
2
  var hebcal__rest_api = (function (exports, core, leyn) {
3
3
  'use strict';
4
4
 
@@ -29,8 +29,8 @@ var check = function (it) {
29
29
  };
30
30
 
31
31
  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
32
- var global$q =
33
- // eslint-disable-next-line es/no-global-this -- safe
32
+ var global$C =
33
+ // eslint-disable-next-line es-x/no-global-this -- safe
34
34
  check(typeof globalThis == 'object' && globalThis) ||
35
35
  check(typeof window == 'object' && window) ||
36
36
  // eslint-disable-next-line no-restricted-globals -- safe
@@ -41,7 +41,7 @@ var global$q =
41
41
 
42
42
  var objectGetOwnPropertyDescriptor = {};
43
43
 
44
- var fails$a = function (exec) {
44
+ var fails$h = function (exec) {
45
45
  try {
46
46
  return !!exec();
47
47
  } catch (error) {
@@ -49,47 +49,48 @@ var fails$a = function (exec) {
49
49
  }
50
50
  };
51
51
 
52
- var fails$9 = fails$a;
52
+ var fails$g = fails$h;
53
53
 
54
54
  // Detect IE8's incomplete defineProperty implementation
55
- var descriptors = !fails$9(function () {
56
- // eslint-disable-next-line es/no-object-defineproperty -- required for testing
55
+ var descriptors = !fails$g(function () {
56
+ // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
57
57
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
58
58
  });
59
59
 
60
- var fails$8 = fails$a;
60
+ var fails$f = fails$h;
61
61
 
62
- var functionBindNative = !fails$8(function () {
62
+ var functionBindNative = !fails$f(function () {
63
+ // eslint-disable-next-line es-x/no-function-prototype-bind -- safe
63
64
  var test = (function () { /* empty */ }).bind();
64
65
  // eslint-disable-next-line no-prototype-builtins -- safe
65
66
  return typeof test != 'function' || test.hasOwnProperty('prototype');
66
67
  });
67
68
 
68
- var NATIVE_BIND$1 = functionBindNative;
69
+ var NATIVE_BIND$2 = functionBindNative;
69
70
 
70
- var call$5 = Function.prototype.call;
71
+ var call$c = Function.prototype.call;
71
72
 
72
- var functionCall = NATIVE_BIND$1 ? call$5.bind(call$5) : function () {
73
- return call$5.apply(call$5, arguments);
73
+ var functionCall = NATIVE_BIND$2 ? call$c.bind(call$c) : function () {
74
+ return call$c.apply(call$c, arguments);
74
75
  };
75
76
 
76
77
  var objectPropertyIsEnumerable = {};
77
78
 
78
79
  var $propertyIsEnumerable = {}.propertyIsEnumerable;
79
- // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
80
- var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
80
+ // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
81
+ var getOwnPropertyDescriptor$3 = Object.getOwnPropertyDescriptor;
81
82
 
82
83
  // Nashorn ~ JDK8 bug
83
- var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
84
+ var NASHORN_BUG = getOwnPropertyDescriptor$3 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
84
85
 
85
86
  // `Object.prototype.propertyIsEnumerable` method implementation
86
87
  // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
87
88
  objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
88
- var descriptor = getOwnPropertyDescriptor$1(this, V);
89
+ var descriptor = getOwnPropertyDescriptor$3(this, V);
89
90
  return !!descriptor && descriptor.enumerable;
90
91
  } : $propertyIsEnumerable;
91
92
 
92
- var createPropertyDescriptor$2 = function (bitmap, value) {
93
+ var createPropertyDescriptor$5 = function (bitmap, value) {
93
94
  return {
94
95
  enumerable: !(bitmap & 1),
95
96
  configurable: !(bitmap & 2),
@@ -98,102 +99,102 @@ var createPropertyDescriptor$2 = function (bitmap, value) {
98
99
  };
99
100
  };
100
101
 
101
- var NATIVE_BIND = functionBindNative;
102
+ var NATIVE_BIND$1 = functionBindNative;
102
103
 
103
104
  var FunctionPrototype$1 = Function.prototype;
104
- var bind = FunctionPrototype$1.bind;
105
- var call$4 = FunctionPrototype$1.call;
106
- var uncurryThis$a = NATIVE_BIND && bind.bind(call$4, call$4);
105
+ var bind$4 = FunctionPrototype$1.bind;
106
+ var call$b = FunctionPrototype$1.call;
107
+ var uncurryThis$j = NATIVE_BIND$1 && bind$4.bind(call$b, call$b);
107
108
 
108
- var functionUncurryThis = NATIVE_BIND ? function (fn) {
109
- return fn && uncurryThis$a(fn);
109
+ var functionUncurryThis = NATIVE_BIND$1 ? function (fn) {
110
+ return fn && uncurryThis$j(fn);
110
111
  } : function (fn) {
111
112
  return fn && function () {
112
- return call$4.apply(fn, arguments);
113
+ return call$b.apply(fn, arguments);
113
114
  };
114
115
  };
115
116
 
116
- var uncurryThis$9 = functionUncurryThis;
117
+ var uncurryThis$i = functionUncurryThis;
117
118
 
118
- var toString$3 = uncurryThis$9({}.toString);
119
- var stringSlice$1 = uncurryThis$9(''.slice);
119
+ var toString$6 = uncurryThis$i({}.toString);
120
+ var stringSlice$5 = uncurryThis$i(''.slice);
120
121
 
121
122
  var classofRaw$1 = function (it) {
122
- return stringSlice$1(toString$3(it), 8, -1);
123
+ return stringSlice$5(toString$6(it), 8, -1);
123
124
  };
124
125
 
125
- var global$p = global$q;
126
- var uncurryThis$8 = functionUncurryThis;
127
- var fails$7 = fails$a;
128
- var classof$2 = classofRaw$1;
126
+ var global$B = global$C;
127
+ var uncurryThis$h = functionUncurryThis;
128
+ var fails$e = fails$h;
129
+ var classof$6 = classofRaw$1;
129
130
 
130
- var Object$4 = global$p.Object;
131
- var split = uncurryThis$8(''.split);
131
+ var Object$5 = global$B.Object;
132
+ var split$3 = uncurryThis$h(''.split);
132
133
 
133
134
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
134
- var indexedObject = fails$7(function () {
135
+ var indexedObject = fails$e(function () {
135
136
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
136
137
  // eslint-disable-next-line no-prototype-builtins -- safe
137
- return !Object$4('z').propertyIsEnumerable(0);
138
+ return !Object$5('z').propertyIsEnumerable(0);
138
139
  }) ? function (it) {
139
- return classof$2(it) == 'String' ? split(it, '') : Object$4(it);
140
- } : Object$4;
140
+ return classof$6(it) == 'String' ? split$3(it, '') : Object$5(it);
141
+ } : Object$5;
141
142
 
142
- var global$o = global$q;
143
+ var global$A = global$C;
143
144
 
144
- var TypeError$7 = global$o.TypeError;
145
+ var TypeError$e = global$A.TypeError;
145
146
 
146
147
  // `RequireObjectCoercible` abstract operation
147
148
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
148
- var requireObjectCoercible$2 = function (it) {
149
- if (it == undefined) throw TypeError$7("Can't call method on " + it);
149
+ var requireObjectCoercible$4 = function (it) {
150
+ if (it == undefined) throw TypeError$e("Can't call method on " + it);
150
151
  return it;
151
152
  };
152
153
 
153
154
  // toObject with fallback for non-array-like ES3 strings
154
- var IndexedObject = indexedObject;
155
- var requireObjectCoercible$1 = requireObjectCoercible$2;
155
+ var IndexedObject$1 = indexedObject;
156
+ var requireObjectCoercible$3 = requireObjectCoercible$4;
156
157
 
157
- var toIndexedObject$4 = function (it) {
158
- return IndexedObject(requireObjectCoercible$1(it));
158
+ var toIndexedObject$5 = function (it) {
159
+ return IndexedObject$1(requireObjectCoercible$3(it));
159
160
  };
160
161
 
161
162
  // `IsCallable` abstract operation
162
163
  // https://tc39.es/ecma262/#sec-iscallable
163
- var isCallable$a = function (argument) {
164
+ var isCallable$h = function (argument) {
164
165
  return typeof argument == 'function';
165
166
  };
166
167
 
167
- var isCallable$9 = isCallable$a;
168
+ var isCallable$g = isCallable$h;
168
169
 
169
- var isObject$5 = function (it) {
170
- return typeof it == 'object' ? it !== null : isCallable$9(it);
170
+ var isObject$7 = function (it) {
171
+ return typeof it == 'object' ? it !== null : isCallable$g(it);
171
172
  };
172
173
 
173
- var global$n = global$q;
174
- var isCallable$8 = isCallable$a;
174
+ var global$z = global$C;
175
+ var isCallable$f = isCallable$h;
175
176
 
176
177
  var aFunction = function (argument) {
177
- return isCallable$8(argument) ? argument : undefined;
178
+ return isCallable$f(argument) ? argument : undefined;
178
179
  };
179
180
 
180
- var getBuiltIn$4 = function (namespace, method) {
181
- return arguments.length < 2 ? aFunction(global$n[namespace]) : global$n[namespace] && global$n[namespace][method];
181
+ var getBuiltIn$5 = function (namespace, method) {
182
+ return arguments.length < 2 ? aFunction(global$z[namespace]) : global$z[namespace] && global$z[namespace][method];
182
183
  };
183
184
 
184
- var uncurryThis$7 = functionUncurryThis;
185
+ var uncurryThis$g = functionUncurryThis;
185
186
 
186
- var objectIsPrototypeOf = uncurryThis$7({}.isPrototypeOf);
187
+ var objectIsPrototypeOf = uncurryThis$g({}.isPrototypeOf);
187
188
 
188
- var getBuiltIn$3 = getBuiltIn$4;
189
+ var getBuiltIn$4 = getBuiltIn$5;
189
190
 
190
- var engineUserAgent = getBuiltIn$3('navigator', 'userAgent') || '';
191
+ var engineUserAgent = getBuiltIn$4('navigator', 'userAgent') || '';
191
192
 
192
- var global$m = global$q;
193
+ var global$y = global$C;
193
194
  var userAgent = engineUserAgent;
194
195
 
195
- var process = global$m.process;
196
- var Deno = global$m.Deno;
196
+ var process = global$y.process;
197
+ var Deno = global$y.Deno;
197
198
  var versions = process && process.versions || Deno && Deno.version;
198
199
  var v8 = versions && versions.v8;
199
200
  var match, version;
@@ -217,13 +218,13 @@ if (!version && userAgent) {
217
218
 
218
219
  var engineV8Version = version;
219
220
 
220
- /* eslint-disable es/no-symbol -- required for testing */
221
+ /* eslint-disable es-x/no-symbol -- required for testing */
221
222
 
222
223
  var V8_VERSION = engineV8Version;
223
- var fails$6 = fails$a;
224
+ var fails$d = fails$h;
224
225
 
225
- // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
226
- var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$6(function () {
226
+ // eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing
227
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$d(function () {
227
228
  var symbol = Symbol();
228
229
  // Chrome 38 Symbol has incorrect toString conversion
229
230
  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
@@ -232,7 +233,7 @@ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$6(function () {
232
233
  !Symbol.sham && V8_VERSION && V8_VERSION < 41;
233
234
  });
234
235
 
235
- /* eslint-disable es/no-symbol -- required for testing */
236
+ /* eslint-disable es-x/no-symbol -- required for testing */
236
237
 
237
238
  var NATIVE_SYMBOL$1 = nativeSymbol;
238
239
 
@@ -240,91 +241,93 @@ var useSymbolAsUid = NATIVE_SYMBOL$1
240
241
  && !Symbol.sham
241
242
  && typeof Symbol.iterator == 'symbol';
242
243
 
243
- var global$l = global$q;
244
- var getBuiltIn$2 = getBuiltIn$4;
245
- var isCallable$7 = isCallable$a;
246
- var isPrototypeOf = objectIsPrototypeOf;
244
+ var global$x = global$C;
245
+ var getBuiltIn$3 = getBuiltIn$5;
246
+ var isCallable$e = isCallable$h;
247
+ var isPrototypeOf$2 = objectIsPrototypeOf;
247
248
  var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
248
249
 
249
- var Object$3 = global$l.Object;
250
+ var Object$4 = global$x.Object;
250
251
 
251
252
  var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {
252
253
  return typeof it == 'symbol';
253
254
  } : function (it) {
254
- var $Symbol = getBuiltIn$2('Symbol');
255
- return isCallable$7($Symbol) && isPrototypeOf($Symbol.prototype, Object$3(it));
255
+ var $Symbol = getBuiltIn$3('Symbol');
256
+ return isCallable$e($Symbol) && isPrototypeOf$2($Symbol.prototype, Object$4(it));
256
257
  };
257
258
 
258
- var global$k = global$q;
259
+ var global$w = global$C;
259
260
 
260
- var String$3 = global$k.String;
261
+ var String$4 = global$w.String;
261
262
 
262
- var tryToString$1 = function (argument) {
263
+ var tryToString$2 = function (argument) {
263
264
  try {
264
- return String$3(argument);
265
+ return String$4(argument);
265
266
  } catch (error) {
266
267
  return 'Object';
267
268
  }
268
269
  };
269
270
 
270
- var global$j = global$q;
271
- var isCallable$6 = isCallable$a;
272
- var tryToString = tryToString$1;
271
+ var global$v = global$C;
272
+ var isCallable$d = isCallable$h;
273
+ var tryToString$1 = tryToString$2;
273
274
 
274
- var TypeError$6 = global$j.TypeError;
275
+ var TypeError$d = global$v.TypeError;
275
276
 
276
277
  // `Assert: IsCallable(argument) is true`
277
- var aCallable$1 = function (argument) {
278
- if (isCallable$6(argument)) return argument;
279
- throw TypeError$6(tryToString(argument) + ' is not a function');
278
+ var aCallable$3 = function (argument) {
279
+ if (isCallable$d(argument)) return argument;
280
+ throw TypeError$d(tryToString$1(argument) + ' is not a function');
280
281
  };
281
282
 
282
- var aCallable = aCallable$1;
283
+ var aCallable$2 = aCallable$3;
283
284
 
284
285
  // `GetMethod` abstract operation
285
286
  // https://tc39.es/ecma262/#sec-getmethod
286
- var getMethod$1 = function (V, P) {
287
+ var getMethod$3 = function (V, P) {
287
288
  var func = V[P];
288
- return func == null ? undefined : aCallable(func);
289
+ return func == null ? undefined : aCallable$2(func);
289
290
  };
290
291
 
291
- var global$i = global$q;
292
- var call$3 = functionCall;
293
- var isCallable$5 = isCallable$a;
294
- var isObject$4 = isObject$5;
292
+ var global$u = global$C;
293
+ var call$a = functionCall;
294
+ var isCallable$c = isCallable$h;
295
+ var isObject$6 = isObject$7;
295
296
 
296
- var TypeError$5 = global$i.TypeError;
297
+ var TypeError$c = global$u.TypeError;
297
298
 
298
299
  // `OrdinaryToPrimitive` abstract operation
299
300
  // https://tc39.es/ecma262/#sec-ordinarytoprimitive
300
301
  var ordinaryToPrimitive$1 = function (input, pref) {
301
302
  var fn, val;
302
- if (pref === 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$3(fn, input))) return val;
303
- if (isCallable$5(fn = input.valueOf) && !isObject$4(val = call$3(fn, input))) return val;
304
- if (pref !== 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$3(fn, input))) return val;
305
- throw TypeError$5("Can't convert object to primitive value");
303
+ if (pref === 'string' && isCallable$c(fn = input.toString) && !isObject$6(val = call$a(fn, input))) return val;
304
+ if (isCallable$c(fn = input.valueOf) && !isObject$6(val = call$a(fn, input))) return val;
305
+ if (pref !== 'string' && isCallable$c(fn = input.toString) && !isObject$6(val = call$a(fn, input))) return val;
306
+ throw TypeError$c("Can't convert object to primitive value");
306
307
  };
307
308
 
308
309
  var shared$4 = {exports: {}};
309
310
 
310
- var global$h = global$q;
311
+ var isPure = false;
311
312
 
312
- // eslint-disable-next-line es/no-object-defineproperty -- safe
313
- var defineProperty = Object.defineProperty;
313
+ var global$t = global$C;
314
+
315
+ // eslint-disable-next-line es-x/no-object-defineproperty -- safe
316
+ var defineProperty$5 = Object.defineProperty;
314
317
 
315
318
  var setGlobal$3 = function (key, value) {
316
319
  try {
317
- defineProperty(global$h, key, { value: value, configurable: true, writable: true });
320
+ defineProperty$5(global$t, key, { value: value, configurable: true, writable: true });
318
321
  } catch (error) {
319
- global$h[key] = value;
322
+ global$t[key] = value;
320
323
  } return value;
321
324
  };
322
325
 
323
- var global$g = global$q;
326
+ var global$s = global$C;
324
327
  var setGlobal$2 = setGlobal$3;
325
328
 
326
329
  var SHARED = '__core-js_shared__';
327
- var store$3 = global$g[SHARED] || setGlobal$2(SHARED, {});
330
+ var store$3 = global$s[SHARED] || setGlobal$2(SHARED, {});
328
331
 
329
332
  var sharedStore = store$3;
330
333
 
@@ -333,61 +336,62 @@ var store$2 = sharedStore;
333
336
  (shared$4.exports = function (key, value) {
334
337
  return store$2[key] || (store$2[key] = value !== undefined ? value : {});
335
338
  })('versions', []).push({
336
- version: '3.20.3',
339
+ version: '3.22.4',
337
340
  mode: 'global',
338
341
  copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
339
- license: 'https://github.com/zloirock/core-js/blob/v3.20.3/LICENSE',
342
+ license: 'https://github.com/zloirock/core-js/blob/v3.22.4/LICENSE',
340
343
  source: 'https://github.com/zloirock/core-js'
341
344
  });
342
345
 
343
- var global$f = global$q;
344
- var requireObjectCoercible = requireObjectCoercible$2;
346
+ var global$r = global$C;
347
+ var requireObjectCoercible$2 = requireObjectCoercible$4;
345
348
 
346
- var Object$2 = global$f.Object;
349
+ var Object$3 = global$r.Object;
347
350
 
348
351
  // `ToObject` abstract operation
349
352
  // https://tc39.es/ecma262/#sec-toobject
350
- var toObject$1 = function (argument) {
351
- return Object$2(requireObjectCoercible(argument));
353
+ var toObject$4 = function (argument) {
354
+ return Object$3(requireObjectCoercible$2(argument));
352
355
  };
353
356
 
354
- var uncurryThis$6 = functionUncurryThis;
355
- var toObject = toObject$1;
357
+ var uncurryThis$f = functionUncurryThis;
358
+ var toObject$3 = toObject$4;
356
359
 
357
- var hasOwnProperty = uncurryThis$6({}.hasOwnProperty);
360
+ var hasOwnProperty = uncurryThis$f({}.hasOwnProperty);
358
361
 
359
362
  // `HasOwnProperty` abstract operation
360
363
  // https://tc39.es/ecma262/#sec-hasownproperty
364
+ // eslint-disable-next-line es-x/no-object-hasown -- safe
361
365
  var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
362
- return hasOwnProperty(toObject(it), key);
366
+ return hasOwnProperty(toObject$3(it), key);
363
367
  };
364
368
 
365
- var uncurryThis$5 = functionUncurryThis;
369
+ var uncurryThis$e = functionUncurryThis;
366
370
 
367
371
  var id = 0;
368
372
  var postfix = Math.random();
369
- var toString$2 = uncurryThis$5(1.0.toString);
373
+ var toString$5 = uncurryThis$e(1.0.toString);
370
374
 
371
375
  var uid$2 = function (key) {
372
- return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$2(++id + postfix, 36);
376
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$5(++id + postfix, 36);
373
377
  };
374
378
 
375
- var global$e = global$q;
379
+ var global$q = global$C;
376
380
  var shared$3 = shared$4.exports;
377
- var hasOwn$6 = hasOwnProperty_1;
381
+ var hasOwn$b = hasOwnProperty_1;
378
382
  var uid$1 = uid$2;
379
383
  var NATIVE_SYMBOL = nativeSymbol;
380
384
  var USE_SYMBOL_AS_UID = useSymbolAsUid;
381
385
 
382
386
  var WellKnownSymbolsStore = shared$3('wks');
383
- var Symbol$1 = global$e.Symbol;
387
+ var Symbol$1 = global$q.Symbol;
384
388
  var symbolFor = Symbol$1 && Symbol$1['for'];
385
389
  var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
386
390
 
387
- var wellKnownSymbol$3 = function (name) {
388
- if (!hasOwn$6(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
391
+ var wellKnownSymbol$e = function (name) {
392
+ if (!hasOwn$b(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
389
393
  var description = 'Symbol.' + name;
390
- if (NATIVE_SYMBOL && hasOwn$6(Symbol$1, name)) {
394
+ if (NATIVE_SYMBOL && hasOwn$b(Symbol$1, name)) {
391
395
  WellKnownSymbolsStore[name] = Symbol$1[name];
392
396
  } else if (USE_SYMBOL_AS_UID && symbolFor) {
393
397
  WellKnownSymbolsStore[name] = symbolFor(description);
@@ -397,28 +401,28 @@ var wellKnownSymbol$3 = function (name) {
397
401
  } return WellKnownSymbolsStore[name];
398
402
  };
399
403
 
400
- var global$d = global$q;
401
- var call$2 = functionCall;
402
- var isObject$3 = isObject$5;
404
+ var global$p = global$C;
405
+ var call$9 = functionCall;
406
+ var isObject$5 = isObject$7;
403
407
  var isSymbol$1 = isSymbol$2;
404
- var getMethod = getMethod$1;
408
+ var getMethod$2 = getMethod$3;
405
409
  var ordinaryToPrimitive = ordinaryToPrimitive$1;
406
- var wellKnownSymbol$2 = wellKnownSymbol$3;
410
+ var wellKnownSymbol$d = wellKnownSymbol$e;
407
411
 
408
- var TypeError$4 = global$d.TypeError;
409
- var TO_PRIMITIVE = wellKnownSymbol$2('toPrimitive');
412
+ var TypeError$b = global$p.TypeError;
413
+ var TO_PRIMITIVE = wellKnownSymbol$d('toPrimitive');
410
414
 
411
415
  // `ToPrimitive` abstract operation
412
416
  // https://tc39.es/ecma262/#sec-toprimitive
413
417
  var toPrimitive$1 = function (input, pref) {
414
- if (!isObject$3(input) || isSymbol$1(input)) return input;
415
- var exoticToPrim = getMethod(input, TO_PRIMITIVE);
418
+ if (!isObject$5(input) || isSymbol$1(input)) return input;
419
+ var exoticToPrim = getMethod$2(input, TO_PRIMITIVE);
416
420
  var result;
417
421
  if (exoticToPrim) {
418
422
  if (pref === undefined) pref = 'default';
419
- result = call$2(exoticToPrim, input, pref);
420
- if (!isObject$3(result) || isSymbol$1(result)) return result;
421
- throw TypeError$4("Can't convert object to primitive value");
423
+ result = call$9(exoticToPrim, input, pref);
424
+ if (!isObject$5(result) || isSymbol$1(result)) return result;
425
+ throw TypeError$b("Can't convert object to primitive value");
422
426
  }
423
427
  if (pref === undefined) pref = 'number';
424
428
  return ordinaryToPrimitive(input, pref);
@@ -429,95 +433,95 @@ var isSymbol = isSymbol$2;
429
433
 
430
434
  // `ToPropertyKey` abstract operation
431
435
  // https://tc39.es/ecma262/#sec-topropertykey
432
- var toPropertyKey$2 = function (argument) {
436
+ var toPropertyKey$3 = function (argument) {
433
437
  var key = toPrimitive(argument, 'string');
434
438
  return isSymbol(key) ? key : key + '';
435
439
  };
436
440
 
437
- var global$c = global$q;
438
- var isObject$2 = isObject$5;
441
+ var global$o = global$C;
442
+ var isObject$4 = isObject$7;
439
443
 
440
- var document$1 = global$c.document;
444
+ var document$1 = global$o.document;
441
445
  // typeof document.createElement is 'object' in old IE
442
- var EXISTS$1 = isObject$2(document$1) && isObject$2(document$1.createElement);
446
+ var EXISTS$1 = isObject$4(document$1) && isObject$4(document$1.createElement);
443
447
 
444
- var documentCreateElement$1 = function (it) {
448
+ var documentCreateElement$2 = function (it) {
445
449
  return EXISTS$1 ? document$1.createElement(it) : {};
446
450
  };
447
451
 
448
- var DESCRIPTORS$6 = descriptors;
449
- var fails$5 = fails$a;
450
- var createElement = documentCreateElement$1;
452
+ var DESCRIPTORS$a = descriptors;
453
+ var fails$c = fails$h;
454
+ var createElement = documentCreateElement$2;
451
455
 
452
456
  // Thanks to IE8 for its funny defineProperty
453
- var ie8DomDefine = !DESCRIPTORS$6 && !fails$5(function () {
454
- // eslint-disable-next-line es/no-object-defineproperty -- required for testing
457
+ var ie8DomDefine = !DESCRIPTORS$a && !fails$c(function () {
458
+ // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
455
459
  return Object.defineProperty(createElement('div'), 'a', {
456
460
  get: function () { return 7; }
457
461
  }).a != 7;
458
462
  });
459
463
 
460
- var DESCRIPTORS$5 = descriptors;
461
- var call$1 = functionCall;
462
- var propertyIsEnumerableModule = objectPropertyIsEnumerable;
463
- var createPropertyDescriptor$1 = createPropertyDescriptor$2;
464
- var toIndexedObject$3 = toIndexedObject$4;
465
- var toPropertyKey$1 = toPropertyKey$2;
466
- var hasOwn$5 = hasOwnProperty_1;
464
+ var DESCRIPTORS$9 = descriptors;
465
+ var call$8 = functionCall;
466
+ var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
467
+ var createPropertyDescriptor$4 = createPropertyDescriptor$5;
468
+ var toIndexedObject$4 = toIndexedObject$5;
469
+ var toPropertyKey$2 = toPropertyKey$3;
470
+ var hasOwn$a = hasOwnProperty_1;
467
471
  var IE8_DOM_DEFINE$1 = ie8DomDefine;
468
472
 
469
- // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
473
+ // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
470
474
  var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
471
475
 
472
476
  // `Object.getOwnPropertyDescriptor` method
473
477
  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
474
- objectGetOwnPropertyDescriptor.f = DESCRIPTORS$5 ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
475
- O = toIndexedObject$3(O);
476
- P = toPropertyKey$1(P);
478
+ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$9 ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
479
+ O = toIndexedObject$4(O);
480
+ P = toPropertyKey$2(P);
477
481
  if (IE8_DOM_DEFINE$1) try {
478
482
  return $getOwnPropertyDescriptor$1(O, P);
479
483
  } catch (error) { /* empty */ }
480
- if (hasOwn$5(O, P)) return createPropertyDescriptor$1(!call$1(propertyIsEnumerableModule.f, O, P), O[P]);
484
+ if (hasOwn$a(O, P)) return createPropertyDescriptor$4(!call$8(propertyIsEnumerableModule$1.f, O, P), O[P]);
481
485
  };
482
486
 
483
487
  var objectDefineProperty = {};
484
488
 
485
- var DESCRIPTORS$4 = descriptors;
486
- var fails$4 = fails$a;
489
+ var DESCRIPTORS$8 = descriptors;
490
+ var fails$b = fails$h;
487
491
 
488
492
  // V8 ~ Chrome 36-
489
493
  // https://bugs.chromium.org/p/v8/issues/detail?id=3334
490
- var v8PrototypeDefineBug = DESCRIPTORS$4 && fails$4(function () {
491
- // eslint-disable-next-line es/no-object-defineproperty -- required for testing
494
+ var v8PrototypeDefineBug = DESCRIPTORS$8 && fails$b(function () {
495
+ // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
492
496
  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
493
497
  value: 42,
494
498
  writable: false
495
499
  }).prototype != 42;
496
500
  });
497
501
 
498
- var global$b = global$q;
499
- var isObject$1 = isObject$5;
502
+ var global$n = global$C;
503
+ var isObject$3 = isObject$7;
500
504
 
501
- var String$2 = global$b.String;
502
- var TypeError$3 = global$b.TypeError;
505
+ var String$3 = global$n.String;
506
+ var TypeError$a = global$n.TypeError;
503
507
 
504
508
  // `Assert: Type(argument) is Object`
505
- var anObject$5 = function (argument) {
506
- if (isObject$1(argument)) return argument;
507
- throw TypeError$3(String$2(argument) + ' is not an object');
509
+ var anObject$b = function (argument) {
510
+ if (isObject$3(argument)) return argument;
511
+ throw TypeError$a(String$3(argument) + ' is not an object');
508
512
  };
509
513
 
510
- var global$a = global$q;
511
- var DESCRIPTORS$3 = descriptors;
514
+ var global$m = global$C;
515
+ var DESCRIPTORS$7 = descriptors;
512
516
  var IE8_DOM_DEFINE = ie8DomDefine;
513
517
  var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
514
- var anObject$4 = anObject$5;
515
- var toPropertyKey = toPropertyKey$2;
518
+ var anObject$a = anObject$b;
519
+ var toPropertyKey$1 = toPropertyKey$3;
516
520
 
517
- var TypeError$2 = global$a.TypeError;
518
- // eslint-disable-next-line es/no-object-defineproperty -- safe
521
+ var TypeError$9 = global$m.TypeError;
522
+ // eslint-disable-next-line es-x/no-object-defineproperty -- safe
519
523
  var $defineProperty = Object.defineProperty;
520
- // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
524
+ // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
521
525
  var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
522
526
  var ENUMERABLE = 'enumerable';
523
527
  var CONFIGURABLE$1 = 'configurable';
@@ -525,10 +529,10 @@ var WRITABLE = 'writable';
525
529
 
526
530
  // `Object.defineProperty` method
527
531
  // https://tc39.es/ecma262/#sec-object.defineproperty
528
- objectDefineProperty.f = DESCRIPTORS$3 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
529
- anObject$4(O);
530
- P = toPropertyKey(P);
531
- anObject$4(Attributes);
532
+ objectDefineProperty.f = DESCRIPTORS$7 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
533
+ anObject$a(O);
534
+ P = toPropertyKey$1(P);
535
+ anObject$a(Attributes);
532
536
  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
533
537
  var current = $getOwnPropertyDescriptor(O, P);
534
538
  if (current && current[WRITABLE]) {
@@ -541,77 +545,95 @@ objectDefineProperty.f = DESCRIPTORS$3 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function de
541
545
  }
542
546
  } return $defineProperty(O, P, Attributes);
543
547
  } : $defineProperty : function defineProperty(O, P, Attributes) {
544
- anObject$4(O);
545
- P = toPropertyKey(P);
546
- anObject$4(Attributes);
548
+ anObject$a(O);
549
+ P = toPropertyKey$1(P);
550
+ anObject$a(Attributes);
547
551
  if (IE8_DOM_DEFINE) try {
548
552
  return $defineProperty(O, P, Attributes);
549
553
  } catch (error) { /* empty */ }
550
- if ('get' in Attributes || 'set' in Attributes) throw TypeError$2('Accessors not supported');
554
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError$9('Accessors not supported');
551
555
  if ('value' in Attributes) O[P] = Attributes.value;
552
556
  return O;
553
557
  };
554
558
 
555
- var DESCRIPTORS$2 = descriptors;
556
- var definePropertyModule$2 = objectDefineProperty;
557
- var createPropertyDescriptor = createPropertyDescriptor$2;
559
+ var DESCRIPTORS$6 = descriptors;
560
+ var definePropertyModule$4 = objectDefineProperty;
561
+ var createPropertyDescriptor$3 = createPropertyDescriptor$5;
558
562
 
559
- var createNonEnumerableProperty$3 = DESCRIPTORS$2 ? function (object, key, value) {
560
- return definePropertyModule$2.f(object, key, createPropertyDescriptor(1, value));
563
+ var createNonEnumerableProperty$5 = DESCRIPTORS$6 ? function (object, key, value) {
564
+ return definePropertyModule$4.f(object, key, createPropertyDescriptor$3(1, value));
561
565
  } : function (object, key, value) {
562
566
  object[key] = value;
563
567
  return object;
564
568
  };
565
569
 
566
- var redefine$1 = {exports: {}};
570
+ var makeBuiltIn$3 = {exports: {}};
567
571
 
568
- var uncurryThis$4 = functionUncurryThis;
569
- var isCallable$4 = isCallable$a;
572
+ var DESCRIPTORS$5 = descriptors;
573
+ var hasOwn$9 = hasOwnProperty_1;
574
+
575
+ var FunctionPrototype = Function.prototype;
576
+ // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
577
+ var getDescriptor = DESCRIPTORS$5 && Object.getOwnPropertyDescriptor;
578
+
579
+ var EXISTS = hasOwn$9(FunctionPrototype, 'name');
580
+ // additional protection from minified / mangled / dropped function names
581
+ var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
582
+ var CONFIGURABLE = EXISTS && (!DESCRIPTORS$5 || (DESCRIPTORS$5 && getDescriptor(FunctionPrototype, 'name').configurable));
583
+
584
+ var functionName = {
585
+ EXISTS: EXISTS,
586
+ PROPER: PROPER,
587
+ CONFIGURABLE: CONFIGURABLE
588
+ };
589
+
590
+ var uncurryThis$d = functionUncurryThis;
591
+ var isCallable$b = isCallable$h;
570
592
  var store$1 = sharedStore;
571
593
 
572
- var functionToString = uncurryThis$4(Function.toString);
594
+ var functionToString = uncurryThis$d(Function.toString);
573
595
 
574
596
  // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
575
- if (!isCallable$4(store$1.inspectSource)) {
597
+ if (!isCallable$b(store$1.inspectSource)) {
576
598
  store$1.inspectSource = function (it) {
577
599
  return functionToString(it);
578
600
  };
579
601
  }
580
602
 
581
- var inspectSource$2 = store$1.inspectSource;
603
+ var inspectSource$3 = store$1.inspectSource;
582
604
 
583
- var global$9 = global$q;
584
- var isCallable$3 = isCallable$a;
585
- var inspectSource$1 = inspectSource$2;
605
+ var global$l = global$C;
606
+ var isCallable$a = isCallable$h;
607
+ var inspectSource$2 = inspectSource$3;
586
608
 
587
- var WeakMap$1 = global$9.WeakMap;
609
+ var WeakMap$1 = global$l.WeakMap;
588
610
 
589
- var nativeWeakMap = isCallable$3(WeakMap$1) && /native code/.test(inspectSource$1(WeakMap$1));
611
+ var nativeWeakMap = isCallable$a(WeakMap$1) && /native code/.test(inspectSource$2(WeakMap$1));
590
612
 
591
613
  var shared$2 = shared$4.exports;
592
614
  var uid = uid$2;
593
615
 
594
616
  var keys = shared$2('keys');
595
617
 
596
- var sharedKey$2 = function (key) {
618
+ var sharedKey$3 = function (key) {
597
619
  return keys[key] || (keys[key] = uid(key));
598
620
  };
599
621
 
600
622
  var hiddenKeys$4 = {};
601
623
 
602
624
  var NATIVE_WEAK_MAP = nativeWeakMap;
603
- var global$8 = global$q;
604
- var uncurryThis$3 = functionUncurryThis;
605
- var isObject = isObject$5;
606
- var createNonEnumerableProperty$2 = createNonEnumerableProperty$3;
607
- var hasOwn$4 = hasOwnProperty_1;
625
+ var global$k = global$C;
626
+ var uncurryThis$c = functionUncurryThis;
627
+ var isObject$2 = isObject$7;
628
+ var createNonEnumerableProperty$4 = createNonEnumerableProperty$5;
629
+ var hasOwn$8 = hasOwnProperty_1;
608
630
  var shared$1 = sharedStore;
609
- var sharedKey$1 = sharedKey$2;
631
+ var sharedKey$2 = sharedKey$3;
610
632
  var hiddenKeys$3 = hiddenKeys$4;
611
633
 
612
634
  var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
613
- var TypeError$1 = global$8.TypeError;
614
- var WeakMap = global$8.WeakMap;
635
+ var TypeError$8 = global$k.TypeError;
636
+ var WeakMap = global$k.WeakMap;
615
637
  var set, get, has;
616
638
 
617
639
  var enforce = function (it) {
@@ -621,19 +643,19 @@ var enforce = function (it) {
621
643
  var getterFor = function (TYPE) {
622
644
  return function (it) {
623
645
  var state;
624
- if (!isObject(it) || (state = get(it)).type !== TYPE) {
625
- throw TypeError$1('Incompatible receiver, ' + TYPE + ' required');
646
+ if (!isObject$2(it) || (state = get(it)).type !== TYPE) {
647
+ throw TypeError$8('Incompatible receiver, ' + TYPE + ' required');
626
648
  } return state;
627
649
  };
628
650
  };
629
651
 
630
652
  if (NATIVE_WEAK_MAP || shared$1.state) {
631
653
  var store = shared$1.state || (shared$1.state = new WeakMap());
632
- var wmget = uncurryThis$3(store.get);
633
- var wmhas = uncurryThis$3(store.has);
634
- var wmset = uncurryThis$3(store.set);
654
+ var wmget = uncurryThis$c(store.get);
655
+ var wmhas = uncurryThis$c(store.has);
656
+ var wmset = uncurryThis$c(store.set);
635
657
  set = function (it, metadata) {
636
- if (wmhas(store, it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
658
+ if (wmhas(store, it)) throw new TypeError$8(OBJECT_ALREADY_INITIALIZED);
637
659
  metadata.facade = it;
638
660
  wmset(store, it, metadata);
639
661
  return metadata;
@@ -645,19 +667,19 @@ if (NATIVE_WEAK_MAP || shared$1.state) {
645
667
  return wmhas(store, it);
646
668
  };
647
669
  } else {
648
- var STATE = sharedKey$1('state');
670
+ var STATE = sharedKey$2('state');
649
671
  hiddenKeys$3[STATE] = true;
650
672
  set = function (it, metadata) {
651
- if (hasOwn$4(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
673
+ if (hasOwn$8(it, STATE)) throw new TypeError$8(OBJECT_ALREADY_INITIALIZED);
652
674
  metadata.facade = it;
653
- createNonEnumerableProperty$2(it, STATE, metadata);
675
+ createNonEnumerableProperty$4(it, STATE, metadata);
654
676
  return metadata;
655
677
  };
656
678
  get = function (it) {
657
- return hasOwn$4(it, STATE) ? it[STATE] : {};
679
+ return hasOwn$8(it, STATE) ? it[STATE] : {};
658
680
  };
659
681
  has = function (it) {
660
- return hasOwn$4(it, STATE);
682
+ return hasOwn$8(it, STATE);
661
683
  };
662
684
  }
663
685
 
@@ -669,125 +691,127 @@ var internalState = {
669
691
  getterFor: getterFor
670
692
  };
671
693
 
672
- var DESCRIPTORS$1 = descriptors;
673
- var hasOwn$3 = hasOwnProperty_1;
694
+ var fails$a = fails$h;
695
+ var isCallable$9 = isCallable$h;
696
+ var hasOwn$7 = hasOwnProperty_1;
697
+ var defineProperty$4 = objectDefineProperty.f;
698
+ var CONFIGURABLE_FUNCTION_NAME$1 = functionName.CONFIGURABLE;
699
+ var inspectSource$1 = inspectSource$3;
700
+ var InternalStateModule$4 = internalState;
674
701
 
675
- var FunctionPrototype = Function.prototype;
676
- // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
677
- var getDescriptor = DESCRIPTORS$1 && Object.getOwnPropertyDescriptor;
702
+ var enforceInternalState = InternalStateModule$4.enforce;
703
+ var getInternalState$3 = InternalStateModule$4.get;
678
704
 
679
- var EXISTS = hasOwn$3(FunctionPrototype, 'name');
680
- // additional protection from minified / mangled / dropped function names
681
- var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
682
- var CONFIGURABLE = EXISTS && (!DESCRIPTORS$1 || (DESCRIPTORS$1 && getDescriptor(FunctionPrototype, 'name').configurable));
705
+ var CONFIGURABLE_LENGTH = !fails$a(function () {
706
+ return defineProperty$4(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
707
+ });
683
708
 
684
- var functionName = {
685
- EXISTS: EXISTS,
686
- PROPER: PROPER,
687
- CONFIGURABLE: CONFIGURABLE
709
+ var TEMPLATE = String(String).split('String');
710
+
711
+ var makeBuiltIn$2 = makeBuiltIn$3.exports = function (value, name, options) {
712
+ if (String(name).slice(0, 7) === 'Symbol(') {
713
+ name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
714
+ }
715
+ if (options && options.getter) name = 'get ' + name;
716
+ if (options && options.setter) name = 'set ' + name;
717
+ if (!hasOwn$7(value, 'name') || (CONFIGURABLE_FUNCTION_NAME$1 && value.name !== name)) {
718
+ defineProperty$4(value, 'name', { value: name, configurable: true });
719
+ }
720
+ if (CONFIGURABLE_LENGTH && options && hasOwn$7(options, 'arity') && value.length !== options.arity) {
721
+ defineProperty$4(value, 'length', { value: options.arity });
722
+ }
723
+ var state = enforceInternalState(value);
724
+ if (!hasOwn$7(state, 'source')) {
725
+ state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
726
+ } return value;
688
727
  };
689
728
 
690
- var global$7 = global$q;
691
- var isCallable$2 = isCallable$a;
692
- var hasOwn$2 = hasOwnProperty_1;
693
- var createNonEnumerableProperty$1 = createNonEnumerableProperty$3;
729
+ // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
730
+ // eslint-disable-next-line no-extend-native -- required
731
+ Function.prototype.toString = makeBuiltIn$2(function toString() {
732
+ return isCallable$9(this) && getInternalState$3(this).source || inspectSource$1(this);
733
+ }, 'toString');
734
+
735
+ var global$j = global$C;
736
+ var isCallable$8 = isCallable$h;
737
+ var createNonEnumerableProperty$3 = createNonEnumerableProperty$5;
738
+ var makeBuiltIn$1 = makeBuiltIn$3.exports;
694
739
  var setGlobal$1 = setGlobal$3;
695
- var inspectSource = inspectSource$2;
696
- var InternalStateModule = internalState;
697
- var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;
698
740
 
699
- var getInternalState$1 = InternalStateModule.get;
700
- var enforceInternalState = InternalStateModule.enforce;
701
- var TEMPLATE = String(String).split('String');
702
-
703
- (redefine$1.exports = function (O, key, value, options) {
741
+ var defineBuiltIn$7 = function (O, key, value, options) {
704
742
  var unsafe = options ? !!options.unsafe : false;
705
743
  var simple = options ? !!options.enumerable : false;
706
744
  var noTargetGet = options ? !!options.noTargetGet : false;
707
745
  var name = options && options.name !== undefined ? options.name : key;
708
- var state;
709
- if (isCallable$2(value)) {
710
- if (String(name).slice(0, 7) === 'Symbol(') {
711
- name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
712
- }
713
- if (!hasOwn$2(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
714
- createNonEnumerableProperty$1(value, 'name', name);
715
- }
716
- state = enforceInternalState(value);
717
- if (!state.source) {
718
- state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
719
- }
720
- }
721
- if (O === global$7) {
746
+ if (isCallable$8(value)) makeBuiltIn$1(value, name, options);
747
+ if (O === global$j) {
722
748
  if (simple) O[key] = value;
723
749
  else setGlobal$1(key, value);
724
- return;
750
+ return O;
725
751
  } else if (!unsafe) {
726
752
  delete O[key];
727
753
  } else if (!noTargetGet && O[key]) {
728
754
  simple = true;
729
755
  }
730
756
  if (simple) O[key] = value;
731
- else createNonEnumerableProperty$1(O, key, value);
732
- // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
733
- })(Function.prototype, 'toString', function toString() {
734
- return isCallable$2(this) && getInternalState$1(this).source || inspectSource(this);
735
- });
757
+ else createNonEnumerableProperty$3(O, key, value);
758
+ return O;
759
+ };
736
760
 
737
761
  var objectGetOwnPropertyNames = {};
738
762
 
739
763
  var ceil = Math.ceil;
740
- var floor = Math.floor;
764
+ var floor$3 = Math.floor;
741
765
 
742
766
  // `ToIntegerOrInfinity` abstract operation
743
767
  // https://tc39.es/ecma262/#sec-tointegerorinfinity
744
- var toIntegerOrInfinity$2 = function (argument) {
768
+ var toIntegerOrInfinity$3 = function (argument) {
745
769
  var number = +argument;
746
770
  // eslint-disable-next-line no-self-compare -- safe
747
- return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
771
+ return number !== number || number === 0 ? 0 : (number > 0 ? floor$3 : ceil)(number);
748
772
  };
749
773
 
750
- var toIntegerOrInfinity$1 = toIntegerOrInfinity$2;
774
+ var toIntegerOrInfinity$2 = toIntegerOrInfinity$3;
751
775
 
752
- var max = Math.max;
753
- var min$1 = Math.min;
776
+ var max$1 = Math.max;
777
+ var min$2 = Math.min;
754
778
 
755
779
  // Helper for a popular repeating case of the spec:
756
780
  // Let integer be ? ToInteger(index).
757
781
  // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
758
- var toAbsoluteIndex$1 = function (index, length) {
759
- var integer = toIntegerOrInfinity$1(index);
760
- return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
782
+ var toAbsoluteIndex$2 = function (index, length) {
783
+ var integer = toIntegerOrInfinity$2(index);
784
+ return integer < 0 ? max$1(integer + length, 0) : min$2(integer, length);
761
785
  };
762
786
 
763
- var toIntegerOrInfinity = toIntegerOrInfinity$2;
787
+ var toIntegerOrInfinity$1 = toIntegerOrInfinity$3;
764
788
 
765
- var min = Math.min;
789
+ var min$1 = Math.min;
766
790
 
767
791
  // `ToLength` abstract operation
768
792
  // https://tc39.es/ecma262/#sec-tolength
769
- var toLength$1 = function (argument) {
770
- return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
793
+ var toLength$2 = function (argument) {
794
+ return argument > 0 ? min$1(toIntegerOrInfinity$1(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
771
795
  };
772
796
 
773
- var toLength = toLength$1;
797
+ var toLength$1 = toLength$2;
774
798
 
775
799
  // `LengthOfArrayLike` abstract operation
776
800
  // https://tc39.es/ecma262/#sec-lengthofarraylike
777
- var lengthOfArrayLike$1 = function (obj) {
778
- return toLength(obj.length);
801
+ var lengthOfArrayLike$3 = function (obj) {
802
+ return toLength$1(obj.length);
779
803
  };
780
804
 
781
- var toIndexedObject$2 = toIndexedObject$4;
782
- var toAbsoluteIndex = toAbsoluteIndex$1;
783
- var lengthOfArrayLike = lengthOfArrayLike$1;
805
+ var toIndexedObject$3 = toIndexedObject$5;
806
+ var toAbsoluteIndex$1 = toAbsoluteIndex$2;
807
+ var lengthOfArrayLike$2 = lengthOfArrayLike$3;
784
808
 
785
809
  // `Array.prototype.{ indexOf, includes }` methods implementation
786
- var createMethod = function (IS_INCLUDES) {
810
+ var createMethod$1 = function (IS_INCLUDES) {
787
811
  return function ($this, el, fromIndex) {
788
- var O = toIndexedObject$2($this);
789
- var length = lengthOfArrayLike(O);
790
- var index = toAbsoluteIndex(fromIndex, length);
812
+ var O = toIndexedObject$3($this);
813
+ var length = lengthOfArrayLike$2(O);
814
+ var index = toAbsoluteIndex$1(fromIndex, length);
791
815
  var value;
792
816
  // Array#includes uses SameValueZero equality algorithm
793
817
  // eslint-disable-next-line no-self-compare -- NaN check
@@ -805,29 +829,29 @@ var createMethod = function (IS_INCLUDES) {
805
829
  var arrayIncludes = {
806
830
  // `Array.prototype.includes` method
807
831
  // https://tc39.es/ecma262/#sec-array.prototype.includes
808
- includes: createMethod(true),
832
+ includes: createMethod$1(true),
809
833
  // `Array.prototype.indexOf` method
810
834
  // https://tc39.es/ecma262/#sec-array.prototype.indexof
811
- indexOf: createMethod(false)
835
+ indexOf: createMethod$1(false)
812
836
  };
813
837
 
814
- var uncurryThis$2 = functionUncurryThis;
815
- var hasOwn$1 = hasOwnProperty_1;
816
- var toIndexedObject$1 = toIndexedObject$4;
838
+ var uncurryThis$b = functionUncurryThis;
839
+ var hasOwn$6 = hasOwnProperty_1;
840
+ var toIndexedObject$2 = toIndexedObject$5;
817
841
  var indexOf$1 = arrayIncludes.indexOf;
818
842
  var hiddenKeys$2 = hiddenKeys$4;
819
843
 
820
- var push = uncurryThis$2([].push);
844
+ var push$3 = uncurryThis$b([].push);
821
845
 
822
846
  var objectKeysInternal = function (object, names) {
823
- var O = toIndexedObject$1(object);
847
+ var O = toIndexedObject$2(object);
824
848
  var i = 0;
825
849
  var result = [];
826
850
  var key;
827
- for (key in O) !hasOwn$1(hiddenKeys$2, key) && hasOwn$1(O, key) && push(result, key);
851
+ for (key in O) !hasOwn$6(hiddenKeys$2, key) && hasOwn$6(O, key) && push$3(result, key);
828
852
  // Don't enum bug & hidden keys
829
- while (names.length > i) if (hasOwn$1(O, key = names[i++])) {
830
- ~indexOf$1(result, key) || push(result, key);
853
+ while (names.length > i) if (hasOwn$6(O, key = names[i++])) {
854
+ ~indexOf$1(result, key) || push$3(result, key);
831
855
  }
832
856
  return result;
833
857
  };
@@ -850,50 +874,50 @@ var hiddenKeys$1 = enumBugKeys$2.concat('length', 'prototype');
850
874
 
851
875
  // `Object.getOwnPropertyNames` method
852
876
  // https://tc39.es/ecma262/#sec-object.getownpropertynames
853
- // eslint-disable-next-line es/no-object-getownpropertynames -- safe
877
+ // eslint-disable-next-line es-x/no-object-getownpropertynames -- safe
854
878
  objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
855
879
  return internalObjectKeys$1(O, hiddenKeys$1);
856
880
  };
857
881
 
858
882
  var objectGetOwnPropertySymbols = {};
859
883
 
860
- // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
884
+ // eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe
861
885
  objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
862
886
 
863
- var getBuiltIn$1 = getBuiltIn$4;
864
- var uncurryThis$1 = functionUncurryThis;
887
+ var getBuiltIn$2 = getBuiltIn$5;
888
+ var uncurryThis$a = functionUncurryThis;
865
889
  var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
866
- var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
867
- var anObject$3 = anObject$5;
890
+ var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
891
+ var anObject$9 = anObject$b;
868
892
 
869
- var concat = uncurryThis$1([].concat);
893
+ var concat$1 = uncurryThis$a([].concat);
870
894
 
871
895
  // all object keys, includes non-enumerable and symbols
872
- var ownKeys$1 = getBuiltIn$1('Reflect', 'ownKeys') || function ownKeys(it) {
873
- var keys = getOwnPropertyNamesModule.f(anObject$3(it));
874
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
875
- return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
896
+ var ownKeys$1 = getBuiltIn$2('Reflect', 'ownKeys') || function ownKeys(it) {
897
+ var keys = getOwnPropertyNamesModule.f(anObject$9(it));
898
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
899
+ return getOwnPropertySymbols ? concat$1(keys, getOwnPropertySymbols(it)) : keys;
876
900
  };
877
901
 
878
- var hasOwn = hasOwnProperty_1;
902
+ var hasOwn$5 = hasOwnProperty_1;
879
903
  var ownKeys = ownKeys$1;
880
904
  var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
881
- var definePropertyModule$1 = objectDefineProperty;
905
+ var definePropertyModule$3 = objectDefineProperty;
882
906
 
883
907
  var copyConstructorProperties$1 = function (target, source, exceptions) {
884
908
  var keys = ownKeys(source);
885
- var defineProperty = definePropertyModule$1.f;
909
+ var defineProperty = definePropertyModule$3.f;
886
910
  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
887
911
  for (var i = 0; i < keys.length; i++) {
888
912
  var key = keys[i];
889
- if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
913
+ if (!hasOwn$5(target, key) && !(exceptions && hasOwn$5(exceptions, key))) {
890
914
  defineProperty(target, key, getOwnPropertyDescriptor(source, key));
891
915
  }
892
916
  }
893
917
  };
894
918
 
895
- var fails$3 = fails$a;
896
- var isCallable$1 = isCallable$a;
919
+ var fails$9 = fails$h;
920
+ var isCallable$7 = isCallable$h;
897
921
 
898
922
  var replacement = /#|\.prototype\./;
899
923
 
@@ -901,7 +925,7 @@ var isForced$1 = function (feature, detection) {
901
925
  var value = data[normalize(feature)];
902
926
  return value == POLYFILL ? true
903
927
  : value == NATIVE ? false
904
- : isCallable$1(detection) ? fails$3(detection)
928
+ : isCallable$7(detection) ? fails$9(detection)
905
929
  : !!detection;
906
930
  };
907
931
 
@@ -915,10 +939,10 @@ var POLYFILL = isForced$1.POLYFILL = 'P';
915
939
 
916
940
  var isForced_1 = isForced$1;
917
941
 
918
- var global$6 = global$q;
919
- var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
920
- var createNonEnumerableProperty = createNonEnumerableProperty$3;
921
- var redefine = redefine$1.exports;
942
+ var global$i = global$C;
943
+ var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
944
+ var createNonEnumerableProperty$2 = createNonEnumerableProperty$5;
945
+ var defineBuiltIn$6 = defineBuiltIn$7;
922
946
  var setGlobal = setGlobal$3;
923
947
  var copyConstructorProperties = copyConstructorProperties$1;
924
948
  var isForced = isForced_1;
@@ -944,16 +968,16 @@ var _export = function (options, source) {
944
968
  var STATIC = options.stat;
945
969
  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
946
970
  if (GLOBAL) {
947
- target = global$6;
971
+ target = global$i;
948
972
  } else if (STATIC) {
949
- target = global$6[TARGET] || setGlobal(TARGET, {});
973
+ target = global$i[TARGET] || setGlobal(TARGET, {});
950
974
  } else {
951
- target = (global$6[TARGET] || {}).prototype;
975
+ target = (global$i[TARGET] || {}).prototype;
952
976
  }
953
977
  if (target) for (key in source) {
954
978
  sourceProperty = source[key];
955
979
  if (options.noTargetGet) {
956
- descriptor = getOwnPropertyDescriptor(target, key);
980
+ descriptor = getOwnPropertyDescriptor$2(target, key);
957
981
  targetProperty = descriptor && descriptor.value;
958
982
  } else targetProperty = target[key];
959
983
  FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
@@ -964,30 +988,29 @@ var _export = function (options, source) {
964
988
  }
965
989
  // add a flag to not completely full polyfills
966
990
  if (options.sham || (targetProperty && targetProperty.sham)) {
967
- createNonEnumerableProperty(sourceProperty, 'sham', true);
991
+ createNonEnumerableProperty$2(sourceProperty, 'sham', true);
968
992
  }
969
- // extend global
970
- redefine(target, key, sourceProperty, options);
993
+ defineBuiltIn$6(target, key, sourceProperty, options);
971
994
  }
972
995
  };
973
996
 
974
- var wellKnownSymbol$1 = wellKnownSymbol$3;
997
+ var wellKnownSymbol$c = wellKnownSymbol$e;
975
998
 
976
- var TO_STRING_TAG$1 = wellKnownSymbol$1('toStringTag');
999
+ var TO_STRING_TAG$3 = wellKnownSymbol$c('toStringTag');
977
1000
  var test = {};
978
1001
 
979
- test[TO_STRING_TAG$1] = 'z';
1002
+ test[TO_STRING_TAG$3] = 'z';
980
1003
 
981
1004
  var toStringTagSupport = String(test) === '[object z]';
982
1005
 
983
- var global$5 = global$q;
1006
+ var global$h = global$C;
984
1007
  var TO_STRING_TAG_SUPPORT = toStringTagSupport;
985
- var isCallable = isCallable$a;
1008
+ var isCallable$6 = isCallable$h;
986
1009
  var classofRaw = classofRaw$1;
987
- var wellKnownSymbol = wellKnownSymbol$3;
1010
+ var wellKnownSymbol$b = wellKnownSymbol$e;
988
1011
 
989
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
990
- var Object$1 = global$5.Object;
1012
+ var TO_STRING_TAG$2 = wellKnownSymbol$b('toStringTag');
1013
+ var Object$2 = global$h.Object;
991
1014
 
992
1015
  // ES3 wrong here
993
1016
  var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
@@ -1000,34 +1023,35 @@ var tryGet = function (it, key) {
1000
1023
  };
1001
1024
 
1002
1025
  // getting tag from ES6+ `Object.prototype.toString`
1003
- var classof$1 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
1026
+ var classof$5 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
1004
1027
  var O, tag, result;
1005
1028
  return it === undefined ? 'Undefined' : it === null ? 'Null'
1006
1029
  // @@toStringTag case
1007
- : typeof (tag = tryGet(O = Object$1(it), TO_STRING_TAG)) == 'string' ? tag
1030
+ : typeof (tag = tryGet(O = Object$2(it), TO_STRING_TAG$2)) == 'string' ? tag
1008
1031
  // builtinTag case
1009
1032
  : CORRECT_ARGUMENTS ? classofRaw(O)
1010
1033
  // ES3 arguments fallback
1011
- : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
1034
+ : (result = classofRaw(O)) == 'Object' && isCallable$6(O.callee) ? 'Arguments' : result;
1012
1035
  };
1013
1036
 
1014
- var global$4 = global$q;
1015
- var classof = classof$1;
1037
+ var global$g = global$C;
1038
+ var classof$4 = classof$5;
1016
1039
 
1017
- var String$1 = global$4.String;
1040
+ var String$2 = global$g.String;
1018
1041
 
1019
- var toString$1 = function (argument) {
1020
- if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
1021
- return String$1(argument);
1042
+ var toString$4 = function (argument) {
1043
+ if (classof$4(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
1044
+ return String$2(argument);
1022
1045
  };
1023
1046
 
1024
- var anObject$2 = anObject$5;
1047
+ var anObject$8 = anObject$b;
1025
1048
 
1026
1049
  // `RegExp.prototype.flags` getter implementation
1027
1050
  // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
1028
1051
  var regexpFlags$1 = function () {
1029
- var that = anObject$2(this);
1052
+ var that = anObject$8(this);
1030
1053
  var result = '';
1054
+ if (that.hasIndices) result += 'd';
1031
1055
  if (that.global) result += 'g';
1032
1056
  if (that.ignoreCase) result += 'i';
1033
1057
  if (that.multiline) result += 'm';
@@ -1037,13 +1061,13 @@ var regexpFlags$1 = function () {
1037
1061
  return result;
1038
1062
  };
1039
1063
 
1040
- var fails$2 = fails$a;
1041
- var global$3 = global$q;
1064
+ var fails$8 = fails$h;
1065
+ var global$f = global$C;
1042
1066
 
1043
1067
  // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
1044
- var $RegExp$2 = global$3.RegExp;
1068
+ var $RegExp$2 = global$f.RegExp;
1045
1069
 
1046
- var UNSUPPORTED_Y$1 = fails$2(function () {
1070
+ var UNSUPPORTED_Y$1 = fails$8(function () {
1047
1071
  var re = $RegExp$2('a', 'y');
1048
1072
  re.lastIndex = 2;
1049
1073
  return re.exec('abcd') != null;
@@ -1051,11 +1075,11 @@ var UNSUPPORTED_Y$1 = fails$2(function () {
1051
1075
 
1052
1076
  // UC Browser bug
1053
1077
  // https://github.com/zloirock/core-js/issues/1008
1054
- var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$2(function () {
1078
+ var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$8(function () {
1055
1079
  return !$RegExp$2('a', 'y').sticky;
1056
1080
  });
1057
1081
 
1058
- var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$2(function () {
1082
+ var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$8(function () {
1059
1083
  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
1060
1084
  var re = $RegExp$2('^r', 'gy');
1061
1085
  re.lastIndex = 2;
@@ -1075,51 +1099,51 @@ var enumBugKeys$1 = enumBugKeys$3;
1075
1099
 
1076
1100
  // `Object.keys` method
1077
1101
  // https://tc39.es/ecma262/#sec-object.keys
1078
- // eslint-disable-next-line es/no-object-keys -- safe
1079
- var objectKeys$1 = Object.keys || function keys(O) {
1102
+ // eslint-disable-next-line es-x/no-object-keys -- safe
1103
+ var objectKeys$2 = Object.keys || function keys(O) {
1080
1104
  return internalObjectKeys(O, enumBugKeys$1);
1081
1105
  };
1082
1106
 
1083
- var DESCRIPTORS = descriptors;
1107
+ var DESCRIPTORS$4 = descriptors;
1084
1108
  var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
1085
- var definePropertyModule = objectDefineProperty;
1086
- var anObject$1 = anObject$5;
1087
- var toIndexedObject = toIndexedObject$4;
1088
- var objectKeys = objectKeys$1;
1109
+ var definePropertyModule$2 = objectDefineProperty;
1110
+ var anObject$7 = anObject$b;
1111
+ var toIndexedObject$1 = toIndexedObject$5;
1112
+ var objectKeys$1 = objectKeys$2;
1089
1113
 
1090
1114
  // `Object.defineProperties` method
1091
1115
  // https://tc39.es/ecma262/#sec-object.defineproperties
1092
- // eslint-disable-next-line es/no-object-defineproperties -- safe
1093
- objectDefineProperties.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
1094
- anObject$1(O);
1095
- var props = toIndexedObject(Properties);
1096
- var keys = objectKeys(Properties);
1116
+ // eslint-disable-next-line es-x/no-object-defineproperties -- safe
1117
+ objectDefineProperties.f = DESCRIPTORS$4 && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
1118
+ anObject$7(O);
1119
+ var props = toIndexedObject$1(Properties);
1120
+ var keys = objectKeys$1(Properties);
1097
1121
  var length = keys.length;
1098
1122
  var index = 0;
1099
1123
  var key;
1100
- while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
1124
+ while (length > index) definePropertyModule$2.f(O, key = keys[index++], props[key]);
1101
1125
  return O;
1102
1126
  };
1103
1127
 
1104
- var getBuiltIn = getBuiltIn$4;
1128
+ var getBuiltIn$1 = getBuiltIn$5;
1105
1129
 
1106
- var html$1 = getBuiltIn('document', 'documentElement');
1130
+ var html$1 = getBuiltIn$1('document', 'documentElement');
1107
1131
 
1108
1132
  /* global ActiveXObject -- old IE, WSH */
1109
1133
 
1110
- var anObject = anObject$5;
1134
+ var anObject$6 = anObject$b;
1111
1135
  var definePropertiesModule = objectDefineProperties;
1112
1136
  var enumBugKeys = enumBugKeys$3;
1113
1137
  var hiddenKeys = hiddenKeys$4;
1114
1138
  var html = html$1;
1115
- var documentCreateElement = documentCreateElement$1;
1116
- var sharedKey = sharedKey$2;
1139
+ var documentCreateElement$1 = documentCreateElement$2;
1140
+ var sharedKey$1 = sharedKey$3;
1117
1141
 
1118
1142
  var GT$1 = '>';
1119
1143
  var LT$1 = '<';
1120
1144
  var PROTOTYPE = 'prototype';
1121
1145
  var SCRIPT = 'script';
1122
- var IE_PROTO = sharedKey('IE_PROTO');
1146
+ var IE_PROTO$1 = sharedKey$1('IE_PROTO');
1123
1147
 
1124
1148
  var EmptyConstructor = function () { /* empty */ };
1125
1149
 
@@ -1139,7 +1163,7 @@ var NullProtoObjectViaActiveX = function (activeXDocument) {
1139
1163
  // Create object with fake `null` prototype: use iframe Object with cleared prototype
1140
1164
  var NullProtoObjectViaIFrame = function () {
1141
1165
  // Thrash, waste and sodomy: IE GC bug
1142
- var iframe = documentCreateElement('iframe');
1166
+ var iframe = documentCreateElement$1('iframe');
1143
1167
  var JS = 'java' + SCRIPT + ':';
1144
1168
  var iframeDocument;
1145
1169
  iframe.style.display = 'none';
@@ -1173,40 +1197,41 @@ var NullProtoObject = function () {
1173
1197
  return NullProtoObject();
1174
1198
  };
1175
1199
 
1176
- hiddenKeys[IE_PROTO] = true;
1200
+ hiddenKeys[IE_PROTO$1] = true;
1177
1201
 
1178
1202
  // `Object.create` method
1179
1203
  // https://tc39.es/ecma262/#sec-object.create
1204
+ // eslint-disable-next-line es-x/no-object-create -- safe
1180
1205
  var objectCreate = Object.create || function create(O, Properties) {
1181
1206
  var result;
1182
1207
  if (O !== null) {
1183
- EmptyConstructor[PROTOTYPE] = anObject(O);
1208
+ EmptyConstructor[PROTOTYPE] = anObject$6(O);
1184
1209
  result = new EmptyConstructor();
1185
1210
  EmptyConstructor[PROTOTYPE] = null;
1186
1211
  // add "__proto__" for Object.getPrototypeOf polyfill
1187
- result[IE_PROTO] = O;
1212
+ result[IE_PROTO$1] = O;
1188
1213
  } else result = NullProtoObject();
1189
1214
  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
1190
1215
  };
1191
1216
 
1192
- var fails$1 = fails$a;
1193
- var global$2 = global$q;
1217
+ var fails$7 = fails$h;
1218
+ var global$e = global$C;
1194
1219
 
1195
1220
  // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
1196
- var $RegExp$1 = global$2.RegExp;
1221
+ var $RegExp$1 = global$e.RegExp;
1197
1222
 
1198
- var regexpUnsupportedDotAll = fails$1(function () {
1223
+ var regexpUnsupportedDotAll = fails$7(function () {
1199
1224
  var re = $RegExp$1('.', 's');
1200
1225
  return !(re.dotAll && re.exec('\n') && re.flags === 's');
1201
1226
  });
1202
1227
 
1203
- var fails = fails$a;
1204
- var global$1 = global$q;
1228
+ var fails$6 = fails$h;
1229
+ var global$d = global$C;
1205
1230
 
1206
1231
  // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
1207
- var $RegExp = global$1.RegExp;
1232
+ var $RegExp = global$d.RegExp;
1208
1233
 
1209
- var regexpUnsupportedNcg = fails(function () {
1234
+ var regexpUnsupportedNcg = fails$6(function () {
1210
1235
  var re = $RegExp('(?<a>b)', 'g');
1211
1236
  return re.exec('b').groups.a !== 'b' ||
1212
1237
  'b'.replace(re, '$<a>c') !== 'bc';
@@ -1214,30 +1239,30 @@ var regexpUnsupportedNcg = fails(function () {
1214
1239
 
1215
1240
  /* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
1216
1241
  /* eslint-disable regexp/no-useless-quantifier -- testing */
1217
- var call = functionCall;
1218
- var uncurryThis = functionUncurryThis;
1219
- var toString = toString$1;
1242
+ var call$7 = functionCall;
1243
+ var uncurryThis$9 = functionUncurryThis;
1244
+ var toString$3 = toString$4;
1220
1245
  var regexpFlags = regexpFlags$1;
1221
1246
  var stickyHelpers = regexpStickyHelpers;
1222
1247
  var shared = shared$4.exports;
1223
- var create = objectCreate;
1224
- var getInternalState = internalState.get;
1248
+ var create$3 = objectCreate;
1249
+ var getInternalState$2 = internalState.get;
1225
1250
  var UNSUPPORTED_DOT_ALL = regexpUnsupportedDotAll;
1226
1251
  var UNSUPPORTED_NCG = regexpUnsupportedNcg;
1227
1252
 
1228
1253
  var nativeReplace = shared('native-string-replace', String.prototype.replace);
1229
1254
  var nativeExec = RegExp.prototype.exec;
1230
1255
  var patchedExec = nativeExec;
1231
- var charAt = uncurryThis(''.charAt);
1232
- var indexOf = uncurryThis(''.indexOf);
1233
- var replace = uncurryThis(''.replace);
1234
- var stringSlice = uncurryThis(''.slice);
1256
+ var charAt$4 = uncurryThis$9(''.charAt);
1257
+ var indexOf = uncurryThis$9(''.indexOf);
1258
+ var replace$3 = uncurryThis$9(''.replace);
1259
+ var stringSlice$4 = uncurryThis$9(''.slice);
1235
1260
 
1236
1261
  var UPDATES_LAST_INDEX_WRONG = (function () {
1237
1262
  var re1 = /a/;
1238
1263
  var re2 = /b*/g;
1239
- call(nativeExec, re1, 'a');
1240
- call(nativeExec, re2, 'a');
1264
+ call$7(nativeExec, re1, 'a');
1265
+ call$7(nativeExec, re2, 'a');
1241
1266
  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
1242
1267
  })();
1243
1268
 
@@ -1251,34 +1276,34 @@ var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPP
1251
1276
  if (PATCH) {
1252
1277
  patchedExec = function exec(string) {
1253
1278
  var re = this;
1254
- var state = getInternalState(re);
1255
- var str = toString(string);
1279
+ var state = getInternalState$2(re);
1280
+ var str = toString$3(string);
1256
1281
  var raw = state.raw;
1257
1282
  var result, reCopy, lastIndex, match, i, object, group;
1258
1283
 
1259
1284
  if (raw) {
1260
1285
  raw.lastIndex = re.lastIndex;
1261
- result = call(patchedExec, raw, str);
1286
+ result = call$7(patchedExec, raw, str);
1262
1287
  re.lastIndex = raw.lastIndex;
1263
1288
  return result;
1264
1289
  }
1265
1290
 
1266
1291
  var groups = state.groups;
1267
1292
  var sticky = UNSUPPORTED_Y && re.sticky;
1268
- var flags = call(regexpFlags, re);
1293
+ var flags = call$7(regexpFlags, re);
1269
1294
  var source = re.source;
1270
1295
  var charsAdded = 0;
1271
1296
  var strCopy = str;
1272
1297
 
1273
1298
  if (sticky) {
1274
- flags = replace(flags, 'y', '');
1299
+ flags = replace$3(flags, 'y', '');
1275
1300
  if (indexOf(flags, 'g') === -1) {
1276
1301
  flags += 'g';
1277
1302
  }
1278
1303
 
1279
- strCopy = stringSlice(str, re.lastIndex);
1304
+ strCopy = stringSlice$4(str, re.lastIndex);
1280
1305
  // Support anchored sticky behavior.
1281
- if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\n')) {
1306
+ if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt$4(str, re.lastIndex - 1) !== '\n')) {
1282
1307
  source = '(?: ' + source + ')';
1283
1308
  strCopy = ' ' + strCopy;
1284
1309
  charsAdded++;
@@ -1293,12 +1318,12 @@ if (PATCH) {
1293
1318
  }
1294
1319
  if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
1295
1320
 
1296
- match = call(nativeExec, sticky ? reCopy : re, strCopy);
1321
+ match = call$7(nativeExec, sticky ? reCopy : re, strCopy);
1297
1322
 
1298
1323
  if (sticky) {
1299
1324
  if (match) {
1300
- match.input = stringSlice(match.input, charsAdded);
1301
- match[0] = stringSlice(match[0], charsAdded);
1325
+ match.input = stringSlice$4(match.input, charsAdded);
1326
+ match[0] = stringSlice$4(match[0], charsAdded);
1302
1327
  match.index = re.lastIndex;
1303
1328
  re.lastIndex += match[0].length;
1304
1329
  } else re.lastIndex = 0;
@@ -1308,7 +1333,7 @@ if (PATCH) {
1308
1333
  if (NPCG_INCLUDED && match && match.length > 1) {
1309
1334
  // Fix browsers whose `exec` methods don't consistently return `undefined`
1310
1335
  // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
1311
- call(nativeReplace, match[0], reCopy, function () {
1336
+ call$7(nativeReplace, match[0], reCopy, function () {
1312
1337
  for (i = 1; i < arguments.length - 2; i++) {
1313
1338
  if (arguments[i] === undefined) match[i] = undefined;
1314
1339
  }
@@ -1316,7 +1341,7 @@ if (PATCH) {
1316
1341
  }
1317
1342
 
1318
1343
  if (match && groups) {
1319
- match.groups = object = create(null);
1344
+ match.groups = object = create$3(null);
1320
1345
  for (i = 0; i < groups.length; i++) {
1321
1346
  group = groups[i];
1322
1347
  object[group[0]] = match[group[1]];
@@ -1329,177 +1354,2801 @@ if (PATCH) {
1329
1354
 
1330
1355
  var regexpExec = patchedExec;
1331
1356
 
1332
- var $ = _export;
1333
- var exec = regexpExec;
1357
+ var $$4 = _export;
1358
+ var exec$3 = regexpExec;
1334
1359
 
1335
1360
  // `RegExp.prototype.exec` method
1336
1361
  // https://tc39.es/ecma262/#sec-regexp.prototype.exec
1337
- $({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
1338
- exec: exec
1362
+ $$4({ target: 'RegExp', proto: true, forced: /./.exec !== exec$3 }, {
1363
+ exec: exec$3
1339
1364
  });
1340
1365
 
1341
- var Chanukah="Hanukkah, the Jewish festival of rededication. Also known as the Festival of Lights";var Pesach="Passover, the Feast of Unleavened Bread. Also called Chag HaMatzot (the Festival of Matzah), it commemorates the Exodus and freedom of the Israelites from ancient Egypt";var Purim="Celebration of Jewish deliverance as told by Megilat Esther. It commemorates a time when the Jewish people living in Persia were saved from extermination";var Shavuot="Festival of Weeks. Commemorates the giving of the Torah at Mount Sinai";var Sigd="Ethiopian Jewish holiday occurring 50 days after Yom Kippur";var Sukkot="Feast of Booths";var holidayDescription = {"Asara B'Tevet":"Fast commemorating the siege of Jerusalem",Chanukah:Chanukah,"Days of the Omer":"7 weeks from the second night of Pesach to the day before Shavuot","Lag BaOmer":"33rd day of counting the Omer","Leil Selichot":"Prayers for forgiveness in preparation for the High Holidays","Pesach Sheni":"Second Passover, one month after Passover",Pesach:Pesach,"Purim Katan":"Minor Purim celebration during Adar I on leap years",Purim:Purim,"Rosh Chodesh Nisan":"Start of month of Nisan on the Hebrew calendar. נִיסָן (transliterated Nisan or Nissan) is the 1st month of the Hebrew year, has 30 days, and corresponds to March or April on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Iyyar":"Start of month of Iyyar on the Hebrew calendar. אִיָיר (transliterated Iyyar or Iyar) is the 2nd month of the Hebrew year, has 29 days, and corresponds to April or May on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sivan":"Start of month of Sivan on the Hebrew calendar. Sivan (סִיוָן) is the 3rd month of the Hebrew year, has 30 days, and corresponds to May or June on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tamuz":"Start of month of Tamuz on the Hebrew calendar. תַּמּוּז (transliterated Tamuz or Tammuz) is the 4th month of the Hebrew year, has 29 days, and corresponds to June or July on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Av":"Start of month of Av on the Hebrew calendar. Av (אָב) is the 5th month of the Hebrew year, has 30 days, and corresponds to July or August on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Elul":"Start of month of Elul on the Hebrew calendar. Elul (אֱלוּל) is the 6th month of the Hebrew year, has 29 days, and corresponds to August or September on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Cheshvan":"Start of month of Cheshvan on the Hebrew calendar. חֶשְׁוָן (transliterated Cheshvan or Heshvan) is the 8th month of the Hebrew year, has 29 or 30 days, and corresponds to October or November on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Kislev":"Start of month of Kislev on the Hebrew calendar. Kislev (כִּסְלֵו) is the 9th month of the Hebrew year, has 30 or 29 days, and corresponds to November or December on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tevet":"Start of month of Tevet on the Hebrew calendar. Tevet (טֵבֵת) is the 10th month of the Hebrew year, has 29 days, and corresponds to December or January on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sh'vat":"Start of month of Sh'vat on the Hebrew calendar. שְׁבָט (transliterated Sh'vat or Shevat) is the 11th month of the Hebrew year, has 30 days, and corresponds to January or February on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar":"Start of month of Adar on the Hebrew calendar. Adar (אַדָר) is the 12th month of the Hebrew year, has 29 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar I":"Start of month of Adar I (on leap years) on the Hebrew calendar. Adar I (אַדָר א׳) is the 12th month of the Hebrew year, occurs only on leap years, has 30 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar II":"Start of month of Adar II (on leap years) on the Hebrew calendar. Adar II (אַדָר ב׳), sometimes \"Adar Bet\" or \"Adar Sheni\", is the 13th month of the Hebrew year, has 29 days, occurs only on leap years, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Hashana":"The Jewish New Year. Also spelled Rosh Hashanah","Rosh Hashana LaBehemot":"New Year for Tithing Animals","Shabbat Chazon":"Shabbat before Tish'a B'Av (Shabbat of Prophecy/Shabbat of Vision)","Shabbat HaChodesh":"Shabbat before Rosh Chodesh Nissan","Shabbat HaGadol":"Shabbat before Pesach","Shabbat Machar Chodesh":"When Shabbat falls the day before Rosh Chodesh","Shabbat Nachamu":"Shabbat after Tish'a B'Av (Shabbat of Consolation). The first of seven Shabbatot leading up to Rosh Hashanah. Named after the Haftarah (from Isaiah 40) which begins with the verse נַחֲמוּ נַחֲמוּ, עַמִּי (\"Comfort, oh comfort my people\")","Shabbat Parah":"Shabbat of the Red Heifer","Shabbat Rosh Chodesh":"When Shabbat falls on Rosh Chodesh","Shabbat Shekalim":"Shabbat before Rosh Chodesh Adar","Shabbat Shirah":"Shabbat of Song","Shabbat Shuva":"Shabbat that falls between Rosh Hashanah and Yom Kippur (Shabbat of Returning)","Shabbat Zachor":"Shabbat before Purim",Shavuot:Shavuot,"Shmini Atzeret":"Eighth Day of Assembly","Shushan Purim":"Purim celebrated in Jerusalem and walled cities",Sigd:Sigd,"Simchat Torah":"Day of Celebrating the Torah",Sukkot:Sukkot,"Ta'anit Bechorot":"Fast of the First Born","Ta'anit Esther":"Fast of Esther","Tish'a B'Av":"The Ninth of Av. Fast commemorating the destruction of the two Temples","Tu B'Av":"Minor Jewish holiday of love. Observed on the 15th day of the Hebrew month of Av","Tu BiShvat":"New Year for Trees","Tzom Gedaliah":"Fast of the Seventh Month. Commemorates the assassination of the Jewish governor of Judah","Tzom Tammuz":"Fast commemorating breaching of the walls of Jerusalem before the destruction of the Second Temple","Yom HaAliyah":"Recognizes Aliyah, immigration to the Jewish State of Israel","Yom HaAliyah School Observance":"Aliyah Day observed in Israeli schools","Yom HaAtzma'ut":"Israeli Independence Day. Commemorates the declaration of independence of Israel in 1948. Note that Hebcal displays modern holidays like Yom HaAtzma'ut according to the Israeli schedule. Although Yom HaAtzma'ut is normally observed on the 5th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaZikaron, which always precedes it) would conflict with Shabbat","Yom HaShoah":"Holocaust Memorial Day","Yom HaZikaron":"Israeli Memorial Day. Note that Hebcal displays modern holidays like Yom HaZikaron according to the Israeli schedule. Although Yom Hazikaron is normally observed on the 4th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaAtzma'ut, which always follows it) would conflict with Shabbat","Yom Kippur":"Day of Atonement","Yom Yerushalayim":"Jerusalem Day. Commemorates the re-unification of Jerusalem in 1967"};
1342
-
1343
- /**
1344
- * Helper function to transform a string to make it more usable in a URL or filename.
1345
- * Converts to lowercase and replaces non-word characters with hyphen ('-').
1346
- * @example
1347
- * makeAnchor('Rosh Chodesh Adar II') // 'rosh-chodesh-adar-ii'
1348
- * @param {string} s
1349
- * @return {string}
1350
- */
1366
+ // iterable DOM collections
1367
+ // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
1368
+ var domIterables = {
1369
+ CSSRuleList: 0,
1370
+ CSSStyleDeclaration: 0,
1371
+ CSSValueList: 0,
1372
+ ClientRectList: 0,
1373
+ DOMRectList: 0,
1374
+ DOMStringList: 0,
1375
+ DOMTokenList: 1,
1376
+ DataTransferItemList: 0,
1377
+ FileList: 0,
1378
+ HTMLAllCollection: 0,
1379
+ HTMLCollection: 0,
1380
+ HTMLFormElement: 0,
1381
+ HTMLSelectElement: 0,
1382
+ MediaList: 0,
1383
+ MimeTypeArray: 0,
1384
+ NamedNodeMap: 0,
1385
+ NodeList: 1,
1386
+ PaintRequestList: 0,
1387
+ Plugin: 0,
1388
+ PluginArray: 0,
1389
+ SVGLengthList: 0,
1390
+ SVGNumberList: 0,
1391
+ SVGPathSegList: 0,
1392
+ SVGPointList: 0,
1393
+ SVGStringList: 0,
1394
+ SVGTransformList: 0,
1395
+ SourceBufferList: 0,
1396
+ StyleSheetList: 0,
1397
+ TextTrackCueList: 0,
1398
+ TextTrackList: 0,
1399
+ TouchList: 0
1400
+ };
1351
1401
 
1352
- function makeAnchor(s) {
1353
- return s.toLowerCase().replace(/'/g, '').replace(/[^\w]/g, '-').replace(/-+/g, '-').replace(/^-/g, '').replace(/-$/g, '');
1354
- }
1355
- /**
1356
- * @param {HebrewCalendar.Options} options
1357
- * @return {string}
1358
- */
1402
+ // in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`
1403
+ var documentCreateElement = documentCreateElement$2;
1359
1404
 
1360
- function getDownloadFilename(options) {
1361
- let fileName = 'hebcal_' + options.year;
1405
+ var classList = documentCreateElement('span').classList;
1406
+ var DOMTokenListPrototype$1 = classList && classList.constructor && classList.constructor.prototype;
1362
1407
 
1363
- if (options.isHebrewYear) {
1364
- fileName += 'h';
1365
- }
1408
+ var domTokenListPrototype = DOMTokenListPrototype$1 === Object.prototype ? undefined : DOMTokenListPrototype$1;
1366
1409
 
1367
- if (options.month) {
1368
- fileName += '_' + options.month;
1369
- }
1410
+ var wellKnownSymbol$a = wellKnownSymbol$e;
1411
+ var create$2 = objectCreate;
1412
+ var definePropertyModule$1 = objectDefineProperty;
1370
1413
 
1371
- if (options.location) {
1372
- const name = options.location.zip || options.location.asciiname || options.location.getShortName();
1373
- fileName += '_' + makeAnchor(name).replace(/[-]/g, '_');
1374
- }
1414
+ var UNSCOPABLES = wellKnownSymbol$a('unscopables');
1415
+ var ArrayPrototype$1 = Array.prototype;
1375
1416
 
1376
- return fileName;
1417
+ // Array.prototype[@@unscopables]
1418
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1419
+ if (ArrayPrototype$1[UNSCOPABLES] == undefined) {
1420
+ definePropertyModule$1.f(ArrayPrototype$1, UNSCOPABLES, {
1421
+ configurable: true,
1422
+ value: create$2(null)
1423
+ });
1377
1424
  }
1378
- /**
1379
- * @param {number} number
1380
- * @return {string}
1381
- */
1382
1425
 
1383
- function pad2(number) {
1384
- if (number < 10) {
1385
- return '0' + number;
1386
- }
1426
+ // add a key to Array.prototype[@@unscopables]
1427
+ var addToUnscopables$1 = function (key) {
1428
+ ArrayPrototype$1[UNSCOPABLES][key] = true;
1429
+ };
1387
1430
 
1388
- return String(number);
1389
- }
1390
- /**
1391
- * @param {number} number
1392
- * @return {string}
1393
- */
1431
+ var iterators = {};
1394
1432
 
1395
- function pad4(number) {
1396
- if (number < 0) {
1397
- return '-00' + pad4(-number);
1398
- } else if (number < 10) {
1399
- return '000' + number;
1400
- } else if (number < 100) {
1401
- return '00' + number;
1402
- } else if (number < 1000) {
1403
- return '0' + number;
1404
- }
1433
+ var fails$5 = fails$h;
1405
1434
 
1406
- return String(number);
1407
- }
1408
- /**
1409
- * Get offset string (like "+05:00" or "-08:00") from tzid (like "Europe/Moscow")
1410
- * @deprecated
1411
- * @param {string} tzid
1412
- * @param {Date} date
1413
- * @return {string}
1414
- */
1435
+ var correctPrototypeGetter = !fails$5(function () {
1436
+ function F() { /* empty */ }
1437
+ F.prototype.constructor = null;
1438
+ // eslint-disable-next-line es-x/no-object-getprototypeof -- required for testing
1439
+ return Object.getPrototypeOf(new F()) !== F.prototype;
1440
+ });
1415
1441
 
1416
- function timeZoneOffsetStr(tzid, date) {
1417
- return core.Zmanim.timeZoneOffset(tzid, date);
1418
- }
1419
- /**
1420
- * Returns just the date portion as YYYY-MM-DD
1421
- * @param {Date} d
1422
- * @return {string}
1423
- */
1442
+ var global$c = global$C;
1443
+ var hasOwn$4 = hasOwnProperty_1;
1444
+ var isCallable$5 = isCallable$h;
1445
+ var toObject$2 = toObject$4;
1446
+ var sharedKey = sharedKey$3;
1447
+ var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter;
1424
1448
 
1425
- function toISOString(d) {
1426
- return pad4(d.getFullYear()) + '-' + pad2(d.getMonth() + 1) + '-' + pad2(d.getDate());
1427
- }
1428
- /**
1429
- * Returns a string like "2018-09-01T12:30:00-05:00"
1430
- * @deprecated
1431
- * @param {Date} date
1432
- * @param {string} timeStr must be formatted with only hours and minutes, like "17:12"
1433
- * @param {string} tzid like "America/New_York"
1434
- * @return {string}
1435
- */
1449
+ var IE_PROTO = sharedKey('IE_PROTO');
1450
+ var Object$1 = global$c.Object;
1451
+ var ObjectPrototype = Object$1.prototype;
1452
+
1453
+ // `Object.getPrototypeOf` method
1454
+ // https://tc39.es/ecma262/#sec-object.getprototypeof
1455
+ var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? Object$1.getPrototypeOf : function (O) {
1456
+ var object = toObject$2(O);
1457
+ if (hasOwn$4(object, IE_PROTO)) return object[IE_PROTO];
1458
+ var constructor = object.constructor;
1459
+ if (isCallable$5(constructor) && object instanceof constructor) {
1460
+ return constructor.prototype;
1461
+ } return object instanceof Object$1 ? ObjectPrototype : null;
1462
+ };
1436
1463
 
1437
- function toISOStringWithTimezone(date, timeStr, tzid) {
1438
- const str = toISOString(date);
1439
- if (!timeStr) return str;
1440
- return str + 'T' + timeStr + ':00' + core.Zmanim.timeZoneOffset(tzid, date);
1464
+ var fails$4 = fails$h;
1465
+ var isCallable$4 = isCallable$h;
1466
+ var getPrototypeOf$1 = objectGetPrototypeOf;
1467
+ var defineBuiltIn$5 = defineBuiltIn$7;
1468
+ var wellKnownSymbol$9 = wellKnownSymbol$e;
1469
+
1470
+ var ITERATOR$6 = wellKnownSymbol$9('iterator');
1471
+ var BUGGY_SAFARI_ITERATORS$1 = false;
1472
+
1473
+ // `%IteratorPrototype%` object
1474
+ // https://tc39.es/ecma262/#sec-%iteratorprototype%-object
1475
+ var IteratorPrototype$2, PrototypeOfArrayIteratorPrototype, arrayIterator;
1476
+
1477
+ /* eslint-disable es-x/no-array-prototype-keys -- safe */
1478
+ if ([].keys) {
1479
+ arrayIterator = [].keys();
1480
+ // Safari 8 has buggy iterators w/o `next`
1481
+ if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS$1 = true;
1482
+ else {
1483
+ PrototypeOfArrayIteratorPrototype = getPrototypeOf$1(getPrototypeOf$1(arrayIterator));
1484
+ if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype$2 = PrototypeOfArrayIteratorPrototype;
1485
+ }
1441
1486
  }
1442
- /**
1443
- * Returns a category and subcategory name
1444
- * @param {Event} ev
1445
- * @return {string[]}
1446
- */
1447
1487
 
1448
- function getEventCategories(ev) {
1449
- const desc = ev.getDesc(); // since these use flags.MINOR_FAST or flags.MAJOR_FAST, check description first
1488
+ var NEW_ITERATOR_PROTOTYPE = IteratorPrototype$2 == undefined || fails$4(function () {
1489
+ var test = {};
1490
+ // FF44- legacy iterators case
1491
+ return IteratorPrototype$2[ITERATOR$6].call(test) !== test;
1492
+ });
1450
1493
 
1451
- if (desc === 'Fast begins' || desc === 'Fast ends') {
1452
- return ['zmanim', 'fast'];
1453
- }
1494
+ if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};
1454
1495
 
1455
- switch (ev.getFlags()) {
1456
- case core.flags.OMER_COUNT:
1457
- return ['omer'];
1496
+ // `%IteratorPrototype%[@@iterator]()` method
1497
+ // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
1498
+ if (!isCallable$4(IteratorPrototype$2[ITERATOR$6])) {
1499
+ defineBuiltIn$5(IteratorPrototype$2, ITERATOR$6, function () {
1500
+ return this;
1501
+ });
1502
+ }
1458
1503
 
1459
- case core.flags.HEBREW_DATE:
1460
- return ['hebdate'];
1504
+ var iteratorsCore = {
1505
+ IteratorPrototype: IteratorPrototype$2,
1506
+ BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1
1507
+ };
1461
1508
 
1462
- case core.flags.PARSHA_HASHAVUA:
1463
- return ['parashat'];
1464
- // backwards-compat
1509
+ var defineProperty$3 = objectDefineProperty.f;
1510
+ var hasOwn$3 = hasOwnProperty_1;
1511
+ var wellKnownSymbol$8 = wellKnownSymbol$e;
1465
1512
 
1466
- case core.flags.DAF_YOMI:
1467
- return ['dafyomi'];
1513
+ var TO_STRING_TAG$1 = wellKnownSymbol$8('toStringTag');
1468
1514
 
1469
- case core.flags.ROSH_CHODESH:
1470
- return ['roshchodesh'];
1515
+ var setToStringTag$4 = function (target, TAG, STATIC) {
1516
+ if (target && !STATIC) target = target.prototype;
1517
+ if (target && !hasOwn$3(target, TO_STRING_TAG$1)) {
1518
+ defineProperty$3(target, TO_STRING_TAG$1, { configurable: true, value: TAG });
1519
+ }
1520
+ };
1471
1521
 
1472
- case core.flags.SPECIAL_SHABBAT:
1473
- return ['holiday', 'shabbat'];
1522
+ var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
1523
+ var create$1 = objectCreate;
1524
+ var createPropertyDescriptor$2 = createPropertyDescriptor$5;
1525
+ var setToStringTag$3 = setToStringTag$4;
1526
+ var Iterators$4 = iterators;
1474
1527
 
1475
- case core.flags.MINOR_FAST:
1476
- return ['holiday', 'fast'];
1528
+ var returnThis$1 = function () { return this; };
1477
1529
 
1478
- case core.flags.MAJOR_FAST:
1479
- return ['holiday', 'fast', 'major'];
1530
+ var createIteratorConstructor$2 = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
1531
+ var TO_STRING_TAG = NAME + ' Iterator';
1532
+ IteratorConstructor.prototype = create$1(IteratorPrototype$1, { next: createPropertyDescriptor$2(+!ENUMERABLE_NEXT, next) });
1533
+ setToStringTag$3(IteratorConstructor, TO_STRING_TAG, false);
1534
+ Iterators$4[TO_STRING_TAG] = returnThis$1;
1535
+ return IteratorConstructor;
1536
+ };
1480
1537
 
1481
- case core.flags.MODERN_HOLIDAY:
1482
- return ['holiday', 'modern'];
1538
+ var global$b = global$C;
1539
+ var isCallable$3 = isCallable$h;
1483
1540
 
1484
- case core.flags.SHABBAT_MEVARCHIM:
1485
- return ['mevarchim'];
1541
+ var String$1 = global$b.String;
1542
+ var TypeError$7 = global$b.TypeError;
1486
1543
 
1487
- case core.flags.MOLAD:
1488
- return ['molad'];
1544
+ var aPossiblePrototype$1 = function (argument) {
1545
+ if (typeof argument == 'object' || isCallable$3(argument)) return argument;
1546
+ throw TypeError$7("Can't set " + String$1(argument) + ' as a prototype');
1547
+ };
1489
1548
 
1490
- case core.flags.USER_EVENT:
1491
- return ['user'];
1549
+ /* eslint-disable no-proto -- safe */
1492
1550
 
1493
- case core.flags.MINOR_HOLIDAY:
1494
- return ['holiday', 'minor'];
1551
+ var uncurryThis$8 = functionUncurryThis;
1552
+ var anObject$5 = anObject$b;
1553
+ var aPossiblePrototype = aPossiblePrototype$1;
1554
+
1555
+ // `Object.setPrototypeOf` method
1556
+ // https://tc39.es/ecma262/#sec-object.setprototypeof
1557
+ // Works with __proto__ only. Old v8 can't work with null proto objects.
1558
+ // eslint-disable-next-line es-x/no-object-setprototypeof -- safe
1559
+ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
1560
+ var CORRECT_SETTER = false;
1561
+ var test = {};
1562
+ var setter;
1563
+ try {
1564
+ // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
1565
+ setter = uncurryThis$8(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
1566
+ setter(test, []);
1567
+ CORRECT_SETTER = test instanceof Array;
1568
+ } catch (error) { /* empty */ }
1569
+ return function setPrototypeOf(O, proto) {
1570
+ anObject$5(O);
1571
+ aPossiblePrototype(proto);
1572
+ if (CORRECT_SETTER) setter(O, proto);
1573
+ else O.__proto__ = proto;
1574
+ return O;
1575
+ };
1576
+ }() : undefined);
1577
+
1578
+ var $$3 = _export;
1579
+ var call$6 = functionCall;
1580
+ var FunctionName = functionName;
1581
+ var isCallable$2 = isCallable$h;
1582
+ var createIteratorConstructor$1 = createIteratorConstructor$2;
1583
+ var getPrototypeOf = objectGetPrototypeOf;
1584
+ var setPrototypeOf = objectSetPrototypeOf;
1585
+ var setToStringTag$2 = setToStringTag$4;
1586
+ var createNonEnumerableProperty$1 = createNonEnumerableProperty$5;
1587
+ var defineBuiltIn$4 = defineBuiltIn$7;
1588
+ var wellKnownSymbol$7 = wellKnownSymbol$e;
1589
+ var Iterators$3 = iterators;
1590
+ var IteratorsCore = iteratorsCore;
1591
+
1592
+ var PROPER_FUNCTION_NAME$1 = FunctionName.PROPER;
1593
+ var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
1594
+ var IteratorPrototype = IteratorsCore.IteratorPrototype;
1595
+ var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
1596
+ var ITERATOR$5 = wellKnownSymbol$7('iterator');
1597
+ var KEYS = 'keys';
1598
+ var VALUES = 'values';
1599
+ var ENTRIES = 'entries';
1600
+
1601
+ var returnThis = function () { return this; };
1602
+
1603
+ var defineIterator$2 = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
1604
+ createIteratorConstructor$1(IteratorConstructor, NAME, next);
1605
+
1606
+ var getIterationMethod = function (KIND) {
1607
+ if (KIND === DEFAULT && defaultIterator) return defaultIterator;
1608
+ if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
1609
+ switch (KIND) {
1610
+ case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
1611
+ case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
1612
+ case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
1613
+ } return function () { return new IteratorConstructor(this); };
1614
+ };
1495
1615
 
1496
- case core.flags.MISHNA_YOMI:
1497
- return ['mishnayomi'];
1498
- // fall through to string-based category
1616
+ var TO_STRING_TAG = NAME + ' Iterator';
1617
+ var INCORRECT_VALUES_NAME = false;
1618
+ var IterablePrototype = Iterable.prototype;
1619
+ var nativeIterator = IterablePrototype[ITERATOR$5]
1620
+ || IterablePrototype['@@iterator']
1621
+ || DEFAULT && IterablePrototype[DEFAULT];
1622
+ var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
1623
+ var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
1624
+ var CurrentIteratorPrototype, methods, KEY;
1625
+
1626
+ // fix native
1627
+ if (anyNativeIterator) {
1628
+ CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
1629
+ if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
1630
+ if (getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
1631
+ if (setPrototypeOf) {
1632
+ setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
1633
+ } else if (!isCallable$2(CurrentIteratorPrototype[ITERATOR$5])) {
1634
+ defineBuiltIn$4(CurrentIteratorPrototype, ITERATOR$5, returnThis);
1635
+ }
1636
+ }
1637
+ // Set @@toStringTag to native iterators
1638
+ setToStringTag$2(CurrentIteratorPrototype, TO_STRING_TAG, true);
1639
+ }
1499
1640
  }
1500
1641
 
1501
- if (ev.cholHaMoedDay) {
1502
- return ['holiday', 'major', 'cholhamoed'];
1642
+ // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
1643
+ if (PROPER_FUNCTION_NAME$1 && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
1644
+ if (CONFIGURABLE_FUNCTION_NAME) {
1645
+ createNonEnumerableProperty$1(IterablePrototype, 'name', VALUES);
1646
+ } else {
1647
+ INCORRECT_VALUES_NAME = true;
1648
+ defaultIterator = function values() { return call$6(nativeIterator, this); };
1649
+ }
1650
+ }
1651
+
1652
+ // export additional methods
1653
+ if (DEFAULT) {
1654
+ methods = {
1655
+ values: getIterationMethod(VALUES),
1656
+ keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
1657
+ entries: getIterationMethod(ENTRIES)
1658
+ };
1659
+ if (FORCED) for (KEY in methods) {
1660
+ if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
1661
+ defineBuiltIn$4(IterablePrototype, KEY, methods[KEY]);
1662
+ }
1663
+ } else $$3({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1664
+ }
1665
+
1666
+ // define iterator
1667
+ if (IterablePrototype[ITERATOR$5] !== defaultIterator) {
1668
+ defineBuiltIn$4(IterablePrototype, ITERATOR$5, defaultIterator, { name: DEFAULT });
1669
+ }
1670
+ Iterators$3[NAME] = defaultIterator;
1671
+
1672
+ return methods;
1673
+ };
1674
+
1675
+ var toIndexedObject = toIndexedObject$5;
1676
+ var addToUnscopables = addToUnscopables$1;
1677
+ var Iterators$2 = iterators;
1678
+ var InternalStateModule$3 = internalState;
1679
+ var defineProperty$2 = objectDefineProperty.f;
1680
+ var defineIterator$1 = defineIterator$2;
1681
+ var DESCRIPTORS$3 = descriptors;
1682
+
1683
+ var ARRAY_ITERATOR = 'Array Iterator';
1684
+ var setInternalState$3 = InternalStateModule$3.set;
1685
+ var getInternalState$1 = InternalStateModule$3.getterFor(ARRAY_ITERATOR);
1686
+
1687
+ // `Array.prototype.entries` method
1688
+ // https://tc39.es/ecma262/#sec-array.prototype.entries
1689
+ // `Array.prototype.keys` method
1690
+ // https://tc39.es/ecma262/#sec-array.prototype.keys
1691
+ // `Array.prototype.values` method
1692
+ // https://tc39.es/ecma262/#sec-array.prototype.values
1693
+ // `Array.prototype[@@iterator]` method
1694
+ // https://tc39.es/ecma262/#sec-array.prototype-@@iterator
1695
+ // `CreateArrayIterator` internal method
1696
+ // https://tc39.es/ecma262/#sec-createarrayiterator
1697
+ var es_array_iterator = defineIterator$1(Array, 'Array', function (iterated, kind) {
1698
+ setInternalState$3(this, {
1699
+ type: ARRAY_ITERATOR,
1700
+ target: toIndexedObject(iterated), // target
1701
+ index: 0, // next index
1702
+ kind: kind // kind
1703
+ });
1704
+ // `%ArrayIteratorPrototype%.next` method
1705
+ // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
1706
+ }, function () {
1707
+ var state = getInternalState$1(this);
1708
+ var target = state.target;
1709
+ var kind = state.kind;
1710
+ var index = state.index++;
1711
+ if (!target || index >= target.length) {
1712
+ state.target = undefined;
1713
+ return { value: undefined, done: true };
1714
+ }
1715
+ if (kind == 'keys') return { value: index, done: false };
1716
+ if (kind == 'values') return { value: target[index], done: false };
1717
+ return { value: [index, target[index]], done: false };
1718
+ }, 'values');
1719
+
1720
+ // argumentsList[@@iterator] is %ArrayProto_values%
1721
+ // https://tc39.es/ecma262/#sec-createunmappedargumentsobject
1722
+ // https://tc39.es/ecma262/#sec-createmappedargumentsobject
1723
+ var values = Iterators$2.Arguments = Iterators$2.Array;
1724
+
1725
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1726
+ addToUnscopables('keys');
1727
+ addToUnscopables('values');
1728
+ addToUnscopables('entries');
1729
+
1730
+ // V8 ~ Chrome 45- bug
1731
+ if (DESCRIPTORS$3 && values.name !== 'values') try {
1732
+ defineProperty$2(values, 'name', { value: 'values' });
1733
+ } catch (error) { /* empty */ }
1734
+
1735
+ var global$a = global$C;
1736
+ var DOMIterables = domIterables;
1737
+ var DOMTokenListPrototype = domTokenListPrototype;
1738
+ var ArrayIteratorMethods = es_array_iterator;
1739
+ var createNonEnumerableProperty = createNonEnumerableProperty$5;
1740
+ var wellKnownSymbol$6 = wellKnownSymbol$e;
1741
+
1742
+ var ITERATOR$4 = wellKnownSymbol$6('iterator');
1743
+ var TO_STRING_TAG = wellKnownSymbol$6('toStringTag');
1744
+ var ArrayValues = ArrayIteratorMethods.values;
1745
+
1746
+ var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
1747
+ if (CollectionPrototype) {
1748
+ // some Chrome versions have non-configurable methods on DOMTokenList
1749
+ if (CollectionPrototype[ITERATOR$4] !== ArrayValues) try {
1750
+ createNonEnumerableProperty(CollectionPrototype, ITERATOR$4, ArrayValues);
1751
+ } catch (error) {
1752
+ CollectionPrototype[ITERATOR$4] = ArrayValues;
1753
+ }
1754
+ if (!CollectionPrototype[TO_STRING_TAG]) {
1755
+ createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
1756
+ }
1757
+ if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
1758
+ // some Chrome versions have non-configurable methods on DOMTokenList
1759
+ if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
1760
+ createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
1761
+ } catch (error) {
1762
+ CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
1763
+ }
1764
+ }
1765
+ }
1766
+ };
1767
+
1768
+ for (var COLLECTION_NAME in DOMIterables) {
1769
+ handlePrototype(global$a[COLLECTION_NAME] && global$a[COLLECTION_NAME].prototype, COLLECTION_NAME);
1770
+ }
1771
+
1772
+ handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
1773
+
1774
+ var uncurryThis$7 = functionUncurryThis;
1775
+ var toIntegerOrInfinity = toIntegerOrInfinity$3;
1776
+ var toString$2 = toString$4;
1777
+ var requireObjectCoercible$1 = requireObjectCoercible$4;
1778
+
1779
+ var charAt$3 = uncurryThis$7(''.charAt);
1780
+ var charCodeAt$1 = uncurryThis$7(''.charCodeAt);
1781
+ var stringSlice$3 = uncurryThis$7(''.slice);
1782
+
1783
+ var createMethod = function (CONVERT_TO_STRING) {
1784
+ return function ($this, pos) {
1785
+ var S = toString$2(requireObjectCoercible$1($this));
1786
+ var position = toIntegerOrInfinity(pos);
1787
+ var size = S.length;
1788
+ var first, second;
1789
+ if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
1790
+ first = charCodeAt$1(S, position);
1791
+ return first < 0xD800 || first > 0xDBFF || position + 1 === size
1792
+ || (second = charCodeAt$1(S, position + 1)) < 0xDC00 || second > 0xDFFF
1793
+ ? CONVERT_TO_STRING
1794
+ ? charAt$3(S, position)
1795
+ : first
1796
+ : CONVERT_TO_STRING
1797
+ ? stringSlice$3(S, position, position + 2)
1798
+ : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
1799
+ };
1800
+ };
1801
+
1802
+ var stringMultibyte = {
1803
+ // `String.prototype.codePointAt` method
1804
+ // https://tc39.es/ecma262/#sec-string.prototype.codepointat
1805
+ codeAt: createMethod(false),
1806
+ // `String.prototype.at` method
1807
+ // https://github.com/mathiasbynens/String.prototype.at
1808
+ charAt: createMethod(true)
1809
+ };
1810
+
1811
+ var charAt$2 = stringMultibyte.charAt;
1812
+ var toString$1 = toString$4;
1813
+ var InternalStateModule$2 = internalState;
1814
+ var defineIterator = defineIterator$2;
1815
+
1816
+ var STRING_ITERATOR = 'String Iterator';
1817
+ var setInternalState$2 = InternalStateModule$2.set;
1818
+ var getInternalState = InternalStateModule$2.getterFor(STRING_ITERATOR);
1819
+
1820
+ // `String.prototype[@@iterator]` method
1821
+ // https://tc39.es/ecma262/#sec-string.prototype-@@iterator
1822
+ defineIterator(String, 'String', function (iterated) {
1823
+ setInternalState$2(this, {
1824
+ type: STRING_ITERATOR,
1825
+ string: toString$1(iterated),
1826
+ index: 0
1827
+ });
1828
+ // `%StringIteratorPrototype%.next` method
1829
+ // https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
1830
+ }, function next() {
1831
+ var state = getInternalState(this);
1832
+ var string = state.string;
1833
+ var index = state.index;
1834
+ var point;
1835
+ if (index >= string.length) return { value: undefined, done: true };
1836
+ point = charAt$2(string, index);
1837
+ state.index += point.length;
1838
+ return { value: point, done: false };
1839
+ });
1840
+
1841
+ var fails$3 = fails$h;
1842
+ var wellKnownSymbol$5 = wellKnownSymbol$e;
1843
+ var IS_PURE = isPure;
1844
+
1845
+ var ITERATOR$3 = wellKnownSymbol$5('iterator');
1846
+
1847
+ var nativeUrl = !fails$3(function () {
1848
+ // eslint-disable-next-line unicorn/relative-url-style -- required for testing
1849
+ var url = new URL('b?a=1&b=2&c=3', 'http://a');
1850
+ var searchParams = url.searchParams;
1851
+ var result = '';
1852
+ url.pathname = 'c%20d';
1853
+ searchParams.forEach(function (value, key) {
1854
+ searchParams['delete']('b');
1855
+ result += key + value;
1856
+ });
1857
+ return (IS_PURE && !url.toJSON)
1858
+ || !searchParams.sort
1859
+ || url.href !== 'http://a/c%20d?a=1&c=3'
1860
+ || searchParams.get('c') !== '3'
1861
+ || String(new URLSearchParams('?a=1')) !== 'a=1'
1862
+ || !searchParams[ITERATOR$3]
1863
+ // throws in Edge
1864
+ || new URL('https://a@b').username !== 'a'
1865
+ || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'
1866
+ // not punycoded in Edge
1867
+ || new URL('http://тест').host !== 'xn--e1aybc'
1868
+ // not escaped in Chrome 62-
1869
+ || new URL('http://a#б').hash !== '#%D0%B1'
1870
+ // fails in Chrome 66-
1871
+ || result !== 'a1c3'
1872
+ // throws in Safari
1873
+ || new URL('http://x', undefined).host !== 'x';
1874
+ });
1875
+
1876
+ var uncurryThis$6 = functionUncurryThis;
1877
+ var aCallable$1 = aCallable$3;
1878
+ var NATIVE_BIND = functionBindNative;
1879
+
1880
+ var bind$3 = uncurryThis$6(uncurryThis$6.bind);
1881
+
1882
+ // optional / simple context binding
1883
+ var functionBindContext = function (fn, that) {
1884
+ aCallable$1(fn);
1885
+ return that === undefined ? fn : NATIVE_BIND ? bind$3(fn, that) : function (/* ...args */) {
1886
+ return fn.apply(that, arguments);
1887
+ };
1888
+ };
1889
+
1890
+ var makeBuiltIn = makeBuiltIn$3.exports;
1891
+ var defineProperty$1 = objectDefineProperty;
1892
+
1893
+ var defineBuiltInAccessor$1 = function (target, name, descriptor) {
1894
+ if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
1895
+ if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
1896
+ return defineProperty$1.f(target, name, descriptor);
1897
+ };
1898
+
1899
+ var global$9 = global$C;
1900
+ var isPrototypeOf$1 = objectIsPrototypeOf;
1901
+
1902
+ var TypeError$6 = global$9.TypeError;
1903
+
1904
+ var anInstance$2 = function (it, Prototype) {
1905
+ if (isPrototypeOf$1(Prototype, it)) return it;
1906
+ throw TypeError$6('Incorrect invocation');
1907
+ };
1908
+
1909
+ var DESCRIPTORS$2 = descriptors;
1910
+ var uncurryThis$5 = functionUncurryThis;
1911
+ var call$5 = functionCall;
1912
+ var fails$2 = fails$h;
1913
+ var objectKeys = objectKeys$2;
1914
+ var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
1915
+ var propertyIsEnumerableModule = objectPropertyIsEnumerable;
1916
+ var toObject$1 = toObject$4;
1917
+ var IndexedObject = indexedObject;
1918
+
1919
+ // eslint-disable-next-line es-x/no-object-assign -- safe
1920
+ var $assign = Object.assign;
1921
+ // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
1922
+ var defineProperty = Object.defineProperty;
1923
+ var concat = uncurryThis$5([].concat);
1924
+
1925
+ // `Object.assign` method
1926
+ // https://tc39.es/ecma262/#sec-object.assign
1927
+ var objectAssign = !$assign || fails$2(function () {
1928
+ // should have correct order of operations (Edge bug)
1929
+ if (DESCRIPTORS$2 && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {
1930
+ enumerable: true,
1931
+ get: function () {
1932
+ defineProperty(this, 'b', {
1933
+ value: 3,
1934
+ enumerable: false
1935
+ });
1936
+ }
1937
+ }), { b: 2 })).b !== 1) return true;
1938
+ // should work with symbols and should have deterministic property order (V8 bug)
1939
+ var A = {};
1940
+ var B = {};
1941
+ // eslint-disable-next-line es-x/no-symbol -- safe
1942
+ var symbol = Symbol();
1943
+ var alphabet = 'abcdefghijklmnopqrst';
1944
+ A[symbol] = 7;
1945
+ alphabet.split('').forEach(function (chr) { B[chr] = chr; });
1946
+ return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;
1947
+ }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
1948
+ var T = toObject$1(target);
1949
+ var argumentsLength = arguments.length;
1950
+ var index = 1;
1951
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
1952
+ var propertyIsEnumerable = propertyIsEnumerableModule.f;
1953
+ while (argumentsLength > index) {
1954
+ var S = IndexedObject(arguments[index++]);
1955
+ var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);
1956
+ var length = keys.length;
1957
+ var j = 0;
1958
+ var key;
1959
+ while (length > j) {
1960
+ key = keys[j++];
1961
+ if (!DESCRIPTORS$2 || call$5(propertyIsEnumerable, S, key)) T[key] = S[key];
1962
+ }
1963
+ } return T;
1964
+ } : $assign;
1965
+
1966
+ var call$4 = functionCall;
1967
+ var anObject$4 = anObject$b;
1968
+ var getMethod$1 = getMethod$3;
1969
+
1970
+ var iteratorClose$1 = function (iterator, kind, value) {
1971
+ var innerResult, innerError;
1972
+ anObject$4(iterator);
1973
+ try {
1974
+ innerResult = getMethod$1(iterator, 'return');
1975
+ if (!innerResult) {
1976
+ if (kind === 'throw') throw value;
1977
+ return value;
1978
+ }
1979
+ innerResult = call$4(innerResult, iterator);
1980
+ } catch (error) {
1981
+ innerError = true;
1982
+ innerResult = error;
1983
+ }
1984
+ if (kind === 'throw') throw value;
1985
+ if (innerError) throw innerResult;
1986
+ anObject$4(innerResult);
1987
+ return value;
1988
+ };
1989
+
1990
+ var anObject$3 = anObject$b;
1991
+ var iteratorClose = iteratorClose$1;
1992
+
1993
+ // call something on iterator step with safe closing on error
1994
+ var callWithSafeIterationClosing$1 = function (iterator, fn, value, ENTRIES) {
1995
+ try {
1996
+ return ENTRIES ? fn(anObject$3(value)[0], value[1]) : fn(value);
1997
+ } catch (error) {
1998
+ iteratorClose(iterator, 'throw', error);
1999
+ }
2000
+ };
2001
+
2002
+ var wellKnownSymbol$4 = wellKnownSymbol$e;
2003
+ var Iterators$1 = iterators;
2004
+
2005
+ var ITERATOR$2 = wellKnownSymbol$4('iterator');
2006
+ var ArrayPrototype = Array.prototype;
2007
+
2008
+ // check on default Array iterator
2009
+ var isArrayIteratorMethod$1 = function (it) {
2010
+ return it !== undefined && (Iterators$1.Array === it || ArrayPrototype[ITERATOR$2] === it);
2011
+ };
2012
+
2013
+ var uncurryThis$4 = functionUncurryThis;
2014
+ var fails$1 = fails$h;
2015
+ var isCallable$1 = isCallable$h;
2016
+ var classof$3 = classof$5;
2017
+ var getBuiltIn = getBuiltIn$5;
2018
+ var inspectSource = inspectSource$3;
2019
+
2020
+ var noop = function () { /* empty */ };
2021
+ var empty = [];
2022
+ var construct = getBuiltIn('Reflect', 'construct');
2023
+ var constructorRegExp = /^\s*(?:class|function)\b/;
2024
+ var exec$2 = uncurryThis$4(constructorRegExp.exec);
2025
+ var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
2026
+
2027
+ var isConstructorModern = function isConstructor(argument) {
2028
+ if (!isCallable$1(argument)) return false;
2029
+ try {
2030
+ construct(noop, empty, argument);
2031
+ return true;
2032
+ } catch (error) {
2033
+ return false;
2034
+ }
2035
+ };
2036
+
2037
+ var isConstructorLegacy = function isConstructor(argument) {
2038
+ if (!isCallable$1(argument)) return false;
2039
+ switch (classof$3(argument)) {
2040
+ case 'AsyncFunction':
2041
+ case 'GeneratorFunction':
2042
+ case 'AsyncGeneratorFunction': return false;
2043
+ }
2044
+ try {
2045
+ // we can't check .prototype since constructors produced by .bind haven't it
2046
+ // `Function#toString` throws on some built-it function in some legacy engines
2047
+ // (for example, `DOMQuad` and similar in FF41-)
2048
+ return INCORRECT_TO_STRING || !!exec$2(constructorRegExp, inspectSource(argument));
2049
+ } catch (error) {
2050
+ return true;
2051
+ }
2052
+ };
2053
+
2054
+ isConstructorLegacy.sham = true;
2055
+
2056
+ // `IsConstructor` abstract operation
2057
+ // https://tc39.es/ecma262/#sec-isconstructor
2058
+ var isConstructor$1 = !construct || fails$1(function () {
2059
+ var called;
2060
+ return isConstructorModern(isConstructorModern.call)
2061
+ || !isConstructorModern(Object)
2062
+ || !isConstructorModern(function () { called = true; })
2063
+ || called;
2064
+ }) ? isConstructorLegacy : isConstructorModern;
2065
+
2066
+ var toPropertyKey = toPropertyKey$3;
2067
+ var definePropertyModule = objectDefineProperty;
2068
+ var createPropertyDescriptor$1 = createPropertyDescriptor$5;
2069
+
2070
+ var createProperty$2 = function (object, key, value) {
2071
+ var propertyKey = toPropertyKey(key);
2072
+ if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor$1(0, value));
2073
+ else object[propertyKey] = value;
2074
+ };
2075
+
2076
+ var classof$2 = classof$5;
2077
+ var getMethod = getMethod$3;
2078
+ var Iterators = iterators;
2079
+ var wellKnownSymbol$3 = wellKnownSymbol$e;
2080
+
2081
+ var ITERATOR$1 = wellKnownSymbol$3('iterator');
2082
+
2083
+ var getIteratorMethod$3 = function (it) {
2084
+ if (it != undefined) return getMethod(it, ITERATOR$1)
2085
+ || getMethod(it, '@@iterator')
2086
+ || Iterators[classof$2(it)];
2087
+ };
2088
+
2089
+ var global$8 = global$C;
2090
+ var call$3 = functionCall;
2091
+ var aCallable = aCallable$3;
2092
+ var anObject$2 = anObject$b;
2093
+ var tryToString = tryToString$2;
2094
+ var getIteratorMethod$2 = getIteratorMethod$3;
2095
+
2096
+ var TypeError$5 = global$8.TypeError;
2097
+
2098
+ var getIterator$2 = function (argument, usingIterator) {
2099
+ var iteratorMethod = arguments.length < 2 ? getIteratorMethod$2(argument) : usingIterator;
2100
+ if (aCallable(iteratorMethod)) return anObject$2(call$3(iteratorMethod, argument));
2101
+ throw TypeError$5(tryToString(argument) + ' is not iterable');
2102
+ };
2103
+
2104
+ var global$7 = global$C;
2105
+ var bind$2 = functionBindContext;
2106
+ var call$2 = functionCall;
2107
+ var toObject = toObject$4;
2108
+ var callWithSafeIterationClosing = callWithSafeIterationClosing$1;
2109
+ var isArrayIteratorMethod = isArrayIteratorMethod$1;
2110
+ var isConstructor = isConstructor$1;
2111
+ var lengthOfArrayLike$1 = lengthOfArrayLike$3;
2112
+ var createProperty$1 = createProperty$2;
2113
+ var getIterator$1 = getIterator$2;
2114
+ var getIteratorMethod$1 = getIteratorMethod$3;
2115
+
2116
+ var Array$2 = global$7.Array;
2117
+
2118
+ // `Array.from` method implementation
2119
+ // https://tc39.es/ecma262/#sec-array.from
2120
+ var arrayFrom$1 = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
2121
+ var O = toObject(arrayLike);
2122
+ var IS_CONSTRUCTOR = isConstructor(this);
2123
+ var argumentsLength = arguments.length;
2124
+ var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
2125
+ var mapping = mapfn !== undefined;
2126
+ if (mapping) mapfn = bind$2(mapfn, argumentsLength > 2 ? arguments[2] : undefined);
2127
+ var iteratorMethod = getIteratorMethod$1(O);
2128
+ var index = 0;
2129
+ var length, result, step, iterator, next, value;
2130
+ // if the target is not iterable or it's an array with the default iterator - use a simple case
2131
+ if (iteratorMethod && !(this == Array$2 && isArrayIteratorMethod(iteratorMethod))) {
2132
+ iterator = getIterator$1(O, iteratorMethod);
2133
+ next = iterator.next;
2134
+ result = IS_CONSTRUCTOR ? new this() : [];
2135
+ for (;!(step = call$2(next, iterator)).done; index++) {
2136
+ value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
2137
+ createProperty$1(result, index, value);
2138
+ }
2139
+ } else {
2140
+ length = lengthOfArrayLike$1(O);
2141
+ result = IS_CONSTRUCTOR ? new this(length) : Array$2(length);
2142
+ for (;length > index; index++) {
2143
+ value = mapping ? mapfn(O[index], index) : O[index];
2144
+ createProperty$1(result, index, value);
2145
+ }
2146
+ }
2147
+ result.length = index;
2148
+ return result;
2149
+ };
2150
+
2151
+ var global$6 = global$C;
2152
+ var toAbsoluteIndex = toAbsoluteIndex$2;
2153
+ var lengthOfArrayLike = lengthOfArrayLike$3;
2154
+ var createProperty = createProperty$2;
2155
+
2156
+ var Array$1 = global$6.Array;
2157
+ var max = Math.max;
2158
+
2159
+ var arraySliceSimple = function (O, start, end) {
2160
+ var length = lengthOfArrayLike(O);
2161
+ var k = toAbsoluteIndex(start, length);
2162
+ var fin = toAbsoluteIndex(end === undefined ? length : end, length);
2163
+ var result = Array$1(max(fin - k, 0));
2164
+ for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
2165
+ result.length = n;
2166
+ return result;
2167
+ };
2168
+
2169
+ // based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js
2170
+ var global$5 = global$C;
2171
+ var uncurryThis$3 = functionUncurryThis;
2172
+
2173
+ var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
2174
+ var base = 36;
2175
+ var tMin = 1;
2176
+ var tMax = 26;
2177
+ var skew = 38;
2178
+ var damp = 700;
2179
+ var initialBias = 72;
2180
+ var initialN = 128; // 0x80
2181
+ var delimiter = '-'; // '\x2D'
2182
+ var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars
2183
+ var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
2184
+ var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
2185
+ var baseMinusTMin = base - tMin;
2186
+
2187
+ var RangeError = global$5.RangeError;
2188
+ var exec$1 = uncurryThis$3(regexSeparators.exec);
2189
+ var floor$2 = Math.floor;
2190
+ var fromCharCode = String.fromCharCode;
2191
+ var charCodeAt = uncurryThis$3(''.charCodeAt);
2192
+ var join$2 = uncurryThis$3([].join);
2193
+ var push$2 = uncurryThis$3([].push);
2194
+ var replace$2 = uncurryThis$3(''.replace);
2195
+ var split$2 = uncurryThis$3(''.split);
2196
+ var toLowerCase$1 = uncurryThis$3(''.toLowerCase);
2197
+
2198
+ /**
2199
+ * Creates an array containing the numeric code points of each Unicode
2200
+ * character in the string. While JavaScript uses UCS-2 internally,
2201
+ * this function will convert a pair of surrogate halves (each of which
2202
+ * UCS-2 exposes as separate characters) into a single code point,
2203
+ * matching UTF-16.
2204
+ */
2205
+ var ucs2decode = function (string) {
2206
+ var output = [];
2207
+ var counter = 0;
2208
+ var length = string.length;
2209
+ while (counter < length) {
2210
+ var value = charCodeAt(string, counter++);
2211
+ if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
2212
+ // It's a high surrogate, and there is a next character.
2213
+ var extra = charCodeAt(string, counter++);
2214
+ if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
2215
+ push$2(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
2216
+ } else {
2217
+ // It's an unmatched surrogate; only append this code unit, in case the
2218
+ // next code unit is the high surrogate of a surrogate pair.
2219
+ push$2(output, value);
2220
+ counter--;
2221
+ }
2222
+ } else {
2223
+ push$2(output, value);
2224
+ }
2225
+ }
2226
+ return output;
2227
+ };
2228
+
2229
+ /**
2230
+ * Converts a digit/integer into a basic code point.
2231
+ */
2232
+ var digitToBasic = function (digit) {
2233
+ // 0..25 map to ASCII a..z or A..Z
2234
+ // 26..35 map to ASCII 0..9
2235
+ return digit + 22 + 75 * (digit < 26);
2236
+ };
2237
+
2238
+ /**
2239
+ * Bias adaptation function as per section 3.4 of RFC 3492.
2240
+ * https://tools.ietf.org/html/rfc3492#section-3.4
2241
+ */
2242
+ var adapt = function (delta, numPoints, firstTime) {
2243
+ var k = 0;
2244
+ delta = firstTime ? floor$2(delta / damp) : delta >> 1;
2245
+ delta += floor$2(delta / numPoints);
2246
+ while (delta > baseMinusTMin * tMax >> 1) {
2247
+ delta = floor$2(delta / baseMinusTMin);
2248
+ k += base;
2249
+ }
2250
+ return floor$2(k + (baseMinusTMin + 1) * delta / (delta + skew));
2251
+ };
2252
+
2253
+ /**
2254
+ * Converts a string of Unicode symbols (e.g. a domain name label) to a
2255
+ * Punycode string of ASCII-only symbols.
2256
+ */
2257
+ var encode = function (input) {
2258
+ var output = [];
2259
+
2260
+ // Convert the input in UCS-2 to an array of Unicode code points.
2261
+ input = ucs2decode(input);
2262
+
2263
+ // Cache the length.
2264
+ var inputLength = input.length;
2265
+
2266
+ // Initialize the state.
2267
+ var n = initialN;
2268
+ var delta = 0;
2269
+ var bias = initialBias;
2270
+ var i, currentValue;
2271
+
2272
+ // Handle the basic code points.
2273
+ for (i = 0; i < input.length; i++) {
2274
+ currentValue = input[i];
2275
+ if (currentValue < 0x80) {
2276
+ push$2(output, fromCharCode(currentValue));
2277
+ }
2278
+ }
2279
+
2280
+ var basicLength = output.length; // number of basic code points.
2281
+ var handledCPCount = basicLength; // number of code points that have been handled;
2282
+
2283
+ // Finish the basic string with a delimiter unless it's empty.
2284
+ if (basicLength) {
2285
+ push$2(output, delimiter);
2286
+ }
2287
+
2288
+ // Main encoding loop:
2289
+ while (handledCPCount < inputLength) {
2290
+ // All non-basic code points < n have been handled already. Find the next larger one:
2291
+ var m = maxInt;
2292
+ for (i = 0; i < input.length; i++) {
2293
+ currentValue = input[i];
2294
+ if (currentValue >= n && currentValue < m) {
2295
+ m = currentValue;
2296
+ }
2297
+ }
2298
+
2299
+ // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.
2300
+ var handledCPCountPlusOne = handledCPCount + 1;
2301
+ if (m - n > floor$2((maxInt - delta) / handledCPCountPlusOne)) {
2302
+ throw RangeError(OVERFLOW_ERROR);
2303
+ }
2304
+
2305
+ delta += (m - n) * handledCPCountPlusOne;
2306
+ n = m;
2307
+
2308
+ for (i = 0; i < input.length; i++) {
2309
+ currentValue = input[i];
2310
+ if (currentValue < n && ++delta > maxInt) {
2311
+ throw RangeError(OVERFLOW_ERROR);
2312
+ }
2313
+ if (currentValue == n) {
2314
+ // Represent delta as a generalized variable-length integer.
2315
+ var q = delta;
2316
+ var k = base;
2317
+ while (true) {
2318
+ var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
2319
+ if (q < t) break;
2320
+ var qMinusT = q - t;
2321
+ var baseMinusT = base - t;
2322
+ push$2(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
2323
+ q = floor$2(qMinusT / baseMinusT);
2324
+ k += base;
2325
+ }
2326
+
2327
+ push$2(output, fromCharCode(digitToBasic(q)));
2328
+ bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
2329
+ delta = 0;
2330
+ handledCPCount++;
2331
+ }
2332
+ }
2333
+
2334
+ delta++;
2335
+ n++;
2336
+ }
2337
+ return join$2(output, '');
2338
+ };
2339
+
2340
+ var stringPunycodeToAscii = function (input) {
2341
+ var encoded = [];
2342
+ var labels = split$2(replace$2(toLowerCase$1(input), regexSeparators, '\u002E'), '.');
2343
+ var i, label;
2344
+ for (i = 0; i < labels.length; i++) {
2345
+ label = labels[i];
2346
+ push$2(encoded, exec$1(regexNonASCII, label) ? 'xn--' + encode(label) : label);
2347
+ }
2348
+ return join$2(encoded, '.');
2349
+ };
2350
+
2351
+ var global$4 = global$C;
2352
+
2353
+ var TypeError$4 = global$4.TypeError;
2354
+
2355
+ var validateArgumentsLength$2 = function (passed, required) {
2356
+ if (passed < required) throw TypeError$4('Not enough arguments');
2357
+ return passed;
2358
+ };
2359
+
2360
+ var defineBuiltIn$3 = defineBuiltIn$7;
2361
+
2362
+ var defineBuiltIns$1 = function (target, src, options) {
2363
+ for (var key in src) defineBuiltIn$3(target, key, src[key], options);
2364
+ return target;
2365
+ };
2366
+
2367
+ var arraySlice$1 = arraySliceSimple;
2368
+
2369
+ var floor$1 = Math.floor;
2370
+
2371
+ var mergeSort = function (array, comparefn) {
2372
+ var length = array.length;
2373
+ var middle = floor$1(length / 2);
2374
+ return length < 8 ? insertionSort(array, comparefn) : merge(
2375
+ array,
2376
+ mergeSort(arraySlice$1(array, 0, middle), comparefn),
2377
+ mergeSort(arraySlice$1(array, middle), comparefn),
2378
+ comparefn
2379
+ );
2380
+ };
2381
+
2382
+ var insertionSort = function (array, comparefn) {
2383
+ var length = array.length;
2384
+ var i = 1;
2385
+ var element, j;
2386
+
2387
+ while (i < length) {
2388
+ j = i;
2389
+ element = array[i];
2390
+ while (j && comparefn(array[j - 1], element) > 0) {
2391
+ array[j] = array[--j];
2392
+ }
2393
+ if (j !== i++) array[j] = element;
2394
+ } return array;
2395
+ };
2396
+
2397
+ var merge = function (array, left, right, comparefn) {
2398
+ var llength = left.length;
2399
+ var rlength = right.length;
2400
+ var lindex = 0;
2401
+ var rindex = 0;
2402
+
2403
+ while (lindex < llength || rindex < rlength) {
2404
+ array[lindex + rindex] = (lindex < llength && rindex < rlength)
2405
+ ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]
2406
+ : lindex < llength ? left[lindex++] : right[rindex++];
2407
+ } return array;
2408
+ };
2409
+
2410
+ var arraySort$1 = mergeSort;
2411
+
2412
+ // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
2413
+
2414
+ var $$2 = _export;
2415
+ var global$3 = global$C;
2416
+ var call$1 = functionCall;
2417
+ var uncurryThis$2 = functionUncurryThis;
2418
+ var DESCRIPTORS$1 = descriptors;
2419
+ var USE_NATIVE_URL$1 = nativeUrl;
2420
+ var defineBuiltIn$2 = defineBuiltIn$7;
2421
+ var defineBuiltIns = defineBuiltIns$1;
2422
+ var setToStringTag$1 = setToStringTag$4;
2423
+ var createIteratorConstructor = createIteratorConstructor$2;
2424
+ var InternalStateModule$1 = internalState;
2425
+ var anInstance$1 = anInstance$2;
2426
+ var isCallable = isCallable$h;
2427
+ var hasOwn$2 = hasOwnProperty_1;
2428
+ var bind$1 = functionBindContext;
2429
+ var classof$1 = classof$5;
2430
+ var anObject$1 = anObject$b;
2431
+ var isObject$1 = isObject$7;
2432
+ var $toString$2 = toString$4;
2433
+ var create = objectCreate;
2434
+ var createPropertyDescriptor = createPropertyDescriptor$5;
2435
+ var getIterator = getIterator$2;
2436
+ var getIteratorMethod = getIteratorMethod$3;
2437
+ var validateArgumentsLength$1 = validateArgumentsLength$2;
2438
+ var wellKnownSymbol$2 = wellKnownSymbol$e;
2439
+ var arraySort = arraySort$1;
2440
+
2441
+ var ITERATOR = wellKnownSymbol$2('iterator');
2442
+ var URL_SEARCH_PARAMS = 'URLSearchParams';
2443
+ var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
2444
+ var setInternalState$1 = InternalStateModule$1.set;
2445
+ var getInternalParamsState = InternalStateModule$1.getterFor(URL_SEARCH_PARAMS);
2446
+ var getInternalIteratorState = InternalStateModule$1.getterFor(URL_SEARCH_PARAMS_ITERATOR);
2447
+ // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
2448
+ var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
2449
+
2450
+ // Avoid NodeJS experimental warning
2451
+ var safeGetBuiltIn = function (name) {
2452
+ if (!DESCRIPTORS$1) return global$3[name];
2453
+ var descriptor = getOwnPropertyDescriptor$1(global$3, name);
2454
+ return descriptor && descriptor.value;
2455
+ };
2456
+
2457
+ var nativeFetch = safeGetBuiltIn('fetch');
2458
+ var NativeRequest = safeGetBuiltIn('Request');
2459
+ var Headers = safeGetBuiltIn('Headers');
2460
+ var RequestPrototype = NativeRequest && NativeRequest.prototype;
2461
+ var HeadersPrototype = Headers && Headers.prototype;
2462
+ var RegExp$1 = global$3.RegExp;
2463
+ var TypeError$3 = global$3.TypeError;
2464
+ var decodeURIComponent = global$3.decodeURIComponent;
2465
+ var encodeURIComponent$1 = global$3.encodeURIComponent;
2466
+ var charAt$1 = uncurryThis$2(''.charAt);
2467
+ var join$1 = uncurryThis$2([].join);
2468
+ var push$1 = uncurryThis$2([].push);
2469
+ var replace$1 = uncurryThis$2(''.replace);
2470
+ var shift$1 = uncurryThis$2([].shift);
2471
+ var splice = uncurryThis$2([].splice);
2472
+ var split$1 = uncurryThis$2(''.split);
2473
+ var stringSlice$2 = uncurryThis$2(''.slice);
2474
+
2475
+ var plus = /\+/g;
2476
+ var sequences = Array(4);
2477
+
2478
+ var percentSequence = function (bytes) {
2479
+ return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp$1('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
2480
+ };
2481
+
2482
+ var percentDecode = function (sequence) {
2483
+ try {
2484
+ return decodeURIComponent(sequence);
2485
+ } catch (error) {
2486
+ return sequence;
2487
+ }
2488
+ };
2489
+
2490
+ var deserialize = function (it) {
2491
+ var result = replace$1(it, plus, ' ');
2492
+ var bytes = 4;
2493
+ try {
2494
+ return decodeURIComponent(result);
2495
+ } catch (error) {
2496
+ while (bytes) {
2497
+ result = replace$1(result, percentSequence(bytes--), percentDecode);
2498
+ }
2499
+ return result;
2500
+ }
2501
+ };
2502
+
2503
+ var find = /[!'()~]|%20/g;
2504
+
2505
+ var replacements = {
2506
+ '!': '%21',
2507
+ "'": '%27',
2508
+ '(': '%28',
2509
+ ')': '%29',
2510
+ '~': '%7E',
2511
+ '%20': '+'
2512
+ };
2513
+
2514
+ var replacer = function (match) {
2515
+ return replacements[match];
2516
+ };
2517
+
2518
+ var serialize = function (it) {
2519
+ return replace$1(encodeURIComponent$1(it), find, replacer);
2520
+ };
2521
+
2522
+ var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
2523
+ setInternalState$1(this, {
2524
+ type: URL_SEARCH_PARAMS_ITERATOR,
2525
+ iterator: getIterator(getInternalParamsState(params).entries),
2526
+ kind: kind
2527
+ });
2528
+ }, 'Iterator', function next() {
2529
+ var state = getInternalIteratorState(this);
2530
+ var kind = state.kind;
2531
+ var step = state.iterator.next();
2532
+ var entry = step.value;
2533
+ if (!step.done) {
2534
+ step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];
2535
+ } return step;
2536
+ }, true);
2537
+
2538
+ var URLSearchParamsState = function (init) {
2539
+ this.entries = [];
2540
+ this.url = null;
2541
+
2542
+ if (init !== undefined) {
2543
+ if (isObject$1(init)) this.parseObject(init);
2544
+ else this.parseQuery(typeof init == 'string' ? charAt$1(init, 0) === '?' ? stringSlice$2(init, 1) : init : $toString$2(init));
2545
+ }
2546
+ };
2547
+
2548
+ URLSearchParamsState.prototype = {
2549
+ type: URL_SEARCH_PARAMS,
2550
+ bindURL: function (url) {
2551
+ this.url = url;
2552
+ this.update();
2553
+ },
2554
+ parseObject: function (object) {
2555
+ var iteratorMethod = getIteratorMethod(object);
2556
+ var iterator, next, step, entryIterator, entryNext, first, second;
2557
+
2558
+ if (iteratorMethod) {
2559
+ iterator = getIterator(object, iteratorMethod);
2560
+ next = iterator.next;
2561
+ while (!(step = call$1(next, iterator)).done) {
2562
+ entryIterator = getIterator(anObject$1(step.value));
2563
+ entryNext = entryIterator.next;
2564
+ if (
2565
+ (first = call$1(entryNext, entryIterator)).done ||
2566
+ (second = call$1(entryNext, entryIterator)).done ||
2567
+ !call$1(entryNext, entryIterator).done
2568
+ ) throw TypeError$3('Expected sequence with length 2');
2569
+ push$1(this.entries, { key: $toString$2(first.value), value: $toString$2(second.value) });
2570
+ }
2571
+ } else for (var key in object) if (hasOwn$2(object, key)) {
2572
+ push$1(this.entries, { key: key, value: $toString$2(object[key]) });
2573
+ }
2574
+ },
2575
+ parseQuery: function (query) {
2576
+ if (query) {
2577
+ var attributes = split$1(query, '&');
2578
+ var index = 0;
2579
+ var attribute, entry;
2580
+ while (index < attributes.length) {
2581
+ attribute = attributes[index++];
2582
+ if (attribute.length) {
2583
+ entry = split$1(attribute, '=');
2584
+ push$1(this.entries, {
2585
+ key: deserialize(shift$1(entry)),
2586
+ value: deserialize(join$1(entry, '='))
2587
+ });
2588
+ }
2589
+ }
2590
+ }
2591
+ },
2592
+ serialize: function () {
2593
+ var entries = this.entries;
2594
+ var result = [];
2595
+ var index = 0;
2596
+ var entry;
2597
+ while (index < entries.length) {
2598
+ entry = entries[index++];
2599
+ push$1(result, serialize(entry.key) + '=' + serialize(entry.value));
2600
+ } return join$1(result, '&');
2601
+ },
2602
+ update: function () {
2603
+ this.entries.length = 0;
2604
+ this.parseQuery(this.url.query);
2605
+ },
2606
+ updateURL: function () {
2607
+ if (this.url) this.url.update();
2608
+ }
2609
+ };
2610
+
2611
+ // `URLSearchParams` constructor
2612
+ // https://url.spec.whatwg.org/#interface-urlsearchparams
2613
+ var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
2614
+ anInstance$1(this, URLSearchParamsPrototype);
2615
+ var init = arguments.length > 0 ? arguments[0] : undefined;
2616
+ setInternalState$1(this, new URLSearchParamsState(init));
2617
+ };
2618
+
2619
+ var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
2620
+
2621
+ defineBuiltIns(URLSearchParamsPrototype, {
2622
+ // `URLSearchParams.prototype.append` method
2623
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-append
2624
+ append: function append(name, value) {
2625
+ validateArgumentsLength$1(arguments.length, 2);
2626
+ var state = getInternalParamsState(this);
2627
+ push$1(state.entries, { key: $toString$2(name), value: $toString$2(value) });
2628
+ state.updateURL();
2629
+ },
2630
+ // `URLSearchParams.prototype.delete` method
2631
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-delete
2632
+ 'delete': function (name) {
2633
+ validateArgumentsLength$1(arguments.length, 1);
2634
+ var state = getInternalParamsState(this);
2635
+ var entries = state.entries;
2636
+ var key = $toString$2(name);
2637
+ var index = 0;
2638
+ while (index < entries.length) {
2639
+ if (entries[index].key === key) splice(entries, index, 1);
2640
+ else index++;
2641
+ }
2642
+ state.updateURL();
2643
+ },
2644
+ // `URLSearchParams.prototype.get` method
2645
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-get
2646
+ get: function get(name) {
2647
+ validateArgumentsLength$1(arguments.length, 1);
2648
+ var entries = getInternalParamsState(this).entries;
2649
+ var key = $toString$2(name);
2650
+ var index = 0;
2651
+ for (; index < entries.length; index++) {
2652
+ if (entries[index].key === key) return entries[index].value;
2653
+ }
2654
+ return null;
2655
+ },
2656
+ // `URLSearchParams.prototype.getAll` method
2657
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-getall
2658
+ getAll: function getAll(name) {
2659
+ validateArgumentsLength$1(arguments.length, 1);
2660
+ var entries = getInternalParamsState(this).entries;
2661
+ var key = $toString$2(name);
2662
+ var result = [];
2663
+ var index = 0;
2664
+ for (; index < entries.length; index++) {
2665
+ if (entries[index].key === key) push$1(result, entries[index].value);
2666
+ }
2667
+ return result;
2668
+ },
2669
+ // `URLSearchParams.prototype.has` method
2670
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-has
2671
+ has: function has(name) {
2672
+ validateArgumentsLength$1(arguments.length, 1);
2673
+ var entries = getInternalParamsState(this).entries;
2674
+ var key = $toString$2(name);
2675
+ var index = 0;
2676
+ while (index < entries.length) {
2677
+ if (entries[index++].key === key) return true;
2678
+ }
2679
+ return false;
2680
+ },
2681
+ // `URLSearchParams.prototype.set` method
2682
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-set
2683
+ set: function set(name, value) {
2684
+ validateArgumentsLength$1(arguments.length, 1);
2685
+ var state = getInternalParamsState(this);
2686
+ var entries = state.entries;
2687
+ var found = false;
2688
+ var key = $toString$2(name);
2689
+ var val = $toString$2(value);
2690
+ var index = 0;
2691
+ var entry;
2692
+ for (; index < entries.length; index++) {
2693
+ entry = entries[index];
2694
+ if (entry.key === key) {
2695
+ if (found) splice(entries, index--, 1);
2696
+ else {
2697
+ found = true;
2698
+ entry.value = val;
2699
+ }
2700
+ }
2701
+ }
2702
+ if (!found) push$1(entries, { key: key, value: val });
2703
+ state.updateURL();
2704
+ },
2705
+ // `URLSearchParams.prototype.sort` method
2706
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-sort
2707
+ sort: function sort() {
2708
+ var state = getInternalParamsState(this);
2709
+ arraySort(state.entries, function (a, b) {
2710
+ return a.key > b.key ? 1 : -1;
2711
+ });
2712
+ state.updateURL();
2713
+ },
2714
+ // `URLSearchParams.prototype.forEach` method
2715
+ forEach: function forEach(callback /* , thisArg */) {
2716
+ var entries = getInternalParamsState(this).entries;
2717
+ var boundFunction = bind$1(callback, arguments.length > 1 ? arguments[1] : undefined);
2718
+ var index = 0;
2719
+ var entry;
2720
+ while (index < entries.length) {
2721
+ entry = entries[index++];
2722
+ boundFunction(entry.value, entry.key, this);
2723
+ }
2724
+ },
2725
+ // `URLSearchParams.prototype.keys` method
2726
+ keys: function keys() {
2727
+ return new URLSearchParamsIterator(this, 'keys');
2728
+ },
2729
+ // `URLSearchParams.prototype.values` method
2730
+ values: function values() {
2731
+ return new URLSearchParamsIterator(this, 'values');
2732
+ },
2733
+ // `URLSearchParams.prototype.entries` method
2734
+ entries: function entries() {
2735
+ return new URLSearchParamsIterator(this, 'entries');
2736
+ }
2737
+ }, { enumerable: true });
2738
+
2739
+ // `URLSearchParams.prototype[@@iterator]` method
2740
+ defineBuiltIn$2(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });
2741
+
2742
+ // `URLSearchParams.prototype.toString` method
2743
+ // https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
2744
+ defineBuiltIn$2(URLSearchParamsPrototype, 'toString', function toString() {
2745
+ return getInternalParamsState(this).serialize();
2746
+ }, { enumerable: true });
2747
+
2748
+ setToStringTag$1(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
2749
+
2750
+ $$2({ global: true, forced: !USE_NATIVE_URL$1 }, {
2751
+ URLSearchParams: URLSearchParamsConstructor
2752
+ });
2753
+
2754
+ // Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`
2755
+ if (!USE_NATIVE_URL$1 && isCallable(Headers)) {
2756
+ var headersHas = uncurryThis$2(HeadersPrototype.has);
2757
+ var headersSet = uncurryThis$2(HeadersPrototype.set);
2758
+
2759
+ var wrapRequestOptions = function (init) {
2760
+ if (isObject$1(init)) {
2761
+ var body = init.body;
2762
+ var headers;
2763
+ if (classof$1(body) === URL_SEARCH_PARAMS) {
2764
+ headers = init.headers ? new Headers(init.headers) : new Headers();
2765
+ if (!headersHas(headers, 'content-type')) {
2766
+ headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
2767
+ }
2768
+ return create(init, {
2769
+ body: createPropertyDescriptor(0, $toString$2(body)),
2770
+ headers: createPropertyDescriptor(0, headers)
2771
+ });
2772
+ }
2773
+ } return init;
2774
+ };
2775
+
2776
+ if (isCallable(nativeFetch)) {
2777
+ $$2({ global: true, enumerable: true, noTargetGet: true, forced: true }, {
2778
+ fetch: function fetch(input /* , init */) {
2779
+ return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});
2780
+ }
2781
+ });
2782
+ }
2783
+
2784
+ if (isCallable(NativeRequest)) {
2785
+ var RequestConstructor = function Request(input /* , init */) {
2786
+ anInstance$1(this, RequestPrototype);
2787
+ return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});
2788
+ };
2789
+
2790
+ RequestPrototype.constructor = RequestConstructor;
2791
+ RequestConstructor.prototype = RequestPrototype;
2792
+
2793
+ $$2({ global: true, forced: true, noTargetGet: true }, {
2794
+ Request: RequestConstructor
2795
+ });
2796
+ }
2797
+ }
2798
+
2799
+ var web_urlSearchParams_constructor = {
2800
+ URLSearchParams: URLSearchParamsConstructor,
2801
+ getState: getInternalParamsState
2802
+ };
2803
+
2804
+ // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
2805
+
2806
+ var $$1 = _export;
2807
+ var DESCRIPTORS = descriptors;
2808
+ var USE_NATIVE_URL = nativeUrl;
2809
+ var global$2 = global$C;
2810
+ var bind = functionBindContext;
2811
+ var uncurryThis$1 = functionUncurryThis;
2812
+ var defineBuiltIn$1 = defineBuiltIn$7;
2813
+ var defineBuiltInAccessor = defineBuiltInAccessor$1;
2814
+ var anInstance = anInstance$2;
2815
+ var hasOwn$1 = hasOwnProperty_1;
2816
+ var assign = objectAssign;
2817
+ var arrayFrom = arrayFrom$1;
2818
+ var arraySlice = arraySliceSimple;
2819
+ var codeAt = stringMultibyte.codeAt;
2820
+ var toASCII = stringPunycodeToAscii;
2821
+ var $toString$1 = toString$4;
2822
+ var setToStringTag = setToStringTag$4;
2823
+ var validateArgumentsLength = validateArgumentsLength$2;
2824
+ var URLSearchParamsModule = web_urlSearchParams_constructor;
2825
+ var InternalStateModule = internalState;
2826
+
2827
+ var setInternalState = InternalStateModule.set;
2828
+ var getInternalURLState = InternalStateModule.getterFor('URL');
2829
+ var URLSearchParams$1 = URLSearchParamsModule.URLSearchParams;
2830
+ var getInternalSearchParamsState = URLSearchParamsModule.getState;
2831
+
2832
+ var NativeURL = global$2.URL;
2833
+ var TypeError$2 = global$2.TypeError;
2834
+ var parseInt = global$2.parseInt;
2835
+ var floor = Math.floor;
2836
+ var pow = Math.pow;
2837
+ var charAt = uncurryThis$1(''.charAt);
2838
+ var exec = uncurryThis$1(/./.exec);
2839
+ var join = uncurryThis$1([].join);
2840
+ var numberToString = uncurryThis$1(1.0.toString);
2841
+ var pop = uncurryThis$1([].pop);
2842
+ var push = uncurryThis$1([].push);
2843
+ var replace = uncurryThis$1(''.replace);
2844
+ var shift = uncurryThis$1([].shift);
2845
+ var split = uncurryThis$1(''.split);
2846
+ var stringSlice$1 = uncurryThis$1(''.slice);
2847
+ var toLowerCase = uncurryThis$1(''.toLowerCase);
2848
+ var unshift = uncurryThis$1([].unshift);
2849
+
2850
+ var INVALID_AUTHORITY = 'Invalid authority';
2851
+ var INVALID_SCHEME = 'Invalid scheme';
2852
+ var INVALID_HOST = 'Invalid host';
2853
+ var INVALID_PORT = 'Invalid port';
2854
+
2855
+ var ALPHA = /[a-z]/i;
2856
+ // eslint-disable-next-line regexp/no-obscure-range -- safe
2857
+ var ALPHANUMERIC = /[\d+-.a-z]/i;
2858
+ var DIGIT = /\d/;
2859
+ var HEX_START = /^0x/i;
2860
+ var OCT = /^[0-7]+$/;
2861
+ var DEC = /^\d+$/;
2862
+ var HEX = /^[\da-f]+$/i;
2863
+ /* eslint-disable regexp/no-control-character -- safe */
2864
+ var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/;
2865
+ var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/;
2866
+ var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+|[\u0000-\u0020]+$/g;
2867
+ var TAB_AND_NEW_LINE = /[\t\n\r]/g;
2868
+ /* eslint-enable regexp/no-control-character -- safe */
2869
+ var EOF;
2870
+
2871
+ // https://url.spec.whatwg.org/#ipv4-number-parser
2872
+ var parseIPv4 = function (input) {
2873
+ var parts = split(input, '.');
2874
+ var partsLength, numbers, index, part, radix, number, ipv4;
2875
+ if (parts.length && parts[parts.length - 1] == '') {
2876
+ parts.length--;
2877
+ }
2878
+ partsLength = parts.length;
2879
+ if (partsLength > 4) return input;
2880
+ numbers = [];
2881
+ for (index = 0; index < partsLength; index++) {
2882
+ part = parts[index];
2883
+ if (part == '') return input;
2884
+ radix = 10;
2885
+ if (part.length > 1 && charAt(part, 0) == '0') {
2886
+ radix = exec(HEX_START, part) ? 16 : 8;
2887
+ part = stringSlice$1(part, radix == 8 ? 1 : 2);
2888
+ }
2889
+ if (part === '') {
2890
+ number = 0;
2891
+ } else {
2892
+ if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input;
2893
+ number = parseInt(part, radix);
2894
+ }
2895
+ push(numbers, number);
2896
+ }
2897
+ for (index = 0; index < partsLength; index++) {
2898
+ number = numbers[index];
2899
+ if (index == partsLength - 1) {
2900
+ if (number >= pow(256, 5 - partsLength)) return null;
2901
+ } else if (number > 255) return null;
2902
+ }
2903
+ ipv4 = pop(numbers);
2904
+ for (index = 0; index < numbers.length; index++) {
2905
+ ipv4 += numbers[index] * pow(256, 3 - index);
2906
+ }
2907
+ return ipv4;
2908
+ };
2909
+
2910
+ // https://url.spec.whatwg.org/#concept-ipv6-parser
2911
+ // eslint-disable-next-line max-statements -- TODO
2912
+ var parseIPv6 = function (input) {
2913
+ var address = [0, 0, 0, 0, 0, 0, 0, 0];
2914
+ var pieceIndex = 0;
2915
+ var compress = null;
2916
+ var pointer = 0;
2917
+ var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
2918
+
2919
+ var chr = function () {
2920
+ return charAt(input, pointer);
2921
+ };
2922
+
2923
+ if (chr() == ':') {
2924
+ if (charAt(input, 1) != ':') return;
2925
+ pointer += 2;
2926
+ pieceIndex++;
2927
+ compress = pieceIndex;
2928
+ }
2929
+ while (chr()) {
2930
+ if (pieceIndex == 8) return;
2931
+ if (chr() == ':') {
2932
+ if (compress !== null) return;
2933
+ pointer++;
2934
+ pieceIndex++;
2935
+ compress = pieceIndex;
2936
+ continue;
2937
+ }
2938
+ value = length = 0;
2939
+ while (length < 4 && exec(HEX, chr())) {
2940
+ value = value * 16 + parseInt(chr(), 16);
2941
+ pointer++;
2942
+ length++;
2943
+ }
2944
+ if (chr() == '.') {
2945
+ if (length == 0) return;
2946
+ pointer -= length;
2947
+ if (pieceIndex > 6) return;
2948
+ numbersSeen = 0;
2949
+ while (chr()) {
2950
+ ipv4Piece = null;
2951
+ if (numbersSeen > 0) {
2952
+ if (chr() == '.' && numbersSeen < 4) pointer++;
2953
+ else return;
2954
+ }
2955
+ if (!exec(DIGIT, chr())) return;
2956
+ while (exec(DIGIT, chr())) {
2957
+ number = parseInt(chr(), 10);
2958
+ if (ipv4Piece === null) ipv4Piece = number;
2959
+ else if (ipv4Piece == 0) return;
2960
+ else ipv4Piece = ipv4Piece * 10 + number;
2961
+ if (ipv4Piece > 255) return;
2962
+ pointer++;
2963
+ }
2964
+ address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
2965
+ numbersSeen++;
2966
+ if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;
2967
+ }
2968
+ if (numbersSeen != 4) return;
2969
+ break;
2970
+ } else if (chr() == ':') {
2971
+ pointer++;
2972
+ if (!chr()) return;
2973
+ } else if (chr()) return;
2974
+ address[pieceIndex++] = value;
2975
+ }
2976
+ if (compress !== null) {
2977
+ swaps = pieceIndex - compress;
2978
+ pieceIndex = 7;
2979
+ while (pieceIndex != 0 && swaps > 0) {
2980
+ swap = address[pieceIndex];
2981
+ address[pieceIndex--] = address[compress + swaps - 1];
2982
+ address[compress + --swaps] = swap;
2983
+ }
2984
+ } else if (pieceIndex != 8) return;
2985
+ return address;
2986
+ };
2987
+
2988
+ var findLongestZeroSequence = function (ipv6) {
2989
+ var maxIndex = null;
2990
+ var maxLength = 1;
2991
+ var currStart = null;
2992
+ var currLength = 0;
2993
+ var index = 0;
2994
+ for (; index < 8; index++) {
2995
+ if (ipv6[index] !== 0) {
2996
+ if (currLength > maxLength) {
2997
+ maxIndex = currStart;
2998
+ maxLength = currLength;
2999
+ }
3000
+ currStart = null;
3001
+ currLength = 0;
3002
+ } else {
3003
+ if (currStart === null) currStart = index;
3004
+ ++currLength;
3005
+ }
3006
+ }
3007
+ if (currLength > maxLength) {
3008
+ maxIndex = currStart;
3009
+ maxLength = currLength;
3010
+ }
3011
+ return maxIndex;
3012
+ };
3013
+
3014
+ // https://url.spec.whatwg.org/#host-serializing
3015
+ var serializeHost = function (host) {
3016
+ var result, index, compress, ignore0;
3017
+ // ipv4
3018
+ if (typeof host == 'number') {
3019
+ result = [];
3020
+ for (index = 0; index < 4; index++) {
3021
+ unshift(result, host % 256);
3022
+ host = floor(host / 256);
3023
+ } return join(result, '.');
3024
+ // ipv6
3025
+ } else if (typeof host == 'object') {
3026
+ result = '';
3027
+ compress = findLongestZeroSequence(host);
3028
+ for (index = 0; index < 8; index++) {
3029
+ if (ignore0 && host[index] === 0) continue;
3030
+ if (ignore0) ignore0 = false;
3031
+ if (compress === index) {
3032
+ result += index ? ':' : '::';
3033
+ ignore0 = true;
3034
+ } else {
3035
+ result += numberToString(host[index], 16);
3036
+ if (index < 7) result += ':';
3037
+ }
3038
+ }
3039
+ return '[' + result + ']';
3040
+ } return host;
3041
+ };
3042
+
3043
+ var C0ControlPercentEncodeSet = {};
3044
+ var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
3045
+ ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1
3046
+ });
3047
+ var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
3048
+ '#': 1, '?': 1, '{': 1, '}': 1
3049
+ });
3050
+ var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
3051
+ '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1
3052
+ });
3053
+
3054
+ var percentEncode = function (chr, set) {
3055
+ var code = codeAt(chr, 0);
3056
+ return code > 0x20 && code < 0x7F && !hasOwn$1(set, chr) ? chr : encodeURIComponent(chr);
3057
+ };
3058
+
3059
+ // https://url.spec.whatwg.org/#special-scheme
3060
+ var specialSchemes = {
3061
+ ftp: 21,
3062
+ file: null,
3063
+ http: 80,
3064
+ https: 443,
3065
+ ws: 80,
3066
+ wss: 443
3067
+ };
3068
+
3069
+ // https://url.spec.whatwg.org/#windows-drive-letter
3070
+ var isWindowsDriveLetter = function (string, normalized) {
3071
+ var second;
3072
+ return string.length == 2 && exec(ALPHA, charAt(string, 0))
3073
+ && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|'));
3074
+ };
3075
+
3076
+ // https://url.spec.whatwg.org/#start-with-a-windows-drive-letter
3077
+ var startsWithWindowsDriveLetter = function (string) {
3078
+ var third;
3079
+ return string.length > 1 && isWindowsDriveLetter(stringSlice$1(string, 0, 2)) && (
3080
+ string.length == 2 ||
3081
+ ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#')
3082
+ );
3083
+ };
3084
+
3085
+ // https://url.spec.whatwg.org/#single-dot-path-segment
3086
+ var isSingleDot = function (segment) {
3087
+ return segment === '.' || toLowerCase(segment) === '%2e';
3088
+ };
3089
+
3090
+ // https://url.spec.whatwg.org/#double-dot-path-segment
3091
+ var isDoubleDot = function (segment) {
3092
+ segment = toLowerCase(segment);
3093
+ return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
3094
+ };
3095
+
3096
+ // States:
3097
+ var SCHEME_START = {};
3098
+ var SCHEME = {};
3099
+ var NO_SCHEME = {};
3100
+ var SPECIAL_RELATIVE_OR_AUTHORITY = {};
3101
+ var PATH_OR_AUTHORITY = {};
3102
+ var RELATIVE = {};
3103
+ var RELATIVE_SLASH = {};
3104
+ var SPECIAL_AUTHORITY_SLASHES = {};
3105
+ var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
3106
+ var AUTHORITY = {};
3107
+ var HOST = {};
3108
+ var HOSTNAME = {};
3109
+ var PORT = {};
3110
+ var FILE = {};
3111
+ var FILE_SLASH = {};
3112
+ var FILE_HOST = {};
3113
+ var PATH_START = {};
3114
+ var PATH = {};
3115
+ var CANNOT_BE_A_BASE_URL_PATH = {};
3116
+ var QUERY = {};
3117
+ var FRAGMENT = {};
3118
+
3119
+ var URLState = function (url, isBase, base) {
3120
+ var urlString = $toString$1(url);
3121
+ var baseState, failure, searchParams;
3122
+ if (isBase) {
3123
+ failure = this.parse(urlString);
3124
+ if (failure) throw TypeError$2(failure);
3125
+ this.searchParams = null;
3126
+ } else {
3127
+ if (base !== undefined) baseState = new URLState(base, true);
3128
+ failure = this.parse(urlString, null, baseState);
3129
+ if (failure) throw TypeError$2(failure);
3130
+ searchParams = getInternalSearchParamsState(new URLSearchParams$1());
3131
+ searchParams.bindURL(this);
3132
+ this.searchParams = searchParams;
3133
+ }
3134
+ };
3135
+
3136
+ URLState.prototype = {
3137
+ type: 'URL',
3138
+ // https://url.spec.whatwg.org/#url-parsing
3139
+ // eslint-disable-next-line max-statements -- TODO
3140
+ parse: function (input, stateOverride, base) {
3141
+ var url = this;
3142
+ var state = stateOverride || SCHEME_START;
3143
+ var pointer = 0;
3144
+ var buffer = '';
3145
+ var seenAt = false;
3146
+ var seenBracket = false;
3147
+ var seenPasswordToken = false;
3148
+ var codePoints, chr, bufferCodePoints, failure;
3149
+
3150
+ input = $toString$1(input);
3151
+
3152
+ if (!stateOverride) {
3153
+ url.scheme = '';
3154
+ url.username = '';
3155
+ url.password = '';
3156
+ url.host = null;
3157
+ url.port = null;
3158
+ url.path = [];
3159
+ url.query = null;
3160
+ url.fragment = null;
3161
+ url.cannotBeABaseURL = false;
3162
+ input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
3163
+ }
3164
+
3165
+ input = replace(input, TAB_AND_NEW_LINE, '');
3166
+
3167
+ codePoints = arrayFrom(input);
3168
+
3169
+ while (pointer <= codePoints.length) {
3170
+ chr = codePoints[pointer];
3171
+ switch (state) {
3172
+ case SCHEME_START:
3173
+ if (chr && exec(ALPHA, chr)) {
3174
+ buffer += toLowerCase(chr);
3175
+ state = SCHEME;
3176
+ } else if (!stateOverride) {
3177
+ state = NO_SCHEME;
3178
+ continue;
3179
+ } else return INVALID_SCHEME;
3180
+ break;
3181
+
3182
+ case SCHEME:
3183
+ if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) {
3184
+ buffer += toLowerCase(chr);
3185
+ } else if (chr == ':') {
3186
+ if (stateOverride && (
3187
+ (url.isSpecial() != hasOwn$1(specialSchemes, buffer)) ||
3188
+ (buffer == 'file' && (url.includesCredentials() || url.port !== null)) ||
3189
+ (url.scheme == 'file' && !url.host)
3190
+ )) return;
3191
+ url.scheme = buffer;
3192
+ if (stateOverride) {
3193
+ if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null;
3194
+ return;
3195
+ }
3196
+ buffer = '';
3197
+ if (url.scheme == 'file') {
3198
+ state = FILE;
3199
+ } else if (url.isSpecial() && base && base.scheme == url.scheme) {
3200
+ state = SPECIAL_RELATIVE_OR_AUTHORITY;
3201
+ } else if (url.isSpecial()) {
3202
+ state = SPECIAL_AUTHORITY_SLASHES;
3203
+ } else if (codePoints[pointer + 1] == '/') {
3204
+ state = PATH_OR_AUTHORITY;
3205
+ pointer++;
3206
+ } else {
3207
+ url.cannotBeABaseURL = true;
3208
+ push(url.path, '');
3209
+ state = CANNOT_BE_A_BASE_URL_PATH;
3210
+ }
3211
+ } else if (!stateOverride) {
3212
+ buffer = '';
3213
+ state = NO_SCHEME;
3214
+ pointer = 0;
3215
+ continue;
3216
+ } else return INVALID_SCHEME;
3217
+ break;
3218
+
3219
+ case NO_SCHEME:
3220
+ if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;
3221
+ if (base.cannotBeABaseURL && chr == '#') {
3222
+ url.scheme = base.scheme;
3223
+ url.path = arraySlice(base.path);
3224
+ url.query = base.query;
3225
+ url.fragment = '';
3226
+ url.cannotBeABaseURL = true;
3227
+ state = FRAGMENT;
3228
+ break;
3229
+ }
3230
+ state = base.scheme == 'file' ? FILE : RELATIVE;
3231
+ continue;
3232
+
3233
+ case SPECIAL_RELATIVE_OR_AUTHORITY:
3234
+ if (chr == '/' && codePoints[pointer + 1] == '/') {
3235
+ state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
3236
+ pointer++;
3237
+ } else {
3238
+ state = RELATIVE;
3239
+ continue;
3240
+ } break;
3241
+
3242
+ case PATH_OR_AUTHORITY:
3243
+ if (chr == '/') {
3244
+ state = AUTHORITY;
3245
+ break;
3246
+ } else {
3247
+ state = PATH;
3248
+ continue;
3249
+ }
3250
+
3251
+ case RELATIVE:
3252
+ url.scheme = base.scheme;
3253
+ if (chr == EOF) {
3254
+ url.username = base.username;
3255
+ url.password = base.password;
3256
+ url.host = base.host;
3257
+ url.port = base.port;
3258
+ url.path = arraySlice(base.path);
3259
+ url.query = base.query;
3260
+ } else if (chr == '/' || (chr == '\\' && url.isSpecial())) {
3261
+ state = RELATIVE_SLASH;
3262
+ } else if (chr == '?') {
3263
+ url.username = base.username;
3264
+ url.password = base.password;
3265
+ url.host = base.host;
3266
+ url.port = base.port;
3267
+ url.path = arraySlice(base.path);
3268
+ url.query = '';
3269
+ state = QUERY;
3270
+ } else if (chr == '#') {
3271
+ url.username = base.username;
3272
+ url.password = base.password;
3273
+ url.host = base.host;
3274
+ url.port = base.port;
3275
+ url.path = arraySlice(base.path);
3276
+ url.query = base.query;
3277
+ url.fragment = '';
3278
+ state = FRAGMENT;
3279
+ } else {
3280
+ url.username = base.username;
3281
+ url.password = base.password;
3282
+ url.host = base.host;
3283
+ url.port = base.port;
3284
+ url.path = arraySlice(base.path);
3285
+ url.path.length--;
3286
+ state = PATH;
3287
+ continue;
3288
+ } break;
3289
+
3290
+ case RELATIVE_SLASH:
3291
+ if (url.isSpecial() && (chr == '/' || chr == '\\')) {
3292
+ state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
3293
+ } else if (chr == '/') {
3294
+ state = AUTHORITY;
3295
+ } else {
3296
+ url.username = base.username;
3297
+ url.password = base.password;
3298
+ url.host = base.host;
3299
+ url.port = base.port;
3300
+ state = PATH;
3301
+ continue;
3302
+ } break;
3303
+
3304
+ case SPECIAL_AUTHORITY_SLASHES:
3305
+ state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
3306
+ if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue;
3307
+ pointer++;
3308
+ break;
3309
+
3310
+ case SPECIAL_AUTHORITY_IGNORE_SLASHES:
3311
+ if (chr != '/' && chr != '\\') {
3312
+ state = AUTHORITY;
3313
+ continue;
3314
+ } break;
3315
+
3316
+ case AUTHORITY:
3317
+ if (chr == '@') {
3318
+ if (seenAt) buffer = '%40' + buffer;
3319
+ seenAt = true;
3320
+ bufferCodePoints = arrayFrom(buffer);
3321
+ for (var i = 0; i < bufferCodePoints.length; i++) {
3322
+ var codePoint = bufferCodePoints[i];
3323
+ if (codePoint == ':' && !seenPasswordToken) {
3324
+ seenPasswordToken = true;
3325
+ continue;
3326
+ }
3327
+ var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
3328
+ if (seenPasswordToken) url.password += encodedCodePoints;
3329
+ else url.username += encodedCodePoints;
3330
+ }
3331
+ buffer = '';
3332
+ } else if (
3333
+ chr == EOF || chr == '/' || chr == '?' || chr == '#' ||
3334
+ (chr == '\\' && url.isSpecial())
3335
+ ) {
3336
+ if (seenAt && buffer == '') return INVALID_AUTHORITY;
3337
+ pointer -= arrayFrom(buffer).length + 1;
3338
+ buffer = '';
3339
+ state = HOST;
3340
+ } else buffer += chr;
3341
+ break;
3342
+
3343
+ case HOST:
3344
+ case HOSTNAME:
3345
+ if (stateOverride && url.scheme == 'file') {
3346
+ state = FILE_HOST;
3347
+ continue;
3348
+ } else if (chr == ':' && !seenBracket) {
3349
+ if (buffer == '') return INVALID_HOST;
3350
+ failure = url.parseHost(buffer);
3351
+ if (failure) return failure;
3352
+ buffer = '';
3353
+ state = PORT;
3354
+ if (stateOverride == HOSTNAME) return;
3355
+ } else if (
3356
+ chr == EOF || chr == '/' || chr == '?' || chr == '#' ||
3357
+ (chr == '\\' && url.isSpecial())
3358
+ ) {
3359
+ if (url.isSpecial() && buffer == '') return INVALID_HOST;
3360
+ if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return;
3361
+ failure = url.parseHost(buffer);
3362
+ if (failure) return failure;
3363
+ buffer = '';
3364
+ state = PATH_START;
3365
+ if (stateOverride) return;
3366
+ continue;
3367
+ } else {
3368
+ if (chr == '[') seenBracket = true;
3369
+ else if (chr == ']') seenBracket = false;
3370
+ buffer += chr;
3371
+ } break;
3372
+
3373
+ case PORT:
3374
+ if (exec(DIGIT, chr)) {
3375
+ buffer += chr;
3376
+ } else if (
3377
+ chr == EOF || chr == '/' || chr == '?' || chr == '#' ||
3378
+ (chr == '\\' && url.isSpecial()) ||
3379
+ stateOverride
3380
+ ) {
3381
+ if (buffer != '') {
3382
+ var port = parseInt(buffer, 10);
3383
+ if (port > 0xFFFF) return INVALID_PORT;
3384
+ url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;
3385
+ buffer = '';
3386
+ }
3387
+ if (stateOverride) return;
3388
+ state = PATH_START;
3389
+ continue;
3390
+ } else return INVALID_PORT;
3391
+ break;
3392
+
3393
+ case FILE:
3394
+ url.scheme = 'file';
3395
+ if (chr == '/' || chr == '\\') state = FILE_SLASH;
3396
+ else if (base && base.scheme == 'file') {
3397
+ if (chr == EOF) {
3398
+ url.host = base.host;
3399
+ url.path = arraySlice(base.path);
3400
+ url.query = base.query;
3401
+ } else if (chr == '?') {
3402
+ url.host = base.host;
3403
+ url.path = arraySlice(base.path);
3404
+ url.query = '';
3405
+ state = QUERY;
3406
+ } else if (chr == '#') {
3407
+ url.host = base.host;
3408
+ url.path = arraySlice(base.path);
3409
+ url.query = base.query;
3410
+ url.fragment = '';
3411
+ state = FRAGMENT;
3412
+ } else {
3413
+ if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {
3414
+ url.host = base.host;
3415
+ url.path = arraySlice(base.path);
3416
+ url.shortenPath();
3417
+ }
3418
+ state = PATH;
3419
+ continue;
3420
+ }
3421
+ } else {
3422
+ state = PATH;
3423
+ continue;
3424
+ } break;
3425
+
3426
+ case FILE_SLASH:
3427
+ if (chr == '/' || chr == '\\') {
3428
+ state = FILE_HOST;
3429
+ break;
3430
+ }
3431
+ if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {
3432
+ if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);
3433
+ else url.host = base.host;
3434
+ }
3435
+ state = PATH;
3436
+ continue;
3437
+
3438
+ case FILE_HOST:
3439
+ if (chr == EOF || chr == '/' || chr == '\\' || chr == '?' || chr == '#') {
3440
+ if (!stateOverride && isWindowsDriveLetter(buffer)) {
3441
+ state = PATH;
3442
+ } else if (buffer == '') {
3443
+ url.host = '';
3444
+ if (stateOverride) return;
3445
+ state = PATH_START;
3446
+ } else {
3447
+ failure = url.parseHost(buffer);
3448
+ if (failure) return failure;
3449
+ if (url.host == 'localhost') url.host = '';
3450
+ if (stateOverride) return;
3451
+ buffer = '';
3452
+ state = PATH_START;
3453
+ } continue;
3454
+ } else buffer += chr;
3455
+ break;
3456
+
3457
+ case PATH_START:
3458
+ if (url.isSpecial()) {
3459
+ state = PATH;
3460
+ if (chr != '/' && chr != '\\') continue;
3461
+ } else if (!stateOverride && chr == '?') {
3462
+ url.query = '';
3463
+ state = QUERY;
3464
+ } else if (!stateOverride && chr == '#') {
3465
+ url.fragment = '';
3466
+ state = FRAGMENT;
3467
+ } else if (chr != EOF) {
3468
+ state = PATH;
3469
+ if (chr != '/') continue;
3470
+ } break;
3471
+
3472
+ case PATH:
3473
+ if (
3474
+ chr == EOF || chr == '/' ||
3475
+ (chr == '\\' && url.isSpecial()) ||
3476
+ (!stateOverride && (chr == '?' || chr == '#'))
3477
+ ) {
3478
+ if (isDoubleDot(buffer)) {
3479
+ url.shortenPath();
3480
+ if (chr != '/' && !(chr == '\\' && url.isSpecial())) {
3481
+ push(url.path, '');
3482
+ }
3483
+ } else if (isSingleDot(buffer)) {
3484
+ if (chr != '/' && !(chr == '\\' && url.isSpecial())) {
3485
+ push(url.path, '');
3486
+ }
3487
+ } else {
3488
+ if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
3489
+ if (url.host) url.host = '';
3490
+ buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter
3491
+ }
3492
+ push(url.path, buffer);
3493
+ }
3494
+ buffer = '';
3495
+ if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {
3496
+ while (url.path.length > 1 && url.path[0] === '') {
3497
+ shift(url.path);
3498
+ }
3499
+ }
3500
+ if (chr == '?') {
3501
+ url.query = '';
3502
+ state = QUERY;
3503
+ } else if (chr == '#') {
3504
+ url.fragment = '';
3505
+ state = FRAGMENT;
3506
+ }
3507
+ } else {
3508
+ buffer += percentEncode(chr, pathPercentEncodeSet);
3509
+ } break;
3510
+
3511
+ case CANNOT_BE_A_BASE_URL_PATH:
3512
+ if (chr == '?') {
3513
+ url.query = '';
3514
+ state = QUERY;
3515
+ } else if (chr == '#') {
3516
+ url.fragment = '';
3517
+ state = FRAGMENT;
3518
+ } else if (chr != EOF) {
3519
+ url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);
3520
+ } break;
3521
+
3522
+ case QUERY:
3523
+ if (!stateOverride && chr == '#') {
3524
+ url.fragment = '';
3525
+ state = FRAGMENT;
3526
+ } else if (chr != EOF) {
3527
+ if (chr == "'" && url.isSpecial()) url.query += '%27';
3528
+ else if (chr == '#') url.query += '%23';
3529
+ else url.query += percentEncode(chr, C0ControlPercentEncodeSet);
3530
+ } break;
3531
+
3532
+ case FRAGMENT:
3533
+ if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);
3534
+ break;
3535
+ }
3536
+
3537
+ pointer++;
3538
+ }
3539
+ },
3540
+ // https://url.spec.whatwg.org/#host-parsing
3541
+ parseHost: function (input) {
3542
+ var result, codePoints, index;
3543
+ if (charAt(input, 0) == '[') {
3544
+ if (charAt(input, input.length - 1) != ']') return INVALID_HOST;
3545
+ result = parseIPv6(stringSlice$1(input, 1, -1));
3546
+ if (!result) return INVALID_HOST;
3547
+ this.host = result;
3548
+ // opaque host
3549
+ } else if (!this.isSpecial()) {
3550
+ if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;
3551
+ result = '';
3552
+ codePoints = arrayFrom(input);
3553
+ for (index = 0; index < codePoints.length; index++) {
3554
+ result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
3555
+ }
3556
+ this.host = result;
3557
+ } else {
3558
+ input = toASCII(input);
3559
+ if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;
3560
+ result = parseIPv4(input);
3561
+ if (result === null) return INVALID_HOST;
3562
+ this.host = result;
3563
+ }
3564
+ },
3565
+ // https://url.spec.whatwg.org/#cannot-have-a-username-password-port
3566
+ cannotHaveUsernamePasswordPort: function () {
3567
+ return !this.host || this.cannotBeABaseURL || this.scheme == 'file';
3568
+ },
3569
+ // https://url.spec.whatwg.org/#include-credentials
3570
+ includesCredentials: function () {
3571
+ return this.username != '' || this.password != '';
3572
+ },
3573
+ // https://url.spec.whatwg.org/#is-special
3574
+ isSpecial: function () {
3575
+ return hasOwn$1(specialSchemes, this.scheme);
3576
+ },
3577
+ // https://url.spec.whatwg.org/#shorten-a-urls-path
3578
+ shortenPath: function () {
3579
+ var path = this.path;
3580
+ var pathSize = path.length;
3581
+ if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
3582
+ path.length--;
3583
+ }
3584
+ },
3585
+ // https://url.spec.whatwg.org/#concept-url-serializer
3586
+ serialize: function () {
3587
+ var url = this;
3588
+ var scheme = url.scheme;
3589
+ var username = url.username;
3590
+ var password = url.password;
3591
+ var host = url.host;
3592
+ var port = url.port;
3593
+ var path = url.path;
3594
+ var query = url.query;
3595
+ var fragment = url.fragment;
3596
+ var output = scheme + ':';
3597
+ if (host !== null) {
3598
+ output += '//';
3599
+ if (url.includesCredentials()) {
3600
+ output += username + (password ? ':' + password : '') + '@';
3601
+ }
3602
+ output += serializeHost(host);
3603
+ if (port !== null) output += ':' + port;
3604
+ } else if (scheme == 'file') output += '//';
3605
+ output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';
3606
+ if (query !== null) output += '?' + query;
3607
+ if (fragment !== null) output += '#' + fragment;
3608
+ return output;
3609
+ },
3610
+ // https://url.spec.whatwg.org/#dom-url-href
3611
+ setHref: function (href) {
3612
+ var failure = this.parse(href);
3613
+ if (failure) throw TypeError$2(failure);
3614
+ this.searchParams.update();
3615
+ },
3616
+ // https://url.spec.whatwg.org/#dom-url-origin
3617
+ getOrigin: function () {
3618
+ var scheme = this.scheme;
3619
+ var port = this.port;
3620
+ if (scheme == 'blob') try {
3621
+ return new URLConstructor(scheme.path[0]).origin;
3622
+ } catch (error) {
3623
+ return 'null';
3624
+ }
3625
+ if (scheme == 'file' || !this.isSpecial()) return 'null';
3626
+ return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');
3627
+ },
3628
+ // https://url.spec.whatwg.org/#dom-url-protocol
3629
+ getProtocol: function () {
3630
+ return this.scheme + ':';
3631
+ },
3632
+ setProtocol: function (protocol) {
3633
+ this.parse($toString$1(protocol) + ':', SCHEME_START);
3634
+ },
3635
+ // https://url.spec.whatwg.org/#dom-url-username
3636
+ getUsername: function () {
3637
+ return this.username;
3638
+ },
3639
+ setUsername: function (username) {
3640
+ var codePoints = arrayFrom($toString$1(username));
3641
+ if (this.cannotHaveUsernamePasswordPort()) return;
3642
+ this.username = '';
3643
+ for (var i = 0; i < codePoints.length; i++) {
3644
+ this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
3645
+ }
3646
+ },
3647
+ // https://url.spec.whatwg.org/#dom-url-password
3648
+ getPassword: function () {
3649
+ return this.password;
3650
+ },
3651
+ setPassword: function (password) {
3652
+ var codePoints = arrayFrom($toString$1(password));
3653
+ if (this.cannotHaveUsernamePasswordPort()) return;
3654
+ this.password = '';
3655
+ for (var i = 0; i < codePoints.length; i++) {
3656
+ this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
3657
+ }
3658
+ },
3659
+ // https://url.spec.whatwg.org/#dom-url-host
3660
+ getHost: function () {
3661
+ var host = this.host;
3662
+ var port = this.port;
3663
+ return host === null ? ''
3664
+ : port === null ? serializeHost(host)
3665
+ : serializeHost(host) + ':' + port;
3666
+ },
3667
+ setHost: function (host) {
3668
+ if (this.cannotBeABaseURL) return;
3669
+ this.parse(host, HOST);
3670
+ },
3671
+ // https://url.spec.whatwg.org/#dom-url-hostname
3672
+ getHostname: function () {
3673
+ var host = this.host;
3674
+ return host === null ? '' : serializeHost(host);
3675
+ },
3676
+ setHostname: function (hostname) {
3677
+ if (this.cannotBeABaseURL) return;
3678
+ this.parse(hostname, HOSTNAME);
3679
+ },
3680
+ // https://url.spec.whatwg.org/#dom-url-port
3681
+ getPort: function () {
3682
+ var port = this.port;
3683
+ return port === null ? '' : $toString$1(port);
3684
+ },
3685
+ setPort: function (port) {
3686
+ if (this.cannotHaveUsernamePasswordPort()) return;
3687
+ port = $toString$1(port);
3688
+ if (port == '') this.port = null;
3689
+ else this.parse(port, PORT);
3690
+ },
3691
+ // https://url.spec.whatwg.org/#dom-url-pathname
3692
+ getPathname: function () {
3693
+ var path = this.path;
3694
+ return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';
3695
+ },
3696
+ setPathname: function (pathname) {
3697
+ if (this.cannotBeABaseURL) return;
3698
+ this.path = [];
3699
+ this.parse(pathname, PATH_START);
3700
+ },
3701
+ // https://url.spec.whatwg.org/#dom-url-search
3702
+ getSearch: function () {
3703
+ var query = this.query;
3704
+ return query ? '?' + query : '';
3705
+ },
3706
+ setSearch: function (search) {
3707
+ search = $toString$1(search);
3708
+ if (search == '') {
3709
+ this.query = null;
3710
+ } else {
3711
+ if ('?' == charAt(search, 0)) search = stringSlice$1(search, 1);
3712
+ this.query = '';
3713
+ this.parse(search, QUERY);
3714
+ }
3715
+ this.searchParams.update();
3716
+ },
3717
+ // https://url.spec.whatwg.org/#dom-url-searchparams
3718
+ getSearchParams: function () {
3719
+ return this.searchParams.facade;
3720
+ },
3721
+ // https://url.spec.whatwg.org/#dom-url-hash
3722
+ getHash: function () {
3723
+ var fragment = this.fragment;
3724
+ return fragment ? '#' + fragment : '';
3725
+ },
3726
+ setHash: function (hash) {
3727
+ hash = $toString$1(hash);
3728
+ if (hash == '') {
3729
+ this.fragment = null;
3730
+ return;
3731
+ }
3732
+ if ('#' == charAt(hash, 0)) hash = stringSlice$1(hash, 1);
3733
+ this.fragment = '';
3734
+ this.parse(hash, FRAGMENT);
3735
+ },
3736
+ update: function () {
3737
+ this.query = this.searchParams.serialize() || null;
3738
+ }
3739
+ };
3740
+
3741
+ // `URL` constructor
3742
+ // https://url.spec.whatwg.org/#url-class
3743
+ var URLConstructor = function URL(url /* , base */) {
3744
+ var that = anInstance(this, URLPrototype);
3745
+ var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;
3746
+ var state = setInternalState(that, new URLState(url, false, base));
3747
+ if (!DESCRIPTORS) {
3748
+ that.href = state.serialize();
3749
+ that.origin = state.getOrigin();
3750
+ that.protocol = state.getProtocol();
3751
+ that.username = state.getUsername();
3752
+ that.password = state.getPassword();
3753
+ that.host = state.getHost();
3754
+ that.hostname = state.getHostname();
3755
+ that.port = state.getPort();
3756
+ that.pathname = state.getPathname();
3757
+ that.search = state.getSearch();
3758
+ that.searchParams = state.getSearchParams();
3759
+ that.hash = state.getHash();
3760
+ }
3761
+ };
3762
+
3763
+ var URLPrototype = URLConstructor.prototype;
3764
+
3765
+ var accessorDescriptor = function (getter, setter) {
3766
+ return {
3767
+ get: function () {
3768
+ return getInternalURLState(this)[getter]();
3769
+ },
3770
+ set: setter && function (value) {
3771
+ return getInternalURLState(this)[setter](value);
3772
+ },
3773
+ configurable: true,
3774
+ enumerable: true
3775
+ };
3776
+ };
3777
+
3778
+ if (DESCRIPTORS) {
3779
+ // `URL.prototype.href` accessors pair
3780
+ // https://url.spec.whatwg.org/#dom-url-href
3781
+ defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));
3782
+ // `URL.prototype.origin` getter
3783
+ // https://url.spec.whatwg.org/#dom-url-origin
3784
+ defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));
3785
+ // `URL.prototype.protocol` accessors pair
3786
+ // https://url.spec.whatwg.org/#dom-url-protocol
3787
+ defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));
3788
+ // `URL.prototype.username` accessors pair
3789
+ // https://url.spec.whatwg.org/#dom-url-username
3790
+ defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));
3791
+ // `URL.prototype.password` accessors pair
3792
+ // https://url.spec.whatwg.org/#dom-url-password
3793
+ defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));
3794
+ // `URL.prototype.host` accessors pair
3795
+ // https://url.spec.whatwg.org/#dom-url-host
3796
+ defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));
3797
+ // `URL.prototype.hostname` accessors pair
3798
+ // https://url.spec.whatwg.org/#dom-url-hostname
3799
+ defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));
3800
+ // `URL.prototype.port` accessors pair
3801
+ // https://url.spec.whatwg.org/#dom-url-port
3802
+ defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));
3803
+ // `URL.prototype.pathname` accessors pair
3804
+ // https://url.spec.whatwg.org/#dom-url-pathname
3805
+ defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));
3806
+ // `URL.prototype.search` accessors pair
3807
+ // https://url.spec.whatwg.org/#dom-url-search
3808
+ defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));
3809
+ // `URL.prototype.searchParams` getter
3810
+ // https://url.spec.whatwg.org/#dom-url-searchparams
3811
+ defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));
3812
+ // `URL.prototype.hash` accessors pair
3813
+ // https://url.spec.whatwg.org/#dom-url-hash
3814
+ defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));
3815
+ }
3816
+
3817
+ // `URL.prototype.toJSON` method
3818
+ // https://url.spec.whatwg.org/#dom-url-tojson
3819
+ defineBuiltIn$1(URLPrototype, 'toJSON', function toJSON() {
3820
+ return getInternalURLState(this).serialize();
3821
+ }, { enumerable: true });
3822
+
3823
+ // `URL.prototype.toString` method
3824
+ // https://url.spec.whatwg.org/#URL-stringification-behavior
3825
+ defineBuiltIn$1(URLPrototype, 'toString', function toString() {
3826
+ return getInternalURLState(this).serialize();
3827
+ }, { enumerable: true });
3828
+
3829
+ if (NativeURL) {
3830
+ var nativeCreateObjectURL = NativeURL.createObjectURL;
3831
+ var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
3832
+ // `URL.createObjectURL` method
3833
+ // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
3834
+ if (nativeCreateObjectURL) defineBuiltIn$1(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));
3835
+ // `URL.revokeObjectURL` method
3836
+ // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL
3837
+ if (nativeRevokeObjectURL) defineBuiltIn$1(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));
3838
+ }
3839
+
3840
+ setToStringTag(URLConstructor, 'URL');
3841
+
3842
+ $$1({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {
3843
+ URL: URLConstructor
3844
+ });
3845
+
3846
+ var isObject = isObject$7;
3847
+ var classof = classofRaw$1;
3848
+ var wellKnownSymbol$1 = wellKnownSymbol$e;
3849
+
3850
+ var MATCH$1 = wellKnownSymbol$1('match');
3851
+
3852
+ // `IsRegExp` abstract operation
3853
+ // https://tc39.es/ecma262/#sec-isregexp
3854
+ var isRegexp = function (it) {
3855
+ var isRegExp;
3856
+ return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
3857
+ };
3858
+
3859
+ var global$1 = global$C;
3860
+ var isRegExp = isRegexp;
3861
+
3862
+ var TypeError$1 = global$1.TypeError;
3863
+
3864
+ var notARegexp = function (it) {
3865
+ if (isRegExp(it)) {
3866
+ throw TypeError$1("The method doesn't accept regular expressions");
3867
+ } return it;
3868
+ };
3869
+
3870
+ var wellKnownSymbol = wellKnownSymbol$e;
3871
+
3872
+ var MATCH = wellKnownSymbol('match');
3873
+
3874
+ var correctIsRegexpLogic = function (METHOD_NAME) {
3875
+ var regexp = /./;
3876
+ try {
3877
+ '/./'[METHOD_NAME](regexp);
3878
+ } catch (error1) {
3879
+ try {
3880
+ regexp[MATCH] = false;
3881
+ return '/./'[METHOD_NAME](regexp);
3882
+ } catch (error2) { /* empty */ }
3883
+ } return false;
3884
+ };
3885
+
3886
+ var $ = _export;
3887
+ var uncurryThis = functionUncurryThis;
3888
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
3889
+ var toLength = toLength$2;
3890
+ var toString = toString$4;
3891
+ var notARegExp = notARegexp;
3892
+ var requireObjectCoercible = requireObjectCoercible$4;
3893
+ var correctIsRegExpLogic = correctIsRegexpLogic;
3894
+
3895
+ // eslint-disable-next-line es-x/no-string-prototype-startswith -- safe
3896
+ var un$StartsWith = uncurryThis(''.startsWith);
3897
+ var stringSlice = uncurryThis(''.slice);
3898
+ var min = Math.min;
3899
+
3900
+ var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');
3901
+ // https://github.com/zloirock/core-js/pull/702
3902
+ var MDN_POLYFILL_BUG = !CORRECT_IS_REGEXP_LOGIC && !!function () {
3903
+ var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');
3904
+ return descriptor && !descriptor.writable;
3905
+ }();
3906
+
3907
+ // `String.prototype.startsWith` method
3908
+ // https://tc39.es/ecma262/#sec-string.prototype.startswith
3909
+ $({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
3910
+ startsWith: function startsWith(searchString /* , position = 0 */) {
3911
+ var that = toString(requireObjectCoercible(this));
3912
+ notARegExp(searchString);
3913
+ var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
3914
+ var search = toString(searchString);
3915
+ return un$StartsWith
3916
+ ? un$StartsWith(that, search, index)
3917
+ : stringSlice(that, index, index + search.length) === search;
3918
+ }
3919
+ });
3920
+
3921
+ var call = functionCall;
3922
+ var hasOwn = hasOwnProperty_1;
3923
+ var isPrototypeOf = objectIsPrototypeOf;
3924
+ var regExpFlags = regexpFlags$1;
3925
+
3926
+ var RegExpPrototype$1 = RegExp.prototype;
3927
+
3928
+ var regexpGetFlags = function (R) {
3929
+ var flags = R.flags;
3930
+ return flags === undefined && !('flags' in RegExpPrototype$1) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype$1, R)
3931
+ ? call(regExpFlags, R) : flags;
3932
+ };
3933
+
3934
+ var PROPER_FUNCTION_NAME = functionName.PROPER;
3935
+ var defineBuiltIn = defineBuiltIn$7;
3936
+ var anObject = anObject$b;
3937
+ var $toString = toString$4;
3938
+ var fails = fails$h;
3939
+ var getRegExpFlags = regexpGetFlags;
3940
+
3941
+ var TO_STRING = 'toString';
3942
+ var RegExpPrototype = RegExp.prototype;
3943
+ var n$ToString = RegExpPrototype[TO_STRING];
3944
+
3945
+ var NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
3946
+ // FF44- RegExp#toString has a wrong name
3947
+ var INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;
3948
+
3949
+ // `RegExp.prototype.toString` method
3950
+ // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
3951
+ if (NOT_GENERIC || INCORRECT_NAME) {
3952
+ defineBuiltIn(RegExp.prototype, TO_STRING, function toString() {
3953
+ var R = anObject(this);
3954
+ var pattern = $toString(R.source);
3955
+ var flags = $toString(getRegExpFlags(R));
3956
+ return '/' + pattern + '/' + flags;
3957
+ }, { unsafe: true });
3958
+ }
3959
+
3960
+ var Chanukah="Hanukkah, the Jewish festival of rededication. Also known as the Festival of Lights";var Pesach="Passover, the Feast of Unleavened Bread. Also called Chag HaMatzot (the Festival of Matzah), it commemorates the Exodus and freedom of the Israelites from ancient Egypt";var Purim="Celebration of Jewish deliverance as told by Megilat Esther. It commemorates a time when the Jewish people living in Persia were saved from extermination";var Shavuot="Festival of Weeks. Commemorates the giving of the Torah at Mount Sinai";var Sigd="Ethiopian Jewish holiday occurring 50 days after Yom Kippur";var Sukkot="Feast of Booths";var holidayDescription = {"Asara B'Tevet":"Fast commemorating the siege of Jerusalem",Chanukah:Chanukah,"Days of the Omer":"7 weeks from the second night of Pesach to the day before Shavuot","Lag BaOmer":"33rd day of counting the Omer","Leil Selichot":"Prayers for forgiveness in preparation for the High Holidays","Pesach Sheni":"Second Passover, one month after Passover",Pesach:Pesach,"Purim Katan":"Minor Purim celebration during Adar I on leap years",Purim:Purim,"Rosh Chodesh Nisan":"Start of month of Nisan on the Hebrew calendar. נִיסָן (transliterated Nisan or Nissan) is the 1st month of the Hebrew year, has 30 days, and corresponds to March or April on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Iyyar":"Start of month of Iyyar on the Hebrew calendar. אִיָיר (transliterated Iyyar or Iyar) is the 2nd month of the Hebrew year, has 29 days, and corresponds to April or May on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sivan":"Start of month of Sivan on the Hebrew calendar. Sivan (סִיוָן) is the 3rd month of the Hebrew year, has 30 days, and corresponds to May or June on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tamuz":"Start of month of Tamuz on the Hebrew calendar. תַּמּוּז (transliterated Tamuz or Tammuz) is the 4th month of the Hebrew year, has 29 days, and corresponds to June or July on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Av":"Start of month of Av on the Hebrew calendar. Av (אָב) is the 5th month of the Hebrew year, has 30 days, and corresponds to July or August on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Elul":"Start of month of Elul on the Hebrew calendar. Elul (אֱלוּל) is the 6th month of the Hebrew year, has 29 days, and corresponds to August or September on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Cheshvan":"Start of month of Cheshvan on the Hebrew calendar. חֶשְׁוָן (transliterated Cheshvan or Heshvan) is the 8th month of the Hebrew year, has 29 or 30 days, and corresponds to October or November on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Kislev":"Start of month of Kislev on the Hebrew calendar. Kislev (כִּסְלֵו) is the 9th month of the Hebrew year, has 30 or 29 days, and corresponds to November or December on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tevet":"Start of month of Tevet on the Hebrew calendar. Tevet (טֵבֵת) is the 10th month of the Hebrew year, has 29 days, and corresponds to December or January on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sh'vat":"Start of month of Sh'vat on the Hebrew calendar. שְׁבָט (transliterated Sh'vat or Shevat) is the 11th month of the Hebrew year, has 30 days, and corresponds to January or February on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar":"Start of month of Adar on the Hebrew calendar. Adar (אַדָר) is the 12th month of the Hebrew year, has 29 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar I":"Start of month of Adar I (on leap years) on the Hebrew calendar. Adar I (אַדָר א׳) is the 12th month of the Hebrew year, occurs only on leap years, has 30 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar II":"Start of month of Adar II (on leap years) on the Hebrew calendar. Adar II (אַדָר ב׳), sometimes \"Adar Bet\" or \"Adar Sheni\", is the 13th month of the Hebrew year, has 29 days, occurs only on leap years, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Hashana":"The Jewish New Year. Also spelled Rosh Hashanah","Rosh Hashana LaBehemot":"New Year for Tithing Animals","Shabbat Chazon":"Shabbat before Tish'a B'Av (Shabbat of Prophecy/Shabbat of Vision)","Shabbat HaChodesh":"Shabbat before Rosh Chodesh Nissan","Shabbat HaGadol":"Shabbat before Pesach","Shabbat Machar Chodesh":"When Shabbat falls the day before Rosh Chodesh","Shabbat Nachamu":"Shabbat after Tish'a B'Av (Shabbat of Consolation). The first of seven Shabbatot leading up to Rosh Hashanah. Named after the Haftarah (from Isaiah 40) which begins with the verse נַחֲמוּ נַחֲמוּ, עַמִּי (\"Comfort, oh comfort my people\")","Shabbat Parah":"Shabbat of the Red Heifer","Shabbat Rosh Chodesh":"When Shabbat falls on Rosh Chodesh","Shabbat Shekalim":"Shabbat before Rosh Chodesh Adar","Shabbat Shirah":"Shabbat of Song","Shabbat Shuva":"Shabbat that falls between Rosh Hashanah and Yom Kippur (Shabbat of Returning)","Shabbat Zachor":"Shabbat before Purim",Shavuot:Shavuot,"Shmini Atzeret":"Eighth Day of Assembly","Shushan Purim":"Purim celebrated in Jerusalem and walled cities",Sigd:Sigd,"Simchat Torah":"Day of Celebrating the Torah",Sukkot:Sukkot,"Ta'anit Bechorot":"Fast of the First Born","Ta'anit Esther":"Fast of Esther","Tish'a B'Av":"The Ninth of Av. Fast commemorating the destruction of the two Temples","Tu B'Av":"Minor Jewish holiday of love. Observed on the 15th day of the Hebrew month of Av","Tu BiShvat":"New Year for Trees","Tzom Gedaliah":"Fast of the Seventh Month. Commemorates the assassination of the Jewish governor of Judah","Tzom Tammuz":"Fast commemorating breaching of the walls of Jerusalem before the destruction of the Second Temple","Yom HaAliyah":"Recognizes Aliyah, immigration to the Jewish State of Israel","Yom HaAliyah School Observance":"Aliyah Day observed in Israeli schools","Yom HaAtzma'ut":"Israeli Independence Day. Commemorates the declaration of independence of Israel in 1948. Note that Hebcal displays modern holidays like Yom HaAtzma'ut according to the Israeli schedule. Although Yom HaAtzma'ut is normally observed on the 5th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaZikaron, which always precedes it) would conflict with Shabbat","Yom HaShoah":"Holocaust Memorial Day","Yom HaZikaron":"Israeli Memorial Day. Note that Hebcal displays modern holidays like Yom HaZikaron according to the Israeli schedule. Although Yom Hazikaron is normally observed on the 4th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaAtzma'ut, which always follows it) would conflict with Shabbat","Yom Kippur":"Day of Atonement","Yom Yerushalayim":"Jerusalem Day. Commemorates the re-unification of Jerusalem in 1967"};
3961
+
3962
+ var AD="Andorra";var AE="United Arab Emirates";var AF="Afghanistan";var AI="Anguilla";var AL="Albania";var AM="Armenia";var AO="Angola";var AR="Argentina";var AS="American Samoa";var AT="Austria";var AU="Australia";var AW="Aruba";var AZ="Azerbaijan";var BA="Bosnia and Herzegovina";var BB="Barbados";var BD="Bangladesh";var BE="Belgium";var BF="Burkina Faso";var BG="Bulgaria";var BH="Bahrain";var BI="Burundi";var BJ="Benin";var BM="Bermuda";var BN="Brunei";var BO="Bolivia";var BR="Brazil";var BS="Bahamas";var BT="Bhutan";var BW="Botswana";var BY="Belarus";var BZ="Belize";var CA="Canada";var CD="Democratic Republic of the Congo";var CF="Central African Republic";var CG="Republic of the Congo";var CH="Switzerland";var CI="Ivory Coast";var CK="Cook Islands";var CL="Chile";var CM="Cameroon";var CN="China";var CO="Colombia";var CR="Costa Rica";var CU="Cuba";var CV="Cape Verde";var CW="Curacao";var CY="Cyprus";var CZ="Czech Republic";var DE="Germany";var DK="Denmark";var DM="Dominica";var DO="Dominican Republic";var DZ="Algeria";var EC="Ecuador";var EE="Estonia";var EG="Egypt";var ER="Eritrea";var ES="Spain";var ET="Ethiopia";var FI="Finland";var FJ="Fiji";var FK="Falkland Islands";var FO="Faroe Islands";var FR="France";var GA="Gabon";var GB="United Kingdom";var GE="Georgia";var GH="Ghana";var GI="Gibraltar";var GL="Greenland";var GM="Gambia";var GN="Guinea";var GQ="Equatorial Guinea";var GR="Greece";var GT="Guatemala";var GW="Guinea-Bissau";var GY="Guyana";var HK="Hong Kong";var HN="Honduras";var HR="Croatia";var HT="Haiti";var HU="Hungary";var ID="Indonesia";var IE="Ireland";var IL="Israel";var IM="Isle of Man";var IN="India";var IQ="Iraq";var IR="Iran";var IS="Iceland";var IT="Italy";var JM="Jamaica";var JO="Jordan";var JP="Japan";var KE="Kenya";var KG="Kyrgyzstan";var KH="Cambodia";var KM="Comoros";var KN="Saint Kitts and Nevis";var KP="North Korea";var KR="South Korea";var KW="Kuwait";var KY="Cayman Islands";var KZ="Kazakhstan";var LA="Laos";var LB="Lebanon";var LC="Saint Lucia";var LI="Liechtenstein";var LR="Liberia";var LS="Lesotho";var LT="Lithuania";var LU="Luxembourg";var LV="Latvia";var LY="Libya";var MA="Morocco";var MD="Moldova";var ME="Montenegro";var MG="Madagascar";var MK="Macedonia";var ML="Mali";var MM="Myanmar";var MN="Mongolia";var MP="Northern Mariana Islands";var MR="Mauritania";var MS="Montserrat";var MT="Malta";var MU="Mauritius";var MW="Malawi";var MX="Mexico";var MY="Malaysia";var MZ="Mozambique";var NA="Namibia";var NC="New Caledonia";var NE="Niger";var NG="Nigeria";var NI="Nicaragua";var NL="Netherlands";var NO="Norway";var NP="Nepal";var NU="Niue";var NZ="New Zealand";var OM="Oman";var PA="Panama";var PE="Peru";var PF="French Polynesia";var PG="Papua New Guinea";var PH="Philippines";var PK="Pakistan";var PL="Poland";var PR="Puerto Rico";var PT="Portugal";var PY="Paraguay";var QA="Qatar";var RO="Romania";var RS="Serbia";var RU="Russia";var RW="Rwanda";var SA="Saudi Arabia";var SB="Solomon Islands";var SC="Seychelles";var SD="Sudan";var SE="Sweden";var SG="Singapore";var SH="Saint Helena";var SI="Slovenia";var SK="Slovakia";var SL="Sierra Leone";var SN="Senegal";var SO="Somalia";var SR="Suriname";var ST="Sao Tome and Principe";var SV="El Salvador";var SY="Syria";var SZ="Swaziland";var TC="Turks and Caicos Islands";var TD="Chad";var TG="Togo";var TH="Thailand";var TJ="Tajikistan";var TM="Turkmenistan";var TN="Tunisia";var TR="Turkey";var TV="Tuvalu";var TW="Taiwan";var TZ="Tanzania";var UA="Ukraine";var UG="Uganda";var US="United States";var UY="Uruguay";var UZ="Uzbekistan";var VC="Saint Vincent and the Grenadines";var VE="Venezuela";var VG="British Virgin Islands";var VN="Vietnam";var WS="Samoa";var YE="Yemen";var YT="Mayotte";var ZA="South Africa";var ZM="Zambia";var ZW="Zimbabwe";var countryNames = {AD:AD,AE:AE,AF:AF,AI:AI,AL:AL,AM:AM,AO:AO,AR:AR,AS:AS,AT:AT,AU:AU,AW:AW,AZ:AZ,BA:BA,BB:BB,BD:BD,BE:BE,BF:BF,BG:BG,BH:BH,BI:BI,BJ:BJ,BM:BM,BN:BN,BO:BO,BR:BR,BS:BS,BT:BT,BW:BW,BY:BY,BZ:BZ,CA:CA,CD:CD,CF:CF,CG:CG,CH:CH,CI:CI,CK:CK,CL:CL,CM:CM,CN:CN,CO:CO,CR:CR,CU:CU,CV:CV,CW:CW,CY:CY,CZ:CZ,DE:DE,DK:DK,DM:DM,DO:DO,DZ:DZ,EC:EC,EE:EE,EG:EG,ER:ER,ES:ES,ET:ET,FI:FI,FJ:FJ,FK:FK,FO:FO,FR:FR,GA:GA,GB:GB,GE:GE,GH:GH,GI:GI,GL:GL,GM:GM,GN:GN,GQ:GQ,GR:GR,GT:GT,GW:GW,GY:GY,HK:HK,HN:HN,HR:HR,HT:HT,HU:HU,ID:ID,IE:IE,IL:IL,IM:IM,IN:IN,IQ:IQ,IR:IR,IS:IS,IT:IT,JM:JM,JO:JO,JP:JP,KE:KE,KG:KG,KH:KH,KM:KM,KN:KN,KP:KP,KR:KR,KW:KW,KY:KY,KZ:KZ,LA:LA,LB:LB,LC:LC,LI:LI,LR:LR,LS:LS,LT:LT,LU:LU,LV:LV,LY:LY,MA:MA,MD:MD,ME:ME,MG:MG,MK:MK,ML:ML,MM:MM,MN:MN,MP:MP,MR:MR,MS:MS,MT:MT,MU:MU,MW:MW,MX:MX,MY:MY,MZ:MZ,NA:NA,NC:NC,NE:NE,NG:NG,NI:NI,NL:NL,NO:NO,NP:NP,NU:NU,NZ:NZ,OM:OM,PA:PA,PE:PE,PF:PF,PG:PG,PH:PH,PK:PK,PL:PL,PR:PR,PT:PT,PY:PY,QA:QA,RO:RO,RS:RS,RU:RU,RW:RW,SA:SA,SB:SB,SC:SC,SD:SD,SE:SE,SG:SG,SH:SH,SI:SI,SK:SK,SL:SL,SN:SN,SO:SO,SR:SR,ST:ST,SV:SV,SY:SY,SZ:SZ,TC:TC,TD:TD,TG:TG,TH:TH,TJ:TJ,TM:TM,TN:TN,TR:TR,TV:TV,TW:TW,TZ:TZ,UA:UA,UG:UG,US:US,UY:UY,UZ:UZ,VC:VC,VE:VE,VG:VG,VN:VN,WS:WS,YE:YE,YT:YT,ZA:ZA,ZM:ZM,ZW:ZW};
3963
+
3964
+ /**
3965
+ * @param {Location} location
3966
+ * @return {string}
3967
+ */
3968
+
3969
+ function locationToPlainObj(location) {
3970
+ if (typeof location === 'object' && location !== null && typeof location.name === 'string') {
3971
+ const o = {
3972
+ title: location.getName(),
3973
+ city: location.getShortName(),
3974
+ tzid: location.getTzid(),
3975
+ latitude: location.getLatitude(),
3976
+ longitude: location.getLongitude(),
3977
+ cc: location.getCountryCode(),
3978
+ country: countryNames[location.getCountryCode()]
3979
+ };
3980
+ ['admin1', 'asciiname', 'geo', 'zip', 'state', 'stateName', 'geonameid'].forEach(k => {
3981
+ if (location[k]) {
3982
+ o[k] = location[k];
3983
+ }
3984
+ });
3985
+ return o;
3986
+ } else {
3987
+ return {
3988
+ geo: 'none'
3989
+ };
3990
+ }
3991
+ }
3992
+ /**
3993
+ * Helper function to transform a string to make it more usable in a URL or filename.
3994
+ * Converts to lowercase and replaces non-word characters with hyphen ('-').
3995
+ * @example
3996
+ * makeAnchor('Rosh Chodesh Adar II') // 'rosh-chodesh-adar-ii'
3997
+ * @param {string} s
3998
+ * @return {string}
3999
+ */
4000
+
4001
+ function makeAnchor(s) {
4002
+ return s.toLowerCase().replace(/'/g, '').replace(/[^\w]/g, '-').replace(/-+/g, '-').replace(/^-/g, '').replace(/-$/g, '');
4003
+ }
4004
+ /**
4005
+ * @param {CalOptions} options
4006
+ * @return {string}
4007
+ */
4008
+
4009
+ function getDownloadFilename(options) {
4010
+ let fileName = 'hebcal_' + options.year;
4011
+
4012
+ if (options.isHebrewYear) {
4013
+ fileName += 'h';
4014
+ }
4015
+
4016
+ if (options.month) {
4017
+ fileName += '_' + options.month;
4018
+ }
4019
+
4020
+ if (options.location) {
4021
+ const name = options.location.zip || options.location.asciiname || options.location.getShortName();
4022
+ fileName += '_' + makeAnchor(name).replace(/[-]/g, '_');
4023
+ }
4024
+
4025
+ return fileName;
4026
+ }
4027
+ /**
4028
+ * @param {number} number
4029
+ * @return {string}
4030
+ */
4031
+
4032
+ function pad2(number) {
4033
+ if (number < 10) {
4034
+ return '0' + number;
4035
+ }
4036
+
4037
+ return String(number);
4038
+ }
4039
+ /**
4040
+ * @param {number} number
4041
+ * @return {string}
4042
+ */
4043
+
4044
+ function pad4(number) {
4045
+ if (number < 0) {
4046
+ return '-00' + pad4(-number);
4047
+ } else if (number < 10) {
4048
+ return '000' + number;
4049
+ } else if (number < 100) {
4050
+ return '00' + number;
4051
+ } else if (number < 1000) {
4052
+ return '0' + number;
4053
+ }
4054
+
4055
+ return String(number);
4056
+ }
4057
+ /**
4058
+ * Get offset string (like "+05:00" or "-08:00") from tzid (like "Europe/Moscow")
4059
+ * @deprecated
4060
+ * @param {string} tzid
4061
+ * @param {Date} date
4062
+ * @return {string}
4063
+ */
4064
+
4065
+ function timeZoneOffsetStr(tzid, date) {
4066
+ return core.Zmanim.timeZoneOffset(tzid, date);
4067
+ }
4068
+ /**
4069
+ * Returns just the date portion as YYYY-MM-DD
4070
+ * @param {Date} d
4071
+ * @return {string}
4072
+ */
4073
+
4074
+ function toISOString(d) {
4075
+ return pad4(d.getFullYear()) + '-' + pad2(d.getMonth() + 1) + '-' + pad2(d.getDate());
4076
+ }
4077
+ /**
4078
+ * Returns a string like "2018-09-01T12:30:00-05:00"
4079
+ * @deprecated
4080
+ * @param {Date} date
4081
+ * @param {string} timeStr must be formatted with only hours and minutes, like "17:12"
4082
+ * @param {string} tzid like "America/New_York"
4083
+ * @return {string}
4084
+ */
4085
+
4086
+ function toISOStringWithTimezone(date, timeStr, tzid) {
4087
+ const str = toISOString(date);
4088
+ if (!timeStr) return str;
4089
+ return str + 'T' + timeStr + ':00' + core.Zmanim.timeZoneOffset(tzid, date);
4090
+ }
4091
+ /**
4092
+ * Returns a category and subcategory name
4093
+ * @param {Event} ev
4094
+ * @return {string[]}
4095
+ */
4096
+
4097
+ function getEventCategories(ev) {
4098
+ const desc = ev.getDesc(); // since these use flags.MINOR_FAST or flags.MAJOR_FAST, check description first
4099
+
4100
+ if (desc === 'Fast begins' || desc === 'Fast ends') {
4101
+ return ['zmanim', 'fast'];
4102
+ }
4103
+
4104
+ switch (ev.getFlags()) {
4105
+ case core.flags.OMER_COUNT:
4106
+ return ['omer'];
4107
+
4108
+ case core.flags.HEBREW_DATE:
4109
+ return ['hebdate'];
4110
+
4111
+ case core.flags.PARSHA_HASHAVUA:
4112
+ return ['parashat'];
4113
+ // backwards-compat
4114
+
4115
+ case core.flags.DAF_YOMI:
4116
+ return ['dafyomi'];
4117
+
4118
+ case core.flags.ROSH_CHODESH:
4119
+ return ['roshchodesh'];
4120
+
4121
+ case core.flags.SPECIAL_SHABBAT:
4122
+ return ['holiday', 'shabbat'];
4123
+
4124
+ case core.flags.MINOR_FAST:
4125
+ return ['holiday', 'fast'];
4126
+
4127
+ case core.flags.MAJOR_FAST:
4128
+ return ['holiday', 'fast', 'major'];
4129
+
4130
+ case core.flags.MODERN_HOLIDAY:
4131
+ return ['holiday', 'modern'];
4132
+
4133
+ case core.flags.SHABBAT_MEVARCHIM:
4134
+ return ['mevarchim'];
4135
+
4136
+ case core.flags.MOLAD:
4137
+ return ['molad'];
4138
+
4139
+ case core.flags.USER_EVENT:
4140
+ return ['user'];
4141
+
4142
+ case core.flags.MINOR_HOLIDAY:
4143
+ return ['holiday', 'minor'];
4144
+
4145
+ case core.flags.MISHNA_YOMI:
4146
+ return ['mishnayomi'];
4147
+ // fall through to string-based category
4148
+ }
4149
+
4150
+ if (ev.cholHaMoedDay) {
4151
+ return ['holiday', 'major', 'cholhamoed'];
1503
4152
  }
1504
4153
 
1505
4154
  switch (desc) {
@@ -1539,7 +4188,7 @@ function renderTitleWithoutTime(ev) {
1539
4188
  /**
1540
4189
  * Generates a title like "Hebcal 2020 Israel" or "Hebcal May 1993 Providence"
1541
4190
  * @param {Event[]} events
1542
- * @param {HebrewCalendar.Options} options
4191
+ * @param {CalOptions} options
1543
4192
  * @return {string}
1544
4193
  */
1545
4194
 
@@ -1658,16 +4307,64 @@ function makeTorahMemoText(ev, il) {
1658
4307
  */
1659
4308
 
1660
4309
  function appendIsraelAndTracking(url, il, utmSource, utmMedium, utmCampaign) {
1661
- if (url.substring(0, 22) !== 'https://www.hebcal.com') {
1662
- utmSource = 'hebcal.com';
1663
- } else if (il && url.indexOf('?') === -1) {
1664
- url += '?i=on';
4310
+ const u = new URL(url);
4311
+ const isHebcal = u.host === 'www.hebcal.com';
4312
+
4313
+ if (isHebcal) {
4314
+ if (il) {
4315
+ u.searchParams.set('i', 'on');
4316
+ }
4317
+
4318
+ const path = u.pathname;
4319
+ const isHolidays = path.startsWith('/holidays/');
4320
+ const isSedrot = path.startsWith('/sedrot/');
4321
+ const isOmer = path.startsWith('/omer/');
4322
+
4323
+ if (isHolidays || isSedrot || isOmer) {
4324
+ u.host = 'hebcal.com';
4325
+
4326
+ if (isHolidays) {
4327
+ u.pathname = '/h/' + path.substring(10);
4328
+ } else if (isSedrot) {
4329
+ u.pathname = '/s/' + path.substring(8);
4330
+ } else {
4331
+ // isOmer
4332
+ u.pathname = '/o/' + path.substring(6);
4333
+ }
4334
+
4335
+ if (!utmCampaign || !(utmCampaign.startsWith('ical-') || utmCampaign.startsWith('pdf-'))) {
4336
+ if (utmSource) {
4337
+ u.searchParams.set('us', utmSource);
4338
+ }
4339
+
4340
+ if (utmMedium) {
4341
+ u.searchParams.set('um', utmMedium);
4342
+ }
4343
+ }
4344
+
4345
+ if (utmCampaign) {
4346
+ u.searchParams.set('uc', utmCampaign);
4347
+ }
4348
+
4349
+ return u.toString();
4350
+ }
4351
+ }
4352
+
4353
+ utmSource = isHebcal ? utmSource : 'hebcal.com';
4354
+
4355
+ if (utmSource) {
4356
+ u.searchParams.set('utm_source', utmSource);
1665
4357
  }
1666
4358
 
1667
- const sep = url.indexOf('?') === -1 ? '?' : '&';
1668
- const utm = "utm_source=".concat(utmSource, "&utm_medium=").concat(utmMedium);
1669
- const campaign = utmCampaign ? "&utm_campaign=".concat(utmCampaign) : '';
1670
- return url + sep + utm + campaign;
4359
+ if (utmMedium) {
4360
+ u.searchParams.set('utm_medium', utmMedium);
4361
+ }
4362
+
4363
+ if (utmCampaign) {
4364
+ u.searchParams.set('utm_campaign', utmCampaign);
4365
+ }
4366
+
4367
+ return u.toString();
1671
4368
  }
1672
4369
  /**
1673
4370
  * @private
@@ -1704,7 +4401,7 @@ const CATEGORY = {
1704
4401
  /**
1705
4402
  * Renders an Event as a string
1706
4403
  * @param {Event} e
1707
- * @param {HebrewCalendar.Options} options
4404
+ * @param {CalOptions} options
1708
4405
  * @return {string}
1709
4406
  */
1710
4407
 
@@ -1780,12 +4477,10 @@ function eventsToCsv(events, options) {
1780
4477
  return [csvHeader].concat(events.map(e => eventToCsv(e, options))).join('\r\n') + '\r\n';
1781
4478
  }
1782
4479
 
1783
- var AD="Andorra";var AE="United Arab Emirates";var AF="Afghanistan";var AI="Anguilla";var AL="Albania";var AM="Armenia";var AO="Angola";var AR="Argentina";var AS="American Samoa";var AT="Austria";var AU="Australia";var AW="Aruba";var AZ="Azerbaijan";var BA="Bosnia and Herzegovina";var BB="Barbados";var BD="Bangladesh";var BE="Belgium";var BF="Burkina Faso";var BG="Bulgaria";var BH="Bahrain";var BI="Burundi";var BJ="Benin";var BM="Bermuda";var BN="Brunei";var BO="Bolivia";var BR="Brazil";var BS="Bahamas";var BT="Bhutan";var BW="Botswana";var BY="Belarus";var BZ="Belize";var CA="Canada";var CD="Democratic Republic of the Congo";var CF="Central African Republic";var CG="Republic of the Congo";var CH="Switzerland";var CI="Ivory Coast";var CK="Cook Islands";var CL="Chile";var CM="Cameroon";var CN="China";var CO="Colombia";var CR="Costa Rica";var CU="Cuba";var CV="Cape Verde";var CW="Curacao";var CY="Cyprus";var CZ="Czech Republic";var DE="Germany";var DK="Denmark";var DM="Dominica";var DO="Dominican Republic";var DZ="Algeria";var EC="Ecuador";var EE="Estonia";var EG="Egypt";var ER="Eritrea";var ES="Spain";var ET="Ethiopia";var FI="Finland";var FJ="Fiji";var FK="Falkland Islands";var FO="Faroe Islands";var FR="France";var GA="Gabon";var GB="United Kingdom";var GE="Georgia";var GH="Ghana";var GI="Gibraltar";var GL="Greenland";var GM="Gambia";var GN="Guinea";var GQ="Equatorial Guinea";var GR="Greece";var GT="Guatemala";var GW="Guinea-Bissau";var GY="Guyana";var HK="Hong Kong";var HN="Honduras";var HR="Croatia";var HT="Haiti";var HU="Hungary";var ID="Indonesia";var IE="Ireland";var IL="Israel";var IM="Isle of Man";var IN="India";var IQ="Iraq";var IR="Iran";var IS="Iceland";var IT="Italy";var JM="Jamaica";var JO="Jordan";var JP="Japan";var KE="Kenya";var KG="Kyrgyzstan";var KH="Cambodia";var KM="Comoros";var KN="Saint Kitts and Nevis";var KP="North Korea";var KR="South Korea";var KW="Kuwait";var KY="Cayman Islands";var KZ="Kazakhstan";var LA="Laos";var LB="Lebanon";var LC="Saint Lucia";var LI="Liechtenstein";var LR="Liberia";var LS="Lesotho";var LT="Lithuania";var LU="Luxembourg";var LV="Latvia";var LY="Libya";var MA="Morocco";var MD="Moldova";var ME="Montenegro";var MG="Madagascar";var MK="Macedonia";var ML="Mali";var MM="Myanmar";var MN="Mongolia";var MP="Northern Mariana Islands";var MR="Mauritania";var MS="Montserrat";var MT="Malta";var MU="Mauritius";var MW="Malawi";var MX="Mexico";var MY="Malaysia";var MZ="Mozambique";var NA="Namibia";var NC="New Caledonia";var NE="Niger";var NG="Nigeria";var NI="Nicaragua";var NL="Netherlands";var NO="Norway";var NP="Nepal";var NU="Niue";var NZ="New Zealand";var OM="Oman";var PA="Panama";var PE="Peru";var PF="French Polynesia";var PG="Papua New Guinea";var PH="Philippines";var PK="Pakistan";var PL="Poland";var PR="Puerto Rico";var PT="Portugal";var PY="Paraguay";var QA="Qatar";var RO="Romania";var RS="Serbia";var RU="Russia";var RW="Rwanda";var SA="Saudi Arabia";var SB="Solomon Islands";var SC="Seychelles";var SD="Sudan";var SE="Sweden";var SG="Singapore";var SH="Saint Helena";var SI="Slovenia";var SK="Slovakia";var SL="Sierra Leone";var SN="Senegal";var SO="Somalia";var SR="Suriname";var ST="Sao Tome and Principe";var SV="El Salvador";var SY="Syria";var SZ="Swaziland";var TC="Turks and Caicos Islands";var TD="Chad";var TG="Togo";var TH="Thailand";var TJ="Tajikistan";var TM="Turkmenistan";var TN="Tunisia";var TR="Turkey";var TV="Tuvalu";var TW="Taiwan";var TZ="Tanzania";var UA="Ukraine";var UG="Uganda";var US="United States";var UY="Uruguay";var UZ="Uzbekistan";var VC="Saint Vincent and the Grenadines";var VE="Venezuela";var VG="British Virgin Islands";var VN="Vietnam";var WS="Samoa";var YE="Yemen";var YT="Mayotte";var ZA="South Africa";var ZM="Zambia";var ZW="Zimbabwe";var countryNames = {AD:AD,AE:AE,AF:AF,AI:AI,AL:AL,AM:AM,AO:AO,AR:AR,AS:AS,AT:AT,AU:AU,AW:AW,AZ:AZ,BA:BA,BB:BB,BD:BD,BE:BE,BF:BF,BG:BG,BH:BH,BI:BI,BJ:BJ,BM:BM,BN:BN,BO:BO,BR:BR,BS:BS,BT:BT,BW:BW,BY:BY,BZ:BZ,CA:CA,CD:CD,CF:CF,CG:CG,CH:CH,CI:CI,CK:CK,CL:CL,CM:CM,CN:CN,CO:CO,CR:CR,CU:CU,CV:CV,CW:CW,CY:CY,CZ:CZ,DE:DE,DK:DK,DM:DM,DO:DO,DZ:DZ,EC:EC,EE:EE,EG:EG,ER:ER,ES:ES,ET:ET,FI:FI,FJ:FJ,FK:FK,FO:FO,FR:FR,GA:GA,GB:GB,GE:GE,GH:GH,GI:GI,GL:GL,GM:GM,GN:GN,GQ:GQ,GR:GR,GT:GT,GW:GW,GY:GY,HK:HK,HN:HN,HR:HR,HT:HT,HU:HU,ID:ID,IE:IE,IL:IL,IM:IM,IN:IN,IQ:IQ,IR:IR,IS:IS,IT:IT,JM:JM,JO:JO,JP:JP,KE:KE,KG:KG,KH:KH,KM:KM,KN:KN,KP:KP,KR:KR,KW:KW,KY:KY,KZ:KZ,LA:LA,LB:LB,LC:LC,LI:LI,LR:LR,LS:LS,LT:LT,LU:LU,LV:LV,LY:LY,MA:MA,MD:MD,ME:ME,MG:MG,MK:MK,ML:ML,MM:MM,MN:MN,MP:MP,MR:MR,MS:MS,MT:MT,MU:MU,MW:MW,MX:MX,MY:MY,MZ:MZ,NA:NA,NC:NC,NE:NE,NG:NG,NI:NI,NL:NL,NO:NO,NP:NP,NU:NU,NZ:NZ,OM:OM,PA:PA,PE:PE,PF:PF,PG:PG,PH:PH,PK:PK,PL:PL,PR:PR,PT:PT,PY:PY,QA:QA,RO:RO,RS:RS,RU:RU,RW:RW,SA:SA,SB:SB,SC:SC,SD:SD,SE:SE,SG:SG,SH:SH,SI:SI,SK:SK,SL:SL,SN:SN,SO:SO,SR:SR,ST:ST,SV:SV,SY:SY,SZ:SZ,TC:TC,TD:TD,TG:TG,TH:TH,TJ:TJ,TM:TM,TN:TN,TR:TR,TV:TV,TW:TW,TZ:TZ,UA:UA,UG:UG,US:US,UY:UY,UZ:UZ,VC:VC,VE:VE,VG:VG,VN:VN,WS:WS,YE:YE,YT:YT,ZA:ZA,ZM:ZM,ZW:ZW};
1784
-
1785
4480
  /**
1786
4481
  * Formats a list events for the classic Hebcal.com JSON API response
1787
4482
  * @param {Event[]} events
1788
- * @param {HebrewCalendar.Options} options
4483
+ * @param {CalOptions} options
1789
4484
  * @param {boolean} [leyning=true]
1790
4485
  * @return {Object}
1791
4486
  */
@@ -1796,36 +4491,14 @@ function eventsToClassicApi(events, options) {
1796
4491
  title: getCalendarTitle(events, options),
1797
4492
  date: new Date().toISOString()
1798
4493
  };
1799
- const location = options.location;
1800
-
1801
- if (typeof location === 'object' && typeof location.name === 'string') {
1802
- result.location = {
1803
- title: location.getName(),
1804
- city: location.getShortName(),
1805
- tzid: location.getTzid(),
1806
- latitude: location.getLatitude(),
1807
- longitude: location.getLongitude(),
1808
- cc: location.getCountryCode(),
1809
- country: countryNames[location.getCountryCode()]
1810
- };
1811
- ['admin1', 'asciiname', 'geo', 'zip', 'state', 'geonameid'].forEach(k => {
1812
- if (location[k]) {
1813
- result.location[k] = location[k];
1814
- }
1815
- });
1816
- } else {
1817
- result.location = {
1818
- geo: 'none'
1819
- };
1820
- }
1821
-
4494
+ result.location = locationToPlainObj(options.location);
1822
4495
  result.items = events.map(ev => eventToClassicApiObject(ev, options, leyning));
1823
4496
  return result;
1824
4497
  }
1825
4498
  /**
1826
4499
  * Converts a Hebcal event to a classic Hebcal.com JSON API object
1827
4500
  * @param {Event} ev
1828
- * @param {HebrewCalendar.Options} options
4501
+ * @param {CalOptions} options
1829
4502
  * @param {boolean} [leyning=true]
1830
4503
  * @return {Object}
1831
4504
  */
@@ -2042,7 +4715,7 @@ const localeToLg = {
2042
4715
  };
2043
4716
  /**
2044
4717
  * @param {Event[]} events
2045
- * @param {HebrewCalendar.Options} options
4718
+ * @param {CalOptions} options
2046
4719
  * @return {string}
2047
4720
  */
2048
4721
 
@@ -2096,7 +4769,7 @@ function getPubDate(ev, evPubDate, evDate, lastBuildDate) {
2096
4769
  }
2097
4770
  /**
2098
4771
  * @param {Event} ev
2099
- * @param {HebrewCalendar.Options} options
4772
+ * @param {CalOptions} options
2100
4773
  * @return {string}
2101
4774
  */
2102
4775
 
@@ -2111,7 +4784,7 @@ function eventToRssItem2(ev, options) {
2111
4784
  * @param {Intl.DateTimeFormat} dayFormat
2112
4785
  * @param {Location} location
2113
4786
  * @param {string} mainUrl
2114
- * @param {HebrewCalendar.Options} [options]
4787
+ * @param {CalOptions} [options]
2115
4788
  * @return {string}
2116
4789
  */
2117
4790
 
@@ -2222,6 +4895,7 @@ exports.getDownloadFilename = getDownloadFilename;
2222
4895
  exports.getEventCategories = getEventCategories;
2223
4896
  exports.getHolidayDescription = getHolidayDescription;
2224
4897
  exports.holidayDescription = holidayDescription;
4898
+ exports.locationToPlainObj = locationToPlainObj;
2225
4899
  exports.makeAnchor = makeAnchor;
2226
4900
  exports.makeTorahMemoText = makeTorahMemoText;
2227
4901
  exports.pad2 = pad2;