contable 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -116,3 +116,118 @@ export declare function emergeAppContable<T extends Constructor<backendPlus.AppB
116
116
  }>;
117
117
  };
118
118
  } & T;
119
+ export declare var AppContable: {
120
+ new (...args: any[]): {
121
+ addSchrödingerServices(mainApp: backendPlus.Express, baseUrl: string): void;
122
+ addLoggedServices(): void;
123
+ postConfig(): Promise<void>;
124
+ configStaticConfig(): void;
125
+ clientIncludes(req: Request, opts: OptsClientPage): ClientModuleDefinition[];
126
+ getContextForDump(): {
127
+ forDump?: boolean;
128
+ be: backendPlus.AppBackend;
129
+ user: backendPlus.User;
130
+ session: {
131
+ [K: string]: any;
132
+ };
133
+ username: string;
134
+ machineId: string;
135
+ navigator: string;
136
+ es: {
137
+ admin: boolean;
138
+ gabinete: boolean;
139
+ coordinador: boolean;
140
+ encuestador: boolean;
141
+ };
142
+ };
143
+ getContext(req: Request): Context & ContextRoles;
144
+ getProcedures(): Promise<backendPlus.ProcedureDef<any>[]>;
145
+ getMenu(context: Context & ContextRoles): backendPlus.MenuDefinition;
146
+ prepareGetTables(): void;
147
+ procedures: backendPlus.ProcedureDef[];
148
+ procedure: {
149
+ [key: string]: backendPlus.ProcedureDef;
150
+ };
151
+ app: backendPlus.ExpressPlus;
152
+ getTableDefinition: backendPlus.TableDefinitionsGetters;
153
+ tableStructures: backendPlus.TableDefinitions;
154
+ db: backendPlus.MotorDb;
155
+ config: backendPlus.AppConfig;
156
+ rootPath: string;
157
+ caches: backendPlus.Caches;
158
+ fieldDomain: {
159
+ [k: string]: Partial<backendPlus.FieldDefinition>;
160
+ };
161
+ exts: {
162
+ img: string[];
163
+ normal: string[];
164
+ };
165
+ optsGenericForAll: {
166
+ allowedExts?: string[];
167
+ };
168
+ sqls: {
169
+ [k: string]: string;
170
+ };
171
+ messages: {
172
+ [k: string]: string;
173
+ };
174
+ dbUserNameExpr: string;
175
+ dbUserRolExpr: string;
176
+ specialValueWhenInsert: {
177
+ [k: string]: (context: backendPlus.ProcedureContext, defField: backendPlus.FieldDefinition, parameters: object) => any;
178
+ };
179
+ specialSqlDefaultExpressions: Record<string, string>;
180
+ clearCaches(): void;
181
+ start(opts?: backendPlus.StartOptions): Promise<void>;
182
+ getTables(): backendPlus.TableItemDef[];
183
+ appendToTableDefinition(tableName: string, appenderFunction: (tableDef: backendPlus.TableDefinition, context?: backendPlus.TableContext) => void): void;
184
+ addUnloggedServices(mainApp: backendPlus.ExpressPlus, baseUrl: string): void;
185
+ isAdmin(reqOrContext: Request | Context): boolean;
186
+ canChangePass(): Promise<boolean>;
187
+ inDbClient<T>(req: backendPlus.RequestDb | null, doThisWithDbClient: (client: backendPlus.Client) => Promise<T>): Promise<T>;
188
+ inTransaction<T>(req: backendPlus.RequestDb | null, doThisWithDbTransaction: (client: backendPlus.Client) => Promise<T>): Promise<T>;
189
+ inTransactionProcedureContext<T>(req: Request | null, coreFunction: (context: backendPlus.ProcedureContext) => Promise<T>): Promise<T>;
190
+ procedureDefCompleter<T>(procedureDef: backendPlus.ProcedureDef): backendPlus.ProcedureDef<T>;
191
+ tableDefAdapt(tableDef: backendPlus.TableDefinition, context: Context): backendPlus.TableDefinition;
192
+ pushApp(dirname: string): void;
193
+ dumpDbTableFields(tableDefinition: backendPlus.TableDefinition): string[];
194
+ dumpDbSchemaPartial(partialTableStructures: backendPlus.TableDefinitions, opts?: backendPlus.DumpOptions): Promise<{
195
+ mainSql: string;
196
+ enancePart: string;
197
+ }>;
198
+ getClientSetupForSendToFrontEnd(req: Request): Promise<backendPlus.ClientSetup>;
199
+ configList(): (object | string)[];
200
+ setStaticConfig(defConfigYamlString: string): void;
201
+ mainPage(req: Request | {}, offlineMode?: boolean, opts?: OptsClientPage): {
202
+ toHtmlDoc: () => string;
203
+ };
204
+ isThisProcedureAllowed<T>(context: Context, procedureDef: backendPlus.ProcedureDef, params: {
205
+ [key: string]: T;
206
+ }): Promise<boolean>;
207
+ checkDatabaseStructure(client: backendPlus.Client): Promise<void>;
208
+ getDbFunctions(opts: backendPlus.DumpOptions): Promise<{
209
+ dumpText: string;
210
+ }[]>;
211
+ i18n: {
212
+ messages: Record<backendPlus.LangId, Record<string, string>>;
213
+ };
214
+ shutdownCallbackListAdd(param: {
215
+ message: string;
216
+ fun: () => Promise<void>;
217
+ }): void;
218
+ shutdownBackend(opts?: {
219
+ skipTurnOff?: boolean;
220
+ onlyTurnOff?: boolean;
221
+ }): Promise<void>;
222
+ setLog(opts: {
223
+ until: string;
224
+ results?: boolean;
225
+ }): void;
226
+ getDataDumpTransformations(rawData: string): Promise<{
227
+ rawData: string;
228
+ prepareTransformationSql: string[];
229
+ endTransformationSql: string[];
230
+ }>;
231
+ };
232
+ } & typeof backendPlus.AppBackend;
233
+ export type AppContableType = InstanceType<typeof AppContable>;
@@ -4,12 +4,14 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./procedures-contable", "express", "./def-config", "./table-parametros", "./table-usuarios", "./table-estados_presupuesto", "./table-presupuestos", "./table-items_presupuesto", "./table-estados_pedido", "./table-pedidos", "./table-pedidos_vencidos", "./table-pedidos_pendientes", "./table-items_pedido", "./table-clientes", "./table-condicion_iva", "./table-iva_productos", "./table-productos", "./table-productos_clientes", "./table-productos_generales", "./table-categorias_producto", "./table-insumos", "./table-productos_insumos"], factory);
7
+ define(["require", "exports", "backend-plus", "./procedures-contable", "express", "./def-config", "./table-parametros", "./table-usuarios", "./table-estados_presupuesto", "./table-presupuestos", "./table-items_presupuesto", "./table-estados_pedido", "./table-pedidos", "./table-pedidos_vencidos", "./table-pedidos_pendientes", "./table-items_pedido", "./table-clientes", "./table-condicion_iva", "./table-iva_productos", "./table-productos", "./table-productos_clientes", "./table-productos_generales", "./table-categorias_producto", "./table-insumos", "./table-productos_insumos"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AppContable = void 0;
12
13
  exports.emergeAppContable = emergeAppContable;
14
+ const backendPlus = require("backend-plus");
13
15
  const procedures_contable_1 = require("./procedures-contable");
14
16
  const express = require("express");
15
17
  const def_config_1 = require("./def-config");
@@ -170,5 +172,6 @@
170
172
  ;
171
173
  };
172
174
  }
