@litigiovirtual/ius-design-components 1.0.280 → 1.0.281

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.
@@ -70,7 +70,7 @@ export class CreateTicketComponent {
70
70
  });
71
71
  }
72
72
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateTicketComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CreateTicketComponent, isStandalone: true, selector: "ius-create-ticket", inputs: { tipos: "tipos", razones: "razones", loading: "loading", lastResult: "lastResult" }, outputs: { submitTicket: "submitTicket", closeForm: "closeForm" }, ngImport: i0, template: "<ius-drawer-container-right [titleDrawer]=\"'Crear Ticket'\" (onDrawerClosed)=\"onClose()\"\r\n [percentProgressBar]=\"percentProgressBar\">\r\n <div class=\"form between-xs\">\r\n <div class=\"content\">\r\n <ius-section-collapse-drawer-parent textTitle=\"Informaci\u00F3n general\" [disabled]=\"false\"\r\n [isActive]=\"isExpandGeneralInformation\" (buttonClicked)=\"onExpandGeneralInformation()\">\r\n <div class=\"section\">\r\n <div class=\"select\">\r\n <ius-input-select componentId=\"ticketType\" [required]=\"true\" [showHelpText]=\"true\" labelSuperior=\"Tipo de ticket\"\r\n labelInput=\"Selecciona una opci\u00F3n\" [textInput]=\"typeSelected?.tipo\">\r\n @for (type of tipos; track type) {\r\n <ius-option (optionClick)=\"onSetValueType(type)\">\r\n {{ type.tipo }}\r\n </ius-option>\r\n }\r\n </ius-input-select>\r\n </div>\r\n <div class=\"select\">\r\n <ius-input-select componentId=\"ticketReason\" [required]=\"true\" [showHelpText]=\"true\" labelSuperior=\"Raz\u00F3n del ticket\"\r\n labelInput=\"Selecciona una opci\u00F3n\" [textInput]=\"reasonSelected?.razon\">\r\n @for (reason of razones; track reason) {\r\n <ius-option (optionClick)=\"onSetValueReason(reason)\">\r\n {{ reason.razon }}\r\n </ius-option>\r\n }\r\n </ius-input-select>\r\n </div>\r\n <div class=\"select\">\r\n <ius-input-textfield componentId=\"tituloTicket\" [initialText]=\"tituloTicket\" [required]=\"true\" [showHelpText]=\"true\"\r\n labelSuperior=\"Titulo o asunto para el ticket\" labelInput=\"Defina brevemente un asunto o titulo\"\r\n (onChangesValueEvent)=\"onSetValueTituloTicket($event)\">\r\n </ius-input-textfield>\r\n </div>\r\n <div class=\"select\">\r\n <ius-input-large componentId=\"descripcionTicket\" [initialText]=\"descripcionTicket\" [required]=\"true\" [showHelpText]=\"true\"\r\n labelSuperior=\"Descripcion del ticket\" labelInput=\"Describe tu idea o petici\u00F3n para el ticket\"\r\n (onChangesValueEvent)=\"onSetValueDescripcionTicket($event)\">\r\n </ius-input-large>\r\n </div>\r\n </div>\r\n </ius-section-collapse-drawer-parent>\r\n </div>\r\n\r\n <div class=\"footer\">\r\n <div class=\"toolbar\">\r\n <div class=\"toolbar-btn\">\r\n <ius-button-dynamic [labelDefault]=\"'Crear ticket'\" [labelSuccess]=\"'Agregando'\" [labelError]=\"'Error'\"\r\n [loading]=\"loading\" [result]=\"lastResult\" (buttonClicked)=\"createTicket()\">\r\n </ius-button-dynamic>\r\n </div>\r\n <div class=\"toolbar-btn\">\r\n <ius-button-standard-secondary (buttonClicked)=\"onClose()\">Cancelar</ius-button-standard-secondary>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ius-drawer-container-right>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.form{display:flex;height:100%;flex-direction:column}.section{display:flex;padding:0 8px;flex-direction:column}.content{display:flex;flex-direction:column}.select{display:flex;padding:8px 16px;flex-direction:column;justify-content:center;gap:8px;align-self:stretch}.footer{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;flex:1 0 0;align-self:stretch}.toolbar{display:flex;padding:12px 16px;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;align-self:stretch}.toolbar-btn{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonDynamicComponent, selector: "ius-button-dynamic", inputs: ["labelDefault", "labelSuccess", "labelError", "disabled", "loading", "result", "autoReset", "autoResetDelay"], outputs: ["buttonClicked"] }, { kind: "component", type: ButtonStandardSecondaryComponent, selector: "ius-button-standard-secondary", inputs: ["disabled"], outputs: ["buttonClicked"] }, { kind: "component", type: DrawerContainerRightComponent, selector: "ius-drawer-container-right", inputs: ["titleDrawer", "percentProgressBar"], outputs: ["onPressedBackEvent", "onDrawerClosed"] }, { kind: "component", type: SectionCollapseDrawerParentComponent, selector: "ius-section-collapse-drawer-parent", inputs: ["isActive", "disabled", "textTitle", "iconName"], outputs: ["buttonClicked"] }, { kind: "component", type: InputSelectComponent, selector: "ius-input-select", inputs: ["componentId", "required", "disabled", "showHelpText", "error", "labelSuperior", "labelInferior", "errorText", "labelInput", "iconInput", "textInput", "maxlenght", "inputType"], outputs: ["onChangesValueEvent", "onEnterKey", "onBlurEvent"] }, { kind: "component", type: InputTextfieldComponent, selector: "ius-input-textfield", inputs: ["textInput", "required", "disabled", "isEnableClearText", "showHelpText", "error", "labelSuperior", "labelInferior", "errorText", "labelInput", "iconInput", "inputType", "maxlenght", "initialText", "isIconRight"], outputs: ["onChangesValueEvent", "onEnterKey", "onBlurEvent"] }, { kind: "component", type: OptionComponent, selector: "ius-option", inputs: ["disabled", "checked", "leadingIcon"], outputs: ["optionClick"] }, { kind: "component", type: InputLargeComponent, selector: "ius-input-large", inputs: ["textInput", "required", "disabled", "showHelpText", "rows", "error", "labelSuperior", "labelInferior", "errorText", "labelInput", "maxlenght", "initialText"], outputs: ["onChangesValueEvent", "onEnterKey", "onBlurEvent"] }] }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CreateTicketComponent, isStandalone: true, selector: "ius-create-ticket", inputs: { tipos: "tipos", razones: "razones", loading: "loading", lastResult: "lastResult" }, outputs: { submitTicket: "submitTicket", closeForm: "closeForm" }, ngImport: i0, template: "<ius-drawer-container-right [titleDrawer]=\"'Crear Ticket'\" (onDrawerClosed)=\"onClose()\"\n [percentProgressBar]=\"percentProgressBar\">\n <div class=\"form between-xs\">\n <div class=\"content\">\n <ius-section-collapse-drawer-parent textTitle=\"Informaci\u00F3n general\" [disabled]=\"false\"\n [isActive]=\"isExpandGeneralInformation\" (buttonClicked)=\"onExpandGeneralInformation()\">\n <div class=\"section\">\n <div class=\"select\">\n <ius-input-select componentId=\"ticketType\" [required]=\"true\" [showHelpText]=\"true\" labelSuperior=\"Tipo de ticket\"\n labelInput=\"Selecciona una opci\u00F3n\" [textInput]=\"typeSelected?.tipo\">\n @for (type of tipos; track type) {\n <ius-option (optionClick)=\"onSetValueType(type)\">\n {{ type.tipo }}\n </ius-option>\n }\n </ius-input-select>\n </div>\n <div class=\"select\">\n <ius-input-select componentId=\"ticketReason\" [required]=\"true\" [showHelpText]=\"true\" labelSuperior=\"Raz\u00F3n del ticket\"\n labelInput=\"Selecciona una opci\u00F3n\" [textInput]=\"reasonSelected?.razon\">\n @for (reason of razones; track reason) {\n <ius-option (optionClick)=\"onSetValueReason(reason)\">\n {{ reason.razon }}\n </ius-option>\n }\n </ius-input-select>\n </div>\n <div class=\"select\">\n <ius-input-textfield componentId=\"tituloTicket\" [initialText]=\"tituloTicket\" [required]=\"true\" [showHelpText]=\"true\"\n labelSuperior=\"Titulo o asunto para el ticket\" labelInput=\"Defina brevemente un asunto o titulo\"\n (onChangesValueEvent)=\"onSetValueTituloTicket($event)\">\n </ius-input-textfield>\n </div>\n <div class=\"select\">\n <ius-input-large componentId=\"descripcionTicket\" [initialText]=\"descripcionTicket\" [required]=\"true\" [showHelpText]=\"true\"\n labelSuperior=\"Descripcion del ticket\" labelInput=\"Describe tu idea o petici\u00F3n para el ticket\"\n (onChangesValueEvent)=\"onSetValueDescripcionTicket($event)\">\n </ius-input-large>\n </div>\n </div>\n </ius-section-collapse-drawer-parent>\n </div>\n\n <div class=\"footer\">\n <div class=\"toolbar\">\n <div class=\"toolbar-btn\">\n <ius-button-dynamic [labelDefault]=\"'Crear ticket'\" [labelSuccess]=\"'Agregando'\" [labelError]=\"'Error'\"\n [loading]=\"loading\" [result]=\"lastResult\" (buttonClicked)=\"createTicket()\">\n </ius-button-dynamic>\n </div>\n <div class=\"toolbar-btn\">\n <ius-button-standard-secondary (buttonClicked)=\"onClose()\">Cancelar</ius-button-standard-secondary>\n </div>\n </div>\n </div>\n </div>\n</ius-drawer-container-right>\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.form{display:flex;height:100%;flex-direction:column}.section{display:flex;padding:0 8px;flex-direction:column}.content{display:flex;flex-direction:column}.select{display:flex;padding:8px 16px;flex-direction:column;justify-content:center;gap:8px;align-self:stretch}.footer{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;flex:1 0 0;align-self:stretch}.toolbar{display:flex;padding:12px 16px;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;align-self:stretch}.toolbar-btn{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonDynamicComponent, selector: "ius-button-dynamic", inputs: ["labelDefault", "labelSuccess", "labelError", "disabled", "loading", "result", "autoReset", "autoResetDelay"], outputs: ["buttonClicked"] }, { kind: "component", type: ButtonStandardSecondaryComponent, selector: "ius-button-standard-secondary", inputs: ["disabled"], outputs: ["buttonClicked"] }, { kind: "component", type: DrawerContainerRightComponent, selector: "ius-drawer-container-right", inputs: ["titleDrawer", "percentProgressBar"], outputs: ["onPressedBackEvent", "onDrawerClosed"] }, { kind: "component", type: SectionCollapseDrawerParentComponent, selector: "ius-section-collapse-drawer-parent", inputs: ["isActive", "disabled", "textTitle", "iconName"], outputs: ["buttonClicked"] }, { kind: "component", type: InputSelectComponent, selector: "ius-input-select", inputs: ["componentId", "required", "disabled", "showHelpText", "error", "labelSuperior", "labelInferior", "errorText", "labelInput", "iconInput", "textInput", "maxlenght", "inputType"], outputs: ["onChangesValueEvent", "onEnterKey", "onBlurEvent"] }, { kind: "component", type: InputTextfieldComponent, selector: "ius-input-textfield", inputs: ["textInput", "required", "disabled", "isEnableClearText", "showHelpText", "error", "labelSuperior", "labelInferior", "errorText", "labelInput", "iconInput", "inputType", "maxlenght", "initialText", "isIconRight"], outputs: ["onChangesValueEvent", "onEnterKey", "onBlurEvent"] }, { kind: "component", type: OptionComponent, selector: "ius-option", inputs: ["disabled", "checked", "leadingIcon"], outputs: ["optionClick"] }, { kind: "component", type: InputLargeComponent, selector: "ius-input-large", inputs: ["textInput", "required", "disabled", "showHelpText", "rows", "error", "labelSuperior", "labelInferior", "errorText", "labelInput", "maxlenght", "initialText"], outputs: ["onChangesValueEvent", "onEnterKey", "onBlurEvent"] }] }); }
74
74
  }
