oxpi-nglib 1.0.8 → 1.0.12

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 (28) hide show
  1. package/esm2020/lib/cadastros/produtos/produto-add-dialog/produto-add-dialog.component.mjs +20 -16
  2. package/esm2020/lib/cadastros/produtos/produto-composicao/produto-composicao.component.mjs +148 -0
  3. package/esm2020/lib/cadastros/produtos/produto-composicao-add-dialog/produto-composicao-add-dialog.component.mjs +68 -0
  4. package/esm2020/lib/cadastros/produtos/produto-selecao-dialog/produto-selecao-dialog.component.mjs +135 -0
  5. package/esm2020/lib/cadastros/produtos/produtos/produtos.component.mjs +45 -17
  6. package/esm2020/lib/cadastros/produtos-subgrupos/produto-subgrupo-selecao-dialog/produto-subgrupo-selecao-dialog.component.mjs +11 -8
  7. package/esm2020/lib/models/entidades/login-result.mjs +1 -1
  8. package/esm2020/lib/models/entidades/produto-composicao.mjs +9 -0
  9. package/esm2020/lib/oxpi-nglib.module.mjs +12 -3
  10. package/esm2020/lib/providers/auth-data.service.mjs +5 -1
  11. package/esm2020/lib/providers/common-web-service.mjs +21 -1
  12. package/esm2020/public-api.mjs +5 -1
  13. package/fesm2015/oxpi-nglib.mjs +422 -41
  14. package/fesm2015/oxpi-nglib.mjs.map +1 -1
  15. package/fesm2020/oxpi-nglib.mjs +418 -41
  16. package/fesm2020/oxpi-nglib.mjs.map +1 -1
  17. package/lib/cadastros/produtos/produto-composicao/produto-composicao.component.d.ts +29 -0
  18. package/lib/cadastros/produtos/produto-composicao-add-dialog/produto-composicao-add-dialog.component.d.ts +29 -0
  19. package/lib/cadastros/produtos/produto-selecao-dialog/produto-selecao-dialog.component.d.ts +37 -0
  20. package/lib/cadastros/produtos/produtos/produtos.component.d.ts +2 -0
  21. package/lib/models/entidades/login-result.d.ts +2 -0
  22. package/lib/models/entidades/produto-composicao.d.ts +10 -0
  23. package/lib/oxpi-nglib.module.d.ts +13 -10
  24. package/lib/providers/auth-data.service.d.ts +2 -0
  25. package/lib/providers/common-web-service.d.ts +6 -0
  26. package/package.json +1 -1
  27. package/public-api.d.ts +4 -0
  28. package/styles/cadastros-listagens-form.scss +22 -0
@@ -7,6 +7,7 @@ import { ProdutoSearchSetting } from '../../../models/settings/produto-search-se
7
7
  import { FocusService } from '../../../providers/focus.service';
8
8
  import { ProdutoAddDialogComponent } from '../produto-add-dialog/produto-add-dialog.component';
9
9
  import { ProdutoBuscaFiltrosDialogComponent } from '../produto-busca-filtros-dialog/produto-busca-filtros-dialog.component';
10
+ import { ProdutoComposicaoComponent } from '../produto-composicao/produto-composicao.component';
10
11
  import { ProdutoEditDialogComponent } from '../produto-edit-dialog/produto-edit-dialog.component';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "../../../providers/common-web-service";
@@ -48,6 +49,7 @@ export class ProdutosComponent {
48
49
  this.allowAdd = auth.permissoes.adminProdutoAdd;
49
50
  this.allowExcluir = auth.permissoes.adminProdutoDelete;
50
51
  this.mobile = this.screenHelper.isMedium;
52
+ this.usaEstoqueOnline = auth.usaEstoqueOnline;
51
53
  this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);
52
54
  this.setting.exibeNaoControladoEstoque = true;
53
55
  this.setting.exibeImprimiCozinha = true;
