dts-backoffice-util 3.0.0 → 6.0.0

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 (71) hide show
  1. package/README.md +1 -1
  2. package/dts-backoffice-util.d.ts +1 -0
  3. package/esm2020/dts-backoffice-util.mjs +5 -0
  4. package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.mjs +269 -0
  5. package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.mjs +7 -0
  6. package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.mjs +183 -0
  7. package/esm2020/lib/dts-backoffice-util.module.mjs +56 -0
  8. package/esm2020/lib/interfaces/filter-range.interface.mjs +2 -0
  9. package/esm2020/lib/interfaces/totvs-response.interface.mjs +2 -0
  10. package/esm2020/lib/model/session-info.model.mjs +67 -0
  11. package/esm2020/lib/pipes/dts-date-format.pipe.mjs +20 -0
  12. package/esm2020/lib/services/breadcrumb-control.service.mjs +82 -0
  13. package/esm2020/lib/services/cache-params.service.mjs +25 -0
  14. package/esm2020/lib/services/menu-datasul.service.mjs +41 -0
  15. package/esm2020/lib/services/profile.service.mjs +55 -0
  16. package/esm2020/lib/services/report.service.mjs +57 -0
  17. package/esm2020/lib/services/session-info.service.mjs +36 -0
  18. package/esm2020/lib/services/translate.service.mjs +23 -0
  19. package/esm2020/lib/utils/date.util.mjs +56 -0
  20. package/esm2020/lib/utils/disclaimer.util.mjs +453 -0
  21. package/esm2020/lib/utils/field-validation.util.mjs +179 -0
  22. package/esm2020/lib/utils/file.util.mjs +122 -0
  23. package/esm2020/lib/utils/filter-range.util.mjs +33 -0
  24. package/esm2020/lib/utils/generic-functions.utils.mjs +170 -0
  25. package/esm2020/public-api.mjs +34 -0
  26. package/fesm2015/{dts-backoffice-util.js → dts-backoffice-util.mjs} +230 -1626
  27. package/fesm2015/dts-backoffice-util.mjs.map +1 -0
  28. package/fesm2020/dts-backoffice-util.mjs +1844 -0
  29. package/fesm2020/dts-backoffice-util.mjs.map +1 -0
  30. package/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.d.ts +3 -0
  31. package/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.d.ts +3 -0
  32. package/lib/dts-backoffice-util.module.d.ts +10 -0
  33. package/lib/pipes/dts-date-format.pipe.d.ts +3 -0
  34. package/lib/services/breadcrumb-control.service.d.ts +3 -0
  35. package/lib/services/cache-params.service.d.ts +3 -0
  36. package/lib/services/menu-datasul.service.d.ts +3 -0
  37. package/lib/services/profile.service.d.ts +3 -0
  38. package/lib/services/report.service.d.ts +3 -0
  39. package/lib/services/session-info.service.d.ts +3 -0
  40. package/lib/services/translate.service.d.ts +3 -0
  41. package/package.json +23 -11
  42. package/CHANGELOG.md +0 -159
  43. package/bundles/dts-backoffice-util.umd.js +0 -3296
  44. package/bundles/dts-backoffice-util.umd.js.map +0 -1
  45. package/bundles/dts-backoffice-util.umd.min.js +0 -2
  46. package/bundles/dts-backoffice-util.umd.min.js.map +0 -1
  47. package/dts-backoffice-util.metadata.json +0 -1
  48. package/esm2015/dts-backoffice-util.js +0 -10
  49. package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.js +0 -391
  50. package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.js +0 -132
  51. package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.js +0 -344
  52. package/esm2015/lib/dts-backoffice-util.module.js +0 -47
  53. package/esm2015/lib/interfaces/filter-range.interface.js +0 -48
  54. package/esm2015/lib/interfaces/totvs-response.interface.js +0 -17
  55. package/esm2015/lib/model/session-info.model.js +0 -183
  56. package/esm2015/lib/pipes/dts-date-format.pipe.js +0 -27
  57. package/esm2015/lib/services/breadcrumb-control.service.js +0 -124
  58. package/esm2015/lib/services/cache-params.service.js +0 -47
  59. package/esm2015/lib/services/menu-datasul.service.js +0 -57
  60. package/esm2015/lib/services/profile.service.js +0 -127
  61. package/esm2015/lib/services/report.service.js +0 -127
  62. package/esm2015/lib/services/session-info.service.js +0 -62
  63. package/esm2015/lib/services/translate.service.js +0 -35
  64. package/esm2015/lib/utils/date.util.js +0 -95
  65. package/esm2015/lib/utils/disclaimer.util.js +0 -738
  66. package/esm2015/lib/utils/field-validation.util.js +0 -275
  67. package/esm2015/lib/utils/file.util.js +0 -224
  68. package/esm2015/lib/utils/filter-range.util.js +0 -53
  69. package/esm2015/lib/utils/generic-functions.utils.js +0 -296
  70. package/esm2015/public-api.js +0 -38
  71. package/fesm2015/dts-backoffice-util.js.map +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Documentação dos Componentes e Utils
2
2
 
