@senior-agronegocio/angular-components 0.0.87 → 0.0.89

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.
@@ -571,10 +571,10 @@ __decorate([
571
571
  EventControlBoardComponent = __decorate([
572
572
  Component({
573
573
  selector: "event-control-board",
574
- template: "<ng-container *sLoadingState=\"gridLoading\">\r\n <p-panel>\r\n <p-header>\r\n {{ \"agro.angular_components.event_control_header\" | libTranslate }}\r\n </p-header>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12\">\r\n <s-button\r\n id=\"refresh-button\"\r\n [priority]=\"ButtonPriority.Primary\"\r\n iconClass=\"fa fa-refresh\"\r\n [label]=\"'agro.angular_components.refresh' | libTranslate\"\r\n (click)=\"onSearch()\"\r\n >\r\n </s-button>\r\n <s-button\r\n *ngIf=\"standalone && showCancelButton\"\r\n id=\"cancel-button-agro-events-lib\"\r\n iconClass=\"fa fa-times\"\r\n [label]=\"'agro.angular_components.cancel' | libTranslate\"\r\n (click)=\"openCancelModal()\"\r\n >\r\n </s-button>\r\n </div>\r\n </div>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12 ui-md-12\" *ngIf=\"!gridData || gridData?.length === 0\">\r\n <s-empty-state\r\n iconClass=\"fa fa-exclamation-triangle\"\r\n title=\"{{ 'agro.angular_components.nothing_found' | libTranslate }}\"\r\n [showPrimaryAction]=\"false\"\r\n description=\"{{ 'agro.angular_components.table_empty_description' | libTranslate }}\"\r\n >\r\n </s-empty-state>\r\n </div>\r\n <ng-container *ngIf=\"gridData?.length > 0\">\r\n <p-table\r\n stylelass=\"custom-table\"\r\n #eventControlTable\r\n [value]=\"gridDataResolved\"\r\n [columns]=\"gridColumns\"\r\n dataKey=\"id\"\r\n [lazy]=\"true\"\r\n [scrollable]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"!standalone\"\r\n [totalRecords]=\"gridTotalRecords\"\r\n [rows]=\"10\"\r\n [responsive]=\"true\"\r\n (onLazyLoad)=\"onGridChange($event)\"\r\n [sortOrder]=\"getSortOrder()\"\r\n [first]=\"getRowIndex()\"\r\n [lazyLoadOnInit]=\"false\"\r\n sortMode=\"multiple\"\r\n [rows]=\"getPageSize()\"\r\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <ng-container *ngIf=\"!standalone\">\r\n <th\r\n *ngFor=\"let col of columns\"\r\n class=\"ui-lg-1 ui-md-1\"\r\n [pSortableColumn]=\"col.field\"\r\n scope=\"col\"\r\n >\r\n <div class=\"senior-header\">\r\n <span class=\"senior-header-title\">{{\r\n col.header\r\n }}</span>\r\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </div>\r\n </th>\r\n </ng-container>\r\n <th class=\"ui-lg-8 ui-md-7\" scope=\"col\">\r\n {{ \"agro.angular_components.panel_title_events_events\" | libTranslate }}\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData>\r\n <tr>\r\n <ng-container *ngIf=\"!standalone\">\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n {{ rowData.e070emp?.nomEmp }}\r\n </td>\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n {{ rowData.e070fil?.nomFil }}\r\n </td>\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n <ng-container [ngSwitch]=\"rowData.eventOrigin\">\r\n <span *ngSwitchCase=\"'BALANCE_ENTRY_CONTROL'\">\r\n {{\r\n \"agro.angular_components.balance_entry_control_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'TICKET'\">\r\n {{\r\n \"agro.angular_components.ticket_maintenance_header\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'TRANSFER'\">\r\n {{\r\n \"agro.angular_components.transfer_origin_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'INVOICE'\">\r\n {{\r\n \"agro.angular_components.invoice_creating_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'CHANGE_REQUEST'\">\r\n {{\r\n \"agro.angular_components.change_request_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'FIXATION'\">\r\n {{\r\n \"agro.angular_components.fixation_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'CANCEL_FIXATION'\">\r\n {{\r\n \"agro.angular_components.cancel_fixation_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'TRANSFER_CANCELLATION'\">\r\n {{\r\n \"agro.angular_components.transfer_cancellation_event\"\r\n | libTranslate\r\n }}\r\n </span>\r\n </ng-container>\r\n </td>\r\n <td class=\"ui-lg-1 ui ui-md-1\">\r\n {{ rowData.controlCode || \"\" }}\r\n </td>\r\n </ng-container>\r\n <td class=\"ui-lg-8 ui-md-7\">\r\n <ng-container *ngFor=\"let group of rowData.groups\">\r\n <s-event-steps\r\n [steps]=\"group.steps || []\"\r\n [activeIndex]=\"group.activeIndex\"\r\n (stepSelected)=\"stepSelected($event)\"\r\n >\r\n </s-event-steps>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template\r\n *ngIf=\"!standalone\"\r\n pTemplate=\"paginatorright\"\r\n class=\"custom-table\"\r\n >\r\n <span>\r\n {{\r\n \"agro.angular_components.registers_found\"\r\n | libTranslate : { total: gridTotalRecords }\r\n }}\r\n </span>\r\n </ng-template>\r\n </p-table>\r\n </ng-container>\r\n </div>\r\n </p-panel>\r\n</ng-container>\r\n<s-sidebar [visible]=\"showSidebar\" (visibleChange)=\"closeSidebar()\" header=\"{{ 'agro.angular_components.event_details_header' | libTranslate }}\">\r\n <div class=\"ui-fluid\">\r\n <p-fieldset [legend]=\"sidebarTitle\" [toggleable]=\"false\">\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{\r\n \"agro.angular_components.event_origin_label\" | libTranslate\r\n }}</strong></span\r\n >\r\n <ng-container [ngSwitch]=\"selectedStep?.eventType\">\r\n <p *ngSwitchCase=\"'BALANCE_ENTRY_CONTROL'\">\r\n {{ \"agro.angular_components.balance_entry_control_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TICKET'\">\r\n {{ \"agro.angular_components.ticket_maintenance_header\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TRANSFER'\">\r\n {{ \"agro.angular_components.transfer_origin_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'INVOICE'\">\r\n {{ \"agro.angular_components.invoice_creating_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'CHANGE_REQUEST'\">\r\n {{ \"agro.angular_components.change_request_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'FIXATION'\">\r\n {{ \"agro.angular_components.fixation_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'CANCEL_FIXATION'\">\r\n {{ \"agro.angular_components.cancel_fixation_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TRANSFER_CANCELLATION'\">\r\n {{ \"agro.angular_components.transfer_cancellation_event\" | libTranslate }}\r\n </p>\r\n </ng-container>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"producerInvoice?.producerBalanceEntryControl.producer.e001pes.nomPes\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.supplier\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ producerInvoice?.producerBalanceEntryControl.producer.e001pes.nomPes }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"producerInvoice?.producerBalanceEntryControl.ruralEstate.name\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.rural_estate\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ producerInvoice?.producerBalanceEntryControl.ruralEstate.name }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"selectedStep?.controlCode\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.control_code\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ selectedStep?.controlCode }}</p>\r\n </div>\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.status_label\" | libTranslate }}</strong></span\r\n >\r\n <ng-container [ngSwitch]=\"selectedStep?.item.status\">\r\n <p *ngSwitchCase=\"'SUCCESS'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Green\"\r\n text=\"{{\r\n 'agro.angular_components.panel_title_events_completed_successfully'\r\n | libTranslate\r\n }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'PROCESSING'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Orange\"\r\n text=\"{{ 'agro.angular_components.processing' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'FAILED'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Red\"\r\n text=\"{{\r\n 'agro.angular_components.panel_title_events_ended_with_error'\r\n | libTranslate\r\n }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'PENDING'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Gray\"\r\n text=\"{{ 'agro.angular_components.pending' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n </ng-container>\r\n </div>\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{\r\n \"agro.angular_components.last_update_date\" | libTranslate\r\n }}</strong></span\r\n >\r\n <p>{{ selectedStep?.item.lastModifiedDate | date : \"dd/MM/yyyy HH:mm:ss\" }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"selectedStep?.item.status === 'FAILED'\">\r\n <span\r\n ><strong>{{\r\n \"agro.angular_components.event_error_message\" | libTranslate\r\n }}</strong></span\r\n >\r\n <p>{{ selectedStep?.item.message || \"-\" }}</p>\r\n </div>\r\n </div>\r\n </p-fieldset>\r\n </div>\r\n <s-footer>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12 width-fit\">\r\n <s-button\r\n id=\"sidebar-close-button\"\r\n [priority]=\"ButtonPriority.Primary\"\r\n [label]=\"'agro.angular_components.events_close' | libTranslate\"\r\n [auxiliary]=\"false\"\r\n (click)=\"closeSidebar()\"\r\n >\r\n </s-button>\r\n <s-button\r\n *ngIf=\"showReprocessButton\"\r\n id=\"sidebar-reprocess-button\"\r\n [priority]=\"ButtonPriority.Secondary\"\r\n iconClass=\"fa fa-refresh\"\r\n [label]=\"'agro.angular_components.reprocess_event' | libTranslate\"\r\n [auxiliary]=\"false\"\r\n (click)=\"openModal()\"\r\n >\r\n </s-button>\r\n </div>\r\n </div>\r\n </s-footer>\r\n</s-sidebar>\r\n\r\n<p-dialog [header]=\"'agro.angular_components.event_modal_title' | libTranslate\" [(visible)]=\"displayModal\" [modal]=\"true\" class=\"dialog\">\r\n <div class=\"event-modal-text\">{{ \"agro.angular_components.event_modal\" | libTranslate }}</div>\r\n <p-footer>\r\n <div class=\"ui-dialog-buttonpane ui-widget-content ui-helper-clearfix\">\r\n <button\r\n id=\"modal-yes\"\r\n type=\"button\"\r\n pButton\r\n icon=\"fa fa-check\"\r\n (click)=\"confirmModal()\"\r\n label=\"{{ 'agro.angular_components.yes' | libTranslate }}\"\r\n class=\"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only\"\r\n ></button>\r\n <button\r\n id=\"modal-no\"\r\n type=\"button\"\r\n pButton\r\n icon=\"fa fa-close\"\r\n (click)=\"cancelModal()\"\r\n label=\"{{ 'agro.angular_components.no' | libTranslate }}\"\r\n class=\"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only\"\r\n ></button>\r\n </div>\r\n </p-footer>\r\n</p-dialog>\r\n",
574
+ template: "<ng-container *sLoadingState=\"gridLoading\">\r\n <p-panel>\r\n <p-header>\r\n {{ \"agro.angular_components.event_control_header\" | libTranslate }}\r\n </p-header>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12\">\r\n <s-button\r\n id=\"refresh-button\"\r\n [priority]=\"ButtonPriority.Primary\"\r\n iconClass=\"fa fa-refresh\"\r\n [label]=\"'agro.angular_components.refresh' | libTranslate\"\r\n (click)=\"onSearch()\"\r\n >\r\n </s-button>\r\n <s-button\r\n *ngIf=\"standalone && showCancelButton\"\r\n id=\"cancel-button-agro-events-lib\"\r\n iconClass=\"fa fa-times\"\r\n [label]=\"'agro.angular_components.cancel' | libTranslate\"\r\n (click)=\"openCancelModal()\"\r\n >\r\n </s-button>\r\n </div>\r\n </div>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12 ui-md-12\" *ngIf=\"!gridData || gridData?.length === 0\">\r\n <s-empty-state\r\n iconClass=\"fa fa-exclamation-triangle\"\r\n title=\"{{ 'agro.angular_components.nothing_found' | libTranslate }}\"\r\n [showPrimaryAction]=\"false\"\r\n description=\"{{ 'agro.angular_components.table_empty_description' | libTranslate }}\"\r\n >\r\n </s-empty-state>\r\n </div>\r\n <ng-container *ngIf=\"gridData?.length > 0\">\r\n <p-table\r\n stylelass=\"custom-table\"\r\n #eventControlTable\r\n [value]=\"gridDataResolved\"\r\n [columns]=\"gridColumns\"\r\n dataKey=\"id\"\r\n [lazy]=\"true\"\r\n [scrollable]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"!standalone\"\r\n [totalRecords]=\"gridTotalRecords\"\r\n [rows]=\"10\"\r\n [responsive]=\"true\"\r\n (onLazyLoad)=\"onGridChange($event)\"\r\n [sortOrder]=\"getSortOrder()\"\r\n [first]=\"getRowIndex()\"\r\n [lazyLoadOnInit]=\"false\"\r\n sortMode=\"multiple\"\r\n [rows]=\"getPageSize()\"\r\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <ng-container *ngIf=\"!standalone\">\r\n <th *ngFor=\"let col of columns\" class=\"ui-lg-1 ui-md-1\" [pSortableColumn]=\"col.field\" scope=\"col\">\r\n <div class=\"senior-header\">\r\n <span class=\"senior-header-title\">{{ col.header }}</span>\r\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </div>\r\n </th>\r\n </ng-container>\r\n <th class=\"ui-lg-8 ui-md-7\" scope=\"col\">\r\n {{ \"agro.angular_components.panel_title_events_events\" | libTranslate }}\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData>\r\n <tr>\r\n <ng-container *ngIf=\"!standalone\">\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n {{ rowData.e070emp?.nomEmp }}\r\n </td>\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n {{ rowData.e070fil?.nomFil }}\r\n </td>\r\n <td class=\"ui-lg-1 ui-md-1\">\r\n <ng-container [ngSwitch]=\"rowData.eventOrigin\">\r\n <span *ngSwitchCase=\"'BALANCE_ENTRY_CONTROL'\">\r\n {{ \"agro.angular_components.balance_entry_control_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'TICKET'\">\r\n {{ \"agro.angular_components.ticket_maintenance_header\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'TRANSFER'\">\r\n {{ \"agro.angular_components.transfer_origin_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'INVOICE'\">\r\n {{ \"agro.angular_components.invoice_creating_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'CHANGE_REQUEST'\">\r\n {{ \"agro.angular_components.change_request_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'FIXATION'\">\r\n {{ \"agro.angular_components.fixation_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'CANCEL_FIXATION'\">\r\n {{ \"agro.angular_components.cancel_fixation_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'TRANSFER_CANCELLATION'\">\r\n {{ \"agro.angular_components.transfer_cancellation_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'AGRONOMIC_PRESCRIPTION'\">\r\n {{ \"agro.angular_components.agronomic_prescription_origin_event\" | libTranslate }}\r\n </span>\r\n <span *ngSwitchCase=\"'PRESCRIPTION_INTEGRATION_HUB'\">\r\n {{ \"agro.angular_components.agronomic_prescription_origin_event\" | libTranslate }}\r\n </span>\r\n </ng-container>\r\n </td>\r\n <td class=\"ui-lg-1 ui ui-md-1\">\r\n {{ rowData.controlCode || \"\" }}\r\n </td>\r\n </ng-container>\r\n <td class=\"ui-lg-8 ui-md-7\">\r\n <ng-container *ngFor=\"let group of rowData.groups\">\r\n <s-event-steps\r\n [steps]=\"group.steps || []\"\r\n [activeIndex]=\"group.activeIndex\"\r\n (stepSelected)=\"stepSelected($event)\"\r\n >\r\n </s-event-steps>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template *ngIf=\"!standalone\" pTemplate=\"paginatorright\" class=\"custom-table\">\r\n <span>\r\n {{ \"agro.angular_components.registers_found\" | libTranslate: { total: gridTotalRecords } }}\r\n </span>\r\n </ng-template>\r\n </p-table>\r\n </ng-container>\r\n </div>\r\n </p-panel>\r\n</ng-container>\r\n<s-sidebar\r\n [visible]=\"showSidebar\"\r\n (visibleChange)=\"closeSidebar()\"\r\n header=\"{{ 'agro.angular_components.event_details_header' | libTranslate }}\"\r\n>\r\n <div class=\"ui-fluid\">\r\n <p-fieldset [legend]=\"sidebarTitle\" [toggleable]=\"false\">\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.event_origin_label\" | libTranslate }}</strong></span\r\n >\r\n <ng-container [ngSwitch]=\"selectedStep?.eventType\">\r\n <p *ngSwitchCase=\"'BALANCE_ENTRY_CONTROL'\">\r\n {{ \"agro.angular_components.balance_entry_control_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TICKET'\">\r\n {{ \"agro.angular_components.ticket_maintenance_header\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TRANSFER'\">\r\n {{ \"agro.angular_components.transfer_origin_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'INVOICE'\">\r\n {{ \"agro.angular_components.invoice_creating_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'CHANGE_REQUEST'\">\r\n {{ \"agro.angular_components.change_request_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'FIXATION'\">\r\n {{ \"agro.angular_components.fixation_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'CANCEL_FIXATION'\">\r\n {{ \"agro.angular_components.cancel_fixation_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'TRANSFER_CANCELLATION'\">\r\n {{ \"agro.angular_components.transfer_cancellation_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'AGRONOMIC_PRESCRIPTION'\">\r\n {{ \"agro.angular_components.agronomic_prescription_origin_event\" | libTranslate }}\r\n </p>\r\n <p *ngSwitchCase=\"'PRESCRIPTION_INTEGRATION_HUB'\">\r\n {{ \"agro.angular_components.agronomic_prescription_origin_event\" | libTranslate }}\r\n </p>\r\n </ng-container>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"producerInvoice?.producerBalanceEntryControl.producer.e001pes.nomPes\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.supplier\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ producerInvoice?.producerBalanceEntryControl.producer.e001pes.nomPes }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"producerInvoice?.producerBalanceEntryControl.ruralEstate.name\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.rural_estate\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ producerInvoice?.producerBalanceEntryControl.ruralEstate.name }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"selectedStep?.controlCode\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.control_code\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ selectedStep?.controlCode }}</p>\r\n </div>\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.status_label\" | libTranslate }}</strong></span\r\n >\r\n <ng-container [ngSwitch]=\"selectedStep?.item.status\">\r\n <p *ngSwitchCase=\"'SUCCESS'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Green\"\r\n text=\"{{ 'agro.angular_components.panel_title_events_completed_successfully' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'PROCESSING'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Orange\"\r\n text=\"{{ 'agro.angular_components.processing' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'FAILED'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Red\"\r\n text=\"{{ 'agro.angular_components.panel_title_events_ended_with_error' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n <p *ngSwitchCase=\"'PENDING'\">\r\n <s-badge\r\n [color]=\"BadgeColors.Gray\"\r\n text=\"{{ 'agro.angular_components.pending' | libTranslate }}\"\r\n [selectable]=\"false\"\r\n >\r\n </s-badge>\r\n </p>\r\n </ng-container>\r\n </div>\r\n <div class=\"ui-g-4\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.last_update_date\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ selectedStep?.item.lastModifiedDate | date: \"dd/MM/yyyy HH:mm:ss\" }}</p>\r\n </div>\r\n <div class=\"ui-g-4\" *ngIf=\"selectedStep?.item.status === 'FAILED'\">\r\n <span\r\n ><strong>{{ \"agro.angular_components.event_error_message\" | libTranslate }}</strong></span\r\n >\r\n <p>{{ selectedStep?.item.message || \"-\" }}</p>\r\n </div>\r\n </div>\r\n </p-fieldset>\r\n </div>\r\n <s-footer>\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12 width-fit\">\r\n <s-button\r\n id=\"sidebar-close-button\"\r\n [priority]=\"ButtonPriority.Primary\"\r\n [label]=\"'agro.angular_components.events_close' | libTranslate\"\r\n [auxiliary]=\"false\"\r\n (click)=\"closeSidebar()\"\r\n >\r\n </s-button>\r\n <s-button\r\n *ngIf=\"showReprocessButton\"\r\n id=\"sidebar-reprocess-button\"\r\n [priority]=\"ButtonPriority.Secondary\"\r\n iconClass=\"fa fa-refresh\"\r\n [label]=\"'agro.angular_components.reprocess_event' | libTranslate\"\r\n [auxiliary]=\"false\"\r\n (click)=\"openModal()\"\r\n >\r\n </s-button>\r\n </div>\r\n </div>\r\n </s-footer>\r\n</s-sidebar>\r\n\r\n<p-dialog [header]=\"'agro.angular_components.event_modal_title' | libTranslate\" [(visible)]=\"displayModal\" [modal]=\"true\" class=\"dialog\">\r\n <div class=\"event-modal-text\">{{ \"agro.angular_components.event_modal\" | libTranslate }}</div>\r\n <p-footer>\r\n <div class=\"ui-dialog-buttonpane ui-widget-content ui-helper-clearfix\">\r\n <button\r\n id=\"modal-yes\"\r\n type=\"button\"\r\n pButton\r\n icon=\"fa fa-check\"\r\n (click)=\"confirmModal()\"\r\n label=\"{{ 'agro.angular_components.yes' | libTranslate }}\"\r\n class=\"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only\"\r\n ></button>\r\n <button\r\n id=\"modal-no\"\r\n type=\"button\"\r\n pButton\r\n icon=\"fa fa-close\"\r\n (click)=\"cancelModal()\"\r\n label=\"{{ 'agro.angular_components.no' | libTranslate }}\"\r\n class=\"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only\"\r\n ></button>\r\n </div>\r\n </p-footer>\r\n</p-dialog>\r\n",
575
575
  providers: [{ provide: LOCALE_ID, useValue: "pt-BR" }],
576
576
  styles: [".frozen{border-left:2px solid #ddd}.dialog{width:\"600px\";height:\"300px\";z-index:100000}:host ::ng-deep #cancel-button-agro-events-lib{background-color:#9c3a3a!important;border-color:#9c3a3a!important}:host ::ng-deep #cancel-button-agro-events-lib:hover{background-color:#642525!important}"]
577
577
  })
578
578
  ], EventControlBoardComponent);
579
579
  export { EventControlBoardComponent };