75
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateTicketComponent, decorators: [{
76
76
  type: Component,
@@ -84,7 +84,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
84
84
  InputTextfieldComponent,
85
85
  OptionComponent,
86
86
  InputLargeComponent,
87
- ], template: "<ius-drawer-container-right [titleDrawer]=\"'Crear Ticket'\" (onDrawerClosed)=\"onClose()\"\r\n [percentProgressBar]=\"percentProgressBar\">\r\n <div class=\"form between-xs\">\r\n <div class=\"content\">\r\n <ius-section-collapse-drawer-parent textTitle=\"Informaci\u00F3n general\" [disabled]=\"false\"\r\n [isActive]=\"isExpandGeneralInformation\" (buttonClicked)=\"onExpandGeneralInformation()\">\r\n <div class=\"section\">\r\n <div class=\"select\">\r\n <ius-input-select componentId=\"ticketType\" [required]=\"true\" [showHelpText]=\"true\" labelSuperior=\"Tipo de ticket\"\r\n labelInput=\"Selecciona una opci\u00F3n\" [textInput]=\"typeSelected?.tipo\">\r\n @for (type of tipos; track type) {\r\n <ius-option (optionClick)=\"onSetValueType(type)\">\r\n {{ type.tipo }}\r\n </ius-option>\r\n }\r\n </ius-input-select>\r\n </div>\r\n <div class=\"select\">\r\n <ius-input-select componentId=\"ticketReason\" [required]=\"true\" [showHelpText]=\"true\" labelSuperior=\"Raz\u00F3n del ticket\"\r\n labelInput=\"Selecciona una opci\u00F3n\" [textInput]=\"reasonSelected?.razon\">\r\n @for (reason of razones; track reason) {\r\n <ius-option (optionClick)=\"onSetValueReason(reason)\">\r\n {{ reason.razon }}\r\n </ius-option>\r\n }\r\n </ius-input-select>\r\n </div>\r\n <div class=\"select\">\r\n <ius-input-textfield componentId=\"tituloTicket\" [initialText]=\"tituloTicket\" [required]=\"true\" [showHelpText]=\"true\"\r\n labelSuperior=\"Titulo o asunto para el ticket\" labelInput=\"Defina brevemente un asunto o titulo\"\r\n (onChangesValueEvent)=\"onSetValueTituloTicket($event)\">\r\n </ius-input-textfield>\r\n </div>\r\n <div class=\"select\">\r\n <ius-input-large componentId=\"descripcionTicket\" [initialText]=\"descripcionTicket\" [required]=\"true\" [showHelpText]=\"true\"\r\n labelSuperior=\"Descripcion del ticket\" labelInput=\"Describe tu idea o petici\u00F3n para el ticket\"\r\n (onChangesValueEvent)=\"onSetValueDescripcionTicket($event)\">\r\n </ius-input-large>\r\n </div>\r\n </div>\r\n </ius-section-collapse-drawer-parent>\r\n </div>\r\n\r\n <div class=\"footer\">\r\n <div class=\"toolbar\">\r\n <div class=\"toolbar-btn\">\r\n <ius-button-dynamic [labelDefault]=\"'Crear ticket'\" [labelSuccess]=\"'Agregando'\" [labelError]=\"'Error'\"\r\n [loading]=\"loading\" [result]=\"lastResult\" (buttonClicked)=\"createTicket()\">\r\n </ius-button-dynamic>\r\n </div>\r\n <div class=\"toolbar-btn\">\r\n <ius-button-standard-secondary (buttonClicked)=\"onClose()\">Cancelar</ius-button-standard-secondary>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ius-drawer-container-right>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.form{display:flex;height:100%;flex-direction:column}.section{display:flex;padding:0 8px;flex-direction:column}.content{display:flex;flex-direction:column}.select{display:flex;padding:8px 16px;flex-direction:column;justify-content:center;gap:8px;align-self:stretch}.footer{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;flex:1 0 0;align-self:stretch}.toolbar{display:flex;padding:12px 16px;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;align-self:stretch}.toolbar-btn{width:100%}\n"] }]
87
+ ], template: "<ius-drawer-container-right [titleDrawer]=\"'Crear Ticket'\" (onDrawerClosed)=\"onClose()\"\n [percentProgressBar]=\"percentProgressBar\">\n <div class=\"form between-xs\">\n <div class=\"content\">\n <ius-section-collapse-drawer-parent textTitle=\"Informaci\u00F3n general\" [disabled]=\"false\"\n [isActive]=\"isExpandGeneralInformation\" (buttonClicked)=\"onExpandGeneralInformation()\">\n <div class=\"section\">\n <div class=\"select\">\n <ius-input-select componentId=\"ticketType\" [required]=\"true\" [showHelpText]=\"true\" labelSuperior=\"Tipo de ticket\"\n labelInput=\"Selecciona una opci\u00F3n\" [textInput]=\"typeSelected?.tipo\">\n @for (type of tipos; track type) {\n <ius-option (optionClick)=\"onSetValueType(type)\">\n {{ type.tipo }}\n </ius-option>\n }\n </ius-input-select>\n </div>\n <div class=\"select\">\n <ius-input-select componentId=\"ticketReason\" [required]=\"true\" [showHelpText]=\"true\" labelSuperior=\"Raz\u00F3n del ticket\"\n labelInput=\"Selecciona una opci\u00F3n\" [textInput]=\"reasonSelected?.razon\">\n @for (reason of razones; track reason) {\n <ius-option (optionClick)=\"onSetValueReason(reason)\">\n {{ reason.razon }}\n </ius-option>\n }\n </ius-input-select>\n </div>\n <div class=\"select\">\n <ius-input-textfield componentId=\"tituloTicket\" [initialText]=\"tituloTicket\" [required]=\"true\" [showHelpText]=\"true\"\n labelSuperior=\"Titulo o asunto para el ticket\" labelInput=\"Defina brevemente un asunto o titulo\"\n (onChangesValueEvent)=\"onSetValueTituloTicket($event)\">\n </ius-input-textfield>\n </div>\n <div class=\"select\">\n <ius-input-large componentId=\"descripcionTicket\" [initialText]=\"descripcionTicket\" [required]=\"true\" [showHelpText]=\"true\"\n labelSuperior=\"Descripcion del ticket\" labelInput=\"Describe tu idea o petici\u00F3n para el ticket\"\n (onChangesValueEvent)=\"onSetValueDescripcionTicket($event)\">\n </ius-input-large>\n </div>\n </div>\n </ius-section-collapse-drawer-parent>\n </div>\n\n <div class=\"footer\">\n <div class=\"toolbar\">\n <div class=\"toolbar-btn\">\n <ius-button-dynamic [labelDefault]=\"'Crear ticket'\" [labelSuccess]=\"'Agregando'\" [labelError]=\"'Error'\"\n [loading]=\"loading\" [result]=\"lastResult\" (buttonClicked)=\"createTicket()\">\n </ius-button-dynamic>\n </div>\n <div class=\"toolbar-btn\">\n <ius-button-standard-secondary (buttonClicked)=\"onClose()\">Cancelar</ius-button-standard-secondary>\n </div>\n </div>\n </div>\n </div>\n</ius-drawer-container-right>\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.form{display:flex;height:100%;flex-direction:column}.section{display:flex;padding:0 8px;flex-direction:column}.content{display:flex;flex-direction:column}.select{display:flex;padding:8px 16px;flex-direction:column;justify-content:center;gap:8px;align-self:stretch}.footer{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;flex:1 0 0;align-self:stretch}.toolbar{display:flex;padding:12px 16px;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;align-self:stretch}.toolbar-btn{width:100%}\n"] }]
88
88
  }], propDecorators: { tipos: [{
89
89
  type: Input
90
90
  }], razones: [{
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
98
98
  }], closeForm: [{
99
99
  type: Output
100
100
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRpY2tldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9jcmVhdGUtdGlja2V0L2NyZWF0ZS10aWNrZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvY3JlYXRlLXRpY2tldC9jcmVhdGUtdGlja2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBZ0IsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUNwSCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBb0IzRTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFrQkgsTUFBTSxPQUFPLHFCQUFxQjtJQWpCbEM7UUFtQlcsVUFBSyxHQUFpQixFQUFFLENBQUM7UUFDekIsWUFBTyxHQUFrQixFQUFFLENBQUM7UUFDNUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUNsQyxrRUFBa0U7UUFDbEUsOERBQThEO1FBQ3JELGVBQVUsR0FBaUIsU0FBUyxDQUFDO1FBRXBDLGlCQUFZLEdBQTRDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0UsY0FBUyxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdELGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztRQUkvQix1QkFBa0IsR0FBRyxHQUFHLENBQUM7UUFDekIsK0JBQTBCLEdBQUcsSUFBSSxDQUFDO0tBc0NuQztJQXBDQyxPQUFPO1FBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUM7SUFDekMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFpQjtRQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBa0I7UUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQVU7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELDJCQUEyQixDQUFDLEtBQVU7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ25DLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDbkMsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtTQUN2QyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXZEVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw4T0M5RGxDLHNpR0F5REEsbWpFRFJJLFlBQVksK0JBQ1osc0JBQXNCLG1OQUN0QixnQ0FBZ0MsNEhBQ2hDLDZCQUE2Qix5S0FDN0Isb0NBQW9DLHNLQUNwQyxvQkFBb0IsdVRBQ3BCLHVCQUF1Qiw4VkFDdkIsZUFBZSxpSUFDZixtQkFBbUI7OzRGQUtWLHFCQUFxQjtrQkFqQmpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLHNCQUFzQjt3QkFDdEIsZ0NBQWdDO3dCQUNoQyw2QkFBNkI7d0JBQzdCLG9DQUFvQzt3QkFDcEMsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLGVBQWU7d0JBQ2YsbUJBQW1CO3FCQUNwQjs4QkFNUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEJ1dHRvbkR5bmFtaWNDb21wb25lbnQsIEJ1dHRvblJlc3VsdCB9IGZyb20gJy4uL2J1dHRvbi1keW5hbWljL2J1dHRvbi1keW5hbWljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvblN0YW5kYXJkU2Vjb25kYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uLXN0YW5kYXJkLXNlY29uZGFyeS9idXR0b24tc3RhbmRhcmQtc2Vjb25kYXJ5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyYXdlckNvbnRhaW5lclJpZ2h0Q29tcG9uZW50IH0gZnJvbSAnLi4vZHJhd2VyLWNvbnRhaW5lci1yaWdodC9kcmF3ZXItY29udGFpbmVyLXJpZ2h0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlY3Rpb25Db2xsYXBzZURyYXdlclBhcmVudENvbXBvbmVudCB9IGZyb20gJy4uL3NlY3Rpb24tY29sbGFwc2UtZHJhd2VyLXBhcmVudC9zZWN0aW9uLWNvbGxhcHNlLWRyYXdlci1wYXJlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXRTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1zZWxlY3QvaW5wdXQtc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElucHV0VGV4dGZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQtdGV4dGZpZWxkL2lucHV0LXRleHRmaWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElucHV0TGFyZ2VDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1sYXJnZS9pbnB1dC1sYXJnZS5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaXBvVGlja2V0IHtcclxuICBpZD86IG51bWJlcjtcclxuICB0aXBvPzogc3RyaW5nO1xyXG4gIGNudFRpcG9UaWNrZXQ/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmF6b25UaWNrZXQge1xyXG4gIGlkPzogbnVtYmVyO1xyXG4gIHJhem9uPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVRpY2tldFN1Ym1pdFBheWxvYWQge1xyXG4gIHRpdHVsbzogc3RyaW5nO1xyXG4gIGRlc2NyaXBjaW9uOiBzdHJpbmc7XHJcbiAgdGlwb1RpY2tldElEPzogbnVtYmVyO1xyXG4gIHJhem9uVGlja2V0SUQ/OiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEdW1iIGNvbXBvbmVudC4gU29sbyBVSSBkZWwgZHJhd2VyIFwiQ3JlYXIgVGlja2V0XCIuXHJcbiAqXHJcbiAqIEFwcCBwYWRyZSBwcm92ZWUgdGlwb3MvcmF6b25lcyAocXVlIHZpZW5lbiBkZSBzdSBBUEkpLCByZWNpYmUgZWwgZXZlbnRvXHJcbiAqIHN1Ym1pdFRpY2tldCBjb24gZWwgcGF5bG9hZCwgeSBtYW5lamEgZWwgbG9hZGluZyArIHJlc3VsdGFkby5cclxuICpcclxuICogVXNvOlxyXG4gKiAgIDxpdXMtY3JlYXRlLXRpY2tldFxyXG4gKiAgICAgW3RpcG9zXT1cInRpY2tldFR5cGVzXCJcclxuICogICAgIFtyYXpvbmVzXT1cInRpY2tldFJlYXNvbnNcIlxyXG4gKiAgICAgW2xvYWRpbmddPVwiY3JlYXRpbmdUaWNrZXRcIlxyXG4gKiAgICAgW2xhc3RSZXN1bHRdPVwidGlja2V0UmVzdWx0XCJcclxuICogICAgIChzdWJtaXRUaWNrZXQpPVwiaGFuZGxlQ3JlYXRlVGlja2V0KCRldmVudClcIlxyXG4gKiAgICAgKGNsb3NlRm9ybSk9XCJhZGRUaWNrZXQgPSBmYWxzZVwiPlxyXG4gKiAgIDwvaXVzLWNyZWF0ZS10aWNrZXQ+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2l1cy1jcmVhdGUtdGlja2V0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEJ1dHRvbkR5bmFtaWNDb21wb25lbnQsXHJcbiAgICBCdXR0b25TdGFuZGFyZFNlY29uZGFyeUNvbXBvbmVudCxcclxuICAgIERyYXdlckNvbnRhaW5lclJpZ2h0Q29tcG9uZW50LFxyXG4gICAgU2VjdGlvbkNvbGxhcHNlRHJhd2VyUGFyZW50Q29tcG9uZW50LFxyXG4gICAgSW5wdXRTZWxlY3RDb21wb25lbnQsXHJcbiAgICBJbnB1dFRleHRmaWVsZENvbXBvbmVudCxcclxuICAgIE9wdGlvbkNvbXBvbmVudCxcclxuICAgIElucHV0TGFyZ2VDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLXRpY2tldC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NyZWF0ZS10aWNrZXQuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVUaWNrZXRDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSB0aXBvczogVGlwb1RpY2tldFtdID0gW107XHJcbiAgQElucHV0KCkgcmF6b25lczogUmF6b25UaWNrZXRbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvLyBEZWZhdWx0IHVuZGVmaW5lZCA9IGJvdMOzbiBlbiBlc3RhZG8gbmV1dHJhbCBhbCBhYnJpciBlbCBkcmF3ZXIuXHJcbiAgLy8gU2Ugc2V0ZWEgYSAnc3VjY2VzcycgbyAnZXJyb3InIHNvbG8gdHJhcyByZXNwdWVzdGEgZGVsIEFQSS5cclxuICBASW5wdXQoKSBsYXN0UmVzdWx0OiBCdXR0b25SZXN1bHQgPSB1bmRlZmluZWQ7XHJcblxyXG4gIEBPdXRwdXQoKSBzdWJtaXRUaWNrZXQ6IEV2ZW50RW1pdHRlcjxDcmVhdGVUaWNrZXRTdWJtaXRQYXlsb2FkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VGb3JtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHRpdHVsb1RpY2tldDogc3RyaW5nID0gJyc7XHJcbiAgZGVzY3JpcGNpb25UaWNrZXQ6IHN0cmluZyA9ICcnO1xyXG4gIHR5cGVTZWxlY3RlZD86IFRpcG9UaWNrZXQ7XHJcbiAgcmVhc29uU2VsZWN0ZWQ/OiBSYXpvblRpY2tldDtcclxuXHJcbiAgcGVyY2VudFByb2dyZXNzQmFyID0gMTAwO1xyXG4gIGlzRXhwYW5kR2VuZXJhbEluZm9ybWF0aW9uID0gdHJ1ZTtcclxuXHJcbiAgb25DbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VGb3JtLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uRXhwYW5kR2VuZXJhbEluZm9ybWF0aW9uKCkge1xyXG4gICAgdGhpcy5pc0V4cGFuZEdlbmVyYWxJbmZvcm1hdGlvbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvblNldFZhbHVlVHlwZShldmVudDogVGlwb1RpY2tldCkge1xyXG4gICAgdGhpcy50eXBlU2VsZWN0ZWQgPSBldmVudDtcclxuICB9XHJcblxyXG4gIG9uU2V0VmFsdWVSZWFzb24oZXZlbnQ6IFJhem9uVGlja2V0KSB7XHJcbiAgICB0aGlzLnJlYXNvblNlbGVjdGVkID0gZXZlbnQ7XHJcbiAgfVxyXG5cclxuICBvblNldFZhbHVlVGl0dWxvVGlja2V0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMudGl0dWxvVGlja2V0ID0gZXZlbnQ7XHJcbiAgfVxyXG5cclxuICBvblNldFZhbHVlRGVzY3JpcGNpb25UaWNrZXQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5kZXNjcmlwY2lvblRpY2tldCA9IGV2ZW50O1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlVGlja2V0KCkge1xyXG4gICAgaWYgKHRoaXMubG9hZGluZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJtaXRUaWNrZXQuZW1pdCh7XHJcbiAgICAgIHRpdHVsbzogdGhpcy50aXR1bG9UaWNrZXQsXHJcbiAgICAgIGRlc2NyaXBjaW9uOiB0aGlzLmRlc2NyaXBjaW9uVGlja2V0LFxyXG4gICAgICB0aXBvVGlja2V0SUQ6IHRoaXMudHlwZVNlbGVjdGVkPy5pZCxcclxuICAgICAgcmF6b25UaWNrZXRJRDogdGhpcy5yZWFzb25TZWxlY3RlZD8uaWQsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGl1cy1kcmF3ZXItY29udGFpbmVyLXJpZ2h0IFt0aXRsZURyYXdlcl09XCInQ3JlYXIgVGlja2V0J1wiIChvbkRyYXdlckNsb3NlZCk9XCJvbkNsb3NlKClcIlxyXG4gIFtwZXJjZW50UHJvZ3Jlc3NCYXJdPVwicGVyY2VudFByb2dyZXNzQmFyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm0gYmV0d2Vlbi14c1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cclxuICAgICAgPGl1cy1zZWN0aW9uLWNvbGxhcHNlLWRyYXdlci1wYXJlbnQgdGV4dFRpdGxlPVwiSW5mb3JtYWNpw7NuIGdlbmVyYWxcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgIFtpc0FjdGl2ZV09XCJpc0V4cGFuZEdlbmVyYWxJbmZvcm1hdGlvblwiIChidXR0b25DbGlja2VkKT1cIm9uRXhwYW5kR2VuZXJhbEluZm9ybWF0aW9uKClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdFwiPlxyXG4gICAgICAgICAgICA8aXVzLWlucHV0LXNlbGVjdCBjb21wb25lbnRJZD1cInRpY2tldFR5cGVcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiIFtzaG93SGVscFRleHRdPVwidHJ1ZVwiIGxhYmVsU3VwZXJpb3I9XCJUaXBvIGRlIHRpY2tldFwiXHJcbiAgICAgICAgICAgICAgbGFiZWxJbnB1dD1cIlNlbGVjY2lvbmEgdW5hIG9wY2nDs25cIiBbdGV4dElucHV0XT1cInR5cGVTZWxlY3RlZD8udGlwb1wiPlxyXG4gICAgICAgICAgICAgIEBmb3IgKHR5cGUgb2YgdGlwb3M7IHRyYWNrIHR5cGUpIHtcclxuICAgICAgICAgICAgICA8aXVzLW9wdGlvbiAob3B0aW9uQ2xpY2spPVwib25TZXRWYWx1ZVR5cGUodHlwZSlcIj5cclxuICAgICAgICAgICAgICAgIHt7IHR5cGUudGlwbyB9fVxyXG4gICAgICAgICAgICAgIDwvaXVzLW9wdGlvbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvaXVzLWlucHV0LXNlbGVjdD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdFwiPlxyXG4gICAgICAgICAgICA8aXVzLWlucHV0LXNlbGVjdCBjb21wb25lbnRJZD1cInRpY2tldFJlYXNvblwiIFtyZXF1aXJlZF09XCJ0cnVlXCIgW3Nob3dIZWxwVGV4dF09XCJ0cnVlXCIgbGFiZWxTdXBlcmlvcj1cIlJhesOzbiBkZWwgdGlja2V0XCJcclxuICAgICAgICAgICAgICBsYWJlbElucHV0PVwiU2VsZWNjaW9uYSB1bmEgb3BjacOzblwiIFt0ZXh0SW5wdXRdPVwicmVhc29uU2VsZWN0ZWQ/LnJhem9uXCI+XHJcbiAgICAgICAgICAgICAgQGZvciAocmVhc29uIG9mIHJhem9uZXM7IHRyYWNrIHJlYXNvbikge1xyXG4gICAgICAgICAgICAgIDxpdXMtb3B0aW9uIChvcHRpb25DbGljayk9XCJvblNldFZhbHVlUmVhc29uKHJlYXNvbilcIj5cclxuICAgICAgICAgICAgICAgIHt7IHJlYXNvbi5yYXpvbiB9fVxyXG4gICAgICAgICAgICAgIDwvaXVzLW9wdGlvbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvaXVzLWlucHV0LXNlbGVjdD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdFwiPlxyXG4gICAgICAgICAgICA8aXVzLWlucHV0LXRleHRmaWVsZCBjb21wb25lbnRJZD1cInRpdHVsb1RpY2tldFwiIFtpbml0aWFsVGV4dF09XCJ0aXR1bG9UaWNrZXRcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiIFtzaG93SGVscFRleHRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgbGFiZWxTdXBlcmlvcj1cIlRpdHVsbyBvIGFzdW50byBwYXJhIGVsIHRpY2tldFwiIGxhYmVsSW5wdXQ9XCJEZWZpbmEgYnJldmVtZW50ZSB1biBhc3VudG8gbyB0aXR1bG9cIlxyXG4gICAgICAgICAgICAgIChvbkNoYW5nZXNWYWx1ZUV2ZW50KT1cIm9uU2V0VmFsdWVUaXR1bG9UaWNrZXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8L2l1cy1pbnB1dC10ZXh0ZmllbGQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RcIj5cclxuICAgICAgICAgICAgPGl1cy1pbnB1dC1sYXJnZSBjb21wb25lbnRJZD1cImRlc2NyaXBjaW9uVGlja2V0XCIgW2luaXRpYWxUZXh0XT1cImRlc2NyaXBjaW9uVGlja2V0XCIgW3JlcXVpcmVkXT1cInRydWVcIiBbc2hvd0hlbHBUZXh0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIGxhYmVsU3VwZXJpb3I9XCJEZXNjcmlwY2lvbiBkZWwgdGlja2V0XCIgbGFiZWxJbnB1dD1cIkRlc2NyaWJlIHR1IGlkZWEgbyBwZXRpY2nDs24gcGFyYSBlbCB0aWNrZXRcIlxyXG4gICAgICAgICAgICAgIChvbkNoYW5nZXNWYWx1ZUV2ZW50KT1cIm9uU2V0VmFsdWVEZXNjcmlwY2lvblRpY2tldCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDwvaXVzLWlucHV0LWxhcmdlPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvaXVzLXNlY3Rpb24tY29sbGFwc2UtZHJhd2VyLXBhcmVudD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRvb2xiYXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbGJhci1idG5cIj5cclxuICAgICAgICAgIDxpdXMtYnV0dG9uLWR5bmFtaWMgW2xhYmVsRGVmYXVsdF09XCInQ3JlYXIgdGlja2V0J1wiIFtsYWJlbFN1Y2Nlc3NdPVwiJ0FncmVnYW5kbydcIiBbbGFiZWxFcnJvcl09XCInRXJyb3InXCJcclxuICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiIFtyZXN1bHRdPVwibGFzdFJlc3VsdFwiIChidXR0b25DbGlja2VkKT1cImNyZWF0ZVRpY2tldCgpXCI+XHJcbiAgICAgICAgICA8L2l1cy1idXR0b24tZHluYW1pYz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbGJhci1idG5cIj5cclxuICAgICAgICAgIDxpdXMtYnV0dG9uLXN0YW5kYXJkLXNlY29uZGFyeSAoYnV0dG9uQ2xpY2tlZCk9XCJvbkNsb3NlKClcIj5DYW5jZWxhcjwvaXVzLWJ1dHRvbi1zdGFuZGFyZC1zZWNvbmRhcnk+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvaXVzLWRyYXdlci1jb250YWluZXItcmlnaHQ+XHJcbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRpY2tldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9jcmVhdGUtdGlja2V0L2NyZWF0ZS10aWNrZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvY3JlYXRlLXRpY2tldC9jcmVhdGUtdGlja2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBZ0IsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUNwSCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBb0IzRTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFrQkgsTUFBTSxPQUFPLHFCQUFxQjtJQWpCbEM7UUFtQlcsVUFBSyxHQUFpQixFQUFFLENBQUM7UUFDekIsWUFBTyxHQUFrQixFQUFFLENBQUM7UUFDNUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUNsQyxrRUFBa0U7UUFDbEUsOERBQThEO1FBQ3JELGVBQVUsR0FBaUIsU0FBUyxDQUFDO1FBRXBDLGlCQUFZLEdBQTRDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0UsY0FBUyxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdELGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztRQUkvQix1QkFBa0IsR0FBRyxHQUFHLENBQUM7UUFDekIsK0JBQTBCLEdBQUcsSUFBSSxDQUFDO0tBc0NuQztJQXBDQyxPQUFPO1FBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUM7SUFDekMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFpQjtRQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBa0I7UUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQVU7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELDJCQUEyQixDQUFDLEtBQVU7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ25DLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDbkMsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtTQUN2QyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXZEVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw4T0M5RGxDLG83RkF5REEsbWpFRFJJLFlBQVksK0JBQ1osc0JBQXNCLG1OQUN0QixnQ0FBZ0MsNEhBQ2hDLDZCQUE2Qix5S0FDN0Isb0NBQW9DLHNLQUNwQyxvQkFBb0IsdVRBQ3BCLHVCQUF1Qiw4VkFDdkIsZUFBZSxpSUFDZixtQkFBbUI7OzRGQUtWLHFCQUFxQjtrQkFqQmpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLHNCQUFzQjt3QkFDdEIsZ0NBQWdDO3dCQUNoQyw2QkFBNkI7d0JBQzdCLG9DQUFvQzt3QkFDcEMsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLGVBQWU7d0JBQ2YsbUJBQW1CO3FCQUNwQjs4QkFNUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnV0dG9uRHluYW1pY0NvbXBvbmVudCwgQnV0dG9uUmVzdWx0IH0gZnJvbSAnLi4vYnV0dG9uLWR5bmFtaWMvYnV0dG9uLWR5bmFtaWMuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvblN0YW5kYXJkU2Vjb25kYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uLXN0YW5kYXJkLXNlY29uZGFyeS9idXR0b24tc3RhbmRhcmQtc2Vjb25kYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcmF3ZXJDb250YWluZXJSaWdodENvbXBvbmVudCB9IGZyb20gJy4uL2RyYXdlci1jb250YWluZXItcmlnaHQvZHJhd2VyLWNvbnRhaW5lci1yaWdodC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VjdGlvbkNvbGxhcHNlRHJhd2VyUGFyZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vc2VjdGlvbi1jb2xsYXBzZS1kcmF3ZXItcGFyZW50L3NlY3Rpb24tY29sbGFwc2UtZHJhd2VyLXBhcmVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1zZWxlY3QvaW5wdXQtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dFRleHRmaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LXRleHRmaWVsZC9pbnB1dC10ZXh0ZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL29wdGlvbi9vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0TGFyZ2VDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1sYXJnZS9pbnB1dC1sYXJnZS5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRpcG9UaWNrZXQge1xuICBpZD86IG51bWJlcjtcbiAgdGlwbz86IHN0cmluZztcbiAgY250VGlwb1RpY2tldD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSYXpvblRpY2tldCB7XG4gIGlkPzogbnVtYmVyO1xuICByYXpvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVUaWNrZXRTdWJtaXRQYXlsb2FkIHtcbiAgdGl0dWxvOiBzdHJpbmc7XG4gIGRlc2NyaXBjaW9uOiBzdHJpbmc7XG4gIHRpcG9UaWNrZXRJRD86IG51bWJlcjtcbiAgcmF6b25UaWNrZXRJRD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBEdW1iIGNvbXBvbmVudC4gU29sbyBVSSBkZWwgZHJhd2VyIFwiQ3JlYXIgVGlja2V0XCIuXG4gKlxuICogQXBwIHBhZHJlIHByb3ZlZSB0aXBvcy9yYXpvbmVzIChxdWUgdmllbmVuIGRlIHN1IEFQSSksIHJlY2liZSBlbCBldmVudG9cbiAqIHN1Ym1pdFRpY2tldCBjb24gZWwgcGF5bG9hZCwgeSBtYW5lamEgZWwgbG9hZGluZyArIHJlc3VsdGFkby5cbiAqXG4gKiBVc286XG4gKiAgIDxpdXMtY3JlYXRlLXRpY2tldFxuICogICAgIFt0aXBvc109XCJ0aWNrZXRUeXBlc1wiXG4gKiAgICAgW3Jhem9uZXNdPVwidGlja2V0UmVhc29uc1wiXG4gKiAgICAgW2xvYWRpbmddPVwiY3JlYXRpbmdUaWNrZXRcIlxuICogICAgIFtsYXN0UmVzdWx0XT1cInRpY2tldFJlc3VsdFwiXG4gKiAgICAgKHN1Ym1pdFRpY2tldCk9XCJoYW5kbGVDcmVhdGVUaWNrZXQoJGV2ZW50KVwiXG4gKiAgICAgKGNsb3NlRm9ybSk9XCJhZGRUaWNrZXQgPSBmYWxzZVwiPlxuICogICA8L2l1cy1jcmVhdGUtdGlja2V0PlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpdXMtY3JlYXRlLXRpY2tldCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnV0dG9uRHluYW1pY0NvbXBvbmVudCxcbiAgICBCdXR0b25TdGFuZGFyZFNlY29uZGFyeUNvbXBvbmVudCxcbiAgICBEcmF3ZXJDb250YWluZXJSaWdodENvbXBvbmVudCxcbiAgICBTZWN0aW9uQ29sbGFwc2VEcmF3ZXJQYXJlbnRDb21wb25lbnQsXG4gICAgSW5wdXRTZWxlY3RDb21wb25lbnQsXG4gICAgSW5wdXRUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgT3B0aW9uQ29tcG9uZW50LFxuICAgIElucHV0TGFyZ2VDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtdGlja2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NyZWF0ZS10aWNrZXQuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIENyZWF0ZVRpY2tldENvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgdGlwb3M6IFRpcG9UaWNrZXRbXSA9IFtdO1xuICBASW5wdXQoKSByYXpvbmVzOiBSYXpvblRpY2tldFtdID0gW107XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLy8gRGVmYXVsdCB1bmRlZmluZWQgPSBib3TDs24gZW4gZXN0YWRvIG5ldXRyYWwgYWwgYWJyaXIgZWwgZHJhd2VyLlxuICAvLyBTZSBzZXRlYSBhICdzdWNjZXNzJyBvICdlcnJvcicgc29sbyB0cmFzIHJlc3B1ZXN0YSBkZWwgQVBJLlxuICBASW5wdXQoKSBsYXN0UmVzdWx0OiBCdXR0b25SZXN1bHQgPSB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpIHN1Ym1pdFRpY2tldDogRXZlbnRFbWl0dGVyPENyZWF0ZVRpY2tldFN1Ym1pdFBheWxvYWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2xvc2VGb3JtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgdGl0dWxvVGlja2V0OiBzdHJpbmcgPSAnJztcbiAgZGVzY3JpcGNpb25UaWNrZXQ6IHN0cmluZyA9ICcnO1xuICB0eXBlU2VsZWN0ZWQ/OiBUaXBvVGlja2V0O1xuICByZWFzb25TZWxlY3RlZD86IFJhem9uVGlja2V0O1xuXG4gIHBlcmNlbnRQcm9ncmVzc0JhciA9IDEwMDtcbiAgaXNFeHBhbmRHZW5lcmFsSW5mb3JtYXRpb24gPSB0cnVlO1xuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZUZvcm0uZW1pdCgpO1xuICB9XG5cbiAgb25FeHBhbmRHZW5lcmFsSW5mb3JtYXRpb24oKSB7XG4gICAgdGhpcy5pc0V4cGFuZEdlbmVyYWxJbmZvcm1hdGlvbiA9IHRydWU7XG4gIH1cblxuICBvblNldFZhbHVlVHlwZShldmVudDogVGlwb1RpY2tldCkge1xuICAgIHRoaXMudHlwZVNlbGVjdGVkID0gZXZlbnQ7XG4gIH1cblxuICBvblNldFZhbHVlUmVhc29uKGV2ZW50OiBSYXpvblRpY2tldCkge1xuICAgIHRoaXMucmVhc29uU2VsZWN0ZWQgPSBldmVudDtcbiAgfVxuXG4gIG9uU2V0VmFsdWVUaXR1bG9UaWNrZXQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudGl0dWxvVGlja2V0ID0gZXZlbnQ7XG4gIH1cblxuICBvblNldFZhbHVlRGVzY3JpcGNpb25UaWNrZXQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZGVzY3JpcGNpb25UaWNrZXQgPSBldmVudDtcbiAgfVxuXG4gIGNyZWF0ZVRpY2tldCgpIHtcbiAgICBpZiAodGhpcy5sb2FkaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdWJtaXRUaWNrZXQuZW1pdCh7XG4gICAgICB0aXR1bG86IHRoaXMudGl0dWxvVGlja2V0LFxuICAgICAgZGVzY3JpcGNpb246IHRoaXMuZGVzY3JpcGNpb25UaWNrZXQsXG4gICAgICB0aXBvVGlja2V0SUQ6IHRoaXMudHlwZVNlbGVjdGVkPy5pZCxcbiAgICAgIHJhem9uVGlja2V0SUQ6IHRoaXMucmVhc29uU2VsZWN0ZWQ/LmlkLFxuICAgIH0pO1xuICB9XG59XG4iLCI8aXVzLWRyYXdlci1jb250YWluZXItcmlnaHQgW3RpdGxlRHJhd2VyXT1cIidDcmVhciBUaWNrZXQnXCIgKG9uRHJhd2VyQ2xvc2VkKT1cIm9uQ2xvc2UoKVwiXG4gIFtwZXJjZW50UHJvZ3Jlc3NCYXJdPVwicGVyY2VudFByb2dyZXNzQmFyXCI+XG4gIDxkaXYgY2xhc3M9XCJmb3JtIGJldHdlZW4teHNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgPGl1cy1zZWN0aW9uLWNvbGxhcHNlLWRyYXdlci1wYXJlbnQgdGV4dFRpdGxlPVwiSW5mb3JtYWNpw7NuIGdlbmVyYWxcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICBbaXNBY3RpdmVdPVwiaXNFeHBhbmRHZW5lcmFsSW5mb3JtYXRpb25cIiAoYnV0dG9uQ2xpY2tlZCk9XCJvbkV4cGFuZEdlbmVyYWxJbmZvcm1hdGlvbigpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdFwiPlxuICAgICAgICAgICAgPGl1cy1pbnB1dC1zZWxlY3QgY29tcG9uZW50SWQ9XCJ0aWNrZXRUeXBlXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbc2hvd0hlbHBUZXh0XT1cInRydWVcIiBsYWJlbFN1cGVyaW9yPVwiVGlwbyBkZSB0aWNrZXRcIlxuICAgICAgICAgICAgICBsYWJlbElucHV0PVwiU2VsZWNjaW9uYSB1bmEgb3BjacOzblwiIFt0ZXh0SW5wdXRdPVwidHlwZVNlbGVjdGVkPy50aXBvXCI+XG4gICAgICAgICAgICAgIEBmb3IgKHR5cGUgb2YgdGlwb3M7IHRyYWNrIHR5cGUpIHtcbiAgICAgICAgICAgICAgPGl1cy1vcHRpb24gKG9wdGlvbkNsaWNrKT1cIm9uU2V0VmFsdWVUeXBlKHR5cGUpXCI+XG4gICAgICAgICAgICAgICAge3sgdHlwZS50aXBvIH19XG4gICAgICAgICAgICAgIDwvaXVzLW9wdGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9pdXMtaW5wdXQtc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RcIj5cbiAgICAgICAgICAgIDxpdXMtaW5wdXQtc2VsZWN0IGNvbXBvbmVudElkPVwidGlja2V0UmVhc29uXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbc2hvd0hlbHBUZXh0XT1cInRydWVcIiBsYWJlbFN1cGVyaW9yPVwiUmF6w7NuIGRlbCB0aWNrZXRcIlxuICAgICAgICAgICAgICBsYWJlbElucHV0PVwiU2VsZWNjaW9uYSB1bmEgb3BjacOzblwiIFt0ZXh0SW5wdXRdPVwicmVhc29uU2VsZWN0ZWQ/LnJhem9uXCI+XG4gICAgICAgICAgICAgIEBmb3IgKHJlYXNvbiBvZiByYXpvbmVzOyB0cmFjayByZWFzb24pIHtcbiAgICAgICAgICAgICAgPGl1cy1vcHRpb24gKG9wdGlvbkNsaWNrKT1cIm9uU2V0VmFsdWVSZWFzb24ocmVhc29uKVwiPlxuICAgICAgICAgICAgICAgIHt7IHJlYXNvbi5yYXpvbiB9fVxuICAgICAgICAgICAgICA8L2l1cy1vcHRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvaXVzLWlucHV0LXNlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0XCI+XG4gICAgICAgICAgICA8aXVzLWlucHV0LXRleHRmaWVsZCBjb21wb25lbnRJZD1cInRpdHVsb1RpY2tldFwiIFtpbml0aWFsVGV4dF09XCJ0aXR1bG9UaWNrZXRcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiIFtzaG93SGVscFRleHRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGxhYmVsU3VwZXJpb3I9XCJUaXR1bG8gbyBhc3VudG8gcGFyYSBlbCB0aWNrZXRcIiBsYWJlbElucHV0PVwiRGVmaW5hIGJyZXZlbWVudGUgdW4gYXN1bnRvIG8gdGl0dWxvXCJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlc1ZhbHVlRXZlbnQpPVwib25TZXRWYWx1ZVRpdHVsb1RpY2tldCgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L2l1cy1pbnB1dC10ZXh0ZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdFwiPlxuICAgICAgICAgICAgPGl1cy1pbnB1dC1sYXJnZSBjb21wb25lbnRJZD1cImRlc2NyaXBjaW9uVGlja2V0XCIgW2luaXRpYWxUZXh0XT1cImRlc2NyaXBjaW9uVGlja2V0XCIgW3JlcXVpcmVkXT1cInRydWVcIiBbc2hvd0hlbHBUZXh0XT1cInRydWVcIlxuICAgICAgICAgICAgICBsYWJlbFN1cGVyaW9yPVwiRGVzY3JpcGNpb24gZGVsIHRpY2tldFwiIGxhYmVsSW5wdXQ9XCJEZXNjcmliZSB0dSBpZGVhIG8gcGV0aWNpw7NuIHBhcmEgZWwgdGlja2V0XCJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlc1ZhbHVlRXZlbnQpPVwib25TZXRWYWx1ZURlc2NyaXBjaW9uVGlja2V0KCRldmVudClcIj5cbiAgICAgICAgICAgIDwvaXVzLWlucHV0LWxhcmdlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaXVzLXNlY3Rpb24tY29sbGFwc2UtZHJhd2VyLXBhcmVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0b29sYmFyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sYmFyLWJ0blwiPlxuICAgICAgICAgIDxpdXMtYnV0dG9uLWR5bmFtaWMgW2xhYmVsRGVmYXVsdF09XCInQ3JlYXIgdGlja2V0J1wiIFtsYWJlbFN1Y2Nlc3NdPVwiJ0FncmVnYW5kbydcIiBbbGFiZWxFcnJvcl09XCInRXJyb3InXCJcbiAgICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbcmVzdWx0XT1cImxhc3RSZXN1bHRcIiAoYnV0dG9uQ2xpY2tlZCk9XCJjcmVhdGVUaWNrZXQoKVwiPlxuICAgICAgICAgIDwvaXVzLWJ1dHRvbi1keW5hbWljPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRvb2xiYXItYnRuXCI+XG4gICAgICAgICAgPGl1cy1idXR0b24tc3RhbmRhcmQtc2Vjb25kYXJ5IChidXR0b25DbGlja2VkKT1cIm9uQ2xvc2UoKVwiPkNhbmNlbGFyPC9pdXMtYnV0dG9uLXN0YW5kYXJkLXNlY29uZGFyeT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2l1cy1kcmF3ZXItY29udGFpbmVyLXJpZ2h0PlxuIl19
@@ -1,2 +1,2 @@
1
1
  export * from './create-ticket.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9jcmVhdGUtdGlja2V0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NyZWF0ZS10aWNrZXQuY29tcG9uZW50JztcclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9jcmVhdGUtdGlja2V0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NyZWF0ZS10aWNrZXQuY29tcG9uZW50JztcbiJdfQ==
@@ -76,7 +76,12 @@ export class DateHourPickerComponent {
76
76
  this.calendarOpen = true;
77
77
  return;
78
78
  }
79
- this.emitSelection(true);
79
+ if (this.selectedDate) {
80
+ this.emitSelection(true);
81
+ }
82
+ else {
83
+ this.calendarOpen = false;
84
+ }
80
85
  this.focused = false;
81
86
  }
82
87
  goToToday() {
@@ -299,4 +304,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
299
304
  type: HostListener,
300
305
  args: ['document:click', ['$event']]
301
306
  }] } });
