@digipair/skill-basic 0.41.4 → 0.43.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/index.esm.js +1177 -690
  2. package/package.json +1 -1
package/index.esm.js CHANGED
@@ -8133,7 +8133,7 @@ function _type_of(obj) {
8133
8133
  }
8134
8134
  return self;
8135
8135
  }
8136
- function _class_call_check$i(instance, Constructor) {
8136
+ function _class_call_check$j(instance, Constructor) {
8137
8137
  if (!(instance instanceof Constructor)) {
8138
8138
  throw new TypeError("Cannot call a class as a function");
8139
8139
  }
@@ -8248,7 +8248,7 @@ var LuxonError = /*#__PURE__*/ function(Error1) {
8248
8248
  _inherits$7(LuxonError, Error1);
8249
8249
  var _super = _create_super$7(LuxonError);
8250
8250
  function LuxonError() {
8251
- _class_call_check$i(this, LuxonError);
8251
+ _class_call_check$j(this, LuxonError);
8252
8252
  return _super.apply(this, arguments);
8253
8253
  }
8254
8254
  return LuxonError;
@@ -8259,7 +8259,7 @@ var LuxonError = /*#__PURE__*/ function(Error1) {
8259
8259
  _inherits$7(InvalidDateTimeError, LuxonError);
8260
8260
  var _super = _create_super$7(InvalidDateTimeError);
8261
8261
  function InvalidDateTimeError(reason) {
8262
- _class_call_check$i(this, InvalidDateTimeError);
8262
+ _class_call_check$j(this, InvalidDateTimeError);
8263
8263
  return _super.call(this, "Invalid DateTime: ".concat(reason.toMessage()));
8264
8264
  }
8265
8265
  return InvalidDateTimeError;
@@ -8270,7 +8270,7 @@ var LuxonError = /*#__PURE__*/ function(Error1) {
8270
8270
  _inherits$7(InvalidIntervalError, LuxonError);
8271
8271
  var _super = _create_super$7(InvalidIntervalError);
8272
8272
  function InvalidIntervalError(reason) {
8273
- _class_call_check$i(this, InvalidIntervalError);
8273
+ _class_call_check$j(this, InvalidIntervalError);
8274
8274
  return _super.call(this, "Invalid Interval: ".concat(reason.toMessage()));
8275
8275
  }
8276
8276
  return InvalidIntervalError;
@@ -8281,7 +8281,7 @@ var LuxonError = /*#__PURE__*/ function(Error1) {
8281
8281
  _inherits$7(InvalidDurationError, LuxonError);
8282
8282
  var _super = _create_super$7(InvalidDurationError);
8283
8283
  function InvalidDurationError(reason) {
8284
- _class_call_check$i(this, InvalidDurationError);
8284
+ _class_call_check$j(this, InvalidDurationError);
8285
8285
  return _super.call(this, "Invalid Duration: ".concat(reason.toMessage()));
8286
8286
  }
8287
8287
  return InvalidDurationError;
@@ -8292,7 +8292,7 @@ var LuxonError = /*#__PURE__*/ function(Error1) {
8292
8292
  _inherits$7(ConflictingSpecificationError, LuxonError);
8293
8293
  var _super = _create_super$7(ConflictingSpecificationError);
8294
8294
  function ConflictingSpecificationError() {
8295
- _class_call_check$i(this, ConflictingSpecificationError);
8295
+ _class_call_check$j(this, ConflictingSpecificationError);
8296
8296
  return _super.apply(this, arguments);
8297
8297
  }
8298
8298
  return ConflictingSpecificationError;
@@ -8303,7 +8303,7 @@ var LuxonError = /*#__PURE__*/ function(Error1) {
8303
8303
  _inherits$7(InvalidUnitError, LuxonError);
8304
8304
  var _super = _create_super$7(InvalidUnitError);
8305
8305
  function InvalidUnitError(unit) {
8306
- _class_call_check$i(this, InvalidUnitError);
8306
+ _class_call_check$j(this, InvalidUnitError);
8307
8307
  return _super.call(this, "Invalid unit ".concat(unit));
8308
8308
  }
8309
8309
  return InvalidUnitError;
@@ -8314,7 +8314,7 @@ var LuxonError = /*#__PURE__*/ function(Error1) {
8314
8314
  _inherits$7(InvalidArgumentError, LuxonError);
8315
8315
  var _super = _create_super$7(InvalidArgumentError);
8316
8316
  function InvalidArgumentError() {
8317
- _class_call_check$i(this, InvalidArgumentError);
8317
+ _class_call_check$j(this, InvalidArgumentError);
8318
8318
  return _super.apply(this, arguments);
8319
8319
  }
8320
8320
  return InvalidArgumentError;
@@ -8325,7 +8325,7 @@ var LuxonError = /*#__PURE__*/ function(Error1) {
8325
8325
  _inherits$7(ZoneIsAbstractError, LuxonError);
8326
8326
  var _super = _create_super$7(ZoneIsAbstractError);
8327
8327
  function ZoneIsAbstractError() {
8328
- _class_call_check$i(this, ZoneIsAbstractError);
8328
+ _class_call_check$j(this, ZoneIsAbstractError);
8329
8329
  return _super.call(this, "Zone is an abstract class");
8330
8330
  }
8331
8331
  return ZoneIsAbstractError;
@@ -8482,12 +8482,12 @@ var DATETIME_HUGE_WITH_SECONDS = {
8482
8482
  timeZoneName: l
8483
8483
  };
8484
8484
 
8485
- function _class_call_check$h(instance, Constructor) {
8485
+ function _class_call_check$i(instance, Constructor) {
8486
8486
  if (!(instance instanceof Constructor)) {
8487
8487
  throw new TypeError("Cannot call a class as a function");
8488
8488
  }
8489
8489
  }
8490
- function _defineProperties$h(target, props) {
8490
+ function _defineProperties$i(target, props) {
8491
8491
  for(var i = 0; i < props.length; i++){
8492
8492
  var descriptor = props[i];
8493
8493
  descriptor.enumerable = descriptor.enumerable || false;
@@ -8496,16 +8496,16 @@ function _defineProperties$h(target, props) {
8496
8496
  Object.defineProperty(target, descriptor.key, descriptor);
8497
8497
  }
8498
8498
  }
8499
- function _create_class$h(Constructor, protoProps, staticProps) {
8500
- if (protoProps) _defineProperties$h(Constructor.prototype, protoProps);
8501
- if (staticProps) _defineProperties$h(Constructor, staticProps);
8499
+ function _create_class$i(Constructor, protoProps, staticProps) {
8500
+ if (protoProps) _defineProperties$i(Constructor.prototype, protoProps);
8501
+ if (staticProps) _defineProperties$i(Constructor, staticProps);
8502
8502
  return Constructor;
8503
8503
  }
8504
8504
  var Zone = /*#__PURE__*/ function() {
8505
8505
  function Zone() {
8506
- _class_call_check$h(this, Zone);
8506
+ _class_call_check$i(this, Zone);
8507
8507
  }
8508
- _create_class$h(Zone, [
8508
+ _create_class$i(Zone, [
8509
8509
  {
8510
8510
  key: "type",
8511
8511
  get: /**
@@ -8528,7 +8528,12 @@ var Zone = /*#__PURE__*/ function() {
8528
8528
  },
8529
8529
  {
8530
8530
  key: "ianaName",
8531
- get: function get() {
8531
+ get: /**
8532
+ * The IANA name of this zone.
8533
+ * Defaults to `name` if not overwritten by a subclass.
8534
+ * @abstract
8535
+ * @type {string}
8536
+ */ function get() {
8532
8537
  return this.name;
8533
8538
  }
8534
8539
  },
@@ -8611,12 +8616,12 @@ function _assert_this_initialized$6(self) {
8611
8616
  }
8612
8617
  return self;
8613
8618
  }
8614
- function _class_call_check$g(instance, Constructor) {
8619
+ function _class_call_check$h(instance, Constructor) {
8615
8620
  if (!(instance instanceof Constructor)) {
8616
8621
  throw new TypeError("Cannot call a class as a function");
8617
8622
  }
8618
8623
  }
8619
- function _defineProperties$g(target, props) {
8624
+ function _defineProperties$h(target, props) {
8620
8625
  for(var i = 0; i < props.length; i++){
8621
8626
  var descriptor = props[i];
8622
8627
  descriptor.enumerable = descriptor.enumerable || false;
@@ -8625,9 +8630,9 @@ function _defineProperties$g(target, props) {
8625
8630
  Object.defineProperty(target, descriptor.key, descriptor);
8626
8631
  }
8627
8632
  }
8628
- function _create_class$g(Constructor, protoProps, staticProps) {
8629
- if (protoProps) _defineProperties$g(Constructor.prototype, protoProps);
8630
- if (staticProps) _defineProperties$g(Constructor, staticProps);
8633
+ function _create_class$h(Constructor, protoProps, staticProps) {
8634
+ if (protoProps) _defineProperties$h(Constructor.prototype, protoProps);
8635
+ if (staticProps) _defineProperties$h(Constructor, staticProps);
8631
8636
  return Constructor;
8632
8637
  }
8633
8638
  function _get_prototype_of$6(o) {
@@ -8695,10 +8700,10 @@ var SystemZone = /*#__PURE__*/ function(Zone) {
8695
8700
  _inherits$6(SystemZone, Zone);
8696
8701
  var _super = _create_super$6(SystemZone);
8697
8702
  function SystemZone() {
8698
- _class_call_check$g(this, SystemZone);
8703
+ _class_call_check$h(this, SystemZone);
8699
8704
  return _super.apply(this, arguments);
8700
8705
  }
8701
- _create_class$g(SystemZone, [
8706
+ _create_class$h(SystemZone, [
8702
8707
  {
8703
8708
  key: "type",
8704
8709
  get: /** @override **/ function get() {
@@ -8779,12 +8784,12 @@ function _assert_this_initialized$5(self) {
8779
8784
  }
8780
8785
  return self;
8781
8786
  }
8782
- function _class_call_check$f(instance, Constructor) {
8787
+ function _class_call_check$g(instance, Constructor) {
8783
8788
  if (!(instance instanceof Constructor)) {
8784
8789
  throw new TypeError("Cannot call a class as a function");
8785
8790
  }
8786
8791
  }
8787
- function _defineProperties$f(target, props) {
8792
+ function _defineProperties$g(target, props) {
8788
8793
  for(var i = 0; i < props.length; i++){
8789
8794
  var descriptor = props[i];
8790
8795
  descriptor.enumerable = descriptor.enumerable || false;
@@ -8793,9 +8798,9 @@ function _defineProperties$f(target, props) {
8793
8798
  Object.defineProperty(target, descriptor.key, descriptor);
8794
8799
  }
8795
8800
  }
8796
- function _create_class$f(Constructor, protoProps, staticProps) {
8797
- if (protoProps) _defineProperties$f(Constructor.prototype, protoProps);
8798
- if (staticProps) _defineProperties$f(Constructor, staticProps);
8801
+ function _create_class$g(Constructor, protoProps, staticProps) {
8802
+ if (protoProps) _defineProperties$g(Constructor.prototype, protoProps);
8803
+ if (staticProps) _defineProperties$g(Constructor, staticProps);
8799
8804
  return Constructor;
8800
8805
  }
8801
8806
  function _get_prototype_of$5(o) {
@@ -8942,7 +8947,7 @@ function partsOffset(dtf, date) {
8942
8947
  var pos = typeToPos[type];
8943
8948
  if (type === "era") {
8944
8949
  filled[pos] = value;
8945
- } else if (!isUndefined(pos)) {
8950
+ } else if (!isUndefined$1(pos)) {
8946
8951
  filled[pos] = parseInt(value, 10);
8947
8952
  }
8948
8953
  }
@@ -8953,47 +8958,80 @@ var IANAZone = /*#__PURE__*/ function(Zone) {
8953
8958
  _inherits$5(IANAZone, Zone);
8954
8959
  var _super = _create_super$5(IANAZone);
8955
8960
  function IANAZone(name) {
8956
- _class_call_check$f(this, IANAZone);
8961
+ _class_call_check$g(this, IANAZone);
8957
8962
  var _this;
8958
8963
  _this = _super.call(this);
8959
8964
  /** @private **/ _this.zoneName = name;
8960
8965
  /** @private **/ _this.valid = IANAZone.isValidZone(name);
8961
8966
  return _this;
8962
8967
  }
8963
- _create_class$f(IANAZone, [
8968
+ _create_class$g(IANAZone, [
8964
8969
  {
8965
8970
  key: "type",
8966
- get: /** @override **/ function get() {
8971
+ get: /**
8972
+ * The type of zone. `iana` for all instances of `IANAZone`.
8973
+ * @override
8974
+ * @type {string}
8975
+ */ function get() {
8967
8976
  return "iana";
8968
8977
  }
8969
8978
  },
8970
8979
  {
8971
8980
  key: "name",
8972
- get: /** @override **/ function get() {
8981
+ get: /**
8982
+ * The name of this zone (i.e. the IANA zone name).
8983
+ * @override
8984
+ * @type {string}
8985
+ */ function get() {
8973
8986
  return this.zoneName;
8974
8987
  }
8975
8988
  },
8976
8989
  {
8977
8990
  key: "isUniversal",
8978
- get: /** @override **/ function get() {
8991
+ get: /**
8992
+ * Returns whether the offset is known to be fixed for the whole year:
8993
+ * Always returns false for all IANA zones.
8994
+ * @override
8995
+ * @type {boolean}
8996
+ */ function get() {
8979
8997
  return false;
8980
8998
  }
8981
8999
  },
8982
9000
  {
8983
- /** @override **/ key: "offsetName",
9001
+ /**
9002
+ * Returns the offset's common name (such as EST) at the specified timestamp
9003
+ * @override
9004
+ * @param {number} ts - Epoch milliseconds for which to get the name
9005
+ * @param {Object} opts - Options to affect the format
9006
+ * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.
9007
+ * @param {string} opts.locale - What locale to return the offset name in.
9008
+ * @return {string}
9009
+ */ key: "offsetName",
8984
9010
  value: function offsetName(ts, param) {
8985
9011
  var format = param.format, locale = param.locale;
8986
9012
  return parseZoneInfo(ts, format, locale, this.name);
8987
9013
  }
8988
9014
  },
8989
9015
  {
8990
- /** @override **/ key: "formatOffset",
9016
+ /**
9017
+ * Returns the offset's value as a string
9018
+ * @override
9019
+ * @param {number} ts - Epoch milliseconds for which to get the offset
9020
+ * @param {string} format - What style of offset to return.
9021
+ * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively
9022
+ * @return {string}
9023
+ */ key: "formatOffset",
8991
9024
  value: function formatOffset1(ts, format) {
8992
9025
  return formatOffset(this.offset(ts), format);
8993
9026
  }
8994
9027
  },
8995
9028
  {
8996
- /** @override **/ key: "offset",
9029
+ /**
9030
+ * Return the offset in minutes for this zone at the specified timestamp.
9031
+ * @override
9032
+ * @param {number} ts - Epoch milliseconds for which to compute the offset
9033
+ * @return {number}
9034
+ */ key: "offset",
8997
9035
  value: function offset(ts) {
8998
9036
  var date = new Date(ts);
8999
9037
  if (isNaN(date)) return NaN;
@@ -9020,14 +9058,23 @@ var IANAZone = /*#__PURE__*/ function(Zone) {
9020
9058
  }
9021
9059
  },
9022
9060
  {
9023
- /** @override **/ key: "equals",
9061
+ /**
9062
+ * Return whether this Zone is equal to another zone
9063
+ * @override
9064
+ * @param {Zone} otherZone - the zone to compare
9065
+ * @return {boolean}
9066
+ */ key: "equals",
9024
9067
  value: function equals(otherZone) {
9025
9068
  return otherZone.type === "iana" && otherZone.name === this.name;
9026
9069
  }
9027
9070
  },
9028
9071
  {
9029
9072
  key: "isValid",
9030
- get: /** @override **/ function get() {
9073
+ get: /**
9074
+ * Return whether this Zone is valid.
9075
+ * @override
9076
+ * @type {boolean}
9077
+ */ function get() {
9031
9078
  return this.valid;
9032
9079
  }
9033
9080
  }
@@ -9061,7 +9108,7 @@ var IANAZone = /*#__PURE__*/ function(Zone) {
9061
9108
  * @param {string} s - The string to check validity on
9062
9109
  * @example IANAZone.isValidSpecifier("America/New_York") //=> true
9063
9110
  * @example IANAZone.isValidSpecifier("Sport~~blorp") //=> false
9064
- * @deprecated This method returns false for some valid IANA names. Use isValidZone instead.
9111
+ * @deprecated For backward compatibility, this forwards to isValidZone, better use `isValidZone()` directly instead.
9065
9112
  * @return {boolean}
9066
9113
  */ function isValidSpecifier(s) {
9067
9114
  return this.isValidZone(s);
@@ -9102,12 +9149,12 @@ function _array_like_to_array$d(arr, len) {
9102
9149
  function _array_with_holes$b(arr) {
9103
9150
  if (Array.isArray(arr)) return arr;
9104
9151
  }
9105
- function _class_call_check$e(instance, Constructor) {
9152
+ function _class_call_check$f(instance, Constructor) {
9106
9153
  if (!(instance instanceof Constructor)) {
9107
9154
  throw new TypeError("Cannot call a class as a function");
9108
9155
  }
9109
9156
  }
9110
- function _defineProperties$e(target, props) {
9157
+ function _defineProperties$f(target, props) {
9111
9158
  for(var i = 0; i < props.length; i++){
9112
9159
  var descriptor = props[i];
9113
9160
  descriptor.enumerable = descriptor.enumerable || false;
@@ -9116,9 +9163,9 @@ function _defineProperties$e(target, props) {
9116
9163
  Object.defineProperty(target, descriptor.key, descriptor);
9117
9164
  }
9118
9165
  }
9119
- function _create_class$e(Constructor, protoProps, staticProps) {
9120
- if (protoProps) _defineProperties$e(Constructor.prototype, protoProps);
9121
- if (staticProps) _defineProperties$e(Constructor, staticProps);
9166
+ function _create_class$f(Constructor, protoProps, staticProps) {
9167
+ if (protoProps) _defineProperties$f(Constructor.prototype, protoProps);
9168
+ if (staticProps) _defineProperties$f(Constructor, staticProps);
9122
9169
  return Constructor;
9123
9170
  }
9124
9171
  function _define_property$9(obj, key, value) {
@@ -9409,7 +9456,7 @@ function supportsFastNumbers(loc) {
9409
9456
  * @private
9410
9457
  */ var PolyNumberFormatter = /*#__PURE__*/ function() {
9411
9458
  function PolyNumberFormatter(intl, forceSimple, opts) {
9412
- _class_call_check$e(this, PolyNumberFormatter);
9459
+ _class_call_check$f(this, PolyNumberFormatter);
9413
9460
  this.padTo = opts.padTo || 0;
9414
9461
  this.floor = opts.floor || false;
9415
9462
  opts.padTo; opts.floor; var otherOpts = _object_without_properties(opts, [
@@ -9424,7 +9471,7 @@ function supportsFastNumbers(loc) {
9424
9471
  this.inf = getCachedINF(intl, intlOpts);
9425
9472
  }
9426
9473
  }
9427
- _create_class$e(PolyNumberFormatter, [
9474
+ _create_class$f(PolyNumberFormatter, [
9428
9475
  {
9429
9476
  key: "format",
9430
9477
  value: function format(i) {
@@ -9445,7 +9492,7 @@ function supportsFastNumbers(loc) {
9445
9492
  * @private
9446
9493
  */ var PolyDateFormatter = /*#__PURE__*/ function() {
9447
9494
  function PolyDateFormatter(dt, intl, opts) {
9448
- _class_call_check$e(this, PolyDateFormatter);
9495
+ _class_call_check$f(this, PolyDateFormatter);
9449
9496
  this.opts = opts;
9450
9497
  this.originalZone = undefined;
9451
9498
  var z = undefined;
@@ -9491,7 +9538,7 @@ function supportsFastNumbers(loc) {
9491
9538
  intlOpts.timeZone = intlOpts.timeZone || z;
9492
9539
  this.dtf = getCachedDTF(intl, intlOpts);
9493
9540
  }
9494
- _create_class$e(PolyDateFormatter, [
9541
+ _create_class$f(PolyDateFormatter, [
9495
9542
  {
9496
9543
  key: "format",
9497
9544
  value: function format() {
@@ -9542,7 +9589,7 @@ function supportsFastNumbers(loc) {
9542
9589
  * @private
9543
9590
  */ var PolyRelFormatter = /*#__PURE__*/ function() {
9544
9591
  function PolyRelFormatter(intl, isEnglish, opts) {
9545
- _class_call_check$e(this, PolyRelFormatter);
9592
+ _class_call_check$f(this, PolyRelFormatter);
9546
9593
  this.opts = _object_spread$7({
9547
9594
  style: "long"
9548
9595
  }, opts);
@@ -9550,7 +9597,7 @@ function supportsFastNumbers(loc) {
9550
9597
  this.rtf = getCachedRTF(intl, opts);
9551
9598
  }
9552
9599
  }
9553
- _create_class$e(PolyRelFormatter, [
9600
+ _create_class$f(PolyRelFormatter, [
9554
9601
  {
9555
9602
  key: "format",
9556
9603
  value: function format(count, unit) {
@@ -9584,7 +9631,7 @@ var fallbackWeekSettings = {
9584
9631
  };
9585
9632
  var Locale = /*#__PURE__*/ function() {
9586
9633
  function Locale(locale, numbering, outputCalendar, weekSettings, specifiedLocale) {
9587
- _class_call_check$e(this, Locale);
9634
+ _class_call_check$f(this, Locale);
9588
9635
  var _parseLocaleString = _sliced_to_array$b(parseLocaleString(locale), 3), parsedLocale = _parseLocaleString[0], parsedNumberingSystem = _parseLocaleString[1], parsedOutputCalendar = _parseLocaleString[2];
9589
9636
  this.locale = parsedLocale;
9590
9637
  this.numberingSystem = numbering || parsedNumberingSystem || null;
@@ -9604,7 +9651,7 @@ var Locale = /*#__PURE__*/ function() {
9604
9651
  this.specifiedLocale = specifiedLocale;
9605
9652
  this.fastNumbersCached = null;
9606
9653
  }
9607
- _create_class$e(Locale, [
9654
+ _create_class$f(Locale, [
9608
9655
  {
9609
9656
  key: "fastNumbers",
9610
9657
  get: function get() {
@@ -9821,6 +9868,12 @@ var Locale = /*#__PURE__*/ function() {
9821
9868
  value: function equals(other) {
9822
9869
  return this.locale === other.locale && this.numberingSystem === other.numberingSystem && this.outputCalendar === other.outputCalendar;
9823
9870
  }
9871
+ },
9872
+ {
9873
+ key: "toString",
9874
+ value: function toString() {
9875
+ return "Locale(".concat(this.locale, ", ").concat(this.numberingSystem, ", ").concat(this.outputCalendar, ")");
9876
+ }
9824
9877
  }
9825
9878
  ], [
9826
9879
  {
@@ -9834,7 +9887,7 @@ var Locale = /*#__PURE__*/ function() {
9834
9887
  value: function create(locale, numberingSystem, outputCalendar, weekSettings) {
9835
9888
  var defaultToEN = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : false;
9836
9889
  var specifiedLocale = locale || Settings.defaultLocale;
9837
- // the system locale is useful for human readable strings but annoying for parsing/formatting known formats
9890
+ // the system locale is useful for human-readable strings but annoying for parsing/formatting known formats
9838
9891
  var localeR = specifiedLocale || (defaultToEN ? "en-US" : systemLocale());
9839
9892
  var numberingSystemR = numberingSystem || Settings.defaultNumberingSystem;
9840
9893
  var outputCalendarR = outputCalendar || Settings.defaultOutputCalendar;
@@ -9868,12 +9921,12 @@ function _assert_this_initialized$4(self) {
9868
9921
  }
9869
9922
  return self;
9870
9923
  }
9871
- function _class_call_check$d(instance, Constructor) {
9924
+ function _class_call_check$e(instance, Constructor) {
9872
9925
  if (!(instance instanceof Constructor)) {
9873
9926
  throw new TypeError("Cannot call a class as a function");
9874
9927
  }
9875
9928
  }
9876
- function _defineProperties$d(target, props) {
9929
+ function _defineProperties$e(target, props) {
9877
9930
  for(var i = 0; i < props.length; i++){
9878
9931
  var descriptor = props[i];
9879
9932
  descriptor.enumerable = descriptor.enumerable || false;
@@ -9882,9 +9935,9 @@ function _defineProperties$d(target, props) {
9882
9935
  Object.defineProperty(target, descriptor.key, descriptor);
9883
9936
  }
9884
9937
  }
9885
- function _create_class$d(Constructor, protoProps, staticProps) {
9886
- if (protoProps) _defineProperties$d(Constructor.prototype, protoProps);
9887
- if (staticProps) _defineProperties$d(Constructor, staticProps);
9938
+ function _create_class$e(Constructor, protoProps, staticProps) {
9939
+ if (protoProps) _defineProperties$e(Constructor.prototype, protoProps);
9940
+ if (staticProps) _defineProperties$e(Constructor, staticProps);
9888
9941
  return Constructor;
9889
9942
  }
9890
9943
  function _get_prototype_of$4(o) {
@@ -9952,28 +10005,42 @@ var FixedOffsetZone = /*#__PURE__*/ function(Zone) {
9952
10005
  _inherits$4(FixedOffsetZone, Zone);
9953
10006
  var _super = _create_super$4(FixedOffsetZone);
9954
10007
  function FixedOffsetZone(offset) {
9955
- _class_call_check$d(this, FixedOffsetZone);
10008
+ _class_call_check$e(this, FixedOffsetZone);
9956
10009
  var _this;
9957
10010
  _this = _super.call(this);
9958
10011
  /** @private **/ _this.fixed = offset;
9959
10012
  return _this;
9960
10013
  }
9961
- _create_class$d(FixedOffsetZone, [
10014
+ _create_class$e(FixedOffsetZone, [
9962
10015
  {
9963
10016
  key: "type",
9964
- get: /** @override **/ function get() {
10017
+ get: /**
10018
+ * The type of zone. `fixed` for all instances of `FixedOffsetZone`.
10019
+ * @override
10020
+ * @type {string}
10021
+ */ function get() {
9965
10022
  return "fixed";
9966
10023
  }
9967
10024
  },
9968
10025
  {
9969
10026
  key: "name",
9970
- get: /** @override **/ function get() {
10027
+ get: /**
10028
+ * The name of this zone.
10029
+ * All fixed zones' names always start with "UTC" (plus optional offset)
10030
+ * @override
10031
+ * @type {string}
10032
+ */ function get() {
9971
10033
  return this.fixed === 0 ? "UTC" : "UTC".concat(formatOffset(this.fixed, "narrow"));
9972
10034
  }
9973
10035
  },
9974
10036
  {
9975
10037
  key: "ianaName",
9976
- get: function get() {
10038
+ get: /**
10039
+ * The IANA name of this zone, i.e. `Etc/UTC` or `Etc/GMT+/-nn`
10040
+ *
10041
+ * @override
10042
+ * @type {string}
10043
+ */ function get() {
9977
10044
  if (this.fixed === 0) {
9978
10045
  return "Etc/UTC";
9979
10046
  } else {
@@ -9982,38 +10049,71 @@ var FixedOffsetZone = /*#__PURE__*/ function(Zone) {
9982
10049
  }
9983
10050
  },
9984
10051
  {
9985
- /** @override **/ key: "offsetName",
10052
+ /**
10053
+ * Returns the offset's common name at the specified timestamp.
10054
+ *
10055
+ * For fixed offset zones this equals to the zone name.
10056
+ * @override
10057
+ */ key: "offsetName",
9986
10058
  value: function offsetName() {
9987
10059
  return this.name;
9988
10060
  }
9989
10061
  },
9990
10062
  {
9991
- /** @override **/ key: "formatOffset",
10063
+ /**
10064
+ * Returns the offset's value as a string
10065
+ * @override
10066
+ * @param {number} ts - Epoch milliseconds for which to get the offset
10067
+ * @param {string} format - What style of offset to return.
10068
+ * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively
10069
+ * @return {string}
10070
+ */ key: "formatOffset",
9992
10071
  value: function formatOffset1(ts, format) {
9993
10072
  return formatOffset(this.fixed, format);
9994
10073
  }
9995
10074
  },
9996
10075
  {
9997
10076
  key: "isUniversal",
9998
- get: /** @override **/ function get() {
10077
+ get: /**
10078
+ * Returns whether the offset is known to be fixed for the whole year:
10079
+ * Always returns true for all fixed offset zones.
10080
+ * @override
10081
+ * @type {boolean}
10082
+ */ function get() {
9999
10083
  return true;
10000
10084
  }
10001
10085
  },
10002
10086
  {
10003
- /** @override **/ key: "offset",
10087
+ /**
10088
+ * Return the offset in minutes for this zone at the specified timestamp.
10089
+ *
10090
+ * For fixed offset zones, this is constant and does not depend on a timestamp.
10091
+ * @override
10092
+ * @return {number}
10093
+ */ key: "offset",
10004
10094
  value: function offset() {
10005
10095
  return this.fixed;
10006
10096
  }
10007
10097
  },
10008
10098
  {
10009
- /** @override **/ key: "equals",
10099
+ /**
10100
+ * Return whether this Zone is equal to another zone (i.e. also fixed and same offset)
10101
+ * @override
10102
+ * @param {Zone} otherZone - the zone to compare
10103
+ * @return {boolean}
10104
+ */ key: "equals",
10010
10105
  value: function equals(otherZone) {
10011
10106
  return otherZone.type === "fixed" && otherZone.fixed === this.fixed;
10012
10107
  }
10013
10108
  },
10014
10109
  {
10015
10110
  key: "isValid",
10016
- get: /** @override **/ function get() {
10111
+ get: /**
10112
+ * Return whether this Zone is valid:
10113
+ * All fixed offset zones are valid.
10114
+ * @override
10115
+ * @type {boolean}
10116
+ */ function get() {
10017
10117
  return true;
10018
10118
  }
10019
10119
  }
@@ -10069,12 +10169,12 @@ function _assert_this_initialized$3(self) {
10069
10169
  }
10070
10170
  return self;
10071
10171
  }
10072
- function _class_call_check$c(instance, Constructor) {
10172
+ function _class_call_check$d(instance, Constructor) {
10073
10173
  if (!(instance instanceof Constructor)) {
10074
10174
  throw new TypeError("Cannot call a class as a function");
10075
10175
  }
10076
10176
  }
10077
- function _defineProperties$c(target, props) {
10177
+ function _defineProperties$d(target, props) {
10078
10178
  for(var i = 0; i < props.length; i++){
10079
10179
  var descriptor = props[i];
10080
10180
  descriptor.enumerable = descriptor.enumerable || false;
@@ -10083,9 +10183,9 @@ function _defineProperties$c(target, props) {
10083
10183
  Object.defineProperty(target, descriptor.key, descriptor);
10084
10184
  }
10085
10185
  }
10086
- function _create_class$c(Constructor, protoProps, staticProps) {
10087
- if (protoProps) _defineProperties$c(Constructor.prototype, protoProps);
10088
- if (staticProps) _defineProperties$c(Constructor, staticProps);
10186
+ function _create_class$d(Constructor, protoProps, staticProps) {
10187
+ if (protoProps) _defineProperties$d(Constructor.prototype, protoProps);
10188
+ if (staticProps) _defineProperties$d(Constructor, staticProps);
10089
10189
  return Constructor;
10090
10190
  }
10091
10191
  function _get_prototype_of$3(o) {
@@ -10152,13 +10252,13 @@ var InvalidZone = /*#__PURE__*/ function(Zone) {
10152
10252
  _inherits$3(InvalidZone, Zone);
10153
10253
  var _super = _create_super$3(InvalidZone);
10154
10254
  function InvalidZone(zoneName) {
10155
- _class_call_check$c(this, InvalidZone);
10255
+ _class_call_check$d(this, InvalidZone);
10156
10256
  var _this;
10157
10257
  _this = _super.call(this);
10158
10258
  /** @private */ _this.zoneName = zoneName;
10159
10259
  return _this;
10160
10260
  }
10161
- _create_class$c(InvalidZone, [
10261
+ _create_class$d(InvalidZone, [
10162
10262
  {
10163
10263
  key: "type",
10164
10264
  get: /** @override **/ function get() {
@@ -10213,7 +10313,7 @@ var InvalidZone = /*#__PURE__*/ function(Zone) {
10213
10313
 
10214
10314
  /**
10215
10315
  * @private
10216
- */ function _instanceof$7(left, right) {
10316
+ */ function _instanceof$8(left, right) {
10217
10317
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
10218
10318
  return !!right[Symbol.hasInstance](left);
10219
10319
  } else {
@@ -10221,9 +10321,9 @@ var InvalidZone = /*#__PURE__*/ function(Zone) {
10221
10321
  }
10222
10322
  }
10223
10323
  function normalizeZone(input, defaultZone) {
10224
- if (isUndefined(input) || input === null) {
10324
+ if (isUndefined$1(input) || input === null) {
10225
10325
  return defaultZone;
10226
- } else if (_instanceof$7(input, Zone)) {
10326
+ } else if (_instanceof$8(input, Zone)) {
10227
10327
  return input;
10228
10328
  } else if (isString$1(input)) {
10229
10329
  var lowered = input.toLowerCase();
@@ -10242,80 +10342,267 @@ function normalizeZone(input, defaultZone) {
10242
10342
  }
10243
10343
  }
10244
10344
 
10245
- function _class_call_check$b(instance, Constructor) {
10246
- if (!(instance instanceof Constructor)) {
10247
- throw new TypeError("Cannot call a class as a function");
10248
- }
10345
+ function _array_like_to_array$c(arr, len) {
10346
+ if (len == null || len > arr.length) len = arr.length;
10347
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
10348
+ return arr2;
10249
10349
  }
10250
- function _defineProperties$b(target, props) {
10251
- for(var i = 0; i < props.length; i++){
10252
- var descriptor = props[i];
10253
- descriptor.enumerable = descriptor.enumerable || false;
10254
- descriptor.configurable = true;
10255
- if ("value" in descriptor) descriptor.writable = true;
10256
- Object.defineProperty(target, descriptor.key, descriptor);
10350
+ function _array_with_holes$a(arr) {
10351
+ if (Array.isArray(arr)) return arr;
10352
+ }
10353
+ function _iterable_to_array_limit$a(arr, i) {
10354
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
10355
+ if (_i == null) return;
10356
+ var _arr = [];
10357
+ var _n = true;
10358
+ var _d = false;
10359
+ var _s, _e;
10360
+ try {
10361
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
10362
+ _arr.push(_s.value);
10363
+ if (i && _arr.length === i) break;
10364
+ }
10365
+ } catch (err) {
10366
+ _d = true;
10367
+ _e = err;
10368
+ } finally{
10369
+ try {
10370
+ if (!_n && _i["return"] != null) _i["return"]();
10371
+ } finally{
10372
+ if (_d) throw _e;
10373
+ }
10257
10374
  }
10375
+ return _arr;
10258
10376
  }
10259
- function _create_class$b(Constructor, protoProps, staticProps) {
10260
- if (protoProps) _defineProperties$b(Constructor.prototype, protoProps);
10261
- if (staticProps) _defineProperties$b(Constructor, staticProps);
10262
- return Constructor;
10377
+ function _non_iterable_rest$a() {
10378
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10263
10379
  }
10264
- var now = function() {
10265
- return Date.now();
10266
- }, defaultZone = "system", defaultLocale = null, defaultNumberingSystem = null, defaultOutputCalendar = null, twoDigitCutoffYear = 60, throwOnInvalid, defaultWeekSettings = null;
10267
- var Settings = /*#__PURE__*/ function() {
10268
- function Settings() {
10269
- _class_call_check$b(this, Settings);
10270
- }
10271
- _create_class$b(Settings, null, [
10272
- {
10273
- key: "now",
10274
- get: /**
10275
- * Get the callback for returning the current timestamp.
10276
- * @type {function}
10277
- */ function get() {
10278
- return now;
10279
- },
10280
- set: /**
10281
- * Set the callback for returning the current timestamp.
10282
- * The function should return a number, which will be interpreted as an Epoch millisecond count
10283
- * @type {function}
10284
- * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future
10285
- * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time
10286
- */ function set(n) {
10287
- now = n;
10288
- }
10289
- },
10290
- {
10291
- key: "defaultZone",
10292
- get: /**
10293
- * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.
10294
- * The default value is the system's time zone (the one set on the machine that runs this code).
10295
- * @type {Zone}
10296
- */ function get() {
10297
- return normalizeZone(defaultZone, SystemZone.instance);
10298
- },
10299
- set: /**
10300
- * Set the default time zone to create DateTimes in. Does not affect existing instances.
10301
- * Use the value "system" to reset this value to the system's time zone.
10302
- * @type {string}
10303
- */ function set(zone) {
10304
- defaultZone = zone;
10305
- }
10306
- },
10307
- {
10308
- key: "defaultLocale",
10309
- get: /**
10310
- * Get the default locale to create DateTimes with. Does not affect existing instances.
10311
- * @type {string}
10312
- */ function get() {
10313
- return defaultLocale;
10314
- },
10315
- set: /**
10316
- * Set the default locale to create DateTimes with. Does not affect existing instances.
10317
- * @type {string}
10318
- */ function set(locale) {
10380
+ function _sliced_to_array$a(arr, i) {
10381
+ return _array_with_holes$a(arr) || _iterable_to_array_limit$a(arr, i) || _unsupported_iterable_to_array$c(arr, i) || _non_iterable_rest$a();
10382
+ }
10383
+ function _unsupported_iterable_to_array$c(o, minLen) {
10384
+ if (!o) return;
10385
+ if (typeof o === "string") return _array_like_to_array$c(o, minLen);
10386
+ var n = Object.prototype.toString.call(o).slice(8, -1);
10387
+ if (n === "Object" && o.constructor) n = o.constructor.name;
10388
+ if (n === "Map" || n === "Set") return Array.from(n);
10389
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$c(o, minLen);
10390
+ }
10391
+ var numberingSystems = {
10392
+ arab: "[٠-٩]",
10393
+ arabext: "[۰-۹]",
10394
+ bali: "[᭐-᭙]",
10395
+ beng: "[০-৯]",
10396
+ deva: "[०-९]",
10397
+ fullwide: "[0-9]",
10398
+ gujr: "[૦-૯]",
10399
+ hanidec: "[〇|一|二|三|四|五|六|七|八|九]",
10400
+ khmr: "[០-៩]",
10401
+ knda: "[೦-೯]",
10402
+ laoo: "[໐-໙]",
10403
+ limb: "[᥆-᥏]",
10404
+ mlym: "[൦-൯]",
10405
+ mong: "[᠐-᠙]",
10406
+ mymr: "[၀-၉]",
10407
+ orya: "[୦-୯]",
10408
+ tamldec: "[௦-௯]",
10409
+ telu: "[౦-౯]",
10410
+ thai: "[๐-๙]",
10411
+ tibt: "[༠-༩]",
10412
+ latn: "\\d"
10413
+ };
10414
+ var numberingSystemsUTF16 = {
10415
+ arab: [
10416
+ 1632,
10417
+ 1641
10418
+ ],
10419
+ arabext: [
10420
+ 1776,
10421
+ 1785
10422
+ ],
10423
+ bali: [
10424
+ 6992,
10425
+ 7001
10426
+ ],
10427
+ beng: [
10428
+ 2534,
10429
+ 2543
10430
+ ],
10431
+ deva: [
10432
+ 2406,
10433
+ 2415
10434
+ ],
10435
+ fullwide: [
10436
+ 65296,
10437
+ 65303
10438
+ ],
10439
+ gujr: [
10440
+ 2790,
10441
+ 2799
10442
+ ],
10443
+ khmr: [
10444
+ 6112,
10445
+ 6121
10446
+ ],
10447
+ knda: [
10448
+ 3302,
10449
+ 3311
10450
+ ],
10451
+ laoo: [
10452
+ 3792,
10453
+ 3801
10454
+ ],
10455
+ limb: [
10456
+ 6470,
10457
+ 6479
10458
+ ],
10459
+ mlym: [
10460
+ 3430,
10461
+ 3439
10462
+ ],
10463
+ mong: [
10464
+ 6160,
10465
+ 6169
10466
+ ],
10467
+ mymr: [
10468
+ 4160,
10469
+ 4169
10470
+ ],
10471
+ orya: [
10472
+ 2918,
10473
+ 2927
10474
+ ],
10475
+ tamldec: [
10476
+ 3046,
10477
+ 3055
10478
+ ],
10479
+ telu: [
10480
+ 3174,
10481
+ 3183
10482
+ ],
10483
+ thai: [
10484
+ 3664,
10485
+ 3673
10486
+ ],
10487
+ tibt: [
10488
+ 3872,
10489
+ 3881
10490
+ ]
10491
+ };
10492
+ var hanidecChars = numberingSystems.hanidec.replace(/[\[|\]]/g, "").split("");
10493
+ function parseDigits(str) {
10494
+ var value = parseInt(str, 10);
10495
+ if (isNaN(value)) {
10496
+ value = "";
10497
+ for(var i = 0; i < str.length; i++){
10498
+ var code = str.charCodeAt(i);
10499
+ if (str[i].search(numberingSystems.hanidec) !== -1) {
10500
+ value += hanidecChars.indexOf(str[i]);
10501
+ } else {
10502
+ for(var key in numberingSystemsUTF16){
10503
+ var _numberingSystemsUTF16_key = _sliced_to_array$a(numberingSystemsUTF16[key], 2), min = _numberingSystemsUTF16_key[0], max = _numberingSystemsUTF16_key[1];
10504
+ if (code >= min && code <= max) {
10505
+ value += code - min;
10506
+ }
10507
+ }
10508
+ }
10509
+ }
10510
+ return parseInt(value, 10);
10511
+ } else {
10512
+ return value;
10513
+ }
10514
+ }
10515
+ // cache of {numberingSystem: {append: regex}}
10516
+ var digitRegexCache = {};
10517
+ function resetDigitRegexCache() {
10518
+ digitRegexCache = {};
10519
+ }
10520
+ function digitRegex(param) {
10521
+ var numberingSystem = param.numberingSystem, append = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
10522
+ var ns = numberingSystem || "latn";
10523
+ if (!digitRegexCache[ns]) {
10524
+ digitRegexCache[ns] = {};
10525
+ }
10526
+ if (!digitRegexCache[ns][append]) {
10527
+ digitRegexCache[ns][append] = new RegExp("".concat(numberingSystems[ns]).concat(append));
10528
+ }
10529
+ return digitRegexCache[ns][append];
10530
+ }
10531
+
10532
+ function _class_call_check$c(instance, Constructor) {
10533
+ if (!(instance instanceof Constructor)) {
10534
+ throw new TypeError("Cannot call a class as a function");
10535
+ }
10536
+ }
10537
+ function _defineProperties$c(target, props) {
10538
+ for(var i = 0; i < props.length; i++){
10539
+ var descriptor = props[i];
10540
+ descriptor.enumerable = descriptor.enumerable || false;
10541
+ descriptor.configurable = true;
10542
+ if ("value" in descriptor) descriptor.writable = true;
10543
+ Object.defineProperty(target, descriptor.key, descriptor);
10544
+ }
10545
+ }
10546
+ function _create_class$c(Constructor, protoProps, staticProps) {
10547
+ if (protoProps) _defineProperties$c(Constructor.prototype, protoProps);
10548
+ if (staticProps) _defineProperties$c(Constructor, staticProps);
10549
+ return Constructor;
10550
+ }
10551
+ var now = function() {
10552
+ return Date.now();
10553
+ }, defaultZone = "system", defaultLocale = null, defaultNumberingSystem = null, defaultOutputCalendar = null, twoDigitCutoffYear = 60, throwOnInvalid, defaultWeekSettings = null;
10554
+ var Settings = /*#__PURE__*/ function() {
10555
+ function Settings() {
10556
+ _class_call_check$c(this, Settings);
10557
+ }
10558
+ _create_class$c(Settings, null, [
10559
+ {
10560
+ key: "now",
10561
+ get: /**
10562
+ * Get the callback for returning the current timestamp.
10563
+ * @type {function}
10564
+ */ function get() {
10565
+ return now;
10566
+ },
10567
+ set: /**
10568
+ * Set the callback for returning the current timestamp.
10569
+ * The function should return a number, which will be interpreted as an Epoch millisecond count
10570
+ * @type {function}
10571
+ * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future
10572
+ * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time
10573
+ */ function set(n) {
10574
+ now = n;
10575
+ }
10576
+ },
10577
+ {
10578
+ key: "defaultZone",
10579
+ get: /**
10580
+ * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.
10581
+ * The default value is the system's time zone (the one set on the machine that runs this code).
10582
+ * @type {Zone}
10583
+ */ function get() {
10584
+ return normalizeZone(defaultZone, SystemZone.instance);
10585
+ },
10586
+ set: /**
10587
+ * Set the default time zone to create DateTimes in. Does not affect existing instances.
10588
+ * Use the value "system" to reset this value to the system's time zone.
10589
+ * @type {string}
10590
+ */ function set(zone) {
10591
+ defaultZone = zone;
10592
+ }
10593
+ },
10594
+ {
10595
+ key: "defaultLocale",
10596
+ get: /**
10597
+ * Get the default locale to create DateTimes with. Does not affect existing instances.
10598
+ * @type {string}
10599
+ */ function get() {
10600
+ return defaultLocale;
10601
+ },
10602
+ set: /**
10603
+ * Set the default locale to create DateTimes with. Does not affect existing instances.
10604
+ * @type {string}
10605
+ */ function set(locale) {
10319
10606
  defaultLocale = locale;
10320
10607
  }
10321
10608
  },
@@ -10374,16 +10661,17 @@ var Settings = /*#__PURE__*/ function() {
10374
10661
  {
10375
10662
  key: "twoDigitCutoffYear",
10376
10663
  get: /**
10377
- * Get the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.
10664
+ * Get the cutoff year for whether a 2-digit year string is interpreted in the current or previous century. Numbers higher than the cutoff will be considered to mean 19xx and numbers lower or equal to the cutoff will be considered 20xx.
10378
10665
  * @type {number}
10379
10666
  */ function get() {
10380
10667
  return twoDigitCutoffYear;
10381
10668
  },
10382
10669
  set: /**
10383
- * Set the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.
10670
+ * Set the cutoff year for whether a 2-digit year string is interpreted in the current or previous century. Numbers higher than the cutoff will be considered to mean 19xx and numbers lower or equal to the cutoff will be considered 20xx.
10384
10671
  * @type {number}
10385
- * @example Settings.twoDigitCutoffYear = 0 // cut-off year is 0, so all 'yy' are interpreted as current century
10386
- * @example Settings.twoDigitCutoffYear = 50 // '49' -> 1949; '50' -> 2050
10672
+ * @example Settings.twoDigitCutoffYear = 0 // all 'yy' are interpreted as 20th century
10673
+ * @example Settings.twoDigitCutoffYear = 99 // all 'yy' are interpreted as 21st century
10674
+ * @example Settings.twoDigitCutoffYear = 50 // '49' -> 2049; '50' -> 1950
10387
10675
  * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50
10388
10676
  * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50
10389
10677
  */ function set(cutoffYear) {
@@ -10413,18 +10701,20 @@ var Settings = /*#__PURE__*/ function() {
10413
10701
  */ function resetCaches() {
10414
10702
  Locale.resetCache();
10415
10703
  IANAZone.resetCache();
10704
+ DateTime.resetCache();
10705
+ resetDigitRegexCache();
10416
10706
  }
10417
10707
  }
10418
10708
  ]);
10419
10709
  return Settings;
10420
10710
  }();
10421
10711
 
10422
- function _class_call_check$a(instance, Constructor) {
10712
+ function _class_call_check$b(instance, Constructor) {
10423
10713
  if (!(instance instanceof Constructor)) {
10424
10714
  throw new TypeError("Cannot call a class as a function");
10425
10715
  }
10426
10716
  }
10427
- function _defineProperties$a(target, props) {
10717
+ function _defineProperties$b(target, props) {
10428
10718
  for(var i = 0; i < props.length; i++){
10429
10719
  var descriptor = props[i];
10430
10720
  descriptor.enumerable = descriptor.enumerable || false;
@@ -10433,18 +10723,18 @@ function _defineProperties$a(target, props) {
10433
10723
  Object.defineProperty(target, descriptor.key, descriptor);
10434
10724
  }
10435
10725
  }
10436
- function _create_class$a(Constructor, protoProps, staticProps) {
10437
- if (protoProps) _defineProperties$a(Constructor.prototype, protoProps);
10438
- if (staticProps) _defineProperties$a(Constructor, staticProps);
10726
+ function _create_class$b(Constructor, protoProps, staticProps) {
10727
+ if (protoProps) _defineProperties$b(Constructor.prototype, protoProps);
10728
+ if (staticProps) _defineProperties$b(Constructor, staticProps);
10439
10729
  return Constructor;
10440
10730
  }
10441
10731
  var Invalid = /*#__PURE__*/ function() {
10442
10732
  function Invalid(reason, explanation) {
10443
- _class_call_check$a(this, Invalid);
10733
+ _class_call_check$b(this, Invalid);
10444
10734
  this.reason = reason;
10445
10735
  this.explanation = explanation;
10446
10736
  }
10447
- _create_class$a(Invalid, [
10737
+ _create_class$b(Invalid, [
10448
10738
  {
10449
10739
  key: "toMessage",
10450
10740
  value: function toMessage() {
@@ -10608,15 +10898,15 @@ function ordinalToGregorian(ordinalData) {
10608
10898
  * Modifies obj in-place!
10609
10899
  * @param obj the object values
10610
10900
  */ function usesLocalWeekValues(obj, loc) {
10611
- var hasLocaleWeekData = !isUndefined(obj.localWeekday) || !isUndefined(obj.localWeekNumber) || !isUndefined(obj.localWeekYear);
10901
+ var hasLocaleWeekData = !isUndefined$1(obj.localWeekday) || !isUndefined$1(obj.localWeekNumber) || !isUndefined$1(obj.localWeekYear);
10612
10902
  if (hasLocaleWeekData) {
10613
- var hasIsoWeekData = !isUndefined(obj.weekday) || !isUndefined(obj.weekNumber) || !isUndefined(obj.weekYear);
10903
+ var hasIsoWeekData = !isUndefined$1(obj.weekday) || !isUndefined$1(obj.weekNumber) || !isUndefined$1(obj.weekYear);
10614
10904
  if (hasIsoWeekData) {
10615
10905
  throw new ConflictingSpecificationError("Cannot mix locale-based week fields with ISO-based week fields");
10616
10906
  }
10617
- if (!isUndefined(obj.localWeekday)) obj.weekday = obj.localWeekday;
10618
- if (!isUndefined(obj.localWeekNumber)) obj.weekNumber = obj.localWeekNumber;
10619
- if (!isUndefined(obj.localWeekYear)) obj.weekYear = obj.localWeekYear;
10907
+ if (!isUndefined$1(obj.localWeekday)) obj.weekday = obj.localWeekday;
10908
+ if (!isUndefined$1(obj.localWeekNumber)) obj.weekNumber = obj.localWeekNumber;
10909
+ if (!isUndefined$1(obj.localWeekYear)) obj.weekYear = obj.localWeekYear;
10620
10910
  delete obj.localWeekday;
10621
10911
  delete obj.localWeekNumber;
10622
10912
  delete obj.localWeekYear;
@@ -10709,7 +10999,7 @@ function _object_spread$5(target) {
10709
10999
  /**
10710
11000
  * @private
10711
11001
  */ // TYPES
10712
- function isUndefined(o) {
11002
+ function isUndefined$1(o) {
10713
11003
  return typeof o === "undefined";
10714
11004
  }
10715
11005
  function isNumber$1(o) {
@@ -10810,14 +11100,14 @@ function padStart(input) {
10810
11100
  return padded;
10811
11101
  }
10812
11102
  function parseInteger(string) {
10813
- if (isUndefined(string) || string === null || string === "") {
11103
+ if (isUndefined$1(string) || string === null || string === "") {
10814
11104
  return undefined;
10815
11105
  } else {
10816
11106
  return parseInt(string, 10);
10817
11107
  }
10818
11108
  }
10819
11109
  function parseFloating(string) {
10820
- if (isUndefined(string) || string === null || string === "") {
11110
+ if (isUndefined$1(string) || string === null || string === "") {
10821
11111
  return undefined;
10822
11112
  } else {
10823
11113
  return parseFloat(string);
@@ -10825,7 +11115,7 @@ function parseFloating(string) {
10825
11115
  }
10826
11116
  function parseMillis(fraction) {
10827
11117
  // Return undefined (instead of 0) in these cases, where fraction is not set
10828
- if (isUndefined(fraction) || fraction === null || fraction === "") {
11118
+ if (isUndefined$1(fraction) || fraction === null || fraction === "") {
10829
11119
  return undefined;
10830
11120
  } else {
10831
11121
  var f = parseFloat("0." + fraction) * 1000;
@@ -10943,7 +11233,13 @@ function normalizeObject(obj, normalizer) {
10943
11233
  }
10944
11234
  return normalized;
10945
11235
  }
10946
- function formatOffset(offset, format) {
11236
+ /**
11237
+ * Returns the offset's value as a string
11238
+ * @param {number} ts - Epoch milliseconds for which to get the offset
11239
+ * @param {string} format - What style of offset to return.
11240
+ * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively
11241
+ * @return {string}
11242
+ */ function formatOffset(offset, format) {
10947
11243
  var hours = Math.trunc(Math.abs(offset / 60)), minutes = Math.trunc(Math.abs(offset % 60)), sign = offset >= 0 ? "+" : "-";
10948
11244
  switch(format){
10949
11245
  case "short":
@@ -10965,13 +11261,13 @@ function timeObject(obj) {
10965
11261
  ]);
10966
11262
  }
10967
11263
 
10968
- function _array_like_to_array$c(arr, len) {
11264
+ function _array_like_to_array$b(arr, len) {
10969
11265
  if (len == null || len > arr.length) len = arr.length;
10970
11266
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
10971
11267
  return arr2;
10972
11268
  }
10973
11269
  function _array_without_holes$7(arr) {
10974
- if (Array.isArray(arr)) return _array_like_to_array$c(arr);
11270
+ if (Array.isArray(arr)) return _array_like_to_array$b(arr);
10975
11271
  }
10976
11272
  function _iterable_to_array$7(iter) {
10977
11273
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
@@ -10980,15 +11276,15 @@ function _non_iterable_spread$7() {
10980
11276
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10981
11277
  }
10982
11278
  function _to_consumable_array$7(arr) {
10983
- return _array_without_holes$7(arr) || _iterable_to_array$7(arr) || _unsupported_iterable_to_array$c(arr) || _non_iterable_spread$7();
11279
+ return _array_without_holes$7(arr) || _iterable_to_array$7(arr) || _unsupported_iterable_to_array$b(arr) || _non_iterable_spread$7();
10984
11280
  }
10985
- function _unsupported_iterable_to_array$c(o, minLen) {
11281
+ function _unsupported_iterable_to_array$b(o, minLen) {
10986
11282
  if (!o) return;
10987
- if (typeof o === "string") return _array_like_to_array$c(o, minLen);
11283
+ if (typeof o === "string") return _array_like_to_array$b(o, minLen);
10988
11284
  var n = Object.prototype.toString.call(o).slice(8, -1);
10989
11285
  if (n === "Object" && o.constructor) n = o.constructor.name;
10990
11286
  if (n === "Map" || n === "Set") return Array.from(n);
10991
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$c(o, minLen);
11287
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$b(o, minLen);
10992
11288
  }
10993
11289
  /**
10994
11290
  * @private
@@ -11222,20 +11518,20 @@ function formatRelativeTime(unit, count) {
11222
11518
  return isInPast ? "".concat(fmtValue, " ").concat(fmtUnit, " ago") : "in ".concat(fmtValue, " ").concat(fmtUnit);
11223
11519
  }
11224
11520
 
11225
- function _array_like_to_array$b(arr, len) {
11521
+ function _array_like_to_array$a(arr, len) {
11226
11522
  if (len == null || len > arr.length) len = arr.length;
11227
11523
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
11228
11524
  return arr2;
11229
11525
  }
11230
11526
  function _array_without_holes$6(arr) {
11231
- if (Array.isArray(arr)) return _array_like_to_array$b(arr);
11527
+ if (Array.isArray(arr)) return _array_like_to_array$a(arr);
11232
11528
  }
11233
- function _class_call_check$9(instance, Constructor) {
11529
+ function _class_call_check$a(instance, Constructor) {
11234
11530
  if (!(instance instanceof Constructor)) {
11235
11531
  throw new TypeError("Cannot call a class as a function");
11236
11532
  }
11237
11533
  }
11238
- function _defineProperties$9(target, props) {
11534
+ function _defineProperties$a(target, props) {
11239
11535
  for(var i = 0; i < props.length; i++){
11240
11536
  var descriptor = props[i];
11241
11537
  descriptor.enumerable = descriptor.enumerable || false;
@@ -11244,9 +11540,9 @@ function _defineProperties$9(target, props) {
11244
11540
  Object.defineProperty(target, descriptor.key, descriptor);
11245
11541
  }
11246
11542
  }
11247
- function _create_class$9(Constructor, protoProps, staticProps) {
11248
- if (protoProps) _defineProperties$9(Constructor.prototype, protoProps);
11249
- if (staticProps) _defineProperties$9(Constructor, staticProps);
11543
+ function _create_class$a(Constructor, protoProps, staticProps) {
11544
+ if (protoProps) _defineProperties$a(Constructor.prototype, protoProps);
11545
+ if (staticProps) _defineProperties$a(Constructor, staticProps);
11250
11546
  return Constructor;
11251
11547
  }
11252
11548
  function _define_property$6(obj, key, value) {
@@ -11284,15 +11580,15 @@ function _object_spread$4(target) {
11284
11580
  return target;
11285
11581
  }
11286
11582
  function _to_consumable_array$6(arr) {
11287
- return _array_without_holes$6(arr) || _iterable_to_array$6(arr) || _unsupported_iterable_to_array$b(arr) || _non_iterable_spread$6();
11583
+ return _array_without_holes$6(arr) || _iterable_to_array$6(arr) || _unsupported_iterable_to_array$a(arr) || _non_iterable_spread$6();
11288
11584
  }
11289
- function _unsupported_iterable_to_array$b(o, minLen) {
11585
+ function _unsupported_iterable_to_array$a(o, minLen) {
11290
11586
  if (!o) return;
11291
- if (typeof o === "string") return _array_like_to_array$b(o, minLen);
11587
+ if (typeof o === "string") return _array_like_to_array$a(o, minLen);
11292
11588
  var n = Object.prototype.toString.call(o).slice(8, -1);
11293
11589
  if (n === "Object" && o.constructor) n = o.constructor.name;
11294
11590
  if (n === "Map" || n === "Set") return Array.from(n);
11295
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$b(o, minLen);
11591
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$a(o, minLen);
11296
11592
  }
11297
11593
  function stringifyTokens(splits, tokenToString) {
11298
11594
  var s = "";
@@ -11346,12 +11642,12 @@ var macroTokenToFormatOpts = {
11346
11642
  };
11347
11643
  var Formatter = /*#__PURE__*/ function() {
11348
11644
  function Formatter(locale, formatOpts) {
11349
- _class_call_check$9(this, Formatter);
11645
+ _class_call_check$a(this, Formatter);
11350
11646
  this.opts = formatOpts;
11351
11647
  this.loc = locale;
11352
11648
  this.systemLoc = null;
11353
11649
  }
11354
- _create_class$9(Formatter, [
11650
+ _create_class$a(Formatter, [
11355
11651
  {
11356
11652
  key: "formatWithSystemDefault",
11357
11653
  value: function formatWithSystemDefault(dt, opts) {
@@ -11772,12 +12068,12 @@ var Formatter = /*#__PURE__*/ function() {
11772
12068
  return Formatter;
11773
12069
  }();
11774
12070
 
11775
- function _array_like_to_array$a(arr, len) {
12071
+ function _array_like_to_array$9(arr, len) {
11776
12072
  if (len == null || len > arr.length) len = arr.length;
11777
12073
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
11778
12074
  return arr2;
11779
12075
  }
11780
- function _array_with_holes$a(arr) {
12076
+ function _array_with_holes$9(arr) {
11781
12077
  if (Array.isArray(arr)) return arr;
11782
12078
  }
11783
12079
  function _define_property$5(obj, key, value) {
@@ -11793,7 +12089,7 @@ function _define_property$5(obj, key, value) {
11793
12089
  }
11794
12090
  return obj;
11795
12091
  }
11796
- function _iterable_to_array_limit$a(arr, i) {
12092
+ function _iterable_to_array_limit$9(arr, i) {
11797
12093
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
11798
12094
  if (_i == null) return;
11799
12095
  var _arr = [];
@@ -11817,7 +12113,7 @@ function _iterable_to_array_limit$a(arr, i) {
11817
12113
  }
11818
12114
  return _arr;
11819
12115
  }
11820
- function _non_iterable_rest$a() {
12116
+ function _non_iterable_rest$9() {
11821
12117
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
11822
12118
  }
11823
12119
  function _object_spread$3(target) {
@@ -11835,16 +12131,16 @@ function _object_spread$3(target) {
11835
12131
  }
11836
12132
  return target;
11837
12133
  }
11838
- function _sliced_to_array$a(arr, i) {
11839
- return _array_with_holes$a(arr) || _iterable_to_array_limit$a(arr, i) || _unsupported_iterable_to_array$a(arr, i) || _non_iterable_rest$a();
12134
+ function _sliced_to_array$9(arr, i) {
12135
+ return _array_with_holes$9(arr) || _iterable_to_array_limit$9(arr, i) || _unsupported_iterable_to_array$9(arr, i) || _non_iterable_rest$9();
11840
12136
  }
11841
- function _unsupported_iterable_to_array$a(o, minLen) {
12137
+ function _unsupported_iterable_to_array$9(o, minLen) {
11842
12138
  if (!o) return;
11843
- if (typeof o === "string") return _array_like_to_array$a(o, minLen);
12139
+ if (typeof o === "string") return _array_like_to_array$9(o, minLen);
11844
12140
  var n = Object.prototype.toString.call(o).slice(8, -1);
11845
12141
  if (n === "Object" && o.constructor) n = o.constructor.name;
11846
12142
  if (n === "Map" || n === "Set") return Array.from(n);
11847
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$a(o, minLen);
12143
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$9(o, minLen);
11848
12144
  }
11849
12145
  /*
11850
12146
  * This file handles parsing for well-specified formats. Here's how it works:
@@ -11870,8 +12166,8 @@ function combineExtractors() {
11870
12166
  }
11871
12167
  return function(m) {
11872
12168
  return extractors.reduce(function(param, ex) {
11873
- var _param = _sliced_to_array$a(param, 3), mergedVals = _param[0], mergedZone = _param[1], cursor = _param[2];
11874
- var _ex = _sliced_to_array$a(ex(m, cursor), 3), val = _ex[0], zone = _ex[1], next = _ex[2];
12169
+ var _param = _sliced_to_array$9(param, 3), mergedVals = _param[0], mergedZone = _param[1], cursor = _param[2];
12170
+ var _ex = _sliced_to_array$9(ex(m, cursor), 3), val = _ex[0], zone = _ex[1], next = _ex[2];
11875
12171
  return [
11876
12172
  _object_spread$3({}, mergedVals, val),
11877
12173
  zone || mergedZone,
@@ -11897,7 +12193,7 @@ function parse(s) {
11897
12193
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
11898
12194
  try {
11899
12195
  for(var _iterator = patterns[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
11900
- var _step_value = _sliced_to_array$a(_step.value, 2), regex = _step_value[0], extractor = _step_value[1];
12196
+ var _step_value = _sliced_to_array$9(_step.value, 2), regex = _step_value[0], extractor = _step_value[1];
11901
12197
  var m = regex.exec(s);
11902
12198
  if (m) {
11903
12199
  return extractor(m);
@@ -11955,7 +12251,7 @@ var sqlTimeRegex = RegExp("".concat(isoTimeBaseRegex.source, " ?(?:").concat(off
11955
12251
  var sqlTimeExtensionRegex = RegExp("(?: ".concat(sqlTimeRegex.source, ")?"));
11956
12252
  function int(match, pos, fallback) {
11957
12253
  var m = match[pos];
11958
- return isUndefined(m) ? fallback : parseInteger(m);
12254
+ return isUndefined$1(m) ? fallback : parseInteger(m);
11959
12255
  }
11960
12256
  function extractISOYmd(match, cursor) {
11961
12257
  var item = {
@@ -12003,7 +12299,7 @@ var isoTimeOnly = RegExp("^T?".concat(isoTimeBaseRegex.source, "$"));
12003
12299
  // ISO duration parsing
12004
12300
  var isoDuration = /^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;
12005
12301
  function extractISODuration(match) {
12006
- var _match = _sliced_to_array$a(match, 9), s = _match[0], yearStr = _match[1], monthStr = _match[2], weekStr = _match[3], dayStr = _match[4], hourStr = _match[5], minuteStr = _match[6], secondStr = _match[7], millisecondsStr = _match[8];
12302
+ var _match = _sliced_to_array$9(match, 9), s = _match[0], yearStr = _match[1], monthStr = _match[2], weekStr = _match[3], dayStr = _match[4], hourStr = _match[5], minuteStr = _match[6], secondStr = _match[7], millisecondsStr = _match[8];
12007
12303
  var hasNegativePrefix = s[0] === "-";
12008
12304
  var negativeSeconds = secondStr && secondStr[0] === "-";
12009
12305
  var maybeNegate = function(num) {
@@ -12054,7 +12350,7 @@ function fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr,
12054
12350
  // RFC 2822/5322
12055
12351
  var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;
12056
12352
  function extractRFC2822(match) {
12057
- var _match = _sliced_to_array$a(match, 12), weekdayStr = _match[1], dayStr = _match[2], monthStr = _match[3], yearStr = _match[4], hourStr = _match[5], minuteStr = _match[6], secondStr = _match[7], obsOffset = _match[8], milOffset = _match[9], offHourStr = _match[10], offMinuteStr = _match[11], result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);
12353
+ var _match = _sliced_to_array$9(match, 12), weekdayStr = _match[1], dayStr = _match[2], monthStr = _match[3], yearStr = _match[4], hourStr = _match[5], minuteStr = _match[6], secondStr = _match[7], obsOffset = _match[8], milOffset = _match[9], offHourStr = _match[10], offMinuteStr = _match[11], result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);
12058
12354
  var offset;
12059
12355
  if (obsOffset) {
12060
12356
  offset = obsOffsets[obsOffset];
@@ -12075,14 +12371,14 @@ function preprocessRFC2822(s) {
12075
12371
  // http date
12076
12372
  var rfc1123 = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/, rfc850 = /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/, ascii = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;
12077
12373
  function extractRFC1123Or850(match) {
12078
- var _match = _sliced_to_array$a(match, 8), weekdayStr = _match[1], dayStr = _match[2], monthStr = _match[3], yearStr = _match[4], hourStr = _match[5], minuteStr = _match[6], secondStr = _match[7], result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);
12374
+ var _match = _sliced_to_array$9(match, 8), weekdayStr = _match[1], dayStr = _match[2], monthStr = _match[3], yearStr = _match[4], hourStr = _match[5], minuteStr = _match[6], secondStr = _match[7], result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);
12079
12375
  return [
12080
12376
  result,
12081
12377
  FixedOffsetZone.utcInstance
12082
12378
  ];
12083
12379
  }
12084
12380
  function extractASCII(match) {
12085
- var _match = _sliced_to_array$a(match, 8), weekdayStr = _match[1], monthStr = _match[2], dayStr = _match[3], hourStr = _match[4], minuteStr = _match[5], secondStr = _match[6], yearStr = _match[7], result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);
12381
+ var _match = _sliced_to_array$9(match, 8), weekdayStr = _match[1], monthStr = _match[2], dayStr = _match[3], hourStr = _match[4], minuteStr = _match[5], secondStr = _match[6], yearStr = _match[7], result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);
12086
12382
  return [
12087
12383
  result,
12088
12384
  FixedOffsetZone.utcInstance
@@ -12157,20 +12453,20 @@ function parseSQL(s) {
12157
12453
  ]);
12158
12454
  }
12159
12455
 
12160
- function _array_like_to_array$9(arr, len) {
12456
+ function _array_like_to_array$8(arr, len) {
12161
12457
  if (len == null || len > arr.length) len = arr.length;
12162
12458
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
12163
12459
  return arr2;
12164
12460
  }
12165
- function _array_with_holes$9(arr) {
12461
+ function _array_with_holes$8(arr) {
12166
12462
  if (Array.isArray(arr)) return arr;
12167
12463
  }
12168
- function _class_call_check$8(instance, Constructor) {
12464
+ function _class_call_check$9(instance, Constructor) {
12169
12465
  if (!(instance instanceof Constructor)) {
12170
12466
  throw new TypeError("Cannot call a class as a function");
12171
12467
  }
12172
12468
  }
12173
- function _defineProperties$8(target, props) {
12469
+ function _defineProperties$9(target, props) {
12174
12470
  for(var i = 0; i < props.length; i++){
12175
12471
  var descriptor = props[i];
12176
12472
  descriptor.enumerable = descriptor.enumerable || false;
@@ -12179,9 +12475,9 @@ function _defineProperties$8(target, props) {
12179
12475
  Object.defineProperty(target, descriptor.key, descriptor);
12180
12476
  }
12181
12477
  }
12182
- function _create_class$8(Constructor, protoProps, staticProps) {
12183
- if (protoProps) _defineProperties$8(Constructor.prototype, protoProps);
12184
- if (staticProps) _defineProperties$8(Constructor, staticProps);
12478
+ function _create_class$9(Constructor, protoProps, staticProps) {
12479
+ if (protoProps) _defineProperties$9(Constructor.prototype, protoProps);
12480
+ if (staticProps) _defineProperties$9(Constructor, staticProps);
12185
12481
  return Constructor;
12186
12482
  }
12187
12483
  function _define_property$4(obj, key, value) {
@@ -12197,14 +12493,14 @@ function _define_property$4(obj, key, value) {
12197
12493
  }
12198
12494
  return obj;
12199
12495
  }
12200
- function _instanceof$6(left, right) {
12496
+ function _instanceof$7(left, right) {
12201
12497
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
12202
12498
  return !!right[Symbol.hasInstance](left);
12203
12499
  } else {
12204
12500
  return left instanceof right;
12205
12501
  }
12206
12502
  }
12207
- function _iterable_to_array_limit$9(arr, i) {
12503
+ function _iterable_to_array_limit$8(arr, i) {
12208
12504
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
12209
12505
  if (_i == null) return;
12210
12506
  var _arr = [];
@@ -12228,7 +12524,7 @@ function _iterable_to_array_limit$9(arr, i) {
12228
12524
  }
12229
12525
  return _arr;
12230
12526
  }
12231
- function _non_iterable_rest$9() {
12527
+ function _non_iterable_rest$8() {
12232
12528
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12233
12529
  }
12234
12530
  function _object_spread$2(target) {
@@ -12270,20 +12566,20 @@ function _object_spread_props$2(target, source) {
12270
12566
  }
12271
12567
  return target;
12272
12568
  }
12273
- function _sliced_to_array$9(arr, i) {
12274
- return _array_with_holes$9(arr) || _iterable_to_array_limit$9(arr, i) || _unsupported_iterable_to_array$9(arr, i) || _non_iterable_rest$9();
12569
+ function _sliced_to_array$8(arr, i) {
12570
+ return _array_with_holes$8(arr) || _iterable_to_array_limit$8(arr, i) || _unsupported_iterable_to_array$8(arr, i) || _non_iterable_rest$8();
12275
12571
  }
12276
12572
  function _type_of$5(obj) {
12277
12573
  "@swc/helpers - typeof";
12278
12574
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
12279
12575
  }
12280
- function _unsupported_iterable_to_array$9(o, minLen) {
12576
+ function _unsupported_iterable_to_array$8(o, minLen) {
12281
12577
  if (!o) return;
12282
- if (typeof o === "string") return _array_like_to_array$9(o, minLen);
12578
+ if (typeof o === "string") return _array_like_to_array$8(o, minLen);
12283
12579
  var n = Object.prototype.toString.call(o).slice(8, -1);
12284
12580
  if (n === "Object" && o.constructor) n = o.constructor.name;
12285
12581
  if (n === "Map" || n === "Set") return Array.from(n);
12286
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$9(o, minLen);
12582
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$8(o, minLen);
12287
12583
  }
12288
12584
  var INVALID$2 = "Invalid Duration";
12289
12585
  // unit conversion constants
@@ -12428,7 +12724,7 @@ function normalizeValues(matrix, vals) {
12428
12724
  // if this is not the case, factor is used to make it so
12429
12725
  var factor = durationToMillis(matrix, vals) < 0 ? -1 : 1;
12430
12726
  orderedUnits$1.reduceRight(function(previous, current) {
12431
- if (!isUndefined(vals[current])) {
12727
+ if (!isUndefined$1(vals[current])) {
12432
12728
  if (previous) {
12433
12729
  var previousVal = vals[previous] * factor;
12434
12730
  var conv = matrix[current][previous];
@@ -12459,7 +12755,7 @@ function normalizeValues(matrix, vals) {
12459
12755
  // try to convert any decimals into smaller units if possible
12460
12756
  // for example for { years: 2.5, days: 0, seconds: 0 } we want to get { years: 2, days: 182, hours: 12 }
12461
12757
  orderedUnits$1.reduce(function(previous, current) {
12462
- if (!isUndefined(vals[current])) {
12758
+ if (!isUndefined$1(vals[current])) {
12463
12759
  if (previous) {
12464
12760
  var fraction = vals[previous] % 1;
12465
12761
  vals[previous] -= fraction;
@@ -12477,7 +12773,7 @@ function removeZeroes(vals) {
12477
12773
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
12478
12774
  try {
12479
12775
  for(var _iterator = Object.entries(vals)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
12480
- var _step_value = _sliced_to_array$9(_step.value, 2), key = _step_value[0], value = _step_value[1];
12776
+ var _step_value = _sliced_to_array$8(_step.value, 2), key = _step_value[0], value = _step_value[1];
12481
12777
  if (value !== 0) {
12482
12778
  newVals[key] = value;
12483
12779
  }
@@ -12500,7 +12796,7 @@ function removeZeroes(vals) {
12500
12796
  }
12501
12797
  var Duration = /*#__PURE__*/ function() {
12502
12798
  function Duration(config) {
12503
- _class_call_check$8(this, Duration);
12799
+ _class_call_check$9(this, Duration);
12504
12800
  var accurate = config.conversionAccuracy === "longterm" || false;
12505
12801
  var matrix = accurate ? accurateMatrix : casualMatrix;
12506
12802
  if (config.matrix) {
@@ -12525,7 +12821,7 @@ var Duration = /*#__PURE__*/ function() {
12525
12821
  * @access private
12526
12822
  */ this.isLuxonDuration = true;
12527
12823
  }
12528
- _create_class$8(Duration, [
12824
+ _create_class$9(Duration, [
12529
12825
  {
12530
12826
  key: "locale",
12531
12827
  get: /**
@@ -12598,7 +12894,7 @@ var Duration = /*#__PURE__*/ function() {
12598
12894
  if (!this.isValid) return INVALID$2;
12599
12895
  var l = orderedUnits$1.map(function(unit) {
12600
12896
  var val = _this.values[unit];
12601
- if (isUndefined(val)) {
12897
+ if (isUndefined$1(val)) {
12602
12898
  return null;
12603
12899
  }
12604
12900
  return _this.loc.numberFormatter(_object_spread_props$2(_object_spread$2({
@@ -13287,7 +13583,7 @@ var Duration = /*#__PURE__*/ function() {
13287
13583
  * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }
13288
13584
  * @return {Duration}
13289
13585
  */ function fromISO(text, opts) {
13290
- var _parseISODuration = _sliced_to_array$9(parseISODuration(text), 1), parsed = _parseISODuration[0];
13586
+ var _parseISODuration = _sliced_to_array$8(parseISODuration(text), 1), parsed = _parseISODuration[0];
13291
13587
  if (parsed) {
13292
13588
  return Duration.fromObject(parsed, opts);
13293
13589
  } else {
@@ -13313,7 +13609,7 @@ var Duration = /*#__PURE__*/ function() {
13313
13609
  * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }
13314
13610
  * @return {Duration}
13315
13611
  */ function fromISOTime(text, opts) {
13316
- var _parseISOTimeOnly = _sliced_to_array$9(parseISOTimeOnly(text), 1), parsed = _parseISOTimeOnly[0];
13612
+ var _parseISOTimeOnly = _sliced_to_array$8(parseISOTimeOnly(text), 1), parsed = _parseISOTimeOnly[0];
13317
13613
  if (parsed) {
13318
13614
  return Duration.fromObject(parsed, opts);
13319
13615
  } else {
@@ -13333,7 +13629,7 @@ var Duration = /*#__PURE__*/ function() {
13333
13629
  if (!reason) {
13334
13630
  throw new InvalidArgumentError("need to specify a reason the Duration is invalid");
13335
13631
  }
13336
- var invalid = _instanceof$6(reason, Invalid) ? reason : new Invalid(reason, explanation);
13632
+ var invalid = _instanceof$7(reason, Invalid) ? reason : new Invalid(reason, explanation);
13337
13633
  if (Settings.throwOnInvalid) {
13338
13634
  throw new InvalidDurationError(invalid);
13339
13635
  } else {
@@ -13386,23 +13682,23 @@ var Duration = /*#__PURE__*/ function() {
13386
13682
  return Duration;
13387
13683
  }();
13388
13684
 
13389
- function _array_like_to_array$8(arr, len) {
13685
+ function _array_like_to_array$7(arr, len) {
13390
13686
  if (len == null || len > arr.length) len = arr.length;
13391
13687
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
13392
13688
  return arr2;
13393
13689
  }
13394
- function _array_with_holes$8(arr) {
13690
+ function _array_with_holes$7(arr) {
13395
13691
  if (Array.isArray(arr)) return arr;
13396
13692
  }
13397
13693
  function _array_without_holes$5(arr) {
13398
- if (Array.isArray(arr)) return _array_like_to_array$8(arr);
13694
+ if (Array.isArray(arr)) return _array_like_to_array$7(arr);
13399
13695
  }
13400
- function _class_call_check$7(instance, Constructor) {
13696
+ function _class_call_check$8(instance, Constructor) {
13401
13697
  if (!(instance instanceof Constructor)) {
13402
13698
  throw new TypeError("Cannot call a class as a function");
13403
13699
  }
13404
13700
  }
13405
- function _defineProperties$7(target, props) {
13701
+ function _defineProperties$8(target, props) {
13406
13702
  for(var i = 0; i < props.length; i++){
13407
13703
  var descriptor = props[i];
13408
13704
  descriptor.enumerable = descriptor.enumerable || false;
@@ -13411,12 +13707,12 @@ function _defineProperties$7(target, props) {
13411
13707
  Object.defineProperty(target, descriptor.key, descriptor);
13412
13708
  }
13413
13709
  }
13414
- function _create_class$7(Constructor, protoProps, staticProps) {
13415
- if (protoProps) _defineProperties$7(Constructor.prototype, protoProps);
13416
- if (staticProps) _defineProperties$7(Constructor, staticProps);
13710
+ function _create_class$8(Constructor, protoProps, staticProps) {
13711
+ if (protoProps) _defineProperties$8(Constructor.prototype, protoProps);
13712
+ if (staticProps) _defineProperties$8(Constructor, staticProps);
13417
13713
  return Constructor;
13418
13714
  }
13419
- function _instanceof$5(left, right) {
13715
+ function _instanceof$6(left, right) {
13420
13716
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
13421
13717
  return !!right[Symbol.hasInstance](left);
13422
13718
  } else {
@@ -13426,7 +13722,7 @@ function _instanceof$5(left, right) {
13426
13722
  function _iterable_to_array$5(iter) {
13427
13723
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
13428
13724
  }
13429
- function _iterable_to_array_limit$8(arr, i) {
13725
+ function _iterable_to_array_limit$7(arr, i) {
13430
13726
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
13431
13727
  if (_i == null) return;
13432
13728
  var _arr = [];
@@ -13450,25 +13746,25 @@ function _iterable_to_array_limit$8(arr, i) {
13450
13746
  }
13451
13747
  return _arr;
13452
13748
  }
13453
- function _non_iterable_rest$8() {
13749
+ function _non_iterable_rest$7() {
13454
13750
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
13455
13751
  }
13456
13752
  function _non_iterable_spread$5() {
13457
13753
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
13458
13754
  }
13459
- function _sliced_to_array$8(arr, i) {
13460
- return _array_with_holes$8(arr) || _iterable_to_array_limit$8(arr, i) || _unsupported_iterable_to_array$8(arr, i) || _non_iterable_rest$8();
13755
+ function _sliced_to_array$7(arr, i) {
13756
+ return _array_with_holes$7(arr) || _iterable_to_array_limit$7(arr, i) || _unsupported_iterable_to_array$7(arr, i) || _non_iterable_rest$7();
13461
13757
  }
13462
13758
  function _to_consumable_array$5(arr) {
13463
- return _array_without_holes$5(arr) || _iterable_to_array$5(arr) || _unsupported_iterable_to_array$8(arr) || _non_iterable_spread$5();
13759
+ return _array_without_holes$5(arr) || _iterable_to_array$5(arr) || _unsupported_iterable_to_array$7(arr) || _non_iterable_spread$5();
13464
13760
  }
13465
- function _unsupported_iterable_to_array$8(o, minLen) {
13761
+ function _unsupported_iterable_to_array$7(o, minLen) {
13466
13762
  if (!o) return;
13467
- if (typeof o === "string") return _array_like_to_array$8(o, minLen);
13763
+ if (typeof o === "string") return _array_like_to_array$7(o, minLen);
13468
13764
  var n = Object.prototype.toString.call(o).slice(8, -1);
13469
13765
  if (n === "Object" && o.constructor) n = o.constructor.name;
13470
13766
  if (n === "Map" || n === "Set") return Array.from(n);
13471
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$8(o, minLen);
13767
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$7(o, minLen);
13472
13768
  }
13473
13769
  var INVALID$1 = "Invalid Interval";
13474
13770
  // checks if the start is equal to or before the end
@@ -13485,7 +13781,7 @@ function validateStartEnd(start, end) {
13485
13781
  }
13486
13782
  var Interval = /*#__PURE__*/ function() {
13487
13783
  function Interval(config) {
13488
- _class_call_check$7(this, Interval);
13784
+ _class_call_check$8(this, Interval);
13489
13785
  /**
13490
13786
  * @access private
13491
13787
  */ this.s = config.start;
@@ -13499,7 +13795,7 @@ var Interval = /*#__PURE__*/ function() {
13499
13795
  * @access private
13500
13796
  */ this.isLuxonInterval = true;
13501
13797
  }
13502
- _create_class$7(Interval, [
13798
+ _create_class$8(Interval, [
13503
13799
  {
13504
13800
  key: "start",
13505
13801
  get: /**
@@ -13748,7 +14044,7 @@ var Interval = /*#__PURE__*/ function() {
13748
14044
  },
13749
14045
  {
13750
14046
  /**
13751
- * Return whether this Interval engulfs the start and end of the specified Interval.
14047
+ * Returns true if this Interval fully contains the specified Interval, specifically if the intersect (of this Interval and the other Interval) is equal to the other Interval; false otherwise.
13752
14048
  * @param {Interval} other
13753
14049
  * @return {boolean}
13754
14050
  */ key: "engulfs",
@@ -13968,7 +14264,7 @@ var Interval = /*#__PURE__*/ function() {
13968
14264
  if (!reason) {
13969
14265
  throw new InvalidArgumentError("need to specify a reason the Interval is invalid");
13970
14266
  }
13971
- var invalid = _instanceof$5(reason, Invalid) ? reason : new Invalid(reason, explanation);
14267
+ var invalid = _instanceof$6(reason, Invalid) ? reason : new Invalid(reason, explanation);
13972
14268
  if (Settings.throwOnInvalid) {
13973
14269
  throw new InvalidIntervalError(invalid);
13974
14270
  } else {
@@ -14032,7 +14328,7 @@ var Interval = /*#__PURE__*/ function() {
14032
14328
  * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals
14033
14329
  * @return {Interval}
14034
14330
  */ function fromISO(text, opts) {
14035
- var _split = _sliced_to_array$8((text || "").split("/", 2), 2), s = _split[0], e = _split[1];
14331
+ var _split = _sliced_to_array$7((text || "").split("/", 2), 2), s = _split[0], e = _split[1];
14036
14332
  if (s && e) {
14037
14333
  var start, startIsValid;
14038
14334
  try {
@@ -14084,10 +14380,10 @@ var Interval = /*#__PURE__*/ function() {
14084
14380
  * @param {Array} intervals
14085
14381
  * @return {Array}
14086
14382
  */ function merge(intervals) {
14087
- var _intervals_sort_reduce = _sliced_to_array$8(intervals.sort(function(a, b) {
14383
+ var _intervals_sort_reduce = _sliced_to_array$7(intervals.sort(function(a, b) {
14088
14384
  return a.s - b.s;
14089
14385
  }).reduce(function(param, item) {
14090
- var _param = _sliced_to_array$8(param, 2), sofar = _param[0], current = _param[1];
14386
+ var _param = _sliced_to_array$7(param, 2), sofar = _param[0], current = _param[1];
14091
14387
  if (!current) {
14092
14388
  return [
14093
14389
  sofar,
@@ -14174,12 +14470,12 @@ var Interval = /*#__PURE__*/ function() {
14174
14470
  return Interval;
14175
14471
  }();
14176
14472
 
14177
- function _class_call_check$6(instance, Constructor) {
14473
+ function _class_call_check$7(instance, Constructor) {
14178
14474
  if (!(instance instanceof Constructor)) {
14179
14475
  throw new TypeError("Cannot call a class as a function");
14180
14476
  }
14181
14477
  }
14182
- function _defineProperties$6(target, props) {
14478
+ function _defineProperties$7(target, props) {
14183
14479
  for(var i = 0; i < props.length; i++){
14184
14480
  var descriptor = props[i];
14185
14481
  descriptor.enumerable = descriptor.enumerable || false;
@@ -14188,16 +14484,16 @@ function _defineProperties$6(target, props) {
14188
14484
  Object.defineProperty(target, descriptor.key, descriptor);
14189
14485
  }
14190
14486
  }
14191
- function _create_class$6(Constructor, protoProps, staticProps) {
14192
- if (protoProps) _defineProperties$6(Constructor.prototype, protoProps);
14193
- if (staticProps) _defineProperties$6(Constructor, staticProps);
14487
+ function _create_class$7(Constructor, protoProps, staticProps) {
14488
+ if (protoProps) _defineProperties$7(Constructor.prototype, protoProps);
14489
+ if (staticProps) _defineProperties$7(Constructor, staticProps);
14194
14490
  return Constructor;
14195
14491
  }
14196
14492
  var Info = /*#__PURE__*/ function() {
14197
14493
  function Info() {
14198
- _class_call_check$6(this, Info);
14494
+ _class_call_check$7(this, Info);
14199
14495
  }
14200
- _create_class$6(Info, null, [
14496
+ _create_class$7(Info, null, [
14201
14497
  {
14202
14498
  key: "hasDST",
14203
14499
  value: /**
@@ -14415,16 +14711,16 @@ var Info = /*#__PURE__*/ function() {
14415
14711
  return Info;
14416
14712
  }();
14417
14713
 
14418
- function _array_like_to_array$7(arr, len) {
14714
+ function _array_like_to_array$6(arr, len) {
14419
14715
  if (len == null || len > arr.length) len = arr.length;
14420
14716
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
14421
14717
  return arr2;
14422
14718
  }
14423
- function _array_with_holes$7(arr) {
14719
+ function _array_with_holes$6(arr) {
14424
14720
  if (Array.isArray(arr)) return arr;
14425
14721
  }
14426
14722
  function _array_without_holes$4(arr) {
14427
- if (Array.isArray(arr)) return _array_like_to_array$7(arr);
14723
+ if (Array.isArray(arr)) return _array_like_to_array$6(arr);
14428
14724
  }
14429
14725
  function _define_property$3(obj, key, value) {
14430
14726
  if (key in obj) {
@@ -14442,7 +14738,7 @@ function _define_property$3(obj, key, value) {
14442
14738
  function _iterable_to_array$4(iter) {
14443
14739
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
14444
14740
  }
14445
- function _iterable_to_array_limit$7(arr, i) {
14741
+ function _iterable_to_array_limit$6(arr, i) {
14446
14742
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
14447
14743
  if (_i == null) return;
14448
14744
  var _arr = [];
@@ -14466,25 +14762,25 @@ function _iterable_to_array_limit$7(arr, i) {
14466
14762
  }
14467
14763
  return _arr;
14468
14764
  }
14469
- function _non_iterable_rest$7() {
14765
+ function _non_iterable_rest$6() {
14470
14766
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
14471
14767
  }
14472
14768
  function _non_iterable_spread$4() {
14473
14769
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
14474
14770
  }
14475
- function _sliced_to_array$7(arr, i) {
14476
- return _array_with_holes$7(arr) || _iterable_to_array_limit$7(arr, i) || _unsupported_iterable_to_array$7(arr, i) || _non_iterable_rest$7();
14771
+ function _sliced_to_array$6(arr, i) {
14772
+ return _array_with_holes$6(arr) || _iterable_to_array_limit$6(arr, i) || _unsupported_iterable_to_array$6(arr, i) || _non_iterable_rest$6();
14477
14773
  }
14478
14774
  function _to_consumable_array$4(arr) {
14479
- return _array_without_holes$4(arr) || _iterable_to_array$4(arr) || _unsupported_iterable_to_array$7(arr) || _non_iterable_spread$4();
14775
+ return _array_without_holes$4(arr) || _iterable_to_array$4(arr) || _unsupported_iterable_to_array$6(arr) || _non_iterable_spread$4();
14480
14776
  }
14481
- function _unsupported_iterable_to_array$7(o, minLen) {
14777
+ function _unsupported_iterable_to_array$6(o, minLen) {
14482
14778
  if (!o) return;
14483
- if (typeof o === "string") return _array_like_to_array$7(o, minLen);
14779
+ if (typeof o === "string") return _array_like_to_array$6(o, minLen);
14484
14780
  var n = Object.prototype.toString.call(o).slice(8, -1);
14485
14781
  if (n === "Object" && o.constructor) n = o.constructor.name;
14486
14782
  if (n === "Map" || n === "Set") return Array.from(n);
14487
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$7(o, minLen);
14783
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$6(o, minLen);
14488
14784
  }
14489
14785
  function dayDiff(earlier, later) {
14490
14786
  var utcDayStart = function(dt) {
@@ -14539,7 +14835,7 @@ function highOrderDiffs(cursor, later, units) {
14539
14835
  this is used later to potentially convert any difference smaller than the smallest higher order unit
14540
14836
  into a fraction of that smallest higher order unit
14541
14837
  */ for(var _iterator = differs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
14542
- var _step_value = _sliced_to_array$7(_step.value, 2), unit = _step_value[0], differ = _step_value[1];
14838
+ var _step_value = _sliced_to_array$6(_step.value, 2), unit = _step_value[0], differ = _step_value[1];
14543
14839
  if (units.indexOf(unit) >= 0) {
14544
14840
  lowestOrder = unit;
14545
14841
  results[unit] = differ(cursor, later);
@@ -14564,227 +14860,52 @@ function highOrderDiffs(cursor, later, units) {
14564
14860
  }
14565
14861
  }
14566
14862
  } catch (err) {
14567
- _didIteratorError = true;
14568
- _iteratorError = err;
14569
- } finally{
14570
- try {
14571
- if (!_iteratorNormalCompletion && _iterator.return != null) {
14572
- _iterator.return();
14573
- }
14574
- } finally{
14575
- if (_didIteratorError) {
14576
- throw _iteratorError;
14577
- }
14578
- }
14579
- }
14580
- return [
14581
- cursor,
14582
- results,
14583
- highWater,
14584
- lowestOrder
14585
- ];
14586
- }
14587
- function diff(earlier, later, units, opts) {
14588
- var _highOrderDiffs = _sliced_to_array$7(highOrderDiffs(earlier, later, units), 4), cursor = _highOrderDiffs[0], results = _highOrderDiffs[1], highWater = _highOrderDiffs[2], lowestOrder = _highOrderDiffs[3];
14589
- var remainingMillis = later - cursor;
14590
- var lowerOrderUnits = units.filter(function(u) {
14591
- return [
14592
- "hours",
14593
- "minutes",
14594
- "seconds",
14595
- "milliseconds"
14596
- ].indexOf(u) >= 0;
14597
- });
14598
- if (lowerOrderUnits.length === 0) {
14599
- if (highWater < later) {
14600
- highWater = cursor.plus(_define_property$3({}, lowestOrder, 1));
14601
- }
14602
- if (highWater !== cursor) {
14603
- results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);
14604
- }
14605
- }
14606
- var duration = Duration.fromObject(results, opts);
14607
- if (lowerOrderUnits.length > 0) {
14608
- var _Duration_fromMillis;
14609
- return (_Duration_fromMillis = Duration.fromMillis(remainingMillis, opts)).shiftTo.apply(_Duration_fromMillis, _to_consumable_array$4(lowerOrderUnits)).plus(duration);
14610
- } else {
14611
- return duration;
14612
- }
14613
- }
14614
-
14615
- function _array_like_to_array$6(arr, len) {
14616
- if (len == null || len > arr.length) len = arr.length;
14617
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
14618
- return arr2;
14619
- }
14620
- function _array_with_holes$6(arr) {
14621
- if (Array.isArray(arr)) return arr;
14622
- }
14623
- function _iterable_to_array_limit$6(arr, i) {
14624
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
14625
- if (_i == null) return;
14626
- var _arr = [];
14627
- var _n = true;
14628
- var _d = false;
14629
- var _s, _e;
14630
- try {
14631
- for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
14632
- _arr.push(_s.value);
14633
- if (i && _arr.length === i) break;
14634
- }
14635
- } catch (err) {
14636
- _d = true;
14637
- _e = err;
14638
- } finally{
14639
- try {
14640
- if (!_n && _i["return"] != null) _i["return"]();
14641
- } finally{
14642
- if (_d) throw _e;
14643
- }
14644
- }
14645
- return _arr;
14646
- }
14647
- function _non_iterable_rest$6() {
14648
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
14649
- }
14650
- function _sliced_to_array$6(arr, i) {
14651
- return _array_with_holes$6(arr) || _iterable_to_array_limit$6(arr, i) || _unsupported_iterable_to_array$6(arr, i) || _non_iterable_rest$6();
14652
- }
14653
- function _unsupported_iterable_to_array$6(o, minLen) {
14654
- if (!o) return;
14655
- if (typeof o === "string") return _array_like_to_array$6(o, minLen);
14656
- var n = Object.prototype.toString.call(o).slice(8, -1);
14657
- if (n === "Object" && o.constructor) n = o.constructor.name;
14658
- if (n === "Map" || n === "Set") return Array.from(n);
14659
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$6(o, minLen);
14660
- }
14661
- var numberingSystems = {
14662
- arab: "[٠-٩]",
14663
- arabext: "[۰-۹]",
14664
- bali: "[᭐-᭙]",
14665
- beng: "[০-৯]",
14666
- deva: "[०-९]",
14667
- fullwide: "[0-9]",
14668
- gujr: "[૦-૯]",
14669
- hanidec: "[〇|一|二|三|四|五|六|七|八|九]",
14670
- khmr: "[០-៩]",
14671
- knda: "[೦-೯]",
14672
- laoo: "[໐-໙]",
14673
- limb: "[᥆-᥏]",
14674
- mlym: "[൦-൯]",
14675
- mong: "[᠐-᠙]",
14676
- mymr: "[၀-၉]",
14677
- orya: "[୦-୯]",
14678
- tamldec: "[௦-௯]",
14679
- telu: "[౦-౯]",
14680
- thai: "[๐-๙]",
14681
- tibt: "[༠-༩]",
14682
- latn: "\\d"
14683
- };
14684
- var numberingSystemsUTF16 = {
14685
- arab: [
14686
- 1632,
14687
- 1641
14688
- ],
14689
- arabext: [
14690
- 1776,
14691
- 1785
14692
- ],
14693
- bali: [
14694
- 6992,
14695
- 7001
14696
- ],
14697
- beng: [
14698
- 2534,
14699
- 2543
14700
- ],
14701
- deva: [
14702
- 2406,
14703
- 2415
14704
- ],
14705
- fullwide: [
14706
- 65296,
14707
- 65303
14708
- ],
14709
- gujr: [
14710
- 2790,
14711
- 2799
14712
- ],
14713
- khmr: [
14714
- 6112,
14715
- 6121
14716
- ],
14717
- knda: [
14718
- 3302,
14719
- 3311
14720
- ],
14721
- laoo: [
14722
- 3792,
14723
- 3801
14724
- ],
14725
- limb: [
14726
- 6470,
14727
- 6479
14728
- ],
14729
- mlym: [
14730
- 3430,
14731
- 3439
14732
- ],
14733
- mong: [
14734
- 6160,
14735
- 6169
14736
- ],
14737
- mymr: [
14738
- 4160,
14739
- 4169
14740
- ],
14741
- orya: [
14742
- 2918,
14743
- 2927
14744
- ],
14745
- tamldec: [
14746
- 3046,
14747
- 3055
14748
- ],
14749
- telu: [
14750
- 3174,
14751
- 3183
14752
- ],
14753
- thai: [
14754
- 3664,
14755
- 3673
14756
- ],
14757
- tibt: [
14758
- 3872,
14759
- 3881
14760
- ]
14761
- };
14762
- var hanidecChars = numberingSystems.hanidec.replace(/[\[|\]]/g, "").split("");
14763
- function parseDigits(str) {
14764
- var value = parseInt(str, 10);
14765
- if (isNaN(value)) {
14766
- value = "";
14767
- for(var i = 0; i < str.length; i++){
14768
- var code = str.charCodeAt(i);
14769
- if (str[i].search(numberingSystems.hanidec) !== -1) {
14770
- value += hanidecChars.indexOf(str[i]);
14771
- } else {
14772
- for(var key in numberingSystemsUTF16){
14773
- var _numberingSystemsUTF16_key = _sliced_to_array$6(numberingSystemsUTF16[key], 2), min = _numberingSystemsUTF16_key[0], max = _numberingSystemsUTF16_key[1];
14774
- if (code >= min && code <= max) {
14775
- value += code - min;
14776
- }
14777
- }
14863
+ _didIteratorError = true;
14864
+ _iteratorError = err;
14865
+ } finally{
14866
+ try {
14867
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
14868
+ _iterator.return();
14869
+ }
14870
+ } finally{
14871
+ if (_didIteratorError) {
14872
+ throw _iteratorError;
14778
14873
  }
14779
14874
  }
14780
- return parseInt(value, 10);
14781
- } else {
14782
- return value;
14783
14875
  }
14876
+ return [
14877
+ cursor,
14878
+ results,
14879
+ highWater,
14880
+ lowestOrder
14881
+ ];
14784
14882
  }
14785
- function digitRegex(param) {
14786
- var numberingSystem = param.numberingSystem, append = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
14787
- return new RegExp("".concat(numberingSystems[numberingSystem || "latn"]).concat(append));
14883
+ function diff(earlier, later, units, opts) {
14884
+ var _highOrderDiffs = _sliced_to_array$6(highOrderDiffs(earlier, later, units), 4), cursor = _highOrderDiffs[0], results = _highOrderDiffs[1], highWater = _highOrderDiffs[2], lowestOrder = _highOrderDiffs[3];
14885
+ var remainingMillis = later - cursor;
14886
+ var lowerOrderUnits = units.filter(function(u) {
14887
+ return [
14888
+ "hours",
14889
+ "minutes",
14890
+ "seconds",
14891
+ "milliseconds"
14892
+ ].indexOf(u) >= 0;
14893
+ });
14894
+ if (lowerOrderUnits.length === 0) {
14895
+ if (highWater < later) {
14896
+ highWater = cursor.plus(_define_property$3({}, lowestOrder, 1));
14897
+ }
14898
+ if (highWater !== cursor) {
14899
+ results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);
14900
+ }
14901
+ }
14902
+ var duration = Duration.fromObject(results, opts);
14903
+ if (lowerOrderUnits.length > 0) {
14904
+ var _Duration_fromMillis;
14905
+ return (_Duration_fromMillis = Duration.fromMillis(remainingMillis, opts)).shiftTo.apply(_Duration_fromMillis, _to_consumable_array$4(lowerOrderUnits)).plus(duration);
14906
+ } else {
14907
+ return duration;
14908
+ }
14788
14909
  }
14789
14910
 
14790
14911
  function _array_like_to_array$5(arr, len) {
@@ -14798,6 +14919,25 @@ function _array_with_holes$5(arr) {
14798
14919
  function _array_without_holes$3(arr) {
14799
14920
  if (Array.isArray(arr)) return _array_like_to_array$5(arr);
14800
14921
  }
14922
+ function _class_call_check$6(instance, Constructor) {
14923
+ if (!(instance instanceof Constructor)) {
14924
+ throw new TypeError("Cannot call a class as a function");
14925
+ }
14926
+ }
14927
+ function _defineProperties$6(target, props) {
14928
+ for(var i = 0; i < props.length; i++){
14929
+ var descriptor = props[i];
14930
+ descriptor.enumerable = descriptor.enumerable || false;
14931
+ descriptor.configurable = true;
14932
+ if ("value" in descriptor) descriptor.writable = true;
14933
+ Object.defineProperty(target, descriptor.key, descriptor);
14934
+ }
14935
+ }
14936
+ function _create_class$6(Constructor, protoProps, staticProps) {
14937
+ if (protoProps) _defineProperties$6(Constructor.prototype, protoProps);
14938
+ if (staticProps) _defineProperties$6(Constructor, staticProps);
14939
+ return Constructor;
14940
+ }
14801
14941
  function _iterable_to_array$3(iter) {
14802
14942
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
14803
14943
  }
@@ -15204,19 +15344,19 @@ function dateTimeFromMatches(matches) {
15204
15344
  };
15205
15345
  var zone = null;
15206
15346
  var specificOffset;
15207
- if (!isUndefined(matches.z)) {
15347
+ if (!isUndefined$1(matches.z)) {
15208
15348
  zone = IANAZone.create(matches.z);
15209
15349
  }
15210
- if (!isUndefined(matches.Z)) {
15350
+ if (!isUndefined$1(matches.Z)) {
15211
15351
  if (!zone) {
15212
15352
  zone = new FixedOffsetZone(matches.Z);
15213
15353
  }
15214
15354
  specificOffset = matches.Z;
15215
15355
  }
15216
- if (!isUndefined(matches.q)) {
15356
+ if (!isUndefined$1(matches.q)) {
15217
15357
  matches.M = (matches.q - 1) * 3 + 1;
15218
15358
  }
15219
- if (!isUndefined(matches.h)) {
15359
+ if (!isUndefined$1(matches.h)) {
15220
15360
  if (matches.h < 12 && matches.a === 1) {
15221
15361
  matches.h += 12;
15222
15362
  } else if (matches.h === 12 && matches.a === 0) {
@@ -15226,7 +15366,7 @@ function dateTimeFromMatches(matches) {
15226
15366
  if (matches.G === 0 && matches.y) {
15227
15367
  matches.y = -matches.y;
15228
15368
  }
15229
- if (!isUndefined(matches.u)) {
15369
+ if (!isUndefined$1(matches.u)) {
15230
15370
  matches.S = parseMillis(matches.u);
15231
15371
  }
15232
15372
  var vals = Object.keys(matches).reduce(function(r, k) {
@@ -15268,38 +15408,74 @@ function expandMacroTokens(tokens, locale) {
15268
15408
  }
15269
15409
  /**
15270
15410
  * @private
15271
- */ function explainFromTokens(locale, input, format) {
15272
- var tokens = expandMacroTokens(Formatter.parseFormat(format), locale), units = tokens.map(function(t) {
15273
- return unitForToken(t, locale);
15274
- }), disqualifyingUnit = units.find(function(t) {
15275
- return t.invalidReason;
15276
- });
15277
- if (disqualifyingUnit) {
15278
- return {
15279
- input: input,
15280
- tokens: tokens,
15281
- invalidReason: disqualifyingUnit.invalidReason
15282
- };
15283
- } else {
15284
- var _buildRegex = _sliced_to_array$5(buildRegex(units), 2), regexString = _buildRegex[0], handlers = _buildRegex[1], regex = RegExp(regexString, "i"), _match = _sliced_to_array$5(match(input, regex, handlers), 2), rawMatches = _match[0], matches = _match[1], _ref = _sliced_to_array$5(matches ? dateTimeFromMatches(matches) : [
15285
- null,
15286
- null,
15287
- undefined
15288
- ], 3), result = _ref[0], zone = _ref[1], specificOffset = _ref[2];
15289
- if (hasOwnProperty(matches, "a") && hasOwnProperty(matches, "H")) {
15290
- throw new ConflictingSpecificationError("Can't include meridiem when specifying 24-hour format");
15411
+ */ var TokenParser = /*#__PURE__*/ function() {
15412
+ function TokenParser(locale, format) {
15413
+ _class_call_check$6(this, TokenParser);
15414
+ this.locale = locale;
15415
+ this.format = format;
15416
+ this.tokens = expandMacroTokens(Formatter.parseFormat(format), locale);
15417
+ this.units = this.tokens.map(function(t) {
15418
+ return unitForToken(t, locale);
15419
+ });
15420
+ this.disqualifyingUnit = this.units.find(function(t) {
15421
+ return t.invalidReason;
15422
+ });
15423
+ if (!this.disqualifyingUnit) {
15424
+ var _buildRegex = _sliced_to_array$5(buildRegex(this.units), 2), regexString = _buildRegex[0], handlers = _buildRegex[1];
15425
+ this.regex = RegExp(regexString, "i");
15426
+ this.handlers = handlers;
15291
15427
  }
15292
- return {
15293
- input: input,
15294
- tokens: tokens,
15295
- regex: regex,
15296
- rawMatches: rawMatches,
15297
- matches: matches,
15298
- result: result,
15299
- zone: zone,
15300
- specificOffset: specificOffset
15301
- };
15302
15428
  }
15429
+ _create_class$6(TokenParser, [
15430
+ {
15431
+ key: "explainFromTokens",
15432
+ value: function explainFromTokens(input) {
15433
+ if (!this.isValid) {
15434
+ return {
15435
+ input: input,
15436
+ tokens: this.tokens,
15437
+ invalidReason: this.invalidReason
15438
+ };
15439
+ } else {
15440
+ var _match = _sliced_to_array$5(match(input, this.regex, this.handlers), 2), rawMatches = _match[0], matches = _match[1], _ref = _sliced_to_array$5(matches ? dateTimeFromMatches(matches) : [
15441
+ null,
15442
+ null,
15443
+ undefined
15444
+ ], 3), result = _ref[0], zone = _ref[1], specificOffset = _ref[2];
15445
+ if (hasOwnProperty(matches, "a") && hasOwnProperty(matches, "H")) {
15446
+ throw new ConflictingSpecificationError("Can't include meridiem when specifying 24-hour format");
15447
+ }
15448
+ return {
15449
+ input: input,
15450
+ tokens: this.tokens,
15451
+ regex: this.regex,
15452
+ rawMatches: rawMatches,
15453
+ matches: matches,
15454
+ result: result,
15455
+ zone: zone,
15456
+ specificOffset: specificOffset
15457
+ };
15458
+ }
15459
+ }
15460
+ },
15461
+ {
15462
+ key: "isValid",
15463
+ get: function get() {
15464
+ return !this.disqualifyingUnit;
15465
+ }
15466
+ },
15467
+ {
15468
+ key: "invalidReason",
15469
+ get: function get() {
15470
+ return this.disqualifyingUnit ? this.disqualifyingUnit.invalidReason : null;
15471
+ }
15472
+ }
15473
+ ]);
15474
+ return TokenParser;
15475
+ }();
15476
+ function explainFromTokens(locale, input, format) {
15477
+ var parser = new TokenParser(locale, format);
15478
+ return parser.explainFromTokens(input);
15303
15479
  }
15304
15480
  function parseFromTokens(locale, input, format) {
15305
15481
  var _explainFromTokens = explainFromTokens(locale, input, format), result = _explainFromTokens.result, zone = _explainFromTokens.zone, specificOffset = _explainFromTokens.specificOffset, invalidReason = _explainFromTokens.invalidReason;
@@ -15363,7 +15539,7 @@ function _define_property$2(obj, key, value) {
15363
15539
  }
15364
15540
  return obj;
15365
15541
  }
15366
- function _instanceof$4(left, right) {
15542
+ function _instanceof$5(left, right) {
15367
15543
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
15368
15544
  return !!right[Symbol.hasInstance](left);
15369
15545
  } else {
@@ -15734,19 +15910,51 @@ function normalizeUnitWithLocalWeeks(unit) {
15734
15910
  return normalizeUnit(unit);
15735
15911
  }
15736
15912
  }
15913
+ // cache offsets for zones based on the current timestamp when this function is
15914
+ // first called. When we are handling a datetime from components like (year,
15915
+ // month, day, hour) in a time zone, we need a guess about what the timezone
15916
+ // offset is so that we can convert into a UTC timestamp. One way is to find the
15917
+ // offset of now in the zone. The actual date may have a different offset (for
15918
+ // example, if we handle a date in June while we're in December in a zone that
15919
+ // observes DST), but we can check and adjust that.
15920
+ //
15921
+ // When handling many dates, calculating the offset for now every time is
15922
+ // expensive. It's just a guess, so we can cache the offset to use even if we
15923
+ // are right on a time change boundary (we'll just correct in the other
15924
+ // direction). Using a timestamp from first read is a slight optimization for
15925
+ // handling dates close to the current date, since those dates will usually be
15926
+ // in the same offset (we could set the timestamp statically, instead). We use a
15927
+ // single timestamp for all zones to make things a bit more predictable.
15928
+ //
15929
+ // This is safe for quickDT (used by local() and utc()) because we don't fill in
15930
+ // higher-order units from tsNow (as we do in fromObject, this requires that
15931
+ // offset is calculated from tsNow).
15932
+ function guessOffsetForZone(zone) {
15933
+ if (!zoneOffsetGuessCache[zone]) {
15934
+ if (zoneOffsetTs === undefined) {
15935
+ zoneOffsetTs = Settings.now();
15936
+ }
15937
+ zoneOffsetGuessCache[zone] = zone.offset(zoneOffsetTs);
15938
+ }
15939
+ return zoneOffsetGuessCache[zone];
15940
+ }
15737
15941
  // this is a dumbed down version of fromObject() that runs about 60% faster
15738
15942
  // but doesn't do any validation, makes a bunch of assumptions about what units
15739
15943
  // are present, and so on.
15740
15944
  function quickDT(obj, opts) {
15741
- var zone = normalizeZone(opts.zone, Settings.defaultZone), loc = Locale.fromObject(opts), tsNow = Settings.now();
15945
+ var zone = normalizeZone(opts.zone, Settings.defaultZone);
15946
+ if (!zone.isValid) {
15947
+ return DateTime.invalid(unsupportedZone(zone));
15948
+ }
15949
+ var loc = Locale.fromObject(opts);
15742
15950
  var ts, o;
15743
15951
  // assume we have the higher-order units
15744
- if (!isUndefined(obj.year)) {
15952
+ if (!isUndefined$1(obj.year)) {
15745
15953
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
15746
15954
  try {
15747
15955
  for(var _iterator = orderedUnits[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
15748
15956
  var u = _step.value;
15749
- if (isUndefined(obj[u])) {
15957
+ if (isUndefined$1(obj[u])) {
15750
15958
  obj[u] = defaultUnitValues[u];
15751
15959
  }
15752
15960
  }
@@ -15768,11 +15976,11 @@ function quickDT(obj, opts) {
15768
15976
  if (invalid) {
15769
15977
  return DateTime.invalid(invalid);
15770
15978
  }
15771
- var offsetProvis = zone.offset(tsNow);
15979
+ var offsetProvis = guessOffsetForZone(zone);
15772
15980
  var ref;
15773
15981
  ref = _sliced_to_array$4(objToTS(obj, offsetProvis, zone), 2), ts = ref[0], o = ref[1];
15774
15982
  } else {
15775
- ts = tsNow;
15983
+ ts = Settings.now();
15776
15984
  }
15777
15985
  return new DateTime({
15778
15986
  ts: ts,
@@ -15782,7 +15990,7 @@ function quickDT(obj, opts) {
15782
15990
  });
15783
15991
  }
15784
15992
  function diffRelative(start, end, opts) {
15785
- var round = isUndefined(opts.round) ? true : opts.round, format = function(c, unit) {
15993
+ var round = isUndefined$1(opts.round) ? true : opts.round, format = function(c, unit) {
15786
15994
  c = roundTo(c, round || opts.calendary ? 0 : 2, true);
15787
15995
  var formatter = end.loc.clone(opts).relFormatter(opts);
15788
15996
  return formatter.format(c, unit);
@@ -15836,6 +16044,15 @@ function lastOpts(argList) {
15836
16044
  args
15837
16045
  ];
15838
16046
  }
16047
+ /**
16048
+ * Timestamp to use for cached zone offset guesses (exposed for test)
16049
+ */ var zoneOffsetTs;
16050
+ /**
16051
+ * Cache for zone offset guesses (exposed for test).
16052
+ *
16053
+ * This optimizes quickDT via guessOffsetForZone to avoid repeated calls of
16054
+ * zone.offset().
16055
+ */ var zoneOffsetGuessCache = {};
15839
16056
  var DateTime = /*#__PURE__*/ function() {
15840
16057
  function DateTime(config) {
15841
16058
  _class_call_check$5(this, DateTime);
@@ -15843,7 +16060,7 @@ var DateTime = /*#__PURE__*/ function() {
15843
16060
  var invalid = config.invalid || (Number.isNaN(config.ts) ? new Invalid("invalid input") : null) || (!zone.isValid ? unsupportedZone(zone) : null);
15844
16061
  /**
15845
16062
  * @access private
15846
- */ this.ts = isUndefined(config.ts) ? Settings.now() : config.ts;
16063
+ */ this.ts = isUndefined$1(config.ts) ? Settings.now() : config.ts;
15847
16064
  var c = null, o = null;
15848
16065
  if (!invalid) {
15849
16066
  var unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone);
@@ -15854,7 +16071,9 @@ var DateTime = /*#__PURE__*/ function() {
15854
16071
  config.old.o
15855
16072
  ], c = ref[0], o = ref[1];
15856
16073
  } else {
15857
- var ot = zone.offset(this.ts);
16074
+ // If an offset has been passed and we have not been called from
16075
+ // clone(), we can trust it and avoid the offset calculation.
16076
+ var ot = isNumber$1(config.o) && !config.old ? config.o : zone.offset(this.ts);
15858
16077
  c = tsToObj(this.ts, ot);
15859
16078
  invalid = Number.isNaN(c.year) ? new Invalid("invalid input") : null;
15860
16079
  c = invalid ? null : c;
@@ -16492,7 +16711,7 @@ var DateTime = /*#__PURE__*/ function() {
16492
16711
  if (!this.isValid) return this;
16493
16712
  var normalized = normalizeObject(values, normalizeUnitWithLocalWeeks);
16494
16713
  var _usesLocalWeekValues = usesLocalWeekValues(normalized, this.loc), minDaysInFirstWeek = _usesLocalWeekValues.minDaysInFirstWeek, startOfWeek = _usesLocalWeekValues.startOfWeek;
16495
- var settingWeekStuff = !isUndefined(normalized.weekYear) || !isUndefined(normalized.weekNumber) || !isUndefined(normalized.weekday), containsOrdinal = !isUndefined(normalized.ordinal), containsGregorYear = !isUndefined(normalized.year), containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day), containsGregor = containsGregorYear || containsGregorMD, definiteWeekDef = normalized.weekYear || normalized.weekNumber;
16714
+ var settingWeekStuff = !isUndefined$1(normalized.weekYear) || !isUndefined$1(normalized.weekNumber) || !isUndefined$1(normalized.weekday), containsOrdinal = !isUndefined$1(normalized.ordinal), containsGregorYear = !isUndefined$1(normalized.year), containsGregorMD = !isUndefined$1(normalized.month) || !isUndefined$1(normalized.day), containsGregor = containsGregorYear || containsGregorMD, definiteWeekDef = normalized.weekYear || normalized.weekNumber;
16496
16715
  if ((containsGregor || containsOrdinal) && definiteWeekDef) {
16497
16716
  throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals");
16498
16717
  }
@@ -16502,13 +16721,13 @@ var DateTime = /*#__PURE__*/ function() {
16502
16721
  var mixed;
16503
16722
  if (settingWeekStuff) {
16504
16723
  mixed = weekToGregorian(_object_spread$1({}, gregorianToWeek(this.c, minDaysInFirstWeek, startOfWeek), normalized), minDaysInFirstWeek, startOfWeek);
16505
- } else if (!isUndefined(normalized.ordinal)) {
16724
+ } else if (!isUndefined$1(normalized.ordinal)) {
16506
16725
  mixed = ordinalToGregorian(_object_spread$1({}, gregorianToOrdinal(this.c), normalized));
16507
16726
  } else {
16508
16727
  mixed = _object_spread$1({}, this.toObject(), normalized);
16509
16728
  // if we didn't set the day but we ended up on an overflow date,
16510
16729
  // use the last day of the right month
16511
- if (isUndefined(normalized.day)) {
16730
+ if (isUndefined$1(normalized.day)) {
16512
16731
  mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day);
16513
16732
  }
16514
16733
  }
@@ -17187,6 +17406,7 @@ var DateTime = /*#__PURE__*/ function() {
17187
17406
  * @param {string} [options.locale] - a locale to set on the resulting DateTime instance
17188
17407
  * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance
17189
17408
  * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance
17409
+ * @param {string} [options.weekSettings] - the week settings to set on the resulting DateTime instance
17190
17410
  * @example DateTime.utc() //~> now
17191
17411
  * @example DateTime.utc(2017) //~> 2017-01-01T00:00:00Z
17192
17412
  * @example DateTime.utc(2017, 3) //~> 2017-03-01T00:00:00Z
@@ -17246,13 +17466,14 @@ var DateTime = /*#__PURE__*/ function() {
17246
17466
  * @param {string} [options.locale] - a locale to set on the resulting DateTime instance
17247
17467
  * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance
17248
17468
  * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance
17469
+ * @param {string} options.weekSettings - the week settings to set on the resulting DateTime instance
17249
17470
  * @return {DateTime}
17250
17471
  */ function fromMillis(milliseconds) {
17251
17472
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
17252
17473
  if (!isNumber$1(milliseconds)) {
17253
17474
  throw new InvalidArgumentError("fromMillis requires a numerical input, but received a ".concat(typeof milliseconds === "undefined" ? "undefined" : _type_of$4(milliseconds), " with value ").concat(milliseconds));
17254
17475
  } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) {
17255
- // this isn't perfect because because we can still end up out of range because of additional shifting, but it's a start
17476
+ // this isn't perfect because we can still end up out of range because of additional shifting, but it's a start
17256
17477
  return DateTime.invalid("Timestamp out of range");
17257
17478
  } else {
17258
17479
  return new DateTime({
@@ -17273,6 +17494,7 @@ var DateTime = /*#__PURE__*/ function() {
17273
17494
  * @param {string} [options.locale] - a locale to set on the resulting DateTime instance
17274
17495
  * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance
17275
17496
  * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance
17497
+ * @param {string} options.weekSettings - the week settings to set on the resulting DateTime instance
17276
17498
  * @return {DateTime}
17277
17499
  */ function fromSeconds(seconds) {
17278
17500
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
@@ -17311,6 +17533,7 @@ var DateTime = /*#__PURE__*/ function() {
17311
17533
  * @param {string} [opts.locale='system\'s locale'] - a locale to set on the resulting DateTime instance
17312
17534
  * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
17313
17535
  * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance
17536
+ * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance
17314
17537
  * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'
17315
17538
  * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'
17316
17539
  * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06
@@ -17330,7 +17553,7 @@ var DateTime = /*#__PURE__*/ function() {
17330
17553
  var loc = Locale.fromObject(opts);
17331
17554
  var normalized = normalizeObject(obj, normalizeUnitWithLocalWeeks);
17332
17555
  var _usesLocalWeekValues = usesLocalWeekValues(normalized, loc), minDaysInFirstWeek = _usesLocalWeekValues.minDaysInFirstWeek, startOfWeek = _usesLocalWeekValues.startOfWeek;
17333
- var tsNow = Settings.now(), offsetProvis = !isUndefined(opts.specificOffset) ? opts.specificOffset : zoneToUse.offset(tsNow), containsOrdinal = !isUndefined(normalized.ordinal), containsGregorYear = !isUndefined(normalized.year), containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day), containsGregor = containsGregorYear || containsGregorMD, definiteWeekDef = normalized.weekYear || normalized.weekNumber;
17556
+ var tsNow = Settings.now(), offsetProvis = !isUndefined$1(opts.specificOffset) ? opts.specificOffset : zoneToUse.offset(tsNow), containsOrdinal = !isUndefined$1(normalized.ordinal), containsGregorYear = !isUndefined$1(normalized.year), containsGregorMD = !isUndefined$1(normalized.month) || !isUndefined$1(normalized.day), containsGregor = containsGregorYear || containsGregorMD, definiteWeekDef = normalized.weekYear || normalized.weekNumber;
17334
17557
  // cases:
17335
17558
  // just a weekday -> this week's instance of that weekday, no worries
17336
17559
  // (gregorian data or ordinal) + (weekYear or weekNumber) -> error
@@ -17364,7 +17587,7 @@ var DateTime = /*#__PURE__*/ function() {
17364
17587
  for(var _iterator = units[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
17365
17588
  var u = _step.value;
17366
17589
  var v = normalized[u];
17367
- if (!isUndefined(v)) {
17590
+ if (!isUndefined$1(v)) {
17368
17591
  foundFirst = true;
17369
17592
  } else if (foundFirst) {
17370
17593
  normalized[u] = defaultValues[u];
@@ -17402,6 +17625,9 @@ var DateTime = /*#__PURE__*/ function() {
17402
17625
  if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) {
17403
17626
  return DateTime.invalid("mismatched weekday", "you can't specify both a weekday of ".concat(normalized.weekday, " and a date of ").concat(inst.toISO()));
17404
17627
  }
17628
+ if (!inst.isValid) {
17629
+ return DateTime.invalid(inst.invalid);
17630
+ }
17405
17631
  return inst;
17406
17632
  }
17407
17633
  },
@@ -17416,6 +17642,7 @@ var DateTime = /*#__PURE__*/ function() {
17416
17642
  * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance
17417
17643
  * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance
17418
17644
  * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance
17645
+ * @param {string} [opts.weekSettings] - the week settings to set on the resulting DateTime instance
17419
17646
  * @example DateTime.fromISO('2016-05-25T09:08:34.123')
17420
17647
  * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')
17421
17648
  * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})
@@ -17439,6 +17666,7 @@ var DateTime = /*#__PURE__*/ function() {
17439
17666
  * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance
17440
17667
  * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
17441
17668
  * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance
17669
+ * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance
17442
17670
  * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')
17443
17671
  * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')
17444
17672
  * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')
@@ -17461,6 +17689,7 @@ var DateTime = /*#__PURE__*/ function() {
17461
17689
  * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance
17462
17690
  * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
17463
17691
  * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance
17692
+ * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance
17464
17693
  * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')
17465
17694
  * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')
17466
17695
  * @example DateTime.fromHTTP('Sun Nov 6 08:49:37 1994')
@@ -17483,11 +17712,12 @@ var DateTime = /*#__PURE__*/ function() {
17483
17712
  * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one
17484
17713
  * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale
17485
17714
  * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system
17715
+ * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance
17486
17716
  * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
17487
17717
  * @return {DateTime}
17488
17718
  */ function fromFormat(text, fmt) {
17489
17719
  var opts = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
17490
- if (isUndefined(text) || isUndefined(fmt)) {
17720
+ if (isUndefined$1(text) || isUndefined$1(fmt)) {
17491
17721
  throw new InvalidArgumentError("fromFormat requires an input string and a format");
17492
17722
  }
17493
17723
  var _opts_locale = opts.locale, locale = _opts_locale === void 0 ? null : _opts_locale, _opts_numberingSystem = opts.numberingSystem, numberingSystem = _opts_numberingSystem === void 0 ? null : _opts_numberingSystem, localeToUse = Locale.fromOpts({
@@ -17522,6 +17752,7 @@ var DateTime = /*#__PURE__*/ function() {
17522
17752
  * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one
17523
17753
  * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale
17524
17754
  * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system
17755
+ * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance
17525
17756
  * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
17526
17757
  * @example DateTime.fromSQL('2017-05-15')
17527
17758
  * @example DateTime.fromSQL('2017-05-15 09:12:34')
@@ -17550,7 +17781,7 @@ var DateTime = /*#__PURE__*/ function() {
17550
17781
  if (!reason) {
17551
17782
  throw new InvalidArgumentError("need to specify a reason the DateTime is invalid");
17552
17783
  }
17553
- var invalid = _instanceof$4(reason, Invalid) ? reason : new Invalid(reason, explanation);
17784
+ var invalid = _instanceof$5(reason, Invalid) ? reason : new Invalid(reason, explanation);
17554
17785
  if (Settings.throwOnInvalid) {
17555
17786
  throw new InvalidDateTimeError(invalid);
17556
17787
  } else {
@@ -17601,6 +17832,13 @@ var DateTime = /*#__PURE__*/ function() {
17601
17832
  }).join("");
17602
17833
  }
17603
17834
  },
17835
+ {
17836
+ key: "resetCache",
17837
+ value: function resetCache() {
17838
+ zoneOffsetTs = undefined;
17839
+ zoneOffsetGuessCache = {};
17840
+ }
17841
+ },
17604
17842
  {
17605
17843
  key: "min",
17606
17844
  value: /**
@@ -17665,6 +17903,61 @@ var DateTime = /*#__PURE__*/ function() {
17665
17903
  return DateTime.fromFormatExplain(text, fmt, options);
17666
17904
  }
17667
17905
  },
17906
+ {
17907
+ key: "buildFormatParser",
17908
+ value: /**
17909
+ * Build a parser for `fmt` using the given locale. This parser can be passed
17910
+ * to {@link DateTime.fromFormatParser} to a parse a date in this format. This
17911
+ * can be used to optimize cases where many dates need to be parsed in a
17912
+ * specific format.
17913
+ *
17914
+ * @param {String} fmt - the format the string is expected to be in (see
17915
+ * description)
17916
+ * @param {Object} options - options used to set locale and numberingSystem
17917
+ * for parser
17918
+ * @returns {TokenParser} - opaque object to be used
17919
+ */ function buildFormatParser(fmt) {
17920
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
17921
+ var _options_locale = options.locale, locale = _options_locale === void 0 ? null : _options_locale, _options_numberingSystem = options.numberingSystem, numberingSystem = _options_numberingSystem === void 0 ? null : _options_numberingSystem, localeToUse = Locale.fromOpts({
17922
+ locale: locale,
17923
+ numberingSystem: numberingSystem,
17924
+ defaultToEN: true
17925
+ });
17926
+ return new TokenParser(localeToUse, fmt);
17927
+ }
17928
+ },
17929
+ {
17930
+ key: "fromFormatParser",
17931
+ value: /**
17932
+ * Create a DateTime from an input string and format parser.
17933
+ *
17934
+ * The format parser must have been created with the same locale as this call.
17935
+ *
17936
+ * @param {String} text - the string to parse
17937
+ * @param {TokenParser} formatParser - parser from {@link DateTime.buildFormatParser}
17938
+ * @param {Object} opts - options taken by fromFormat()
17939
+ * @returns {DateTime}
17940
+ */ function fromFormatParser(text, formatParser) {
17941
+ var opts = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
17942
+ if (isUndefined$1(text) || isUndefined$1(formatParser)) {
17943
+ throw new InvalidArgumentError("fromFormatParser requires an input string and a format parser");
17944
+ }
17945
+ var _opts_locale = opts.locale, locale = _opts_locale === void 0 ? null : _opts_locale, _opts_numberingSystem = opts.numberingSystem, numberingSystem = _opts_numberingSystem === void 0 ? null : _opts_numberingSystem, localeToUse = Locale.fromOpts({
17946
+ locale: locale,
17947
+ numberingSystem: numberingSystem,
17948
+ defaultToEN: true
17949
+ });
17950
+ if (!localeToUse.equals(formatParser.locale)) {
17951
+ throw new InvalidArgumentError("fromFormatParser called with a locale of ".concat(localeToUse, ", ") + "but the format parser was created for ".concat(formatParser.locale));
17952
+ }
17953
+ var _formatParser_explainFromTokens = formatParser.explainFromTokens(text), result = _formatParser_explainFromTokens.result, zone = _formatParser_explainFromTokens.zone, specificOffset = _formatParser_explainFromTokens.specificOffset, invalidReason = _formatParser_explainFromTokens.invalidReason;
17954
+ if (invalidReason) {
17955
+ return DateTime.invalid(invalidReason);
17956
+ } else {
17957
+ return parseDataToDateTime(result, zone, opts, "format ".concat(formatParser.format), text, specificOffset);
17958
+ }
17959
+ }
17960
+ },
17668
17961
  {
17669
17962
  key: "DATE_SHORT",
17670
17963
  get: // FORMAT PRESETS
@@ -17935,7 +18228,7 @@ function _inherits$2(subClass, superClass) {
17935
18228
  });
17936
18229
  if (superClass) _set_prototype_of$2(subClass, superClass);
17937
18230
  }
17938
- function _instanceof$3(left, right) {
18231
+ function _instanceof$4(left, right) {
17939
18232
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
17940
18233
  return !!right[Symbol.hasInstance](left);
17941
18234
  } else {
@@ -18864,14 +19157,14 @@ function resolveNode(node, pos, side, overlays) {
18864
19157
  var _a;
18865
19158
  // Move up to a node that actually holds the position, if possible
18866
19159
  while(node.from == node.to || (side < 1 ? node.from >= pos : node.from > pos) || (side > -1 ? node.to <= pos : node.to < pos)){
18867
- var parent = !overlays && _instanceof$3(node, TreeNode) && node.index < 0 ? null : node.parent;
19160
+ var parent = !overlays && _instanceof$4(node, TreeNode) && node.index < 0 ? null : node.parent;
18868
19161
  if (!parent) return node;
18869
19162
  node = parent;
18870
19163
  }
18871
19164
  var mode = overlays ? 0 : IterMode.IgnoreOverlays;
18872
19165
  // Must go up out of overlays when those do not overlap with pos
18873
19166
  if (overlays) for(var scan = node, parent1 = scan.parent; parent1; scan = parent1, parent1 = scan.parent){
18874
- if (_instanceof$3(scan, TreeNode) && scan.index < 0 && ((_a = parent1.enter(pos, side, mode)) === null || _a === void 0 ? void 0 : _a.from) != scan.from) node = parent1;
19167
+ if (_instanceof$4(scan, TreeNode) && scan.index < 0 && ((_a = parent1.enter(pos, side, mode)) === null || _a === void 0 ? void 0 : _a.from) != scan.from) node = parent1;
18875
19168
  }
18876
19169
  for(;;){
18877
19170
  var inner = node.enter(pos, side, mode);
@@ -18923,7 +19216,7 @@ var BaseNode = /*#__PURE__*/ function() {
18923
19216
  {
18924
19217
  key: "matchContext",
18925
19218
  value: function matchContext(context) {
18926
- return matchNodeContext(this, context);
19219
+ return matchNodeContext(this.parent, context);
18927
19220
  }
18928
19221
  },
18929
19222
  {
@@ -18999,7 +19292,7 @@ var TreeNode = /*#__PURE__*/ function(BaseNode) {
18999
19292
  for(var _parent__tree = parent._tree, children = _parent__tree.children, positions = _parent__tree.positions, e = dir > 0 ? children.length : -1; i != e; i += dir){
19000
19293
  var next = children[i], start = positions[i] + parent.from;
19001
19294
  if (!checkSide(side, pos, start, start + next.length)) continue;
19002
- if (_instanceof$3(next, TreeBuffer)) {
19295
+ if (_instanceof$4(next, TreeBuffer)) {
19003
19296
  if (mode & IterMode.ExcludeBuffers) continue;
19004
19297
  var index = next.findChild(0, next.buffer.length, dir, pos - start, side);
19005
19298
  if (index > -1) return new BufferNode(new BufferContext(parent, next, i, start), null, index);
@@ -19137,7 +19430,7 @@ function getChildren(node, type, before, after) {
19137
19430
  }
19138
19431
  function matchNodeContext(node, context) {
19139
19432
  var i = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : context.length - 1;
19140
- for(var p = node.parent; i >= 0; p = p.parent){
19433
+ for(var p = node; i >= 0; p = p.parent){
19141
19434
  if (!p) return false;
19142
19435
  if (!p.type.isAnonymous) {
19143
19436
  if (context[i] && context[i] != p.name) return false;
@@ -19298,7 +19591,7 @@ function iterStack(heads) {
19298
19591
  pick = i;
19299
19592
  }
19300
19593
  }
19301
- var next = _instanceof$3(picked, TreeNode) && picked.index < 0 ? null : picked.parent;
19594
+ var next = _instanceof$4(picked, TreeNode) && picked.index < 0 ? null : picked.parent;
19302
19595
  var newHeads = heads.slice();
19303
19596
  if (next) newHeads[pick] = next;
19304
19597
  else newHeads.splice(pick, 1);
@@ -19322,7 +19615,7 @@ var StackIterator = /*#__PURE__*/ function() {
19322
19615
  }();
19323
19616
  function stackIterator(tree, pos, side) {
19324
19617
  var inner = tree.resolveInner(pos, side), layers = null;
19325
- for(var scan = _instanceof$3(inner, TreeNode) ? inner : inner.context.parent; scan; scan = scan.parent){
19618
+ for(var scan = _instanceof$4(inner, TreeNode) ? inner : inner.context.parent; scan; scan = scan.parent){
19326
19619
  if (scan.index < 0) {
19327
19620
  var parent = scan.parent;
19328
19621
  (layers || (layers = [
@@ -19360,7 +19653,7 @@ allows you to move to adjacent nodes.
19360
19653
  @internal
19361
19654
  */ this.index = 0;
19362
19655
  this.bufferNode = null;
19363
- if (_instanceof$3(node, TreeNode)) {
19656
+ if (_instanceof$4(node, TreeNode)) {
19364
19657
  this.yieldNode(node);
19365
19658
  } else {
19366
19659
  this._tree = node.context.parent;
@@ -19407,7 +19700,7 @@ allows you to move to adjacent nodes.
19407
19700
  */ key: "yield",
19408
19701
  value: function _yield(node) {
19409
19702
  if (!node) return false;
19410
- if (_instanceof$3(node, TreeNode)) {
19703
+ if (_instanceof$4(node, TreeNode)) {
19411
19704
  this.buffer = null;
19412
19705
  return this.yieldNode(node);
19413
19706
  }
@@ -19548,7 +19841,7 @@ allows you to move to adjacent nodes.
19548
19841
  for(; parent; ref2 = parent, index = ref2.index, parent = ref2._parent, ref2){
19549
19842
  if (index > -1) for(var i1 = index + dir, e = dir < 0 ? -1 : parent._tree.children.length; i1 != e; i1 += dir){
19550
19843
  var child = parent._tree.children[i1];
19551
- if (this.mode & IterMode.IncludeAnonymous || _instanceof$3(child, TreeBuffer) || !child.type.isAnonymous || hasChild(child)) return false;
19844
+ if (this.mode & IterMode.IncludeAnonymous || _instanceof$4(child, TreeBuffer) || !child.type.isAnonymous || hasChild(child)) return false;
19552
19845
  }
19553
19846
  }
19554
19847
  return true;
@@ -19579,7 +19872,7 @@ allows you to move to adjacent nodes.
19579
19872
  },
19580
19873
  {
19581
19874
  /**
19582
- Move to the next node in a last-to-first pre-order traveral. A
19875
+ Move to the next node in a last-to-first pre-order traversal. A
19583
19876
  node is followed by its last child or, if it has none, its
19584
19877
  previous sibling or the previous sibling of the first parent
19585
19878
  node that has one.
@@ -19657,8 +19950,8 @@ allows you to move to adjacent nodes.
19657
19950
  for(;;){
19658
19951
  if (mustLeave && leave) leave(this);
19659
19952
  mustLeave = this.type.isAnonymous;
19660
- if (this.nextSibling()) break;
19661
19953
  if (!depth) return;
19954
+ if (this.nextSibling()) break;
19662
19955
  this.parent();
19663
19956
  depth--;
19664
19957
  mustLeave = true;
@@ -19673,10 +19966,10 @@ allows you to move to adjacent nodes.
19673
19966
  are treated as wildcards.
19674
19967
  */ key: "matchContext",
19675
19968
  value: function matchContext(context) {
19676
- if (!this.buffer) return matchNodeContext(this.node, context);
19969
+ if (!this.buffer) return matchNodeContext(this.node.parent, context);
19677
19970
  var buffer = this.buffer.buffer, types = buffer.set.types;
19678
19971
  for(var i = context.length - 1, d = this.stack.length - 1; i >= 0; d--){
19679
- if (d < 0) return matchNodeContext(this.node, context, i);
19972
+ if (d < 0) return matchNodeContext(this._tree, context, i);
19680
19973
  var type = types[buffer.buffer[this.stack[d]]];
19681
19974
  if (!type.isAnonymous) {
19682
19975
  if (context[i] && context[i] != type.name) return false;
@@ -19691,7 +19984,7 @@ allows you to move to adjacent nodes.
19691
19984
  }();
19692
19985
  function hasChild(tree) {
19693
19986
  return tree.children.some(function(ch) {
19694
- return _instanceof$3(ch, TreeBuffer) || !ch.type.isAnonymous || hasChild(ch);
19987
+ return _instanceof$4(ch, TreeBuffer) || !ch.type.isAnonymous || hasChild(ch);
19695
19988
  });
19696
19989
  }
19697
19990
  function buildTree(data) {
@@ -19702,7 +19995,7 @@ function buildTree(data) {
19702
19995
  var contextHash = 0, lookAhead = 0;
19703
19996
  function takeNode(parentStart, minPos, children, positions, inRepeat, depth) {
19704
19997
  var id = cursor.id, start = cursor.start, end = cursor.end, size = cursor.size;
19705
- var lookAheadAtStart = lookAhead;
19998
+ var lookAheadAtStart = lookAhead, contextAtStart = contextHash;
19706
19999
  while(size < 0){
19707
20000
  cursor.next();
19708
20001
  if (size == -1 /* SpecialRecord.Reuse */ ) {
@@ -19738,7 +20031,7 @@ function buildTree(data) {
19738
20031
  while(cursor.pos > endPos1){
19739
20032
  if (localInRepeat >= 0 && cursor.id == localInRepeat && cursor.size >= 0) {
19740
20033
  if (cursor.end <= lastEnd - maxBufferLength) {
19741
- makeRepeatLeaf(localChildren, localPositions, start, lastGroup, cursor.end, lastEnd, localInRepeat, lookAheadAtStart);
20034
+ makeRepeatLeaf(localChildren, localPositions, start, lastGroup, cursor.end, lastEnd, localInRepeat, lookAheadAtStart, contextAtStart);
19742
20035
  lastGroup = localChildren.length;
19743
20036
  lastEnd = cursor.end;
19744
20037
  }
@@ -19749,14 +20042,14 @@ function buildTree(data) {
19749
20042
  takeNode(start, endPos1, localChildren, localPositions, localInRepeat, depth + 1);
19750
20043
  }
19751
20044
  }
19752
- if (localInRepeat >= 0 && lastGroup > 0 && lastGroup < localChildren.length) makeRepeatLeaf(localChildren, localPositions, start, lastGroup, start, lastEnd, localInRepeat, lookAheadAtStart);
20045
+ if (localInRepeat >= 0 && lastGroup > 0 && lastGroup < localChildren.length) makeRepeatLeaf(localChildren, localPositions, start, lastGroup, start, lastEnd, localInRepeat, lookAheadAtStart, contextAtStart);
19753
20046
  localChildren.reverse();
19754
20047
  localPositions.reverse();
19755
20048
  if (localInRepeat > -1 && lastGroup > 0) {
19756
- var make = makeBalanced(type);
20049
+ var make = makeBalanced(type, contextAtStart);
19757
20050
  node1 = balanceRange(type, localChildren, localPositions, 0, localChildren.length, 0, end - start, make, make);
19758
20051
  } else {
19759
- node1 = makeTree(type, localChildren, localPositions, end - start, lookAheadAtStart - end);
20052
+ node1 = makeTree(type, localChildren, localPositions, end - start, lookAheadAtStart - end, contextAtStart);
19760
20053
  }
19761
20054
  }
19762
20055
  children.push(node1);
@@ -19791,27 +20084,26 @@ function buildTree(data) {
19791
20084
  positions.push(start1 - parentStart);
19792
20085
  }
19793
20086
  }
19794
- function makeBalanced(type) {
20087
+ function makeBalanced(type, contextHash) {
19795
20088
  return function(children, positions, length) {
19796
20089
  var lookAhead = 0, lastI = children.length - 1, last, lookAheadProp;
19797
- if (lastI >= 0 && _instanceof$3(last = children[lastI], Tree)) {
20090
+ if (lastI >= 0 && _instanceof$4(last = children[lastI], Tree)) {
19798
20091
  if (!lastI && last.type == type && last.length == length) return last;
19799
20092
  if (lookAheadProp = last.prop(NodeProp.lookAhead)) lookAhead = positions[lastI] + last.length + lookAheadProp;
19800
20093
  }
19801
- return makeTree(type, children, positions, length, lookAhead);
20094
+ return makeTree(type, children, positions, length, lookAhead, contextHash);
19802
20095
  };
19803
20096
  }
19804
- function makeRepeatLeaf(children, positions, base, i, from, to, type, lookAhead) {
20097
+ function makeRepeatLeaf(children, positions, base, i, from, to, type, lookAhead, contextHash) {
19805
20098
  var localChildren = [], localPositions = [];
19806
20099
  while(children.length > i){
19807
20100
  localChildren.push(children.pop());
19808
20101
  localPositions.push(positions.pop() + base - from);
19809
20102
  }
19810
- children.push(makeTree(nodeSet.types[type], localChildren, localPositions, to - from, lookAhead - to));
20103
+ children.push(makeTree(nodeSet.types[type], localChildren, localPositions, to - from, lookAhead - to, contextHash));
19811
20104
  positions.push(from - base);
19812
20105
  }
19813
- function makeTree(type, children, positions, length) {
19814
- var lookAhead = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 0, props = arguments.length > 5 ? arguments[5] : void 0;
20106
+ function makeTree(type, children, positions, length, lookAhead, contextHash, props) {
19815
20107
  if (contextHash) {
19816
20108
  var pair = [
19817
20109
  NodeProp.contextHash,
@@ -19916,7 +20208,7 @@ function buildTree(data) {
19916
20208
  }
19917
20209
  var nodeSizeCache = new WeakMap;
19918
20210
  function nodeSize(balanceType, node) {
19919
- if (!balanceType.isAnonymous || _instanceof$3(node, TreeBuffer) || node.type != balanceType) return 1;
20211
+ if (!balanceType.isAnonymous || _instanceof$4(node, TreeBuffer) || node.type != balanceType) return 1;
19920
20212
  var size = nodeSizeCache.get(node);
19921
20213
  if (size == null) {
19922
20214
  size = 1;
@@ -19924,7 +20216,7 @@ function nodeSize(balanceType, node) {
19924
20216
  try {
19925
20217
  for(var _iterator = node.children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
19926
20218
  var child = _step.value;
19927
- if (child.type != balanceType || !_instanceof$3(child, Tree)) {
20219
+ if (child.type != balanceType || !_instanceof$4(child, Tree)) {
19928
20220
  size = 1;
19929
20221
  break;
19930
20222
  }
@@ -20123,7 +20415,7 @@ function _inherits$1(subClass, superClass) {
20123
20415
  });
20124
20416
  if (superClass) _set_prototype_of$1(subClass, superClass);
20125
20417
  }
20126
- function _instanceof$2(left, right) {
20418
+ function _instanceof$3(left, right) {
20127
20419
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
20128
20420
  return !!right[Symbol.hasInstance](left);
20129
20421
  } else {
@@ -20322,14 +20614,15 @@ about the parse state.
20322
20614
  var _a;
20323
20615
  var depth = action >> 19 /* Action.ReduceDepthShift */ , type = action & 65535 /* Action.ValueMask */ ;
20324
20616
  var parser = this.p.parser;
20325
- if (this.reducePos < this.pos - 25 /* Lookahead.Margin */ ) this.setLookAhead(this.pos);
20617
+ var lookaheadRecord = this.reducePos < this.pos - 25 /* Lookahead.Margin */ ;
20618
+ if (lookaheadRecord) this.setLookAhead(this.pos);
20326
20619
  var dPrec = parser.dynamicPrecedence(type);
20327
20620
  if (dPrec) this.score += dPrec;
20328
20621
  if (depth == 0) {
20329
20622
  this.pushState(parser.getGoto(this.state, type, true), this.reducePos);
20330
20623
  // Zero-depth reductions are a special case—they add stuff to
20331
20624
  // the stack without popping anything off.
20332
- if (type < parser.minRepeatTerm) this.storeNode(type, this.reducePos, this.reducePos, 4, true);
20625
+ if (type < parser.minRepeatTerm) this.storeNode(type, this.reducePos, this.reducePos, lookaheadRecord ? 8 : 4, true);
20333
20626
  this.reduceContext(type, this.reducePos);
20334
20627
  return;
20335
20628
  }
@@ -20375,7 +20668,7 @@ about the parse state.
20375
20668
  @internal
20376
20669
  */ key: "storeNode",
20377
20670
  value: function storeNode(term, start, end) {
20378
- var size = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 4, isReduce = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : false;
20671
+ var size = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 4, mustSink = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : false;
20379
20672
  if (term == 0 /* Term.Err */ && (!this.stack.length || this.stack[this.stack.length - 1] < this.buffer.length + this.bufferBase)) {
20380
20673
  // Try to omit/merge adjacent error nodes
20381
20674
  var cur = this, top = this.buffer.length;
@@ -20391,18 +20684,27 @@ about the parse state.
20391
20684
  }
20392
20685
  }
20393
20686
  }
20394
- if (!isReduce || this.pos == end) {
20687
+ if (!mustSink || this.pos == end) {
20395
20688
  this.buffer.push(term, start, end, size);
20396
20689
  } else {
20397
20690
  var index = this.buffer.length;
20398
- if (index > 0 && this.buffer[index - 4] != 0 /* Term.Err */ ) while(index > 0 && this.buffer[index - 2] > end){
20399
- // Move this record forward
20400
- this.buffer[index] = this.buffer[index - 4];
20401
- this.buffer[index + 1] = this.buffer[index - 3];
20402
- this.buffer[index + 2] = this.buffer[index - 2];
20403
- this.buffer[index + 3] = this.buffer[index - 1];
20404
- index -= 4;
20405
- if (size > 4) size -= 4;
20691
+ if (index > 0 && this.buffer[index - 4] != 0 /* Term.Err */ ) {
20692
+ var mustMove = false;
20693
+ for(var scan = index; scan > 0 && this.buffer[scan - 2] > end; scan -= 4){
20694
+ if (this.buffer[scan - 1] >= 0) {
20695
+ mustMove = true;
20696
+ break;
20697
+ }
20698
+ }
20699
+ if (mustMove) while(index > 0 && this.buffer[index - 2] > end){
20700
+ // Move this record forward
20701
+ this.buffer[index] = this.buffer[index - 4];
20702
+ this.buffer[index + 1] = this.buffer[index - 3];
20703
+ this.buffer[index + 2] = this.buffer[index - 2];
20704
+ this.buffer[index + 3] = this.buffer[index - 1];
20705
+ index -= 4;
20706
+ if (size > 4) size -= 4;
20707
+ }
20406
20708
  }
20407
20709
  this.buffer[index] = term;
20408
20710
  this.buffer[index + 1] = start;
@@ -21343,7 +21645,7 @@ var FragmentCursor = /*#__PURE__*/ function() {
21343
21645
  this.nextStart = start;
21344
21646
  return null;
21345
21647
  }
21346
- if (_instanceof$2(next, Tree)) {
21648
+ if (_instanceof$3(next, Tree)) {
21347
21649
  if (start == pos) {
21348
21650
  if (start < this.safeFrom) return null;
21349
21651
  var end = start + next.length;
@@ -21646,9 +21948,9 @@ var Parse = /*#__PURE__*/ function() {
21646
21948
  if (verbose) console.log(base + this.stackID(stack) + " (via reuse of ".concat(parser.getName(cached.type.id), ")"));
21647
21949
  return true;
21648
21950
  }
21649
- if (!_instanceof$2(cached, Tree) || cached.children.length == 0 || cached.positions[0] > 0) break;
21951
+ if (!_instanceof$3(cached, Tree) || cached.children.length == 0 || cached.positions[0] > 0) break;
21650
21952
  var inner = cached.children[0];
21651
- if (_instanceof$2(inner, Tree) && cached.positions[0] == 0) cached = inner;
21953
+ if (_instanceof$3(inner, Tree) && cached.positions[0] == 0) cached = inner;
21652
21954
  else break;
21653
21955
  }
21654
21956
  }
@@ -22239,6 +22541,76 @@ function getSpecializer(spec) {
22239
22541
  return spec.get;
22240
22542
  }
22241
22543
 
22544
+ var nativeToString = Object.prototype.toString;
22545
+ var nativeHasOwnProperty = Object.prototype.hasOwnProperty;
22546
+ function isUndefined(obj) {
22547
+ return obj === undefined;
22548
+ }
22549
+ function isNil(obj) {
22550
+ return obj == null;
22551
+ }
22552
+ function isArray$1(obj) {
22553
+ return nativeToString.call(obj) === "[object Array]";
22554
+ }
22555
+ /**
22556
+ * Return true, if target owns a property with the given key.
22557
+ *
22558
+ * @param {Object} target
22559
+ * @param {String} key
22560
+ *
22561
+ * @return {Boolean}
22562
+ */ function has(target, key) {
22563
+ return !isNil(target) && nativeHasOwnProperty.call(target, key);
22564
+ }
22565
+ /**
22566
+ * Iterate over collection; returning something
22567
+ * (non-undefined) will stop iteration.
22568
+ *
22569
+ * @template T
22570
+ * @param {Collection<T>} collection
22571
+ * @param { ((item: T, idx: number) => (boolean|void)) | ((item: T, key: string) => (boolean|void)) } iterator
22572
+ *
22573
+ * @return {T} return result that stopped the iteration
22574
+ */ function forEach(collection, iterator) {
22575
+ var val, result;
22576
+ if (isUndefined(collection)) {
22577
+ return;
22578
+ }
22579
+ var convertKey = isArray$1(collection) ? toNum : identity;
22580
+ for(var key in collection){
22581
+ if (has(collection, key)) {
22582
+ val = collection[key];
22583
+ result = iterator(val, convertKey(key));
22584
+ if (result === false) {
22585
+ return val;
22586
+ }
22587
+ }
22588
+ }
22589
+ }
22590
+ /**
22591
+ * Reduce collection, returning a single result.
22592
+ *
22593
+ * @template T
22594
+ * @template V
22595
+ *
22596
+ * @param {Collection<T>} collection
22597
+ * @param {(result: V, entry: T, index: any) => V} iterator
22598
+ * @param {V} result
22599
+ *
22600
+ * @return {V} result returned from last iterator
22601
+ */ function reduce(collection, iterator, result) {
22602
+ forEach(collection, function(value, idx) {
22603
+ result = iterator(result, value, idx);
22604
+ });
22605
+ return result;
22606
+ }
22607
+ function identity(arg) {
22608
+ return arg;
22609
+ }
22610
+ function toNum(arg) {
22611
+ return Number(arg);
22612
+ }
22613
+
22242
22614
  function _class_call_check$2(instance, Constructor) {
22243
22615
  if (!(instance instanceof Constructor)) {
22244
22616
  throw new TypeError("Cannot call a class as a function");
@@ -22258,6 +22630,13 @@ function _create_class$2(Constructor, protoProps, staticProps) {
22258
22630
  if (staticProps) _defineProperties$2(Constructor, staticProps);
22259
22631
  return Constructor;
22260
22632
  }
22633
+ function _instanceof$2(left, right) {
22634
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
22635
+ return !!right[Symbol.hasInstance](left);
22636
+ } else {
22637
+ return left instanceof right;
22638
+ }
22639
+ }
22261
22640
  var nextTagID = 0;
22262
22641
  /**
22263
22642
  Highlighting tags are markers that denote a highlighting category.
@@ -22279,6 +22658,8 @@ be picked up by regular highlighters (though you can derive them
22279
22658
  from standard tags to allow highlighters to fall back to those).
22280
22659
  */ var Tag = /*#__PURE__*/ function() {
22281
22660
  function Tag(/**
22661
+ The optional name of the base tag @internal
22662
+ */ name, /**
22282
22663
  The set of this tag and all its parent tags, starting with
22283
22664
  this one itself and sorted in order of decreasing specificity.
22284
22665
  */ set, /**
@@ -22288,6 +22669,7 @@ from standard tags to allow highlighters to fall back to those).
22288
22669
  The modifiers applied to this.base @internal
22289
22670
  */ modified) {
22290
22671
  _class_call_check$2(this, Tag);
22672
+ this.name = name;
22291
22673
  this.set = set;
22292
22674
  this.base = base;
22293
22675
  this.modified = modified;
@@ -22295,18 +22677,42 @@ from standard tags to allow highlighters to fall back to those).
22295
22677
  @internal
22296
22678
  */ this.id = nextTagID++;
22297
22679
  }
22298
- _create_class$2(Tag, null, [
22680
+ _create_class$2(Tag, [
22681
+ {
22682
+ key: "toString",
22683
+ value: function toString() {
22684
+ var name = this.name;
22685
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
22686
+ try {
22687
+ for(var _iterator = this.modified[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
22688
+ var mod = _step.value;
22689
+ if (mod.name) name = "".concat(mod.name, "(").concat(name, ")");
22690
+ }
22691
+ } catch (err) {
22692
+ _didIteratorError = true;
22693
+ _iteratorError = err;
22694
+ } finally{
22695
+ try {
22696
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
22697
+ _iterator.return();
22698
+ }
22699
+ } finally{
22700
+ if (_didIteratorError) {
22701
+ throw _iteratorError;
22702
+ }
22703
+ }
22704
+ }
22705
+ return name;
22706
+ }
22707
+ }
22708
+ ], [
22299
22709
  {
22300
22710
  key: "define",
22301
- value: /**
22302
- Define a new tag. If `parent` is given, the tag is treated as a
22303
- sub-tag of that parent, and
22304
- [highlighters](#highlight.tagHighlighter) that don't mention
22305
- this tag will try to fall back to the parent tag (or grandparent
22306
- tag, etc).
22307
- */ function define(parent) {
22711
+ value: function define(nameOrParent, parent) {
22712
+ var name = typeof nameOrParent == "string" ? nameOrParent : "?";
22713
+ if (_instanceof$2(nameOrParent, Tag)) parent = nameOrParent;
22308
22714
  if (parent === null || parent === void 0 ? void 0 : parent.base) throw new Error("Can not derive from a modified tag");
22309
- var tag = new Tag([], null, []);
22715
+ var tag = new Tag(name, [], null, []);
22310
22716
  tag.set.push(tag);
22311
22717
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
22312
22718
  if (parent) try {
@@ -22344,8 +22750,8 @@ from standard tags to allow highlighters to fall back to those).
22344
22750
  smaller set of modifiers is registered as a parent, so that for
22345
22751
  example `m1(m2(m3(t1)))` is a subtype of `m1(m2(t1))`,
22346
22752
  `m1(m3(t1)`, and so on.
22347
- */ function defineModifier() {
22348
- var mod = new Modifier;
22753
+ */ function defineModifier(name) {
22754
+ var mod = new Modifier(name);
22349
22755
  return function(tag) {
22350
22756
  if (tag.modified.indexOf(mod) > -1) return tag;
22351
22757
  return Modifier.get(tag.base || tag, tag.modified.concat(mod).sort(function(a, b) {
@@ -22359,8 +22765,9 @@ from standard tags to allow highlighters to fall back to those).
22359
22765
  }();
22360
22766
  var nextModifierID = 0;
22361
22767
  var Modifier = /*#__PURE__*/ function() {
22362
- function Modifier() {
22768
+ function Modifier(name) {
22363
22769
  _class_call_check$2(this, Modifier);
22770
+ this.name = name;
22364
22771
  this.instances = [];
22365
22772
  this.id = nextModifierID++;
22366
22773
  }
@@ -22373,7 +22780,7 @@ var Modifier = /*#__PURE__*/ function() {
22373
22780
  return t.base == base && sameArray(mods, t.modified);
22374
22781
  });
22375
22782
  if (exists) return exists;
22376
- var set = [], tag = new Tag(set, base, mods);
22783
+ var set = [], tag = new Tag(base.name, set, base, mods);
22377
22784
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
22378
22785
  try {
22379
22786
  for(var _iterator = mods[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
@@ -22919,7 +23326,7 @@ the parent.
22919
23326
  A level 6 [heading](#highlight.tags.heading).
22920
23327
  */ heading6: t(heading),
22921
23328
  /**
22922
- A prose separator (such as a horizontal rule).
23329
+ A prose [content](#highlight.tags.content) separator (such as a horizontal rule).
22923
23330
  */ contentSeparator: t(content),
22924
23331
  /**
22925
23332
  [Content](#highlight.tags.content) that represents a list.
@@ -22975,27 +23382,27 @@ the parent.
22975
23382
  [Modifier](#highlight.Tag^defineModifier) that indicates that a
22976
23383
  given element is being defined. Expected to be used with the
22977
23384
  various [name](#highlight.tags.name) tags.
22978
- */ definition: Tag.defineModifier(),
23385
+ */ definition: Tag.defineModifier("definition"),
22979
23386
  /**
22980
23387
  [Modifier](#highlight.Tag^defineModifier) that indicates that
22981
23388
  something is constant. Mostly expected to be used with
22982
23389
  [variable names](#highlight.tags.variableName).
22983
- */ constant: Tag.defineModifier(),
23390
+ */ constant: Tag.defineModifier("constant"),
22984
23391
  /**
22985
23392
  [Modifier](#highlight.Tag^defineModifier) used to indicate that
22986
23393
  a [variable](#highlight.tags.variableName) or [property
22987
23394
  name](#highlight.tags.propertyName) is being called or defined
22988
23395
  as a function.
22989
- */ function: Tag.defineModifier(),
23396
+ */ function: Tag.defineModifier("function"),
22990
23397
  /**
22991
23398
  [Modifier](#highlight.Tag^defineModifier) that can be applied to
22992
23399
  [names](#highlight.tags.name) to indicate that they belong to
22993
23400
  the language's standard environment.
22994
- */ standard: Tag.defineModifier(),
23401
+ */ standard: Tag.defineModifier("standard"),
22995
23402
  /**
22996
23403
  [Modifier](#highlight.Tag^defineModifier) that indicates a given
22997
23404
  [names](#highlight.tags.name) is local to some scope.
22998
- */ local: Tag.defineModifier(),
23405
+ */ local: Tag.defineModifier("local"),
22999
23406
  /**
23000
23407
  A generic variant [modifier](#highlight.Tag^defineModifier) that
23001
23408
  can be used to tag language-specific alternative variants of
@@ -23003,8 +23410,12 @@ the parent.
23003
23410
  forms of at least the [string](#highlight.tags.string) and
23004
23411
  [variable name](#highlight.tags.variableName) tags, since those
23005
23412
  come up a lot.
23006
- */ special: Tag.defineModifier()
23413
+ */ special: Tag.defineModifier("special")
23007
23414
  };
23415
+ for(var name1 in tags){
23416
+ var val = tags[name1];
23417
+ if (_instanceof$2(val, Tag)) val.name = name1;
23418
+ }
23008
23419
  /**
23009
23420
  This is a highlighter that adds stable, predictable classes to
23010
23421
  tokens, for styling with external CSS.
@@ -23323,7 +23734,7 @@ function _unsupported_iterable_to_array$1(o, minLen) {
23323
23734
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1(o, minLen);
23324
23735
  }
23325
23736
  // This file was generated by lezer-generator. You probably shouldn't edit it.
23326
- var propertyIdentifier = 120, identifier = 121, nameIdentifier = 122, insertSemi = 123, expression0 = 127, ForExpression = 4, forExpressionStart = 130, ForInExpression = 7, Name = 8, Identifier = 9, AdditionalIdentifier = 10, forExpressionBodyStart = 138, IfExpression = 19, ifExpressionStart = 139, QuantifiedExpression = 23, quantifiedExpressionStart = 140, QuantifiedInExpression = 27, PositiveUnaryTest = 37, ArithmeticExpression = 41, arithmeticPlusStart = 144, arithmeticTimesStart = 145, arithmeticExpStart = 146, arithmeticUnaryStart = 147, VariableName = 47, PathExpression = 67, pathExpressionStart = 152, FilterExpression = 69, filterExpressionStart = 153, FunctionInvocation = 71, functionInvocationStart = 154, ParameterName = 75, nil = 159, NumericLiteral = 78, StringLiteral = 79, BooleanLiteral = 80, listStart = 165, List = 88, FunctionDefinition = 89, functionDefinitionStart = 167, Context = 96, contextStart = 169, ContextEntry = 97, PropertyName = 99, PropertyIdentifier = 100;
23737
+ var propertyIdentifier = 121, identifier = 122, nameIdentifier = 123, insertSemi = 124, expression0 = 128, ForExpression = 4, forExpressionStart = 131, ForInExpression = 7, Name = 8, Identifier = 9, AdditionalIdentifier = 10, forExpressionBodyStart = 139, IfExpression = 19, ifExpressionStart = 140, QuantifiedExpression = 23, quantifiedExpressionStart = 141, QuantifiedInExpression = 27, PositiveUnaryTest = 37, ArithmeticExpression = 41, arithmeticPlusStart = 145, arithmeticTimesStart = 146, arithmeticExpStart = 147, arithmeticUnaryStart = 148, VariableName = 47, PathExpression = 68, pathExpressionStart = 154, FilterExpression = 70, filterExpressionStart = 155, FunctionInvocation = 72, functionInvocationStart = 156, ParameterName = 76, nil = 161, NumericLiteral = 79, StringLiteral = 80, BooleanLiteral = 81, listStart = 167, List = 89, FunctionDefinition = 90, functionDefinitionStart = 169, Context = 97, contextStart = 171, ContextEntry = 98, PropertyName = 100, PropertyIdentifier = 101;
23327
23738
  /* global console,process */ // @ts-expect-error env access
23328
23739
  var LOG_PARSE = typeof process != "undefined" && process.env && /\bfparse(:dbg)?\b/.test(process.env.LOG);
23329
23740
  // @ts-expect-error env access
@@ -23399,7 +23810,6 @@ var additionalNameChars = chars$1("'./-+*^");
23399
23810
  */ function isSpace(ch) {
23400
23811
  return spaceChars.includes(ch);
23401
23812
  }
23402
- // eslint-disable-next-line
23403
23813
  function indent(str, spaces) {
23404
23814
  return spaces.concat(str.split(/\n/g).join("\n" + spaces));
23405
23815
  }
@@ -23489,14 +23899,14 @@ function indent(str, spaces) {
23489
23899
  var match = parseIdentifier(input, i1, namePart) || namePart && parseAdditionalSymbol(input, i1) || maybeSpace && parseSpaces(input, i1);
23490
23900
  // match is required
23491
23901
  if (!match) {
23492
- return i = i1, nextMatch = nextMatch1, tokens = tokens1, {
23902
+ return tokens = tokens1, nextMatch = nextMatch1, i = i1, {
23493
23903
  v: nextMatch1
23494
23904
  };
23495
23905
  }
23496
23906
  var token = match.token, offset = match.offset;
23497
23907
  i1 += offset;
23498
23908
  if (token === " ") {
23499
- return i = i1, nextMatch = nextMatch1, tokens = tokens1, "continue";
23909
+ return tokens = tokens1, nextMatch = nextMatch1, i = i1, "continue";
23500
23910
  }
23501
23911
  tokens1 = _to_consumable_array$1(tokens1).concat([
23502
23912
  token
@@ -23515,7 +23925,7 @@ function indent(str, spaces) {
23515
23925
  if (contextKeys.some(function(el) {
23516
23926
  return el.startsWith(name);
23517
23927
  })) {
23518
- return i = i1, nextMatch = nextMatch1, tokens = tokens1, "continue";
23928
+ return tokens = tokens1, nextMatch = nextMatch1, i = i1, "continue";
23519
23929
  }
23520
23930
  if (dateTimeIdentifiers.some(function(el) {
23521
23931
  return el === name;
@@ -23534,9 +23944,9 @@ function indent(str, spaces) {
23534
23944
  if (dateTimeIdentifiers.some(function(el) {
23535
23945
  return el.startsWith(name);
23536
23946
  })) {
23537
- return i = i1, nextMatch = nextMatch1, tokens = tokens1, "continue";
23947
+ return tokens = tokens1, nextMatch = nextMatch1, i = i1, "continue";
23538
23948
  }
23539
- return i = i1, nextMatch = nextMatch1, tokens = tokens1, {
23949
+ return tokens = tokens1, nextMatch = nextMatch1, i = i1, {
23540
23950
  v: nextMatch1
23541
23951
  };
23542
23952
  };
@@ -23602,7 +24012,10 @@ var _obj2;
23602
24012
  var contextStarts = (_obj2 = {}, _define_property$1(_obj2, contextStart, "Context"), _define_property$1(_obj2, functionDefinitionStart, "FunctionDefinition"), _define_property$1(_obj2, forExpressionStart, "ForExpression"), _define_property$1(_obj2, listStart, "List"), _define_property$1(_obj2, ifExpressionStart, "IfExpression"), _define_property$1(_obj2, quantifiedExpressionStart, "QuantifiedExpression"), _obj2);
23603
24013
  var _obj3;
23604
24014
  var contextEnds = (_obj3 = {}, _define_property$1(_obj3, Context, "Context"), _define_property$1(_obj3, FunctionDefinition, "FunctionDefinition"), _define_property$1(_obj3, ForExpression, "ForExpression"), _define_property$1(_obj3, List, "List"), _define_property$1(_obj3, IfExpression, "IfExpression"), _define_property$1(_obj3, QuantifiedExpression, "QuantifiedExpression"), _define_property$1(_obj3, PathExpression, "PathExpression"), _define_property$1(_obj3, FunctionInvocation, "FunctionInvocation"), _define_property$1(_obj3, FilterExpression, "FilterExpression"), _define_property$1(_obj3, ArithmeticExpression, "ArithmeticExpression"), _obj3);
23605
- var ValueProducer = /*#__PURE__*/ function() {
24015
+ /**
24016
+ * A simple producer that retrievs a value from
24017
+ * a given context. Used to lazily take things.
24018
+ */ var ValueProducer = /*#__PURE__*/ function() {
23606
24019
  function ValueProducer(fn) {
23607
24020
  _class_call_check$1(this, ValueProducer);
23608
24021
  this.fn = fn;
@@ -23688,6 +24101,20 @@ var dateTimeIdentifiers = Object.keys(dateTimeLiterals);
23688
24101
  var constructor = /** @type { typeof VariableContext } */ this.constructor;
23689
24102
  return constructor.of(_object_spread_props(_object_spread({}, this.value), _define_property$1({}, key, value)));
23690
24103
  }
24104
+ },
24105
+ {
24106
+ /**
24107
+ * Non-destructively merge another context into this one,
24108
+ * and return the result.
24109
+ *
24110
+ * @param {ContextValue} other
24111
+ *
24112
+ * @return {VariableContext}
24113
+ */ key: "merge",
24114
+ value: function merge(other) {
24115
+ var constructor = /** @type { typeof VariableContext } */ this.constructor;
24116
+ return new constructor(constructor.__merge(this.value, other));
24117
+ }
23691
24118
  }
23692
24119
  ], [
23693
24120
  {
@@ -23705,36 +24132,71 @@ var dateTimeIdentifiers = Object.keys(dateTimeLiterals);
23705
24132
  {
23706
24133
  key: "of",
23707
24134
  value: /**
23708
- * Takes any number of Contexts and merges them into a single Context.
24135
+ * Takes any number of Contexts and merges them into a single context.
23709
24136
  *
23710
- * @param {...Context} contexts
23711
- * @returns {VariableContext}
24137
+ * @param { ...VariableContext } contexts
24138
+ * @returns { VariableContext }
23712
24139
  */ function of() {
23713
- var _this = this;
23714
24140
  for(var _len = arguments.length, contexts = new Array(_len), _key = 0; _key < _len; _key++){
23715
24141
  contexts[_key] = arguments[_key];
23716
24142
  }
23717
- var unwrap = function(context) {
23718
- if (!context || typeof context !== "object") {
23719
- return {};
24143
+ return contexts.reduce(function(context, otherContext) {
24144
+ return context.merge(otherContext);
24145
+ }, new this({}));
24146
+ }
24147
+ },
24148
+ {
24149
+ key: "__unwrap",
24150
+ value: /**
24151
+ * Returns the raw representation of the given context.
24152
+ *
24153
+ * @param {VariableContext | any} context
24154
+ *
24155
+ * @return {any}
24156
+ */ function __unwrap(context) {
24157
+ if (!context) {
24158
+ return {};
24159
+ }
24160
+ if (_instanceof$1(context, this)) {
24161
+ return context.value;
24162
+ }
24163
+ if (typeof context !== "object") {
24164
+ return {};
24165
+ }
24166
+ return _object_spread({}, context);
24167
+ }
24168
+ },
24169
+ {
24170
+ key: "__merge",
24171
+ value: /**
24172
+ * Non-destructively merges two contexts (or their values)
24173
+ * with each other, returning the result.
24174
+ *
24175
+ * @param {ContextValue} context
24176
+ * @param {ContextValue} other
24177
+ *
24178
+ * @return {any}
24179
+ */ function __merge(context, other) {
24180
+ var _this = this;
24181
+ return reduce(this.__unwrap(other), function(merged, value, key) {
24182
+ if (_instanceof$1(value, ValueProducer)) {
24183
+ // keep value producers in tact
24184
+ return _object_spread_props(_object_spread({}, merged), _define_property$1({}, key, value));
23720
24185
  }
23721
- if (_instanceof$1(context, _this)) {
23722
- return context.value;
24186
+ value = _this.__unwrap(value);
24187
+ if (has(merged, key)) {
24188
+ value = _this.__merge(_this.__unwrap(merged[key]), value);
23723
24189
  }
23724
- return _object_spread({}, context);
23725
- };
23726
- var merged = contexts.reduce(function(merged, context) {
23727
- return _object_spread({}, merged, unwrap(context));
23728
- }, {});
23729
- return new this(merged);
24190
+ return _object_spread_props(_object_spread({}, merged), _define_property$1({}, key, value));
24191
+ }, this.__unwrap(context));
23730
24192
  }
23731
24193
  }
23732
24194
  ]);
23733
24195
  return VariableContext;
23734
24196
  }();
23735
24197
  var Variables = /*#__PURE__*/ function() {
23736
- function Variables() {
23737
- var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _ref_name = _ref.name, name = _ref_name === void 0 ? "Expressions" : _ref_name, _ref_tokens = _ref.tokens, tokens = _ref_tokens === void 0 ? [] : _ref_tokens, _ref_children = _ref.children, children = _ref_children === void 0 ? [] : _ref_children, _ref_parent = _ref.parent, parent = _ref_parent === void 0 ? null : _ref_parent, _ref_context = _ref.context, context = _ref_context === void 0 ? null : _ref_context, _ref_value = _ref.value, value = _ref_value === void 0 ? null : _ref_value, _ref_raw = _ref.raw, raw = _ref_raw === void 0 ? null : _ref_raw;
24198
+ function Variables(param) {
24199
+ var _param_name = param.name, name = _param_name === void 0 ? "Expressions" : _param_name, _param_tokens = param.tokens, tokens = _param_tokens === void 0 ? [] : _param_tokens, _param_children = param.children, children = _param_children === void 0 ? [] : _param_children, _param_parent = param.parent, parent = _param_parent === void 0 ? null : _param_parent, context = param.context, value = param.value, raw = param.raw;
23738
24200
  _class_call_check$1(this, Variables);
23739
24201
  this.name = name;
23740
24202
  this.tokens = tokens;
@@ -23965,7 +24427,19 @@ var Variables = /*#__PURE__*/ function() {
23965
24427
  ], [
23966
24428
  {
23967
24429
  key: "of",
23968
- value: function of(options) {
24430
+ value: /**
24431
+ * @param { {
24432
+ * name?: string,
24433
+ * tokens?: string[],
24434
+ * children?: Variables[],
24435
+ * parent?: Variables | null
24436
+ * context: VariableContext,
24437
+ * value?: any,
24438
+ * raw?: any
24439
+ * } } options
24440
+ *
24441
+ * @return {Variables}
24442
+ */ function of(options) {
23969
24443
  var name = options.name, _options_tokens = options.tokens, tokens = _options_tokens === void 0 ? [] : _options_tokens, _options_children = options.children, children = _options_children === void 0 ? [] : _options_children, _options_parent = options.parent, parent = _options_parent === void 0 ? null : _options_parent, context = options.context, value = options.value, raw = options.raw;
23970
24444
  if (!context) {
23971
24445
  throw new Error("must provide <context>");
@@ -24252,57 +24726,57 @@ var spec_identifier = {
24252
24726
  between: 72,
24253
24727
  instance: 86,
24254
24728
  of: 89,
24255
- days: 99,
24256
- time: 101,
24257
- duration: 103,
24258
- years: 105,
24259
- months: 107,
24260
- date: 109,
24261
- list: 115,
24262
- context: 121,
24263
- function: 128,
24264
- null: 154,
24265
- true: 326,
24266
- false: 326,
24267
- "?": 168,
24268
- external: 184,
24269
- not: 209
24729
+ days: 101,
24730
+ time: 103,
24731
+ duration: 105,
24732
+ years: 107,
24733
+ months: 109,
24734
+ date: 111,
24735
+ list: 117,
24736
+ context: 123,
24737
+ function: 130,
24738
+ null: 156,
24739
+ true: 330,
24740
+ false: 330,
24741
+ "?": 170,
24742
+ external: 186,
24743
+ not: 211
24270
24744
  };
24271
24745
  var parser = LRParser.deserialize({
24272
24746
  version: 14,
24273
- states: "CpO`QYOOO`QYOOO$gQYOOOOQU'#Ce'#CeO$qQYO'#C`O%zQYO'#FPOOQQ'#Fe'#FeO&UQYO'#FeO`QYO'#DVOOQU'#Em'#EmO'rQ^O'#D]OOQO'#Fl'#FlO)oQWO'#DuOOQQ'#D|'#D|OOQQ'#D}'#D}OOQQ'#EO'#EOO)tOWO'#ERO)oQWO'#EPOOQQ'#EP'#EPOOQQ'#Fr'#FrOOQQ'#Fp'#FpOOQQ'#Fw'#FwOOQQ'#ET'#ETO`QYO'#EVOOQQ'#FR'#FRO)yQ^O'#FRO+pQYO'#EWO+wQWO'#EXOOQP'#F{'#F{O+|QXO'#E`OOQQ'#Fx'#FxOOQQ'#FQ'#FQQOQWOOOOQQ'#FS'#FSOOQQ'#F]'#F]O`QYO'#CoOOQQ'#F^'#F^O$qQYO'#CsO,XQYO'#DvOOQQ'#Fq'#FqO,^QYO'#EQOOQO'#EQ'#EQO`QYO'#EUO`QYO'#ETOOQO'#Fy'#FyQ,fQWOOO,kQYO'#DRO-bQWO'#FaOOQO'#DT'#DTO-mQYO'#FeO-tQWOOO.kQYO'#CdO.xQYO'#FUOOQQ'#Cc'#CcO.}QYO'#FTOOQQ'#Cb'#CbO/VQYO,58zO`QYO,59iOOQQ'#Fb'#FbOOQQ'#Fc'#FcOOQQ'#Fd'#FdO`QYO,59qO`QYO,59qO`QYO,59qOOQQ'#Fj'#FjO$qQYO,5:]OOQQ'#Fk'#FkO`QYO,5:_O`QYO,59eO`QYO,59gO`QYO,59iO0uQYO,59iO0|QYO,59rOOQQ,5:h,5:hO1RQYO,59qOOQU-E8k-E8kO2uQYO'#FmOOQQ,5:a,5:aOOQQ,5:m,5:mOOQQ,5:k,5:kO2|QYO,5:qOOQQ,5;m,5;mO3WQYO,5:pO3eQWO,5:rO3jQYO,5:sOOQP'#Ed'#EdO4aQXO'#EcOOQO'#Eb'#EbO4hQWO'#EaO4mQWO'#F|O4uQWO,5:zO4zQYO,59ZO.xQYO'#F`OOQQ'#Cw'#CwO5RQYO'#F_OOQQ'#Cv'#CvO5ZQYO,59_O5`QYO,5:bO5eQYO,5:lO3PQYO,5:pO5jQYO,5:oO`QYO'#EvQ,fQWOOO`QYO'#ElO6aQWO,5;{O`QYOOOOQR'#Cf'#CfOOQQ'#Ei'#EiO7ZQYO,59OO`QYO,5;pOOQQ'#FX'#FXO$qQYO'#EjO7kQYO,5;oO`QYO1G.fOOQQ'#F['#F[O8bQYO1G/TO;XQYO1G/]O;cQYO1G/]O;mQYO1G/]OOQQ1G/w1G/wO=aQYO1G/yO=hQYO1G/PO>qQYO1G/RO?zQYO1G/TO`QYO1G/TOOQQ1G/T1G/TO@bQYO1G/^O@|Q^O'#CdOB`QYO'#FoOOQO'#Dy'#DyOBjQWO'#DxOBoQWO'#FnOOQO'#Dw'#DwOOQO'#Dz'#DzOBwQWO,5<XOOQQ1G0]1G0]O`QYO1G0[O`QYO'#ErOB|QWO,5<ZOOQQ1G0^1G0^OCXQWO'#EZOCdQWO'#FzOOQO'#EY'#EYOClQWO1G0_OOQP'#Et'#EtOCqQXO,5:}O`QYO,5:{OCxQXO'#EuODQQWO,5<hOOQQ1G0f1G0fO`QYO1G.uO`QYO,5;zO$qQYO'#EkODYQYO,5;yO`QYO1G.yODbQYO1G/|OOQO1G0W1G0WOOQO,5;b,5;bOOQO-E8t-E8tOOQO,5;W,5;WOOQO-E8j-E8jODgQWOOOOQQ-E8g-E8gODlQYO'#CmOOQQ1G1[1G1[OOQQ,5;U,5;UOOQQ-E8h-E8hODyQYO7+$QOOQQ7+%e7+%eO`QYO7+$oOEpQYO,5:qOE}QWO7+$oOFSQYO'#D[OOQQ'#DZ'#DZOGvQYO'#D^OG{QYO'#D^OHQQYO'#D^OHVQ`O'#DfOH[Q`O'#DiOHaQ`O'#DmOOQQ7+$x7+$xO`QYO,5:dO$qQYO'#EqOHfQWO,5<YOOQQ1G1s1G1sOIlQYO7+%vOIyQYO,5;^OOQO-E8p-E8pO@bQYO,5:uO$qQYO'#EsOJWQWO,5<fOJ`QYO7+%yOOQP-E8r-E8rOJgQYO1G0gOOQO,5;a,5;aOOQO-E8s-E8sOJqQYO7+$aOJxQYO1G1fOOQQ,5;V,5;VOOQQ-E8i-E8iOKSQYO7+$eOOQO7+%h7+%hO`QYO,59XOKyQYO<<HZOOQQ<<HZ<<HZO$qQYO'#EnOMSQYO,59vONvQYO,59xON{QYO,59xO! QQYO,59xO! VQYO,5:QO$qQYO,5:TO! qQbO,5:XO! xQYO1G0OOOQO,5;],5;]OOQO-E8o-E8oO!!SQYO<<IbOOQQ<<Ib<<IbOOQO1G0a1G0aOOQO,5;_,5;_OOQO-E8q-E8qO!%OQYO'#E]OOQQ<<Ie<<IeO`QYO<<IeO`QYO<<G{O!%uQYO1G.sOOQQ,5;Y,5;YOOQQ-E8l-E8lO!&PQYO1G/dOOQQ1G/d1G/dO!&UQbO'#D]O!&gQ`O'#D[O!&rQ`O1G/lO!&wQWO'#DlO!&|Q`O'#FfOOQO'#Dk'#DkO!'UQ`O1G/oOOQO'#Dp'#DpO!'ZQ`O'#FhOOQO'#Do'#DoO!'cQ`O1G/sOOQQAN?PAN?PO!'hQYOAN=gOOQQ7+%O7+%OO!(_Q`O,59vOOQQ7+%W7+%WO! VQYO,5:WO$qQYO'#EoO!(jQ`O,5<QOOQQ7+%Z7+%ZO! VQYO'#EpO!(rQ`O,5<SO!(zQ`O7+%_OOQO1G/r1G/rOOQO,5;Z,5;ZOOQO-E8m-E8mOOQO,5;[,5;[OOQO-E8n-E8nO@bQYO<<HyOOQQAN>eAN>eO$qQYO'#EnO! VQYO<<HyO!)PQ`O7+%_O!)UQ`O1G/sO! qQbO,5:XO!)ZQ`O'#Dm",
24274
- stateData: "!)h~O#qOS#rOSPOSQOS~OTqOZVO[UOdrOhtOitOs{OvgO!SyO!TyO!UvO!WxO!b|O!fzO!heO!owO!vhO#RlO#mRO#nRO$g]O$h^O$i_O$j`O~OTqO[UOdrOhtOitOs{OvgO!SyO!TyO!UvO!WxO!b|O!fzO!heO!owO!vhO#RlO#mRO#nRO$g]O$h^O$i_O$j`O~OZ!RO#[!SO~P!|O#mRO#nRO~OZ![O[![O]!]O^!]O_!^O`!iOn!fOp!gOr!ZOs!ZOt!hO{!jO!h!dO#y!bOv$`X~O#k#sX$q#sX~P$yO$g!kOT$XXZ$XX[$XXd$XXh$XXi$XXs$XXv$XX!S$XX!T$XX!U$XX!W$XX!b$XX!f$XX!h$XX!o$XX!v$XX#R$XX#m$XX#n$XX$h$XX$i$XX$j$XX~O#mRO#nROZ!PX[!PX]!PX^!PX_!PX`!PXn!PXp!PXr!PXs!PXt!PXv!PX{!PX!h!PX#k!PX#o!PX#y!PX$q!PX#}!PXx!PX#|!PX!f!PXe!PXb!PX#Q!PXf!PXl!PX~Ov!nO~O$h^O~O#o!sOZ#uX[#uX]#uX^#uX_#uX`#uXn#uXp#uXr#uXs#uXt#uXv#uX{#uX!h#uX#k#uX#y#uX$q#uX#}#uXx#uX#|#uX!f#uXe#uXb#uX#Q#uXf#uXl#uX~O!f$cP~P`Ov!vO~O#l!wO$h^O#Q$pP~Op#TO~Op#UOv!tX~O$q#XO~O#kuX#}uX$quXxuX#|uX!fuXeuXbuX#QuXfuXluX~P$yO#}#ZO#k$TXx$TX~O#k#ZX~P&UOv#]O~OZ#^O[#^O]#^O^#^O_#^O#mRO#nRO#y#^O#z#^O$ZWX~O`WXxWX#}WX~P-yO`#bO~O#}#cOb#wX~Ob#fO~OTqOZVO[UOdrOhtOitOs{O!SyO!TyO!UvO!WxO!b|O!fzO!heO!owO!vhO#RlO#mRO#nRO$g]O$h^O$i_O$j`O~Ov#pO~P/[O|#rO~O{!jO!h!dO#y!bOZya[ya]ya^ya_ya`yanyapyaryasyatyav$`X#kya$qya#}yaxya#|ya!fyaeyabya#Qyafyalya~Ox$cP~P`Ox#{O#|#|O~P$yO#|#|O#}#}O!f$cX~P$yO!f$PO~O#mRO#nROx$nP~OZ#^O[#^O]#^O^#^O_#^O#l!wO#y#^O#z#^O~O$Z#VX~P3uO$Z$WO~O#}$XO#Q$pX~O#Q$ZO~Oe$[O~P$yO#}$^Ol$RX~Ol$`O~O!V$aO~O!S$bO~O#k!wa$q!wa#}!wax!wa#|!wa!f!wae!wab!wa#Q!waf!wal!wa~P$yO#}#ZO#k$Tax$Ta~OZ#^O[#^O]#^O^#^O_#^O#mRO#nRO#y#^O#z#^O~O`Wa$ZWaxWa#}Wa~P6lO#}#cOb#wa~OZ![O[![O]!]O^!]O_!^O{!jO!h!dO#y!bOv$`X~O`qinqipqirqisqitqi#kqi$qqi#}qixqi#|qi!fqieqibqi#Qqifqilqi~P7sO_!^O{!jO!h!dO#y!bOZyi[yi`yinyipyiryisyityiv$`X#kyi$qyi#}yixyi#|yi!fyieyibyi#Qyifyilyi~O]!]O^!]O~P9kO]yi^yi~P9kO{!jO!h!dO#y!bOZyi[yi]yi^yi_yi`yinyipyiryisyityiv$`X#kyi$qyi#}yixyi#|yi!fyieyibyi#Qyifyilyi~O!f$nO~P$yO`!iOp!gOr!ZOs!ZOt!hOnmi#kmi$qmi#}mixmi#|mi!fmiemibmi#Qmifmilmi~P7sO`!iOr!ZOs!ZOt!hOnoipoi#koi$qoi#}oixoi#|oi!foieoiboi#Qoifoiloi~P7sO`!iOn!fOp$oOr!ZOs!ZOt!hO~P7sO!R$tO!U$uO!W$vO!Z$wO!^$xO!b$yO#mRO#nRO~OZ#aX[#aX]#aX^#aX_#aX`#aXn#aXp#aXr#aXs#aXt#aXv#aXx#aX{#aX!h#aX#m#aX#n#aX#o#aX#y#aX#}#aX~P-yO#}#}Ox$cX~P$yO$Z${O~O#}$|Ox$bX~Ox%OO~O#}#}O!f$cax$ca~O$Z%SOx!}X#}!}X~O#}%TOx$nX~Ox%VO~O$Z#Va~P3uO#l!wO$h^O~O#}$XO#Q$pa~O#}$^Ol$Ra~O!T%aO~OxpO~O#|%bObaX#}aX~P$yO#kSq$qSq#}SqxSq#|Sq!fSqeSqbSq#QSqfSqlSq~P$yOx#{O#|#|O#}uX~P$yOx%dO~O#y%eOZ!OX[!OX]!OX^!OX_!OX`!OXn!OXp!OXr!OXs!OXt!OXv!OX{!OX!h!OX#k!OX$q!OX#}!OXx!OX#|!OX!f!OXe!OXb!OX#Q!OXf!OXl!OX~Op%gO~Op%hO~Op%iO~O![%jO~O![%kO~O![%lO~O#}$|Ox$ba~OZ![O[![O]!]O^!]O_!^O`!iOn!fOp!gOr!ZOs!ZOt!hO{!jO#y!bOv$`X~Ox%qO!f%qO!h%pO~PHnO!f#fa#}#fax#fa~P$yO#}%TOx$na~O#O%wO~P`O#Q#Ti#}#Ti~P$yOf%xO~P$yOl$Si#}$Si~P$yO#kgq$qgq#}gqxgq#|gq!fgqegqbgq#Qgqfgqlgq~P$yO`qynqypqyrqysqytqy#kqy$qqy#}qyxqy#|qy!fqyeqybqy#Qqyfqylqy~P7sO#y%eOZ!Oa[!Oa]!Oa^!Oa_!Oa`!Oan!Oap!Oar!Oas!Oat!Oav!Oa{!Oa!h!Oa#k!Oa$q!Oa#}!Oax!Oa#|!Oa!f!Oae!Oab!Oa#Q!Oaf!Oal!Oa~O!S%|O~O!V%|O~O!S%}O~O!R$tO!U$uO!W$vO!Z$wO!^$xO!b&sO#mRO#nRO~O!X$[P~P! VOx!li#}!li~P$yOT$_XZ$_X[$_X]!xy^!xy_!xy`!xyd$_Xh$_Xi$_Xn!xyp!xyr!xys$_Xt!xyv$_X{!xy!S$_X!T$_X!U$_X!W$_X!b$_X!f$_X!h$_X!o$_X!v$_X#R$_X#k!xy#m$_X#n$_X#y!xy$g$_X$h$_X$i$_X$j$_X$q!xy#}!xyx!xy#|!xye!xyb!xy#Q!xyf!xyl!xy~O#k#PX$q#PX#}#PXx#PX#|#PX!f#PXe#PXb#PX#Q#PXf#PXl#PX~P$yObai#}ai~P$yO!T&]O~O#mRO#nRO!X!PX#y!PX#}!PX~O#y&nO!X!OX#}!OX~O!X&_O~O$Z&`O~O#}&aO!X$YX~O!X&cO~O#}&dO!X$[X~O!X&fO~O#kc!R$qc!R#}c!Rxc!R#|c!R!fc!Rec!Rbc!R#Qc!Rfc!Rlc!R~P$yO#y&nO!X!Oa#}!Oa~O#}&aO!X$Ya~O#}&dO!X$[a~O$]&lO~O$]&oO~O!X&pO~O![&rO~OQP_^$g]#y~",
24275
- goto: "Du$qPPPP$rP%k%n%t&W'qPPPPPP'zP$rPPP$rPP'}(QP$rP$rP$rPPP(WP(cP$r$rPP(l)R)^)RPPPPPPP)RPP)RP*k*n)RP*t*z$rP$rP$r+R+z+},T+zP,]-U,],].U.}P$r/v$r0o0o1h1kP1qPP0o1w1}.Q2RPP2ZP2^2e2k2q2w4S4^4d4j4p4w4}5T5ZPPPPPPPP5a5j7q8j9c9fPP9jPP9p9s:l;e;h;l;q<`=O=o>hP>kP>o?b@T@|ASAV$rA]A]PPPPBU7qB}CvCyDr!mhOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR!YSQ!WSR$k#cS!US#cS#Ou$^W#u!n!v$|%TT&R%k&a#WXOPQWYgjsz{!Z!_!`!a!c!e!f!g!h!i#X#Z#]#a#e#p#r#|#}$W$[$]$`$o${%S%V%b%e%j%l%w%x&O&`&d&l&n&o&rb!TSu!v#c$^$|%T%k&aU#_!T#`#sR#s!nU#_!T#`#sT$U!x$VR$j#aR#SuQ#QuR%^$^U!PQ#]#pQ#q!iR$e#ZQpQQ$g#]R$q#pQ$z#rQ%r%SQ&Q%jU&V%l&d&rQ&g&`T&m&l&oc$s#r%S%j%l&`&d&l&o&r!liOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xQ#k!cU$r#r%S&lS%z%e&n]&P%j%l&`&d&o&rR&U%kQ&S%kR&h&aQ&Y%lR&q&rS&W%l&rR&j&d!mZOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR#z!nQ#w!nR%n$|S#v!n$|T$Q!v%T!mcOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!lcOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xQ!p`T!ym$X!maOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mbOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mfOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mnOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR$T!vQ$R!vR%s%TQ%v%VR&Z%wQ!{mR%Y$XT!zm$XS!xm$XT$U!x$VRpQS#`!T#sR$h#`Q#d!WR$l#dQ$_#QR%_$_Q#[!PR$f#[!vYOPQWgjsz{!Z!_!`!a!c!e!f!g!h!i!n#X#Z#]#a#e#p#r#|#}$W$[$]$`$o${%S%V%b%e%w%x&lS!mY&O_&O%j%l&`&d&n&o&rQ%f$rS%{%f&^R&^&PQ&b&SR&i&bQ&e&WR&k&eQ$}#wR%o$}S$O!t#tR%R$OQ%U$RR%t%UQ$V!xR%W$VQ$Y!{R%Z$YQ#Y}R$d#YQpOQ}PR$c#XUTOP#XW!OQ!i#Z#]Q!lWQ!rgQ!tjQ!}sQ#VzQ#W{Q#g!ZQ#h!_Q#i!`Q#j!aQ#l!eQ#m!fQ#n!gQ#o!hQ#t!nQ$i#aQ$m#eQ$p#pQ%P#|Q%Q#}Q%X$WQ%[$[Q%]$]Q%`$`Q%c$oQ%m${S%u%V%wQ%y%bR&[%x!moOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mSOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR!XST!VS#cQ#a!UR$]#OR#e!Y!msOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!muOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR#RuT#Pu$^V!QQ#]#p!X!_T!O!r!t!}#V#W#g#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!Z!`T!O!r!t!}#V#W#g#h#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!]!aT!O!r!t!}#V#W#g#h#i#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!mWOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR&T%kT&X%l&r!a!cT!O!l!r!t!}#V#W#g#h#i#j#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!a!eT!O!l!r!t!}#V#W#g#h#i#j#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!m[OPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xQ!o[R!qaR#x!nQ!ujR#y!n!mdOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mjOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mkOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR$S!v!mmOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR!|m",
24276
- nodeNames: "⚠ LineComment BlockComment Expression ForExpression for InExpressions InExpression Name Identifier Identifier ArithOp ArithOp ArithOp ArithOp ArithOp in IterationContext return IfExpression if then else QuantifiedExpression some every InExpressions InExpression satisfies Disjunction or Conjunction and Comparison CompareOp CompareOp between PositiveUnaryTest ( PositiveUnaryTests ) ArithmeticExpression InstanceOfExpression instance of Type QualifiedName VariableName SpecialType days time duration years months date > ListType list < ContextType context ContextEntryTypes ContextEntryType FunctionType function ArgumentTypes ArgumentType PathExpression ] FilterExpression [ FunctionInvocation SpecialFunctionName NamedParameters NamedParameter ParameterName PositionalParameters null NumericLiteral StringLiteral BooleanLiteral DateTimeLiteral DateTimeConstructor AtLiteral ? SimplePositiveUnaryTest Interval ParenthesizedExpression List FunctionDefinition FormalParameters FormalParameter external FunctionBody } { Context ContextEntry Key Name Identifier Expressions UnaryTests Wildcard not",
24277
- maxTerm: 171,
24747
+ states: "C|O`QYOOO`QYOOO$mQYOOOOQU'#Ce'#CeO$wQYO'#C`O&QQYO'#FQOOQQ'#Ff'#FfO&[QYO'#FfO`QYO'#DVOOQU'#En'#EnO'{Q^O'#D]OOQU'#D^'#D^OOQU'#D]'#D]OOQO'#Fn'#FnO)xQWO'#DvOOQQ'#D}'#D}OOQQ'#EO'#EOOOQQ'#EP'#EPO)}OWO'#ESO)xQWO'#EQOOQQ'#EQ'#EQOOQQ'#Ft'#FtOOQQ'#Fr'#FrOOQQ'#Fy'#FyOOQQ'#EU'#EUO`QYO'#EWOOQQ'#FS'#FSO*SQ^O'#FSO+yQYO'#EXO,QQWO'#EYOOQP'#F}'#F}O,VQXO'#EaOOQQ'#Fz'#FzOOQQ'#FR'#FRQOQWOOOOQQ'#FT'#FTOOQQ'#F^'#F^O`QYO'#CoOOQQ'#F_'#F_O$wQYO'#CsO,bQYO'#DwOOQQ'#Fs'#FsO,gQYO'#EROOQO'#ER'#ERO`QYO'#EVO`QYO'#EUOOQO'#F{'#F{Q,oQWOOO,tQYO'#DRO-kQWO'#FbOOQO'#DT'#DTO-vQYO'#FfO-}QWOOO.tQYO'#CdO/RQYO'#FVOOQQ'#Cc'#CcO/WQYO'#FUOOQQ'#Cb'#CbO/`QYO,58zO`QYO,59iOOQQ'#Fc'#FcOOQQ'#Fd'#FdOOQQ'#Fe'#FeO`QYO,59qO`QYO,59qO`QYO,59qOOQQ'#Fl'#FlO/eQYO,5:^OOQQ'#Fm'#FmO`QYO,5:`O`QYO,59eO`QYO,59gO`QYO,59iO1^QYO,59iO1eQYO,59rOOQQ,5:i,5:iO1jQYO,59qOOQU-E8l-E8lO3^QYO'#FoOOQQ,5:b,5:bOOQQ,5:n,5:nOOQQ,5:l,5:lO3eQYO,5:rOOQQ,5;n,5;nO3oQYO,5:qO3|QWO,5:sO4RQYO,5:tOOQP'#Ee'#EeO4xQXO'#EdOOQO'#Ec'#EcO5PQWO'#EbO5UQWO'#GOO5^QWO,5:{O5cQYO,59ZO/RQYO'#FaOOQQ'#Cw'#CwO5jQYO'#F`OOQQ'#Cv'#CvO5rQYO,59_O5wQYO,5:cO5|QYO,5:mO3hQYO,5:qO6RQYO,5:pO`QYO'#EwQ,oQWOOO`QYO'#EmO6xQWO,5;|O`QYOOOOQR'#Cf'#CfOOQQ'#Ej'#EjO7rQYO,59OO`QYO,5;qOOQQ'#FY'#FYO$wQYO'#EkO8SQYO,5;pO`QYO1G.fOOQQ'#F]'#F]O8yQYO1G/TO;pQYO1G/]O;zQYO1G/]O<UQYO1G/]OOQQ1G/x1G/xO=xQYO1G/zO>PQYO1G/PO?YQYO1G/RO@cQYO1G/TO`QYO1G/TOOQQ1G/T1G/TO@yQYO1G/^OAhQ^O'#CdOBzQYO'#FqOOQO'#Dz'#DzOCUQWO'#DyOCZQWO'#FpOOQO'#Dx'#DxOOQO'#D{'#D{OCcQWO,5<ZOOQQ1G0^1G0^O`QYO1G0]O`QYO'#EsOChQWO,5<]OOQQ1G0_1G0_OCsQWO'#E[ODOQWO'#F|OOQO'#EZ'#EZODWQWO1G0`OOQP'#Eu'#EuOD]QXO,5;OO`QYO,5:|ODdQXO'#EvODlQWO,5<jOOQQ1G0g1G0gO`QYO1G.uO`QYO,5;{O$wQYO'#ElODtQYO,5;zO`QYO1G.yOD|QYO1G/}OOQO1G0X1G0XOOQO,5;c,5;cOOQO-E8u-E8uOOQO,5;X,5;XOOQO-E8k-E8kOERQWOOOOQQ-E8h-E8hOEWQYO'#CmOOQQ1G1]1G1]OOQQ,5;V,5;VOOQQ-E8i-E8iOEeQYO7+$QOOQQ7+%f7+%fO`QYO7+$oOF[QYO,5:rOFiQWO7+$oOFnQYO'#D[OOQQ'#DZ'#DZOHbQYO'#D_OHgQYO'#D_OHlQYO'#D_OHqQ`O'#DgOHvQ`O'#DjOH{Q`O'#DnOOQQ7+$x7+$xO`QYO,5:eO$wQYO'#ErOIQQWO,5<[OOQQ1G1u1G1uOJWQYO7+%wOJeQYO,5;_OOQO-E8q-E8qO@yQYO,5:vO$wQYO'#EtOJrQWO,5<hOJzQYO7+%zOOQP-E8s-E8sOKRQYO1G0hOOQO,5;b,5;bOOQO-E8t-E8tOK]QYO7+$aOKdQYO1G1gOOQQ,5;W,5;WOOQQ-E8j-E8jOKnQYO7+$eOOQO7+%i7+%iO`QYO,59XOLeQYO<<HZOOQQ<<HZ<<HZO/eQYO'#EoOMnQYO,59vO! bQYO,59yO! gQYO,59yO! lQYO,59yO! qQYO,5:RO$wQYO,5:UO!!`QbO,5:YO!!gQYO1G0POOQO,5;^,5;^OOQO-E8p-E8pO!!qQYO<<IcOOQQ<<Ic<<IcOOQO1G0b1G0bOOQO,5;`,5;`OOQO-E8r-E8rO!%pQYO'#E^OOQQ<<If<<IfO`QYO<<IfO`QYO<<G{O!&gQYO1G.sOOQQ,5;Z,5;ZOOQQ-E8m-E8mO!&qQYO1G/eOOQQ1G/e1G/eO!&vQbO'#D]O!'XQ`O'#D[O!'dQ`O1G/mO!'iQWO'#DmO!'nQ`O'#FhOOQO'#Dl'#DlO!'vQ`O1G/pOOQO'#Dq'#DqO!'{Q`O'#FjOOQO'#Dp'#DpO!(TQ`O1G/tOOQQAN?QAN?QO!(YQYOAN=gOOQQ7+%P7+%PO!)PQ`O,59vOOQQ7+%X7+%XO! qQYO,5:XO$wQYO'#EpO!)[Q`O,5<SOOQQ7+%[7+%[O! qQYO'#EqO!)dQ`O,5<UO!)lQ`O7+%`OOQO1G/s1G/sOOQO,5;[,5;[OOQO-E8n-E8nOOQO,5;],5;]OOQO-E8o-E8oO@yQYO<<HzOOQQAN>fAN>fO/eQYO'#EoO! qQYO<<HzO!)qQ`O7+%`O!)vQ`O1G/tO!!`QbO,5:YO!){Q`O'#Dn",
24748
+ stateData: "!*[~O#rOS#sOSPOSQOS~OTsOZVO[UOdtOhvOivOs}OviO!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$kaO$lbO~OTsO[UOdtOhvOivOs}OviO!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$kaO$lbO~OZ!TO#]!UO~P#PO#nRO#oRO~OZ!^O[!^O]!_O^!_O_!`O`!kOn!hOp!iOr!]Os!]Ot!jO{!lO!i!fO#z!dOv$bX~O#l#tX$s#tX~P%PO$i!mOT$YXZ$YX[$YXd$YXh$YXi$YXs$YXv$YX!T$YX!U$YX!V$YX!X$YX!c$YX!g$YX!i$YX!p$YX!w$YX#S$YX#n$YX#o$YX$Z$YX$j$YX$k$YX$l$YX~O#nRO#oROZ!PX[!PX]!PX^!PX_!PX`!PXn!PXp!PXr!PXs!PXt!PXv!PX{!PX!i!PX#l!PX#p!PX#z!PX$s!PX$O!PXx!PX#}!PX!g!PXe!PXb!PX#R!PXf!PXl!PX~Ov!pO~O$j`O~O#p!uOZ#vX[#vX]#vX^#vX_#vX`#vXn#vXp#vXr#vXs#vXt#vXv#vX{#vX!i#vX#l#vX#z#vX$s#vX$O#vXx#vX#}#vX!g#vXe#vXb#vX#R#vXf#vXl#vX~O!g$eP~P`Ov!xO~O#m!yO$j`O#R$rP~Op#VO~Op#WOv!uX~O$s#ZO~O#luX$OuX$suXxuX#}uX!guXeuXbuX#RuXfuXluX~P%PO$O#]O#l$UXx$UX~O#l#[X~P&[Ov#_O~OZ#`O[#`O]#`O^#`O_#`O#nRO#oRO#z#`O#{#`O$]WX~O`WXxWX$OWX~P.SO`#dO~O$O#eOb#xX~Ob#hO~O#nRO#oRO$ZZO~OTsOZVO[UOdtOhvOivOs}O!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$kaO$lbO~Ov#rO~P/pO|#tO~O{!lO!i!fO#z!dOZya[ya]ya^ya_ya`yanyapyaryasyatyav$bX#lya$sya$Oyaxya#}ya!gyaeyabya#Ryafyalya~Ox$eP~P`Ox#}O#}$OO~P%PO#}$OO$O$PO!g$eX~P%PO!g$RO~O#nRO#oROx$pP~OZ#`O[#`O]#`O^#`O_#`O#m!yO#z#`O#{#`O~O$]#WX~P4^O$]$YO~O$O$ZO#R$rX~O#R$]O~Oe$^O~P%PO$O$`Ol$SX~Ol$bO~O!W$cO~O!T$dO~O#l!xa$s!xa$O!xax!xa#}!xa!g!xae!xab!xa#R!xaf!xal!xa~P%PO$O#]O#l$Uax$Ua~OZ#`O[#`O]#`O^#`O_#`O#nRO#oRO#z#`O#{#`O~O`Wa$]WaxWa$OWa~P7TO$O#eOb#xa~OZ!^O[!^O]!_O^!_O_!`O{!lO!i!fO#z!dOv$bX~O`qinqipqirqisqitqi#lqi$sqi$Oqixqi#}qi!gqieqibqi#Rqifqilqi~P8[O_!`O{!lO!i!fO#z!dOZyi[yi`yinyipyiryisyityiv$bX#lyi$syi$Oyixyi#}yi!gyieyibyi#Ryifyilyi~O]!_O^!_O~P:SO]yi^yi~P:SO{!lO!i!fO#z!dOZyi[yi]yi^yi_yi`yinyipyiryisyityiv$bX#lyi$syi$Oyixyi#}yi!gyieyibyi#Ryifyilyi~O!g$pO~P%PO`!kOp!iOr!]Os!]Ot!jOnmi#lmi$smi$Omixmi#}mi!gmiemibmi#Rmifmilmi~P8[O`!kOr!]Os!]Ot!jOnoipoi#loi$soi$Ooixoi#}oi!goieoiboi#Roifoiloi~P8[O`!kOn!hOp$qOr!]Os!]Ot!jO~P8[O!S$vO!V$wO!X$xO![$yO!_$zO!c${O#nRO#oRO$ZZO~OZ#bX[#bX]#bX^#bX_#bX`#bXn#bXp#bXr#bXs#bXt#bXv#bXx#bX{#bX!i#bX#n#bX#o#bX#p#bX#z#bX$O#bX~P.SO$O$POx$eX~P%PO$]$}O~O$O%OOx$dX~Ox%QO~O$O$PO!g$eax$ea~O$]%UOx#OX$O#OX~O$O%VOx$pX~Ox%XO~O$]#Wa~P4^O#m!yO$j`O~O$O$ZO#R$ra~O$O$`Ol$Sa~O!U%cO~OxrO~O#}%dObaX$OaX~P%PO#lSq$sSq$OSqxSq#}Sq!gSqeSqbSq#RSqfSqlSq~P%POx#}O#}$OO$OuX~P%POx%fO~O#z%gOZ!OX[!OX]!OX^!OX_!OX`!OXn!OXp!OXr!OXs!OXt!OXv!OX{!OX!i!OX#l!OX$s!OX$O!OXx!OX#}!OX!g!OXe!OXb!OX#R!OXf!OXl!OX~Op%iO~Op%jO~Op%kO~O!]%lO~O!]%mO~O!]%nO~O$O%OOx$da~OZ!^O[!^O]!_O^!_O_!`O`!kOn!hOp!iOr!]Os!]Ot!jO{!lO#z!dOv$bX~Ox%sO!g%sO!i%rO~PIYO!g#ga$O#gax#ga~P%PO$O%VOx$pa~O#P%yO~P`O#R#Ui$O#Ui~P%POf%zO~P%POl$Ti$O$Ti~P%PO#lgq$sgq$Ogqxgq#}gq!ggqegqbgq#Rgqfgqlgq~P%PO`qynqypqyrqysqytqy#lqy$sqy$Oqyxqy#}qy!gqyeqybqy#Rqyfqylqy~P8[O#z%gOZ!Oa[!Oa]!Oa^!Oa_!Oa`!Oan!Oap!Oar!Oas!Oat!Oav!Oa{!Oa!i!Oa#l!Oa$s!Oa$O!Oax!Oa#}!Oa!g!Oae!Oab!Oa#R!Oaf!Oal!Oa~O!T&OO~O!W&OO~O!T&PO~O!S$vO!V$wO!X$xO![$yO!_$zO!c&uO#nRO#oRO$ZZO~O!Y$^P~P! qOx!mi$O!mi~P%POT$aXZ$aX[$aX]!yy^!yy_!yy`!yyd$aXh$aXi$aXn!yyp!yyr!yys$aXt!yyv$aX{!yy!T$aX!U$aX!V$aX!X$aX!c$aX!g$aX!i$aX!p$aX!w$aX#S$aX#l!yy#n$aX#o$aX#z!yy$Z$aX$i$aX$j$aX$k$aX$l$aX$s!yy$O!yyx!yy#}!yye!yyb!yy#R!yyf!yyl!yy~O#l#QX$s#QX$O#QXx#QX#}#QX!g#QXe#QXb#QX#R#QXf#QXl#QX~P%PObai$Oai~P%PO!U&_O~O#nRO#oRO!Y!PX#z!PX$O!PX~O#z&pO!Y!OX$O!OX~O!Y&aO~O$]&bO~O$O&cO!Y$[X~O!Y&eO~O$O&fO!Y$^X~O!Y&hO~O#lc!R$sc!R$Oc!Rxc!R#}c!R!gc!Rec!Rbc!R#Rc!Rfc!Rlc!R~P%PO#z&pO!Y!Oa$O!Oa~O$O&cO!Y$[a~O$O&fO!Y$^a~O$_&nO~O$_&qO~O!Y&rO~O!]&tO~O$Z~QP_^$i]#z~",
24749
+ goto: "E|$sPPPP$tP%m%p%v&Y'sPPPPPP'|P$tPPP$tPP(P(SP$tP$tP$tPPP(YP(eP$t$tPP(n)T)`*m)TPPPPPPP)TPP)TP+r+u)TP+{,R$tP$tP$t,Y-R-U-[-RP-d.]-d-d/]0UP$t0}$t1v1v2o2rP2xPP1v3O3U/X3YPP3bP3e3l3r3x4O5Z5e5k5q5w6O6U6[6bPPPPPPPP6h6q8x9q:j:mPP:qPP:w:z;s<l<o<s<x=g>V>vP?oP?rP?v@iA[BTBZB^$tBdBdPPPPC]8xDUD}EQEy!mjOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR![SQ!YSR$m#eS!WS#eS#Qw$`W#w!p!x%O%VT&T%m&c#WXOPQWYilu|}!]!a!b!c!e!g!h!i!j!k#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%l%n%y%z&Q&b&f&n&p&q&tb!VSw!x#e$`%O%V%m&cU#a!V#b#uR#u!pU#a!V#b#uT$W!z$XR$l#cR#UwQ#SwR%`$`U!RQ#_#rQ#s!kR$g#]QrQQ$i#_R$s#rQ$|#tQ%t%UQ&S%lU&X%n&f&tQ&i&bT&o&n&qc$u#t%U%l%n&b&f&n&q&t!lkOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ#m!eU$t#t%U&nS%|%g&p]&R%l%n&b&f&q&t#V[OPQWilu|}!]!a!b!c!e!g!h!i!j!k!p#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%l%n%y%z&b&f&n&p&q&tR&W%mQ&U%mR&j&cQ&[%nR&s&tS&Y%n&tR&l&f!m]OPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#|!pQ#y!pR%p%OS#x!p%OT$S!x%V!meOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!leOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ!rbT!{o$Z!mcOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mdOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mhOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mpOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR$V!xQ$T!xR%u%VQ%x%XR&]%yQ!}oR%[$ZT!|o$ZS!zo$ZT$W!z$XRrQS#b!V#uR$j#bQ#f!YR$n#fQ$a#SR%a$aQ#^!RR$h#^!vYOPQWilu|}!]!a!b!c!e!g!h!i!j!k!p#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%y%z&nS!oY&Q_&Q%l%n&b&f&p&q&tQ%h$tS%}%h&`R&`&RQ&d&UR&k&dQ&g&YR&m&gQ%P#yR%q%PS$Q!v#vR%T$QQ%W$TR%v%WQ$X!zR%Y$XQ$[!}R%]$[Q#[!PR$f#[QrOQ!PPR$e#ZUTOP#ZW!QQ!k#]#_Q!nWQ!tiQ!vlQ#PuQ#X|Q#Y}Q#i!]Q#j!aQ#k!bQ#l!cQ#n!gQ#o!hQ#p!iQ#q!jQ#v!pQ$k#cQ$o#gQ$r#rQ%R$OQ%S$PQ%Z$YQ%^$^Q%_$_Q%b$bQ%e$qQ%o$}S%w%X%yQ%{%dR&^%z!mqOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mSOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR!ZST!XS#eQ#c!WR$_#QR#g![!muOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mwOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#TwT#Rw$`V!SQ#_#r!X!aT!Q!t!v#P#X#Y#i#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!Z!bT!Q!t!v#P#X#Y#i#j#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!]!cT!Q!t!v#P#X#Y#i#j#k#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!mWOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR&V%mT&Z%n&t!a!eT!Q!n!t!v#P#X#Y#i#j#k#l#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!a!gT!Q!n!t!v#P#X#Y#i#j#k#l#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!m^OPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ!q^R!scR#z!pQ!wlR#{!p!mfOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mlOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mmOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR$U!x!moOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#Oo",
24750
+ nodeNames: "⚠ LineComment BlockComment Expression ForExpression for InExpressions InExpression Name Identifier Identifier ArithOp ArithOp ArithOp ArithOp ArithOp in IterationContext return IfExpression if then else QuantifiedExpression some every InExpressions InExpression satisfies Disjunction or Conjunction and Comparison CompareOp CompareOp between PositiveUnaryTest ( PositiveUnaryTests ) ArithmeticExpression InstanceOfExpression instance of Type QualifiedName VariableName BacktickIdentifier SpecialType days time duration years months date > ListType list < ContextType context ContextEntryTypes ContextEntryType FunctionType function ArgumentTypes ArgumentType PathExpression ] FilterExpression [ FunctionInvocation SpecialFunctionName NamedParameters NamedParameter ParameterName PositionalParameters null NumericLiteral StringLiteral BooleanLiteral DateTimeLiteral DateTimeConstructor AtLiteral ? SimplePositiveUnaryTest Interval ParenthesizedExpression List FunctionDefinition FormalParameters FormalParameter external FunctionBody } { Context ContextEntry Key Name Identifier Expressions UnaryTests Wildcard not",
24751
+ maxTerm: 173,
24278
24752
  context: variableTracker,
24279
24753
  nodeProps: [
24280
24754
  [
24281
24755
  "closedBy",
24282
24756
  38,
24283
24757
  ")",
24284
- 70,
24758
+ 71,
24285
24759
  "]",
24286
- 95,
24760
+ 96,
24287
24761
  "}"
24288
24762
  ],
24289
24763
  [
24290
24764
  "openedBy",
24291
24765
  40,
24292
24766
  "(",
24293
- 68,
24767
+ 69,
24294
24768
  "[",
24295
- 94,
24769
+ 95,
24296
24770
  "{"
24297
24771
  ],
24298
24772
  [
24299
24773
  "group",
24300
24774
  -5,
24301
- 77,
24302
24775
  78,
24303
24776
  79,
24304
24777
  80,
24305
24778
  81,
24779
+ 82,
24306
24780
  "Literal"
24307
24781
  ]
24308
24782
  ],
@@ -24315,7 +24789,7 @@ var parser = LRParser.deserialize({
24315
24789
  2
24316
24790
  ],
24317
24791
  repeatNodeCount: 14,
24318
- tokenData: "+l~RuXY#fYZ$ZZ[#f]^$Zpq#fqr$`rs$kwx&cxy&hyz&mz{&r{|'P|}'U}!O'Z!O!P'h!P!Q(Q!Q![){![!]*^!]!^*c!^!_*h!_!`$f!`!a*w!b!c+R!}#O+W#P#Q+]#Q#R&z#o#p+b#q#r+g$f$g#f#BY#BZ#f$IS$I_#f$I|$I}$Z$I}$JO$Z$JT$JU#f$KV$KW#f&FU&FV#f?HT?HU#f~#kY#q~XY#fZ[#fpq#f$f$g#f#BY#BZ#f$IS$I_#f$JT$JU#f$KV$KW#f&FU&FV#f?HT?HU#f~$`O#r~~$cP!_!`$f~$kOr~~$pW$h~OY$kZr$krs%Ys#O$k#O#P%_#P;'S$k;'S;=`&]<%lO$k~%_O$h~~%bRO;'S$k;'S;=`%k;=`O$k~%pX$h~OY$kZr$krs%Ys#O$k#O#P%_#P;'S$k;'S;=`&];=`<%l$k<%lO$k~&`P;=`<%l$k~&hO#z~~&mOv~~&rOx~~&wP^~z{&z~'PO_~~'UO[~~'ZO#}~R'`PZP!`!a'cQ'hO$]Q~'mQ#y~!O!P's!Q!['x~'xO#|~~'}P$g~!Q!['x~(VQ]~z{(]!P!Q)d~(`TOz(]z{(o{;'S(];'S;=`)^<%lO(]~(rVOz(]z{(o{!P(]!P!Q)X!Q;'S(];'S;=`)^<%lO(]~)^OQ~~)aP;=`<%l(]~)iSP~OY)dZ;'S)d;'S;=`)u<%lO)d~)xP;=`<%l)d~*QQ$g~!O!P*W!Q![){~*ZP!Q!['x~*cO$Z~~*hO$q~R*oP![QsP!_!`*rP*wOsPR+OP!XQsP!_!`*r~+WO$j~~+]O!h~~+bO!f~~+gO#R~~+lO#Q~",
24792
+ tokenData: "-c~RvXY#iYZ$^Z[#i]^$^pq#iqr$crs$nwx&fxy&kyz&pz{&u{|'S|}'X}!O'^!O!P'k!P!Q(T!Q![*O![!]*a!]!^*f!^!_*k!_!`$i!`!a*z!b!c+U!}#O+Z#P#Q+`#Q#R&}#S#T+e#o#p-X#q#r-^$f$g#i#BY#BZ#i$IS$I_#i$I|$I}$^$I}$JO$^$JT$JU#i$KV$KW#i&FU&FV#i?HT?HU#i~#nY#r~XY#iZ[#ipq#i$f$g#i#BY#BZ#i$IS$I_#i$JT$JU#i$KV$KW#i&FU&FV#i?HT?HU#i~$cO#s~~$fP!_!`$i~$nOr~~$sW$j~OY$nZr$nrs%]s#O$n#O#P%b#P;'S$n;'S;=`&`<%lO$n~%bO$j~~%eRO;'S$n;'S;=`%n;=`O$n~%sX$j~OY$nZr$nrs%]s#O$n#O#P%b#P;'S$n;'S;=`&`;=`<%l$n<%lO$n~&cP;=`<%l$n~&kO#{~~&pOv~~&uOx~~&zP^~z{&}~'SO_~~'XO[~~'^O$O~R'cPZP!`!a'fQ'kO$_Q~'pQ#z~!O!P'v!Q!['{~'{O#}~~(QP$i~!Q!['{~(YQ]~z{(`!P!Q)g~(cTOz(`z{(r{;'S(`;'S;=`)a<%lO(`~(uVOz(`z{(r{!P(`!P!Q)[!Q;'S(`;'S;=`)a<%lO(`~)aOQ~~)dP;=`<%l(`~)lSP~OY)gZ;'S)g;'S;=`)x<%lO)g~){P;=`<%l)g~*TQ$i~!O!P*Z!Q![*O~*^P!Q!['{~*fO$]~~*kO$s~R*rP!]QsP!_!`*uP*zOsPR+RP!YQsP!_!`*u~+ZO$l~~+`O!i~~+eO!g~~+hWOY+eZ#O+e#O#P,Q#P#S+e#S#T,|#T;'S+e;'S;=`-R<%lO+e~,TRO;'S+e;'S;=`,^;=`O+e~,aXOY+eZ#O+e#O#P,Q#P#S+e#S#T,|#T;'S+e;'S;=`-R;=`<%l+e<%lO+e~-RO$Z~~-UP;=`<%l+e~-^O#S~~-cO#R~",
24319
24793
  tokenizers: [
24320
24794
  propertyIdentifiers,
24321
24795
  identifiers,
@@ -24330,28 +24804,31 @@ var parser = LRParser.deserialize({
24330
24804
  ],
24331
24805
  "Expressions": [
24332
24806
  1,
24333
- 101
24807
+ 102
24334
24808
  ],
24335
24809
  "UnaryTests": [
24336
24810
  2,
24337
- 102
24811
+ 103
24338
24812
  ]
24339
24813
  },
24814
+ dialects: {
24815
+ camunda: 2532
24816
+ },
24340
24817
  dynamicPrecedences: {
24341
24818
  "31": -1,
24342
- "67": 1,
24343
- "71": -1,
24344
- "73": -1
24819
+ "68": 1,
24820
+ "72": -1,
24821
+ "74": -1
24345
24822
  },
24346
24823
  specialized: [
24347
24824
  {
24348
- term: 121,
24825
+ term: 122,
24349
24826
  get: function(value) {
24350
24827
  return spec_identifier[value] || -1;
24351
24828
  }
24352
24829
  }
24353
24830
  ],
24354
- tokenPrec: 2500
24831
+ tokenPrec: 2534
24355
24832
  });
24356
24833
 
24357
24834
  function _array_like_to_array(arr, len) {
@@ -25426,10 +25903,10 @@ var builtins = {
25426
25903
  // 10.3.4.5 Numeric functions
25427
25904
  "decimal": fn(function(n, scale) {
25428
25905
  if (!scale) {
25429
- return round(n);
25906
+ return bankersRound(n);
25430
25907
  }
25431
25908
  var offset = Math.pow(10, scale);
25432
- return round(n * offset) / offset;
25909
+ return bankersRound(n * offset) / offset;
25433
25910
  }, [
25434
25911
  "number",
25435
25912
  "number"
@@ -25658,7 +26135,8 @@ var builtins = {
25658
26135
  ]),
25659
26136
  // 10.3.4.10 Context function
25660
26137
  "get value": fn(function(m, key) {
25661
- return getFromContext(key, m) || null;
26138
+ var value = getFromContext(key, m);
26139
+ return value != undefined ? value : null;
25662
26140
  }, [
25663
26141
  "context",
25664
26142
  "string"
@@ -25985,13 +26463,13 @@ function countSymbols(str) {
25985
26463
  // cf. https://mathiasbynens.be/notes/javascript-unicode
25986
26464
  return str.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "_").length;
25987
26465
  }
25988
- function round(n) {
25989
- var integral = Math.trunc(n);
25990
- if (n - integral > .5) {
25991
- return integral + 1;
25992
- } else {
25993
- return integral;
26466
+ function bankersRound(n) {
26467
+ var floored = Math.floor(n);
26468
+ var decimalPart = n - floored;
26469
+ if (decimalPart === 0.5) {
26470
+ return floored % 2 === 0 ? floored : floored + 1;
25994
26471
  }
26472
+ return Math.round(n);
25995
26473
  }
25996
26474
  // adapted from https://stackoverflow.com/a/53577159
25997
26475
  function stddev(array) {
@@ -26072,17 +26550,19 @@ function ifValid(o) {
26072
26550
  return o.isValid ? o : null;
26073
26551
  }
26074
26552
  function parseExpression(expression) {
26075
- var context = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
26553
+ var context = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, dialect = arguments.length > 2 ? arguments[2] : void 0;
26076
26554
  return parser.configure({
26077
26555
  top: "Expression",
26078
- contextTracker: trackVariables(context)
26556
+ contextTracker: trackVariables(context),
26557
+ dialect: dialect
26079
26558
  }).parse(expression);
26080
26559
  }
26081
26560
  function parseUnaryTests(expression) {
26082
- var context = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
26561
+ var context = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, dialect = arguments.length > 2 ? arguments[2] : void 0;
26083
26562
  return parser.configure({
26084
26563
  top: "UnaryTests",
26085
- contextTracker: trackVariables(context)
26564
+ contextTracker: trackVariables(context),
26565
+ dialect: dialect
26086
26566
  }).parse(expression);
26087
26567
  }
26088
26568
  var SyntaxError$1 = /*#__PURE__*/ function(Error1) {
@@ -26151,8 +26631,8 @@ var Interpreter = /*#__PURE__*/ function() {
26151
26631
  {
26152
26632
  key: "evaluate",
26153
26633
  value: function evaluate(expression) {
26154
- var context = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
26155
- var parseTree = parseExpression(expression, context);
26634
+ var context = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, dialect = arguments.length > 2 ? arguments[2] : void 0;
26635
+ var parseTree = parseExpression(expression, context, dialect);
26156
26636
  var root = this._buildExecutionTree(parseTree, expression);
26157
26637
  return {
26158
26638
  parseTree: parseTree,
@@ -26163,8 +26643,8 @@ var Interpreter = /*#__PURE__*/ function() {
26163
26643
  {
26164
26644
  key: "unaryTest",
26165
26645
  value: function unaryTest(expression) {
26166
- var context = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
26167
- var parseTree = parseUnaryTests(expression, context);
26646
+ var context = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, dialect = arguments.length > 2 ? arguments[2] : void 0;
26647
+ var parseTree = parseUnaryTests(expression, context, dialect);
26168
26648
  var root = this._buildExecutionTree(parseTree, expression);
26169
26649
  return {
26170
26650
  parseTree: parseTree,
@@ -26178,8 +26658,8 @@ var Interpreter = /*#__PURE__*/ function() {
26178
26658
  var interpreter = new Interpreter();
26179
26659
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
26180
26660
  function evaluate(expression) {
26181
- var context = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
26182
- var root = interpreter.evaluate(expression, context).root;
26661
+ var context = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, dialect = arguments.length > 2 ? arguments[2] : void 0;
26662
+ var root = interpreter.evaluate(expression, context, dialect).root;
26183
26663
  // root = Expression :: fn(ctx)
26184
26664
  return root(context);
26185
26665
  }
@@ -26222,6 +26702,12 @@ function evalNode(node, input, args) {
26222
26702
  switch(input){
26223
26703
  case "+":
26224
26704
  return nullable(function(a, b) {
26705
+ // flip these as luxon operations with durations aren't commutative
26706
+ if (isDuration(a) && !isDuration(b)) {
26707
+ var tmp = a;
26708
+ a = b;
26709
+ b = tmp;
26710
+ }
26225
26711
  if (isType(a, "time") && isDuration(b)) {
26226
26712
  return a.plus(b).set({
26227
26713
  year: 1900,
@@ -26315,6 +26801,8 @@ function evalNode(node, input, args) {
26315
26801
  };
26316
26802
  }
26317
26803
  }, Test("boolean"));
26804
+ case "BacktickIdentifier":
26805
+ return input.replace(/`/g, "");
26318
26806
  case "Wildcard":
26319
26807
  return function(_context) {
26320
26808
  return true;
@@ -26788,7 +27276,7 @@ function evalNode(node, input, args) {
26788
27276
  if (isNumber(value)) {
26789
27277
  filterFn.type = "number";
26790
27278
  }
26791
- } catch (err) {
27279
+ } catch (_err) {
26792
27280
  // ignore
26793
27281
  }
26794
27282
  }
@@ -27251,7 +27739,6 @@ function parseString(str) {
27251
27739
  if (str.endsWith('"')) {
27252
27740
  str = str.slice(0, -1);
27253
27741
  }
27254
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
27255
27742
  return str.replace(/(\\")|(\\\\)|(\\u[a-fA-F0-9]{5,6})|((?:\\u[a-fA-F0-9]{1,4})+)/ig, function(substring) {
27256
27743
  for(var _len = arguments.length, groups = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
27257
27744
  groups[_key - 1] = arguments[_key];