vk-payments 0.2.13 → 0.2.15

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.
@@ -36,7 +36,8 @@ export class GoCuotasComponent {
36
36
  this.installments = 0;
37
37
  this.currentInstallments = [
38
38
  { value: 2, label: '2 Cuotas' },
39
- { value: 3, label: '3 Cuotas' }
39
+ { value: 3, label: '3 Cuotas' },
40
+ { value: 4, label: '4 Cuotas' }
40
41
  ]; // Opciones para "Cantidad de cuotas"
41
42
  this.totalAmount = Number(this.paymentAmount);
42
43
  }
@@ -484,4 +485,4 @@ if (false) {
484
485
  */
485
486
  GoCuotasComponent.prototype.goCuotasApiService;
486
487
  }
487
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ28tY3VvdGFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3ZrLXBheW1lbnRzLyIsInNvdXJjZXMiOlsibGliL2dvLWN1b3Rhcy9jb21wb25lbnRzL2dvLWN1b3Rhcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBT3pELE1BQU0sT0FBTyxpQkFBaUI7Ozs7SUErQzVCLFlBQ1Usa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUF0Q3RDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQWlCeEQsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsbUJBQWMsR0FBVyxzQkFBc0IsQ0FBQztRQUNoRCxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUU5QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQVksS0FBSyxDQUFDOzs7UUFLMUIsa0JBQWEsR0FBa0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBT3JGLENBQUM7Ozs7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FB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QUMsY0FBYyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQzs7OztJQTNDMUMsd0NBQThCOztJQUM5QixxQ0FBMkI7O0lBQzNCLHFDQUEyQjs7SUFDM0IsMENBQWdDOztJQUNoQyxtQ0FBeUI7O0lBQ3pCLGtDQUF3Qjs7SUFDeEIsb0NBQTBCOztJQUMxQixpQ0FBdUI7O0lBQ3ZCLHNDQUF3RDs7SUFFeEQsd0NBQXFCOztJQUNyQixxQ0FBa0I7O0lBQ2xCLHdDQUFxQjs7SUFDckIsb0NBQWlCOztJQUNqQixxQ0FBa0I7O0lBQ2xCLHFDQUFrQjs7SUFDbEIsc0NBQW1COztJQUNuQixvQ0FBaUI7O0lBQ2pCLG9DQUFpQjs7SUFDakIseUNBQXNCOztJQUN0QiwyQ0FBd0I7O0lBQ3hCLGdEQUE0Qjs7SUFDNUIsd0NBQXFCOztJQUNyQix5Q0FBMkI7O0lBQzNCLHFDQUFtQjs7SUFDbkIsdUNBQXdCOztJQUN4QiwwQ0FBMkI7O0lBQzNCLDZDQUFrQzs7SUFDbEMsMkNBQWdEOztJQUNoRCwwQ0FBOEI7O0lBRTlCLHFDQUFpQjs7SUFDakIsMkNBQXVCOztJQUN2QixzQ0FBa0I7O0lBQ2xCLHNDQUEyQjs7SUFDM0IscUNBQTBCOztJQUsxQiwwQ0FBeUY7O0lBRXpGLHlDQUF5RDs7SUFDekQsa0NBQW1FOzs7OztJQUdqRSwrQ0FBOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBheW1lbnRSZXN1bHQsIFJlc3BvbnNlQXBpLCBJbml0UGF5bWVudCwgUGF5bWVudCB9IGZyb20gJy4uL21vZGVscy9nby1jdW90YXMubW9kZWxzJztcbmltcG9ydCB7IEdvQ3VvdGFzQXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2dvLWN1b3Rhcy5hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwvbW9kYWwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWdvLWN1b3RhcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9nby1jdW90YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nby1jdW90YXMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHb0N1b3Rhc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgYWNjZXNzVG9rZW4hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGdjVXJsQXBpITogc3RyaW5nO1xuICBASW5wdXQoKSB2a1VybEFwaSE6IHN0cmluZztcbiAgQElucHV0KCkgcGF5bWVudEFtb3VudCE6IHN0cmluZztcbiAgQElucHV0KCkgbG9nb0dDITogc3RyaW5nO1xuICBASW5wdXQoKSBpZFZlbiE6IG51bWJlcjtcbiAgQElucHV0KCkgc3RvcmVJZCE6IHN0cmluZztcbiAgQElucHV0KCkgZGF0YSE6IHN0cmluZztcbiAgQE91dHB1dCgpIHN0YXR1c1BheSA9IG5ldyBFdmVudEVtaXR0ZXI8UGF5bWVudFJlc3VsdD4oKTtcblxuICBkZWZhdWx0TmFtZSE6IHN0cmluZztcbiAgbWFpbFRleHQhOiBzdHJpbmc7XG4gIGNvZEFyZWFUZXh0ITogc3RyaW5nO1xuICB0ZWxUZXh0ITogc3RyaW5nO1xuICBjYXJkVGV4dCE6IHN0cmluZztcbiAgeWVhclRleHQhOiBzdHJpbmc7XG4gIG1vbnRoVGV4dCE6IHN0cmluZztcbiAgZG5pVGV4dCE6IHN0cmluZztcbiAgY3ZjVGV4dCE6IHN0cmluZztcbiAgaW5zdGFsbG1lbnRzITogbnVtYmVyO1xuICBkZWZhdWx0RG9jVHlwZSE6IHN0cmluZztcbiAgY3VycmVudEluc3RhbGxtZW50cyE6IGFueVtdO1xuICB0b3RhbEFtb3VudCE6IG51bWJlcjtcbiAgT2luaXRQYXltZW50ITogSW5pdFBheW1lbnQ7XG4gIE9wYXltZW50ITogUGF5bWVudDtcbiAgc2FsZV90b2tlbjogc3RyaW5nID0gJyc7XG4gIGVycm9yX21lc3NhZ2U6IHN0cmluZyA9ICcnO1xuICBwYXltZW50Q29tcGxldGVkOiBib29sZWFuID0gZmFsc2U7IFxuICBsb2FkaW5nTWVzc2FnZTogc3RyaW5nID0gJ0luaWNpYW5kbyBlbCBwYWdvLi4uJztcbiAgcGF5bWVudFN0YXR1cyA9ICd1bnN1Ym1pdHRlZCc7XG5cbiAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgZGlzYWJsZWRTZWxlY3QgPSBmYWxzZTtcbiAgc3VibWl0dGVkID0gZmFsc2U7XG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBoYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIGFjY2Vzc1Rva2VuOiBzdHJpbmcgPSAnMjU2OTc5My01MWUxNzI1Yy05MzM0LTRlYTItYWRhMC1iMGM4NzE4NzQ0M2MnO1xuICAvLyB1cmw6IHN0cmluZyA9ICdodHRwczovL3NhbmRib3guZ29jdW90YXMuY29tL2FwaS9mdWxsX3NhbGUvdjEvJztcblxuICBwYXltZW50UmVzdWx0OiBQYXltZW50UmVzdWx0ID0geyBzdWNjZXNzOiBmYWxzZSwgcGF5bWVudElkOiAnJywgaW50ZWdyYXRvcjogJ0dPQ1VPVEFTJyB9O1xuXG4gIEBWaWV3Q2hpbGQoJ2YnLCB7IHN0YXRpYzogZmFsc2UgfSkgY2hlY2tPdXRGb3JtITogTmdGb3JtO1xuICBAVmlld0NoaWxkKE1vZGFsQ29tcG9uZW50LCB7c3RhdGljOiBmYWxzZX0pIG1vZGFsITogTW9kYWxDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBnb0N1b3Rhc0FwaVNlcnZpY2U6IEdvQ3VvdGFzQXBpU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZGVmYXVsdERvY1R5cGUgPSAnJztcbiAgICB0aGlzLmluc3RhbGxtZW50cyA9IDA7XG4gICAgdGhpcy5jdXJyZW50SW5zdGFsbG1lbnRzID0gW1xuICAgICAgeyB2YWx1ZTogMiwgbGFiZWw6ICcyIEN1b3RhcycgfSxcbiAgICAgIHsgdmFsdWU6IDMsIGxhYmVsOiAnMyBDdW90YXMnIH1cbiAgICBdOyAvLyBPcGNpb25lcyBwYXJhIFwiQ2FudGlkYWQgZGUgY3VvdGFzXCJcblxuICAgIHRoaXMudG90YWxBbW91bnQgPSBOdW1iZXIodGhpcy5wYXltZW50QW1vdW50KTtcbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xuICAgIFxuICAgIGlmICghdGhpcy5jaGVja091dEZvcm0udmFsaWQpIHsgcmV0dXJuOyB9XG5cbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5wYXltZW50Q29tcGxldGVkID0gZmFsc2U7XG4gICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9ICdJbmljaWFuZG8gZWwgcGFnby4uLic7XG4gICAgdGhpcy5wYXltZW50UmVzdWx0ID0geyBzdWNjZXNzOiBmYWxzZSwgcGF5bWVudElkOiAnJywgaW50ZWdyYXRvcjogJ0dPQ1VPVEFTJyB9O1xuXG4gICAgXG4gICAgdGhpcy5PaW5pdFBheW1lbnQgPSB7XG4gICAgICBhbW91bnQ6IE51bWJlcih0aGlzLnBheW1lbnRBbW91bnQpICogMTAwLFxuICAgICAgYXJlYUNvZGU6IHRoaXMuY29kQXJlYVRleHQsXG4gICAgICBpbnN0YWxsbWVudHM6IHRoaXMuaW5zdGFsbG1lbnRzLCBcbiAgICAgIGRvY3VtZW50TnVtYmVyOiB0aGlzLmRuaVRleHQsXG4gICAgICBwaG9uZU51bWJlcjogdGhpcy50ZWxUZXh0LFxuICAgICAgZW1haWw6IHRoaXMubWFpbFRleHQudG9Mb3dlckNhc2UoKSxcbiAgICAgIGNhcmRob2xkZXI6IHRoaXMuZGVmYXVsdE5hbWUsXG4gICAgICBjcmVkaXRDYXJkSGFzaDogdGhpcy5jYXJkVGV4dCxcbiAgICAgIGlkVmVuOiB0aGlzLmlkVmVuLFxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkLFxuICAgICAgZGF0YTogdGhpcy5kYXRhXG4gICAgfTsgXG5cbiAgICB0aGlzLmluaXRQYXltZW50KCk7XG4gIH1cblxuICBpbml0UGF5bWVudCgpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9ICdFbnZpYW5kbyBjw7NkaWdvLi4uJztcblxuICAgIHRoaXMuZ29DdW90YXNBcGlTZXJ2aWNlLmluaXRQYXltZW50KHRoaXMuYWNjZXNzVG9rZW4sIHRoaXMudmtVcmxBcGksIHRoaXMuT2luaXRQYXltZW50KVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICh2KSA9PiB0aGlzLmluaXRQYXltZW50UmVzcG9uc2VIYW5kbGVyKHYpLFxuICAgICAgICBlcnJvcjogKHYpID0+IHRoaXMuUmVzcG9uc2VIYW5kbGVyRXJyb3IodilcbiAgICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGluaXRQYXltZW50UmVzcG9uc2VIYW5kbGVyKHJlc3BvbnNlOiBSZXNwb25zZUFwaSkge1xuICAgIGlmKCFyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICB0aGlzLmVycm9yX21lc3NhZ2UgPSByZXNwb25zZS5lcnJvcnNNZXNzYWdlc1swXTtcbiAgICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgdGhpcy5kaXNhYmxlZFNlbGVjdCA9IHRydWU7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLk9wYXltZW50ID0ge1xuICAgICAgaWQ6IHJlc3BvbnNlLmRhdGEuaWQsXG4gICAgICBjYXJkaG9sZGVyOiB0aGlzLmRlZmF1bHROYW1lLFxuICAgICAgc2FsZV90b2tlbjogcmVzcG9uc2UuZGF0YS5yZXNwb25zZS5zYWxlX3Rva2VuLFxuICAgICAgY3JlZGl0Q2FyZEhhc2g6IHRoaXMuY2FyZFRleHQsXG4gICAgICBjYXJkTW9udGhFeHBpcmF0aW9uOiBOdW1iZXIodGhpcy5tb250aFRleHQpLFxuICAgICAgY2FyZFllYXJFeHBpcmF0aW9uOiBOdW1iZXIodGhpcy55ZWFyVGV4dCksXG4gICAgICBjYXJkU2VjdXJpdHlDb2RlOiBOdW1iZXIodGhpcy5jdmNUZXh0KSxcbiAgICAgIGlkVmVuOiB0aGlzLmlkVmVuLFxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkLFxuICAgICAgZGF0YTogdGhpcy5kYXRhXG4gICAgfTtcblxuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5kaXNhYmxlZFNlbGVjdCA9IHRydWU7XG4gICAgdGhpcy5tb2RhbC5vcGVuTW9kYWwoKTtcbiAgICB0aGlzLnBheW1lbnRTdGF0dXMgPSAnc2VudENvZGUnO1xuICB9XG5cbiAgb25Db2RlU2VudChjb2RlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9ICdQcm9jZXNhbmRvIHBhZ28uLi4nO1xuICAgIFxuICAgIHRoaXMuT3BheW1lbnQuY29kZSA9IE51bWJlcihjb2RlKTtcbiAgICBcbiAgICBpZihjb2RlICE9PSBudWxsKXtcbiAgICAgIHRoaXMuZmluaXNoUGF5bWVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaW5pc2hQYXltZW50KCkge1xuICAgIHRoaXMucGF5bWVudFN0YXR1cyA9ICdwcm9jZXNzaW5nJztcblxuICAgIHRoaXMuZ29DdW90YXNBcGlTZXJ2aWNlLnBheW1lbnQodGhpcy5hY2Nlc3NUb2tlbiwgdGhpcy52a1VybEFwaSwgdGhpcy5PcGF5bWVudClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAodikgPT4gdGhpcy5GaW5pc2hQYXltZW50UmVzcG9uc2VIYW5kbGVyKHYpLCAgICAgICAgXG4gICAgICAgIGVycm9yOiAodikgPT4gdGhpcy5SZXNwb25zZUhhbmRsZXJFcnJvcih2KVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIFJlc3BvbnNlSGFuZGxlckVycm9yKHJlc3BvbnNlOiBhbnkpIHtcbiAgICB0aGlzLnBheW1lbnRTdGF0dXMgPSAnZXJyb3InO1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuZGlzYWJsZWRTZWxlY3QgPSB0cnVlO1xuICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcblxuICAgIGlmKCFyZXNwb25zZS5vayAmJiByZXNwb25zZS5lcnJvciA9PT0gbnVsbCAmJiByZXNwb25zZS5zdGF0dXMgPT09IDUwMCl7XG4gICAgICB0aGlzLmVycm9yX21lc3NhZ2UgPSBcIkVycm9yIGVuIGVsIHNlcnZpZG9yLiBWdWVsdmEgYSBpbnRlbnRhciBtw6FzIHRhcmRlLlwiO1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuaGFzRXJyb3IgPSB0cnVlOyBcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZXJyb3JfbWVzc2FnZSA9IHJlc3BvbnNlLmVycm9yLmVycm9yc01lc3NhZ2VzWzBdO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5oYXNFcnJvciA9IHRydWU7IFxuICB9XG5cbiAgcHJpdmF0ZSBGaW5pc2hQYXltZW50UmVzcG9uc2VIYW5kbGVyKHJlc3BvbnNlOiBSZXNwb25zZUFwaSl7XG4gICAgdGhpcy5wYXltZW50U3RhdHVzID0gJ3N1Y2Nlc3MnO1xuXG4gICAgaWYoIXJlc3BvbnNlLnN1Y2Nlc3MpIHtcbiAgICAgIHRoaXMuZXJyb3JfbWVzc2FnZSA9IHJlc3BvbnNlLmVycm9yc01lc3NhZ2VzWzBdO1xuICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh0aGlzLnBheW1lbnRSZXN1bHQpO1xuXG4gICAgICByZXR1cm47XG4gICAgfSAgICBcblxuICAgIHRoaXMuT3BheW1lbnQucGF5bWVudElkID0gcmVzcG9uc2UuZGF0YS5wYXltZW50SWRcbiAgICB0aGlzLnBheW1lbnRSZXN1bHQgPSB7IHN1Y2Nlc3M6IHRydWUsIHBheW1lbnRJZDogU3RyaW5nKHRoaXMuT3BheW1lbnQucGF5bWVudElkKSAsIGludGVncmF0b3I6ICdHT0dVT1RBUycgfTtcbiAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHRoaXMucGF5bWVudFJlc3VsdCk7XG4gICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9ICfCoVBhZ28gcHJvY2VzYWRvIGNvcnJlY3RhbWVudGUhJztcbiAgICB0aGlzLnBheW1lbnRDb21wbGV0ZWQgPSB0cnVlOyAgICBcbiAgfVxuXG4gIHJlc3RhcnRGb3JtKCkge1xuICAgIHRoaXMuaGFzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLmRpc2FibGVkU2VsZWN0ID0gZmFsc2U7XG4gICAgdGhpcy5wYXltZW50U3RhdHVzID0gJ3Vuc3VibWl0dGVkJztcbiAgICB0aGlzLmNoZWNrT3V0Rm9ybS5yZXNldCgpOyBcbiAgICB0aGlzLmluc3RhbGxtZW50cyA9IDA7XG4gICAgdGhpcy5kZWZhdWx0RG9jVHlwZSA9ICcnO1xuICB9XG5cbiAgLy8gSW5wdXQgY29udHJvbHNcbiAgb25ZZWFyQ2hhbmdlKCkge1xuICAgIGlmIChpc05hTigrdGhpcy55ZWFyVGV4dCkpIHsgXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy55ZWFyVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Nb250aExvc3RGb2N1cygpIHtcbiAgICBpZiAoK3RoaXMubW9udGhUZXh0ID4gMCAmJiAhaXNOYU4oK3RoaXMubW9udGhUZXh0KSkge1xuICAgICAgaWYgKHRoaXMubW9udGhUZXh0ID09ICcxJykge1xuICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwMSc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25Nb250aENoYW5nZSgpIHtcbiAgICBpZiAoK3RoaXMubW9udGhUZXh0ID49IDAgJiYgK3RoaXMubW9udGhUZXh0IDwgMTMgJiYgIWlzTmFOKCt0aGlzLm1vbnRoVGV4dCkpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5tb250aFRleHQpIHtcbiAgICAgICAgY2FzZSAnMic6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwMic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnMyc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwMyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnNCc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwNCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnNSc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwNSc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnNic6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwNic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnNyc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwNyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnOCc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwOCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnOSc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwOSc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMubW9udGhUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkNvZGVDaGFuZ2UoKSB7XG4gICAgaWYgKGlzTmFOKCt0aGlzLmN2Y1RleHQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jdmNUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkRuaUNoYW5nZSgpIHtcbiAgICBpZiAoaXNOYU4oK3RoaXMuZG5pVGV4dCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmRuaVRleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uTWFpbENoYW5nZSgpIHtcbiAgICBpZiAoIWlzTmFOKCt0aGlzLm1haWxUZXh0KSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMubWFpbFRleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29kQXJlYUNoYW5nZSgpIHtcbiAgICBpZiAoaXNOYU4oK3RoaXMuY29kQXJlYVRleHQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jb2RBcmVhVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25UZWxDaGFuZ2UoKSB7XG4gICAgaWYgKGlzTmFOKCt0aGlzLnRlbFRleHQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy50ZWxUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvblBheWVyTmFtZUNoYW5nZSgpIHtcbiAgICBpZiAoIWlzTmFOKCt0aGlzLmRlZmF1bHROYW1lKSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZGVmYXVsdE5hbWUgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2FyZENoYW5nZSgpIHtcbiAgICBpZiAoaXNOYU4oK3RoaXMuY2FyZFRleHQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jYXJkVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25JbnN0YWxsbWVudHNDaGFuZ2UoKSB7XG4gICAgLy9jb25zb2xlLmxvZygnY3VvdGFzIHNlbGVjY2lvbmFkYXMnICx0aGlzLmluc3RhbGxtZW50cylcbiAgfVxuXG4gIG9uUGFzdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59Il19
488
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ28tY3VvdGFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3ZrLXBheW1lbnRzLyIsInNvdXJjZXMiOlsibGliL2dvLWN1b3Rhcy9jb21wb25lbnRzL2dvLWN1b3Rhcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBT3pELE1BQU0sT0FBTyxpQkFBaUI7Ozs7SUErQzVCLFlBQ1Usa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUF0Q3RDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQWlCeEQsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsbUJBQWMsR0FBVyxzQkFBc0IsQ0FBQztRQUNoRCxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUU5QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQVksS0FBSyxDQUFDOzs7UUFLMUIsa0JBQWEsR0FBa0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBT3JGLENBQUM7Ozs7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FB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QyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO29CQUNoQyxTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQzs7OztJQTNDMUMsd0NBQThCOztJQUM5QixxQ0FBMkI7O0lBQzNCLHFDQUEyQjs7SUFDM0IsMENBQWdDOztJQUNoQyxtQ0FBeUI7O0lBQ3pCLGtDQUF3Qjs7SUFDeEIsb0NBQTBCOztJQUMxQixpQ0FBdUI7O0lBQ3ZCLHNDQUF3RDs7SUFFeEQsd0NBQXFCOztJQUNyQixxQ0FBa0I7O0lBQ2xCLHdDQUFxQjs7SUFDckIsb0NBQWlCOztJQUNqQixxQ0FBa0I7O0lBQ2xCLHFDQUFrQjs7SUFDbEIsc0NBQW1COztJQUNuQixvQ0FBaUI7O0lBQ2pCLG9DQUFpQjs7SUFDakIseUNBQXNCOztJQUN0QiwyQ0FBd0I7O0lBQ3hCLGdEQUE0Qjs7SUFDNUIsd0NBQXFCOztJQUNyQix5Q0FBMkI7O0lBQzNCLHFDQUFtQjs7SUFDbkIsdUNBQXdCOztJQUN4QiwwQ0FBMkI7O0lBQzNCLDZDQUFrQzs7SUFDbEMsMkNBQWdEOztJQUNoRCwwQ0FBOEI7O0lBRTlCLHFDQUFpQjs7SUFDakIsMkNBQXVCOztJQUN2QixzQ0FBa0I7O0lBQ2xCLHNDQUEyQjs7SUFDM0IscUNBQTBCOztJQUsxQiwwQ0FBeUY7O0lBRXpGLHlDQUF5RDs7SUFDekQsa0NBQW1FOzs7OztJQUdqRSwrQ0FBOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBheW1lbnRSZXN1bHQsIFJlc3BvbnNlQXBpLCBJbml0UGF5bWVudCwgUGF5bWVudCB9IGZyb20gJy4uL21vZGVscy9nby1jdW90YXMubW9kZWxzJztcbmltcG9ydCB7IEdvQ3VvdGFzQXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2dvLWN1b3Rhcy5hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwvbW9kYWwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWdvLWN1b3RhcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9nby1jdW90YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nby1jdW90YXMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHb0N1b3Rhc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgYWNjZXNzVG9rZW4hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGdjVXJsQXBpITogc3RyaW5nO1xuICBASW5wdXQoKSB2a1VybEFwaSE6IHN0cmluZztcbiAgQElucHV0KCkgcGF5bWVudEFtb3VudCE6IHN0cmluZztcbiAgQElucHV0KCkgbG9nb0dDITogc3RyaW5nO1xuICBASW5wdXQoKSBpZFZlbiE6IG51bWJlcjtcbiAgQElucHV0KCkgc3RvcmVJZCE6IHN0cmluZztcbiAgQElucHV0KCkgZGF0YSE6IHN0cmluZztcbiAgQE91dHB1dCgpIHN0YXR1c1BheSA9IG5ldyBFdmVudEVtaXR0ZXI8UGF5bWVudFJlc3VsdD4oKTtcblxuICBkZWZhdWx0TmFtZSE6IHN0cmluZztcbiAgbWFpbFRleHQhOiBzdHJpbmc7XG4gIGNvZEFyZWFUZXh0ITogc3RyaW5nO1xuICB0ZWxUZXh0ITogc3RyaW5nO1xuICBjYXJkVGV4dCE6IHN0cmluZztcbiAgeWVhclRleHQhOiBzdHJpbmc7XG4gIG1vbnRoVGV4dCE6IHN0cmluZztcbiAgZG5pVGV4dCE6IHN0cmluZztcbiAgY3ZjVGV4dCE6IHN0cmluZztcbiAgaW5zdGFsbG1lbnRzITogbnVtYmVyO1xuICBkZWZhdWx0RG9jVHlwZSE6IHN0cmluZztcbiAgY3VycmVudEluc3RhbGxtZW50cyE6IGFueVtdO1xuICB0b3RhbEFtb3VudCE6IG51bWJlcjtcbiAgT2luaXRQYXltZW50ITogSW5pdFBheW1lbnQ7XG4gIE9wYXltZW50ITogUGF5bWVudDtcbiAgc2FsZV90b2tlbjogc3RyaW5nID0gJyc7XG4gIGVycm9yX21lc3NhZ2U6IHN0cmluZyA9ICcnO1xuICBwYXltZW50Q29tcGxldGVkOiBib29sZWFuID0gZmFsc2U7IFxuICBsb2FkaW5nTWVzc2FnZTogc3RyaW5nID0gJ0luaWNpYW5kbyBlbCBwYWdvLi4uJztcbiAgcGF5bWVudFN0YXR1cyA9ICd1bnN1Ym1pdHRlZCc7XG5cbiAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgZGlzYWJsZWRTZWxlY3QgPSBmYWxzZTtcbiAgc3VibWl0dGVkID0gZmFsc2U7XG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBoYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIGFjY2Vzc1Rva2VuOiBzdHJpbmcgPSAnMjU2OTc5My01MWUxNzI1Yy05MzM0LTRlYTItYWRhMC1iMGM4NzE4NzQ0M2MnO1xuICAvLyB1cmw6IHN0cmluZyA9ICdodHRwczovL3NhbmRib3guZ29jdW90YXMuY29tL2FwaS9mdWxsX3NhbGUvdjEvJztcblxuICBwYXltZW50UmVzdWx0OiBQYXltZW50UmVzdWx0ID0geyBzdWNjZXNzOiBmYWxzZSwgcGF5bWVudElkOiAnJywgaW50ZWdyYXRvcjogJ0dPQ1VPVEFTJyB9O1xuXG4gIEBWaWV3Q2hpbGQoJ2YnLCB7IHN0YXRpYzogZmFsc2UgfSkgY2hlY2tPdXRGb3JtITogTmdGb3JtO1xuICBAVmlld0NoaWxkKE1vZGFsQ29tcG9uZW50LCB7c3RhdGljOiBmYWxzZX0pIG1vZGFsITogTW9kYWxDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBnb0N1b3Rhc0FwaVNlcnZpY2U6IEdvQ3VvdGFzQXBpU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZGVmYXVsdERvY1R5cGUgPSAnJztcbiAgICB0aGlzLmluc3RhbGxtZW50cyA9IDA7XG4gICAgdGhpcy5jdXJyZW50SW5zdGFsbG1lbnRzID0gW1xuICAgICAgeyB2YWx1ZTogMiwgbGFiZWw6ICcyIEN1b3RhcycgfSxcbiAgICAgIHsgdmFsdWU6IDMsIGxhYmVsOiAnMyBDdW90YXMnIH0sXG4gICAgICB7IHZhbHVlOiA0LCBsYWJlbDogJzQgQ3VvdGFzJyB9XG4gICAgXTsgLy8gT3BjaW9uZXMgcGFyYSBcIkNhbnRpZGFkIGRlIGN1b3Rhc1wiXG5cbiAgICB0aGlzLnRvdGFsQW1vdW50ID0gTnVtYmVyKHRoaXMucGF5bWVudEFtb3VudCk7XG4gIH1cblxuICBvblN1Ym1pdChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcbiAgICBcbiAgICBpZiAoIXRoaXMuY2hlY2tPdXRGb3JtLnZhbGlkKSB7IHJldHVybjsgfVxuXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucGF5bWVudENvbXBsZXRlZCA9IGZhbHNlO1xuICAgIHRoaXMubG9hZGluZ01lc3NhZ2UgPSAnSW5pY2lhbmRvIGVsIHBhZ28uLi4nO1xuICAgIHRoaXMucGF5bWVudFJlc3VsdCA9IHsgc3VjY2VzczogZmFsc2UsIHBheW1lbnRJZDogJycsIGludGVncmF0b3I6ICdHT0NVT1RBUycgfTtcblxuICAgIFxuICAgIHRoaXMuT2luaXRQYXltZW50ID0ge1xuICAgICAgYW1vdW50OiBOdW1iZXIodGhpcy5wYXltZW50QW1vdW50KSAqIDEwMCxcbiAgICAgIGFyZWFDb2RlOiB0aGlzLmNvZEFyZWFUZXh0LFxuICAgICAgaW5zdGFsbG1lbnRzOiB0aGlzLmluc3RhbGxtZW50cywgXG4gICAgICBkb2N1bWVudE51bWJlcjogdGhpcy5kbmlUZXh0LFxuICAgICAgcGhvbmVOdW1iZXI6IHRoaXMudGVsVGV4dCxcbiAgICAgIGVtYWlsOiB0aGlzLm1haWxUZXh0LnRvTG93ZXJDYXNlKCksXG4gICAgICBjYXJkaG9sZGVyOiB0aGlzLmRlZmF1bHROYW1lLFxuICAgICAgY3JlZGl0Q2FyZEhhc2g6IHRoaXMuY2FyZFRleHQsXG4gICAgICBpZFZlbjogdGhpcy5pZFZlbixcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCxcbiAgICAgIGRhdGE6IHRoaXMuZGF0YVxuICAgIH07IFxuXG4gICAgdGhpcy5pbml0UGF5bWVudCgpO1xuICB9XG5cbiAgaW5pdFBheW1lbnQoKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMubG9hZGluZ01lc3NhZ2UgPSAnRW52aWFuZG8gY8OzZGlnby4uLic7XG5cbiAgICB0aGlzLmdvQ3VvdGFzQXBpU2VydmljZS5pbml0UGF5bWVudCh0aGlzLmFjY2Vzc1Rva2VuLCB0aGlzLnZrVXJsQXBpLCB0aGlzLk9pbml0UGF5bWVudClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAodikgPT4gdGhpcy5pbml0UGF5bWVudFJlc3BvbnNlSGFuZGxlcih2KSxcbiAgICAgICAgZXJyb3I6ICh2KSA9PiB0aGlzLlJlc3BvbnNlSGFuZGxlckVycm9yKHYpXG4gICAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0UGF5bWVudFJlc3BvbnNlSGFuZGxlcihyZXNwb25zZTogUmVzcG9uc2VBcGkpIHtcbiAgICBpZighcmVzcG9uc2Uuc3VjY2Vzcykge1xuICAgICAgdGhpcy5lcnJvcl9tZXNzYWdlID0gcmVzcG9uc2UuZXJyb3JzTWVzc2FnZXNbMF07XG4gICAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHRoaXMucGF5bWVudFJlc3VsdCk7XG4gICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuZGlzYWJsZWRTZWxlY3QgPSB0cnVlO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5PcGF5bWVudCA9IHtcbiAgICAgIGlkOiByZXNwb25zZS5kYXRhLmlkLFxuICAgICAgY2FyZGhvbGRlcjogdGhpcy5kZWZhdWx0TmFtZSxcbiAgICAgIHNhbGVfdG9rZW46IHJlc3BvbnNlLmRhdGEucmVzcG9uc2Uuc2FsZV90b2tlbixcbiAgICAgIGNyZWRpdENhcmRIYXNoOiB0aGlzLmNhcmRUZXh0LFxuICAgICAgY2FyZE1vbnRoRXhwaXJhdGlvbjogTnVtYmVyKHRoaXMubW9udGhUZXh0KSxcbiAgICAgIGNhcmRZZWFyRXhwaXJhdGlvbjogTnVtYmVyKHRoaXMueWVhclRleHQpLFxuICAgICAgY2FyZFNlY3VyaXR5Q29kZTogTnVtYmVyKHRoaXMuY3ZjVGV4dCksXG4gICAgICBpZFZlbjogdGhpcy5pZFZlbixcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCxcbiAgICAgIGRhdGE6IHRoaXMuZGF0YVxuICAgIH07XG5cbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuZGlzYWJsZWRTZWxlY3QgPSB0cnVlO1xuICAgIHRoaXMubW9kYWwub3Blbk1vZGFsKCk7XG4gICAgdGhpcy5wYXltZW50U3RhdHVzID0gJ3NlbnRDb2RlJztcbiAgfVxuXG4gIG9uQ29kZVNlbnQoY29kZTogc3RyaW5nKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMubG9hZGluZ01lc3NhZ2UgPSAnUHJvY2VzYW5kbyBwYWdvLi4uJztcbiAgICBcbiAgICB0aGlzLk9wYXltZW50LmNvZGUgPSBOdW1iZXIoY29kZSk7XG4gICAgXG4gICAgaWYoY29kZSAhPT0gbnVsbCl7XG4gICAgICB0aGlzLmZpbmlzaFBheW1lbnQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmluaXNoUGF5bWVudCgpIHtcbiAgICB0aGlzLnBheW1lbnRTdGF0dXMgPSAncHJvY2Vzc2luZyc7XG5cbiAgICB0aGlzLmdvQ3VvdGFzQXBpU2VydmljZS5wYXltZW50KHRoaXMuYWNjZXNzVG9rZW4sIHRoaXMudmtVcmxBcGksIHRoaXMuT3BheW1lbnQpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHYpID0+IHRoaXMuRmluaXNoUGF5bWVudFJlc3BvbnNlSGFuZGxlcih2KSwgICAgICAgIFxuICAgICAgICBlcnJvcjogKHYpID0+IHRoaXMuUmVzcG9uc2VIYW5kbGVyRXJyb3IodilcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBSZXNwb25zZUhhbmRsZXJFcnJvcihyZXNwb25zZTogYW55KSB7XG4gICAgdGhpcy5wYXltZW50U3RhdHVzID0gJ2Vycm9yJztcbiAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmRpc2FibGVkU2VsZWN0ID0gdHJ1ZTtcbiAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHRoaXMucGF5bWVudFJlc3VsdCk7XG5cbiAgICBpZighcmVzcG9uc2Uub2sgJiYgcmVzcG9uc2UuZXJyb3IgPT09IG51bGwgJiYgcmVzcG9uc2Uuc3RhdHVzID09PSA1MDApe1xuICAgICAgdGhpcy5lcnJvcl9tZXNzYWdlID0gXCJFcnJvciBlbiBlbCBzZXJ2aWRvci4gVnVlbHZhIGEgaW50ZW50YXIgbcOhcyB0YXJkZS5cIjtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmhhc0Vycm9yID0gdHJ1ZTsgXG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmVycm9yX21lc3NhZ2UgPSByZXNwb25zZS5lcnJvci5lcnJvcnNNZXNzYWdlc1swXTtcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuaGFzRXJyb3IgPSB0cnVlOyBcbiAgfVxuXG4gIHByaXZhdGUgRmluaXNoUGF5bWVudFJlc3BvbnNlSGFuZGxlcihyZXNwb25zZTogUmVzcG9uc2VBcGkpe1xuICAgIHRoaXMucGF5bWVudFN0YXR1cyA9ICdzdWNjZXNzJztcblxuICAgIGlmKCFyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICB0aGlzLmVycm9yX21lc3NhZ2UgPSByZXNwb25zZS5lcnJvcnNNZXNzYWdlc1swXTtcbiAgICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH0gICAgXG5cbiAgICB0aGlzLk9wYXltZW50LnBheW1lbnRJZCA9IHJlc3BvbnNlLmRhdGEucGF5bWVudElkXG4gICAgdGhpcy5wYXltZW50UmVzdWx0ID0geyBzdWNjZXNzOiB0cnVlLCBwYXltZW50SWQ6IFN0cmluZyh0aGlzLk9wYXltZW50LnBheW1lbnRJZCkgLCBpbnRlZ3JhdG9yOiAnR09HVU9UQVMnIH07XG4gICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh0aGlzLnBheW1lbnRSZXN1bHQpO1xuICAgIHRoaXMubG9hZGluZ01lc3NhZ2UgPSAnwqFQYWdvIHByb2Nlc2FkbyBjb3JyZWN0YW1lbnRlISc7XG4gICAgdGhpcy5wYXltZW50Q29tcGxldGVkID0gdHJ1ZTsgICAgXG4gIH1cblxuICByZXN0YXJ0Rm9ybSgpIHtcbiAgICB0aGlzLmhhc0Vycm9yID0gZmFsc2U7XG4gICAgdGhpcy5zdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgdGhpcy5kaXNhYmxlZFNlbGVjdCA9IGZhbHNlO1xuICAgIHRoaXMucGF5bWVudFN0YXR1cyA9ICd1bnN1Ym1pdHRlZCc7XG4gICAgdGhpcy5jaGVja091dEZvcm0ucmVzZXQoKTsgXG4gICAgdGhpcy5pbnN0YWxsbWVudHMgPSAwO1xuICAgIHRoaXMuZGVmYXVsdERvY1R5cGUgPSAnJztcbiAgfVxuXG4gIC8vIElucHV0IGNvbnRyb2xzXG4gIG9uWWVhckNoYW5nZSgpIHtcbiAgICBpZiAoaXNOYU4oK3RoaXMueWVhclRleHQpKSB7IFxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMueWVhclRleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uTW9udGhMb3N0Rm9jdXMoKSB7XG4gICAgaWYgKCt0aGlzLm1vbnRoVGV4dCA+IDAgJiYgIWlzTmFOKCt0aGlzLm1vbnRoVGV4dCkpIHtcbiAgICAgIGlmICh0aGlzLm1vbnRoVGV4dCA9PSAnMScpIHtcbiAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDEnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uTW9udGhDaGFuZ2UoKSB7XG4gICAgaWYgKCt0aGlzLm1vbnRoVGV4dCA+PSAwICYmICt0aGlzLm1vbnRoVGV4dCA8IDEzICYmICFpc05hTigrdGhpcy5tb250aFRleHQpKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMubW9udGhUZXh0KSB7XG4gICAgICAgIGNhc2UgJzInOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDInO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzMnOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDMnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzQnOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDQnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzUnOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDUnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzYnOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDYnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzcnOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzgnOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDgnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzknOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDknO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Db2RlQ2hhbmdlKCkge1xuICAgIGlmIChpc05hTigrdGhpcy5jdmNUZXh0KSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY3ZjVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25EbmlDaGFuZ2UoKSB7XG4gICAgaWYgKGlzTmFOKCt0aGlzLmRuaVRleHQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5kbmlUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbk1haWxDaGFuZ2UoKSB7XG4gICAgaWYgKCFpc05hTigrdGhpcy5tYWlsVGV4dCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1haWxUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkNvZEFyZWFDaGFuZ2UoKSB7XG4gICAgaWYgKGlzTmFOKCt0aGlzLmNvZEFyZWFUZXh0KSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY29kQXJlYVRleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uVGVsQ2hhbmdlKCkge1xuICAgIGlmIChpc05hTigrdGhpcy50ZWxUZXh0KSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMudGVsVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25QYXllck5hbWVDaGFuZ2UoKSB7XG4gICAgaWYgKCFpc05hTigrdGhpcy5kZWZhdWx0TmFtZSkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmRlZmF1bHROYW1lID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkNhcmRDaGFuZ2UoKSB7XG4gICAgaWYgKGlzTmFOKCt0aGlzLmNhcmRUZXh0KSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2FyZFRleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5zdGFsbG1lbnRzQ2hhbmdlKCkge1xuICAgIC8vY29uc29sZS5sb2coJ2N1b3RhcyBzZWxlY2Npb25hZGFzJyAsdGhpcy5pbnN0YWxsbWVudHMpXG4gIH1cblxuICBvblBhc3RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufSJdfQ==
@@ -5,21 +5,61 @@
5
5
  */