175
+ exports.AppContable = emergeAppContable(backendPlus.AppBackend);
173
176
  });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbnRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZlci9hcHAtY29udGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOztJQWlDYiw4Q0E4SUM7SUE3S0QsK0RBQXlEO0lBRXpELG1DQUFtQztJQUVuQyw2Q0FBc0M7SUFHdEMseURBQWdEO0lBQ2hELHFEQUE0QztJQUM1QywyRUFBa0U7SUFDbEUsNkRBQW9EO0lBQ3BELHVFQUE4RDtJQUM5RCxpRUFBd0Q7SUFDeEQsbURBQTBDO0lBQzFDLHFFQUE0RDtJQUM1RCx5RUFBZ0U7SUFDaEUsNkRBQW9EO0lBQ3BELHFEQUE0QztJQUM1QywrREFBc0Q7SUFDdEQsK0RBQXNEO0lBQ3RELHVEQUE4QztJQUM5Qyx5RUFBZ0U7SUFDaEUsMkVBQWtFO0lBQ2xFLDJFQUFrRTtJQUNsRSxtREFBMEM7SUFDMUMsdUVBQThEO0lBTTlELFNBQWdCLGlCQUFpQixDQUFnRCxJQUFNO1FBQ3JGLE9BQU8sTUFBTSxXQUFZLFNBQVEsSUFBSTtZQUNuQyxZQUFZLEdBQUcsSUFBVTtnQkFDckIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hCLENBQUM7WUFDUSxzQkFBc0IsQ0FBQyxPQUEyQixFQUFFLE9BQWM7Z0JBQ3ZFLElBQUksRUFBRSxHQUFDLElBQUksQ0FBQztnQkFDWixLQUFLLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JGLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBUyxHQUFXLEVBQUMsR0FBWSxFQUFFLElBQWlCO29CQUM1RCxJQUFHLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8s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LEVBQVAsdUJBQU87b0JBQ1AsZ0JBQWdCLEVBQWhCLHlDQUFnQjtvQkFDaEIsa0JBQWtCLEVBQWxCLDZDQUFrQjtvQkFDbEIsWUFBWSxFQUFaLGlDQUFZO29CQUNaLFFBQVEsRUFBUix5QkFBUTtvQkFDUixhQUFhLEVBQWIsbUNBQWE7b0JBQ2IsbUJBQW1CLEVBQW5CLCtDQUFtQjtvQkFDbkIsU0FBUyxFQUFULDJCQUFTO29CQUNULGtCQUFrQixFQUFsQiw2Q0FBa0I7b0JBQ2xCLG1CQUFtQixFQUFuQiwrQ0FBbUI7b0JBQ25CLE9BQU8sRUFBUCx1QkFBTztvQkFDUCxpQkFBaUIsRUFBakIsMkNBQWlCO2lCQUNwQixDQUFBO2dCQUNELHVEQUF1RDtnQkFDdkQsSUFBSSxDQUFDLGtCQUFrQixHQUFDLE9BQU8sQ0FBQztZQUNwQyxDQUFDO1lBQUEsQ0FBQztTQUNILENBQUE7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbmltcG9ydCAqIGFzIGJhY2tlbmRQbHVzIGZyb20gXCJiYWNrZW5kLXBsdXNcIjtcclxuaW1wb3J0IHtQcm9jZWR1cmVzQ29udGFibGV9IGZyb20gXCIuL3Byb2NlZHVyZXMtY29udGFibGVcIjtcclxuaW1wb3J0IHtDb250ZXh0Um9sZXN9IGZyb20gXCIuL3R5cGVzLWNvbnRhYmxlXCI7XHJcbmltcG9ydCAqIGFzIGV4cHJlc3MgZnJvbSBcImV4cHJlc3NcIjtcclxuXHJcbmltcG9ydCB7ZGVmQ29uZmlnfSBmcm9tIFwiLi9kZWYtY29uZmlnXCJcclxuaW1wb3J0ICogYXMgbWluaVRvb2xzIGZyb20gXCJtaW5pLXRvb2xzXCI7XHJcblxyXG5pbXBvcnQgeyBwYXJhbWV0cm9zIH0gZnJvbSBcIi4vdGFibGUtcGFyYW1ldHJvc1wiO1xyXG5pbXBvcnQgeyB1c3VhcmlvcyB9IGZyb20gXCIuL3RhYmxlLXVzdWFyaW9zXCI7XHJcbmltcG9ydCB7IGVzdGFkb3NfcHJlc3VwdWVzdG8gfSBmcm9tIFwiLi90YWJsZS1lc3RhZG9zX3ByZXN1cHVlc3RvXCI7XHJcbmltcG9ydCB7IHByZXN1cHVlc3RvcyB9IGZyb20gXCIuL3RhYmxlLXByZXN1cHVlc3Rvc1wiO1xyXG5pbXBvcnQgeyBpdGVtc19wcmVzdXB1ZXN0byB9IGZyb20gXCIuL3RhYmxlLWl0ZW1zX3ByZXN1cHVlc3RvXCI7XHJcbmltcG9ydCB7IGVzdGFkb3NfcGVkaWRvIH0gZnJvbSBcIi4vdGFibGUtZXN0YWRvc19wZWRpZG9cIjtcclxuaW1wb3J0IHsgcGVkaWRvcyB9IGZyb20gXCIuL3RhYmxlLXBlZGlkb3NcIjtcclxuaW1wb3J0IHsgcGVkaWRvc192ZW5jaWRvcyB9IGZyb20gXCIuL3RhYmxlLXBlZGlkb3NfdmVuY2lkb3NcIjtcclxuaW1wb3J0IHsgcGVkaWRvc19wZW5kaWVudGVzIH0gZnJvbSBcIi4vdGFibGUtcGVkaWRvc19wZW5kaWVudGVzXCI7XHJcbmltcG9ydCB7IGl0ZW1zX3BlZGlkbyB9IGZyb20gXCIuL3RhYmxlLWl0ZW1zX3BlZGlkb1wiO1xyXG5pbXBvcnQgeyBjbGllbnRlcyB9IGZyb20gXCIuL3RhYmxlLWNsaWVudGVzXCI7XHJcbmltcG9ydCB7IGNvbmRpY2lvbl9pdmEgfSBmcm9tIFwiLi90YWJsZS1jb25kaWNpb25faXZhXCI7XHJcbmltcG9ydCB7IGl2YV9wcm9kdWN0b3MgfSBmcm9tIFwiLi90YWJsZS1pdmFfcHJvZHVjdG9zXCI7XHJcbmltcG9ydCB7IHByb2R1Y3RvcyB9IGZyb20gXCIuL3RhYmxlLXByb2R1Y3Rvc1wiO1xyXG5pbXBvcnQgeyBwcm9kdWN0b3NfY2xpZW50ZXMgfSBmcm9tIFwiLi90YWJsZS1wcm9kdWN0b3NfY2xpZW50ZXNcIjtcclxuaW1wb3J0IHsgcHJvZHVjdG9zX2dlbmVyYWxlcyB9IGZyb20gXCIuL3RhYmxlLXByb2R1Y3Rvc19nZW5lcmFsZXNcIjtcclxuaW1wb3J0IHsgY2F0ZWdvcmlhc19wcm9kdWN0byB9IGZyb20gXCIuL3RhYmxlLWNhdGVnb3JpYXNfcHJvZHVjdG9cIjtcclxuaW1wb3J0IHsgaW5zdW1vcyB9IGZyb20gXCIuL3RhYmxlLWluc3Vtb3NcIjtcclxuaW1wb3J0IHsgcHJvZHVjdG9zX2luc3Vtb3MgfSBmcm9tIFwiLi90YWJsZS1wcm9kdWN0b3NfaW5zdW1vc1wiO1xyXG5cclxuaW1wb3J0IHsgQ29udGV4dCwgUmVxdWVzdCwgTWVudURlZmluaXRpb24sIFJlc3BvbnNlLCBPcHRzQ2xpZW50UGFnZSwgQ2xpZW50TW9kdWxlRGVmaW5pdGlvbiB9IGZyb20gXCJiYWNrZW5kLXBsdXNcIjtcclxuaW1wb3J0IHsgTmV4dEZ1bmN0aW9uIH0gZnJvbSBcImV4cHJlc3NcIjtcclxuXHJcbmV4cG9ydCB0eXBlIENvbnN0cnVjdG9yPFQ+ID0gbmV3KC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xyXG5leHBvcnQgZnVuY3Rpb24gZW1lcmdlQXBwQ29udGFibGU8VCBleHRlbmRzIENvbnN0cnVjdG9yPGJhY2tlbmRQbHVzLkFwcEJhY2tlbmQ+PihCYXNlOlQpe1xyXG4gIHJldHVybiBjbGFzcyBBcHBDb250YWJsZSBleHRlbmRzIEJhc2V7XHJcbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzOmFueVtdKXsgXHJcbiAgICAgICAgc3VwZXIoYXJncyk7IFxyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgYWRkU2NocsO2ZGluZ2VyU2VydmljZXMobWFpbkFwcDpiYWNrZW5kUGx1cy5FeHByZXNzLCBiYXNlVXJsOnN0cmluZyl7XHJcbiAgICAgICAgbGV0IGJlPXRoaXM7XHJcbiAgICAgICAgc3VwZXIuYWRkU2NocsO2ZGluZ2VyU2VydmljZXMobWFpbkFwcCwgYmFzZVVybCk7XHJcbiAgICAgICAgYmUuYXBwLnVzZSgnL2ltZycsIGV4cHJlc3Muc3RhdGljKCdub2RlX21vZHVsZXMvZG1lbmN1L2Rpc3QvdW5sb2dnZWQvdW5sb2dnZWQvaW1nJykpO1xyXG4gICAgICAgIG1haW5BcHAudXNlKGZ1bmN0aW9uKHJlcTpSZXF1ZXN0LHJlczpSZXNwb25zZSwgbmV4dDpOZXh0RnVuY3Rpb24pe1xyXG4gICAgICAgICAgICBpZihyZXEuc2Vzc2lvbiAmJiAhcmVxLnNlc3Npb24uaW5zdGFsbCl7XHJcbiAgICAgICAgICAgICAgICByZXEuc2Vzc2lvbi5pbnN0YWxsPU1hdGgucmFuZG9tKCkudG9TdHJpbmcoKS5yZXBsYWNlKCcuJywnJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbmV4dCgpO1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBhZGRMb2dnZWRTZXJ2aWNlcygpe1xyXG4gICAgICAgIHN1cGVyLmFkZExvZ2dlZFNlcnZpY2VzKCk7XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBhc3luYyBwb3N0Q29uZmlnKCl7XHJcbiAgICAgICAgYXdhaXQgc3VwZXIucG9zdENvbmZpZygpO1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgY29uZmlnU3RhdGljQ29uZmlnKCl7XHJcbiAgICAgICAgc3VwZXIuY29uZmlnU3RhdGljQ29uZmlnKCk7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0aWNDb25maWcoZGVmQ29uZmlnKTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGNsaWVudEluY2x1ZGVzKHJlcTpSZXF1ZXN0LCBvcHRzOk9wdHNDbGllbnRQYWdlKTpDbGllbnRNb2R1bGVEZWZpbml0aW9uW10ge1xyXG4gICAgICAgIHZhciBiZSA9IHRoaXM7XHJcbiAgICAgICAgdmFyIGxvZ2dlZCA9IHJlcSAmJiBvcHRzICYmICFvcHRzLnNraXBNZW51IDtcclxuICAgICAgICB2YXIgbWVudWVkUmVzb3VyY2VzPWxvZ2dlZCA/IFtcclxuICAgICAgICAgICAgeyB0eXBlOidqcycgLCBzcmM6ICdjbGllbnQvY2xpZW50LmpzJyB9LFxyXG4gICAgICAgIF06W1xyXG4gICAgICAgICAgICB7dHlwZTonanMnICwgc3JjOid1bmxvZ2dlZC5qcycgfSxcclxuICAgICAgICBdO1xyXG4gICAgICAgIGlmKG9wdHMgJiYgb3B0cy5leHRyYUZpbGVzKXtcclxuICAgICAgICAgICAgbWVudWVkUmVzb3VyY2VzID0gbWVudWVkUmVzb3VyY2VzLmNvbmNhdChvcHRzLmV4dHJhRmlsZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ3JlYWN0JywgbW9kUGF0aDogJ3VtZCcsIGZpbGVEZXZlbG9wbWVudDoncmVhY3QuZGV2ZWxvcG1lbnQuanMnLCBmaWxlOidyZWFjdC5wcm9kdWN0aW9uLm1pbi5qcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBtb2R1bGU6ICdyZWFjdC1kb20nLCBtb2RQYXRoOiAndW1kJywgZmlsZURldmVsb3BtZW50OidyZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMnLCBmaWxlOidyZWFjdC1kb20ucHJvZHVjdGlvbi5taW4uanMnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnQG1hdGVyaWFsLXVpL2NvcmUnLCBtb2RQYXRoOiAndW1kJywgZmlsZURldmVsb3BtZW50OidtYXRlcmlhbC11aS5kZXZlbG9wbWVudC5qcycsIGZpbGU6J21hdGVyaWFsLXVpLnByb2R1Y3Rpb24ubWluLmpzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ2Nsc3gnLCBmaWxlOidjbHN4Lm1pbi5qcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBtb2R1bGU6ICdyZWR1eCcsIG1vZFBhdGg6Jy4uL2Rpc3QnLCBmaWxlRGV2ZWxvcG1lbnQ6J3JlZHV4LmpzJywgZmlsZToncmVkdXgubWluLmpzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ3JlYWN0LXJlZHV4JywgbW9kUGF0aDonLi4vZGlzdCcsIGZpbGVEZXZlbG9wbWVudDoncmVhY3QtcmVkdXguanMnLCBmaWxlOidyZWFjdC1yZWR1eC5taW4uanMnIH0sXHJcbiAgICAgICAgICAgIC4uLnN1cGVyLmNsaWVudEluY2x1ZGVzKHJlcSwgb3B0cyksXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAncmVkdXgtdHlwZWQtcmVkdWNlcicsIG1vZFBhdGg6Jy4uL2Rpc3QnLCBmaWxlOidyZWR1eC10eXBlZC1yZWR1Y2VyLmpzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIHNyYzogJ2FkYXB0LmpzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIHNyYzogJ2NsaWVudC90aXBvcy5qcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBzcmM6ICdjbGllbnQvcmVkdXgtZm9ybXVsYXJpby5qcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBzcmM6ICdjbGllbnQvcmVuZGVyLWdlbmVyYWwuanMnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgc3JjOiAnY2xpZW50L3JlbmRlci1oYW5kbGVycy5qcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBzcmM6ICdjbGllbnQvcmVuZGVyLWNvbXBvbmVudHMuanMnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2NzcycsIGZpbGU6ICdtZW51LmNzcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOidjc3MnLCBmaWxlOidzdHlsZXMuY3NzJ30sXHJcbiAgICAgICAgICAgIC4uLiBtZW51ZWRSZXNvdXJjZXNcclxuICAgICAgICBdXHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBnZXRDb250ZXh0Rm9yRHVtcCgpe1xyXG4gICAgICAgIHJldHVybiB7ZXM6e2FkbWluOnRydWUsIGdhYmluZXRlOnRydWUsIGNvb3JkaW5hZG9yOnRydWUsIGVuY3Vlc3RhZG9yOnRydWV9LCAuLi5zdXBlci5nZXRDb250ZXh0Rm9yRHVtcCgpfTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGdldENvbnRleHQocmVxOlJlcXVlc3QpOkNvbnRleHQmQ29udGV4dFJvbGVze1xyXG4gICAgICAgIHZhciBjb250ZXh0ID0gc3VwZXIuZ2V0Q29udGV4dChyZXEpO1xyXG4gICAgICAgIHZhciBjcjpDb250ZXh0Um9sZXM7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZSAvLyBpbmljaWFsaXpvIHZhY8OtbyBwZXJvIGRlc3B1w6lzIGFncmVnbyB0b2RvXHJcbiAgICAgICAgdmFyIGVzOnR5cGVvZiBjci5lcz17fTtcclxuICAgICAgICBpZihyZXEudXNlcil7XHJcbiAgICAgICAgICAgIGVzLmFkbWluICAgICAgID0gcmVxLnVzZXIucm9sPT0nYWRtaW4nO1xyXG4gICAgICAgICAgICAvL2VzLmdhYmluZXRlICAgID0gcmVxLnVzZXIucm9sPT0nZ2FiaW5ldGUnICAgIHx8IGVzLmFkbWluIDtcclxuICAgICAgICAgICAgLy9lcy5jb29yZGluYWRvciA9IHJlcS51c2VyLnJvbD09J2Nvb3JkaW5hZG9yJyB8fCBlcy5nYWJpbmV0ZSA7XHJcbiAgICAgICAgICAgIC8vZXMuZW5jdWVzdGFkb3IgPSByZXEudXNlci5yb2w9PSdlbmN1ZXN0YWRvcicgfHwgZXMuY29vcmRpbmFkb3IgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge2VzLCAuLi5jb250ZXh0fTtcclxuICAgIH1cclxuICAgIGFzeW5jIGdldFByb2NlZHVyZXMoKXtcclxuICAgICAgICB2YXIgcGFyZW50UHJvYyA9IGF3YWl0IHN1cGVyLmdldFByb2NlZHVyZXMoKTtcclxuICAgICAgICByZXR1cm4gcGFyZW50UHJvYy5jb25jYXQoUHJvY2VkdXJlc0NvbnRhYmxlKTtcclxuICAgIH1cclxuICAgIGdldE1lbnUoY29udGV4dDpDb250ZXh0JkNvbnRleHRSb2xlcyl7XHJcbiAgICAgICAgdmFyIG1lbnVzOmJhY2tlbmRQbHVzLk1lbnVJbmZvQmFzZVtdPVtdO1xyXG4gICAgICAgIG1lbnVzLnB1c2goXHJcbiAgICAgICAgICAgIHttZW51VHlwZTondGFibGVybycsIG5hbWU6J3RhYmxlcm8nLCBzZWxlY3RlZEJ5RGVmYXVsdDp0cnVlfSxcclxuICAgICAgICApO1xyXG4gICAgICAgIG1lbnVzLnB1c2goXHJcbiAgICAgICAgICAgIHttZW51VHlwZTonbWVudScsIG5hbWU6J2dlc3Rpb25hcicsIG1lbnVDb250ZW50OltcclxuICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidjbGllbnRlcyd9LFxyXG4gICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3Byb2R1Y3Rvc19nZW5lcmFsZXMnLCBsYWJlbDpcInByb2R1Y3Rvc1wifSxcclxuICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidwcm9kdWN0b3NfY2xpZW50ZXMnfSxcclxuICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidpbnN1bW9zJ30sXHJcbiAgICAgICAgICAgICAgICAvL3ttZW51VHlwZTondGFibGUnLCBuYW1lOidwcm9kdWN0b3NfaW5zdW1vcyd9LFxyXG4gICAgICAgICAgICAgICAge21lbnVUeXBlOidwcmVzdXB1ZXN0b3MnLCBuYW1lOidwcmVzdXB1ZXN0b3MnfSxcclxuICAgICAgICAgICAgICAgIHttZW51VHlwZToncHJlc3VwdWVzdG8nLCBuYW1lOidwcmVzdXB1ZXN0bycsIHZpc2libGU6ZmFsc2V9LFxyXG4gICAgICAgICAgICAgICAge21lbnVUeXBlOidwZWRpZG9zJywgbmFtZToncGVkaWRvcyd9LFxyXG4gICAgICAgICAgICAgICAge21lbnVUeXBlOidwZWRpZG8nLCBuYW1lOidwZWRpZG8nLCB2aXNpYmxlOmZhbHNlfSxcclxuICAgICAgICAgICAgXX0sXHJcbiAgICAgICAgKSAgICAgICAgXHJcbiAgICAgICAgaWYoY29udGV4dC5lcy5hZG1pbil7XHJcbiAgICAgICAgICAgIG1lbnVzLnB1c2goXHJcbiAgICAgICAgICAgICAgICB7bWVudVR5cGU6J21lbnUnLCBuYW1lOidjb25maWd1cmFyJywgbWVudUNvbnRlbnQ6W1xyXG4gICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidwcm9kdWN0b3MnLCBsYWJlbDpcInByb2R1Y3RvcyAodG9kb3MpXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidjb25kaWNpb25faXZhJ30sXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J2l2YV9wcm9kdWN0b3MnfSxcclxuICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonY2F0ZWdvcmlhc19wcm9kdWN0byd9LFxyXG4gICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidlc3RhZG9zX3ByZXN1cHVlc3RvJ30sXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J2VzdGFkb3NfcGVkaWRvJ30sXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3VzdWFyaW9zJ30sXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3BhcmFtZXRyb3MnfSxcclxuICAgICAgICAgICAgICAgIF19LFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBtZW51Ok1lbnVEZWZpbml0aW9uID0ge1xyXG4gICAgICAgICAgICBtZW51Om1lbnVzXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiA8YmFja2VuZFBsdXMuTWVudURlZmluaXRpb24+bWVudTtcclxuICAgIH1cclxuICAgIHByZXBhcmVHZXRUYWJsZXMoKXtcclxuICAgICAgICBzdXBlci5wcmVwYXJlR2V0VGFibGVzKCk7XHJcbiAgICAgICAgdmFyIG5ld0xpc3Q9e1xyXG4gICAgICAgICAgICAuLi50aGlzLmdldFRhYmxlRGVmaW5pdGlvbixcclxuICAgICAgICAgICAgdXN1YXJpb3MsXHJcbiAgICAgICAgICAgIHBhcmFtZXRyb3MsXHJcbiAgICAgICAgICAgIGNvbmRpY2lvbl9pdmEsXHJcbiAgICAgICAgICAgIGVzdGFkb3NfcHJlc3VwdWVzdG8sXHJcbiAgICAgICAgICAgIHByZXN1cHVlc3RvcyxcclxuICAgICAgICAgICAgaXRlbXNfcHJlc3VwdWVzdG8sXHJcbiAgICAgICAgICAgIGVzdGFkb3NfcGVkaWRvLFxyXG4gICAgICAgICAgICBwZWRpZG9zLFxyXG4gICAgICAgICAgICBwZWRpZG9zX3ZlbmNpZG9zLFxyXG4gICAgICAgICAgICBwZWRpZG9zX3BlbmRpZW50ZXMsXHJcbiAgICAgICAgICAgIGl0ZW1zX3BlZGlkbyxcclxuICAgICAgICAgICAgY2xpZW50ZXMsXHJcbiAgICAgICAgICAgIGl2YV9wcm9kdWN0b3MsXHJcbiAgICAgICAgICAgIGNhdGVnb3JpYXNfcHJvZHVjdG8sXHJcbiAgICAgICAgICAgIHByb2R1Y3RvcyxcclxuICAgICAgICAgICAgcHJvZHVjdG9zX2NsaWVudGVzLFxyXG4gICAgICAgICAgICBwcm9kdWN0b3NfZ2VuZXJhbGVzLFxyXG4gICAgICAgICAgICBpbnN1bW9zLFxyXG4gICAgICAgICAgICBwcm9kdWN0b3NfaW5zdW1vcyxcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZSAvLyBwcm9ibGVtYSBjb24gZWwgcGFyw6FtZXRybyBkZSBjb250ZXh0LiBcclxuICAgICAgICB0aGlzLmdldFRhYmxlRGVmaW5pdGlvbj1uZXdMaXN0O1xyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbnRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZlci9hcHAtY29udGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFpQ2IsOENBOElDO0lBOUtELDRDQUE0QztJQUM1QywrREFBeUQ7SUFFekQsbUNBQW1DO0lBRW5DLDZDQUFzQztJQUd0Qyx5REFBZ0Q7SUFDaEQscURBQTRDO0lBQzVDLDJFQUFrRTtJQUNsRSw2REFBb0Q7SUFDcEQsdUVBQThEO0lBQzlELGlFQUF3RDtJQUN4RCxtREFBMEM7SUFDMUMscUVBQTREO0lBQzVELHlFQUFnRTtJQUNoRSw2REFBb0Q7SUFDcEQscURBQTRDO0lBQzVDLCtEQUFzRDtJQUN0RCwrREFBc0Q7SUFDdEQsdURBQThDO0lBQzlDLHlFQUFnRTtJQUNoRSwyRUFBa0U7SUFDbEUsMkVBQWtFO0lBQ2xFLG1EQUEwQztJQUMxQyx1RUFBOEQ7SUFNOUQsU0FBZ0IsaUJBQWlCLENBQWdELElBQU07UUFDckYsT0FBTyxNQUFNLFdBQVksU0FBUSxJQUFJO1lBQ25DLFlBQVksR0FBRyxJQUFVO2dCQUNyQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEIsQ0FBQztZQUNRLHNCQUFzQixDQUFDLE9BQTJCLEVBQUUsT0FBYztnQkFDdkUsSUFBSSxFQUFFLEdBQUMsSUFBSSxDQUFDO2dCQUNaLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQy9DLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLGdEQUFnRCxDQUFDLENBQUMsQ0FBQztnQkFDckYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFTLEdBQVcsRUFBQyxHQUFZLEVBQUUsSUFBaUI7b0JBQzVELElBQUcsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxP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QUFjO29CQUNkLE9BQU8sRUFBUCx1QkFBTztvQkFDUCxnQkFBZ0IsRUFBaEIseUNBQWdCO29CQUNoQixrQkFBa0IsRUFBbEIsNkNBQWtCO29CQUNsQixZQUFZLEVBQVosaUNBQVk7b0JBQ1osUUFBUSxFQUFSLHlCQUFRO29CQUNSLGFBQWEsRUFBYixtQ0FBYTtvQkFDYixtQkFBbUIsRUFBbkIsK0NBQW1CO29CQUNuQixTQUFTLEVBQVQsMkJBQVM7b0JBQ1Qsa0JBQWtCLEVBQWxCLDZDQUFrQjtvQkFDbEIsbUJBQW1CLEVBQW5CLCtDQUFtQjtvQkFDbkIsT0FBTyxFQUFQLHVCQUFPO29CQUNQLGlCQUFpQixFQUFqQiwyQ0FBaUI7aUJBQ3BCLENBQUE7Z0JBQ0QsdURBQXVEO2dCQUN2RCxJQUFJLENBQUMsa0JBQWtCLEdBQUMsT0FBTyxDQUFDO1lBQ3BDLENBQUM7WUFBQSxDQUFDO1NBQ0gsQ0FBQTtJQUNILENBQUM7SUFFVSxRQUFBLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuaW1wb3J0ICogYXMgYmFja2VuZFBsdXMgZnJvbSBcImJhY2tlbmQtcGx1c1wiO1xyXG5pbXBvcnQge1Byb2NlZHVyZXNDb250YWJsZX0gZnJvbSBcIi4vcHJvY2VkdXJlcy1jb250YWJsZVwiO1xyXG5pbXBvcnQge0NvbnRleHRSb2xlc30gZnJvbSBcIi4vdHlwZXMtY29udGFibGVcIjtcclxuaW1wb3J0ICogYXMgZXhwcmVzcyBmcm9tIFwiZXhwcmVzc1wiO1xyXG5cclxuaW1wb3J0IHtkZWZDb25maWd9IGZyb20gXCIuL2RlZi1jb25maWdcIlxyXG5pbXBvcnQgKiBhcyBtaW5pVG9vbHMgZnJvbSBcIm1pbmktdG9vbHNcIjtcclxuXHJcbmltcG9ydCB7IHBhcmFtZXRyb3MgfSBmcm9tIFwiLi90YWJsZS1wYXJhbWV0cm9zXCI7XHJcbmltcG9ydCB7IHVzdWFyaW9zIH0gZnJvbSBcIi4vdGFibGUtdXN1YXJpb3NcIjtcclxuaW1wb3J0IHsgZXN0YWRvc19wcmVzdXB1ZXN0byB9IGZyb20gXCIuL3RhYmxlLWVzdGFkb3NfcHJlc3VwdWVzdG9cIjtcclxuaW1wb3J0IHsgcHJlc3VwdWVzdG9zIH0gZnJvbSBcIi4vdGFibGUtcHJlc3VwdWVzdG9zXCI7XHJcbmltcG9ydCB7IGl0ZW1zX3ByZXN1cHVlc3RvIH0gZnJvbSBcIi4vdGFibGUtaXRlbXNfcHJlc3VwdWVzdG9cIjtcclxuaW1wb3J0IHsgZXN0YWRvc19wZWRpZG8gfSBmcm9tIFwiLi90YWJsZS1lc3RhZG9zX3BlZGlkb1wiO1xyXG5pbXBvcnQgeyBwZWRpZG9zIH0gZnJvbSBcIi4vdGFibGUtcGVkaWRvc1wiO1xyXG5pbXBvcnQgeyBwZWRpZG9zX3ZlbmNpZG9zIH0gZnJvbSBcIi4vdGFibGUtcGVkaWRvc192ZW5jaWRvc1wiO1xyXG5pbXBvcnQgeyBwZWRpZG9zX3BlbmRpZW50ZXMgfSBmcm9tIFwiLi90YWJsZS1wZWRpZG9zX3BlbmRpZW50ZXNcIjtcclxuaW1wb3J0IHsgaXRlbXNfcGVkaWRvIH0gZnJvbSBcIi4vdGFibGUtaXRlbXNfcGVkaWRvXCI7XHJcbmltcG9ydCB7IGNsaWVudGVzIH0gZnJvbSBcIi4vdGFibGUtY2xpZW50ZXNcIjtcclxuaW1wb3J0IHsgY29uZGljaW9uX2l2YSB9IGZyb20gXCIuL3RhYmxlLWNvbmRpY2lvbl9pdmFcIjtcclxuaW1wb3J0IHsgaXZhX3Byb2R1Y3RvcyB9IGZyb20gXCIuL3RhYmxlLWl2YV9wcm9kdWN0b3NcIjtcclxuaW1wb3J0IHsgcHJvZHVjdG9zIH0gZnJvbSBcIi4vdGFibGUtcHJvZHVjdG9zXCI7XHJcbmltcG9ydCB7IHByb2R1Y3Rvc19jbGllbnRlcyB9IGZyb20gXCIuL3RhYmxlLXByb2R1Y3Rvc19jbGllbnRlc1wiO1xyXG5pbXBvcnQgeyBwcm9kdWN0b3NfZ2VuZXJhbGVzIH0gZnJvbSBcIi4vdGFibGUtcHJvZHVjdG9zX2dlbmVyYWxlc1wiO1xyXG5pbXBvcnQgeyBjYXRlZ29yaWFzX3Byb2R1Y3RvIH0gZnJvbSBcIi4vdGFibGUtY2F0ZWdvcmlhc19wcm9kdWN0b1wiO1xyXG5pbXBvcnQgeyBpbnN1bW9zIH0gZnJvbSBcIi4vdGFibGUtaW5zdW1vc1wiO1xyXG5pbXBvcnQgeyBwcm9kdWN0b3NfaW5zdW1vcyB9IGZyb20gXCIuL3RhYmxlLXByb2R1Y3Rvc19pbnN1bW9zXCI7XHJcblxyXG5pbXBvcnQgeyBDb250ZXh0LCBSZXF1ZXN0LCBNZW51RGVmaW5pdGlvbiwgUmVzcG9uc2UsIE9wdHNDbGllbnRQYWdlLCBDbGllbnRNb2R1bGVEZWZpbml0aW9uIH0gZnJvbSBcImJhY2tlbmQtcGx1c1wiO1xyXG5pbXBvcnQgeyBOZXh0RnVuY3Rpb24gfSBmcm9tIFwiZXhwcmVzc1wiO1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uc3RydWN0b3I8VD4gPSBuZXcoLi4uYXJnczogYW55W10pID0+IFQ7XHJcbmV4cG9ydCBmdW5jdGlvbiBlbWVyZ2VBcHBDb250YWJsZTxUIGV4dGVuZHMgQ29uc3RydWN0b3I8YmFja2VuZFBsdXMuQXBwQmFja2VuZD4+KEJhc2U6VCl7XHJcbiAgcmV0dXJuIGNsYXNzIEFwcENvbnRhYmxlIGV4dGVuZHMgQmFzZXtcclxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6YW55W10peyBcclxuICAgICAgICBzdXBlcihhcmdzKTsgXHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBhZGRTY2hyw7ZkaW5nZXJTZXJ2aWNlcyhtYWluQXBwOmJhY2tlbmRQbHVzLkV4cHJlc3MsIGJhc2VVcmw6c3RyaW5nKXtcclxuICAgICAgICBsZXQgYmU9dGhpcztcclxuICAgICAgICBzdXBlci5hZGRTY2hyw7ZkaW5nZXJTZXJ2aWNlcyhtYWluQXBwLCBiYXNlVXJsKTtcclxuICAgICAgICBiZS5hcHAudXNlKCcvaW1nJywgZXhwcmVzcy5zdGF0aWMoJ25vZGVfbW9kdWxlcy9kbWVuY3UvZGlzdC91bmxvZ2dlZC91bmxvZ2dlZC9pbWcnKSk7XHJcbiAgICAgICAgbWFpbkFwcC51c2UoZnVuY3Rpb24ocmVxOlJlcXVlc3QscmVzOlJlc3BvbnNlLCBuZXh0Ok5leHRGdW5jdGlvbil7XHJcbiAgICAgICAgICAgIGlmKHJlcS5zZXNzaW9uICYmICFyZXEuc2Vzc2lvbi5pbnN0YWxsKXtcclxuICAgICAgICAgICAgICAgIHJlcS5zZXNzaW9uLmluc3RhbGw9TWF0aC5yYW5kb20oKS50b1N0cmluZygpLnJlcGxhY2UoJy4nLCcnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBuZXh0KCk7XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGFkZExvZ2dlZFNlcnZpY2VzKCl7XHJcbiAgICAgICAgc3VwZXIuYWRkTG9nZ2VkU2VydmljZXMoKTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGFzeW5jIHBvc3RDb25maWcoKXtcclxuICAgICAgICBhd2FpdCBzdXBlci5wb3N0Q29uZmlnKCk7XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBjb25maWdTdGF0aWNDb25maWcoKXtcclxuICAgICAgICBzdXBlci5jb25maWdTdGF0aWNDb25maWcoKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRpY0NvbmZpZyhkZWZDb25maWcpO1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgY2xpZW50SW5jbHVkZXMocmVxOlJlcXVlc3QsIG9wdHM6T3B0c0NsaWVudFBhZ2UpOkNsaWVudE1vZHVsZURlZmluaXRpb25bXSB7XHJcbiAgICAgICAgdmFyIGJlID0gdGhpcztcclxuICAgICAgICB2YXIgbG9nZ2VkID0gcmVxICYmIG9wdHMgJiYgIW9wdHMuc2tpcE1lbnUgO1xyXG4gICAgICAgIHZhciBtZW51ZWRSZXNvdXJjZXM9bG9nZ2VkID8gW1xyXG4gICAgICAgICAgICB7IHR5cGU6J2pzJyAsIHNyYzogJ2NsaWVudC9jbGllbnQuanMnIH0sXHJcbiAgICAgICAgXTpbXHJcbiAgICAgICAgICAgIHt0eXBlOidqcycgLCBzcmM6J3VubG9nZ2VkLmpzJyB9LFxyXG4gICAgICAgIF07XHJcbiAgICAgICAgaWYob3B0cyAmJiBvcHRzLmV4dHJhRmlsZXMpe1xyXG4gICAgICAgICAgICBtZW51ZWRSZXNvdXJjZXMgPSBtZW51ZWRSZXNvdXJjZXMuY29uY2F0KG9wdHMuZXh0cmFGaWxlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAncmVhY3QnLCBtb2RQYXRoOiAndW1kJywgZmlsZURldmVsb3BtZW50OidyZWFjdC5kZXZlbG9wbWVudC5qcycsIGZpbGU6J3JlYWN0LnByb2R1Y3Rpb24ubWluLmpzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ3JlYWN0LWRvbScsIG1vZFBhdGg6ICd1bWQnLCBmaWxlRGV2ZWxvcG1lbnQ6J3JlYWN0LWRvbS5kZXZlbG9wbWVudC5qcycsIGZpbGU6J3JlYWN0LWRvbS5wcm9kdWN0aW9uLm1pbi5qcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBtb2R1bGU6ICdAbWF0ZXJpYWwtdWkvY29yZScsIG1vZFBhdGg6ICd1bWQnLCBmaWxlRGV2ZWxvcG1lbnQ6J21hdGVyaWFsLXVpLmRldmVsb3BtZW50LmpzJywgZmlsZTonbWF0ZXJpYWwtdWkucHJvZHVjdGlvbi5taW4uanMnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnY2xzeCcsIGZpbGU6J2Nsc3gubWluLmpzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ3JlZHV4JywgbW9kUGF0aDonLi4vZGlzdCcsIGZpbGVEZXZlbG9wbWVudDoncmVkdXguanMnLCBmaWxlOidyZWR1eC5taW4uanMnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAncmVhY3QtcmVkdXgnLCBtb2RQYXRoOicuLi9kaXN0JywgZmlsZURldmVsb3BtZW50OidyZWFjdC1yZWR1eC5qcycsIGZpbGU6J3JlYWN0LXJlZHV4Lm1pbi5qcycgfSxcclxuICAgICAgICAgICAgLi4uc3VwZXIuY2xpZW50SW5jbHVkZXMocmVxLCBvcHRzKSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBtb2R1bGU6ICdyZWR1eC10eXBlZC1yZWR1Y2VyJywgbW9kUGF0aDonLi4vZGlzdCcsIGZpbGU6J3JlZHV4LXR5cGVkLXJlZHVjZXIuanMnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgc3JjOiAnYWRhcHQuanMnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgc3JjOiAnY2xpZW50L3RpcG9zLmpzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIHNyYzogJ2NsaWVudC9yZWR1eC1mb3JtdWxhcmlvLmpzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIHNyYzogJ2NsaWVudC9yZW5kZXItZ2VuZXJhbC5qcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBzcmM6ICdjbGllbnQvcmVuZGVyLWhhbmRsZXJzLmpzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIHNyYzogJ2NsaWVudC9yZW5kZXItY29tcG9uZW50cy5qcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnY3NzJywgZmlsZTogJ21lbnUuY3NzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6J2NzcycsIGZpbGU6J3N0eWxlcy5jc3MnfSxcclxuICAgICAgICAgICAgLi4uIG1lbnVlZFJlc291cmNlc1xyXG4gICAgICAgIF1cclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGdldENvbnRleHRGb3JEdW1wKCl7XHJcbiAgICAgICAgcmV0dXJuIHtlczp7YWRtaW46dHJ1ZSwgZ2FiaW5ldGU6dHJ1ZSwgY29vcmRpbmFkb3I6dHJ1ZSwgZW5jdWVzdGFkb3I6dHJ1ZX0sIC4uLnN1cGVyLmdldENvbnRleHRGb3JEdW1wKCl9O1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgZ2V0Q29udGV4dChyZXE6UmVxdWVzdCk6Q29udGV4dCZDb250ZXh0Um9sZXN7XHJcbiAgICAgICAgdmFyIGNvbnRleHQgPSBzdXBlci5nZXRDb250ZXh0KHJlcSk7XHJcbiAgICAgICAgdmFyIGNyOkNvbnRleHRSb2xlcztcclxuICAgICAgICAvLyBAdHMtaWdub3JlIC8vIGluaWNpYWxpem8gdmFjw61vIHBlcm8gZGVzcHXDqXMgYWdyZWdvIHRvZG9cclxuICAgICAgICB2YXIgZXM6dHlwZW9mIGNyLmVzPXt9O1xyXG4gICAgICAgIGlmKHJlcS51c2VyKXtcclxuICAgICAgICAgICAgZXMuYWRtaW4gICAgICAgPSByZXEudXNlci5yb2w9PSdhZG1pbic7XHJcbiAgICAgICAgICAgIC8vZXMuZ2FiaW5ldGUgICAgPSByZXEudXNlci5yb2w9PSdnYWJpbmV0ZScgICAgfHwgZXMuYWRtaW4gO1xyXG4gICAgICAgICAgICAvL2VzLmNvb3JkaW5hZG9yID0gcmVxLnVzZXIucm9sPT0nY29vcmRpbmFkb3InIHx8IGVzLmdhYmluZXRlIDtcclxuICAgICAgICAgICAgLy9lcy5lbmN1ZXN0YWRvciA9IHJlcS51c2VyLnJvbD09J2VuY3Vlc3RhZG9yJyB8fCBlcy5jb29yZGluYWRvciA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7ZXMsIC4uLmNvbnRleHR9O1xyXG4gICAgfVxyXG4gICAgYXN5bmMgZ2V0UHJvY2VkdXJlcygpe1xyXG4gICAgICAgIHZhciBwYXJlbnRQcm9jID0gYXdhaXQgc3VwZXIuZ2V0UHJvY2VkdXJlcygpO1xyXG4gICAgICAgIHJldHVybiBwYXJlbnRQcm9jLmNvbmNhdChQcm9jZWR1cmVzQ29udGFibGUpO1xyXG4gICAgfVxyXG4gICAgZ2V0TWVudShjb250ZXh0OkNvbnRleHQmQ29udGV4dFJvbGVzKXtcclxuICAgICAgICB2YXIgbWVudXM6YmFja2VuZFBsdXMuTWVudUluZm9CYXNlW109W107XHJcbiAgICAgICAgbWVudXMucHVzaChcclxuICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZXJvJywgbmFtZTondGFibGVybycsIHNlbGVjdGVkQnlEZWZhdWx0OnRydWV9LFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbWVudXMucHVzaChcclxuICAgICAgICAgICAge21lbnVUeXBlOidtZW51JywgbmFtZTonZ2VzdGlvbmFyJywgbWVudUNvbnRlbnQ6W1xyXG4gICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J2NsaWVudGVzJ30sXHJcbiAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZToncHJvZHVjdG9zX2dlbmVyYWxlcycsIGxhYmVsOlwicHJvZHVjdG9zXCJ9LFxyXG4gICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3Byb2R1Y3Rvc19jbGllbnRlcyd9LFxyXG4gICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J2luc3Vtb3MnfSxcclxuICAgICAgICAgICAgICAgIC8ve21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3Byb2R1Y3Rvc19pbnN1bW9zJ30sXHJcbiAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3ByZXN1cHVlc3RvcycsIG5hbWU6J3ByZXN1cHVlc3Rvcyd9LFxyXG4gICAgICAgICAgICAgICAge21lbnVUeXBlOidwcmVzdXB1ZXN0bycsIG5hbWU6J3ByZXN1cHVlc3RvJywgdmlzaWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3BlZGlkb3MnLCBuYW1lOidwZWRpZG9zJ30sXHJcbiAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3BlZGlkbycsIG5hbWU6J3BlZGlkbycsIHZpc2libGU6ZmFsc2V9LFxyXG4gICAgICAgICAgICBdfSxcclxuICAgICAgICApICAgICAgICBcclxuICAgICAgICBpZihjb250ZXh0LmVzLmFkbWluKXtcclxuICAgICAgICAgICAgbWVudXMucHVzaChcclxuICAgICAgICAgICAgICAgIHttZW51VHlwZTonbWVudScsIG5hbWU6J2NvbmZpZ3VyYXInLCBtZW51Q29udGVudDpbXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3Byb2R1Y3RvcycsIGxhYmVsOlwicHJvZHVjdG9zICh0b2RvcylcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J2NvbmRpY2lvbl9pdmEnfSxcclxuICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonaXZhX3Byb2R1Y3Rvcyd9LFxyXG4gICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidjYXRlZ29yaWFzX3Byb2R1Y3RvJ30sXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J2VzdGFkb3NfcHJlc3VwdWVzdG8nfSxcclxuICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonZXN0YWRvc19wZWRpZG8nfSxcclxuICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTondXN1YXJpb3MnfSxcclxuICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZToncGFyYW1ldHJvcyd9LFxyXG4gICAgICAgICAgICAgICAgXX0sXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG1lbnU6TWVudURlZmluaXRpb24gPSB7XHJcbiAgICAgICAgICAgIG1lbnU6bWVudXNcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIDxiYWNrZW5kUGx1cy5NZW51RGVmaW5pdGlvbj5tZW51O1xyXG4gICAgfVxyXG4gICAgcHJlcGFyZUdldFRhYmxlcygpe1xyXG4gICAgICAgIHN1cGVyLnByZXBhcmVHZXRUYWJsZXMoKTtcclxuICAgICAgICB2YXIgbmV3TGlzdD17XHJcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0VGFibGVEZWZpbml0aW9uLFxyXG4gICAgICAgICAgICB1c3VhcmlvcyxcclxuICAgICAgICAgICAgcGFyYW1ldHJvcyxcclxuICAgICAgICAgICAgY29uZGljaW9uX2l2YSxcclxuICAgICAgICAgICAgZXN0YWRvc19wcmVzdXB1ZXN0byxcclxuICAgICAgICAgICAgcHJlc3VwdWVzdG9zLFxyXG4gICAgICAgICAgICBpdGVtc19wcmVzdXB1ZXN0byxcclxuICAgICAgICAgICAgZXN0YWRvc19wZWRpZG8sXHJcbiAgICAgICAgICAgIHBlZGlkb3MsXHJcbiAgICAgICAgICAgIHBlZGlkb3NfdmVuY2lkb3MsXHJcbiAgICAgICAgICAgIHBlZGlkb3NfcGVuZGllbnRlcyxcclxuICAgICAgICAgICAgaXRlbXNfcGVkaWRvLFxyXG4gICAgICAgICAgICBjbGllbnRlcyxcclxuICAgICAgICAgICAgaXZhX3Byb2R1Y3RvcyxcclxuICAgICAgICAgICAgY2F0ZWdvcmlhc19wcm9kdWN0byxcclxuICAgICAgICAgICAgcHJvZHVjdG9zLFxyXG4gICAgICAgICAgICBwcm9kdWN0b3NfY2xpZW50ZXMsXHJcbiAgICAgICAgICAgIHByb2R1Y3Rvc19nZW5lcmFsZXMsXHJcbiAgICAgICAgICAgIGluc3Vtb3MsXHJcbiAgICAgICAgICAgIHByb2R1Y3Rvc19pbnN1bW9zLFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBAdHMtaWdub3JlIC8vIHByb2JsZW1hIGNvbiBlbCBwYXLDoW1ldHJvIGRlIGNvbnRleHQuIFxyXG4gICAgICAgIHRoaXMuZ2V0VGFibGVEZWZpbml0aW9uPW5ld0xpc3Q7XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IHZhciBBcHBDb250YWJsZSA9IGVtZXJnZUFwcENvbnRhYmxlKGJhY2tlbmRQbHVzLkFwcEJhY2tlbmQpO1xyXG5leHBvcnQgdHlwZSBBcHBDb250YWJsZVR5cGUgPSBJbnN0YW5jZVR5cGU8dHlwZW9mIEFwcENvbnRhYmxlPjsiXX0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "contable",
3
3
  "description": "Sistema contable",
4
- "version": "0.0.2",
4
+ "version": "0.0.3",
5
5
  "author": "Manuel De la Penna <manueldelapenna@gmail.com>",
6
6
  "license": "MIT",
7
7
  "main": "dist/server/server-contable.js",