@tiba-spark/client-shared-lib 26.3.0-195 → 26.3.0-203
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/esm2022/libraries/enums/core-entities.enum.mjs +5 -1
- package/esm2022/libraries/enums/device-activity-mode.enum.mjs +5 -1
- package/esm2022/libraries/guards/sub-module-guard.mjs +8 -2
- package/esm2022/libraries/pipes/device-pipes/access-mode-icon.pipe.mjs +15 -0
- package/esm2022/libraries/pipes/device-pipes/device-pipe.module.mjs +8 -3
- package/esm2022/libraries/pipes/device-pipes/index.mjs +2 -1
- package/esm2022/libraries/services/menu.service.mjs +22 -6
- package/fesm2022/tiba-spark-client-shared-lib.mjs +55 -9
- package/fesm2022/tiba-spark-client-shared-lib.mjs.map +1 -1
- package/libraries/enums/core-entities.enum.d.ts.map +1 -1
- package/libraries/enums/device-activity-mode.enum.d.ts +1 -0
- package/libraries/enums/device-activity-mode.enum.d.ts.map +1 -1
- package/libraries/guards/sub-module-guard.d.ts.map +1 -1
- package/libraries/pipes/device-pipes/access-mode-icon.pipe.d.ts +10 -0
- package/libraries/pipes/device-pipes/access-mode-icon.pipe.d.ts.map +1 -0
- package/libraries/pipes/device-pipes/device-pipe.module.d.ts +5 -4
- package/libraries/pipes/device-pipes/device-pipe.module.d.ts.map +1 -1
- package/libraries/pipes/device-pipes/index.d.ts +1 -0
- package/libraries/pipes/device-pipes/index.d.ts.map +1 -1
- package/libraries/services/menu.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -115,9 +115,13 @@ export const CoreEntities = [
|
|
|
115
115
|
{ key: 'ScanToPay', value: 'scan_to_pay_entity' },
|
|
116
116
|
{ key: 'Offers', value: 'offer_entity' },
|
|
117
117
|
{ key: 'OfferDates', value: 'offer_date_entity' },
|
|
118
|
+
// Keys are the [Table] names of the Monthly/Guest lookup entities edited from the Advanced tab.
|
|
119
|
+
{ key: 'M_Category', value: 'category' },
|
|
120
|
+
{ key: 'M_Groups', value: 'group' },
|
|
121
|
+
{ key: 'M_JobTitle', value: 'job_title' },
|
|
118
122
|
];
|
|
119
123
|
export const FlattenedCoreEntities = [...flattenByKey(CoreEntities, 'children')].reduce((allEntities, ce) => {
|
|
120
124
|
allEntities.set(ce.key, ce.value);
|
|
121
125
|
return allEntities;
|
|
122
126
|
}, new Map([]));
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1lbnRpdGllcy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9lbnVtcy9jb3JlLWVudGl0aWVzLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBT3BELDZEQUE2RDtBQUM3RCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWlDO0lBQ3hEO1FBQ0UsR0FBRyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtZQUM1QyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFO1lBQ3ZELEVBQUUsR0FBRyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBRTtZQUM3RSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO1lBQ2pELEVBQUUsR0FBRyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxpQ0FBaUMsRUFBRTtZQUMxRSxFQUFFLEdBQUcsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsa0NBQWtDLEVBQUU7WUFDNUUsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLDhCQUE4QixFQUFFO1lBQ3BFLEVBQUUsR0FBRyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxrQ0FBa0MsRUFBRTtZQUM1RSxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsNkJBQTZCLEVBQUU7WUFDbEUsRUFBRSxHQUFHLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLGdDQUFnQyxFQUFFO1lBQ3hFLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUU7WUFDeEQsRUFBRSxHQUFHLEVBQUUsV0FBVyxF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QUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS2V5VmFsdWVPYmogfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9rZXktdmFsdWUtb2JqLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgZmxhdHRlbkJ5S2V5IH0gZnJvbSBcIi4uL3V0aWxzL2hlbHBlci51dGlsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29yZUVudGl0aWVzT3B0aW9uPFQ+IGV4dGVuZHMgS2V5VmFsdWVPYmo8VD4ge1xuICBwYXJlbnRLZXk/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogQ29yZUVudGl0aWVzT3B0aW9uPFQ+W107XG59XG5cbi8vIFRoaXMgZGF0YSBzdHJ1Y3R1cmUgaXMgb3JkZXJlZCBieSB0aGUgdHJhbnNsYXRlZCB2YWx1ZSBBU0NcbmV4cG9ydCBjb25zdCBDb3JlRW50aXRpZXM6IENvcmVFbnRpdGllc09wdGlvbjxzdHJpbmc+W10gPSBbXG4gIHtcbiAgICBrZXk6ICdDb21tYW5kcycsIHZhbHVlOiAnY29tbWFuZHMnLCBjaGlsZHJlbjogW1xuICAgICAgeyBrZXk6ICdBdHRhY2hUaWNrZXQnLCB2YWx1ZTogJ2F0dGFjaF90aWNrZXRfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnQ2hhbmdlRGV2aWNlQWNjZXNzTW9kZScsIHZhbHVlOiAnY2hhbmdlX2RldmljZV9hY2Nlc3NfbW9kZV9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdDbG9zZUdhdGUnLCB2YWx1ZTogJ2Nsb3NlX2dhdGVfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnQ2xvc2VHYXRlQ29udGludW91c2x5JywgdmFsdWU6ICdjbG9zZV9nYXRlX2NvbnRpbnVvdXNseV9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdEZWxldGVSZW1vdGVWYWxpZGF0aW9uJywgdmFsdWU6ICdkZWxldGVfcmVtb3RlX3ZhbGlkYXRpb25fY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnRGVsaXZlckJ1bmRsZUJpbGxzJywgdmFsdWU6ICdkZWxpdmVyX2J1bmRsZV9iaWxsc19jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdJbnNlcnRSZW1vdGVWYWxpZGF0aW9uJywgdmFsdWU6ICdpbnNlcnRfcmVtb3RlX3ZhbGlkYXRpb25fY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnRWplY3RKYW1tZWRUaWNrZXQnLCB2YWx1ZTogJ2VqZWN0X2phbW1lZF90aWNrZXRfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnRW5hYmxlUmVwcmludFJlY2VpcHQnLCB2YWx1ZTogJ2VuYWJsZV9yZXByaW50X3JlY2VpcHRfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnR2V0VGlja2V0RmVlJywgdmFsdWU6ICdnZXRfdGlja2V0X2ZlZV9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdIb2xkUmVsYXknLCB2YWx1ZTogJ2hvbGRfcmVsYXlfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnTG9ja0Nhc2hSZWdpc3RlcicsIHZhbHVlOiAnbG9ja19jYXNoX3JlZ2lzdGVyX2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ01hbnVhbGx5Q2xvc2VUaWNrZXQnLCB2YWx1ZTogJ21hbnVhbGx5X2Nsb3NlX3RpY2tldF9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdPcGVuR2F0ZUNvbnRpbnVvdXNseScsIHZhbHVlOiAnb3Blbl9nYXRlX2NvbnRpbnVvdXNseV9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdPcGVuUmVsYXknLCB2YWx1ZTogJ29wZW5fcmVsYXlfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnUHJpbnRUaWNrZXQnLCB2YWx1ZTogJ3ByaW50X3RpY2tldF9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdSZXNldEJpbGxEaXNwZW5zZXInLCB2YWx1ZTogJ3Jlc2V0X2JpbGxfZGlzcGVuc2VyX2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ1Jlc2V0RGV2aWNlQWNjZXNzTW9kZScsIHZhbHVlOiAncmVzZXRfZGV2aWNlX2FjY2Vzc19tb2RlX2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ1Jlc3RhcnREZXZpY2UnLCB2YWx1ZTogJ3Jlc3RhcnRfZGV2aWNlX2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ1Jlc3RvcmVSZW1vdGVWYWxpZGF0aW9uJywgdmFsdWU6ICdyZXN0b3JlX3JlbW90ZV92YWxpZGF0aW9uX2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ1Jlc3RvcmVUaWNrZXQnLCB2YWx1ZTogJ3Jlc3RvcmVfdGlja2V0X2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ0luc2VydFZpcnR1YWxUaWNrZXQnLCB2YWx1ZTogJ2luc2VydF92aXJ0dWFsX3RpY2tldF9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdTZXRQcmljZScsIHZhbHVlOiAnc2V0X3ByaWNlX2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ1NldFJhdGUnLCB2YWx1ZTogJ3NldF9yYXRlX2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ1N3YWxsb3dKYW1tZWRUaWNrZXQnLCB2YWx1ZTogJ3N3YWxsb3dfamFtbWVkX3RpY2tldF9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdUcmlnZ2VyTFBSTW9kdWxlJywgdmFsdWU6ICd0cmlnZ2VyX2xwcm1vZHVsZV9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdVbmxvY2tEb29yJywgdmFsdWU6ICd1bmxvY2tfZG9vcl9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdVcGRhdGVMb2NhdGlvbicsIHZhbHVlOiAndXBkYXRlX2xvY2F0aW9uX2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ1VwZGF0ZU9jY3VwYW5jeScsIHZhbHVlOiAndXBkYXRlX29jY3VwYW5jeV9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdVcGRhdGVSZW1vdGVWYWxpZGF0aW9uJywgdmFsdWU6ICd1cGRhdGVfcmVtb3RlX3ZhbGlkYXRpb25fY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnVXBkYXRlVGlja2V0UGF5bWVudCcsIHZhbHVlOiAndXBkYXRlX3RpY2tldF9wYXltZW50X2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ1VwZGF0ZVRvdGFsT2NjdXBhbmN5JywgdmFsdWU6ICd1cGRhdGVfdG90YWxfb2NjdXBhbmN5X2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ1VwZGF0ZVpvbmVPY2N1cGFuY3knLCB2YWx1ZTogJ3VwZGF0ZV96b25lX29jY3VwYW5jeV9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdWYWxpZGF0ZScsIHZhbHVlOiAndmFsaWRhdGVfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnVmVuZEdhdGUnLCB2YWx1ZTogJ3ZlbmRfZ2F0ZV9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdDbG9zZVRpY2tldEZvcklTRicsIHZhbHVlOiAnY2xvc2VfdGlja2V0X2Zvcl9pc2YnIH0sXG4gICAgICB7IGtleTogJ1BheW1lbnRGb3JJU0YnLCB2YWx1ZTogJ3NlbmRfaXNmX3ByaWNlJyB9LFxuICAgICAgeyBrZXk6ICdTZW5kS2V5T3B0aW9ucycsIHZhbHVlOiAnaW1tZWRpYXRlX2tleXMnIH0sXG4gICAgICB7IGtleTogJ1NlbmRQYXJhbWV0ZXJzJywgdmFsdWU6ICdzZW5kX3BhcmFtZXRlcnMnIH0sXG4gICAgICB7IGtleTogJ0Nsb3NlUGF5bWVudFNjcmVlbicsIHZhbHVlOiAnY2xvc2VfcGF5bWVudF9zY3JlZW4nIH0sXG4gICAgICB7IGtleTogJ1Jlc3RhcnRTbWFydHBhcmsnLCB2YWx1ZTogJ3Jlc3RhcnRfc21hcnRwYXJrJyB9LFxuICAgICAgeyBrZXk6ICdTZW5kUmF0ZUltYWdlcycsIHZhbHVlOiAnc2VuZF9yYXRlX2ltYWdlcycgfSxcbiAgICAgIHsga2V5OiAnU2VuZExvdFNldHVwJywgdmFsdWU6ICdzZW5kX2xvdF9zZXR1cCcgfSxcbiAgICAgIHsga2V5OiAnU2VuZFN1cmNoYXJnZScsIHZhbHVlOiAnc2VuZF9zdXJjaGFyZ2UnIH0sXG4gICAgICB7IGtleTogJ0NyZWF0ZVFyT25UaWNrZXQnLCB2YWx1ZTogJ3NjYW5fdG9fcGF5X3FyJyB9LFxuICAgICAgeyBrZXk6ICdEZXZpY2VCcmlkZ2VTZXNzaW9uJywgdmFsdWU6ICdkZXZpY2VfYnJpZGdlX3Nlc3Npb25fY29tbWFuZCcgfSxcbiAgICBdXG4gIH0sXG4gIHtcbiAgICBrZXk6ICdGYWNpbGl0eUNvbW1hbmRzJywgdmFsdWU6ICdmYWNpbGl0eV9jb21tYW5kcycsIGNoaWxkcmVuOiBbXG4gICAgICB7IGtleTogJ01hbnVhbGx5UnVuWicsIHZhbHVlOiAnZmFjaWxpdHlfcmVtb3RlX2NvbW1hbmRfbWFudWFsbHlfcnVuX3onIH0sXG4gICAgICB7IGtleTogJ1VwZGF0ZVNldHRpbmdzJywgdmFsdWU6ICdmYWNpbGl0eV9yZW1vdGVfY29tbWFuZF91cGRhdGVfc2V0dGluZ3MnIH0sXG4gICAgICB7IGtleTogJ1NldEFjdGl2ZVJhdGUnLCB2YWx1ZTogJ2ZhY2lsaXR5X3JlbW90ZV9jb21tYW5kX3NldF9hY3RpdmVfcmF0ZScgfSxcbiAgICAgIHsga2V5OiAnVXBkYXRlTUNEYXRlVGltZScsIHZhbHVlOiAnZmFjaWxpdHlfcmVtb3RlX2NvbW1hbmRfdXBkYXRlX2RhdGVfYW5kX3RpbWUnIH0sXG4gICAgICB7IGtleTogJ1J1bk1hY3JvJywgdmFsdWU6ICdmYWNpbGl0eV9yZW1vdGVfY29tbWFuZF9ydW5fbWFjcm8nIH0sXG4gICAgICB7IGtleTogJ1RyYW5zbWl0U3BlY2lhbERheXMnLCB2YWx1ZTogJ2ZhY2lsaXR5X3JlbW90ZV9jb21tYW5kX3RyYW5zbWl0X3NwZWNpYWxfZGF5cycgfSxcbiAgICBdXG4gIH0sXG4gIHsga2V5OiAnTFBSX0JsYWNrTGlzdCcsIHZhbHVlOiAncmVzdHJpY3RfY2FyX2VudGl0eScgfSxcbiAgeyBrZXk6ICdDYXNoaWVycycsIHZhbHVlOiAnY2FzaGllcnNfbWFuYWdlbWVudCcgfSxcbiAgeyBrZXk6ICdDYXJfTW9kZWxzJywgdmFsdWU6ICdtb2RlbHMnIH0sXG4gIHsga2V5OiAnQ2FyX0NvbG9ycycsIHZhbHVlOiAnY29sb3JzJyB9LFxuICB7IGtleTogJ1BfQ29tcGFueVN0aWNrZXJzX0NvdXBvbnMnLCB2YWx1ZTogJ2NvbXBhbnlfc3RpY2tlcl9jb3Vwb25zX2VudGl0eScgfSxcbiAgeyBrZXk6ICdHX0d1ZXN0cycsIHZhbHVlOiAnZ3Vlc3RzX2VudGl0eScgfSxcbiAgeyBrZXk6ICdIb3RlbEd1ZXN0JywgdmFsdWU6ICdob3RlbF9ndWVzdCcgfSxcbiAgeyBrZXk6ICdQX0RldmljZV9TY2hlZCcsIHZhbHVlOiAnZGV2aWNlX3NjaGVkX2VudGl0eScgfSxcbiAgeyBrZXk6ICdHX0JhdGNoJywgdmFsdWU6ICdndWVzdF9iYXRjaCcgfSxcbiAgeyBrZXk6ICdNX1N1YnNjcmliZXJzJywgdmFsdWU6ICdtb250aGx5X2VudGl0eScgfSxcbiAgeyBrZXk6ICdQcmVQYXlLZXlTY2hlZCcsIHZhbHVlOiAncHJlcGFpZF9rZXlfZW50aXR5JyB9LFxuICB7IGtleTogJ1BfT3BlblRpY2tldHMnLCB2YWx1ZTogJ29wZW5fdGlja2V0X2VudGl0eScgfSxcbiAgeyBrZXk6ICdSZWNlaXB0JywgdmFsdWU6ICdyZWNlaXB0JyB9LFxuICB7IGtleTogJ1JlcG9ydCcsIHZhbHVlOiAncmVwb3J0JyB9LFxuICB7IGtleTogJ1JvbGVzJywgdmFsdWU6ICdyb2xlc19lbnRpdHknIH0sXG4gIHsga2V5OiAnUF9Db21wYW55U3RpY2tlcnNfU3RpY2tlcnMnLCB2YWx1ZTogJ2NvbXBhbnlfc3RpY2tlcl9zdGlja2Vyc19lbnRpdHknIH0sXG4gIHsga2V5OiAnU21hcnRwYXJrcycsIHZhbHVlOiAnc21hcnRfcGFya19lbnRpdHknIH0sXG4gIHsga2V5OiAnVXNlcnMnLCB2YWx1ZTogJ3VzZXJzX2VudGl0eScgfSxcbiAgeyBrZXk6ICdQX0RvY0RldGFpbHMnLCB2YWx1ZTogJ3BheW1lbnRfZW50aXR5JyB9LFxuICB7IGtleTogJ01fQ29tcGFuaWVzJywgdmFsdWU6ICdhY2NvdW50JyB9LFxuICB7IGtleTogJ01fU3ViQ29tcGFuaWVzJywgdmFsdWU6ICdzdWJfYWNjb3VudCcgfSxcbiAgeyBrZXk6ICdBY2NvdW50SG90ZWxQb3N0aW5ncycsIHZhbHVlOiAnYWNjb3VudF9ob3RlbF9wb3N0aW5nJyB9LFxuICB7IGtleTogJ0NvbXBhbnlEZWZhdWx0U2V0dGluZ3MnLCB2YWx1ZTogJ2FjY291bnRfZGVmYXVsdF9zZXR0aW5ncycgfSxcbiAgeyBrZXk6ICdSYXRlU2NoZWQnLCB2YWx1ZTogJ3NjaGVkdWxlZF9yYXRlJyB9LFxuICB7IGtleTogJ1RfQWNjZXNzUHJvZmlsZV9BbHRlcm5hdGl2ZScsIHZhbHVlOiAnYWNjZXNzX3Byb2ZpbGVfYWx0ZXJuYXRpdmUnIH0sXG4gIHsga2V5OiAnUF9Ib2xpZGF5cycsIHZhbHVlOiAnc3BlY2lhbF9kYXknIH0sXG4gIHsga2V5OiAnU3BlY2lhbERheURlc2NyaXB0aW9ucycsIHZhbHVlOiAnc3BlY2lhbF9kYXlfZGVzY3JpcHRpb24nIH0sXG4gIHsga2V5OiAnVF9LZXlfT3B0aW9ucycsIHZhbHVlOiAna2V5X29wdGlvbnMnIH0sXG4gIHsga2V5OiAnVGVuYW50cycsIHZhbHVlOiAndGVuYW50X2VudGl0eScgfSxcbiAgeyBrZXk6ICdSQVRfQ2hhcmdlVGFibGUnLCB2YWx1ZTogJ2NoYXJnZV90YWJsZV9lbnRpdHknIH0sXG4gIHsga2V5OiAnUkFUX0NvbmRpdGlvbkNoYXJnZScsIHZhbHVlOiAnY2hhcmdlX2NvbmRpdGlvbl9lbnRpdHknIH0sXG4gIHsga2V5OiAnUkFUX0l0ZW1DaGFyZ2VUYWJsZScsIHZhbHVlOiAnaXRlbV9jaGFyZ2VfZW50aXR5JyB9LFxuICB7IGtleTogJ1JBVF9SYXRlJywgdmFsdWU6ICdyYXRlX2VudGl0eScgfSxcbiAgeyBrZXk6ICdSQVRfUnVsZVJhdGUnLCB2YWx1ZTogJ3JhdGVfY29uZGl0aW9uX2VudGl0eScgfSxcbiAgeyBrZXk6ICdUX0NhcGFjaXR5UG9pbnRlcnMnLCB2YWx1ZTogJ3Bhcmtpbmdfbm93X2NvdW50ZXInIH0sXG4gIHsga2V5OiAnUF9TdGlja2Vyc1Byb2ZpbGUnLCB2YWx1ZTogJ3N0aWNrZXJzX3Byb2ZpbGUnIH0sXG4gIHsga2V5OiAnVF9EZXZpY2VzR3JvdXAnLCB2YWx1ZTogJ3RpbWVfdG9fZGV2aWNlX2dyb3VwJyB9LFxuICB7IGtleTogJ1RfUmFuZ2VEZXZpY2VHcm91cCcsIHZhbHVlOiAndXBzZXJ0X2FwX3RpbWVfdG9fZGV2aWNlX2dyb3VwX3dpemFyZF8yJyB9LFxuICB7IGtleTogJ1RfVGltZVJhbmdlJywgdmFsdWU6ICd1cHNlcnRfYXBfdGltZV90b19kZXZpY2VfZ3JvdXBfd2l6YXJkXzEnIH0sXG4gIHsga2V5OiAnVF9SYW5nZXMnLCB2YWx1ZTogJ3RpbWVfcmFuZ2VfZ3JvdXAnIH0sXG4gIHsga2V5OiAnVF9BY2Nlc3NQcm9maWxlcycsIHZhbHVlOiAnYWNjZXNzX3Byb2ZpbGUnIH0sXG4gIHsga2V5OiAnU01UUERldGFpbHMnLCB2YWx1ZTogJ3NtdHBfZGV0YWlscycgfSxcbiAgeyBrZXk6ICdEeW5hbWljUHJpY2luZ0NvbmRpdGlvbicsIHZhbHVlOiAnZHluYW1pY19wcmljaW5nJyB9LFxuICB7IGtleTogJ0NvbXBhbnlQYXJrQ291bnRlcnMnLCB2YWx1ZTogJ2NvbXBhbnlfcGFya19jb3VudGVycycgfSxcbiAgeyBrZXk6ICdTZWxmVmFsaWRhdGlvbicsIHZhbHVlOiAnc2VsZl92YWxpZGF0aW9uJyB9LFxuICB7IGtleTogJ1RfTWFudWFsQWN0aW9uUmVhc29uJywgdmFsdWU6ICdhY3Rpb25fcmVhc29uJyB9LFxuICB7IGtleTogJ1JhdGVJbWFnZUF1ZGl0JywgdmFsdWU6ICdyYXRlX2ltYWdlX2F1ZGl0JyB9LFxuICB7IGtleTogJ0NyZWRlbnRpYWxQcm92aWRlcnMnLCB2YWx1ZTogJ3Byb3ZpZGVyX3R5cGVzJyB9LFxuICB7IGtleTogJ0NyZWRlbnRpYWxQcm92aWRlclR5cGVzJywgdmFsdWU6ICdwcm92aWRlcl90eXBlcycgfSxcbiAgeyBrZXk6ICdXaGl0ZUxpc3RUeXBlcycsIHZhbHVlOiAndHlwZV9hbmRfcHJpb3JpdHknIH0sXG4gIHsga2V5OiAnV2hpdGVMaXN0VHlwZVJhdGVPdmVycmlkZXMnLCB2YWx1ZTogJ3JhdGVfb3ZlcnJpZGUnIH0sXG4gIHsga2V5OiAnU2NhblRvUGF5JywgdmFsdWU6ICdzY2FuX3RvX3BheV9lbnRpdHknIH0sXG4gIHsga2V5OiAnT2ZmZXJzJywgdmFsdWU6ICdvZmZlcl9lbnRpdHknIH0sXG4gIHsga2V5OiAnT2ZmZXJEYXRlcycsIHZhbHVlOiAnb2ZmZXJfZGF0ZV9lbnRpdHknIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgRmxhdHRlbmVkQ29yZUVudGl0aWVzID0gWy4uLmZsYXR0ZW5CeUtleShDb3JlRW50aXRpZXMsICdjaGlsZHJlbicpXS5yZWR1Y2UoKGFsbEVudGl0aWVzOiBNYXA8c3RyaW5nLCBzdHJpbmc+LCBjZTogQ29yZUVudGl0aWVzT3B0aW9uPHN0cmluZz4pID0+IHtcbiAgYWxsRW50aXRpZXMuc2V0KGNlLmtleSwgY2UudmFsdWUpO1xuICByZXR1cm4gYWxsRW50aXRpZXM7XG59LCBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXSkpO1xuIl19
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1lbnRpdGllcy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9lbnVtcy9jb3JlLWVudGl0aWVzLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBT3BELDZEQUE2RDtBQUM3RCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWlDO0lBQ3hEO1FBQ0UsR0FBRyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtZQUM1QyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFO1lBQ3ZELEVBQUUsR0FBRyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBRTtZQUM3RSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO1lBQ2pELEVBQUUsR0FBRyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxpQ0FBaUMsRUFBRTtZQUMxRSxFQUFFLEdBQUcsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsa0NBQWtDLEVBQUU7WUFDNUUsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLDhCQUE4QixFQUFFO1lBQ3BFLEVBQUUsR0FBRyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxrQ0FBa0MsRUFBRTtZQUM1RSxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsNkJBQTZCLEVBQUU7WUFDbEUsRUFBRSxHQUFHLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLGdDQUFnQyxFQUFFO1lBQ3hFLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUU7WUFDeEQsRUFBRSxHQUFHLEVBQUUsV0FBVyxF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QUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFnQyxFQUFFLEVBQThCLEVBQUUsRUFBRTtJQUMzSixXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleVZhbHVlT2JqIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMva2V5LXZhbHVlLW9iai5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IGZsYXR0ZW5CeUtleSB9IGZyb20gXCIuLi91dGlscy9oZWxwZXIudXRpbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvcmVFbnRpdGllc09wdGlvbjxUPiBleHRlbmRzIEtleVZhbHVlT2JqPFQ+IHtcbiAgcGFyZW50S2V5Pzogc3RyaW5nO1xuICBjaGlsZHJlbj86IENvcmVFbnRpdGllc09wdGlvbjxUPltdO1xufVxuXG4vLyBUaGlzIGRhdGEgc3RydWN0dXJlIGlzIG9yZGVyZWQgYnkgdGhlIHRyYW5zbGF0ZWQgdmFsdWUgQVNDXG5leHBvcnQgY29uc3QgQ29yZUVudGl0aWVzOiBDb3JlRW50aXRpZXNPcHRpb248c3RyaW5nPltdID0gW1xuICB7XG4gICAga2V5OiAnQ29tbWFuZHMnLCB2YWx1ZTogJ2NvbW1hbmRzJywgY2hpbGRyZW46IFtcbiAgICAgIHsga2V5OiAnQXR0YWNoVGlja2V0JywgdmFsdWU6ICdhdHRhY2hfdGlja2V0X2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ0NoYW5nZURldmljZUFjY2Vzc01vZGUnLCB2YWx1ZTogJ2NoYW5nZV9kZXZpY2VfYWNjZXNzX21vZGVfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnQ2xvc2VHYXRlJywgdmFsdWU6ICdjbG9zZV9nYXRlX2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ0Nsb3NlR2F0ZUNvbnRpbnVvdXNseScsIHZhbHVlOiAnY2xvc2VfZ2F0ZV9jb250aW51b3VzbHlfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnRGVsZXRlUmVtb3RlVmFsaWRhdGlvbicsIHZhbHVlOiAnZGVsZXRlX3JlbW90ZV92YWxpZGF0aW9uX2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ0RlbGl2ZXJCdW5kbGVCaWxscycsIHZhbHVlOiAnZGVsaXZlcl9idW5kbGVfYmlsbHNfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnSW5zZXJ0UmVtb3RlVmFsaWRhdGlvbicsIHZhbHVlOiAnaW5zZXJ0X3JlbW90ZV92YWxpZGF0aW9uX2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ0VqZWN0SmFtbWVkVGlja2V0JywgdmFsdWU6ICdlamVjdF9qYW1tZWRfdGlja2V0X2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ0VuYWJsZVJlcHJpbnRSZWNlaXB0JywgdmFsdWU6ICdlbmFibGVfcmVwcmludF9yZWNlaXB0X2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ0dldFRpY2tldEZlZScsIHZhbHVlOiAnZ2V0X3RpY2tldF9mZWVfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnSG9sZFJlbGF5JywgdmFsdWU6ICdob2xkX3JlbGF5X2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ0xvY2tDYXNoUmVnaXN0ZXInLCB2YWx1ZTogJ2xvY2tfY2FzaF9yZWdpc3Rlcl9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdNYW51YWxseUNsb3NlVGlja2V0JywgdmFsdWU6ICdtYW51YWxseV9jbG9zZV90aWNrZXRfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnT3BlbkdhdGVDb250aW51b3VzbHknLCB2YWx1ZTogJ29wZW5fZ2F0ZV9jb250aW51b3VzbHlfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnT3BlblJlbGF5JywgdmFsdWU6ICdvcGVuX3JlbGF5X2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ1ByaW50VGlja2V0JywgdmFsdWU6ICdwcmludF90aWNrZXRfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnUmVzZXRCaWxsRGlzcGVuc2VyJywgdmFsdWU6ICdyZXNldF9iaWxsX2Rpc3BlbnNlcl9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdSZXNldERldmljZUFjY2Vzc01vZGUnLCB2YWx1ZTogJ3Jlc2V0X2RldmljZV9hY2Nlc3NfbW9kZV9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdSZXN0YXJ0RGV2aWNlJywgdmFsdWU6ICdyZXN0YXJ0X2RldmljZV9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdSZXN0b3JlUmVtb3RlVmFsaWRhdGlvbicsIHZhbHVlOiAncmVzdG9yZV9yZW1vdGVfdmFsaWRhdGlvbl9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdSZXN0b3JlVGlja2V0JywgdmFsdWU6ICdyZXN0b3JlX3RpY2tldF9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdJbnNlcnRWaXJ0dWFsVGlja2V0JywgdmFsdWU6ICdpbnNlcnRfdmlydHVhbF90aWNrZXRfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnU2V0UHJpY2UnLCB2YWx1ZTogJ3NldF9wcmljZV9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdTZXRSYXRlJywgdmFsdWU6ICdzZXRfcmF0ZV9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdTd2FsbG93SmFtbWVkVGlja2V0JywgdmFsdWU6ICdzd2FsbG93X2phbW1lZF90aWNrZXRfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnVHJpZ2dlckxQUk1vZHVsZScsIHZhbHVlOiAndHJpZ2dlcl9scHJtb2R1bGVfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnVW5sb2NrRG9vcicsIHZhbHVlOiAndW5sb2NrX2Rvb3JfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnVXBkYXRlTG9jYXRpb24nLCB2YWx1ZTogJ3VwZGF0ZV9sb2NhdGlvbl9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdVcGRhdGVPY2N1cGFuY3knLCB2YWx1ZTogJ3VwZGF0ZV9vY2N1cGFuY3lfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnVXBkYXRlUmVtb3RlVmFsaWRhdGlvbicsIHZhbHVlOiAndXBkYXRlX3JlbW90ZV92YWxpZGF0aW9uX2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ1VwZGF0ZVRpY2tldFBheW1lbnQnLCB2YWx1ZTogJ3VwZGF0ZV90aWNrZXRfcGF5bWVudF9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdVcGRhdGVUb3RhbE9jY3VwYW5jeScsIHZhbHVlOiAndXBkYXRlX3RvdGFsX29jY3VwYW5jeV9jb21tYW5kJyB9LFxuICAgICAgeyBrZXk6ICdVcGRhdGVab25lT2NjdXBhbmN5JywgdmFsdWU6ICd1cGRhdGVfem9uZV9vY2N1cGFuY3lfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnVmFsaWRhdGUnLCB2YWx1ZTogJ3ZhbGlkYXRlX2NvbW1hbmQnIH0sXG4gICAgICB7IGtleTogJ1ZlbmRHYXRlJywgdmFsdWU6ICd2ZW5kX2dhdGVfY29tbWFuZCcgfSxcbiAgICAgIHsga2V5OiAnQ2xvc2VUaWNrZXRGb3JJU0YnLCB2YWx1ZTogJ2Nsb3NlX3RpY2tldF9mb3JfaXNmJyB9LFxuICAgICAgeyBrZXk6ICdQYXltZW50Rm9ySVNGJywgdmFsdWU6ICdzZW5kX2lzZl9wcmljZScgfSxcbiAgICAgIHsga2V5OiAnU2VuZEtleU9wdGlvbnMnLCB2YWx1ZTogJ2ltbWVkaWF0ZV9rZXlzJyB9LFxuICAgICAgeyBrZXk6ICdTZW5kUGFyYW1ldGVycycsIHZhbHVlOiAnc2VuZF9wYXJhbWV0ZXJzJyB9LFxuICAgICAgeyBrZXk6ICdDbG9zZVBheW1lbnRTY3JlZW4nLCB2YWx1ZTogJ2Nsb3NlX3BheW1lbnRfc2NyZWVuJyB9LFxuICAgICAgeyBrZXk6ICdSZXN0YXJ0U21hcnRwYXJrJywgdmFsdWU6ICdyZXN0YXJ0X3NtYXJ0cGFyaycgfSxcbiAgICAgIHsga2V5OiAnU2VuZFJhdGVJbWFnZXMnLCB2YWx1ZTogJ3NlbmRfcmF0ZV9pbWFnZXMnIH0sXG4gICAgICB7IGtleTogJ1NlbmRMb3RTZXR1cCcsIHZhbHVlOiAnc2VuZF9sb3Rfc2V0dXAnIH0sXG4gICAgICB7IGtleTogJ1NlbmRTdXJjaGFyZ2UnLCB2YWx1ZTogJ3NlbmRfc3VyY2hhcmdlJyB9LFxuICAgICAgeyBrZXk6ICdDcmVhdGVRck9uVGlja2V0JywgdmFsdWU6ICdzY2FuX3RvX3BheV9xcicgfSxcbiAgICAgIHsga2V5OiAnRGV2aWNlQnJpZGdlU2Vzc2lvbicsIHZhbHVlOiAnZGV2aWNlX2JyaWRnZV9zZXNzaW9uX2NvbW1hbmQnIH0sXG4gICAgXVxuICB9LFxuICB7XG4gICAga2V5OiAnRmFjaWxpdHlDb21tYW5kcycsIHZhbHVlOiAnZmFjaWxpdHlfY29tbWFuZHMnLCBjaGlsZHJlbjogW1xuICAgICAgeyBrZXk6ICdNYW51YWxseVJ1blonLCB2YWx1ZTogJ2ZhY2lsaXR5X3JlbW90ZV9jb21tYW5kX21hbnVhbGx5X3J1bl96JyB9LFxuICAgICAgeyBrZXk6ICdVcGRhdGVTZXR0aW5ncycsIHZhbHVlOiAnZmFjaWxpdHlfcmVtb3RlX2NvbW1hbmRfdXBkYXRlX3NldHRpbmdzJyB9LFxuICAgICAgeyBrZXk6ICdTZXRBY3RpdmVSYXRlJywgdmFsdWU6ICdmYWNpbGl0eV9yZW1vdGVfY29tbWFuZF9zZXRfYWN0aXZlX3JhdGUnIH0sXG4gICAgICB7IGtleTogJ1VwZGF0ZU1DRGF0ZVRpbWUnLCB2YWx1ZTogJ2ZhY2lsaXR5X3JlbW90ZV9jb21tYW5kX3VwZGF0ZV9kYXRlX2FuZF90aW1lJyB9LFxuICAgICAgeyBrZXk6ICdSdW5NYWNybycsIHZhbHVlOiAnZmFjaWxpdHlfcmVtb3RlX2NvbW1hbmRfcnVuX21hY3JvJyB9LFxuICAgICAgeyBrZXk6ICdUcmFuc21pdFNwZWNpYWxEYXlzJywgdmFsdWU6ICdmYWNpbGl0eV9yZW1vdGVfY29tbWFuZF90cmFuc21pdF9zcGVjaWFsX2RheXMnIH0sXG4gICAgXVxuICB9LFxuICB7IGtleTogJ0xQUl9CbGFja0xpc3QnLCB2YWx1ZTogJ3Jlc3RyaWN0X2Nhcl9lbnRpdHknIH0sXG4gIHsga2V5OiAnQ2FzaGllcnMnLCB2YWx1ZTogJ2Nhc2hpZXJzX21hbmFnZW1lbnQnIH0sXG4gIHsga2V5OiAnQ2FyX01vZGVscycsIHZhbHVlOiAnbW9kZWxzJyB9LFxuICB7IGtleTogJ0Nhcl9Db2xvcnMnLCB2YWx1ZTogJ2NvbG9ycycgfSxcbiAgeyBrZXk6ICdQX0NvbXBhbnlTdGlja2Vyc19Db3Vwb25zJywgdmFsdWU6ICdjb21wYW55X3N0aWNrZXJfY291cG9uc19lbnRpdHknIH0sXG4gIHsga2V5OiAnR19HdWVzdHMnLCB2YWx1ZTogJ2d1ZXN0c19lbnRpdHknIH0sXG4gIHsga2V5OiAnSG90ZWxHdWVzdCcsIHZhbHVlOiAnaG90ZWxfZ3Vlc3QnIH0sXG4gIHsga2V5OiAnUF9EZXZpY2VfU2NoZWQnLCB2YWx1ZTogJ2RldmljZV9zY2hlZF9lbnRpdHknIH0sXG4gIHsga2V5OiAnR19CYXRjaCcsIHZhbHVlOiAnZ3Vlc3RfYmF0Y2gnIH0sXG4gIHsga2V5OiAnTV9TdWJzY3JpYmVycycsIHZhbHVlOiAnbW9udGhseV9lbnRpdHknIH0sXG4gIHsga2V5OiAnUHJlUGF5S2V5U2NoZWQnLCB2YWx1ZTogJ3ByZXBhaWRfa2V5X2VudGl0eScgfSxcbiAgeyBrZXk6ICdQX09wZW5UaWNrZXRzJywgdmFsdWU6ICdvcGVuX3RpY2tldF9lbnRpdHknIH0sXG4gIHsga2V5OiAnUmVjZWlwdCcsIHZhbHVlOiAncmVjZWlwdCcgfSxcbiAgeyBrZXk6ICdSZXBvcnQnLCB2YWx1ZTogJ3JlcG9ydCcgfSxcbiAgeyBrZXk6ICdSb2xlcycsIHZhbHVlOiAncm9sZXNfZW50aXR5JyB9LFxuICB7IGtleTogJ1BfQ29tcGFueVN0aWNrZXJzX1N0aWNrZXJzJywgdmFsdWU6ICdjb21wYW55X3N0aWNrZXJfc3RpY2tlcnNfZW50aXR5JyB9LFxuICB7IGtleTogJ1NtYXJ0cGFya3MnLCB2YWx1ZTogJ3NtYXJ0X3BhcmtfZW50aXR5JyB9LFxuICB7IGtleTogJ1VzZXJzJywgdmFsdWU6ICd1c2Vyc19lbnRpdHknIH0sXG4gIHsga2V5OiAnUF9Eb2NEZXRhaWxzJywgdmFsdWU6ICdwYXltZW50X2VudGl0eScgfSxcbiAgeyBrZXk6ICdNX0NvbXBhbmllcycsIHZhbHVlOiAnYWNjb3VudCcgfSxcbiAgeyBrZXk6ICdNX1N1YkNvbXBhbmllcycsIHZhbHVlOiAnc3ViX2FjY291bnQnIH0sXG4gIHsga2V5OiAnQWNjb3VudEhvdGVsUG9zdGluZ3MnLCB2YWx1ZTogJ2FjY291bnRfaG90ZWxfcG9zdGluZycgfSxcbiAgeyBrZXk6ICdDb21wYW55RGVmYXVsdFNldHRpbmdzJywgdmFsdWU6ICdhY2NvdW50X2RlZmF1bHRfc2V0dGluZ3MnIH0sXG4gIHsga2V5OiAnUmF0ZVNjaGVkJywgdmFsdWU6ICdzY2hlZHVsZWRfcmF0ZScgfSxcbiAgeyBrZXk6ICdUX0FjY2Vzc1Byb2ZpbGVfQWx0ZXJuYXRpdmUnLCB2YWx1ZTogJ2FjY2Vzc19wcm9maWxlX2FsdGVybmF0aXZlJyB9LFxuICB7IGtleTogJ1BfSG9saWRheXMnLCB2YWx1ZTogJ3NwZWNpYWxfZGF5JyB9LFxuICB7IGtleTogJ1NwZWNpYWxEYXlEZXNjcmlwdGlvbnMnLCB2YWx1ZTogJ3NwZWNpYWxfZGF5X2Rlc2NyaXB0aW9uJyB9LFxuICB7IGtleTogJ1RfS2V5X09wdGlvbnMnLCB2YWx1ZTogJ2tleV9vcHRpb25zJyB9LFxuICB7IGtleTogJ1RlbmFudHMnLCB2YWx1ZTogJ3RlbmFudF9lbnRpdHknIH0sXG4gIHsga2V5OiAnUkFUX0NoYXJnZVRhYmxlJywgdmFsdWU6ICdjaGFyZ2VfdGFibGVfZW50aXR5JyB9LFxuICB7IGtleTogJ1JBVF9Db25kaXRpb25DaGFyZ2UnLCB2YWx1ZTogJ2NoYXJnZV9jb25kaXRpb25fZW50aXR5JyB9LFxuICB7IGtleTogJ1JBVF9JdGVtQ2hhcmdlVGFibGUnLCB2YWx1ZTogJ2l0ZW1fY2hhcmdlX2VudGl0eScgfSxcbiAgeyBrZXk6ICdSQVRfUmF0ZScsIHZhbHVlOiAncmF0ZV9lbnRpdHknIH0sXG4gIHsga2V5OiAnUkFUX1J1bGVSYXRlJywgdmFsdWU6ICdyYXRlX2NvbmRpdGlvbl9lbnRpdHknIH0sXG4gIHsga2V5OiAnVF9DYXBhY2l0eVBvaW50ZXJzJywgdmFsdWU6ICdwYXJraW5nX25vd19jb3VudGVyJyB9LFxuICB7IGtleTogJ1BfU3RpY2tlcnNQcm9maWxlJywgdmFsdWU6ICdzdGlja2Vyc19wcm9maWxlJyB9LFxuICB7IGtleTogJ1RfRGV2aWNlc0dyb3VwJywgdmFsdWU6ICd0aW1lX3RvX2RldmljZV9ncm91cCcgfSxcbiAgeyBrZXk6ICdUX1JhbmdlRGV2aWNlR3JvdXAnLCB2YWx1ZTogJ3Vwc2VydF9hcF90aW1lX3RvX2RldmljZV9ncm91cF93aXphcmRfMicgfSxcbiAgeyBrZXk6ICdUX1RpbWVSYW5nZScsIHZhbHVlOiAndXBzZXJ0X2FwX3RpbWVfdG9fZGV2aWNlX2dyb3VwX3dpemFyZF8xJyB9LFxuICB7IGtleTogJ1RfUmFuZ2VzJywgdmFsdWU6ICd0aW1lX3JhbmdlX2dyb3VwJyB9LFxuICB7IGtleTogJ1RfQWNjZXNzUHJvZmlsZXMnLCB2YWx1ZTogJ2FjY2Vzc19wcm9maWxlJyB9LFxuICB7IGtleTogJ1NNVFBEZXRhaWxzJywgdmFsdWU6ICdzbXRwX2RldGFpbHMnIH0sXG4gIHsga2V5OiAnRHluYW1pY1ByaWNpbmdDb25kaXRpb24nLCB2YWx1ZTogJ2R5bmFtaWNfcHJpY2luZycgfSxcbiAgeyBrZXk6ICdDb21wYW55UGFya0NvdW50ZXJzJywgdmFsdWU6ICdjb21wYW55X3BhcmtfY291bnRlcnMnIH0sXG4gIHsga2V5OiAnU2VsZlZhbGlkYXRpb24nLCB2YWx1ZTogJ3NlbGZfdmFsaWRhdGlvbicgfSxcbiAgeyBrZXk6ICdUX01hbnVhbEFjdGlvblJlYXNvbicsIHZhbHVlOiAnYWN0aW9uX3JlYXNvbicgfSxcbiAgeyBrZXk6ICdSYXRlSW1hZ2VBdWRpdCcsIHZhbHVlOiAncmF0ZV9pbWFnZV9hdWRpdCcgfSxcbiAgeyBrZXk6ICdDcmVkZW50aWFsUHJvdmlkZXJzJywgdmFsdWU6ICdwcm92aWRlcl90eXBlcycgfSxcbiAgeyBrZXk6ICdDcmVkZW50aWFsUHJvdmlkZXJUeXBlcycsIHZhbHVlOiAncHJvdmlkZXJfdHlwZXMnIH0sXG4gIHsga2V5OiAnV2hpdGVMaXN0VHlwZXMnLCB2YWx1ZTogJ3R5cGVfYW5kX3ByaW9yaXR5JyB9LFxuICB7IGtleTogJ1doaXRlTGlzdFR5cGVSYXRlT3ZlcnJpZGVzJywgdmFsdWU6ICdyYXRlX292ZXJyaWRlJyB9LFxuICB7IGtleTogJ1NjYW5Ub1BheScsIHZhbHVlOiAnc2Nhbl90b19wYXlfZW50aXR5JyB9LFxuICB7IGtleTogJ09mZmVycycsIHZhbHVlOiAnb2ZmZXJfZW50aXR5JyB9LFxuICB7IGtleTogJ09mZmVyRGF0ZXMnLCB2YWx1ZTogJ29mZmVyX2RhdGVfZW50aXR5JyB9LFxuICAvLyBLZXlzIGFyZSB0aGUgW1RhYmxlXSBuYW1lcyBvZiB0aGUgTW9udGhseS9HdWVzdCBsb29rdXAgZW50aXRpZXMgZWRpdGVkIGZyb20gdGhlIEFkdmFuY2VkIHRhYi5cbiAgeyBrZXk6ICdNX0NhdGVnb3J5JywgdmFsdWU6ICdjYXRlZ29yeScgfSxcbiAgeyBrZXk6ICdNX0dyb3VwcycsIHZhbHVlOiAnZ3JvdXAnIH0sXG4gIHsga2V5OiAnTV9Kb2JUaXRsZScsIHZhbHVlOiAnam9iX3RpdGxlJyB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IEZsYXR0ZW5lZENvcmVFbnRpdGllcyA9IFsuLi5mbGF0dGVuQnlLZXkoQ29yZUVudGl0aWVzLCAnY2hpbGRyZW4nKV0ucmVkdWNlKChhbGxFbnRpdGllczogTWFwPHN0cmluZywgc3RyaW5nPiwgY2U6IENvcmVFbnRpdGllc09wdGlvbjxzdHJpbmc+KSA9PiB7XG4gIGFsbEVudGl0aWVzLnNldChjZS5rZXksIGNlLnZhbHVlKTtcbiAgcmV0dXJuIGFsbEVudGl0aWVzO1xufSwgbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW10pKTtcbiJdfQ==
|
|
@@ -20,4 +20,8 @@ export const DeviceActivityModeIcon = {
|
|
|
20
20
|
[DeviceActivityMode.Transient]: IconsHelper.access_mode_transient,
|
|
21
21
|
[DeviceActivityMode.NoOne]: IconsHelper.access_mode_not_active,
|
|
22
22
|
};
|
|
23
|
-
|
|
23
|
+
// All and Reset are unmapped; the command menu shows them with the generic icon too
|
|
24
|
+
export function resolveAccessModeIcon(mode) {
|
|
25
|
+
return DeviceActivityModeIcon[mode] ?? IconsHelper.access_mode;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWFjdGl2aXR5LW1vZGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvZW51bXMvZGV2aWNlLWFjdGl2aXR5LW1vZGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzFDLE1BQU0sQ0FBTixJQUFZLGtCQU1YO0FBTkQsV0FBWSxrQkFBa0I7SUFDNUIseURBQUcsQ0FBQTtJQUNILHFFQUFTLENBQUE7SUFDVCxxRUFBUyxDQUFBO0lBQ1QsNkRBQUssQ0FBQTtJQUNMLDZEQUFLLENBQUE7QUFDUCxDQUFDLEVBTlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQU03QjtBQUVELE1BQU0sQ0FBTixJQUFZLHNCQU1YO0FBTkQsV0FBWSxzQkFBc0I7SUFDaEMsaURBQWtDLENBQUE7SUFDbEMsNkRBQThDLENBQUE7SUFDOUMsNkRBQThDLENBQUE7SUFDOUMsMERBQTJDLENBQUE7SUFDM0MscURBQXNDLENBQUE7QUFDeEMsQ0FBQyxFQU5XLHNCQUFzQixLQUF0QixzQkFBc0IsUUFNakM7QUFFRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBcUQ7SUFDdEYsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxXQUFXLENBQUMscUJBQXFCO0lBQ2pFLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxDQUFDLHFCQUFxQjtJQUNqRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLFdBQVcsQ0FBQyxzQkFBc0I7Q0FDL0QsQ0FBQztBQUVGLG9GQUFvRjtBQUNwRixNQUFNLFVBQVUscUJBQXFCLENBQUMsSUFBMkM7SUFDL0UsT0FBTyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDO0FBQ2pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJY29uc0hlbHBlciB9IGZyb20gXCIuL2ljb24uZW51bVwiO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uIH0gZnJvbSBcIi4vbG9jYWxpemF0aW9uLmVudW1cIjtcblxuZXhwb3J0IGVudW0gRGV2aWNlQWN0aXZpdHlNb2RlIHtcbiAgQWxsLFxuICBNb250aGxpZXMsXG4gIFRyYW5zaWVudCxcbiAgTm9PbmUsXG4gIFJlc2V0XG59XG5cbmV4cG9ydCBlbnVtIERldmljZUFjdGl2aXR5TW9kZVRleHQge1xuICBBbGwgPSBMb2NhbGl6YXRpb24uYWNjZXNzX21vZGVfYWxsLFxuICBNb250aGxpZXMgPSBMb2NhbGl6YXRpb24uYWNjZXNzX21vZGVfbW9udGhsaWVzLFxuICBUcmFuc2llbnQgPSBMb2NhbGl6YXRpb24uYWNjZXNzX21vZGVfdHJhbnNpZW50LFxuICBOb09uZSA9IExvY2FsaXphdGlvbi5hY2Nlc3NfbW9kZV9ub3RfYWN0aXZlLFxuICBSZXNldCA9IExvY2FsaXphdGlvbi5hY2Nlc3NfbW9kZV9yZXNldCxcbn1cblxuZXhwb3J0IGNvbnN0IERldmljZUFjdGl2aXR5TW9kZUljb246IFBhcnRpYWw8UmVjb3JkPERldmljZUFjdGl2aXR5TW9kZSwgSWNvbnNIZWxwZXI+PiA9IHtcbiAgW0RldmljZUFjdGl2aXR5TW9kZS5Nb250aGxpZXNdOiBJY29uc0hlbHBlci5hY2Nlc3NfbW9kZV9tb250aGxpZXMsXG4gIFtEZXZpY2VBY3Rpdml0eU1vZGUuVHJhbnNpZW50XTogSWNvbnNIZWxwZXIuYWNjZXNzX21vZGVfdHJhbnNpZW50LFxuICBbRGV2aWNlQWN0aXZpdHlNb2RlLk5vT25lXTogSWNvbnNIZWxwZXIuYWNjZXNzX21vZGVfbm90X2FjdGl2ZSxcbn07XG5cbi8vIEFsbCBhbmQgUmVzZXQgYXJlIHVubWFwcGVkOyB0aGUgY29tbWFuZCBtZW51IHNob3dzIHRoZW0gd2l0aCB0aGUgZ2VuZXJpYyBpY29uIHRvb1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVBY2Nlc3NNb2RlSWNvbihtb2RlOiBEZXZpY2VBY3Rpdml0eU1vZGUgfCBudWxsIHwgdW5kZWZpbmVkKTogSWNvbnNIZWxwZXIge1xuICByZXR1cm4gRGV2aWNlQWN0aXZpdHlNb2RlSWNvblttb2RlXSA/PyBJY29uc0hlbHBlci5hY2Nlc3NfbW9kZTtcbn1cbiJdfQ==
|
|
@@ -22,7 +22,13 @@ export class SubModuleGuard {
|
|
|
22
22
|
let isAllowed = false;
|
|
23
23
|
const user = this.store.selectSnapshot(SessionState.userInfo);
|
|
24
24
|
if (user) {
|
|
25
|
-
const
|
|
25
|
+
const module = user.permissionInfo.modules.find(m => route.data.module === m.module);
|
|
26
|
+
if (!module) {
|
|
27
|
+
// Reachable by typing a URL of a module the user has no access to at all.
|
|
28
|
+
this.handleForbiddenAccess(state);
|
|
29
|
+
return isAllowed;
|
|
30
|
+
}
|
|
31
|
+
const subModules = module.subModule;
|
|
26
32
|
if (!!subModules && !subModules.includes(route.data.subModule)) {
|
|
27
33
|
this.handleForbiddenAccess(state);
|
|
28
34
|
}
|
|
@@ -56,4 +62,4 @@ __decorate([
|
|
|
56
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SubModuleGuard, decorators: [{
|
|
57
63
|
type: Injectable
|
|
58
64
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.Store }, { type: i3.Location }, { type: i4.SmartparkService }], propDecorators: { setSubModule: [], setAppModule: [] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLW1vZHVsZS1ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvZ3VhcmRzL3N1Yi1tb2R1bGUtZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUd0RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBR3BFLE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQ1UsTUFBYyxFQUNkLEtBQVksRUFDWixRQUFrQixFQUNsQixnQkFBa0M7UUFIbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF5Q2hDLGlCQUFZLEdBQUcsQ0FBQyxTQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hGLGlCQUFZLEdBQUcsQ0FBQyxTQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBeEM1RixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDbkUsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxHQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWiwwRUFBMEU7Z0JBQzFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbEMsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztZQUVELE1BQU0sVUFBVSxHQUFnQixNQUFNLENBQUMsU0FBUyxDQUFDO1lBQ2pELElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUNuQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUEwQjtRQUN0RCxNQUFNLFVBQVUsR0FBZSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEYsNkJBQTZCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRU8sc0JBQXNCLENBQUMsS0FBNkI7UUFDMUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV4QyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbEcsQ0FBQztJQUNILENBQUM7K0dBN0NVLGNBQWM7bUhBQWQsY0FBYzs7QUErQ2I7SUFBWCxRQUFRLEVBQUU7b0RBQWlGO0FBQ2hGO0lBQVgsUUFBUSxFQUFFO29EQUFpRjs0RkFoRGpGLGNBQWM7a0JBRDFCLFVBQVU7cUpBZ0RHLFlBQVksTUFDWixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERpc3BhdGNoIH0gZnJvbSAnQG5neHMtbGFicy9kaXNwYXRjaC1kZWNvcmF0b3InO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBUZW5hbnRJbmZvIH0gZnJvbSAnLi4vbW9kdWxlcy9hdXRoL21vZGVsL3RlbmFudC1pbmZvLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVc2VySW5mbyB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9tb2RlbC91c2VyLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IE1lbnVBcHBNb2R1bGVMb2FkQWN0aW9uLCBNZW51U3ViTW9kdWxlTG9hZEFjdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvc2lkZW5hdi9zaWRlbmF2LmFjdGlvbnMnO1xuaW1wb3J0IHsgQXBwTW9kdWxlLCBTdWJNb2R1bGUgfSBmcm9tICcuLi9zZXJ2aWNlLXByb3h5L2Nsb3VkLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBTbWFydHBhcmtTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc21hcnRwYXJrLnNlcnZpY2UnO1xuaW1wb3J0IHsgbmF2aWdhdGVUb0ZvcmJpZGRlbkFjY2Vzc1BhZ2UgfSBmcm9tICcuLi91dGlscy9yb3V0ZS51dGlsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN1Yk1vZHVsZUd1YXJkIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxuICAgIHByaXZhdGUgc21hcnRwYXJrU2VydmljZTogU21hcnRwYXJrU2VydmljZSxcbiAgKSB7XG4gIH1cblxuICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICBsZXQgaXNBbGxvd2VkID0gZmFsc2U7XG4gICAgY29uc3QgdXNlcjogVXNlckluZm8gPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS51c2VySW5mbyk7XG4gICAgaWYgKHVzZXIpIHtcbiAgICAgIGNvbnN0IG1vZHVsZSA9IHVzZXIucGVybWlzc2lvbkluZm8ubW9kdWxlcy5maW5kKG0gPT4gcm91dGUuZGF0YS5tb2R1bGUgPT09IG0ubW9kdWxlKTtcbiAgICAgIGlmICghbW9kdWxlKSB7XG4gICAgICAgIC8vIFJlYWNoYWJsZSBieSB0eXBpbmcgYSBVUkwgb2YgYSBtb2R1bGUgdGhlIHVzZXIgaGFzIG5vIGFjY2VzcyB0byBhdCBhbGwuXG4gICAgICAgIHRoaXMuaGFuZGxlRm9yYmlkZGVuQWNjZXNzKHN0YXRlKTtcbiAgICAgICAgcmV0dXJuIGlzQWxsb3dlZDtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3ViTW9kdWxlczogU3ViTW9kdWxlW10gPSBtb2R1bGUuc3ViTW9kdWxlO1xuICAgICAgaWYgKCEhc3ViTW9kdWxlcyAmJiAhc3ViTW9kdWxlcy5pbmNsdWRlcyhyb3V0ZS5kYXRhLnN1Yk1vZHVsZSkpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVGb3JiaWRkZW5BY2Nlc3Moc3RhdGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5oYW5kbGVTdWJNb2R1bGVMb2FkaW5nKHJvdXRlKTtcbiAgICAgICAgaXNBbGxvd2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaXNBbGxvd2VkO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVGb3JiaWRkZW5BY2Nlc3Moc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiB2b2lkIHtcbiAgICBjb25zdCB0ZW5hbnRJbmZvOiBUZW5hbnRJbmZvID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUudGVuYW50SW5mbyk7XG4gICAgbmF2aWdhdGVUb0ZvcmJpZGRlbkFjY2Vzc1BhZ2UodGhpcy5yb3V0ZXIsIHRoaXMubG9jYXRpb24sIHN0YXRlLCB0ZW5hbnRJbmZvKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU3ViTW9kdWxlTG9hZGluZyhyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IHZvaWQge1xuICAgIHRoaXMuc2V0QXBwTW9kdWxlKHJvdXRlLmRhdGEubW9kdWxlKTtcbiAgICB0aGlzLnNldFN1Yk1vZHVsZShyb3V0ZS5kYXRhLnN1Yk1vZHVsZSk7XG5cbiAgICBpZiAocm91dGUuZGF0YS5nZXRTbWFydHBhcmtCYXNpY0FsbCAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuc21hcnRwYXJrU2VydmljZS5nZXRTbWFydHBhcmtCYXNpY0FsbChyb3V0ZS5kYXRhLm1vZHVsZSwgcm91dGUuZGF0YS5zdWJNb2R1bGUpLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBEaXNwYXRjaCgpIHNldFN1Yk1vZHVsZSA9IChzdWJNb2R1bGU6IFN1Yk1vZHVsZSkgPT4gbmV3IE1lbnVTdWJNb2R1bGVMb2FkQWN0aW9uKHN1Yk1vZHVsZSk7XG4gIEBEaXNwYXRjaCgpIHNldEFwcE1vZHVsZSA9IChhcHBNb2R1bGU6IEFwcE1vZHVsZSkgPT4gbmV3IE1lbnVBcHBNb2R1bGVMb2FkQWN0aW9uKGFwcE1vZHVsZSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { resolveAccessModeIcon } from '../../enums/device-activity-mode.enum';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AccessModeIconPipe {
|
|
5
|
+
transform(mode) {
|
|
6
|
+
return resolveAccessModeIcon(mode);
|
|
7
|
+
}
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessModeIconPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AccessModeIconPipe, isStandalone: true, name: "accessModeIcon" }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessModeIconPipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{ name: 'accessModeIcon', standalone: true }]
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLW1vZGUtaWNvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9waXBlcy9kZXZpY2UtcGlwZXMvYWNjZXNzLW1vZGUtaWNvbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBc0IscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFJbEcsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixTQUFTLENBQUMsSUFBMkM7UUFDbkQsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDOytHQUhVLGtCQUFrQjs2R0FBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXZpY2VBY3Rpdml0eU1vZGUsIHJlc29sdmVBY2Nlc3NNb2RlSWNvbiB9IGZyb20gJy4uLy4uL2VudW1zL2RldmljZS1hY3Rpdml0eS1tb2RlLmVudW0nO1xuaW1wb3J0IHsgSWNvbnNIZWxwZXIgfSBmcm9tICcuLi8uLi9lbnVtcy9pY29uLmVudW0nO1xuXG5AUGlwZSh7IG5hbWU6ICdhY2Nlc3NNb2RlSWNvbicsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBBY2Nlc3NNb2RlSWNvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKG1vZGU6IERldmljZUFjdGl2aXR5TW9kZSB8IG51bGwgfCB1bmRlZmluZWQpOiBJY29uc0hlbHBlciB7XG4gICAgcmV0dXJuIHJlc29sdmVBY2Nlc3NNb2RlSWNvbihtb2RlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
+
import { AccessModeIconPipe } from './access-mode-icon.pipe';
|
|
2
3
|
import { FilterDevicesByZonePipe } from './device-filter-by-zone.pipe';
|
|
3
4
|
import { FilterDevicesByTypePipe } from './device-filter.pipe';
|
|
4
5
|
import { SortDevicesPipe } from './device-sort.pipe';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class DevicePipeModule {
|
|
7
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DevicePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DevicePipeModule, imports: [
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DevicePipeModule, imports: [AccessModeIconPipe,
|
|
10
|
+
SortDevicesPipe,
|
|
9
11
|
FilterDevicesByZonePipe,
|
|
10
|
-
FilterDevicesByTypePipe], exports: [
|
|
12
|
+
FilterDevicesByTypePipe], exports: [AccessModeIconPipe,
|
|
13
|
+
SortDevicesPipe,
|
|
11
14
|
FilterDevicesByZonePipe,
|
|
12
15
|
FilterDevicesByTypePipe] }); }
|
|
13
16
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DevicePipeModule }); }
|
|
@@ -16,15 +19,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
16
19
|
type: NgModule,
|
|
17
20
|
args: [{
|
|
18
21
|
imports: [
|
|
22
|
+
AccessModeIconPipe,
|
|
19
23
|
SortDevicesPipe,
|
|
20
24
|
FilterDevicesByZonePipe,
|
|
21
25
|
FilterDevicesByTypePipe,
|
|
22
26
|
],
|
|
23
27
|
exports: [
|
|
28
|
+
AccessModeIconPipe,
|
|
24
29
|
SortDevicesPipe,
|
|
25
30
|
FilterDevicesByZonePipe,
|
|
26
31
|
FilterDevicesByTypePipe,
|
|
27
32
|
]
|
|
28
33
|
}]
|
|
29
34
|
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXBpcGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9waXBlcy9kZXZpY2UtcGlwZXMvZGV2aWNlLXBpcGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQWdCckQsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsWUFaekIsa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZix1QkFBdUI7WUFDdkIsdUJBQXVCLGFBR3ZCLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtnSEFHZCxnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBZDVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZix1QkFBdUI7d0JBQ3ZCLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZix1QkFBdUI7d0JBQ3ZCLHVCQUF1QjtxQkFDeEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjZXNzTW9kZUljb25QaXBlIH0gZnJvbSAnLi9hY2Nlc3MtbW9kZS1pY29uLnBpcGUnO1xuaW1wb3J0IHsgRmlsdGVyRGV2aWNlc0J5Wm9uZVBpcGUgfSBmcm9tICcuL2RldmljZS1maWx0ZXItYnktem9uZS5waXBlJztcbmltcG9ydCB7IEZpbHRlckRldmljZXNCeVR5cGVQaXBlIH0gZnJvbSAnLi9kZXZpY2UtZmlsdGVyLnBpcGUnO1xuaW1wb3J0IHsgU29ydERldmljZXNQaXBlIH0gZnJvbSAnLi9kZXZpY2Utc29ydC5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEFjY2Vzc01vZGVJY29uUGlwZSxcbiAgICBTb3J0RGV2aWNlc1BpcGUsXG4gICAgRmlsdGVyRGV2aWNlc0J5Wm9uZVBpcGUsXG4gICAgRmlsdGVyRGV2aWNlc0J5VHlwZVBpcGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBY2Nlc3NNb2RlSWNvblBpcGUsXG4gICAgU29ydERldmljZXNQaXBlLFxuICAgIEZpbHRlckRldmljZXNCeVpvbmVQaXBlLFxuICAgIEZpbHRlckRldmljZXNCeVR5cGVQaXBlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERldmljZVBpcGVNb2R1bGUge1xufVxuIl19
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// Modules
|
|
2
2
|
export * from './device-pipe.module';
|
|
3
3
|
// Pipes
|
|
4
|
+
export * from './access-mode-icon.pipe';
|
|
4
5
|
export * from './device-filter-by-zone.pipe';
|
|
5
6
|
export * from './device-filter.pipe';
|
|
6
7
|
export * from './device-sort.pipe';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3BpcGVzL2RldmljZS1waXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxRQUFRO0FBQ1IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIE1vZHVsZXNcbmV4cG9ydCAqIGZyb20gJy4vZGV2aWNlLXBpcGUubW9kdWxlJztcblxuLy8gUGlwZXNcbmV4cG9ydCAqIGZyb20gJy4vYWNjZXNzLW1vZGUtaWNvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZGV2aWNlLWZpbHRlci1ieS16b25lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXZpY2UtZmlsdGVyLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXZpY2Utc29ydC5waXBlJztcbiJdfQ==
|
|
@@ -509,16 +509,32 @@ export class MenuService {
|
|
|
509
509
|
];
|
|
510
510
|
}
|
|
511
511
|
getScan2payMenu() {
|
|
512
|
-
|
|
513
|
-
|
|
512
|
+
const menu = [];
|
|
513
|
+
const scan2payModule = this.store.selectSnapshot(SessionState.userInfo)?.permissionInfo?.modules?.find(module => module.module === AppModule.Scan2Pay);
|
|
514
|
+
// A null list means every submodule is allowed - same rule SubModuleGuard applies.
|
|
515
|
+
const isSubModuleExists = (subModule) => !scan2payModule?.subModule || scan2payModule.subModule.some(s => s === subModule);
|
|
516
|
+
if (isSubModuleExists(SubModule.Scan2Pay)) {
|
|
517
|
+
menu.push({
|
|
514
518
|
icon: 'tb-section-scan2pay-module',
|
|
515
519
|
name: Localization.scan2pay_module,
|
|
516
|
-
route: this.getNavigationRoute(['scantopay']),
|
|
520
|
+
route: this.getNavigationRoute(['scantopay', 'lots']),
|
|
517
521
|
hasBadge: false,
|
|
518
522
|
children: null,
|
|
519
523
|
subModule: SubModule.Scan2Pay,
|
|
520
|
-
}
|
|
521
|
-
|
|
524
|
+
});
|
|
525
|
+
}
|
|
526
|
+
// Signs is owned by eCommerce Backoffice and listed here too; both items sit on their own segment so neither route is a prefix of the other.
|
|
527
|
+
if (scan2payModule?.subModule?.some(s => s === SubModule.ECommerceScanToPaySigns)) {
|
|
528
|
+
menu.push({
|
|
529
|
+
icon: 'tb-icon-white-ecommerce-scan-to-pay-signs',
|
|
530
|
+
name: Localization.scan_to_pay_signs,
|
|
531
|
+
route: this.getNavigationRoute(['scantopay', 'signs']),
|
|
532
|
+
hasBadge: false,
|
|
533
|
+
children: null,
|
|
534
|
+
subModule: SubModule.ECommerceScanToPaySigns,
|
|
535
|
+
});
|
|
536
|
+
}
|
|
537
|
+
return menu;
|
|
522
538
|
}
|
|
523
539
|
getInsightsMenu() {
|
|
524
540
|
return [
|
|
@@ -574,4 +590,4 @@ export class MenuService {
|
|
|
574
590
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuService, decorators: [{
|
|
575
591
|
type: Injectable
|
|
576
592
|
}], ctorParameters: () => [{ type: i1.RouteService }, { type: i2.Store }] });
|
|
577
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRWpHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQUduRCxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUFvQixZQUEwQixFQUFVLEtBQVk7UUFBaEQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQ3BFLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxVQUFvQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELDBCQUEwQjtRQUN4QixNQUFNLElBQUksR0FBZSxFQUFFLENBQUM7UUFDNUIsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzFLLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxTQUFvQixFQUFFLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFD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VyxDQUFDLENBQUM7Z0JBQ25ELFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsaUNBQWlDO2dCQUN2QyxJQUFJLEVBQUUsWUFBWSxDQUFDLFVBQVU7Z0JBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQ3BELFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7U0FDRixDQUFDO0lBQ0osQ0FBQzsrR0E5bUJVLFdBQVc7bUhBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uIH0gZnJvbSAnLi4vZW51bXMvbG9jYWxpemF0aW9uLmVudW0nO1xuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL21lbnUtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvbkluZm8gfSBmcm9tICcuLi9tb2R1bGVzL2F1dGgvbW9kZWwvcGVybWlzc2lvbi1pbmZvLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGUgfSBmcm9tICcuLi9tb2R1bGVzL2F1dGgvc2Vzc2lvbi5zdGF0ZSc7XG5pbXBvcnQgeyBBcHBNb2R1bGUsIFJlcG9ydENhdGVnb3J5RHRvLCBTdWJNb2R1bGUgfSBmcm9tICcuLi9zZXJ2aWNlLXByb3h5L2Nsb3VkLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBSb3V0ZVNlcnZpY2UgfSBmcm9tICcuL3JvdXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUkVQT1JUX0NBVEVHT1JZX0FMTCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNZW51U2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZVNlcnZpY2U6IFJvdXRlU2VydmljZSwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHtcbiAgfVxuXG4gIGdldE5hdmlnYXRpb25Sb3V0ZShyb3V0ZVBhcnRzOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZVNlcnZpY2UuZ2V0TmF2aWdhdGlvblJvdXRlKHJvdXRlUGFydHMpO1xuICB9XG5cbiAgZ2V0RUNvbW1lcmNlQmFja29mZmljZU1lbnUoKTogTWVudUl0ZW1bXSB7XG4gICAgY29uc3QgbWVudTogTWVudUl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IGVDb21tZXJjZUJhY2tvZmZpY2VNb2R1bGUgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS51c2VySW5mbykucGVybWlzc2lvbkluZm8ubW9kdWxlcy5maW5kKG1vZHVsZSA9PiBtb2R1bGUubW9kdWxlID09PSBBcHBNb2R1bGUuRUNvbW1lcmNlQmFja29mZmljZSk7XG4gICAgY29uc3QgaXNTdWJNb2R1bGVFeGlzdHMgPSAoc3ViTW9kdWxlOiBTdWJNb2R1bGUpID0+IGVDb21tZXJjZUJhY2tvZmZpY2VNb2R1bGU/LnN1Yk1vZHVsZT8uc29tZShzID0+IHMgPT09IHN1Yk1vZHVsZSkgPz8gZmFsc2U7XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkVDb21tZXJjZU15U2l0ZSkpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWVjb21tZXJjZS1teS1zaXRlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmVjb21tZXJjZV9teV9zaXRlLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2Vjb21tZXJjZS1iYWNrb2ZmaWNlJywgJ215LXNpdGUnXSksXG4gICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuRUNvbW1lcmNlTXlTaXRlXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkVDb21tZXJjZUNvbmZpZ3VyYXRpb24pKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1lY29tbWVyY2UtY29uZmlndXJhdGlvbicsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5jb25maWd1cmF0aW9uLFxuICAgICAgICByb3V0ZTogbnVsbCxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogW3tcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1lY29tbWVyY2UtY29uZmlndXJhdGlvbi1jYXJkLW9uLWZpbGUnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5jYXJkX29uX2ZpbGUsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnZWNvbW1lcmNlLWJhY2tvZmZpY2UnLCAnY29uZmlndXJhdGlvbicsICdjYXJkLW9uLWZpbGUnXSksXG4gICAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkVDb21tZXJjZUNvbmZpZ3VyYXRpb25cbiAgICAgICAgfSx7XG4gICAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtZWNvbW1lcmNlLWNvbmZpZ3VyYXRpb24tb2ZmZXJzLW1hbmFnZW1lbnQnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5vZmZlcnNfbWFuYWdlbWVudCxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydlY29tbWVyY2UtYmFja29mZmljZScsICdjb25maWd1cmF0aW9uJywgJ29mZmVycy1tYW5hZ2VtZW50J10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5FQ29tbWVyY2VDb25maWd1cmF0aW9uXG4gICAgICAgIH1dLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5FQ29tbWVyY2VDb25maWd1cmF0aW9uXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkVDb21tZXJjZVNjYW5Ub1BheVNpZ25zKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtZWNvbW1lcmNlLXNjYW4tdG8tcGF5LXNpZ25zJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnNjYW5fdG9fcGF5X3NpZ25zLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2Vjb21tZXJjZS1iYWNrb2ZmaWNlJywgJ3NjYW4tdG8tcGF5LXNpZ25zJ10pLFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkVDb21tZXJjZVNjYW5Ub1BheVNpZ25zXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVudTtcbiAgfVxuXG4gIGdldExvdENvbmZpZ3VyYXRpb25NZW51KCk6IE1lbnVJdGVtW10ge1xuICAgIGNvbnN0IG1lbnU6IE1lbnVJdGVtW10gPSBbXTtcbiAgICBjb25zdCBsb3RDb25maWd1cmF0aW9uTW9kdWxlID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUudXNlckluZm8pLnBlcm1pc3Npb25JbmZvLm1vZHVsZXMuZmluZChtb2R1bGUgPT4gbW9kdWxlLm1vZHVsZSA9PT0gQXBwTW9kdWxlLkxvdENvbmZpZ3VyYXRpb24pO1xuICAgIGNvbnN0IGlzU3ViTW9kdWxlRXhpc3RzID0gKHN1Yk1vZHVsZTogU3ViTW9kdWxlKSA9PiBsb3RDb25maWd1cmF0aW9uTW9kdWxlLnN1Yk1vZHVsZS5zb21lKHMgPT4gcyA9PT0gc3ViTW9kdWxlKTtcblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuUmF0ZXMpKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1yYXRlcycsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5yYXRlcyxcbiAgICAgICAgcm91dGU6IG51bGwsXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IFt7XG4gICAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtc3BlY2lhbC1kYXlzJyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uc3BlY2lhbF9kYXlzLFxuICAgICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2xvdC1jb25maWd1cmF0aW9uJywgJ3JhdGVzJywgJ3NwZWNpYWwtZGF5cyddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuUmF0ZXNcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLXJhdGVzLXByb2dyYW1taW5nJyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24ucmF0ZXNfcHJvZ3JhbW1pbmcsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAncmF0ZXMnLCAncmF0ZXMtcHJvZ3JhbW1pbmcnXSksXG4gICAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlJhdGVzXG4gICAgICAgIH0sIHtcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1rZXktb3B0aW9ucycsXG4gICAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmtleV9vcHRpb25zLFxuICAgICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2xvdC1jb25maWd1cmF0aW9uJywgJ3JhdGVzJywgJ2tleS1vcHRpb25zJ10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5SYXRlc1xuICAgICAgICB9LCB7XG4gICAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtc3VyY2hhcmdlJyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uc3VyY2hhcmdlLFxuICAgICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2xvdC1jb25maWd1cmF0aW9uJywgJ3JhdGVzJywgJ3N1cmNoYXJnZSddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuUmF0ZXNcbiAgICAgICAgfSwge1xuICAgICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLXJhdGUtb24tZGlzcGxheScsXG4gICAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnJhdGVfb25fZGlzcGxheSxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydsb3QtY29uZmlndXJhdGlvbicsICdyYXRlcycsICdyYXRlLW9uLWRpc3BsYXknXSksXG4gICAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlJhdGVzXG4gICAgICAgIH0sIHtcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1sb3N0LXRpY2tldCcsXG4gICAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmxvc3RfdGlja2V0X2ZlZSxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydsb3QtY29uZmlndXJhdGlvbicsICdyYXRlcycsICdsb3N0LXRpY2tldCddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuUmF0ZXNcbiAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5SYXRlc1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5EeW5hbWljUHJpY2luZykpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWR5bmFtaWMtcHJpY2luZycsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5keW5hbWljX3ByaWNpbmcsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2xvdC1jb25maWd1cmF0aW9uJywgJ2R5bmFtaWMtcHJpY2luZyddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkR5bmFtaWNQcmljaW5nXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLlNjaGVkdWxlcikpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLXNjaGVkdWxlcicsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5zY2hlZHVsZXIsXG4gICAgICAgIHJvdXRlOiBudWxsLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLXNjaGVkdWxlci1yYXRlJyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24ucmF0ZSxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydsb3QtY29uZmlndXJhdGlvbicsICdzY2hlZHVsZXInLCAncmF0ZSddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuU2NoZWR1bGVyXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1kZXZpY2UtYWN0aXZpdHknLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5kZXZpY2VfYWN0aXZpdHksXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAnc2NoZWR1bGVyJywgJ2RldmljZS1hY3Rpdml0eSddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuU2NoZWR1bGVyXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1wcmVwYWlkLWtleXMnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5wcmVwYWlkX2tleXMsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAnc2NoZWR1bGVyJywgJ3ByZXBhaWQta2V5cyddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuU2NoZWR1bGVyXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1hY2Nlc3MtcHJvZmlsZXMtYWx0ZXJuYXRpdmVzJyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uYWNjZXNzX3Byb2ZpbGVfYWx0ZXJuYXRpdmUsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAnc2NoZWR1bGVyJywgJ2FjY2Vzcy1wcm9maWxlLWFsdGVybmF0aXZlJ10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5TY2hlZHVsZXJcbiAgICAgICAgfV0sXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlNjaGVkdWxlclxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5WYWxpZGF0aW9uUHJvZmlsZXMpKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS12YWxpZGF0aW9uJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnZhbGlkYXRpb25fcHJvZmlsZXMsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2xvdC1jb25maWd1cmF0aW9uJywgJ3ZhbGlkYXRpb24tcHJvZmlsZSddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlZhbGlkYXRpb25Qcm9maWxlc1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5BY2Nlc3NQcm9maWxlcykpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWFjY2Vzcy1wcm9maWxlcycsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5hY2Nlc3NfcHJvZmlsZXMsXG4gICAgICAgIHJvdXRlOiBudWxsLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWFjY2Vzcy1wcm9maWxlcy1tb250aGxpZXMtZ3Vlc3RzJyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24ubW9udGhsaWVzX2FuZF9ndWVzdHMsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAnYWNjZXNzLXByb2ZpbGVzJywgJ21vbnRobGllcy1hbmQtZ3Vlc3RzJ10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5BY2Nlc3NQcm9maWxlc1xuICAgICAgICB9XSxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuQWNjZXNzUHJvZmlsZXNcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuQ2FzaGllcnNNYW5hZ2VtZW50KSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtbWFuYWdlLWNhc2hpZXJzJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmNhc2hpZXJzX21hbmFnZW1lbnQsXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAnY2FzaGllcnMtbWFuYWdlbWVudCddKSxcbiAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5DYXNoaWVyc01hbmFnZW1lbnRcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBtZW51O1xuICB9XG5cbiAgZ2V0TWFuYWdlbWVudE1lbnUoKTogTWVudUl0ZW1bXSB7XG4gICAgY29uc3QgbWVudTogTWVudUl0ZW1bXSA9IFtcbiAgICAgIHRoaXMuZ2V0VXNlcnNNZW51SXRlbSgpLFxuICAgIF07XG5cbiAgICBjb25zdCB1c2VyTWFuYWdlbWVudE1vZHVsZSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLnVzZXJJbmZvKS5wZXJtaXNzaW9uSW5mby5tb2R1bGVzLmZpbmQobW9kdWxlID0+IG1vZHVsZS5tb2R1bGUgPT09IEFwcE1vZHVsZS5NYW5hZ2VtZW50KTtcbiAgICBjb25zdCBpc1N1Yk1vZHVsZUV4aXN0cyA9IChzdWJNb2R1bGU6IFN1Yk1vZHVsZSkgPT4gdXNlck1hbmFnZW1lbnRNb2R1bGUuc3ViTW9kdWxlLnNvbWUocyA9PiBzID09PSBzdWJNb2R1bGUpO1xuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5GYWNpbGl0aWVzQW5kU21hcnRwYXJrcykpIHtcbiAgICAgIG1lbnUudW5zaGlmdCh7XG4gICAgICAgIGljb246ICd0Yi1mYWNpbGl0eS1pY29uJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnNtYXJ0cGFya190aXRsZSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbWFuYWdlbWVudCcsICdzbWFydHBhcmtzJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgfSk7XG5cbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkxvZ28pKSB7XG4gICAgICBtZW51LnB1c2godGhpcy5nZXRMb2dvTWVudUl0ZW0oKSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5TbXRwU2V0dGluZ3MpKSB7XG4gICAgICBtZW51LnB1c2godGhpcy5nZXRTbXRwU2V0dGluZ3NNZW51SXRlbSgpKTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkRlZmF1bHRVc2VyU2V0dGluZ3MpKSB7XG4gICAgICBtZW51LnB1c2godGhpcy5nZXREZWZhdWx0VXNlcnNTZXR0aW5nc01lbnVJdGVtKCkpO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuQXVkaXQpKSB7XG4gICAgICBtZW51LnB1c2godGhpcy5nZXRBdWRpdExvZ01lbnVJdGVtKCkpO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuRGlnaXRhbFJlY2VpcHQpKSB7XG4gICAgICBtZW51LnB1c2godGhpcy5nZXREaWdpdGFsUmVjZWlwdE1lbnVJdGVtKCkpO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuRW5mb3JjZW1lbnRJbnRlZ3JhdGlvbikpIHtcbiAgICAgIG1lbnUucHVzaCh0aGlzLmdldEVuZm9yY2VtZW50SW50ZWdyYXRpb25NZW51SXRlbSgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVudTtcbiAgfVxuXG4gIGdldERlZmF1bHRVc2Vyc1NldHRpbmdzTWVudUl0ZW0oKTogTWVudUl0ZW0ge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiAndGItdXNlcnMtc2V0dGluZ3MtaWNvbicsXG4gICAgICBuYW1lOiBMb2NhbGl6YXRpb24udXNlcl9kZWZhdWx0X3NldHRpbmdzLFxuICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbWFuYWdlbWVudCcsICdkZWZhdWx0LXVzZXItc2V0dGluZ3MnXSksXG4gICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0QXVkaXRMb2dNZW51SXRlbSgpOiBNZW51SXRlbSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb246ICd0Yi1hdWRpdC1pY29uJyxcbiAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5hdWRpdF9sb2dzLFxuICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbWFuYWdlbWVudCcsICdhdWRpdC1sb2cnXSksXG4gICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0RGlnaXRhbFJlY2VpcHRNZW51SXRlbSgpOiBNZW51SXRlbSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb246ICd0Yi1kaWdpdGFsLXJlY2VpcHQtaWNvbicsXG4gICAgICBuYW1lOiBMb2NhbGl6YXRpb24uZGlnaXRhbF9yZWNlaXB0LFxuICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbWFuYWdlbWVudCcsICdkaWdpdGFsLXJlY2VpcHQnXSksXG4gICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0RW5mb3JjZW1lbnRJbnRlZ3JhdGlvbk1lbnVJdGVtKCk6IE1lbnVJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogJ3RiLWVuZm9yY2VtZW50LWludGVncmF0aW9uLWljb24nLFxuICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmVuZm9yY2VtZW50X2ludGVncmF0aW9uLFxuICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbWFuYWdlbWVudCcsICdlbmZvcmNlbWVudC1pbnRlZ3JhdGlvbiddKSxcbiAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgIH07XG4gIH1cblxuICBnZXRVc2Vyc01lbnVJdGVtKCk6IE1lbnVJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogJ3RiLXVzZXItaWNvbicsXG4gICAgICBuYW1lOiBMb2NhbGl6YXRpb24udXNlcl9tYW5hZ2VtZW50LFxuICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbWFuYWdlbWVudCcsICd1c2VyLW1hbmFnZW1lbnQnXSksXG4gICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0TG9nb01lbnVJdGVtKCk6IE1lbnVJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogJ3RiLXRlbmFudC13aGl0ZS1sb2dvLW1vZHVsZScsXG4gICAgICBuYW1lOiBMb2NhbGl6YXRpb24udGVuYW50X2xvZ28sXG4gICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydtYW5hZ2VtZW50JywgJ2xvZ28nXSksXG4gICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0U210cFNldHRpbmdzTWVudUl0ZW0oKTogTWVudUl0ZW0ge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiAndGItZW1haWwtc2VydmVyLWljb24nLFxuICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmVtYWlsX3NlcnZlcl90aXRsZSxcbiAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ21hbmFnZW1lbnQnLCAnZW1haWwtc2VydmVyJ10pLFxuICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIGdldFVzZXJTZXR0aW5nc01lbnUocGVybWlzc2lvbkluZm86IFBlcm1pc3Npb25JbmZvKTogTWVudUl0ZW1bXSB7XG4gICAgY29uc3QgdXNlclNldHRpbmdzTWVudTogTWVudUl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IGlzVXNlckF1dGhlbnRpY2F0ZWRXaXRoU1NPID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuaXNVc2VyQXV0aGVudGljYXRlZFdpdGhTU08pO1xuXG4gICAgaWYgKCFpc1VzZXJBdXRoZW50aWNhdGVkV2l0aFNTTykge1xuICAgICAgdXNlclNldHRpbmdzTWVudS5wdXNoKFxuICAgICAgICB7XG4gICAgICAgICAgaWNvbjogJ3RiLXNlY3VyaXR5LWljb24nLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5zZWN1cml0eV90aXRsZSxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydzZXR0aW5ncycsICdzZWN1cml0eSddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIElmIGFsZXJ0c1xuICAgIGlmIChwZXJtaXNzaW9uSW5mby5tb2R1bGVzLmZpbHRlcihtID0+IEFwcE1vZHVsZS5DYyA9PT0gbS5tb2R1bGUpLmxlbmd0aCkge1xuICAgICAgdXNlclNldHRpbmdzTWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLWFsZXJ0cy1pY29uJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmFsZXJ0c19hbmRfbm90aWZpY2F0aW9uc19wcmVmZXJlbmNlc190aXRsZSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnc2V0dGluZ3MnLCAnYWxlcnRzLWFuZC1ub3RpZmljYXRpb25zJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXNlclNldHRpbmdzTWVudS5wdXNoKHtcbiAgICAgIGljb246ICd0Yi1kYXRlLWFuZC10aW1lLWljb24nLFxuICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmRhdGVfdGltZV90aXRsZSxcbiAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ3NldHRpbmdzJywgJ2RhdGUtdGltZSddKSxcbiAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgIH0pO1xuXG4gICAgdXNlclNldHRpbmdzTWVudS5wdXNoKHtcbiAgICAgIGljb246ICd0Yi1sYW5ndWFnZS1pY29uJyxcbiAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5sYW5ndWFnZV90aXRsZSxcbiAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ3NldHRpbmdzJywgJ2xhbmd1YWdlJ10pLFxuICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdXNlclNldHRpbmdzTWVudTtcbiAgfVxuXG4gIGdldFZhbGlkYXRpb25NZW51KCk6IE1lbnVJdGVtW10ge1xuICAgIGNvbnN0IG1lbnU6IE1lbnVJdGVtW10gPSBbXTtcbiAgICBjb25zdCB2YWxpZGF0aW9uTW9kdWxlID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUudXNlckluZm8pLnBlcm1pc3Npb25JbmZvLm1vZHVsZXMuZmluZChtb2R1bGUgPT4gbW9kdWxlLm1vZHVsZSA9PT0gQXBwTW9kdWxlLlZhbGlkYXRpb24pO1xuICAgIGNvbnN0IGlzU3ViTW9kdWxlRXhpc3RzID0gKHN1Yk1vZHVsZTogU3ViTW9kdWxlKSA9PiB2YWxpZGF0aW9uTW9kdWxlPy5zdWJNb2R1bGUuc29tZShzID0+IHMgPT09IHN1Yk1vZHVsZSk7XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkVWYWxpZGF0aW9uKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLWVWYWxpZGF0aW9uLW1vZHVsZScsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5lVmFsaWRhdGlvbixcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsndmFsaWRhdGlvbicsICdyZW1vdGUtdmFsaWRhdGlvbiddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuRVZhbGlkYXRpb25cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuU2VsZlZhbGlkYXRpb24pKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItc2VsZi12YWxpZGF0aW9ucy1tb2R1bGUnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uc2VsZl92YWxpZGF0aW9ucyxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsndmFsaWRhdGlvbicsICdzZWxmLXZhbGlkYXRpb25zJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5TZWxmVmFsaWRhdGlvblxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5Db3Vwb25zKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLWNvdXBvbi1pY29uJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmNvdXBvbnMsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ3ZhbGlkYXRpb24nLCAnY291cG9ucyddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuQ291cG9ucyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuU3RpY2tlcnMpKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItc3RpY2tlci1pY29uJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnN0aWNrZXJzLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWyd2YWxpZGF0aW9uJywgJ3N0aWNrZXJzJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5TdGlja2VycyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBtZW51O1xuICB9XG5cbiAgZ2V0R3Vlc3RNZW51KCk6IE1lbnVJdGVtW10ge1xuICAgIGNvbnN0IG1lbnU6IE1lbnVJdGVtW10gPSBbXTtcbiAgICBjb25zdCBndWVzdE1vZHVsZSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLnVzZXJJbmZvKS5wZXJtaXNzaW9uSW5mby5tb2R1bGVzLmZpbmQobW9kdWxlID0+IG1vZHVsZS5tb2R1bGUgPT09IEFwcE1vZHVsZS5HdWVzdHMpO1xuICAgIGNvbnN0IGlzU3ViTW9kdWxlRXhpc3RzID0gKHN1Yk1vZHVsZTogU3ViTW9kdWxlKSA9PiBndWVzdE1vZHVsZS5zdWJNb2R1bGUuc29tZShzID0+IHMgPT09IHN1Yk1vZHVsZSk7XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkd1ZXN0cykpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1zZWN0aW9uLWd1ZXN0LW1vZHVsZScsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5ndWVzdCxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnZ3Vlc3RzJywgJ2d1ZXN0J10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5HdWVzdHMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkhvdGVsR3Vlc3RzKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24taG90ZWwtZ3Vlc3QtbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmhvdGVsX2d1ZXN0LFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydndWVzdHMnLCAnaG90ZWwtZ3Vlc3QnXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkhvdGVsR3Vlc3RzLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5Ib3RlbEd1ZXN0c0lPKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLXdoaXRlLWluLW91dC10aWNrZXRzLW1vZHVsZScsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5pbl9vdXRfdGlja2V0LFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydndWVzdHMnLCAnaW4tb3V0LXRpY2tldCddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuSG90ZWxHdWVzdHNJTyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuRVZvdWNoZXIpKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItd2hpdGUtZVZvdWNoZXJzJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmVWb3VjaGVyLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydndWVzdHMnLCAnZVZvdWNoZXInXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkVWb3VjaGVyLFxuICAgICAgfSk7XG4gICAgfVxuXG5cbiAgICByZXR1cm4gbWVudTtcbiAgfVxuXG4gIGdldFJlcG9ydHNNZW51KHJlcG9ydENhdGVnb3JpZXM6IFJlcG9ydENhdGVnb3J5RHRvW10pOiBNZW51SXRlbVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpY29uOiAndGItc2VjdGlvbi1yZXBvcnRzLW1vZHVsZScsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5yZXBvcnRfdHlwZV9hbGwsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ3JlcG9ydHMnLCAnY2F0ZWdvcnknLCBSRVBPUlRfQ0FURUdPUllfQUxMLnRvU3RyaW5nKCldKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgIH0sXG4gICAgICAuLi4gcmVwb3J0Q2F0ZWdvcmllcy5tYXAocmVwb3J0Q2F0ZWdvcnkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGljb246ICd0Yi1zZWN0aW9uLXJlcG9ydHMtbW9kdWxlJyxcbiAgICAgICAgICBuYW1lOiByZXBvcnRDYXRlZ29yeS5sb2NhbGl6YXRpb25LZXksXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsncmVwb3J0cycsICdjYXRlZ29yeScsIHJlcG9ydENhdGVnb3J5LmNhdGVnb3J5SWQudG9TdHJpbmcoKV0pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgXTtcbiAgfVxuXG4gIGdldE1vbnRobGllc01lbnUoKTogTWVudUl0ZW1bXSB7XG4gICAgY29uc3QgbWVudTogTWVudUl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IG1vbnRobHlNb2R1bGUgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS51c2VySW5mbykucGVybWlzc2lvbkluZm8ubW9kdWxlcy5maW5kKG1vZHVsZSA9PiBtb2R1bGUubW9kdWxlID09PSBBcHBNb2R1bGUuTW9udGhsaWVzKTtcbiAgICBjb25zdCBpc1N1Yk1vZHVsZUV4aXN0cyA9IChzdWJNb2R1bGU6IFN1Yk1vZHVsZSkgPT4gbW9udGhseU1vZHVsZS5zdWJNb2R1bGUuc29tZShzID0+IHMgPT09IHN1Yk1vZHVsZSk7XG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5Nb250aGxpZXMpKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItc2VjdGlvbi1tb250aGxpZXMtbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLm1vbnRobGllcyxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbW9udGhsaWVzJywgJ21vbnRobGllcyddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuTW9udGhsaWVzLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuTW9udGhseVRyYWZmaWMpKSB7XG4gICAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24tbW9udGhsaWVzLW1vZHVsZScsXG4gICAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLm1vbnRobHlfdHJhZmZpYyxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydtb250aGxpZXMnLCAnbW9udGhseS10cmFmZmljJ10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5Nb250aGx5VHJhZmZpYyxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuSW1wb3J0ZXJUb29sKSkge1xuICAgICAgICBtZW51LnB1c2goe1xuICAgICAgICAgIGljb246ICd0Yi1zZWN0aW9uLWltcG9ydC1tb250aGxpZXMtbW9kdWxlJyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uaW1wb3J0ZXJfdG9vbCxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydtb250aGxpZXMnLCAnaW1wb3J0ZXItdG9vbCddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuSW1wb3J0ZXJUb29sLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1lbnU7XG4gICAgfVxuICB9XG5cbiAgZ2V0QWNjb3VudE1hbmFnZW1lbnRNZW51KCk6IE1lbnVJdGVtW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGljb246ICd0Yi1zZWN0aW9uLWFjY291bnQtbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmFjY291bnRzLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydhY2NvdW50LW1hbmFnZW1lbnQnLCAnYWNjb3VudHMnXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkFjY291bnRzLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgZ2V0U2NhbjJwYXlNZW51KCk6IE1lbnVJdGVtW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGljb246ICd0Yi1zZWN0aW9uLXNjYW4ycGF5LW1vZHVsZScsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5zY2FuMnBheV9tb2R1bGUsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ3NjYW50b3BheSddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuU2NhbjJQYXksXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBnZXRJbnNpZ2h0c01lbnUoKTogTWVudUl0ZW1bXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24taW5zaWdodHMtbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmluc2lnaHRzX21vZHVsZSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnaW5zaWdodHMnXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICAvLyBTUFJLMy0xMzcxOSDigJQgVGVjaCBUb29scyBzZWN0aW9uIHNpZGVuYXYgKERldmljZSBDb25maWd1cmF0b3I7IG1vcmUgdG9vbHMgbGFuZCBsYXRlcikuXG4gIGdldFRlY2hUb29sc01lbnUoKTogTWVudUl0ZW1bXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24tZGV2aWNlLWNvbmZpZ3VyYXRvci1tb2R1bGUnLFxuICAgICAgICBuYW1lOiAnZGV2aWNlX2NvbmZpZ3VyYXRvcicsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ3RlY2gtdG9vbHMnLCAnZGV2aWNlLWNvbmZpZ3VyYXRvciddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIGdldFBJTWVudSgpOiBNZW51SXRlbVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpY29uOiAndGItc2VjdGlvbi1waS1yZXZlbnVlLW1vZHVsZScsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5yZXZlbnVlLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydQSScsICdyZXZlbnVlJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24tcGktb2NjdXBhbmN5LW1vZHVsZScsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5vY2N1cGFuY3ksXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ1BJJywgJ29jY3VwYW5jeSddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246ICd0Yi1zZWN0aW9uLXBpLWNvbXBhcmlzb24tbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmNvbXBhcmlzb24sXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ1BJJywgJ2NvbXBhcmlzb24nXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICB9XG4gICAgXTtcbiAgfVxufVxuIl19
|
|
593
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRWpHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQUduRCxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUFvQixZQUEwQixFQUFVLEtBQVk7UUFBaEQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQ3BFLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxVQUFvQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELDBCQUEwQjtRQUN4QixNQUFNLElBQUksR0FBZSxFQUFFLENBQUM7UUFDNUIsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzFLLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxTQUFvQixFQUFFLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFD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O2dCQUNFLElBQUksRUFBRSxpQ0FBaUM7Z0JBQ3ZDLElBQUksRUFBRSxZQUFZLENBQUMsVUFBVTtnQkFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztnQkFDcEQsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLElBQUk7YUFDZjtTQUNGLENBQUM7SUFDSixDQUFDOytHQWpvQlUsV0FBVzttSEFBWCxXQUFXOzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb24gfSBmcm9tICcuLi9lbnVtcy9sb2NhbGl6YXRpb24uZW51bSc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvbWVudS1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uSW5mbyB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9tb2RlbC9wZXJtaXNzaW9uLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IEFwcE1vZHVsZSwgUmVwb3J0Q2F0ZWdvcnlEdG8sIFN1Yk1vZHVsZSB9IGZyb20gJy4uL3NlcnZpY2UtcHJveHkvY2xvdWQtc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IFJvdXRlU2VydmljZSB9IGZyb20gJy4vcm91dGUuc2VydmljZSc7XG5pbXBvcnQgeyBSRVBPUlRfQ0FURUdPUllfQUxMIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1lbnVTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlU2VydmljZTogUm91dGVTZXJ2aWNlLCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge1xuICB9XG5cbiAgZ2V0TmF2aWdhdGlvblJvdXRlKHJvdXRlUGFydHM6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlU2VydmljZS5nZXROYXZpZ2F0aW9uUm91dGUocm91dGVQYXJ0cyk7XG4gIH1cblxuICBnZXRFQ29tbWVyY2VCYWNrb2ZmaWNlTWVudSgpOiBNZW51SXRlbVtdIHtcbiAgICBjb25zdCBtZW51OiBNZW51SXRlbVtdID0gW107XG4gICAgY29uc3QgZUNvbW1lcmNlQmFja29mZmljZU1vZHVsZSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLnVzZXJJbmZvKS5wZXJtaXNzaW9uSW5mby5tb2R1bGVzLmZpbmQobW9kdWxlID0+IG1vZHVsZS5tb2R1bGUgPT09IEFwcE1vZHVsZS5FQ29tbWVyY2VCYWNrb2ZmaWNlKTtcbiAgICBjb25zdCBpc1N1Yk1vZHVsZUV4aXN0cyA9IChzdWJNb2R1bGU6IFN1Yk1vZHVsZSkgPT4gZUNvbW1lcmNlQmFja29mZmljZU1vZHVsZT8uc3ViTW9kdWxlPy5zb21lKHMgPT4gcyA9PT0gc3ViTW9kdWxlKSA/PyBmYWxzZTtcblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuRUNvbW1lcmNlTXlTaXRlKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtZWNvbW1lcmNlLW15LXNpdGUnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uZWNvbW1lcmNlX215X3NpdGUsXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnZWNvbW1lcmNlLWJhY2tvZmZpY2UnLCAnbXktc2l0ZSddKSxcbiAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5FQ29tbWVyY2VNeVNpdGVcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuRUNvbW1lcmNlQ29uZmlndXJhdGlvbikpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWVjb21tZXJjZS1jb25maWd1cmF0aW9uJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmNvbmZpZ3VyYXRpb24sXG4gICAgICAgIHJvdXRlOiBudWxsLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWVjb21tZXJjZS1jb25maWd1cmF0aW9uLWNhcmQtb24tZmlsZScsXG4gICAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmNhcmRfb25fZmlsZSxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydlY29tbWVyY2UtYmFja29mZmljZScsICdjb25maWd1cmF0aW9uJywgJ2NhcmQtb24tZmlsZSddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuRUNvbW1lcmNlQ29uZmlndXJhdGlvblxuICAgICAgICB9LHtcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1lY29tbWVyY2UtY29uZmlndXJhdGlvbi1vZmZlcnMtbWFuYWdlbWVudCcsXG4gICAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLm9mZmVyc19tYW5hZ2VtZW50LFxuICAgICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2Vjb21tZXJjZS1iYWNrb2ZmaWNlJywgJ2NvbmZpZ3VyYXRpb24nLCAnb2ZmZXJzLW1hbmFnZW1lbnQnXSksXG4gICAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkVDb21tZXJjZUNvbmZpZ3VyYXRpb25cbiAgICAgICAgfV0sXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkVDb21tZXJjZUNvbmZpZ3VyYXRpb25cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuRUNvbW1lcmNlU2NhblRvUGF5U2lnbnMpKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1lY29tbWVyY2Utc2Nhbi10by1wYXktc2lnbnMnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uc2Nhbl90b19wYXlfc2lnbnMsXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnZWNvbW1lcmNlLWJhY2tvZmZpY2UnLCAnc2Nhbi10by1wYXktc2lnbnMnXSksXG4gICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuRUNvbW1lcmNlU2NhblRvUGF5U2lnbnNcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBtZW51O1xuICB9XG5cbiAgZ2V0TG90Q29uZmlndXJhdGlvbk1lbnUoKTogTWVudUl0ZW1bXSB7XG4gICAgY29uc3QgbWVudTogTWVudUl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IGxvdENvbmZpZ3VyYXRpb25Nb2R1bGUgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS51c2VySW5mbykucGVybWlzc2lvbkluZm8ubW9kdWxlcy5maW5kKG1vZHVsZSA9PiBtb2R1bGUubW9kdWxlID09PSBBcHBNb2R1bGUuTG90Q29uZmlndXJhdGlvbik7XG4gICAgY29uc3QgaXNTdWJNb2R1bGVFeGlzdHMgPSAoc3ViTW9kdWxlOiBTdWJNb2R1bGUpID0+IGxvdENvbmZpZ3VyYXRpb25Nb2R1bGUuc3ViTW9kdWxlLnNvbWUocyA9PiBzID09PSBzdWJNb2R1bGUpO1xuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5SYXRlcykpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLXJhdGVzJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnJhdGVzLFxuICAgICAgICByb3V0ZTogbnVsbCxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogW3tcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1zcGVjaWFsLWRheXMnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5zcGVjaWFsX2RheXMsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAncmF0ZXMnLCAnc3BlY2lhbC1kYXlzJ10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5SYXRlc1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtcmF0ZXMtcHJvZ3JhbW1pbmcnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5yYXRlc19wcm9ncmFtbWluZyxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydsb3QtY29uZmlndXJhdGlvbicsICdyYXRlcycsICdyYXRlcy1wcm9ncmFtbWluZyddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuUmF0ZXNcbiAgICAgICAgfSwge1xuICAgICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWtleS1vcHRpb25zJyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24ua2V5X29wdGlvbnMsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAncmF0ZXMnLCAna2V5LW9wdGlvbnMnXSksXG4gICAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlJhdGVzXG4gICAgICAgIH0sIHtcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1zdXJjaGFyZ2UnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5zdXJjaGFyZ2UsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAncmF0ZXMnLCAnc3VyY2hhcmdlJ10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5SYXRlc1xuICAgICAgICB9LCB7XG4gICAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtcmF0ZS1vbi1kaXNwbGF5JyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24ucmF0ZV9vbl9kaXNwbGF5LFxuICAgICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2xvdC1jb25maWd1cmF0aW9uJywgJ3JhdGVzJywgJ3JhdGUtb24tZGlzcGxheSddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuUmF0ZXNcbiAgICAgICAgfSwge1xuICAgICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWxvc3QtdGlja2V0JyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24ubG9zdF90aWNrZXRfZmVlLFxuICAgICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2xvdC1jb25maWd1cmF0aW9uJywgJ3JhdGVzJywgJ2xvc3QtdGlja2V0J10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5SYXRlc1xuICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlJhdGVzXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkR5bmFtaWNQcmljaW5nKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtZHluYW1pYy1wcmljaW5nJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmR5bmFtaWNfcHJpY2luZyxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAnZHluYW1pYy1wcmljaW5nJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuRHluYW1pY1ByaWNpbmdcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuU2NoZWR1bGVyKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtc2NoZWR1bGVyJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnNjaGVkdWxlcixcbiAgICAgICAgcm91dGU6IG51bGwsXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IFt7XG4gICAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtc2NoZWR1bGVyLXJhdGUnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5yYXRlLFxuICAgICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2xvdC1jb25maWd1cmF0aW9uJywgJ3NjaGVkdWxlcicsICdyYXRlJ10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5TY2hlZHVsZXJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWRldmljZS1hY3Rpdml0eScsXG4gICAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmRldmljZV9hY3Rpdml0eSxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydsb3QtY29uZmlndXJhdGlvbicsICdzY2hlZHVsZXInLCAnZGV2aWNlLWFjdGl2aXR5J10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5TY2hlZHVsZXJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLXByZXBhaWQta2V5cycsXG4gICAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnByZXBhaWRfa2V5cyxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydsb3QtY29uZmlndXJhdGlvbicsICdzY2hlZHVsZXInLCAncHJlcGFpZC1rZXlzJ10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5TY2hlZHVsZXJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWFjY2Vzcy1wcm9maWxlcy1hbHRlcm5hdGl2ZXMnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5hY2Nlc3NfcHJvZmlsZV9hbHRlcm5hdGl2ZSxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydsb3QtY29uZmlndXJhdGlvbicsICdzY2hlZHVsZXInLCAnYWNjZXNzLXByb2ZpbGUtYWx0ZXJuYXRpdmUnXSksXG4gICAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlNjaGVkdWxlclxuICAgICAgICB9XSxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuU2NoZWR1bGVyXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLlZhbGlkYXRpb25Qcm9maWxlcykpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLXZhbGlkYXRpb24nLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24udmFsaWRhdGlvbl9wcm9maWxlcyxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAndmFsaWRhdGlvbi1wcm9maWxlJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuVmFsaWRhdGlvblByb2ZpbGVzXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkFjY2Vzc1Byb2ZpbGVzKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtYWNjZXNzLXByb2ZpbGVzJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmFjY2Vzc19wcm9maWxlcyxcbiAgICAgICAgcm91dGU6IG51bGwsXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IFt7XG4gICAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtYWNjZXNzLXByb2ZpbGVzLW1vbnRobGllcy1ndWVzdHMnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5tb250aGxpZXNfYW5kX2d1ZXN0cyxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydsb3QtY29uZmlndXJhdGlvbicsICdhY2Nlc3MtcHJvZmlsZXMnLCAnbW9udGhsaWVzLWFuZC1ndWVzdHMnXSksXG4gICAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkFjY2Vzc1Byb2ZpbGVzXG4gICAgICAgIH1dLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5BY2Nlc3NQcm9maWxlc1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5DYXNoaWVyc01hbmFnZW1lbnQpKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1tYW5hZ2UtY2FzaGllcnMnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uY2FzaGllcnNfbWFuYWdlbWVudCxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydsb3QtY29uZmlndXJhdGlvbicsICdjYXNoaWVycy1tYW5hZ2VtZW50J10pLFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkNhc2hpZXJzTWFuYWdlbWVudFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lbnU7XG4gIH1cblxuICBnZXRNYW5hZ2VtZW50TWVudSgpOiBNZW51SXRlbVtdIHtcbiAgICBjb25zdCBtZW51OiBNZW51SXRlbVtdID0gW1xuICAgICAgdGhpcy5nZXRVc2Vyc01lbnVJdGVtKCksXG4gICAgXTtcblxuICAgIGNvbnN0IHVzZXJNYW5hZ2VtZW50TW9kdWxlID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUudXNlckluZm8pLnBlcm1pc3Npb25JbmZvLm1vZHVsZXMuZmluZChtb2R1bGUgPT4gbW9kdWxlLm1vZHVsZSA9PT0gQXBwTW9kdWxlLk1hbmFnZW1lbnQpO1xuICAgIGNvbnN0IGlzU3ViTW9kdWxlRXhpc3RzID0gKHN1Yk1vZHVsZTogU3ViTW9kdWxlKSA9PiB1c2VyTWFuYWdlbWVudE1vZHVsZS5zdWJNb2R1bGUuc29tZShzID0+IHMgPT09IHN1Yk1vZHVsZSk7XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkZhY2lsaXRpZXNBbmRTbWFydHBhcmtzKSkge1xuICAgICAgbWVudS51bnNoaWZ0KHtcbiAgICAgICAgaWNvbjogJ3RiLWZhY2lsaXR5LWljb24nLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uc21hcnRwYXJrX3RpdGxlLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydtYW5hZ2VtZW50JywgJ3NtYXJ0cGFya3MnXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICB9KTtcblxuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuTG9nbykpIHtcbiAgICAgIG1lbnUucHVzaCh0aGlzLmdldExvZ29NZW51SXRlbSgpKTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLlNtdHBTZXR0aW5ncykpIHtcbiAgICAgIG1lbnUucHVzaCh0aGlzLmdldFNtdHBTZXR0aW5nc01lbnVJdGVtKCkpO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuRGVmYXVsdFVzZXJTZXR0aW5ncykpIHtcbiAgICAgIG1lbnUucHVzaCh0aGlzLmdldERlZmF1bHRVc2Vyc1NldHRpbmdzTWVudUl0ZW0oKSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5BdWRpdCkpIHtcbiAgICAgIG1lbnUucHVzaCh0aGlzLmdldEF1ZGl0TG9nTWVudUl0ZW0oKSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5EaWdpdGFsUmVjZWlwdCkpIHtcbiAgICAgIG1lbnUucHVzaCh0aGlzLmdldERpZ2l0YWxSZWNlaXB0TWVudUl0ZW0oKSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5FbmZvcmNlbWVudEludGVncmF0aW9uKSkge1xuICAgICAgbWVudS5wdXNoKHRoaXMuZ2V0RW5mb3JjZW1lbnRJbnRlZ3JhdGlvbk1lbnVJdGVtKCkpO1xuICAgIH1cblxuICAgIHJldHVybiBtZW51O1xuICB9XG5cbiAgZ2V0RGVmYXVsdFVzZXJzU2V0dGluZ3NNZW51SXRlbSgpOiBNZW51SXRlbSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb246ICd0Yi11c2Vycy1zZXR0aW5ncy1pY29uJyxcbiAgICAgIG5hbWU6IExvY2FsaXphdGlvbi51c2VyX2RlZmF1bHRfc2V0dGluZ3MsXG4gICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydtYW5hZ2VtZW50JywgJ2RlZmF1bHQtdXNlci1zZXR0aW5ncyddKSxcbiAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgIH07XG4gIH1cblxuICBnZXRBdWRpdExvZ01lbnVJdGVtKCk6IE1lbnVJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogJ3RiLWF1ZGl0LWljb24nLFxuICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmF1ZGl0X2xvZ3MsXG4gICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydtYW5hZ2VtZW50JywgJ2F1ZGl0LWxvZyddKSxcbiAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgIH07XG4gIH1cblxuICBnZXREaWdpdGFsUmVjZWlwdE1lbnVJdGVtKCk6IE1lbnVJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogJ3RiLWRpZ2l0YWwtcmVjZWlwdC1pY29uJyxcbiAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5kaWdpdGFsX3JlY2VpcHQsXG4gICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydtYW5hZ2VtZW50JywgJ2RpZ2l0YWwtcmVjZWlwdCddKSxcbiAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgIH07XG4gIH1cblxuICBnZXRFbmZvcmNlbWVudEludGVncmF0aW9uTWVudUl0ZW0oKTogTWVudUl0ZW0ge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiAndGItZW5mb3JjZW1lbnQtaW50ZWdyYXRpb24taWNvbicsXG4gICAgICBuYW1lOiBMb2NhbGl6YXRpb24uZW5mb3JjZW1lbnRfaW50ZWdyYXRpb24sXG4gICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydtYW5hZ2VtZW50JywgJ2VuZm9yY2VtZW50LWludGVncmF0aW9uJ10pLFxuICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIGdldFVzZXJzTWVudUl0ZW0oKTogTWVudUl0ZW0ge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiAndGItdXNlci1pY29uJyxcbiAgICAgIG5hbWU6IExvY2FsaXphdGlvbi51c2VyX21hbmFnZW1lbnQsXG4gICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydtYW5hZ2VtZW50JywgJ3VzZXItbWFuYWdlbWVudCddKSxcbiAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgIH07XG4gIH1cblxuICBnZXRMb2dvTWVudUl0ZW0oKTogTWVudUl0ZW0ge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiAndGItdGVuYW50LXdoaXRlLWxvZ28tbW9kdWxlJyxcbiAgICAgIG5hbWU6IExvY2FsaXphdGlvbi50ZW5hbnRfbG9nbyxcbiAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ21hbmFnZW1lbnQnLCAnbG9nbyddKSxcbiAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgIH07XG4gIH1cblxuICBnZXRTbXRwU2V0dGluZ3NNZW51SXRlbSgpOiBNZW51SXRlbSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb246ICd0Yi1lbWFpbC1zZXJ2ZXItaWNvbicsXG4gICAgICBuYW1lOiBMb2NhbGl6YXRpb24uZW1haWxfc2VydmVyX3RpdGxlLFxuICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbWFuYWdlbWVudCcsICdlbWFpbC1zZXJ2ZXInXSksXG4gICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0VXNlclNldHRpbmdzTWVudShwZXJtaXNzaW9uSW5mbzogUGVybWlzc2lvbkluZm8pOiBNZW51SXRlbVtdIHtcbiAgICBjb25zdCB1c2VyU2V0dGluZ3NNZW51OiBNZW51SXRlbVtdID0gW107XG4gICAgY29uc3QgaXNVc2VyQXV0aGVudGljYXRlZFdpdGhTU08gPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS5pc1VzZXJBdXRoZW50aWNhdGVkV2l0aFNTTyk7XG5cbiAgICBpZiAoIWlzVXNlckF1dGhlbnRpY2F0ZWRXaXRoU1NPKSB7XG4gICAgICB1c2VyU2V0dGluZ3NNZW51LnB1c2goXG4gICAgICAgIHtcbiAgICAgICAgICBpY29uOiAndGItc2VjdXJpdHktaWNvbicsXG4gICAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnNlY3VyaXR5X3RpdGxlLFxuICAgICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ3NldHRpbmdzJywgJ3NlY3VyaXR5J10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gSWYgYWxlcnRzXG4gICAgaWYgKHBlcm1pc3Npb25JbmZvLm1vZHVsZXMuZmlsdGVyKG0gPT4gQXBwTW9kdWxlLkNjID09PSBtLm1vZHVsZSkubGVuZ3RoKSB7XG4gICAgICB1c2VyU2V0dGluZ3NNZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItYWxlcnRzLWljb24nLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uYWxlcnRzX2FuZF9ub3RpZmljYXRpb25zX3ByZWZlcmVuY2VzX3RpdGxlLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydzZXR0aW5ncycsICdhbGVydHMtYW5kLW5vdGlmaWNhdGlvbnMnXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB1c2VyU2V0dGluZ3NNZW51LnB1c2goe1xuICAgICAgaWNvbjogJ3RiLWRhdGUtYW5kLXRpbWUtaWNvbicsXG4gICAgICBuYW1lOiBMb2NhbGl6YXRpb24uZGF0ZV90aW1lX3RpdGxlLFxuICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnc2V0dGluZ3MnLCAnZGF0ZS10aW1lJ10pLFxuICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgfSk7XG5cbiAgICB1c2VyU2V0dGluZ3NNZW51LnB1c2goe1xuICAgICAgaWNvbjogJ3RiLWxhbmd1YWdlLWljb24nLFxuICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmxhbmd1YWdlX3RpdGxlLFxuICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnc2V0dGluZ3MnLCAnbGFuZ3VhZ2UnXSksXG4gICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICB9KTtcblxuICAgIHJldHVybiB1c2VyU2V0dGluZ3NNZW51O1xuICB9XG5cbiAgZ2V0VmFsaWRhdGlvbk1lbnUoKTogTWVudUl0ZW1bXSB7XG4gICAgY29uc3QgbWVudTogTWVudUl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IHZhbGlkYXRpb25Nb2R1bGUgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS51c2VySW5mbykucGVybWlzc2lvbkluZm8ubW9kdWxlcy5maW5kKG1vZHVsZSA9PiBtb2R1bGUubW9kdWxlID09PSBBcHBNb2R1bGUuVmFsaWRhdGlvbik7XG4gICAgY29uc3QgaXNTdWJNb2R1bGVFeGlzdHMgPSAoc3ViTW9kdWxlOiBTdWJNb2R1bGUpID0+IHZhbGlkYXRpb25Nb2R1bGU/LnN1Yk1vZHVsZS5zb21lKHMgPT4gcyA9PT0gc3ViTW9kdWxlKTtcblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuRVZhbGlkYXRpb24pKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItZVZhbGlkYXRpb24tbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmVWYWxpZGF0aW9uLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWyd2YWxpZGF0aW9uJywgJ3JlbW90ZS12YWxpZGF0aW9uJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5FVmFsaWRhdGlvblxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5TZWxmVmFsaWRhdGlvbikpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1zZWxmLXZhbGlkYXRpb25zLW1vZHVsZScsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5zZWxmX3ZhbGlkYXRpb25zLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWyd2YWxpZGF0aW9uJywgJ3NlbGYtdmFsaWRhdGlvbnMnXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlNlbGZWYWxpZGF0aW9uXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkNvdXBvbnMpKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItY291cG9uLWljb24nLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uY291cG9ucyxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsndmFsaWRhdGlvbicsICdjb3Vwb25zJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5Db3Vwb25zLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5TdGlja2VycykpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1zdGlja2VyLWljb24nLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uc3RpY2tlcnMsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ3ZhbGlkYXRpb24nLCAnc3RpY2tlcnMnXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlN0aWNrZXJzLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lbnU7XG4gIH1cblxuICBnZXRHdWVzdE1lbnUoKTogTWVudUl0ZW1bXSB7XG4gICAgY29uc3QgbWVudTogTWVudUl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IGd1ZXN0TW9kdWxlID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUudXNlckluZm8pLnBlcm1pc3Npb25JbmZvLm1vZHVsZXMuZmluZChtb2R1bGUgPT4gbW9kdWxlLm1vZHVsZSA9PT0gQXBwTW9kdWxlLkd1ZXN0cyk7XG4gICAgY29uc3QgaXNTdWJNb2R1bGVFeGlzdHMgPSAoc3ViTW9kdWxlOiBTdWJNb2R1bGUpID0+IGd1ZXN0TW9kdWxlLnN1Yk1vZHVsZS5zb21lKHMgPT4gcyA9PT0gc3ViTW9kdWxlKTtcblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuR3Vlc3RzKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24tZ3Vlc3QtbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmd1ZXN0LFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydndWVzdHMnLCAnZ3Vlc3QnXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkd1ZXN0cyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuSG90ZWxHdWVzdHMpKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItc2VjdGlvbi1ob3RlbC1ndWVzdC1tb2R1bGUnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uaG90ZWxfZ3Vlc3QsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2d1ZXN0cycsICdob3RlbC1ndWVzdCddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuSG90ZWxHdWVzdHMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkhvdGVsR3Vlc3RzSU8pKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItd2hpdGUtaW4tb3V0LXRpY2tldHMtbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmluX291dF90aWNrZXQsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2d1ZXN0cycsICdpbi1vdXQtdGlja2V0J10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5Ib3RlbEd1ZXN0c0lPLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5FVm91Y2hlcikpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi13aGl0ZS1lVm91Y2hlcnMnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uZVZvdWNoZXIsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2d1ZXN0cycsICdlVm91Y2hlciddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuRVZvdWNoZXIsXG4gICAgICB9KTtcbiAgICB9XG5cblxuICAgIHJldHVybiBtZW51O1xuICB9XG5cbiAgZ2V0UmVwb3J0c01lbnUocmVwb3J0Q2F0ZWdvcmllczogUmVwb3J0Q2F0ZWdvcnlEdG9bXSk6IE1lbnVJdGVtW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGljb246ICd0Yi1zZWN0aW9uLXJlcG9ydHMtbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnJlcG9ydF90eXBlX2FsbCxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsncmVwb3J0cycsICdjYXRlZ29yeScsIFJFUE9SVF9DQVRFR09SWV9BTEwudG9TdHJpbmcoKV0pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgfSxcbiAgICAgIC4uLiByZXBvcnRDYXRlZ29yaWVzLm1hcChyZXBvcnRDYXRlZ29yeSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24tcmVwb3J0cy1tb2R1bGUnLFxuICAgICAgICAgIG5hbWU6IHJlcG9ydENhdGVnb3J5LmxvY2FsaXphdGlvbktleSxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydyZXBvcnRzJywgJ2NhdGVnb3J5JywgcmVwb3J0Q2F0ZWdvcnkuY2F0ZWdvcnlJZC50b1N0cmluZygpXSksXG4gICAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICBdO1xuICB9XG5cbiAgZ2V0TW9udGhsaWVzTWVudSgpOiBNZW51SXRlbVtdIHtcbiAgICBjb25zdCBtZW51OiBNZW51SXRlbVtdID0gW107XG4gICAgY29uc3QgbW9udGhseU1vZHVsZSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLnVzZXJJbmZvKS5wZXJtaXNzaW9uSW5mby5tb2R1bGVzLmZpbmQobW9kdWxlID0+IG1vZHVsZS5tb2R1bGUgPT09IEFwcE1vZHVsZS5Nb250aGxpZXMpO1xuICAgIGNvbnN0IGlzU3ViTW9kdWxlRXhpc3RzID0gKHN1Yk1vZHVsZTogU3ViTW9kdWxlKSA9PiBtb250aGx5TW9kdWxlLnN1Yk1vZHVsZS5zb21lKHMgPT4gcyA9PT0gc3ViTW9kdWxlKTtcbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLk1vbnRobGllcykpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1zZWN0aW9uLW1vbnRobGllcy1tb2R1bGUnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24ubW9udGhsaWVzLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydtb250aGxpZXMnLCAnbW9udGhsaWVzJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5Nb250aGxpZXMsXG4gICAgICB9KTtcblxuICAgICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5Nb250aGx5VHJhZmZpYykpIHtcbiAgICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgICBpY29uOiAndGItc2VjdGlvbi1tb250aGxpZXMtbW9kdWxlJyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24ubW9udGhseV90cmFmZmljLFxuICAgICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ21vbnRobGllcycsICdtb250aGx5LXRyYWZmaWMnXSksXG4gICAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLk1vbnRobHlUcmFmZmljLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5JbXBvcnRlclRvb2wpKSB7XG4gICAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24taW1wb3J0LW1vbnRobGllcy1tb2R1bGUnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5pbXBvcnRlcl90b29sLFxuICAgICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ21vbnRobGllcycsICdpbXBvcnRlci10b29sJ10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5JbXBvcnRlclRvb2wsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbWVudTtcbiAgICB9XG4gIH1cblxuICBnZXRBY2NvdW50TWFuYWdlbWVudE1lbnUoKTogTWVudUl0ZW1bXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24tYWNjb3VudC1tb2R1bGUnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uYWNjb3VudHMsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2FjY291bnQtbWFuYWdlbWVudCcsICdhY2NvdW50cyddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuQWNjb3VudHMsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBnZXRTY2FuMnBheU1lbnUoKTogTWVudUl0ZW1bXSB7XG4gICAgY29uc3QgbWVudTogTWVudUl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IHNjYW4ycGF5TW9kdWxlID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUudXNlckluZm8pPy5wZXJtaXNzaW9uSW5mbz8ubW9kdWxlcz8uZmluZChtb2R1bGUgPT4gbW9kdWxlLm1vZHVsZSA9PT0gQXBwTW9kdWxlLlNjYW4yUGF5KTtcbiAgICAvLyBBIG51bGwgbGlzdCBtZWFucyBldmVyeSBzdWJtb2R1bGUgaXMgYWxsb3dlZCAtIHNhbWUgcnVsZSBTdWJNb2R1bGVHdWFyZCBhcHBsaWVzLlxuICAgIGNvbnN0IGlzU3ViTW9kdWxlRXhpc3RzID0gKHN1Yk1vZHVsZTogU3ViTW9kdWxlKSA9PiAhc2NhbjJwYXlNb2R1bGU/LnN1Yk1vZHVsZSB8fCBzY2FuMnBheU1vZHVsZS5zdWJNb2R1bGUuc29tZShzID0+IHMgPT09IHN1Yk1vZHVsZSk7XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLlNjYW4yUGF5KSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24tc2NhbjJwYXktbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnNjYW4ycGF5X21vZHVsZSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnc2NhbnRvcGF5JywgJ2xvdHMnXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlNjYW4yUGF5LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gU2lnbnMgaXMgb3duZWQgYnkgZUNvbW1lcmNlIEJhY2tvZmZpY2UgYW5kIGxpc3RlZCBoZXJlIHRvbzsgYm90aCBpdGVtcyBzaXQgb24gdGhlaXIgb3duIHNlZ21lbnQgc28gbmVpdGhlciByb3V0ZSBpcyBhIHByZWZpeCBvZiB0aGUgb3RoZXIuXG4gICAgaWYgKHNjYW4ycGF5TW9kdWxlPy5zdWJNb2R1bGU/LnNvbWUocyA9PiBzID09PSBTdWJNb2R1bGUuRUNvbW1lcmNlU2NhblRvUGF5U2lnbnMpKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1lY29tbWVyY2Utc2Nhbi10by1wYXktc2lnbnMnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uc2Nhbl90b19wYXlfc2lnbnMsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ3NjYW50b3BheScsICdzaWducyddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuRUNvbW1lcmNlU2NhblRvUGF5U2lnbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVudTtcbiAgfVxuXG4gIGdldEluc2lnaHRzTWVudSgpOiBNZW51SXRlbVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpY29uOiAndGItc2VjdGlvbi1pbnNpZ2h0cy1tb2R1bGUnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uaW5zaWdodHNfbW9kdWxlLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydpbnNpZ2h0cyddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIC8vIFNQUkszLTEzNzE5IOKAlCBUZWNoIFRvb2xzIHNlY3Rpb24gc2lkZW5hdiAoRGV2aWNlIENvbmZpZ3VyYXRvcjsgbW9yZSB0b29scyBsYW5kIGxhdGVyKS5cbiAgZ2V0VGVjaFRvb2xzTWVudSgpOiBNZW51SXRlbVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpY29uOiAndGItc2VjdGlvbi1kZXZpY2UtY29uZmlndXJhdG9yLW1vZHVsZScsXG4gICAgICAgIG5hbWU6ICdkZXZpY2VfY29uZmlndXJhdG9yJyxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsndGVjaC10b29scycsICdkZXZpY2UtY29uZmlndXJhdG9yJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgZ2V0UElNZW51KCk6IE1lbnVJdGVtW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGljb246ICd0Yi1zZWN0aW9uLXBpLXJldmVudWUtbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnJldmVudWUsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ1BJJywgJ3JldmVudWUnXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiAndGItc2VjdGlvbi1waS1vY2N1cGFuY3ktbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLm9jY3VwYW5jeSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnUEknLCAnb2NjdXBhbmN5J10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24tcGktY29tcGFyaXNvbi1tb2R1bGUnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uY29tcGFyaXNvbixcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnUEknLCAnY29tcGFyaXNvbiddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgIH1cbiAgICBdO1xuICB9XG59XG4iXX0=
|