@alauda-fe/common 1.4.1 → 1.4.3
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/api/auth-api.service.d.ts +4 -1
- package/authorization/authorization.d.ts +27 -0
- package/authorization/constants.d.ts +11 -0
- package/authorization/public-api.d.ts +2 -0
- package/authorization/state.service.d.ts +3 -28
- package/business/resource-select/exports/project-selector/component.d.ts +1 -0
- package/core/constants/constants.d.ts +0 -1
- package/core/types/k8s/crd.d.ts +4 -1
- package/core/utils/cache-store.d.ts +3 -3
- package/esm2022/api/auth-api.service.mjs +15 -5
- package/esm2022/authorization/authorization.mjs +157 -0
- package/esm2022/authorization/constants.mjs +15 -0
- package/esm2022/authorization/public-api.mjs +3 -1
- package/esm2022/authorization/state.service.mjs +25 -147
- package/esm2022/authorization/storage-token.mjs +2 -2
- package/esm2022/business/resource-select/exports/project-selector/component.mjs +14 -6
- package/esm2022/business/resource-select/internals/data-grid/component.mjs +2 -2
- package/esm2022/core/constants/constants.mjs +1 -3
- package/esm2022/core/services/workspace-helper.service.mjs +4 -4
- package/esm2022/core/types/k8s/crd.mjs +1 -1
- package/esm2022/core/utils/cache-store.mjs +16 -11
- package/esm2022/grid-layout/components/grid/component.mjs +4 -3
- package/esm2022/grid-layout/components/grid-items/component.mjs +2 -2
- package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +2 -2
- package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +2 -2
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +2 -2
- package/esm2022/translate/translate.service.mjs +3 -4
- package/esm2022/widget/date-range-picker/component.mjs +1 -2
- package/esm2022/widget/status-icon/status-icon.component.mjs +1 -1
- package/package.json +1 -1
|
@@ -45,4 +45,4 @@ export var UserState;
|
|
|
45
45
|
UserState["INVALID"] = "invalid";
|
|
46
46
|
UserState["DELETED"] = "deleted";
|
|
47
47
|
})(UserState || (UserState = {}));
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdHlwZXMvazhzL2NyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5SEEsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3QixpREFBMEIsQ0FBQTtJQUMxQiwwQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQVVYO0FBVkQsV0FBWSxrQkFBa0I7SUFDNUIsa0RBQTRCLENBQUE7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIsMkNBQXFCLENBQUE7SUFDckIsNkNBQXVCLENBQUE7SUFDdkIsb0RBQThCLENBQUE7SUFDOUIsNkNBQXVCLENBQUE7SUFDdkIsc0RBQWdDLENBQUE7SUFDaEMsNkNBQXVCLENBQUE7SUFDdkIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQVZXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFVN0I7QUE4Q0QsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxNQUFNO0lBQ1osa0JBQWtCLEVBQUUsbUJBQW1CO0lBQ3ZDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxhQUFhO0lBQzNCLGFBQWEsRUFBRSxjQUFjO0NBQ3JCLENBQUM7QUFrY1gsTUFBTSxDQUFOLElBQVkseUJBTVg7QUFORCxXQUFZLHlCQUF5QjtJQUNuQyxnREFBbUIsQ0FBQTtJQUNuQixnREFBbUIsQ0FBQTtJQUNuQixnREFBbUIsQ0FBQTtJQUNuQiw4Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFOVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBTXBDO0FBV0QsTUFBTSxDQUFOLElBQVksb0JBS1g7QUFMRCxXQUFZLG9CQUFvQjtJQUM5Qix5Q0FBaUIsQ0FBQTtJQUNqQix5Q0FBaUIsQ0FBQTtJQUNqQiwyQ0FBbUIsQ0FBQTtJQUNuQixxREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBTFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUsvQjtBQXNIRCxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLDhCQUFpQixDQUFBO0lBQ2pCLGdDQUFtQixDQUFBO0lBQ25CLGdDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxTQUFTLEtBQVQsU0FBUyxRQUtwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcblxuaW1wb3J0IHsgU3RyaW5nTWFwIH0gZnJvbSAnLi4vY29tbW9ucyc7XG5cbmltcG9ydCB7IENvbmRpdGlvbiwgS3ViZXJuZXRlc1Jlc291cmNlLCBPYmplY3RNZXRhIH0gZnJvbSAnLi9jb3JlJztcbmltcG9ydCB7XG4gIENvbmZpZ01hcEtleVJlZixcbiAgTm9kZSxcbiAgTm9kZVN0YXR1cyxcbiAgTm9kZVRhaW50LFxuICBTZWNyZXRLZXlSZWYsXG59IGZyb20gJy4vcmF3JztcblxuLyoqXG4gKiDlj6rkv53nlZljb21tb27kuK3pnIDopoHnlKjliLDnmoRjcmQg5omp5bGV57G7XG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVJbmZvQ29uZGl0aW9uIHtcbiAgc3RhdHVzPzogJ1N1Y2Nlc3MnIHwgJ0ZhaWxlZCcgfCAnUHJvY2Vzc2luZycgfCAnUGVuZGluZyc7XG4gIHJlYXNvbj86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgbGFzdFRyYW5zaXRpb25UaW1lPzogc3RyaW5nO1xuICBsYXN0SGVhcnRiZWF0VGltZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVJbmZvQXZhaWxhYmxlVmVyc2lvbiB7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbkVuPzogc3RyaW5nO1xuICByaXNrTGV2ZWw/OiAnTG93JyB8ICdNaWRkbGUnIHwgJ0hpZ2gnO1xuICBkZXBlbmRlbmNpZXM/OiBBcnJheTx7XG4gICAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICAgIHZlcnNpb25zTWF0Y2g6IHN0cmluZ1tdO1xuICB9PjtcbiAgdXBncmFkZUJlZm9yZT86IEFycmF5PHtcbiAgICBtb2R1bGVOYW1lOiBzdHJpbmc7XG4gIH0+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUluZm8gZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzoge1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludD86IHN0cmluZztcbiAgICBzZWxlY3RlZENsdXN0ZXI/OiBBcnJheTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PjsgLy8ge3BsdWdpbi1uYW1lOiBjbHVzdGVyLW5hbWV9W11cbiAgICB2YWx1ZXNPdmVycmlkZTogU3RyaW5nTWFwO1xuICAgIGNvbmZpZz86IGFueTtcbiAgfTtcbiAgc3RhdHVzPzoge1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBwaGFzZTogJ1Byb2Nlc3NpbmcnIHwgJ1J1bm5pbmcnIHwgJ0ZhaWxlZCcgfCAnQmxvY2tlZCc7XG4gICAgcmVtb3ZlSXNQcmV2ZW50ZWQ/OiBib29sZWFuO1xuICAgIGJsb2NrUmVhc29ucz86IHN0cmluZ1tdO1xuICAgIGNvbmRpdGlvbnM/OiBNb2R1bGVJbmZvQ29uZGl0aW9uW107XG4gICAgYXZhaWxhYmxlVmVyc2lvbnM6IE1vZHVsZUluZm9BdmFpbGFibGVWZXJzaW9uW107XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclNwZWMge1xuICBhdXRoSW5mbz86IHtcbiAgICBjb250cm9sbGVyOiB7XG4gICAgICBraW5kOiBzdHJpbmc7XG4gICAgICBuYW1lc3BhY2U6IHN0cmluZztcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBrdWJlcm5ldGVzQXBpRW5kcG9pbnRzPzoge1xuICAgIGNhQnVuZGxlPzogc3RyaW5nO1xuICAgIHNlcnZlckVuZHBvaW50czogQXJyYXk8e1xuICAgICAgY2xpZW50Q0lEUjogc3RyaW5nO1xuICAgICAgc2VydmVyQWRkcmVzczogc3RyaW5nO1xuICAgIH0+O1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBDbHVzdGVyU3RhdHVzUmVhc29uID1cbiAgfCAnVGltZW91dCdcbiAgfCAnRm9yYmlkZGVuJ1xuICB8ICdVbmF1dGhvcml6ZWQnXG4gIHwgJ1NvbWVDb21wb25lbnRzVW5oZWFsdGh5J1xuICB8ICdTb21lTm9kZXNOb3RSZWFkeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclN0YXR1c0NvbmRpdGlvbiBleHRlbmRzIENvbmRpdGlvbiB7XG4gIGxhc3RUcmFuc2l0aW9uVGltZTogc3RyaW5nO1xuICB0eXBlOlxuICAgIHwgJ05vdFJlYWNoYWJsZSdcbiAgICB8ICdOb3RBY2Nlc3NpYmxlJ1xuICAgIHwgJ0NvbXBvbmVudE5vdEhlYWx0aHknXG4gICAgfCAnTm9kZU5vdFJlYWR5JztcbiAgc3RhdHVzOiAnVHJ1ZScgfCAnRmFsc2UnO1xuICByZWFzb246IENsdXN0ZXJTdGF0dXNSZWFzb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclN0YXR1cyB7XG4gIHZlcnNpb246IHN0cmluZztcbiAgY29uZGl0aW9uczogQ2x1c3RlclN0YXR1c0NvbmRpdGlvbltdO1xufVxuXG4vLyBjbHVzdGVycy5jbHVzdGVycmVnaXN0cnkuazhzLmlvIOeahOexu+Wei+WumuS5iVxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgbWV0YWRhdGE/OiBPYmplY3RNZXRhICYge1xuICAgIGZpbmFsaXplcnM/OiBzdHJpbmdbXTtcbiAgfTtcbiAgc3BlYz86IENsdXN0ZXJTcGVjO1xuICBzdGF0dXM/OiBDbHVzdGVyU3RhdHVzO1xuICBkZXRhaWxzPzoge1xuICAgIGdyb3VwOiBzdHJpbmc7XG4gICAga2luZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB1aWQ6IHN0cmluZztcbiAgfTtcbn1cblxuLy8gQWxhdWRhIFByb2R1Y3RcbmV4cG9ydCBpbnRlcmZhY2UgQWxhdWRhUHJvZHVjdFN0YXR1cyBleHRlbmRzIENvbmRpdGlvbiB7XG4gIGRlcGxveVN0YXR1cz86IEFsYXVkYURlcGxveVN0YXR1cztcbiAgcnVubmluZ1N0YXR1cz86IEFsYXVkYVJ1bm5pbmdTdGF0dXM7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgZGVwbG95VGltZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gQWxhdWRhUnVubmluZ1N0YXR1cyB7XG4gIE5PVF9SVU5OSU5HID0gJ05vdFJ1bm5pbmcnLFxuICBIRUFMVEhZID0gJ0hlYWx0aHknLFxuICBBQk5PUk1BTCA9ICdBYm5vcm1hbCcsXG59XG5cbmV4cG9ydCBlbnVtIEFsYXVkYURlcGxveVN0YXR1cyB7XG4gIE5PVF9ERVBMT1lFRCA9ICdOb3REZXBsb3llZCcsXG4gIFNVQ0NFU1MgPSAnc3VjY2VzcycsXG4gIEFCTk9STUFMID0gJ0Fibm9ybWFsJyxcbiAgREVQTE9ZSU5HID0gJ0RlcGxveWluZycsXG4gIERFUExPWV9GQUlMRUQgPSAnRGVwbG95RmFpbGVkJyxcbiAgVVBHUkFESU5HID0gJ1VwZ3JhZGluZycsXG4gIFVQR1JBREVfRkFJTEVEID0gJ1VwZ3JhZGVGYWlsZWQnLFxuICBDT01QTEVURUQgPSAnQ29tcGxldGVkJyxcbiAgUEVORElORyA9ICdQZW5kaW5nJyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2UgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBQcm9kdWN0QmFzZVNwZWM7XG4gIHN0YXR1cz86IFByb2R1Y3RCYXNlU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RTdGF0dXNDb25kaXRpb24ge1xuICBzdGF0dXM/OiAnVHJ1ZScgfCAnRmFsc2UnIHwgJ1Vua25vd24nO1xuICByZWFzb24/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHR5cGU6ICdSZWFkeScgfCAnSW5pdGlhbGl6ZWQnIHwgJ1JlY2xhaW1lZCcgfCAnU3VjY2VlZCc7XG4gIGxhc3RUcmFuc2l0aW9uVGltZT86IHN0cmluZztcbiAgbGFzdEhlYXJ0YmVhdFRpbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2VTdGF0dXMge1xuICBnbG9iYWxJRDogc3RyaW5nO1xuICBjbG91ZDoge1xuICAgIHBoYXNlOiAnT05MaW5lJyB8ICdDb25uZWN0RmFpbGVkJyB8ICdDb25uZWN0aW5nJyB8ICdPRkZMaW5lJztcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgY29ubmVjdFVSTDogc3RyaW5nO1xuICB9O1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHBoYXNlPzpcbiAgICB8ICdQZW5kaW5nJ1xuICAgIHwgJ1Byb3Zpc2lvbmluZydcbiAgICB8ICdQcm92aXNpb25lZCdcbiAgICB8ICdEZWxldGluZydcbiAgICB8ICdGYWlsZWQnXG4gICAgfCAnUnVubmluZydcbiAgICB8ICdJbnN0YWxsaW5nJyAvLyB0ZHNxbFxuICAgIHwgJ1VwZ3JhZGluZyc7XG4gIHByb2R1Y3RFbnRyeXBvaW50Pzogc3RyaW5nO1xuICBkZWxldGFibGU/OiBib29sZWFuO1xuICBjb25kaXRpb25zPzogUHJvZHVjdFN0YXR1c0NvbmRpdGlvbltdO1xuICBwcm9tZXRoZXVzQWRkcmVzcz86IHN0cmluZztcbiAgZWxhc3RpY1NlYXJjaEFkZHJlc3M/OiBzdHJpbmc7XG4gIGthZmthQWRkcmVzcz86IHN0cmluZztcbiAgY29udGFpbmVyUGxhdGZvcm0/OiBBbGF1ZGFQcm9kdWN0U3RhdHVzO1xuICBkZXZvcHM/OiBBbGF1ZGFQcm9kdWN0U3RhdHVzO1xuICBzZXJ2aWNlTWVzaD86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIGRhdGFTZXJ2aWNlcz86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIGJhc2U/OiBBbGF1ZGFQcm9kdWN0U3RhdHVzO1xuICBwcm9ncmVzcz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFByb2R1Y3RLZXkgPSB7XG4gIEJBU0U6ICdiYXNlJyxcbiAgQ09OVEFJTkVSX1BMQVRGT1JNOiAnY29udGFpbmVyUGxhdGZvcm0nLFxuICBERVZPUFM6ICdkZXZvcHMnLFxuICBTRVJWSUNFX01FU0g6ICdzZXJ2aWNlTWVzaCcsXG4gIERBVEFfU0VSVklDRVM6ICdkYXRhU2VydmljZXMnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgUHJvZHVjdEtleSA9IFZhbHVlT2Y8dHlwZW9mIFByb2R1Y3RLZXk+O1xuXG50eXBlIEdlblByb2R1Y3Q8VCBleHRlbmRzIFByb2R1Y3RLZXk+ID0gUmVjb3JkPFQsIHsgaW5zdGFsbDogYm9vbGVhbiB9PjtcblxuZXhwb3J0IGludGVyZmFjZSBUbHMge1xuICBjZXJ0OiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RCYXNlU3BlYyBleHRlbmRzIEdlblByb2R1Y3Q8UHJvZHVjdEtleT4ge1xuICBhbHRlcm5hdGl2ZVVSTHM6IHN0cmluZ1tdO1xuICBjaGFydE11c2V1bToge1xuICAgIHVybDogc3RyaW5nO1xuICB9O1xuICBwYWNrYWdlRWRpdGlvbjogc3RyaW5nO1xuICB2YWx1ZXNPdmVycmlkZT86IHtcbiAgICBkZXg6IFN0cmluZ01hcDtcbiAgfTtcbiAgY2hhcnRWZXJzaW9uczogW3sgbmFtZTogc3RyaW5nOyB2ZXJzaW9uOiBzdHJpbmcgfV07XG4gIGRlZmF1bHRBZG1pbjoge1xuICAgIGFjY291bnQ6IHN0cmluZztcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gIH07XG4gIGRlZmF1bHRSZWRpcmVjdFBhdGg6IHN0cmluZztcbiAgZGVwbG95VHlwZTogc3RyaW5nO1xuICBlbGFzdGljc2VhcmNoOiB7XG4gICAgaW5zdGFsbDogYm9vbGVhbjtcbiAgICBub2Rlczogc3RyaW5nW107XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgfTtcbiAgaHR0cDoge1xuICAgIGZvcmNlUmVkaXJlY3RIdHRwcz86IGJvb2xlYW47XG4gICAgaHR0cFBvcnQ/OiBudW1iZXI7XG4gICAgaHR0cHNQb3J0PzogbnVtYmVyO1xuICAgIHRscz86IFRscztcbiAgfTtcbiAgaW5ncmVzczoge1xuICAgIGNvbnRyb2xsZXI6IHsgaW5zdGFsbDogYm9vbGVhbjsgbm9kZXM6IHN0cmluZ1tdIH07XG4gICAgaG9zdDogc3RyaW5nO1xuICAgIGluZ3Jlc3NDbGFzc05hbWU6IHN0cmluZztcbiAgfTtcbiAga2Fma2E6IHtcbiAgICBhdXRoOiBib29sZWFuO1xuICAgIGluc3RhbGw6IGJvb2xlYW47XG4gICAgbm9kZXM6IHN0cmluZ1tdO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gIH07XG4gIGxvZ0FnZW50OiB7XG4gICAgZW5hYmxlOiBib29sZWFuO1xuICB9O1xuICBsb2dDZW50ZXI6IHtcbiAgICBlbmFibGU6IGJvb2xlYW47XG4gIH07XG4gIHBsYXRmb3JtVVJMOiBzdHJpbmc7XG4gIHByb21ldGhldXM6IHtcbiAgICBpbnN0YWxsOiBib29sZWFuO1xuICAgIHJlcGxpY2FzOiBudW1iZXI7XG4gICAgc3RvcmFnZTogeyBjYXBhY2l0eTogbnVtYmVyOyBub2Rlczogc3RyaW5nW107IHBhdGg6IHN0cmluZzsgdHlwZTogc3RyaW5nIH07XG4gIH07XG5cbiAgcmVnaXN0cnk6IHtcbiAgICBleHRlcm5hbD86IHN0cmluZztcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICBzZWNyZXRSZWY/OiBzdHJpbmc7XG4gIH07XG4gIHJlcGxpY2FzOiBudW1iZXI7XG4gIHZlcnNpb246IHN0cmluZztcbiAgY2xvdWQ6IHtcbiAgICBjb25uZWN0OiBib29sZWFuO1xuICAgIGNvbm5lY3RUeXBlOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvamVjdFNwZWMge1xuICBjbHVzdGVyczogUHJvamVjdENsdXN0ZXJbXTtcbiAgc3RhdHVzPzoge1xuICAgIHBoYXNlOiBzdHJpbmc7XG4gIH07XG4gIGNsdXN0ZXJEZWxldGVQb2xpY3k/OiAnRGVsZXRlJyB8ICdSZXRhaW4nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3RDbHVzdGVyIHtcbiAgbmFtZTogc3RyaW5nO1xuICBxdW90YTogc3RyaW5nOyAvLyBcIntcXFwiY3B1XFxcIjotMSxcXFwibWVtb3J5XFxcIjotMSxcXFwicG9kc1xcXCI6LTEsXFxcInB2Y19udW1cXFwiOi0xLFxcXCJzdG9yYWdlXFxcIjotMX1cIlxuICB0eXBlPzogJycgfCAnRmVkTWVtYmVyJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzogUHJvamVjdFNwZWM7XG4gIHN0YXR1cz86IHtcbiAgICBwaGFzZTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VNZXNoR3JvdXAgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiB7XG4gICAgazhzVmVyc2lvbjogc3RyaW5nO1xuICAgIHdpdGhvdXRJc3Rpbz86IGJvb2xlYW47XG4gICAgaXN0aW9WZXJzaW9uOiBzdHJpbmc7XG4gICAgcHJpbWFyeTogc3RyaW5nO1xuICAgIHNlbGVjdG9yOiB7XG4gICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gICAgfTtcbiAgICBjbHVzdGVyczogc3RyaW5nW107XG4gICAgbWVzaENvbW1vbkNvbmZpZz86IE1lc2hDb21tb25Db25maWc7XG4gICAgY2x1c3RlckNvbmZpZ3M/OiB7XG4gICAgICBbY2x1c3Rlck5hbWU6IHN0cmluZ106IENsdXN0ZXJDb25maWc7XG4gICAgfTtcbiAgfTtcbiAgc3RhdHVzOiB7XG4gICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgTWVzc2FnZTogc3RyaW5nO1xuICAgIGNsdXN0ZXJDb3VudDogbnVtYmVyO1xuICAgIGxhdGVzdFVwZGF0ZVRpbWU6IHN0cmluZztcbiAgICBOb25SZWFkeUNsdXN0ZXJDb3VudDogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc2hDb21tb25Db25maWcge1xuICBlbGFzdGljc2VhcmNoOiB7XG4gICAgaXNEZWZhdWx0OiBib29sZWFuO1xuICAgIHBhc3N3b3JkPzogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHVzZXJuYW1lPzogc3RyaW5nO1xuICB9O1xuICBtb25pdG9yVHlwZTogc3RyaW5nO1xuICBwcm9tZXRoZXVzQmFzaWNBdXRoOiB7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICB9O1xuICBpc0RlZmF1bHRNb25pdG9yOiBib29sZWFuO1xuICBwcm9tZXRoZXVzVVJMOiBzdHJpbmc7XG4gIHRyYWNlU2FtcGxpbmc6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyQ29uZmlnIHtcbiAgaXN0aW9TaWRlY2FyOiB7XG4gICAgY3B1VmFsdWU6IHN0cmluZztcbiAgICBtZW1vcnlWYWx1ZTogc3RyaW5nO1xuICB9O1xuICBrYWZrYT86IHtcbiAgICBhdXRoZW50aWNhdGlvbjogc3RyaW5nO1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICB9O1xuICByZWRpcz86IFJlZGlzQ29uZmlnO1xuICB0cmFjZVNhbXBsaW5nOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVkaXNDb25maWcge1xuICBlbmFibGVkOiBib29sZWFuO1xuICBraW5kOiAnc2luZ2xlJyB8ICdjbHVzdGVyJyB8ICdzZW50aW5lbCc7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbiAgbWFzdGVyTmFtZT86IHN0cmluZztcbn1cblxuLy8gVEtFXG5leHBvcnQgaW50ZXJmYWNlIFRLRUNsdXN0ZXJTcGVjIHtcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgc2VydmljZUNJRFI/OiBzdHJpbmc7XG4gIGRvY2tlckV4dHJhQXJncz86IFN0cmluZ01hcDtcbiAga3ViZWxldEV4dHJhQXJncz86IFN0cmluZ01hcDtcbiAgY29udHJvbGxlck1hbmFnZXJFeHRyYUFyZ3M/OiBTdHJpbmdNYXA7XG4gIHNjaGVkdWxlckV4dHJhQXJncz86IFN0cmluZ01hcDtcbiAgcHVibGljQWx0ZXJuYXRpdmVOYW1lcz86IHN0cmluZ1tdO1xuICBjbHVzdGVyQ0lEUj86IHN0cmluZztcbiAgbmV0d29ya0RldmljZT86IHN0cmluZztcbiAgcHJvcGVydGllcz86IHtcbiAgICBtYXhDbHVzdGVyU2VydmljZU51bT86IG51bWJlcjtcbiAgICBtYXhOb2RlUG9kTnVtPzogbnVtYmVyO1xuICAgIG92ZXJzb2xkUmF0aW8/OiB7XG4gICAgICBjcHU6IHN0cmluZztcbiAgICAgIG1lbW9yeTogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIGZlYXR1cmVzPzoge1xuICAgIGVuYWJsZU1hc3RlclNjaGVkdWxlPzogYm9vbGVhbjtcbiAgICBpcHY2RHVhbFN0YWNrPzogYm9vbGVhbjtcbiAgICBmaWxlcz86IEFycmF5PHtcbiAgICAgIHNyYz86IHN0cmluZztcbiAgICAgIGRzdD86IHN0cmluZztcbiAgICB9PjtcbiAgICBoYT86IHtcbiAgICAgIHRoaXJkUGFydHk/OiB7XG4gICAgICAgIHZpcD86IHN0cmluZztcbiAgICAgICAgdnBvcnQ/OiBudW1iZXI7XG4gICAgICB9O1xuICAgICAgdGtlPzoge1xuICAgICAgICB2cmlkPzogdW5rbm93bjtcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbiAgdHlwZTogJ0JhcmVtZXRhbCcgfCAnSW1wb3J0ZWQnO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuICBtYWNoaW5lcz86IFRLRU1hY2hpbmVTcGVjW107XG4gIGRuc0RvbWFpbj86IHN0cmluZztcbiAgYXBpU2VydmVyRXh0cmFBcmdzPzogU3RyaW5nTWFwO1xuICBjbHVzdGVyQ3JlZGVudGlhbFJlZj86IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVEtFQ2x1c3RlciBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBUS0VDbHVzdGVyU3BlYztcbiAgc3RhdHVzPzoge1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gICAgcGhhc2U/OiBzdHJpbmc7XG4gICAgY29uZGl0aW9ucz86IENvbmRpdGlvbltdO1xuICAgIGFkZHJlc3Nlcz86IEFycmF5PHtcbiAgICAgIGhvc3Q6IHN0cmluZztcbiAgICAgIHBhdGg/OiAnJztcbiAgICAgIHR5cGU6ICdBZHZlcnRpc2UnIHwgJ1B1YmxpYyc7XG4gICAgICBwb3J0OiBudW1iZXI7XG4gICAgfT47XG4gICAgc2VydmljZUNJRFI/OiBzdHJpbmc7XG4gICAgbm9kZUNJRFJNYXNrU2l6ZT86IG51bWJlcjtcbiAgICBkbnNJUD86IHN0cmluZztcbiAgfTtcbiAgZ2F0ZXdheU5vZGU/OiBOb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRLRU1hY2hpbmVTcGVjIHtcbiAgY2x1c3Rlck5hbWU/OiBzdHJpbmc7XG4gIHJvbGU/OiAnbm9kZScgfCAnbWFzdGVyJztcbiAgaXA/OiBzdHJpbmc7XG4gIGlwdjY/OiBzdHJpbmc7XG4gIHB1YmxpY0lQPzogc3RyaW5nO1xuICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgbmV0d29ya0RldmljZT86IHN0cmluZztcbiAgcG9ydDogbnVtYmVyO1xuICBwYXNzd29yZD86IHN0cmluZztcbiAgcHJpdmF0ZUtleT86IHN0cmluZztcbiAgcGFzc1BocmFzZT86IHN0cmluZztcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgbGFiZWxzPzoge1xuICAgIFsnbnZpZGlhLWRldmljZS1lbmFibGUnXT86IHN0cmluZztcbiAgICBbJ25vZGUtcm9sZS5rdWJlcm5ldGVzLmlvL2NwYWFzLXN5c3RlbSddPzogc3RyaW5nO1xuICB9O1xuICB0eXBlPzogc3RyaW5nO1xuICBwcm94eT86IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgfTtcbiAgYW5ub3RhdGlvbnM/OiBTdHJpbmdNYXA7XG4gIHRhaW50cz86IE5vZGVUYWludFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJDcmVkZW50aWFsIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgY2x1c3Rlck5hbWU6IHN0cmluZztcbiAgY2FDZXJ0OiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVEtFTWFjaGluZSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBUS0VNYWNoaW5lU3BlYztcbiAgc3RhdHVzPzogTm9kZVN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYWNoaW5lIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IE1hY2hpbmVTcGVjO1xuICBzdGF0dXM/OiBNYWNoaW5lU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hY2hpbmVTcGVjIHtcbiAgY2x1c3Rlcjogc3RyaW5nO1xuICBwcm92aWRlcjogc3RyaW5nO1xuICBwcm92aWRlclNwZWM6IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFjaGluZVN0YXR1cyB7XG4gIHVzZXJEYXRhU2VjcmV0Pzoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gIH07XG4gIG5vZGVSZWY/OiB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgfTtcbiAgbGFzdFVwZGF0ZTogc3RyaW5nO1xuICBlcnJSZWFzb246IHN0cmluZztcbiAgZXJyTWVzc2FnZTogc3RyaW5nO1xuICBwaGFzZTogc3RyaW5nO1xuICBjb25kaXRpb25zOiBDb25kaXRpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyVmlldyBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiB2b2lkO1xuICBzdGF0dXM/OiBDbHVzdGVyVmlld1N0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyVmlld1N0YXR1cyB7XG4gIHByb3Zpc2lvblR5cGU6ICdTZWxmSG9zdGVkJyB8ICdQcm92aWRlckhvc3RlZCcgfCAnSW1wb3J0ZWQnIHwgJ1JlZ2lzdGVyZWQnO1xuICBjbHVzdGVyVHlwZTogc3RyaW5nO1xuICBzdXBwb3J0V2luZG93czogYm9vbGVhbjtcbiAgcmVnaXN0cnlBZGRyZXNzOiBzdHJpbmc7XG4gIGNvbmRpdGlvbnM6IENvbmRpdGlvbltdO1xuICBwcm9qZWN0czogQXJyYXk8eyBuYW1lOiBzdHJpbmc7IGRpc3BsYXlOYW1lOiBzdHJpbmcgfT47XG4gIGNvbnRyb2xQbGFuZUVuZHBvaW50czoge1xuICAgIGRlZmF1bHQ6IHN0cmluZztcbiAgICBhZHZlcnRpc2U6IHN0cmluZztcbiAgICBwdWJsaWM/OiBzdHJpbmc7XG4gIH07XG4gIG5vZGVzSW5mbzoge1xuICAgIHJlYWR5Tm9kZXM6IG51bWJlcjtcbiAgICBub3RSZWFkeU5vZGVzOiBudW1iZXI7XG4gICAgYXJjaGl0ZWN0dXJlczogc3RyaW5nW107XG4gICAgdG90YWxDUFVDb3JlczogbnVtYmVyO1xuICAgIHRvdGFsTWVtb3JpZXM6IG51bWJlcjtcbiAgICBjcmlWZXJzaW9uczogc3RyaW5nW107XG4gICAgZXh0cmFSZXNvdXJjZXM/OiB7IFtrZXk6IHN0cmluZ106IENsdXN0ZXJEZXZpY2VSZXNvdXJjZSB9O1xuICB9O1xuICBjbHVzdGVyTmV0d29yazoge1xuICAgIGhhTG9hZEJhbGFuY2VyVHlwZT86ICdBbGl2ZScgfCAnVGhpcmRQYXJ0eSc7XG4gICAgY25pVHlwZTogc3RyaW5nO1xuICAgIHByb3RvY29sU3RhY2s6ICdJUHY0JyB8ICdJUHY2JyB8ICdEdWFsLVN0YWNrJztcbiAgICBzZXJ2aWNlQ0lEUnM6IHN0cmluZ1tdO1xuICAgIHBvZENJRFJzOiBzdHJpbmdbXTtcbiAgICBleHRyYUluZm86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgdnJpZD86IG51bWJlcjtcbiAgICBtYXhOb2Rlcz86IG51bWJlcjtcbiAgfTtcbiAgbWFuYWdlZEJ5Pzoge1xuICAgIHBsdWdpbk5hbWU6IHN0cmluZztcbiAgICBlbnRyeXBvaW50OiBzdHJpbmc7XG4gIH07XG4gIGdwdVBsdWdpblR5cGU/OiAnVmlydHVhbCcgfCAnUGh5c2ljYWwnO1xuICBoaWdoQXZhaWxhYmxlOiBib29sZWFuO1xuICBuZWVkVXBncmFkZTogYm9vbGVhbjtcbiAgdXBncmFkYWJsZTogYm9vbGVhbjtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBwaGFzZTogc3RyaW5nO1xuICBleHRyYUFyZ3M6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+O1xuICBwdWJsaWNBbHRlcm5hdGl2ZU5hbWVzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyRGV2aWNlUmVzb3VyY2Uge1xuICB2YWx1ZTogbnVtYmVyO1xuICB1bml0Pzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbkVuPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvblpoPzogc3RyaW5nO1xuICBsYWJlbEVuPzogc3RyaW5nO1xuICBsYWJlbFpoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyTmV0d29ya1NwZWMge1xuICBkZWZhdWx0SW50ZXJmYWNlOiBzdHJpbmc7XG4gIGN1c3RvbUludGVyZmFjZXM6IEFycmF5PHtcbiAgICBpbnRlcmZhY2U6IHN0cmluZztcbiAgICBub2Rlczogc3RyaW5nW107XG4gIH0+O1xuICBleGNsdWRlTm9kZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyTmV0d29yayBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IFByb3ZpZGVyTmV0d29ya1NwZWM7XG4gIHN0YXR1cz86IHtcbiAgICByZWFkeTogYm9vbGVhbjtcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgTG9jYWxlRGlzcGxheSA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEVudHJ5U3BlYyB7XG4gIGxvZ28/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogTG9jYWxlRGlzcGxheTtcbiAgZGVzY3JpcHRpb24/OiBMb2NhbGVEaXNwbGF5O1xuICBjYXRhbG9nPzogTG9jYWxlRGlzcGxheTtcbiAgZW50cnlwb2ludD86IHN0cmluZztcbiAgc3NvRW5hYmxlZD86IGJvb2xlYW47XG4gIHBhY2tUeXBlPzogJ0ludGVncmF0ZWQnIHwgJ0J1aWxkSW4nIHwgJ0FkbWluUGFnZSc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEVudHJ5U3RhdHVzIHtcbiAgaGlkZGVuT25Qb3J0YWw/OiBib29sZWFuO1xuICBoaWRkZW5Pbk1lbnU/OiBib29sZWFuO1xuICBvcmRlck9uUG9ydGFsPzogbnVtYmVyO1xuICBvcmRlck9uTWVudT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0RW50cnkgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogUHJvZHVjdEVudHJ5U3BlYztcbiAgc3RhdHVzPzogUHJvZHVjdEVudHJ5U3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RTdGF0dXMge1xuICB0eXBlOlxuICAgIHwgJ05vdERlcGxveWVkJ1xuICAgIHwgJ0luRGVwbG95bWVudCdcbiAgICB8ICdSdW5uaW5nJ1xuICAgIHwgJ0RlcGxveW1lbnRGYWlsdXJlJ1xuICAgIHwgJ1J1bm5pbmdBYm5vcm1hbCdcbiAgICB8ICdEZWxldGluZydcbiAgICB8ICdEZWxldGVGYWlsdXJlJ1xuICAgIHwgJ0RlcGxveW1lbnRTdWNjZWVkJ1xuICAgIHwgJ1N5c3RlbUVycm9yJ1xuICAgIHwgJ1VwZ3JhZGluZyc7XG4gIGljb246IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3REb2NzRW50cnkgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiB7XG4gICAgZ3JvdXBzOiBBcnJheTx7XG4gICAgICBncm91cE5hbWU6IExvY2FsZURpc3BsYXk7XG4gICAgICBkb2NzOiBBcnJheTx7XG4gICAgICAgIGxvZ286IHN0cmluZztcbiAgICAgICAgZG9jRW50cnlwb2ludDogc3RyaW5nO1xuICAgICAgICBkaXNwbGF5TmFtZTogTG9jYWxlRGlzcGxheTtcbiAgICAgICAgZGVzY3JpcHRpb246IExvY2FsZURpc3BsYXk7XG4gICAgICB9PjtcbiAgICB9PjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWxtUmVxdWVzdENvbmRpdGlvbiB7XG4gIGxhc3RQcm9iZVRpbWU/OiBzdHJpbmc7XG4gIGxhc3RUcmFuc2l0aW9uVGltZT86IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICByZWFzb246IHN0cmluZzsgLy8gUGVybWlzc2lvbkNoZWNrRmFpbGVkXG4gIHN0YXR1czogJ1RydWUnIHwgJ0ZhbHNlJztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0bGFiLWNlLmFsYXVkYS5jbi9jb250YWluZXItcGxhdGZvcm0vY2FwdGFpbi8tL2Jsb2IvbWFzdGVyL2RvY3MvY3JkLm1kXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3QgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogSGVsbVJlcXVlc3RTcGVjO1xuICBzdGF0dXM/OiB7XG4gICAgcGhhc2U6IEhlbG1SZXF1ZXN0UGhhc2VFbnVtO1xuICAgIG5vdGVzPzogc3RyaW5nO1xuICAgIGxhc3RTcGVjSGFzaD86IHN0cmluZztcbiAgICByZWFzb24/OiBzdHJpbmc7XG4gICAgY29uZGl0aW9ucz86IEhlbG1SZXF1ZXN0Q29uZGl0aW9uW107XG4gICAgdGFyZ2V0Q2x1c3RlclN5bmNSZXN1bHRzPzogSGVsbVJlcXVlc3RDbHVzdGVyU3luY1Jlc3VsdHM7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3RDbHVzdGVyU3luY1Jlc3VsdHMge1xuICBbY2x1c3Rlcjogc3RyaW5nXTogSGVsbVJlcXVlc3RDbHVzdGVyU3luY1Jlc3VsdDtcbn1cblxuZXhwb3J0IGVudW0gQ2xvdWRIZWxtUmVxdWVzdFN0YXRlRW51bSB7XG4gIFBlbmRpbmcgPSAnUGVuZGluZycsXG4gIFJ1bm5pbmcgPSAnUnVubmluZycsXG4gIFN0b3BwZWQgPSAnU3RvcHBlZCcsXG4gIEZhaWxlZCA9ICdGYWlsZWQnLFxuICBFbXB0eSA9ICdFbXB0eScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3RDbHVzdGVyU3luY1Jlc3VsdCB7XG4gIGFwcFN0YXR1czogQ2xvdWRIZWxtUmVxdWVzdFN0YXRlRW51bTtcbiAgZW5kcG9pbnQ6IHN0cmluZztcbiAgbGFzdFVwZGF0ZUF0OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgcGhhc2U6IEhlbG1SZXF1ZXN0UGhhc2VFbnVtO1xuICByZWFzb246IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gSGVsbVJlcXVlc3RQaGFzZUVudW0ge1xuICBTeW5jZWQgPSAnU3luY2VkJyxcbiAgRmFpbGVkID0gJ0ZhaWxlZCcsXG4gIFBlbmRpbmcgPSAnUGVuZGluZycsXG4gIFVuaW5zdGFsbGluZyA9ICdVbmluc3RhbGxpbmcnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0U3BlYyB7XG4gIGNoYXJ0Pzogc3RyaW5nO1xuICB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICB2YWx1ZXNGcm9tPzogQXJyYXk8e1xuICAgIGNvbmZpZ01hcEtleVJlZj86IENvbmZpZ01hcEtleVJlZjtcbiAgICBzZWNyZXRLZXlSZWY/OiBTZWNyZXRLZXlSZWY7XG4gIH0+O1xuICBjbHVzdGVyTmFtZT86IHN0cmluZztcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICByZWxlYXNlTmFtZT86IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZztcbiAgcHJvamVjdE5hbWU/OiBzdHJpbmc7XG4gIHNvdXJjZT86IHtcbiAgICBvY2k/OiBIZWxtUmVxdWVzdE9jaTtcbiAgICBodHRwPzogSGVsbVJlcXVlc3RIdHRwO1xuICB9O1xuICB0YXJnZXRDbHVzdGVycz86IHtcbiAgICBjbHVzdGVyTmFtZXM6IHtcbiAgICAgIG5hbWVzOiBzdHJpbmdbXTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0T2NpIHtcbiAgcmVwbzogc3RyaW5nO1xuICBzZWNyZXRSZWY6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3RIdHRwIHtcbiAgdXJsOiBzdHJpbmc7XG4gIHNlY3JldFJlZjogc3RyaW5nO1xufVxuXG4vKipcbiAqIGh0dHBzOi8vY29uZmx1ZW5jZS5hbGF1ZGEuY24vcGFnZXMvdmlld3BhZ2UuYWN0aW9uP3BhZ2VJZD0xNzY4ODM0NzBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VyQmluZGluZyBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBVc2VyQmluZGluZ1NwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckJpbmRpbmdTcGVjIHtcbiAgc3ViamVjdHM6IEFycmF5PHtcbiAgICBraW5kOiAnVXNlcicgfCAnR3JvdXAnIHwgJ1NlcnZpY2VBY2NvdW50JztcbiAgICBuYW1lOiBzdHJpbmc7XG4gIH0+O1xuICByb2xlUmVmOiBzdHJpbmc7XG4gIHNjb3BlOiBzdHJpbmc7IC8vIOaUr+aMgeexu+Wei3BsYXRmb3JtLCBjbHVzdGVyLCBwcm9qZWN0LCBuYW1lc3BhY2VcbiAgY29uc3RyYWludDogQXJyYXk8e1xuICAgIHByb2plY3Q/OiBzdHJpbmc7XG4gICAgY2x1c3Rlcj86IHN0cmluZztcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIH0+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvbGVSdWxlIHtcbiAgbW9kdWxlOiBzdHJpbmc7XG4gIGZ1bmN0aW9uUmVzb3VyY2VSZWY6IHN0cmluZztcbiAgZnVuY3Rpb25NZXRhZGF0YU5hbWU/OiBzdHJpbmc7XG4gIHZlcmJzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb2xlQ3VzdG9tUnVsZSB7XG4gIGFwaUdyb3VwOiBzdHJpbmc7XG4gIHJlc291cmNlczogc3RyaW5nW107XG4gIHZlcmJzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb2xlVGVtcGxhdGVTcGVjIHtcbiAgcnVsZXM/OiBSb2xlUnVsZVtdO1xuICBjdXN0b21SdWxlcz86IFJvbGVDdXN0b21SdWxlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9sZVRlbXBsYXRlIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IFJvbGVUZW1wbGF0ZVNwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclJvbGVOYW1lc3BhY2Uge1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgY2x1c3Rlcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJSb2xlIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgcm9sZXM/OiBzdHJpbmdbXTtcbiAgbmFtZXNwYWNlcz86IFJlY29yZDxzdHJpbmcsIFVzZXJSb2xlTmFtZXNwYWNlW10+O1xufVxuXG4vLyBodHRwOi8vY29uZmx1ZW5jZS5hbGF1ZGF0ZWNoLmNvbS9wYWdlcy92aWV3cGFnZS5hY3Rpb24/cGFnZUlkPTM5MzM4MzY2IzEtJUU4JThFJUI3JUU1JThGJTk2JUU3JTk0JUE4JUU2JTg4JUI3JUU0JUJGJUExJUU2JTgxJUFGXG5leHBvcnQgaW50ZXJmYWNlIFVzZXIgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogVXNlclNwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclNwZWMge1xuICBjb25uZWN0b3JfbmFtZT86IHN0cmluZztcbiAgY29ubmVjdG9yX3R5cGU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBtYWlsPzogc3RyaW5nO1xuICBncm91cHM/OiBzdHJpbmdbXTtcbiAgaXNfYWRtaW4/OiBib29sZWFuO1xuICB2YWxpZD86IGJvb2xlYW47XG4gIHVzZXJuYW1lPzogc3RyaW5nO1xuICBvbGRfcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBsYXN0X2xvZ2luX3RpbWU/OiBzdHJpbmc7XG4gIGxvZ2luX2ZhaWx1cmVfdGltZXM/OiBudW1iZXI7XG4gIHN0YXRlPzogVXNlclN0YXRlO1xuICBpc19kaXNhYmxlZD86IGJvb2xlYW47XG4gIGV4cGlyZWQ/OiB7XG4gICAgYmVnaW46IHN0cmluZztcbiAgICBlbmQ6IHN0cmluZztcbiAgfTtcbiAgbW9iaWxlPzogc3RyaW5nO1xuICB3ZWJob29rVHlwZT86IFdlYmhvb2tUeXBlO1xuICB3ZWJob29rVXJsPzogc3RyaW5nO1xuICBpZHM/OiBBcnJheTx7IHR5cGU6IHN0cmluZzsgaWQ6IHN0cmluZyB9Pjtcbn1cblxuZXhwb3J0IGVudW0gVXNlclN0YXRlIHtcbiAgQUNUSVZFID0gJ2FjdGl2ZScsXG4gIExPQ0tFRCA9ICdsb2NrZWQnLFxuICBJTlZBTElEID0gJ2ludmFsaWQnLFxuICBERUxFVEVEID0gJ2RlbGV0ZWQnLFxufVxuXG5leHBvcnQgdHlwZSBXZWJob29rVHlwZSA9ICdXZWJob29rJyB8ICdEaW5nVGFsaycgfCAnV2VDaGF0JztcbiJdfQ==
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdHlwZXMvazhzL2NyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4SEEsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3QixpREFBMEIsQ0FBQTtJQUMxQiwwQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQVVYO0FBVkQsV0FBWSxrQkFBa0I7SUFDNUIsa0RBQTRCLENBQUE7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIsMkNBQXFCLENBQUE7SUFDckIsNkNBQXVCLENBQUE7SUFDdkIsb0RBQThCLENBQUE7SUFDOUIsNkNBQXVCLENBQUE7SUFDdkIsc0RBQWdDLENBQUE7SUFDaEMsNkNBQXVCLENBQUE7SUFDdkIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQVZXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFVN0I7QUE4Q0QsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxNQUFNO0lBQ1osa0JBQWtCLEVBQUUsbUJBQW1CO0lBQ3ZDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxhQUFhO0lBQzNCLGFBQWEsRUFBRSxjQUFjO0NBQ3JCLENBQUM7QUFrY1gsTUFBTSxDQUFOLElBQVkseUJBTVg7QUFORCxXQUFZLHlCQUF5QjtJQUNuQyxnREFBbUIsQ0FBQTtJQUNuQixnREFBbUIsQ0FBQTtJQUNuQixnREFBbUIsQ0FBQTtJQUNuQiw4Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFOVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBTXBDO0FBV0QsTUFBTSxDQUFOLElBQVksb0JBS1g7QUFMRCxXQUFZLG9CQUFvQjtJQUM5Qix5Q0FBaUIsQ0FBQTtJQUNqQix5Q0FBaUIsQ0FBQTtJQUNqQiwyQ0FBbUIsQ0FBQTtJQUNuQixxREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBTFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUsvQjtBQXNIRCxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLDhCQUFpQixDQUFBO0lBQ2pCLGdDQUFtQixDQUFBO0lBQ25CLGdDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxTQUFTLEtBQVQsU0FBUyxRQUtwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcblxuaW1wb3J0IHsgU3RyaW5nTWFwIH0gZnJvbSAnLi4vY29tbW9ucyc7XG5cbmltcG9ydCB7XG4gIENvbmRpdGlvbixcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBLdWJlcm5ldGVzUmVzb3VyY2VMaXN0LFxuICBPYmplY3RNZXRhLFxufSBmcm9tICcuL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29uZmlnTWFwS2V5UmVmLFxuICBOb2RlLFxuICBOb2RlU3RhdHVzLFxuICBOb2RlVGFpbnQsXG4gIFNlY3JldEtleVJlZixcbn0gZnJvbSAnLi9yYXcnO1xuXG4vKipcbiAqIOWPquS/neeVmWNvbW1vbuS4remcgOimgeeUqOWIsOeahGNyZCDmianlsZXnsbtcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUluZm9Db25kaXRpb24ge1xuICBzdGF0dXM/OiAnU3VjY2VzcycgfCAnRmFpbGVkJyB8ICdQcm9jZXNzaW5nJyB8ICdQZW5kaW5nJztcbiAgcmVhc29uPzogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBsYXN0VHJhbnNpdGlvblRpbWU/OiBzdHJpbmc7XG4gIGxhc3RIZWFydGJlYXRUaW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUluZm9BdmFpbGFibGVWZXJzaW9uIHtcbiAgdmVyc2lvbj86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uRW4/OiBzdHJpbmc7XG4gIHJpc2tMZXZlbD86ICdMb3cnIHwgJ01pZGRsZScgfCAnSGlnaCc7XG4gIGRlcGVuZGVuY2llcz86IEFycmF5PHtcbiAgICBtb2R1bGVOYW1lOiBzdHJpbmc7XG4gICAgdmVyc2lvbnNNYXRjaDogc3RyaW5nW107XG4gIH0+O1xuICB1cGdyYWRlQmVmb3JlPzogQXJyYXk8e1xuICAgIG1vZHVsZU5hbWU6IHN0cmluZztcbiAgfT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlSW5mbyBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiB7XG4gICAgdmVyc2lvbj86IHN0cmluZztcbiAgICBlbnRyeXBvaW50Pzogc3RyaW5nO1xuICAgIHNlbGVjdGVkQ2x1c3Rlcj86IEFycmF5PHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0+OyAvLyB7cGx1Z2luLW5hbWU6IGNsdXN0ZXItbmFtZX1bXVxuICAgIHZhbHVlc092ZXJyaWRlOiBTdHJpbmdNYXA7XG4gICAgY29uZmlnPzogYW55O1xuICB9O1xuICBzdGF0dXM/OiB7XG4gICAgdmVyc2lvbjogc3RyaW5nO1xuICAgIHBoYXNlOiAnUHJvY2Vzc2luZycgfCAnUnVubmluZycgfCAnRmFpbGVkJyB8ICdCbG9ja2VkJztcbiAgICByZW1vdmVJc1ByZXZlbnRlZD86IGJvb2xlYW47XG4gICAgYmxvY2tSZWFzb25zPzogc3RyaW5nW107XG4gICAgY29uZGl0aW9ucz86IE1vZHVsZUluZm9Db25kaXRpb25bXTtcbiAgICBhdmFpbGFibGVWZXJzaW9uczogTW9kdWxlSW5mb0F2YWlsYWJsZVZlcnNpb25bXTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyU3BlYyB7XG4gIGF1dGhJbmZvPzoge1xuICAgIGNvbnRyb2xsZXI6IHtcbiAgICAgIGtpbmQ6IHN0cmluZztcbiAgICAgIG5hbWVzcGFjZTogc3RyaW5nO1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIGt1YmVybmV0ZXNBcGlFbmRwb2ludHM/OiB7XG4gICAgY2FCdW5kbGU/OiBzdHJpbmc7XG4gICAgc2VydmVyRW5kcG9pbnRzOiBBcnJheTx7XG4gICAgICBjbGllbnRDSURSOiBzdHJpbmc7XG4gICAgICBzZXJ2ZXJBZGRyZXNzOiBzdHJpbmc7XG4gICAgfT47XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIENsdXN0ZXJTdGF0dXNSZWFzb24gPVxuICB8ICdUaW1lb3V0J1xuICB8ICdGb3JiaWRkZW4nXG4gIHwgJ1VuYXV0aG9yaXplZCdcbiAgfCAnU29tZUNvbXBvbmVudHNVbmhlYWx0aHknXG4gIHwgJ1NvbWVOb2Rlc05vdFJlYWR5JztcblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyU3RhdHVzQ29uZGl0aW9uIGV4dGVuZHMgQ29uZGl0aW9uIHtcbiAgbGFzdFRyYW5zaXRpb25UaW1lOiBzdHJpbmc7XG4gIHR5cGU6XG4gICAgfCAnTm90UmVhY2hhYmxlJ1xuICAgIHwgJ05vdEFjY2Vzc2libGUnXG4gICAgfCAnQ29tcG9uZW50Tm90SGVhbHRoeSdcbiAgICB8ICdOb2RlTm90UmVhZHknO1xuICBzdGF0dXM6ICdUcnVlJyB8ICdGYWxzZSc7XG4gIHJlYXNvbjogQ2x1c3RlclN0YXR1c1JlYXNvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyU3RhdHVzIHtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBjb25kaXRpb25zOiBDbHVzdGVyU3RhdHVzQ29uZGl0aW9uW107XG59XG5cbi8vIGNsdXN0ZXJzLmNsdXN0ZXJyZWdpc3RyeS5rOHMuaW8g55qE57G75Z6L5a6a5LmJXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXIgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBtZXRhZGF0YT86IE9iamVjdE1ldGEgJiB7XG4gICAgZmluYWxpemVycz86IHN0cmluZ1tdO1xuICB9O1xuICBzcGVjPzogQ2x1c3RlclNwZWM7XG4gIHN0YXR1cz86IENsdXN0ZXJTdGF0dXM7XG4gIGRldGFpbHM/OiB7XG4gICAgZ3JvdXA6IHN0cmluZztcbiAgICBraW5kOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHVpZDogc3RyaW5nO1xuICB9O1xufVxuXG4vLyBBbGF1ZGEgUHJvZHVjdFxuZXhwb3J0IGludGVyZmFjZSBBbGF1ZGFQcm9kdWN0U3RhdHVzIGV4dGVuZHMgQ29uZGl0aW9uIHtcbiAgZGVwbG95U3RhdHVzPzogQWxhdWRhRGVwbG95U3RhdHVzO1xuICBydW5uaW5nU3RhdHVzPzogQWxhdWRhUnVubmluZ1N0YXR1cztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBkZXBsb3lUaW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBBbGF1ZGFSdW5uaW5nU3RhdHVzIHtcbiAgTk9UX1JVTk5JTkcgPSAnTm90UnVubmluZycsXG4gIEhFQUxUSFkgPSAnSGVhbHRoeScsXG4gIEFCTk9STUFMID0gJ0Fibm9ybWFsJyxcbn1cblxuZXhwb3J0IGVudW0gQWxhdWRhRGVwbG95U3RhdHVzIHtcbiAgTk9UX0RFUExPWUVEID0gJ05vdERlcGxveWVkJyxcbiAgU1VDQ0VTUyA9ICdzdWNjZXNzJyxcbiAgQUJOT1JNQUwgPSAnQWJub3JtYWwnLFxuICBERVBMT1lJTkcgPSAnRGVwbG95aW5nJyxcbiAgREVQTE9ZX0ZBSUxFRCA9ICdEZXBsb3lGYWlsZWQnLFxuICBVUEdSQURJTkcgPSAnVXBncmFkaW5nJyxcbiAgVVBHUkFERV9GQUlMRUQgPSAnVXBncmFkZUZhaWxlZCcsXG4gIENPTVBMRVRFRCA9ICdDb21wbGV0ZWQnLFxuICBQRU5ESU5HID0gJ1BlbmRpbmcnLFxufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0QmFzZSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IFByb2R1Y3RCYXNlU3BlYztcbiAgc3RhdHVzPzogUHJvZHVjdEJhc2VTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFN0YXR1c0NvbmRpdGlvbiB7XG4gIHN0YXR1cz86ICdUcnVlJyB8ICdGYWxzZScgfCAnVW5rbm93bic7XG4gIHJlYXNvbj86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgdHlwZTogJ1JlYWR5JyB8ICdJbml0aWFsaXplZCcgfCAnUmVjbGFpbWVkJyB8ICdTdWNjZWVkJztcbiAgbGFzdFRyYW5zaXRpb25UaW1lPzogc3RyaW5nO1xuICBsYXN0SGVhcnRiZWF0VGltZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0QmFzZVN0YXR1cyB7XG4gIGdsb2JhbElEOiBzdHJpbmc7XG4gIGNsb3VkOiB7XG4gICAgcGhhc2U6ICdPTkxpbmUnIHwgJ0Nvbm5lY3RGYWlsZWQnIHwgJ0Nvbm5lY3RpbmcnIHwgJ09GRkxpbmUnO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBjb25uZWN0VVJMOiBzdHJpbmc7XG4gIH07XG4gIHZlcnNpb246IHN0cmluZztcbiAgcGhhc2U/OlxuICAgIHwgJ1BlbmRpbmcnXG4gICAgfCAnUHJvdmlzaW9uaW5nJ1xuICAgIHwgJ1Byb3Zpc2lvbmVkJ1xuICAgIHwgJ0RlbGV0aW5nJ1xuICAgIHwgJ0ZhaWxlZCdcbiAgICB8ICdSdW5uaW5nJ1xuICAgIHwgJ0luc3RhbGxpbmcnIC8vIHRkc3FsXG4gICAgfCAnVXBncmFkaW5nJztcbiAgcHJvZHVjdEVudHJ5cG9pbnQ/OiBzdHJpbmc7XG4gIGRlbGV0YWJsZT86IGJvb2xlYW47XG4gIGNvbmRpdGlvbnM/OiBQcm9kdWN0U3RhdHVzQ29uZGl0aW9uW107XG4gIHByb21ldGhldXNBZGRyZXNzPzogc3RyaW5nO1xuICBlbGFzdGljU2VhcmNoQWRkcmVzcz86IHN0cmluZztcbiAga2Fma2FBZGRyZXNzPzogc3RyaW5nO1xuICBjb250YWluZXJQbGF0Zm9ybT86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIGRldm9wcz86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIHNlcnZpY2VNZXNoPzogQWxhdWRhUHJvZHVjdFN0YXR1cztcbiAgZGF0YVNlcnZpY2VzPzogQWxhdWRhUHJvZHVjdFN0YXR1cztcbiAgYmFzZT86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIHByb2dyZXNzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgUHJvZHVjdEtleSA9IHtcbiAgQkFTRTogJ2Jhc2UnLFxuICBDT05UQUlORVJfUExBVEZPUk06ICdjb250YWluZXJQbGF0Zm9ybScsXG4gIERFVk9QUzogJ2Rldm9wcycsXG4gIFNFUlZJQ0VfTUVTSDogJ3NlcnZpY2VNZXNoJyxcbiAgREFUQV9TRVJWSUNFUzogJ2RhdGFTZXJ2aWNlcycsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0S2V5ID0gVmFsdWVPZjx0eXBlb2YgUHJvZHVjdEtleT47XG5cbnR5cGUgR2VuUHJvZHVjdDxUIGV4dGVuZHMgUHJvZHVjdEtleT4gPSBSZWNvcmQ8VCwgeyBpbnN0YWxsOiBib29sZWFuIH0+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRscyB7XG4gIGNlcnQ6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2VTcGVjIGV4dGVuZHMgR2VuUHJvZHVjdDxQcm9kdWN0S2V5PiB7XG4gIGFsdGVybmF0aXZlVVJMczogc3RyaW5nW107XG4gIGNoYXJ0TXVzZXVtOiB7XG4gICAgdXJsOiBzdHJpbmc7XG4gIH07XG4gIHBhY2thZ2VFZGl0aW9uOiBzdHJpbmc7XG4gIHZhbHVlc092ZXJyaWRlPzoge1xuICAgIGRleDogU3RyaW5nTWFwO1xuICB9O1xuICBjaGFydFZlcnNpb25zOiBbeyBuYW1lOiBzdHJpbmc7IHZlcnNpb246IHN0cmluZyB9XTtcbiAgZGVmYXVsdEFkbWluOiB7XG4gICAgYWNjb3VudDogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgfTtcbiAgZGVmYXVsdFJlZGlyZWN0UGF0aDogc3RyaW5nO1xuICBkZXBsb3lUeXBlOiBzdHJpbmc7XG4gIGVsYXN0aWNzZWFyY2g6IHtcbiAgICBpbnN0YWxsOiBib29sZWFuO1xuICAgIG5vZGVzOiBzdHJpbmdbXTtcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICB9O1xuICBodHRwOiB7XG4gICAgZm9yY2VSZWRpcmVjdEh0dHBzPzogYm9vbGVhbjtcbiAgICBodHRwUG9ydD86IG51bWJlcjtcbiAgICBodHRwc1BvcnQ/OiBudW1iZXI7XG4gICAgdGxzPzogVGxzO1xuICB9O1xuICBpbmdyZXNzOiB7XG4gICAgY29udHJvbGxlcjogeyBpbnN0YWxsOiBib29sZWFuOyBub2Rlczogc3RyaW5nW10gfTtcbiAgICBob3N0OiBzdHJpbmc7XG4gICAgaW5ncmVzc0NsYXNzTmFtZTogc3RyaW5nO1xuICB9O1xuICBrYWZrYToge1xuICAgIGF1dGg6IGJvb2xlYW47XG4gICAgaW5zdGFsbDogYm9vbGVhbjtcbiAgICBub2Rlczogc3RyaW5nW107XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgfTtcbiAgbG9nQWdlbnQ6IHtcbiAgICBlbmFibGU6IGJvb2xlYW47XG4gIH07XG4gIGxvZ0NlbnRlcjoge1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgfTtcbiAgcGxhdGZvcm1VUkw6IHN0cmluZztcbiAgcHJvbWV0aGV1czoge1xuICAgIGluc3RhbGw6IGJvb2xlYW47XG4gICAgcmVwbGljYXM6IG51bWJlcjtcbiAgICBzdG9yYWdlOiB7IGNhcGFjaXR5OiBudW1iZXI7IG5vZGVzOiBzdHJpbmdbXTsgcGF0aDogc3RyaW5nOyB0eXBlOiBzdHJpbmcgfTtcbiAgfTtcblxuICByZWdpc3RyeToge1xuICAgIGV4dGVybmFsPzogc3RyaW5nO1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgIHNlY3JldFJlZj86IHN0cmluZztcbiAgfTtcbiAgcmVwbGljYXM6IG51bWJlcjtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBjbG91ZDoge1xuICAgIGNvbm5lY3Q6IGJvb2xlYW47XG4gICAgY29ubmVjdFR5cGU6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0U3BlYyB7XG4gIGNsdXN0ZXJzOiBQcm9qZWN0Q2x1c3RlcltdO1xuICBzdGF0dXM/OiB7XG4gICAgcGhhc2U6IHN0cmluZztcbiAgfTtcbiAgY2x1c3RlckRlbGV0ZVBvbGljeT86ICdEZWxldGUnIHwgJ1JldGFpbic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvamVjdENsdXN0ZXIge1xuICBuYW1lOiBzdHJpbmc7XG4gIHF1b3RhOiBzdHJpbmc7IC8vIFwie1xcXCJjcHVcXFwiOi0xLFxcXCJtZW1vcnlcXFwiOi0xLFxcXCJwb2RzXFxcIjotMSxcXFwicHZjX251bVxcXCI6LTEsXFxcInN0b3JhZ2VcXFwiOi0xfVwiXG4gIHR5cGU/OiAnJyB8ICdGZWRNZW1iZXInO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3QgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBQcm9qZWN0U3BlYztcbiAgc3RhdHVzPzoge1xuICAgIHBoYXNlOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZU1lc2hHcm91cCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IHtcbiAgICBrOHNWZXJzaW9uOiBzdHJpbmc7XG4gICAgd2l0aG91dElzdGlvPzogYm9vbGVhbjtcbiAgICBpc3Rpb1ZlcnNpb246IHN0cmluZztcbiAgICBwcmltYXJ5OiBzdHJpbmc7XG4gICAgc2VsZWN0b3I6IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICB9O1xuICAgIGNsdXN0ZXJzOiBzdHJpbmdbXTtcbiAgICBtZXNoQ29tbW9uQ29uZmlnPzogTWVzaENvbW1vbkNvbmZpZztcbiAgICBjbHVzdGVyQ29uZmlncz86IHtcbiAgICAgIFtjbHVzdGVyTmFtZTogc3RyaW5nXTogQ2x1c3RlckNvbmZpZztcbiAgICB9O1xuICB9O1xuICBzdGF0dXM6IHtcbiAgICBzdGF0dXM6IHN0cmluZztcbiAgICBNZXNzYWdlOiBzdHJpbmc7XG4gICAgY2x1c3RlckNvdW50OiBudW1iZXI7XG4gICAgbGF0ZXN0VXBkYXRlVGltZTogc3RyaW5nO1xuICAgIE5vblJlYWR5Q2x1c3RlckNvdW50OiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzaENvbW1vbkNvbmZpZyB7XG4gIGVsYXN0aWNzZWFyY2g6IHtcbiAgICBpc0RlZmF1bHQ6IGJvb2xlYW47XG4gICAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIH07XG4gIG1vbml0b3JUeXBlOiBzdHJpbmc7XG4gIHByb21ldGhldXNCYXNpY0F1dGg6IHtcbiAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gIH07XG4gIGlzRGVmYXVsdE1vbml0b3I6IGJvb2xlYW47XG4gIHByb21ldGhldXNVUkw6IHN0cmluZztcbiAgdHJhY2VTYW1wbGluZzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJDb25maWcge1xuICBpc3Rpb1NpZGVjYXI6IHtcbiAgICBjcHVWYWx1ZTogc3RyaW5nO1xuICAgIG1lbW9yeVZhbHVlOiBzdHJpbmc7XG4gIH07XG4gIGthZmthPzoge1xuICAgIGF1dGhlbnRpY2F0aW9uOiBzdHJpbmc7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gIH07XG4gIHJlZGlzPzogUmVkaXNDb25maWc7XG4gIHRyYWNlU2FtcGxpbmc6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWRpc0NvbmZpZyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIGtpbmQ6ICdzaW5nbGUnIHwgJ2NsdXN0ZXInIHwgJ3NlbnRpbmVsJztcbiAgYWRkcmVzczogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xuICBtYXN0ZXJOYW1lPzogc3RyaW5nO1xufVxuXG4vLyBUS0VcbmV4cG9ydCBpbnRlcmZhY2UgVEtFQ2x1c3RlclNwZWMge1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICBzZXJ2aWNlQ0lEUj86IHN0cmluZztcbiAgZG9ja2VyRXh0cmFBcmdzPzogU3RyaW5nTWFwO1xuICBrdWJlbGV0RXh0cmFBcmdzPzogU3RyaW5nTWFwO1xuICBjb250cm9sbGVyTWFuYWdlckV4dHJhQXJncz86IFN0cmluZ01hcDtcbiAgc2NoZWR1bGVyRXh0cmFBcmdzPzogU3RyaW5nTWFwO1xuICBwdWJsaWNBbHRlcm5hdGl2ZU5hbWVzPzogc3RyaW5nW107XG4gIGNsdXN0ZXJDSURSPzogc3RyaW5nO1xuICBuZXR3b3JrRGV2aWNlPzogc3RyaW5nO1xuICBwcm9wZXJ0aWVzPzoge1xuICAgIG1heENsdXN0ZXJTZXJ2aWNlTnVtPzogbnVtYmVyO1xuICAgIG1heE5vZGVQb2ROdW0/OiBudW1iZXI7XG4gICAgb3ZlcnNvbGRSYXRpbz86IHtcbiAgICAgIGNwdTogc3RyaW5nO1xuICAgICAgbWVtb3J5OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgZmVhdHVyZXM/OiB7XG4gICAgZW5hYmxlTWFzdGVyU2NoZWR1bGU/OiBib29sZWFuO1xuICAgIGlwdjZEdWFsU3RhY2s/OiBib29sZWFuO1xuICAgIGZpbGVzPzogQXJyYXk8e1xuICAgICAgc3JjPzogc3RyaW5nO1xuICAgICAgZHN0Pzogc3RyaW5nO1xuICAgIH0+O1xuICAgIGhhPzoge1xuICAgICAgdGhpcmRQYXJ0eT86IHtcbiAgICAgICAgdmlwPzogc3RyaW5nO1xuICAgICAgICB2cG9ydD86IG51bWJlcjtcbiAgICAgIH07XG4gICAgICB0a2U/OiB7XG4gICAgICAgIHZyaWQ/OiB1bmtub3duO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICB0eXBlOiAnQmFyZW1ldGFsJyB8ICdJbXBvcnRlZCc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIG1hY2hpbmVzPzogVEtFTWFjaGluZVNwZWNbXTtcbiAgZG5zRG9tYWluPzogc3RyaW5nO1xuICBhcGlTZXJ2ZXJFeHRyYUFyZ3M/OiBTdHJpbmdNYXA7XG4gIGNsdXN0ZXJDcmVkZW50aWFsUmVmPzoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUS0VDbHVzdGVyIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IFRLRUNsdXN0ZXJTcGVjO1xuICBzdGF0dXM/OiB7XG4gICAgdmVyc2lvbj86IHN0cmluZztcbiAgICBwaGFzZT86IHN0cmluZztcbiAgICBjb25kaXRpb25zPzogQ29uZGl0aW9uW107XG4gICAgYWRkcmVzc2VzPzogQXJyYXk8e1xuICAgICAgaG9zdDogc3RyaW5nO1xuICAgICAgcGF0aD86ICcnO1xuICAgICAgdHlwZTogJ0FkdmVydGlzZScgfCAnUHVibGljJztcbiAgICAgIHBvcnQ6IG51bWJlcjtcbiAgICB9PjtcbiAgICBzZXJ2aWNlQ0lEUj86IHN0cmluZztcbiAgICBub2RlQ0lEUk1hc2tTaXplPzogbnVtYmVyO1xuICAgIGRuc0lQPzogc3RyaW5nO1xuICB9O1xuICBnYXRld2F5Tm9kZT86IE5vZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVEtFTWFjaGluZVNwZWMge1xuICBjbHVzdGVyTmFtZT86IHN0cmluZztcbiAgcm9sZT86ICdub2RlJyB8ICdtYXN0ZXInO1xuICBpcD86IHN0cmluZztcbiAgaXB2Nj86IHN0cmluZztcbiAgcHVibGljSVA/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICBuZXR3b3JrRGV2aWNlPzogc3RyaW5nO1xuICBwb3J0OiBudW1iZXI7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBwcml2YXRlS2V5Pzogc3RyaW5nO1xuICBwYXNzUGhyYXNlPzogc3RyaW5nO1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBsYWJlbHM/OiB7XG4gICAgWydudmlkaWEtZGV2aWNlLWVuYWJsZSddPzogc3RyaW5nO1xuICAgIFsnbm9kZS1yb2xlLmt1YmVybmV0ZXMuaW8vY3BhYXMtc3lzdGVtJ10/OiBzdHJpbmc7XG4gIH07XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHByb3h5Pzoge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICBwYXNzd29yZDogc3RyaW5nO1xuICB9O1xuICBhbm5vdGF0aW9ucz86IFN0cmluZ01hcDtcbiAgdGFpbnRzPzogTm9kZVRhaW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlckNyZWRlbnRpYWwgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBjbHVzdGVyTmFtZTogc3RyaW5nO1xuICBjYUNlcnQ6IHN0cmluZztcbiAgdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUS0VNYWNoaW5lIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IFRLRU1hY2hpbmVTcGVjO1xuICBzdGF0dXM/OiBOb2RlU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hY2hpbmUgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogTWFjaGluZVNwZWM7XG4gIHN0YXR1cz86IE1hY2hpbmVTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFjaGluZVNwZWMge1xuICBjbHVzdGVyOiBzdHJpbmc7XG4gIHByb3ZpZGVyOiBzdHJpbmc7XG4gIHByb3ZpZGVyU3BlYzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYWNoaW5lU3RhdHVzIHtcbiAgdXNlckRhdGFTZWNyZXQ/OiB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgfTtcbiAgbm9kZVJlZj86IHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICB9O1xuICBsYXN0VXBkYXRlOiBzdHJpbmc7XG4gIGVyclJlYXNvbjogc3RyaW5nO1xuICBlcnJNZXNzYWdlOiBzdHJpbmc7XG4gIHBoYXNlOiBzdHJpbmc7XG4gIGNvbmRpdGlvbnM6IENvbmRpdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJWaWV3IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IHZvaWQ7XG4gIHN0YXR1cz86IENsdXN0ZXJWaWV3U3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJWaWV3U3RhdHVzIHtcbiAgcHJvdmlzaW9uVHlwZTogJ1NlbGZIb3N0ZWQnIHwgJ1Byb3ZpZGVySG9zdGVkJyB8ICdJbXBvcnRlZCcgfCAnUmVnaXN0ZXJlZCc7XG4gIGNsdXN0ZXJUeXBlOiBzdHJpbmc7XG4gIHN1cHBvcnRXaW5kb3dzOiBib29sZWFuO1xuICByZWdpc3RyeUFkZHJlc3M6IHN0cmluZztcbiAgY29uZGl0aW9uczogQ29uZGl0aW9uW107XG4gIHByb2plY3RzOiBBcnJheTx7IG5hbWU6IHN0cmluZzsgZGlzcGxheU5hbWU6IHN0cmluZyB9PjtcbiAgY29udHJvbFBsYW5lRW5kcG9pbnRzOiB7XG4gICAgZGVmYXVsdDogc3RyaW5nO1xuICAgIGFkdmVydGlzZTogc3RyaW5nO1xuICAgIHB1YmxpYz86IHN0cmluZztcbiAgfTtcbiAgbm9kZXNJbmZvOiB7XG4gICAgcmVhZHlOb2RlczogbnVtYmVyO1xuICAgIG5vdFJlYWR5Tm9kZXM6IG51bWJlcjtcbiAgICBhcmNoaXRlY3R1cmVzOiBzdHJpbmdbXTtcbiAgICB0b3RhbENQVUNvcmVzOiBudW1iZXI7XG4gICAgdG90YWxNZW1vcmllczogbnVtYmVyO1xuICAgIGNyaVZlcnNpb25zOiBzdHJpbmdbXTtcbiAgICBleHRyYVJlc291cmNlcz86IHsgW2tleTogc3RyaW5nXTogQ2x1c3RlckRldmljZVJlc291cmNlIH07XG4gIH07XG4gIGNsdXN0ZXJOZXR3b3JrOiB7XG4gICAgaGFMb2FkQmFsYW5jZXJUeXBlPzogJ0FsaXZlJyB8ICdUaGlyZFBhcnR5JztcbiAgICBjbmlUeXBlOiBzdHJpbmc7XG4gICAgcHJvdG9jb2xTdGFjazogJ0lQdjQnIHwgJ0lQdjYnIHwgJ0R1YWwtU3RhY2snO1xuICAgIHNlcnZpY2VDSURSczogc3RyaW5nW107XG4gICAgcG9kQ0lEUnM6IHN0cmluZ1tdO1xuICAgIGV4dHJhSW5mbzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICB2cmlkPzogbnVtYmVyO1xuICAgIG1heE5vZGVzPzogbnVtYmVyO1xuICB9O1xuICBtYW5hZ2VkQnk/OiB7XG4gICAgcGx1Z2luTmFtZTogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnQ6IHN0cmluZztcbiAgfTtcbiAgZ3B1UGx1Z2luVHlwZT86ICdWaXJ0dWFsJyB8ICdQaHlzaWNhbCc7XG4gIGhpZ2hBdmFpbGFibGU6IGJvb2xlYW47XG4gIG5lZWRVcGdyYWRlOiBib29sZWFuO1xuICB1cGdyYWRhYmxlOiBib29sZWFuO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHBoYXNlOiBzdHJpbmc7XG4gIGV4dHJhQXJnczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG4gIHB1YmxpY0FsdGVybmF0aXZlTmFtZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJEZXZpY2VSZXNvdXJjZSB7XG4gIHZhbHVlOiBudW1iZXI7XG4gIHVuaXQ/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uRW4/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uWmg/OiBzdHJpbmc7XG4gIGxhYmVsRW4/OiBzdHJpbmc7XG4gIGxhYmVsWmg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlkZXJOZXR3b3JrU3BlYyB7XG4gIGRlZmF1bHRJbnRlcmZhY2U6IHN0cmluZztcbiAgY3VzdG9tSW50ZXJmYWNlczogQXJyYXk8e1xuICAgIGludGVyZmFjZTogc3RyaW5nO1xuICAgIG5vZGVzOiBzdHJpbmdbXTtcbiAgfT47XG4gIGV4Y2x1ZGVOb2Rlczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlkZXJOZXR3b3JrIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzogUHJvdmlkZXJOZXR3b3JrU3BlYztcbiAgc3RhdHVzPzoge1xuICAgIHJlYWR5OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBMb2NhbGVEaXNwbGF5ID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0RW50cnlTcGVjIHtcbiAgbG9nbz86IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBMb2NhbGVEaXNwbGF5O1xuICBkZXNjcmlwdGlvbj86IExvY2FsZURpc3BsYXk7XG4gIGNhdGFsb2c/OiBMb2NhbGVEaXNwbGF5O1xuICBlbnRyeXBvaW50Pzogc3RyaW5nO1xuICBzc29FbmFibGVkPzogYm9vbGVhbjtcbiAgcGFja1R5cGU/OiAnSW50ZWdyYXRlZCcgfCAnQnVpbGRJbicgfCAnQWRtaW5QYWdlJztcbiAgdmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0RW50cnlTdGF0dXMge1xuICBoaWRkZW5PblBvcnRhbD86IGJvb2xlYW47XG4gIGhpZGRlbk9uTWVudT86IGJvb2xlYW47XG4gIG9yZGVyT25Qb3J0YWw/OiBudW1iZXI7XG4gIG9yZGVyT25NZW51PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RFbnRyeSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBQcm9kdWN0RW50cnlTcGVjO1xuICBzdGF0dXM/OiBQcm9kdWN0RW50cnlTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFN0YXR1cyB7XG4gIHR5cGU6XG4gICAgfCAnTm90RGVwbG95ZWQnXG4gICAgfCAnSW5EZXBsb3ltZW50J1xuICAgIHwgJ1J1bm5pbmcnXG4gICAgfCAnRGVwbG95bWVudEZhaWx1cmUnXG4gICAgfCAnUnVubmluZ0Fibm9ybWFsJ1xuICAgIHwgJ0RlbGV0aW5nJ1xuICAgIHwgJ0RlbGV0ZUZhaWx1cmUnXG4gICAgfCAnRGVwbG95bWVudFN1Y2NlZWQnXG4gICAgfCAnU3lzdGVtRXJyb3InXG4gICAgfCAnVXBncmFkaW5nJztcbiAgaWNvbjogc3RyaW5nO1xuICB0ZXh0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdERvY3NFbnRyeSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IHtcbiAgICBncm91cHM6IEFycmF5PHtcbiAgICAgIGdyb3VwTmFtZTogTG9jYWxlRGlzcGxheTtcbiAgICAgIGRvY3M6IEFycmF5PHtcbiAgICAgICAgbG9nbzogc3RyaW5nO1xuICAgICAgICBkb2NFbnRyeXBvaW50OiBzdHJpbmc7XG4gICAgICAgIGRpc3BsYXlOYW1lOiBMb2NhbGVEaXNwbGF5O1xuICAgICAgICBkZXNjcmlwdGlvbjogTG9jYWxlRGlzcGxheTtcbiAgICAgIH0+O1xuICAgIH0+O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0Q29uZGl0aW9uIHtcbiAgbGFzdFByb2JlVGltZT86IHN0cmluZztcbiAgbGFzdFRyYW5zaXRpb25UaW1lPzogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHJlYXNvbjogc3RyaW5nOyAvLyBQZXJtaXNzaW9uQ2hlY2tGYWlsZWRcbiAgc3RhdHVzOiAnVHJ1ZScgfCAnRmFsc2UnO1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGxpbmsgaHR0cHM6Ly9naXRsYWItY2UuYWxhdWRhLmNuL2NvbnRhaW5lci1wbGF0Zm9ybS9jYXB0YWluLy0vYmxvYi9tYXN0ZXIvZG9jcy9jcmQubWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIZWxtUmVxdWVzdCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBIZWxtUmVxdWVzdFNwZWM7XG4gIHN0YXR1cz86IHtcbiAgICBwaGFzZTogSGVsbVJlcXVlc3RQaGFzZUVudW07XG4gICAgbm90ZXM/OiBzdHJpbmc7XG4gICAgbGFzdFNwZWNIYXNoPzogc3RyaW5nO1xuICAgIHJlYXNvbj86IHN0cmluZztcbiAgICBjb25kaXRpb25zPzogSGVsbVJlcXVlc3RDb25kaXRpb25bXTtcbiAgICB0YXJnZXRDbHVzdGVyU3luY1Jlc3VsdHM/OiBIZWxtUmVxdWVzdENsdXN0ZXJTeW5jUmVzdWx0cztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWxtUmVxdWVzdENsdXN0ZXJTeW5jUmVzdWx0cyB7XG4gIFtjbHVzdGVyOiBzdHJpbmddOiBIZWxtUmVxdWVzdENsdXN0ZXJTeW5jUmVzdWx0O1xufVxuXG5leHBvcnQgZW51bSBDbG91ZEhlbG1SZXF1ZXN0U3RhdGVFbnVtIHtcbiAgUGVuZGluZyA9ICdQZW5kaW5nJyxcbiAgUnVubmluZyA9ICdSdW5uaW5nJyxcbiAgU3RvcHBlZCA9ICdTdG9wcGVkJyxcbiAgRmFpbGVkID0gJ0ZhaWxlZCcsXG4gIEVtcHR5ID0gJ0VtcHR5Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWxtUmVxdWVzdENsdXN0ZXJTeW5jUmVzdWx0IHtcbiAgYXBwU3RhdHVzOiBDbG91ZEhlbG1SZXF1ZXN0U3RhdGVFbnVtO1xuICBlbmRwb2ludDogc3RyaW5nO1xuICBsYXN0VXBkYXRlQXQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBwaGFzZTogSGVsbVJlcXVlc3RQaGFzZUVudW07XG4gIHJlYXNvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBIZWxtUmVxdWVzdFBoYXNlRW51bSB7XG4gIFN5bmNlZCA9ICdTeW5jZWQnLFxuICBGYWlsZWQgPSAnRmFpbGVkJyxcbiAgUGVuZGluZyA9ICdQZW5kaW5nJyxcbiAgVW5pbnN0YWxsaW5nID0gJ1VuaW5zdGFsbGluZycsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3RTcGVjIHtcbiAgY2hhcnQ/OiBzdHJpbmc7XG4gIHZhbHVlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHZhbHVlc0Zyb20/OiBBcnJheTx7XG4gICAgY29uZmlnTWFwS2V5UmVmPzogQ29uZmlnTWFwS2V5UmVmO1xuICAgIHNlY3JldEtleVJlZj86IFNlY3JldEtleVJlZjtcbiAgfT47XG4gIGNsdXN0ZXJOYW1lPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIHJlbGVhc2VOYW1lPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuICBwcm9qZWN0TmFtZT86IHN0cmluZztcbiAgc291cmNlPzoge1xuICAgIG9jaT86IEhlbG1SZXF1ZXN0T2NpO1xuICAgIGh0dHA/OiBIZWxtUmVxdWVzdEh0dHA7XG4gIH07XG4gIHRhcmdldENsdXN0ZXJzPzoge1xuICAgIGNsdXN0ZXJOYW1lczoge1xuICAgICAgbmFtZXM6IHN0cmluZ1tdO1xuICAgIH07XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3RPY2kge1xuICByZXBvOiBzdHJpbmc7XG4gIHNlY3JldFJlZjogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBIZWxtUmVxdWVzdEh0dHAge1xuICB1cmw6IHN0cmluZztcbiAgc2VjcmV0UmVmOiBzdHJpbmc7XG59XG5cbi8qKlxuICogaHR0cHM6Ly9jb25mbHVlbmNlLmFsYXVkYS5jbi9wYWdlcy92aWV3cGFnZS5hY3Rpb24/cGFnZUlkPTE3Njg4MzQ3MFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJCaW5kaW5nIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IFVzZXJCaW5kaW5nU3BlYztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyQmluZGluZ1NwZWMge1xuICBzdWJqZWN0czogQXJyYXk8e1xuICAgIGtpbmQ6ICdVc2VyJyB8ICdHcm91cCcgfCAnU2VydmljZUFjY291bnQnO1xuICAgIG5hbWU6IHN0cmluZztcbiAgfT47XG4gIHJvbGVSZWY6IHN0cmluZztcbiAgc2NvcGU6IHN0cmluZzsgLy8g5pSv5oyB57G75Z6LcGxhdGZvcm0sIGNsdXN0ZXIsIHByb2plY3QsIG5hbWVzcGFjZVxuICBjb25zdHJhaW50OiBBcnJheTx7XG4gICAgcHJvamVjdD86IHN0cmluZztcbiAgICBjbHVzdGVyPzogc3RyaW5nO1xuICAgIG5hbWVzcGFjZT86IHN0cmluZztcbiAgfT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9sZVJ1bGUge1xuICBtb2R1bGU6IHN0cmluZztcbiAgZnVuY3Rpb25SZXNvdXJjZVJlZjogc3RyaW5nO1xuICBmdW5jdGlvbk1ldGFkYXRhTmFtZT86IHN0cmluZztcbiAgdmVyYnM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvbGVDdXN0b21SdWxlIHtcbiAgYXBpR3JvdXA6IHN0cmluZztcbiAgcmVzb3VyY2VzOiBzdHJpbmdbXTtcbiAgdmVyYnM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvbGVUZW1wbGF0ZVNwZWMge1xuICBydWxlcz86IFJvbGVSdWxlW107XG4gIGN1c3RvbVJ1bGVzPzogUm9sZUN1c3RvbVJ1bGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb2xlVGVtcGxhdGUgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogUm9sZVRlbXBsYXRlU3BlYztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyUm9sZU5hbWVzcGFjZSB7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBjbHVzdGVyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclJvbGUgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBuYW1lPzogc3RyaW5nO1xuICByb2xlcz86IHN0cmluZ1tdO1xuICBuYW1lc3BhY2VzPzogUmVjb3JkPHN0cmluZywgVXNlclJvbGVOYW1lc3BhY2VbXT47XG59XG5cbi8vIGh0dHA6Ly9jb25mbHVlbmNlLmFsYXVkYXRlY2guY29tL3BhZ2VzL3ZpZXdwYWdlLmFjdGlvbj9wYWdlSWQ9MzkzMzgzNjYjMS0lRTglOEUlQjclRTUlOEYlOTYlRTclOTQlQTglRTYlODglQjclRTQlQkYlQTElRTYlODElQUZcbmV4cG9ydCBpbnRlcmZhY2UgVXNlciBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBVc2VyU3BlYztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyU3BlYyB7XG4gIGNvbm5lY3Rvcl9uYW1lPzogc3RyaW5nO1xuICBjb25uZWN0b3JfdHlwZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIG1haWw/OiBzdHJpbmc7XG4gIGdyb3Vwcz86IHN0cmluZ1tdO1xuICBpc19hZG1pbj86IGJvb2xlYW47XG4gIHZhbGlkPzogYm9vbGVhbjtcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIG9sZF9wYXNzd29yZD86IHN0cmluZztcbiAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIGxhc3RfbG9naW5fdGltZT86IHN0cmluZztcbiAgbG9naW5fZmFpbHVyZV90aW1lcz86IG51bWJlcjtcbiAgc3RhdGU/OiBVc2VyU3RhdGU7XG4gIGlzX2Rpc2FibGVkPzogYm9vbGVhbjtcbiAgZXhwaXJlZD86IHtcbiAgICBiZWdpbjogc3RyaW5nO1xuICAgIGVuZDogc3RyaW5nO1xuICB9O1xuICBtb2JpbGU/OiBzdHJpbmc7XG4gIHdlYmhvb2tUeXBlPzogV2ViaG9va1R5cGU7XG4gIHdlYmhvb2tVcmw/OiBzdHJpbmc7XG4gIGlkcz86IEFycmF5PHsgdHlwZTogc3RyaW5nOyBpZDogc3RyaW5nIH0+O1xufVxuXG5leHBvcnQgZW51bSBVc2VyU3RhdGUge1xuICBBQ1RJVkUgPSAnYWN0aXZlJyxcbiAgTE9DS0VEID0gJ2xvY2tlZCcsXG4gIElOVkFMSUQgPSAnaW52YWxpZCcsXG4gIERFTEVURUQgPSAnZGVsZXRlZCcsXG59XG5cbmV4cG9ydCB0eXBlIFdlYmhvb2tUeXBlID0gJ1dlYmhvb2snIHwgJ0RpbmdUYWxrJyB8ICdXZUNoYXQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJMaXN0IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlTGlzdDxVc2VyPiB7XG4gIHRvdGFsOiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BehaviorSubject, catchError, filter, map, of, startWith, Subject, switchMap, takeUntil, } from 'rxjs';
|
|
1
|
+
import { BehaviorSubject, catchError, filter, map, of, startWith, Subject, switchMap, takeUntil, tap, } from 'rxjs';
|
|
2
2
|
import { isEqual, publishRef } from '../utils/public-api';
|
|
3
3
|
export class CacheStore {
|
|
4
4
|
constructor({ fetcher, share, validator }) {
|
|
@@ -24,15 +24,19 @@ export class CacheStore {
|
|
|
24
24
|
finish$$.next();
|
|
25
25
|
finish$$.complete();
|
|
26
26
|
},
|
|
27
|
-
loadState: refetch$$.pipe(switchMap(() => this.fetcher(params).pipe(map(result => {
|
|
28
|
-
if (!this.validator(
|
|
29
|
-
this.
|
|
27
|
+
loadState: refetch$$.pipe(switchMap(() => this.fetcher(params).pipe(map(result => ({ state: 'loaded', result })), catchError(error => of({ state: 'loadFailed', error })), startWith({ state: 'loading' }))), tap(loadState => {
|
|
28
|
+
if (loadState.state !== 'loading' && !this.validator(loadState)) {
|
|
29
|
+
for (const [key, value] of this.store.entries()) {
|
|
30
|
+
if (isEqual(key, params)) {
|
|
31
|
+
this.store.delete(key);
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
value.finish();
|
|
34
|
+
});
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
30
38
|
}
|
|
31
|
-
|
|
32
|
-
}), catchError(error => {
|
|
33
|
-
this.delete(params);
|
|
34
|
-
return of({ state: 'loadFailed', error });
|
|
35
|
-
}), startWith({ state: 'loading' }))), takeUntil(finish$$), this.share()),
|
|
39
|
+
}), takeUntil(finish$$), this.share()),
|
|
36
40
|
};
|
|
37
41
|
this.store.set(params, cache);
|
|
38
42
|
}
|
|
@@ -62,8 +66,9 @@ export class CacheStore {
|
|
|
62
66
|
delete(params) {
|
|
63
67
|
for (const [key, value] of this.store.entries()) {
|
|
64
68
|
if (isEqual(key, params)) {
|
|
65
|
-
value.finish();
|
|
66
69
|
this.store.delete(key);
|
|
70
|
+
value.finish();
|
|
71
|
+
return;
|
|
67
72
|
}
|
|
68
73
|
}
|
|
69
74
|
}
|
|
@@ -74,4 +79,4 @@ export class CacheStore {
|
|
|
74
79
|
this.store.clear();
|
|
75
80
|
}
|
|
76
81
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9jYWNoZS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEVBQ04sR0FBRyxFQUdILEVBQUUsRUFDRixTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxNQUFNLE9BQU8sVUFBVTtJQU9yQixZQUFZLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQTJCO1FBRmpELFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBcUdoRCxZQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxZQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxXQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QyxTQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQXhHdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksVUFBVSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMs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TUFBUztRQUNYLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDaEQsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLE1BQVM7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBUztRQUNkLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDaEQsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN2QixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2YsT0FBTztZQUNULENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7Q0FTRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbixcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgU3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGlzRXF1YWwsIHB1Ymxpc2hSZWYgfSBmcm9tICcuLi91dGlscy9wdWJsaWMtYXBpJztcblxuZXhwb3J0IGNsYXNzIENhY2hlU3RvcmU8UCwgVj4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGZldGNoZXI6IChwYXJhbXM6IFApID0+IE9ic2VydmFibGU8Vj47XG4gIHByaXZhdGUgcmVhZG9ubHkgc2hhcmU6IDxUPigpID0+IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPjtcbiAgcHJpdmF0ZSByZWFkb25seSB2YWxpZGF0b3I6IChsb2FkU3RhdGU6IENhY2hlTG9hZFN0YXRlPFY+KSA9PiBib29sZWFuO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmUgPSBuZXcgTWFwPFAsIENhY2hlPFY+PigpO1xuXG4gIGNvbnN0cnVjdG9yKHsgZmV0Y2hlciwgc2hhcmUsIHZhbGlkYXRvciB9OiBDYWNoZVN0b3JlT3B0aW9uczxQLCBWPikge1xuICAgIHRoaXMuZmV0Y2hlciA9IGZldGNoZXI7XG4gICAgdGhpcy5zaGFyZSA9IHNoYXJlID8/IHB1Ymxpc2hSZWY7XG4gICAgdGhpcy52YWxpZGF0b3IgPSB2YWxpZGF0b3IgPz8gKCgpID0+IHRydWUpO1xuICB9XG5cbiAgZmV0Y2hTdGF0ZShwYXJhbXM6IFApIHtcbiAgICBsZXQgY2FjaGUgPSB0aGlzLmdldChwYXJhbXMpO1xuXG4gICAgaWYgKCFjYWNoZSkge1xuICAgICAgY29uc3QgcmVmZXRjaCQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPihudWxsKTtcbiAgICAgIGNvbnN0IGZpbmlzaCQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgICAgY2FjaGUgPSB7XG4gICAgICAgIHJlZmV0Y2g6ICgpID0+IHtcbiAgICAgICAgICByZWZldGNoJCQubmV4dCgpO1xuICAgICAgICB9LFxuICAgICAgICBmaW5pc2g6ICgpID0+IHtcbiAgICAgICAgICBmaW5pc2gkJC5uZXh0KCk7XG4gICAgICAgICAgZmluaXNoJCQuY29tcGxldGUoKTtcbiAgICAgICAgfSxcbiAgICAgICAgbG9hZFN0YXRlOiByZWZldGNoJCQucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuZmV0Y2hlcihwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gKHsgc3RhdGU6ICdsb2FkZWQnIGFzIGNvbnN0LCByZXN1bHQgfSkpLFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IG9mKHsgc3RhdGU6ICdsb2FkRmFpbGVkJyBhcyBjb25zdCwgZXJyb3IgfSkpLFxuICAgICAgICAgICAgICBzdGFydFdpdGgoeyBzdGF0ZTogJ2xvYWRpbmcnIGFzIGNvbnN0IH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIHRhcChsb2FkU3RhdGUgPT4ge1xuICAgICAgICAgICAgaWYgKGxvYWRTdGF0ZS5zdGF0ZSAhPT0gJ2xvYWRpbmcnICYmICF0aGlzLnZhbGlkYXRvcihsb2FkU3RhdGUpKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHRoaXMuc3RvcmUuZW50cmllcygpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRXF1YWwoa2V5LCBwYXJhbXMpKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRlbGV0ZShrZXkpO1xuICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLmZpbmlzaCgpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdGFrZVVudGlsKGZpbmlzaCQkKSxcbiAgICAgICAgICB0aGlzLnNoYXJlKCksXG4gICAgICAgICksXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnN0b3JlLnNldChwYXJhbXMsIGNhY2hlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2FjaGUubG9hZFN0YXRlO1xuICB9XG5cbiAgZmV0Y2gocGFyYW1zOiBQKSB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hTdGF0ZShwYXJhbXMpLnBpcGUoXG4gICAgICBmaWx0ZXIobG9hZFN0YXRlID0+IGxvYWRTdGF0ZS5zdGF0ZSA9PT0gJ2xvYWRlZCcpLFxuICAgICAgbWFwKGxvYWRTdGF0ZSA9PiBsb2FkU3RhdGUucmVzdWx0KSxcbiAgICApO1xuICB9XG5cbiAgcmVmZXRjaChwYXJhbXM6IFApIHtcbiAgICB0aGlzLmdldChwYXJhbXMpPy5yZWZldGNoKCk7XG4gIH1cblxuICByZWZldGNoQWxsKCkge1xuICAgIHRoaXMuZm9yRWFjaChjYWNoZSA9PiB7XG4gICAgICBjYWNoZS5yZWZldGNoKCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQocGFyYW1zOiBQKSB7XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgdGhpcy5zdG9yZS5lbnRyaWVzKCkpIHtcbiAgICAgIGlmIChpc0VxdWFsKGtleSwgcGFyYW1zKSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFzKHBhcmFtczogUCkge1xuICAgIHJldHVybiAhIXRoaXMuZ2V0KHBhcmFtcyk7XG4gIH1cblxuICBkZWxldGUocGFyYW1zOiBQKSB7XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgdGhpcy5zdG9yZS5lbnRyaWVzKCkpIHtcbiAgICAgIGlmIChpc0VxdWFsKGtleSwgcGFyYW1zKSkge1xuICAgICAgICB0aGlzLnN0b3JlLmRlbGV0ZShrZXkpO1xuICAgICAgICB2YWx1ZS5maW5pc2goKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuc3RvcmUuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICB2YWx1ZS5maW5pc2goKTtcbiAgICB9KTtcbiAgICB0aGlzLnN0b3JlLmNsZWFyKCk7XG4gIH1cblxuICBmb3JFYWNoID0gdGhpcy5zdG9yZS5mb3JFYWNoLmJpbmQodGhpcy5zdG9yZSk7XG5cbiAgZW50cmllcyA9IHRoaXMuc3RvcmUuZW50cmllcy5iaW5kKHRoaXMuc3RvcmUpO1xuXG4gIHZhbHVlcyA9IHRoaXMuc3RvcmUudmFsdWVzLmJpbmQodGhpcy5zdG9yZSk7XG5cbiAga2V5cyA9IHRoaXMuc3RvcmUua2V5cy5iaW5kKHRoaXMuc3RvcmUpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhY2hlU3RvcmVPcHRpb25zPFAsIFY+IHtcbiAgZmV0Y2hlcjogKHBhcmFtczogUCkgPT4gT2JzZXJ2YWJsZTxWPjtcbiAgc2hhcmU/OiA8VD4oKSA9PiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD47XG4gIHZhbGlkYXRvcj86IChsb2FkU3RhdGU6IENhY2hlTG9hZFN0YXRlPFY+KSA9PiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhY2hlTG9hZFN0YXRlPFY+IHtcbiAgc3RhdGU6ICdsb2FkaW5nJyB8ICdsb2FkZWQnIHwgJ2xvYWRGYWlsZWQnO1xuICByZXN1bHQ/OiBWO1xuICBlcnJvcj86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FjaGU8Vj4ge1xuICBsb2FkU3RhdGU6IE9ic2VydmFibGU8Q2FjaGVMb2FkU3RhdGU8Vj4+O1xuICByZWZldGNoOiAoKSA9PiB2b2lkO1xuICBmaW5pc2g6ICgpID0+IHZvaWQ7XG59XG4iXX0=
|
|
@@ -2,9 +2,10 @@ import { __decorate, __metadata } from "tslib";
|
|
|
2
2
|
import { observeResizeOn } from '@alauda/ui';
|
|
3
3
|
import { DOCUMENT } from '@angular/common';
|
|
4
4
|
import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, Inject, Input, NgZone, Output, QueryList, Renderer2, ViewContainerRef, ViewEncapsulation, } from '@angular/core';
|
|
5
|
-
import { cloneDeep
|
|
5
|
+
import { cloneDeep } from 'lodash-es';
|
|
6
6
|
import { combineLatest, distinctUntilChanged, exhaustMap, map, merge, NEVER, Observable, startWith, Subject, switchMap, takeUntil, } from 'rxjs';
|
|
7
|
-
import {
|
|
7
|
+
import { isEqual, ObservableInput } from '../../../core/public-api';
|
|
8
|
+
import { DEFAULT_GUTTER, DEFAULT_LAYOUT_COLUMNS, DEFAULT_ROW_HEIGHT, } from '../../../public-api';
|
|
8
9
|
import { GridLayoutService } from '../../grid-layout.service';
|
|
9
10
|
import { GridPlaceholderService } from '../../grid-placeholder.service';
|
|
10
11
|
import { GridCompactType, } from '../../type';
|
|
@@ -284,4 +285,4 @@ __decorate([
|
|
|
284
285
|
type: Input
|
|
285
286
|
}] }); })();
|
|
286
287
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(GridLayoutComponent, { className: "GridLayoutComponent" }); })();
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2dyaWQtbGF5b3V0L2NvbXBvbmVudHMvZ3JpZC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZ3JpZC1sYXlvdXQvY29tcG9uZW50cy9ncmlkL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUVULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUNMLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsVUFBVSxFQUNWLEdBQUcsRUFDSCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFFVixTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsY0FBYyxFQUNkLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIsZUFBZSxHQUNoQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFDTCxlQUFlLEdBWWhCLE1BQU0sWUFB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QUU7WUFHL0MsYUFBYTtrQkFBdEIsTUFBTTtZQUdHLFdBQVc7a0JBQXBCLE1BQU07WUFHRyxhQUFhO2tCQUF0QixNQUFNO1lBR0csU0FBUztrQkFBbEIsTUFBTTtZQUdHLFdBQVc7a0JBQXBCLE1BQU07WUFHRyxjQUFjO2tCQUF2QixNQUFNO1lBS0UsZ0JBQWdCO2tCQUF4QixLQUFLO1lBQ2EsaUJBQWlCLE1BS3BDLEVBQUU7a0JBREQsS0FBSztZQUlOLGdCQUFnQjtrQkFEZixLQUFLO1lBSU4sV0FBVztrQkFEVixLQUFLO1lBSU4sV0FBVztrQkFEVixLQUFLO1lBSU4sU0FBUztrQkFEUixLQUFLO1lBSU4sSUFBSTtrQkFESCxLQUFLO1lBSU4sTUFBTTtrQkFETCxLQUFLO1lBSU4sTUFBTTtrQkFETCxLQUFLOztrRkExREssbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgb2JzZXJ2ZVJlc2l6ZU9uIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgY29tYmluZUxhdGVzdCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGV4aGF1c3RNYXAsXG4gIG1hcCxcbiAgbWVyZ2UsXG4gIE5FVkVSLFxuICBPYnNlcnZhYmxlLFxuICBPYnNlcnZlcixcbiAgc3RhcnRXaXRoLFxuICBTdWJqZWN0LFxuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIERFRkFVTFRfR1VUVEVSLFxuICBERUZBVUxUX0xBWU9VVF9DT0xVTU5TLFxuICBERUZBVUxUX1JPV19IRUlHSFQsXG4gIE9ic2VydmFibGVJbnB1dCxcbn0gZnJvbSAnLi4vLi4vLi4vcHVibGljLWFwaSc7XG5pbXBvcnQgeyBHcmlkTGF5b3V0U2VydmljZSB9IGZyb20gJy4uLy4uL2dyaWQtbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZFBsYWNlaG9sZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2dyaWQtcGxhY2Vob2xkZXIuc2VydmljZSc7XG5pbXBvcnQge1xuICBHcmlkQ29tcGFjdFR5cGUsXG4gIERyYWdFbmRFdmVudCxcbiAgRHJhZ1N0YXJ0RXZlbnQsXG4gIEdyaWRMYXlvdXQsXG4gIEdyaWRMYXlvdXRJdGVtLFxuICBSZXNpemVTdGFydEV2ZW50LFxuICBHcmlkQ2ZnLFxuICBHcmlkSXRlbVJlbmRlckRhdGEsXG4gIEdyaWRJdGVtQ2xpZW50UmVjdCxcbiAgRHJhZ0FjdGlvblR5cGUsXG4gIFJlc2l6ZUVuZEV2ZW50LFxuICBJdGVtUmVzaXplRXZlbnQsXG59IGZyb20gJy4uLy4uL3R5cGUnO1xuaW1wb3J0IHsgZ2V0Q2xpZW50UmVjdFNuYXBzaG90IH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xpZW50LXJlY3QudXRpbHMnO1xuaW1wb3J0IHtcbiAgY29tcGFjdEdyaWRMYXlvdXQsXG4gIGdldERyYWdSZXNpemVFdmVudERhdGEsXG59IGZyb20gJy4uLy4uL3V0aWxzL2dyaWQudXRpbHMnO1xuaW1wb3J0IHsgZ2V0TW91c2VFbmQkLCBnZXRNb3VzZU1vdmUkIH0gZnJvbSAnLi4vLi4vdXRpbHMvbW91c2UudXRpbHMnO1xuaW1wb3J0IHsgcnVuT3V0c2lkZVpvbmUkIH0gZnJvbSAnLi4vLi4vdXRpbHMvb3BlcmF0b3InO1xuaW1wb3J0IHsgc2Nyb2xsSWZOZWFyRWxlbWVudENsaWVudFJlY3QkIH0gZnJvbSAnLi4vLi4vdXRpbHMvc2Nyb2xsLnV0aWxzJztcbmltcG9ydCB7IEdyaWRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1pdGVtcy9jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtZ3JpZC1sYXlvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW0dyaWRQbGFjZWhvbGRlclNlcnZpY2UsIEdyaWRMYXlvdXRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgR3JpZExheW91dENvbXBvbmVudFxuICBpbXBsZW1lbnRzXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgT25EZXN0cm95XG57XG4gIC8qKiBRdWVyeSBsaXN0IG9mIGdyaWQgaXRlbXMgdGhhdCBhcmUgYmVpbmcgcmVuZGVyZWQuICovXG4gIEBDb250ZW50Q2hpbGRyZW4oR3JpZEl0ZW1Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgZ3JpZEl0ZW1zOiBRdWVyeUxpc3Q8R3JpZEl0ZW1Db21wb25lbnQ+O1xuXG4gIEBPdXRwdXQoKSBsYXlvdXRVcGRhdGVkOiBFdmVudEVtaXR0ZXI8R3JpZExheW91dD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8R3JpZExheW91dD4oKTtcblxuICBAT3V0cHV0KCkgZHJhZ1N0YXJ0ZWQ6IEV2ZW50RW1pdHRlcjxEcmFnU3RhcnRFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8RHJhZ1N0YXJ0RXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpIHJlc2l6ZVN0YXJ0ZWQ6IEV2ZW50RW1pdHRlcjxSZXNpemVTdGFydEV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxSZXNpemVTdGFydEV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKSBkcmFnRW5kZWQ6IEV2ZW50RW1pdHRlcjxEcmFnRW5kRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPERyYWdFbmRFdmVudD4oKTtcblxuICBAT3V0cHV0KCkgcmVzaXplRW5kZWQ6IEV2ZW50RW1pdHRlcjxSZXNpemVFbmRFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8UmVzaXplRW5kRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpIGdyaWRJdGVtUmVzaXplOiBFdmVudEVtaXR0ZXI8SXRlbVJlc2l6ZUV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxJdGVtUmVzaXplRXZlbnQ+KCk7XG5cbiAgLy8gUGFyZW50IGVsZW1lbnQgdGhhdCBjb250YWlucyB0aGUgc2Nyb2xsLiBJZiBhbiBzdHJpbmcgaXMgcHJvdmlkZWQgaXQgd291bGQgc2VhcmNoIHRoYXQgZWxlbWVudCBieSBpZCBvbiB0aGUgZG9tLlxuICAvLyB1c2UgdGhpcyB0byBjb21wZW5zYXRlIGRyYWdnaW5nIHBvaW50IGFuZCBzY3JvbGwgZGlmZmVyZW5jZVxuICBASW5wdXQoKSBzY3JvbGxhYmxlUGFyZW50OiBIVE1MRWxlbWVudCB8IERvY3VtZW50IHwgc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBPYnNlcnZhYmxlSW5wdXQoKSBzY3JvbGxhYmxlUGFyZW50JDogT2JzZXJ2YWJsZTxcbiAgICBIVE1MRWxlbWVudCB8IERvY3VtZW50IHwgc3RyaW5nIHwgbnVsbFxuICA+O1xuXG4gIEBJbnB1dCgpXG4gIGlkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHJldmVudENvbGxpc2lvbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNjcm9sbFNwZWVkID0gMjtcblxuICBASW5wdXQoKVxuICBjb21wYWN0VHlwZSA9IEdyaWRDb21wYWN0VHlwZS5WRVJUSUNBTDtcblxuICBASW5wdXQoKVxuICByb3dIZWlnaHQ6IG51bWJlciA9IERFRkFVTFRfUk9XX0hFSUdIVDtcblxuICBASW5wdXQoKVxuICBjb2xzOiBudW1iZXIgPSBERUZBVUxUX0xBWU9VVF9DT0xVTU5TO1xuXG4gIEBJbnB1dCgpXG4gIGxheW91dDogR3JpZExheW91dDtcblxuICBASW5wdXQoKVxuICBndXR0ZXI6IG51bWJlciA9IERFRkFVTFRfR1VUVEVSO1xuXG4gIHByaXZhdGUgbGFzdExheW91dDogR3JpZExheW91dDtcblxuICBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGdldCBjb25maWcoKTogR3JpZENmZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbHM6IHRoaXMuY29scyxcbiAgICAgIHJvd0hlaWdodDogdGhpcy5yb3dIZWlnaHQsXG4gICAgICBsYXlvdXQ6IHRoaXMubGFzdExheW91dCxcbiAgICAgIHByZXZlbnRDb2xsaXNpb246IHRoaXMucHJldmVudENvbGxpc2lvbixcbiAgICAgIGd1dHRlcjogdGhpcy5ndXR0ZXIsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBob3N0RWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdyaWRQbGFjZWhvbGRlclNlcnZpY2U6IEdyaWRQbGFjZWhvbGRlclNlcnZpY2UsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBncmlkTGF5b3V0U2VydmljZTogR3JpZExheW91dFNlcnZpY2UsXG4gICkge1xuICAgIC8vIHdlIHVzZSB0aGlzIHBhdHRlcm4gdG8gYXZvaWQgdG9vIG1hbnkgcHJvcGVydHkgcGFzc2luZ1xuICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UucmVnaXN0ZXJHcmlkQ29tcG9uZW50KHRoaXMpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgb2JzZXJ2ZVJlc2l6ZU9uKHRoaXMuaG9zdEVsZW1lbnQpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UuY2FsY3VsYXRlUmVuZGVyRGF0YSgpO1xuICAgICAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmZsdXNoUmVuZGVyRGF0YSh0cnVlKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UuZ3JpZFJlbmRlckhlaWdodCQkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZChpc0VxdWFsKSlcbiAgICAgIC5zdWJzY3JpYmUoaGVpZ2h0ID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGFzdExheW91dElkOiBzdHJpbmc7XG4gIHByaXZhdGUgbWFya0xheW91dElkQ2hhbmdlID0gZmFsc2U7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGxldCBuZWVkc0NvbXBhY3RMYXlvdXQgPSBmYWxzZTtcbiAgICBsZXQgbmVlZHNSZWNhbGN1bGF0ZVJlbmRlckRhdGEgPSBmYWxzZTtcbiAgICAvLyBDb21wYWN0IGxheW91dCB3aGVuZXZlciBzb21lIGRlcGVuZGVudCBwcm9wIGNoYW5nZXMuXG4gICAgaWYgKGNoYW5nZXMuY29tcGFjdFR5cGUgfHwgY2hhbmdlcy5jb2xzIHx8IGNoYW5nZXMubGF5b3V0IHx8IGNoYW5nZXMuaWQpIHtcbiAgICAgIG5lZWRzQ29tcGFjdExheW91dCA9IHRydWU7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmxheW91dCkge1xuICAgICAgdGhpcy5sYXN0TGF5b3V0ID0gY2hhbmdlcy5sYXlvdXQuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5pZCkge1xuICAgICAgaWYgKHRoaXMubGFzdExheW91dElkICYmIHRoaXMubGFzdExheW91dElkICE9PSBjaGFuZ2VzLmlkLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICB0aGlzLm1hcmtMYXlvdXRJZENoYW5nZSA9IHRydWU7XG4gICAgICB9XG4gICAgICB0aGlzLmxhc3RMYXlvdXRJZCA9IGNoYW5nZXMuaWQuY3VycmVudFZhbHVlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGlmIHdlZSBuZWVkIHRvIHJlY2FsY3VsYXRlIHJlbmRlcmluZyBkYXRhLlxuICAgIGlmIChcbiAgICAgIG5lZWRzQ29tcGFjdExheW91dCB8fFxuICAgICAgY2hhbmdlcy5yb3dIZWlnaHQgfHxcbiAgICAgIGNoYW5nZXMuZ3V0dGVyIHx8XG4gICAgICBjaGFuZ2VzLmxheW91dFxuICAgICkge1xuICAgICAgbmVlZHNSZWNhbGN1bGF0ZVJlbmRlckRhdGEgPSB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBtYXJrTGF5b3V0SWRDaGFuZ2UgPSB0aGlzLm1hcmtMYXlvdXRJZENoYW5nZTtcbiAgICBpZiAobmVlZHNSZWNhbGN1bGF0ZVJlbmRlckRhdGEpIHtcbiAgICAgIC8vIGxldCBuZ09uQ2hhbmdlcyBwYXNzLCB3ZSBjYW4gdXNlIGlucHV0IHByb3BzLCBhbmQgd2hlbiBwcm9wcyBjaGFuZ2UsIGxldCBncmlkLWNvbXBvbmVudCBkZXN0cm95IGZpcnN0XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAobmVlZHNDb21wYWN0TGF5b3V0KSB7XG4gICAgICAgICAgdGhpcy5jb21wYWN0TGF5b3V0KG1hcmtMYXlvdXRJZENoYW5nZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ncmlkTGF5b3V0U2VydmljZS5jYWxjdWxhdGVSZW5kZXJEYXRhKCk7XG4gICAgICAgIC8vIERvIG5vdCBuZWVkIGFuaW1hdGlvbiB3aGVuIHRvdGFsIGxheW91dCBjb25maWcgY2hhbmdlLCB3aGljaCBpcyBkYXNoSWQgY2hhbmdpbmdcbiAgICAgICAgdGhpcy5ncmlkTGF5b3V0U2VydmljZS5mbHVzaFJlbmRlckRhdGEoIW1hcmtMYXlvdXRJZENoYW5nZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5pbml0U3Vic2NyaXB0aW9ucygpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UuY2FsY3VsYXRlUmVuZGVyRGF0YSgpO1xuICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UuZmx1c2hSZW5kZXJEYXRhKCF0aGlzLm1hcmtMYXlvdXRJZENoYW5nZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHJlZnJlc2hMYXlvdXQoZGFzaElkQ2hhbmdlOiBib29sZWFuKSB7XG4gICAgcmV0dXJuIGRhc2hJZENoYW5nZVxuICAgICAgPyB0aGlzLmxhc3RMYXlvdXRcbiAgICAgIDogdGhpcy5sYXN0TGF5b3V0Py5tYXAobGF5b3V0SXRlbSA9PiAoe1xuICAgICAgICAgIC4uLmxheW91dEl0ZW0sXG4gICAgICAgICAgLi4udGhpcy5ncmlkTGF5b3V0U2VydmljZS5sYXN0TGF5b3V0Py5maW5kKFxuICAgICAgICAgICAgKHsgaWQgfSkgPT4gbGF5b3V0SXRlbS5pZCA9PT0gaWQsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSkpO1xuICB9XG5cbiAgY29tcGFjdExheW91dChkYXNoSWRDaGFuZ2U6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmxhc3RMYXlvdXQgPSBjb21wYWN0R3JpZExheW91dChcbiAgICAgIHRoaXMucmVmcmVzaExheW91dChkYXNoSWRDaGFuZ2UpLFxuICAgICAgdGhpcy5jb21wYWN0VHlwZSxcbiAgICAgIHRoaXMuY29scyxcbiAgICApO1xuICB9XG5cbiAgZ2V0SXRlbVJlbmRlckRhdGEoaXRlbUlkOiBzdHJpbmcpOiBHcmlkSXRlbVJlbmRlckRhdGEge1xuICAgIHJldHVybiB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmdyaWRJdGVtc1JlbmRlckRhdGFbaXRlbUlkXTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFN1YnNjcmlwdGlvbnMoKSB7XG4gICAgdGhpcy5ncmlkSXRlbXMuY2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBtYXJrTGF5b3V0SWRDaGFuZ2UgPSB0aGlzLm1hcmtMYXlvdXRJZENoYW5nZTtcbiAgICAgIC8vIG5lZWQgdGhpcyBSYWYgdG8gbWFrZSB0aGlzLmxhc3RMYXlvdXQgdG8gYmUgbGFzdFxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy5tYXJrTGF5b3V0SWRDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb21wYWN0TGF5b3V0KCFtYXJrTGF5b3V0SWRDaGFuZ2UpO1xuICAgICAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmNhbGN1bGF0ZVJlbmRlckRhdGEoKTtcbiAgICAgICAgdGhpcy5ncmlkTGF5b3V0U2VydmljZS5mbHVzaFJlbmRlckRhdGEoIW1hcmtMYXlvdXRJZENoYW5nZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICB0aGlzLmdyaWRJdGVtcy5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuZ3JpZEl0ZW1zKSxcbiAgICAgICAgc3dpdGNoTWFwKChncmlkSXRlbXM6IFF1ZXJ5TGlzdDxHcmlkSXRlbUNvbXBvbmVudD4pID0+XG4gICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAuLi5ncmlkSXRlbXMubWFwKGdyaWRJdGVtID0+XG4gICAgICAgICAgICAgIGdyaWRJdGVtLmRyYWdTdGFydCQucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoZXZlbnQgPT4gKHtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgICAgICAgZ3JpZEl0ZW0sXG4gICAgICAgICAgICAgICAgICB0eXBlOiAnZHJhZycgYXMgRHJhZ0FjdGlvblR5cGUsXG4gICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIC4uLmdyaWRJdGVtcy5tYXAoZ3JpZEl0ZW0gPT5cbiAgICAgICAgICAgICAgZ3JpZEl0ZW0ucmVzaXplU3RhcnQkLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+ICh7XG4gICAgICAgICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgICAgICAgIGdyaWRJdGVtLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ3Jlc2l6ZScgYXMgRHJhZ0FjdGlvblR5cGUsXG4gICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICBleGhhdXN0TWFwKCh7IGV2ZW50LCBncmlkSXRlbSwgdHlwZSB9KSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PlxuICAgICAgICAgICAgICAgICh0eXBlID09PSAnZHJhZycgPyB0aGlzLmRyYWdTdGFydGVkIDogdGhpcy5yZXNpemVTdGFydGVkKS5lbWl0KFxuICAgICAgICAgICAgICAgICAgZ2V0RHJhZ1Jlc2l6ZUV2ZW50RGF0YShncmlkSXRlbSwgdGhpcy5sYXN0TGF5b3V0KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVBY3Rpb24kKGdyaWRJdGVtLCBldmVudCwgdHlwZSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAobGF5b3V0ID0+ICh7IGxheW91dCwgZ3JpZEl0ZW0sIHR5cGUgfSkpLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHsgbGF5b3V0LCBncmlkSXRlbSwgdHlwZSB9KSA9PiB7XG4gICAgICAgIHRoaXMubGFzdExheW91dCA9IGxheW91dDtcbiAgICAgICAgKHR5cGUgPT09ICdkcmFnJyA/IHRoaXMuZHJhZ0VuZGVkIDogdGhpcy5yZXNpemVFbmRlZCkuZW1pdChcbiAgICAgICAgICBnZXREcmFnUmVzaXplRXZlbnREYXRhKGdyaWRJdGVtLCBsYXlvdXQpLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmxheW91dFVwZGF0ZWQuZW1pdChsYXlvdXQpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUFjdGlvbiQoXG4gICAgZ3JpZEl0ZW06IEdyaWRJdGVtQ29tcG9uZW50LFxuICAgIHBvaW50ZXJEb3duRXZlbnQ6IE1vdXNlRXZlbnQsXG4gICAgdHlwZTogRHJhZ0FjdGlvblR5cGUsXG4gICk6IE9ic2VydmFibGU8R3JpZExheW91dD4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxHcmlkTGF5b3V0Pigob2JzZXJ2ZXI6IE9ic2VydmVyPEdyaWRMYXlvdXQ+KSA9PiB7XG4gICAgICAvLyBSZXRyaWV2ZSBncmlkIChwYXJlbnQpIGFuZCBncmlkSXRlbSAoZHJhZ2dlZEVsZW0pIGNsaWVudCByZWN0cy5cbiAgICAgIGNvbnN0IGdyaWRFbGVtQ2xpZW50UmVjdFNuYXBzaG90OiBHcmlkSXRlbUNsaWVudFJlY3QgPVxuICAgICAgICBnZXRDbGllbnRSZWN0U25hcHNob3QodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgY29uc3QgZHJhZ0VsZW1DbGllbnRSZWN0U25hcHNob3Q6IEdyaWRJdGVtQ2xpZW50UmVjdCA9XG4gICAgICAgIGdldENsaWVudFJlY3RTbmFwc2hvdChncmlkSXRlbS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuXG4gICAgICBjb25zdCBzY3JvbGxhYmxlUGFyZW50ID1cbiAgICAgICAgdHlwZW9mIHRoaXMuc2Nyb2xsYWJsZVBhcmVudCA9PT0gJ3N0cmluZydcbiAgICAgICAgICA/IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5zY3JvbGxhYmxlUGFyZW50KVxuICAgICAgICAgIDogdGhpcy5zY3JvbGxhYmxlUGFyZW50O1xuXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICBncmlkSXRlbS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICduby10cmFuc2l0aW9ucycsXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgZ3JpZEl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnZ3JpZC1pdGVtLWRyYWdnaW5nJyxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHBsYWNlaG9sZGVyQ2xpZW50UmVjdDogR3JpZEl0ZW1DbGllbnRSZWN0ID0ge1xuICAgICAgICAuLi5kcmFnRWxlbUNsaWVudFJlY3RTbmFwc2hvdCxcbiAgICAgICAgbGVmdDogZHJhZ0VsZW1DbGllbnRSZWN0U25hcHNob3QubGVmdCAtIGdyaWRFbGVtQ2xpZW50UmVjdFNuYXBzaG90LmxlZnQsXG4gICAgICAgIHRvcDogZHJhZ0VsZW1DbGllbnRSZWN0U25hcHNob3QudG9wIC0gZ3JpZEVsZW1DbGllbnRSZWN0U25hcHNob3QudG9wLFxuICAgICAgfTtcbiAgICAgIHRoaXMuZ3JpZFBsYWNlaG9sZGVyU2VydmljZS5jcmVhdGVQbGFjZWhvbGRlckVsZW1lbnQoXG4gICAgICAgIHBsYWNlaG9sZGVyQ2xpZW50UmVjdCxcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLFxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIGdyaWRJdGVtLnBsYWNlaG9sZGVyLFxuICAgICAgKTtcblxuICAgICAgbGV0IG5ld0xheW91dDogR3JpZExheW91dEl0ZW1bXTtcblxuICAgICAgKHNjcm9sbGFibGVQYXJlbnRcbiAgICAgICAgPyBnZXRNb3VzZU1vdmUkKHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5waXBlKFxuICAgICAgICAgICAgcnVuT3V0c2lkZVpvbmUkKHRoaXMubmdab25lKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCksXG4gICAgICAgICAgICBzY3JvbGxJZk5lYXJFbGVtZW50Q2xpZW50UmVjdCQoc2Nyb2xsYWJsZVBhcmVudCwge1xuICAgICAgICAgICAgICBzY3JvbGxTdGVwOiB0aGlzLnNjcm9sbFNwZWVkLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKVxuICAgICAgICA6IE5FVkVSXG4gICAgICApXG4gICAgICAgIC5waXBlKHRha2VVbnRpbChnZXRNb3VzZUVuZCQodGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKSlcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgbWVyZ2UoXG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIGdldE1vdXNlTW92ZSQodGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLFxuICAgICAgICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2Uuc2Nyb2xsRGlmZmVyZW5jZSQsXG4gICAgICAgIF0pLFxuICAgICAgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBydW5PdXRzaWRlWm9uZSQodGhpcy5uZ1pvbmUpLFxuICAgICAgICAgIHRha2VVbnRpbChnZXRNb3VzZUVuZCQodGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKFtwb2ludGVyRHJhZ0V2ZW50LCBzY3JvbGxEaWZmZXJlbmNlXTogW1xuICAgICAgICAgICAgTW91c2VFdmVudCxcbiAgICAgICAgICAgIHsgdG9wOiBudW1iZXI7IGxlZnQ6IG51bWJlciB9LFxuICAgICAgICAgIF0pID0+IHtcbiAgICAgICAgICAgIHBvaW50ZXJEcmFnRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IGdyaWRJdGVtSWQgPSBncmlkSXRlbS5pZDtcbiAgICAgICAgICAgIGNvbnN0IHsgZ3JpZERhdGEsIGxheW91dCB9ID1cbiAgICAgICAgICAgICAgdGhpcy5ncmlkTGF5b3V0U2VydmljZS5sYXlvdXRXaGVuQWN0aW9uKFxuICAgICAgICAgICAgICAgIGdyaWRJdGVtLFxuICAgICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgcG9pbnRlckRvd25FdmVudCxcbiAgICAgICAgICAgICAgICAgIHBvaW50ZXJEcmFnRXZlbnQsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzY3JvbGxEaWZmZXJlbmNlLFxuICAgICAgICAgICAgICAgIGRyYWdFbGVtQ2xpZW50UmVjdFNuYXBzaG90LFxuICAgICAgICAgICAgICAgIGdyaWRFbGVtQ2xpZW50UmVjdFNuYXBzaG90LFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5ncmlkTGF5b3V0U2VydmljZS5mbHVzaFJlbmRlckRhdGEoKTtcbiAgICAgICAgICAgIG5ld0xheW91dCA9IGNsb25lRGVlcChsYXlvdXQpO1xuXG4gICAgICAgICAgICBjb25zdCBuZXdJdGVtR3JpZERhdGEgPSB7IC4uLmdyaWREYXRhW2dyaWRJdGVtSWRdIH07XG5cbiAgICAgICAgICAgIC8vIHB1dCB0aGUgZ3JpZCBub3JtYWxpemUgcG9zaXRpb24gdG8gdGhlIHBsYWNlaG9sZGVyIGVsZW1lbnRcbiAgICAgICAgICAgIHRoaXMuZ3JpZFBsYWNlaG9sZGVyU2VydmljZS51cGRhdGVQbGFjZUhvbGRlcihuZXdJdGVtR3JpZERhdGEpO1xuXG4gICAgICAgICAgICB0eXBlID09PSAncmVzaXplJyAmJlxuICAgICAgICAgICAgICB0aGlzLmdyaWRJdGVtUmVzaXplLmVtaXQoe1xuICAgICAgICAgICAgICAgIHdpZHRoOiBuZXdJdGVtR3JpZERhdGEud2lkdGgsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBuZXdJdGVtR3JpZERhdGEuaGVpZ2h0LFxuICAgICAgICAgICAgICAgIGdyaWRJdGVtUmVmOiBnZXREcmFnUmVzaXplRXZlbnREYXRhKGdyaWRJdGVtLCBuZXdMYXlvdXQpXG4gICAgICAgICAgICAgICAgICAuZ3JpZEl0ZW1SZWYsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3IgPT4gb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpLFxuICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoXG4gICAgICAgICAgICAgICAgZ3JpZEl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICduby10cmFuc2l0aW9ucycsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoXG4gICAgICAgICAgICAgICAgZ3JpZEl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICdncmlkLWl0ZW0tZHJhZ2dpbmcnLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAvLyB3aGVuIGFjdGlvbiBpcyBkb25lLCB1c2UgYW5vdGhlciByZWxheW91dCB0byBtYWtlIHN1cmUgZXZlcnl0aGluZyBpcyBmaW5lXG4gICAgICAgICAgICAgIHRoaXMuY29tcGFjdExheW91dChmYWxzZSk7XG4gICAgICAgICAgICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UuY2FsY3VsYXRlUmVuZGVyRGF0YSgpO1xuICAgICAgICAgICAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmZsdXNoUmVuZGVyRGF0YSgpO1xuXG4gICAgICAgICAgICAgIHRoaXMuZ3JpZFBsYWNlaG9sZGVyU2VydmljZS5kZXN0cm95UGxhY2Vob2xkZXIoKTtcbiAgICAgICAgICAgICAgaWYgKG5ld0xheW91dCkge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoY2xvbmVEZWVwKG5ld0xheW91dCkgYXMgR3JpZExheW91dCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2dyaWQtbGF5b3V0L2NvbXBvbmVudHMvZ3JpZC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZ3JpZC1sYXlvdXQvY29tcG9uZW50cy9ncmlkL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUVULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixVQUFVLEVBQ1YsR0FBRyxFQUNILEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUVWLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUNMLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsa0JBQWtCLEdBQ25CLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFD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QUFpQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtZQUcvQyxhQUFhO2tCQUF0QixNQUFNO1lBR0csV0FBVztrQkFBcEIsTUFBTTtZQUdHLGFBQWE7a0JBQXRCLE1BQU07WUFHRyxTQUFTO2tCQUFsQixNQUFNO1lBR0csV0FBVztrQkFBcEIsTUFBTTtZQUdHLGNBQWM7a0JBQXZCLE1BQU07WUFLRSxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDYSxpQkFBaUIsTUFLcEMsRUFBRTtrQkFERCxLQUFLO1lBSU4sZ0JBQWdCO2tCQURmLEtBQUs7WUFJTixXQUFXO2tCQURWLEtBQUs7WUFJTixXQUFXO2tCQURWLEtBQUs7WUFJTixTQUFTO2tCQURSLEtBQUs7WUFJTixJQUFJO2tCQURILEtBQUs7WUFJTixNQUFNO2tCQURMLEtBQUs7WUFJTixNQUFNO2tCQURMLEtBQUs7O2tGQTFESyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBvYnNlcnZlUmVzaXplT24gfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBjb21iaW5lTGF0ZXN0LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZXhoYXVzdE1hcCxcbiAgbWFwLFxuICBtZXJnZSxcbiAgTkVWRVIsXG4gIE9ic2VydmFibGUsXG4gIE9ic2VydmVyLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgaXNFcXVhbCwgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7XG4gIERFRkFVTFRfR1VUVEVSLFxuICBERUZBVUxUX0xBWU9VVF9DT0xVTU5TLFxuICBERUZBVUxUX1JPV19IRUlHSFQsXG59IGZyb20gJy4uLy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgR3JpZExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9ncmlkLWxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRQbGFjZWhvbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ncmlkLXBsYWNlaG9sZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgR3JpZENvbXBhY3RUeXBlLFxuICBEcmFnRW5kRXZlbnQsXG4gIERyYWdTdGFydEV2ZW50LFxuICBHcmlkTGF5b3V0LFxuICBHcmlkTGF5b3V0SXRlbSxcbiAgUmVzaXplU3RhcnRFdmVudCxcbiAgR3JpZENmZyxcbiAgR3JpZEl0ZW1SZW5kZXJEYXRhLFxuICBHcmlkSXRlbUNsaWVudFJlY3QsXG4gIERyYWdBY3Rpb25UeXBlLFxuICBSZXNpemVFbmRFdmVudCxcbiAgSXRlbVJlc2l6ZUV2ZW50LFxufSBmcm9tICcuLi8uLi90eXBlJztcbmltcG9ydCB7IGdldENsaWVudFJlY3RTbmFwc2hvdCB9IGZyb20gJy4uLy4uL3V0aWxzL2NsaWVudC1yZWN0LnV0aWxzJztcbmltcG9ydCB7XG4gIGNvbXBhY3RHcmlkTGF5b3V0LFxuICBnZXREcmFnUmVzaXplRXZlbnREYXRhLFxufSBmcm9tICcuLi8uLi91dGlscy9ncmlkLnV0aWxzJztcbmltcG9ydCB7IGdldE1vdXNlRW5kJCwgZ2V0TW91c2VNb3ZlJCB9IGZyb20gJy4uLy4uL3V0aWxzL21vdXNlLnV0aWxzJztcbmltcG9ydCB7IHJ1bk91dHNpZGVab25lJCB9IGZyb20gJy4uLy4uL3V0aWxzL29wZXJhdG9yJztcbmltcG9ydCB7IHNjcm9sbElmTmVhckVsZW1lbnRDbGllbnRSZWN0JCB9IGZyb20gJy4uLy4uL3V0aWxzL3Njcm9sbC51dGlscyc7XG5pbXBvcnQgeyBHcmlkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtaXRlbXMvY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLWdyaWQtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtHcmlkUGxhY2Vob2xkZXJTZXJ2aWNlLCBHcmlkTGF5b3V0U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRMYXlvdXRDb21wb25lbnRcbiAgaW1wbGVtZW50c1xuICAgIE9uSW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIE9uRGVzdHJveVxue1xuICAvKiogUXVlcnkgbGlzdCBvZiBncmlkIGl0ZW1zIHRoYXQgYXJlIGJlaW5nIHJlbmRlcmVkLiAqL1xuICBAQ29udGVudENoaWxkcmVuKEdyaWRJdGVtQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIGdyaWRJdGVtczogUXVlcnlMaXN0PEdyaWRJdGVtQ29tcG9uZW50PjtcblxuICBAT3V0cHV0KCkgbGF5b3V0VXBkYXRlZDogRXZlbnRFbWl0dGVyPEdyaWRMYXlvdXQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEdyaWRMYXlvdXQ+KCk7XG5cbiAgQE91dHB1dCgpIGRyYWdTdGFydGVkOiBFdmVudEVtaXR0ZXI8RHJhZ1N0YXJ0RXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPERyYWdTdGFydEV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKSByZXNpemVTdGFydGVkOiBFdmVudEVtaXR0ZXI8UmVzaXplU3RhcnRFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8UmVzaXplU3RhcnRFdmVudD4oKTtcblxuICBAT3V0cHV0KCkgZHJhZ0VuZGVkOiBFdmVudEVtaXR0ZXI8RHJhZ0VuZEV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxEcmFnRW5kRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpIHJlc2l6ZUVuZGVkOiBFdmVudEVtaXR0ZXI8UmVzaXplRW5kRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFJlc2l6ZUVuZEV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKSBncmlkSXRlbVJlc2l6ZTogRXZlbnRFbWl0dGVyPEl0ZW1SZXNpemVFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8SXRlbVJlc2l6ZUV2ZW50PigpO1xuXG4gIC8vIFBhcmVudCBlbGVtZW50IHRoYXQgY29udGFpbnMgdGhlIHNjcm9sbC4gSWYgYW4gc3RyaW5nIGlzIHByb3ZpZGVkIGl0IHdvdWxkIHNlYXJjaCB0aGF0IGVsZW1lbnQgYnkgaWQgb24gdGhlIGRvbS5cbiAgLy8gdXNlIHRoaXMgdG8gY29tcGVuc2F0ZSBkcmFnZ2luZyBwb2ludCBhbmQgc2Nyb2xsIGRpZmZlcmVuY2VcbiAgQElucHV0KCkgc2Nyb2xsYWJsZVBhcmVudDogSFRNTEVsZW1lbnQgfCBEb2N1bWVudCB8IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBAT2JzZXJ2YWJsZUlucHV0KCkgc2Nyb2xsYWJsZVBhcmVudCQ6IE9ic2VydmFibGU8XG4gICAgSFRNTEVsZW1lbnQgfCBEb2N1bWVudCB8IHN0cmluZyB8IG51bGxcbiAgPjtcblxuICBASW5wdXQoKVxuICBpZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHByZXZlbnRDb2xsaXNpb24gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzY3JvbGxTcGVlZCA9IDI7XG5cbiAgQElucHV0KClcbiAgY29tcGFjdFR5cGUgPSBHcmlkQ29tcGFjdFR5cGUuVkVSVElDQUw7XG5cbiAgQElucHV0KClcbiAgcm93SGVpZ2h0OiBudW1iZXIgPSBERUZBVUxUX1JPV19IRUlHSFQ7XG5cbiAgQElucHV0KClcbiAgY29sczogbnVtYmVyID0gREVGQVVMVF9MQVlPVVRfQ09MVU1OUztcblxuICBASW5wdXQoKVxuICBsYXlvdXQ6IEdyaWRMYXlvdXQ7XG5cbiAgQElucHV0KClcbiAgZ3V0dGVyOiBudW1iZXIgPSBERUZBVUxUX0dVVFRFUjtcblxuICBwcml2YXRlIGxhc3RMYXlvdXQ6IEdyaWRMYXlvdXQ7XG5cbiAgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBnZXQgY29uZmlnKCk6IEdyaWRDZmcge1xuICAgIHJldHVybiB7XG4gICAgICBjb2xzOiB0aGlzLmNvbHMsXG4gICAgICByb3dIZWlnaHQ6IHRoaXMucm93SGVpZ2h0LFxuICAgICAgbGF5b3V0OiB0aGlzLmxhc3RMYXlvdXQsXG4gICAgICBwcmV2ZW50Q29sbGlzaW9uOiB0aGlzLnByZXZlbnRDb2xsaXNpb24sXG4gICAgICBndXR0ZXI6IHRoaXMuZ3V0dGVyLFxuICAgIH07XG4gIH1cblxuICBnZXQgaG9zdEVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBncmlkUGxhY2Vob2xkZXJTZXJ2aWNlOiBHcmlkUGxhY2Vob2xkZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3JpZExheW91dFNlcnZpY2U6IEdyaWRMYXlvdXRTZXJ2aWNlLFxuICApIHtcbiAgICAvLyB3ZSB1c2UgdGhpcyBwYXR0ZXJuIHRvIGF2b2lkIHRvbyBtYW55IHByb3BlcnR5IHBhc3NpbmdcbiAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLnJlZ2lzdGVyR3JpZENvbXBvbmVudCh0aGlzKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIG9ic2VydmVSZXNpemVPbih0aGlzLmhvc3RFbGVtZW50KVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmNhbGN1bGF0ZVJlbmRlckRhdGEoKTtcbiAgICAgICAgdGhpcy5ncmlkTGF5b3V0U2VydmljZS5mbHVzaFJlbmRlckRhdGEodHJ1ZSk7XG4gICAgICB9KTtcbiAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmdyaWRSZW5kZXJIZWlnaHQkJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNFcXVhbCkpXG4gICAgICAuc3Vic2NyaWJlKGhlaWdodCA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxhc3RMYXlvdXRJZDogc3RyaW5nO1xuICBwcml2YXRlIG1hcmtMYXlvdXRJZENoYW5nZSA9IGZhbHNlO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBsZXQgbmVlZHNDb21wYWN0TGF5b3V0ID0gZmFsc2U7XG4gICAgbGV0IG5lZWRzUmVjYWxjdWxhdGVSZW5kZXJEYXRhID0gZmFsc2U7XG4gICAgLy8gQ29tcGFjdCBsYXlvdXQgd2hlbmV2ZXIgc29tZSBkZXBlbmRlbnQgcHJvcCBjaGFuZ2VzLlxuICAgIGlmIChjaGFuZ2VzLmNvbXBhY3RUeXBlIHx8IGNoYW5nZXMuY29scyB8fCBjaGFuZ2VzLmxheW91dCB8fCBjaGFuZ2VzLmlkKSB7XG4gICAgICBuZWVkc0NvbXBhY3RMYXlvdXQgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5sYXlvdXQpIHtcbiAgICAgIHRoaXMubGFzdExheW91dCA9IGNoYW5nZXMubGF5b3V0LmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuaWQpIHtcbiAgICAgIGlmICh0aGlzLmxhc3RMYXlvdXRJZCAmJiB0aGlzLmxhc3RMYXlvdXRJZCAhPT0gY2hhbmdlcy5pZC5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgdGhpcy5tYXJrTGF5b3V0SWRDaGFuZ2UgPSB0cnVlO1xuICAgICAgfVxuICAgICAgdGhpcy5sYXN0TGF5b3V0SWQgPSBjaGFuZ2VzLmlkLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBpZiB3ZWUgbmVlZCB0byByZWNhbGN1bGF0ZSByZW5kZXJpbmcgZGF0YS5cbiAgICBpZiAoXG4gICAgICBuZWVkc0NvbXBhY3RMYXlvdXQgfHxcbiAgICAgIGNoYW5nZXMucm93SGVpZ2h0IHx8XG4gICAgICBjaGFuZ2VzLmd1dHRlciB8fFxuICAgICAgY2hhbmdlcy5sYXlvdXRcbiAgICApIHtcbiAgICAgIG5lZWRzUmVjYWxjdWxhdGVSZW5kZXJEYXRhID0gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgbWFya0xheW91dElkQ2hhbmdlID0gdGhpcy5tYXJrTGF5b3V0SWRDaGFuZ2U7XG4gICAgaWYgKG5lZWRzUmVjYWxjdWxhdGVSZW5kZXJEYXRhKSB7XG4gICAgICAvLyBsZXQgbmdPbkNoYW5nZXMgcGFzcywgd2UgY2FuIHVzZSBpbnB1dCBwcm9wcywgYW5kIHdoZW4gcHJvcHMgY2hhbmdlLCBsZXQgZ3JpZC1jb21wb25lbnQgZGVzdHJveSBmaXJzdFxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaWYgKG5lZWRzQ29tcGFjdExheW91dCkge1xuICAgICAgICAgIHRoaXMuY29tcGFjdExheW91dChtYXJrTGF5b3V0SWRDaGFuZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UuY2FsY3VsYXRlUmVuZGVyRGF0YSgpO1xuICAgICAgICAvLyBEbyBub3QgbmVlZCBhbmltYXRpb24gd2hlbiB0b3RhbCBsYXlvdXQgY29uZmlnIGNoYW5nZSwgd2hpY2ggaXMgZGFzaElkIGNoYW5naW5nXG4gICAgICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UuZmx1c2hSZW5kZXJEYXRhKCFtYXJrTGF5b3V0SWRDaGFuZ2UpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuaW5pdFN1YnNjcmlwdGlvbnMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmNhbGN1bGF0ZVJlbmRlckRhdGEoKTtcbiAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmZsdXNoUmVuZGVyRGF0YSghdGhpcy5tYXJrTGF5b3V0SWRDaGFuZ2UpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICByZWZyZXNoTGF5b3V0KGRhc2hJZENoYW5nZTogYm9vbGVhbikge1xuICAgIHJldHVybiBkYXNoSWRDaGFuZ2VcbiAgICAgID8gdGhpcy5sYXN0TGF5b3V0XG4gICAgICA6IHRoaXMubGFzdExheW91dD8ubWFwKGxheW91dEl0ZW0gPT4gKHtcbiAgICAgICAgICAuLi5sYXlvdXRJdGVtLFxuICAgICAgICAgIC4uLnRoaXMuZ3JpZExheW91dFNlcnZpY2UubGFzdExheW91dD8uZmluZChcbiAgICAgICAgICAgICh7IGlkIH0pID0+IGxheW91dEl0ZW0uaWQgPT09IGlkLFxuICAgICAgICAgICksXG4gICAgICAgIH0pKTtcbiAgfVxuXG4gIGNvbXBhY3RMYXlvdXQoZGFzaElkQ2hhbmdlOiBib29sZWFuKSB7XG4gICAgdGhpcy5sYXN0TGF5b3V0ID0gY29tcGFjdEdyaWRMYXlvdXQoXG4gICAgICB0aGlzLnJlZnJlc2hMYXlvdXQoZGFzaElkQ2hhbmdlKSxcbiAgICAgIHRoaXMuY29tcGFjdFR5cGUsXG4gICAgICB0aGlzLmNvbHMsXG4gICAgKTtcbiAgfVxuXG4gIGdldEl0ZW1SZW5kZXJEYXRhKGl0ZW1JZDogc3RyaW5nKTogR3JpZEl0ZW1SZW5kZXJEYXRhIHtcbiAgICByZXR1cm4gdGhpcy5ncmlkTGF5b3V0U2VydmljZS5ncmlkSXRlbXNSZW5kZXJEYXRhW2l0ZW1JZF07XG4gIH1cblxuICBwcml2YXRlIGluaXRTdWJzY3JpcHRpb25zKCkge1xuICAgIHRoaXMuZ3JpZEl0ZW1zLmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgbWFya0xheW91dElkQ2hhbmdlID0gdGhpcy5tYXJrTGF5b3V0SWRDaGFuZ2U7XG4gICAgICAvLyBuZWVkIHRoaXMgUmFmIHRvIG1ha2UgdGhpcy5sYXN0TGF5b3V0IHRvIGJlIGxhc3RcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubWFya0xheW91dElkQ2hhbmdlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29tcGFjdExheW91dCghbWFya0xheW91dElkQ2hhbmdlKTtcbiAgICAgICAgdGhpcy5ncmlkTGF5b3V0U2VydmljZS5jYWxjdWxhdGVSZW5kZXJEYXRhKCk7XG4gICAgICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UuZmx1c2hSZW5kZXJEYXRhKCFtYXJrTGF5b3V0SWRDaGFuZ2UpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5ncmlkSXRlbXMuY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCksXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLmdyaWRJdGVtcyksXG4gICAgICAgIHN3aXRjaE1hcCgoZ3JpZEl0ZW1zOiBRdWVyeUxpc3Q8R3JpZEl0ZW1Db21wb25lbnQ+KSA9PlxuICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgLi4uZ3JpZEl0ZW1zLm1hcChncmlkSXRlbSA9PlxuICAgICAgICAgICAgICBncmlkSXRlbS5kcmFnU3RhcnQkLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+ICh7XG4gICAgICAgICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgICAgICAgIGdyaWRJdGVtLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ2RyYWcnIGFzIERyYWdBY3Rpb25UeXBlLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAuLi5ncmlkSXRlbXMubWFwKGdyaWRJdGVtID0+XG4gICAgICAgICAgICAgIGdyaWRJdGVtLnJlc2l6ZVN0YXJ0JC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiAoe1xuICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICBncmlkSXRlbSxcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdyZXNpemUnIGFzIERyYWdBY3Rpb25UeXBlLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgZXhoYXVzdE1hcCgoeyBldmVudCwgZ3JpZEl0ZW0sIHR5cGUgfSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT5cbiAgICAgICAgICAgICAgICAodHlwZSA9PT0gJ2RyYWcnID8gdGhpcy5kcmFnU3RhcnRlZCA6IHRoaXMucmVzaXplU3RhcnRlZCkuZW1pdChcbiAgICAgICAgICAgICAgICAgIGdldERyYWdSZXNpemVFdmVudERhdGEoZ3JpZEl0ZW0sIHRoaXMubGFzdExheW91dCksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlQWN0aW9uJChncmlkSXRlbSwgZXZlbnQsIHR5cGUpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGxheW91dCA9PiAoeyBsYXlvdXQsIGdyaWRJdGVtLCB0eXBlIH0pKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh7IGxheW91dCwgZ3JpZEl0ZW0sIHR5cGUgfSkgPT4ge1xuICAgICAgICB0aGlzLmxhc3RMYXlvdXQgPSBsYXlvdXQ7XG4gICAgICAgICh0eXBlID09PSAnZHJhZycgPyB0aGlzLmRyYWdFbmRlZCA6IHRoaXMucmVzaXplRW5kZWQpLmVtaXQoXG4gICAgICAgICAgZ2V0RHJhZ1Jlc2l6ZUV2ZW50RGF0YShncmlkSXRlbSwgbGF5b3V0KSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5sYXlvdXRVcGRhdGVkLmVtaXQobGF5b3V0KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBY3Rpb24kKFxuICAgIGdyaWRJdGVtOiBHcmlkSXRlbUNvbXBvbmVudCxcbiAgICBwb2ludGVyRG93bkV2ZW50OiBNb3VzZUV2ZW50LFxuICAgIHR5cGU6IERyYWdBY3Rpb25UeXBlLFxuICApOiBPYnNlcnZhYmxlPEdyaWRMYXlvdXQ+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8R3JpZExheW91dD4oKG9ic2VydmVyOiBPYnNlcnZlcjxHcmlkTGF5b3V0PikgPT4ge1xuICAgICAgLy8gUmV0cmlldmUgZ3JpZCAocGFyZW50KSBhbmQgZ3JpZEl0ZW0gKGRyYWdnZWRFbGVtKSBjbGllbnQgcmVjdHMuXG4gICAgICBjb25zdCBncmlkRWxlbUNsaWVudFJlY3RTbmFwc2hvdDogR3JpZEl0ZW1DbGllbnRSZWN0ID1cbiAgICAgICAgZ2V0Q2xpZW50UmVjdFNuYXBzaG90KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgIGNvbnN0IGRyYWdFbGVtQ2xpZW50UmVjdFNuYXBzaG90OiBHcmlkSXRlbUNsaWVudFJlY3QgPVxuICAgICAgICBnZXRDbGllbnRSZWN0U25hcHNob3QoZ3JpZEl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcblxuICAgICAgY29uc3Qgc2Nyb2xsYWJsZVBhcmVudCA9XG4gICAgICAgIHR5cGVvZiB0aGlzLnNjcm9sbGFibGVQYXJlbnQgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuc2Nyb2xsYWJsZVBhcmVudClcbiAgICAgICAgICA6IHRoaXMuc2Nyb2xsYWJsZVBhcmVudDtcblxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgZ3JpZEl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnbm8tdHJhbnNpdGlvbnMnLFxuICAgICAgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgIGdyaWRJdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2dyaWQtaXRlbS1kcmFnZ2luZycsXG4gICAgICApO1xuXG4gICAgICBjb25zdCBwbGFjZWhvbGRlckNsaWVudFJlY3Q6IEdyaWRJdGVtQ2xpZW50UmVjdCA9IHtcbiAgICAgICAgLi4uZHJhZ0VsZW1DbGllbnRSZWN0U25hcHNob3QsXG4gICAgICAgIGxlZnQ6IGRyYWdFbGVtQ2xpZW50UmVjdFNuYXBzaG90LmxlZnQgLSBncmlkRWxlbUNsaWVudFJlY3RTbmFwc2hvdC5sZWZ0LFxuICAgICAgICB0b3A6IGRyYWdFbGVtQ2xpZW50UmVjdFNuYXBzaG90LnRvcCAtIGdyaWRFbGVtQ2xpZW50UmVjdFNuYXBzaG90LnRvcCxcbiAgICAgIH07XG4gICAgICB0aGlzLmdyaWRQbGFjZWhvbGRlclNlcnZpY2UuY3JlYXRlUGxhY2Vob2xkZXJFbGVtZW50KFxuICAgICAgICBwbGFjZWhvbGRlckNsaWVudFJlY3QsXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBncmlkSXRlbS5wbGFjZWhvbGRlcixcbiAgICAgICk7XG5cbiAgICAgIGxldCBuZXdMYXlvdXQ6IEdyaWRMYXlvdXRJdGVtW107XG5cbiAgICAgIChzY3JvbGxhYmxlUGFyZW50XG4gICAgICAgID8gZ2V0TW91c2VNb3ZlJCh0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkucGlwZShcbiAgICAgICAgICAgIHJ1bk91dHNpZGVab25lJCh0aGlzLm5nWm9uZSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLFxuICAgICAgICAgICAgc2Nyb2xsSWZOZWFyRWxlbWVudENsaWVudFJlY3QkKHNjcm9sbGFibGVQYXJlbnQsIHtcbiAgICAgICAgICAgICAgc2Nyb2xsU3RlcDogdGhpcy5zY3JvbGxTcGVlZCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIClcbiAgICAgICAgOiBORVZFUlxuICAgICAgKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwoZ2V0TW91c2VFbmQkKHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgIG1lcmdlKFxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICBnZXRNb3VzZU1vdmUkKHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSxcbiAgICAgICAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLnNjcm9sbERpZmZlcmVuY2UkLFxuICAgICAgICBdKSxcbiAgICAgIClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgcnVuT3V0c2lkZVpvbmUkKHRoaXMubmdab25lKSxcbiAgICAgICAgICB0YWtlVW50aWwoZ2V0TW91c2VFbmQkKHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIChbcG9pbnRlckRyYWdFdmVudCwgc2Nyb2xsRGlmZmVyZW5jZV06IFtcbiAgICAgICAgICAgIE1vdXNlRXZlbnQsXG4gICAgICAgICAgICB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSxcbiAgICAgICAgICBdKSA9PiB7XG4gICAgICAgICAgICBwb2ludGVyRHJhZ0V2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBjb25zdCBncmlkSXRlbUlkID0gZ3JpZEl0ZW0uaWQ7XG4gICAgICAgICAgICBjb25zdCB7IGdyaWREYXRhLCBsYXlvdXQgfSA9XG4gICAgICAgICAgICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UubGF5b3V0V2hlbkFjdGlvbihcbiAgICAgICAgICAgICAgICBncmlkSXRlbSxcbiAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHBvaW50ZXJEb3duRXZlbnQsXG4gICAgICAgICAgICAgICAgICBwb2ludGVyRHJhZ0V2ZW50LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2Nyb2xsRGlmZmVyZW5jZSxcbiAgICAgICAgICAgICAgICBkcmFnRWxlbUNsaWVudFJlY3RTbmFwc2hvdCxcbiAgICAgICAgICAgICAgICBncmlkRWxlbUNsaWVudFJlY3RTbmFwc2hvdCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UuZmx1c2hSZW5kZXJEYXRhKCk7XG4gICAgICAgICAgICBuZXdMYXlvdXQgPSBjbG9uZURlZXAobGF5b3V0KTtcblxuICAgICAgICAgICAgY29uc3QgbmV3SXRlbUdyaWREYXRhID0geyAuLi5ncmlkRGF0YVtncmlkSXRlbUlkXSB9O1xuXG4gICAgICAgICAgICAvLyBwdXQgdGhlIGdyaWQgbm9ybWFsaXplIHBvc2l0aW9uIHRvIHRoZSBwbGFjZWhvbGRlciBlbGVtZW50XG4gICAgICAgICAgICB0aGlzLmdyaWRQbGFjZWhvbGRlclNlcnZpY2UudXBkYXRlUGxhY2VIb2xkZXIobmV3SXRlbUdyaWREYXRhKTtcblxuICAgICAgICAgICAgdHlwZSA9PT0gJ3Jlc2l6ZScgJiZcbiAgICAgICAgICAgICAgdGhpcy5ncmlkSXRlbVJlc2l6ZS5lbWl0KHtcbiAgICAgICAgICAgICAgICB3aWR0aDogbmV3SXRlbUdyaWREYXRhLndpZHRoLFxuICAgICAgICAgICAgICAgIGhlaWdodDogbmV3SXRlbUdyaWREYXRhLmhlaWdodCxcbiAgICAgICAgICAgICAgICBncmlkSXRlbVJlZjogZ2V0RHJhZ1Jlc2l6ZUV2ZW50RGF0YShncmlkSXRlbSwgbmV3TGF5b3V0KVxuICAgICAgICAgICAgICAgICAgLmdyaWRJdGVtUmVmLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yID0+IG9ic2VydmVyLmVycm9yKGVycm9yKSxcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKFxuICAgICAgICAgICAgICAgIGdyaWRJdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnbm8tdHJhbnNpdGlvbnMnLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKFxuICAgICAgICAgICAgICAgIGdyaWRJdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnZ3JpZC1pdGVtLWRyYWdnaW5nJyxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgLy8gd2hlbiBhY3Rpb24gaXMgZG9uZSwgdXNlIGFub3RoZXIgcmVsYXlvdXQgdG8gbWFrZSBzdXJlIGV2ZXJ5dGhpbmcgaXMgZmluZVxuICAgICAgICAgICAgICB0aGlzLmNvbXBhY3RMYXlvdXQoZmFsc2UpO1xuICAgICAgICAgICAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmNhbGN1bGF0ZVJlbmRlckRhdGEoKTtcbiAgICAgICAgICAgICAgdGhpcy5ncmlkTGF5b3V0U2VydmljZS5mbHVzaFJlbmRlckRhdGEoKTtcblxuICAgICAgICAgICAgICB0aGlzLmdyaWRQbGFjZWhvbGRlclNlcnZpY2UuZGVzdHJveVBsYWNlaG9sZGVyKCk7XG4gICAgICAgICAgICAgIGlmIChuZXdMYXlvdXQpIHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGNsb25lRGVlcChuZXdMYXlvdXQpIGFzIEdyaWRMYXlvdXQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH0pO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -2,7 +2,7 @@ import { __decorate, __metadata } from "tslib";
|
|
|
2
2
|
import { DOCUMENT } from '@angular/common';
|
|
3
3
|
import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, ElementRef, EventEmitter, Inject, Input, NgZone, Output, QueryList, Renderer2, ViewChild, } from '@angular/core';
|
|
4
4
|
import { NEVER, Observable, startWith, switchMap, merge, iif, exhaustMap, take, map, Subject, takeUntil, filter, distinctUntilChanged, } from 'rxjs';
|
|
5
|
-
import { isEqual, ObservableInput } from '../../../public-api';
|
|
5
|
+
import { isEqual, ObservableInput } from '../../../core/public-api';
|
|
6
6
|
import { GRID_DRAG_HANDLER, } from '../../directives/drag-handler.directive';
|
|
7
7
|
import { GridItemPlaceholderDirective, GRID_ITEM_PLACEHOLDER, } from '../../directives/placeholder.directive';
|
|
8
8
|
import { GRID_REMOVE_HANDLER, } from '../../directives/remove-handler.directive';
|
|
@@ -226,4 +226,4 @@ __decorate([
|
|
|
226
226
|
type: Output
|
|
227
227
|
}] }); })();
|
|
228
228
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(GridItemComponent, { className: "GridItemComponent" }); })();
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2dyaWQtbGF5b3V0L2NvbXBvbmVudHMvZ3JpZC1pdGVtcy9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZ3JpZC1sYXlvdXQvY29tcG9uZW50cy9ncmlkLWl0ZW1zL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLEdBQUcsRUFDSCxVQUFVLEVBQ1YsSUFBSSxFQUNKLEdBQUcsRUFDSCxPQUFPLEVBQ1AsU0FBUyxFQUNULE1BQU0sRUFDTixvQkFBb0IsR0FDckIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFFTCxpQkFBaUIsR0FDbEIsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHFCQUFxQixHQUN0QixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFFTCxtQkFBbUIsR0FDcEIsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBRUwsbUJBQW1CLEdBQ3BCLE1BQU0sMkNBQTJDLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFp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QUFFO1lBSTFDLGFBQWE7a0JBRDdCLGVBQWU7bUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO1lBSTNELFVBQVU7a0JBRFQsU0FBUzttQkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7WUFJM0QsVUFBVTtrQkFEVCxTQUFTO21CQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUkzRCxXQUFXO2tCQURWLFlBQVk7bUJBQUMscUJBQXFCO1lBRzFCLElBQUk7a0JBQVosS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUlOLFVBQVU7a0JBRFQsS0FBSztZQUtOLGtCQUFrQjtrQkFEakIsS0FBSztZQUtOLFNBQVM7a0JBRFIsS0FBSztZQUlOLFVBQVUsTUFJVixTQUFTO2tCQURSLEtBQUs7WUFJTixVQUFVLE1BR1YsU0FBUztrQkFEUixLQUFLO1lBSU4sVUFBVSxNQW1CVixNQUFNO2tCQURMLE1BQU07O2tGQXZFSSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTkVWRVIsXG4gIE9ic2VydmFibGUsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICBtZXJnZSxcbiAgaWlmLFxuICBleGhhdXN0TWFwLFxuICB0YWtlLFxuICBtYXAsXG4gIFN1YmplY3QsXG4gIHRha2VVbnRpbCxcbiAgZmlsdGVyLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGlzRXF1YWwsIE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uLy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHtcbiAgR3JpZERyYWdIYW5kbGVyRGlyZWN0aXZlLFxuICBHUklEX0RSQUdfSEFORExFUixcbn0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9kcmFnLWhhbmRsZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gIEdyaWRJdGVtUGxhY2Vob2xkZXJEaXJlY3RpdmUsXG4gIEdSSURfSVRFTV9QTEFDRUhPTERFUixcbn0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9wbGFjZWhvbGRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgR3JpZFJlbW92ZUhhbmRsZXJEaXJlY3RpdmUsXG4gIEdSSURfUkVNT1ZFX0hBTkRMRVIsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvcmVtb3ZlLWhhbmRsZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gIEdyaWRSZXNpemVIYW5kbGVyRGlyZWN0aXZlLFxuICBHUklEX1JFU0laRV9IQU5ETEVSLFxufSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3Jlc2l6ZS1oYW5kbGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBHcmlkTGF5b3V0U2VydmljZSB9IGZyb20gJy4uLy4uL2dyaWQtbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgcGFyc2VSZW5kZXJJdGVtVG9QaXhlbHMgfSBmcm9tICcuLi8uLi91dGlscy9ncmlkLnV0aWxzJztcbmltcG9ydCB7XG4gIGFjY2Vzc1BvaW50ZXJNb3ZlVGhyZXNob2xkLFxuICBnZXRNb3VzZUNsaWNrJCxcbiAgZ2V0TW91c2VEb3duJCxcbiAgZ2V0TW91c2VFbmQkLFxuICBnZXRNb3VzZU1vdmUkLFxufSBmcm9tICcuLi8uLi91dGlscy9tb3VzZS51dGlscyc7XG5pbXBvcnQgeyBydW5PdXRzaWRlWm9uZSQgfSBmcm9tICcuLi8uLi91dGlscy9vcGVyYXRvcic7XG5cbmNvbnN0IEFOSU1BVElPTl9EVVJBVElPTl9NUyA9IDI1MDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLWdyaWQtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR3JpZEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpXG4gIGlkITogc3RyaW5nO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oR1JJRF9EUkFHX0hBTkRMRVIsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSByZWFkb25seSBkcmFnSGFuZGxlczogUXVlcnlMaXN0PEdyaWREcmFnSGFuZGxlckRpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihHUklEX1JFU0laRV9IQU5ETEVSLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzaXplSGFuZGxlczogUXVlcnlMaXN0PEdyaWRSZXNpemVIYW5kbGVyRGlyZWN0aXZlPjtcblxuICBAQ29udGVudENoaWxkcmVuKEdSSURfUkVNT1ZFX0hBTkRMRVIsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSByZWFkb25seSByZW1vdmVIYW5kbGVzOiBRdWVyeUxpc3Q8R3JpZFJlbW92ZUhhbmRsZXJEaXJlY3RpdmU+O1xuXG4gIEBWaWV3Q2hpbGQoJ3Jlc2l6ZUVsZW0nLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICByZXNpemVFbGVtOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3JlbW92ZUVsZW0nLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICByZW1vdmVFbGVtOiBFbGVtZW50UmVmO1xuXG4gIEBDb250ZW50Q2hpbGQoR1JJRF9JVEVNX1BMQUNFSE9MREVSKVxuICBwbGFjZWhvbGRlcjogR3JpZEl0ZW1QbGFjZWhvbGRlckRpcmVjdGl2ZTtcblxuICBASW5wdXQoKSBtaW5XPzogbnVtYmVyO1xuICBASW5wdXQoKSBtaW5IPzogbnVtYmVyO1xuICBASW5wdXQoKSBtYXhXPzogbnVtYmVyO1xuICBASW5wdXQoKSBtYXhIPzogbnVtYmVyO1xuXG4gIC8qKiBDU1MgdHJhbnNpdGlvbiBzdHlsZSAqL1xuICBASW5wdXQoKVxuICB0cmFuc2l0aW9uID0gYHRyYW5zZm9ybSAke0FOSU1BVElPTl9EVVJBVElPTl9NU31tcyBlYXNlLCB3aWR0aCAke0FOSU1BVElPTl9EVVJBVElPTl9NU31tcyBlYXNlLCBoZWlnaHQgJHtBTklNQVRJT05fRFVSQVRJT05fTVN9bXMgZWFzZWA7XG5cbiAgLyoqIE1pbmltdW0gYW1vdW50IG9mIHBpeGVscyB0aGF0IHRoZSB1c2VyIHNob3VsZCBtb3ZlIGJlZm9yZSBpdCBzdGFydHMgdGhlIGRyYWcgc2VxdWVuY2UuICovXG4gIEBJbnB1dCgpXG4gIGRyYWdTdGFydFRocmVzaG9sZCA9IDA7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgZHJhZ2dhYmxlIG9yIG5vdC4gRGVmYXVsdHMgdG8gdHJ1ZS4gKi9cbiAgQElucHV0KClcbiAgZHJhZ2dhYmxlID0gdHJ1ZTtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgZHJhZ2dhYmxlJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgcmVzaXphYmxlIG9yIG5vdC4gRGVmYXVsdHMgdG8gdHJ1ZS4gKi9cbiAgQElucHV0KClcbiAgcmVzaXphYmxlID0gdHJ1ZTtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcmVzaXphYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBASW5wdXQoKVxuICByZW1vdmFibGUgPSB0cnVlO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICByZW1vdmFibGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkcmFnU3RhcnRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8TW91c2VFdmVudD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXNpemVTdGFydFN1YmplY3QgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50PigpO1xuXG4gIGRyYWdTdGFydCQgPSB0aGlzLmRyYWdTdGFydFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIHJlc2l6ZVN0YXJ0JCA9IHRoaXMucmVzaXplU3RhcnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0U2VydmljZTogR3JpZExheW91dFNlcnZpY2UsXG4gICkge31cblxuICBAT3V0cHV0KClcbiAgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubGF5b3V0U2VydmljZS5ncmlkUmVuZGVySXRlbXNEYXRhJCRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHsgZGF0YSwgYW5pbWF0aW9uIH0pID0+ICh7IGRhdGE6IGRhdGE/Llt0aGlzLmlkXSwgYW5pbWF0aW9uIH0pKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGlzRXF1YWwoYS5kYXRhLCBiLmRhdGEpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHsgZGF0YSwgYW5pbWF0aW9uIH0pID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdHlsZXMocGFyc2VSZW5kZXJJdGVtVG9QaXhlbHMoZGF0YSksIGFuaW1hdGlvbik7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLnNldHVwRHJhZ1N0YXJ0TGlzdGVuZXIoKTtcbiAgICB0aGlzLnNldHVwUmVzaXplU3RhcnRMaXN0ZW5lcigpO1xuICAgIHRoaXMuc2V0dXBSZW1vdmVMaXN0ZW5lcigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBzZXRTdHlsZXMoXG4gICAge1xuICAgICAgdG9wLFxuICAgICAgbGVmdCxcbiAgICAgIHdpZHRoLFxuICAgICAgaGVpZ2h0LFxuICAgIH06IHtcbiAgICAgIHRvcDogc3RyaW5nO1xuICAgICAgbGVmdDogc3RyaW5nO1xuICAgICAgd2lkdGg/OiBzdHJpbmc7XG4gICAgICBoZWlnaHQ/OiBzdHJpbmc7XG4gICAgfSxcbiAgICBhbmltYXRpb246IGJvb2xlYW4sXG4gICkge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICd0cmFuc2Zvcm0nLFxuICAgICAgYHRyYW5zbGF0ZVgoJHtsZWZ0fSkgdHJhbnNsYXRlWSgke3RvcH0pYCxcbiAgICApO1xuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgJ3RyYW5zaXRpb24nLFxuICAgICAgYW5pbWF0aW9uID8gdGhpcy50cmFuc2l0aW9uIDogJ25vbmUnLFxuICAgICk7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgYGJsb2NrYCk7XG4gICAgICBpZiAod2lkdGggIT0gbnVsbCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCB3aWR0aCk7XG4gICAgICB9XG4gICAgICBpZiAoaGVpZ2h0ICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGhlaWdodCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwRHJhZ1N0YXJ0TGlzdGVuZXIoKSB7XG4gICAgY29uc3QgZG9jdW1lbnQgPSB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICB0aGlzLmRyYWdnYWJsZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLFxuICAgICAgICBzdGFydFdpdGgodGhpcy5kcmFnZ2FibGUpLFxuICAgICAgICBzd2l0Y2hNYXAoZHJhZ2dhYmxlID0+IHtcbiAgICAgICAgICBpZiAoIWRyYWdnYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhpcy5kcmFnSGFuZGxlcy5jaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgodGhpcy5kcmFnSGFuZGxlcyksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGRyYWdIYW5kbGVzOiBRdWVyeUxpc3Q8R3JpZERyYWdIYW5kbGVyRGlyZWN0aXZlPikgPT5cbiAgICAgICAgICAgICAgaWlmKFxuICAgICAgICAgICAgICAgICgpID0+IGRyYWdIYW5kbGVzLmxlbmd0aCA+IDAsXG4gICAgICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAuLi5kcmFnSGFuZGxlc1xuICAgICAgICAgICAgICAgICAgICAudG9BcnJheSgpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoZHJhZ0hhbmRsZSA9PlxuICAgICAgICAgICAgICAgICAgICAgIGdldE1vdXNlRG93biQoZHJhZ0hhbmRsZS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgZ2V0TW91c2VEb3duJCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCksXG4gICAgICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgICAgICBleGhhdXN0TWFwKHN0YXJ0RXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgLy8gUHJldmVudCBicm93c2VyIGRlZmF1bHQgZHJhZy9kcm9wIGFjdGlvbiwgd2UgaGFuZGxlIGFsbCBzY2VuZXNcbiAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRFdmVudC50YXJnZXQgJiZcbiAgICAgICAgICAgICAgICAgICAgKHN0YXJ0RXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5kcmFnZ2FibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRFdmVudC50eXBlID09PSAnbW91c2Vkb3duJ1xuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0RXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRFdmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldE1vdXNlTW92ZSQodGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbChnZXRNb3VzZUVuZCQoZG9jdW1lbnQpKSxcbiAgICAgICAgICAgICAgICAgICAgcnVuT3V0c2lkZVpvbmUkKHRoaXMubmdab25lKSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKG1vdmVFdmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgbW92ZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc1BvaW50ZXJNb3ZlVGhyZXNob2xkKFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRFdmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVFdmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZHJhZ1N0YXJ0VGhyZXNob2xkLFxuICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gc3RhcnRFdmVudCksXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5kcmFnU3RhcnRTdWJqZWN0KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBSZW1vdmVMaXN0ZW5lcigpIHtcbiAgICB0aGlzLnJlbW92YWJsZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLFxuICAgICAgICBzdGFydFdpdGgodGhpcy5yZW1vdmFibGUpLFxuICAgICAgICBzd2l0Y2hNYXAocmVtb3ZhYmxlID0+IHtcbiAgICAgICAgICBpZiAoIXJlbW92YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgICAgdGhpcy5yZW1vdmVFbGVtLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICdkaXNwbGF5JyxcbiAgICAgICAgICAgICAgJ25vbmUnLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiBORVZFUjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMucmVtb3ZlSGFuZGxlcy5jaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgodGhpcy5yZW1vdmVIYW5kbGVzKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcChcbiAgICAgICAgICAgICAgKHJlbW92ZUhhbmRsZXM6IFF1ZXJ5TGlzdDxHcmlkUmVtb3ZlSGFuZGxlckRpcmVjdGl2ZT4pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVtb3ZlSGFuZGxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUVsZW0ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXknLFxuICAgICAgICAgICAgICAgICAgICAnbm9uZScsXG4gICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgIC4uLnJlbW92ZUhhbmRsZXNcbiAgICAgICAgICAgICAgICAgICAgICAudG9BcnJheSgpXG4gICAgICAgICAgICAgICAgICAgICAgLm1hcChyZW1vdmVIYW5kbGUgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGdldE1vdXNlQ2xpY2skKHJlbW92ZUhhbmRsZS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpLFxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVFbGVtLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAnZGlzcGxheScsXG4gICAgICAgICAgICAgICAgICAnYmxvY2snLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldE1vdXNlRG93biQodGhpcy5yZW1vdmVFbGVtLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZXZ0ID0+IHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucmVtb3ZlLmVtaXQodGhpcy5pZCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBSZXNpemVTdGFydExpc3RlbmVyKCkge1xuICAgIHRoaXMucmVzaXphYmxlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCksXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLnJlc2l6YWJsZSksXG4gICAgICAgIHN3aXRjaE1hcChyZXNpemFibGUgPT4ge1xuICAgICAgICAgIGlmICghcmVzaXphYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgICAgICB0aGlzLnJlc2l6ZUVsZW0ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgJ2Rpc3BsYXknLFxuICAgICAgICAgICAgICAnbm9uZScsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhpcy5yZXNpemVIYW5kbGVzLmNoYW5nZXMucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLnJlc2l6ZUhhbmRsZXMpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKFxuICAgICAgICAgICAgICAocmVzaXplSGFuZGxlczogUXVlcnlMaXN0PEdyaWRSZXNpemVIYW5kbGVyRGlyZWN0aXZlPikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXNpemVIYW5kbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzaXplRWxlbS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAnZGlzcGxheScsXG4gICAgICAgICAgICAgICAgICAgICdub25lJyxcbiAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgLi4ucmVzaXplSGFuZGxlc1xuICAgICAgICAgICAgICAgICAgICAgIC50b0FycmF5KClcbiAgICAgICAgICAgICAgICAgICAgICAubWFwKHJlc2l6ZUhhbmRsZSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TW91c2VEb3duJChyZXNpemVIYW5kbGUuZWxlbWVudC5uYXRpdmVFbGVtZW50KSxcbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgICAgICAgIHRoaXMucmVzaXplRWxlbS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXknLFxuICAgICAgICAgICAgICAgICAgJ2Jsb2NrJyxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXRNb3VzZURvd24kKHRoaXMucmVzaXplRWxlbS5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMucmVzaXplU3RhcnRTdWJqZWN0KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPGRpdlxuICAjcmVzaXplRWxlbVxuICBjbGFzcz1cImdyaWQtaXRlbS1kZWZhdWx0LXJlc2l6ZS1pY29uXCJcbj48L2Rpdj5cbjxkaXZcbiAgI3JlbW92ZUVsZW1cbiAgY2xhc3M9XCJncmlkLWl0ZW0tZGVmYXVsdC1yZW1vdmVcIlxuPlxuICA8YXVpLWljb24gaWNvbj1cInhtYXJrXCI+PC9hdWktaWNvbj5cbjwvZGl2PlxuIl19
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2dyaWQtbGF5b3V0L2NvbXBvbmVudHMvZ3JpZC1pdGVtcy9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZ3JpZC1sYXlvdXQvY29tcG9uZW50cy9ncmlkLWl0ZW1zL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLEdBQUcsRUFDSCxVQUFVLEVBQ1YsSUFBSSxFQUNKLEdBQUcsRUFDSCxPQUFPLEVBQ1AsU0FBUyxFQUNULE1BQU0sRUFDTixvQkFBb0IsR0FDckIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFFTCxpQkFBaUIsR0FDbEIsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHFCQUFxQixHQUN0QixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFFTCxtQkFBbUIsR0FDcEIsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBRUwsbUJBQW1CLEdBQ3BCLE1BQU0sMkNBQTJDLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFp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QUFFO1lBSTFDLGFBQWE7a0JBRDdCLGVBQWU7bUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO1lBSTNELFVBQVU7a0JBRFQsU0FBUzttQkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7WUFJM0QsVUFBVTtrQkFEVCxTQUFTO21CQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUkzRCxXQUFXO2tCQURWLFlBQVk7bUJBQUMscUJBQXFCO1lBRzFCLElBQUk7a0JBQVosS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUlOLFVBQVU7a0JBRFQsS0FBSztZQU1OLGtCQUFrQjtrQkFEakIsS0FBSztZQUtOLFNBQVM7a0JBRFIsS0FBSztZQUlOLFVBQVUsTUFJVixTQUFTO2tCQURSLEtBQUs7WUFJTixVQUFVLE1BR1YsU0FBUztrQkFEUixLQUFLO1lBSU4sVUFBVSxNQW1CVixNQUFNO2tCQURMLE1BQU07O2tGQXhFSSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTkVWRVIsXG4gIE9ic2VydmFibGUsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICBtZXJnZSxcbiAgaWlmLFxuICBleGhhdXN0TWFwLFxuICB0YWtlLFxuICBtYXAsXG4gIFN1YmplY3QsXG4gIHRha2VVbnRpbCxcbiAgZmlsdGVyLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGlzRXF1YWwsIE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBHcmlkRHJhZ0hhbmRsZXJEaXJlY3RpdmUsXG4gIEdSSURfRFJBR19IQU5ETEVSLFxufSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2RyYWctaGFuZGxlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgR3JpZEl0ZW1QbGFjZWhvbGRlckRpcmVjdGl2ZSxcbiAgR1JJRF9JVEVNX1BMQUNFSE9MREVSLFxufSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3BsYWNlaG9sZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBHcmlkUmVtb3ZlSGFuZGxlckRpcmVjdGl2ZSxcbiAgR1JJRF9SRU1PVkVfSEFORExFUixcbn0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9yZW1vdmUtaGFuZGxlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgR3JpZFJlc2l6ZUhhbmRsZXJEaXJlY3RpdmUsXG4gIEdSSURfUkVTSVpFX0hBTkRMRVIsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvcmVzaXplLWhhbmRsZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEdyaWRMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZ3JpZC1sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQgeyBwYXJzZVJlbmRlckl0ZW1Ub1BpeGVscyB9IGZyb20gJy4uLy4uL3V0aWxzL2dyaWQudXRpbHMnO1xuaW1wb3J0IHtcbiAgYWNjZXNzUG9pbnRlck1vdmVUaHJlc2hvbGQsXG4gIGdldE1vdXNlQ2xpY2skLFxuICBnZXRNb3VzZURvd24kLFxuICBnZXRNb3VzZUVuZCQsXG4gIGdldE1vdXNlTW92ZSQsXG59IGZyb20gJy4uLy4uL3V0aWxzL21vdXNlLnV0aWxzJztcbmltcG9ydCB7IHJ1bk91dHNpZGVab25lJCB9IGZyb20gJy4uLy4uL3V0aWxzL29wZXJhdG9yJztcblxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX01TID0gMjUwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtZ3JpZC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHcmlkSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KClcbiAgaWQhOiBzdHJpbmc7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihHUklEX0RSQUdfSEFORExFUiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIHJlYWRvbmx5IGRyYWdIYW5kbGVzOiBRdWVyeUxpc3Q8R3JpZERyYWdIYW5kbGVyRGlyZWN0aXZlPjtcblxuICBAQ29udGVudENoaWxkcmVuKEdSSURfUkVTSVpFX0hBTkRMRVIsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSByZWFkb25seSByZXNpemVIYW5kbGVzOiBRdWVyeUxpc3Q8R3JpZFJlc2l6ZUhhbmRsZXJEaXJlY3RpdmU+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oR1JJRF9SRU1PVkVfSEFORExFUiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIHJlYWRvbmx5IHJlbW92ZUhhbmRsZXM6IFF1ZXJ5TGlzdDxHcmlkUmVtb3ZlSGFuZGxlckRpcmVjdGl2ZT47XG5cbiAgQFZpZXdDaGlsZCgncmVzaXplRWxlbScsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHJlc2l6ZUVsZW06IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgncmVtb3ZlRWxlbScsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHJlbW92ZUVsZW06IEVsZW1lbnRSZWY7XG5cbiAgQENvbnRlbnRDaGlsZChHUklEX0lURU1fUExBQ0VIT0xERVIpXG4gIHBsYWNlaG9sZGVyOiBHcmlkSXRlbVBsYWNlaG9sZGVyRGlyZWN0aXZlO1xuXG4gIEBJbnB1dCgpIG1pblc/OiBudW1iZXI7XG4gIEBJbnB1dCgpIG1pbkg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heFc/OiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heEg/OiBudW1iZXI7XG5cbiAgLyoqIENTUyB0cmFuc2l0aW9uIHN0eWxlICovXG4gIEBJbnB1dCgpXG4gIHRyYW5zaXRpb24gPVxuICAgIGB0cmFuc2Zvcm0gJHtBTklNQVRJT05fRFVSQVRJT05fTVN9bXMgZWFzZSwgd2lkdGggJHtBTklNQVRJT05fRFVSQVRJT05fTVN9bXMgZWFzZSwgaGVpZ2h0ICR7QU5JTUFUSU9OX0RVUkFUSU9OX01TfW1zIGVhc2VgO1xuXG4gIC8qKiBNaW5pbXVtIGFtb3VudCBvZiBwaXhlbHMgdGhhdCB0aGUgdXNlciBzaG91bGQgbW92ZSBiZWZvcmUgaXQgc3RhcnRzIHRoZSBkcmFnIHNlcXVlbmNlLiAqL1xuICBASW5wdXQoKVxuICBkcmFnU3RhcnRUaHJlc2hvbGQgPSAwO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBpdGVtIGlzIGRyYWdnYWJsZSBvciBub3QuIERlZmF1bHRzIHRvIHRydWUuICovXG4gIEBJbnB1dCgpXG4gIGRyYWdnYWJsZSA9IHRydWU7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGRyYWdnYWJsZSQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBpdGVtIGlzIHJlc2l6YWJsZSBvciBub3QuIERlZmF1bHRzIHRvIHRydWUuICovXG4gIEBJbnB1dCgpXG4gIHJlc2l6YWJsZSA9IHRydWU7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIHJlc2l6YWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgQElucHV0KClcbiAgcmVtb3ZhYmxlID0gdHJ1ZTtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcmVtb3ZhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZHJhZ1N0YXJ0U3ViamVjdCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzaXplU3RhcnRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8TW91c2VFdmVudD4oKTtcblxuICBkcmFnU3RhcnQkID0gdGhpcy5kcmFnU3RhcnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICByZXNpemVTdGFydCQgPSB0aGlzLnJlc2l6ZVN0YXJ0U3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxheW91dFNlcnZpY2U6IEdyaWRMYXlvdXRTZXJ2aWNlLFxuICApIHt9XG5cbiAgQE91dHB1dCgpXG4gIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxheW91dFNlcnZpY2UuZ3JpZFJlbmRlckl0ZW1zRGF0YSQkXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh7IGRhdGEsIGFuaW1hdGlvbiB9KSA9PiAoeyBkYXRhOiBkYXRhPy5bdGhpcy5pZF0sIGFuaW1hdGlvbiB9KSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBpc0VxdWFsKGEuZGF0YSwgYi5kYXRhKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh7IGRhdGEsIGFuaW1hdGlvbiB9KSA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3R5bGVzKHBhcnNlUmVuZGVySXRlbVRvUGl4ZWxzKGRhdGEpLCBhbmltYXRpb24pO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5zZXR1cERyYWdTdGFydExpc3RlbmVyKCk7XG4gICAgdGhpcy5zZXR1cFJlc2l6ZVN0YXJ0TGlzdGVuZXIoKTtcbiAgICB0aGlzLnNldHVwUmVtb3ZlTGlzdGVuZXIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc2V0U3R5bGVzKFxuICAgIHtcbiAgICAgIHRvcCxcbiAgICAgIGxlZnQsXG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICB9OiB7XG4gICAgICB0b3A6IHN0cmluZztcbiAgICAgIGxlZnQ6IHN0cmluZztcbiAgICAgIHdpZHRoPzogc3RyaW5nO1xuICAgICAgaGVpZ2h0Pzogc3RyaW5nO1xuICAgIH0sXG4gICAgYW5pbWF0aW9uOiBib29sZWFuLFxuICApIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAndHJhbnNmb3JtJyxcbiAgICAgIGB0cmFuc2xhdGVYKCR7bGVmdH0pIHRyYW5zbGF0ZVkoJHt0b3B9KWAsXG4gICAgKTtcblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICd0cmFuc2l0aW9uJyxcbiAgICAgIGFuaW1hdGlvbiA/IHRoaXMudHJhbnNpdGlvbiA6ICdub25lJyxcbiAgICApO1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsIGBibG9ja2ApO1xuICAgICAgaWYgKHdpZHRoICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgd2lkdGgpO1xuICAgICAgfVxuICAgICAgaWYgKGhlaWdodCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBoZWlnaHQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cERyYWdTdGFydExpc3RlbmVyKCkge1xuICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgdGhpcy5kcmFnZ2FibGUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuZHJhZ2dhYmxlKSxcbiAgICAgICAgc3dpdGNoTWFwKGRyYWdnYWJsZSA9PiB7XG4gICAgICAgICAgaWYgKCFkcmFnZ2FibGUpIHtcbiAgICAgICAgICAgIHJldHVybiBORVZFUjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZHJhZ0hhbmRsZXMuY2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZHJhZ0hhbmRsZXMpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChkcmFnSGFuZGxlczogUXVlcnlMaXN0PEdyaWREcmFnSGFuZGxlckRpcmVjdGl2ZT4pID0+XG4gICAgICAgICAgICAgIGlpZihcbiAgICAgICAgICAgICAgICAoKSA9PiBkcmFnSGFuZGxlcy5sZW5ndGggPiAwLFxuICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgLi4uZHJhZ0hhbmRsZXNcbiAgICAgICAgICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgICAubWFwKGRyYWdIYW5kbGUgPT5cbiAgICAgICAgICAgICAgICAgICAgICBnZXRNb3VzZURvd24kKGRyYWdIYW5kbGUuZWxlbWVudC5uYXRpdmVFbGVtZW50KSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGdldE1vdXNlRG93biQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLFxuICAgICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgICAgZXhoYXVzdE1hcChzdGFydEV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgIC8vIFByZXZlbnQgYnJvd3NlciBkZWZhdWx0IGRyYWcvZHJvcCBhY3Rpb24sIHdlIGhhbmRsZSBhbGwgc2NlbmVzXG4gICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0RXZlbnQudGFyZ2V0ICYmXG4gICAgICAgICAgICAgICAgICAgIChzdGFydEV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuZHJhZ2dhYmxlICYmXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0RXZlbnQudHlwZSA9PT0gJ21vdXNlZG93bidcbiAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBzdGFydEV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0RXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRNb3VzZU1vdmUkKHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwoZ2V0TW91c2VFbmQkKGRvY3VtZW50KSksXG4gICAgICAgICAgICAgICAgICAgIHJ1bk91dHNpZGVab25lJCh0aGlzLm5nWm9uZSksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihtb3ZlRXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIG1vdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2Nlc3NQb2ludGVyTW92ZVRocmVzaG9sZChcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0RXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlRXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyYWdTdGFydFRocmVzaG9sZCxcbiAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IHN0YXJ0RXZlbnQpLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuZHJhZ1N0YXJ0U3ViamVjdCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwUmVtb3ZlTGlzdGVuZXIoKSB7XG4gICAgdGhpcy5yZW1vdmFibGUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMucmVtb3ZhYmxlKSxcbiAgICAgICAgc3dpdGNoTWFwKHJlbW92YWJsZSA9PiB7XG4gICAgICAgICAgaWYgKCFyZW1vdmFibGUpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgICAgIHRoaXMucmVtb3ZlRWxlbS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAnZGlzcGxheScsXG4gICAgICAgICAgICAgICdub25lJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0aGlzLnJlbW92ZUhhbmRsZXMuY2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMucmVtb3ZlSGFuZGxlcyksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoXG4gICAgICAgICAgICAgIChyZW1vdmVIYW5kbGVzOiBRdWVyeUxpc3Q8R3JpZFJlbW92ZUhhbmRsZXJEaXJlY3RpdmU+KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlbW92ZUhhbmRsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVFbGVtLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICdkaXNwbGF5JyxcbiAgICAgICAgICAgICAgICAgICAgJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAuLi5yZW1vdmVIYW5kbGVzXG4gICAgICAgICAgICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgICAgIC5tYXAocmVtb3ZlSGFuZGxlID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRNb3VzZUNsaWNrJChyZW1vdmVIYW5kbGUuZWxlbWVudC5uYXRpdmVFbGVtZW50KSxcbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlRWxlbS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXknLFxuICAgICAgICAgICAgICAgICAgJ2Jsb2NrJyxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXRNb3VzZURvd24kKHRoaXMucmVtb3ZlRWxlbS5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGV2dCA9PiB7XG4gICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnJlbW92ZS5lbWl0KHRoaXMuaWQpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwUmVzaXplU3RhcnRMaXN0ZW5lcigpIHtcbiAgICB0aGlzLnJlc2l6YWJsZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLFxuICAgICAgICBzdGFydFdpdGgodGhpcy5yZXNpemFibGUpLFxuICAgICAgICBzd2l0Y2hNYXAocmVzaXphYmxlID0+IHtcbiAgICAgICAgICBpZiAoIXJlc2l6YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgICAgdGhpcy5yZXNpemVFbGVtLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICdkaXNwbGF5JyxcbiAgICAgICAgICAgICAgJ25vbmUnLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiBORVZFUjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMucmVzaXplSGFuZGxlcy5jaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgodGhpcy5yZXNpemVIYW5kbGVzKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcChcbiAgICAgICAgICAgICAgKHJlc2l6ZUhhbmRsZXM6IFF1ZXJ5TGlzdDxHcmlkUmVzaXplSGFuZGxlckRpcmVjdGl2ZT4pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzaXplSGFuZGxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZUVsZW0ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXknLFxuICAgICAgICAgICAgICAgICAgICAnbm9uZScsXG4gICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgIC4uLnJlc2l6ZUhhbmRsZXNcbiAgICAgICAgICAgICAgICAgICAgICAudG9BcnJheSgpXG4gICAgICAgICAgICAgICAgICAgICAgLm1hcChyZXNpemVIYW5kbGUgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGdldE1vdXNlRG93biQocmVzaXplSGFuZGxlLmVsZW1lbnQubmF0aXZlRWxlbWVudCksXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZUVsZW0ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICdkaXNwbGF5JyxcbiAgICAgICAgICAgICAgICAgICdibG9jaycsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0TW91c2VEb3duJCh0aGlzLnJlc2l6ZUVsZW0ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLnJlc2l6ZVN0YXJ0U3ViamVjdCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxkaXZcbiAgI3Jlc2l6ZUVsZW1cbiAgY2xhc3M9XCJncmlkLWl0ZW0tZGVmYXVsdC1yZXNpemUtaWNvblwiXG4+PC9kaXY+XG48ZGl2XG4gICNyZW1vdmVFbGVtXG4gIGNsYXNzPVwiZ3JpZC1pdGVtLWRlZmF1bHQtcmVtb3ZlXCJcbj5cbiAgPGF1aS1pY29uIGljb249XCJ4bWFya1wiPjwvYXVpLWljb24+XG48L2Rpdj5cbiJdfQ==
|