dmencu 3.2.20 → 3.2.21
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/dist/client/unlogged/calculos-encuesta.d.ts +7 -0
- package/dist/client/unlogged/calculos-encuesta.js +139 -0
- package/dist/client/unlogged/helpers-casilleros.d.ts +14 -0
- package/dist/client/unlogged/helpers-casilleros.js +129 -0
- package/dist/server/server/procedures-dmencu.js +141 -28
- package/dist/server/server/table-rea.js +9 -5
- package/dist/server/server/table-rea_sup.js +8 -4
- package/dist/test/test-ejemplo.d.ts +1 -0
- package/dist/test/test-ejemplo.js +29 -0
- package/dist/test/test-rea-no-rea.d.ts +1 -0
- package/dist/test/test-rea-no-rea.js +589 -0
- package/dist/test/test.d.ts +2 -0
- package/dist/test/test.js +15 -0
- package/dist/unlogged/bypass-formulario.d.ts +198 -0
- package/dist/unlogged/bypass-formulario.js +1226 -0
- package/dist/unlogged/calculos-encuesta.d.ts +7 -0
- package/dist/unlogged/calculos-encuesta.js +213 -0
- package/dist/unlogged/helpers-casilleros.d.ts +14 -0
- package/dist/unlogged/helpers-casilleros.js +129 -0
- package/dist/unlogged/redux-formulario.d.ts +440 -0
- package/dist/unlogged/redux-formulario.js +324 -0
- package/dist/unlogged/render-config.d.ts +52 -0
- package/dist/unlogged/render-config.js +161 -0
- package/dist/unlogged/tipos.d.ts +575 -0
- package/dist/unlogged/tipos.js +21 -0
- package/dist/unlogged/unlogged/bypass-formulario copy.d.ts +198 -0
- package/dist/unlogged/unlogged/bypass-formulario copy.js +1226 -0
- package/dist/unlogged/unlogged/calculos-encuesta.d.ts +7 -0
- package/dist/unlogged/unlogged/calculos-encuesta.js +213 -0
- package/dist/unlogged/unlogged/helpers-casilleros.d.ts +14 -0
- package/dist/unlogged/unlogged/helpers-casilleros.js +130 -0
- package/dist/unlogged/unlogged/helpers.d.ts +14 -0
- package/dist/unlogged/unlogged/helpers.js +129 -0
- package/package.json +1 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
(function (factory) {
|
|
11
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
12
|
+
var v = factory(require, exports);
|
|
13
|
+
if (v !== undefined) module.exports = v;
|
|
14
|
+
}
|
|
15
|
+
else if (typeof define === "function" && define.amd) {
|
|
16
|
+
define(["require", "exports"], factory);
|
|
17
|
+
}
|
|
18
|
+
})(function (require, exports) {
|
|
19
|
+
"use strict";
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.FormRenderer = void 0;
|
|
22
|
+
exports.registrarCargarMotor = registrarCargarMotor;
|
|
23
|
+
exports.createFormRenderer = createFormRenderer;
|
|
24
|
+
exports.getFormRenderer = getFormRenderer;
|
|
25
|
+
let cargarMotorFn = null;
|
|
26
|
+
function registrarCargarMotor(fn) {
|
|
27
|
+
cargarMotorFn = fn;
|
|
28
|
+
}
|
|
29
|
+
class FormRenderer {
|
|
30
|
+
constructor(config) {
|
|
31
|
+
this.config = config;
|
|
32
|
+
}
|
|
33
|
+
static initialize(config) {
|
|
34
|
+
FormRenderer.instance = new FormRenderer(config);
|
|
35
|
+
return FormRenderer.instance;
|
|
36
|
+
}
|
|
37
|
+
updateConfig(partialConfig) {
|
|
38
|
+
this.config = Object.assign(Object.assign({}, this.config), partialConfig);
|
|
39
|
+
}
|
|
40
|
+
cargarMotor() {
|
|
41
|
+
return __awaiter(this, arguments, void 0, function* (opts = {}) {
|
|
42
|
+
if (!cargarMotorFn) {
|
|
43
|
+
throw new Error('cargarMotor no registrado. Asegúrese de importar render-formulario antes de llamar a cargarMotor.');
|
|
44
|
+
}
|
|
45
|
+
return cargarMotorFn(opts);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
getCasoState() {
|
|
49
|
+
return this.config.getCasoState();
|
|
50
|
+
}
|
|
51
|
+
setCasoState(state) {
|
|
52
|
+
this.config.setCasoState(state);
|
|
53
|
+
}
|
|
54
|
+
getUltimoValorPkRaiz() {
|
|
55
|
+
return this.config.getUltimoValorPkRaiz();
|
|
56
|
+
}
|
|
57
|
+
setUltimoValorPkRaiz(value) {
|
|
58
|
+
this.config.setUltimoValorPkRaiz(value);
|
|
59
|
+
}
|
|
60
|
+
getAppCacheVersion() {
|
|
61
|
+
return this.config.getAppCacheVersion();
|
|
62
|
+
}
|
|
63
|
+
setAppCacheVersion(value) {
|
|
64
|
+
this.config.setAppCacheVersion(value);
|
|
65
|
+
}
|
|
66
|
+
getModoDM() {
|
|
67
|
+
return this.config.getModoDM();
|
|
68
|
+
}
|
|
69
|
+
setModoDM(modo) {
|
|
70
|
+
this.config.setModoDM(modo);
|
|
71
|
+
}
|
|
72
|
+
getIdperLogueado() {
|
|
73
|
+
return this.config.getIdperLogueado();
|
|
74
|
+
}
|
|
75
|
+
getUsernameLogueado() {
|
|
76
|
+
return this.config.getUsernameLogueado();
|
|
77
|
+
}
|
|
78
|
+
leerDatos() {
|
|
79
|
+
return this.config.leerDatos();
|
|
80
|
+
}
|
|
81
|
+
persistirDatos(datos) {
|
|
82
|
+
return this.config.persistirDatos(datos);
|
|
83
|
+
}
|
|
84
|
+
leerEstructura() {
|
|
85
|
+
return this.config.leerEstructura();
|
|
86
|
+
}
|
|
87
|
+
persistirEstructura(estructura) {
|
|
88
|
+
return this.config.persistirEstructura(estructura);
|
|
89
|
+
}
|
|
90
|
+
onSincronizar(persistentes, cambiaModoDM) {
|
|
91
|
+
return this.config.onSincronizar(persistentes, cambiaModoDM);
|
|
92
|
+
}
|
|
93
|
+
onLogout() {
|
|
94
|
+
return this.config.onLogout();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.FormRenderer = FormRenderer;
|
|
98
|
+
function createFormRenderer(partialConfig) {
|
|
99
|
+
return FormRenderer.initialize(Object.assign(Object.assign({}, defaultThrowConfig), partialConfig));
|
|
100
|
+
}
|
|
101
|
+
function getFormRenderer() {
|
|
102
|
+
// @ts-ignore accedemos a private static desde la función exportada para mantener simplicidad o simplemente usamos una propiedad en la clase.
|
|
103
|
+
if (!FormRenderer['instance']) {
|
|
104
|
+
throw new Error('FormRenderer no inicializada');
|
|
105
|
+
}
|
|
106
|
+
return FormRenderer['instance'];
|
|
107
|
+
}
|
|
108
|
+
// Config base: todos los métodos lanzan error descriptivo.
|
|
109
|
+
// render-init.ts provee la implementación recomendada por defecto (localStorage/sessionStorage).
|
|
110
|
+
const defaultThrowConfig = {
|
|
111
|
+
getCasoState() {
|
|
112
|
+
throw new Error('getCasoState no implementado');
|
|
113
|
+
},
|
|
114
|
+
setCasoState(_state) {
|
|
115
|
+
throw new Error('setCasoState no implementado');
|
|
116
|
+
},
|
|
117
|
+
getUltimoValorPkRaiz() {
|
|
118
|
+
throw new Error('getUltimoValorPkRaiz no implementado');
|
|
119
|
+
},
|
|
120
|
+
setUltimoValorPkRaiz(_value) {
|
|
121
|
+
throw new Error('setUltimoValorPkRaiz no implementado');
|
|
122
|
+
},
|
|
123
|
+
getAppCacheVersion() {
|
|
124
|
+
throw new Error('getAppCacheVersion no implementado');
|
|
125
|
+
},
|
|
126
|
+
setAppCacheVersion(_value) {
|
|
127
|
+
throw new Error('setAppCacheVersion no implementado');
|
|
128
|
+
},
|
|
129
|
+
getModoDM() {
|
|
130
|
+
throw new Error('getModoDM no implementado');
|
|
131
|
+
},
|
|
132
|
+
setModoDM(_modo) {
|
|
133
|
+
throw new Error('setModoDM no implementado');
|
|
134
|
+
},
|
|
135
|
+
getIdperLogueado() {
|
|
136
|
+
throw new Error('getIdperLogueado no implementado');
|
|
137
|
+
},
|
|
138
|
+
getUsernameLogueado() {
|
|
139
|
+
throw new Error('getUsernameLogueado no implementado');
|
|
140
|
+
},
|
|
141
|
+
leerDatos() {
|
|
142
|
+
throw new Error('leerDatos no implementado');
|
|
143
|
+
},
|
|
144
|
+
persistirDatos(_datos) {
|
|
145
|
+
throw new Error('persistirDatos no implementado');
|
|
146
|
+
},
|
|
147
|
+
leerEstructura() {
|
|
148
|
+
throw new Error('leerEstructura no implementado');
|
|
149
|
+
},
|
|
150
|
+
persistirEstructura(_estructura) {
|
|
151
|
+
throw new Error('persistirEstructura no implementado');
|
|
152
|
+
},
|
|
153
|
+
onSincronizar(_persistentes, _cambiaModoDM) {
|
|
154
|
+
throw new Error('onSincronizar no implementado. Debe proveerse una implementación al llamar createFormRenderer({ sincronizar: ... })');
|
|
155
|
+
},
|
|
156
|
+
onLogout() {
|
|
157
|
+
throw new Error('onLogout no implementado');
|
|
158
|
+
},
|
|
159
|
+
};
|
|
160
|
+
});
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmxvZ2dlZC9yZW5kZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXdDQSxvREFFQztJQTJGRCxnREFJQztJQUVELDBDQU1DO0lBM0dELElBQUksYUFBYSxHQUF5QixJQUFJLENBQUM7SUFFL0MsU0FBZ0Isb0JBQW9CLENBQUMsRUFBaUI7UUFDbEQsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBYSxZQUFZO1FBSXJCLFlBQW9CLE1BQXdCO1lBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLENBQUM7UUFFTSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQXdCO1lBQzdDLFlBQVksQ0FBQyxRQUFRLEdBQUcsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakQsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ2pDLENBQUM7UUFFTSxZQUFZLENBQUMsYUFBd0M7WUFDeEQsSUFBSSxDQUFDLE1BQU0sbUNBQVEsSUFBSSxDQUFDLE1BQU0sR0FBSyxhQUFhLENBQUUsQ0FBQztRQUN2RCxDQUFDO1FBRUssV0FBVztpRUFBQyxPQUFrQyxFQUFFO2dCQUNsRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUdBQW1HLENBQUMsQ0FBQztnQkFDekgsQ0FBQztnQkFDRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixDQUFDO1NBQUE7UUFFRCxZQUFZO1lBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFFRCxZQUFZLENBQUMsS0FBZ0I7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FB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WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxTQUFTO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxTQUFTLENBQUMsS0FBYTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELGdCQUFnQjtZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsbUJBQW1CO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxTQUFTO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxjQUFjLENBQUMsTUFBK0I7WUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxjQUFjO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxtQkFBbUIsQ0FBQyxXQUF1QjtZQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELGFBQWEsQ0FBQyxhQUE2QyxFQUFFLGFBQXNCO1lBQy9FLE1BQU0sSUFBSSxLQUFLLENBQUMscUhBQXFILENBQUMsQ0FBQztRQUMzSSxDQUFDO1FBQ0QsUUFBUTtZQUNKLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUNoRCxDQUFDO0tBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhc29TdGF0ZSwgRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMsIE1vZG9ETSwgRXN0cnVjdHVyYSwgRm9yUGtSYWl6IH0gZnJvbSAnLi90aXBvcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybXVsYXJpb0NvbmZpZyB7XG4gICAgZ2V0Q2Fzb1N0YXRlKCk6IENhc29TdGF0ZTtcbiAgICBzZXRDYXNvU3RhdGUoc3RhdGU6IENhc29TdGF0ZSk6IHZvaWQ7XG5cbiAgICBnZXRVbHRpbW9WYWxvclBrUmFpeigpOiBzdHJpbmc7XG4gICAgc2V0VWx0aW1vVmFsb3JQa1JhaXoodmFsdWU6IHN0cmluZyk6IHZvaWQ7XG5cbiAgICBnZXRBcHBDYWNoZVZlcnNpb24oKTogc3RyaW5nO1xuICAgIHNldEFwcENhY2hlVmVyc2lvbih2YWx1ZTogc3RyaW5nKTogdm9pZDtcblxuICAgIGdldE1vZG9ETSgpOiBNb2RvRE07XG4gICAgc2V0TW9kb0RNKG1vZG86IE1vZG9ETSk6IHZvaWQ7XG4gICAgICAgIFxuICAgIGdldElkcGVyTG9ndWVhZG8oKTogc3RyaW5nO1xuICAgIGdldFVzZXJuYW1lTG9ndWVhZG8oKTogc3RyaW5nO1xuXG4gICAgbGVlckRhdG9zKCk6IFByb21pc2U8RGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMgfCBudWxsPjtcblxuICAgIHBlcnNpc3RpckRhdG9zKFxuICAgICAgICBkYXRvczogRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXNcbiAgICApOiBQcm9taXNlPHZvaWQ+O1xuXG4gICAgbGVlckVzdHJ1Y3R1cmEoKTogUHJvbWlzZTxFc3RydWN0dXJhIHwgbnVsbD47XG5cbiAgICBwZXJzaXN0aXJFc3RydWN0dXJhKFxuICAgICAgICBlc3RydWN0dXJhOiBFc3RydWN0dXJhXG4gICAgKTogUHJvbWlzZTx2b2lkPjtcblxuICAgIG9uU2luY3Jvbml6YXIocGVyc2lzdGVudGVzOiBEYXRvc0J5UGFzc1BlcnNpc3RpYmxlcyB8IG51bGwsIGNhbWJpYU1vZG9ETTogYm9vbGVhbik6IFByb21pc2U8RGF0b3NCeVBhc3NQZXJzaXN0aWJsZXM+O1xuICAgIFxuICAgIG9uTG9nb3V0KCk6IFByb21pc2U8dm9pZD47XG59XG5cbi8vIEZ1bmNpw7NuIGRlIGNhcmdhIGVuIG1lbW9yaWEsIHJlZ2lzdHJhZGEgZGVzZGUgcmVuZGVyLWZvcm11bGFyaW8gcGFyYSBldml0YXJcbi8vIGRlcGVuZGVuY2lhIGNpcmN1bGFyIChieXBhc3MtZm9ybXVsYXJpbyDihpIgcmVuZGVyLWNvbmZpZykuXG50eXBlIENhcmdhck1vdG9yRm4gPSAob3B0czogeyBmb3JQa1JhaXo/OiBGb3JQa1JhaXogfSkgPT4gUHJvbWlzZTx2b2lkPjtcbmxldCBjYXJnYXJNb3RvckZuOiBDYXJnYXJNb3RvckZuIHwgbnVsbCA9IG51bGw7XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RyYXJDYXJnYXJNb3RvcihmbjogQ2FyZ2FyTW90b3JGbikge1xuICAgIGNhcmdhck1vdG9yRm4gPSBmbjtcbn1cblxuZXhwb3J0IGNsYXNzIEZvcm1SZW5kZXJlciBpbXBsZW1lbnRzIEZvcm11bGFyaW9Db25maWcge1xuICAgIHByaXZhdGUgc3RhdGljIGluc3RhbmNlOiBGb3JtUmVuZGVyZXI7XG4gICAgcHJpdmF0ZSBjb25maWc6IEZvcm11bGFyaW9Db25maWc7XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKGNvbmZpZzogRm9ybXVsYXJpb0NvbmZpZykge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGluaXRpYWxpemUoY29uZmlnOiBGb3JtdWxhcmlvQ29uZmlnKTogRm9ybVJlbmRlcmVyIHtcbiAgICAgICAgRm9ybVJlbmRlcmVyLmluc3RhbmNlID0gbmV3IEZvcm1SZW5kZXJlcihjb25maWcpO1xuICAgICAgICByZXR1cm4gRm9ybVJlbmRlcmVyLmluc3RhbmNlO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVDb25maWcocGFydGlhbENvbmZpZzogUGFydGlhbDxGb3JtdWxhcmlvQ29uZmlnPik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IHsgLi4udGhpcy5jb25maWcsIC4uLnBhcnRpYWxDb25maWcgfTtcbiAgICB9XG5cbiAgICBhc3luYyBjYXJnYXJNb3RvcihvcHRzOiB7IGZvclBrUmFpej86IEZvclBrUmFpeiB9ID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKCFjYXJnYXJNb3RvckZuKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Nhcmdhck1vdG9yIG5vIHJlZ2lzdHJhZG8uIEFzZWfDunJlc2UgZGUgaW1wb3J0YXIgcmVuZGVyLWZvcm11bGFyaW8gYW50ZXMgZGUgbGxhbWFyIGEgY2FyZ2FyTW90b3IuJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNhcmdhck1vdG9yRm4ob3B0cyk7XG4gICAgfVxuXG4gICAgZ2V0Q2Fzb1N0YXRlKCk6IENhc29TdGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5nZXRDYXNvU3RhdGUoKTtcbiAgICB9XG5cbiAgICBzZXRDYXNvU3RhdGUoc3RhdGU6IENhc29TdGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpZy5zZXRDYXNvU3RhdGUoc3RhdGUpO1xuICAgIH1cblxuICAgIGdldFVsdGltb1ZhbG9yUGtSYWl6KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5nZXRVbHRpbW9WYWxvclBrUmFpeigpO1xuICAgIH1cblxuICAgIHNldFVsdGltb1ZhbG9yUGtSYWl6KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maWcuc2V0VWx0aW1vVmFsb3JQa1JhaXoodmFsdWUpO1xuICAgIH1cblxuICAgIGdldEFwcENhY2hlVmVyc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcuZ2V0QXBwQ2FjaGVWZXJzaW9uKCk7XG4gICAgfVxuXG4gICAgc2V0QXBwQ2FjaGVWZXJzaW9uKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maWcuc2V0QXBwQ2FjaGVWZXJzaW9uKHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXRNb2RvRE0oKTogTW9kb0RNIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmdldE1vZG9ETSgpO1xuICAgIH1cblxuICAgIHNldE1vZG9ETShtb2RvOiBNb2RvRE0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maWcuc2V0TW9kb0RNKG1vZG8pO1xuICAgIH1cblxuICAgIGdldElkcGVyTG9ndWVhZG8oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmdldElkcGVyTG9ndWVhZG8oKTtcbiAgICB9XG5cbiAgICBnZXRVc2VybmFtZUxvZ3VlYWRvKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5nZXRVc2VybmFtZUxvZ3VlYWRvKCk7XG4gICAgfVxuXG4gICAgbGVlckRhdG9zKCk6IFByb21pc2U8RGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5sZWVyRGF0b3MoKTtcbiAgICB9XG5cbiAgICBwZXJzaXN0aXJEYXRvcyhkYXRvczogRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnBlcnNpc3RpckRhdG9zKGRhdG9zKTtcbiAgICB9XG5cbiAgICBsZWVyRXN0cnVjdHVyYSgpOiBQcm9taXNlPEVzdHJ1Y3R1cmEgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5sZWVyRXN0cnVjdHVyYSgpO1xuICAgIH1cblxuICAgIHBlcnNpc3RpckVzdHJ1Y3R1cmEoZXN0cnVjdHVyYTogRXN0cnVjdHVyYSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcucGVyc2lzdGlyRXN0cnVjdHVyYShlc3RydWN0dXJhKTtcbiAgICB9XG5cbiAgICBvblNpbmNyb25pemFyKHBlcnNpc3RlbnRlczogRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMgfCBudWxsLCBjYW1iaWFNb2RvRE06IGJvb2xlYW4pOiBQcm9taXNlPERhdG9zQnlQYXNzUGVyc2lzdGlibGVzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5vblNpbmNyb25pemFyKHBlcnNpc3RlbnRlcywgY2FtYmlhTW9kb0RNKTtcbiAgICB9XG5cbiAgICBvbkxvZ291dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLm9uTG9nb3V0KCk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybVJlbmRlcmVyKFxuICAgIHBhcnRpYWxDb25maWc6IFBhcnRpYWw8Rm9ybXVsYXJpb0NvbmZpZz5cbik6IEZvcm1SZW5kZXJlciB7XG4gICAgcmV0dXJuIEZvcm1SZW5kZXJlci5pbml0aWFsaXplKHsgLi4uZGVmYXVsdFRocm93Q29uZmlnLCAuLi5wYXJ0aWFsQ29uZmlnIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybVJlbmRlcmVyKCk6IEZvcm1SZW5kZXJlciB7XG4gICAgLy8gQHRzLWlnbm9yZSBhY2NlZGVtb3MgYSBwcml2YXRlIHN0YXRpYyBkZXNkZSBsYSBmdW5jacOzbiBleHBvcnRhZGEgcGFyYSBtYW50ZW5lciBzaW1wbGljaWRhZCBvIHNpbXBsZW1lbnRlIHVzYW1vcyB1bmEgcHJvcGllZGFkIGVuIGxhIGNsYXNlLlxuICAgIGlmICghRm9ybVJlbmRlcmVyWydpbnN0YW5jZSddKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRm9ybVJlbmRlcmVyIG5vIGluaWNpYWxpemFkYScpO1xuICAgIH1cbiAgICByZXR1cm4gRm9ybVJlbmRlcmVyWydpbnN0YW5jZSddO1xufVxuXG4vLyBDb25maWcgYmFzZTogdG9kb3MgbG9zIG3DqXRvZG9zIGxhbnphbiBlcnJvciBkZXNjcmlwdGl2by5cbi8vIHJlbmRlci1pbml0LnRzIHByb3ZlZSBsYSBpbXBsZW1lbnRhY2nDs24gcmVjb21lbmRhZGEgcG9yIGRlZmVjdG8gKGxvY2FsU3RvcmFnZS9zZXNzaW9uU3RvcmFnZSkuXG5jb25zdCBkZWZhdWx0VGhyb3dDb25maWc6IEZvcm11bGFyaW9Db25maWcgPSB7XG4gICAgZ2V0Q2Fzb1N0YXRlKCk6IENhc29TdGF0ZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignZ2V0Q2Fzb1N0YXRlIG5vIGltcGxlbWVudGFkbycpO1xuICAgIH0sXG4gICAgc2V0Q2Fzb1N0YXRlKF9zdGF0ZTogQ2Fzb1N0YXRlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignc2V0Q2Fzb1N0YXRlIG5vIGltcGxlbWVudGFkbycpO1xuICAgIH0sXG4gICAgZ2V0VWx0aW1vVmFsb3JQa1JhaXooKTogc3RyaW5nIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdnZXRVbHRpbW9WYWxvclBrUmFpeiBubyBpbXBsZW1lbnRhZG8nKTtcbiAgICB9LFxuICAgIHNldFVsdGltb1ZhbG9yUGtSYWl6KF92YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignc2V0VWx0aW1vVmFsb3JQa1JhaXogbm8gaW1wbGVtZW50YWRvJyk7XG4gICAgfSxcbiAgICBnZXRBcHBDYWNoZVZlcnNpb24oKTogc3RyaW5nIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdnZXRBcHBDYWNoZVZlcnNpb24gbm8gaW1wbGVtZW50YWRvJyk7XG4gICAgfSxcbiAgICBzZXRBcHBDYWNoZVZlcnNpb24oX3ZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzZXRBcHBDYWNoZVZlcnNpb24gbm8gaW1wbGVtZW50YWRvJyk7XG4gICAgfSxcbiAgICBnZXRNb2RvRE0oKTogTW9kb0RNIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdnZXRNb2RvRE0gbm8gaW1wbGVtZW50YWRvJyk7XG4gICAgfSxcbiAgICBzZXRNb2RvRE0oX21vZG86IE1vZG9ETSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldE1vZG9ETSBubyBpbXBsZW1lbnRhZG8nKTtcbiAgICB9LFxuICAgIGdldElkcGVyTG9ndWVhZG8oKTogc3RyaW5nIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdnZXRJZHBlckxvZ3VlYWRvIG5vIGltcGxlbWVudGFkbycpO1xuICAgIH0sXG4gICAgZ2V0VXNlcm5hbWVMb2d1ZWFkbygpOiBzdHJpbmcge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2dldFVzZXJuYW1lTG9ndWVhZG8gbm8gaW1wbGVtZW50YWRvJyk7XG4gICAgfSxcbiAgICBsZWVyRGF0b3MoKTogUHJvbWlzZTxEYXRvc0J5UGFzc1BlcnNpc3RpYmxlcyB8IG51bGw+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdsZWVyRGF0b3Mgbm8gaW1wbGVtZW50YWRvJyk7XG4gICAgfSxcbiAgICBwZXJzaXN0aXJEYXRvcyhfZGF0b3M6IERhdG9zQnlQYXNzUGVyc2lzdGlibGVzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigncGVyc2lzdGlyRGF0b3Mgbm8gaW1wbGVtZW50YWRvJyk7XG4gICAgfSxcbiAgICBsZWVyRXN0cnVjdHVyYSgpOiBQcm9taXNlPEVzdHJ1Y3R1cmEgfCBudWxsPiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignbGVlckVzdHJ1Y3R1cmEgbm8gaW1wbGVtZW50YWRvJyk7XG4gICAgfSxcbiAgICBwZXJzaXN0aXJFc3RydWN0dXJhKF9lc3RydWN0dXJhOiBFc3RydWN0dXJhKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigncGVyc2lzdGlyRXN0cnVjdHVyYSBubyBpbXBsZW1lbnRhZG8nKTtcbiAgICB9LFxuICAgIG9uU2luY3Jvbml6YXIoX3BlcnNpc3RlbnRlczogRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMgfCBudWxsLCBfY2FtYmlhTW9kb0RNOiBib29sZWFuKTogUHJvbWlzZTxEYXRvc0J5UGFzc1BlcnNpc3RpYmxlcz4ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ29uU2luY3Jvbml6YXIgbm8gaW1wbGVtZW50YWRvLiBEZWJlIHByb3ZlZXJzZSB1bmEgaW1wbGVtZW50YWNpw7NuIGFsIGxsYW1hciBjcmVhdGVGb3JtUmVuZGVyZXIoeyBzaW5jcm9uaXphcjogLi4uIH0pJyk7XG4gICAgfSxcbiAgICBvbkxvZ291dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdvbkxvZ291dCBubyBpbXBsZW1lbnRhZG8nKTtcbiAgICB9LFxufTsiXX0=
|