json-fs-query 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -77,7 +77,7 @@ const create = async (recordName, definition = [], keys = []) => {
77
77
  return recordContent;
78
78
  };
79
79
  exports.create = create;
80
- },{"../utilities/config":36,"../utilities/registerRecord":72,"./definitions/record":5,"./policies/typeCheck":13,"core-js/modules/es.json.stringify.js":231,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.find.js":239,"core-js/modules/esnext.iterator.some.js":244,"fs":84,"fs/promises":84}],2:[function(require,module,exports){
80
+ },{"../utilities/config":38,"../utilities/registerRecord":74,"./definitions/record":5,"./policies/typeCheck":13,"core-js/modules/es.json.stringify.js":233,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.find.js":241,"core-js/modules/esnext.iterator.some.js":246,"fs":86,"fs/promises":86}],2:[function(require,module,exports){
81
81
  "use strict";
82
82
 
83
83
  Object.defineProperty(exports, "__esModule", {
@@ -174,7 +174,7 @@ const key = ({
174
174
  return keyDefinition;
175
175
  };
176
176
  exports.key = key;
177
- },{"./keyReference":4,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242}],4:[function(require,module,exports){
177
+ },{"./keyReference":4,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244}],4:[function(require,module,exports){
178
178
  "use strict";
179
179
 
180
180
  Object.defineProperty(exports, "__esModule", {
@@ -228,7 +228,7 @@ const record = ({
228
228
  };
229
229
  };
230
230
  exports.record = record;
231
- },{"./field":2,"./key":3,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242}],6:[function(require,module,exports){
231
+ },{"./field":2,"./key":3,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244}],6:[function(require,module,exports){
232
232
  "use strict";
233
233
 
234
234
  Object.defineProperty(exports, "__esModule", {
@@ -244,7 +244,7 @@ const describe = async (record = '__RECORDS') => {
244
244
  return recordFile.definition;
245
245
  };
246
246
  exports.describe = describe;
247
- },{"../utilities/retrieveFile":75}],7:[function(require,module,exports){
247
+ },{"../utilities/retrieveFile":77}],7:[function(require,module,exports){
248
248
  "use strict";
249
249
 
250
250
  require("core-js/modules/esnext.async-iterator.constructor.js");
@@ -282,7 +282,7 @@ const drop = async record => {
282
282
  await (0, _deregisterRecord.deregisterRecord)(record);
283
283
  };
284
284
  exports.drop = drop;
285
- },{"../utilities/config":36,"../utilities/deregisterRecord":38,"../utilities/retrieveFile":75,"core-js/modules/esnext.async-iterator.constructor.js":233,"core-js/modules/esnext.async-iterator.drop.js":234,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.drop.js":236,"fs/promises":84}],8:[function(require,module,exports){
285
+ },{"../utilities/config":38,"../utilities/deregisterRecord":40,"../utilities/retrieveFile":77,"core-js/modules/esnext.async-iterator.constructor.js":235,"core-js/modules/esnext.async-iterator.drop.js":236,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.drop.js":238,"fs/promises":86}],8:[function(require,module,exports){
286
286
  "use strict";
287
287
 
288
288
  require("core-js/modules/esnext.async-iterator.constructor.js");
@@ -304,7 +304,7 @@ const drop = (...args) => (0, _databaseLock.withDatabaseLock)(() => (0, _drop.dr
304
304
  exports.drop = drop;
305
305
  const describe = (...args) => (0, _databaseLock.withDatabaseLock)(() => (0, _describe.describe)(...args));
306
306
  exports.describe = describe;
307
- },{"../utilities/databaseLock":37,"./create":1,"./describe":6,"./drop":7,"core-js/modules/esnext.async-iterator.constructor.js":233,"core-js/modules/esnext.async-iterator.drop.js":234,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.drop.js":236}],9:[function(require,module,exports){
307
+ },{"../utilities/databaseLock":39,"./create":1,"./describe":6,"./drop":7,"core-js/modules/esnext.async-iterator.constructor.js":235,"core-js/modules/esnext.async-iterator.drop.js":236,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.drop.js":238}],9:[function(require,module,exports){
308
308
  "use strict";
309
309
 
310
310
  Object.defineProperty(exports, "__esModule", {
@@ -334,7 +334,7 @@ const foreignKeyExists = async (entity, property, value) => {
334
334
  return found.length > 0;
335
335
  };
336
336
  exports.foreignKeyExists = foreignKeyExists;
337
- },{"../../queries/where":33,"../../utilities/fieldType":39,"../../utilities/retrieveRecord":77,"../../utilities/retrieveRecords":78}],10:[function(require,module,exports){
337
+ },{"../../queries/where":33,"../../utilities/fieldType":41,"../../utilities/retrieveRecord":79,"../../utilities/retrieveRecords":80}],10:[function(require,module,exports){
338
338
  "use strict";
339
339
 
340
340
  Object.defineProperty(exports, "__esModule", {
@@ -389,7 +389,7 @@ const hasDependents = async (entity, property, value) => {
389
389
  return false;
390
390
  };
391
391
  exports.hasDependents = hasDependents;
392
- },{"../../queries/where":33,"../../utilities/fieldType":39,"../../utilities/parsers/splitEntityProperty":66,"../../utilities/retrieveRecord":77,"../../utilities/retrieveRecords":78,"../describe":6}],11:[function(require,module,exports){
392
+ },{"../../queries/where":33,"../../utilities/fieldType":41,"../../utilities/parsers/splitEntityProperty":68,"../../utilities/retrieveRecord":79,"../../utilities/retrieveRecords":80,"../describe":6}],11:[function(require,module,exports){
393
393
  "use strict";
394
394
 
395
395
  Object.defineProperty(exports, "__esModule", {
@@ -443,7 +443,7 @@ const keyUnique = async (entity, references = [], checkKeys = []) => {
443
443
  return !records.length;
444
444
  };
445
445
  exports.keyUnique = keyUnique;
446
- },{"../../queries/where":33,"../../utilities/fieldType":39,"../../utilities/retrieveRecord":77,"../../utilities/retrieveRecords":78}],13:[function(require,module,exports){
446
+ },{"../../queries/where":33,"../../utilities/fieldType":41,"../../utilities/retrieveRecord":79,"../../utilities/retrieveRecords":80}],13:[function(require,module,exports){
447
447
  "use strict";
448
448
 
449
449
  Object.defineProperty(exports, "__esModule", {
@@ -592,7 +592,7 @@ const createRecord = async (entity, parsed) => {
592
592
  return (0, _create.create)(entity, parsed.definition, parsed.keys);
593
593
  };
594
594
  exports.createRecord = createRecord;
595
- },{"../introspect/create":1,"../utilities/parsers/splitEntityProperty":66,"../utilities/recordExists":71,"../utilities/retrieveRecord":77,"core-js/modules/es.array.includes.js":220,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242}],16:[function(require,module,exports){
595
+ },{"../introspect/create":1,"../utilities/parsers/splitEntityProperty":68,"../utilities/recordExists":73,"../utilities/retrieveRecord":79,"core-js/modules/es.array.includes.js":222,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244}],16:[function(require,module,exports){
596
596
  "use strict";
597
597
 
598
598
  Object.defineProperty(exports, "__esModule", {
@@ -694,7 +694,7 @@ const deleteEntity = async (entity = '', dataSet = {}) => {
694
694
  return dataSet;
695
695
  };
696
696
  exports.deleteEntity = deleteEntity;
697
- },{"../introspect/policies/hasDependents":10,"../utilities/computeKeyValue":35,"../utilities/config":36,"../utilities/fieldType":39,"../utilities/removeFromIndex":73,"../utilities/retrieveFile":75,"../utilities/retrieveRecord":77,"core-js/modules/es.json.stringify.js":231,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.find.js":239,"core-js/modules/esnext.iterator.map.js":242,"core-js/modules/esnext.set.add-all.js":258,"core-js/modules/esnext.set.delete-all.js":259,"core-js/modules/esnext.set.difference.js":260,"core-js/modules/esnext.set.every.js":261,"core-js/modules/esnext.set.filter.js":262,"core-js/modules/esnext.set.find.js":263,"core-js/modules/esnext.set.intersection.js":264,"core-js/modules/esnext.set.is-disjoint-from.js":265,"core-js/modules/esnext.set.is-subset-of.js":266,"core-js/modules/esnext.set.is-superset-of.js":267,"core-js/modules/esnext.set.join.js":268,"core-js/modules/esnext.set.map.js":269,"core-js/modules/esnext.set.reduce.js":270,"core-js/modules/esnext.set.some.js":271,"core-js/modules/esnext.set.symmetric-difference.js":272,"core-js/modules/esnext.set.union.js":273,"fs/promises":84}],17:[function(require,module,exports){
697
+ },{"../introspect/policies/hasDependents":10,"../utilities/computeKeyValue":35,"../utilities/config":38,"../utilities/fieldType":41,"../utilities/removeFromIndex":75,"../utilities/retrieveFile":77,"../utilities/retrieveRecord":79,"core-js/modules/es.json.stringify.js":233,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.find.js":241,"core-js/modules/esnext.iterator.map.js":244,"core-js/modules/esnext.set.add-all.js":260,"core-js/modules/esnext.set.delete-all.js":261,"core-js/modules/esnext.set.difference.js":262,"core-js/modules/esnext.set.every.js":263,"core-js/modules/esnext.set.filter.js":264,"core-js/modules/esnext.set.find.js":265,"core-js/modules/esnext.set.intersection.js":266,"core-js/modules/esnext.set.is-disjoint-from.js":267,"core-js/modules/esnext.set.is-subset-of.js":268,"core-js/modules/esnext.set.is-superset-of.js":269,"core-js/modules/esnext.set.join.js":270,"core-js/modules/esnext.set.map.js":271,"core-js/modules/esnext.set.reduce.js":272,"core-js/modules/esnext.set.some.js":273,"core-js/modules/esnext.set.symmetric-difference.js":274,"core-js/modules/esnext.set.union.js":275,"fs/promises":86}],17:[function(require,module,exports){
698
698
  "use strict";
699
699
 
700
700
  Object.defineProperty(exports, "__esModule", {
@@ -724,7 +724,7 @@ const describeRecord = async entity => {
724
724
  };
725
725
  };
726
726
  exports.describeRecord = describeRecord;
727
- },{"../utilities/recordExists":71,"../utilities/retrieveRecord":77}],18:[function(require,module,exports){
727
+ },{"../utilities/recordExists":73,"../utilities/retrieveRecord":79}],18:[function(require,module,exports){
728
728
  "use strict";
729
729
 
730
730
  require("core-js/modules/esnext.async-iterator.constructor.js");
@@ -786,7 +786,7 @@ const dropRecord = async (entity, ifExists) => {
786
786
  return record;
787
787
  };
788
788
  exports.dropRecord = dropRecord;
789
- },{"../introspect/drop":7,"../utilities/config":36,"../utilities/parsers/splitEntityProperty":66,"../utilities/recordExists":71,"../utilities/retrieveRecord":77,"core-js/modules/esnext.async-iterator.constructor.js":233,"core-js/modules/esnext.async-iterator.drop.js":234,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.drop.js":236,"core-js/modules/esnext.iterator.some.js":244}],19:[function(require,module,exports){
789
+ },{"../introspect/drop":7,"../utilities/config":38,"../utilities/parsers/splitEntityProperty":68,"../utilities/recordExists":73,"../utilities/retrieveRecord":79,"core-js/modules/esnext.async-iterator.constructor.js":235,"core-js/modules/esnext.async-iterator.drop.js":236,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.drop.js":238,"core-js/modules/esnext.iterator.some.js":246}],19:[function(require,module,exports){
790
790
  "use strict";
791
791
 
792
792
  Object.defineProperty(exports, "__esModule", {
@@ -809,7 +809,7 @@ const groupBy = (dataSet = [], groupProperty = '') => {
809
809
  }, {});
810
810
  };
811
811
  exports.groupBy = groupBy;
812
- },{"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.reduce.js":243}],20:[function(require,module,exports){
812
+ },{"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.reduce.js":245}],20:[function(require,module,exports){
813
813
  "use strict";
814
814
 
815
815
  Object.defineProperty(exports, "__esModule", {
@@ -933,7 +933,7 @@ const insertEntity = async (entity = '', values = [], dataSet = {}) => {
933
933
  return dataSet;
934
934
  };
935
935
  exports.insertEntity = insertEntity;
936
- },{"../introspect/policies/foreignKeyExists":9,"../introspect/policies/keyGenerate":11,"../introspect/policies/keyUnique":12,"../introspect/policies/typeCheck":13,"../introspect/policies/useDefault":14,"../utilities/computeKeyValue":35,"../utilities/config":36,"../utilities/fieldType":39,"../utilities/parsers/splitEntityProperty":66,"../utilities/retrieveRecord":77,"../utilities/updateIndex":80,"core-js/modules/es.json.stringify.js":231,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.find.js":239,"core-js/modules/esnext.iterator.map.js":242,"core-js/modules/esnext.iterator.some.js":244,"fs/promises":84}],21:[function(require,module,exports){
936
+ },{"../introspect/policies/foreignKeyExists":9,"../introspect/policies/keyGenerate":11,"../introspect/policies/keyUnique":12,"../introspect/policies/typeCheck":13,"../introspect/policies/useDefault":14,"../utilities/computeKeyValue":35,"../utilities/config":38,"../utilities/fieldType":41,"../utilities/parsers/splitEntityProperty":68,"../utilities/retrieveRecord":79,"../utilities/updateIndex":82,"core-js/modules/es.json.stringify.js":233,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.find.js":241,"core-js/modules/esnext.iterator.map.js":244,"core-js/modules/esnext.iterator.some.js":246,"fs/promises":86}],21:[function(require,module,exports){
937
937
  "use strict";
938
938
 
939
939
  Object.defineProperty(exports, "__esModule", {
@@ -944,7 +944,7 @@ var _siFunciona = _interopRequireDefault(require("si-funciona"));
944
944
  var _readEntity = require("./readEntity");
945
945
  var _useJoinClause = require("../utilities/useJoinClause");
946
946
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
947
- const joinEntity = async (entity, joinEntity, dataSets = {}, joinClauses = [], entityAlreadyResolved = false) => {
947
+ const joinEntity = async (entity, joinEntity, dataSets = {}, joinClauses = [], entityAlreadyResolved = false, joinAlreadyResolved = false) => {
948
948
  // Same ambiguity readEntity() always has (can't tell "never loaded" from "loaded, zero rows
949
949
  // matched") - runQuery already resolved entity's rows via an indexed condition in that second
950
950
  // case, so entityAlreadyResolved tells this call not to reload and silently discard that result.
@@ -954,7 +954,10 @@ const joinEntity = async (entity, joinEntity, dataSets = {}, joinClauses = [], e
954
954
  if (!joinClauses.length) {
955
955
  return dataSets;
956
956
  }
957
- dataSets = await (0, _readEntity.readEntity)(joinEntity, dataSets);
957
+ // The same for joinEntity: an indexed condition on its field may have resolved its rows to none
958
+ if (!joinAlreadyResolved) {
959
+ dataSets = await (0, _readEntity.readEntity)(joinEntity, dataSets);
960
+ }
958
961
  for (const anEntity in dataSets[entity]) {
959
962
  let filterJoins = _siFunciona.default.cloneObject(dataSets);
960
963
  filterJoins[entity] = [dataSets[entity][anEntity]];
@@ -966,7 +969,7 @@ const joinEntity = async (entity, joinEntity, dataSets = {}, joinClauses = [], e
966
969
  return dataSets;
967
970
  };
968
971
  exports.joinEntity = joinEntity;
969
- },{"../utilities/useJoinClause":81,"./readEntity":28,"si-funciona":358}],22:[function(require,module,exports){
972
+ },{"../utilities/useJoinClause":83,"./readEntity":28,"si-funciona":360}],22:[function(require,module,exports){
970
973
  "use strict";
971
974
 
972
975
  Object.defineProperty(exports, "__esModule", {
@@ -1008,7 +1011,7 @@ const mergeJoins = async (dataSet = {}, merges = []) => {
1008
1011
  return dataSet;
1009
1012
  };
1010
1013
  exports.mergeJoins = mergeJoins;
1011
- },{"../utilities/mergeJoin":45,"../utilities/reconcileJoins":70}],24:[function(require,module,exports){
1014
+ },{"../utilities/mergeJoin":47,"../utilities/reconcileJoins":72}],24:[function(require,module,exports){
1012
1015
  "use strict";
1013
1016
 
1014
1017
  Object.defineProperty(exports, "__esModule", {
@@ -1031,7 +1034,7 @@ const parser = (queries = '') => {
1031
1034
  });
1032
1035
  };
1033
1036
  exports.parser = parser;
1034
- },{"../utilities/parsers/parseQuery":62,"../utilities/parsers/splitQueries":67,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242}],25:[function(require,module,exports){
1037
+ },{"../utilities/parsers/parseQuery":64,"../utilities/parsers/splitQueries":69,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244}],25:[function(require,module,exports){
1035
1038
  "use strict";
1036
1039
 
1037
1040
  Object.defineProperty(exports, "__esModule", {
@@ -1059,7 +1062,7 @@ const query = async (queryString = '') => {
1059
1062
  });
1060
1063
  };
1061
1064
  exports.query = query;
1062
- },{"../utilities/databaseLock":37,"../utilities/runQuery":79,"./parser":24}],26:[function(require,module,exports){
1065
+ },{"../utilities/databaseLock":39,"../utilities/runQuery":81,"./parser":24}],26:[function(require,module,exports){
1063
1066
  "use strict";
1064
1067
 
1065
1068
  Object.defineProperty(exports, "__esModule", {
@@ -1112,7 +1115,7 @@ const queryStatus = (text = '') => {
1112
1115
  };
1113
1116
  };
1114
1117
  exports.queryStatus = queryStatus;
1115
- },{"../utilities/parsers/scanQuery":65}],27:[function(require,module,exports){
1118
+ },{"../utilities/parsers/scanQuery":67}],27:[function(require,module,exports){
1116
1119
  "use strict";
1117
1120
 
1118
1121
  Object.defineProperty(exports, "__esModule", {
@@ -1145,7 +1148,7 @@ const readEntity = async (entity = '', dataSet = {}) => {
1145
1148
  return dataSet;
1146
1149
  };
1147
1150
  exports.readEntity = readEntity;
1148
- },{"../utilities/retrieveRecords":78}],29:[function(require,module,exports){
1151
+ },{"../utilities/retrieveRecords":80}],29:[function(require,module,exports){
1149
1152
  "use strict";
1150
1153
 
1151
1154
  Object.defineProperty(exports, "__esModule", {
@@ -1182,7 +1185,7 @@ const selectFields = (dataSet = [], selectClauses = []) => {
1182
1185
  }, {});
1183
1186
  };
1184
1187
  exports.selectFields = selectFields;
1185
- },{"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242,"core-js/modules/esnext.iterator.reduce.js":243}],30:[function(require,module,exports){
1188
+ },{"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244,"core-js/modules/esnext.iterator.reduce.js":245}],30:[function(require,module,exports){
1186
1189
  "use strict";
1187
1190
 
1188
1191
  Object.defineProperty(exports, "__esModule", {
@@ -1204,7 +1207,7 @@ const showRecords = async () => {
1204
1207
  return (await (0, _retrieveRecord.retrieveRecord)('__RECORDS')).entries.map(fileName => fileName.replace(/\.json$/, ''));
1205
1208
  };
1206
1209
  exports.showRecords = showRecords;
1207
- },{"../utilities/recordExists":71,"../utilities/retrieveRecord":77,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242}],31:[function(require,module,exports){
1210
+ },{"../utilities/recordExists":73,"../utilities/retrieveRecord":79,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244}],31:[function(require,module,exports){
1208
1211
  "use strict";
1209
1212
 
1210
1213
  Object.defineProperty(exports, "__esModule", {
@@ -1502,18 +1505,20 @@ const updateEntity = async (entity = '', values = {}, dataSet = {}) => {
1502
1505
  return dataSet;
1503
1506
  };
1504
1507
  exports.updateEntity = updateEntity;
1505
- },{"../introspect/policies/foreignKeyExists":9,"../introspect/policies/hasDependents":10,"../introspect/policies/keyUnique":12,"../introspect/policies/typeCheck":13,"../utilities/compareAs":34,"../utilities/computeKeyValue":35,"../utilities/config":36,"../utilities/fieldType":39,"../utilities/parsers/splitEntityProperty":66,"../utilities/removeFromIndex":73,"../utilities/retrieveFile":75,"../utilities/retrieveRecord":77,"../utilities/updateIndex":80,"core-js/modules/es.json.stringify.js":231,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.find.js":239,"core-js/modules/esnext.iterator.map.js":242,"core-js/modules/esnext.iterator.some.js":244,"fs/promises":84}],33:[function(require,module,exports){
1508
+ },{"../introspect/policies/foreignKeyExists":9,"../introspect/policies/hasDependents":10,"../introspect/policies/keyUnique":12,"../introspect/policies/typeCheck":13,"../utilities/compareAs":34,"../utilities/computeKeyValue":35,"../utilities/config":38,"../utilities/fieldType":41,"../utilities/parsers/splitEntityProperty":68,"../utilities/removeFromIndex":75,"../utilities/retrieveFile":77,"../utilities/retrieveRecord":79,"../utilities/updateIndex":82,"core-js/modules/es.json.stringify.js":233,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.find.js":241,"core-js/modules/esnext.iterator.map.js":244,"core-js/modules/esnext.iterator.some.js":246,"fs/promises":86}],33:[function(require,module,exports){
1506
1509
  "use strict";
1507
1510
 
1508
1511
  Object.defineProperty(exports, "__esModule", {
1509
1512
  value: true
1510
1513
  });
1511
- exports.where = void 0;
1514
+ exports.whereTree = exports.where = exports.treeTruth = void 0;
1512
1515
  require("core-js/modules/es.array.includes.js");
1513
1516
  require("core-js/modules/esnext.iterator.constructor.js");
1514
1517
  require("core-js/modules/esnext.iterator.filter.js");
1518
+ require("core-js/modules/esnext.iterator.flat-map.js");
1515
1519
  require("core-js/modules/esnext.iterator.some.js");
1516
1520
  var _compareAs = require("../utilities/compareAs");
1521
+ var _conditionTree = require("../utilities/conditionTree");
1517
1522
  const likeMatch = (dataValue, pattern) => {
1518
1523
  if (typeof dataValue !== 'string' || typeof pattern !== 'string') {
1519
1524
  return false;
@@ -1526,8 +1531,9 @@ const likeMatch = (dataValue, pattern) => {
1526
1531
  * '3' and 3 match in a string or int field. Ordering (>, >=, <, <=, between) compares by it too (see compareAs): a
1527
1532
  * string field orders as text ('10' < '9'), an int field as numbers. like compares the raw values.
1528
1533
  *
1529
- * Null and missing are their own cases, as in SQL: a field that is null or missing matches no comparison (not even
1530
- * `!=`), and a null never equals anything, not even another null. Only these test for them:
1534
+ * Null and missing are their own cases, as in SQL: a comparison on a field that is null or missing is unknown (null),
1535
+ * neither true nor false, so it matches nothing (not even `!=`) and `not` doesn't turn it into a match. A null never
1536
+ * equals anything, not even another null. Only these test for them, and they are never unknown:
1531
1537
  * - `is null`: the field is there and holds null
1532
1538
  * - `is not null`: the field is there and holds a value (so a missing field doesn't match either)
1533
1539
  * - `exists` / `does not exist`: the field is there (null counts) / is missing
@@ -1550,7 +1556,7 @@ const makeCondition = (data, property, comparator, value, type = undefined) => {
1550
1556
  return exists && data[property] !== null;
1551
1557
  }
1552
1558
  if (!exists || data[property] === null || value === null) {
1553
- return false;
1559
+ return null;
1554
1560
  }
1555
1561
  const dataValue = data[property];
1556
1562
  const typedValue = (0, _compareAs.compareAs)(type, dataValue);
@@ -1569,29 +1575,132 @@ const makeCondition = (data, property, comparator, value, type = undefined) => {
1569
1575
  case '<=':
1570
1576
  return typedValue <= (0, _compareAs.compareAs)(type, value);
1571
1577
  case 'in':
1572
- return Array.isArray(value) && (type ? value.some(item => (0, _compareAs.sameValue)(type, dataValue, item)) : value.includes(dataValue));
1578
+ {
1579
+ if (!Array.isArray(value)) {
1580
+ return false;
1581
+ }
1582
+ if (type ? value.some(item => item !== null && (0, _compareAs.sameValue)(type, dataValue, item)) : value.includes(dataValue)) {
1583
+ return true;
1584
+ }
1585
+ // SQL: `x in [1, null]` is x = 1 or x = null, so with no match it's unknown (not false), and not (...) keeps nothing
1586
+ return value.includes(null) ? null : false;
1587
+ }
1573
1588
  case 'between':
1574
- // A null bound would act as 0 in >= / <=: it bounds nothing, so nothing matches (the parser refuses it)
1575
- return Array.isArray(value) && value.length === 2 && !value.includes(null) && typedValue >= (0, _compareAs.compareAs)(type, value[0]) && typedValue <= (0, _compareAs.compareAs)(type, value[1]);
1589
+ if (!Array.isArray(value) || value.length !== 2) {
1590
+ return false;
1591
+ }
1592
+ // A null bound would act as 0 in >= / <=: it bounds nothing, so the result is unknown (the parser refuses it)
1593
+ if (value.includes(null)) {
1594
+ return null;
1595
+ }
1596
+ return typedValue >= (0, _compareAs.compareAs)(type, value[0]) && typedValue <= (0, _compareAs.compareAs)(type, value[1]);
1576
1597
  case 'like':
1577
1598
  return likeMatch(dataValue, value);
1578
1599
  }
1579
1600
  return false;
1580
1601
  };
1581
- const where = (dataSet = [], {
1602
+ /**
1603
+ * One condition on one row: true, false or unknown (shared by where and whereTree).
1604
+ * @param data
1605
+ * @param condition
1606
+ */
1607
+ const conditionTruth = (data, {
1582
1608
  property = '',
1583
1609
  joinEntity = undefined,
1584
1610
  comparator = '=',
1585
1611
  value = null,
1586
1612
  type = undefined
1587
- } = {}) => {
1588
- return dataSet.filter(data => {
1589
- const testProperty = joinEntity ? `${joinEntity}.${property}` : property;
1590
- return makeCondition(data, testProperty, comparator, value, type);
1613
+ } = {}) => makeCondition(data, joinEntity ? `${joinEntity}.${property}` : property, comparator, value, type);
1614
+ /**
1615
+ * The rows for which one condition is true (unknown, from a null or missing field, isn't).
1616
+ * @param dataSet
1617
+ * @param condition
1618
+ */
1619
+ const where = (dataSet = [], condition = {}) => dataSet.filter(data => conditionTruth(data, condition) === true);
1620
+ /**
1621
+ * A where-clause tree on one row, with SQL's three-valued logic: unknown (null) stays unknown through `not`, and
1622
+ * `and` / `or` decide on it only when another child settles the result.
1623
+ *
1624
+ * | | result |
1625
+ * |---|---|
1626
+ * | `not unknown` | unknown |
1627
+ * | `false and unknown` | false |
1628
+ * | `true and unknown` | unknown |
1629
+ * | `true or unknown` | true |
1630
+ * | `false or unknown` | unknown |
1631
+ * @param data
1632
+ * @param node
1633
+ */
1634
+ exports.where = where;
1635
+ const treeTruth = (data, node) => {
1636
+ if ((0, _conditionTree.isCondition)(node)) {
1637
+ return conditionTruth(data, node);
1638
+ }
1639
+ if ('not' in node) {
1640
+ const truth = treeTruth(data, node.not);
1641
+ return truth === null ? null : !truth;
1642
+ }
1643
+ // and: false wins, then unknown; or: true wins, then unknown
1644
+ const settles = !('and' in node);
1645
+ let result = !settles;
1646
+ for (const child of 'and' in node ? node.and : node.or) {
1647
+ const truth = treeTruth(data, child);
1648
+ if (truth === settles) {
1649
+ return settles;
1650
+ }
1651
+ if (truth === null) {
1652
+ result = null;
1653
+ }
1654
+ }
1655
+ return result;
1656
+ };
1657
+ /**
1658
+ * One row seen together with one of its joined rows, for evaluating a where clause on the pair: the row's own fields,
1659
+ * plus the joined row's as `joinEntity.field` (a field already on the row, such as a merged one, is kept).
1660
+ * @param row
1661
+ * @param joinEntity
1662
+ * @param joinedRow
1663
+ */
1664
+ exports.treeTruth = treeTruth;
1665
+ const pairView = (row, joinEntity, joinedRow) => {
1666
+ const view = Object.assign({}, row);
1667
+ for (const field of Object.keys(joinedRow)) {
1668
+ // A merged field on the joined row is already named `entity.field`
1669
+ const name = field.includes('.') ? field : `${joinEntity}.${field}`;
1670
+ if (!Object.prototype.hasOwnProperty.call(view, name)) {
1671
+ view[name] = joinedRow[field];
1672
+ }
1673
+ }
1674
+ return view;
1675
+ };
1676
+ /**
1677
+ * The rows that match a where-clause tree (see ConditionNode): only those for which the whole tree is true, so
1678
+ * `not (n = 5)` returns the same rows as `n != 5` (neither returns a row where n is null or missing). Every row when
1679
+ * there is no where clause.
1680
+ *
1681
+ * With a joinEntity (the tree uses its fields, see conditionEntities), it's SQL's inner join, evaluated per pair: each
1682
+ * row keeps the joined rows for which the tree is true with that pair, and a row left with none is dropped.
1683
+ * @param dataSet
1684
+ * @param node
1685
+ * @param joinEntity
1686
+ */
1687
+ const whereTree = (dataSet = [], node = undefined, joinEntity = undefined) => {
1688
+ if (typeof node === 'undefined') {
1689
+ return dataSet;
1690
+ }
1691
+ if (typeof joinEntity === 'undefined') {
1692
+ return dataSet.filter(data => treeTruth(data, node) === true);
1693
+ }
1694
+ return dataSet.flatMap(data => {
1695
+ const joined = Array.isArray(data[joinEntity]) ? data[joinEntity] : [];
1696
+ const kept = joined.filter(joinedRow => treeTruth(pairView(data, joinEntity, joinedRow), node) === true);
1697
+ return kept.length ? [Object.assign({}, data, {
1698
+ [joinEntity]: kept
1699
+ })] : [];
1591
1700
  });
1592
1701
  };
1593
- exports.where = where;
1594
- },{"../utilities/compareAs":34,"core-js/modules/es.array.includes.js":220,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.filter.js":238,"core-js/modules/esnext.iterator.some.js":244}],34:[function(require,module,exports){
1702
+ exports.whereTree = whereTree;
1703
+ },{"../utilities/compareAs":34,"../utilities/conditionTree":37,"core-js/modules/es.array.includes.js":222,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.filter.js":240,"core-js/modules/esnext.iterator.flat-map.js":242,"core-js/modules/esnext.iterator.some.js":246}],34:[function(require,module,exports){
1595
1704
  "use strict";
1596
1705
 
1597
1706
  Object.defineProperty(exports, "__esModule", {
@@ -1650,7 +1759,7 @@ const sameValue = (type, a, b) => {
1650
1759
  return compareAs(type, a) === compareAs(type, b);
1651
1760
  };
1652
1761
  exports.sameValue = sameValue;
1653
- },{"core-js/modules/es.array.includes.js":220}],35:[function(require,module,exports){
1762
+ },{"core-js/modules/es.array.includes.js":222}],35:[function(require,module,exports){
1654
1763
  "use strict";
1655
1764
 
1656
1765
  Object.defineProperty(exports, "__esModule", {
@@ -1677,7 +1786,156 @@ const computeKeyValue = (fields, values) => {
1677
1786
  return JSON.stringify(fields.map(field => values[field]));
1678
1787
  };
1679
1788
  exports.computeKeyValue = computeKeyValue;
1680
- },{"core-js/modules/es.json.stringify.js":231,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242}],36:[function(require,module,exports){
1789
+ },{"core-js/modules/es.json.stringify.js":233,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244}],36:[function(require,module,exports){
1790
+ "use strict";
1791
+
1792
+ Object.defineProperty(exports, "__esModule", {
1793
+ value: true
1794
+ });
1795
+ exports.conditionEntities = void 0;
1796
+ require("core-js/modules/esnext.iterator.constructor.js");
1797
+ require("core-js/modules/esnext.iterator.filter.js");
1798
+ require("core-js/modules/esnext.iterator.flat-map.js");
1799
+ require("core-js/modules/esnext.iterator.map.js");
1800
+ require("core-js/modules/esnext.set.add-all.js");
1801
+ require("core-js/modules/esnext.set.delete-all.js");
1802
+ require("core-js/modules/esnext.set.difference.js");
1803
+ require("core-js/modules/esnext.set.every.js");
1804
+ require("core-js/modules/esnext.set.filter.js");
1805
+ require("core-js/modules/esnext.set.find.js");
1806
+ require("core-js/modules/esnext.set.intersection.js");
1807
+ require("core-js/modules/esnext.set.is-disjoint-from.js");
1808
+ require("core-js/modules/esnext.set.is-subset-of.js");
1809
+ require("core-js/modules/esnext.set.is-superset-of.js");
1810
+ require("core-js/modules/esnext.set.join.js");
1811
+ require("core-js/modules/esnext.set.map.js");
1812
+ require("core-js/modules/esnext.set.reduce.js");
1813
+ require("core-js/modules/esnext.set.some.js");
1814
+ require("core-js/modules/esnext.set.symmetric-difference.js");
1815
+ require("core-js/modules/esnext.set.union.js");
1816
+ var _isEntityProperty = require("./parsers/isEntityProperty");
1817
+ var _splitEntityProperty = require("./parsers/splitEntityProperty");
1818
+ var _conditionTree = require("./conditionTree");
1819
+ /**
1820
+ * Check which entity each condition's field is on, before anything is read, and say whether the where clause has to be
1821
+ * evaluated per pair of a row and one of its joined rows:
1822
+ * - the queried entity (`workouts.date`): written as the plain field (`date`), which is where the row holds it
1823
+ * - the joined entity (`read workouts.exercises on ...`, `exercises.name`): per pair (see whereTree), so returns true
1824
+ * - an entity merged into the rows or the joined rows (`merge workouts.exercise_id with exercises._id`): read from the
1825
+ * merged fields (`exercises.name` on the row), as before
1826
+ * - anything else is an error: an entity that only links the join (`exercise_muscle` in `workouts.muscles`), or one
1827
+ * that isn't in the query at all (these used to match nothing, or fail to read the entity)
1828
+ *
1829
+ * update and delete apply their conditions before any join or merge runs, so they only take the entity's own fields.
1830
+ * (An indexed joined-field condition used to be dropped once its index had narrowed the joined rows, so the command hit
1831
+ * every row the other conditions allowed: `delete workouts.exercises on ... where exercises._id = 1` deleted every
1832
+ * workout. Refused since #79.)
1833
+ * @param parsed - its conditions on the queried entity lose their `entity.` prefix
1834
+ * @throws {Error} For a condition on a field the query can't check
1835
+ */
1836
+ const conditionEntities = parsed => {
1837
+ const entity = parsed.entity;
1838
+ const joinEntity = parsed.joinClauses.length ? parsed.joinEntity : undefined;
1839
+ const joined = new Set([entity, joinEntity]);
1840
+ const merged = new Set(parsed.mergeJoins.filter(merge => joined.has((0, _splitEntityProperty.splitEntityProperty)(merge.propertyA).entity)).map(merge => (0, _splitEntityProperty.splitEntityProperty)(merge.propertyB).entity));
1841
+ const linking = new Set(parsed.joinClauses.flatMap(clause => [clause.propertyA, clause.propertyB].map(property => (0, _splitEntityProperty.splitEntityProperty)(property).entity)).filter(name => !joined.has(name) && !merged.has(name)));
1842
+ const changes = parsed.command === 'update' || parsed.command === 'delete';
1843
+ let perPair = false;
1844
+ for (const condition of (0, _conditionTree.conditionsOf)(parsed.where)) {
1845
+ if (!(0, _isEntityProperty.isEntityProperty)(condition.property)) {
1846
+ continue;
1847
+ }
1848
+ const {
1849
+ entity: fieldEntity,
1850
+ property
1851
+ } = (0, _splitEntityProperty.splitEntityProperty)(condition.property);
1852
+ if (fieldEntity === entity) {
1853
+ condition.property = property;
1854
+ continue;
1855
+ }
1856
+ if (changes) {
1857
+ throw new Error(`${parsed.command} can only use conditions on ${entity}'s own fields, not ${condition.property}`);
1858
+ }
1859
+ if (fieldEntity === joinEntity) {
1860
+ perPair = true;
1861
+ continue;
1862
+ }
1863
+ if (merged.has(fieldEntity)) {
1864
+ continue;
1865
+ }
1866
+ if (linking.has(fieldEntity)) {
1867
+ throw new Error(`${fieldEntity} only links ${entity} to ${joinEntity}: a condition can't use its fields (${condition.property})`);
1868
+ }
1869
+ const usable = [entity, joinEntity, ...merged].filter(name => typeof name !== 'undefined').join(', ');
1870
+ throw new Error(`${fieldEntity} is not part of this query (${condition.property}): conditions can use the fields of ${usable}`);
1871
+ }
1872
+ return perPair;
1873
+ };
1874
+ exports.conditionEntities = conditionEntities;
1875
+ },{"./conditionTree":37,"./parsers/isEntityProperty":60,"./parsers/splitEntityProperty":68,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.filter.js":240,"core-js/modules/esnext.iterator.flat-map.js":242,"core-js/modules/esnext.iterator.map.js":244,"core-js/modules/esnext.set.add-all.js":260,"core-js/modules/esnext.set.delete-all.js":261,"core-js/modules/esnext.set.difference.js":262,"core-js/modules/esnext.set.every.js":263,"core-js/modules/esnext.set.filter.js":264,"core-js/modules/esnext.set.find.js":265,"core-js/modules/esnext.set.intersection.js":266,"core-js/modules/esnext.set.is-disjoint-from.js":267,"core-js/modules/esnext.set.is-subset-of.js":268,"core-js/modules/esnext.set.is-superset-of.js":269,"core-js/modules/esnext.set.join.js":270,"core-js/modules/esnext.set.map.js":271,"core-js/modules/esnext.set.reduce.js":272,"core-js/modules/esnext.set.some.js":273,"core-js/modules/esnext.set.symmetric-difference.js":274,"core-js/modules/esnext.set.union.js":275}],37:[function(require,module,exports){
1876
+ "use strict";
1877
+
1878
+ Object.defineProperty(exports, "__esModule", {
1879
+ value: true
1880
+ });
1881
+ exports.requiredConditions = exports.isCondition = exports.conditionsOf = exports.allOf = void 0;
1882
+ require("core-js/modules/esnext.iterator.constructor.js");
1883
+ require("core-js/modules/esnext.iterator.filter.js");
1884
+ require("core-js/modules/esnext.iterator.flat-map.js");
1885
+ /**
1886
+ * Whether a node is a single condition rather than `and` / `or` / `not`.
1887
+ * @param node
1888
+ */
1889
+ const isCondition = node => !('and' in node) && !('or' in node) && !('not' in node);
1890
+ /**
1891
+ * The tree for conditions that must all match: none gives undefined (no where clause), one gives that condition itself,
1892
+ * several give one `and` node.
1893
+ * @param conditions
1894
+ */
1895
+ exports.isCondition = isCondition;
1896
+ const allOf = conditions => {
1897
+ if (!conditions.length) {
1898
+ return undefined;
1899
+ }
1900
+ return conditions.length === 1 ? conditions[0] : {
1901
+ and: conditions
1902
+ };
1903
+ };
1904
+ /**
1905
+ * Every condition in the tree, in order, whatever group it is in.
1906
+ * @param node
1907
+ */
1908
+ exports.allOf = allOf;
1909
+ const conditionsOf = node => {
1910
+ if (typeof node === 'undefined') {
1911
+ return [];
1912
+ }
1913
+ if (isCondition(node)) {
1914
+ return [node];
1915
+ }
1916
+ if ('not' in node) {
1917
+ return conditionsOf(node.not);
1918
+ }
1919
+ return ('and' in node ? node.and : node.or).flatMap(conditionsOf);
1920
+ };
1921
+ /**
1922
+ * The conditions every matching row must meet on their own: the tree itself when it is one condition, or the
1923
+ * conditions directly under its top-level `and`. Only these may narrow the rows read through an index (an `or` or a
1924
+ * `not` doesn't require any one of its conditions).
1925
+ * @param node
1926
+ */
1927
+ exports.conditionsOf = conditionsOf;
1928
+ const requiredConditions = node => {
1929
+ if (typeof node === 'undefined') {
1930
+ return [];
1931
+ }
1932
+ if (isCondition(node)) {
1933
+ return [node];
1934
+ }
1935
+ return 'and' in node ? node.and.filter(isCondition) : [];
1936
+ };
1937
+ exports.requiredConditions = requiredConditions;
1938
+ },{"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.filter.js":240,"core-js/modules/esnext.iterator.flat-map.js":242}],38:[function(require,module,exports){
1681
1939
  "use strict";
1682
1940
 
1683
1941
  Object.defineProperty(exports, "__esModule", {
@@ -1753,7 +2011,7 @@ const getSetting = (key, defaultValue) => {
1753
2011
  return typeof settings[key] !== 'undefined' ? settings[key] : defaultValue;
1754
2012
  };
1755
2013
  exports.getSetting = getSetting;
1756
- },{"path":277}],37:[function(require,module,exports){
2014
+ },{"path":279}],39:[function(require,module,exports){
1757
2015
  "use strict";
1758
2016
 
1759
2017
  require("core-js/modules/esnext.weak-map.delete-all.js");
@@ -1817,7 +2075,7 @@ const withDatabaseLock = async task => {
1817
2075
  }
1818
2076
  };
1819
2077
  exports.withDatabaseLock = withDatabaseLock;
1820
- },{"./config":36,"browser-or-node":83,"core-js/modules/esnext.map.delete-all.js":245,"core-js/modules/esnext.map.every.js":246,"core-js/modules/esnext.map.filter.js":247,"core-js/modules/esnext.map.find-key.js":248,"core-js/modules/esnext.map.find.js":249,"core-js/modules/esnext.map.includes.js":250,"core-js/modules/esnext.map.key-of.js":251,"core-js/modules/esnext.map.map-keys.js":252,"core-js/modules/esnext.map.map-values.js":253,"core-js/modules/esnext.map.merge.js":254,"core-js/modules/esnext.map.reduce.js":255,"core-js/modules/esnext.map.some.js":256,"core-js/modules/esnext.map.update.js":257,"core-js/modules/esnext.weak-map.delete-all.js":274}],38:[function(require,module,exports){
2078
+ },{"./config":38,"browser-or-node":85,"core-js/modules/esnext.map.delete-all.js":247,"core-js/modules/esnext.map.every.js":248,"core-js/modules/esnext.map.filter.js":249,"core-js/modules/esnext.map.find-key.js":250,"core-js/modules/esnext.map.find.js":251,"core-js/modules/esnext.map.includes.js":252,"core-js/modules/esnext.map.key-of.js":253,"core-js/modules/esnext.map.map-keys.js":254,"core-js/modules/esnext.map.map-values.js":255,"core-js/modules/esnext.map.merge.js":256,"core-js/modules/esnext.map.reduce.js":257,"core-js/modules/esnext.map.some.js":258,"core-js/modules/esnext.map.update.js":259,"core-js/modules/esnext.weak-map.delete-all.js":276}],40:[function(require,module,exports){
1821
2079
  "use strict";
1822
2080
 
1823
2081
  Object.defineProperty(exports, "__esModule", {
@@ -1852,7 +2110,7 @@ const deregisterRecord = async recordName => {
1852
2110
  return registry;
1853
2111
  };
1854
2112
  exports.deregisterRecord = deregisterRecord;
1855
- },{"./config":36,"core-js/modules/es.json.stringify.js":231,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.filter.js":238,"fs/promises":84}],39:[function(require,module,exports){
2113
+ },{"./config":38,"core-js/modules/es.json.stringify.js":233,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.filter.js":240,"fs/promises":86}],41:[function(require,module,exports){
1856
2114
  "use strict";
1857
2115
 
1858
2116
  Object.defineProperty(exports, "__esModule", {
@@ -1876,7 +2134,7 @@ const fieldType = (record, property) => record?.definition?.find(field => field.
1876
2134
  exports.fieldType = fieldType;
1877
2135
  const keyValueType = (record, key) => key.fields.length === 1 ? fieldType(record, key.fields[0]) : undefined;
1878
2136
  exports.keyValueType = keyValueType;
1879
- },{"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.find.js":239}],40:[function(require,module,exports){
2137
+ },{"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.find.js":241}],42:[function(require,module,exports){
1880
2138
  "use strict";
1881
2139
 
1882
2140
  Object.defineProperty(exports, "__esModule", {
@@ -1884,8 +2142,9 @@ Object.defineProperty(exports, "__esModule", {
1884
2142
  });
1885
2143
  exports.getConditionIndexedList = void 0;
1886
2144
  require("core-js/modules/esnext.iterator.constructor.js");
1887
- require("core-js/modules/esnext.iterator.filter.js");
1888
2145
  require("core-js/modules/esnext.iterator.flat-map.js");
2146
+ require("core-js/modules/esnext.iterator.for-each.js");
2147
+ require("core-js/modules/esnext.iterator.some.js");
1889
2148
  require("core-js/modules/esnext.set.add-all.js");
1890
2149
  require("core-js/modules/esnext.set.delete-all.js");
1891
2150
  require("core-js/modules/esnext.set.difference.js");
@@ -1907,47 +2166,123 @@ var _splitEntityProperty = require("./parsers/splitEntityProperty");
1907
2166
  var _retrieveRecord = require("./retrieveRecord");
1908
2167
  var _where = require("../queries/where");
1909
2168
  var _retrieveFile = require("./retrieveFile");
1910
- var _getMatchingIndexes = require("./getMatchingIndexes");
2169
+ var _retrieveIndexes = require("./retrieveIndexes");
2170
+ var _isSingleFieldKey = require("./isSingleFieldKey");
2171
+ var _conditionTree = require("./conditionTree");
1911
2172
  /**
1912
- * Load only the rows the indexed conditions match, and leave the other conditions for where() to apply later.
1913
- * Conditions are joined by `and`, so a row is loaded only when every indexed condition on its entity matched it: each
1914
- * condition narrows the files the ones before it matched. (Each indexed condition used to replace the rows of the one
1915
- * before, so `where date = 'x' and where exercise_id = 1` returned every row with exercise_id 1, whatever its date.)
2173
+ * The entity and field a condition is on (`exercises.name` is on exercises, `name` on the queried entity).
2174
+ * @param condition
2175
+ * @param mainEntity
2176
+ */
2177
+ const conditionField = (condition, mainEntity) => (0, _isEntityProperty.isEntityProperty)(condition.property) ? (0, _splitEntityProperty.splitEntityProperty)(condition.property) : {
2178
+ entity: mainEntity,
2179
+ property: condition.property
2180
+ };
2181
+ /**
2182
+ * The files an index says can match one condition, or undefined when the field has no single-field index.
2183
+ * @param entity
2184
+ * @param property
2185
+ * @param condition
2186
+ * @param recordData
2187
+ * @param indexed - index files already read, by entity and field (each is read once per query)
2188
+ */
2189
+ const indexedFiles = async (entity, property, condition, recordData, indexed) => {
2190
+ if (!Object.prototype.hasOwnProperty.call(recordData, entity)) {
2191
+ recordData[entity] = await (0, _retrieveRecord.retrieveRecord)(entity);
2192
+ }
2193
+ if (!recordData[entity].keys.some(key => (0, _isSingleFieldKey.isSingleFieldKey)(key, property))) {
2194
+ return undefined;
2195
+ }
2196
+ indexed[entity] = indexed[entity] || {};
2197
+ if (!Object.prototype.hasOwnProperty.call(indexed[entity], property)) {
2198
+ indexed[entity][property] = (await (0, _retrieveIndexes.retrieveIndexes)(entity, [property], recordData))[property];
2199
+ }
2200
+ return new Set((0, _where.where)(indexed[entity][property], {
2201
+ property: 'value',
2202
+ comparator: condition.comparator,
2203
+ value: condition.value,
2204
+ type: condition.type
2205
+ }).flatMap(matchedRecord => matchedRecord.record));
2206
+ };
2207
+ /**
2208
+ * The candidate files for a node, on the queried entity:
2209
+ * - a condition: the files its index matches; unindexed (or on another entity): every row
2210
+ * - `and`: the intersection of the children that narrow anything
2211
+ * - `or`: the union, only when every branch narrows; otherwise every row
2212
+ * - `not`: every row (its complement would have to leave out the unknown rows)
2213
+ * @param node
2214
+ * @param mainEntity
2215
+ * @param recordData
2216
+ * @param indexed
2217
+ */
2218
+ const candidatesOf = async (node, mainEntity, recordData, indexed) => {
2219
+ if ((0, _conditionTree.isCondition)(node)) {
2220
+ const {
2221
+ entity,
2222
+ property
2223
+ } = conditionField(node, mainEntity);
2224
+ return entity === mainEntity ? await indexedFiles(entity, property, node, recordData, indexed) : undefined;
2225
+ }
2226
+ if ('not' in node) {
2227
+ return undefined;
2228
+ }
2229
+ if ('or' in node) {
2230
+ const union = new Set();
2231
+ for (const child of node.or) {
2232
+ const files = await candidatesOf(child, mainEntity, recordData, indexed);
2233
+ if (typeof files === 'undefined') {
2234
+ return undefined;
2235
+ }
2236
+ files.forEach(file => union.add(file));
2237
+ }
2238
+ return union;
2239
+ }
2240
+ let intersection;
2241
+ for (const child of node.and) {
2242
+ const files = await candidatesOf(child, mainEntity, recordData, indexed);
2243
+ if (typeof files !== 'undefined') {
2244
+ intersection = typeof intersection === 'undefined' ? files : new Set([...intersection].filter(file => files.has(file)));
2245
+ }
2246
+ }
2247
+ return intersection;
2248
+ };
2249
+ /**
2250
+ * Load only the candidate rows the indexes allow for the where clause (see candidatesOf): an index only narrows which
2251
+ * rows are read. Every condition, indexed or not, stays in parsed.where and is still applied to the candidates
2252
+ * afterwards (runQuery), so an index can make a query faster but never changes its result (where-clauses decision 3;
2253
+ * it used to remove the conditions it answered, and the 3 bugs fixed in #69 came from that split).
2254
+ *
2255
+ * An indexed condition on a joined entity's field (`exercises._id = 1`) narrows that entity's rows only when every
2256
+ * row must meet it (directly under the top-level `and`, see requiredConditions). It stays in the tree too: the where
2257
+ * clause is then evaluated per pair of a row and a joined row (see whereTree).
1916
2258
  * @param parsed
1917
2259
  * @param recordData
1918
2260
  * @param dataSet
1919
- * @param resolved - Filled with each entity whose rows were loaded here: its rows in dataSet are final (possibly none)
1920
- * and must not be reloaded, even when other conditions are left for where() (an empty list otherwise reads as "not
1921
- * loaded yet", see readEntity).
2261
+ * @param resolved - Filled with each entity whose candidate rows were loaded here: they must not be reloaded (an
2262
+ * empty list otherwise reads as "not loaded yet", see readEntity).
1922
2263
  */
1923
2264
  const getConditionIndexedList = async (parsed, recordData, dataSet, resolved = new Set()) => {
1924
- const reducedConditions = [];
1925
2265
  const matchedFiles = {};
1926
2266
  const indexed = {};
1927
- for (const condition of parsed.conditions) {
1928
- let entity = parsed.entity;
1929
- let property = condition.property;
1930
- if ((0, _isEntityProperty.isEntityProperty)(property)) {
1931
- const entityProperty = (0, _splitEntityProperty.splitEntityProperty)(property);
1932
- entity = entityProperty.entity;
1933
- property = entityProperty.property;
2267
+ if (typeof parsed.where !== 'undefined') {
2268
+ const candidates = await candidatesOf(parsed.where, parsed.entity, recordData, indexed);
2269
+ if (typeof candidates !== 'undefined') {
2270
+ matchedFiles[parsed.entity] = candidates;
1934
2271
  }
1935
- if (!Object.prototype.hasOwnProperty.call(recordData, entity)) {
1936
- recordData[entity] = await (0, _retrieveRecord.retrieveRecord)(entity);
2272
+ }
2273
+ for (const condition of (0, _conditionTree.requiredConditions)(parsed.where)) {
2274
+ const {
2275
+ entity,
2276
+ property
2277
+ } = conditionField(condition, parsed.entity);
2278
+ if (entity === parsed.entity) {
2279
+ continue;
1937
2280
  }
1938
- const narrowMatchedFiles = async (entity, property, recordData, condition, dataSet, indexed) => {
1939
- const files = new Set((0, _where.where)(indexed[entity][property], {
1940
- property: 'value',
1941
- comparator: condition.comparator,
1942
- value: condition.value,
1943
- type: condition.type
1944
- }).flatMap(matchedRecord => matchedRecord.record));
1945
- matchedFiles[entity] = Object.prototype.hasOwnProperty.call(matchedFiles, entity) ? matchedFiles[entity].filter(file => files.has(file)) : [...files];
1946
- };
1947
- const isIndexed = await (0, _getMatchingIndexes.getMatchingIndexes)(entity, property, recordData, condition, dataSet, indexed, narrowMatchedFiles);
1948
- if (!isIndexed) {
1949
- reducedConditions.push(condition);
2281
+ const files = await indexedFiles(entity, property, condition, recordData, indexed);
2282
+ if (typeof files === 'undefined') {
2283
+ continue;
1950
2284
  }
2285
+ matchedFiles[entity] = Object.prototype.hasOwnProperty.call(matchedFiles, entity) ? new Set([...matchedFiles[entity]].filter(file => files.has(file))) : files;
1951
2286
  }
1952
2287
  for (const entity of Object.keys(matchedFiles)) {
1953
2288
  resolved.add(entity);
@@ -1956,11 +2291,10 @@ const getConditionIndexedList = async (parsed, recordData, dataSet, resolved = n
1956
2291
  dataSet[entity].push(await (0, _retrieveFile.retrieveFile)(`${entity}/${file}`));
1957
2292
  }
1958
2293
  }
1959
- parsed.conditions = reducedConditions;
1960
2294
  return parsed;
1961
2295
  };
1962
2296
  exports.getConditionIndexedList = getConditionIndexedList;
1963
- },{"../queries/where":33,"./getMatchingIndexes":42,"./parsers/isEntityProperty":58,"./parsers/splitEntityProperty":66,"./retrieveFile":75,"./retrieveRecord":77,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.filter.js":238,"core-js/modules/esnext.iterator.flat-map.js":240,"core-js/modules/esnext.set.add-all.js":258,"core-js/modules/esnext.set.delete-all.js":259,"core-js/modules/esnext.set.difference.js":260,"core-js/modules/esnext.set.every.js":261,"core-js/modules/esnext.set.filter.js":262,"core-js/modules/esnext.set.find.js":263,"core-js/modules/esnext.set.intersection.js":264,"core-js/modules/esnext.set.is-disjoint-from.js":265,"core-js/modules/esnext.set.is-subset-of.js":266,"core-js/modules/esnext.set.is-superset-of.js":267,"core-js/modules/esnext.set.join.js":268,"core-js/modules/esnext.set.map.js":269,"core-js/modules/esnext.set.reduce.js":270,"core-js/modules/esnext.set.some.js":271,"core-js/modules/esnext.set.symmetric-difference.js":272,"core-js/modules/esnext.set.union.js":273}],41:[function(require,module,exports){
2297
+ },{"../queries/where":33,"./conditionTree":37,"./isSingleFieldKey":45,"./parsers/isEntityProperty":60,"./parsers/splitEntityProperty":68,"./retrieveFile":77,"./retrieveIndexes":78,"./retrieveRecord":79,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.flat-map.js":242,"core-js/modules/esnext.iterator.for-each.js":243,"core-js/modules/esnext.iterator.some.js":246,"core-js/modules/esnext.set.add-all.js":260,"core-js/modules/esnext.set.delete-all.js":261,"core-js/modules/esnext.set.difference.js":262,"core-js/modules/esnext.set.every.js":263,"core-js/modules/esnext.set.filter.js":264,"core-js/modules/esnext.set.find.js":265,"core-js/modules/esnext.set.intersection.js":266,"core-js/modules/esnext.set.is-disjoint-from.js":267,"core-js/modules/esnext.set.is-subset-of.js":268,"core-js/modules/esnext.set.is-superset-of.js":269,"core-js/modules/esnext.set.join.js":270,"core-js/modules/esnext.set.map.js":271,"core-js/modules/esnext.set.reduce.js":272,"core-js/modules/esnext.set.some.js":273,"core-js/modules/esnext.set.symmetric-difference.js":274,"core-js/modules/esnext.set.union.js":275}],43:[function(require,module,exports){
1964
2298
  "use strict";
1965
2299
 
1966
2300
  Object.defineProperty(exports, "__esModule", {
@@ -2037,7 +2371,7 @@ const getJoinIndexedList = async (parsed, recordData, dataSets) => {
2037
2371
  return parsed;
2038
2372
  };
2039
2373
  exports.getJoinIndexedList = getJoinIndexedList;
2040
- },{"./getMatchingIndexes":42,"./matchIndexedJoins":44,"./parsers/splitEntityProperty":66,"./restrictIndexedList":74,"./retrieveRecord":77,"si-funciona":358}],42:[function(require,module,exports){
2374
+ },{"./getMatchingIndexes":44,"./matchIndexedJoins":46,"./parsers/splitEntityProperty":68,"./restrictIndexedList":76,"./retrieveRecord":79,"si-funciona":360}],44:[function(require,module,exports){
2041
2375
  "use strict";
2042
2376
 
2043
2377
  Object.defineProperty(exports, "__esModule", {
@@ -2066,7 +2400,7 @@ const getMatchingIndexes = async (entity, property, recordData, clause, dataSet,
2066
2400
  return isIndexed;
2067
2401
  };
2068
2402
  exports.getMatchingIndexes = getMatchingIndexes;
2069
- },{"./isSingleFieldKey":43,"./retrieveIndexes":76}],43:[function(require,module,exports){
2403
+ },{"./isSingleFieldKey":45,"./retrieveIndexes":78}],45:[function(require,module,exports){
2070
2404
  "use strict";
2071
2405
 
2072
2406
  Object.defineProperty(exports, "__esModule", {
@@ -2082,7 +2416,7 @@ exports.isSingleFieldKey = void 0;
2082
2416
  */
2083
2417
  const isSingleFieldKey = (key, property) => key.fields.length === 1 && key.fields[0] === property;
2084
2418
  exports.isSingleFieldKey = isSingleFieldKey;
2085
- },{}],44:[function(require,module,exports){
2419
+ },{}],46:[function(require,module,exports){
2086
2420
  "use strict";
2087
2421
 
2088
2422
  Object.defineProperty(exports, "__esModule", {
@@ -2146,7 +2480,7 @@ const matchIndexedJoins = (entity, indexedClone, dataSets) => async (focusEntity
2146
2480
  }
2147
2481
  };
2148
2482
  exports.matchIndexedJoins = matchIndexedJoins;
2149
- },{"../queries/where":33,"./fieldType":39,"./parsers/splitEntityProperty":66,"./retrieveFile":75,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.reduce.js":243,"si-funciona":358}],45:[function(require,module,exports){
2483
+ },{"../queries/where":33,"./fieldType":41,"./parsers/splitEntityProperty":68,"./retrieveFile":77,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.reduce.js":245,"si-funciona":360}],47:[function(require,module,exports){
2150
2484
  "use strict";
2151
2485
 
2152
2486
  Object.defineProperty(exports, "__esModule", {
@@ -2195,7 +2529,7 @@ const mergeJoin = async (propertyA = '', propertyB = '', dataSets = {}) => {
2195
2529
  return dataSets;
2196
2530
  };
2197
2531
  exports.mergeJoin = mergeJoin;
2198
- },{"../queries/readEntity":28,"../queries/where":33,"./fieldType":39,"./parsers/splitEntityProperty":66,"./retrieveRecord":77,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242}],46:[function(require,module,exports){
2532
+ },{"../queries/readEntity":28,"../queries/where":33,"./fieldType":41,"./parsers/splitEntityProperty":68,"./retrieveRecord":79,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244}],48:[function(require,module,exports){
2199
2533
  "use strict";
2200
2534
 
2201
2535
  Object.defineProperty(exports, "__esModule", {
@@ -2221,7 +2555,7 @@ const findCommand = (parsed, query) => {
2221
2555
  return query;
2222
2556
  };
2223
2557
  exports.findCommand = findCommand;
2224
- },{"./removeFromQuery":64}],47:[function(require,module,exports){
2558
+ },{"./removeFromQuery":66}],49:[function(require,module,exports){
2225
2559
  "use strict";
2226
2560
 
2227
2561
  Object.defineProperty(exports, "__esModule", {
@@ -2229,54 +2563,182 @@ Object.defineProperty(exports, "__esModule", {
2229
2563
  });
2230
2564
  exports.findConditions = void 0;
2231
2565
  require("core-js/modules/es.array.includes.js");
2232
- var _removeFromQuery = require("./removeFromQuery");
2566
+ require("core-js/modules/esnext.iterator.constructor.js");
2567
+ require("core-js/modules/esnext.iterator.flat-map.js");
2233
2568
  var _parseLiteralValue = require("./parseLiteralValue");
2569
+ var _conditionTree = require("../conditionTree");
2234
2570
  var _maskStrings = require("./maskStrings");
2235
- // `and`/`or`/`where` count only as whole words: in `on t.x = u.color where ...` the `or` is part of the name `color`
2236
- const conditionMatch = new RegExp(`(^|[^a-z0-9._-])(?:(and|or)\\s+)?(where)\\s+([a-z0-9_-]+\\.?[a-z0-9_-]*)\\s+(?:(is\\s+not\\s+null|is\\s+null|exists|does\\s+not\\s+exist)(?![a-z0-9_.-])|(=|!=|>|<|>=|<=|in|between|like)\\s+(${_maskStrings.placeholderSource}|(${_parseLiteralValue.numberSource})|${_maskStrings.arraySource}|(null)|(true)|(false)))`, 'ig');
2571
+ // Keywords count only as whole words: in `on t.x = u.color where ...` the `or` is part of the name `color`
2572
+ const wordEnd = '(?![a-z0-9_.-])';
2573
+ const keyword = words => new RegExp(`^(?:${words})${wordEnd}`, 'i');
2574
+ // One condition, at the start of the text: a field, then `is [not] null` / `exists` / `does not exist`, or a comparator
2575
+ // and a value (strings and arrays are placeholders by then, see maskStrings)
2576
+ const conditionMatch = new RegExp(`^([a-z0-9_-]+\\.?[a-z0-9_-]*)\\s+(?:(is\\s+not\\s+null|is\\s+null|exists|does\\s+not\\s+exist)${wordEnd}|(<>|!=|>=|<=|=|>|<|in|between|like)\\s+(${_maskStrings.placeholderSource}|(${_parseLiteralValue.numberSource})|${_maskStrings.arraySource}|(null)|(true)|(false)))`, 'i');
2577
+ // The clause keywords that end a where expression (outside brackets), and `and on` (a join clause's own `and`)
2578
+ const expressionEnd = keyword('sort|group|limit|offset|select|merge|on|where|and\\s+on');
2579
+ const whereMatch = new RegExp(`(^|[^a-z0-9._-])((?:(and|or)\\s+)?where)${wordEnd}`, 'i');
2580
+ /**
2581
+ * Read one condition from a match of conditionMatch.
2582
+ * @param match
2583
+ * @throws {Error} For a comparison with null, and a null between bound: they could never match (null equals nothing).
2584
+ */
2585
+ const readCondition = match => {
2586
+ const property = match[1];
2587
+ if (typeof match[2] !== 'undefined') {
2588
+ return {
2589
+ property,
2590
+ comparator: match[2].toLowerCase().replace(/\s+/g, ' '),
2591
+ value: null
2592
+ };
2593
+ }
2594
+ const comparator = match[3].toLowerCase();
2595
+ const value = (0, _parseLiteralValue.parseLiteralValue)(match, 5);
2596
+ if (value === null) {
2597
+ throw new Error(`\`${property} ${comparator} null\` never matches (null equals nothing, as in SQL): use \`${property} is null\` or \`${property} is not null\``);
2598
+ }
2599
+ if (comparator === 'between' && Array.isArray(value) && value.includes(null)) {
2600
+ throw new Error(`\`${property} between\` can't have a null bound: it would never match`);
2601
+ }
2602
+ return {
2603
+ property,
2604
+ comparator,
2605
+ value
2606
+ };
2607
+ };
2608
+ /**
2609
+ * Join nodes with `and` or `or`, flattening a child of the same kind into its parent (`a and (b and c)` is one `and` of
2610
+ * three), so the conditions every row must meet are all directly under the top-level `and` (see requiredConditions).
2611
+ * @param kind
2612
+ * @param nodes
2613
+ */
2614
+ const join = (kind, nodes) => {
2615
+ const children = nodes.flatMap(node => !(0, _conditionTree.isCondition)(node) && kind in node ? node[kind] : [node]);
2616
+ return children.length === 1 ? children[0] : kind === 'and' ? {
2617
+ and: children
2618
+ } : {
2619
+ or: children
2620
+ };
2621
+ };
2622
+ /**
2623
+ * Read one where expression from the masked query, starting at `start` (just after its `where`). Precedence, loosest
2624
+ * first: `or`, `and`, `not`; brackets group. `and where` / `or where` are the older spellings of `and` / `or`.
2625
+ * @param text
2626
+ * @param start
2627
+ * @returns The expression's tree and where it ends (the next clause keyword outside brackets, or the end).
2628
+ * @throws {Error} For an unbalanced bracket, empty brackets, or an operator with no condition after it.
2629
+ */
2630
+ const readExpression = (text, start) => {
2631
+ let at = start;
2632
+ const rest = () => text.slice(at);
2633
+ const skipSpace = () => {
2634
+ at += rest().length - rest().trimStart().length;
2635
+ };
2636
+ const take = pattern => {
2637
+ skipSpace();
2638
+ const found = rest().match(pattern);
2639
+ if (!found) {
2640
+ return undefined;
2641
+ }
2642
+ at += found[0].length;
2643
+ return found[0];
2644
+ };
2645
+ const shown = () => (0, _maskStrings.unmaskStrings)(rest().trim(), '\'');
2646
+ const factor = after => {
2647
+ skipSpace();
2648
+ // A condition first, so a field named like a keyword (`not = 1`, `exists exists`) still reads as a field
2649
+ const condition = rest().match(conditionMatch);
2650
+ if (condition) {
2651
+ at += condition[0].length;
2652
+ return readCondition(condition);
2653
+ }
2654
+ if (take(keyword('not'))) {
2655
+ return {
2656
+ not: factor('not')
2657
+ };
2658
+ }
2659
+ if (take(/^\(/)) {
2660
+ skipSpace();
2661
+ if (rest().startsWith(')')) {
2662
+ throw new Error('Empty brackets in a where clause');
2663
+ }
2664
+ const node = expression('(');
2665
+ // The query scanner already refuses unbalanced brackets (scanQuery); this guards a direct call
2666
+ if (!take(/^\)/)) {
2667
+ throw new Error(`Missing ) ${rest().trim() ? `before: ${shown()}` : 'at the end of the where clause'}`);
2668
+ }
2669
+ return node;
2670
+ }
2671
+ throw new Error(`Missing a condition after ${after}${rest().trim() ? `: ${shown()}` : ''}`);
2672
+ };
2673
+ const term = after => {
2674
+ const nodes = [factor(after)];
2675
+ for (;;) {
2676
+ skipSpace();
2677
+ if (keyword('and\\s+on').test(rest())) {
2678
+ break;
2679
+ }
2680
+ const connector = take(keyword('and(?:\\s+where)?'));
2681
+ if (!connector) {
2682
+ break;
2683
+ }
2684
+ nodes.push(factor(connector.toLowerCase().replace(/\s+/g, ' ')));
2685
+ }
2686
+ return join('and', nodes);
2687
+ };
2688
+ const expression = after => {
2689
+ const nodes = [term(after)];
2690
+ for (;;) {
2691
+ const connector = take(keyword('or(?:\\s+where)?'));
2692
+ if (!connector) {
2693
+ break;
2694
+ }
2695
+ nodes.push(term(connector.toLowerCase().replace(/\s+/g, ' ')));
2696
+ }
2697
+ return join('or', nodes);
2698
+ };
2699
+ const node = expression('where');
2700
+ skipSpace();
2701
+ if (rest().startsWith(')')) {
2702
+ throw new Error(`Unexpected ) in a where clause: ${shown()}`);
2703
+ }
2704
+ if (rest() && !expressionEnd.test(rest()) && conditionMatch.test(rest())) {
2705
+ throw new Error(`Missing and/or before: ${shown()}`);
2706
+ }
2707
+ return {
2708
+ node,
2709
+ end: at
2710
+ };
2711
+ };
2237
2712
  /**
2238
- * Extract condition clauses from the query: `where <field> <comparator> <value>`, or `where <field> is null`,
2239
- * `is not null`, `exists` or `does not exist` (no value), each further one joined with `and where`. A comparison
2240
- * with the literal null (`= null`) is refused: it would never match, as null equals nothing (see where). `or where` is refused until or is built (TASKS: the where-clauses epic): it used to be read the same as
2241
- * `and where`, which silently returned the wrong rows.
2713
+ * Extract the where clause from the query into a tree (see ConditionNode): `where` followed by conditions joined with
2714
+ * `and` / `or`, `not`, and brackets, nested to any depth. Each condition is `<field> <comparator> <value>`, or
2715
+ * `<field> is null`, `is not null`, `exists` or `does not exist`. A comparison with the literal null (`= null`) is
2716
+ * refused: it would never match, as null equals nothing (see where). The expression ends at the next clause keyword
2717
+ * outside brackets, so clauses may come in any order; several separate `where`s (or `and where` after another clause)
2718
+ * are joined with `and`, as before.
2242
2719
  * @param parsed
2243
2720
  * @param query
2244
- * @throws {Error} For `or where`, and for a comparison with null.
2721
+ * @throws {Error} For the errors readExpression and readCondition describe, and `or where` after another clause.
2245
2722
  */
2246
2723
  const findConditions = (parsed, query) => {
2247
- const conditionsFound = query.matchAll(conditionMatch);
2248
- // @ts-ignore
2249
- for (const condition of conditionsFound) {
2250
- if (typeof condition[2] !== 'undefined' && condition[2].toLowerCase() === 'or') {
2251
- throw new Error('`or where` is not supported yet: use `and where`, or run one query per alternative');
2252
- }
2253
- if (typeof condition[5] !== 'undefined') {
2254
- parsed['conditions'].push({
2255
- property: condition[4],
2256
- comparator: condition[5].toLowerCase().replace(/\s+/g, ' '),
2257
- value: null
2258
- });
2259
- } else {
2260
- const value = (0, _parseLiteralValue.parseLiteralValue)(condition, 8);
2261
- if (value === null) {
2262
- throw new Error(`\`${condition[4]} ${condition[6]} null\` never matches (null equals nothing, as in SQL): use \`${condition[4]} is null\` or \`${condition[4]} is not null\``);
2263
- }
2264
- if (condition[6].toLowerCase() === 'between' && Array.isArray(value) && value.includes(null)) {
2265
- throw new Error(`\`${condition[4]} between\` can't have a null bound: it would never match`);
2266
- }
2267
- parsed['conditions'].push({
2268
- property: condition[4],
2269
- comparator: condition[6],
2270
- value
2271
- });
2724
+ const expressions = [];
2725
+ for (let found = query.match(whereMatch); found; found = query.match(whereMatch)) {
2726
+ if ((found[3] || '').toLowerCase() === 'or') {
2727
+ throw new Error('`or where` must follow the conditions it joins: put them in one where clause');
2272
2728
  }
2273
- // Leave out the character before the condition (group 1): it isn't part of it, and an earlier removal may have trimmed it
2274
- query = (0, _removeFromQuery.removeFromQuery)(condition[0].slice(condition[1].length), query);
2729
+ const whereStart = found.index + found[1].length;
2730
+ const {
2731
+ node,
2732
+ end
2733
+ } = readExpression(query, whereStart + found[2].length);
2734
+ expressions.push(node);
2735
+ query = `${query.slice(0, whereStart)} ${query.slice(end)}`.replace(/\s+/g, ' ').trim();
2275
2736
  }
2737
+ parsed['where'] = expressions.length ? join('and', expressions) : (0, _conditionTree.allOf)([]);
2276
2738
  return query;
2277
2739
  };
2278
2740
  exports.findConditions = findConditions;
2279
- },{"./maskStrings":59,"./parseLiteralValue":61,"./removeFromQuery":64,"core-js/modules/es.array.includes.js":220}],48:[function(require,module,exports){
2741
+ },{"../conditionTree":37,"./maskStrings":61,"./parseLiteralValue":63,"core-js/modules/es.array.includes.js":222,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.flat-map.js":242}],50:[function(require,module,exports){
2280
2742
  "use strict";
2281
2743
 
2282
2744
  Object.defineProperty(exports, "__esModule", {
@@ -2299,7 +2761,7 @@ const findGroupBy = (parsed, query) => {
2299
2761
  return query;
2300
2762
  };
2301
2763
  exports.findGroupBy = findGroupBy;
2302
- },{"./removeFromQuery":64}],49:[function(require,module,exports){
2764
+ },{"./removeFromQuery":66}],51:[function(require,module,exports){
2303
2765
  "use strict";
2304
2766
 
2305
2767
  Object.defineProperty(exports, "__esModule", {
@@ -2335,7 +2797,7 @@ const findInsertValues = (parsed, query) => {
2335
2797
  return (0, _removeFromQuery.removeFromQuery)(clauseFound[0], query);
2336
2798
  };
2337
2799
  exports.findInsertValues = findInsertValues;
2338
- },{"./maskStrings":59,"./parseLiteralValue":61,"./removeFromQuery":64}],50:[function(require,module,exports){
2800
+ },{"./maskStrings":61,"./parseLiteralValue":63,"./removeFromQuery":66}],52:[function(require,module,exports){
2339
2801
  "use strict";
2340
2802
 
2341
2803
  Object.defineProperty(exports, "__esModule", {
@@ -2363,7 +2825,7 @@ const findJoinClauses = (parsed, query) => {
2363
2825
  return query;
2364
2826
  };
2365
2827
  exports.findJoinClauses = findJoinClauses;
2366
- },{"./removeFromQuery":64}],51:[function(require,module,exports){
2828
+ },{"./removeFromQuery":66}],53:[function(require,module,exports){
2367
2829
  "use strict";
2368
2830
 
2369
2831
  Object.defineProperty(exports, "__esModule", {
@@ -2388,7 +2850,7 @@ const findJoinEntity = (parsed, query) => {
2388
2850
  return query;
2389
2851
  };
2390
2852
  exports.findJoinEntity = findJoinEntity;
2391
- },{"./removeFromQuery":64}],52:[function(require,module,exports){
2853
+ },{"./removeFromQuery":66}],54:[function(require,module,exports){
2392
2854
  "use strict";
2393
2855
 
2394
2856
  Object.defineProperty(exports, "__esModule", {
@@ -2411,7 +2873,7 @@ const findLimit = (parsed, query) => {
2411
2873
  return query;
2412
2874
  };
2413
2875
  exports.findLimit = findLimit;
2414
- },{"./removeFromQuery":64}],53:[function(require,module,exports){
2876
+ },{"./removeFromQuery":66}],55:[function(require,module,exports){
2415
2877
  "use strict";
2416
2878
 
2417
2879
  Object.defineProperty(exports, "__esModule", {
@@ -2438,7 +2900,7 @@ const findMergeJoins = (parsed, query) => {
2438
2900
  return query;
2439
2901
  };
2440
2902
  exports.findMergeJoins = findMergeJoins;
2441
- },{"./removeFromQuery":64}],54:[function(require,module,exports){
2903
+ },{"./removeFromQuery":66}],56:[function(require,module,exports){
2442
2904
  "use strict";
2443
2905
 
2444
2906
  Object.defineProperty(exports, "__esModule", {
@@ -2461,7 +2923,7 @@ const findOffset = (parsed, query) => {
2461
2923
  return query;
2462
2924
  };
2463
2925
  exports.findOffset = findOffset;
2464
- },{"./removeFromQuery":64}],55:[function(require,module,exports){
2926
+ },{"./removeFromQuery":66}],57:[function(require,module,exports){
2465
2927
  "use strict";
2466
2928
 
2467
2929
  Object.defineProperty(exports, "__esModule", {
@@ -2495,7 +2957,7 @@ const findSelects = (parsed, query) => {
2495
2957
  return query;
2496
2958
  };
2497
2959
  exports.findSelects = findSelects;
2498
- },{"./removeFromQuery":64}],56:[function(require,module,exports){
2960
+ },{"./removeFromQuery":66}],58:[function(require,module,exports){
2499
2961
  "use strict";
2500
2962
 
2501
2963
  Object.defineProperty(exports, "__esModule", {
@@ -2529,7 +2991,7 @@ const findSortClauses = (parsed, query) => {
2529
2991
  return query;
2530
2992
  };
2531
2993
  exports.findSortClauses = findSortClauses;
2532
- },{"./removeFromQuery":64}],57:[function(require,module,exports){
2994
+ },{"./removeFromQuery":66}],59:[function(require,module,exports){
2533
2995
  "use strict";
2534
2996
 
2535
2997
  Object.defineProperty(exports, "__esModule", {
@@ -2565,7 +3027,7 @@ const findUpdateValues = (parsed, query) => {
2565
3027
  return (0, _removeFromQuery.removeFromQuery)(clauseFound[0], query);
2566
3028
  };
2567
3029
  exports.findUpdateValues = findUpdateValues;
2568
- },{"./maskStrings":59,"./parseLiteralValue":61,"./removeFromQuery":64}],58:[function(require,module,exports){
3030
+ },{"./maskStrings":61,"./parseLiteralValue":63,"./removeFromQuery":66}],60:[function(require,module,exports){
2569
3031
  "use strict";
2570
3032
 
2571
3033
  Object.defineProperty(exports, "__esModule", {
@@ -2574,7 +3036,7 @@ Object.defineProperty(exports, "__esModule", {
2574
3036
  exports.isEntityProperty = void 0;
2575
3037
  const isEntityProperty = property => /^[a-z0-9_-]+\.([a-z0-9_-]+)$/i.test(property);
2576
3038
  exports.isEntityProperty = isEntityProperty;
2577
- },{}],59:[function(require,module,exports){
3039
+ },{}],61:[function(require,module,exports){
2578
3040
  "use strict";
2579
3041
 
2580
3042
  Object.defineProperty(exports, "__esModule", {
@@ -2702,7 +3164,7 @@ const maskArrays = masked => {
2702
3164
  return depth > 0 ? result + masked.slice(start) : result;
2703
3165
  };
2704
3166
  exports.maskArrays = maskArrays;
2705
- },{"./scanQuery":65,"core-js/modules/es.json.stringify.js":231,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242,"core-js/modules/esnext.iterator.some.js":244}],60:[function(require,module,exports){
3167
+ },{"./scanQuery":67,"core-js/modules/es.json.stringify.js":233,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244,"core-js/modules/esnext.iterator.some.js":246}],62:[function(require,module,exports){
2706
3168
  "use strict";
2707
3169
 
2708
3170
  Object.defineProperty(exports, "__esModule", {
@@ -3035,7 +3497,7 @@ const parseCreate = query => {
3035
3497
  };
3036
3498
  };
3037
3499
  exports.parseCreate = parseCreate;
3038
- },{"../../introspect/policies/typeCheck":13,"./maskStrings":59,"./parseLiteralValue":61,"./startsQuery":68,"core-js/modules/es.array.includes.js":220,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.filter.js":238,"core-js/modules/esnext.iterator.find.js":239,"core-js/modules/esnext.iterator.map.js":242,"core-js/modules/esnext.iterator.some.js":244,"core-js/modules/esnext.set.add-all.js":258,"core-js/modules/esnext.set.delete-all.js":259,"core-js/modules/esnext.set.difference.js":260,"core-js/modules/esnext.set.every.js":261,"core-js/modules/esnext.set.filter.js":262,"core-js/modules/esnext.set.find.js":263,"core-js/modules/esnext.set.intersection.js":264,"core-js/modules/esnext.set.is-disjoint-from.js":265,"core-js/modules/esnext.set.is-subset-of.js":266,"core-js/modules/esnext.set.is-superset-of.js":267,"core-js/modules/esnext.set.join.js":268,"core-js/modules/esnext.set.map.js":269,"core-js/modules/esnext.set.reduce.js":270,"core-js/modules/esnext.set.some.js":271,"core-js/modules/esnext.set.symmetric-difference.js":272,"core-js/modules/esnext.set.union.js":273}],61:[function(require,module,exports){
3500
+ },{"../../introspect/policies/typeCheck":13,"./maskStrings":61,"./parseLiteralValue":63,"./startsQuery":70,"core-js/modules/es.array.includes.js":222,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.filter.js":240,"core-js/modules/esnext.iterator.find.js":241,"core-js/modules/esnext.iterator.map.js":244,"core-js/modules/esnext.iterator.some.js":246,"core-js/modules/esnext.set.add-all.js":260,"core-js/modules/esnext.set.delete-all.js":261,"core-js/modules/esnext.set.difference.js":262,"core-js/modules/esnext.set.every.js":263,"core-js/modules/esnext.set.filter.js":264,"core-js/modules/esnext.set.find.js":265,"core-js/modules/esnext.set.intersection.js":266,"core-js/modules/esnext.set.is-disjoint-from.js":267,"core-js/modules/esnext.set.is-subset-of.js":268,"core-js/modules/esnext.set.is-superset-of.js":269,"core-js/modules/esnext.set.join.js":270,"core-js/modules/esnext.set.map.js":271,"core-js/modules/esnext.set.reduce.js":272,"core-js/modules/esnext.set.some.js":273,"core-js/modules/esnext.set.symmetric-difference.js":274,"core-js/modules/esnext.set.union.js":275}],63:[function(require,module,exports){
3039
3501
  "use strict";
3040
3502
 
3041
3503
  Object.defineProperty(exports, "__esModule", {
@@ -3099,7 +3561,7 @@ const parseLiteralValue = (match, baseIndex) => {
3099
3561
  return false;
3100
3562
  };
3101
3563
  exports.parseLiteralValue = parseLiteralValue;
3102
- },{"./maskStrings":59}],62:[function(require,module,exports){
3564
+ },{"./maskStrings":61}],64:[function(require,module,exports){
3103
3565
  "use strict";
3104
3566
 
3105
3567
  Object.defineProperty(exports, "__esModule", {
@@ -3136,7 +3598,7 @@ const parseQuery = query => {
3136
3598
  selectClauses: [],
3137
3599
  insertValues: [],
3138
3600
  updateValues: {},
3139
- conditions: [],
3601
+ where: undefined,
3140
3602
  joinClauses: [],
3141
3603
  mergeJoins: [],
3142
3604
  sortClauses: [],
@@ -3177,7 +3639,7 @@ const parseQuery = query => {
3177
3639
  return parsedQuery;
3178
3640
  };
3179
3641
  exports.parseQuery = parseQuery;
3180
- },{"./findCommand":46,"./findConditions":47,"./findGroupBy":48,"./findInsertValues":49,"./findJoinClauses":50,"./findJoinEntity":51,"./findLimit":52,"./findMergeJoins":53,"./findOffset":54,"./findSelects":55,"./findSortClauses":56,"./findUpdateValues":57,"./maskStrings":59,"./parseCreate":60,"./parseSchemaStatement":63,"./startsQuery":68,"si-funciona":358}],63:[function(require,module,exports){
3642
+ },{"./findCommand":48,"./findConditions":49,"./findGroupBy":50,"./findInsertValues":51,"./findJoinClauses":52,"./findJoinEntity":53,"./findLimit":54,"./findMergeJoins":55,"./findOffset":56,"./findSelects":57,"./findSortClauses":58,"./findUpdateValues":59,"./maskStrings":61,"./parseCreate":62,"./parseSchemaStatement":65,"./startsQuery":70,"si-funciona":360}],65:[function(require,module,exports){
3181
3643
  "use strict";
3182
3644
 
3183
3645
  Object.defineProperty(exports, "__esModule", {
@@ -3260,7 +3722,7 @@ const parseSchemaStatement = query => {
3260
3722
  };
3261
3723
  };
3262
3724
  exports.parseSchemaStatement = parseSchemaStatement;
3263
- },{"./maskStrings":59,"./startsQuery":68}],64:[function(require,module,exports){
3725
+ },{"./maskStrings":61,"./startsQuery":70}],66:[function(require,module,exports){
3264
3726
  "use strict";
3265
3727
 
3266
3728
  Object.defineProperty(exports, "__esModule", {
@@ -3269,7 +3731,7 @@ Object.defineProperty(exports, "__esModule", {
3269
3731
  exports.removeFromQuery = void 0;
3270
3732
  const removeFromQuery = (substring, query) => query.replace(substring, '').trim();
3271
3733
  exports.removeFromQuery = removeFromQuery;
3272
- },{}],65:[function(require,module,exports){
3734
+ },{}],67:[function(require,module,exports){
3273
3735
  "use strict";
3274
3736
 
3275
3737
  Object.defineProperty(exports, "__esModule", {
@@ -3428,7 +3890,7 @@ const assertClosed = scanned => {
3428
3890
  return scanned;
3429
3891
  };
3430
3892
  exports.assertClosed = assertClosed;
3431
- },{}],66:[function(require,module,exports){
3893
+ },{}],68:[function(require,module,exports){
3432
3894
  "use strict";
3433
3895
 
3434
3896
  Object.defineProperty(exports, "__esModule", {
@@ -3452,7 +3914,7 @@ const splitEntityProperty = entityProp => {
3452
3914
  };
3453
3915
  };
3454
3916
  exports.splitEntityProperty = splitEntityProperty;
3455
- },{}],67:[function(require,module,exports){
3917
+ },{}],69:[function(require,module,exports){
3456
3918
  "use strict";
3457
3919
 
3458
3920
  Object.defineProperty(exports, "__esModule", {
@@ -3482,7 +3944,7 @@ const splitQueries = (queries = '') => {
3482
3944
  return [...semicolons, uncommented.length].map((end, index) => uncommented.slice(index === 0 ? 0 : semicolons[index - 1] + 1, end).trim()).filter(query => query.length > 0);
3483
3945
  };
3484
3946
  exports.splitQueries = splitQueries;
3485
- },{"./scanQuery":65,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.filter.js":238,"core-js/modules/esnext.iterator.reduce.js":243}],68:[function(require,module,exports){
3947
+ },{"./scanQuery":67,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.filter.js":240,"core-js/modules/esnext.iterator.reduce.js":245}],70:[function(require,module,exports){
3486
3948
  "use strict";
3487
3949
 
3488
3950
  Object.defineProperty(exports, "__esModule", {
@@ -3493,7 +3955,7 @@ exports.startsQueryMatch = void 0;
3493
3955
  * Matches text that starts with a command word, for the "Missing ; before" error when a query runs on into the next.
3494
3956
  */
3495
3957
  const startsQueryMatch = exports.startsQueryMatch = /^\s*(create|delete|describe|drop|insert|read|show|update)(?![a-z0-9_-])/i;
3496
- },{}],69:[function(require,module,exports){
3958
+ },{}],71:[function(require,module,exports){
3497
3959
  "use strict";
3498
3960
 
3499
3961
  Object.defineProperty(exports, "__esModule", {
@@ -3520,7 +3982,7 @@ const reconcileJoin = (dataSet, entityName, entityKey, joinEntity, joinProp) =>
3520
3982
  return dataSet;
3521
3983
  };
3522
3984
  exports.reconcileJoin = reconcileJoin;
3523
- },{"../queries/where":33,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.for-each.js":241}],70:[function(require,module,exports){
3985
+ },{"../queries/where":33,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.for-each.js":243}],72:[function(require,module,exports){
3524
3986
  "use strict";
3525
3987
 
3526
3988
  Object.defineProperty(exports, "__esModule", {
@@ -3547,7 +4009,7 @@ const reconcileJoins = (propertyA, propertyB, dataSet) => {
3547
4009
  return dataSet;
3548
4010
  };
3549
4011
  exports.reconcileJoins = reconcileJoins;
3550
- },{"./parsers/splitEntityProperty":66,"./reconcileJoin":69}],71:[function(require,module,exports){
4012
+ },{"./parsers/splitEntityProperty":68,"./reconcileJoin":71}],73:[function(require,module,exports){
3551
4013
  "use strict";
3552
4014
 
3553
4015
  Object.defineProperty(exports, "__esModule", {
@@ -3566,7 +4028,7 @@ const recordExists = entity => {
3566
4028
  return existsSync(`${(0, _config.getSetting)('databasePath', 'database/')}${entity}.json`);
3567
4029
  };
3568
4030
  exports.recordExists = recordExists;
3569
- },{"./config":36,"fs":84}],72:[function(require,module,exports){
4031
+ },{"./config":38,"fs":86}],74:[function(require,module,exports){
3570
4032
  "use strict";
3571
4033
 
3572
4034
  Object.defineProperty(exports, "__esModule", {
@@ -3634,7 +4096,7 @@ const registerRecord = async recordName => {
3634
4096
  return registry;
3635
4097
  };
3636
4098
  exports.registerRecord = registerRecord;
3637
- },{"./config":36,"core-js/modules/es.array.includes.js":220,"core-js/modules/es.json.stringify.js":231,"fs/promises":84}],73:[function(require,module,exports){
4099
+ },{"./config":38,"core-js/modules/es.array.includes.js":222,"core-js/modules/es.json.stringify.js":233,"fs/promises":86}],75:[function(require,module,exports){
3638
4100
  "use strict";
3639
4101
 
3640
4102
  Object.defineProperty(exports, "__esModule", {
@@ -3681,7 +4143,7 @@ const removeFromIndex = async (path = '', key = null, value = undefined, fileNam
3681
4143
  return index;
3682
4144
  };
3683
4145
  exports.removeFromIndex = removeFromIndex;
3684
- },{"./compareAs":34,"./config":36,"core-js/modules/es.json.stringify.js":231,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.filter.js":238,"core-js/modules/esnext.iterator.map.js":242,"fs/promises":84}],74:[function(require,module,exports){
4146
+ },{"./compareAs":34,"./config":38,"core-js/modules/es.json.stringify.js":233,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.filter.js":240,"core-js/modules/esnext.iterator.map.js":244,"fs/promises":86}],76:[function(require,module,exports){
3685
4147
  "use strict";
3686
4148
 
3687
4149
  Object.defineProperty(exports, "__esModule", {
@@ -3727,7 +4189,7 @@ const restrictIndexedList = (joinClause, filterJoins, indexedClone) => {
3727
4189
  return indexedClone;
3728
4190
  };
3729
4191
  exports.restrictIndexedList = restrictIndexedList;
3730
- },{"./parsers/splitEntityProperty":66}],75:[function(require,module,exports){
4192
+ },{"./parsers/splitEntityProperty":68}],77:[function(require,module,exports){
3731
4193
  "use strict";
3732
4194
 
3733
4195
  require("core-js/modules/esnext.weak-map.delete-all.js");
@@ -3756,7 +4218,7 @@ const retrieveFile = async path => {
3756
4218
  return recordInfo;
3757
4219
  };
3758
4220
  exports.retrieveFile = retrieveFile;
3759
- },{"./config":36,"browser-or-node":83,"core-js/modules/esnext.weak-map.delete-all.js":274,"fs/promises":84}],76:[function(require,module,exports){
4221
+ },{"./config":38,"browser-or-node":85,"core-js/modules/esnext.weak-map.delete-all.js":276,"fs/promises":86}],78:[function(require,module,exports){
3760
4222
  "use strict";
3761
4223
 
3762
4224
  Object.defineProperty(exports, "__esModule", {
@@ -3781,7 +4243,7 @@ const retrieveIndexes = async (entity = '', properties = [], recordData = {}) =>
3781
4243
  return indexSet;
3782
4244
  };
3783
4245
  exports.retrieveIndexes = retrieveIndexes;
3784
- },{"./isSingleFieldKey":43,"./retrieveFile":75,"./retrieveRecord":77}],77:[function(require,module,exports){
4246
+ },{"./isSingleFieldKey":45,"./retrieveFile":77,"./retrieveRecord":79}],79:[function(require,module,exports){
3785
4247
  "use strict";
3786
4248
 
3787
4249
  Object.defineProperty(exports, "__esModule", {
@@ -3791,7 +4253,7 @@ exports.retrieveRecord = void 0;
3791
4253
  var _retrieveFile = require("./retrieveFile");
3792
4254
  const retrieveRecord = async (entity = '') => await (0, _retrieveFile.retrieveFile)(`${entity}.json`);
3793
4255
  exports.retrieveRecord = retrieveRecord;
3794
- },{"./retrieveFile":75}],78:[function(require,module,exports){
4256
+ },{"./retrieveFile":77}],80:[function(require,module,exports){
3795
4257
  "use strict";
3796
4258
 
3797
4259
  Object.defineProperty(exports, "__esModule", {
@@ -3813,15 +4275,13 @@ const retrieveRecords = async (entity = '') => {
3813
4275
  return dataSet;
3814
4276
  };
3815
4277
  exports.retrieveRecords = retrieveRecords;
3816
- },{"./retrieveFile":75,"./retrieveRecord":77}],79:[function(require,module,exports){
4278
+ },{"./retrieveFile":77,"./retrieveRecord":79}],81:[function(require,module,exports){
3817
4279
  "use strict";
3818
4280
 
3819
4281
  Object.defineProperty(exports, "__esModule", {
3820
4282
  value: true
3821
4283
  });
3822
4284
  exports.runQuery = void 0;
3823
- require("core-js/modules/esnext.iterator.constructor.js");
3824
- require("core-js/modules/esnext.iterator.reduce.js");
3825
4285
  require("core-js/modules/esnext.set.add-all.js");
3826
4286
  require("core-js/modules/esnext.set.delete-all.js");
3827
4287
  require("core-js/modules/esnext.set.difference.js");
@@ -3859,6 +4319,8 @@ var _getJoinIndexedList = require("./getJoinIndexedList");
3859
4319
  var _isEntityProperty = require("./parsers/isEntityProperty");
3860
4320
  var _splitEntityProperty = require("./parsers/splitEntityProperty");
3861
4321
  var _fieldType = require("./fieldType");
4322
+ var _conditionTree = require("./conditionTree");
4323
+ var _conditionEntities = require("./conditionEntities");
3862
4324
  /**
3863
4325
  * Give each condition and sort clause its field's declared type, so where and sortBy compare by it
3864
4326
  * (a joined entity's field is looked up on that entity's record).
@@ -3866,7 +4328,7 @@ var _fieldType = require("./fieldType");
3866
4328
  * @param recordData
3867
4329
  */
3868
4330
  const typeClauses = async (parsed, recordData) => {
3869
- for (const clause of [...parsed.conditions, ...parsed.sortClauses]) {
4331
+ for (const clause of [...(0, _conditionTree.conditionsOf)(parsed.where), ...parsed.sortClauses]) {
3870
4332
  let entity = parsed.entity;
3871
4333
  let property = clause.property;
3872
4334
  if ((0, _isEntityProperty.isEntityProperty)(property)) {
@@ -3882,6 +4344,8 @@ const typeClauses = async (parsed, recordData) => {
3882
4344
  }
3883
4345
  };
3884
4346
  const runQuery = async parsed => {
4347
+ // Checked before anything is read: which entity each condition is on, and whether it needs per-pair evaluation
4348
+ const perPair = typeof parsed.where !== 'undefined' && (0, _conditionEntities.conditionEntities)(parsed);
3885
4349
  // Schema statements act on the database, not on entries (for create there is no record to read yet)
3886
4350
  switch (parsed.command) {
3887
4351
  case 'create':
@@ -3914,7 +4378,7 @@ const runQuery = async parsed => {
3914
4378
  // An indexed condition that matches nothing leaves dataSet[entity] at [] - the same state it starts in before
3915
4379
  // anything has looked at it at all. readEntity() (below) can't tell those two states apart on its own (it reloads
3916
4380
  // whenever the array is empty), so getConditionIndexedList reports which entities it resolved: once any indexed
3917
- // condition has narrowed entity's rows, they are final (the conditions left over are applied to them below) and
4381
+ // condition has narrowed entity's rows, they are the candidates (every condition is applied to them below) and
3918
4382
  // must not be reloaded. This used to ask whether EVERY condition was indexed, so `where date = 'none' and where
3919
4383
  // reps = 10` reloaded every row and returned, updated or deleted all rows with reps 10.
3920
4384
  const resolved = new Set();
@@ -3923,13 +4387,13 @@ const runQuery = async parsed => {
3923
4387
  parsed = await (0, _getJoinIndexedList.getJoinIndexedList)(parsed, recordData, dataSet);
3924
4388
  // delete/update act on whatever is already in dataSet[entity] - unlike read, which loads
3925
4389
  // everything and lets the where-reduce below narrow it down afterward, they never get a second
3926
- // pass. So the matching rows have to be fully resolved (indexed conditions already are, via
3927
- // getConditionIndexedList above; anything left in parsed.conditions is not) before either runs.
4390
+ // pass. So every condition is applied to the candidates (all rows, or the ones the indexes picked)
4391
+ // before either runs.
3928
4392
  if (parsed.command === 'delete' || parsed.command === 'update') {
3929
4393
  if (!entityResolved) {
3930
4394
  dataSet = await (0, _readEntity.readEntity)(parsed.entity, dataSet);
3931
4395
  }
3932
- dataSet[parsed.entity] = parsed.conditions.reduce((remainingData, condition) => (0, _where.where)(remainingData, condition), dataSet[parsed.entity]);
4396
+ dataSet[parsed.entity] = (0, _where.whereTree)(dataSet[parsed.entity], parsed.where);
3933
4397
  }
3934
4398
  switch (parsed.command) {
3935
4399
  case 'delete':
@@ -3949,16 +4413,14 @@ const runQuery = async parsed => {
3949
4413
  default:
3950
4414
  throw new Error(`Unknown command: ${parsed.command}`);
3951
4415
  }
3952
- dataSet = await (0, _joinEntity.joinEntity)(parsed.entity, parsed.joinEntity, dataSet, parsed.joinClauses, entityResolved);
4416
+ dataSet = await (0, _joinEntity.joinEntity)(parsed.entity, parsed.joinEntity, dataSet, parsed.joinClauses, entityResolved, resolved.has(parsed.joinEntity));
3953
4417
  dataSet = await (0, _mergeJoins.mergeJoins)(dataSet, parsed.mergeJoins);
3954
- // delete/update already had parsed.conditions applied above, before they ran. Re-applying the
4418
+ // delete/update already had parsed.where applied above, before they ran. Re-applying the
3955
4419
  // same conditions here would be wrong, not just redundant, for update specifically: if the
3956
4420
  // update just changed the very field a condition filters on, re-checking that condition against
3957
4421
  // the now-changed data would filter the just-updated rows back out.
3958
4422
  if (parsed.command !== 'delete' && parsed.command !== 'update') {
3959
- dataSet[parsed.entity] = parsed.conditions.reduce((remainingData, condition) => {
3960
- return (0, _where.where)(remainingData, condition);
3961
- }, dataSet[parsed.entity]);
4423
+ dataSet[parsed.entity] = (0, _where.whereTree)(dataSet[parsed.entity], parsed.where, perPair ? parsed.joinEntity : undefined);
3962
4424
  }
3963
4425
  dataSet[parsed.entity] = (0, _sortBy.sortBy)(dataSet[parsed.entity], parsed.sortClauses);
3964
4426
  dataSet[parsed.entity] = (0, _limitOffset.limitOffset)(dataSet[parsed.entity], parsed.offset, parsed.limit);
@@ -3967,7 +4429,7 @@ const runQuery = async parsed => {
3967
4429
  return dataSet;
3968
4430
  };
3969
4431
  exports.runQuery = runQuery;
3970
- },{"../queries/createRecord":15,"../queries/deleteEntity":16,"../queries/describeRecord":17,"../queries/dropRecord":18,"../queries/groupBy":19,"../queries/insertEntity":20,"../queries/joinEntity":21,"../queries/limitOffset":22,"../queries/mergeJoins":23,"../queries/readEntity":28,"../queries/selectFields":29,"../queries/showRecords":30,"../queries/sortBy":31,"../queries/updateEntity":32,"../queries/where":33,"./fieldType":39,"./getConditionIndexedList":40,"./getJoinIndexedList":41,"./parsers/isEntityProperty":58,"./parsers/splitEntityProperty":66,"./retrieveRecord":77,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.reduce.js":243,"core-js/modules/esnext.set.add-all.js":258,"core-js/modules/esnext.set.delete-all.js":259,"core-js/modules/esnext.set.difference.js":260,"core-js/modules/esnext.set.every.js":261,"core-js/modules/esnext.set.filter.js":262,"core-js/modules/esnext.set.find.js":263,"core-js/modules/esnext.set.intersection.js":264,"core-js/modules/esnext.set.is-disjoint-from.js":265,"core-js/modules/esnext.set.is-subset-of.js":266,"core-js/modules/esnext.set.is-superset-of.js":267,"core-js/modules/esnext.set.join.js":268,"core-js/modules/esnext.set.map.js":269,"core-js/modules/esnext.set.reduce.js":270,"core-js/modules/esnext.set.some.js":271,"core-js/modules/esnext.set.symmetric-difference.js":272,"core-js/modules/esnext.set.union.js":273}],80:[function(require,module,exports){
4432
+ },{"../queries/createRecord":15,"../queries/deleteEntity":16,"../queries/describeRecord":17,"../queries/dropRecord":18,"../queries/groupBy":19,"../queries/insertEntity":20,"../queries/joinEntity":21,"../queries/limitOffset":22,"../queries/mergeJoins":23,"../queries/readEntity":28,"../queries/selectFields":29,"../queries/showRecords":30,"../queries/sortBy":31,"../queries/updateEntity":32,"../queries/where":33,"./conditionEntities":36,"./conditionTree":37,"./fieldType":41,"./getConditionIndexedList":42,"./getJoinIndexedList":43,"./parsers/isEntityProperty":60,"./parsers/splitEntityProperty":68,"./retrieveRecord":79,"core-js/modules/esnext.set.add-all.js":260,"core-js/modules/esnext.set.delete-all.js":261,"core-js/modules/esnext.set.difference.js":262,"core-js/modules/esnext.set.every.js":263,"core-js/modules/esnext.set.filter.js":264,"core-js/modules/esnext.set.find.js":265,"core-js/modules/esnext.set.intersection.js":266,"core-js/modules/esnext.set.is-disjoint-from.js":267,"core-js/modules/esnext.set.is-subset-of.js":268,"core-js/modules/esnext.set.is-superset-of.js":269,"core-js/modules/esnext.set.join.js":270,"core-js/modules/esnext.set.map.js":271,"core-js/modules/esnext.set.reduce.js":272,"core-js/modules/esnext.set.some.js":273,"core-js/modules/esnext.set.symmetric-difference.js":274,"core-js/modules/esnext.set.union.js":275}],82:[function(require,module,exports){
3971
4433
  "use strict";
3972
4434
 
3973
4435
  Object.defineProperty(exports, "__esModule", {
@@ -4026,7 +4488,7 @@ const updateIndex = async (path = '', key = null, value = undefined, fileName =
4026
4488
  return index;
4027
4489
  };
4028
4490
  exports.updateIndex = updateIndex;
4029
- },{"./compareAs":34,"./config":36,"core-js/modules/es.array.includes.js":220,"core-js/modules/es.json.stringify.js":231,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.find.js":239,"fs/promises":84}],81:[function(require,module,exports){
4491
+ },{"./compareAs":34,"./config":38,"core-js/modules/es.array.includes.js":222,"core-js/modules/es.json.stringify.js":233,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.find.js":241,"fs/promises":86}],83:[function(require,module,exports){
4030
4492
  "use strict";
4031
4493
 
4032
4494
  Object.defineProperty(exports, "__esModule", {
@@ -4084,7 +4546,7 @@ const useJoinClause = async ({
4084
4546
  return filterJoins;
4085
4547
  };
4086
4548
  exports.useJoinClause = useJoinClause;
4087
- },{"../queries/readEntity":28,"../queries/where":33,"./fieldType":39,"./parsers/splitEntityProperty":66,"./retrieveRecord":77,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.reduce.js":243,"si-funciona":358}],82:[function(require,module,exports){
4549
+ },{"../queries/readEntity":28,"../queries/where":33,"./fieldType":41,"./parsers/splitEntityProperty":68,"./retrieveRecord":79,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.reduce.js":245,"si-funciona":360}],84:[function(require,module,exports){
4088
4550
  "use strict";
4089
4551
 
4090
4552
  require("core-js/modules/esnext.async-iterator.constructor.js");
@@ -4141,7 +4603,7 @@ var _quote = require("./data/queries/quote");
4141
4603
  var _queryStatus = require("./data/queries/queryStatus");
4142
4604
  var _introspect = require("./data/introspect");
4143
4605
  var _config = require("./data/utilities/config");
4144
- },{"./data/introspect":8,"./data/queries/query":25,"./data/queries/queryStatus":26,"./data/queries/quote":27,"./data/utilities/config":36,"core-js/modules/esnext.async-iterator.constructor.js":233,"core-js/modules/esnext.async-iterator.drop.js":234,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.drop.js":236}],83:[function(require,module,exports){
4606
+ },{"./data/introspect":8,"./data/queries/query":25,"./data/queries/queryStatus":26,"./data/queries/quote":27,"./data/utilities/config":38,"core-js/modules/esnext.async-iterator.constructor.js":235,"core-js/modules/esnext.async-iterator.drop.js":236,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.drop.js":238}],85:[function(require,module,exports){
4145
4607
  (function (process){(function (){
4146
4608
  var __defProp = Object.defineProperty;
4147
4609
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -4199,9 +4661,9 @@ var isBun = typeof process !== "undefined" && process.versions != null && proces
4199
4661
  });
4200
4662
 
4201
4663
  }).call(this)}).call(this,require('_process'))
4202
- },{"_process":278}],84:[function(require,module,exports){
4664
+ },{"_process":280}],86:[function(require,module,exports){
4203
4665
 
4204
- },{}],85:[function(require,module,exports){
4666
+ },{}],87:[function(require,module,exports){
4205
4667
  'use strict';
4206
4668
  var isCallable = require('../internals/is-callable');
4207
4669
  var tryToString = require('../internals/try-to-string');
@@ -4214,7 +4676,7 @@ module.exports = function (argument) {
4214
4676
  throw new $TypeError(tryToString(argument) + ' is not a function');
4215
4677
  };
4216
4678
 
4217
- },{"../internals/is-callable":141,"../internals/try-to-string":212}],86:[function(require,module,exports){
4679
+ },{"../internals/is-callable":143,"../internals/try-to-string":214}],88:[function(require,module,exports){
4218
4680
  'use strict';
4219
4681
  var has = require('../internals/map-helpers').has;
4220
4682
 
@@ -4224,7 +4686,7 @@ module.exports = function (it) {
4224
4686
  return it;
4225
4687
  };
4226
4688
 
4227
- },{"../internals/map-helpers":161}],87:[function(require,module,exports){
4689
+ },{"../internals/map-helpers":163}],89:[function(require,module,exports){
4228
4690
  'use strict';
4229
4691
  var has = require('../internals/set-helpers').has;
4230
4692
 
@@ -4234,7 +4696,7 @@ module.exports = function (it) {
4234
4696
  return it;
4235
4697
  };
4236
4698
 
4237
- },{"../internals/set-helpers":187}],88:[function(require,module,exports){
4699
+ },{"../internals/set-helpers":189}],90:[function(require,module,exports){
4238
4700
  'use strict';
4239
4701
  var has = require('../internals/weak-map-helpers').has;
4240
4702
 
@@ -4244,7 +4706,7 @@ module.exports = function (it) {
4244
4706
  return it;
4245
4707
  };
4246
4708
 
4247
- },{"../internals/weak-map-helpers":217}],89:[function(require,module,exports){
4709
+ },{"../internals/weak-map-helpers":219}],91:[function(require,module,exports){
4248
4710
  'use strict';
4249
4711
  var has = require('../internals/weak-set-helpers').has;
4250
4712
 
@@ -4254,7 +4716,7 @@ module.exports = function (it) {
4254
4716
  return it;
4255
4717
  };
4256
4718
 
4257
- },{"../internals/weak-set-helpers":218}],90:[function(require,module,exports){
4719
+ },{"../internals/weak-set-helpers":220}],92:[function(require,module,exports){
4258
4720
  'use strict';
4259
4721
  var wellKnownSymbol = require('../internals/well-known-symbol');
4260
4722
  var create = require('../internals/object-create');
@@ -4277,7 +4739,7 @@ module.exports = function (key) {
4277
4739
  ArrayPrototype[UNSCOPABLES][key] = true;
4278
4740
  };
4279
4741
 
4280
- },{"../internals/object-create":166,"../internals/object-define-property":168,"../internals/well-known-symbol":219}],91:[function(require,module,exports){
4742
+ },{"../internals/object-create":168,"../internals/object-define-property":170,"../internals/well-known-symbol":221}],93:[function(require,module,exports){
4281
4743
  'use strict';
4282
4744
  var isPrototypeOf = require('../internals/object-is-prototype-of');
4283
4745
 
@@ -4288,7 +4750,7 @@ module.exports = function (it, Prototype) {
4288
4750
  throw new $TypeError('Incorrect invocation');
4289
4751
  };
4290
4752
 
4291
- },{"../internals/object-is-prototype-of":173}],92:[function(require,module,exports){
4753
+ },{"../internals/object-is-prototype-of":175}],94:[function(require,module,exports){
4292
4754
  'use strict';
4293
4755
  var isObject = require('../internals/is-object');
4294
4756
 
@@ -4301,7 +4763,7 @@ module.exports = function (argument) {
4301
4763
  throw new $TypeError($String(argument) + ' is not an object');
4302
4764
  };
4303
4765
 
4304
- },{"../internals/is-object":145}],93:[function(require,module,exports){
4766
+ },{"../internals/is-object":147}],95:[function(require,module,exports){
4305
4767
  'use strict';
4306
4768
  var toIndexedObject = require('../internals/to-indexed-object');
4307
4769
  var toAbsoluteIndex = require('../internals/to-absolute-index');
@@ -4337,7 +4799,7 @@ module.exports = {
4337
4799
  indexOf: createMethod(false)
4338
4800
  };
4339
4801
 
4340
- },{"../internals/length-of-array-like":159,"../internals/to-absolute-index":201,"../internals/to-indexed-object":202}],94:[function(require,module,exports){
4802
+ },{"../internals/length-of-array-like":161,"../internals/to-absolute-index":203,"../internals/to-indexed-object":204}],96:[function(require,module,exports){
4341
4803
  'use strict';
4342
4804
  var call = require('../internals/function-call');
4343
4805
  var perform = require('../internals/perform');
@@ -4483,7 +4945,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
4483
4945
  return AsyncIteratorProxy;
4484
4946
  };
4485
4947
 
4486
- },{"../internals/an-object":92,"../internals/async-iterator-prototype":95,"../internals/create-iter-result-object":101,"../internals/create-non-enumerable-property":102,"../internals/define-built-ins":107,"../internals/function-call":119,"../internals/get-built-in":124,"../internals/get-method":129,"../internals/internal-state":138,"../internals/iterator-cleanup-state":151,"../internals/object-create":166,"../internals/perform":180,"../internals/well-known-symbol":219}],95:[function(require,module,exports){
4948
+ },{"../internals/an-object":94,"../internals/async-iterator-prototype":97,"../internals/create-iter-result-object":103,"../internals/create-non-enumerable-property":104,"../internals/define-built-ins":109,"../internals/function-call":121,"../internals/get-built-in":126,"../internals/get-method":131,"../internals/internal-state":140,"../internals/iterator-cleanup-state":153,"../internals/object-create":168,"../internals/perform":182,"../internals/well-known-symbol":221}],97:[function(require,module,exports){
4487
4949
  'use strict';
4488
4950
  var globalThis = require('../internals/global-this');
4489
4951
  var shared = require('../internals/shared-store');
@@ -4523,7 +4985,7 @@ if (!isCallable(AsyncIteratorPrototype[ASYNC_ITERATOR])) {
4523
4985
 
4524
4986
  module.exports = AsyncIteratorPrototype;
4525
4987
 
4526
- },{"../internals/define-built-in":106,"../internals/global-this":131,"../internals/is-callable":141,"../internals/is-pure":146,"../internals/object-create":166,"../internals/object-get-prototype-of":172,"../internals/shared-store":197,"../internals/well-known-symbol":219}],96:[function(require,module,exports){
4988
+ },{"../internals/define-built-in":108,"../internals/global-this":133,"../internals/is-callable":143,"../internals/is-pure":148,"../internals/object-create":168,"../internals/object-get-prototype-of":174,"../internals/shared-store":199,"../internals/well-known-symbol":221}],98:[function(require,module,exports){
4527
4989
  'use strict';
4528
4990
  var anObject = require('../internals/an-object');
4529
4991
  var iteratorClose = require('../internals/iterator-close');
@@ -4537,7 +4999,7 @@ module.exports = function (iterator, fn, value, ENTRIES) {
4537
4999
  }
4538
5000
  };
4539
5001
 
4540
- },{"../internals/an-object":92,"../internals/iterator-close":153}],97:[function(require,module,exports){
5002
+ },{"../internals/an-object":94,"../internals/iterator-close":155}],99:[function(require,module,exports){
4541
5003
  'use strict';
4542
5004
  var uncurryThis = require('../internals/function-uncurry-this');
4543
5005
 
@@ -4548,7 +5010,7 @@ module.exports = function (it) {
4548
5010
  return stringSlice(toString(it), 8, -1);
4549
5011
  };
4550
5012
 
4551
- },{"../internals/function-uncurry-this":123}],98:[function(require,module,exports){
5013
+ },{"../internals/function-uncurry-this":125}],100:[function(require,module,exports){
4552
5014
  'use strict';
4553
5015
  var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');
4554
5016
  var isCallable = require('../internals/is-callable');
@@ -4580,7 +5042,7 @@ module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
4580
5042
  : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;
4581
5043
  };
4582
5044
 
4583
- },{"../internals/classof-raw":97,"../internals/is-callable":141,"../internals/to-string-tag-support":210,"../internals/well-known-symbol":219}],99:[function(require,module,exports){
5045
+ },{"../internals/classof-raw":99,"../internals/is-callable":143,"../internals/to-string-tag-support":212,"../internals/well-known-symbol":221}],101:[function(require,module,exports){
4584
5046
  'use strict';
4585
5047
  var hasOwn = require('../internals/has-own-property');
4586
5048
  var ownKeys = require('../internals/own-keys');
@@ -4599,7 +5061,7 @@ module.exports = function (target, source, exceptions) {
4599
5061
  }
4600
5062
  };
4601
5063
 
4602
- },{"../internals/has-own-property":132,"../internals/object-define-property":168,"../internals/object-get-own-property-descriptor":169,"../internals/own-keys":178}],100:[function(require,module,exports){
5064
+ },{"../internals/has-own-property":134,"../internals/object-define-property":170,"../internals/object-get-own-property-descriptor":171,"../internals/own-keys":180}],102:[function(require,module,exports){
4603
5065
  'use strict';
4604
5066
  var fails = require('../internals/fails');
4605
5067
 
@@ -4610,7 +5072,7 @@ module.exports = !fails(function () {
4610
5072
  return Object.getPrototypeOf(new F()) !== F.prototype;
4611
5073
  });
4612
5074
 
4613
- },{"../internals/fails":115}],101:[function(require,module,exports){
5075
+ },{"../internals/fails":117}],103:[function(require,module,exports){
4614
5076
  'use strict';
4615
5077
  // `CreateIterResultObject` abstract operation
4616
5078
  // https://tc39.es/ecma262/#sec-createiterresultobject
@@ -4618,7 +5080,7 @@ module.exports = function (value, done) {
4618
5080
  return { value: value, done: done };
4619
5081
  };
4620
5082
 
4621
- },{}],102:[function(require,module,exports){
5083
+ },{}],104:[function(require,module,exports){
4622
5084
  'use strict';
4623
5085
  var DESCRIPTORS = require('../internals/descriptors');
4624
5086
  var definePropertyModule = require('../internals/object-define-property');
@@ -4631,7 +5093,7 @@ module.exports = DESCRIPTORS ? function (object, key, value) {
4631
5093
  return object;
4632
5094
  };
4633
5095
 
4634
- },{"../internals/create-property-descriptor":103,"../internals/descriptors":109,"../internals/object-define-property":168}],103:[function(require,module,exports){
5096
+ },{"../internals/create-property-descriptor":105,"../internals/descriptors":111,"../internals/object-define-property":170}],105:[function(require,module,exports){
4635
5097
  'use strict';
4636
5098
  module.exports = function (bitmap, value) {
4637
5099
  return {
@@ -4642,7 +5104,7 @@ module.exports = function (bitmap, value) {
4642
5104
  };
4643
5105
  };
4644
5106
 
4645
- },{}],104:[function(require,module,exports){
5107
+ },{}],106:[function(require,module,exports){
4646
5108
  'use strict';
4647
5109
  var DESCRIPTORS = require('../internals/descriptors');
4648
5110
  var definePropertyModule = require('../internals/object-define-property');
@@ -4653,7 +5115,7 @@ module.exports = function (object, key, value) {
4653
5115
  else object[key] = value;
4654
5116
  };
4655
5117
 
4656
- },{"../internals/create-property-descriptor":103,"../internals/descriptors":109,"../internals/object-define-property":168}],105:[function(require,module,exports){
5118
+ },{"../internals/create-property-descriptor":105,"../internals/descriptors":111,"../internals/object-define-property":170}],107:[function(require,module,exports){
4657
5119
  'use strict';
4658
5120
  var makeBuiltIn = require('../internals/make-built-in');
4659
5121
  var defineProperty = require('../internals/object-define-property');
@@ -4664,7 +5126,7 @@ module.exports = function (target, name, descriptor) {
4664
5126
  return defineProperty.f(target, name, descriptor);
4665
5127
  };
4666
5128
 
4667
- },{"../internals/make-built-in":160,"../internals/object-define-property":168}],106:[function(require,module,exports){
5129
+ },{"../internals/make-built-in":162,"../internals/object-define-property":170}],108:[function(require,module,exports){
4668
5130
  'use strict';
4669
5131
  var isCallable = require('../internals/is-callable');
4670
5132
  var definePropertyModule = require('../internals/object-define-property');
@@ -4694,7 +5156,7 @@ module.exports = function (O, key, value, options) {
4694
5156
  } return O;
4695
5157
  };
4696
5158
 
4697
- },{"../internals/define-global-property":108,"../internals/is-callable":141,"../internals/make-built-in":160,"../internals/object-define-property":168}],107:[function(require,module,exports){
5159
+ },{"../internals/define-global-property":110,"../internals/is-callable":143,"../internals/make-built-in":162,"../internals/object-define-property":170}],109:[function(require,module,exports){
4698
5160
  'use strict';
4699
5161
  var defineBuiltIn = require('../internals/define-built-in');
4700
5162
 
@@ -4703,7 +5165,7 @@ module.exports = function (target, src, options) {
4703
5165
  return target;
4704
5166
  };
4705
5167
 
4706
- },{"../internals/define-built-in":106}],108:[function(require,module,exports){
5168
+ },{"../internals/define-built-in":108}],110:[function(require,module,exports){
4707
5169
  'use strict';
4708
5170
  var globalThis = require('../internals/global-this');
4709
5171
 
@@ -4718,7 +5180,7 @@ module.exports = function (key, value) {
4718
5180
  } return value;
4719
5181
  };
4720
5182
 
4721
- },{"../internals/global-this":131}],109:[function(require,module,exports){
5183
+ },{"../internals/global-this":133}],111:[function(require,module,exports){
4722
5184
  'use strict';
4723
5185
  var fails = require('../internals/fails');
4724
5186
 
@@ -4728,7 +5190,7 @@ module.exports = !fails(function () {
4728
5190
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;
4729
5191
  });
4730
5192
 
4731
- },{"../internals/fails":115}],110:[function(require,module,exports){
5193
+ },{"../internals/fails":117}],112:[function(require,module,exports){
4732
5194
  'use strict';
4733
5195
  var globalThis = require('../internals/global-this');
4734
5196
  var isObject = require('../internals/is-object');
@@ -4741,7 +5203,7 @@ module.exports = function (it) {
4741
5203
  return EXISTS ? document.createElement(it) : {};
4742
5204
  };
4743
5205
 
4744
- },{"../internals/global-this":131,"../internals/is-object":145}],111:[function(require,module,exports){
5206
+ },{"../internals/global-this":133,"../internals/is-object":147}],113:[function(require,module,exports){
4745
5207
  'use strict';
4746
5208
  // IE8- don't enum bug keys
4747
5209
  module.exports = [
@@ -4754,7 +5216,7 @@ module.exports = [
4754
5216
  'valueOf'
4755
5217
  ];
4756
5218
 
4757
- },{}],112:[function(require,module,exports){
5219
+ },{}],114:[function(require,module,exports){
4758
5220
  'use strict';
4759
5221
  var globalThis = require('../internals/global-this');
4760
5222
 
@@ -4763,7 +5225,7 @@ var userAgent = navigator && navigator.userAgent;
4763
5225
 
4764
5226
  module.exports = userAgent ? String(userAgent) : '';
4765
5227
 
4766
- },{"../internals/global-this":131}],113:[function(require,module,exports){
5228
+ },{"../internals/global-this":133}],115:[function(require,module,exports){
4767
5229
  'use strict';
4768
5230
  var globalThis = require('../internals/global-this');
4769
5231
  var userAgent = require('../internals/environment-user-agent');
@@ -4793,7 +5255,7 @@ if (!version && userAgent) {
4793
5255
 
4794
5256
  module.exports = version;
4795
5257
 
4796
- },{"../internals/environment-user-agent":112,"../internals/global-this":131}],114:[function(require,module,exports){
5258
+ },{"../internals/environment-user-agent":114,"../internals/global-this":133}],116:[function(require,module,exports){
4797
5259
  'use strict';
4798
5260
  var globalThis = require('../internals/global-this');
4799
5261
  var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
@@ -4850,7 +5312,7 @@ module.exports = function (options, source) {
4850
5312
  }
4851
5313
  };
4852
5314
 
4853
- },{"../internals/copy-constructor-properties":99,"../internals/create-non-enumerable-property":102,"../internals/define-built-in":106,"../internals/define-global-property":108,"../internals/global-this":131,"../internals/is-forced":142,"../internals/object-get-own-property-descriptor":169}],115:[function(require,module,exports){
5315
+ },{"../internals/copy-constructor-properties":101,"../internals/create-non-enumerable-property":104,"../internals/define-built-in":108,"../internals/define-global-property":110,"../internals/global-this":133,"../internals/is-forced":144,"../internals/object-get-own-property-descriptor":171}],117:[function(require,module,exports){
4854
5316
  'use strict';
4855
5317
  module.exports = function (exec) {
4856
5318
  try {
@@ -4860,7 +5322,7 @@ module.exports = function (exec) {
4860
5322
  }
4861
5323
  };
4862
5324
 
4863
- },{}],116:[function(require,module,exports){
5325
+ },{}],118:[function(require,module,exports){
4864
5326
  'use strict';
4865
5327
  var NATIVE_BIND = require('../internals/function-bind-native');
4866
5328
 
@@ -4873,7 +5335,7 @@ module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? c
4873
5335
  return call.apply(apply, arguments);
4874
5336
  });
4875
5337
 
4876
- },{"../internals/function-bind-native":118}],117:[function(require,module,exports){
5338
+ },{"../internals/function-bind-native":120}],119:[function(require,module,exports){
4877
5339
  'use strict';
4878
5340
  var uncurryThis = require('../internals/function-uncurry-this-clause');
4879
5341
  var aCallable = require('../internals/a-callable');
@@ -4889,7 +5351,7 @@ module.exports = function (fn, that) {
4889
5351
  };
4890
5352
  };
4891
5353
 
4892
- },{"../internals/a-callable":85,"../internals/function-bind-native":118,"../internals/function-uncurry-this-clause":122}],118:[function(require,module,exports){
5354
+ },{"../internals/a-callable":87,"../internals/function-bind-native":120,"../internals/function-uncurry-this-clause":124}],120:[function(require,module,exports){
4893
5355
  'use strict';
4894
5356
  var fails = require('../internals/fails');
4895
5357
 
@@ -4900,7 +5362,7 @@ module.exports = !fails(function () {
4900
5362
  return typeof test != 'function' || test.hasOwnProperty('prototype');
4901
5363
  });
4902
5364
 
4903
- },{"../internals/fails":115}],119:[function(require,module,exports){
5365
+ },{"../internals/fails":117}],121:[function(require,module,exports){
4904
5366
  'use strict';
4905
5367
  var NATIVE_BIND = require('../internals/function-bind-native');
4906
5368
 
@@ -4910,7 +5372,7 @@ module.exports = NATIVE_BIND ? call.bind(call) : function () {
4910
5372
  return call.apply(call, arguments);
4911
5373
  };
4912
5374
 
4913
- },{"../internals/function-bind-native":118}],120:[function(require,module,exports){
5375
+ },{"../internals/function-bind-native":120}],122:[function(require,module,exports){
4914
5376
  'use strict';
4915
5377
  var DESCRIPTORS = require('../internals/descriptors');
4916
5378
  var hasOwn = require('../internals/has-own-property');
@@ -4930,7 +5392,7 @@ module.exports = {
4930
5392
  CONFIGURABLE: CONFIGURABLE
4931
5393
  };
4932
5394
 
4933
- },{"../internals/descriptors":109,"../internals/has-own-property":132}],121:[function(require,module,exports){
5395
+ },{"../internals/descriptors":111,"../internals/has-own-property":134}],123:[function(require,module,exports){
4934
5396
  'use strict';
4935
5397
  var uncurryThis = require('../internals/function-uncurry-this');
4936
5398
  var aCallable = require('../internals/a-callable');
@@ -4942,7 +5404,7 @@ module.exports = function (object, key, method) {
4942
5404
  } catch (error) { /* empty */ }
4943
5405
  };
4944
5406
 
4945
- },{"../internals/a-callable":85,"../internals/function-uncurry-this":123}],122:[function(require,module,exports){
5407
+ },{"../internals/a-callable":87,"../internals/function-uncurry-this":125}],124:[function(require,module,exports){
4946
5408
  'use strict';
4947
5409
  var classofRaw = require('../internals/classof-raw');
4948
5410
  var uncurryThis = require('../internals/function-uncurry-this');
@@ -4954,7 +5416,7 @@ module.exports = function (fn) {
4954
5416
  if (classofRaw(fn) === 'Function') return uncurryThis(fn);
4955
5417
  };
4956
5418
 
4957
- },{"../internals/classof-raw":97,"../internals/function-uncurry-this":123}],123:[function(require,module,exports){
5419
+ },{"../internals/classof-raw":99,"../internals/function-uncurry-this":125}],125:[function(require,module,exports){
4958
5420
  'use strict';
4959
5421
  var NATIVE_BIND = require('../internals/function-bind-native');
4960
5422
 
@@ -4969,7 +5431,7 @@ module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
4969
5431
  };
4970
5432
  };
4971
5433
 
4972
- },{"../internals/function-bind-native":118}],124:[function(require,module,exports){
5434
+ },{"../internals/function-bind-native":120}],126:[function(require,module,exports){
4973
5435
  'use strict';
4974
5436
  var globalThis = require('../internals/global-this');
4975
5437
  var isCallable = require('../internals/is-callable');
@@ -4982,7 +5444,7 @@ module.exports = function (namespace, method) {
4982
5444
  return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];
4983
5445
  };
4984
5446
 
4985
- },{"../internals/global-this":131,"../internals/is-callable":141}],125:[function(require,module,exports){
5447
+ },{"../internals/global-this":133,"../internals/is-callable":143}],127:[function(require,module,exports){
4986
5448
  'use strict';
4987
5449
  // `GetIteratorDirect(obj)` abstract operation
4988
5450
  // https://tc39.es/ecma262/#sec-getiteratordirect
@@ -4994,7 +5456,7 @@ module.exports = function (obj) {
4994
5456
  };
4995
5457
  };
4996
5458
 
4997
- },{}],126:[function(require,module,exports){
5459
+ },{}],128:[function(require,module,exports){
4998
5460
  'use strict';
4999
5461
  var call = require('../internals/function-call');
5000
5462
  var anObject = require('../internals/an-object');
@@ -5007,7 +5469,7 @@ module.exports = function (obj, stringHandling) {
5007
5469
  return getIteratorDirect(anObject(method !== undefined ? call(method, obj) : obj));
5008
5470
  };
5009
5471
 
5010
- },{"../internals/an-object":92,"../internals/function-call":119,"../internals/get-iterator-direct":125,"../internals/get-iterator-method-internal":128}],127:[function(require,module,exports){
5472
+ },{"../internals/an-object":94,"../internals/function-call":121,"../internals/get-iterator-direct":127,"../internals/get-iterator-method-internal":130}],129:[function(require,module,exports){
5011
5473
  'use strict';
5012
5474
  var call = require('../internals/function-call');
5013
5475
  var isCallable = require('../internals/is-callable');
@@ -5023,7 +5485,7 @@ module.exports = function (argument, usingIterator) {
5023
5485
  throw new $TypeError(tryToString(argument) + ' is not iterable');
5024
5486
  };
5025
5487
 
5026
- },{"../internals/an-object":92,"../internals/function-call":119,"../internals/get-iterator-method-internal":128,"../internals/is-callable":141,"../internals/try-to-string":212}],128:[function(require,module,exports){
5488
+ },{"../internals/an-object":94,"../internals/function-call":121,"../internals/get-iterator-method-internal":130,"../internals/is-callable":143,"../internals/try-to-string":214}],130:[function(require,module,exports){
5027
5489
  'use strict';
5028
5490
  var classof = require('../internals/classof-raw');
5029
5491
  var isNullOrUndefined = require('../internals/is-null-or-undefined');
@@ -5039,7 +5501,7 @@ module.exports = function (it) {
5039
5501
  || (classof(it) === 'Arguments' ? ArrayPrototype[ITERATOR] : undefined);
5040
5502
  };
5041
5503
 
5042
- },{"../internals/classof-raw":97,"../internals/get-method":129,"../internals/is-null-or-undefined":144,"../internals/well-known-symbol":219}],129:[function(require,module,exports){
5504
+ },{"../internals/classof-raw":99,"../internals/get-method":131,"../internals/is-null-or-undefined":146,"../internals/well-known-symbol":221}],131:[function(require,module,exports){
5043
5505
  'use strict';
5044
5506
  var aCallable = require('../internals/a-callable');
5045
5507
  var isNullOrUndefined = require('../internals/is-null-or-undefined');
@@ -5051,7 +5513,7 @@ module.exports = function (V, P) {
5051
5513
  return isNullOrUndefined(func) ? undefined : aCallable(func);
5052
5514
  };
5053
5515
 
5054
- },{"../internals/a-callable":85,"../internals/is-null-or-undefined":144}],130:[function(require,module,exports){
5516
+ },{"../internals/a-callable":87,"../internals/is-null-or-undefined":146}],132:[function(require,module,exports){
5055
5517
  'use strict';
5056
5518
  var aCallable = require('../internals/a-callable');
5057
5519
  var anObject = require('../internals/an-object');
@@ -5093,7 +5555,7 @@ module.exports = function (obj) {
5093
5555
  return new SetRecord(obj, intSize);
5094
5556
  };
5095
5557
 
5096
- },{"../internals/a-callable":85,"../internals/an-object":92,"../internals/function-call":119,"../internals/get-iterator-direct":125,"../internals/to-integer-or-infinity":203}],131:[function(require,module,exports){
5558
+ },{"../internals/a-callable":87,"../internals/an-object":94,"../internals/function-call":121,"../internals/get-iterator-direct":127,"../internals/to-integer-or-infinity":205}],133:[function(require,module,exports){
5097
5559
  (function (global){(function (){
5098
5560
  'use strict';
5099
5561
  var check = function (it) {
@@ -5113,7 +5575,7 @@ module.exports =
5113
5575
  (function () { return this; })() || Function('return this')();
5114
5576
 
5115
5577
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
5116
- },{}],132:[function(require,module,exports){
5578
+ },{}],134:[function(require,module,exports){
5117
5579
  'use strict';
5118
5580
  var uncurryThis = require('../internals/function-uncurry-this');
5119
5581
  var toObject = require('../internals/to-object');
@@ -5127,17 +5589,17 @@ module.exports = Object.hasOwn || function hasOwn(it, key) {
5127
5589
  return hasOwnProperty(toObject(it), key);
5128
5590
  };
5129
5591
 
5130
- },{"../internals/function-uncurry-this":123,"../internals/to-object":205}],133:[function(require,module,exports){
5592
+ },{"../internals/function-uncurry-this":125,"../internals/to-object":207}],135:[function(require,module,exports){
5131
5593
  'use strict';
5132
5594
  module.exports = {};
5133
5595
 
5134
- },{}],134:[function(require,module,exports){
5596
+ },{}],136:[function(require,module,exports){
5135
5597
  'use strict';
5136
5598
  var getBuiltIn = require('../internals/get-built-in');
5137
5599
 
5138
5600
  module.exports = getBuiltIn('document', 'documentElement');
5139
5601
 
5140
- },{"../internals/get-built-in":124}],135:[function(require,module,exports){
5602
+ },{"../internals/get-built-in":126}],137:[function(require,module,exports){
5141
5603
  'use strict';
5142
5604
  var DESCRIPTORS = require('../internals/descriptors');
5143
5605
  var fails = require('../internals/fails');
@@ -5151,7 +5613,7 @@ module.exports = !DESCRIPTORS && !fails(function () {
5151
5613
  }).a !== 7;
5152
5614
  });
5153
5615
 
5154
- },{"../internals/descriptors":109,"../internals/document-create-element":110,"../internals/fails":115}],136:[function(require,module,exports){
5616
+ },{"../internals/descriptors":111,"../internals/document-create-element":112,"../internals/fails":117}],138:[function(require,module,exports){
5155
5617
  'use strict';
5156
5618
  var uncurryThis = require('../internals/function-uncurry-this');
5157
5619
  var fails = require('../internals/fails');
@@ -5169,7 +5631,7 @@ module.exports = fails(function () {
5169
5631
  return classof(it) === 'String' ? split(it, '') : $Object(it);
5170
5632
  } : $Object;
5171
5633
 
5172
- },{"../internals/classof-raw":97,"../internals/fails":115,"../internals/function-uncurry-this":123}],137:[function(require,module,exports){
5634
+ },{"../internals/classof-raw":99,"../internals/fails":117,"../internals/function-uncurry-this":125}],139:[function(require,module,exports){
5173
5635
  'use strict';
5174
5636
  var uncurryThis = require('../internals/function-uncurry-this');
5175
5637
  var isCallable = require('../internals/is-callable');
@@ -5186,7 +5648,7 @@ if (!isCallable(store.inspectSource)) {
5186
5648
 
5187
5649
  module.exports = store.inspectSource;
5188
5650
 
5189
- },{"../internals/function-uncurry-this":123,"../internals/is-callable":141,"../internals/shared-store":197}],138:[function(require,module,exports){
5651
+ },{"../internals/function-uncurry-this":125,"../internals/is-callable":143,"../internals/shared-store":199}],140:[function(require,module,exports){
5190
5652
  'use strict';
5191
5653
  var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');
5192
5654
  var globalThis = require('../internals/global-this');
@@ -5259,7 +5721,7 @@ module.exports = {
5259
5721
  getterFor: getterFor
5260
5722
  };
5261
5723
 
5262
- },{"../internals/create-non-enumerable-property":102,"../internals/global-this":131,"../internals/has-own-property":132,"../internals/hidden-keys":133,"../internals/is-object":145,"../internals/shared-key":196,"../internals/shared-store":197,"../internals/weak-map-basic-detection":216}],139:[function(require,module,exports){
5724
+ },{"../internals/create-non-enumerable-property":104,"../internals/global-this":133,"../internals/has-own-property":134,"../internals/hidden-keys":135,"../internals/is-object":147,"../internals/shared-key":198,"../internals/shared-store":199,"../internals/weak-map-basic-detection":218}],141:[function(require,module,exports){
5263
5725
  'use strict';
5264
5726
  var wellKnownSymbol = require('../internals/well-known-symbol');
5265
5727
  var Iterators = require('../internals/iterators');
@@ -5272,7 +5734,7 @@ module.exports = function (it) {
5272
5734
  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
5273
5735
  };
5274
5736
 
5275
- },{"../internals/iterators":158,"../internals/well-known-symbol":219}],140:[function(require,module,exports){
5737
+ },{"../internals/iterators":160,"../internals/well-known-symbol":221}],142:[function(require,module,exports){
5276
5738
  'use strict';
5277
5739
  var classof = require('../internals/classof-raw');
5278
5740
 
@@ -5283,7 +5745,7 @@ module.exports = Array.isArray || function isArray(argument) {
5283
5745
  return classof(argument) === 'Array';
5284
5746
  };
5285
5747
 
5286
- },{"../internals/classof-raw":97}],141:[function(require,module,exports){
5748
+ },{"../internals/classof-raw":99}],143:[function(require,module,exports){
5287
5749
  'use strict';
5288
5750
  // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
5289
5751
  var documentAll = typeof document == 'object' && document.all;
@@ -5297,7 +5759,7 @@ module.exports = typeof documentAll == 'undefined' && documentAll !== undefined
5297
5759
  return typeof argument == 'function';
5298
5760
  };
5299
5761
 
5300
- },{}],142:[function(require,module,exports){
5762
+ },{}],144:[function(require,module,exports){
5301
5763
  'use strict';
5302
5764
  var fails = require('../internals/fails');
5303
5765
  var isCallable = require('../internals/is-callable');
@@ -5322,7 +5784,7 @@ var POLYFILL = isForced.POLYFILL = 'P';
5322
5784
 
5323
5785
  module.exports = isForced;
5324
5786
 
5325
- },{"../internals/fails":115,"../internals/is-callable":141}],143:[function(require,module,exports){
5787
+ },{"../internals/fails":117,"../internals/is-callable":143}],145:[function(require,module,exports){
5326
5788
  'use strict';
5327
5789
  var classof = require('../internals/classof-raw');
5328
5790
  var wellKnownSymbol = require('../internals/well-known-symbol');
@@ -5335,7 +5797,7 @@ module.exports = function (it) {
5335
5797
  || classof(it) === 'Arguments';
5336
5798
  };
5337
5799
 
5338
- },{"../internals/classof-raw":97,"../internals/well-known-symbol":219}],144:[function(require,module,exports){
5800
+ },{"../internals/classof-raw":99,"../internals/well-known-symbol":221}],146:[function(require,module,exports){
5339
5801
  'use strict';
5340
5802
  // we can't use just `it == null` since of `document.all` special case
5341
5803
  // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
@@ -5343,7 +5805,7 @@ module.exports = function (it) {
5343
5805
  return it === null || it === undefined;
5344
5806
  };
5345
5807
 
5346
- },{}],145:[function(require,module,exports){
5808
+ },{}],147:[function(require,module,exports){
5347
5809
  'use strict';
5348
5810
  var isCallable = require('../internals/is-callable');
5349
5811
 
@@ -5351,11 +5813,11 @@ module.exports = function (it) {
5351
5813
  return typeof it == 'object' ? it !== null : isCallable(it);
5352
5814
  };
5353
5815
 
5354
- },{"../internals/is-callable":141}],146:[function(require,module,exports){
5816
+ },{"../internals/is-callable":143}],148:[function(require,module,exports){
5355
5817
  'use strict';
5356
5818
  module.exports = false;
5357
5819
 
5358
- },{}],147:[function(require,module,exports){
5820
+ },{}],149:[function(require,module,exports){
5359
5821
  'use strict';
5360
5822
  var isObject = require('../internals/is-object');
5361
5823
  var getInternalState = require('../internals/internal-state').get;
@@ -5366,7 +5828,7 @@ module.exports = function isRawJSON(O) {
5366
5828
  return !!state && state.type === 'RawJSON';
5367
5829
  };
5368
5830
 
5369
- },{"../internals/internal-state":138,"../internals/is-object":145}],148:[function(require,module,exports){
5831
+ },{"../internals/internal-state":140,"../internals/is-object":147}],150:[function(require,module,exports){
5370
5832
  'use strict';
5371
5833
  var getBuiltIn = require('../internals/get-built-in');
5372
5834
  var isCallable = require('../internals/is-callable');
@@ -5382,7 +5844,7 @@ module.exports = USE_SYMBOL_AS_UID ? function (it) {
5382
5844
  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));
5383
5845
  };
5384
5846
 
5385
- },{"../internals/get-built-in":124,"../internals/is-callable":141,"../internals/object-is-prototype-of":173,"../internals/use-symbol-as-uid":214}],149:[function(require,module,exports){
5847
+ },{"../internals/get-built-in":126,"../internals/is-callable":143,"../internals/object-is-prototype-of":175,"../internals/use-symbol-as-uid":216}],151:[function(require,module,exports){
5386
5848
  'use strict';
5387
5849
  var call = require('../internals/function-call');
5388
5850
 
@@ -5396,7 +5858,7 @@ module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {
5396
5858
  }
5397
5859
  };
5398
5860
 
5399
- },{"../internals/function-call":119}],150:[function(require,module,exports){
5861
+ },{"../internals/function-call":121}],152:[function(require,module,exports){
5400
5862
  'use strict';
5401
5863
  var bind = require('../internals/function-bind-context');
5402
5864
  var call = require('../internals/function-call');
@@ -5472,7 +5934,7 @@ module.exports = function (iterable, unboundFunction, options) {
5472
5934
  } return new Result(false);
5473
5935
  };
5474
5936
 
5475
- },{"../internals/an-object":92,"../internals/function-bind-context":117,"../internals/function-call":119,"../internals/get-iterator-internal":127,"../internals/get-iterator-method-internal":128,"../internals/is-array-iterator-method":139,"../internals/iterator-close":153,"../internals/length-of-array-like":159,"../internals/object-is-prototype-of":173,"../internals/try-to-string":212}],151:[function(require,module,exports){
5937
+ },{"../internals/an-object":94,"../internals/function-bind-context":119,"../internals/function-call":121,"../internals/get-iterator-internal":129,"../internals/get-iterator-method-internal":130,"../internals/is-array-iterator-method":141,"../internals/iterator-close":155,"../internals/length-of-array-like":161,"../internals/object-is-prototype-of":175,"../internals/try-to-string":214}],153:[function(require,module,exports){
5476
5938
  'use strict';
5477
5939
  // release references held by exhausted / closed iterator helpers to allow GC of the source chain
5478
5940
  module.exports = function (state) {
@@ -5480,7 +5942,7 @@ module.exports = function (state) {
5480
5942
  state.iterables = state.iters = state.openIters = state.padding = state.finishResults = state.buffer = null;
5481
5943
  };
5482
5944
 
5483
- },{}],152:[function(require,module,exports){
5945
+ },{}],154:[function(require,module,exports){
5484
5946
  'use strict';
5485
5947
  var iteratorClose = require('../internals/iterator-close');
5486
5948
 
@@ -5498,7 +5960,7 @@ module.exports = function (iters, kind, value) {
5498
5960
  return value;
5499
5961
  };
5500
5962
 
5501
- },{"../internals/iterator-close":153}],153:[function(require,module,exports){
5963
+ },{"../internals/iterator-close":155}],155:[function(require,module,exports){
5502
5964
  'use strict';
5503
5965
  var call = require('../internals/function-call');
5504
5966
  var anObject = require('../internals/an-object');
@@ -5524,7 +5986,7 @@ module.exports = function (iterator, kind, value) {
5524
5986
  return value;
5525
5987
  };
5526
5988
 
5527
- },{"../internals/an-object":92,"../internals/function-call":119,"../internals/get-method":129}],154:[function(require,module,exports){
5989
+ },{"../internals/an-object":94,"../internals/function-call":121,"../internals/get-method":131}],156:[function(require,module,exports){
5528
5990
  'use strict';
5529
5991
  var call = require('../internals/function-call');
5530
5992
  var create = require('../internals/object-create');
@@ -5621,7 +6083,7 @@ module.exports = function (nextHandler, IS_ITERATOR, RETURN_HANDLER_RESULT) {
5621
6083
  return IteratorProxy;
5622
6084
  };
5623
6085
 
5624
- },{"../internals/create-iter-result-object":101,"../internals/create-non-enumerable-property":102,"../internals/define-built-ins":107,"../internals/function-call":119,"../internals/get-method":129,"../internals/internal-state":138,"../internals/iterator-cleanup-state":151,"../internals/iterator-close":153,"../internals/iterator-close-all":152,"../internals/iterators-core":157,"../internals/object-create":166,"../internals/well-known-symbol":219}],155:[function(require,module,exports){
6086
+ },{"../internals/create-iter-result-object":103,"../internals/create-non-enumerable-property":104,"../internals/define-built-ins":109,"../internals/function-call":121,"../internals/get-method":131,"../internals/internal-state":140,"../internals/iterator-cleanup-state":153,"../internals/iterator-close":155,"../internals/iterator-close-all":154,"../internals/iterators-core":159,"../internals/object-create":168,"../internals/well-known-symbol":221}],157:[function(require,module,exports){
5625
6087
  'use strict';
5626
6088
  // Should throw an error on invalid iterator
5627
6089
  // https://issues.chromium.org/issues/336839115
@@ -5635,7 +6097,7 @@ module.exports = function (methodName, argument) {
5635
6097
  }
5636
6098
  };
5637
6099
 
5638
- },{}],156:[function(require,module,exports){
6100
+ },{}],158:[function(require,module,exports){
5639
6101
  'use strict';
5640
6102
  var globalThis = require('../internals/global-this');
5641
6103
 
@@ -5660,7 +6122,7 @@ module.exports = function (METHOD_NAME, ExpectedError) {
5660
6122
  if (!CLOSED) return method;
5661
6123
  };
5662
6124
 
5663
- },{"../internals/global-this":131}],157:[function(require,module,exports){
6125
+ },{"../internals/global-this":133}],159:[function(require,module,exports){
5664
6126
  'use strict';
5665
6127
  var fails = require('../internals/fails');
5666
6128
  var isCallable = require('../internals/is-callable');
@@ -5711,11 +6173,11 @@ module.exports = {
5711
6173
  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
5712
6174
  };
5713
6175
 
5714
- },{"../internals/define-built-in":106,"../internals/fails":115,"../internals/is-callable":141,"../internals/is-object":145,"../internals/is-pure":146,"../internals/object-create":166,"../internals/object-get-prototype-of":172,"../internals/well-known-symbol":219}],158:[function(require,module,exports){
6176
+ },{"../internals/define-built-in":108,"../internals/fails":117,"../internals/is-callable":143,"../internals/is-object":147,"../internals/is-pure":148,"../internals/object-create":168,"../internals/object-get-prototype-of":174,"../internals/well-known-symbol":221}],160:[function(require,module,exports){
5715
6177
  'use strict';
5716
6178
  module.exports = Object.create ? Object.create(null) : {};
5717
6179
 
5718
- },{}],159:[function(require,module,exports){
6180
+ },{}],161:[function(require,module,exports){
5719
6181
  'use strict';
5720
6182
  var toLength = require('../internals/to-length');
5721
6183
 
@@ -5725,7 +6187,7 @@ module.exports = function (obj) {
5725
6187
  return toLength(obj.length);
5726
6188
  };
5727
6189
 
5728
- },{"../internals/to-length":204}],160:[function(require,module,exports){
6190
+ },{"../internals/to-length":206}],162:[function(require,module,exports){
5729
6191
  'use strict';
5730
6192
  var uncurryThis = require('../internals/function-uncurry-this');
5731
6193
  var fails = require('../internals/fails');
@@ -5782,7 +6244,7 @@ Function.prototype.toString = makeBuiltIn(function toString() {
5782
6244
  return isCallable(this) && getInternalState(this).source || inspectSource(this);
5783
6245
  }, 'toString');
5784
6246
 
5785
- },{"../internals/descriptors":109,"../internals/fails":115,"../internals/function-name":120,"../internals/function-uncurry-this":123,"../internals/has-own-property":132,"../internals/inspect-source":137,"../internals/internal-state":138,"../internals/is-callable":141}],161:[function(require,module,exports){
6247
+ },{"../internals/descriptors":111,"../internals/fails":117,"../internals/function-name":122,"../internals/function-uncurry-this":125,"../internals/has-own-property":134,"../internals/inspect-source":139,"../internals/internal-state":140,"../internals/is-callable":143}],163:[function(require,module,exports){
5786
6248
  'use strict';
5787
6249
  var uncurryThis = require('../internals/function-uncurry-this');
5788
6250
 
@@ -5799,7 +6261,7 @@ module.exports = {
5799
6261
  proto: MapPrototype
5800
6262
  };
5801
6263
 
5802
- },{"../internals/function-uncurry-this":123}],162:[function(require,module,exports){
6264
+ },{"../internals/function-uncurry-this":125}],164:[function(require,module,exports){
5803
6265
  'use strict';
5804
6266
  var uncurryThis = require('../internals/function-uncurry-this');
5805
6267
  var iterateSimple = require('../internals/iterate-simple');
@@ -5817,7 +6279,7 @@ module.exports = function (map, fn, interruptible) {
5817
6279
  }) : forEach(map, fn);
5818
6280
  };
5819
6281
 
5820
- },{"../internals/function-uncurry-this":123,"../internals/iterate-simple":149,"../internals/map-helpers":161}],163:[function(require,module,exports){
6282
+ },{"../internals/function-uncurry-this":125,"../internals/iterate-simple":151,"../internals/map-helpers":163}],165:[function(require,module,exports){
5821
6283
  'use strict';
5822
6284
  var ceil = Math.ceil;
5823
6285
  var floor = Math.floor;
@@ -5830,7 +6292,7 @@ module.exports = Math.trunc || function trunc(x) {
5830
6292
  return (n > 0 ? floor : ceil)(n);
5831
6293
  };
5832
6294
 
5833
- },{}],164:[function(require,module,exports){
6295
+ },{}],166:[function(require,module,exports){
5834
6296
  'use strict';
5835
6297
  /* eslint-disable es/no-json -- safe */
5836
6298
  var fails = require('../internals/fails');
@@ -5843,7 +6305,7 @@ module.exports = !fails(function () {
5843
6305
  return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt;
5844
6306
  });
5845
6307
 
5846
- },{"../internals/fails":115}],165:[function(require,module,exports){
6308
+ },{"../internals/fails":117}],167:[function(require,module,exports){
5847
6309
  'use strict';
5848
6310
  var $RangeError = RangeError;
5849
6311
 
@@ -5853,7 +6315,7 @@ module.exports = function (it) {
5853
6315
  throw new $RangeError('NaN is not allowed');
5854
6316
  };
5855
6317
 
5856
- },{}],166:[function(require,module,exports){
6318
+ },{}],168:[function(require,module,exports){
5857
6319
  'use strict';
5858
6320
  /* global ActiveXObject -- old IE, WSH */
5859
6321
  var anObject = require('../internals/an-object');
@@ -5940,7 +6402,7 @@ module.exports = Object.create || function create(O, Properties) {
5940
6402
  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
5941
6403
  };
5942
6404
 
5943
- },{"../internals/an-object":92,"../internals/document-create-element":110,"../internals/enum-bug-keys":111,"../internals/hidden-keys":133,"../internals/html":134,"../internals/object-define-properties":167,"../internals/shared-key":196}],167:[function(require,module,exports){
6405
+ },{"../internals/an-object":94,"../internals/document-create-element":112,"../internals/enum-bug-keys":113,"../internals/hidden-keys":135,"../internals/html":136,"../internals/object-define-properties":169,"../internals/shared-key":198}],169:[function(require,module,exports){
5944
6406
  'use strict';
5945
6407
  var DESCRIPTORS = require('../internals/descriptors');
5946
6408
  var V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');
@@ -5963,7 +6425,7 @@ exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties :
5963
6425
  return O;
5964
6426
  };
5965
6427
 
5966
- },{"../internals/an-object":92,"../internals/descriptors":109,"../internals/object-define-property":168,"../internals/object-keys":175,"../internals/to-indexed-object":202,"../internals/v8-prototype-define-bug":215}],168:[function(require,module,exports){
6428
+ },{"../internals/an-object":94,"../internals/descriptors":111,"../internals/object-define-property":170,"../internals/object-keys":177,"../internals/to-indexed-object":204,"../internals/v8-prototype-define-bug":217}],170:[function(require,module,exports){
5967
6429
  'use strict';
5968
6430
  var DESCRIPTORS = require('../internals/descriptors');
5969
6431
  var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
@@ -6009,7 +6471,7 @@ exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P
6009
6471
  return O;
6010
6472
  };
6011
6473
 
6012
- },{"../internals/an-object":92,"../internals/descriptors":109,"../internals/ie8-dom-define":135,"../internals/to-property-key":208,"../internals/v8-prototype-define-bug":215}],169:[function(require,module,exports){
6474
+ },{"../internals/an-object":94,"../internals/descriptors":111,"../internals/ie8-dom-define":137,"../internals/to-property-key":210,"../internals/v8-prototype-define-bug":217}],171:[function(require,module,exports){
6013
6475
  'use strict';
6014
6476
  var DESCRIPTORS = require('../internals/descriptors');
6015
6477
  var call = require('../internals/function-call');
@@ -6034,7 +6496,7 @@ exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDes
6034
6496
  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
6035
6497
  };
6036
6498
 
6037
- },{"../internals/create-property-descriptor":103,"../internals/descriptors":109,"../internals/function-call":119,"../internals/has-own-property":132,"../internals/ie8-dom-define":135,"../internals/object-property-is-enumerable":176,"../internals/to-indexed-object":202,"../internals/to-property-key":208}],170:[function(require,module,exports){
6499
+ },{"../internals/create-property-descriptor":105,"../internals/descriptors":111,"../internals/function-call":121,"../internals/has-own-property":134,"../internals/ie8-dom-define":137,"../internals/object-property-is-enumerable":178,"../internals/to-indexed-object":204,"../internals/to-property-key":210}],172:[function(require,module,exports){
6038
6500
  'use strict';
6039
6501
  var internalObjectKeys = require('../internals/object-keys-internal');
6040
6502
  var enumBugKeys = require('../internals/enum-bug-keys');
@@ -6048,12 +6510,12 @@ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
6048
6510
  return internalObjectKeys(O, hiddenKeys);
6049
6511
  };
6050
6512
 
6051
- },{"../internals/enum-bug-keys":111,"../internals/object-keys-internal":174}],171:[function(require,module,exports){
6513
+ },{"../internals/enum-bug-keys":113,"../internals/object-keys-internal":176}],173:[function(require,module,exports){
6052
6514
  'use strict';
6053
6515
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
6054
6516
  exports.f = Object.getOwnPropertySymbols;
6055
6517
 
6056
- },{}],172:[function(require,module,exports){
6518
+ },{}],174:[function(require,module,exports){
6057
6519
  'use strict';
6058
6520
  var hasOwn = require('../internals/has-own-property');
6059
6521
  var isCallable = require('../internals/is-callable');
@@ -6077,13 +6539,13 @@ module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O
6077
6539
  } return object instanceof $Object ? ObjectPrototype : null;
6078
6540
  };
6079
6541
 
6080
- },{"../internals/correct-prototype-getter":100,"../internals/has-own-property":132,"../internals/is-callable":141,"../internals/shared-key":196,"../internals/to-object":205}],173:[function(require,module,exports){
6542
+ },{"../internals/correct-prototype-getter":102,"../internals/has-own-property":134,"../internals/is-callable":143,"../internals/shared-key":198,"../internals/to-object":207}],175:[function(require,module,exports){
6081
6543
  'use strict';
6082
6544
  var uncurryThis = require('../internals/function-uncurry-this');
6083
6545
 
6084
6546
  module.exports = uncurryThis({}.isPrototypeOf);
6085
6547
 
6086
- },{"../internals/function-uncurry-this":123}],174:[function(require,module,exports){
6548
+ },{"../internals/function-uncurry-this":125}],176:[function(require,module,exports){
6087
6549
  'use strict';
6088
6550
  var uncurryThis = require('../internals/function-uncurry-this');
6089
6551
  var hasOwn = require('../internals/has-own-property');
@@ -6106,7 +6568,7 @@ module.exports = function (object, names) {
6106
6568
  return result;
6107
6569
  };
6108
6570
 
6109
- },{"../internals/array-includes":93,"../internals/function-uncurry-this":123,"../internals/has-own-property":132,"../internals/hidden-keys":133,"../internals/to-indexed-object":202}],175:[function(require,module,exports){
6571
+ },{"../internals/array-includes":95,"../internals/function-uncurry-this":125,"../internals/has-own-property":134,"../internals/hidden-keys":135,"../internals/to-indexed-object":204}],177:[function(require,module,exports){
6110
6572
  'use strict';
6111
6573
  var internalObjectKeys = require('../internals/object-keys-internal');
6112
6574
  var enumBugKeys = require('../internals/enum-bug-keys');
@@ -6118,7 +6580,7 @@ module.exports = Object.keys || function keys(O) {
6118
6580
  return internalObjectKeys(O, enumBugKeys);
6119
6581
  };
6120
6582
 
6121
- },{"../internals/enum-bug-keys":111,"../internals/object-keys-internal":174}],176:[function(require,module,exports){
6583
+ },{"../internals/enum-bug-keys":113,"../internals/object-keys-internal":176}],178:[function(require,module,exports){
6122
6584
  'use strict';
6123
6585
  var $propertyIsEnumerable = {}.propertyIsEnumerable;
6124
6586
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -6134,7 +6596,7 @@ exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
6134
6596
  return !!descriptor && descriptor.enumerable;
6135
6597
  } : $propertyIsEnumerable;
6136
6598
 
6137
- },{}],177:[function(require,module,exports){
6599
+ },{}],179:[function(require,module,exports){
6138
6600
  'use strict';
6139
6601
  var call = require('../internals/function-call');
6140
6602
  var isCallable = require('../internals/is-callable');
@@ -6152,7 +6614,7 @@ module.exports = function (input, pref) {
6152
6614
  throw new $TypeError("Can't convert object to primitive value");
6153
6615
  };
6154
6616
 
6155
- },{"../internals/function-call":119,"../internals/is-callable":141,"../internals/is-object":145}],178:[function(require,module,exports){
6617
+ },{"../internals/function-call":121,"../internals/is-callable":143,"../internals/is-object":147}],180:[function(require,module,exports){
6156
6618
  'use strict';
6157
6619
  var getBuiltIn = require('../internals/get-built-in');
6158
6620
  var uncurryThis = require('../internals/function-uncurry-this');
@@ -6169,7 +6631,7 @@ module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
6169
6631
  return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
6170
6632
  };
6171
6633
 
6172
- },{"../internals/an-object":92,"../internals/function-uncurry-this":123,"../internals/get-built-in":124,"../internals/object-get-own-property-names":170,"../internals/object-get-own-property-symbols":171}],179:[function(require,module,exports){
6634
+ },{"../internals/an-object":94,"../internals/function-uncurry-this":125,"../internals/get-built-in":126,"../internals/object-get-own-property-names":172,"../internals/object-get-own-property-symbols":173}],181:[function(require,module,exports){
6173
6635
  'use strict';
6174
6636
  var uncurryThis = require('../internals/function-uncurry-this');
6175
6637
  var hasOwn = require('../internals/has-own-property');
@@ -6227,7 +6689,7 @@ module.exports = function (source, i) {
6227
6689
  return { value: value, end: i };
6228
6690
  };
6229
6691
 
6230
- },{"../internals/function-uncurry-this":123,"../internals/has-own-property":132}],180:[function(require,module,exports){
6692
+ },{"../internals/function-uncurry-this":125,"../internals/has-own-property":134}],182:[function(require,module,exports){
6231
6693
  'use strict';
6232
6694
  module.exports = function (exec) {
6233
6695
  try {
@@ -6237,7 +6699,7 @@ module.exports = function (exec) {
6237
6699
  }
6238
6700
  };
6239
6701
 
6240
- },{}],181:[function(require,module,exports){
6702
+ },{}],183:[function(require,module,exports){
6241
6703
  'use strict';
6242
6704
  var globalThis = require('../internals/global-this');
6243
6705
  var fails = require('../internals/fails');
@@ -6286,7 +6748,7 @@ var FLAGS_GETTER_IS_CORRECT = !fails(function () {
6286
6748
 
6287
6749
  module.exports = { correct: FLAGS_GETTER_IS_CORRECT };
6288
6750
 
6289
- },{"../internals/fails":115,"../internals/global-this":131}],182:[function(require,module,exports){
6751
+ },{"../internals/fails":117,"../internals/global-this":133}],184:[function(require,module,exports){
6290
6752
  'use strict';
6291
6753
  var anObject = require('../internals/an-object');
6292
6754
 
@@ -6306,7 +6768,7 @@ module.exports = function () {
6306
6768
  return result;
6307
6769
  };
6308
6770
 
6309
- },{"../internals/an-object":92}],183:[function(require,module,exports){
6771
+ },{"../internals/an-object":94}],185:[function(require,module,exports){
6310
6772
  'use strict';
6311
6773
  var isNullOrUndefined = require('../internals/is-null-or-undefined');
6312
6774
 
@@ -6319,7 +6781,7 @@ module.exports = function (it) {
6319
6781
  return it;
6320
6782
  };
6321
6783
 
6322
- },{"../internals/is-null-or-undefined":144}],184:[function(require,module,exports){
6784
+ },{"../internals/is-null-or-undefined":146}],186:[function(require,module,exports){
6323
6785
  'use strict';
6324
6786
  // `SameValueZero` abstract operation
6325
6787
  // https://tc39.es/ecma262/#sec-samevaluezero
@@ -6328,7 +6790,7 @@ module.exports = function (x, y) {
6328
6790
  return x === y || x !== x && y !== y;
6329
6791
  };
6330
6792
 
6331
- },{}],185:[function(require,module,exports){
6793
+ },{}],187:[function(require,module,exports){
6332
6794
  'use strict';
6333
6795
  var SetHelpers = require('../internals/set-helpers');
6334
6796
  var iterate = require('../internals/set-iterate');
@@ -6344,7 +6806,7 @@ module.exports = function (set) {
6344
6806
  return result;
6345
6807
  };
6346
6808
 
6347
- },{"../internals/set-helpers":187,"../internals/set-iterate":192}],186:[function(require,module,exports){
6809
+ },{"../internals/set-helpers":189,"../internals/set-iterate":194}],188:[function(require,module,exports){
6348
6810
  'use strict';
6349
6811
  var aSet = require('../internals/a-set');
6350
6812
  var SetHelpers = require('../internals/set-helpers');
@@ -6372,7 +6834,7 @@ module.exports = function difference(other) {
6372
6834
  return result;
6373
6835
  };
6374
6836
 
6375
- },{"../internals/a-set":87,"../internals/get-set-record":130,"../internals/iterate-simple":149,"../internals/set-clone":185,"../internals/set-helpers":187,"../internals/set-iterate":192,"../internals/set-size":193}],187:[function(require,module,exports){
6837
+ },{"../internals/a-set":89,"../internals/get-set-record":132,"../internals/iterate-simple":151,"../internals/set-clone":187,"../internals/set-helpers":189,"../internals/set-iterate":194,"../internals/set-size":195}],189:[function(require,module,exports){
6376
6838
  'use strict';
6377
6839
  var uncurryThis = require('../internals/function-uncurry-this');
6378
6840
 
@@ -6388,7 +6850,7 @@ module.exports = {
6388
6850
  proto: SetPrototype
6389
6851
  };
6390
6852
 
6391
- },{"../internals/function-uncurry-this":123}],188:[function(require,module,exports){
6853
+ },{"../internals/function-uncurry-this":125}],190:[function(require,module,exports){
6392
6854
  'use strict';
6393
6855
  var aSet = require('../internals/a-set');
6394
6856
  var SetHelpers = require('../internals/set-helpers');
@@ -6421,7 +6883,7 @@ module.exports = function intersection(other) {
6421
6883
  return result;
6422
6884
  };
6423
6885
 
6424
- },{"../internals/a-set":87,"../internals/get-set-record":130,"../internals/iterate-simple":149,"../internals/set-helpers":187,"../internals/set-iterate":192,"../internals/set-size":193}],189:[function(require,module,exports){
6886
+ },{"../internals/a-set":89,"../internals/get-set-record":132,"../internals/iterate-simple":151,"../internals/set-helpers":189,"../internals/set-iterate":194,"../internals/set-size":195}],191:[function(require,module,exports){
6425
6887
  'use strict';
6426
6888
  var aSet = require('../internals/a-set');
6427
6889
  var has = require('../internals/set-helpers').has;
@@ -6445,7 +6907,7 @@ module.exports = function isDisjointFrom(other) {
6445
6907
  }) !== false;
6446
6908
  };
6447
6909
 
6448
- },{"../internals/a-set":87,"../internals/get-set-record":130,"../internals/iterate-simple":149,"../internals/iterator-close":153,"../internals/set-helpers":187,"../internals/set-iterate":192,"../internals/set-size":193}],190:[function(require,module,exports){
6910
+ },{"../internals/a-set":89,"../internals/get-set-record":132,"../internals/iterate-simple":151,"../internals/iterator-close":155,"../internals/set-helpers":189,"../internals/set-iterate":194,"../internals/set-size":195}],192:[function(require,module,exports){
6449
6911
  'use strict';
6450
6912
  var aSet = require('../internals/a-set');
6451
6913
  var size = require('../internals/set-size');
@@ -6463,7 +6925,7 @@ module.exports = function isSubsetOf(other) {
6463
6925
  }, true) !== false;
6464
6926
  };
6465
6927
 
6466
- },{"../internals/a-set":87,"../internals/get-set-record":130,"../internals/set-iterate":192,"../internals/set-size":193}],191:[function(require,module,exports){
6928
+ },{"../internals/a-set":89,"../internals/get-set-record":132,"../internals/set-iterate":194,"../internals/set-size":195}],193:[function(require,module,exports){
6467
6929
  'use strict';
6468
6930
  var aSet = require('../internals/a-set');
6469
6931
  var has = require('../internals/set-helpers').has;
@@ -6484,7 +6946,7 @@ module.exports = function isSupersetOf(other) {
6484
6946
  }) !== false;
6485
6947
  };
6486
6948
 
6487
- },{"../internals/a-set":87,"../internals/get-set-record":130,"../internals/iterate-simple":149,"../internals/iterator-close":153,"../internals/set-helpers":187,"../internals/set-size":193}],192:[function(require,module,exports){
6949
+ },{"../internals/a-set":89,"../internals/get-set-record":132,"../internals/iterate-simple":151,"../internals/iterator-close":155,"../internals/set-helpers":189,"../internals/set-size":195}],194:[function(require,module,exports){
6488
6950
  'use strict';
6489
6951
  var uncurryThis = require('../internals/function-uncurry-this');
6490
6952
  var iterateSimple = require('../internals/iterate-simple');
@@ -6500,7 +6962,7 @@ module.exports = function (set, fn, interruptible) {
6500
6962
  return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);
6501
6963
  };
6502
6964
 
6503
- },{"../internals/function-uncurry-this":123,"../internals/iterate-simple":149,"../internals/set-helpers":187}],193:[function(require,module,exports){
6965
+ },{"../internals/function-uncurry-this":125,"../internals/iterate-simple":151,"../internals/set-helpers":189}],195:[function(require,module,exports){
6504
6966
  'use strict';
6505
6967
  var uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');
6506
6968
  var SetHelpers = require('../internals/set-helpers');
@@ -6509,7 +6971,7 @@ module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || functio
6509
6971
  return set.size;
6510
6972
  };
6511
6973
 
6512
- },{"../internals/function-uncurry-this-accessor":121,"../internals/set-helpers":187}],194:[function(require,module,exports){
6974
+ },{"../internals/function-uncurry-this-accessor":123,"../internals/set-helpers":189}],196:[function(require,module,exports){
6513
6975
  'use strict';
6514
6976
  var aSet = require('../internals/a-set');
6515
6977
  var SetHelpers = require('../internals/set-helpers');
@@ -6534,7 +6996,7 @@ module.exports = function symmetricDifference(other) {
6534
6996
  return result;
6535
6997
  };
6536
6998
 
6537
- },{"../internals/a-set":87,"../internals/get-set-record":130,"../internals/iterate-simple":149,"../internals/set-clone":185,"../internals/set-helpers":187}],195:[function(require,module,exports){
6999
+ },{"../internals/a-set":89,"../internals/get-set-record":132,"../internals/iterate-simple":151,"../internals/set-clone":187,"../internals/set-helpers":189}],197:[function(require,module,exports){
6538
7000
  'use strict';
6539
7001
  var aSet = require('../internals/a-set');
6540
7002
  var add = require('../internals/set-helpers').add;
@@ -6554,7 +7016,7 @@ module.exports = function union(other) {
6554
7016
  return result;
6555
7017
  };
6556
7018
 
6557
- },{"../internals/a-set":87,"../internals/get-set-record":130,"../internals/iterate-simple":149,"../internals/set-clone":185,"../internals/set-helpers":187}],196:[function(require,module,exports){
7019
+ },{"../internals/a-set":89,"../internals/get-set-record":132,"../internals/iterate-simple":151,"../internals/set-clone":187,"../internals/set-helpers":189}],198:[function(require,module,exports){
6558
7020
  'use strict';
6559
7021
  var shared = require('../internals/shared');
6560
7022
  var uid = require('../internals/uid');
@@ -6565,7 +7027,7 @@ module.exports = function (key) {
6565
7027
  return keys[key] || (keys[key] = uid(key));
6566
7028
  };
6567
7029
 
6568
- },{"../internals/shared":198,"../internals/uid":213}],197:[function(require,module,exports){
7030
+ },{"../internals/shared":200,"../internals/uid":215}],199:[function(require,module,exports){
6569
7031
  'use strict';
6570
7032
  var IS_PURE = require('../internals/is-pure');
6571
7033
  var globalThis = require('../internals/global-this');
@@ -6582,7 +7044,7 @@ var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED,
6582
7044
  source: 'https://github.com/zloirock/core-js'
6583
7045
  });
6584
7046
 
6585
- },{"../internals/define-global-property":108,"../internals/global-this":131,"../internals/is-pure":146}],198:[function(require,module,exports){
7047
+ },{"../internals/define-global-property":110,"../internals/global-this":133,"../internals/is-pure":148}],200:[function(require,module,exports){
6586
7048
  'use strict';
6587
7049
  var store = require('../internals/shared-store');
6588
7050
  // eslint-disable-next-line es/no-object-create -- safe
@@ -6592,7 +7054,7 @@ module.exports = function (key, value) {
6592
7054
  return store[key] || (store[key] = value || create(null));
6593
7055
  };
6594
7056
 
6595
- },{"../internals/shared-store":197}],199:[function(require,module,exports){
7057
+ },{"../internals/shared-store":199}],201:[function(require,module,exports){
6596
7058
  'use strict';
6597
7059
  /* eslint-disable es/no-symbol -- required for testing */
6598
7060
  var V8_VERSION = require('../internals/environment-v8-version');
@@ -6613,7 +7075,7 @@ module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
6613
7075
  !Symbol.sham && V8_VERSION && V8_VERSION < 41;
6614
7076
  });
6615
7077
 
6616
- },{"../internals/environment-v8-version":113,"../internals/fails":115,"../internals/global-this":131}],200:[function(require,module,exports){
7078
+ },{"../internals/environment-v8-version":115,"../internals/fails":117,"../internals/global-this":133}],202:[function(require,module,exports){
6617
7079
  'use strict';
6618
7080
  var uncurryThis = require('../internals/function-uncurry-this');
6619
7081
 
@@ -6621,7 +7083,7 @@ var uncurryThis = require('../internals/function-uncurry-this');
6621
7083
  // https://tc39.es/ecma262/#sec-thisnumbervalue
6622
7084
  module.exports = uncurryThis(1.1.valueOf);
6623
7085
 
6624
- },{"../internals/function-uncurry-this":123}],201:[function(require,module,exports){
7086
+ },{"../internals/function-uncurry-this":125}],203:[function(require,module,exports){
6625
7087
  'use strict';
6626
7088
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
6627
7089
 
@@ -6636,7 +7098,7 @@ module.exports = function (index, length) {
6636
7098
  return integer < 0 ? max(integer + length, 0) : min(integer, length);
6637
7099
  };
6638
7100
 
6639
- },{"../internals/to-integer-or-infinity":203}],202:[function(require,module,exports){
7101
+ },{"../internals/to-integer-or-infinity":205}],204:[function(require,module,exports){
6640
7102
  'use strict';
6641
7103
  // toObject with fallback for non-array-like ES3 strings
6642
7104
  var IndexedObject = require('../internals/indexed-object');
@@ -6646,7 +7108,7 @@ module.exports = function (it) {
6646
7108
  return IndexedObject(requireObjectCoercible(it));
6647
7109
  };
6648
7110
 
6649
- },{"../internals/indexed-object":136,"../internals/require-object-coercible":183}],203:[function(require,module,exports){
7111
+ },{"../internals/indexed-object":138,"../internals/require-object-coercible":185}],205:[function(require,module,exports){
6650
7112
  'use strict';
6651
7113
  var trunc = require('../internals/math-trunc');
6652
7114
 
@@ -6658,7 +7120,7 @@ module.exports = function (argument) {
6658
7120
  return number !== number || number === 0 ? 0 : trunc(number);
6659
7121
  };
6660
7122
 
6661
- },{"../internals/math-trunc":163}],204:[function(require,module,exports){
7123
+ },{"../internals/math-trunc":165}],206:[function(require,module,exports){
6662
7124
  'use strict';
6663
7125
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
6664
7126
 
@@ -6671,7 +7133,7 @@ module.exports = function (argument) {
6671
7133
  return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
6672
7134
  };
6673
7135
 
6674
- },{"../internals/to-integer-or-infinity":203}],205:[function(require,module,exports){
7136
+ },{"../internals/to-integer-or-infinity":205}],207:[function(require,module,exports){
6675
7137
  'use strict';
6676
7138
  var requireObjectCoercible = require('../internals/require-object-coercible');
6677
7139
 
@@ -6683,7 +7145,7 @@ module.exports = function (argument) {
6683
7145
  return $Object(requireObjectCoercible(argument));
6684
7146
  };
6685
7147
 
6686
- },{"../internals/require-object-coercible":183}],206:[function(require,module,exports){
7148
+ },{"../internals/require-object-coercible":185}],208:[function(require,module,exports){
6687
7149
  'use strict';
6688
7150
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
6689
7151
 
@@ -6695,7 +7157,7 @@ module.exports = function (it) {
6695
7157
  return result;
6696
7158
  };
6697
7159
 
6698
- },{"../internals/to-integer-or-infinity":203}],207:[function(require,module,exports){
7160
+ },{"../internals/to-integer-or-infinity":205}],209:[function(require,module,exports){
6699
7161
  'use strict';
6700
7162
  var call = require('../internals/function-call');
6701
7163
  var isObject = require('../internals/is-object');
@@ -6723,7 +7185,7 @@ module.exports = function (input, pref) {
6723
7185
  return ordinaryToPrimitive(input, pref);
6724
7186
  };
6725
7187
 
6726
- },{"../internals/function-call":119,"../internals/get-method":129,"../internals/is-object":145,"../internals/is-symbol":148,"../internals/ordinary-to-primitive":177,"../internals/well-known-symbol":219}],208:[function(require,module,exports){
7188
+ },{"../internals/function-call":121,"../internals/get-method":131,"../internals/is-object":147,"../internals/is-symbol":150,"../internals/ordinary-to-primitive":179,"../internals/well-known-symbol":221}],210:[function(require,module,exports){
6727
7189
  'use strict';
6728
7190
  var toPrimitive = require('../internals/to-primitive');
6729
7191
  var isSymbol = require('../internals/is-symbol');
@@ -6735,7 +7197,7 @@ module.exports = function (argument) {
6735
7197
  return isSymbol(key) ? key : key + '';
6736
7198
  };
6737
7199
 
6738
- },{"../internals/is-symbol":148,"../internals/to-primitive":207}],209:[function(require,module,exports){
7200
+ },{"../internals/is-symbol":150,"../internals/to-primitive":209}],211:[function(require,module,exports){
6739
7201
  'use strict';
6740
7202
  var getBuiltIn = require('../internals/get-built-in');
6741
7203
  var isCallable = require('../internals/is-callable');
@@ -6757,7 +7219,7 @@ module.exports = function (it) {
6757
7219
  return isIterable(it) ? new Set(it) : it;
6758
7220
  };
6759
7221
 
6760
- },{"../internals/get-built-in":124,"../internals/is-callable":141,"../internals/is-iterable":143,"../internals/is-object":145}],210:[function(require,module,exports){
7222
+ },{"../internals/get-built-in":126,"../internals/is-callable":143,"../internals/is-iterable":145,"../internals/is-object":147}],212:[function(require,module,exports){
6761
7223
  'use strict';
6762
7224
  var wellKnownSymbol = require('../internals/well-known-symbol');
6763
7225
 
@@ -6768,7 +7230,7 @@ test[TO_STRING_TAG] = 'z';
6768
7230
 
6769
7231
  module.exports = String(test) === '[object z]';
6770
7232
 
6771
- },{"../internals/well-known-symbol":219}],211:[function(require,module,exports){
7233
+ },{"../internals/well-known-symbol":221}],213:[function(require,module,exports){
6772
7234
  'use strict';
6773
7235
  var classof = require('../internals/classof');
6774
7236
 
@@ -6779,7 +7241,7 @@ module.exports = function (argument) {
6779
7241
  return $String(argument);
6780
7242
  };
6781
7243
 
6782
- },{"../internals/classof":98}],212:[function(require,module,exports){
7244
+ },{"../internals/classof":100}],214:[function(require,module,exports){
6783
7245
  'use strict';
6784
7246
  var $String = String;
6785
7247
 
@@ -6791,7 +7253,7 @@ module.exports = function (argument) {
6791
7253
  }
6792
7254
  };
6793
7255
 
6794
- },{}],213:[function(require,module,exports){
7256
+ },{}],215:[function(require,module,exports){
6795
7257
  'use strict';
6796
7258
  var uncurryThis = require('../internals/function-uncurry-this');
6797
7259
 
@@ -6803,7 +7265,7 @@ module.exports = function (key) {
6803
7265
  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
6804
7266
  };
6805
7267
 
6806
- },{"../internals/function-uncurry-this":123}],214:[function(require,module,exports){
7268
+ },{"../internals/function-uncurry-this":125}],216:[function(require,module,exports){
6807
7269
  'use strict';
6808
7270
  /* eslint-disable es/no-symbol -- required for testing */
6809
7271
  var NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');
@@ -6812,7 +7274,7 @@ module.exports = NATIVE_SYMBOL &&
6812
7274
  !Symbol.sham &&
6813
7275
  typeof Symbol.iterator == 'symbol';
6814
7276
 
6815
- },{"../internals/symbol-constructor-detection":199}],215:[function(require,module,exports){
7277
+ },{"../internals/symbol-constructor-detection":201}],217:[function(require,module,exports){
6816
7278
  'use strict';
6817
7279
  var DESCRIPTORS = require('../internals/descriptors');
6818
7280
  var fails = require('../internals/fails');
@@ -6827,7 +7289,7 @@ module.exports = DESCRIPTORS && fails(function () {
6827
7289
  }).prototype !== 42;
6828
7290
  });
6829
7291
 
6830
- },{"../internals/descriptors":109,"../internals/fails":115}],216:[function(require,module,exports){
7292
+ },{"../internals/descriptors":111,"../internals/fails":117}],218:[function(require,module,exports){
6831
7293
  'use strict';
6832
7294
  var globalThis = require('../internals/global-this');
6833
7295
  var isCallable = require('../internals/is-callable');
@@ -6836,7 +7298,7 @@ var WeakMap = globalThis.WeakMap;
6836
7298
 
6837
7299
  module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
6838
7300
 
6839
- },{"../internals/global-this":131,"../internals/is-callable":141}],217:[function(require,module,exports){
7301
+ },{"../internals/global-this":133,"../internals/is-callable":143}],219:[function(require,module,exports){
6840
7302
  'use strict';
6841
7303
  var uncurryThis = require('../internals/function-uncurry-this');
6842
7304
 
@@ -6852,7 +7314,7 @@ module.exports = {
6852
7314
  remove: uncurryThis(WeakMapPrototype['delete'])
6853
7315
  };
6854
7316
 
6855
- },{"../internals/function-uncurry-this":123}],218:[function(require,module,exports){
7317
+ },{"../internals/function-uncurry-this":125}],220:[function(require,module,exports){
6856
7318
  'use strict';
6857
7319
  var uncurryThis = require('../internals/function-uncurry-this');
6858
7320
 
@@ -6867,7 +7329,7 @@ module.exports = {
6867
7329
  remove: uncurryThis(WeakSetPrototype['delete'])
6868
7330
  };
6869
7331
 
6870
- },{"../internals/function-uncurry-this":123}],219:[function(require,module,exports){
7332
+ },{"../internals/function-uncurry-this":125}],221:[function(require,module,exports){
6871
7333
  'use strict';
6872
7334
  var globalThis = require('../internals/global-this');
6873
7335
  var shared = require('../internals/shared');
@@ -6888,7 +7350,7 @@ module.exports = function (name) {
6888
7350
  } return WellKnownSymbolsStore[name];
6889
7351
  };
6890
7352
 
6891
- },{"../internals/global-this":131,"../internals/has-own-property":132,"../internals/shared":198,"../internals/symbol-constructor-detection":199,"../internals/uid":213,"../internals/use-symbol-as-uid":214}],220:[function(require,module,exports){
7353
+ },{"../internals/global-this":133,"../internals/has-own-property":134,"../internals/shared":200,"../internals/symbol-constructor-detection":201,"../internals/uid":215,"../internals/use-symbol-as-uid":216}],222:[function(require,module,exports){
6892
7354
  'use strict';
6893
7355
  var $ = require('../internals/export');
6894
7356
  var $includes = require('../internals/array-includes').includes;
@@ -6918,7 +7380,7 @@ $({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE || BROKEN_ON_SPARSE_W
6918
7380
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
6919
7381
  addToUnscopables('includes');
6920
7382
 
6921
- },{"../internals/add-to-unscopables":90,"../internals/array-includes":93,"../internals/export":114,"../internals/fails":115}],221:[function(require,module,exports){
7383
+ },{"../internals/add-to-unscopables":92,"../internals/array-includes":95,"../internals/export":116,"../internals/fails":117}],223:[function(require,module,exports){
6922
7384
  'use strict';
6923
7385
  var $ = require('../internals/export');
6924
7386
  var globalThis = require('../internals/global-this');
@@ -6985,7 +7447,7 @@ $({ global: true, constructor: true, forced: FORCED }, {
6985
7447
  Iterator: IteratorConstructor
6986
7448
  });
6987
7449
 
6988
- },{"../internals/an-instance":91,"../internals/an-object":92,"../internals/create-property":104,"../internals/define-built-in-accessor":105,"../internals/descriptors":109,"../internals/export":114,"../internals/fails":115,"../internals/global-this":131,"../internals/has-own-property":132,"../internals/is-callable":141,"../internals/is-pure":146,"../internals/iterators-core":157,"../internals/object-get-prototype-of":172,"../internals/well-known-symbol":219}],222:[function(require,module,exports){
7450
+ },{"../internals/an-instance":93,"../internals/an-object":94,"../internals/create-property":106,"../internals/define-built-in-accessor":107,"../internals/descriptors":111,"../internals/export":116,"../internals/fails":117,"../internals/global-this":133,"../internals/has-own-property":134,"../internals/is-callable":143,"../internals/is-pure":148,"../internals/iterators-core":159,"../internals/object-get-prototype-of":174,"../internals/well-known-symbol":221}],224:[function(require,module,exports){
6989
7451
  'use strict';
6990
7452
  var $ = require('../internals/export');
6991
7453
  var call = require('../internals/function-call');
@@ -7055,7 +7517,7 @@ $({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {
7055
7517
  }
7056
7518
  });
7057
7519
 
7058
- },{"../internals/an-object":92,"../internals/export":114,"../internals/function-call":119,"../internals/get-iterator-direct":125,"../internals/is-pure":146,"../internals/iterator-close":153,"../internals/iterator-create-proxy":154,"../internals/iterator-helper-throws-on-invalid-iterator":155,"../internals/iterator-helper-without-closing-on-early-error":156,"../internals/not-a-nan":165,"../internals/to-positive-integer":206}],223:[function(require,module,exports){
7520
+ },{"../internals/an-object":94,"../internals/export":116,"../internals/function-call":121,"../internals/get-iterator-direct":127,"../internals/is-pure":148,"../internals/iterator-close":155,"../internals/iterator-create-proxy":156,"../internals/iterator-helper-throws-on-invalid-iterator":157,"../internals/iterator-helper-without-closing-on-early-error":158,"../internals/not-a-nan":167,"../internals/to-positive-integer":208}],225:[function(require,module,exports){
7059
7521
  'use strict';
7060
7522
  var $ = require('../internals/export');
7061
7523
  var call = require('../internals/function-call');
@@ -7089,7 +7551,7 @@ $({ target: 'Iterator', proto: true, real: true, forced: everyWithoutClosingOnEa
7089
7551
  }
7090
7552
  });
7091
7553
 
7092
- },{"../internals/a-callable":85,"../internals/an-object":92,"../internals/export":114,"../internals/function-call":119,"../internals/get-iterator-direct":125,"../internals/iterate":150,"../internals/iterator-close":153,"../internals/iterator-helper-without-closing-on-early-error":156}],224:[function(require,module,exports){
7554
+ },{"../internals/a-callable":87,"../internals/an-object":94,"../internals/export":116,"../internals/function-call":121,"../internals/get-iterator-direct":127,"../internals/iterate":152,"../internals/iterator-close":155,"../internals/iterator-helper-without-closing-on-early-error":158}],226:[function(require,module,exports){
7093
7555
  'use strict';
7094
7556
  var $ = require('../internals/export');
7095
7557
  var call = require('../internals/function-call');
@@ -7142,7 +7604,7 @@ $({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {
7142
7604
  }
7143
7605
  });
7144
7606
 
7145
- },{"../internals/a-callable":85,"../internals/an-object":92,"../internals/call-with-safe-iteration-closing":96,"../internals/export":114,"../internals/function-call":119,"../internals/get-iterator-direct":125,"../internals/is-pure":146,"../internals/iterator-close":153,"../internals/iterator-create-proxy":154,"../internals/iterator-helper-throws-on-invalid-iterator":155,"../internals/iterator-helper-without-closing-on-early-error":156}],225:[function(require,module,exports){
7607
+ },{"../internals/a-callable":87,"../internals/an-object":94,"../internals/call-with-safe-iteration-closing":98,"../internals/export":116,"../internals/function-call":121,"../internals/get-iterator-direct":127,"../internals/is-pure":148,"../internals/iterator-close":155,"../internals/iterator-create-proxy":156,"../internals/iterator-helper-throws-on-invalid-iterator":157,"../internals/iterator-helper-without-closing-on-early-error":158}],227:[function(require,module,exports){
7146
7608
  'use strict';
7147
7609
  var $ = require('../internals/export');
7148
7610
  var call = require('../internals/function-call');
@@ -7176,7 +7638,7 @@ $({ target: 'Iterator', proto: true, real: true, forced: findWithoutClosingOnEar
7176
7638
  }
7177
7639
  });
7178
7640
 
7179
- },{"../internals/a-callable":85,"../internals/an-object":92,"../internals/export":114,"../internals/function-call":119,"../internals/get-iterator-direct":125,"../internals/iterate":150,"../internals/iterator-close":153,"../internals/iterator-helper-without-closing-on-early-error":156}],226:[function(require,module,exports){
7641
+ },{"../internals/a-callable":87,"../internals/an-object":94,"../internals/export":116,"../internals/function-call":121,"../internals/get-iterator-direct":127,"../internals/iterate":152,"../internals/iterator-close":155,"../internals/iterator-helper-without-closing-on-early-error":158}],228:[function(require,module,exports){
7180
7642
  'use strict';
7181
7643
  var $ = require('../internals/export');
7182
7644
  var call = require('../internals/function-call');
@@ -7251,7 +7713,7 @@ $({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {
7251
7713
  }
7252
7714
  });
7253
7715
 
7254
- },{"../internals/a-callable":85,"../internals/an-object":92,"../internals/export":114,"../internals/fails":115,"../internals/function-call":119,"../internals/get-iterator-direct":125,"../internals/get-iterator-flattenable":126,"../internals/is-pure":146,"../internals/iterator-close":153,"../internals/iterator-create-proxy":154,"../internals/iterator-helper-throws-on-invalid-iterator":155,"../internals/iterator-helper-without-closing-on-early-error":156}],227:[function(require,module,exports){
7716
+ },{"../internals/a-callable":87,"../internals/an-object":94,"../internals/export":116,"../internals/fails":117,"../internals/function-call":121,"../internals/get-iterator-direct":127,"../internals/get-iterator-flattenable":128,"../internals/is-pure":148,"../internals/iterator-close":155,"../internals/iterator-create-proxy":156,"../internals/iterator-helper-throws-on-invalid-iterator":157,"../internals/iterator-helper-without-closing-on-early-error":158}],229:[function(require,module,exports){
7255
7717
  'use strict';
7256
7718
  var $ = require('../internals/export');
7257
7719
  var call = require('../internals/function-call');
@@ -7285,7 +7747,7 @@ $({ target: 'Iterator', proto: true, real: true, forced: forEachWithoutClosingOn
7285
7747
  }
7286
7748
  });
7287
7749
 
7288
- },{"../internals/a-callable":85,"../internals/an-object":92,"../internals/export":114,"../internals/function-call":119,"../internals/get-iterator-direct":125,"../internals/iterate":150,"../internals/iterator-close":153,"../internals/iterator-helper-without-closing-on-early-error":156}],228:[function(require,module,exports){
7750
+ },{"../internals/a-callable":87,"../internals/an-object":94,"../internals/export":116,"../internals/function-call":121,"../internals/get-iterator-direct":127,"../internals/iterate":152,"../internals/iterator-close":155,"../internals/iterator-helper-without-closing-on-early-error":158}],230:[function(require,module,exports){
7289
7751
  'use strict';
7290
7752
  var $ = require('../internals/export');
7291
7753
  var call = require('../internals/function-call');
@@ -7331,7 +7793,7 @@ $({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {
7331
7793
  }
7332
7794
  });
7333
7795
 
7334
- },{"../internals/a-callable":85,"../internals/an-object":92,"../internals/call-with-safe-iteration-closing":96,"../internals/export":114,"../internals/function-call":119,"../internals/get-iterator-direct":125,"../internals/is-pure":146,"../internals/iterator-close":153,"../internals/iterator-create-proxy":154,"../internals/iterator-helper-throws-on-invalid-iterator":155,"../internals/iterator-helper-without-closing-on-early-error":156}],229:[function(require,module,exports){
7796
+ },{"../internals/a-callable":87,"../internals/an-object":94,"../internals/call-with-safe-iteration-closing":98,"../internals/export":116,"../internals/function-call":121,"../internals/get-iterator-direct":127,"../internals/is-pure":148,"../internals/iterator-close":155,"../internals/iterator-create-proxy":156,"../internals/iterator-helper-throws-on-invalid-iterator":157,"../internals/iterator-helper-without-closing-on-early-error":158}],231:[function(require,module,exports){
7335
7797
  'use strict';
7336
7798
  var $ = require('../internals/export');
7337
7799
  var iterate = require('../internals/iterate');
@@ -7385,7 +7847,7 @@ $({ target: 'Iterator', proto: true, real: true, forced: FAILS_ON_INITIAL_UNDEFI
7385
7847
  }
7386
7848
  });
7387
7849
 
7388
- },{"../internals/a-callable":85,"../internals/an-object":92,"../internals/export":114,"../internals/fails":115,"../internals/function-apply":116,"../internals/get-iterator-direct":125,"../internals/iterate":150,"../internals/iterator-close":153,"../internals/iterator-helper-without-closing-on-early-error":156}],230:[function(require,module,exports){
7850
+ },{"../internals/a-callable":87,"../internals/an-object":94,"../internals/export":116,"../internals/fails":117,"../internals/function-apply":118,"../internals/get-iterator-direct":127,"../internals/iterate":152,"../internals/iterator-close":155,"../internals/iterator-helper-without-closing-on-early-error":158}],232:[function(require,module,exports){
7389
7851
  'use strict';
7390
7852
  var $ = require('../internals/export');
7391
7853
  var call = require('../internals/function-call');
@@ -7419,7 +7881,7 @@ $({ target: 'Iterator', proto: true, real: true, forced: someWithoutClosingOnEar
7419
7881
  }
7420
7882
  });
7421
7883
 
7422
- },{"../internals/a-callable":85,"../internals/an-object":92,"../internals/export":114,"../internals/function-call":119,"../internals/get-iterator-direct":125,"../internals/iterate":150,"../internals/iterator-close":153,"../internals/iterator-helper-without-closing-on-early-error":156}],231:[function(require,module,exports){
7884
+ },{"../internals/a-callable":87,"../internals/an-object":94,"../internals/export":116,"../internals/function-call":121,"../internals/get-iterator-direct":127,"../internals/iterate":152,"../internals/iterator-close":155,"../internals/iterator-helper-without-closing-on-early-error":158}],233:[function(require,module,exports){
7423
7885
  'use strict';
7424
7886
  var $ = require('../internals/export');
7425
7887
  var getBuiltIn = require('../internals/get-built-in');
@@ -7672,7 +8134,7 @@ if ($stringify) $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_
7672
8134
  }
7673
8135
  });
7674
8136
 
7675
- },{"../internals/array-includes":93,"../internals/classof-raw":97,"../internals/export":114,"../internals/fails":115,"../internals/function-call":119,"../internals/function-uncurry-this":123,"../internals/get-built-in":124,"../internals/has-own-property":132,"../internals/is-array":140,"../internals/is-callable":141,"../internals/is-object":145,"../internals/is-raw-json":147,"../internals/is-symbol":148,"../internals/native-raw-json":164,"../internals/object-create":166,"../internals/parse-json-string":179,"../internals/symbol-constructor-detection":199,"../internals/this-number-value":200,"../internals/to-string":211,"../internals/uid":213}],232:[function(require,module,exports){
8137
+ },{"../internals/array-includes":95,"../internals/classof-raw":99,"../internals/export":116,"../internals/fails":117,"../internals/function-call":121,"../internals/function-uncurry-this":125,"../internals/get-built-in":126,"../internals/has-own-property":134,"../internals/is-array":142,"../internals/is-callable":143,"../internals/is-object":147,"../internals/is-raw-json":149,"../internals/is-symbol":150,"../internals/native-raw-json":166,"../internals/object-create":168,"../internals/parse-json-string":181,"../internals/symbol-constructor-detection":201,"../internals/this-number-value":202,"../internals/to-string":213,"../internals/uid":215}],234:[function(require,module,exports){
7676
8138
  'use strict';
7677
8139
  var DESCRIPTORS = require('../internals/descriptors');
7678
8140
  var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
@@ -7690,7 +8152,7 @@ if (DESCRIPTORS && !regExpFlagsDetection.correct) {
7690
8152
  regExpFlagsDetection.correct = true;
7691
8153
  }
7692
8154
 
7693
- },{"../internals/define-built-in-accessor":105,"../internals/descriptors":109,"../internals/regexp-flags":182,"../internals/regexp-flags-detection":181}],233:[function(require,module,exports){
8155
+ },{"../internals/define-built-in-accessor":107,"../internals/descriptors":111,"../internals/regexp-flags":184,"../internals/regexp-flags-detection":183}],235:[function(require,module,exports){
7694
8156
  'use strict';
7695
8157
  var $ = require('../internals/export');
7696
8158
  var anInstance = require('../internals/an-instance');
@@ -7726,7 +8188,7 @@ $({ global: true, constructor: true, forced: IS_PURE }, {
7726
8188
  AsyncIterator: AsyncIteratorConstructor
7727
8189
  });
7728
8190
 
7729
- },{"../internals/an-instance":91,"../internals/async-iterator-prototype":95,"../internals/create-non-enumerable-property":102,"../internals/export":114,"../internals/has-own-property":132,"../internals/is-pure":146,"../internals/object-get-prototype-of":172,"../internals/well-known-symbol":219}],234:[function(require,module,exports){
8191
+ },{"../internals/an-instance":93,"../internals/async-iterator-prototype":97,"../internals/create-non-enumerable-property":104,"../internals/export":116,"../internals/has-own-property":134,"../internals/is-pure":148,"../internals/object-get-prototype-of":174,"../internals/well-known-symbol":221}],236:[function(require,module,exports){
7730
8192
  'use strict';
7731
8193
  var $ = require('../internals/export');
7732
8194
  var call = require('../internals/function-call');
@@ -7778,57 +8240,57 @@ $({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
7778
8240
  }
7779
8241
  });
7780
8242
 
7781
- },{"../internals/an-object":92,"../internals/async-iterator-create-proxy":94,"../internals/create-iter-result-object":101,"../internals/export":114,"../internals/function-call":119,"../internals/get-iterator-direct":125,"../internals/not-a-nan":165,"../internals/to-positive-integer":206}],235:[function(require,module,exports){
8243
+ },{"../internals/an-object":94,"../internals/async-iterator-create-proxy":96,"../internals/create-iter-result-object":103,"../internals/export":116,"../internals/function-call":121,"../internals/get-iterator-direct":127,"../internals/not-a-nan":167,"../internals/to-positive-integer":208}],237:[function(require,module,exports){
7782
8244
  'use strict';
7783
8245
  // TODO: Remove from `core-js@4`
7784
8246
  require('../modules/es.iterator.constructor');
7785
8247
 
7786
- },{"../modules/es.iterator.constructor":221}],236:[function(require,module,exports){
8248
+ },{"../modules/es.iterator.constructor":223}],238:[function(require,module,exports){
7787
8249
  'use strict';
7788
8250
  // TODO: Remove from `core-js@4`
7789
8251
  require('../modules/es.iterator.drop');
7790
8252
 
7791
- },{"../modules/es.iterator.drop":222}],237:[function(require,module,exports){
8253
+ },{"../modules/es.iterator.drop":224}],239:[function(require,module,exports){
7792
8254
  'use strict';
7793
8255
  // TODO: Remove from `core-js@4`
7794
8256
  require('../modules/es.iterator.every');
7795
8257
 
7796
- },{"../modules/es.iterator.every":223}],238:[function(require,module,exports){
8258
+ },{"../modules/es.iterator.every":225}],240:[function(require,module,exports){
7797
8259
  'use strict';
7798
8260
  // TODO: Remove from `core-js@4`
7799
8261
  require('../modules/es.iterator.filter');
7800
8262
 
7801
- },{"../modules/es.iterator.filter":224}],239:[function(require,module,exports){
8263
+ },{"../modules/es.iterator.filter":226}],241:[function(require,module,exports){
7802
8264
  'use strict';
7803
8265
  // TODO: Remove from `core-js@4`
7804
8266
  require('../modules/es.iterator.find');
7805
8267
 
7806
- },{"../modules/es.iterator.find":225}],240:[function(require,module,exports){
8268
+ },{"../modules/es.iterator.find":227}],242:[function(require,module,exports){
7807
8269
  'use strict';
7808
8270
  // TODO: Remove from `core-js@4`
7809
8271
  require('../modules/es.iterator.flat-map');
7810
8272
 
7811
- },{"../modules/es.iterator.flat-map":226}],241:[function(require,module,exports){
8273
+ },{"../modules/es.iterator.flat-map":228}],243:[function(require,module,exports){
7812
8274
  'use strict';
7813
8275
  // TODO: Remove from `core-js@4`
7814
8276
  require('../modules/es.iterator.for-each');
7815
8277
 
7816
- },{"../modules/es.iterator.for-each":227}],242:[function(require,module,exports){
8278
+ },{"../modules/es.iterator.for-each":229}],244:[function(require,module,exports){
7817
8279
  'use strict';
7818
8280
  // TODO: Remove from `core-js@4`
7819
8281
  require('../modules/es.iterator.map');
7820
8282
 
7821
- },{"../modules/es.iterator.map":228}],243:[function(require,module,exports){
8283
+ },{"../modules/es.iterator.map":230}],245:[function(require,module,exports){
7822
8284
  'use strict';
7823
8285
  // TODO: Remove from `core-js@4`
7824
8286
  require('../modules/es.iterator.reduce');
7825
8287
 
7826
- },{"../modules/es.iterator.reduce":229}],244:[function(require,module,exports){
8288
+ },{"../modules/es.iterator.reduce":231}],246:[function(require,module,exports){
7827
8289
  'use strict';
7828
8290
  // TODO: Remove from `core-js@4`
7829
8291
  require('../modules/es.iterator.some');
7830
8292
 
7831
- },{"../modules/es.iterator.some":230}],245:[function(require,module,exports){
8293
+ },{"../modules/es.iterator.some":232}],247:[function(require,module,exports){
7832
8294
  'use strict';
7833
8295
  var $ = require('../internals/export');
7834
8296
  var aMap = require('../internals/a-map');
@@ -7848,7 +8310,7 @@ $({ target: 'Map', proto: true, real: true, forced: true }, {
7848
8310
  }
7849
8311
  });
7850
8312
 
7851
- },{"../internals/a-map":86,"../internals/export":114,"../internals/map-helpers":161}],246:[function(require,module,exports){
8313
+ },{"../internals/a-map":88,"../internals/export":116,"../internals/map-helpers":163}],248:[function(require,module,exports){
7852
8314
  'use strict';
7853
8315
  var $ = require('../internals/export');
7854
8316
  var bind = require('../internals/function-bind-context');
@@ -7867,7 +8329,7 @@ $({ target: 'Map', proto: true, real: true, forced: true }, {
7867
8329
  }
7868
8330
  });
7869
8331
 
7870
- },{"../internals/a-map":86,"../internals/export":114,"../internals/function-bind-context":117,"../internals/map-iterate":162}],247:[function(require,module,exports){
8332
+ },{"../internals/a-map":88,"../internals/export":116,"../internals/function-bind-context":119,"../internals/map-iterate":164}],249:[function(require,module,exports){
7871
8333
  'use strict';
7872
8334
  var $ = require('../internals/export');
7873
8335
  var bind = require('../internals/function-bind-context');
@@ -7892,7 +8354,7 @@ $({ target: 'Map', proto: true, real: true, forced: true }, {
7892
8354
  }
7893
8355
  });
7894
8356
 
7895
- },{"../internals/a-map":86,"../internals/export":114,"../internals/function-bind-context":117,"../internals/map-helpers":161,"../internals/map-iterate":162}],248:[function(require,module,exports){
8357
+ },{"../internals/a-map":88,"../internals/export":116,"../internals/function-bind-context":119,"../internals/map-helpers":163,"../internals/map-iterate":164}],250:[function(require,module,exports){
7896
8358
  'use strict';
7897
8359
  var $ = require('../internals/export');
7898
8360
  var bind = require('../internals/function-bind-context');
@@ -7912,7 +8374,7 @@ $({ target: 'Map', proto: true, real: true, forced: true }, {
7912
8374
  }
7913
8375
  });
7914
8376
 
7915
- },{"../internals/a-map":86,"../internals/export":114,"../internals/function-bind-context":117,"../internals/map-iterate":162}],249:[function(require,module,exports){
8377
+ },{"../internals/a-map":88,"../internals/export":116,"../internals/function-bind-context":119,"../internals/map-iterate":164}],251:[function(require,module,exports){
7916
8378
  'use strict';
7917
8379
  var $ = require('../internals/export');
7918
8380
  var bind = require('../internals/function-bind-context');
@@ -7932,7 +8394,7 @@ $({ target: 'Map', proto: true, real: true, forced: true }, {
7932
8394
  }
7933
8395
  });
7934
8396
 
7935
- },{"../internals/a-map":86,"../internals/export":114,"../internals/function-bind-context":117,"../internals/map-iterate":162}],250:[function(require,module,exports){
8397
+ },{"../internals/a-map":88,"../internals/export":116,"../internals/function-bind-context":119,"../internals/map-iterate":164}],252:[function(require,module,exports){
7936
8398
  'use strict';
7937
8399
  var $ = require('../internals/export');
7938
8400
  var sameValueZero = require('../internals/same-value-zero');
@@ -7949,7 +8411,7 @@ $({ target: 'Map', proto: true, real: true, forced: true }, {
7949
8411
  }
7950
8412
  });
7951
8413
 
7952
- },{"../internals/a-map":86,"../internals/export":114,"../internals/map-iterate":162,"../internals/same-value-zero":184}],251:[function(require,module,exports){
8414
+ },{"../internals/a-map":88,"../internals/export":116,"../internals/map-iterate":164,"../internals/same-value-zero":186}],253:[function(require,module,exports){
7953
8415
  'use strict';
7954
8416
  var $ = require('../internals/export');
7955
8417
  var aMap = require('../internals/a-map');
@@ -7966,7 +8428,7 @@ $({ target: 'Map', proto: true, real: true, forced: true }, {
7966
8428
  }
7967
8429
  });
7968
8430
 
7969
- },{"../internals/a-map":86,"../internals/export":114,"../internals/map-iterate":162}],252:[function(require,module,exports){
8431
+ },{"../internals/a-map":88,"../internals/export":116,"../internals/map-iterate":164}],254:[function(require,module,exports){
7970
8432
  'use strict';
7971
8433
  var $ = require('../internals/export');
7972
8434
  var bind = require('../internals/function-bind-context');
@@ -7991,7 +8453,7 @@ $({ target: 'Map', proto: true, real: true, forced: true }, {
7991
8453
  }
7992
8454
  });
7993
8455
 
7994
- },{"../internals/a-map":86,"../internals/export":114,"../internals/function-bind-context":117,"../internals/map-helpers":161,"../internals/map-iterate":162}],253:[function(require,module,exports){
8456
+ },{"../internals/a-map":88,"../internals/export":116,"../internals/function-bind-context":119,"../internals/map-helpers":163,"../internals/map-iterate":164}],255:[function(require,module,exports){
7995
8457
  'use strict';
7996
8458
  var $ = require('../internals/export');
7997
8459
  var bind = require('../internals/function-bind-context');
@@ -8016,7 +8478,7 @@ $({ target: 'Map', proto: true, real: true, forced: true }, {
8016
8478
  }
8017
8479
  });
8018
8480
 
8019
- },{"../internals/a-map":86,"../internals/export":114,"../internals/function-bind-context":117,"../internals/map-helpers":161,"../internals/map-iterate":162}],254:[function(require,module,exports){
8481
+ },{"../internals/a-map":88,"../internals/export":116,"../internals/function-bind-context":119,"../internals/map-helpers":163,"../internals/map-iterate":164}],256:[function(require,module,exports){
8020
8482
  'use strict';
8021
8483
  var $ = require('../internals/export');
8022
8484
  var aMap = require('../internals/a-map');
@@ -8040,7 +8502,7 @@ $({ target: 'Map', proto: true, real: true, arity: 1, forced: true }, {
8040
8502
  }
8041
8503
  });
8042
8504
 
8043
- },{"../internals/a-map":86,"../internals/export":114,"../internals/iterate":150,"../internals/map-helpers":161}],255:[function(require,module,exports){
8505
+ },{"../internals/a-map":88,"../internals/export":116,"../internals/iterate":152,"../internals/map-helpers":163}],257:[function(require,module,exports){
8044
8506
  'use strict';
8045
8507
  var $ = require('../internals/export');
8046
8508
  var aCallable = require('../internals/a-callable');
@@ -8070,7 +8532,7 @@ $({ target: 'Map', proto: true, real: true, forced: true }, {
8070
8532
  }
8071
8533
  });
8072
8534
 
8073
- },{"../internals/a-callable":85,"../internals/a-map":86,"../internals/export":114,"../internals/map-iterate":162}],256:[function(require,module,exports){
8535
+ },{"../internals/a-callable":87,"../internals/a-map":88,"../internals/export":116,"../internals/map-iterate":164}],258:[function(require,module,exports){
8074
8536
  'use strict';
8075
8537
  var $ = require('../internals/export');
8076
8538
  var bind = require('../internals/function-bind-context');
@@ -8089,7 +8551,7 @@ $({ target: 'Map', proto: true, real: true, forced: true }, {
8089
8551
  }
8090
8552
  });
8091
8553
 
8092
- },{"../internals/a-map":86,"../internals/export":114,"../internals/function-bind-context":117,"../internals/map-iterate":162}],257:[function(require,module,exports){
8554
+ },{"../internals/a-map":88,"../internals/export":116,"../internals/function-bind-context":119,"../internals/map-iterate":164}],259:[function(require,module,exports){
8093
8555
  'use strict';
8094
8556
  var $ = require('../internals/export');
8095
8557
  var aCallable = require('../internals/a-callable');
@@ -8118,7 +8580,7 @@ $({ target: 'Map', proto: true, real: true, forced: true }, {
8118
8580
  }
8119
8581
  });
8120
8582
 
8121
- },{"../internals/a-callable":85,"../internals/a-map":86,"../internals/export":114,"../internals/map-helpers":161}],258:[function(require,module,exports){
8583
+ },{"../internals/a-callable":87,"../internals/a-map":88,"../internals/export":116,"../internals/map-helpers":163}],260:[function(require,module,exports){
8122
8584
  'use strict';
8123
8585
  var $ = require('../internals/export');
8124
8586
  var aSet = require('../internals/a-set');
@@ -8135,7 +8597,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8135
8597
  }
8136
8598
  });
8137
8599
 
8138
- },{"../internals/a-set":87,"../internals/export":114,"../internals/set-helpers":187}],259:[function(require,module,exports){
8600
+ },{"../internals/a-set":89,"../internals/export":116,"../internals/set-helpers":189}],261:[function(require,module,exports){
8139
8601
  'use strict';
8140
8602
  var $ = require('../internals/export');
8141
8603
  var aSet = require('../internals/a-set');
@@ -8155,7 +8617,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8155
8617
  }
8156
8618
  });
8157
8619
 
8158
- },{"../internals/a-set":87,"../internals/export":114,"../internals/set-helpers":187}],260:[function(require,module,exports){
8620
+ },{"../internals/a-set":89,"../internals/export":116,"../internals/set-helpers":189}],262:[function(require,module,exports){
8159
8621
  'use strict';
8160
8622
  var $ = require('../internals/export');
8161
8623
  var call = require('../internals/function-call');
@@ -8171,7 +8633,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8171
8633
  }
8172
8634
  });
8173
8635
 
8174
- },{"../internals/export":114,"../internals/function-call":119,"../internals/set-difference":186,"../internals/to-set-like":209}],261:[function(require,module,exports){
8636
+ },{"../internals/export":116,"../internals/function-call":121,"../internals/set-difference":188,"../internals/to-set-like":211}],263:[function(require,module,exports){
8175
8637
  'use strict';
8176
8638
  var $ = require('../internals/export');
8177
8639
  var bind = require('../internals/function-bind-context');
@@ -8190,7 +8652,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8190
8652
  }
8191
8653
  });
8192
8654
 
8193
- },{"../internals/a-set":87,"../internals/export":114,"../internals/function-bind-context":117,"../internals/set-iterate":192}],262:[function(require,module,exports){
8655
+ },{"../internals/a-set":89,"../internals/export":116,"../internals/function-bind-context":119,"../internals/set-iterate":194}],264:[function(require,module,exports){
8194
8656
  'use strict';
8195
8657
  var $ = require('../internals/export');
8196
8658
  var bind = require('../internals/function-bind-context');
@@ -8215,7 +8677,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8215
8677
  }
8216
8678
  });
8217
8679
 
8218
- },{"../internals/a-set":87,"../internals/export":114,"../internals/function-bind-context":117,"../internals/set-helpers":187,"../internals/set-iterate":192}],263:[function(require,module,exports){
8680
+ },{"../internals/a-set":89,"../internals/export":116,"../internals/function-bind-context":119,"../internals/set-helpers":189,"../internals/set-iterate":194}],265:[function(require,module,exports){
8219
8681
  'use strict';
8220
8682
  var $ = require('../internals/export');
8221
8683
  var bind = require('../internals/function-bind-context');
@@ -8235,7 +8697,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8235
8697
  }
8236
8698
  });
8237
8699
 
8238
- },{"../internals/a-set":87,"../internals/export":114,"../internals/function-bind-context":117,"../internals/set-iterate":192}],264:[function(require,module,exports){
8700
+ },{"../internals/a-set":89,"../internals/export":116,"../internals/function-bind-context":119,"../internals/set-iterate":194}],266:[function(require,module,exports){
8239
8701
  'use strict';
8240
8702
  var $ = require('../internals/export');
8241
8703
  var call = require('../internals/function-call');
@@ -8251,7 +8713,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8251
8713
  }
8252
8714
  });
8253
8715
 
8254
- },{"../internals/export":114,"../internals/function-call":119,"../internals/set-intersection":188,"../internals/to-set-like":209}],265:[function(require,module,exports){
8716
+ },{"../internals/export":116,"../internals/function-call":121,"../internals/set-intersection":190,"../internals/to-set-like":211}],267:[function(require,module,exports){
8255
8717
  'use strict';
8256
8718
  var $ = require('../internals/export');
8257
8719
  var call = require('../internals/function-call');
@@ -8267,7 +8729,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8267
8729
  }
8268
8730
  });
8269
8731
 
8270
- },{"../internals/export":114,"../internals/function-call":119,"../internals/set-is-disjoint-from":189,"../internals/to-set-like":209}],266:[function(require,module,exports){
8732
+ },{"../internals/export":116,"../internals/function-call":121,"../internals/set-is-disjoint-from":191,"../internals/to-set-like":211}],268:[function(require,module,exports){
8271
8733
  'use strict';
8272
8734
  var $ = require('../internals/export');
8273
8735
  var call = require('../internals/function-call');
@@ -8283,7 +8745,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8283
8745
  }
8284
8746
  });
8285
8747
 
8286
- },{"../internals/export":114,"../internals/function-call":119,"../internals/set-is-subset-of":190,"../internals/to-set-like":209}],267:[function(require,module,exports){
8748
+ },{"../internals/export":116,"../internals/function-call":121,"../internals/set-is-subset-of":192,"../internals/to-set-like":211}],269:[function(require,module,exports){
8287
8749
  'use strict';
8288
8750
  var $ = require('../internals/export');
8289
8751
  var call = require('../internals/function-call');
@@ -8299,7 +8761,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8299
8761
  }
8300
8762
  });
8301
8763
 
8302
- },{"../internals/export":114,"../internals/function-call":119,"../internals/set-is-superset-of":191,"../internals/to-set-like":209}],268:[function(require,module,exports){
8764
+ },{"../internals/export":116,"../internals/function-call":121,"../internals/set-is-superset-of":193,"../internals/to-set-like":211}],270:[function(require,module,exports){
8303
8765
  'use strict';
8304
8766
  var $ = require('../internals/export');
8305
8767
  var uncurryThis = require('../internals/function-uncurry-this');
@@ -8324,7 +8786,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8324
8786
  }
8325
8787
  });
8326
8788
 
8327
- },{"../internals/a-set":87,"../internals/export":114,"../internals/function-uncurry-this":123,"../internals/set-iterate":192,"../internals/to-string":211}],269:[function(require,module,exports){
8789
+ },{"../internals/a-set":89,"../internals/export":116,"../internals/function-uncurry-this":125,"../internals/set-iterate":194,"../internals/to-string":213}],271:[function(require,module,exports){
8328
8790
  'use strict';
8329
8791
  var $ = require('../internals/export');
8330
8792
  var bind = require('../internals/function-bind-context');
@@ -8349,7 +8811,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8349
8811
  }
8350
8812
  });
8351
8813
 
8352
- },{"../internals/a-set":87,"../internals/export":114,"../internals/function-bind-context":117,"../internals/set-helpers":187,"../internals/set-iterate":192}],270:[function(require,module,exports){
8814
+ },{"../internals/a-set":89,"../internals/export":116,"../internals/function-bind-context":119,"../internals/set-helpers":189,"../internals/set-iterate":194}],272:[function(require,module,exports){
8353
8815
  'use strict';
8354
8816
  var $ = require('../internals/export');
8355
8817
  var aCallable = require('../internals/a-callable');
@@ -8379,7 +8841,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8379
8841
  }
8380
8842
  });
8381
8843
 
8382
- },{"../internals/a-callable":85,"../internals/a-set":87,"../internals/export":114,"../internals/set-iterate":192}],271:[function(require,module,exports){
8844
+ },{"../internals/a-callable":87,"../internals/a-set":89,"../internals/export":116,"../internals/set-iterate":194}],273:[function(require,module,exports){
8383
8845
  'use strict';
8384
8846
  var $ = require('../internals/export');
8385
8847
  var bind = require('../internals/function-bind-context');
@@ -8398,7 +8860,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8398
8860
  }
8399
8861
  });
8400
8862
 
8401
- },{"../internals/a-set":87,"../internals/export":114,"../internals/function-bind-context":117,"../internals/set-iterate":192}],272:[function(require,module,exports){
8863
+ },{"../internals/a-set":89,"../internals/export":116,"../internals/function-bind-context":119,"../internals/set-iterate":194}],274:[function(require,module,exports){
8402
8864
  'use strict';
8403
8865
  var $ = require('../internals/export');
8404
8866
  var call = require('../internals/function-call');
@@ -8414,7 +8876,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8414
8876
  }
8415
8877
  });
8416
8878
 
8417
- },{"../internals/export":114,"../internals/function-call":119,"../internals/set-symmetric-difference":194,"../internals/to-set-like":209}],273:[function(require,module,exports){
8879
+ },{"../internals/export":116,"../internals/function-call":121,"../internals/set-symmetric-difference":196,"../internals/to-set-like":211}],275:[function(require,module,exports){
8418
8880
  'use strict';
8419
8881
  var $ = require('../internals/export');
8420
8882
  var call = require('../internals/function-call');
@@ -8430,7 +8892,7 @@ $({ target: 'Set', proto: true, real: true, forced: true }, {
8430
8892
  }
8431
8893
  });
8432
8894
 
8433
- },{"../internals/export":114,"../internals/function-call":119,"../internals/set-union":195,"../internals/to-set-like":209}],274:[function(require,module,exports){
8895
+ },{"../internals/export":116,"../internals/function-call":121,"../internals/set-union":197,"../internals/to-set-like":211}],276:[function(require,module,exports){
8434
8896
  'use strict';
8435
8897
  var $ = require('../internals/export');
8436
8898
  var aWeakMap = require('../internals/a-weak-map');
@@ -8450,7 +8912,7 @@ $({ target: 'WeakMap', proto: true, real: true, forced: true }, {
8450
8912
  }
8451
8913
  });
8452
8914
 
8453
- },{"../internals/a-weak-map":88,"../internals/export":114,"../internals/weak-map-helpers":217}],275:[function(require,module,exports){
8915
+ },{"../internals/a-weak-map":90,"../internals/export":116,"../internals/weak-map-helpers":219}],277:[function(require,module,exports){
8454
8916
  'use strict';
8455
8917
  var $ = require('../internals/export');
8456
8918
  var aWeakSet = require('../internals/a-weak-set');
@@ -8467,7 +8929,7 @@ $({ target: 'WeakSet', proto: true, real: true, forced: true }, {
8467
8929
  }
8468
8930
  });
8469
8931
 
8470
- },{"../internals/a-weak-set":89,"../internals/export":114,"../internals/weak-set-helpers":218}],276:[function(require,module,exports){
8932
+ },{"../internals/a-weak-set":91,"../internals/export":116,"../internals/weak-set-helpers":220}],278:[function(require,module,exports){
8471
8933
  'use strict';
8472
8934
  var $ = require('../internals/export');
8473
8935
  var aWeakSet = require('../internals/a-weak-set');
@@ -8487,7 +8949,7 @@ $({ target: 'WeakSet', proto: true, real: true, forced: true }, {
8487
8949
  }
8488
8950
  });
8489
8951
 
8490
- },{"../internals/a-weak-set":89,"../internals/export":114,"../internals/weak-set-helpers":218}],277:[function(require,module,exports){
8952
+ },{"../internals/a-weak-set":91,"../internals/export":116,"../internals/weak-set-helpers":220}],279:[function(require,module,exports){
8491
8953
  (function (process){(function (){
8492
8954
  // 'path' module extracted from Node.js v8.11.1 (only the posix part)
8493
8955
  // transplited with Babel
@@ -9020,7 +9482,7 @@ posix.posix = posix;
9020
9482
  module.exports = posix;
9021
9483
 
9022
9484
  }).call(this)}).call(this,require('_process'))
9023
- },{"_process":278}],278:[function(require,module,exports){
9485
+ },{"_process":280}],280:[function(require,module,exports){
9024
9486
  // shim for using process in browser
9025
9487
  var process = module.exports = {};
9026
9488
 
@@ -9206,7 +9668,7 @@ process.chdir = function (dir) {
9206
9668
  };
9207
9669
  process.umask = function() { return 0; };
9208
9670
 
9209
- },{}],279:[function(require,module,exports){
9671
+ },{}],281:[function(require,module,exports){
9210
9672
  /**
9211
9673
  * Copyright (c) 2014-present, Facebook, Inc.
9212
9674
  *
@@ -9969,7 +10431,7 @@ try {
9969
10431
  }
9970
10432
  }
9971
10433
 
9972
- },{}],280:[function(require,module,exports){
10434
+ },{}],282:[function(require,module,exports){
9973
10435
  "use strict";
9974
10436
 
9975
10437
  Object.defineProperty(exports, "__esModule", {
@@ -10039,7 +10501,7 @@ var _default = exports.default = {
10039
10501
  mergeArrays: _mergeArrays.default,
10040
10502
  uniqueArray: _uniqueArray.default
10041
10503
  };
10042
- },{"./arrays/BasicQueue":281,"./arrays/addUniqueToArray":282,"./arrays/buildArray":283,"./arrays/buildArrayOfReferences":284,"./arrays/compareArrays":285,"./arrays/mergeArrays":286,"./arrays/uniqueArray":287}],281:[function(require,module,exports){
10504
+ },{"./arrays/BasicQueue":283,"./arrays/addUniqueToArray":284,"./arrays/buildArray":285,"./arrays/buildArrayOfReferences":286,"./arrays/compareArrays":287,"./arrays/mergeArrays":288,"./arrays/uniqueArray":289}],283:[function(require,module,exports){
10043
10505
  "use strict";
10044
10506
 
10045
10507
  Object.defineProperty(exports, "__esModule", {
@@ -10090,7 +10552,7 @@ class BasicQueue {
10090
10552
  }
10091
10553
  }
10092
10554
  var _default = exports.default = BasicQueue;
10093
- },{}],282:[function(require,module,exports){
10555
+ },{}],284:[function(require,module,exports){
10094
10556
  "use strict";
10095
10557
 
10096
10558
  Object.defineProperty(exports, "__esModule", {
@@ -10105,7 +10567,7 @@ require("core-js/modules/es.array.includes.js");
10105
10567
  */
10106
10568
  const addUniqueToArray = (item, array) => !array.includes(item) ? array.concat([item]) : array;
10107
10569
  var _default = exports.default = addUniqueToArray;
10108
- },{"core-js/modules/es.array.includes.js":220}],283:[function(require,module,exports){
10570
+ },{"core-js/modules/es.array.includes.js":222}],285:[function(require,module,exports){
10109
10571
  "use strict";
10110
10572
 
10111
10573
  Object.defineProperty(exports, "__esModule", {
@@ -10129,7 +10591,7 @@ const buildArray = (item, length) => {
10129
10591
  return arr;
10130
10592
  };
10131
10593
  var _default = exports.default = buildArray;
10132
- },{"../objects/cloneObject":324}],284:[function(require,module,exports){
10594
+ },{"../objects/cloneObject":326}],286:[function(require,module,exports){
10133
10595
  "use strict";
10134
10596
 
10135
10597
  Object.defineProperty(exports, "__esModule", {
@@ -10150,7 +10612,7 @@ const buildArrayOfReferences = (item, length) => {
10150
10612
  return arr;
10151
10613
  };
10152
10614
  var _default = exports.default = buildArrayOfReferences;
10153
- },{}],285:[function(require,module,exports){
10615
+ },{}],287:[function(require,module,exports){
10154
10616
  "use strict";
10155
10617
 
10156
10618
  Object.defineProperty(exports, "__esModule", {
@@ -10245,7 +10707,7 @@ const compareArrays = (...arrays) => (0, _mergeArrays.default)(...arrays).reduce
10245
10707
  }];
10246
10708
  }, []);
10247
10709
  var _default = exports.default = compareArrays;
10248
- },{"../objects/isObject":334,"../objects/objectKeys":339,"./mergeArrays":286,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.every.js":237,"core-js/modules/esnext.iterator.map.js":242,"core-js/modules/esnext.iterator.reduce.js":243}],286:[function(require,module,exports){
10710
+ },{"../objects/isObject":336,"../objects/objectKeys":341,"./mergeArrays":288,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.every.js":239,"core-js/modules/esnext.iterator.map.js":244,"core-js/modules/esnext.iterator.reduce.js":245}],288:[function(require,module,exports){
10249
10711
  "use strict";
10250
10712
 
10251
10713
  Object.defineProperty(exports, "__esModule", {
@@ -10265,7 +10727,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
10265
10727
  */
10266
10728
  const mergeArrays = (...arrays) => arrays.map(_uniqueArray.default).reduce((merged, arr) => [...merged, ...arr.filter(attr => !merged.includes(attr))], []);
10267
10729
  var _default = exports.default = mergeArrays;
10268
- },{"./uniqueArray":287,"core-js/modules/es.array.includes.js":220,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.filter.js":238,"core-js/modules/esnext.iterator.map.js":242,"core-js/modules/esnext.iterator.reduce.js":243}],287:[function(require,module,exports){
10730
+ },{"./uniqueArray":289,"core-js/modules/es.array.includes.js":222,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.filter.js":240,"core-js/modules/esnext.iterator.map.js":244,"core-js/modules/esnext.iterator.reduce.js":245}],289:[function(require,module,exports){
10269
10731
  "use strict";
10270
10732
 
10271
10733
  Object.defineProperty(exports, "__esModule", {
@@ -10280,7 +10742,7 @@ require("core-js/modules/esnext.iterator.filter.js");
10280
10742
  */
10281
10743
  const uniqueArray = array => array.filter((item, index) => array.indexOf(item) === index);
10282
10744
  var _default = exports.default = uniqueArray;
10283
- },{"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.filter.js":238}],288:[function(require,module,exports){
10745
+ },{"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.filter.js":240}],290:[function(require,module,exports){
10284
10746
  "use strict";
10285
10747
 
10286
10748
  Object.defineProperty(exports, "__esModule", {
@@ -10405,7 +10867,7 @@ var _default = exports.default = {
10405
10867
  nextReference: _nextReference.default,
10406
10868
  sameDescriptor: _sameDescriptor.default
10407
10869
  };
10408
- },{"./descriptors/assignDescriptor":289,"./descriptors/assignDescriptorDetail":290,"./descriptors/checkClearValues":291,"./descriptors/checkDescriptorComplete":292,"./descriptors/cloneDescriptor":293,"./descriptors/cloneDescriptorDetail":294,"./descriptors/compareDescriptor":295,"./descriptors/describeObject":296,"./descriptors/describeObjectDetail":297,"./descriptors/describeObjectMap":298,"./descriptors/nextReference":299,"./descriptors/sameDescriptor":300}],289:[function(require,module,exports){
10870
+ },{"./descriptors/assignDescriptor":291,"./descriptors/assignDescriptorDetail":292,"./descriptors/checkClearValues":293,"./descriptors/checkDescriptorComplete":294,"./descriptors/cloneDescriptor":295,"./descriptors/cloneDescriptorDetail":296,"./descriptors/compareDescriptor":297,"./descriptors/describeObject":298,"./descriptors/describeObjectDetail":299,"./descriptors/describeObjectMap":300,"./descriptors/nextReference":301,"./descriptors/sameDescriptor":302}],291:[function(require,module,exports){
10409
10871
  "use strict";
10410
10872
 
10411
10873
  Object.defineProperty(exports, "__esModule", {
@@ -10462,7 +10924,7 @@ const assignDescriptor = (originalMap, ...descriptors) => descriptors.reduce((as
10462
10924
  return assignedDescriptor;
10463
10925
  }, (0, _cloneDescriptor.default)(originalMap));
10464
10926
  var _default = exports.default = assignDescriptor;
10465
- },{"../arrays/compareArrays":285,"../arrays/uniqueArray":287,"./assignDescriptorDetail":290,"./cloneDescriptor":293,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.every.js":237,"core-js/modules/esnext.iterator.filter.js":238,"core-js/modules/esnext.iterator.find.js":239,"core-js/modules/esnext.iterator.for-each.js":241,"core-js/modules/esnext.iterator.map.js":242,"core-js/modules/esnext.iterator.reduce.js":243}],290:[function(require,module,exports){
10927
+ },{"../arrays/compareArrays":287,"../arrays/uniqueArray":289,"./assignDescriptorDetail":292,"./cloneDescriptor":295,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.every.js":239,"core-js/modules/esnext.iterator.filter.js":240,"core-js/modules/esnext.iterator.find.js":241,"core-js/modules/esnext.iterator.for-each.js":243,"core-js/modules/esnext.iterator.map.js":244,"core-js/modules/esnext.iterator.reduce.js":245}],292:[function(require,module,exports){
10466
10928
  "use strict";
10467
10929
 
10468
10930
  Object.defineProperty(exports, "__esModule", {
@@ -10498,7 +10960,7 @@ const assignDescriptorDetail = (originalDetail, ...details) => details.reduce((e
10498
10960
  return existingDetail;
10499
10961
  }, (0, _cloneDescriptorDetail.default)(originalDetail));
10500
10962
  var _default = exports.default = assignDescriptorDetail;
10501
- },{"../arrays/uniqueArray":287,"./cloneDescriptorDetail":294,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.reduce.js":243}],291:[function(require,module,exports){
10963
+ },{"../arrays/uniqueArray":289,"./cloneDescriptorDetail":296,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.reduce.js":245}],293:[function(require,module,exports){
10502
10964
  "use strict";
10503
10965
 
10504
10966
  Object.defineProperty(exports, "__esModule", {
@@ -10518,7 +10980,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
10518
10980
  */
10519
10981
  const checkClearValues = (descriptor, keepValues = false) => (0, _setValue.default)('details', descriptor.complete && !keepValues ? descriptor.details.map(detail => (0, _setValue.default)('value', [], detail)) : descriptor.details, descriptor);
10520
10982
  var _default = exports.default = checkClearValues;
10521
- },{"../objects/setValue":343,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242}],292:[function(require,module,exports){
10983
+ },{"../objects/setValue":345,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244}],294:[function(require,module,exports){
10522
10984
  "use strict";
10523
10985
 
10524
10986
  Object.defineProperty(exports, "__esModule", {
@@ -10537,7 +10999,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
10537
10999
  */
10538
11000
  const checkDescriptorComplete = descriptor => (0, _setValue.default)('complete', descriptor.references.every(refId => [descriptor.details[refId].arrayReference, descriptor.details[refId].objectReference].some(ref => typeof ref === 'number')), descriptor);
10539
11001
  var _default = exports.default = checkDescriptorComplete;
10540
- },{"../objects/setValue":343,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.every.js":237}],293:[function(require,module,exports){
11002
+ },{"../objects/setValue":345,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.every.js":239}],295:[function(require,module,exports){
10541
11003
  "use strict";
10542
11004
 
10543
11005
  Object.defineProperty(exports, "__esModule", {
@@ -10572,7 +11034,7 @@ const cloneDescriptor = originalMap => {
10572
11034
  return copyMap;
10573
11035
  };
10574
11036
  var _default = exports.default = cloneDescriptor;
10575
- },{"./cloneDescriptorDetail":294,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242}],294:[function(require,module,exports){
11037
+ },{"./cloneDescriptorDetail":296,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244}],296:[function(require,module,exports){
10576
11038
  "use strict";
10577
11039
 
10578
11040
  Object.defineProperty(exports, "__esModule", {
@@ -10598,7 +11060,7 @@ const cloneDescriptorDetail = originalDetail => {
10598
11060
  return copyDetail;
10599
11061
  };
10600
11062
  var _default = exports.default = cloneDescriptorDetail;
10601
- },{"../objects/objectKeys":339,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.for-each.js":241,"core-js/modules/esnext.iterator.map.js":242}],295:[function(require,module,exports){
11063
+ },{"../objects/objectKeys":341,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.for-each.js":243,"core-js/modules/esnext.iterator.map.js":244}],297:[function(require,module,exports){
10602
11064
  "use strict";
10603
11065
 
10604
11066
  Object.defineProperty(exports, "__esModule", {
@@ -10630,7 +11092,7 @@ const compareDescriptor = (descriptor1, descriptor2) => {
10630
11092
  return smallerDescriptor.keys.every(key => largerDescriptor.keys.includes(key)) ? smallerDescriptor.details.every(detail => detail.type.some(type => largerDescriptor.details.find(foundDetail => foundDetail.key === detail.key).type.includes(type))) : false;
10631
11093
  };
10632
11094
  var _default = exports.default = compareDescriptor;
10633
- },{"core-js/modules/es.array.includes.js":220,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.every.js":237,"core-js/modules/esnext.iterator.find.js":239,"core-js/modules/esnext.iterator.some.js":244}],296:[function(require,module,exports){
11095
+ },{"core-js/modules/es.array.includes.js":222,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.every.js":239,"core-js/modules/esnext.iterator.find.js":241,"core-js/modules/esnext.iterator.some.js":246}],298:[function(require,module,exports){
10634
11096
  "use strict";
10635
11097
 
10636
11098
  Object.defineProperty(exports, "__esModule", {
@@ -10681,7 +11143,7 @@ const describeObject = object => {
10681
11143
  return descriptor;
10682
11144
  };
10683
11145
  var _default = exports.default = describeObject;
10684
- },{"../objects/objectKeys":339,"./assignDescriptorDetail":290,"./describeObjectDetail":297}],297:[function(require,module,exports){
11146
+ },{"../objects/objectKeys":341,"./assignDescriptorDetail":292,"./describeObjectDetail":299}],299:[function(require,module,exports){
10685
11147
  "use strict";
10686
11148
 
10687
11149
  Object.defineProperty(exports, "__esModule", {
@@ -10717,7 +11179,7 @@ const describeObjectDetail = (value, key = 0, index = 0) => {
10717
11179
  };
10718
11180
  };
10719
11181
  var _default = exports.default = describeObjectDetail;
10720
- },{"../objects/emptyObject":329,"../objects/isCloneable":331,"../objects/isInstanceObject":333}],298:[function(require,module,exports){
11182
+ },{"../objects/emptyObject":331,"../objects/isCloneable":333,"../objects/isInstanceObject":335}],300:[function(require,module,exports){
10721
11183
  "use strict";
10722
11184
 
10723
11185
  Object.defineProperty(exports, "__esModule", {
@@ -10822,7 +11284,7 @@ const describeObjectMap = (object, {
10822
11284
  return describeReferences(descriptor, descriptor.details[currentReference], depthLimit);
10823
11285
  };
10824
11286
  var _default = exports.default = describeObjectMap;
10825
- },{"./assignDescriptor":289,"./checkClearValues":291,"./checkDescriptorComplete":292,"./compareDescriptor":295,"./describeObject":296,"./nextReference":299,"./sameDescriptor":300,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.find.js":239,"core-js/modules/esnext.iterator.for-each.js":241}],299:[function(require,module,exports){
11287
+ },{"./assignDescriptor":291,"./checkClearValues":293,"./checkDescriptorComplete":294,"./compareDescriptor":297,"./describeObject":298,"./nextReference":301,"./sameDescriptor":302,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.find.js":241,"core-js/modules/esnext.iterator.for-each.js":243}],301:[function(require,module,exports){
10826
11288
  "use strict";
10827
11289
 
10828
11290
  Object.defineProperty(exports, "__esModule", {
@@ -10852,7 +11314,7 @@ const nextReference = (descriptor, currentReference) => descriptor.references.fi
10852
11314
  return !!(0, _objectKeys.default)(val).length;
10853
11315
  });
10854
11316
  var _default = exports.default = nextReference;
10855
- },{"../objects/objectKeys":339,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.find.js":239}],300:[function(require,module,exports){
11317
+ },{"../objects/objectKeys":341,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.find.js":241}],302:[function(require,module,exports){
10856
11318
  "use strict";
10857
11319
 
10858
11320
  Object.defineProperty(exports, "__esModule", {
@@ -10873,7 +11335,7 @@ require("core-js/modules/esnext.iterator.some.js");
10873
11335
  */
10874
11336
  const sameDescriptor = (descriptor1, descriptor2) => descriptor1.details.every((detail, index) => detail.value.some(dVal => descriptor2.details[index].value.includes(dVal)));
10875
11337
  var _default = exports.default = sameDescriptor;
10876
- },{"core-js/modules/es.array.includes.js":220,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.every.js":237,"core-js/modules/esnext.iterator.some.js":244}],301:[function(require,module,exports){
11338
+ },{"core-js/modules/es.array.includes.js":222,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.every.js":239,"core-js/modules/esnext.iterator.some.js":246}],303:[function(require,module,exports){
10877
11339
  "use strict";
10878
11340
 
10879
11341
  Object.defineProperty(exports, "__esModule", {
@@ -10974,7 +11436,7 @@ var _default = exports.default = {
10974
11436
  relevancyFilter: _relevancyFilter.default,
10975
11437
  trace: _trace.default
10976
11438
  };
10977
- },{"./functions/callWithParams":302,"./functions/curry":303,"./functions/delay":304,"./functions/makeBasicQueue":305,"./functions/onBodyLoad":306,"./functions/pipe":307,"./functions/preloadParams":308,"./functions/queueManager":309,"./functions/queueTimeout":310,"./functions/relevancyFilter":311,"./functions/trace":312}],302:[function(require,module,exports){
11439
+ },{"./functions/callWithParams":304,"./functions/curry":305,"./functions/delay":306,"./functions/makeBasicQueue":307,"./functions/onBodyLoad":308,"./functions/pipe":309,"./functions/preloadParams":310,"./functions/queueManager":311,"./functions/queueTimeout":312,"./functions/relevancyFilter":313,"./functions/trace":314}],304:[function(require,module,exports){
10978
11440
  "use strict";
10979
11441
 
10980
11442
  Object.defineProperty(exports, "__esModule", {
@@ -10989,7 +11451,7 @@ exports.default = void 0;
10989
11451
  */
10990
11452
  const callWithParams = (fn, params = [], minimum = 2) => fn(...params.slice(0, fn.length || minimum));
10991
11453
  var _default = exports.default = callWithParams;
10992
- },{}],303:[function(require,module,exports){
11454
+ },{}],305:[function(require,module,exports){
10993
11455
  "use strict";
10994
11456
 
10995
11457
  Object.defineProperty(exports, "__esModule", {
@@ -11004,7 +11466,7 @@ exports.default = void 0;
11004
11466
  */
11005
11467
  const curry = fn => (...args) => args.length >= fn.length ? fn(...args) : (...a) => curry(fn)(...[...args, ...a]);
11006
11468
  var _default = exports.default = curry;
11007
- },{}],304:[function(require,module,exports){
11469
+ },{}],306:[function(require,module,exports){
11008
11470
  "use strict";
11009
11471
 
11010
11472
  Object.defineProperty(exports, "__esModule", {
@@ -11034,7 +11496,7 @@ const delay = (time = 0) => {
11034
11496
  };
11035
11497
  };
11036
11498
  var _default = exports.default = delay;
11037
- },{"regenerator-runtime/runtime":279}],305:[function(require,module,exports){
11499
+ },{"regenerator-runtime/runtime":281}],307:[function(require,module,exports){
11038
11500
  "use strict";
11039
11501
 
11040
11502
  Object.defineProperty(exports, "__esModule", {
@@ -11051,7 +11513,7 @@ const makeBasicQueue = (initialQueue = []) => {
11051
11513
  return new _BasicQueue.default(initialQueue);
11052
11514
  };
11053
11515
  var _default = exports.default = makeBasicQueue;
11054
- },{"../arrays/BasicQueue":281}],306:[function(require,module,exports){
11516
+ },{"../arrays/BasicQueue":283}],308:[function(require,module,exports){
11055
11517
  "use strict";
11056
11518
 
11057
11519
  Object.defineProperty(exports, "__esModule", {
@@ -11096,7 +11558,7 @@ const onBodyLoad = (callback, reset = false) => {
11096
11558
  return queue;
11097
11559
  };
11098
11560
  var _default = exports.default = onBodyLoad;
11099
- },{"./queueManager":309}],307:[function(require,module,exports){
11561
+ },{"./queueManager":311}],309:[function(require,module,exports){
11100
11562
  "use strict";
11101
11563
 
11102
11564
  Object.defineProperty(exports, "__esModule", {
@@ -11112,7 +11574,7 @@ require("core-js/modules/esnext.iterator.reduce.js");
11112
11574
  */
11113
11575
  const pipe = (...fns) => x => fns.reduce((y, f) => f(y), x);
11114
11576
  var _default = exports.default = pipe;
11115
- },{"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.reduce.js":243}],308:[function(require,module,exports){
11577
+ },{"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.reduce.js":245}],310:[function(require,module,exports){
11116
11578
  "use strict";
11117
11579
 
11118
11580
  Object.defineProperty(exports, "__esModule", {
@@ -11131,7 +11593,7 @@ const preloadParams = (fn, params = [], unassignedParam = 0) => missing => {
11131
11593
  return fn(...params);
11132
11594
  };
11133
11595
  var _default = exports.default = preloadParams;
11134
- },{}],309:[function(require,module,exports){
11596
+ },{}],311:[function(require,module,exports){
11135
11597
  "use strict";
11136
11598
 
11137
11599
  Object.defineProperty(exports, "__esModule", {
@@ -11270,7 +11732,7 @@ const queueManager = (queue = null) => {
11270
11732
  };
11271
11733
  };
11272
11734
  var _default = exports.default = queueManager;
11273
- },{"./makeBasicQueue":305,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.for-each.js":241,"regenerator-runtime/runtime":279}],310:[function(require,module,exports){
11735
+ },{"./makeBasicQueue":307,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.for-each.js":243,"regenerator-runtime/runtime":281}],312:[function(require,module,exports){
11274
11736
  "use strict";
11275
11737
 
11276
11738
  Object.defineProperty(exports, "__esModule", {
@@ -11291,7 +11753,7 @@ const queueTimeout = (queueManagerHandle = null) => {
11291
11753
  return (fn, time = 0, ...args) => manager.push(() => (0, _delay.default)(time).resolver.then(() => fn(...args)));
11292
11754
  };
11293
11755
  var _default = exports.default = queueTimeout;
11294
- },{"./delay":304,"./queueManager":309,"regenerator-runtime/runtime":279}],311:[function(require,module,exports){
11756
+ },{"./delay":306,"./queueManager":311,"regenerator-runtime/runtime":281}],313:[function(require,module,exports){
11295
11757
  "use strict";
11296
11758
 
11297
11759
  Object.defineProperty(exports, "__esModule", {
@@ -11323,7 +11785,7 @@ const relevancyFilter = (map, {
11323
11785
  });
11324
11786
  };
11325
11787
  var _default = exports.default = relevancyFilter;
11326
- },{"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.filter.js":238,"core-js/modules/esnext.iterator.map.js":242}],312:[function(require,module,exports){
11788
+ },{"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.filter.js":240,"core-js/modules/esnext.iterator.map.js":244}],314:[function(require,module,exports){
11327
11789
  "use strict";
11328
11790
 
11329
11791
  Object.defineProperty(exports, "__esModule", {
@@ -11346,7 +11808,7 @@ const trace = (label, useClone = true) => value => {
11346
11808
  return value;
11347
11809
  };
11348
11810
  var _default = exports.default = trace;
11349
- },{"../objects/cloneObject":324,"regenerator-runtime/runtime":279}],313:[function(require,module,exports){
11811
+ },{"../objects/cloneObject":326,"regenerator-runtime/runtime":281}],315:[function(require,module,exports){
11350
11812
  "use strict";
11351
11813
 
11352
11814
  Object.defineProperty(exports, "__esModule", {
@@ -11431,7 +11893,7 @@ var _default = exports.default = {
11431
11893
  randomNumber: _randomNumber.default,
11432
11894
  simplestRatio: _simplestRatio.default
11433
11895
  };
11434
- },{"./numbers/absoluteMax":314,"./numbers/absoluteMin":315,"./numbers/compare":316,"./numbers/greatestCommonDivisor":317,"./numbers/leastCommonMultiple":318,"./numbers/lowestCommonDenominator":319,"./numbers/randomInteger":320,"./numbers/randomNumber":321,"./numbers/simplestRatio":322}],314:[function(require,module,exports){
11896
+ },{"./numbers/absoluteMax":316,"./numbers/absoluteMin":317,"./numbers/compare":318,"./numbers/greatestCommonDivisor":319,"./numbers/leastCommonMultiple":320,"./numbers/lowestCommonDenominator":321,"./numbers/randomInteger":322,"./numbers/randomNumber":323,"./numbers/simplestRatio":324}],316:[function(require,module,exports){
11435
11897
  "use strict";
11436
11898
 
11437
11899
  Object.defineProperty(exports, "__esModule", {
@@ -11445,7 +11907,7 @@ exports.default = void 0;
11445
11907
  */
11446
11908
  const absoluteMax = (num1, num2) => Math.abs(num1) > Math.abs(num2) ? num1 : num2;
11447
11909
  var _default = exports.default = absoluteMax;
11448
- },{}],315:[function(require,module,exports){
11910
+ },{}],317:[function(require,module,exports){
11449
11911
  "use strict";
11450
11912
 
11451
11913
  Object.defineProperty(exports, "__esModule", {
@@ -11459,7 +11921,7 @@ exports.default = void 0;
11459
11921
  */
11460
11922
  const absoluteMin = (num1, num2) => Math.abs(num1) < Math.abs(num2) ? num1 : num2;
11461
11923
  var _default = exports.default = absoluteMin;
11462
- },{}],316:[function(require,module,exports){
11924
+ },{}],318:[function(require,module,exports){
11463
11925
  "use strict";
11464
11926
 
11465
11927
  Object.defineProperty(exports, "__esModule", {
@@ -11476,7 +11938,7 @@ exports.default = void 0;
11476
11938
  */
11477
11939
  const compare = (val1, val2) => val1 === val2 ? 0 : val1 > val2 ? 1 : -1;
11478
11940
  var _default = exports.default = compare;
11479
- },{}],317:[function(require,module,exports){
11941
+ },{}],319:[function(require,module,exports){
11480
11942
  "use strict";
11481
11943
 
11482
11944
  Object.defineProperty(exports, "__esModule", {
@@ -11490,7 +11952,7 @@ exports.default = void 0;
11490
11952
  */
11491
11953
  const greatestCommonDivisor = (num1, num2) => num2 === 0 ? num1 : greatestCommonDivisor(num2, num1 % num2);
11492
11954
  var _default = exports.default = greatestCommonDivisor;
11493
- },{}],318:[function(require,module,exports){
11955
+ },{}],320:[function(require,module,exports){
11494
11956
  "use strict";
11495
11957
 
11496
11958
  Object.defineProperty(exports, "__esModule", {
@@ -11506,7 +11968,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
11506
11968
  */
11507
11969
  const leastCommonMultiple = (num1, num2) => num1 === 0 || num2 === 0 ? 0 : num1 * num2 / (0, _greatestCommonDivisor.default)(num1, num2);
11508
11970
  var _default = exports.default = leastCommonMultiple;
11509
- },{"./greatestCommonDivisor":317}],319:[function(require,module,exports){
11971
+ },{"./greatestCommonDivisor":319}],321:[function(require,module,exports){
11510
11972
  "use strict";
11511
11973
 
11512
11974
  Object.defineProperty(exports, "__esModule", {
@@ -11524,7 +11986,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
11524
11986
  */
11525
11987
  const lowestCommonDenominator = (...numbers) => numbers.reduce((num1, num2) => (0, _leastCommonMultiple.default)(num1, num2), 1);
11526
11988
  var _default = exports.default = lowestCommonDenominator;
11527
- },{"./leastCommonMultiple":318,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.reduce.js":243}],320:[function(require,module,exports){
11989
+ },{"./leastCommonMultiple":320,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.reduce.js":245}],322:[function(require,module,exports){
11528
11990
  "use strict";
11529
11991
 
11530
11992
  Object.defineProperty(exports, "__esModule", {
@@ -11547,7 +12009,7 @@ exports.default = void 0;
11547
12009
  */
11548
12010
  const randomInteger = (range, offset = 0, interval = 1) => (Math.floor(Math.random() * range) + offset) * interval;
11549
12011
  var _default = exports.default = randomInteger;
11550
- },{}],321:[function(require,module,exports){
12012
+ },{}],323:[function(require,module,exports){
11551
12013
  "use strict";
11552
12014
 
11553
12015
  Object.defineProperty(exports, "__esModule", {
@@ -11565,7 +12027,7 @@ exports.default = void 0;
11565
12027
  */
11566
12028
  const randomNumber = (range, offset = 0, interval = 1) => (Math.random() * range + offset) * interval;
11567
12029
  var _default = exports.default = randomNumber;
11568
- },{}],322:[function(require,module,exports){
12030
+ },{}],324:[function(require,module,exports){
11569
12031
  "use strict";
11570
12032
 
11571
12033
  Object.defineProperty(exports, "__esModule", {
@@ -11592,7 +12054,7 @@ const simplestRatio = (...numbers) => {
11592
12054
  return numbers.map(num => commonDivisor === 0 ? 0 : num / commonDivisor);
11593
12055
  };
11594
12056
  var _default = exports.default = simplestRatio;
11595
- },{"./greatestCommonDivisor":317,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242,"core-js/modules/esnext.iterator.reduce.js":243}],323:[function(require,module,exports){
12057
+ },{"./greatestCommonDivisor":319,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244,"core-js/modules/esnext.iterator.reduce.js":245}],325:[function(require,module,exports){
11596
12058
  "use strict";
11597
12059
 
11598
12060
  Object.defineProperty(exports, "__esModule", {
@@ -11765,7 +12227,7 @@ var _default = exports.default = {
11765
12227
  setAndReturnValue: _setAndReturnValue.default,
11766
12228
  setValue: _setValue.default
11767
12229
  };
11768
- },{"./objects/cloneObject":324,"./objects/dotGet":325,"./objects/dotNotate":326,"./objects/dotSet":327,"./objects/dotUnset":328,"./objects/emptyObject":329,"./objects/filterObject":330,"./objects/isCloneable":331,"./objects/isEqual":332,"./objects/isInstanceObject":333,"./objects/isObject":334,"./objects/mapObject":335,"./objects/mergeObjects":336,"./objects/mergeObjectsBase":337,"./objects/mergeObjectsMutable":338,"./objects/objectKeys":339,"./objects/objectValues":340,"./objects/reduceObject":341,"./objects/setAndReturnValue":342,"./objects/setValue":343}],324:[function(require,module,exports){
12230
+ },{"./objects/cloneObject":326,"./objects/dotGet":327,"./objects/dotNotate":328,"./objects/dotSet":329,"./objects/dotUnset":330,"./objects/emptyObject":331,"./objects/filterObject":332,"./objects/isCloneable":333,"./objects/isEqual":334,"./objects/isInstanceObject":335,"./objects/isObject":336,"./objects/mapObject":337,"./objects/mergeObjects":338,"./objects/mergeObjectsBase":339,"./objects/mergeObjectsMutable":340,"./objects/objectKeys":341,"./objects/objectValues":342,"./objects/reduceObject":343,"./objects/setAndReturnValue":344,"./objects/setValue":345}],326:[function(require,module,exports){
11769
12231
  "use strict";
11770
12232
 
11771
12233
  Object.defineProperty(exports, "__esModule", {
@@ -11793,7 +12255,7 @@ const cloneObject = (object, {
11793
12255
  useClone: true
11794
12256
  })(object);
11795
12257
  var _default = exports.default = cloneObject;
11796
- },{"./mergeObjectsBase":337}],325:[function(require,module,exports){
12258
+ },{"./mergeObjectsBase":339}],327:[function(require,module,exports){
11797
12259
  "use strict";
11798
12260
 
11799
12261
  Object.defineProperty(exports, "__esModule", {
@@ -11851,7 +12313,7 @@ const dotGet = (arrayObject, dotNotation, defaultValue = null) => {
11851
12313
  return dotGet(next, (0, _strAfter.default)(dotNotation, '.'), defaultValue);
11852
12314
  };
11853
12315
  var _default = exports.default = dotGet;
11854
- },{"../strings/strAfter":351,"../strings/strBefore":353,"./isObject":334}],326:[function(require,module,exports){
12316
+ },{"../strings/strAfter":353,"../strings/strBefore":355,"./isObject":336}],328:[function(require,module,exports){
11855
12317
  "use strict";
11856
12318
 
11857
12319
  Object.defineProperty(exports, "__esModule", {
@@ -11929,7 +12391,7 @@ const performDotNotate = (arrayObject, didRetain, prepend = '', results = {}) =>
11929
12391
  */
11930
12392
  const dotNotate = (arrayObject, retainObjects = []) => performDotNotate(arrayObject, handleRetainObjects(retainObjects));
11931
12393
  var _default = exports.default = dotNotate;
11932
- },{"./emptyObject":329,"./isObject":334,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242}],327:[function(require,module,exports){
12394
+ },{"./emptyObject":331,"./isObject":336,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244}],329:[function(require,module,exports){
11933
12395
  "use strict";
11934
12396
 
11935
12397
  Object.defineProperty(exports, "__esModule", {
@@ -11981,7 +12443,7 @@ const dotSet = (arrayObject, dotNotation, value = null) => {
11981
12443
  return arrayObject;
11982
12444
  };
11983
12445
  var _default = exports.default = dotSet;
11984
- },{"../strings/strAfter":351,"../strings/strBefore":353,"./isObject":334}],328:[function(require,module,exports){
12446
+ },{"../strings/strAfter":353,"../strings/strBefore":355,"./isObject":336}],330:[function(require,module,exports){
11985
12447
  "use strict";
11986
12448
 
11987
12449
  Object.defineProperty(exports, "__esModule", {
@@ -12032,7 +12494,7 @@ const dotUnset = (arrayObject, dotNotation) => {
12032
12494
  return arrayObject;
12033
12495
  };
12034
12496
  var _default = exports.default = dotUnset;
12035
- },{"../strings/strAfter":351,"../strings/strBefore":353,"./isObject":334}],329:[function(require,module,exports){
12497
+ },{"../strings/strAfter":353,"../strings/strBefore":355,"./isObject":336}],331:[function(require,module,exports){
12036
12498
  "use strict";
12037
12499
 
12038
12500
  Object.defineProperty(exports, "__esModule", {
@@ -12048,7 +12510,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
12048
12510
  */
12049
12511
  const emptyObject = item => (typeof item === 'function' || (0, _isObject.default)(item)) && !(0, _objectKeys.default)(item).length;
12050
12512
  var _default = exports.default = emptyObject;
12051
- },{"./isObject":334,"./objectKeys":339}],330:[function(require,module,exports){
12513
+ },{"./isObject":336,"./objectKeys":341}],332:[function(require,module,exports){
12052
12514
  "use strict";
12053
12515
 
12054
12516
  Object.defineProperty(exports, "__esModule", {
@@ -12078,7 +12540,7 @@ const filterObject = (obj, fn, thisArg = undefined) => Array.isArray(obj) ? obj.
12078
12540
  return newObj;
12079
12541
  }, {});
12080
12542
  var _default = exports.default = filterObject;
12081
- },{"../functions/callWithParams":302,"./objectKeys":339,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.filter.js":238,"core-js/modules/esnext.iterator.reduce.js":243}],331:[function(require,module,exports){
12543
+ },{"../functions/callWithParams":304,"./objectKeys":341,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.filter.js":240,"core-js/modules/esnext.iterator.reduce.js":245}],333:[function(require,module,exports){
12082
12544
  "use strict";
12083
12545
 
12084
12546
  Object.defineProperty(exports, "__esModule", {
@@ -12093,7 +12555,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
12093
12555
  */
12094
12556
  const isCloneable = value => typeof value === 'object' && value !== null && !(0, _isInstanceObject.default)(value);
12095
12557
  var _default = exports.default = isCloneable;
12096
- },{"./isInstanceObject":333}],332:[function(require,module,exports){
12558
+ },{"./isInstanceObject":335}],334:[function(require,module,exports){
12097
12559
  "use strict";
12098
12560
 
12099
12561
  Object.defineProperty(exports, "__esModule", {
@@ -12193,7 +12655,7 @@ const compare = (first, second, seen) => {
12193
12655
  */
12194
12656
  const isEqual = (first, second) => compare(first, second, new WeakMap());
12195
12657
  var _default = exports.default = isEqual;
12196
- },{"core-js/modules/es.regexp.flags.js":232,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.every.js":237,"core-js/modules/esnext.iterator.some.js":244,"core-js/modules/esnext.map.delete-all.js":245,"core-js/modules/esnext.map.every.js":246,"core-js/modules/esnext.map.filter.js":247,"core-js/modules/esnext.map.find-key.js":248,"core-js/modules/esnext.map.find.js":249,"core-js/modules/esnext.map.includes.js":250,"core-js/modules/esnext.map.key-of.js":251,"core-js/modules/esnext.map.map-keys.js":252,"core-js/modules/esnext.map.map-values.js":253,"core-js/modules/esnext.map.merge.js":254,"core-js/modules/esnext.map.reduce.js":255,"core-js/modules/esnext.map.some.js":256,"core-js/modules/esnext.map.update.js":257,"core-js/modules/esnext.set.add-all.js":258,"core-js/modules/esnext.set.delete-all.js":259,"core-js/modules/esnext.set.difference.js":260,"core-js/modules/esnext.set.every.js":261,"core-js/modules/esnext.set.filter.js":262,"core-js/modules/esnext.set.find.js":263,"core-js/modules/esnext.set.intersection.js":264,"core-js/modules/esnext.set.is-disjoint-from.js":265,"core-js/modules/esnext.set.is-subset-of.js":266,"core-js/modules/esnext.set.is-superset-of.js":267,"core-js/modules/esnext.set.join.js":268,"core-js/modules/esnext.set.map.js":269,"core-js/modules/esnext.set.reduce.js":270,"core-js/modules/esnext.set.some.js":271,"core-js/modules/esnext.set.symmetric-difference.js":272,"core-js/modules/esnext.set.union.js":273,"core-js/modules/esnext.weak-map.delete-all.js":274,"core-js/modules/esnext.weak-set.add-all.js":275,"core-js/modules/esnext.weak-set.delete-all.js":276}],333:[function(require,module,exports){
12658
+ },{"core-js/modules/es.regexp.flags.js":234,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.every.js":239,"core-js/modules/esnext.iterator.some.js":246,"core-js/modules/esnext.map.delete-all.js":247,"core-js/modules/esnext.map.every.js":248,"core-js/modules/esnext.map.filter.js":249,"core-js/modules/esnext.map.find-key.js":250,"core-js/modules/esnext.map.find.js":251,"core-js/modules/esnext.map.includes.js":252,"core-js/modules/esnext.map.key-of.js":253,"core-js/modules/esnext.map.map-keys.js":254,"core-js/modules/esnext.map.map-values.js":255,"core-js/modules/esnext.map.merge.js":256,"core-js/modules/esnext.map.reduce.js":257,"core-js/modules/esnext.map.some.js":258,"core-js/modules/esnext.map.update.js":259,"core-js/modules/esnext.set.add-all.js":260,"core-js/modules/esnext.set.delete-all.js":261,"core-js/modules/esnext.set.difference.js":262,"core-js/modules/esnext.set.every.js":263,"core-js/modules/esnext.set.filter.js":264,"core-js/modules/esnext.set.find.js":265,"core-js/modules/esnext.set.intersection.js":266,"core-js/modules/esnext.set.is-disjoint-from.js":267,"core-js/modules/esnext.set.is-subset-of.js":268,"core-js/modules/esnext.set.is-superset-of.js":269,"core-js/modules/esnext.set.join.js":270,"core-js/modules/esnext.set.map.js":271,"core-js/modules/esnext.set.reduce.js":272,"core-js/modules/esnext.set.some.js":273,"core-js/modules/esnext.set.symmetric-difference.js":274,"core-js/modules/esnext.set.union.js":275,"core-js/modules/esnext.weak-map.delete-all.js":276,"core-js/modules/esnext.weak-set.add-all.js":277,"core-js/modules/esnext.weak-set.delete-all.js":278}],335:[function(require,module,exports){
12197
12659
  "use strict";
12198
12660
 
12199
12661
  Object.defineProperty(exports, "__esModule", {
@@ -12218,7 +12680,7 @@ const isInstanceObject = object => {
12218
12680
  return object.constructor.name !== 'Array' && (0, _objectKeys.default)(object, true).length > (0, _objectKeys.default)(object).length;
12219
12681
  };
12220
12682
  var _default = exports.default = isInstanceObject;
12221
- },{"./isObject":334,"./objectKeys":339,"core-js/modules/es.array.includes.js":220}],334:[function(require,module,exports){
12683
+ },{"./isObject":336,"./objectKeys":341,"core-js/modules/es.array.includes.js":222}],336:[function(require,module,exports){
12222
12684
  "use strict";
12223
12685
 
12224
12686
  Object.defineProperty(exports, "__esModule", {
@@ -12231,7 +12693,7 @@ exports.default = void 0;
12231
12693
  */
12232
12694
  const isObject = object => typeof object === 'object' && object !== null;
12233
12695
  var _default = exports.default = isObject;
12234
- },{}],335:[function(require,module,exports){
12696
+ },{}],337:[function(require,module,exports){
12235
12697
  "use strict";
12236
12698
 
12237
12699
  Object.defineProperty(exports, "__esModule", {
@@ -12255,7 +12717,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
12255
12717
  */
12256
12718
  const mapObject = (obj, fn, thisArg = undefined) => Array.isArray(obj) ? obj.map(fn, thisArg) : (0, _objectKeys.default)(obj, true).reduce((newObj, curr) => (0, _setValue.default)(curr, (0, _callWithParams.default)(fn.bind(thisArg), [obj[curr], curr, obj], 2), newObj), {});
12257
12719
  var _default = exports.default = mapObject;
12258
- },{"../functions/callWithParams":302,"./objectKeys":339,"./setValue":343,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242,"core-js/modules/esnext.iterator.reduce.js":243}],336:[function(require,module,exports){
12720
+ },{"../functions/callWithParams":304,"./objectKeys":341,"./setValue":345,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244,"core-js/modules/esnext.iterator.reduce.js":245}],338:[function(require,module,exports){
12259
12721
  "use strict";
12260
12722
 
12261
12723
  Object.defineProperty(exports, "__esModule", {
@@ -12273,7 +12735,7 @@ const mergeObjects = (0, _mergeObjectsBase.default)({
12273
12735
  useClone: true
12274
12736
  });
12275
12737
  var _default = exports.default = mergeObjects;
12276
- },{"./mergeObjectsBase":337}],337:[function(require,module,exports){
12738
+ },{"./mergeObjectsBase":339}],339:[function(require,module,exports){
12277
12739
  "use strict";
12278
12740
 
12279
12741
  Object.defineProperty(exports, "__esModule", {
@@ -12361,7 +12823,7 @@ const mergeObjectsBase = ({
12361
12823
  }) => [source, object])), depthLimit, objects);
12362
12824
  };
12363
12825
  var _default = exports.default = mergeObjectsBase;
12364
- },{"./isCloneable":331,"./reduceObject":341,"./setValue":343,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242,"core-js/modules/esnext.iterator.reduce.js":243,"core-js/modules/esnext.map.delete-all.js":245,"core-js/modules/esnext.map.every.js":246,"core-js/modules/esnext.map.filter.js":247,"core-js/modules/esnext.map.find-key.js":248,"core-js/modules/esnext.map.find.js":249,"core-js/modules/esnext.map.includes.js":250,"core-js/modules/esnext.map.key-of.js":251,"core-js/modules/esnext.map.map-keys.js":252,"core-js/modules/esnext.map.map-values.js":253,"core-js/modules/esnext.map.merge.js":254,"core-js/modules/esnext.map.reduce.js":255,"core-js/modules/esnext.map.some.js":256,"core-js/modules/esnext.map.update.js":257}],338:[function(require,module,exports){
12826
+ },{"./isCloneable":333,"./reduceObject":343,"./setValue":345,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244,"core-js/modules/esnext.iterator.reduce.js":245,"core-js/modules/esnext.map.delete-all.js":247,"core-js/modules/esnext.map.every.js":248,"core-js/modules/esnext.map.filter.js":249,"core-js/modules/esnext.map.find-key.js":250,"core-js/modules/esnext.map.find.js":251,"core-js/modules/esnext.map.includes.js":252,"core-js/modules/esnext.map.key-of.js":253,"core-js/modules/esnext.map.map-keys.js":254,"core-js/modules/esnext.map.map-values.js":255,"core-js/modules/esnext.map.merge.js":256,"core-js/modules/esnext.map.reduce.js":257,"core-js/modules/esnext.map.some.js":258,"core-js/modules/esnext.map.update.js":259}],340:[function(require,module,exports){
12365
12827
  "use strict";
12366
12828
 
12367
12829
  Object.defineProperty(exports, "__esModule", {
@@ -12377,7 +12839,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
12377
12839
  */
12378
12840
  const mergeObjectsMutable = (0, _mergeObjectsBase.default)();
12379
12841
  var _default = exports.default = mergeObjectsMutable;
12380
- },{"./mergeObjectsBase":337}],339:[function(require,module,exports){
12842
+ },{"./mergeObjectsBase":339}],341:[function(require,module,exports){
12381
12843
  "use strict";
12382
12844
 
12383
12845
  Object.defineProperty(exports, "__esModule", {
@@ -12415,7 +12877,7 @@ const objectKeys = (object, includeInherited = false) => {
12415
12877
  return keys;
12416
12878
  };
12417
12879
  var _default = exports.default = objectKeys;
12418
- },{"./isObject":334}],340:[function(require,module,exports){
12880
+ },{"./isObject":336}],342:[function(require,module,exports){
12419
12881
  "use strict";
12420
12882
 
12421
12883
  Object.defineProperty(exports, "__esModule", {
@@ -12434,7 +12896,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
12434
12896
  */
12435
12897
  const objectValues = (object, includeInherited = false) => (0, _objectKeys.default)(object, includeInherited).map(key => object[key]);
12436
12898
  var _default = exports.default = objectValues;
12437
- },{"./objectKeys":339,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.map.js":242}],341:[function(require,module,exports){
12899
+ },{"./objectKeys":341,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.map.js":244}],343:[function(require,module,exports){
12438
12900
  "use strict";
12439
12901
 
12440
12902
  Object.defineProperty(exports, "__esModule", {
@@ -12458,7 +12920,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
12458
12920
  */
12459
12921
  const reduceObject = (obj, fn, initialValue = obj[(0, _objectKeys.default)(obj)[0]] || obj[0]) => Array.isArray(obj) ? obj.reduce(fn, initialValue) : (0, _objectKeys.default)(obj, true).reduce((newObj, curr) => (0, _callWithParams.default)(fn, [newObj, obj[curr], curr, obj], 2), initialValue);
12460
12922
  var _default = exports.default = reduceObject;
12461
- },{"../functions/callWithParams":302,"./objectKeys":339,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.reduce.js":243}],342:[function(require,module,exports){
12923
+ },{"../functions/callWithParams":304,"./objectKeys":341,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.reduce.js":245}],344:[function(require,module,exports){
12462
12924
  "use strict";
12463
12925
 
12464
12926
  Object.defineProperty(exports, "__esModule", {
@@ -12476,7 +12938,7 @@ const setAndReturnValue = (item, key, value) => {
12476
12938
  return value;
12477
12939
  };
12478
12940
  var _default = exports.default = setAndReturnValue;
12479
- },{}],343:[function(require,module,exports){
12941
+ },{}],345:[function(require,module,exports){
12480
12942
  "use strict";
12481
12943
 
12482
12944
  Object.defineProperty(exports, "__esModule", {
@@ -12496,7 +12958,7 @@ const setValue = (key, value, item) => {
12496
12958
  return item;
12497
12959
  };
12498
12960
  var _default = exports.default = setValue;
12499
- },{}],344:[function(require,module,exports){
12961
+ },{}],346:[function(require,module,exports){
12500
12962
  "use strict";
12501
12963
 
12502
12964
  Object.defineProperty(exports, "__esModule", {
@@ -12613,7 +13075,7 @@ var _default = exports.default = {
12613
13075
  ucFirst: _ucFirst.default,
12614
13076
  words: _words.default
12615
13077
  };
12616
- },{"./strings/camelCase":345,"./strings/kabobCase":346,"./strings/makeFilepath":347,"./strings/makeRelativePath":348,"./strings/regexEscape":349,"./strings/snakeCase":350,"./strings/strAfter":351,"./strings/strAfterLast":352,"./strings/strBefore":353,"./strings/strBeforeLast":354,"./strings/titleCase":355,"./strings/ucFirst":356,"./strings/words":357}],345:[function(require,module,exports){
13078
+ },{"./strings/camelCase":347,"./strings/kabobCase":348,"./strings/makeFilepath":349,"./strings/makeRelativePath":350,"./strings/regexEscape":351,"./strings/snakeCase":352,"./strings/strAfter":353,"./strings/strAfterLast":354,"./strings/strBefore":355,"./strings/strBeforeLast":356,"./strings/titleCase":357,"./strings/ucFirst":358,"./strings/words":359}],347:[function(require,module,exports){
12617
13079
  "use strict";
12618
13080
 
12619
13081
  Object.defineProperty(exports, "__esModule", {
@@ -12631,7 +13093,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
12631
13093
  */
12632
13094
  const camelCase = str => (0, _words.default)(str).reduce((camel, part) => camel ? camel.concat((0, _ucFirst.default)(part)) : part.toLowerCase(), '');
12633
13095
  var _default = exports.default = camelCase;
12634
- },{"./ucFirst":356,"./words":357,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.reduce.js":243}],346:[function(require,module,exports){
13096
+ },{"./ucFirst":358,"./words":359,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.reduce.js":245}],348:[function(require,module,exports){
12635
13097
  "use strict";
12636
13098
 
12637
13099
  Object.defineProperty(exports, "__esModule", {
@@ -12648,7 +13110,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
12648
13110
  */
12649
13111
  const kabobCase = str => (0, _words.default)(str).reduce((kabob, part) => kabob ? kabob.concat('-' + part.toLowerCase()) : part.toLowerCase(), '');
12650
13112
  var _default = exports.default = kabobCase;
12651
- },{"./words":357,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.reduce.js":243}],347:[function(require,module,exports){
13113
+ },{"./words":359,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.reduce.js":245}],349:[function(require,module,exports){
12652
13114
  "use strict";
12653
13115
 
12654
13116
  Object.defineProperty(exports, "__esModule", {
@@ -12696,7 +13158,7 @@ const makeFilepath = (root, append = '') => {
12696
13158
  };
12697
13159
  exports.makeFilepath = makeFilepath;
12698
13160
  var _default = exports.default = makeFilepath;
12699
- },{"./strBeforeLast":354}],348:[function(require,module,exports){
13161
+ },{"./strBeforeLast":356}],350:[function(require,module,exports){
12700
13162
  "use strict";
12701
13163
 
12702
13164
  Object.defineProperty(exports, "__esModule", {
@@ -12739,7 +13201,7 @@ const makeRelativePath = (fromFile, toFile) => {
12739
13201
  };
12740
13202
  exports.makeRelativePath = makeRelativePath;
12741
13203
  var _default = exports.default = makeRelativePath;
12742
- },{"./strAfter":351,"./strBefore":353}],349:[function(require,module,exports){
13204
+ },{"./strAfter":353,"./strBefore":355}],351:[function(require,module,exports){
12743
13205
  "use strict";
12744
13206
 
12745
13207
  Object.defineProperty(exports, "__esModule", {
@@ -12753,7 +13215,7 @@ exports.regexEscape = exports.default = void 0;
12753
13215
  const regexEscape = str => str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
12754
13216
  exports.regexEscape = regexEscape;
12755
13217
  var _default = exports.default = regexEscape;
12756
- },{}],350:[function(require,module,exports){
13218
+ },{}],352:[function(require,module,exports){
12757
13219
  "use strict";
12758
13220
 
12759
13221
  Object.defineProperty(exports, "__esModule", {
@@ -12770,7 +13232,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
12770
13232
  */
12771
13233
  const snakeCase = str => (0, _words.default)(str).reduce((snake, part) => snake ? snake.concat('_' + part.toLowerCase()) : part.toLowerCase(), '');
12772
13234
  var _default = exports.default = snakeCase;
12773
- },{"./words":357,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.reduce.js":243}],351:[function(require,module,exports){
13235
+ },{"./words":359,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.reduce.js":245}],353:[function(require,module,exports){
12774
13236
  "use strict";
12775
13237
 
12776
13238
  Object.defineProperty(exports, "__esModule", {
@@ -12788,7 +13250,7 @@ const strAfter = (str, search) => {
12788
13250
  return index === -1 ? '' : str.substring(index + search.length);
12789
13251
  };
12790
13252
  var _default = exports.default = strAfter;
12791
- },{}],352:[function(require,module,exports){
13253
+ },{}],354:[function(require,module,exports){
12792
13254
  "use strict";
12793
13255
 
12794
13256
  Object.defineProperty(exports, "__esModule", {
@@ -12806,7 +13268,7 @@ const strAfterLast = (str, search) => {
12806
13268
  return index === -1 ? '' : str.substring(index + search.length);
12807
13269
  };
12808
13270
  var _default = exports.default = strAfterLast;
12809
- },{}],353:[function(require,module,exports){
13271
+ },{}],355:[function(require,module,exports){
12810
13272
  "use strict";
12811
13273
 
12812
13274
  Object.defineProperty(exports, "__esModule", {
@@ -12824,7 +13286,7 @@ const strBefore = (str, search) => {
12824
13286
  return index === -1 ? '' : str.slice(0, index);
12825
13287
  };
12826
13288
  var _default = exports.default = strBefore;
12827
- },{}],354:[function(require,module,exports){
13289
+ },{}],356:[function(require,module,exports){
12828
13290
  "use strict";
12829
13291
 
12830
13292
  Object.defineProperty(exports, "__esModule", {
@@ -12842,7 +13304,7 @@ const strBeforeLast = (str, search) => {
12842
13304
  return index === -1 ? '' : str.substring(0, index);
12843
13305
  };
12844
13306
  var _default = exports.default = strBeforeLast;
12845
- },{}],355:[function(require,module,exports){
13307
+ },{}],357:[function(require,module,exports){
12846
13308
  "use strict";
12847
13309
 
12848
13310
  Object.defineProperty(exports, "__esModule", {
@@ -12860,7 +13322,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
12860
13322
  */
12861
13323
  const titleCase = str => (0, _words.default)(str).reduce((title, part) => title ? title.concat(' ' + (0, _ucFirst.default)(part)) : (0, _ucFirst.default)(part), '');
12862
13324
  var _default = exports.default = titleCase;
12863
- },{"./ucFirst":356,"./words":357,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.reduce.js":243}],356:[function(require,module,exports){
13325
+ },{"./ucFirst":358,"./words":359,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.reduce.js":245}],358:[function(require,module,exports){
12864
13326
  "use strict";
12865
13327
 
12866
13328
  Object.defineProperty(exports, "__esModule", {
@@ -12873,7 +13335,7 @@ exports.default = void 0;
12873
13335
  */
12874
13336
  const ucFirst = str => str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
12875
13337
  var _default = exports.default = ucFirst;
12876
- },{}],357:[function(require,module,exports){
13338
+ },{}],359:[function(require,module,exports){
12877
13339
  "use strict";
12878
13340
 
12879
13341
  Object.defineProperty(exports, "__esModule", {
@@ -12887,7 +13349,7 @@ exports.default = void 0;
12887
13349
  */
12888
13350
  const words = str => str.match(/\d+|[A-Z]?[a-z]+|[A-Za-z]+/g);
12889
13351
  var _default = exports.default = words;
12890
- },{}],358:[function(require,module,exports){
13352
+ },{}],360:[function(require,module,exports){
12891
13353
  "use strict";
12892
13354
 
12893
13355
  require("core-js/modules/esnext.iterator.constructor.js");
@@ -12987,5 +13449,5 @@ if (void 0) {
12987
13449
  // @ts-ignore
12988
13450
  window['siFunciona'] = siFunciona;
12989
13451
  }
12990
- },{"./helpers/arrays":280,"./helpers/descriptors":288,"./helpers/functions":301,"./helpers/numbers":313,"./helpers/objects":323,"./helpers/strings":344,"core-js/modules/esnext.iterator.constructor.js":235,"core-js/modules/esnext.iterator.for-each.js":241,"core-js/modules/esnext.weak-map.delete-all.js":274}]},{},[82])(82)
13452
+ },{"./helpers/arrays":282,"./helpers/descriptors":290,"./helpers/functions":303,"./helpers/numbers":315,"./helpers/objects":325,"./helpers/strings":346,"core-js/modules/esnext.iterator.constructor.js":237,"core-js/modules/esnext.iterator.for-each.js":243,"core-js/modules/esnext.weak-map.delete-all.js":276}]},{},[84])(84)
12991
13453
  });