@kepler.gl/reducers 3.3.0-alpha.15 → 3.3.0-alpha.17

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.
Files changed (47) hide show
  1. package/dist/cjs/column-edit-reconcile.js +100 -0
  2. package/dist/cjs/column-edit-updaters.spec.js +840 -0
  3. package/dist/cjs/combined-updaters.js +166 -8
  4. package/dist/cjs/composers.js +4 -5
  5. package/dist/cjs/dataset-ops-updaters.js +375 -0
  6. package/dist/cjs/dataset-ops-updaters.spec.js +382 -0
  7. package/dist/cjs/export-utils.js +118 -46
  8. package/dist/cjs/interaction-utils.js +166 -6
  9. package/dist/cjs/layer-utils.js +135 -9
  10. package/dist/cjs/ui-state-updaters.js +134 -51
  11. package/dist/cjs/ui-state.js +2 -2
  12. package/dist/cjs/vis-state-merger-text-label.spec.js +75 -0
  13. package/dist/cjs/vis-state-merger.js +99 -25
  14. package/dist/cjs/vis-state-selectors.js +5 -4
  15. package/dist/cjs/vis-state-updaters.js +1077 -256
  16. package/dist/cjs/vis-state.js +2 -2
  17. package/dist/column-edit-reconcile.d.ts +4 -0
  18. package/dist/column-edit-updaters.spec.d.ts +1 -0
  19. package/dist/combined-updaters.d.ts +21 -1
  20. package/dist/composers.d.ts +3 -0
  21. package/dist/dataset-ops-updaters.d.ts +21 -0
  22. package/dist/dataset-ops-updaters.spec.d.ts +1 -0
  23. package/dist/esm/column-edit-reconcile.js +95 -0
  24. package/dist/esm/column-edit-updaters.spec.js +839 -0
  25. package/dist/esm/combined-updaters.js +166 -8
  26. package/dist/esm/composers.js +3 -2
  27. package/dist/esm/dataset-ops-updaters.js +357 -0
  28. package/dist/esm/dataset-ops-updaters.spec.js +381 -0
  29. package/dist/esm/export-utils.js +117 -45
  30. package/dist/esm/interaction-utils.js +159 -3
  31. package/dist/esm/layer-utils.js +133 -9
  32. package/dist/esm/ui-state-updaters.js +133 -50
  33. package/dist/esm/ui-state.js +2 -2
  34. package/dist/esm/vis-state-merger-text-label.spec.js +74 -0
  35. package/dist/esm/vis-state-merger.js +99 -26
  36. package/dist/esm/vis-state-selectors.js +5 -4
  37. package/dist/esm/vis-state-updaters.js +1020 -263
  38. package/dist/esm/vis-state.js +2 -2
  39. package/dist/export-utils.d.ts +2 -2
  40. package/dist/interaction-utils.d.ts +25 -2
  41. package/dist/layer-utils.d.ts +17 -0
  42. package/dist/ui-state-updaters.d.ts +30 -0
  43. package/dist/vis-state-merger-text-label.spec.d.ts +1 -0
  44. package/dist/vis-state-merger.d.ts +10 -2
  45. package/dist/vis-state-updaters.d.ts +61 -15
  46. package/dist/vis-state.d.ts +20 -0
  47. package/package.json +17 -17
@@ -14,11 +14,12 @@ var _utils = require("@kepler.gl/utils");
14
14
 
15
15
  // NOTE: default formats must match loader-registry-test.js
16
16
  var DEFAULT_FILE_EXTENSIONS = ['csv', 'tsv', 'dsv', 'json', 'geojson', 'arrow', 'parquet', 'ndjson', 'jsonl', 'ndgeojson', 'geojsonl', 'ldgeojson', 'kml', 'gpx', 'tcx', 'shp', 'zip', 'dbf', 'shx', 'prj', 'cpg', 'xlsx', 'xls', 'xlsm', 'xlsb', 'fgb'];
17
- // One chip per format family. Aliases (tsv, jsonl, ndgeojson, zip, shapefile,
17
+ // One chip per format family. Aliases (tsv, jsonl, ndgeojson, shapefile,
18
18
  // excel, flatgeobuf, sidecars, …) stay accepted via DEFAULT_FILE_EXTENSIONS