@@ -105,14 +107,17 @@ export class ProdutosComponent {
105
107
  confirmaExclusao(this.dialog, `Deseja prosseguir com a exclusão do produto ${item.nome}?`, () => {
106
108
  this.isBusy = true;
107
109
  this.ws.deleteProduto(item.id)
108
- .subscribe(r => {
109
- this.notification.showMsg("O produto foi excluído com sucesso.");
110
- this.items.remove(item);
111
- this.selectedItem = null;
112
- this.isBusy = false;
113
- }, err => {
114
- this.isBusy = false;
115
- this.notification.showMsg(err.error);
110
+ .subscribe({
111
+ next: r => {
112
+ this.notification.showMsg("O produto foi excluído com sucesso.");
113
+ this.items.remove(item);
114
+ this.selectedItem = null;
115
+ this.isBusy = false;
116
+ },
117
+ error: err => {
118
+ this.isBusy = false;
119
+ this.notification.showMsg(err.error);
120
+ }
116
121
  });
117
122
  });
118
123
  }
@@ -167,12 +172,15 @@ export class ProdutosComponent {
167
172
  }
168
173
  this.isBusy = true;
169
174
  this.ws.saveProduto(this.selectedItem)
170
- .subscribe(r => {
171
- this.notification.showMsg("Salvo com sucesso.");
172
- this.isBusy = false;
173
- }, err => {
174
- this.isBusy = false;
175
- this.notification.showMsg(err.error);
175
+ .subscribe({
176
+ next: r => {
177
+ this.notification.showMsg("Salvo com sucesso.");
178
+ this.isBusy = false;
179
+ },
180
+ error: err => {
181
+ this.isBusy = false;
182
+ this.notification.showMsg(err.error);
183
+ }
176
184
  });
177
185
  }
178
186
  filtros() {
@@ -201,11 +209,31 @@ export class ProdutosComponent {
201
209
  this.atualiza();
202
210
  });
203
211
  }
212
+ composicao() {
213
+ let height = (window.innerHeight * 0.90) + 'px';
214
+ let width = 550 + 'px';
215
+ if (this.mobile) {
216
+ width = (window.innerWidth * 0.99) + 'px';
217
+ //height = (window.innerHeight * 0.98) + 'px';
218
+ }
219
+ const dialog = this.dialog.open(ProdutoComposicaoComponent, {
220
+ width: width,
221
+ height: height,
222
+ maxWidth: '100%',
223
+ panelClass: 'dialog-p0',
224
+ });
225
+ dialog.afterClosed().subscribe(result => {
226
+ if (result === undefined)
227
+ return;
228
+ this.notification.showMsg("Salvo com sucesso.");
229
+ this.atualiza();
230
+ });
231
+ }
204
232
  }
205
233
  ProdutosComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutosComponent, deps: [{ token: i1.CommonWebService }, { token: i2.NotificationService }, { token: i3.MatDialog }, { token: i4.AuthDataService }, { token: i5.ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component });
206
- ProdutosComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutosComponent, selector: "ox-produtos", ngImport: i0, template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div> \n <div class=\"hbox\" *ngIf=\"mobile\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [codigo]=\"i.id\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-item-card>\n\n </div>\n <div class=\"hbox\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n <div class=\"total-qtd\">Exibindo {{result.inicioQtd}}-{{result.finalQtd}} de {{result.quantidade}}</div>\n \n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um produto no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-produto-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\" [editMode]=\"true\">\n </ox-produto-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-fab color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">\n <mat-icon>save</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fdfdfd}.total-qtd{align-self:center;font-size:small}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: i11.PaginatorComponent, selector: "ox-paginator", inputs: ["pageSize", "paginaAtual", "totalPaginas"], outputs: ["paginaAtualChange", "totalPaginasChange", "change"] }, { kind: "component", type: i12.ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado"] }, { kind: "component", type: i13.ProdutoFormComponent, selector: "ox-produto-form", inputs: ["editMode", "model"], outputs: ["nextIdClick"] }, { kind: "pipe", type: i6.UpperCasePipe, name: "uppercase" }], animations: [fadeAnimation] });
234
+ ProdutosComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: ProdutosComponent, selector: "ox-produtos", ngImport: i0, template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div> \n <div class=\"hbox\" *ngIf=\"mobile\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [codigo]=\"i.id\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-item-card>\n\n </div>\n <div class=\"hbox\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n <div class=\"total-qtd\">Exibindo {{result.inicioQtd}}-{{result.finalQtd}} de {{result.quantidade}}</div>\n \n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um produto no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-produto-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\" [editMode]=\"true\">\n </ox-produto-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-stroked-button color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">Salvar</button>\n <button (click)=\"composicao()\" mat-stroked-button *ngIf=\"selectedItem && usaEstoqueOnline\" tabindex=\"20\">Composi\u00E7\u00E3o</button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fdfdfd}.total-qtd{align-self:center;font-size:small}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: i11.PaginatorComponent, selector: "ox-paginator", inputs: ["pageSize", "paginaAtual", "totalPaginas"], outputs: ["paginaAtualChange", "totalPaginasChange", "change"] }, { kind: "component", type: i12.ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado"] }, { kind: "component", type: i13.ProdutoFormComponent, selector: "ox-produto-form", inputs: ["editMode", "model"], outputs: ["nextIdClick"] }, { kind: "pipe", type: i6.UpperCasePipe, name: "uppercase" }], animations: [fadeAnimation] });
207
235
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ProdutosComponent, decorators: [{
208
236
  type: Component,
209
- args: [{ selector: 'ox-produtos', animations: [fadeAnimation], template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div> \n <div class=\"hbox\" *ngIf=\"mobile\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [codigo]=\"i.id\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-item-card>\n\n </div>\n <div class=\"hbox\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n <div class=\"total-qtd\">Exibindo {{result.inicioQtd}}-{{result.finalQtd}} de {{result.quantidade}}</div>\n \n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um produto no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-produto-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\" [editMode]=\"true\">\n </ox-produto-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-fab color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">\n <mat-icon>save</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fdfdfd}.total-qtd{align-self:center;font-size:small}\n"] }]
237
+ args: [{ selector: 'ox-produtos', animations: [fadeAnimation], template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div> \n <div class=\"hbox\" *ngIf=\"mobile\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [codigo]=\"i.id\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-item-card>\n\n </div>\n <div class=\"hbox\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n <div class=\"total-qtd\">Exibindo {{result.inicioQtd}}-{{result.finalQtd}} de {{result.quantidade}}</div>\n \n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um produto no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-produto-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\" [editMode]=\"true\">\n </ox-produto-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-stroked-button color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">Salvar</button>\n <button (click)=\"composicao()\" mat-stroked-button *ngIf=\"selectedItem && usaEstoqueOnline\" tabindex=\"20\">Composi\u00E7\u00E3o</button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fdfdfd}.total-qtd{align-self:center;font-size:small}\n"] }]
210
238
  }], ctorParameters: function () { return [{ type: i1.CommonWebService }, { type: i2.NotificationService }, { type: i3.MatDialog }, { type: i4.AuthDataService }, { type: i5.ScreenHelperService }]; } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0b3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9wcm9kdXRvcy9wcm9kdXRvcy9wcm9kdXRvcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG9zL3Byb2R1dG9zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBVyxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFHdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQy9GLE9BQU8sRUFBcUIsa0NBQWtDLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUMvSSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBUWxHLE1BQU0sT0FBTyxpQkFBaUI7SUErQjVCLFlBQW9CLEVBQW9CLEVBQzlCLFlBQWlDLEVBQ2xDLE1BQWlCLEVBQ3hCLElBQXFCLEVBQ2IsWUFBaUM7UUFKdkIsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2xD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QyxDQUFDO0lBQ0wsQ0FBQzs7OEdBbk1VLGlCQUFpQjtrR0FBakIsaUJBQWlCLG1EQ3ZCOUIsZ3RJQTJGTSxnbUVEdEVRLENBQUMsYUFBYSxDQUFDOzJGQUVoQixpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsYUFBYSxjQUdYLENBQUMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBmYWRlQW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vYW5pbWF0aW9ucy9hbmltYXRpb25zJztcbmltcG9ydCB7IFByb2R1dG8sIHZhbGlkYVByb2R1dG8gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZW50aWRhZGVzL3Byb2R1dG8nO1xuaW1wb3J0IHsgTGF6eVRyaWdnZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5mcmEvbGF6eS10cmlnZ2VyJztcbmltcG9ydCB7IFBhZ2luZ1Jlc3VsdCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pbmZyYS9wYWdpbmctcmVzdWx0JztcbmltcG9ydCB7IGNvbmZpcm1hRXhjbHVzYW8gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5mcmEvc2VsZWNhby11dGlscyc7XG5pbXBvcnQgeyBQcm9kdXRvU2VhcmNoU2V0dGluZyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zZXR0aW5ncy9wcm9kdXRvLXNlYXJjaC1zZXR0aW5nJztcbmltcG9ydCB7IEF1dGhEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9hdXRoLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25XZWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2NvbW1vbi13ZWItc2VydmljZSc7XG5pbXBvcnQgeyBGb2N1c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvZm9jdXMuc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNjcmVlbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvc2NyZWVuLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1dG9BZGREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdXRvLWFkZC1kaWFsb2cvcHJvZHV0by1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBmaWx0cm9zRGlhbG9nRGF0YSwgUHJvZHV0b0J1c2NhRmlsdHJvc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3Byb2R1dG8tYnVzY2EtZmlsdHJvcy1kaWFsb2cvcHJvZHV0by1idXNjYS1maWx0cm9zLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHV0b0VkaXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdXRvLWVkaXQtZGlhbG9nL3Byb2R1dG8tZWRpdC1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb3gtcHJvZHV0b3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHV0b3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdXRvcy5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbZmFkZUFuaW1hdGlvbl1cbn0pXG5leHBvcnQgY2xhc3MgUHJvZHV0b3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtb2JpbGU6IGJvb2xlYW47XG4gIGlzQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuICBpdGVtczogUHJvZHV0b1tdID0gW107XG4gIHJlc3VsdDogUGFnaW5nUmVzdWx0PFByb2R1dG8+ID1cbiAgICB7XG4gICAgICBmaW5hbFF0ZDogMCxcbiAgICAgIGluaWNpb1F0ZDogMCxcbiAgICAgIGl0ZW1zOiBbXSxcbiAgICAgIHBhZ2luYTogMCxcbiAgICAgIHF1YW50aWRhZGU6IDAsXG4gICAgICB2YWxvcjogMCxcbiAgICAgIHRvdGFsUGFnaW5hczogMFxuICAgIH07XG4gIHByaXZhdGUgX3NlbGVjdGVkSXRlbSA6IFByb2R1dG8gfCBudWxsID0gbnVsbDtcbiAgZ2V0IHNlbGVjdGVkSXRlbSgpOiBQcm9kdXRvIHwgbnVsbFxuICB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbTtcbiAgfVxuICBzZXQgc2VsZWN0ZWRJdGVtKHAgOiBQcm9kdXRvIHwgbnVsbClcbiAge1xuICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IHA7XG4gIH1cbiAgbGF6eVRyaWdnZXIgPSBuZXcgTGF6eVRyaWdnZXIoKCkgPT4geyB0aGlzLmF0dWFsaXphKCk7IH0pO1xuICBhbGxvd0FkZDogYm9vbGVhbjtcbiAgYWxsb3dFeGNsdWlyOiBib29sZWFuO1xuICBzZXR0aW5nID0gbmV3IFByb2R1dG9TZWFyY2hTZXR0aW5nKCk7XG4gIHByaXZhdGUgZm9jdXM6IEZvY3VzU2VydmljZSA9IG5ldyBGb2N1c1NlcnZpY2UoKTtcbiAgcGFnaW5hQXR1YWw6IG51bWJlciA9IDE7XG4gIHF1YW50aWRhZGVQYWdpbmE6IG51bWJlciA9IDUwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgd3M6IENvbW1vbldlYlNlcnZpY2UsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIGF1dGg6IEF1dGhEYXRhU2VydmljZSxcbiAgICBwcml2YXRlIHNjcmVlbkhlbHBlcjogU2NyZWVuSGVscGVyU2VydmljZSkge1xuICAgIHRoaXMuYWxsb3dBZGQgPSBhdXRoLnBlcm1pc3NvZXMuYWRtaW5Qcm9kdXRvQWRkO1xuICAgIHRoaXMuYWxsb3dFeGNsdWlyID0gYXV0aC5wZXJtaXNzb2VzLmFkbWluUHJvZHV0b0RlbGV0ZTtcbiAgICB0aGlzLm1vYmlsZSA9IHRoaXMuc2NyZWVuSGVscGVyLmlzTWVkaXVtO1xuICAgIHRoaXMuc2NyZWVuSGVscGVyLmNoYW5nZWRNZWRpdW1TY3JlZW4uc3Vic2NyaWJlKHggPT4gdGhpcy5tb2JpbGUgPSB4KTtcbiAgICB0aGlzLnNldHRpbmcuZXhpYmVOYW9Db250cm9sYWRvRXN0b3F1ZSA9IHRydWU7XG4gICAgdGhpcy5zZXR0aW5nLmV4aWJlSW1wcmltaUNvemluaGEgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXR0aW5nLm9yZGVtID0gXCJub21lXCI7XG4gICAgdGhpcy5hdHVhbGl6YSgpO1xuICB9XG5cbiAgb25TZWxlY3RJdGVtKCk6IHZvaWQge1xuXG4gICAgaWYgKCF0aGlzLmZvY3VzLmhhc0luaXQoKSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZm9jdXMucmVnaXN0ZXJFbGVtZW50QnlJZChcImZvcm0tY29sdW1uXCIpO1xuICAgICAgICB0aGlzLmZvY3VzLnNldEZpcnN0KCk7XG4gICAgICB9LCA1MDApO1xuICAgICAgLy90aGlzLl9mb2N1cy5yZWdpc3RlckVsZW1lbnRCeUlkKFwiZm9ybS1jb2x1bW5cIik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5mb2N1cy5zZXRGaXJzdCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXMudW5yZWdpc3RlckVsZW1lbnRCeUlkKFwiZm9ybS1jb2x1bW5cIik7XG4gIH1cbiAgdHJvY2FQYWdpbmEoKSB7XG4gICAgdGhpcy5hdHVhbGl6YSh0aGlzLnBhZ2luYUF0dWFsKTtcbiAgfVxuICBhdHVhbGl6YShwYWdpbmE/OiBudW1iZXIpIHtcbiAgICBpZiAocGFnaW5hID09IHVuZGVmaW5lZClcbiAgICAgIHRoaXMucGFnaW5hQXR1YWwgPSAxO1xuICAgIGVsc2VcbiAgICAgIHRoaXMucGFnaW5hQXR1YWwgPSBwYWdpbmE7XG4gICAgdGhpcy5pc0J1c3kgPSB0cnVlO1xuICAgIHRoaXMud3MuYnVzY2FQYWdpbmFkYVByb2R1dG9zKHRoaXMuc2V0dGluZywgdGhpcy5wYWdpbmFBdHVhbCwgdGhpcy5xdWFudGlkYWRlUGFnaW5hKVxuICAgICAgLnN1YnNjcmliZShyID0+IHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IHIuaXRlbXM7XG4gICAgICAgIHRoaXMucmVzdWx0ID0gcjtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBudWxsO1xuICAgICAgICBjb25zb2xlLmluZm8ocik7XG4gICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICB9LCBlcnIgPT4ge1xuICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93SHR0cEVycm9yKGVycik7XG4gICAgICB9KTtcbiAgfVxuXG5cblxuICBleGNsdWlyKCkge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnNlbGVjdGVkSXRlbTtcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcbiAgICBjb25maXJtYUV4Y2x1c2FvKHRoaXMuZGlhbG9nLFxuICAgICAgYERlc2VqYSBwcm9zc2VndWlyIGNvbSBhIGV4Y2x1c8OjbyBkbyBwcm9kdXRvICR7aXRlbS5ub21lfT9gLFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmlzQnVzeSA9IHRydWU7XG4gICAgICAgIHRoaXMud3MuZGVsZXRlUHJvZHV0byhpdGVtLmlkKVxuICAgICAgICAgIC5zdWJzY3JpYmUociA9PiB7XG4gICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKFwiTyBwcm9kdXRvIGZvaSBleGNsdcOtZG8gY29tIHN1Y2Vzc28uXCIpO1xuICAgICAgICAgICAgdGhpcy5pdGVtcy5yZW1vdmUoaXRlbSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKGVyci5lcnJvcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbm92bygpIHtcbiAgICBsZXQgaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTApICsgJ3B4JztcbiAgICBsZXQgd2lkdGggPSA1NTAgKyAncHgnO1xuICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgd2lkdGggPSAod2luZG93LmlubmVyV2lkdGggKiAwLjk5KSArICdweCc7XG4gICAgICAvL2hlaWdodCA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjk4KSArICdweCc7XG4gICAgfVxuICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuZGlhbG9nLm9wZW4oUHJvZHV0b0FkZERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6IHdpZHRoLFxuICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1wMCcsXG4gICAgfSk7XG4gICAgZGlhbG9nLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgfSk7XG4gIH1cblxuICBhYnJlQ2FkYXN0cm8oaXRlbTogUHJvZHV0bykge1xuICAgIGxldCBoZWlnaHQgPSB1bmRlZmluZWQ7XG4gICAgbGV0IHdpZHRoID0gNTUwICsgJ3B4JztcbiAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgIHdpZHRoID0gKHdpbmRvdy5pbm5lcldpZHRoICogMC45OSkgKyAncHgnO1xuICAgICAgaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTkpICsgJ3B4JztcbiAgICB9XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5kaWFsb2cub3BlbihQcm9kdXRvRWRpdERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgZGF0YTogaXRlbSxcbiAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgIGhlaWdodDogaGVpZ2h0LFxuICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctcDAnLFxuICAgIH0pO1xuICAgIGRpYWxvZy5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgcmV0dXJuO1xuICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZyhcIlNhbHZvIGNvbSBzdWNlc3NvLlwiKTtcbiAgICAgIHRoaXMuYXR1YWxpemEoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNhbHZhcigpIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRJdGVtKSByZXR1cm47XG4gICAgY29uc3QgdmFsTXNnID0gdmFsaWRhUHJvZHV0byh0aGlzLnNlbGVjdGVkSXRlbSwgdGhpcy5mb2N1cyk7XG4gICAgaWYgKHZhbE1zZykge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZ0Vycm9yKHZhbE1zZyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNCdXN5ID0gdHJ1ZTtcbiAgICB0aGlzLndzLnNhdmVQcm9kdXRvKHRoaXMuc2VsZWN0ZWRJdGVtKVxuICAgICAgLnN1YnNjcmliZShyID0+IHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZyhcIlNhbHZvIGNvbSBzdWNlc3NvLlwiKTtcbiAgICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKGVyci5lcnJvcik7XG4gICAgICAgIH0pO1xuICB9XG4gIGZpbHRyb3MoKSB7XG4gICAgbGV0IGhlaWdodCA9IHVuZGVmaW5lZDtcbiAgICBsZXQgd2lkdGggPSA1NTAgKyAncHgnO1xuICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgd2lkdGggPSAod2luZG93LmlubmVyV2lkdGggKiAwLjk5KSArICdweCc7XG4gICAgICBoZWlnaHQgPSAod2luZG93LmlubmVySGVpZ2h0ICogMC45OSkgKyAncHgnO1xuICAgIH1cbiAgICBjb25zdCBwOiBmaWx0cm9zRGlhbG9nRGF0YSA9XG4gICAge1xuICAgICAgcXRkOiB0aGlzLnF1YW50aWRhZGVQYWdpbmEsXG4gICAgICBzZXR0aW5nOiB0aGlzLnNldHRpbmdcbiAgICB9O1xuICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuZGlhbG9nLm9wZW4oUHJvZHV0b0J1c2NhRmlsdHJvc0RpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgZGF0YTogcCxcbiAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgIGhlaWdodDogaGVpZ2h0LFxuICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctcDAnLFxuICAgIH0pO1xuICAgIGRpYWxvZy5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgaWYgKCFyZXN1bHQpIHJldHVybjtcbiAgICAgIGNvbnN0IHI6IGZpbHRyb3NEaWFsb2dEYXRhID0gcmVzdWx0O1xuICAgICAgdGhpcy5xdWFudGlkYWRlUGFnaW5hID0gci5xdGQ7XG4gICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPG94LWJ1c3ktaW5kaWNhdG9yIFtpc0J1c3ldPVwiaXNCdXN5XCI+PC9veC1idXN5LWluZGljYXRvcj5cbjxkaXYgY2xhc3M9XCJ0b29sLXBhbmVsXCIgKm5nSWY9XCJtb2JpbGVcIj5cbiAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvblwiPlxuICAgIDxsYWJlbD5QZXNxdWlzYTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInNldHRpbmcuZnJhc2VcIiBwbGFjZWhvbGRlcj1cIkRpZ2l0ZSB1bSB0ZXJtbyBkZSBidXNjYS4uLlwiIChpbnB1dCk9XCJsYXp5VHJpZ2dlci5maXJlKClcIj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJmaWx0cm9zKClcIj5cbiAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJGaWx0cm9zXCI+bWFuYWdlX3NlYXJjaDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0b29sLXNlY3Rpb24gb3JkZW0tc20yXCI+XG4gICAgPGxhYmVsPkHDp8O1ZXM8L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJ0b29sLXJvd1wiPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImF0dWFsaXphKClcIj5cbiAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJBdHVhbGl6YXJcIj5yZWZyZXNoPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm5vdm8oKVwiICpuZ0lmPVwiYWxsb3dBZGRcIj5cbiAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJOb3ZvIEdydXBvXCI+YWRkPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImV4Y2x1aXIoKVwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtICYmIGFsbG93RXhjbHVpclwiIFtAZmFkZV0+XG4gICAgICAgIDxtYXQtaWNvbiBhcmlhLWxhYmVsPVwiRXhjbHVpciBHcnVwb1wiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJyZXN1bHQtY29udGFpbmVyXCIgKm5nSWY9XCJpdGVtc1wiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZHMtY29udGFpbmVyIGNhcmRzLWNvbnRhaW5lci1zaGFkb3dcIiAqbmdJZj1cIm1vYmlsZVwiPlxuICAgIDxveC1pdGVtLWNhcmQgW2Rlc2F0aXZhZG9dPVwiIWkuaXNBdGl2b1wiIFtjbG91ZF09XCJpLmVudmlhZG9QQ1wiIFtub21lXT1cImkubm9tZVwiICpuZ0Zvcj1cImxldCBpIG9mIGl0ZW1zXCIgKGNsaWNrKT1cImFicmVDYWRhc3RybyhpKVwiPjwvb3gtaXRlbS1jYXJkPlxuICA8L2Rpdj4gIFxuICA8ZGl2IGNsYXNzPVwiaGJveFwiICAqbmdJZj1cIm1vYmlsZVwiPlxuICAgIDxveC1wYWdpbmF0b3IgKGNoYW5nZSk9XCJ0cm9jYVBhZ2luYSgpXCIgWyhwYWdpbmFBdHVhbCldPVwicGFnaW5hQXR1YWxcIiBbKHRvdGFsUGFnaW5hcyldPVwicmVzdWx0LnRvdGFsUGFnaW5hc1wiPlxuICAgIDwvb3gtcGFnaW5hdG9yPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWRlc2t0b3AtZ3JpZFwiICpuZ0lmPVwiIW1vYmlsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJsaXN0YWdlbS1jb2x1bW4tY29udGFpbmVyIGxpc3RhZ2VtLWxpc3QtY29sdW1uXCI+XG4gICAgICA8aDM+UHJvZHV0b3M8L2gzPlxuICAgICAgPGRpdiBjbGFzcz1cInRvb2wtcGFuZWwgdG9vbC1wYW5lbC1mbG9hdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbC1zZWN0aW9uXCI+XG4gICAgICAgICAgPGxhYmVsPlBlc3F1aXNhPC9sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwic2V0dGluZy5mcmFzZVwiIHBsYWNlaG9sZGVyPVwiRGlnaXRlIHVtIHRlcm1vIGRlIGJ1c2NhLi4uXCIgKGlucHV0KT1cImxhenlUcmlnZ2VyLmZpcmUoKVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImZpbHRyb3MoKVwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIkZpbHRyb3NcIj5tYW5hZ2Vfc2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvbiBvcmRlbS1zbTJcIj5cbiAgICAgICAgICA8bGFiZWw+QcOnw7VlczwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2wtcm93XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYXR1YWxpemEoKVwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIkF0dWFsaXphclwiPnJlZnJlc2g8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibm92bygpXCIgKm5nSWY9XCJhbGxvd0FkZFwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIk5vdm9cIj5hZGQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZXhjbHVpcigpXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW0gJiYgYWxsb3dFeGNsdWlyXCIgW0BmYWRlXT5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJFeGNsdWlyXCI+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWxpc3QtY29udGFpbmVyXCI+XG4gICAgICAgIDxoNCAqbmdJZj1cIml0ZW1zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwibmVuaHVtLWl0ZW0tbXNnXCI+QSBidXNjYSBuw6NvIHJldG9ybm91IHJlc3VsdGFkb3M8L2g0PlxuXG4gICAgICAgIDxveC1pdGVtLWNhcmQgW2Rlc2F0aXZhZG9dPVwiIWkuaXNBdGl2b1wiIFtjbG91ZF09XCJpLmVudmlhZG9QQ1wiIFtjb2RpZ29dPVwiaS5pZFwiIFtub21lXT1cImkubm9tZVwiICpuZ0Zvcj1cImxldCBpIG9mIGl0ZW1zXCIgW2NsYXNzLnNlbGVjdGVkXT1cImkgPT09IHNlbGVjdGVkSXRlbVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkSXRlbSA9IGk7XCI+PC9veC1pdGVtLWNhcmQ+XG5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImhib3hcIj5cbiAgICAgICAgPG94LXBhZ2luYXRvciAoY2hhbmdlKT1cInRyb2NhUGFnaW5hKClcIiBbKHBhZ2luYUF0dWFsKV09XCJwYWdpbmFBdHVhbFwiIFsodG90YWxQYWdpbmFzKV09XCJyZXN1bHQudG90YWxQYWdpbmFzXCI+XG4gICAgICAgIDwvb3gtcGFnaW5hdG9yPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG90YWwtcXRkXCI+RXhpYmluZG8ge3tyZXN1bHQuaW5pY2lvUXRkfX0te3tyZXN1bHQuZmluYWxRdGR9fSBkZSB7e3Jlc3VsdC5xdWFudGlkYWRlfX08L2Rpdj5cbiAgICAgICAgXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibGlzdGFnZW0tY29sdW1uLWNvbnRhaW5lciBsaXN0YWdlbS1jb2x1bW4tZm9ybVwiPlxuICAgICAgPGgzICpuZ0lmPVwiIXNlbGVjdGVkSXRlbVwiPlNlbGVjaW9uZSB1bSBwcm9kdXRvIG5vIGxhZG8gZGlyZWl0bzwvaDM+XG4gICAgICA8aDMgKm5nSWY9XCJzZWxlY3RlZEl0ZW1cIj57e3NlbGVjdGVkSXRlbS5ub21lIHwgdXBwZXJjYXNlfX08L2gzPlxuICAgICAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWZvcm0tY29udGFpbmVyXCI+XG4gICAgICAgIDxveC1wcm9kdXRvLWZvcm0gW0BmYWRlXSBbbW9kZWxdPVwic2VsZWN0ZWRJdGVtXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW1cIiBbZWRpdE1vZGVdPVwidHJ1ZVwiPlxuICAgICAgICA8L294LXByb2R1dG8tZm9ybT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibGlzdGFnZW0tZm9ybS1hY29lc1wiPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzYWx2YXIoKVwiIG1hdC1mYWIgY29sb3I9XCJwcmltYXJ5XCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW1cIiB0YWJpbmRleD1cIjIwXCI+XG4gICAgICAgICAgPG1hdC1pY29uPnNhdmU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0b3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9wcm9kdXRvcy9wcm9kdXRvcy9wcm9kdXRvcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG9zL3Byb2R1dG9zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBVyxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFHdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQy9GLE9BQU8sRUFBcUIsa0NBQWtDLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUMvSSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBUWxHLE1BQU0sT0FBTyxpQkFBaUI7SUE4QjVCLFlBQW9CLEVBQW9CLEVBQzlCLFlBQWlDLEVBQ2xDLE1BQWlCLEVBQ3hCLElBQXFCLEVBQ2IsWUFBaUM7UUFKdkIsT0FBRSxHQUFG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QWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgZmFkZUFuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uL2FuaW1hdGlvbnMvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBQcm9kdXRvLCB2YWxpZGFQcm9kdXRvIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2VudGlkYWRlcy9wcm9kdXRvJztcbmltcG9ydCB7IExhenlUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2luZnJhL2xhenktdHJpZ2dlcic7XG5pbXBvcnQgeyBQYWdpbmdSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5mcmEvcGFnaW5nLXJlc3VsdCc7XG5pbXBvcnQgeyBjb25maXJtYUV4Y2x1c2FvIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2luZnJhL3NlbGVjYW8tdXRpbHMnO1xuaW1wb3J0IHsgUHJvZHV0b1NlYXJjaFNldHRpbmcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2V0dGluZ3MvcHJvZHV0by1zZWFyY2gtc2V0dGluZyc7XG5pbXBvcnQgeyBBdXRoRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvYXV0aC1kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uV2ViU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9jb21tb24td2ViLXNlcnZpY2UnO1xuaW1wb3J0IHsgRm9jdXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2ZvY3VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTY3JlZW5IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL3NjcmVlbi1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdXRvQWRkRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZHV0by1hZGQtZGlhbG9nL3Byb2R1dG8tYWRkLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgZmlsdHJvc0RpYWxvZ0RhdGEsIFByb2R1dG9CdXNjYUZpbHRyb3NEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdXRvLWJ1c2NhLWZpbHRyb3MtZGlhbG9nL3Byb2R1dG8tYnVzY2EtZmlsdHJvcy1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9Db21wb3NpY2FvQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZHV0by1jb21wb3NpY2FvL3Byb2R1dG8tY29tcG9zaWNhby5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHV0b0VkaXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdXRvLWVkaXQtZGlhbG9nL3Byb2R1dG8tZWRpdC1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb3gtcHJvZHV0b3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHV0b3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdXRvcy5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbZmFkZUFuaW1hdGlvbl1cbn0pXG5leHBvcnQgY2xhc3MgUHJvZHV0b3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtb2JpbGU6IGJvb2xlYW47XG4gIGlzQnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuICBpdGVtczogUHJvZHV0b1tdID0gW107XG4gIHJlc3VsdDogUGFnaW5nUmVzdWx0PFByb2R1dG8+ID1cbiAgICB7XG4gICAgICBmaW5hbFF0ZDogMCxcbiAgICAgIGluaWNpb1F0ZDogMCxcbiAgICAgIGl0ZW1zOiBbXSxcbiAgICAgIHBhZ2luYTogMCxcbiAgICAgIHF1YW50aWRhZGU6IDAsXG4gICAgICB2YWxvcjogMCxcbiAgICAgIHRvdGFsUGFnaW5hczogMFxuICAgIH07XG4gIHByaXZhdGUgX3NlbGVjdGVkSXRlbTogUHJvZHV0byB8IG51bGwgPSBudWxsO1xuICBnZXQgc2VsZWN0ZWRJdGVtKCk6IFByb2R1dG8gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtO1xuICB9XG4gIHNldCBzZWxlY3RlZEl0ZW0ocDogUHJvZHV0byB8IG51bGwpIHtcbiAgICB0aGlzLl9zZWxlY3RlZEl0ZW0gPSBwO1xuICB9XG4gIGxhenlUcmlnZ2VyID0gbmV3IExhenlUcmlnZ2VyKCgpID0+IHsgdGhpcy5hdHVhbGl6YSgpOyB9KTtcbiAgYWxsb3dBZGQ6IGJvb2xlYW47XG4gIGFsbG93RXhjbHVpcjogYm9vbGVhbjtcbiAgdXNhRXN0b3F1ZU9ubGluZSA6IGJvb2xlYW47XG4gIHNldHRpbmcgPSBuZXcgUHJvZHV0b1NlYXJjaFNldHRpbmcoKTtcbiAgcHJpdmF0ZSBmb2N1czogRm9jdXNTZXJ2aWNlID0gbmV3IEZvY3VzU2VydmljZSgpO1xuICBwYWdpbmFBdHVhbDogbnVtYmVyID0gMTtcbiAgcXVhbnRpZGFkZVBhZ2luYTogbnVtYmVyID0gNTA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB3czogQ29tbW9uV2ViU2VydmljZSxcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgYXV0aDogQXV0aERhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2NyZWVuSGVscGVyOiBTY3JlZW5IZWxwZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy5hbGxvd0FkZCA9IGF1dGgucGVybWlzc29lcy5hZG1pblByb2R1dG9BZGQ7XG4gICAgdGhpcy5hbGxvd0V4Y2x1aXIgPSBhdXRoLnBlcm1pc3NvZXMuYWRtaW5Qcm9kdXRvRGVsZXRlO1xuICAgIHRoaXMubW9iaWxlID0gdGhpcy5zY3JlZW5IZWxwZXIuaXNNZWRpdW07XG4gICAgdGhpcy51c2FFc3RvcXVlT25saW5lID0gYXV0aC51c2FFc3RvcXVlT25saW5lO1xuICAgIHRoaXMuc2NyZWVuSGVscGVyLmNoYW5nZWRNZWRpdW1TY3JlZW4uc3Vic2NyaWJlKHggPT4gdGhpcy5tb2JpbGUgPSB4KTtcbiAgICB0aGlzLnNldHRpbmcuZXhpYmVOYW9Db250cm9sYWRvRXN0b3F1ZSA9IHRydWU7XG4gICAgdGhpcy5zZXR0aW5nLmV4aWJlSW1wcmltaUNvemluaGEgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXR0aW5nLm9yZGVtID0gXCJub21lXCI7XG4gICAgdGhpcy5hdHVhbGl6YSgpO1xuICB9XG5cbiAgb25TZWxlY3RJdGVtKCk6IHZvaWQge1xuXG4gICAgaWYgKCF0aGlzLmZvY3VzLmhhc0luaXQoKSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZm9jdXMucmVnaXN0ZXJFbGVtZW50QnlJZChcImZvcm0tY29sdW1uXCIpO1xuICAgICAgICB0aGlzLmZvY3VzLnNldEZpcnN0KCk7XG4gICAgICB9LCA1MDApO1xuICAgICAgLy90aGlzLl9mb2N1cy5yZWdpc3RlckVsZW1lbnRCeUlkKFwiZm9ybS1jb2x1bW5cIik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5mb2N1cy5zZXRGaXJzdCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXMudW5yZWdpc3RlckVsZW1lbnRCeUlkKFwiZm9ybS1jb2x1bW5cIik7XG4gIH1cbiAgdHJvY2FQYWdpbmEoKSB7XG4gICAgdGhpcy5hdHVhbGl6YSh0aGlzLnBhZ2luYUF0dWFsKTtcbiAgfVxuICBhdHVhbGl6YShwYWdpbmE/OiBudW1iZXIpIHtcbiAgICBpZiAocGFnaW5hID09IHVuZGVmaW5lZClcbiAgICAgIHRoaXMucGFnaW5hQXR1YWwgPSAxO1xuICAgIGVsc2VcbiAgICAgIHRoaXMucGFnaW5hQXR1YWwgPSBwYWdpbmE7XG4gICAgdGhpcy5pc0J1c3kgPSB0cnVlO1xuICAgIHRoaXMud3MuYnVzY2FQYWdpbmFkYVByb2R1dG9zKHRoaXMuc2V0dGluZywgdGhpcy5wYWdpbmFBdHVhbCwgdGhpcy5xdWFudGlkYWRlUGFnaW5hKVxuICAgICAgLnN1YnNjcmliZShyID0+IHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IHIuaXRlbXM7XG4gICAgICAgIHRoaXMucmVzdWx0ID0gcjtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBudWxsO1xuICAgICAgICBjb25zb2xlLmluZm8ocik7XG4gICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICB9LCBlcnIgPT4ge1xuICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93SHR0cEVycm9yKGVycik7XG4gICAgICB9KTtcbiAgfVxuXG5cblxuICBleGNsdWlyKCkge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnNlbGVjdGVkSXRlbTtcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcbiAgICBjb25maXJtYUV4Y2x1c2FvKHRoaXMuZGlhbG9nLFxuICAgICAgYERlc2VqYSBwcm9zc2VndWlyIGNvbSBhIGV4Y2x1c8OjbyBkbyBwcm9kdXRvICR7aXRlbS5ub21lfT9gLFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmlzQnVzeSA9IHRydWU7XG4gICAgICAgIHRoaXMud3MuZGVsZXRlUHJvZHV0byhpdGVtLmlkKVxuICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogciA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJPIHByb2R1dG8gZm9pIGV4Y2x1w61kbyBjb20gc3VjZXNzby5cIik7XG4gICAgICAgICAgICAgIHRoaXMuaXRlbXMucmVtb3ZlKGl0ZW0pO1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG51bGw7XG4gICAgICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coZXJyLmVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbm92bygpIHtcbiAgICBsZXQgaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTApICsgJ3B4JztcbiAgICBsZXQgd2lkdGggPSA1NTAgKyAncHgnO1xuICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgd2lkdGggPSAod2luZG93LmlubmVyV2lkdGggKiAwLjk5KSArICdweCc7XG4gICAgICAvL2hlaWdodCA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjk4KSArICdweCc7XG4gICAgfVxuICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuZGlhbG9nLm9wZW4oUHJvZHV0b0FkZERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6IHdpZHRoLFxuICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1wMCcsXG4gICAgfSk7XG4gICAgZGlhbG9nLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgfSk7XG4gIH1cblxuICBhYnJlQ2FkYXN0cm8oaXRlbTogUHJvZHV0bykge1xuICAgIGxldCBoZWlnaHQgPSB1bmRlZmluZWQ7XG4gICAgbGV0IHdpZHRoID0gNTUwICsgJ3B4JztcbiAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgIHdpZHRoID0gKHdpbmRvdy5pbm5lcldpZHRoICogMC45OSkgKyAncHgnO1xuICAgICAgaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTkpICsgJ3B4JztcbiAgICB9XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5kaWFsb2cub3BlbihQcm9kdXRvRWRpdERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgZGF0YTogaXRlbSxcbiAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgIGhlaWdodDogaGVpZ2h0LFxuICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctcDAnLFxuICAgIH0pO1xuICAgIGRpYWxvZy5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgcmV0dXJuO1xuICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZyhcIlNhbHZvIGNvbSBzdWNlc3NvLlwiKTtcbiAgICAgIHRoaXMuYXR1YWxpemEoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNhbHZhcigpIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRJdGVtKSByZXR1cm47XG4gICAgY29uc3QgdmFsTXNnID0gdmFsaWRhUHJvZHV0byh0aGlzLnNlbGVjdGVkSXRlbSwgdGhpcy5mb2N1cyk7XG4gICAgaWYgKHZhbE1zZykge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZ0Vycm9yKHZhbE1zZyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNCdXN5ID0gdHJ1ZTtcbiAgICB0aGlzLndzLnNhdmVQcm9kdXRvKHRoaXMuc2VsZWN0ZWRJdGVtKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IHIgPT4ge1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5zaG93TXNnKGVyci5lcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG4gIGZpbHRyb3MoKSB7XG4gICAgbGV0IGhlaWdodCA9IHVuZGVmaW5lZDtcbiAgICBsZXQgd2lkdGggPSA1NTAgKyAncHgnO1xuICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgd2lkdGggPSAod2luZG93LmlubmVyV2lkdGggKiAwLjk5KSArICdweCc7XG4gICAgICBoZWlnaHQgPSAod2luZG93LmlubmVySGVpZ2h0ICogMC45OSkgKyAncHgnO1xuICAgIH1cbiAgICBjb25zdCBwOiBmaWx0cm9zRGlhbG9nRGF0YSA9XG4gICAge1xuICAgICAgcXRkOiB0aGlzLnF1YW50aWRhZGVQYWdpbmEsXG4gICAgICBzZXR0aW5nOiB0aGlzLnNldHRpbmdcbiAgICB9O1xuICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuZGlhbG9nLm9wZW4oUHJvZHV0b0J1c2NhRmlsdHJvc0RpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgZGF0YTogcCxcbiAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgIGhlaWdodDogaGVpZ2h0LFxuICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctcDAnLFxuICAgIH0pO1xuICAgIGRpYWxvZy5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgaWYgKCFyZXN1bHQpIHJldHVybjtcbiAgICAgIGNvbnN0IHI6IGZpbHRyb3NEaWFsb2dEYXRhID0gcmVzdWx0O1xuICAgICAgdGhpcy5xdWFudGlkYWRlUGFnaW5hID0gci5xdGQ7XG4gICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgfSk7XG4gIH1cblxuICBjb21wb3NpY2FvKCkge1xuICAgIGxldCBoZWlnaHQgPSAod2luZG93LmlubmVySGVpZ2h0ICogMC45MCkgKyAncHgnO1xuICAgIGxldCB3aWR0aCA9IDU1MCArICdweCc7XG4gICAgaWYgKHRoaXMubW9iaWxlKSB7XG4gICAgICB3aWR0aCA9ICh3aW5kb3cuaW5uZXJXaWR0aCAqIDAuOTkpICsgJ3B4JztcbiAgICAgIC8vaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTgpICsgJ3B4JztcbiAgICB9XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5kaWFsb2cub3BlbihQcm9kdXRvQ29tcG9zaWNhb0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6IHdpZHRoLFxuICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1wMCcsXG4gICAgfSk7XG4gICAgZGlhbG9nLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPG94LWJ1c3ktaW5kaWNhdG9yIFtpc0J1c3ldPVwiaXNCdXN5XCI+PC9veC1idXN5LWluZGljYXRvcj5cbjxkaXYgY2xhc3M9XCJ0b29sLXBhbmVsXCIgKm5nSWY9XCJtb2JpbGVcIj5cbiAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvblwiPlxuICAgIDxsYWJlbD5QZXNxdWlzYTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInNldHRpbmcuZnJhc2VcIiBwbGFjZWhvbGRlcj1cIkRpZ2l0ZSB1bSB0ZXJtbyBkZSBidXNjYS4uLlwiIChpbnB1dCk9XCJsYXp5VHJpZ2dlci5maXJlKClcIj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJmaWx0cm9zKClcIj5cbiAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJGaWx0cm9zXCI+bWFuYWdlX3NlYXJjaDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0b29sLXNlY3Rpb24gb3JkZW0tc20yXCI+XG4gICAgPGxhYmVsPkHDp8O1ZXM8L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJ0b29sLXJvd1wiPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImF0dWFsaXphKClcIj5cbiAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJBdHVhbGl6YXJcIj5yZWZyZXNoPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm5vdm8oKVwiICpuZ0lmPVwiYWxsb3dBZGRcIj5cbiAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJOb3ZvIEdydXBvXCI+YWRkPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImV4Y2x1aXIoKVwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtICYmIGFsbG93RXhjbHVpclwiIFtAZmFkZV0+XG4gICAgICAgIDxtYXQtaWNvbiBhcmlhLWxhYmVsPVwiRXhjbHVpciBHcnVwb1wiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJyZXN1bHQtY29udGFpbmVyXCIgKm5nSWY9XCJpdGVtc1wiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZHMtY29udGFpbmVyIGNhcmRzLWNvbnRhaW5lci1zaGFkb3dcIiAqbmdJZj1cIm1vYmlsZVwiPlxuICAgIDxveC1pdGVtLWNhcmQgW2Rlc2F0aXZhZG9dPVwiIWkuaXNBdGl2b1wiIFtjbG91ZF09XCJpLmVudmlhZG9QQ1wiIFtub21lXT1cImkubm9tZVwiICpuZ0Zvcj1cImxldCBpIG9mIGl0ZW1zXCIgKGNsaWNrKT1cImFicmVDYWRhc3RybyhpKVwiPjwvb3gtaXRlbS1jYXJkPlxuICA8L2Rpdj4gIFxuICA8ZGl2IGNsYXNzPVwiaGJveFwiICAqbmdJZj1cIm1vYmlsZVwiPlxuICAgIDxveC1wYWdpbmF0b3IgKGNoYW5nZSk9XCJ0cm9jYVBhZ2luYSgpXCIgWyhwYWdpbmFBdHVhbCldPVwicGFnaW5hQXR1YWxcIiBbKHRvdGFsUGFnaW5hcyldPVwicmVzdWx0LnRvdGFsUGFnaW5hc1wiPlxuICAgIDwvb3gtcGFnaW5hdG9yPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWRlc2t0b3AtZ3JpZFwiICpuZ0lmPVwiIW1vYmlsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJsaXN0YWdlbS1jb2x1bW4tY29udGFpbmVyIGxpc3RhZ2VtLWxpc3QtY29sdW1uXCI+XG4gICAgICA8aDM+UHJvZHV0b3M8L2gzPlxuICAgICAgPGRpdiBjbGFzcz1cInRvb2wtcGFuZWwgdG9vbC1wYW5lbC1mbG9hdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbC1zZWN0aW9uXCI+XG4gICAgICAgICAgPGxhYmVsPlBlc3F1aXNhPC9sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwic2V0dGluZy5mcmFzZVwiIHBsYWNlaG9sZGVyPVwiRGlnaXRlIHVtIHRlcm1vIGRlIGJ1c2NhLi4uXCIgKGlucHV0KT1cImxhenlUcmlnZ2VyLmZpcmUoKVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImZpbHRyb3MoKVwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIkZpbHRyb3NcIj5tYW5hZ2Vfc2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvbiBvcmRlbS1zbTJcIj5cbiAgICAgICAgICA8bGFiZWw+QcOnw7VlczwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2wtcm93XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYXR1YWxpemEoKVwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIkF0dWFsaXphclwiPnJlZnJlc2g8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibm92bygpXCIgKm5nSWY9XCJhbGxvd0FkZFwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cIk5vdm9cIj5hZGQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZXhjbHVpcigpXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW0gJiYgYWxsb3dFeGNsdWlyXCIgW0BmYWRlXT5cbiAgICAgICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJFeGNsdWlyXCI+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWxpc3QtY29udGFpbmVyXCI+XG4gICAgICAgIDxoNCAqbmdJZj1cIml0ZW1zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwibmVuaHVtLWl0ZW0tbXNnXCI+QSBidXNjYSBuw6NvIHJldG9ybm91IHJlc3VsdGFkb3M8L2g0PlxuXG4gICAgICAgIDxveC1pdGVtLWNhcmQgW2Rlc2F0aXZhZG9dPVwiIWkuaXNBdGl2b1wiIFtjbG91ZF09XCJpLmVudmlhZG9QQ1wiIFtjb2RpZ29dPVwiaS5pZFwiIFtub21lXT1cImkubm9tZVwiICpuZ0Zvcj1cImxldCBpIG9mIGl0ZW1zXCIgW2NsYXNzLnNlbGVjdGVkXT1cImkgPT09IHNlbGVjdGVkSXRlbVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkSXRlbSA9IGk7XCI+PC9veC1pdGVtLWNhcmQ+XG5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImhib3hcIj5cbiAgICAgICAgPG94LXBhZ2luYXRvciAoY2hhbmdlKT1cInRyb2NhUGFnaW5hKClcIiBbKHBhZ2luYUF0dWFsKV09XCJwYWdpbmFBdHVhbFwiIFsodG90YWxQYWdpbmFzKV09XCJyZXN1bHQudG90YWxQYWdpbmFzXCI+XG4gICAgICAgIDwvb3gtcGFnaW5hdG9yPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG90YWwtcXRkXCI+RXhpYmluZG8ge3tyZXN1bHQuaW5pY2lvUXRkfX0te3tyZXN1bHQuZmluYWxRdGR9fSBkZSB7e3Jlc3VsdC5xdWFudGlkYWRlfX08L2Rpdj5cbiAgICAgICAgXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibGlzdGFnZW0tY29sdW1uLWNvbnRhaW5lciBsaXN0YWdlbS1jb2x1bW4tZm9ybVwiPlxuICAgICAgPGgzICpuZ0lmPVwiIXNlbGVjdGVkSXRlbVwiPlNlbGVjaW9uZSB1bSBwcm9kdXRvIG5vIGxhZG8gZGlyZWl0bzwvaDM+XG4gICAgICA8aDMgKm5nSWY9XCJzZWxlY3RlZEl0ZW1cIj57e3NlbGVjdGVkSXRlbS5ub21lIHwgdXBwZXJjYXNlfX08L2gzPlxuICAgICAgPGRpdiBjbGFzcz1cImxpc3RhZ2VtLWZvcm0tY29udGFpbmVyXCI+XG4gICAgICAgIDxveC1wcm9kdXRvLWZvcm0gW0BmYWRlXSBbbW9kZWxdPVwic2VsZWN0ZWRJdGVtXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW1cIiBbZWRpdE1vZGVdPVwidHJ1ZVwiPlxuICAgICAgICA8L294LXByb2R1dG8tZm9ybT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibGlzdGFnZW0tZm9ybS1hY29lc1wiPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzYWx2YXIoKVwiIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cInNlbGVjdGVkSXRlbVwiIHRhYmluZGV4PVwiMjBcIj5TYWx2YXI8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY29tcG9zaWNhbygpXCIgbWF0LXN0cm9rZWQtYnV0dG9uICpuZ0lmPVwic2VsZWN0ZWRJdGVtICYmIHVzYUVzdG9xdWVPbmxpbmVcIiB0YWJpbmRleD1cIjIwXCI+Q29tcG9zacOnw6NvPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -40,13 +40,16 @@ export class ProdutoSubgrupoSelecaoDialogComponent {
40
40
  atualiza() {
41
41
  this.isBusy = true;
42
42
  this.ws.buscaProdutoSubgrupo(this.setting)
43
- .subscribe(r => {
44
- this.isBusy = false;
45
- this.items = r;
46
- console.info(r);
47
- }, err => {
48
- this.isBusy = false;
49
- this.notification.showHttpError(err);
43
+ .subscribe({
44
+ next: r => {
45
+ this.isBusy = false;
46
+ this.items = r;
47
+ console.info(r);
48
+ },
49
+ error: err => {
50
+ this.isBusy = false;
51
+ this.notification.showHttpError(err);
52
+ }
50
53
  });
51
54
  }
52
55
  selectItem(i) {
@@ -103,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
103
106
  type: Component,
104
107
  args: [{ selector: 'ox-produto-subgrupo-selecao-dialog', template: "<div class=\"dialog-header\">\n <h2>Sele\u00E7\u00E3o de Subgrupos</h2>\n </div>\n <div class=\"tool-panel\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input (keydown)=\"nav.onKeyDown($event)\" cdkFocusInitial [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"editar()\" *ngIf=\"selectedItem && allowEdit\">\n <mat-icon aria-label=\"editar\">edit</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"dialog-content\">\n <ox-item-card [nome]=\"i.nome\" (click)=\"selectItem(i)\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"></ox-item-card>\n </div>\n <div class=\"dialog-footer\">\n <button mat-button [disabled]=\"selectedItem == undefined\" color=\"primary\" [mat-dialog-close]=\"selectedItem\">CONFIRMAR</button>\n <button mat-button [mat-dialog-close]=\"undefined\">VOLTAR</button>\n </div>\n <ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n ", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
105
108
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i1.MatDialog }, { type: i2.CommonWebService }, { type: i3.NotificationService }, { type: i4.AuthDataService }, { type: i5.ScreenHelperService }]; } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0by1zdWJncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLXN1YmdydXBvcy9wcm9kdXRvLXN1YmdydXBvLXNlbGVjYW8tZGlhbG9nL3Byb2R1dG8tc3ViZ3J1cG8tc2VsZWNhby1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1zdWJncnVwb3MvcHJvZHV0by1zdWJncnVwby1zZWxlY2FvLWRpYWxvZy9wcm9kdXRvLXN1YmdydXBvLXNlbGVjYW8tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUt4RSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUN6SCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU81SCxNQUFNLE9BQU8scUNBQXFDO0lBV2hELFlBQW1CLFNBQThELEVBQ3hFLE1BQWlCLEVBQ2YsRUFBb0IsRUFDcEIsWUFBaUMsRUFDekMsSUFBcUIsRUFDYixZQUFpQztRQUx6QixjQUFTLEdBQVQsU0FBUyxDQUFxRDtRQUN4RSxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2YsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDcEIsaUJBQVksR0FB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Q0FBQyxHQUFHLElBQUksQ0FBQztRQUNoRCxJQUFJLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQzFDLDhDQUE4QztTQUMvQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxFQUFFO1lBQ2xFLEtBQUssRUFBRSxLQUFLO1lBQ1osTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsTUFBTTtZQUNoQixVQUFVLEVBQUUsV0FBVztZQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDeEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0QyxJQUFJLE1BQU0sS0FBSyxTQUFTO2dCQUFFLE9BQU87WUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztrSUF6RlUscUNBQXFDO3NIQUFyQyxxQ0FBcUMsMEVDbEJsRCxpZ0RBaUNFOzJGRGZXLHFDQUFxQztrQkFMakQsU0FBUzsrQkFDRSxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUHJvZHV0b1N1YmdydXBvIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2VudGlkYWRlcy9wcm9kdXRvLWdydXBvJztcbmltcG9ydCB7IExhenlUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2luZnJhL2xhenktdHJpZ2dlcic7XG5pbXBvcnQgeyBOYXZlZ2FjYW9TZWxlY2FvRGlhbG9nVXRpbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pbmZyYS9zZWxlY2FvLXV0aWxzJztcbmltcG9ydCB7IFNlYXJjaFNldHRpbmcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmcnO1xuaW1wb3J0IHsgQXV0aERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2F1dGgtZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbldlYlNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvY29tbW9uLXdlYi1zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NyZWVuSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9zY3JlZW4taGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHV0b1N1YmdydXBvQWRkRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZHV0by1zdWJncnVwby1hZGQtZGlhbG9nL3Byb2R1dG8tc3ViZ3J1cG8tYWRkLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHV0b1N1YmdydXBvRWRpdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3Byb2R1dG8tc3ViZ3J1cG8tZWRpdC1kaWFsb2cvcHJvZHV0by1zdWJncnVwby1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdveC1wcm9kdXRvLXN1YmdydXBvLXNlbGVjYW8tZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1dG8tc3ViZ3J1cG8tc2VsZWNhby1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdXRvLXN1YmdydXBvLXNlbGVjYW8tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUHJvZHV0b1N1YmdydXBvU2VsZWNhb0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGl0ZW1zOiBQcm9kdXRvU3ViZ3J1cG9bXSA9IFtdO1xuICBzZWxlY3RlZEl0ZW06IFByb2R1dG9TdWJncnVwbyB8IG51bGwgPSBudWxsO1xuICBpc0J1c3k6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbW9iaWxlOiBib29sZWFuO1xuICBzZXR0aW5nID0gbmV3IFNlYXJjaFNldHRpbmcoKTtcbiAgYWxsb3dBZGQ6IGJvb2xlYW47XG4gIGFsbG93RWRpdDogYm9vbGVhbjtcbiAgbGF6eVRyaWdnZXIgPSBuZXcgTGF6eVRyaWdnZXIoKCkgPT4geyB0aGlzLmF0dWFsaXphKCk7IH0pO1xuICBuYXYgPSBuZXcgTmF2ZWdhY2FvU2VsZWNhb0RpYWxvZ1V0aWw8UHJvZHV0b1N1YmdydXBvLCBQcm9kdXRvU3ViZ3J1cG9TZWxlY2FvRGlhbG9nQ29tcG9uZW50Pih0aGlzKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UHJvZHV0b1N1YmdydXBvU2VsZWNhb0RpYWxvZ0NvbXBvbmVudD4sXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgICBwcml2YXRlIHdzOiBDb21tb25XZWJTZXJ2aWNlLCBcbiAgICAgcHJpdmF0ZSBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgIGF1dGg6IEF1dGhEYXRhU2VydmljZSxcbiAgICAgcHJpdmF0ZSBzY3JlZW5IZWxwZXI6IFNjcmVlbkhlbHBlclNlcnZpY2UpIHtcbiAgICAgIHRoaXMubW9iaWxlID0gdGhpcy5zY3JlZW5IZWxwZXIuaXNNZWRpdW07ICBcbiAgICAgIHRoaXMuYWxsb3dBZGQgPSBhdXRoLnBlcm1pc3NvZXMuYWRtaW5Qcm9kdXRvR3J1cG9BZGQ7XG4gICAgICB0aGlzLmFsbG93RWRpdCA9IGF1dGgucGVybWlzc29lcy5hZG1pblByb2R1dG9HcnVwb1Blc3F1aXNhO1xuICAgIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldHRpbmcub3JkZW0gPSBcIm5vbWVcIjtcbiAgICB0aGlzLmF0dWFsaXphKCk7XG4gIH1cblxuICBhdHVhbGl6YSgpIHtcbiAgICB0aGlzLmlzQnVzeSA9IHRydWU7XG4gICAgdGhpcy53cy5idXNjYVByb2R1dG9TdWJncnVwbyh0aGlzLnNldHRpbmcpXG4gICAgICAuc3Vic2NyaWJlKHIgPT4ge1xuICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICB0aGlzLml0ZW1zID0gcjtcbiAgICAgICAgY29uc29sZS5pbmZvKHIpO1xuICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dIdHRwRXJyb3IoZXJyKTtcbiAgICAgICAgfSk7XG4gIH1cbiAgXG4gIHNlbGVjdEl0ZW0oaSA6IFByb2R1dG9TdWJncnVwbykge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbSA9PT0gaSkgeyBcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGkpO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGk7XG4gIH1cblxuICBub3ZvKCkge1xuXG4gICAgbGV0IGhlaWdodCA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjkwKSArICdweCc7XG4gICAgbGV0IHdpZHRoID0gNTUwICsgJ3B4JztcbiAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgIHdpZHRoID0gKHdpbmRvdy5pbm5lcldpZHRoICogMC45OSkgKyAncHgnO1xuICAgICAgLy9oZWlnaHQgPSAod2luZG93LmlubmVySGVpZ2h0ICogMC45OCkgKyAncHgnO1xuICAgIH1cbiAgICBjb25zdCBkaWFsb2cgPSB0aGlzLmRpYWxvZy5vcGVuKFByb2R1dG9TdWJncnVwb0FkZERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6IHdpZHRoLFxuICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgcGFuZWxDbGFzczogJ2RpYWxvZy1wMCcsXG4gICAgfSk7XG4gICAgZGlhbG9nLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgfSk7XG4gIH1cbiAgXG4gIGVkaXRhcigpIHtcblxuICAgIGxldCBoZWlnaHQgPSAod2luZG93LmlubmVySGVpZ2h0ICogMC45MCkgKyAncHgnO1xuICAgIGxldCB3aWR0aCA9IDU1MCArICdweCc7XG4gICAgaWYgKHRoaXMubW9iaWxlKSB7XG4gICAgICB3aWR0aCA9ICh3aW5kb3cuaW5uZXJXaWR0aCAqIDAuOTkpICsgJ3B4JztcbiAgICAgIC8vaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTgpICsgJ3B4JztcbiAgICB9XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5kaWFsb2cub3BlbihQcm9kdXRvU3ViZ3J1cG9FZGl0RGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogd2lkdGgsXG4gICAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLXAwJyxcbiAgICAgIGRhdGE6IHRoaXMuc2VsZWN0ZWRJdGVtXG4gICAgfSk7XG4gICAgZGlhbG9nLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXJcIj5cbiAgICA8aDI+U2VsZcOnw6NvIGRlIFN1YmdydXBvczwvaDI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidG9vbC1wYW5lbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0b29sLXNlY3Rpb25cIj5cbiAgICAgIDxsYWJlbD5QZXNxdWlzYTwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICA8aW5wdXQgKGtleWRvd24pPVwibmF2Lm9uS2V5RG93bigkZXZlbnQpXCIgY2RrRm9jdXNJbml0aWFsIFsobmdNb2RlbCldPVwic2V0dGluZy5mcmFzZVwiIHBsYWNlaG9sZGVyPVwiRGlnaXRlIHVtIHRlcm1vIGRlIGJ1c2NhLi4uXCIgKGlucHV0KT1cImxhenlUcmlnZ2VyLmZpcmUoKVwiPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvblwiPlxuICAgICAgPGxhYmVsPkHDp8O1ZXM8L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cInRvb2wtcm93XCI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhdHVhbGl6YSgpXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJBdHVhbGl6YXJcIj5yZWZyZXNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJub3ZvKClcIiAqbmdJZj1cImFsbG93QWRkXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJub3ZvXCI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJlZGl0YXIoKVwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtICAmJiBhbGxvd0VkaXRcIj5cbiAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cImVkaXRhclwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50XCI+XG4gICAgICA8b3gtaXRlbS1jYXJkIFtub21lXT1cImkubm9tZVwiIChjbGljayk9XCJzZWxlY3RJdGVtKGkpXCIgKm5nRm9yPVwibGV0IGkgb2YgaXRlbXNcIiBbY2xhc3Muc2VsZWN0ZWRdPVwiaSA9PT0gc2VsZWN0ZWRJdGVtXCI+PC9veC1pdGVtLWNhcmQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWZvb3RlclwiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwic2VsZWN0ZWRJdGVtID09IHVuZGVmaW5lZFwiIGNvbG9yPVwicHJpbWFyeVwiIFttYXQtZGlhbG9nLWNsb3NlXT1cInNlbGVjdGVkSXRlbVwiPkNPTkZJUk1BUjwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ1bmRlZmluZWRcIj5WT0xUQVI8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxveC1idXN5LWluZGljYXRvciBbaXNCdXN5XT1cImlzQnVzeVwiPjwvb3gtYnVzeS1pbmRpY2F0b3I+XG4gICJdfQ==
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0by1zdWJncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLXN1YmdydXBvcy9wcm9kdXRvLXN1YmdydXBvLXNlbGVjYW8tZGlhbG9nL3Byb2R1dG8tc3ViZ3J1cG8tc2VsZWNhby1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1zdWJncnVwb3MvcHJvZHV0by1zdWJncnVwby1zZWxlY2FvLWRpYWxvZy9wcm9kdXRvLXN1YmdydXBvLXNlbGVjYW8tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUt4RSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUN6SCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU81SCxNQUFNLE9BQU8scUNBQXFDO0lBV2hELFlBQW1CLFNBQThELEVBQ3hFLE1BQWlCLEVBQ2hCLEVBQW9CLEVBQ3BCLFlBQWlDLEVBQ3pDLElBQXFCLEVBQ2IsWUFBaUM7UUFMeEIsY0FBUyxHQUFULFNBQVMsQ0FBcUQ7UUFDeEUsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNoQixPQUFFLEdBQUYsRUFBRSxDQUFrQjtRQUNwQixpQkFBWSxH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TSxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDaEQsSUFBSSxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztZQUMxQyw4Q0FBOEM7U0FDL0M7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsRUFBRTtZQUNsRSxLQUFLLEVBQUUsS0FBSztZQUNaLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFLE1BQU07WUFDaEIsVUFBVSxFQUFFLFdBQVc7WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ3hCLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxNQUFNLEtBQUssU0FBUztnQkFBRSxPQUFPO1lBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0lBM0ZVLHFDQUFxQztzSEFBckMscUNBQXFDLDBFQ2xCbEQsaWdEQWlDRTsyRkRmVyxxQ0FBcUM7a0JBTGpELFNBQVM7K0JBQ0Usb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFByb2R1dG9TdWJncnVwbyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0by1ncnVwbyc7XG5pbXBvcnQgeyBMYXp5VHJpZ2dlciB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pbmZyYS9sYXp5LXRyaWdnZXInO1xuaW1wb3J0IHsgTmF2ZWdhY2FvU2VsZWNhb0RpYWxvZ1V0aWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5mcmEvc2VsZWNhby11dGlscyc7XG5pbXBvcnQgeyBTZWFyY2hTZXR0aW5nIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NldHRpbmdzL3NlYXJjaC1zZXR0aW5nJztcbmltcG9ydCB7IEF1dGhEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9hdXRoLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25XZWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2NvbW1vbi13ZWItc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNjcmVlbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvc2NyZWVuLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1dG9TdWJncnVwb0FkZERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3Byb2R1dG8tc3ViZ3J1cG8tYWRkLWRpYWxvZy9wcm9kdXRvLXN1YmdydXBvLWFkZC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9TdWJncnVwb0VkaXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdXRvLXN1YmdydXBvLWVkaXQtZGlhbG9nL3Byb2R1dG8tc3ViZ3J1cG8tZWRpdC1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb3gtcHJvZHV0by1zdWJncnVwby1zZWxlY2FvLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdXRvLXN1YmdydXBvLXNlbGVjYW8tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHV0by1zdWJncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1dG9TdWJncnVwb1NlbGVjYW9EaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpdGVtczogUHJvZHV0b1N1YmdydXBvW10gPSBbXTtcbiAgc2VsZWN0ZWRJdGVtOiBQcm9kdXRvU3ViZ3J1cG8gfCBudWxsID0gbnVsbDtcbiAgaXNCdXN5OiBib29sZWFuID0gZmFsc2U7XG4gIG1vYmlsZTogYm9vbGVhbjtcbiAgc2V0dGluZyA9IG5ldyBTZWFyY2hTZXR0aW5nKCk7XG4gIGFsbG93QWRkOiBib29sZWFuO1xuICBhbGxvd0VkaXQ6IGJvb2xlYW47XG4gIGxhenlUcmlnZ2VyID0gbmV3IExhenlUcmlnZ2VyKCgpID0+IHsgdGhpcy5hdHVhbGl6YSgpOyB9KTtcbiAgbmF2ID0gbmV3IE5hdmVnYWNhb1NlbGVjYW9EaWFsb2dVdGlsPFByb2R1dG9TdWJncnVwbywgUHJvZHV0b1N1YmdydXBvU2VsZWNhb0RpYWxvZ0NvbXBvbmVudD4odGhpcyk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFByb2R1dG9TdWJncnVwb1NlbGVjYW9EaWFsb2dDb21wb25lbnQ+LFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIHdzOiBDb21tb25XZWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIGF1dGg6IEF1dGhEYXRhU2VydmljZSxcbiAgICBwcml2YXRlIHNjcmVlbkhlbHBlcjogU2NyZWVuSGVscGVyU2VydmljZSkge1xuICAgIHRoaXMubW9iaWxlID0gdGhpcy5zY3JlZW5IZWxwZXIuaXNNZWRpdW07XG4gICAgdGhpcy5hbGxvd0FkZCA9IGF1dGgucGVybWlzc29lcy5hZG1pblByb2R1dG9HcnVwb0FkZDtcbiAgICB0aGlzLmFsbG93RWRpdCA9IGF1dGgucGVybWlzc29lcy5hZG1pblByb2R1dG9HcnVwb1Blc3F1aXNhO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXR0aW5nLm9yZGVtID0gXCJub21lXCI7XG4gICAgdGhpcy5hdHVhbGl6YSgpO1xuICB9XG5cbiAgYXR1YWxpemEoKSB7XG4gICAgdGhpcy5pc0J1c3kgPSB0cnVlO1xuICAgIHRoaXMud3MuYnVzY2FQcm9kdXRvU3ViZ3J1cG8odGhpcy5zZXR0aW5nKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IHIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pdGVtcyA9IHI7XG4gICAgICAgICAgY29uc29sZS5pbmZvKHIpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmlzQnVzeSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dIdHRwRXJyb3IoZXJyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBzZWxlY3RJdGVtKGk6IFByb2R1dG9TdWJncnVwbykge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbSA9PT0gaSkge1xuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoaSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gaTtcbiAgfVxuXG4gIG5vdm8oKSB7XG5cbiAgICBsZXQgaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTApICsgJ3B4JztcbiAgICBsZXQgd2lkdGggPSA1NTAgKyAncHgnO1xuICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgd2lkdGggPSAod2luZG93LmlubmVyV2lkdGggKiAwLjk5KSArICdweCc7XG4gICAgICAvL2hlaWdodCA9ICh3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjk4KSArICdweCc7XG4gICAgfVxuICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuZGlhbG9nLm9wZW4oUHJvZHV0b1N1YmdydXBvQWRkRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogd2lkdGgsXG4gICAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLXAwJyxcbiAgICB9KTtcbiAgICBkaWFsb2cuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgdGhpcy5ub3RpZmljYXRpb24uc2hvd01zZyhcIlNhbHZvIGNvbSBzdWNlc3NvLlwiKTtcbiAgICAgIHRoaXMuYXR1YWxpemEoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGVkaXRhcigpIHtcblxuICAgIGxldCBoZWlnaHQgPSAod2luZG93LmlubmVySGVpZ2h0ICogMC45MCkgKyAncHgnO1xuICAgIGxldCB3aWR0aCA9IDU1MCArICdweCc7XG4gICAgaWYgKHRoaXMubW9iaWxlKSB7XG4gICAgICB3aWR0aCA9ICh3aW5kb3cuaW5uZXJXaWR0aCAqIDAuOTkpICsgJ3B4JztcbiAgICAgIC8vaGVpZ2h0ID0gKHdpbmRvdy5pbm5lckhlaWdodCAqIDAuOTgpICsgJ3B4JztcbiAgICB9XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5kaWFsb2cub3BlbihQcm9kdXRvU3ViZ3J1cG9FZGl0RGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogd2lkdGgsXG4gICAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLXAwJyxcbiAgICAgIGRhdGE6IHRoaXMuc2VsZWN0ZWRJdGVtXG4gICAgfSk7XG4gICAgZGlhbG9nLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnNob3dNc2coXCJTYWx2byBjb20gc3VjZXNzby5cIik7XG4gICAgICB0aGlzLmF0dWFsaXphKCk7XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXJcIj5cbiAgICA8aDI+U2VsZcOnw6NvIGRlIFN1YmdydXBvczwvaDI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidG9vbC1wYW5lbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0b29sLXNlY3Rpb25cIj5cbiAgICAgIDxsYWJlbD5QZXNxdWlzYTwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICA8aW5wdXQgKGtleWRvd24pPVwibmF2Lm9uS2V5RG93bigkZXZlbnQpXCIgY2RrRm9jdXNJbml0aWFsIFsobmdNb2RlbCldPVwic2V0dGluZy5mcmFzZVwiIHBsYWNlaG9sZGVyPVwiRGlnaXRlIHVtIHRlcm1vIGRlIGJ1c2NhLi4uXCIgKGlucHV0KT1cImxhenlUcmlnZ2VyLmZpcmUoKVwiPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRvb2wtc2VjdGlvblwiPlxuICAgICAgPGxhYmVsPkHDp8O1ZXM8L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cInRvb2wtcm93XCI+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhdHVhbGl6YSgpXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJBdHVhbGl6YXJcIj5yZWZyZXNoPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJub3ZvKClcIiAqbmdJZj1cImFsbG93QWRkXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGFyaWEtbGFiZWw9XCJub3ZvXCI+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJlZGl0YXIoKVwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtICAmJiBhbGxvd0VkaXRcIj5cbiAgICAgICAgICA8bWF0LWljb24gYXJpYS1sYWJlbD1cImVkaXRhclwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50XCI+XG4gICAgICA8b3gtaXRlbS1jYXJkIFtub21lXT1cImkubm9tZVwiIChjbGljayk9XCJzZWxlY3RJdGVtKGkpXCIgKm5nRm9yPVwibGV0IGkgb2YgaXRlbXNcIiBbY2xhc3Muc2VsZWN0ZWRdPVwiaSA9PT0gc2VsZWN0ZWRJdGVtXCI+PC9veC1pdGVtLWNhcmQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWZvb3RlclwiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwic2VsZWN0ZWRJdGVtID09IHVuZGVmaW5lZFwiIGNvbG9yPVwicHJpbWFyeVwiIFttYXQtZGlhbG9nLWNsb3NlXT1cInNlbGVjdGVkSXRlbVwiPkNPTkZJUk1BUjwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJ1bmRlZmluZWRcIj5WT0xUQVI8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxveC1idXN5LWluZGljYXRvciBbaXNCdXN5XT1cImlzQnVzeVwiPjwvb3gtYnVzeS1pbmRpY2F0b3I+XG4gICJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL21vZGVscy9lbnRpZGFkZXMvbG9naW4tcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQZXJtaXNzb2VzIH0gZnJvbSBcIi4vcGVybWlzc29lc1wiO1xuaW1wb3J0IHsgU2Vuc29yZXNEZWYgfSBmcm9tIFwiLi9zZW5zb3Jlcy1kZWZcIjtcblxuZXhwb3J0IGludGVyZmFjZSBMb2dpblJlc3VsdCB7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICBlbXByZXNhTm9tZTogc3RyaW5nO1xuICAgIGVtcHJlc2FJZCA6IG51bWJlcjtcbiAgICB1c2VySWQgOiBudW1iZXI7XG4gICAgbG9naW4gOiBzdHJpbmc7XG4gICAgcGVybWlzc29lczogUGVybWlzc29lcztcbiAgICBlbWFpbCA6IHN0cmluZztcbiAgICBzZW5zb3Jlc0RlZjogU2Vuc29yZXNEZWY7XG4gICAgbm9tZSA6IHN0cmluZztcbn1cblxuXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL21vZGVscy9lbnRpZGFkZXMvbG9naW4tcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQZXJtaXNzb2VzIH0gZnJvbSBcIi4vcGVybWlzc29lc1wiO1xuaW1wb3J0IHsgU2Vuc29yZXNEZWYgfSBmcm9tIFwiLi9zZW5zb3Jlcy1kZWZcIjtcblxuZXhwb3J0IGludGVyZmFjZSBMb2dpblJlc3VsdCB7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICBlbXByZXNhTm9tZTogc3RyaW5nO1xuICAgIGVtcHJlc2FJZCA6IG51bWJlcjtcbiAgICB1c2VySWQgOiBudW1iZXI7XG4gICAgbG9naW4gOiBzdHJpbmc7XG4gICAgcGVybWlzc29lczogUGVybWlzc29lcztcbiAgICBlbWFpbCA6IHN0cmluZztcbiAgICBzZW5zb3Jlc0RlZjogU2Vuc29yZXNEZWY7XG4gICAgbm9tZSA6IHN0cmluZztcbiAgICB1c2FFc3RvcXVlT25saW5lIDogYm9vbGVhbjtcbiAgICB1c2FGaW5hbmNhc09ubGluZSA6IGJvb2xlYW47XG59XG5cblxuIl19
@@ -0,0 +1,9 @@
1
+ import { valNumberMin } from "../infra/validations";
2
+ export function validaProdutoComposicao(item, focus) {
3
+ if (valNumberMin(item.quantidade, 0)) {
4
+ focus.set('quantidade');
5
+ return 'Digite uma quantidade válida.';
6
+ }
7
+ return null;
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHV0by1jb21wb3NpY2FvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0by1jb21wb3NpY2FvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQVdqRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsSUFBdUIsRUFBRSxLQUFtQjtJQUNsRixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFO1FBQ2xDLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEIsT0FBTywrQkFBK0IsQ0FBQztLQUMxQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL2ZvY3VzLnNlcnZpY2VcIlxyXG5pbXBvcnQgeyB2YWxOdW1iZXJNaW4gfSBmcm9tIFwiLi4vaW5mcmEvdmFsaWRhdGlvbnNcIlxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQcm9kdXRvQ29tcG9zaWNhbyB7XHJcbiAgICBpZDogbnVtYmVyXHJcbiAgICBwcm9kdXRvSWQ6IG51bWJlclxyXG4gICAgcHJvZHV0b0l0ZW1JZDogbnVtYmVyXHJcbiAgICBwcm9kdXRvSXRlbU5vbWU6IHN0cmluZ1xyXG4gICAgcXVhbnRpZGFkZTogbnVtYmVyXHJcbiAgICBwcm9kdXRvTm9tZTogc3RyaW5nXHJcbiAgfVxyXG4gIFxyXG4gIGV4cG9ydCBmdW5jdGlvbiB2YWxpZGFQcm9kdXRvQ29tcG9zaWNhbyhpdGVtOiBQcm9kdXRvQ29tcG9zaWNhbywgZm9jdXM6IEZvY3VzU2VydmljZSk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgaWYgKHZhbE51bWJlck1pbihpdGVtLnF1YW50aWRhZGUsIDApKSB7XHJcbiAgICAgICAgZm9jdXMuc2V0KCdxdWFudGlkYWRlJyk7XHJcbiAgICAgICAgcmV0dXJuICdEaWdpdGUgdW1hIHF1YW50aWRhZGUgdsOhbGlkYS4nO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbn0iXX0=
@@ -42,6 +42,9 @@ import { ProdutoCategoriaCardapioAddDialogComponent } from './cadastros/produtos
42
42
  import { ProdutoCategoriaCardapioEditDialogComponent } from './cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-edit-dialog/produto-categoria-cardapio-edit-dialog.component';
43
43
  import { ProdutoCategoriaCardapioSelecaoDialogComponent } from './cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-selecao-dialog/produto-categoria-cardapio-selecao-dialog.component';
44
44
  import { ProdutosCategoriasCardapioComponent } from './cadastros/produtos-categoria-cardapio/produtos-categorias-cardapio/produtos-categorias-cardapio.component';
45
+ import { ProdutoComposicaoComponent } from './cadastros/produtos/produto-composicao/produto-composicao.component';
46
+ import { ProdutoComposicaoAddDialogComponent } from './cadastros/produtos/produto-composicao-add-dialog/produto-composicao-add-dialog.component';
47
+ import { ProdutoSelecaoDialogComponent } from './cadastros/produtos/produto-selecao-dialog/produto-selecao-dialog.component';
45
48
  import * as i0 from "@angular/core";
46
49
  Array.prototype.remove = function (item) {
47
50
  const index = this.indexOf(item);
@@ -96,7 +99,10 @@ OxpiNglibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
96
99
  ProdutosCategoriasCardapioComponent,
97
100
  ProdutoCategoriaCardapioAddDialogComponent,
98
101
  ProdutoCategoriaCardapioEditDialogComponent,
99
- ProdutoCategoriaCardapioSelecaoDialogComponent], imports: [BrowserModule,
102
+ ProdutoCategoriaCardapioSelecaoDialogComponent,
103
+ ProdutoComposicaoComponent,
104
+ ProdutoComposicaoAddDialogComponent,
105
+ ProdutoSelecaoDialogComponent], imports: [BrowserModule,
100
106
  BrowserAnimationsModule,
101
107
  FormsModule,
102
108
  MatButtonModule,
@@ -159,7 +165,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
159
165
  ProdutosCategoriasCardapioComponent,
160
166
  ProdutoCategoriaCardapioAddDialogComponent,
161
167
  ProdutoCategoriaCardapioEditDialogComponent,
162
- ProdutoCategoriaCardapioSelecaoDialogComponent
168
+ ProdutoCategoriaCardapioSelecaoDialogComponent,
169
+ ProdutoComposicaoComponent,
170
+ ProdutoComposicaoAddDialogComponent,
171
+ ProdutoSelecaoDialogComponent
163
172
  ],
164
173
  imports: [
165
174
  BrowserModule,
@@ -185,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
185
194
  ]
186
195
  }]
187
196
  }] });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3hwaS1uZ2xpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvb3hwaS1uZ2xpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0REFBNEQs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QUNwQixzQkFBc0I7d0JBQ3RCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQix5QkFBeUI7d0JBQ3pCLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsd0JBQXdCO3dCQUN4Qiw4QkFBOEI7d0JBQzlCLDZCQUE2Qjt3QkFFN0IsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsa0NBQWtDO3dCQUNsQywwQkFBMEI7d0JBRTFCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QixrQ0FBa0M7d0JBQ2xDLDhCQUE4Qjt3QkFDOUIsK0JBQStCO3dCQUMvQix5QkFBeUI7d0JBQ3pCLDBCQUEwQjt3QkFFMUIsMEJBQTBCO3dCQUMxQixxQ0FBcUM7d0JBQ3JDLGlDQUFpQzt3QkFDakMsa0NBQWtDO3dCQUVsQyxtQ0FBbUM7d0JBQ25DLDBDQUEwQzt3QkFDMUMsMkNBQTJDO3dCQUMzQyw4Q0FBOEM7cUJBQy9DO29CQUNELE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLHVCQUF1Qjt3QkFDdkIsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixpQkFBaUI7d0JBQ2pCLFlBQVk7cUJBQ2I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQnVzeUluZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvYnVzeS1pbmRpY2F0b3IvYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuXG5pbXBvcnQgeyBNb250aFllYXJQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL21vbnRoLXllYXItcGlja2VyL21vbnRoLXllYXItcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbWFnZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvaW1hZ2Utdmlld2VyL2ltYWdlLXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVtZXJpY1BpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvbnVtZXJpYy1waWNrZXIvbnVtZXJpYy1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2NoZWNrLWJ1dHRvbi9jaGVjay1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvQnV0dG9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL3JhZGlvLWJ1dHRvbi1ncm91cC9yYWRpby1idXR0b24tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IEl0ZW1DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9pdGVtLWNhcmQvaXRlbS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYWZlSHRtbFBpcGUgfSBmcm9tICcuL3Byb3ZpZGVycy9zYWZlLWh0bWwucGlwZSc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnVuY2lvbmFyaW9zQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvZnVuY2lvbmFyaW9zL2Z1bmNpb25hcmlvcy9mdW5jaW9uYXJpb3MuY29tcG9uZW50JztcbmltcG9ydCB7IEZ1bmNpb25hcmlvRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL2Z1bmNpb25hcmlvcy9mdW5jaW9uYXJpby1mb3JtL2Z1bmNpb25hcmlvLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEZ1bmNpb25hcmlvRWRpdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL2Z1bmNpb25hcmlvcy9mdW5jaW9uYXJpby1lZGl0LWRpYWxvZy9mdW5jaW9uYXJpby1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnVuY2lvbmFyaW9BZGREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NhZGFzdHJvcy9mdW5jaW9uYXJpb3MvZnVuY2lvbmFyaW8tYWRkLWRpYWxvZy9mdW5jaW9uYXJpby1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvc0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG9zL3Byb2R1dG9zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvc0dydXBvc0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zLWdydXBvcy9wcm9kdXRvcy1ncnVwb3MvcHJvZHV0b3MtZ3J1cG9zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tZm9ybS9wcm9kdXRvLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9BZGREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NhZGFzdHJvcy9wcm9kdXRvcy9wcm9kdXRvLWFkZC1kaWFsb2cvcHJvZHV0by1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvQnVzY2FGaWx0cm9zRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MvcHJvZHV0by1idXNjYS1maWx0cm9zLWRpYWxvZy9wcm9kdXRvLWJ1c2NhLWZpbHRyb3MtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvRWRpdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tZWRpdC1kaWFsb2cvcHJvZHV0by1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW92ZXJHcnVwb0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zLWdydXBvcy9tb3Zlci1ncnVwby1kaWFsb2cvbW92ZXItZ3J1cG8tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvR3J1cG9TZWxlY2FvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MtZ3J1cG9zL3Byb2R1dG8tZ3J1cG8tc2VsZWNhby1kaWFsb2cvcHJvZHV0by1ncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHV0b0dydXBvQWRkRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MtZ3J1cG9zL3Byb2R1dG8tZ3J1cG8tYWRkLWRpYWxvZy9wcm9kdXRvLWdydXBvLWFkZC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9HcnVwb0VkaXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NhZGFzdHJvcy9wcm9kdXRvcy1ncnVwb3MvcHJvZHV0by1ncnVwby1lZGl0LWRpYWxvZy9wcm9kdXRvLWdydXBvLWVkaXQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvR3J1cG9Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MtZ3J1cG9zL3Byb2R1dG8tZ3J1cG8tZm9ybS9wcm9kdXRvLWdydXBvLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9zTmNtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MtbmNtLWRpYWxvZy9wcm9kdXRvcy1uY20tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvc1N1YmdydXBvc0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zLXN1YmdydXBvcy9wcm9kdXRvcy1zdWJncnVwb3MvcHJvZHV0b3Mtc3ViZ3J1cG9zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvU3ViZ3J1cG9TZWxlY2FvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3Mtc3ViZ3J1cG9zL3Byb2R1dG8tc3ViZ3J1cG8tc2VsZWNhby1kaWFsb2cvcHJvZHV0by1zdWJncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHV0b1N1YmdydXBvQWRkRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3Mtc3ViZ3J1cG9zL3Byb2R1dG8tc3ViZ3J1cG8tYWRkLWRpYWxvZy9wcm9kdXRvLXN1YmdydXBvLWFkZC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9TdWJncnVwb0VkaXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NhZGFzdHJvcy9wcm9kdXRvcy1zdWJncnVwb3MvcHJvZHV0by1zdWJncnVwby1lZGl0LWRpYWxvZy9wcm9kdXRvLXN1YmdydXBvLWVkaXQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW9BZGREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NhZGFzdHJvcy9wcm9kdXRvcy1jYXRlZ29yaWEtY2FyZGFwaW8vcHJvZHV0by1jYXRlZ29yaWEtY2FyZGFwaW8tYWRkLWRpYWxvZy9wcm9kdXRvLWNhdGVnb3JpYS1jYXJkYXBpby1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW9FZGl0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MtY2F0ZWdvcmlhLWNhcmRhcGlvL3Byb2R1dG8tY2F0ZWdvcmlhLWNhcmRhcGlvLWVkaXQtZGlhbG9nL3Byb2R1dG8tY2F0ZWdvcmlhLWNhcmRhcGlvLWVkaXQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW9TZWxlY2FvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MtY2F0ZWdvcmlhLWNhcmRhcGlvL3Byb2R1dG8tY2F0ZWdvcmlhLWNhcmRhcGlvLXNlbGVjYW8tZGlhbG9nL3Byb2R1dG8tY2F0ZWdvcmlhLWNhcmRhcGlvLXNlbGVjYW8tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvc0NhdGVnb3JpYXNDYXJkYXBpb0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zLWNhdGVnb3JpYS1jYXJkYXBpby9wcm9kdXRvcy1jYXRlZ29yaWFzLWNhcmRhcGlvL3Byb2R1dG9zLWNhdGVnb3JpYXMtY2FyZGFwaW8uY29tcG9uZW50JztcblxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBTdHJpbmcge1xuICAgIGlzRW1wdHkoKTogYm9vbGVhbjtcbiAgfVxuICBpbnRlcmZhY2UgQXJyYXk8VD4ge1xuICAgIGZpcnN0T3JOdWxsKCk6IFQgfCBudWxsO1xuICAgIHJlbW92ZShpdGVtOiBUKTogYm9vbGVhbjtcbiAgfVxuICBpbnRlcmZhY2UgRGF0ZSB7XG4gICAgYWRkRGF5cyhkYXlzOiBudW1iZXIpOiBEYXRlO1xuICB9XG59XG5BcnJheS5wcm90b3R5cGUucmVtb3ZlID0gZnVuY3Rpb24gKGl0ZW0pOiBib29sZWFuIHtcbiAgY29uc3QgaW5kZXggPSB0aGlzLmluZGV4T2YoaXRlbSk7XG4gIGlmIChpbmRleCA9PT0gLTEpIHJldHVybiBmYWxzZTtcbiAgdGhpcy5zcGxpY2UoaW5kZXgsIDEpO1xuICByZXR1cm4gdHJ1ZTtcbn1cbkFycmF5LnByb3RvdHlwZS5maXJzdE9yTnVsbCA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKHRoaXMubGVuZ3RoID4gMClcbiAgICByZXR1cm4gdGhpc1swXTtcbiAgcmV0dXJuIG51bGw7XG59XG5cbkRhdGUucHJvdG90eXBlLmFkZERheXMgPSBmdW5jdGlvbiAoZGF5czogbnVtYmVyKSB7XG4gIHZhciByZXN1bHQgPSBuZXcgRGF0ZSh0aGlzKTtcbiAgcmVzdWx0LnNldERhdGUocmVzdWx0LmdldERhdGUoKSArIGRheXMpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCdXN5SW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIE1vbnRoWWVhclBpY2tlckNvbXBvbmVudCxcbiAgICBJbWFnZVZpZXdlckNvbXBvbmVudCxcbiAgICBOdW1lcmljUGlja2VyQ29tcG9uZW50LFxuICAgIFBhZ2luYXRvckNvbXBvbmVudCxcbiAgICBDaGVja0J1dHRvbkNvbXBvbmVudCxcbiAgICBSYWRpb0J1dHRvbkdyb3VwQ29tcG9uZW50LFxuICAgIEl0ZW1DYXJkQ29tcG9uZW50LFxuICAgIFNhZmVIdG1sUGlwZSxcbiAgICBBbGVydERpYWxvZ0NvbXBvbmVudCxcbiAgICBGdW5jaW9uYXJpb3NDb21wb25lbnQsXG4gICAgRnVuY2lvbmFyaW9Gb3JtQ29tcG9uZW50LFxuICAgIEZ1bmNpb25hcmlvRWRpdERpYWxvZ0NvbXBvbmVudCxcbiAgICBGdW5jaW9uYXJpb0FkZERpYWxvZ0NvbXBvbmVudCxcblxuICAgIFByb2R1dG9zQ29tcG9uZW50LFxuICAgIFByb2R1dG9Gb3JtQ29tcG9uZW50LFxuICAgIFByb2R1dG9BZGREaWFsb2dDb21wb25lbnQsXG4gICAgUHJvZHV0b0J1c2NhRmlsdHJvc0RpYWxvZ0NvbXBvbmVudCxcbiAgICBQcm9kdXRvRWRpdERpYWxvZ0NvbXBvbmVudCxcblxuICAgIFByb2R1dG9zR3J1cG9zQ29tcG9uZW50LFxuICAgIE1vdmVyR3J1cG9EaWFsb2dDb21wb25lbnQsXG4gICAgUHJvZHV0b0dydXBvU2VsZWNhb0RpYWxvZ0NvbXBvbmVudCxcbiAgICBQcm9kdXRvR3J1cG9BZGREaWFsb2dDb21wb25lbnQsXG4gICAgUHJvZHV0b0dydXBvRWRpdERpYWxvZ0NvbXBvbmVudCxcbiAgICBQcm9kdXRvR3J1cG9Gb3JtQ29tcG9uZW50LFxuICAgIFByb2R1dG9zTmNtRGlhbG9nQ29tcG9uZW50LFxuXG4gICAgUHJvZHV0b3NTdWJncnVwb3NDb21wb25lbnQsXG4gICAgUHJvZHV0b1N1YmdydXBvU2VsZWNhb0RpYWxvZ0NvbXBvbmVudCxcbiAgICBQcm9kdXRvU3ViZ3J1cG9BZGREaWFsb2dDb21wb25lbnQsXG4gICAgUHJvZHV0b1N1YmdydXBvRWRpdERpYWxvZ0NvbXBvbmVudCxcblxuICAgIFByb2R1dG9zQ2F0ZWdvcmlhc0NhcmRhcGlvQ29tcG9uZW50LFxuICAgIFByb2R1dG9DYXRlZ29yaWFDYXJkYXBpb0FkZERpYWxvZ0NvbXBvbmVudCxcbiAgICBQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW9FZGl0RGlhbG9nQ29tcG9uZW50LFxuICAgIFByb2R1dG9DYXRlZ29yaWFDYXJkYXBpb1NlbGVjYW9EaWFsb2dDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIEJyb3dzZXJNb2R1bGUsXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCdXN5SW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIE1vbnRoWWVhclBpY2tlckNvbXBvbmVudCxcbiAgICBJbWFnZVZpZXdlckNvbXBvbmVudCxcbiAgICBOdW1lcmljUGlja2VyQ29tcG9uZW50LFxuICAgIFBhZ2luYXRvckNvbXBvbmVudCxcbiAgICBDaGVja0J1dHRvbkNvbXBvbmVudCxcbiAgICBSYWRpb0J1dHRvbkdyb3VwQ29tcG9uZW50LFxuICAgIEl0ZW1DYXJkQ29tcG9uZW50LFxuICAgIFNhZmVIdG1sUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE94cGlOZ2xpYk1vZHVsZSB7IH1cbiJdfQ==
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3hwaS1uZ2xpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvb3hwaS1uZ2xpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0REFBNEQs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QixpQkFBaUI7d0JBQ2pCLFlBQVk7cUJBQ2I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQnVzeUluZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvYnVzeS1pbmRpY2F0b3IvYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuXG5pbXBvcnQgeyBNb250aFllYXJQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL21vbnRoLXllYXItcGlja2VyL21vbnRoLXllYXItcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbWFnZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvaW1hZ2Utdmlld2VyL2ltYWdlLXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVtZXJpY1BpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvbnVtZXJpYy1waWNrZXIvbnVtZXJpYy1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2NoZWNrLWJ1dHRvbi9jaGVjay1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvQnV0dG9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL3JhZGlvLWJ1dHRvbi1ncm91cC9yYWRpby1idXR0b24tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IEl0ZW1DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9pdGVtLWNhcmQvaXRlbS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYWZlSHRtbFBpcGUgfSBmcm9tICcuL3Byb3ZpZGVycy9zYWZlLWh0bWwucGlwZSc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnVuY2lvbmFyaW9zQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvZnVuY2lvbmFyaW9zL2Z1bmNpb25hcmlvcy9mdW5jaW9uYXJpb3MuY29tcG9uZW50JztcbmltcG9ydCB7IEZ1bmNpb25hcmlvRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL2Z1bmNpb25hcmlvcy9mdW5jaW9uYXJpby1mb3JtL2Z1bmNpb25hcmlvLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEZ1bmNpb25hcmlvRWRpdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL2Z1bmNpb25hcmlvcy9mdW5jaW9uYXJpby1lZGl0LWRpYWxvZy9mdW5jaW9uYXJpby1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnVuY2lvbmFyaW9BZGREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NhZGFzdHJvcy9mdW5jaW9uYXJpb3MvZnVuY2lvbmFyaW8tYWRkLWRpYWxvZy9mdW5jaW9uYXJpby1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvc0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG9zL3Byb2R1dG9zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvc0dydXBvc0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zLWdydXBvcy9wcm9kdXRvcy1ncnVwb3MvcHJvZHV0b3MtZ3J1cG9zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tZm9ybS9wcm9kdXRvLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9BZGREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NhZGFzdHJvcy9wcm9kdXRvcy9wcm9kdXRvLWFkZC1kaWFsb2cvcHJvZHV0by1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvQnVzY2FGaWx0cm9zRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MvcHJvZHV0by1idXNjYS1maWx0cm9zLWRpYWxvZy9wcm9kdXRvLWJ1c2NhLWZpbHRyb3MtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvRWRpdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tZWRpdC1kaWFsb2cvcHJvZHV0by1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW92ZXJHcnVwb0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zLWdydXBvcy9tb3Zlci1ncnVwby1kaWFsb2cvbW92ZXItZ3J1cG8tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvR3J1cG9TZWxlY2FvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MtZ3J1cG9zL3Byb2R1dG8tZ3J1cG8tc2VsZWNhby1kaWFsb2cvcHJvZHV0by1ncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHV0b0dydXBvQWRkRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MtZ3J1cG9zL3Byb2R1dG8tZ3J1cG8tYWRkLWRpYWxvZy9wcm9kdXRvLWdydXBvLWFkZC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9HcnVwb0VkaXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NhZGFzdHJvcy9wcm9kdXRvcy1ncnVwb3MvcHJvZHV0by1ncnVwby1lZGl0LWRpYWxvZy9wcm9kdXRvLWdydXBvLWVkaXQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvR3J1cG9Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MtZ3J1cG9zL3Byb2R1dG8tZ3J1cG8tZm9ybS9wcm9kdXRvLWdydXBvLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9zTmNtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MtbmNtLWRpYWxvZy9wcm9kdXRvcy1uY20tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvc1N1YmdydXBvc0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zLXN1YmdydXBvcy9wcm9kdXRvcy1zdWJncnVwb3MvcHJvZHV0b3Mtc3ViZ3J1cG9zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvU3ViZ3J1cG9TZWxlY2FvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3Mtc3ViZ3J1cG9zL3Byb2R1dG8tc3ViZ3J1cG8tc2VsZWNhby1kaWFsb2cvcHJvZHV0by1zdWJncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHV0b1N1YmdydXBvQWRkRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3Mtc3ViZ3J1cG9zL3Byb2R1dG8tc3ViZ3J1cG8tYWRkLWRpYWxvZy9wcm9kdXRvLXN1YmdydXBvLWFkZC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9TdWJncnVwb0VkaXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NhZGFzdHJvcy9wcm9kdXRvcy1zdWJncnVwb3MvcHJvZHV0by1zdWJncnVwby1lZGl0LWRpYWxvZy9wcm9kdXRvLXN1YmdydXBvLWVkaXQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW9BZGREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NhZGFzdHJvcy9wcm9kdXRvcy1jYXRlZ29yaWEtY2FyZGFwaW8vcHJvZHV0by1jYXRlZ29yaWEtY2FyZGFwaW8tYWRkLWRpYWxvZy9wcm9kdXRvLWNhdGVnb3JpYS1jYXJkYXBpby1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW9FZGl0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MtY2F0ZWdvcmlhLWNhcmRhcGlvL3Byb2R1dG8tY2F0ZWdvcmlhLWNhcmRhcGlvLWVkaXQtZGlhbG9nL3Byb2R1dG8tY2F0ZWdvcmlhLWNhcmRhcGlvLWVkaXQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW9TZWxlY2FvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MtY2F0ZWdvcmlhLWNhcmRhcGlvL3Byb2R1dG8tY2F0ZWdvcmlhLWNhcmRhcGlvLXNlbGVjYW8tZGlhbG9nL3Byb2R1dG8tY2F0ZWdvcmlhLWNhcmRhcGlvLXNlbGVjYW8tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdXRvc0NhdGVnb3JpYXNDYXJkYXBpb0NvbXBvbmVudCB9IGZyb20gJy4vY2FkYXN0cm9zL3Byb2R1dG9zLWNhdGVnb3JpYS1jYXJkYXBpby9wcm9kdXRvcy1jYXRlZ29yaWFzLWNhcmRhcGlvL3Byb2R1dG9zLWNhdGVnb3JpYXMtY2FyZGFwaW8uY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1dG9Db21wb3NpY2FvQ29tcG9uZW50IH0gZnJvbSAnLi9jYWRhc3Ryb3MvcHJvZHV0b3MvcHJvZHV0by1jb21wb3NpY2FvL3Byb2R1dG8tY29tcG9zaWNhby5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHV0b0NvbXBvc2ljYW9BZGREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NhZGFzdHJvcy9wcm9kdXRvcy9wcm9kdXRvLWNvbXBvc2ljYW8tYWRkLWRpYWxvZy9wcm9kdXRvLWNvbXBvc2ljYW8tYWRkLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHV0b1NlbGVjYW9EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NhZGFzdHJvcy9wcm9kdXRvcy9wcm9kdXRvLXNlbGVjYW8tZGlhbG9nL3Byb2R1dG8tc2VsZWNhby1kaWFsb2cuY29tcG9uZW50JztcblxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBTdHJpbmcge1xuICAgIGlzRW1wdHkoKTogYm9vbGVhbjtcbiAgfVxuICBpbnRlcmZhY2UgQXJyYXk8VD4ge1xuICAgIGZpcnN0T3JOdWxsKCk6IFQgfCBudWxsO1xuICAgIHJlbW92ZShpdGVtOiBUKTogYm9vbGVhbjtcbiAgfVxuICBpbnRlcmZhY2UgRGF0ZSB7XG4gICAgYWRkRGF5cyhkYXlzOiBudW1iZXIpOiBEYXRlO1xuICB9XG59XG5BcnJheS5wcm90b3R5cGUucmVtb3ZlID0gZnVuY3Rpb24gKGl0ZW0pOiBib29sZWFuIHtcbiAgY29uc3QgaW5kZXggPSB0aGlzLmluZGV4T2YoaXRlbSk7XG4gIGlmIChpbmRleCA9PT0gLTEpIHJldHVybiBmYWxzZTtcbiAgdGhpcy5zcGxpY2UoaW5kZXgsIDEpO1xuICByZXR1cm4gdHJ1ZTtcbn1cbkFycmF5LnByb3RvdHlwZS5maXJzdE9yTnVsbCA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKHRoaXMubGVuZ3RoID4gMClcbiAgICByZXR1cm4gdGhpc1swXTtcbiAgcmV0dXJuIG51bGw7XG59XG5cbkRhdGUucHJvdG90eXBlLmFkZERheXMgPSBmdW5jdGlvbiAoZGF5czogbnVtYmVyKSB7XG4gIHZhciByZXN1bHQgPSBuZXcgRGF0ZSh0aGlzKTtcbiAgcmVzdWx0LnNldERhdGUocmVzdWx0LmdldERhdGUoKSArIGRheXMpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCdXN5SW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIE1vbnRoWWVhclBpY2tlckNvbXBvbmVudCxcbiAgICBJbWFnZVZpZXdlckNvbXBvbmVudCxcbiAgICBOdW1lcmljUGlja2VyQ29tcG9uZW50LFxuICAgIFBhZ2luYXRvckNvbXBvbmVudCxcbiAgICBDaGVja0J1dHRvbkNvbXBvbmVudCxcbiAgICBSYWRpb0J1dHRvbkdyb3VwQ29tcG9uZW50LFxuICAgIEl0ZW1DYXJkQ29tcG9uZW50LFxuICAgIFNhZmVIdG1sUGlwZSxcbiAgICBBbGVydERpYWxvZ0NvbXBvbmVudCxcbiAgICBGdW5jaW9uYXJpb3NDb21wb25lbnQsXG4gICAgRnVuY2lvbmFyaW9Gb3JtQ29tcG9uZW50LFxuICAgIEZ1bmNpb25hcmlvRWRpdERpYWxvZ0NvbXBvbmVudCxcbiAgICBGdW5jaW9uYXJpb0FkZERpYWxvZ0NvbXBvbmVudCxcblxuICAgIFByb2R1dG9zQ29tcG9uZW50LFxuICAgIFByb2R1dG9Gb3JtQ29tcG9uZW50LFxuICAgIFByb2R1dG9BZGREaWFsb2dDb21wb25lbnQsXG4gICAgUHJvZHV0b0J1c2NhRmlsdHJvc0RpYWxvZ0NvbXBvbmVudCxcbiAgICBQcm9kdXRvRWRpdERpYWxvZ0NvbXBvbmVudCxcblxuICAgIFByb2R1dG9zR3J1cG9zQ29tcG9uZW50LFxuICAgIE1vdmVyR3J1cG9EaWFsb2dDb21wb25lbnQsXG4gICAgUHJvZHV0b0dydXBvU2VsZWNhb0RpYWxvZ0NvbXBvbmVudCxcbiAgICBQcm9kdXRvR3J1cG9BZGREaWFsb2dDb21wb25lbnQsXG4gICAgUHJvZHV0b0dydXBvRWRpdERpYWxvZ0NvbXBvbmVudCxcbiAgICBQcm9kdXRvR3J1cG9Gb3JtQ29tcG9uZW50LFxuICAgIFByb2R1dG9zTmNtRGlhbG9nQ29tcG9uZW50LFxuXG4gICAgUHJvZHV0b3NTdWJncnVwb3NDb21wb25lbnQsXG4gICAgUHJvZHV0b1N1YmdydXBvU2VsZWNhb0RpYWxvZ0NvbXBvbmVudCxcbiAgICBQcm9kdXRvU3ViZ3J1cG9BZGREaWFsb2dDb21wb25lbnQsXG4gICAgUHJvZHV0b1N1YmdydXBvRWRpdERpYWxvZ0NvbXBvbmVudCxcblxuICAgIFByb2R1dG9zQ2F0ZWdvcmlhc0NhcmRhcGlvQ29tcG9uZW50LFxuICAgIFByb2R1dG9DYXRlZ29yaWFDYXJkYXBpb0FkZERpYWxvZ0NvbXBvbmVudCxcbiAgICBQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW9FZGl0RGlhbG9nQ29tcG9uZW50LFxuICAgIFByb2R1dG9DYXRlZ29yaWFDYXJkYXBpb1NlbGVjYW9EaWFsb2dDb21wb25lbnQsXG4gICAgUHJvZHV0b0NvbXBvc2ljYW9Db21wb25lbnQsXG4gICAgUHJvZHV0b0NvbXBvc2ljYW9BZGREaWFsb2dDb21wb25lbnQsXG4gICAgUHJvZHV0b1NlbGVjYW9EaWFsb2dDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIEJyb3dzZXJNb2R1bGUsXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCdXN5SW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIE1vbnRoWWVhclBpY2tlckNvbXBvbmVudCxcbiAgICBJbWFnZVZpZXdlckNvbXBvbmVudCxcbiAgICBOdW1lcmljUGlja2VyQ29tcG9uZW50LFxuICAgIFBhZ2luYXRvckNvbXBvbmVudCxcbiAgICBDaGVja0J1dHRvbkNvbXBvbmVudCxcbiAgICBSYWRpb0J1dHRvbkdyb3VwQ29tcG9uZW50LFxuICAgIEl0ZW1DYXJkQ29tcG9uZW50LFxuICAgIFNhZmVIdG1sUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE94cGlOZ2xpYk1vZHVsZSB7IH1cbiJdfQ==