@carto/kepler.gl 0.0.76 → 0.0.77
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/components/kepler-gl.js +2 -11
- package/dist/components/map-container.js +1 -4
- package/dist/components/modal-container.js +1 -3
- package/dist/components/modals/add-map-style-modal.js +1 -4
- package/dist/constants/default-settings.js +1 -1
- package/dist/utils/gl-utils.js +4 -5
- package/package.json +12 -11
- package/src/components/kepler-gl.d.ts +0 -1
- package/src/components/kepler-gl.js +0 -7
- package/src/components/map-container.js +0 -3
- package/src/components/modal-container.d.ts +0 -1
- package/src/components/modal-container.js +0 -2
- package/src/components/modals/add-map-style-modal.js +0 -3
- package/src/utils/gl-utils.js +2 -4
|
@@ -365,7 +365,6 @@ function ModalContainerFactory(DeleteDatasetModal, OverWriteMapModal, DataTableM
|
|
|
365
365
|
break;
|
|
366
366
|
case _defaultSettings.ADD_MAP_STYLE_ID:
|
|
367
367
|
template = /*#__PURE__*/_react["default"].createElement(AddMapStyleModal, {
|
|
368
|
-
mapboxApiAccessToken: this.props.mapboxApiAccessToken,
|
|
369
368
|
mapboxApiUrl: this.props.mapboxApiUrl,
|
|
370
369
|
mapState: this.props.mapState,
|
|
371
370
|
inputStyle: mapStyle.inputStyle,
|
|
@@ -469,7 +468,6 @@ function ModalContainerFactory(DeleteDatasetModal, OverWriteMapModal, DataTableM
|
|
|
469
468
|
rootNode: _propTypes["default"].object,
|
|
470
469
|
containerW: _propTypes["default"].number,
|
|
471
470
|
containerH: _propTypes["default"].number,
|
|
472
|
-
mapboxApiAccessToken: _propTypes["default"].string.isRequired,
|
|
473
471
|
mapboxApiUrl: _propTypes["default"].string,
|
|
474
472
|
mapState: _propTypes["default"].object.isRequired,
|
|
475
473
|
mapStyle: _propTypes["default"].object.isRequired,
|
|
@@ -483,4 +481,4 @@ function ModalContainerFactory(DeleteDatasetModal, OverWriteMapModal, DataTableM
|
|
|
483
481
|
});
|
|
484
482
|
return ModalContainer;
|
|
485
483
|
}
|
|
486
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX3JlYWN0RG9tIiwiX3Jlc2VsZWN0IiwiX2dldCIsIl9kb2N1bWVudCIsIl9kZWZhdWx0U2V0dGluZ3MiLCJfbW9kYWxEaWFsb2ciLCJfZXhwb3J0VXRpbHMiLCJfbWFwSW5mb1V0aWxzIiwiX2RlbGV0ZURhdGFNb2RhbCIsIl9vdmVyd3JpdGVNYXBNb2RhbCIsIl9kYXRhVGFibGVNb2RhbCIsIl9sb2FkRGF0YU1vZGFsIiwiX2V4cG9ydEltYWdlTW9kYWwiLCJfZXhwb3J0RGF0YU1vZGFsIiwiX2V4cG9ydE1hcE1vZGFsIiwiX2FkZE1hcFN0eWxlTW9kYWwiLCJfc2F2ZU1hcE1vZGFsIiwiX3NoYXJlTWFwTW9kYWwiLCJfbWVkaWFCcmVha3BvaW50cyIsIl9rZXlldmVudCIsIl92aXNTdGF0ZVNlbGVjdG9ycyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwidmFsdWVPZiIsIkRhdGFUYWJsZU1vZGFsU3R5bGUiLCJjc3MiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIm1lZGlhIiwicG9ydGFibGUiLCJwYWxtIiwic21hbGxNb2RhbENzcyIsIkxvYWREYXRhTW9kYWxTdHlsZSIsIkRlZmF1bHRTdHlsZSIsIk1vZGFsQ29udGFpbmVyRmFjdG9yeSIsImRlcHMiLCJEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5IiwiT3ZlcldyaXRlTWFwTW9kYWxGYWN0b3J5IiwiRGF0YVRhYmxlTW9kYWxGYWN0b3J5IiwiTG9hZERhdGFNb2RhbEZhY3RvcnkiLCJFeHBvcnRJbWFnZU1vZGFsRmFjdG9yeSIsIkV4cG9ydERhdGFNb2RhbEZhY3RvcnkiLCJFeHBvcnRNYXBNb2RhbEZhY3RvcnkiLCJBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeSIsIk1vZGFsRGlhbG9nRmFjdG9yeSIsIlNhdmVNYXBNb2RhbEZhY3RvcnkiLCJTaGFyZU1hcE1vZGFsRmFjdG9yeSIsIkRlbGV0ZURhdGFzZXRNb2RhbCIsIk92ZXJXcml0ZU1hcE1vZGFsIiwiRGF0YVRhYmxlTW9kYWwiLCJMb2FkRGF0YU1vZGFsIiwiRXhwb3J0SW1hZ2VNb2RhbCIsIkV4cG9ydERhdGFNb2RhbCIsIkV4cG9ydE1hcE1vZGFsIiwiQWRkTWFwU3R5bGVNb2RhbCIsIk1vZGFsRGlhbG9nIiwiU2F2ZU1hcE1vZGFsIiwiU2hhcmVNYXBNb2RhbCIsIk1vZGFsQ29udGFpbmVyIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0czIiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQyIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiX29uS2V5VXAiLCJwcm9wcyIsImNsb3VkUHJvdmlkZXJzIiwiY3JlYXRlU2VsZWN0b3IiLCJwIiwiaGFzUHJpdmF0ZVN0b3JhZ2UiLCJoYXNTaGFyaW5nVXJsIiwiZXZlbnQiLCJrZXlDb2RlIiwiS2V5RXZlbnQiLCJET01fVktfRVNDQVBFIiwiX2Nsb3NlTW9kYWwiLCJ1aVN0YXRlQWN0aW9ucyIsInRvZ2dsZU1vZGFsIiwia2V5IiwidmlzU3RhdGVBY3Rpb25zIiwicmVtb3ZlRGF0YXNldCIsIm1hcFN0eWxlQWN0aW9ucyIsImFkZEN1c3RvbU1hcFN0eWxlIiwiZmlsZUxpc3QiLCJsb2FkRmlsZXMiLCJ1aVN0YXRlIiwiZXhwb3J0SW1hZ2UiLCJwcm9jZXNzaW5nIiwiYXBwTmFtZSIsImNsZWFudXBFeHBvcnRJbWFnZSIsImV4cG9ydERhdGEiLCJmb3JtYXQiLCJleHBvcnRNYXAiLCJFWFBPUlRfTUFQX0ZPUk1BVFMiLCJIVE1MIiwiZXhwb3J0SHRtbCIsImV4cG9ydEpzb24iLCJfcmVmIiwicHJvdmlkZXIiLCJpc1B1YmxpYyIsIm92ZXJ3cml0ZSIsImNsb3NlTW9kYWwiLCJ0b1NhdmUiLCJwcm92aWRlckFjdGlvbnMiLCJleHBvcnRGaWxlVG9DbG91ZCIsIm1hcERhdGEiLCJvcHRpb25zIiwib25TdWNjZXNzIiwib25FeHBvcnRUb0Nsb3VkU3VjY2VzcyIsIm9uRXJyb3IiLCJvbkV4cG9ydFRvQ2xvdWRFcnJvciIsInVuZGVmaW5lZCIsImN1cnJlbnRQcm92aWRlciIsInByb3ZpZGVyU3RhdGUiLCJmaW5kIiwibmFtZSIsIl9leHBvcnRGaWxlVG9DbG91ZCIsIl9vblNhdmVNYXAiLCJyZXNldFByb3ZpZGVyU3RhdHVzIiwicGF5bG9hZCIsImxvYWRDbG91ZE1hcCIsIm9uTG9hZENsb3VkTWFwU3VjY2VzcyIsIm9uTG9hZENsb3VkTWFwRXJyb3IiLCJfY3JlYXRlQ2xhc3MyIiwidmFsdWUiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZW5kZXIiLCJfdGhpczIiLCJfdGhpcyRwcm9wcyIsImNvbnRhaW5lclciLCJjb250YWluZXJIIiwibWFwU3R5bGUiLCJtYXBTdGF0ZSIsInZpc1N0YXRlIiwicm9vdE5vZGUiLCJjdXJyZW50TW9kYWwiLCJkYXRhc2V0S2V5VG9SZW1vdmUiLCJkYXRhc2V0cyIsImxheWVycyIsImVkaXRpbmdEYXRhc2V0IiwidGVtcGxhdGUiLCJtb2RhbFByb3BzIiwiaWQiLCJjcmVhdGVFbGVtZW50IiwiREFUQV9UQUJMRV9JRCIsIndpZHRoIiwiaGVpZ2h0IiwiZGF0YUlkIiwic2hvd0RhdGFzZXRUYWJsZSIsInNvcnRUYWJsZUNvbHVtbiIsInBpblRhYmxlQ29sdW1uIiwiY29weVRhYmxlQ29sdW1uIiwiY3NzU3R5bGUiLCJERUxFVEVfREFUQV9JRCIsImRhdGFzZXQiLCJ0aXRsZSIsImZvb3RlciIsIm9uQ29uZmlybSIsIl9kZWxldGVEYXRhc2V0Iiwib25DYW5jZWwiLCJjb25maXJtQnV0dG9uIiwibmVnYXRpdmUiLCJsYXJnZSIsImNoaWxkcmVuIiwiQUREX0RBVEFfSUQiLCJfZXh0ZW5kczIiLCJvbkNsb3NlIiwib25GaWxlVXBsb2FkIiwiX29uRmlsZVVwbG9hZCIsIm9uTG9hZENsb3VkTWFwIiwiX29uTG9hZENsb3VkTWFwIiwicHJvdmlkZXJXaXRoU3RvcmFnZSIsIm9uU2V0Q2xvdWRQcm92aWRlciIsInNldENsb3VkUHJvdmlkZXIiLCJnZXRTYXZlZE1hcHMiLCJmaWxlTG9hZGluZyIsImZpbGVMb2FkaW5nUHJvZ3Jlc3MiLCJmaWxlRm9ybWF0TmFtZXMiLCJnZXRGaWxlRm9ybWF0TmFtZXMiLCJmaWxlRXh0ZW5zaW9ucyIsImdldEZpbGVFeHRlbnNpb25zIiwiRVhQT1JUX0lNQUdFX0lEIiwibWFwVyIsIm1hcEgiLCJvblVwZGF0ZUltYWdlU2V0dGluZyIsInNldEV4cG9ydEltYWdlU2V0dGluZyIsIl9vbkV4cG9ydEltYWdlIiwiZGlzYWJsZWQiLCJFWFBPUlRfREFUQV9JRCIsInN1cHBvcnRlZERhdGFUeXBlcyIsIkVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyIsImFwcGx5Q1BVRmlsdGVyIiwib25DaGFuZ2VFeHBvcnREYXRhVHlwZSIsInNldEV4cG9ydERhdGFUeXBlIiwib25DaGFuZ2VFeHBvcnRTZWxlY3RlZERhdGFzZXQiLCJzZXRFeHBvcnRTZWxlY3RlZERhdGFzZXQiLCJvbkNoYW5nZUV4cG9ydEZpbHRlcmVkIiwic2V0RXhwb3J0RmlsdGVyZWQiLCJfb25FeHBvcnREYXRhIiwiRVhQT1JUX01BUF9JRCIsImtlcGxlckdsQ29uZmlnIiwic2NoZW1hIiwiZ2V0Q29uZmlnVG9TYXZlIiwiY29uZmlnIiwib25DaGFuZ2VFeHBvcnRNYXBGb3JtYXQiLCJzZXRFeHBvcnRNYXBGb3JtYXQiLCJvbkVkaXRVc2VyTWFwYm94QWNjZXNzVG9rZW4iLCJzZXRVc2VyTWFwYm94QWNjZXNzVG9rZW4iLCJvbkNoYW5nZUV4cG9ydE1hcEhUTUxNb2RlIiwic2V0RXhwb3J0SFRNTE1hcE1vZGUiLCJfb25FeHBvcnRNYXAiLCJBRERfTUFQX1NUWUxFX0lEIiwibWFwYm94QXBpQWNjZXNzVG9rZW4iLCJtYXBib3hBcGlVcmwiLCJpbnB1dFN0eWxlIiwiaW5wdXRNYXBTdHlsZSIsImxvYWRDdXN0b21NYXBTdHlsZSIsIl9vbkFkZEN1c3RvbU1hcFN0eWxlIiwic3R5bGUiLCJTQVZFX01BUF9JRCIsIm1hcEluZm8iLCJvblNldE1hcEluZm8iLCJzZXRNYXBJbmZvIiwiaXNWYWxpZE1hcEluZm8iLCJPVkVSV1JJVEVfTUFQX0lEIiwiX29uT3ZlcndyaXRlTWFwIiwiU0hBUkVfTUFQX0lEIiwiaXNSZWFkeSIsInByb3ZpZGVyV2l0aFNoYXJlIiwib25FeHBvcnQiLCJfb25TaGFyZU1hcFVybCIsIl9vbkNsb3NlU2F2ZU1hcCIsInBhcmVudFNlbGVjdG9yIiwiZmluZERPTU5vZGUiLCJpc09wZW4iLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJudW1iZXIiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwib25TYXZlVG9TdG9yYWdlIiwiZnVuYyIsImFycmF5T2YiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9tb2RhbC1jb250YWluZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHtjc3N9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7ZmluZERPTU5vZGV9IGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQge2NyZWF0ZVNlbGVjdG9yfSBmcm9tICdyZXNlbGVjdCc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuaW1wb3J0IGRvY3VtZW50IGZyb20gJ2dsb2JhbC9kb2N1bWVudCc7XG5cbmltcG9ydCB7RVhQT1JUX0RBVEFfVFlQRV9PUFRJT05TLCBFWFBPUlRfTUFQX0ZPUk1BVFN9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCBNb2RhbERpYWxvZ0ZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvbW9kYWwtZGlhbG9nJztcbmltcG9ydCB7ZXhwb3J0SnNvbiwgZXhwb3J0SHRtbCwgZXhwb3J0RGF0YSwgZXhwb3J0SW1hZ2UsIGV4cG9ydE1hcH0gZnJvbSAndXRpbHMvZXhwb3J0LXV0aWxzJztcbmltcG9ydCB7aXNWYWxpZE1hcEluZm99IGZyb20gJ3V0aWxzL21hcC1pbmZvLXV0aWxzJztcblxuLy8gbW9kYWxzXG5pbXBvcnQgRGVsZXRlRGF0YXNldE1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9kZWxldGUtZGF0YS1tb2RhbCc7XG5pbXBvcnQgT3ZlcldyaXRlTWFwTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL292ZXJ3cml0ZS1tYXAtbW9kYWwnO1xuaW1wb3J0IERhdGFUYWJsZU1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9kYXRhLXRhYmxlLW1vZGFsJztcbmltcG9ydCBMb2FkRGF0YU1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9sb2FkLWRhdGEtbW9kYWwnO1xuaW1wb3J0IEV4cG9ydEltYWdlTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2V4cG9ydC1pbWFnZS1tb2RhbCc7XG5pbXBvcnQgRXhwb3J0RGF0YU1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9leHBvcnQtZGF0YS1tb2RhbCc7XG5pbXBvcnQgRXhwb3J0TWFwTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2V4cG9ydC1tYXAtbW9kYWwvZXhwb3J0LW1hcC1tb2RhbCc7XG5pbXBvcnQgQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvYWRkLW1hcC1zdHlsZS1tb2RhbCc7XG5pbXBvcnQgU2F2ZU1hcE1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9zYXZlLW1hcC1tb2RhbCc7XG5pbXBvcnQgU2hhcmVNYXBNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvc2hhcmUtbWFwLW1vZGFsJztcblxuLy8gQnJlYWtwb2ludHNcbmltcG9ydCB7bWVkaWF9IGZyb20gJ3N0eWxlcy9tZWRpYS1icmVha3BvaW50cyc7XG5cbi8vIFRlbXBsYXRlXG5pbXBvcnQge1xuICBBRERfREFUQV9JRCxcbiAgREFUQV9UQUJMRV9JRCxcbiAgREVMRVRFX0RBVEFfSUQsXG4gIEVYUE9SVF9EQVRBX0lELFxuICBFWFBPUlRfSU1BR0VfSUQsXG4gIEVYUE9SVF9NQVBfSUQsXG4gIEFERF9NQVBfU1RZTEVfSUQsXG4gIFNBVkVfTUFQX0lELFxuICBTSEFSRV9NQVBfSUQsXG4gIE9WRVJXUklURV9NQVBfSURcbn0gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5pbXBvcnQgS2V5RXZlbnQgZnJvbSAnY29uc3RhbnRzL2tleWV2ZW50JztcbmltcG9ydCB7Z2V0RmlsZUZvcm1hdE5hbWVzLCBnZXRGaWxlRXh0ZW5zaW9uc30gZnJvbSAnLi4vcmVkdWNlcnMvdmlzLXN0YXRlLXNlbGVjdG9ycyc7XG5cbmNvbnN0IERhdGFUYWJsZU1vZGFsU3R5bGUgPSBjc3NgXG4gIHRvcDogODBweDtcbiAgcGFkZGluZzogMzJweCAwIDAgMDtcbiAgd2lkdGg6IDkwdnc7XG4gIG1heC13aWR0aDogOTB2dztcblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIHBhZGRpbmc6IDA7XG4gIGB9ICR7bWVkaWEucGFsbWBcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICBgfTtcbmA7XG5jb25zdCBzbWFsbE1vZGFsQ3NzID0gY3NzYFxuICB3aWR0aDogNDAlO1xuICBwYWRkaW5nOiA0MHB4IDQwcHggMzJweCA0MHB4O1xuYDtcblxuY29uc3QgTG9hZERhdGFNb2RhbFN0eWxlID0gY3NzYFxuICB0b3A6IDYwcHg7XG5gO1xuXG5jb25zdCBEZWZhdWx0U3R5bGUgPSBjc3NgXG4gIG1heC13aWR0aDogOTYwcHg7XG5gO1xuXG5Nb2RhbENvbnRhaW5lckZhY3RvcnkuZGVwcyA9IFtcbiAgRGVsZXRlRGF0YXNldE1vZGFsRmFjdG9yeSxcbiAgT3ZlcldyaXRlTWFwTW9kYWxGYWN0b3J5LFxuICBEYXRhVGFibGVNb2RhbEZhY3RvcnksXG4gIExvYWREYXRhTW9kYWxGYWN0b3J5LFxuICBFeHBvcnRJbWFnZU1vZGFsRmFjdG9yeSxcbiAgRXhwb3J0RGF0YU1vZGFsRmFjdG9yeSxcbiAgRXhwb3J0TWFwTW9kYWxGYWN0b3J5LFxuICBBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeSxcbiAgTW9kYWxEaWFsb2dGYWN0b3J5LFxuICBTYXZlTWFwTW9kYWxGYWN0b3J5LFxuICBTaGFyZU1hcE1vZGFsRmFjdG9yeVxuXTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTW9kYWxDb250YWluZXJGYWN0b3J5KFxuICBEZWxldGVEYXRhc2V0TW9kYWwsXG4gIE92ZXJXcml0ZU1hcE1vZGFsLFxuICBEYXRhVGFibGVNb2RhbCxcbiAgTG9hZERhdGFNb2RhbCxcbiAgRXhwb3J0SW1hZ2VNb2RhbCxcbiAgRXhwb3J0RGF0YU1vZGFsLFxuICBFeHBvcnRNYXBNb2RhbCxcbiAgQWRkTWFwU3R5bGVNb2RhbCxcbiAgTW9kYWxEaWFsb2csXG4gIFNhdmVNYXBNb2RhbCxcbiAgU2hhcmVNYXBNb2RhbFxuKSB7XG4gIC8qKiBAdHlwZWRlZiB7aW1wb3J0KCcuL21vZGFsLWNvbnRhaW5lcicpLk1vZGFsQ29udGFpbmVyUHJvcHN9IE1vZGFsQ29udGFpbmVyUHJvcHMgKi9cbiAgLyoqIEBhdWdtZW50cyBSZWFjdC5Db21wb25lbnQ8TW9kYWxDb250YWluZXJQcm9wcz4gKi9cbiAgY2xhc3MgTW9kYWxDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIC8vIFRPRE8gLSByZW1vdmUgd2hlbiBwcm9wIHR5cGVzIGFyZSBmdWxseSBleHBvcnRlZFxuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICByb290Tm9kZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIGNvbnRhaW5lclc6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICBjb250YWluZXJIOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgbWFwYm94QXBpQWNjZXNzVG9rZW46IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIG1hcGJveEFwaVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIG1hcFN0YXRlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBtYXBTdHlsZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgdWlTdGF0ZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgdmlzU3RhdGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIHZpc1N0YXRlQWN0aW9uczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgdWlTdGF0ZUFjdGlvbnM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIG1hcFN0eWxlQWN0aW9uczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgb25TYXZlVG9TdG9yYWdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIGNsb3VkUHJvdmlkZXJzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMub2JqZWN0KVxuICAgIH07XG4gICAgY29tcG9uZW50RGlkTW91bnQgPSAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX29uS2V5VXApO1xuICAgIH07XG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX29uS2V5VXApO1xuICAgIH1cblxuICAgIGNsb3VkUHJvdmlkZXJzID0gcHJvcHMgPT4gcHJvcHMuY2xvdWRQcm92aWRlcnM7XG4gICAgcHJvdmlkZXJXaXRoU3RvcmFnZSA9IGNyZWF0ZVNlbGVjdG9yKHRoaXMuY2xvdWRQcm92aWRlcnMsIGNsb3VkUHJvdmlkZXJzID0+XG4gICAgICBjbG91ZFByb3ZpZGVycy5maWx0ZXIocCA9PiBwLmhhc1ByaXZhdGVTdG9yYWdlKCkpXG4gICAgKTtcbiAgICBwcm92aWRlcldpdGhTaGFyZSA9IGNyZWF0ZVNlbGVjdG9yKHRoaXMuY2xvdWRQcm92aWRlcnMsIGNsb3VkUHJvdmlkZXJzID0+XG4gICAgICBjbG91ZFByb3ZpZGVycy5maWx0ZXIocCA9PiBwLmhhc1NoYXJpbmdVcmwoKSlcbiAgICApO1xuXG4gICAgX29uS2V5VXAgPSBldmVudCA9PiB7XG4gICAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcbiAgICAgIGlmIChrZXlDb2RlID09PSBLZXlFdmVudC5ET01fVktfRVNDQVBFKSB7XG4gICAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX2Nsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnVpU3RhdGVBY3Rpb25zLnRvZ2dsZU1vZGFsKG51bGwpO1xuICAgIH07XG5cbiAgICBfZGVsZXRlRGF0YXNldCA9IGtleSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy5yZW1vdmVEYXRhc2V0KGtleSk7XG4gICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgfTtcblxuICAgIF9vbkFkZEN1c3RvbU1hcFN0eWxlID0gKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5tYXBTdHlsZUFjdGlvbnMuYWRkQ3VzdG9tTWFwU3R5bGUoKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uRmlsZVVwbG9hZCA9IGZpbGVMaXN0ID0+IHtcbiAgICAgIHRoaXMucHJvcHMudmlzU3RhdGVBY3Rpb25zLmxvYWRGaWxlcyhmaWxlTGlzdCk7XG4gICAgfTtcblxuICAgIF9vbkV4cG9ydEltYWdlID0gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnByb3BzLnVpU3RhdGUuZXhwb3J0SW1hZ2UucHJvY2Vzc2luZykge1xuICAgICAgICBleHBvcnRJbWFnZSh0aGlzLnByb3BzLCBgJHt0aGlzLnByb3BzLmFwcE5hbWV9LnBuZ2ApO1xuICAgICAgICB0aGlzLnByb3BzLnVpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZSgpO1xuICAgICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9vbkV4cG9ydERhdGEgPSAoKSA9PiB7XG4gICAgICBleHBvcnREYXRhKHRoaXMucHJvcHMsIHRoaXMucHJvcHMudWlTdGF0ZS5leHBvcnREYXRhKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uRXhwb3J0TWFwID0gKCkgPT4ge1xuICAgICAgY29uc3Qge3VpU3RhdGV9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHtmb3JtYXR9ID0gdWlTdGF0ZS5leHBvcnRNYXA7XG4gICAgICAoZm9ybWF0ID09PSBFWFBPUlRfTUFQX0ZPUk1BVFMuSFRNTCA/IGV4cG9ydEh0bWwgOiBleHBvcnRKc29uKShcbiAgICAgICAgdGhpcy5wcm9wcyxcbiAgICAgICAgdGhpcy5wcm9wcy51aVN0YXRlLmV4cG9ydE1hcFtmb3JtYXRdIHx8IHt9XG4gICAgICApO1xuICAgICAgdGhpcy5fY2xvc2VNb2RhbCgpO1xuICAgIH07XG5cbiAgICBfZXhwb3J0RmlsZVRvQ2xvdWQgPSAoe3Byb3ZpZGVyLCBpc1B1YmxpYywgb3ZlcndyaXRlLCBjbG9zZU1vZGFsfSkgPT4ge1xuICAgICAgY29uc3QgdG9TYXZlID0gZXhwb3J0TWFwKHRoaXMucHJvcHMpO1xuXG4gICAgICB0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5leHBvcnRGaWxlVG9DbG91ZCh7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgbWFwRGF0YTogdG9TYXZlLFxuICAgICAgICBwcm92aWRlcixcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGlzUHVibGljLFxuICAgICAgICAgIG92ZXJ3cml0ZVxuICAgICAgICB9LFxuICAgICAgICBjbG9zZU1vZGFsLFxuICAgICAgICBvblN1Y2Nlc3M6IHRoaXMucHJvcHMub25FeHBvcnRUb0Nsb3VkU3VjY2VzcyxcbiAgICAgICAgb25FcnJvcjogdGhpcy5wcm9wcy5vbkV4cG9ydFRvQ2xvdWRFcnJvclxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIF9vblNhdmVNYXAgPSAob3ZlcndyaXRlID0gZmFsc2UpID0+IHtcbiAgICAgIGNvbnN0IHtjdXJyZW50UHJvdmlkZXJ9ID0gdGhpcy5wcm9wcy5wcm92aWRlclN0YXRlO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLnByb3BzLmNsb3VkUHJvdmlkZXJzLmZpbmQocCA9PiBwLm5hbWUgPT09IGN1cnJlbnRQcm92aWRlcik7XG4gICAgICB0aGlzLl9leHBvcnRGaWxlVG9DbG91ZCh7XG4gICAgICAgIHByb3ZpZGVyLFxuICAgICAgICBpc1B1YmxpYzogZmFsc2UsXG4gICAgICAgIG92ZXJ3cml0ZSxcbiAgICAgICAgY2xvc2VNb2RhbDogdHJ1ZVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIF9vbk92ZXJ3cml0ZU1hcCA9ICgpID0+IHtcbiAgICAgIHRoaXMuX29uU2F2ZU1hcCh0cnVlKTtcbiAgICB9O1xuXG4gICAgX29uU2hhcmVNYXBVcmwgPSBwcm92aWRlciA9PiB7XG4gICAgICB0aGlzLl9leHBvcnRGaWxlVG9DbG91ZCh7cHJvdmlkZXIsIGlzUHVibGljOiB0cnVlLCBvdmVyd3JpdGU6IGZhbHNlLCBjbG9zZU1vZGFsOiBmYWxzZX0pO1xuICAgIH07XG5cbiAgICBfb25DbG9zZVNhdmVNYXAgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5yZXNldFByb3ZpZGVyU3RhdHVzKCk7XG4gICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgfTtcblxuICAgIF9vbkxvYWRDbG91ZE1hcCA9IHBheWxvYWQgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMubG9hZENsb3VkTWFwKHtcbiAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgb25TdWNjZXNzOiB0aGlzLnByb3BzLm9uTG9hZENsb3VkTWFwU3VjY2VzcyxcbiAgICAgICAgb25FcnJvcjogdGhpcy5wcm9wcy5vbkxvYWRDbG91ZE1hcEVycm9yXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgY29udGFpbmVyVyxcbiAgICAgICAgY29udGFpbmVySCxcbiAgICAgICAgbWFwU3R5bGUsXG4gICAgICAgIG1hcFN0YXRlLFxuICAgICAgICB1aVN0YXRlLFxuICAgICAgICB2aXNTdGF0ZSxcbiAgICAgICAgcm9vdE5vZGUsXG4gICAgICAgIHZpc1N0YXRlQWN0aW9ucyxcbiAgICAgICAgdWlTdGF0ZUFjdGlvbnMsXG4gICAgICAgIHByb3ZpZGVyU3RhdGVcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qge2N1cnJlbnRNb2RhbCwgZGF0YXNldEtleVRvUmVtb3ZlfSA9IHVpU3RhdGU7XG4gICAgICBjb25zdCB7ZGF0YXNldHMsIGxheWVycywgZWRpdGluZ0RhdGFzZXR9ID0gdmlzU3RhdGU7XG5cbiAgICAgIGxldCB0ZW1wbGF0ZSA9IG51bGw7XG4gICAgICBsZXQgbW9kYWxQcm9wcyA9IHt9O1xuXG4gICAgICAvLyBUT0RPIC0gY3VycmVudE1vZGFsIGlzIGEgc3RyaW5nXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAoY3VycmVudE1vZGFsICYmIGN1cnJlbnRNb2RhbC5pZCAmJiBjdXJyZW50TW9kYWwudGVtcGxhdGUpIHtcbiAgICAgICAgLy8gaWYgY3VycmVudE1kb2FsIHRlbXBsYXRlIGlzIGFscmVhZHkgcHJvdmlkZWRcbiAgICAgICAgLy8gVE9ETzogbmVlZCB0byBjaGVjayB3aGV0aGVyIHRlbXBsYXRlIGlzIHZhbGlkXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGVtcGxhdGUgPSA8Y3VycmVudE1vZGFsLnRlbXBsYXRlIC8+O1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG1vZGFsUHJvcHMgPSBjdXJyZW50TW9kYWwubW9kYWxQcm9wcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN3aXRjaCAoY3VycmVudE1vZGFsKSB7XG4gICAgICAgICAgY2FzZSBEQVRBX1RBQkxFX0lEOlxuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBjb250YWluZXJXICogMC45O1xuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxEYXRhVGFibGVNb2RhbFxuICAgICAgICAgICAgICAgIHdpZHRoPXtjb250YWluZXJXICogMC45fVxuICAgICAgICAgICAgICAgIGhlaWdodD17Y29udGFpbmVySCAqIDAuODV9XG4gICAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICAgIGRhdGFJZD17ZWRpdGluZ0RhdGFzZXR9XG4gICAgICAgICAgICAgICAgc2hvd0RhdGFzZXRUYWJsZT17dmlzU3RhdGVBY3Rpb25zLnNob3dEYXRhc2V0VGFibGV9XG4gICAgICAgICAgICAgICAgc29ydFRhYmxlQ29sdW1uPXt2aXNTdGF0ZUFjdGlvbnMuc29ydFRhYmxlQ29sdW1ufVxuICAgICAgICAgICAgICAgIHBpblRhYmxlQ29sdW1uPXt2aXNTdGF0ZUFjdGlvbnMucGluVGFibGVDb2x1bW59XG4gICAgICAgICAgICAgICAgY29weVRhYmxlQ29sdW1uPXt2aXNTdGF0ZUFjdGlvbnMuY29weVRhYmxlQ29sdW1ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gVE9ETzogd2UgbmVlZCB0byBtYWtlIHRoaXMgd2lkdGggY29uc2lzdGVudCB3aXRoIHRoZSBjc3MgcnVsZSBkZWZpbmVkIG1vZGFsLmpzOjMyIG1heC13aWR0aDogNzB2d1xuICAgICAgICAgICAgbW9kYWxQcm9wcy5jc3NTdHlsZSA9IGNzc2BcbiAgICAgICAgICAgICAgJHtEYXRhVGFibGVNb2RhbFN0eWxlfTtcbiAgICAgICAgICAgICAgJHttZWRpYS5wYWxtYFxuICAgICAgICAgICAgICAgIHdpZHRoOiAke3dpZHRofXB4O1xuICAgICAgICAgICAgICBgfTtcbiAgICAgICAgICAgIGA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIERFTEVURV9EQVRBX0lEOlxuICAgICAgICAgICAgLy8gdmFsaWRhdGUgb3B0aW9uc1xuICAgICAgICAgICAgaWYgKGRhdGFzZXRLZXlUb1JlbW92ZSAmJiBkYXRhc2V0cyAmJiBkYXRhc2V0c1tkYXRhc2V0S2V5VG9SZW1vdmVdKSB7XG4gICAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICAgIDxEZWxldGVEYXRhc2V0TW9kYWwgZGF0YXNldD17ZGF0YXNldHNbZGF0YXNldEtleVRvUmVtb3ZlXX0gbGF5ZXJzPXtsYXllcnN9IC8+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5kZWxldGVEYXRhc2V0JyxcbiAgICAgICAgICAgICAgICBjc3NTdHlsZTogc21hbGxNb2RhbENzcyxcbiAgICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgICAgb25Db25maXJtOiAoKSA9PiB0aGlzLl9kZWxldGVEYXRhc2V0KGRhdGFzZXRLZXlUb1JlbW92ZSksXG4gICAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgICAgbmVnYXRpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICBsYXJnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmRlbGV0ZSdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhazsgLy8gaW4gY2FzZSB3ZSBhZGQgYSBuZXcgY2FzZSBhZnRlciB0aGlzIG9uZVxuICAgICAgICAgIGNhc2UgQUREX0RBVEFfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPExvYWREYXRhTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4ucHJvdmlkZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICBvbkNsb3NlPXt0aGlzLl9jbG9zZU1vZGFsfVxuICAgICAgICAgICAgICAgIG9uRmlsZVVwbG9hZD17dGhpcy5fb25GaWxlVXBsb2FkfVxuICAgICAgICAgICAgICAgIG9uTG9hZENsb3VkTWFwPXt0aGlzLl9vbkxvYWRDbG91ZE1hcH1cbiAgICAgICAgICAgICAgICBjbG91ZFByb3ZpZGVycz17dGhpcy5wcm92aWRlcldpdGhTdG9yYWdlKHRoaXMucHJvcHMpfVxuICAgICAgICAgICAgICAgIG9uU2V0Q2xvdWRQcm92aWRlcj17dGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMuc2V0Q2xvdWRQcm92aWRlcn1cbiAgICAgICAgICAgICAgICBnZXRTYXZlZE1hcHM9e3RoaXMucHJvcHMucHJvdmlkZXJBY3Rpb25zLmdldFNhdmVkTWFwc31cbiAgICAgICAgICAgICAgICBsb2FkRmlsZXM9e3VpU3RhdGUubG9hZEZpbGVzfVxuICAgICAgICAgICAgICAgIGZpbGVMb2FkaW5nPXt2aXNTdGF0ZS5maWxlTG9hZGluZ31cbiAgICAgICAgICAgICAgICBmaWxlTG9hZGluZ1Byb2dyZXNzPXt2aXNTdGF0ZS5maWxlTG9hZGluZ1Byb2dyZXNzfVxuICAgICAgICAgICAgICAgIGZpbGVGb3JtYXROYW1lcz17Z2V0RmlsZUZvcm1hdE5hbWVzKHRoaXMucHJvcHMudmlzU3RhdGUpfVxuICAgICAgICAgICAgICAgIGZpbGVFeHRlbnNpb25zPXtnZXRGaWxlRXh0ZW5zaW9ucyh0aGlzLnByb3BzLnZpc1N0YXRlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmFkZERhdGFUb01hcCcsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiBMb2FkRGF0YU1vZGFsU3R5bGUsXG4gICAgICAgICAgICAgIGZvb3RlcjogZmFsc2UsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fY2xvc2VNb2RhbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgRVhQT1JUX0lNQUdFX0lEOlxuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxFeHBvcnRJbWFnZU1vZGFsXG4gICAgICAgICAgICAgICAgZXhwb3J0SW1hZ2U9e3VpU3RhdGUuZXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgICAgbWFwVz17Y29udGFpbmVyV31cbiAgICAgICAgICAgICAgICBtYXBIPXtjb250YWluZXJIfVxuICAgICAgICAgICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRJbWFnZVNldHRpbmd9XG4gICAgICAgICAgICAgICAgY2xlYW51cEV4cG9ydEltYWdlPXt1aVN0YXRlQWN0aW9ucy5jbGVhbnVwRXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5leHBvcnRJbWFnZScsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgZm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgb25Db25maXJtOiB0aGlzLl9vbkV4cG9ydEltYWdlLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHVpU3RhdGUuZXhwb3J0SW1hZ2UucHJvY2Vzc2luZyxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5kb3dubG9hZCdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgRVhQT1JUX0RBVEFfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPEV4cG9ydERhdGFNb2RhbFxuICAgICAgICAgICAgICAgIHsuLi51aVN0YXRlLmV4cG9ydERhdGF9XG4gICAgICAgICAgICAgICAgc3VwcG9ydGVkRGF0YVR5cGVzPXtFWFBPUlRfREFUQV9UWVBFX09QVElPTlN9XG4gICAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICAgIGFwcGx5Q1BVRmlsdGVyPXt0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy5hcHBseUNQVUZpbHRlcn1cbiAgICAgICAgICAgICAgICBvbkNsb3NlPXt0aGlzLl9jbG9zZU1vZGFsfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlRXhwb3J0RGF0YVR5cGU9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydERhdGFUeXBlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlRXhwb3J0U2VsZWN0ZWREYXRhc2V0PXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRTZWxlY3RlZERhdGFzZXR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VFeHBvcnRGaWx0ZXJlZD17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0RmlsdGVyZWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5leHBvcnREYXRhJyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6ICcnLFxuICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsLFxuICAgICAgICAgICAgICBvbkNvbmZpcm06IHRoaXMuX29uRXhwb3J0RGF0YSxcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmV4cG9ydCdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgRVhQT1JUX01BUF9JRDpcbiAgICAgICAgICAgIGNvbnN0IGtlcGxlckdsQ29uZmlnID0gdmlzU3RhdGUuc2NoZW1hLmdldENvbmZpZ1RvU2F2ZSh7XG4gICAgICAgICAgICAgIG1hcFN0eWxlLFxuICAgICAgICAgICAgICB2aXNTdGF0ZSxcbiAgICAgICAgICAgICAgbWFwU3RhdGUsXG4gICAgICAgICAgICAgIHVpU3RhdGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxFeHBvcnRNYXBNb2RhbFxuICAgICAgICAgICAgICAgIGNvbmZpZz17a2VwbGVyR2xDb25maWd9XG4gICAgICAgICAgICAgICAgb3B0aW9ucz17dWlTdGF0ZS5leHBvcnRNYXB9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VFeHBvcnRNYXBGb3JtYXQ9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydE1hcEZvcm1hdH1cbiAgICAgICAgICAgICAgICBvbkVkaXRVc2VyTWFwYm94QWNjZXNzVG9rZW49e3VpU3RhdGVBY3Rpb25zLnNldFVzZXJNYXBib3hBY2Nlc3NUb2tlbn1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZUV4cG9ydE1hcEhUTUxNb2RlPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRIVE1MTWFwTW9kZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmV4cG9ydE1hcCcsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgZm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgb25Db25maXJtOiB0aGlzLl9vbkV4cG9ydE1hcCxcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmV4cG9ydCdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgQUREX01BUF9TVFlMRV9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8QWRkTWFwU3R5bGVNb2RhbFxuICAgICAgICAgICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuPXt0aGlzLnByb3BzLm1hcGJveEFwaUFjY2Vzc1Rva2VufVxuICAgICAgICAgICAgICAgIG1hcGJveEFwaVVybD17dGhpcy5wcm9wcy5tYXBib3hBcGlVcmx9XG4gICAgICAgICAgICAgICAgbWFwU3RhdGU9e3RoaXMucHJvcHMubWFwU3RhdGV9XG4gICAgICAgICAgICAgICAgaW5wdXRTdHlsZT17bWFwU3R5bGUuaW5wdXRTdHlsZX1cbiAgICAgICAgICAgICAgICBpbnB1dE1hcFN0eWxlPXt0aGlzLnByb3BzLm1hcFN0eWxlQWN0aW9ucy5pbnB1dE1hcFN0eWxlfVxuICAgICAgICAgICAgICAgIGxvYWRDdXN0b21NYXBTdHlsZT17dGhpcy5wcm9wcy5tYXBTdHlsZUFjdGlvbnMubG9hZEN1c3RvbU1hcFN0eWxlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuYWRkQ3VzdG9tTWFwYm94U3R5bGUnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fb25BZGRDdXN0b21NYXBTdHlsZSxcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiAhbWFwU3R5bGUuaW5wdXRTdHlsZS5zdHlsZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5hZGRTdHlsZSdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgU0FWRV9NQVBfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPFNhdmVNYXBNb2RhbFxuICAgICAgICAgICAgICAgIHsuLi5wcm92aWRlclN0YXRlfVxuICAgICAgICAgICAgICAgIGV4cG9ydEltYWdlPXt1aVN0YXRlLmV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAgIG1hcEluZm89e3Zpc1N0YXRlLm1hcEluZm99XG4gICAgICAgICAgICAgICAgb25TZXRNYXBJbmZvPXt2aXNTdGF0ZUFjdGlvbnMuc2V0TWFwSW5mb31cbiAgICAgICAgICAgICAgICBjbG91ZFByb3ZpZGVycz17dGhpcy5wcm92aWRlcldpdGhTdG9yYWdlKHRoaXMucHJvcHMpfVxuICAgICAgICAgICAgICAgIG9uU2V0Q2xvdWRQcm92aWRlcj17dGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMuc2V0Q2xvdWRQcm92aWRlcn1cbiAgICAgICAgICAgICAgICBjbGVhbnVwRXhwb3J0SW1hZ2U9e3VpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZX1cbiAgICAgICAgICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZz17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0SW1hZ2VTZXR0aW5nfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuc2F2ZU1hcCcsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgZm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgb25Db25maXJtOiAoKSA9PiB0aGlzLl9vblNhdmVNYXAoZmFsc2UpLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6XG4gICAgICAgICAgICAgICAgICB1aVN0YXRlLmV4cG9ydEltYWdlLnByb2Nlc3NpbmcgfHxcbiAgICAgICAgICAgICAgICAgICFpc1ZhbGlkTWFwSW5mbyh2aXNTdGF0ZS5tYXBJbmZvKSB8fFxuICAgICAgICAgICAgICAgICAgIXByb3ZpZGVyU3RhdGUuY3VycmVudFByb3ZpZGVyLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLnNhdmUnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIE9WRVJXUklURV9NQVBfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPE92ZXJXcml0ZU1hcE1vZGFsXG4gICAgICAgICAgICAgICAgey4uLnByb3ZpZGVyU3RhdGV9XG4gICAgICAgICAgICAgICAgY2xvdWRQcm92aWRlcnM9e3RoaXMucHJvcHMuY2xvdWRQcm92aWRlcnN9XG4gICAgICAgICAgICAgICAgdGl0bGU9e2dldCh2aXNTdGF0ZSwgWydtYXBJbmZvJywgJ3RpdGxlJ10pfVxuICAgICAgICAgICAgICAgIG9uU2V0Q2xvdWRQcm92aWRlcj17dGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMuc2V0Q2xvdWRQcm92aWRlcn1cbiAgICAgICAgICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZz17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0SW1hZ2VTZXR0aW5nfVxuICAgICAgICAgICAgICAgIGNsZWFudXBFeHBvcnRJbWFnZT17dWlTdGF0ZUFjdGlvbnMuY2xlYW51cEV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnT3ZlcndyaXRlIEV4aXN0aW5nIEZpbGU/JyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6IHNtYWxsTW9kYWxDc3MsXG4gICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgb25Db25maXJtOiB0aGlzLl9vbk92ZXJ3cml0ZU1hcCxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgIGNvbmZpcm1CdXR0b246IHtcbiAgICAgICAgICAgICAgICBsYXJnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogJ1llcycsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6XG4gICAgICAgICAgICAgICAgICB1aVN0YXRlLmV4cG9ydEltYWdlLnByb2Nlc3NpbmcgfHxcbiAgICAgICAgICAgICAgICAgICFpc1ZhbGlkTWFwSW5mbyh2aXNTdGF0ZS5tYXBJbmZvKSB8fFxuICAgICAgICAgICAgICAgICAgIXByb3ZpZGVyU3RhdGUuY3VycmVudFByb3ZpZGVyXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFNIQVJFX01BUF9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8U2hhcmVNYXBNb2RhbFxuICAgICAgICAgICAgICAgIHsuLi5wcm92aWRlclN0YXRlfVxuICAgICAgICAgICAgICAgIGlzUmVhZHk9eyF1aVN0YXRlLmV4cG9ydEltYWdlLnByb2Nlc3Npbmd9XG4gICAgICAgICAgICAgICAgY2xvdWRQcm92aWRlcnM9e3RoaXMucHJvdmlkZXJXaXRoU2hhcmUodGhpcy5wcm9wcyl9XG4gICAgICAgICAgICAgICAgb25FeHBvcnQ9e3RoaXMuX29uU2hhcmVNYXBVcmx9XG4gICAgICAgICAgICAgICAgb25TZXRDbG91ZFByb3ZpZGVyPXt0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5zZXRDbG91ZFByb3ZpZGVyfVxuICAgICAgICAgICAgICAgIGNsZWFudXBFeHBvcnRJbWFnZT17dWlTdGF0ZUFjdGlvbnMuY2xlYW51cEV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRJbWFnZVNldHRpbmd9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5zaGFyZVVSTCcsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX29uQ2xvc2VTYXZlTWFwXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLnByb3BzLnJvb3ROb2RlID8gKFxuICAgICAgICA8TW9kYWxEaWFsb2dcbiAgICAgICAgICBwYXJlbnRTZWxlY3Rvcj17KCkgPT4gZmluZERPTU5vZGUocm9vdE5vZGUpfVxuICAgICAgICAgIGlzT3Blbj17Qm9vbGVhbihjdXJyZW50TW9kYWwpfVxuICAgICAgICAgIG9uQ2FuY2VsPXt0aGlzLl9jbG9zZU1vZGFsfVxuICAgICAgICAgIHsuLi5tb2RhbFByb3BzfVxuICAgICAgICAgIGNzc1N0eWxlPXtEZWZhdWx0U3R5bGUuY29uY2F0KG1vZGFsUHJvcHMuY3NzU3R5bGUpfVxuICAgICAgICA+XG4gICAgICAgICAge3RlbXBsYXRlfVxuICAgICAgICA8L01vZGFsRGlhbG9nPlxuICAgICAgKSA6IG51bGw7XG4gICAgfVxuICAgIC8qIGVzbGludC1lbmFibGUgY29tcGxleGl0eSAqL1xuICB9XG5cbiAgcmV0dXJuIE1vZGFsQ29udGFpbmVyO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxpQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sSUFBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sU0FBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQVEsZ0JBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLFlBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLGFBQUEsR0FBQVgsT0FBQTtBQUdBLElBQUFZLGdCQUFBLEdBQUFWLHNCQUFBLENBQUFGLE9BQUE7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
|
|
484
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX3JlYWN0RG9tIiwiX3Jlc2VsZWN0IiwiX2dldCIsIl9kb2N1bWVudCIsIl9kZWZhdWx0U2V0dGluZ3MiLCJfbW9kYWxEaWFsb2ciLCJfZXhwb3J0VXRpbHMiLCJfbWFwSW5mb1V0aWxzIiwiX2RlbGV0ZURhdGFNb2RhbCIsIl9vdmVyd3JpdGVNYXBNb2RhbCIsIl9kYXRhVGFibGVNb2RhbCIsIl9sb2FkRGF0YU1vZGFsIiwiX2V4cG9ydEltYWdlTW9kYWwiLCJfZXhwb3J0RGF0YU1vZGFsIiwiX2V4cG9ydE1hcE1vZGFsIiwiX2FkZE1hcFN0eWxlTW9kYWwiLCJfc2F2ZU1hcE1vZGFsIiwiX3NoYXJlTWFwTW9kYWwiLCJfbWVkaWFCcmVha3BvaW50cyIsIl9rZXlldmVudCIsIl92aXNTdGF0ZVNlbGVjdG9ycyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwidmFsdWVPZiIsIkRhdGFUYWJsZU1vZGFsU3R5bGUiLCJjc3MiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIm1lZGlhIiwicG9ydGFibGUiLCJwYWxtIiwic21hbGxNb2RhbENzcyIsIkxvYWREYXRhTW9kYWxTdHlsZSIsIkRlZmF1bHRTdHlsZSIsIk1vZGFsQ29udGFpbmVyRmFjdG9yeSIsImRlcHMiLCJEZWxldGVEYXRhc2V0TW9kYWxGYWN0b3J5IiwiT3ZlcldyaXRlTWFwTW9kYWxGYWN0b3J5IiwiRGF0YVRhYmxlTW9kYWxGYWN0b3J5IiwiTG9hZERhdGFNb2RhbEZhY3RvcnkiLCJFeHBvcnRJbWFnZU1vZGFsRmFjdG9yeSIsIkV4cG9ydERhdGFNb2RhbEZhY3RvcnkiLCJFeHBvcnRNYXBNb2RhbEZhY3RvcnkiLCJBZGRNYXBTdHlsZU1vZGFsRmFjdG9yeSIsIk1vZGFsRGlhbG9nRmFjdG9yeSIsIlNhdmVNYXBNb2RhbEZhY3RvcnkiLCJTaGFyZU1hcE1vZGFsRmFjdG9yeSIsIkRlbGV0ZURhdGFzZXRNb2RhbCIsIk92ZXJXcml0ZU1hcE1vZGFsIiwiRGF0YVRhYmxlTW9kYWwiLCJMb2FkRGF0YU1vZGFsIiwiRXhwb3J0SW1hZ2VNb2RhbCIsIkV4cG9ydERhdGFNb2RhbCIsIkV4cG9ydE1hcE1vZGFsIiwiQWRkTWFwU3R5bGVNb2RhbCIsIk1vZGFsRGlhbG9nIiwiU2F2ZU1hcE1vZGFsIiwiU2hhcmVNYXBNb2RhbCIsIk1vZGFsQ29udGFpbmVyIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0czIiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQyIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiX29uS2V5VXAiLCJwcm9wcyIsImNsb3VkUHJvdmlkZXJzIiwiY3JlYXRlU2VsZWN0b3IiLCJwIiwiaGFzUHJpdmF0ZVN0b3JhZ2UiLCJoYXNTaGFyaW5nVXJsIiwiZXZlbnQiLCJrZXlDb2RlIiwiS2V5RXZlbnQiLCJET01fVktfRVNDQVBFIiwiX2Nsb3NlTW9kYWwiLCJ1aVN0YXRlQWN0aW9ucyIsInRvZ2dsZU1vZGFsIiwia2V5IiwidmlzU3RhdGVBY3Rpb25zIiwicmVtb3ZlRGF0YXNldCIsIm1hcFN0eWxlQWN0aW9ucyIsImFkZEN1c3RvbU1hcFN0eWxlIiwiZmlsZUxpc3QiLCJsb2FkRmlsZXMiLCJ1aVN0YXRlIiwiZXhwb3J0SW1hZ2UiLCJwcm9jZXNzaW5nIiwiYXBwTmFtZSIsImNsZWFudXBFeHBvcnRJbWFnZSIsImV4cG9ydERhdGEiLCJmb3JtYXQiLCJleHBvcnRNYXAiLCJFWFBPUlRfTUFQX0ZPUk1BVFMiLCJIVE1MIiwiZXhwb3J0SHRtbCIsImV4cG9ydEpzb24iLCJfcmVmIiwicHJvdmlkZXIiLCJpc1B1YmxpYyIsIm92ZXJ3cml0ZSIsImNsb3NlTW9kYWwiLCJ0b1NhdmUiLCJwcm92aWRlckFjdGlvbnMiLCJleHBvcnRGaWxlVG9DbG91ZCIsIm1hcERhdGEiLCJvcHRpb25zIiwib25TdWNjZXNzIiwib25FeHBvcnRUb0Nsb3VkU3VjY2VzcyIsIm9uRXJyb3IiLCJvbkV4cG9ydFRvQ2xvdWRFcnJvciIsInVuZGVmaW5lZCIsImN1cnJlbnRQcm92aWRlciIsInByb3ZpZGVyU3RhdGUiLCJmaW5kIiwibmFtZSIsIl9leHBvcnRGaWxlVG9DbG91ZCIsIl9vblNhdmVNYXAiLCJyZXNldFByb3ZpZGVyU3RhdHVzIiwicGF5bG9hZCIsImxvYWRDbG91ZE1hcCIsIm9uTG9hZENsb3VkTWFwU3VjY2VzcyIsIm9uTG9hZENsb3VkTWFwRXJyb3IiLCJfY3JlYXRlQ2xhc3MyIiwidmFsdWUiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZW5kZXIiLCJfdGhpczIiLCJfdGhpcyRwcm9wcyIsImNvbnRhaW5lclciLCJjb250YWluZXJIIiwibWFwU3R5bGUiLCJtYXBTdGF0ZSIsInZpc1N0YXRlIiwicm9vdE5vZGUiLCJjdXJyZW50TW9kYWwiLCJkYXRhc2V0S2V5VG9SZW1vdmUiLCJkYXRhc2V0cyIsImxheWVycyIsImVkaXRpbmdEYXRhc2V0IiwidGVtcGxhdGUiLCJtb2RhbFByb3BzIiwiaWQiLCJjcmVhdGVFbGVtZW50IiwiREFUQV9UQUJMRV9JRCIsIndpZHRoIiwiaGVpZ2h0IiwiZGF0YUlkIiwic2hvd0RhdGFzZXRUYWJsZSIsInNvcnRUYWJsZUNvbHVtbiIsInBpblRhYmxlQ29sdW1uIiwiY29weVRhYmxlQ29sdW1uIiwiY3NzU3R5bGUiLCJERUxFVEVfREFUQV9JRCIsImRhdGFzZXQiLCJ0aXRsZSIsImZvb3RlciIsIm9uQ29uZmlybSIsIl9kZWxldGVEYXRhc2V0Iiwib25DYW5jZWwiLCJjb25maXJtQnV0dG9uIiwibmVnYXRpdmUiLCJsYXJnZSIsImNoaWxkcmVuIiwiQUREX0RBVEFfSUQiLCJfZXh0ZW5kczIiLCJvbkNsb3NlIiwib25GaWxlVXBsb2FkIiwiX29uRmlsZVVwbG9hZCIsIm9uTG9hZENsb3VkTWFwIiwiX29uTG9hZENsb3VkTWFwIiwicHJvdmlkZXJXaXRoU3RvcmFnZSIsIm9uU2V0Q2xvdWRQcm92aWRlciIsInNldENsb3VkUHJvdmlkZXIiLCJnZXRTYXZlZE1hcHMiLCJmaWxlTG9hZGluZyIsImZpbGVMb2FkaW5nUHJvZ3Jlc3MiLCJmaWxlRm9ybWF0TmFtZXMiLCJnZXRGaWxlRm9ybWF0TmFtZXMiLCJmaWxlRXh0ZW5zaW9ucyIsImdldEZpbGVFeHRlbnNpb25zIiwiRVhQT1JUX0lNQUdFX0lEIiwibWFwVyIsIm1hcEgiLCJvblVwZGF0ZUltYWdlU2V0dGluZyIsInNldEV4cG9ydEltYWdlU2V0dGluZyIsIl9vbkV4cG9ydEltYWdlIiwiZGlzYWJsZWQiLCJFWFBPUlRfREFUQV9JRCIsInN1cHBvcnRlZERhdGFUeXBlcyIsIkVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyIsImFwcGx5Q1BVRmlsdGVyIiwib25DaGFuZ2VFeHBvcnREYXRhVHlwZSIsInNldEV4cG9ydERhdGFUeXBlIiwib25DaGFuZ2VFeHBvcnRTZWxlY3RlZERhdGFzZXQiLCJzZXRFeHBvcnRTZWxlY3RlZERhdGFzZXQiLCJvbkNoYW5nZUV4cG9ydEZpbHRlcmVkIiwic2V0RXhwb3J0RmlsdGVyZWQiLCJfb25FeHBvcnREYXRhIiwiRVhQT1JUX01BUF9JRCIsImtlcGxlckdsQ29uZmlnIiwic2NoZW1hIiwiZ2V0Q29uZmlnVG9TYXZlIiwiY29uZmlnIiwib25DaGFuZ2VFeHBvcnRNYXBGb3JtYXQiLCJzZXRFeHBvcnRNYXBGb3JtYXQiLCJvbkVkaXRVc2VyTWFwYm94QWNjZXNzVG9rZW4iLCJzZXRVc2VyTWFwYm94QWNjZXNzVG9rZW4iLCJvbkNoYW5nZUV4cG9ydE1hcEhUTUxNb2RlIiwic2V0RXhwb3J0SFRNTE1hcE1vZGUiLCJfb25FeHBvcnRNYXAiLCJBRERfTUFQX1NUWUxFX0lEIiwibWFwYm94QXBpVXJsIiwiaW5wdXRTdHlsZSIsImlucHV0TWFwU3R5bGUiLCJsb2FkQ3VzdG9tTWFwU3R5bGUiLCJfb25BZGRDdXN0b21NYXBTdHlsZSIsInN0eWxlIiwiU0FWRV9NQVBfSUQiLCJtYXBJbmZvIiwib25TZXRNYXBJbmZvIiwic2V0TWFwSW5mbyIsImlzVmFsaWRNYXBJbmZvIiwiT1ZFUldSSVRFX01BUF9JRCIsIl9vbk92ZXJ3cml0ZU1hcCIsIlNIQVJFX01BUF9JRCIsImlzUmVhZHkiLCJwcm92aWRlcldpdGhTaGFyZSIsIm9uRXhwb3J0IiwiX29uU2hhcmVNYXBVcmwiLCJfb25DbG9zZVNhdmVNYXAiLCJwYXJlbnRTZWxlY3RvciIsImZpbmRET01Ob2RlIiwiaXNPcGVuIiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwib2JqZWN0IiwibnVtYmVyIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsIm9uU2F2ZVRvU3RvcmFnZSIsImZ1bmMiLCJhcnJheU9mIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9kYWwtY29udGFpbmVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7Y3NzfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2ZpbmRET01Ob2RlfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcbmltcG9ydCBkb2N1bWVudCBmcm9tICdnbG9iYWwvZG9jdW1lbnQnO1xuXG5pbXBvcnQge0VYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUywgRVhQT1JUX01BUF9GT1JNQVRTfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQgTW9kYWxEaWFsb2dGYWN0b3J5IGZyb20gJy4vbW9kYWxzL21vZGFsLWRpYWxvZyc7XG5pbXBvcnQge2V4cG9ydEpzb24sIGV4cG9ydEh0bWwsIGV4cG9ydERhdGEsIGV4cG9ydEltYWdlLCBleHBvcnRNYXB9IGZyb20gJ3V0aWxzL2V4cG9ydC11dGlscyc7XG5pbXBvcnQge2lzVmFsaWRNYXBJbmZvfSBmcm9tICd1dGlscy9tYXAtaW5mby11dGlscyc7XG5cbi8vIG1vZGFsc1xuaW1wb3J0IERlbGV0ZURhdGFzZXRNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvZGVsZXRlLWRhdGEtbW9kYWwnO1xuaW1wb3J0IE92ZXJXcml0ZU1hcE1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9vdmVyd3JpdGUtbWFwLW1vZGFsJztcbmltcG9ydCBEYXRhVGFibGVNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvZGF0YS10YWJsZS1tb2RhbCc7XG5pbXBvcnQgTG9hZERhdGFNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvbG9hZC1kYXRhLW1vZGFsJztcbmltcG9ydCBFeHBvcnRJbWFnZU1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9leHBvcnQtaW1hZ2UtbW9kYWwnO1xuaW1wb3J0IEV4cG9ydERhdGFNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvZXhwb3J0LWRhdGEtbW9kYWwnO1xuaW1wb3J0IEV4cG9ydE1hcE1vZGFsRmFjdG9yeSBmcm9tICcuL21vZGFscy9leHBvcnQtbWFwLW1vZGFsL2V4cG9ydC1tYXAtbW9kYWwnO1xuaW1wb3J0IEFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL2FkZC1tYXAtc3R5bGUtbW9kYWwnO1xuaW1wb3J0IFNhdmVNYXBNb2RhbEZhY3RvcnkgZnJvbSAnLi9tb2RhbHMvc2F2ZS1tYXAtbW9kYWwnO1xuaW1wb3J0IFNoYXJlTWFwTW9kYWxGYWN0b3J5IGZyb20gJy4vbW9kYWxzL3NoYXJlLW1hcC1tb2RhbCc7XG5cbi8vIEJyZWFrcG9pbnRzXG5pbXBvcnQge21lZGlhfSBmcm9tICdzdHlsZXMvbWVkaWEtYnJlYWtwb2ludHMnO1xuXG4vLyBUZW1wbGF0ZVxuaW1wb3J0IHtcbiAgQUREX0RBVEFfSUQsXG4gIERBVEFfVEFCTEVfSUQsXG4gIERFTEVURV9EQVRBX0lELFxuICBFWFBPUlRfREFUQV9JRCxcbiAgRVhQT1JUX0lNQUdFX0lELFxuICBFWFBPUlRfTUFQX0lELFxuICBBRERfTUFQX1NUWUxFX0lELFxuICBTQVZFX01BUF9JRCxcbiAgU0hBUkVfTUFQX0lELFxuICBPVkVSV1JJVEVfTUFQX0lEXG59IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcblxuaW1wb3J0IEtleUV2ZW50IGZyb20gJ2NvbnN0YW50cy9rZXlldmVudCc7XG5pbXBvcnQge2dldEZpbGVGb3JtYXROYW1lcywgZ2V0RmlsZUV4dGVuc2lvbnN9IGZyb20gJy4uL3JlZHVjZXJzL3Zpcy1zdGF0ZS1zZWxlY3RvcnMnO1xuXG5jb25zdCBEYXRhVGFibGVNb2RhbFN0eWxlID0gY3NzYFxuICB0b3A6IDgwcHg7XG4gIHBhZGRpbmc6IDMycHggMCAwIDA7XG4gIHdpZHRoOiA5MHZ3O1xuICBtYXgtd2lkdGg6IDkwdnc7XG5cbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBwYWRkaW5nOiAwO1xuICBgfSAke21lZGlhLnBhbG1gXG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgYH07XG5gO1xuY29uc3Qgc21hbGxNb2RhbENzcyA9IGNzc2BcbiAgd2lkdGg6IDQwJTtcbiAgcGFkZGluZzogNDBweCA0MHB4IDMycHggNDBweDtcbmA7XG5cbmNvbnN0IExvYWREYXRhTW9kYWxTdHlsZSA9IGNzc2BcbiAgdG9wOiA2MHB4O1xuYDtcblxuY29uc3QgRGVmYXVsdFN0eWxlID0gY3NzYFxuICBtYXgtd2lkdGg6IDk2MHB4O1xuYDtcblxuTW9kYWxDb250YWluZXJGYWN0b3J5LmRlcHMgPSBbXG4gIERlbGV0ZURhdGFzZXRNb2RhbEZhY3RvcnksXG4gIE92ZXJXcml0ZU1hcE1vZGFsRmFjdG9yeSxcbiAgRGF0YVRhYmxlTW9kYWxGYWN0b3J5LFxuICBMb2FkRGF0YU1vZGFsRmFjdG9yeSxcbiAgRXhwb3J0SW1hZ2VNb2RhbEZhY3RvcnksXG4gIEV4cG9ydERhdGFNb2RhbEZhY3RvcnksXG4gIEV4cG9ydE1hcE1vZGFsRmFjdG9yeSxcbiAgQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnksXG4gIE1vZGFsRGlhbG9nRmFjdG9yeSxcbiAgU2F2ZU1hcE1vZGFsRmFjdG9yeSxcbiAgU2hhcmVNYXBNb2RhbEZhY3Rvcnlcbl07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1vZGFsQ29udGFpbmVyRmFjdG9yeShcbiAgRGVsZXRlRGF0YXNldE1vZGFsLFxuICBPdmVyV3JpdGVNYXBNb2RhbCxcbiAgRGF0YVRhYmxlTW9kYWwsXG4gIExvYWREYXRhTW9kYWwsXG4gIEV4cG9ydEltYWdlTW9kYWwsXG4gIEV4cG9ydERhdGFNb2RhbCxcbiAgRXhwb3J0TWFwTW9kYWwsXG4gIEFkZE1hcFN0eWxlTW9kYWwsXG4gIE1vZGFsRGlhbG9nLFxuICBTYXZlTWFwTW9kYWwsXG4gIFNoYXJlTWFwTW9kYWxcbikge1xuICAvKiogQHR5cGVkZWYge2ltcG9ydCgnLi9tb2RhbC1jb250YWluZXInKS5Nb2RhbENvbnRhaW5lclByb3BzfSBNb2RhbENvbnRhaW5lclByb3BzICovXG4gIC8qKiBAYXVnbWVudHMgUmVhY3QuQ29tcG9uZW50PE1vZGFsQ29udGFpbmVyUHJvcHM+ICovXG4gIGNsYXNzIE1vZGFsQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICAvLyBUT0RPIC0gcmVtb3ZlIHdoZW4gcHJvcCB0eXBlcyBhcmUgZnVsbHkgZXhwb3J0ZWRcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgcm9vdE5vZGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICBjb250YWluZXJXOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgY29udGFpbmVySDogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgIG1hcGJveEFwaVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIG1hcFN0YXRlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBtYXBTdHlsZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgdWlTdGF0ZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgdmlzU3RhdGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIHZpc1N0YXRlQWN0aW9uczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgdWlTdGF0ZUFjdGlvbnM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIG1hcFN0eWxlQWN0aW9uczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgb25TYXZlVG9TdG9yYWdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIGNsb3VkUHJvdmlkZXJzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMub2JqZWN0KVxuICAgIH07XG4gICAgY29tcG9uZW50RGlkTW91bnQgPSAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX29uS2V5VXApO1xuICAgIH07XG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX29uS2V5VXApO1xuICAgIH1cblxuICAgIGNsb3VkUHJvdmlkZXJzID0gcHJvcHMgPT4gcHJvcHMuY2xvdWRQcm92aWRlcnM7XG4gICAgcHJvdmlkZXJXaXRoU3RvcmFnZSA9IGNyZWF0ZVNlbGVjdG9yKHRoaXMuY2xvdWRQcm92aWRlcnMsIGNsb3VkUHJvdmlkZXJzID0+XG4gICAgICBjbG91ZFByb3ZpZGVycy5maWx0ZXIocCA9PiBwLmhhc1ByaXZhdGVTdG9yYWdlKCkpXG4gICAgKTtcbiAgICBwcm92aWRlcldpdGhTaGFyZSA9IGNyZWF0ZVNlbGVjdG9yKHRoaXMuY2xvdWRQcm92aWRlcnMsIGNsb3VkUHJvdmlkZXJzID0+XG4gICAgICBjbG91ZFByb3ZpZGVycy5maWx0ZXIocCA9PiBwLmhhc1NoYXJpbmdVcmwoKSlcbiAgICApO1xuXG4gICAgX29uS2V5VXAgPSBldmVudCA9PiB7XG4gICAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcbiAgICAgIGlmIChrZXlDb2RlID09PSBLZXlFdmVudC5ET01fVktfRVNDQVBFKSB7XG4gICAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX2Nsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnVpU3RhdGVBY3Rpb25zLnRvZ2dsZU1vZGFsKG51bGwpO1xuICAgIH07XG5cbiAgICBfZGVsZXRlRGF0YXNldCA9IGtleSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy5yZW1vdmVEYXRhc2V0KGtleSk7XG4gICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgfTtcblxuICAgIF9vbkFkZEN1c3RvbU1hcFN0eWxlID0gKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5tYXBTdHlsZUFjdGlvbnMuYWRkQ3VzdG9tTWFwU3R5bGUoKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uRmlsZVVwbG9hZCA9IGZpbGVMaXN0ID0+IHtcbiAgICAgIHRoaXMucHJvcHMudmlzU3RhdGVBY3Rpb25zLmxvYWRGaWxlcyhmaWxlTGlzdCk7XG4gICAgfTtcblxuICAgIF9vbkV4cG9ydEltYWdlID0gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnByb3BzLnVpU3RhdGUuZXhwb3J0SW1hZ2UucHJvY2Vzc2luZykge1xuICAgICAgICBleHBvcnRJbWFnZSh0aGlzLnByb3BzLCBgJHt0aGlzLnByb3BzLmFwcE5hbWV9LnBuZ2ApO1xuICAgICAgICB0aGlzLnByb3BzLnVpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZSgpO1xuICAgICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9vbkV4cG9ydERhdGEgPSAoKSA9PiB7XG4gICAgICBleHBvcnREYXRhKHRoaXMucHJvcHMsIHRoaXMucHJvcHMudWlTdGF0ZS5leHBvcnREYXRhKTtcbiAgICAgIHRoaXMuX2Nsb3NlTW9kYWwoKTtcbiAgICB9O1xuXG4gICAgX29uRXhwb3J0TWFwID0gKCkgPT4ge1xuICAgICAgY29uc3Qge3VpU3RhdGV9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHtmb3JtYXR9ID0gdWlTdGF0ZS5leHBvcnRNYXA7XG4gICAgICAoZm9ybWF0ID09PSBFWFBPUlRfTUFQX0ZPUk1BVFMuSFRNTCA/IGV4cG9ydEh0bWwgOiBleHBvcnRKc29uKShcbiAgICAgICAgdGhpcy5wcm9wcyxcbiAgICAgICAgdGhpcy5wcm9wcy51aVN0YXRlLmV4cG9ydE1hcFtmb3JtYXRdIHx8IHt9XG4gICAgICApO1xuICAgICAgdGhpcy5fY2xvc2VNb2RhbCgpO1xuICAgIH07XG5cbiAgICBfZXhwb3J0RmlsZVRvQ2xvdWQgPSAoe3Byb3ZpZGVyLCBpc1B1YmxpYywgb3ZlcndyaXRlLCBjbG9zZU1vZGFsfSkgPT4ge1xuICAgICAgY29uc3QgdG9TYXZlID0gZXhwb3J0TWFwKHRoaXMucHJvcHMpO1xuXG4gICAgICB0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5leHBvcnRGaWxlVG9DbG91ZCh7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgbWFwRGF0YTogdG9TYXZlLFxuICAgICAgICBwcm92aWRlcixcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGlzUHVibGljLFxuICAgICAgICAgIG92ZXJ3cml0ZVxuICAgICAgICB9LFxuICAgICAgICBjbG9zZU1vZGFsLFxuICAgICAgICBvblN1Y2Nlc3M6IHRoaXMucHJvcHMub25FeHBvcnRUb0Nsb3VkU3VjY2VzcyxcbiAgICAgICAgb25FcnJvcjogdGhpcy5wcm9wcy5vbkV4cG9ydFRvQ2xvdWRFcnJvclxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIF9vblNhdmVNYXAgPSAob3ZlcndyaXRlID0gZmFsc2UpID0+IHtcbiAgICAgIGNvbnN0IHtjdXJyZW50UHJvdmlkZXJ9ID0gdGhpcy5wcm9wcy5wcm92aWRlclN0YXRlO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLnByb3BzLmNsb3VkUHJvdmlkZXJzLmZpbmQocCA9PiBwLm5hbWUgPT09IGN1cnJlbnRQcm92aWRlcik7XG4gICAgICB0aGlzLl9leHBvcnRGaWxlVG9DbG91ZCh7XG4gICAgICAgIHByb3ZpZGVyLFxuICAgICAgICBpc1B1YmxpYzogZmFsc2UsXG4gICAgICAgIG92ZXJ3cml0ZSxcbiAgICAgICAgY2xvc2VNb2RhbDogdHJ1ZVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIF9vbk92ZXJ3cml0ZU1hcCA9ICgpID0+IHtcbiAgICAgIHRoaXMuX29uU2F2ZU1hcCh0cnVlKTtcbiAgICB9O1xuXG4gICAgX29uU2hhcmVNYXBVcmwgPSBwcm92aWRlciA9PiB7XG4gICAgICB0aGlzLl9leHBvcnRGaWxlVG9DbG91ZCh7cHJvdmlkZXIsIGlzUHVibGljOiB0cnVlLCBvdmVyd3JpdGU6IGZhbHNlLCBjbG9zZU1vZGFsOiBmYWxzZX0pO1xuICAgIH07XG5cbiAgICBfb25DbG9zZVNhdmVNYXAgPSAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5yZXNldFByb3ZpZGVyU3RhdHVzKCk7XG4gICAgICB0aGlzLl9jbG9zZU1vZGFsKCk7XG4gICAgfTtcblxuICAgIF9vbkxvYWRDbG91ZE1hcCA9IHBheWxvYWQgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMubG9hZENsb3VkTWFwKHtcbiAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgb25TdWNjZXNzOiB0aGlzLnByb3BzLm9uTG9hZENsb3VkTWFwU3VjY2VzcyxcbiAgICAgICAgb25FcnJvcjogdGhpcy5wcm9wcy5vbkxvYWRDbG91ZE1hcEVycm9yXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgY29udGFpbmVyVyxcbiAgICAgICAgY29udGFpbmVySCxcbiAgICAgICAgbWFwU3R5bGUsXG4gICAgICAgIG1hcFN0YXRlLFxuICAgICAgICB1aVN0YXRlLFxuICAgICAgICB2aXNTdGF0ZSxcbiAgICAgICAgcm9vdE5vZGUsXG4gICAgICAgIHZpc1N0YXRlQWN0aW9ucyxcbiAgICAgICAgdWlTdGF0ZUFjdGlvbnMsXG4gICAgICAgIHByb3ZpZGVyU3RhdGVcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qge2N1cnJlbnRNb2RhbCwgZGF0YXNldEtleVRvUmVtb3ZlfSA9IHVpU3RhdGU7XG4gICAgICBjb25zdCB7ZGF0YXNldHMsIGxheWVycywgZWRpdGluZ0RhdGFzZXR9ID0gdmlzU3RhdGU7XG5cbiAgICAgIGxldCB0ZW1wbGF0ZSA9IG51bGw7XG4gICAgICBsZXQgbW9kYWxQcm9wcyA9IHt9O1xuXG4gICAgICAvLyBUT0RPIC0gY3VycmVudE1vZGFsIGlzIGEgc3RyaW5nXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAoY3VycmVudE1vZGFsICYmIGN1cnJlbnRNb2RhbC5pZCAmJiBjdXJyZW50TW9kYWwudGVtcGxhdGUpIHtcbiAgICAgICAgLy8gaWYgY3VycmVudE1kb2FsIHRlbXBsYXRlIGlzIGFscmVhZHkgcHJvdmlkZWRcbiAgICAgICAgLy8gVE9ETzogbmVlZCB0byBjaGVjayB3aGV0aGVyIHRlbXBsYXRlIGlzIHZhbGlkXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGVtcGxhdGUgPSA8Y3VycmVudE1vZGFsLnRlbXBsYXRlIC8+O1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG1vZGFsUHJvcHMgPSBjdXJyZW50TW9kYWwubW9kYWxQcm9wcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN3aXRjaCAoY3VycmVudE1vZGFsKSB7XG4gICAgICAgICAgY2FzZSBEQVRBX1RBQkxFX0lEOlxuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBjb250YWluZXJXICogMC45O1xuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxEYXRhVGFibGVNb2RhbFxuICAgICAgICAgICAgICAgIHdpZHRoPXtjb250YWluZXJXICogMC45fVxuICAgICAgICAgICAgICAgIGhlaWdodD17Y29udGFpbmVySCAqIDAuODV9XG4gICAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICAgIGRhdGFJZD17ZWRpdGluZ0RhdGFzZXR9XG4gICAgICAgICAgICAgICAgc2hvd0RhdGFzZXRUYWJsZT17dmlzU3RhdGVBY3Rpb25zLnNob3dEYXRhc2V0VGFibGV9XG4gICAgICAgICAgICAgICAgc29ydFRhYmxlQ29sdW1uPXt2aXNTdGF0ZUFjdGlvbnMuc29ydFRhYmxlQ29sdW1ufVxuICAgICAgICAgICAgICAgIHBpblRhYmxlQ29sdW1uPXt2aXNTdGF0ZUFjdGlvbnMucGluVGFibGVDb2x1bW59XG4gICAgICAgICAgICAgICAgY29weVRhYmxlQ29sdW1uPXt2aXNTdGF0ZUFjdGlvbnMuY29weVRhYmxlQ29sdW1ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gVE9ETzogd2UgbmVlZCB0byBtYWtlIHRoaXMgd2lkdGggY29uc2lzdGVudCB3aXRoIHRoZSBjc3MgcnVsZSBkZWZpbmVkIG1vZGFsLmpzOjMyIG1heC13aWR0aDogNzB2d1xuICAgICAgICAgICAgbW9kYWxQcm9wcy5jc3NTdHlsZSA9IGNzc2BcbiAgICAgICAgICAgICAgJHtEYXRhVGFibGVNb2RhbFN0eWxlfTtcbiAgICAgICAgICAgICAgJHttZWRpYS5wYWxtYFxuICAgICAgICAgICAgICAgIHdpZHRoOiAke3dpZHRofXB4O1xuICAgICAgICAgICAgICBgfTtcbiAgICAgICAgICAgIGA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIERFTEVURV9EQVRBX0lEOlxuICAgICAgICAgICAgLy8gdmFsaWRhdGUgb3B0aW9uc1xuICAgICAgICAgICAgaWYgKGRhdGFzZXRLZXlUb1JlbW92ZSAmJiBkYXRhc2V0cyAmJiBkYXRhc2V0c1tkYXRhc2V0S2V5VG9SZW1vdmVdKSB7XG4gICAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICAgIDxEZWxldGVEYXRhc2V0TW9kYWwgZGF0YXNldD17ZGF0YXNldHNbZGF0YXNldEtleVRvUmVtb3ZlXX0gbGF5ZXJzPXtsYXllcnN9IC8+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5kZWxldGVEYXRhc2V0JyxcbiAgICAgICAgICAgICAgICBjc3NTdHlsZTogc21hbGxNb2RhbENzcyxcbiAgICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgICAgb25Db25maXJtOiAoKSA9PiB0aGlzLl9kZWxldGVEYXRhc2V0KGRhdGFzZXRLZXlUb1JlbW92ZSksXG4gICAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgICAgbmVnYXRpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICBsYXJnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmRlbGV0ZSdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhazsgLy8gaW4gY2FzZSB3ZSBhZGQgYSBuZXcgY2FzZSBhZnRlciB0aGlzIG9uZVxuICAgICAgICAgIGNhc2UgQUREX0RBVEFfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPExvYWREYXRhTW9kYWxcbiAgICAgICAgICAgICAgICB7Li4ucHJvdmlkZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICBvbkNsb3NlPXt0aGlzLl9jbG9zZU1vZGFsfVxuICAgICAgICAgICAgICAgIG9uRmlsZVVwbG9hZD17dGhpcy5fb25GaWxlVXBsb2FkfVxuICAgICAgICAgICAgICAgIG9uTG9hZENsb3VkTWFwPXt0aGlzLl9vbkxvYWRDbG91ZE1hcH1cbiAgICAgICAgICAgICAgICBjbG91ZFByb3ZpZGVycz17dGhpcy5wcm92aWRlcldpdGhTdG9yYWdlKHRoaXMucHJvcHMpfVxuICAgICAgICAgICAgICAgIG9uU2V0Q2xvdWRQcm92aWRlcj17dGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMuc2V0Q2xvdWRQcm92aWRlcn1cbiAgICAgICAgICAgICAgICBnZXRTYXZlZE1hcHM9e3RoaXMucHJvcHMucHJvdmlkZXJBY3Rpb25zLmdldFNhdmVkTWFwc31cbiAgICAgICAgICAgICAgICBsb2FkRmlsZXM9e3VpU3RhdGUubG9hZEZpbGVzfVxuICAgICAgICAgICAgICAgIGZpbGVMb2FkaW5nPXt2aXNTdGF0ZS5maWxlTG9hZGluZ31cbiAgICAgICAgICAgICAgICBmaWxlTG9hZGluZ1Byb2dyZXNzPXt2aXNTdGF0ZS5maWxlTG9hZGluZ1Byb2dyZXNzfVxuICAgICAgICAgICAgICAgIGZpbGVGb3JtYXROYW1lcz17Z2V0RmlsZUZvcm1hdE5hbWVzKHRoaXMucHJvcHMudmlzU3RhdGUpfVxuICAgICAgICAgICAgICAgIGZpbGVFeHRlbnNpb25zPXtnZXRGaWxlRXh0ZW5zaW9ucyh0aGlzLnByb3BzLnZpc1N0YXRlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmFkZERhdGFUb01hcCcsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiBMb2FkRGF0YU1vZGFsU3R5bGUsXG4gICAgICAgICAgICAgIGZvb3RlcjogZmFsc2UsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fY2xvc2VNb2RhbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgRVhQT1JUX0lNQUdFX0lEOlxuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxFeHBvcnRJbWFnZU1vZGFsXG4gICAgICAgICAgICAgICAgZXhwb3J0SW1hZ2U9e3VpU3RhdGUuZXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgICAgbWFwVz17Y29udGFpbmVyV31cbiAgICAgICAgICAgICAgICBtYXBIPXtjb250YWluZXJIfVxuICAgICAgICAgICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRJbWFnZVNldHRpbmd9XG4gICAgICAgICAgICAgICAgY2xlYW51cEV4cG9ydEltYWdlPXt1aVN0YXRlQWN0aW9ucy5jbGVhbnVwRXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5leHBvcnRJbWFnZScsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgZm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgb25Db25maXJtOiB0aGlzLl9vbkV4cG9ydEltYWdlLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHVpU3RhdGUuZXhwb3J0SW1hZ2UucHJvY2Vzc2luZyxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5kb3dubG9hZCdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgRVhQT1JUX0RBVEFfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPEV4cG9ydERhdGFNb2RhbFxuICAgICAgICAgICAgICAgIHsuLi51aVN0YXRlLmV4cG9ydERhdGF9XG4gICAgICAgICAgICAgICAgc3VwcG9ydGVkRGF0YVR5cGVzPXtFWFBPUlRfREFUQV9UWVBFX09QVElPTlN9XG4gICAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICAgIGFwcGx5Q1BVRmlsdGVyPXt0aGlzLnByb3BzLnZpc1N0YXRlQWN0aW9ucy5hcHBseUNQVUZpbHRlcn1cbiAgICAgICAgICAgICAgICBvbkNsb3NlPXt0aGlzLl9jbG9zZU1vZGFsfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlRXhwb3J0RGF0YVR5cGU9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydERhdGFUeXBlfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlRXhwb3J0U2VsZWN0ZWREYXRhc2V0PXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRTZWxlY3RlZERhdGFzZXR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VFeHBvcnRGaWx0ZXJlZD17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0RmlsdGVyZWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5leHBvcnREYXRhJyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6ICcnLFxuICAgICAgICAgICAgICBmb290ZXI6IHRydWUsXG4gICAgICAgICAgICAgIG9uQ2FuY2VsOiB0aGlzLl9jbG9zZU1vZGFsLFxuICAgICAgICAgICAgICBvbkNvbmZpcm06IHRoaXMuX29uRXhwb3J0RGF0YSxcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmV4cG9ydCdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgRVhQT1JUX01BUF9JRDpcbiAgICAgICAgICAgIGNvbnN0IGtlcGxlckdsQ29uZmlnID0gdmlzU3RhdGUuc2NoZW1hLmdldENvbmZpZ1RvU2F2ZSh7XG4gICAgICAgICAgICAgIG1hcFN0eWxlLFxuICAgICAgICAgICAgICB2aXNTdGF0ZSxcbiAgICAgICAgICAgICAgbWFwU3RhdGUsXG4gICAgICAgICAgICAgIHVpU3RhdGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgICAgIDxFeHBvcnRNYXBNb2RhbFxuICAgICAgICAgICAgICAgIGNvbmZpZz17a2VwbGVyR2xDb25maWd9XG4gICAgICAgICAgICAgICAgb3B0aW9ucz17dWlTdGF0ZS5leHBvcnRNYXB9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VFeHBvcnRNYXBGb3JtYXQ9e3VpU3RhdGVBY3Rpb25zLnNldEV4cG9ydE1hcEZvcm1hdH1cbiAgICAgICAgICAgICAgICBvbkVkaXRVc2VyTWFwYm94QWNjZXNzVG9rZW49e3VpU3RhdGVBY3Rpb25zLnNldFVzZXJNYXBib3hBY2Nlc3NUb2tlbn1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZUV4cG9ydE1hcEhUTUxNb2RlPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRIVE1MTWFwTW9kZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtb2RhbFByb3BzID0ge1xuICAgICAgICAgICAgICB0aXRsZTogJ21vZGFsLnRpdGxlLmV4cG9ydE1hcCcsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgZm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgb25Db25maXJtOiB0aGlzLl9vbkV4cG9ydE1hcCxcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLmV4cG9ydCdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgQUREX01BUF9TVFlMRV9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8QWRkTWFwU3R5bGVNb2RhbFxuICAgICAgICAgICAgICAgIG1hcGJveEFwaVVybD17dGhpcy5wcm9wcy5tYXBib3hBcGlVcmx9XG4gICAgICAgICAgICAgICAgbWFwU3RhdGU9e3RoaXMucHJvcHMubWFwU3RhdGV9XG4gICAgICAgICAgICAgICAgaW5wdXRTdHlsZT17bWFwU3R5bGUuaW5wdXRTdHlsZX1cbiAgICAgICAgICAgICAgICBpbnB1dE1hcFN0eWxlPXt0aGlzLnByb3BzLm1hcFN0eWxlQWN0aW9ucy5pbnB1dE1hcFN0eWxlfVxuICAgICAgICAgICAgICAgIGxvYWRDdXN0b21NYXBTdHlsZT17dGhpcy5wcm9wcy5tYXBTdHlsZUFjdGlvbnMubG9hZEN1c3RvbU1hcFN0eWxlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuYWRkQ3VzdG9tTWFwYm94U3R5bGUnLFxuICAgICAgICAgICAgICBjc3NTdHlsZTogJycsXG4gICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgIG9uQ29uZmlybTogdGhpcy5fb25BZGRDdXN0b21NYXBTdHlsZSxcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvbjoge1xuICAgICAgICAgICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiAhbWFwU3R5bGUuaW5wdXRTdHlsZS5zdHlsZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5hZGRTdHlsZSdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgU0FWRV9NQVBfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPFNhdmVNYXBNb2RhbFxuICAgICAgICAgICAgICAgIHsuLi5wcm92aWRlclN0YXRlfVxuICAgICAgICAgICAgICAgIGV4cG9ydEltYWdlPXt1aVN0YXRlLmV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAgIG1hcEluZm89e3Zpc1N0YXRlLm1hcEluZm99XG4gICAgICAgICAgICAgICAgb25TZXRNYXBJbmZvPXt2aXNTdGF0ZUFjdGlvbnMuc2V0TWFwSW5mb31cbiAgICAgICAgICAgICAgICBjbG91ZFByb3ZpZGVycz17dGhpcy5wcm92aWRlcldpdGhTdG9yYWdlKHRoaXMucHJvcHMpfVxuICAgICAgICAgICAgICAgIG9uU2V0Q2xvdWRQcm92aWRlcj17dGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMuc2V0Q2xvdWRQcm92aWRlcn1cbiAgICAgICAgICAgICAgICBjbGVhbnVwRXhwb3J0SW1hZ2U9e3VpU3RhdGVBY3Rpb25zLmNsZWFudXBFeHBvcnRJbWFnZX1cbiAgICAgICAgICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZz17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0SW1hZ2VTZXR0aW5nfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnbW9kYWwudGl0bGUuc2F2ZU1hcCcsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgZm9vdGVyOiB0cnVlLFxuICAgICAgICAgICAgICBvbkNhbmNlbDogdGhpcy5fY2xvc2VNb2RhbCxcbiAgICAgICAgICAgICAgb25Db25maXJtOiAoKSA9PiB0aGlzLl9vblNhdmVNYXAoZmFsc2UpLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uOiB7XG4gICAgICAgICAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6XG4gICAgICAgICAgICAgICAgICB1aVN0YXRlLmV4cG9ydEltYWdlLnByb2Nlc3NpbmcgfHxcbiAgICAgICAgICAgICAgICAgICFpc1ZhbGlkTWFwSW5mbyh2aXNTdGF0ZS5tYXBJbmZvKSB8fFxuICAgICAgICAgICAgICAgICAgIXByb3ZpZGVyU3RhdGUuY3VycmVudFByb3ZpZGVyLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAnbW9kYWwuYnV0dG9uLnNhdmUnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIE9WRVJXUklURV9NQVBfSUQ6XG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IChcbiAgICAgICAgICAgICAgPE92ZXJXcml0ZU1hcE1vZGFsXG4gICAgICAgICAgICAgICAgey4uLnByb3ZpZGVyU3RhdGV9XG4gICAgICAgICAgICAgICAgY2xvdWRQcm92aWRlcnM9e3RoaXMucHJvcHMuY2xvdWRQcm92aWRlcnN9XG4gICAgICAgICAgICAgICAgdGl0bGU9e2dldCh2aXNTdGF0ZSwgWydtYXBJbmZvJywgJ3RpdGxlJ10pfVxuICAgICAgICAgICAgICAgIG9uU2V0Q2xvdWRQcm92aWRlcj17dGhpcy5wcm9wcy5wcm92aWRlckFjdGlvbnMuc2V0Q2xvdWRQcm92aWRlcn1cbiAgICAgICAgICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZz17dWlTdGF0ZUFjdGlvbnMuc2V0RXhwb3J0SW1hZ2VTZXR0aW5nfVxuICAgICAgICAgICAgICAgIGNsZWFudXBFeHBvcnRJbWFnZT17dWlTdGF0ZUFjdGlvbnMuY2xlYW51cEV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1vZGFsUHJvcHMgPSB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnT3ZlcndyaXRlIEV4aXN0aW5nIEZpbGU/JyxcbiAgICAgICAgICAgICAgY3NzU3R5bGU6IHNtYWxsTW9kYWxDc3MsXG4gICAgICAgICAgICAgIGZvb3RlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgb25Db25maXJtOiB0aGlzLl9vbk92ZXJ3cml0ZU1hcCxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX2Nsb3NlTW9kYWwsXG4gICAgICAgICAgICAgIGNvbmZpcm1CdXR0b246IHtcbiAgICAgICAgICAgICAgICBsYXJnZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogJ1llcycsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6XG4gICAgICAgICAgICAgICAgICB1aVN0YXRlLmV4cG9ydEltYWdlLnByb2Nlc3NpbmcgfHxcbiAgICAgICAgICAgICAgICAgICFpc1ZhbGlkTWFwSW5mbyh2aXNTdGF0ZS5tYXBJbmZvKSB8fFxuICAgICAgICAgICAgICAgICAgIXByb3ZpZGVyU3RhdGUuY3VycmVudFByb3ZpZGVyXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFNIQVJFX01BUF9JRDpcbiAgICAgICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgICAgICA8U2hhcmVNYXBNb2RhbFxuICAgICAgICAgICAgICAgIHsuLi5wcm92aWRlclN0YXRlfVxuICAgICAgICAgICAgICAgIGlzUmVhZHk9eyF1aVN0YXRlLmV4cG9ydEltYWdlLnByb2Nlc3Npbmd9XG4gICAgICAgICAgICAgICAgY2xvdWRQcm92aWRlcnM9e3RoaXMucHJvdmlkZXJXaXRoU2hhcmUodGhpcy5wcm9wcyl9XG4gICAgICAgICAgICAgICAgb25FeHBvcnQ9e3RoaXMuX29uU2hhcmVNYXBVcmx9XG4gICAgICAgICAgICAgICAgb25TZXRDbG91ZFByb3ZpZGVyPXt0aGlzLnByb3BzLnByb3ZpZGVyQWN0aW9ucy5zZXRDbG91ZFByb3ZpZGVyfVxuICAgICAgICAgICAgICAgIGNsZWFudXBFeHBvcnRJbWFnZT17dWlTdGF0ZUFjdGlvbnMuY2xlYW51cEV4cG9ydEltYWdlfVxuICAgICAgICAgICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nPXt1aVN0YXRlQWN0aW9ucy5zZXRFeHBvcnRJbWFnZVNldHRpbmd9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbW9kYWxQcm9wcyA9IHtcbiAgICAgICAgICAgICAgdGl0bGU6ICdtb2RhbC50aXRsZS5zaGFyZVVSTCcsXG4gICAgICAgICAgICAgIGNzc1N0eWxlOiAnJyxcbiAgICAgICAgICAgICAgb25DYW5jZWw6IHRoaXMuX29uQ2xvc2VTYXZlTWFwXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLnByb3BzLnJvb3ROb2RlID8gKFxuICAgICAgICA8TW9kYWxEaWFsb2dcbiAgICAgICAgICBwYXJlbnRTZWxlY3Rvcj17KCkgPT4gZmluZERPTU5vZGUocm9vdE5vZGUpfVxuICAgICAgICAgIGlzT3Blbj17Qm9vbGVhbihjdXJyZW50TW9kYWwpfVxuICAgICAgICAgIG9uQ2FuY2VsPXt0aGlzLl9jbG9zZU1vZGFsfVxuICAgICAgICAgIHsuLi5tb2RhbFByb3BzfVxuICAgICAgICAgIGNzc1N0eWxlPXtEZWZhdWx0U3R5bGUuY29uY2F0KG1vZGFsUHJvcHMuY3NzU3R5bGUpfVxuICAgICAgICA+XG4gICAgICAgICAge3RlbXBsYXRlfVxuICAgICAgICA8L01vZGFsRGlhbG9nPlxuICAgICAgKSA6IG51bGw7XG4gICAgfVxuICAgIC8qIGVzbGludC1lbmFibGUgY29tcGxleGl0eSAqL1xuICB9XG5cbiAgcmV0dXJuIE1vZGFsQ29udGFpbmVyO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxpQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sSUFBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sU0FBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQVEsZ0JBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLFlBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLGFBQUEsR0FBQVgsT0FBQTtBQUdBLElBQUFZLGdCQUFBLEdBQUFWLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBYSxrQkFBQSxHQUFBWCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQWMsZUFBQSxHQUFBWixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQWUsY0FBQSxHQUFBYixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQWdCLGlCQUFBLEdBQUFkLHNCQUFBLENBQUFG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
|
|
@@ -116,10 +116,8 @@ function AddMapStyleModalFactory() {
|
|
|
116
116
|
mapState = _this$props.mapState,
|
|
117
117
|
mapboxApiUrl = _this$props.mapboxApiUrl,
|
|
118
118
|
intl = _this$props.intl;
|
|
119
|
-
var mapboxApiAccessToken = inputStyle.accessToken || this.props.mapboxApiAccessToken;
|
|
120
119
|
var mapProps = _objectSpread(_objectSpread({}, mapState), {}, {
|
|
121
120
|
mapboxApiUrl: mapboxApiUrl,
|
|
122
|
-
mapboxApiAccessToken: mapboxApiAccessToken,
|
|
123
121
|
preserveDrawingBuffer: true,
|
|
124
122
|
transformRequest: _mapboxUtils.transformRequest
|
|
125
123
|
});
|
|
@@ -251,11 +249,10 @@ function AddMapStyleModalFactory() {
|
|
|
251
249
|
inputMapStyle: _propTypes["default"].func.isRequired,
|
|
252
250
|
inputStyle: _propTypes["default"].object.isRequired,
|
|
253
251
|
loadCustomMapStyle: _propTypes["default"].func.isRequired,
|
|
254
|
-
mapboxApiAccessToken: _propTypes["default"].string.isRequired,
|
|
255
252
|
mapboxApiUrl: _propTypes["default"].string.isRequired,
|
|
256
253
|
mapState: _propTypes["default"].object.isRequired
|
|
257
254
|
});
|
|
258
255
|
return (0, _reactIntl.injectIntl)((0, _reactLifecyclesCompat.polyfill)(AddMapStyleModal));
|
|
259
256
|
}
|
|
260
257
|
var _default = exports["default"] = AddMapStyleModalFactory;
|
|
261
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RMaWZlY3ljbGVzQ29tcGF0IiwiX3Byb3BUeXBlcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lcyIsIl9zdHlsZWRDb21wb25lbnRzIiwiX3JlYWN0TWFwR2wiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfbWVkaWFCcmVha3BvaW50cyIsIl9tYXBib3hVdGlscyIsIl9yZWFjdEludGwiLCJfbG9jYWxpemF0aW9uIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwiTWFwSCIsIk1hcFciLCJFcnJvck1zZyIsInN0eWxlRXJyb3IiLCJQcmV2aWV3TWFwIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwiZXJyb3JDb2xvciIsIm1lZGlhIiwicG9ydGFibGUiLCJwYWxtIiwiU3R5bGVkUHJldmlld0ltYWdlIiwibW9kYWxJbWFnZVBsYWNlSG9sZGVyIiwiSW5saW5lTGluayIsIkFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5IiwiQWRkTWFwU3R5bGVNb2RhbCIsIl9Db21wb25lbnQiLCJfaW5oZXJpdHMyIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJfYXNzZXJ0VGhpc0luaXRpYWxpemVkMiIsInJlUmVuZGVyS2V5IiwicHJldmlvdXNUb2tlbiIsInN0eWxlIiwibG9hZEN1c3RvbU1hcFN0eWxlIiwiZXJyb3IiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJjb21wb25lbnREaWRVcGRhdGUiLCJfdGhpczIiLCJtYXAiLCJtYXBSZWYiLCJnZXRNYXAiLCJfbWFwIiwib24iLCJnZXRTdHlsZSIsImxvYWRNYXBTdHlsZUpzb24iLCJsb2FkTWFwU3R5bGVFcnJvciIsInJlbmRlciIsIl90aGlzMyIsIl90aGlzJHByb3BzIiwiaW5wdXRTdHlsZSIsIm1hcFN0YXRlIiwibWFwYm94QXBpVXJsIiwiaW50bCIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwiYWNjZXNzVG9rZW4iLCJtYXBQcm9wcyIsInByZXNlcnZlRHJhd2luZ0J1ZmZlciIsInRyYW5zZm9ybVJlcXVlc3QiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiU3R5bGVkTW9kYWxDb250ZW50IiwiU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsIiwiU3R5bGVkTW9kYWxTZWN0aW9uIiwiRm9ybWF0dGVkTWVzc2FnZSIsImlkIiwiZm9ybWF0TWVzc2FnZSIsInRhcmdldCIsImhyZWYiLCJJbnB1dExpZ2h0IiwidHlwZSIsInVybCIsIm9uQ2hhbmdlIiwiX3JlZiIsImlucHV0TWFwU3R5bGUiLCJwbGFjZWhvbGRlciIsIl9yZWYyIiwibGFiZWwiLCJfcmVmMyIsImNsYXNzbmFtZXMiLCJuYW1lIiwiaXNWYWxpZCIsIlN0eWxlZE1hcENvbnRhaW5lciIsIl9leHRlbmRzMiIsInJlZiIsImVsIiwic3RhdGUiLCJ3aWR0aCIsImhlaWdodCIsIm1hcFN0eWxlIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiZnVuYyIsImlzUmVxdWlyZWQiLCJvYmplY3QiLCJzdHJpbmciLCJpbmplY3RJbnRsIiwicG9seWZpbGwiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2RhbHMvYWRkLW1hcC1zdHlsZS1tb2RhbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7cG9seWZpbGx9IGZyb20gJ3JlYWN0LWxpZmVjeWNsZXMtY29tcGF0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IE1hcGJveEdMTWFwIGZyb20gJ3JlYWN0LW1hcC1nbCc7XG5pbXBvcnQge1xuICBTdHlsZWRNb2RhbENvbnRlbnQsXG4gIElucHV0TGlnaHQsXG4gIFN0eWxlZE1hcENvbnRhaW5lcixcbiAgU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsLFxuICBTdHlsZWRNb2RhbFNlY3Rpb25cbn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHttZWRpYX0gZnJvbSAnc3R5bGVzL21lZGlhLWJyZWFrcG9pbnRzJztcblxuLy8gVXRpbHNcbmltcG9ydCB7dHJhbnNmb3JtUmVxdWVzdH0gZnJvbSAndXRpbHMvbWFwLXN0eWxlLXV0aWxzL21hcGJveC11dGlscyc7XG5pbXBvcnQge2luamVjdEludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdsb2NhbGl6YXRpb24nO1xuXG5jb25zdCBNYXBIID0gMTkwO1xuY29uc3QgTWFwVyA9IDI2NDtcbmNvbnN0IEVycm9yTXNnID0ge1xuICBzdHlsZUVycm9yOlxuICAgICdGYWlsZWQgdG8gbG9hZCBtYXAgc3R5bGUsIG1ha2Ugc3VyZSBpdCBpcyBwdWJsaXNoZWQuIEZvciBwcml2YXRlIHN0eWxlLCBwYXN0ZSBpbiB5b3VyIGFjY2VzcyB0b2tlbi4nXG59O1xuXG5jb25zdCBQcmV2aWV3TWFwID0gc3R5bGVkLmRpdmBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAxMTZweDtcbiAgZmxleC1zaHJpbms6IDA7XG5cbiAgLnByZXZpZXctdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHBhZGRpbmc6IDhweCAwcHg7XG4gIH1cblxuICAucHJldmlldy10aXRsZS5lcnJvciB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZXJyb3JDb2xvcn07XG4gIH1cblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICBgfTtcblxuICAke21lZGlhLnBhbG1gXG4gICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xuICAgIC5wcmV2aWV3LXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB9XG4gIGB9O1xuYDtcblxuY29uc3QgU3R5bGVkUHJldmlld0ltYWdlID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbEltYWdlUGxhY2VIb2xkZXJ9O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggMCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICB3aWR0aDogJHtNYXBXfXB4O1xuICBoZWlnaHQ6ICR7TWFwSH1weDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5wcmV2aWV3LWltYWdlLXBsYWNlaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAucHJldmlldy1pbWFnZS1zcGlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMjVweCk7XG4gIH1cbmA7XG5cbmNvbnN0IElubGluZUxpbmsgPSBzdHlsZWQuYWBcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICA6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuYDtcblxuZnVuY3Rpb24gQWRkTWFwU3R5bGVNb2RhbEZhY3RvcnkoKSB7XG4gIGNsYXNzIEFkZE1hcFN0eWxlTW9kYWwgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBpbnB1dE1hcFN0eWxlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgaW5wdXRTdHlsZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgbG9hZEN1c3RvbU1hcFN0eWxlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgbWFwYm94QXBpQWNjZXNzVG9rZW46IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIG1hcGJveEFwaVVybDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgbWFwU3RhdGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZFxuICAgIH07XG5cbiAgICBzdGF0ZSA9IHtcbiAgICAgIHJlUmVuZGVyS2V5OiAwLFxuICAgICAgcHJldmlvdXNUb2tlbjogbnVsbFxuICAgIH07XG5cbiAgICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xuICAgICAgaWYgKFxuICAgICAgICBwcm9wcy5pbnB1dFN0eWxlICYmXG4gICAgICAgIHByb3BzLmlucHV0U3R5bGUuYWNjZXNzVG9rZW4gJiZcbiAgICAgICAgcHJvcHMuaW5wdXRTdHlsZS5hY2Nlc3NUb2tlbiAhPT0gc3RhdGUucHJldmlvdXNUb2tlblxuICAgICAgKSB7XG4gICAgICAgIC8vIHRva2UgaGFzIGNoYW5nZWRcbiAgICAgICAgLy8gUmVhY3RNYXBHbCBkb2Vzbid0IHJlLWNyZWF0ZSBtYXAgd2hlbiB0b2tlbiBoYXMgY2hhbmdlZFxuICAgICAgICAvLyBoZXJlIHdlIGZvcmNlIHRoZSBtYXAgdG8gdXBkYXRlXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZVJlbmRlcktleTogc3RhdGUucmVSZW5kZXJLZXkgKyAxLFxuICAgICAgICAgIHByZXZpb3VzVG9rZW46IHByb3BzLmlucHV0U3R5bGUuYWNjZXNzVG9rZW5cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgICAgY29uc3QgbWFwID0gdGhpcy5tYXBSZWYgJiYgdGhpcy5tYXBSZWYuZ2V0TWFwKCk7XG4gICAgICBpZiAobWFwICYmIHRoaXMuX21hcCAhPT0gbWFwKSB7XG4gICAgICAgIHRoaXMuX21hcCA9IG1hcDtcblxuICAgICAgICBtYXAub24oJ3N0eWxlLmxvYWQnLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3R5bGUgPSBtYXAuZ2V0U3R5bGUoKTtcbiAgICAgICAgICB0aGlzLmxvYWRNYXBTdHlsZUpzb24oc3R5bGUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBtYXAub24oJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZE1hcFN0eWxlRXJyb3IoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbG9hZE1hcFN0eWxlSnNvbiA9IHN0eWxlID0+IHtcbiAgICAgIHRoaXMucHJvcHMubG9hZEN1c3RvbU1hcFN0eWxlKHtzdHlsZSwgZXJyb3I6IGZhbHNlfSk7XG4gICAgfTtcblxuICAgIGxvYWRNYXBTdHlsZUVycm9yID0gKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sb2FkQ3VzdG9tTWFwU3R5bGUoe2Vycm9yOiB0cnVlfSk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtpbnB1dFN0eWxlLCBtYXBTdGF0ZSwgbWFwYm94QXBpVXJsLCBpbnRsfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IG1hcGJveEFwaUFjY2Vzc1Rva2VuID0gaW5wdXRTdHlsZS5hY2Nlc3NUb2tlbiB8fCB0aGlzLnByb3BzLm1hcGJveEFwaUFjY2Vzc1Rva2VuO1xuICAgICAgY29uc3QgbWFwUHJvcHMgPSB7XG4gICAgICAgIC4uLm1hcFN0YXRlLFxuICAgICAgICBtYXBib3hBcGlVcmwsXG4gICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgICAgICBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWUsXG4gICAgICAgIHRyYW5zZm9ybVJlcXVlc3RcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWRkLW1hcC1zdHlsZS1tb2RhbFwiPlxuICAgICAgICAgIDxTdHlsZWRNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgICA8U3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsPlxuICAgICAgICAgICAgICA8U3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5hZGRTdHlsZS5wYXN0ZVRpdGxlJ30gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucGFzdGVTdWJ0aXRsZTAnfSl9XG4gICAgICAgICAgICAgICAgICA8SW5saW5lTGlua1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9oZWxwL3N0dWRpby1tYW51YWwtcHVibGlzaC8jc3R5bGUtdXJsXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlMid9KX1cbiAgICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlMyd9KX1cbiAgICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2RvY3MubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvc3R5bGUtc3BlY1wiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucGFzdGVTdWJ0aXRsZTQnfSl9XG4gICAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFN0eWxlLnVybCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoe3RhcmdldDoge3ZhbHVlfX0pID0+IHRoaXMucHJvcHMuaW5wdXRNYXBTdHlsZSh7dXJsOiB2YWx1ZX0pfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlLmcuIG1hcGJveDovL3N0eWxlcy91c2VybmFtZS9zdHlsZSwgaHR0cDovL215LnN0bGVzLmNvbS94eHgvc3R5bGUuanNvbiBcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxTZWN0aW9uPlxuXG4gICAgICAgICAgICAgIDxTdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hUaXRsZSd9IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTEnfSl9XG4gICAgICAgICAgICAgICAgICA8SW5saW5lTGluayB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9zdHVkaW8vc3R5bGVzL1wiPlxuICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICBtYXBib3hcbiAgICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUyJ30pfVxuICAgICAgICAgICAgICAgICAgPElubGluZUxpbmtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vaGVscC9zdHVkaW8tbWFudWFsLXB1Ymxpc2gvXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUzJ30pfVxuICAgICAgICAgICAgICAgICAgPC9JbmxpbmVMaW5rPnsnICd9XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTQnfSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNSd9KX1cbiAgICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL2hlbHAvaG93LWFjY2Vzcy10b2tlbnMtd29yay9cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTYnfSl9XG4gICAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+eycgJ31cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNyd9KX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2lucHV0U3R5bGUuYWNjZXNzVG9rZW4gfHwgJyd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHt0YXJnZXQ6IHt2YWx1ZX19KSA9PiB0aGlzLnByb3BzLmlucHV0TWFwU3R5bGUoe2FjY2Vzc1Rva2VuOiB2YWx1ZX0pfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5leGFtcGxlVG9rZW4nfSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRNb2RhbFNlY3Rpb24+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZE1vZGFsU2VjdGlvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuYWRkU3R5bGUubmFtaW5nVGl0bGUnfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxJbnB1dExpZ2h0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRTdHlsZS5sYWJlbCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoe3RhcmdldDoge3ZhbHVlfX0pID0+IHRoaXMucHJvcHMuaW5wdXRNYXBTdHlsZSh7bGFiZWw6IHZhbHVlfSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICAgICAgICA8L1N0eWxlZE1vZGFsVmVydGljYWxQYW5lbD5cbiAgICAgICAgICAgIDxQcmV2aWV3TWFwPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdwcmV2aWV3LXRpdGxlJywge1xuICAgICAgICAgICAgICAgICAgZXJyb3I6IGlucHV0U3R5bGUuZXJyb3JcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpbnB1dFN0eWxlLmVycm9yXG4gICAgICAgICAgICAgICAgICA/IEVycm9yTXNnLnN0eWxlRXJyb3JcbiAgICAgICAgICAgICAgICAgIDogKGlucHV0U3R5bGUuc3R5bGUgJiYgaW5wdXRTdHlsZS5zdHlsZS5uYW1lKSB8fCAnJ31cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxTdHlsZWRQcmV2aWV3SW1hZ2UgY2xhc3NOYW1lPVwicHJldmlldy1pbWFnZVwiPlxuICAgICAgICAgICAgICAgIHshaW5wdXRTdHlsZS5pc1ZhbGlkID8gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwcmV2aWV3LWltYWdlLXNwaW5uZXJcIiAvPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkTWFwQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8TWFwYm94R0xNYXBcbiAgICAgICAgICAgICAgICAgICAgICB7Li4ubWFwUHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgcmVmPXtlbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcFJlZiA9IGVsO1xuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAga2V5PXt0aGlzLnN0YXRlLnJlUmVuZGVyS2V5fVxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXtNYXBXfVxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17TWFwSH1cbiAgICAgICAgICAgICAgICAgICAgICBtYXBTdHlsZT17aW5wdXRTdHlsZS51cmx9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZE1hcENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0eWxlZFByZXZpZXdJbWFnZT5cbiAgICAgICAgICAgIDwvUHJldmlld01hcD5cbiAgICAgICAgICA8L1N0eWxlZE1vZGFsQ29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbmplY3RJbnRsKHBvbHlmaWxsKEFkZE1hcFN0eWxlTW9kYWwpKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQWRkTWFwU3R5bGVNb2RhbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMs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
|
|
258
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RMaWZlY3ljbGVzQ29tcGF0IiwiX3Byb3BUeXBlcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lcyIsIl9zdHlsZWRDb21wb25lbnRzIiwiX3JlYWN0TWFwR2wiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfbWVkaWFCcmVha3BvaW50cyIsIl9tYXBib3hVdGlscyIsIl9yZWFjdEludGwiLCJfbG9jYWxpemF0aW9uIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwiTWFwSCIsIk1hcFciLCJFcnJvck1zZyIsInN0eWxlRXJyb3IiLCJQcmV2aWV3TWFwIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwiZXJyb3JDb2xvciIsIm1lZGlhIiwicG9ydGFibGUiLCJwYWxtIiwiU3R5bGVkUHJldmlld0ltYWdlIiwibW9kYWxJbWFnZVBsYWNlSG9sZGVyIiwiSW5saW5lTGluayIsIkFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5IiwiQWRkTWFwU3R5bGVNb2RhbCIsIl9Db21wb25lbnQiLCJfaW5oZXJpdHMyIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJfYXNzZXJ0VGhpc0luaXRpYWxpemVkMiIsInJlUmVuZGVyS2V5IiwicHJldmlvdXNUb2tlbiIsInN0eWxlIiwibG9hZEN1c3RvbU1hcFN0eWxlIiwiZXJyb3IiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJjb21wb25lbnREaWRVcGRhdGUiLCJfdGhpczIiLCJtYXAiLCJtYXBSZWYiLCJnZXRNYXAiLCJfbWFwIiwib24iLCJnZXRTdHlsZSIsImxvYWRNYXBTdHlsZUpzb24iLCJsb2FkTWFwU3R5bGVFcnJvciIsInJlbmRlciIsIl90aGlzMyIsIl90aGlzJHByb3BzIiwiaW5wdXRTdHlsZSIsIm1hcFN0YXRlIiwibWFwYm94QXBpVXJsIiwiaW50bCIsIm1hcFByb3BzIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwidHJhbnNmb3JtUmVxdWVzdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJTdHlsZWRNb2RhbENvbnRlbnQiLCJTdHlsZWRNb2RhbFZlcnRpY2FsUGFuZWwiLCJTdHlsZWRNb2RhbFNlY3Rpb24iLCJGb3JtYXR0ZWRNZXNzYWdlIiwiaWQiLCJmb3JtYXRNZXNzYWdlIiwidGFyZ2V0IiwiaHJlZiIsIklucHV0TGlnaHQiLCJ0eXBlIiwidXJsIiwib25DaGFuZ2UiLCJfcmVmIiwiaW5wdXRNYXBTdHlsZSIsInBsYWNlaG9sZGVyIiwiYWNjZXNzVG9rZW4iLCJfcmVmMiIsImxhYmVsIiwiX3JlZjMiLCJjbGFzc25hbWVzIiwibmFtZSIsImlzVmFsaWQiLCJTdHlsZWRNYXBDb250YWluZXIiLCJfZXh0ZW5kczIiLCJyZWYiLCJlbCIsInN0YXRlIiwid2lkdGgiLCJoZWlnaHQiLCJtYXBTdHlsZSIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImZ1bmMiLCJpc1JlcXVpcmVkIiwib2JqZWN0Iiwic3RyaW5nIiwiaW5qZWN0SW50bCIsInBvbHlmaWxsIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9kYWxzL2FkZC1tYXAtc3R5bGUtbW9kYWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge3BvbHlmaWxsfSBmcm9tICdyZWFjdC1saWZlY3ljbGVzLWNvbXBhdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBNYXBib3hHTE1hcCBmcm9tICdyZWFjdC1tYXAtZ2wnO1xuaW1wb3J0IHtcbiAgU3R5bGVkTW9kYWxDb250ZW50LFxuICBJbnB1dExpZ2h0LFxuICBTdHlsZWRNYXBDb250YWluZXIsXG4gIFN0eWxlZE1vZGFsVmVydGljYWxQYW5lbCxcbiAgU3R5bGVkTW9kYWxTZWN0aW9uXG59IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7bWVkaWF9IGZyb20gJ3N0eWxlcy9tZWRpYS1icmVha3BvaW50cyc7XG5cbi8vIFV0aWxzXG5pbXBvcnQge3RyYW5zZm9ybVJlcXVlc3R9IGZyb20gJ3V0aWxzL21hcC1zdHlsZS11dGlscy9tYXBib3gtdXRpbHMnO1xuaW1wb3J0IHtpbmplY3RJbnRsfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnbG9jYWxpemF0aW9uJztcblxuY29uc3QgTWFwSCA9IDE5MDtcbmNvbnN0IE1hcFcgPSAyNjQ7XG5jb25zdCBFcnJvck1zZyA9IHtcbiAgc3R5bGVFcnJvcjpcbiAgICAnRmFpbGVkIHRvIGxvYWQgbWFwIHN0eWxlLCBtYWtlIHN1cmUgaXQgaXMgcHVibGlzaGVkLiBGb3IgcHJpdmF0ZSBzdHlsZSwgcGFzdGUgaW4geW91ciBhY2Nlc3MgdG9rZW4uJ1xufTtcblxuY29uc3QgUHJldmlld01hcCA9IHN0eWxlZC5kaXZgXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogMTE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuXG4gIC5wcmV2aWV3LXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBwYWRkaW5nOiA4cHggMHB4O1xuICB9XG5cbiAgLnByZXZpZXctdGl0bGUuZXJyb3Ige1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVycm9yQ29sb3J9O1xuICB9XG5cbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBtYXJnaW4tbGVmdDogMzJweDtcbiAgYH07XG5cbiAgJHttZWRpYS5wYWxtYFxuICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcbiAgICAucHJldmlldy10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgfVxuICBgfTtcbmA7XG5cbmNvbnN0IFN0eWxlZFByZXZpZXdJbWFnZSA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxJbWFnZVBsYWNlSG9sZGVyfTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwIDhweCAxNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiAgd2lkdGg6ICR7TWFwV31weDtcbiAgaGVpZ2h0OiAke01hcEh9cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAucHJldmlldy1pbWFnZS1wbGFjZWhvbGRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLnByZXZpZXctaW1hZ2Utc3Bpbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjVweCk7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDI1cHgpO1xuICB9XG5gO1xuXG5jb25zdCBJbmxpbmVMaW5rID0gc3R5bGVkLmFgXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmZ1bmN0aW9uIEFkZE1hcFN0eWxlTW9kYWxGYWN0b3J5KCkge1xuICBjbGFzcyBBZGRNYXBTdHlsZU1vZGFsIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgaW5wdXRNYXBTdHlsZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGlucHV0U3R5bGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIGxvYWRDdXN0b21NYXBTdHlsZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG1hcGJveEFwaVVybDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgbWFwU3RhdGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZFxuICAgIH07XG5cbiAgICBzdGF0ZSA9IHtcbiAgICAgIHJlUmVuZGVyS2V5OiAwLFxuICAgICAgcHJldmlvdXNUb2tlbjogbnVsbFxuICAgIH07XG5cbiAgICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xuICAgICAgaWYgKFxuICAgICAgICBwcm9wcy5pbnB1dFN0eWxlICYmXG4gICAgICAgIHByb3BzLmlucHV0U3R5bGUuYWNjZXNzVG9rZW4gJiZcbiAgICAgICAgcHJvcHMuaW5wdXRTdHlsZS5hY2Nlc3NUb2tlbiAhPT0gc3RhdGUucHJldmlvdXNUb2tlblxuICAgICAgKSB7XG4gICAgICAgIC8vIHRva2UgaGFzIGNoYW5nZWRcbiAgICAgICAgLy8gUmVhY3RNYXBHbCBkb2Vzbid0IHJlLWNyZWF0ZSBtYXAgd2hlbiB0b2tlbiBoYXMgY2hhbmdlZFxuICAgICAgICAvLyBoZXJlIHdlIGZvcmNlIHRoZSBtYXAgdG8gdXBkYXRlXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZVJlbmRlcktleTogc3RhdGUucmVSZW5kZXJLZXkgKyAxLFxuICAgICAgICAgIHByZXZpb3VzVG9rZW46IHByb3BzLmlucHV0U3R5bGUuYWNjZXNzVG9rZW5cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgICAgY29uc3QgbWFwID0gdGhpcy5tYXBSZWYgJiYgdGhpcy5tYXBSZWYuZ2V0TWFwKCk7XG4gICAgICBpZiAobWFwICYmIHRoaXMuX21hcCAhPT0gbWFwKSB7XG4gICAgICAgIHRoaXMuX21hcCA9IG1hcDtcblxuICAgICAgICBtYXAub24oJ3N0eWxlLmxvYWQnLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3R5bGUgPSBtYXAuZ2V0U3R5bGUoKTtcbiAgICAgICAgICB0aGlzLmxvYWRNYXBTdHlsZUpzb24oc3R5bGUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBtYXAub24oJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZE1hcFN0eWxlRXJyb3IoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbG9hZE1hcFN0eWxlSnNvbiA9IHN0eWxlID0+IHtcbiAgICAgIHRoaXMucHJvcHMubG9hZEN1c3RvbU1hcFN0eWxlKHtzdHlsZSwgZXJyb3I6IGZhbHNlfSk7XG4gICAgfTtcblxuICAgIGxvYWRNYXBTdHlsZUVycm9yID0gKCkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sb2FkQ3VzdG9tTWFwU3R5bGUoe2Vycm9yOiB0cnVlfSk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtpbnB1dFN0eWxlLCBtYXBTdGF0ZSwgbWFwYm94QXBpVXJsLCBpbnRsfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IG1hcFByb3BzID0ge1xuICAgICAgICAuLi5tYXBTdGF0ZSxcbiAgICAgICAgbWFwYm94QXBpVXJsLFxuICAgICAgICBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWUsXG4gICAgICAgIHRyYW5zZm9ybVJlcXVlc3RcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWRkLW1hcC1zdHlsZS1tb2RhbFwiPlxuICAgICAgICAgIDxTdHlsZWRNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgICA8U3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsPlxuICAgICAgICAgICAgICA8U3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5hZGRTdHlsZS5wYXN0ZVRpdGxlJ30gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucGFzdGVTdWJ0aXRsZTAnfSl9XG4gICAgICAgICAgICAgICAgICA8SW5saW5lTGlua1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9oZWxwL3N0dWRpby1tYW51YWwtcHVibGlzaC8jc3R5bGUtdXJsXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlMid9KX1cbiAgICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wYXN0ZVN1YnRpdGxlMyd9KX1cbiAgICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2RvY3MubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvc3R5bGUtc3BlY1wiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucGFzdGVTdWJ0aXRsZTQnfSl9XG4gICAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtpbnB1dFN0eWxlLnVybCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoe3RhcmdldDoge3ZhbHVlfX0pID0+IHRoaXMucHJvcHMuaW5wdXRNYXBTdHlsZSh7dXJsOiB2YWx1ZX0pfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlLmcuIG1hcGJveDovL3N0eWxlcy91c2VybmFtZS9zdHlsZSwgaHR0cDovL215LnN0bGVzLmNvbS94eHgvc3R5bGUuanNvbiBcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxTZWN0aW9uPlxuXG4gICAgICAgICAgICAgIDxTdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hUaXRsZSd9IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTEnfSl9XG4gICAgICAgICAgICAgICAgICA8SW5saW5lTGluayB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9zdHVkaW8vc3R5bGVzL1wiPlxuICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICBtYXBib3hcbiAgICAgICAgICAgICAgICAgIDwvSW5saW5lTGluaz57JyAnfVxuICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUyJ30pfVxuICAgICAgICAgICAgICAgICAgPElubGluZUxpbmtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vaGVscC9zdHVkaW8tbWFudWFsLXB1Ymxpc2gvXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgeycgJ31cbiAgICAgICAgICAgICAgICAgICAge2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5wdWJsaXNoU3VidGl0bGUzJ30pfVxuICAgICAgICAgICAgICAgICAgPC9JbmxpbmVMaW5rPnsnICd9XG4gICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTQnfSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNSd9KX1cbiAgICAgICAgICAgICAgICAgIDxJbmxpbmVMaW5rXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL2hlbHAvaG93LWFjY2Vzcy10b2tlbnMtd29yay9cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgICB7aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ21vZGFsLmFkZFN0eWxlLnB1Ymxpc2hTdWJ0aXRsZTYnfSl9XG4gICAgICAgICAgICAgICAgICA8L0lubGluZUxpbms+eycgJ31cbiAgICAgICAgICAgICAgICAgIHtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuYWRkU3R5bGUucHVibGlzaFN1YnRpdGxlNyd9KX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2lucHV0U3R5bGUuYWNjZXNzVG9rZW4gfHwgJyd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHt0YXJnZXQ6IHt2YWx1ZX19KSA9PiB0aGlzLnByb3BzLmlucHV0TWFwU3R5bGUoe2FjY2Vzc1Rva2VuOiB2YWx1ZX0pfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5hZGRTdHlsZS5leGFtcGxlVG9rZW4nfSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRNb2RhbFNlY3Rpb24+XG5cbiAgICAgICAgICAgICAgPFN0eWxlZE1vZGFsU2VjdGlvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuYWRkU3R5bGUubmFtaW5nVGl0bGUnfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxJbnB1dExpZ2h0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRTdHlsZS5sYWJlbCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoe3RhcmdldDoge3ZhbHVlfX0pID0+IHRoaXMucHJvcHMuaW5wdXRNYXBTdHlsZSh7bGFiZWw6IHZhbHVlfSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICAgICAgICA8L1N0eWxlZE1vZGFsVmVydGljYWxQYW5lbD5cbiAgICAgICAgICAgIDxQcmV2aWV3TWFwPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdwcmV2aWV3LXRpdGxlJywge1xuICAgICAgICAgICAgICAgICAgZXJyb3I6IGlucHV0U3R5bGUuZXJyb3JcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpbnB1dFN0eWxlLmVycm9yXG4gICAgICAgICAgICAgICAgICA/IEVycm9yTXNnLnN0eWxlRXJyb3JcbiAgICAgICAgICAgICAgICAgIDogKGlucHV0U3R5bGUuc3R5bGUgJiYgaW5wdXRTdHlsZS5zdHlsZS5uYW1lKSB8fCAnJ31cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxTdHlsZWRQcmV2aWV3SW1hZ2UgY2xhc3NOYW1lPVwicHJldmlldy1pbWFnZVwiPlxuICAgICAgICAgICAgICAgIHshaW5wdXRTdHlsZS5pc1ZhbGlkID8gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwcmV2aWV3LWltYWdlLXNwaW5uZXJcIiAvPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkTWFwQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8TWFwYm94R0xNYXBcbiAgICAgICAgICAgICAgICAgICAgICB7Li4ubWFwUHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgcmVmPXtlbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcFJlZiA9IGVsO1xuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAga2V5PXt0aGlzLnN0YXRlLnJlUmVuZGVyS2V5fVxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXtNYXBXfVxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17TWFwSH1cbiAgICAgICAgICAgICAgICAgICAgICBtYXBTdHlsZT17aW5wdXRTdHlsZS51cmx9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZE1hcENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1N0eWxlZFByZXZpZXdJbWFnZT5cbiAgICAgICAgICAgIDwvUHJldmlld01hcD5cbiAgICAgICAgICA8L1N0eWxlZE1vZGFsQ29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbmplY3RJbnRsKHBvbHlmaWxsKEFkZE1hcFN0eWxlTW9kYWwpKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQWRkTWFwU3R5bGVNb2RhbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLHNCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU0sV0FBQSxHQUFBSCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU8sa0JBQUEs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
|
|
@@ -116,7 +116,7 @@ var KEPLER_GL_NAME = exports.KEPLER_GL_NAME = 'kepler.gl';
|
|
|
116
116
|
// Since we are injecting this during the build process with babel
|
|
117
117
|
// while developing VERSION is not defined, we capture the exception and return
|
|
118
118
|
// an empty string which will allow us to retrieve the latest umd version
|
|
119
|
-
var KEPLER_GL_VERSION = exports.KEPLER_GL_VERSION = "0.0.
|
|
119
|
+
var KEPLER_GL_VERSION = exports.KEPLER_GL_VERSION = "0.0.77";
|
|
120
120
|
var KEPLER_GL_WEBSITE = exports.KEPLER_GL_WEBSITE = 'http://kepler.gl/';
|
|
121
121
|
var DIMENSIONS = exports.DIMENSIONS = {
|
|
122
122
|
sidePanel: {
|
package/dist/utils/gl-utils.js
CHANGED
|
@@ -6,9 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.setLayerBlending = setLayerBlending;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _core = require("@luma.gl/core");
|
|
10
9
|
var _defaultSettings = require("../constants/default-settings");
|
|
11
|
-
var _constants =
|
|
10
|
+
var _constants = require("@luma.gl/constants");
|
|
12
11
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
12
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // Copyright (c) 2022 Uber Technologies, Inc.
|
|
14
13
|
//
|
|
@@ -30,15 +29,15 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
30
29
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
31
30
|
// THE SOFTWARE.
|
|
32
31
|
var getGlConst = function getGlConst(d) {
|
|
33
|
-
return _constants[
|
|
32
|
+
return _constants.GL[d];
|
|
34
33
|
};
|
|
35
34
|
function setLayerBlending(gl, layerBlending) {
|
|
36
35
|
var blending = _defaultSettings.LAYER_BLENDINGS[layerBlending];
|
|
37
36
|
var blendFunc = blending.blendFunc,
|
|
38
37
|
blendEquation = blending.blendEquation;
|
|
39
|
-
|
|
38
|
+
gl.device.setParametersWebGL(_objectSpread((0, _defineProperty2["default"])({}, _constants.GL.BLEND, true), blendFunc ? {
|
|
40
39
|
blendFunc: blendFunc.map(getGlConst),
|
|
41
40
|
blendEquation: Array.isArray(blendEquation) ? blendEquation.map(getGlConst) : getGlConst(blendEquation)
|
|
42
41
|
} : {}));
|
|
43
42
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVmYXVsdFNldHRpbmdzIiwicmVxdWlyZSIsIl9jb25zdGFudHMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsImdldEdsQ29uc3QiLCJkIiwiR0wiLCJzZXRMYXllckJsZW5kaW5nIiwiZ2wiLCJsYXllckJsZW5kaW5nIiwiYmxlbmRpbmciLCJMQVlFUl9CTEVORElOR1MiLCJibGVuZEZ1bmMiLCJibGVuZEVxdWF0aW9uIiwiZGV2aWNlIiwic2V0UGFyYW1ldGVyc1dlYkdMIiwiQkxFTkQiLCJtYXAiLCJBcnJheSIsImlzQXJyYXkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZ2wtdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtMQVlFUl9CTEVORElOR1N9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCB7R0x9IGZyb20gJ0BsdW1hLmdsL2NvbnN0YW50cyc7XG5cbmNvbnN0IGdldEdsQ29uc3QgPSBkID0+IEdMW2RdO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0TGF5ZXJCbGVuZGluZyhnbCwgbGF5ZXJCbGVuZGluZykge1xuICBjb25zdCBibGVuZGluZyA9IExBWUVSX0JMRU5ESU5HU1tsYXllckJsZW5kaW5nXTtcbiAgY29uc3Qge2JsZW5kRnVuYywgYmxlbmRFcXVhdGlvbn0gPSBibGVuZGluZztcbiAgZ2wuZGV2aWNlLnNldFBhcmFtZXRlcnNXZWJHTCh7XG4gICAgW0dMLkJMRU5EXTogdHJ1ZSxcbiAgICAuLi4oYmxlbmRGdW5jXG4gICAgICA/IHtcbiAgICAgICAgICBibGVuZEZ1bmM6IGJsZW5kRnVuYy5tYXAoZ2V0R2xDb25zdCksXG4gICAgICAgICAgYmxlbmRFcXVhdGlvbjogQXJyYXkuaXNBcnJheShibGVuZEVxdWF0aW9uKVxuICAgICAgICAgICAgPyBibGVuZEVxdWF0aW9uLm1hcChnZXRHbENvbnN0KVxuICAgICAgICAgICAgOiBnZXRHbENvbnN0KGJsZW5kRXF1YXRpb24pXG4gICAgICAgIH1cbiAgICAgIDoge30pXG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQW9CQSxJQUFBQSxnQkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQXNDLFNBQUFFLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFDLE1BQUEsRUFBQWIsQ0FBQSxVQUFBQyxDQUFBLFdBQUFXLFNBQUEsQ0FBQVosQ0FBQSxJQUFBWSxTQUFBLENBQUFaLENBQUEsUUFBQUEsQ0FBQSxPQUFBRixPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxPQUFBYSxPQUFBLFdBQUFkLENBQUEsUUFBQWUsZ0JBQUEsYUFBQWhCLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLENBQUFELENBQUEsU0FBQUUsTUFBQSxDQUFBYyx5QkFBQSxHQUFBZCxNQUFBLENBQUFlLGdCQUFBLENBQUFsQixDQUFBLEVBQUFHLE1BQUEsQ0FBQWMseUJBQUEsQ0FBQWYsQ0FBQSxLQUFBSCxPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxHQUFBYSxPQUFBLFdBQUFkLENBQUEsSUFBQUUsTUFBQSxDQUFBZ0IsY0FBQSxDQUFBbkIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQU4sQ0FBQSxFQUFBRCxDQUFBLGlCQUFBRCxDQUFBLElBckJ0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBLElBQU1vQixVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBR0MsQ0FBQztFQUFBLE9BQUlDLGFBQUUsQ0FBQ0QsQ0FBQyxDQUFDO0FBQUE7QUFFdEIsU0FBU0UsZ0JBQWdCQSxDQUFDQyxFQUFFLEVBQUVDLGFBQWEsRUFBRTtFQUNsRCxJQUFNQyxRQUFRLEdBQUdDLGdDQUFlLENBQUNGLGFBQWEsQ0FBQztFQUMvQyxJQUFPRyxTQUFTLEdBQW1CRixRQUFRLENBQXBDRSxTQUFTO0lBQUVDLGFBQWEsR0FBSUgsUUFBUSxDQUF6QkcsYUFBYTtFQUMvQkwsRUFBRSxDQUFDTSxNQUFNLENBQUNDLGtCQUFrQixDQUFBbkIsYUFBQSxLQUFBSSxnQkFBQSxpQkFDekJNLGFBQUUsQ0FBQ1UsS0FBSyxFQUFHLElBQUksR0FDWkosU0FBUyxHQUNUO0lBQ0VBLFNBQVMsRUFBRUEsU0FBUyxDQUFDSyxHQUFHLENBQUNiLFVBQVUsQ0FBQztJQUNwQ1MsYUFBYSxFQUFFSyxLQUFLLENBQUNDLE9BQU8sQ0FBQ04sYUFBYSxDQUFDLEdBQ3ZDQSxhQUFhLENBQUNJLEdBQUcsQ0FBQ2IsVUFBVSxDQUFDLEdBQzdCQSxVQUFVLENBQUNTLGFBQWE7RUFDOUIsQ0FBQyxHQUNELENBQUMsQ0FBQyxDQUNQLENBQUM7QUFDSiJ9
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@carto/kepler.gl",
|
|
3
3
|
"author": "CARTO",
|
|
4
4
|
"homepage": "https://github.com/CartoDB/carto-kepler#readme",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.77",
|
|
6
6
|
"description": "kepler.gl is a webgl based application to visualize large scale location data in the browser",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"main": "dist/index.js",
|
|
@@ -229,21 +229,22 @@
|
|
|
229
229
|
"tough-cookie": "4.0.0"
|
|
230
230
|
},
|
|
231
231
|
"peerDependencies": {
|
|
232
|
-
"@deck.gl/aggregation-layers": "^
|
|
233
|
-
"@deck.gl/carto": "^
|
|
234
|
-
"@deck.gl/core": "^
|
|
235
|
-
"@deck.gl/extensions": "^
|
|
236
|
-
"@deck.gl/geo-layers": "^
|
|
237
|
-
"@deck.gl/layers": "^
|
|
238
|
-
"@deck.gl/mesh-layers": "^
|
|
239
|
-
"@deck.gl/react": "^
|
|
232
|
+
"@deck.gl/aggregation-layers": "^9.0.1",
|
|
233
|
+
"@deck.gl/carto": "^9.0.1",
|
|
234
|
+
"@deck.gl/core": "^9.0.1",
|
|
235
|
+
"@deck.gl/extensions": "^9.0.1",
|
|
236
|
+
"@deck.gl/geo-layers": "^9.0.1",
|
|
237
|
+
"@deck.gl/layers": "^9.0.1",
|
|
238
|
+
"@deck.gl/mesh-layers": "^9.0.1",
|
|
239
|
+
"@deck.gl/react": "^9.0.1",
|
|
240
240
|
"@loaders.gl/core": "^3.1.5",
|
|
241
241
|
"@loaders.gl/csv": "^3.1.5",
|
|
242
242
|
"@loaders.gl/gltf": "^3.1.5",
|
|
243
243
|
"@loaders.gl/json": "^3.1.5",
|
|
244
244
|
"@loaders.gl/loader-utils": "^3.1.5",
|
|
245
|
-
"@luma.gl/constants": "^
|
|
246
|
-
"@luma.gl/core": "^
|
|
245
|
+
"@luma.gl/constants": "^9.0.1",
|
|
246
|
+
"@luma.gl/core": "^9.0.1",
|
|
247
|
+
"@luma.gl/webgl": "^9.0.1",
|
|
247
248
|
"react": ">=16.3",
|
|
248
249
|
"react-dom": ">=16.3",
|
|
249
250
|
"styled-components": "^4.x || ^5.x"
|
|
@@ -18,7 +18,6 @@ export type KeplerGlProps = {
|
|
|
18
18
|
onViewStateChange?: () => void;
|
|
19
19
|
onDeckInitialized?: () => void;
|
|
20
20
|
onKeplerGlInitialized?: () => void;
|
|
21
|
-
mapboxApiAccessToken: string;
|
|
22
21
|
mapboxApiUrl: string;
|
|
23
22
|
getMapboxRef: () => React.RefType<any>;
|
|
24
23
|
mapStyles: {id: string; style?: object}[];
|
|
@@ -272,7 +272,6 @@ function KeplerGlFactory(
|
|
|
272
272
|
};
|
|
273
273
|
|
|
274
274
|
componentDidMount() {
|
|
275
|
-
this._validateMapboxToken();
|
|
276
275
|
this._loadMapStyle();
|
|
277
276
|
if (typeof this.props.onKeplerGlInitialized === 'function') {
|
|
278
277
|
this.props.onKeplerGlInitialized();
|
|
@@ -329,12 +328,6 @@ function KeplerGlFactory(
|
|
|
329
328
|
);
|
|
330
329
|
|
|
331
330
|
/* private methods */
|
|
332
|
-
_validateMapboxToken() {
|
|
333
|
-
const {mapboxApiAccessToken} = this.props;
|
|
334
|
-
if (!validateToken(mapboxApiAccessToken)) {
|
|
335
|
-
Console.warn(MISSING_MAPBOX_TOKEN);
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
331
|
|
|
339
332
|
_loadMapStyle = () => {
|
|
340
333
|
const defaultStyles = Object.values(this.props.mapStyle.mapStyles);
|
|
@@ -94,7 +94,6 @@ export default function MapContainerFactory(MapPopover, MapControl, Editor) {
|
|
|
94
94
|
mapState: PropTypes.object.isRequired,
|
|
95
95
|
mapControls: PropTypes.object.isRequired,
|
|
96
96
|
mapStyle: PropTypes.object.isRequired,
|
|
97
|
-
mapboxApiAccessToken: PropTypes.string.isRequired,
|
|
98
97
|
mapboxApiUrl: PropTypes.string,
|
|
99
98
|
visStateActions: PropTypes.object.isRequired,
|
|
100
99
|
mapStateActions: PropTypes.object.isRequired,
|
|
@@ -267,7 +266,6 @@ export default function MapContainerFactory(MapPopover, MapControl, Editor) {
|
|
|
267
266
|
layerOrder,
|
|
268
267
|
layers,
|
|
269
268
|
visStateActions,
|
|
270
|
-
mapboxApiAccessToken,
|
|
271
269
|
mapboxApiUrl,
|
|
272
270
|
maskPolygon
|
|
273
271
|
} = this.props;
|
|
@@ -317,7 +315,6 @@ export default function MapContainerFactory(MapPopover, MapControl, Editor) {
|
|
|
317
315
|
deckGlLayers.push(
|
|
318
316
|
new ThreeDBuildingLayer({
|
|
319
317
|
id: '_keplergl_3d-building',
|
|
320
|
-
mapboxApiAccessToken,
|
|
321
318
|
mapboxApiUrl,
|
|
322
319
|
threeDBuildingColor: mapStyle.threeDBuildingColor,
|
|
323
320
|
updateTriggers: {
|