@kepler.gl/components 3.1.0-alpha.3 → 3.1.0-alpha.4
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/bottom-widget.d.ts +7 -1
- package/dist/bottom-widget.js +2 -8
- package/dist/common/action-panel.d.ts +5 -6
- package/dist/common/action-panel.js +3 -5
- package/dist/common/animation-control/animation-control.d.ts +2 -1
- package/dist/common/animation-control/animation-control.js +4 -2
- package/dist/common/animation-control/animation-speed-slider.js +21 -7
- package/dist/common/animation-control/floating-time-display.js +1 -1
- package/dist/common/animation-control/play-control.js +11 -13
- package/dist/common/animation-control/playback-controls.d.ts +11 -20
- package/dist/common/animation-control/playback-controls.js +6 -4
- package/dist/common/animation-control/reset-control.js +11 -13
- package/dist/common/animation-control/speed-control.js +10 -12
- package/dist/common/color-legend.d.ts +4 -5
- package/dist/common/color-legend.js +16 -5
- package/dist/common/column-stats-chart.d.ts +9 -3
- package/dist/common/column-stats-chart.js +17 -63
- package/dist/common/data-table/canvas.d.ts +2 -1
- package/dist/common/data-table/index.d.ts +7 -7
- package/dist/common/data-table/index.js +4 -5
- package/dist/common/file-uploader/file-upload-progress.d.ts +4 -4
- package/dist/common/file-uploader/file-upload-progress.js +1 -2
- package/dist/common/file-uploader/file-upload.d.ts +1 -1
- package/dist/common/file-uploader/upload-button.js +2 -2
- package/dist/common/flex-container.d.ts +8 -3
- package/dist/common/histogram-plot.js +4 -2
- package/dist/common/icon-button.d.ts +7 -4
- package/dist/common/icons/draggable-dots.d.ts +14 -0
- package/dist/common/icons/draggable-dots.js +85 -0
- package/dist/common/icons/horizontal-resize-handle.d.ts +14 -0
- package/dist/common/icons/horizontal-resize-handle.js +59 -0
- package/dist/common/icons/index.d.ts +2 -0
- package/dist/common/icons/index.js +15 -1
- package/dist/common/icons/pin.js +1 -1
- package/dist/common/info-helper.js +2 -2
- package/dist/common/item-selector/chickleted-input.d.ts +21 -17
- package/dist/common/item-selector/chickleted-input.js +3 -3
- package/dist/common/item-selector/dropdown-list.d.ts +12 -12
- package/dist/common/item-selector/dropdown-list.js +1 -2
- package/dist/common/item-selector/dropdown-select.d.ts +8 -4
- package/dist/common/item-selector/dropdown-select.js +2 -2
- package/dist/common/item-selector/item-selector.d.ts +5 -9
- package/dist/common/item-selector/item-selector.js +1 -1
- package/dist/common/item-selector/typeahead.d.ts +20 -6
- package/dist/common/item-selector/typeahead.js +3 -3
- package/dist/common/loading-spinner.d.ts +8 -4
- package/dist/common/loading-spinner.js +1 -1
- package/dist/common/modal.d.ts +12 -12
- package/dist/common/modal.js +3 -3
- package/dist/common/portaled.d.ts +22 -486
- package/dist/common/portaled.js +6 -3
- package/dist/common/range-plot.d.ts +23 -28
- package/dist/common/range-plot.js +38 -29
- package/dist/common/range-slider-timeline.js +1 -2
- package/dist/common/slider/slider-bar-handle.d.ts +5 -0
- package/dist/common/slider/slider-bar-handle.js +2 -2
- package/dist/common/slider/slider-handle.d.ts +9 -0
- package/dist/common/slider/slider-handle.js +3 -3
- package/dist/common/slider/slider.d.ts +2 -2
- package/dist/common/styled-components.d.ts +444 -92
- package/dist/common/styled-components.js +15 -11
- package/dist/common/sync-timeline-control.js +2 -2
- package/dist/common/time-range-slider-time-title.d.ts +4 -0
- package/dist/common/time-range-slider-time-title.js +1 -1
- package/dist/common/time-range-slider.d.ts +7 -3
- package/dist/common/time-range-slider.js +1 -1
- package/dist/common/timeline-slider.d.ts +2 -0
- package/dist/common/timeline-slider.js +1 -1
- package/dist/common/toolbar-item.js +2 -2
- package/dist/common/toolbar.d.ts +5 -3
- package/dist/common/toolbar.js +1 -1
- package/dist/common/vertical-toolbar.d.ts +6 -1
- package/dist/container.js +2 -2
- package/dist/dnd-context.d.ts +1 -1
- package/dist/effects/compact-color-picker.d.ts +1 -1
- package/dist/effects/effect-configurator.d.ts +4 -4
- package/dist/effects/effect-manager.js +4 -2
- package/dist/effects/effect-panel-header.js +5 -5
- package/dist/effects/effect-time-configurator.js +2 -2
- package/dist/effects/effect-time-selector.d.ts +1 -6
- package/dist/effects/effect-time-selector.js +3 -3
- package/dist/effects/effect-type-dropdown-list.js +2 -2
- package/dist/effects/effect-type-list-item.d.ts +1 -10
- package/dist/effects/effect-type-list-item.js +2 -2
- package/dist/effects/effect-type-selector.d.ts +1 -12
- package/dist/effects/effect-type-selector.js +2 -2
- package/dist/effects/timezone-selector.d.ts +1 -9
- package/dist/effects/timezone-selector.js +1 -1
- package/dist/filters/components.d.ts +6 -3
- package/dist/filters/filter-panels/filter-synced-dataset-panel.d.ts +3 -4
- package/dist/filters/time-widget-top.js +2 -2
- package/dist/filters/types.d.ts +4 -2
- package/dist/filters/types.js +1 -1
- package/dist/geocoder/geocoder.js +2 -2
- package/dist/geocoder-panel.d.ts +6 -0
- package/dist/geocoder-panel.js +1 -1
- package/dist/hooks/use-fetch-vector-tile-metadata.d.ts +3 -2
- package/dist/hooks/use-fetch-vector-tile-metadata.js +33 -18
- package/dist/hooks/use-legend-position.d.ts +36 -0
- package/dist/hooks/use-legend-position.js +147 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +18 -3
- package/dist/kepler-gl.d.ts +44 -5
- package/dist/kepler-gl.js +77 -4
- package/dist/map/layer-hover-info.d.ts +3 -1
- package/dist/map/map-control-panel.js +4 -3
- package/dist/map/map-control-toolbar.d.ts +15 -1
- package/dist/map/map-control-toolbar.js +1 -1
- package/dist/map/map-legend-panel.d.ts +10 -35
- package/dist/map/map-legend-panel.js +242 -127
- package/dist/map/map-legend.d.ts +3 -2
- package/dist/map/map-legend.js +7 -10
- package/dist/map/map-popover.js +16 -11
- package/dist/map-container.d.ts +10 -8
- package/dist/map-container.js +86 -55
- package/dist/modal-container.d.ts +2 -1
- package/dist/modal-container.js +4 -3
- package/dist/modals/add-map-style-modal.d.ts +3 -0
- package/dist/modals/add-map-style-modal.js +58 -10
- package/dist/modals/cloud-components/cloud-item.js +2 -2
- package/dist/modals/cloud-tile.d.ts +6 -1
- package/dist/modals/cloud-tile.js +2 -2
- package/dist/modals/data-table-modal.d.ts +5 -3
- package/dist/modals/data-table-modal.js +3 -3
- package/dist/modals/export-data-modal.js +4 -5
- package/dist/modals/export-map-modal/components.d.ts +5 -3
- package/dist/modals/export-map-modal/export-html-map.js +2 -2
- package/dist/modals/export-map-modal/export-json-map.js +3 -2
- package/dist/modals/modal-dialog.d.ts +3 -1
- package/dist/modals/modal-tabs.js +2 -2
- package/dist/modals/share-map-modal.d.ts +4 -4
- package/dist/modals/storage-map-viewer.js +3 -3
- package/dist/modals/tilesets-modals/common.d.ts +1 -1
- package/dist/modals/tilesets-modals/common.js +1 -1
- package/dist/modals/tilesets-modals/load-data-footer.d.ts +3 -3
- package/dist/modals/tilesets-modals/load-data-footer.js +16 -7
- package/dist/modals/tilesets-modals/load-tileset.js +5 -4
- package/dist/modals/tilesets-modals/tileset-vector-form.js +28 -14
- package/dist/plot-container.js +3 -3
- package/dist/side-panel/add-by-dataset-button.js +4 -1
- package/dist/side-panel/common/dataset-info.js +3 -3
- package/dist/side-panel/common/dataset-title.d.ts +1 -0
- package/dist/side-panel/common/dataset-title.js +5 -4
- package/dist/side-panel/filter-manager.d.ts +2 -2
- package/dist/side-panel/filter-manager.js +1 -1
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +9 -1
- package/dist/side-panel/filter-panel/filter-panel-header.js +24 -9
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +10 -1
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +5 -3
- package/dist/side-panel/layer-panel/aggr-scale-selector.d.ts +2 -1
- package/dist/side-panel/layer-panel/aggr-scale-selector.js +3 -1
- package/dist/side-panel/layer-panel/channel-by-value-selector.d.ts +2 -4
- package/dist/side-panel/layer-panel/channel-by-value-selector.js +9 -5
- package/dist/side-panel/layer-panel/color-breaks-panel.d.ts +15 -7
- package/dist/side-panel/layer-panel/color-breaks-panel.js +52 -20
- package/dist/side-panel/layer-panel/color-palette-preset.js +2 -2
- package/dist/side-panel/layer-panel/color-palette.d.ts +9 -4
- package/dist/side-panel/layer-panel/color-palette.js +13 -7
- package/dist/side-panel/layer-panel/color-range-selector.js +2 -2
- package/dist/side-panel/layer-panel/color-scale-selector.d.ts +3 -1
- package/dist/side-panel/layer-panel/color-scale-selector.js +82 -37
- package/dist/side-panel/layer-panel/color-selector.d.ts +6 -6
- package/dist/side-panel/layer-panel/color-selector.js +52 -36
- package/dist/side-panel/layer-panel/custom-palette.d.ts +44 -15
- package/dist/side-panel/layer-panel/custom-palette.js +342 -39
- package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -5
- package/dist/side-panel/layer-panel/custom-picker.js +2 -2
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +5 -3
- package/dist/side-panel/layer-panel/layer-column-mode-config.js +1 -1
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -11
- package/dist/side-panel/layer-panel/layer-config-group.js +2 -2
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +7 -7
- package/dist/side-panel/layer-panel/layer-configurator.js +10 -10
- package/dist/side-panel/layer-panel/layer-list.d.ts +2 -0
- package/dist/side-panel/layer-panel/layer-list.js +7 -4
- package/dist/side-panel/layer-panel/layer-panel-header.js +5 -5
- package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -0
- package/dist/side-panel/layer-panel/layer-panel.js +8 -8
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -2
- package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +1 -10
- package/dist/side-panel/layer-panel/layer-type-list-item.js +2 -2
- package/dist/side-panel/layer-panel/layer-type-selector.d.ts +1 -8
- package/dist/side-panel/layer-panel/layer-type-selector.js +1 -1
- package/dist/side-panel/layer-panel/single-color-palette.js +2 -2
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +6 -3
- package/dist/side-panel/map-style-panel/map-style-selector.js +2 -2
- package/dist/side-panel/panel-header-action.js +2 -2
- package/dist/side-panel/panel-header.js +2 -2
- package/dist/side-panel/panel-tab.d.ts +3 -3
- package/dist/side-panel/panel-tab.js +2 -2
- package/dist/side-panel/panel-view-list-toggle.d.ts +4 -4
- package/dist/side-panel/panel-view-list-toggle.js +2 -2
- package/dist/side-panel/side-bar.js +2 -2
- package/dist/side-panel.d.ts +1 -1
- package/dist/types.d.ts +6 -7
- package/dist/types.js +1 -1
- package/package.json +23 -22
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react-modal" />
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { MapStyle, ProviderState } from '@kepler.gl/reducers';
|
|
3
4
|
import ModalDialogFactory from './modals/modal-dialog';
|
|
@@ -54,6 +55,6 @@ declare namespace ModalContainerFactory {
|
|
|
54
55
|
WrappedComponent: React.ComponentType<import("./modals/export-image-modal").ExportImageModalProps>;
|
|
55
56
|
}) | (() => React.FC<import("react-intl").WithIntlProps<import("./modals/export-data-modal").ExportDataModalProps>> & {
|
|
56
57
|
WrappedComponent: React.ComponentType<import("./modals/export-data-modal").ExportDataModalProps>;
|
|
57
|
-
}) | typeof ExportMapModalFactory | typeof AddMapStyleModalFactory | (() => import("styled-components").
|
|
58
|
+
}) | typeof ExportMapModalFactory | typeof AddMapStyleModalFactory | (() => import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("./common/modal").ModalDialogOwnProps & Omit<import("react-modal").Props, "className" | "style" | "ariaHideApp"> & React.RefAttributes<import("./common/modal").ModalDialog>, never>> & Omit<typeof import("./common/modal").ModalDialog, keyof React.Component<any, {}, any>>) | typeof SaveMapModalFactory)[];
|
|
58
59
|
}
|
|
59
60
|
export default ModalContainerFactory;
|
package/dist/modal-container.js
CHANGED
|
@@ -97,7 +97,8 @@ function ModalContainerFactory(DeleteDatasetModal, OverWriteMapModal, DataTableM
|
|
|
97
97
|
},
|
|
98
98
|
metadata: _objectSpread(_objectSpread({}, processedMetadata), tileset.metadata),
|
|
99
99
|
// vector tile layer only supports gpu filtering for now
|
|
100
|
-
supportedFilterTypes: [_constants.ALL_FIELD_TYPES.real, _constants.ALL_FIELD_TYPES.integer]
|
|
100
|
+
supportedFilterTypes: [_constants.ALL_FIELD_TYPES.real, _constants.ALL_FIELD_TYPES.integer],
|
|
101
|
+
disableDataOperation: true
|
|
101
102
|
}, {
|
|
102
103
|
autoCreateLayers: true
|
|
103
104
|
});
|
|
@@ -363,7 +364,7 @@ function ModalContainerFactory(DeleteDatasetModal, OverWriteMapModal, DataTableM
|
|
|
363
364
|
onConfirm: this._onAddCustomMapStyle,
|
|
364
365
|
confirmButton: {
|
|
365
366
|
large: true,
|
|
366
|
-
disabled: !mapStyle.inputStyle.url,
|
|
367
|
+
disabled: !mapStyle.inputStyle.url || !mapStyle.inputStyle.label,
|
|
367
368
|
children: 'modal.button.addStyle'
|
|
368
369
|
}
|
|
369
370
|
};
|
|
@@ -431,4 +432,4 @@ function ModalContainerFactory(DeleteDatasetModal, OverWriteMapModal, DataTableM
|
|
|
431
432
|
}(_react.Component);
|
|
432
433
|
return ModalContainer;
|
|
433
434
|
}
|
|
434
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9sb2Rhc2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2RvY3VtZW50IiwiX2NvbnN0YW50cyIsIl9yZWR1Y2VycyIsIl91dGlscyIsIl9tb2RhbERpYWxvZyIsIl9kZWxldGVEYXRhTW9kYWwiLCJfb3ZlcndyaXRlTWFwTW9kYWwiLCJfZGF0YVRhYmxlTW9kYWwiLCJfbG9hZERhdGFNb2RhbCIsIl9leHBvcnRJbWFnZU1vZGFsIiwiX2V4cG9ydERhdGFNb2RhbCIsIl9leHBvcnRNYXBNb2RhbCIsIl9hZGRNYXBTdHlsZU1vZGFsIiwiX3NhdmVNYXBNb2RhbCIsIl9zaGFyZU1hcE1vZGFsIiwiX3N0eWxlcyIsIl9yZWFjdERvbSIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIkRhdGFUYWJsZU1vZGFsU3R5bGUiLCJjc3MiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIm1lZGlhIiwicG9ydGFibGUiLCJwYWxtIiwic21hbGxNb2RhbENzcyIsIkxvYWREYXRhTW9kYWxTdHlsZSIsIkRlZmF1bHRTdHlsZSIsIk1vZGFsQ29udGFpbmVyRmFjdG9yeSIsImRlcHMiLCJEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5IiwiT3ZlcldyaXRlTWFwTW9kYWxGYWN0b3J5IiwiRGF0YVRhYmxlTW9kYWxGYWN0b3J5IiwiTG9hZERhdGFNb2RhbEZhY3RvcnkiLCJFeHBvcnRJbWFnZU1vZGFsRmFjdG9yeSIsIkV4cG9ydERhdGFNb2RhbEZhY3RvcnkiLCJFeHBvcnRNYXBNb2RhbEZhY3RvcnkiLCJBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeSIsIk1vZGFsRGlhbG9nRmFjdG9yeSIsIlNhdmVNYXBNb2RhbEZhY3RvcnkiLCJTaGFyZU1hcE1vZGFsRmFjdG9yeSIsIkRlbGV0ZURhdGFzZXRNb2RhbCIsIk92ZXJXcml0ZU1hcE1vZGFsIiwiRGF0YVRhYmxlTW9kYWwiLCJMb2FkRGF0YU1vZGFsIiwiRXhwb3J0SW1hZ2VNb2RhbCIsIkV4cG9ydERhdGFNb2RhbCIsIkV4cG9ydE1hcE1vZGFsIiwiQWRkTWFwU3R5bGVNb2RhbCIsIk1vZGFsRGlhbG9nIiwiU2F2ZU1hcE1vZGFsIiwiU2hhcmVNYXBNb2RhbCIsIk1vZGFsQ29udGFpbmVyIiwiX0NvbXBvbmVudCIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29uY2F0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiX29uS2V5VXAiLCJldmVudCIsImtleUNvZGUiLCJLZXlFdmVudCIsIkRPTV9WS19FU0NBUEUiLCJfY2xvc2VNb2RhbCIsInByb3BzIiwidWlTdGF0ZUFjdGlvbnMiLCJ0b2dnbGVNb2RhbCIsImtleSIsInZpc1N0YXRlQWN0aW9ucyIsInJlbW92ZURhdGFzZXQiLCJtYXBTdHlsZUFjdGlvbnMiLCJhZGRDdXN0b21NYXBTdHlsZSIsImZpbGVMaXN0IiwibG9hZEZpbGVzIiwidGlsZXNldCIsInByb2Nlc3NlZE1ldGFkYXRhIiwidXBkYXRlVmlzRGF0YSIsImluZm8iLCJsYWJlbCIsIm5hbWUiLCJ0eXBlIiwiZm9ybWF0IiwiZGF0YSIsImZpZWxkcyIsInJvd3MiLCJtZXRhZGF0YSIsInN1cHBvcnRlZEZpbHRlclR5cGVzIiwiQUxMX0ZJRUxEX1RZUEVTIiwicmVhbCIsImludGVnZXIiLCJhdXRvQ3JlYXRlTGF5ZXJzIiwidWlTdGF0ZSIsImV4cG9ydEltYWdlIiwicHJvY2Vzc2luZyIsImFwcE5hbWUiLCJjbGVhbnVwRXhwb3J0SW1hZ2UiLCJleHBvcnREYXRhIiwiZXhwb3J0TWFwIiwiRVhQT1JUX01BUF9GT1JNQVRTIiwiSFRNTCIsImV4cG9ydEh0bWwiLCJleHBvcnRKc29uIiwiX3JlZiIsInByb3ZpZGVyIiwiaXNQdWJsaWMiLCJvdmVyd3JpdGUiLCJjbG9zZU1vZGFsIiwidG9TYXZlIiwicHJvdmlkZXJBY3Rpb25zIiwiZXhwb3J0RmlsZVRvQ2xvdWQiLCJtYXBEYXRhIiwib3B0aW9ucyIsIm9uU3VjY2VzcyIsIm9uRXhwb3J0VG9DbG91ZFN1Y2Nlc3MiLCJvbkVycm9yIiwib25FeHBvcnRUb0Nsb3VkRXJyb3IiLCJ1bmRlZmluZWQiLCJfZXhwb3J0RmlsZVRvQ2xvdWQiLCJfb25TYXZlTWFwIiwicmVzZXRQcm92aWRlclN0YXR1cyIsInBheWxvYWQiLCJsb2FkQ2xvdWRNYXAiLCJvbkxvYWRDbG91ZE1hcFN1Y2Nlc3MiLCJvbkxvYWRDbG91ZE1hcEVycm9yIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJ2YWx1ZSIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInJlbmRlciIsIl90aGlzMiIsIl90aGlzJHByb3BzIiwiY29udGFpbmVyVyIsImNvbnRhaW5lckgiLCJtYXBTdHlsZSIsIm1hcFN0YXRlIiwidmlzU3RhdGUiLCJyb290Tm9kZSIsInByb3ZpZGVyU3RhdGUiLCJjdXJyZW50TW9kYWwiLCJkYXRhc2V0S2V5VG9SZW1vdmUiLCJkYXRhc2V0cyIsImxheWVycyIsImVkaXRpbmdEYXRhc2V0IiwidGVtcGxhdGUiLCJtb2RhbFByb3BzIiwiaWQiLCJjcmVhdGVFbGVtZW50IiwiREFUQV9UQUJMRV9JRCIsIndpZHRoIiwiZGF0YUlkIiwic2hvd0RhdGFzZXRUYWJsZSIsInNvcnRUYWJsZUNvbHVtbiIsInBpblRhYmxlQ29sdW1uIiwiY29weVRhYmxlQ29sdW1uIiwic2V0Q29sdW1uRGlzcGxheUZvcm1hdCIsImNzc1N0eWxlIiwiREVMRVRFX0RBVEFfSUQiLCJkYXRhc2V0IiwidGl0bGUiLCJmb290ZXIiLCJvbkNvbmZpcm0iLCJfZGVsZXRlRGF0YXNldCIsIm9uQ2FuY2VsIiwiY29uZmlybUJ1dHRvbiIsIm5lZ2F0aXZlIiwibGFyZ2UiLCJjaGlsZHJlbiIsIkFERF9EQVRBX0lEIiwiX2V4dGVuZHMyIiwib25DbG9zZSIsIm9uRmlsZVVwbG9hZCIsIl9vbkZpbGVVcGxvYWQiLCJvblRpbGVzZXRBZGRlZCIsIl9vblRpbGVzZXRBZGRlZCIsIm9uTG9hZENsb3VkTWFwIiwiX29uTG9hZENsb3VkTWFwIiwiZmlsZUxvYWRpbmciLCJmaWxlTG9hZGluZ1Byb2dyZXNzIiwiZmlsZUZvcm1hdE5hbWVzIiwiZ2V0RmlsZUZvcm1hdE5hbWVzIiwiZmlsZUV4dGVuc2lvbnMiLCJnZXRGaWxlRXh0ZW5zaW9ucyIsIkVYUE9SVF9JTUFHRV9JRCIsIm1hcFciLCJtYXBIIiwib25VcGRhdGVJbWFnZVNldHRpbmciLCJzZXRFeHBvcnRJbWFnZVNldHRpbmciLCJfb25FeHBvcnRJbWFnZSIsImRpc2FibGVkIiwiRVhQT1JUX0RBVEFfSUQiLCJzdXBwb3J0ZWREYXRhVHlwZXMiLCJFWFBPUlRfREFUQV9UWVBFX09QVElPTlMiLCJhcHBseUNQVUZpbHRlciIsIm9uQ2hhbmdlRXhwb3J0RGF0YVR5cGUiLCJzZXRFeHBvcnREYXRhVHlwZSIsIm9uQ2hhbmdlRXhwb3J0U2VsZWN0ZWREYXRhc2V0Iiwic2V0RXhwb3J0U2VsZWN0ZWREYXRhc2V0Iiwib25DaGFuZ2VFeHBvcnRGaWx0ZXJlZCIsInNldEV4cG9ydEZpbHRlcmVkIiwiX29uRXhwb3J0RGF0YSIsIkVYUE9SVF9NQVBfSUQiLCJrZXBsZXJHbENvbmZpZyIsInNjaGVtYSIsImdldENvbmZpZ1RvU2F2ZSIsImNvbmZpZyIsIm9uQ2hhbmdlRXhwb3J0TWFwRm9ybWF0Iiwic2V0RXhwb3J0TWFwRm9ybWF0Iiwib25FZGl0VXNlck1hcGJveEFjY2Vzc1Rva2VuIiwic2V0VXNlck1hcGJveEFjY2Vzc1Rva2VuIiwib25DaGFuZ2VFeHBvcnRNYXBIVE1MTW9kZSIsInNldEV4cG9ydEhUTUxNYXBNb2RlIiwiX29uRXhwb3J0TWFwIiwiQUREX01BUF9TVFlMRV9JRCIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwibWFwYm94QXBpVXJsIiwiaW5wdXRTdHlsZSIsImlucHV0TWFwU3R5bGUiLCJsb2FkQ3VzdG9tTWFwU3R5bGUiLCJfb25BZGRDdXN0b21NYXBTdHlsZSIsInVybCIsIlNBVkVfTUFQX0lEIiwibWFwSW5mbyIsIm9uU2V0TWFwSW5mbyIsInNldE1hcEluZm8iLCJPVkVSV1JJVEVfTUFQX0lEIiwiX29uT3ZlcndyaXRlTWFwIiwiU0hBUkVfTUFQX0lEIiwib25FeHBvcnQiLCJfb25TaGFyZU1hcFVybCIsIl9vbkNsb3NlU2F2ZU1hcCIsInBhcmVudFNlbGVjdG9yIiwiZmluZERPTU5vZGUiLCJpc09wZW4iLCJDb21wb25lbnQiXSwic291cmNlcyI6WyIuLi9zcmMvbW9kYWwtY29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7Y3NzfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC5nZXQnO1xuaW1wb3J0IGRvY3VtZW50IGZyb20gJ2dsb2JhbC9kb2N1bWVudCc7XG5cbmltcG9ydCB7QUxMX0ZJRUxEX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBleHBvcnREYXRhLFxuICBnZXRGaWxlRm9ybWF0TmFtZXMsXG4gIGdldEZpbGVFeHRlbnNpb25zLFxuICBNYXBTdHlsZSxcbiAgUHJvdmlkZXJTdGF0ZVxufSBmcm9tICdAa2VwbGVyLmdsL3JlZHVjZXJzJztcbmltcG9ydCB7ZXhwb3J0SHRtbCwgZXhwb3J0TWFwLCBleHBvcnRKc29uLCBleHBvcnRJbWFnZX0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmltcG9ydCBNb2RhbERpYWxvZ0ZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvbW9kYWwtZGlhbG9nJztcblxuLy8gbW9kYWxzXG5pbXBvcnQgRGVsZXRlRGF0YXNldE1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9kZWxldGUtZGF0YS1tb2RhbCc7XG5pbXBvcnQgT3ZlcldyaXRlTWFwTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL292ZXJ3cml0ZS1tYXAtbW9kYWwnO1xuaW1wb3J0IERhdGFUYWJsZU1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9kYXRhLXRhYmxlLW1vZGFsJztcbmltcG9ydCBMb2FkRGF0YU1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9sb2FkLWRhdGEtbW9kYWwnO1xuaW1wb3J0IEV4cG9ydEltYWdlTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2V4cG9ydC1pbWFnZS1tb2RhbCc7XG5pbXBvcnQgRXhwb3J0RGF0YU1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9leHBvcnQtZGF0YS1tb2RhbCc7XG5pbXBvcnQgRXhwb3J0TWFwTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2V4cG9ydC1tYXAtbW9kYWwvZXhwb3J0LW1hcC1tb2RhbCc7XG5pbXBvcnQgQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvYWRkLW1hcC1zdHlsZS1tb2RhbCc7XG5pbXBvcnQgU2F2ZU1hcE1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9zYXZlLW1hcC1tb2RhbCc7XG5pbXBvcnQgU2hhcmVNYXBNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvc2hhcmUtbWFwLW1vZGFsJztcblxuLy8gQnJlYWtwb2ludHNcbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcblxuLy8gVGVtcGxhdGVcbmltcG9ydCB7XG4gIEVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyxcbiAgRVhQT1JUX01BUF9GT1JNQVRTLFxuICBLZXlFdmVudCxcbiAgQUREX0RBVEFfSUQsXG4gIERBVEFfVEFCTEVfSUQsXG4gIERFTEVURV9EQVRBX0lELFxuICBFWFBPUlRfREFUQV9JRCxcbiAgRVhQT1JUX0lNQUdFX0lELFxuICBFWFBPUlRfTUFQX0lELFxuICBBRERfTUFQX1NUWUxFX0lELFxuICBTQVZFX01BUF9JRCxcbiAgU0hBUkVfTUFQX0lELFxuICBPVkVSV1JJVEVfTUFQX0lEXG59IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuaW1wb3J0IHtNYXBTdGF0ZSwgVWlTdGF0ZSwgT25TdWNjZXNzQ2FsbEJhY2ssIE9uRXJyb3JDYWxsQmFja30gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmltcG9ydCB7XG4gIFZpc1N0YXRlQWN0aW9ucyxcbiAgVUlTdGF0ZUFjdGlvbnMsXG4gIE1hcFN0eWxlQWN0aW9ucyxcbiAgUHJvdmlkZXJBY3Rpb25zXG59IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge01vZGFsRGlhbG9nUHJvcHN9IGZyb20gJy4vY29tbW9uL21vZGFsJztcbmltcG9ydCB7UHJvdmlkZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvY2xvdWQtcHJvdmlkZXJzJztcbmltcG9ydCB7ZmluZERPTU5vZGV9IGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQge1Zpc1N0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3NjaGVtYXMnO1xuXG5jb25zdCBEYXRhVGFibGVNb2RhbFN0eWxlID0gY3NzYFxuICB0b3A6IDcwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA5MHZ3O1xuICBtYXgtd2lkdGg6IDkwdnc7XG5cbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBwYWRkaW5nOiAwO1xuICBgfSAke21lZGlhLnBhbG1gXG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgYH07XG5gO1xuY29uc3Qgc21hbGxNb2RhbENzcyA9IGNzc2BcbiAgd2lkdGg6IDQwJTtcbiAgcGFkZGluZzogNDBweCA0MHB4IDMycHggNDBweDtcbmA7XG5cbmNvbnN0IExvYWREYXRhTW9kYWxTdHlsZSA9IGNzc2BcbiAgdG9wOiA2MHB4O1xuYDtcblxuY29uc3QgRGVmYXVsdFN0eWxlID0gY3NzYFxuICBtYXgtd2lkdGg6IDk2MHB4O1xuYDtcblxuZXhwb3J0IHR5cGUgTW9kYWxDb250YWluZXJQcm9wcyA9IHtcbiAgYXBwTmFtZTogc3RyaW5nO1xuICByb290Tm9kZTogUmVhY3QuUmVhY3RJbnN0YW5jZSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIGNvbnRhaW5lclc6IG51bWJlcjtcbiAgY29udGFpbmVySDogbnVtYmVyO1xuICBtYXBib3hBcGlBY2Nlc3NUb2tlbjogc3RyaW5nO1xuICBtYXBib3hBcGlVcmw/OiBzdHJpbmc7XG4gIG1hcFN0YXRlOiBNYXBTdGF0ZTtcbiAgbWFwU3R5bGU6IE1hcFN0eWxlO1xuICB1aVN0YXRlOiBVaVN0YXRlO1xuICB2aXNTdGF0ZTogVmlzU3RhdGU7XG4gIHByb3ZpZGVyU3RhdGU6IFByb3ZpZGVyU3RhdGU7XG4gIHZpc1N0YXRlQWN0aW9uczogdHlwZW9mIFZpc1N0YXRlQWN0aW9ucztcbiAgdWlTdGF0ZUFjdGlvbnM6IHR5cGVvZiBVSVN0YXRlQWN0aW9ucztcbiAgbWFwU3R5bGVBY3Rpb25zOiB0eXBlb2YgTWFwU3R5bGVBY3Rpb25zO1xuICBwcm92aWRlckFjdGlvbnM6IHR5cGVvZiBQcm92aWRlckFjdGlvbnM7XG4gIG9uU2F2ZVRvU3RvcmFnZT86ICgpID0+IHZvaWQ7XG4gIGNsb3VkUHJvdmlkZXJzOiBQcm92aWRlcltdO1xuICBvbkxvYWRDbG91ZE1hcFN1Y2Nlc3M/OiBPblN1Y2Nlc3NDYWxsQmFjaztcbiAgb25Mb2FkQ2xvdWRNYXBFcnJvcj86IE9uRXJyb3JDYWxsQmFjaztcbiAgb25FeHBvcnRUb0Nsb3VkU3VjY2Vzcz86IE9uU3VjY2Vzc0NhbGxCYWNrO1xuICBvbkV4cG9ydFRvQ2xvdWRFcnJvcj86IE9uRXJyb3JDYWxsQmFjaztcbn07XG5cbk1vZGFsQ29udGFpbmVyRmFjdG9yeS5kZXBzID0gW1xuICBEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5LFxuICBPdmVyV3JpdGVNYXBNb2RhbEZhY3RvcnksXG4gIERhdGFUYWJsZU1vZGFsRmFjdG9yeSxcbiAgTG9hZERhdGFNb2RhbEZhY3RvcnksXG4gIEV4cG9ydEltYWdlTW9kYWxGYWN0b3J5LFxuICBFeHBvcnREYXRhTW9kYWxGYWN0b3J5LFxuICBFeHBvcnRNYXBNb2RhbEZhY3RvcnksXG4gIEFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5LFxuICBNb2RhbERpYWxvZ0ZhY3RvcnksXG4gIFNhdmVNYXBNb2RhbEZhY3RvcnksXG4gIFNoYXJlTWFwTW9kYWxGYWN0b3J5XG5dO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBNb2RhbENvbnRhaW5lckZhY3RvcnkoXG4gIERlbGV0ZURhdGFzZXRNb2RhbDogUmV0dXJuVHlwZTx0eXBlb2YgRGVsZXRlRGF0YXNldE1vZGFsRmFjdG9yeT4sXG4gIE92ZXJXcml0ZU1hcE1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBPdmVyV3JpdGVNYXBNb2RhbEZhY3Rvcnk+LFxuICBEYXRhVGFibGVNb2RhbDogUmV0dXJuVHlwZTx0eXBlb2YgRGF0YVRhYmxlTW9kYWxGYWN0b3J5PixcbiAgTG9hZERhdGFNb2RhbDogUmV0dXJuVHlwZTx0eXBlb2YgTG9hZERhdGFNb2RhbEZhY3Rvcnk+LFxuICBFeHBvcnRJbWFnZU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBFeHBvcnRJbWFnZU1vZGFsRmFjdG9yeT4sXG4gIEV4cG9ydERhdGFNb2RhbDogUmV0dXJuVHlwZTx0eXBlb2YgRXhwb3J0RGF0YU1vZGFsRmFjdG9yeT4sXG4gIEV4cG9ydE1hcE1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBFeHBvcnRNYXBNb2RhbEZhY3Rvcnk+LFxuICBBZGRNYXBTdHlsZU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeT4sXG4gIE1vZGFsRGlhbG9nOiBSZXR1cm5UeXBlPHR5cGVvZiBNb2RhbERpYWxvZ0ZhY3Rvcnk+LFxuICBTYXZlTWFwTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIFNhdmVNYXBNb2RhbEZhY3Rvcnk+LFxuICBTaGFyZU1hcE1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBTaGFyZU1hcE1vZGFsRmFjdG9yeT5cbik6IFJlYWN0LkVsZW1lbnRUeXBlPE1vZGFsQ29udGFpbmVyUHJvcHM+IHtcbiAgLyoqIEBhdWdtZW50cyBSZWFjdC5Db21wb25lbnQ8TW9kYWxDb250YWluZXJQcm9wcz4gKi9cbiAgY2xhc3MgTW9kYWxDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnQ8TW9kYWxDb250YWluZXJQcm9wcz4ge1xuICAgIC8vIFRPRE8gLSByZW1vdmUgd2hlbiBwcm9wIHR5cGVzIGFyZSBmdWxseSBleHBvcnRlZFxuICAgIGNvbXBvbmVudERpZE1vdW50ID0gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB0aGlzLl9vbktleVVwKTtcbiAgICB9O1xuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB0aGlzLl9vbktleVVwKTtcbiAgICB9XG5cbiAgICBfb25LZXlVcCA9IGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuICAgICAgaWYgKGtleUNvZGUgPT09IEtleUV2ZW50LkRPTV9WS19FU0NBUEUpIHtcbiAgICAgICAgdGhpcy5fY2xvc2VNb2RhbCgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfY2xvc2VNb2RhbCA9ICgpID0+IHtcbiAgICAgIHRoaXMucHJvcHMudWlTdGF0ZUFjdGlvbnMudG9nZ2xlTW9kYWwobnVsbCk7XG4gICAgfTtcblxuICAgIF9kZWxldGVEYXRhc2V0ID0ga2V5ID0+IHtcbiAgICAgIHRoaXMucHJvcHMudmlzU3RhdGVBY3Rpb25zLnJlbW92ZURhdGFzZXQoa2V5KTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uQWRkQ3VzdG9tTWFwU3R5bGUgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLm1hcFN0eWxlQWN0aW9ucy5hZGRDdXN0b21NYXBTdHlsZSgpO1xuICAgICAgdGhpcy5fY2xvc2VNb2RhbCgpO1xuICAgIH07XG5cbiAgICBfb25GaWxlVXBsb2FkID0gZmlsZUxpc3QgPT4ge1xuICAgICAgdGhpcy5wcm9wcy52aXNTdGF0ZUFjdGlvbnMubG9hZEZpbGVzKGZpbGVMaXN0KTtcbiAgICB9O1xuXG4gICAgX29uVGlsZXNldEFkZGVkID0gKFxuICAgICAgdGlsZXNldDoge25hbWU6IHN0cmluZzsgdHlwZTogc3RyaW5nOyBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pn0sXG4gICAgICBwcm9jZXNzZWRNZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgICApID0+IHtcbiAgICAgIHRoaXMucHJvcHMudmlzU3RhdGVBY3Rpb25zLnVwZGF0ZVZpc0RhdGEoXG4gICAgICAgIHtcbiAgICAgICAgICBpbmZvOiB7bGFiZWw6IHRpbGVzZXQubmFtZSwgdHlwZTogdGlsZXNldC50eXBlLCBmb3JtYXQ6ICdyb3dzJ30sXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgZmllbGRzOiBwcm9jZXNzZWRNZXRhZGF0YT8uZmllbGRzIHx8IFtdLFxuICAgICAgICAgICAgcm93czogW11cbiAgICAgICAgICB9LFxuICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAuLi5wcm9jZXNzZWRNZXRhZGF0YSxcbiAgICAgICAgICAgIC4uLnRpbGVzZXQubWV0YWRhdGFcbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vIHZlY3RvciB0aWxlIGxheWVyIG9ubHkgc3VwcG9ydHMgZ3B1IGZpbHRlcmluZyBmb3Igbm93XG4gICAgICAgICAgc3VwcG9ydGVkRmlsdGVyVHlwZXM6IFtBTExfRklFTERfVFlQRVMucmVhbCwgQUxMX0ZJRUxEX1RZUEVTLmludGVnZXJdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBhdXRvQ3JlYXRlTGF5ZXJzOiB0cnVlXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgfTtcblxuICAgIF9vbkV4cG9ydEltYWdlID0gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnByb3BzLnVpU3RhdGUuZXhwb3J0SW1hZ2UucHJvY2Vzc2luZykge1xuICAgICAgICBleHBvcnRJbWFnZSh0aGlzLnByb3BzLnVpU3RhdGUuZXhwb3J0SW1hZ2UsIGAke3RoaXMucHJvcHMuYXBwTmFtZX0ucG5nYCk7XG4gICAgICAgIHRoaXMucHJvcHMudWlTdGF0ZUFjdGlvbnMuY2xlYW51cEV4cG9ydEltYWdlKCk7XG4gICAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX29uRXhwb3J0RGF0YSA9ICgpID0+IHtcbiAgICAgIGV4cG9ydERhdGEodGhpcy5wcm9wcywgdGhpcy5wcm9wcy51aVN0YXRlLmV4cG9ydERhdGEpO1xuICAgICAgdGhpcy5fY2xvc2VNb2RhbCgpO1xuICAgIH07XG5cbiAgICBfb25FeHBvcnRNYXAgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7dWlTdGF0ZX0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qge2Zvcm1hdH0gPSB1aVN0YXRlLmV4cG9ydE1hcDtcbiAgICAgIChmb3JtYXQgPT09IEVYUE9SVF9NQVBfRk9STUFUUy5IVE1MID8gZXhwb3J0SHRtbCA6IGV4cG9ydEpzb24pKFxuICAgICAgICB0aGlzLnByb3BzLFxuICAgICAgICB0aGlzLnByb3BzLnVpU3RhdGUuZXhwb3J0TWFwW2Zvcm1hdF0gfHwge31cbiAgICAgICk7XG4gICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgfTtcblxuICAgIF9leHBvcnRGaWxlVG9DbG91ZCA9ICh7cHJvdmlkZXIsIGlzUHVibGljLCBvdmVyd3JpdGUsIGNsb3NlTW9kYWx9KSA9PiB7XG4gICAgICBjb25zdCB0b1NhdmUgPSBleHBvcnRNYXAodGhpcy5wcm9wcyk7XG5cbiAgICAgIHRoaXMucHJvcHMucHJvdmlkZXJBY3Rpb25zLmV4cG9ydEZpbGVUb0Nsb3VkKHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBtYXBEYXRhOiB0b1NhdmUsXG4gICAgICAgIHByb3ZpZGVyLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgaXNQdWJsaWMsXG4gICAgICAgICAgb3ZlcndyaXRlXG4gICAgICAgIH0sXG4gICAgICAgIGNsb3NlTW9kYWwsXG4gICAgICAgIG9uU3VjY2VzczogdGhpcy5wcm9wcy5vbkV4cG9ydFRvQ2xvdWRTdWNjZXNzLFxuICAgICAgICBvbkVycm9yOiB0aGlzLnByb3BzLm9uRXhwb3J0VG9DbG91ZEVycm9yXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX29uU2F2ZU1hcCA9IChwcm92aWRlciwgb3ZlcndyaXRlID0gZmFsc2UpID0+IHtcbiAgICAgIHRoaXMuX2V4cG9ydEZpbGVUb0Nsb3VkKHtcbiAgICAgICAgcHJvdmlkZXIsXG4gICAgICAgIGlzUHVibGljOiBmYWxzZSxcbiAgICAgICAgb3ZlcndyaXRlLFxuICAgICAgICBjbG9zZU1vZGFsOiB0cnVlXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX29uT3ZlcndyaXRlTWFwID0gKCkgPT4ge1xuICAgICAgdGhpcy5fb25TYXZlTWFwKHRydWUpO1xuICAgIH07XG5cbiAgICBfb25TaGFyZU1hcFVybCA9IHByb3ZpZGVyID0+IHtcbiAgICAgIHRoaXMuX2V4cG9ydEZpbGVUb0Nsb3VkKHtwcm92aWRlciwgaXNQdWJsaWM6IHRydWUsIG92ZXJ3cml0ZTogZmFsc2UsIGNsb3NlTW9kYWw6IGZhbHNlfSk7XG4gICAgfTtcblxuICAgIF9vbkNsb3NlU2F2ZU1hcCA9ICgpID0+IHtcbiAgICAgIHRoaXMucHJvcHMucHJvdmlkZXJBY3Rpb25zLnJlc2V0UHJvdmlkZXJTdGF0dXMoKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uTG9hZENsb3VkTWFwID0gcGF5bG9hZCA9PiB7XG4gICAgICB0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5sb2FkQ2xvdWRNYXAoe1xuICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICBvblN1Y2Nlc3M6IHRoaXMucHJvcHMub25Mb2FkQ2xvdWRNYXBTdWNjZXNzLFxuICAgICAgICBvbkVycm9yOiB0aGlzLnByb3BzLm9uTG9hZENsb3VkTWFwRXJyb3JcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBjb250YWluZXJXLFxuICAgICAgICBjb250YWluZXJILFxuICAgICAgICBtYXBTdHlsZSxcbiAgICAgICAgbWFwU3RhdGUsXG4gICAgICAgIHVpU3RhdGUsXG4gICAgICAgIHZpc1N0YXRlLFxuICAgICAgICByb290Tm9kZSxcbiAgICAgICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgICAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICAgICAgcHJvdmlkZXJTdGF0ZVxuICAgICAgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCB7Y3VycmVudE1vZGFsLCBkYXRhc2V0S2V5VG9SZW1vdmV9ID0gdWlTdGF0ZTtcbiAgICAgIGNvbnN0IHtkYXRhc2V0cywgbGF5ZXJzLCBlZGl0aW5nRGF0YXNldH0gPSB2aXNTdGF0ZTtcblxuICAgICAgbGV0IHRlbXBsYXRlOiBKU1guRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgICAgbGV0IG1vZGFsUHJvcHM6IFBhcnRpYWw8TW9kYWxEaWFsb2dQcm9wcz4gPSB7fTtcblxuICAgICAgLy8gVE9ETyAtIGN1cnJlbnRNb2RhbCBpcyBhIHN0cmluZ1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKGN1cnJlbnRNb2RhbCAmJiBjdXJyZW50TW9kYWwuaWQgJiYgY3VycmVudE1vZGFsLnRlbXBsYXRlKSB7XG4gICAgICAgIC8vIGlmIGN1cnJlbnRNZG9hbCB0ZW1wbGF0ZSBpcyBhbHJlYWR5IHByb3ZpZGVkXG4gICAgICAgIC8vIFRPRE86IG5lZWQgdG8gY2hlY2sgd2hldGhlciB0ZW1wbGF0ZSBpcyB2YWxpZFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRlbXBsYXRlID0gPGN1cnJlbnRNb2RhbC50ZW1wbGF0ZSAvPjtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBtb2RhbFByb3BzID0gY3VycmVudE1vZGFsLm1vZGFsUHJvcHM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGN1cnJlbnRNb2RhbCkge1xuICAgICAgICAgIGNhc2UgREFUQV9UQUJMRV9JRDoge1xuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBjb250YWluZXJXICogMC45O1xuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxEYXRhVGFibGVNb2RhbFxuICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICBkYXRhSWQ9e2VkaXRpbmdEYXRhc2V0fVxuICAgICAgICAgICAgICAgIHNob3dEYXRhc2V0VGFibGU9e3Zpc1N0YXRlQWN0aW9ucy5zaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgICAgIHNvcnRUYWJsZUNvbHVtbj17dmlzU3RhdGVBY3Rpb25zLnNvcnRUYWJsZUNvbHVtbn1cbiAgICAgICAgICAgICAgICBwaW5UYWJsZUNvbHVtbj17dmlzU3RhdGVBY3Rpb25zLnBpblRhYmxlQ29sdW1ufVxuICAgICAgICAgICAgICAgIGNvcHlUYWJsZUNvbHVtbj17dmlzU3RhdGVBY3Rpb25zLmNvcHlUYWJsZUNvbHVtbn1cbiAgICAgICAgICAgICAgICBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0PXt2aXNTdGF0ZUFjdGlvbnMuc2V0Q29sdW1uRGlzcGxheUZvcm1hdH1cbiAgICAgICAgICAgICAgICB1aVN0YXRlQWN0aW9ucz17dWlTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgICAgdWlTdGF0ZT17dWlTdGF0ZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIFRPRE86IHdlIG5lZWQgdG8gbWFrZSB0aGlzIHdpZHRoIGNvbnNpc3RlbnQgd2l0aCB0aGUgY3NzIHJ1bGUgZGVmaW5lZCBtb2RhbC5qczozMiBtYXgtd2lkdGg6IDcwdndcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgLy8gVE9ETyBmaXggdGhpcyBhZnRlciBhZGQgdHlwZXMgdG8gVGhlbWVcbiAgICAgICAgICAgIG1vZGFsUHJvcHMuY3NzU3R5bGUgPSBjc3NgXG4gICAgICAgICAgICAgICR7RGF0YVRhYmxlTW9kYWxTdHlsZX07XG4gICAgICAgICAgICAgICR7bWVkaWEucGFsbWBcbiAgICAgICAgICAgICAgICB3aWR0aDogJHt3aWR0aH1weDtcbiAgICAgICAgICAgICAgYH07XG4gICAgICAgICAgICBgO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgREVMRVRFX0RBVEFfSUQ6IHtcbiAgICAgICAgICAgIC8vIHZhbGlkYXRlIG9wdGlvbnNcbiAgICAgICAgICAgIGlmIChkYXRhc2V0S2V5VG9SZW1vdmUgJiYgZGF0YXNldHMgJiYgZGF0YXNldHNbZGF0YXNldEtleVRvUmVtb3ZlXSkge1xuICAgICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgICA8RGVsZXRlRGF0YXNldE1vZGFsIGRhdGFzZXQ9e2RhdGFzZXRzW2RhdGFzZXRLZXlUb1JlbW92ZV19IGxheWVycz17bGF5ZXJzfSAvPlxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuZGVsZXRlRGF0YXNldCcsXG4gICAgICAgICAgICAgICAgY3NzU3R5bGU6IHNtYWxsTW9kYWxDc3MsXG4gICAgICAgICAgICAgICAgZm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgICAgIG9uQ29uZmlybTogKCkgPT4gdGhpcy5fZGVsZXRlRGF0YXNldChkYXRhc2V0S2V5VG9SZW1vdmUpLFxuICAgICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsLFxuICAgICAgICAgICAgICAgIGNvbmZpcm1CdXR0b246IHtcbiAgICAgICAgICAgICAgICAgIG5lZ2F0aXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5kZWxldGUnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7IC8vIGluIGNhc2Ugd2UgYWRkIGEgbmV3IGNhc2UgYWZ0ZXIgdGhpcyBvbmVcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBBRERfREFUQV9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8TG9hZERhdGFNb2RhbFxuICAgICAgICAgICAgICAgIHsuLi5wcm92aWRlclN0YXRlfVxuICAgICAgICAgICAgICAgIG9uQ2xvc2U9e3RoaXMuX2Nsb3NlTW9kYWx9XG4gICAgICAgICAgICAgICAgb25GaWxlVXBsb2FkPXt0aGlzLl9vbkZpbGVVcGxvYWR9XG4gICAgICAgICAgICAgICAgb25UaWxlc2V0QWRkZWQ9e3RoaXMuX29uVGlsZXNldEFkZGVkfVxuICAgICAgICAgICAgICAgIG9uTG9hZENsb3VkTWFwPXt0aGlzLl9vbkxvYWRDbG91ZE1hcH1cbiAgICAgICAgICAgICAgICBsb2FkRmlsZXM9e3VpU3RhdGUubG9hZEZpbGVzfVxuICAgICAgICAgICAgICAgIGZpbGVMb2FkaW5nPXt2aXNTdGF0ZS5maWxlTG9hZGluZ31cbiAgICAgICAgICAgICAgICBmaWxlTG9hZGluZ1Byb2dyZXNzPXt2aXNTdGF0ZS5maWxlTG9hZGluZ1Byb2dyZXNzfVxuICAgICAgICAgICAgICAgIGZpbGVGb3JtYXROYW1lcz17Z2V0RmlsZUZvcm1hdE5hbWVzKHRoaXMucHJvcHMudmlzU3RhdGUpfVxuICAgICAgICAgICAgICAgIGZpbGVFeHRlbnNpb25zPXtnZXRGaWxlRXh0ZW5zaW9ucyh0aGlzLnByb3BzLnZpc1N0YXRlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmFkZERhdGFUb01hcCcsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiBMb2FkRGF0YU1vZGFsU3R5bGUsXG4gICAgICAgICAgICAgIGZvb3RlcjogZmFsc2UsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fY2xvc2VNb2RhbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgRVhQT1JUX0lNQUdFX0lEOlxuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxFeHBvcnRJbWFnZU1vZGFsXG4gICAgICAgICAgICAgICAgZXhwb3J0SW1hZ2U9e3VpU3RhdGUuZXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgICAgbWFwVz17Y29udGFpbmVyV31cbiAgICAgICAgICAgICAgICBtYXBIPXtjb250YWluZXJIfVxuICAgICAgICAgICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRJbWFnZVNldHRpbmd9XG4gICAgICAgICAgICAgICAgY2xlYW51cEV4cG9ydEltYWdlPXt1aVN0YXRlQWN0aW9ucy5jbGVhbnVwRXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5leHBvcnRJbWFnZScsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgZm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgb25Db25maXJtOiB0aGlzLl9vbkV4cG9ydEltYWdlLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHVpU3RhdGUuZXhwb3J0SW1hZ2UucHJvY2Vzc2luZyxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5kb3dubG9hZCdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgRVhQT1JUX0RBVEFfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPEV4cG9ydERhdGFNb2RhbFxuICAgICAgICAgICAgICAgIHsuLi51aVN0YXRlLmV4cG9ydERhdGF9XG4gICAgICAgICAgICAgICAgc3VwcG9ydGVkRGF0YVR5cGVzPXtFWFBPUlRfREFUQV9UWVBFX09QVElPTlN9XG4gICAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICAgIGFwcGx5Q1BVRmlsdGVyPXt0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy5hcHBseUNQVUZpbHRlcn1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZUV4cG9ydERhdGFUeXBlPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnREYXRhVHlwZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZUV4cG9ydFNlbGVjdGVkRGF0YXNldD17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0U2VsZWN0ZWREYXRhc2V0fVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlRXhwb3J0RmlsdGVyZWQ9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydEZpbHRlcmVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuZXhwb3J0RGF0YScsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgZm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgb25Db25maXJtOiB0aGlzLl9vbkV4cG9ydERhdGEsXG4gICAgICAgICAgICAgIGNvbmZpcm1CdXR0b246IHtcbiAgICAgICAgICAgICAgICBsYXJnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5leHBvcnQnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIEVYUE9SVF9NQVBfSUQ6IHtcbiAgICAgICAgICAgIGNvbnN0IGtlcGxlckdsQ29uZmlnID0gdmlzU3RhdGUuc2NoZW1hLmdldENvbmZpZ1RvU2F2ZSh7XG4gICAgICAgICAgICAgIG1hcFN0eWxlLFxuICAgICAgICAgICAgICB2aXNTdGF0ZSxcbiAgICAgICAgICAgICAgbWFwU3RhdGUsXG4gICAgICAgICAgICAgIHVpU3RhdGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxFeHBvcnRNYXBNb2RhbFxuICAgICAgICAgICAgICAgIGNvbmZpZz17a2VwbGVyR2xDb25maWd9XG4gICAgICAgICAgICAgICAgb3B0aW9ucz17dWlTdGF0ZS5leHBvcnRNYXB9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VFeHBvcnRNYXBGb3JtYXQ9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydE1hcEZvcm1hdH1cbiAgICAgICAgICAgICAgICBvbkVkaXRVc2VyTWFwYm94QWNjZXNzVG9rZW49e3VpU3RhdGVBY3Rpb25zLnNldFVzZXJNYXBib3hBY2Nlc3NUb2tlbn1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZUV4cG9ydE1hcEhUTUxNb2RlPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRIVE1MTWFwTW9kZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmV4cG9ydE1hcCcsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgZm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgb25Db25maXJtOiB0aGlzLl9vbkV4cG9ydE1hcCxcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmV4cG9ydCdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIEFERF9NQVBfU1RZTEVfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPEFkZE1hcFN0eWxlTW9kYWxcbiAgICAgICAgICAgICAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbj17dGhpcy5wcm9wcy5tYXBib3hBcGlBY2Nlc3NUb2tlbn1cbiAgICAgICAgICAgICAgICBtYXBib3hBcGlVcmw9e3RoaXMucHJvcHMubWFwYm94QXBpVXJsfVxuICAgICAgICAgICAgICAgIG1hcFN0YXRlPXt0aGlzLnByb3BzLm1hcFN0YXRlfVxuICAgICAgICAgICAgICAgIGlucHV0U3R5bGU9e21hcFN0eWxlLmlucHV0U3R5bGV9XG4gICAgICAgICAgICAgICAgaW5wdXRNYXBTdHlsZT17dGhpcy5wcm9wcy5tYXBTdHlsZUFjdGlvbnMuaW5wdXRNYXBTdHlsZX1cbiAgICAgICAgICAgICAgICBsb2FkQ3VzdG9tTWFwU3R5bGU9e3RoaXMucHJvcHMubWFwU3R5bGVBY3Rpb25zLmxvYWRDdXN0b21NYXBTdHlsZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmFkZEN1c3RvbU1hcGJveFN0eWxlJyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6ICcnLFxuICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsLFxuICAgICAgICAgICAgICBvbkNvbmZpcm06IHRoaXMuX29uQWRkQ3VzdG9tTWFwU3R5bGUsXG4gICAgICAgICAgICAgIGNvbmZpcm1CdXR0b246IHtcbiAgICAgICAgICAgICAgICBsYXJnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogIW1hcFN0eWxlLmlucHV0U3R5bGUudXJsLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmFkZFN0eWxlJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBTQVZFX01BUF9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8U2F2ZU1hcE1vZGFsXG4gICAgICAgICAgICAgICAgey4uLnByb3ZpZGVyU3RhdGV9XG4gICAgICAgICAgICAgICAgZXhwb3J0SW1hZ2U9e3VpU3RhdGUuZXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgICAgbWFwSW5mbz17dmlzU3RhdGUubWFwSW5mb31cbiAgICAgICAgICAgICAgICBvblNldE1hcEluZm89e3Zpc1N0YXRlQWN0aW9ucy5zZXRNYXBJbmZvfVxuICAgICAgICAgICAgICAgIGNsZWFudXBFeHBvcnRJbWFnZT17dWlTdGF0ZUFjdGlvbnMuY2xlYW51cEV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRJbWFnZVNldHRpbmd9XG4gICAgICAgICAgICAgICAgb25DYW5jZWw9e3RoaXMuX2Nsb3NlTW9kYWx9XG4gICAgICAgICAgICAgICAgb25Db25maXJtPXtwcm92aWRlciA9PiB0aGlzLl9vblNhdmVNYXAocHJvdmlkZXIsIGZhbHNlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLnNhdmVNYXAnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIGZvb3RlcjogZmFsc2VcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIE9WRVJXUklURV9NQVBfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPE92ZXJXcml0ZU1hcE1vZGFsXG4gICAgICAgICAgICAgICAgey4uLnByb3ZpZGVyU3RhdGV9XG4gICAgICAgICAgICAgICAgdGl0bGU9e2dldCh2aXNTdGF0ZSwgWydtYXBJbmZvJywgJ3RpdGxlJ10pfVxuICAgICAgICAgICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRJbWFnZVNldHRpbmd9XG4gICAgICAgICAgICAgICAgY2xlYW51cEV4cG9ydEltYWdlPXt1aVN0YXRlQWN0aW9ucy5jbGVhbnVwRXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgICAgb25Db25maXJtPXt0aGlzLl9vbk92ZXJ3cml0ZU1hcH1cbiAgICAgICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5fY2xvc2VNb2RhbH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ092ZXJ3cml0ZSBFeGlzdGluZyBGaWxlPycsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiBzbWFsbE1vZGFsQ3NzLFxuICAgICAgICAgICAgICBmb290ZXI6IGZhbHNlXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBTSEFSRV9NQVBfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPFNoYXJlTWFwTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4ucHJvdmlkZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICBvbkV4cG9ydD17dGhpcy5fb25TaGFyZU1hcFVybH1cbiAgICAgICAgICAgICAgICBjbGVhbnVwRXhwb3J0SW1hZ2U9e3VpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZX1cbiAgICAgICAgICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZz17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0SW1hZ2VTZXR0aW5nfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuc2hhcmVVUkwnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9vbkNsb3NlU2F2ZU1hcFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcm9vdE5vZGUgPyAoXG4gICAgICAgIDxNb2RhbERpYWxvZ1xuICAgICAgICAgIHBhcmVudFNlbGVjdG9yPXsoKSA9PiBmaW5kRE9NTm9kZShyb290Tm9kZSkgYXMgSFRNTEVsZW1lbnR9XG4gICAgICAgICAgaXNPcGVuPXtCb29sZWFuKGN1cnJlbnRNb2RhbCl9XG4gICAgICAgICAgb25DYW5jZWw9e3RoaXMuX2Nsb3NlTW9kYWx9XG4gICAgICAgICAgey4uLm1vZGFsUHJvcHN9XG4gICAgICAgICAgY3NzU3R5bGU9e0RlZmF1bHRTdHlsZS5jb25jYXQobW9kYWxQcm9wcy5jc3NTdHlsZSl9XG4gICAgICAgID5cbiAgICAgICAgICB7dGVtcGxhdGV9XG4gICAgICAgIDwvTW9kYWxEaWFsb2c+XG4gICAgICApIDogbnVsbDtcbiAgICB9XG4gICAgLyogZXNsaW50LWVuYWJsZSBjb21wbGV4aXR5ICovXG4gIH1cblxuICByZXR1cm4gTW9kYWxDb250YWluZXI7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sU0FBQSxHQUFBTixPQUFBO0FBT0EsSUFBQU8sTUFBQSxHQUFBUCxPQUFBO0FBRUEsSUFBQVEsWUFBQSxHQUFBTCxzQkFBQSxDQUFBSCxPQUFBO0FBR0EsSUFBQVMsZ0JBQUEsR0FBQU4sc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFVLGtCQUFBLEdBQUFQLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBVyxlQUFBLEdBQUFSLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBWSxjQUFBLEdBQUFULHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBYSxpQkFBQSxHQUFBVixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQWMsZ0JBQUEsR0FBQVgsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFlLGVBQUEsR0FBQVosc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFnQixpQkFBQSxHQUFBYixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQWlCLGFBQUEsR0FBQWQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFrQixjQUFBLEdBQUFmLHNCQUFBLENBQUFILE9BQUE7QUFHQSxJQUFBbUIsT0FBQSxHQUFBbkIsT0FBQTtBQTZCQSxJQUFBb0IsU0FBQSxHQUFBcEIsT0FBQTtBQUFzQyxJQUFBcUIsZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFB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
|
|
435
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9sb2Rhc2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2RvY3VtZW50IiwiX2NvbnN0YW50cyIsIl9yZWR1Y2VycyIsIl91dGlscyIsIl9tb2RhbERpYWxvZyIsIl9kZWxldGVEYXRhTW9kYWwiLCJfb3ZlcndyaXRlTWFwTW9kYWwiLCJfZGF0YVRhYmxlTW9kYWwiLCJfbG9hZERhdGFNb2RhbCIsIl9leHBvcnRJbWFnZU1vZGFsIiwiX2V4cG9ydERhdGFNb2RhbCIsIl9leHBvcnRNYXBNb2RhbCIsIl9hZGRNYXBTdHlsZU1vZGFsIiwiX3NhdmVNYXBNb2RhbCIsIl9zaGFyZU1hcE1vZGFsIiwiX3N0eWxlcyIsIl9yZWFjdERvbSIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIkRhdGFUYWJsZU1vZGFsU3R5bGUiLCJjc3MiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIm1lZGlhIiwicG9ydGFibGUiLCJwYWxtIiwic21hbGxNb2RhbENzcyIsIkxvYWREYXRhTW9kYWxTdHlsZSIsIkRlZmF1bHRTdHlsZSIsIk1vZGFsQ29udGFpbmVyRmFjdG9yeSIsImRlcHMiLCJEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5IiwiT3ZlcldyaXRlTWFwTW9kYWxGYWN0b3J5IiwiRGF0YVRhYmxlTW9kYWxGYWN0b3J5IiwiTG9hZERhdGFNb2RhbEZhY3RvcnkiLCJFeHBvcnRJbWFnZU1vZGFsRmFjdG9yeSIsIkV4cG9ydERhdGFNb2RhbEZhY3RvcnkiLCJFeHBvcnRNYXBNb2RhbEZhY3RvcnkiLCJBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeSIsIk1vZGFsRGlhbG9nRmFjdG9yeSIsIlNhdmVNYXBNb2RhbEZhY3RvcnkiLCJTaGFyZU1hcE1vZGFsRmFjdG9yeSIsIkRlbGV0ZURhdGFzZXRNb2RhbCIsIk92ZXJXcml0ZU1hcE1vZGFsIiwiRGF0YVRhYmxlTW9kYWwiLCJMb2FkRGF0YU1vZGFsIiwiRXhwb3J0SW1hZ2VNb2RhbCIsIkV4cG9ydERhdGFNb2RhbCIsIkV4cG9ydE1hcE1vZGFsIiwiQWRkTWFwU3R5bGVNb2RhbCIsIk1vZGFsRGlhbG9nIiwiU2F2ZU1hcE1vZGFsIiwiU2hhcmVNYXBNb2RhbCIsIk1vZGFsQ29udGFpbmVyIiwiX0NvbXBvbmVudCIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29uY2F0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiX29uS2V5VXAiLCJldmVudCIsImtleUNvZGUiLCJLZXlFdmVudCIsIkRPTV9WS19FU0NBUEUiLCJfY2xvc2VNb2RhbCIsInByb3BzIiwidWlTdGF0ZUFjdGlvbnMiLCJ0b2dnbGVNb2RhbCIsImtleSIsInZpc1N0YXRlQWN0aW9ucyIsInJlbW92ZURhdGFzZXQiLCJtYXBTdHlsZUFjdGlvbnMiLCJhZGRDdXN0b21NYXBTdHlsZSIsImZpbGVMaXN0IiwibG9hZEZpbGVzIiwidGlsZXNldCIsInByb2Nlc3NlZE1ldGFkYXRhIiwidXBkYXRlVmlzRGF0YSIsImluZm8iLCJsYWJlbCIsIm5hbWUiLCJ0eXBlIiwiZm9ybWF0IiwiZGF0YSIsImZpZWxkcyIsInJvd3MiLCJtZXRhZGF0YSIsInN1cHBvcnRlZEZpbHRlclR5cGVzIiwiQUxMX0ZJRUxEX1RZUEVTIiwicmVhbCIsImludGVnZXIiLCJkaXNhYmxlRGF0YU9wZXJhdGlvbiIsImF1dG9DcmVhdGVMYXllcnMiLCJ1aVN0YXRlIiwiZXhwb3J0SW1hZ2UiLCJwcm9jZXNzaW5nIiwiYXBwTmFtZSIsImNsZWFudXBFeHBvcnRJbWFnZSIsImV4cG9ydERhdGEiLCJleHBvcnRNYXAiLCJFWFBPUlRfTUFQX0ZPUk1BVFMiLCJIVE1MIiwiZXhwb3J0SHRtbCIsImV4cG9ydEpzb24iLCJfcmVmIiwicHJvdmlkZXIiLCJpc1B1YmxpYyIsIm92ZXJ3cml0ZSIsImNsb3NlTW9kYWwiLCJ0b1NhdmUiLCJwcm92aWRlckFjdGlvbnMiLCJleHBvcnRGaWxlVG9DbG91ZCIsIm1hcERhdGEiLCJvcHRpb25zIiwib25TdWNjZXNzIiwib25FeHBvcnRUb0Nsb3VkU3VjY2VzcyIsIm9uRXJyb3IiLCJvbkV4cG9ydFRvQ2xvdWRFcnJvciIsInVuZGVmaW5lZCIsIl9leHBvcnRGaWxlVG9DbG91ZCIsIl9vblNhdmVNYXAiLCJyZXNldFByb3ZpZGVyU3RhdHVzIiwicGF5bG9hZCIsImxvYWRDbG91ZE1hcCIsIm9uTG9hZENsb3VkTWFwU3VjY2VzcyIsIm9uTG9hZENsb3VkTWFwRXJyb3IiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsInZhbHVlIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVuZGVyIiwiX3RoaXMyIiwiX3RoaXMkcHJvcHMiLCJjb250YWluZXJXIiwiY29udGFpbmVySCIsIm1hcFN0eWxlIiwibWFwU3RhdGUiLCJ2aXNTdGF0ZSIsInJvb3ROb2RlIiwicHJvdmlkZXJTdGF0ZSIsImN1cnJlbnRNb2RhbCIsImRhdGFzZXRLZXlUb1JlbW92ZSIsImRhdGFzZXRzIiwibGF5ZXJzIiwiZWRpdGluZ0RhdGFzZXQiLCJ0ZW1wbGF0ZSIsIm1vZGFsUHJvcHMiLCJpZCIsImNyZWF0ZUVsZW1lbnQiLCJEQVRBX1RBQkxFX0lEIiwid2lkdGgiLCJkYXRhSWQiLCJzaG93RGF0YXNldFRhYmxlIiwic29ydFRhYmxlQ29sdW1uIiwicGluVGFibGVDb2x1bW4iLCJjb3B5VGFibGVDb2x1bW4iLCJzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0IiwiY3NzU3R5bGUiLCJERUxFVEVfREFUQV9JRCIsImRhdGFzZXQiLCJ0aXRsZSIsImZvb3RlciIsIm9uQ29uZmlybSIsIl9kZWxldGVEYXRhc2V0Iiwib25DYW5jZWwiLCJjb25maXJtQnV0dG9uIiwibmVnYXRpdmUiLCJsYXJnZSIsImNoaWxkcmVuIiwiQUREX0RBVEFfSUQiLCJfZXh0ZW5kczIiLCJvbkNsb3NlIiwib25GaWxlVXBsb2FkIiwiX29uRmlsZVVwbG9hZCIsIm9uVGlsZXNldEFkZGVkIiwiX29uVGlsZXNldEFkZGVkIiwib25Mb2FkQ2xvdWRNYXAiLCJfb25Mb2FkQ2xvdWRNYXAiLCJmaWxlTG9hZGluZyIsImZpbGVMb2FkaW5nUHJvZ3Jlc3MiLCJmaWxlRm9ybWF0TmFtZXMiLCJnZXRGaWxlRm9ybWF0TmFtZXMiLCJmaWxlRXh0ZW5zaW9ucyIsImdldEZpbGVFeHRlbnNpb25zIiwiRVhQT1JUX0lNQUdFX0lEIiwibWFwVyIsIm1hcEgiLCJvblVwZGF0ZUltYWdlU2V0dGluZyIsInNldEV4cG9ydEltYWdlU2V0dGluZyIsIl9vbkV4cG9ydEltYWdlIiwiZGlzYWJsZWQiLCJFWFBPUlRfREFUQV9JRCIsInN1cHBvcnRlZERhdGFUeXBlcyIsIkVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyIsImFwcGx5Q1BVRmlsdGVyIiwib25DaGFuZ2VFeHBvcnREYXRhVHlwZSIsInNldEV4cG9ydERhdGFUeXBlIiwib25DaGFuZ2VFeHBvcnRTZWxlY3RlZERhdGFzZXQiLCJzZXRFeHBvcnRTZWxlY3RlZERhdGFzZXQiLCJvbkNoYW5nZUV4cG9ydEZpbHRlcmVkIiwic2V0RXhwb3J0RmlsdGVyZWQiLCJfb25FeHBvcnREYXRhIiwiRVhQT1JUX01BUF9JRCIsImtlcGxlckdsQ29uZmlnIiwic2NoZW1hIiwiZ2V0Q29uZmlnVG9TYXZlIiwiY29uZmlnIiwib25DaGFuZ2VFeHBvcnRNYXBGb3JtYXQiLCJzZXRFeHBvcnRNYXBGb3JtYXQiLCJvbkVkaXRVc2VyTWFwYm94QWNjZXNzVG9rZW4iLCJzZXRVc2VyTWFwYm94QWNjZXNzVG9rZW4iLCJvbkNoYW5nZUV4cG9ydE1hcEhUTUxNb2RlIiwic2V0RXhwb3J0SFRNTE1hcE1vZGUiLCJfb25FeHBvcnRNYXAiLCJBRERfTUFQX1NUWUxFX0lEIiwibWFwYm94QXBpQWNjZXNzVG9rZW4iLCJtYXBib3hBcGlVcmwiLCJpbnB1dFN0eWxlIiwiaW5wdXRNYXBTdHlsZSIsImxvYWRDdXN0b21NYXBTdHlsZSIsIl9vbkFkZEN1c3RvbU1hcFN0eWxlIiwidXJsIiwiU0FWRV9NQVBfSUQiLCJtYXBJbmZvIiwib25TZXRNYXBJbmZvIiwic2V0TWFwSW5mbyIsIk9WRVJXUklURV9NQVBfSUQiLCJfb25PdmVyd3JpdGVNYXAiLCJTSEFSRV9NQVBfSUQiLCJvbkV4cG9ydCIsIl9vblNoYXJlTWFwVXJsIiwiX29uQ2xvc2VTYXZlTWFwIiwicGFyZW50U2VsZWN0b3IiLCJmaW5kRE9NTm9kZSIsImlzT3BlbiIsIkNvbXBvbmVudCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tb2RhbC1jb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtjc3N9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoLmdldCc7XG5pbXBvcnQgZG9jdW1lbnQgZnJvbSAnZ2xvYmFsL2RvY3VtZW50JztcblxuaW1wb3J0IHtBTExfRklFTERfVFlQRVN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIGV4cG9ydERhdGEsXG4gIGdldEZpbGVGb3JtYXROYW1lcyxcbiAgZ2V0RmlsZUV4dGVuc2lvbnMsXG4gIE1hcFN0eWxlLFxuICBQcm92aWRlclN0YXRlXG59IGZyb20gJ0BrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuaW1wb3J0IHtleHBvcnRIdG1sLCBleHBvcnRNYXAsIGV4cG9ydEpzb24sIGV4cG9ydEltYWdlfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuaW1wb3J0IE1vZGFsRGlhbG9nRmFjdG9yeSBmcm9tICcuL21vZGFscy9tb2RhbC1kaWFsb2cnO1xuXG4vLyBtb2RhbHNcbmltcG9ydCBEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2RlbGV0ZS1kYXRhLW1vZGFsJztcbmltcG9ydCBPdmVyV3JpdGVNYXBNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvb3ZlcndyaXRlLW1hcC1tb2RhbCc7XG5pbXBvcnQgRGF0YVRhYmxlTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2RhdGEtdGFibGUtbW9kYWwnO1xuaW1wb3J0IExvYWREYXRhTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2xvYWQtZGF0YS1tb2RhbCc7XG5pbXBvcnQgRXhwb3J0SW1hZ2VNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvZXhwb3J0LWltYWdlLW1vZGFsJztcbmltcG9ydCBFeHBvcnREYXRhTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2V4cG9ydC1kYXRhLW1vZGFsJztcbmltcG9ydCBFeHBvcnRNYXBNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvZXhwb3J0LW1hcC1tb2RhbC9leHBvcnQtbWFwLW1vZGFsJztcbmltcG9ydCBBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9hZGQtbWFwLXN0eWxlLW1vZGFsJztcbmltcG9ydCBTYXZlTWFwTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL3NhdmUtbWFwLW1vZGFsJztcbmltcG9ydCBTaGFyZU1hcE1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9zaGFyZS1tYXAtbW9kYWwnO1xuXG4vLyBCcmVha3BvaW50c1xuaW1wb3J0IHttZWRpYX0gZnJvbSAnQGtlcGxlci5nbC9zdHlsZXMnO1xuXG4vLyBUZW1wbGF0ZVxuaW1wb3J0IHtcbiAgRVhQT1JUX0RBVEFfVFlQRV9PUFRJT05TLFxuICBFWFBPUlRfTUFQX0ZPUk1BVFMsXG4gIEtleUV2ZW50LFxuICBBRERfREFUQV9JRCxcbiAgREFUQV9UQUJMRV9JRCxcbiAgREVMRVRFX0RBVEFfSUQsXG4gIEVYUE9SVF9EQVRBX0lELFxuICBFWFBPUlRfSU1BR0VfSUQsXG4gIEVYUE9SVF9NQVBfSUQsXG4gIEFERF9NQVBfU1RZTEVfSUQsXG4gIFNBVkVfTUFQX0lELFxuICBTSEFSRV9NQVBfSUQsXG4gIE9WRVJXUklURV9NQVBfSURcbn0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuXG5pbXBvcnQge01hcFN0YXRlLCBVaVN0YXRlLCBPblN1Y2Nlc3NDYWxsQmFjaywgT25FcnJvckNhbGxCYWNrfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IHtcbiAgVmlzU3RhdGVBY3Rpb25zLFxuICBVSVN0YXRlQWN0aW9ucyxcbiAgTWFwU3R5bGVBY3Rpb25zLFxuICBQcm92aWRlckFjdGlvbnNcbn0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7TW9kYWxEaWFsb2dQcm9wc30gZnJvbSAnLi9jb21tb24vbW9kYWwnO1xuaW1wb3J0IHtQcm92aWRlcn0gZnJvbSAnQGtlcGxlci5nbC9jbG91ZC1wcm92aWRlcnMnO1xuaW1wb3J0IHtmaW5kRE9NTm9kZX0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7VmlzU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvc2NoZW1hcyc7XG5cbmNvbnN0IERhdGFUYWJsZU1vZGFsU3R5bGUgPSBjc3NgXG4gIHRvcDogNzBweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDkwdnc7XG4gIG1heC13aWR0aDogOTB2dztcblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIHBhZGRpbmc6IDA7XG4gIGB9ICR7bWVkaWEucGFsbWBcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICBgfTtcbmA7XG5jb25zdCBzbWFsbE1vZGFsQ3NzID0gY3NzYFxuICB3aWR0aDogNDAlO1xuICBwYWRkaW5nOiA0MHB4IDQwcHggMzJweCA0MHB4O1xuYDtcblxuY29uc3QgTG9hZERhdGFNb2RhbFN0eWxlID0gY3NzYFxuICB0b3A6IDYwcHg7XG5gO1xuXG5jb25zdCBEZWZhdWx0U3R5bGUgPSBjc3NgXG4gIG1heC13aWR0aDogOTYwcHg7XG5gO1xuXG5leHBvcnQgdHlwZSBNb2RhbENvbnRhaW5lclByb3BzID0ge1xuICBhcHBOYW1lOiBzdHJpbmc7XG4gIHJvb3ROb2RlOiBSZWFjdC5SZWFjdEluc3RhbmNlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgY29udGFpbmVyVzogbnVtYmVyO1xuICBjb250YWluZXJIOiBudW1iZXI7XG4gIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIG1hcGJveEFwaVVybD86IHN0cmluZztcbiAgbWFwU3RhdGU6IE1hcFN0YXRlO1xuICBtYXBTdHlsZTogTWFwU3R5bGU7XG4gIHVpU3RhdGU6IFVpU3RhdGU7XG4gIHZpc1N0YXRlOiBWaXNTdGF0ZTtcbiAgcHJvdmlkZXJTdGF0ZTogUHJvdmlkZXJTdGF0ZTtcbiAgdmlzU3RhdGVBY3Rpb25zOiB0eXBlb2YgVmlzU3RhdGVBY3Rpb25zO1xuICB1aVN0YXRlQWN0aW9uczogdHlwZW9mIFVJU3RhdGVBY3Rpb25zO1xuICBtYXBTdHlsZUFjdGlvbnM6IHR5cGVvZiBNYXBTdHlsZUFjdGlvbnM7XG4gIHByb3ZpZGVyQWN0aW9uczogdHlwZW9mIFByb3ZpZGVyQWN0aW9ucztcbiAgb25TYXZlVG9TdG9yYWdlPzogKCkgPT4gdm9pZDtcbiAgY2xvdWRQcm92aWRlcnM6IFByb3ZpZGVyW107XG4gIG9uTG9hZENsb3VkTWFwU3VjY2Vzcz86IE9uU3VjY2Vzc0NhbGxCYWNrO1xuICBvbkxvYWRDbG91ZE1hcEVycm9yPzogT25FcnJvckNhbGxCYWNrO1xuICBvbkV4cG9ydFRvQ2xvdWRTdWNjZXNzPzogT25TdWNjZXNzQ2FsbEJhY2s7XG4gIG9uRXhwb3J0VG9DbG91ZEVycm9yPzogT25FcnJvckNhbGxCYWNrO1xufTtcblxuTW9kYWxDb250YWluZXJGYWN0b3J5LmRlcHMgPSBbXG4gIERlbGV0ZURhdGFzZXRNb2RhbEZhY3RvcnksXG4gIE92ZXJXcml0ZU1hcE1vZGFsRmFjdG9yeSxcbiAgRGF0YVRhYmxlTW9kYWxGYWN0b3J5LFxuICBMb2FkRGF0YU1vZGFsRmFjdG9yeSxcbiAgRXhwb3J0SW1hZ2VNb2RhbEZhY3RvcnksXG4gIEV4cG9ydERhdGFNb2RhbEZhY3RvcnksXG4gIEV4cG9ydE1hcE1vZGFsRmFjdG9yeSxcbiAgQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnksXG4gIE1vZGFsRGlhbG9nRmFjdG9yeSxcbiAgU2F2ZU1hcE1vZGFsRmFjdG9yeSxcbiAgU2hhcmVNYXBNb2RhbEZhY3Rvcnlcbl07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1vZGFsQ29udGFpbmVyRmFjdG9yeShcbiAgRGVsZXRlRGF0YXNldE1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5PixcbiAgT3ZlcldyaXRlTWFwTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIE92ZXJXcml0ZU1hcE1vZGFsRmFjdG9yeT4sXG4gIERhdGFUYWJsZU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBEYXRhVGFibGVNb2RhbEZhY3Rvcnk+LFxuICBMb2FkRGF0YU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBMb2FkRGF0YU1vZGFsRmFjdG9yeT4sXG4gIEV4cG9ydEltYWdlTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIEV4cG9ydEltYWdlTW9kYWxGYWN0b3J5PixcbiAgRXhwb3J0RGF0YU1vZGFsOiBSZXR1cm5UeXBlPHR5cGVvZiBFeHBvcnREYXRhTW9kYWxGYWN0b3J5PixcbiAgRXhwb3J0TWFwTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIEV4cG9ydE1hcE1vZGFsRmFjdG9yeT4sXG4gIEFkZE1hcFN0eWxlTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIEFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5PixcbiAgTW9kYWxEaWFsb2c6IFJldHVyblR5cGU8dHlwZW9mIE1vZGFsRGlhbG9nRmFjdG9yeT4sXG4gIFNhdmVNYXBNb2RhbDogUmV0dXJuVHlwZTx0eXBlb2YgU2F2ZU1hcE1vZGFsRmFjdG9yeT4sXG4gIFNoYXJlTWFwTW9kYWw6IFJldHVyblR5cGU8dHlwZW9mIFNoYXJlTWFwTW9kYWxGYWN0b3J5PlxuKTogUmVhY3QuRWxlbWVudFR5cGU8TW9kYWxDb250YWluZXJQcm9wcz4ge1xuICAvKiogQGF1Z21lbnRzIFJlYWN0LkNvbXBvbmVudDxNb2RhbENvbnRhaW5lclByb3BzPiAqL1xuICBjbGFzcyBNb2RhbENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudDxNb2RhbENvbnRhaW5lclByb3BzPiB7XG4gICAgLy8gVE9ETyAtIHJlbW92ZSB3aGVuIHByb3AgdHlwZXMgYXJlIGZ1bGx5IGV4cG9ydGVkXG4gICAgY29tcG9uZW50RGlkTW91bnQgPSAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX29uS2V5VXApO1xuICAgIH07XG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX29uS2V5VXApO1xuICAgIH1cblxuICAgIF9vbktleVVwID0gZXZlbnQgPT4ge1xuICAgICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG4gICAgICBpZiAoa2V5Q29kZSA9PT0gS2V5RXZlbnQuRE9NX1ZLX0VTQ0FQRSkge1xuICAgICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9jbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy51aVN0YXRlQWN0aW9ucy50b2dnbGVNb2RhbChudWxsKTtcbiAgICB9O1xuXG4gICAgX2RlbGV0ZURhdGFzZXQgPSBrZXkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy52aXNTdGF0ZUFjdGlvbnMucmVtb3ZlRGF0YXNldChrZXkpO1xuICAgICAgdGhpcy5fY2xvc2VNb2RhbCgpO1xuICAgIH07XG5cbiAgICBfb25BZGRDdXN0b21NYXBTdHlsZSA9ICgpID0+IHtcbiAgICAgIHRoaXMucHJvcHMubWFwU3R5bGVBY3Rpb25zLmFkZEN1c3RvbU1hcFN0eWxlKCk7XG4gICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgfTtcblxuICAgIF9vbkZpbGVVcGxvYWQgPSBmaWxlTGlzdCA9PiB7XG4gICAgICB0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy5sb2FkRmlsZXMoZmlsZUxpc3QpO1xuICAgIH07XG5cbiAgICBfb25UaWxlc2V0QWRkZWQgPSAoXG4gICAgICB0aWxlc2V0OiB7bmFtZTogc3RyaW5nOyB0eXBlOiBzdHJpbmc7IG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+fSxcbiAgICAgIHByb2Nlc3NlZE1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgYW55PlxuICAgICkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy52aXNTdGF0ZUFjdGlvbnMudXBkYXRlVmlzRGF0YShcbiAgICAgICAge1xuICAgICAgICAgIGluZm86IHtsYWJlbDogdGlsZXNldC5uYW1lLCB0eXBlOiB0aWxlc2V0LnR5cGUsIGZvcm1hdDogJ3Jvd3MnfSxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBmaWVsZHM6IHByb2Nlc3NlZE1ldGFkYXRhPy5maWVsZHMgfHwgW10sXG4gICAgICAgICAgICByb3dzOiBbXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIC4uLnByb2Nlc3NlZE1ldGFkYXRhLFxuICAgICAgICAgICAgLi4udGlsZXNldC5tZXRhZGF0YVxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gdmVjdG9yIHRpbGUgbGF5ZXIgb25seSBzdXBwb3J0cyBncHUgZmlsdGVyaW5nIGZvciBub3dcbiAgICAgICAgICBzdXBwb3J0ZWRGaWx0ZXJUeXBlczogW0FMTF9GSUVMRF9UWVBFUy5yZWFsLCBBTExfRklFTERfVFlQRVMuaW50ZWdlcl0sXG4gICAgICAgICAgZGlzYWJsZURhdGFPcGVyYXRpb246IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGF1dG9DcmVhdGVMYXllcnM6IHRydWVcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uRXhwb3J0SW1hZ2UgPSAoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMucHJvcHMudWlTdGF0ZS5leHBvcnRJbWFnZS5wcm9jZXNzaW5nKSB7XG4gICAgICAgIGV4cG9ydEltYWdlKHRoaXMucHJvcHMudWlTdGF0ZS5leHBvcnRJbWFnZSwgYCR7dGhpcy5wcm9wcy5hcHBOYW1lfS5wbmdgKTtcbiAgICAgICAgdGhpcy5wcm9wcy51aVN0YXRlQWN0aW9ucy5jbGVhbnVwRXhwb3J0SW1hZ2UoKTtcbiAgICAgICAgdGhpcy5fY2xvc2VNb2RhbCgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfb25FeHBvcnREYXRhID0gKCkgPT4ge1xuICAgICAgZXhwb3J0RGF0YSh0aGlzLnByb3BzLCB0aGlzLnByb3BzLnVpU3RhdGUuZXhwb3J0RGF0YSk7XG4gICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgfTtcblxuICAgIF9vbkV4cG9ydE1hcCA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHt1aVN0YXRlfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCB7Zm9ybWF0fSA9IHVpU3RhdGUuZXhwb3J0TWFwO1xuICAgICAgKGZvcm1hdCA9PT0gRVhQT1JUX01BUF9GT1JNQVRTLkhUTUwgPyBleHBvcnRIdG1sIDogZXhwb3J0SnNvbikoXG4gICAgICAgIHRoaXMucHJvcHMsXG4gICAgICAgIHRoaXMucHJvcHMudWlTdGF0ZS5leHBvcnRNYXBbZm9ybWF0XSB8fCB7fVxuICAgICAgKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX2V4cG9ydEZpbGVUb0Nsb3VkID0gKHtwcm92aWRlciwgaXNQdWJsaWMsIG92ZXJ3cml0ZSwgY2xvc2VNb2RhbH0pID0+IHtcbiAgICAgIGNvbnN0IHRvU2F2ZSA9IGV4cG9ydE1hcCh0aGlzLnByb3BzKTtcblxuICAgICAgdGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMuZXhwb3J0RmlsZVRvQ2xvdWQoe1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG1hcERhdGE6IHRvU2F2ZSxcbiAgICAgICAgcHJvdmlkZXIsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBpc1B1YmxpYyxcbiAgICAgICAgICBvdmVyd3JpdGVcbiAgICAgICAgfSxcbiAgICAgICAgY2xvc2VNb2RhbCxcbiAgICAgICAgb25TdWNjZXNzOiB0aGlzLnByb3BzLm9uRXhwb3J0VG9DbG91ZFN1Y2Nlc3MsXG4gICAgICAgIG9uRXJyb3I6IHRoaXMucHJvcHMub25FeHBvcnRUb0Nsb3VkRXJyb3JcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfb25TYXZlTWFwID0gKHByb3ZpZGVyLCBvdmVyd3JpdGUgPSBmYWxzZSkgPT4ge1xuICAgICAgdGhpcy5fZXhwb3J0RmlsZVRvQ2xvdWQoe1xuICAgICAgICBwcm92aWRlcixcbiAgICAgICAgaXNQdWJsaWM6IGZhbHNlLFxuICAgICAgICBvdmVyd3JpdGUsXG4gICAgICAgIGNsb3NlTW9kYWw6IHRydWVcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfb25PdmVyd3JpdGVNYXAgPSAoKSA9PiB7XG4gICAgICB0aGlzLl9vblNhdmVNYXAodHJ1ZSk7XG4gICAgfTtcblxuICAgIF9vblNoYXJlTWFwVXJsID0gcHJvdmlkZXIgPT4ge1xuICAgICAgdGhpcy5fZXhwb3J0RmlsZVRvQ2xvdWQoe3Byb3ZpZGVyLCBpc1B1YmxpYzogdHJ1ZSwgb3ZlcndyaXRlOiBmYWxzZSwgY2xvc2VNb2RhbDogZmFsc2V9KTtcbiAgICB9O1xuXG4gICAgX29uQ2xvc2VTYXZlTWFwID0gKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMucmVzZXRQcm92aWRlclN0YXR1cygpO1xuICAgICAgdGhpcy5fY2xvc2VNb2RhbCgpO1xuICAgIH07XG5cbiAgICBfb25Mb2FkQ2xvdWRNYXAgPSBwYXlsb2FkID0+IHtcbiAgICAgIHRoaXMucHJvcHMucHJvdmlkZXJBY3Rpb25zLmxvYWRDbG91ZE1hcCh7XG4gICAgICAgIC4uLnBheWxvYWQsXG4gICAgICAgIG9uU3VjY2VzczogdGhpcy5wcm9wcy5vbkxvYWRDbG91ZE1hcFN1Y2Nlc3MsXG4gICAgICAgIG9uRXJyb3I6IHRoaXMucHJvcHMub25Mb2FkQ2xvdWRNYXBFcnJvclxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGNvbnRhaW5lclcsXG4gICAgICAgIGNvbnRhaW5lckgsXG4gICAgICAgIG1hcFN0eWxlLFxuICAgICAgICBtYXBTdGF0ZSxcbiAgICAgICAgdWlTdGF0ZSxcbiAgICAgICAgdmlzU3RhdGUsXG4gICAgICAgIHJvb3ROb2RlLFxuICAgICAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgICAgIHVpU3RhdGVBY3Rpb25zLFxuICAgICAgICBwcm92aWRlclN0YXRlXG4gICAgICB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHtjdXJyZW50TW9kYWwsIGRhdGFzZXRLZXlUb1JlbW92ZX0gPSB1aVN0YXRlO1xuICAgICAgY29uc3Qge2RhdGFzZXRzLCBsYXllcnMsIGVkaXRpbmdEYXRhc2V0fSA9IHZpc1N0YXRlO1xuXG4gICAgICBsZXQgdGVtcGxhdGU6IEpTWC5FbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgICBsZXQgbW9kYWxQcm9wczogUGFydGlhbDxNb2RhbERpYWxvZ1Byb3BzPiA9IHt9O1xuXG4gICAgICAvLyBUT0RPIC0gY3VycmVudE1vZGFsIGlzIGEgc3RyaW5nXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAoY3VycmVudE1vZGFsICYmIGN1cnJlbnRNb2RhbC5pZCAmJiBjdXJyZW50TW9kYWwudGVtcGxhdGUpIHtcbiAgICAgICAgLy8gaWYgY3VycmVudE1kb2FsIHRlbXBsYXRlIGlzIGFscmVhZHkgcHJvdmlkZWRcbiAgICAgICAgLy8gVE9ETzogbmVlZCB0byBjaGVjayB3aGV0aGVyIHRlbXBsYXRlIGlzIHZhbGlkXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGVtcGxhdGUgPSA8Y3VycmVudE1vZGFsLnRlbXBsYXRlIC8+O1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG1vZGFsUHJvcHMgPSBjdXJyZW50TW9kYWwubW9kYWxQcm9wcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN3aXRjaCAoY3VycmVudE1vZGFsKSB7XG4gICAgICAgICAgY2FzZSBEQVRBX1RBQkxFX0lEOiB7XG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IGNvbnRhaW5lclcgKiAwLjk7XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPERhdGFUYWJsZU1vZGFsXG4gICAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICAgIGRhdGFJZD17ZWRpdGluZ0RhdGFzZXR9XG4gICAgICAgICAgICAgICAgc2hvd0RhdGFzZXRUYWJsZT17dmlzU3RhdGVBY3Rpb25zLnNob3dEYXRhc2V0VGFibGV9XG4gICAgICAgICAgICAgICAgc29ydFRhYmxlQ29sdW1uPXt2aXNTdGF0ZUFjdGlvbnMuc29ydFRhYmxlQ29sdW1ufVxuICAgICAgICAgICAgICAgIHBpblRhYmxlQ29sdW1uPXt2aXNTdGF0ZUFjdGlvbnMucGluVGFibGVDb2x1bW59XG4gICAgICAgICAgICAgICAgY29weVRhYmxlQ29sdW1uPXt2aXNTdGF0ZUFjdGlvbnMuY29weVRhYmxlQ29sdW1ufVxuICAgICAgICAgICAgICAgIHNldENvbHVtbkRpc3BsYXlGb3JtYXQ9e3Zpc1N0YXRlQWN0aW9ucy5zZXRDb2x1bW5EaXNwbGF5Rm9ybWF0fVxuICAgICAgICAgICAgICAgIHVpU3RhdGVBY3Rpb25zPXt1aVN0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgICB1aVN0YXRlPXt1aVN0YXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gVE9ETzogd2UgbmVlZCB0byBtYWtlIHRoaXMgd2lkdGggY29uc2lzdGVudCB3aXRoIHRoZSBjc3MgcnVsZSBkZWZpbmVkIG1vZGFsLmpzOjMyIG1heC13aWR0aDogNzB2d1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSAvLyBUT0RPIGZpeCB0aGlzIGFmdGVyIGFkZCB0eXBlcyB0byBUaGVtZVxuICAgICAgICAgICAgbW9kYWxQcm9wcy5jc3NTdHlsZSA9IGNzc2BcbiAgICAgICAgICAgICAgJHtEYXRhVGFibGVNb2RhbFN0eWxlfTtcbiAgICAgICAgICAgICAgJHttZWRpYS5wYWxtYFxuICAgICAgICAgICAgICAgIHdpZHRoOiAke3dpZHRofXB4O1xuICAgICAgICAgICAgICBgfTtcbiAgICAgICAgICAgIGA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBERUxFVEVfREFUQV9JRDoge1xuICAgICAgICAgICAgLy8gdmFsaWRhdGUgb3B0aW9uc1xuICAgICAgICAgICAgaWYgKGRhdGFzZXRLZXlUb1JlbW92ZSAmJiBkYXRhc2V0cyAmJiBkYXRhc2V0c1tkYXRhc2V0S2V5VG9SZW1vdmVdKSB7XG4gICAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICAgIDxEZWxldGVEYXRhc2V0TW9kYWwgZGF0YXNldD17ZGF0YXNldHNbZGF0YXNldEtleVRvUmVtb3ZlXX0gbGF5ZXJzPXtsYXllcnN9IC8+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5kZWxldGVEYXRhc2V0JyxcbiAgICAgICAgICAgICAgICBjc3NTdHlsZTogc21hbGxNb2RhbENzcyxcbiAgICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgICAgb25Db25maXJtOiAoKSA9PiB0aGlzLl9kZWxldGVEYXRhc2V0KGRhdGFzZXRLZXlUb1JlbW92ZSksXG4gICAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgICAgbmVnYXRpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICBsYXJnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmRlbGV0ZSdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhazsgLy8gaW4gY2FzZSB3ZSBhZGQgYSBuZXcgY2FzZSBhZnRlciB0aGlzIG9uZVxuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIEFERF9EQVRBX0lEOlxuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxMb2FkRGF0YU1vZGFsXG4gICAgICAgICAgICAgICAgey4uLnByb3ZpZGVyU3RhdGV9XG4gICAgICAgICAgICAgICAgb25DbG9zZT17dGhpcy5fY2xvc2VNb2RhbH1cbiAgICAgICAgICAgICAgICBvbkZpbGVVcGxvYWQ9e3RoaXMuX29uRmlsZVVwbG9hZH1cbiAgICAgICAgICAgICAgICBvblRpbGVzZXRBZGRlZD17dGhpcy5fb25UaWxlc2V0QWRkZWR9XG4gICAgICAgICAgICAgICAgb25Mb2FkQ2xvdWRNYXA9e3RoaXMuX29uTG9hZENsb3VkTWFwfVxuICAgICAgICAgICAgICAgIGxvYWRGaWxlcz17dWlTdGF0ZS5sb2FkRmlsZXN9XG4gICAgICAgICAgICAgICAgZmlsZUxvYWRpbmc9e3Zpc1N0YXRlLmZpbGVMb2FkaW5nfVxuICAgICAgICAgICAgICAgIGZpbGVMb2FkaW5nUHJvZ3Jlc3M9e3Zpc1N0YXRlLmZpbGVMb2FkaW5nUHJvZ3Jlc3N9XG4gICAgICAgICAgICAgICAgZmlsZUZvcm1hdE5hbWVzPXtnZXRGaWxlRm9ybWF0TmFtZXModGhpcy5wcm9wcy52aXNTdGF0ZSl9XG4gICAgICAgICAgICAgICAgZmlsZUV4dGVuc2lvbnM9e2dldEZpbGVFeHRlbnNpb25zKHRoaXMucHJvcHMudmlzU3RhdGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuYWRkRGF0YVRvTWFwJyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6IExvYWREYXRhTW9kYWxTdHlsZSxcbiAgICAgICAgICAgICAgZm9vdGVyOiBmYWxzZSxcbiAgICAgICAgICAgICAgb25Db25maXJtOiB0aGlzLl9jbG9zZU1vZGFsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBFWFBPUlRfSU1BR0VfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPEV4cG9ydEltYWdlTW9kYWxcbiAgICAgICAgICAgICAgICBleHBvcnRJbWFnZT17dWlTdGF0ZS5leHBvcnRJbWFnZX1cbiAgICAgICAgICAgICAgICBtYXBXPXtjb250YWluZXJXfVxuICAgICAgICAgICAgICAgIG1hcEg9e2NvbnRhaW5lckh9XG4gICAgICAgICAgICAgICAgb25VcGRhdGVJbWFnZVNldHRpbmc9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydEltYWdlU2V0dGluZ31cbiAgICAgICAgICAgICAgICBjbGVhbnVwRXhwb3J0SW1hZ2U9e3VpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmV4cG9ydEltYWdlJyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6ICcnLFxuICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsLFxuICAgICAgICAgICAgICBvbkNvbmZpcm06IHRoaXMuX29uRXhwb3J0SW1hZ2UsXG4gICAgICAgICAgICAgIGNvbmZpcm1CdXR0b246IHtcbiAgICAgICAgICAgICAgICBsYXJnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogdWlTdGF0ZS5leHBvcnRJbWFnZS5wcm9jZXNzaW5nLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmRvd25sb2FkJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBFWFBPUlRfREFUQV9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8RXhwb3J0RGF0YU1vZGFsXG4gICAgICAgICAgICAgICAgey4uLnVpU3RhdGUuZXhwb3J0RGF0YX1cbiAgICAgICAgICAgICAgICBzdXBwb3J0ZWREYXRhVHlwZXM9e0VYUE9SVF9EQVRBX1RZUEVfT1BUSU9OU31cbiAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgYXBwbHlDUFVGaWx0ZXI9e3RoaXMucHJvcHMudmlzU3RhdGVBY3Rpb25zLmFwcGx5Q1BVRmlsdGVyfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlRXhwb3J0RGF0YVR5cGU9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydERhdGFUeXBlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlRXhwb3J0U2VsZWN0ZWREYXRhc2V0PXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRTZWxlY3RlZERhdGFzZXR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VFeHBvcnRGaWx0ZXJlZD17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0RmlsdGVyZWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5leHBvcnREYXRhJyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6ICcnLFxuICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsLFxuICAgICAgICAgICAgICBvbkNvbmZpcm06IHRoaXMuX29uRXhwb3J0RGF0YSxcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmV4cG9ydCdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgRVhQT1JUX01BUF9JRDoge1xuICAgICAgICAgICAgY29uc3Qga2VwbGVyR2xDb25maWcgPSB2aXNTdGF0ZS5zY2hlbWEuZ2V0Q29uZmlnVG9TYXZlKHtcbiAgICAgICAgICAgICAgbWFwU3R5bGUsXG4gICAgICAgICAgICAgIHZpc1N0YXRlLFxuICAgICAgICAgICAgICBtYXBTdGF0ZSxcbiAgICAgICAgICAgICAgdWlTdGF0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPEV4cG9ydE1hcE1vZGFsXG4gICAgICAgICAgICAgICAgY29uZmlnPXtrZXBsZXJHbENvbmZpZ31cbiAgICAgICAgICAgICAgICBvcHRpb25zPXt1aVN0YXRlLmV4cG9ydE1hcH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZUV4cG9ydE1hcEZvcm1hdD17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0TWFwRm9ybWF0fVxuICAgICAgICAgICAgICAgIG9uRWRpdFVzZXJNYXBib3hBY2Nlc3NUb2tlbj17dWlTdGF0ZUFjdGlvbnMuc2V0VXNlck1hcGJveEFjY2Vzc1Rva2VufVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlRXhwb3J0TWFwSFRNTE1vZGU9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydEhUTUxNYXBNb2RlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuZXhwb3J0TWFwJyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6ICcnLFxuICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsLFxuICAgICAgICAgICAgICBvbkNvbmZpcm06IHRoaXMuX29uRXhwb3J0TWFwLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uZXhwb3J0J1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgQUREX01BUF9TVFlMRV9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8QWRkTWFwU3R5bGVNb2RhbFxuICAgICAgICAgICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuPXt0aGlzLnByb3BzLm1hcGJveEFwaUFjY2Vzc1Rva2VufVxuICAgICAgICAgICAgICAgIG1hcGJveEFwaVVybD17dGhpcy5wcm9wcy5tYXBib3hBcGlVcmx9XG4gICAgICAgICAgICAgICAgbWFwU3RhdGU9e3RoaXMucHJvcHMubWFwU3RhdGV9XG4gICAgICAgICAgICAgICAgaW5wdXRTdHlsZT17bWFwU3R5bGUuaW5wdXRTdHlsZX1cbiAgICAgICAgICAgICAgICBpbnB1dE1hcFN0eWxlPXt0aGlzLnByb3BzLm1hcFN0eWxlQWN0aW9ucy5pbnB1dE1hcFN0eWxlfVxuICAgICAgICAgICAgICAgIGxvYWRDdXN0b21NYXBTdHlsZT17dGhpcy5wcm9wcy5tYXBTdHlsZUFjdGlvbnMubG9hZEN1c3RvbU1hcFN0eWxlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuYWRkQ3VzdG9tTWFwYm94U3R5bGUnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fb25BZGRDdXN0b21NYXBTdHlsZSxcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiAhbWFwU3R5bGUuaW5wdXRTdHlsZS51cmwgfHwgIW1hcFN0eWxlLmlucHV0U3R5bGUubGFiZWwsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uYWRkU3R5bGUnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFNBVkVfTUFQX0lEOlxuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxTYXZlTWFwTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4ucHJvdmlkZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICBleHBvcnRJbWFnZT17dWlTdGF0ZS5leHBvcnRJbWFnZX1cbiAgICAgICAgICAgICAgICBtYXBJbmZvPXt2aXNTdGF0ZS5tYXBJbmZvfVxuICAgICAgICAgICAgICAgIG9uU2V0TWFwSW5mbz17dmlzU3RhdGVBY3Rpb25zLnNldE1hcEluZm99XG4gICAgICAgICAgICAgICAgY2xlYW51cEV4cG9ydEltYWdlPXt1aVN0YXRlQWN0aW9ucy5jbGVhbnVwRXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgICAgb25VcGRhdGVJbWFnZVNldHRpbmc9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydEltYWdlU2V0dGluZ31cbiAgICAgICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5fY2xvc2VNb2RhbH1cbiAgICAgICAgICAgICAgICBvbkNvbmZpcm09e3Byb3ZpZGVyID0+IHRoaXMuX29uU2F2ZU1hcChwcm92aWRlciwgZmFsc2UpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuc2F2ZU1hcCcsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgZm9vdGVyOiBmYWxzZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgT1ZFUldSSVRFX01BUF9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8T3ZlcldyaXRlTWFwTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4ucHJvdmlkZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICB0aXRsZT17Z2V0KHZpc1N0YXRlLCBbJ21hcEluZm8nLCAndGl0bGUnXSl9XG4gICAgICAgICAgICAgICAgb25VcGRhdGVJbWFnZVNldHRpbmc9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydEltYWdlU2V0dGluZ31cbiAgICAgICAgICAgICAgICBjbGVhbnVwRXhwb3J0SW1hZ2U9e3VpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZX1cbiAgICAgICAgICAgICAgICBvbkNvbmZpcm09e3RoaXMuX29uT3ZlcndyaXRlTWFwfVxuICAgICAgICAgICAgICAgIG9uQ2FuY2VsPXt0aGlzLl9jbG9zZU1vZGFsfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnT3ZlcndyaXRlIEV4aXN0aW5nIEZpbGU/JyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6IHNtYWxsTW9kYWxDc3MsXG4gICAgICAgICAgICAgIGZvb3RlcjogZmFsc2VcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFNIQVJFX01BUF9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8U2hhcmVNYXBNb2RhbFxuICAgICAgICAgICAgICAgIHsuLi5wcm92aWRlclN0YXRlfVxuICAgICAgICAgICAgICAgIG9uRXhwb3J0PXt0aGlzLl9vblNoYXJlTWFwVXJsfVxuICAgICAgICAgICAgICAgIGNsZWFudXBFeHBvcnRJbWFnZT17dWlTdGF0ZUFjdGlvbnMuY2xlYW51cEV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRJbWFnZVNldHRpbmd9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5zaGFyZVVSTCcsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX29uQ2xvc2VTYXZlTWFwXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByb290Tm9kZSA/IChcbiAgICAgICAgPE1vZGFsRGlhbG9nXG4gICAgICAgICAgcGFyZW50U2VsZWN0b3I9eygpID0+IGZpbmRET01Ob2RlKHJvb3ROb2RlKSBhcyBIVE1MRWxlbWVudH1cbiAgICAgICAgICBpc09wZW49e0Jvb2xlYW4oY3VycmVudE1vZGFsKX1cbiAgICAgICAgICBvbkNhbmNlbD17dGhpcy5fY2xvc2VNb2RhbH1cbiAgICAgICAgICB7Li4ubW9kYWxQcm9wc31cbiAgICAgICAgICBjc3NTdHlsZT17RGVmYXVsdFN0eWxlLmNvbmNhdChtb2RhbFByb3BzLmNzc1N0eWxlKX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0ZW1wbGF0ZX1cbiAgICAgICAgPC9Nb2RhbERpYWxvZz5cbiAgICAgICkgOiBudWxsO1xuICAgIH1cbiAgICAvKiBlc2xpbnQtZW5hYmxlIGNvbXBsZXhpdHkgKi9cbiAgfVxuXG4gIHJldHVybiBNb2RhbENvbnRhaW5lcjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxTQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFFQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxTQUFBLEdBQUFOLE9BQUE7QUFPQSxJQUFBTyxNQUFBLEdBQUFQLE9BQUE7QUFFQSxJQUFBUSxZQUFBLEdBQUFMLHNCQUFBLENBQUFILE9BQUE7QUFHQSxJQUFBUyxnQkFBQSxHQUFBTixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQVUsa0JBQUEsR0FBQVAsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFXLGVBQUEsR0FBQVIsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFZLGNBQUEsR0FBQVQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFhLGlCQUFBLEdBQUFWLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBYyxnQkFBQSxHQUFBWCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQWUsZUFBQSxHQUFBWixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQWdCLGlCQUFBLEdBQUFiLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBaUIsYUFBQSxHQUFBZCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQWtCLGNBQUEsR0FBQWYsc0JBQUEsQ0FBQUgsT0FBQTtBQUdBLElBQUFtQixPQUFBLEdBQUFuQixPQUFBO0FBNkJBLElBQUFvQixTQUFBLEdBQUFwQixPQUFBO0FBQXNDLElBQUFxQixlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBOUR0QztBQUNBO0FBbUJBO0FBWUE7QUFHQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBL0Isd0JBQUErQixDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLGNBQUFSLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FBQUEsU0FBQVcsUUFBQW5CLENBQUEsRUFBQUUsQ0FBQSxRQUFBQyxDQUFBLEdBQUFRLE1BQUEsQ0FBQVMsSUFBQSxDQUFBcEIsQ0FBQSxPQUFBVyxNQUFBLENBQUFVLHFCQUFBLFFBQUFDLENBQUEsR0FBQVgsTUFBQSxDQUFBVSxxQkFBQSxDQUFBckIsQ0FBQSxHQUFBRSxDQUFBLEtBQUFvQixDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBckIsQ0FBQSxXQUFBUyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQUUsQ0FBQSxFQUFBc0IsVUFBQSxPQUFBckIsQ0FBQSxDQUFBc0IsSUFBQSxDQUFBQyxLQUFBLENBQUF2QixDQUFBLEVBQUFtQixDQUFBLFlBQUFuQixDQUFBO0FBQUEsU0FBQXdCLGNBQUEzQixDQUFBLGFBQUFFLENBQUEsTUFBQUEsQ0FBQSxHQUFBMEIsU0FBQSxDQUFBQyxNQUFBLEVBQUEzQixDQUFBLFVBQUFDLENBQUEsV0FBQXlCLFNBQUEsQ0FBQTFCLENBQUEsSUFBQTBCLFNBQUEsQ0FBQTFCLENBQUEsUUFBQUEsQ0FBQSxPQUFBaUIsT0FBQSxDQUFBUixNQUFBLENBQUFSLENBQUEsT0FBQTJCLE9BQUEsV0FBQTVCLENBQUEsUUFBQTZCLGdCQUFBLGFBQUEvQixDQUFBLEVBQUFFLENBQUEsRUFBQUMsQ0FBQSxDQUFBRCxDQUFBLFNBQUFTLE1BQUEsQ0FBQXFCLHlCQUFBLEdBQUFyQixNQUFBLENBQUFzQixnQkFBQSxDQUFBakMsQ0FBQSxFQUFBVyxNQUFBLENBQUFxQix5QkFBQSxDQUFBN0IsQ0FBQSxLQUFBZ0IsT0FBQSxDQUFBUixNQUFBLENBQUFSLENBQUEsR0FBQTJCLE9BQUEsV0FBQTVCLENBQUEsSUFBQVMsTUFBQSxDQUFBQyxjQUFBLENBQUFaLENBQUEsRUFBQUUsQ0FBQSxFQUFBUyxNQUFBLENBQUFFLHdCQUFBLENBQUFWLENBQUEsRUFBQUQsQ0FBQSxpQkFBQUYsQ0FBQTtBQUFBLFNBQUFrQyxXQUFBL0IsQ0FBQSxFQUFBbUIsQ0FBQSxFQUFBdEIsQ0FBQSxXQUFBc0IsQ0FBQSxPQUFBYSxnQkFBQSxhQUFBYixDQUFBLE9BQUFjLDJCQUFBLGFBQUFqQyxDQUFBLEVBQUFrQyx5QkFBQSxLQUFBQyxPQUFBLENBQUFDLFNBQUEsQ0FBQWpCLENBQUEsRUFBQXRCLENBQUEsWUFBQW1DLGdCQUFBLGFBQUFoQyxDQUFBLEVBQUFxQyxXQUFBLElBQUFsQixDQUFBLENBQUFJLEtBQUEsQ0FBQXZCLENBQUEsRUFBQUgsQ0FBQTtBQUFBLFNBQUFxQywwQkFBQSxjQUFBbEMsQ0FBQSxJQUFBc0MsT0FBQSxDQUFBQyxTQUFBLENBQUFDLE9BQUEsQ0FBQTNCLElBQUEsQ0FBQXNCLE9BQUEsQ0FBQUMsU0FBQSxDQUFBRSxPQUFBLGlDQUFBdEMsQ0FBQSxhQUFBa0MseUJBQUEsWUFBQUEsMEJBQUEsYUFBQWxDLENBQUE7QUE4QkEsSUFBTXlDLG1CQUFtQixPQUFHQyxxQkFBRyxFQUFBdEQsZUFBQSxLQUFBQSxlQUFBLE9BQUF1RCx1QkFBQSx3R0FNM0JDLGFBQUssQ0FBQ0MsUUFBUSxDQUFBeEQsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQXNELHVCQUFBLDJDQUVYQyxhQUFLLENBQUNFLElBQUksQ0FBQXhELGdCQUFBLEtBQUFBLGdCQUFBLE9BQUFxRCx1QkFBQSwrREFJaEI7QUFDRCxJQUFNSSxhQUFhLE9BQUdMLHFCQUFHLEVBQUFuRCxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBb0QsdUJBQUEsc0VBR3hCO0FBRUQsSUFBTUssa0JBQWtCLE9BQUdOLHFCQUFHLEVBQUFsRCxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBbUQsdUJBQUEsb0NBRTdCO0FBRUQsSUFBTU0sWUFBWSxPQUFHUCxxQkFBRyxFQUFBakQsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQWtELHVCQUFBLDJDQUV2QjtBQTBCRE8scUJBQXFCLENBQUNDLElBQUksR0FBRyxDQUMzQkMsMkJBQXlCLEVBQ3pCQyw2QkFBd0IsRUFDeEJDLDBCQUFxQixFQUNyQkMseUJBQW9CLEVBQ3BCQyw0QkFBdUIsRUFDdkJDLDJCQUFzQixFQUN0QkMsMEJBQXFCLEVBQ3JCQyw0QkFBdUIsRUFDdkJDLHVCQUFrQixFQUNsQkMsd0JBQW1CLEVBQ25CQyx5QkFBb0IsQ0FDckI7QUFFYyxTQUFTWixxQkFBcUJBLENBQzNDYSxrQkFBZ0UsRUFDaEVDLGlCQUE4RCxFQUM5REMsY0FBd0QsRUFDeERDLGFBQXNELEVBQ3REQyxnQkFBNEQsRUFDNURDLGVBQTBELEVBQzFEQyxjQUF3RCxFQUN4REMsZ0JBQTRELEVBQzVEQyxXQUFrRCxFQUNsREMsWUFBb0QsRUFDcERDLGFBQXNELEVBQ2Q7RUFDeEM7RUFBQSxJQUNNQyxjQUFjLDBCQUFBQyxVQUFBO0lBQUEsU0FBQUQsZUFBQTtNQUFBLElBQUFFLEtBQUE7TUFBQSxJQUFBQyxnQkFBQSxtQkFBQUgsY0FBQTtNQUFBLFNBQUFJLElBQUEsR0FBQXJELFNBQUEsQ0FBQUMsTUFBQSxFQUFBcUQsSUFBQSxPQUFBQyxLQUFBLENBQUFGLElBQUEsR0FBQUcsSUFBQSxNQUFBQSxJQUFBLEdBQUFILElBQUEsRUFBQUcsSUFBQTtRQUFBRixJQUFBLENBQUFFLElBQUEsSUFBQXhELFNBQUEsQ0FBQXdELElBQUE7TUFBQTtNQUFBTCxLQUFBLEdBQUE3QyxVQUFBLE9BQUEyQyxjQUFBLEtBQUFRLE1BQUEsQ0FBQUgsSUFBQTtNQUNsQjtNQUFBLElBQUFuRCxnQkFBQSxhQUFBZ0QsS0FBQSx1QkFDb0IsWUFBTTtRQUN4Qk8sb0JBQVEsQ0FBQ0MsZ0JBQWdCLENBQUMsT0FBTyxFQUFFUixLQUFBLENBQUtTLFFBQVEsQ0FBQztNQUNuRCxDQUFDO01BQUEsSUFBQXpELGdCQUFBLGFBQUFnRCxLQUFBLGNBS1UsVUFBQVUsS0FBSyxFQUFJO1FBQ2xCLElBQU1DLE9BQU8sR0FBR0QsS0FBSyxDQUFDQyxPQUFPO1FBQzdCLElBQUlBLE9BQU8sS0FBS0MsbUJBQVEsQ0FBQ0MsYUFBYSxFQUFFO1VBQ3RDYixLQUFBLENBQUtjLFdBQVcsQ0FBQyxDQUFDO1FBQ3BCO01BQ0YsQ0FBQztNQUFBLElBQUE5RCxnQkFBQSxhQUFBZ0QsS0FBQSxpQkFFYSxZQUFNO1FBQ2xCQSxLQUFBLENBQUtlLEtBQUssQ0FBQ0MsY0FBYyxDQUFDQyxXQUFXLENBQUMsSUFBSSxDQUFDO01BQzdDLENBQUM7TUFBQSxJQUFBakUsZ0JBQUEsYUFBQWdELEtBQUEsb0JBRWdCLFVBQUFrQixHQUFHLEVBQUk7UUFDdEJsQixLQUFBLENBQUtlLEtBQUssQ0FBQ0ksZUFBZSxDQUFDQyxhQUFhLENBQUNGLEdBQUcsQ0FBQztRQUM3Q2xCLEtBQUEsQ0FBS2MsV0FBVyxDQUFDLENBQUM7TUFDcEIsQ0FBQztNQUFBLElBQUE5RCxnQkFBQSxhQUFBZ0QsS0FBQSwwQkFFc0IsWUFBTTtRQUMzQkEsS0FBQSxDQUFLZSxLQUFLLENBQUNNLGVBQWUsQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQztRQUM5Q3RCLEtBQUEsQ0FBS2MsV0FBVyxDQUFDLENBQUM7TUFDcEIsQ0FBQztNQUFBLElBQUE5RCxnQkFBQSxhQUFBZ0QsS0FBQSxtQkFFZSxVQUFBdUIsUUFBUSxFQUFJO1FBQzFCdkIsS0FBQSxDQUFLZSxLQUFLLENBQUNJLGVBQWUsQ0FBQ0ssU0FBUyxDQUFDRCxRQUFRLENBQUM7TUFDaEQsQ0FBQztNQUFBLElBQUF2RSxnQkFBQSxhQUFBZ0QsS0FBQSxxQkFFaUIsVUFDaEJ5QixPQUFvRSxFQUNwRUMsaUJBQXVDLEVBQ3BDO1FBQ0gxQixLQUFBLENBQUtlLEtBQUssQ0FBQ0ksZUFBZSxDQUFDUSxhQUFhLENBQ3RDO1VBQ0VDLElBQUksRUFBRTtZQUFDQyxLQUFLLEVBQUVKLE9BQU8sQ0FBQ0ssSUFBSTtZQUFFQyxJQUFJLEVBQUVOLE9BQU8sQ0FBQ00sSUFBSTtZQUFFQyxNQUFNLEVBQUU7VUFBTSxDQUFDO1VBQy9EQyxJQUFJLEVBQUU7WUFDSkMsTUFBTSxFQUFFLENBQUFSLGlCQUFpQixhQUFqQkEsaUJBQWlCLHVCQUFqQkEsaUJBQWlCLENBQUVRLE1BQU0sS0FBSSxFQUFFO1lBQ3ZDQyxJQUFJLEVBQUU7VUFDUixDQUFDO1VBQ0RDLFFBQVEsRUFBQXhGLGFBQUEsQ0FBQUEsYUFBQSxLQUNIOEUsaUJBQWlCLEdBQ2pCRCxPQUFPLENBQUNXLFFBQVEsQ0FDcEI7VUFDRDtVQUNBQyxvQkFBb0IsRUFBRSxDQUFDQywwQkFBZSxDQUFDQyxJQUFJLEVBQUVELDBCQUFlLENBQUNFLE9BQU8sQ0FBQztVQUNyRUMsb0JBQW9CLEVBQUU7UUFDeEIsQ0FBQyxFQUNEO1VBQ0VDLGdCQUFnQixFQUFFO1FBQ3BCLENBQ0YsQ0FBQztRQUNEMUMsS0FBQSxDQUFLYyxXQUFXLENBQUMsQ0FBQztNQUNwQixDQUFDO01BQUEsSUFBQTlELGdCQUFBLGFBQUFnRCxLQUFBLG9CQUVnQixZQUFNO1FBQ3JCLElBQUksQ0FBQ0EsS0FBQSxDQUFLZSxLQUFLLENBQUM0QixPQUFPLENBQUNDLFdBQVcsQ0FBQ0MsVUFBVSxFQUFFO1VBQzlDLElBQUFELGtCQUFXLEVBQUM1QyxLQUFBLENBQUtlLEtBQUssQ0FBQzRCLE9BQU8sQ0FBQ0MsV0FBVyxLQUFBdEMsTUFBQSxDQUFLTixLQUFBLENBQUtlLEtBQUssQ0FBQytCLE9BQU8sU0FBTSxDQUFDO1VBQ3hFOUMsS0FBQSxDQUFLZSxLQUFLLENBQUNDLGNBQWMsQ0FBQytCLGtCQUFrQixDQUFDLENBQUM7VUFDOUMvQyxLQUFBLENBQUtjLFdBQVcsQ0FBQyxDQUFDO1FBQ3BCO01BQ0YsQ0FBQztNQUFBLElBQUE5RCxnQkFBQSxhQUFBZ0QsS0FBQSxtQkFFZSxZQUFNO1FBQ3BCLElBQUFnRCxvQkFBVSxFQUFDaEQsS0FBQSxDQUFLZSxLQUFLLEVBQUVmLEtBQUEsQ0FBS2UsS0FBSyxDQUFDNEIsT0FBTyxDQUFDSyxVQUFVLENBQUM7UUFDckRoRCxLQUFBLENBQUtjLFdBQVcsQ0FBQyxDQUFDO01BQ3BCLENBQUM7TUFBQSxJQUFBOUQsZ0JBQUEsYUFBQWdELEtBQUEsa0JBRWMsWUFBTTtRQUNuQixJQUFPMkMsT0FBTyxHQUFJM0MsS0FBQSxDQUFLZSxLQUFLLENBQXJCNEIsT0FBTztRQUNkLElBQU9YLE1BQU0sR0FBSVcsT0FBTyxDQUFDTSxTQUFTLENBQTNCakIsTUFBTTtRQUNiLENBQUNBLE1BQU0sS0FBS2tCLDZCQUFrQixDQUFDQyxJQUFJLEdBQUdDLGlCQUFVLEdBQUdDLGlCQUFVLEVBQzNEckQsS0FBQSxDQUFLZSxLQUFLLEVBQ1ZmLEtBQUEsQ0FBS2UsS0FBSyxDQUFDNEIsT0FBTyxDQUFDTSxTQUFTLENBQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLENBQzNDLENBQUM7UUFDRGhDLEtBQUEsQ0FBS2MsV0FBVyxDQUFDLENBQUM7TUFDcEIsQ0FBQztNQUFBLElBQUE5RCxnQkFBQSxhQUFBZ0QsS0FBQSx3QkFFb0IsVUFBQXNELElBQUEsRUFBaUQ7UUFBQSxJQUEvQ0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7VUFBRUMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7VUFBRUMsU0FBUyxHQUFBSCxJQUFBLENBQVRHLFNBQVM7VUFBRUMsVUFBVSxHQUFBSixJQUFBLENBQVZJLFVBQVU7UUFDOUQsSUFBTUMsTUFBTSxHQUFHLElBQUFWLGdCQUFTLEVBQUNqRCxLQUFBLENBQUtlLEtBQUssQ0FBQztRQUVwQ2YsS0FBQSxDQUFLZSxLQUFLLENBQUM2QyxlQUFlLENBQUNDLGlCQUFpQixDQUFDO1VBQzNDO1VBQ0FDLE9BQU8sRUFBRUgsTUFBTTtVQUNmSixRQUFRLEVBQVJBLFFBQVE7VUFDUlEsT0FBTyxFQUFFO1lBQ1BQLFFBQVEsRUFBUkEsUUFBUTtZQUNSQyxTQUFTLEVBQVRBO1VBQ0YsQ0FBQztVQUNEQyxVQUFVLEVBQVZBLFVBQVU7VUFDVk0sU0FBUyxFQUFFaEUsS0FBQSxDQUFLZSxLQUFLLENBQUNrRCxzQkFBc0I7VUFDNUNDLE9BQU8sRUFBRWxFLEtBQUEsQ0FBS2UsS0FBSyxDQUFDb0Q7UUFDdEIsQ0FBQyxDQUFDO01BQ0osQ0FBQztNQUFBLElBQUFuSCxnQkFBQSxhQUFBZ0QsS0FBQSxnQkFFWSxVQUFDdUQsUUFBUSxFQUF3QjtRQUFBLElBQXRCRSxTQUFTLEdBQUE1RyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBdUgsU0FBQSxHQUFBdkgsU0FBQSxNQUFHLEtBQUs7UUFDdkNtRCxLQUFBLENBQUtxRSxrQkFBa0IsQ0FBQztVQUN0QmQsUUFBUSxFQUFSQSxRQUFRO1VBQ1JDLFFBQVEsRUFBRSxLQUFLO1VBQ2ZDLFNBQVMsRUFBVEEsU0FBUztVQUNUQyxVQUFVLEVBQUU7UUFDZCxDQUFDLENBQUM7TUFDSixDQUFDO01BQUEsSUFBQTFHLGdCQUFBLGFBQUFnRCxLQUFBLHFCQUVpQixZQUFNO1FBQ3RCQSxLQUFBLENBQUtzRSxVQUFVLENBQUMsSUFBSSxDQUFDO01BQ3ZCLENBQUM7TUFBQSxJQUFBdEgsZ0JBQUEsYUFBQWdELEtBQUEsb0JBRWdCLFVBQUF1RCxRQUFRLEVBQUk7UUFDM0J2RCxLQUFBLENBQUtxRSxrQkFBa0IsQ0FBQztVQUFDZCxRQUFRLEVBQVJBLFFBQVE7VUFBRUMsUUFBUSxFQUFFLElBQUk7VUFBRUMsU0FBUyxFQUFFLEtBQUs7VUFBRUMsVUFBVSxFQUFFO1FBQUssQ0FBQyxDQUFDO01BQzFGLENBQUM7TUFBQSxJQUFBMUcsZ0JBQUEsYUFBQWdELEtBQUEscUJBRWlCLFlBQU07UUFDdEJBLEtBQUEsQ0FBS2UsS0FBSyxDQUFDNkMsZUFBZSxDQUFDVyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hEdkUsS0FBQSxDQUFLYyxXQUFXLENBQUMsQ0FBQztNQUNwQixDQUFDO01BQUEsSUFBQTlELGdCQUFBLGFBQUFnRCxLQUFBLHFCQUVpQixVQUFBd0UsT0FBTyxFQUFJO1FBQzNCeEUsS0FBQSxDQUFLZSxLQUFLLENBQUM2QyxlQUFlLENBQUNhLFlBQVksQ0FBQTdILGFBQUEsQ0FBQUEsYUFBQSxLQUNsQzRILE9BQU87VUFDVlIsU0FBUyxFQUFFaEUsS0FBQSxDQUFLZSxLQUFLLENBQUMyRCxxQkFBcUI7VUFDM0NSLE9BQU8sRUFBRWxFLEtBQUEsQ0FBS2UsS0FBSyxDQUFDNEQ7UUFBbUIsRUFDeEMsQ0FBQztNQUNKLENBQUM7TUFBQSxPQUFBM0UsS0FBQTtJQUFBO0lBQUEsSUFBQTRFLFVBQUEsYUFBQTlFLGNBQUEsRUFBQUMsVUFBQTtJQUFBLFdBQUE4RSxhQUFBLGFBQUEvRSxjQUFBO01BQUFvQixHQUFBO01BQUE0RCxLQUFBLEVBM0hELFNBQUFDLG9CQUFvQkEsQ0FBQSxFQUFHO1FBQ3JCeEUsb0JBQVEsQ0FBQ3lFLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUN2RSxRQUFRLENBQUM7TUFDdEQ7SUFBQztNQUFBUyxHQUFBO01BQUE0RCxLQUFBLEVBMkhEO01BQ0EsU0FBQUcsTUFBTUEsQ0FBQSxFQUFHO1FBQUEsSUFBQUMsTUFBQTtRQUNQLElBQUFDLFdBQUEsR0FXSSxJQUFJLENBQUNwRSxLQUFLO1VBVlpxRSxVQUFVLEdBQUFELFdBQUEsQ0FBVkMsVUFBVTtVQUNWQyxVQUFVLEdBQUFGLFdBQUEsQ0FBVkUsVUFBVTtVQUNWQyxRQUFRLEdBQUFILFdBQUEsQ0FBUkcsUUFBUTtVQUNSQyxRQUFRLEdBQUFKLFdBQUEsQ0FBUkksUUFBUTtVQUNSNUMsT0FBTyxHQUFBd0MsV0FBQSxDQUFQeEMsT0FBTztVQUNQNkMsUUFBUSxHQUFBTCxXQUFBLENBQVJLLFFBQVE7VUFDUkMsUUFBUSxHQUFBTixXQUFBLENBQVJNLFFBQVE7VUFDUnRFLGVBQWUsR0FBQWdFLFdBQUEsQ0FBZmhFLGVBQWU7VUFDZkgsY0FBYyxHQUFBbUUsV0FBQSxDQUFkbkUsY0FBYztVQUNkMEUsYUFBYSxHQUFBUCxXQUFBLENBQWJPLGFBQWE7UUFFZixJQUFPQyxZQUFZLEdBQXdCaEQsT0FBTyxDQUEzQ2dELFlBQVk7VUFBRUMsa0JBQWtCLEdBQUlqRCxPQUFPLENBQTdCaUQsa0JBQWtCO1FBQ3ZDLElBQU9DLFFBQVEsR0FBNEJMLFFBQVEsQ0FBNUNLLFFBQVE7VUFBRUMsTUFBTSxHQUFvQk4sUUFBUSxDQUFsQ00sTUFBTTtVQUFFQyxjQUFjLEdBQUlQLFFBQVEsQ0FBMUJPLGNBQWM7UUFFdkMsSUFBSUMsUUFBNEIsR0FBRyxJQUFJO1FBQ3ZDLElBQUlDLFVBQXFDLEdBQUcsQ0FBQyxDQUFDOztRQUU5QztRQUNBO1FBQ0EsSUFBSU4sWUFBWSxJQUFJQSxZQUFZLENBQUNPLEVBQUUsSUFBSVAsWUFBWSxDQUFDSyxRQUFRLEVBQUU7VUFDNUQ7VUFDQTtVQUNBO1VBQ0FBLFFBQVEsZ0JBQUcvTSxNQUFBLFlBQUFrTixhQUFBLENBQUNSLFlBQVksQ0FBQ0ssUUFBUSxNQUFFLENBQUM7VUFDcEM7VUFDQUMsVUFBVSxHQUFHTixZQUFZLENBQUNNLFVBQVU7UUFDdEMsQ0FBQyxNQUFNO1VBQ0wsUUFBUU4sWUFBWTtZQUNsQixLQUFLUyx3QkFBYTtjQUFFO2dCQUNsQixJQUFNQyxLQUFLLEdBQUdqQixVQUFVLEdBQUcsR0FBRztnQkFDOUJZLFFBQVEsZ0JBQ04vTSxNQUFBLFlBQUFrTixhQUFBLENBQUM5RyxjQUFjO2tCQUNid0csUUFBUSxFQUFFQSxRQUFTO2tCQUNuQlMsTUFBTSxFQUFFUCxjQUFlO2tCQUN2QlEsZ0JBQWdCLEVBQUVwRixlQUFlLENBQUNvRixnQkFBaUI7a0JBQ25EQyxlQUFlLEVBQUVyRixlQUFlLENBQUNxRixlQUFnQjtrQkFDakRDLGNBQWMsRUFBRXRGLGVBQWUsQ0FBQ3NGLGNBQWU7a0JBQy9DQyxlQUFlLEVBQUV2RixlQUFlLENBQUN1RixlQUFnQjtrQkFDakRDLHNCQUFzQixFQUFFeEYsZUFBZSxDQUFDd0Ysc0JBQXVCO2tCQUMvRDNGLGNBQWMsRUFBRUEsY0FBZTtrQkFDL0IyQixPQUFPLEVBQUVBO2dCQUFRLENBQ2xCLENBQ0Y7O2dCQUVEO2dCQUNBO2dCQUNBc0QsVUFBVSxDQUFDVyxRQUFRLE9BQUc5SSxxQkFBRyxFQUFBaEQsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQWlELHVCQUFBLDZFQUNyQkYsbUJBQW1CLEVBQ25CRyxhQUFLLENBQUNFLElBQUksQ0FBQW5ELGdCQUFBLEtBQUFBLGdCQUFBLE9BQUFnRCx1QkFBQSxxRUFDRHNJLEtBQUssRUFFakI7Z0JBQ0Q7Y0FDRjtZQUNBLEtBQUtRLHlCQUFjO2NBQUU7Z0JBQ25CO2dCQUNBLElBQUlqQixrQkFBa0IsSUFBSUMsUUFBUSxJQUFJQSxRQUFRLENBQUNELGtCQUFrQixDQUFDLEVBQUU7a0JBQ2xFSSxRQUFRLGdCQUNOL00sTUFBQSxZQUFBa04sYUFBQSxDQUFDaEgsa0JBQWtCO29CQUFDMkgsT0FBTyxFQUFFakIsUUFBUSxDQUFDRCxrQkFBa0IsQ0FBRTtvQkFBQ0UsTUFBTSxFQUFFQTtrQkFBTyxDQUFFLENBQzdFO2tCQUNERyxVQUFVLEdBQUc7b0JBQ1hjLEtBQUssRUFBRSwyQkFBMkI7b0JBQ2xDSCxRQUFRLEVBQUV6SSxhQUFhO29CQUN2QjZJLE1BQU0sRUFBRSxJQUFJO29CQUNaQyxTQUFTLEVBQUUsU0FBWEEsU0FBU0EsQ0FBQTtzQkFBQSxPQUFRL0IsTUFBSSxDQUFDZ0MsY0FBYyxDQUFDdEIsa0JBQWtCLENBQUM7b0JBQUE7b0JBQ3hEdUIsUUFBUSxFQUFFLElBQUksQ0FBQ3JHLFdBQVc7b0JBQzFCc0csYUFBYSxFQUFFO3NCQUNiQyxRQUFRLEVBQUUsSUFBSTtzQkFDZEMsS0FBSyxFQUFFLElBQUk7c0JBQ1hDLFFBQVEsRUFBRTtvQkFDWjtrQkFDRixDQUFDO2dCQUNIO2dCQUNBLE1BQU0sQ0FBQztjQUNUO1lBQ0EsS0FBS0Msc0JBQVc7Y0FDZHhCLFFBQVEsZ0JBQ04vTSxNQUFBLFlBQUFrTixhQUFBLENBQUM3RyxhQUFhLE1BQUFtSSxTQUFBLGlCQUNSL0IsYUFBYTtnQkFDakJnQyxPQUFPLEVBQUUsSUFBSSxDQUFDNUcsV0FBWTtnQkFDMUI2RyxZQUFZLEVBQUUsSUFBSSxDQUFDQyxhQUFjO2dCQUNqQ0MsY0FBYyxFQUFFLElBQUksQ0FBQ0MsZUFBZ0I7Z0JBQ3JDQyxjQUFjLEVBQUUsSUFBSSxDQUFDQyxlQUFnQjtnQkFDckN4RyxTQUFTLEVBQUVtQixPQUFPLENBQUNuQixTQUFVO2dCQUM3QnlHLFdBQVcsRUFBRXpDLFFBQVEsQ0FBQ3lDLFdBQVk7Z0JBQ2xDQyxtQkFBbUIsRUFBRTFDLFFBQVEsQ0FBQzBDLG1CQUFvQjtnQkFDbERDLGVBQWUsRUFBRSxJQUFBQyw0QkFBa0IsRUFBQyxJQUFJLENBQUNySCxLQUFLLENBQUN5RSxRQUFRLENBQUU7Z0JBQ3pENkMsY0FBYyxFQUFFLElBQUFDLDJCQUFpQixFQUFDLElBQUksQ0FBQ3ZILEtBQUssQ0FBQ3lFLFFBQVE7Y0FBRSxFQUN4RCxDQUNGO2NBQ0RTLFVBQVUsR0FBRztnQkFDWGMsS0FBSyxFQUFFLDBCQUEwQjtnQkFDakNILFFBQVEsRUFBRXhJLGtCQUFrQjtnQkFDNUI0SSxNQUFNLEVBQUUsS0FBSztnQkFDYkMsU0FBUyxFQUFFLElBQUksQ0FBQ25HO2NBQ2xCLENBQUM7Y0FDRDtZQUNGLEtBQUt5SCwwQkFBZTtjQUNsQnZDLFFBQVEsZ0JBQ04vTSxNQUFBLFlBQUFrTixhQUFBLENBQUM1RyxnQkFBZ0I7Z0JBQ2ZxRCxXQUFXLEVBQUVELE9BQU8sQ0FBQ0MsV0FBWTtnQkFDakM0RixJQUFJLEVBQUVwRCxVQUFXO2dCQUNqQnFELElBQUksRUFBRXBELFVBQVc7Z0JBQ2pCcUQsb0JBQW9CLEVBQUUxSCxjQUFjLENBQUMySCxxQkFBc0I7Z0JBQzNENUYsa0JBQWtCLEVBQUUvQixjQUFjLENBQUMrQjtjQUFtQixDQUN2RCxDQUNGO2NBQ0RrRCxVQUFVLEdBQUc7Z0JBQ1hjLEtBQUssRUFBRSx5QkFBeUI7Z0JBQ2hDSCxRQUFRLEVBQUUsRUFBRTtnQkFDWkksTUFBTSxFQUFFLElBQUk7Z0JBQ1pHLFFBQVEsRUFBRSxJQUFJLENBQUNyRyxXQUFXO2dCQUMxQm1HLFNBQVMsRUFBRSxJQUFJLENBQUMyQixjQUFjO2dCQUM5QnhCLGFBQWEsRUFBRTtrQkFDYkUsS0FBSyxFQUFFLElBQUk7a0JBQ1h1QixRQUFRLEVBQUVsRyxPQUFPLENBQUNDLFdBQVcsQ0FBQ0MsVUFBVTtrQkFDeEMwRSxRQUFRLEVBQUU7Z0JBQ1o7Y0FDRixDQUFDO2NBQ0Q7WUFDRixLQUFLdUIseUJBQWM7Y0FDakI5QyxRQUFRLGdCQUNOL00sTUFBQSxZQUFBa04sYUFBQSxDQUFDM0csZUFBZSxNQUFBaUksU0FBQSxpQkFDVjlFLE9BQU8sQ0FBQ0ssVUFBVTtnQkFDdEIrRixrQkFBa0IsRUFBRUMsbUNBQXlCO2dCQUM3Q25ELFFBQVEsRUFBRUEsUUFBUztnQkFDbkJvRCxjQUFjLEVBQUUsSUFBSSxDQUFDbEksS0FBSyxDQUFDSSxlQUFlLENBQUM4SCxjQUFlO2dCQUMxREMsc0JBQXNCLEVBQUVsSSxjQUFjLENBQUNtSSxpQkFBa0I7Z0JBQ3pEQyw2QkFBNkIsRUFBRXBJLGNBQWMsQ0FBQ3FJLHdCQUF5QjtnQkFDdkVDLHNCQUFzQixFQUFFdEksY0FBYyxDQUFDdUk7Y0FBa0IsRUFDMUQsQ0FDRjtjQUNEdEQsVUFBVSxHQUFHO2dCQUNYYyxLQUFLLEVBQUUsd0JBQXdCO2dCQUMvQkgsUUFBUSxFQUFFLEVBQUU7Z0JBQ1pJLE1BQU0sRUFBRSxJQUFJO2dCQUNaRyxRQUFRLEVBQUUsSUFBSSxDQUFDckcsV0FBVztnQkFDMUJtRyxTQUFTLEVBQUUsSUFBSSxDQUFDdUMsYUFBYTtnQkFDN0JwQyxhQUFhLEVBQUU7a0JBQ2JFLEtBQUssRUFBRSxJQUFJO2tCQUNYQyxRQUFRLEVBQUU7Z0JBQ1o7Y0FDRixDQUFDO2NBQ0Q7WUFDRixLQUFLa0Msd0JBQWE7Y0FBRTtnQkFDbEIsSUFBTUMsY0FBYyxHQUFHbEUsUUFBUSxDQUFDbUUsTUFBTSxDQUFDQyxlQUFlLENBQUM7a0JBQ3JEdEUsUUFBUSxFQUFSQSxRQUFRO2tCQUNSRSxRQUFRLEVBQVJBLFFBQVE7a0JBQ1JELFFBQVEsRUFBUkEsUUFBUTtrQkFDUjVDLE9BQU8sRUFBUEE7Z0JBQ0YsQ0FBQyxDQUFDO2dCQUNGcUQsUUFBUSxnQkFDTi9NLE1BQUEsWUFBQWtOLGFBQUEsQ0FBQzFHLGNBQWM7a0JBQ2JvSyxNQUFNLEVBQUVILGNBQWU7a0JBQ3ZCM0YsT0FBTyxFQUFFcEIsT0FBTyxDQUFDTSxTQUFVO2tCQUMzQjZHLHVCQUF1QixFQUFFOUksY0FBYyxDQUFDK0ksa0JBQW1CO2tCQUMzREMsMkJBQTJCLEVBQUVoSixjQUFjLENBQUNpSix3QkFBeUI7a0JBQ3JFQyx5QkFBeUIsRUFBRWxKLGNBQWMsQ0FBQ21KO2dCQUFxQixDQUNoRSxDQUNGO2dCQUNEbEUsVUFBVSxHQUFHO2tCQUNYYyxLQUFLLEVBQUUsdUJBQXVCO2tCQUM5QkgsUUFBUSxFQUFFLEVBQUU7a0JBQ1pJLE1BQU0sRUFBRSxJQUFJO2tCQUNaRyxRQUFRLEVBQUUsSUFBSSxDQUFDckcsV0FBVztrQkFDMUJtRyxTQUFTLEVBQUUsSUFBSSxDQUFDbUQsWUFBWTtrQkFDNUJoRCxhQUFhLEVBQUU7b0JBQ2JFLEtBQUssRUFBRSxJQUFJO29CQUNYQyxRQUFRLEVBQUU7a0JBQ1o7Z0JBQ0YsQ0FBQztnQkFDRDtjQUNGO1lBQ0EsS0FBSzhDLDJCQUFnQjtjQUNuQnJFLFFBQVEsZ0JBQ04vTSxNQUFBLFlBQUFrTixhQUFBLENBQUN6RyxnQkFBZ0I7Z0JBQ2Y0SyxvQkFBb0IsRUFBRSxJQUFJLENBQUN2SixLQUFLLENBQUN1SixvQkFBcUI7Z0JBQ3REQyxZQUFZLEVBQUUsSUFBSSxDQUFDeEosS0FBSyxDQUFDd0osWUFBYTtnQkFDdENoRixRQUFRLEVBQUUsSUFBSSxDQUFDeEUsS0FBSyxDQUFDd0UsUUFBUztnQkFDOUJpRixVQUFVLEVBQUVsRixRQUFRLENBQUNrRixVQUFXO2dCQUNoQ0MsYUFBYSxFQUFFLElBQUksQ0FBQzFKLEtBQUssQ0FBQ00sZUFBZSxDQUFDb0osYUFBYztnQkFDeERDLGtCQUFrQixFQUFFLElBQUksQ0FBQzNKLEtBQUssQ0FBQ00sZUFBZSxDQUFDcUo7Y0FBbUIsQ0FDbkUsQ0FDRjtjQUNEekUsVUFBVSxHQUFHO2dCQUNYYyxLQUFLLEVBQUUsa0NBQWtDO2dCQUN6Q0gsUUFBUSxFQUFFLEVBQUU7Z0JBQ1pJLE1BQU0sRUFBRSxJQUFJO2dCQUNaRyxRQUFRLEVBQUUsSUFBSSxDQUFDckcsV0FBVztnQkFDMUJtRyxTQUFTLEVBQUUsSUFBSSxDQUFDMEQsb0JBQW9CO2dCQUNwQ3ZELGFBQWEsRUFBRTtrQkFDYkUsS0FBSyxFQUFFLElBQUk7a0JBQ1h1QixRQUFRLEVBQUUsQ0FBQ3ZELFFBQVEsQ0FBQ2tGLFVBQVUsQ0FBQ0ksR0FBRyxJQUFJLENBQUN0RixRQUFRLENBQUNrRixVQUFVLENBQUMzSSxLQUFLO2tCQUNoRTBGLFFBQVEsRUFBRTtnQkFDWjtjQUNGLENBQUM7Y0FDRDtZQUNGLEtBQUtzRCxzQkFBVztjQUNkN0UsUUFBUSxnQkFDTi9NLE1BQUEsWUFBQWtOLGFBQUEsQ0FBQ3ZHLFlBQVksTUFBQTZILFNBQUEsaUJBQ1AvQixhQUFhO2dCQUNqQjlDLFdBQVcsRUFBRUQsT0FBTyxDQUFDQyxXQUFZO2dCQUNqQ2tJLE9BQU8sRUFBRXRGLFFBQVEsQ0FBQ3NGLE9BQVE7Z0JBQzFCQyxZQUFZLEVBQUU1SixlQUFlLENBQUM2SixVQUFXO2dCQUN6Q2pJLGtCQUFrQixFQUFFL0IsY0FBYyxDQUFDK0Isa0JBQW1CO2dCQUN0RDJGLG9CQUFvQixFQUFFMUgsY0FBYyxDQUFDMkgscUJBQXNCO2dCQUMzRHhCLFFBQVEsRUFBRSxJQUFJLENBQUNyRyxXQUFZO2dCQUMzQm1HLFNBQVMsRUFBRSxTQUFYQSxTQUFTQSxDQUFFMUQsUUFBUTtrQkFBQSxPQUFJMkIsTUFBSSxDQUFDWixVQUFVLENBQUNmLFFBQVEsRUFBRSxLQUFLLENBQUM7Z0JBQUE7Y0FBQyxFQUN6RCxDQUNGO2NBQ0QwQyxVQUFVLEdBQUc7Z0JBQ1hjLEtBQUssRUFBRSxxQkFBcUI7Z0JBQzVCSCxRQUFRLEVBQUUsRUFBRTtnQkFDWkksTUFBTSxFQUFFO2NBQ1YsQ0FBQztjQUNEO1lBQ0YsS0FBS2lFLDJCQUFnQjtjQUNuQmpGLFFBQVEsZ0JBQ04vTSxNQUFBLFlBQUFrTixhQUFBLENBQUMvRyxpQkFBaUIsTUFBQXFJLFNBQUEsaUJBQ1ovQixhQUFhO2dCQUNqQnFCLEtBQUssRUFBRSxJQUFBdkwsa0JBQUcsRUFBQ2dLLFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBRTtnQkFDM0NrRCxvQkFBb0IsRUFBRTFILGNBQWMsQ0FBQzJILHFCQUFzQjtnQkFDM0Q1RixrQkFBa0IsRUFBRS9CLGNBQWMsQ0FBQytCLGtCQUFtQjtnQkFDdERrRSxTQUFTLEVBQUUsSUFBSSxDQUFDaUUsZUFBZ0I7Z0JBQ2hDL0QsUUFBUSxFQUFFLElBQUksQ0FBQ3JHO2NBQVksRUFDNUIsQ0FDRjtjQUNEbUYsVUFBVSxHQUFHO2dCQUNYYyxLQUFLLEVBQUUsMEJBQTBCO2dCQUNqQ0gsUUFBUSxFQUFFekksYUFBYTtnQkFDdkI2SSxNQUFNLEVBQUU7Y0FDVixDQUFDO2NBQ0Q7WUFDRixLQUFLbUUsdUJBQVk7Y0FDZm5GLFFBQVEsZ0JBQ04vTSxNQUFBLFlBQUFrTixhQUFBLENBQUN0RyxhQUFhLE1BQUE0SCxTQUFBLGlCQUNSL0IsYUFBYTtnQkFDakIwRixRQUFRLEVBQUUsSUFBSSxDQUFDQyxjQUFlO2dCQUM5QnRJLGtCQUFrQixFQUFFL0IsY0FBYyxDQUFDK0Isa0JBQW1CO2dCQUN0RDJGLG9CQUFvQixFQUFFMUgsY0FBYyxDQUFDMkg7Y0FBc0IsRUFDNUQsQ0FDRjtjQUNEMUMsVUFBVSxHQUFHO2dCQUNYYyxLQUFLLEVBQUUsc0JBQXNCO2dCQUM3QkgsUUFBUSxFQUFFLEVBQUU7Z0JBQ1pPLFFBQVEsRUFBRSxJQUFJLENBQUNtRTtjQUNqQixDQUFDO2NBQ0Q7WUFDRjtjQUNFO1VBQ0o7UUFDRjtRQUVBLE9BQU83RixRQUFRLGdCQUNieE0sTUFBQSxZQUFBa04sYUFBQSxDQUFDeEcsV0FBVyxNQUFBOEgsU0FBQTtVQUNWOEQsY0FBYyxFQUFFLFNBQWhCQSxjQUFjQSxDQUFBO1lBQUEsT0FBUSxJQUFBQyxxQkFBVyxFQUFDL0YsUUFBUSxDQUFDO1VBQUEsQ0FBZ0I7VUFDM0RnRyxNQUFNLEVBQUUvTixPQUFPLENBQUNpSSxZQUFZLENBQUU7VUFDOUJ3QixRQUFRLEVBQUUsSUFBSSxDQUFDckc7UUFBWSxHQUN2Qm1GLFVBQVU7VUFDZFcsUUFBUSxFQUFFdkksWUFBWSxDQUFDaUMsTUFBTSxDQUFDMkYsVUFBVSxDQUFDVyxRQUFRO1FBQUUsSUFFbERaLFFBQ1UsQ0FBQyxHQUNaLElBQUk7TUFDVjtNQUNBO0lBQUE7RUFBQSxFQTlZMkIwRixnQkFBUztFQWladEMsT0FBTzVMLGNBQWM7QUFDdkIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -8,6 +8,9 @@ interface AddMapStyleModalProps {
|
|
|
8
8
|
loadCustomMapStyle: ActionHandler<typeof loadCustomMapStyle>;
|
|
9
9
|
mapboxApiAccessToken: string;
|
|
10
10
|
mapboxApiUrl?: string;
|
|
11
|
+
transformRequest?: (mapboxKey: string) => (url: string, resourceType: string) => {
|
|
12
|
+
url: string;
|
|
13
|
+
};
|
|
11
14
|
mapState: MapState;
|
|
12
15
|
intl: IntlShape;
|
|
13
16
|
}
|
|
@@ -45,7 +45,7 @@ var PreviewMap = _styledComponents["default"].div(_templateObject || (_templateO
|
|
|
45
45
|
var StyledPreviewImage = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n background: ", ";\n border-radius: 4px;\n box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.18);\n width: ", "px;\n height: ", "px;\n position: relative;\n\n .preview-image-placeholder {\n position: absolute;\n top: 0;\n left: 0;\n }\n\n .preview-image-spinner {\n position: absolute;\n left: calc(50% - 25px);\n top: calc(50% - 25px);\n }\n"])), function (props) {
|
|
46
46
|
return props.theme.modalImagePlaceHolder;
|
|
47
47
|
}, MapW, MapH);
|
|
48
|
-
var InlineLink = _styledComponents["default"].a(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: 500;\n\n
|
|
48
|
+
var InlineLink = _styledComponents["default"].a(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: 500;\n\n &:hover {\n cursor: pointer;\n }\n"])));
|
|
49
49
|
function AddMapStyleModalFactory() {
|
|
50
50
|
var AddMapStyleModal = /*#__PURE__*/function (_Component) {
|
|
51
51
|
function AddMapStyleModal() {
|
|
@@ -94,19 +94,23 @@ function AddMapStyleModalFactory() {
|
|
|
94
94
|
}, {
|
|
95
95
|
key: "render",
|
|
96
96
|
value: function render() {
|
|
97
|
-
var
|
|
97
|
+
var _this$props$transform,
|
|
98
|
+
_this$props2,
|
|
99
|
+
_this3 = this;
|
|
98
100
|
var _this$props = this.props,
|
|
99
101
|
inputStyle = _this$props.inputStyle,
|
|
100
102
|
mapState = _this$props.mapState,
|
|
101
|
-
mapboxApiUrl = _this$props.mapboxApiUrl,
|
|
102
103
|
intl = _this$props.intl;
|
|
104
|
+
var baseMapLibraryName = (0, _utils.getBaseMapLibrary)(inputStyle);
|
|
105
|
+
var baseMapLibraryConfig = (0, _utils.getApplicationConfig)().baseMapLibraryConfig[baseMapLibraryName];
|
|
103
106
|
var mapboxApiAccessToken = inputStyle.accessToken || this.props.mapboxApiAccessToken;
|
|
104
107
|
var mapProps = _objectSpread(_objectSpread({}, mapState), {}, {
|
|
105
|
-
baseApiUrl
|
|
108
|
+
// TODO baseApiUrl should be taken into account in transformRequest as we use dynamic mapLib import
|
|
109
|
+
// baseApiUrl: mapboxApiUrl,
|
|
106
110
|
mapboxAccessToken: mapboxApiAccessToken,
|
|
107
|
-
mapLib:
|
|
111
|
+
mapLib: baseMapLibraryConfig.getMapLib(),
|
|
108
112
|
preserveDrawingBuffer: true,
|
|
109
|
-
transformRequest: (0, _utils.transformRequest)(mapboxApiAccessToken)
|
|
113
|
+
transformRequest: ((_this$props$transform = (_this$props2 = this.props).transformRequest) === null || _this$props$transform === void 0 ? void 0 : _this$props$transform.call(_this$props2, mapboxApiAccessToken)) || (0, _utils.transformRequest)(mapboxApiAccessToken)
|
|
110
114
|
});
|
|
111
115
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
112
116
|
className: "add-map-style-modal"
|
|
@@ -145,16 +149,60 @@ function AddMapStyleModalFactory() {
|
|
|
145
149
|
})), /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledModalSection, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
146
150
|
className: "modal-section-title"
|
|
147
151
|
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
148
|
-
id: 'modal.addStyle.
|
|
152
|
+
id: 'modal.addStyle.publishTitle'
|
|
153
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
154
|
+
className: "modal-section-subtitle"
|
|
155
|
+
}, intl.formatMessage({
|
|
156
|
+
id: 'modal.addStyle.publishSubtitle1'
|
|
157
|
+
}), /*#__PURE__*/_react["default"].createElement(InlineLink, {
|
|
158
|
+
target: "_blank",
|
|
159
|
+
href: "https://www.mapbox.com/studio/styles/"
|
|
160
|
+
}, ' ', "mapbox"), ' ', intl.formatMessage({
|
|
161
|
+
id: 'modal.addStyle.publishSubtitle2'
|
|
162
|
+
}), /*#__PURE__*/_react["default"].createElement(InlineLink, {
|
|
163
|
+
target: "_blank",
|
|
164
|
+
href: "https://www.mapbox.com/help/studio-manual-publish/"
|
|
165
|
+
}, ' ', intl.formatMessage({
|
|
166
|
+
id: 'modal.addStyle.publishSubtitle3'
|
|
167
|
+
})), ' ', intl.formatMessage({
|
|
168
|
+
id: 'modal.addStyle.publishSubtitle4'
|
|
169
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
170
|
+
className: "modal-section-subtitle"
|
|
171
|
+
}, intl.formatMessage({
|
|
172
|
+
id: 'modal.addStyle.publishSubtitle5'
|
|
173
|
+
}), /*#__PURE__*/_react["default"].createElement(InlineLink, {
|
|
174
|
+
target: "_blank",
|
|
175
|
+
href: "https://www.mapbox.com/help/how-access-tokens-work/"
|
|
176
|
+
}, ' ', intl.formatMessage({
|
|
177
|
+
id: 'modal.addStyle.publishSubtitle6'
|
|
178
|
+
})), ' ', intl.formatMessage({
|
|
179
|
+
id: 'modal.addStyle.publishSubtitle7'
|
|
149
180
|
})), /*#__PURE__*/_react["default"].createElement(_styledComponents2.InputLight, {
|
|
150
181
|
type: "text",
|
|
151
|
-
value: inputStyle.
|
|
182
|
+
value: inputStyle.accessToken || '',
|
|
152
183
|
onChange: function onChange(_ref2) {
|
|
153
184
|
var value = _ref2.target.value;
|
|
185
|
+
return _this3.props.inputMapStyle({
|
|
186
|
+
accessToken: value
|
|
187
|
+
});
|
|
188
|
+
},
|
|
189
|
+
placeholder: intl.formatMessage({
|
|
190
|
+
id: 'modal.addStyle.exampleToken'
|
|
191
|
+
})
|
|
192
|
+
})), /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledModalSection, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
193
|
+
className: "modal-section-title"
|
|
194
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
195
|
+
id: 'modal.addStyle.namingTitle'
|
|
196
|
+
})), /*#__PURE__*/_react["default"].createElement(_styledComponents2.InputLight, {
|
|
197
|
+
type: "text",
|
|
198
|
+
value: inputStyle.label || '',
|
|
199
|
+
onChange: function onChange(_ref3) {
|
|
200
|
+
var value = _ref3.target.value;
|
|
154
201
|
return _this3.props.inputMapStyle({
|
|
155
202
|
label: value
|
|
156
203
|
});
|
|
157
|
-
}
|
|
204
|
+
},
|
|
205
|
+
placeholder: "Name your style"
|
|
158
206
|
}))), /*#__PURE__*/_react["default"].createElement(PreviewMap, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
159
207
|
className: (0, _classnames["default"])('preview-title', {
|
|
160
208
|
error: inputStyle.error
|
|
@@ -195,4 +243,4 @@ function AddMapStyleModalFactory() {
|
|
|
195
243
|
return (0, _reactIntl.injectIntl)((0, _reactLifecyclesCompat.polyfill)(AddMapStyleModal));
|
|
196
244
|
}
|
|
197
245
|
var _default = exports["default"] = AddMapStyleModalFactory;
|
|
198
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RMaWZlY3ljbGVzQ29tcGF0IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3N0eWxlZENvbXBvbmVudHMiLCJfcmVhY3RNYXBHbCIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9zdHlsZXMiLCJfdXRpbHMiLCJfcmVhY3RJbnRsIiwiX2xvY2FsaXphdGlvbiIsIl9jb25zdGFudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJNYXBIIiwiTWFwVyIsIkVycm9yTXNnIiwic3R5bGVFcnJvciIsIlByZXZpZXdNYXAiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJlcnJvckNvbG9yIiwibWVkaWEiLCJwb3J0YWJsZSIsInBhbG0iLCJTdHlsZWRQcmV2aWV3SW1hZ2UiLCJtb2RhbEltYWdlUGxhY2VIb2xkZXIiLCJJbmxpbmVMaW5rIiwiQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnkiLCJBZGRNYXBTdHlsZU1vZGFsIiwiX0NvbXBvbmVudCIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29uY2F0IiwicmVSZW5kZXJLZXkiLCJwcmV2aW91c1Rva2VuIiwic3R5bGUiLCJsb2FkQ3VzdG9tTWFwU3R5bGUiLCJlcnJvciIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJjb21wb25lbnREaWRVcGRhdGUiLCJfdGhpczIiLCJtYXAiLCJtYXBSZWYiLCJnZXRNYXAiLCJfbWFwIiwib24iLCJnZXRTdHlsZSIsImxvYWRNYXBTdHlsZUpzb24iLCJsb2FkTWFwU3R5bGVFcnJvciIsInJlbmRlciIsIl90aGlzMyIsIl90aGlzJHByb3BzIiwiaW5wdXRTdHlsZSIsIm1hcFN0YXRlIiwibWFwYm94QXBpVXJsIiwiaW50bCIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwiYWNjZXNzVG9rZW4iLCJtYXBQcm9wcyIsImJhc2VBcGlVcmwiLCJtYXBib3hBY2Nlc3NUb2tlbiIsIm1hcExpYiIsImdldEFwcGxpY2F0aW9uQ29uZmlnIiwiZ2V0TWFwTGliIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwidHJhbnNmb3JtUmVxdWVzdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJTdHlsZWRNb2RhbENvbnRlbnQiLCJTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWwiLCJTdHlsZWRNb2RhbFNlY3Rpb24iLCJGb3JtYXR0ZWRNZXNzYWdlIiwiaWQiLCJmb3JtYXRNZXNzYWdlIiwidGFyZ2V0IiwiaHJlZiIsIklucHV0TGlnaHQiLCJ0eXBlIiwidXJsIiwib25DaGFuZ2UiLCJfcmVmIiwiaW5wdXRNYXBTdHlsZSIsImljb24iLCJOT19CQVNFTUFQX0lDT04iLCJwbGFjZWhvbGRlciIsImxhYmVsIiwiX3JlZjIiLCJjbGFzc25hbWVzIiwibmFtZSIsImlzVmFsaWQiLCJTdHlsZWRNYXBDb250YWluZXIiLCJNYXAiLCJfZXh0ZW5kczIiLCJyZWYiLCJlbCIsInN0YXRlIiwid2lkdGgiLCJoZWlnaHQiLCJtYXBTdHlsZSIsInVuZGVmaW5lZCIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsIkNvbXBvbmVudCIsImluamVjdEludGwiLCJwb2x5ZmlsbCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvYWRkLW1hcC1zdHlsZS1tb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge3BvbHlmaWxsfSBmcm9tICdyZWFjdC1saWZlY3ljbGVzLWNvbXBhdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtNYXAsIE1hcGJveE1hcCwgTWFwUmVmfSBmcm9tICdyZWFjdC1tYXAtZ2wnO1xuaW1wb3J0IHtcbiAgU3R5bGVkTW9kYWxDb250ZW50LFxuICBJbnB1dExpZ2h0LFxuICBTdHlsZWRNYXBDb250YWluZXIsXG4gIFN0eWxlZE1vZGFsVmVydGljYWxQYW5lbCxcbiAgU3R5bGVkTW9kYWxTZWN0aW9uXG59IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge21lZGlhfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5cbi8vIFV0aWxzXG5pbXBvcnQge2dldEFwcGxpY2F0aW9uQ29uZmlnLCB0cmFuc2Zvcm1SZXF1ZXN0fSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7aW5qZWN0SW50bCwgSW50bFNoYXBlfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtOT19CQVNFTUFQX0lDT059IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7SW5wdXRTdHlsZSwgTWFwU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtBY3Rpb25IYW5kbGVyLCBpbnB1dE1hcFN0eWxlLCBsb2FkQ3VzdG9tTWFwU3R5bGV9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5cbmNvbnN0IE1hcEggPSAxOTA7XG5jb25zdCBNYXBXID0gMjY0O1xuY29uc3QgRXJyb3JNc2cgPSB7XG4gIHN0eWxlRXJyb3I6XG4gICAgJ0ZhaWxlZCB0byBsb2FkIG1hcCBzdHlsZSwgbWFrZSBzdXJlIGl0IGlzIHB1Ymxpc2hlZC4gRm9yIHByaXZhdGUgc3R5bGUsIHBhc3RlIGluIHlvdXIgYWNjZXNzIHRva2VuLidcbn07XG5cbmNvbnN0IFByZXZpZXdNYXAgPSBzdHlsZWQuZGl2YFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDExNnB4O1xuICBmbGV4LXNocmluazogMDtcblxuICAucHJldmlldy10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgcGFkZGluZzogOHB4IDBweDtcbiAgfVxuXG4gIC5wcmV2aWV3LXRpdGxlLmVycm9yIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lcnJvckNvbG9yfTtcbiAgfVxuXG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIGB9O1xuXG4gICR7bWVkaWEucGFsbWBcbiAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XG4gICAgLnByZXZpZXctdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cbiAgYH07XG5gO1xuXG5jb25zdCBTdHlsZWRQcmV2aWV3SW1hZ2UgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsSW1hZ2VQbGFjZUhvbGRlcn07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCA4cHggMTZweCAwIHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gIHdpZHRoOiAke01hcFd9cHg7XG4gIGhlaWdodDogJHtNYXBIfXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnByZXZpZXctaW1hZ2UtcGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5wcmV2aWV3LWltYWdlLXNwaW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDI1cHgpO1xuICAgIHRvcDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgfVxuYDtcblxuY29uc3QgSW5saW5lTGluayA9IHN0eWxlZC5hYFxuICBmb250LXdlaWdodDogNTAwO1xuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgQWRkTWFwU3R5bGVNb2RhbFByb3BzIHtcbiAgaW5wdXRNYXBTdHlsZTogQWN0aW9uSGFuZGxlcjx0eXBlb2YgaW5wdXRNYXBTdHlsZT47XG4gIGlucHV0U3R5bGU6IElucHV0U3R5bGU7XG4gIGxvYWRDdXN0b21NYXBTdHlsZTogQWN0aW9uSGFuZGxlcjx0eXBlb2YgbG9hZEN1c3RvbU1hcFN0eWxlPjtcbiAgbWFwYm94QXBpQWNjZXNzVG9rZW46IHN0cmluZztcbiAgbWFwYm94QXBpVXJsPzogc3RyaW5nO1xuICBtYXBTdGF0ZTogTWFwU3RhdGU7XG4gIGludGw6IEludGxTaGFwZTtcbn1cblxuZnVuY3Rpb24gQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnkoKSB7XG4gIGNsYXNzIEFkZE1hcFN0eWxlTW9kYWwgZXh0ZW5kcyBDb21wb25lbnQ8QWRkTWFwU3R5bGVNb2RhbFByb3BzPiB7XG4gICAgc3RhdGUgPSB7XG4gICAgICByZVJlbmRlcktleTogMCxcbiAgICAgIHByZXZpb3VzVG9rZW46IG51bGxcbiAgICB9O1xuXG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgIGlmIChcbiAgICAgICAgcHJvcHMuaW5wdXRTdHlsZSAmJlxuICAgICAgICBwcm9wcy5pbnB1dFN0eWxlLmFjY2Vzc1Rva2VuICYmXG4gICAgICAgIHByb3BzLmlucHV0U3R5bGUuYWNjZXNzVG9rZW4gIT09IHN0YXRlLnByZXZpb3VzVG9rZW5cbiAgICAgICkge1xuICAgICAgICAvLyB0b2tlIGhhcyBjaGFuZ2VkXG4gICAgICAgIC8vIFJlYWN0TWFwR2wgZG9lc24ndCByZS1jcmVhdGUgbWFwIHdoZW4gdG9rZW4gaGFzIGNoYW5nZWRcbiAgICAgICAgLy8gaGVyZSB3ZSBmb3JjZSB0aGUgbWFwIHRvIHVwZGF0ZVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVSZW5kZXJLZXk6IHN0YXRlLnJlUmVuZGVyS2V5ICsgMSxcbiAgICAgICAgICBwcmV2aW91c1Rva2VuOiBwcm9wcy5pbnB1dFN0eWxlLmFjY2Vzc1Rva2VuXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIG1hcFJlZjogTWFwUmVmIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBfbWFwOiBNYXBib3hNYXAgfCB1bmRlZmluZWQ7XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCBtYXAgPSB0aGlzLm1hcFJlZiAmJiB0aGlzLm1hcFJlZi5nZXRNYXAoKTtcbiAgICAgIGlmIChtYXAgJiYgdGhpcy5fbWFwICE9PSBtYXApIHtcbiAgICAgICAgdGhpcy5fbWFwID0gbWFwO1xuXG4gICAgICAgIG1hcC5vbignc3R5bGUubG9hZCcsICgpID0+IHtcbiAgICAgICAgICBjb25zdCBzdHlsZSA9IG1hcC5nZXRTdHlsZSgpO1xuICAgICAgICAgIHRoaXMubG9hZE1hcFN0eWxlSnNvbihzdHlsZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1hcC5vbignZXJyb3InLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkTWFwU3R5bGVFcnJvcigpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkTWFwU3R5bGVKc29uID0gc3R5bGUgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sb2FkQ3VzdG9tTWFwU3R5bGUoe3N0eWxlLCBlcnJvcjogZmFsc2V9KTtcbiAgICB9O1xuXG4gICAgbG9hZE1hcFN0eWxlRXJyb3IgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLmxvYWRDdXN0b21NYXBTdHlsZSh7ZXJyb3I6IHRydWV9KTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2lucHV0U3R5bGUsIG1hcFN0YXRlLCBtYXBib3hBcGlVcmwsIGludGx9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3QgbWFwYm94QXBpQWNjZXNzVG9rZW4gPSBpbnB1dFN0eWxlLmFjY2Vzc1Rva2VuIHx8IHRoaXMucHJvcHMubWFwYm94QXBpQWNjZXNzVG9rZW47XG4gICAgICBjb25zdCBtYXBQcm9wcyA9IHtcbiAgICAgICAgLi4ubWFwU3RhdGUsXG4gICAgICAgIGJhc2VBcGlVcmw6IG1hcGJveEFwaVVybCxcbiAgICAgICAgbWFwYm94QWNjZXNzVG9rZW46IG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgICAgICBtYXBMaWI6IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZ2V0TWFwTGliKCksXG4gICAgICAgIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZSxcbiAgICAgICAgdHJhbnNmb3JtUmVxdWVzdDogdHJhbnNmb3JtUmVxdWVzdChtYXBib3hBcGlBY2Nlc3NUb2tlbilcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWRkLW1hcC1zdHlsZS1tb2RhbFwiPlxuICAgICAgICAgIDxTdHlsZWRNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgICA8U3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsPlxuICAgICAgICAgICAgICA8U3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5hZGRTdHlsZS5wYXN0ZVRpdGxlJ30gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucGFzdGVTdWJ0aXRsZTAnfSl9XG4gICAgICAgICAgICAgICAgICA8SW5saW5lTGlua1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9oZWxwL3N0dWRpby1tYW51YWwtcHVibGlzaC8jc3R5bGUtdXJsXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlMid9KX1cbiAgICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlMyd9KX1cbiAgICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2RvY3MubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvc3R5bGUtc3BlY1wiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucGFzdGVTdWJ0aXRsZTQnfSl9XG4gICAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFN0eWxlLnVybCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoe3RhcmdldDoge3ZhbHVlfX0pID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuaW5wdXRNYXBTdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgdXJsOiB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICBpZDogJ0N1c3RvbSBTdHlsZScsXG4gICAgICAgICAgICAgICAgICAgICAgaWNvbjogTk9fQkFTRU1BUF9JQ09OXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImUuZy4gaHR0cHM6Ly9iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vZ2wvcG9zaXRyb24tZ2wtc3R5bGUvc3R5bGUuanNvblwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRNb2RhbFNlY3Rpb24+XG5cbiAgICAgICAgICAgICAgey8qIDxTdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hUaXRsZSd9IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTEnfSl9XG4gICAgICAgICAgICAgICAgICA8SW5saW5lTGluayB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9zdHVkaW8vc3R5bGVzL1wiPlxuICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICBtYXBib3hcbiAgICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUyJ30pfVxuICAgICAgICAgICAgICAgICAgPElubGluZUxpbmtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vaGVscC9zdHVkaW8tbWFudWFsLXB1Ymxpc2gvXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUzJ30pfVxuICAgICAgICAgICAgICAgICAgPC9JbmxpbmVMaW5rPnsnICd9XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTQnfSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNSd9KX1cbiAgICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL2hlbHAvaG93LWFjY2Vzcy10b2tlbnMtd29yay9cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTYnfSl9XG4gICAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+eycgJ31cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNyd9KX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2lucHV0U3R5bGUuYWNjZXNzVG9rZW4gfHwgJyd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHt0YXJnZXQ6IHt2YWx1ZX19KSA9PiB0aGlzLnByb3BzLmlucHV0TWFwU3R5bGUoe2FjY2Vzc1Rva2VuOiB2YWx1ZX0pfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5leGFtcGxlVG9rZW4nfSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRNb2RhbFNlY3Rpb24+ICovfVxuXG4gICAgICAgICAgICAgIDxTdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmFkZFN0eWxlLm5hbWluZ1RpdGxlJ30gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2lucHV0U3R5bGUubGFiZWwgfHwgJyd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHt0YXJnZXQ6IHt2YWx1ZX19KSA9PiB0aGlzLnByb3BzLmlucHV0TWFwU3R5bGUoe2xhYmVsOiB2YWx1ZX0pfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgICAgICAgPC9TdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWw+XG4gICAgICAgICAgICA8UHJldmlld01hcD5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygncHJldmlldy10aXRsZScsIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yOiBpbnB1dFN0eWxlLmVycm9yXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7aW5wdXRTdHlsZS5lcnJvclxuICAgICAgICAgICAgICAgICAgPyBFcnJvck1zZy5zdHlsZUVycm9yXG4gICAgICAgICAgICAgICAgICA6IChpbnB1dFN0eWxlLnN0eWxlICYmIGlucHV0U3R5bGUuc3R5bGUubmFtZSkgfHwgJyd9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8U3R5bGVkUHJldmlld0ltYWdlIGNsYXNzTmFtZT1cInByZXZpZXctaW1hZ2VcIj5cbiAgICAgICAgICAgICAgICB7IWlucHV0U3R5bGUuaXNWYWxpZCA/IChcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHJldmlldy1pbWFnZS1zcGlubmVyXCIgLz5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPFN0eWxlZE1hcENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICAgICAgICAgIHsuLi5tYXBQcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICByZWY9e2VsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWFwUmVmID0gZWw7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e3RoaXMuc3RhdGUucmVSZW5kZXJLZXl9XG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBNYXBXLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBNYXBIXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICBtYXBTdHlsZT17aW5wdXRTdHlsZS51cmwgPT09IG51bGwgPyB1bmRlZmluZWQgOiBpbnB1dFN0eWxlLnVybH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkTWFwQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3R5bGVkUHJldmlld0ltYWdlPlxuICAgICAgICAgICAgPC9QcmV2aWV3TWFwPlxuICAgICAgICAgIDwvU3R5bGVkTW9kYWxDb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluamVjdEludGwocG9seWZpbGwoQWRkTWFwU3R5bGVNb2RhbCkpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLHNCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sa0JBQUEsR0FBQU4sT0FBQTtBQU9BLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUdBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFVBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGFBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFVBQUEsR0FBQVgsT0FBQTtBQUFxRCxJQUFBWSxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBckJyRDtBQUNBO0FBZ0JBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENB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
|
|
246
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RMaWZlY3ljbGVzQ29tcGF0IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3N0eWxlZENvbXBvbmVudHMiLCJfcmVhY3RNYXBHbCIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9zdHlsZXMiLCJfdXRpbHMiLCJfcmVhY3RJbnRsIiwiX2xvY2FsaXphdGlvbiIsIl9jb25zdGFudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJNYXBIIiwiTWFwVyIsIkVycm9yTXNnIiwic3R5bGVFcnJvciIsIlByZXZpZXdNYXAiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJlcnJvckNvbG9yIiwibWVkaWEiLCJwb3J0YWJsZSIsInBhbG0iLCJTdHlsZWRQcmV2aWV3SW1hZ2UiLCJtb2RhbEltYWdlUGxhY2VIb2xkZXIiLCJJbmxpbmVMaW5rIiwiQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnkiLCJBZGRNYXBTdHlsZU1vZGFsIiwiX0NvbXBvbmVudCIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29uY2F0IiwicmVSZW5kZXJLZXkiLCJwcmV2aW91c1Rva2VuIiwic3R5bGUiLCJsb2FkQ3VzdG9tTWFwU3R5bGUiLCJlcnJvciIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJjb21wb25lbnREaWRVcGRhdGUiLCJfdGhpczIiLCJtYXAiLCJtYXBSZWYiLCJnZXRNYXAiLCJfbWFwIiwib24iLCJnZXRTdHlsZSIsImxvYWRNYXBTdHlsZUpzb24iLCJsb2FkTWFwU3R5bGVFcnJvciIsInJlbmRlciIsIl90aGlzJHByb3BzJHRyYW5zZm9ybSIsIl90aGlzJHByb3BzMiIsIl90aGlzMyIsIl90aGlzJHByb3BzIiwiaW5wdXRTdHlsZSIsIm1hcFN0YXRlIiwiaW50bCIsImJhc2VNYXBMaWJyYXJ5TmFtZSIsImdldEJhc2VNYXBMaWJyYXJ5IiwiYmFzZU1hcExpYnJhcnlDb25maWciLCJnZXRBcHBsaWNhdGlvbkNvbmZpZyIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwiYWNjZXNzVG9rZW4iLCJtYXBQcm9wcyIsIm1hcGJveEFjY2Vzc1Rva2VuIiwibWFwTGliIiwiZ2V0TWFwTGliIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwidHJhbnNmb3JtUmVxdWVzdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJTdHlsZWRNb2RhbENvbnRlbnQiLCJTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWwiLCJTdHlsZWRNb2RhbFNlY3Rpb24iLCJGb3JtYXR0ZWRNZXNzYWdlIiwiaWQiLCJmb3JtYXRNZXNzYWdlIiwidGFyZ2V0IiwiaHJlZiIsIklucHV0TGlnaHQiLCJ0eXBlIiwidXJsIiwib25DaGFuZ2UiLCJfcmVmIiwiaW5wdXRNYXBTdHlsZSIsImljb24iLCJOT19CQVNFTUFQX0lDT04iLCJwbGFjZWhvbGRlciIsIl9yZWYyIiwibGFiZWwiLCJfcmVmMyIsImNsYXNzbmFtZXMiLCJuYW1lIiwiaXNWYWxpZCIsIlN0eWxlZE1hcENvbnRhaW5lciIsIk1hcCIsIl9leHRlbmRzMiIsInJlZiIsImVsIiwic3RhdGUiLCJ3aWR0aCIsImhlaWdodCIsIm1hcFN0eWxlIiwidW5kZWZpbmVkIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwiQ29tcG9uZW50IiwiaW5qZWN0SW50bCIsInBvbHlmaWxsIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGFscy9hZGQtbWFwLXN0eWxlLW1vZGFsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7cG9seWZpbGx9IGZyb20gJ3JlYWN0LWxpZmVjeWNsZXMtY29tcGF0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge01hcCwgTWFwYm94TWFwLCBNYXBSZWZ9IGZyb20gJ3JlYWN0LW1hcC1nbCc7XG5pbXBvcnQge1xuICBTdHlsZWRNb2RhbENvbnRlbnQsXG4gIElucHV0TGlnaHQsXG4gIFN0eWxlZE1hcENvbnRhaW5lcixcbiAgU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsLFxuICBTdHlsZWRNb2RhbFNlY3Rpb25cbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcblxuLy8gVXRpbHNcbmltcG9ydCB7Z2V0QXBwbGljYXRpb25Db25maWcsIGdldEJhc2VNYXBMaWJyYXJ5LCB0cmFuc2Zvcm1SZXF1ZXN0fSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7aW5qZWN0SW50bCwgSW50bFNoYXBlfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtOT19CQVNFTUFQX0lDT059IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7SW5wdXRTdHlsZSwgTWFwU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtBY3Rpb25IYW5kbGVyLCBpbnB1dE1hcFN0eWxlLCBsb2FkQ3VzdG9tTWFwU3R5bGV9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5cbmNvbnN0IE1hcEggPSAxOTA7XG5jb25zdCBNYXBXID0gMjY0O1xuY29uc3QgRXJyb3JNc2cgPSB7XG4gIHN0eWxlRXJyb3I6XG4gICAgJ0ZhaWxlZCB0byBsb2FkIG1hcCBzdHlsZSwgbWFrZSBzdXJlIGl0IGlzIHB1Ymxpc2hlZC4gRm9yIHByaXZhdGUgc3R5bGUsIHBhc3RlIGluIHlvdXIgYWNjZXNzIHRva2VuLidcbn07XG5cbmNvbnN0IFByZXZpZXdNYXAgPSBzdHlsZWQuZGl2YFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDExNnB4O1xuICBmbGV4LXNocmluazogMDtcblxuICAucHJldmlldy10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgcGFkZGluZzogOHB4IDBweDtcbiAgfVxuXG4gIC5wcmV2aWV3LXRpdGxlLmVycm9yIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lcnJvckNvbG9yfTtcbiAgfVxuXG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIGB9O1xuXG4gICR7bWVkaWEucGFsbWBcbiAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XG4gICAgLnByZXZpZXctdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cbiAgYH07XG5gO1xuXG5jb25zdCBTdHlsZWRQcmV2aWV3SW1hZ2UgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsSW1hZ2VQbGFjZUhvbGRlcn07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCA4cHggMTZweCAwIHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gIHdpZHRoOiAke01hcFd9cHg7XG4gIGhlaWdodDogJHtNYXBIfXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnByZXZpZXctaW1hZ2UtcGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5wcmV2aWV3LWltYWdlLXNwaW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDI1cHgpO1xuICAgIHRvcDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgfVxuYDtcblxuY29uc3QgSW5saW5lTGluayA9IHN0eWxlZC5hYFxuICBmb250LXdlaWdodDogNTAwO1xuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuYDtcblxuaW50ZXJmYWNlIEFkZE1hcFN0eWxlTW9kYWxQcm9wcyB7XG4gIGlucHV0TWFwU3R5bGU6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIGlucHV0TWFwU3R5bGU+O1xuICBpbnB1dFN0eWxlOiBJbnB1dFN0eWxlO1xuICBsb2FkQ3VzdG9tTWFwU3R5bGU6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIGxvYWRDdXN0b21NYXBTdHlsZT47XG4gIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIG1hcGJveEFwaVVybD86IHN0cmluZztcbiAgdHJhbnNmb3JtUmVxdWVzdD86IChtYXBib3hLZXk6IHN0cmluZykgPT4gKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHJlc291cmNlVHlwZTogc3RyaW5nXG4gICkgPT4ge1xuICAgIHVybDogc3RyaW5nO1xuICB9O1xuICBtYXBTdGF0ZTogTWFwU3RhdGU7XG4gIGludGw6IEludGxTaGFwZTtcbn1cblxuZnVuY3Rpb24gQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnkoKSB7XG4gIGNsYXNzIEFkZE1hcFN0eWxlTW9kYWwgZXh0ZW5kcyBDb21wb25lbnQ8QWRkTWFwU3R5bGVNb2RhbFByb3BzPiB7XG4gICAgc3RhdGUgPSB7XG4gICAgICByZVJlbmRlcktleTogMCxcbiAgICAgIHByZXZpb3VzVG9rZW46IG51bGxcbiAgICB9O1xuXG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgIGlmIChcbiAgICAgICAgcHJvcHMuaW5wdXRTdHlsZSAmJlxuICAgICAgICBwcm9wcy5pbnB1dFN0eWxlLmFjY2Vzc1Rva2VuICYmXG4gICAgICAgIHByb3BzLmlucHV0U3R5bGUuYWNjZXNzVG9rZW4gIT09IHN0YXRlLnByZXZpb3VzVG9rZW5cbiAgICAgICkge1xuICAgICAgICAvLyB0b2tlIGhhcyBjaGFuZ2VkXG4gICAgICAgIC8vIFJlYWN0TWFwR2wgZG9lc24ndCByZS1jcmVhdGUgbWFwIHdoZW4gdG9rZW4gaGFzIGNoYW5nZWRcbiAgICAgICAgLy8gaGVyZSB3ZSBmb3JjZSB0aGUgbWFwIHRvIHVwZGF0ZVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVSZW5kZXJLZXk6IHN0YXRlLnJlUmVuZGVyS2V5ICsgMSxcbiAgICAgICAgICBwcmV2aW91c1Rva2VuOiBwcm9wcy5pbnB1dFN0eWxlLmFjY2Vzc1Rva2VuXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIG1hcFJlZjogTWFwUmVmIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBfbWFwOiBNYXBib3hNYXAgfCB1bmRlZmluZWQ7XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCBtYXAgPSB0aGlzLm1hcFJlZiAmJiB0aGlzLm1hcFJlZi5nZXRNYXAoKTtcbiAgICAgIGlmIChtYXAgJiYgdGhpcy5fbWFwICE9PSBtYXApIHtcbiAgICAgICAgdGhpcy5fbWFwID0gbWFwO1xuXG4gICAgICAgIG1hcC5vbignc3R5bGUubG9hZCcsICgpID0+IHtcbiAgICAgICAgICBjb25zdCBzdHlsZSA9IG1hcC5nZXRTdHlsZSgpO1xuICAgICAgICAgIHRoaXMubG9hZE1hcFN0eWxlSnNvbihzdHlsZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1hcC5vbignZXJyb3InLCAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkTWFwU3R5bGVFcnJvcigpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkTWFwU3R5bGVKc29uID0gc3R5bGUgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sb2FkQ3VzdG9tTWFwU3R5bGUoe3N0eWxlLCBlcnJvcjogZmFsc2V9KTtcbiAgICB9O1xuXG4gICAgbG9hZE1hcFN0eWxlRXJyb3IgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLmxvYWRDdXN0b21NYXBTdHlsZSh7ZXJyb3I6IHRydWV9KTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2lucHV0U3R5bGUsIG1hcFN0YXRlLCBpbnRsfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IGJhc2VNYXBMaWJyYXJ5TmFtZSA9IGdldEJhc2VNYXBMaWJyYXJ5KGlucHV0U3R5bGUpO1xuICAgICAgY29uc3QgYmFzZU1hcExpYnJhcnlDb25maWcgPSBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmJhc2VNYXBMaWJyYXJ5Q29uZmlnW2Jhc2VNYXBMaWJyYXJ5TmFtZV07XG5cbiAgICAgIGNvbnN0IG1hcGJveEFwaUFjY2Vzc1Rva2VuID0gaW5wdXRTdHlsZS5hY2Nlc3NUb2tlbiB8fCB0aGlzLnByb3BzLm1hcGJveEFwaUFjY2Vzc1Rva2VuO1xuICAgICAgY29uc3QgbWFwUHJvcHMgPSB7XG4gICAgICAgIC4uLm1hcFN0YXRlLFxuICAgICAgICAvLyBUT0RPIGJhc2VBcGlVcmwgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCBpbiB0cmFuc2Zvcm1SZXF1ZXN0IGFzIHdlIHVzZSBkeW5hbWljIG1hcExpYiBpbXBvcnRcbiAgICAgICAgLy8gYmFzZUFwaVVybDogbWFwYm94QXBpVXJsLFxuICAgICAgICBtYXBib3hBY2Nlc3NUb2tlbjogbWFwYm94QXBpQWNjZXNzVG9rZW4sXG4gICAgICAgIG1hcExpYjogYmFzZU1hcExpYnJhcnlDb25maWcuZ2V0TWFwTGliKCksXG4gICAgICAgIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZSxcbiAgICAgICAgdHJhbnNmb3JtUmVxdWVzdDpcbiAgICAgICAgICB0aGlzLnByb3BzLnRyYW5zZm9ybVJlcXVlc3Q/LihtYXBib3hBcGlBY2Nlc3NUb2tlbikgfHxcbiAgICAgICAgICB0cmFuc2Zvcm1SZXF1ZXN0KG1hcGJveEFwaUFjY2Vzc1Rva2VuKVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhZGQtbWFwLXN0eWxlLW1vZGFsXCI+XG4gICAgICAgICAgPFN0eWxlZE1vZGFsQ29udGVudD5cbiAgICAgICAgICAgIDxTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWw+XG4gICAgICAgICAgICAgIDxTdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmFkZFN0eWxlLnBhc3RlVGl0bGUnfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi1zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlMCd9KX1cbiAgICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL2hlbHAvc3R1ZGlvLW1hbnVhbC1wdWJsaXNoLyNzdHlsZS11cmxcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnBhc3RlU3VidGl0bGUyJ30pfVxuICAgICAgICAgICAgICAgICAgPC9JbmxpbmVMaW5rPnsnICd9XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnBhc3RlU3VidGl0bGUzJ30pfVxuICAgICAgICAgICAgICAgICAgPElubGluZUxpbmtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vZG9jcy5tYXBib3guY29tL21hcGJveC1nbC1qcy9zdHlsZS1zcGVjXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlNCd9KX1cbiAgICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2lucHV0U3R5bGUudXJsIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh7dGFyZ2V0OiB7dmFsdWV9fSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5pbnB1dE1hcFN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICB1cmw6IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIGlkOiAnQ3VzdG9tIFN0eWxlJyxcbiAgICAgICAgICAgICAgICAgICAgICBpY29uOiBOT19CQVNFTUFQX0lDT05cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiZS5nLiBodHRwczovL2Jhc2VtYXBzLmNhcnRvY2RuLmNvbS9nbC9wb3NpdHJvbi1nbC1zdHlsZS9zdHlsZS5qc29uXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1N0eWxlZE1vZGFsU2VjdGlvbj5cblxuICAgICAgICAgICAgICA8U3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5hZGRTdHlsZS5wdWJsaXNoVGl0bGUnfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi1zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUxJ30pfVxuICAgICAgICAgICAgICAgICAgPElubGluZUxpbmsgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vc3R1ZGlvL3N0eWxlcy9cIj5cbiAgICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgICAgbWFwYm94XG4gICAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+eycgJ31cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlMid9KX1cbiAgICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL2hlbHAvc3R1ZGlvLW1hbnVhbC1wdWJsaXNoL1wiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlMyd9KX1cbiAgICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGU0J30pfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTUnfSl9XG4gICAgICAgICAgICAgICAgICA8SW5saW5lTGlua1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9oZWxwL2hvdy1hY2Nlc3MtdG9rZW5zLXdvcmsvXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGU2J30pfVxuICAgICAgICAgICAgICAgICAgPC9JbmxpbmVMaW5rPnsnICd9XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTcnfSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFN0eWxlLmFjY2Vzc1Rva2VuIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh7dGFyZ2V0OiB7dmFsdWV9fSkgPT4gdGhpcy5wcm9wcy5pbnB1dE1hcFN0eWxlKHthY2Nlc3NUb2tlbjogdmFsdWV9KX1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUuZXhhbXBsZVRva2VuJ30pfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxTZWN0aW9uPlxuXG4gICAgICAgICAgICAgIDxTdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmFkZFN0eWxlLm5hbWluZ1RpdGxlJ30gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2lucHV0U3R5bGUubGFiZWwgfHwgJyd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHt0YXJnZXQ6IHt2YWx1ZX19KSA9PiB0aGlzLnByb3BzLmlucHV0TWFwU3R5bGUoe2xhYmVsOiB2YWx1ZX0pfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOYW1lIHlvdXIgc3R5bGVcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgICAgICAgPC9TdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWw+XG4gICAgICAgICAgICA8UHJldmlld01hcD5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygncHJldmlldy10aXRsZScsIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yOiBpbnB1dFN0eWxlLmVycm9yXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7aW5wdXRTdHlsZS5lcnJvclxuICAgICAgICAgICAgICAgICAgPyBFcnJvck1zZy5zdHlsZUVycm9yXG4gICAgICAgICAgICAgICAgICA6IChpbnB1dFN0eWxlLnN0eWxlICYmIGlucHV0U3R5bGUuc3R5bGUubmFtZSkgfHwgJyd9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8U3R5bGVkUHJldmlld0ltYWdlIGNsYXNzTmFtZT1cInByZXZpZXctaW1hZ2VcIj5cbiAgICAgICAgICAgICAgICB7IWlucHV0U3R5bGUuaXNWYWxpZCA/IChcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHJldmlldy1pbWFnZS1zcGlubmVyXCIgLz5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPFN0eWxlZE1hcENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICAgICAgICAgIHsuLi5tYXBQcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICByZWY9e2VsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWFwUmVmID0gZWw7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e3RoaXMuc3RhdGUucmVSZW5kZXJLZXl9XG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBNYXBXLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBNYXBIXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICBtYXBTdHlsZT17aW5wdXRTdHlsZS51cmwgPT09IG51bGwgPyB1bmRlZmluZWQgOiBpbnB1dFN0eWxlLnVybH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkTWFwQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU3R5bGVkUHJldmlld0ltYWdlPlxuICAgICAgICAgICAgPC9QcmV2aWV3TWFwPlxuICAgICAgICAgIDwvU3R5bGVkTW9kYWxDb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluamVjdEludGwocG9seWZpbGwoQWRkTWFwU3R5bGVNb2RhbCkpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLHNCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sa0JBQUEsR0FBQU4sT0FBQTtBQU9BLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUdBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFVBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGFBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFVBQUEsR0FBQVgsT0FBQTtBQUFxRCxJQUFBWSxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBckJyRDtBQUNBO0FBZ0JBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFuQix3QkFBQW1CLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcs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O1VBQUNxRCxTQUFTLEVBQUM7UUFBZSxHQUMxQyxDQUFDaEIsVUFBVSxDQUFDdUMsT0FBTyxnQkFDbEIxSixNQUFBLFlBQUFrSSxhQUFBO1VBQUtDLFNBQVMsRUFBQztRQUF1QixDQUFFLENBQUMsZ0JBRXpDbkksTUFBQSxZQUFBa0ksYUFBQSxDQUFDMUgsa0JBQUEsQ0FBQW1KLGtCQUFrQixxQkFDakIzSixNQUFBLFlBQUFrSSxhQUFBLENBQUMzSCxXQUFBLENBQUFxSixHQUFHLE1BQUFDLFNBQUEsaUJBQ0VqQyxRQUFRO1VBQ1prQyxHQUFHLEVBQUUsU0FBTEEsR0FBR0EsQ0FBRUMsRUFBRSxFQUFJO1lBQ1Q5QyxNQUFJLENBQUNWLE1BQU0sR0FBR3dELEVBQUU7VUFDbEIsQ0FBRTtVQUNGN0QsR0FBRyxFQUFFLElBQUksQ0FBQzhELEtBQUssQ0FBQ3JFLFdBQVk7VUFDNUJFLEtBQUssRUFBRTtZQUNMb0UsS0FBSyxFQUFFaEcsSUFBSTtZQUNYaUcsTUFBTSxFQUFFbEc7VUFDVixDQUFFO1VBQ0ZtRyxRQUFRLEVBQUVoRCxVQUFVLENBQUMyQixHQUFHLEtBQUssSUFBSSxHQUFHc0IsU0FBUyxHQUFHakQsVUFBVSxDQUFDMkI7UUFBSSxFQUNoRSxDQUNpQixDQUVKLENBQ1YsQ0FDTSxDQUNqQixDQUFDO01BRVY7SUFBQztNQUFBNUMsR0FBQTtNQUFBQyxLQUFBLEVBL0xELFNBQU9rRSx3QkFBd0JBLENBQUM3RixLQUFLLEVBQUV3RixLQUFLLEVBQUU7UUFDNUMsSUFDRXhGLEtBQUssQ0FBQzJDLFVBQVUsSUFDaEIzQyxLQUFLLENBQUMyQyxVQUFVLENBQUNRLFdBQVcsSUFDNUJuRCxLQUFLLENBQUMyQyxVQUFVLENBQUNRLFdBQVcsS0FBS3FDLEtBQUssQ0FBQ3BFLGFBQWEsRUFDcEQ7VUFDQTtVQUNBO1VBQ0E7O1VBRUEsT0FBTztZQUNMRCxXQUFXLEVBQUVxRSxLQUFLLENBQUNyRSxXQUFXLEdBQUcsQ0FBQztZQUNsQ0MsYUFBYSxFQUFFcEIsS0FBSyxDQUFDMkMsVUFBVSxDQUFDUTtVQUNsQyxDQUFDO1FBQ0g7UUFFQSxPQUFPLElBQUk7TUFDYjtJQUFDO0VBQUEsRUF2QjRCMkMsZ0JBQVM7RUF3TXhDLE9BQU8sSUFBQUMscUJBQVUsRUFBQyxJQUFBQywrQkFBUSxFQUFDdEYsZ0JBQWdCLENBQUMsQ0FBQztBQUMvQztBQUFDLElBQUF1RixRQUFBLEdBQUFDLE9BQUEsY0FFY3pGLHVCQUF1QiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -50,10 +50,10 @@ var CloudItem = exports.CloudItem = function CloudItem(_ref2) {
|
|
|
50
50
|
privateMap: vis.privateMap
|
|
51
51
|
}) : null), /*#__PURE__*/_react["default"].createElement("span", {
|
|
52
52
|
className: "vis_item-title"
|
|
53
|
-
}, vis.title), ((_vis$description = vis.description) === null || _vis$description === void 0 ? void 0 : _vis$description.length) && /*#__PURE__*/_react["default"].createElement("span", {
|
|
53
|
+
}, vis.title), ((_vis$description = vis.description) === null || _vis$description === void 0 ? void 0 : _vis$description.length) > 0 && /*#__PURE__*/_react["default"].createElement("span", {
|
|
54
54
|
className: "vis_item-description"
|
|
55
55
|
}, vis.description), /*#__PURE__*/_react["default"].createElement("span", {
|
|
56
56
|
className: "vis_item-modification-date"
|
|
57
57
|
}, "Last modified ", _moment["default"].utc(vis.updatedAt).fromNow()));
|
|
58
58
|
};
|
|
59
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9tZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pY29ucyIsIl90ZW1wbGF0ZU9iamVjdCIsIk1hcEljb24iLCJwcm9wcyIsImNyZWF0ZUVsZW1lbnQiLCJjaGlsZHJlbiIsIkJhc2UiLCJoZWlnaHQiLCJ2aWV3Qm94IiwiZmlsbCIsImQiLCJQcml2YWN5QmFkZ2UiLCJfcmVmIiwicHJpdmF0ZU1hcCIsImNsYXNzTmFtZSIsIlN0eWxlZFZpc3VhbGl6YXRpb25JdGVtIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJDbG91ZEl0ZW0iLCJleHBvcnRzIiwiX3JlZjIiLCJfdmlzJGRlc2NyaXB0aW9uIiwidmlzIiwib25DbGljayIsInRodW1ibmFpbFN0eWxlIiwiYmFja2dyb3VuZEltYWdlIiwiY29uY2F0IiwidGh1bWJuYWlsIiwicm9sZSIsInN0eWxlIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImxlbmd0aCIsIm1vbWVudCIsInV0YyIsInVwZGF0ZWRBdCIsImZyb21Ob3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kYWxzL2Nsb3VkLWNvbXBvbmVudHMvY2xvdWQtaXRlbS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7QmFzZX0gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcblxuY29uc3QgTWFwSWNvbiA9IHByb3BzID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IHsuLi5wcm9wc30+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8QmFzZSBoZWlnaHQ9XCIzMnB4XCIgdmlld0JveD17JzAgMCAxNiAxNid9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCIjZDNkOGQ2XCJcbiAgICAgICAgICBkPVwibTEzLjYgMTEuNTcyLTMuMiAyLjEzMzZ2LTkuMjc3NmwzLjItMi4xMzM2em0tMTItNy4xNDQgMy4yLTIuMTMzNnY5LjI3NzZsLTMuMiAyLjEzMzZ6bTEzLjI0NCA4LjIzNzZjMC4yMjI0LTAuMTQ4IDAuMzU2LTAuMzk4NCAwLjM1Ni0wLjY2NTZ2LTExLjJjMC0wLjI5NTItMC4xNjI0LTAuNTY2NC0wLjQyMjQtMC43MDQ4LTAuMjYtMC4xNC0wLjU3Ni0wLjEyNDgtMC44MjE2IDAuMDM5MmwtNC4zMTI4IDIuODc2LTMuNTQzMi0yLjgzNTJjLTAuMTIwOC0wLjA5MzYtMC4yOTUyLTAuMTYyNC0wLjQ3Mi0wLjE2ODgtMC4xNjQ4LTAuMDA2NC0wLjM0OCAwLjA0NjQtMC40NzIgMC4xMjhsLTQuOCAzLjJjLTAuMjIyNCAwLjE0ODgtMC4zNTYgMC4zOTg0LTAuMzU2IDAuNjY1NnYxMS4yYzAgMC4yOTUyIDAuMTYyNCAwLjU2NjQgMC40MjI0IDAuNzA1NiAwLjExODQgMC4wNjMyIDAuMjQ4IDAuMDk0NCAwLjM3NzYgMC4wOTQ0IDAuMTU1MiAwIDAuMzA5Ni0wLjA0NDggMC40NDQtMC4xMzQ0bDQuMzEyOC0yLjg3NiAzLjU0MzIgMi44MzUyYzAuMTQ0OCAwLjExNiAwLjMyMTYgMC4xNzUyIDAuNSAwLjE3NTIgMC4xMTg0IDAgMC4yMzYtMC4wMjQ4IDAuMzQ2NC0wLjA3ODR6XCJcbiAgICAgICAgLz5cbiAgICAgIDwvQmFzZT5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IFByaXZhY3lCYWRnZSA9ICh7cHJpdmF0ZU1hcH0pID0+IChcbiAgPHNwYW4gY2xhc3NOYW1lPVwidmlzX2l0ZW0tcHJpdmFjeVwiPntwcml2YXRlTWFwID8gJ1ByaXZhdGUnIDogJ1B1YmxpYyd9PC9zcGFuPlxuKTtcblxuY29uc3QgU3R5bGVkVmlzdWFsaXphdGlvbkl0ZW0gPSBzdHlsZWQuZGl2YFxuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDIwOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNnB4IDhweDtcbiAgY29sb3I6ICMzYTQxNGM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgJjpob3ZlciB7XG4gICAgLnZpc19pdGVtLWljb24sXG4gICAgLnZpc19pdGVtLXRodW1iLFxuICAgIC52aXNfaXRlbS1kZXNjcmlwdGlvbixcbiAgICAudmlzX2l0ZW0tbW9kaWZpY2F0aW9uLWRhdGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2JiYmJiYjtcbiAgfVxuXG4gIC52aXNfaXRlbS1pY29uLFxuICAudmlzX2l0ZW0tdGh1bWIsXG4gIC52aXNfaXRlbS1kZXNjcmlwdGlvbixcbiAgLnZpc19pdGVtLW1vZGlmaWNhdGlvbi1kYXRlIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2U7XG4gIH1cblxuICAudmlzX2l0ZW0taWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMCAxMDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmE3NDg0O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC52aXNfaXRlbS10aHVtYiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMCAxMDhweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cblxuICAudmlzX2l0ZW0tcHJpdmFjeSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNjUsIDc2LCAwLjcpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgfVxuXG4gIC52aXNfaXRlbS10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIC52aXNfaXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG5cbiAgLnZpc19pdGVtLW1vZGlmaWNhdGlvbi1kYXRlIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGNvbG9yOiAjNmE3NDg0O1xuICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ2xvdWRJdGVtID0gKHt2aXMsIG9uQ2xpY2t9KSA9PiB7XG4gIGNvbnN0IHRodW1ibmFpbFN0eWxlID0ge2JhY2tncm91bmRJbWFnZTogYHVybCgke3Zpcy50aHVtYm5haWx9KWB9O1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRWaXN1YWxpemF0aW9uSXRlbSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIHt2aXMudGh1bWJuYWlsID8gKFxuICAgICAgICA8ZGl2IHJvbGU9XCJ0aHVtYm5haWwtd3JhcHBlclwiIGNsYXNzTmFtZT1cInZpc19pdGVtLXRodW1iXCIgc3R5bGU9e3RodW1ibmFpbFN0eWxlfT5cbiAgICAgICAgICB7T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZpcywgJ3ByaXZhdGVNYXAnKSA/IChcbiAgICAgICAgICAgIDxQcml2YWN5QmFkZ2UgcHJpdmF0ZU1hcD17dmlzLnByaXZhdGVNYXB9IC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgPE1hcEljb24gcm9sZT1cIm1hcC1pY29uXCIgY2xhc3NOYW1lPVwidmlzX2l0ZW0taWNvblwiPlxuICAgICAgICAgIHtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmlzLCAncHJpdmF0ZU1hcCcpID8gKFxuICAgICAgICAgICAgPFByaXZhY3lCYWRnZSBwcml2YXRlTWFwPXt2aXMucHJpdmF0ZU1hcH0gLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9NYXBJY29uPlxuICAgICAgKX1cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInZpc19pdGVtLXRpdGxlXCI+e3Zpcy50aXRsZX08L3NwYW4+
|
|
59
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9tZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pY29ucyIsIl90ZW1wbGF0ZU9iamVjdCIsIk1hcEljb24iLCJwcm9wcyIsImNyZWF0ZUVsZW1lbnQiLCJjaGlsZHJlbiIsIkJhc2UiLCJoZWlnaHQiLCJ2aWV3Qm94IiwiZmlsbCIsImQiLCJQcml2YWN5QmFkZ2UiLCJfcmVmIiwicHJpdmF0ZU1hcCIsImNsYXNzTmFtZSIsIlN0eWxlZFZpc3VhbGl6YXRpb25JdGVtIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJDbG91ZEl0ZW0iLCJleHBvcnRzIiwiX3JlZjIiLCJfdmlzJGRlc2NyaXB0aW9uIiwidmlzIiwib25DbGljayIsInRodW1ibmFpbFN0eWxlIiwiYmFja2dyb3VuZEltYWdlIiwiY29uY2F0IiwidGh1bWJuYWlsIiwicm9sZSIsInN0eWxlIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImxlbmd0aCIsIm1vbWVudCIsInV0YyIsInVwZGF0ZWRBdCIsImZyb21Ob3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kYWxzL2Nsb3VkLWNvbXBvbmVudHMvY2xvdWQtaXRlbS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7QmFzZX0gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcblxuY29uc3QgTWFwSWNvbiA9IHByb3BzID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IHsuLi5wcm9wc30+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8QmFzZSBoZWlnaHQ9XCIzMnB4XCIgdmlld0JveD17JzAgMCAxNiAxNid9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCIjZDNkOGQ2XCJcbiAgICAgICAgICBkPVwibTEzLjYgMTEuNTcyLTMuMiAyLjEzMzZ2LTkuMjc3NmwzLjItMi4xMzM2em0tMTItNy4xNDQgMy4yLTIuMTMzNnY5LjI3NzZsLTMuMiAyLjEzMzZ6bTEzLjI0NCA4LjIzNzZjMC4yMjI0LTAuMTQ4IDAuMzU2LTAuMzk4NCAwLjM1Ni0wLjY2NTZ2LTExLjJjMC0wLjI5NTItMC4xNjI0LTAuNTY2NC0wLjQyMjQtMC43MDQ4LTAuMjYtMC4xNC0wLjU3Ni0wLjEyNDgtMC44MjE2IDAuMDM5MmwtNC4zMTI4IDIuODc2LTMuNTQzMi0yLjgzNTJjLTAuMTIwOC0wLjA5MzYtMC4yOTUyLTAuMTYyNC0wLjQ3Mi0wLjE2ODgtMC4xNjQ4LTAuMDA2NC0wLjM0OCAwLjA0NjQtMC40NzIgMC4xMjhsLTQuOCAzLjJjLTAuMjIyNCAwLjE0ODgtMC4zNTYgMC4zOTg0LTAuMzU2IDAuNjY1NnYxMS4yYzAgMC4yOTUyIDAuMTYyNCAwLjU2NjQgMC40MjI0IDAuNzA1NiAwLjExODQgMC4wNjMyIDAuMjQ4IDAuMDk0NCAwLjM3NzYgMC4wOTQ0IDAuMTU1MiAwIDAuMzA5Ni0wLjA0NDggMC40NDQtMC4xMzQ0bDQuMzEyOC0yLjg3NiAzLjU0MzIgMi44MzUyYzAuMTQ0OCAwLjExNiAwLjMyMTYgMC4xNzUyIDAuNSAwLjE3NTIgMC4xMTg0IDAgMC4yMzYtMC4wMjQ4IDAuMzQ2NC0wLjA3ODR6XCJcbiAgICAgICAgLz5cbiAgICAgIDwvQmFzZT5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IFByaXZhY3lCYWRnZSA9ICh7cHJpdmF0ZU1hcH0pID0+IChcbiAgPHNwYW4gY2xhc3NOYW1lPVwidmlzX2l0ZW0tcHJpdmFjeVwiPntwcml2YXRlTWFwID8gJ1ByaXZhdGUnIDogJ1B1YmxpYyd9PC9zcGFuPlxuKTtcblxuY29uc3QgU3R5bGVkVmlzdWFsaXphdGlvbkl0ZW0gPSBzdHlsZWQuZGl2YFxuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDIwOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNnB4IDhweDtcbiAgY29sb3I6ICMzYTQxNGM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgJjpob3ZlciB7XG4gICAgLnZpc19pdGVtLWljb24sXG4gICAgLnZpc19pdGVtLXRodW1iLFxuICAgIC52aXNfaXRlbS1kZXNjcmlwdGlvbixcbiAgICAudmlzX2l0ZW0tbW9kaWZpY2F0aW9uLWRhdGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2JiYmJiYjtcbiAgfVxuXG4gIC52aXNfaXRlbS1pY29uLFxuICAudmlzX2l0ZW0tdGh1bWIsXG4gIC52aXNfaXRlbS1kZXNjcmlwdGlvbixcbiAgLnZpc19pdGVtLW1vZGlmaWNhdGlvbi1kYXRlIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2U7XG4gIH1cblxuICAudmlzX2l0ZW0taWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMCAxMDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmE3NDg0O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC52aXNfaXRlbS10aHVtYiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMCAxMDhweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cblxuICAudmlzX2l0ZW0tcHJpdmFjeSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNjUsIDc2LCAwLjcpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgfVxuXG4gIC52aXNfaXRlbS10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIC52aXNfaXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG5cbiAgLnZpc19pdGVtLW1vZGlmaWNhdGlvbi1kYXRlIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGNvbG9yOiAjNmE3NDg0O1xuICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ2xvdWRJdGVtID0gKHt2aXMsIG9uQ2xpY2t9KSA9PiB7XG4gIGNvbnN0IHRodW1ibmFpbFN0eWxlID0ge2JhY2tncm91bmRJbWFnZTogYHVybCgke3Zpcy50aHVtYm5haWx9KWB9O1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRWaXN1YWxpemF0aW9uSXRlbSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIHt2aXMudGh1bWJuYWlsID8gKFxuICAgICAgICA8ZGl2IHJvbGU9XCJ0aHVtYm5haWwtd3JhcHBlclwiIGNsYXNzTmFtZT1cInZpc19pdGVtLXRodW1iXCIgc3R5bGU9e3RodW1ibmFpbFN0eWxlfT5cbiAgICAgICAgICB7T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZpcywgJ3ByaXZhdGVNYXAnKSA/IChcbiAgICAgICAgICAgIDxQcml2YWN5QmFkZ2UgcHJpdmF0ZU1hcD17dmlzLnByaXZhdGVNYXB9IC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgPE1hcEljb24gcm9sZT1cIm1hcC1pY29uXCIgY2xhc3NOYW1lPVwidmlzX2l0ZW0taWNvblwiPlxuICAgICAgICAgIHtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmlzLCAncHJpdmF0ZU1hcCcpID8gKFxuICAgICAgICAgICAgPFByaXZhY3lCYWRnZSBwcml2YXRlTWFwPXt2aXMucHJpdmF0ZU1hcH0gLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9NYXBJY29uPlxuICAgICAgKX1cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInZpc19pdGVtLXRpdGxlXCI+e3Zpcy50aXRsZX08L3NwYW4+XG4gICAgICB7dmlzLmRlc2NyaXB0aW9uPy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidmlzX2l0ZW0tZGVzY3JpcHRpb25cIj57dmlzLmRlc2NyaXB0aW9ufTwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJ2aXNfaXRlbS1tb2RpZmljYXRpb24tZGF0ZVwiPlxuICAgICAgICBMYXN0IG1vZGlmaWVkIHttb21lbnQudXRjKHZpcy51cGRhdGVkQXQpLmZyb21Ob3coKX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L1N0eWxlZFZpc3VhbGl6YXRpb25JdGVtPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxpQkFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQXdDLElBQUFJLGVBQUEsRUFOeEM7QUFDQTtBQU9BLElBQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFHQyxLQUFLLEVBQUk7RUFDdkIsb0JBQ0VMLE1BQUEsWUFBQU0sYUFBQSxRQUFTRCxLQUFLLEVBQ1hBLEtBQUssQ0FBQ0UsUUFBUSxlQUNmUCxNQUFBLFlBQUFNLGFBQUEsQ0FBQ0osTUFBQSxDQUFBTSxJQUFJO0lBQUNDLE1BQU0sRUFBQyxNQUFNO0lBQUNDLE9BQU8sRUFBRTtFQUFZLGdCQUN2Q1YsTUFBQSxZQUFBTSxhQUFBO0lBQ0VLLElBQUksRUFBQyxTQUFTO0lBQ2RDLENBQUMsRUFBQztFQUF1bEIsQ0FDMWxCLENBQ0csQ0FDSCxDQUFDO0FBRVYsQ0FBQztBQUVELElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBQyxJQUFBO0VBQUEsSUFBS0MsVUFBVSxHQUFBRCxJQUFBLENBQVZDLFVBQVU7RUFBQSxvQkFDL0JmLE1BQUEsWUFBQU0sYUFBQTtJQUFNVSxTQUFTLEVBQUM7RUFBa0IsR0FBRUQsVUFBVSxHQUFHLFNBQVMsR0FBRyxRQUFlLENBQUM7QUFBQSxDQUM5RTtBQUVELElBQU1FLHVCQUF1QixHQUFHQyw0QkFBTSxDQUFDQyxHQUFHLENBQUFoQixlQUFBLEtBQUFBLGVBQUEsT0FBQWlCLHVCQUFBLDZpREFnRnpDO0FBRU0sSUFBTUMsU0FBUyxHQUFBQyxPQUFBLENBQUFELFNBQUEsR0FBRyxTQUFaQSxTQUFTQSxDQUFBRSxLQUFBLEVBQXVCO0VBQUEsSUFBQUMsZ0JBQUE7RUFBQSxJQUFsQkMsR0FBRyxHQUFBRixLQUFBLENBQUhFLEdBQUc7SUFBRUMsT0FBTyxHQUFBSCxLQUFBLENBQVBHLE9BQU87RUFDckMsSUFBTUMsY0FBYyxHQUFHO0lBQUNDLGVBQWUsU0FBQUMsTUFBQSxDQUFTSixHQUFHLENBQUNLLFNBQVM7RUFBRyxDQUFDO0VBQ2pFLG9CQUNFOUIsTUFBQSxZQUFBTSxhQUFBLENBQUNXLHVCQUF1QjtJQUFDUyxPQUFPLEVBQUVBO0VBQVEsR0FDdkNELEdBQUcsQ0FBQ0ssU0FBUyxnQkFDWjlCLE1BQUEsWUFBQU0sYUFBQTtJQUFLeUIsSUFBSSxFQUFDLG1CQUFtQjtJQUFDZixTQUFTLEVBQUMsZ0JBQWdCO0lBQUNnQixLQUFLLEVBQUVMO0VBQWUsR0FDNUVNLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1gsR0FBRyxFQUFFLFlBQVksQ0FBQyxnQkFDdER6QixNQUFBLFlBQUFNLGFBQUEsQ0FBQ08sWUFBWTtJQUFDRSxVQUFVLEVBQUVVLEdBQUcsQ0FBQ1Y7RUFBVyxDQUFFLENBQUMsR0FDMUMsSUFDRCxDQUFDLGdCQUVOZixNQUFBLFlBQUFNLGFBQUEsQ0FBQ0YsT0FBTztJQUFDMkIsSUFBSSxFQUFDLFVBQVU7SUFBQ2YsU0FBUyxFQUFDO0VBQWUsR0FDL0NpQixNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNYLEdBQUcsRUFBRSxZQUFZLENBQUMsZ0JBQ3REekIsTUFBQSxZQUFBTSxhQUFBLENBQUNPLFlBQVk7SUFBQ0UsVUFBVSxFQUFFVSxHQUFHLENBQUNWO0VBQVcsQ0FBRSxDQUFDLEdBQzFDLElBQ0csQ0FDVixlQUNEZixNQUFBLFlBQUFNLGFBQUE7SUFBTVUsU0FBUyxFQUFDO0VBQWdCLEdBQUVTLEdBQUcsQ0FBQ1ksS0FBWSxDQUFDLEVBQ2xELEVBQUFiLGdCQUFBLEdBQUFDLEdBQUcsQ0FBQ2EsV0FBVyxjQUFBZCxnQkFBQSx1QkFBZkEsZ0JBQUEsQ0FBaUJlLE1BQU0sSUFBRyxDQUFDLGlCQUMxQnZDLE1BQUEsWUFBQU0sYUFBQTtJQUFNVSxTQUFTLEVBQUM7RUFBc0IsR0FBRVMsR0FBRyxDQUFDYSxXQUFrQixDQUMvRCxlQUNEdEMsTUFBQSxZQUFBTSxhQUFBO0lBQU1VLFNBQVMsRUFBQztFQUE0QixHQUFDLGdCQUM3QixFQUFDd0Isa0JBQU0sQ0FBQ0MsR0FBRyxDQUFDaEIsR0FBRyxDQUFDaUIsU0FBUyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxDQUM3QyxDQUNpQixDQUFDO0FBRTlCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { IStyledComponent } from 'styled-components';
|
|
2
3
|
import { Provider } from '@kepler.gl/cloud-providers';
|
|
3
|
-
|
|
4
|
+
import { BaseComponentProps } from '../types';
|
|
5
|
+
export declare type StyledTileWrapperProps = BaseComponentProps & {
|
|
6
|
+
selected?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare const StyledWarning: IStyledComponent<"web", import("styled-components/dist/types").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>>;
|
|
4
9
|
interface CloudTileProps {
|
|
5
10
|
actionName?: string | null;
|
|
6
11
|
provider: Provider;
|