3
- ÚLTIMA VERSÃO: **2.8.2 (16-11-2021)** **([**VER CHANGE LOG**](https://github.com/ModernizaDatasul/dts-backoffice-util/blob/master/projects/dts-backoffice-util/CHANGELOG.md))**
3
+ ÚLTIMA VERSÃO: **6.0.0 (13-06-2022)** **([**VER CHANGE LOG**](https://github.com/ModernizaDatasul/dts-backoffice-util/blob/master/projects/dts-backoffice-util/CHANGELOG.md))**
4
4
 
5
5
  <br>
6
6
 
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="dts-backoffice-util" />
4
5
  export * from './public-api';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHRzLWJhY2tvZmZpY2UtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2R0cy1iYWNrb2ZmaWNlLXV0aWwvc3JjL2R0cy1iYWNrb2ZmaWNlLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,269 @@
1
+ import { Component, Input, ViewChild, Output, EventEmitter } from '@angular/core';
2
+ import { ScheduleParameters } from './totvs-schedule-execution.model';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@po-ui/ng-components";
5
+ import * as i2 from "./totvs-schedule-execution.service";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "@angular/common";
8
+ export class TotvsScheduleExecutionComponent {
9
+ constructor(poI18nService, rpwService, poNotification) {
10
+ this.poI18nService = poI18nService;
11
+ this.rpwService = rpwService;
12
+ this.poNotification = poNotification;
13
+ this.programEMS5 = false;
14
+ this.programVersion = '';
15
+ this.disabledParams = false;
16
+ this.loading = false;
17
+ this.endExecution = new EventEmitter();
18
+ this.jsonObject = {};
19
+ this.literals = {};
20
+ }
21
+ ngOnInit() {
22
+ /* VERIFICAR COMO FICARÁ A TRADUÇÃO
23
+ forkJoin(
24
+ this.poI18nService.getLiterals(),
25
+ this.poI18nService.getLiterals({ context: 'generalRpw' })
26
+ ).subscribe(literals => {
27
+ literals.map(item => Object.assign(this.literals, item) );
28
+ this.setupComponents();
29
+ });*/
30
+ this.setupComponents();
31
+ }
32
+ setupComponents() {
33
+ this.executionTypeOptions = [
34
+ { label: 'Executar Hoje', value: 1 },
35
+ { label: 'Agendar Execução', value: 2 }
36
+ ];
37
+ this.frequencyOptions = [
38
+ { label: 'Uma vez no dia', value: 'no' },
39
+ { label: 'Várias vezes no dia', value: 'yes' }
40
+ ];
41
+ this.frequencyTypeOptions = [
42
+ { label: 'Hora(s)', value: 'hour' },
43
+ { label: 'Minuto(s)', value: 'minute' }
44
+ ];
45
+ this.weeklyOptions = [
46
+ { label: 'Domingo', value: 'Sunday' },
47
+ { label: 'Segunda', value: 'Monday' },
48
+ { label: 'Terça', value: 'Tuesday' },
49
+ { label: 'Quarta', value: 'Wednesday' },
50
+ { label: 'Quinta', value: 'Thursday' },
51
+ { label: 'Sexta', value: 'Friday' },
52
+ { label: 'Sábado', value: 'Saturday' }
53
+ ];
54
+ this.zoomRpwServiceColumns = [
55
+ { property: 'code', label: 'Servidor', type: 'string', width: '20%' },
56
+ { property: 'name', label: 'Descrição', type: 'string', width: '80%' }
57
+ ];
58
+ this.model = new ScheduleParameters();
59
+ this.model.executionType = 1;
60
+ this.model.repeatType = 1;
61
+ this.model.repeatExecution = false;
62
+ }
63
+ setScheduleParameters(schParam) {
64
+ if (!schParam) {
65
+ return;
66
+ }
67
+ this.model = schParam;
68
+ }
69
+ fieldRpwServiceFormat(value) {
70
+ return `${value.code} - ${value.name}`;
71
+ }
72
+ isExecutionSchedule() {
73
+ return (this.model.executionType === 2);
74
+ }
75
+ isRepeatExecution() {
76
+ return this.model.repeatExecution;
77
+ }
78
+ isFrenquency() {
79
+ return (this.model.frequency === 'yes');
80
+ }
81
+ changeRepeatExecution() {
82
+ const date = new Date();
83
+ if (!this.model.execAppointHourInit) {
84
+ this.model.execAppointHourInit = `${this.addZero(date.getHours())}:${this.addZero(date.getMinutes())}`;
85
+ }
86
+ if (!this.model.execAppointHourFinal) {
87
+ this.model.execAppointHourFinal = `${this.addZero(date.getHours())}:${this.addZero(date.getMinutes())}`;
88
+ }
89
+ this.model.selectWeeklys = [];
90
+ this.model.dayOfMonth = 0;
91
+ this.model.frequency = 'no';
92
+ this.model.frequencyType = 'hour';
93
+ this.model.frequencyValue = 0;
94
+ }
95
+ changeExecutionType() {
96
+ const date = new Date();
97
+ this.model.execAppointDate = date;
98
+ this.model.execAppointHour = `${this.addZero(date.getHours())}:${this.addZero(date.getMinutes())}`;
99
+ }
100
+ changeTypeFrequency() {
101
+ }
102
+ getActiveTab(codTab) {
103
+ return (this.model.repeatType === codTab);
104
+ }
105
+ setActiveTab(codTab) {
106
+ this.model.repeatType = codTab;
107
+ }
108
+ addZero(num) {
109
+ let str = `${num}`;
110
+ if (num < 10) {
111
+ str = `0${num}`;
112
+ }
113
+ return str;
114
+ }
115
+ executeSchedule() {
116
+ if (this.disabledParams) {
117
+ return;
118
+ }
119
+ if (!this.validate()) {
120
+ return;
121
+ }
122
+ this.jsonObject = {};
123
+ this.jsonObject.status = 'active';
124
+ this.jsonObject.processID = this.programName;
125
+ this.jsonObject.recurrent = this.model.repeatExecution;
126
+ this.jsonObject.executionParameter = {};
127
+ if (this.model.executionType === 1) {
128
+ const date = new Date();
129
+ this.jsonObject.firstExecution = `${date.getFullYear()}-${(date.getMonth() + 1)}-${date.getDate()}T${this.addZero(date.getHours())}:${this.addZero(date.getMinutes())}:00.000Z`;
130
+ }
131
+ if (this.model.executionType === 2) {
132
+ this.jsonObject.firstExecution = `${this.model.execAppointDate}T${this.model.execAppointHour}:00.000Z`;
133
+ }
134
+ this.jsonObject.executionParameter.parametros = [];
135
+ this.jsonObject.executionParameter.parametros[0] = { chave: 'rpwServer', valor: this.model.executionServer };
136
+ this.jsonObject.executionParameter.parametros[1] = { chave: 'RPW_PROGRAM', valor: this.externalName };
137
+ this.jsonObject.executionParameter.parametros[2] = { chave: 'RPW_PRG_EMS5', valor: this.programEMS5 ? 'yes' : 'no' };
138
+ this.jsonObject.executionParameter.parametros[3] = { chave: 'RPW_PRG_VERS', valor: this.programVersion };
139
+ this.jsonObject.executionParameter.parametros[4] = {};
140
+ this.jsonObject.executionParameter.parametros[4].parametros_negocio = this.parameters;
141
+ // Executa hoje ou agendada
142
+ this.rpwService.createExecution(this.jsonObject, this.loading).subscribe(() => {
143
+ this.poNotification.success('Agendamento realizado com sucesso !');
144
+ });
145
+ if (this.model.repeatExecution) {
146
+ if (this.model.repeatType === 1) {
147
+ this.jsonObject.daily = {
148
+ hour: this.getHourOrMinute(this.model.execAppointHourInit, 'h'),
149
+ minute: this.getHourOrMinute(this.model.execAppointHourInit, 'm')
150
+ };
151
+ }
152
+ if (this.model.repeatType === 2) {
153
+ this.jsonObject.weekly = {
154
+ hour: this.getHourOrMinute(this.model.execAppointHourInit, 'h'),
155
+ minute: this.getHourOrMinute(this.model.execAppointHourInit, 'm'),
156
+ daysOfWeek: this.model.selectWeeklys
157
+ };
158
+ }
159
+ if (this.model.repeatType === 3) {
160
+ this.jsonObject.monthly = {
161
+ hour: this.getHourOrMinute(this.model.execAppointHourInit, 'h'),
162
+ minute: this.getHourOrMinute(this.model.execAppointHourInit, 'm'),
163
+ day: this.model.dayOfMonth
164
+ };
165
+ }
166
+ if (this.isFrenquency()) {
167
+ this.jsonObject.rangeExecutions = {
168
+ frequency: {
169
+ type: this.model.frequencyType,
170
+ value: this.model.frequencyValue
171
+ },
172
+ rangeLimit: {
173
+ hour: this.getHourOrMinute(this.model.execAppointHourFinal, 'h'),
174
+ minute: this.getHourOrMinute(this.model.execAppointHourFinal, 'm')
175
+ }
176
+ };
177
+ }
178
+ // Executa a diária, semanal ou mensal
179
+ this.rpwService.createExecution(this.jsonObject, this.loading).subscribe(() => {
180
+ });
181
+ }
182
+ this.endExecution.emit(this.model);
183
+ }
184
+ getHourOrMinute(value, type) {
185
+ if (type === 'h') {
186
+ return +value.substring(0, 2);
187
+ }
188
+ if (type === 'm') {
189
+ return +value.substring(3, 6);
190
+ }
191
+ }
192
+ compareHour(hourInit, hourFinal) {
193
+ if (hourInit === hourFinal) {
194
+ return false;
195
+ }
196
+ if (this.getHourOrMinute(hourInit, 'h') < this.getHourOrMinute(hourFinal, 'h')) {
197
+ return true;
198
+ }
199
+ if (this.getHourOrMinute(hourInit, 'm') > this.getHourOrMinute(hourFinal, 'm')) {
200
+ return false;
201
+ }
202
+ return true;
203
+ }
204
+ validate() {
205
+ if (!this.scheduleExecutionForm.valid) {
206
+ this.poNotification.error('Verifique as inconsistências em tela.');
207
+ return false;
208
+ }
209
+ if (!this.model.executionServer) {
210
+ this.poNotification.error('Servidor de Execução não foi informado.');
211
+ return false;
212
+ }
213
+ if (this.isExecutionSchedule() && (!this.model.execAppointDate || !this.model.execAppointHour)) {
214
+ this.poNotification.error('Informar a data e a hora para agendamento da execução.');
215
+ return false;
216
+ }
217
+ if (this.model.repeatExecution) {
218
+ if (!this.model.execAppointHourInit) {
219
+ this.poNotification.error('Informar a hora de início para a execução.');
220
+ return false;
221
+ }
222
+ if (this.model.repeatType === 2 && (this.model.selectWeeklys.length === 0)) {
223
+ this.poNotification.error('Informar os dias da semana para a execução.');
224
+ return false;
225
+ }
226
+ if (this.model.repeatType === 3 && (!this.model.dayOfMonth)) {
227
+ this.poNotification.error('Informar o dia para a execução.');
228
+ return false;
229
+ }
230
+ if (this.isFrenquency()) {
231
+ if (!this.compareHour(this.model.execAppointHourInit, this.model.execAppointHourFinal)) {
232
+ this.poNotification.error('Hora Fim deve ser maior que Hora Início.');
233
+ return false;
234
+ }
235
+ if (this.model.frequencyValue === 0) {
236
+ this.poNotification.error('Informar a frequência de execução (A cada hora/minuto).');
237
+ return false;
238
+ }
239
+ }
240
+ }
241
+ return true;
242
+ }
243
+ }
244
+ /** @nocollapse */ TotvsScheduleExecutionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TotvsScheduleExecutionComponent, deps: [{ token: i1.PoI18nService }, { token: i2.TotvsScheduleExecutionService }, { token: i1.PoNotificationService }], target: i0.ɵɵFactoryTarget.Component });
245
+ /** @nocollapse */ TotvsScheduleExecutionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TotvsScheduleExecutionComponent, selector: "app-totvs-schedule-execution", inputs: { programName: "programName", externalName: "externalName", programEMS5: "programEMS5", programVersion: "programVersion", parameters: "parameters", disabledParams: "disabledParams", loading: "loading" }, outputs: { endExecution: "endExecution" }, viewQueries: [{ propertyName: "scheduleExecutionForm", first: true, predicate: ["scheduleExecutionForm"], descendants: true, static: true }], ngImport: i0, template: "<form #scheduleExecutionForm=\"ngForm\">\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-radio-group \r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"executionType\"\r\n p-label=\"Data de Execu\u00E7\u00E3o\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.executionType\"\r\n [p-options]=\"executionTypeOptions\"\r\n (p-change)=\"changeExecutionType()\">\r\n </po-radio-group>\r\n\r\n <po-datepicker *ngIf=isExecutionSchedule()\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"model.execAppointDate\"\r\n p-label=\"Agendar para\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointDate\">\r\n </po-datepicker>\r\n\r\n <po-input *ngIf=isExecutionSchedule()\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHour\"\r\n p-label=\"Hora\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHour\">\r\n </po-input>\r\n </div>\r\n\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-lookup\r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"executionServer\"\r\n p-label=\"Servidor de Execu\u00E7\u00E3o\"\r\n p-placeholder=\"Servidor de Execu\u00E7\u00E3o\"\r\n [p-columns]=\"zoomRpwServiceColumns\"\r\n [p-field-format]=\"fieldRpwServiceFormat\"\r\n [p-filter-service]=\"rpwService\"\r\n p-field-label=\"name\"\r\n p-field-value=\"code\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.executionServer\">\r\n </po-lookup>\r\n </div>\r\n\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-switch\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"repeatExecution\"\r\n p-label=\"Repetir ocorr\u00EAncia ?\"\r\n p-label-off=\"N\u00E3o\"\r\n p-label-on=\"Sim\"\r\n [(ngModel)]=\"model.repeatExecution\"\r\n [p-disabled]=\"disabledParams\"\r\n (click)=\"changeRepeatExecution()\">\r\n </po-switch>\r\n </div>\r\n\r\n <div class=\"po-row\" *ngIf=\"isRepeatExecution()\">\r\n \r\n <po-tabs>\r\n\r\n <po-tab \r\n p-label=\"Di\u00E1ria\" \r\n [p-active]=\"getActiveTab(1)\" \r\n (p-click)=\"setActiveTab(1)\">\r\n\r\n <div class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-radio-group \r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"frequencyDaily\"\r\n p-label=\"Frequ\u00EAncia\"\r\n p-columns=1\r\n [(ngModel)]=\"model.frequency\"\r\n [p-disabled]=\"disabledParams\"\r\n [p-options]=\"frequencyOptions\"\r\n (p-change)=\"changeTypeFrequency()\">\r\n </po-radio-group>\r\n </div>\r\n \r\n <div class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"> \r\n <po-input\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourInitDaily\"\r\n p-label=\"Hora In\u00EDcio\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourInit\">\r\n </po-input>\r\n \r\n <po-input *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourFinalDaily\"\r\n p-label=\"Hora Fim\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourFinal\">\r\n </po-input>\r\n \r\n <po-number *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-5 po-md-5 po-lg-5 po-xl-5\"\r\n name=\"frequencyValueDaily\"\r\n p-label=\"A cada\"\r\n p-minlength=\"1\"\r\n p-maxlength=\"3\"\r\n p-min=\"0\"\r\n p-max=\"999\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyValue\">\r\n </po-number>\r\n \r\n <po-select *ngIf=\"isFrenquency()\"\r\n class=\"po-mt-3 po-sm-7 po-md-7 po-lg-7 po-xl-7\"\r\n name=\"frequencyTypeDaily\"\r\n p-label=\"\"\r\n [p-options]=\"frequencyTypeOptions\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyType\">\r\n </po-select>\r\n </div>\r\n </po-tab>\r\n\r\n <po-tab \r\n p-label=\"Semanal\"\r\n [p-active]=\"getActiveTab(2)\"\r\n (p-click)=\"setActiveTab(2)\">\r\n\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-multiselect\r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"selectWeeklys\"\r\n p-label=\"Dias da Semana\"\r\n p-placeholder=\"Escolha os dias da semana\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.selectWeeklys\"\r\n [p-options]=\"weeklyOptions\">\r\n </po-multiselect>\r\n </div>\r\n\r\n <div class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-radio-group \r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"frequencyWeekly\"\r\n p-label=\"Frequ\u00EAncia\"\r\n p-columns=1\r\n [(ngModel)]=\"model.frequency\"\r\n [p-disabled]=\"disabledParams\"\r\n [p-options]=\"frequencyOptions\"\r\n (p-change)=\"changeTypeFrequency()\">\r\n </po-radio-group>\r\n </div>\r\n\r\n <div class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-input\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourInitWeekly\"\r\n p-label=\"Hora In\u00EDcio\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourInit\">\r\n </po-input>\r\n\r\n <po-input *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourFinalWeekly\"\r\n p-label=\"Hora Fim\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourFinal\">\r\n </po-input>\r\n\r\n <po-number *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-5 po-md-5 po-lg-5 po-xl-5\"\r\n name=\"frequencyValueWeekly\"\r\n p-label=\"A cada\"\r\n p-minlength=\"1\"\r\n p-maxlength=\"3\"\r\n p-min=\"0\"\r\n p-max=\"999\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyValue\">\r\n </po-number>\r\n\r\n <po-select *ngIf=\"isFrenquency()\"\r\n class=\"po-mt-3 po-sm-7 po-md-7 po-lg-7 po-xl-7\"\r\n name=\"frequencyTypeWeekly\"\r\n p-label=\"\"\r\n [p-options]=\"frequencyTypeOptions\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyType\">\r\n </po-select>\r\n </div>\r\n </po-tab>\r\n\r\n <po-tab \r\n p-label=\"Mensal\" \r\n [p-active]=\"getActiveTab(3)\" \r\n (p-click)=\"setActiveTab(3)\">\r\n\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-number\r\n class=\"po-sm-3 po-md-3 po-lg-3 po-xl-3\"\r\n name=\"dayOfMonth\"\r\n p-label=\"Dia do m\u00EAs\"\r\n p-minlength=\"1\"\r\n p-maxlength=\"2\"\r\n p-min=\"0\"\r\n p-max=\"31\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.dayOfMonth\">\r\n </po-number>\r\n </div>\r\n\r\n <div class=\"po-row po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-radio-group \r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"frequencyMonthly\"\r\n p-label=\"Frequ\u00EAncia\"\r\n p-columns=1\r\n [(ngModel)]=\"model.frequency\"\r\n [p-disabled]=\"disabledParams\"\r\n [p-options]=\"frequencyOptions\"\r\n (p-change)=\"changeTypeFrequency()\">\r\n </po-radio-group>\r\n </div>\r\n\r\n <div class=\"po-row po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-input\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourInitMonthly\"\r\n p-label=\"Hora In\u00EDcio\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourInit\">\r\n </po-input>\r\n\r\n <po-input *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourFinalWeekly\"\r\n p-label=\"Hora Fim\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourFinal\">\r\n </po-input>\r\n\r\n <po-number *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-5 po-md-5 po-lg-5 po-xl-5\"\r\n name=\"frequencyValueWeekly\"\r\n p-label=\"A cada\"\r\n p-minlength=\"1\"\r\n p-maxlength=\"3\"\r\n p-min=\"0\"\r\n p-max=\"999\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyValue\">\r\n </po-number>\r\n\r\n <po-select *ngIf=\"isFrenquency()\"\r\n class=\"po-mt-3 po-sm-7 po-md-7 po-lg-7 po-xl-7\"\r\n name=\"frequencyTypeWeekly\"\r\n p-label=\"\"\r\n [p-options]=\"frequencyTypeOptions\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyType\">\r\n </po-select>\r\n </div>\r\n </po-tab>\r\n </po-tabs>\r\n </div>\r\n\r\n <div class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\" style=\"padding-top: 15px;\">\r\n <po-button\r\n style=\"float: right;\"\r\n p-label=\"Gerar Agendamento RPW\"\r\n [p-disabled]=\"disabledParams\"\r\n (click)=\"executeSchedule()\">\r\n </po-button>\r\n </div>\r\n</form>\r\n", styles: [""], components: [{ type: i1.PoRadioGroupComponent, selector: "po-radio-group", inputs: ["p-label", "p-help"] }, { type: i1.PoDatepickerComponent, selector: "po-datepicker", inputs: ["p-label", "p-help"] }, { type: i1.PoInputComponent, selector: "po-input" }, { type: i1.PoLookupComponent, selector: "po-lookup" }, { type: i1.PoSwitchComponent, selector: "po-switch", inputs: ["p-label-position", "p-label-off", "p-label-on"] }, { type: i1.PoTabsComponent, selector: "po-tabs" }, { type: i1.PoTabComponent, selector: "po-tab" }, { type: i1.PoNumberComponent, selector: "po-number", inputs: ["p-step", "p-min", "p-max"] }, { type: i1.PoSelectComponent, selector: "po-select", inputs: ["p-readonly", "p-placeholder", "p-options"], outputs: ["ngModelChange"] }, { type: i1.PoMultiselectComponent, selector: "po-multiselect" }, { type: i1.PoButtonComponent, selector: "po-button" }], directives: [{ type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TotvsScheduleExecutionComponent, decorators: [{
247
+ type: Component,
248
+ args: [{ selector: 'app-totvs-schedule-execution', template: "<form #scheduleExecutionForm=\"ngForm\">\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-radio-group \r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"executionType\"\r\n p-label=\"Data de Execu\u00E7\u00E3o\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.executionType\"\r\n [p-options]=\"executionTypeOptions\"\r\n (p-change)=\"changeExecutionType()\">\r\n </po-radio-group>\r\n\r\n <po-datepicker *ngIf=isExecutionSchedule()\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"model.execAppointDate\"\r\n p-label=\"Agendar para\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointDate\">\r\n </po-datepicker>\r\n\r\n <po-input *ngIf=isExecutionSchedule()\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHour\"\r\n p-label=\"Hora\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHour\">\r\n </po-input>\r\n </div>\r\n\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-lookup\r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"executionServer\"\r\n p-label=\"Servidor de Execu\u00E7\u00E3o\"\r\n p-placeholder=\"Servidor de Execu\u00E7\u00E3o\"\r\n [p-columns]=\"zoomRpwServiceColumns\"\r\n [p-field-format]=\"fieldRpwServiceFormat\"\r\n [p-filter-service]=\"rpwService\"\r\n p-field-label=\"name\"\r\n p-field-value=\"code\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.executionServer\">\r\n </po-lookup>\r\n </div>\r\n\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-switch\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"repeatExecution\"\r\n p-label=\"Repetir ocorr\u00EAncia ?\"\r\n p-label-off=\"N\u00E3o\"\r\n p-label-on=\"Sim\"\r\n [(ngModel)]=\"model.repeatExecution\"\r\n [p-disabled]=\"disabledParams\"\r\n (click)=\"changeRepeatExecution()\">\r\n </po-switch>\r\n </div>\r\n\r\n <div class=\"po-row\" *ngIf=\"isRepeatExecution()\">\r\n \r\n <po-tabs>\r\n\r\n <po-tab \r\n p-label=\"Di\u00E1ria\" \r\n [p-active]=\"getActiveTab(1)\" \r\n (p-click)=\"setActiveTab(1)\">\r\n\r\n <div class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-radio-group \r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"frequencyDaily\"\r\n p-label=\"Frequ\u00EAncia\"\r\n p-columns=1\r\n [(ngModel)]=\"model.frequency\"\r\n [p-disabled]=\"disabledParams\"\r\n [p-options]=\"frequencyOptions\"\r\n (p-change)=\"changeTypeFrequency()\">\r\n </po-radio-group>\r\n </div>\r\n \r\n <div class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"> \r\n <po-input\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourInitDaily\"\r\n p-label=\"Hora In\u00EDcio\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourInit\">\r\n </po-input>\r\n \r\n <po-input *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourFinalDaily\"\r\n p-label=\"Hora Fim\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourFinal\">\r\n </po-input>\r\n \r\n <po-number *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-5 po-md-5 po-lg-5 po-xl-5\"\r\n name=\"frequencyValueDaily\"\r\n p-label=\"A cada\"\r\n p-minlength=\"1\"\r\n p-maxlength=\"3\"\r\n p-min=\"0\"\r\n p-max=\"999\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyValue\">\r\n </po-number>\r\n \r\n <po-select *ngIf=\"isFrenquency()\"\r\n class=\"po-mt-3 po-sm-7 po-md-7 po-lg-7 po-xl-7\"\r\n name=\"frequencyTypeDaily\"\r\n p-label=\"\"\r\n [p-options]=\"frequencyTypeOptions\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyType\">\r\n </po-select>\r\n </div>\r\n </po-tab>\r\n\r\n <po-tab \r\n p-label=\"Semanal\"\r\n [p-active]=\"getActiveTab(2)\"\r\n (p-click)=\"setActiveTab(2)\">\r\n\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-multiselect\r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"selectWeeklys\"\r\n p-label=\"Dias da Semana\"\r\n p-placeholder=\"Escolha os dias da semana\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.selectWeeklys\"\r\n [p-options]=\"weeklyOptions\">\r\n </po-multiselect>\r\n </div>\r\n\r\n <div class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-radio-group \r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"frequencyWeekly\"\r\n p-label=\"Frequ\u00EAncia\"\r\n p-columns=1\r\n [(ngModel)]=\"model.frequency\"\r\n [p-disabled]=\"disabledParams\"\r\n [p-options]=\"frequencyOptions\"\r\n (p-change)=\"changeTypeFrequency()\">\r\n </po-radio-group>\r\n </div>\r\n\r\n <div class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-input\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourInitWeekly\"\r\n p-label=\"Hora In\u00EDcio\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourInit\">\r\n </po-input>\r\n\r\n <po-input *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourFinalWeekly\"\r\n p-label=\"Hora Fim\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourFinal\">\r\n </po-input>\r\n\r\n <po-number *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-5 po-md-5 po-lg-5 po-xl-5\"\r\n name=\"frequencyValueWeekly\"\r\n p-label=\"A cada\"\r\n p-minlength=\"1\"\r\n p-maxlength=\"3\"\r\n p-min=\"0\"\r\n p-max=\"999\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyValue\">\r\n </po-number>\r\n\r\n <po-select *ngIf=\"isFrenquency()\"\r\n class=\"po-mt-3 po-sm-7 po-md-7 po-lg-7 po-xl-7\"\r\n name=\"frequencyTypeWeekly\"\r\n p-label=\"\"\r\n [p-options]=\"frequencyTypeOptions\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyType\">\r\n </po-select>\r\n </div>\r\n </po-tab>\r\n\r\n <po-tab \r\n p-label=\"Mensal\" \r\n [p-active]=\"getActiveTab(3)\" \r\n (p-click)=\"setActiveTab(3)\">\r\n\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-number\r\n class=\"po-sm-3 po-md-3 po-lg-3 po-xl-3\"\r\n name=\"dayOfMonth\"\r\n p-label=\"Dia do m\u00EAs\"\r\n p-minlength=\"1\"\r\n p-maxlength=\"2\"\r\n p-min=\"0\"\r\n p-max=\"31\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.dayOfMonth\">\r\n </po-number>\r\n </div>\r\n\r\n <div class=\"po-row po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-radio-group \r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"frequencyMonthly\"\r\n p-label=\"Frequ\u00EAncia\"\r\n p-columns=1\r\n [(ngModel)]=\"model.frequency\"\r\n [p-disabled]=\"disabledParams\"\r\n [p-options]=\"frequencyOptions\"\r\n (p-change)=\"changeTypeFrequency()\">\r\n </po-radio-group>\r\n </div>\r\n\r\n <div class=\"po-row po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-input\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourInitMonthly\"\r\n p-label=\"Hora In\u00EDcio\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourInit\">\r\n </po-input>\r\n\r\n <po-input *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourFinalWeekly\"\r\n p-label=\"Hora Fim\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourFinal\">\r\n </po-input>\r\n\r\n <po-number *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-5 po-md-5 po-lg-5 po-xl-5\"\r\n name=\"frequencyValueWeekly\"\r\n p-label=\"A cada\"\r\n p-minlength=\"1\"\r\n p-maxlength=\"3\"\r\n p-min=\"0\"\r\n p-max=\"999\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyValue\">\r\n </po-number>\r\n\r\n <po-select *ngIf=\"isFrenquency()\"\r\n class=\"po-mt-3 po-sm-7 po-md-7 po-lg-7 po-xl-7\"\r\n name=\"frequencyTypeWeekly\"\r\n p-label=\"\"\r\n [p-options]=\"frequencyTypeOptions\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyType\">\r\n </po-select>\r\n </div>\r\n </po-tab>\r\n </po-tabs>\r\n </div>\r\n\r\n <div class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\" style=\"padding-top: 15px;\">\r\n <po-button\r\n style=\"float: right;\"\r\n p-label=\"Gerar Agendamento RPW\"\r\n [p-disabled]=\"disabledParams\"\r\n (click)=\"executeSchedule()\">\r\n </po-button>\r\n </div>\r\n</form>\r\n", styles: [""] }]
249
+ }], ctorParameters: function () { return [{ type: i1.PoI18nService }, { type: i2.TotvsScheduleExecutionService }, { type: i1.PoNotificationService }]; }, propDecorators: { scheduleExecutionForm: [{
250
+ type: ViewChild,
251
+ args: ['scheduleExecutionForm', { static: true }]
252
+ }], programName: [{
253
+ type: Input
254
+ }], externalName: [{
255
+ type: Input
256
+ }], programEMS5: [{
257
+ type: Input
258
+ }], programVersion: [{
259
+ type: Input
260
+ }], parameters: [{
261
+ type: Input
262
+ }], disabledParams: [{
263
+ type: Input
264
+ }], loading: [{
265
+ type: Input
266
+ }], endExecution: [{
267
+ type: Output
268
+ }] } });
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R0cy1iYWNrb2ZmaWNlLXV0aWwvc3JjL2xpYi9jb21wb25lbnRzL3RvdHZzLXNjaGVkdWxlLWV4ZWN1dGlvbi90b3R2cy1zY2hlZHVsZS1leGVjdXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHRzLWJhY2tvZmZpY2UtdXRpbC9zcmMvbGliL2NvbXBvbmVudHMvdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uL3RvdHZzLXNjaGVkdWxlLWV4ZWN1dGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQXVCLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQVUzRixNQUFNLE9BQU8sK0JBQStCO0lBWXhDLFlBQ1csYUFBNEIsRUFDNUIsVUFBeUMsRUFDekMsY0FBcUM7UUFGckMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBK0I7UUFDekMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBVnZDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBRXBCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDZixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFjcEMsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUU3QixhQUFRLEdBQVEsRUFBRSxDQUFDO0lBVm5CLENBQUM7SUFZRCxRQUFRO1FBQ0o7Ozs7Ozs7ZUFPTztRQUVQLElBQUksQ0FBQyxl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LDBDQUEwQyxDQUFDLENBQUM7b0JBQ3RFLE9BQU8sS0FBSyxDQUFDO2lCQUNoQjtnQkFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxLQUFLLENBQUMsRUFBRTtvQkFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztvQkFDckYsT0FBTyxLQUFLLENBQUM7aUJBQ2hCO2FBQ0o7U0FDSjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7O2dKQS9RUSwrQkFBK0I7b0lBQS9CLCtCQUErQixpZENaNUMsaXdiQTZTQTs0RkRqU2EsK0JBQStCO2tCQU4zQyxTQUFTOytCQUNJLDhCQUE4QjtvTEFNYyxxQkFBcUI7c0JBQTFFLFNBQVM7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUUzQyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVmlld0NoaWxkLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQb1JhZGlvR3JvdXBPcHRpb24sIFBvSTE4blNlcnZpY2UsIFBvTm90aWZpY2F0aW9uU2VydmljZSwgUG9Mb29rdXBDb2x1bW4gfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IElTY2hlZHVsZVBhcmFtZXRlcnMsIFNjaGVkdWxlUGFyYW1ldGVycyB9IGZyb20gJy4vdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUb3R2c1NjaGVkdWxlRXhlY3V0aW9uU2VydmljZSB9IGZyb20gJy4vdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC10b3R2cy1zY2hlZHVsZS1leGVjdXRpb24nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvdHZzLXNjaGVkdWxlLWV4ZWN1dGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi90b3R2cy1zY2hlZHVsZS1leGVjdXRpb24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgVG90dnNTY2hlZHVsZUV4ZWN1dGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKCdzY2hlZHVsZUV4ZWN1dGlvbkZvcm0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBzY2hlZHVsZUV4ZWN1dGlvbkZvcm06IE5nRm9ybTtcclxuXHJcbiAgICBASW5wdXQoKSBwcm9ncmFtTmFtZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZXh0ZXJuYWxOYW1lOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBwcm9ncmFtRU1TNSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgcHJvZ3JhbVZlcnNpb24gPSAnJztcclxuICAgIEBJbnB1dCgpIHBhcmFtZXRlcnM6IFtdO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWRQYXJhbXMgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSBlbmRFeGVjdXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIHBvSTE4blNlcnZpY2U6IFBvSTE4blNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIHJwd1NlcnZpY2U6IFRvdHZzU2NoZWR1bGVFeGVjdXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBwb05vdGlmaWNhdGlvbjogUG9Ob3RpZmljYXRpb25TZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgZXhlY3V0aW9uVHlwZU9wdGlvbnM6IEFycmF5PFBvUmFkaW9Hcm91cE9wdGlvbj47XHJcbiAgICBmcmVxdWVuY3lPcHRpb25zOiBBcnJheTxQb1JhZGlvR3JvdXBPcHRpb24+O1xyXG4gICAgZnJlcXVlbmN5VHlwZU9wdGlvbnM6IEFycmF5PFBvUmFkaW9Hcm91cE9wdGlvbj47XHJcbiAgICB3ZWVrbHlPcHRpb25zOiBBcnJheTxQb1JhZGlvR3JvdXBPcHRpb24+O1xyXG4gICAgem9vbVJwd1NlcnZpY2VDb2x1bW5zOiBBcnJheTxQb0xvb2t1cENvbHVtbj47XHJcbiAgICBtb2RlbDogU2NoZWR1bGVQYXJhbWV0ZXJzO1xyXG4gICAgcHJpdmF0ZSBqc29uT2JqZWN0OiBhbnkgPSB7fTtcclxuXHJcbiAgICBsaXRlcmFsczogYW55ID0ge307XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgLyogVkVSSUZJQ0FSIENPTU8gRklDQVLDgSBBIFRSQURVw4fDg09cclxuICAgICAgICBmb3JrSm9pbihcclxuICAgICAgICAgICAgICB0aGlzLnBvSTE4blNlcnZpY2UuZ2V0TGl0ZXJhbHMoKSxcclxuICAgICAgICAgICAgICB0aGlzLnBvSTE4blNlcnZpY2UuZ2V0TGl0ZXJhbHMoeyBjb250ZXh0OiAnZ2VuZXJhbFJwdycgfSlcclxuICAgICAgICAgICkuc3Vic2NyaWJlKGxpdGVyYWxzID0+IHtcclxuICAgICAgICAgICAgICBsaXRlcmFscy5tYXAoaXRlbSA9PiBPYmplY3QuYXNzaWduKHRoaXMubGl0ZXJhbHMsIGl0ZW0pICk7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXR1cENvbXBvbmVudHMoKTtcclxuICAgICAgICAgIH0pOyovXHJcblxyXG4gICAgICAgIHRoaXMuc2V0dXBDb21wb25lbnRzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0dXBDb21wb25lbnRzKCkge1xyXG4gICAgICAgIHRoaXMuZXhlY3V0aW9uVHlwZU9wdGlvbnMgPSBbXHJcbiAgICAgICAgICAgIHsgbGFiZWw6ICdFeGVjdXRhciBIb2plJywgdmFsdWU6IDEgfSxcclxuICAgICAgICAgICAgeyBsYWJlbDogJ0FnZW5kYXIgRXhlY3XDp8OjbycsIHZhbHVlOiAyIH1cclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeU9wdGlvbnMgPSBbXHJcbiAgICAgICAgICAgIHsgbGFiZWw6ICdVbWEgdmV6IG5vIGRpYScsIHZhbHVlOiAnbm8nIH0sXHJcbiAgICAgICAgICAgIHsgbGFiZWw6ICdWw6FyaWFzIHZlemVzIG5vIGRpYScsIHZhbHVlOiAneWVzJyB9XHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgdGhpcy5mcmVxdWVuY3lUeXBlT3B0aW9ucyA9IFtcclxuICAgICAgICAgICAgeyBsYWJlbDogJ0hvcmEocyknLCB2YWx1ZTogJ2hvdXInIH0sXHJcbiAgICAgICAgICAgIHsgbGFiZWw6ICdNaW51dG8ocyknLCB2YWx1ZTogJ21pbnV0ZScgfVxyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgIHRoaXMud2Vla2x5T3B0aW9ucyA9IFtcclxuICAgICAgICAgICAgeyBsYWJlbDogJ0RvbWluZ28nLCB2YWx1ZTogJ1N1bmRheScgfSxcclxuICAgICAgICAgICAgeyBsYWJlbDogJ1NlZ3VuZGEnLCB2YWx1ZTogJ01vbmRheScgfSxcclxuICAgICAgICAgICAgeyBsYWJlbDogJ1RlcsOnYScsIHZhbHVlOiAnVHVlc2RheScgfSxcclxuICAgICAgICAgICAgeyBsYWJlbDogJ1F1YXJ0YScsIHZhbHVlOiAnV2VkbmVzZGF5JyB9LFxyXG4gICAgICAgICAgICB7IGxhYmVsOiAnUXVpbnRhJywgdmFsdWU6ICdUaHVyc2RheScgfSxcclxuICAgICAgICAgICAgeyBsYWJlbDogJ1NleHRhJywgdmFsdWU6ICdGcmlkYXknIH0sXHJcbiAgICAgICAgICAgIHsgbGFiZWw6ICdTw6FiYWRvJywgdmFsdWU6ICdTYXR1cmRheScgfVxyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgIHRoaXMuem9vbVJwd1NlcnZpY2VDb2x1bW5zID0gW1xyXG4gICAgICAgICAgICB7IHByb3BlcnR5OiAnY29kZScsIGxhYmVsOiAnU2Vydmlkb3InLCB0eXBlOiAnc3RyaW5nJywgd2lkdGg6ICcyMCUnIH0sXHJcbiAgICAgICAgICAgIHsgcHJvcGVydHk6ICduYW1lJywgbGFiZWw6ICdEZXNjcmnDp8OjbycsIHR5cGU6ICdzdHJpbmcnLCB3aWR0aDogJzgwJScgfVxyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgIHRoaXMubW9kZWwgPSBuZXcgU2NoZWR1bGVQYXJhbWV0ZXJzKCk7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5leGVjdXRpb25UeXBlID0gMTtcclxuICAgICAgICB0aGlzLm1vZGVsLnJlcGVhdFR5cGUgPSAxO1xyXG4gICAgICAgIHRoaXMubW9kZWwucmVwZWF0RXhlY3V0aW9uID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFNjaGVkdWxlUGFyYW1ldGVycyhzY2hQYXJhbTogSVNjaGVkdWxlUGFyYW1ldGVycykge1xyXG4gICAgICAgIGlmICghc2NoUGFyYW0pIHsgcmV0dXJuOyB9XHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IHNjaFBhcmFtO1xyXG4gICAgfVxyXG5cclxuICAgIGZpZWxkUnB3U2VydmljZUZvcm1hdCh2YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt2YWx1ZS5jb2RlfSAtICR7dmFsdWUubmFtZX1gO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRXhlY3V0aW9uU2NoZWR1bGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLm1vZGVsLmV4ZWN1dGlvblR5cGUgPT09IDIpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzUmVwZWF0RXhlY3V0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVsLnJlcGVhdEV4ZWN1dGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBpc0ZyZW5xdWVuY3koKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLm1vZGVsLmZyZXF1ZW5jeSA9PT0gJ3llcycpO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZVJlcGVhdEV4ZWN1dGlvbigpIHtcclxuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLm1vZGVsLmV4ZWNBcHBvaW50SG91ckluaXQpIHsgdGhpcy5tb2RlbC5leGVjQXBwb2ludEhvdXJJbml0ID0gYCR7dGhpcy5hZGRaZXJvKGRhdGUuZ2V0SG91cnMoKSl9OiR7dGhpcy5hZGRaZXJvKGRhdGUuZ2V0TWludXRlcygpKX1gOyB9XHJcbiAgICAgICAgaWYgKCF0aGlzLm1vZGVsLmV4ZWNBcHBvaW50SG91ckZpbmFsKSB7IHRoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VyRmluYWwgPSBgJHt0aGlzLmFkZFplcm8oZGF0ZS5nZXRIb3VycygpKX06JHt0aGlzLmFkZFplcm8oZGF0ZS5nZXRNaW51dGVzKCkpfWA7IH1cclxuICAgICAgICB0aGlzLm1vZGVsLnNlbGVjdFdlZWtseXMgPSBbXTtcclxuICAgICAgICB0aGlzLm1vZGVsLmRheU9mTW9udGggPSAwO1xyXG4gICAgICAgIHRoaXMubW9kZWwuZnJlcXVlbmN5ID0gJ25vJztcclxuICAgICAgICB0aGlzLm1vZGVsLmZyZXF1ZW5jeVR5cGUgPSAnaG91cic7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5mcmVxdWVuY3lWYWx1ZSA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlRXhlY3V0aW9uVHlwZSgpIHtcclxuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICAgICAgdGhpcy5tb2RlbC5leGVjQXBwb2ludERhdGUgPSBkYXRlO1xyXG4gICAgICAgIHRoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VyID0gYCR7dGhpcy5hZGRaZXJvKGRhdGUuZ2V0SG91cnMoKSl9OiR7dGhpcy5hZGRaZXJvKGRhdGUuZ2V0TWludXRlcygpKX1gO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZVR5cGVGcmVxdWVuY3koKSB7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QWN0aXZlVGFiKGNvZFRhYjogbnVtYmVyKSB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLm1vZGVsLnJlcGVhdFR5cGUgPT09IGNvZFRhYik7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0QWN0aXZlVGFiKGNvZFRhYjogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5yZXBlYXRUeXBlID0gY29kVGFiO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZFplcm8obnVtOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBzdHIgPSBgJHtudW19YDtcclxuICAgICAgICBpZiAobnVtIDwgMTApIHsgc3RyID0gYDAke251bX1gOyB9XHJcbiAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgIH1cclxuXHJcbiAgICBleGVjdXRlU2NoZWR1bGUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWRQYXJhbXMpIHsgcmV0dXJuOyB9XHJcbiAgICAgICAgaWYgKCF0aGlzLnZhbGlkYXRlKCkpIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgICAgIHRoaXMuanNvbk9iamVjdCA9IHt9O1xyXG4gICAgICAgIHRoaXMuanNvbk9iamVjdC5zdGF0dXMgPSAnYWN0aXZlJztcclxuICAgICAgICB0aGlzLmpzb25PYmplY3QucHJvY2Vzc0lEID0gdGhpcy5wcm9ncmFtTmFtZTtcclxuICAgICAgICB0aGlzLmpzb25PYmplY3QucmVjdXJyZW50ID0gdGhpcy5tb2RlbC5yZXBlYXRFeGVjdXRpb247XHJcbiAgICAgICAgdGhpcy5qc29uT2JqZWN0LmV4ZWN1dGlvblBhcmFtZXRlciA9IHt9O1xyXG5cclxuICAgICAgICBpZiAodGhpcy5tb2RlbC5leGVjdXRpb25UeXBlID09PSAxKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmpzb25PYmplY3QuZmlyc3RFeGVjdXRpb24gPSBgJHtkYXRlLmdldEZ1bGxZZWFyKCl9LSR7KGRhdGUuZ2V0TW9udGgoKSArIDEpfS0ke2RhdGUuZ2V0RGF0ZSgpfVQke3RoaXMuYWRkWmVybyhkYXRlLmdldEhvdXJzKCkpfToke3RoaXMuYWRkWmVybyhkYXRlLmdldE1pbnV0ZXMoKSl9OjAwLjAwMFpgO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5tb2RlbC5leGVjdXRpb25UeXBlID09PSAyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuanNvbk9iamVjdC5maXJzdEV4ZWN1dGlvbiA9IGAke3RoaXMubW9kZWwuZXhlY0FwcG9pbnREYXRlfVQke3RoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VyfTowMC4wMDBaYDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuanNvbk9iamVjdC5leGVjdXRpb25QYXJhbWV0ZXIucGFyYW1ldHJvcyA9IFtdO1xyXG4gICAgICAgIHRoaXMuanNvbk9iamVjdC5leGVjdXRpb25QYXJhbWV0ZXIucGFyYW1ldHJvc1swXSA9IHsgY2hhdmU6ICdycHdTZXJ2ZXInLCB2YWxvcjogdGhpcy5tb2RlbC5leGVjdXRpb25TZXJ2ZXIgfTtcclxuICAgICAgICB0aGlzLmpzb25PYmplY3QuZXhlY3V0aW9uUGFyYW1ldGVyLnBhcmFtZXRyb3NbMV0gPSB7IGNoYXZlOiAnUlBXX1BST0dSQU0nLCB2YWxvcjogdGhpcy5leHRlcm5hbE5hbWUgfTtcclxuICAgICAgICB0aGlzLmpzb25PYmplY3QuZXhlY3V0aW9uUGFyYW1ldGVyLnBhcmFtZXRyb3NbMl0gPSB7IGNoYXZlOiAnUlBXX1BSR19FTVM1JywgdmFsb3I6IHRoaXMucHJvZ3JhbUVNUzUgPyAneWVzJyA6ICdubycgfTtcclxuICAgICAgICB0aGlzLmpzb25PYmplY3QuZXhlY3V0aW9uUGFyYW1ldGVyLnBhcmFtZXRyb3NbM10gPSB7IGNoYXZlOiAnUlBXX1BSR19WRVJTJywgdmFsb3I6IHRoaXMucHJvZ3JhbVZlcnNpb24gfTtcclxuXHJcbiAgICAgICAgdGhpcy5qc29uT2JqZWN0LmV4ZWN1dGlvblBhcmFtZXRlci5wYXJhbWV0cm9zWzRdID0ge307XHJcbiAgICAgICAgdGhpcy5qc29uT2JqZWN0LmV4ZWN1dGlvblBhcmFtZXRlci5wYXJhbWV0cm9zWzRdLnBhcmFtZXRyb3NfbmVnb2NpbyA9IHRoaXMucGFyYW1ldGVycztcclxuXHJcbiAgICAgICAgLy8gRXhlY3V0YSBob2plIG91IGFnZW5kYWRhXHJcbiAgICAgICAgdGhpcy5ycHdTZXJ2aWNlLmNyZWF0ZUV4ZWN1dGlvbih0aGlzLmpzb25PYmplY3QsIHRoaXMubG9hZGluZykuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5wb05vdGlmaWNhdGlvbi5zdWNjZXNzKCdBZ2VuZGFtZW50byByZWFsaXphZG8gY29tIHN1Y2Vzc28gIScpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5tb2RlbC5yZXBlYXRFeGVjdXRpb24pIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWwucmVwZWF0VHlwZSA9PT0gMSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5qc29uT2JqZWN0LmRhaWx5ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGhvdXI6IHRoaXMuZ2V0SG91ck9yTWludXRlKHRoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VySW5pdCwgJ2gnKSxcclxuICAgICAgICAgICAgICAgICAgICBtaW51dGU6IHRoaXMuZ2V0SG91ck9yTWludXRlKHRoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VySW5pdCwgJ20nKVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWwucmVwZWF0VHlwZSA9PT0gMikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5qc29uT2JqZWN0LndlZWtseSA9IHtcclxuICAgICAgICAgICAgICAgICAgICBob3VyOiB0aGlzLmdldEhvdXJPck1pbnV0ZSh0aGlzLm1vZGVsLmV4ZWNBcHBvaW50SG91ckluaXQsICdoJyksXHJcbiAgICAgICAgICAgICAgICAgICAgbWludXRlOiB0aGlzLmdldEhvdXJPck1pbnV0ZSh0aGlzLm1vZGVsLmV4ZWNBcHBvaW50SG91ckluaXQsICdtJyksXHJcbiAgICAgICAgICAgICAgICAgICAgZGF5c09mV2VlazogdGhpcy5tb2RlbC5zZWxlY3RXZWVrbHlzXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5tb2RlbC5yZXBlYXRUeXBlID09PSAzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmpzb25PYmplY3QubW9udGhseSA9IHtcclxuICAgICAgICAgICAgICAgICAgICBob3VyOiB0aGlzLmdldEhvdXJPck1pbnV0ZSh0aGlzLm1vZGVsLmV4ZWNBcHBvaW50SG91ckluaXQsICdoJyksXHJcbiAgICAgICAgICAgICAgICAgICAgbWludXRlOiB0aGlzLmdldEhvdXJPck1pbnV0ZSh0aGlzLm1vZGVsLmV4ZWNBcHBvaW50SG91ckluaXQsICdtJyksXHJcbiAgICAgICAgICAgICAgICAgICAgZGF5OiB0aGlzLm1vZGVsLmRheU9mTW9udGhcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRnJlbnF1ZW5jeSgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmpzb25PYmplY3QucmFuZ2VFeGVjdXRpb25zID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZyZXF1ZW5jeToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiB0aGlzLm1vZGVsLmZyZXF1ZW5jeVR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLm1vZGVsLmZyZXF1ZW5jeVZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICByYW5nZUxpbWl0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhvdXI6IHRoaXMuZ2V0SG91ck9yTWludXRlKHRoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VyRmluYWwsICdoJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbnV0ZTogdGhpcy5nZXRIb3VyT3JNaW51dGUodGhpcy5tb2RlbC5leGVjQXBwb2ludEhvdXJGaW5hbCwgJ20nKVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIEV4ZWN1dGEgYSBkacOhcmlhLCBzZW1hbmFsIG91IG1lbnNhbFxyXG4gICAgICAgICAgICB0aGlzLnJwd1NlcnZpY2UuY3JlYXRlRXhlY3V0aW9uKHRoaXMuanNvbk9iamVjdCwgdGhpcy5sb2FkaW5nKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZW5kRXhlY3V0aW9uLmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SG91ck9yTWludXRlKHZhbHVlOiBzdHJpbmcsIHR5cGU6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgaWYgKHR5cGUgPT09ICdoJykgeyByZXR1cm4gK3ZhbHVlLnN1YnN0cmluZygwLCAyKTsgfVxyXG4gICAgICAgIGlmICh0eXBlID09PSAnbScpIHsgcmV0dXJuICt2YWx1ZS5zdWJzdHJpbmcoMywgNik7IH1cclxuICAgIH1cclxuXHJcbiAgICBjb21wYXJlSG91cihob3VySW5pdDogc3RyaW5nLCBob3VyRmluYWw6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmIChob3VySW5pdCA9PT0gaG91ckZpbmFsKSB7IHJldHVybiBmYWxzZTsgfVxyXG4gICAgICAgIGlmICh0aGlzLmdldEhvdXJPck1pbnV0ZShob3VySW5pdCwgJ2gnKSA8IHRoaXMuZ2V0SG91ck9yTWludXRlKGhvdXJGaW5hbCwgJ2gnKSkgeyByZXR1cm4gdHJ1ZTsgfVxyXG4gICAgICAgIGlmICh0aGlzLmdldEhvdXJPck1pbnV0ZShob3VySW5pdCwgJ20nKSA+IHRoaXMuZ2V0SG91ck9yTWludXRlKGhvdXJGaW5hbCwgJ20nKSkgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICB2YWxpZGF0ZSgpOiBib29sZWFuIHtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLnNjaGVkdWxlRXhlY3V0aW9uRm9ybS52YWxpZCkge1xyXG4gICAgICAgICAgICB0aGlzLnBvTm90aWZpY2F0aW9uLmVycm9yKCdWZXJpZmlxdWUgYXMgaW5jb25zaXN0w6puY2lhcyBlbSB0ZWxhLicpO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMubW9kZWwuZXhlY3V0aW9uU2VydmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9Ob3RpZmljYXRpb24uZXJyb3IoJ1NlcnZpZG9yIGRlIEV4ZWN1w6fDo28gbsOjbyBmb2kgaW5mb3JtYWRvLicpO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5pc0V4ZWN1dGlvblNjaGVkdWxlKCkgJiYgKCF0aGlzLm1vZGVsLmV4ZWNBcHBvaW50RGF0ZSB8fCAhdGhpcy5tb2RlbC5leGVjQXBwb2ludEhvdXIpKSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9Ob3RpZmljYXRpb24uZXJyb3IoJ0luZm9ybWFyIGEgZGF0YSBlIGEgaG9yYSBwYXJhIGFnZW5kYW1lbnRvIGRhIGV4ZWN1w6fDo28uJyk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm1vZGVsLnJlcGVhdEV4ZWN1dGlvbikge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VySW5pdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wb05vdGlmaWNhdGlvbi5lcnJvcignSW5mb3JtYXIgYSBob3JhIGRlIGluw61jaW8gcGFyYSBhIGV4ZWN1w6fDo28uJyk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsLnJlcGVhdFR5cGUgPT09IDIgJiYgKHRoaXMubW9kZWwuc2VsZWN0V2Vla2x5cy5sZW5ndGggPT09IDApKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvTm90aWZpY2F0aW9uLmVycm9yKCdJbmZvcm1hciBvcyBkaWFzIGRhIHNlbWFuYSBwYXJhIGEgZXhlY3XDp8Ojby4nKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWwucmVwZWF0VHlwZSA9PT0gMyAmJiAoIXRoaXMubW9kZWwuZGF5T2ZNb250aCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucG9Ob3RpZmljYXRpb24uZXJyb3IoJ0luZm9ybWFyIG8gZGlhIHBhcmEgYSBleGVjdcOnw6NvLicpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5pc0ZyZW5xdWVuY3koKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNvbXBhcmVIb3VyKHRoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VySW5pdCwgdGhpcy5tb2RlbC5leGVjQXBwb2ludEhvdXJGaW5hbCkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvTm90aWZpY2F0aW9uLmVycm9yKCdIb3JhIEZpbSBkZXZlIHNlciBtYWlvciBxdWUgSG9yYSBJbsOtY2lvLicpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tb2RlbC5mcmVxdWVuY3lWYWx1ZSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9Ob3RpZmljYXRpb24uZXJyb3IoJ0luZm9ybWFyIGEgZnJlcXXDqm5jaWEgZGUgZXhlY3XDp8OjbyAoQSBjYWRhIGhvcmEvbWludXRvKS4nKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmb3JtICNzY2hlZHVsZUV4ZWN1dGlvbkZvcm09XCJuZ0Zvcm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwby1yb3cgcG8tc20tMTIgcG8tbWQtMTIgcG8tbGctMTIgcG8teGwtMTJcIj5cclxuICAgICAgICA8cG8tcmFkaW8tZ3JvdXAgXHJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tc20tMTIgcG8tbWQtMTIgcG8tbGctMTIgcG8teGwtMTJcIlxyXG4gICAgICAgICAgICBuYW1lPVwiZXhlY3V0aW9uVHlwZVwiXHJcbiAgICAgICAgICAgIHAtbGFiZWw9XCJEYXRhIGRlIEV4ZWN1w6fDo29cIlxyXG4gICAgICAgICAgICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFBhcmFtc1wiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWwuZXhlY3V0aW9uVHlwZVwiXHJcbiAgICAgICAgICAgIFtwLW9wdGlvbnNdPVwiZXhlY3V0aW9uVHlwZU9wdGlvbnNcIlxyXG4gICAgICAgICAgICAocC1jaGFuZ2UpPVwiY2hhbmdlRXhlY3V0aW9uVHlwZSgpXCI+XHJcbiAgICAgICAgPC9wby1yYWRpby1ncm91cD5cclxuXHJcbiAgICAgICAgPHBvLWRhdGVwaWNrZXIgKm5nSWY9aXNFeGVjdXRpb25TY2hlZHVsZSgpXHJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tc20tNiBwby1tZC02IHBvLWxnLTYgcG8teGwtNlwiXHJcbiAgICAgICAgICAgIG5hbWU9XCJtb2RlbC5leGVjQXBwb2ludERhdGVcIlxyXG4gICAgICAgICAgICBwLWxhYmVsPVwiQWdlbmRhciBwYXJhXCJcclxuICAgICAgICAgICAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRQYXJhbXNcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmV4ZWNBcHBvaW50RGF0ZVwiPlxyXG4gICAgICAgIDwvcG8tZGF0ZXBpY2tlcj5cclxuXHJcbiAgICAgICAgPHBvLWlucHV0ICpuZ0lmPWlzRXhlY3V0aW9uU2NoZWR1bGUoKVxyXG4gICAgICAgICAgICBjbGFzcz1cInBvLXNtLTYgcG8tbWQtNiBwby1sZy02IHBvLXhsLTZcIlxyXG4gICAgICAgICAgICBuYW1lPVwiZXhlY0FwcG9pbnRIb3VyXCJcclxuICAgICAgICAgICAgcC1sYWJlbD1cIkhvcmFcIlxyXG4gICAgICAgICAgICBwLW1hc2s9XCI5OTo5OVwiXHJcbiAgICAgICAgICAgIHAtbWFzay1mb3JtYXQtbW9kZWw9XCJ0cnVlXCJcclxuICAgICAgICAgICAgcC1wYXR0ZXJuPVwiXihbMC05XXwwWzAtOV18MVswLTldfDJbMC0zXSk6WzAtNV1bMC05XSRcIlxyXG4gICAgICAgICAgICBwLWVycm9yLXBhdHRlcm49XCJIb3JhIGludsOhbGlkYVwiXHJcbiAgICAgICAgICAgIFtwLWRpc2FibGVkXT1cImRpc2FibGVkUGFyYW1zXCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC5leGVjQXBwb2ludEhvdXJcIj5cclxuICAgICAgICA8L3BvLWlucHV0PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInBvLXJvdyBwby1zbS0xMiBwby1tZC0xMiBwby1sZy0xMiBwby14bC0xMlwiPlxyXG4gICAgICAgIDxwby1sb29rdXBcclxuICAgICAgICAgICAgY2xhc3M9XCJwby1zbS0xMiBwby1tZC0xMiBwby1sZy0xMiBwby14bC0xMlwiXHJcbiAgICAgICAgICAgIG5hbWU9XCJleGVjdXRpb25TZXJ2ZXJcIlxyXG4gICAgICAgICAgICBwLWxhYmVsPVwiU2Vydmlkb3IgZGUgRXhlY3XDp8Ojb1wiXHJcbiAgICAgICAgICAgIHAtcGxhY2Vob2xkZXI9XCJTZXJ2aWRvciBkZSBFeGVjdcOnw6NvXCJcclxuICAgICAgICAgICAgW3AtY29sdW1uc109XCJ6b29tUnB3U2VydmljZUNvbHVtbnNcIlxyXG4gICAgICAgICAgICBbcC1maWVsZC1mb3JtYXRdPVwiZmllbGRScHdTZXJ2aWNlRm9ybWF0XCJcclxuICAgICAgICAgICAgW3AtZmlsdGVyLXNlcnZpY2VdPVwicnB3U2VydmljZVwiXHJcbiAgICAgICAgICAgIHAtZmllbGQtbGFiZWw9XCJuYW1lXCJcclxuICAgICAgICAgICAgcC1maWVsZC12YWx1ZT1cImNvZGVcIlxyXG4gICAgICAgICAgICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFBhcmFtc1wiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWwuZXhlY3V0aW9uU2VydmVyXCI+XHJcbiAgICAgICAgPC9wby1sb29rdXA+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicG8tcm93IHBvLXNtLTEyIHBvLW1kLTEyIHBvLWxnLTEyIHBvLXhsLTEyXCI+XHJcbiAgICAgICAgPHBvLXN3aXRjaFxyXG4gICAgICAgICAgICBjbGFzcz1cInBvLXNtLTYgcG8tbWQtNiBwby1sZy02IHBvLXhsLTZcIlxyXG4gICAgICAgICAgICBuYW1lPVwicmVwZWF0RXhlY3V0aW9uXCJcclxuICAgICAgICAgICAgcC1sYWJlbD1cIlJlcGV0aXIgb2NvcnLDqm5jaWEgP1wiXHJcbiAgICAgICAgICAgIHAtbGFiZWwtb2ZmPVwiTsOjb1wiXHJcbiAgICAgICAgICAgIHAtbGFiZWwtb249XCJTaW1cIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLnJlcGVhdEV4ZWN1dGlvblwiXHJcbiAgICAgICAgICAgIFtwLWRpc2FibGVkXT1cImRpc2FibGVkUGFyYW1zXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVJlcGVhdEV4ZWN1dGlvbigpXCI+XHJcbiAgICAgICAgPC9wby1zd2l0Y2g+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicG8tcm93XCIgKm5nSWY9XCJpc1JlcGVhdEV4ZWN1dGlvbigpXCI+XHJcbiAgICAgXHJcbiAgICAgICAgPHBvLXRhYnM+XHJcblxyXG4gICAgICAgICAgICA8cG8tdGFiIFxyXG4gICAgICAgICAgICAgICAgcC1sYWJlbD1cIkRpw6FyaWFcIiBcclxuICAgICAgICAgICAgICAgIFtwLWFjdGl2ZV09XCJnZXRBY3RpdmVUYWIoMSlcIiBcclxuICAgICAgICAgICAgICAgIChwLWNsaWNrKT1cInNldEFjdGl2ZVRhYigxKVwiPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1zbS02IHBvLW1kLTYgcG8tbGctNiBwby14bC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBvLXJhZGlvLWdyb3VwIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBvLXNtLTEyIHBvLW1kLTEyIHBvLWxnLTEyIHBvLXhsLTEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImZyZXF1ZW5jeURhaWx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1sYWJlbD1cIkZyZXF1w6puY2lhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1jb2x1bW5zPTFcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC5mcmVxdWVuY3lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFBhcmFtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwLW9wdGlvbnNdPVwiZnJlcXVlbmN5T3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChwLWNoYW5nZSk9XCJjaGFuZ2VUeXBlRnJlcXVlbmN5KClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3BvLXJhZGlvLWdyb3VwPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tc20tNiBwby1tZC02IHBvLWxnLTYgcG8teGwtNlwiPiAgICBcclxuICAgICAgICAgICAgICAgICAgICA8cG8taW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwby1zbS02IHBvLW1kLTYgcG8tbGctNiBwby14bC02XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImV4ZWNBcHBvaW50SG91ckluaXREYWlseVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbGFiZWw9XCJIb3JhIEluw61jaW9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLW1hc2s9XCI5OTo5OVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbWFzay1mb3JtYXQtbW9kZWw9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1wYXR0ZXJuPVwiXihbMC05XXwwWzAtOV18MVswLTldfDJbMC0zXSk6WzAtNV1bMC05XSRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLWVycm9yLXBhdHRlcm49XCJIb3JhIGludsOhbGlkYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwLWRpc2FibGVkXT1cImRpc2FibGVkUGFyYW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC5leGVjQXBwb2ludEhvdXJJbml0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wby1pbnB1dD5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8cG8taW5wdXQgKm5nSWY9XCJpc0ZyZW5xdWVuY3koKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG8tc20tNiBwby1tZC02IHBvLWxnLTYgcG8teGwtNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJleGVjQXBwb2ludEhvdXJGaW5hbERhaWx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1sYWJlbD1cIkhvcmEgRmltXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1tYXNrPVwiOTk6OTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLW1hc2stZm9ybWF0LW1vZGVsPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtcGF0dGVybj1cIl4oWzAtOV18MFswLTldfDFbMC05XXwyWzAtM10pOlswLTVdWzAtOV0kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1lcnJvci1wYXR0ZXJuPVwiSG9yYSBpbnbDoWxpZGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFBhcmFtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWwuZXhlY0FwcG9pbnRIb3VyRmluYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3BvLWlucHV0PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxwby1udW1iZXIgKm5nSWY9XCJpc0ZyZW5xdWVuY3koKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG8tc20tNSBwby1tZC01IHBvLWxnLTUgcG8teGwtNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJmcmVxdWVuY3lWYWx1ZURhaWx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1sYWJlbD1cIkEgY2FkYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbWlubGVuZ3RoPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbWF4bGVuZ3RoPVwiM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbWluPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbWF4PVwiOTk5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRQYXJhbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmZyZXF1ZW5jeVZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wby1udW1iZXI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPHBvLXNlbGVjdCAqbmdJZj1cImlzRnJlbnF1ZW5jeSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwby1tdC0zIHBvLXNtLTcgcG8tbWQtNyBwby1sZy03IHBvLXhsLTdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZnJlcXVlbmN5VHlwZURhaWx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1sYWJlbD1cIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwLW9wdGlvbnNdPVwiZnJlcXVlbmN5VHlwZU9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFBhcmFtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWwuZnJlcXVlbmN5VHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvcG8tc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvcG8tdGFiPlxyXG5cclxuICAgICAgICAgICAgPHBvLXRhYiBcclxuICAgICAgICAgICAgICAgIHAtbGFiZWw9XCJTZW1hbmFsXCJcclxuICAgICAgICAgICAgICAgIFtwLWFjdGl2ZV09XCJnZXRBY3RpdmVUYWIoMilcIlxyXG4gICAgICAgICAgICAgICAgKHAtY2xpY2spPVwic2V0QWN0aXZlVGFiKDIpXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvLXJvdyBwby1zbS0xMiBwby1tZC0xMiBwby1sZy0xMiBwby14bC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwby1tdWx0aXNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBvLXNtLTEyIHBvLW1kLTEyIHBvLWxnLTEyIHBvLXhsLTEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInNlbGVjdFdlZWtseXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLWxhYmVsPVwiRGlhcyBkYSBTZW1hbmFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLXBsYWNlaG9sZGVyPVwiRXNjb2xoYSBvcyBkaWFzIGRhIHNlbWFuYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwLWRpc2FibGVkXT1cImRpc2FibGVkUGFyYW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC5zZWxlY3RXZWVrbHlzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3Atb3B0aW9uc109XCJ3ZWVrbHlPcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wby1tdWx0aXNlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1zbS02IHBvLW1kLTYgcG8tbGctNiBwby14bC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBvLXJhZGlvLWdyb3VwIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBvLXNtLTEyIHBvLW1kLTEyIHBvLWxnLTEyIHBvLXhsLTEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImZyZXF1ZW5jeVdlZWtseVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbGFiZWw9XCJGcmVxdcOqbmNpYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtY29sdW1ucz0xXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWwuZnJlcXVlbmN5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRQYXJhbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcC1vcHRpb25zXT1cImZyZXF1ZW5jeU9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocC1jaGFuZ2UpPVwiY2hhbmdlVHlwZUZyZXF1ZW5jeSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wby1yYWRpby1ncm91cD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1zbS02IHBvLW1kLTYgcG8tbGctNiBwby14bC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBvLWlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG8tc20tNiBwby1tZC02IHBvLWxnLTYgcG8teGwtNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJleGVjQXBwb2ludEhvdXJJbml0V2Vla2x5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1sYWJlbD1cIkhvcmEgSW7DrWNpb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbWFzaz1cIjk5Ojk5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1tYXNrLWZvcm1hdC1tb2RlbD1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLXBhdHRlcm49XCJeKFswLTldfDBbMC05XXwxWzAtOV18MlswLTNdKTpbMC01XVswLTldJFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtZXJyb3ItcGF0dGVybj1cIkhvcmEgaW52w6FsaWRhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRQYXJhbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmV4ZWNBcHBvaW50SG91ckluaXRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3BvLWlucHV0PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8cG8taW5wdXQgKm5nSWY9XCJpc0ZyZW5xdWVuY3koKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG8tc20tNiBwby1tZC02IHBvLWxnLTYgcG8teGwtNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJleGVjQXBwb2ludEhvdXJGaW5hbFdlZWtseVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbGFiZWw9XCJIb3JhIEZpbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbWFzaz1cIjk5Ojk5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1tYXNrLWZvcm1hdC1tb2RlbD1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLXBhdHRlcm49XCJeKFswLTldfDBbMC05XXwxWzAtOV18MlswLTNdKTpbMC01XVswLTldJFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtZXJyb3ItcGF0dGVybj1cIkhvcmEgaW52w6FsaWRhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRQYXJhbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmV4ZWNBcHBvaW50SG91ckZpbmFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wby1pbnB1dD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPHBvLW51bWJlciAqbmdJZj1cImlzRnJlbnF1ZW5jeSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwby1zbS01IHBvLW1kLTUgcG8tbGctNSBwby14bC01XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImZyZXF1ZW5jeVZhbHVlV2Vla2x5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1sYWJlbD1cIkEgY2FkYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbWlubGVuZ3RoPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbWF4bGVuZ3RoPVwiM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbWluPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbWF4PVwiOTk5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRQYXJhbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmZyZXF1ZW5jeVZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wby1udW1iZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxwby1zZWxlY3QgKm5nSWY9XCJpc0ZyZW5xdWVuY3koKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG8tbXQtMyBwby1zbS03IHBvLW1kLTcgcG8tbGctNyBwby14bC03XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImZyZXF1ZW5jeVR5cGVXZWVrbHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLWxhYmVsPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3Atb3B0aW9uc109XCJmcmVxdWVuY3lUeXBlT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwLWRpc2FibGVkXT1cImRpc2FibGVkUGFyYW1zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC5mcmVxdWVuY3lUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wby1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9wby10YWI+XHJcblxyXG4gICAgICAgICAgICA8cG8tdGFiIFxyXG4gICAgICAgICAgICAgICAgcC1sYWJlbD1cIk1lbnNhbFwiIFxyXG4gICAgICAgICAgICAgICAgW3AtYWN0aXZlXT1cImdldEFjdGl2ZVRhYigzKVwiIFxyXG4gICAgICAgICAgICAgICAgKHAtY2xpY2spPVwic2V0QWN0aXZlVGFiKDMpXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvLXJvdyBwby1zbS0xMiBwby1tZC0xMiBwby1sZy0xMiBwby14bC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwby1udW1iZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwby1zbS0zIHBvLW1kLTMgcG8tbGctMyBwby14bC0zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImRheU9mTW9udGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLWxhYmVsPVwiRGlhIGRvIG3DqnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLW1pbmxlbmd0aD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLW1heGxlbmd0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLW1pbj1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLW1heD1cIjMxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRQYXJhbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmRheU9mTW9udGhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3BvLW51bWJlcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1yb3cgcG8tc20tNiBwby1tZC02IHBvLWxnLTYgcG8teGwtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwby1yYWRpby1ncm91cCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwby1zbS0xMiBwby1tZC0xMiBwby1sZy0xMiBwby14bC0xMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJmcmVxdWVuY3lNb250aGx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1sYWJlbD1cIkZyZXF1w6puY2lhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1jb2x1bW5zPTFcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC5mcmVxdWVuY3lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFBhcmFtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwLW9wdGlvbnNdPVwiZnJlcXVlbmN5T3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChwLWNoYW5nZSk9XCJjaGFuZ2VUeXBlRnJlcXVlbmN5KClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3BvLXJhZGlvLWdyb3VwPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwby1yb3cgcG8tc20tNiBwby1tZC02IHBvLWxnLTYgcG8teGwtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwby1pbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBvLXNtLTYgcG8tbWQtNiBwby1sZy02IHBvLXhsLTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZXhlY0FwcG9pbnRIb3VySW5pdE1vbnRobHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLWxhYmVsPVwiSG9yYSBJbsOtY2lvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1tYXNrPVwiOTk6OTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLW1hc2stZm9ybWF0LW1vZGVsPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtcGF0dGVybj1cIl4oWzAtOV18MFswLTldfDFbMC05XXwyWzAtM10pOlswLTVdWzAtOV0kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1lcnJvci1wYXR0ZXJuPVwiSG9yYSBpbnbDoWxpZGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFBhcmFtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWwuZXhlY0FwcG9pbnRIb3VySW5pdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvcG8taW5wdXQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxwby1pbnB1dCAqbmdJZj1cImlzRnJlbnF1ZW5jeSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwby1zbS02IHBvLW1kLTYgcG8tbGctNiBwby14bC02XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImV4ZWNBcHBvaW50SG91ckZpbmFsV2Vla2x5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1sYWJlbD1cIkhvcmEgRmltXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1tYXNrPVwiOTk6OTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLW1hc2stZm9ybWF0LW1vZGVsPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtcGF0dGVybj1cIl4oWzAtOV18MFswLTldfDFbMC05XXwyWzAtM10pOlswLTVdWzAtOV0kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1lcnJvci1wYXR0ZXJuPVwiSG9yYSBpbnbDoWxpZGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFBhcmFtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWwuZXhlY0FwcG9pbnRIb3VyRmluYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3BvLWlucHV0PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8cG8tbnVtYmVyICpuZ0lmPVwiaXNGcmVucXVlbmN5KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBvLXNtLTUgcG8tbWQtNSBwby1sZy01IHBvLXhsLTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZnJlcXVlbmN5VmFsdWVXZWVrbHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwLWxhYmVsPVwiQSBjYWRhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1taW5sZW5ndGg9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1tYXhsZW5ndGg9XCIzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1taW49XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcC1tYXg9XCI5OTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFBhcmFtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWwuZnJlcXVlbmN5VmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3BvLW51bWJlcj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPHBvLXNlbGVjdCAqbmdJZj1cImlzRnJlbnF1ZW5jeSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwby1tdC0zIHBvLXNtLTcgcG8tbWQtNyBwby1sZy03IHBvLXhsLTdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZnJlcXVlbmN5VHlwZVdlZWtseVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHAtbGFiZWw9XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcC1vcHRpb25zXT1cImZyZXF1ZW5jeVR5cGVPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRQYXJhbXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmZyZXF1ZW5jeVR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3BvLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3BvLXRhYj5cclxuICAgICAgICA8L3BvLXRhYnM+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicG8tc20tMTIgcG8tbWQtMTIgcG8tbGctMTIgcG8teGwtMTJcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAxNXB4O1wiPlxyXG4gICAgICAgIDxwby1idXR0b25cclxuICAgICAgICAgICAgc3R5bGU9XCJmbG9hdDogcmlnaHQ7XCJcclxuICAgICAgICAgICAgcC1sYWJlbD1cIkdlcmFyIEFnZW5kYW1lbnRvIFJQV1wiXHJcbiAgICAgICAgICAgIFtwLWRpc2FibGVkXT1cImRpc2FibGVkUGFyYW1zXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImV4ZWN1dGVTY2hlZHVsZSgpXCI+XHJcbiAgICAgICAgPC9wby1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9mb3JtPlxyXG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class ScheduleParameters {
2
+ }
3
+ export class ExecutionStatus {
4
+ }
5
+ export class ExecutionParameters {
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHRzLWJhY2tvZmZpY2UtdXRpbC9zcmMvbGliL2NvbXBvbmVudHMvdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uL3RvdHZzLXNjaGVkdWxlLWV4ZWN1dGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsTUFBTSxPQUFPLGtCQUFrQjtDQWM5QjtBQVVELE1BQU0sT0FBTyxlQUFlO0NBTTNCO0FBV0QsTUFBTSxPQUFPLG1CQUFtQjtDQU8vQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVNjaGVkdWxlUGFyYW1ldGVycyB7XHJcbiAgICBleGVjdXRpb25UeXBlOiBudW1iZXI7XHJcbiAgICBleGVjQXBwb2ludERhdGU6IERhdGU7XHJcbiAgICBleGVjQXBwb2ludEhvdXI6IHN0cmluZztcclxuICAgIGV4ZWN1dGlvblNlcnZlcjogc3RyaW5nO1xyXG4gICAgcmVwZWF0RXhlY3V0aW9uOiBib29sZWFuO1xyXG4gICAgcmVwZWF0VHlwZTogbnVtYmVyO1xyXG4gICAgZnJlcXVlbmN5OiBzdHJpbmc7XHJcbiAgICBmcmVxdWVuY3lWYWx1ZTogbnVtYmVyO1xyXG4gICAgZnJlcXVlbmN5VHlwZTogc3RyaW5nO1xyXG4gICAgZXhlY0FwcG9pbnRIb3VySW5pdDogc3RyaW5nO1xyXG4gICAgZXhlY0FwcG9pbnRIb3VyRmluYWw6IHN0cmluZztcclxuICAgIHNlbGVjdFdlZWtseXM6IFtdO1xyXG4gICAgZGF5T2ZNb250aDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVQYXJhbWV0ZXJzIGltcGxlbWVudHMgSVNjaGVkdWxlUGFyYW1ldGVycyB7XHJcbiAgICBleGVjdXRpb25UeXBlOiBudW1iZXI7XHJcbiAgICBleGVjQXBwb2ludERhdGU6IERhdGU7XHJcbiAgICBleGVjQXBwb2ludEhvdXI6IHN0cmluZztcclxuICAgIGV4ZWN1dGlvblNlcnZlcjogc3RyaW5nO1xyXG4gICAgcmVwZWF0RXhlY3V0aW9uOiBib29sZWFuO1xyXG4gICAgcmVwZWF0VHlwZTogbnVtYmVyO1xyXG4gICAgZnJlcXVlbmN5OiBzdHJpbmc7XHJcbiAgICBmcmVxdWVuY3lWYWx1ZTogbnVtYmVyO1xyXG4gICAgZnJlcXVlbmN5VHlwZTogc3RyaW5nO1xyXG4gICAgZXhlY0FwcG9pbnRIb3VySW5pdDogc3RyaW5nO1xyXG4gICAgZXhlY0FwcG9pbnRIb3VyRmluYWw6IHN0cmluZztcclxuICAgIHNlbGVjdFdlZWtseXM6IFtdO1xyXG4gICAgZGF5T2ZNb250aDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElFeGVjdXRpb25TdGF0dXMge1xyXG4gICAgam9iU2NoZWR1bGVJRDogc3RyaW5nO1xyXG4gICAgZXhlY3V0aW9uSUQ6IHN0cmluZztcclxuICAgIHN0YXJ0ZWREYXRlOiBEYXRlO1xyXG4gICAgZXJyb3I6IHN0cmluZztcclxuICAgIHN0YXR1czogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRXhlY3V0aW9uU3RhdHVzIGltcGxlbWVudHMgSUV4ZWN1dGlvblN0YXR1cyB7XHJcbiAgICBqb2JTY2hlZHVsZUlEOiBzdHJpbmc7XHJcbiAgICBleGVjdXRpb25JRDogc3RyaW5nO1xyXG4gICAgc3RhcnRlZERhdGU6IERhdGU7XHJcbiAgICBlcnJvcjogc3RyaW5nO1xyXG4gICAgc3RhdHVzOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUV4ZWN1dGlvblBhcmFtZXRlcnMge1xyXG4gICAgZXhlY3V0aW9uU2VydmVyOiBzdHJpbmc7XHJcbiAgICBwcm9ncmFtTmFtZTogc3RyaW5nO1xyXG4gICAgZXh0ZXJuYWxOYW1lOiBzdHJpbmc7XHJcbiAgICBwcm9ncmFtRU1TNTogYm9vbGVhbjtcclxuICAgIHByb2dyYW1WZXJzaW9uOiBzdHJpbmc7XHJcbiAgICBidXNpbmVzc1BhcmFtczogQXJyYXk8YW55PjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEV4ZWN1dGlvblBhcmFtZXRlcnMgaW1wbGVtZW50cyBJRXhlY3V0aW9uUGFyYW1ldGVycyB7XHJcbiAgICBleGVjdXRpb25TZXJ2ZXI6IHN0cmluZztcclxuICAgIHByb2dyYW1OYW1lOiBzdHJpbmc7XHJcbiAgICBleHRlcm5hbE5hbWU6IHN0cmluZztcclxuICAgIHByb2dyYW1FTVM1OiBib29sZWFuO1xyXG4gICAgcHJvZ3JhbVZlcnNpb246IHN0cmluZztcclxuICAgIGJ1c2luZXNzUGFyYW1zOiBBcnJheTxhbnk+O1xyXG59XHJcbiJdfQ==