6
6
  import * as tslib_1 from "tslib";
7
7
  import { Component, EventEmitter, Input, Output } from '@angular/core';
8
+ import { ActivatedRoute } from '@angular/router';
8
9
  import { ModoApiService } from '../../services/modo-api.service';
9
10
  export class ModoComponent {
10
11
  /**
11
12
  * @param {?} modoApi
13
+ * @param {?} route
12
14
  */
13
- constructor(modoApi) {
15
+ constructor(modoApi, route) {
14
16
  this.modoApi = modoApi;
17
+ this.route = route;
15
18
  this.statusPay = new EventEmitter();
16
19
  this.isLoading = false;
20
+ this.executionEnv = 'desktop';
17
21
  }
18
22
  /**
19
23
  * @return {?}
20
24
  */
21
25
  ngOnInit() {
22
- this.loadModoScript();
26
+ this.detectEnvironment();
27
+ if (this.executionEnv === 'desktop') {
28
+ this.loadModoScript();
29
+ }
30
+ }
31
+ /**
32
+ * @private
33
+ * @return {?}
34
+ */
35
+ detectEnvironment() {
36
+ try {
37
+ /** @type {?} */
38
+ const params = this.route.snapshot.params;
39
+ /** @type {?} */
40
+ const guid = params['guid'];
41
+ /** @type {?} */
42
+ const platform = (/** @type {?} */ (params['platform']));
43
+ if (platform === 'iOS' || platform === 'Android' || guid === 'app') {
44
+ this.executionEnv = 'native-app';
45
+ this.devicePlatform = platform;
46
+ console.log(`MODO Payment: Entorno detectado -> Nativo (${this.devicePlatform || 'app'})`);
47
+ return;
48
+ }
49
+ }
50
+ catch (error) {
51
+ console.warn('MODO Payment: No se pudo leer los parámetros de la ruta. Se continuará con la detección por User Agent.');
52
+ }
53
+ /** @type {?} */
54
+ const userAgent = navigator.userAgent || navigator.vendor || ((/** @type {?} */ (window))).opera;
55
+ if (/android/i.test(userAgent) || /iPad|iPhone|iPod/.test(userAgent)) {
56
+ this.executionEnv = 'mobile-browser';
57
+ console.log('MODO Payment: Entorno detectado -> Navegador Móvil');
58
+ }
59
+ else {
60
+ this.executionEnv = 'desktop';
61
+ console.log('MODO Payment: Entorno detectado -> Desktop');
62
+ }
23
63
  }
24
64
  /**
25
65
  * @return {?}
@@ -31,48 +71,21 @@ export class ModoComponent {
31
71
  /** @type {?} */
32
72
  const initialData = yield this.createModoPayment();
33
73
  this.isLoading = false;
34
- /** @type {?} */
35
- const modalObject = {
36
- version: '2',
37
- qrString: initialData.qrString,
38
- checkoutId: initialData.checkoutId,
39
- deeplink: {
40
- url: initialData.deeplink,
41
- callbackURL: this.callbackUrl,
42
- callbackURLSuccess: this.callbackUrlSuccess
43
- },
44
- callbackURL: this.callbackUrl,
45
- refreshData: (/**
46
- * @return {?}
47
- */
48
- () => this.createModoPayment()),
49
- onSuccess: (/**
50
- * @return {?}
51
- */
52
- () => {
53
- this.statusPay.emit({ success: true, paymentId: initialData.checkoutId });
54
- }),
55
- onFailure: (/**
56
- * @return {?}
57
- */
58
- () => {
59
- this.statusPay.emit({ success: false, paymentId: initialData.checkoutId });
60
- }),
61
- onCancel: (/**
62
- * @return {?}
63
- */
64
- () => {
65
- console.log('Pago cancelado por el usuario en el celular.');
66
- }),
67
- onClose: (/**
68
- * @return {?}
69
- */
70
- () => {
71
- console.log('Modal de MODO cerrado.');
72
- }),
73
- };
74
- // 3. Inicia el SDK de MODO
75
- ModoSDK.modoInitPayment(modalObject);
74
+ switch (this.executionEnv) {
75
+ case 'native-app':
76
+ // Llama a la función nativa para abrir en un navegador externo
77
+ this.openOnNativeNavigator(initialData.deeplink);
78
+ break;
79
+ case 'mobile-browser':
80
+ // Abre el deeplink en una nueva pestaña
81
+ window.open(initialData.deeplink, '_blank');
82
+ break;
83
+ case 'desktop':
84
+ default:
85
+ // Abrir el modal del SDK
86
+ this.initModoSdkModal(initialData);
87
+ break;
88
+ }
76
89
  }
77
90
  catch (error) {
78
91
  this.isLoading = false;
@@ -82,8 +95,77 @@ export class ModoComponent {
82
95
  });
83
96
  }
