@stiunb/unb-lib-components 18.0.26 → 18.0.27

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.
Files changed (25) hide show
  1. package/esm2022/lib/services/unb-auth.service.mjs +4 -4
  2. package/esm2022/lib/unb-mensagem/unb-mensagem.component.mjs +4 -4
  3. package/esm2022/lib/unb-mensagem/unb-mensagem.module.mjs +5 -5
  4. package/esm2022/lib/unb-mensagem/unb-mensagem.service.mjs +4 -4
  5. package/esm2022/lib/unb-nav-bar/unb-nav-bar.component.mjs +4 -4
  6. package/esm2022/lib/unb-nav-bar/unb-nav-bar.module.mjs +5 -5
  7. package/esm2022/lib/unb-pessoa/unb-pessoa-email-form/unb-pessoa-email-form.mjs +4 -4
  8. package/esm2022/lib/unb-pessoa/unb-pessoa-email-form/unb-pessoa-email-list.mjs +4 -4
  9. package/esm2022/lib/unb-pessoa/unb-pessoa-endereco-form/unb-pessoa-endereco-form.mjs +11 -6
  10. package/esm2022/lib/unb-pessoa/unb-pessoa-endereco-form/unb-pessoa-endereco-list.mjs +4 -4
  11. package/esm2022/lib/unb-pessoa/unb-pessoa-form/unb-pessoa-form.component.mjs +5 -5
  12. package/esm2022/lib/unb-pessoa/unb-pessoa-pesquisar/unb-pessoa-pesquisar.component.mjs +4 -4
  13. package/esm2022/lib/unb-pessoa/unb-pessoa-telefone-form/unb-pessoa-telefone-form.mjs +4 -4
  14. package/esm2022/lib/unb-pessoa/unb-pessoa-telefone-form/unb-pessoa-telefone-list.mjs +4 -4
  15. package/esm2022/lib/unb-pessoa/unb-pessoa.module.mjs +5 -5
  16. package/esm2022/lib/unb-pessoa/unb-pessoa.service.mjs +69 -7
  17. package/esm2022/lib/unb-usuario/oidc-decoded-token.mjs +1 -1
  18. package/esm2022/lib/unb-usuario/oidc-user-data.mjs +1 -1
  19. package/esm2022/lib/unb-usuario/unb-usuario.component.mjs +4 -4
  20. package/esm2022/lib/unb-usuario/unb-usuario.module.mjs +5 -5
  21. package/fesm2022/stiunb-unb-lib-components.mjs +131 -65
  22. package/fesm2022/stiunb-unb-lib-components.mjs.map +1 -1
  23. package/lib/unb-pessoa/unb-pessoa-endereco-form/unb-pessoa-endereco-form.d.ts +5 -4
  24. package/lib/unb-pessoa/unb-pessoa.service.d.ts +7 -4
  25. package/package.json +1 -1
@@ -152,10 +152,10 @@ export class UnbPessoaTelefoneListComponent {
152
152
  // 6. Finalmente, ordene a lista completa com as ordens agora únicas
153
153
  this.telefones.sort((a, b) => (a.ordem ?? 0) - (b.ordem ?? 0));
154
154
  }
