@kepler.gl/utils 3.0.0-alpha.1 → 3.0.0-alpha.2

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 (46) hide show
  1. package/dist/aggregate-utils.js +1 -21
  2. package/dist/arrow-data-container.d.ts +54 -0
  3. package/dist/arrow-data-container.js +360 -0
  4. package/dist/color-utils.d.ts +4 -0
  5. package/dist/color-utils.js +12 -21
  6. package/dist/data-container-interface.d.ts +18 -0
  7. package/dist/data-container-interface.js +0 -20
  8. package/dist/data-container-utils.d.ts +1 -0
  9. package/dist/data-container-utils.js +10 -22
  10. package/dist/data-row.js +7 -22
  11. package/dist/data-scale-utils.js +7 -22
  12. package/dist/data-utils.js +3 -21
  13. package/dist/dataset-utils.d.ts +2 -2
  14. package/dist/dataset-utils.js +15 -28
  15. package/dist/dom-to-image.js +7 -22
  16. package/dist/dom-utils.js +6 -22
  17. package/dist/effect-utils.d.ts +12 -2
  18. package/dist/effect-utils.js +122 -55
  19. package/dist/export-map-html.js +7 -23
  20. package/dist/export-utils.js +1 -21
  21. package/dist/filter-utils.js +6 -21
  22. package/dist/format.js +6 -22
  23. package/dist/gl-utils.js +1 -21
  24. package/dist/h3-utils.js +6 -22
  25. package/dist/index.d.ts +4 -3
  26. package/dist/index.js +43 -26
  27. package/dist/indexed-data-container.js +1 -21
  28. package/dist/locale-utils.js +1 -21
  29. package/dist/map-info-utils.js +6 -22
  30. package/dist/map-style-utils/mapbox-gl-style-editor.js +1 -21
  31. package/dist/map-style-utils/mapbox-utils.js +7 -22
  32. package/dist/map-utils.js +1 -21
  33. package/dist/mapbox-utils.js +7 -22
  34. package/dist/noop.js +3 -21
  35. package/dist/notifications-utils.js +1 -21
  36. package/dist/observe-dimensions.d.ts +1 -1
  37. package/dist/observe-dimensions.js +5 -25
  38. package/dist/plot.js +7 -22
  39. package/dist/projection-utils.js +6 -22
  40. package/dist/row-data-container.js +1 -21
  41. package/dist/searcher-utils.js +7 -22
  42. package/dist/split-map-utils.js +1 -21
  43. package/dist/time.js +6 -22
  44. package/dist/utils.d.ts +6 -0
  45. package/dist/utils.js +28 -22
  46. package/package.json +10 -9