84
97
  /**
85
- * Esta función se encarga de llamar a tu backend.
86
- * Se usa tanto para la carga inicial como para el refresco del SDK.
98
+ * @private
99
+ * @param {?} url
100
+ * @return {?}
101
+ */
102
+ openOnNativeNavigator(url) {
103
+ try {
104
+ if (this.devicePlatform === 'iOS') {
105
+ ((/** @type {?} */ (window))).webkit.messageHandlers.externalURL.postMessage(url);
106
+ }
107
+ else if (this.devicePlatform === 'Android') {
108
+ ((/** @type {?} */ (window))).externalURL.postMessage(url);
109
+ }
110
+ else {
111
+ // Fallback si por alguna razón no se detectó la plataforma pero sí el entorno nativo
112
+ window.open(url, '_blank');
113
+ }
114
+ }
115
+ catch (e) {
116
+ console.error('Error al intentar invocar el message handler nativo:', e);
117
+ }
118
+ }
119
+ /**
120
+ * @private
121
+ * @param {?} initialData
122
+ * @return {?}
123
+ */
124
+ initModoSdkModal(initialData) {
125
+ /** @type {?} */
126
+ const modalObject = {
127
+ version: '2',
128
+ qrString: initialData.qrString,
129
+ checkoutId: initialData.checkoutId,
130
+ deeplink: {
131
+ url: initialData.deeplink,
132
+ callbackURL: this.callbackUrl,
133
+ callbackURLSuccess: this.callbackUrlSuccess
134
+ },
135
+ callbackURL: this.callbackUrl,
136
+ refreshData: (/**
137
+ * @return {?}
138
+ */
139
+ () => this.createModoPayment()),
140
+ onSuccess: (/**
141
+ * @return {?}
142
+ */
143
+ () => {
144
+ this.statusPay.emit({ success: true, paymentId: initialData.checkoutId });
145
+ }),
146
+ onFailure: (/**
147
+ * @return {?}
148
+ */
149
+ () => {
150
+ this.statusPay.emit({ success: false, paymentId: initialData.checkoutId });
151
+ }),
152
+ onCancel: (/**
153
+ * @return {?}
154
+ */
155
+ () => {
156
+ console.log('Pago cancelado por el usuario en el celular.');
157
+ }),
158
+ onClose: (/**
159
+ * @return {?}
160
+ */
161
+ () => {
162
+ console.log('Modal de MODO cerrado.');
163
+ }),
164
+ };
165
+ // 3. Inicia el SDK de MODO
166
+ ModoSDK.modoInitPayment(modalObject);
167
+ }
168
+ /**
87
169
  * @private
88
170
  * @return {?}
89
171
  */
