@carto/kepler.gl 0.0.83 → 0.0.84
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.d.ts +1 -6
- 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.d.ts +1 -2
- 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/plot-container.js +3 -3
- package/dist/components/side-panel/filter-panel/filter-panel.js +3 -3
- package/dist/components/side-panel/layer-panel/color-range-selector.d.ts +1 -4
- package/dist/components/side-panel/layer-panel/color-range-selector.js +4 -4
- package/dist/components/side-panel.js +3 -3
- package/dist/constants/default-settings.js +2 -2
- package/dist/deckgl-layers/layer-utils/cluster-utils.js +3 -3
- package/dist/layers/aggregation-layer.js +4 -4
- 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 +1 -1
- package/dist/layers/trip-layer/trip-layer.js +5 -5
- package/dist/reducers/map-style-updaters.d.ts +1 -10
- 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.d.ts +1 -1
- 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.d.ts +3 -18
- 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 +3 -26
- package/src/actions/action-wrapper.ts +1 -1
- package/src/components/common/checkbox.tsx +1 -1
- package/src/components/common/data-table/grid.tsx +1 -1
- package/src/components/common/data-table/index.tsx +2 -2
- package/src/components/common/item-selector/item-selector.tsx +1 -1
- package/src/components/common/portaled.tsx +2 -2
- package/src/components/common/time-range-slider.tsx +1 -1
- package/src/components/container.tsx +1 -1
- package/src/components/editor/editor.tsx +1 -1
- package/src/components/editor/feature-styles.ts +1 -1
- package/src/components/editor/handle-style.ts +1 -1
- package/src/components/filters/filter-panels/polygon-filter-panel.tsx +1 -1
- package/src/components/modal-container.tsx +1 -1
- package/src/components/modals/image-modal-container.tsx +1 -1
- package/src/components/modals/load-data-modal.tsx +1 -1
- package/src/components/plot-container.tsx +1 -1
- package/src/components/side-panel/filter-panel/filter-panel.tsx +1 -1
- package/src/components/side-panel/layer-panel/color-range-selector.tsx +1 -1
- package/src/components/side-panel.tsx +1 -1
- package/src/deckgl-layers/layer-utils/cluster-utils.ts +1 -1
- package/src/layers/aggregation-layer.ts +1 -1
- package/src/layers/geojson-layer/geojson-layer.ts +1 -1
- package/src/layers/heatmap-layer/heatmap-layer.ts +1 -1
- package/src/layers/layer-text-label.ts +1 -1
- package/src/layers/trip-layer/trip-layer.ts +2 -2
- package/src/reducers/map-style-updaters.ts +1 -1
- package/src/reducers/vis-state-merger.ts +3 -3
- package/src/reducers/vis-state-updaters.ts +4 -4
- package/src/schemas/dataset-schema.ts +1 -1
- package/src/schemas/vis-state-schema.ts +2 -2
- package/src/utils/dataset-utils.ts +1 -1
- package/src/utils/export-utils.ts +1 -1
- package/src/utils/filter-utils.ts +2 -2
- package/src/utils/map-style-utils/mapbox-gl-style-editor.ts +2 -2
- package/src/utils/observe-dimensions.ts +1 -1
- package/src/utils/split-map-utils.ts +1 -1
|
@@ -17,7 +17,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
17
17
|
var _react = _interopRequireWildcard(require("react"));
|
|
18
18
|
var _styledComponents = require("styled-components");
|
|
19
19
|
var _reselect = require("reselect");
|
|
20
|
-
var
|
|
20
|
+
var _get = _interopRequireDefault(require("lodash/get"));
|
|
21
21
|
var _document = _interopRequireDefault(require("global/document"));
|
|
22
22
|
var _defaultSettings = require("../constants/default-settings");
|
|
23
23
|
var _modalDialog = _interopRequireDefault(require("./modals/modal-dialog"));
|
|
@@ -408,7 +408,7 @@ function ModalContainerFactory(DeleteDatasetModal, OverWriteMapModal, DataTableM
|
|
|
408
408
|
case _defaultSettings.OVERWRITE_MAP_ID:
|
|
409
409
|
template = /*#__PURE__*/_react["default"].createElement(OverWriteMapModal, (0, _extends2["default"])({}, providerState, {
|
|
410
410
|
cloudProviders: this.props.cloudProviders,
|
|
411
|
-
title: (0,
|
|
411
|
+
title: (0, _get["default"])(visState, ['mapInfo', 'title']),
|
|
412
412
|
onUpdateImageSetting: uiStateActions.setExportImageSetting,
|
|
413
413
|
cleanupExportImage: uiStateActions.cleanupExportImage
|
|
414
414
|
}));
|
|
@@ -456,4 +456,4 @@ function ModalContainerFactory(DeleteDatasetModal, OverWriteMapModal, DataTableM
|
|
|
456
456
|
}(_react.Component);
|
|
457
457
|
return ModalContainer;
|
|
458
458
|
}
|
|
459
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9yZXNlbGVjdCIsIl9sb2Rhc2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2RvY3VtZW50IiwiX2RlZmF1bHRTZXR0aW5ncyIsIl9tb2RhbERpYWxvZyIsIl9leHBvcnRVdGlscyIsIl9tYXBJbmZvVXRpbHMiLCJfZGVsZXRlRGF0YU1vZGFsIiwiX292ZXJ3cml0ZU1hcE1vZGFsIiwiX2RhdGFUYWJsZU1vZGFsIiwiX2xvYWREYXRhTW9kYWwiLCJfZXhwb3J0SW1hZ2VNb2RhbCIsIl9leHBvcnREYXRhTW9kYWwiLCJfZXhwb3J0TWFwTW9kYWwiLCJfYWRkTWFwU3R5bGVNb2RhbCIsIl9zYXZlTWFwTW9kYWwiLCJfc2hhcmVNYXBNb2RhbCIsIl9tZWRpYUJyZWFrcG9pbnRzIiwiX2tleWV2ZW50IiwiX3Zpc1N0YXRlU2VsZWN0b3JzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiRGF0YVRhYmxlTW9kYWxTdHlsZSIsImNzcyIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwibWVkaWEiLCJwb3J0YWJsZSIsInBhbG0iLCJzbWFsbE1vZGFsQ3NzIiwiTG9hZERhdGFNb2RhbFN0eWxlIiwiRGVmYXVsdFN0eWxlIiwiTW9kYWxDb250YWluZXJGYWN0b3J5IiwiZGVwcyIsIkRlbGV0ZURhdGFzZXRNb2RhbEZhY3RvcnkiLCJPdmVyV3JpdGVNYXBNb2RhbEZhY3RvcnkiLCJEYXRhVGFibGVNb2RhbEZhY3RvcnkiLCJMb2FkRGF0YU1vZGFsRmFjdG9yeSIsIkV4cG9ydEltYWdlTW9kYWxGYWN0b3J5IiwiRXhwb3J0RGF0YU1vZGFsRmFjdG9yeSIsIkV4cG9ydE1hcE1vZGFsRmFjdG9yeSIsIkFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5IiwiTW9kYWxEaWFsb2dGYWN0b3J5IiwiU2F2ZU1hcE1vZGFsRmFjdG9yeSIsIlNoYXJlTWFwTW9kYWxGYWN0b3J5IiwiRGVsZXRlRGF0YXNldE1vZGFsIiwiT3ZlcldyaXRlTWFwTW9kYWwiLCJEYXRhVGFibGVNb2RhbCIsIkxvYWREYXRhTW9kYWwiLCJFeHBvcnRJbWFnZU1vZGFsIiwiRXhwb3J0RGF0YU1vZGFsIiwiRXhwb3J0TWFwTW9kYWwiLCJBZGRNYXBTdHlsZU1vZGFsIiwiTW9kYWxEaWFsb2ciLCJTYXZlTWFwTW9kYWwiLCJTaGFyZU1hcE1vZGFsIiwiTW9kYWxDb250YWluZXIiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJfb25LZXlVcCIsInByb3BzIiwiY2xvdWRQcm92aWRlcnMiLCJjcmVhdGVTZWxlY3RvciIsInAiLCJoYXNQcml2YXRlU3RvcmFnZSIsImhhc1NoYXJpbmdVcmwiLCJldmVudCIsImtleUNvZGUiLCJLZXlFdmVudCIsIkRPTV9WS19FU0NBUEUiLCJfY2xvc2VNb2RhbCIsInVpU3RhdGVBY3Rpb25zIiwidG9nZ2xlTW9kYWwiLCJrZXkiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJyZW1vdmVEYXRhc2V0IiwibWFwU3R5bGVBY3Rpb25zIiwiYWRkQ3VzdG9tTWFwU3R5bGUiLCJmaWxlTGlzdCIsImxvYWRGaWxlcyIsInVpU3RhdGUiLCJleHBvcnRJbWFnZSIsInByb2Nlc3NpbmciLCJhcHBOYW1lIiwiY2xlYW51cEV4cG9ydEltYWdlIiwiZXhwb3J0RGF0YSIsImZvcm1hdCIsImV4cG9ydE1hcCIsIkVYUE9SVF9NQVBfRk9STUFUUyIsIkhUTUwiLCJleHBvcnRIdG1sIiwiZXhwb3J0SnNvbiIsIl9yZWYiLCJwcm92aWRlciIsImlzUHVibGljIiwib3ZlcndyaXRlIiwiY2xvc2VNb2RhbCIsInRvU2F2ZSIsInByb3ZpZGVyQWN0aW9ucyIsImV4cG9ydEZpbGVUb0Nsb3VkIiwibWFwRGF0YSIsIm9wdGlvbnMiLCJvblN1Y2Nlc3MiLCJvbkV4cG9ydFRvQ2xvdWRTdWNjZXNzIiwib25FcnJvciIsIm9uRXhwb3J0VG9DbG91ZEVycm9yIiwidW5kZWZpbmVkIiwiY3VycmVudFByb3ZpZGVyIiwicHJvdmlkZXJTdGF0ZSIsImZpbmQiLCJuYW1lIiwiX2V4cG9ydEZpbGVUb0Nsb3VkIiwiX29uU2F2ZU1hcCIsInJlc2V0UHJvdmlkZXJTdGF0dXMiLCJwYXlsb2FkIiwibG9hZENsb3VkTWFwIiwib25Mb2FkQ2xvdWRNYXBTdWNjZXNzIiwib25Mb2FkQ2xvdWRNYXBFcnJvciIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwidmFsdWUiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZW5kZXIiLCJfdGhpczIiLCJfdGhpcyRwcm9wcyIsImNvbnRhaW5lclciLCJjb250YWluZXJIIiwibWFwU3R5bGUiLCJtYXBTdGF0ZSIsInZpc1N0YXRlIiwiY3VycmVudE1vZGFsIiwiZGF0YXNldEtleVRvUmVtb3ZlIiwiZGF0YXNldHMiLCJsYXllcnMiLCJlZGl0aW5nRGF0YXNldCIsInRlbXBsYXRlIiwibW9kYWxQcm9wcyIsImlkIiwiY3JlYXRlRWxlbWVudCIsIkRBVEFfVEFCTEVfSUQiLCJ3aWR0aCIsImRhdGFJZCIsInNob3dEYXRhc2V0VGFibGUiLCJzb3J0VGFibGVDb2x1bW4iLCJwaW5UYWJsZUNvbHVtbiIsImNvcHlUYWJsZUNvbHVtbiIsImNzc1N0eWxlIiwiREVMRVRFX0RBVEFfSUQiLCJkYXRhc2V0IiwidGl0bGUiLCJmb290ZXIiLCJvbkNvbmZpcm0iLCJfZGVsZXRlRGF0YXNldCIsIm9uQ2FuY2VsIiwiY29uZmlybUJ1dHRvbiIsIm5lZ2F0aXZlIiwibGFyZ2UiLCJjaGlsZHJlbiIsIkFERF9EQVRBX0lEIiwiX2V4dGVuZHMyIiwib25DbG9zZSIsIm9uRmlsZVVwbG9hZCIsIl9vbkZpbGVVcGxvYWQiLCJvbkxvYWRDbG91ZE1hcCIsIl9vbkxvYWRDbG91ZE1hcCIsInByb3ZpZGVyV2l0aFN0b3JhZ2UiLCJvblNldENsb3VkUHJvdmlkZXIiLCJzZXRDbG91ZFByb3ZpZGVyIiwiZ2V0U2F2ZWRNYXBzIiwiZmlsZUxvYWRpbmciLCJmaWxlTG9hZGluZ1Byb2dyZXNzIiwiZmlsZUZvcm1hdE5hbWVzIiwiZ2V0RmlsZUZvcm1hdE5hbWVzIiwiZmlsZUV4dGVuc2lvbnMiLCJnZXRGaWxlRXh0ZW5zaW9ucyIsIkVYUE9SVF9JTUFHRV9JRCIsIm1hcFciLCJtYXBIIiwib25VcGRhdGVJbWFnZVNldHRpbmciLCJzZXRFeHBvcnRJbWFnZVNldHRpbmciLCJfb25FeHBvcnRJbWFnZSIsImRpc2FibGVkIiwiRVhQT1JUX0RBVEFfSUQiLCJzdXBwb3J0ZWREYXRhVHlwZXMiLCJFWFBPUlRfREFUQV9UWVBFX09QVElPTlMiLCJhcHBseUNQVUZpbHRlciIsIm9uQ2hhbmdlRXhwb3J0RGF0YVR5cGUiLCJzZXRFeHBvcnREYXRhVHlwZSIsIm9uQ2hhbmdlRXhwb3J0U2VsZWN0ZWREYXRhc2V0Iiwic2V0RXhwb3J0U2VsZWN0ZWREYXRhc2V0Iiwib25DaGFuZ2VFeHBvcnRGaWx0ZXJlZCIsInNldEV4cG9ydEZpbHRlcmVkIiwiX29uRXhwb3J0RGF0YSIsIkVYUE9SVF9NQVBfSUQiLCJrZXBsZXJHbENvbmZpZyIsInNjaGVtYSIsImdldENvbmZpZ1RvU2F2ZSIsImNvbmZpZyIsIm9uQ2hhbmdlRXhwb3J0TWFwRm9ybWF0Iiwic2V0RXhwb3J0TWFwRm9ybWF0Iiwib25FZGl0VXNlck1hcGJveEFjY2Vzc1Rva2VuIiwic2V0VXNlck1hcGJveEFjY2Vzc1Rva2VuIiwib25DaGFuZ2VFeHBvcnRNYXBIVE1MTW9kZSIsInNldEV4cG9ydEhUTUxNYXBNb2RlIiwiX29uRXhwb3J0TWFwIiwiQUREX01BUF9TVFlMRV9JRCIsIm1hcGJveEFwaVVybCIsImlucHV0U3R5bGUiLCJpbnB1dE1hcFN0eWxlIiwibG9hZEN1c3RvbU1hcFN0eWxlIiwiX29uQWRkQ3VzdG9tTWFwU3R5bGUiLCJzdHlsZSIsIlNBVkVfTUFQX0lEIiwibWFwSW5mbyIsIm9uU2V0TWFwSW5mbyIsInNldE1hcEluZm8iLCJpc1ZhbGlkTWFwSW5mbyIsIk9WRVJXUklURV9NQVBfSUQiLCJfb25PdmVyd3JpdGVNYXAiLCJTSEFSRV9NQVBfSUQiLCJpc1JlYWR5IiwicHJvdmlkZXJXaXRoU2hhcmUiLCJvbkV4cG9ydCIsIl9vblNoYXJlTWFwVXJsIiwiX29uQ2xvc2VTYXZlTWFwIiwicm9vdE5vZGUiLCJpc09wZW4iLCJDb21wb25lbnQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9tb2RhbC1jb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtjc3N9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Y3JlYXRlU2VsZWN0b3J9IGZyb20gJ3Jlc2VsZWN0JztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoLmdldCc7XG5pbXBvcnQgZG9jdW1lbnQgZnJvbSAnZ2xvYmFsL2RvY3VtZW50JztcblxuaW1wb3J0IHtFWFBPUlRfREFUQV9UWVBFX09QVElPTlMsIEVYUE9SVF9NQVBfRk9STUFUU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuaW1wb3J0IE1vZGFsRGlhbG9nRmFjdG9yeSBmcm9tICcuL21vZGFscy9tb2RhbC1kaWFsb2cnO1xuaW1wb3J0IHtleHBvcnRKc29uLCBleHBvcnRIdG1sLCBleHBvcnREYXRhLCBleHBvcnRJbWFnZSwgZXhwb3J0TWFwfSBmcm9tICd1dGlscy9leHBvcnQtdXRpbHMnO1xuaW1wb3J0IHtpc1ZhbGlkTWFwSW5mb30gZnJvbSAndXRpbHMvbWFwLWluZm8tdXRpbHMnO1xuXG4vLyBtb2RhbHNcbmltcG9ydCBEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2RlbGV0ZS1kYXRhLW1vZGFsJztcbmltcG9ydCBPdmVyV3JpdGVNYXBNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvb3ZlcndyaXRlLW1hcC1tb2RhbCc7XG5pbXBvcnQgRGF0YVRhYmxlTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2RhdGEtdGFibGUtbW9kYWwnO1xuaW1wb3J0IExvYWREYXRhTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2xvYWQtZGF0YS1tb2RhbCc7XG5pbXBvcnQgRXhwb3J0SW1hZ2VNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvZXhwb3J0LWltYWdlLW1vZGFsJztcbmltcG9ydCBFeHBvcnREYXRhTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2V4cG9ydC1kYXRhLW1vZGFsJztcbmltcG9ydCBFeHBvcnRNYXBNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvZXhwb3J0LW1hcC1tb2RhbC9leHBvcnQtbWFwLW1vZGFsJztcbmltcG9ydCBBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9hZGQtbWFwLXN0eWxlLW1vZGFsJztcbmltcG9ydCBTYXZlTWFwTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL3NhdmUtbWFwLW1vZGFsJztcbmltcG9ydCBTaGFyZU1hcE1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9zaGFyZS1tYXAtbW9kYWwnO1xuXG4vLyBCcmVha3BvaW50c1xuaW1wb3J0IHttZWRpYX0gZnJvbSAnc3R5bGVzL21lZGlhLWJyZWFrcG9pbnRzJztcblxuLy8gVGVtcGxhdGVcbmltcG9ydCB7XG4gIEFERF9EQVRBX0lELFxuICBEQVRBX1RBQkxFX0lELFxuICBERUxFVEVfREFUQV9JRCxcbiAgRVhQT1JUX0RBVEFfSUQsXG4gIEVYUE9SVF9JTUFHRV9JRCxcbiAgRVhQT1JUX01BUF9JRCxcbiAgQUREX01BUF9TVFlMRV9JRCxcbiAgU0FWRV9NQVBfSUQsXG4gIFNIQVJFX01BUF9JRCxcbiAgT1ZFUldSSVRFX01BUF9JRFxufSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5cbmltcG9ydCBLZXlFdmVudCBmcm9tICdjb25zdGFudHMva2V5ZXZlbnQnO1xuaW1wb3J0IHtnZXRGaWxlRm9ybWF0TmFtZXMsIGdldEZpbGVFeHRlbnNpb25zfSBmcm9tICcuLi9yZWR1Y2Vycy92aXMtc3RhdGUtc2VsZWN0b3JzJztcbmltcG9ydCB7TWFwU3RhdGUsIE1hcFN0eWxlLCBVaVN0YXRlLCBWaXNTdGF0ZX0gZnJvbSAncmVkdWNlcnMnO1xuaW1wb3J0IHtPblN1Y2Nlc3NDYWxsQmFjaywgT25FcnJvckNhbGxCYWNrfSBmcm9tICdhY3Rpb25zJztcbmltcG9ydCB7UHJvdmlkZXJTdGF0ZX0gZnJvbSAncmVkdWNlcnMvcHJvdmlkZXItc3RhdGUtdXBkYXRlcnMnO1xuXG5pbXBvcnQgKiBhcyBWaXNTdGF0ZUFjdGlvbnMgZnJvbSAnYWN0aW9ucy92aXMtc3RhdGUtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBVSVN0YXRlQWN0aW9ucyBmcm9tICdhY3Rpb25zL3VpLXN0YXRlLWFjdGlvbnMnO1xuaW1wb3J0ICogYXMgTWFwU3R5bGVBY3Rpb25zIGZyb20gJ2FjdGlvbnMvbWFwLXN0eWxlLWFjdGlvbnMnO1xuaW1wb3J0ICogYXMgUHJvdmlkZXJBY3Rpb25zIGZyb20gJ2FjdGlvbnMvcHJvdmlkZXItYWN0aW9ucyc7XG5pbXBvcnQge01vZGFsRGlhbG9nUHJvcHN9IGZyb20gJy4vY29tbW9uL21vZGFsJztcbmltcG9ydCB7UHJvdmlkZXJ9IGZyb20gJ2Nsb3VkLXByb3ZpZGVycyc7XG5cbmNvbnN0IERhdGFUYWJsZU1vZGFsU3R5bGUgPSBjc3NgXG4gIHRvcDogODBweDtcbiAgcGFkZGluZzogMzJweCAwIDAgMDtcbiAgd2lkdGg6IDkwdnc7XG4gIG1heC13aWR0aDogOTB2dztcblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIHBhZGRpbmc6IDA7XG4gIGB9ICR7bWVkaWEucGFsbWBcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICBgfTtcbmA7XG5jb25zdCBzbWFsbE1vZGFsQ3NzID0gY3NzYFxuICB3aWR0aDogNDAlO1xuICBwYWRkaW5nOiA0MHB4IDQwcHggMzJweCA0MHB4O1xuYDtcblxuY29uc3QgTG9hZERhdGFNb2RhbFN0eWxlID0gY3NzYFxuICB0b3A6IDYwcHg7XG5gO1xuXG5jb25zdCBEZWZhdWx0U3R5bGUgPSBjc3NgXG4gIG1heC13aWR0aDogOTYwcHg7XG5gO1xuXG5leHBvcnQgdHlwZSBNb2RhbENvbnRhaW5lclByb3BzID0ge1xuICBhcHBOYW1lOiBzdHJpbmc7XG4gIHJvb3ROb2RlOiBSZWFjdC5SZWFjdEluc3RhbmNlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgY29udGFpbmVyVzogbnVtYmVyO1xuICBjb250YWluZXJIOiBudW1iZXI7XG4gIG1hcGJveEFwaVVybD86IHN0cmluZztcbiAgbWFwU3RhdGU6IE1hcFN0YXRlO1xuICBtYXBTdHlsZTogTWFwU3R5bGU7XG4gIHVpU3RhdGU6IFVpU3RhdGU7XG4gIHZpc1N0YXRlOiBWaXNTdGF0ZTtcbiAgcHJvdmlkZXJTdGF0ZTogUHJvdmlkZXJTdGF0ZTtcbiAgdmlzU3RhdGVBY3Rpb25zOiB0eXBlb2YgVmlzU3RhdGVBY3Rpb25zO1xuICB1aVN0YXRlQWN0aW9uczogdHlwZW9mIFVJU3RhdGVBY3Rpb25zO1xuICBtYXBTdHlsZUFjdGlvbnM6IHR5cGVvZiBNYXBTdHlsZUFjdGlvbnM7XG4gIHByb3ZpZGVyQWN0aW9uczogdHlwZW9mIFByb3ZpZGVyQWN0aW9ucztcbiAgb25TYXZlVG9TdG9yYWdlPzogKCkgPT4gdm9pZDtcbiAgY2xvdWRQcm92aWRlcnM6IFByb3ZpZGVyW107XG4gIG9uTG9hZENsb3VkTWFwU3VjY2Vzcz86IE9uU3VjY2Vzc0NhbGxCYWNrO1xuICBvbkxvYWRDbG91ZE1hcEVycm9yPzogT25FcnJvckNhbGxCYWNrO1xuICBvbkV4cG9ydFRvQ2xvdWRTdWNjZXNzPzogT25TdWNjZXNzQ2FsbEJhY2s7XG4gIG9uRXhwb3J0VG9DbG91ZEVycm9yPzogT25FcnJvckNhbGxCYWNrO1xufTtcblxuTW9kYWxDb250YWluZXJGYWN0b3J5LmRlcHMgPSBbXG4gIERlbGV0ZURhdGFzZXRNb2RhbEZhY3RvcnksXG4gIE92ZXJXcml0ZU1hcE1vZGFsRmFjdG9yeSxcbiAgRGF0YVRhYmxlTW9kYWxGYWN0b3J5LFxuICBMb2FkRGF0YU1vZGFsRmFjdG9yeSxcbiAgRXhwb3J0SW1hZ2VNb2RhbEZhY3RvcnksXG4gIEV4cG9ydERhdGFNb2RhbEZhY3RvcnksXG4gIEV4cG9ydE1hcE1vZGFsRmFjdG9yeSxcbiAgQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnksXG4gIE1vZGFsRGlhbG9nRmFjdG9yeSxcbiAgU2F2ZU1hcE1vZGFsRmFjdG9yeSxcbiAgU2hhcmVNYXBNb2RhbEZhY3Rvcnlcbl07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1vZGFsQ29udGFpbmVyRmFjdG9yeShcbiAgRGVsZXRlRGF0YXNldE1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5PixcbiAgT3ZlcldyaXRlTWFwTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIE92ZXJXcml0ZU1hcE1vZGFsRmFjdG9yeT4sXG4gIERhdGFUYWJsZU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBEYXRhVGFibGVNb2RhbEZhY3Rvcnk+LFxuICBMb2FkRGF0YU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBMb2FkRGF0YU1vZGFsRmFjdG9yeT4sXG4gIEV4cG9ydEltYWdlTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIEV4cG9ydEltYWdlTW9kYWxGYWN0b3J5PixcbiAgRXhwb3J0RGF0YU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBFeHBvcnREYXRhTW9kYWxGYWN0b3J5PixcbiAgRXhwb3J0TWFwTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIEV4cG9ydE1hcE1vZGFsRmFjdG9yeT4sXG4gIEFkZE1hcFN0eWxlTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIEFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5PixcbiAgTW9kYWxEaWFsb2c6IFJldHVyblR5cGU8dHlwZW9mIE1vZGFsRGlhbG9nRmFjdG9yeT4sXG4gIFNhdmVNYXBNb2RhbDogUmV0dXJuVHlwZTx0eXBlb2YgU2F2ZU1hcE1vZGFsRmFjdG9yeT4sXG4gIFNoYXJlTWFwTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIFNoYXJlTWFwTW9kYWxGYWN0b3J5PlxuKTogUmVhY3QuRWxlbWVudFR5cGU8TW9kYWxDb250YWluZXJQcm9wcz4ge1xuICAvKiogQGF1Z21lbnRzIFJlYWN0LkNvbXBvbmVudDxNb2RhbENvbnRhaW5lclByb3BzPiAqL1xuICBjbGFzcyBNb2RhbENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudDxNb2RhbENvbnRhaW5lclByb3BzPiB7XG4gICAgLy8gVE9ETyAtIHJlbW92ZSB3aGVuIHByb3AgdHlwZXMgYXJlIGZ1bGx5IGV4cG9ydGVkXG4gICAgY29tcG9uZW50RGlkTW91bnQgPSAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX29uS2V5VXApO1xuICAgIH07XG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX29uS2V5VXApO1xuICAgIH1cblxuICAgIGNsb3VkUHJvdmlkZXJzID0gcHJvcHMgPT4gcHJvcHMuY2xvdWRQcm92aWRlcnM7XG4gICAgcHJvdmlkZXJXaXRoU3RvcmFnZSA9IGNyZWF0ZVNlbGVjdG9yKHRoaXMuY2xvdWRQcm92aWRlcnMsIGNsb3VkUHJvdmlkZXJzID0+XG4gICAgICBjbG91ZFByb3ZpZGVycy5maWx0ZXIocCA9PiBwLmhhc1ByaXZhdGVTdG9yYWdlKCkpXG4gICAgKTtcbiAgICBwcm92aWRlcldpdGhTaGFyZSA9IGNyZWF0ZVNlbGVjdG9yKHRoaXMuY2xvdWRQcm92aWRlcnMsIGNsb3VkUHJvdmlkZXJzID0+XG4gICAgICBjbG91ZFByb3ZpZGVycy5maWx0ZXIocCA9PiBwLmhhc1NoYXJpbmdVcmwoKSlcbiAgICApO1xuXG4gICAgX29uS2V5VXAgPSBldmVudCA9PiB7XG4gICAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcbiAgICAgIGlmIChrZXlDb2RlID09PSBLZXlFdmVudC5ET01fVktfRVNDQVBFKSB7XG4gICAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX2Nsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnVpU3RhdGVBY3Rpb25zLnRvZ2dsZU1vZGFsKG51bGwpO1xuICAgIH07XG5cbiAgICBfZGVsZXRlRGF0YXNldCA9IGtleSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy5yZW1vdmVEYXRhc2V0KGtleSk7XG4gICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgfTtcblxuICAgIF9vbkFkZEN1c3RvbU1hcFN0eWxlID0gKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5tYXBTdHlsZUFjdGlvbnMuYWRkQ3VzdG9tTWFwU3R5bGUoKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uRmlsZVVwbG9hZCA9IGZpbGVMaXN0ID0+IHtcbiAgICAgIHRoaXMucHJvcHMudmlzU3RhdGVBY3Rpb25zLmxvYWRGaWxlcyhmaWxlTGlzdCk7XG4gICAgfTtcblxuICAgIF9vbkV4cG9ydEltYWdlID0gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnByb3BzLnVpU3RhdGUuZXhwb3J0SW1hZ2UucHJvY2Vzc2luZykge1xuICAgICAgICAvLyBAdHMtaWdub3JlIFRPRE86IGZpeCBleHBvcnRJbWFnZSBtZXRob2RcbiAgICAgICAgZXhwb3J0SW1hZ2UodGhpcy5wcm9wcy51aVN0YXRlLmV4cG9ydEltYWdlLCBgJHt0aGlzLnByb3BzLmFwcE5hbWV9LnBuZ2ApO1xuICAgICAgICB0aGlzLnByb3BzLnVpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZSgpO1xuICAgICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9vbkV4cG9ydERhdGEgPSAoKSA9PiB7XG4gICAgICBleHBvcnREYXRhKHRoaXMucHJvcHMsIHRoaXMucHJvcHMudWlTdGF0ZS5leHBvcnREYXRhKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uRXhwb3J0TWFwID0gKCkgPT4ge1xuICAgICAgY29uc3Qge3VpU3RhdGV9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHtmb3JtYXR9ID0gdWlTdGF0ZS5leHBvcnRNYXA7XG4gICAgICAoZm9ybWF0ID09PSBFWFBPUlRfTUFQX0ZPUk1BVFMuSFRNTCA/IGV4cG9ydEh0bWwgOiBleHBvcnRKc29uKShcbiAgICAgICAgdGhpcy5wcm9wcyxcbiAgICAgICAgdGhpcy5wcm9wcy51aVN0YXRlLmV4cG9ydE1hcFtmb3JtYXRdIHx8IHt9XG4gICAgICApO1xuICAgICAgdGhpcy5fY2xvc2VNb2RhbCgpO1xuICAgIH07XG5cbiAgICBfZXhwb3J0RmlsZVRvQ2xvdWQgPSAoe3Byb3ZpZGVyLCBpc1B1YmxpYywgb3ZlcndyaXRlLCBjbG9zZU1vZGFsfSkgPT4ge1xuICAgICAgY29uc3QgdG9TYXZlID0gZXhwb3J0TWFwKHRoaXMucHJvcHMpO1xuXG4gICAgICB0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5leHBvcnRGaWxlVG9DbG91ZCh7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgbWFwRGF0YTogdG9TYXZlLFxuICAgICAgICBwcm92aWRlcixcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGlzUHVibGljLFxuICAgICAgICAgIG92ZXJ3cml0ZVxuICAgICAgICB9LFxuICAgICAgICBjbG9zZU1vZGFsLFxuICAgICAgICBvblN1Y2Nlc3M6IHRoaXMucHJvcHMub25FeHBvcnRUb0Nsb3VkU3VjY2VzcyxcbiAgICAgICAgb25FcnJvcjogdGhpcy5wcm9wcy5vbkV4cG9ydFRvQ2xvdWRFcnJvclxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIF9vblNhdmVNYXAgPSAob3ZlcndyaXRlID0gZmFsc2UpID0+IHtcbiAgICAgIGNvbnN0IHtjdXJyZW50UHJvdmlkZXJ9ID0gdGhpcy5wcm9wcy5wcm92aWRlclN0YXRlO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLnByb3BzLmNsb3VkUHJvdmlkZXJzLmZpbmQocCA9PiBwLm5hbWUgPT09IGN1cnJlbnRQcm92aWRlcik7XG4gICAgICB0aGlzLl9leHBvcnRGaWxlVG9DbG91ZCh7XG4gICAgICAgIHByb3ZpZGVyLFxuICAgICAgICBpc1B1YmxpYzogZmFsc2UsXG4gICAgICAgIG92ZXJ3cml0ZSxcbiAgICAgICAgY2xvc2VNb2RhbDogdHJ1ZVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIF9vbk92ZXJ3cml0ZU1hcCA9ICgpID0+IHtcbiAgICAgIHRoaXMuX29uU2F2ZU1hcCh0cnVlKTtcbiAgICB9O1xuXG4gICAgX29uU2hhcmVNYXBVcmwgPSBwcm92aWRlciA9PiB7XG4gICAgICB0aGlzLl9leHBvcnRGaWxlVG9DbG91ZCh7cHJvdmlkZXIsIGlzUHVibGljOiB0cnVlLCBvdmVyd3JpdGU6IGZhbHNlLCBjbG9zZU1vZGFsOiBmYWxzZX0pO1xuICAgIH07XG5cbiAgICBfb25DbG9zZVNhdmVNYXAgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5yZXNldFByb3ZpZGVyU3RhdHVzKCk7XG4gICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgfTtcblxuICAgIF9vbkxvYWRDbG91ZE1hcCA9IHBheWxvYWQgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMubG9hZENsb3VkTWFwKHtcbiAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgb25TdWNjZXNzOiB0aGlzLnByb3BzLm9uTG9hZENsb3VkTWFwU3VjY2VzcyxcbiAgICAgICAgb25FcnJvcjogdGhpcy5wcm9wcy5vbkxvYWRDbG91ZE1hcEVycm9yXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgY29udGFpbmVyVyxcbiAgICAgICAgY29udGFpbmVySCxcbiAgICAgICAgbWFwU3R5bGUsXG4gICAgICAgIG1hcFN0YXRlLFxuICAgICAgICB1aVN0YXRlLFxuICAgICAgICB2aXNTdGF0ZSxcbiAgICAgICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgICAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICAgICAgcHJvdmlkZXJTdGF0ZVxuICAgICAgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCB7Y3VycmVudE1vZGFsLCBkYXRhc2V0S2V5VG9SZW1vdmV9ID0gdWlTdGF0ZTtcbiAgICAgIGNvbnN0IHtkYXRhc2V0cywgbGF5ZXJzLCBlZGl0aW5nRGF0YXNldH0gPSB2aXNTdGF0ZTtcblxuICAgICAgbGV0IHRlbXBsYXRlOiBKU1guRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgICAgbGV0IG1vZGFsUHJvcHM6IFBhcnRpYWw8TW9kYWxEaWFsb2dQcm9wcz4gPSB7fTtcblxuICAgICAgLy8gVE9ETyAtIGN1cnJlbnRNb2RhbCBpcyBhIHN0cmluZ1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKGN1cnJlbnRNb2RhbCAmJiBjdXJyZW50TW9kYWwuaWQgJiYgY3VycmVudE1vZGFsLnRlbXBsYXRlKSB7XG4gICAgICAgIC8vIGlmIGN1cnJlbnRNZG9hbCB0ZW1wbGF0ZSBpcyBhbHJlYWR5IHByb3ZpZGVkXG4gICAgICAgIC8vIFRPRE86IG5lZWQgdG8gY2hlY2sgd2hldGhlciB0ZW1wbGF0ZSBpcyB2YWxpZFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRlbXBsYXRlID0gPGN1cnJlbnRNb2RhbC50ZW1wbGF0ZSAvPjtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBtb2RhbFByb3BzID0gY3VycmVudE1vZGFsLm1vZGFsUHJvcHM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGN1cnJlbnRNb2RhbCkge1xuICAgICAgICAgIGNhc2UgREFUQV9UQUJMRV9JRDpcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gY29udGFpbmVyVyAqIDAuOTtcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8RGF0YVRhYmxlTW9kYWxcbiAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgZGF0YUlkPXtlZGl0aW5nRGF0YXNldH1cbiAgICAgICAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXt2aXNTdGF0ZUFjdGlvbnMuc2hvd0RhdGFzZXRUYWJsZX1cbiAgICAgICAgICAgICAgICBzb3J0VGFibGVDb2x1bW49e3Zpc1N0YXRlQWN0aW9ucy5zb3J0VGFibGVDb2x1bW59XG4gICAgICAgICAgICAgICAgcGluVGFibGVDb2x1bW49e3Zpc1N0YXRlQWN0aW9ucy5waW5UYWJsZUNvbHVtbn1cbiAgICAgICAgICAgICAgICBjb3B5VGFibGVDb2x1bW49e3Zpc1N0YXRlQWN0aW9ucy5jb3B5VGFibGVDb2x1bW59XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBUT0RPOiB3ZSBuZWVkIHRvIG1ha2UgdGhpcyB3aWR0aCBjb25zaXN0ZW50IHdpdGggdGhlIGNzcyBydWxlIGRlZmluZWQgbW9kYWwuanM6MzIgbWF4LXdpZHRoOiA3MHZ3XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlIC8vIFRPRE8gZml4IHRoaXMgYWZ0ZXIgYWRkIHR5cGVzIHRvIFRoZW1lXG4gICAgICAgICAgICBtb2RhbFByb3BzLmNzc1N0eWxlID0gY3NzYFxuICAgICAgICAgICAgICAke0RhdGFUYWJsZU1vZGFsU3R5bGV9O1xuICAgICAgICAgICAgICAke21lZGlhLnBhbG1gXG4gICAgICAgICAgICAgICAgd2lkdGg6ICR7d2lkdGh9cHg7XG4gICAgICAgICAgICAgIGB9O1xuICAgICAgICAgICAgYDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgREVMRVRFX0RBVEFfSUQ6XG4gICAgICAgICAgICAvLyB2YWxpZGF0ZSBvcHRpb25zXG4gICAgICAgICAgICBpZiAoZGF0YXNldEtleVRvUmVtb3ZlICYmIGRhdGFzZXRzICYmIGRhdGFzZXRzW2RhdGFzZXRLZXlUb1JlbW92ZV0pIHtcbiAgICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgICAgPERlbGV0ZURhdGFzZXRNb2RhbCBkYXRhc2V0PXtkYXRhc2V0c1tkYXRhc2V0S2V5VG9SZW1vdmVdfSBsYXllcnM9e2xheWVyc30gLz5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmRlbGV0ZURhdGFzZXQnLFxuICAgICAgICAgICAgICAgIGNzc1N0eWxlOiBzbWFsbE1vZGFsQ3NzLFxuICAgICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBvbkNvbmZpcm06ICgpID0+IHRoaXMuX2RlbGV0ZURhdGFzZXQoZGF0YXNldEtleVRvUmVtb3ZlKSxcbiAgICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgICBuZWdhdGl2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uZGVsZXRlJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrOyAvLyBpbiBjYXNlIHdlIGFkZCBhIG5ldyBjYXNlIGFmdGVyIHRoaXMgb25lXG4gICAgICAgICAgY2FzZSBBRERfREFUQV9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8TG9hZERhdGFNb2RhbFxuICAgICAgICAgICAgICAgIHsuLi5wcm92aWRlclN0YXRlfVxuICAgICAgICAgICAgICAgIC8vQHRzLWV4cGVjdC1lcnJvciAvL1RPRE8gUmVtb3ZlIGl0IG9uY2UgTG9hZERhdGFNb2RhbCBpcyB0cmFuc2xhdGVkXG4gICAgICAgICAgICAgICAgb25DbG9zZT17dGhpcy5fY2xvc2VNb2RhbH1cbiAgICAgICAgICAgICAgICBvbkZpbGVVcGxvYWQ9e3RoaXMuX29uRmlsZVVwbG9hZH1cbiAgICAgICAgICAgICAgICBvbkxvYWRDbG91ZE1hcD17dGhpcy5fb25Mb2FkQ2xvdWRNYXB9XG4gICAgICAgICAgICAgICAgY2xvdWRQcm92aWRlcnM9e3RoaXMucHJvdmlkZXJXaXRoU3RvcmFnZSh0aGlzLnByb3BzKX1cbiAgICAgICAgICAgICAgICBvblNldENsb3VkUHJvdmlkZXI9e3RoaXMucHJvcHMucHJvdmlkZXJBY3Rpb25zLnNldENsb3VkUHJvdmlkZXJ9XG4gICAgICAgICAgICAgICAgZ2V0U2F2ZWRNYXBzPXt0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5nZXRTYXZlZE1hcHN9XG4gICAgICAgICAgICAgICAgbG9hZEZpbGVzPXt1aVN0YXRlLmxvYWRGaWxlc31cbiAgICAgICAgICAgICAgICBmaWxlTG9hZGluZz17dmlzU3RhdGUuZmlsZUxvYWRpbmd9XG4gICAgICAgICAgICAgICAgZmlsZUxvYWRpbmdQcm9ncmVzcz17dmlzU3RhdGUuZmlsZUxvYWRpbmdQcm9ncmVzc31cbiAgICAgICAgICAgICAgICBmaWxlRm9ybWF0TmFtZXM9e2dldEZpbGVGb3JtYXROYW1lcyh0aGlzLnByb3BzLnZpc1N0YXRlKX1cbiAgICAgICAgICAgICAgICBmaWxlRXh0ZW5zaW9ucz17Z2V0RmlsZUV4dGVuc2lvbnModGhpcy5wcm9wcy52aXNTdGF0ZSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5hZGREYXRhVG9NYXAnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogTG9hZERhdGFNb2RhbFN0eWxlLFxuICAgICAgICAgICAgICBmb290ZXI6IGZhbHNlLFxuICAgICAgICAgICAgICBvbkNvbmZpcm06IHRoaXMuX2Nsb3NlTW9kYWxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIEVYUE9SVF9JTUFHRV9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8RXhwb3J0SW1hZ2VNb2RhbFxuICAgICAgICAgICAgICAgIGV4cG9ydEltYWdlPXt1aVN0YXRlLmV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAgIG1hcFc9e2NvbnRhaW5lcld9XG4gICAgICAgICAgICAgICAgbWFwSD17Y29udGFpbmVySH1cbiAgICAgICAgICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZz17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0SW1hZ2VTZXR0aW5nfVxuICAgICAgICAgICAgICAgIGNsZWFudXBFeHBvcnRJbWFnZT17dWlTdGF0ZUFjdGlvbnMuY2xlYW51cEV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuZXhwb3J0SW1hZ2UnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fb25FeHBvcnRJbWFnZSxcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB1aVN0YXRlLmV4cG9ydEltYWdlLnByb2Nlc3NpbmcsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uZG93bmxvYWQnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIEVYUE9SVF9EQVRBX0lEOlxuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxFeHBvcnREYXRhTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4udWlTdGF0ZS5leHBvcnREYXRhfVxuICAgICAgICAgICAgICAgIHN1cHBvcnRlZERhdGFUeXBlcz17RVhQT1JUX0RBVEFfVFlQRV9PUFRJT05TfVxuICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICBhcHBseUNQVUZpbHRlcj17dGhpcy5wcm9wcy52aXNTdGF0ZUFjdGlvbnMuYXBwbHlDUFVGaWx0ZXJ9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VFeHBvcnREYXRhVHlwZT17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0RGF0YVR5cGV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VFeHBvcnRTZWxlY3RlZERhdGFzZXQ9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydFNlbGVjdGVkRGF0YXNldH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZUV4cG9ydEZpbHRlcmVkPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRGaWx0ZXJlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmV4cG9ydERhdGEnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fb25FeHBvcnREYXRhLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uZXhwb3J0J1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBFWFBPUlRfTUFQX0lEOlxuICAgICAgICAgICAgY29uc3Qga2VwbGVyR2xDb25maWcgPSB2aXNTdGF0ZS5zY2hlbWEuZ2V0Q29uZmlnVG9TYXZlKHtcbiAgICAgICAgICAgICAgbWFwU3R5bGUsXG4gICAgICAgICAgICAgIHZpc1N0YXRlLFxuICAgICAgICAgICAgICBtYXBTdGF0ZSxcbiAgICAgICAgICAgICAgdWlTdGF0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPEV4cG9ydE1hcE1vZGFsXG4gICAgICAgICAgICAgICAgY29uZmlnPXtrZXBsZXJHbENvbmZpZ31cbiAgICAgICAgICAgICAgICBvcHRpb25zPXt1aVN0YXRlLmV4cG9ydE1hcH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZUV4cG9ydE1hcEZvcm1hdD17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0TWFwRm9ybWF0fVxuICAgICAgICAgICAgICAgIG9uRWRpdFVzZXJNYXBib3hBY2Nlc3NUb2tlbj17dWlTdGF0ZUFjdGlvbnMuc2V0VXNlck1hcGJveEFjY2Vzc1Rva2VufVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlRXhwb3J0TWFwSFRNTE1vZGU9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydEhUTUxNYXBNb2RlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuZXhwb3J0TWFwJyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6ICcnLFxuICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsLFxuICAgICAgICAgICAgICBvbkNvbmZpcm06IHRoaXMuX29uRXhwb3J0TWFwLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uZXhwb3J0J1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBBRERfTUFQX1NUWUxFX0lEOlxuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxBZGRNYXBTdHlsZU1vZGFsXG4gICAgICAgICAgICAgICAgbWFwYm94QXBpVXJsPXt0aGlzLnByb3BzLm1hcGJveEFwaVVybH1cbiAgICAgICAgICAgICAgICBtYXBTdGF0ZT17dGhpcy5wcm9wcy5tYXBTdGF0ZX1cbiAgICAgICAgICAgICAgICBpbnB1dFN0eWxlPXttYXBTdHlsZS5pbnB1dFN0eWxlfVxuICAgICAgICAgICAgICAgIGlucHV0TWFwU3R5bGU9e3RoaXMucHJvcHMubWFwU3R5bGVBY3Rpb25zLmlucHV0TWFwU3R5bGV9XG4gICAgICAgICAgICAgICAgbG9hZEN1c3RvbU1hcFN0eWxlPXt0aGlzLnByb3BzLm1hcFN0eWxlQWN0aW9ucy5sb2FkQ3VzdG9tTWFwU3R5bGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5hZGRDdXN0b21NYXBib3hTdHlsZScsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgZm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgb25Db25maXJtOiB0aGlzLl9vbkFkZEN1c3RvbU1hcFN0eWxlLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6ICFtYXBTdHlsZS5pbnB1dFN0eWxlLnN0eWxlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmFkZFN0eWxlJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBTQVZFX01BUF9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8U2F2ZU1hcE1vZGFsXG4gICAgICAgICAgICAgICAgey4uLnByb3ZpZGVyU3RhdGV9XG4gICAgICAgICAgICAgICAgZXhwb3J0SW1hZ2U9e3VpU3RhdGUuZXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgICAgbWFwSW5mbz17dmlzU3RhdGUubWFwSW5mb31cbiAgICAgICAgICAgICAgICBvblNldE1hcEluZm89e3Zpc1N0YXRlQWN0aW9ucy5zZXRNYXBJbmZvfVxuICAgICAgICAgICAgICAgIGNsb3VkUHJvdmlkZXJzPXt0aGlzLnByb3ZpZGVyV2l0aFN0b3JhZ2UodGhpcy5wcm9wcyl9XG4gICAgICAgICAgICAgICAgb25TZXRDbG91ZFByb3ZpZGVyPXt0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5zZXRDbG91ZFByb3ZpZGVyfVxuICAgICAgICAgICAgICAgIGNsZWFudXBFeHBvcnRJbWFnZT17dWlTdGF0ZUFjdGlvbnMuY2xlYW51cEV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRJbWFnZVNldHRpbmd9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5zYXZlTWFwJyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6ICcnLFxuICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsLFxuICAgICAgICAgICAgICBvbkNvbmZpcm06ICgpID0+IHRoaXMuX29uU2F2ZU1hcChmYWxzZSksXG4gICAgICAgICAgICAgIGNvbmZpcm1CdXR0b246IHtcbiAgICAgICAgICAgICAgICBsYXJnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDpcbiAgICAgICAgICAgICAgICAgIHVpU3RhdGUuZXhwb3J0SW1hZ2UucHJvY2Vzc2luZyB8fFxuICAgICAgICAgICAgICAgICAgIWlzVmFsaWRNYXBJbmZvKHZpc1N0YXRlLm1hcEluZm8pIHx8XG4gICAgICAgICAgICAgICAgICAhcHJvdmlkZXJTdGF0ZS5jdXJyZW50UHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uc2F2ZSdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgT1ZFUldSSVRFX01BUF9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8T3ZlcldyaXRlTWFwTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4ucHJvdmlkZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICBjbG91ZFByb3ZpZGVycz17dGhpcy5wcm9wcy5jbG91ZFByb3ZpZGVyc31cbiAgICAgICAgICAgICAgICB0aXRsZT17Z2V0KHZpc1N0YXRlLCBbJ21hcEluZm8nLCAndGl0bGUnXSl9XG4gICAgICAgICAgICAgICAgb25VcGRhdGVJbWFnZVNldHRpbmc9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydEltYWdlU2V0dGluZ31cbiAgICAgICAgICAgICAgICBjbGVhbnVwRXhwb3J0SW1hZ2U9e3VpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ092ZXJ3cml0ZSBFeGlzdGluZyBGaWxlPycsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiBzbWFsbE1vZGFsQ3NzLFxuICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fb25PdmVyd3JpdGVNYXAsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdZZXMnLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOlxuICAgICAgICAgICAgICAgICAgdWlTdGF0ZS5leHBvcnRJbWFnZS5wcm9jZXNzaW5nIHx8XG4gICAgICAgICAgICAgICAgICAhaXNWYWxpZE1hcEluZm8odmlzU3RhdGUubWFwSW5mbykgfHxcbiAgICAgICAgICAgICAgICAgICFwcm92aWRlclN0YXRlLmN1cnJlbnRQcm92aWRlclxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBTSEFSRV9NQVBfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPFNoYXJlTWFwTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4ucHJvdmlkZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICBpc1JlYWR5PXshdWlTdGF0ZS5leHBvcnRJbWFnZS5wcm9jZXNzaW5nfVxuICAgICAgICAgICAgICAgIGNsb3VkUHJvdmlkZXJzPXt0aGlzLnByb3ZpZGVyV2l0aFNoYXJlKHRoaXMucHJvcHMpfVxuICAgICAgICAgICAgICAgIG9uRXhwb3J0PXt0aGlzLl9vblNoYXJlTWFwVXJsfVxuICAgICAgICAgICAgICAgIG9uU2V0Q2xvdWRQcm92aWRlcj17dGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMuc2V0Q2xvdWRQcm92aWRlcn1cbiAgICAgICAgICAgICAgICBjbGVhbnVwRXhwb3J0SW1hZ2U9e3VpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZX1cbiAgICAgICAgICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZz17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0SW1hZ2VTZXR0aW5nfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuc2hhcmVVUkwnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9vbkNsb3NlU2F2ZU1hcFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5yb290Tm9kZSA/IChcbiAgICAgICAgPE1vZGFsRGlhbG9nXG4gICAgICAgICAgaXNPcGVuPXtCb29sZWFuKGN1cnJlbnRNb2RhbCl9XG4gICAgICAgICAgb25DYW5jZWw9e3RoaXMuX2Nsb3NlTW9kYWx9XG4gICAgICAgICAgey4uLm1vZGFsUHJvcHN9XG4gICAgICAgICAgY3NzU3R5bGU9e0RlZmF1bHRTdHlsZS5jb25jYXQobW9kYWxQcm9wcy5jc3NTdHlsZSl9XG4gICAgICAgID5cbiAgICAgICAgICB7dGVtcGxhdGV9XG4gICAgICAgIDwvTW9kYWxEaWFsb2c+XG4gICAgICApIDogbnVsbDtcbiAgICB9XG4gICAgLyogZXNsaW50LWVuYWJsZSBjb21wbGV4aXR5ICovXG4gIH1cblxuICByZXR1cm4gTW9kYWxDb250YWluZXI7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFNLGdCQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFILHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBUSxZQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxhQUFBLEdBQUFULE9BQUE7QUFHQSxJQUFBVSxnQkFBQSxHQUFBTixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVcsa0JBQUEsR0FBQVAsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFZLGVBQUEsR0FBQVIsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFhLGNBQUEsR0FBQVQsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFjLGlCQUFBLEdBQUFWLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBZSxnQkFBQSxHQUFBWCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWdCLGVBQUEsR0FBQVosc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFpQixpQkFBQSxHQUFBYixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWtCLGFBQUEsR0FBQWQsc0JB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
|
|
459
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9yZXNlbGVjdCIsIl9nZXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2RvY3VtZW50IiwiX2RlZmF1bHRTZXR0aW5ncyIsIl9tb2RhbERpYWxvZyIsIl9leHBvcnRVdGlscyIsIl9tYXBJbmZvVXRpbHMiLCJfZGVsZXRlRGF0YU1vZGFsIiwiX292ZXJ3cml0ZU1hcE1vZGFsIiwiX2RhdGFUYWJsZU1vZGFsIiwiX2xvYWREYXRhTW9kYWwiLCJfZXhwb3J0SW1hZ2VNb2RhbCIsIl9leHBvcnREYXRhTW9kYWwiLCJfZXhwb3J0TWFwTW9kYWwiLCJfYWRkTWFwU3R5bGVNb2RhbCIsIl9zYXZlTWFwTW9kYWwiLCJfc2hhcmVNYXBNb2RhbCIsIl9tZWRpYUJyZWFrcG9pbnRzIiwiX2tleWV2ZW50IiwiX3Zpc1N0YXRlU2VsZWN0b3JzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiRGF0YVRhYmxlTW9kYWxTdHlsZSIsImNzcyIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwibWVkaWEiLCJwb3J0YWJsZSIsInBhbG0iLCJzbWFsbE1vZGFsQ3NzIiwiTG9hZERhdGFNb2RhbFN0eWxlIiwiRGVmYXVsdFN0eWxlIiwiTW9kYWxDb250YWluZXJGYWN0b3J5IiwiZGVwcyIsIkRlbGV0ZURhdGFzZXRNb2RhbEZhY3RvcnkiLCJPdmVyV3JpdGVNYXBNb2RhbEZhY3RvcnkiLCJEYXRhVGFibGVNb2RhbEZhY3RvcnkiLCJMb2FkRGF0YU1vZGFsRmFjdG9yeSIsIkV4cG9ydEltYWdlTW9kYWxGYWN0b3J5IiwiRXhwb3J0RGF0YU1vZGFsRmFjdG9yeSIsIkV4cG9ydE1hcE1vZGFsRmFjdG9yeSIsIkFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5IiwiTW9kYWxEaWFsb2dGYWN0b3J5IiwiU2F2ZU1hcE1vZGFsRmFjdG9yeSIsIlNoYXJlTWFwTW9kYWxGYWN0b3J5IiwiRGVsZXRlRGF0YXNldE1vZGFsIiwiT3ZlcldyaXRlTWFwTW9kYWwiLCJEYXRhVGFibGVNb2RhbCIsIkxvYWREYXRhTW9kYWwiLCJFeHBvcnRJbWFnZU1vZGFsIiwiRXhwb3J0RGF0YU1vZGFsIiwiRXhwb3J0TWFwTW9kYWwiLCJBZGRNYXBTdHlsZU1vZGFsIiwiTW9kYWxEaWFsb2ciLCJTYXZlTWFwTW9kYWwiLCJTaGFyZU1hcE1vZGFsIiwiTW9kYWxDb250YWluZXIiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJfb25LZXlVcCIsInByb3BzIiwiY2xvdWRQcm92aWRlcnMiLCJjcmVhdGVTZWxlY3RvciIsInAiLCJoYXNQcml2YXRlU3RvcmFnZSIsImhhc1NoYXJpbmdVcmwiLCJldmVudCIsImtleUNvZGUiLCJLZXlFdmVudCIsIkRPTV9WS19FU0NBUEUiLCJfY2xvc2VNb2RhbCIsInVpU3RhdGVBY3Rpb25zIiwidG9nZ2xlTW9kYWwiLCJrZXkiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJyZW1vdmVEYXRhc2V0IiwibWFwU3R5bGVBY3Rpb25zIiwiYWRkQ3VzdG9tTWFwU3R5bGUiLCJmaWxlTGlzdCIsImxvYWRGaWxlcyIsInVpU3RhdGUiLCJleHBvcnRJbWFnZSIsInByb2Nlc3NpbmciLCJhcHBOYW1lIiwiY2xlYW51cEV4cG9ydEltYWdlIiwiZXhwb3J0RGF0YSIsImZvcm1hdCIsImV4cG9ydE1hcCIsIkVYUE9SVF9NQVBfRk9STUFUUyIsIkhUTUwiLCJleHBvcnRIdG1sIiwiZXhwb3J0SnNvbiIsIl9yZWYiLCJwcm92aWRlciIsImlzUHVibGljIiwib3ZlcndyaXRlIiwiY2xvc2VNb2RhbCIsInRvU2F2ZSIsInByb3ZpZGVyQWN0aW9ucyIsImV4cG9ydEZpbGVUb0Nsb3VkIiwibWFwRGF0YSIsIm9wdGlvbnMiLCJvblN1Y2Nlc3MiLCJvbkV4cG9ydFRvQ2xvdWRTdWNjZXNzIiwib25FcnJvciIsIm9uRXhwb3J0VG9DbG91ZEVycm9yIiwidW5kZWZpbmVkIiwiY3VycmVudFByb3ZpZGVyIiwicHJvdmlkZXJTdGF0ZSIsImZpbmQiLCJuYW1lIiwiX2V4cG9ydEZpbGVUb0Nsb3VkIiwiX29uU2F2ZU1hcCIsInJlc2V0UHJvdmlkZXJTdGF0dXMiLCJwYXlsb2FkIiwibG9hZENsb3VkTWFwIiwib25Mb2FkQ2xvdWRNYXBTdWNjZXNzIiwib25Mb2FkQ2xvdWRNYXBFcnJvciIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwidmFsdWUiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZW5kZXIiLCJfdGhpczIiLCJfdGhpcyRwcm9wcyIsImNvbnRhaW5lclciLCJjb250YWluZXJIIiwibWFwU3R5bGUiLCJtYXBTdGF0ZSIsInZpc1N0YXRlIiwiY3VycmVudE1vZGFsIiwiZGF0YXNldEtleVRvUmVtb3ZlIiwiZGF0YXNldHMiLCJsYXllcnMiLCJlZGl0aW5nRGF0YXNldCIsInRlbXBsYXRlIiwibW9kYWxQcm9wcyIsImlkIiwiY3JlYXRlRWxlbWVudCIsIkRBVEFfVEFCTEVfSUQiLCJ3aWR0aCIsImRhdGFJZCIsInNob3dEYXRhc2V0VGFibGUiLCJzb3J0VGFibGVDb2x1bW4iLCJwaW5UYWJsZUNvbHVtbiIsImNvcHlUYWJsZUNvbHVtbiIsImNzc1N0eWxlIiwiREVMRVRFX0RBVEFfSUQiLCJkYXRhc2V0IiwidGl0bGUiLCJmb290ZXIiLCJvbkNvbmZpcm0iLCJfZGVsZXRlRGF0YXNldCIsIm9uQ2FuY2VsIiwiY29uZmlybUJ1dHRvbiIsIm5lZ2F0aXZlIiwibGFyZ2UiLCJjaGlsZHJlbiIsIkFERF9EQVRBX0lEIiwiX2V4dGVuZHMyIiwib25DbG9zZSIsIm9uRmlsZVVwbG9hZCIsIl9vbkZpbGVVcGxvYWQiLCJvbkxvYWRDbG91ZE1hcCIsIl9vbkxvYWRDbG91ZE1hcCIsInByb3ZpZGVyV2l0aFN0b3JhZ2UiLCJvblNldENsb3VkUHJvdmlkZXIiLCJzZXRDbG91ZFByb3ZpZGVyIiwiZ2V0U2F2ZWRNYXBzIiwiZmlsZUxvYWRpbmciLCJmaWxlTG9hZGluZ1Byb2dyZXNzIiwiZmlsZUZvcm1hdE5hbWVzIiwiZ2V0RmlsZUZvcm1hdE5hbWVzIiwiZmlsZUV4dGVuc2lvbnMiLCJnZXRGaWxlRXh0ZW5zaW9ucyIsIkVYUE9SVF9JTUFHRV9JRCIsIm1hcFciLCJtYXBIIiwib25VcGRhdGVJbWFnZVNldHRpbmciLCJzZXRFeHBvcnRJbWFnZVNldHRpbmciLCJfb25FeHBvcnRJbWFnZSIsImRpc2FibGVkIiwiRVhQT1JUX0RBVEFfSUQiLCJzdXBwb3J0ZWREYXRhVHlwZXMiLCJFWFBPUlRfREFUQV9UWVBFX09QVElPTlMiLCJhcHBseUNQVUZpbHRlciIsIm9uQ2hhbmdlRXhwb3J0RGF0YVR5cGUiLCJzZXRFeHBvcnREYXRhVHlwZSIsIm9uQ2hhbmdlRXhwb3J0U2VsZWN0ZWREYXRhc2V0Iiwic2V0RXhwb3J0U2VsZWN0ZWREYXRhc2V0Iiwib25DaGFuZ2VFeHBvcnRGaWx0ZXJlZCIsInNldEV4cG9ydEZpbHRlcmVkIiwiX29uRXhwb3J0RGF0YSIsIkVYUE9SVF9NQVBfSUQiLCJrZXBsZXJHbENvbmZpZyIsInNjaGVtYSIsImdldENvbmZpZ1RvU2F2ZSIsImNvbmZpZyIsIm9uQ2hhbmdlRXhwb3J0TWFwRm9ybWF0Iiwic2V0RXhwb3J0TWFwRm9ybWF0Iiwib25FZGl0VXNlck1hcGJveEFjY2Vzc1Rva2VuIiwic2V0VXNlck1hcGJveEFjY2Vzc1Rva2VuIiwib25DaGFuZ2VFeHBvcnRNYXBIVE1MTW9kZSIsInNldEV4cG9ydEhUTUxNYXBNb2RlIiwiX29uRXhwb3J0TWFwIiwiQUREX01BUF9TVFlMRV9JRCIsIm1hcGJveEFwaVVybCIsImlucHV0U3R5bGUiLCJpbnB1dE1hcFN0eWxlIiwibG9hZEN1c3RvbU1hcFN0eWxlIiwiX29uQWRkQ3VzdG9tTWFwU3R5bGUiLCJzdHlsZSIsIlNBVkVfTUFQX0lEIiwibWFwSW5mbyIsIm9uU2V0TWFwSW5mbyIsInNldE1hcEluZm8iLCJpc1ZhbGlkTWFwSW5mbyIsIk9WRVJXUklURV9NQVBfSUQiLCJfb25PdmVyd3JpdGVNYXAiLCJTSEFSRV9NQVBfSUQiLCJpc1JlYWR5IiwicHJvdmlkZXJXaXRoU2hhcmUiLCJvbkV4cG9ydCIsIl9vblNoYXJlTWFwVXJsIiwiX29uQ2xvc2VTYXZlTWFwIiwicm9vdE5vZGUiLCJpc09wZW4iLCJDb21wb25lbnQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9tb2RhbC1jb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtjc3N9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Y3JlYXRlU2VsZWN0b3J9IGZyb20gJ3Jlc2VsZWN0JztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5pbXBvcnQgZG9jdW1lbnQgZnJvbSAnZ2xvYmFsL2RvY3VtZW50JztcblxuaW1wb3J0IHtFWFBPUlRfREFUQV9UWVBFX09QVElPTlMsIEVYUE9SVF9NQVBfRk9STUFUU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuaW1wb3J0IE1vZGFsRGlhbG9nRmFjdG9yeSBmcm9tICcuL21vZGFscy9tb2RhbC1kaWFsb2cnO1xuaW1wb3J0IHtleHBvcnRKc29uLCBleHBvcnRIdG1sLCBleHBvcnREYXRhLCBleHBvcnRJbWFnZSwgZXhwb3J0TWFwfSBmcm9tICd1dGlscy9leHBvcnQtdXRpbHMnO1xuaW1wb3J0IHtpc1ZhbGlkTWFwSW5mb30gZnJvbSAndXRpbHMvbWFwLWluZm8tdXRpbHMnO1xuXG4vLyBtb2RhbHNcbmltcG9ydCBEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2RlbGV0ZS1kYXRhLW1vZGFsJztcbmltcG9ydCBPdmVyV3JpdGVNYXBNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvb3ZlcndyaXRlLW1hcC1tb2RhbCc7XG5pbXBvcnQgRGF0YVRhYmxlTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2RhdGEtdGFibGUtbW9kYWwnO1xuaW1wb3J0IExvYWREYXRhTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2xvYWQtZGF0YS1tb2RhbCc7XG5pbXBvcnQgRXhwb3J0SW1hZ2VNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvZXhwb3J0LWltYWdlLW1vZGFsJztcbmltcG9ydCBFeHBvcnREYXRhTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2V4cG9ydC1kYXRhLW1vZGFsJztcbmltcG9ydCBFeHBvcnRNYXBNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvZXhwb3J0LW1hcC1tb2RhbC9leHBvcnQtbWFwLW1vZGFsJztcbmltcG9ydCBBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9hZGQtbWFwLXN0eWxlLW1vZGFsJztcbmltcG9ydCBTYXZlTWFwTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL3NhdmUtbWFwLW1vZGFsJztcbmltcG9ydCBTaGFyZU1hcE1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9zaGFyZS1tYXAtbW9kYWwnO1xuXG4vLyBCcmVha3BvaW50c1xuaW1wb3J0IHttZWRpYX0gZnJvbSAnc3R5bGVzL21lZGlhLWJyZWFrcG9pbnRzJztcblxuLy8gVGVtcGxhdGVcbmltcG9ydCB7XG4gIEFERF9EQVRBX0lELFxuICBEQVRBX1RBQkxFX0lELFxuICBERUxFVEVfREFUQV9JRCxcbiAgRVhQT1JUX0RBVEFfSUQsXG4gIEVYUE9SVF9JTUFHRV9JRCxcbiAgRVhQT1JUX01BUF9JRCxcbiAgQUREX01BUF9TVFlMRV9JRCxcbiAgU0FWRV9NQVBfSUQsXG4gIFNIQVJFX01BUF9JRCxcbiAgT1ZFUldSSVRFX01BUF9JRFxufSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5cbmltcG9ydCBLZXlFdmVudCBmcm9tICdjb25zdGFudHMva2V5ZXZlbnQnO1xuaW1wb3J0IHtnZXRGaWxlRm9ybWF0TmFtZXMsIGdldEZpbGVFeHRlbnNpb25zfSBmcm9tICcuLi9yZWR1Y2Vycy92aXMtc3RhdGUtc2VsZWN0b3JzJztcbmltcG9ydCB7TWFwU3RhdGUsIE1hcFN0eWxlLCBVaVN0YXRlLCBWaXNTdGF0ZX0gZnJvbSAncmVkdWNlcnMnO1xuaW1wb3J0IHtPblN1Y2Nlc3NDYWxsQmFjaywgT25FcnJvckNhbGxCYWNrfSBmcm9tICdhY3Rpb25zJztcbmltcG9ydCB7UHJvdmlkZXJTdGF0ZX0gZnJvbSAncmVkdWNlcnMvcHJvdmlkZXItc3RhdGUtdXBkYXRlcnMnO1xuXG5pbXBvcnQgKiBhcyBWaXNTdGF0ZUFjdGlvbnMgZnJvbSAnYWN0aW9ucy92aXMtc3RhdGUtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBVSVN0YXRlQWN0aW9ucyBmcm9tICdhY3Rpb25zL3VpLXN0YXRlLWFjdGlvbnMnO1xuaW1wb3J0ICogYXMgTWFwU3R5bGVBY3Rpb25zIGZyb20gJ2FjdGlvbnMvbWFwLXN0eWxlLWFjdGlvbnMnO1xuaW1wb3J0ICogYXMgUHJvdmlkZXJBY3Rpb25zIGZyb20gJ2FjdGlvbnMvcHJvdmlkZXItYWN0aW9ucyc7XG5pbXBvcnQge01vZGFsRGlhbG9nUHJvcHN9IGZyb20gJy4vY29tbW9uL21vZGFsJztcbmltcG9ydCB7UHJvdmlkZXJ9IGZyb20gJ2Nsb3VkLXByb3ZpZGVycyc7XG5cbmNvbnN0IERhdGFUYWJsZU1vZGFsU3R5bGUgPSBjc3NgXG4gIHRvcDogODBweDtcbiAgcGFkZGluZzogMzJweCAwIDAgMDtcbiAgd2lkdGg6IDkwdnc7XG4gIG1heC13aWR0aDogOTB2dztcblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIHBhZGRpbmc6IDA7XG4gIGB9ICR7bWVkaWEucGFsbWBcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICBgfTtcbmA7XG5jb25zdCBzbWFsbE1vZGFsQ3NzID0gY3NzYFxuICB3aWR0aDogNDAlO1xuICBwYWRkaW5nOiA0MHB4IDQwcHggMzJweCA0MHB4O1xuYDtcblxuY29uc3QgTG9hZERhdGFNb2RhbFN0eWxlID0gY3NzYFxuICB0b3A6IDYwcHg7XG5gO1xuXG5jb25zdCBEZWZhdWx0U3R5bGUgPSBjc3NgXG4gIG1heC13aWR0aDogOTYwcHg7XG5gO1xuXG5leHBvcnQgdHlwZSBNb2RhbENvbnRhaW5lclByb3BzID0ge1xuICBhcHBOYW1lOiBzdHJpbmc7XG4gIHJvb3ROb2RlOiBSZWFjdC5SZWFjdEluc3RhbmNlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgY29udGFpbmVyVzogbnVtYmVyO1xuICBjb250YWluZXJIOiBudW1iZXI7XG4gIG1hcGJveEFwaVVybD86IHN0cmluZztcbiAgbWFwU3RhdGU6IE1hcFN0YXRlO1xuICBtYXBTdHlsZTogTWFwU3R5bGU7XG4gIHVpU3RhdGU6IFVpU3RhdGU7XG4gIHZpc1N0YXRlOiBWaXNTdGF0ZTtcbiAgcHJvdmlkZXJTdGF0ZTogUHJvdmlkZXJTdGF0ZTtcbiAgdmlzU3RhdGVBY3Rpb25zOiB0eXBlb2YgVmlzU3RhdGVBY3Rpb25zO1xuICB1aVN0YXRlQWN0aW9uczogdHlwZW9mIFVJU3RhdGVBY3Rpb25zO1xuICBtYXBTdHlsZUFjdGlvbnM6IHR5cGVvZiBNYXBTdHlsZUFjdGlvbnM7XG4gIHByb3ZpZGVyQWN0aW9uczogdHlwZW9mIFByb3ZpZGVyQWN0aW9ucztcbiAgb25TYXZlVG9TdG9yYWdlPzogKCkgPT4gdm9pZDtcbiAgY2xvdWRQcm92aWRlcnM6IFByb3ZpZGVyW107XG4gIG9uTG9hZENsb3VkTWFwU3VjY2Vzcz86IE9uU3VjY2Vzc0NhbGxCYWNrO1xuICBvbkxvYWRDbG91ZE1hcEVycm9yPzogT25FcnJvckNhbGxCYWNrO1xuICBvbkV4cG9ydFRvQ2xvdWRTdWNjZXNzPzogT25TdWNjZXNzQ2FsbEJhY2s7XG4gIG9uRXhwb3J0VG9DbG91ZEVycm9yPzogT25FcnJvckNhbGxCYWNrO1xufTtcblxuTW9kYWxDb250YWluZXJGYWN0b3J5LmRlcHMgPSBbXG4gIERlbGV0ZURhdGFzZXRNb2RhbEZhY3RvcnksXG4gIE92ZXJXcml0ZU1hcE1vZGFsRmFjdG9yeSxcbiAgRGF0YVRhYmxlTW9kYWxGYWN0b3J5LFxuICBMb2FkRGF0YU1vZGFsRmFjdG9yeSxcbiAgRXhwb3J0SW1hZ2VNb2RhbEZhY3RvcnksXG4gIEV4cG9ydERhdGFNb2RhbEZhY3RvcnksXG4gIEV4cG9ydE1hcE1vZGFsRmFjdG9yeSxcbiAgQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnksXG4gIE1vZGFsRGlhbG9nRmFjdG9yeSxcbiAgU2F2ZU1hcE1vZGFsRmFjdG9yeSxcbiAgU2hhcmVNYXBNb2RhbEZhY3Rvcnlcbl07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1vZGFsQ29udGFpbmVyRmFjdG9yeShcbiAgRGVsZXRlRGF0YXNldE1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5PixcbiAgT3ZlcldyaXRlTWFwTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIE92ZXJXcml0ZU1hcE1vZGFsRmFjdG9yeT4sXG4gIERhdGFUYWJsZU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBEYXRhVGFibGVNb2RhbEZhY3Rvcnk+LFxuICBMb2FkRGF0YU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBMb2FkRGF0YU1vZGFsRmFjdG9yeT4sXG4gIEV4cG9ydEltYWdlTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIEV4cG9ydEltYWdlTW9kYWxGYWN0b3J5PixcbiAgRXhwb3J0RGF0YU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBFeHBvcnREYXRhTW9kYWxGYWN0b3J5PixcbiAgRXhwb3J0TWFwTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIEV4cG9ydE1hcE1vZGFsRmFjdG9yeT4sXG4gIEFkZE1hcFN0eWxlTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIEFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5PixcbiAgTW9kYWxEaWFsb2c6IFJldHVyblR5cGU8dHlwZW9mIE1vZGFsRGlhbG9nRmFjdG9yeT4sXG4gIFNhdmVNYXBNb2RhbDogUmV0dXJuVHlwZTx0eXBlb2YgU2F2ZU1hcE1vZGFsRmFjdG9yeT4sXG4gIFNoYXJlTWFwTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIFNoYXJlTWFwTW9kYWxGYWN0b3J5PlxuKTogUmVhY3QuRWxlbWVudFR5cGU8TW9kYWxDb250YWluZXJQcm9wcz4ge1xuICAvKiogQGF1Z21lbnRzIFJlYWN0LkNvbXBvbmVudDxNb2RhbENvbnRhaW5lclByb3BzPiAqL1xuICBjbGFzcyBNb2RhbENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudDxNb2RhbENvbnRhaW5lclByb3BzPiB7XG4gICAgLy8gVE9ETyAtIHJlbW92ZSB3aGVuIHByb3AgdHlwZXMgYXJlIGZ1bGx5IGV4cG9ydGVkXG4gICAgY29tcG9uZW50RGlkTW91bnQgPSAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX29uS2V5VXApO1xuICAgIH07XG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX29uS2V5VXApO1xuICAgIH1cblxuICAgIGNsb3VkUHJvdmlkZXJzID0gcHJvcHMgPT4gcHJvcHMuY2xvdWRQcm92aWRlcnM7XG4gICAgcHJvdmlkZXJXaXRoU3RvcmFnZSA9IGNyZWF0ZVNlbGVjdG9yKHRoaXMuY2xvdWRQcm92aWRlcnMsIGNsb3VkUHJvdmlkZXJzID0+XG4gICAgICBjbG91ZFByb3ZpZGVycy5maWx0ZXIocCA9PiBwLmhhc1ByaXZhdGVTdG9yYWdlKCkpXG4gICAgKTtcbiAgICBwcm92aWRlcldpdGhTaGFyZSA9IGNyZWF0ZVNlbGVjdG9yKHRoaXMuY2xvdWRQcm92aWRlcnMsIGNsb3VkUHJvdmlkZXJzID0+XG4gICAgICBjbG91ZFByb3ZpZGVycy5maWx0ZXIocCA9PiBwLmhhc1NoYXJpbmdVcmwoKSlcbiAgICApO1xuXG4gICAgX29uS2V5VXAgPSBldmVudCA9PiB7XG4gICAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcbiAgICAgIGlmIChrZXlDb2RlID09PSBLZXlFdmVudC5ET01fVktfRVNDQVBFKSB7XG4gICAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX2Nsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnVpU3RhdGVBY3Rpb25zLnRvZ2dsZU1vZGFsKG51bGwpO1xuICAgIH07XG5cbiAgICBfZGVsZXRlRGF0YXNldCA9IGtleSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy5yZW1vdmVEYXRhc2V0KGtleSk7XG4gICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgfTtcblxuICAgIF9vbkFkZEN1c3RvbU1hcFN0eWxlID0gKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5tYXBTdHlsZUFjdGlvbnMuYWRkQ3VzdG9tTWFwU3R5bGUoKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uRmlsZVVwbG9hZCA9IGZpbGVMaXN0ID0+IHtcbiAgICAgIHRoaXMucHJvcHMudmlzU3RhdGVBY3Rpb25zLmxvYWRGaWxlcyhmaWxlTGlzdCk7XG4gICAgfTtcblxuICAgIF9vbkV4cG9ydEltYWdlID0gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnByb3BzLnVpU3RhdGUuZXhwb3J0SW1hZ2UucHJvY2Vzc2luZykge1xuICAgICAgICAvLyBAdHMtaWdub3JlIFRPRE86IGZpeCBleHBvcnRJbWFnZSBtZXRob2RcbiAgICAgICAgZXhwb3J0SW1hZ2UodGhpcy5wcm9wcy51aVN0YXRlLmV4cG9ydEltYWdlLCBgJHt0aGlzLnByb3BzLmFwcE5hbWV9LnBuZ2ApO1xuICAgICAgICB0aGlzLnByb3BzLnVpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZSgpO1xuICAgICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9vbkV4cG9ydERhdGEgPSAoKSA9PiB7XG4gICAgICBleHBvcnREYXRhKHRoaXMucHJvcHMsIHRoaXMucHJvcHMudWlTdGF0ZS5leHBvcnREYXRhKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uRXhwb3J0TWFwID0gKCkgPT4ge1xuICAgICAgY29uc3Qge3VpU3RhdGV9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHtmb3JtYXR9ID0gdWlTdGF0ZS5leHBvcnRNYXA7XG4gICAgICAoZm9ybWF0ID09PSBFWFBPUlRfTUFQX0ZPUk1BVFMuSFRNTCA/IGV4cG9ydEh0bWwgOiBleHBvcnRKc29uKShcbiAgICAgICAgdGhpcy5wcm9wcyxcbiAgICAgICAgdGhpcy5wcm9wcy51aVN0YXRlLmV4cG9ydE1hcFtmb3JtYXRdIHx8IHt9XG4gICAgICApO1xuICAgICAgdGhpcy5fY2xvc2VNb2RhbCgpO1xuICAgIH07XG5cbiAgICBfZXhwb3J0RmlsZVRvQ2xvdWQgPSAoe3Byb3ZpZGVyLCBpc1B1YmxpYywgb3ZlcndyaXRlLCBjbG9zZU1vZGFsfSkgPT4ge1xuICAgICAgY29uc3QgdG9TYXZlID0gZXhwb3J0TWFwKHRoaXMucHJvcHMpO1xuXG4gICAgICB0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5leHBvcnRGaWxlVG9DbG91ZCh7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgbWFwRGF0YTogdG9TYXZlLFxuICAgICAgICBwcm92aWRlcixcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGlzUHVibGljLFxuICAgICAgICAgIG92ZXJ3cml0ZVxuICAgICAgICB9LFxuICAgICAgICBjbG9zZU1vZGFsLFxuICAgICAgICBvblN1Y2Nlc3M6IHRoaXMucHJvcHMub25FeHBvcnRUb0Nsb3VkU3VjY2VzcyxcbiAgICAgICAgb25FcnJvcjogdGhpcy5wcm9wcy5vbkV4cG9ydFRvQ2xvdWRFcnJvclxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIF9vblNhdmVNYXAgPSAob3ZlcndyaXRlID0gZmFsc2UpID0+IHtcbiAgICAgIGNvbnN0IHtjdXJyZW50UHJvdmlkZXJ9ID0gdGhpcy5wcm9wcy5wcm92aWRlclN0YXRlO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLnByb3BzLmNsb3VkUHJvdmlkZXJzLmZpbmQocCA9PiBwLm5hbWUgPT09IGN1cnJlbnRQcm92aWRlcik7XG4gICAgICB0aGlzLl9leHBvcnRGaWxlVG9DbG91ZCh7XG4gICAgICAgIHByb3ZpZGVyLFxuICAgICAgICBpc1B1YmxpYzogZmFsc2UsXG4gICAgICAgIG92ZXJ3cml0ZSxcbiAgICAgICAgY2xvc2VNb2RhbDogdHJ1ZVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIF9vbk92ZXJ3cml0ZU1hcCA9ICgpID0+IHtcbiAgICAgIHRoaXMuX29uU2F2ZU1hcCh0cnVlKTtcbiAgICB9O1xuXG4gICAgX29uU2hhcmVNYXBVcmwgPSBwcm92aWRlciA9PiB7XG4gICAgICB0aGlzLl9leHBvcnRGaWxlVG9DbG91ZCh7cHJvdmlkZXIsIGlzUHVibGljOiB0cnVlLCBvdmVyd3JpdGU6IGZhbHNlLCBjbG9zZU1vZGFsOiBmYWxzZX0pO1xuICAgIH07XG5cbiAgICBfb25DbG9zZVNhdmVNYXAgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5yZXNldFByb3ZpZGVyU3RhdHVzKCk7XG4gICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgfTtcblxuICAgIF9vbkxvYWRDbG91ZE1hcCA9IHBheWxvYWQgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMubG9hZENsb3VkTWFwKHtcbiAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgb25TdWNjZXNzOiB0aGlzLnByb3BzLm9uTG9hZENsb3VkTWFwU3VjY2VzcyxcbiAgICAgICAgb25FcnJvcjogdGhpcy5wcm9wcy5vbkxvYWRDbG91ZE1hcEVycm9yXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgY29udGFpbmVyVyxcbiAgICAgICAgY29udGFpbmVySCxcbiAgICAgICAgbWFwU3R5bGUsXG4gICAgICAgIG1hcFN0YXRlLFxuICAgICAgICB1aVN0YXRlLFxuICAgICAgICB2aXNTdGF0ZSxcbiAgICAgICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgICAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICAgICAgcHJvdmlkZXJTdGF0ZVxuICAgICAgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCB7Y3VycmVudE1vZGFsLCBkYXRhc2V0S2V5VG9SZW1vdmV9ID0gdWlTdGF0ZTtcbiAgICAgIGNvbnN0IHtkYXRhc2V0cywgbGF5ZXJzLCBlZGl0aW5nRGF0YXNldH0gPSB2aXNTdGF0ZTtcblxuICAgICAgbGV0IHRlbXBsYXRlOiBKU1guRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgICAgbGV0IG1vZGFsUHJvcHM6IFBhcnRpYWw8TW9kYWxEaWFsb2dQcm9wcz4gPSB7fTtcblxuICAgICAgLy8gVE9ETyAtIGN1cnJlbnRNb2RhbCBpcyBhIHN0cmluZ1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKGN1cnJlbnRNb2RhbCAmJiBjdXJyZW50TW9kYWwuaWQgJiYgY3VycmVudE1vZGFsLnRlbXBsYXRlKSB7XG4gICAgICAgIC8vIGlmIGN1cnJlbnRNZG9hbCB0ZW1wbGF0ZSBpcyBhbHJlYWR5IHByb3ZpZGVkXG4gICAgICAgIC8vIFRPRE86IG5lZWQgdG8gY2hlY2sgd2hldGhlciB0ZW1wbGF0ZSBpcyB2YWxpZFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRlbXBsYXRlID0gPGN1cnJlbnRNb2RhbC50ZW1wbGF0ZSAvPjtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBtb2RhbFByb3BzID0gY3VycmVudE1vZGFsLm1vZGFsUHJvcHM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGN1cnJlbnRNb2RhbCkge1xuICAgICAgICAgIGNhc2UgREFUQV9UQUJMRV9JRDpcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gY29udGFpbmVyVyAqIDAuOTtcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8RGF0YVRhYmxlTW9kYWxcbiAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgZGF0YUlkPXtlZGl0aW5nRGF0YXNldH1cbiAgICAgICAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXt2aXNTdGF0ZUFjdGlvbnMuc2hvd0RhdGFzZXRUYWJsZX1cbiAgICAgICAgICAgICAgICBzb3J0VGFibGVDb2x1bW49e3Zpc1N0YXRlQWN0aW9ucy5zb3J0VGFibGVDb2x1bW59XG4gICAgICAgICAgICAgICAgcGluVGFibGVDb2x1bW49e3Zpc1N0YXRlQWN0aW9ucy5waW5UYWJsZUNvbHVtbn1cbiAgICAgICAgICAgICAgICBjb3B5VGFibGVDb2x1bW49e3Zpc1N0YXRlQWN0aW9ucy5jb3B5VGFibGVDb2x1bW59XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBUT0RPOiB3ZSBuZWVkIHRvIG1ha2UgdGhpcyB3aWR0aCBjb25zaXN0ZW50IHdpdGggdGhlIGNzcyBydWxlIGRlZmluZWQgbW9kYWwuanM6MzIgbWF4LXdpZHRoOiA3MHZ3XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlIC8vIFRPRE8gZml4IHRoaXMgYWZ0ZXIgYWRkIHR5cGVzIHRvIFRoZW1lXG4gICAgICAgICAgICBtb2RhbFByb3BzLmNzc1N0eWxlID0gY3NzYFxuICAgICAgICAgICAgICAke0RhdGFUYWJsZU1vZGFsU3R5bGV9O1xuICAgICAgICAgICAgICAke21lZGlhLnBhbG1gXG4gICAgICAgICAgICAgICAgd2lkdGg6ICR7d2lkdGh9cHg7XG4gICAgICAgICAgICAgIGB9O1xuICAgICAgICAgICAgYDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgREVMRVRFX0RBVEFfSUQ6XG4gICAgICAgICAgICAvLyB2YWxpZGF0ZSBvcHRpb25zXG4gICAgICAgICAgICBpZiAoZGF0YXNldEtleVRvUmVtb3ZlICYmIGRhdGFzZXRzICYmIGRhdGFzZXRzW2RhdGFzZXRLZXlUb1JlbW92ZV0pIHtcbiAgICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgICAgPERlbGV0ZURhdGFzZXRNb2RhbCBkYXRhc2V0PXtkYXRhc2V0c1tkYXRhc2V0S2V5VG9SZW1vdmVdfSBsYXllcnM9e2xheWVyc30gLz5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmRlbGV0ZURhdGFzZXQnLFxuICAgICAgICAgICAgICAgIGNzc1N0eWxlOiBzbWFsbE1vZGFsQ3NzLFxuICAgICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBvbkNvbmZpcm06ICgpID0+IHRoaXMuX2RlbGV0ZURhdGFzZXQoZGF0YXNldEtleVRvUmVtb3ZlKSxcbiAgICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgICBuZWdhdGl2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uZGVsZXRlJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrOyAvLyBpbiBjYXNlIHdlIGFkZCBhIG5ldyBjYXNlIGFmdGVyIHRoaXMgb25lXG4gICAgICAgICAgY2FzZSBBRERfREFUQV9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8TG9hZERhdGFNb2RhbFxuICAgICAgICAgICAgICAgIHsuLi5wcm92aWRlclN0YXRlfVxuICAgICAgICAgICAgICAgIC8vQHRzLWV4cGVjdC1lcnJvciAvL1RPRE8gUmVtb3ZlIGl0IG9uY2UgTG9hZERhdGFNb2RhbCBpcyB0cmFuc2xhdGVkXG4gICAgICAgICAgICAgICAgb25DbG9zZT17dGhpcy5fY2xvc2VNb2RhbH1cbiAgICAgICAgICAgICAgICBvbkZpbGVVcGxvYWQ9e3RoaXMuX29uRmlsZVVwbG9hZH1cbiAgICAgICAgICAgICAgICBvbkxvYWRDbG91ZE1hcD17dGhpcy5fb25Mb2FkQ2xvdWRNYXB9XG4gICAgICAgICAgICAgICAgY2xvdWRQcm92aWRlcnM9e3RoaXMucHJvdmlkZXJXaXRoU3RvcmFnZSh0aGlzLnByb3BzKX1cbiAgICAgICAgICAgICAgICBvblNldENsb3VkUHJvdmlkZXI9e3RoaXMucHJvcHMucHJvdmlkZXJBY3Rpb25zLnNldENsb3VkUHJvdmlkZXJ9XG4gICAgICAgICAgICAgICAgZ2V0U2F2ZWRNYXBzPXt0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5nZXRTYXZlZE1hcHN9XG4gICAgICAgICAgICAgICAgbG9hZEZpbGVzPXt1aVN0YXRlLmxvYWRGaWxlc31cbiAgICAgICAgICAgICAgICBmaWxlTG9hZGluZz17dmlzU3RhdGUuZmlsZUxvYWRpbmd9XG4gICAgICAgICAgICAgICAgZmlsZUxvYWRpbmdQcm9ncmVzcz17dmlzU3RhdGUuZmlsZUxvYWRpbmdQcm9ncmVzc31cbiAgICAgICAgICAgICAgICBmaWxlRm9ybWF0TmFtZXM9e2dldEZpbGVGb3JtYXROYW1lcyh0aGlzLnByb3BzLnZpc1N0YXRlKX1cbiAgICAgICAgICAgICAgICBmaWxlRXh0ZW5zaW9ucz17Z2V0RmlsZUV4dGVuc2lvbnModGhpcy5wcm9wcy52aXNTdGF0ZSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5hZGREYXRhVG9NYXAnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogTG9hZERhdGFNb2RhbFN0eWxlLFxuICAgICAgICAgICAgICBmb290ZXI6IGZhbHNlLFxuICAgICAgICAgICAgICBvbkNvbmZpcm06IHRoaXMuX2Nsb3NlTW9kYWxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIEVYUE9SVF9JTUFHRV9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8RXhwb3J0SW1hZ2VNb2RhbFxuICAgICAgICAgICAgICAgIGV4cG9ydEltYWdlPXt1aVN0YXRlLmV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAgIG1hcFc9e2NvbnRhaW5lcld9XG4gICAgICAgICAgICAgICAgbWFwSD17Y29udGFpbmVySH1cbiAgICAgICAgICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZz17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0SW1hZ2VTZXR0aW5nfVxuICAgICAgICAgICAgICAgIGNsZWFudXBFeHBvcnRJbWFnZT17dWlTdGF0ZUFjdGlvbnMuY2xlYW51cEV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuZXhwb3J0SW1hZ2UnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fb25FeHBvcnRJbWFnZSxcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB1aVN0YXRlLmV4cG9ydEltYWdlLnByb2Nlc3NpbmcsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uZG93bmxvYWQnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIEVYUE9SVF9EQVRBX0lEOlxuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxFeHBvcnREYXRhTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4udWlTdGF0ZS5leHBvcnREYXRhfVxuICAgICAgICAgICAgICAgIHN1cHBvcnRlZERhdGFUeXBlcz17RVhQT1JUX0RBVEFfVFlQRV9PUFRJT05TfVxuICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICBhcHBseUNQVUZpbHRlcj17dGhpcy5wcm9wcy52aXNTdGF0ZUFjdGlvbnMuYXBwbHlDUFVGaWx0ZXJ9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VFeHBvcnREYXRhVHlwZT17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0RGF0YVR5cGV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VFeHBvcnRTZWxlY3RlZERhdGFzZXQ9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydFNlbGVjdGVkRGF0YXNldH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZUV4cG9ydEZpbHRlcmVkPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRGaWx0ZXJlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmV4cG9ydERhdGEnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fb25FeHBvcnREYXRhLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uZXhwb3J0J1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBFWFBPUlRfTUFQX0lEOlxuICAgICAgICAgICAgY29uc3Qga2VwbGVyR2xDb25maWcgPSB2aXNTdGF0ZS5zY2hlbWEuZ2V0Q29uZmlnVG9TYXZlKHtcbiAgICAgICAgICAgICAgbWFwU3R5bGUsXG4gICAgICAgICAgICAgIHZpc1N0YXRlLFxuICAgICAgICAgICAgICBtYXBTdGF0ZSxcbiAgICAgICAgICAgICAgdWlTdGF0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPEV4cG9ydE1hcE1vZGFsXG4gICAgICAgICAgICAgICAgY29uZmlnPXtrZXBsZXJHbENvbmZpZ31cbiAgICAgICAgICAgICAgICBvcHRpb25zPXt1aVN0YXRlLmV4cG9ydE1hcH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZUV4cG9ydE1hcEZvcm1hdD17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0TWFwRm9ybWF0fVxuICAgICAgICAgICAgICAgIG9uRWRpdFVzZXJNYXBib3hBY2Nlc3NUb2tlbj17dWlTdGF0ZUFjdGlvbnMuc2V0VXNlck1hcGJveEFjY2Vzc1Rva2VufVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlRXhwb3J0TWFwSFRNTE1vZGU9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydEhUTUxNYXBNb2RlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuZXhwb3J0TWFwJyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6ICcnLFxuICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsLFxuICAgICAgICAgICAgICBvbkNvbmZpcm06IHRoaXMuX29uRXhwb3J0TWFwLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uZXhwb3J0J1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBBRERfTUFQX1NUWUxFX0lEOlxuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxBZGRNYXBTdHlsZU1vZGFsXG4gICAgICAgICAgICAgICAgbWFwYm94QXBpVXJsPXt0aGlzLnByb3BzLm1hcGJveEFwaVVybH1cbiAgICAgICAgICAgICAgICBtYXBTdGF0ZT17dGhpcy5wcm9wcy5tYXBTdGF0ZX1cbiAgICAgICAgICAgICAgICBpbnB1dFN0eWxlPXttYXBTdHlsZS5pbnB1dFN0eWxlfVxuICAgICAgICAgICAgICAgIGlucHV0TWFwU3R5bGU9e3RoaXMucHJvcHMubWFwU3R5bGVBY3Rpb25zLmlucHV0TWFwU3R5bGV9XG4gICAgICAgICAgICAgICAgbG9hZEN1c3RvbU1hcFN0eWxlPXt0aGlzLnByb3BzLm1hcFN0eWxlQWN0aW9ucy5sb2FkQ3VzdG9tTWFwU3R5bGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5hZGRDdXN0b21NYXBib3hTdHlsZScsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgZm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgb25Db25maXJtOiB0aGlzLl9vbkFkZEN1c3RvbU1hcFN0eWxlLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6ICFtYXBTdHlsZS5pbnB1dFN0eWxlLnN0eWxlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmFkZFN0eWxlJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBTQVZFX01BUF9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8U2F2ZU1hcE1vZGFsXG4gICAgICAgICAgICAgICAgey4uLnByb3ZpZGVyU3RhdGV9XG4gICAgICAgICAgICAgICAgZXhwb3J0SW1hZ2U9e3VpU3RhdGUuZXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgICAgbWFwSW5mbz17dmlzU3RhdGUubWFwSW5mb31cbiAgICAgICAgICAgICAgICBvblNldE1hcEluZm89e3Zpc1N0YXRlQWN0aW9ucy5zZXRNYXBJbmZvfVxuICAgICAgICAgICAgICAgIGNsb3VkUHJvdmlkZXJzPXt0aGlzLnByb3ZpZGVyV2l0aFN0b3JhZ2UodGhpcy5wcm9wcyl9XG4gICAgICAgICAgICAgICAgb25TZXRDbG91ZFByb3ZpZGVyPXt0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5zZXRDbG91ZFByb3ZpZGVyfVxuICAgICAgICAgICAgICAgIGNsZWFudXBFeHBvcnRJbWFnZT17dWlTdGF0ZUFjdGlvbnMuY2xlYW51cEV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRJbWFnZVNldHRpbmd9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5zYXZlTWFwJyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6ICcnLFxuICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsLFxuICAgICAgICAgICAgICBvbkNvbmZpcm06ICgpID0+IHRoaXMuX29uU2F2ZU1hcChmYWxzZSksXG4gICAgICAgICAgICAgIGNvbmZpcm1CdXR0b246IHtcbiAgICAgICAgICAgICAgICBsYXJnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDpcbiAgICAgICAgICAgICAgICAgIHVpU3RhdGUuZXhwb3J0SW1hZ2UucHJvY2Vzc2luZyB8fFxuICAgICAgICAgICAgICAgICAgIWlzVmFsaWRNYXBJbmZvKHZpc1N0YXRlLm1hcEluZm8pIHx8XG4gICAgICAgICAgICAgICAgICAhcHJvdmlkZXJTdGF0ZS5jdXJyZW50UHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uc2F2ZSdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgT1ZFUldSSVRFX01BUF9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8T3ZlcldyaXRlTWFwTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4ucHJvdmlkZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICBjbG91ZFByb3ZpZGVycz17dGhpcy5wcm9wcy5jbG91ZFByb3ZpZGVyc31cbiAgICAgICAgICAgICAgICB0aXRsZT17Z2V0KHZpc1N0YXRlLCBbJ21hcEluZm8nLCAndGl0bGUnXSl9XG4gICAgICAgICAgICAgICAgb25VcGRhdGVJbWFnZVNldHRpbmc9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydEltYWdlU2V0dGluZ31cbiAgICAgICAgICAgICAgICBjbGVhbnVwRXhwb3J0SW1hZ2U9e3VpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ092ZXJ3cml0ZSBFeGlzdGluZyBGaWxlPycsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiBzbWFsbE1vZGFsQ3NzLFxuICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fb25PdmVyd3JpdGVNYXAsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdZZXMnLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOlxuICAgICAgICAgICAgICAgICAgdWlTdGF0ZS5leHBvcnRJbWFnZS5wcm9jZXNzaW5nIHx8XG4gICAgICAgICAgICAgICAgICAhaXNWYWxpZE1hcEluZm8odmlzU3RhdGUubWFwSW5mbykgfHxcbiAgICAgICAgICAgICAgICAgICFwcm92aWRlclN0YXRlLmN1cnJlbnRQcm92aWRlclxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBTSEFSRV9NQVBfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPFNoYXJlTWFwTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4ucHJvdmlkZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICBpc1JlYWR5PXshdWlTdGF0ZS5leHBvcnRJbWFnZS5wcm9jZXNzaW5nfVxuICAgICAgICAgICAgICAgIGNsb3VkUHJvdmlkZXJzPXt0aGlzLnByb3ZpZGVyV2l0aFNoYXJlKHRoaXMucHJvcHMpfVxuICAgICAgICAgICAgICAgIG9uRXhwb3J0PXt0aGlzLl9vblNoYXJlTWFwVXJsfVxuICAgICAgICAgICAgICAgIG9uU2V0Q2xvdWRQcm92aWRlcj17dGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMuc2V0Q2xvdWRQcm92aWRlcn1cbiAgICAgICAgICAgICAgICBjbGVhbnVwRXhwb3J0SW1hZ2U9e3VpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZX1cbiAgICAgICAgICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZz17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0SW1hZ2VTZXR0aW5nfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuc2hhcmVVUkwnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9vbkNsb3NlU2F2ZU1hcFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5yb290Tm9kZSA/IChcbiAgICAgICAgPE1vZGFsRGlhbG9nXG4gICAgICAgICAgaXNPcGVuPXtCb29sZWFuKGN1cnJlbnRNb2RhbCl9XG4gICAgICAgICAgb25DYW5jZWw9e3RoaXMuX2Nsb3NlTW9kYWx9XG4gICAgICAgICAgey4uLm1vZGFsUHJvcHN9XG4gICAgICAgICAgY3NzU3R5bGU9e0RlZmF1bHRTdHlsZS5jb25jYXQobW9kYWxQcm9wcy5jc3NTdHlsZSl9XG4gICAgICAgID5cbiAgICAgICAgICB7dGVtcGxhdGV9XG4gICAgICAgIDwvTW9kYWxEaWFsb2c+XG4gICAgICApIDogbnVsbDtcbiAgICB9XG4gICAgLyogZXNsaW50LWVuYWJsZSBjb21wbGV4aXR5ICovXG4gIH1cblxuICByZXR1cm4gTW9kYWxDb250YWluZXI7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFNLGdCQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFILHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBUSxZQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxhQUFBLEdBQUFULE9BQUE7QUFHQSxJQUFBVSxnQkFBQSxHQUFBTixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVcsa0JBQUEsR0FBQVAsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFZLGVBQUEsR0FBQVIsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFhLGNBQUEsR0FBQVQsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFjLGlCQUFBLEdBQUFWLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBZSxnQkFBQSxHQUFBWCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWdCLGVBQUEsR0FBQVosc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFpQixpQkFBQSxHQUFBYixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWtCLGFBQUEsR0FBQWQsc0JBQUEs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
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var
|
|
10
|
+
var _get = _interopRequireDefault(require("lodash/get"));
|
|
11
11
|
var _defaultSettings = require("../../constants/default-settings");
|
|
12
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
13
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -59,8 +59,8 @@ var ImageModalContainer = function ImageModalContainer(_ref) {
|
|
|
59
59
|
});
|
|
60
60
|
if (provider && provider.thumbnail) {
|
|
61
61
|
onUpdateImageSetting({
|
|
62
|
-
mapW: (0,
|
|
63
|
-
mapH: (0,
|
|
62
|
+
mapW: (0, _get["default"])(provider, ['thumbnail', 'width']) || _defaultSettings.MAP_THUMBNAIL_DIMENSION.width,
|
|
63
|
+
mapH: (0, _get["default"])(provider, ['thumbnail', 'height']) || _defaultSettings.MAP_THUMBNAIL_DIMENSION.height,
|
|
64
64
|
ratio: _defaultSettings.EXPORT_IMG_RATIOS.CUSTOM,
|
|
65
65
|
legend: false
|
|
66
66
|
});
|
|
@@ -80,4 +80,4 @@ ImageModalContainer.defaultProps = {
|
|
|
80
80
|
cloudProviders: []
|
|
81
81
|
};
|
|
82
82
|
var _default = exports["default"] = ImageModalContainer;
|
|
83
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZ2V0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9kZWZhdWx0U2V0dGluZ3MiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJJbWFnZU1vZGFsQ29udGFpbmVyIiwiX3JlZiIsIm9uVXBkYXRlSW1hZ2VTZXR0aW5nIiwiY2xlYW51cEV4cG9ydEltYWdlIiwiY2xvdWRQcm92aWRlcnMiLCJjdXJyZW50UHJvdmlkZXIiLCJjaGlsZHJlbiIsInVzZUVmZmVjdCIsImV4cG9ydGluZyIsImxlbmd0aCIsInByb3ZpZGVyIiwiZmluZCIsInAiLCJuYW1lIiwidGh1bWJuYWlsIiwibWFwVyIsIk1BUF9USFVNQk5BSUxfRElNRU5TSU9OIiwid2lkdGgiLCJtYXBIIiwiaGVpZ2h0IiwicmF0aW8iLCJFWFBPUlRfSU1HX1JBVElPUyIsIkNVU1RPTSIsImxlZ2VuZCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsImRlZmF1bHRQcm9wcyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vZGFscy9pbWFnZS1tb2RhbC1jb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge3VzZUVmZmVjdH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcblxuaW1wb3J0IHtNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTiwgRVhQT1JUX0lNR19SQVRJT1N9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCB7U2V0RXhwb3J0SW1hZ2VTZXR0aW5nVXBkYXRlckFjdGlvbn0gZnJvbSAnYWN0aW9ucyc7XG5pbXBvcnQge1Byb3ZpZGVyfSBmcm9tICdjbG91ZC1wcm92aWRlcnMnO1xuXG4vKiogQHR5cGVkZWYge2ltcG9ydCgnLi9pbWFnZS1tb2RhbC1jb250YWluZXInKS5JbWFnZU1vZGFsQ29udGFpbmVyUHJvcHN9IEltYWdlTW9kYWxDb250YWluZXJQcm9wcyAqL1xuXG5leHBvcnQgdHlwZSBJbWFnZU1vZGFsQ29udGFpbmVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBjbG91ZFByb3ZpZGVycz86IFByb3ZpZGVyW107XG4gIGN1cnJlbnRQcm92aWRlcj86IHN0cmluZyB8IG51bGw7XG4gIG9uVXBkYXRlSW1hZ2VTZXR0aW5nOiAobmV3U2V0dGluZzogU2V0RXhwb3J0SW1hZ2VTZXR0aW5nVXBkYXRlckFjdGlvblsncGF5bG9hZCddKSA9PiB2b2lkO1xuICBjbGVhbnVwRXhwb3J0SW1hZ2U6ICgpID0+IHZvaWQ7XG59O1xuXG4vKipcbiAqIEEgd3JhcHBlciBjb21wb25lbnQgaW4gbW9kYWxzIGNvbnRhaW4gYSBpbWFnZSBwcmV2aWV3IG9mIHRoZSBtYXAgd2l0aCBjbG91ZCBwcm92aWRlcnNcbiAqIEl0IHNldHMgZXhwb3J0IGltYWdlIHNpemUgYmFzZWQgb24gcHJvdmlkZXIgdGh1bWJuYWlsIHNpemVcbiAqIEB0eXBlIHtSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxJbWFnZU1vZGFsQ29udGFpbmVyUHJvcHM+fVxuICovXG5jb25zdCBJbWFnZU1vZGFsQ29udGFpbmVyOiBSZWFjdC5GQzxJbWFnZU1vZGFsQ29udGFpbmVyUHJvcHM+ID0gKHtcbiAgb25VcGRhdGVJbWFnZVNldHRpbmcsXG4gIGNsZWFudXBFeHBvcnRJbWFnZSxcbiAgY2xvdWRQcm92aWRlcnMsXG4gIGN1cnJlbnRQcm92aWRlcixcbiAgY2hpbGRyZW5cbn0pID0+IHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBvblVwZGF0ZUltYWdlU2V0dGluZyh7ZXhwb3J0aW5nOiB0cnVlfSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFudXBFeHBvcnRJbWFnZSgpO1xuICAgIH07XG4gIH0sIFtvblVwZGF0ZUltYWdlU2V0dGluZywgY2xlYW51cEV4cG9ydEltYWdlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY3VycmVudFByb3ZpZGVyICYmIGNsb3VkUHJvdmlkZXJzICYmIGNsb3VkUHJvdmlkZXJzLmxlbmd0aCkge1xuICAgICAgY29uc3QgcHJvdmlkZXIgPSBjbG91ZFByb3ZpZGVycy5maW5kKHAgPT4gcC5uYW1lID09PSBjdXJyZW50UHJvdmlkZXIpO1xuXG4gICAgICBpZiAocHJvdmlkZXIgJiYgcHJvdmlkZXIudGh1bWJuYWlsKSB7XG4gICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nKHtcbiAgICAgICAgICBtYXBXOiBnZXQocHJvdmlkZXIsIFsndGh1bWJuYWlsJywgJ3dpZHRoJ10pIHx8IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OLndpZHRoLFxuICAgICAgICAgIG1hcEg6IGdldChwcm92aWRlciwgWyd0aHVtYm5haWwnLCAnaGVpZ2h0J10pIHx8IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OLmhlaWdodCxcbiAgICAgICAgICByYXRpbzogRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NLFxuICAgICAgICAgIGxlZ2VuZDogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nKHtcbiAgICAgICAgbWFwVzogTUFQX1RIVU1CTkFJTF9ESU1FTlNJT04ud2lkdGgsXG4gICAgICAgIG1hcEg6IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OLmhlaWdodCxcbiAgICAgICAgcmF0aW86IEVYUE9SVF9JTUdfUkFUSU9TLkNVU1RPTSxcbiAgICAgICAgbGVnZW5kOiBmYWxzZVxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbY3VycmVudFByb3ZpZGVyLCBjbG91ZFByb3ZpZGVycywgb25VcGRhdGVJbWFnZVNldHRpbmddKTtcblxuICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xufTtcblxuSW1hZ2VNb2RhbENvbnRhaW5lci5kZWZhdWx0UHJvcHMgPSB7XG4gIGNsb3VkUHJvdmlkZXJzOiBbXVxufTtcblxuZXhwb3J0IGRlZmF1bHQgSW1hZ2VNb2RhbENvbnRhaW5lcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFvQkEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsSUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsZ0JBQUEsR0FBQUgsT0FBQTtBQUFzRixTQUFBSSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQU4sd0JBQUFNLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNC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
|
|
@@ -12,7 +12,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
-
var
|
|
15
|
+
var _get = _interopRequireDefault(require("lodash/get"));
|
|
16
16
|
var _reactIntl = require("react-intl");
|
|
17
17
|
var _fileUpload = _interopRequireDefault(require("../common/file-uploader/file-upload"));
|
|
18
18
|
var _loadStorageMap = _interopRequireDefault(require("./load-storage-map"));
|
|
@@ -49,7 +49,7 @@ var StyledLoadDataModal = _styledComponents["default"].div.attrs({
|
|
|
49
49
|
});
|
|
50
50
|
var noop = function noop() {};
|
|
51
51
|
var getDefaultMethod = function getDefaultMethod(methods) {
|
|
52
|
-
return Array.isArray(methods) ? (0,
|
|
52
|
+
return Array.isArray(methods) ? (0, _get["default"])(methods, [0]) : null;
|
|
53
53
|
};
|
|
54
54
|
LoadDataModalFactory.deps = [_modalTabs["default"], _fileUpload["default"], _loadStorageMap["default"]];
|
|
55
55
|
function LoadDataModalFactory(ModalTabs, FileUpload, LoadStorageMap) {
|
|
@@ -90,4 +90,4 @@ function LoadDataModalFactory(ModalTabs, FileUpload, LoadStorageMap) {
|
|
|
90
90
|
return LoadDataModal;
|
|
91
91
|
}
|
|
92
92
|
var _default = exports["default"] = LoadDataModalFactory;
|
|
93
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbG9kYXNoIiwiX3JlYWN0SW50bCIsIl9maWxlVXBsb2FkIiwiX2xvYWRTdG9yYWdlTWFwIiwiX21vZGFsVGFicyIsIl9sb2FkaW5nRGlhbG9nIiwiX2RlZmF1bHRTZXR0aW5ncyIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZExvYWREYXRhTW9kYWwiLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsIm1vZGFsUGFkZGluZyIsIm5vb3AiLCJnZXREZWZhdWx0TWV0aG9kIiwibWV0aG9kcyIsIkFycmF5IiwiaXNBcnJheSIsIkxvYWREYXRhTW9kYWxGYWN0b3J5IiwiZGVwcyIsIk1vZGFsVGFic0ZhY3RvcnkiLCJGaWxlVXBsb2FkRmFjdG9yeSIsIkxvYWRTdG9yYWdlTWFwRmFjdG9yeSIsIk1vZGFsVGFicyIsIkZpbGVVcGxvYWQiLCJMb2FkU3RvcmFnZU1hcCIsIkxvYWREYXRhTW9kYWwiLCJpbnRsIiwidXNlSW50bCIsImxvYWRpbmdNZXRob2RzIiwiaXNDbG91ZE1hcExvYWRpbmciLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJjdXJyZW50TWV0aG9kIiwidG9nZ2xlTWV0aG9kIiwiRWxlbWVudFR5cGUiLCJlbGVtZW50VHlwZSIsImNyZWF0ZUVsZW1lbnQiLCJpZCIsInNpemUiLCJfZXh0ZW5kczIiLCJrZXkiLCJkZWZhdWx0UHJvcHMiLCJvbkZpbGVVcGxvYWQiLCJmaWxlTG9hZGluZyIsIkxPQURJTkdfTUVUSE9EUyIsInVwbG9hZCIsImxhYmVsIiwic3RvcmFnZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vZGFscy9sb2FkLWRhdGEtbW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge3VzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoLmdldCc7XG5pbXBvcnQge0ludGxTaGFwZSwgdXNlSW50bH0gZnJvbSAncmVhY3QtaW50bCc7XG5cbmltcG9ydCBGaWxlVXBsb2FkRmFjdG9yeSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9maWxlLXVwbG9hZGVyL2ZpbGUtdXBsb2FkJztcbmltcG9ydCBMb2FkU3RvcmFnZU1hcEZhY3RvcnkgZnJvbSAnLi9sb2FkLXN0b3JhZ2UtbWFwJztcbmltcG9ydCBNb2RhbFRhYnNGYWN0b3J5IGZyb20gJy4vbW9kYWwtdGFicyc7XG5pbXBvcnQgTG9hZGluZ0RpYWxvZyBmcm9tICcuL2xvYWRpbmctZGlhbG9nJztcblxuaW1wb3J0IHtMT0FESU5HX01FVEhPRFN9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCB7RmlsZUxvYWRpbmd9IGZyb20gJ3JlZHVjZXJzL3Zpcy1zdGF0ZS11cGRhdGVycyc7XG5cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KCcuL2xvYWQtZGF0YS1tb2RhbCcpLkxvYWREYXRhTW9kYWxQcm9wc30gTG9hZERhdGFNb2RhbFByb3BzICovXG5cbmNvbnN0IFN0eWxlZExvYWREYXRhTW9kYWwgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbG9hZC1kYXRhLW1vZGFsJ1xufSlgXG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxQYWRkaW5nfTtcbiAgbWluLWhlaWdodDogNDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5gO1xuXG5jb25zdCBub29wID0gKCkgPT4ge307XG5jb25zdCBnZXREZWZhdWx0TWV0aG9kID0gbWV0aG9kcyA9PiAoQXJyYXkuaXNBcnJheShtZXRob2RzKSA/IGdldChtZXRob2RzLCBbMF0pIDogbnVsbCk7XG5leHBvcnQgaW50ZXJmYWNlIExvYWRpbmdNZXRob2Qge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBlbGVtZW50VHlwZTogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+O1xuICB0YWJFbGVtZW50VHlwZT86IFJlYWN0LkNvbXBvbmVudFR5cGU8e29uQ2xpY2s6IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyOyBpbnRsOiBJbnRsU2hhcGV9Pjtcbn1cblxudHlwZSBMb2FkRGF0YU1vZGFsUHJvcHMgPSB7XG4gIC8vIGNhbGwgYmFja3NcbiAgb25GaWxlVXBsb2FkOiAoZmlsZXM6IEZpbGVbXSkgPT4gdm9pZDtcbiAgb25Mb2FkQ2xvdWRNYXA6IChwcm92aWRlcjogYW55LCB2aXM6IGFueSkgPT4gdm9pZDtcbiAgZmlsZUxvYWRpbmc6IEZpbGVMb2FkaW5nIHwgZmFsc2U7XG4gIGxvYWRpbmdNZXRob2RzOiBMb2FkaW5nTWV0aG9kW107XG4gIC8qKiBBIGxpc3Qgb2YgbmFtZXMgb2Ygc3VwcG9ydGVkIGZvcm1hdHMgc3VpdGFibGUgdG8gcHJlc2VudCB0byB1c2VyICovXG4gIGZpbGVGb3JtYXROYW1lczogc3RyaW5nW107XG4gIC8qKiBBIGxpc3Qgb2YgdHlwaWNhbGx5IDMgbGV0dGVyIGV4dGVuc2lvbnMgKHdpdGhvdXQgJy4nKSBmb3IgZmlsZSBtYXRjaGluZyAqL1xuICBmaWxlRXh0ZW5zaW9uczogc3RyaW5nW107XG4gIGlzQ2xvdWRNYXBMb2FkaW5nOiBib29sZWFuO1xuICAvKiogU2V0IHRvIHRydWUgaWYgYXBwIHdhbnRzIHRvIGRvIGl0cyBvd24gZmlsZSBmaWx0ZXJpbmcgKi9cbiAgZGlzYWJsZUV4dGVuc2lvbkZpbHRlcj86IGJvb2xlYW47XG59O1xuXG5Mb2FkRGF0YU1vZGFsRmFjdG9yeS5kZXBzID0gW01vZGFsVGFic0ZhY3RvcnksIEZpbGVVcGxvYWRGYWN0b3J5LCBMb2FkU3RvcmFnZU1hcEZhY3RvcnldO1xuXG5leHBvcnQgZnVuY3Rpb24gTG9hZERhdGFNb2RhbEZhY3RvcnkoXG4gIE1vZGFsVGFiczogUmV0dXJuVHlwZTx0eXBlb2YgTW9kYWxUYWJzRmFjdG9yeT4sXG4gIEZpbGVVcGxvYWQ6IFJldHVyblR5cGU8dHlwZW9mIEZpbGVVcGxvYWRGYWN0b3J5PixcbiAgTG9hZFN0b3JhZ2VNYXA6IFJldHVyblR5cGU8dHlwZW9mIExvYWRTdG9yYWdlTWFwRmFjdG9yeT5cbikge1xuICAvKiogQHR5cGUge1JlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PExvYWREYXRhTW9kYWxQcm9wcz59ICovXG4gIGNvbnN0IExvYWREYXRhTW9kYWw6IFJlYWN0LkZDPExvYWREYXRhTW9kYWxQcm9wcz4gPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgICBjb25zdCB7bG9hZGluZ01ldGhvZHMsIGlzQ2xvdWRNYXBMb2FkaW5nfSA9IHByb3BzO1xuICAgIGNvbnN0IFtjdXJyZW50TWV0aG9kLCB0b2dnbGVNZXRob2RdID0gdXNlU3RhdGUoZ2V0RGVmYXVsdE1ldGhvZChsb2FkaW5nTWV0aG9kcykpO1xuXG4gICAgY29uc3QgRWxlbWVudFR5cGUgPSBjdXJyZW50TWV0aG9kLmVsZW1lbnRUeXBlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRMb2FkRGF0YU1vZGFsPlxuICAgICAgICA8TW9kYWxUYWJzXG4gICAgICAgICAgY3VycmVudE1ldGhvZD17Y3VycmVudE1ldGhvZC5pZH1cbiAgICAgICAgICBsb2FkaW5nTWV0aG9kcz17bG9hZGluZ01ldGhvZHN9XG4gICAgICAgICAgdG9nZ2xlTWV0aG9kPXt0b2dnbGVNZXRob2R9XG4gICAgICAgIC8+XG4gICAgICAgIHtpc0Nsb3VkTWFwTG9hZGluZyA/IChcbiAgICAgICAgICA8TG9hZGluZ0RpYWxvZyBzaXplPXs2NH0gLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBjdXJyZW50TWV0aG9kICYmIDxFbGVtZW50VHlwZSBrZXk9e2N1cnJlbnRNZXRob2QuaWR9IGludGw9e2ludGx9IHsuLi5wcm9wc30gLz5cbiAgICAgICAgKX1cbiAgICAgIDwvU3R5bGVkTG9hZERhdGFNb2RhbD5cbiAgICApO1xuICB9O1xuXG4gIExvYWREYXRhTW9kYWwuZGVmYXVsdFByb3BzID0ge1xuICAgIG9uRmlsZVVwbG9hZDogbm9vcCxcbiAgICBmaWxlTG9hZGluZzogZmFsc2UsXG4gICAgbG9hZGluZ01ldGhvZHM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6IExPQURJTkdfTUVUSE9EUy51cGxvYWQsXG4gICAgICAgIGxhYmVsOiAnbW9kYWwubG9hZERhdGEudXBsb2FkJyxcbiAgICAgICAgZWxlbWVudFR5cGU6IEZpbGVVcGxvYWRcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiBMT0FESU5HX01FVEhPRFMuc3RvcmFnZSxcbiAgICAgICAgbGFiZWw6ICdtb2RhbC5sb2FkRGF0YS5zdG9yYWdlJyxcbiAgICAgICAgZWxlbWVudFR5cGU6IExvYWRTdG9yYWdlTWFwXG4gICAgICB9XG4gICAgXVxuICB9O1xuXG4gIHJldHVybiBMb2FkRGF0YU1vZGFsO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMb2FkRGF0YU1vZGFsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBb0JBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFFQSxJQUFBSyxXQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxlQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxVQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxjQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBUyxnQkFBQSxHQUFBVCxPQUFBO0FBQTJELElBQUFVLGVBQUEsRUE5QjNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFiLHdCQUFBYSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFB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
|
|
93
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZ2V0IiwiX3JlYWN0SW50bCIsIl9maWxlVXBsb2FkIiwiX2xvYWRTdG9yYWdlTWFwIiwiX21vZGFsVGFicyIsIl9sb2FkaW5nRGlhbG9nIiwiX2RlZmF1bHRTZXR0aW5ncyIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZExvYWREYXRhTW9kYWwiLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsIm1vZGFsUGFkZGluZyIsIm5vb3AiLCJnZXREZWZhdWx0TWV0aG9kIiwibWV0aG9kcyIsIkFycmF5IiwiaXNBcnJheSIsIkxvYWREYXRhTW9kYWxGYWN0b3J5IiwiZGVwcyIsIk1vZGFsVGFic0ZhY3RvcnkiLCJGaWxlVXBsb2FkRmFjdG9yeSIsIkxvYWRTdG9yYWdlTWFwRmFjdG9yeSIsIk1vZGFsVGFicyIsIkZpbGVVcGxvYWQiLCJMb2FkU3RvcmFnZU1hcCIsIkxvYWREYXRhTW9kYWwiLCJpbnRsIiwidXNlSW50bCIsImxvYWRpbmdNZXRob2RzIiwiaXNDbG91ZE1hcExvYWRpbmciLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJjdXJyZW50TWV0aG9kIiwidG9nZ2xlTWV0aG9kIiwiRWxlbWVudFR5cGUiLCJlbGVtZW50VHlwZSIsImNyZWF0ZUVsZW1lbnQiLCJpZCIsInNpemUiLCJfZXh0ZW5kczIiLCJrZXkiLCJkZWZhdWx0UHJvcHMiLCJvbkZpbGVVcGxvYWQiLCJmaWxlTG9hZGluZyIsIkxPQURJTkdfTUVUSE9EUyIsInVwbG9hZCIsImxhYmVsIiwic3RvcmFnZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vZGFscy9sb2FkLWRhdGEtbW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge3VzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5pbXBvcnQge0ludGxTaGFwZSwgdXNlSW50bH0gZnJvbSAncmVhY3QtaW50bCc7XG5cbmltcG9ydCBGaWxlVXBsb2FkRmFjdG9yeSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9maWxlLXVwbG9hZGVyL2ZpbGUtdXBsb2FkJztcbmltcG9ydCBMb2FkU3RvcmFnZU1hcEZhY3RvcnkgZnJvbSAnLi9sb2FkLXN0b3JhZ2UtbWFwJztcbmltcG9ydCBNb2RhbFRhYnNGYWN0b3J5IGZyb20gJy4vbW9kYWwtdGFicyc7XG5pbXBvcnQgTG9hZGluZ0RpYWxvZyBmcm9tICcuL2xvYWRpbmctZGlhbG9nJztcblxuaW1wb3J0IHtMT0FESU5HX01FVEhPRFN9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCB7RmlsZUxvYWRpbmd9IGZyb20gJ3JlZHVjZXJzL3Zpcy1zdGF0ZS11cGRhdGVycyc7XG5cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KCcuL2xvYWQtZGF0YS1tb2RhbCcpLkxvYWREYXRhTW9kYWxQcm9wc30gTG9hZERhdGFNb2RhbFByb3BzICovXG5cbmNvbnN0IFN0eWxlZExvYWREYXRhTW9kYWwgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbG9hZC1kYXRhLW1vZGFsJ1xufSlgXG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxQYWRkaW5nfTtcbiAgbWluLWhlaWdodDogNDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5gO1xuXG5jb25zdCBub29wID0gKCkgPT4ge307XG5jb25zdCBnZXREZWZhdWx0TWV0aG9kID0gbWV0aG9kcyA9PiAoQXJyYXkuaXNBcnJheShtZXRob2RzKSA/IGdldChtZXRob2RzLCBbMF0pIDogbnVsbCk7XG5leHBvcnQgaW50ZXJmYWNlIExvYWRpbmdNZXRob2Qge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBlbGVtZW50VHlwZTogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+O1xuICB0YWJFbGVtZW50VHlwZT86IFJlYWN0LkNvbXBvbmVudFR5cGU8e29uQ2xpY2s6IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyOyBpbnRsOiBJbnRsU2hhcGV9Pjtcbn1cblxudHlwZSBMb2FkRGF0YU1vZGFsUHJvcHMgPSB7XG4gIC8vIGNhbGwgYmFja3NcbiAgb25GaWxlVXBsb2FkOiAoZmlsZXM6IEZpbGVbXSkgPT4gdm9pZDtcbiAgb25Mb2FkQ2xvdWRNYXA6IChwcm92aWRlcjogYW55LCB2aXM6IGFueSkgPT4gdm9pZDtcbiAgZmlsZUxvYWRpbmc6IEZpbGVMb2FkaW5nIHwgZmFsc2U7XG4gIGxvYWRpbmdNZXRob2RzOiBMb2FkaW5nTWV0aG9kW107XG4gIC8qKiBBIGxpc3Qgb2YgbmFtZXMgb2Ygc3VwcG9ydGVkIGZvcm1hdHMgc3VpdGFibGUgdG8gcHJlc2VudCB0byB1c2VyICovXG4gIGZpbGVGb3JtYXROYW1lczogc3RyaW5nW107XG4gIC8qKiBBIGxpc3Qgb2YgdHlwaWNhbGx5IDMgbGV0dGVyIGV4dGVuc2lvbnMgKHdpdGhvdXQgJy4nKSBmb3IgZmlsZSBtYXRjaGluZyAqL1xuICBmaWxlRXh0ZW5zaW9uczogc3RyaW5nW107XG4gIGlzQ2xvdWRNYXBMb2FkaW5nOiBib29sZWFuO1xuICAvKiogU2V0IHRvIHRydWUgaWYgYXBwIHdhbnRzIHRvIGRvIGl0cyBvd24gZmlsZSBmaWx0ZXJpbmcgKi9cbiAgZGlzYWJsZUV4dGVuc2lvbkZpbHRlcj86IGJvb2xlYW47XG59O1xuXG5Mb2FkRGF0YU1vZGFsRmFjdG9yeS5kZXBzID0gW01vZGFsVGFic0ZhY3RvcnksIEZpbGVVcGxvYWRGYWN0b3J5LCBMb2FkU3RvcmFnZU1hcEZhY3RvcnldO1xuXG5leHBvcnQgZnVuY3Rpb24gTG9hZERhdGFNb2RhbEZhY3RvcnkoXG4gIE1vZGFsVGFiczogUmV0dXJuVHlwZTx0eXBlb2YgTW9kYWxUYWJzRmFjdG9yeT4sXG4gIEZpbGVVcGxvYWQ6IFJldHVyblR5cGU8dHlwZW9mIEZpbGVVcGxvYWRGYWN0b3J5PixcbiAgTG9hZFN0b3JhZ2VNYXA6IFJldHVyblR5cGU8dHlwZW9mIExvYWRTdG9yYWdlTWFwRmFjdG9yeT5cbikge1xuICAvKiogQHR5cGUge1JlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PExvYWREYXRhTW9kYWxQcm9wcz59ICovXG4gIGNvbnN0IExvYWREYXRhTW9kYWw6IFJlYWN0LkZDPExvYWREYXRhTW9kYWxQcm9wcz4gPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgICBjb25zdCB7bG9hZGluZ01ldGhvZHMsIGlzQ2xvdWRNYXBMb2FkaW5nfSA9IHByb3BzO1xuICAgIGNvbnN0IFtjdXJyZW50TWV0aG9kLCB0b2dnbGVNZXRob2RdID0gdXNlU3RhdGUoZ2V0RGVmYXVsdE1ldGhvZChsb2FkaW5nTWV0aG9kcykpO1xuXG4gICAgY29uc3QgRWxlbWVudFR5cGUgPSBjdXJyZW50TWV0aG9kLmVsZW1lbnRUeXBlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRMb2FkRGF0YU1vZGFsPlxuICAgICAgICA8TW9kYWxUYWJzXG4gICAgICAgICAgY3VycmVudE1ldGhvZD17Y3VycmVudE1ldGhvZC5pZH1cbiAgICAgICAgICBsb2FkaW5nTWV0aG9kcz17bG9hZGluZ01ldGhvZHN9XG4gICAgICAgICAgdG9nZ2xlTWV0aG9kPXt0b2dnbGVNZXRob2R9XG4gICAgICAgIC8+XG4gICAgICAgIHtpc0Nsb3VkTWFwTG9hZGluZyA/IChcbiAgICAgICAgICA8TG9hZGluZ0RpYWxvZyBzaXplPXs2NH0gLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBjdXJyZW50TWV0aG9kICYmIDxFbGVtZW50VHlwZSBrZXk9e2N1cnJlbnRNZXRob2QuaWR9IGludGw9e2ludGx9IHsuLi5wcm9wc30gLz5cbiAgICAgICAgKX1cbiAgICAgIDwvU3R5bGVkTG9hZERhdGFNb2RhbD5cbiAgICApO1xuICB9O1xuXG4gIExvYWREYXRhTW9kYWwuZGVmYXVsdFByb3BzID0ge1xuICAgIG9uRmlsZVVwbG9hZDogbm9vcCxcbiAgICBmaWxlTG9hZGluZzogZmFsc2UsXG4gICAgbG9hZGluZ01ldGhvZHM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6IExPQURJTkdfTUVUSE9EUy51cGxvYWQsXG4gICAgICAgIGxhYmVsOiAnbW9kYWwubG9hZERhdGEudXBsb2FkJyxcbiAgICAgICAgZWxlbWVudFR5cGU6IEZpbGVVcGxvYWRcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiBMT0FESU5HX01FVEhPRFMuc3RvcmFnZSxcbiAgICAgICAgbGFiZWw6ICdtb2RhbC5sb2FkRGF0YS5zdG9yYWdlJyxcbiAgICAgICAgZWxlbWVudFR5cGU6IExvYWRTdG9yYWdlTWFwXG4gICAgICB9XG4gICAgXVxuICB9O1xuXG4gIHJldHVybiBMb2FkRGF0YU1vZGFsO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMb2FkRGF0YU1vZGFsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBb0JBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxJQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFFQSxJQUFBSyxXQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxlQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxVQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxjQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBUyxnQkFBQSxHQUFBVCxPQUFBO0FBQTJELElBQUFVLGVBQUEsRUE5QjNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFiLHdCQUFBYSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEs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
|
|
@@ -18,7 +18,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
18
18
|
var _reselect = require("reselect");
|
|
19
19
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
20
20
|
var _reactMapGl = require("react-map-gl");
|
|
21
|
-
var
|
|
21
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
22
22
|
var _notificationsUtils = require("../utils/notifications-utils");
|
|
23
23
|
var _mapContainer = _interopRequireDefault(require("./map-container"));
|
|
24
24
|
var _mapsLayout = _interopRequireDefault(require("./maps-layout"));
|
|
@@ -114,7 +114,7 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
|
|
|
114
114
|
}
|
|
115
115
|
});
|
|
116
116
|
_this._generateThumbnail = null;
|
|
117
|
-
_this._retrieveNewScreenshot = (0,
|
|
117
|
+
_this._retrieveNewScreenshot = (0, _debounce["default"])(_this._retrieveNewScreenshot, 500);
|
|
118
118
|
return _this;
|
|
119
119
|
}
|
|
120
120
|
(0, _inherits2["default"])(PlotContainer, _Component);
|
|
@@ -237,4 +237,4 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
|
|
|
237
237
|
}(_react.Component);
|
|
238
238
|
return PlotContainer;
|
|
239
239
|
}
|
|
240
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVzZWxlY3QiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RNYXBHbCIsIl9sb2Rhc2giLCJfbm90aWZpY2F0aW9uc1V0aWxzIiwiX21hcENvbnRhaW5lciIsIl9tYXBzTGF5b3V0IiwiX2V4cG9ydFV0aWxzIiwiX21hcGJveEdsU3R5bGVFZGl0b3IiLCJfZGF0YVV0aWxzIiwiX3Byb2plY3Rpb25VdGlscyIsIl9kZWZhdWx0U2V0dGluZ3MiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJDTEFTU19GSUxURVIiLCJET01fRklMVEVSX0ZVTkMiLCJub2RlIiwiaW5jbHVkZXMiLCJjbGFzc05hbWUiLCJPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OIiwiUGxvdENvbnRhaW5lckZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udGFpbmVyRmFjdG9yeSIsIk1hcHNMYXlvdXRGYWN0b3J5IiwiU3R5bGVkUGxvdENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiU3R5bGVkTWFwQ29udGFpbmVyIiwicHJvcHMiLCJ3aWR0aCIsImhlaWdodCIsImRlY2tHbFByb3BzIiwiZ2xPcHRpb25zIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwidXNlRGV2aWNlUGl4ZWxzIiwiTWFwQ29udGFpbmVyIiwiTWFwc0xheW91dCIsIlBsb3RDb250YWluZXIiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiY3JlYXRlUmVmIiwibWFwRmllbGRzIiwibWFwU3R5bGUiLCJpbWFnZVNpemUiLCJleHBvcnRJbWFnZVNldHRpbmciLCJtYXBTdGF0ZSIsInNjYWxlIiwiZ2V0U2NhbGVGcm9tSW1hZ2VTaXplIiwiaW1hZ2VXIiwiaW1hZ2VIIiwiaXNTcGxpdCIsImNyZWF0ZVNlbGVjdG9yIiwibWFwU3R5bGVTZWxlY3RvciIsIm1hcFNjYWxlU2VsZWN0b3IiLCJib3R0b21NYXBTdHlsZSIsInNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24iLCJ0b3BNYXBTdHlsZSIsInBsb3R0aW5nQXJlYVJlZiIsImN1cnJlbnQiLCJjb252ZXJ0VG9QbmciLCJ0aGVuIiwic2V0RXhwb3J0SW1hZ2VEYXRhVXJpIiwiZXJyIiwic2V0RXhwb3J0SW1hZ2VFcnJvciIsImVuYWJsZUVycm9yTm90aWZpY2F0aW9uIiwiYWRkTm90aWZpY2F0aW9uIiwiZXhwb3J0SW1hZ2VFcnJvciIsIl9nZW5lcmF0ZVRodW1ibmFpbCIsIl9yZXRyaWV2ZU5ld1NjcmVlbnNob3QiLCJkZWJvdW5jZSIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJjb21wb25lbnREaWRNb3VudCIsInNldEV4cG9ydEltYWdlU2V0dGluZyIsInByb2Nlc3NpbmciLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJfdGhpczIiLCJjaGVja3MiLCJzaG91bGRSZXRyaWV2ZVNjcmVlbnNob3QiLCJzb21lIiwiaXRlbSIsInJlbmRlciIsIl90aGlzJHByb3BzIiwiX3RoaXMkcHJvcHMkc3BsaXRNYXBzIiwic3BsaXRNYXBzIiwibWFza1BvbHlnb24iLCJsZWdlbmQiLCJzaXplIiwibmV3TWFwU3RhdGUiLCJ6b29tIiwiTWF0aCIsImxvZzIiLCJjZW50ZXIiLCJyZW5kZXJlZExheWVycyIsImxheWVycyIsImxheWVyIiwiaWR4IiwiaWQiLCJHRU9DT0RFUl9MQVlFUl9JRCIsInNob3VsZFJlbmRlckxheWVyIiwibGF5ZXJEYXRhIiwiYm91bmRzIiwiZmluZE1hcEJvdW5kcyIsImNlbnRlckFuZFpvb20iLCJnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyIsIk51bWJlciIsImlzRmluaXRlIiwibG9uZ2l0dWRlIiwibGF0aXR1ZGUiLCJtYXBQcm9wcyIsInNjYWxlZE1hcFN0eWxlU2VsZWN0b3IiLCJtYXBDb250cm9scyIsIm1hcExlZ2VuZCIsInNob3ciLCJhY3RpdmUiLCJNYXBDb21wb25lbnQiLCJTdGF0aWNNYXAiLCJnZW5lcmF0ZVRodW1ibmFpbCIsImlzRXhwb3J0IiwibWFwQ29udGFpbmVycyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJpbmRleCIsInByaW1hcnkiLCJtYXAiLCJzZXR0aW5ncyIsIm1hcExheWVycyIsInJlZiIsIkNvbXBvbmVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3Bsb3QtY29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG4vLyBsaWJyYXJpZXNcbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgY3JlYXRlUmVmfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2NyZWF0ZVNlbGVjdG9yfSBmcm9tICdyZXNlbGVjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7U3RhdGljTWFwfSBmcm9tICdyZWFjdC1tYXAtZ2wnO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gJ2xvZGFzaC5kZWJvdW5jZSc7XG5pbXBvcnQge2V4cG9ydEltYWdlRXJyb3J9IGZyb20gJ3V0aWxzL25vdGlmaWNhdGlvbnMtdXRpbHMnO1xuaW1wb3J0IE1hcENvbnRhaW5lckZhY3RvcnkgZnJvbSAnLi9tYXAtY29udGFpbmVyJztcbmltcG9ydCBNYXBzTGF5b3V0RmFjdG9yeSBmcm9tICcuL21hcHMtbGF5b3V0JztcbmltcG9ydCB7Y29udmVydFRvUG5nLCBnZXRTY2FsZUZyb21JbWFnZVNpemV9IGZyb20gJ3V0aWxzL2V4cG9ydC11dGlscyc7XG5pbXBvcnQge3NjYWxlTWFwU3R5bGVCeVJlc29sdXRpb259IGZyb20gJ3V0aWxzL21hcC1zdHlsZS11dGlscy9tYXBib3gtZ2wtc3R5bGUtZWRpdG9yJztcblxuaW1wb3J0IHtmaW5kTWFwQm91bmRzfSBmcm9tICd1dGlscy9kYXRhLXV0aWxzJztcbmltcG9ydCB7Z2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHN9IGZyb20gJ3V0aWxzL3Byb2plY3Rpb24tdXRpbHMnO1xuaW1wb3J0IHtHRU9DT0RFUl9MQVlFUl9JRH0gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuaW1wb3J0IHtFeHBvcnRJbWFnZSwgU3BsaXRNYXB9IGZyb20gJ3JlZHVjZXJzJztcbmltcG9ydCB7c2V0RXhwb3J0SW1hZ2VEYXRhVXJpLCBzZXRFeHBvcnRJbWFnZUVycm9yLCBzZXRFeHBvcnRJbWFnZVNldHRpbmd9IGZyb20gJ2FjdGlvbnMnO1xuaW1wb3J0IHttYXBGaWVsZHNTZWxlY3Rvcn0gZnJvbSAnLi9rZXBsZXItZ2wnO1xuXG5jb25zdCBDTEFTU19GSUxURVIgPSBbJ21hcGJveGdsLWNvbnRyb2wtY29udGFpbmVyJywgJ2F0dHJpdGlvbi1saW5rJywgJ2F0dHJpdGlvbi1sb2dvJ107XG5jb25zdCBET01fRklMVEVSX0ZVTkMgPSBub2RlID0+ICFDTEFTU19GSUxURVIuaW5jbHVkZXMobm9kZS5jbGFzc05hbWUpO1xuY29uc3QgT1VUX09GX1NDUkVFTl9QT1NJVElPTiA9IC05OTk5O1xuXG5QbG90Q29udGFpbmVyRmFjdG9yeS5kZXBzID0gW01hcENvbnRhaW5lckZhY3RvcnksIE1hcHNMYXlvdXRGYWN0b3J5XTtcblxuLy8gUmVtb3ZlIG1hcGJveCBsb2dvIGluIGV4cG9ydGVkIG1hcCwgYmVjYXVzZSBpdCBjb250YWlucyBub24tYXNjaWkgY2hhcmFjdGVyc1xuY29uc3QgU3R5bGVkUGxvdENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke09VVF9PRl9TQ1JFRU5fUE9TSVRJT059cHg7XG4gIGxlZnQ6ICR7T1VUX09GX1NDUkVFTl9QT1NJVElPTn1weDtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRNYXBDb250YWluZXJQcm9wcyB7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IFN0eWxlZE1hcENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkTWFwQ29udGFpbmVyUHJvcHM+YFxuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aH1weDtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLmhlaWdodH1weDtcbiAgZGlzcGxheTogZmxleDtcbmA7XG5cbmNvbnN0IGRlY2tHbFByb3BzID0ge1xuICBnbE9wdGlvbnM6IHtcbiAgICBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWUsXG4gICAgdXNlRGV2aWNlUGl4ZWxzOiBmYWxzZVxuICB9XG59O1xuXG5pbnRlcmZhY2UgUGxvdENvbnRhaW5lclByb3BzIHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgZXhwb3J0SW1hZ2VTZXR0aW5nOiBFeHBvcnRJbWFnZTtcbiAgYWRkTm90aWZpY2F0aW9uOiBGdW5jdGlvbjtcbiAgbWFwRmllbGRzOiBSZXR1cm5UeXBlPHR5cGVvZiBtYXBGaWVsZHNTZWxlY3Rvcj47XG4gIHNldEV4cG9ydEltYWdlU2V0dGluZzogdHlwZW9mIHNldEV4cG9ydEltYWdlU2V0dGluZztcbiAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpOiB0eXBlb2Ygc2V0RXhwb3J0SW1hZ2VEYXRhVXJpO1xuICBzZXRFeHBvcnRJbWFnZUVycm9yOiB0eXBlb2Ygc2V0RXhwb3J0SW1hZ2VFcnJvcjtcbiAgc3BsaXRNYXBzPzogU3BsaXRNYXBbXTtcbiAgZW5hYmxlRXJyb3JOb3RpZmljYXRpb24/OiBib29sZWFuO1xuICBtYXNrUG9seWdvbj86IGFueTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGxvdENvbnRhaW5lckZhY3RvcnkoXG4gIE1hcENvbnRhaW5lcjogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udGFpbmVyRmFjdG9yeT4sXG4gIE1hcHNMYXlvdXQ6IFJldHVyblR5cGU8dHlwZW9mIE1hcHNMYXlvdXRGYWN0b3J5PlxuKTogUmVhY3QuQ29tcG9uZW50VHlwZTxQbG90Q29udGFpbmVyUHJvcHM+IHtcbiAgY2xhc3MgUGxvdENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudDxQbG90Q29udGFpbmVyUHJvcHM+IHtcbiAgICBfZ2VuZXJhdGVUaHVtYm5haWw6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAvLyBfb25NYXBSZW5kZXIgZGVmaW5lZCBpbiBjbG91ZC1uYXRpdmVcbiAgICAgIHRoaXMuX2dlbmVyYXRlVGh1bWJuYWlsID0gbnVsbDtcbiAgICAgIHRoaXMuX3JldHJpZXZlTmV3U2NyZWVuc2hvdCA9IGRlYm91bmNlKHRoaXMuX3JldHJpZXZlTmV3U2NyZWVuc2hvdCwgNTAwKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMuc2V0RXhwb3J0SW1hZ2VTZXR0aW5nKHtwcm9jZXNzaW5nOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgICAgLy8gcmUtZmV0Y2ggdGhlIG5ldyBzY3JlZW5zaG90IG9ubHkgd2hlbiByYXRpbyBsZWdlbmQgb3IgcmVzb2x1dGlvbiBjaGFuZ2VzXG4gICAgICBjb25zdCBjaGVja3MgPSBbJ3JhdGlvJywgJ3Jlc29sdXRpb24nLCAnbGVnZW5kJ107XG4gICAgICBjb25zdCBzaG91bGRSZXRyaWV2ZVNjcmVlbnNob3QgPSBjaGVja3Muc29tZShcbiAgICAgICAgaXRlbSA9PiB0aGlzLnByb3BzLmV4cG9ydEltYWdlU2V0dGluZ1tpdGVtXSAhPT0gcHJldlByb3BzLmV4cG9ydEltYWdlU2V0dGluZ1tpdGVtXVxuICAgICAgKTtcbiAgICAgIGlmIChzaG91bGRSZXRyaWV2ZVNjcmVlbnNob3QpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5zZXRFeHBvcnRJbWFnZVNldHRpbmcoe3Byb2Nlc3Npbmc6IHRydWV9KTtcbiAgICAgICAgdGhpcy5fcmV0cmlldmVOZXdTY3JlZW5zaG90KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcGxvdHRpbmdBcmVhUmVmID0gY3JlYXRlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuXG4gICAgbWFwU3R5bGVTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLm1hcEZpZWxkcy5tYXBTdHlsZTtcbiAgICBtYXBTY2FsZVNlbGVjdG9yID0gcHJvcHMgPT4ge1xuICAgICAgY29uc3Qge2ltYWdlU2l6ZX0gPSBwcm9wcy5leHBvcnRJbWFnZVNldHRpbmc7XG4gICAgICBjb25zdCB7bWFwU3RhdGV9ID0gcHJvcHMubWFwRmllbGRzO1xuICAgICAgaWYgKGltYWdlU2l6ZS5zY2FsZSkge1xuICAgICAgICByZXR1cm4gaW1hZ2VTaXplLnNjYWxlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzY2FsZSA9IGdldFNjYWxlRnJvbUltYWdlU2l6ZShcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgICAgbWFwU3RhdGUud2lkdGggKiAobWFwU3RhdGUuaXNTcGxpdCA/IDIgOiAxKSxcbiAgICAgICAgbWFwU3RhdGUuaGVpZ2h0XG4gICAgICApO1xuXG4gICAgICByZXR1cm4gc2NhbGUgPiAwID8gc2NhbGUgOiAxO1xuICAgIH07XG5cbiAgICBzY2FsZWRNYXBTdHlsZVNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICB0aGlzLm1hcFN0eWxlU2VsZWN0b3IsXG4gICAgICB0aGlzLm1hcFNjYWxlU2VsZWN0b3IsXG4gICAgICAobWFwU3R5bGUsIHNjYWxlKSA9PiAoe1xuICAgICAgICAuLi5tYXBTdHlsZSxcbiAgICAgICAgYm90dG9tTWFwU3R5bGU6IHNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24obWFwU3R5bGUuYm90dG9tTWFwU3R5bGUsIHNjYWxlKSxcbiAgICAgICAgdG9wTWFwU3R5bGU6IHNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24obWFwU3R5bGUudG9wTWFwU3R5bGUsIHNjYWxlKVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgX3JldHJpZXZlTmV3U2NyZWVuc2hvdCA9ICgpID0+IHtcbiAgICAgIGlmICh0aGlzLnBsb3R0aW5nQXJlYVJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNvbnZlcnRUb1BuZyh0aGlzLnBsb3R0aW5nQXJlYVJlZi5jdXJyZW50LCB7ZmlsdGVyOiBET01fRklMVEVSX0ZVTkN9KVxuICAgICAgICAgIC50aGVuKHRoaXMucHJvcHMuc2V0RXhwb3J0SW1hZ2VEYXRhVXJpKVxuICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRFeHBvcnRJbWFnZUVycm9yKGVycik7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5lbmFibGVFcnJvck5vdGlmaWNhdGlvbikge1xuICAgICAgICAgICAgICB0aGlzLnByb3BzLmFkZE5vdGlmaWNhdGlvbihleHBvcnRJbWFnZUVycm9yKHtlcnJ9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtleHBvcnRJbWFnZVNldHRpbmcsIG1hcEZpZWxkcywgc3BsaXRNYXBzID0gW10sIG1hc2tQb2x5Z29ufSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCB7aW1hZ2VTaXplLCBsZWdlbmR9ID0gZXhwb3J0SW1hZ2VTZXR0aW5nO1xuICAgICAgY29uc3Qge21hcFN0YXRlfSA9IG1hcEZpZWxkcztcbiAgICAgIGNvbnN0IGlzU3BsaXQgPSBzcGxpdE1hcHMgJiYgc3BsaXRNYXBzLmxlbmd0aCA+IDE7XG5cbiAgICAgIGNvbnN0IHNpemUgPSB7XG4gICAgICAgIHdpZHRoOiBpbWFnZVNpemU/LmltYWdlVyB8fCAxLFxuICAgICAgICBoZWlnaHQ6IGltYWdlU2l6ZT8uaW1hZ2VIIHx8IDFcbiAgICAgIH07XG4gICAgICBjb25zdCB3aWR0aCA9IHNpemUud2lkdGggLyAoaXNTcGxpdCA/IDIgOiAxKTtcbiAgICAgIGNvbnN0IGhlaWdodCA9IHNpemUuaGVpZ2h0O1xuICAgICAgY29uc3Qgc2NhbGUgPSB0aGlzLm1hcFNjYWxlU2VsZWN0b3IodGhpcy5wcm9wcyk7XG4gICAgICBjb25zdCBuZXdNYXBTdGF0ZSA9IHtcbiAgICAgICAgLi4ubWFwU3RhdGUsXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBoZWlnaHQsXG4gICAgICAgIHpvb206IG1hcFN0YXRlLnpvb20gKyAoTWF0aC5sb2cyKHNjYWxlKSB8fCAwKVxuICAgICAgfTtcblxuICAgICAgLy8gY2VudGVyIGFuZCBhbGwgbGF5ZXIgYm91bmRzXG4gICAgICBpZiAoZXhwb3J0SW1hZ2VTZXR0aW5nLmNlbnRlcikge1xuICAgICAgICBjb25zdCByZW5kZXJlZExheWVycyA9IG1hcEZpZWxkcy5sYXllcnMuZmlsdGVyKFxuICAgICAgICAgIChsYXllciwgaWR4KSA9PlxuICAgICAgICAgICAgbGF5ZXIuaWQgIT09IEdFT0NPREVSX0xBWUVSX0lEICYmIGxheWVyLnNob3VsZFJlbmRlckxheWVyKG1hcEZpZWxkcy5sYXllckRhdGFbaWR4XSlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgYm91bmRzID0gZmluZE1hcEJvdW5kcyhyZW5kZXJlZExheWVycyk7XG4gICAgICAgIGNvbnN0IGNlbnRlckFuZFpvb20gPSBnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyhib3VuZHMsIHt3aWR0aCwgaGVpZ2h0fSk7XG4gICAgICAgIGlmIChjZW50ZXJBbmRab29tKSB7XG4gICAgICAgICAgY29uc3Qgem9vbSA9IE51bWJlci5pc0Zpbml0ZShjZW50ZXJBbmRab29tLnpvb20pID8gY2VudGVyQW5kWm9vbS56b29tIDogbWFwU3RhdGUuem9vbTtcblxuICAgICAgICAgIG5ld01hcFN0YXRlLmxvbmdpdHVkZSA9IGNlbnRlckFuZFpvb20uY2VudGVyWzBdO1xuICAgICAgICAgIG5ld01hcFN0YXRlLmxhdGl0dWRlID0gY2VudGVyQW5kWm9vbS5jZW50ZXJbMV07XG4gICAgICAgICAgbmV3TWFwU3RhdGUuem9vbSA9IHpvb20gKyBOdW1iZXIoTWF0aC5sb2cyKHNjYWxlKSB8fCAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBtYXBQcm9wcyA9IHtcbiAgICAgICAgLi4ubWFwRmllbGRzLFxuICAgICAgICBtYXBTdHlsZTogdGhpcy5zY2FsZWRNYXBTdHlsZVNlbGVjdG9yKHRoaXMucHJvcHMpLFxuXG4gICAgICAgIC8vIG92ZXJyaWRlIHZpZXdwb3J0IGJhc2VkIG9uIGV4cG9ydCBzZXR0aW5nc1xuICAgICAgICBtYXBTdGF0ZTogbmV3TWFwU3RhdGUsXG4gICAgICAgIG1hcENvbnRyb2xzOiB7XG4gICAgICAgICAgLy8gb3ZlcnJpZGUgbWFwIGxlZ2VuZCB2aXNpYmlsaXR5XG4gICAgICAgICAgbWFwTGVnZW5kOiB7XG4gICAgICAgICAgICBzaG93OiBsZWdlbmQsXG4gICAgICAgICAgICBhY3RpdmU6IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIE1hcENvbXBvbmVudDogU3RhdGljTWFwLFxuICAgICAgICBnZW5lcmF0ZVRodW1ibmFpbDogdGhpcy5fZ2VuZXJhdGVUaHVtYm5haWwsXG4gICAgICAgIGlzRXhwb3J0OiB0cnVlLFxuICAgICAgICBkZWNrR2xQcm9wcyxcbiAgICAgICAgbWFza1BvbHlnb25cbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IG1hcENvbnRhaW5lcnMgPSAhaXNTcGxpdCA/IChcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICA8TWFwQ29udGFpbmVyIGluZGV4PXswfSBwcmltYXJ5PXt0cnVlfSB7Li4ubWFwUHJvcHN9IC8+XG4gICAgICApIDogKFxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIDxNYXBzTGF5b3V0IGlzRXhwb3J0PXt0cnVlfT5cbiAgICAgICAgICB7c3BsaXRNYXBzLm1hcCgoc2V0dGluZ3MsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICA8TWFwQ29udGFpbmVyXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgcHJpbWFyeT17aW5kZXggPT09IDF9XG4gICAgICAgICAgICAgIHsuLi5tYXBQcm9wc31cbiAgICAgICAgICAgICAgbWFwTGF5ZXJzPXtzcGxpdE1hcHNbaW5kZXhdLmxheWVyc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvTWFwc0xheW91dD5cbiAgICAgICk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkUGxvdENvbnRhaW5lciBjbGFzc05hbWU9XCJleHBvcnQtbWFwLWluc3RhbmNlXCI+XG4gICAgICAgICAgPFN0eWxlZE1hcENvbnRhaW5lciByZWY9e3RoaXMucGxvdHRpbmdBcmVhUmVmfSB3aWR0aD17c2l6ZS53aWR0aH0gaGVpZ2h0PXtzaXplLmhlaWdodH0+XG4gICAgICAgICAgICB7bWFwQ29udGFpbmVyc31cbiAgICAgICAgICA8L1N0eWxlZE1hcENvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRQbG90Q29udGFpbmVyPlxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFBsb3RDb250YWluZXI7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQkEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQUYsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFNLG1CQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxhQUFBLEdBQUFKLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFMLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBUyxZQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxvQkFBQSxHQUFBVixPQUFBO0FBRUEsSUFBQVcsVUFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFB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
|
|
240
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVzZWxlY3QiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RNYXBHbCIsIl9kZWJvdW5jZSIsIl9ub3RpZmljYXRpb25zVXRpbHMiLCJfbWFwQ29udGFpbmVyIiwiX21hcHNMYXlvdXQiLCJfZXhwb3J0VXRpbHMiLCJfbWFwYm94R2xTdHlsZUVkaXRvciIsIl9kYXRhVXRpbHMiLCJfcHJvamVjdGlvblV0aWxzIiwiX2RlZmF1bHRTZXR0aW5ncyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIkNMQVNTX0ZJTFRFUiIsIkRPTV9GSUxURVJfRlVOQyIsIm5vZGUiLCJpbmNsdWRlcyIsImNsYXNzTmFtZSIsIk9VVF9PRl9TQ1JFRU5fUE9TSVRJT04iLCJQbG90Q29udGFpbmVyRmFjdG9yeSIsImRlcHMiLCJNYXBDb250YWluZXJGYWN0b3J5IiwiTWFwc0xheW91dEZhY3RvcnkiLCJTdHlsZWRQbG90Q29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJTdHlsZWRNYXBDb250YWluZXIiLCJwcm9wcyIsIndpZHRoIiwiaGVpZ2h0IiwiZGVja0dsUHJvcHMiLCJnbE9wdGlvbnMiLCJwcmVzZXJ2ZURyYXdpbmdCdWZmZXIiLCJ1c2VEZXZpY2VQaXhlbHMiLCJNYXBDb250YWluZXIiLCJNYXBzTGF5b3V0IiwiUGxvdENvbnRhaW5lciIsIl9Db21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJjcmVhdGVSZWYiLCJtYXBGaWVsZHMiLCJtYXBTdHlsZSIsImltYWdlU2l6ZSIsImV4cG9ydEltYWdlU2V0dGluZyIsIm1hcFN0YXRlIiwic2NhbGUiLCJnZXRTY2FsZUZyb21JbWFnZVNpemUiLCJpbWFnZVciLCJpbWFnZUgiLCJpc1NwbGl0IiwiY3JlYXRlU2VsZWN0b3IiLCJtYXBTdHlsZVNlbGVjdG9yIiwibWFwU2NhbGVTZWxlY3RvciIsImJvdHRvbU1hcFN0eWxlIiwic2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbiIsInRvcE1hcFN0eWxlIiwicGxvdHRpbmdBcmVhUmVmIiwiY3VycmVudCIsImNvbnZlcnRUb1BuZyIsInRoZW4iLCJzZXRFeHBvcnRJbWFnZURhdGFVcmkiLCJlcnIiLCJzZXRFeHBvcnRJbWFnZUVycm9yIiwiZW5hYmxlRXJyb3JOb3RpZmljYXRpb24iLCJhZGROb3RpZmljYXRpb24iLCJleHBvcnRJbWFnZUVycm9yIiwiX2dlbmVyYXRlVGh1bWJuYWlsIiwiX3JldHJpZXZlTmV3U2NyZWVuc2hvdCIsImRlYm91bmNlIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsImNvbXBvbmVudERpZE1vdW50Iiwic2V0RXhwb3J0SW1hZ2VTZXR0aW5nIiwicHJvY2Vzc2luZyIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsIl90aGlzMiIsImNoZWNrcyIsInNob3VsZFJldHJpZXZlU2NyZWVuc2hvdCIsInNvbWUiLCJpdGVtIiwicmVuZGVyIiwiX3RoaXMkcHJvcHMiLCJfdGhpcyRwcm9wcyRzcGxpdE1hcHMiLCJzcGxpdE1hcHMiLCJtYXNrUG9seWdvbiIsImxlZ2VuZCIsInNpemUiLCJuZXdNYXBTdGF0ZSIsInpvb20iLCJNYXRoIiwibG9nMiIsImNlbnRlciIsInJlbmRlcmVkTGF5ZXJzIiwibGF5ZXJzIiwibGF5ZXIiLCJpZHgiLCJpZCIsIkdFT0NPREVSX0xBWUVSX0lEIiwic2hvdWxkUmVuZGVyTGF5ZXIiLCJsYXllckRhdGEiLCJib3VuZHMiLCJmaW5kTWFwQm91bmRzIiwiY2VudGVyQW5kWm9vbSIsImdldENlbnRlckFuZFpvb21Gcm9tQm91bmRzIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsIm1hcFByb3BzIiwic2NhbGVkTWFwU3R5bGVTZWxlY3RvciIsIm1hcENvbnRyb2xzIiwibWFwTGVnZW5kIiwic2hvdyIsImFjdGl2ZSIsIk1hcENvbXBvbmVudCIsIlN0YXRpY01hcCIsImdlbmVyYXRlVGh1bWJuYWlsIiwiaXNFeHBvcnQiLCJtYXBDb250YWluZXJzIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsImluZGV4IiwicHJpbWFyeSIsIm1hcCIsInNldHRpbmdzIiwibWFwTGF5ZXJzIiwicmVmIiwiQ29tcG9uZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvcGxvdC1jb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbi8vIGxpYnJhcmllc1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7Y3JlYXRlU2VsZWN0b3J9IGZyb20gJ3Jlc2VsZWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtTdGF0aWNNYXB9IGZyb20gJ3JlYWN0LW1hcC1nbCc7XG5pbXBvcnQgZGVib3VuY2UgZnJvbSAnbG9kYXNoL2RlYm91bmNlJztcbmltcG9ydCB7ZXhwb3J0SW1hZ2VFcnJvcn0gZnJvbSAndXRpbHMvbm90aWZpY2F0aW9ucy11dGlscyc7XG5pbXBvcnQgTWFwQ29udGFpbmVyRmFjdG9yeSBmcm9tICcuL21hcC1jb250YWluZXInO1xuaW1wb3J0IE1hcHNMYXlvdXRGYWN0b3J5IGZyb20gJy4vbWFwcy1sYXlvdXQnO1xuaW1wb3J0IHtjb252ZXJ0VG9QbmcsIGdldFNjYWxlRnJvbUltYWdlU2l6ZX0gZnJvbSAndXRpbHMvZXhwb3J0LXV0aWxzJztcbmltcG9ydCB7c2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbn0gZnJvbSAndXRpbHMvbWFwLXN0eWxlLXV0aWxzL21hcGJveC1nbC1zdHlsZS1lZGl0b3InO1xuXG5pbXBvcnQge2ZpbmRNYXBCb3VuZHN9IGZyb20gJ3V0aWxzL2RhdGEtdXRpbHMnO1xuaW1wb3J0IHtnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kc30gZnJvbSAndXRpbHMvcHJvamVjdGlvbi11dGlscyc7XG5pbXBvcnQge0dFT0NPREVSX0xBWUVSX0lEfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQge0V4cG9ydEltYWdlLCBTcGxpdE1hcH0gZnJvbSAncmVkdWNlcnMnO1xuaW1wb3J0IHtzZXRFeHBvcnRJbWFnZURhdGFVcmksIHNldEV4cG9ydEltYWdlRXJyb3IsIHNldEV4cG9ydEltYWdlU2V0dGluZ30gZnJvbSAnYWN0aW9ucyc7XG5pbXBvcnQge21hcEZpZWxkc1NlbGVjdG9yfSBmcm9tICcuL2tlcGxlci1nbCc7XG5cbmNvbnN0IENMQVNTX0ZJTFRFUiA9IFsnbWFwYm94Z2wtY29udHJvbC1jb250YWluZXInLCAnYXR0cml0aW9uLWxpbmsnLCAnYXR0cml0aW9uLWxvZ28nXTtcbmNvbnN0IERPTV9GSUxURVJfRlVOQyA9IG5vZGUgPT4gIUNMQVNTX0ZJTFRFUi5pbmNsdWRlcyhub2RlLmNsYXNzTmFtZSk7XG5jb25zdCBPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OID0gLTk5OTk7XG5cblBsb3RDb250YWluZXJGYWN0b3J5LmRlcHMgPSBbTWFwQ29udGFpbmVyRmFjdG9yeSwgTWFwc0xheW91dEZhY3RvcnldO1xuXG4vLyBSZW1vdmUgbWFwYm94IGxvZ28gaW4gZXhwb3J0ZWQgbWFwLCBiZWNhdXNlIGl0IGNvbnRhaW5zIG5vbi1hc2NpaSBjaGFyYWN0ZXJzXG5jb25zdCBTdHlsZWRQbG90Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICR7T1VUX09GX1NDUkVFTl9QT1NJVElPTn1weDtcbiAgbGVmdDogJHtPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OfXB4O1xuYDtcblxuaW50ZXJmYWNlIFN0eWxlZE1hcENvbnRhaW5lclByb3BzIHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbn1cblxuY29uc3QgU3R5bGVkTWFwQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRNYXBDb250YWluZXJQcm9wcz5gXG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRofXB4O1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaGVpZ2h0fXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgZGVja0dsUHJvcHMgPSB7XG4gIGdsT3B0aW9uczoge1xuICAgIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZSxcbiAgICB1c2VEZXZpY2VQaXhlbHM6IGZhbHNlXG4gIH1cbn07XG5cbmludGVyZmFjZSBQbG90Q29udGFpbmVyUHJvcHMge1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBleHBvcnRJbWFnZVNldHRpbmc6IEV4cG9ydEltYWdlO1xuICBhZGROb3RpZmljYXRpb246IEZ1bmN0aW9uO1xuICBtYXBGaWVsZHM6IFJldHVyblR5cGU8dHlwZW9mIG1hcEZpZWxkc1NlbGVjdG9yPjtcbiAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nOiB0eXBlb2Ygc2V0RXhwb3J0SW1hZ2VTZXR0aW5nO1xuICBzZXRFeHBvcnRJbWFnZURhdGFVcmk6IHR5cGVvZiBzZXRFeHBvcnRJbWFnZURhdGFVcmk7XG4gIHNldEV4cG9ydEltYWdlRXJyb3I6IHR5cGVvZiBzZXRFeHBvcnRJbWFnZUVycm9yO1xuICBzcGxpdE1hcHM/OiBTcGxpdE1hcFtdO1xuICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbj86IGJvb2xlYW47XG4gIG1hc2tQb2x5Z29uPzogYW55O1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQbG90Q29udGFpbmVyRmFjdG9yeShcbiAgTWFwQ29udGFpbmVyOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250YWluZXJGYWN0b3J5PixcbiAgTWFwc0xheW91dDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwc0xheW91dEZhY3Rvcnk+XG4pOiBSZWFjdC5Db21wb25lbnRUeXBlPFBsb3RDb250YWluZXJQcm9wcz4ge1xuICBjbGFzcyBQbG90Q29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50PFBsb3RDb250YWluZXJQcm9wcz4ge1xuICAgIF9nZW5lcmF0ZVRodW1ibmFpbDogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIC8vIF9vbk1hcFJlbmRlciBkZWZpbmVkIGluIGNsb3VkLW5hdGl2ZVxuICAgICAgdGhpcy5fZ2VuZXJhdGVUaHVtYm5haWwgPSBudWxsO1xuICAgICAgdGhpcy5fcmV0cmlldmVOZXdTY3JlZW5zaG90ID0gZGVib3VuY2UodGhpcy5fcmV0cmlldmVOZXdTY3JlZW5zaG90LCA1MDApO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgdGhpcy5wcm9wcy5zZXRFeHBvcnRJbWFnZVNldHRpbmcoe3Byb2Nlc3Npbmc6IHRydWV9KTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgICAvLyByZS1mZXRjaCB0aGUgbmV3IHNjcmVlbnNob3Qgb25seSB3aGVuIHJhdGlvIGxlZ2VuZCBvciByZXNvbHV0aW9uIGNoYW5nZXNcbiAgICAgIGNvbnN0IGNoZWNrcyA9IFsncmF0aW8nLCAncmVzb2x1dGlvbicsICdsZWdlbmQnXTtcbiAgICAgIGNvbnN0IHNob3VsZFJldHJpZXZlU2NyZWVuc2hvdCA9IGNoZWNrcy5zb21lKFxuICAgICAgICBpdGVtID0+IHRoaXMucHJvcHMuZXhwb3J0SW1hZ2VTZXR0aW5nW2l0ZW1dICE9PSBwcmV2UHJvcHMuZXhwb3J0SW1hZ2VTZXR0aW5nW2l0ZW1dXG4gICAgICApO1xuICAgICAgaWYgKHNob3VsZFJldHJpZXZlU2NyZWVuc2hvdCkge1xuICAgICAgICB0aGlzLnByb3BzLnNldEV4cG9ydEltYWdlU2V0dGluZyh7cHJvY2Vzc2luZzogdHJ1ZX0pO1xuICAgICAgICB0aGlzLl9yZXRyaWV2ZU5ld1NjcmVlbnNob3QoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwbG90dGluZ0FyZWFSZWYgPSBjcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG5cbiAgICBtYXBTdHlsZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMubWFwRmllbGRzLm1hcFN0eWxlO1xuICAgIG1hcFNjYWxlU2VsZWN0b3IgPSBwcm9wcyA9PiB7XG4gICAgICBjb25zdCB7aW1hZ2VTaXplfSA9IHByb3BzLmV4cG9ydEltYWdlU2V0dGluZztcbiAgICAgIGNvbnN0IHttYXBTdGF0ZX0gPSBwcm9wcy5tYXBGaWVsZHM7XG4gICAgICBpZiAoaW1hZ2VTaXplLnNjYWxlKSB7XG4gICAgICAgIHJldHVybiBpbWFnZVNpemUuc2NhbGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNjYWxlID0gZ2V0U2NhbGVGcm9tSW1hZ2VTaXplKFxuICAgICAgICBpbWFnZVNpemUuaW1hZ2VXLFxuICAgICAgICBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgICBtYXBTdGF0ZS53aWR0aCAqIChtYXBTdGF0ZS5pc1NwbGl0ID8gMiA6IDEpLFxuICAgICAgICBtYXBTdGF0ZS5oZWlnaHRcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBzY2FsZSA+IDAgPyBzY2FsZSA6IDE7XG4gICAgfTtcblxuICAgIHNjYWxlZE1hcFN0eWxlU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIHRoaXMubWFwU3R5bGVTZWxlY3RvcixcbiAgICAgIHRoaXMubWFwU2NhbGVTZWxlY3RvcixcbiAgICAgIChtYXBTdHlsZSwgc2NhbGUpID0+ICh7XG4gICAgICAgIC4uLm1hcFN0eWxlLFxuICAgICAgICBib3R0b21NYXBTdHlsZTogc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbihtYXBTdHlsZS5ib3R0b21NYXBTdHlsZSwgc2NhbGUpLFxuICAgICAgICB0b3BNYXBTdHlsZTogc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbihtYXBTdHlsZS50b3BNYXBTdHlsZSwgc2NhbGUpXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBfcmV0cmlldmVOZXdTY3JlZW5zaG90ID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMucGxvdHRpbmdBcmVhUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgY29udmVydFRvUG5nKHRoaXMucGxvdHRpbmdBcmVhUmVmLmN1cnJlbnQsIHtmaWx0ZXI6IERPTV9GSUxURVJfRlVOQ30pXG4gICAgICAgICAgLnRoZW4odGhpcy5wcm9wcy5zZXRFeHBvcnRJbWFnZURhdGFVcmkpXG4gICAgICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLnByb3BzLnNldEV4cG9ydEltYWdlRXJyb3IoZXJyKTtcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLmVuYWJsZUVycm9yTm90aWZpY2F0aW9uKSB7XG4gICAgICAgICAgICAgIHRoaXMucHJvcHMuYWRkTm90aWZpY2F0aW9uKGV4cG9ydEltYWdlRXJyb3Ioe2Vycn0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2V4cG9ydEltYWdlU2V0dGluZywgbWFwRmllbGRzLCBzcGxpdE1hcHMgPSBbXSwgbWFza1BvbHlnb259ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHtpbWFnZVNpemUsIGxlZ2VuZH0gPSBleHBvcnRJbWFnZVNldHRpbmc7XG4gICAgICBjb25zdCB7bWFwU3RhdGV9ID0gbWFwRmllbGRzO1xuICAgICAgY29uc3QgaXNTcGxpdCA9IHNwbGl0TWFwcyAmJiBzcGxpdE1hcHMubGVuZ3RoID4gMTtcblxuICAgICAgY29uc3Qgc2l6ZSA9IHtcbiAgICAgICAgd2lkdGg6IGltYWdlU2l6ZT8uaW1hZ2VXIHx8IDEsXG4gICAgICAgIGhlaWdodDogaW1hZ2VTaXplPy5pbWFnZUggfHwgMVxuICAgICAgfTtcbiAgICAgIGNvbnN0IHdpZHRoID0gc2l6ZS53aWR0aCAvIChpc1NwbGl0ID8gMiA6IDEpO1xuICAgICAgY29uc3QgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XG4gICAgICBjb25zdCBzY2FsZSA9IHRoaXMubWFwU2NhbGVTZWxlY3Rvcih0aGlzLnByb3BzKTtcbiAgICAgIGNvbnN0IG5ld01hcFN0YXRlID0ge1xuICAgICAgICAuLi5tYXBTdGF0ZSxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgem9vbTogbWFwU3RhdGUuem9vbSArIChNYXRoLmxvZzIoc2NhbGUpIHx8IDApXG4gICAgICB9O1xuXG4gICAgICAvLyBjZW50ZXIgYW5kIGFsbCBsYXllciBib3VuZHNcbiAgICAgIGlmIChleHBvcnRJbWFnZVNldHRpbmcuY2VudGVyKSB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVkTGF5ZXJzID0gbWFwRmllbGRzLmxheWVycy5maWx0ZXIoXG4gICAgICAgICAgKGxheWVyLCBpZHgpID0+XG4gICAgICAgICAgICBsYXllci5pZCAhPT0gR0VPQ09ERVJfTEFZRVJfSUQgJiYgbGF5ZXIuc2hvdWxkUmVuZGVyTGF5ZXIobWFwRmllbGRzLmxheWVyRGF0YVtpZHhdKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBib3VuZHMgPSBmaW5kTWFwQm91bmRzKHJlbmRlcmVkTGF5ZXJzKTtcbiAgICAgICAgY29uc3QgY2VudGVyQW5kWm9vbSA9IGdldENlbnRlckFuZFpvb21Gcm9tQm91bmRzKGJvdW5kcywge3dpZHRoLCBoZWlnaHR9KTtcbiAgICAgICAgaWYgKGNlbnRlckFuZFpvb20pIHtcbiAgICAgICAgICBjb25zdCB6b29tID0gTnVtYmVyLmlzRmluaXRlKGNlbnRlckFuZFpvb20uem9vbSkgPyBjZW50ZXJBbmRab29tLnpvb20gOiBtYXBTdGF0ZS56b29tO1xuXG4gICAgICAgICAgbmV3TWFwU3RhdGUubG9uZ2l0dWRlID0gY2VudGVyQW5kWm9vbS5jZW50ZXJbMF07XG4gICAgICAgICAgbmV3TWFwU3RhdGUubGF0aXR1ZGUgPSBjZW50ZXJBbmRab29tLmNlbnRlclsxXTtcbiAgICAgICAgICBuZXdNYXBTdGF0ZS56b29tID0gem9vbSArIE51bWJlcihNYXRoLmxvZzIoc2NhbGUpIHx8IDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1hcFByb3BzID0ge1xuICAgICAgICAuLi5tYXBGaWVsZHMsXG4gICAgICAgIG1hcFN0eWxlOiB0aGlzLnNjYWxlZE1hcFN0eWxlU2VsZWN0b3IodGhpcy5wcm9wcyksXG5cbiAgICAgICAgLy8gb3ZlcnJpZGUgdmlld3BvcnQgYmFzZWQgb24gZXhwb3J0IHNldHRpbmdzXG4gICAgICAgIG1hcFN0YXRlOiBuZXdNYXBTdGF0ZSxcbiAgICAgICAgbWFwQ29udHJvbHM6IHtcbiAgICAgICAgICAvLyBvdmVycmlkZSBtYXAgbGVnZW5kIHZpc2liaWxpdHlcbiAgICAgICAgICBtYXBMZWdlbmQ6IHtcbiAgICAgICAgICAgIHNob3c6IGxlZ2VuZCxcbiAgICAgICAgICAgIGFjdGl2ZTogdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgTWFwQ29tcG9uZW50OiBTdGF0aWNNYXAsXG4gICAgICAgIGdlbmVyYXRlVGh1bWJuYWlsOiB0aGlzLl9nZW5lcmF0ZVRodW1ibmFpbCxcbiAgICAgICAgaXNFeHBvcnQ6IHRydWUsXG4gICAgICAgIGRlY2tHbFByb3BzLFxuICAgICAgICBtYXNrUG9seWdvblxuICAgICAgfTtcblxuICAgICAgY29uc3QgbWFwQ29udGFpbmVycyA9ICFpc1NwbGl0ID8gKFxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIDxNYXBDb250YWluZXIgaW5kZXg9ezB9IHByaW1hcnk9e3RydWV9IHsuLi5tYXBQcm9wc30gLz5cbiAgICAgICkgOiAoXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgPE1hcHNMYXlvdXQgaXNFeHBvcnQ9e3RydWV9PlxuICAgICAgICAgIHtzcGxpdE1hcHMubWFwKChzZXR0aW5ncywgaW5kZXgpID0+IChcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgIDxNYXBDb250YWluZXJcbiAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICBwcmltYXJ5PXtpbmRleCA9PT0gMX1cbiAgICAgICAgICAgICAgey4uLm1hcFByb3BzfVxuICAgICAgICAgICAgICBtYXBMYXllcnM9e3NwbGl0TWFwc1tpbmRleF0ubGF5ZXJzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9NYXBzTGF5b3V0PlxuICAgICAgKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTdHlsZWRQbG90Q29udGFpbmVyIGNsYXNzTmFtZT1cImV4cG9ydC1tYXAtaW5zdGFuY2VcIj5cbiAgICAgICAgICA8U3R5bGVkTWFwQ29udGFpbmVyIHJlZj17dGhpcy5wbG90dGluZ0FyZWFSZWZ9IHdpZHRoPXtzaXplLndpZHRofSBoZWlnaHQ9e3NpemUuaGVpZ2h0fT5cbiAgICAgICAgICAgIHttYXBDb250YWluZXJzfVxuICAgICAgICAgIDwvU3R5bGVkTWFwQ29udGFpbmVyPlxuICAgICAgICA8L1N0eWxlZFBsb3RDb250YWluZXI+XG4gICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gUGxvdENvbnRhaW5lcjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQXFCQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU0sbUJBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQUwsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLG9CQUFBLEdBQUFWLE9BQUE7QUFFQSxJQUFBVyxVQUFBLEdBQUFYLE9BQUE7QUFDQSxJ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
|