19
- // and listed in DISPLAY_FILE_FORMATS, but are not shown as extra icons.
19
+ // and are not shown as extra icons. Zip is its own format name: an archive
20
+ // can hold any of these datasets, not only a shapefile.
20
21
  var DISPLAY_FILE_EXTENSIONS = ['csv', 'json', 'geojson', 'arrow', 'parquet', 'geojsonl', 'kml', 'gpx', 'tcx'];
21
- var DISPLAY_FILE_FORMATS = ['CSV', 'Json', 'GeoJSON', 'Arrow', 'Parquet', 'GeoJSONL', 'KML', 'GPX', 'TCX', 'Shapefile', 'Excel', 'FlatGeobuf'];
22
+ var DISPLAY_FILE_FORMATS = ['CSV', 'Json', 'GeoJSON', 'Arrow', 'Parquet', 'GeoJSONL', 'KML', 'GPX', 'TCX', 'Shapefile', 'Zip', 'Excel', 'FlatGeobuf'];
22
23
  var getFileFormatNames = exports.getFileFormatNames = (0, _reselect.createSelector)(function (state) {
23
24
  return state.loaders;
24
25
  }, function () {
@@ -46,4 +47,4 @@ var getDisplayedFileExtensions = exports.getDisplayedFileExtensions = (0, _resel
46
47
  });
47
48
  return [].concat((0, _toConsumableArray2["default"])(shown), (0, _toConsumableArray2["default"])(custom));
48
49
  });