580
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY29udHJvbC1ib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9ldmVudC1jb250cm9sLWJvYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBZ0MsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFRLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hILE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztB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QUN2QjtJQUFSLEtBQUssRUFBRTsrREFBMkI7QUFDMUI7SUFBUixLQUFLLEVBQUU7K0RBQTJCO0FBQzFCO0lBQVIsS0FBSyxFQUFFOzhEQUFxQjtBQUNwQjtJQUFSLEtBQUssRUFBRTsrREFBb0I7QUFDbkI7SUFBUixLQUFLLEVBQUU7OERBQXNCO0FBQ3JCO0lBQVIsS0FBSyxFQUFFO29FQUE0QjtBQUMzQjtJQUFSLEtBQUssRUFBRTsyRUFBbUQ7QUFDakQ7SUFBVCxNQUFNLEVBQUU7a0VBQTZEO0FBWDdELDBCQUEwQjtJQU50QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUscUJBQXFCO1FBQy9CLG16bEJBQW1EO1FBRW5ELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7O0tBQ3pELENBQUM7R0FDVywwQkFBMEIsQ0FvbEJ0QztTQXBsQlksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgbG9jYWxlUHQgZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL3B0XCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTE9DQUxFX0lELCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJhZGdlQ29sb3JzLCBCdXR0b25Qcmlvcml0eSwgRmllbGRUeXBlLCBGb3JtRmllbGQsIFN0ZXAsIFN0ZXBTdGF0ZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmdcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBBR1JPX05VTUJFUlMgfSBmcm9tIFwiLi4vLi4vZW51bXMvYWdyby1udW1iZXJzLmVudW1cIjtcclxuaW1wb3J0IHsgTGliVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2xpYi10cmFuc2xhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFdlYnNvY2tldFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvd2Vic29ja2V0XCI7XHJcbmltcG9ydCB7IENhbmNlbEV2ZW50RGlhbG9nQ29uZmlnIH0gZnJvbSBcIi4uL2NhbmNlbC1ldmVudC1kaWFsb2cvY2FuY2VsLWV2ZW50LWRpYWxvZy1jb25maWdcIjtcclxuaW1wb3J0IHsgQ2FuY2VsRXZlbnREaWFsb2dDb21wb25lbnQgfSBmcm9tIFwiLi4vY2FuY2VsLWV2ZW50LWRpYWxvZy9jYW5jZWwtZXZlbnQtZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBldmVudEl0ZW0sIGlucHV0RmllbGRzUGF0aCB9IGZyb20gXCIuL2NvbW1vbi9ldmVudC1jb250cm9sLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBFdmVudE9yaWdpbiB9IGZyb20gXCIuL2NvbW1vbi9ldmVudC1vcmlnaW5cIjtcclxuaW1wb3J0IHsgRXZlbnRTdGF0dXMgfSBmcm9tIFwiLi9jb21tb24vZXZlbnQtc3RhdHVzXCI7XHJcbmltcG9ydCB7IElucHV0RmllbGRzIH0gZnJvbSBcIi4vY29tbW9uL2lucHV0LWZpZWxkc1wiO1xyXG5pbXBvcnQgeyBpbnZvaWNlVHlwZVRyYW5zbGF0ZSB9IGZyb20gXCIuL2NvbW1vbi9pbnB1dC1maWVsZHMtdHJhbnNsYXRlXCI7XHJcbmltcG9ydCB7IExvb2t1cEVycm9yTWVzc2FnZXMgfSBmcm9tIFwiLi9jb21tb24vbG9va3VwLWVycm9yLW1lc3NhZ2UuY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IEUwNzBFbXAgfSBmcm9tIFwiLi9zZXJ2aWNlL2UwNzBlbXAvZTA3MGVtcFwiO1xyXG5pbXBvcnQgeyBFMDcwRmlsIH0gZnJvbSBcIi4vc2VydmljZS9lMDcwZmlsL2UwNzBmaWxcIjtcclxuaW1wb3J0IHsgRXZlbnRDb250cm9sQm9hcmRTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZS9ldmVudC1jb250cm9sLWJvYXJkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRXZlbnRDb250cm9sSXRlbSB9IGZyb20gXCIuL3NlcnZpY2UvZXZlbnQtY29udHJvbC1pdGVtL2V2ZW50LWNvbnRyb2wtaXRlbVwiO1xyXG5pbXBvcnQgeyBSZXByb2Nlc3NGYWlsZWRFdmVudCB9IGZyb20gXCIuL3NlcnZpY2UvZXZlbnQtY29udHJvbC1pdGVtL2V2ZW50LWNvbnRyb2wtaXRlbS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEV2ZW50Q29udHJvbCB9IGZyb20gXCIuL3NlcnZpY2UvZXZlbnQtY29udHJvbC9ldmVudC1jb250cm9sXCI7XHJcbmltcG9ydCB7IExpc3RFdmVudENvbnRyb2xXaXRoRmlsdGVyc0lucHV0RHRvIH0gZnJvbSBcIi4vc2VydmljZS9ldmVudC1jb250cm9sL2V2ZW50LWNvbnRyb2wuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQYWdpbmF0b3JTdG9yYWdlU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2UvcGFnaW5hdG9yLXN0b3JhZ2Uuc2VydmljZVwiO1xyXG5jb25zdCBtb21lbnQgPSByZXF1aXJlKFwibW9tZW50XCIpO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJldmVudC1jb250cm9sLWJvYXJkXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2V2ZW50LWNvbnRyb2wtYm9hcmQuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiLi9ldmVudC1jb250cm9sLWJvYXJkLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMT0NBTEVfSUQsIHVzZVZhbHVlOiBcInB0LUJSXCIgfV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFdmVudENvbnRyb2xCb2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgY29tcGFueSE6IEUwNzBFbXA7XHJcbiAgICBASW5wdXQoKSBicmFuY2ghOiBFMDcwRmlsO1xyXG4gICAgQElucHV0KCkgY29udHJvbENvZGUhOiBzdHJpbmdbXTtcclxuICAgIEBJbnB1dCgpIGV2ZW50T3JpZ2luITogRXZlbnRPcmlnaW47XHJcbiAgICBASW5wdXQoKSBldmVudFN0YXR1cyE6IEV2ZW50U3RhdHVzO1xyXG4gICAgQElucHV0KCkgZXh0ZXJuYWxJZCE6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGNyZWF0ZWREYXRlITogRGF0ZTtcclxuICAgIEBJbnB1dCgpIHN0YW5kYWxvbmUhOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc2hvd0NhbmNlbEJ1dHRvbiE6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBjYW5jZWxFdmVudERpYWxvZ0NvbmZpZyE6IENhbmNlbEV2ZW50RGlhbG9nQ29uZmlnO1xyXG4gICAgQE91dHB1dCgpIHByb2Nlc3NlZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIHB1YmxpYyBwcm9kdWNlckludm9pY2UhOiBhbnk7XHJcblxyXG4gICAgcHVibGljIHN0ZXBzOiBTdGVwW10gPSBbXTtcclxuICAgIHB1YmxpYyBzZWxlY3RlZFN0ZXA6IGFueTtcclxuICAgIHB1YmxpYyBldmVudElkITogXCJcIjtcclxuICAgIHB1YmxpYyBzaG93U2lkZWJhciA9IGZhbHNlO1xyXG4gICAgcHVibGljIHNob3dSZXByb2Nlc3NCdXR0b24gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzaWRlYmFyVGl0bGUhOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgc2lkZWJhckxvYWRpbmchOiBib29sZWFuO1xyXG5cclxuICAgIHB1YmxpYyBmaWx0ZXJGb3JtR3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgICBwdWJsaWMgZmlsdGVyRmllbGRzITogRm9ybUZpZWxkW107XHJcblxyXG4gICAgcHVibGljIGdyaWREYXRhITogYW55W107XHJcbiAgICBwdWJsaWMgZ3JpZERhdGFSZXNvbHZlZCE6IGFueVtdO1xyXG4gICAgcHVibGljIGdyaWRDb2x1bW5zITogYW55W107XHJcbiAgICBwdWJsaWMgZ3JpZFRvdGFsUmVjb3JkcyA9IEFHUk9fTlVNQkVSUy5aRVJPO1xyXG4gICAgcHVibGljIGdyaWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgZGlzcGxheU1vZGFsID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIEJ1dHRvblByaW9yaXR5ID0gQnV0dG9uUHJpb3JpdHk7XHJcbiAgICBwdWJsaWMgQmFkZ2VDb2xvcnMgPSBCYWRnZUNvbG9ycztcclxuXHJcbiAgICBwdWJsaWMgcGVybWlzc2lvbnM6IGFueSA9IHt9O1xyXG4gICAgcHVibGljIGxvY2FsZUNvbmZpZzogYW55ID0ge307XHJcblxyXG4gICAgcHVibGljIGN1cnJlbnRMaXN0UGFyYW1zOiBhbnkgPSB7IHBhZ2U6IEFHUk9fTlVNQkVSUy5aRVJPLCBzaXplOiBBR1JPX05VTUJFUlMuVEVOLCBzb3J0OiBbXSwgZmlsdGVyRGF0YToge30gfTtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBldmVudEl0ZW0gPSBldmVudEl0ZW07XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0RmllbGRzUGF0aCA9IGlucHV0RmllbGRzUGF0aDtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW52b2ljZVR5cGVUcmFuc2xhdGUgPSBpbnZvaWNlVHlwZVRyYW5zbGF0ZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogTGliVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgd2Vic29ja2V0U2VydmljZTogV2Vic29ja2V0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50Q29udHJvbEJvYXJkU2VydmljZTogRXZlbnRDb250cm9sQm9hcmRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnaW5hdG9yU3RvcmFnZVNlcnZpY2U6IFBhZ2luYXRvclN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgcmVnaXN0ZXJMb2NhbGVEYXRhKGxvY2FsZVB0KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5ncmlkQ29sdW1ucyA9IHRoaXMuc2V0R3JpZENvbHVtbnMoKTtcclxuICAgICAgICB0aGlzLmNhbGxXZWJzb2NrZXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGlmICghdGhpcy5maWx0ZXJGb3JtR3JvdXApIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplRm9ybUdyb3VwKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Rm9ybUZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy51cGRhdGVDb21wYW55QW5kQnJhbmNoRm9ybUZpZWxkcyhjaGFuZ2VzKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUV2ZW50T3JpZ2luQW5kQ29udHJvbENvZGVGb3JtRmllbGRzKGNoYW5nZXMpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlRXZlbnRTdGF0dXNBbmRDcmVhdGVkRGF0ZUZvcm1GaWVsZHMoY2hhbmdlcyk7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlQ29tcGFueUFuZEJyYW5jaEZvcm1GaWVsZHMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLmNvbXBhbnkgJiYgY2hhbmdlcy5jb21wYW55LmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcy5jb21wYW55LnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KFwiY29tcGFueVwiKT8uc2V0VmFsdWUoY2hhbmdlcy5jb21wYW55LmN1cnJlbnRWYWx1ZSA/PyBudWxsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzLmJyYW5jaCAmJiBjaGFuZ2VzLmJyYW5jaC5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMuYnJhbmNoLnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KFwiYnJhbmNoXCIpPy5zZXRWYWx1ZShjaGFuZ2VzLmJyYW5jaC5jdXJyZW50VmFsdWUgPz8gbnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlRXZlbnRPcmlnaW5BbmRDb250cm9sQ29kZUZvcm1GaWVsZHMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLmV2ZW50T3JpZ2luICYmIGNoYW5nZXMuZXZlbnRPcmlnaW4uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLmV2ZW50T3JpZ2luLnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KFwiZXZlbnRPcmlnaW5cIik/LnNldFZhbHVlKGNoYW5nZXMuZXZlbnRPcmlnaW4uY3VycmVudFZhbHVlID8/IG51bGwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXMuY29udHJvbENvZGUgJiYgY2hhbmdlcy5jb250cm9sQ29kZS5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMuY29udHJvbENvZGUucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoXCJjb250cm9sQ29kZVwiKT8uc2V0VmFsdWUoY2hhbmdlcy5jb250cm9sQ29kZS5jdXJyZW50VmFsdWUgPz8gbnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlRXZlbnRTdGF0dXNBbmRDcmVhdGVkRGF0ZUZvcm1GaWVsZHMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLmV2ZW50U3RhdHVzICYmIGNoYW5nZXMuZXZlbnRTdGF0dXMuY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLmV2ZW50U3RhdHVzLnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KFwic3RhdHVzXCIpPy5zZXRWYWx1ZShjaGFuZ2VzLmV2ZW50U3RhdHVzLmN1cnJlbnRWYWx1ZSA/PyBudWxsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzLmNyZWF0ZWREYXRlICYmIGNoYW5nZXMuY3JlYXRlZERhdGUuY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLmNyZWF0ZWREYXRlLnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KFwiY3JlYXRlZERhdGVcIik/LnNldFZhbHVlKGNoYW5nZXMuY3JlYXRlZERhdGUuY3VycmVudFZhbHVlID8/IG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRpYWxpemVGb3JtR3JvdXAoKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgICAgICAgY29tcGFueTogW3sgdmFsdWU6IHRoaXMuY29tcGFueSA/PyBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5jb21wb3NlKFtdKV0sXHJcbiAgICAgICAgICAgIGJyYW5jaDogW3sgdmFsdWU6IHRoaXMuYnJhbmNoID8/IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcclxuICAgICAgICAgICAgY29udHJvbENvZGU6IFt7IHZhbHVlOiB0aGlzLmNvbnRyb2xDb2RlID8/IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcclxuICAgICAgICAgICAgZXh0ZXJuYWxJZDogW3sgdmFsdWU6IHRoaXMuZXh0ZXJuYWxJZCA/PyBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5jb21wb3NlKFtdKV0sXHJcbiAgICAgICAgICAgIGV2ZW50T3JpZ2luOiBbeyB2YWx1ZTogdGhpcy5ldmVudE9yaWdpbiA/PyBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5jb21wb3NlKFtdKV0sXHJcbiAgICAgICAgICAgIHN0YXR1czogW3sgdmFsdWU6IHRoaXMuZXZlbnRTdGF0dXMgPz8gbnVsbCwgZGlzYWJsZWQ6IGZhbHNlIH0sIFZhbGlkYXRvcnMuY29tcG9zZShbXSldLFxyXG4gICAgICAgICAgICBjcmVhdGVkRGF0ZTogW3sgdmFsdWU6IHRoaXMuY3JlYXRlZERhdGUgPz8gbnVsbCwgZGlzYWJsZWQ6IGZhbHNlIH0sIFZhbGlkYXRvcnMuY29tcG9zZShbXSldLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0Rm9ybUZpZWxkcygpIHtcclxuICAgICAgICB0aGlzLmZpbHRlckZpZWxkcyA9IFtcclxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcImNvbXBhbnlcIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5DaGlwcyxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJicmFuY2hcIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5DaGlwcyxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJjb250cm9sQ29kZVwiLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkNoaXBzLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcImV4dGVybmFsSWRcIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiZXZlbnRPcmlnaW5cIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5FbnVtLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcInN0YXR1c1wiLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkVudW0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiY3JlYXRlZERhdGVcIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5EYXRlLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0R3JpZENvbHVtbnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgeyBmaWVsZDogXCJjb21wYW55XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNvbXBhbnlcIikgfSxcclxuICAgICAgICAgICAgeyBmaWVsZDogXCJicmFuY2hcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfYnJhbmNoXCIpIH0sXHJcbiAgICAgICAgICAgIHsgZmllbGQ6IFwiZXZlbnRPcmlnaW5cIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3JpZ2luX2xhYmVsXCIpIH0sXHJcbiAgICAgICAgICAgIHsgZmllbGQ6IFwiY29udHJvbENvZGVcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY29udHJvbF9jb2RlXCIpIH0sXHJcbiAgICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcclxuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcclxuICAgICAgICB0aGlzLndlYnNvY2tldFNlcnZpY2UuZGlzY29ubmVjdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYWxsV2Vic29ja2V0KCkge1xyXG4gICAgICAgIHRoaXMud2Vic29ja2V0U2VydmljZVxyXG4gICAgICAgICAgICAub25FdmVudDxhbnk+KHtcclxuICAgICAgICAgICAgICAgIGRvbWFpbjogXCJhZ3JvXCIsXHJcbiAgICAgICAgICAgICAgICBzZXJ2aWNlOiBcImFncm9fZXZlbnRzXCIsXHJcbiAgICAgICAgICAgICAgICBwcmltaXRpdmU6IFwicHJvY2Vzc2VkRXZlbnRcIixcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2UpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGV4dGVybmFsSWQgPSBtZXNzYWdlPy5kYXRhPy5leHRlcm5hbElkO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyRGF0YSA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWV4dGVybmFsSWQgfHwgdGhpcy5leHRlcm5hbElkID09PSBleHRlcm5hbElkIHx8IHRoaXMuZ3JpZERhdGE/LnNvbWUoKGl0ZW06IGFueSkgPT4gaXRlbS5leHRlcm5hbElkID09PSBleHRlcm5hbElkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlR3JpZCh7IGZpbHRlckRhdGEgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzZWRFdmVudC5lbWl0KG1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy53ZWJzb2NrZXRTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5vbkV2ZW50PGFueT4oe1xyXG4gICAgICAgICAgICAgICAgZG9tYWluOiBcInBsYXRmb3JtXCIsXHJcbiAgICAgICAgICAgICAgICBzZXJ2aWNlOiBcIm5vdGlmaWNhdGlvbnNcIixcclxuICAgICAgICAgICAgICAgIHByaW1pdGl2ZTogXCJ1c2VyTm90aWZpZWRcIixcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyRGF0YSA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUdyaWQoeyBmaWx0ZXJEYXRhIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25TZWFyY2goKSB7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyRGF0YSA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5yZXNldEdyaWQoeyBmaWx0ZXJEYXRhIH0pO1xyXG4gICAgICAgIHRoaXMudXBkYXRlR3JpZCh7IGZpbHRlckRhdGEgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlc2V0R3JpZChsaXN0UGFyYW1zPzogYW55KSB7XHJcbiAgICAgICAgaWYgKGxpc3RQYXJhbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TGlzdFBhcmFtcyA9IHsgLi4udGhpcy5jdXJyZW50TGlzdFBhcmFtcywgLi4ubGlzdFBhcmFtcyB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnBhZ2UgPSBBR1JPX05VTUJFUlMuWkVSTztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZUdyaWQobGlzdFBhcmFtczogYW55ID0ge30pIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zID0geyAuLi50aGlzLmN1cnJlbnRMaXN0UGFyYW1zLCAuLi5saXN0UGFyYW1zIH07XHJcbiAgICAgICAgY29uc3QgeyBwYWdlLCBzaXplIH0gPSB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zO1xyXG4gICAgICAgIGNvbnN0IG9yZGVyID0gdGhpcy5nZXRTb3J0ZWRGaWVsZHMoKTtcclxuICAgICAgICBjb25zdCBpbnB1dCA9IHsgLi4udGhpcy5nZXRJbnB1dCgpLCBwYWdlLCBzaXplLCBvcmRlciB9O1xyXG5cclxuICAgICAgICB0aGlzLmV2ZW50Q29udHJvbEJvYXJkU2VydmljZS5ldmVudENvbnRyb2xTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5nZXRMaXN0RXZlbnRDb250cm9sV2l0aEZpbHRlcnMoaW5wdXQpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkRGF0YSA9IGxpc3QuY29udGVudHM7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRUb3RhbFJlY29yZHMgPSBsaXN0LnRvdGFsRWxlbWVudHM7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZ3JpZERhdGEgfHwgdGhpcy5ncmlkRGF0YS5sZW5ndGggPD0gQUdST19OVU1CRVJTLlpFUk8pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRXZlbnRDb250cm9sSXRlbXMoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwcm9jZXNzRXZlbnRDb250cm9sSXRlbXMoKSB7XHJcbiAgICAgICAgdGhpcy5ncmlkRGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNvcnRlZEl0ZW1zID0gaXRlbS5ldmVudENvbnRyb2xJdGVtLnNvcnQoKGE6IEV2ZW50Q29udHJvbEl0ZW0sIGI6IEV2ZW50Q29udHJvbEl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBhLnNlcXVlbmNlIC0gYi5zZXF1ZW5jZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0ZXBzID0gc29ydGVkSXRlbXMubWFwKChkZXRhaWw6IEV2ZW50Q29udHJvbEl0ZW0sIGluZGV4OiBudW1iZXIpID0+IHRoaXMuY3JlYXRlU3RlcChkZXRhaWwsIGl0ZW0sIGluZGV4KSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gdGhpcy5jYWxjdWxhdGVBY3RpdmVJbmRleChzb3J0ZWRJdGVtcyk7XHJcbiAgICAgICAgICAgIGl0ZW0uZ3JvdXBzID0gW3sgc3RlcHMsIGFjdGl2ZUluZGV4IH1dO1xyXG4gICAgICAgICAgICBpdGVtLmFjdGl2ZUluZGV4ID0gYWN0aXZlSW5kZXg7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5ncmlkRGF0YVJlc29sdmVkID0gdGhpcy5ncmlkRGF0YTtcclxuICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVBY3RpdmVJbmRleChkZXRhaWxzOiBFdmVudENvbnRyb2xJdGVtW10pOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IGxhc3RBY3RpdmUgPSBkZXRhaWxzLnJlZHVjZShcclxuICAgICAgICAgICAgKGxhc3RJbmRleCwgZGV0YWlsLCBjdXJyZW50SW5kZXgpID0+IChkZXRhaWwuc3RhdHVzICE9PSBFdmVudFN0YXR1cy5QRU5ESU5HID8gY3VycmVudEluZGV4IDogbGFzdEluZGV4KSxcclxuICAgICAgICAgICAgLTFcclxuICAgICAgICApO1xyXG4gICAgICAgIGlmIChsYXN0QWN0aXZlICE9PSAtMSAmJiBkZXRhaWxzW2xhc3RBY3RpdmVdLnN0YXR1cyA9PT0gRXZlbnRTdGF0dXMuU1VDQ0VTUykge1xyXG4gICAgICAgICAgICByZXR1cm4gbGFzdEFjdGl2ZSArIDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBsYXN0QWN0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlU3RlcChkZXRhaWw6IEV2ZW50Q29udHJvbEl0ZW0sIGl0ZW06IEV2ZW50Q29udHJvbCwgZGV0YWlsSW5kZXg6IG51bWJlcikge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGl0ZW06IGRldGFpbCxcclxuICAgICAgICAgICAgY29udHJvbENvZGU6IGl0ZW0uY29udHJvbENvZGUsXHJcbiAgICAgICAgICAgIGV2ZW50VHlwZTogaXRlbS5ldmVudE9yaWdpbixcclxuICAgICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0RXZlbnRMYWJlbChkZXRhaWwpLFxyXG4gICAgICAgICAgICBzdWJMYWJlbDogdGhpcy5nZXRFdmVudFN1YkxhYmVsKGRldGFpbCksXHJcbiAgICAgICAgICAgIGRpc2FibGVkOiBkZXRhaWwuc3RhdHVzID09PSBFdmVudFN0YXR1cy5QRU5ESU5HICYmIGRldGFpbEluZGV4ICE9PSB0aGlzLmNhbGN1bGF0ZUFjdGl2ZUluZGV4KGl0ZW0uZXZlbnRDb250cm9sSXRlbSksXHJcbiAgICAgICAgICAgIHRvb2x0aXA6IHRoaXMuZ2V0RXZlbnRMYWJlbChkZXRhaWwpLFxyXG4gICAgICAgICAgICBzdGF0ZTogdGhpcy5kZXRlcm1pbmVTdGVwU3RhdGUoZGV0YWlsKSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGV0ZXJtaW5lU3RlcFN0YXRlKGRldGFpbDogeyBzdGF0dXM6IEV2ZW50U3RhdHVzIH0pOiBTdGVwU3RhdGUge1xyXG4gICAgICAgIGlmIChkZXRhaWwuc3RhdHVzID09PSBFdmVudFN0YXR1cy5TVUNDRVNTKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBTdGVwU3RhdGUuU3VjY2VzcztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRldGFpbC5zdGF0dXMgPT09IEV2ZW50U3RhdHVzLkZBSUxFRCkge1xyXG4gICAgICAgICAgICByZXR1cm4gU3RlcFN0YXRlLldhcm5pbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBTdGVwU3RhdGUuRGVmYXVsdDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEV2ZW50TGFiZWwoZGV0YWlsOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50TGFiZWwgPSB0aGlzLmV2ZW50SXRlbS5maW5kKChlKSA9PiBlLnZhbHVlID09PSBkZXRhaWwuZXZlbnRPcGVyYXRpb24pPy5sYWJlbDtcclxuICAgICAgICBpZiAoZXZlbnRMYWJlbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChldmVudExhYmVsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbG9jYWxMYWJlbCA9IHRoaXMuZ2V0RXZlbnRPcGVyYXRpb25TdWJMb2NhbExhYmVsKGRldGFpbCk7XHJcbiAgICAgICAgaWYgKGxvY2FsTGFiZWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGxvY2FsTGFiZWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkZXRhaWwuZXZlbnRPcGVyYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRFdmVudE9wZXJhdGlvblN1YkxvY2FsTGFiZWwoZGV0YWlsOiBFdmVudENvbnRyb2xJdGVtKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICAgICAgY29uc3QgdHJhbmxzYXRpb25LZXkgPSBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlwiICsgZGV0YWlsLmV2ZW50T3BlcmF0aW9uO1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFubHNhdGlvbktleSk7XHJcbiAgICAgICAgaWYgKHRyYW5zbGF0aW9uICE9PSB0cmFubHNhdGlvbktleSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJhbnNsYXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RXZlbnRTdWJMYWJlbChkZXRhaWw6IEV2ZW50Q29udHJvbEl0ZW0pOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZXZlbnRJdGVtLmZpbmQoKGUpID0+IGUudmFsdWUgPT09IGRldGFpbC5ldmVudE9wZXJhdGlvbik/LnN1YkxhYmVsRmllbGQ7XHJcbiAgICAgICAgaWYgKCFmaWVsZCB8fCAhZGV0YWlsLmlucHV0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgcGF0aCA9IHRoaXMuaW5wdXRGaWVsZHNQYXRoLmZpbmQoKGYpID0+IGYuZmllbGQgPT09IGZpZWxkICYmICghZi5vcGVyYXRpb24gfHwgZi5vcGVyYXRpb24gPT09IGRldGFpbC5ldmVudE9wZXJhdGlvbikpPy5wYXRoO1xyXG4gICAgICAgIHZhciBmdWxsUGF0aCA9IHBhdGggPyBgJHtwYXRofS4ke2ZpZWxkfWAgOiBmaWVsZDtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVGaWVsZEpzb25Gcm9tUGF0aChkZXRhaWwuaW5wdXQsIGZ1bGxQYXRoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRGaWVsZFZhbHVlKGZpZWxkLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRWYWx1ZUZpZWxkSnNvbkZyb21QYXRoKGpzb246IHN0cmluZywgcGF0aDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJzZWRKc29uID0gSlNPTi5wYXJzZShqc29uKTtcclxuICAgICAgICAgICAgY29uc3Qga2V5cyA9IHBhdGguc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgICByZXR1cm4ga2V5cy5yZWR1Y2UoKGFjYywga2V5KSA9PiBhY2MgJiYgYWNjW2tleV0sIHBhcnNlZEpzb24pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvIGFvIGFjZXNzYXIgbyBvYmpldG8gcGVsbyBwYXRoOiBcIiArIHBhdGgsIGVycm9yKTtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZm9ybWF0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgc3dpdGNoIChmaWVsZCkge1xyXG4gICAgICAgICAgICBjYXNlIElucHV0RmllbGRzLkFHUk9fSU5WT0lDRV9UWVBFOlxyXG4gICAgICAgICAgICBjYXNlIElucHV0RmllbGRzLklOVk9JQ0VfVFlQRTpcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5pbnZvaWNlVHlwZVRyYW5zbGF0ZS5maW5kKChlKSA9PiBlLnZhbHVlID09PSB2YWx1ZSk/LmxhYmVsO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxhYmVsID8gdGhpcy50cmFuc2xhdGUuaW5zdGFudChsYWJlbCkgOiB2YWx1ZTtcclxuICAgICAgICAgICAgY2FzZSBJbnB1dEZpZWxkcy5JTlZPSUNFX05VTUJFUjpcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSA/IFwibsKwIFwiICsgdmFsdWUgOiB2YWx1ZTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTb3J0ZWRGaWVsZHMoKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgb3JkZXIgPSBcIlwiO1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNvcnQ/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgb3JkZXIgPSB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNvcnRcclxuICAgICAgICAgICAgICAgIC5tYXAoKHNvcnRJdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRGaWVsZE5hbWVGb3JTb3J0UmVxdWVzdChzb3J0SXRlbS5maWVsZCl9ICR7c29ydEl0ZW0ub3JkZXIgPT09IEFHUk9fTlVNQkVSUy5PTkUgPyBcImFzY1wiIDogXCJkZXNjXCJ9YDtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuam9pbihcIiwgXCIpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdGFuZGFsb25lKSB7XHJcbiAgICAgICAgICAgIG9yZGVyID0gXCJjcmVhdGVkRGF0ZSBhc2NcIjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBvcmRlciA9IFwibGFzdE1vZGlmaWVkRGF0ZSBkZXNjXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldElucHV0KCk6IExpc3RFdmVudENvbnRyb2xXaXRoRmlsdGVyc0lucHV0RHRvIHtcclxuICAgICAgICBjb25zdCB7IGZpbHRlckRhdGEgfSA9IHRoaXMuY3VycmVudExpc3RQYXJhbXM7XHJcbiAgICAgICAgY29uc3QgY29udHJvbENvZGUgPSBmaWx0ZXJEYXRhW1wiY29udHJvbENvZGVcIl0gJiYgQXJyYXkuaXNBcnJheShmaWx0ZXJEYXRhW1wiY29udHJvbENvZGVcIl0pID8gZmlsdGVyRGF0YVtcImNvbnRyb2xDb2RlXCJdIDogbnVsbDtcclxuICAgICAgICBjb25zdCBmaWx0ZXIgPSB7XHJcbiAgICAgICAgICAgIGNvbXBhbnlJZDogZmlsdGVyRGF0YVtcImNvbXBhbnlcIl0/LmlkID8/IG51bGwsXHJcbiAgICAgICAgICAgIGJyYW5jaElkOiBmaWx0ZXJEYXRhW1wiYnJhbmNoXCJdPy5pZCA/PyBudWxsLFxyXG4gICAgICAgICAgICBjb250cm9sQ29kZTogY29udHJvbENvZGUgPyBjb250cm9sQ29kZS5tYXAoKGNvZGU6IHN0cmluZykgPT4gcGFyc2VJbnQoY29kZSkpIDogbnVsbCxcclxuICAgICAgICAgICAgZXh0ZXJuYWxJZDogZmlsdGVyRGF0YVtcImV4dGVybmFsSWRcIl0gPz8gbnVsbCxcclxuICAgICAgICAgICAgZXZlbnRPcmlnaW46IGZpbHRlckRhdGFbXCJldmVudE9yaWdpblwiXSA/PyBudWxsLFxyXG4gICAgICAgICAgICBldmVudFN0YXR1czogZmlsdGVyRGF0YVtcInN0YXR1c1wiXSA/PyBudWxsLFxyXG4gICAgICAgICAgICBjcmVhdGVkRGF0ZVN0YXJ0OiBmaWx0ZXJEYXRhW1wiY3JlYXRlZERhdGVcIl0gPyB0aGlzLmdldFN0YXJ0RGF0ZShmaWx0ZXJEYXRhW1wiY3JlYXRlZERhdGVcIl0pIDogbnVsbCxcclxuICAgICAgICAgICAgY3JlYXRlZERhdGVFbmQ6IGZpbHRlckRhdGFbXCJjcmVhdGVkRGF0ZVwiXSA/IHRoaXMuZ2V0RW5kRGF0ZShmaWx0ZXJEYXRhW1wiY3JlYXRlZERhdGVcIl0pIDogbnVsbCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBmaWx0ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRGaWVsZE5hbWVGb3JTb3J0UmVxdWVzdChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHN3aXRjaCAobmFtZSkge1xyXG4gICAgICAgICAgICBjYXNlIFwiY29tcGFueVwiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiY29tcGFueS5ub21FbXBcIjtcclxuICAgICAgICAgICAgY2FzZSBcImJyYW5jaFwiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYnJhbmNoLm5vbUZpbFwiO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RW5kRGF0ZSh2YWx1ZTogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBlbmREYXRlID0gbW9tZW50KHZhbHVlKS5lbmRPZihcImRheVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREVEhIOm1tOnNzXCIpICsgXCJaXCI7XHJcbiAgICAgICAgcmV0dXJuIGVuZERhdGU7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGdldFN0YXJ0RGF0ZSh2YWx1ZTogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBzdGFydERhdGUgPSBtb21lbnQodmFsdWUpLnN0YXJ0T2YoXCJkYXlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFRISDptbTpzc1wiKSArIFwiWlwiO1xyXG4gICAgICAgIHJldHVybiBzdGFydERhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uR3JpZENoYW5nZShldmVudDogYW55KSB7XHJcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGV2ZW50Py5yb3dzO1xyXG4gICAgICAgIGNvbnN0IHBhZ2UgPSBldmVudD8uZmlyc3QgLyBzaXplO1xyXG4gICAgICAgIGNvbnN0IHNvcnQgPSBldmVudC5tdWx0aVNvcnRNZXRhO1xyXG4gICAgICAgIHRoaXMuZ3JpZExvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIGlmIChzaXplICE9PSBBR1JPX05VTUJFUlMuVEVOIHx8IHBhZ2UgIT09IEFHUk9fTlVNQkVSUy5aRVJPIHx8IChzb3J0ICYmIHNvcnQubGVuZ3RoID4gQUdST19OVU1CRVJTLlpFUk8pKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yU3RvcmFnZVNlcnZpY2Uuc3RvcmVQYWdpbmF0b3IoXCJFdmVudENvbnRyb2xCb2FyZFBhZ2luYXRvclwiLCB7IHBhZ2UsIHNpemUsIHNvcnQgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVHcmlkKHsgcGFnZSwgc2l6ZSwgc29ydCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0UGFnZVNpemUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExpc3RQYXJhbXMuc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0Um93SW5kZXgoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExpc3RQYXJhbXMucGFnZSAqIHRoaXMuY3VycmVudExpc3RQYXJhbXMuc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0U29ydEZpZWxkKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0IHx8IHRoaXMuY3VycmVudExpc3RQYXJhbXMuc29ydC5sZW5ndGggPD0gQUdST19OVU1CRVJTLlpFUk8pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZENvbHVtbnNbQUdST19OVU1CRVJTLlpFUk9dLmZpZWxkO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0W0FHUk9fTlVNQkVSUy5aRVJPXS5maWVsZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0U29ydE9yZGVyKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0IHx8IHRoaXMuY3VycmVudExpc3RQYXJhbXMuc29ydC5sZW5ndGggPD0gQUdST19OVU1CRVJTLlpFUk8pIHtcclxuICAgICAgICAgICAgcmV0dXJuIEFHUk9fTlVNQkVSUy5PTkU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0W0FHUk9fTlVNQkVSUy5aRVJPXS5vcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0RXJyb3JNZXNzYWdlcygpIHtcclxuICAgICAgICBjb25zdCB0cmFuc2xhdGVkRXJyb3JNZXNzYWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIExvb2t1cEVycm9yTWVzc2FnZXMpIHtcclxuICAgICAgICAgICAgaWYgKExvb2t1cEVycm9yTWVzc2FnZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KExvb2t1cEVycm9yTWVzc2FnZXNba2V5XSkuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRFcnJvck1lc3NhZ2VzW2tleV0gPSByZXM7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJhbnNsYXRlZEVycm9yTWVzc2FnZXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjZXJJbnZvaWNlSWRGcm9tUGFyYW1zKHBhcmFtOiBhbnkpIHtcclxuICAgICAgICBpZiAocGFyYW0/LnByb2R1Y2VySW52b2ljZUlkcyAmJiBwYXJhbT8ucHJvZHVjZXJJbnZvaWNlSWRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHBhcmFtPy5wcm9kdWNlckludm9pY2VJZHNbMF07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocGFyYW0/Lmludm9pY2U/LmdlbmVyYWxEYXRhPy50cmFuc2FjdGlvbmFsSWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHBhcmFtPy5pbnZvaWNlPy5nZW5lcmFsRGF0YT8udHJhbnNhY3Rpb25hbElkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBhcmFtPy5wcm9kdWNlckludm9pY2VJZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gcGFyYW0/LnByb2R1Y2VySW52b2ljZUlkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBhcmFtPy5leHRlcm5hbElkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwYXJhbT8uZXh0ZXJuYWxJZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sSWRGcm9tUGFyYW1zKHBhcmFtOiBhbnkpIHtcclxuICAgICAgICBjb25zdCB7IHByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbElkIH0gPSBwYXJhbTtcclxuICAgICAgICByZXR1cm4gcHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sSWQgPyBwcm9kdWNlckJhbGFuY2VFbnRyeUNvbnRyb2xJZCA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0ZXBTZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN0ZXAgPSBldmVudC5zdGVwO1xyXG4gICAgICAgIHRoaXMuYXBwbHlTaWRlYmFyVGl0bGUoXCJcIik7XHJcblxyXG4gICAgICAgIHN3aXRjaCAodGhpcy5zZWxlY3RlZFN0ZXAuZXZlbnRUeXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgRXZlbnRPcmlnaW4uQkFMQU5DRV9FTlRSWV9DT05UUk9MOlxyXG4gICAgICAgICAgICBjYXNlIEV2ZW50T3JpZ2luLlRJQ0tFVDpcclxuICAgICAgICAgICAgY2FzZSBFdmVudE9yaWdpbi5JTlZPSUNFOlxyXG4gICAgICAgICAgICBjYXNlIEV2ZW50T3JpZ2luLkNSRUFURV9JTlZPSUNFOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5zaWRlYmFyTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyYW0gPSBKU09OLnBhcnNlKHRoaXMuc2VsZWN0ZWRTdGVwLml0ZW0uaW5wdXQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb2R1Y2VySW52b2ljZUlkID0gdGhpcy5nZXRQcm9kdWNlckludm9pY2VJZEZyb21QYXJhbXMocGFyYW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBmaWx0ZXJRdWVyeSA9IFwiXCI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcHJvZHVjZXJJbnZvaWNlSWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sSWQgPSB0aGlzLmdldFByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbElkRnJvbVBhcmFtcyhwYXJhbSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbElkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNpZGViYXJMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gYHByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbC5pZCBlcSAnJHtwcm9kdWNlckJhbGFuY2VFbnRyeUNvbnRyb2xJZH0nYDtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IGBpZCBlcSAnJHtwcm9kdWNlckludm9pY2VJZH0nYDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRDb250cm9sQm9hcmRTZXJ2aWNlLnByb2R1Y2VySW52b2ljZVNlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmxpc3Qoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUZpZWxkczogW1wiKlwiLCBcInByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbC4qXCIsIFwicHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sLnByb2R1Y2VyLipcIl0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJRdWVyeSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvZHVjZXJJbnZvaWNlID0gcmVzdWx0Py5jb250ZW50c1swXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y2VySW52b2ljZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNpZGViYXJMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBseVNpZGViYXJUaXRsZSh0aGlzLmdldFByb2R1Y2VySW52b2ljZU51bWJlckFuZFNlcmllKCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNpZGViYXJMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBFdmVudE9yaWdpbi5GSVhBVElPTjpcclxuICAgICAgICAgICAgY2FzZSBFdmVudE9yaWdpbi5DQU5DRUxfRklYQVRJT046XHJcbiAgICAgICAgICAgIGNhc2UgRXZlbnRPcmlnaW4uQ0hBTkdFX1JFUVVFU1Q6XHJcbiAgICAgICAgICAgIGNhc2UgRXZlbnRPcmlnaW4uVFJBTlNGRVI6XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2hvd1JlcHJvY2Vzc0J1dHRvbiA9IGV2ZW50LnN0ZXAuc3RhdGUgPT09IFN0ZXBTdGF0ZS5XYXJuaW5nO1xyXG5cclxuICAgICAgICB0aGlzLnNob3dTaWRlYmFyID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFwcGx5U2lkZWJhclRpdGxlKHRpdGxlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnNpZGViYXJUaXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9zaWRlYmFyX3RpdGxlXCIsIHsgZXZlbnROdW1iZXI6IHRpdGxlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0UHJvZHVjZXJJbnZvaWNlTnVtYmVyQW5kU2VyaWUoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5wcm9kdWNlckludm9pY2U/Lm51bWJlciAmJiB0aGlzLnByb2R1Y2VySW52b2ljZT8uc2VyaWVzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGlzLnByb2R1Y2VySW52b2ljZS5udW1iZXJ9IC0gJHt0aGlzLnByb2R1Y2VySW52b2ljZS5zZXJpZXN9YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlcHJvY2Vzc0V2ZW50KCkge1xyXG4gICAgICAgIGNvbnN0IHJlcHJvY2Vzc0V2ZW50T2JqOiBSZXByb2Nlc3NGYWlsZWRFdmVudCA9IHtcclxuICAgICAgICAgICAgZXZlbnRDb250cm9sSXRlbUlkOiB0aGlzLnNlbGVjdGVkU3RlcC5pdGVtLmlkLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5ldmVudENvbnRyb2xCb2FyZFNlcnZpY2UuZXZlbnRDb250cm9sSXRlbVNlcnZpY2VcclxuICAgICAgICAgICAgLnJlcHJvY2Vzc0ZhaWxlZEV2ZW50KHJlcHJvY2Vzc0V2ZW50T2JqKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZE1lc3NhZ2UoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaW5mb1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX3RpdGxlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVwcm9jZXNzaW5nX2V2ZW50X21lc3NhZ2VfZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkTWVzc2FnZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3JlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX3RpdGxlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfcmVwcm9jZXNzaW5nX2V2ZW50X21lc3NhZ2VfZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhZGRNZXNzYWdlKHNldmVyaXR5OiBzdHJpbmcsIHN1bW1hcnk6IHN0cmluZywgZGV0YWlsOiBzdHJpbmcsIGxpZmUgPSBBR1JPX05VTUJFUlMuRklWRV9TRUNPTkRTKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xyXG4gICAgICAgICAgICBzZXZlcml0eSxcclxuICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChzdW1tYXJ5KSxcclxuICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGRldGFpbCksXHJcbiAgICAgICAgICAgIGxpZmUsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW5Nb2RhbCgpIHtcclxuICAgICAgICB0aGlzLmRpc3BsYXlNb2RhbCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zaG93U2lkZWJhciA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBvcGVuQ2FuY2VsTW9kYWwoKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jYW5jZWxFdmVudERpYWxvZ0NvbmZpZy5iZWZvcmVPcGVuPy4oKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihDYW5jZWxFdmVudERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBoZWFkZXI6IHRoaXMuY2FuY2VsRXZlbnREaWFsb2dDb25maWc/LmhlYWRlcixcclxuICAgICAgICAgICAgY29udGVudFN0eWxlOiB7IGhlaWdodDogXCIxMDAlXCIgfSxcclxuICAgICAgICAgICAgY2xvc2FibGU6IHRydWUsXHJcbiAgICAgICAgICAgIGNsb3NlT25Fc2NhcGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7IGNhbmNlbEV2ZW50RGlhbG9nQ29uZmlnOiB0aGlzLmNhbmNlbEV2ZW50RGlhbG9nQ29uZmlnIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbmZpcm1Nb2RhbCgpIHtcclxuICAgICAgICB0aGlzLnJlcHJvY2Vzc0V2ZW50KCk7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5TW9kYWwgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2FuY2VsTW9kYWwoKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5TW9kYWwgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xvc2VTaWRlYmFyKCkge1xyXG4gICAgICAgIHRoaXMuc2hvd1NpZGViYXIgPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG4iXX0=
580
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY29udHJvbC1ib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZXZlbnQtY29udHJvbC1ib2FyZC9ldmVudC1jb250cm9sLWJvYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBZ0MsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFRLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hILE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztB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QUN2QjtJQUFSLEtBQUssRUFBRTsrREFBMkI7QUFDMUI7SUFBUixLQUFLLEVBQUU7K0RBQTJCO0FBQzFCO0lBQVIsS0FBSyxFQUFFOzhEQUFxQjtBQUNwQjtJQUFSLEtBQUssRUFBRTsrREFBb0I7QUFDbkI7SUFBUixLQUFLLEVBQUU7OERBQXNCO0FBQ3JCO0lBQVIsS0FBSyxFQUFFO29FQUE0QjtBQUMzQjtJQUFSLEtBQUssRUFBRTsyRUFBbUQ7QUFDakQ7SUFBVCxNQUFNLEVBQUU7a0VBQTZEO0FBWDdELDBCQUEwQjtJQU50QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUscUJBQXFCO1FBQy9CLGtraUJBQW1EO1FBRW5ELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7O0tBQ3pELENBQUM7R0FDVywwQkFBMEIsQ0FvbEJ0QztTQXBsQlksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgbG9jYWxlUHQgZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL3B0XCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTE9DQUxFX0lELCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJhZGdlQ29sb3JzLCBCdXR0b25Qcmlvcml0eSwgRmllbGRUeXBlLCBGb3JtRmllbGQsIFN0ZXAsIFN0ZXBTdGF0ZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmdcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBBR1JPX05VTUJFUlMgfSBmcm9tIFwiLi4vLi4vZW51bXMvYWdyby1udW1iZXJzLmVudW1cIjtcclxuaW1wb3J0IHsgTGliVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2xpYi10cmFuc2xhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFdlYnNvY2tldFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvd2Vic29ja2V0XCI7XHJcbmltcG9ydCB7IENhbmNlbEV2ZW50RGlhbG9nQ29uZmlnIH0gZnJvbSBcIi4uL2NhbmNlbC1ldmVudC1kaWFsb2cvY2FuY2VsLWV2ZW50LWRpYWxvZy1jb25maWdcIjtcclxuaW1wb3J0IHsgQ2FuY2VsRXZlbnREaWFsb2dDb21wb25lbnQgfSBmcm9tIFwiLi4vY2FuY2VsLWV2ZW50LWRpYWxvZy9jYW5jZWwtZXZlbnQtZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBldmVudEl0ZW0sIGlucHV0RmllbGRzUGF0aCB9IGZyb20gXCIuL2NvbW1vbi9ldmVudC1jb250cm9sLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBFdmVudE9yaWdpbiB9IGZyb20gXCIuL2NvbW1vbi9ldmVudC1vcmlnaW5cIjtcclxuaW1wb3J0IHsgRXZlbnRTdGF0dXMgfSBmcm9tIFwiLi9jb21tb24vZXZlbnQtc3RhdHVzXCI7XHJcbmltcG9ydCB7IElucHV0RmllbGRzIH0gZnJvbSBcIi4vY29tbW9uL2lucHV0LWZpZWxkc1wiO1xyXG5pbXBvcnQgeyBpbnZvaWNlVHlwZVRyYW5zbGF0ZSB9IGZyb20gXCIuL2NvbW1vbi9pbnB1dC1maWVsZHMtdHJhbnNsYXRlXCI7XHJcbmltcG9ydCB7IExvb2t1cEVycm9yTWVzc2FnZXMgfSBmcm9tIFwiLi9jb21tb24vbG9va3VwLWVycm9yLW1lc3NhZ2UuY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IEUwNzBFbXAgfSBmcm9tIFwiLi9zZXJ2aWNlL2UwNzBlbXAvZTA3MGVtcFwiO1xyXG5pbXBvcnQgeyBFMDcwRmlsIH0gZnJvbSBcIi4vc2VydmljZS9lMDcwZmlsL2UwNzBmaWxcIjtcclxuaW1wb3J0IHsgRXZlbnRDb250cm9sQm9hcmRTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZS9ldmVudC1jb250cm9sLWJvYXJkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRXZlbnRDb250cm9sSXRlbSB9IGZyb20gXCIuL3NlcnZpY2UvZXZlbnQtY29udHJvbC1pdGVtL2V2ZW50LWNvbnRyb2wtaXRlbVwiO1xyXG5pbXBvcnQgeyBSZXByb2Nlc3NGYWlsZWRFdmVudCB9IGZyb20gXCIuL3NlcnZpY2UvZXZlbnQtY29udHJvbC1pdGVtL2V2ZW50LWNvbnRyb2wtaXRlbS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEV2ZW50Q29udHJvbCB9IGZyb20gXCIuL3NlcnZpY2UvZXZlbnQtY29udHJvbC9ldmVudC1jb250cm9sXCI7XHJcbmltcG9ydCB7IExpc3RFdmVudENvbnRyb2xXaXRoRmlsdGVyc0lucHV0RHRvIH0gZnJvbSBcIi4vc2VydmljZS9ldmVudC1jb250cm9sL2V2ZW50LWNvbnRyb2wuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQYWdpbmF0b3JTdG9yYWdlU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2UvcGFnaW5hdG9yLXN0b3JhZ2Uuc2VydmljZVwiO1xyXG5jb25zdCBtb21lbnQgPSByZXF1aXJlKFwibW9tZW50XCIpO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJldmVudC1jb250cm9sLWJvYXJkXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2V2ZW50LWNvbnRyb2wtYm9hcmQuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiLi9ldmVudC1jb250cm9sLWJvYXJkLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMT0NBTEVfSUQsIHVzZVZhbHVlOiBcInB0LUJSXCIgfV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFdmVudENvbnRyb2xCb2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgY29tcGFueSE6IEUwNzBFbXA7XHJcbiAgICBASW5wdXQoKSBicmFuY2ghOiBFMDcwRmlsO1xyXG4gICAgQElucHV0KCkgY29udHJvbENvZGUhOiBzdHJpbmdbXTtcclxuICAgIEBJbnB1dCgpIGV2ZW50T3JpZ2luITogRXZlbnRPcmlnaW47XHJcbiAgICBASW5wdXQoKSBldmVudFN0YXR1cyE6IEV2ZW50U3RhdHVzO1xyXG4gICAgQElucHV0KCkgZXh0ZXJuYWxJZCE6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGNyZWF0ZWREYXRlITogRGF0ZTtcclxuICAgIEBJbnB1dCgpIHN0YW5kYWxvbmUhOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc2hvd0NhbmNlbEJ1dHRvbiE6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBjYW5jZWxFdmVudERpYWxvZ0NvbmZpZyE6IENhbmNlbEV2ZW50RGlhbG9nQ29uZmlnO1xyXG4gICAgQE91dHB1dCgpIHByb2Nlc3NlZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIHB1YmxpYyBwcm9kdWNlckludm9pY2UhOiBhbnk7XHJcblxyXG4gICAgcHVibGljIHN0ZXBzOiBTdGVwW10gPSBbXTtcclxuICAgIHB1YmxpYyBzZWxlY3RlZFN0ZXA6IGFueTtcclxuICAgIHB1YmxpYyBldmVudElkITogXCJcIjtcclxuICAgIHB1YmxpYyBzaG93U2lkZWJhciA9IGZhbHNlO1xyXG4gICAgcHVibGljIHNob3dSZXByb2Nlc3NCdXR0b24gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzaWRlYmFyVGl0bGUhOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgc2lkZWJhckxvYWRpbmchOiBib29sZWFuO1xyXG5cclxuICAgIHB1YmxpYyBmaWx0ZXJGb3JtR3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgICBwdWJsaWMgZmlsdGVyRmllbGRzITogRm9ybUZpZWxkW107XHJcblxyXG4gICAgcHVibGljIGdyaWREYXRhITogYW55W107XHJcbiAgICBwdWJsaWMgZ3JpZERhdGFSZXNvbHZlZCE6IGFueVtdO1xyXG4gICAgcHVibGljIGdyaWRDb2x1bW5zITogYW55W107XHJcbiAgICBwdWJsaWMgZ3JpZFRvdGFsUmVjb3JkcyA9IEFHUk9fTlVNQkVSUy5aRVJPO1xyXG4gICAgcHVibGljIGdyaWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgZGlzcGxheU1vZGFsID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIEJ1dHRvblByaW9yaXR5ID0gQnV0dG9uUHJpb3JpdHk7XHJcbiAgICBwdWJsaWMgQmFkZ2VDb2xvcnMgPSBCYWRnZUNvbG9ycztcclxuXHJcbiAgICBwdWJsaWMgcGVybWlzc2lvbnM6IGFueSA9IHt9O1xyXG4gICAgcHVibGljIGxvY2FsZUNvbmZpZzogYW55ID0ge307XHJcblxyXG4gICAgcHVibGljIGN1cnJlbnRMaXN0UGFyYW1zOiBhbnkgPSB7IHBhZ2U6IEFHUk9fTlVNQkVSUy5aRVJPLCBzaXplOiBBR1JPX05VTUJFUlMuVEVOLCBzb3J0OiBbXSwgZmlsdGVyRGF0YToge30gfTtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBldmVudEl0ZW0gPSBldmVudEl0ZW07XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0RmllbGRzUGF0aCA9IGlucHV0RmllbGRzUGF0aDtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW52b2ljZVR5cGVUcmFuc2xhdGUgPSBpbnZvaWNlVHlwZVRyYW5zbGF0ZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogTGliVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgd2Vic29ja2V0U2VydmljZTogV2Vic29ja2V0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50Q29udHJvbEJvYXJkU2VydmljZTogRXZlbnRDb250cm9sQm9hcmRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnaW5hdG9yU3RvcmFnZVNlcnZpY2U6IFBhZ2luYXRvclN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgcmVnaXN0ZXJMb2NhbGVEYXRhKGxvY2FsZVB0KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5ncmlkQ29sdW1ucyA9IHRoaXMuc2V0R3JpZENvbHVtbnMoKTtcclxuICAgICAgICB0aGlzLmNhbGxXZWJzb2NrZXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGlmICghdGhpcy5maWx0ZXJGb3JtR3JvdXApIHtcclxuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplRm9ybUdyb3VwKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Rm9ybUZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy51cGRhdGVDb21wYW55QW5kQnJhbmNoRm9ybUZpZWxkcyhjaGFuZ2VzKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUV2ZW50T3JpZ2luQW5kQ29udHJvbENvZGVGb3JtRmllbGRzKGNoYW5nZXMpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlRXZlbnRTdGF0dXNBbmRDcmVhdGVkRGF0ZUZvcm1GaWVsZHMoY2hhbmdlcyk7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlQ29tcGFueUFuZEJyYW5jaEZvcm1GaWVsZHMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLmNvbXBhbnkgJiYgY2hhbmdlcy5jb21wYW55LmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcy5jb21wYW55LnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KFwiY29tcGFueVwiKT8uc2V0VmFsdWUoY2hhbmdlcy5jb21wYW55LmN1cnJlbnRWYWx1ZSA/PyBudWxsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzLmJyYW5jaCAmJiBjaGFuZ2VzLmJyYW5jaC5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMuYnJhbmNoLnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KFwiYnJhbmNoXCIpPy5zZXRWYWx1ZShjaGFuZ2VzLmJyYW5jaC5jdXJyZW50VmFsdWUgPz8gbnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlRXZlbnRPcmlnaW5BbmRDb250cm9sQ29kZUZvcm1GaWVsZHMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLmV2ZW50T3JpZ2luICYmIGNoYW5nZXMuZXZlbnRPcmlnaW4uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLmV2ZW50T3JpZ2luLnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KFwiZXZlbnRPcmlnaW5cIik/LnNldFZhbHVlKGNoYW5nZXMuZXZlbnRPcmlnaW4uY3VycmVudFZhbHVlID8/IG51bGwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXMuY29udHJvbENvZGUgJiYgY2hhbmdlcy5jb250cm9sQ29kZS5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMuY29udHJvbENvZGUucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoXCJjb250cm9sQ29kZVwiKT8uc2V0VmFsdWUoY2hhbmdlcy5jb250cm9sQ29kZS5jdXJyZW50VmFsdWUgPz8gbnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlRXZlbnRTdGF0dXNBbmRDcmVhdGVkRGF0ZUZvcm1GaWVsZHMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLmV2ZW50U3RhdHVzICYmIGNoYW5nZXMuZXZlbnRTdGF0dXMuY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLmV2ZW50U3RhdHVzLnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KFwic3RhdHVzXCIpPy5zZXRWYWx1ZShjaGFuZ2VzLmV2ZW50U3RhdHVzLmN1cnJlbnRWYWx1ZSA/PyBudWxsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzLmNyZWF0ZWREYXRlICYmIGNoYW5nZXMuY3JlYXRlZERhdGUuY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLmNyZWF0ZWREYXRlLnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KFwiY3JlYXRlZERhdGVcIik/LnNldFZhbHVlKGNoYW5nZXMuY3JlYXRlZERhdGUuY3VycmVudFZhbHVlID8/IG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRpYWxpemVGb3JtR3JvdXAoKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgICAgICAgY29tcGFueTogW3sgdmFsdWU6IHRoaXMuY29tcGFueSA/PyBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5jb21wb3NlKFtdKV0sXHJcbiAgICAgICAgICAgIGJyYW5jaDogW3sgdmFsdWU6IHRoaXMuYnJhbmNoID8/IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcclxuICAgICAgICAgICAgY29udHJvbENvZGU6IFt7IHZhbHVlOiB0aGlzLmNvbnRyb2xDb2RlID8/IG51bGwsIGRpc2FibGVkOiBmYWxzZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcclxuICAgICAgICAgICAgZXh0ZXJuYWxJZDogW3sgdmFsdWU6IHRoaXMuZXh0ZXJuYWxJZCA/PyBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5jb21wb3NlKFtdKV0sXHJcbiAgICAgICAgICAgIGV2ZW50T3JpZ2luOiBbeyB2YWx1ZTogdGhpcy5ldmVudE9yaWdpbiA/PyBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5jb21wb3NlKFtdKV0sXHJcbiAgICAgICAgICAgIHN0YXR1czogW3sgdmFsdWU6IHRoaXMuZXZlbnRTdGF0dXMgPz8gbnVsbCwgZGlzYWJsZWQ6IGZhbHNlIH0sIFZhbGlkYXRvcnMuY29tcG9zZShbXSldLFxyXG4gICAgICAgICAgICBjcmVhdGVkRGF0ZTogW3sgdmFsdWU6IHRoaXMuY3JlYXRlZERhdGUgPz8gbnVsbCwgZGlzYWJsZWQ6IGZhbHNlIH0sIFZhbGlkYXRvcnMuY29tcG9zZShbXSldLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0Rm9ybUZpZWxkcygpIHtcclxuICAgICAgICB0aGlzLmZpbHRlckZpZWxkcyA9IFtcclxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcImNvbXBhbnlcIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5DaGlwcyxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJicmFuY2hcIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5DaGlwcyxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJjb250cm9sQ29kZVwiLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkNoaXBzLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcImV4dGVybmFsSWRcIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiZXZlbnRPcmlnaW5cIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5FbnVtLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcInN0YXR1c1wiLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkVudW0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiY3JlYXRlZERhdGVcIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5EYXRlLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0R3JpZENvbHVtbnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgeyBmaWVsZDogXCJjb21wYW55XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNvbXBhbnlcIikgfSxcclxuICAgICAgICAgICAgeyBmaWVsZDogXCJicmFuY2hcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfYnJhbmNoXCIpIH0sXHJcbiAgICAgICAgICAgIHsgZmllbGQ6IFwiZXZlbnRPcmlnaW5cIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3JpZ2luX2xhYmVsXCIpIH0sXHJcbiAgICAgICAgICAgIHsgZmllbGQ6IFwiY29udHJvbENvZGVcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY29udHJvbF9jb2RlXCIpIH0sXHJcbiAgICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcclxuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcclxuICAgICAgICB0aGlzLndlYnNvY2tldFNlcnZpY2UuZGlzY29ubmVjdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYWxsV2Vic29ja2V0KCkge1xyXG4gICAgICAgIHRoaXMud2Vic29ja2V0U2VydmljZVxyXG4gICAgICAgICAgICAub25FdmVudDxhbnk+KHtcclxuICAgICAgICAgICAgICAgIGRvbWFpbjogXCJhZ3JvXCIsXHJcbiAgICAgICAgICAgICAgICBzZXJ2aWNlOiBcImFncm9fZXZlbnRzXCIsXHJcbiAgICAgICAgICAgICAgICBwcmltaXRpdmU6IFwicHJvY2Vzc2VkRXZlbnRcIixcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2UpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGV4dGVybmFsSWQgPSBtZXNzYWdlPy5kYXRhPy5leHRlcm5hbElkO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyRGF0YSA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWV4dGVybmFsSWQgfHwgdGhpcy5leHRlcm5hbElkID09PSBleHRlcm5hbElkIHx8IHRoaXMuZ3JpZERhdGE/LnNvbWUoKGl0ZW06IGFueSkgPT4gaXRlbS5leHRlcm5hbElkID09PSBleHRlcm5hbElkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlR3JpZCh7IGZpbHRlckRhdGEgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzZWRFdmVudC5lbWl0KG1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy53ZWJzb2NrZXRTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5vbkV2ZW50PGFueT4oe1xyXG4gICAgICAgICAgICAgICAgZG9tYWluOiBcInBsYXRmb3JtXCIsXHJcbiAgICAgICAgICAgICAgICBzZXJ2aWNlOiBcIm5vdGlmaWNhdGlvbnNcIixcclxuICAgICAgICAgICAgICAgIHByaW1pdGl2ZTogXCJ1c2VyTm90aWZpZWRcIixcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyRGF0YSA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUdyaWQoeyBmaWx0ZXJEYXRhIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25TZWFyY2goKSB7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyRGF0YSA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5yZXNldEdyaWQoeyBmaWx0ZXJEYXRhIH0pO1xyXG4gICAgICAgIHRoaXMudXBkYXRlR3JpZCh7IGZpbHRlckRhdGEgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlc2V0R3JpZChsaXN0UGFyYW1zPzogYW55KSB7XHJcbiAgICAgICAgaWYgKGxpc3RQYXJhbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TGlzdFBhcmFtcyA9IHsgLi4udGhpcy5jdXJyZW50TGlzdFBhcmFtcywgLi4ubGlzdFBhcmFtcyB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnBhZ2UgPSBBR1JPX05VTUJFUlMuWkVSTztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZUdyaWQobGlzdFBhcmFtczogYW55ID0ge30pIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zID0geyAuLi50aGlzLmN1cnJlbnRMaXN0UGFyYW1zLCAuLi5saXN0UGFyYW1zIH07XHJcbiAgICAgICAgY29uc3QgeyBwYWdlLCBzaXplIH0gPSB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zO1xyXG4gICAgICAgIGNvbnN0IG9yZGVyID0gdGhpcy5nZXRTb3J0ZWRGaWVsZHMoKTtcclxuICAgICAgICBjb25zdCBpbnB1dCA9IHsgLi4udGhpcy5nZXRJbnB1dCgpLCBwYWdlLCBzaXplLCBvcmRlciB9O1xyXG5cclxuICAgICAgICB0aGlzLmV2ZW50Q29udHJvbEJvYXJkU2VydmljZS5ldmVudENvbnRyb2xTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5nZXRMaXN0RXZlbnRDb250cm9sV2l0aEZpbHRlcnMoaW5wdXQpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkRGF0YSA9IGxpc3QuY29udGVudHM7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRUb3RhbFJlY29yZHMgPSBsaXN0LnRvdGFsRWxlbWVudHM7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZ3JpZERhdGEgfHwgdGhpcy5ncmlkRGF0YS5sZW5ndGggPD0gQUdST19OVU1CRVJTLlpFUk8pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRXZlbnRDb250cm9sSXRlbXMoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwcm9jZXNzRXZlbnRDb250cm9sSXRlbXMoKSB7XHJcbiAgICAgICAgdGhpcy5ncmlkRGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNvcnRlZEl0ZW1zID0gaXRlbS5ldmVudENvbnRyb2xJdGVtLnNvcnQoKGE6IEV2ZW50Q29udHJvbEl0ZW0sIGI6IEV2ZW50Q29udHJvbEl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBhLnNlcXVlbmNlIC0gYi5zZXF1ZW5jZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0ZXBzID0gc29ydGVkSXRlbXMubWFwKChkZXRhaWw6IEV2ZW50Q29udHJvbEl0ZW0sIGluZGV4OiBudW1iZXIpID0+IHRoaXMuY3JlYXRlU3RlcChkZXRhaWwsIGl0ZW0sIGluZGV4KSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gdGhpcy5jYWxjdWxhdGVBY3RpdmVJbmRleChzb3J0ZWRJdGVtcyk7XHJcbiAgICAgICAgICAgIGl0ZW0uZ3JvdXBzID0gW3sgc3RlcHMsIGFjdGl2ZUluZGV4IH1dO1xyXG4gICAgICAgICAgICBpdGVtLmFjdGl2ZUluZGV4ID0gYWN0aXZlSW5kZXg7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5ncmlkRGF0YVJlc29sdmVkID0gdGhpcy5ncmlkRGF0YTtcclxuICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVBY3RpdmVJbmRleChkZXRhaWxzOiBFdmVudENvbnRyb2xJdGVtW10pOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IGxhc3RBY3RpdmUgPSBkZXRhaWxzLnJlZHVjZShcclxuICAgICAgICAgICAgKGxhc3RJbmRleCwgZGV0YWlsLCBjdXJyZW50SW5kZXgpID0+IChkZXRhaWwuc3RhdHVzICE9PSBFdmVudFN0YXR1cy5QRU5ESU5HID8gY3VycmVudEluZGV4IDogbGFzdEluZGV4KSxcclxuICAgICAgICAgICAgLTFcclxuICAgICAgICApO1xyXG4gICAgICAgIGlmIChsYXN0QWN0aXZlICE9PSAtMSAmJiBkZXRhaWxzW2xhc3RBY3RpdmVdLnN0YXR1cyA9PT0gRXZlbnRTdGF0dXMuU1VDQ0VTUykge1xyXG4gICAgICAgICAgICByZXR1cm4gbGFzdEFjdGl2ZSArIDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBsYXN0QWN0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlU3RlcChkZXRhaWw6IEV2ZW50Q29udHJvbEl0ZW0sIGl0ZW06IEV2ZW50Q29udHJvbCwgZGV0YWlsSW5kZXg6IG51bWJlcikge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGl0ZW06IGRldGFpbCxcclxuICAgICAgICAgICAgY29udHJvbENvZGU6IGl0ZW0uY29udHJvbENvZGUsXHJcbiAgICAgICAgICAgIGV2ZW50VHlwZTogaXRlbS5ldmVudE9yaWdpbixcclxuICAgICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0RXZlbnRMYWJlbChkZXRhaWwpLFxyXG4gICAgICAgICAgICBzdWJMYWJlbDogdGhpcy5nZXRFdmVudFN1YkxhYmVsKGRldGFpbCksXHJcbiAgICAgICAgICAgIGRpc2FibGVkOiBkZXRhaWwuc3RhdHVzID09PSBFdmVudFN0YXR1cy5QRU5ESU5HICYmIGRldGFpbEluZGV4ICE9PSB0aGlzLmNhbGN1bGF0ZUFjdGl2ZUluZGV4KGl0ZW0uZXZlbnRDb250cm9sSXRlbSksXHJcbiAgICAgICAgICAgIHRvb2x0aXA6IHRoaXMuZ2V0RXZlbnRMYWJlbChkZXRhaWwpLFxyXG4gICAgICAgICAgICBzdGF0ZTogdGhpcy5kZXRlcm1pbmVTdGVwU3RhdGUoZGV0YWlsKSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGV0ZXJtaW5lU3RlcFN0YXRlKGRldGFpbDogeyBzdGF0dXM6IEV2ZW50U3RhdHVzIH0pOiBTdGVwU3RhdGUge1xyXG4gICAgICAgIGlmIChkZXRhaWwuc3RhdHVzID09PSBFdmVudFN0YXR1cy5TVUNDRVNTKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBTdGVwU3RhdGUuU3VjY2VzcztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRldGFpbC5zdGF0dXMgPT09IEV2ZW50U3RhdHVzLkZBSUxFRCkge1xyXG4gICAgICAgICAgICByZXR1cm4gU3RlcFN0YXRlLldhcm5pbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBTdGVwU3RhdGUuRGVmYXVsdDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEV2ZW50TGFiZWwoZGV0YWlsOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50TGFiZWwgPSB0aGlzLmV2ZW50SXRlbS5maW5kKChlKSA9PiBlLnZhbHVlID09PSBkZXRhaWwuZXZlbnRPcGVyYXRpb24pPy5sYWJlbDtcclxuICAgICAgICBpZiAoZXZlbnRMYWJlbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChldmVudExhYmVsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbG9jYWxMYWJlbCA9IHRoaXMuZ2V0RXZlbnRPcGVyYXRpb25TdWJMb2NhbExhYmVsKGRldGFpbCk7XHJcbiAgICAgICAgaWYgKGxvY2FsTGFiZWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGxvY2FsTGFiZWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkZXRhaWwuZXZlbnRPcGVyYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRFdmVudE9wZXJhdGlvblN1YkxvY2FsTGFiZWwoZGV0YWlsOiBFdmVudENvbnRyb2xJdGVtKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICAgICAgY29uc3QgdHJhbmxzYXRpb25LZXkgPSBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlwiICsgZGV0YWlsLmV2ZW50T3BlcmF0aW9uO1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFubHNhdGlvbktleSk7XHJcbiAgICAgICAgaWYgKHRyYW5zbGF0aW9uICE9PSB0cmFubHNhdGlvbktleSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJhbnNsYXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RXZlbnRTdWJMYWJlbChkZXRhaWw6IEV2ZW50Q29udHJvbEl0ZW0pOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZXZlbnRJdGVtLmZpbmQoKGUpID0+IGUudmFsdWUgPT09IGRldGFpbC5ldmVudE9wZXJhdGlvbik/LnN1YkxhYmVsRmllbGQ7XHJcbiAgICAgICAgaWYgKCFmaWVsZCB8fCAhZGV0YWlsLmlucHV0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgcGF0aCA9IHRoaXMuaW5wdXRGaWVsZHNQYXRoLmZpbmQoKGYpID0+IGYuZmllbGQgPT09IGZpZWxkICYmICghZi5vcGVyYXRpb24gfHwgZi5vcGVyYXRpb24gPT09IGRldGFpbC5ldmVudE9wZXJhdGlvbikpPy5wYXRoO1xyXG4gICAgICAgIHZhciBmdWxsUGF0aCA9IHBhdGggPyBgJHtwYXRofS4ke2ZpZWxkfWAgOiBmaWVsZDtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVGaWVsZEpzb25Gcm9tUGF0aChkZXRhaWwuaW5wdXQsIGZ1bGxQYXRoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRGaWVsZFZhbHVlKGZpZWxkLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRWYWx1ZUZpZWxkSnNvbkZyb21QYXRoKGpzb246IHN0cmluZywgcGF0aDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJzZWRKc29uID0gSlNPTi5wYXJzZShqc29uKTtcclxuICAgICAgICAgICAgY29uc3Qga2V5cyA9IHBhdGguc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgICByZXR1cm4ga2V5cy5yZWR1Y2UoKGFjYywga2V5KSA9PiBhY2MgJiYgYWNjW2tleV0sIHBhcnNlZEpzb24pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvIGFvIGFjZXNzYXIgbyBvYmpldG8gcGVsbyBwYXRoOiBcIiArIHBhdGgsIGVycm9yKTtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZm9ybWF0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgc3dpdGNoIChmaWVsZCkge1xyXG4gICAgICAgICAgICBjYXNlIElucHV0RmllbGRzLkFHUk9fSU5WT0lDRV9UWVBFOlxyXG4gICAgICAgICAgICBjYXNlIElucHV0RmllbGRzLklOVk9JQ0VfVFlQRTpcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5pbnZvaWNlVHlwZVRyYW5zbGF0ZS5maW5kKChlKSA9PiBlLnZhbHVlID09PSB2YWx1ZSk/LmxhYmVsO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxhYmVsID8gdGhpcy50cmFuc2xhdGUuaW5zdGFudChsYWJlbCkgOiB2YWx1ZTtcclxuICAgICAgICAgICAgY2FzZSBJbnB1dEZpZWxkcy5JTlZPSUNFX05VTUJFUjpcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSA/IFwibsKwIFwiICsgdmFsdWUgOiB2YWx1ZTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTb3J0ZWRGaWVsZHMoKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgb3JkZXIgPSBcIlwiO1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNvcnQ/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgb3JkZXIgPSB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNvcnRcclxuICAgICAgICAgICAgICAgIC5tYXAoKHNvcnRJdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRGaWVsZE5hbWVGb3JTb3J0UmVxdWVzdChzb3J0SXRlbS5maWVsZCl9ICR7c29ydEl0ZW0ub3JkZXIgPT09IEFHUk9fTlVNQkVSUy5PTkUgPyBcImFzY1wiIDogXCJkZXNjXCJ9YDtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuam9pbihcIiwgXCIpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdGFuZGFsb25lKSB7XHJcbiAgICAgICAgICAgIG9yZGVyID0gXCJjcmVhdGVkRGF0ZSBhc2NcIjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBvcmRlciA9IFwibGFzdE1vZGlmaWVkRGF0ZSBkZXNjXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldElucHV0KCk6IExpc3RFdmVudENvbnRyb2xXaXRoRmlsdGVyc0lucHV0RHRvIHtcclxuICAgICAgICBjb25zdCB7IGZpbHRlckRhdGEgfSA9IHRoaXMuY3VycmVudExpc3RQYXJhbXM7XHJcbiAgICAgICAgY29uc3QgY29udHJvbENvZGUgPSBmaWx0ZXJEYXRhW1wiY29udHJvbENvZGVcIl0gJiYgQXJyYXkuaXNBcnJheShmaWx0ZXJEYXRhW1wiY29udHJvbENvZGVcIl0pID8gZmlsdGVyRGF0YVtcImNvbnRyb2xDb2RlXCJdIDogbnVsbDtcclxuICAgICAgICBjb25zdCBmaWx0ZXIgPSB7XHJcbiAgICAgICAgICAgIGNvbXBhbnlJZDogZmlsdGVyRGF0YVtcImNvbXBhbnlcIl0/LmlkID8/IG51bGwsXHJcbiAgICAgICAgICAgIGJyYW5jaElkOiBmaWx0ZXJEYXRhW1wiYnJhbmNoXCJdPy5pZCA/PyBudWxsLFxyXG4gICAgICAgICAgICBjb250cm9sQ29kZTogY29udHJvbENvZGUgPyBjb250cm9sQ29kZS5tYXAoKGNvZGU6IHN0cmluZykgPT4gcGFyc2VJbnQoY29kZSkpIDogbnVsbCxcclxuICAgICAgICAgICAgZXh0ZXJuYWxJZDogZmlsdGVyRGF0YVtcImV4dGVybmFsSWRcIl0gPz8gbnVsbCxcclxuICAgICAgICAgICAgZXZlbnRPcmlnaW46IGZpbHRlckRhdGFbXCJldmVudE9yaWdpblwiXSA/PyBudWxsLFxyXG4gICAgICAgICAgICBldmVudFN0YXR1czogZmlsdGVyRGF0YVtcInN0YXR1c1wiXSA/PyBudWxsLFxyXG4gICAgICAgICAgICBjcmVhdGVkRGF0ZVN0YXJ0OiBmaWx0ZXJEYXRhW1wiY3JlYXRlZERhdGVcIl0gPyB0aGlzLmdldFN0YXJ0RGF0ZShmaWx0ZXJEYXRhW1wiY3JlYXRlZERhdGVcIl0pIDogbnVsbCxcclxuICAgICAgICAgICAgY3JlYXRlZERhdGVFbmQ6IGZpbHRlckRhdGFbXCJjcmVhdGVkRGF0ZVwiXSA/IHRoaXMuZ2V0RW5kRGF0ZShmaWx0ZXJEYXRhW1wiY3JlYXRlZERhdGVcIl0pIDogbnVsbCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBmaWx0ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRGaWVsZE5hbWVGb3JTb3J0UmVxdWVzdChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHN3aXRjaCAobmFtZSkge1xyXG4gICAgICAgICAgICBjYXNlIFwiY29tcGFueVwiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiY29tcGFueS5ub21FbXBcIjtcclxuICAgICAgICAgICAgY2FzZSBcImJyYW5jaFwiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYnJhbmNoLm5vbUZpbFwiO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RW5kRGF0ZSh2YWx1ZTogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBlbmREYXRlID0gbW9tZW50KHZhbHVlKS5lbmRPZihcImRheVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREVEhIOm1tOnNzXCIpICsgXCJaXCI7XHJcbiAgICAgICAgcmV0dXJuIGVuZERhdGU7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGdldFN0YXJ0RGF0ZSh2YWx1ZTogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBzdGFydERhdGUgPSBtb21lbnQodmFsdWUpLnN0YXJ0T2YoXCJkYXlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFRISDptbTpzc1wiKSArIFwiWlwiO1xyXG4gICAgICAgIHJldHVybiBzdGFydERhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uR3JpZENoYW5nZShldmVudDogYW55KSB7XHJcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGV2ZW50Py5yb3dzO1xyXG4gICAgICAgIGNvbnN0IHBhZ2UgPSBldmVudD8uZmlyc3QgLyBzaXplO1xyXG4gICAgICAgIGNvbnN0IHNvcnQgPSBldmVudC5tdWx0aVNvcnRNZXRhO1xyXG4gICAgICAgIHRoaXMuZ3JpZExvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIGlmIChzaXplICE9PSBBR1JPX05VTUJFUlMuVEVOIHx8IHBhZ2UgIT09IEFHUk9fTlVNQkVSUy5aRVJPIHx8IChzb3J0ICYmIHNvcnQubGVuZ3RoID4gQUdST19OVU1CRVJTLlpFUk8pKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yU3RvcmFnZVNlcnZpY2Uuc3RvcmVQYWdpbmF0b3IoXCJFdmVudENvbnRyb2xCb2FyZFBhZ2luYXRvclwiLCB7IHBhZ2UsIHNpemUsIHNvcnQgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVHcmlkKHsgcGFnZSwgc2l6ZSwgc29ydCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0UGFnZVNpemUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExpc3RQYXJhbXMuc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0Um93SW5kZXgoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExpc3RQYXJhbXMucGFnZSAqIHRoaXMuY3VycmVudExpc3RQYXJhbXMuc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0U29ydEZpZWxkKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0IHx8IHRoaXMuY3VycmVudExpc3RQYXJhbXMuc29ydC5sZW5ndGggPD0gQUdST19OVU1CRVJTLlpFUk8pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZENvbHVtbnNbQUdST19OVU1CRVJTLlpFUk9dLmZpZWxkO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0W0FHUk9fTlVNQkVSUy5aRVJPXS5maWVsZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0U29ydE9yZGVyKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0IHx8IHRoaXMuY3VycmVudExpc3RQYXJhbXMuc29ydC5sZW5ndGggPD0gQUdST19OVU1CRVJTLlpFUk8pIHtcclxuICAgICAgICAgICAgcmV0dXJuIEFHUk9fTlVNQkVSUy5PTkU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0W0FHUk9fTlVNQkVSUy5aRVJPXS5vcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0RXJyb3JNZXNzYWdlcygpIHtcclxuICAgICAgICBjb25zdCB0cmFuc2xhdGVkRXJyb3JNZXNzYWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIExvb2t1cEVycm9yTWVzc2FnZXMpIHtcclxuICAgICAgICAgICAgaWYgKExvb2t1cEVycm9yTWVzc2FnZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KExvb2t1cEVycm9yTWVzc2FnZXNba2V5XSkuc3Vic2NyaWJlKChyZXM6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRFcnJvck1lc3NhZ2VzW2tleV0gPSByZXM7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJhbnNsYXRlZEVycm9yTWVzc2FnZXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjZXJJbnZvaWNlSWRGcm9tUGFyYW1zKHBhcmFtOiBhbnkpIHtcclxuICAgICAgICBpZiAocGFyYW0/LnByb2R1Y2VySW52b2ljZUlkcyAmJiBwYXJhbT8ucHJvZHVjZXJJbnZvaWNlSWRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHBhcmFtPy5wcm9kdWNlckludm9pY2VJZHNbMF07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocGFyYW0/Lmludm9pY2U/LmdlbmVyYWxEYXRhPy50cmFuc2FjdGlvbmFsSWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHBhcmFtPy5pbnZvaWNlPy5nZW5lcmFsRGF0YT8udHJhbnNhY3Rpb25hbElkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBhcmFtPy5wcm9kdWNlckludm9pY2VJZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gcGFyYW0/LnByb2R1Y2VySW52b2ljZUlkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBhcmFtPy5leHRlcm5hbElkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwYXJhbT8uZXh0ZXJuYWxJZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sSWRGcm9tUGFyYW1zKHBhcmFtOiBhbnkpIHtcclxuICAgICAgICBjb25zdCB7IHByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbElkIH0gPSBwYXJhbTtcclxuICAgICAgICByZXR1cm4gcHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sSWQgPyBwcm9kdWNlckJhbGFuY2VFbnRyeUNvbnRyb2xJZCA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0ZXBTZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN0ZXAgPSBldmVudC5zdGVwO1xyXG4gICAgICAgIHRoaXMuYXBwbHlTaWRlYmFyVGl0bGUoXCJcIik7XHJcblxyXG4gICAgICAgIHN3aXRjaCAodGhpcy5zZWxlY3RlZFN0ZXAuZXZlbnRUeXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgRXZlbnRPcmlnaW4uQkFMQU5DRV9FTlRSWV9DT05UUk9MOlxyXG4gICAgICAgICAgICBjYXNlIEV2ZW50T3JpZ2luLlRJQ0tFVDpcclxuICAgICAgICAgICAgY2FzZSBFdmVudE9yaWdpbi5JTlZPSUNFOlxyXG4gICAgICAgICAgICBjYXNlIEV2ZW50T3JpZ2luLkNSRUFURV9JTlZPSUNFOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5zaWRlYmFyTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyYW0gPSBKU09OLnBhcnNlKHRoaXMuc2VsZWN0ZWRTdGVwLml0ZW0uaW5wdXQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb2R1Y2VySW52b2ljZUlkID0gdGhpcy5nZXRQcm9kdWNlckludm9pY2VJZEZyb21QYXJhbXMocGFyYW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBmaWx0ZXJRdWVyeSA9IFwiXCI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcHJvZHVjZXJJbnZvaWNlSWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sSWQgPSB0aGlzLmdldFByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbElkRnJvbVBhcmFtcyhwYXJhbSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbElkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNpZGViYXJMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gYHByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbC5pZCBlcSAnJHtwcm9kdWNlckJhbGFuY2VFbnRyeUNvbnRyb2xJZH0nYDtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IGBpZCBlcSAnJHtwcm9kdWNlckludm9pY2VJZH0nYDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRDb250cm9sQm9hcmRTZXJ2aWNlLnByb2R1Y2VySW52b2ljZVNlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmxpc3Qoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUZpZWxkczogW1wiKlwiLCBcInByb2R1Y2VyQmFsYW5jZUVudHJ5Q29udHJvbC4qXCIsIFwicHJvZHVjZXJCYWxhbmNlRW50cnlDb250cm9sLnByb2R1Y2VyLipcIl0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJRdWVyeSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvZHVjZXJJbnZvaWNlID0gcmVzdWx0Py5jb250ZW50c1swXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y2VySW52b2ljZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNpZGViYXJMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBseVNpZGViYXJUaXRsZSh0aGlzLmdldFByb2R1Y2VySW52b2ljZU51bWJlckFuZFNlcmllKCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNpZGViYXJMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBFdmVudE9yaWdpbi5GSVhBVElPTjpcclxuICAgICAgICAgICAgY2FzZSBFdmVudE9yaWdpbi5DQU5DRUxfRklYQVRJT046XHJcbiAgICAgICAgICAgIGNhc2UgRXZlbnRPcmlnaW4uQ0hBTkdFX1JFUVVFU1Q6XHJcbiAgICAgICAgICAgIGNhc2UgRXZlbnRPcmlnaW4uVFJBTlNGRVI6XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2hvd1JlcHJvY2Vzc0J1dHRvbiA9IGV2ZW50LnN0ZXAuc3RhdGUgPT09IFN0ZXBTdGF0ZS5XYXJuaW5nO1xyXG5cclxuICAgICAgICB0aGlzLnNob3dTaWRlYmFyID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFwcGx5U2lkZWJhclRpdGxlKHRpdGxlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnNpZGViYXJUaXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9zaWRlYmFyX3RpdGxlXCIsIHsgZXZlbnROdW1iZXI6IHRpdGxlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0UHJvZHVjZXJJbnZvaWNlTnVtYmVyQW5kU2VyaWUoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5wcm9kdWNlckludm9pY2U/Lm51bWJlciAmJiB0aGlzLnByb2R1Y2VySW52b2ljZT8uc2VyaWVzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGlzLnByb2R1Y2VySW52b2ljZS5udW1iZXJ9IC0gJHt0aGlzLnByb2R1Y2VySW52b2ljZS5zZXJpZXN9YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlcHJvY2Vzc0V2ZW50KCkge1xyXG4gICAgICAgIGNvbnN0IHJlcHJvY2Vzc0V2ZW50T2JqOiBSZXByb2Nlc3NGYWlsZWRFdmVudCA9IHtcclxuICAgICAgICAgICAgZXZlbnRDb250cm9sSXRlbUlkOiB0aGlzLnNlbGVjdGVkU3RlcC5pdGVtLmlkLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5ldmVudENvbnRyb2xCb2FyZFNlcnZpY2UuZXZlbnRDb250cm9sSXRlbVNlcnZpY2VcclxuICAgICAgICAgICAgLnJlcHJvY2Vzc0ZhaWxlZEV2ZW50KHJlcHJvY2Vzc0V2ZW50T2JqKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZE1lc3NhZ2UoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaW5mb1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX3RpdGxlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVwcm9jZXNzaW5nX2V2ZW50X21lc3NhZ2VfZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkTWVzc2FnZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3JlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX3RpdGxlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfcmVwcm9jZXNzaW5nX2V2ZW50X21lc3NhZ2VfZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhZGRNZXNzYWdlKHNldmVyaXR5OiBzdHJpbmcsIHN1bW1hcnk6IHN0cmluZywgZGV0YWlsOiBzdHJpbmcsIGxpZmUgPSBBR1JPX05VTUJFUlMuRklWRV9TRUNPTkRTKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xyXG4gICAgICAgICAgICBzZXZlcml0eSxcclxuICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChzdW1tYXJ5KSxcclxuICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGRldGFpbCksXHJcbiAgICAgICAgICAgIGxpZmUsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW5Nb2RhbCgpIHtcclxuICAgICAgICB0aGlzLmRpc3BsYXlNb2RhbCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zaG93U2lkZWJhciA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBvcGVuQ2FuY2VsTW9kYWwoKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jYW5jZWxFdmVudERpYWxvZ0NvbmZpZy5iZWZvcmVPcGVuPy4oKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihDYW5jZWxFdmVudERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBoZWFkZXI6IHRoaXMuY2FuY2VsRXZlbnREaWFsb2dDb25maWc/LmhlYWRlcixcclxuICAgICAgICAgICAgY29udGVudFN0eWxlOiB7IGhlaWdodDogXCIxMDAlXCIgfSxcclxuICAgICAgICAgICAgY2xvc2FibGU6IHRydWUsXHJcbiAgICAgICAgICAgIGNsb3NlT25Fc2NhcGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7IGNhbmNlbEV2ZW50RGlhbG9nQ29uZmlnOiB0aGlzLmNhbmNlbEV2ZW50RGlhbG9nQ29uZmlnIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbmZpcm1Nb2RhbCgpIHtcclxuICAgICAgICB0aGlzLnJlcHJvY2Vzc0V2ZW50KCk7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5TW9kYWwgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2FuY2VsTW9kYWwoKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5TW9kYWwgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xvc2VTaWRlYmFyKCkge1xyXG4gICAgICAgIHRoaXMuc2hvd1NpZGViYXIgPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -243,6 +243,14 @@ const enUS = {
243
243
  "agro.angular_components.TRANSFER_CREATE_SERVICE_INVOICE": "Service invoice issuance",
244
244
  "agro.angular_components.TRANSFER_CANCEL_SERVICE_INVOICE": "Service invoice cancellation",
245
245
  "agro.angular_components.REOPEN_INVOICE_FIXATION": "Reopen invoice fixation",
246
+ "agro.angular_components.CIDASC_INTEGRATION": "Send to Cidasc",
247
+ "agro.angular_components.CIDASC_CANCELLATION": "Prescription Cancellation",
248
+ "agro.angular_components.CIDASC_DATA_LOAD_CULTURE": "Cidasc Load - Culture",
249
+ "agro.angular_components.CIDASC_DATA_LOAD_PEST": "Cidasc Load - Pest",
250
+ "agro.angular_components.CIDASC_DATA_LOAD_PRODUCT": "Cidasc Load - Product",
251
+ "agro.angular_components.CIDASC_DATA_LOAD_MEASURE_UNIT": "Cidasc Load - Unit of measure",
252
+ "agro.angular_components.CIDASC_DATA_LOAD_COMPOSED_MEASURE_UNIT": "Cidasc Load - Measure per hectare",
253
+ "agro.angular_components.agronomic_prescription_origin_event": "Agronomic Prescription",
246
254
  };