302
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1ob3VyLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRlLWhvdXItcGlja2VyL2RhdGUtaG91ci1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1ob3VyLXBpY2tlci9kYXRlLWhvdXItcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBOEMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7QUFlakgsTUFBTSxPQUFPLHVCQUF1QjtJQThDbEMsWUFDVSxLQUFpQjtJQUN6QiwyQkFBMkI7O1FBRG5CLFVBQUssR0FBTCxLQUFLLENBQVk7UUE5Q2xCLFVBQUssR0FBRyxjQUFjLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyw2QkFBNkIsQ0FBQztRQUM1QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRW5CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FB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QUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFFaUMsZ0JBQWdCO3NCQUF2RCxTQUFTO3VCQUFDLG1CQUFtQjtnQkFxTzlCLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBPdmVybGF5TW9kdWxlLCBDb25uZWN0ZWRQb3NpdGlvbiwgU2Nyb2xsU3RyYXRlZ3ksIE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IEljb25NZENvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tbWQvaWNvbi1tZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW1wbGVEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2ltcGxlLWRpdmlkZXIvc2ltcGxlLWRpdmlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeS9idXR0b24tc3RhbmRhcmQtdGVydGlhcnkuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWRhdGUtaG91ci1waWNrZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgT3ZlcmxheU1vZHVsZSwgLy8g4pyFIENESyBPdmVybGF5XHJcbiAgICBJY29uTWRDb21wb25lbnQsXHJcbiAgICBTaW1wbGVEaXZpZGVyQ29tcG9uZW50LFxyXG4gICAgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudCxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWhvdXItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZGF0ZS1ob3VyLXBpY2tlci5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlSG91clBpY2tlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbGFiZWwgPSAnRmVjaGEgeSBob3JhJztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdTZWxlY2Npb25lIHVuYSBmZWNoYSB5IGhvcmEnO1xyXG4gIEBJbnB1dCgpIGVycm9yID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGVscFRleHQgPSAnJztcclxuICBASW5wdXQoKSBoZWxwVGV4dEVycm9yID0gJyc7XHJcbiAgQElucHV0KCkgZXJyb3JUZXh0Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaWNvbkhlbHAgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1JlcXVpcmVkID0gdHJ1ZTtcclxuICBASW5wdXQoKSBtb2RlOiAnZGF0ZS1vbmx5JyB8ICd0aW1lLW9ubHknIHwgJ2RhdGUtdGltZScgPSAnZGF0ZS10aW1lJztcclxuXHJcbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBvbkJsdXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZChDZGtDb25uZWN0ZWRPdmVybGF5KSBwcml2YXRlIGNvbm5lY3RlZE92ZXJsYXkhOiBDZGtDb25uZWN0ZWRPdmVybGF5O1xyXG5cclxuICByZWFkb25seSBkYXlMYWJlbHMgPSBbJ0RvJywgJ0x1JywgJ01hJywgJ01pJywgJ0p1JywgJ1ZpJywgJ1NhJ107XHJcbiAgcmVhZG9ubHkgbW9udGhzID0gWydFbmUnLCAnRmViJywgJ01hcicsICdBYnInLCAnTWF5JywgJ0p1bicsICdKdWwnLCAnQWdvJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RpYyddO1xyXG4gIHJlYWRvbmx5IHllYXJzQXJyYXkgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMiB9LCAoXywgaSkgPT4gaSk7XHJcblxyXG4gIHJlYWRvbmx5IGhvdXJzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGkpID0+IGkgKyAxKTsgLy8gMDEgYSAxMlxyXG4gIHJlYWRvbmx5IG1pbnV0ZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA2MCB9LCAoXywgaSkgPT4gaSk7ICAgLy8gMDAgYSA1OVxyXG5cclxuICBzZWxlY3RlZERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuICBzZWxlY3RlZEhvdXIgPSAxO1xyXG4gIHNlbGVjdGVkTWludXRlID0gMDtcclxuICBzZWxlY3RlZFBlcmlvZDogJ0FNJyB8ICdQTScgPSAnUE0nO1xyXG4gIGlzQWxlcnRUZXh0ID0gZmFsc2U7XHJcblxyXG4gIHZpZXdEYXRlID0gbmV3IERhdGUoKTtcclxuICBjYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICBmb2N1c2VkID0gZmFsc2U7XHJcbiAgY2FsZW5kYXJWaWV3OiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicgPSAnZGF5JztcclxuICBjYWxlbmRhckRheXM6IERhdGVbXSA9IFtdO1xyXG5cclxuICAvLyBQb3NpY2lvbmVzIHByZWZlcmlkYXMgZGVsIG92ZXJsYXk6IGl6cXVpZXJkYSBhYmFqbywgZGVyZWNoYSBhYmFqbywgaXpxdWllcmRhIGFycmliYSwgZGVyZWNoYSBhcnJpYmFcclxuICBvdmVybGF5UG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xyXG4gICAgeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogNCB9LFxyXG4gICAgeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRZOiA0IH0sXHJcbiAgICB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAtNCB9LFxyXG4gICAgeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAtNCB9LFxyXG4gIF07XHJcblxyXG4gIHNjcm9sbFN0cmF0ZWd5ITogU2Nyb2xsU3RyYXRlZ3k7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZlxyXG4gICAgLy8gcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5XHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyB0aGlzLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xyXG5cclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICAgIHRoaXMudXBkYXRlTGFiZWxBbmRQbGFjZWhvbGRlcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVMYWJlbEFuZFBsYWNlaG9sZGVyKCk6IHZvaWQge1xyXG4gICAgc3dpdGNoICh0aGlzLm1vZGUpIHtcclxuICAgICAgY2FzZSAnZGF0ZS1vbmx5JzpcclxuICAgICAgICB0aGlzLmxhYmVsID0gdGhpcy5sYWJlbC5yZXBsYWNlKCdGZWNoYSB5IGhvcmEnLCAnRmVjaGEnKTtcclxuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5wbGFjZWhvbGRlci5yZXBsYWNlKCdmZWNoYSB5IGhvcmEnLCAnZmVjaGEnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndGltZS1vbmx5JzpcclxuICAgICAgICB0aGlzLmxhYmVsID0gdGhpcy5sYWJlbC5yZXBsYWNlKCdGZWNoYSB5IGhvcmEnLCAnSG9yYScpO1xyXG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLnBsYWNlaG9sZGVyLnJlcGxhY2UoJ2ZlY2hhIHkgaG9yYScsICdob3JhJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2RhdGUtdGltZSc6XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b2dnbGVDYWxlbmRhcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICBpZiAoIXRoaXMuY2FsZW5kYXJPcGVuKSB7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJWaWV3ID0gJ2RheSc7XHJcbiAgICAgIHRoaXMuaXNBbGVydFRleHQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jYWxlbmRhck9wZW4gPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmVtaXRTZWxlY3Rpb24odHJ1ZSk7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdvVG9Ub2RheSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSG91ciA9IG5vdy5nZXRIb3VycygpICUgMTIgfHwgMTI7XHJcbiAgICB0aGlzLnNlbGVjdGVkTWludXRlID0gbm93LmdldE1pbnV0ZXMoKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QgPSBub3cuZ2V0SG91cnMoKSA8IDEyID8gJ0FNJyA6ICdQTSc7XHJcblxyXG4gICAgdGhpcy52aWV3RGF0ZSA9IG5vdztcclxuXHJcbiAgICB0aGlzLmVtaXRTZWxlY3Rpb24odGhpcy5tb2RlICE9PSAndGltZS1vbmx5JyA/IGZhbHNlIDogdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RUaW1lKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3RpbWUtb25seScpIHtcclxuICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uKHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uKGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldERpc3BsYXlWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRGF0ZSkgcmV0dXJuICcnO1xyXG5cclxuICAgIHN3aXRjaCAodGhpcy5tb2RlKSB7XHJcbiAgICAgIGNhc2UgJ2RhdGUtb25seSc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygnZXMtRVMnLCB7XHJcbiAgICAgICAgICBkYXk6ICcyLWRpZ2l0JyxcclxuICAgICAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXHJcbiAgICAgICAgICB5ZWFyOiAnbnVtZXJpYydcclxuICAgICAgICB9KTtcclxuICAgICAgY2FzZSAndGltZS1vbmx5JzpcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKCdlcy1FUycsIHtcclxuICAgICAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcclxuICAgICAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxyXG4gICAgICAgICAgaG91cjEyOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGNhc2UgJ2RhdGUtdGltZSc6XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlLnRvTG9jYWxlU3RyaW5nKCdlcy1FUycsIHtcclxuICAgICAgICAgIGRheTogJzItZGlnaXQnLFxyXG4gICAgICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcclxuICAgICAgICAgIHllYXI6ICdudW1lcmljJyxcclxuICAgICAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcclxuICAgICAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxyXG4gICAgICAgICAgaG91cjEyOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZXh0Vmlldyh2aWV3OiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicpOiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicge1xyXG4gICAgcmV0dXJuIHZpZXcgPT09ICdkYXknID8gJ21vbnRoJyA6IHZpZXcgPT09ICdtb250aCcgPyAneWVhcicgOiAnZGF5JztcclxuICB9XHJcblxyXG4gIHByZXYoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNoaWZ0Vmlld0RhdGUoLTEpO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hpZnRWaWV3RGF0ZSgxKTtcclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hpZnRWaWV3RGF0ZShzdGVwOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IHllYXIgPSB0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKTtcclxuXHJcbiAgICBpZiAodGhpcy5jYWxlbmRhclZpZXcgPT09ICdkYXknKSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCArIHN0ZXAsIDEpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNhbGVuZGFyVmlldyA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLnZpZXdEYXRlID0gbmV3IERhdGUoeWVhciArIHN0ZXAsIG1vbnRoLCAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZSh5ZWFyICsgc3RlcCAqIDEwLCBtb250aCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3REYXRlKGRhdGU6IERhdGUsIG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIGNvbnN0IGhvdXIgPSB0aGlzLnNlbGVjdGVkUGVyaW9kID09PSAnQU0nXHJcbiAgICAgID8gdGhpcy5zZWxlY3RlZEhvdXIgJSAxMlxyXG4gICAgICA6ICh0aGlzLnNlbGVjdGVkSG91ciAlIDEyKSArIDEyO1xyXG5cclxuICAgIGNvbnN0IHNlbGVjdGVkID0gbmV3IERhdGUoXHJcbiAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcclxuICAgICAgZGF0ZS5nZXRNb250aCgpLFxyXG4gICAgICBkYXRlLmdldERhdGUoKSxcclxuICAgICAgaG91cixcclxuICAgICAgdGhpcy5zZWxlY3RlZE1pbnV0ZVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHNlbGVjdGVkO1xyXG4gICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzQWxlcnRUZXh0ID0gZmFsc2U7XHJcblxyXG4gICAgdGhpcy5lbWl0U2VsZWN0aW9uKCFvcGVuKTtcclxuXHJcbiAgICBpZiAob3Blbikge1xyXG4gICAgICB0aGlzLmNhbGVuZGFyT3BlbiA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0TW9udGgobW9udGg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3RGF0ZS5zZXRNb250aChtb250aCk7XHJcbiAgICB0aGlzLmNhbGVuZGFyVmlldyA9ICdkYXknO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgc2V0WWVhcih5ZWFyOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0RhdGUuc2V0RnVsbFllYXIoeWVhcik7XHJcbiAgICB0aGlzLmNhbGVuZGFyVmlldyA9ICdtb250aCc7XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRNb250aE5hbWUoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5tb250aHNbaW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVjYWRlU3RhcnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmZsb29yKHRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKSAvIDEwKSAqIDEwO1xyXG4gIH1cclxuXHJcbiAgaXNTYW1lRGF0ZShkMTogRGF0ZSwgZDI6IERhdGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBkMS5nZXREYXRlKCkgPT09IGQyLmdldERhdGUoKSAmJlxyXG4gICAgICBkMS5nZXRNb250aCgpID09PSBkMi5nZXRNb250aCgpICYmXHJcbiAgICAgIGQxLmdldEZ1bGxZZWFyKCkgPT09IGQyLmdldEZ1bGxZZWFyKCk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZUNhbGVuZGFyRGF5cygpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRheXM6IERhdGVbXSA9IFtdO1xyXG4gICAgY29uc3QgeWVhciA9IHRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIGNvbnN0IG1vbnRoID0gdGhpcy52aWV3RGF0ZS5nZXRNb250aCgpO1xyXG5cclxuICAgIGNvbnN0IGZpcnN0RGF5ID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDEpO1xyXG4gICAgY29uc3Qgb2Zmc2V0ID0gZmlyc3REYXkuZ2V0RGF5KCk7XHJcbiAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSAtIG9mZnNldCk7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA0MjsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShzdGFydERhdGUpO1xyXG4gICAgICBkYXRlLnNldERhdGUoc3RhcnREYXRlLmdldERhdGUoKSArIGkpO1xyXG4gICAgICBkYXlzLnB1c2goZGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jYWxlbmRhckRheXMgPSBkYXlzO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VDYWxlbmRhcigpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FsZW5kYXJPcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUgJiYgdGhpcy5pc1JlcXVpcmVkKSB7XHJcbiAgICAgIHRoaXMuaXNBbGVydFRleHQgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pc0FsZXJ0VGV4dCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbkJsdXJFdmVudC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlT3V0c2lkZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuY2FsZW5kYXJPcGVuKSByZXR1cm47XHJcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgLy8gQ2xpY2sgZGVudHJvIGRlbCBwYW5lbCBvdmVybGF5IOKGkiBubyBjZXJyYXJcclxuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGVPdmVybGF5ID0gdGhpcy5jb25uZWN0ZWRPdmVybGF5Py5vdmVybGF5UmVmPy5vdmVybGF5RWxlbWVudD8uY29udGFpbnModGFyZ2V0KTtcclxuICAgIGlmIChjbGlja2VkSW5zaWRlT3ZlcmxheSkgcmV0dXJuO1xyXG5cclxuICAgIC8vIENsaWNrIGRlbnRybyBkZWwgdHJpZ2dlciAoLmNvbnRhaW5lci10ZXh0ZmllbGQpIOKGkiB0b2dnbGVDYWxlbmRhcigpIGxvIG1hbmVqYVxyXG4gICAgY29uc3QgdGV4dGZpZWxkID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jb250YWluZXItdGV4dGZpZWxkJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAodGV4dGZpZWxkPy5jb250YWlucyh0YXJnZXQpKSByZXR1cm47XHJcblxyXG4gICAgLy8gQ3VhbHF1aWVyIG90cm8gY2xpY2sgKGxhYmVsLCBmdWVyYSBkZWwgY29tcG9uZW50ZSwgZXRjLikg4oaSIGNlcnJhclxyXG4gICAgdGhpcy5jbG9zZUNhbGVuZGFyKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFNlbGVjdGVkRGF0ZUZyb21TdGF0ZSgpOiBEYXRlIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdkYXRlLW9ubHknKSB7XHJcbiAgICAgIGNvbnN0IGJhc2UgPSB0aGlzLnNlbGVjdGVkRGF0ZSA/PyB0aGlzLnZpZXdEYXRlO1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUoYmFzZS5nZXRGdWxsWWVhcigpLCBiYXNlLmdldE1vbnRoKCksIGJhc2UuZ2V0RGF0ZSgpLCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAndGltZS1vbmx5Jykge1xyXG4gICAgICBjb25zdCBob3VyID0gdGhpcy5zZWxlY3RlZFBlcmlvZCA9PT0gJ0FNJyA/IHRoaXMuc2VsZWN0ZWRIb3VyICUgMTIgOiAodGhpcy5zZWxlY3RlZEhvdXIgJSAxMikgKyAxMjtcclxuICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcclxuICAgICAgcmV0dXJuIG5ldyBEYXRlKG5vdy5nZXRGdWxsWWVhcigpLCBub3cuZ2V0TW9udGgoKSwgbm93LmdldERhdGUoKSwgaG91ciwgdGhpcy5zZWxlY3RlZE1pbnV0ZSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBob3VyID0gdGhpcy5zZWxlY3RlZFBlcmlvZCA9PT0gJ0FNJyA/IHRoaXMuc2VsZWN0ZWRIb3VyICUgMTIgOiAodGhpcy5zZWxlY3RlZEhvdXIgJSAxMikgKyAxMjtcclxuICAgIGNvbnN0IGJhc2UgPSB0aGlzLnZpZXdEYXRlID8/IG5ldyBEYXRlKCk7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoYmFzZS5nZXRGdWxsWWVhcigpLCBiYXNlLmdldE1vbnRoKCksIGJhc2UuZ2V0RGF0ZSgpLCBob3VyLCB0aGlzLnNlbGVjdGVkTWludXRlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdFNlbGVjdGlvbihjbG9zZUNhbGVuZGFyOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuYnVpbGRTZWxlY3RlZERhdGVGcm9tU3RhdGUoKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gc2VsZWN0ZWQ7XHJcblxyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2RhdGUtb25seScpIHtcclxuICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IGAke3NlbGVjdGVkLmdldEZ1bGxZZWFyKCl9LSR7KHNlbGVjdGVkLmdldE1vbnRoKCkgKyAxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9LSR7c2VsZWN0ZWQuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX1gO1xyXG4gICAgICB0aGlzLmRhdGVTZWxlY3RlZC5lbWl0KGRhdGVTdHJpbmcpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09ICd0aW1lLW9ubHknKSB7XHJcbiAgICAgIGNvbnN0IHRpbWVTdHJpbmcgPSBgJHtzZWxlY3RlZC5nZXRIb3VycygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX06JHtzZWxlY3RlZC5nZXRNaW51dGVzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfTowMGA7XHJcbiAgICAgIHRoaXMuZGF0ZVNlbGVjdGVkLmVtaXQodGltZVN0cmluZyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBkYXRlU3RyaW5nID0gYCR7c2VsZWN0ZWQuZ2V0RnVsbFllYXIoKX0tJHsoc2VsZWN0ZWQuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX0tJHtzZWxlY3RlZC5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfVQke3NlbGVjdGVkLmdldEhvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfToke3NlbGVjdGVkLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9OjAwYDtcclxuICAgICAgdGhpcy5kYXRlU2VsZWN0ZWQuZW1pdChkYXRlU3RyaW5nKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2xvc2VDYWxlbmRhcikge1xyXG4gICAgICB0aGlzLmNhbGVuZGFyT3BlbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZGF0ZS1waWNrZXJcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG4gICAgQGlmIChpc1JlcXVpcmVkKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwicmVxdWlyZWRcIj48L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbCBsYWJlbC1iYXNlXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG5cclxuICAgIEBpZiAoaWNvbkhlbHApIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImhlbHAtaWNvblwiPlxyXG4gICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiPjwvaXVzLWljb24tbWQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsIGxhYmVsLWJhc2VcIj46PC9sYWJlbD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cclxuICAgIDwhLS0gT3JpZ2VuIGRlbCBvdmVybGF5IC0tPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImNvbnRhaW5lci10ZXh0ZmllbGRcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLFxyXG4gICAgICAgIGZvY3VzZWQ6IGNhbGVuZGFyT3BlbiB8fCBmb2N1c2VkLFxyXG4gICAgICAgIGFsZXJ0OiAhY2FsZW5kYXJPcGVuICYmIChlcnJvciB8fCBpc0FsZXJ0VGV4dCkgJiYgIWRpc2FibGVkLFxyXG4gICAgICAgIHNlbGVjdGVkOiBzZWxlY3RlZERhdGVcclxuICAgICAgfVwiXHJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVDYWxlbmRhcigpXCJcclxuICAgICAgY2RrT3ZlcmxheU9yaWdpbiAjb3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dFwiPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZERhdGUgPyBnZXREaXNwbGF5VmFsdWUoKSA6ICcnXCJcclxuICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNudC1pY29uLXJpZ2h0XCI+XHJcbiAgICAgICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWNhbGVuZGFyLXRvZGF5XCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tID09PT09PT09IE9WRVJMQVkgKENESykgPT09PT09PT0gLS0+XHJcbiAgICA8bmctdGVtcGxhdGVcclxuICAgICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxyXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiY2FsZW5kYXJPcGVuXCJcclxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwib3JpZ2luXCJcclxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnNdPVwib3ZlcmxheVBvc2l0aW9uc1wiXHJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BdPVwiZmFsc2VcIlxyXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVB1c2hdPVwidHJ1ZVwiXHJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zXT1cImZhbHNlXCJcclxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzXT1cIidjYWxlbmRhci1vdmVybGF5LXBhbmVsJ1wiXHJcbiAgICA+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImNhbGVuZGFyLW92ZXJsYXlcIlxyXG4gICAgICAgIFtjbGFzcy50aW1lLW9ubHldPVwibW9kZSA9PT0gJ3RpbWUtb25seSdcIlxyXG4gICAgICAgIFtjbGFzcy5kYXRlLW9ubHldPVwibW9kZSA9PT0gJ2RhdGUtb25seSdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNvbnRlbnRcIj5cclxuICAgICAgICAgIEBpZiAobW9kZSAhPT0gJ3RpbWUtb25seScpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1zaWRlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeVxyXG4gICAgICAgICAgICAgICAgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwicHJldigpXCJcclxuICAgICAgICAgICAgICA+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG5cclxuICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwiY2FsZW5kYXJWaWV3ID0gbmV4dFZpZXcoY2FsZW5kYXJWaWV3KVwiPlxyXG4gICAgICAgICAgICAgIEBzd2l0Y2ggKGNhbGVuZGFyVmlldykgeyBAY2FzZSAoJ2RheScpIHtcclxuICAgICAgICAgICAgICB7eyBnZXRNb250aE5hbWUodmlld0RhdGUuZ2V0TW9udGgoKSkgfX1cclxuICAgICAgICAgICAgICB7eyB2aWV3RGF0ZS5nZXRGdWxsWWVhcigpIH19XHJcbiAgICAgICAgICAgICAgfSBAY2FzZSAoJ21vbnRoJykge1xyXG4gICAgICAgICAgICAgIHt7IHZpZXdEYXRlLmdldEZ1bGxZZWFyKCkgfX1cclxuICAgICAgICAgICAgICB9IEBjYXNlICgneWVhcicpIHtcclxuICAgICAgICAgICAgICB7eyBnZXREZWNhZGVTdGFydCgpIH19LXt7IGdldERlY2FkZVN0YXJ0KCkgKyA5IH19XHJcbiAgICAgICAgICAgICAgfSB9XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeVxyXG4gICAgICAgICAgICAgICAgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LXJpZ2h0XCJcclxuICAgICAgICAgICAgICAgIChidXR0b25DbGlja2VkKT1cIm5leHQoKVwiXHJcbiAgICAgICAgICAgICAgPjwvaXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYm9keVwiPlxyXG4gICAgICAgICAgICBAc3dpdGNoIChjYWxlbmRhclZpZXcpIHsgQGNhc2UgKCdkYXknKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGRheXNcIj5cclxuICAgICAgICAgICAgICBAZm9yIChkYXkgb2YgZGF5TGFiZWxzOyB0cmFjayBkYXkpIHtcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+e3sgZGF5IH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgfSBAZm9yIChkYXRlIG9mIGNhbGVuZGFyRGF5czsgdHJhY2sgZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGxcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIlxyXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZERhdGUgJiYgaXNTYW1lRGF0ZShkYXRlLCBzZWxlY3RlZERhdGUpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImRhdGUuZ2V0TW9udGgoKSAhPT0gdmlld0RhdGUuZ2V0TW9udGgoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKGRhdGUsIHRydWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZGF0ZS5nZXREYXRlKCkgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH0gQGNhc2UgKCdtb250aCcpIHtcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgbW9udGhzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQGZvciAobSBvZiBtb250aHM7IHRyYWNrIG07IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiIChjbGljayk9XCJzZXRNb250aChpKVwiPnt7IG0gfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9IEBjYXNlICgneWVhcicpIHtcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgeWVhcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICBAZm9yIChpIG9mIHllYXJzQXJyYXk7IHRyYWNrIGkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm91dC1vZi1yYW5nZV09XCJpID09PSAwIHx8IGkgPT09IDExXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFllYXIoZ2V0RGVjYWRlU3RhcnQoKSAtIDEgKyBpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldERlY2FkZVN0YXJ0KCkgLSAxICsgaSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfSB9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfSBAaWYgKG1vZGUgIT09ICdkYXRlLW9ubHknKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1zZWxlY3RvclwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidGltZS10aXRsZVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAge3sgc2VsZWN0ZWRIb3VyIHwgbnVtYmVyIDogXCIyLjBcIiB9fTp7e1xyXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZE1pbnV0ZSA9PT0gMCA/IFwiMDBcIiA6IChzZWxlY3RlZE1pbnV0ZSB8IG51bWJlciA6IFwiMi4wXCIpXHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAge3sgc2VsZWN0ZWRQZXJpb2QgfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1jb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBzY3JvbGxhYmxlXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChoIG9mIGhvdXJzOyB0cmFjayBoKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJoID09PSBzZWxlY3RlZEhvdXJcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZEhvdXIgPSBoO1xyXG4gICAgICAgICAgICAgICAgICBtb2RlID09PSAndGltZS1vbmx5J1xyXG4gICAgICAgICAgICAgICAgICAgID8gc2VsZWN0VGltZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgOiBzZWxlY3REYXRlKHZpZXdEYXRlLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgaCB8IG51bWJlciA6IFwiMi4wXCIgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBzY3JvbGxhYmxlXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChtIG9mIG1pbnV0ZXM7IHRyYWNrIG0pIHtcclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIm0gPT09IHNlbGVjdGVkTWludXRlXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRNaW51dGUgPSBtO1xyXG4gICAgICAgICAgICAgICAgICBtb2RlID09PSAndGltZS1vbmx5J1xyXG4gICAgICAgICAgICAgICAgICAgID8gc2VsZWN0VGltZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgOiBzZWxlY3REYXRlKHZpZXdEYXRlLCB0cnVlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgbSB8IG51bWJlciA6IFwiMi4wXCIgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiJ0FNJyA9PT0gc2VsZWN0ZWRQZXJpb2RcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZFBlcmlvZCA9ICdBTSc7XHJcbiAgICAgICAgICAgICAgICAgIG1vZGUgPT09ICd0aW1lLW9ubHknXHJcbiAgICAgICAgICAgICAgICAgICAgPyBzZWxlY3RUaW1lKClcclxuICAgICAgICAgICAgICAgICAgICA6IHNlbGVjdERhdGUodmlld0RhdGUsIGZhbHNlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgQU1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiJ1BNJyA9PT0gc2VsZWN0ZWRQZXJpb2RcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZFBlcmlvZCA9ICdQTSc7XHJcbiAgICAgICAgICAgICAgICAgIG1vZGUgPT09ICd0aW1lLW9ubHknXHJcbiAgICAgICAgICAgICAgICAgICAgPyBzZWxlY3RUaW1lKClcclxuICAgICAgICAgICAgICAgICAgICA6IHNlbGVjdERhdGUodmlld0RhdGUsIGZhbHNlKVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgUE1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJ0b2RheVwiIChjbGljayk9XCJnb1RvVG9kYXkoKVwiPlxyXG4gICAgICAgIEBpZiAobW9kZSA9PT0gJ2RhdGUtb25seScpIHsgRmVjaGEgYWN0dWFsIH0gQGVsc2UgaWYgKG1vZGUgPT09XHJcbiAgICAgICAgJ3RpbWUtb25seScpIHsgSG9yYSBhY3R1YWwgfSBAZWxzZSB7IEZlY2hhIHkgaG9yYSBhY3R1YWwgfVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8IS0tID09PT09PT09IC9PVkVSTEFZIChDREspID09PT09PT09IC0tPlxyXG4gIDwvZGl2PlxyXG4gIEBpZiAoaGVscFRleHQgJiYgZm9jdXNlZCAmJiAhZXJyb3IgJiYgIWlzQWxlcnRUZXh0KSB7XHJcbiAgPGRpdiBjbGFzcz1cImhlbHAtdGV4dFwiPlxyXG4gICAge3sgaGVscFRleHQgfX1cclxuICA8L2Rpdj5cclxuICB9IEBpZiAoKGVycm9yVGV4dCB8fCBoZWxwVGV4dEVycm9yKSAmJiAoZXJyb3IgfHwgaXNBbGVydFRleHQpKSB7XHJcbiAgPGRpdiBjbGFzcz1cImhlbHAtdGV4dC1lcnJvclwiPlxyXG4gICAge3sgZXJyb3JUZXh0ID8/IGhlbHBUZXh0RXJyb3IgfX1cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1ob3VyLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRlLWhvdXItcGlja2VyL2RhdGUtaG91ci1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZGF0ZS1ob3VyLXBpY2tlci9kYXRlLWhvdXItcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBOEMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7QUFlakgsTUFBTSxPQUFPLHVCQUF1QjtJQThDbEMsWUFDVSxLQUFpQjtJQUN6QiwyQkFBMkI7O1FBRG5CLFVBQUssR0FBTCxLQUFLLENBQVk7UUE5Q2xCLFVBQUssR0FBRyxjQUFjLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyw2QkFBNkIsQ0FBQztRQUM1QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRW5CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FB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QUNoQzsrRUFLUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFFaUMsZ0JBQWdCO3NCQUF2RCxTQUFTO3VCQUFDLG1CQUFtQjtnQkF5TzlCLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBPdmVybGF5TW9kdWxlLCBDb25uZWN0ZWRQb3NpdGlvbiwgU2Nyb2xsU3RyYXRlZ3ksIE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IEljb25NZENvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tbWQvaWNvbi1tZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW1wbGVEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2ltcGxlLWRpdmlkZXIvc2ltcGxlLWRpdmlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeS9idXR0b24tc3RhbmRhcmQtdGVydGlhcnkuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWRhdGUtaG91ci1waWNrZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgT3ZlcmxheU1vZHVsZSwgLy8g4pyFIENESyBPdmVybGF5XHJcbiAgICBJY29uTWRDb21wb25lbnQsXHJcbiAgICBTaW1wbGVEaXZpZGVyQ29tcG9uZW50LFxyXG4gICAgQnV0dG9uU3RhbmRhcmRUZXJ0aWFyeUNvbXBvbmVudCxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWhvdXItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZGF0ZS1ob3VyLXBpY2tlci5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlSG91clBpY2tlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbGFiZWwgPSAnRmVjaGEgeSBob3JhJztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdTZWxlY2Npb25lIHVuYSBmZWNoYSB5IGhvcmEnO1xyXG4gIEBJbnB1dCgpIGVycm9yID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGVscFRleHQgPSAnJztcclxuICBASW5wdXQoKSBoZWxwVGV4dEVycm9yID0gJyc7XHJcbiAgQElucHV0KCkgZXJyb3JUZXh0Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaWNvbkhlbHAgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1JlcXVpcmVkID0gdHJ1ZTtcclxuICBASW5wdXQoKSBtb2RlOiAnZGF0ZS1vbmx5JyB8ICd0aW1lLW9ubHknIHwgJ2RhdGUtdGltZScgPSAnZGF0ZS10aW1lJztcclxuXHJcbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBvbkJsdXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZChDZGtDb25uZWN0ZWRPdmVybGF5KSBwcml2YXRlIGNvbm5lY3RlZE92ZXJsYXkhOiBDZGtDb25uZWN0ZWRPdmVybGF5O1xyXG5cclxuICByZWFkb25seSBkYXlMYWJlbHMgPSBbJ0RvJywgJ0x1JywgJ01hJywgJ01pJywgJ0p1JywgJ1ZpJywgJ1NhJ107XHJcbiAgcmVhZG9ubHkgbW9udGhzID0gWydFbmUnLCAnRmViJywgJ01hcicsICdBYnInLCAnTWF5JywgJ0p1bicsICdKdWwnLCAnQWdvJywgJ1NlcCcsICdPY3QnLCAnTm92JywgJ0RpYyddO1xyXG4gIHJlYWRvbmx5IHllYXJzQXJyYXkgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMiB9LCAoXywgaSkgPT4gaSk7XHJcblxyXG4gIHJlYWRvbmx5IGhvdXJzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGkpID0+IGkgKyAxKTsgLy8gMDEgYSAxMlxyXG4gIHJlYWRvbmx5IG1pbnV0ZXMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA2MCB9LCAoXywgaSkgPT4gaSk7ICAgLy8gMDAgYSA1OVxyXG5cclxuICBzZWxlY3RlZERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuICBzZWxlY3RlZEhvdXIgPSAxO1xyXG4gIHNlbGVjdGVkTWludXRlID0gMDtcclxuICBzZWxlY3RlZFBlcmlvZDogJ0FNJyB8ICdQTScgPSAnUE0nO1xyXG4gIGlzQWxlcnRUZXh0ID0gZmFsc2U7XHJcblxyXG4gIHZpZXdEYXRlID0gbmV3IERhdGUoKTtcclxuICBjYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICBmb2N1c2VkID0gZmFsc2U7XHJcbiAgY2FsZW5kYXJWaWV3OiAnZGF5JyB8ICdtb250aCcgfCAneWVhcicgPSAnZGF5JztcclxuICBjYWxlbmRhckRheXM6IERhdGVbXSA9IFtdO1xyXG5cclxuICAvLyBQb3NpY2lvbmVzIHByZWZlcmlkYXMgZGVsIG92ZXJsYXk6IGl6cXVpZXJkYSBhYmFqbywgZGVyZWNoYSBhYmFqbywgaXpxdWllcmRhIGFycmliYSwgZGVyZWNoYSBhcnJpYmFcclxuICBvdmVybGF5UG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xyXG4gICAgeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogNCB9LFxyXG4gICAgeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRZOiA0IH0sXHJcbiAgICB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAtNCB9LFxyXG4gICAgeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAtNCB9LFxyXG4gIF07XHJcblxyXG4gIHNjcm9sbFN0cmF0ZWd5ITogU2Nyb2xsU3RyYXRlZ3k7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZlxyXG4gICAgLy8gcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5XHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyB0aGlzLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xyXG5cclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICAgIHRoaXMudXBkYXRlTGFiZWxBbmRQbGFjZWhvbGRlcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVMYWJlbEFuZFBsYWNlaG9sZGVyKCk6IHZvaWQge1xyXG4gICAgc3dpdGNoICh0aGlzLm1vZGUpIHtcclxuICAgICAgY2FzZSAnZGF0ZS1vbmx5JzpcclxuICAgICAgICB0aGlzLmxhYmVsID0gdGhpcy5sYWJlbC5yZXBsYWNlKCdGZWNoYSB5IGhvcmEnLCAnRmVjaGEnKTtcclxuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5wbGFjZWhvbGRlci5yZXBsYWNlKCdmZWNoYSB5IGhvcmEnLCAnZmVjaGEnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndGltZS1vbmx5JzpcclxuICAgICAgICB0aGlzLmxhYmVsID0gdGhpcy5sYWJlbC5yZXBsYWNlKCdGZWNoYSB5IGhvcmEnLCAnSG9yYScpO1xyXG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLnBsYWNlaG9sZGVyLnJlcGxhY2UoJ2ZlY2hhIHkgaG9yYScsICdob3JhJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2RhdGUtdGltZSc6XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b2dnbGVDYWxlbmRhcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICBpZiAoIXRoaXMuY2FsZW5kYXJPcGVuKSB7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJWaWV3ID0gJ2RheSc7XHJcbiAgICAgIHRoaXMuaXNBbGVydFRleHQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jYWxlbmRhck9wZW4gPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uKHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZ29Ub1RvZGF5KCk6IHZvaWQge1xyXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRIb3VyID0gbm93LmdldEhvdXJzKCkgJSAxMiB8fCAxMjtcclxuICAgIHRoaXMuc2VsZWN0ZWRNaW51dGUgPSBub3cuZ2V0TWludXRlcygpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFBlcmlvZCA9IG5vdy5nZXRIb3VycygpIDwgMTIgPyAnQU0nIDogJ1BNJztcclxuXHJcbiAgICB0aGlzLnZpZXdEYXRlID0gbm93O1xyXG5cclxuICAgIHRoaXMuZW1pdFNlbGVjdGlvbih0aGlzLm1vZGUgIT09ICd0aW1lLW9ubHknID8gZmFsc2UgOiB0cnVlKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFRpbWUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAndGltZS1vbmx5Jykge1xyXG4gICAgICB0aGlzLmVtaXRTZWxlY3Rpb24odHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmVtaXRTZWxlY3Rpb24oZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGlzcGxheVZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWREYXRlKSByZXR1cm4gJyc7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLm1vZGUpIHtcclxuICAgICAgY2FzZSAnZGF0ZS1vbmx5JzpcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKCdlcy1FUycsIHtcclxuICAgICAgICAgIGRheTogJzItZGlnaXQnLFxyXG4gICAgICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcclxuICAgICAgICAgIHllYXI6ICdudW1lcmljJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICBjYXNlICd0aW1lLW9ubHknOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRGF0ZS50b0xvY2FsZVRpbWVTdHJpbmcoJ2VzLUVTJywge1xyXG4gICAgICAgICAgaG91cjogJzItZGlnaXQnLFxyXG4gICAgICAgICAgbWludXRlOiAnMi1kaWdpdCcsXHJcbiAgICAgICAgICBob3VyMTI6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgICAgY2FzZSAnZGF0ZS10aW1lJzpcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUudG9Mb2NhbGVTdHJpbmcoJ2VzLUVTJywge1xyXG4gICAgICAgICAgZGF5OiAnMi1kaWdpdCcsXHJcbiAgICAgICAgICBtb250aDogJzItZGlnaXQnLFxyXG4gICAgICAgICAgeWVhcjogJ251bWVyaWMnLFxyXG4gICAgICAgICAgaG91cjogJzItZGlnaXQnLFxyXG4gICAgICAgICAgbWludXRlOiAnMi1kaWdpdCcsXHJcbiAgICAgICAgICBob3VyMTI6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHRWaWV3KHZpZXc6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyk6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyB7XHJcbiAgICByZXR1cm4gdmlldyA9PT0gJ2RheScgPyAnbW9udGgnIDogdmlldyA9PT0gJ21vbnRoJyA/ICd5ZWFyJyA6ICdkYXknO1xyXG4gIH1cclxuXHJcbiAgcHJldigpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hpZnRWaWV3RGF0ZSgtMSk7XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaGlmdFZpZXdEYXRlKDEpO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUNhbGVuZGFyRGF5cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaGlmdFZpZXdEYXRlKHN0ZXA6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgeWVhciA9IHRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIGNvbnN0IG1vbnRoID0gdGhpcy52aWV3RGF0ZS5nZXRNb250aCgpO1xyXG5cclxuICAgIGlmICh0aGlzLmNhbGVuZGFyVmlldyA9PT0gJ2RheScpIHtcclxuICAgICAgdGhpcy52aWV3RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgc3RlcCwgMSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2FsZW5kYXJWaWV3ID09PSAnbW9udGgnKSB7XHJcbiAgICAgIHRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZSh5ZWFyICsgc3RlcCwgbW9udGgsIDEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3RGF0ZSA9IG5ldyBEYXRlKHllYXIgKyBzdGVwICogMTAsIG1vbnRoLCAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdERhdGUoZGF0ZTogRGF0ZSwgb3BlbjogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3RGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xyXG4gICAgY29uc3QgaG91ciA9IHRoaXMuc2VsZWN0ZWRQZXJpb2QgPT09ICdBTSdcclxuICAgICAgPyB0aGlzLnNlbGVjdGVkSG91ciAlIDEyXHJcbiAgICAgIDogKHRoaXMuc2VsZWN0ZWRIb3VyICUgMTIpICsgMTI7XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBuZXcgRGF0ZShcclxuICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxyXG4gICAgICBkYXRlLmdldE1vbnRoKCksXHJcbiAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxyXG4gICAgICBob3VyLFxyXG4gICAgICB0aGlzLnNlbGVjdGVkTWludXRlXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gc2VsZWN0ZWQ7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNBbGVydFRleHQgPSBmYWxzZTtcclxuXHJcbiAgICB0aGlzLmVtaXRTZWxlY3Rpb24oIW9wZW4pO1xyXG5cclxuICAgIGlmIChvcGVuKSB7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJPcGVuID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBzZXRNb250aChtb250aDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdEYXRlLnNldE1vbnRoKG1vbnRoKTtcclxuICAgIHRoaXMuY2FsZW5kYXJWaWV3ID0gJ2RheSc7XHJcbiAgICB0aGlzLmdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRZZWFyKHllYXI6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3RGF0ZS5zZXRGdWxsWWVhcih5ZWFyKTtcclxuICAgIHRoaXMuY2FsZW5kYXJWaWV3ID0gJ21vbnRoJztcclxuICAgIHRoaXMuZ2VuZXJhdGVDYWxlbmRhckRheXMoKTtcclxuICB9XHJcblxyXG4gIGdldE1vbnRoTmFtZShpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm1vbnRoc1tpbmRleF07XHJcbiAgfVxyXG5cclxuICBnZXREZWNhZGVTdGFydCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGguZmxvb3IodGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpIC8gMTApICogMTA7XHJcbiAgfVxyXG5cclxuICBpc1NhbWVEYXRlKGQxOiBEYXRlLCBkMjogRGF0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGQxLmdldERhdGUoKSA9PT0gZDIuZ2V0RGF0ZSgpICYmXHJcbiAgICAgIGQxLmdldE1vbnRoKCkgPT09IGQyLmdldE1vbnRoKCkgJiZcclxuICAgICAgZDEuZ2V0RnVsbFllYXIoKSA9PT0gZDIuZ2V0RnVsbFllYXIoKTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlQ2FsZW5kYXJEYXlzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZGF5czogRGF0ZVtdID0gW107XHJcbiAgICBjb25zdCB5ZWFyID0gdGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgbW9udGggPSB0aGlzLnZpZXdEYXRlLmdldE1vbnRoKCk7XHJcblxyXG4gICAgY29uc3QgZmlyc3REYXkgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XHJcbiAgICBjb25zdCBvZmZzZXQgPSBmaXJzdERheS5nZXREYXkoKTtcclxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxIC0gb2Zmc2V0KTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQyOyBpKyspIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHN0YXJ0RGF0ZSk7XHJcbiAgICAgIGRhdGUuc2V0RGF0ZShzdGFydERhdGUuZ2V0RGF0ZSgpICsgaSk7XHJcbiAgICAgIGRheXMucHVzaChkYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNhbGVuZGFyRGF5cyA9IGRheXM7XHJcbiAgfVxyXG5cclxuICBjbG9zZUNhbGVuZGFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRGF0ZSAmJiB0aGlzLmlzUmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy5pc0FsZXJ0VGV4dCA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzQWxlcnRUZXh0ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQmx1ckV2ZW50LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVPdXRzaWRlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jYWxlbmRhck9wZW4pIHJldHVybjtcclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAvLyBDbGljayBkZW50cm8gZGVsIHBhbmVsIG92ZXJsYXkg4oaSIG5vIGNlcnJhclxyXG4gICAgY29uc3QgY2xpY2tlZEluc2lkZU92ZXJsYXkgPSB0aGlzLmNvbm5lY3RlZE92ZXJsYXk/Lm92ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50Py5jb250YWlucyh0YXJnZXQpO1xyXG4gICAgaWYgKGNsaWNrZWRJbnNpZGVPdmVybGF5KSByZXR1cm47XHJcblxyXG4gICAgLy8gQ2xpY2sgZGVudHJvIGRlbCB0cmlnZ2VyICguY29udGFpbmVyLXRleHRmaWVsZCkg4oaSIHRvZ2dsZUNhbGVuZGFyKCkgbG8gbWFuZWphXHJcbiAgICBjb25zdCB0ZXh0ZmllbGQgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNvbnRhaW5lci10ZXh0ZmllbGQnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICh0ZXh0ZmllbGQ/LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcclxuXHJcbiAgICAvLyBDdWFscXVpZXIgb3RybyBjbGljayAobGFiZWwsIGZ1ZXJhIGRlbCBjb21wb25lbnRlLCBldGMuKSDihpIgY2VycmFyXHJcbiAgICB0aGlzLmNsb3NlQ2FsZW5kYXIoKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGJ1aWxkU2VsZWN0ZWREYXRlRnJvbVN0YXRlKCk6IERhdGUge1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2RhdGUtb25seScpIHtcclxuICAgICAgY29uc3QgYmFzZSA9IHRoaXMuc2VsZWN0ZWREYXRlID8/IHRoaXMudmlld0RhdGU7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZShiYXNlLmdldEZ1bGxZZWFyKCksIGJhc2UuZ2V0TW9udGgoKSwgYmFzZS5nZXREYXRlKCksIDAsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICd0aW1lLW9ubHknKSB7XHJcbiAgICAgIGNvbnN0IGhvdXIgPSB0aGlzLnNlbGVjdGVkUGVyaW9kID09PSAnQU0nID8gdGhpcy5zZWxlY3RlZEhvdXIgJSAxMiA6ICh0aGlzLnNlbGVjdGVkSG91ciAlIDEyKSArIDEyO1xyXG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUobm93LmdldEZ1bGxZZWFyKCksIG5vdy5nZXRNb250aCgpLCBub3cuZ2V0RGF0ZSgpLCBob3VyLCB0aGlzLnNlbGVjdGVkTWludXRlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGhvdXIgPSB0aGlzLnNlbGVjdGVkUGVyaW9kID09PSAnQU0nID8gdGhpcy5zZWxlY3RlZEhvdXIgJSAxMiA6ICh0aGlzLnNlbGVjdGVkSG91ciAlIDEyKSArIDEyO1xyXG4gICAgY29uc3QgYmFzZSA9IHRoaXMudmlld0RhdGUgPz8gbmV3IERhdGUoKTtcclxuICAgIHJldHVybiBuZXcgRGF0ZShiYXNlLmdldEZ1bGxZZWFyKCksIGJhc2UuZ2V0TW9udGgoKSwgYmFzZS5nZXREYXRlKCksIGhvdXIsIHRoaXMuc2VsZWN0ZWRNaW51dGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0U2VsZWN0aW9uKGNsb3NlQ2FsZW5kYXI6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5idWlsZFNlbGVjdGVkRGF0ZUZyb21TdGF0ZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBzZWxlY3RlZDtcclxuXHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZGF0ZS1vbmx5Jykge1xyXG4gICAgICBjb25zdCBkYXRlU3RyaW5nID0gYCR7c2VsZWN0ZWQuZ2V0RnVsbFllYXIoKX0tJHsoc2VsZWN0ZWQuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX0tJHtzZWxlY3RlZC5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfWA7XHJcbiAgICAgIHRoaXMuZGF0ZVNlbGVjdGVkLmVtaXQoZGF0ZVN0cmluZyk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubW9kZSA9PT0gJ3RpbWUtb25seScpIHtcclxuICAgICAgY29uc3QgdGltZVN0cmluZyA9IGAke3NlbGVjdGVkLmdldEhvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfToke3NlbGVjdGVkLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9OjAwYDtcclxuICAgICAgdGhpcy5kYXRlU2VsZWN0ZWQuZW1pdCh0aW1lU3RyaW5nKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPSBgJHtzZWxlY3RlZC5nZXRGdWxsWWVhcigpfS0keyhzZWxlY3RlZC5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfS0ke3NlbGVjdGVkLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9VCR7c2VsZWN0ZWQuZ2V0SG91cnMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9OiR7c2VsZWN0ZWQuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX06MDBgO1xyXG4gICAgICB0aGlzLmRhdGVTZWxlY3RlZC5lbWl0KGRhdGVTdHJpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjbG9zZUNhbGVuZGFyKSB7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJPcGVuID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkYXRlLXBpY2tlclwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcbiAgICBAaWYgKGlzUmVxdWlyZWQpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJyZXF1aXJlZFwiPjwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsIGxhYmVsLWJhc2VcIj57eyBsYWJlbCB9fTwvbGFiZWw+XHJcblxyXG4gICAgQGlmIChpY29uSGVscCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaGVscC1pY29uXCI+XHJcbiAgICAgICAgPGl1cy1pY29uLW1kIGljb25OYW1lPVwiaWNvbi1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgbGFiZWwtYmFzZVwiPjo8L2xhYmVsPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiPlxyXG4gICAgPCEtLSBPcmlnZW4gZGVsIG92ZXJsYXkgLS0+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY29udGFpbmVyLXRleHRmaWVsZFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgICAgZm9jdXNlZDogY2FsZW5kYXJPcGVuIHx8IGZvY3VzZWQsXHJcbiAgICAgICAgYWxlcnQ6ICFjYWxlbmRhck9wZW4gJiYgKGVycm9yIHx8IGlzQWxlcnRUZXh0KSAmJiAhZGlzYWJsZWQsXHJcbiAgICAgICAgc2VsZWN0ZWQ6IHNlbGVjdGVkRGF0ZVxyXG4gICAgICB9XCJcclxuICAgICAgKGNsaWNrKT1cInRvZ2dsZUNhbGVuZGFyKClcIlxyXG4gICAgICBjZGtPdmVybGF5T3JpZ2luICNvcmlnaW49XCJjZGtPdmVybGF5T3JpZ2luXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0XCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkRGF0ZSA/IGdldERpc3BsYXlWYWx1ZSgpIDogJydcIlxyXG4gICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY250LWljb24tcmlnaHRcIj5cclxuICAgICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24tY2FsZW5kYXItdG9kYXlcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gPT09PT09PT0gT1ZFUkxBWSAoQ0RLKSA9PT09PT09PSAtLT5cclxuICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICBjZGtDb25uZWN0ZWRPdmVybGF5XHJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJjYWxlbmRhck9wZW5cIlxyXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJvcmlnaW5cIlxyXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJvdmVybGF5UG9zaXRpb25zXCJcclxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlIYXNCYWNrZHJvcF09XCJmYWxzZVwiXHJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UHVzaF09XCJ0cnVlXCJcclxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlGbGV4aWJsZURpbWVuc2lvbnNdPVwiZmFsc2VcIlxyXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBhbmVsQ2xhc3NdPVwiJ2NhbGVuZGFyLW92ZXJsYXktcGFuZWwnXCJcclxuICAgID5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiY2FsZW5kYXItb3ZlcmxheVwiXHJcbiAgICAgICAgW2NsYXNzLnRpbWUtb25seV09XCJtb2RlID09PSAndGltZS1vbmx5J1wiXHJcbiAgICAgICAgW2NsYXNzLmRhdGUtb25seV09XCJtb2RlID09PSAnZGF0ZS1vbmx5J1wiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItY29udGVudFwiPlxyXG4gICAgICAgICAgQGlmIChtb2RlICE9PSAndGltZS1vbmx5Jykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLXNpZGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgIDxpdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5XHJcbiAgICAgICAgICAgICAgICBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2tlZCk9XCJwcmV2KClcIlxyXG4gICAgICAgICAgICAgID48L2l1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnk+XHJcblxyXG4gICAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJjYWxlbmRhclZpZXcgPSBuZXh0VmlldyhjYWxlbmRhclZpZXcpXCI+XHJcbiAgICAgICAgICAgICAgQHN3aXRjaCAoY2FsZW5kYXJWaWV3KSB7IEBjYXNlICgnZGF5Jykge1xyXG4gICAgICAgICAgICAgIHt7IGdldE1vbnRoTmFtZSh2aWV3RGF0ZS5nZXRNb250aCgpKSB9fVxyXG4gICAgICAgICAgICAgIHt7IHZpZXdEYXRlLmdldEZ1bGxZZWFyKCkgfX1cclxuICAgICAgICAgICAgICB9IEBjYXNlICgnbW9udGgnKSB7XHJcbiAgICAgICAgICAgICAge3sgdmlld0RhdGUuZ2V0RnVsbFllYXIoKSB9fVxyXG4gICAgICAgICAgICAgIH0gQGNhc2UgKCd5ZWFyJykge1xyXG4gICAgICAgICAgICAgIHt7IGdldERlY2FkZVN0YXJ0KCkgfX0te3sgZ2V0RGVjYWRlU3RhcnQoKSArIDkgfX1cclxuICAgICAgICAgICAgICB9IH1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgIDxpdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5XHJcbiAgICAgICAgICAgICAgICBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctcmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwibmV4dCgpXCJcclxuICAgICAgICAgICAgICA+PC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1ib2R5XCI+XHJcbiAgICAgICAgICAgIEBzd2l0Y2ggKGNhbGVuZGFyVmlldykgeyBAY2FzZSAoJ2RheScpIHtcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZGF5c1wiPlxyXG4gICAgICAgICAgICAgIEBmb3IgKGRheSBvZiBkYXlMYWJlbHM7IHRyYWNrIGRheSkge1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj57eyBkYXkgfX08L2Rpdj5cclxuICAgICAgICAgICAgICB9IEBmb3IgKGRhdGUgb2YgY2FsZW5kYXJEYXlzOyB0cmFjayBkYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2VsbFwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiXHJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkRGF0ZSAmJiBpc1NhbWVEYXRlKGRhdGUsIHNlbGVjdGVkRGF0ZSlcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5vdXQtb2YtcmFuZ2VdPVwiZGF0ZS5nZXRNb250aCgpICE9PSB2aWV3RGF0ZS5nZXRNb250aCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdERhdGUoZGF0ZSwgdHJ1ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkYXRlLmdldERhdGUoKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfSBAY2FzZSAoJ21vbnRoJykge1xyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBtb250aHNcIj5cclxuICAgICAgICAgICAgICAgICAgICBAZm9yIChtIG9mIG1vbnRoczsgdHJhY2sgbTsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCIgKGNsaWNrKT1cInNldE1vbnRoKGkpXCI+e3sgbSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH0gQGNhc2UgKCd5ZWFyJykge1xyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCB5ZWFyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGkgb2YgeWVhcnNBcnJheTsgdHJhY2sgaSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3V0LW9mLXJhbmdlXT1cImkgPT09IDAgfHwgaSA9PT0gMTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0WWVhcihnZXREZWNhZGVTdGFydCgpIC0gMSArIGkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0RGVjYWRlU3RhcnQoKSAtIDEgKyBpIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9IH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9IEBpZiAobW9kZSAhPT0gJ2RhdGUtb25seScpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLXNlbGVjdG9yXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ0aW1lLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICB7eyBzZWxlY3RlZEhvdXIgfCBudW1iZXIgOiBcIjIuMFwiIH19Ont7XHJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTWludXRlID09PSAwID8gXCIwMFwiIDogKHNlbGVjdGVkTWludXRlIHwgbnVtYmVyIDogXCIyLjBcIilcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICB7eyBzZWxlY3RlZFBlcmlvZCB9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIHNjcm9sbGFibGVcIj5cclxuICAgICAgICAgICAgICAgIEBmb3IgKGggb2YgaG91cnM7IHRyYWNrIGgpIHtcclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImggPT09IHNlbGVjdGVkSG91clwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSG91ciA9IGg7XHJcbiAgICAgICAgICAgICAgICAgIG1vZGUgPT09ICd0aW1lLW9ubHknXHJcbiAgICAgICAgICAgICAgICAgICAgPyBzZWxlY3RUaW1lKClcclxuICAgICAgICAgICAgICAgICAgICA6IHNlbGVjdERhdGUodmlld0RhdGUsIHRydWUpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyBoIHwgbnVtYmVyIDogXCIyLjBcIiB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIHNjcm9sbGFibGVcIj5cclxuICAgICAgICAgICAgICAgIEBmb3IgKG0gb2YgbWludXRlczsgdHJhY2sgbSkge1xyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwibSA9PT0gc2VsZWN0ZWRNaW51dGVcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZE1pbnV0ZSA9IG07XHJcbiAgICAgICAgICAgICAgICAgIG1vZGUgPT09ICd0aW1lLW9ubHknXHJcbiAgICAgICAgICAgICAgICAgICAgPyBzZWxlY3RUaW1lKClcclxuICAgICAgICAgICAgICAgICAgICA6IHNlbGVjdERhdGUodmlld0RhdGUsIHRydWUpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyBtIHwgbnVtYmVyIDogXCIyLjBcIiB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCInQU0nID09PSBzZWxlY3RlZFBlcmlvZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUGVyaW9kID0gJ0FNJztcclxuICAgICAgICAgICAgICAgICAgbW9kZSA9PT0gJ3RpbWUtb25seSdcclxuICAgICAgICAgICAgICAgICAgICA/IHNlbGVjdFRpbWUoKVxyXG4gICAgICAgICAgICAgICAgICAgIDogc2VsZWN0RGF0ZSh2aWV3RGF0ZSwgZmFsc2UpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICBBTVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCInUE0nID09PSBzZWxlY3RlZFBlcmlvZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUGVyaW9kID0gJ1BNJztcclxuICAgICAgICAgICAgICAgICAgbW9kZSA9PT0gJ3RpbWUtb25seSdcclxuICAgICAgICAgICAgICAgICAgICA/IHNlbGVjdFRpbWUoKVxyXG4gICAgICAgICAgICAgICAgICAgIDogc2VsZWN0RGF0ZSh2aWV3RGF0ZSwgZmFsc2UpXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICBQTVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInRvZGF5XCIgKGNsaWNrKT1cImdvVG9Ub2RheSgpXCI+XHJcbiAgICAgICAgQGlmIChtb2RlID09PSAnZGF0ZS1vbmx5JykgeyBGZWNoYSBhY3R1YWwgfSBAZWxzZSBpZiAobW9kZSA9PT1cclxuICAgICAgICAndGltZS1vbmx5JykgeyBIb3JhIGFjdHVhbCB9IEBlbHNlIHsgRmVjaGEgeSBob3JhIGFjdHVhbCB9XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwhLS0gPT09PT09PT0gL09WRVJMQVkgKENESykgPT09PT09PT0gLS0+XHJcbiAgPC9kaXY+XHJcbiAgQGlmIChoZWxwVGV4dCAmJiBmb2N1c2VkICYmICFlcnJvciAmJiAhaXNBbGVydFRleHQpIHtcclxuICA8ZGl2IGNsYXNzPVwiaGVscC10ZXh0XCI+XHJcbiAgICB7eyBoZWxwVGV4dCB9fVxyXG4gIDwvZGl2PlxyXG4gIH0gQGlmICgoZXJyb3JUZXh0IHx8IGhlbHBUZXh0RXJyb3IpICYmIChlcnJvciB8fCBpc0FsZXJ0VGV4dCkpIHtcclxuICA8ZGl2IGNsYXNzPVwiaGVscC10ZXh0LWVycm9yXCI+XHJcbiAgICB7eyBlcnJvclRleHQgPz8gaGVscFRleHRFcnJvciB9fVxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==