package/dist/h3-utils.js CHANGED
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  Object.defineProperty(exports, "__esModule", {
@@ -44,7 +24,11 @@ var _h3Js = require("h3-js");
44
24
 
45
25
  var _constants = require("@kepler.gl/constants");
46
26
 
47
- var _dataUtils = require("./data-utils");// get vertices should return [lon, lat]
27
+ var _dataUtils = require("./data-utils");
28
+
29
+ // SPDX-License-Identifier: MIT
30
+ // Copyright contributors to the kepler.gl project
31
+ // get vertices should return [lon, lat]
48
32
  function getVertices(_ref) {
49
33
  var id = _ref.id;
50
34
  // always reverse it
@@ -94,4 +78,4 @@ var getHexFields = function getHexFields(fields, dataContainer) {
94
78
  };
95
79
 
96
80
  exports.getHexFields = getHexFields;
97
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9oMy11dGlscy50cyJdLCJuYW1lcyI6WyJnZXRWZXJ0aWNlcyIsImlkIiwiZ2V0Q2VudHJvaWQiLCJyZXZlcnNlIiwiaWRUb1BvbHlnb25HZW8iLCJvYmplY3QiLCJwcm9wZXJ0aWVzIiwidmVydGljZXMiLCJ0eXBlIiwiZ2VvbWV0cnkiLCJjb29yZGluYXRlcyIsImlzQ2xvc2VkIiwiaXNIZXhGaWVsZCIsImZpZWxkIiwiZmllbGRJZHgiLCJkYXRhQ29udGFpbmVyIiwiQUxMX0ZJRUxEX1RZUEVTIiwic3RyaW5nIiwiZmlyc3REUCIsImZpbmQiLCJkIiwidmFsdWVBdCIsImdldEhleEZpZWxkcyIsImZpZWxkcyIsImZpbHRlciIsImYiLCJpIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQXRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVVBO0FBQ08sU0FBU0EsV0FBVCxPQUEwQztBQUFBLE1BQXBCQyxFQUFvQixRQUFwQkEsRUFBb0I7QUFDL0M7QUFDQSxTQUFPLDJCQUFnQkEsRUFBaEIsRUFBb0IsSUFBcEIsQ0FBUDtBQUNELEMsQ0FFRDs7O0FBQ08sU0FBU0MsV0FBVCxRQUFvRDtBQUFBLE1BQTlCRCxFQUE4QixTQUE5QkEsRUFBOEI7QUFDekQ7QUFDQSxTQUFPLG1CQUFRQSxFQUFSLEVBQVlFLE9BQVosRUFBUDtBQUNEOztBQUVNLFNBQVNDLGNBQVQsQ0FBd0JDLE1BQXhCLEVBQWdEQyxVQUFoRCxFQUFrRTtBQUN2RSxNQUFJLEVBQUNELE1BQUQsYUFBQ0EsTUFBRCxlQUFDQSxNQUFNLENBQUVKLEVBQVQsQ0FBSixFQUFpQjtBQUNmLFdBQU8sSUFBUDtBQUNEOztBQUNELE1BQU1NLFFBQVEsR0FBR1AsV0FBVyxDQUFDSyxNQUFELENBQTVCO0FBRUEsU0FBTztBQUNMRyxJQUFBQSxJQUFJLEVBQUUsU0FERDtBQUVMQyxJQUFBQSxRQUFRLEVBQUU7QUFDUkMsTUFBQUEsV0FBVyxFQUFFSixVQUFVLFNBQVYsSUFBQUEsVUFBVSxXQUFWLElBQUFBLFVBQVUsQ0FBRUssUUFBWixHQUF1QixDQUFDSixRQUFELENBQXZCLEdBQW9DQSxRQUR6QztBQUVSQyxNQUFBQSxJQUFJLEVBQUVGLFVBQVUsU0FBVixJQUFBQSxVQUFVLFdBQVYsSUFBQUEsVUFBVSxDQUFFSyxRQUFaLEdBQXVCLFNBQXZCLEdBQW1DO0FBRmpDLEtBRkw7QUFNTEwsSUFBQUEsVUFBVSxFQUFWQTtBQU5LLEdBQVA7QUFRRDs7QUFFTSxJQUFNTSxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDQyxLQUFELEVBQVFDLFFBQVIsRUFBa0JDLGFBQWxCLEVBQW9DO0FBQzVELE1BQUlGLEtBQUssQ0FBQ0wsSUFBTixLQUFlUSwyQkFBZ0JDLE1BQW5DLEVBQTJDO0FBQ3pDLFdBQU8sS0FBUDtBQUNEOztBQUVELE1BQU1DLE9BQU8sR0FBR0gsYUFBYSxDQUFDSSxJQUFkLENBQW1CLFVBQUFDLENBQUM7QUFBQSxXQUFJLG1DQUFtQkEsQ0FBQyxDQUFDQyxPQUFGLENBQVVQLFFBQVYsQ0FBbkIsQ0FBSjtBQUFBLEdBQXBCLEVBQWlFLElBQWpFLENBQWhCO0FBQ0EsU0FBT0ksT0FBTyxJQUFJLHFCQUFVQSxPQUFPLENBQUNHLE9BQVIsQ0FBZ0JQLFFBQWhCLENBQVYsQ0FBbEI7QUFDRCxDQVBNOzs7O0FBU0EsSUFBTVEsWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBQ0MsTUFBRCxFQUFTUixhQUFUO0FBQUEsU0FDMUJRLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjLFVBQUNDLENBQUQsRUFBSUMsQ0FBSjtBQUFBLFdBQVVkLFVBQVUsQ0FBQ2EsQ0FBRCxFQUFJQyxDQUFKLEVBQU9YLGFBQVAsQ0FBcEI7QUFBQSxHQUFkLENBRDBCO0FBQUEsQ0FBckIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge2gzR2V0UmVzb2x1dGlvbiwgSDNJbmRleCwgaDNJc1ZhbGlkLCBoM1RvR2VvLCBoM1RvR2VvQm91bmRhcnl9IGZyb20gJ2gzLWpzJztcbmltcG9ydCB7QUxMX0ZJRUxEX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge25vdE51bGxvclVuZGVmaW5lZH0gZnJvbSAnLi9kYXRhLXV0aWxzJztcblxuZXhwb3J0IHtoM0dldFJlc29sdXRpb24sIGgzSXNWYWxpZH07XG5cbmV4cG9ydCB0eXBlIENlbnRyb2lkID0gW251bWJlciwgbnVtYmVyXTtcblxuLy8gZ2V0IHZlcnRpY2VzIHNob3VsZCByZXR1cm4gW2xvbiwgbGF0XVxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnRpY2VzKHtpZH06IHtpZDogSDNJbmRleH0pIHtcbiAgLy8gYWx3YXlzIHJldmVyc2UgaXRcbiAgcmV0dXJuIGgzVG9HZW9Cb3VuZGFyeShpZCwgdHJ1ZSk7XG59XG5cbi8vIGdldCBjZW50cm9pZCBzaG91bGQgcmV0dXJuIFtsb24sIGxhdF1cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZW50cm9pZCh7aWR9OiB7aWQ6IEgzSW5kZXh9KTogQ2VudHJvaWQge1xuICAvLyBhbHdheXMgcmV2ZXJzZSBpdCB0byBbbG5nLCBsYXRdXG4gIHJldHVybiBoM1RvR2VvKGlkKS5yZXZlcnNlKCkgYXMgQ2VudHJvaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpZFRvUG9seWdvbkdlbyhvYmplY3Q/OiB7aWQ6IEgzSW5kZXh9LCBwcm9wZXJ0aWVzPzogYW55KSB7XG4gIGlmICghb2JqZWN0Py5pZCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHZlcnRpY2VzID0gZ2V0VmVydGljZXMob2JqZWN0KTtcblxuICByZXR1cm4ge1xuICAgIHR5cGU6ICdGZWF0dXJlJyxcbiAgICBnZW9tZXRyeToge1xuICAgICAgY29vcmRpbmF0ZXM6IHByb3BlcnRpZXM/LmlzQ2xvc2VkID8gW3ZlcnRpY2VzXSA6IHZlcnRpY2VzLFxuICAgICAgdHlwZTogcHJvcGVydGllcz8uaXNDbG9zZWQgPyAnUG9seWdvbicgOiAnTGluZVN0cmluZydcbiAgICB9LFxuICAgIHByb3BlcnRpZXNcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzSGV4RmllbGQgPSAoZmllbGQsIGZpZWxkSWR4LCBkYXRhQ29udGFpbmVyKSA9PiB7XG4gIGlmIChmaWVsZC50eXBlICE9PSBBTExfRklFTERfVFlQRVMuc3RyaW5nKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZmlyc3REUCA9IGRhdGFDb250YWluZXIuZmluZChkID0+IG5vdE51bGxvclVuZGVmaW5lZChkLnZhbHVlQXQoZmllbGRJZHgpKSwgdHJ1ZSk7XG4gIHJldHVybiBmaXJzdERQICYmIGgzSXNWYWxpZChmaXJzdERQLnZhbHVlQXQoZmllbGRJZHgpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIZXhGaWVsZHMgPSAoZmllbGRzLCBkYXRhQ29udGFpbmVyKSA9PlxuICBmaWVsZHMuZmlsdGVyKChmLCBpKSA9PiBpc0hleEZpZWxkKGYsIGksIGRhdGFDb250YWluZXIpKTtcbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9oMy11dGlscy50cyJdLCJuYW1lcyI6WyJnZXRWZXJ0aWNlcyIsImlkIiwiZ2V0Q2VudHJvaWQiLCJyZXZlcnNlIiwiaWRUb1BvbHlnb25HZW8iLCJvYmplY3QiLCJwcm9wZXJ0aWVzIiwidmVydGljZXMiLCJ0eXBlIiwiZ2VvbWV0cnkiLCJjb29yZGluYXRlcyIsImlzQ2xvc2VkIiwiaXNIZXhGaWVsZCIsImZpZWxkIiwiZmllbGRJZHgiLCJkYXRhQ29udGFpbmVyIiwiQUxMX0ZJRUxEX1RZUEVTIiwic3RyaW5nIiwiZmlyc3REUCIsImZpbmQiLCJkIiwidmFsdWVBdCIsImdldEhleEZpZWxkcyIsImZpZWxkcyIsImZpbHRlciIsImYiLCJpIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBTEE7QUFDQTtBQVVBO0FBQ08sU0FBU0EsV0FBVCxPQUEwQztBQUFBLE1BQXBCQyxFQUFvQixRQUFwQkEsRUFBb0I7QUFDL0M7QUFDQSxTQUFPLDJCQUFnQkEsRUFBaEIsRUFBb0IsSUFBcEIsQ0FBUDtBQUNELEMsQ0FFRDs7O0FBQ08sU0FBU0MsV0FBVCxRQUFvRDtBQUFBLE1BQTlCRCxFQUE4QixTQUE5QkEsRUFBOEI7QUFDekQ7QUFDQSxTQUFPLG1CQUFRQSxFQUFSLEVBQVlFLE9BQVosRUFBUDtBQUNEOztBQUVNLFNBQVNDLGNBQVQsQ0FBd0JDLE1BQXhCLEVBQWdEQyxVQUFoRCxFQUFrRTtBQUN2RSxNQUFJLEVBQUNELE1BQUQsYUFBQ0EsTUFBRCxlQUFDQSxNQUFNLENBQUVKLEVBQVQsQ0FBSixFQUFpQjtBQUNmLFdBQU8sSUFBUDtBQUNEOztBQUNELE1BQU1NLFFBQVEsR0FBR1AsV0FBVyxDQUFDSyxNQUFELENBQTVCO0FBRUEsU0FBTztBQUNMRyxJQUFBQSxJQUFJLEVBQUUsU0FERDtBQUVMQyxJQUFBQSxRQUFRLEVBQUU7QUFDUkMsTUFBQUEsV0FBVyxFQUFFSixVQUFVLFNBQVYsSUFBQUEsVUFBVSxXQUFWLElBQUFBLFVBQVUsQ0FBRUssUUFBWixHQUF1QixDQUFDSixRQUFELENBQXZCLEdBQW9DQSxRQUR6QztBQUVSQyxNQUFBQSxJQUFJLEVBQUVGLFVBQVUsU0FBVixJQUFBQSxVQUFVLFdBQVYsSUFBQUEsVUFBVSxDQUFFSyxRQUFaLEdBQXVCLFNBQXZCLEdBQW1DO0FBRmpDLEtBRkw7QUFNTEwsSUFBQUEsVUFBVSxFQUFWQTtBQU5LLEdBQVA7QUFRRDs7QUFFTSxJQUFNTSxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDQyxLQUFELEVBQVFDLFFBQVIsRUFBa0JDLGFBQWxCLEVBQW9DO0FBQzVELE1BQUlGLEtBQUssQ0FBQ0wsSUFBTixLQUFlUSwyQkFBZ0JDLE1BQW5DLEVBQTJDO0FBQ3pDLFdBQU8sS0FBUDtBQUNEOztBQUVELE1BQU1DLE9BQU8sR0FBR0gsYUFBYSxDQUFDSSxJQUFkLENBQW1CLFVBQUFDLENBQUM7QUFBQSxXQUFJLG1DQUFtQkEsQ0FBQyxDQUFDQyxPQUFGLENBQVVQLFFBQVYsQ0FBbkIsQ0FBSjtBQUFBLEdBQXBCLEVBQWlFLElBQWpFLENBQWhCO0FBQ0EsU0FBT0ksT0FBTyxJQUFJLHFCQUFVQSxPQUFPLENBQUNHLE9BQVIsQ0FBZ0JQLFFBQWhCLENBQVYsQ0FBbEI7QUFDRCxDQVBNOzs7O0FBU0EsSUFBTVEsWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBQ0MsTUFBRCxFQUFTUixhQUFUO0FBQUEsU0FDMUJRLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjLFVBQUNDLENBQUQsRUFBSUMsQ0FBSjtBQUFBLFdBQVVkLFVBQVUsQ0FBQ2EsQ0FBRCxFQUFJQyxDQUFKLEVBQU9YLGFBQVAsQ0FBcEI7QUFBQSxHQUFkLENBRDBCO0FBQUEsQ0FBckIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge2gzR2V0UmVzb2x1dGlvbiwgSDNJbmRleCwgaDNJc1ZhbGlkLCBoM1RvR2VvLCBoM1RvR2VvQm91bmRhcnl9IGZyb20gJ2gzLWpzJztcbmltcG9ydCB7QUxMX0ZJRUxEX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge25vdE51bGxvclVuZGVmaW5lZH0gZnJvbSAnLi9kYXRhLXV0aWxzJztcblxuZXhwb3J0IHtoM0dldFJlc29sdXRpb24sIGgzSXNWYWxpZH07XG5cbmV4cG9ydCB0eXBlIENlbnRyb2lkID0gW251bWJlciwgbnVtYmVyXTtcblxuLy8gZ2V0IHZlcnRpY2VzIHNob3VsZCByZXR1cm4gW2xvbiwgbGF0XVxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnRpY2VzKHtpZH06IHtpZDogSDNJbmRleH0pIHtcbiAgLy8gYWx3YXlzIHJldmVyc2UgaXRcbiAgcmV0dXJuIGgzVG9HZW9Cb3VuZGFyeShpZCwgdHJ1ZSk7XG59XG5cbi8vIGdldCBjZW50cm9pZCBzaG91bGQgcmV0dXJuIFtsb24sIGxhdF1cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZW50cm9pZCh7aWR9OiB7aWQ6IEgzSW5kZXh9KTogQ2VudHJvaWQge1xuICAvLyBhbHdheXMgcmV2ZXJzZSBpdCB0byBbbG5nLCBsYXRdXG4gIHJldHVybiBoM1RvR2VvKGlkKS5yZXZlcnNlKCkgYXMgQ2VudHJvaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpZFRvUG9seWdvbkdlbyhvYmplY3Q/OiB7aWQ6IEgzSW5kZXh9LCBwcm9wZXJ0aWVzPzogYW55KSB7XG4gIGlmICghb2JqZWN0Py5pZCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHZlcnRpY2VzID0gZ2V0VmVydGljZXMob2JqZWN0KTtcblxuICByZXR1cm4ge1xuICAgIHR5cGU6ICdGZWF0dXJlJyxcbiAgICBnZW9tZXRyeToge1xuICAgICAgY29vcmRpbmF0ZXM6IHByb3BlcnRpZXM/LmlzQ2xvc2VkID8gW3ZlcnRpY2VzXSA6IHZlcnRpY2VzLFxuICAgICAgdHlwZTogcHJvcGVydGllcz8uaXNDbG9zZWQgPyAnUG9seWdvbicgOiAnTGluZVN0cmluZydcbiAgICB9LFxuICAgIHByb3BlcnRpZXNcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzSGV4RmllbGQgPSAoZmllbGQsIGZpZWxkSWR4LCBkYXRhQ29udGFpbmVyKSA9PiB7XG4gIGlmIChmaWVsZC50eXBlICE9PSBBTExfRklFTERfVFlQRVMuc3RyaW5nKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZmlyc3REUCA9IGRhdGFDb250YWluZXIuZmluZChkID0+IG5vdE51bGxvclVuZGVmaW5lZChkLnZhbHVlQXQoZmllbGRJZHgpKSwgdHJ1ZSk7XG4gIHJldHVybiBmaXJzdERQICYmIGgzSXNWYWxpZChmaXJzdERQLnZhbHVlQXQoZmllbGRJZHgpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIZXhGaWVsZHMgPSAoZmllbGRzLCBkYXRhQ29udGFpbmVyKSA9PlxuICBmaWVsZHMuZmlsdGVyKChmLCBpKSA9PiBpc0hleEZpZWxkKGYsIGksIGRhdGFDb250YWluZXIpKTtcbiJdfQ==
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { hexToRgb, isHexColor, rgbToHex, getColorGroupByName, reverseColorRange, createLinearGradient, colorMaybeToRGB, isRgbColor } from './color-utils';
1
+ export { hexToRgb, isHexColor, rgbToHex, getColorGroupByName, reverseColorRange, createLinearGradient, colorMaybeToRGB, isRgbColor, normalizeColor } from './color-utils';
2
2
  export { errorNotification } from './notifications-utils';
3
3
  export { createNotification, exportImageError, successNotification } from './notifications-utils';
4
4
  export { setStyleSheetBaseHref } from './dom-utils';
@@ -22,11 +22,12 @@ export { isValidMapInfo } from './map-info-utils';
22
22
  export * from './utils';
23
23
  export * from './split-map-utils';
24
24
  export { snapToMarks } from './plot';
25
- export { computeDeckEffects, fixEffectOrder, mergeEffectParams, reorderEffectOrder } from './effect-utils';
25
+ export { computeDeckEffects, fixEffectOrder, reorderEffectOrder, validateEffectParameters } from './effect-utils';
26
26
  export { transformRequest, isStyleUsingMapboxTiles } from './map-style-utils/mapbox-utils';
27
27
  export * from './map-utils';
28
- export { createDataContainer, createIndexedDataContainer, getSampleData as getSampleContainerData } from './data-container-utils';
28
+ export { createDataContainer, createIndexedDataContainer, getSampleData as getSampleContainerData, DataForm } from './data-container-utils';
29
29
  export type { DataContainerInterface } from './data-container-interface';
30
+ export { ArrowDataContainer, arrowDataTypeToFieldType, arrowDataTypeToAnalyzerDataType } from './arrow-data-container';
30
31
  export type { FilterResult, FilterChanged, dataValueAccessor } from './filter-utils';
31
32
  export * from "./filter-utils";
32
33
  export { getQuantileDomain, getOrdinalDomain, getLinearDomain, getLogDomain } from "./data-scale-utils";
package/dist/index.js CHANGED
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
@@ -36,6 +16,7 @@ var _exportNames = {
36
16
  createLinearGradient: true,
37
17
  colorMaybeToRGB: true,
38
18
  isRgbColor: true,
19
+ normalizeColor: true,
39
20
  errorNotification: true,
40
21
  createNotification: true,
41
22
  exportImageError: true,
@@ -95,13 +76,17 @@ var _exportNames = {
95
76
  snapToMarks: true,
96
77
  computeDeckEffects: true,
97
78
  fixEffectOrder: true,
98
- mergeEffectParams: true,
99
79
  reorderEffectOrder: true,
80
+ validateEffectParameters: true,
100
81
  transformRequest: true,
101
82
  isStyleUsingMapboxTiles: true,
102
83
  createDataContainer: true,
103
84
  createIndexedDataContainer: true,
104
85
  getSampleContainerData: true,
86
+ DataForm: true,
87
+ ArrowDataContainer: true,
88
+ arrowDataTypeToFieldType: true,
89
+ arrowDataTypeToAnalyzerDataType: true,
105
90
  getQuantileDomain: true,
106
91
  getOrdinalDomain: true,
107
92
  getLinearDomain: true,
@@ -160,6 +145,12 @@ Object.defineProperty(exports, "isRgbColor", {
160
145
  return _colorUtils.isRgbColor;
161
146
  }
162
147
  });
148
+ Object.defineProperty(exports, "normalizeColor", {
149
+ enumerable: true,
150
+ get: function get() {
151
+ return _colorUtils.normalizeColor;
152
+ }
153
+ });
163
154
  Object.defineProperty(exports, "errorNotification", {
164
155
  enumerable: true,
165
156
  get: function get() {
@@ -514,16 +505,16 @@ Object.defineProperty(exports, "fixEffectOrder", {
514
505
  return _effectUtils.fixEffectOrder;
515
506
  }
516
507
  });
517
- Object.defineProperty(exports, "mergeEffectParams", {
508
+ Object.defineProperty(exports, "reorderEffectOrder", {
518
509
  enumerable: true,
519
510
  get: function get() {
520
- return _effectUtils.mergeEffectParams;
511
+ return _effectUtils.reorderEffectOrder;
521
512
  }
522
513
  });
523
- Object.defineProperty(exports, "reorderEffectOrder", {
514
+ Object.defineProperty(exports, "validateEffectParameters", {
524
515
  enumerable: true,
525
516
  get: function get() {
526
- return _effectUtils.reorderEffectOrder;
517
+ return _effectUtils.validateEffectParameters;
527
518
  }
528
519
  });
529
520
  Object.defineProperty(exports, "transformRequest", {
@@ -556,6 +547,30 @@ Object.defineProperty(exports, "getSampleContainerData", {
556
547
  return _dataContainerUtils.getSampleData;
557
548
  }
558
549
  });
550
+ Object.defineProperty(exports, "DataForm", {
551
+ enumerable: true,
552
+ get: function get() {
553
+ return _dataContainerUtils.DataForm;
554
+ }
555
+ });
556
+ Object.defineProperty(exports, "ArrowDataContainer", {
557
+ enumerable: true,
558
+ get: function get() {
559
+ return _arrowDataContainer.ArrowDataContainer;
560
+ }
561
+ });
562
+ Object.defineProperty(exports, "arrowDataTypeToFieldType", {
563
+ enumerable: true,
564
+ get: function get() {
565
+ return _arrowDataContainer.arrowDataTypeToFieldType;
566
+ }
567
+ });
568
+ Object.defineProperty(exports, "arrowDataTypeToAnalyzerDataType", {
569
+ enumerable: true,
570
+ get: function get() {
571
+ return _arrowDataContainer.arrowDataTypeToAnalyzerDataType;
572
+ }
573
+ });
559
574
  Object.defineProperty(exports, "getQuantileDomain", {
560
575
  enumerable: true,
561
576
  get: function get() {
@@ -733,6 +748,8 @@ Object.keys(_mapUtils).forEach(function (key) {
733
748
 
734
749
  var _dataContainerUtils = require("./data-container-utils");
735
750
 
751
+ var _arrowDataContainer = require("./arrow-data-container");
752
+
736
753
  var _filterUtils = require("./filter-utils");
737
754
 
738
755
  Object.keys(_filterUtils).forEach(function (key) {
@@ -752,4 +769,4 @@ var _dataScaleUtils = require("./data-scale-utils");
752
769
  var _dataRow = require("./data-row");
753
770
 
754
771
  var _h3Utils = require("./h3-utils");
755
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNCQTs7QUFVQTs7QUFJQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUVBOztBQVlBOztBQUNBOztBQUNBOztBQW9CQTs7QUFDQTs7QUFFQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQ0E7O0FBVUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUVBOztBQUdBOztBQUdBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBRUE7O0FBR0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFFQTs7QUFPQTs7QUFHQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbi8vIFVUSUxTXG5cbmV4cG9ydCB7XG4gIGhleFRvUmdiLFxuICBpc0hleENvbG9yLFxuICByZ2JUb0hleCxcbiAgZ2V0Q29sb3JHcm91cEJ5TmFtZSxcbiAgcmV2ZXJzZUNvbG9yUmFuZ2UsXG4gIGNyZWF0ZUxpbmVhckdyYWRpZW50LFxuICBjb2xvck1heWJlVG9SR0IsXG4gIGlzUmdiQ29sb3Jcbn0gZnJvbSAnLi9jb2xvci11dGlscyc7XG5leHBvcnQge2Vycm9yTm90aWZpY2F0aW9ufSBmcm9tICcuL25vdGlmaWNhdGlvbnMtdXRpbHMnO1xuXG5leHBvcnQge2NyZWF0ZU5vdGlmaWNhdGlvbiwgZXhwb3J0SW1hZ2VFcnJvciwgc3VjY2Vzc05vdGlmaWNhdGlvbn0gZnJvbSAnLi9ub3RpZmljYXRpb25zLXV0aWxzJztcblxuZXhwb3J0IHtzZXRTdHlsZVNoZWV0QmFzZUhyZWZ9IGZyb20gJy4vZG9tLXV0aWxzJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBkb210b2ltYWdlfSBmcm9tICcuL2RvbS10by1pbWFnZSc7XG5leHBvcnQge2dldEZyZXF1ZW5jeSwgZ2V0TW9kZSwgYWdncmVnYXRlfSBmcm9tICcuL2FnZ3JlZ2F0ZS11dGlscyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJldHRpZXIvcHJldHRpZXJcbmV4cG9ydCB0eXBlIHtGaWVsZEZvcm1hdHRlcn0gZnJvbSAnLi9kYXRhLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS11dGlscyc7XG5leHBvcnQge2dldFRpbWVsaW5lRnJvbUFuaW1hdGlvbkNvbmZpZywgZ2V0VGltZWxpbmVGcm9tRmlsdGVyLCBTQU1QTEVfVElNRUxJTkUsIFRJTUVMSU5FX01PREVTfSBmcm9tICcuL3RpbWUnO1xuXG5leHBvcnQge1xuICBkYXRhc2V0Q29sb3JNYWtlcixcbiAgZmluZERlZmF1bHRDb2xvckZpZWxkLFxuICBBQ0NFUFRFRF9BTkFMWVpFUl9UWVBFUyxcbiAgdmFsaWRhdGVJbnB1dERhdGEsXG4gIGdldFNhbXBsZUZvclR5cGVBbmFseXplLFxuICBnZXRGaWVsZHNGcm9tRGF0YSxcbiAgcmVuYW1lRHVwbGljYXRlRmllbGRzLFxuICBhbmFseXplclR5cGVUb0ZpZWxkVHlwZSxcbiAgZ2V0Rm9ybWF0TGFiZWxzLFxuICBnZXRGaWVsZEZvcm1hdExhYmVsc1xufSBmcm9tICcuL2RhdGFzZXQtdXRpbHMnO1xuZXhwb3J0IHtnZXRGb3JtYXRWYWx1ZX0gZnJvbSAnLi9mb3JtYXQnO1xuZXhwb3J0IHtleHBvcnRNYXBUb0hUTUx9IGZyb20gJy4vZXhwb3J0LW1hcC1odG1sJztcbmV4cG9ydCB7XG4gIERFRkFVTFRfSU1BR0VfTkFNRSxcbiAgREVGQVVMVF9IVE1MX05BTUUsXG4gIERFRkFVTFRfSlNPTl9OQU1FLFxuICBERUZBVUxUX0RBVEFfTkFNRSxcbiAgREVGQVVMVF9FWFBPUlRfSlNPTl9TRVRUSU5HUyxcbiAgaXNNU0VkZ2UsXG4gIGdldFNjYWxlRnJvbUltYWdlU2l6ZSxcbiAgY2FsY3VsYXRlRXhwb3J0SW1hZ2VTaXplLFxuICBjb252ZXJ0VG9QbmcsXG4gIGRhdGFVUkl0b0Jsb2IsXG4gIGRvd25sb2FkRmlsZSxcbiAgZXhwb3J0SW1hZ2UsXG4gIGV4cG9ydFRvSnNvblN0cmluZyxcbiAgZ2V0TWFwSlNPTixcbiAgZXhwb3J0SnNvbixcbiAgZXhwb3J0SHRtbCxcbiAgZXhwb3J0TWFwLFxuICBkZWZhdWx0IGFzIGV4cG9ydGVyc1xufSBmcm9tICcuL2V4cG9ydC11dGlscyc7XG5leHBvcnQge3NldExheWVyQmxlbmRpbmd9IGZyb20gJy4vZ2wtdXRpbHMnO1xuZXhwb3J0IHtmbGF0dGVuTWVzc2FnZXMsIG1lcmdlTWVzc2FnZXN9IGZyb20gJy4vbG9jYWxlLXV0aWxzJztcbmV4cG9ydCB0eXBlIHtEaW1lbnNpb25zfSBmcm9tICcuL29ic2VydmUtZGltZW5zaW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL29ic2VydmUtZGltZW5zaW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2plY3Rpb24tdXRpbHMnO1xuZXhwb3J0IHt2YWxpZGF0ZVRva2VufSBmcm9tICcuL21hcGJveC11dGlscyc7XG5leHBvcnQge1xuICBnZXREZWZhdWx0TGF5ZXJHcm91cFZpc2liaWxpdHksXG4gIGVkaXRUb3BNYXBTdHlsZSxcbiAgZWRpdEJvdHRvbU1hcFN0eWxlLFxuICBpc1ZhbGlkU3R5bGVVcmwsXG4gIGdldFN0eWxlRG93bmxvYWRVcmwsXG4gIGdldFN0eWxlSW1hZ2VJY29uLFxuICBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uLFxuICBtZXJnZUxheWVyR3JvdXBWaXNpYmlsaXR5XG59IGZyb20gJy4vbWFwLXN0eWxlLXV0aWxzL21hcGJveC1nbC1zdHlsZS1lZGl0b3InO1xuZXhwb3J0IHtpc1ZhbGlkTWFwSW5mb30gZnJvbSAnLi9tYXAtaW5mby11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3BsaXQtbWFwLXV0aWxzJztcbmV4cG9ydCB7c25hcFRvTWFya3N9IGZyb20gJy4vcGxvdCc7XG5cbmV4cG9ydCB7Y29tcHV0ZURlY2tFZmZlY3RzLCBmaXhFZmZlY3RPcmRlciwgbWVyZ2VFZmZlY3RQYXJhbXMsIHJlb3JkZXJFZmZlY3RPcmRlcn0gZnJvbSAnLi9lZmZlY3QtdXRpbHMnO1xuXG4vLyBNYXBib3hcbmV4cG9ydCB7dHJhbnNmb3JtUmVxdWVzdCwgaXNTdHlsZVVzaW5nTWFwYm94VGlsZXN9IGZyb20gJy4vbWFwLXN0eWxlLXV0aWxzL21hcGJveC11dGlscyc7XG5cbi8vIE1hcFxuZXhwb3J0ICogZnJvbSAnLi9tYXAtdXRpbHMnO1xuXG5leHBvcnQge2NyZWF0ZURhdGFDb250YWluZXIsIGNyZWF0ZUluZGV4ZWREYXRhQ29udGFpbmVyLCBnZXRTYW1wbGVEYXRhIGFzIGdldFNhbXBsZUNvbnRhaW5lckRhdGF9IGZyb20gJy4vZGF0YS1jb250YWluZXItdXRpbHMnO1xuZXhwb3J0IHR5cGUge0RhdGFDb250YWluZXJJbnRlcmZhY2V9IGZyb20gJy4vZGF0YS1jb250YWluZXItaW50ZXJmYWNlJztcbmV4cG9ydCB0eXBlIHtGaWx0ZXJSZXN1bHQsIEZpbHRlckNoYW5nZWQsIGRhdGFWYWx1ZUFjY2Vzc29yfSBmcm9tICcuL2ZpbHRlci11dGlscydcbmV4cG9ydCAqIGZyb20gXCIuL2ZpbHRlci11dGlsc1wiO1xuXG5leHBvcnQge1xuICBnZXRRdWFudGlsZURvbWFpbixcbiAgZ2V0T3JkaW5hbERvbWFpbixcbiAgZ2V0TGluZWFyRG9tYWluLFxuICBnZXRMb2dEb21haW5cbn0gZnJvbSBcIi4vZGF0YS1zY2FsZS11dGlsc1wiO1xuXG5leHBvcnQge0RhdGFSb3d9IGZyb20gJy4vZGF0YS1yb3cnO1xuXG5leHBvcnQgdHlwZSB7Q2VudHJvaWR9IGZyb20gJy4vaDMtdXRpbHMnO1xuZXhwb3J0IHtnZXRDZW50cm9pZCwgaWRUb1BvbHlnb25HZW8sIGgzSXNWYWxpZCwgZ2V0SGV4RmllbGRzfSBmcm9tICcuL2gzLXV0aWxzJzsiXX0=
772
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS0E7O0FBV0E7O0FBSUE7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFFQTs7QUFZQTs7QUFDQTs7QUFDQTs7QUFvQkE7O0FBQ0E7O0FBRUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUNBOztBQVVBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFFQTs7QUFHQTs7QUFHQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUVBOztBQUVBOztBQUVBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBRUE7O0FBT0E7O0FBR0EiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBVVElMU1xuXG5leHBvcnQge1xuICBoZXhUb1JnYixcbiAgaXNIZXhDb2xvcixcbiAgcmdiVG9IZXgsXG4gIGdldENvbG9yR3JvdXBCeU5hbWUsXG4gIHJldmVyc2VDb2xvclJhbmdlLFxuICBjcmVhdGVMaW5lYXJHcmFkaWVudCxcbiAgY29sb3JNYXliZVRvUkdCLFxuICBpc1JnYkNvbG9yLFxuICBub3JtYWxpemVDb2xvclxufSBmcm9tICcuL2NvbG9yLXV0aWxzJztcbmV4cG9ydCB7ZXJyb3JOb3RpZmljYXRpb259IGZyb20gJy4vbm90aWZpY2F0aW9ucy11dGlscyc7XG5cbmV4cG9ydCB7Y3JlYXRlTm90aWZpY2F0aW9uLCBleHBvcnRJbWFnZUVycm9yLCBzdWNjZXNzTm90aWZpY2F0aW9ufSBmcm9tICcuL25vdGlmaWNhdGlvbnMtdXRpbHMnO1xuXG5leHBvcnQge3NldFN0eWxlU2hlZXRCYXNlSHJlZn0gZnJvbSAnLi9kb20tdXRpbHMnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIGRvbXRvaW1hZ2V9IGZyb20gJy4vZG9tLXRvLWltYWdlJztcbmV4cG9ydCB7Z2V0RnJlcXVlbmN5LCBnZXRNb2RlLCBhZ2dyZWdhdGV9IGZyb20gJy4vYWdncmVnYXRlLXV0aWxzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmV0dGllci9wcmV0dGllclxuZXhwb3J0IHR5cGUge0ZpZWxkRm9ybWF0dGVyfSBmcm9tICcuL2RhdGEtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLXV0aWxzJztcbmV4cG9ydCB7Z2V0VGltZWxpbmVGcm9tQW5pbWF0aW9uQ29uZmlnLCBnZXRUaW1lbGluZUZyb21GaWx0ZXIsIFNBTVBMRV9USU1FTElORSwgVElNRUxJTkVfTU9ERVN9IGZyb20gJy4vdGltZSc7XG5cbmV4cG9ydCB7XG4gIGRhdGFzZXRDb2xvck1ha2VyLFxuICBmaW5kRGVmYXVsdENvbG9yRmllbGQsXG4gIEFDQ0VQVEVEX0FOQUxZWkVSX1RZUEVTLFxuICB2YWxpZGF0ZUlucHV0RGF0YSxcbiAgZ2V0U2FtcGxlRm9yVHlwZUFuYWx5emUsXG4gIGdldEZpZWxkc0Zyb21EYXRhLFxuICByZW5hbWVEdXBsaWNhdGVGaWVsZHMsXG4gIGFuYWx5emVyVHlwZVRvRmllbGRUeXBlLFxuICBnZXRGb3JtYXRMYWJlbHMsXG4gIGdldEZpZWxkRm9ybWF0TGFiZWxzXG59IGZyb20gJy4vZGF0YXNldC11dGlscyc7XG5leHBvcnQge2dldEZvcm1hdFZhbHVlfSBmcm9tICcuL2Zvcm1hdCc7XG5leHBvcnQge2V4cG9ydE1hcFRvSFRNTH0gZnJvbSAnLi9leHBvcnQtbWFwLWh0bWwnO1xuZXhwb3J0IHtcbiAgREVGQVVMVF9JTUFHRV9OQU1FLFxuICBERUZBVUxUX0hUTUxfTkFNRSxcbiAgREVGQVVMVF9KU09OX05BTUUsXG4gIERFRkFVTFRfREFUQV9OQU1FLFxuICBERUZBVUxUX0VYUE9SVF9KU09OX1NFVFRJTkdTLFxuICBpc01TRWRnZSxcbiAgZ2V0U2NhbGVGcm9tSW1hZ2VTaXplLFxuICBjYWxjdWxhdGVFeHBvcnRJbWFnZVNpemUsXG4gIGNvbnZlcnRUb1BuZyxcbiAgZGF0YVVSSXRvQmxvYixcbiAgZG93bmxvYWRGaWxlLFxuICBleHBvcnRJbWFnZSxcbiAgZXhwb3J0VG9Kc29uU3RyaW5nLFxuICBnZXRNYXBKU09OLFxuICBleHBvcnRKc29uLFxuICBleHBvcnRIdG1sLFxuICBleHBvcnRNYXAsXG4gIGRlZmF1bHQgYXMgZXhwb3J0ZXJzXG59IGZyb20gJy4vZXhwb3J0LXV0aWxzJztcbmV4cG9ydCB7c2V0TGF5ZXJCbGVuZGluZ30gZnJvbSAnLi9nbC11dGlscyc7XG5leHBvcnQge2ZsYXR0ZW5NZXNzYWdlcywgbWVyZ2VNZXNzYWdlc30gZnJvbSAnLi9sb2NhbGUtdXRpbHMnO1xuZXhwb3J0IHR5cGUge0RpbWVuc2lvbnN9IGZyb20gJy4vb2JzZXJ2ZS1kaW1lbnNpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vb2JzZXJ2ZS1kaW1lbnNpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvamVjdGlvbi11dGlscyc7XG5leHBvcnQge3ZhbGlkYXRlVG9rZW59IGZyb20gJy4vbWFwYm94LXV0aWxzJztcbmV4cG9ydCB7XG4gIGdldERlZmF1bHRMYXllckdyb3VwVmlzaWJpbGl0eSxcbiAgZWRpdFRvcE1hcFN0eWxlLFxuICBlZGl0Qm90dG9tTWFwU3R5bGUsXG4gIGlzVmFsaWRTdHlsZVVybCxcbiAgZ2V0U3R5bGVEb3dubG9hZFVybCxcbiAgZ2V0U3R5bGVJbWFnZUljb24sXG4gIHNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24sXG4gIG1lcmdlTGF5ZXJHcm91cFZpc2liaWxpdHlcbn0gZnJvbSAnLi9tYXAtc3R5bGUtdXRpbHMvbWFwYm94LWdsLXN0eWxlLWVkaXRvcic7XG5leHBvcnQge2lzVmFsaWRNYXBJbmZvfSBmcm9tICcuL21hcC1pbmZvLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcGxpdC1tYXAtdXRpbHMnO1xuZXhwb3J0IHtzbmFwVG9NYXJrc30gZnJvbSAnLi9wbG90JztcblxuZXhwb3J0IHtjb21wdXRlRGVja0VmZmVjdHMsIGZpeEVmZmVjdE9yZGVyLCByZW9yZGVyRWZmZWN0T3JkZXIsIHZhbGlkYXRlRWZmZWN0UGFyYW1ldGVyc30gZnJvbSAnLi9lZmZlY3QtdXRpbHMnO1xuXG4vLyBNYXBib3hcbmV4cG9ydCB7dHJhbnNmb3JtUmVxdWVzdCwgaXNTdHlsZVVzaW5nTWFwYm94VGlsZXN9IGZyb20gJy4vbWFwLXN0eWxlLXV0aWxzL21hcGJveC11dGlscyc7XG5cbi8vIE1hcFxuZXhwb3J0ICogZnJvbSAnLi9tYXAtdXRpbHMnO1xuXG5leHBvcnQge2NyZWF0ZURhdGFDb250YWluZXIsIGNyZWF0ZUluZGV4ZWREYXRhQ29udGFpbmVyLCBnZXRTYW1wbGVEYXRhIGFzIGdldFNhbXBsZUNvbnRhaW5lckRhdGEsIERhdGFGb3JtfSBmcm9tICcuL2RhdGEtY29udGFpbmVyLXV0aWxzJztcbmV4cG9ydCB0eXBlIHsgRGF0YUNvbnRhaW5lckludGVyZmFjZSB9IGZyb20gJy4vZGF0YS1jb250YWluZXItaW50ZXJmYWNlJztcbmV4cG9ydCB7QXJyb3dEYXRhQ29udGFpbmVyLCBhcnJvd0RhdGFUeXBlVG9GaWVsZFR5cGUsIGFycm93RGF0YVR5cGVUb0FuYWx5emVyRGF0YVR5cGV9IGZyb20gJy4vYXJyb3ctZGF0YS1jb250YWluZXInO1xuZXhwb3J0IHR5cGUge0ZpbHRlclJlc3VsdCwgRmlsdGVyQ2hhbmdlZCwgZGF0YVZhbHVlQWNjZXNzb3J9IGZyb20gJy4vZmlsdGVyLXV0aWxzJ1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsdGVyLXV0aWxzXCI7XG5cbmV4cG9ydCB7XG4gIGdldFF1YW50aWxlRG9tYWluLFxuICBnZXRPcmRpbmFsRG9tYWluLFxuICBnZXRMaW5lYXJEb21haW4sXG4gIGdldExvZ0RvbWFpblxufSBmcm9tIFwiLi9kYXRhLXNjYWxlLXV0aWxzXCI7XG5cbmV4cG9ydCB7RGF0YVJvd30gZnJvbSAnLi9kYXRhLXJvdyc7XG5cbmV4cG9ydCB0eXBlIHtDZW50cm9pZH0gZnJvbSAnLi9oMy11dGlscyc7XG5leHBvcnQge2dldENlbnRyb2lkLCBpZFRvUG9seWdvbkdlbywgaDNJc1ZhbGlkLCBnZXRIZXhGaWVsZHN9IGZyb20gJy4vaDMtdXRpbHMnO1xuIl19
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -271,4 +251,4 @@ var IndexedDataContainer = /*#__PURE__*/function () {
271
251
  }();
272
252
 
273
253
  exports.IndexedDataContainer = IndexedDataContainer;
274
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleGVkLWRhdGEtY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbInJvd3NJdGVyYXRvciIsImNvbHVtbkl0ZXJhdG9yIiwiZGF0YUNvbnRhaW5lciIsImluZGljZXMiLCJzaGFyZWRSb3ciLCJudW1Sb3dzIiwibGVuZ3RoIiwicm93SW5kZXgiLCJtYXBwZWRSb3dJbmRleCIsInJvdyIsImNvbHVtbkluZGV4IiwidmFsdWVBdCIsIkluZGV4ZWREYXRhQ29udGFpbmVyIiwicGFyZW50RGF0YUNvbnRhaW5lciIsIl9wYXJlbnREYXRhQ29udGFpbmVyIiwiX2luZGljZXMiLCJudW1Db2x1bW5zIiwiX21hcHBlZFJvd0luZGV4Iiwicm93QXNBcnJheSIsIm1hcCIsIl8iLCJpIiwidFNoYXJlZFJvdyIsIkRhdGFSb3ciLCJjcmVhdGVTaGFyZWRSb3ciLCJ2YWx1ZXMiLCJmdW5jIiwib3B0aW9ucyIsInN0YXJ0IiwiZW5kIiwiZW5kUm93IiwiTWF0aCIsIm1pbiIsIm91dCIsInB1c2giLCJpbmRleCIsInVuZGVmaW5lZCIsImluaXRpYWxWYWx1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQkE7O3dEQVFVQSxZO3lEQWtCQUMsYzs7QUF4QlY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBVUQsWUFBVixDQUNFRSxhQURGLEVBRUVDLE9BRkYsRUFHRUMsU0FIRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLUUMsVUFBQUEsT0FMUixHQUtrQkYsT0FBTyxDQUFDRyxNQUwxQjtBQU1XQyxVQUFBQSxRQU5YLEdBTXNCLENBTnRCOztBQUFBO0FBQUEsZ0JBTXlCQSxRQUFRLEdBQUdGLE9BTnBDO0FBQUE7QUFBQTtBQUFBOztBQU9VRyxVQUFBQSxjQVBWLEdBTzJCTCxPQUFPLENBQUNJLFFBQUQsQ0FQbEM7QUFBQTtBQVFJLGlCQUFNTCxhQUFhLENBQUNPLEdBQWQsQ0FBa0JELGNBQWxCLEVBQWtDSixTQUFsQyxDQUFOOztB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QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7RGF0YUNvbnRhaW5lckludGVyZmFjZSwgUmFuZ2VPcHRpb25zfSBmcm9tICcuL2RhdGEtY29udGFpbmVyLWludGVyZmFjZSc7XG5pbXBvcnQge0RhdGFSb3csIFNoYXJlZFJvd09wdGlvbnN9IGZyb20gJy4vZGF0YS1yb3cnO1xuXG4vKipcbiAqIEBwYXJhbSBkYXRhQ29udGFpbmVyXG4gKiBAcGFyYW0gaW5kaWNlc1xuICogQHBhcmFtIHNoYXJlZFJvd1xuICogQHJldHVybnNcbiAqL1xuZnVuY3Rpb24qIHJvd3NJdGVyYXRvcihcbiAgZGF0YUNvbnRhaW5lcjogRGF0YUNvbnRhaW5lckludGVyZmFjZSxcbiAgaW5kaWNlczogbnVtYmVyW10sXG4gIHNoYXJlZFJvdzogU2hhcmVkUm93T3B0aW9uc1xuKTogR2VuZXJhdG9yPERhdGFSb3c+IHtcbiAgY29uc3QgbnVtUm93cyA9IGluZGljZXMubGVuZ3RoO1xuICBmb3IgKGxldCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgbnVtUm93czsgKytyb3dJbmRleCkge1xuICAgIGNvbnN0IG1hcHBlZFJvd0luZGV4ID0gaW5kaWNlc1tyb3dJbmRleF07XG4gICAgeWllbGQgZGF0YUNvbnRhaW5lci5yb3cobWFwcGVkUm93SW5kZXgsIHNoYXJlZFJvdyk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcGFyYW0gZGF0YUNvbnRhaW5lclxuICogQHBhcmFtIGluZGljZXNcbiAqIEBwYXJhbSBjb2x1bW5JbmRleFxuICogQHJldHVybnNcbiAqL1xuZnVuY3Rpb24qIGNvbHVtbkl0ZXJhdG9yKFxuICBkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlLFxuICBpbmRpY2VzOiBudW1iZXJbXSxcbiAgY29sdW1uSW5kZXg6IG51bWJlclxuKTogR2VuZXJhdG9yPGFueT4ge1xuICBjb25zdCBudW1Sb3dzID0gaW5kaWNlcy5sZW5ndGg7XG4gIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCBudW1Sb3dzOyArK3Jvd0luZGV4KSB7XG4gICAgY29uc3QgbWFwcGVkUm93SW5kZXggPSBpbmRpY2VzW3Jvd0luZGV4XTtcbiAgICB5aWVsZCBkYXRhQ29udGFpbmVyLnZhbHVlQXQobWFwcGVkUm93SW5kZXgsIGNvbHVtbkluZGV4KTtcbiAgfVxufVxuXG4vKipcbiAqIEEgZGF0YSBjb250YWluZXIgd3JhcHBlciBhcm91bmQgYW5vdGhlciBkYXRhIGNvbnRhaW5lci5cbiAqIFlvdSBoYXZlIHRvIHBhc3MgYW4gYXJyYXkgb2YgaW5kaWNlcyB0byByZWZlcmVuY2Ugcm93cyBpbiB0aGUgcGFyZW50IGRhdGEgY29udGFpbmVyLlxuICogRm9yIGV4YW1wbGUgaW5kaWNlcyBbMywgNCwgNiwgOF0gbWVhbnMgdGhhdCBJbmRleGVkRGF0YUNvbnRhaW5lciBpcyBnb2luZyB0byBoYXZlXG4gKiA0IHJvd3MgYW5kIHJvdygyKSBwb2ludHMgdG8gNnRoIHJvdyBpbiB0aGUgcmVmZXJlbmNlZCBkYXRhIGNvbnRhaW5lci5cbiAqL1xuZXhwb3J0IGNsYXNzIEluZGV4ZWREYXRhQ29udGFpbmVyIGltcGxlbWVudHMgRGF0YUNvbnRhaW5lckludGVyZmFjZSB7XG4gIF9wYXJlbnREYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlO1xuICBfaW5kaWNlczogbnVtYmVyW107XG5cbiAgY29uc3RydWN0b3IocGFyZW50RGF0YUNvbnRhaW5lcjogRGF0YUNvbnRhaW5lckludGVyZmFjZSwgaW5kaWNlczogbnVtYmVyW10pIHtcbiAgICB0aGlzLl9wYXJlbnREYXRhQ29udGFpbmVyID0gcGFyZW50RGF0YUNvbnRhaW5lcjtcbiAgICB0aGlzLl9pbmRpY2VzID0gaW5kaWNlcztcbiAgfVxuXG4gIG51bVJvd3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5faW5kaWNlcy5sZW5ndGg7XG4gIH1cblxuICBudW1Db2x1bW5zKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudERhdGFDb250YWluZXIubnVtQ29sdW1ucygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbWFwcyBhIGxvY2FsIGluZGV4IHRvIGFuIGluZGV4IGluIHRoZSBwYXJlbnQgZGF0YXNldFxuICAgKiBAcGFyYW0gcm93SW5kZXhcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBfbWFwcGVkUm93SW5kZXgocm93SW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2luZGljZXNbcm93SW5kZXhdO1xuICB9XG5cbiAgdmFsdWVBdChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fcGFyZW50RGF0YUNvbnRhaW5lci52YWx1ZUF0KHRoaXMuX21hcHBlZFJvd0luZGV4KHJvd0luZGV4KSwgY29sdW1uSW5kZXgpO1xuICB9XG5cbiAgcm93KHJvd0luZGV4OiBudW1iZXIsIHNoYXJlZFJvdz86IFNoYXJlZFJvd09wdGlvbnMpOiBEYXRhUm93IHtcbiAgICByZXR1cm4gdGhpcy5fcGFyZW50RGF0YUNvbnRhaW5lci5yb3codGhpcy5fbWFwcGVkUm93SW5kZXgocm93SW5kZXgpLCBzaGFyZWRSb3cpO1xuICB9XG5cbiAgcm93QXNBcnJheShyb3dJbmRleDogbnVtYmVyKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnREYXRhQ29udGFpbmVyLnJvd0FzQXJyYXkodGhpcy5fbWFwcGVkUm93SW5kZXgocm93SW5kZXgpKTtcbiAgfVxuXG4gIHJvd3Moc2hhcmVkUm93PzogU2hhcmVkUm93T3B0aW9ucykge1xuICAgIHJldHVybiByb3dzSXRlcmF0b3IodGhpcy5fcGFyZW50RGF0YUNvbnRhaW5lciwgdGhpcy5faW5kaWNlcywgc2hhcmVkUm93KTtcbiAgfVxuXG4gIGNvbHVtbihjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGNvbHVtbkl0ZXJhdG9yKHRoaXMuX3BhcmVudERhdGFDb250YWluZXIsIHRoaXMuX2luZGljZXMsIGNvbHVtbkluZGV4KTtcbiAgfVxuXG4gIGdldFBsYWluSW5kZXgoKTogbnVtYmVyW10ge1xuICAgIHJldHVybiB0aGlzLl9pbmRpY2VzLm1hcCgoXywgaSkgPT4gaSk7XG4gIH1cblxuICBmbGF0dGVuRGF0YSgpOiBhbnlbXVtdIHtcbiAgICBjb25zdCB0U2hhcmVkUm93ID0gRGF0YVJvdy5jcmVhdGVTaGFyZWRSb3codHJ1ZSk7XG5cbiAgICByZXR1cm4gdGhpcy5faW5kaWNlcy5tYXAoKF8sIGkpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnJvdyhpLCB0U2hhcmVkUm93KS52YWx1ZXMoKTtcbiAgICB9LCB0aGlzKTtcbiAgfVxuXG4gIG1hcDxUPihcbiAgICBmdW5jOiAocm93OiBEYXRhUm93LCBpbmRleDogbnVtYmVyKSA9PiBULFxuICAgIHNoYXJlZFJvdz86IFNoYXJlZFJvd09wdGlvbnMsXG4gICAgb3B0aW9uczogUmFuZ2VPcHRpb25zID0ge31cbiAgKTogVFtdIHtcbiAgICBjb25zdCB7c3RhcnQgPSAwLCBlbmQgPSB0aGlzLm51bVJvd3MoKX0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGVuZFJvdyA9IE1hdGgubWluKHRoaXMubnVtUm93cygpLCBlbmQpO1xuXG4gICAgY29uc3QgdFNoYXJlZFJvdyA9IERhdGFSb3cuY3JlYXRlU2hhcmVkUm93KHNoYXJlZFJvdyk7XG5cbiAgICBjb25zdCBvdXQ6IFRbXSA9IFtdO1xuICAgIGZvciAobGV0IHJvd0luZGV4ID0gc3RhcnQ7IHJvd0luZGV4IDwgZW5kUm93OyArK3Jvd0luZGV4KSB7XG4gICAgICBjb25zdCByb3cgPSB0aGlzLnJvdyhyb3dJbmRleCwgdFNoYXJlZFJvdyk7XG4gICAgICBvdXQucHVzaChmdW5jKHJvdywgcm93SW5kZXgpKTtcbiAgICB9XG4gICAgcmV0dXJuIG91dDtcbiAgfVxuXG4gIG1hcEluZGV4PFQ+KFxuICAgIGZ1bmM6ICh7aW5kZXg6IG51bWJlcn0sIGRjOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlKSA9PiBULFxuICAgIG9wdGlvbnM6IFJhbmdlT3B0aW9ucyA9IHt9XG4gICk6IFRbXSB7XG4gICAgY29uc3Qge3N0YXJ0ID0gMCwgZW5kID0gdGhpcy5udW1Sb3dzKCl9ID0gb3B0aW9ucztcbiAgICBjb25zdCBlbmRSb3cgPSBNYXRoLm1pbih0aGlzLm51bVJvd3MoKSwgZW5kKTtcblxuICAgIGNvbnN0IG91dDogVFtdID0gW107XG4gICAgZm9yIChsZXQgcm93SW5kZXggPSBzdGFydDsgcm93SW5kZXggPCBlbmRSb3c7ICsrcm93SW5kZXgpIHtcbiAgICAgIG91dC5wdXNoKGZ1bmMoe2luZGV4OiB0aGlzLl9tYXBwZWRSb3dJbmRleChyb3dJbmRleCl9LCB0aGlzLl9wYXJlbnREYXRhQ29udGFpbmVyKSk7XG4gICAgfVxuICAgIHJldHVybiBvdXQ7XG4gIH1cblxuICBmaW5kKFxuICAgIGZ1bmM6IChyb3c6IERhdGFSb3csIGluZGV4OiBudW1iZXIpID0+IGJvb2xlYW4sXG4gICAgc2hhcmVkUm93PzogU2hhcmVkUm93T3B0aW9uc1xuICApOiBEYXRhUm93IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0U2hhcmVkUm93ID0gRGF0YVJvdy5jcmVhdGVTaGFyZWRSb3coc2hhcmVkUm93KTtcblxuICAgIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCB0aGlzLm51bVJvd3MoKTsgKytyb3dJbmRleCkge1xuICAgICAgY29uc3Qgcm93ID0gdGhpcy5yb3cocm93SW5kZXgsIHRTaGFyZWRSb3cpO1xuICAgICAgaWYgKGZ1bmMocm93LCByb3dJbmRleCkpIHtcbiAgICAgICAgcmV0dXJuIHJvdztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJlZHVjZTxUPihcbiAgICBmdW5jOiAoYWNjOiBULCByb3c6IERhdGFSb3csIGluZGV4OiBudW1iZXIpID0+IFQsXG4gICAgaW5pdGlhbFZhbHVlOiBULFxuICAgIHNoYXJlZFJvdz86IFNoYXJlZFJvd09wdGlvbnNcbiAgKTogVCB7XG4gICAgY29uc3QgdFNoYXJlZFJvdyA9IERhdGFSb3cuY3JlYXRlU2hhcmVkUm93KHNoYXJlZFJvdyk7XG5cbiAgICBmb3IgKGxldCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgdGhpcy5faW5kaWNlcy5sZW5ndGg7ICsrcm93SW5kZXgpIHtcbiAgICAgIGNvbnN0IHJvdyA9IHRoaXMucm93KHJvd0luZGV4LCB0U2hhcmVkUm93KTtcbiAgICAgIGluaXRpYWxWYWx1ZSA9IGZ1bmMoaW5pdGlhbFZhbHVlLCByb3csIHJvd0luZGV4KTtcbiAgICB9XG4gICAgcmV0dXJuIGluaXRpYWxWYWx1ZTtcbiAgfVxufVxuIl19
254
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleGVkLWRhdGEtY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbInJvd3NJdGVyYXRvciIsImNvbHVtbkl0ZXJhdG9yIiwiZGF0YUNvbnRhaW5lciIsImluZGljZXMiLCJzaGFyZWRSb3ciLCJudW1Sb3dzIiwibGVuZ3RoIiwicm93SW5kZXgiLCJtYXBwZWRSb3dJbmRleCIsInJvdyIsImNvbHVtbkluZGV4IiwidmFsdWVBdCIsIkluZGV4ZWREYXRhQ29udGFpbmVyIiwicGFyZW50RGF0YUNvbnRhaW5lciIsIl9wYXJlbnREYXRhQ29udGFpbmVyIiwiX2luZGljZXMiLCJudW1Db2x1bW5zIiwiX21hcHBlZFJvd0luZGV4Iiwicm93QXNBcnJheSIsIm1hcCIsIl8iLCJpIiwidFNoYXJlZFJvdyIsIkRhdGFSb3ciLCJjcmVhdGVTaGFyZWRSb3ciLCJ2YWx1ZXMiLCJmdW5jIiwib3B0aW9ucyIsInN0YXJ0IiwiZW5kIiwiZW5kUm93IiwiTWF0aCIsIm1pbiIsIm91dCIsInB1c2giLCJpbmRleCIsInVuZGVmaW5lZCIsImluaXRpYWxWYWx1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQTs7d0RBUVVBLFk7eURBa0JBQyxjOztBQXhCVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFVRCxZQUFWLENBQ0VFLGFBREYsRUFFRUMsT0FGRixFQUdFQyxTQUhGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtRQyxVQUFBQSxPQUxSLEdBS2tCRixPQUFPLENBQUNHLE1BTDFCO0FBTVdDLFVBQUFBLFFBTlgsR0FNc0IsQ0FOdEI7O0FBQUE7QUFBQSxnQkFNeUJBLFFBQVEsR0FBR0YsT0FOcEM7QUFBQTtBQUFBO0FBQUE7O0FBT1VHLFVBQUFBLGNBUFYsR0FPMkJMLE9BQU8sQ0FBQ0ksUUFBRCxDQVBsQztBQUFBO0FBUUksaUJBQU1MLGFBQWEsQ0FBQ08sR0FBZCxDQUFrQkQsY0FBbEIsRUFBa0NKLFNBQWxDLENBQU47O0FBUko7QUFNNkMsWUFBRUcsUUFOL0M7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxTQUFVTixjQUFWLENBQ0VDLGFBREYsRUFFRUMsT0FGRixFQUdFTyxXQUhGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtRTCxVQUFBQSxPQUxSLEdBS2tCRixPQUFPLENBQUNHLE1BTDFCO0FBTVdDLFVBQUFBLFFBTlgsR0FNc0IsQ0FOdEI7O0FBQUE7QUFBQSxnQkFNeUJBLFFBQVEsR0FBR0YsT0FOcEM7QUFBQTtBQUFBO0FBQUE7O0FBT1VHLFVBQUFBLGNBUFYsR0FPMkJMLE9BQU8sQ0FBQ0ksUUFBRCxDQVBsQztBQUFBO0FBUUksaUJBQU1MLGFBQWEsQ0FBQ1MsT0FBZCxDQUFzQkgsY0FBdEIsRUFBc0NFLFdBQXRDLENBQU47O0FBUko7QUFNNkMsWUFBRUgsUUFOL0M7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7SUFDYUssb0I7QUFJWCxnQ0FBWUMsbUJBQVosRUFBeURWLE9BQXpELEVBQTRFO0FBQUE7QUFBQTtBQUFBO0FBQzFFLFNBQUtXLG9CQUFMLEdBQTRCRCxtQkFBNUI7QUFDQSxTQUFLRSxRQUFMLEdBQWdCWixPQUFoQjtBQUNEOzs7O1dBRUQsbUJBQWtCO0FBQ2hCLGFBQU8sS0FBS1ksUUFBTCxDQUFjVCxNQUFyQjtBQUNEOzs7V0FFRCxzQkFBcUI7QUFDbkIsYUFBTyxLQUFLUSxvQkFBTCxDQUEwQkUsVUFBMUIsRUFBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTs7OztXQUNFLHlCQUFnQlQsUUFBaEIsRUFBMEM7QUFDeEMsYUFBTyxLQUFLUSxRQUFMLENBQWNSLFFBQWQsQ0FBUDtBQUNEOzs7V0FFRCxpQkFBUUEsUUFBUixFQUEwQkcsV0FBMUIsRUFBb0Q7QUFDbEQsYUFBTyxLQUFLSSxvQkFBTCxDQUEwQkgsT0FBMUIsQ0FBa0MsS0FBS00sZUFBTCxDQUFxQlYsUUFBckIsQ0FBbEMsRUFBa0VHLFdBQWxFLENBQVA7QUFDRDs7O1dBRUQsYUFBSUgsUUFBSixFQUFzQkgsU0FBdEIsRUFBNkQ7QUFDM0QsYUFBTyxLQUFLVSxvQkFBTCxDQUEwQkwsR0FBMUIsQ0FBOEIsS0FBS1EsZUFBTCxDQUFxQlYsUUFBckIsQ0FBOUIsRUFBOERILFNBQTlELENBQVA7QUFDRDs7O1dBRUQsb0JBQVdHLFFBQVgsRUFBb0M7QUFDbEMsYUFBTyxLQUFLTyxvQkFBTCxDQUEwQkksVUFBMUIsQ0FBcUMsS0FBS0QsZUFBTCxDQUFxQlYsUUFBckIsQ0FBckMsQ0FBUDtBQUNEOzs7V0FFRCxjQUFLSCxTQUFMLEVBQW1DO0FBQ2pDLGFBQU9KLFlBQVksQ0FBQyxLQUFLYyxvQkFBTixFQUE0QixLQUFLQyxRQUFqQyxFQUEyQ1gsU0FBM0MsQ0FBbkI7QUFDRDs7O1dBRUQsZ0JBQU9NLFdBQVAsRUFBNEI7QUFDMUIsYUFBT1QsY0FBYyxDQUFDLEtBQUthLG9CQUFOLEVBQTRCLEtBQUtDLFFBQWpDLEVBQTJDTCxXQUEzQyxDQUFyQjtBQUNEOzs7V0FFRCx5QkFBMEI7QUFDeEIsYUFBTyxLQUFLSyxRQUFMLENBQWNJLEdBQWQsQ0FBa0IsVUFBQ0MsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsZUFBVUEsQ0FBVjtBQUFBLE9BQWxCLENBQVA7QUFDRDs7O1dBRUQsdUJBQXVCO0FBQUE7O0FBQ3JCLFVBQU1DLFVBQVUsR0FBR0MsaUJBQVFDLGVBQVIsQ0FBd0IsSUFBeEIsQ0FBbkI7O0FBRUEsYUFBTyxLQUFLVCxRQUFMLENBQWNJLEdBQWQsQ0FBa0IsVUFBQ0MsQ0FBRCxFQUFJQyxDQUFKLEVBQVU7QUFDakMsZUFBTyxLQUFJLENBQUNaLEdBQUwsQ0FBU1ksQ0FBVCxFQUFZQyxVQUFaLEVBQXdCRyxNQUF4QixFQUFQO0FBQ0QsT0FGTSxFQUVKLElBRkksQ0FBUDtBQUdEOzs7V0FFRCxhQUNFQyxJQURGLEVBRUV0QixTQUZGLEVBSU87QUFBQSxVQURMdUIsT0FDSyx1RUFEbUIsRUFDbkI7QUFBQSwyQkFDcUNBLE9BRHJDLENBQ0VDLEtBREY7QUFBQSxVQUNFQSxLQURGLCtCQUNVLENBRFY7QUFBQSx5QkFDcUNELE9BRHJDLENBQ2FFLEdBRGI7QUFBQSxVQUNhQSxHQURiLDZCQUNtQixLQUFLeEIsT0FBTCxFQURuQjtBQUVMLFVBQU15QixNQUFNLEdBQUdDLElBQUksQ0FBQ0MsR0FBTCxDQUFTLEtBQUszQixPQUFMLEVBQVQsRUFBeUJ3QixHQUF6QixDQUFmOztBQUVBLFVBQU1QLFVBQVUsR0FBR0MsaUJBQVFDLGVBQVIsQ0FBd0JwQixTQUF4QixDQUFuQjs7QUFFQSxVQUFNNkIsR0FBUSxHQUFHLEVBQWpCOztBQUNBLFdBQUssSUFBSTFCLFFBQVEsR0FBR3FCLEtBQXBCLEVBQTJCckIsUUFBUSxHQUFHdUIsTUFBdEMsRUFBOEMsRUFBRXZCLFFBQWhELEVBQTBEO0FBQ3hELFlBQU1FLElBQUcsR0FBRyxLQUFLQSxHQUFMLENBQVNGLFFBQVQsRUFBbUJlLFVBQW5CLENBQVo7O0FBQ0FXLFFBQUFBLEdBQUcsQ0FBQ0MsSUFBSixDQUFTUixJQUFJLENBQUNqQixJQUFELEVBQU1GLFFBQU4sQ0FBYjtBQUNEOztBQUNELGFBQU8wQixHQUFQO0FBQ0Q7OztXQUVELGtCQUNFUCxJQURGLEVBR087QUFBQSxVQURMQyxPQUNLLHVFQURtQixFQUNuQjtBQUFBLDRCQUNxQ0EsT0FEckMsQ0FDRUMsS0FERjtBQUFBLFVBQ0VBLEtBREYsZ0NBQ1UsQ0FEVjtBQUFBLDBCQUNxQ0QsT0FEckMsQ0FDYUUsR0FEYjtBQUFBLFVBQ2FBLEdBRGIsOEJBQ21CLEtBQUt4QixPQUFMLEVBRG5CO0FBRUwsVUFBTXlCLE1BQU0sR0FBR0MsSUFBSSxDQUFDQyxHQUFMLENBQVMsS0FBSzNCLE9BQUwsRUFBVCxFQUF5QndCLEdBQXpCLENBQWY7QUFFQSxVQUFNSSxHQUFRLEdBQUcsRUFBakI7O0FBQ0EsV0FBSyxJQUFJMUIsUUFBUSxHQUFHcUIsS0FBcEIsRUFBMkJyQixRQUFRLEdBQUd1QixNQUF0QyxFQUE4QyxFQUFFdkIsUUFBaEQsRUFBMEQ7QUFDeEQwQixRQUFBQSxHQUFHLENBQUNDLElBQUosQ0FBU1IsSUFBSSxDQUFDO0FBQUNTLFVBQUFBLEtBQUssRUFBRSxLQUFLbEIsZUFBTCxDQUFxQlYsUUFBckI7QUFBUixTQUFELEVBQTBDLEtBQUtPLG9CQUEvQyxDQUFiO0FBQ0Q7O0FBQ0QsYUFBT21CLEdBQVA7QUFDRDs7O1dBRUQsY0FDRVAsSUFERixFQUVFdEIsU0FGRixFQUd1QjtBQUNyQixVQUFNa0IsVUFBVSxHQUFHQyxpQkFBUUMsZUFBUixDQUF3QnBCLFNBQXhCLENBQW5COztBQUVBLFdBQUssSUFBSUcsUUFBUSxHQUFHLENBQXBCLEVBQXVCQSxRQUFRLEdBQUcsS0FBS0YsT0FBTCxFQUFsQyxFQUFrRCxFQUFFRSxRQUFwRCxFQUE4RDtBQUM1RCxZQUFNRSxLQUFHLEdBQUcsS0FBS0EsR0FBTCxDQUFTRixRQUFULEVBQW1CZSxVQUFuQixDQUFaOztBQUNBLFlBQUlJLElBQUksQ0FBQ2pCLEtBQUQsRUFBTUYsUUFBTixDQUFSLEVBQXlCO0FBQ3ZCLGlCQUFPRSxLQUFQO0FBQ0Q7QUFDRjs7QUFDRCxhQUFPMkIsU0FBUDtBQUNEOzs7V0FFRCxnQkFDRVYsSUFERixFQUVFVyxZQUZGLEVBR0VqQyxTQUhGLEVBSUs7QUFDSCxVQUFNa0IsVUFBVSxHQUFHQyxpQkFBUUMsZUFBUixDQUF3QnBCLFNBQXhCLENBQW5COztBQUVBLFdBQUssSUFBSUcsUUFBUSxHQUFHLENBQXBCLEVBQXVCQSxRQUFRLEdBQUcsS0FBS1EsUUFBTCxDQUFjVCxNQUFoRCxFQUF3RCxFQUFFQyxRQUExRCxFQUFvRTtBQUNsRSxZQUFNRSxLQUFHLEdBQUcsS0FBS0EsR0FBTCxDQUFTRixRQUFULEVBQW1CZSxVQUFuQixDQUFaOztBQUNBZSxRQUFBQSxZQUFZLEdBQUdYLElBQUksQ0FBQ1csWUFBRCxFQUFlNUIsS0FBZixFQUFvQkYsUUFBcEIsQ0FBbkI7QUFDRDs7QUFDRCxhQUFPOEIsWUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtEYXRhQ29udGFpbmVySW50ZXJmYWNlLCBSYW5nZU9wdGlvbnN9IGZyb20gJy4vZGF0YS1jb250YWluZXItaW50ZXJmYWNlJztcbmltcG9ydCB7RGF0YVJvdywgU2hhcmVkUm93T3B0aW9uc30gZnJvbSAnLi9kYXRhLXJvdyc7XG5cbi8qKlxuICogQHBhcmFtIGRhdGFDb250YWluZXJcbiAqIEBwYXJhbSBpbmRpY2VzXG4gKiBAcGFyYW0gc2hhcmVkUm93XG4gKiBAcmV0dXJuc1xuICovXG5mdW5jdGlvbiogcm93c0l0ZXJhdG9yKFxuICBkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlLFxuICBpbmRpY2VzOiBudW1iZXJbXSxcbiAgc2hhcmVkUm93OiBTaGFyZWRSb3dPcHRpb25zXG4pOiBHZW5lcmF0b3I8RGF0YVJvdz4ge1xuICBjb25zdCBudW1Sb3dzID0gaW5kaWNlcy5sZW5ndGg7XG4gIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCBudW1Sb3dzOyArK3Jvd0luZGV4KSB7XG4gICAgY29uc3QgbWFwcGVkUm93SW5kZXggPSBpbmRpY2VzW3Jvd0luZGV4XTtcbiAgICB5aWVsZCBkYXRhQ29udGFpbmVyLnJvdyhtYXBwZWRSb3dJbmRleCwgc2hhcmVkUm93KTtcbiAgfVxufVxuXG4vKipcbiAqIEBwYXJhbSBkYXRhQ29udGFpbmVyXG4gKiBAcGFyYW0gaW5kaWNlc1xuICogQHBhcmFtIGNvbHVtbkluZGV4XG4gKiBAcmV0dXJuc1xuICovXG5mdW5jdGlvbiogY29sdW1uSXRlcmF0b3IoXG4gIGRhdGFDb250YWluZXI6IERhdGFDb250YWluZXJJbnRlcmZhY2UsXG4gIGluZGljZXM6IG51bWJlcltdLFxuICBjb2x1bW5JbmRleDogbnVtYmVyXG4pOiBHZW5lcmF0b3I8YW55PiB7XG4gIGNvbnN0IG51bVJvd3MgPSBpbmRpY2VzLmxlbmd0aDtcbiAgZm9yIChsZXQgcm93SW5kZXggPSAwOyByb3dJbmRleCA8IG51bVJvd3M7ICsrcm93SW5kZXgpIHtcbiAgICBjb25zdCBtYXBwZWRSb3dJbmRleCA9IGluZGljZXNbcm93SW5kZXhdO1xuICAgIHlpZWxkIGRhdGFDb250YWluZXIudmFsdWVBdChtYXBwZWRSb3dJbmRleCwgY29sdW1uSW5kZXgpO1xuICB9XG59XG5cbi8qKlxuICogQSBkYXRhIGNvbnRhaW5lciB3cmFwcGVyIGFyb3VuZCBhbm90aGVyIGRhdGEgY29udGFpbmVyLlxuICogWW91IGhhdmUgdG8gcGFzcyBhbiBhcnJheSBvZiBpbmRpY2VzIHRvIHJlZmVyZW5jZSByb3dzIGluIHRoZSBwYXJlbnQgZGF0YSBjb250YWluZXIuXG4gKiBGb3IgZXhhbXBsZSBpbmRpY2VzIFszLCA0LCA2LCA4XSBtZWFucyB0aGF0IEluZGV4ZWREYXRhQ29udGFpbmVyIGlzIGdvaW5nIHRvIGhhdmVcbiAqIDQgcm93cyBhbmQgcm93KDIpIHBvaW50cyB0byA2dGggcm93IGluIHRoZSByZWZlcmVuY2VkIGRhdGEgY29udGFpbmVyLlxuICovXG5leHBvcnQgY2xhc3MgSW5kZXhlZERhdGFDb250YWluZXIgaW1wbGVtZW50cyBEYXRhQ29udGFpbmVySW50ZXJmYWNlIHtcbiAgX3BhcmVudERhdGFDb250YWluZXI6IERhdGFDb250YWluZXJJbnRlcmZhY2U7XG4gIF9pbmRpY2VzOiBudW1iZXJbXTtcblxuICBjb25zdHJ1Y3RvcihwYXJlbnREYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlLCBpbmRpY2VzOiBudW1iZXJbXSkge1xuICAgIHRoaXMuX3BhcmVudERhdGFDb250YWluZXIgPSBwYXJlbnREYXRhQ29udGFpbmVyO1xuICAgIHRoaXMuX2luZGljZXMgPSBpbmRpY2VzO1xuICB9XG5cbiAgbnVtUm93cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9pbmRpY2VzLmxlbmd0aDtcbiAgfVxuXG4gIG51bUNvbHVtbnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyZW50RGF0YUNvbnRhaW5lci5udW1Db2x1bW5zKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtYXBzIGEgbG9jYWwgaW5kZXggdG8gYW4gaW5kZXggaW4gdGhlIHBhcmVudCBkYXRhc2V0XG4gICAqIEBwYXJhbSByb3dJbmRleFxuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIF9tYXBwZWRSb3dJbmRleChyb3dJbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5faW5kaWNlc1tyb3dJbmRleF07XG4gIH1cblxuICB2YWx1ZUF0KHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbkluZGV4OiBudW1iZXIpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnREYXRhQ29udGFpbmVyLnZhbHVlQXQodGhpcy5fbWFwcGVkUm93SW5kZXgocm93SW5kZXgpLCBjb2x1bW5JbmRleCk7XG4gIH1cblxuICByb3cocm93SW5kZXg6IG51bWJlciwgc2hhcmVkUm93PzogU2hhcmVkUm93T3B0aW9ucyk6IERhdGFSb3cge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnREYXRhQ29udGFpbmVyLnJvdyh0aGlzLl9tYXBwZWRSb3dJbmRleChyb3dJbmRleCksIHNoYXJlZFJvdyk7XG4gIH1cblxuICByb3dBc0FycmF5KHJvd0luZGV4OiBudW1iZXIpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudERhdGFDb250YWluZXIucm93QXNBcnJheSh0aGlzLl9tYXBwZWRSb3dJbmRleChyb3dJbmRleCkpO1xuICB9XG5cbiAgcm93cyhzaGFyZWRSb3c/OiBTaGFyZWRSb3dPcHRpb25zKSB7XG4gICAgcmV0dXJuIHJvd3NJdGVyYXRvcih0aGlzLl9wYXJlbnREYXRhQ29udGFpbmVyLCB0aGlzLl9pbmRpY2VzLCBzaGFyZWRSb3cpO1xuICB9XG5cbiAgY29sdW1uKGNvbHVtbkluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gY29sdW1uSXRlcmF0b3IodGhpcy5fcGFyZW50RGF0YUNvbnRhaW5lciwgdGhpcy5faW5kaWNlcywgY29sdW1uSW5kZXgpO1xuICB9XG5cbiAgZ2V0UGxhaW5JbmRleCgpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2luZGljZXMubWFwKChfLCBpKSA9PiBpKTtcbiAgfVxuXG4gIGZsYXR0ZW5EYXRhKCk6IGFueVtdW10ge1xuICAgIGNvbnN0IHRTaGFyZWRSb3cgPSBEYXRhUm93LmNyZWF0ZVNoYXJlZFJvdyh0cnVlKTtcblxuICAgIHJldHVybiB0aGlzLl9pbmRpY2VzLm1hcCgoXywgaSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucm93KGksIHRTaGFyZWRSb3cpLnZhbHVlcygpO1xuICAgIH0sIHRoaXMpO1xuICB9XG5cbiAgbWFwPFQ+KFxuICAgIGZ1bmM6IChyb3c6IERhdGFSb3csIGluZGV4OiBudW1iZXIpID0+IFQsXG4gICAgc2hhcmVkUm93PzogU2hhcmVkUm93T3B0aW9ucyxcbiAgICBvcHRpb25zOiBSYW5nZU9wdGlvbnMgPSB7fVxuICApOiBUW10ge1xuICAgIGNvbnN0IHtzdGFydCA9IDAsIGVuZCA9IHRoaXMubnVtUm93cygpfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgZW5kUm93ID0gTWF0aC5taW4odGhpcy5udW1Sb3dzKCksIGVuZCk7XG5cbiAgICBjb25zdCB0U2hhcmVkUm93ID0gRGF0YVJvdy5jcmVhdGVTaGFyZWRSb3coc2hhcmVkUm93KTtcblxuICAgIGNvbnN0IG91dDogVFtdID0gW107XG4gICAgZm9yIChsZXQgcm93SW5kZXggPSBzdGFydDsgcm93SW5kZXggPCBlbmRSb3c7ICsrcm93SW5kZXgpIHtcbiAgICAgIGNvbnN0IHJvdyA9IHRoaXMucm93KHJvd0luZGV4LCB0U2hhcmVkUm93KTtcbiAgICAgIG91dC5wdXNoKGZ1bmMocm93LCByb3dJbmRleCkpO1xuICAgIH1cbiAgICByZXR1cm4gb3V0O1xuICB9XG5cbiAgbWFwSW5kZXg8VD4oXG4gICAgZnVuYzogKHtpbmRleDogbnVtYmVyfSwgZGM6IERhdGFDb250YWluZXJJbnRlcmZhY2UpID0+IFQsXG4gICAgb3B0aW9uczogUmFuZ2VPcHRpb25zID0ge31cbiAgKTogVFtdIHtcbiAgICBjb25zdCB7c3RhcnQgPSAwLCBlbmQgPSB0aGlzLm51bVJvd3MoKX0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGVuZFJvdyA9IE1hdGgubWluKHRoaXMubnVtUm93cygpLCBlbmQpO1xuXG4gICAgY29uc3Qgb3V0OiBUW10gPSBbXTtcbiAgICBmb3IgKGxldCByb3dJbmRleCA9IHN0YXJ0OyByb3dJbmRleCA8IGVuZFJvdzsgKytyb3dJbmRleCkge1xuICAgICAgb3V0LnB1c2goZnVuYyh7aW5kZXg6IHRoaXMuX21hcHBlZFJvd0luZGV4KHJvd0luZGV4KX0sIHRoaXMuX3BhcmVudERhdGFDb250YWluZXIpKTtcbiAgICB9XG4gICAgcmV0dXJuIG91dDtcbiAgfVxuXG4gIGZpbmQoXG4gICAgZnVuYzogKHJvdzogRGF0YVJvdywgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbixcbiAgICBzaGFyZWRSb3c/OiBTaGFyZWRSb3dPcHRpb25zXG4gICk6IERhdGFSb3cgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHRTaGFyZWRSb3cgPSBEYXRhUm93LmNyZWF0ZVNoYXJlZFJvdyhzaGFyZWRSb3cpO1xuXG4gICAgZm9yIChsZXQgcm93SW5kZXggPSAwOyByb3dJbmRleCA8IHRoaXMubnVtUm93cygpOyArK3Jvd0luZGV4KSB7XG4gICAgICBjb25zdCByb3cgPSB0aGlzLnJvdyhyb3dJbmRleCwgdFNoYXJlZFJvdyk7XG4gICAgICBpZiAoZnVuYyhyb3csIHJvd0luZGV4KSkge1xuICAgICAgICByZXR1cm4gcm93O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmVkdWNlPFQ+KFxuICAgIGZ1bmM6IChhY2M6IFQsIHJvdzogRGF0YVJvdywgaW5kZXg6IG51bWJlcikgPT4gVCxcbiAgICBpbml0aWFsVmFsdWU6IFQsXG4gICAgc2hhcmVkUm93PzogU2hhcmVkUm93T3B0aW9uc1xuICApOiBUIHtcbiAgICBjb25zdCB0U2hhcmVkUm93ID0gRGF0YVJvdy5jcmVhdGVTaGFyZWRSb3coc2hhcmVkUm93KTtcblxuICAgIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCB0aGlzLl9pbmRpY2VzLmxlbmd0aDsgKytyb3dJbmRleCkge1xuICAgICAgY29uc3Qgcm93ID0gdGhpcy5yb3cocm93SW5kZXgsIHRTaGFyZWRSb3cpO1xuICAgICAgaW5pdGlhbFZhbHVlID0gZnVuYyhpbml0aWFsVmFsdWUsIHJvdywgcm93SW5kZXgpO1xuICAgIH1cbiAgICByZXR1cm4gaW5pdGlhbFZhbHVlO1xuICB9XG59XG4iXX0=
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -71,4 +51,4 @@ var mergeMessages = function mergeMessages(defaultMessages, userMessages) {
71
51
  };
72
52
 
73
53
  exports.mergeMessages = mergeMessages;
74
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2NhbGUtdXRpbHMudHMiXSwibmFtZXMiOlsiZmxhdHRlbk1lc3NhZ2VzIiwibmVzdGVkTWVzc2FnZXMiLCJwcmVmaXgiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwibWVzc2FnZXMiLCJrZXkiLCJ2YWx1ZSIsInByZWZpeGVkS2V5IiwiYXNzaWduIiwibWVyZ2VNZXNzYWdlcyIsImRlZmF1bHRNZXNzYWdlcyIsInVzZXJNZXNzYWdlcyIsImVuIiwiQ29uc29sZSIsImVycm9yIiwidXNlckVuRmxhdCIsImFjYyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7Ozs7OztBQUVBO0FBQ0E7QUFDTyxJQUFNQSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNDLGNBQUQsRUFBaUM7QUFBQSxNQUFoQkMsTUFBZ0IsdUVBQVAsRUFBTztBQUM5RCxTQUFPQyxNQUFNLENBQUNDLElBQVAsQ0FBWUgsY0FBWixFQUE0QkksTUFBNUIsQ0FBbUMsVUFBQ0MsUUFBRCxFQUFXQyxHQUFYLEVBQW1CO0FBQzNELFFBQU1DLEtBQUssR0FBR1AsY0FBYyxDQUFDTSxHQUFELENBQTVCO0FBQ0EsUUFBTUUsV0FBVyxHQUFHUCxNQUFNLGFBQU1BLE1BQU4sY0FBZ0JLLEdBQWhCLElBQXdCQSxHQUFsRDs7QUFDQSxRQUFJLE9BQU9DLEtBQVAsS0FBaUIsUUFBckIsRUFBK0I7QUFDN0JGLE1BQUFBLFFBQVEsQ0FBQ0csV0FBRCxDQUFSLEdBQXdCRCxLQUF4QjtBQUNELEtBRkQsTUFFTztBQUNMTCxNQUFBQSxNQUFNLENBQUNPLE1BQVAsQ0FBY0osUUFBZCxFQUF3Qk4sZUFBZSxDQUFDUSxLQUFELEVBQVFDLFdBQVIsQ0FBdkM7QUFDRDs7QUFDRCxXQUFPSCxRQUFQO0FBQ0QsR0FUTSxFQVNKLEVBVEksQ0FBUDtBQVVELENBWE07Ozs7QUFhQSxJQUFNSyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNDLGVBQUQsRUFBa0JDLFlBQWxCLEVBQW1DO0FBQzlELE1BQUksQ0FBQyxxQkFBU0EsWUFBVCxDQUFELElBQTJCLENBQUMscUJBQVNBLFlBQVksQ0FBQ0MsRUFBdEIsQ0FBaEMsRUFBMkQ7QUFDekRDLHdCQUFRQyxLQUFSLENBQ0UsNElBREY7O0FBSUEsV0FBT0osZUFBUDtBQUNEOztBQUVELE1BQU1LLFVBQVUsR0FBR2pCLGVBQWUsQ0FBQ2EsWUFBWSxDQUFDQyxFQUFkLENBQWxDO0FBQ0EsU0FBT1gsTUFBTSxDQUFDQyxJQUFQLENBQVlRLGVBQVosRUFBNkJQLE1BQTdCLENBQ0wsVUFBQ2EsR0FBRCxFQUFNWCxHQUFOO0FBQUEsMkNBQ0tXLEdBREwsNENBRUdYLEdBRkgsRUFHSUEsR0FBRyxLQUFLLElBQVIsbUNBQ1FLLGVBQWUsQ0FBQ0UsRUFEeEIsR0FDK0JHLFVBRC9CLGtEQUVRTCxlQUFlLENBQUNMLEdBQUQsQ0FGdkIsR0FFaUNVLFVBRmpDLEdBRWdEakIsZUFBZSxDQUFDYSxZQUFZLENBQUNOLEdBQUQsQ0FBWixJQUFxQixFQUF0QixDQUYvRCxDQUhKO0FBQUEsR0FESyxFQVFMLEVBUkssQ0FBUDtBQVVELENBcEJNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtpc09iamVjdH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgQ29uc29sZSBmcm9tICdnbG9iYWwvY29uc29sZSc7XG5cbi8vIEZsYXQgbWVzc2FnZXMgc2luY2UgcmVhY3QtaW50bCBkb2VzIG5vdCBzZWVtIHRvIHN1cHBvcnQgbmVzdGVkIHN0cnVjdHVyZXNcbi8vIEFkYXB0ZWQgZnJvbSBodHRwczovL21lZGl1bS5jb20vc2lyZW4tYXBwYXJlbC1wcmVzcy9pbnRlcm5hdGlvbmFsaXphdGlvbi1hbmQtbG9jYWxpemF0aW9uLW9mLXNpcmVuYXBwYXJlbC1ldS1zaXJlbmFwcGFyZWwtdXMtYW5kLXNpcmVuYXBwYXJlbC1hc2lhLWRkZWUyNjYwNjZhMlxuZXhwb3J0IGNvbnN0IGZsYXR0ZW5NZXNzYWdlcyA9IChuZXN0ZWRNZXNzYWdlcywgcHJlZml4ID0gJycpID0+IHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG5lc3RlZE1lc3NhZ2VzKS5yZWR1Y2UoKG1lc3NhZ2VzLCBrZXkpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IG5lc3RlZE1lc3NhZ2VzW2tleV07XG4gICAgY29uc3QgcHJlZml4ZWRLZXkgPSBwcmVmaXggPyBgJHtwcmVmaXh9LiR7a2V5fWAgOiBrZXk7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG1lc3NhZ2VzW3ByZWZpeGVkS2V5XSA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBPYmplY3QuYXNzaWduKG1lc3NhZ2VzLCBmbGF0dGVuTWVzc2FnZXModmFsdWUsIHByZWZpeGVkS2V5KSk7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlcztcbiAgfSwge30pO1xufTtcblxuZXhwb3J0IGNvbnN0IG1lcmdlTWVzc2FnZXMgPSAoZGVmYXVsdE1lc3NhZ2VzLCB1c2VyTWVzc2FnZXMpID0+IHtcbiAgaWYgKCFpc09iamVjdCh1c2VyTWVzc2FnZXMpIHx8ICFpc09iamVjdCh1c2VyTWVzc2FnZXMuZW4pKSB7XG4gICAgQ29uc29sZS5lcnJvcihcbiAgICAgICdtZXNzYWdlIHNob3VsZCBiZSBhbiBvYmplY3QgYW5kIGNvbnRhaW4gYXQgbGVhc3QgdGhlIGBlbmAgdHJhbnNsYXRpb24uIFJlYWQgbW9yZSBhdCBodHRwczovL2RvY3Mua2VwbGVyLmdsL2RvY3MvYXBpLXJlZmVyZW5jZS9sb2NhbGl6YXRpb24nXG4gICAgKTtcblxuICAgIHJldHVybiBkZWZhdWx0TWVzc2FnZXM7XG4gIH1cblxuICBjb25zdCB1c2VyRW5GbGF0ID0gZmxhdHRlbk1lc3NhZ2VzKHVzZXJNZXNzYWdlcy5lbik7XG4gIHJldHVybiBPYmplY3Qua2V5cyhkZWZhdWx0TWVzc2FnZXMpLnJlZHVjZShcbiAgICAoYWNjLCBrZXkpID0+ICh7XG4gICAgICAuLi5hY2MsXG4gICAgICBba2V5XTpcbiAgICAgICAga2V5ID09PSAnZW4nXG4gICAgICAgICAgPyB7Li4uZGVmYXVsdE1lc3NhZ2VzLmVuLCAuLi51c2VyRW5GbGF0fVxuICAgICAgICAgIDogey4uLmRlZmF1bHRNZXNzYWdlc1trZXldLCAuLi51c2VyRW5GbGF0LCAuLi5mbGF0dGVuTWVzc2FnZXModXNlck1lc3NhZ2VzW2tleV0gfHwge30pfVxuICAgIH0pLFxuICAgIHt9XG4gICk7XG59O1xuIl19
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2NhbGUtdXRpbHMudHMiXSwibmFtZXMiOlsiZmxhdHRlbk1lc3NhZ2VzIiwibmVzdGVkTWVzc2FnZXMiLCJwcmVmaXgiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwibWVzc2FnZXMiLCJrZXkiLCJ2YWx1ZSIsInByZWZpeGVkS2V5IiwiYXNzaWduIiwibWVyZ2VNZXNzYWdlcyIsImRlZmF1bHRNZXNzYWdlcyIsInVzZXJNZXNzYWdlcyIsImVuIiwiQ29uc29sZSIsImVycm9yIiwidXNlckVuRmxhdCIsImFjYyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7Ozs7O0FBRUE7QUFDQTtBQUNPLElBQU1BLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0MsY0FBRCxFQUFpQztBQUFBLE1BQWhCQyxNQUFnQix1RUFBUCxFQUFPO0FBQzlELFNBQU9DLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZSCxjQUFaLEVBQTRCSSxNQUE1QixDQUFtQyxVQUFDQyxRQUFELEVBQVdDLEdBQVgsRUFBbUI7QUFDM0QsUUFBTUMsS0FBSyxHQUFHUCxjQUFjLENBQUNNLEdBQUQsQ0FBNUI7QUFDQSxRQUFNRSxXQUFXLEdBQUdQLE1BQU0sYUFBTUEsTUFBTixjQUFnQkssR0FBaEIsSUFBd0JBLEdBQWxEOztBQUNBLFFBQUksT0FBT0MsS0FBUCxLQUFpQixRQUFyQixFQUErQjtBQUM3QkYsTUFBQUEsUUFBUSxDQUFDRyxXQUFELENBQVIsR0FBd0JELEtBQXhCO0FBQ0QsS0FGRCxNQUVPO0FBQ0xMLE1BQUFBLE1BQU0sQ0FBQ08sTUFBUCxDQUFjSixRQUFkLEVBQXdCTixlQUFlLENBQUNRLEtBQUQsRUFBUUMsV0FBUixDQUF2QztBQUNEOztBQUNELFdBQU9ILFFBQVA7QUFDRCxHQVRNLEVBU0osRUFUSSxDQUFQO0FBVUQsQ0FYTTs7OztBQWFBLElBQU1LLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsQ0FBQ0MsZUFBRCxFQUFrQkMsWUFBbEIsRUFBbUM7QUFDOUQsTUFBSSxDQUFDLHFCQUFTQSxZQUFULENBQUQsSUFBMkIsQ0FBQyxxQkFBU0EsWUFBWSxDQUFDQyxFQUF0QixDQUFoQyxFQUEyRDtBQUN6REMsd0JBQVFDLEtBQVIsQ0FDRSw0SUFERjs7QUFJQSxXQUFPSixlQUFQO0FBQ0Q7O0FBRUQsTUFBTUssVUFBVSxHQUFHakIsZUFBZSxDQUFDYSxZQUFZLENBQUNDLEVBQWQsQ0FBbEM7QUFDQSxTQUFPWCxNQUFNLENBQUNDLElBQVAsQ0FBWVEsZUFBWixFQUE2QlAsTUFBN0IsQ0FDTCxVQUFDYSxHQUFELEVBQU1YLEdBQU47QUFBQSwyQ0FDS1csR0FETCw0Q0FFR1gsR0FGSCxFQUdJQSxHQUFHLEtBQUssSUFBUixtQ0FDUUssZUFBZSxDQUFDRSxFQUR4QixHQUMrQkcsVUFEL0Isa0RBRVFMLGVBQWUsQ0FBQ0wsR0FBRCxDQUZ2QixHQUVpQ1UsVUFGakMsR0FFZ0RqQixlQUFlLENBQUNhLFlBQVksQ0FBQ04sR0FBRCxDQUFaLElBQXFCLEVBQXRCLENBRi9ELENBSEo7QUFBQSxHQURLLEVBUUwsRUFSSyxDQUFQO0FBVUQsQ0FwQk0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge2lzT2JqZWN0fSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBDb25zb2xlIGZyb20gJ2dsb2JhbC9jb25zb2xlJztcblxuLy8gRmxhdCBtZXNzYWdlcyBzaW5jZSByZWFjdC1pbnRsIGRvZXMgbm90IHNlZW0gdG8gc3VwcG9ydCBuZXN0ZWQgc3RydWN0dXJlc1xuLy8gQWRhcHRlZCBmcm9tIGh0dHBzOi8vbWVkaXVtLmNvbS9zaXJlbi1hcHBhcmVsLXByZXNzL2ludGVybmF0aW9uYWxpemF0aW9uLWFuZC1sb2NhbGl6YXRpb24tb2Ytc2lyZW5hcHBhcmVsLWV1LXNpcmVuYXBwYXJlbC11cy1hbmQtc2lyZW5hcHBhcmVsLWFzaWEtZGRlZTI2NjA2NmEyXG5leHBvcnQgY29uc3QgZmxhdHRlbk1lc3NhZ2VzID0gKG5lc3RlZE1lc3NhZ2VzLCBwcmVmaXggPSAnJykgPT4ge1xuICByZXR1cm4gT2JqZWN0LmtleXMobmVzdGVkTWVzc2FnZXMpLnJlZHVjZSgobWVzc2FnZXMsIGtleSkgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gbmVzdGVkTWVzc2FnZXNba2V5XTtcbiAgICBjb25zdCBwcmVmaXhlZEtleSA9IHByZWZpeCA/IGAke3ByZWZpeH0uJHtrZXl9YCA6IGtleTtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgbWVzc2FnZXNbcHJlZml4ZWRLZXldID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIE9iamVjdC5hc3NpZ24obWVzc2FnZXMsIGZsYXR0ZW5NZXNzYWdlcyh2YWx1ZSwgcHJlZml4ZWRLZXkpKTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2VzO1xuICB9LCB7fSk7XG59O1xuXG5leHBvcnQgY29uc3QgbWVyZ2VNZXNzYWdlcyA9IChkZWZhdWx0TWVzc2FnZXMsIHVzZXJNZXNzYWdlcykgPT4ge1xuICBpZiAoIWlzT2JqZWN0KHVzZXJNZXNzYWdlcykgfHwgIWlzT2JqZWN0KHVzZXJNZXNzYWdlcy5lbikpIHtcbiAgICBDb25zb2xlLmVycm9yKFxuICAgICAgJ21lc3NhZ2Ugc2hvdWxkIGJlIGFuIG9iamVjdCBhbmQgY29udGFpbiBhdCBsZWFzdCB0aGUgYGVuYCB0cmFuc2xhdGlvbi4gUmVhZCBtb3JlIGF0IGh0dHBzOi8vZG9jcy5rZXBsZXIuZ2wvZG9jcy9hcGktcmVmZXJlbmNlL2xvY2FsaXphdGlvbidcbiAgICApO1xuXG4gICAgcmV0dXJuIGRlZmF1bHRNZXNzYWdlcztcbiAgfVxuXG4gIGNvbnN0IHVzZXJFbkZsYXQgPSBmbGF0dGVuTWVzc2FnZXModXNlck1lc3NhZ2VzLmVuKTtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGRlZmF1bHRNZXNzYWdlcykucmVkdWNlKFxuICAgIChhY2MsIGtleSkgPT4gKHtcbiAgICAgIC4uLmFjYyxcbiAgICAgIFtrZXldOlxuICAgICAgICBrZXkgPT09ICdlbidcbiAgICAgICAgICA/IHsuLi5kZWZhdWx0TWVzc2FnZXMuZW4sIC4uLnVzZXJFbkZsYXR9XG4gICAgICAgICAgOiB7Li4uZGVmYXVsdE1lc3NhZ2VzW2tleV0sIC4uLnVzZXJFbkZsYXQsIC4uLmZsYXR0ZW5NZXNzYWdlcyh1c2VyTWVzc2FnZXNba2V5XSB8fCB7fSl9XG4gICAgfSksXG4gICAge31cbiAgKTtcbn07XG4iXX0=
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  Object.defineProperty(exports, "__esModule", {
@@ -25,7 +5,11 @@ Object.defineProperty(exports, "__esModule", {
25
5
  });
26
6
  exports.isValidMapInfo = isValidMapInfo;
27
7
 
28
- var _constants = require("@kepler.gl/constants");function isValidMapInfo(mapInfo) {
8
+ var _constants = require("@kepler.gl/constants");
9
+
10
+ // SPDX-License-Identifier: MIT
11
+ // Copyright contributors to the kepler.gl project
12
+ function isValidMapInfo(mapInfo) {
29
13
  return mapInfo.title.length && mapInfo.title.length <= _constants.MAP_INFO_CHARACTER.title && (!mapInfo.description.length || mapInfo.description.length <= _constants.MAP_INFO_CHARACTER.description);
30
14
  }
31
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXAtaW5mby11dGlscy50cyJdLCJuYW1lcyI6WyJpc1ZhbGlkTWFwSW5mbyIsIm1hcEluZm8iLCJ0aXRsZSIsImxlbmd0aCIsIk1BUF9JTkZPX0NIQVJBQ1RFUiIsImRlc2NyaXB0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBb0JBOztBQXBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlPLFNBQVNBLGNBQVQsQ0FBd0JDLE9BQXhCLEVBQWlDO0FBQ3RDLFNBQ0VBLE9BQU8sQ0FBQ0MsS0FBUixDQUFjQyxNQUFkLElBQ0FGLE9BQU8sQ0FBQ0MsS0FBUixDQUFjQyxNQUFkLElBQXdCQyw4QkFBbUJGLEtBRDNDLEtBRUMsQ0FBQ0QsT0FBTyxDQUFDSSxXQUFSLENBQW9CRixNQUFyQixJQUErQkYsT0FBTyxDQUFDSSxXQUFSLENBQW9CRixNQUFwQixJQUE4QkMsOEJBQW1CQyxXQUZqRixDQURGO0FBS0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge01BUF9JTkZPX0NIQVJBQ1RFUn0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZE1hcEluZm8obWFwSW5mbykge1xuICByZXR1cm4gKFxuICAgIG1hcEluZm8udGl0bGUubGVuZ3RoICYmXG4gICAgbWFwSW5mby50aXRsZS5sZW5ndGggPD0gTUFQX0lORk9fQ0hBUkFDVEVSLnRpdGxlICYmXG4gICAgKCFtYXBJbmZvLmRlc2NyaXB0aW9uLmxlbmd0aCB8fCBtYXBJbmZvLmRlc2NyaXB0aW9uLmxlbmd0aCA8PSBNQVBfSU5GT19DSEFSQUNURVIuZGVzY3JpcHRpb24pXG4gICk7XG59XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXAtaW5mby11dGlscy50cyJdLCJuYW1lcyI6WyJpc1ZhbGlkTWFwSW5mbyIsIm1hcEluZm8iLCJ0aXRsZSIsImxlbmd0aCIsIk1BUF9JTkZPX0NIQVJBQ1RFUiIsImRlc2NyaXB0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7O0FBSEE7QUFDQTtBQUlPLFNBQVNBLGNBQVQsQ0FBd0JDLE9BQXhCLEVBQWlDO0FBQ3RDLFNBQ0VBLE9BQU8sQ0FBQ0MsS0FBUixDQUFjQyxNQUFkLElBQ0FGLE9BQU8sQ0FBQ0MsS0FBUixDQUFjQyxNQUFkLElBQXdCQyw4QkFBbUJGLEtBRDNDLEtBRUMsQ0FBQ0QsT0FBTyxDQUFDSSxXQUFSLENBQW9CRixNQUFyQixJQUErQkYsT0FBTyxDQUFDSSxXQUFSLENBQW9CRixNQUFwQixJQUE4QkMsOEJBQW1CQyxXQUZqRixDQURGO0FBS0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge01BUF9JTkZPX0NIQVJBQ1RFUn0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZE1hcEluZm8obWFwSW5mbykge1xuICByZXR1cm4gKFxuICAgIG1hcEluZm8udGl0bGUubGVuZ3RoICYmXG4gICAgbWFwSW5mby50aXRsZS5sZW5ndGggPD0gTUFQX0lORk9fQ0hBUkFDVEVSLnRpdGxlICYmXG4gICAgKCFtYXBJbmZvLmRlc2NyaXB0aW9uLmxlbmd0aCB8fCBtYXBJbmZvLmRlc2NyaXB0aW9uLmxlbmd0aCA8PSBNQVBfSU5GT19DSEFSQUNURVIuZGVzY3JpcHRpb24pXG4gICk7XG59XG4iXX0=
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -235,4 +215,4 @@ function mergeLayerGroupVisibility(defaultLayerGroup, currentLayerGroup) {
235
215
  return _objectSpread(_objectSpread({}, accu), currentLayerGroup.hasOwnProperty(key) ? (0, _defineProperty2["default"])({}, key, currentLayerGroup[key]) : {});
236
216
  }, defaultLayerGroup);
237
217
  }
238
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAtc3R5bGUtdXRpbHMvbWFwYm94LWdsLXN0eWxlLWVkaXRvci50cyJdLCJuYW1lcyI6WyJtYXBVcmxSZyIsImh0dHBSZyIsImdldERlZmF1bHRMYXllckdyb3VwVmlzaWJpbGl0eSIsImxheWVyR3JvdXBzIiwicmVkdWNlIiwiYWNjdSIsImxheWVyIiwic2x1ZyIsImRlZmF1bHRWaXNpYmlsaXR5IiwicmVzb2x2ZXIiLCJpZCIsIm1hcFN0eWxlIiwidmlzaWJsZUxheWVyR3JvdXBzIiwiT2JqZWN0Iiwia2V5cyIsImZpbHRlciIsImQiLCJzb3J0Iiwiam9pbiIsImVkaXRUb3BNYXBTdHlsZSIsInZpc2libGVGaWx0ZXJzIiwibGciLCJtYXAiLCJmaWx0ZXJlZExheWVycyIsInN0eWxlIiwibGF5ZXJzIiwic29tZSIsIm1hdGNoIiwiZWRpdEJvdHRvbU1hcFN0eWxlIiwiTk9fTUFQX0lEIiwiRU1QVFlfTUFQQk9YX1NUWUxFIiwiaW52aXNpYmxlRmlsdGVycyIsImV2ZXJ5IiwiaXNWYWxpZFN0eWxlVXJsIiwidXJsIiwiQm9vbGVhbiIsImdldFN0eWxlRG93bmxvYWRVcmwiLCJzdHlsZVVybCIsImFjY2Vzc1Rva2VuIiwibWFwYm94QXBpVXJsIiwic3RhcnRzV2l0aCIsInN0eWxlSWQiLCJyZXBsYWNlIiwiREVGQVVMVF9NQVBCT1hfQVBJX1VSTCIsImdldFN0eWxlSW1hZ2VJY29uIiwibWFwYm94QXBpQWNjZXNzVG9rZW4iLCJtYXBTdGF0ZSIsImxvbmdpdHVkZSIsImxhdGl0dWRlIiwiem9vbSIsIm1hcFciLCJtYXBIIiwic2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbiIsIm1hcGJveFN0eWxlIiwic2NhbGUiLCJsYWJlbExheWVyR3JvdXAiLCJERUZBVUxUX0xBWUVSX0dST1VQUyIsImZpbmQiLCJsYWJlbExheWVyRmlsdGVyIiwiem9vbU9mZnNldCIsIk1hdGgiLCJsb2cyIiwiY29weVN0eWxlIiwiZm9yRWFjaCIsIm1heHpvb20iLCJtYXgiLCJtaW56b29tIiwibGF5b3V0IiwiQXJyYXkiLCJpc0FycmF5Iiwic3RvcHMiLCJzdG9wIiwibWVyZ2VMYXllckdyb3VwVmlzaWJpbGl0eSIsImRlZmF1bHRMYXllckdyb3VwIiwiY3VycmVudExheWVyR3JvdXAiLCJrZXkiLCJoYXNPd25Qcm9wZXJ0eSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7Ozs7OztBQVFBLElBQU1BLFFBQVEsR0FBRyx3REFBakI7QUFDQSxJQUFNQyxNQUFNLEdBQUcscUJBQWY7O0FBRU8sU0FBU0MsOEJBQVQsT0FBeUY7QUFBQSw4QkFBaERDLFdBQWdEO0FBQUEsTUFBaERBLFdBQWdELGlDQUFsQyxFQUFrQztBQUM5RixTQUFPQSxXQUFXLENBQUNDLE1BQVosQ0FDTCxVQUFDQyxJQUFELEVBQU9DLEtBQVA7QUFBQSwyQ0FDS0QsSUFETCw0Q0FFR0MsS0FBSyxDQUFDQyxJQUZULEVBRWdCRCxLQUFLLENBQUNFLGlCQUZ0QjtBQUFBLEdBREssRUFLTCxFQUxLLENBQVA7QUFPRDs7QUFFRCxJQUFNQyxRQUFRLEdBQUcsU0FBWEEsUUFBVztBQUFBLE1BQ2ZDLEVBRGUsU0FDZkEsRUFEZTtBQUFBLE1BRWZDLFFBRmUsU0FFZkEsUUFGZTtBQUFBLG9DQUdmQyxrQkFIZTtBQUFBLE1BR2ZBLGtCQUhlLHNDQUdNLEVBSE47QUFBQSxtQkFTWkYsRUFUWSxjQVNORyxNQUFNLENBQUNDLElBQVAsQ0FBWUYsa0JBQVosRUFDTkcsTUFETSxDQUNDLFVBQUFDLENBQUM7QUFBQSxXQUFJSixrQkFBa0IsQ0FBQ0ksQ0FBRCxDQUF0QjtBQUFBLEdBREYsRUFFTkMsSUFGTSxHQUdOQyxJQUhNLENBR0QsR0FIQyxDQVRNO0FBQUEsQ0FBakI7QUFjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsZUFBZSxHQUFHLHdCQUM3QixpQkFRTTtBQUFBLE1BUEpULEVBT0ksU0FQSkEsRUFPSTtBQUFBLE1BTkpDLFFBTUksU0FOSkEsUUFNSTtBQUFBLE1BTEpDLGtCQUtJLFNBTEpBLGtCQUtJO0FBQ0osTUFBTVEsY0FBYyxHQUFHLENBQUNULFFBQVEsQ0FBQ1IsV0FBVCxJQUF3QixFQUF6QixFQUNwQlksTUFEb0IsQ0FDYixVQUFBTSxFQUFFO0FBQUEsV0FBSVQsa0JBQWtCLENBQUNTLEVBQUUsQ0FBQ2QsSUFBSixDQUF0QjtBQUFBLEdBRFcsRUFFcEJlLEdBRm9CLENBRWhCLFVBQUFELEVBQUU7QUFBQSxXQUFJQSxFQUFFLENBQUNOLE1BQVA7QUFBQSxHQUZjLENBQXZCLENBREksQ0FLSjtBQUNBO0FBQ0E7O0FBQ0EsTUFBTVEsY0FBYyxHQUFHWixRQUFRLENBQUNhLEtBQVQsQ0FBZUMsTUFBZixDQUFzQlYsTUFBdEIsQ0FBNkIsVUFBQVQsS0FBSztBQUFBLFdBQ3ZEYyxjQUFjLENBQUNNLElBQWYsQ0FBb0IsVUFBQUMsS0FBSztBQUFBLGFBQUlBLEtBQUssQ0FBQ3JCLEtBQUQsQ0FBVDtBQUFBLEtBQXpCLENBRHVEO0FBQUEsR0FBbEMsQ0FBdkI7QUFJQSx5Q0FDS0ssUUFBUSxDQUFDYSxLQURkO0FBRUVDLElBQUFBLE1BQU0sRUFBRUY7QUFGVjtBQUlELENBekI0QixFQTBCN0JkLFFBMUI2QixDQUF4QjtBQTZCUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTW1CLGtCQUFrQixHQUFHLHdCQUFRLGlCQUF3QztBQUFBLE1BQXRDbEIsRUFBc0MsU0FBdENBLEVBQXNDO0FBQUEsTUFBbENDLFFBQWtDLFNBQWxDQSxRQUFrQztBQUFBLE1BQXhCQyxrQkFBd0IsU0FBeEJBLGtCQUF3Qjs7QUFDaEYsTUFBSUYsRUFBRSxLQUFLbUIsb0JBQVgsRUFBc0I7QUFDcEIsV0FBT0MsNkJBQVA7QUFDRDs7QUFFRCxNQUFNQyxnQkFBZ0IsR0FBRyxDQUFDcEIsUUFBUSxDQUFDUixXQUFULElBQXdCLEVBQXpCLEVBQ3RCWSxNQURzQixDQUNmLFVBQUFNLEVBQUU7QUFBQSxXQUFJLENBQUNULGtCQUFrQixDQUFDUyxFQUFFLENBQUNkLElBQUosQ0FBdkI7QUFBQSxHQURhLEVBRXRCZSxHQUZzQixDQUVsQixVQUFBRCxFQUFFO0FBQUEsV0FBSUEsRUFBRSxDQUFDTixNQUFQO0FBQUEsR0FGZ0IsQ0FBekIsQ0FMZ0YsQ0FTaEY7QUFDQTs7QUFDQSxNQUFNUSxjQUFjLEdBQUdaLFFBQVEsQ0FBQ2EsS0FBVCxDQUFlQyxNQUFmLENBQXNCVixNQUF0QixDQUE2QixVQUFBVCxLQUFLO0FBQUEsV0FDdkR5QixnQkFBZ0IsQ0FBQ0MsS0FBakIsQ0FBdUIsVUFBQUwsS0FBSztBQUFBLGFBQUksQ0FBQ0EsS0FBSyxDQUFDckIsS0FBRCxDQUFWO0FBQUEsS0FBNUIsQ0FEdUQ7QUFBQSxHQUFsQyxDQUF2QjtBQUlBLHlDQUNLSyxRQUFRLENBQUNhLEtBRGQ7QUFFRUMsSUFBQUEsTUFBTSxFQUFFRjtBQUZWO0FBSUQsQ0FuQmlDLEVBbUIvQmQsUUFuQitCLENBQTNCLEMsQ0FxQlA7QUFDQTtBQUNBOzs7O0FBQ08sU0FBU3dCLGVBQVQsQ0FBeUJDLEdBQXpCLEVBQThCO0FBQ25DLFNBQU8sT0FBT0EsR0FBUCxLQUFlLFFBQWYsSUFBMkJDLE9BQU8sQ0FBQ0QsR0FBRyxDQUFDUCxLQUFKLENBQVUzQixRQUFWLEtBQXVCa0MsR0FBRyxDQUFDUCxLQUFKLENBQVUxQixNQUFWLENBQXhCLENBQXpDO0FBQ0Q7O0FBRU0sU0FBU21DLG1CQUFULENBQTZCQyxRQUE3QixFQUF1Q0MsV0FBdkMsRUFBb0RDLFlBQXBELEVBQWtFO0FBQ3ZFLE1BQUlGLFFBQVEsQ0FBQ0csVUFBVCxDQUFvQixNQUFwQixDQUFKLEVBQWlDO0FBQy9CLFdBQU9ILFFBQVA7QUFDRCxHQUhzRSxDQUt2RTs7O0FBQ0EsTUFBSUEsUUFBUSxDQUFDRyxVQUFULENBQW9CLGlCQUFwQixDQUFKLEVBQTRDO0FBQzFDLFFBQU1DLE9BQU8sR0FBR0osUUFBUSxDQUFDSyxPQUFULENBQWlCLGtCQUFqQixFQUFxQyxFQUFyQyxDQUFoQixDQUQwQyxDQUcxQzs7QUFDQSxxQkFBVUgsWUFBWSxJQUNwQkksaUNBREYsd0JBQ3NDRixPQUR0QywrQ0FDa0ZILFdBRGxGO0FBRUQsR0Fac0UsQ0FjdkU7OztBQUNBLFNBQU8sSUFBUDtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNNLGlCQUFULFFBa0JKO0FBQUEsTUFqQkRQLFFBaUJDLFNBakJEQSxRQWlCQztBQUFBLE1BaEJEUSxvQkFnQkMsU0FoQkRBLG9CQWdCQztBQUFBLGlDQWZETixZQWVDO0FBQUEsTUFmREEsWUFlQyxtQ0FmY0ksaUNBZWQ7QUFBQSw2QkFkREcsUUFjQztBQUFBLE1BZERBLFFBY0MsK0JBZFU7QUFDVEMsSUFBQUEsU0FBUyxFQUFFLENBQUMsUUFESDtBQUVUQyxJQUFBQSxRQUFRLEVBQUUsT0FGRDtBQUdUQyxJQUFBQSxJQUFJLEVBQUU7QUFIRyxHQWNWO0FBQUEseUJBVERDLElBU0M7QUFBQSxNQVREQSxJQVNDLDJCQVRNLEdBU047QUFBQSx5QkFSREMsSUFRQztBQUFBLE1BUkRBLElBUUMsMkJBUk0sR0FRTjtBQUNELE1BQU1WLE9BQU8sR0FBR0osUUFBUSxDQUFDSyxPQUFULENBQWlCLGtCQUFqQixFQUFxQyxFQUFyQyxDQUFoQjtBQUVBLFNBQ0UsVUFBR0gsWUFBSCx3QkFBNkJFLE9BQTdCLDBCQUNHSyxRQUFRLENBQUNDLFNBRFosY0FDeUJELFFBQVEsQ0FBQ0UsUUFEbEMsY0FDOENGLFFBQVEsQ0FBQ0csSUFEdkQsdUJBRUdDLElBRkgsY0FFV0MsSUFGWCw0QkFHaUJOLG9CQUhqQixrQ0FERjtBQU1EOztBQUVNLFNBQVNPLHlCQUFULENBQW1DQyxXQUFuQyxFQUFnREMsS0FBaEQsRUFBdUQ7QUFDNUQsTUFBSUEsS0FBSyxLQUFLLENBQVYsSUFBZUQsV0FBbkIsRUFBZ0M7QUFDOUIsUUFBTUUsZUFBZSxHQUFHQyxnQ0FBcUJDLElBQXJCLENBQTBCLFVBQUFwQyxFQUFFO0FBQUEsYUFBSUEsRUFBRSxDQUFDZCxJQUFILEtBQVksT0FBaEI7QUFBQSxLQUE1QixDQUF4QixDQUQ4QixDQUU5Qjs7O0FBRjhCLFFBR2ZtRCxnQkFIZSxHQUdLSCxlQUhMLENBR3ZCeEMsTUFIdUI7QUFJOUIsUUFBTTRDLFVBQVUsR0FBR0MsSUFBSSxDQUFDQyxJQUFMLENBQVVQLEtBQVYsQ0FBbkI7QUFFQSxRQUFNUSxTQUFTLEdBQUcseUJBQVVULFdBQVYsQ0FBbEI7QUFDQSxLQUFDUyxTQUFTLENBQUNyQyxNQUFWLElBQW9CLEVBQXJCLEVBQXlCc0MsT0FBekIsQ0FBaUMsVUFBQS9DLENBQUMsRUFBSTtBQUNwQztBQUNBLFVBQUlBLENBQUMsQ0FBQ2dELE9BQU4sRUFBZTtBQUNiaEQsUUFBQUEsQ0FBQyxDQUFDZ0QsT0FBRixHQUFZSixJQUFJLENBQUNLLEdBQUwsQ0FBU2pELENBQUMsQ0FBQ2dELE9BQUYsR0FBWUwsVUFBckIsRUFBaUMsQ0FBakMsQ0FBWjtBQUNEOztBQUVELFVBQUkzQyxDQUFDLENBQUNrRCxPQUFOLEVBQWU7QUFDYmxELFFBQUFBLENBQUMsQ0FBQ2tELE9BQUYsR0FBWU4sSUFBSSxDQUFDSyxHQUFMLENBQVNqRCxDQUFDLENBQUNrRCxPQUFGLEdBQVlQLFVBQXJCLEVBQWlDLENBQWpDLENBQVo7QUFDRCxPQVJtQyxDQVVwQzs7O0FBQ0EsVUFBSUQsZ0JBQWdCLENBQUMxQyxDQUFELENBQXBCLEVBQXlCO0FBQ3ZCLFlBQUlBLENBQUMsQ0FBQ21ELE1BQUYsSUFBWW5ELENBQUMsQ0FBQ21ELE1BQUYsQ0FBUyxXQUFULENBQVosSUFBcUNDLEtBQUssQ0FBQ0MsT0FBTixDQUFjckQsQ0FBQyxDQUFDbUQsTUFBRixDQUFTLFdBQVQsRUFBc0JHLEtBQXBDLENBQXpDLEVBQXFGO0FBQ25GdEQsVUFBQUEsQ0FBQyxDQUFDbUQsTUFBRixDQUFTLFdBQVQsRUFBc0JHLEtBQXRCLENBQTRCUCxPQUE1QixDQUFvQyxVQUFBUSxJQUFJLEVBQUk7QUFDMUM7QUFDQUEsWUFBQUEsSUFBSSxDQUFDLENBQUQsQ0FBSixHQUFVWCxJQUFJLENBQUNLLEdBQUwsQ0FBU00sSUFBSSxDQUFDLENBQUQsQ0FBSixHQUFVWixVQUFuQixFQUErQixDQUEvQixDQUFWLENBRjBDLENBRzFDOztBQUNBWSxZQUFBQSxJQUFJLENBQUMsQ0FBRCxDQUFKLElBQVdqQixLQUFYO0FBQ0QsV0FMRDtBQU1EO0FBQ0Y7QUFDRixLQXJCRDtBQXVCQSxXQUFPUSxTQUFQO0FBQ0Q7O0FBRUQsU0FBT1QsV0FBUDtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNtQix5QkFBVCxDQUFtQ0MsaUJBQW5DLEVBQXNEQyxpQkFBdEQsRUFBeUU7QUFDOUUsU0FBTzdELE1BQU0sQ0FBQ0MsSUFBUCxDQUFZMkQsaUJBQVosRUFBK0JyRSxNQUEvQixDQUNMLFVBQUNDLElBQUQsRUFBT3NFLEdBQVA7QUFBQSwyQ0FDS3RFLElBREwsR0FFTXFFLGlCQUFpQixDQUFDRSxjQUFsQixDQUFpQ0QsR0FBakMseUNBQTBDQSxHQUExQyxFQUFnREQsaUJBQWlCLENBQUNDLEdBQUQsQ0FBakUsSUFBMEUsRUFGaEY7QUFBQSxHQURLLEVBS0xGLGlCQUxLLENBQVA7QUFPRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBtZW1vaXplIGZyb20gJ2xvZGFzaC5tZW1vaXplJztcbmltcG9ydCBjbG9uZERlZXAgZnJvbSAnbG9kYXNoLmNsb25lZGVlcCc7XG5pbXBvcnQge1xuICBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgREVGQVVMVF9NQVBCT1hfQVBJX1VSTCxcbiAgTk9fTUFQX0lELFxuICBFTVBUWV9NQVBCT1hfU1RZTEVcbn0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtCYXNlTWFwU3R5bGUsIExheWVyR3JvdXAsIE1hcFN0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuY29uc3QgbWFwVXJsUmcgPSAvXm1hcGJveDpcXC9cXC9zdHlsZXNcXC9bLWEtejAtOV17MiwyNTZ9XFwvWy1hLXowLTldezIsMjU2fS87XG5jb25zdCBodHRwUmcgPSAvXig/PShodHRwOnxodHRwczopKS87XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0TGF5ZXJHcm91cFZpc2liaWxpdHkoe2xheWVyR3JvdXBzID0gW119OiB7bGF5ZXJHcm91cHM6IExheWVyR3JvdXBbXX0pIHtcbiAgcmV0dXJuIGxheWVyR3JvdXBzLnJlZHVjZShcbiAgICAoYWNjdSwgbGF5ZXIpID0+ICh7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW2xheWVyLnNsdWddOiBsYXllci5kZWZhdWx0VmlzaWJpbGl0eVxuICAgIH0pLFxuICAgIHt9XG4gICk7XG59XG5cbmNvbnN0IHJlc29sdmVyID0gKHtcbiAgaWQsXG4gIG1hcFN0eWxlLFxuICB2aXNpYmxlTGF5ZXJHcm91cHMgPSB7fVxufToge1xuICBpZD86IHN0cmluZztcbiAgbWFwU3R5bGU6IEJhc2VNYXBTdHlsZTtcbiAgdmlzaWJsZUxheWVyR3JvdXBzOiB7W2lkOiBzdHJpbmddOiBMYXllckdyb3VwIHwgYm9vbGVhbn0gfCBmYWxzZTtcbn0pID0+XG4gIGAke2lkfToke09iamVjdC5rZXlzKHZpc2libGVMYXllckdyb3VwcylcbiAgICAuZmlsdGVyKGQgPT4gdmlzaWJsZUxheWVyR3JvdXBzW2RdKVxuICAgIC5zb3J0KClcbiAgICAuam9pbignLScpfWA7XG5cbi8qKlxuICogRWRpdCBwcmVzZXQgbWFwIHN0eWxlIHRvIGtlZXAgb25seSB2aXNpYmxlIGxheWVyc1xuICpcbiAqIEBwYXJhbSBtYXBTdHlsZSAtIHByZXNldCBtYXAgc3R5bGVcbiAqIEBwYXJhbSB2aXNpYmxlTGF5ZXJHcm91cHMgLSB2aXNpYmxlIGxheWVycyBvZiB0b3AgbWFwXG4gKiBAcmV0dXJucyB0b3AgbWFwIHN0eWxlXG4gKi9cbmV4cG9ydCBjb25zdCBlZGl0VG9wTWFwU3R5bGUgPSBtZW1vaXplKFxuICAoe1xuICAgIGlkLFxuICAgIG1hcFN0eWxlLFxuICAgIHZpc2libGVMYXllckdyb3Vwc1xuICB9OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbWFwU3R5bGU6IEJhc2VNYXBTdHlsZTtcbiAgICB2aXNpYmxlTGF5ZXJHcm91cHM6IHtbaWQ6IHN0cmluZ106IExheWVyR3JvdXAgfCBib29sZWFufSB8IGZhbHNlO1xuICB9KSA9PiB7XG4gICAgY29uc3QgdmlzaWJsZUZpbHRlcnMgPSAobWFwU3R5bGUubGF5ZXJHcm91cHMgfHwgW10pXG4gICAgICAuZmlsdGVyKGxnID0+IHZpc2libGVMYXllckdyb3Vwc1tsZy5zbHVnXSlcbiAgICAgIC5tYXAobGcgPT4gbGcuZmlsdGVyKTtcblxuICAgIC8vIGlmIHRvcCBtYXBcbiAgICAvLyBrZWVwIG9ubHkgdmlzaWJsZSBsYXllcnNcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgY29uc3QgZmlsdGVyZWRMYXllcnMgPSBtYXBTdHlsZS5zdHlsZS5sYXllcnMuZmlsdGVyKGxheWVyID0+XG4gICAgICB2aXNpYmxlRmlsdGVycy5zb21lKG1hdGNoID0+IG1hdGNoKGxheWVyKSlcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm1hcFN0eWxlLnN0eWxlLFxuICAgICAgbGF5ZXJzOiBmaWx0ZXJlZExheWVyc1xuICAgIH07XG4gIH0sXG4gIHJlc29sdmVyXG4pO1xuXG4vKipcbiAqIEVkaXQgcHJlc2V0IG1hcCBzdHlsZSB0byBmaWx0ZXIgb3V0IGludmlzaWJsZSBsYXllcnNcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gbWFwU3R5bGUgLSBwcmVzZXQgbWFwIHN0eWxlXG4gKiBAcGFyYW0ge09iamVjdH0gdmlzaWJsZUxheWVyR3JvdXBzIC0gdmlzaWJsZSBsYXllcnMgb2YgYm90dG9tIG1hcFxuICogQHJldHVybnMge09iamVjdH0gYm90dG9tIG1hcCBzdHlsZVxuICovXG5leHBvcnQgY29uc3QgZWRpdEJvdHRvbU1hcFN0eWxlID0gbWVtb2l6ZSgoe2lkLCBtYXBTdHlsZSwgdmlzaWJsZUxheWVyR3JvdXBzfSkgPT4ge1xuICBpZiAoaWQgPT09IE5PX01BUF9JRCkge1xuICAgIHJldHVybiBFTVBUWV9NQVBCT1hfU1RZTEU7XG4gIH1cblxuICBjb25zdCBpbnZpc2libGVGaWx0ZXJzID0gKG1hcFN0eWxlLmxheWVyR3JvdXBzIHx8IFtdKVxuICAgIC5maWx0ZXIobGcgPT4gIXZpc2libGVMYXllckdyb3Vwc1tsZy5zbHVnXSlcbiAgICAubWFwKGxnID0+IGxnLmZpbHRlcik7XG5cbiAgLy8gaWYgYm90dG9tIG1hcFxuICAvLyBmaWx0ZXIgb3V0IGludmlzaWJsZSBsYXllcnNcbiAgY29uc3QgZmlsdGVyZWRMYXllcnMgPSBtYXBTdHlsZS5zdHlsZS5sYXllcnMuZmlsdGVyKGxheWVyID0+XG4gICAgaW52aXNpYmxlRmlsdGVycy5ldmVyeShtYXRjaCA9PiAhbWF0Y2gobGF5ZXIpKVxuICApO1xuXG4gIHJldHVybiB7XG4gICAgLi4ubWFwU3R5bGUuc3R5bGUsXG4gICAgbGF5ZXJzOiBmaWx0ZXJlZExheWVyc1xuICB9O1xufSwgcmVzb2x2ZXIpO1xuXG4vLyB2YWxpZCBzdHlsZSB1cmxcbi8vIG1hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jamZ5bDAza3AxdHVsMnNtZjV2MnRiZGQ0XG4vLyBsb3dlcmNhc2UgbGV0dGVycywgbnVtYmVycyBhbmQgZGFzaGVzIG9ubHkuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFN0eWxlVXJsKHVybCkge1xuICByZXR1cm4gdHlwZW9mIHVybCA9PT0gJ3N0cmluZycgJiYgQm9vbGVhbih1cmwubWF0Y2gobWFwVXJsUmcpIHx8IHVybC5tYXRjaChodHRwUmcpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0eWxlRG93bmxvYWRVcmwoc3R5bGVVcmwsIGFjY2Vzc1Rva2VuLCBtYXBib3hBcGlVcmwpIHtcbiAgaWYgKHN0eWxlVXJsLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xuICAgIHJldHVybiBzdHlsZVVybDtcbiAgfVxuXG4gIC8vIG1hcGJveDovL3N0eWxlcy9qY2tyL2NqaGNsMGx4djEzZGkycnBmb3l0ZGJkeWpcbiAgaWYgKHN0eWxlVXJsLnN0YXJ0c1dpdGgoJ21hcGJveDovL3N0eWxlcycpKSB7XG4gICAgY29uc3Qgc3R5bGVJZCA9IHN0eWxlVXJsLnJlcGxhY2UoJ21hcGJveDovL3N0eWxlcy8nLCAnJyk7XG5cbiAgICAvLyBodHRwczovL2FwaS5tYXBib3guY29tL3N0eWxlcy92MS9oZXNoYW4wMTMxL2NqZzFiZnVtbzFjd20ycmxyanhraW5mZ3c/cGx1Z2luTmFtZT1LZXBsZXJnbCZhY2Nlc3NfdG9rZW49PHRva2VuPlxuICAgIHJldHVybiBgJHttYXBib3hBcGlVcmwgfHxcbiAgICAgIERFRkFVTFRfTUFQQk9YX0FQSV9VUkx9L3N0eWxlcy92MS8ke3N0eWxlSWR9P3BsdWdpbk5hbWU9S2VwbGVyZ2wmYWNjZXNzX3Rva2VuPSR7YWNjZXNzVG9rZW59YDtcbiAgfVxuXG4gIC8vIHN0eWxlIHVybCBub3QgcmVjb2duaXplZFxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBzdGF0aWMgbWFwIGltYWdlIGZyb20gc3R5bGUgVXJsIHRvIGJlIHVzZWQgYXMgaWNvblxuICogQHBhcmFtIHBhcmFtXG4gKiBAcGFyYW0gcGFyYW0uc3R5bGVVcmxcbiAqIEBwYXJhbSBwYXJhbS5tYXBib3hBcGlBY2Nlc3NUb2tlblxuICogQHBhcmFtIHBhcmFtLm1hcGJveEFwaVVybFxuICogQHBhcmFtIHBhcmFtLm1hcFN0YXRlXG4gKiBAcGFyYW0gcGFyYW0ubWFwV1xuICogQHBhcmFtIHBhcmFtLm1hcEhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0eWxlSW1hZ2VJY29uKHtcbiAgc3R5bGVVcmwsXG4gIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICBtYXBib3hBcGlVcmwgPSBERUZBVUxUX01BUEJPWF9BUElfVVJMLFxuICBtYXBTdGF0ZSA9IHtcbiAgICBsb25naXR1ZGU6IC0xMjIuMzM5MSxcbiAgICBsYXRpdHVkZTogMzcuNzkyMixcbiAgICB6b29tOiA5XG4gIH0sXG4gIG1hcFcgPSA0MDAsXG4gIG1hcEggPSAzMDBcbn06IHtcbiAgc3R5bGVVcmw6IHN0cmluZztcbiAgbWFwYm94QXBpQWNjZXNzVG9rZW46IHN0cmluZztcbiAgbWFwYm94QXBpVXJsPzogc3RyaW5nO1xuICBtYXBTdGF0ZT86IFBhcnRpYWw8TWFwU3RhdGU+O1xuICBtYXBXPzogbnVtYmVyO1xuICBtYXBIPzogbnVtYmVyO1xufSkge1xuICBjb25zdCBzdHlsZUlkID0gc3R5bGVVcmwucmVwbGFjZSgnbWFwYm94Oi8vc3R5bGVzLycsICcnKTtcblxuICByZXR1cm4gKFxuICAgIGAke21hcGJveEFwaVVybH0vc3R5bGVzL3YxLyR7c3R5bGVJZH0vc3RhdGljL2AgK1xuICAgIGAke21hcFN0YXRlLmxvbmdpdHVkZX0sJHttYXBTdGF0ZS5sYXRpdHVkZX0sJHttYXBTdGF0ZS56b29tfSwwLDAvYCArXG4gICAgYCR7bWFwV314JHttYXBIfWAgK1xuICAgIGA/YWNjZXNzX3Rva2VuPSR7bWFwYm94QXBpQWNjZXNzVG9rZW59JmxvZ289ZmFsc2UmYXR0cmlidXRpb249ZmFsc2VgXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uKG1hcGJveFN0eWxlLCBzY2FsZSkge1xuICBpZiAoc2NhbGUgIT09IDEgJiYgbWFwYm94U3R5bGUpIHtcbiAgICBjb25zdCBsYWJlbExheWVyR3JvdXAgPSBERUZBVUxUX0xBWUVSX0dST1VQUy5maW5kKGxnID0+IGxnLnNsdWcgPT09ICdsYWJlbCcpO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCB7ZmlsdGVyOiBsYWJlbExheWVyRmlsdGVyfSA9IGxhYmVsTGF5ZXJHcm91cDtcbiAgICBjb25zdCB6b29tT2Zmc2V0ID0gTWF0aC5sb2cyKHNjYWxlKTtcblxuICAgIGNvbnN0IGNvcHlTdHlsZSA9IGNsb25kRGVlcChtYXBib3hTdHlsZSk7XG4gICAgKGNvcHlTdHlsZS5sYXllcnMgfHwgW10pLmZvckVhY2goZCA9PiB7XG4gICAgICAvLyBlZGl0IG1pbnpvb20gYW5kIG1heHpvb21cbiAgICAgIGlmIChkLm1heHpvb20pIHtcbiAgICAgICAgZC5tYXh6b29tID0gTWF0aC5tYXgoZC5tYXh6b29tICsgem9vbU9mZnNldCwgMSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChkLm1pbnpvb20pIHtcbiAgICAgICAgZC5taW56b29tID0gTWF0aC5tYXgoZC5taW56b29tICsgem9vbU9mZnNldCwgMSk7XG4gICAgICB9XG5cbiAgICAgIC8vIGVkaXQgdGV4dCBzaXplXG4gICAgICBpZiAobGFiZWxMYXllckZpbHRlcihkKSkge1xuICAgICAgICBpZiAoZC5sYXlvdXQgJiYgZC5sYXlvdXRbJ3RleHQtc2l6ZSddICYmIEFycmF5LmlzQXJyYXkoZC5sYXlvdXRbJ3RleHQtc2l6ZSddLnN0b3BzKSkge1xuICAgICAgICAgIGQubGF5b3V0Wyd0ZXh0LXNpemUnXS5zdG9wcy5mb3JFYWNoKHN0b3AgPT4ge1xuICAgICAgICAgICAgLy8gem9vbVxuICAgICAgICAgICAgc3RvcFswXSA9IE1hdGgubWF4KHN0b3BbMF0gKyB6b29tT2Zmc2V0LCAxKTtcbiAgICAgICAgICAgIC8vIHNpemVcbiAgICAgICAgICAgIHN0b3BbMV0gKj0gc2NhbGU7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBjb3B5U3R5bGU7XG4gIH1cblxuICByZXR1cm4gbWFwYm94U3R5bGU7XG59XG5cbi8qKlxuICogV2hlbiBzd2l0Y2ggdG8gYSBuZXcgc3R5bGUsIHRyeSB0byBrZWVwIGN1cnJlbnQgbGF5ZXIgZ3JvdXAgdmlzaWJpbGl0eVxuICogYnkgbWVyZ2luZyBkZWZhdWx0IGFuZCBjdXJyZW50XG4gKiBAcGFyYW0ge09iamVjdH0gZGVmYXVsdExheWVyR3JvdXBcbiAqIEBwYXJhbSB7T2JqZWN0fSBjdXJyZW50TGF5ZXJHcm91cFxuICogQHJldHVybiB7T2JqZWN0fSBtZXJnZWRMYXllckdyb3Vwc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VMYXllckdyb3VwVmlzaWJpbGl0eShkZWZhdWx0TGF5ZXJHcm91cCwgY3VycmVudExheWVyR3JvdXApIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGRlZmF1bHRMYXllckdyb3VwKS5yZWR1Y2UoXG4gICAgKGFjY3UsIGtleSkgPT4gKHtcbiAgICAgIC4uLmFjY3UsXG4gICAgICAuLi4oY3VycmVudExheWVyR3JvdXAuaGFzT3duUHJvcGVydHkoa2V5KSA/IHtba2V5XTogY3VycmVudExheWVyR3JvdXBba2V5XX0gOiB7fSlcbiAgICB9KSxcbiAgICBkZWZhdWx0TGF5ZXJHcm91cFxuICApO1xufVxuIl19
218
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAtc3R5bGUtdXRpbHMvbWFwYm94LWdsLXN0eWxlLWVkaXRvci50cyJdLCJuYW1lcyI6WyJtYXBVcmxSZyIsImh0dHBSZyIsImdldERlZmF1bHRMYXllckdyb3VwVmlzaWJpbGl0eSIsImxheWVyR3JvdXBzIiwicmVkdWNlIiwiYWNjdSIsImxheWVyIiwic2x1ZyIsImRlZmF1bHRWaXNpYmlsaXR5IiwicmVzb2x2ZXIiLCJpZCIsIm1hcFN0eWxlIiwidmlzaWJsZUxheWVyR3JvdXBzIiwiT2JqZWN0Iiwia2V5cyIsImZpbHRlciIsImQiLCJzb3J0Iiwiam9pbiIsImVkaXRUb3BNYXBTdHlsZSIsInZpc2libGVGaWx0ZXJzIiwibGciLCJtYXAiLCJmaWx0ZXJlZExheWVycyIsInN0eWxlIiwibGF5ZXJzIiwic29tZSIsIm1hdGNoIiwiZWRpdEJvdHRvbU1hcFN0eWxlIiwiTk9fTUFQX0lEIiwiRU1QVFlfTUFQQk9YX1NUWUxFIiwiaW52aXNpYmxlRmlsdGVycyIsImV2ZXJ5IiwiaXNWYWxpZFN0eWxlVXJsIiwidXJsIiwiQm9vbGVhbiIsImdldFN0eWxlRG93bmxvYWRVcmwiLCJzdHlsZVVybCIsImFjY2Vzc1Rva2VuIiwibWFwYm94QXBpVXJsIiwic3RhcnRzV2l0aCIsInN0eWxlSWQiLCJyZXBsYWNlIiwiREVGQVVMVF9NQVBCT1hfQVBJX1VSTCIsImdldFN0eWxlSW1hZ2VJY29uIiwibWFwYm94QXBpQWNjZXNzVG9rZW4iLCJtYXBTdGF0ZSIsImxvbmdpdHVkZSIsImxhdGl0dWRlIiwiem9vbSIsIm1hcFciLCJtYXBIIiwic2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbiIsIm1hcGJveFN0eWxlIiwic2NhbGUiLCJsYWJlbExheWVyR3JvdXAiLCJERUZBVUxUX0xBWUVSX0dST1VQUyIsImZpbmQiLCJsYWJlbExheWVyRmlsdGVyIiwiem9vbU9mZnNldCIsIk1hdGgiLCJsb2cyIiwiY29weVN0eWxlIiwiZm9yRWFjaCIsIm1heHpvb20iLCJtYXgiLCJtaW56b29tIiwibGF5b3V0IiwiQXJyYXkiLCJpc0FycmF5Iiwic3RvcHMiLCJzdG9wIiwibWVyZ2VMYXllckdyb3VwVmlzaWJpbGl0eSIsImRlZmF1bHRMYXllckdyb3VwIiwiY3VycmVudExheWVyR3JvdXAiLCJrZXkiLCJoYXNPd25Qcm9wZXJ0eSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7Ozs7O0FBUUEsSUFBTUEsUUFBUSxHQUFHLHdEQUFqQjtBQUNBLElBQU1DLE1BQU0sR0FBRyxxQkFBZjs7QUFFTyxTQUFTQyw4QkFBVCxPQUF5RjtBQUFBLDhCQUFoREMsV0FBZ0Q7QUFBQSxNQUFoREEsV0FBZ0QsaUNBQWxDLEVBQWtDO0FBQzlGLFNBQU9BLFdBQVcsQ0FBQ0MsTUFBWixDQUNMLFVBQUNDLElBQUQsRUFBT0MsS0FBUDtBQUFBLDJDQUNLRCxJQURMLDRDQUVHQyxLQUFLLENBQUNDLElBRlQsRUFFZ0JELEtBQUssQ0FBQ0UsaUJBRnRCO0FBQUEsR0FESyxFQUtMLEVBTEssQ0FBUDtBQU9EOztBQUVELElBQU1DLFFBQVEsR0FBRyxTQUFYQSxRQUFXO0FBQUEsTUFDZkMsRUFEZSxTQUNmQSxFQURlO0FBQUEsTUFFZkMsUUFGZSxTQUVmQSxRQUZlO0FBQUEsb0NBR2ZDLGtCQUhlO0FBQUEsTUFHZkEsa0JBSGUsc0NBR00sRUFITjtBQUFBLG1CQVNaRixFQVRZLGNBU05HLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZRixrQkFBWixFQUNORyxNQURNLENBQ0MsVUFBQUMsQ0FBQztBQUFBLFdBQUlKLGtCQUFrQixDQUFDSSxDQUFELENBQXRCO0FBQUEsR0FERixFQUVOQyxJQUZNLEdBR05DLElBSE0sQ0FHRCxHQUhDLENBVE07QUFBQSxDQUFqQjtBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxlQUFlLEdBQUcsd0JBQzdCLGlCQVFNO0FBQUEsTUFQSlQsRUFPSSxTQVBKQSxFQU9JO0FBQUEsTUFOSkMsUUFNSSxT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TSxJQUFJLENBQUMsQ0FBRCxDQUFKLEdBQVVaLFVBQW5CLEVBQStCLENBQS9CLENBQVYsQ0FGMEMsQ0FHMUM7O0FBQ0FZLFlBQUFBLElBQUksQ0FBQyxDQUFELENBQUosSUFBV2pCLEtBQVg7QUFDRCxXQUxEO0FBTUQ7QUFDRjtBQUNGLEtBckJEO0FBdUJBLFdBQU9RLFNBQVA7QUFDRDs7QUFFRCxTQUFPVCxXQUFQO0FBQ0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sU0FBU21CLHlCQUFULENBQW1DQyxpQkFBbkMsRUFBc0RDLGlCQUF0RCxFQUF5RTtBQUM5RSxTQUFPN0QsTUFBTSxDQUFDQyxJQUFQLENBQVkyRCxpQkFBWixFQUErQnJFLE1BQS9CLENBQ0wsVUFBQ0MsSUFBRCxFQUFPc0UsR0FBUDtBQUFBLDJDQUNLdEUsSUFETCxHQUVNcUUsaUJBQWlCLENBQUNFLGNBQWxCLENBQWlDRCxHQUFqQyx5Q0FBMENBLEdBQTFDLEVBQWdERCxpQkFBaUIsQ0FBQ0MsR0FBRCxDQUFqRSxJQUEwRSxFQUZoRjtBQUFBLEdBREssRUFLTEYsaUJBTEssQ0FBUDtBQU9EIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IG1lbW9pemUgZnJvbSAnbG9kYXNoLm1lbW9pemUnO1xuaW1wb3J0IGNsb25kRGVlcCBmcm9tICdsb2Rhc2guY2xvbmVkZWVwJztcbmltcG9ydCB7XG4gIERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICBERUZBVUxUX01BUEJPWF9BUElfVVJMLFxuICBOT19NQVBfSUQsXG4gIEVNUFRZX01BUEJPWF9TVFlMRVxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0Jhc2VNYXBTdHlsZSwgTGF5ZXJHcm91cCwgTWFwU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5jb25zdCBtYXBVcmxSZyA9IC9ebWFwYm94OlxcL1xcL3N0eWxlc1xcL1stYS16MC05XXsyLDI1Nn1cXC9bLWEtejAtOV17MiwyNTZ9LztcbmNvbnN0IGh0dHBSZyA9IC9eKD89KGh0dHA6fGh0dHBzOikpLztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRMYXllckdyb3VwVmlzaWJpbGl0eSh7bGF5ZXJHcm91cHMgPSBbXX06IHtsYXllckdyb3VwczogTGF5ZXJHcm91cFtdfSkge1xuICByZXR1cm4gbGF5ZXJHcm91cHMucmVkdWNlKFxuICAgIChhY2N1LCBsYXllcikgPT4gKHtcbiAgICAgIC4uLmFjY3UsXG4gICAgICBbbGF5ZXIuc2x1Z106IGxheWVyLmRlZmF1bHRWaXNpYmlsaXR5XG4gICAgfSksXG4gICAge31cbiAgKTtcbn1cblxuY29uc3QgcmVzb2x2ZXIgPSAoe1xuICBpZCxcbiAgbWFwU3R5bGUsXG4gIHZpc2libGVMYXllckdyb3VwcyA9IHt9XG59OiB7XG4gIGlkPzogc3RyaW5nO1xuICBtYXBTdHlsZTogQmFzZU1hcFN0eWxlO1xuICB2aXNpYmxlTGF5ZXJHcm91cHM6IHtbaWQ6IHN0cmluZ106IExheWVyR3JvdXAgfCBib29sZWFufSB8IGZhbHNlO1xufSkgPT5cbiAgYCR7aWR9OiR7T2JqZWN0LmtleXModmlzaWJsZUxheWVyR3JvdXBzKVxuICAgIC5maWx0ZXIoZCA9PiB2aXNpYmxlTGF5ZXJHcm91cHNbZF0pXG4gICAgLnNvcnQoKVxuICAgIC5qb2luKCctJyl9YDtcblxuLyoqXG4gKiBFZGl0IHByZXNldCBtYXAgc3R5bGUgdG8ga2VlcCBvbmx5IHZpc2libGUgbGF5ZXJzXG4gKlxuICogQHBhcmFtIG1hcFN0eWxlIC0gcHJlc2V0IG1hcCBzdHlsZVxuICogQHBhcmFtIHZpc2libGVMYXllckdyb3VwcyAtIHZpc2libGUgbGF5ZXJzIG9mIHRvcCBtYXBcbiAqIEByZXR1cm5zIHRvcCBtYXAgc3R5bGVcbiAqL1xuZXhwb3J0IGNvbnN0IGVkaXRUb3BNYXBTdHlsZSA9IG1lbW9pemUoXG4gICh7XG4gICAgaWQsXG4gICAgbWFwU3R5bGUsXG4gICAgdmlzaWJsZUxheWVyR3JvdXBzXG4gIH06IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBtYXBTdHlsZTogQmFzZU1hcFN0eWxlO1xuICAgIHZpc2libGVMYXllckdyb3Vwczoge1tpZDogc3RyaW5nXTogTGF5ZXJHcm91cCB8IGJvb2xlYW59IHwgZmFsc2U7XG4gIH0pID0+IHtcbiAgICBjb25zdCB2aXNpYmxlRmlsdGVycyA9IChtYXBTdHlsZS5sYXllckdyb3VwcyB8fCBbXSlcbiAgICAgIC5maWx0ZXIobGcgPT4gdmlzaWJsZUxheWVyR3JvdXBzW2xnLnNsdWddKVxuICAgICAgLm1hcChsZyA9PiBsZy5maWx0ZXIpO1xuXG4gICAgLy8gaWYgdG9wIG1hcFxuICAgIC8vIGtlZXAgb25seSB2aXNpYmxlIGxheWVyc1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBjb25zdCBmaWx0ZXJlZExheWVycyA9IG1hcFN0eWxlLnN0eWxlLmxheWVycy5maWx0ZXIobGF5ZXIgPT5cbiAgICAgIHZpc2libGVGaWx0ZXJzLnNvbWUobWF0Y2ggPT4gbWF0Y2gobGF5ZXIpKVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubWFwU3R5bGUuc3R5bGUsXG4gICAgICBsYXllcnM6IGZpbHRlcmVkTGF5ZXJzXG4gICAgfTtcbiAgfSxcbiAgcmVzb2x2ZXJcbik7XG5cbi8qKlxuICogRWRpdCBwcmVzZXQgbWFwIHN0eWxlIHRvIGZpbHRlciBvdXQgaW52aXNpYmxlIGxheWVyc1xuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBtYXBTdHlsZSAtIHByZXNldCBtYXAgc3R5bGVcbiAqIEBwYXJhbSB7T2JqZWN0fSB2aXNpYmxlTGF5ZXJHcm91cHMgLSB2aXNpYmxlIGxheWVycyBvZiBib3R0b20gbWFwXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBib3R0b20gbWFwIHN0eWxlXG4gKi9cbmV4cG9ydCBjb25zdCBlZGl0Qm90dG9tTWFwU3R5bGUgPSBtZW1vaXplKCh7aWQsIG1hcFN0eWxlLCB2aXNpYmxlTGF5ZXJHcm91cHN9KSA9PiB7XG4gIGlmIChpZCA9PT0gTk9fTUFQX0lEKSB7XG4gICAgcmV0dXJuIEVNUFRZX01BUEJPWF9TVFlMRTtcbiAgfVxuXG4gIGNvbnN0IGludmlzaWJsZUZpbHRlcnMgPSAobWFwU3R5bGUubGF5ZXJHcm91cHMgfHwgW10pXG4gICAgLmZpbHRlcihsZyA9PiAhdmlzaWJsZUxheWVyR3JvdXBzW2xnLnNsdWddKVxuICAgIC5tYXAobGcgPT4gbGcuZmlsdGVyKTtcblxuICAvLyBpZiBib3R0b20gbWFwXG4gIC8vIGZpbHRlciBvdXQgaW52aXNpYmxlIGxheWVyc1xuICBjb25zdCBmaWx0ZXJlZExheWVycyA9IG1hcFN0eWxlLnN0eWxlLmxheWVycy5maWx0ZXIobGF5ZXIgPT5cbiAgICBpbnZpc2libGVGaWx0ZXJzLmV2ZXJ5KG1hdGNoID0+ICFtYXRjaChsYXllcikpXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5tYXBTdHlsZS5zdHlsZSxcbiAgICBsYXllcnM6IGZpbHRlcmVkTGF5ZXJzXG4gIH07XG59LCByZXNvbHZlcik7XG5cbi8vIHZhbGlkIHN0eWxlIHVybFxuLy8gbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnlsMDNrcDF0dWwyc21mNXYydGJkZDRcbi8vIGxvd2VyY2FzZSBsZXR0ZXJzLCBudW1iZXJzIGFuZCBkYXNoZXMgb25seS5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkU3R5bGVVcmwodXJsKSB7XG4gIHJldHVybiB0eXBlb2YgdXJsID09PSAnc3RyaW5nJyAmJiBCb29sZWFuKHVybC5tYXRjaChtYXBVcmxSZykgfHwgdXJsLm1hdGNoKGh0dHBSZykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3R5bGVEb3dubG9hZFVybChzdHlsZVVybCwgYWNjZXNzVG9rZW4sIG1hcGJveEFwaVVybCkge1xuICBpZiAoc3R5bGVVcmwuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgcmV0dXJuIHN0eWxlVXJsO1xuICB9XG5cbiAgLy8gbWFwYm94Oi8vc3R5bGVzL2pja3IvY2poY2wwbHh2MTNkaTJycGZveXRkYmR5alxuICBpZiAoc3R5bGVVcmwuc3RhcnRzV2l0aCgnbWFwYm94Oi8vc3R5bGVzJykpIHtcbiAgICBjb25zdCBzdHlsZUlkID0gc3R5bGVVcmwucmVwbGFjZSgnbWFwYm94Oi8vc3R5bGVzLycsICcnKTtcblxuICAgIC8vIGh0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL2hlc2hhbjAxMzEvY2pnMWJmdW1vMWN3bTJybHJqeGtpbmZndz9wbHVnaW5OYW1lPUtlcGxlcmdsJmFjY2Vzc190b2tlbj08dG9rZW4+XG4gICAgcmV0dXJuIGAke21hcGJveEFwaVVybCB8fFxuICAgICAgREVGQVVMVF9NQVBCT1hfQVBJX1VSTH0vc3R5bGVzL3YxLyR7c3R5bGVJZH0/cGx1Z2luTmFtZT1LZXBsZXJnbCZhY2Nlc3NfdG9rZW49JHthY2Nlc3NUb2tlbn1gO1xuICB9XG5cbiAgLy8gc3R5bGUgdXJsIG5vdCByZWNvZ25pemVkXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIHN0YXRpYyBtYXAgaW1hZ2UgZnJvbSBzdHlsZSBVcmwgdG8gYmUgdXNlZCBhcyBpY29uXG4gKiBAcGFyYW0gcGFyYW1cbiAqIEBwYXJhbSBwYXJhbS5zdHlsZVVybFxuICogQHBhcmFtIHBhcmFtLm1hcGJveEFwaUFjY2Vzc1Rva2VuXG4gKiBAcGFyYW0gcGFyYW0ubWFwYm94QXBpVXJsXG4gKiBAcGFyYW0gcGFyYW0ubWFwU3RhdGVcbiAqIEBwYXJhbSBwYXJhbS5tYXBXXG4gKiBAcGFyYW0gcGFyYW0ubWFwSFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3R5bGVJbWFnZUljb24oe1xuICBzdHlsZVVybCxcbiAgbWFwYm94QXBpQWNjZXNzVG9rZW4sXG4gIG1hcGJveEFwaVVybCA9IERFRkFVTFRfTUFQQk9YX0FQSV9VUkwsXG4gIG1hcFN0YXRlID0ge1xuICAgIGxvbmdpdHVkZTogLTEyMi4zMzkxLFxuICAgIGxhdGl0dWRlOiAzNy43OTIyLFxuICAgIHpvb206IDlcbiAgfSxcbiAgbWFwVyA9IDQwMCxcbiAgbWFwSCA9IDMwMFxufToge1xuICBzdHlsZVVybDogc3RyaW5nO1xuICBtYXBib3hBcGlBY2Nlc3NUb2tlbjogc3RyaW5nO1xuICBtYXBib3hBcGlVcmw/OiBzdHJpbmc7XG4gIG1hcFN0YXRlPzogUGFydGlhbDxNYXBTdGF0ZT47XG4gIG1hcFc/OiBudW1iZXI7XG4gIG1hcEg/OiBudW1iZXI7XG59KSB7XG4gIGNvbnN0IHN0eWxlSWQgPSBzdHlsZVVybC5yZXBsYWNlKCdtYXBib3g6Ly9zdHlsZXMvJywgJycpO1xuXG4gIHJldHVybiAoXG4gICAgYCR7bWFwYm94QXBpVXJsfS9zdHlsZXMvdjEvJHtzdHlsZUlkfS9zdGF0aWMvYCArXG4gICAgYCR7bWFwU3RhdGUubG9uZ2l0dWRlfSwke21hcFN0YXRlLmxhdGl0dWRlfSwke21hcFN0YXRlLnpvb219LDAsMC9gICtcbiAgICBgJHttYXBXfXgke21hcEh9YCArXG4gICAgYD9hY2Nlc3NfdG9rZW49JHttYXBib3hBcGlBY2Nlc3NUb2tlbn0mbG9nbz1mYWxzZSZhdHRyaWJ1dGlvbj1mYWxzZWBcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24obWFwYm94U3R5bGUsIHNjYWxlKSB7XG4gIGlmIChzY2FsZSAhPT0gMSAmJiBtYXBib3hTdHlsZSkge1xuICAgIGNvbnN0IGxhYmVsTGF5ZXJHcm91cCA9IERFRkFVTFRfTEFZRVJfR1JPVVBTLmZpbmQobGcgPT4gbGcuc2x1ZyA9PT0gJ2xhYmVsJyk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHtmaWx0ZXI6IGxhYmVsTGF5ZXJGaWx0ZXJ9ID0gbGFiZWxMYXllckdyb3VwO1xuICAgIGNvbnN0IHpvb21PZmZzZXQgPSBNYXRoLmxvZzIoc2NhbGUpO1xuXG4gICAgY29uc3QgY29weVN0eWxlID0gY2xvbmREZWVwKG1hcGJveFN0eWxlKTtcbiAgICAoY29weVN0eWxlLmxheWVycyB8fCBbXSkuZm9yRWFjaChkID0+IHtcbiAgICAgIC8vIGVkaXQgbWluem9vbSBhbmQgbWF4em9vbVxuICAgICAgaWYgKGQubWF4em9vbSkge1xuICAgICAgICBkLm1heHpvb20gPSBNYXRoLm1heChkLm1heHpvb20gKyB6b29tT2Zmc2V0LCAxKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGQubWluem9vbSkge1xuICAgICAgICBkLm1pbnpvb20gPSBNYXRoLm1heChkLm1pbnpvb20gKyB6b29tT2Zmc2V0LCAxKTtcbiAgICAgIH1cblxuICAgICAgLy8gZWRpdCB0ZXh0IHNpemVcbiAgICAgIGlmIChsYWJlbExheWVyRmlsdGVyKGQpKSB7XG4gICAgICAgIGlmIChkLmxheW91dCAmJiBkLmxheW91dFsndGV4dC1zaXplJ10gJiYgQXJyYXkuaXNBcnJheShkLmxheW91dFsndGV4dC1zaXplJ10uc3RvcHMpKSB7XG4gICAgICAgICAgZC5sYXlvdXRbJ3RleHQtc2l6ZSddLnN0b3BzLmZvckVhY2goc3RvcCA9PiB7XG4gICAgICAgICAgICAvLyB6b29tXG4gICAgICAgICAgICBzdG9wWzBdID0gTWF0aC5tYXgoc3RvcFswXSArIHpvb21PZmZzZXQsIDEpO1xuICAgICAgICAgICAgLy8gc2l6ZVxuICAgICAgICAgICAgc3RvcFsxXSAqPSBzY2FsZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvcHlTdHlsZTtcbiAgfVxuXG4gIHJldHVybiBtYXBib3hTdHlsZTtcbn1cblxuLyoqXG4gKiBXaGVuIHN3aXRjaCB0byBhIG5ldyBzdHlsZSwgdHJ5IHRvIGtlZXAgY3VycmVudCBsYXllciBncm91cCB2aXNpYmlsaXR5XG4gKiBieSBtZXJnaW5nIGRlZmF1bHQgYW5kIGN1cnJlbnRcbiAqIEBwYXJhbSB7T2JqZWN0fSBkZWZhdWx0TGF5ZXJHcm91cFxuICogQHBhcmFtIHtPYmplY3R9IGN1cnJlbnRMYXllckdyb3VwXG4gKiBAcmV0dXJuIHtPYmplY3R9IG1lcmdlZExheWVyR3JvdXBzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUxheWVyR3JvdXBWaXNpYmlsaXR5KGRlZmF1bHRMYXllckdyb3VwLCBjdXJyZW50TGF5ZXJHcm91cCkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoZGVmYXVsdExheWVyR3JvdXApLnJlZHVjZShcbiAgICAoYWNjdSwga2V5KSA9PiAoe1xuICAgICAgLi4uYWNjdSxcbiAgICAgIC4uLihjdXJyZW50TGF5ZXJHcm91cC5oYXNPd25Qcm9wZXJ0eShrZXkpID8ge1trZXldOiBjdXJyZW50TGF5ZXJHcm91cFtrZXldfSA6IHt9KVxuICAgIH0pLFxuICAgIGRlZmF1bHRMYXllckdyb3VwXG4gICk7XG59XG4iXX0=
@@ -1,30 +1,15 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  Object.defineProperty(exports, "__esModule", {
24
4
  value: true
25
5
  });
26
6
  exports.isStyleUsingMapboxTiles = isStyleUsingMapboxTiles;
27
- exports.transformRequest = void 0;/**
7
+ exports.transformRequest = void 0;
8
+
9
+ // SPDX-License-Identifier: MIT
10
+ // Copyright contributors to the kepler.gl project
11
+
12
+ /**
28
13
  * Determines whether a Map Style is using Mapbox Tiles
29
14
  * @param {any} mapStyle the mapStyle to check
30
15
  * @returns true if the style is using Mapbox tiles
@@ -60,4 +45,4 @@ var transformRequest = function transformRequest(url) {
60
45
  };
61
46
 
62
47
  exports.transformRequest = transformRequest;
63
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAtc3R5bGUtdXRpbHMvbWFwYm94LXV0aWxzLnRzIl0sIm5hbWVzIjpbImlzU3R5bGVVc2luZ01hcGJveFRpbGVzIiwibWFwU3R5bGUiLCJzb3VyY2VzIiwic3R5bGVzaGVldCIsIk9iamVjdCIsImtleXMiLCJzb21lIiwic291cmNlSWQiLCJ1cmwiLCJ0aWxlcyIsInRvTG93ZXJDYXNlIiwic3RhcnRzV2l0aCIsInRpbGVVcmwiLCJ0cmFuc2Zvcm1SZXF1ZXN0IiwiaXNNYXBib3hSZXF1ZXN0Iiwic2xpY2UiLCJyZXBsYWNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQSx1QkFBVCxDQUFpQ0MsUUFBakMsRUFBMkM7QUFBQTs7QUFDaEQsTUFBTUMsT0FBTyxHQUFHLHlCQUFBRCxRQUFRLENBQUNFLFVBQVQsOEVBQXFCRCxPQUFyQixLQUFnQyxFQUFoRDtBQUVBLFNBQU9FLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZSCxPQUFaLEVBQXFCSSxJQUFyQixDQUEwQixVQUFBQyxRQUFRLEVBQUk7QUFBQSxlQUN0QkwsT0FBTyxDQUFDSyxRQUFELENBQVAsSUFBcUIsRUFEQztBQUFBLFFBQ3BDQyxHQURvQyxRQUNwQ0EsR0FEb0M7QUFBQSxRQUMvQkMsS0FEK0IsUUFDL0JBLEtBRCtCOztBQUczQyxRQUFJRCxHQUFKLEVBQVM7QUFDUCxhQUFPQSxHQUFHLENBQUNFLFdBQUosR0FBa0JDLFVBQWxCLENBQTZCLFdBQTdCLENBQVA7QUFDRDs7QUFFRCxRQUFJRixLQUFKLEVBQVc7QUFDVCxhQUFPQSxLQUFLLENBQUNILElBQU4sQ0FBVyxVQUFBTSxPQUFPO0FBQUEsZUFBSUEsT0FBTyxDQUFDRixXQUFSLEdBQXNCQyxVQUF0QixDQUFpQyxXQUFqQyxDQUFKO0FBQUEsT0FBbEIsQ0FBUDtBQUNEOztBQUVELFdBQU8sS0FBUDtBQUNELEdBWk0sQ0FBUDtBQWFEOztBQUVNLElBQU1FLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBbUIsQ0FBQ0wsR0FBRCxFQUFnQztBQUM5RCxNQUFNTSxlQUFlLEdBQ25CTixHQUFHLENBQUNPLEtBQUosQ0FBVSxDQUFWLEVBQWEsRUFBYixNQUFxQixnQkFBckIsSUFBeUNQLEdBQUcsQ0FBQ08sS0FBSixDQUFVLEVBQVYsRUFBYyxFQUFkLE1BQXNCLGtCQURqRTtBQUdBLFNBQU87QUFDTFAsSUFBQUEsR0FBRyxFQUFFTSxlQUFlLEdBQUdOLEdBQUcsQ0FBQ1EsT0FBSixDQUFZLEdBQVosRUFBaUIsdUJBQWpCLENBQUgsR0FBK0NSO0FBRDlELEdBQVA7QUFHRCxDQVBNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBNYXAgU3R5bGUgaXMgdXNpbmcgTWFwYm94IFRpbGVzXG4gKiBAcGFyYW0ge2FueX0gbWFwU3R5bGUgdGhlIG1hcFN0eWxlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBzdHlsZSBpcyB1c2luZyBNYXBib3ggdGlsZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3R5bGVVc2luZ01hcGJveFRpbGVzKG1hcFN0eWxlKSB7XG4gIGNvbnN0IHNvdXJjZXMgPSBtYXBTdHlsZS5zdHlsZXNoZWV0Py5zb3VyY2VzIHx8IHt9O1xuXG4gIHJldHVybiBPYmplY3Qua2V5cyhzb3VyY2VzKS5zb21lKHNvdXJjZUlkID0+IHtcbiAgICBjb25zdCB7dXJsLCB0aWxlc30gPSBzb3VyY2VzW3NvdXJjZUlkXSB8fCB7fTtcblxuICAgIGlmICh1cmwpIHtcbiAgICAgIHJldHVybiB1cmwudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdtYXBib3g6Ly8nKTtcbiAgICB9XG5cbiAgICBpZiAodGlsZXMpIHtcbiAgICAgIHJldHVybiB0aWxlcy5zb21lKHRpbGVVcmwgPT4gdGlsZVVybC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ21hcGJveDovLycpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtUmVxdWVzdCA9ICh1cmw6IHN0cmluZyk6IHt1cmw6IHN0cmluZ30gPT4ge1xuICBjb25zdCBpc01hcGJveFJlcXVlc3QgPVxuICAgIHVybC5zbGljZSg4LCAyMikgPT09ICdhcGkubWFwYm94LmNvbScgfHwgdXJsLnNsaWNlKDEwLCAyNikgPT09ICd0aWxlcy5tYXBib3guY29tJztcblxuICByZXR1cm4ge1xuICAgIHVybDogaXNNYXBib3hSZXF1ZXN0ID8gdXJsLnJlcGxhY2UoJz8nLCAnP3BsdWdpbk5hbWU9S2VwbGVyZ2wmJykgOiB1cmxcbiAgfTtcbn07XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAtc3R5bGUtdXRpbHMvbWFwYm94LXV0aWxzLnRzIl0sIm5hbWVzIjpbImlzU3R5bGVVc2luZ01hcGJveFRpbGVzIiwibWFwU3R5bGUiLCJzb3VyY2VzIiwic3R5bGVzaGVldCIsIk9iamVjdCIsImtleXMiLCJzb21lIiwic291cmNlSWQiLCJ1cmwiLCJ0aWxlcyIsInRvTG93ZXJDYXNlIiwic3RhcnRzV2l0aCIsInRpbGVVcmwiLCJ0cmFuc2Zvcm1SZXF1ZXN0IiwiaXNNYXBib3hSZXF1ZXN0Iiwic2xpY2UiLCJyZXBsYWNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNBLHVCQUFULENBQWlDQyxRQUFqQyxFQUEyQztBQUFBOztBQUNoRCxNQUFNQyxPQUFPLEdBQUcseUJBQUFELFFBQVEsQ0FBQ0UsVUFBVCw4RUFBcUJELE9BQXJCLEtBQWdDLEVBQWhEO0FBRUEsU0FBT0UsTUFBTSxDQUFDQyxJQUFQLENBQVlILE9BQVosRUFBcUJJLElBQXJCLENBQTBCLFVBQUFDLFFBQVEsRUFBSTtBQUFBLGVBQ3RCTCxPQUFPLENBQUNLLFFBQUQsQ0FBUCxJQUFxQixFQURDO0FBQUEsUUFDcENDLEdBRG9DLFFBQ3BDQSxHQURvQztBQUFBLFFBQy9CQyxLQUQrQixRQUMvQkEsS0FEK0I7O0FBRzNDLFFBQUlELEdBQUosRUFBUztBQUNQLGFBQU9BLEdBQUcsQ0FBQ0UsV0FBSixHQUFrQkMsVUFBbEIsQ0FBNkIsV0FBN0IsQ0FBUDtBQUNEOztBQUVELFFBQUlGLEtBQUosRUFBVztBQUNULGFBQU9BLEtBQUssQ0FBQ0gsSUFBTixDQUFXLFVBQUFNLE9BQU87QUFBQSxlQUFJQSxPQUFPLENBQUNGLFdBQVIsR0FBc0JDLFVBQXRCLENBQWlDLFdBQWpDLENBQUo7QUFBQSxPQUFsQixDQUFQO0FBQ0Q7O0FBRUQsV0FBTyxLQUFQO0FBQ0QsR0FaTSxDQUFQO0FBYUQ7O0FBRU0sSUFBTUUsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUFDTCxHQUFELEVBQWdDO0FBQzlELE1BQU1NLGVBQWUsR0FDbkJOLEdBQUcsQ0FBQ08sS0FBSixDQUFVLENBQVYsRUFBYSxFQUFiLE1BQXFCLGdCQUFyQixJQUF5Q1AsR0FBRyxDQUFDTyxLQUFKLENBQVUsRUFBVixFQUFjLEVBQWQsTUFBc0Isa0JBRGpFO0FBR0EsU0FBTztBQUNMUCxJQUFBQSxHQUFHLEVBQUVNLGVBQWUsR0FBR04sR0FBRyxDQUFDUSxPQUFKLENBQVksR0FBWixFQUFpQix1QkFBakIsQ0FBSCxHQUErQ1I7QUFEOUQsR0FBUDtBQUdELENBUE0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIE1hcCBTdHlsZSBpcyB1c2luZyBNYXBib3ggVGlsZXNcbiAqIEBwYXJhbSB7YW55fSBtYXBTdHlsZSB0aGUgbWFwU3R5bGUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIHN0eWxlIGlzIHVzaW5nIE1hcGJveCB0aWxlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTdHlsZVVzaW5nTWFwYm94VGlsZXMobWFwU3R5bGUpIHtcbiAgY29uc3Qgc291cmNlcyA9IG1hcFN0eWxlLnN0eWxlc2hlZXQ/LnNvdXJjZXMgfHwge307XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKHNvdXJjZXMpLnNvbWUoc291cmNlSWQgPT4ge1xuICAgIGNvbnN0IHt1cmwsIHRpbGVzfSA9IHNvdXJjZXNbc291cmNlSWRdIHx8IHt9O1xuXG4gICAgaWYgKHVybCkge1xuICAgICAgcmV0dXJuIHVybC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ21hcGJveDovLycpO1xuICAgIH1cblxuICAgIGlmICh0aWxlcykge1xuICAgICAgcmV0dXJuIHRpbGVzLnNvbWUodGlsZVVybCA9PiB0aWxlVXJsLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnbWFwYm94Oi8vJykpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1SZXF1ZXN0ID0gKHVybDogc3RyaW5nKToge3VybDogc3RyaW5nfSA9PiB7XG4gIGNvbnN0IGlzTWFwYm94UmVxdWVzdCA9XG4gICAgdXJsLnNsaWNlKDgsIDIyKSA9PT0gJ2FwaS5tYXBib3guY29tJyB8fCB1cmwuc2xpY2UoMTAsIDI2KSA9PT0gJ3RpbGVzLm1hcGJveC5jb20nO1xuXG4gIHJldHVybiB7XG4gICAgdXJsOiBpc01hcGJveFJlcXVlc3QgPyB1cmwucmVwbGFjZSgnPycsICc/cGx1Z2luTmFtZT1LZXBsZXJnbCYnKSA6IHVybFxuICB9O1xufTtcbiJdfQ==