@carto/kepler.gl 0.0.75-alpha.deckv9.1 → 0.0.75-alpha.deckv9.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.
- package/dist/actions/action-wrapper.js +3 -3
- package/dist/components/common/checkbox.js +4 -4
- package/dist/components/common/data-table/grid.js +3 -3
- package/dist/components/common/data-table/index.js +6 -6
- package/dist/components/common/item-selector/item-selector.js +3 -3
- package/dist/components/common/portaled.js +6 -6
- package/dist/components/common/time-range-slider.js +3 -3
- package/dist/components/container.js +4 -4
- package/dist/components/editor/editor.js +6 -6
- package/dist/components/editor/feature-styles.js +3 -3
- package/dist/components/editor/handle-style.js +3 -3
- package/dist/components/filters/filter-panels/polygon-filter-panel.js +4 -4
- package/dist/components/modal-container.js +3 -3
- package/dist/components/modals/image-modal-container.js +4 -4
- package/dist/components/modals/load-data-modal.js +3 -3
- package/dist/components/notification-panel/notification-item.js +5 -5
- package/dist/components/notification-panel.js +5 -5
- package/dist/components/plot-container.js +3 -3
- package/dist/components/side-panel/filter-panel/filter-panel.js +7 -7
- package/dist/components/side-panel/interaction-panel/interaction-panel.js +5 -5
- package/dist/components/side-panel/layer-panel/color-range-selector.js +4 -4
- package/dist/components/side-panel/panel-header.js +6 -6
- package/dist/components/side-panel/side-bar.js +6 -6
- package/dist/components/side-panel.js +3 -3
- package/dist/constants/default-settings.js +1 -1
- package/dist/deckgl-layers/layer-utils/cluster-utils.js +3 -3
- package/dist/layers/aggregation-layer.js +4 -4
- package/dist/layers/base-layer.js +2 -2
- package/dist/layers/geojson-layer/geojson-layer.js +3 -3
- package/dist/layers/heatmap-layer/heatmap-layer.js +3 -3
- package/dist/layers/layer-text-label.js +2 -2
- package/dist/layers/trip-layer/trip-layer.js +5 -5
- package/dist/reducers/map-style-updaters.js +3 -3
- package/dist/reducers/vis-state-merger.js +6 -6
- package/dist/reducers/vis-state-updaters.js +13 -13
- package/dist/schemas/dataset-schema.js +4 -4
- package/dist/schemas/vis-state-schema.js +7 -7
- package/dist/utils/dataset-utils.js +3 -3
- package/dist/utils/export-utils.js +3 -3
- package/dist/utils/filter-utils.js +7 -7
- package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +6 -6
- package/dist/utils/observe-dimensions.js +3 -3
- package/dist/utils/split-map-utils.js +3 -3
- package/package.json +2 -13
- package/src/actions/action-wrapper.js +1 -1
- package/src/components/common/checkbox.js +1 -1
- package/src/components/common/data-table/grid.js +1 -1
- package/src/components/common/data-table/index.js +2 -2
- package/src/components/common/item-selector/item-selector.js +1 -1
- package/src/components/common/portaled.js +2 -2
- package/src/components/common/time-range-slider.js +1 -1
- package/src/components/container.js +1 -1
- package/src/components/editor/editor.js +1 -1
- package/src/components/editor/feature-styles.js +1 -1
- package/src/components/editor/handle-style.js +1 -1
- package/src/components/filters/filter-panels/polygon-filter-panel.js +1 -1
- package/src/components/modal-container.js +1 -1
- package/src/components/modals/image-modal-container.js +1 -1
- package/src/components/modals/load-data-modal.js +1 -1
- package/src/components/plot-container.js +1 -1
- package/src/components/side-panel/filter-panel/filter-panel.js +1 -1
- package/src/components/side-panel/layer-panel/color-range-selector.js +1 -1
- package/src/components/side-panel.js +1 -1
- package/src/deckgl-layers/layer-utils/cluster-utils.js +1 -1
- package/src/layers/aggregation-layer.js +1 -1
- package/src/layers/base-layer.js +1 -1
- package/src/layers/geojson-layer/geojson-layer.js +1 -1
- package/src/layers/heatmap-layer/heatmap-layer.js +1 -1
- package/src/layers/layer-text-label.js +1 -1
- package/src/layers/trip-layer/trip-layer.js +2 -2
- package/src/reducers/map-style-updaters.js +1 -1
- package/src/reducers/vis-state-merger.js +3 -3
- package/src/reducers/vis-state-updaters.js +4 -4
- package/src/schemas/dataset-schema.js +1 -1
- package/src/schemas/vis-state-schema.js +2 -2
- package/src/utils/dataset-utils.js +1 -1
- package/src/utils/export-utils.js +1 -1
- package/src/utils/filter-utils.js +2 -2
- package/src/utils/map-style-utils/mapbox-gl-style-editor.js +3 -3
- package/src/utils/observe-dimensions.js +1 -1
- package/src/utils/split-map-utils.js +1 -1
|
@@ -25,7 +25,7 @@ var _window = require("global/window");
|
|
|
25
25
|
var _defaultSettings = require("../constants/default-settings");
|
|
26
26
|
var _exportMapHtml = require("../templates/export-map-html");
|
|
27
27
|
var _dataProcessor = require("../processors/data-processor");
|
|
28
|
-
var
|
|
28
|
+
var _get = _interopRequireDefault(require("lodash/get"));
|
|
29
29
|
var _utils = require("./utils");
|
|
30
30
|
var _dataContainerUtils = require("./table-utils/data-container-utils");
|
|
31
31
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -174,7 +174,7 @@ function getMapJSON(state) {
|
|
|
174
174
|
}
|
|
175
175
|
var mapToSave = schema.save(state);
|
|
176
176
|
// add file name if title is not provided
|
|
177
|
-
var title = (0,
|
|
177
|
+
var title = (0, _get["default"])(mapToSave, ['info', 'title']);
|
|
178
178
|
if (!title || !title.length) {
|
|
179
179
|
mapToSave = (0, _utils.set)(['info', 'title'], "keplergl_".concat((0, _utils.generateHashId)(6)), mapToSave);
|
|
180
180
|
}
|
|
@@ -257,4 +257,4 @@ var exporters = {
|
|
|
257
257
|
exportData: exportData
|
|
258
258
|
};
|
|
259
259
|
var _default = exports["default"] = exporters;
|
|
260
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZG9tVG9JbWFnZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3dpbmRvdyIsIl9kZWZhdWx0U2V0dGluZ3MiLCJfZXhwb3J0TWFwSHRtbCIsIl9kYXRhUHJvY2Vzc29yIiwiX2xvZGFzaCIsIl91dGlscyIsIl9kYXRhQ29udGFpbmVyVXRpbHMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIkRFRkFVTFRfSU1BR0VfTkFNRSIsImV4cG9ydHMiLCJERUZBVUxUX0hUTUxfTkFNRSIsIkRFRkFVTFRfSlNPTl9OQU1FIiwiREVGQVVMVF9EQVRBX05BTUUiLCJERUZBVUxUX0VYUE9SVF9KU09OX1NFVFRJTkdTIiwiaGFzRGF0YSIsImRlZmF1bHRSZXNvbHV0aW9uIiwiRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlMiLCJmaW5kIiwib3AiLCJpZCIsIlJFU09MVVRJT05TIiwiT05FX1giLCJkZWZhdWx0UmF0aW8iLCJFWFBPUlRfSU1HX1JBVElPX09QVElPTlMiLCJFWFBPUlRfSU1HX1JBVElPUyIsIkZPVVJfQllfVEhSRUUiLCJpc01TRWRnZSIsIndpbmRvdyIsIkJvb2xlYW4iLCJuYXZpZ2F0b3IiLCJtc1NhdmVPck9wZW5CbG9iIiwiZ2V0U2NhbGVGcm9tSW1hZ2VTaXplIiwiaW1hZ2VXIiwidW5kZWZpbmVkIiwiaW1hZ2VIIiwibWFwVyIsIm1hcEgiLCJzb21lIiwiZCIsImJhc2UiLCJtYXBCYXNlIiwiY2FsY3VsYXRlRXhwb3J0SW1hZ2VTaXplIiwiX3JlZiIsInJhdGlvIiwicmVzb2x1dGlvbiIsInJhdGlvSXRlbSIsInJlc29sdXRpb25JdGVtIiwiX3Jlc29sdXRpb25JdGVtJGdldFNpIiwiZ2V0U2l6ZSIsInNjYWxlZFdpZHRoIiwid2lkdGgiLCJzY2FsZWRIZWlnaHQiLCJoZWlnaHQiLCJfcmF0aW9JdGVtJGdldFNpemUiLCJfcmVmMiIsIkNVU1RPTSIsInNjYWxlIiwiY29udmVydFRvUG5nIiwic291cmNlRWxlbSIsIm9wdGlvbnMiLCJkb210b2ltYWdlIiwidG9QbmciLCJkYXRhVVJJdG9CbG9iIiwiZGF0YVVSSSIsImJpbmFyeSIsImF0b2IiLCJzcGxpdCIsIm1pbWVTdHJpbmciLCJhYiIsIkFycmF5QnVmZmVyIiwiaWEiLCJVaW50OEFycmF5IiwiaSIsImNoYXJDb2RlQXQiLCJCbG9iIiwidHlwZSIsImRvd25sb2FkRmlsZSIsImZpbGVCbG9iIiwiZmlsZU5hbWUiLCJ1cmwiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJsaW5rIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlIiwiYm9keSIsImFwcGVuZENoaWxkIiwiY2xpY2siLCJyZW1vdmVDaGlsZCIsInJldm9rZU9iamVjdFVSTCIsImV4cG9ydEltYWdlIiwic3RhdGUiLCJmaWxlbmFtZSIsImltYWdlRGF0YVVyaSIsInVpU3RhdGUiLCJmaWxlIiwiZXhwb3J0VG9Kc29uU3RyaW5nIiwiZGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiLCJkZXNjcmlwdGlvbiIsImdldE1hcEpTT04iLCJzY2hlbWEiLCJ2aXNTdGF0ZSIsImdldENvbmZpZ1RvU2F2ZSIsIm1hcFRvU2F2ZSIsInNhdmUiLCJ0aXRsZSIsImdldCIsInNldCIsImNvbmNhdCIsImdlbmVyYXRlSGFzaElkIiwiZXhwb3J0SnNvbiIsIm1hcCIsImFwcE5hbWUiLCJleHBvcnRIdG1sIiwidXNlck1hcGJveFRva2VuIiwiZXhwb3J0TWFwYm94QWNjZXNzVG9rZW4iLCJtb2RlIiwibWFwYm94QXBpQWNjZXNzVG9rZW4iLCJleHBvcnRNYXBUb0hUTUwiLCJleHBvcnREYXRhIiwib3B0aW9uIiwiZGF0YXNldHMiLCJzZWxlY3RlZERhdGFzZXQiLCJkYXRhVHlwZSIsImZpbHRlcmVkIiwic2VsZWN0ZWREYXRhc2V0cyIsInZhbHVlcyIsInNlbGVjdGVkRGF0YSIsImRhdGFDb250YWluZXIiLCJmaWVsZHMiLCJsYWJlbCIsIl9zZWxlY3RlZERhdGEkZmlsdGVyZSIsImZpbHRlcmVkSWR4Q1BVIiwidG9FeHBvcnQiLCJjcmVhdGVJbmRleGVkRGF0YUNvbnRhaW5lciIsIkVYUE9SVF9EQVRBX1RZUEUiLCJDU1YiLCJjc3YiLCJmb3JtYXRDc3YiLCJleHBvcnRNYXAiLCJ0aHVtYm5haWwiLCJleHBvcnRlcnMiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9leHBvcnQtdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuLy8gQHRzLW5vY2hlY2tcbmltcG9ydCBkb210b2ltYWdlIGZyb20gJ3V0aWxzL2RvbS10by1pbWFnZSc7XG5pbXBvcnQge0Jsb2IsIFVSTCwgYXRvYiwgVWludDhBcnJheSwgQXJyYXlCdWZmZXIsIGRvY3VtZW50fSBmcm9tICdnbG9iYWwvd2luZG93JztcbmltcG9ydCB7XG4gIEVYUE9SVF9JTUdfUkVTT0xVVElPTl9PUFRJT05TLFxuICBFWFBPUlRfSU1HX1JBVElPX09QVElPTlMsXG4gIFJFU09MVVRJT05TLFxuICBFWFBPUlRfSU1HX1JBVElPUyxcbiAgRVhQT1JUX0RBVEFfVFlQRVxufSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQge2V4cG9ydE1hcFRvSFRNTH0gZnJvbSAndGVtcGxhdGVzL2V4cG9ydC1tYXAtaHRtbCc7XG5pbXBvcnQge2Zvcm1hdENzdn0gZnJvbSAncHJvY2Vzc29ycy9kYXRhLXByb2Nlc3Nvcic7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC5nZXQnO1xuaW1wb3J0IHtzZXQsIGdlbmVyYXRlSGFzaElkfSBmcm9tICd1dGlscy91dGlscyc7XG5cbmltcG9ydCB7Y3JlYXRlSW5kZXhlZERhdGFDb250YWluZXJ9IGZyb20gJy4vdGFibGUtdXRpbHMvZGF0YS1jb250YWluZXItdXRpbHMnO1xuXG4vKipcbiAqIERlZmF1bHQgZmlsZSBuYW1lc1xuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTUFHRV9OQU1FID0gJ2tlcGxlci5nbC5wbmcnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSFRNTF9OQU1FID0gJ2tlcGxlci5nbC5odG1sJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0pTT05fTkFNRSA9ICdrZXBsZXIuZ2wuanNvbic7XG5leHBvcnQgY29uc3QgREVGQVVMVF9EQVRBX05BTUUgPSAna2VwbGVyLmdsJztcblxuLyoqXG4gKiBEZWZhdWx0IGpzb24gZXhwb3J0IHNldHRpbmdzXG4gKiBAdHlwZSB7e2hhc0RhdGE6IGJvb2xlYW59fVxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9FWFBPUlRfSlNPTl9TRVRUSU5HUyA9IHtcbiAgaGFzRGF0YTogdHJ1ZVxufTtcblxuY29uc3QgZGVmYXVsdFJlc29sdXRpb24gPSBFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUy5maW5kKG9wID0+IG9wLmlkID09PSBSRVNPTFVUSU9OUy5PTkVfWCk7XG5cbmNvbnN0IGRlZmF1bHRSYXRpbyA9IEVYUE9SVF9JTUdfUkFUSU9fT1BUSU9OUy5maW5kKG9wID0+IG9wLmlkID09PSBFWFBPUlRfSU1HX1JBVElPUy5GT1VSX0JZX1RIUkVFKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTVNFZGdlKHdpbmRvdykge1xuICByZXR1cm4gQm9vbGVhbih3aW5kb3cubmF2aWdhdG9yICYmIHdpbmRvdy5uYXZpZ2F0b3IubXNTYXZlT3JPcGVuQmxvYik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY2FsZUZyb21JbWFnZVNpemUoaW1hZ2VXID0gMCwgaW1hZ2VIID0gMCwgbWFwVyA9IDAsIG1hcEggPSAwKSB7XG4gIGlmIChbaW1hZ2VXLCBpbWFnZUgsIG1hcFcsIG1hcEhdLnNvbWUoZCA9PiBkIDw9IDApKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICBjb25zdCBiYXNlID0gaW1hZ2VXIC8gaW1hZ2VIID4gMSA/IGltYWdlVyA6IGltYWdlSDtcbiAgY29uc3QgbWFwQmFzZSA9IGltYWdlVyAvIGltYWdlSCA+IDEgPyBtYXBXIDogbWFwSDtcbiAgcmV0dXJuIGJhc2UgLyBtYXBCYXNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlRXhwb3J0SW1hZ2VTaXplKHttYXBXLCBtYXBILCByYXRpbywgcmVzb2x1dGlvbn0pIHtcbiAgaWYgKG1hcFcgPD0gMCB8fCBtYXBIIDw9IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHJhdGlvSXRlbSA9IEVYUE9SVF9JTUdfUkFUSU9fT1BUSU9OUy5maW5kKG9wID0+IG9wLmlkID09PSByYXRpbykgfHwgZGVmYXVsdFJhdGlvO1xuXG4gIGNvbnN0IHJlc29sdXRpb25JdGVtID1cbiAgICBFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUy5maW5kKG9wID0+IG9wLmlkID09PSByZXNvbHV0aW9uKSB8fCBkZWZhdWx0UmVzb2x1dGlvbjtcblxuICBjb25zdCB7d2lkdGg6IHNjYWxlZFdpZHRoLCBoZWlnaHQ6IHNjYWxlZEhlaWdodH0gPSByZXNvbHV0aW9uSXRlbS5nZXRTaXplKG1hcFcsIG1hcEgpO1xuXG4gIGNvbnN0IHt3aWR0aDogaW1hZ2VXLCBoZWlnaHQ6IGltYWdlSH0gPSByYXRpb0l0ZW0uZ2V0U2l6ZShzY2FsZWRXaWR0aCwgc2NhbGVkSGVpZ2h0KTtcblxuICBjb25zdCB7c2NhbGV9ID0gcmF0aW9JdGVtLmlkID09PSBFWFBPUlRfSU1HX1JBVElPUy5DVVNUT00gPyB7fSA6IHJlc29sdXRpb25JdGVtO1xuXG4gIHJldHVybiB7XG4gICAgc2NhbGUsXG4gICAgaW1hZ2VXLFxuICAgIGltYWdlSFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRvUG5nKHNvdXJjZUVsZW0sIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGRvbXRvaW1hZ2UudG9Qbmcoc291cmNlRWxlbSwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhVVJJdG9CbG9iKGRhdGFVUkkpIHtcbiAgY29uc3QgYmluYXJ5ID0gYXRvYihkYXRhVVJJLnNwbGl0KCcsJylbMV0pO1xuXG4gIC8vIHNlcGFyYXRlIG91dCB0aGUgbWltZSBjb21wb25lbnRcbiAgY29uc3QgbWltZVN0cmluZyA9IGRhdGFVUklcbiAgICAuc3BsaXQoJywnKVswXVxuICAgIC5zcGxpdCgnOicpWzFdXG4gICAgLnNwbGl0KCc7JylbMF07XG5cbiAgLy8gd3JpdGUgdGhlIGJ5dGVzIG9mIHRoZSBzdHJpbmcgdG8gYW4gQXJyYXlCdWZmZXJcbiAgY29uc3QgYWIgPSBuZXcgQXJyYXlCdWZmZXIoYmluYXJ5Lmxlbmd0aCk7XG5cbiAgLy8gY3JlYXRlIGEgdmlldyBpbnRvIHRoZSBidWZmZXJcbiAgY29uc3QgaWEgPSBuZXcgVWludDhBcnJheShhYik7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBiaW5hcnkubGVuZ3RoOyBpKyspIHtcbiAgICBpYVtpXSA9IGJpbmFyeS5jaGFyQ29kZUF0KGkpO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBCbG9iKFthYl0sIHt0eXBlOiBtaW1lU3RyaW5nfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkb3dubG9hZEZpbGUoZmlsZUJsb2IsIGZpbGVOYW1lKSB7XG4gIGlmIChpc01TRWRnZSh3aW5kb3cpKSB7XG4gICAgd2luZG93Lm5hdmlnYXRvci5tc1NhdmVPck9wZW5CbG9iKGZpbGVCbG9iLCBmaWxlTmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlQmxvYik7XG5cbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGxpbmsuc2V0QXR0cmlidXRlKCdocmVmJywgdXJsKTtcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlTmFtZSk7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgIGxpbmsuY2xpY2soKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhwb3J0SW1hZ2Uoc3RhdGUsIGZpbGVuYW1lID0gREVGQVVMVF9JTUFHRV9OQU1FKSB7XG4gIGNvbnN0IHtpbWFnZURhdGFVcml9ID0gc3RhdGUudWlTdGF0ZS5leHBvcnRJbWFnZTtcbiAgaWYgKGltYWdlRGF0YVVyaSkge1xuICAgIGNvbnN0IGZpbGUgPSBkYXRhVVJJdG9CbG9iKGltYWdlRGF0YVVyaSk7XG4gICAgZG93bmxvYWRGaWxlKGZpbGUsIGZpbGVuYW1lKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhwb3J0VG9Kc29uU3RyaW5nKGRhdGEpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZS5kZXNjcmlwdGlvbjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFwSlNPTihzdGF0ZSwgb3B0aW9ucyA9IERFRkFVTFRfRVhQT1JUX0pTT05fU0VUVElOR1MpIHtcbiAgY29uc3Qge2hhc0RhdGF9ID0gb3B0aW9ucztcbiAgY29uc3Qgc2NoZW1hID0gc3RhdGUudmlzU3RhdGUuc2NoZW1hO1xuXG4gIGlmICghaGFzRGF0YSkge1xuICAgIHJldHVybiBzY2hlbWEuZ2V0Q29uZmlnVG9TYXZlKHN0YXRlKTtcbiAgfVxuXG4gIGxldCBtYXBUb1NhdmUgPSBzY2hlbWEuc2F2ZShzdGF0ZSk7XG4gIC8vIGFkZCBmaWxlIG5hbWUgaWYgdGl0bGUgaXMgbm90IHByb3ZpZGVkXG4gIGNvbnN0IHRpdGxlID0gZ2V0KG1hcFRvU2F2ZSwgWydpbmZvJywgJ3RpdGxlJ10pO1xuICBpZiAoIXRpdGxlIHx8ICF0aXRsZS5sZW5ndGgpIHtcbiAgICBtYXBUb1NhdmUgPSBzZXQoWydpbmZvJywgJ3RpdGxlJ10sIGBrZXBsZXJnbF8ke2dlbmVyYXRlSGFzaElkKDYpfWAsIG1hcFRvU2F2ZSk7XG4gIH1cbiAgcmV0dXJuIG1hcFRvU2F2ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cG9ydEpzb24oc3RhdGUsIG9wdGlvbnMgPSB7fSkge1xuICBjb25zdCBtYXAgPSBnZXRNYXBKU09OKHN0YXRlLCBvcHRpb25zKTtcblxuICBjb25zdCBmaWxlQmxvYiA9IG5ldyBCbG9iKFtleHBvcnRUb0pzb25TdHJpbmcobWFwKV0sIHt0eXBlOiAnYXBwbGljYXRpb24vanNvbid9KTtcbiAgY29uc3QgZmlsZU5hbWUgPSBzdGF0ZS5hcHBOYW1lID8gYCR7c3RhdGUuYXBwTmFtZX0uanNvbmAgOiBERUZBVUxUX0pTT05fTkFNRTtcbiAgZG93bmxvYWRGaWxlKGZpbGVCbG9iLCBmaWxlTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHBvcnRIdG1sKHN0YXRlLCBvcHRpb25zKSB7XG4gIGNvbnN0IHt1c2VyTWFwYm94VG9rZW4sIGV4cG9ydE1hcGJveEFjY2Vzc1Rva2VuLCBtb2RlfSA9IG9wdGlvbnM7XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICAuLi5nZXRNYXBKU09OKHN0YXRlKSxcbiAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbjpcbiAgICAgICh1c2VyTWFwYm94VG9rZW4gfHwgJycpICE9PSAnJyA/IHVzZXJNYXBib3hUb2tlbiA6IGV4cG9ydE1hcGJveEFjY2Vzc1Rva2VuLFxuICAgIG1vZGVcbiAgfTtcblxuICBjb25zdCBmaWxlQmxvYiA9IG5ldyBCbG9iKFtleHBvcnRNYXBUb0hUTUwoZGF0YSldLCB7dHlwZTogJ3RleHQvaHRtbCd9KTtcbiAgZG93bmxvYWRGaWxlKGZpbGVCbG9iLCBzdGF0ZS5hcHBOYW1lID8gYCR7c3RhdGUuYXBwTmFtZX0uaHRtbGAgOiBERUZBVUxUX0hUTUxfTkFNRSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHBvcnREYXRhKHN0YXRlLCBvcHRpb24pIHtcbiAgY29uc3Qge3Zpc1N0YXRlLCBhcHBOYW1lfSA9IHN0YXRlO1xuICBjb25zdCB7ZGF0YXNldHN9ID0gdmlzU3RhdGU7XG4gIGNvbnN0IHtzZWxlY3RlZERhdGFzZXQsIGRhdGFUeXBlLCBmaWx0ZXJlZH0gPSBvcHRpb247XG4gIC8vIGdldCB0aGUgc2VsZWN0ZWQgZGF0YVxuICBjb25zdCBmaWxlbmFtZSA9IGFwcE5hbWUgPyBhcHBOYW1lIDogREVGQVVMVF9EQVRBX05BTUU7XG4gIGNvbnN0IHNlbGVjdGVkRGF0YXNldHMgPSBkYXRhc2V0c1tzZWxlY3RlZERhdGFzZXRdXG4gICAgPyBbZGF0YXNldHNbc2VsZWN0ZWREYXRhc2V0XV1cbiAgICA6IE9iamVjdC52YWx1ZXMoZGF0YXNldHMpO1xuICBpZiAoIXNlbGVjdGVkRGF0YXNldHMubGVuZ3RoKSB7XG4gICAgLy8gZXJyb3I6IHNlbGVjdGVkIGRhdGFzZXQgbm90IGZvdW5kLlxuICAgIHJldHVybjtcbiAgfVxuXG4gIHNlbGVjdGVkRGF0YXNldHMuZm9yRWFjaChzZWxlY3RlZERhdGEgPT4ge1xuICAgIGNvbnN0IHtkYXRhQ29udGFpbmVyLCBmaWVsZHMsIGxhYmVsLCBmaWx0ZXJlZElkeENQVSA9IFtdfSA9IHNlbGVjdGVkRGF0YTtcbiAgICBjb25zdCB0b0V4cG9ydCA9IGZpbHRlcmVkXG4gICAgICA/IGNyZWF0ZUluZGV4ZWREYXRhQ29udGFpbmVyKGRhdGFDb250YWluZXIsIGZpbHRlcmVkSWR4Q1BVKVxuICAgICAgOiBkYXRhQ29udGFpbmVyO1xuXG4gICAgLy8gc3RhcnQgdG8gZXhwb3J0IGRhdGEgYWNjb3JkaW5nIHRvIHNlbGVjdGVkIGRhdGEgdHlwZVxuICAgIHN3aXRjaCAoZGF0YVR5cGUpIHtcbiAgICAgIGNhc2UgRVhQT1JUX0RBVEFfVFlQRS5DU1Y6IHtcbiAgICAgICAgY29uc3QgY3N2ID0gZm9ybWF0Q3N2KHRvRXhwb3J0LCBmaWVsZHMpO1xuXG4gICAgICAgIGNvbnN0IGZpbGVCbG9iID0gbmV3IEJsb2IoW2Nzdl0sIHt0eXBlOiAndGV4dC9jc3YnfSk7XG4gICAgICAgIGRvd25sb2FkRmlsZShmaWxlQmxvYiwgYCR7ZmlsZW5hbWV9XyR7bGFiZWx9LmNzdmApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIC8vIFRPRE86IHN1cHBvcnQgbW9yZSBmaWxlIHR5cGVzLlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cG9ydE1hcChzdGF0ZSwgb3B0aW9uKSB7XG4gIGNvbnN0IHtpbWFnZURhdGFVcml9ID0gc3RhdGUudWlTdGF0ZS5leHBvcnRJbWFnZTtcbiAgY29uc3QgdGh1bWJuYWlsID0gaW1hZ2VEYXRhVXJpID8gZGF0YVVSSXRvQmxvYihpbWFnZURhdGFVcmkpIDogbnVsbDtcbiAgY29uc3QgbWFwVG9TYXZlID0gZ2V0TWFwSlNPTihzdGF0ZSwgb3B0aW9uKTtcblxuICByZXR1cm4ge1xuICAgIG1hcDogbWFwVG9TYXZlLFxuICAgIHRodW1ibmFpbFxuICB9O1xufVxuXG5jb25zdCBleHBvcnRlcnMgPSB7XG4gIGV4cG9ydEltYWdlLFxuICBleHBvcnRKc29uLFxuICBleHBvcnRIdG1sLFxuICBleHBv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
|
|
260
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZG9tVG9JbWFnZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3dpbmRvdyIsIl9kZWZhdWx0U2V0dGluZ3MiLCJfZXhwb3J0TWFwSHRtbCIsIl9kYXRhUHJvY2Vzc29yIiwiX2dldCIsIl91dGlscyIsIl9kYXRhQ29udGFpbmVyVXRpbHMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIkRFRkFVTFRfSU1BR0VfTkFNRSIsImV4cG9ydHMiLCJERUZBVUxUX0hUTUxfTkFNRSIsIkRFRkFVTFRfSlNPTl9OQU1FIiwiREVGQVVMVF9EQVRBX05BTUUiLCJERUZBVUxUX0VYUE9SVF9KU09OX1NFVFRJTkdTIiwiaGFzRGF0YSIsImRlZmF1bHRSZXNvbHV0aW9uIiwiRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlMiLCJmaW5kIiwib3AiLCJpZCIsIlJFU09MVVRJT05TIiwiT05FX1giLCJkZWZhdWx0UmF0aW8iLCJFWFBPUlRfSU1HX1JBVElPX09QVElPTlMiLCJFWFBPUlRfSU1HX1JBVElPUyIsIkZPVVJfQllfVEhSRUUiLCJpc01TRWRnZSIsIndpbmRvdyIsIkJvb2xlYW4iLCJuYXZpZ2F0b3IiLCJtc1NhdmVPck9wZW5CbG9iIiwiZ2V0U2NhbGVGcm9tSW1hZ2VTaXplIiwiaW1hZ2VXIiwidW5kZWZpbmVkIiwiaW1hZ2VIIiwibWFwVyIsIm1hcEgiLCJzb21lIiwiZCIsImJhc2UiLCJtYXBCYXNlIiwiY2FsY3VsYXRlRXhwb3J0SW1hZ2VTaXplIiwiX3JlZiIsInJhdGlvIiwicmVzb2x1dGlvbiIsInJhdGlvSXRlbSIsInJlc29sdXRpb25JdGVtIiwiX3Jlc29sdXRpb25JdGVtJGdldFNpIiwiZ2V0U2l6ZSIsInNjYWxlZFdpZHRoIiwid2lkdGgiLCJzY2FsZWRIZWlnaHQiLCJoZWlnaHQiLCJfcmF0aW9JdGVtJGdldFNpemUiLCJfcmVmMiIsIkNVU1RPTSIsInNjYWxlIiwiY29udmVydFRvUG5nIiwic291cmNlRWxlbSIsIm9wdGlvbnMiLCJkb210b2ltYWdlIiwidG9QbmciLCJkYXRhVVJJdG9CbG9iIiwiZGF0YVVSSSIsImJpbmFyeSIsImF0b2IiLCJzcGxpdCIsIm1pbWVTdHJpbmciLCJhYiIsIkFycmF5QnVmZmVyIiwiaWEiLCJVaW50OEFycmF5IiwiaSIsImNoYXJDb2RlQXQiLCJCbG9iIiwidHlwZSIsImRvd25sb2FkRmlsZSIsImZpbGVCbG9iIiwiZmlsZU5hbWUiLCJ1cmwiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJsaW5rIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlIiwiYm9keSIsImFwcGVuZENoaWxkIiwiY2xpY2siLCJyZW1vdmVDaGlsZCIsInJldm9rZU9iamVjdFVSTCIsImV4cG9ydEltYWdlIiwic3RhdGUiLCJmaWxlbmFtZSIsImltYWdlRGF0YVVyaSIsInVpU3RhdGUiLCJmaWxlIiwiZXhwb3J0VG9Kc29uU3RyaW5nIiwiZGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiLCJkZXNjcmlwdGlvbiIsImdldE1hcEpTT04iLCJzY2hlbWEiLCJ2aXNTdGF0ZSIsImdldENvbmZpZ1RvU2F2ZSIsIm1hcFRvU2F2ZSIsInNhdmUiLCJ0aXRsZSIsImdldCIsInNldCIsImNvbmNhdCIsImdlbmVyYXRlSGFzaElkIiwiZXhwb3J0SnNvbiIsIm1hcCIsImFwcE5hbWUiLCJleHBvcnRIdG1sIiwidXNlck1hcGJveFRva2VuIiwiZXhwb3J0TWFwYm94QWNjZXNzVG9rZW4iLCJtb2RlIiwibWFwYm94QXBpQWNjZXNzVG9rZW4iLCJleHBvcnRNYXBUb0hUTUwiLCJleHBvcnREYXRhIiwib3B0aW9uIiwiZGF0YXNldHMiLCJzZWxlY3RlZERhdGFzZXQiLCJkYXRhVHlwZSIsImZpbHRlcmVkIiwic2VsZWN0ZWREYXRhc2V0cyIsInZhbHVlcyIsInNlbGVjdGVkRGF0YSIsImRhdGFDb250YWluZXIiLCJmaWVsZHMiLCJsYWJlbCIsIl9zZWxlY3RlZERhdGEkZmlsdGVyZSIsImZpbHRlcmVkSWR4Q1BVIiwidG9FeHBvcnQiLCJjcmVhdGVJbmRleGVkRGF0YUNvbnRhaW5lciIsIkVYUE9SVF9EQVRBX1RZUEUiLCJDU1YiLCJjc3YiLCJmb3JtYXRDc3YiLCJleHBvcnRNYXAiLCJ0aHVtYm5haWwiLCJleHBvcnRlcnMiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9leHBvcnQtdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuLy8gQHRzLW5vY2hlY2tcbmltcG9ydCBkb210b2ltYWdlIGZyb20gJ3V0aWxzL2RvbS10by1pbWFnZSc7XG5pbXBvcnQge0Jsb2IsIFVSTCwgYXRvYiwgVWludDhBcnJheSwgQXJyYXlCdWZmZXIsIGRvY3VtZW50fSBmcm9tICdnbG9iYWwvd2luZG93JztcbmltcG9ydCB7XG4gIEVYUE9SVF9JTUdfUkVTT0xVVElPTl9PUFRJT05TLFxuICBFWFBPUlRfSU1HX1JBVElPX09QVElPTlMsXG4gIFJFU09MVVRJT05TLFxuICBFWFBPUlRfSU1HX1JBVElPUyxcbiAgRVhQT1JUX0RBVEFfVFlQRVxufSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQge2V4cG9ydE1hcFRvSFRNTH0gZnJvbSAndGVtcGxhdGVzL2V4cG9ydC1tYXAtaHRtbCc7XG5pbXBvcnQge2Zvcm1hdENzdn0gZnJvbSAncHJvY2Vzc29ycy9kYXRhLXByb2Nlc3Nvcic7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuaW1wb3J0IHtzZXQsIGdlbmVyYXRlSGFzaElkfSBmcm9tICd1dGlscy91dGlscyc7XG5cbmltcG9ydCB7Y3JlYXRlSW5kZXhlZERhdGFDb250YWluZXJ9IGZyb20gJy4vdGFibGUtdXRpbHMvZGF0YS1jb250YWluZXItdXRpbHMnO1xuXG4vKipcbiAqIERlZmF1bHQgZmlsZSBuYW1lc1xuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTUFHRV9OQU1FID0gJ2tlcGxlci5nbC5wbmcnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSFRNTF9OQU1FID0gJ2tlcGxlci5nbC5odG1sJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0pTT05fTkFNRSA9ICdrZXBsZXIuZ2wuanNvbic7XG5leHBvcnQgY29uc3QgREVGQVVMVF9EQVRBX05BTUUgPSAna2VwbGVyLmdsJztcblxuLyoqXG4gKiBEZWZhdWx0IGpzb24gZXhwb3J0IHNldHRpbmdzXG4gKiBAdHlwZSB7e2hhc0RhdGE6IGJvb2xlYW59fVxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9FWFBPUlRfSlNPTl9TRVRUSU5HUyA9IHtcbiAgaGFzRGF0YTogdHJ1ZVxufTtcblxuY29uc3QgZGVmYXVsdFJlc29sdXRpb24gPSBFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUy5maW5kKG9wID0+IG9wLmlkID09PSBSRVNPTFVUSU9OUy5PTkVfWCk7XG5cbmNvbnN0IGRlZmF1bHRSYXRpbyA9IEVYUE9SVF9JTUdfUkFUSU9fT1BUSU9OUy5maW5kKG9wID0+IG9wLmlkID09PSBFWFBPUlRfSU1HX1JBVElPUy5GT1VSX0JZX1RIUkVFKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTVNFZGdlKHdpbmRvdykge1xuICByZXR1cm4gQm9vbGVhbih3aW5kb3cubmF2aWdhdG9yICYmIHdpbmRvdy5uYXZpZ2F0b3IubXNTYXZlT3JPcGVuQmxvYik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY2FsZUZyb21JbWFnZVNpemUoaW1hZ2VXID0gMCwgaW1hZ2VIID0gMCwgbWFwVyA9IDAsIG1hcEggPSAwKSB7XG4gIGlmIChbaW1hZ2VXLCBpbWFnZUgsIG1hcFcsIG1hcEhdLnNvbWUoZCA9PiBkIDw9IDApKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICBjb25zdCBiYXNlID0gaW1hZ2VXIC8gaW1hZ2VIID4gMSA/IGltYWdlVyA6IGltYWdlSDtcbiAgY29uc3QgbWFwQmFzZSA9IGltYWdlVyAvIGltYWdlSCA+IDEgPyBtYXBXIDogbWFwSDtcbiAgcmV0dXJuIGJhc2UgLyBtYXBCYXNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlRXhwb3J0SW1hZ2VTaXplKHttYXBXLCBtYXBILCByYXRpbywgcmVzb2x1dGlvbn0pIHtcbiAgaWYgKG1hcFcgPD0gMCB8fCBtYXBIIDw9IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHJhdGlvSXRlbSA9IEVYUE9SVF9JTUdfUkFUSU9fT1BUSU9OUy5maW5kKG9wID0+IG9wLmlkID09PSByYXRpbykgfHwgZGVmYXVsdFJhdGlvO1xuXG4gIGNvbnN0IHJlc29sdXRpb25JdGVtID1cbiAgICBFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUy5maW5kKG9wID0+IG9wLmlkID09PSByZXNvbHV0aW9uKSB8fCBkZWZhdWx0UmVzb2x1dGlvbjtcblxuICBjb25zdCB7d2lkdGg6IHNjYWxlZFdpZHRoLCBoZWlnaHQ6IHNjYWxlZEhlaWdodH0gPSByZXNvbHV0aW9uSXRlbS5nZXRTaXplKG1hcFcsIG1hcEgpO1xuXG4gIGNvbnN0IHt3aWR0aDogaW1hZ2VXLCBoZWlnaHQ6IGltYWdlSH0gPSByYXRpb0l0ZW0uZ2V0U2l6ZShzY2FsZWRXaWR0aCwgc2NhbGVkSGVpZ2h0KTtcblxuICBjb25zdCB7c2NhbGV9ID0gcmF0aW9JdGVtLmlkID09PSBFWFBPUlRfSU1HX1JBVElPUy5DVVNUT00gPyB7fSA6IHJlc29sdXRpb25JdGVtO1xuXG4gIHJldHVybiB7XG4gICAgc2NhbGUsXG4gICAgaW1hZ2VXLFxuICAgIGltYWdlSFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRvUG5nKHNvdXJjZUVsZW0sIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGRvbXRvaW1hZ2UudG9Qbmcoc291cmNlRWxlbSwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhVVJJdG9CbG9iKGRhdGFVUkkpIHtcbiAgY29uc3QgYmluYXJ5ID0gYXRvYihkYXRhVVJJLnNwbGl0KCcsJylbMV0pO1xuXG4gIC8vIHNlcGFyYXRlIG91dCB0aGUgbWltZSBjb21wb25lbnRcbiAgY29uc3QgbWltZVN0cmluZyA9IGRhdGFVUklcbiAgICAuc3BsaXQoJywnKVswXVxuICAgIC5zcGxpdCgnOicpWzFdXG4gICAgLnNwbGl0KCc7JylbMF07XG5cbiAgLy8gd3JpdGUgdGhlIGJ5dGVzIG9mIHRoZSBzdHJpbmcgdG8gYW4gQXJyYXlCdWZmZXJcbiAgY29uc3QgYWIgPSBuZXcgQXJyYXlCdWZmZXIoYmluYXJ5Lmxlbmd0aCk7XG5cbiAgLy8gY3JlYXRlIGEgdmlldyBpbnRvIHRoZSBidWZmZXJcbiAgY29uc3QgaWEgPSBuZXcgVWludDhBcnJheShhYik7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBiaW5hcnkubGVuZ3RoOyBpKyspIHtcbiAgICBpYVtpXSA9IGJpbmFyeS5jaGFyQ29kZUF0KGkpO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBCbG9iKFthYl0sIHt0eXBlOiBtaW1lU3RyaW5nfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkb3dubG9hZEZpbGUoZmlsZUJsb2IsIGZpbGVOYW1lKSB7XG4gIGlmIChpc01TRWRnZSh3aW5kb3cpKSB7XG4gICAgd2luZG93Lm5hdmlnYXRvci5tc1NhdmVPck9wZW5CbG9iKGZpbGVCbG9iLCBmaWxlTmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlQmxvYik7XG5cbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGxpbmsuc2V0QXR0cmlidXRlKCdocmVmJywgdXJsKTtcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlTmFtZSk7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgIGxpbmsuY2xpY2soKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhwb3J0SW1hZ2Uoc3RhdGUsIGZpbGVuYW1lID0gREVGQVVMVF9JTUFHRV9OQU1FKSB7XG4gIGNvbnN0IHtpbWFnZURhdGFVcml9ID0gc3RhdGUudWlTdGF0ZS5leHBvcnRJbWFnZTtcbiAgaWYgKGltYWdlRGF0YVVyaSkge1xuICAgIGNvbnN0IGZpbGUgPSBkYXRhVVJJdG9CbG9iKGltYWdlRGF0YVVyaSk7XG4gICAgZG93bmxvYWRGaWxlKGZpbGUsIGZpbGVuYW1lKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhwb3J0VG9Kc29uU3RyaW5nKGRhdGEpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZS5kZXNjcmlwdGlvbjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFwSlNPTihzdGF0ZSwgb3B0aW9ucyA9IERFRkFVTFRfRVhQT1JUX0pTT05fU0VUVElOR1MpIHtcbiAgY29uc3Qge2hhc0RhdGF9ID0gb3B0aW9ucztcbiAgY29uc3Qgc2NoZW1hID0gc3RhdGUudmlzU3RhdGUuc2NoZW1hO1xuXG4gIGlmICghaGFzRGF0YSkge1xuICAgIHJldHVybiBzY2hlbWEuZ2V0Q29uZmlnVG9TYXZlKHN0YXRlKTtcbiAgfVxuXG4gIGxldCBtYXBUb1NhdmUgPSBzY2hlbWEuc2F2ZShzdGF0ZSk7XG4gIC8vIGFkZCBmaWxlIG5hbWUgaWYgdGl0bGUgaXMgbm90IHByb3ZpZGVkXG4gIGNvbnN0IHRpdGxlID0gZ2V0KG1hcFRvU2F2ZSwgWydpbmZvJywgJ3RpdGxlJ10pO1xuICBpZiAoIXRpdGxlIHx8ICF0aXRsZS5sZW5ndGgpIHtcbiAgICBtYXBUb1NhdmUgPSBzZXQoWydpbmZvJywgJ3RpdGxlJ10sIGBrZXBsZXJnbF8ke2dlbmVyYXRlSGFzaElkKDYpfWAsIG1hcFRvU2F2ZSk7XG4gIH1cbiAgcmV0dXJuIG1hcFRvU2F2ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cG9ydEpzb24oc3RhdGUsIG9wdGlvbnMgPSB7fSkge1xuICBjb25zdCBtYXAgPSBnZXRNYXBKU09OKHN0YXRlLCBvcHRpb25zKTtcblxuICBjb25zdCBmaWxlQmxvYiA9IG5ldyBCbG9iKFtleHBvcnRUb0pzb25TdHJpbmcobWFwKV0sIHt0eXBlOiAnYXBwbGljYXRpb24vanNvbid9KTtcbiAgY29uc3QgZmlsZU5hbWUgPSBzdGF0ZS5hcHBOYW1lID8gYCR7c3RhdGUuYXBwTmFtZX0uanNvbmAgOiBERUZBVUxUX0pTT05fTkFNRTtcbiAgZG93bmxvYWRGaWxlKGZpbGVCbG9iLCBmaWxlTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHBvcnRIdG1sKHN0YXRlLCBvcHRpb25zKSB7XG4gIGNvbnN0IHt1c2VyTWFwYm94VG9rZW4sIGV4cG9ydE1hcGJveEFjY2Vzc1Rva2VuLCBtb2RlfSA9IG9wdGlvbnM7XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICAuLi5nZXRNYXBKU09OKHN0YXRlKSxcbiAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbjpcbiAgICAgICh1c2VyTWFwYm94VG9rZW4gfHwgJycpICE9PSAnJyA/IHVzZXJNYXBib3hUb2tlbiA6IGV4cG9ydE1hcGJveEFjY2Vzc1Rva2VuLFxuICAgIG1vZGVcbiAgfTtcblxuICBjb25zdCBmaWxlQmxvYiA9IG5ldyBCbG9iKFtleHBvcnRNYXBUb0hUTUwoZGF0YSldLCB7dHlwZTogJ3RleHQvaHRtbCd9KTtcbiAgZG93bmxvYWRGaWxlKGZpbGVCbG9iLCBzdGF0ZS5hcHBOYW1lID8gYCR7c3RhdGUuYXBwTmFtZX0uaHRtbGAgOiBERUZBVUxUX0hUTUxfTkFNRSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHBvcnREYXRhKHN0YXRlLCBvcHRpb24pIHtcbiAgY29uc3Qge3Zpc1N0YXRlLCBhcHBOYW1lfSA9IHN0YXRlO1xuICBjb25zdCB7ZGF0YXNldHN9ID0gdmlzU3RhdGU7XG4gIGNvbnN0IHtzZWxlY3RlZERhdGFzZXQsIGRhdGFUeXBlLCBmaWx0ZXJlZH0gPSBvcHRpb247XG4gIC8vIGdldCB0aGUgc2VsZWN0ZWQgZGF0YVxuICBjb25zdCBmaWxlbmFtZSA9IGFwcE5hbWUgPyBhcHBOYW1lIDogREVGQVVMVF9EQVRBX05BTUU7XG4gIGNvbnN0IHNlbGVjdGVkRGF0YXNldHMgPSBkYXRhc2V0c1tzZWxlY3RlZERhdGFzZXRdXG4gICAgPyBbZGF0YXNldHNbc2VsZWN0ZWREYXRhc2V0XV1cbiAgICA6IE9iamVjdC52YWx1ZXMoZGF0YXNldHMpO1xuICBpZiAoIXNlbGVjdGVkRGF0YXNldHMubGVuZ3RoKSB7XG4gICAgLy8gZXJyb3I6IHNlbGVjdGVkIGRhdGFzZXQgbm90IGZvdW5kLlxuICAgIHJldHVybjtcbiAgfVxuXG4gIHNlbGVjdGVkRGF0YXNldHMuZm9yRWFjaChzZWxlY3RlZERhdGEgPT4ge1xuICAgIGNvbnN0IHtkYXRhQ29udGFpbmVyLCBmaWVsZHMsIGxhYmVsLCBmaWx0ZXJlZElkeENQVSA9IFtdfSA9IHNlbGVjdGVkRGF0YTtcbiAgICBjb25zdCB0b0V4cG9ydCA9IGZpbHRlcmVkXG4gICAgICA/IGNyZWF0ZUluZGV4ZWREYXRhQ29udGFpbmVyKGRhdGFDb250YWluZXIsIGZpbHRlcmVkSWR4Q1BVKVxuICAgICAgOiBkYXRhQ29udGFpbmVyO1xuXG4gICAgLy8gc3RhcnQgdG8gZXhwb3J0IGRhdGEgYWNjb3JkaW5nIHRvIHNlbGVjdGVkIGRhdGEgdHlwZVxuICAgIHN3aXRjaCAoZGF0YVR5cGUpIHtcbiAgICAgIGNhc2UgRVhQT1JUX0RBVEFfVFlQRS5DU1Y6IHtcbiAgICAgICAgY29uc3QgY3N2ID0gZm9ybWF0Q3N2KHRvRXhwb3J0LCBmaWVsZHMpO1xuXG4gICAgICAgIGNvbnN0IGZpbGVCbG9iID0gbmV3IEJsb2IoW2Nzdl0sIHt0eXBlOiAndGV4dC9jc3YnfSk7XG4gICAgICAgIGRvd25sb2FkRmlsZShmaWxlQmxvYiwgYCR7ZmlsZW5hbWV9XyR7bGFiZWx9LmNzdmApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIC8vIFRPRE86IHN1cHBvcnQgbW9yZSBmaWxlIHR5cGVzLlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cG9ydE1hcChzdGF0ZSwgb3B0aW9uKSB7XG4gIGNvbnN0IHtpbWFnZURhdGFVcml9ID0gc3RhdGUudWlTdGF0ZS5leHBvcnRJbWFnZTtcbiAgY29uc3QgdGh1bWJuYWlsID0gaW1hZ2VEYXRhVXJpID8gZGF0YVVSSXRvQmxvYihpbWFnZURhdGFVcmkpIDogbnVsbDtcbiAgY29uc3QgbWFwVG9TYXZlID0gZ2V0TWFwSlNPTihzdGF0ZSwgb3B0aW9uKTtcblxuICByZXR1cm4ge1xuICAgIG1hcDogbWFwVG9TYXZlLFxuICAgIHRodW1ibmFpbFxuICB9O1xufVxuXG5jb25zdCBleHBvcnRlcnMgPSB7XG4gIGV4cG9ydEltYWdlLFxuICBleHBvcnRKc29uLFxuICBleHBvcnRIdG1sLFxuICBleHBvcnRE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
|