247
255
  export default enUS;
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4tVVMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2kxOG4vZW4tVVMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxJQUFJLEdBQUc7SUFDVCxpREFBaUQsRUFBRSwyREFBMkQ7SUFDOUcsdUNBQXVDLEVBQUUsa0JBQWtCO0lBQzNELG1EQUFtRCxFQUFFLFFBQVE7SUFDN0QsaUNBQWlDLEVBQUUsU0FBUztJQUM1Qyw4Q0FBOEMsRUFBRSx5QkFBeUI7SUFDekUsNEJBQTRCLEVBQUUsSUFBSTtJQUNsQyw2QkFBNkIsRUFBRSxLQUFLO0lBQ3BDLDJDQUEyQyxFQUFFLG9CQUFvQjtJQUNqRSxxQ0FBcUMsRUFBRSxxQ0FBcUM7SUFDNUUseUNBQXlDLEVBQUUsaUJBQWlCO0lBQzVELHNDQUFzQyxFQUFFLE9BQU87SUFDL0MsNkNBQTZDLEVBQUUsZUFBZTtJQUM5RCwwQ0FBMEMsRUFBRSxhQUFhO0lBQ3pELDRDQUE0QyxFQUFFLGVBQWU7SUFDN0QsaUNBQWlDLEVBQUUsU0FBUztJQUM1QyxvQ0FBb0MsRUFBRSxZQUFZO0lBQ2xELDZEQUE2RCxFQUFFLFNBQVM7SUFDeEUsaUNBQWlDLEVBQUUsU0FBUztJQUM1QyxzQ0FBc0MsRUFBRSxjQUFjO0lBQ3RELHNEQUFzRCxFQUFFLGVBQWU7SUFDdkUsbURBQW1ELEVBQUUsb0JBQW9CO0lBQ3pFLGdEQUFnRCxFQUFFLGtCQUFrQjtJQUNwRSxxREFBcUQsRUFBRSxvQkFBb0I7SUFDM0UsNENBQTRDLEVBQUUsY0FBYztJQUM1RCw4Q0FBOEMsRUFBRSxlQUFlO0lBQy9ELHlDQUF5QyxFQUFFLHlCQUF5QjtJQUNwRSw4Q0FBOEMsRUFBRSxlQUFlO0lBQy9ELHNDQUFzQyxFQUFFLFFBQVE7SUFDaEQsbUVBQW1FLEVBQUUsU0FBUztJQUM5RSxrQ0FBa0MsRUFBRSxVQUFVO0lBQzlDLGdDQUFnQyxFQUFFLFFB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dEosNEVBQTRFLEVBQUUsaUVBQWlFO0lBQy9JLCtDQUErQyxFQUFFLGlCQUFpQjtJQUNsRSwrQ0FBK0MsRUFBRSxVQUFVO0lBQzNELGlEQUFpRCxFQUFFLGVBQWU7SUFDbEUsaURBQWlELEVBQUUsWUFBWTtJQUMvRCwrQ0FBK0MsRUFBRSxVQUFVO0lBQzNELDZDQUE2QyxFQUFFLFFBQVE7SUFDdkQsOENBQThDLEVBQUUsU0FBUztJQUN6RCxzREFBc0QsRUFBRSxpQkFBaUI7SUFDekUsdUNBQXVDLEVBQUUscUJBQXFCO0lBQzlELHFEQUFxRCxFQUFFLHVCQUF1QjtJQUM5RSxpREFBaUQsRUFBRSwyQkFBMkI7SUFDOUUsaURBQWlELEVBQUUsK0JBQStCO0lBQ2xGLG9EQUFvRCxFQUFFLGtCQUFrQjtJQUN4RSw4REFBOEQsRUFBRSw0QkFBNEI7SUFDNUYsMkVBQTJFLEVBQUUsZ0NBQWdDO0lBQzdHLGdEQUFnRCxFQUFFLDBCQUEwQjtJQUM1RSxtRUFBbUUsRUFBRSx3QkFBd0I7SUFDN0YsZ0VBQWdFLEVBQUUscUJBQXFCO0lBQ3ZGLGdEQUFnRCxFQUFFLHdCQUF3QjtJQUMxRSxpREFBaUQsRUFBRSx5QkFBeUI7SUFDNUUseURBQXlELEVBQUUsMEJBQTBCO0lBQ3JGLHlEQUF5RCxFQUFFLDhCQUE4QjtJQUN6Rix5REFBeUQsRUFBRSwwQkFBMEI7SUFDckYseURBQXlELEVBQUUsOEJBQThCO0lBQ3pGLGlEQUFpRCxFQUFFLHlCQUF5QjtDQUMvRSxDQUFDO0FBQ0YsZUFBZSxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBlblVTID0ge1xyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50YWJsZV9lbXB0eV9kZXNjcmlwdGlvblwiOiBcIkNoYW5nZSB0aGUgZmlsdGVycyBhYm92ZSB0byBnZW5lcmF0ZSBvdGhlciBzZWFyY2ggcmVzdWx0c1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ub3RoaW5nX2ZvdW5kXCI6IFwiTm8gcmVjb3JkcyBmb3VuZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wYW5lbF90aXRsZV9ldmVudHNfZXZlbnRzXCI6IFwiRXZlbnRzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlZnJlc2hcIjogXCJSZWZyZXNoXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaGVhZGVyXCI6IFwiRXZlbnQvSW50ZWdyYXRpb24gUXVlcnlcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubm9cIjogXCJOb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy55ZXNcIjogXCJZZXNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfbW9kYWxfdGl0bGVcIjogXCJFdmVudCBSZXByb2Nlc3NpbmdcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfbW9kYWxcIjogXCJEbyB5b3Ugd2FudCB0byByZXByb2Nlc3MgdGhlIGV2ZW50P1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5yZXByb2Nlc3NfZXZlbnRcIjogXCJSZXByb2Nlc3MgZXZlbnRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRzX2Nsb3NlXCI6IFwiQ2xvc2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfZXJyb3JfbWVzc2FnZVwiOiBcIkVycm9yIG1lc3NhZ2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFzdF91cGRhdGVfZGF0ZVwiOiBcIkxhc3QgdXBkYXRlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnNob3dfZXZlbnRfZGV0YWlsc1wiOiBcIkV2ZW50IGRldGFpbHNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucGVuZGluZ1wiOiBcIlBlbmRpbmdcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucHJvY2Vzc2luZ1wiOiBcIlByb2Nlc3NpbmdcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucGFuZWxfdGl0bGVfZXZlbnRzX2VuZGVkX3dpdGhfZXJyb3JcIjogXCJGYWlsdXJlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRpY2tldHNcIjogXCJUaWNrZXRzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJ1cmFsX2VzdGF0ZVwiOiBcIlJ1cmFsIEVzdGF0ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jaGFuZ2VfcmVxdWVzdF9ldmVudF9zdW1tYXJ5XCI6IFwiV2VpZ2h0IENoYW5nZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50aWNrZXRfbWFpbnRlbmFuY2VfaGVhZGVyXCI6IFwiVGlja2V0IE1haW50ZW5hbmNlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfY3JlYXRpbmdfZXZlbnRcIjogXCJJbnZvaWNlIElzc3VhbmNlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmJhbGFuY2VfZW50cnlfY29udHJvbF9ldmVudFwiOiBcIkJhbGFuY2UgRW50cnkvRXhpdFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcmlnaW5fbGFiZWxcIjogXCJFdmVudCBvcmlnaW5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfZGV0YWlsc19oZWFkZXJcIjogXCJFdmVudCBEZXRhaWxzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlZ2lzdGVyc19mb3VuZFwiOiBcInt0b3RhbH0gcmVjb3JkKHMpIGZvdW5kXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNoYW5nZV9yZXF1ZXN0X2V2ZW50XCI6IFwiV2VpZ2h0IENoYW5nZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5zdGF0dXNfbGFiZWxcIjogXCJTdGF0dXNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucGFuZWxfdGl0bGVfZXZlbnRzX2NvbXBsZXRlZF9zdWNjZXNzZnVsbHlcIjogXCJTdWNjZXNzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnN1cHBsaWVyXCI6IFwiU3VwcGxpZXJcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudGlja2V0XCI6IFwiVGlja2V0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNvbXBhbnlcIjogXCJDb21wYW55XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxhYmVsX2JyYW5jaFwiOiBcIkJyYW5jaFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9zaWRlYmFyX3RpdGxlXCI6IFwiRXZlbnQgLSB7ZXZlbnR9XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX3RpdGxlXCI6IFwiUmVwcm9jZXNzaW5nIEV2ZW50XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX2Rlc2NyaXB0aW9uXCI6IFwiVGhlIHNlbGVjdGVkIGV2ZW50IGlzIGJlaW5nIHJlcHJvY2Vzc2VkLlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9yZXByb2Nlc3NpbmdfZXZlbnRfbWVzc2FnZV90aXRsZVwiOiBcIkVycm9yIHJlcHJvY2Vzc2luZyBldmVudFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9yZXByb2Nlc3NpbmdfZXZlbnRfbWVzc2FnZV9kZXNjcmlwdGlvblwiOlxyXG4gICAgICAgIFwiVGhlcmUgd2FzIGFuIGVycm9yIHJlcHJvY2Vzc2luZyB0aGUgZXZlbnQuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmFjdGlvbnNcIjogXCJBY3Rpb25zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmFkZFwiOiBcIkFkZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5hdF9kYXRlXCI6IFwiT24gZGF0ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5hdF90aW1lXCI6IFwiQXQgdGltZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxcIjogXCJDYW5jZWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2xlYXJcIjogXCJDbGVhclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jcmVhdGVkX2J5XCI6IFwiQ3JlYXRlZCBieVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5kZWxldGVcIjogXCJEZWxldGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZGVsZXRlX2NvbmZpcm1hdGlvbl9tZXNzYWdlXCI6IFwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmRlbGV0ZV9jb25maXJtYXRpb25fdGl0bGVcIjogXCJEZWxldGUgQ29uZmlybWF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmRlbGV0ZWRfbWVzc2FnZV9jb250ZW50XCI6IFwiSXRlbSBzdWNjZXNzZnVsbHkgZGVsZXRlZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5kZWxldGVkX21lc3NhZ2VfdGl0bGVcIjogXCJEZWxldGlvbiBjb21wbGV0ZWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZW1wX2NvZF9lbXBcIjogXCJDb21wYW55IGNvZGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZW1wX2NyZWF0ZWRfYnlcIjogXCJDcmVhdGVkIGJ5XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2VtcF9jcmVhdGVkX2RhdGVcIjogXCJDcmVhdGlvbiBkYXRlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2VtcF9pZFwiOiBcIklkXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2VtcF9sYXN0X21vZGlmaWVkX2J5XCI6IFwiTGFzdCBtb2RpZmllZCBieVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9lbXBfbGFzdF9tb2RpZmllZF9kYXRlXCI6IFwiTGFzdCBtb2RpZmljYXRpb24gZGF0ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9lbXBfbm9tX2VtcFwiOiBcIkNvbXBhbnkgbmFtZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9lbXBfc2lnX2VtcFwiOiBcIlRyYWRlIG5hbWUgLyBDb21wYW55IGFjcm9ueW1cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZmlsX2NpZF9maWxcIjogXCJDaXR5XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9jb2RfZmlsXCI6IFwiQnJhbmNoIGNvZGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZmlsX2NyZWF0ZWRfYnlcIjogXCJDcmVhdGVkIGJ5XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9jcmVhdGVkX2RhdGVcIjogXCJDcmVhdGlvbiBkYXRlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9pZFwiOiBcIklkXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9sYXN0X21vZGlmaWVkX2J5XCI6IFwiTGFzdCBtb2RpZmllZCBieVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfbGFzdF9tb2RpZmllZF9kYXRlXCI6IFwiTGFzdCBtb2RpZmljYXRpb24gZGF0ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfbm9tX2ZpbFwiOiBcIkJyYW5jaCBuYW1lXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9udW1fY2djXCI6IFwiQ05QSlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfbnVtX2ZvblwiOiBcIlBob25lIG51bWJlclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfc2lnX2ZpbFwiOiBcIkJyYW5jaCB0cmFkZSBuYW1lXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVkaXRcIjogXCJFZGl0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX2ZvcmJpZGRlbl9kZXNjcmlwdGlvblwiOiBcIllvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGlzIHJlc291cmNlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX2ZvcmJpZGRlbl90aXRsZVwiOiBcIkFjY2VzcyBkZW5pZWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfaW52YWxpZFwiOiBcIkludmFsaWQgdmFsdWVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfbWF4X2xlbmd0aFwiOiBcIlRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIGlzIHswfVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9tYXhfdmFsdWVcIjogXCJUaGUgbWF4aW11bSB2YWx1ZSBpcyB7MH1cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfbWluX2xlbmd0aFwiOiBcIlRoZSBtaW5pbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIGlzIHt2YWxvcn1cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfbWluX3ZhbHVlXCI6IFwiVGhlIG1pbmltdW0gdmFsdWUgaXMgezB9XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX25vdF9mb3VuZF9kZXNjcmlwdGlvblwiOiBcIlRoZSByZXF1ZXN0ZWQgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9ub3RfZm91bmRfdGl0bGVcIjogXCJOb3QgZm91bmRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfcmVxdWlyZWRcIjogXCJSZXF1aXJlZCBmaWVsZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9zZXJ2ZXJfZGVzY3JpcHRpb25cIjogXCJBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHlvdXIgcmVxdWVzdC4gUGxlYXNlIHRyeSBhZ2FpblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9zZXJ2ZXJfdGl0bGVcIjogXCJTZXJ2ZXIgZXJyb3JcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3Jfc2VydmVyX3RyeV9hZ2FpblwiOiBcIlRyeSBhZ2FpblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl91bmF1dGhvcml6ZWRfZGVzY3JpcHRpb25cIjogXCJZb3UgYXJlIG5vdCBhdXRob3JpemVkIHRvIGFjY2VzcyB0aGlzIHJlc291cmNlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3VuYXV0aG9yaXplZF90aXRsZVwiOiBcIlVuYXV0aG9yaXplZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sXCI6IFwiRXZlbnQgY29udHJvbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2NyZWF0ZWRfYnlcIjogXCJDcmVhdGVkIGJ5XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfY3JlYXRlZF9kYXRlXCI6IFwiQ3JlYXRpb24gZGF0ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2VfMDcwX2VtcFwiOiBcIkNvbXBhbnlcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9lXzA3MF9lbXBfc2VhcmNoX3RpdGxlXCI6IFwiU2VsZWN0IHRoZSBjb21wYW55XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZV8wNzBfZmlsXCI6IFwiQnJhbmNoXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZV8wNzBfZmlsX3NlYXJjaF90aXRsZVwiOiBcIlNlbGVjdCB0aGUgYnJhbmNoXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZW1wdHlfc3RhdGVfZGVzY3JpcHRpb25cIjogXCJObyByZWNvcmRzIGZvdW5kXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZW1wdHlfc3RhdGVfdGl0bGVcIjogXCJObyByZWNvcmRzIGZvdW5kXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZXZlbnRfb3JpZ2luXCI6IFwiRXZlbnQgb3JpZ2luXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZXZlbnRfb3JpZ2luX3BsYWNlaG9sZGVyXCI6IFwiU2VsZWN0IHRoZSBldmVudCBvcmlnaW5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9leHRlcm5hbF9pZFwiOiBcIkV4dGVybmFsIElkXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZm9ybV9nZW5lcmFsX3RpdGxlXCI6IFwiR2VuZXJhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2Zvcm1fdGl0bGVcIjogXCJFdmVudCBjb250cm9sXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaWRcIjogXCJFbnRpdHkgSWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtXCI6IFwiRXZlbnQgY29udHJvbCBpdGVtc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fY3JlYXRlZF9ieVwiOiBcIkNyZWF0ZWQgYnlcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2NyZWF0ZWRfZGF0ZVwiOiBcIkNyZWF0aW9uIGRhdGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2VtcHR5X3N0YXRlX2Rlc2NyaXB0aW9uXCI6IFwiTm8gcmVjb3JkcyBmb3VuZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fZW1wdHlfc3RhdGVfdGl0bGVcIjogXCJObyByZWNvcmRzIGZvdW5kXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9ldmVudF9jb250cm9sXCI6IFwiZXZlbnRDb250cm9sSWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2V2ZW50X2NvbnRyb2xfc2VhcmNoX3RpdGxlXCI6IFwiU2VsZWN0IHRoZSBldmVudCBjb250cm9sXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9ldmVudF9ncm91cFwiOiBcIkV2ZW50IGdyb3VwXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9ldmVudF9vcGVyYXRpb25cIjogXCJFdmVudCBvcGVyYXRpb24gdHlwZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fZXZlbnRfb3BlcmF0aW9uX3BsYWNlaG9sZGVyXCI6IFwiU2VsZWN0IHRoZSBldmVudCBvcGVyYXRpb24gdHlwZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fZm9ybV9nZW5lcmFsX3RpdGxlXCI6IFwiR2VuZXJhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fZm9ybV90aXRsZVwiOiBcIkV2ZW50IGNvbnRyb2wgaXRlbXNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2lkXCI6IFwiRW50aXR5IElkXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9sYXN0X21vZGlmaWVkX2J5XCI6IFwiTGFzdCBtb2RpZmllZCBieVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fbGFzdF9tb2RpZmllZF9kYXRlXCI6IFwiTGFzdCBtb2RpZmljYXRpb24gZGF0ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fbGlzdF9ncmlkX3RpdGxlXCI6IFwiRXZlbnQgY29udHJvbCBpdGVtc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fbGlzdF90aXRsZVwiOiBcIkV2ZW50IGNvbnRyb2wgaXRlbXNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX21lc3NhZ2VcIjogXCJFdmVudCBtZXNzYWdlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9wYXJhbVwiOiBcIkV2ZW50IHBhcmFtZXRlcnNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX3JlcXVlc3RcIjogXCJSZXF1ZXN0IHJlY2VpdmVkXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9yZXNwb25zZVwiOiBcIlJlc3BvbnNlIHNlbnRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX3NlcXVlbmNlXCI6IFwiRXZlbnQgc2VxdWVuY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX3N0YXR1c1wiOiBcIkV2ZW50IHN0YXR1c1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fc3RhdHVzX3BsYWNlaG9sZGVyXCI6IFwiU2VsZWN0IHRoZSBldmVudCBzdGF0dXNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9sYXN0X21vZGlmaWVkX2J5XCI6IFwiTGFzdCBtb2RpZmllZCBieVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2xhc3RfbW9kaWZpZWRfZGF0ZVwiOiBcIkxhc3QgbW9kaWZpY2F0aW9uIGRhdGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9saXN0X2dyaWRfdGl0bGVcIjogXCJFdmVudCBjb250cm9sXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfbGlzdF90aXRsZVwiOiBcIkV2ZW50IGNvbnRyb2xcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX2NoYW5nZV9yZXF1ZXN0XCI6IFwiQ2hhbmdlIHJlcXVlc3RcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX2NoYW5nZV9yZXNwb25zZVwiOiBcIkNoYW5nZSByZXNwb25zZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcGVyYXRpb25fZWZmZWN0aXZlXCI6IFwiRWZmZWN0aXZlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29wZXJhdGlvbl9lZmZlY3RpdmVfY29uZmlybWF0aW9uXCI6IFwiRWZmZWN0aXZlIGNvbmZpcm1hdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcGVyYXRpb25faW52b2ljZV9jbG9zaW5nXCI6IFwiSW52b2ljZSBjbG9zaW5nXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29wZXJhdGlvbl9pbnZvaWNlX2NyZWF0aW5nXCI6IFwiSW52b2ljZSBjcmVhdGluZ1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcGVyYXRpb25faW52b2ljZV9pbnN0YWxsbWVudHNcIjogXCJJbnZvaWNlIGluc3RhbGxtZW50c1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcGVyYXRpb25fcHJvdmVzaW9uYWxcIjogXCJQcm92aXNpb25hbCBiYWxhbmNlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29wZXJhdGlvbl9yZW1vdmVfcHJvdmlzaW9uYWxcIjogXCJSZW1vdmUgcHJvdmlzaW9uYWwgYmFsYW5jZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcGVyYXRpb25fdGlja2V0XCI6IFwiVGlja2V0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29yaWdpbl9iYWxhbmNlX2VudHJ5X2NvbnRyb2xcIjogXCJCYWxhbmNlIGVudHJ5IGNvbnRyb2xcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3JpZ2luX2NoYW5nZV9yZXF1ZXN0XCI6IFwiQ2hhbmdlIHJlcXVlc3RcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3JpZ2luX2ludm9pY2VcIjogXCJJbnZvaWNlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29yaWdpbl90aWNrZXRcIjogXCJUaWNrZXRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfc3RhdHVzX2NhbmNlbGVkXCI6IFwiQ2FuY2VsZWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfc3RhdHVzX2ZhaWxlZFwiOiBcIkZhaWxlZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9zdGF0dXNfcGVuZGluZ1wiOiBcIlBlbmRpbmdcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfc3RhdHVzX3Byb2Nlc3NpbmdcIjogXCJQcm9jZXNzZWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfc3RhdHVzX3N1Y2Nlc3NcIjogXCJTdWNjZXNzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmZpbHRlclwiOiBcIkZpbHRlclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5maWx0ZXJzXCI6IFwiRmlsdGVyc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5saXN0X2dyaWRfZW1wdHlfZmllbGRcIjogXCJObyByZWNvcmRzIGZvdW5kXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnByb2R1Y3RfaGVhZGVyX3RpdGxlXCI6IFwiRXZlbnRzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnNhdmVcIjogXCJTYXZlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnNlbGVjdFwiOiBcIlNlbGVjdFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy51cGRhdGVkX2J5XCI6IFwiVXBkYXRlZCBieVwiLFxyXG4gICAgZXJyb3JfaW52YWxpZDogXCJJbnZhbGlkIHZhbHVlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNob29zZV9sYWJlbFwiOiBcIkNob29zZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5yZW1vdmVfbGFiZWxcIjogXCJSZW1vdmVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsX2xhYmVsXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnN1Y2Nlc3NfdG9vbHRpcFwiOiBcIlN1Y2Nlc3NcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubWVudV9hZ3JvX2V2ZW50c1wiOiBcIkFncm8gRXZlbnRzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmRhdGVcIjogXCJEYXRlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxhYmVsX2NvZGVfYnJhbmNoXCI6IFwiQnJhbmNoIGNvZGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfY29kZV9jb21wYW55XCI6IFwiQ29tcGFueSBjb2RlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxhYmVsX2NvZGVfZGVwb3NpdFwiOiBcIkRlcG9zaXQgY29kZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sYWJlbF9jb2RlXCI6IFwiQ29kZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sYWJlbF9jb21wYW55XCI6IFwiQ29tcGFueVwiLFxyXG4gICAgXCJwbGF0Zm9ybS5iYWNrZW5kLmFncm9fb3JpZ2luYXRpb25fZW50cnlfY29udHJvbFwiOiBcIkJhbGFuY2UgZW50cnkvZXhpdCBjb250cm9sXCIsXHJcbiAgICBcInBsYXRmb3JtLmJhY2tlbmQuYWdyb19vcmlnaW5hdGlvbl9lbnRyeV9leGl0X3F1ZXJ5XCI6IFwiRW50cnkvZXhpdCBxdWVyeVwiLFxyXG4gICAgXCJwbGF0Zm9ybS5iYWNrZW5kLmFncm9fb3JpZ2luYXRpb25fbGlua3NcIjogXCJMaW5rc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5mYW50YXN5X25hbWVcIjogXCJUcmFkZSBuYW1lXCIsXHJcbiAgICBcInBsYXRmb3JtLmJhY2tlbmQuYWdyb19vcmlnaW5hdGlvbl9vcGVyYXRpb25fdmVyc3VzX3RyYW5zYWN0aW9uX2xpbmtcIjogXCJPcGVyYXRpb24gdnMgdHJhbnNhY3Rpb24gbGlua1wiLFxyXG4gICAgXCJwbGF0Zm9ybS5iYWNrZW5kLm1lbnVfZXZlbnRfY29udHJvbFwiOiBcIkV2ZW50L0ludGVncmF0aW9uIFF1ZXJ5XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNvbXBhbnlfc2VhcmNoX2xhYmVsXCI6IFwiU2VhcmNoIENvbXBhbnlcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY29tcGFueV90b29sdGlwXCI6IFwiU2VsZWN0IGEgY29tcGFueSB0byBwcm9jZWVkXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmJyYW5jaF9zZWFyY2hfbGFiZWxcIjogXCJTZWFyY2ggQnJhbmNoXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmJyYW5jaF90b29sdGlwXCI6IFwiRmluZCB0aGUgY29tcGFueSdzIGJyYW5jaGVzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmRhc2hcIjogXCItXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRpY2tldF90b29sdGlwXCI6IFwiQWRkIHRoZSB0aWNrZXQgbnVtYmVyIHRvIHNwZWNpZnkgaW4gdGhlIHNlYXJjaFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50aWNrZXRfc2VhcmNoX2xhYmVsXCI6IFwiU2VhcmNoIFRpY2tldFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5raWxvZ3JhbV91bml0X2xhYmVsXCI6IFwiS0dcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfbGlzdF9oZWFkZXJcIjogXCJFdmVudCBMaXN0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRpY2tldF9ldmVudFwiOiBcIlRpY2tldCBJc3N1YW5jZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wcm92aXNpb25hbF9ldmVudFwiOiBcIlByb3Zpc2lvbmFsIGJhbGFuY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZWZmZWN0aXZlX2V2ZW50XCI6IFwiRWZmZWN0aXZlIGJhbGFuY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZWZmZWN0aXZlX2NvbmZpcm1hdGlvbl9ldmVudFwiOiBcIkVmZmVjdGl2ZSBiYWxhbmNlIGNvbmZpcm1hdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5yZW1vdmVfcHJvdmlzaW9uYWxfZXZlbnRcIjogXCJSZW1vdmUgUHJvdmlzaW9uYWwgQmFsYW5jZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxlZFwiOiBcIkNhbmNlbGVkXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxhYmVsX251bWJlclwiOiBcIlRpY2tldFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jbnBqXCI6IFwiQ05QSlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sYWJlbF9jaXR5XCI6IFwiQ2l0eVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5tZW51X2V2ZW50X2NvbnRyb2xcIjogXCJFdmVudC9JbnRlZ3JhdGlvbiBRdWVyeVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50cmFuc2Zlcl9vcmlnaW5fZXZlbnRcIjogXCJUcmFuc2ZlciBiZXR3ZWVuIFByb2R1Y2Vyc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5nZW5lcmF0aW9uX29mX2ludm9pY2VfaW5zdGFsbG1lbnRzXCI6IFwiR2VuZXJhdGlvbiBvZiBpbnZvaWNlIGluc3RhbGxtZW50c1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX2NhbmNlbGVkXCI6IFwiSW52b2ljZSBjbG9zaW5nXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNBTkNFTF9JTlZPSUNFXCI6IFwiSW52b2ljZSBjYW5jZWxsYXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuRUZGRUNUSVZFX0NPTkZJUk1BVElPTlwiOiBcIkVmZmVjdGl2ZSBjb25maXJtYXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0hBTkdFX1JFUVVFU1RcIjogXCJDaGFuZ2UgcmVxdWVzdFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DSEFOR0VfUkVTUE9OU0VcIjogXCJDaGFuZ2UgcmVxdWVzdCByZXNwb25zZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5QUk9DRVNTX0ZJWEFUSU9OXCI6IFwiUHJvY2VzcyB0aGUgZml4YXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuVFJBTlNGRVJfQ1JFQVRFX0lOQ09NSU5HX0lOVk9JQ0VcIjogXCJDcmVhdGlvbiBvZiBpbnZvaWNlIHRyYW5zZmVyIGlucHV0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlRSQU5TRkVSX0NSRUFURV9PVVRHT0lOR19JTlZPSUNFXCI6IFwiQ3JlYXRpb24gb2YgdGhlIG91dGdvaW5nIHRyYW5zZmVyIGludm9pY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuVFJBTlNGRVJfUFJPRFVDRVJfQkFMQU5DRVwiOiBcIkJhbGFuY2UgdHJhbnNmZXIgYmV0d2VlbiBwcm9kdWNlcnNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY29udHJvbF9jb2RlXCI6IFwiSWRlbnRpZmllclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5maXhhdGlvbl9ldmVudFwiOiBcIkZpeGF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkZJTklTSF9GSU5BTkNJQUxfRklYQVRJT05cIjogXCJGaW5hbmNpYWwgc2V0dGxlbWVudFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5GSU5JU0hfUFJPRFVDRVJfTkVUX1ZBTFVFX0ZJWEFUSU9OXCI6IFwiQmFsYW5jZSB1cGRhdGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ09OQ0xVREVfRklYQVRJT05cIjogXCJGaXhhdGlvbiBjb25jbHVzaW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNBTkNFTF9GSU5BTkNJQUxfRklYQVRJT05cIjogXCJDYW5jZWwgZmluYW5jaWFsIGZpeGF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNBTkNFTF9QUk9EVUNFUl9ORVRfVkFMVUVfRklYQVRJT05cIjogXCJDYW5jZWwgcHJvZHVjZXIgbmV0IHZhbHVlIGZpeGF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNBTkNFTF9GSVhBVElPTlwiOiBcIkNhbmNlbCBmaXhhdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxfZml4YXRpb25fdGl0bGVcIjogXCJDYW5jZWwgZml4YXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsX2ZpeGF0aW9uX2Rlc2NyaXB0aW9uXCI6IFwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNhbmNlbCB0aGUgZml4YXRpb24/XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX2NhbmNlbF9maXhhdGlvbl9tZXNzYWdlX3RpdGxlXCI6IFwiRXJyb3IgY2FuY2VsaW5nIGZpeGF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX2NhbmNlbF9maXhhdGlvbl9tZXNzYWdlX2Rlc2NyaXB0aW9uXCI6IFwiQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgY2FuY2VsaW5nIHRoZSBmaXhhdGlvbi4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsX2ZpeGF0aW9uX21lc3NhZ2VfdGl0bGVcIjogXCJGaXhhdGlvbiBjYW5jZWxsYXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsX2ZpeGF0aW9uX21lc3NhZ2VfZGVzY3JpcHRpb25cIjogXCJUaGUgZml4YXRpb24gY2FuY2VsbGF0aW9uIHByb2Nlc3MgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGluaXRpYXRlZC5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMud2Fybl9jYW5jZWxfZml4YXRpb25fbWVzc2FnZV90aXRsZVwiOiBcIkl0IGlzIG5vdCBwb3NzaWJsZSB0byBjYW5jZWwgdGhlIGZpeGF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLndhcm5fY2FuY2VsX2ZpeGF0aW9uX21lc3NhZ2VfZGVzY3JpcHRpb25cIjogXCJJdCBpcyBub3QgcG9zc2libGUgdG8gY2FuY2VsIGEgZml4YXRpb24gdGhhdCBpcyBhbHJlYWR5IGNhbmNlbGxlZCBvciBpbiBwcm9jZXNzLlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy53YXJuX2ltbWVkaWF0ZV9jYW5jZWxfZml4YXRpb25fbWVzc2FnZV9kZXNjcmlwdGlvblwiOiBcIkl0IGlzIG5vdCBwb3NzaWJsZSB0byBjYW5jZWwgYSBmaXhhdGlvbiBtYWRlIHZpYSBpbW1lZGlhdGUgYnV5LlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxfZml4YXRpb25fZXZlbnRcIjogXCJDYW5jZWwgZml4YXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuaW52b2ljZV90eXBlX0lOQ09NSU5HXCI6IFwiSW5jb21pbmdcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuaW52b2ljZV90eXBlX0NPTVBMRU1FTlRcIjogXCJDb21wbGVtZW50YXJ5XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfdHlwZV9BREpVU1RNRU5UXCI6IFwiQWRqdXN0bWVudFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX3R5cGVfT1VUR09JTkdcIjogXCJPdXRnb2luZ1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX3R5cGVfUkVUVVJOXCI6IFwiUmV0dXJuXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfdHlwZV9TRVJWSUNFXCI6IFwiU2VydmljZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX3R5cGVfU1lNQk9MSUNfUkVUVVJOXCI6IFwiU3ltYm9saWMgcmV0dXJuXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNhbmNlbF9yZWFzb25cIjogXCJDYW5jZWxsYXRpb24gcmVhc29uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRyYW5zZmVyX2NhbmNlbGxhdGlvbl9ldmVudFwiOiBcIlRyYW5zZmVyIGNhbmNlbGxhdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DUkVBVEVfSU5WT0lDRV9GSVhBVElPTlwiOiBcIkludm9pY2UgZml4YXRpb24gY3JlYXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0FOQ0VMX0lOVk9JQ0VfRklYQVRJT05cIjogXCJJbnZvaWNlIGZpeGF0aW9uIGNhbmNlbGxhdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5PUklHSU5BVElPTl9DUkVBVEVfSU5WT0lDRVwiOiBcIkludm9pY2UgSXNzdWFuY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuT1JJR0lOQVRJT05fQ1JFQVRFX0VGRkVDVElWRV9CQUxBTkNFXCI6IFwiRWZmZWN0aXZlIGJhbGFuY2UgaXNzdWFuY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuUFJPRFVDRVJfTkVUX1ZBTFVFX0VGRkVDVElWRV9CQUxBTkNFX0NPTkZJUk1BVElPTlwiOiBcIkVmZmVjdGl2ZSBiYWxhbmNlIGNvbmZpcm1hdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DTE9TRV9JTlZPSUNFX0ZJWEFUSU9OXCI6IFwiSW52b2ljZSBmaXhhdGlvbiBjbG9zdXJlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLk9SSUdJTkFUSU9OX0NSRUFURV9FRkZFQ1RJVkVfQ09ORklSTUFUSU9OXCI6IFwiRWZmZWN0aXZlIGNvbmZpcm1hdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5PUklHSU5BVElPTl9DUkVBVEVfUFJPVklTSU9OQUxfQkFMQU5DRVwiOiBcIlByb3Zpc2lvbmFsIGJhbGFuY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0xPU0VfSU5WT0lDRV9UUkFOU0ZFUlwiOiBcIkNsb3NlIHRyYW5zZmVyIGludm9pY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuUkVPUEVOX0lOVk9JQ0VfVFJBTlNGRVJcIjogXCJSZW9wZW4gdHJhbnNmZXIgaW52b2ljZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5UUkFOU0ZFUl9DUkVBVEVfRklOQU5DSUFMX1RJVExFXCI6IFwiRmluYW5jaWFsIHRpdGxlIGNyZWF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlRSQU5TRkVSX0NBTkNFTF9GSU5BTkNJQUxfVElUTEVcIjogXCJGaW5hbmNpYWwgdGl0bGUgY2FuY2VsbGF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlRSQU5TRkVSX0NSRUFURV9TRVJWSUNFX0lOVk9JQ0VcIjogXCJTZXJ2aWNlIGludm9pY2UgaXNzdWFuY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuVFJBTlNGRVJfQ0FOQ0VMX1NFUlZJQ0VfSU5WT0lDRVwiOiBcIlNlcnZpY2UgaW52b2ljZSBjYW5jZWxsYXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuUkVPUEVOX0lOVk9JQ0VfRklYQVRJT05cIjogXCJSZW9wZW4gaW52b2ljZSBmaXhhdGlvblwiLFxyXG59O1xyXG5leHBvcnQgZGVmYXVsdCBlblVTO1xyXG4iXX0=
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4tVVMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2kxOG4vZW4tVVMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxJQUFJLEdBQUc7SUFDVCxpREFBaUQsRUFBRSwyREFBMkQ7SUFDOUcsdUNBQXVDLEVBQUUsa0JBQWtCO0lBQzNELG1EQUFtRCxFQUFFLFFBQVE7SUFDN0QsaUNBQWlDLEVBQUUsU0FBUztJQUM1Qyw4Q0FBOEMsRUFBRSx5QkFBeUI7SUFDekUsNEJBQTRCLEVBQUUsSUFBSTtJQUNsQyw2QkFBNkIsRUFBRSxLQUFLO0lBQ3BDLDJDQUEyQyxFQUFFLG9CQUFvQjtJQUNqRSxxQ0FBcUMsRUFBRSxxQ0FBcUM7SUFDNUUseUNBQXlDLEVBQUUsaUJBQWlCO0lBQzVELHNDQUFzQyxFQUFFLE9BQU87SUFDL0MsNkNBQTZDLEVBQUUsZUFBZTtJQUM5RCwwQ0FBMEMsRUFBRSxhQUFhO0lBQ3pELDRDQUE0QyxFQUFFLGVBQWU7SUFDN0QsaUNBQWlDLEVBQUUsU0FBUztJQUM1QyxvQ0FBb0MsRUFBRSxZQUFZO0lBQ2xELDZEQUE2RCxFQUFFLFNBQVM7SUFDeEUsaUNBQWlDLEVBQUUsU0FBUztJQUM1QyxzQ0FBc0MsRUFBRSxjQUFjO0lBQ3RELHNEQUFzRCxFQUFFLGVBQWU7SUFDdkUsbURBQW1ELEVBQUUsb0JBQW9CO0lBQ3pFLGdEQUFnRCxFQUFFLGtCQUFrQjtJQUNwRSxxREFBcUQsRUFBRSxvQkFBb0I7SUFDM0UsNENBQTRDLEVBQUUsY0FBYztJQUM1RCw4Q0FBOEMsRUFBRSxlQUFlO0lBQy9ELHlDQUF5QyxFQUFFLHlCQUF5QjtJQUNwRSw4Q0FBOEMsRUFBRSxlQUFlO0lBQy9ELHNDQUFzQyxFQUFFLFFBQVE7SUFDaEQsbUVBQW1FLEVBQUUsU0FBUztJQUM5RSxrQ0FBa0MsRUFBRSxVQUFVO0lBQzlDLGdDQUFnQyxFQUFFLFFB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XHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRhYmxlX2VtcHR5X2Rlc2NyaXB0aW9uXCI6IFwiQ2hhbmdlIHRoZSBmaWx0ZXJzIGFib3ZlIHRvIGdlbmVyYXRlIG90aGVyIHNlYXJjaCByZXN1bHRzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLm5vdGhpbmdfZm91bmRcIjogXCJObyByZWNvcmRzIGZvdW5kXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnBhbmVsX3RpdGxlX2V2ZW50c19ldmVudHNcIjogXCJFdmVudHNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVmcmVzaFwiOiBcIlJlZnJlc2hcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9oZWFkZXJcIjogXCJFdmVudC9JbnRlZ3JhdGlvbiBRdWVyeVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ub1wiOiBcIk5vXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnllc1wiOiBcIlllc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9tb2RhbF90aXRsZVwiOiBcIkV2ZW50IFJlcHJvY2Vzc2luZ1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9tb2RhbFwiOiBcIkRvIHlvdSB3YW50IHRvIHJlcHJvY2VzcyB0aGUgZXZlbnQ/XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlcHJvY2Vzc19ldmVudFwiOiBcIlJlcHJvY2VzcyBldmVudFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudHNfY2xvc2VcIjogXCJDbG9zZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9lcnJvcl9tZXNzYWdlXCI6IFwiRXJyb3IgbWVzc2FnZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sYXN0X3VwZGF0ZV9kYXRlXCI6IFwiTGFzdCB1cGRhdGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuc2hvd19ldmVudF9kZXRhaWxzXCI6IFwiRXZlbnQgZGV0YWlsc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wZW5kaW5nXCI6IFwiUGVuZGluZ1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wcm9jZXNzaW5nXCI6IFwiUHJvY2Vzc2luZ1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wYW5lbF90aXRsZV9ldmVudHNfZW5kZWRfd2l0aF9lcnJvclwiOiBcIkZhaWx1cmVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudGlja2V0c1wiOiBcIlRpY2tldHNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucnVyYWxfZXN0YXRlXCI6IFwiUnVyYWwgRXN0YXRlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNoYW5nZV9yZXF1ZXN0X2V2ZW50X3N1bW1hcnlcIjogXCJXZWlnaHQgQ2hhbmdlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRpY2tldF9tYWludGVuYW5jZV9oZWFkZXJcIjogXCJUaWNrZXQgTWFpbnRlbmFuY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuaW52b2ljZV9jcmVhdGluZ19ldmVudFwiOiBcIkludm9pY2UgSXNzdWFuY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYmFsYW5jZV9lbnRyeV9jb250cm9sX2V2ZW50XCI6IFwiQmFsYW5jZSBFbnRyeS9FeGl0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29yaWdpbl9sYWJlbFwiOiBcIkV2ZW50IG9yaWdpblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9kZXRhaWxzX2hlYWRlclwiOiBcIkV2ZW50IERldGFpbHNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVnaXN0ZXJzX2ZvdW5kXCI6IFwie3RvdGFsfSByZWNvcmQocykgZm91bmRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2hhbmdlX3JlcXVlc3RfZXZlbnRcIjogXCJXZWlnaHQgQ2hhbmdlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnN0YXR1c19sYWJlbFwiOiBcIlN0YXR1c1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wYW5lbF90aXRsZV9ldmVudHNfY29tcGxldGVkX3N1Y2Nlc3NmdWxseVwiOiBcIlN1Y2Nlc3NcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuc3VwcGxpZXJcIjogXCJTdXBwbGllclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50aWNrZXRcIjogXCJUaWNrZXRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY29tcGFueVwiOiBcIkNvbXBhbnlcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfYnJhbmNoXCI6IFwiQnJhbmNoXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X3NpZGViYXJfdGl0bGVcIjogXCJFdmVudCAtIHtldmVudH1cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVwcm9jZXNzaW5nX2V2ZW50X21lc3NhZ2VfdGl0bGVcIjogXCJSZXByb2Nlc3NpbmcgRXZlbnRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVwcm9jZXNzaW5nX2V2ZW50X21lc3NhZ2VfZGVzY3JpcHRpb25cIjogXCJUaGUgc2VsZWN0ZWQgZXZlbnQgaXMgYmVpbmcgcmVwcm9jZXNzZWQuXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3JlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX3RpdGxlXCI6IFwiRXJyb3IgcmVwcm9jZXNzaW5nIGV2ZW50XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3JlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX2Rlc2NyaXB0aW9uXCI6XHJcbiAgICAgICAgXCJUaGVyZSB3YXMgYW4gZXJyb3IgcmVwcm9jZXNzaW5nIHRoZSBldmVudC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYWN0aW9uc1wiOiBcIkFjdGlvbnNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYWRkXCI6IFwiQWRkXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmF0X2RhdGVcIjogXCJPbiBkYXRlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmF0X3RpbWVcIjogXCJBdCB0aW1lXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNhbmNlbFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jbGVhclwiOiBcIkNsZWFyXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNyZWF0ZWRfYnlcIjogXCJDcmVhdGVkIGJ5XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmRlbGV0ZVwiOiBcIkRlbGV0ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5kZWxldGVfY29uZmlybWF0aW9uX21lc3NhZ2VcIjogXCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgaXRlbT9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZGVsZXRlX2NvbmZpcm1hdGlvbl90aXRsZVwiOiBcIkRlbGV0ZSBDb25maXJtYXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZGVsZXRlZF9tZXNzYWdlX2NvbnRlbnRcIjogXCJJdGVtIHN1Y2Nlc3NmdWxseSBkZWxldGVkXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmRlbGV0ZWRfbWVzc2FnZV90aXRsZVwiOiBcIkRlbGV0aW9uIGNvbXBsZXRlZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9lbXBfY29kX2VtcFwiOiBcIkNvbXBhbnkgY29kZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9lbXBfY3JlYXRlZF9ieVwiOiBcIkNyZWF0ZWQgYnlcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZW1wX2NyZWF0ZWRfZGF0ZVwiOiBcIkNyZWF0aW9uIGRhdGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZW1wX2lkXCI6IFwiSWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZW1wX2xhc3RfbW9kaWZpZWRfYnlcIjogXCJMYXN0IG1vZGlmaWVkIGJ5XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2VtcF9sYXN0X21vZGlmaWVkX2RhdGVcIjogXCJMYXN0IG1vZGlmaWNhdGlvbiBkYXRlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2VtcF9ub21fZW1wXCI6IFwiQ29tcGFueSBuYW1lXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2VtcF9zaWdfZW1wXCI6IFwiVHJhZGUgbmFtZSAvIENvbXBhbnkgYWNyb255bVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfY2lkX2ZpbFwiOiBcIkNpdHlcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZmlsX2NvZF9maWxcIjogXCJCcmFuY2ggY29kZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfY3JlYXRlZF9ieVwiOiBcIkNyZWF0ZWQgYnlcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZmlsX2NyZWF0ZWRfZGF0ZVwiOiBcIkNyZWF0aW9uIGRhdGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZmlsX2lkXCI6IFwiSWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZmlsX2xhc3RfbW9kaWZpZWRfYnlcIjogXCJMYXN0IG1vZGlmaWVkIGJ5XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9sYXN0X21vZGlmaWVkX2RhdGVcIjogXCJMYXN0IG1vZGlmaWNhdGlvbiBkYXRlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9ub21fZmlsXCI6IFwiQnJhbmNoIG5hbWVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZmlsX251bV9jZ2NcIjogXCJDTlBKXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9udW1fZm9uXCI6IFwiUGhvbmUgbnVtYmVyXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9zaWdfZmlsXCI6IFwiQnJhbmNoIHRyYWRlIG5hbWVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZWRpdFwiOiBcIkVkaXRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfZm9yYmlkZGVuX2Rlc2NyaXB0aW9uXCI6IFwiWW91IGRvIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoaXMgcmVzb3VyY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfZm9yYmlkZGVuX3RpdGxlXCI6IFwiQWNjZXNzIGRlbmllZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9pbnZhbGlkXCI6IFwiSW52YWxpZCB2YWx1ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9tYXhfbGVuZ3RoXCI6IFwiVGhlIG1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgaXMgezB9XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX21heF92YWx1ZVwiOiBcIlRoZSBtYXhpbXVtIHZhbHVlIGlzIHswfVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9taW5fbGVuZ3RoXCI6IFwiVGhlIG1pbmltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgaXMge3ZhbG9yfVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9taW5fdmFsdWVcIjogXCJUaGUgbWluaW11bSB2YWx1ZSBpcyB7MH1cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3Jfbm90X2ZvdW5kX2Rlc2NyaXB0aW9uXCI6IFwiVGhlIHJlcXVlc3RlZCByZXNvdXJjZSB3YXMgbm90IGZvdW5kXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX25vdF9mb3VuZF90aXRsZVwiOiBcIk5vdCBmb3VuZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9yZXF1aXJlZFwiOiBcIlJlcXVpcmVkIGZpZWxkXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3NlcnZlcl9kZXNjcmlwdGlvblwiOiBcIkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgeW91ciByZXF1ZXN0LiBQbGVhc2UgdHJ5IGFnYWluXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3NlcnZlcl90aXRsZVwiOiBcIlNlcnZlciBlcnJvclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9zZXJ2ZXJfdHJ5X2FnYWluXCI6IFwiVHJ5IGFnYWluXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3VuYXV0aG9yaXplZF9kZXNjcmlwdGlvblwiOiBcIllvdSBhcmUgbm90IGF1dGhvcml6ZWQgdG8gYWNjZXNzIHRoaXMgcmVzb3VyY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfdW5hdXRob3JpemVkX3RpdGxlXCI6IFwiVW5hdXRob3JpemVkXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xcIjogXCJFdmVudCBjb250cm9sXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfY3JlYXRlZF9ieVwiOiBcIkNyZWF0ZWQgYnlcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9jcmVhdGVkX2RhdGVcIjogXCJDcmVhdGlvbiBkYXRlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZV8wNzBfZW1wXCI6IFwiQ29tcGFueVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2VfMDcwX2VtcF9zZWFyY2hfdGl0bGVcIjogXCJTZWxlY3QgdGhlIGNvbXBhbnlcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9lXzA3MF9maWxcIjogXCJCcmFuY2hcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9lXzA3MF9maWxfc2VhcmNoX3RpdGxlXCI6IFwiU2VsZWN0IHRoZSBicmFuY2hcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9lbXB0eV9zdGF0ZV9kZXNjcmlwdGlvblwiOiBcIk5vIHJlY29yZHMgZm91bmRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9lbXB0eV9zdGF0ZV90aXRsZVwiOiBcIk5vIHJlY29yZHMgZm91bmRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9ldmVudF9vcmlnaW5cIjogXCJFdmVudCBvcmlnaW5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9ldmVudF9vcmlnaW5fcGxhY2Vob2xkZXJcIjogXCJTZWxlY3QgdGhlIGV2ZW50IG9yaWdpblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2V4dGVybmFsX2lkXCI6IFwiRXh0ZXJuYWwgSWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9mb3JtX2dlbmVyYWxfdGl0bGVcIjogXCJHZW5lcmFsXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZm9ybV90aXRsZVwiOiBcIkV2ZW50IGNvbnRyb2xcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pZFwiOiBcIkVudGl0eSBJZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1cIjogXCJFdmVudCBjb250cm9sIGl0ZW1zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9jcmVhdGVkX2J5XCI6IFwiQ3JlYXRlZCBieVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fY3JlYXRlZF9kYXRlXCI6IFwiQ3JlYXRpb24gZGF0ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fZW1wdHlfc3RhdGVfZGVzY3JpcHRpb25cIjogXCJObyByZWNvcmRzIGZvdW5kXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9lbXB0eV9zdGF0ZV90aXRsZVwiOiBcIk5vIHJlY29yZHMgZm91bmRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2V2ZW50X2NvbnRyb2xcIjogXCJldmVudENvbnRyb2xJZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fZXZlbnRfY29udHJvbF9zZWFyY2hfdGl0bGVcIjogXCJTZWxlY3QgdGhlIGV2ZW50IGNvbnRyb2xcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2V2ZW50X2dyb3VwXCI6IFwiRXZlbnQgZ3JvdXBcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2V2ZW50X29wZXJhdGlvblwiOiBcIkV2ZW50IG9wZXJhdGlvbiB0eXBlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9ldmVudF9vcGVyYXRpb25fcGxhY2Vob2xkZXJcIjogXCJTZWxlY3QgdGhlIGV2ZW50IG9wZXJhdGlvbiB0eXBlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9mb3JtX2dlbmVyYWxfdGl0bGVcIjogXCJHZW5lcmFsXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9mb3JtX3RpdGxlXCI6IFwiRXZlbnQgY29udHJvbCBpdGVtc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1faWRcIjogXCJFbnRpdHkgSWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2xhc3RfbW9kaWZpZWRfYnlcIjogXCJMYXN0IG1vZGlmaWVkIGJ5XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9sYXN0X21vZGlmaWVkX2RhdGVcIjogXCJMYXN0IG1vZGlmaWNhdGlvbiBkYXRlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9saXN0X2dyaWRfdGl0bGVcIjogXCJFdmVudCBjb250cm9sIGl0ZW1zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9saXN0X3RpdGxlXCI6IFwiRXZlbnQgY29udHJvbCBpdGVtc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fbWVzc2FnZVwiOiBcIkV2ZW50IG1lc3NhZ2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX3BhcmFtXCI6IFwiRXZlbnQgcGFyYW1ldGVyc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fcmVxdWVzdFwiOiBcIlJlcXVlc3QgcmVjZWl2ZWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX3Jlc3BvbnNlXCI6IFwiUmVzcG9uc2Ugc2VudFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fc2VxdWVuY2VcIjogXCJFdmVudCBzZXF1ZW5jZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fc3RhdHVzXCI6IFwiRXZlbnQgc3RhdHVzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9zdGF0dXNfcGxhY2Vob2xkZXJcIjogXCJTZWxlY3QgdGhlIGV2ZW50IHN0YXR1c1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2xhc3RfbW9kaWZpZWRfYnlcIjogXCJMYXN0IG1vZGlmaWVkIGJ5XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfbGFzdF9tb2RpZmllZF9kYXRlXCI6IFwiTGFzdCBtb2RpZmljYXRpb24gZGF0ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2xpc3RfZ3JpZF90aXRsZVwiOiBcIkV2ZW50IGNvbnRyb2xcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9saXN0X3RpdGxlXCI6IFwiRXZlbnQgY29udHJvbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcGVyYXRpb25fY2hhbmdlX3JlcXVlc3RcIjogXCJDaGFuZ2UgcmVxdWVzdFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcGVyYXRpb25fY2hhbmdlX3Jlc3BvbnNlXCI6IFwiQ2hhbmdlIHJlc3BvbnNlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29wZXJhdGlvbl9lZmZlY3RpdmVcIjogXCJFZmZlY3RpdmVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX2VmZmVjdGl2ZV9jb25maXJtYXRpb25cIjogXCJFZmZlY3RpdmUgY29uZmlybWF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29wZXJhdGlvbl9pbnZvaWNlX2Nsb3NpbmdcIjogXCJJbnZvaWNlIGNsb3NpbmdcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX2ludm9pY2VfY3JlYXRpbmdcIjogXCJJbnZvaWNlIGNyZWF0aW5nXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29wZXJhdGlvbl9pbnZvaWNlX2luc3RhbGxtZW50c1wiOiBcIkludm9pY2UgaW5zdGFsbG1lbnRzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29wZXJhdGlvbl9wcm92ZXNpb25hbFwiOiBcIlByb3Zpc2lvbmFsIGJhbGFuY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX3JlbW92ZV9wcm92aXNpb25hbFwiOiBcIlJlbW92ZSBwcm92aXNpb25hbCBiYWxhbmNlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29wZXJhdGlvbl90aWNrZXRcIjogXCJUaWNrZXRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3JpZ2luX2JhbGFuY2VfZW50cnlfY29udHJvbFwiOiBcIkJhbGFuY2UgZW50cnkgY29udHJvbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcmlnaW5fY2hhbmdlX3JlcXVlc3RcIjogXCJDaGFuZ2UgcmVxdWVzdFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcmlnaW5faW52b2ljZVwiOiBcIkludm9pY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3JpZ2luX3RpY2tldFwiOiBcIlRpY2tldFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9zdGF0dXNfY2FuY2VsZWRcIjogXCJDYW5jZWxlZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9zdGF0dXNfZmFpbGVkXCI6IFwiRmFpbGVkXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X3N0YXR1c19wZW5kaW5nXCI6IFwiUGVuZGluZ1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9zdGF0dXNfcHJvY2Vzc2luZ1wiOiBcIlByb2Nlc3NlZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9zdGF0dXNfc3VjY2Vzc1wiOiBcIlN1Y2Nlc3NcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZmlsdGVyXCI6IFwiRmlsdGVyXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmZpbHRlcnNcIjogXCJGaWx0ZXJzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxpc3RfZ3JpZF9lbXB0eV9maWVsZFwiOiBcIk5vIHJlY29yZHMgZm91bmRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucHJvZHVjdF9oZWFkZXJfdGl0bGVcIjogXCJFdmVudHNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuc2F2ZVwiOiBcIlNhdmVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuc2VsZWN0XCI6IFwiU2VsZWN0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnVwZGF0ZWRfYnlcIjogXCJVcGRhdGVkIGJ5XCIsXHJcbiAgICBlcnJvcl9pbnZhbGlkOiBcIkludmFsaWQgdmFsdWVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2hvb3NlX2xhYmVsXCI6IFwiQ2hvb3NlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlbW92ZV9sYWJlbFwiOiBcIlJlbW92ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxfbGFiZWxcIjogXCJDYW5jZWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuc3VjY2Vzc190b29sdGlwXCI6IFwiU3VjY2Vzc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5tZW51X2Fncm9fZXZlbnRzXCI6IFwiQWdybyBFdmVudHNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZGF0ZVwiOiBcIkRhdGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfY29kZV9icmFuY2hcIjogXCJCcmFuY2ggY29kZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sYWJlbF9jb2RlX2NvbXBhbnlcIjogXCJDb21wYW55IGNvZGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfY29kZV9kZXBvc2l0XCI6IFwiRGVwb3NpdCBjb2RlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxhYmVsX2NvZGVcIjogXCJDb2RlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxhYmVsX2NvbXBhbnlcIjogXCJDb21wYW55XCIsXHJcbiAgICBcInBsYXRmb3JtLmJhY2tlbmQuYWdyb19vcmlnaW5hdGlvbl9lbnRyeV9jb250cm9sXCI6IFwiQmFsYW5jZSBlbnRyeS9leGl0IGNvbnRyb2xcIixcclxuICAgIFwicGxhdGZvcm0uYmFja2VuZC5hZ3JvX29yaWdpbmF0aW9uX2VudHJ5X2V4aXRfcXVlcnlcIjogXCJFbnRyeS9leGl0IHF1ZXJ5XCIsXHJcbiAgICBcInBsYXRmb3JtLmJhY2tlbmQuYWdyb19vcmlnaW5hdGlvbl9saW5rc1wiOiBcIkxpbmtzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmZhbnRhc3lfbmFtZVwiOiBcIlRyYWRlIG5hbWVcIixcclxuICAgIFwicGxhdGZvcm0uYmFja2VuZC5hZ3JvX29yaWdpbmF0aW9uX29wZXJhdGlvbl92ZXJzdXNfdHJhbnNhY3Rpb25fbGlua1wiOiBcIk9wZXJhdGlvbiB2cyB0cmFuc2FjdGlvbiBsaW5rXCIsXHJcbiAgICBcInBsYXRmb3JtLmJhY2tlbmQubWVudV9ldmVudF9jb250cm9sXCI6IFwiRXZlbnQvSW50ZWdyYXRpb24gUXVlcnlcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY29tcGFueV9zZWFyY2hfbGFiZWxcIjogXCJTZWFyY2ggQ29tcGFueVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jb21wYW55X3Rvb2x0aXBcIjogXCJTZWxlY3QgYSBjb21wYW55IHRvIHByb2NlZWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYnJhbmNoX3NlYXJjaF9sYWJlbFwiOiBcIlNlYXJjaCBCcmFuY2hcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYnJhbmNoX3Rvb2x0aXBcIjogXCJGaW5kIHRoZSBjb21wYW55J3MgYnJhbmNoZXNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZGFzaFwiOiBcIi1cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudGlja2V0X3Rvb2x0aXBcIjogXCJBZGQgdGhlIHRpY2tldCBudW1iZXIgdG8gc3BlY2lmeSBpbiB0aGUgc2VhcmNoXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRpY2tldF9zZWFyY2hfbGFiZWxcIjogXCJTZWFyY2ggVGlja2V0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmtpbG9ncmFtX3VuaXRfbGFiZWxcIjogXCJLR1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9saXN0X2hlYWRlclwiOiBcIkV2ZW50IExpc3RcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudGlja2V0X2V2ZW50XCI6IFwiVGlja2V0IElzc3VhbmNlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnByb3Zpc2lvbmFsX2V2ZW50XCI6IFwiUHJvdmlzaW9uYWwgYmFsYW5jZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lZmZlY3RpdmVfZXZlbnRcIjogXCJFZmZlY3RpdmUgYmFsYW5jZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lZmZlY3RpdmVfY29uZmlybWF0aW9uX2V2ZW50XCI6IFwiRWZmZWN0aXZlIGJhbGFuY2UgY29uZmlybWF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlbW92ZV9wcm92aXNpb25hbF9ldmVudFwiOiBcIlJlbW92ZSBQcm92aXNpb25hbCBCYWxhbmNlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNhbmNlbGVkXCI6IFwiQ2FuY2VsZWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfbnVtYmVyXCI6IFwiVGlja2V0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNucGpcIjogXCJDTlBKXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxhYmVsX2NpdHlcIjogXCJDaXR5XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLm1lbnVfZXZlbnRfY29udHJvbFwiOiBcIkV2ZW50L0ludGVncmF0aW9uIFF1ZXJ5XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRyYW5zZmVyX29yaWdpbl9ldmVudFwiOiBcIlRyYW5zZmVyIGJldHdlZW4gUHJvZHVjZXJzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmdlbmVyYXRpb25fb2ZfaW52b2ljZV9pbnN0YWxsbWVudHNcIjogXCJHZW5lcmF0aW9uIG9mIGludm9pY2UgaW5zdGFsbG1lbnRzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfY2FuY2VsZWRcIjogXCJJbnZvaWNlIGNsb3NpbmdcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0FOQ0VMX0lOVk9JQ0VcIjogXCJJbnZvaWNlIGNhbmNlbGxhdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5FRkZFQ1RJVkVfQ09ORklSTUFUSU9OXCI6IFwiRWZmZWN0aXZlIGNvbmZpcm1hdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DSEFOR0VfUkVRVUVTVFwiOiBcIkNoYW5nZSByZXF1ZXN0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNIQU5HRV9SRVNQT05TRVwiOiBcIkNoYW5nZSByZXF1ZXN0IHJlc3BvbnNlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlBST0NFU1NfRklYQVRJT05cIjogXCJQcm9jZXNzIHRoZSBmaXhhdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5UUkFOU0ZFUl9DUkVBVEVfSU5DT01JTkdfSU5WT0lDRVwiOiBcIkNyZWF0aW9uIG9mIGludm9pY2UgdHJhbnNmZXIgaW5wdXRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuVFJBTlNGRVJfQ1JFQVRFX09VVEdPSU5HX0lOVk9JQ0VcIjogXCJDcmVhdGlvbiBvZiB0aGUgb3V0Z29pbmcgdHJhbnNmZXIgaW52b2ljZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5UUkFOU0ZFUl9QUk9EVUNFUl9CQUxBTkNFXCI6IFwiQmFsYW5jZSB0cmFuc2ZlciBiZXR3ZWVuIHByb2R1Y2Vyc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jb250cm9sX2NvZGVcIjogXCJJZGVudGlmaWVyXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmZpeGF0aW9uX2V2ZW50XCI6IFwiRml4YXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuRklOSVNIX0ZJTkFOQ0lBTF9GSVhBVElPTlwiOiBcIkZpbmFuY2lhbCBzZXR0bGVtZW50XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkZJTklTSF9QUk9EVUNFUl9ORVRfVkFMVUVfRklYQVRJT05cIjogXCJCYWxhbmNlIHVwZGF0ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DT05DTFVERV9GSVhBVElPTlwiOiBcIkZpeGF0aW9uIGNvbmNsdXNpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0FOQ0VMX0ZJTkFOQ0lBTF9GSVhBVElPTlwiOiBcIkNhbmNlbCBmaW5hbmNpYWwgZml4YXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0FOQ0VMX1BST0RVQ0VSX05FVF9WQUxVRV9GSVhBVElPTlwiOiBcIkNhbmNlbCBwcm9kdWNlciBuZXQgdmFsdWUgZml4YXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0FOQ0VMX0ZJWEFUSU9OXCI6IFwiQ2FuY2VsIGZpeGF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNhbmNlbF9maXhhdGlvbl90aXRsZVwiOiBcIkNhbmNlbCBmaXhhdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxfZml4YXRpb25fZGVzY3JpcHRpb25cIjogXCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2FuY2VsIHRoZSBmaXhhdGlvbj9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfY2FuY2VsX2ZpeGF0aW9uX21lc3NhZ2VfdGl0bGVcIjogXCJFcnJvciBjYW5jZWxpbmcgZml4YXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfY2FuY2VsX2ZpeGF0aW9uX21lc3NhZ2VfZGVzY3JpcHRpb25cIjogXCJBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBjYW5jZWxpbmcgdGhlIGZpeGF0aW9uLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxfZml4YXRpb25fbWVzc2FnZV90aXRsZVwiOiBcIkZpeGF0aW9uIGNhbmNlbGxhdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxfZml4YXRpb25fbWVzc2FnZV9kZXNjcmlwdGlvblwiOiBcIlRoZSBmaXhhdGlvbiBjYW5jZWxsYXRpb24gcHJvY2VzcyBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgaW5pdGlhdGVkLlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy53YXJuX2NhbmNlbF9maXhhdGlvbl9tZXNzYWdlX3RpdGxlXCI6IFwiSXQgaXMgbm90IHBvc3NpYmxlIHRvIGNhbmNlbCB0aGUgZml4YXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMud2Fybl9jYW5jZWxfZml4YXRpb25fbWVzc2FnZV9kZXNjcmlwdGlvblwiOiBcIkl0IGlzIG5vdCBwb3NzaWJsZSB0byBjYW5jZWwgYSBmaXhhdGlvbiB0aGF0IGlzIGFscmVhZHkgY2FuY2VsbGVkIG9yIGluIHByb2Nlc3MuXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLndhcm5faW1tZWRpYXRlX2NhbmNlbF9maXhhdGlvbl9tZXNzYWdlX2Rlc2NyaXB0aW9uXCI6IFwiSXQgaXMgbm90IHBvc3NpYmxlIHRvIGNhbmNlbCBhIGZpeGF0aW9uIG1hZGUgdmlhIGltbWVkaWF0ZSBidXkuXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNhbmNlbF9maXhhdGlvbl9ldmVudFwiOiBcIkNhbmNlbCBmaXhhdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX3R5cGVfSU5DT01JTkdcIjogXCJJbmNvbWluZ1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX3R5cGVfQ09NUExFTUVOVFwiOiBcIkNvbXBsZW1lbnRhcnlcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuaW52b2ljZV90eXBlX0FESlVTVE1FTlRcIjogXCJBZGp1c3RtZW50XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfdHlwZV9PVVRHT0lOR1wiOiBcIk91dGdvaW5nXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfdHlwZV9SRVRVUk5cIjogXCJSZXR1cm5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuaW52b2ljZV90eXBlX1NFUlZJQ0VcIjogXCJTZXJ2aWNlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfdHlwZV9TWU1CT0xJQ19SRVRVUk5cIjogXCJTeW1ib2xpYyByZXR1cm5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsX3JlYXNvblwiOiBcIkNhbmNlbGxhdGlvbiByZWFzb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudHJhbnNmZXJfY2FuY2VsbGF0aW9uX2V2ZW50XCI6IFwiVHJhbnNmZXIgY2FuY2VsbGF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNSRUFURV9JTlZPSUNFX0ZJWEFUSU9OXCI6IFwiSW52b2ljZSBmaXhhdGlvbiBjcmVhdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DQU5DRUxfSU5WT0lDRV9GSVhBVElPTlwiOiBcIkludm9pY2UgZml4YXRpb24gY2FuY2VsbGF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLk9SSUdJTkFUSU9OX0NSRUFURV9JTlZPSUNFXCI6IFwiSW52b2ljZSBJc3N1YW5jZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5PUklHSU5BVElPTl9DUkVBVEVfRUZGRUNUSVZFX0JBTEFOQ0VcIjogXCJFZmZlY3RpdmUgYmFsYW5jZSBpc3N1YW5jZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5QUk9EVUNFUl9ORVRfVkFMVUVfRUZGRUNUSVZFX0JBTEFOQ0VfQ09ORklSTUFUSU9OXCI6IFwiRWZmZWN0aXZlIGJhbGFuY2UgY29uZmlybWF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNMT1NFX0lOVk9JQ0VfRklYQVRJT05cIjogXCJJbnZvaWNlIGZpeGF0aW9uIGNsb3N1cmVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuT1JJR0lOQVRJT05fQ1JFQVRFX0VGRkVDVElWRV9DT05GSVJNQVRJT05cIjogXCJFZmZlY3RpdmUgY29uZmlybWF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLk9SSUdJTkFUSU9OX0NSRUFURV9QUk9WSVNJT05BTF9CQUxBTkNFXCI6IFwiUHJvdmlzaW9uYWwgYmFsYW5jZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DTE9TRV9JTlZPSUNFX1RSQU5TRkVSXCI6IFwiQ2xvc2UgdHJhbnNmZXIgaW52b2ljZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5SRU9QRU5fSU5WT0lDRV9UUkFOU0ZFUlwiOiBcIlJlb3BlbiB0cmFuc2ZlciBpbnZvaWNlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlRSQU5TRkVSX0NSRUFURV9GSU5BTkNJQUxfVElUTEVcIjogXCJGaW5hbmNpYWwgdGl0bGUgY3JlYXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuVFJBTlNGRVJfQ0FOQ0VMX0ZJTkFOQ0lBTF9USVRMRVwiOiBcIkZpbmFuY2lhbCB0aXRsZSBjYW5jZWxsYXRpb25cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuVFJBTlNGRVJfQ1JFQVRFX1NFUlZJQ0VfSU5WT0lDRVwiOiBcIlNlcnZpY2UgaW52b2ljZSBpc3N1YW5jZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5UUkFOU0ZFUl9DQU5DRUxfU0VSVklDRV9JTlZPSUNFXCI6IFwiU2VydmljZSBpbnZvaWNlIGNhbmNlbGxhdGlvblwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5SRU9QRU5fSU5WT0lDRV9GSVhBVElPTlwiOiBcIlJlb3BlbiBpbnZvaWNlIGZpeGF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNJREFTQ19JTlRFR1JBVElPTlwiOiBcIlNlbmQgdG8gQ2lkYXNjXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNJREFTQ19DQU5DRUxMQVRJT05cIjogXCJQcmVzY3JpcHRpb24gQ2FuY2VsbGF0aW9uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNJREFTQ19EQVRBX0xPQURfQ1VMVFVSRVwiOiBcIkNpZGFzYyBMb2FkIC0gQ3VsdHVyZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DSURBU0NfREFUQV9MT0FEX1BFU1RcIjogXCJDaWRhc2MgTG9hZCAtIFBlc3RcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0lEQVNDX0RBVEFfTE9BRF9QUk9EVUNUXCI6IFwiQ2lkYXNjIExvYWQgLSBQcm9kdWN0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNJREFTQ19EQVRBX0xPQURfTUVBU1VSRV9VTklUXCI6IFwiQ2lkYXNjIExvYWQgLSBVbml0IG9mIG1lYXN1cmVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0lEQVNDX0RBVEFfTE9BRF9DT01QT1NFRF9NRUFTVVJFX1VOSVRcIjogXCJDaWRhc2MgTG9hZCAtIE1lYXN1cmUgcGVyIGhlY3RhcmVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYWdyb25vbWljX3ByZXNjcmlwdGlvbl9vcmlnaW5fZXZlbnRcIjogXCJBZ3Jvbm9taWMgUHJlc2NyaXB0aW9uXCIsXHJcbn07XHJcbmV4cG9ydCBkZWZhdWx0IGVuVVM7XHJcbiJdfQ==