49
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVzZWxlY3QiLCJyZXF1aXJlIiwiX3Byb2Nlc3NvcnMiLCJfdXRpbHMiLCJERUZBVUxUX0ZJTEVfRVhURU5TSU9OUyIsIkRJU1BMQVlfRklMRV9FWFRFTlNJT05TIiwiRElTUExBWV9GSUxFX0ZPUk1BVFMiLCJnZXRGaWxlRm9ybWF0TmFtZXMiLCJleHBvcnRzIiwiY3JlYXRlU2VsZWN0b3IiLCJzdGF0ZSIsImxvYWRlcnMiLCJnZXRBcHBsaWNhdGlvbkNvbmZpZyIsImFjY2VwdGVkRmlsZUZvcm1hdHMiLCJfYWNjZXB0ZWRGaWxlRm9ybWF0cyIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJmaWx0ZXIiLCJpc0tlcGxlckZpbGVGb3JtYXRBY2NlcHRlZCIsIm1hcCIsImxvYWRlciIsIm5hbWUiLCJnZXRGaWxlRXh0ZW5zaW9ucyIsImZsYXRNYXAiLCJleHRlbnNpb25zIiwiZ2V0RGlzcGxheWVkRmlsZUV4dGVuc2lvbnMiLCJzaG93biIsImV4dCIsImluY2x1ZGVzIiwiY3VzdG9tIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Zpcy1zdGF0ZS1zZWxlY3RvcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IHtpc0tlcGxlckZpbGVGb3JtYXRBY2NlcHRlZH0gZnJvbSAnQGtlcGxlci5nbC9wcm9jZXNzb3JzJztcbmltcG9ydCB7Z2V0QXBwbGljYXRpb25Db25maWd9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG4vLyBOT1RFOiBkZWZhdWx0IGZvcm1hdHMgbXVzdCBtYXRjaCBsb2FkZXItcmVnaXN0cnktdGVzdC5qc1xuY29uc3QgREVGQVVMVF9GSUxFX0VYVEVOU0lPTlMgPSBbXG4gICdjc3YnLFxuICAndHN2JyxcbiAgJ2RzdicsXG4gICdqc29uJyxcbiAgJ2dlb2pzb24nLFxuICAnYXJyb3cnLFxuICAncGFycXVldCcsXG4gICduZGpzb24nLFxuICAnanNvbmwnLFxuICAnbmRnZW9qc29uJyxcbiAgJ2dlb2pzb25sJyxcbiAgJ2xkZ2VvanNvbicsXG4gICdrbWwnLFxuICAnZ3B4JyxcbiAgJ3RjeCcsXG4gICdzaHAnLFxuICAnemlwJyxcbiAgJ2RiZicsXG4gICdzaHgnLFxuICAncHJqJyxcbiAgJ2NwZycsXG4gICd4bHN4JyxcbiAgJ3hscycsXG4gICd4bHNtJyxcbiAgJ3hsc2InLFxuICAnZmdiJ1xuXTtcbi8vIE9uZSBjaGlwIHBlciBmb3JtYXQgZmFtaWx5LiBBbGlhc2VzICh0c3YsIGpzb25sLCBuZGdlb2pzb24sIHppcCwgc2hhcGVmaWxlLFxuLy8gZXhjZWwsIGZsYXRnZW9idWYsIHNpZGVjYXJzLCDigKYpIHN0YXkgYWNjZXB0ZWQgdmlhIERFRkFVTFRfRklMRV9FWFRFTlNJT05TXG4vLyBhbmQgbGlzdGVkIGluIERJU1BMQVlfRklMRV9GT1JNQVRTLCBidXQgYXJlIG5vdCBzaG93biBhcyBleHRyYSBpY29ucy5cbmNvbnN0IERJU1BMQVlfRklMRV9FWFRFTlNJT05TID0gW1xuICAnY3N2JyxcbiAgJ2pzb24nLFxuICAnZ2VvanNvbicsXG4gICdhcnJvdycsXG4gICdwYXJxdWV0JyxcbiAgJ2dlb2pzb25sJyxcbiAgJ2ttbCcsXG4gICdncHgnLFxuICAndGN4J1xuXTtcbmNvbnN0IERJU1BMQVlfRklMRV9GT1JNQVRTID0gW1xuICAnQ1NWJyxcbiAgJ0pzb24nLFxuICAnR2VvSlNPTicsXG4gICdBcnJvdycsXG4gICdQYXJxdWV0JyxcbiAgJ0dlb0pTT05MJyxcbiAgJ0tNTCcsXG4gICdHUFgnLFxuICAnVENYJyxcbiAgJ1NoYXBlZmlsZScsXG4gICdFeGNlbCcsXG4gICdGbGF0R2VvYnVmJ1xuXTtcblxuaW50ZXJmYWNlIExvYWRlckluZm8ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGV4dGVuc2lvbnM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0RmlsZUZvcm1hdE5hbWVzID0gY3JlYXRlU2VsZWN0b3IoXG4gIChzdGF0ZToge2xvYWRlcnM6IExvYWRlckluZm9bXX0pID0+IHN0YXRlLmxvYWRlcnMsXG4gICgpID0+IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuYWNjZXB0ZWRGaWxlRm9ybWF0cyxcbiAgKGxvYWRlcnMsIF9hY2NlcHRlZEZpbGVGb3JtYXRzKSA9PiBbXG4gICAgLi4uRElTUExBWV9GSUxFX0ZPUk1BVFMuZmlsdGVyKGlzS2VwbGVyRmlsZUZvcm1hdEFjY2VwdGVkKSxcbiAgICAuLi5sb2FkZXJzLm1hcChsb2FkZXIgPT4gbG9hZGVyLm5hbWUpXG4gIF1cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRGaWxlRXh0ZW5zaW9ucyA9IGNyZWF0ZVNlbGVjdG9yKFxuICAoc3RhdGU6IHtsb2FkZXJzOiBMb2FkZXJJbmZvW119KSA9PiBzdGF0ZS5sb2FkZXJzLFxuICAoKSA9PiBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmFjY2VwdGVkRmlsZUZvcm1hdHMsXG4gIChsb2FkZXJzLCBfYWNjZXB0ZWRGaWxlRm9ybWF0cykgPT4gW1xuICAgIC4uLkRFRkFVTFRfRklMRV9FWFRFTlNJT05TLmZpbHRlcihpc0tlcGxlckZpbGVGb3JtYXRBY2NlcHRlZCksXG4gICAgLi4ubG9hZGVycy5mbGF0TWFwKGxvYWRlciA9PiBsb2FkZXIuZXh0ZW5zaW9ucylcbiAgXVxuKTtcblxuZXhwb3J0IGNvbnN0IGdldERpc3BsYXllZEZpbGVFeHRlbnNpb25zID0gY3JlYXRlU2VsZWN0b3IoZ2V0RmlsZUV4dGVuc2lvbnMsIGV4dGVuc2lvbnMgPT4ge1xuICBjb25zdCBzaG93biA9IERJU1BMQVlfRklMRV9FWFRFTlNJT05TLmZpbHRlcihleHQgPT4gZXh0ZW5zaW9ucy5pbmNsdWRlcyhleHQpKTtcbiAgY29uc3QgY3VzdG9tID0gZXh0ZW5zaW9ucy5maWx0ZXIoZXh0ID0+ICFERUZBVUxUX0ZJTEVfRVhURU5TSU9OUy5pbmNsdWRlcyhleHQpKTtcbiAgcmV0dXJuIFsuLi5zaG93biwgLi4uY3VzdG9tXTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLElBQUFBLFNBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUxBO0FBQ0E7O0FBTUE7QUFDQSxJQUFNRyx1QkFBdUIsR0FBRyxDQUM5QixLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsUUFBUSxFQUNSLE9BQU8sRUFDUCxXQUFXLEVBQ1gsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxDQUNOO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsSUFBTUMsdUJBQXVCLEdBQUcsQ0FDOUIsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLENBQ047QUFDRCxJQUFNQyxvQkFBb0IsR0FBRyxDQUMzQixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxXQUFXLEVBQ1gsT0FBTyxFQUNQLFlBQVksQ0FDYjtBQU9NLElBQU1DLGtCQUFrQixHQUFBQyxPQUFBLENBQUFELGtCQUFBLEdBQUcsSUFBQUUsd0JBQWMsRUFDOUMsVUFBQ0MsS0FBOEI7RUFBQSxPQUFLQSxLQUFLLENBQUNDLE9BQU87QUFBQSxHQUNqRDtFQUFBLE9BQU0sSUFBQUMsMkJBQW9CLEVBQUMsQ0FBQyxDQUFDQyxtQkFBbUI7QUFBQSxHQUNoRCxVQUFDRixPQUFPLEVBQUVHLG9CQUFvQjtFQUFBLFVBQUFDLE1BQUEsS0FBQUMsbUJBQUEsYUFDekJWLG9CQUFvQixDQUFDVyxNQUFNLENBQUNDLHNDQUEwQixDQUFDLE9BQUFGLG1CQUFBLGFBQ3ZETCxPQUFPLENBQUNRLEdBQUcsQ0FBQyxVQUFBQyxNQUFNO0lBQUEsT0FBSUEsTUFBTSxDQUFDQyxJQUFJO0VBQUEsRUFBQztBQUFBLENBRXpDLENBQUM7QUFFTSxJQUFNQyxpQkFBaUIsR0FBQWQsT0FBQSxDQUFBYyxpQkFBQSxHQUFHLElBQUFiLHdCQUFjLEVBQzdDLFVBQUNDLEtBQThCO0VBQUEsT0FBS0EsS0FBSyxDQUFDQyxPQUFPO0FBQUEsR0FDakQ7RUFBQSxPQUFNLElBQUFDLDJCQUFvQixFQUFDLENBQUMsQ0FBQ0MsbUJBQW1CO0FBQUEsR0FDaEQsVUFBQ0YsT0FBTyxFQUFFRyxvQkFBb0I7RUFBQSxVQUFBQyxNQUFBLEtBQUFDLG1CQUFBLGFBQ3pCWix1QkFBdUIsQ0FBQ2EsTUFBTSxDQUFDQyxzQ0FBMEIsQ0FBQyxPQUFBRixtQkFBQSxhQUMxREwsT0FBTyxDQUFDWSxPQUFPLENBQUMsVUFBQUgsTUFBTTtJQUFBLE9BQUlBLE1BQU0sQ0FBQ0ksVUFBVTtFQUFBLEVBQUM7QUFBQSxDQUVuRCxDQUFDO0FBRU0sSUFBTUMsMEJBQTBCLEdBQUFqQixPQUFBLENBQUFpQiwwQkFBQSxHQUFHLElBQUFoQix3QkFBYyxFQUFDYSxpQkFBaUIsRUFBRSxVQUFBRSxVQUFVLEVBQUk7RUFDeEYsSUFBTUUsS0FBSyxHQUFHckIsdUJBQXVCLENBQUNZLE1BQU0sQ0FBQyxVQUFBVSxHQUFHO0lBQUEsT0FBSUgsVUFBVSxDQUFDSSxRQUFRLENBQUNELEdBQUcsQ0FBQztFQUFBLEVBQUM7RUFDN0UsSUFBTUUsTUFBTSxHQUFHTCxVQUFVLENBQUNQLE1BQU0sQ0FBQyxVQUFBVSxHQUFHO0lBQUEsT0FBSSxDQUFDdkIsdUJBQXVCLENBQUN3QixRQUFRLENBQUNELEdBQUcsQ0FBQztFQUFBLEVBQUM7RUFDL0UsVUFBQVosTUFBQSxLQUFBQyxtQkFBQSxhQUFXVSxLQUFLLE9BQUFWLG1CQUFBLGFBQUthLE1BQU07QUFDN0IsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
50
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVzZWxlY3QiLCJyZXF1aXJlIiwiX3Byb2Nlc3NvcnMiLCJfdXRpbHMiLCJERUZBVUxUX0ZJTEVfRVhURU5TSU9OUyIsIkRJU1BMQVlfRklMRV9FWFRFTlNJT05TIiwiRElTUExBWV9GSUxFX0ZPUk1BVFMiLCJnZXRGaWxlRm9ybWF0TmFtZXMiLCJleHBvcnRzIiwiY3JlYXRlU2VsZWN0b3IiLCJzdGF0ZSIsImxvYWRlcnMiLCJnZXRBcHBsaWNhdGlvbkNvbmZpZyIsImFjY2VwdGVkRmlsZUZvcm1hdHMiLCJfYWNjZXB0ZWRGaWxlRm9ybWF0cyIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJmaWx0ZXIiLCJpc0tlcGxlckZpbGVGb3JtYXRBY2NlcHRlZCIsIm1hcCIsImxvYWRlciIsIm5hbWUiLCJnZXRGaWxlRXh0ZW5zaW9ucyIsImZsYXRNYXAiLCJleHRlbnNpb25zIiwiZ2V0RGlzcGxheWVkRmlsZUV4dGVuc2lvbnMiLCJzaG93biIsImV4dCIsImluY2x1ZGVzIiwiY3VzdG9tIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Zpcy1zdGF0ZS1zZWxlY3RvcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IHtpc0tlcGxlckZpbGVGb3JtYXRBY2NlcHRlZH0gZnJvbSAnQGtlcGxlci5nbC9wcm9jZXNzb3JzJztcbmltcG9ydCB7Z2V0QXBwbGljYXRpb25Db25maWd9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG4vLyBOT1RFOiBkZWZhdWx0IGZvcm1hdHMgbXVzdCBtYXRjaCBsb2FkZXItcmVnaXN0cnktdGVzdC5qc1xuY29uc3QgREVGQVVMVF9GSUxFX0VYVEVOU0lPTlMgPSBbXG4gICdjc3YnLFxuICAndHN2JyxcbiAgJ2RzdicsXG4gICdqc29uJyxcbiAgJ2dlb2pzb24nLFxuICAnYXJyb3cnLFxuICAncGFycXVldCcsXG4gICduZGpzb24nLFxuICAnanNvbmwnLFxuICAnbmRnZW9qc29uJyxcbiAgJ2dlb2pzb25sJyxcbiAgJ2xkZ2VvanNvbicsXG4gICdrbWwnLFxuICAnZ3B4JyxcbiAgJ3RjeCcsXG4gICdzaHAnLFxuICAnemlwJyxcbiAgJ2RiZicsXG4gICdzaHgnLFxuICAncHJqJyxcbiAgJ2NwZycsXG4gICd4bHN4JyxcbiAgJ3hscycsXG4gICd4bHNtJyxcbiAgJ3hsc2InLFxuICAnZmdiJ1xuXTtcbi8vIE9uZSBjaGlwIHBlciBmb3JtYXQgZmFtaWx5LiBBbGlhc2VzICh0c3YsIGpzb25sLCBuZGdlb2pzb24sIHNoYXBlZmlsZSxcbi8vIGV4Y2VsLCBmbGF0Z2VvYnVmLCBzaWRlY2Fycywg4oCmKSBzdGF5IGFjY2VwdGVkIHZpYSBERUZBVUxUX0ZJTEVfRVhURU5TSU9OU1xuLy8gYW5kIGFyZSBub3Qgc2hvd24gYXMgZXh0cmEgaWNvbnMuIFppcCBpcyBpdHMgb3duIGZvcm1hdCBuYW1lOiBhbiBhcmNoaXZlXG4vLyBjYW4gaG9sZCBhbnkgb2YgdGhlc2UgZGF0YXNldHMsIG5vdCBvbmx5IGEgc2hhcGVmaWxlLlxuY29uc3QgRElTUExBWV9GSUxFX0VYVEVOU0lPTlMgPSBbXG4gICdjc3YnLFxuICAnanNvbicsXG4gICdnZW9qc29uJyxcbiAgJ2Fycm93JyxcbiAgJ3BhcnF1ZXQnLFxuICAnZ2VvanNvbmwnLFxuICAna21sJyxcbiAgJ2dweCcsXG4gICd0Y3gnXG5dO1xuY29uc3QgRElTUExBWV9GSUxFX0ZPUk1BVFMgPSBbXG4gICdDU1YnLFxuICAnSnNvbicsXG4gICdHZW9KU09OJyxcbiAgJ0Fycm93JyxcbiAgJ1BhcnF1ZXQnLFxuICAnR2VvSlNPTkwnLFxuICAnS01MJyxcbiAgJ0dQWCcsXG4gICdUQ1gnLFxuICAnU2hhcGVmaWxlJyxcbiAgJ1ppcCcsXG4gICdFeGNlbCcsXG4gICdGbGF0R2VvYnVmJ1xuXTtcblxuaW50ZXJmYWNlIExvYWRlckluZm8ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGV4dGVuc2lvbnM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0RmlsZUZvcm1hdE5hbWVzID0gY3JlYXRlU2VsZWN0b3IoXG4gIChzdGF0ZToge2xvYWRlcnM6IExvYWRlckluZm9bXX0pID0+IHN0YXRlLmxvYWRlcnMsXG4gICgpID0+IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuYWNjZXB0ZWRGaWxlRm9ybWF0cyxcbiAgKGxvYWRlcnMsIF9hY2NlcHRlZEZpbGVGb3JtYXRzKSA9PiBbXG4gICAgLi4uRElTUExBWV9GSUxFX0ZPUk1BVFMuZmlsdGVyKGlzS2VwbGVyRmlsZUZvcm1hdEFjY2VwdGVkKSxcbiAgICAuLi5sb2FkZXJzLm1hcChsb2FkZXIgPT4gbG9hZGVyLm5hbWUpXG4gIF1cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRGaWxlRXh0ZW5zaW9ucyA9IGNyZWF0ZVNlbGVjdG9yKFxuICAoc3RhdGU6IHtsb2FkZXJzOiBMb2FkZXJJbmZvW119KSA9PiBzdGF0ZS5sb2FkZXJzLFxuICAoKSA9PiBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmFjY2VwdGVkRmlsZUZvcm1hdHMsXG4gIChsb2FkZXJzLCBfYWNjZXB0ZWRGaWxlRm9ybWF0cykgPT4gW1xuICAgIC4uLkRFRkFVTFRfRklMRV9FWFRFTlNJT05TLmZpbHRlcihpc0tlcGxlckZpbGVGb3JtYXRBY2NlcHRlZCksXG4gICAgLi4ubG9hZGVycy5mbGF0TWFwKGxvYWRlciA9PiBsb2FkZXIuZXh0ZW5zaW9ucylcbiAgXVxuKTtcblxuZXhwb3J0IGNvbnN0IGdldERpc3BsYXllZEZpbGVFeHRlbnNpb25zID0gY3JlYXRlU2VsZWN0b3IoZ2V0RmlsZUV4dGVuc2lvbnMsIGV4dGVuc2lvbnMgPT4ge1xuICBjb25zdCBzaG93biA9IERJU1BMQVlfRklMRV9FWFRFTlNJT05TLmZpbHRlcihleHQgPT4gZXh0ZW5zaW9ucy5pbmNsdWRlcyhleHQpKTtcbiAgY29uc3QgY3VzdG9tID0gZXh0ZW5zaW9ucy5maWx0ZXIoZXh0ID0+ICFERUZBVUxUX0ZJTEVfRVhURU5TSU9OUy5pbmNsdWRlcyhleHQpKTtcbiAgcmV0dXJuIFsuLi5zaG93biwgLi4uY3VzdG9tXTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLElBQUFBLFNBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUxBO0FBQ0E7O0FBTUE7QUFDQSxJQUFNRyx1QkFBdUIsR0FBRyxDQUM5QixLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsUUFBUSxFQUNSLE9BQU8sRUFDUCxXQUFXLEVBQ1gsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxDQUNOO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQyx1QkFBdUIsR0FBRyxDQUM5QixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssQ0FDTjtBQUNELElBQU1DLG9CQUFvQixHQUFHLENBQzNCLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFdBQVcsRUFDWCxLQUFLLEVBQ0wsT0FBTyxFQUNQLFlBQVksQ0FDYjtBQU9NLElBQU1DLGtCQUFrQixHQUFBQyxPQUFBLENBQUFELGtCQUFBLEdBQUcsSUFBQUUsd0JBQWMsRUFDOUMsVUFBQ0MsS0FBOEI7RUFBQSxPQUFLQSxLQUFLLENBQUNDLE9BQU87QUFBQSxHQUNqRDtFQUFBLE9BQU0sSUFBQUMsMkJBQW9CLEVBQUMsQ0FBQyxDQUFDQyxtQkFBbUI7QUFBQSxHQUNoRCxVQUFDRixPQUFPLEVBQUVHLG9CQUFvQjtFQUFBLFVBQUFDLE1BQUEsS0FBQUMsbUJBQUEsYUFDekJWLG9CQUFvQixDQUFDVyxNQUFNLENBQUNDLHNDQUEwQixDQUFDLE9BQUFGLG1CQUFBLGFBQ3ZETCxPQUFPLENBQUNRLEdBQUcsQ0FBQyxVQUFBQyxNQUFNO0lBQUEsT0FBSUEsTUFBTSxDQUFDQyxJQUFJO0VBQUEsRUFBQztBQUFBLENBRXpDLENBQUM7QUFFTSxJQUFNQyxpQkFBaUIsR0FBQWQsT0FBQSxDQUFBYyxpQkFBQSxHQUFHLElBQUFiLHdCQUFjLEVBQzdDLFVBQUNDLEtBQThCO0VBQUEsT0FBS0EsS0FBSyxDQUFDQyxPQUFPO0FBQUEsR0FDakQ7RUFBQSxPQUFNLElBQUFDLDJCQUFvQixFQUFDLENBQUMsQ0FBQ0MsbUJBQW1CO0FBQUEsR0FDaEQsVUFBQ0YsT0FBTyxFQUFFRyxvQkFBb0I7RUFBQSxVQUFBQyxNQUFBLEtBQUFDLG1CQUFBLGFBQ3pCWix1QkFBdUIsQ0FBQ2EsTUFBTSxDQUFDQyxzQ0FBMEIsQ0FBQyxPQUFBRixtQkFBQSxhQUMxREwsT0FBTyxDQUFDWSxPQUFPLENBQUMsVUFBQUgsTUFBTTtJQUFBLE9BQUlBLE1BQU0sQ0FBQ0ksVUFBVTtFQUFBLEVBQUM7QUFBQSxDQUVuRCxDQUFDO0FBRU0sSUFBTUMsMEJBQTBCLEdBQUFqQixPQUFBLENBQUFpQiwwQkFBQSxHQUFHLElBQUFoQix3QkFBYyxFQUFDYSxpQkFBaUIsRUFBRSxVQUFBRSxVQUFVLEVBQUk7RUFDeEYsSUFBTUUsS0FBSyxHQUFHckIsdUJBQXVCLENBQUNZLE1BQU0sQ0FBQyxVQUFBVSxHQUFHO0lBQUEsT0FBSUgsVUFBVSxDQUFDSSxRQUFRLENBQUNELEdBQUcsQ0FBQztFQUFBLEVBQUM7RUFDN0UsSUFBTUUsTUFBTSxHQUFHTCxVQUFVLENBQUNQLE1BQU0sQ0FBQyxVQUFBVSxHQUFHO0lBQUEsT0FBSSxDQUFDdkIsdUJBQXVCLENBQUN3QixRQUFRLENBQUNELEdBQUcsQ0FBQztFQUFBLEVBQUM7RUFDL0UsVUFBQVosTUFBQSxLQUFBQyxtQkFBQSxhQUFXVSxLQUFLLE9BQUFWLG1CQUFBLGFBQUthLE1BQU07QUFDN0IsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119