oxpi-nglib 2.0.1 → 2.0.3
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.
- package/{esm2020 → esm2022}/lib/cadastros/clientes/clientes/clientes-form.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/clientes/clientes/clientes.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/clientes/clientes-add-dialog/clientes-add-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/clientes/clientes-edit-dialog/clientes-edit-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/clientes/selecao-cliente-dialog/selecao-cliente-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/fornecedores/fornecedores/fornecedores-form.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/fornecedores/fornecedores/fornecedores.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/fornecedores/fornecedores-add-dialog/fornecedores-add-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/fornecedores/fornecedores-edit-dialog/fornecedores-edit-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/fornecedores/selecao-fornecedor-dialog/selecao-fornecedor-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/funcionarios/funcionario-form/funcionario-form.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/funcionarios/funcionarios/funcionarios.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos/produto-add-dialog/produto-add-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos/produto-busca-filtros-dialog/produto-busca-filtros-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos/produto-composicao/produto-composicao.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos/produto-composicao-add-dialog/produto-composicao-add-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos/produto-edit-dialog/produto-edit-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos/produto-form/produto-form.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos/produto-selecao-dialog/produto-selecao-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos/produtos/produtos.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-add-dialog/produto-categoria-cardapio-add-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-edit-dialog/produto-categoria-cardapio-edit-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-categoria-cardapio/produto-categoria-cardapio-selecao-dialog/produto-categoria-cardapio-selecao-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-categoria-cardapio/produtos-categorias-cardapio/produtos-categorias-cardapio.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-grupos/mover-grupo-dialog/mover-grupo-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-grupos/produto-grupo-add-dialog/produto-grupo-add-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-grupos/produto-grupo-edit-dialog/produto-grupo-edit-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-grupos/produto-grupo-form/produto-grupo-form.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-grupos/produto-grupo-selecao-dialog/produto-grupo-selecao-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-grupos/produtos-grupos/produtos-grupos.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-history/produtos-history.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-ncm-dialog/produtos-ncm-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-subgrupos/produto-subgrupo-add-dialog/produto-subgrupo-add-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-subgrupos/produto-subgrupo-edit-dialog/produto-subgrupo-edit-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-subgrupos/produto-subgrupo-selecao-dialog/produto-subgrupo-selecao-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-subgrupos/produtos-subgrupos/produtos-subgrupos.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-add-dialog/produto-verificacao-grupo-add-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-edit-dialog/produto-verificacao-grupo-edit-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-verificacao-grupo/produto-verificacao-grupo-selecao-dialog/produto-verificacao-grupo-selecao-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cadastros/produtos-verificacao-grupo/produtos-verificacao-grupo/produtos-verificacao-grupo.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/controls/alert-dialog/alert-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/controls/busy-indicator/busy-indicator.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/controls/check-button/check-button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/controls/image-viewer/image-viewer.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/controls/item-card/item-card.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/controls/month-year-picker/month-year-picker.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/controls/numeric-picker/numeric-picker.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/controls/paginator/paginator.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/controls/radio-button-group/radio-button-group.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/oxpi-nglib.module.mjs +80 -80
- package/{esm2020 → esm2022}/lib/providers/auth-data.service.mjs +4 -4
- package/esm2022/lib/providers/common-web-service.mjs +346 -0
- package/{esm2020 → esm2022}/lib/providers/export.file.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/providers/notification.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/providers/preference.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/providers/safe-html.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/providers/screen-helper.service.mjs +4 -4
- package/{fesm2020 → fesm2022}/oxpi-nglib.mjs +257 -257
- package/fesm2022/oxpi-nglib.mjs.map +1 -0
- package/lib/cadastros/clientes/clientes/clientes-form.component.d.ts +1 -1
- package/lib/cadastros/fornecedores/fornecedores/fornecedores-form.component.d.ts +1 -1
- package/lib/cadastros/funcionarios/funcionario-form/funcionario-form.component.d.ts +1 -1
- package/lib/cadastros/produtos/produto-form/produto-form.component.d.ts +1 -1
- package/lib/cadastros/produtos-grupos/produto-grupo-form/produto-grupo-form.component.d.ts +1 -1
- package/lib/controls/busy-indicator/busy-indicator.component.d.ts +1 -1
- package/lib/controls/check-button/check-button.component.d.ts +1 -1
- package/lib/controls/image-viewer/image-viewer.component.d.ts +1 -1
- package/lib/controls/item-card/item-card.component.d.ts +1 -1
- package/lib/controls/month-year-picker/month-year-picker.component.d.ts +1 -1
- package/lib/controls/numeric-picker/numeric-picker.component.d.ts +1 -1
- package/lib/controls/paginator/paginator.component.d.ts +1 -1
- package/lib/controls/radio-button-group/radio-button-group.component.d.ts +1 -1
- package/package.json +7 -13
- package/styles/cadastros-listagens-form.scss +31 -11
- package/esm2020/lib/providers/common-web-service.mjs +0 -346
- package/fesm2015/oxpi-nglib.mjs +0 -5850
- package/fesm2015/oxpi-nglib.mjs.map +0 -1
- package/fesm2020/oxpi-nglib.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/animations/animations.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/funcionario.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/id-nome-model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/login-item.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/login-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/operador.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/ownership.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/permissoes.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/pessoa.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/produto-composicao.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/produto-grupo.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/produto-ncm.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/produto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/sensores-def.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/setor-estoque.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/suite-base.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/entidades/usuario.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/infra/busy-state.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/infra/lazy-trigger.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/infra/number-parser.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/infra/ordem.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/infra/paging-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/infra/selecao-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/infra/utils-methods.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/infra/validations.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/settings/PagamentoRecebimentoSearchSetting.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/settings/consumo-produto-search-setting.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/settings/duplicata-search-setting.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/settings/ocupacao-filter-setting.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/settings/ocupacao-search-setting.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/settings/produto-search-setting.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/settings/search-setting.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/settings/suites-intervencoes-setting.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/tuple.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/providers/focus.service.mjs +0 -0
- /package/{esm2020 → esm2022}/oxpi-nglib.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
import { HttpHeaders, HttpParams } from '@angular/common/http';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { map } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
export class CommonWebService {
|
|
7
|
+
static { this.URL_PART_BUSCA = "Busca/"; }
|
|
8
|
+
static { this.URL_PART_NEXT_ID = "GetNextId/"; }
|
|
9
|
+
static { this.URL_PART_BUSCA_PAGINADA = "BuscaPaginada/"; }
|
|
10
|
+
constructor(http) {
|
|
11
|
+
this.http = http;
|
|
12
|
+
this.ROOT_URL = '';
|
|
13
|
+
this.GERENCIAL_URL = '';
|
|
14
|
+
this.FINANCAS_URL = '';
|
|
15
|
+
this.FUNCIONARIO_BASE_URL = '';
|
|
16
|
+
this.FUNCIONARIO_CARGO_BASE_URL = '';
|
|
17
|
+
this.token = '';
|
|
18
|
+
this.PRODUTO_BASE_URL = '';
|
|
19
|
+
this.PRODUTO_GRUPO_BASE_URL = '';
|
|
20
|
+
this.PRODUTO_SUBGRUPO_BASE_URL = '';
|
|
21
|
+
this.PRODUTO_CATEGORIA_CARDAPIO_BASE_URL = '';
|
|
22
|
+
this.PRODUTO_VERIFICACAO_GRUPO_BASE_URL = '';
|
|
23
|
+
this.ESTOQUE_URL = '';
|
|
24
|
+
this.MEDIA_BASE_URL = '';
|
|
25
|
+
this.MEDIA_PRODUTO_IMAGEM_URL = '';
|
|
26
|
+
this.PRODUTO_COMPOSICAO_BASE_URL = '';
|
|
27
|
+
this.FORNECEDOR_BASE_URL = '';
|
|
28
|
+
this.CLIENTE_BASE_URL = '';
|
|
29
|
+
this.OPERADOR_BASE_URL = '';
|
|
30
|
+
this.SUITE_BASE_URL = '';
|
|
31
|
+
}
|
|
32
|
+
setToken(token) {
|
|
33
|
+
this.token = token;
|
|
34
|
+
}
|
|
35
|
+
start(rootUrl) {
|
|
36
|
+
this.ROOT_URL = rootUrl;
|
|
37
|
+
this.PRODUTO_COMPOSICAO_BASE_URL = rootUrl + "ProdutoComposicao/";
|
|
38
|
+
this.FUNCIONARIO_BASE_URL = rootUrl + "Funcionario/";
|
|
39
|
+
this.FUNCIONARIO_CARGO_BASE_URL = rootUrl + "FuncionarioCargo/";
|
|
40
|
+
this.PRODUTO_BASE_URL = rootUrl + "ProdutoFiscal/";
|
|
41
|
+
this.PRODUTO_GRUPO_BASE_URL = rootUrl + "ProdutoGrupo/";
|
|
42
|
+
this.PRODUTO_SUBGRUPO_BASE_URL = rootUrl + "ProdutoSubgrupo/";
|
|
43
|
+
this.PRODUTO_CATEGORIA_CARDAPIO_BASE_URL = rootUrl + "ProdutoCategoriaCardapio/";
|
|
44
|
+
this.PRODUTO_VERIFICACAO_GRUPO_BASE_URL = rootUrl + "ProdutoVerificaoGrupo/";
|
|
45
|
+
this.ESTOQUE_URL = rootUrl + 'Estoque/';
|
|
46
|
+
this.GERENCIAL_URL = rootUrl + 'Gerencial/';
|
|
47
|
+
this.FINANCAS_URL = rootUrl + 'Financas/';
|
|
48
|
+
this.MEDIA_BASE_URL = this.GERENCIAL_URL + "Media/";
|
|
49
|
+
this.MEDIA_PRODUTO_IMAGEM_URL = this.MEDIA_BASE_URL + 'GetProdutoImagem/';
|
|
50
|
+
this.FORNECEDOR_BASE_URL = this.FINANCAS_URL + 'Fornecedor/';
|
|
51
|
+
this.CLIENTE_BASE_URL = this.FINANCAS_URL + 'Cliente/';
|
|
52
|
+
this.OPERADOR_BASE_URL = this.ROOT_URL + "Operador/";
|
|
53
|
+
this.SUITE_BASE_URL = this.ROOT_URL + "SuiteBase/";
|
|
54
|
+
}
|
|
55
|
+
getFuncionarios() {
|
|
56
|
+
const url = this.FUNCIONARIO_BASE_URL;
|
|
57
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
58
|
+
}
|
|
59
|
+
getFuncionariosCargos() {
|
|
60
|
+
const url = this.FUNCIONARIO_CARGO_BASE_URL;
|
|
61
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
62
|
+
}
|
|
63
|
+
buscaFuncionario(setting) {
|
|
64
|
+
const url = this.FUNCIONARIO_BASE_URL + CommonWebService.URL_PART_BUSCA;
|
|
65
|
+
return this.http.post(url, JSON.stringify(setting), this.getHttpOptions()).pipe(map(data => data));
|
|
66
|
+
}
|
|
67
|
+
getNextIdFuncionario() {
|
|
68
|
+
const url = this.FUNCIONARIO_BASE_URL + CommonWebService.URL_PART_NEXT_ID;
|
|
69
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
70
|
+
}
|
|
71
|
+
getAllFuncionario() {
|
|
72
|
+
const url = this.FUNCIONARIO_BASE_URL;
|
|
73
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
74
|
+
}
|
|
75
|
+
saveFuncionario(s) {
|
|
76
|
+
const url = this.FUNCIONARIO_BASE_URL;
|
|
77
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
78
|
+
}
|
|
79
|
+
addFuncionario(p) {
|
|
80
|
+
const url = this.FUNCIONARIO_BASE_URL;
|
|
81
|
+
return this.http.put(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
82
|
+
}
|
|
83
|
+
deleteFuncionario(id) {
|
|
84
|
+
const url = this.FUNCIONARIO_BASE_URL + id;
|
|
85
|
+
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
86
|
+
}
|
|
87
|
+
buscaPaginadaProdutos(setting, page, pageSize) {
|
|
88
|
+
const url = this.PRODUTO_BASE_URL + CommonWebService.URL_PART_BUSCA_PAGINADA;
|
|
89
|
+
const p = { setting: setting, page: page, pageSize: pageSize };
|
|
90
|
+
return this.http.post(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
91
|
+
}
|
|
92
|
+
getNextIdProduto() {
|
|
93
|
+
const url = this.PRODUTO_BASE_URL + CommonWebService.URL_PART_NEXT_ID;
|
|
94
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
95
|
+
}
|
|
96
|
+
getProdutoHistory(id) {
|
|
97
|
+
const url = this.PRODUTO_BASE_URL + 'GetHistory/' + id;
|
|
98
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
99
|
+
}
|
|
100
|
+
findProduto(produtoId) {
|
|
101
|
+
const url = this.PRODUTO_BASE_URL + produtoId;
|
|
102
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
103
|
+
}
|
|
104
|
+
saveProduto(s) {
|
|
105
|
+
const url = this.PRODUTO_BASE_URL;
|
|
106
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
107
|
+
}
|
|
108
|
+
addProduto(p) {
|
|
109
|
+
const url = this.PRODUTO_BASE_URL;
|
|
110
|
+
return this.http.put(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
111
|
+
}
|
|
112
|
+
deleteProduto(id) {
|
|
113
|
+
const url = this.PRODUTO_BASE_URL + id;
|
|
114
|
+
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
115
|
+
}
|
|
116
|
+
buscaProdutoGrupo(setting) {
|
|
117
|
+
const url = this.PRODUTO_GRUPO_BASE_URL + CommonWebService.URL_PART_BUSCA;
|
|
118
|
+
return this.http.post(url, JSON.stringify(setting), this.getHttpOptions()).pipe(map(data => data));
|
|
119
|
+
}
|
|
120
|
+
getAllProdutoGrupo() {
|
|
121
|
+
const url = this.PRODUTO_GRUPO_BASE_URL;
|
|
122
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
123
|
+
}
|
|
124
|
+
getNextIdProdutoGrupo() {
|
|
125
|
+
const url = this.PRODUTO_GRUPO_BASE_URL + CommonWebService.URL_PART_NEXT_ID;
|
|
126
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
127
|
+
}
|
|
128
|
+
saveProdutoGrupo(s) {
|
|
129
|
+
const url = this.PRODUTO_GRUPO_BASE_URL;
|
|
130
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
131
|
+
}
|
|
132
|
+
transfereProdutoGrupo(grupoId, novoGrupoId) {
|
|
133
|
+
const url = this.PRODUTO_BASE_URL + 'AlteraGrupo';
|
|
134
|
+
const p = { oldId: grupoId, newId: novoGrupoId };
|
|
135
|
+
return this.http.post(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
136
|
+
}
|
|
137
|
+
addProdutoGrupo(p) {
|
|
138
|
+
const url = this.PRODUTO_GRUPO_BASE_URL;
|
|
139
|
+
return this.http.put(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
140
|
+
}
|
|
141
|
+
deleteProdutoGrupo(id) {
|
|
142
|
+
const url = this.PRODUTO_GRUPO_BASE_URL + id;
|
|
143
|
+
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
144
|
+
}
|
|
145
|
+
buscaNcm(ncm) {
|
|
146
|
+
const url = this.PRODUTO_BASE_URL + 'BuscaNCM/';
|
|
147
|
+
const params = new HttpParams()
|
|
148
|
+
.set("ncm", '' + ncm);
|
|
149
|
+
return this.http.get(url, this.getHttpOptions(params)).pipe(map(data => data));
|
|
150
|
+
}
|
|
151
|
+
findNcm(ncm) {
|
|
152
|
+
const url = this.PRODUTO_BASE_URL + 'FindNCM/';
|
|
153
|
+
const params = new HttpParams()
|
|
154
|
+
.set("ncm", '' + ncm);
|
|
155
|
+
return this.http.get(url, this.getHttpOptions(params)).pipe(map(data => data));
|
|
156
|
+
}
|
|
157
|
+
buscaProdutoSubgrupo(setting) {
|
|
158
|
+
const url = this.PRODUTO_SUBGRUPO_BASE_URL + CommonWebService.URL_PART_BUSCA;
|
|
159
|
+
return this.http.post(url, JSON.stringify(setting), this.getHttpOptions()).pipe(map(data => data));
|
|
160
|
+
}
|
|
161
|
+
getNextIdProdutoSubgrupo() {
|
|
162
|
+
const url = this.PRODUTO_SUBGRUPO_BASE_URL + CommonWebService.URL_PART_NEXT_ID;
|
|
163
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
164
|
+
}
|
|
165
|
+
saveProdutoSubgrupo(s) {
|
|
166
|
+
const url = this.PRODUTO_SUBGRUPO_BASE_URL;
|
|
167
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
168
|
+
}
|
|
169
|
+
addProdutoSubgrupo(p) {
|
|
170
|
+
const url = this.PRODUTO_SUBGRUPO_BASE_URL;
|
|
171
|
+
return this.http.put(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
172
|
+
}
|
|
173
|
+
deleteProdutoSubgrupo(id) {
|
|
174
|
+
const url = this.PRODUTO_SUBGRUPO_BASE_URL + id;
|
|
175
|
+
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
176
|
+
}
|
|
177
|
+
buscaProdutoCategoriaCardapio(setting) {
|
|
178
|
+
const url = this.PRODUTO_CATEGORIA_CARDAPIO_BASE_URL + CommonWebService.URL_PART_BUSCA;
|
|
179
|
+
return this.http.post(url, JSON.stringify(setting), this.getHttpOptions()).pipe(map(data => data));
|
|
180
|
+
}
|
|
181
|
+
getNextIdProdutoCategoriaCardapio() {
|
|
182
|
+
const url = this.PRODUTO_CATEGORIA_CARDAPIO_BASE_URL + CommonWebService.URL_PART_NEXT_ID;
|
|
183
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
184
|
+
}
|
|
185
|
+
saveProdutoCategoriaCardapio(s) {
|
|
186
|
+
const url = this.PRODUTO_CATEGORIA_CARDAPIO_BASE_URL;
|
|
187
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
188
|
+
}
|
|
189
|
+
addProdutoCategoriaCardapio(p) {
|
|
190
|
+
const url = this.PRODUTO_CATEGORIA_CARDAPIO_BASE_URL;
|
|
191
|
+
return this.http.put(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
192
|
+
}
|
|
193
|
+
deleteProdutoCategoriaCardapio(id) {
|
|
194
|
+
const url = this.PRODUTO_CATEGORIA_CARDAPIO_BASE_URL + id;
|
|
195
|
+
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
196
|
+
}
|
|
197
|
+
buscaProdutoGrupoVerificacao(setting) {
|
|
198
|
+
const url = this.PRODUTO_VERIFICACAO_GRUPO_BASE_URL + CommonWebService.URL_PART_BUSCA;
|
|
199
|
+
return this.http.post(url, JSON.stringify(setting), this.getHttpOptions()).pipe(map(data => data));
|
|
200
|
+
}
|
|
201
|
+
getNextIdProdutoGrupoVerificacao() {
|
|
202
|
+
const url = this.PRODUTO_VERIFICACAO_GRUPO_BASE_URL + CommonWebService.URL_PART_NEXT_ID;
|
|
203
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
204
|
+
}
|
|
205
|
+
saveProdutoGrupoVerificacao(s) {
|
|
206
|
+
const url = this.PRODUTO_VERIFICACAO_GRUPO_BASE_URL;
|
|
207
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
208
|
+
}
|
|
209
|
+
addProdutoGrupoVerificacao(p) {
|
|
210
|
+
const url = this.PRODUTO_VERIFICACAO_GRUPO_BASE_URL;
|
|
211
|
+
return this.http.put(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
212
|
+
}
|
|
213
|
+
deleteProdutoGrupoVerificacao(id) {
|
|
214
|
+
const url = this.PRODUTO_VERIFICACAO_GRUPO_BASE_URL + id;
|
|
215
|
+
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
216
|
+
}
|
|
217
|
+
getAllSetores() {
|
|
218
|
+
const url = this.ESTOQUE_URL + 'Setor/';
|
|
219
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
220
|
+
}
|
|
221
|
+
getProdutoComposicao(produtoId) {
|
|
222
|
+
const url = this.PRODUTO_COMPOSICAO_BASE_URL + produtoId;
|
|
223
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
224
|
+
}
|
|
225
|
+
saveProdutoComposicao(s) {
|
|
226
|
+
const url = this.PRODUTO_COMPOSICAO_BASE_URL;
|
|
227
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
228
|
+
}
|
|
229
|
+
addProdutoComposicao(p) {
|
|
230
|
+
const url = this.PRODUTO_COMPOSICAO_BASE_URL;
|
|
231
|
+
return this.http.put(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
232
|
+
}
|
|
233
|
+
deleteProdutoComposicao(id) {
|
|
234
|
+
const url = this.PRODUTO_COMPOSICAO_BASE_URL + id;
|
|
235
|
+
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
236
|
+
}
|
|
237
|
+
buscaCliente(setting) {
|
|
238
|
+
const url = this.CLIENTE_BASE_URL + CommonWebService.URL_PART_BUSCA;
|
|
239
|
+
return this.http.post(url, JSON.stringify(setting), this.getHttpOptions()).pipe(map(data => data));
|
|
240
|
+
}
|
|
241
|
+
getAllCliente() {
|
|
242
|
+
const url = this.CLIENTE_BASE_URL;
|
|
243
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
244
|
+
}
|
|
245
|
+
saveCliente(s) {
|
|
246
|
+
const url = this.CLIENTE_BASE_URL;
|
|
247
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
248
|
+
}
|
|
249
|
+
addCliente(p) {
|
|
250
|
+
const url = this.CLIENTE_BASE_URL;
|
|
251
|
+
return this.http.put(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
252
|
+
}
|
|
253
|
+
deleteCliente(id) {
|
|
254
|
+
const url = this.CLIENTE_BASE_URL + id;
|
|
255
|
+
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
256
|
+
}
|
|
257
|
+
buscaFornecedor(setting) {
|
|
258
|
+
const url = this.FORNECEDOR_BASE_URL + CommonWebService.URL_PART_BUSCA;
|
|
259
|
+
return this.http.post(url, JSON.stringify(setting), this.getHttpOptions()).pipe(map(data => data));
|
|
260
|
+
}
|
|
261
|
+
getAllFornecedor() {
|
|
262
|
+
const url = this.FORNECEDOR_BASE_URL;
|
|
263
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
264
|
+
}
|
|
265
|
+
saveFornecedor(s) {
|
|
266
|
+
const url = this.FORNECEDOR_BASE_URL;
|
|
267
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
268
|
+
}
|
|
269
|
+
addFornecedor(p) {
|
|
270
|
+
const url = this.FORNECEDOR_BASE_URL;
|
|
271
|
+
return this.http.put(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
272
|
+
}
|
|
273
|
+
deleteFornecedor(id) {
|
|
274
|
+
const url = this.FORNECEDOR_BASE_URL + id;
|
|
275
|
+
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
276
|
+
}
|
|
277
|
+
getOperadores() {
|
|
278
|
+
const url = this.OPERADOR_BASE_URL;
|
|
279
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
280
|
+
}
|
|
281
|
+
buscaOperador(setting) {
|
|
282
|
+
const url = this.OPERADOR_BASE_URL + CommonWebService.URL_PART_BUSCA;
|
|
283
|
+
return this.http.post(url, JSON.stringify(setting), this.getHttpOptions()).pipe(map(data => data));
|
|
284
|
+
}
|
|
285
|
+
getNextIdOperador() {
|
|
286
|
+
const url = this.OPERADOR_BASE_URL + CommonWebService.URL_PART_NEXT_ID;
|
|
287
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
288
|
+
}
|
|
289
|
+
saveOperador(s) {
|
|
290
|
+
const url = this.OPERADOR_BASE_URL;
|
|
291
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
292
|
+
}
|
|
293
|
+
addOperador(p) {
|
|
294
|
+
const url = this.OPERADOR_BASE_URL;
|
|
295
|
+
return this.http.put(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));
|
|
296
|
+
}
|
|
297
|
+
deleteOperador(id) {
|
|
298
|
+
const url = this.OPERADOR_BASE_URL + id;
|
|
299
|
+
return this.http.delete(url, this.getHttpOptions()).pipe(map(data => data));
|
|
300
|
+
}
|
|
301
|
+
getSuites() {
|
|
302
|
+
const url = this.SUITE_BASE_URL;
|
|
303
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
304
|
+
}
|
|
305
|
+
getHttpOptions(parameters) {
|
|
306
|
+
return {
|
|
307
|
+
headers: new HttpHeaders({
|
|
308
|
+
'Content-Type': 'application/json',
|
|
309
|
+
"Accept": "application/json",
|
|
310
|
+
"Authorization": 'token ' + this.token,
|
|
311
|
+
}),
|
|
312
|
+
params: parameters
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
getExcelOptions(parameters) {
|
|
316
|
+
return {
|
|
317
|
+
headers: new HttpHeaders({
|
|
318
|
+
'Content-Type': 'application/json',
|
|
319
|
+
"Accept": "application/json",
|
|
320
|
+
"Authorization": 'token ' + this.token,
|
|
321
|
+
}),
|
|
322
|
+
params: parameters,
|
|
323
|
+
responseType: 'arraybuffer',
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
getHtmlOptions(parameters) {
|
|
327
|
+
return {
|
|
328
|
+
headers: new HttpHeaders({
|
|
329
|
+
'Content-Type': 'application/json',
|
|
330
|
+
"Accept": "application/json",
|
|
331
|
+
"Authorization": 'token ' + this.token,
|
|
332
|
+
}),
|
|
333
|
+
params: parameters,
|
|
334
|
+
responseType: 'text',
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: CommonWebService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
338
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: CommonWebService, providedIn: 'root' }); }
|
|
339
|
+
}
|
|
340
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: CommonWebService, decorators: [{
|
|
341
|
+
type: Injectable,
|
|
342
|
+
args: [{
|
|
343
|
+
providedIn: 'root'
|
|
344
|
+
}]
|
|
345
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
346
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXdlYi1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL3Byb3ZpZGVycy9jb21tb24td2ViLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7OztBQWdCdkMsTUFBTSxPQUFPLGdCQUFnQjthQXdCcEIsbUJBQWMsR0FBRyxRQUFRLENBQUM7YUFDMUIscUJBQWdCLEdBQUcsWUFBWSxDQUFDO2FBQ2hDLDRCQUF1QixHQUFHLGdCQUFnQixDQUFDO0lBRWxELFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUEzQnBDLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFFbEIseUJBQW9CLEdBQVcsRUFBRSxDQUFDO1FBQ2xDLCtCQUEwQixHQUFXLEVBQUUsQ0FBQztRQUN4QyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QiwyQkFBc0IsR0FBRyxFQUFFLENBQUM7UUFDNUIsOEJBQXlCLEdBQUcsRUFBRSxDQUFDO1FBQy9CLHdDQUFtQyxHQUFHLEVBQUUsQ0FBQztRQUN6Qyx1Q0FBa0MsR0FBRyxFQUFFLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLGdDQUEyQixHQUFXLEVBQUUsQ0FBQztRQUV6Qyx3QkFBbUIsR0FBWSxFQUFFLENB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VyxDQUFDO2dCQUN2QixjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixlQUFlLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLO2FBQ3ZDLENBQUM7WUFDRixNQUFNLEVBQUUsVUFBVTtTQUNuQixDQUFBO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxVQUF1QjtRQUNyQyxPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUN2QixjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixlQUFlLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLO2FBQ3ZDLENBQUM7WUFDRixNQUFNLEVBQUUsVUFBVTtZQUNsQixZQUFZLEVBQUUsYUFBdUI7U0FDdEMsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjLENBQUMsVUFBdUI7UUFDcEMsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDdkIsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsZUFBZSxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSzthQUN2QyxDQUFDO1lBQ0YsTUFBTSxFQUFFLFVBQVU7WUFDbEIsWUFBWSxFQUFFLE1BQWdCO1NBQy9CLENBQUM7SUFDSixDQUFDOzhHQXZXVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRnVuY2lvbmFyaW8sIEZ1bmNpb25hcmlvQ2FyZ28gfSBmcm9tICcuLi9tb2RlbHMvZW50aWRhZGVzL2Z1bmNpb25hcmlvJztcclxuaW1wb3J0IHsgT3BlcmFkb3IgfSBmcm9tICcuLi9tb2RlbHMvZW50aWRhZGVzL29wZXJhZG9yJztcclxuaW1wb3J0IHsgQ2xpZW50ZSwgRm9ybmVjZWRvciB9IGZyb20gJy4uL21vZGVscy9lbnRpZGFkZXMvcGVzc29hJztcclxuaW1wb3J0IHsgUHJvZHV0byB9IGZyb20gJy4uL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0byc7XHJcbmltcG9ydCB7IFByb2R1dG9Db21wb3NpY2FvIH0gZnJvbSAnLi4vbW9kZWxzL2VudGlkYWRlcy9wcm9kdXRvLWNvbXBvc2ljYW8nO1xyXG5pbXBvcnQgeyBQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW8sIFByb2R1dG9HcnVwbywgUHJvZHV0b1N1YmdydXBvLCBQcm9kdXRvVmVyaWZpY2FvR3J1cG8gfSBmcm9tICcuLi9tb2RlbHMvZW50aWRhZGVzL3Byb2R1dG8tZ3J1cG8nO1xyXG5pbXBvcnQgeyBOY20gfSBmcm9tICcuLi9tb2RlbHMvZW50aWRhZGVzL3Byb2R1dG8tbmNtJztcclxuaW1wb3J0IHsgU2V0b3JFc3RvcXVlIH0gZnJvbSAnLi4vbW9kZWxzL2VudGlkYWRlcy9zZXRvci1lc3RvcXVlJztcclxuaW1wb3J0IHsgU3VpdGVCYXNlIH0gZnJvbSAnLi4vbW9kZWxzL2VudGlkYWRlcy9zdWl0ZS1iYXNlJztcclxuaW1wb3J0IHsgUGFnaW5nUmVzdWx0IH0gZnJvbSAnLi4vbW9kZWxzL2luZnJhL3BhZ2luZy1yZXN1bHQnO1xyXG5pbXBvcnQgeyBTZWFyY2hTZXR0aW5nIH0gZnJvbSAnLi4vbW9kZWxzL3NldHRpbmdzL3NlYXJjaC1zZXR0aW5nJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1vbldlYlNlcnZpY2Uge1xyXG4gIFJPT1RfVVJMOiBzdHJpbmcgPSAnJztcclxuICBHRVJFTkNJQUxfVVJMID0gJyc7XHJcbiAgRklOQU5DQVNfVVJMID0gJyc7XHJcblxyXG4gIEZVTkNJT05BUklPX0JBU0VfVVJMOiBzdHJpbmcgPSAnJztcclxuICBGVU5DSU9OQVJJT19DQVJHT19CQVNFX1VSTDogc3RyaW5nID0gJyc7XHJcbiAgdG9rZW46IHN0cmluZyA9ICcnO1xyXG4gIFBST0RVVE9fQkFTRV9VUkwgPSAnJztcclxuICBQUk9EVVRPX0dSVVBPX0JBU0VfVVJMID0gJyc7XHJcbiAgUFJPRFVUT19TVUJHUlVQT19CQVNFX1VSTCA9ICcnO1xyXG4gIFBST0RVVE9fQ0FURUdPUklBX0NBUkRBUElPX0JBU0VfVVJMID0gJyc7XHJcbiAgUFJPRFVUT19WRVJJRklDQUNBT19HUlVQT19CQVNFX1VSTCA9ICcnO1xyXG4gIEVTVE9RVUVfVVJMID0gJyc7XHJcbiAgXHJcbiAgTUVESUFfQkFTRV9VUkwgPSAnJztcclxuICBNRURJQV9QUk9EVVRPX0lNQUdFTV9VUkwgPSAnJztcclxuICBQUk9EVVRPX0NPTVBPU0lDQU9fQkFTRV9VUkw6IHN0cmluZyA9ICcnO1xyXG5cclxuICBGT1JORUNFRE9SX0JBU0VfVVJMIDogc3RyaW5nID0gJyc7XHJcbiAgQ0xJRU5URV9CQVNFX1VSTCA6IHN0cmluZyA9ICcnO1xyXG4gIE9QRVJBRE9SX0JBU0VfVVJMID0gJyc7XHJcbiAgU1VJVEVfQkFTRV9VUkwgPSAnJztcclxuXHJcbiAgc3RhdGljIFVSTF9QQVJUX0JVU0NBID0gXCJCdXNjYS9cIjtcclxuICBzdGF0aWMgVVJMX1BBUlRfTkVYVF9JRCA9IFwiR2V0TmV4dElkL1wiO1xyXG4gIHN0YXRpYyBVUkxfUEFSVF9CVVNDQV9QQUdJTkFEQSA9IFwiQnVzY2FQYWdpbmFkYS9cIjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgc2V0VG9rZW4odG9rZW46IHN0cmluZykge1xyXG4gICAgdGhpcy50b2tlbiA9IHRva2VuO1xyXG4gIH1cclxuICBzdGFydChyb290VXJsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuUk9PVF9VUkwgPSByb290VXJsO1xyXG4gICAgdGhpcy5QUk9EVVRPX0NPTVBPU0lDQU9fQkFTRV9VUkwgPSByb290VXJsICsgXCJQcm9kdXRvQ29tcG9zaWNhby9cIjtcclxuICAgIHRoaXMuRlVOQ0lPTkFSSU9fQkFTRV9VUkwgPSByb290VXJsICsgXCJGdW5jaW9uYXJpby9cIjtcclxuICAgIHRoaXMuRlVOQ0lPTkFSSU9fQ0FSR09fQkFTRV9VUkwgPSByb290VXJsICsgXCJGdW5jaW9uYXJpb0NhcmdvL1wiO1xyXG4gICAgdGhpcy5QUk9EVVRPX0JBU0VfVVJMID0gcm9vdFVybCArIFwiUHJvZHV0b0Zpc2NhbC9cIjtcclxuICAgIHRoaXMuUFJPRFVUT19HUlVQT19CQVNFX1VSTCA9IHJvb3RVcmwgKyBcIlByb2R1dG9HcnVwby9cIjtcclxuICAgIHRoaXMuUFJPRFVUT19TVUJHUlVQT19CQVNFX1VSTCA9IHJvb3RVcmwgKyBcIlByb2R1dG9TdWJncnVwby9cIjtcclxuICAgIHRoaXMuUFJPRFVUT19DQVRFR09SSUFfQ0FSREFQSU9fQkFTRV9VUkwgPSByb290VXJsICsgXCJQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW8vXCI7XHJcbiAgICB0aGlzLlBST0RVVE9fVkVSSUZJQ0FDQU9fR1JVUE9fQkFTRV9VUkwgPSByb290VXJsICsgXCJQcm9kdXRvVmVyaWZpY2FvR3J1cG8vXCI7XHJcbiAgICB0aGlzLkVTVE9RVUVfVVJMID0gcm9vdFVybCArICdFc3RvcXVlLyc7XHJcbiAgICB0aGlzLkdFUkVOQ0lBTF9VUkwgPSByb290VXJsICsgJ0dlcmVuY2lhbC8nXHJcbiAgICB0aGlzLkZJTkFOQ0FTX1VSTCA9IHJvb3RVcmwgKyAnRmluYW5jYXMvJ1xyXG4gICAgdGhpcy5NRURJQV9CQVNFX1VSTCA9IHRoaXMuR0VSRU5DSUFMX1VSTCArIFwiTWVkaWEvXCI7XHJcbiAgICB0aGlzLk1FRElBX1BST0RVVE9fSU1BR0VNX1VSTCA9IHRoaXMuTUVESUFfQkFTRV9VUkwgKyAnR2V0UHJvZHV0b0ltYWdlbS8nO1xyXG4gICAgdGhpcy5GT1JORUNFRE9SX0JBU0VfVVJMID0gdGhpcy5GSU5BTkNBU19VUkwgKyAnRm9ybmVjZWRvci8nOyAgXHJcbiAgICB0aGlzLkNMSUVOVEVfQkFTRV9VUkwgPSB0aGlzLkZJTkFOQ0FTX1VSTCArICdDbGllbnRlLyc7XHJcbiAgICB0aGlzLk9QRVJBRE9SX0JBU0VfVVJMID0gdGhpcy5ST09UX1VSTCArIFwiT3BlcmFkb3IvXCJcclxuICAgIHRoaXMuU1VJVEVfQkFTRV9VUkwgPSB0aGlzLlJPT1RfVVJMICsgXCJTdWl0ZUJhc2UvXCI7XHJcbiAgfVxyXG5cclxuICBnZXRGdW5jaW9uYXJpb3MoKTogT2JzZXJ2YWJsZTxGdW5jaW9uYXJpb1tdPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLkZVTkNJT05BUklPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RnVuY2lvbmFyaW9bXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBnZXRGdW5jaW9uYXJpb3NDYXJnb3MoKTogT2JzZXJ2YWJsZTxGdW5jaW9uYXJpb0NhcmdvW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRlVOQ0lPTkFSSU9fQ0FSR09fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxGdW5jaW9uYXJpb0NhcmdvW10+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG4gIGJ1c2NhRnVuY2lvbmFyaW8oc2V0dGluZzogU2VhcmNoU2V0dGluZyk6IE9ic2VydmFibGU8RnVuY2lvbmFyaW9bXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GVU5DSU9OQVJJT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfQlVTQ0E7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RnVuY2lvbmFyaW9bXT4odXJsLCBKU09OLnN0cmluZ2lmeShzZXR0aW5nKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZ2V0TmV4dElkRnVuY2lvbmFyaW8oKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRlVOQ0lPTkFSSU9fQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX05FWFRfSUQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxudW1iZXI+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZ2V0QWxsRnVuY2lvbmFyaW8oKTogT2JzZXJ2YWJsZTxGdW5jaW9uYXJpb1tdPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLkZVTkNJT05BUklPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RnVuY2lvbmFyaW9bXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlRnVuY2lvbmFyaW8oczogRnVuY2lvbmFyaW8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GVU5DSU9OQVJJT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGFkZEZ1bmNpb25hcmlvKHA6IEZ1bmNpb25hcmlvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRlVOQ0lPTkFSSU9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocCksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGRlbGV0ZUZ1bmNpb25hcmlvKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GVU5DSU9OQVJJT19CQVNFX1VSTCArIGlkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55Pih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG5cclxuICBcclxuICBidXNjYVBhZ2luYWRhUHJvZHV0b3Moc2V0dGluZyA6IFNlYXJjaFNldHRpbmcsIHBhZ2UgOiBudW1iZXIsIHBhZ2VTaXplIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQYWdpbmdSZXN1bHQ8UHJvZHV0bz4+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfQlVTQ0FfUEFHSU5BREE7XHJcbiAgICBjb25zdCBwID0geyBzZXR0aW5nOiBzZXR0aW5nLCBwYWdlOiBwYWdlLCBwYWdlU2l6ZTogcGFnZVNpemUgfTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQYWdpbmdSZXN1bHQ8UHJvZHV0bz4+KHVybCwgSlNPTi5zdHJpbmdpZnkocCksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldE5leHRJZFByb2R1dG8oKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfTkVYVF9JRDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PG51bWJlcj4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBnZXRQcm9kdXRvSGlzdG9yeShpZCA6IG51bWJlcik6IE9ic2VydmFibGU8UHJvZHV0b1tdPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQkFTRV9VUkwgKyAnR2V0SGlzdG9yeS8nICsgaWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQcm9kdXRvW10+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZmluZFByb2R1dG8ocHJvZHV0b0lkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQcm9kdXRvPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQkFTRV9VUkwgKyBwcm9kdXRvSWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQcm9kdXRvPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIHNhdmVQcm9kdXRvKHM6IFByb2R1dG8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBKU09OLnN0cmluZ2lmeShzKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgYWRkUHJvZHV0byhwIDogUHJvZHV0byk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocCksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGRlbGV0ZVByb2R1dG8oaWQgOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0JBU0VfVVJMICsgaWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG4gIGJ1c2NhUHJvZHV0b0dydXBvKHNldHRpbmcgOiBTZWFyY2hTZXR0aW5nKTogT2JzZXJ2YWJsZTxQcm9kdXRvR3J1cG9bXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0dSVVBPX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9CVVNDQTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQcm9kdXRvR3J1cG9bXT4odXJsLCBKU09OLnN0cmluZ2lmeShzZXR0aW5nKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9ICBcclxuICBnZXRBbGxQcm9kdXRvR3J1cG8oKTogT2JzZXJ2YWJsZTxQcm9kdXRvR3J1cG9bXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0dSVVBPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UHJvZHV0b0dydXBvW10+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZ2V0TmV4dElkUHJvZHV0b0dydXBvKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fR1JVUE9fQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX05FWFRfSUQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxudW1iZXI+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgc2F2ZVByb2R1dG9HcnVwbyhzOiBQcm9kdXRvR3J1cG8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0dSVVBPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBKU09OLnN0cmluZ2lmeShzKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgdHJhbnNmZXJlUHJvZHV0b0dydXBvKGdydXBvSWQgOiBudW1iZXIsIG5vdm9HcnVwb0lkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19CQVNFX1VSTCArICdBbHRlcmFHcnVwbyc7XHJcbiAgICBjb25zdCBwID0geyBvbGRJZDogZ3J1cG9JZCwgbmV3SWQ6IG5vdm9HcnVwb0lkIH07XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVtYmVyPih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBhZGRQcm9kdXRvR3J1cG8ocCA6IFByb2R1dG9HcnVwbyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fR1JVUE9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocCksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGRlbGV0ZVByb2R1dG9HcnVwbyhpZCA6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fR1JVUE9fQkFTRV9VUkwgKyBpZDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuXHJcbiAgXHJcbiAgYnVzY2FOY20obmNtIDogc3RyaW5nKTogT2JzZXJ2YWJsZTxOY21bXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0JBU0VfVVJMICsgJ0J1c2NhTkNNLyc7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAuc2V0KFwibmNtXCIsICcnICsgbmNtKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5jbVtdPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMocGFyYW1zKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIFxyXG4gIGZpbmROY20obmNtIDogc3RyaW5nKTogT2JzZXJ2YWJsZTxOY20gfCBudWxsPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQkFTRV9VUkwgKyAnRmluZE5DTS8nO1xyXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgLnNldChcIm5jbVwiLCAnJyArIG5jbSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOY20gfCBudWxsPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMocGFyYW1zKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYnVzY2FQcm9kdXRvU3ViZ3J1cG8oc2V0dGluZyA6IFNlYXJjaFNldHRpbmcpOiBPYnNlcnZhYmxlPFByb2R1dG9TdWJncnVwb1tdPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fU1VCR1JVUE9fQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX0JVU0NBO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFByb2R1dG9TdWJncnVwb1tdPih1cmwsIEpTT04uc3RyaW5naWZ5KHNldHRpbmcpLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBnZXROZXh0SWRQcm9kdXRvU3ViZ3J1cG8oKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19TVUJHUlVQT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfTkVYVF9JRDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PG51bWJlcj4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlUHJvZHV0b1N1YmdydXBvKHM6IFByb2R1dG9TdWJncnVwbyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fU1VCR1JVUE9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHMpLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBhZGRQcm9kdXRvU3ViZ3J1cG8ocCA6IFByb2R1dG9TdWJncnVwbyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fU1VCR1JVUE9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocCksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGRlbGV0ZVByb2R1dG9TdWJncnVwbyhpZCA6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fU1VCR1JVUE9fQkFTRV9VUkwgKyBpZDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuXHJcbiAgXHJcbiAgYnVzY2FQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW8oc2V0dGluZyA6IFNlYXJjaFNldHRpbmcpOiBPYnNlcnZhYmxlPFByb2R1dG9DYXRlZ29yaWFDYXJkYXBpb1tdPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQ0FURUdPUklBX0NBUkRBUElPX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9CVVNDQTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW9bXT4odXJsLCBKU09OLnN0cmluZ2lmeShzZXR0aW5nKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZ2V0TmV4dElkUHJvZHV0b0NhdGVnb3JpYUNhcmRhcGlvKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQ0FURUdPUklBX0NBUkRBUElPX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9ORVhUX0lEO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8bnVtYmVyPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIHNhdmVQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW8oczogUHJvZHV0b0NhdGVnb3JpYUNhcmRhcGlvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19DQVRFR09SSUFfQ0FSREFQSU9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHMpLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBhZGRQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW8ocCA6IFByb2R1dG9DYXRlZ29yaWFDYXJkYXBpbyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQ0FURUdPUklBX0NBUkRBUElPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW8oaWQgOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0NBVEVHT1JJQV9DQVJEQVBJT19CQVNFX1VSTCArIGlkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55Pih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIFxyXG5cclxuICBidXNjYVByb2R1dG9HcnVwb1ZlcmlmaWNhY2FvKHNldHRpbmcgOiBTZWFyY2hTZXR0aW5nKTogT2JzZXJ2YWJsZTxQcm9kdXRvVmVyaWZpY2FvR3J1cG9bXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX1ZFUklGSUNBQ0FPX0dSVVBPX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9CVVNDQTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQcm9kdXRvVmVyaWZpY2FvR3J1cG9bXT4odXJsLCBKU09OLnN0cmluZ2lmeShzZXR0aW5nKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZ2V0TmV4dElkUHJvZHV0b0dydXBvVmVyaWZpY2FjYW8oKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19WRVJJRklDQUNBT19HUlVQT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfTkVYVF9JRDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PG51bWJlcj4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlUHJvZHV0b0dydXBvVmVyaWZpY2FjYW8oczogUHJvZHV0b1ZlcmlmaWNhb0dydXBvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19WRVJJRklDQUNBT19HUlVQT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGFkZFByb2R1dG9HcnVwb1ZlcmlmaWNhY2FvKHAgOiBQcm9kdXRvVmVyaWZpY2FvR3J1cG8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX1ZFUklGSUNBQ0FPX0dSVVBPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVQcm9kdXRvR3J1cG9WZXJpZmljYWNhbyhpZCA6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fVkVSSUZJQ0FDQU9fR1JVUE9fQkFTRV9VUkwgKyBpZDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU2V0b3JlcygpOiBPYnNlcnZhYmxlPFNldG9yRXN0b3F1ZVtdPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLkVTVE9RVUVfVVJMICsgJ1NldG9yLyc7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTZXRvckVzdG9xdWVbXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvZHV0b0NvbXBvc2ljYW8ocHJvZHV0b0lkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQcm9kdXRvQ29tcG9zaWNhb1tdPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQ09NUE9TSUNBT19CQVNFX1VSTCArIHByb2R1dG9JZDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFByb2R1dG9Db21wb3NpY2FvW10+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9ICBcclxuICBzYXZlUHJvZHV0b0NvbXBvc2ljYW8oczogUHJvZHV0b0NvbXBvc2ljYW8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0NPTVBPU0lDQU9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHMpLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBhZGRQcm9kdXRvQ29tcG9zaWNhbyhwIDogUHJvZHV0b0NvbXBvc2ljYW8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0NPTVBPU0lDQU9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocCksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGRlbGV0ZVByb2R1dG9Db21wb3NpY2FvKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19DT01QT1NJQ0FPX0JBU0VfVVJMICsgaWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG5cclxuICBidXNjYUNsaWVudGUoc2V0dGluZyA6IFNlYXJjaFNldHRpbmcpOiBPYnNlcnZhYmxlPENsaWVudGVbXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5DTElFTlRFX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9CVVNDQTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDbGllbnRlW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldEFsbENsaWVudGUoKTogT2JzZXJ2YWJsZTxDbGllbnRlW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuQ0xJRU5URV9CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENsaWVudGVbXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlQ2xpZW50ZShzOiBDbGllbnRlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuQ0xJRU5URV9CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGFkZENsaWVudGUocCA6IENsaWVudGUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5DTElFTlRFX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVDbGllbnRlKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuQ0xJRU5URV9CQVNFX1VSTCArIGlkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55Pih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG5cclxuICBidXNjYUZvcm5lY2Vkb3Ioc2V0dGluZyA6IFNlYXJjaFNldHRpbmcpOiBPYnNlcnZhYmxlPEZvcm5lY2Vkb3JbXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GT1JORUNFRE9SX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9CVVNDQTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxGb3JuZWNlZG9yW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldEFsbEZvcm5lY2Vkb3IoKTogT2JzZXJ2YWJsZTxGb3JuZWNlZG9yW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRk9STkVDRURPUl9CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEZvcm5lY2Vkb3JbXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlRm9ybmVjZWRvcihzOiBGb3JuZWNlZG9yKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRk9STkVDRURPUl9CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGFkZEZvcm5lY2Vkb3IocCA6IEZvcm5lY2Vkb3IpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GT1JORUNFRE9SX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVGb3JuZWNlZG9yKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRk9STkVDRURPUl9CQVNFX1VSTCArIGlkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55Pih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0T3BlcmFkb3JlcygpOiBPYnNlcnZhYmxlPE9wZXJhZG9yW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuT1BFUkFET1JfQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxPcGVyYWRvcltdPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGJ1c2NhT3BlcmFkb3Ioc2V0dGluZyA6IFNlYXJjaFNldHRpbmcpOiBPYnNlcnZhYmxlPE9wZXJhZG9yW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuT1BFUkFET1JfQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX0JVU0NBO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE9wZXJhZG9yW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldE5leHRJZE9wZXJhZG9yKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLk9QRVJBRE9SX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9ORVhUX0lEO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8bnVtYmVyPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIHNhdmVPcGVyYWRvcihzOiBPcGVyYWRvcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLk9QRVJBRE9SX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBKU09OLnN0cmluZ2lmeShzKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgYWRkT3BlcmFkb3IocCA6IE9wZXJhZG9yKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuT1BFUkFET1JfQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocCksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGRlbGV0ZU9wZXJhZG9yKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuT1BFUkFET1JfQkFTRV9VUkwgKyBpZDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3VpdGVzKCk6IE9ic2VydmFibGU8U3VpdGVCYXNlW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuU1VJVEVfQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTdWl0ZUJhc2VbXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SHR0cE9wdGlvbnMocGFyYW1ldGVycz86IEh0dHBQYXJhbXMpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICBcIkF1dGhvcml6YXRpb25cIjogJ3Rva2VuICcgKyB0aGlzLnRva2VuLFxyXG4gICAgICB9KSxcclxuICAgICAgcGFyYW1zOiBwYXJhbWV0ZXJzXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRFeGNlbE9wdGlvbnMocGFyYW1ldGVycz86IEh0dHBQYXJhbXMpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICBcIkF1dGhvcml6YXRpb25cIjogJ3Rva2VuICcgKyB0aGlzLnRva2VuLFxyXG4gICAgICB9KSxcclxuICAgICAgcGFyYW1zOiBwYXJhbWV0ZXJzLFxyXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgYXMgJ2pzb24nLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldEh0bWxPcHRpb25zKHBhcmFtZXRlcnM/OiBIdHRwUGFyYW1zKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgXCJBY2NlcHRcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgXCJBdXRob3JpemF0aW9uXCI6ICd0b2tlbiAnICsgdGhpcy50b2tlbixcclxuICAgICAgfSksXHJcbiAgICAgIHBhcmFtczogcGFyYW1ldGVycyxcclxuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcgYXMgJ2pzb24nLFxyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
|
|
@@ -17,13 +17,13 @@ export class ExportFileService {
|
|
|
17
17
|
const url = window.URL.createObjectURL(blob);
|
|
18
18
|
const w = window.open(url, '_blank', 'noreferrer');
|
|
19
19
|
}
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ExportFileService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ExportFileService, providedIn: 'root' }); }
|
|
20
22
|
}
|
|
21
|
-
|
|
22
|
-
ExportFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportFileService, providedIn: 'root' });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportFileService, decorators: [{
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ExportFileService, decorators: [{
|
|
24
24
|
type: Injectable,
|
|
25
25
|
args: [{
|
|
26
26
|
providedIn: 'root'
|
|
27
27
|
}]
|
|
28
28
|
}], ctorParameters: function () { return []; } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LmZpbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL294cGktbmdsaWIvc3JjL2xpYi9wcm92aWRlcnMvZXhwb3J0LmZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDOztBQUt4QyxNQUFNLE9BQU8saUJBQWlCO0lBRzVCLGdCQUFnQixDQUFDO0lBRWpCLEtBQUssQ0FBQyxlQUF1QjtRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQUEsQ0FBQztJQUMxRSxDQUFDO0lBRUQsYUFBYSxDQUFDLENBQU0sRUFBRSxRQUFnQjtRQUNwQyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLG1FQUFtRSxFQUFFLENBQUMsQ0FBQztRQUMxRyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsU0FBUyxDQUFDLENBQU07UUFDZCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsaUVBQWlFLENBQUM7UUFDaEYsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNyRCxDQUFDOzhHQWxCVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeHBvcnRGaWxlU2VydmljZSB7XHJcblxyXG4gIGVtcHJlc2FOb21lRmlsZT86IHN0cmluZztcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBzdGFydChlbXByZXNhTm9tZUZpbGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5lbXByZXNhTm9tZUZpbGUgPSBlbXByZXNhTm9tZUZpbGUucmVwbGFjZSgnICcsIFwiX1wiKS50b0xvd2VyQ2FzZSgpOztcclxuICB9XHJcblxyXG4gIGV4cG9ydGFyRXhjZWwocjogYW55LCBmaWxlTmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3JdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcgfSk7XHJcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGJsb2IsIGAke2ZpbGVOYW1lfS4ke3RoaXMuZW1wcmVzYU5vbWVGaWxlfS54bHN4YCk7XHJcbiAgfVxyXG4gIHByaW50SHRtbChyOiBhbnkpIHtcclxuICAgIGNvbnN0IHMgPSByICsgJzxzY3JpcHQ+d2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyB3aW5kb3cucHJpbnQoKTsgfTwvc2NyaXB0Pic7XHJcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3NdLCB7IHR5cGU6ICd0ZXh0L2h0bWwnIH0pO1xyXG4gICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICBjb25zdCB3ID0gd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJywgJ25vcmVmZXJyZXInKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -17,13 +17,13 @@ export class NotificationService {
|
|
|
17
17
|
panelClass: ['red-snackbar']
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: NotificationService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
|
|
20
22
|
}
|
|
21
|
-
|
|
22
|
-
NotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NotificationService, providedIn: 'root' });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NotificationService, decorators: [{
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: NotificationService, decorators: [{
|
|
24
24
|
type: Injectable,
|
|
25
25
|
args: [{
|
|
26
26
|
providedIn: 'root'
|
|
27
27
|
}]
|
|
28
28
|
}], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvcHJvdmlkZXJzL25vdGlmaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8zQyxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQW1CLFFBQXFCO1FBQXJCLGFBQVEsR0FBUixRQUFRLENBQWE7SUFDeEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFzQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQVc7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELFlBQVksQ0FBQyxHQUFXO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUU7WUFDakMsUUFBUSxFQUFFLElBQUk7WUFDZCxVQUFVLEVBQUUsQ0FBQyxjQUFjLENBQUM7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FoQlUsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc25hY2tCYXI6IE1hdFNuYWNrQmFyKSB7XHJcbiAgfVxyXG5cclxuICBzaG93SHR0cEVycm9yKHJlczogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIHRoaXMuc25hY2tCYXIub3BlbihgT2NvcnJldSB1bSBlcnJvIGRlIGNvbmV4w6NvLiBFcnJvICR7cmVzLnN0YXR1c306ICR7cmVzLnN0YXR1c1RleHR9YCk7XHJcbiAgfVxyXG4gIHNob3dNc2cobXNnOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc25hY2tCYXIub3Blbihtc2cpO1xyXG4gIH1cclxuICBzaG93TXNnRXJyb3IobXNnOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc25hY2tCYXIub3Blbihtc2csIHVuZGVmaW5lZCwge1xyXG4gICAgICBkdXJhdGlvbjogMjAwMCxcclxuICAgICAgcGFuZWxDbGFzczogWydyZWQtc25hY2tiYXInXVxyXG4gICAgfSk7XHJcbiAgfVxyXG59Il19
|
|
@@ -30,13 +30,13 @@ export class Preferences {
|
|
|
30
30
|
const json = JSON.stringify(obj);
|
|
31
31
|
localStorage.setItem(key, json);
|
|
32
32
|
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: Preferences, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: Preferences, providedIn: 'root' }); }
|
|
33
35
|
}
|
|
34
|
-
|
|
35
|
-
Preferences.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Preferences, providedIn: 'root' });
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Preferences, decorators: [{
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: Preferences, decorators: [{
|
|
37
37
|
type: Injectable,
|
|
38
38
|
args: [{
|
|
39
39
|
providedIn: 'root'
|
|
40
40
|
}]
|
|
41
41
|
}], ctorParameters: function () { return []; } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL3Byb3ZpZGVycy9wcmVmZXJlbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsR0FBRyxNQUFNLGVBQWUsQ0FBQzs7QUFPNUMsTUFBTSxPQUFPLFdBQVc7SUFDcEI7SUFDQSxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxJQUE0QixFQUFFLFlBQWtCO1FBQ25FLE1BQU0sQ0FBQyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssSUFBSTtZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQ3BDLElBQUksUUFBYSxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1lBQ3pCLElBQUksU0FBUztnQkFDVCxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUM3QjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLENBQUksR0FBVyxFQUFFLFlBQWdCO1FBRWpDLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxJQUFJLEtBQUssSUFBSTtZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxJQUEyQjtRQUM5QyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksQ0FBSSxHQUFXLEVBQUUsR0FBTztRQUV4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OEdBakNRLFdBQVc7a0hBQVgsV0FBVyxjQUZSLE1BQU07OzJGQUVULFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmFkaW9CdXR0b25Hcm91cERhdGEgfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFByZWZlcmVuY2VzIHtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWRHcm91cChrZXk6IHN0cmluZywgbGlzdDogUmFkaW9CdXR0b25Hcm91cERhdGFbXSwgZGVmYXVsdFZhbHVlIDogYW55KTogYW55IHtcclxuICAgICAgICBjb25zdCB0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuICAgICAgICBpZiAodCA9PT0gbnVsbCkgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcclxuICAgICAgICBsZXQgZGVmVmFsdWU6IGFueTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbSA9IGxpc3RbaV07XHJcbiAgICAgICAgICAgIGNvbnN0IGlzRGVmYXVsdCA9IChpdGVtLnZhbHVlICsgJycpID09PSB0O1xyXG4gICAgICAgICAgICBpdGVtLmRlZmF1bHQgPSBpc0RlZmF1bHQ7XHJcbiAgICAgICAgICAgIGlmIChpc0RlZmF1bHQpXHJcbiAgICAgICAgICAgICAgICBkZWZWYWx1ZSA9IGl0ZW0udmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkZWZWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkPFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWUgOiBUKSA6IFRcclxuICAgIHtcclxuICAgICAgICBjb25zdCBqc29uID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuICAgICAgICBpZiAoanNvbiA9PT0gbnVsbCkgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcclxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShqc29uKTtcclxuICAgIH1cclxuXHJcbiAgICBzYXZlR3JvdXAoa2V5OiBzdHJpbmcsIGRhdGEgOiBSYWRpb0J1dHRvbkdyb3VwRGF0YSkge1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgZGF0YS52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2F2ZTxUPihrZXk6IHN0cmluZywgb2JqIDogVClcclxuICAgIHtcclxuICAgICAgICBjb25zdCBqc29uID0gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIGpzb24pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -8,13 +8,13 @@ export class SafeHtmlPipe {
|
|
|
8
8
|
transform(html) {
|
|
9
9
|
return this.sanitizer.bypassSecurityTrustHtml(html);
|
|
10
10
|
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.7", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" }); }
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
SafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" });
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SafeHtmlPipe, decorators: [{
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: SafeHtmlPipe, decorators: [{
|
|
15
15
|
type: Pipe,
|
|
16
16
|
args: [{
|
|
17
17
|
name: 'safeHtml'
|
|
18
18
|
}]
|
|
19
19
|
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9veHBpLW5nbGliL3NyYy9saWIvcHJvdmlkZXJzL3NhZmUtaHRtbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFBb0IsU0FBc0I7UUFBdEIsY0FBUyxHQUFULFNBQVMsQ0FBYTtJQUFFLENBQUM7SUFFN0MsU0FBUyxDQUFDLElBQWE7UUFDckIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7OEdBTlUsWUFBWTs0R0FBWixZQUFZOzsyRkFBWixZQUFZO2tCQUh4QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxVQUFVO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdzYWZlSHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2FmZUh0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSBcbntcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6RG9tU2FuaXRpemVyKXt9XG5cbiAgdHJhbnNmb3JtKGh0bWwgOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoaHRtbCk7XG4gIH1cblxufVxuIl19
|
|
@@ -85,13 +85,13 @@ export class ScreenHelperService {
|
|
|
85
85
|
this.minXXLarge = minXXLarge;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ScreenHelperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
89
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ScreenHelperService, providedIn: 'root' }); }
|
|
88
90
|
}
|
|
89
|
-
|
|
90
|
-
ScreenHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ScreenHelperService, providedIn: 'root' });
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ScreenHelperService, decorators: [{
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ScreenHelperService, decorators: [{
|
|
92
92
|
type: Injectable,
|
|
93
93
|
args: [{
|
|
94
94
|
providedIn: 'root'
|
|
95
95
|
}]
|
|
96
96
|
}], ctorParameters: function () { return []; } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLWhlbHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL3Byb3ZpZGVycy9zY3JlZW4taGVscGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3pELE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQztBQUNyQixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7QUFDckIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDO0FBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQztBQUN0QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUM7QUFLdkIsTUFBTSxPQUFPLG1CQUFtQjtJQXlCOUI7UUF4QkEsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDakQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRW5ELDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDcEQsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNyRCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3BELDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDckQsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUV0RCxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixhQUFRLEdBQVcsS0FBSyxDQUFDO1FBQ3pCLFlBQU8sR0FBVyxLQUFLLENBQUM7UUFDeEIsYUFBUSxHQUFZLEtBQUssQ0FBQztR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USxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDMUI7UUFDRCxJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7U0FDNUI7UUFDRCxJQUFJLFVBQVUsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2xDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7U0FDOUI7SUFDSCxDQUFDOzhHQXpGVSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuY29uc3QgU01fV0lEVEggPSA1NzY7XG5jb25zdCBNRF9XSURUSCA9IDc2ODtcbmNvbnN0IExHX1dJRFRIID0gOTkyO1xuY29uc3QgWExfV0lEVEggPSAxMjAwO1xuY29uc3QgWFhMX1dJRFRIID0gMTQwMDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2NyZWVuSGVscGVyU2VydmljZSB7XG4gIGNoYW5nZWRNb2JpbGVTY3JlZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIGNoYW5nZWRNZWRpdW1TY3JlZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIGNoYW5nZWRMYXJnZVNjcmVlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgY2hhbmdlZFhMYXJnZVNjcmVlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgY2hhbmdlZFhYTGFyZ2VTY3JlZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIFxuICBjaGFuZ2VkTWluU21hbGxTY3JlZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIGNoYW5nZWRNaW5NZWRpdW1TY3JlZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIGNoYW5nZWRNaW5MYXJnZVNjcmVlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgY2hhbmdlZE1pblhMYXJnZVNjcmVlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgY2hhbmdlZE1pblhYTGFyZ2VTY3JlZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIFxuICBtb2JpbGVTY3JlZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNNZWRpdW06IGJvb2xlYW49IGZhbHNlO1xuICBpc0xhcmdlOiBib29sZWFuPSBmYWxzZTtcbiAgaXNYTGFyZ2UgOiBib29sZWFuPSBmYWxzZTtcbiAgaXNYWExhcmdlIDogYm9vbGVhbj0gZmFsc2U7XG4gIFxuICBtaW5TbWFsbCA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbWluTWVkaXVtIDogYm9vbGVhbiA9IGZhbHNlO1xuICBtaW5MYXJnZSA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbWluWExhcmdlIDogYm9vbGVhbiA9IGZhbHNlO1xuICBtaW5YWExhcmdlIDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGV0ZXJtaW5hTW9iaWxlU2NyZWVuKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIChldmVudCkgPT4ge1xuICAgICAgdGhpcy5kZXRlcm1pbmFNb2JpbGVTY3JlZW4oKTtcbiAgICB9KTtcbiAgfVxuXG4gIGRldGVybWluYU1vYmlsZVNjcmVlbigpIHtcbiAgICBjb25zdCB3aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgY29uc3QgaXNTbWFsbCA9IHdpZHRoIDw9IFNNX1dJRFRIO1xuICAgIGNvbnN0IGlzTWVkaXVtID0gd2lkdGggPD0gTURfV0lEVEg7XG4gICAgY29uc3QgaXNMYXJnZSA9IHdpZHRoIDw9IExHX1dJRFRIO1xuICAgIGNvbnN0IGlzWExhcmdlID0gd2lkdGggPD0gWExfV0lEVEg7XG4gICAgY29uc3QgaXNYWExhcmdlID0gd2lkdGggPD0gWFhMX1dJRFRIO1xuICAgIFxuICAgIGNvbnN0IG1pblNtYWxsID0gd2lkdGggPj0gU01fV0lEVEg7XG4gICAgY29uc3QgbWluTWVkaXVtID0gd2lkdGggPj0gTURfV0lEVEg7XG4gICAgY29uc3QgbWluTGFyZ2UgPSB3aWR0aCA+PSBMR19XSURUSDtcbiAgICBjb25zdCBtaW5YTGFyZ2UgPSB3aWR0aCA+PSBYTF9XSURUSDtcbiAgICBjb25zdCBtaW5YWExhcmdlID0gd2lkdGggPj0gWFhMX1dJRFRIO1xuXG4gICAgaWYgKGlzU21hbGwgIT09IHRoaXMubW9iaWxlU2NyZWVuKSB7XG4gICAgICB0aGlzLmNoYW5nZWRNb2JpbGVTY3JlZW4uZW1pdChpc1NtYWxsKTtcbiAgICAgIHRoaXMubW9iaWxlU2NyZWVuID0gaXNTbWFsbDtcbiAgICB9XG4gICAgaWYgKGlzTWVkaXVtICE9PSB0aGlzLmlzTWVkaXVtKSB7XG4gICAgICB0aGlzLmNoYW5nZWRNZWRpdW1TY3JlZW4uZW1pdChpc01lZGl1bSk7XG4gICAgICB0aGlzLmlzTWVkaXVtID0gaXNNZWRpdW07XG4gICAgfVxuICAgIGlmIChpc0xhcmdlICE9PSB0aGlzLmlzTGFyZ2UpIHtcbiAgICAgIHRoaXMuY2hhbmdlZExhcmdlU2NyZWVuLmVtaXQoaXNMYXJnZSk7XG4gICAgICB0aGlzLmlzTGFyZ2UgPSBpc0xhcmdlO1xuICAgIH1cbiAgICBpZiAoaXNYTGFyZ2UgIT09IHRoaXMuaXNYTGFyZ2UpIHtcbiAgICAgIHRoaXMuY2hhbmdlZFhMYXJnZVNjcmVlbi5lbWl0KGlzWExhcmdlKTtcbiAgICAgIHRoaXMuaXNYTGFyZ2UgPSBpc1hMYXJnZTtcbiAgICB9XG4gICAgaWYgKGlzWFhMYXJnZSAhPT0gdGhpcy5pc1hYTGFyZ2UpIHtcbiAgICAgIHRoaXMuY2hhbmdlZFhYTGFyZ2VTY3JlZW4uZW1pdChpc1hYTGFyZ2UpO1xuICAgICAgdGhpcy5pc1hYTGFyZ2UgPSBpc1hYTGFyZ2U7XG4gICAgfVxuXG4gICAgXG4gICAgaWYgKG1pblNtYWxsICE9PSB0aGlzLm1pblNtYWxsKSB7XG4gICAgICB0aGlzLmNoYW5nZWRNaW5TbWFsbFNjcmVlbi5lbWl0KGlzU21hbGwpO1xuICAgICAgdGhpcy5taW5NZWRpdW0gPSBpc1NtYWxsO1xuICAgIH1cbiAgICBpZiAobWluTWVkaXVtICE9PSB0aGlzLm1pbk1lZGl1bSkge1xuICAgICAgdGhpcy5jaGFuZ2VkTWluTWVkaXVtU2NyZWVuLmVtaXQoaXNNZWRpdW0pO1xuICAgICAgdGhpcy5taW5NZWRpdW0gPSBpc01lZGl1bTtcbiAgICB9XG4gICAgaWYgKG1pbkxhcmdlICE9PSB0aGlzLm1pbkxhcmdlKSB7XG4gICAgICB0aGlzLmNoYW5nZWRNaW5MYXJnZVNjcmVlbi5lbWl0KG1pbkxhcmdlKTtcbiAgICAgIHRoaXMubWluTGFyZ2UgPSBtaW5MYXJnZTtcbiAgICB9XG4gICAgaWYgKG1pblhMYXJnZSAhPT0gdGhpcy5taW5YTGFyZ2UpIHtcbiAgICAgIHRoaXMuY2hhbmdlZE1pblhMYXJnZVNjcmVlbi5lbWl0KG1pblhMYXJnZSk7XG4gICAgICB0aGlzLm1pblhMYXJnZSA9IG1pblhMYXJnZTtcbiAgICB9XG4gICAgaWYgKG1pblhYTGFyZ2UgIT09IHRoaXMubWluWFhMYXJnZSkge1xuICAgICAgdGhpcy5jaGFuZ2VkTWluWFhMYXJnZVNjcmVlbi5lbWl0KG1pblhYTGFyZ2UpO1xuICAgICAgdGhpcy5taW5YWExhcmdlID0gbWluWFhMYXJnZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|