155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaTelefoneListComponent, deps: [{ token: i1.MatSnackBar }, { token: i2.UnBPessoaService }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: UnbPessoaTelefoneListComponent, selector: "lib-unb-pessoa-telefone-list", inputs: { podeEditar: "podeEditar", telefones: "telefones", backendURL: "backendURL" }, outputs: { telefonesEmitted: "telefonesEmitted" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mes-container\">\r\n <div class=\"header-container\">\r\n <div class=\"mes-header\">\r\n <span class=\"titulo\">\r\n {{ telefones?.length === 1 ? 'Telefone Cadastrado' : 'Telefones Cadastrados' }}\r\n </span>\r\n <span class=\"titulo\">({{ telefones?.length || 0 }})</span>\r\n </div>\r\n\r\n <button type=\"button\" matTooltip=\"Novo Telefone\" mat-flat-button color=\"primary\" (click)=\"openFormDialog(null)\">\r\n Cadastrar Novo Telefone\r\n </button>\r\n </div>\r\n\r\n\r\n <!-- Exibe a tabela de despesas somente se houver despesas -->\r\n <table class=\"my-table\" *ngIf=\"telefones && telefones.length > 0\" cdkDropList (cdkDropListDropped)=\"moverTelefone($event)\">\r\n <tr style=\"background-color: #e4e3e3cc;\">\r\n <th style=\"width: 5%; text-align: center;\">Ordem</th>\r\n <th style=\"width: 20%;\">DDD</th>\r\n <th>N\u00FAmero</th> \r\n <th>Tipo</th>\r\n <th style=\"width: 1%; text-align: center;\">A\u00E7\u00F5es</th>\r\n </tr>\r\n\r\n <tr *ngFor=\"let valor of telefones; let i = index\" class=\"my-tr\" cdkDrag>\r\n <td style=\"text-align: center;\"> \r\n <div class=\"drag-cell\" cdkDragHandle>\r\n <mat-icon>drag_indicator</mat-icon>\r\n <span>{{ i + 1 }}</span>\r\n </div>\r\n </td>\r\n <td>{{ valor.ddd }}</td> \r\n <td>{{ valor.numero }}</td> \r\n <td>{{ valor.tipo?.toUpperCase() }}</td>\r\n <td>\r\n <div class=\"actions-container\">\r\n <button type=\"button\" mat-icon-button color=\"primary\" (click)=\"editar(valor)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button color=\"warn\" (click)=\"excluir(valor)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n</table>\r\n</div>", styles: [".mes-container{padding:12px;margin-bottom:2px;border-radius:8px;box-shadow:0 2px 6px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}.mes-container:nth-child(2n){background-color:#f9f9fc}.mes-container:nth-child(odd){background-color:#fff}.mes-container:hover{background-color:#f0f0f5;box-shadow:0 4px 8px #00000026}.header-container{display:flex;align-items:center;margin-bottom:2px}.header-container button{margin-left:auto}.mes-header{display:flex;align-items:center;gap:6px;font-size:1.2rem;font-weight:700;color:#333}.my-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0000001a;font-family:Arial,sans-serif}.my-table th,.my-table td{padding:5px;text-align:left;border-bottom:1px solid #ddd}.my-table th{background-color:#005dbb7b;color:#fff;font-weight:700}.my-table tr{transition:background-color .3s ease}.my-table tr:hover{background-color:#f1f1f1}.my-table td{background-color:#fff}.my-table td button{transition:transform .2s ease}.my-table td button:hover{transform:scale(1.1)}.my-table td:last-child{text-align:center}.order-input{width:40px;text-align:center;border:1px solid #ccc;border-radius:4px;padding:2px}.order-input:focus{border-color:#1976d2;outline:none}.drag-cell{display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:grab;-webkit-user-select:none;user-select:none}.drag-cell mat-icon{font-size:18px;line-height:1;vertical-align:middle}.cdk-drag-preview{background:#fff;border-radius:6px;box-shadow:0 4px 12px #0003;display:table;border-collapse:collapse}.cdk-drag-placeholder{opacity:0;display:table-row}.cdk-drag-animating{transition:transform .2s cubic-bezier(0,0,.2,1)}table[cdkDropList] tr{border-bottom:1px solid #e0e0e0}table[cdkDropList] td{padding:8px}.actions-container{display:flex;justify-content:flex-end;gap:4px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
155
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaTelefoneListComponent, deps: [{ token: i1.MatSnackBar }, { token: i2.UnBPessoaService }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
156
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: UnbPessoaTelefoneListComponent, selector: "lib-unb-pessoa-telefone-list", inputs: { podeEditar: "podeEditar", telefones: "telefones", backendURL: "backendURL" }, outputs: { telefonesEmitted: "telefonesEmitted" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mes-container\">\r\n <div class=\"header-container\">\r\n <div class=\"mes-header\">\r\n <span class=\"titulo\">\r\n {{ telefones?.length === 1 ? 'Telefone Cadastrado' : 'Telefones Cadastrados' }}\r\n </span>\r\n <span class=\"titulo\">({{ telefones?.length || 0 }})</span>\r\n </div>\r\n\r\n <button type=\"button\" matTooltip=\"Novo Telefone\" mat-flat-button color=\"primary\" (click)=\"openFormDialog(null)\">\r\n Cadastrar Novo Telefone\r\n </button>\r\n </div>\r\n\r\n\r\n <!-- Exibe a tabela de despesas somente se houver despesas -->\r\n <table class=\"my-table\" *ngIf=\"telefones && telefones.length > 0\" cdkDropList (cdkDropListDropped)=\"moverTelefone($event)\">\r\n <tr style=\"background-color: #e4e3e3cc;\">\r\n <th style=\"width: 5%; text-align: center;\">Ordem</th>\r\n <th style=\"width: 20%;\">DDD</th>\r\n <th>N\u00FAmero</th> \r\n <th>Tipo</th>\r\n <th style=\"width: 1%; text-align: center;\">A\u00E7\u00F5es</th>\r\n </tr>\r\n\r\n <tr *ngFor=\"let valor of telefones; let i = index\" class=\"my-tr\" cdkDrag>\r\n <td style=\"text-align: center;\"> \r\n <div class=\"drag-cell\" cdkDragHandle>\r\n <mat-icon>drag_indicator</mat-icon>\r\n <span>{{ i + 1 }}</span>\r\n </div>\r\n </td>\r\n <td>{{ valor.ddd }}</td> \r\n <td>{{ valor.numero }}</td> \r\n <td>{{ valor.tipo?.toUpperCase() }}</td>\r\n <td>\r\n <div class=\"actions-container\">\r\n <button type=\"button\" mat-icon-button color=\"primary\" (click)=\"editar(valor)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button color=\"warn\" (click)=\"excluir(valor)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n</table>\r\n</div>", styles: [".mes-container{padding:12px;margin-bottom:2px;border-radius:8px;box-shadow:0 2px 6px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}.mes-container:nth-child(2n){background-color:#f9f9fc}.mes-container:nth-child(odd){background-color:#fff}.mes-container:hover{background-color:#f0f0f5;box-shadow:0 4px 8px #00000026}.header-container{display:flex;align-items:center;margin-bottom:2px}.header-container button{margin-left:auto}.mes-header{display:flex;align-items:center;gap:6px;font-size:1.2rem;font-weight:700;color:#333}.my-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0000001a;font-family:Arial,sans-serif}.my-table th,.my-table td{padding:5px;text-align:left;border-bottom:1px solid #ddd}.my-table th{background-color:#005dbb7b;color:#fff;font-weight:700}.my-table tr{transition:background-color .3s ease}.my-table tr:hover{background-color:#f1f1f1}.my-table td{background-color:#fff}.my-table td button{transition:transform .2s ease}.my-table td button:hover{transform:scale(1.1)}.my-table td:last-child{text-align:center}.order-input{width:40px;text-align:center;border:1px solid #ccc;border-radius:4px;padding:2px}.order-input:focus{border-color:#1976d2;outline:none}.drag-cell{display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:grab;-webkit-user-select:none;user-select:none}.drag-cell mat-icon{font-size:18px;line-height:1;vertical-align:middle}.cdk-drag-preview{background:#fff;border-radius:6px;box-shadow:0 4px 12px #0003;display:table;border-collapse:collapse}.cdk-drag-placeholder{opacity:0;display:table-row}.cdk-drag-animating{transition:transform .2s cubic-bezier(0,0,.2,1)}table[cdkDropList] tr{border-bottom:1px solid #e0e0e0}table[cdkDropList] td{padding:8px}.actions-container{display:flex;justify-content:flex-end;gap:4px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
157
157
  }
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaTelefoneListComponent, decorators: [{
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaTelefoneListComponent, decorators: [{
159
159
  type: Component,
160
160
  args: [{ standalone: false, selector: 'lib-unb-pessoa-telefone-list', template: "<div class=\"mes-container\">\r\n <div class=\"header-container\">\r\n <div class=\"mes-header\">\r\n <span class=\"titulo\">\r\n {{ telefones?.length === 1 ? 'Telefone Cadastrado' : 'Telefones Cadastrados' }}\r\n </span>\r\n <span class=\"titulo\">({{ telefones?.length || 0 }})</span>\r\n </div>\r\n\r\n <button type=\"button\" matTooltip=\"Novo Telefone\" mat-flat-button color=\"primary\" (click)=\"openFormDialog(null)\">\r\n Cadastrar Novo Telefone\r\n </button>\r\n </div>\r\n\r\n\r\n <!-- Exibe a tabela de despesas somente se houver despesas -->\r\n <table class=\"my-table\" *ngIf=\"telefones && telefones.length > 0\" cdkDropList (cdkDropListDropped)=\"moverTelefone($event)\">\r\n <tr style=\"background-color: #e4e3e3cc;\">\r\n <th style=\"width: 5%; text-align: center;\">Ordem</th>\r\n <th style=\"width: 20%;\">DDD</th>\r\n <th>N\u00FAmero</th> \r\n <th>Tipo</th>\r\n <th style=\"width: 1%; text-align: center;\">A\u00E7\u00F5es</th>\r\n </tr>\r\n\r\n <tr *ngFor=\"let valor of telefones; let i = index\" class=\"my-tr\" cdkDrag>\r\n <td style=\"text-align: center;\"> \r\n <div class=\"drag-cell\" cdkDragHandle>\r\n <mat-icon>drag_indicator</mat-icon>\r\n <span>{{ i + 1 }}</span>\r\n </div>\r\n </td>\r\n <td>{{ valor.ddd }}</td> \r\n <td>{{ valor.numero }}</td> \r\n <td>{{ valor.tipo?.toUpperCase() }}</td>\r\n <td>\r\n <div class=\"actions-container\">\r\n <button type=\"button\" mat-icon-button color=\"primary\" (click)=\"editar(valor)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button color=\"warn\" (click)=\"excluir(valor)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n</table>\r\n</div>", styles: [".mes-container{padding:12px;margin-bottom:2px;border-radius:8px;box-shadow:0 2px 6px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}.mes-container:nth-child(2n){background-color:#f9f9fc}.mes-container:nth-child(odd){background-color:#fff}.mes-container:hover{background-color:#f0f0f5;box-shadow:0 4px 8px #00000026}.header-container{display:flex;align-items:center;margin-bottom:2px}.header-container button{margin-left:auto}.mes-header{display:flex;align-items:center;gap:6px;font-size:1.2rem;font-weight:700;color:#333}.my-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0000001a;font-family:Arial,sans-serif}.my-table th,.my-table td{padding:5px;text-align:left;border-bottom:1px solid #ddd}.my-table th{background-color:#005dbb7b;color:#fff;font-weight:700}.my-table tr{transition:background-color .3s ease}.my-table tr:hover{background-color:#f1f1f1}.my-table td{background-color:#fff}.my-table td button{transition:transform .2s ease}.my-table td button:hover{transform:scale(1.1)}.my-table td:last-child{text-align:center}.order-input{width:40px;text-align:center;border:1px solid #ccc;border-radius:4px;padding:2px}.order-input:focus{border-color:#1976d2;outline:none}.drag-cell{display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:grab;-webkit-user-select:none;user-select:none}.drag-cell mat-icon{font-size:18px;line-height:1;vertical-align:middle}.cdk-drag-preview{background:#fff;border-radius:6px;box-shadow:0 4px 12px #0003;display:table;border-collapse:collapse}.cdk-drag-placeholder{opacity:0;display:table-row}.cdk-drag-animating{transition:transform .2s cubic-bezier(0,0,.2,1)}table[cdkDropList] tr{border-bottom:1px solid #e0e0e0}table[cdkDropList] td{padding:8px}.actions-container{display:flex;justify-content:flex-end;gap:4px}\n"] }]
161
161
  }], ctorParameters: () => [{ type: i1.MatSnackBar }, { type: i2.UnBPessoaService }, { type: i3.MatDialog }], propDecorators: { podeEditar: [{
@@ -167,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
167
167
  }], telefonesEmitted: [{
168
168
  type: Output
169
169
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFNekcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7QUFRdEUsTUFBTSxPQUFPLDhCQUE4QjtJQVN6QyxZQUFvQixRQUFxQixFQUFVLE9BQXlCLEVBQVMsTUFBaUI7UUFBbEYsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVA3RixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztJQU1yRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsMkVBQTJFO0lBQzNFLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyw4Q0FBOEM7UUFDOUMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzNDLDZDQUE2QztZQUM3QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxtQkFBc0M7UUFDNUMsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQiw4Q0FBOEM7WUFDOUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkYsQ0FBQzthQUFNLENBQUM7WUFDTixtREFBbUQ7WUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUVELDZFQUE2RTtRQUM3RSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUErQjtRQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDdkMsUUFBUSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBRUgsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBVztRQUN4QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRTtZQUNqRSxLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRTtnQkFDSixRQUFRLEVBQUUsTUFBTSxFQUFFLDBDQUEwQztnQkFDNUQsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsa0NBQWtDO2FBQ2pFO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osT0FBTyxDQUFDLDJDQUEyQztZQUNyRCxDQUFDO1lBRUQsOERBQThEO1lBQzlELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRWYsdUVBQXVFO1lBQ3ZFLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNsQixLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwRSxDQUFDO1lBRUQscURBQXFEO1lBQ3JELHlEQUF5RDtZQUN6RCxpRUFBaUU7WUFDakUsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNoQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRSxDQUFDO1lBRUQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDZix1RUFBdUU7Z0JBQ3ZFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDO1lBQ2pDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixzREFBc0Q7Z0JBQ3RELGlEQUFpRDtnQkFDakQsNENBQTRDO2dCQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixDQUFDO1lBRUQsNERBQTREO1lBQzVELG1CQUFtQjtZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBeUI7UUFDckMsa0NBQWtDO1FBQ2xDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXpFLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixzRkFBc0Y7UUFDdEYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV2Qyx3RUFBd0U7UUFDeEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7UUFDeEQsTUFBTSxrQkFBa0IsR0FBd0IsRUFBRSxDQUFDO1FBRW5ELFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUIsSUFBSSxRQUFRLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxRQUFRLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDbEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNuQyxDQUFDO2dCQUNELFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILCtFQUErRTtRQUMvRSxNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQzFDLGlEQUFpRDtRQUNqRCxJQUFJLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUUzQiw0REFBNEQ7UUFDNUQsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLEVBQUU7WUFDakMsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztnQkFDL0Msa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixDQUFDO1lBQ0QsT0FBTyxrQkFBa0IsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQztRQUVGLDRDQUE0QztRQUM1QyxvREFBb0Q7UUFDcEQsMENBQTBDO1FBQzFDLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNoQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQzVELElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN6QywwREFBMEQ7b0JBQzFELGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sOERBQThEO29CQUM5RCxRQUFRLENBQUMsS0FBSyxHQUFHLHFCQUFxQixFQUFFLENBQUM7b0JBQ3pDLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsK0JBQStCO2dCQUN0RSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsaUVBQWlFO1FBQ2pFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNwQyxRQUFRLENBQUMsS0FBSyxHQUFHLHFCQUFxQixFQUFFLENBQUM7WUFDekMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQzs4R0FwS1UsOEJBQThCO2tHQUE5Qiw4QkFBOEIsb09DZjNDLDZnRUErQ007OzJGRGhDTyw4QkFBOEI7a0JBTjFDLFNBQVM7aUNBQ0ksS0FBSyxZQUNQLDhCQUE4Qjt1SUFNL0IsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FUZWxlZm9uZSwgVW5iUGVzc29hVGVsZWZvbmVUaXBvIH0gZnJvbSAnLi4vdW5iLXBlc3NvYS1tb2RlbHMvdW5iLXBlc3NvYS10ZWxlZm9uZS5tb2RlbCc7XHJcbmltcG9ydCB7IFVuQlBlc3NvYVNlcnZpY2UgfSBmcm9tICcuLi91bmItcGVzc29hLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FUZWxlZm9uZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3VuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSc7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxyXG4gIHNlbGVjdG9yOiAnbGliLXVuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgcG9kZUVkaXRhciA9IHRydWU7XHJcbiAgQElucHV0KCkgdGVsZWZvbmVzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBiYWNrZW5kVVJMOiBzdHJpbmcgPSAnJztcclxuICBAT3V0cHV0KCkgdGVsZWZvbmVzRW1pdHRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VW5iUGVzc29hVGVsZWZvbmVbXT4oKTtcclxuXHJcbiAgdGlwb1RlbGVmb25lITogT2JzZXJ2YWJsZTxVbmJQZXNzb2FUZWxlZm9uZVRpcG9bXT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLCBwcml2YXRlIHNlcnZpY2U6IFVuQlBlc3NvYVNlcnZpY2UsIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50aXBvVGVsZWZvbmUgPSB0aGlzLnNlcnZpY2UuZ2V0VGlwb1RlbGVmb25lKCk7XHJcbiAgfVxyXG5cclxuICAvLyB0ZW0gcXVlIGZhemVyIGlzc28gcHEgbm8gb24gaW5pdCBldSBhaW5kYSBuYW8gdGVuaG8gYSBsaXN0YSBkZSB0ZWxlZm9uZXNcclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAvLyBWZXJpZmljYSBzZSBhIHByb3ByaWVkYWRlICd0ZWxlZm9uZXMnIG11ZG91XHJcbiAgICBpZiAoY2hhbmdlc1sndGVsZWZvbmVzJ10gJiYgdGhpcy50ZWxlZm9uZXMpIHtcclxuICAgICAgLy8gY2hhbWFkYSBxdWFuZG8gb3MgZGFkb3MgcmVhbG1lbnRlIGNoZWdhcmVtXHJcbiAgICAgIHRoaXMuc29ydEFuZEFzc2lnbk9yZGVyKCk7IFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhjbHVpcih0ZWxlZm9uZVBhcmFFeGNsdWlyOiBVbmJQZXNzb2FUZWxlZm9uZSkge1xyXG4gICAgaWYgKHRlbGVmb25lUGFyYUV4Y2x1aXIuY29kaWdvKSB7XHJcbiAgICAgIC8vIFNlIHRlbSBjw7NkaWdvLCByZW1vdmUgcG9yIGVsZSAobWFpcyBzZWd1cm8pXHJcbiAgICAgIHRoaXMudGVsZWZvbmVzID0gdGhpcy50ZWxlZm9uZXMuZmlsdGVyKHQgPT4gdC5jb2RpZ28gIT09IHRlbGVmb25lUGFyYUV4Y2x1aXIuY29kaWdvKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFNlIG7Do28gdGVtIGPDs2RpZ28gKG5vdm8gaXRlbSksIHJlbW92ZSBwZWxhIG9yZGVtXHJcbiAgICAgIHRoaXMudGVsZWZvbmVzID0gdGhpcy50ZWxlZm9uZXMuZmlsdGVyKHQgPT4gdC5vcmRlbSAhPT0gdGVsZWZvbmVQYXJhRXhjbHVpci5vcmRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hhbWEgZnVuw6fDo28gZXhpc3RlbnRlIHF1ZSByZS1jYWxjdWxhIGFzIG9yZGVucyBlIGVtaXRlIGEgbGlzdGEgYXR1YWxpemFkYVxyXG4gICAgdGhpcy5hdHVhbGl6YXJPcmRlbSgpO1xyXG4gICAgdGhpcy50ZWxlZm9uZXNFbWl0dGVkLmVtaXQodGhpcy50ZWxlZm9uZXMpO1xyXG4gIH1cclxuXHJcbiAgZWRpdGFyKHRlbGVmb25lOiBVbmJQZXNzb2FUZWxlZm9uZVRpcG8pIHtcclxuICAgIHRoaXMub3BlbkZvcm1EaWFsb2codGVsZWZvbmUpO1xyXG4gIH1cclxuXHJcbiAgYXR1YWxpemFyT3JkZW0oKSB7XHJcbiAgICB0aGlzLnRlbGVmb25lcy5mb3JFYWNoKCh0ZWxlZm9uZSwgaWR4KSA9PiB7XHJcbiAgICAgIHRlbGVmb25lLm9yZGVtID0gaWR4ICsgMTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIHJlZW1pdGUgYSBsaXN0YSBhdHVhbGl6YWRhLCBpZ3VhbCBhbnRlc1xyXG4gICAgdGhpcy50ZWxlZm9uZXNFbWl0dGVkLmVtaXQodGhpcy50ZWxlZm9uZXMpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkZvcm1EaWFsb2codG9FZGl0OiBhbnkpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVW5iUGVzc29hVGVsZWZvbmVGb3JtQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnOTAwcHgnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgdGVsZWZvbmU6IHRvRWRpdCwgLy8gRS1tYWlsIGEgc2VyIGVkaXRhZG8gb3UgdmF6aW8gcGFyYSBub3ZvXHJcbiAgICAgICAgdGVsZWZvbmVzTGlzdDogdGhpcy50ZWxlZm9uZXMgLy8gQSBzdWEgbGlzdGEgQ09NUExFVEEgZGUgZS1tYWlsc1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmICghcmVzdWx0KSB7XHJcbiAgICAgICAgcmV0dXJuOyAvLyBVc3XDoXJpbyBjbGljb3UgZW0gJ0ZlY2hhcicgb3UgJ0NhbmNlbGFyJ1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyAncmVzdWx0JyDDqSBvIG9iamV0byByZXRvcm5hZG8gcGVsbyBkaWFsb2cgKGVkaXRhZG8gb3Ugbm92bylcclxuICAgICAgbGV0IGluZGV4ID0gLTE7XHJcblxyXG4gICAgICAvLyAxLiBUZW50YSBlbmNvbnRyYXIgcGVsbyAnY29kaWdvJyAocGFyYSBpdGVucyBxdWUgasOhIHZpZXJhbSBkbyBiYW5jbylcclxuICAgICAgaWYgKHJlc3VsdC5jb2RpZ28pIHtcclxuICAgICAgICBpbmRleCA9IHRoaXMudGVsZWZvbmVzLmZpbmRJbmRleCh0ID0+IHQuY29kaWdvID09PSByZXN1bHQuY29kaWdvKTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgLy8gMi4gU2UgbsOjbyBhY2hvdSBwZWxvICdjb2RpZ28nLCB0ZW50YSBwZWxhICdvcmRlbScuXHJcbiAgICAgIC8vIEEgJ29yZGVtJyDDqSBvIG5vc3NvIGlkZW50aWZpY2Fkb3Igw7puaWNvIHBhcmEgaXRlbnMgcXVlXHJcbiAgICAgIC8vIGFpbmRhIG7Do28gZm9yYW0gc2Fsdm9zIG5vIGJhbmNvIChjcmlhZG9zL2VkaXRhZG9zIGxvY2FsbWVudGUpLlxyXG4gICAgICBpZiAoaW5kZXggPT09IC0xICYmIHJlc3VsdC5vcmRlbSkge1xyXG4gICAgICAgICBpbmRleCA9IHRoaXMudGVsZWZvbmVzLmZpbmRJbmRleCh0ID0+IHQub3JkZW0gPT09IHJlc3VsdC5vcmRlbSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgLy8gRU5DT05UUk9VIChwZWxvICdjb2RpZ28nIG91IHBlbGEgJ29yZGVtJyk6IEF0dWFsaXphIG8gaXRlbSBleGlzdGVudGVcclxuICAgICAgICB0aGlzLnRlbGVmb25lc1tpbmRleF0gPSByZXN1bHQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gTsODTyBFTkNPTlRST1U6IMOJIHVtIGl0ZW0gMTAwJSBub3ZvIChuw6NvIHVtYSBlZGnDp8OjbylcclxuICAgICAgICAvLyBPIGZvcm0gKHVuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSkgasOhIGN1aWRvdSBkZVxyXG4gICAgICAgIC8vIGF0cmlidWlyIGEgJ29yZGVtJyBjb3JyZXRhIChtYXhPcmRlbSArIDEpXHJcbiAgICAgICAgdGhpcy50ZWxlZm9uZXMucHVzaChyZXN1bHQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyB2YW1vcyBhcGVuYXMgcmUtb3JkZW5hciBhIGxpc3RhIHBlbGEgJ29yZGVtJyBxdWUgasOhIHRlbW9zXHJcbiAgICAgIC8vIGUgZGVwb2lzIGVtaXRpci5cclxuICAgICAgdGhpcy50ZWxlZm9uZXMuc29ydCgoYSwgYikgPT4gKGEub3JkZW0gPz8gMCkgLSAoYi5vcmRlbSA/PyAwKSk7XHJcbiAgICAgIHRoaXMudGVsZWZvbmVzRW1pdHRlZC5lbWl0KHRoaXMudGVsZWZvbmVzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbW92ZXJUZWxlZm9uZShldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10+KSB7XHJcbiAgICAvLyB0cm9jYSBhIHBvc2nDp8OjbyBkZW50cm8gZG8gYXJyYXlcclxuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLnRlbGVmb25lcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuXHJcbiAgICAvLyBhdHVhbGl6YSBvIGNhbXBvICdvcmRlbScgZW0gY2FkYSBpdGVtXHJcbiAgICB0aGlzLmF0dWFsaXphck9yZGVtKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNvcnRBbmRBc3NpZ25PcmRlcigpOiB2b2lkIHtcclxuICAgIC8vIDEuIENyaWUgdW1hIGPDs3BpYSBkYSBsaXN0YSBwYXJhIG7Do28gbW9kaWZpY2FyIGEgb3JpZ2luYWwgZHVyYW50ZSBhIGl0ZXJhw6fDo28gaW5pY2lhbFxyXG4gICAgY29uc3QgdGVtcEVtYWlscyA9IFsuLi50aGlzLnRlbGVmb25lc107XHJcblxyXG4gICAgLy8gMi4gTWFwZWllIGFzIG9yZGVucyBleGlzdGVudGVzIHBhcmEgaWRlbnRpZmljYXIgZHVwbGljYXRhcyBlIGF1c2VudGVzXHJcbiAgICBjb25zdCBvcmRlck1hcCA9IG5ldyBNYXA8bnVtYmVyLCBVbmJQZXNzb2FUZWxlZm9uZVtdPigpO1xyXG4gICAgY29uc3QgZW1haWxzV2l0aG91dE9yZGVyOiBVbmJQZXNzb2FUZWxlZm9uZVtdID0gW107XHJcblxyXG4gICAgdGVtcEVtYWlscy5mb3JFYWNoKHRlbGVmb25lID0+IHtcclxuICAgICAgaWYgKHRlbGVmb25lLm9yZGVtICE9PSB1bmRlZmluZWQgJiYgdGVsZWZvbmUub3JkZW0gIT09IG51bGwpIHtcclxuICAgICAgICBpZiAoIW9yZGVyTWFwLmhhcyh0ZWxlZm9uZS5vcmRlbSkpIHtcclxuICAgICAgICAgIG9yZGVyTWFwLnNldCh0ZWxlZm9uZS5vcmRlbSwgW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvcmRlck1hcC5nZXQodGVsZWZvbmUub3JkZW0pPy5wdXNoKHRlbGVmb25lKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBlbWFpbHNXaXRob3V0T3JkZXIucHVzaCh0ZWxlZm9uZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDMuIEluaWNpYWxpemUgdW0gU2V0IHBhcmEgcmFzdHJlYXIgdG9kYXMgYXMgb3JkZW5zIHF1ZSBzZXLDo28gdXNhZGFzIG5vIGZpbmFsXHJcbiAgICBjb25zdCBmaW5hbFVzZWRPcmRlcnMgPSBuZXcgU2V0PG51bWJlcj4oKTtcclxuICAgIC8vIEluaWNpYWxpemUgbyBwcsOzeGltbyB2YWxvciBkZSBvcmRlbSBkaXNwb27DrXZlbFxyXG4gICAgbGV0IG5leHRBdmFpbGFibGVPcmRlciA9IDA7XHJcblxyXG4gICAgLy8gRnVuw6fDo28gYXV4aWxpYXIgcGFyYSBlbmNvbnRyYXIgYSBwcsOzeGltYSBvcmRlbSBkaXNwb27DrXZlbFxyXG4gICAgY29uc3QgZ2V0TmV4dEF2YWlsYWJsZU9yZGVyID0gKCkgPT4ge1xyXG4gICAgICB3aGlsZSAoZmluYWxVc2VkT3JkZXJzLmhhcyhuZXh0QXZhaWxhYmxlT3JkZXIpKSB7XHJcbiAgICAgICAgbmV4dEF2YWlsYWJsZU9yZGVyKys7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5leHRBdmFpbGFibGVPcmRlcisrO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyA0LiBQcm9jZXNzZSB0ZWxlZm9uZXMgY29tIG9yZGVtIGRlZmluaWRhOlxyXG4gICAgLy8gICAgLSBBIHByaW1laXJhIG9jb3Jyw6puY2lhIGRlIHVtYSBvcmRlbSBhIG1hbnTDqW0uXHJcbiAgICAvLyAgICAtIER1cGxpY2F0YXMgcmVjZWJlbSB1bWEgbm92YSBvcmRlbS5cclxuICAgIC8vICAgIC0gQWRpY2lvbmUgYXMgb3JkZW5zIHbDoWxpZGFzIGFvIGZpbmFsVXNlZE9yZGVycy5cclxuICAgIHRoaXMudGVsZWZvbmVzLmZvckVhY2godGVsZWZvbmUgPT4geyAvLyBJdGVyYXIgc29icmUgYSBsaXN0YSBvcmlnaW5hbCBwYXJhIG1vZGlmaWNhciBpbi1wbGFjZVxyXG4gICAgICBpZiAodGVsZWZvbmUub3JkZW0gIT09IHVuZGVmaW5lZCAmJiB0ZWxlZm9uZS5vcmRlbSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGlmICghZmluYWxVc2VkT3JkZXJzLmhhcyh0ZWxlZm9uZS5vcmRlbSkpIHtcclxuICAgICAgICAgIC8vIFNlIGEgb3JkZW0gYWluZGEgbsOjbyBmb2kgdXNhZGEsIHVzZS1hIGUgYWRpY2lvbmUgYW8gc2V0XHJcbiAgICAgICAgICBmaW5hbFVzZWRPcmRlcnMuYWRkKHRlbGVmb25lLm9yZGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gU2UgYSBvcmRlbSBqw6EgZm9pIHVzYWRhICjDqSB1bWEgZHVwbGljYXRhKSwgYXRyaWJ1YSB1bWEgbm92YVxyXG4gICAgICAgICAgdGVsZWZvbmUub3JkZW0gPSBnZXROZXh0QXZhaWxhYmxlT3JkZXIoKTtcclxuICAgICAgICAgIGZpbmFsVXNlZE9yZGVycy5hZGQodGVsZWZvbmUub3JkZW0pOyAvLyBBZGljaW9uYSBhIG5vdmEgb3JkZW0gYW8gc2V0XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyA1LiBBdHJpYnVhIG9yZGVucyBwYXJhIHRlbGVmb25lcyBxdWUgbsOjbyB0aW5oYW0gb3JkZW0gZGVmaW5pZGFcclxuICAgIGVtYWlsc1dpdGhvdXRPcmRlci5mb3JFYWNoKHRlbGVmb25lID0+IHtcclxuICAgICAgdGVsZWZvbmUub3JkZW0gPSBnZXROZXh0QXZhaWxhYmxlT3JkZXIoKTtcclxuICAgICAgZmluYWxVc2VkT3JkZXJzLmFkZCh0ZWxlZm9uZS5vcmRlbSk7IC8vIEFkaWNpb25hIGEgbm92YSBvcmRlbSBhbyBzZXRcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDYuIEZpbmFsbWVudGUsIG9yZGVuZSBhIGxpc3RhIGNvbXBsZXRhIGNvbSBhcyBvcmRlbnMgYWdvcmEgw7puaWNhc1xyXG4gICAgdGhpcy50ZWxlZm9uZXMuc29ydCgoYSwgYikgPT4gKGEub3JkZW0gPz8gMCkgLSAoYi5vcmRlbSA/PyAwKSk7XHJcbiAgfVxyXG5cclxufSIsIjxkaXYgY2xhc3M9XCJtZXMtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXMtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0dWxvXCI+XHJcbiAgICAgICAgICAgICAgICB7eyB0ZWxlZm9uZXM/Lmxlbmd0aCA9PT0gMSA/ICdUZWxlZm9uZSBDYWRhc3RyYWRvJyA6ICdUZWxlZm9uZXMgQ2FkYXN0cmFkb3MnIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXR1bG9cIj4oe3sgdGVsZWZvbmVzPy5sZW5ndGggfHwgMCB9fSk8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdFRvb2x0aXA9XCJOb3ZvIFRlbGVmb25lXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvcGVuRm9ybURpYWxvZyhudWxsKVwiPlxyXG4gICAgICAgICAgICBDYWRhc3RyYXIgTm92byBUZWxlZm9uZVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDwhLS0gRXhpYmUgYSB0YWJlbGEgZGUgZGVzcGVzYXMgc29tZW50ZSBzZSBob3V2ZXIgZGVzcGVzYXMgLS0+XHJcbiAgIDx0YWJsZSBjbGFzcz1cIm15LXRhYmxlXCIgKm5nSWY9XCJ0ZWxlZm9uZXMgJiYgdGVsZWZvbmVzLmxlbmd0aCA+IDBcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm1vdmVyVGVsZWZvbmUoJGV2ZW50KVwiPlxyXG4gICAgPHRyIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2U0ZTNlM2NjO1wiPlxyXG4gICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA1JTsgdGV4dC1hbGlnbjogY2VudGVyO1wiPk9yZGVtPC90aD5cclxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogMjAlO1wiPkRERDwvdGg+XHJcbiAgICAgICAgPHRoPk7Dum1lcm88L3RoPiBcclxuICAgICAgICA8dGg+VGlwbzwvdGg+XHJcbiAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDElOyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+QcOnw7VlczwvdGg+XHJcbiAgICA8L3RyPlxyXG5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgdmFsb3Igb2YgdGVsZWZvbmVzOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJteS10clwiIGNka0RyYWc+XHJcbiAgICAgICAgPHRkIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPiBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyYWctY2VsbFwiIGNka0RyYWdIYW5kbGU+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaSArIDEgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPHRkPnt7IHZhbG9yLmRkZCB9fTwvdGQ+IFxyXG4gICAgICAgIDx0ZD57eyB2YWxvci5udW1lcm8gfX08L3RkPiBcclxuICAgICAgICA8dGQ+e3sgdmFsb3IudGlwbz8udG9VcHBlckNhc2UoKSB9fTwvdGQ+XHJcbiAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9ucy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZWRpdGFyKHZhbG9yKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJleGNsdWlyKHZhbG9yKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICA8L3RyPlxyXG48L3RhYmxlPlxyXG48L2Rpdj4iXX0=
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFNekcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7QUFRdEUsTUFBTSxPQUFPLDhCQUE4QjtJQVN6QyxZQUFvQixRQUFxQixFQUFVLE9BQXlCLEVBQVMsTUFBaUI7UUFBbEYsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVA3RixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztJQU1yRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsMkVBQTJFO0lBQzNFLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyw4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QUFRLENBQUMsS0FBSyxHQUFHLHFCQUFxQixFQUFFLENBQUM7b0JBQ3pDLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsK0JBQStCO2dCQUN0RSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsaUVBQWlFO1FBQ2pFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNwQyxRQUFRLENBQUMsS0FBSyxHQUFHLHFCQUFxQixFQUFFLENBQUM7WUFDekMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQzsrR0FwS1UsOEJBQThCO21HQUE5Qiw4QkFBOEIsb09DZjNDLDZnRUErQ007OzRGRGhDTyw4QkFBOEI7a0JBTjFDLFNBQVM7aUNBQ0ksS0FBSyxZQUNQLDhCQUE4Qjt1SUFNL0IsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FUZWxlZm9uZSwgVW5iUGVzc29hVGVsZWZvbmVUaXBvIH0gZnJvbSAnLi4vdW5iLXBlc3NvYS1tb2RlbHMvdW5iLXBlc3NvYS10ZWxlZm9uZS5tb2RlbCc7XHJcbmltcG9ydCB7IFVuQlBlc3NvYVNlcnZpY2UgfSBmcm9tICcuLi91bmItcGVzc29hLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FUZWxlZm9uZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3VuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSc7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxyXG4gIHNlbGVjdG9yOiAnbGliLXVuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgcG9kZUVkaXRhciA9IHRydWU7XHJcbiAgQElucHV0KCkgdGVsZWZvbmVzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBiYWNrZW5kVVJMOiBzdHJpbmcgPSAnJztcclxuICBAT3V0cHV0KCkgdGVsZWZvbmVzRW1pdHRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VW5iUGVzc29hVGVsZWZvbmVbXT4oKTtcclxuXHJcbiAgdGlwb1RlbGVmb25lITogT2JzZXJ2YWJsZTxVbmJQZXNzb2FUZWxlZm9uZVRpcG9bXT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLCBwcml2YXRlIHNlcnZpY2U6IFVuQlBlc3NvYVNlcnZpY2UsIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50aXBvVGVsZWZvbmUgPSB0aGlzLnNlcnZpY2UuZ2V0VGlwb1RlbGVmb25lKCk7XHJcbiAgfVxyXG5cclxuICAvLyB0ZW0gcXVlIGZhemVyIGlzc28gcHEgbm8gb24gaW5pdCBldSBhaW5kYSBuYW8gdGVuaG8gYSBsaXN0YSBkZSB0ZWxlZm9uZXNcclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAvLyBWZXJpZmljYSBzZSBhIHByb3ByaWVkYWRlICd0ZWxlZm9uZXMnIG11ZG91XHJcbiAgICBpZiAoY2hhbmdlc1sndGVsZWZvbmVzJ10gJiYgdGhpcy50ZWxlZm9uZXMpIHtcclxuICAgICAgLy8gY2hhbWFkYSBxdWFuZG8gb3MgZGFkb3MgcmVhbG1lbnRlIGNoZWdhcmVtXHJcbiAgICAgIHRoaXMuc29ydEFuZEFzc2lnbk9yZGVyKCk7IFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhjbHVpcih0ZWxlZm9uZVBhcmFFeGNsdWlyOiBVbmJQZXNzb2FUZWxlZm9uZSkge1xyXG4gICAgaWYgKHRlbGVmb25lUGFyYUV4Y2x1aXIuY29kaWdvKSB7XHJcbiAgICAgIC8vIFNlIHRlbSBjw7NkaWdvLCByZW1vdmUgcG9yIGVsZSAobWFpcyBzZWd1cm8pXHJcbiAgICAgIHRoaXMudGVsZWZvbmVzID0gdGhpcy50ZWxlZm9uZXMuZmlsdGVyKHQgPT4gdC5jb2RpZ28gIT09IHRlbGVmb25lUGFyYUV4Y2x1aXIuY29kaWdvKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFNlIG7Do28gdGVtIGPDs2RpZ28gKG5vdm8gaXRlbSksIHJlbW92ZSBwZWxhIG9yZGVtXHJcbiAgICAgIHRoaXMudGVsZWZvbmVzID0gdGhpcy50ZWxlZm9uZXMuZmlsdGVyKHQgPT4gdC5vcmRlbSAhPT0gdGVsZWZvbmVQYXJhRXhjbHVpci5vcmRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hhbWEgZnVuw6fDo28gZXhpc3RlbnRlIHF1ZSByZS1jYWxjdWxhIGFzIG9yZGVucyBlIGVtaXRlIGEgbGlzdGEgYXR1YWxpemFkYVxyXG4gICAgdGhpcy5hdHVhbGl6YXJPcmRlbSgpO1xyXG4gICAgdGhpcy50ZWxlZm9uZXNFbWl0dGVkLmVtaXQodGhpcy50ZWxlZm9uZXMpO1xyXG4gIH1cclxuXHJcbiAgZWRpdGFyKHRlbGVmb25lOiBVbmJQZXNzb2FUZWxlZm9uZVRpcG8pIHtcclxuICAgIHRoaXMub3BlbkZvcm1EaWFsb2codGVsZWZvbmUpO1xyXG4gIH1cclxuXHJcbiAgYXR1YWxpemFyT3JkZW0oKSB7XHJcbiAgICB0aGlzLnRlbGVmb25lcy5mb3JFYWNoKCh0ZWxlZm9uZSwgaWR4KSA9PiB7XHJcbiAgICAgIHRlbGVmb25lLm9yZGVtID0gaWR4ICsgMTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIHJlZW1pdGUgYSBsaXN0YSBhdHVhbGl6YWRhLCBpZ3VhbCBhbnRlc1xyXG4gICAgdGhpcy50ZWxlZm9uZXNFbWl0dGVkLmVtaXQodGhpcy50ZWxlZm9uZXMpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkZvcm1EaWFsb2codG9FZGl0OiBhbnkpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVW5iUGVzc29hVGVsZWZvbmVGb3JtQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnOTAwcHgnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgdGVsZWZvbmU6IHRvRWRpdCwgLy8gRS1tYWlsIGEgc2VyIGVkaXRhZG8gb3UgdmF6aW8gcGFyYSBub3ZvXHJcbiAgICAgICAgdGVsZWZvbmVzTGlzdDogdGhpcy50ZWxlZm9uZXMgLy8gQSBzdWEgbGlzdGEgQ09NUExFVEEgZGUgZS1tYWlsc1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmICghcmVzdWx0KSB7XHJcbiAgICAgICAgcmV0dXJuOyAvLyBVc3XDoXJpbyBjbGljb3UgZW0gJ0ZlY2hhcicgb3UgJ0NhbmNlbGFyJ1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyAncmVzdWx0JyDDqSBvIG9iamV0byByZXRvcm5hZG8gcGVsbyBkaWFsb2cgKGVkaXRhZG8gb3Ugbm92bylcclxuICAgICAgbGV0IGluZGV4ID0gLTE7XHJcblxyXG4gICAgICAvLyAxLiBUZW50YSBlbmNvbnRyYXIgcGVsbyAnY29kaWdvJyAocGFyYSBpdGVucyBxdWUgasOhIHZpZXJhbSBkbyBiYW5jbylcclxuICAgICAgaWYgKHJlc3VsdC5jb2RpZ28pIHtcclxuICAgICAgICBpbmRleCA9IHRoaXMudGVsZWZvbmVzLmZpbmRJbmRleCh0ID0+IHQuY29kaWdvID09PSByZXN1bHQuY29kaWdvKTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgLy8gMi4gU2UgbsOjbyBhY2hvdSBwZWxvICdjb2RpZ28nLCB0ZW50YSBwZWxhICdvcmRlbScuXHJcbiAgICAgIC8vIEEgJ29yZGVtJyDDqSBvIG5vc3NvIGlkZW50aWZpY2Fkb3Igw7puaWNvIHBhcmEgaXRlbnMgcXVlXHJcbiAgICAgIC8vIGFpbmRhIG7Do28gZm9yYW0gc2Fsdm9zIG5vIGJhbmNvIChjcmlhZG9zL2VkaXRhZG9zIGxvY2FsbWVudGUpLlxyXG4gICAgICBpZiAoaW5kZXggPT09IC0xICYmIHJlc3VsdC5vcmRlbSkge1xyXG4gICAgICAgICBpbmRleCA9IHRoaXMudGVsZWZvbmVzLmZpbmRJbmRleCh0ID0+IHQub3JkZW0gPT09IHJlc3VsdC5vcmRlbSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgLy8gRU5DT05UUk9VIChwZWxvICdjb2RpZ28nIG91IHBlbGEgJ29yZGVtJyk6IEF0dWFsaXphIG8gaXRlbSBleGlzdGVudGVcclxuICAgICAgICB0aGlzLnRlbGVmb25lc1tpbmRleF0gPSByZXN1bHQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gTsODTyBFTkNPTlRST1U6IMOJIHVtIGl0ZW0gMTAwJSBub3ZvIChuw6NvIHVtYSBlZGnDp8OjbylcclxuICAgICAgICAvLyBPIGZvcm0gKHVuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSkgasOhIGN1aWRvdSBkZVxyXG4gICAgICAgIC8vIGF0cmlidWlyIGEgJ29yZGVtJyBjb3JyZXRhIChtYXhPcmRlbSArIDEpXHJcbiAgICAgICAgdGhpcy50ZWxlZm9uZXMucHVzaChyZXN1bHQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyB2YW1vcyBhcGVuYXMgcmUtb3JkZW5hciBhIGxpc3RhIHBlbGEgJ29yZGVtJyBxdWUgasOhIHRlbW9zXHJcbiAgICAgIC8vIGUgZGVwb2lzIGVtaXRpci5cclxuICAgICAgdGhpcy50ZWxlZm9uZXMuc29ydCgoYSwgYikgPT4gKGEub3JkZW0gPz8gMCkgLSAoYi5vcmRlbSA/PyAwKSk7XHJcbiAgICAgIHRoaXMudGVsZWZvbmVzRW1pdHRlZC5lbWl0KHRoaXMudGVsZWZvbmVzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbW92ZXJUZWxlZm9uZShldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10+KSB7XHJcbiAgICAvLyB0cm9jYSBhIHBvc2nDp8OjbyBkZW50cm8gZG8gYXJyYXlcclxuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLnRlbGVmb25lcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuXHJcbiAgICAvLyBhdHVhbGl6YSBvIGNhbXBvICdvcmRlbScgZW0gY2FkYSBpdGVtXHJcbiAgICB0aGlzLmF0dWFsaXphck9yZGVtKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNvcnRBbmRBc3NpZ25PcmRlcigpOiB2b2lkIHtcclxuICAgIC8vIDEuIENyaWUgdW1hIGPDs3BpYSBkYSBsaXN0YSBwYXJhIG7Do28gbW9kaWZpY2FyIGEgb3JpZ2luYWwgZHVyYW50ZSBhIGl0ZXJhw6fDo28gaW5pY2lhbFxyXG4gICAgY29uc3QgdGVtcEVtYWlscyA9IFsuLi50aGlzLnRlbGVmb25lc107XHJcblxyXG4gICAgLy8gMi4gTWFwZWllIGFzIG9yZGVucyBleGlzdGVudGVzIHBhcmEgaWRlbnRpZmljYXIgZHVwbGljYXRhcyBlIGF1c2VudGVzXHJcbiAgICBjb25zdCBvcmRlck1hcCA9IG5ldyBNYXA8bnVtYmVyLCBVbmJQZXNzb2FUZWxlZm9uZVtdPigpO1xyXG4gICAgY29uc3QgZW1haWxzV2l0aG91dE9yZGVyOiBVbmJQZXNzb2FUZWxlZm9uZVtdID0gW107XHJcblxyXG4gICAgdGVtcEVtYWlscy5mb3JFYWNoKHRlbGVmb25lID0+IHtcclxuICAgICAgaWYgKHRlbGVmb25lLm9yZGVtICE9PSB1bmRlZmluZWQgJiYgdGVsZWZvbmUub3JkZW0gIT09IG51bGwpIHtcclxuICAgICAgICBpZiAoIW9yZGVyTWFwLmhhcyh0ZWxlZm9uZS5vcmRlbSkpIHtcclxuICAgICAgICAgIG9yZGVyTWFwLnNldCh0ZWxlZm9uZS5vcmRlbSwgW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvcmRlck1hcC5nZXQodGVsZWZvbmUub3JkZW0pPy5wdXNoKHRlbGVmb25lKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBlbWFpbHNXaXRob3V0T3JkZXIucHVzaCh0ZWxlZm9uZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDMuIEluaWNpYWxpemUgdW0gU2V0IHBhcmEgcmFzdHJlYXIgdG9kYXMgYXMgb3JkZW5zIHF1ZSBzZXLDo28gdXNhZGFzIG5vIGZpbmFsXHJcbiAgICBjb25zdCBmaW5hbFVzZWRPcmRlcnMgPSBuZXcgU2V0PG51bWJlcj4oKTtcclxuICAgIC8vIEluaWNpYWxpemUgbyBwcsOzeGltbyB2YWxvciBkZSBvcmRlbSBkaXNwb27DrXZlbFxyXG4gICAgbGV0IG5leHRBdmFpbGFibGVPcmRlciA9IDA7XHJcblxyXG4gICAgLy8gRnVuw6fDo28gYXV4aWxpYXIgcGFyYSBlbmNvbnRyYXIgYSBwcsOzeGltYSBvcmRlbSBkaXNwb27DrXZlbFxyXG4gICAgY29uc3QgZ2V0TmV4dEF2YWlsYWJsZU9yZGVyID0gKCkgPT4ge1xyXG4gICAgICB3aGlsZSAoZmluYWxVc2VkT3JkZXJzLmhhcyhuZXh0QXZhaWxhYmxlT3JkZXIpKSB7XHJcbiAgICAgICAgbmV4dEF2YWlsYWJsZU9yZGVyKys7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5leHRBdmFpbGFibGVPcmRlcisrO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyA0LiBQcm9jZXNzZSB0ZWxlZm9uZXMgY29tIG9yZGVtIGRlZmluaWRhOlxyXG4gICAgLy8gICAgLSBBIHByaW1laXJhIG9jb3Jyw6puY2lhIGRlIHVtYSBvcmRlbSBhIG1hbnTDqW0uXHJcbiAgICAvLyAgICAtIER1cGxpY2F0YXMgcmVjZWJlbSB1bWEgbm92YSBvcmRlbS5cclxuICAgIC8vICAgIC0gQWRpY2lvbmUgYXMgb3JkZW5zIHbDoWxpZGFzIGFvIGZpbmFsVXNlZE9yZGVycy5cclxuICAgIHRoaXMudGVsZWZvbmVzLmZvckVhY2godGVsZWZvbmUgPT4geyAvLyBJdGVyYXIgc29icmUgYSBsaXN0YSBvcmlnaW5hbCBwYXJhIG1vZGlmaWNhciBpbi1wbGFjZVxyXG4gICAgICBpZiAodGVsZWZvbmUub3JkZW0gIT09IHVuZGVmaW5lZCAmJiB0ZWxlZm9uZS5vcmRlbSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGlmICghZmluYWxVc2VkT3JkZXJzLmhhcyh0ZWxlZm9uZS5vcmRlbSkpIHtcclxuICAgICAgICAgIC8vIFNlIGEgb3JkZW0gYWluZGEgbsOjbyBmb2kgdXNhZGEsIHVzZS1hIGUgYWRpY2lvbmUgYW8gc2V0XHJcbiAgICAgICAgICBmaW5hbFVzZWRPcmRlcnMuYWRkKHRlbGVmb25lLm9yZGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gU2UgYSBvcmRlbSBqw6EgZm9pIHVzYWRhICjDqSB1bWEgZHVwbGljYXRhKSwgYXRyaWJ1YSB1bWEgbm92YVxyXG4gICAgICAgICAgdGVsZWZvbmUub3JkZW0gPSBnZXROZXh0QXZhaWxhYmxlT3JkZXIoKTtcclxuICAgICAgICAgIGZpbmFsVXNlZE9yZGVycy5hZGQodGVsZWZvbmUub3JkZW0pOyAvLyBBZGljaW9uYSBhIG5vdmEgb3JkZW0gYW8gc2V0XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyA1LiBBdHJpYnVhIG9yZGVucyBwYXJhIHRlbGVmb25lcyBxdWUgbsOjbyB0aW5oYW0gb3JkZW0gZGVmaW5pZGFcclxuICAgIGVtYWlsc1dpdGhvdXRPcmRlci5mb3JFYWNoKHRlbGVmb25lID0+IHtcclxuICAgICAgdGVsZWZvbmUub3JkZW0gPSBnZXROZXh0QXZhaWxhYmxlT3JkZXIoKTtcclxuICAgICAgZmluYWxVc2VkT3JkZXJzLmFkZCh0ZWxlZm9uZS5vcmRlbSk7IC8vIEFkaWNpb25hIGEgbm92YSBvcmRlbSBhbyBzZXRcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDYuIEZpbmFsbWVudGUsIG9yZGVuZSBhIGxpc3RhIGNvbXBsZXRhIGNvbSBhcyBvcmRlbnMgYWdvcmEgw7puaWNhc1xyXG4gICAgdGhpcy50ZWxlZm9uZXMuc29ydCgoYSwgYikgPT4gKGEub3JkZW0gPz8gMCkgLSAoYi5vcmRlbSA/PyAwKSk7XHJcbiAgfVxyXG5cclxufSIsIjxkaXYgY2xhc3M9XCJtZXMtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXMtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0dWxvXCI+XHJcbiAgICAgICAgICAgICAgICB7eyB0ZWxlZm9uZXM/Lmxlbmd0aCA9PT0gMSA/ICdUZWxlZm9uZSBDYWRhc3RyYWRvJyA6ICdUZWxlZm9uZXMgQ2FkYXN0cmFkb3MnIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXR1bG9cIj4oe3sgdGVsZWZvbmVzPy5sZW5ndGggfHwgMCB9fSk8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdFRvb2x0aXA9XCJOb3ZvIFRlbGVmb25lXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvcGVuRm9ybURpYWxvZyhudWxsKVwiPlxyXG4gICAgICAgICAgICBDYWRhc3RyYXIgTm92byBUZWxlZm9uZVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDwhLS0gRXhpYmUgYSB0YWJlbGEgZGUgZGVzcGVzYXMgc29tZW50ZSBzZSBob3V2ZXIgZGVzcGVzYXMgLS0+XHJcbiAgIDx0YWJsZSBjbGFzcz1cIm15LXRhYmxlXCIgKm5nSWY9XCJ0ZWxlZm9uZXMgJiYgdGVsZWZvbmVzLmxlbmd0aCA+IDBcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm1vdmVyVGVsZWZvbmUoJGV2ZW50KVwiPlxyXG4gICAgPHRyIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2U0ZTNlM2NjO1wiPlxyXG4gICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA1JTsgdGV4dC1hbGlnbjogY2VudGVyO1wiPk9yZGVtPC90aD5cclxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogMjAlO1wiPkRERDwvdGg+XHJcbiAgICAgICAgPHRoPk7Dum1lcm88L3RoPiBcclxuICAgICAgICA8dGg+VGlwbzwvdGg+XHJcbiAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDElOyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+QcOnw7VlczwvdGg+XHJcbiAgICA8L3RyPlxyXG5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgdmFsb3Igb2YgdGVsZWZvbmVzOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJteS10clwiIGNka0RyYWc+XHJcbiAgICAgICAgPHRkIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPiBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyYWctY2VsbFwiIGNka0RyYWdIYW5kbGU+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaSArIDEgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPHRkPnt7IHZhbG9yLmRkZCB9fTwvdGQ+IFxyXG4gICAgICAgIDx0ZD57eyB2YWxvci5udW1lcm8gfX08L3RkPiBcclxuICAgICAgICA8dGQ+e3sgdmFsb3IudGlwbz8udG9VcHBlckNhc2UoKSB9fTwvdGQ+XHJcbiAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9ucy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZWRpdGFyKHZhbG9yKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJleGNsdWlyKHZhbG9yKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICA8L3RyPlxyXG48L3RhYmxlPlxyXG48L2Rpdj4iXX0=
@@ -32,8 +32,8 @@ import { UnbMensagemModule } from '../unb-mensagem/unb-mensagem.module';
32
32
  import { DragDropModule } from '@angular/cdk/drag-drop';
33
33
  import * as i0 from "@angular/core";
34
34
  export class UnbPessoaModule {
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
36
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaModule, declarations: [UnbPessoaFormComponent, UnbPessoaPesquisarComponent, UnbPessoaEnderecoFormComponent, UnbPessoaTelefoneListComponent, UnbPessoaenderecoListComponent, UnbPessoaTelefoneFormComponent, UnbPessoaEmailFormComponent, UnbPessoaEmailListComponent], imports: [CommonModule,
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
36
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaModule, declarations: [UnbPessoaFormComponent, UnbPessoaPesquisarComponent, UnbPessoaEnderecoFormComponent, UnbPessoaTelefoneListComponent, UnbPessoaenderecoListComponent, UnbPessoaTelefoneFormComponent, UnbPessoaEmailFormComponent, UnbPessoaEmailListComponent], imports: [CommonModule,
37
37
  FormsModule,
38
38
  BrowserModule,
39
39
  MatIconModule,
@@ -60,7 +60,7 @@ export class UnbPessoaModule {
60
60
  MatRadioModule,
61
61
  MatCardModule,
62
62
  MatDividerModule], exports: [UnbPessoaFormComponent, UnbPessoaPesquisarComponent, UnbPessoaEnderecoFormComponent, UnbPessoaTelefoneListComponent, UnbPessoaenderecoListComponent, UnbPessoaTelefoneFormComponent, UnbPessoaEmailFormComponent] }); }
63
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaModule, providers: [
63
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaModule, providers: [
64
64
  MatDatepickerModule,
65
65
  DatePipe,
66
66
  CurrencyPipe
@@ -92,7 +92,7 @@ export class UnbPessoaModule {
92
92
  MatCardModule,
93
93
  MatDividerModule] }); }
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaModule, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaModule, decorators: [{
96
96
  type: NgModule,
97
97
  args: [{
98
98
  declarations: [UnbPessoaFormComponent, UnbPessoaPesquisarComponent, UnbPessoaEnderecoFormComponent, UnbPessoaTelefoneListComponent, UnbPessoaenderecoListComponent, UnbPessoaTelefoneFormComponent, UnbPessoaEmailFormComponent, UnbPessoaEmailListComponent],
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
133
133
  ]
134
134
  }]
135
135
  }] });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmItbGliLWNvbXBvbmVudHMvc3JjL2xpYi91bmItcGVzc29hL3VuYi1wZXNzb2EubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDNUYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDckcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDckcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUF3Q3hELE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxpQkFyQ1gsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQUUsOEJBQThCLEVBQUUsOEJBQThCLEVBQUUsOEJBQThCLEVBQUUsOEJBQThCLEVBQUUsMkJBQTJCLEVBQUUsMkJBQTJCLGFBRTFQLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLGFBQWE7WUFDYixjQUFjO1lBQ2QsYUFBYTtZQUNiLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGNBQWM7WUFDZCxlQUFlO1lBQ2YsZUFBZTtZQUNmLHdCQUF3QjtZQUN4QixlQUFlO1lBQ2Ysb0JBQW9CO1lBQ3BCLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxhQUFhO1lBQ2IsZ0JBQWdCLGFBRVIsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQUUsOEJBQThCLEVBQUUsOEJBQThCLEVBQUUsOEJBQThCLEVBQUUsOEJBQThCLEVBQUUsMkJBQTJCOytHQU8vTSxlQUFlLGFBTmY7WUFDVCxtQkFBbUI7WUFDbkIsUUFBUTtZQUNSLFlBQVk7U0FDYixZQWpDQyxZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYixhQUFhO1lBQ2IsY0FBYztZQUNkLGFBQWE7WUFDYixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixjQUFjO1lBQ2QsZUFBZTtZQUNmLGVBQWU7WUFDZix3QkFBd0I7WUFDeEIsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsYUFBYTtZQUNiLGdCQUFnQjs7MkZBU1AsZUFBZTtrQkF0QzNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLEVBQUUsOEJBQThCLEVBQUUsOEJBQThCLEVBQUUsOEJBQThCLEVBQUUsOEJBQThCLEVBQUUsMkJBQTJCLEVBQUUsMkJBQTJCLENBQUM7b0JBQzdQLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSwyQkFBMkIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDM04sU0FBUyxFQUFFO3dCQUNULG1CQUFtQjt3QkFDbkIsUUFBUTt3QkFDUixZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBDdXJyZW5jeVBpcGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBVbmJVc3VhcmlvTW9kdWxlIH0gZnJvbSAnLi4vdW5iLXVzdWFyaW8vdW5iLXVzdWFyaW8ubW9kdWxlJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW1haWxGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVtYWlsLWZvcm0vdW5iLXBlc3NvYS1lbWFpbC1mb3JtJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW5kZXJlY29Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVuZGVyZWNvLWZvcm0vdW5iLXBlc3NvYS1lbmRlcmVjby1mb3JtJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1mb3JtL3VuYi1wZXNzb2EtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FQZXNxdWlzYXJDb21wb25lbnQgfSBmcm9tICcuL3VuYi1wZXNzb2EtcGVzcXVpc2FyL3VuYi1wZXNzb2EtcGVzcXVpc2FyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtL3VuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYUVtYWlsTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1lbWFpbC1mb3JtL3VuYi1wZXNzb2EtZW1haWwtbGlzdCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYWVuZGVyZWNvTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1lbmRlcmVjby1mb3JtL3VuYi1wZXNzb2EtZW5kZXJlY28tbGlzdCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtL3VuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdCc7XHJcbmltcG9ydCB7IFVuYk1lbnNhZ2VtTW9kdWxlIH0gZnJvbSAnLi4vdW5iLW1lbnNhZ2VtL3VuYi1tZW5zYWdlbS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtVbmJQZXNzb2FGb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FQZXNxdWlzYXJDb21wb25lbnQsIFVuYlBlc3NvYUVuZGVyZWNvRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hVGVsZWZvbmVMaXN0Q29tcG9uZW50LCBVbmJQZXNzb2FlbmRlcmVjb0xpc3RDb21wb25lbnQsIFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hRW1haWxGb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FFbWFpbExpc3RDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLCBcclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLCBcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFVuYlVzdWFyaW9Nb2R1bGUsIFxyXG4gICAgVW5iTWVuc2FnZW1Nb2R1bGUsXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLCBcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgICAgXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsIFxyXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsICAgXHJcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcclxuICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLCAgICBcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBNYXRSYWRpb01vZHVsZSxcclxuICAgIE1hdENhcmRNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbVW5iUGVzc29hRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hUGVzcXVpc2FyQ29tcG9uZW50LCBVbmJQZXNzb2FFbmRlcmVjb0Zvcm1Db21wb25lbnQsIFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCwgVW5iUGVzc29hZW5kZXJlY29MaXN0Q29tcG9uZW50LCBVbmJQZXNzb2FUZWxlZm9uZUZvcm1Db21wb25lbnQsIFVuYlBlc3NvYUVtYWlsRm9ybUNvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgRGF0ZVBpcGUsXHJcbiAgICBDdXJyZW5jeVBpcGVcclxuICBdIFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5iUGVzc29hTW9kdWxlIHsgfVxyXG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmItbGliLWNvbXBvbmVudHMvc3JjL2xpYi91bmItcGVzc29hL3VuYi1wZXNzb2EubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7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YixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSwyQkFBMkIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDM04sU0FBUyxFQUFFO3dCQUNULG1CQUFtQjt3QkFDbkIsUUFBUTt3QkFDUixZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBDdXJyZW5jeVBpcGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBVbmJVc3VhcmlvTW9kdWxlIH0gZnJvbSAnLi4vdW5iLXVzdWFyaW8vdW5iLXVzdWFyaW8ubW9kdWxlJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW1haWxGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVtYWlsLWZvcm0vdW5iLXBlc3NvYS1lbWFpbC1mb3JtJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW5kZXJlY29Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVuZGVyZWNvLWZvcm0vdW5iLXBlc3NvYS1lbmRlcmVjby1mb3JtJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1mb3JtL3VuYi1wZXNzb2EtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FQZXNxdWlzYXJDb21wb25lbnQgfSBmcm9tICcuL3VuYi1wZXNzb2EtcGVzcXVpc2FyL3VuYi1wZXNzb2EtcGVzcXVpc2FyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtL3VuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYUVtYWlsTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1lbWFpbC1mb3JtL3VuYi1wZXNzb2EtZW1haWwtbGlzdCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYWVuZGVyZWNvTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1lbmRlcmVjby1mb3JtL3VuYi1wZXNzb2EtZW5kZXJlY28tbGlzdCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtL3VuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdCc7XHJcbmltcG9ydCB7IFVuYk1lbnNhZ2VtTW9kdWxlIH0gZnJvbSAnLi4vdW5iLW1lbnNhZ2VtL3VuYi1tZW5zYWdlbS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtVbmJQZXNzb2FGb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FQZXNxdWlzYXJDb21wb25lbnQsIFVuYlBlc3NvYUVuZGVyZWNvRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hVGVsZWZvbmVMaXN0Q29tcG9uZW50LCBVbmJQZXNzb2FlbmRlcmVjb0xpc3RDb21wb25lbnQsIFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hRW1haWxGb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FFbWFpbExpc3RDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLCBcclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLCBcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFVuYlVzdWFyaW9Nb2R1bGUsIFxyXG4gICAgVW5iTWVuc2FnZW1Nb2R1bGUsXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLCBcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgICAgXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsIFxyXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsICAgXHJcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcclxuICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLCAgICBcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBNYXRSYWRpb01vZHVsZSxcclxuICAgIE1hdENhcmRNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbVW5iUGVzc29hRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hUGVzcXVpc2FyQ29tcG9uZW50LCBVbmJQZXNzb2FFbmRlcmVjb0Zvcm1Db21wb25lbnQsIFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCwgVW5iUGVzc29hZW5kZXJlY29MaXN0Q29tcG9uZW50LCBVbmJQZXNzb2FUZWxlZm9uZUZvcm1Db21wb25lbnQsIFVuYlBlc3NvYUVtYWlsRm9ybUNvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgRGF0ZVBpcGUsXHJcbiAgICBDdXJyZW5jeVBpcGVcclxuICBdIFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5iUGVzc29hTW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,4 +1,4 @@
1
- import { HttpHeaders } from '@angular/common/http';
1
+ import { HttpHeaders, HttpParams } from '@angular/common/http';
2
2
  import { Injectable } from '@angular/core';
3
3
  import { BehaviorSubject, catchError, map, of, throwError } from 'rxjs';
4
4
  import { UnbTipoPessoaEnum } from './unb-tipo-pessoa.enum';
@@ -118,10 +118,72 @@ export class UnBPessoaService {
118
118
  const url = `${this.getBackendUrl()}/pessoa-api/pessoas/fisicas?passaporte=${passaporte}`;
119
119
  return this.http.get(url, this.getHeaders()).pipe(catchError(this.handleError));
120
120
  }
121
- findPessoaFisicaById(id) {
122
- const url = `${this.getBackendUrl()}/pessoa-api/pessoas/fisicas/${id}`;
121
+ findPessoaFisicaByCodigoPessoa(id) {
122
+ const url = `${this.getBackendUrl()}/pessoa-api/pessoas/fisicas/codigoPessoa=${id}`;
123
123
  return this.http.get(url, this.getHeaders()).pipe(catchError(this.handleError));
124
124
  }
125
+ findPessoaJuridicaByCodigoPessoa(id) {
126
+ const url = `${this.getBackendUrl()}/pessoa-api/pessoas/juridicas/codigoPessoa=${id}`;
127
+ return this.http.get(url, this.getHeaders()).pipe(catchError(this.handleError));
128
+ }
129
+ findPessoaFisica(filtro, page, size, sort) {
130
+ const url = `${this.getBackendUrl()}/pessoa-api/pessoas/fisicas`;
131
+ let params = new HttpParams();
132
+ Object.keys(filtro).forEach((key) => {
133
+ const valor = filtro[key];
134
+ if (valor !== null && valor !== undefined && valor !== '') {
135
+ params = params.append(key, valor.toString());
136
+ }
137
+ });
138
+ // 2. Adiciona os parâmetros de Paginação (se foram passados)
139
+ if (page !== undefined && page !== null) {
140
+ params = params.append('page', page.toString());
141
+ }
142
+ if (size !== undefined && size !== null) {
143
+ params = params.append('size', size.toString());
144
+ }
145
+ if (sort) {
146
+ params = params.append('sort', sort);
147
+ }
148
+ // 3. Monta as opções da requisição
149
+ const options = {
150
+ params,
151
+ ...this.getHeaders() // Tenta espalhar as propriedades se getHeaders retornar { headers: ... }
152
+ };
153
+ return this.http.get(url, options)
154
+ .pipe(catchError(this.handleError));
155
+ }
156
+ findPessoaJuridica(filtro, page, size, sort) {
157
+ const url = `${this.getBackendUrl()}/pessoa-api/pessoas/juridicas`;
158
+ let params = new HttpParams();
159
+ // 1. Adiciona APENAS os filtros permitidos do Model
160
+ const camposPermitidos = ['idPessoa', 'codigoPessoa', 'cnpj', 'nomeFantasia', 'razaoSocial', 'sigla'];
161
+ Object.keys(filtro).forEach((key) => {
162
+ if (camposPermitidos.includes(key)) {
163
+ const valor = filtro[key];
164
+ if (valor !== null && valor !== undefined && valor !== '') {
165
+ params = params.append(key, valor.toString());
166
+ }
167
+ }
168
+ });
169
+ // 2. Adiciona os parâmetros de Paginação (se foram passados)
170
+ if (page !== undefined && page !== null) {
171
+ params = params.append('page', page.toString());
172
+ }
173
+ if (size !== undefined && size !== null) {
174
+ params = params.append('size', size.toString());
175
+ }
176
+ if (sort) {
177
+ params = params.append('sort', sort);
178
+ }
179
+ // 3. Monta as opções da requisição
180
+ const options = {
181
+ params,
182
+ ...this.getHeaders() // Tenta espalhar as propriedades se getHeaders retornar { headers: ... }
183
+ };
184
+ return this.http.get(url, options)
185
+ .pipe(catchError(this.handleError));
186
+ }
125
187
  pesquisarCep(cep) {
126
188
  const url = `${this.getBackendUrl()}/pessoa-api/public/busca-cep/servico-1/${cep}`;
127
189
  return this.http.get(url, this.getHeaders()).pipe(catchError(this.handleError));
@@ -241,13 +303,13 @@ export class UnBPessoaService {
241
303
  .replace(/_/g, ' ')
242
304
  .replace(/\b\w/g, l => l.toUpperCase());
243
305
  }
244
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnBPessoaService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
245
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnBPessoaService, providedIn: 'root' }); }
306
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnBPessoaService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
307
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnBPessoaService, providedIn: 'root' }); }
246
308
  }
247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnBPessoaService, decorators: [{
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnBPessoaService, decorators: [{
248
310
  type: Injectable,
249
311
  args: [{
250
312
  providedIn: 'root'
251
313
  }]
252
314
  }], ctorParameters: () => [{ type: i1.HttpClient }] });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXBGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFnQjNELE1BQU0sT0FBTyxnQkFBZ0I7SUFPM0IsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUxwQyxxREFBcUQ7UUFDN0Msc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDNUQsc0VBQXNFO1FBQ3RFLGdCQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBMk5wRCxzRUFBc0U7UUFDdEUsNEJBQTRCO1FBQzVCLHNFQUFzRTtRQUMvRCxnQkFBVyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxlQUFlLEdBQUcsNENBQTRDLENBQUM7WUFDbkUsSUFBSSxZQUFZLEdBQUcsZ0RBQWdELENBQUM7WUFFcEUscUNBQXFDO1lBQ3JDLElBQUksU0FBYyxDQUFDO1lBRW5CLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3ZDLCtEQUErRDtnQkFDL0QsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN0QixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osbUVBQW1FO2dC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QUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDOzhHQTdOVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjYXRjaEVycm9yLCBtYXAsIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYUVuZGVyZWNvIH0gZnJvbSAnLi91bmItcGVzc29hLW1vZGVscy91bmItcGVzc29hLWVuZGVyZWNvLm1vZGVsJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRXNjb2xhcmlkYWRlIH0gZnJvbSAnLi91bmItcGVzc29hLW1vZGVscy91bmItcGVzc29hLWVzY29sYXJpZGFkZS5tb2RlbCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYU1vZGVsIH0gZnJvbSAnLi91bmItcGVzc29hLW1vZGVscy91bmItcGVzc29hLm1vZGVsJztcclxuaW1wb3J0IHsgVW5iVGlwb1Blc3NvYUVudW0gfSBmcm9tICcuL3VuYi10aXBvLXBlc3NvYS5lbnVtJztcclxuaW1wb3J0IHsgVW5iUGVzc29hUGFpcyB9IGZyb20gJy4vdW5iLXBlc3NvYS1tb2RlbHMvdW5iLXBlc3NvYS1wYWlzJztcclxuaW1wb3J0IHsgVW5iUGVzc29hTXVuaW5jaXBpbyB9IGZyb20gJy4vdW5iLXBlc3NvYS1tb2RlbHMvdW5iLXBlc3NvYS1tdW5pY2lwaW8nO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FFc3RhZG9DaXZpbCB9IGZyb20gJy4vdW5iLXBlc3NvYS1tb2RlbHMvdW5iLXBlc3NvYS1lc3RhZG8tY2l2aWwubW9kZWwnO1xyXG5cclxuXHJcbi8vIEludGVyZmFjZSBwYXJhIHBhZHJvbml6YXIgbyBlcnJvIHF1ZSBjaGVnYSBub3MgY29tcG9uZW50ZXNcclxuZXhwb3J0IGludGVyZmFjZSBVbmJQZXNzb2FFcnJvUGFkcmFvIHtcclxuICBzdGF0dXM6IG51bWJlcjtcclxuICBtZW5zYWdlbVNpbXBsZXM6IHN0cmluZzsgLy8gUGFyYSB1c2FyIG5vIFNuYWNrQmFyXHJcbiAgbWVuc2FnZW1IdG1sOiBzdHJpbmc7ICAgIC8vIFBhcmEgdXNhciBubyBBbGVydFNlcnZpY2UgKGNvbSA8dWw+LCA8bGk+LCA8c3Ryb25nPilcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5CUGVzc29hU2VydmljZSB7XHJcblxyXG4gIC8vIEFybWF6ZW5hIGFwZW5hcyBhIHN0cmluZyBkYSBVUkwuIEluaWNpYWxpemEgdmF6aW8uXHJcbiAgcHJpdmF0ZSBiYWNrZW5kVXJsU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XHJcbiAgLy8gRXhwb3N0YSBjb21vIE9ic2VydmFibGUgKGNhc28gYWxndW0gY29tcG9uZW50ZSBxdWVpcmEgc2UgaW5zY3JldmVyKVxyXG4gIGJhY2tlbmRVcmwkID0gdGhpcy5iYWNrZW5kVXJsU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgLy8gU2V0dGVyIGFnb3JhIHJlY2ViZSBzdHJpbmcgZGlyZXRhXHJcbiAgc2V0QmFja2VuZFVybCh1cmw6IHN0cmluZykge1xyXG4gICAgLy8gVHJhdGFtZW50byByZW1vdmUgYmFycmEgbm8gZmluYWwgcGFyYSBwYWRyb25pemFyXHJcbiAgICBpZiAodXJsLmVuZHNXaXRoKCcvJykpIHtcclxuICAgICAgdXJsID0gdXJsLnNsaWNlKDAsIC0xKTtcclxuICAgIH1cclxuICAgIHRoaXMuYmFja2VuZFVybFN1YmplY3QubmV4dCh1cmwpO1xyXG4gIH1cclxuXHJcbiAgLy8gR2V0dGVyIHJldG9ybmEgc3RyaW5nIGRpcmV0YVxyXG4gIGdldEJhY2tlbmRVcmwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmJhY2tlbmRVcmxTdWJqZWN0LmdldFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvLyBIZWFkZXJzIHBhZHLDo29cclxuICBwcml2YXRlIGdldEhlYWRlcnMoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcclxuICAgICAgfSlcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvLyBNw6l0b2RvcyBkZSBidXNjYVxyXG4gIGZpbmRCeUNwZihjcGY6IHN0cmluZyB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8VW5iUGVzc29hTW9kZWw+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3Blc3NvYXMvZmlzaWNhcz9jcGY9JHtjcGZ9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFVuYlBlc3NvYU1vZGVsPih1cmwsIHRoaXMuZ2V0SGVhZGVycygpKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZmluZEJ5Q25waihjbnBqOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPFVuYlBlc3NvYU1vZGVsPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEJhY2tlbmRVcmwoKX0vcGVzc29hLWFwaS9wZXNzb2FzL2p1cmlkaWNhcz9jbnBqPSR7Y25wan1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VW5iUGVzc29hTW9kZWw+KHVybCwgdGhpcy5nZXRIZWFkZXJzKCkpLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBmaW5kQnlQYXNzYXBvcnRlKHBhc3NhcG9ydGU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8VW5iUGVzc29hTW9kZWw+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3Blc3NvYXMvZmlzaWNhcz9wYXNzYXBvcnRlPSR7cGFzc2Fwb3J0ZX1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VW5iUGVzc29hTW9kZWw+KHVybCwgdGhpcy5nZXRIZWFkZXJzKCkpLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBmaW5kUGVzc29hRmlzaWNhQnlJZChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxVbmJQZXNzb2FNb2RlbD4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5nZXRCYWNrZW5kVXJsKCl9L3Blc3NvYS1hcGkvcGVzc29hcy9maXNpY2FzLyR7aWR9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFVuYlBlc3NvYU1vZGVsPih1cmwsIHRoaXMuZ2V0SGVhZGVycygpKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcGVzcXVpc2FyQ2VwKGNlcDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEJhY2tlbmRVcmwoKX0vcGVzc29hLWFwaS9wdWJsaWMvYnVzY2EtY2VwL3NlcnZpY28tMS8ke2NlcH1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VW5iUGVzc29hRW5kZXJlY28+KHVybCwgdGhpcy5nZXRIZWFkZXJzKCkpLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBTYWx2YXIgKGRlY2lkZSBmaXNpY2Egb3UganVyaWRpY2EpXHJcbiAgc2FsdmFyKHBheWxvYWQ6IGFueSwgdGlwb1Blc3NvYTogVW5iVGlwb1Blc3NvYUVudW0pOiBPYnNlcnZhYmxlPFVuYlBlc3NvYU1vZGVsIHwgbnVsbD4ge1xyXG5cclxuICAgIC8vIChQYXJhIG8gY29tcG9uZW50ZSBjb25zZWd1aXIgbGVyIC5tZW5zYWdlbVNpbXBsZXMgZSAubWVuc2FnZW1IdG1sKVxyXG4gICAgaWYgKCFwYXlsb2FkKSB7XHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICh7XHJcbiAgICAgICAgc3RhdHVzOiA0MDAsXHJcbiAgICAgICAgbWVuc2FnZW1TaW1wbGVzOiAnRXJybyBpbnRlcm5vOiBEYWRvcyBwYXJhIHNhbHZhbWVudG8gaW52w6FsaWRvcyAoUGF5bG9hZCBudWxsKS4nLFxyXG4gICAgICAgIG1lbnNhZ2VtSHRtbDogJzxzdHJvbmc+RXJybyBpbnRlcm5vOjwvc3Ryb25nPiBUZW50YXRpdmEgZGUgc2FsdmFyIGRhZG9zIHZhemlvcy4nXHJcbiAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRpcG9QZXNzb2EpIHtcclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gKHtcclxuICAgICAgICBzdGF0dXM6IDQwMCxcclxuICAgICAgICBtZW5zYWdlbVNpbXBsZXM6ICdFcnJvIGludGVybm86IFRpcG8gZGUgcGVzc29hIG7Do28gZGVmaW5pZG8uJyxcclxuICAgICAgICBtZW5zYWdlbUh0bWw6ICc8c3Ryb25nPkVycm8gaW50ZXJubzo8L3N0cm9uZz4gTyB0aXBvIGRlIHBlc3NvYSDDqSBvYnJpZ2F0w7NyaW8gcGFyYSBzYWx2YXIuJ1xyXG4gICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gMi4gRGVsZWdhw6fDo29cclxuICAgIC8vIENvbW8gc2F2ZVBlc3NvYUZpc2ljYSBlIHNhdmVQZXNzb2FKdXJpZGljYSBKw4EgVMOKTSBvIC5waXBlKGNhdGNoRXJyb3IpLFxyXG4gICAgLy8gYXF1aSBuw7NzIGFwZW5hcyByZXRvcm5hbW9zIG8gT2JzZXJ2YWJsZSBkZWxlcy4gTyBlcnJvIHN1Ymlyw6EgdHJhdGFkby5cclxuICAgIGlmICh0aXBvUGVzc29hID09IFVuYlRpcG9QZXNzb2FFbnVtLkZJU0lDQSB8fCB0aXBvUGVzc29hID09IFVuYlRpcG9QZXNzb2FFbnVtLkVTVFJBTkdFSVJBKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNhdmVQZXNzb2FGaXNpY2EocGF5bG9hZCk7XHJcbiAgICB9IGVsc2UgaWYgKHRpcG9QZXNzb2EgPT0gVW5iVGlwb1Blc3NvYUVudW0uSlVSSURJQ0EpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2F2ZVBlc3NvYUp1cmlkaWNhKHBheWxvYWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvZihudWxsKTtcclxuICB9XHJcblxyXG4gIC8vIFNhbHZhciBQZXNzb2EgRsOtc2ljYVxyXG4gIHByaXZhdGUgc2F2ZVBlc3NvYUZpc2ljYShwZXNzb2E6IFVuYlBlc3NvYU1vZGVsKTogT2JzZXJ2YWJsZTxVbmJQZXNzb2FNb2RlbD4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5nZXRCYWNrZW5kVXJsKCk7XHJcbiAgICBjb25zdCBodHRwT3B0aW9ucyA9IHRoaXMuZ2V0SGVhZGVycygpO1xyXG4gICAgY29uc3QgYm9keSA9IEpTT04uc3RyaW5naWZ5KHBlc3NvYSk7XHJcblxyXG4gICAgLy8gVmFyacOhdmVsIHBhcmEgYXJtYXplbmFyIG8gT2JzZXJ2YWJsZSBhbnRlcyBkZSByZXRvcm5hclxyXG4gICAgbGV0IHJlcXVlc3QkOiBPYnNlcnZhYmxlPFVuYlBlc3NvYU1vZGVsPjtcclxuXHJcbiAgICBpZiAocGVzc29hLmNvZGlnb1Blc3NvYSA9PSBudWxsKSB7XHJcbiAgICAgIHJlcXVlc3QkID0gdGhpcy5odHRwLnBvc3Q8VW5iUGVzc29hTW9kZWw+KGAke3VybH0vcGVzc29hLWFwaS9wZXNzb2FzL2Zpc2ljYXNgLCBib2R5LCBodHRwT3B0aW9ucyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXF1ZXN0JCA9IHRoaXMuaHR0cC5wdXQ8VW5iUGVzc29hTW9kZWw+KGAke3VybH0vcGVzc29hLWFwaS9wZXNzb2FzL2Zpc2ljYXMvJHtwZXNzb2EuY29kaWdvUGVzc29hfWAsIGJvZHksIGh0dHBPcHRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBbnRlcyBkZSByZXRvcm5hciwgcGFzc2Ftb3MgcGVsbyAncGlwZScgcGFyYSB0cmF0YXIgbyBlcnJvIHNlIGVsZSBvY29ycmVyLlxyXG4gICAgcmV0dXJuIHJlcXVlc3QkLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBTYWx2YXIgUGVzc29hIEp1csOtZGljYVxyXG4gIHByaXZhdGUgc2F2ZVBlc3NvYUp1cmlkaWNhKHBlc3NvYTogVW5iUGVzc29hTW9kZWwpOiBPYnNlcnZhYmxlPFVuYlBlc3NvYU1vZGVsPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLmdldEJhY2tlbmRVcmwoKTtcclxuICAgIGNvbnN0IGh0dHBPcHRpb25zID0gdGhpcy5nZXRIZWFkZXJzKCk7XHJcbiAgICBjb25zdCBib2R5ID0gSlNPTi5zdHJpbmdpZnkocGVzc29hKTtcclxuICAgIGxldCByZXF1ZXN0JDogT2JzZXJ2YWJsZTxVbmJQZXNzb2FNb2RlbD47XHJcblxyXG4gICAgaWYgKHBlc3NvYS5jb2RpZ29QZXNzb2EgPT0gbnVsbCkge1xyXG4gICAgICByZXF1ZXN0JCA9IHRoaXMuaHR0cC5wb3N0PFVuYlBlc3NvYU1vZGVsPihgJHt1cmx9L3Blc3NvYS1hcGkvcGVzc29hcy9qdXJpZGljYXNgLCBib2R5LCBodHRwT3B0aW9ucyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXF1ZXN0JCA9IHRoaXMuaHR0cC5wdXQ8VW5iUGVzc29hTW9kZWw+KGAke3VybH0vcGVzc29hLWFwaS9wZXNzb2FzL2p1cmlkaWNhcy8ke3Blc3NvYS5jb2RpZ29QZXNzb2F9YCwgYm9keSwgaHR0cE9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXF1ZXN0JC5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gRGFkb3MgYXV4aWxpYXJlcyBww7pibGljb3NcclxuICBwdWJsaWMgZ2V0RXNjb2xhcmlkYWRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VW5iUGVzc29hRXNjb2xhcmlkYWRlW10+KGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3B1YmxpYy9lc2NvbGFyaWRhZGVzL2xpc3RhZ2VtYCkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSAvLyA8LS0tIEFkaWNpb25lIGFxdWlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RXN0YWRvQ2l2aWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxVbmJQZXNzb2FFc3RhZG9DaXZpbFtdPihgJHt0aGlzLmdldEJhY2tlbmRVcmwoKX0vcGVzc29hLWFwaS9wdWJsaWMvZXN0YWRvcy1jaXZpcy9saXN0YWdlbWApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikgLy8gPC0tLSBBZGljaW9uZSBhcXVpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldE11bmljaXBpb3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxVbmJQZXNzb2FNdW5pbmNpcGlvW10+KGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3B1YmxpYy9tdW5pY2lwaW9zL2xpc3RhZ2VtYCkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSAvLyA8LS0tIEFkaWNpb25lIGFxdWlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UGFpc2VzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBjb250ZW50OiBVbmJQZXNzb2FQYWlzW10gfT4oXHJcbiAgICAgIGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3B1YmxpYy9wYWlzZXMvbGlzdGFnZW0/JnBhZ2U9MCZzaXplPTIwMCZzb3J0PWRlbm9taW5hY2FvLGFzY2BcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuY29udGVudC5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAvLyAuLi4gc3VhIGzDs2dpY2EgZGUgb3JkZW5hw6fDo28gLi4uXHJcbiAgICAgICAgICBjb25zdCBub21lQSA9IGE/LmRlbm9taW5hY2FvPy50b1VwcGVyQ2FzZSgpIHx8ICcnO1xyXG4gICAgICAgICAgY29uc3Qgbm9tZUIgPSBiPy5kZW5vbWluYWNhbz8udG9VcHBlckNhc2UoKSB8fCAnJztcclxuICAgICAgICAgIGlmIChub21lQSA9PT0gJ0JSQVNJTCcpIHJldHVybiAtMTtcclxuICAgICAgICAgIGlmIChub21lQiA9PT0gJ0JSQVNJTCcpIHJldHVybiAxO1xyXG4gICAgICAgICAgcmV0dXJuIG5vbWVBLmxvY2FsZUNvbXBhcmUobm9tZUIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRSYWNhQ29yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8c3RyaW5nW10+KGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3B1YmxpYy9ldG5pYXMvbGlzdGFnZW1gKS5waXBlKFxyXG4gICAgICBtYXAobGlzdGEgPT4gbGlzdGEubWFwKChpdGVtLCBpbmRleCkgPT4gKHtcclxuICAgICAgICBjb2RpZ286IGluZGV4LCAvLyBnZXJhIHVtIGPDs2RpZ28gbnVtw6lyaWNvIHNlcXVlbmNpYWxcclxuICAgICAgICBkZW5vbWluYWNhbzogdGhpcy5mb3JtYXRhckxhYmVsKGl0ZW0pIC8vIGZvcm1hdGEgc2UgcXVpc2VyXHJcbiAgICAgIH0pKSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VGlwb0VtYWlsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8c3RyaW5nW10+KGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3RpcG9zLWVtYWlsL3B1YmxpYy9saXN0YWdlbWApLnBpcGUoXHJcbiAgICAgIG1hcChsaXN0YSA9PiBsaXN0YS5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoe1xyXG4gICAgICAgIGNvZGlnbzogaW5kZXgsIC8vIGdlcmEgdW0gY8OzZGlnbyBudW3DqXJpY28gc2VxdWVuY2lhbFxyXG4gICAgICAgIGRlbm9taW5hY2FvOiB0aGlzLmZvcm1hdGFyTGFiZWwoaXRlbSkgLy8gZm9ybWF0YSBzZSBxdWlzZXJcclxuICAgICAgfSkpKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUaXBvRW5kZXJlY28oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmdbXT4oYCR7dGhpcy5nZXRCYWNrZW5kVXJsKCl9L3Blc3NvYS1hcGkvdGlwb3MtZW5kZXJlY28vcHVibGljL2xpc3RhZ2VtYCkucGlwZShcclxuICAgICAgbWFwKGxpc3RhID0+IGxpc3RhLm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7XHJcbiAgICAgICAgY29kaWdvOiBpbmRleCwgLy8gZ2VyYSB1bSBjw7NkaWdvIG51bcOpcmljbyBzZXF1ZW5jaWFsXHJcbiAgICAgICAgZGVub21pbmFjYW86IHRoaXMuZm9ybWF0YXJMYWJlbChpdGVtKSAvLyBmb3JtYXRhIHNlIHF1aXNlclxyXG4gICAgICB9KSkpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRpcG9UZWxlZm9uZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHt0aGlzLmdldEJhY2tlbmRVcmwoKX0vcGVzc29hLWFwaS90aXBvcy10ZWxlZm9uZS9wdWJsaWMvbGlzdGFnZW1gKS5waXBlKFxyXG4gICAgICBtYXAobGlzdGEgPT4gbGlzdGEubWFwKChpdGVtLCBpbmRleCkgPT4gKHtcclxuICAgICAgICBjb2RpZ286IGluZGV4LCAvLyBnZXJhIHVtIGPDs2RpZ28gbnVtw6lyaWNvIHNlcXVlbmNpYWxcclxuICAgICAgICBkZW5vbWluYWNhbzogdGhpcy5mb3JtYXRhckxhYmVsKGl0ZW0pIC8vIGZvcm1hdGEgc2UgcXVpc2VyXHJcbiAgICAgIH0pKSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdGFyTGFiZWwodGV4dDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGV4dFxyXG4gICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAucmVwbGFjZSgvXy9nLCAnICcpXHJcbiAgICAgIC5yZXBsYWNlKC9cXGJcXHcvZywgbCA9PiBsLnRvVXBwZXJDYXNlKCkpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvLyBIQU5ETEUgRVJST1IgUEFEUk9OSVpBRE8gXHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gcHJpdmF0ZSBoYW5kbGVFcnJvciA9IChlcnJvcjogYW55KSA9PiB7ICAgIFxyXG4gICAgbGV0IG1lbnNhZ2VtU2ltcGxlcyA9ICdPY29ycmV1IHVtIGVycm8gYW8gcHJvY2Vzc2FyIGEgcmVxdWlzacOnw6NvISc7XHJcbiAgICBsZXQgbWVuc2FnZW1IdG1sID0gJzxzdHJvbmc+T2NvcnJldSB1bSBlcnJvIGRlc2NvbmhlY2lkby48L3N0cm9uZz4nO1xyXG4gICAgXHJcbiAgICAvLyAyLiBEZXNjb2JyZSBxdWVtIMOpIG8gY29ycG8gZG8gZXJyb1xyXG4gICAgbGV0IGVycm9yQm9keTogYW55O1xyXG5cclxuICAgIGlmIChlcnJvci5kZXRhbGhlcyB8fCBlcnJvci5jb2RpZ29TdGF0dXMpIHtcclxuICAgICAgICAvLyBDQVNPIDE6IE8gSW50ZXJjZXB0b3IgasOhIGRlc2VtYnJ1bGhvdSBvIGVycm8gKMOpIG8gSlNPTiBwdXJvKVxyXG4gICAgICAgIGVycm9yQm9keSA9IGVycm9yO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBDQVNPIDI6IMOJIHVtIEh0dHBFcnJvclJlc3BvbnNlIHBhZHLDo28gKHRlbSBhIHByb3ByaWVkYWRlIC5lcnJvcilcclxuICAgICAgICBlcnJvckJvZHkgPSBlcnJvci5lcnJvciB8fCBlcnJvcjsgXHJcbiAgICB9XHJcblxyXG4gICAgLy8gMy4gTMOzZ2ljYSBkZSBMaW1wZXphIGUgUGFyc2UgKHNlIGZvciBzdHJpbmcgc3VqYSlcclxuICAgIGlmICh0eXBlb2YgZXJyb3JCb2R5ID09PSAnc3RyaW5nJykge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGVycm9yQm9keSA9IEpTT04ucGFyc2UoZXJyb3JCb2R5KTtcclxuICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gZXJyb3JCb2R5LmluZGV4T2YoJ3snKTtcclxuICAgICAgICBjb25zdCBlbmQgPSBlcnJvckJvZHkubGFzdEluZGV4T2YoJ30nKTtcclxuICAgICAgICBpZiAoc3RhcnQgPiAtMSAmJiBlbmQgPiBzdGFydCkge1xyXG4gICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgZXJyb3JCb2R5ID0gSlNPTi5wYXJzZShlcnJvckJvZHkuc3Vic3RyaW5nKHN0YXJ0LCBlbmQgKyAxKSk7XHJcbiAgICAgICAgICB9IGNhdGNoIChlMikge1xyXG4gICAgICAgICAgICAgLy8gU2UgZmFsaGFyIG8gcGFyc2UsIHVzYSBvIHRleHRvIGNvbW8gbWVuc2FnZW1cclxuICAgICAgICAgICAgIG1lbnNhZ2VtU2ltcGxlcyA9IGVycm9yQm9keS5zdWJzdHJpbmcoMCwgMjAwKTsgXHJcbiAgICAgICAgICAgICBtZW5zYWdlbUh0bWwgPSBgPHN0cm9uZz4ke2Vycm9yQm9keX08L3N0cm9uZz5gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIDQuIEZvcm1hdGHDp8OjbyBiYXNlYWRhIG5vIEpTT04gaWRlbnRpZmljYWRvXHJcbiAgICBpZiAoZXJyb3JCb2R5ICYmIHR5cGVvZiBlcnJvckJvZHkgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgIFxyXG4gICAgICAvLyBBOiBFcnJvcyBkZSBWYWxpZGHDp8Ojb1xyXG4gICAgICBpZiAoZXJyb3JCb2R5LmRldGFsaGVzICYmIEFycmF5LmlzQXJyYXkoZXJyb3JCb2R5LmRldGFsaGVzKSAmJiBlcnJvckJvZHkuZGV0YWxoZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIG1lbnNhZ2VtU2ltcGxlcyA9IFwiTyBmb3JtdWzDoXJpbyBwb3NzdWkgZXJyb3MgZGUgdmFsaWRhw6fDo28uXCI7XHJcbiAgICAgICAgXHJcbiAgICAgICAgY29uc3QgbGlzdGFFcnJvcyA9IGVycm9yQm9keS5kZXRhbGhlcy5tYXAoKGQ6IGFueSkgPT4gXHJcbiAgICAgICAgICBgPGxpPjxzdHJvbmc+JHtkLm5vbWVDYW1wbyB8fCAnQ2FtcG8nfTo8L3N0cm9uZz4gJHtkLmNyaXRpY2EgfHwgZC5tZW5zYWdlbX08L2xpPmBcclxuICAgICAgICApLmpvaW4oJycpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIG1lbnNhZ2VtSHRtbCA9IGA8c3Ryb25nPkVycm9zIGRlIFZhbGlkYcOnw6NvOjwvc3Ryb25nPiA8dWw+JHtsaXN0YUVycm9zfTwvdWw+YDtcclxuICAgICAgfSBcclxuICAgICAgLy8gQjogRXJybyBHZW7DqXJpY28gY29tIG1lbnNhZ2VtXHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IG1zZ0JhY2tlbmQgPSBlcnJvckJvZHkubWVuc2FnZW0gfHwgZXJyb3JCb2R5Lm1lc3NhZ2UgfHwgZXJyb3JCb2R5LmRldGFpbDtcclxuICAgICAgICBpZiAobXNnQmFja2VuZCkge1xyXG4gICAgICAgICAgbWVuc2FnZW1TaW1wbGVzID0gbXNnQmFja2VuZDtcclxuICAgICAgICAgIG1lbnNhZ2VtSHRtbCA9IGA8c3Ryb25nPiR7bXNnQmFja2VuZH08L3N0cm9uZz5gO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIDUuIFRyYXRhbWVudG9zIGRlIFN0YXR1cyBIVFRQIChTZSBvIHdyYXBwZXIgb3JpZ2luYWwgdGl2ZXIgc3RhdHVzKVxyXG4gICAgLy8gTm90YTogU2UgbyBpbnRlcmNlcHRvciBkZXNlbWJydWxob3UsICdlcnJvci5zdGF0dXMnIHBvZGUgbsOjbyBleGlzdGlyLCBcclxuICAgIC8vIG1hcyAnZXJyb3JCb2R5LmNvZGlnb1N0YXR1cycgKGRvIEphdmEpIHBvZGUgZXhpc3Rpci5cclxuICAgIGNvbnN0IHN0YXR1cyA9IGVycm9yLnN0YXR1cyB8fCBlcnJvckJvZHk/LmNvZGlnb1N0YXR1cyB8fCAwO1xyXG5cclxuICAgIGlmIChzdGF0dXMgPT09IDQwMSkge1xyXG4gICAgICBtZW5zYWdlbVNpbXBsZXMgPSBcIlNlc3PDo28gZXhwaXJhZGEuXCI7XHJcbiAgICAgIG1lbnNhZ2VtSHRtbCA9IFwiPHN0cm9uZz5TZXNzw6NvIGV4cGlyYWRhLiBGYcOnYSBsb2dpbiBub3ZhbWVudGUuPC9zdHJvbmc+XCI7XHJcbiAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gNDAzKSB7XHJcbiAgICAgIG1lbnNhZ2VtU2ltcGxlcyA9IFwiQWNlc3NvIE5lZ2Fkby5cIjtcclxuICAgICAgbWVuc2FnZW1IdG1sID0gXCI8c3Ryb25nPlZvY8OqIG7Do28gdGVtIHBlcm1pc3PDo28gcGFyYSByZWFsaXphciBlc3RhIGHDp8Ojby48L3N0cm9uZz5cIjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBlcnJvRm9ybWF0YWRvOiBVbmJQZXNzb2FFcnJvUGFkcmFvID0ge1xyXG4gICAgICBzdGF0dXM6IHN0YXR1cyxcclxuICAgICAgbWVuc2FnZW1TaW1wbGVzLFxyXG4gICAgICBtZW5zYWdlbUh0bWxcclxuICAgIH07XHJcblxyXG4gICAgY29uc29sZS53YXJuKCdbVW5CUGVzc29hU2VydmljZV0gRXJybyBmb3JtYXRhZG8gZmluYWw6JywgZXJyb0Zvcm1hdGFkbyk7XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvRm9ybWF0YWRvKTtcclxuICB9XHJcbn0iXX0=
315
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBT3BGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFZM0QsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBTHBDLHFEQUFxRDtRQUM3QyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1RCxzRUFBc0U7UUFDdEUsZ0JBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUEyU3BELHNFQUFzRTtRQUN0RSw0QkFBNEI7UUFDNUIsc0VBQXNFO1FBQzlELGdCQUFXLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNuQyxJQUFJLGVBQWUsR0FBRyw0Q0FBNEMsQ0FBQztZQUNuRSxJQUFJLFlBQVksR0FBRyxnREFBZ0QsQ0FBQztZQUVwRSxxQ0FBcUM7WUFDckMsSUFBSSxTQUFjLENBQUM7WUFFbkIsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDekMsK0RBQStEO2dCQUMvRCxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixt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TTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNhdGNoRXJyb3IsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW5kZXJlY28gfSBmcm9tICcuL3VuYi1wZXNzb2EtbW9kZWxzL3VuYi1wZXNzb2EtZW5kZXJlY28ubW9kZWwnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FFc2NvbGFyaWRhZGUgfSBmcm9tICcuL3VuYi1wZXNzb2EtbW9kZWxzL3VuYi1wZXNzb2EtZXNjb2xhcmlkYWRlLm1vZGVsJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRXN0YWRvQ2l2aWwgfSBmcm9tICcuL3VuYi1wZXNzb2EtbW9kZWxzL3VuYi1wZXNzb2EtZXN0YWRvLWNpdmlsLm1vZGVsJztcclxuaW1wb3J0IHsgVW5iUGVzc29hTXVuaW5jaXBpbyB9IGZyb20gJy4vdW5iLXBlc3NvYS1tb2RlbHMvdW5iLXBlc3NvYS1tdW5pY2lwaW8nO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FQYWlzIH0gZnJvbSAnLi91bmItcGVzc29hLW1vZGVscy91bmItcGVzc29hLXBhaXMnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FNb2RlbCB9IGZyb20gJy4vdW5iLXBlc3NvYS1tb2RlbHMvdW5iLXBlc3NvYS5tb2RlbCc7XHJcbmltcG9ydCB7IFVuYlRpcG9QZXNzb2FFbnVtIH0gZnJvbSAnLi91bmItdGlwby1wZXNzb2EuZW51bSc7XHJcblxyXG4vLyBJbnRlcmZhY2UgcGFyYSBwYWRyb25pemFyIG8gZXJybyBxdWUgY2hlZ2Egbm9zIGNvbXBvbmVudGVzXHJcbmV4cG9ydCBpbnRlcmZhY2UgVW5iUGVzc29hRXJyb1BhZHJhbyB7XHJcbiAgc3RhdHVzOiBudW1iZXI7XHJcbiAgbWVuc2FnZW1TaW1wbGVzOiBzdHJpbmc7IC8vIFBhcmEgdXNhciBubyBTbmFja0JhclxyXG4gIG1lbnNhZ2VtSHRtbDogc3RyaW5nOyAgICAvLyBQYXJhIHVzYXIgbm8gQWxlcnRTZXJ2aWNlIChjb20gPHVsPiwgPGxpPiwgPHN0cm9uZz4pXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFVuQlBlc3NvYVNlcnZpY2Uge1xyXG5cclxuICAvLyBBcm1hemVuYSBhcGVuYXMgYSBzdHJpbmcgZGEgVVJMLiBJbmljaWFsaXphIHZhemlvLlxyXG4gIHByaXZhdGUgYmFja2VuZFVybFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xyXG4gIC8vIEV4cG9zdGEgY29tbyBPYnNlcnZhYmxlIChjYXNvIGFsZ3VtIGNvbXBvbmVudGUgcXVlaXJhIHNlIGluc2NyZXZlcilcclxuICBiYWNrZW5kVXJsJCA9IHRoaXMuYmFja2VuZFVybFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gIC8vIFNldHRlciBhZ29yYSByZWNlYmUgc3RyaW5nIGRpcmV0YVxyXG4gIHNldEJhY2tlbmRVcmwodXJsOiBzdHJpbmcpIHtcclxuICAgIC8vIFRyYXRhbWVudG8gcmVtb3ZlIGJhcnJhIG5vIGZpbmFsIHBhcmEgcGFkcm9uaXphclxyXG4gICAgaWYgKHVybC5lbmRzV2l0aCgnLycpKSB7XHJcbiAgICAgIHVybCA9IHVybC5zbGljZSgwLCAtMSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmJhY2tlbmRVcmxTdWJqZWN0Lm5leHQodXJsKTtcclxuICB9XHJcblxyXG4gIC8vIEdldHRlciByZXRvcm5hIHN0cmluZyBkaXJldGFcclxuICBnZXRCYWNrZW5kVXJsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kVXJsU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gSGVhZGVycyBwYWRyw6NvXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXHJcbiAgICAgIH0pXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLy8gTcOpdG9kb3MgZGUgYnVzY2FcclxuICBmaW5kQnlDcGYoY3BmOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPFVuYlBlc3NvYU1vZGVsPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEJhY2tlbmRVcmwoKX0vcGVzc29hLWFwaS9wZXNzb2FzL2Zpc2ljYXM/Y3BmPSR7Y3BmfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxVbmJQZXNzb2FNb2RlbD4odXJsLCB0aGlzLmdldEhlYWRlcnMoKSkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGZpbmRCeUNucGooY25wajogc3RyaW5nIHwgdW5kZWZpbmVkKTogT2JzZXJ2YWJsZTxVbmJQZXNzb2FNb2RlbD4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5nZXRCYWNrZW5kVXJsKCl9L3Blc3NvYS1hcGkvcGVzc29hcy9qdXJpZGljYXM/Y25waj0ke2NucGp9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFVuYlBlc3NvYU1vZGVsPih1cmwsIHRoaXMuZ2V0SGVhZGVycygpKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZmluZEJ5UGFzc2Fwb3J0ZShwYXNzYXBvcnRlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPFVuYlBlc3NvYU1vZGVsPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEJhY2tlbmRVcmwoKX0vcGVzc29hLWFwaS9wZXNzb2FzL2Zpc2ljYXM/cGFzc2Fwb3J0ZT0ke3Bhc3NhcG9ydGV9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFVuYlBlc3NvYU1vZGVsPih1cmwsIHRoaXMuZ2V0SGVhZGVycygpKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZmluZFBlc3NvYUZpc2ljYUJ5Q29kaWdvUGVzc29hKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFVuYlBlc3NvYU1vZGVsPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEJhY2tlbmRVcmwoKX0vcGVzc29hLWFwaS9wZXNzb2FzL2Zpc2ljYXMvY29kaWdvUGVzc29hPSR7aWR9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFVuYlBlc3NvYU1vZGVsPih1cmwsIHRoaXMuZ2V0SGVhZGVycygpKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZmluZFBlc3NvYUp1cmlkaWNhQnlDb2RpZ29QZXNzb2EoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8VW5iUGVzc29hTW9kZWw+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3Blc3NvYXMvanVyaWRpY2FzL2NvZGlnb1Blc3NvYT0ke2lkfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxVbmJQZXNzb2FNb2RlbD4odXJsLCB0aGlzLmdldEhlYWRlcnMoKSkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGZpbmRQZXNzb2FGaXNpY2EoZmlsdHJvOiBVbmJQZXNzb2FNb2RlbCwgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlciwgc29ydD86IHN0cmluZyk6IE9ic2VydmFibGU8VW5iUGVzc29hTW9kZWxbXT4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5nZXRCYWNrZW5kVXJsKCl9L3Blc3NvYS1hcGkvcGVzc29hcy9maXNpY2FzYDtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKGZpbHRybykuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgIGNvbnN0IHZhbG9yID0gZmlsdHJvW2tleSBhcyBrZXlvZiBVbmJQZXNzb2FNb2RlbF07XHJcbiAgICAgIGlmICh2YWxvciAhPT0gbnVsbCAmJiB2YWxvciAhPT0gdW5kZWZpbmVkICYmIHZhbG9yICE9PSAnJykge1xyXG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoa2V5LCB2YWxvci50b1N0cmluZygpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gMi4gQWRpY2lvbmEgb3MgcGFyw6JtZXRyb3MgZGUgUGFnaW5hw6fDo28gKHNlIGZvcmFtIHBhc3NhZG9zKVxyXG4gICAgaWYgKHBhZ2UgIT09IHVuZGVmaW5lZCAmJiBwYWdlICE9PSBudWxsKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2UnLCBwYWdlLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHNpemUgIT09IHVuZGVmaW5lZCAmJiBzaXplICE9PSBudWxsKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHNvcnQpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc29ydCcsIHNvcnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDMuIE1vbnRhIGFzIG9ww6fDtWVzIGRhIHJlcXVpc2nDp8Ojb1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAuLi50aGlzLmdldEhlYWRlcnMoKSAvLyBUZW50YSBlc3BhbGhhciBhcyBwcm9wcmllZGFkZXMgc2UgZ2V0SGVhZGVycyByZXRvcm5hciB7IGhlYWRlcnM6IC4uLiB9XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFVuYlBlc3NvYU1vZGVsW10+KHVybCwgb3B0aW9ucylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgZmluZFBlc3NvYUp1cmlkaWNhKGZpbHRybzogVW5iUGVzc29hTW9kZWwsIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIHNvcnQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVuYlBlc3NvYU1vZGVsW10+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3Blc3NvYXMvanVyaWRpY2FzYDtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG5cclxuICAgIC8vIDEuIEFkaWNpb25hIEFQRU5BUyBvcyBmaWx0cm9zIHBlcm1pdGlkb3MgZG8gTW9kZWxcclxuICAgIGNvbnN0IGNhbXBvc1Blcm1pdGlkb3MgPSBbJ2lkUGVzc29hJywgJ2NvZGlnb1Blc3NvYScsICdjbnBqJywgJ25vbWVGYW50YXNpYScsICdyYXphb1NvY2lhbCcsICdzaWdsYSddO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKGZpbHRybykuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgIGlmIChjYW1wb3NQZXJtaXRpZG9zLmluY2x1ZGVzKGtleSkpIHtcclxuICAgICAgICBjb25zdCB2YWxvciA9IGZpbHRyb1trZXkgYXMga2V5b2YgVW5iUGVzc29hTW9kZWxdO1xyXG4gICAgICAgIGlmICh2YWxvciAhPT0gbnVsbCAmJiB2YWxvciAhPT0gdW5kZWZpbmVkICYmIHZhbG9yICE9PSAnJykge1xyXG4gICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChrZXksIHZhbG9yLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gMi4gQWRpY2lvbmEgb3MgcGFyw6JtZXRyb3MgZGUgUGFnaW5hw6fDo28gKHNlIGZvcmFtIHBhc3NhZG9zKVxyXG4gICAgaWYgKHBhZ2UgIT09IHVuZGVmaW5lZCAmJiBwYWdlICE9PSBudWxsKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2UnLCBwYWdlLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHNpemUgIT09IHVuZGVmaW5lZCAmJiBzaXplICE9PSBudWxsKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHNvcnQpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc29ydCcsIHNvcnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDMuIE1vbnRhIGFzIG9ww6fDtWVzIGRhIHJlcXVpc2nDp8Ojb1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAuLi50aGlzLmdldEhlYWRlcnMoKSAvLyBUZW50YSBlc3BhbGhhciBhcyBwcm9wcmllZGFkZXMgc2UgZ2V0SGVhZGVycyByZXRvcm5hciB7IGhlYWRlcnM6IC4uLiB9XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFVuYlBlc3NvYU1vZGVsW10+KHVybCwgb3B0aW9ucylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcGVzcXVpc2FyQ2VwKGNlcDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEJhY2tlbmRVcmwoKX0vcGVzc29hLWFwaS9wdWJsaWMvYnVzY2EtY2VwL3NlcnZpY28tMS8ke2NlcH1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VW5iUGVzc29hRW5kZXJlY28+KHVybCwgdGhpcy5nZXRIZWFkZXJzKCkpLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBTYWx2YXIgKGRlY2lkZSBmaXNpY2Egb3UganVyaWRpY2EpXHJcbiAgc2FsdmFyKHBheWxvYWQ6IGFueSwgdGlwb1Blc3NvYTogVW5iVGlwb1Blc3NvYUVudW0pOiBPYnNlcnZhYmxlPFVuYlBlc3NvYU1vZGVsIHwgbnVsbD4ge1xyXG5cclxuICAgIC8vIChQYXJhIG8gY29tcG9uZW50ZSBjb25zZWd1aXIgbGVyIC5tZW5zYWdlbVNpbXBsZXMgZSAubWVuc2FnZW1IdG1sKVxyXG4gICAgaWYgKCFwYXlsb2FkKSB7XHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICh7XHJcbiAgICAgICAgc3RhdHVzOiA0MDAsXHJcbiAgICAgICAgbWVuc2FnZW1TaW1wbGVzOiAnRXJybyBpbnRlcm5vOiBEYWRvcyBwYXJhIHNhbHZhbWVudG8gaW52w6FsaWRvcyAoUGF5bG9hZCBudWxsKS4nLFxyXG4gICAgICAgIG1lbnNhZ2VtSHRtbDogJzxzdHJvbmc+RXJybyBpbnRlcm5vOjwvc3Ryb25nPiBUZW50YXRpdmEgZGUgc2FsdmFyIGRhZG9zIHZhemlvcy4nXHJcbiAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRpcG9QZXNzb2EpIHtcclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gKHtcclxuICAgICAgICBzdGF0dXM6IDQwMCxcclxuICAgICAgICBtZW5zYWdlbVNpbXBsZXM6ICdFcnJvIGludGVybm86IFRpcG8gZGUgcGVzc29hIG7Do28gZGVmaW5pZG8uJyxcclxuICAgICAgICBtZW5zYWdlbUh0bWw6ICc8c3Ryb25nPkVycm8gaW50ZXJubzo8L3N0cm9uZz4gTyB0aXBvIGRlIHBlc3NvYSDDqSBvYnJpZ2F0w7NyaW8gcGFyYSBzYWx2YXIuJ1xyXG4gICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gMi4gRGVsZWdhw6fDo29cclxuICAgIC8vIENvbW8gc2F2ZVBlc3NvYUZpc2ljYSBlIHNhdmVQZXNzb2FKdXJpZGljYSBKw4EgVMOKTSBvIC5waXBlKGNhdGNoRXJyb3IpLFxyXG4gICAgLy8gYXF1aSBuw7NzIGFwZW5hcyByZXRvcm5hbW9zIG8gT2JzZXJ2YWJsZSBkZWxlcy4gTyBlcnJvIHN1Ymlyw6EgdHJhdGFkby5cclxuICAgIGlmICh0aXBvUGVzc29hID09IFVuYlRpcG9QZXNzb2FFbnVtLkZJU0lDQSB8fCB0aXBvUGVzc29hID09IFVuYlRpcG9QZXNzb2FFbnVtLkVTVFJBTkdFSVJBKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNhdmVQZXNzb2FGaXNpY2EocGF5bG9hZCk7XHJcbiAgICB9IGVsc2UgaWYgKHRpcG9QZXNzb2EgPT0gVW5iVGlwb1Blc3NvYUVudW0uSlVSSURJQ0EpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2F2ZVBlc3NvYUp1cmlkaWNhKHBheWxvYWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvZihudWxsKTtcclxuICB9XHJcblxyXG4gIC8vIFNhbHZhciBQZXNzb2EgRsOtc2ljYVxyXG4gIHByaXZhdGUgc2F2ZVBlc3NvYUZpc2ljYShwZXNzb2E6IFVuYlBlc3NvYU1vZGVsKTogT2JzZXJ2YWJsZTxVbmJQZXNzb2FNb2RlbD4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5nZXRCYWNrZW5kVXJsKCk7XHJcbiAgICBjb25zdCBodHRwT3B0aW9ucyA9IHRoaXMuZ2V0SGVhZGVycygpO1xyXG4gICAgY29uc3QgYm9keSA9IEpTT04uc3RyaW5naWZ5KHBlc3NvYSk7XHJcblxyXG4gICAgLy8gVmFyacOhdmVsIHBhcmEgYXJtYXplbmFyIG8gT2JzZXJ2YWJsZSBhbnRlcyBkZSByZXRvcm5hclxyXG4gICAgbGV0IHJlcXVlc3QkOiBPYnNlcnZhYmxlPFVuYlBlc3NvYU1vZGVsPjtcclxuXHJcbiAgICBpZiAocGVzc29hLmNvZGlnb1Blc3NvYSA9PSBudWxsKSB7XHJcbiAgICAgIHJlcXVlc3QkID0gdGhpcy5odHRwLnBvc3Q8VW5iUGVzc29hTW9kZWw+KGAke3VybH0vcGVzc29hLWFwaS9wZXNzb2FzL2Zpc2ljYXNgLCBib2R5LCBodHRwT3B0aW9ucyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXF1ZXN0JCA9IHRoaXMuaHR0cC5wdXQ8VW5iUGVzc29hTW9kZWw+KGAke3VybH0vcGVzc29hLWFwaS9wZXNzb2FzL2Zpc2ljYXMvJHtwZXNzb2EuY29kaWdvUGVzc29hfWAsIGJvZHksIGh0dHBPcHRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBbnRlcyBkZSByZXRvcm5hciwgcGFzc2Ftb3MgcGVsbyAncGlwZScgcGFyYSB0cmF0YXIgbyBlcnJvIHNlIGVsZSBvY29ycmVyLlxyXG4gICAgcmV0dXJuIHJlcXVlc3QkLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBTYWx2YXIgUGVzc29hIEp1csOtZGljYVxyXG4gIHByaXZhdGUgc2F2ZVBlc3NvYUp1cmlkaWNhKHBlc3NvYTogVW5iUGVzc29hTW9kZWwpOiBPYnNlcnZhYmxlPFVuYlBlc3NvYU1vZGVsPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLmdldEJhY2tlbmRVcmwoKTtcclxuICAgIGNvbnN0IGh0dHBPcHRpb25zID0gdGhpcy5nZXRIZWFkZXJzKCk7XHJcbiAgICBjb25zdCBib2R5ID0gSlNPTi5zdHJpbmdpZnkocGVzc29hKTtcclxuICAgIGxldCByZXF1ZXN0JDogT2JzZXJ2YWJsZTxVbmJQZXNzb2FNb2RlbD47XHJcblxyXG4gICAgaWYgKHBlc3NvYS5jb2RpZ29QZXNzb2EgPT0gbnVsbCkge1xyXG4gICAgICByZXF1ZXN0JCA9IHRoaXMuaHR0cC5wb3N0PFVuYlBlc3NvYU1vZGVsPihgJHt1cmx9L3Blc3NvYS1hcGkvcGVzc29hcy9qdXJpZGljYXNgLCBib2R5LCBodHRwT3B0aW9ucyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXF1ZXN0JCA9IHRoaXMuaHR0cC5wdXQ8VW5iUGVzc29hTW9kZWw+KGAke3VybH0vcGVzc29hLWFwaS9wZXNzb2FzL2p1cmlkaWNhcy8ke3Blc3NvYS5jb2RpZ29QZXNzb2F9YCwgYm9keSwgaHR0cE9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXF1ZXN0JC5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gRGFkb3MgYXV4aWxpYXJlcyBww7pibGljb3NcclxuICBwdWJsaWMgZ2V0RXNjb2xhcmlkYWRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VW5iUGVzc29hRXNjb2xhcmlkYWRlW10+KGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3B1YmxpYy9lc2NvbGFyaWRhZGVzL2xpc3RhZ2VtYCkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSAvLyA8LS0tIEFkaWNpb25lIGFxdWlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RXN0YWRvQ2l2aWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxVbmJQZXNzb2FFc3RhZG9DaXZpbFtdPihgJHt0aGlzLmdldEJhY2tlbmRVcmwoKX0vcGVzc29hLWFwaS9wdWJsaWMvZXN0YWRvcy1jaXZpcy9saXN0YWdlbWApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikgLy8gPC0tLSBBZGljaW9uZSBhcXVpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldE11bmljaXBpb3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxVbmJQZXNzb2FNdW5pbmNpcGlvW10+KGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3B1YmxpYy9tdW5pY2lwaW9zL2xpc3RhZ2VtYCkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSAvLyA8LS0tIEFkaWNpb25lIGFxdWlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UGFpc2VzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBjb250ZW50OiBVbmJQZXNzb2FQYWlzW10gfT4oXHJcbiAgICAgIGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3B1YmxpYy9wYWlzZXMvbGlzdGFnZW0/JnBhZ2U9MCZzaXplPTIwMCZzb3J0PWRlbm9taW5hY2FvLGFzY2BcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuY29udGVudC5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAvLyAuLi4gc3VhIGzDs2dpY2EgZGUgb3JkZW5hw6fDo28gLi4uXHJcbiAgICAgICAgICBjb25zdCBub21lQSA9IGE/LmRlbm9taW5hY2FvPy50b1VwcGVyQ2FzZSgpIHx8ICcnO1xyXG4gICAgICAgICAgY29uc3Qgbm9tZUIgPSBiPy5kZW5vbWluYWNhbz8udG9VcHBlckNhc2UoKSB8fCAnJztcclxuICAgICAgICAgIGlmIChub21lQSA9PT0gJ0JSQVNJTCcpIHJldHVybiAtMTtcclxuICAgICAgICAgIGlmIChub21lQiA9PT0gJ0JSQVNJTCcpIHJldHVybiAxO1xyXG4gICAgICAgICAgcmV0dXJuIG5vbWVBLmxvY2FsZUNvbXBhcmUobm9tZUIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRSYWNhQ29yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8c3RyaW5nW10+KGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3B1YmxpYy9ldG5pYXMvbGlzdGFnZW1gKS5waXBlKFxyXG4gICAgICBtYXAobGlzdGEgPT4gbGlzdGEubWFwKChpdGVtLCBpbmRleCkgPT4gKHtcclxuICAgICAgICBjb2RpZ286IGluZGV4LCAvLyBnZXJhIHVtIGPDs2RpZ28gbnVtw6lyaWNvIHNlcXVlbmNpYWxcclxuICAgICAgICBkZW5vbWluYWNhbzogdGhpcy5mb3JtYXRhckxhYmVsKGl0ZW0pIC8vIGZvcm1hdGEgc2UgcXVpc2VyXHJcbiAgICAgIH0pKSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VGlwb0VtYWlsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8c3RyaW5nW10+KGAke3RoaXMuZ2V0QmFja2VuZFVybCgpfS9wZXNzb2EtYXBpL3RpcG9zLWVtYWlsL3B1YmxpYy9saXN0YWdlbWApLnBpcGUoXHJcbiAgICAgIG1hcChsaXN0YSA9PiBsaXN0YS5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoe1xyXG4gICAgICAgIGNvZGlnbzogaW5kZXgsIC8vIGdlcmEgdW0gY8OzZGlnbyBudW3DqXJpY28gc2VxdWVuY2lhbFxyXG4gICAgICAgIGRlbm9taW5hY2FvOiB0aGlzLmZvcm1hdGFyTGFiZWwoaXRlbSkgLy8gZm9ybWF0YSBzZSBxdWlzZXJcclxuICAgICAgfSkpKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUaXBvRW5kZXJlY28oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmdbXT4oYCR7dGhpcy5nZXRCYWNrZW5kVXJsKCl9L3Blc3NvYS1hcGkvdGlwb3MtZW5kZXJlY28vcHVibGljL2xpc3RhZ2VtYCkucGlwZShcclxuICAgICAgbWFwKGxpc3RhID0+IGxpc3RhLm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7XHJcbiAgICAgICAgY29kaWdvOiBpbmRleCwgLy8gZ2VyYSB1bSBjw7NkaWdvIG51bcOpcmljbyBzZXF1ZW5jaWFsXHJcbiAgICAgICAgZGVub21pbmFjYW86IHRoaXMuZm9ybWF0YXJMYWJlbChpdGVtKSAvLyBmb3JtYXRhIHNlIHF1aXNlclxyXG4gICAgICB9KSkpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRpcG9UZWxlZm9uZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHt0aGlzLmdldEJhY2tlbmRVcmwoKX0vcGVzc29hLWFwaS90aXBvcy10ZWxlZm9uZS9wdWJsaWMvbGlzdGFnZW1gKS5waXBlKFxyXG4gICAgICBtYXAobGlzdGEgPT4gbGlzdGEubWFwKChpdGVtLCBpbmRleCkgPT4gKHtcclxuICAgICAgICBjb2RpZ286IGluZGV4LCAvLyBnZXJhIHVtIGPDs2RpZ28gbnVtw6lyaWNvIHNlcXVlbmNpYWxcclxuICAgICAgICBkZW5vbWluYWNhbzogdGhpcy5mb3JtYXRhckxhYmVsKGl0ZW0pIC8vIGZvcm1hdGEgc2UgcXVpc2VyXHJcbiAgICAgIH0pKSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdGFyTGFiZWwodGV4dDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGV4dFxyXG4gICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAucmVwbGFjZSgvXy9nLCAnICcpXHJcbiAgICAgIC5yZXBsYWNlKC9cXGJcXHcvZywgbCA9PiBsLnRvVXBwZXJDYXNlKCkpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAvLyBIQU5ETEUgRVJST1IgUEFEUk9OSVpBRE8gXHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IgPSAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgbGV0IG1lbnNhZ2VtU2ltcGxlcyA9ICdPY29ycmV1IHVtIGVycm8gYW8gcHJvY2Vzc2FyIGEgcmVxdWlzacOnw6NvISc7XHJcbiAgICBsZXQgbWVuc2FnZW1IdG1sID0gJzxzdHJvbmc+T2NvcnJldSB1bSBlcnJvIGRlc2NvbmhlY2lkby48L3N0cm9uZz4nO1xyXG5cclxuICAgIC8vIDIuIERlc2NvYnJlIHF1ZW0gw6kgbyBjb3JwbyBkbyBlcnJvXHJcbiAgICBsZXQgZXJyb3JCb2R5OiBhbnk7XHJcblxyXG4gICAgaWYgKGVycm9yLmRldGFsaGVzIHx8IGVycm9yLmNvZGlnb1N0YXR1cykge1xyXG4gICAgICAvLyBDQVNPIDE6IE8gSW50ZXJjZXB0b3IgasOhIGRlc2VtYnJ1bGhvdSBvIGVycm8gKMOpIG8gSlNPTiBwdXJvKVxyXG4gICAgICBlcnJvckJvZHkgPSBlcnJvcjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIENBU08gMjogw4kgdW0gSHR0cEVycm9yUmVzcG9uc2UgcGFkcsOjbyAodGVtIGEgcHJvcHJpZWRhZGUgLmVycm9yKVxyXG4gICAgICBlcnJvckJvZHkgPSBlcnJvci5lcnJvciB8fCBlcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICAvLyAzLiBMw7NnaWNhIGRlIExpbXBlemEgZSBQYXJzZSAoc2UgZm9yIHN0cmluZyBzdWphKVxyXG4gICAgaWYgKHR5cGVvZiBlcnJvckJvZHkgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgZXJyb3JCb2R5ID0gSlNPTi5wYXJzZShlcnJvckJvZHkpO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBlcnJvckJvZHkuaW5kZXhPZigneycpO1xyXG4gICAgICAgIGNvbnN0IGVuZCA9IGVycm9yQm9keS5sYXN0SW5kZXhPZignfScpO1xyXG4gICAgICAgIGlmIChzdGFydCA+IC0xICYmIGVuZCA+IHN0YXJ0KSB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBlcnJvckJvZHkgPSBKU09OLnBhcnNlKGVycm9yQm9keS5zdWJzdHJpbmcoc3RhcnQsIGVuZCArIDEpKTtcclxuICAgICAgICAgIH0gY2F0Y2ggKGUyKSB7XHJcbiAgICAgICAgICAgIC8vIFNlIGZhbGhhciBvIHBhcnNlLCB1c2EgbyB0ZXh0byBjb21vIG1lbnNhZ2VtXHJcbiAgICAgICAgICAgIG1lbnNhZ2VtU2ltcGxlcyA9IGVycm9yQm9keS5zdWJzdHJpbmcoMCwgMjAwKTtcclxuICAgICAgICAgICAgbWVuc2FnZW1IdG1sID0gYDxzdHJvbmc+JHtlcnJvckJvZHl9PC9zdHJvbmc+YDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyA0LiBGb3JtYXRhw6fDo28gYmFzZWFkYSBubyBKU09OIGlkZW50aWZpY2Fkb1xyXG4gICAgaWYgKGVycm9yQm9keSAmJiB0eXBlb2YgZXJyb3JCb2R5ID09PSAnb2JqZWN0Jykge1xyXG5cclxuICAgICAgLy8gQTogRXJyb3MgZGUgVmFsaWRhw6fDo29cclxuICAgICAgaWYgKGVycm9yQm9keS5kZXRhbGhlcyAmJiBBcnJheS5pc0FycmF5KGVycm9yQm9keS5kZXRhbGhlcykgJiYgZXJyb3JCb2R5LmRldGFsaGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBtZW5zYWdlbVNpbXBsZXMgPSBcIk8gZm9ybXVsw6FyaW8gcG9zc3VpIGVycm9zIGRlIHZhbGlkYcOnw6NvLlwiO1xyXG5cclxuICAgICAgICBjb25zdCBsaXN0YUVycm9zID0gZXJyb3JCb2R5LmRldGFsaGVzLm1hcCgoZDogYW55KSA9PlxyXG4gICAgICAgICAgYDxsaT48c3Ryb25nPiR7ZC5ub21lQ2FtcG8gfHwgJ0NhbXBvJ306PC9zdHJvbmc+ICR7ZC5jcml0aWNhIHx8IGQubWVuc2FnZW19PC9saT5gXHJcbiAgICAgICAgKS5qb2luKCcnKTtcclxuXHJcbiAgICAgICAgbWVuc2FnZW1IdG1sID0gYDxzdHJvbmc+RXJyb3MgZGUgVmFsaWRhw6fDo286PC9zdHJvbmc+IDx1bD4ke2xpc3RhRXJyb3N9PC91bD5gO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIEI6IEVycm8gR2Vuw6lyaWNvIGNvbSBtZW5zYWdlbVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zdCBtc2dCYWNrZW5kID0gZXJyb3JCb2R5Lm1lbnNhZ2VtIHx8IGVycm9yQm9keS5tZXNzYWdlIHx8IGVycm9yQm9keS5kZXRhaWw7XHJcbiAgICAgICAgaWYgKG1zZ0JhY2tlbmQpIHtcclxuICAgICAgICAgIG1lbnNhZ2VtU2ltcGxlcyA9IG1zZ0JhY2tlbmQ7XHJcbiAgICAgICAgICBtZW5zYWdlbUh0bWwgPSBgPHN0cm9uZz4ke21zZ0JhY2tlbmR9PC9zdHJvbmc+YDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyA1LiBUcmF0YW1lbnRvcyBkZSBTdGF0dXMgSFRUUCAoU2UgbyB3cmFwcGVyIG9yaWdpbmFsIHRpdmVyIHN0YXR1cylcclxuICAgIC8vIE5vdGE6IFNlIG8gaW50ZXJjZXB0b3IgZGVzZW1icnVsaG91LCAnZXJyb3Iuc3RhdHVzJyBwb2RlIG7Do28gZXhpc3RpciwgXHJcbiAgICAvLyBtYXMgJ2Vycm9yQm9keS5jb2RpZ29TdGF0dXMnIChkbyBKYXZhKSBwb2RlIGV4aXN0aXIuXHJcbiAgICBjb25zdCBzdGF0dXMgPSBlcnJvci5zdGF0dXMgfHwgZXJyb3JCb2R5Py5jb2RpZ29TdGF0dXMgfHwgMDtcclxuXHJcbiAgICBpZiAoc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgbWVuc2FnZW1TaW1wbGVzID0gXCJTZXNzw6NvIGV4cGlyYWRhLlwiO1xyXG4gICAgICBtZW5zYWdlbUh0bWwgPSBcIjxzdHJvbmc+U2Vzc8OjbyBleHBpcmFkYS4gRmHDp2EgbG9naW4gbm92YW1lbnRlLjwvc3Ryb25nPlwiO1xyXG4gICAgfSBlbHNlIGlmIChzdGF0dXMgPT09IDQwMykge1xyXG4gICAgICBtZW5zYWdlbVNpbXBsZXMgPSBcIkFjZXNzbyBOZWdhZG8uXCI7XHJcbiAgICAgIG1lbnNhZ2VtSHRtbCA9IFwiPHN0cm9uZz5Wb2PDqiBuw6NvIHRlbSBwZXJtaXNzw6NvIHBhcmEgcmVhbGl6YXIgZXN0YSBhw6fDo28uPC9zdHJvbmc+XCI7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZXJyb0Zvcm1hdGFkbzogVW5iUGVzc29hRXJyb1BhZHJhbyA9IHtcclxuICAgICAgc3RhdHVzOiBzdGF0dXMsXHJcbiAgICAgIG1lbnNhZ2VtU2ltcGxlcyxcclxuICAgICAgbWVuc2FnZW1IdG1sXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnNvbGUud2FybignW1VuQlBlc3NvYVNlcnZpY2VdIEVycm8gZm9ybWF0YWRvIGZpbmFsOicsIGVycm9Gb3JtYXRhZG8pO1xyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb0Zvcm1hdGFkbyk7XHJcbiAgfVxyXG59Il19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy1kZWNvZGVkLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXVzdWFyaW8vb2lkYy1kZWNvZGVkLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE9pZGNEZWNvZGVkVG9rZW4ge1xyXG4gIGV4cDogbnVtYmVyOyAvLyBFeHBpcmF0aW9uIHRpbWVcclxuICBpYXQ6IG51bWJlcjsgLy8gSXNzdWVkIGF0IHRpbWVcclxuICBhdXRoX3RpbWU6IG51bWJlcjsgLy8gQXV0aGVudGljYXRpb24gdGltZVxyXG4gIGp0aTogc3RyaW5nOyAvLyBKV1QgSURcclxuICBpc3M6IHN0cmluZzsgLy8gSXNzdWVyXHJcbiAgYXVkOiBzdHJpbmc7IC8vIEF1ZGllbmNlXHJcbiAgc3ViOiBzdHJpbmc7IC8vIFN1YmplY3QgKHVzZXIgSUQpXHJcbiAgdHlwOiBzdHJpbmc7IC8vIFRva2VuIHR5cGUgKHVzdWFsbHkgXCJCZWFyZXJcIilcclxuICBhenA6IHN0cmluZzsgLy8gQXV0aG9yaXplZCBwYXJ0eSAoY2xpZW50IElEKVxyXG4gIHNpZDogc3RyaW5nOyAvLyBTZXNzaW9uIElEXHJcbiAgYWNyOiBzdHJpbmc7IC8vIEF1dGhlbnRpY2F0aW9uIGNvbnRleHQgY2xhc3MgcmVmZXJlbmNlXHJcbiAgYWxsb3dlZF9vcmlnaW5zOiBzdHJpbmdbXTsgLy8gQWxsb3dlZCBvcmlnaW5zIGZvciB0aGUgdG9rZW5cclxuICByZWFsbV9hY2Nlc3M6IHtcclxuICAgIHJvbGVzOiBzdHJpbmdbXTsgLy8gUm9sZXMgaW4gdGhlIHJlYWxtXHJcbiAgfTtcclxuICByZXNvdXJjZV9hY2Nlc3M6IHtcclxuICAgIFtyZXNvdXJjZU5hbWU6IHN0cmluZ106IHsgLy8gRHluYW1pYyByZXNvdXJjZSBhY2Nlc3MgZGVmaW5pdGlvblxyXG4gICAgICByb2xlczogc3RyaW5nW107IC8vIFJvbGVzIGZvciB0aGUgc3BlY2lmaWMgcmVzb3VyY2VcclxuICAgIH07XHJcbiAgfTtcclxuICBzY29wZTogc3RyaW5nOyAvLyBTY29wZXMgZ3JhbnRlZCBieSB0aGUgdG9rZW5cclxuICBlbWFpbF92ZXJpZmllZDogYm9vbGVhbjsgLy8gRW1haWwgdmVyaWZpY2F0aW9uIHN0YXR1c1xyXG4gIG5hbWU6IHN0cmluZzsgLy8gVXNlcidzIGZ1bGwgbmFtZVxyXG4gIHByZWZlcnJlZF91c2VybmFtZTogc3RyaW5nOyAvLyBQcmVmZXJyZWQgdXNlcm5hbWVcclxuICBnaXZlbl9uYW1lOiBzdHJpbmc7IC8vIFVzZXIncyBnaXZlbiBuYW1lXHJcbiAgZmFtaWx5X25hbWU6IHN0cmluZzsgLy8gVXNlcidzIGZhbWlseSBuYW1lXHJcbiAgZW1haWw6IHN0cmluZzsgLy8gVXNlcidzIGVtYWlsIGFkZHJlc3NcclxufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy1kZWNvZGVkLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXVzdWFyaW8vb2lkYy1kZWNvZGVkLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE9pZGNEZWNvZGVkVG9rZW4ge1xuICBleHA6IG51bWJlcjsgLy8gRXhwaXJhdGlvbiB0aW1lXG4gIGlhdDogbnVtYmVyOyAvLyBJc3N1ZWQgYXQgdGltZVxuICBhdXRoX3RpbWU6IG51bWJlcjsgLy8gQXV0aGVudGljYXRpb24gdGltZVxuICBqdGk6IHN0cmluZzsgLy8gSldUIElEXG4gIGlzczogc3RyaW5nOyAvLyBJc3N1ZXJcbiAgYXVkOiBzdHJpbmc7IC8vIEF1ZGllbmNlXG4gIHN1Yjogc3RyaW5nOyAvLyBTdWJqZWN0ICh1c2VyIElEKVxuICB0eXA6IHN0cmluZzsgLy8gVG9rZW4gdHlwZSAodXN1YWxseSBcIkJlYXJlclwiKVxuICBhenA6IHN0cmluZzsgLy8gQXV0aG9yaXplZCBwYXJ0eSAoY2xpZW50IElEKVxuICBzaWQ6IHN0cmluZzsgLy8gU2Vzc2lvbiBJRFxuICBhY3I6IHN0cmluZzsgLy8gQXV0aGVudGljYXRpb24gY29udGV4dCBjbGFzcyByZWZlcmVuY2VcbiAgYWxsb3dlZF9vcmlnaW5zOiBzdHJpbmdbXTsgLy8gQWxsb3dlZCBvcmlnaW5zIGZvciB0aGUgdG9rZW5cbiAgcmVhbG1fYWNjZXNzOiB7XG4gICAgcm9sZXM6IHN0cmluZ1tdOyAvLyBSb2xlcyBpbiB0aGUgcmVhbG1cbiAgfTtcbiAgcmVzb3VyY2VfYWNjZXNzOiB7XG4gICAgW3Jlc291cmNlTmFtZTogc3RyaW5nXTogeyAvLyBEeW5hbWljIHJlc291cmNlIGFjY2VzcyBkZWZpbml0aW9uXG4gICAgICByb2xlczogc3RyaW5nW107IC8vIFJvbGVzIGZvciB0aGUgc3BlY2lmaWMgcmVzb3VyY2VcbiAgICB9O1xuICB9O1xuICBzY29wZTogc3RyaW5nOyAvLyBTY29wZXMgZ3JhbnRlZCBieSB0aGUgdG9rZW5cbiAgZW1haWxfdmVyaWZpZWQ6IGJvb2xlYW47IC8vIEVtYWlsIHZlcmlmaWNhdGlvbiBzdGF0dXNcbiAgbmFtZTogc3RyaW5nOyAvLyBVc2VyJ3MgZnVsbCBuYW1lXG4gIHByZWZlcnJlZF91c2VybmFtZTogc3RyaW5nOyAvLyBQcmVmZXJyZWQgdXNlcm5hbWVcbiAgZ2l2ZW5fbmFtZTogc3RyaW5nOyAvLyBVc2VyJ3MgZ2l2ZW4gbmFtZVxuICBmYW1pbHlfbmFtZTogc3RyaW5nOyAvLyBVc2VyJ3MgZmFtaWx5IG5hbWVcbiAgZW1haWw6IHN0cmluZzsgLy8gVXNlcidzIGVtYWlsIGFkZHJlc3Ncbn0iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy11c2VyLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmItbGliLWNvbXBvbmVudHMvc3JjL2xpYi91bmItdXN1YXJpby9vaWRjLXVzZXItZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBPaWRjVXNlckRhdGEge1xyXG4gICAgZW1haWw6IHN0cmluZztcclxuICAgIGVtYWlsX3ZlcmlmaWVkOiBib29sZWFuO1xyXG4gICAgZmFtaWx5X25hbWU6IHN0cmluZztcclxuICAgIGdpdmVuX25hbWU6IHN0cmluZztcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHByZWZlcnJlZF91c2VybmFtZTogc3RyaW5nO1xyXG4gICAgc3ViOiBzdHJpbmc7XHJcbiAgfSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy11c2VyLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmItbGliLWNvbXBvbmVudHMvc3JjL2xpYi91bmItdXN1YXJpby9vaWRjLXVzZXItZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBPaWRjVXNlckRhdGEge1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgZW1haWxfdmVyaWZpZWQ6IGJvb2xlYW47XG4gICAgZmFtaWx5X25hbWU6IHN0cmluZztcbiAgICBnaXZlbl9uYW1lOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHByZWZlcnJlZF91c2VybmFtZTogc3RyaW5nO1xuICAgIHN1Yjogc3RyaW5nO1xuICB9Il19
@@ -26,13 +26,13 @@ export class UnbUsuarioComponent {
26
26
  logout() {
27
27
  this.authService.logout();
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbUsuarioComponent, deps: [{ token: i1.UnbAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: UnbUsuarioComponent, selector: "unb-usuario", inputs: { oidcSecurityService: "oidcSecurityService" }, ngImport: i0, template: "<button mat-mini-fab color=\"primary\" aria-label=\"Login Button\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon>person</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\">\r\n <div *ngIf=\"usuario$ | async as usuario\"> \r\n <mat-card-header class=\"menuHeader\" *ngIf=\"usuario && usuario.autenticado; else notAuthenticated\">\r\n <mat-card-title>\r\n <div class=\"user-info-container\">\r\n <span>{{ usuario.usuarioNome }}</span>\r\n <mat-icon matTooltip=\"{{ usuario.perfis.join(', ') }}\" aria-label=\"Perfis de usu\u00E1rio\" *ngIf=\"usuario.perfis\">\r\n account_circle\r\n </mat-icon>\r\n </div>\r\n </mat-card-title>\r\n </mat-card-header>\r\n\r\n <ng-template #notAuthenticated>\r\n <mat-card-header class=\"menuHeader\">\r\n <button mat-menu-item (click)=\"login()\">\r\n <mat-icon>login</mat-icon>\r\n <span>Login</span>\r\n </button>\r\n </mat-card-header>\r\n </ng-template>\r\n\r\n <mat-divider *ngIf=\"usuario.autenticado\"></mat-divider>\r\n\r\n <mat-card-actions *ngIf=\"usuario.autenticado\">\r\n <button mat-menu-item (click)=\"logout()\">\r\n <mat-icon>exit_to_app</mat-icon>\r\n <span>Sair</span>\r\n </button>\r\n </mat-card-actions>\r\n </div>\r\n</mat-menu>", styles: [".sidenav-container{height:100%}.sidenav{width:200px}.sidenav .mat-toolbar{background:inherit}.mat-toolbar.mat-primary{position:sticky;top:0;z-index:1}button.login_button{outline:none;padding:0;border:none;background:none;cursor:pointer}.mat-card{background:#036;padding:5px 20px 0 0}.menu{min-width:500px;max-width:400px}.menuHeader{padding:10px}.user-info-container{display:flex;align-items:center;justify-content:center;gap:8px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "directive", type: i7.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i7.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbUsuarioComponent, deps: [{ token: i1.UnbAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: UnbUsuarioComponent, selector: "unb-usuario", inputs: { oidcSecurityService: "oidcSecurityService" }, ngImport: i0, template: "<button mat-mini-fab color=\"primary\" aria-label=\"Login Button\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon>person</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\">\r\n <div *ngIf=\"usuario$ | async as usuario\"> \r\n <mat-card-header class=\"menuHeader\" *ngIf=\"usuario && usuario.autenticado; else notAuthenticated\">\r\n <mat-card-title>\r\n <div class=\"user-info-container\">\r\n <span>{{ usuario.usuarioNome }}</span>\r\n <mat-icon matTooltip=\"{{ usuario.perfis.join(', ') }}\" aria-label=\"Perfis de usu\u00E1rio\" *ngIf=\"usuario.perfis\">\r\n account_circle\r\n </mat-icon>\r\n </div>\r\n </mat-card-title>\r\n </mat-card-header>\r\n\r\n <ng-template #notAuthenticated>\r\n <mat-card-header class=\"menuHeader\">\r\n <button mat-menu-item (click)=\"login()\">\r\n <mat-icon>login</mat-icon>\r\n <span>Login</span>\r\n </button>\r\n </mat-card-header>\r\n </ng-template>\r\n\r\n <mat-divider *ngIf=\"usuario.autenticado\"></mat-divider>\r\n\r\n <mat-card-actions *ngIf=\"usuario.autenticado\">\r\n <button mat-menu-item (click)=\"logout()\">\r\n <mat-icon>exit_to_app</mat-icon>\r\n <span>Sair</span>\r\n </button>\r\n </mat-card-actions>\r\n </div>\r\n</mat-menu>", styles: [".sidenav-container{height:100%}.sidenav{width:200px}.sidenav .mat-toolbar{background:inherit}.mat-toolbar.mat-primary{position:sticky;top:0;z-index:1}button.login_button{outline:none;padding:0;border:none;background:none;cursor:pointer}.mat-card{background:#036;padding:5px 20px 0 0}.menu{min-width:500px;max-width:400px}.menuHeader{padding:10px}.user-info-container{display:flex;align-items:center;justify-content:center;gap:8px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "directive", type: i7.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i7.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbUsuarioComponent, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbUsuarioComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{ selector: 'unb-usuario', template: "<button mat-mini-fab color=\"primary\" aria-label=\"Login Button\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon>person</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\">\r\n <div *ngIf=\"usuario$ | async as usuario\"> \r\n <mat-card-header class=\"menuHeader\" *ngIf=\"usuario && usuario.autenticado; else notAuthenticated\">\r\n <mat-card-title>\r\n <div class=\"user-info-container\">\r\n <span>{{ usuario.usuarioNome }}</span>\r\n <mat-icon matTooltip=\"{{ usuario.perfis.join(', ') }}\" aria-label=\"Perfis de usu\u00E1rio\" *ngIf=\"usuario.perfis\">\r\n account_circle\r\n </mat-icon>\r\n </div>\r\n </mat-card-title>\r\n </mat-card-header>\r\n\r\n <ng-template #notAuthenticated>\r\n <mat-card-header class=\"menuHeader\">\r\n <button mat-menu-item (click)=\"login()\">\r\n <mat-icon>login</mat-icon>\r\n <span>Login</span>\r\n </button>\r\n </mat-card-header>\r\n </ng-template>\r\n\r\n <mat-divider *ngIf=\"usuario.autenticado\"></mat-divider>\r\n\r\n <mat-card-actions *ngIf=\"usuario.autenticado\">\r\n <button mat-menu-item (click)=\"logout()\">\r\n <mat-icon>exit_to_app</mat-icon>\r\n <span>Sair</span>\r\n </button>\r\n </mat-card-actions>\r\n </div>\r\n</mat-menu>", styles: [".sidenav-container{height:100%}.sidenav{width:200px}.sidenav .mat-toolbar{background:inherit}.mat-toolbar.mat-primary{position:sticky;top:0;z-index:1}button.login_button{outline:none;padding:0;border:none;background:none;cursor:pointer}.mat-card{background:#036;padding:5px 20px 0 0}.menu{min-width:500px;max-width:400px}.menuHeader{padding:10px}.user-info-container{display:flex;align-items:center;justify-content:center;gap:8px}\n"] }]
35
35
  }], ctorParameters: () => [{ type: i1.UnbAuthService }], propDecorators: { oidcSecurityService: [{
36
36
  type: Input
37
37
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXVzdWFyaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXVzdWFyaW8vdW5iLXVzdWFyaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXVzdWFyaW8vdW5iLXVzdWFyaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFXekQsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUFzQixXQUEyQjtRQUEzQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7SUFBSSxDQUFDO0lBRXRELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUE7WUFDM0MsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO0lBQzVDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0F2QlUsbUJBQW1CO2tHQUFuQixtQkFBbUIsMkdDWGhDLDR6Q0FrQ1c7OzJGRHZCRSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYTttRkFPZCxtQkFBbUI7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2lkY1NlY3VyaXR5U2VydmljZSB9IGZyb20gJ2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVW5iQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91bmItYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVW5iVXN1YXJpb01vZGVsIH0gZnJvbSAnLi91bmItdXN1YXJpby5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VuYi11c3VhcmlvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdW5iLXVzdWFyaW8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VuYi11c3VhcmlvLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5iVXN1YXJpb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgdXN1YXJpbyQhOiBPYnNlcnZhYmxlPFVuYlVzdWFyaW9Nb2RlbD47XHJcbiAgXHJcbiAgQElucHV0KCkgb2lkY1NlY3VyaXR5U2VydmljZSE6T2lkY1NlY3VyaXR5U2VydmljZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGF1dGhTZXJ2aWNlOiBVbmJBdXRoU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMub2lkY1NlY3VyaXR5U2VydmljZSA9PSBudWxsKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiRXJybzogb2lkY1NlcnZpY2UgZXN0w6EgbnVsbCFcIilcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXV0aFNlcnZpY2UuaW5pdGlhdGUodGhpcy5vaWRjU2VjdXJpdHlTZXJ2aWNlKTtcclxuICAgIHRoaXMudXN1YXJpbyQgPSB0aGlzLmF1dGhTZXJ2aWNlLnVzdWFyaW8kO1xyXG4gIH1cclxuXHJcbiAgbG9naW4oKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ2luKCk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xyXG4gIH1cclxuIH1cclxuIiwiPGJ1dHRvbiBtYXQtbWluaS1mYWIgY29sb3I9XCJwcmltYXJ5XCIgYXJpYS1sYWJlbD1cIkxvZ2luIEJ1dHRvblwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XHJcbiAgPG1hdC1pY29uPnBlcnNvbjwvbWF0LWljb24+XHJcbjwvYnV0dG9uPlxyXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgPGRpdiAqbmdJZj1cInVzdWFyaW8kIHwgYXN5bmMgYXMgdXN1YXJpb1wiPiAgICBcclxuICAgIDxtYXQtY2FyZC1oZWFkZXIgY2xhc3M9XCJtZW51SGVhZGVyXCIgKm5nSWY9XCJ1c3VhcmlvICYmIHVzdWFyaW8uYXV0ZW50aWNhZG87IGVsc2Ugbm90QXV0aGVudGljYXRlZFwiPlxyXG4gICAgICA8bWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItaW5mby1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxzcGFuPnt7IHVzdWFyaW8udXN1YXJpb05vbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8bWF0LWljb24gbWF0VG9vbHRpcD1cInt7IHVzdWFyaW8ucGVyZmlzLmpvaW4oJywgJykgfX1cIiBhcmlhLWxhYmVsPVwiUGVyZmlzIGRlIHVzdcOhcmlvXCIgKm5nSWY9XCJ1c3VhcmlvLnBlcmZpc1wiPlxyXG4gICAgICAgICAgICBhY2NvdW50X2NpcmNsZVxyXG4gICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9tYXQtY2FyZC10aXRsZT5cclxuICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbm90QXV0aGVudGljYXRlZD5cclxuICAgICAgPG1hdC1jYXJkLWhlYWRlciBjbGFzcz1cIm1lbnVIZWFkZXJcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImxvZ2luKClcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj5sb2dpbjwvbWF0LWljb24+XHJcbiAgICAgICAgICA8c3Bhbj5Mb2dpbjwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cInVzdWFyaW8uYXV0ZW50aWNhZG9cIj48L21hdC1kaXZpZGVyPlxyXG5cclxuICAgIDxtYXQtY2FyZC1hY3Rpb25zICpuZ0lmPVwidXN1YXJpby5hdXRlbnRpY2Fkb1wiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImxvZ291dCgpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPmV4aXRfdG9fYXBwPC9tYXQtaWNvbj5cclxuICAgICAgICA8c3Bhbj5TYWlyPC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuICA8L2Rpdj5cclxuPC9tYXQtbWVudT4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXVzdWFyaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXVzdWFyaW8vdW5iLXVzdWFyaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXVzdWFyaW8vdW5iLXVzdWFyaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFXekQsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUFzQixXQUEyQjtRQUEzQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7SUFBSSxDQUFDO0lBRXRELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUE7WUFDM0MsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO0lBQzVDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUIsQ0FBQzsrR0F2QlUsbUJBQW1CO21HQUFuQixtQkFBbUIsMkdDWGhDLDR6Q0FrQ1c7OzRGRHZCRSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYTttRkFPZCxtQkFBbUI7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2lkY1NlY3VyaXR5U2VydmljZSB9IGZyb20gJ2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVW5iQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91bmItYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVW5iVXN1YXJpb01vZGVsIH0gZnJvbSAnLi91bmItdXN1YXJpby5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VuYi11c3VhcmlvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdW5iLXVzdWFyaW8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VuYi11c3VhcmlvLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5iVXN1YXJpb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgdXN1YXJpbyQhOiBPYnNlcnZhYmxlPFVuYlVzdWFyaW9Nb2RlbD47XHJcbiAgXHJcbiAgQElucHV0KCkgb2lkY1NlY3VyaXR5U2VydmljZSE6T2lkY1NlY3VyaXR5U2VydmljZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGF1dGhTZXJ2aWNlOiBVbmJBdXRoU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMub2lkY1NlY3VyaXR5U2VydmljZSA9PSBudWxsKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiRXJybzogb2lkY1NlcnZpY2UgZXN0w6EgbnVsbCFcIilcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXV0aFNlcnZpY2UuaW5pdGlhdGUodGhpcy5vaWRjU2VjdXJpdHlTZXJ2aWNlKTtcclxuICAgIHRoaXMudXN1YXJpbyQgPSB0aGlzLmF1dGhTZXJ2aWNlLnVzdWFyaW8kO1xyXG4gIH1cclxuXHJcbiAgbG9naW4oKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ2luKCk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xyXG4gIH1cclxuIH1cclxuIiwiPGJ1dHRvbiBtYXQtbWluaS1mYWIgY29sb3I9XCJwcmltYXJ5XCIgYXJpYS1sYWJlbD1cIkxvZ2luIEJ1dHRvblwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XHJcbiAgPG1hdC1pY29uPnBlcnNvbjwvbWF0LWljb24+XHJcbjwvYnV0dG9uPlxyXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgPGRpdiAqbmdJZj1cInVzdWFyaW8kIHwgYXN5bmMgYXMgdXN1YXJpb1wiPiAgICBcclxuICAgIDxtYXQtY2FyZC1oZWFkZXIgY2xhc3M9XCJtZW51SGVhZGVyXCIgKm5nSWY9XCJ1c3VhcmlvICYmIHVzdWFyaW8uYXV0ZW50aWNhZG87IGVsc2Ugbm90QXV0aGVudGljYXRlZFwiPlxyXG4gICAgICA8bWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItaW5mby1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxzcGFuPnt7IHVzdWFyaW8udXN1YXJpb05vbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8bWF0LWljb24gbWF0VG9vbHRpcD1cInt7IHVzdWFyaW8ucGVyZmlzLmpvaW4oJywgJykgfX1cIiBhcmlhLWxhYmVsPVwiUGVyZmlzIGRlIHVzdcOhcmlvXCIgKm5nSWY9XCJ1c3VhcmlvLnBlcmZpc1wiPlxyXG4gICAgICAgICAgICBhY2NvdW50X2NpcmNsZVxyXG4gICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9tYXQtY2FyZC10aXRsZT5cclxuICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbm90QXV0aGVudGljYXRlZD5cclxuICAgICAgPG1hdC1jYXJkLWhlYWRlciBjbGFzcz1cIm1lbnVIZWFkZXJcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImxvZ2luKClcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj5sb2dpbjwvbWF0LWljb24+XHJcbiAgICAgICAgICA8c3Bhbj5Mb2dpbjwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cInVzdWFyaW8uYXV0ZW50aWNhZG9cIj48L21hdC1kaXZpZGVyPlxyXG5cclxuICAgIDxtYXQtY2FyZC1hY3Rpb25zICpuZ0lmPVwidXN1YXJpby5hdXRlbnRpY2Fkb1wiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImxvZ291dCgpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPmV4aXRfdG9fYXBwPC9tYXQtaWNvbj5cclxuICAgICAgICA8c3Bhbj5TYWlyPC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuICA8L2Rpdj5cclxuPC9tYXQtbWVudT4iXX0=