@@ -135,7 +217,8 @@ ModoComponent.decorators = [
135
217
  ];
136
218
  /** @nocollapse */
137
219
  ModoComponent.ctorParameters = () => [
138
- { type: ModoApiService }
220
+ { type: ModoApiService },
221
+ { type: ActivatedRoute }
139
222
  ];
140
223
  ModoComponent.propDecorators = {
141
224
  accessToken: [{ type: Input }],
@@ -172,10 +255,25 @@ if (false) {
172
255
  ModoComponent.prototype.statusPay;
173
256
  /** @type {?} */
174
257
  ModoComponent.prototype.isLoading;
258
+ /**
259
+ * @type {?}
260
+ * @private
261
+ */
262
+ ModoComponent.prototype.executionEnv;
263
+ /**
264
+ * @type {?}
265
+ * @private
266
+ */
267
+ ModoComponent.prototype.devicePlatform;
175
268
  /**
176
269
  * @type {?}
177
270
  * @private
178
271
  */
179
272
  ModoComponent.prototype.modoApi;
273
+ /**
274
+ * @type {?}
275
+ * @private
276
+ */
277
+ ModoComponent.prototype.route;
180
278
  }
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly92ay1wYXltZW50cy8iLCJzb3VyY2VzIjpbImxpYi9tb2RvL2NvbXBvbmVudHMvbW9kby9tb2RvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQVdqRSxNQUFNLE9BQU8sYUFBYTs7OztJQWV4QixZQUFvQixPQUF1QjtRQUF2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUpqQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQTJDLENBQUM7UUFFbEYsY0FBUyxHQUFHLEtBQUssQ0FBQztJQUU2QixDQUFDOzs7O0lBRWhELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7OztJQUVLLGdCQUFnQjs7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFFdEIsSUFBSTs7c0JBQ0ksV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQzs7c0JBRWpCLFdBQVcsR0FBRztvQkFDbEIsT0FBTyxFQUFFLEdBQUc7b0JBQ1osUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRO29CQUM5QixVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVU7b0JBQ2xDLFFBQVEsRUFBRTt3QkFDUixHQUFHLEVBQUUsV0FBVyxDQUFDLFFBQVE7d0JBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVzt3QkFDN0Isa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtxQkFDNUM7b0JBRUQsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO29CQUU3QixXQUFXOzs7b0JBQUUsR0FBRyxFQUFF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QUNMLEtBQUs7aUNBQ0wsS0FBSzt3QkFDTCxNQUFNOzs7O0lBVFAsb0NBQThCOztJQUM5QixnQ0FBeUI7O0lBQ3pCLDhCQUF1Qjs7SUFDdkIsNkJBQXNCOztJQUN0QiwrQkFBd0I7O0lBQ3hCLGdDQUF5Qjs7SUFDekIsaUNBQTBCOztJQUMxQixvQ0FBNkI7O0lBQzdCLDJDQUFvQzs7SUFDcEMsa0NBQWtGOztJQUVsRixrQ0FBa0I7Ozs7O0lBRU4sZ0NBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kb0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tb2RvLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IENyZWF0ZVBheW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21vZG8ubW9kZWxzJztcblxuLy8gRGVjbGFyYSBsYSB2YXJpYWJsZSBnbG9iYWwgZGVsIFNES1xuZGVjbGFyZSB2YXIgTW9kb1NESzogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ay1tb2RvLXBheW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZG8uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBhY2Nlc3NUb2tlbiE6IHN0cmluZztcbiAgQElucHV0KCkgc3RvcmVJZDogc3RyaW5nO1xuICBASW5wdXQoKSBpZFZlbjogbnVtYmVyO1xuICBASW5wdXQoKSBkYXRhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFtb3VudDogbnVtYmVyO1xuICBASW5wdXQoKSBvcmRlcklkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZrVXJsQXBpOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNhbGxiYWNrVXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNhbGxiYWNrVXJsU3VjY2Vzczogc3RyaW5nO1xuICBAT3V0cHV0KCkgc3RhdHVzUGF5ID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN1Y2Nlc3M6IGJvb2xlYW47IHBheW1lbnRJZDogc3RyaW5nIH0+KCk7XG5cbiAgaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RvQXBpOiBNb2RvQXBpU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkTW9kb1NjcmlwdCgpO1xuICB9XG5cbiAgYXN5bmMgc3RhcnRNb2RvUGF5bWVudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgaW5pdGlhbERhdGEgPSBhd2FpdCB0aGlzLmNyZWF0ZU1vZG9QYXltZW50KCk7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICBjb25zdCBtb2RhbE9iamVjdCA9IHtcbiAgICAgICAgdmVyc2lvbjogJzInLFxuICAgICAgICBxclN0cmluZzogaW5pdGlhbERhdGEucXJTdHJpbmcsXG4gICAgICAgIGNoZWNrb3V0SWQ6IGluaXRpYWxEYXRhLmNoZWNrb3V0SWQsXG4gICAgICAgIGRlZXBsaW5rOiB7XG4gICAgICAgICAgdXJsOiBpbml0aWFsRGF0YS5kZWVwbGluayxcbiAgICAgICAgICBjYWxsYmFja1VSTDogdGhpcy5jYWxsYmFja1VybCxcbiAgICAgICAgICBjYWxsYmFja1VSTFN1Y2Nlc3M6IHRoaXMuY2FsbGJhY2tVcmxTdWNjZXNzXG4gICAgICAgIH0sXG5cbiAgICAgICAgY2FsbGJhY2tVUkw6IHRoaXMuY2FsbGJhY2tVcmwsXG5cbiAgICAgICAgcmVmcmVzaERhdGE6ICgpID0+IHRoaXMuY3JlYXRlTW9kb1BheW1lbnQoKSxcblxuICAgICAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHsgc3VjY2VzczogdHJ1ZSwgcGF5bWVudElkOiBpbml0aWFsRGF0YS5jaGVja291dElkIH0pO1xuICAgICAgICB9LFxuICAgICAgICBvbkZhaWx1cmU6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHsgc3VjY2VzczogZmFsc2UsIHBheW1lbnRJZDogaW5pdGlhbERhdGEuY2hlY2tvdXRJZCB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25DYW5jZWw6ICgpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnUGFnbyBjYW5jZWxhZG8gcG9yIGVsIHVzdWFyaW8gZW4gZWwgY2VsdWxhci4nKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25DbG9zZTogKCkgPT4ge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdNb2RhbCBkZSBNT0RPIGNlcnJhZG8uJyk7XG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICAvLyAzLiBJbmljaWEgZWwgU0RLIGRlIE1PRE9cbiAgICAgIE1vZG9TREsubW9kb0luaXRQYXltZW50KG1vZGFsT2JqZWN0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh7IHN1Y2Nlc3M6IGZhbHNlLCBwYXltZW50SWQ6ICcnIH0pO1xuICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGFsIGluaWNpYXIgZWwgcGFnbyBjb24gTU9ET1wiLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVzdGEgZnVuY2nDs24gc2UgZW5jYXJnYSBkZSBsbGFtYXIgYSB0dSBiYWNrZW5kLlxuICAgKiBTZSB1c2EgdGFudG8gcGFyYSBsYSBjYXJnYSBpbmljaWFsIGNvbW8gcGFyYSBlbCByZWZyZXNjbyBkZWwgU0RLLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVNb2RvUGF5bWVudCgpOiBQcm9taXNlPHsgcXJTdHJpbmc6IHN0cmluZzsgY2hlY2tvdXRJZDogc3RyaW5nOyBkZWVwbGluazogc3RyaW5nIH0+IHtcbiAgICBjb25zdCBwYXltZW50UmVxdWVzdDogQ3JlYXRlUGF5bWVudFJlcXVlc3QgPSB7XG4gICAgICBhbW91bnQ6IHRoaXMuYW1vdW50LFxuICAgICAgb3JkZXJJZDogdGhpcy5vcmRlcklkLFxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkLFxuICAgICAgaWRWZW46IHRoaXMuaWRWZW4sXG4gICAgICBkYXRhOiB0aGlzLmRhdGFcbiAgICB9O1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLm1vZG9BcGkuY3JlYXRlUGF5bWVudCh0aGlzLmFjY2Vzc1Rva2VuLCBwYXltZW50UmVxdWVzdCwgdGhpcy52a1VybEFwaSkudG9Qcm9taXNlKCk7XG5cbiAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBxclN0cmluZzogcmVzcG9uc2UuZGF0YS5xclN0cmluZyxcbiAgICAgICAgY2hlY2tvdXRJZDogcmVzcG9uc2UuZGF0YS5pbnRlcm5hbFBheW1lbnRJZCxcbiAgICAgICAgZGVlcGxpbms6IHJlc3BvbnNlLmRhdGEuZGVlcGxpbmtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTGEgcmVzcHVlc3RhIGRlIGxhIEFQSSBubyBmdWUgZXhpdG9zYS4nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRNb2RvU2NyaXB0KCk6IHZvaWQge1xuICAgIGNvbnN0IHNjcmlwdFVybCA9ICdodHRwczovL2Vjb21tZXJjZS1tb2RhbC5tb2RvLmNvbS5hci9idW5kbGUuanMnO1xuICAgIGlmICghZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihgc2NyaXB0W3NyYz1cIiR7c2NyaXB0VXJsfVwiXWApKSB7XG4gICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdC5zcmMgPSBzY3JpcHRVcmw7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgfVxuICB9XG59Il19
279
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly92ay1wYXltZW50cy8iLCJzb3VyY2VzIjpbImxpYi9tb2RvL2NvbXBvbmVudHMvbW9kby9tb2RvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFhakUsTUFBTSxPQUFPLGFBQWE7Ozs7O0lBaUJ4QixZQUNVLE9BQXVCLEVBQ3ZCLEtBQXFCO1FBRHJCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBUnJCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBMkMsQ0FBQztRQUVsRixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ1YsaUJBQVksR0FBeUIsU0FBUyxDQUFDO0lBTW5ELENBQUM7Ozs7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUNuQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDOzs7OztJQUVPLGlCQUFpQjtRQUN2QixJQUFJOztrQkFDSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTTs7a0JBQ25DLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDOztrQkFDckIsUUFBUSxHQUFHLG1CQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBcUI7WUFFeEQsSUFBSSxRQUFRLEtBQUssS0FBSyxJQUFJLFFBQVEsS0FBSyxTQUFTLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtnQkFD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S0FBSzttQkFDTCxLQUFLO3FCQUNMLEtBQUs7c0JBQ0wsS0FBSzt1QkFDTCxLQUFLOzBCQUNMLEtBQUs7aUNBQ0wsS0FBSzt3QkFDTCxNQUFNOzs7O0lBVFAsb0NBQThCOztJQUM5QixnQ0FBeUI7O0lBQ3pCLDhCQUF1Qjs7SUFDdkIsNkJBQXNCOztJQUN0QiwrQkFBd0I7O0lBQ3hCLGdDQUF5Qjs7SUFDekIsaUNBQTBCOztJQUMxQixvQ0FBNkI7O0lBQzdCLDJDQUFvQzs7SUFDcEMsa0NBQWtGOztJQUVsRixrQ0FBa0I7Ozs7O0lBQ2xCLHFDQUF1RDs7Ozs7SUFDdkQsdUNBQXNEOzs7OztJQUdwRCxnQ0FBK0I7Ozs7O0lBQy9CLDhCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1vZG9BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbW9kby1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVhdGVQYXltZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RvLm1vZGVscyc7XG5cbi8vIERlY2xhcmEgbGEgdmFyaWFibGUgZ2xvYmFsIGRlbCBTREtcbmRlY2xhcmUgdmFyIE1vZG9TREs6IGFueTtcblxudHlwZSBFeGVjdXRpb25FbnZpcm9ubWVudCA9ICdkZXNrdG9wJyB8ICdtb2JpbGUtYnJvd3NlcicgfCAnbmF0aXZlLWFwcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZrLW1vZG8tcGF5bWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kby5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1vZG9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGFjY2Vzc1Rva2VuITogc3RyaW5nO1xuICBASW5wdXQoKSBzdG9yZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkVmVuOiBudW1iZXI7XG4gIEBJbnB1dCgpIGRhdGE6IHN0cmluZztcbiAgQElucHV0KCkgYW1vdW50OiBudW1iZXI7XG4gIEBJbnB1dCgpIG9yZGVySWQ6IHN0cmluZztcbiAgQElucHV0KCkgdmtVcmxBcGk6IHN0cmluZztcbiAgQElucHV0KCkgY2FsbGJhY2tVcmw6IHN0cmluZztcbiAgQElucHV0KCkgY2FsbGJhY2tVcmxTdWNjZXNzOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzdGF0dXNQYXkgPSBuZXcgRXZlbnRFbWl0dGVyPHsgc3VjY2VzczogYm9vbGVhbjsgcGF5bWVudElkOiBzdHJpbmcgfT4oKTtcblxuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBleGVjdXRpb25FbnY6IEV4ZWN1dGlvbkVudmlyb25tZW50ID0gJ2Rlc2t0b3AnO1xuICBwcml2YXRlIGRldmljZVBsYXRmb3JtOiAnaU9TJyB8ICdBbmRyb2lkJyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1vZG9BcGk6IE1vZG9BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kZXRlY3RFbnZpcm9ubWVudCgpO1xuICAgIGlmICh0aGlzLmV4ZWN1dGlvbkVudiA9PT0gJ2Rlc2t0b3AnKSB7XG4gICAgICB0aGlzLmxvYWRNb2RvU2NyaXB0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3RFbnZpcm9ubWVudCgpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXM7XG4gICAgICBjb25zdCBndWlkID0gcGFyYW1zWydndWlkJ107XG4gICAgICBjb25zdCBwbGF0Zm9ybSA9IHBhcmFtc1sncGxhdGZvcm0nXSBhcyAnaU9TJyB8ICdBbmRyb2lkJztcblxuICAgICAgaWYgKHBsYXRmb3JtID09PSAnaU9TJyB8fCBwbGF0Zm9ybSA9PT0gJ0FuZHJvaWQnIHx8IGd1aWQgPT09ICdhcHAnKSB7XG4gICAgICAgIHRoaXMuZXhlY3V0aW9uRW52ID0gJ25hdGl2ZS1hcHAnO1xuICAgICAgICB0aGlzLmRldmljZVBsYXRmb3JtID0gcGxhdGZvcm07XG4gICAgICAgIGNvbnNvbGUubG9nKGBNT0RPIFBheW1lbnQ6IEVudG9ybm8gZGV0ZWN0YWRvIC0+IE5hdGl2byAoJHt0aGlzLmRldmljZVBsYXRmb3JtIHx8ICdhcHAnfSlgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ01PRE8gUGF5bWVudDogTm8gc2UgcHVkbyBsZWVyIGxvcyBwYXLDoW1ldHJvcyBkZSBsYSBydXRhLiBTZSBjb250aW51YXLDoSBjb24gbGEgZGV0ZWNjacOzbiBwb3IgVXNlciBBZ2VudC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VyQWdlbnQgPSBuYXZpZ2F0b3IudXNlckFnZW50IHx8IG5hdmlnYXRvci52ZW5kb3IgfHwgKHdpbmRvdyBhcyBhbnkpLm9wZXJhO1xuICAgIGlmICgvYW5kcm9pZC9pLnRlc3QodXNlckFnZW50KSB8fCAvaVBhZHxpUGhvbmV8aVBvZC8udGVzdCh1c2VyQWdlbnQpKSB7XG4gICAgICB0aGlzLmV4ZWN1dGlvbkVudiA9ICdtb2JpbGUtYnJvd3Nlcic7XG4gICAgICBjb25zb2xlLmxvZygnTU9ETyBQYXltZW50OiBFbnRvcm5vIGRldGVjdGFkbyAtPiBOYXZlZ2Fkb3IgTcOzdmlsJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXhlY3V0aW9uRW52ID0gJ2Rlc2t0b3AnO1xuICAgICAgY29uc29sZS5sb2coJ01PRE8gUGF5bWVudDogRW50b3JubyBkZXRlY3RhZG8gLT4gRGVza3RvcCcpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHN0YXJ0TW9kb1BheW1lbnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGluaXRpYWxEYXRhID0gYXdhaXQgdGhpcy5jcmVhdGVNb2RvUGF5bWVudCgpO1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgc3dpdGNoICh0aGlzLmV4ZWN1dGlvbkVudikge1xuICAgICAgICBjYXNlICduYXRpdmUtYXBwJzpcbiAgICAgICAgICAvLyBMbGFtYSBhIGxhIGZ1bmNpw7NuIG5hdGl2YSBwYXJhIGFicmlyIGVuIHVuIG5hdmVnYWRvciBleHRlcm5vXG4gICAgICAgICAgdGhpcy5vcGVuT25OYXRpdmVOYXZpZ2F0b3IoaW5pdGlhbERhdGEuZGVlcGxpbmspO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdtb2JpbGUtYnJvd3Nlcic6XG4gICAgICAgICAgLy8gQWJyZSBlbCBkZWVwbGluayBlbiB1bmEgbnVldmEgcGVzdGHDsWFcbiAgICAgICAgICB3aW5kb3cub3Blbihpbml0aWFsRGF0YS5kZWVwbGluaywgJ19ibGFuaycpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdkZXNrdG9wJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAvLyBBYnJpciBlbCBtb2RhbCBkZWwgU0RLXG4gICAgICAgICAgdGhpcy5pbml0TW9kb1Nka01vZGFsKGluaXRpYWxEYXRhKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh7IHN1Y2Nlc3M6IGZhbHNlLCBwYXltZW50SWQ6ICcnIH0pO1xuICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGFsIGluaWNpYXIgZWwgcGFnbyBjb24gTU9ET1wiLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuT25OYXRpdmVOYXZpZ2F0b3IodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMuZGV2aWNlUGxhdGZvcm0gPT09ICdpT1MnKSB7XG4gICAgICAgICh3aW5kb3cgYXMgYW55KS53ZWJraXQubWVzc2FnZUhhbmRsZXJzLmV4dGVybmFsVVJMLnBvc3RNZXNzYWdlKHVybCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZGV2aWNlUGxhdGZvcm0gPT09ICdBbmRyb2lkJykge1xuICAgICAgICAod2luZG93IGFzIGFueSkuZXh0ZXJuYWxVUkwucG9zdE1lc3NhZ2UodXJsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEZhbGxiYWNrIHNpIHBvciBhbGd1bmEgcmF6w7NuIG5vIHNlIGRldGVjdMOzIGxhIHBsYXRhZm9ybWEgcGVybyBzw60gZWwgZW50b3JubyBuYXRpdm9cbiAgICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgYWwgaW50ZW50YXIgaW52b2NhciBlbCBtZXNzYWdlIGhhbmRsZXIgbmF0aXZvOicsIGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdE1vZG9TZGtNb2RhbChpbml0aWFsRGF0YTogeyBxclN0cmluZzogc3RyaW5nOyBjaGVja291dElkOiBzdHJpbmc7IGRlZXBsaW5rOiBzdHJpbmcgfSk6IHZvaWQge1xuXG4gICAgY29uc3QgbW9kYWxPYmplY3QgPSB7XG4gICAgICB2ZXJzaW9uOiAnMicsXG4gICAgICBxclN0cmluZzogaW5pdGlhbERhdGEucXJTdHJpbmcsXG4gICAgICBjaGVja291dElkOiBpbml0aWFsRGF0YS5jaGVja291dElkLFxuICAgICAgZGVlcGxpbms6IHtcbiAgICAgICAgdXJsOiBpbml0aWFsRGF0YS5kZWVwbGluayxcbiAgICAgICAgY2FsbGJhY2tVUkw6IHRoaXMuY2FsbGJhY2tVcmwsXG4gICAgICAgIGNhbGxiYWNrVVJMU3VjY2VzczogdGhpcy5jYWxsYmFja1VybFN1Y2Nlc3NcbiAgICAgIH0sXG5cbiAgICAgIGNhbGxiYWNrVVJMOiB0aGlzLmNhbGxiYWNrVXJsLFxuXG4gICAgICByZWZyZXNoRGF0YTogKCkgPT4gdGhpcy5jcmVhdGVNb2RvUGF5bWVudCgpLFxuXG4gICAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh7IHN1Y2Nlc3M6IHRydWUsIHBheW1lbnRJZDogaW5pdGlhbERhdGEuY2hlY2tvdXRJZCB9KTtcbiAgICAgIH0sXG4gICAgICBvbkZhaWx1cmU6ICgpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh7IHN1Y2Nlc3M6IGZhbHNlLCBwYXltZW50SWQ6IGluaXRpYWxEYXRhLmNoZWNrb3V0SWQgfSk7XG4gICAgICB9LFxuICAgICAgb25DYW5jZWw6ICgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ1BhZ28gY2FuY2VsYWRvIHBvciBlbCB1c3VhcmlvIGVuIGVsIGNlbHVsYXIuJyk7XG4gICAgICB9LFxuICAgICAgb25DbG9zZTogKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnTW9kYWwgZGUgTU9ETyBjZXJyYWRvLicpO1xuICAgICAgfSxcbiAgICB9O1xuXG4gICAgLy8gMy4gSW5pY2lhIGVsIFNESyBkZSBNT0RPXG4gICAgTW9kb1NESy5tb2RvSW5pdFBheW1lbnQobW9kYWxPYmplY3QpO1xuXG4gIH1cblxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlTW9kb1BheW1lbnQoKTogUHJvbWlzZTx7IHFyU3RyaW5nOiBzdHJpbmc7IGNoZWNrb3V0SWQ6IHN0cmluZzsgZGVlcGxpbms6IHN0cmluZyB9PiB7XG4gICAgY29uc3QgcGF5bWVudFJlcXVlc3Q6IENyZWF0ZVBheW1lbnRSZXF1ZXN0ID0ge1xuICAgICAgYW1vdW50OiB0aGlzLmFtb3VudCxcbiAgICAgIG9yZGVySWQ6IHRoaXMub3JkZXJJZCxcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCxcbiAgICAgIGlkVmVuOiB0aGlzLmlkVmVuLFxuICAgICAgZGF0YTogdGhpcy5kYXRhXG4gICAgfTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5tb2RvQXBpLmNyZWF0ZVBheW1lbnQodGhpcy5hY2Nlc3NUb2tlbiwgcGF5bWVudFJlcXVlc3QsIHRoaXMudmtVcmxBcGkpLnRvUHJvbWlzZSgpO1xuXG4gICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MgJiYgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcXJTdHJpbmc6IHJlc3BvbnNlLmRhdGEucXJTdHJpbmcsXG4gICAgICAgIGNoZWNrb3V0SWQ6IHJlc3BvbnNlLmRhdGEuaW50ZXJuYWxQYXltZW50SWQsXG4gICAgICAgIGRlZXBsaW5rOiByZXNwb25zZS5kYXRhLmRlZXBsaW5rXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xhIHJlc3B1ZXN0YSBkZSBsYSBBUEkgbm8gZnVlIGV4aXRvc2EuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkTW9kb1NjcmlwdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzY3JpcHRVcmwgPSAnaHR0cHM6Ly9lY29tbWVyY2UtbW9kYWwubW9kby5jb20uYXIvYnVuZGxlLmpzJztcbiAgICBpZiAoIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYHNjcmlwdFtzcmM9XCIke3NjcmlwdFVybH1cIl1gKSkge1xuICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBzY3JpcHQuc3JjID0gc2NyaXB0VXJsO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgIH1cbiAgfVxufSJdfQ==
@@ -36,7 +36,8 @@ var GoCuotasComponent = /** @class */ (function () {
36
36
  this.installments = 0;
37
37
  this.currentInstallments = [
38
38
  { value: 2, label: '2 Cuotas' },
39
- { value: 3, label: '3 Cuotas' }
39
+ { value: 3, label: '3 Cuotas' },
40
+ { value: 4, label: '4 Cuotas' }
40
41
  ]; // Opciones para "Cantidad de cuotas"
41
42
  this.totalAmount = Number(this.paymentAmount);
42
43
  };
@@ -568,4 +569,4 @@ if (false) {
568
569
  */
569
570
  GoCuotasComponent.prototype.goCuotasApiService;
570
571
  }
571
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ28tY3VvdGFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3ZrLXBheW1lbnRzLyIsInNvdXJjZXMiOlsibGliL2dvLWN1b3Rhcy9jb21wb25lbnRzL2dvLWN1b3Rhcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpEO0lBb0RFLDJCQUNVLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBdEN0QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFpQnhELGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLG1CQUFjLEdBQVcsc0JBQXNCLENBQUM7UUFDaEQsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFFOUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFZLEtBQUssQ0FBQzs7O1FBSzFCLGtCQUFhLEdBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQU9yRixDQUFDOzs7O0lBRUwsb0NBQVE7OztJQUFSO1FBQ0UsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7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bWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGF5bWVudFJlc3VsdCwgUmVzcG9uc2VBcGksIEluaXRQYXltZW50LCBQYXltZW50IH0gZnJvbSAnLi4vbW9kZWxzL2dvLWN1b3Rhcy5tb2RlbHMnO1xuaW1wb3J0IHsgR29DdW90YXNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZ28tY3VvdGFzLmFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZ28tY3VvdGFzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dvLWN1b3Rhcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dvLWN1b3Rhcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEdvQ3VvdGFzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBhY2Nlc3NUb2tlbiE6IHN0cmluZztcbiAgQElucHV0KCkgZ2NVcmxBcGkhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZrVXJsQXBpITogc3RyaW5nO1xuICBASW5wdXQoKSBwYXltZW50QW1vdW50ITogc3RyaW5nO1xuICBASW5wdXQoKSBsb2dvR0MhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkVmVuITogbnVtYmVyO1xuICBASW5wdXQoKSBzdG9yZUlkITogc3RyaW5nO1xuICBASW5wdXQoKSBkYXRhITogc3RyaW5nO1xuICBAT3V0cHV0KCkgc3RhdHVzUGF5ID0gbmV3IEV2ZW50RW1pdHRlcjxQYXltZW50UmVzdWx0PigpO1xuXG4gIGRlZmF1bHROYW1lITogc3RyaW5nO1xuICBtYWlsVGV4dCE6IHN0cmluZztcbiAgY29kQXJlYVRleHQhOiBzdHJpbmc7XG4gIHRlbFRleHQhOiBzdHJpbmc7XG4gIGNhcmRUZXh0ITogc3RyaW5nO1xuICB5ZWFyVGV4dCE6IHN0cmluZztcbiAgbW9udGhUZXh0ITogc3RyaW5nO1xuICBkbmlUZXh0ITogc3RyaW5nO1xuICBjdmNUZXh0ITogc3RyaW5nO1xuICBpbnN0YWxsbWVudHMhOiBudW1iZXI7XG4gIGRlZmF1bHREb2NUeXBlITogc3RyaW5nO1xuICBjdXJyZW50SW5zdGFsbG1lbnRzITogYW55W107XG4gIHRvdGFsQW1vdW50ITogbnVtYmVyO1xuICBPaW5pdFBheW1lbnQhOiBJbml0UGF5bWVudDtcbiAgT3BheW1lbnQhOiBQYXltZW50O1xuICBzYWxlX3Rva2VuOiBzdHJpbmcgPSAnJztcbiAgZXJyb3JfbWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIHBheW1lbnRDb21wbGV0ZWQ6IGJvb2xlYW4gPSBmYWxzZTsgXG4gIGxvYWRpbmdNZXNzYWdlOiBzdHJpbmcgPSAnSW5pY2lhbmRvIGVsIHBhZ28uLi4nO1xuICBwYXltZW50U3RhdHVzID0gJ3Vuc3VibWl0dGVkJztcblxuICBkaXNhYmxlZCA9IGZhbHNlO1xuICBkaXNhYmxlZFNlbGVjdCA9IGZhbHNlO1xuICBzdWJtaXR0ZWQgPSBmYWxzZTtcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy8gYWNjZXNzVG9rZW46IHN0cmluZyA9ICcyNTY5NzkzLTUxZTE3MjVjLTkzMzQtNGVhMi1hZGEwLWIwYzg3MTg3NDQzYyc7XG4gIC8vIHVybDogc3RyaW5nID0gJ2h0dHBzOi8vc2FuZGJveC5nb2N1b3Rhcy5jb20vYXBpL2Z1bGxfc2FsZS92MS8nO1xuXG4gIHBheW1lbnRSZXN1bHQ6IFBheW1lbnRSZXN1bHQgPSB7IHN1Y2Nlc3M6IGZhbHNlLCBwYXltZW50SWQ6ICcnLCBpbnRlZ3JhdG9yOiAnR09DVU9UQVMnIH07XG5cbiAgQFZpZXdDaGlsZCgnZicsIHsgc3RhdGljOiBmYWxzZSB9KSBjaGVja091dEZvcm0hOiBOZ0Zvcm07XG4gIEBWaWV3Q2hpbGQoTW9kYWxDb21wb25lbnQsIHtzdGF0aWM6IGZhbHNlfSkgbW9kYWwhOiBNb2RhbENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGdvQ3VvdGFzQXBpU2VydmljZTogR29DdW90YXNBcGlTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kZWZhdWx0RG9jVHlwZSA9ICcnO1xuICAgIHRoaXMuaW5zdGFsbG1lbnRzID0gMDtcbiAgICB0aGlzLmN1cnJlbnRJbnN0YWxsbWVudHMgPSBbXG4gICAgICB7IHZhbHVlOiAyLCBsYWJlbDogJzIgQ3VvdGFzJyB9LFxuICAgICAgeyB2YWx1ZTogMywgbGFiZWw6ICczIEN1b3RhcycgfVxuICAgIF07IC8vIE9wY2lvbmVzIHBhcmEgXCJDYW50aWRhZCBkZSBjdW90YXNcIlxuXG4gICAgdGhpcy50b3RhbEFtb3VudCA9IE51bWJlcih0aGlzLnBheW1lbnRBbW91bnQpO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgXG4gICAgaWYgKCF0aGlzLmNoZWNrT3V0Rm9ybS52YWxpZCkgeyByZXR1cm47IH1cblxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnBheW1lbnRDb21wbGV0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLmxvYWRpbmdNZXNzYWdlID0gJ0luaWNpYW5kbyBlbCBwYWdvLi4uJztcbiAgICB0aGlzLnBheW1lbnRSZXN1bHQgPSB7IHN1Y2Nlc3M6IGZhbHNlLCBwYXltZW50SWQ6ICcnLCBpbnRlZ3JhdG9yOiAnR09DVU9UQVMnIH07XG5cbiAgICBcbiAgICB0aGlzLk9pbml0UGF5bWVudCA9IHtcbiAgICAgIGFtb3VudDogTnVtYmVyKHRoaXMucGF5bWVudEFtb3VudCkgKiAxMDAsXG4gICAgICBhcmVhQ29kZTogdGhpcy5jb2RBcmVhVGV4dCxcbiAgICAgIGluc3RhbGxtZW50czogdGhpcy5pbnN0YWxsbWVudHMsIFxuICAgICAgZG9jdW1lbnROdW1iZXI6IHRoaXMuZG5pVGV4dCxcbiAgICAgIHBob25lTnVtYmVyOiB0aGlzLnRlbFRleHQsXG4gICAgICBlbWFpbDogdGhpcy5tYWlsVGV4dC50b0xvd2VyQ2FzZSgpLFxuICAgICAgY2FyZGhvbGRlcjogdGhpcy5kZWZhdWx0TmFtZSxcbiAgICAgIGNyZWRpdENhcmRIYXNoOiB0aGlzLmNhcmRUZXh0LFxuICAgICAgaWRWZW46IHRoaXMuaWRWZW4sXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWQsXG4gICAgICBkYXRhOiB0aGlzLmRhdGFcbiAgICB9OyBcblxuICAgIHRoaXMuaW5pdFBheW1lbnQoKTtcbiAgfVxuXG4gIGluaXRQYXltZW50KCkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWRpbmdNZXNzYWdlID0gJ0VudmlhbmRvIGPDs2RpZ28uLi4nO1xuXG4gICAgdGhpcy5nb0N1b3Rhc0FwaVNlcnZpY2UuaW5pdFBheW1lbnQodGhpcy5hY2Nlc3NUb2tlbiwgdGhpcy52a1VybEFwaSwgdGhpcy5PaW5pdFBheW1lbnQpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHYpID0+IHRoaXMuaW5pdFBheW1lbnRSZXNwb25zZUhhbmRsZXIodiksXG4gICAgICAgIGVycm9yOiAodikgPT4gdGhpcy5SZXNwb25zZUhhbmRsZXJFcnJvcih2KVxuICAgICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFBheW1lbnRSZXNwb25zZUhhbmRsZXIocmVzcG9uc2U6IFJlc3BvbnNlQXBpKSB7XG4gICAgaWYoIXJlc3BvbnNlLnN1Y2Nlc3MpIHtcbiAgICAgIHRoaXMuZXJyb3JfbWVzc2FnZSA9IHJlc3BvbnNlLmVycm9yc01lc3NhZ2VzWzBdO1xuICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh0aGlzLnBheW1lbnRSZXN1bHQpO1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgICB0aGlzLmRpc2FibGVkU2VsZWN0ID0gdHJ1ZTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuT3BheW1lbnQgPSB7XG4gICAgICBpZDogcmVzcG9uc2UuZGF0YS5pZCxcbiAgICAgIGNhcmRob2xkZXI6IHRoaXMuZGVmYXVsdE5hbWUsXG4gICAgICBzYWxlX3Rva2VuOiByZXNwb25zZS5kYXRhLnJlc3BvbnNlLnNhbGVfdG9rZW4sXG4gICAgICBjcmVkaXRDYXJkSGFzaDogdGhpcy5jYXJkVGV4dCxcbiAgICAgIGNhcmRNb250aEV4cGlyYXRpb246IE51bWJlcih0aGlzLm1vbnRoVGV4dCksXG4gICAgICBjYXJkWWVhckV4cGlyYXRpb246IE51bWJlcih0aGlzLnllYXJUZXh0KSxcbiAgICAgIGNhcmRTZWN1cml0eUNvZGU6IE51bWJlcih0aGlzLmN2Y1RleHQpLFxuICAgICAgaWRWZW46IHRoaXMuaWRWZW4sXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWQsXG4gICAgICBkYXRhOiB0aGlzLmRhdGFcbiAgICB9O1xuXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmRpc2FibGVkU2VsZWN0ID0gdHJ1ZTtcbiAgICB0aGlzLm1vZGFsLm9wZW5Nb2RhbCgpO1xuICAgIHRoaXMucGF5bWVudFN0YXR1cyA9ICdzZW50Q29kZSc7XG4gIH1cblxuICBvbkNvZGVTZW50KGNvZGU6IHN0cmluZykge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWRpbmdNZXNzYWdlID0gJ1Byb2Nlc2FuZG8gcGFnby4uLic7XG4gICAgXG4gICAgdGhpcy5PcGF5bWVudC5jb2RlID0gTnVtYmVyKGNvZGUpO1xuICAgIFxuICAgIGlmKGNvZGUgIT09IG51bGwpe1xuICAgICAgdGhpcy5maW5pc2hQYXltZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbmlzaFBheW1lbnQoKSB7XG4gICAgdGhpcy5wYXltZW50U3RhdHVzID0gJ3Byb2Nlc3NpbmcnO1xuXG4gICAgdGhpcy5nb0N1b3Rhc0FwaVNlcnZpY2UucGF5bWVudCh0aGlzLmFjY2Vzc1Rva2VuLCB0aGlzLnZrVXJsQXBpLCB0aGlzLk9wYXltZW50KVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICh2KSA9PiB0aGlzLkZpbmlzaFBheW1lbnRSZXNwb25zZUhhbmRsZXIodiksICAgICAgICBcbiAgICAgICAgZXJyb3I6ICh2KSA9PiB0aGlzLlJlc3BvbnNlSGFuZGxlckVycm9yKHYpXG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgUmVzcG9uc2VIYW5kbGVyRXJyb3IocmVzcG9uc2U6IGFueSkge1xuICAgIHRoaXMucGF5bWVudFN0YXR1cyA9ICdlcnJvcic7XG4gICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5kaXNhYmxlZFNlbGVjdCA9IHRydWU7XG4gICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh0aGlzLnBheW1lbnRSZXN1bHQpO1xuXG4gICAgaWYoIXJlc3BvbnNlLm9rICYmIHJlc3BvbnNlLmVycm9yID09PSBudWxsICYmIHJlc3BvbnNlLnN0YXR1cyA9PT0gNTAwKXtcbiAgICAgIHRoaXMuZXJyb3JfbWVzc2FnZSA9IFwiRXJyb3IgZW4gZWwgc2Vydmlkb3IuIFZ1ZWx2YSBhIGludGVudGFyIG3DoXMgdGFyZGUuXCI7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5oYXNFcnJvciA9IHRydWU7IFxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5lcnJvcl9tZXNzYWdlID0gcmVzcG9uc2UuZXJyb3IuZXJyb3JzTWVzc2FnZXNbMF07XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmhhc0Vycm9yID0gdHJ1ZTsgXG4gIH1cblxuICBwcml2YXRlIEZpbmlzaFBheW1lbnRSZXNwb25zZUhhbmRsZXIocmVzcG9uc2U6IFJlc3BvbnNlQXBpKXtcbiAgICB0aGlzLnBheW1lbnRTdGF0dXMgPSAnc3VjY2Vzcyc7XG5cbiAgICBpZighcmVzcG9uc2Uuc3VjY2Vzcykge1xuICAgICAgdGhpcy5lcnJvcl9tZXNzYWdlID0gcmVzcG9uc2UuZXJyb3JzTWVzc2FnZXNbMF07XG4gICAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHRoaXMucGF5bWVudFJlc3VsdCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9ICAgIFxuXG4gICAgdGhpcy5PcGF5bWVudC5wYXltZW50SWQgPSByZXNwb25zZS5kYXRhLnBheW1lbnRJZFxuICAgIHRoaXMucGF5bWVudFJlc3VsdCA9IHsgc3VjY2VzczogdHJ1ZSwgcGF5bWVudElkOiBTdHJpbmcodGhpcy5PcGF5bWVudC5wYXltZW50SWQpICwgaW50ZWdyYXRvcjogJ0dPR1VPVEFTJyB9O1xuICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcbiAgICB0aGlzLmxvYWRpbmdNZXNzYWdlID0gJ8KhUGFnbyBwcm9jZXNhZG8gY29ycmVjdGFtZW50ZSEnO1xuICAgIHRoaXMucGF5bWVudENvbXBsZXRlZCA9IHRydWU7ICAgIFxuICB9XG5cbiAgcmVzdGFydEZvcm0oKSB7XG4gICAgdGhpcy5oYXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuZGlzYWJsZWRTZWxlY3QgPSBmYWxzZTtcbiAgICB0aGlzLnBheW1lbnRTdGF0dXMgPSAndW5zdWJtaXR0ZWQnO1xuICAgIHRoaXMuY2hlY2tPdXRGb3JtLnJlc2V0KCk7IFxuICAgIHRoaXMuaW5zdGFsbG1lbnRzID0gMDtcbiAgICB0aGlzLmRlZmF1bHREb2NUeXBlID0gJyc7XG4gIH1cblxuICAvLyBJbnB1dCBjb250cm9sc1xuICBvblllYXJDaGFuZ2UoKSB7XG4gICAgaWYgKGlzTmFOKCt0aGlzLnllYXJUZXh0KSkgeyBcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnllYXJUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbk1vbnRoTG9zdEZvY3VzKCkge1xuICAgIGlmICgrdGhpcy5tb250aFRleHQgPiAwICYmICFpc05hTigrdGhpcy5tb250aFRleHQpKSB7XG4gICAgICBpZiAodGhpcy5tb250aFRleHQgPT0gJzEnKSB7XG4gICAgICAgIHRoaXMubW9udGhUZXh0ID0gJzAxJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbk1vbnRoQ2hhbmdlKCkge1xuICAgIGlmICgrdGhpcy5tb250aFRleHQgPj0gMCAmJiArdGhpcy5tb250aFRleHQgPCAxMyAmJiAhaXNOYU4oK3RoaXMubW9udGhUZXh0KSkge1xuICAgICAgc3dpdGNoICh0aGlzLm1vbnRoVGV4dCkge1xuICAgICAgICBjYXNlICcyJzoge1xuICAgICAgICAgIHRoaXMubW9udGhUZXh0ID0gJzAyJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICczJzoge1xuICAgICAgICAgIHRoaXMubW9udGhUZXh0ID0gJzAzJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICc0Jzoge1xuICAgICAgICAgIHRoaXMubW9udGhUZXh0ID0gJzA0JztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICc1Jzoge1xuICAgICAgICAgIHRoaXMubW9udGhUZXh0ID0gJzA1JztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICc2Jzoge1xuICAgICAgICAgIHRoaXMubW9udGhUZXh0ID0gJzA2JztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICc3Jzoge1xuICAgICAgICAgIHRoaXMubW9udGhUZXh0ID0gJzA3JztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICc4Jzoge1xuICAgICAgICAgIHRoaXMubW9udGhUZXh0ID0gJzA4JztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICc5Jzoge1xuICAgICAgICAgIHRoaXMubW9udGhUZXh0ID0gJzA5JztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5tb250aFRleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29kZUNoYW5nZSgpIHtcbiAgICBpZiAoaXNOYU4oK3RoaXMuY3ZjVGV4dCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmN2Y1RleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uRG5pQ2hhbmdlKCkge1xuICAgIGlmIChpc05hTigrdGhpcy5kbmlUZXh0KSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZG5pVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25NYWlsQ2hhbmdlKCkge1xuICAgIGlmICghaXNOYU4oK3RoaXMubWFpbFRleHQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5tYWlsVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Db2RBcmVhQ2hhbmdlKCkge1xuICAgIGlmIChpc05hTigrdGhpcy5jb2RBcmVhVGV4dCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNvZEFyZWFUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvblRlbENoYW5nZSgpIHtcbiAgICBpZiAoaXNOYU4oK3RoaXMudGVsVGV4dCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnRlbFRleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uUGF5ZXJOYW1lQ2hhbmdlKCkge1xuICAgIGlmICghaXNOYU4oK3RoaXMuZGVmYXVsdE5hbWUpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5kZWZhdWx0TmFtZSA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25DYXJkQ2hhbmdlKCkge1xuICAgIGlmIChpc05hTigrdGhpcy5jYXJkVGV4dCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNhcmRUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkluc3RhbGxtZW50c0NoYW5nZSgpIHtcbiAgICAvL2NvbnNvbGUubG9nKCdjdW90YXMgc2VsZWNjaW9uYWRhcycgLHRoaXMuaW5zdGFsbG1lbnRzKVxuICB9XG5cbiAgb25QYXN0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn0iXX0=
572
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ28tY3VvdGFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3ZrLXBheW1lbnRzLyIsInNvdXJjZXMiOlsibGliL2dvLWN1b3Rhcy9jb21wb25lbnRzL2dvLWN1b3Rhcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpEO0lBb0RFLDJCQUNVLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBdEN0QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFpQnhELGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLG1CQUFjLEdBQVcsc0JBQXNCLENBQUM7UUFDaEQsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFFOUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFZLEtBQUssQ0FBQzs7O1FBSzFCLGtCQUFhLEdBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQU9yRixDQUFDOzs7O0lBRUwsb0NBQVE7OztJQUFSO1FBQ0UsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7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QUE4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGF5bWVudFJlc3VsdCwgUmVzcG9uc2VBcGksIEluaXRQYXltZW50LCBQYXltZW50IH0gZnJvbSAnLi4vbW9kZWxzL2dvLWN1b3Rhcy5tb2RlbHMnO1xuaW1wb3J0IHsgR29DdW90YXNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZ28tY3VvdGFzLmFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZ28tY3VvdGFzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dvLWN1b3Rhcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dvLWN1b3Rhcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEdvQ3VvdGFzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBhY2Nlc3NUb2tlbiE6IHN0cmluZztcbiAgQElucHV0KCkgZ2NVcmxBcGkhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZrVXJsQXBpITogc3RyaW5nO1xuICBASW5wdXQoKSBwYXltZW50QW1vdW50ITogc3RyaW5nO1xuICBASW5wdXQoKSBsb2dvR0MhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkVmVuITogbnVtYmVyO1xuICBASW5wdXQoKSBzdG9yZUlkITogc3RyaW5nO1xuICBASW5wdXQoKSBkYXRhITogc3RyaW5nO1xuICBAT3V0cHV0KCkgc3RhdHVzUGF5ID0gbmV3IEV2ZW50RW1pdHRlcjxQYXltZW50UmVzdWx0PigpO1xuXG4gIGRlZmF1bHROYW1lITogc3RyaW5nO1xuICBtYWlsVGV4dCE6IHN0cmluZztcbiAgY29kQXJlYVRleHQhOiBzdHJpbmc7XG4gIHRlbFRleHQhOiBzdHJpbmc7XG4gIGNhcmRUZXh0ITogc3RyaW5nO1xuICB5ZWFyVGV4dCE6IHN0cmluZztcbiAgbW9udGhUZXh0ITogc3RyaW5nO1xuICBkbmlUZXh0ITogc3RyaW5nO1xuICBjdmNUZXh0ITogc3RyaW5nO1xuICBpbnN0YWxsbWVudHMhOiBudW1iZXI7XG4gIGRlZmF1bHREb2NUeXBlITogc3RyaW5nO1xuICBjdXJyZW50SW5zdGFsbG1lbnRzITogYW55W107XG4gIHRvdGFsQW1vdW50ITogbnVtYmVyO1xuICBPaW5pdFBheW1lbnQhOiBJbml0UGF5bWVudDtcbiAgT3BheW1lbnQhOiBQYXltZW50O1xuICBzYWxlX3Rva2VuOiBzdHJpbmcgPSAnJztcbiAgZXJyb3JfbWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIHBheW1lbnRDb21wbGV0ZWQ6IGJvb2xlYW4gPSBmYWxzZTsgXG4gIGxvYWRpbmdNZXNzYWdlOiBzdHJpbmcgPSAnSW5pY2lhbmRvIGVsIHBhZ28uLi4nO1xuICBwYXltZW50U3RhdHVzID0gJ3Vuc3VibWl0dGVkJztcblxuICBkaXNhYmxlZCA9IGZhbHNlO1xuICBkaXNhYmxlZFNlbGVjdCA9IGZhbHNlO1xuICBzdWJtaXR0ZWQgPSBmYWxzZTtcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy8gYWNjZXNzVG9rZW46IHN0cmluZyA9ICcyNTY5NzkzLTUxZTE3MjVjLTkzMzQtNGVhMi1hZGEwLWIwYzg3MTg3NDQzYyc7XG4gIC8vIHVybDogc3RyaW5nID0gJ2h0dHBzOi8vc2FuZGJveC5nb2N1b3Rhcy5jb20vYXBpL2Z1bGxfc2FsZS92MS8nO1xuXG4gIHBheW1lbnRSZXN1bHQ6IFBheW1lbnRSZXN1bHQgPSB7IHN1Y2Nlc3M6IGZhbHNlLCBwYXltZW50SWQ6ICcnLCBpbnRlZ3JhdG9yOiAnR09DVU9UQVMnIH07XG5cbiAgQFZpZXdDaGlsZCgnZicsIHsgc3RhdGljOiBmYWxzZSB9KSBjaGVja091dEZvcm0hOiBOZ0Zvcm07XG4gIEBWaWV3Q2hpbGQoTW9kYWxDb21wb25lbnQsIHtzdGF0aWM6IGZhbHNlfSkgbW9kYWwhOiBNb2RhbENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGdvQ3VvdGFzQXBpU2VydmljZTogR29DdW90YXNBcGlTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kZWZhdWx0RG9jVHlwZSA9ICcnO1xuICAgIHRoaXMuaW5zdGFsbG1lbnRzID0gMDtcbiAgICB0aGlzLmN1cnJlbnRJbnN0YWxsbWVudHMgPSBbXG4gICAgICB7IHZhbHVlOiAyLCBsYWJlbDogJzIgQ3VvdGFzJyB9LFxuICAgICAgeyB2YWx1ZTogMywgbGFiZWw6ICczIEN1b3RhcycgfSxcbiAgICAgIHsgdmFsdWU6IDQsIGxhYmVsOiAnNCBDdW90YXMnIH1cbiAgICBdOyAvLyBPcGNpb25lcyBwYXJhIFwiQ2FudGlkYWQgZGUgY3VvdGFzXCJcblxuICAgIHRoaXMudG90YWxBbW91bnQgPSBOdW1iZXIodGhpcy5wYXltZW50QW1vdW50KTtcbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xuICAgIFxuICAgIGlmICghdGhpcy5jaGVja091dEZvcm0udmFsaWQpIHsgcmV0dXJuOyB9XG5cbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5wYXltZW50Q29tcGxldGVkID0gZmFsc2U7XG4gICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9ICdJbmljaWFuZG8gZWwgcGFnby4uLic7XG4gICAgdGhpcy5wYXltZW50UmVzdWx0ID0geyBzdWNjZXNzOiBmYWxzZSwgcGF5bWVudElkOiAnJywgaW50ZWdyYXRvcjogJ0dPQ1VPVEFTJyB9O1xuXG4gICAgXG4gICAgdGhpcy5PaW5pdFBheW1lbnQgPSB7XG4gICAgICBhbW91bnQ6IE51bWJlcih0aGlzLnBheW1lbnRBbW91bnQpICogMTAwLFxuICAgICAgYXJlYUNvZGU6IHRoaXMuY29kQXJlYVRleHQsXG4gICAgICBpbnN0YWxsbWVudHM6IHRoaXMuaW5zdGFsbG1lbnRzLCBcbiAgICAgIGRvY3VtZW50TnVtYmVyOiB0aGlzLmRuaVRleHQsXG4gICAgICBwaG9uZU51bWJlcjogdGhpcy50ZWxUZXh0LFxuICAgICAgZW1haWw6IHRoaXMubWFpbFRleHQudG9Mb3dlckNhc2UoKSxcbiAgICAgIGNhcmRob2xkZXI6IHRoaXMuZGVmYXVsdE5hbWUsXG4gICAgICBjcmVkaXRDYXJkSGFzaDogdGhpcy5jYXJkVGV4dCxcbiAgICAgIGlkVmVuOiB0aGlzLmlkVmVuLFxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkLFxuICAgICAgZGF0YTogdGhpcy5kYXRhXG4gICAgfTsgXG5cbiAgICB0aGlzLmluaXRQYXltZW50KCk7XG4gIH1cblxuICBpbml0UGF5bWVudCgpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9ICdFbnZpYW5kbyBjw7NkaWdvLi4uJztcblxuICAgIHRoaXMuZ29DdW90YXNBcGlTZXJ2aWNlLmluaXRQYXltZW50KHRoaXMuYWNjZXNzVG9rZW4sIHRoaXMudmtVcmxBcGksIHRoaXMuT2luaXRQYXltZW50KVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICh2KSA9PiB0aGlzLmluaXRQYXltZW50UmVzcG9uc2VIYW5kbGVyKHYpLFxuICAgICAgICBlcnJvcjogKHYpID0+IHRoaXMuUmVzcG9uc2VIYW5kbGVyRXJyb3IodilcbiAgICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGluaXRQYXltZW50UmVzcG9uc2VIYW5kbGVyKHJlc3BvbnNlOiBSZXNwb25zZUFwaSkge1xuICAgIGlmKCFyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICB0aGlzLmVycm9yX21lc3NhZ2UgPSByZXNwb25zZS5lcnJvcnNNZXNzYWdlc1swXTtcbiAgICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgdGhpcy5kaXNhYmxlZFNlbGVjdCA9IHRydWU7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLk9wYXltZW50ID0ge1xuICAgICAgaWQ6IHJlc3BvbnNlLmRhdGEuaWQsXG4gICAgICBjYXJkaG9sZGVyOiB0aGlzLmRlZmF1bHROYW1lLFxuICAgICAgc2FsZV90b2tlbjogcmVzcG9uc2UuZGF0YS5yZXNwb25zZS5zYWxlX3Rva2VuLFxuICAgICAgY3JlZGl0Q2FyZEhhc2g6IHRoaXMuY2FyZFRleHQsXG4gICAgICBjYXJkTW9udGhFeHBpcmF0aW9uOiBOdW1iZXIodGhpcy5tb250aFRleHQpLFxuICAgICAgY2FyZFllYXJFeHBpcmF0aW9uOiBOdW1iZXIodGhpcy55ZWFyVGV4dCksXG4gICAgICBjYXJkU2VjdXJpdHlDb2RlOiBOdW1iZXIodGhpcy5jdmNUZXh0KSxcbiAgICAgIGlkVmVuOiB0aGlzLmlkVmVuLFxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkLFxuICAgICAgZGF0YTogdGhpcy5kYXRhXG4gICAgfTtcblxuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5kaXNhYmxlZFNlbGVjdCA9IHRydWU7XG4gICAgdGhpcy5tb2RhbC5vcGVuTW9kYWwoKTtcbiAgICB0aGlzLnBheW1lbnRTdGF0dXMgPSAnc2VudENvZGUnO1xuICB9XG5cbiAgb25Db2RlU2VudChjb2RlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9ICdQcm9jZXNhbmRvIHBhZ28uLi4nO1xuICAgIFxuICAgIHRoaXMuT3BheW1lbnQuY29kZSA9IE51bWJlcihjb2RlKTtcbiAgICBcbiAgICBpZihjb2RlICE9PSBudWxsKXtcbiAgICAgIHRoaXMuZmluaXNoUGF5bWVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaW5pc2hQYXltZW50KCkge1xuICAgIHRoaXMucGF5bWVudFN0YXR1cyA9ICdwcm9jZXNzaW5nJztcblxuICAgIHRoaXMuZ29DdW90YXNBcGlTZXJ2aWNlLnBheW1lbnQodGhpcy5hY2Nlc3NUb2tlbiwgdGhpcy52a1VybEFwaSwgdGhpcy5PcGF5bWVudClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAodikgPT4gdGhpcy5GaW5pc2hQYXltZW50UmVzcG9uc2VIYW5kbGVyKHYpLCAgICAgICAgXG4gICAgICAgIGVycm9yOiAodikgPT4gdGhpcy5SZXNwb25zZUhhbmRsZXJFcnJvcih2KVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIFJlc3BvbnNlSGFuZGxlckVycm9yKHJlc3BvbnNlOiBhbnkpIHtcbiAgICB0aGlzLnBheW1lbnRTdGF0dXMgPSAnZXJyb3InO1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuZGlzYWJsZWRTZWxlY3QgPSB0cnVlO1xuICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcblxuICAgIGlmKCFyZXNwb25zZS5vayAmJiByZXNwb25zZS5lcnJvciA9PT0gbnVsbCAmJiByZXNwb25zZS5zdGF0dXMgPT09IDUwMCl7XG4gICAgICB0aGlzLmVycm9yX21lc3NhZ2UgPSBcIkVycm9yIGVuIGVsIHNlcnZpZG9yLiBWdWVsdmEgYSBpbnRlbnRhciBtw6FzIHRhcmRlLlwiO1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuaGFzRXJyb3IgPSB0cnVlOyBcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZXJyb3JfbWVzc2FnZSA9IHJlc3BvbnNlLmVycm9yLmVycm9yc01lc3NhZ2VzWzBdO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5oYXNFcnJvciA9IHRydWU7IFxuICB9XG5cbiAgcHJpdmF0ZSBGaW5pc2hQYXltZW50UmVzcG9uc2VIYW5kbGVyKHJlc3BvbnNlOiBSZXNwb25zZUFwaSl7XG4gICAgdGhpcy5wYXltZW50U3RhdHVzID0gJ3N1Y2Nlc3MnO1xuXG4gICAgaWYoIXJlc3BvbnNlLnN1Y2Nlc3MpIHtcbiAgICAgIHRoaXMuZXJyb3JfbWVzc2FnZSA9IHJlc3BvbnNlLmVycm9yc01lc3NhZ2VzWzBdO1xuICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh0aGlzLnBheW1lbnRSZXN1bHQpO1xuXG4gICAgICByZXR1cm47XG4gICAgfSAgICBcblxuICAgIHRoaXMuT3BheW1lbnQucGF5bWVudElkID0gcmVzcG9uc2UuZGF0YS5wYXltZW50SWRcbiAgICB0aGlzLnBheW1lbnRSZXN1bHQgPSB7IHN1Y2Nlc3M6IHRydWUsIHBheW1lbnRJZDogU3RyaW5nKHRoaXMuT3BheW1lbnQucGF5bWVudElkKSAsIGludGVncmF0b3I6ICdHT0dVT1RBUycgfTtcbiAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHRoaXMucGF5bWVudFJlc3VsdCk7XG4gICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9ICfCoVBhZ28gcHJvY2VzYWRvIGNvcnJlY3RhbWVudGUhJztcbiAgICB0aGlzLnBheW1lbnRDb21wbGV0ZWQgPSB0cnVlOyAgICBcbiAgfVxuXG4gIHJlc3RhcnRGb3JtKCkge1xuICAgIHRoaXMuaGFzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLmRpc2FibGVkU2VsZWN0ID0gZmFsc2U7XG4gICAgdGhpcy5wYXltZW50U3RhdHVzID0gJ3Vuc3VibWl0dGVkJztcbiAgICB0aGlzLmNoZWNrT3V0Rm9ybS5yZXNldCgpOyBcbiAgICB0aGlzLmluc3RhbGxtZW50cyA9IDA7XG4gICAgdGhpcy5kZWZhdWx0RG9jVHlwZSA9ICcnO1xuICB9XG5cbiAgLy8gSW5wdXQgY29udHJvbHNcbiAgb25ZZWFyQ2hhbmdlKCkge1xuICAgIGlmIChpc05hTigrdGhpcy55ZWFyVGV4dCkpIHsgXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy55ZWFyVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Nb250aExvc3RGb2N1cygpIHtcbiAgICBpZiAoK3RoaXMubW9udGhUZXh0ID4gMCAmJiAhaXNOYU4oK3RoaXMubW9udGhUZXh0KSkge1xuICAgICAgaWYgKHRoaXMubW9udGhUZXh0ID09ICcxJykge1xuICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwMSc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25Nb250aENoYW5nZSgpIHtcbiAgICBpZiAoK3RoaXMubW9udGhUZXh0ID49IDAgJiYgK3RoaXMubW9udGhUZXh0IDwgMTMgJiYgIWlzTmFOKCt0aGlzLm1vbnRoVGV4dCkpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5tb250aFRleHQpIHtcbiAgICAgICAgY2FzZSAnMic6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwMic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnMyc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwMyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnNCc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwNCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnNSc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwNSc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnNic6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwNic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnNyc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwNyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnOCc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwOCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnOSc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwOSc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMubW9udGhUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkNvZGVDaGFuZ2UoKSB7XG4gICAgaWYgKGlzTmFOKCt0aGlzLmN2Y1RleHQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jdmNUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkRuaUNoYW5nZSgpIHtcbiAgICBpZiAoaXNOYU4oK3RoaXMuZG5pVGV4dCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmRuaVRleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uTWFpbENoYW5nZSgpIHtcbiAgICBpZiAoIWlzTmFOKCt0aGlzLm1haWxUZXh0KSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMubWFpbFRleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29kQXJlYUNoYW5nZSgpIHtcbiAgICBpZiAoaXNOYU4oK3RoaXMuY29kQXJlYVRleHQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jb2RBcmVhVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25UZWxDaGFuZ2UoKSB7XG4gICAgaWYgKGlzTmFOKCt0aGlzLnRlbFRleHQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy50ZWxUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvblBheWVyTmFtZUNoYW5nZSgpIHtcbiAgICBpZiAoIWlzTmFOKCt0aGlzLmRlZmF1bHROYW1lKSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZGVmYXVsdE5hbWUgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2FyZENoYW5nZSgpIHtcbiAgICBpZiAoaXNOYU4oK3RoaXMuY2FyZFRleHQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jYXJkVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25JbnN0YWxsbWVudHNDaGFuZ2UoKSB7XG4gICAgLy9jb25zb2xlLmxvZygnY3VvdGFzIHNlbGVjY2lvbmFkYXMnICx0aGlzLmluc3RhbGxtZW50cylcbiAgfVxuXG4gIG9uUGFzdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59Il19