@hotstaq/admin-panel 0.2.8 → 0.2.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"admin-dashboard.d.ts","sourceRoot":"","sources":["../../src/components/admin-dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7D,qBAAa,cAAe,SAAQ,YAAY;IAE/C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;gBAEA,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAStD;;OAEG;IACH,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW;IASnF,MAAM,IAAK,MAAM;CAejB"}
1
+ {"version":3,"file":"admin-dashboard.d.ts","sourceRoot":"","sources":["../../src/components/admin-dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7D,qBAAa,cAAe,SAAQ,YAAY;IAE/C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;gBAEA,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAStD;;OAEG;IACH,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW;IA2BnF,MAAM,IAAK,MAAM;CAejB"}
@@ -31,8 +31,20 @@ var AdminDashboard = /** @class */ (function (_super) {
31
31
  */
32
32
  AdminDashboard.prototype.onPostPlace = function (parentHtmlElement, htmlElement) {
33
33
  // Set the base API url to use for this dashboard.
34
- if (this.base != "")
35
- hotstaq_1.Hot.Data.baseUrl = this.base;
34
+ if (this.base != "") {
35
+ if (hotstaq_1.Hot.Data.AdminPanel == null)
36
+ hotstaq_1.Hot.Data.AdminPanel = {};
37
+ if (hotstaq_1.Hot.Data.AdminPanel.baseUrl == null)
38
+ hotstaq_1.Hot.Data.AdminPanel.baseUrl = this.base;
39
+ if (hotstaq_1.Hot.Data.AdminPanel.addUrl == null)
40
+ hotstaq_1.Hot.Data.AdminPanel.addUrl = "".concat(hotstaq_1.Hot.Data.AdminPanel.baseUrl, "/v1/data/add");
41
+ if (hotstaq_1.Hot.Data.AdminPanel.editUrl == null)
42
+ hotstaq_1.Hot.Data.AdminPanel.editUrl = "".concat(hotstaq_1.Hot.Data.AdminPanel.baseUrl, "/v1/data/edit");
43
+ if (hotstaq_1.Hot.Data.AdminPanel.removeUrl == null)
44
+ hotstaq_1.Hot.Data.AdminPanel.removeUrl = "".concat(hotstaq_1.Hot.Data.AdminPanel.baseUrl, "/v1/data/remove");
45
+ if (hotstaq_1.Hot.Data.AdminPanel.listUrl == null)
46
+ hotstaq_1.Hot.Data.AdminPanel.listUrl = "".concat(hotstaq_1.Hot.Data.AdminPanel.baseUrl, "/v1/data/list");
47
+ }
36
48
  return (null);
37
49
  };
38
50
  AdminDashboard.prototype.output = function () {
@@ -1 +1 @@
1
- {"version":3,"file":"admin-dashboard.js","sourceRoot":"","sources":["../../src/components/admin-dashboard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,mCAA6D;AAE7D;IAAoC,kCAAY;IAW/C,wBAAa,IAA4B,EAAE,GAAW;QAAtD,YAEC,kBAAO,IAAI,EAAE,GAAG,CAAC,SAKjB;QAHA,KAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC;QAC7B,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,KAAI,CAAC,IAAI,GAAG,EAAE,CAAC;;IAChB,CAAC;IAED;;OAEG;IACH,oCAAW,GAAX,UAAa,iBAA8B,EAAE,WAAwB;QAEpE,kDAAkD;QAClD,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;YAClB,aAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAE9B,OAAO,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,+BAAM,GAAN;QAEC,OAAO,CAAC,gOAGW,IAAI,CAAC,KAAK,8RAQrB,CAAC,CAAC;IACX,CAAC;IACF,qBAAC;AAAD,CAAC,AA/CD,CAAoC,sBAAY,GA+C/C;AA/CY,wCAAc"}
1
+ {"version":3,"file":"admin-dashboard.js","sourceRoot":"","sources":["../../src/components/admin-dashboard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,mCAA6D;AAE7D;IAAoC,kCAAY;IAW/C,wBAAa,IAA4B,EAAE,GAAW;QAAtD,YAEC,kBAAO,IAAI,EAAE,GAAG,CAAC,SAKjB;QAHA,KAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC;QAC7B,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,KAAI,CAAC,IAAI,GAAG,EAAE,CAAC;;IAChB,CAAC;IAED;;OAEG;IACH,oCAAW,GAAX,UAAa,iBAA8B,EAAE,WAAwB;QAEpE,kDAAkD;QAClD,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EACnB;YACC,IAAI,aAAG,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI;gBAC9B,aAAG,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAE1B,IAAI,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI;gBACtC,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;YAEzC,IAAI,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI;gBACrC,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,UAAG,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,iBAAc,CAAA;YAE1E,IAAI,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI;gBACtC,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,UAAG,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,kBAAe,CAAA;YAE5E,IAAI,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI;gBACxC,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,UAAG,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,oBAAiB,CAAA;YAEhF,IAAI,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI;gBACtC,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,UAAG,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,kBAAe,CAAA;SAC5E;QAED,OAAO,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,+BAAM,GAAN;QAEC,OAAO,CAAC,gOAGW,IAAI,CAAC,KAAK,8RAQrB,CAAC,CAAC;IACX,CAAC;IACF,qBAAC;AAAD,CAAC,AAjED,CAAoC,sBAAY,GAiE/C;AAjEY,wCAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-edit.d.ts","sourceRoot":"","sources":["../../src/components/admin-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEjF,OAAO,SAAS,MAAM,WAAW,CAAC;AAIlC,qBAAa,SAAU,SAAQ,YAAY;IAE1C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;KAAE,CAAC;IACxC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;IACvB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC;gBAEnB,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAmBtD;;;OAGG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAQ;IAE5C;;OAEG;IACG,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;IAyBlC;;;OAGG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAQ;IAE7C;;OAEG;IACG,WAAW,IAAK,OAAO,CAAC,IAAI,CAAC;IAsCnC;;;OAGG;IACH,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAQ;IAE/C;;OAEG;IACG,aAAa,IAAK,OAAO,CAAC,IAAI,CAAC;IAiErC;;OAEG;IACG,MAAM;IA2EZ;;OAEG;IACH,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW;IAWnF,MAAM,IAAK,MAAM,GAAG,kBAAkB,EAAE;CA2CxC"}
1
+ {"version":3,"file":"admin-edit.d.ts","sourceRoot":"","sources":["../../src/components/admin-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEjF,OAAO,SAAS,MAAM,WAAW,CAAC;AAIlC,qBAAa,SAAU,SAAQ,YAAY;IAE1C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;KAAE,CAAC;IACxC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;IACvB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC;gBAEnB,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAmBtD;;;OAGG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAQ;IAE5C;;OAEG;IACG,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;IAyBlC;;;OAGG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAQ;IAE7C;;OAEG;IACG,WAAW,IAAK,OAAO,CAAC,IAAI,CAAC;IAsCnC;;;OAGG;IACH,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAQ;IAE/C;;OAEG;IACG,aAAa,IAAK,OAAO,CAAC,IAAI,CAAC;IAmErC;;OAEG;IACG,MAAM;IA+EZ;;OAEG;IACH,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW;IAWnF,MAAM,IAAK,MAAM,GAAG,kBAAkB,EAAE;CA2CxC"}
@@ -161,7 +161,7 @@ var AdminEdit = /** @class */ (function (_super) {
161
161
  */
162
162
  AdminEdit.prototype.removeClicked = function () {
163
163
  return __awaiter(this, void 0, void 0, function () {
164
- var result, attachedList, hotComponent, checkedRows, whereFields, i, checkedRow, selectedField, confirmed, i, whereField, key, fieldType;
164
+ var result, attachedList, hotComponent, checkedRows, whereFields, i, checkedRow, selectedField, confirmed, i, whereField, key, fieldType, removeUrl;
165
165
  return __generator(this, function (_a) {
166
166
  switch (_a.label) {
167
167
  case 0:
@@ -203,7 +203,8 @@ var AdminEdit = /** @class */ (function (_super) {
203
203
  delete whereField[key];
204
204
  }
205
205
  }
206
- return [4 /*yield*/, hotstaq_1.Hot.jsonRequest("".concat(hotstaq_1.Hot.Data.baseUrl, "/v1/data/remove"), {
206
+ removeUrl = hotstaq_1.Hot.Data.AdminPanel.removeUrl;
207
+ return [4 /*yield*/, hotstaq_1.Hot.jsonRequest(removeUrl, {
207
208
  schema: this.schema,
208
209
  whereFields: whereField
209
210
  })];
@@ -227,7 +228,7 @@ var AdminEdit = /** @class */ (function (_super) {
227
228
  */
228
229
  AdminEdit.prototype.onSave = function () {
229
230
  return __awaiter(this, void 0, void 0, function () {
230
- var values, key, fieldElement, value, fieldType, selectedField, whereFields, key, fieldElement, value, fieldType, attachedList, table;
231
+ var values, key, fieldElement, value, fieldType, addUrl, selectedField, whereFields, key, fieldElement, value, fieldType, editUrl, attachedList, table;
231
232
  return __generator(this, function (_a) {
232
233
  switch (_a.label) {
233
234
  case 0:
@@ -243,7 +244,8 @@ var AdminEdit = /** @class */ (function (_super) {
243
244
  }
244
245
  }
245
246
  if (!(this.modalType === "add")) return [3 /*break*/, 2];
246
- return [4 /*yield*/, hotstaq_1.Hot.jsonRequest("".concat(hotstaq_1.Hot.Data.baseUrl, "/v1/data/add"), {
247
+ addUrl = hotstaq_1.Hot.Data.AdminPanel.addUrl;
248
+ return [4 /*yield*/, hotstaq_1.Hot.jsonRequest(addUrl, {
247
249
  schema: this.schema,
248
250
  fields: values
249
251
  })];
@@ -268,7 +270,8 @@ var AdminEdit = /** @class */ (function (_super) {
268
270
  }
269
271
  whereFields[key] = value;
270
272
  }
271
- return [4 /*yield*/, hotstaq_1.Hot.jsonRequest("".concat(hotstaq_1.Hot.Data.baseUrl, "/v1/data/edit"), {
273
+ editUrl = hotstaq_1.Hot.Data.AdminPanel.editUrl;
274
+ return [4 /*yield*/, hotstaq_1.Hot.jsonRequest(editUrl, {
272
275
  schema: this.schema,
273
276
  whereFields: whereFields,
274
277
  fields: values
@@ -1 +1 @@
1
- {"version":3,"file":"admin-edit.js","sourceRoot":"","sources":["../../src/components/admin-edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-edit.js","sourceRoot":"","sources":["../../src/components/admin-edit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-table.d.ts","sourceRoot":"","sources":["../../src/components/admin-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,UAAW,SAAQ,YAAY;IAE3C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;KAAE,CAAM;IAC9C;;;;OAIG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;;;;;;;;;OAaG;IACH,WAAW,EAAE;QAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC;KAAE,EAAE,CAAM;IAC7D;;;;OAIG;IAEH;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IActD;;OAEG;IACH,SAAS,CAAE,iBAAiB,EAAE,WAAW;IAYzC;;OAEG;IACH,iBAAiB,CAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW;IASxE;;OAEG;IACH,YAAY,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAaxC;;OAEG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAQ;IAE7D;;OAEG;IACG,SAAS,CAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqD3E;;OAEG;IACH,WAAW,IAAK,GAAG,EAAE;IAUrB;;OAEG;IAcH;;OAEG;IACH,cAAc,IAAK,GAAG,EAAE;IA4BxB;;OAEG;IACH,MAAM,CAAE,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE;IAK7B;;;;OAIG;IACH,MAAM,CAAE,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE;IAqCzC;;OAEG;IACG,SAAS;IAOf;;OAEG;IACG,WAAW;IAgBjB;;OAEG;IACH,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW;IAUnF,MAAM,IAAK,MAAM,GAAG,kBAAkB,EAAE;CAmBxC"}
1
+ {"version":3,"file":"admin-table.d.ts","sourceRoot":"","sources":["../../src/components/admin-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,UAAW,SAAQ,YAAY;IAE3C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;KAAE,CAAM;IAC9C;;;;OAIG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;;;;;;;;;OAaG;IACH,WAAW,EAAE;QAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC;KAAE,EAAE,CAAM;IAC7D;;;;OAIG;IAEH;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IActD;;OAEG;IACH,SAAS,CAAE,iBAAiB,EAAE,WAAW;IAYzC;;OAEG;IACH,iBAAiB,CAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW;IASxE;;OAEG;IACH,YAAY,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAaxC;;OAEG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAQ;IAE7D;;OAEG;IACG,SAAS,CAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqD3E;;OAEG;IACH,WAAW,IAAK,GAAG,EAAE;IAUrB;;OAEG;IAcH;;OAEG;IACH,cAAc,IAAK,GAAG,EAAE;IA4BxB;;OAEG;IACH,MAAM,CAAE,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE;IAK7B;;;;OAIG;IACH,MAAM,CAAE,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE;IAqCzC;;OAEG;IACG,SAAS;IAOf;;OAEG;IACG,WAAW;IAkBjB;;OAEG;IACH,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW;IAUnF,MAAM,IAAK,MAAM,GAAG,kBAAkB,EAAE;CAmBxC"}
@@ -257,12 +257,14 @@ var AdminTable = /** @class */ (function (_super) {
257
257
  */
258
258
  AdminTable.prototype.refreshList = function () {
259
259
  return __awaiter(this, void 0, void 0, function () {
260
- var list, iIdx, fields;
260
+ var listUrl, list, iIdx, fields;
261
261
  return __generator(this, function (_a) {
262
262
  switch (_a.label) {
263
- case 0: return [4 /*yield*/, hotstaq_1.Hot.jsonRequest("".concat(hotstaq_1.Hot.Data.baseUrl, "/v1/data/list"), {
264
- schema: this.schema
265
- })];
263
+ case 0:
264
+ listUrl = hotstaq_1.Hot.Data.AdminPanel.listUrl;
265
+ return [4 /*yield*/, hotstaq_1.Hot.jsonRequest(listUrl, {
266
+ schema: this.schema
267
+ })];
266
268
  case 1:
267
269
  list = _a.sent();
268
270
  this.clearRows();
@@ -1 +1 @@
1
- {"version":3,"file":"admin-table.js","sourceRoot":"","sources":["../../src/components/admin-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-table.js","sourceRoot":"","sources":["../../src/components/admin-table.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var AdminPanelComponentsWeb;(()=>{"use strict";var t={176:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(l,o){function d(t){try{a(i.next(t))}catch(t){o(t)}}function s(t){try{a(i.throw(t))}catch(t){o(t)}}function a(t){var e;t.done?l(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(d,s)}a((i=i.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminButton=void 0;const l=n(607);class o extends l.HotComponent{constructor(t,e){super(t,e),this.tag="admin-button"}buttonClicked(){return i(this,void 0,void 0,(function*(){}))}output(){return`<button id = "${this.htmlElements[0].id}" onclick = "this.buttonClicked ();"></button>`}}e.AdminButton=o},50:(t,e,n)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AdminDashboard=void 0;const i=n(607);class l extends i.HotComponent{constructor(t,e){super(t,e),this.tag="admin-dashboard",this.title="",this.base=""}onPostPlace(t,e){return""!=this.base&&(i.Hot.Data.baseUrl=this.base),null}output(){return`\n\t\t<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4">\n\t\t\t<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">\n\t\t\t\t<h1 class="h2">${this.title}</h1>\n\t\t\t\t<div class="btn-toolbar mb-2 mb-md-0">\n\t\t\t\t\t<div class="btn-group me-2">\n\t\t\t\t\t\t<hot-place-here name = "buttons"></hot-place-here>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<hot-place-here name = "body"></hot-place-here>\n\t\t</main>`}}e.AdminDashboard=l},703:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(l,o){function d(t){try{a(i.next(t))}catch(t){o(t)}}function s(t){try{a(i.throw(t))}catch(t){o(t)}}function a(t){var e;t.done?l(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(d,s)}a((i=i.apply(t,e||[])).next())}))},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminEdit=void 0;const o=n(607),d=l(n(685));class s extends o.HotComponent{constructor(t,e){super(t,e),this.onAddClicked=null,this.onEditClicked=null,this.onRemoveClicked=null,this.tag="admin-edit",this.title="",this.button_title="",this.attached_list="",this.schema="",this.fieldElements={},this.modalId="",this.modal=null,this.modalType="add",this.closeOnSave=!0,this.selectedFields=[]}addClicked(){return i(this,void 0,void 0,(function*(){if(null==this.onAddClicked||!1!==(yield this.onAddClicked())){this.modalType="add";for(let t in this.fieldElements)this.fieldElements[t].value="";this.selectedFields=[],d.default.Modal.getInstance(`#${this.modalId}`).show()}}))}editClicked(){return i(this,void 0,void 0,(function*(){if(null!=this.onEditClicked&&!1===(yield this.onEditClicked()))return;this.modalType="edit";let t=document.getElementById(this.attached_list).hotComponent.getSelected();if(null!=t){for(let e in this.fieldElements){let n=this.fieldElements[e];if(null!=n){let i=t[e];n.value=i}}this.selectedFields=[t],d.default.Modal.getInstance(`#${this.modalId}`).show()}}))}removeClicked(){return i(this,void 0,void 0,(function*(){if(null!=this.onRemoveClicked&&!1===(yield this.onRemoveClicked()))return;this.modalType="remove";let t=document.getElementById(this.attached_list).hotComponent,e=t.getCheckedRows(),n=[];if(e.length>0)for(let t=0;t<e.length;t++){let i=e[t];n.push(i)}let i=t.getSelected();if(null!=i&&(n=[i]),n.length>0&&!0===confirm("Are you sure you want to remove this item?")){for(let e=0;e<n.length;e++){let i=n[e];for(let e in i){let n=t.getFieldType(e);null!=n&&"remove"===n&&delete i[e]}yield o.Hot.jsonRequest(`${o.Hot.Data.baseUrl}/v1/data/remove`,{schema:this.schema,whereFields:i})}yield t.refreshList()}}))}onSave(){return i(this,void 0,void 0,(function*(){let t={};for(let e in this.fieldElements){let n=this.fieldElements[e];if(null!=n){let i=n.value;if("remove"===n.parentNode.hotComponent.field_type)continue;t[e]=i}}if("add"===this.modalType&&(yield o.Hot.jsonRequest(`${o.Hot.Data.baseUrl}/v1/data/add`,{schema:this.schema,fields:t})),"edit"===this.modalType){if(0===this.selectedFields.length)return void alert("No item(s) selected!");let e=this.selectedFields[0],n={};for(let t in e){let i=this.fieldElements[t],l=e[t];null!=i&&"remove"===i.parentNode.hotComponent.field_type||(n[t]=l)}yield o.Hot.jsonRequest(`${o.Hot.Data.baseUrl}/v1/data/edit`,{schema:this.schema,whereFields:n,fields:t})}let e=document.getElementById(this.attached_list).hotComponent;yield e.refreshList(),!0===this.closeOnSave&&d.default.Modal.getInstance(`#${this.modalId}`).hide()}))}onPostPlace(t,e){return this.modal=new d.default.Modal($(`#${this.modalId}`)[0],{backdrop:!0,keyboard:!0,focus:!0}),null}output(){if(""===this.name)throw new Error("You must specify a name for each admin-edit element!");return this.modalId=`${this.name}Modal`,[{html:`\n\t\t\t\x3c!-- ${this.title} Modal Start --\x3e\n\t\t\t<div class="modal fade" id="${this.modalId}" tabindex="-1" aria-labelledby="${this.name}ModalLabel" aria-hidden="true">\n\t\t\t\t<div class="modal-dialog">\n\t\t\t\t\t<div class="modal-content">\n\t\t\t\t\t<div class="modal-header">\n\t\t\t\t\t\t<h5 class="modal-title" id="${this.name}ModalLabel">${this.title}</h5>\n\t\t\t\t\t\t<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="modal-body">\n\t\t\t\t\t\t<hot-place-here name = "modalBody" type = "modal"></hot-place-here>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="modal-footer">\n\t\t\t\t\t\t<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>\n\t\t\t\t\t\t<button type="button" class="btn btn-primary" onclick = "document.getElementById('${this.modalId}').onSave ();">${this.button_title}</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t\x3c!-- ${this.title} Modal End --\x3e`,documentSelector:"body"},{html:`<button id = "${this.modalId}-add-btn" type="button" class="btn btn-sm btn-outline-secondary" onclick = "this.addClicked ();">Add</button>`,documentSelector:'hot-place-here[name="buttons"]'},{html:`<button id = "${this.modalId}-edit-btn" type="button" class="btn btn-sm btn-outline-secondary" onclick = "this.editClicked ();">Edit</button>`,documentSelector:'hot-place-here[name="buttons"]'},{html:`<button id = "${this.modalId}-edit-btn" type="button" class="btn btn-sm btn-outline-secondary" onclick = "this.removeClicked ();">Remove</button>`,documentSelector:'hot-place-here[name="buttons"]'}]}}e.AdminEdit=s},505:(t,e,n)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AdminTableField=void 0;const i=n(607);class l extends i.HotComponent{constructor(t,e){super(t,e),this.tag="admin-table-field",this.field=0,this.field_type="text",this.no_output="0"}onPostPlace(t,e){let n=null;return n=null!=t.parentNode.parentNode.hotComponent?t.parentNode.parentNode.hotComponent:t.parentNode.parentNode.parentNode.parentNode.hotComponent,null!=n&&n.addHeaderDataOnly(this,e),null}output(){return"1"===this.no_output?[{html:"<div></div>",placeHereParent:"afterTable"}]:[{html:`<th>${this.inner}</th>`,documentSelector:"[hot-place-here='header']"}]}}e.AdminTableField=l},412:(t,e,n)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AdminTableRow=void 0;const i=n(607);class l extends i.HotComponent{constructor(t,e){super(t,e),this.tag="admin-table-row",this.fields=[]}onPostPlace(t,e){return t.parentNode.parentNode.parentNode.hotComponent.rowElements.push({fields:this.fields,element:e}),null}output(){let t="";this.fields.length>0&&(t+='<td><input type = "checkbox" /></td>');for(let e=0;e<this.fields.length;e++){let n=this.fields[e];for(let e in n)t+=`<td>${n[e]}</td>`}return[{html:`<tr>${t}</tr>`,documentSelector:"[hot-place-here='results']"}]}}e.AdminTableRow=l},952:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(l,o){function d(t){try{a(i.next(t))}catch(t){o(t)}}function s(t){try{a(i.throw(t))}catch(t){o(t)}}function a(t){var e;t.done?l(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(d,s)}a((i=i.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminTable=void 0;const l=n(607);class o extends l.HotComponent{constructor(t,e){super(t,e),this.headerElements={},this.rowElements=[],this.onSelectedRow=null,this.tag="admin-table",this.title="",this.schema="",this.headerElements={},this.headerIndicies=[],this.rowElements=[],this.selected=-1}addHeader(t){let e=this.htmlElements[0].getElementsByTagName("thead")[0];this.headerIndicies.length<1&&this.headerIndicies.push(null),this.headerIndicies.push(t.hotComponent.field),e.appendChild(t)}addHeaderDataOnly(t,e){this.headerIndicies.length<1&&this.headerIndicies.push(null),this.headerIndicies.push(t.field),this.headerElements[t.field]=e}getFieldType(t){if(null!=this.headerElements[t]){let e=this.headerElements[t].hotComponent;if(null!=e)return e.field_type}return null}selectRow(t,e){return i(this,void 0,void 0,(function*(){if(null==this.onSelectedRow||!1!==(yield this.onSelectedRow(e))){{let e=this.htmlElements[1].getElementsByTagName("tbody")[0].getElementsByTagName("tr");for(let t=0;t<e.length;t++){let n=e[t];!0===n.classList.contains("table-primary")&&n.classList.remove("table-primary")}t.classList.add("table-primary")}this.selected=e}}))}getSelected(){let t=this.selected;return t<0?null:this.rowElements[t].fields}getCheckedRows(){let t=[],e=this.htmlElements[1].getElementsByTagName("tbody")[0].getElementsByTagName("input");for(let n=0;n<e.length;n++){let i=e[n];if(null!=i.checked&&!0===i.checked){let e=i.parentElement.parentElement.getAttribute("data-index"),n=parseInt(e);t.push(this.rowElements[n].fields)}}return t}getRow(t){return this.rowElements[t].fields}addRow(t){let e=this.htmlElements[1].getElementsByTagName("tbody")[0],n=this.rowElements.length,i=`<tr onclick = "this.parentNode.parentNode.parentNode.parentNode.hotComponent.selectRow (this, ${n});">`;i+='<td><input type = "checkbox" /></td>';for(let e=0;e<this.headerIndicies.length;e++){let l=this.headerIndicies[e],o=t[l];if(null!=this.headerElements[l]){let t=this.getFieldType(l);null==t&&(t="text"),"remove"!==t&&(i+=`<td data-index = "${n}">${o}</td>`)}}i+="</tr>";let o=l.HotStaq.addHtml(e,i);this.rowElements.push({fields:t,element:o})}clearRows(){return i(this,void 0,void 0,(function*(){this.htmlElements[1].getElementsByTagName("tbody")[0].innerHTML=""}))}refreshList(){return i(this,void 0,void 0,(function*(){let t=yield l.Hot.jsonRequest(`${l.Hot.Data.baseUrl}/v1/data/list`,{schema:this.schema});this.clearRows();for(let e=0;e<t.length;e++){let n=t[e];this.addRow(n)}}))}onPostPlace(t,e){return setTimeout((()=>i(this,void 0,void 0,(function*(){yield this.refreshList()}))),50),null}output(){return`\n\t\t<div id = "${this.htmlElements[0].id}">\n\t\t\t<h2>${this.title}</h2>\n\t\t\t<div class="table-responsive">\n\t\t\t<table id = "${this.htmlElements[0].id}Table" class="table table-striped table-sm">\n\t\t\t\t<thead>\n\t\t\t\t\t<tr hot-place-here = "header">\n\t\t\t\t\t\t<th></th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody hot-place-here = "results">\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<hot-place-here name = "afterTable"></hot-place-here>\n\t\t\t</div>\n\t\t</div>`}}e.AdminTable=o},80:(t,e,n)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AdminText=void 0;const i=n(607);class l extends i.HotComponent{constructor(t,e){super(t,e),this.tag="admin-text",this.field="",this.field_type="text",this.no_output="0"}onPostPlace(t,e){let n=t.querySelectorAll('hot-place-here[type="modal"]');if(n.length>0){let i=n[0];t.removeChild(e),i.appendChild(e),t.hotComponent.fieldElements[this.field]=e.querySelector("input")}return null}output(){let t="";return null!=this.value&&(t=this.value),"1"===this.no_output?`<div><input class="form-control" type = "hidden" value = "${t}" /></div>`:`<div>\n\t\t\t<label class="form-label">${this.inner}</label><input class="form-control" type = "text" value = "${t}" />\n\t\t</div>`}}e.AdminText=l},607:t=>{t.exports=HotStaqWeb},685:t=>{t.exports=bootstrap}},e={};function n(i){var l=e[i];if(void 0!==l)return l.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,n),o.exports}var i={};(()=>{var t=i;Object.defineProperty(t,"__esModule",{value:!0}),t.AdminText=t.AdminTableRow=t.AdminTableField=t.AdminTable=t.AdminEdit=t.AdminDashboard=t.AdminButton=void 0;const e=n(176);Object.defineProperty(t,"AdminButton",{enumerable:!0,get:function(){return e.AdminButton}});const l=n(50);Object.defineProperty(t,"AdminDashboard",{enumerable:!0,get:function(){return l.AdminDashboard}});const o=n(703);Object.defineProperty(t,"AdminEdit",{enumerable:!0,get:function(){return o.AdminEdit}});const d=n(952);Object.defineProperty(t,"AdminTable",{enumerable:!0,get:function(){return d.AdminTable}});const s=n(505);Object.defineProperty(t,"AdminTableField",{enumerable:!0,get:function(){return s.AdminTableField}});const a=n(412);Object.defineProperty(t,"AdminTableRow",{enumerable:!0,get:function(){return a.AdminTableRow}});const r=n(80);Object.defineProperty(t,"AdminText",{enumerable:!0,get:function(){return r.AdminText}})})(),AdminPanelComponentsWeb=i})();
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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aUIvRyxFQUFrQmdILGlCQUFrQixnQ0FJekQsR0FBSUQsRUFBZTVFLE9BQVMsRUFDNUIsQ0FDQyxJQUFJOEUsRUFBWUYsRUFBZSxHQUMvQi9HLEVBQWtCa0gsWUFBYWpILEdBQy9CZ0gsRUFBVWxDLFlBQWE5RSxHQUd2QkQsRUFBa0I0QixhQUFhaEIsY0FBY3RCLEtBQUtxRSxPQUFTMUQsRUFBWWtILGNBQWUsUSxDQUd2RixPQUFPLElBQ1IsQ0FFQTFILFNBRUMsSUFBSTJCLEVBQWdCLEdBS3BCLE9BSGtCLE1BQWQ5QixLQUFLOEIsUUFDUkEsRUFBUTlCLEtBQUs4QixPQUVTLE1BQW5COUIsS0FBS3NFLFVBQ0QsNkRBQThEeEMsY0FFL0QsMENBQ3NCOUIsS0FBS3lFLG1FQUFtRTNDLG1CQUV0RyxFQWhFRCxhLFVDRkFnRyxFQUFPQyxRQUFVQyxVLFVDQWpCRixFQUFPQyxRQUFVRSxTLEdDQ2JDLEVBQTJCLENBQUMsRUFHaEMsU0FBU0MsRUFBb0JDLEdBRTVCLElBQUlDLEVBQWVILEVBQXlCRSxHQUM1QyxRQUFxQkUsSUFBakJELEVBQ0gsT0FBT0EsRUFBYU4sUUFHckIsSUFBSUQsRUFBU0ksRUFBeUJFLEdBQVksQ0FHakRMLFFBQVMsQ0FBQyxHQU9YLE9BSEFRLEVBQW9CSCxHQUFVSSxLQUFLVixFQUFPQyxRQUFTRCxFQUFRQSxFQUFPQyxRQUFTSSxHQUdwRUwsRUFBT0MsT0FDZixDLHFMQ3RCQSxlQVNFLDJFQVRPLEVBQUFySSxXQUFXLElBQ3BCLGNBU0UsOEVBVE8sRUFBQVksY0FBYyxJQUN2QixlQVNFLHlFQVRPLEVBQUFTLFNBQVMsSUFDbEIsZUFTRSwwRUFUTyxFQUFBaUUsVUFBVSxJQUNuQixlQVNFLCtFQVRPLEVBQUFaLGVBQWUsSUFDeEIsZUFTRSw2RUFUTyxFQUFBTSxhQUFhLElBQ3RCLGNBU0UseUVBVE8sRUFBQThDLFNBQVMsRyIsInNvdXJjZXMiOlsid2VicGFjazovL0FkbWluUGFuZWxDb21wb25lbnRzV2ViLy4vc3JjL2NvbXBvbmVudHMvYWRtaW4tYnV0dG9uLnRzIiwid2VicGFjazovL0FkbWluUGFuZWxDb21wb25lbnRzV2ViLy4vc3JjL2NvbXBvbmVudHMvYWRtaW4tZGFzaGJvYXJkLnRzIiwid2VicGFjazovL0FkbWluUGFuZWxDb21wb25lbnRzV2ViLy4vc3JjL2NvbXBvbmVudHMvYWRtaW4tZWRpdC50cyIsIndlYnBhY2s6Ly9BZG1pblBhbmVsQ29tcG9uZW50c1dlYi8uL3NyYy9jb21wb25lbnRzL2FkbWluLXRhYmxlLWZpZWxkLnRzIiwid2VicGFjazovL0FkbWluUGFuZWxDb21wb25lbnRzV2ViLy4vc3JjL2NvbXBvbmVudHMvYWRtaW4tdGFibGUtcm93LnRzIiwid2VicGFjazovL0FkbWluUGFuZWxDb21wb25lbnRzV2ViLy4vc3JjL2NvbXBvbmVudHMvYWRtaW4tdGFibGUudHMiLCJ3ZWJwYWNrOi8vQWRtaW5QYW5lbENvbXBvbmVudHNXZWIvLi9zcmMvY29tcG9uZW50cy9hZG1pbi10ZXh0LnRzIiwid2VicGFjazovL0FkbWluUGFuZWxDb21wb25lbnRzV2ViL2V4dGVybmFsIHZhciBcIkhvdFN0YXFXZWJcIiIsIndlYnBhY2s6Ly9BZG1pblBhbmVsQ29tcG9uZW50c1dlYi9leHRlcm5hbCB2YXIgXCJib290c3RyYXBcIiIsIndlYnBhY2s6Ly9BZG1pblBhbmVsQ29tcG9uZW50c1dlYi93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9BZG1pblBhbmVsQ29tcG9uZW50c1dlYi8uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIb3RTdGFxLCBIb3QsIEhvdEFQSSwgSG90Q29tcG9uZW50IH0gZnJvbSBcImhvdHN0YXFcIjtcblxuZXhwb3J0IGNsYXNzIEFkbWluQnV0dG9uIGV4dGVuZHMgSG90Q29tcG9uZW50XG57XG5cdGNvbnN0cnVjdG9yIChjb3B5OiBIb3RDb21wb25lbnQgfCBIb3RTdGFxLCBhcGk6IEhvdEFQSSlcblx0e1xuXHRcdHN1cGVyIChjb3B5LCBhcGkpO1xuXG5cdFx0dGhpcy50YWcgPSBcImFkbWluLWJ1dHRvblwiO1xuXHR9XG5cblx0YXN5bmMgYnV0dG9uQ2xpY2tlZCAoKTogUHJvbWlzZTx2b2lkPlxuXHR7XG5cdH1cblxuXHRvdXRwdXQgKCk6IHN0cmluZ1xuXHR7XG5cdFx0cmV0dXJuIChgPGJ1dHRvbiBpZCA9IFwiJHt0aGlzLmh0bWxFbGVtZW50c1swXS5pZH1cIiBvbmNsaWNrID0gXCJ0aGlzLmJ1dHRvbkNsaWNrZWQgKCk7XCI+PC9idXR0b24+YCk7XG5cdH1cbn1cbiIsImltcG9ydCB7IEhvdFN0YXEsIEhvdCwgSG90QVBJLCBIb3RDb21wb25lbnQgfSBmcm9tIFwiaG90c3RhcVwiO1xuXG5leHBvcnQgY2xhc3MgQWRtaW5EYXNoYm9hcmQgZXh0ZW5kcyBIb3RDb21wb25lbnRcbntcblx0LyoqXG5cdCAqIFRoZSB0aXRsZSBvZiB0aGlzIGRhc2hib2FyZC5cblx0ICovXG5cdHRpdGxlOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBUaGUgYmFzZSB1cmwgdG8gdXNlIGZvciB0aGlzIGRhc2hib2FyZC5cblx0ICovXG5cdGJhc2U6IHN0cmluZztcblxuXHRjb25zdHJ1Y3RvciAoY29weTogSG90Q29tcG9uZW50IHwgSG90U3RhcSwgYXBpOiBIb3RBUEkpXG5cdHtcblx0XHRzdXBlciAoY29weSwgYXBpKTtcblxuXHRcdHRoaXMudGFnID0gXCJhZG1pbi1kYXNoYm9hcmRcIjtcblx0XHR0aGlzLnRpdGxlID0gXCJcIjtcblx0XHR0aGlzLmJhc2UgPSBcIlwiO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCB0aGlzIHRhYmxlIGZpZWxkIHRvIHRoZSB0YWJsZVxuXHQgKi9cblx0b25Qb3N0UGxhY2UgKHBhcmVudEh0bWxFbGVtZW50OiBIVE1MRWxlbWVudCwgaHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnRcblx0e1xuXHRcdC8vIFNldCB0aGUgYmFzZSBBUEkgdXJsIHRvIHVzZSBmb3IgdGhpcyBkYXNoYm9hcmQuXG5cdFx0aWYgKHRoaXMuYmFzZSAhPSBcIlwiKVxuXHRcdFx0SG90LkRhdGEuYmFzZVVybCA9IHRoaXMuYmFzZTtcblxuXHRcdHJldHVybiAobnVsbCk7XG5cdH1cblxuXHRvdXRwdXQgKCk6IHN0cmluZ1xuXHR7XG5cdFx0cmV0dXJuIChgXG5cdFx0PG1haW4gY2xhc3M9XCJjb2wtbWQtOSBtcy1zbS1hdXRvIGNvbC1sZy0xMCBweC1tZC00XCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZsZXgtd3JhcCBmbGV4LW1kLW5vd3JhcCBhbGlnbi1pdGVtcy1jZW50ZXIgcHQtMyBwYi0yIG1iLTMgYm9yZGVyLWJvdHRvbVwiPlxuXHRcdFx0XHQ8aDEgY2xhc3M9XCJoMlwiPiR7dGhpcy50aXRsZX08L2gxPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYnRuLXRvb2xiYXIgbWItMiBtYi1tZC0wXCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImJ0bi1ncm91cCBtZS0yXCI+XG5cdFx0XHRcdFx0XHQ8aG90LXBsYWNlLWhlcmUgbmFtZSA9IFwiYnV0dG9uc1wiPjwvaG90LXBsYWNlLWhlcmU+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8aG90LXBsYWNlLWhlcmUgbmFtZSA9IFwiYm9keVwiPjwvaG90LXBsYWNlLWhlcmU+XG5cdFx0PC9tYWluPmApO1xuXHR9XG59XG4iLCJpbXBvcnQgeyBIb3RTdGFxLCBIb3QsIEhvdEFQSSwgSG90Q29tcG9uZW50LCBIb3RDb21wb25lbnRPdXRwdXQgfSBmcm9tIFwiaG90c3RhcVwiO1xuXG5pbXBvcnQgYm9vdHN0cmFwIGZyb20gXCJib290c3RyYXBcIjtcblxuaW1wb3J0IHsgQWRtaW5UYWJsZSB9IGZyb20gXCIuL2FkbWluLXRhYmxlXCI7XG5cbmV4cG9ydCBjbGFzcyBBZG1pbkVkaXQgZXh0ZW5kcyBIb3RDb21wb25lbnRcbntcblx0LyoqXG5cdCAqIFRoZSB0aXRsZSBvZiB0aGlzIGVkaXQgbW9kYWwuXG5cdCAqL1xuXHR0aXRsZTogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIGJ1dHRvbiB0aXRsZS5cblx0ICovXG5cdGJ1dHRvbl90aXRsZTogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIGF0dGFjaGVkIGxpc3QuXG5cdCAqL1xuXHRhdHRhY2hlZF9saXN0OiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBUaGUgYXR0YWNoZWQgc2NoZW1hLlxuXHQgKi9cblx0c2NoZW1hOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBUaGUgZmllbGQgZWxlbWVudHMgaW4gdGhlIGVkaXQgbW9kYWwuXG5cdCAqL1xuXHRmaWVsZEVsZW1lbnRzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnk7IH07XG5cdC8qKlxuXHQgKiBUaGUgbW9kYWwgaWQuXG5cdCAqL1xuXHRtb2RhbElkOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBUaGUgYm9vdHN0cmFwIG1vZGFsIGluc3RhbmNlLlxuXHQgKi9cblx0bW9kYWw6IGJvb3RzdHJhcC5Nb2RhbDtcblx0LyoqXG5cdCAqIElmIHNldCB0byB0cnVlLCB0aGlzIHdpbGwgY2xvc2UgdGhlIG1vZGFsIHdoZW4gc2F2ZSBpcyBjbGlja2VkLlxuXHQgKi9cblx0Y2xvc2VPblNhdmU6IGJvb2xlYW47XG5cdC8qKlxuXHQgKiBUaGUgdHlwZSBvZiBtb2RhbCB0byBvcGVuLiBDYW4gYmU6XG5cdCAqICogYWRkXG5cdCAqICogZWRpdFxuXHQgKiAqIHJlbW92ZVxuXHQgKi9cblx0cHJvdGVjdGVkIG1vZGFsVHlwZTogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIHNlbGVjdGVkIGZpZWxkcy5cblx0ICovXG5cdHByb3RlY3RlZCBzZWxlY3RlZEZpZWxkczogYW55W107XG5cblx0Y29uc3RydWN0b3IgKGNvcHk6IEhvdENvbXBvbmVudCB8IEhvdFN0YXEsIGFwaTogSG90QVBJKVxuXHR7XG5cdFx0c3VwZXIgKGNvcHksIGFwaSk7XG5cblx0XHR0aGlzLnRhZyA9IFwiYWRtaW4tZWRpdFwiO1xuXHRcdHRoaXMudGl0bGUgPSBcIlwiO1xuXHRcdHRoaXMuYnV0dG9uX3RpdGxlID0gXCJcIjtcblx0XHR0aGlzLmF0dGFjaGVkX2xpc3QgPSBcIlwiO1xuXHRcdHRoaXMuc2NoZW1hID0gXCJcIjtcblxuXHRcdHRoaXMuZmllbGRFbGVtZW50cyA9IHt9O1xuXG5cdFx0dGhpcy5tb2RhbElkID0gXCJcIjtcblx0XHR0aGlzLm1vZGFsID0gbnVsbDtcblx0XHR0aGlzLm1vZGFsVHlwZSA9IFwiYWRkXCI7XG5cdFx0dGhpcy5jbG9zZU9uU2F2ZSA9IHRydWU7XG5cdFx0dGhpcy5zZWxlY3RlZEZpZWxkcyA9IFtdO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBldmVudCB0aGF0IGNhbiBiZSBjYWxsZWQgd2hlbiB0aGUgYWRkIGJ1dHRvbiBpcyBjbGlja2VkLlxuXHQgKiBUaGlzIGlzIGNhbGxlZCBiZWZvcmUgdGhlIGFkZCBtb2RhbCBvcGVucy5cblx0ICovXG5cdG9uQWRkQ2xpY2tlZDogKCkgPT4gUHJvbWlzZTxib29sZWFuPiA9IG51bGw7XG5cblx0LyoqXG5cdCAqIEV4ZWN1dGVzIHdoZW4gdGhlIGFkZCBidXR0b24gaXMgY2xpY2tlZC5cblx0ICovXG5cdGFzeW5jIGFkZENsaWNrZWQgKCk6IFByb21pc2U8dm9pZD5cblx0e1xuXHRcdGlmICh0aGlzLm9uQWRkQ2xpY2tlZCAhPSBudWxsKVxuXHRcdHtcblx0XHRcdGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLm9uQWRkQ2xpY2tlZCAoKTtcblxuXHRcdFx0aWYgKHJlc3VsdCA9PT0gZmFsc2UpXG5cdFx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLm1vZGFsVHlwZSA9IFwiYWRkXCI7XG5cblx0XHQvLyBDbGVhciB0aGUgdmFsdWVzIGluIGVhY2ggZmllbGQuXG5cdFx0Zm9yIChsZXQga2V5IGluIHRoaXMuZmllbGRFbGVtZW50cylcblx0XHR7XG5cdFx0XHRsZXQgZmllbGRFbGVtZW50ID0gdGhpcy5maWVsZEVsZW1lbnRzW2tleV07XG5cblx0XHRcdGZpZWxkRWxlbWVudC52YWx1ZSA9IFwiXCI7XG5cdFx0fVxuXG5cdFx0dGhpcy5zZWxlY3RlZEZpZWxkcyA9IFtdO1xuXG5cdFx0Ym9vdHN0cmFwLk1vZGFsLmdldEluc3RhbmNlIChgIyR7dGhpcy5tb2RhbElkfWApLnNob3cgKCk7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGV2ZW50IHRoYXQgY2FuIGJlIGNhbGxlZCB3aGVuIHRoZSBlZGl0IGJ1dHRvbiBpcyBjbGlja2VkLlxuXHQgKiBUaGlzIGlzIGNhbGxlZCBiZWZvcmUgdGhlIGVkaXQgbW9kYWwgb3BlbnMuXG5cdCAqL1xuXHRvbkVkaXRDbGlja2VkOiAoKSA9PiBQcm9taXNlPGJvb2xlYW4+ID0gbnVsbDtcblxuXHQvKipcblx0ICogRXhlY3V0ZXMgd2hlbiB0aGUgZWRpdCBidXR0b24gaXMgY2xpY2tlZC5cblx0ICovXG5cdGFzeW5jIGVkaXRDbGlja2VkICgpOiBQcm9taXNlPHZvaWQ+XG5cdHtcblx0XHRpZiAodGhpcy5vbkVkaXRDbGlja2VkICE9IG51bGwpXG5cdFx0e1xuXHRcdFx0bGV0IHJlc3VsdCA9IGF3YWl0IHRoaXMub25FZGl0Q2xpY2tlZCAoKTtcblxuXHRcdFx0aWYgKHJlc3VsdCA9PT0gZmFsc2UpXG5cdFx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLm1vZGFsVHlwZSA9IFwiZWRpdFwiO1xuXHRcdGxldCBhdHRhY2hlZExpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCAodGhpcy5hdHRhY2hlZF9saXN0KTtcblxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRsZXQgaG90Q29tcG9uZW50OiBBZG1pblRhYmxlID0gYXR0YWNoZWRMaXN0LmhvdENvbXBvbmVudDtcblx0XHRsZXQgc2VsZWN0ZWRGaWVsZCA9IGhvdENvbXBvbmVudC5nZXRTZWxlY3RlZCAoKTtcblxuXHRcdGlmIChzZWxlY3RlZEZpZWxkICE9IG51bGwpXG5cdFx0e1xuXHRcdFx0Zm9yIChsZXQga2V5IGluIHRoaXMuZmllbGRFbGVtZW50cylcblx0XHRcdHtcblx0XHRcdFx0bGV0IGZpZWxkRWxlbWVudCA9IHRoaXMuZmllbGRFbGVtZW50c1trZXldO1xuXG5cdFx0XHRcdGlmIChmaWVsZEVsZW1lbnQgIT0gbnVsbClcblx0XHRcdFx0e1xuXHRcdFx0XHRcdC8vIEB0cy1pZ25vcmVcblx0XHRcdFx0XHRsZXQgdmFsdWUgPSBzZWxlY3RlZEZpZWxkW2tleV07XG5cblx0XHRcdFx0XHRmaWVsZEVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLnNlbGVjdGVkRmllbGRzID0gW3NlbGVjdGVkRmllbGRdO1xuXG5cdFx0XHRib290c3RyYXAuTW9kYWwuZ2V0SW5zdGFuY2UgKGAjJHt0aGlzLm1vZGFsSWR9YCkuc2hvdyAoKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGV2ZW50IHRoYXQgY2FuIGJlIGNhbGxlZCB3aGVuIHRoZSByZW1vdmUgYnV0dG9uIGlzIGNsaWNrZWQuXG5cdCAqIFRoaXMgaXMgY2FsbGVkIGJlZm9yZSB0aGUgcmVtb3ZlIG1vZGFsIG9wZW5zLlxuXHQgKi9cblx0b25SZW1vdmVDbGlja2VkOiAoKSA9PiBQcm9taXNlPGJvb2xlYW4+ID0gbnVsbDtcblxuXHQvKipcblx0ICogRXhlY3V0ZXMgd2hlbiB0aGUgcmVtb3ZlIGJ1dHRvbiBpcyBjbGlja2VkLlxuXHQgKi9cblx0YXN5bmMgcmVtb3ZlQ2xpY2tlZCAoKTogUHJvbWlzZTx2b2lkPlxuXHR7XG5cdFx0aWYgKHRoaXMub25SZW1vdmVDbGlja2VkICE9IG51bGwpXG5cdFx0e1xuXHRcdFx0bGV0IHJlc3VsdCA9IGF3YWl0IHRoaXMub25SZW1vdmVDbGlja2VkICgpO1xuXG5cdFx0XHRpZiAocmVzdWx0ID09PSBmYWxzZSlcblx0XHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMubW9kYWxUeXBlID0gXCJyZW1vdmVcIjtcblxuXHRcdGxldCBhdHRhY2hlZExpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCAodGhpcy5hdHRhY2hlZF9saXN0KTtcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0bGV0IGhvdENvbXBvbmVudDogQWRtaW5UYWJsZSA9IGF0dGFjaGVkTGlzdC5ob3RDb21wb25lbnQ7XG5cdFx0bGV0IGNoZWNrZWRSb3dzID0gaG90Q29tcG9uZW50LmdldENoZWNrZWRSb3dzICgpO1xuXHRcdGxldCB3aGVyZUZpZWxkczogYW55W10gPSBbXTtcblxuXHRcdGlmIChjaGVja2VkUm93cy5sZW5ndGggPiAwKVxuXHRcdHtcblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgY2hlY2tlZFJvd3MubGVuZ3RoOyBpKyspXG5cdFx0XHR7XG5cdFx0XHRcdGxldCBjaGVja2VkUm93ID0gY2hlY2tlZFJvd3NbaV07XG5cdFx0XHRcdHdoZXJlRmllbGRzLnB1c2ggKGNoZWNrZWRSb3cpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGxldCBzZWxlY3RlZEZpZWxkID0gaG90Q29tcG9uZW50LmdldFNlbGVjdGVkICgpO1xuXG5cdFx0aWYgKHNlbGVjdGVkRmllbGQgIT0gbnVsbClcblx0XHRcdHdoZXJlRmllbGRzID0gW3NlbGVjdGVkRmllbGRdO1xuXG5cdFx0aWYgKHdoZXJlRmllbGRzLmxlbmd0aCA+IDApXG5cdFx0e1xuXHRcdFx0Y29uc3QgY29uZmlybWVkOiBib29sZWFuID0gY29uZmlybSAoXCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlIHRoaXMgaXRlbT9cIik7XG5cblx0XHRcdGlmIChjb25maXJtZWQgPT09IHRydWUpXG5cdFx0XHR7XG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgd2hlcmVGaWVsZHMubGVuZ3RoOyBpKyspXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRsZXQgd2hlcmVGaWVsZCA9IHdoZXJlRmllbGRzW2ldO1xuXG5cdFx0XHRcdFx0Ly8gUmVtb3ZlIGFueSBmaWVsZHMgdGhhdCBhcmUgbWFya2VkIGFzIHJlbW92ZS5cblx0XHRcdFx0XHRmb3IgKGxldCBrZXkgaW4gd2hlcmVGaWVsZClcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRsZXQgZmllbGRUeXBlID0gaG90Q29tcG9uZW50LmdldEZpZWxkVHlwZSAoa2V5KTtcblxuXHRcdFx0XHRcdFx0aWYgKGZpZWxkVHlwZSAhPSBudWxsKVxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRpZiAoZmllbGRUeXBlID09PSBcInJlbW92ZVwiKVxuXHRcdFx0XHRcdFx0XHRcdGRlbGV0ZSB3aGVyZUZpZWxkW2tleV07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0YXdhaXQgSG90Lmpzb25SZXF1ZXN0IChgJHtIb3QuRGF0YS5iYXNlVXJsfS92MS9kYXRhL3JlbW92ZWAsIHtcblx0XHRcdFx0XHRcdFx0c2NoZW1hOiB0aGlzLnNjaGVtYSxcblx0XHRcdFx0XHRcdFx0d2hlcmVGaWVsZHM6IHdoZXJlRmllbGRcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XG5cdFx0XHRcdGF3YWl0IGhvdENvbXBvbmVudC5yZWZyZXNoTGlzdCAoKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogU2F2ZSB0aGlzIGZvcm0uXG5cdCAqL1xuXHRhc3luYyBvblNhdmUgKClcblx0e1xuXHRcdGxldCB2YWx1ZXM6IGFueSA9IHt9O1xuXG5cdFx0Zm9yIChsZXQga2V5IGluIHRoaXMuZmllbGRFbGVtZW50cylcblx0XHR7XG5cdFx0XHRsZXQgZmllbGRFbGVtZW50ID0gdGhpcy5maWVsZEVsZW1lbnRzW2tleV07XG5cblx0XHRcdGlmIChmaWVsZEVsZW1lbnQgIT0gbnVsbClcblx0XHRcdHtcblx0XHRcdFx0bGV0IHZhbHVlID0gZmllbGRFbGVtZW50LnZhbHVlO1xuXHRcdFx0XHRsZXQgZmllbGRUeXBlOiBzdHJpbmcgPSBmaWVsZEVsZW1lbnQucGFyZW50Tm9kZS5ob3RDb21wb25lbnQuZmllbGRfdHlwZTtcblxuXHRcdFx0XHRpZiAoZmllbGRUeXBlID09PSBcInJlbW92ZVwiKVxuXHRcdFx0XHRcdGNvbnRpbnVlO1xuXG5cdFx0XHRcdHZhbHVlc1trZXldID0gdmFsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMubW9kYWxUeXBlID09PSBcImFkZFwiKVxuXHRcdHtcblx0XHRcdGF3YWl0IEhvdC5qc29uUmVxdWVzdCAoYCR7SG90LkRhdGEuYmFzZVVybH0vdjEvZGF0YS9hZGRgLCB7XG5cdFx0XHRcdFx0c2NoZW1hOiB0aGlzLnNjaGVtYSxcblx0XHRcdFx0XHRmaWVsZHM6IHZhbHVlc1xuXHRcdFx0XHR9KTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5tb2RhbFR5cGUgPT09IFwiZWRpdFwiKVxuXHRcdHtcblx0XHRcdGlmICh0aGlzLnNlbGVjdGVkRmllbGRzLmxlbmd0aCA9PT0gMClcblx0XHRcdHtcblx0XHRcdFx0YWxlcnQgKFwiTm8gaXRlbShzKSBzZWxlY3RlZCFcIik7XG5cblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRsZXQgc2VsZWN0ZWRGaWVsZCA9IHRoaXMuc2VsZWN0ZWRGaWVsZHNbMF07XG5cdFx0XHRsZXQgd2hlcmVGaWVsZHM6IGFueSA9IHt9O1xuXG5cdFx0XHRmb3IgKGxldCBrZXkgaW4gc2VsZWN0ZWRGaWVsZClcblx0XHRcdHtcblx0XHRcdFx0bGV0IGZpZWxkRWxlbWVudCA9IHRoaXMuZmllbGRFbGVtZW50c1trZXldO1xuXHRcdFx0XHRsZXQgdmFsdWUgPSBzZWxlY3RlZEZpZWxkW2tleV07XG5cblx0XHRcdFx0aWYgKGZpZWxkRWxlbWVudCAhPSBudWxsKVxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0bGV0IGZpZWxkVHlwZTogc3RyaW5nID0gZmllbGRFbGVtZW50LnBhcmVudE5vZGUuaG90Q29tcG9uZW50LmZpZWxkX3R5cGU7XG5cblx0XHRcdFx0XHRpZiAoZmllbGRUeXBlID09PSBcInJlbW92ZVwiKVxuXHRcdFx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR3aGVyZUZpZWxkc1trZXldID0gdmFsdWU7XG5cdFx0XHR9XG5cblx0XHRcdGF3YWl0IEhvdC5qc29uUmVxdWVzdCAoYCR7SG90LkRhdGEuYmFzZVVybH0vdjEvZGF0YS9lZGl0YCwge1xuXHRcdFx0XHRcdHNjaGVtYTogdGhpcy5zY2hlbWEsXG5cdFx0XHRcdFx0d2hlcmVGaWVsZHM6IHdoZXJlRmllbGRzLFxuXHRcdFx0XHRcdGZpZWxkczogdmFsdWVzXG5cdFx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdGxldCBhdHRhY2hlZExpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCAodGhpcy5hdHRhY2hlZF9saXN0KTtcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0bGV0IHRhYmxlOiBBZG1pblRhYmxlID0gYXR0YWNoZWRMaXN0LmhvdENvbXBvbmVudDtcblxuXHRcdGF3YWl0IHRhYmxlLnJlZnJlc2hMaXN0ICgpO1xuXG5cdFx0aWYgKHRoaXMuY2xvc2VPblNhdmUgPT09IHRydWUpXG5cdFx0e1xuXHRcdFx0Ym9vdHN0cmFwLk1vZGFsLmdldEluc3RhbmNlIChgIyR7dGhpcy5tb2RhbElkfWApLmhpZGUgKCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEdldCB0aGUgbGlzdCBvZiBkYXRhIGZyb20gdGhlIHNlcnZlci5cblx0ICovXG5cdG9uUG9zdFBsYWNlIChwYXJlbnRIdG1sRWxlbWVudDogSFRNTEVsZW1lbnQsIGh0bWxFbGVtZW50OiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50XG5cdHtcblx0XHR0aGlzLm1vZGFsID0gbmV3IGJvb3RzdHJhcC5Nb2RhbCAoJChgIyR7dGhpcy5tb2RhbElkfWApWzBdLCB7XG5cdFx0XHRcdFwiYmFja2Ryb3BcIjogdHJ1ZSxcblx0XHRcdFx0XCJrZXlib2FyZFwiOiB0cnVlLFxuXHRcdFx0XHRcImZvY3VzXCI6IHRydWVcblx0XHRcdH0pO1xuXG5cdFx0cmV0dXJuIChudWxsKTtcblx0fVxuXG5cdG91dHB1dCAoKTogc3RyaW5nIHwgSG90Q29tcG9uZW50T3V0cHV0W11cblx0e1xuXHRcdGlmICh0aGlzLm5hbWUgPT09IFwiXCIpXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IgKGBZb3UgbXVzdCBzcGVjaWZ5IGEgbmFtZSBmb3IgZWFjaCBhZG1pbi1lZGl0IGVsZW1lbnQhYCk7XG5cblx0XHR0aGlzLm1vZGFsSWQgPSBgJHt0aGlzLm5hbWV9TW9kYWxgO1xuXG5cdFx0cmV0dXJuIChbe1xuXHRcdFx0aHRtbDogYFxuXHRcdFx0PCEtLSAke3RoaXMudGl0bGV9IE1vZGFsIFN0YXJ0IC0tPlxuXHRcdFx0PGRpdiBjbGFzcz1cIm1vZGFsIGZhZGVcIiBpZD1cIiR7dGhpcy5tb2RhbElkfVwiIHRhYmluZGV4PVwiLTFcIiBhcmlhLWxhYmVsbGVkYnk9XCIke3RoaXMubmFtZX1Nb2RhbExhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2dcIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cblx0XHRcdFx0XHRcdDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCIke3RoaXMubmFtZX1Nb2RhbExhYmVsXCI+JHt0aGlzLnRpdGxlfTwvaDU+XG5cdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCI+PC9idXR0b24+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cblx0XHRcdFx0XHRcdDxob3QtcGxhY2UtaGVyZSBuYW1lID0gXCJtb2RhbEJvZHlcIiB0eXBlID0gXCJtb2RhbFwiPjwvaG90LXBsYWNlLWhlcmU+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxuXHRcdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCI+Q2FuY2VsPC9idXR0b24+XG5cdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIG9uY2xpY2sgPSBcImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCcke3RoaXMubW9kYWxJZH0nKS5vblNhdmUgKCk7XCI+JHt0aGlzLmJ1dHRvbl90aXRsZX08L2J1dHRvbj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDwhLS0gJHt0aGlzLnRpdGxlfSBNb2RhbCBFbmQgLS0+YCxcblx0XHRcdGRvY3VtZW50U2VsZWN0b3I6IFwiYm9keVwiXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRodG1sOiBgPGJ1dHRvbiBpZCA9IFwiJHt0aGlzLm1vZGFsSWR9LWFkZC1idG5cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIG9uY2xpY2sgPSBcInRoaXMuYWRkQ2xpY2tlZCAoKTtcIj5BZGQ8L2J1dHRvbj5gLFxuXHRcdFx0ZG9jdW1lbnRTZWxlY3RvcjogYGhvdC1wbGFjZS1oZXJlW25hbWU9XCJidXR0b25zXCJdYFxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0aHRtbDogYDxidXR0b24gaWQgPSBcIiR7dGhpcy5tb2RhbElkfS1lZGl0LWJ0blwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgb25jbGljayA9IFwidGhpcy5lZGl0Q2xpY2tlZCAoKTtcIj5FZGl0PC9idXR0b24+YCxcblx0XHRcdGRvY3VtZW50U2VsZWN0b3I6IGBob3QtcGxhY2UtaGVyZVtuYW1lPVwiYnV0dG9uc1wiXWBcblx0XHR9LFxuXHRcdHtcblx0XHRcdGh0bWw6IGA8YnV0dG9uIGlkID0gXCIke3RoaXMubW9kYWxJZH0tZWRpdC1idG5cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIG9uY2xpY2sgPSBcInRoaXMucmVtb3ZlQ2xpY2tlZCAoKTtcIj5SZW1vdmU8L2J1dHRvbj5gLFxuXHRcdFx0ZG9jdW1lbnRTZWxlY3RvcjogYGhvdC1wbGFjZS1oZXJlW25hbWU9XCJidXR0b25zXCJdYFxuXHRcdH1dKTtcblx0fVxufVxuIiwiaW1wb3J0IHsgSG90U3RhcSwgSG90LCBIb3RBUEksIEhvdENvbXBvbmVudCwgSG90Q29tcG9uZW50T3V0cHV0IH0gZnJvbSBcImhvdHN0YXFcIjtcbmltcG9ydCB7IEFkbWluVGFibGUgfSBmcm9tIFwiLi9hZG1pbi10YWJsZVwiO1xuXG5leHBvcnQgY2xhc3MgQWRtaW5UYWJsZUZpZWxkIGV4dGVuZHMgSG90Q29tcG9uZW50XG57XG5cdC8qKlxuXHQgKiBUaGUgdGFibGUgZmllbGQuXG5cdCAqL1xuXHRmaWVsZDogbnVtYmVyO1xuXHQvKipcblx0ICogVGhlIHR5cGUgb2YgZmllbGQuIENhbiBiZTpcblx0ICogKiB0ZXh0XG5cdCAqICogcmVtb3ZlXG5cdCAqIFxuXHQgKiBEZWZhdWx0OiB0ZXh0XG5cdCAqL1xuXHRmaWVsZF90eXBlOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBJZiBzZXQgdG8gMSwgdGhpcyB3aWxsIG5vdCBvdXRwdXQgdGhlIGZpZWxkLlxuXHQgKi9cblx0bm9fb3V0cHV0OiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IgKGNvcHk6IEhvdENvbXBvbmVudCB8IEhvdFN0YXEsIGFwaTogSG90QVBJKVxuXHR7XG5cdFx0c3VwZXIgKGNvcHksIGFwaSk7XG5cblx0XHR0aGlzLnRhZyA9IFwiYWRtaW4tdGFibGUtZmllbGRcIjtcblx0XHR0aGlzLmZpZWxkID0gMDtcblx0XHR0aGlzLmZpZWxkX3R5cGUgPSBcInRleHRcIjtcblx0XHR0aGlzLm5vX291dHB1dCA9IFwiMFwiO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCB0aGlzIHRhYmxlIGZpZWxkIHRvIHRoZSB0YWJsZVxuXHQgKi9cblx0b25Qb3N0UGxhY2UgKHBhcmVudEh0bWxFbGVtZW50OiBIVE1MRWxlbWVudCwgaHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnRcblx0e1xuXHRcdGxldCBob3RDb21wb25lbnQ6IEFkbWluVGFibGUgPSBudWxsO1xuXG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGlmIChwYXJlbnRIdG1sRWxlbWVudC5wYXJlbnROb2RlLnBhcmVudE5vZGUuaG90Q29tcG9uZW50ICE9IG51bGwpXG5cdFx0e1xuXHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0aG90Q29tcG9uZW50ID0gcGFyZW50SHRtbEVsZW1lbnQucGFyZW50Tm9kZS5wYXJlbnROb2RlLmhvdENvbXBvbmVudDtcblx0XHR9XG5cdFx0ZWxzZVxuXHRcdHtcblx0XHRcdC8vIEB0cy1pZ25vcmUgLSBsb29vb2wuIEFkZCBhIGJldHRlciB3YXkgdG8gZ2V0IHRoZSBwYXJlbnQgSG90Q29tcG9uZW50LlxuXHRcdFx0aG90Q29tcG9uZW50ID0gcGFyZW50SHRtbEVsZW1lbnQucGFyZW50Tm9kZS5wYXJlbnROb2RlLnBhcmVudE5vZGUucGFyZW50Tm9kZS5ob3RDb21wb25lbnQ7XG5cdFx0fVxuXG5cdFx0aWYgKGhvdENvbXBvbmVudCAhPSBudWxsKVxuXHRcdFx0aG90Q29tcG9uZW50LmFkZEhlYWRlckRhdGFPbmx5ICh0aGlzLCBodG1sRWxlbWVudCk7XG5cblx0XHRyZXR1cm4gKG51bGwpO1xuXHR9XG5cblx0b3V0cHV0ICgpOiBzdHJpbmcgfCBIb3RDb21wb25lbnRPdXRwdXRbXVxuXHR7XG5cdFx0aWYgKHRoaXMubm9fb3V0cHV0ID09PSBcIjFcIilcblx0XHR7XG5cdFx0XHRyZXR1cm4gKFt7XG5cdFx0XHRcdGh0bWw6IGA8ZGl2PjwvZGl2PmAsXG5cdFx0XHRcdHBsYWNlSGVyZVBhcmVudDogXCJhZnRlclRhYmxlXCJcblx0XHRcdH1dKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gKFt7XG5cdFx0XHRodG1sOiBgPHRoPiR7dGhpcy5pbm5lcn08L3RoPmAsXG5cdFx0XHRkb2N1bWVudFNlbGVjdG9yOiBcIltob3QtcGxhY2UtaGVyZT0naGVhZGVyJ11cIlxuXHRcdH1dKTtcblx0fVxufVxuIiwiaW1wb3J0IHsgSG90U3RhcSwgSG90LCBIb3RBUEksIEhvdENvbXBvbmVudCwgSG90Q29tcG9uZW50T3V0cHV0IH0gZnJvbSBcImhvdHN0YXFcIjtcblxuZXhwb3J0IGNsYXNzIEFkbWluVGFibGVSb3cgZXh0ZW5kcyBIb3RDb21wb25lbnRcbntcblx0LyoqXG5cdCAqIFRoZSBmaWVsZHMgYXJlIHN0b3JlZCBpbiBhIGtleS92YWx1ZSBvYmplY3QuXG5cdCAqIFxuXHQgKiBAZXhhbXBsZSB7IFwibmFtZVwiOiBcIkpvaG4gU21pdGhcIiwgXCJlbWFpbFwiOiBcImpvaG4uc21pdGhAZW1haWwuY29tXCIgfVxuXHQgKi9cblx0ZmllbGRzOiBhbnlbXTtcblxuXHRjb25zdHJ1Y3RvciAoY29weTogSG90Q29tcG9uZW50IHwgSG90U3RhcSwgYXBpOiBIb3RBUEkpXG5cdHtcblx0XHRzdXBlciAoY29weSwgYXBpKTtcblxuXHRcdHRoaXMudGFnID0gXCJhZG1pbi10YWJsZS1yb3dcIjtcblx0XHR0aGlzLmZpZWxkcyA9IFtdO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCB0aGlzIHRhYmxlIHJvdyB0byB0aGUgdGFibGVcblx0ICovXG5cdG9uUG9zdFBsYWNlIChwYXJlbnRIdG1sRWxlbWVudDogSFRNTEVsZW1lbnQsIGh0bWxFbGVtZW50OiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50XG5cdHtcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0cGFyZW50SHRtbEVsZW1lbnQucGFyZW50Tm9kZS5wYXJlbnROb2RlLnBhcmVudE5vZGUuaG90Q29tcG9uZW50LnJvd0VsZW1lbnRzLnB1c2ggKHsgZmllbGRzOiB0aGlzLmZpZWxkcywgZWxlbWVudDogaHRtbEVsZW1lbnR9KTtcblxuXHRcdHJldHVybiAobnVsbCk7XG5cdH1cblxuXHRvdXRwdXQgKCk6IHN0cmluZyB8IEhvdENvbXBvbmVudE91dHB1dFtdXG5cdHtcblx0XHRsZXQgcm93SHRtbCA9IFwiXCI7XG5cblx0XHRpZiAodGhpcy5maWVsZHMubGVuZ3RoID4gMClcblx0XHRcdHJvd0h0bWwgKz0gYDx0ZD48aW5wdXQgdHlwZSA9IFwiY2hlY2tib3hcIiAvPjwvdGQ+YDtcblxuXHRcdGZvciAobGV0IGlJZHggPSAwOyBpSWR4IDwgdGhpcy5maWVsZHMubGVuZ3RoOyBpSWR4KyspXG5cdFx0e1xuXHRcdFx0bGV0IGZpZWxkT2JqID0gdGhpcy5maWVsZHNbaUlkeF07XG5cblx0XHRcdGZvciAobGV0IGtleSBpbiBmaWVsZE9iailcblx0XHRcdHtcblx0XHRcdFx0bGV0IHZhbHVlID0gZmllbGRPYmpba2V5XTtcblxuXHRcdFx0XHRyb3dIdG1sICs9IGA8dGQ+JHt2YWx1ZX08L3RkPmA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIChbe1xuXHRcdFx0aHRtbDogYDx0cj4ke3Jvd0h0bWx9PC90cj5gLFxuXHRcdFx0ZG9jdW1lbnRTZWxlY3RvcjogXCJbaG90LXBsYWNlLWhlcmU9J3Jlc3VsdHMnXVwiXG5cdFx0fV0pO1xuXHR9XG59XG4iLCJpbXBvcnQgeyBIb3RTdGFxLCBIb3QsIEhvdEFQSSwgSG90Q29tcG9uZW50LCBIb3RDb21wb25lbnRPdXRwdXQgfSBmcm9tIFwiaG90c3RhcVwiO1xuaW1wb3J0IHsgQWRtaW5UYWJsZUZpZWxkIH0gZnJvbSBcIi4vYWRtaW4tdGFibGUtZmllbGRcIjtcblxuZXhwb3J0IGNsYXNzIEFkbWluVGFibGUgZXh0ZW5kcyBIb3RDb21wb25lbnRcbntcblx0LyoqXG5cdCAqIFRoZSB0aXRsZSBvZiB0aGlzIHRhYmxlLlxuXHQgKi9cblx0dGl0bGU6IHN0cmluZztcblx0LyoqXG5cdCAqIFRoZSBhdHRhY2hlZCBzY2hlbWEuXG5cdCAqL1xuXHRzY2hlbWE6IHN0cmluZztcblx0LyoqXG5cdCAqIFRoZSBoZWFkZXJzIGFyZSBzdG9yZWQgaW4gYSBrZXkvdmFsdWUgb2JqZWN0LlxuXHQgKiBcblx0ICogQGV4YW1wbGUgeyBcIm5hbWVcIjogXCI8dGg+TmFtZTwvdGg+XCIsIFwiZW1haWxcIjogXCI8dGg+RW1haWw8L3RoPlwiIH1cblx0ICovXG5cdGhlYWRlckVsZW1lbnRzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnk7IH0gPSB7fTtcblx0LyoqXG5cdCAqIFRoZSBoZWFkZXIgaW5kaWNpZXMgYXJlIHN0b3JlZCBpbiBhIGtleS92YWx1ZSBvYmplY3QuXG5cdCAqIFxuXHQgKiBAZXhhbXBsZSBjb25zb2xlLmxvZyAodGhpcy5oZWFkZXJJbmRpY2llc1tcIm5hbWVcIl0pOyAvLyBPdXRwdXRzIDBcblx0ICovXG5cdGhlYWRlckluZGljaWVzOiBudW1iZXJbXTtcblx0LyoqXG5cdCAqIFRoZSByb3cgZWxlbWVudHMgYXJlIHN0b3JlZCBpbiBhbiBhcnJheSB3aXRoIGtleS92YWx1ZSBmaWVsZHMgYW5kIGl0J3MgYXR0YWNoZWQgaHRtbCBlbGVtZW50LlxuXHQgKiBcblx0ICogQGV4YW1wbGVcblx0ICoge1xuXHQgKiAgIFwiZmllbGRzXCI6IFtcblx0ICogICAgICAge1xuXHQgKiAgICAgICAgIFwibmFtZVwiOiBcIkpvaG4gU21pdGhcIixcblx0ICogICAgICAgICBcImVtYWlsXCI6IFwiam9obi5zbWl0aEB0ZXN0LmNvbVwiXG5cdCAqICAgICAgIH1cblx0ICogICAgIF0sXG5cdCAqICAgXCJodG1sXCI6IFwiPHRyPjx0ZD5Kb2huIFNtaXRoPC90ZD48dGQ+am9obi5zbWl0aEB0ZXN0LmNvbTwvdGQ+PC90cj5cIlxuXHQgKiB9XG5cdCAqL1xuXHRyb3dFbGVtZW50czogeyBmaWVsZHM6IGFueVtdOyBlbGVtZW50OiBIVE1MRWxlbWVudDsgfVtdID0gW107XG5cdC8qKlxuXHQgKiBUaGUgc2VsZWN0ZWQgcm93IGluZGljaWVzLiBFYWNoIGluZGV4IG1hcHMgdG8gdGhlIHJvd0VsZW1lbnRzIGFycmF5LlxuXHQgKiBcblx0ICogQGZpeG1lIEFkZCBzdXBwb3J0IGZvciB0aGlzIGluIHRoZSBmdXR1cmUuXG5cdCAqL1xuXHQvL3Byb3RlY3RlZCBzZWxlY3RlZFJvd3M6IG51bWJlcltdO1xuXHQvKipcblx0ICogVGhlIG1vc3QgcmVjZW50bHkgc2VsZWN0ZWQgcm93IGluZGV4LiBUaGUgaW5kZXggbWFwcyB0byB0aGUgcm93RWxlbWVudHMgYXJyYXkuXG5cdCAqL1xuXHRwcm90ZWN0ZWQgc2VsZWN0ZWQ6IG51bWJlcjtcblxuXHRjb25zdHJ1Y3RvciAoY29weTogSG90Q29tcG9uZW50IHwgSG90U3RhcSwgYXBpOiBIb3RBUEkpXG5cdHtcblx0XHRzdXBlciAoY29weSwgYXBpKTtcblxuXHRcdHRoaXMudGFnID0gXCJhZG1pbi10YWJsZVwiO1xuXHRcdHRoaXMudGl0bGUgPSBcIlwiO1xuXHRcdHRoaXMuc2NoZW1hID0gXCJcIjtcblx0XHR0aGlzLmhlYWRlckVsZW1lbnRzID0ge307XG5cdFx0dGhpcy5oZWFkZXJJbmRpY2llcyA9IFtdO1xuXHRcdHRoaXMucm93RWxlbWVudHMgPSBbXTtcblx0XHQvL3RoaXMuc2VsZWN0ZWRSb3dzID0gW107XG5cdFx0dGhpcy5zZWxlY3RlZCA9IC0xO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCBhIGhlYWRlciB0byB0aGUgdGFibGUuXG5cdCAqL1xuXHRhZGRIZWFkZXIgKHRhYmxlRmllbGRFbGVtZW50OiBIVE1MRWxlbWVudClcblx0e1xuXHRcdGxldCBoZWFkZXIgPSB0aGlzLmh0bWxFbGVtZW50c1swXS5nZXRFbGVtZW50c0J5VGFnTmFtZSAoXCJ0aGVhZFwiKVswXTtcblxuXHRcdGlmICh0aGlzLmhlYWRlckluZGljaWVzLmxlbmd0aCA8IDEpXG5cdFx0XHR0aGlzLmhlYWRlckluZGljaWVzLnB1c2ggKG51bGwpO1xuXG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdHRoaXMuaGVhZGVySW5kaWNpZXMucHVzaCAodGFibGVGaWVsZEVsZW1lbnQuaG90Q29tcG9uZW50LmZpZWxkKTtcblx0XHRoZWFkZXIuYXBwZW5kQ2hpbGQgKHRhYmxlRmllbGRFbGVtZW50KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgYSBoZWFkZXIgdG8gdGhlIHRhYmxlLlxuXHQgKi9cblx0YWRkSGVhZGVyRGF0YU9ubHkgKHRhYmxlRmllbGQ6IEFkbWluVGFibGVGaWVsZCwgaHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50KVxuXHR7XG5cdFx0aWYgKHRoaXMuaGVhZGVySW5kaWNpZXMubGVuZ3RoIDwgMSlcblx0XHRcdHRoaXMuaGVhZGVySW5kaWNpZXMucHVzaCAobnVsbCk7XG5cblx0XHR0aGlzLmhlYWRlckluZGljaWVzLnB1c2ggKHRhYmxlRmllbGQuZmllbGQpO1xuXHRcdHRoaXMuaGVhZGVyRWxlbWVudHNbdGFibGVGaWVsZC5maWVsZF0gPSBodG1sRWxlbWVudDtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIGZpZWxkIHR5cGUgb2YgYSBmaWVsZC5cblx0ICovXG5cdGdldEZpZWxkVHlwZSAoZmllbGROYW1lOiBzdHJpbmcpOiBzdHJpbmdcblx0e1xuXHRcdGlmICh0aGlzLmhlYWRlckVsZW1lbnRzW2ZpZWxkTmFtZV0gIT0gbnVsbClcblx0XHR7XG5cdFx0XHRsZXQgaG90Q29tcG9uZW50OiBBZG1pblRhYmxlRmllbGQgPSB0aGlzLmhlYWRlckVsZW1lbnRzW2ZpZWxkTmFtZV0uaG90Q29tcG9uZW50O1xuXG5cdFx0XHRpZiAoaG90Q29tcG9uZW50ICE9IG51bGwpXG5cdFx0XHRcdHJldHVybiAoaG90Q29tcG9uZW50LmZpZWxkX3R5cGUpO1xuXHRcdH1cblxuXHRcdHJldHVybiAobnVsbCk7XG5cdH1cblxuXHQvKipcblx0ICogRXhlY3V0ZXMgdGhpcyBldmVudCB3aGVuIGEgcm93IGlzIHNlbGVjdGVkLiBJZiB0aGlzIHJldHVybnMgZmFsc2UsIHRoZSByb3cgd2lsbCBub3QgYmUgc2VsZWN0ZWQuXG5cdCAqL1xuXHRvblNlbGVjdGVkUm93OiAocm93SW5kZXg6IG51bWJlcikgPT4gUHJvbWlzZTxib29sZWFuPiA9IG51bGw7XG5cblx0LyoqXG5cdCAqIEV4ZWN1dGVzIHdoZW4gYSByb3cgaXMgc2VsZWN0ZWQuXG5cdCAqL1xuXHRhc3luYyBzZWxlY3RSb3cgKGh0bWxFbGVtZW50OiBIVE1MRWxlbWVudCwgcm93SW5kZXg6IG51bWJlcik6IFByb21pc2U8dm9pZD5cblx0e1xuXHRcdGlmICh0aGlzLm9uU2VsZWN0ZWRSb3cgIT0gbnVsbClcblx0XHR7XG5cdFx0XHRsZXQgcmVzdWx0ID0gYXdhaXQgdGhpcy5vblNlbGVjdGVkUm93IChyb3dJbmRleCk7XG5cblx0XHRcdGlmIChyZXN1bHQgPT09IGZhbHNlKVxuXHRcdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Ly8gSW4gdGhlIGZ1dHVyZSwgd2Ugd2lsbCBzdXBwb3J0IG11bHRpcGxlIHJvd3MgYmVpbmcgc2VsZWN0ZWQuIEZvciBub3cgXG5cdFx0Ly8gdGhpcyB3aWxsIGVuc3VyZSB0aGF0IG9ubHkgb25lIHJvdyBpcyBzZWxlY3RlZCBhdCBhIHRpbWUuXG5cdFx0e1xuXHRcdFx0bGV0IHRib2R5ID0gdGhpcy5odG1sRWxlbWVudHNbMV0uZ2V0RWxlbWVudHNCeVRhZ05hbWUgKFwidGJvZHlcIilbMF07XG5cdFx0XHRsZXQgcm93cyA9IHRib2R5LmdldEVsZW1lbnRzQnlUYWdOYW1lIChcInRyXCIpO1xuXG5cdFx0XHRmb3IgKGxldCBpSWR4ID0gMDsgaUlkeCA8IHJvd3MubGVuZ3RoOyBpSWR4KyspXG5cdFx0XHR7XG5cdFx0XHRcdGxldCByb3c6IEhUTUxUYWJsZVJvd0VsZW1lbnQgPSByb3dzW2lJZHhdO1xuXG5cdFx0XHRcdGlmIChyb3cuY2xhc3NMaXN0LmNvbnRhaW5zIChcInRhYmxlLXByaW1hcnlcIikgPT09IHRydWUpXG5cdFx0XHRcdFx0cm93LmNsYXNzTGlzdC5yZW1vdmUgKFwidGFibGUtcHJpbWFyeVwiKTtcblx0XHRcdH1cblxuXHRcdFx0aHRtbEVsZW1lbnQuY2xhc3NMaXN0LmFkZCAoXCJ0YWJsZS1wcmltYXJ5XCIpO1xuXHRcdH1cblxuXHRcdHRoaXMuc2VsZWN0ZWQgPSByb3dJbmRleDtcblxuXHRcdC8qdGhpcy5zZWxlY3RlZFJvd3MgPSBbXTtcblx0XHRsZXQgdGJvZHkgPSB0aGlzLmh0bWxFbGVtZW50c1sxXS5nZXRFbGVtZW50c0J5VGFnTmFtZSAoXCJ0Ym9keVwiKVswXTtcblxuXHRcdC8vIEZpbmQgYWxsIHRoZSBjaGVja2JveGVzIGluIHRib2R5LlxuXHRcdGxldCBjaGVja2JveGVzID0gdGJvZHkuZ2V0RWxlbWVudHNCeVRhZ05hbWUgKFwiaW5wdXRcIik7XG5cblx0XHRmb3IgKGxldCBpSWR4ID0gMDsgaUlkeCA8IGNoZWNrYm94ZXMubGVuZ3RoOyBpSWR4KyspXG5cdFx0e1xuXHRcdFx0bGV0IGNoZWNrYm94OiBIVE1MSW5wdXRFbGVtZW50ID0gY2hlY2tib3hlc1tpSWR4XTtcblxuXHRcdFx0aWYgKGNoZWNrYm94LmNoZWNrZWQgIT0gbnVsbClcblx0XHRcdHtcblx0XHRcdFx0aWYgKGNoZWNrYm94LmNoZWNrZWQgPT09IHRydWUpXG5cdFx0XHRcdHtcblx0XHRcdFx0XHQvLyBHZXQgdGhlIGRhdGEtaW5kZXggYXR0cmlidXRlLlxuXHRcdFx0XHRcdGxldCBkYXRhSW5kZXhTdHI6IHN0cmluZyA9IGNoZWNrYm94LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUgKFwiZGF0YS1pbmRleFwiKTtcblx0XHRcdFx0XHRsZXQgZGF0YUluZGV4OiBudW1iZXIgPSAgcGFyc2VJbnQgKGRhdGFJbmRleFN0cik7XG5cblx0XHRcdFx0XHR0aGlzLnNlbGVjdGVkUm93cy5wdXNoIChkYXRhSW5kZXgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSovXG5cdH1cblxuXHQvKipcblx0ICogR2V0IHRoZSBzZWxlY3RlZCBkYXRhLlxuXHQgKi9cblx0Z2V0U2VsZWN0ZWQgKCk6IGFueVtdXG5cdHtcblx0XHRsZXQgaW5kZXg6IG51bWJlciA9IHRoaXMuc2VsZWN0ZWQ7XG5cblx0XHRpZiAoaW5kZXggPCAwKVxuXHRcdFx0cmV0dXJuIChudWxsKTtcblxuXHRcdHJldHVybiAodGhpcy5yb3dFbGVtZW50c1tpbmRleF0uZmllbGRzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIHNlbGVjdGVkIGRhdGEuXG5cdCAqL1xuXHQvKmdldFNlbGVjdGVkUm93cyAoKTogYW55W11cblx0e1xuXHRcdGxldCByb3dzOiBhbnlbXSA9IFtdO1xuXG5cdFx0Zm9yIChsZXQgaUlkeCA9IDA7IGlJZHggPCB0aGlzLnNlbGVjdGVkUm93cy5sZW5ndGg7IGlJZHgrKylcblx0XHR7XG5cdFx0XHRsZXQgaW5kZXg6IG51bWJlciA9IHRoaXMuc2VsZWN0ZWRSb3dzW2lJZHhdO1xuXHRcdFx0cm93cy5wdXNoICh0aGlzLnJvd0VsZW1lbnRzW2luZGV4XS5maWVsZHMpO1xuXHRcdH1cblxuXHRcdHJldHVybiAocm93cyk7XG5cdH0qL1xuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIGRhdGEgZm9yIGVhY2ggcm93IHRoYXQgaGFzIGJlZW4gY2hlY2tlZC5cblx0ICovXG5cdGdldENoZWNrZWRSb3dzICgpOiBhbnlbXVxuXHR7XG5cdFx0bGV0IHJvd3M6IGFueVtdID0gW107XG5cdFx0bGV0IHRib2R5ID0gdGhpcy5odG1sRWxlbWVudHNbMV0uZ2V0RWxlbWVudHNCeVRhZ05hbWUgKFwidGJvZHlcIilbMF07XG5cblx0XHQvLyBGaW5kIGFsbCB0aGUgY2hlY2tib3hlcyBpbiB0Ym9keS5cblx0XHRsZXQgY2hlY2tib3hlcyA9IHRib2R5LmdldEVsZW1lbnRzQnlUYWdOYW1lIChcImlucHV0XCIpO1xuXG5cdFx0Zm9yIChsZXQgaUlkeCA9IDA7IGlJZHggPCBjaGVja2JveGVzLmxlbmd0aDsgaUlkeCsrKVxuXHRcdHtcblx0XHRcdGxldCBjaGVja2JveDogSFRNTElucHV0RWxlbWVudCA9IGNoZWNrYm94ZXNbaUlkeF07XG5cblx0XHRcdGlmIChjaGVja2JveC5jaGVja2VkICE9IG51bGwpXG5cdFx0XHR7XG5cdFx0XHRcdGlmIChjaGVja2JveC5jaGVja2VkID09PSB0cnVlKVxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0Ly8gR2V0IHRoZSBkYXRhLWluZGV4IGF0dHJpYnV0ZS5cblx0XHRcdFx0XHRsZXQgZGF0YUluZGV4U3RyOiBzdHJpbmcgPSBjaGVja2JveC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQuZ2V0QXR0cmlidXRlIChcImRhdGEtaW5kZXhcIik7XG5cdFx0XHRcdFx0bGV0IGRhdGFJbmRleDogbnVtYmVyID0gIHBhcnNlSW50IChkYXRhSW5kZXhTdHIpO1xuXG5cdFx0XHRcdFx0cm93cy5wdXNoICh0aGlzLnJvd0VsZW1lbnRzW2RhdGFJbmRleF0uZmllbGRzKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiAocm93cyk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGEgcm93J3MgZGF0YS5cblx0ICovXG5cdGdldFJvdyAoaW5kZXg6IG51bWJlcik6IGFueVtdXG5cdHtcblx0XHRyZXR1cm4gKHRoaXMucm93RWxlbWVudHNbaW5kZXhdLmZpZWxkcyk7XG5cdH1cblxuXHQvKipcblx0ICogQWRkIGEgcm93IHRvIHRoZSB0YWJsZS5cblx0ICogXG5cdCAqIEBwYXJhbSB7QXJyYXl9IGZpZWxkcyBBIGxpc3Qgb2YgdmFsdWVzIHRvIGFwcGVuZC5cblx0ICovXG5cdGFkZFJvdyAoZmllbGRzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfVtdKVxuXHR7XG5cdFx0bGV0IHRib2R5ID0gdGhpcy5odG1sRWxlbWVudHNbMV0uZ2V0RWxlbWVudHNCeVRhZ05hbWUgKFwidGJvZHlcIilbMF07XG5cdFx0bGV0IGluZGV4OiBudW1iZXIgPSB0aGlzLnJvd0VsZW1lbnRzLmxlbmd0aDtcblx0XHRsZXQgcm93U3RyID0gYDx0ciBvbmNsaWNrID0gXCJ0aGlzLnBhcmVudE5vZGUucGFyZW50Tm9kZS5wYXJlbnROb2RlLnBhcmVudE5vZGUuaG90Q29tcG9uZW50LnNlbGVjdFJvdyAodGhpcywgJHtpbmRleH0pO1wiPmA7XG5cblx0XHRyb3dTdHIgKz0gYDx0ZD48aW5wdXQgdHlwZSA9IFwiY2hlY2tib3hcIiAvPjwvdGQ+YDtcblxuXHRcdGZvciAobGV0IGlJZHggPSAwOyBpSWR4IDwgdGhpcy5oZWFkZXJJbmRpY2llcy5sZW5ndGg7IGlJZHgrKylcblx0XHR7XG5cdFx0XHQvLyBAdHMtaWdub3JlIC0gQGZpeG1lIEkgbWVzc2VkIHRoaXMgdXAsIHdpbGwgZml4LlxuXHRcdFx0bGV0IGtleSA9IHRoaXMuaGVhZGVySW5kaWNpZXNbaUlkeF07XG5cdFx0XHRsZXQgdmFsdWUgPSBmaWVsZHNba2V5XTtcblxuXHRcdFx0aWYgKHRoaXMuaGVhZGVyRWxlbWVudHNba2V5XSAhPSBudWxsKVxuXHRcdFx0e1xuXHRcdFx0XHQvLyBAdHMtaWdub3JlIC0gQGZpeG1lIEkgbWVzc2VkIHRoaXMgdXAsIHdpbGwgZml4LlxuXHRcdFx0XHRsZXQgZmllbGRUeXBlOiBzdHJpbmcgPSB0aGlzLmdldEZpZWxkVHlwZSAoa2V5KTtcblxuXHRcdFx0XHRpZiAoZmllbGRUeXBlID09IG51bGwpXG5cdFx0XHRcdFx0ZmllbGRUeXBlID0gXCJ0ZXh0XCI7XG5cblx0XHRcdFx0aWYgKGZpZWxkVHlwZSAhPT0gXCJyZW1vdmVcIilcblx0XHRcdFx0XHRyb3dTdHIgKz0gYDx0ZCBkYXRhLWluZGV4ID0gXCIke2luZGV4fVwiPiR7dmFsdWV9PC90ZD5gO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJvd1N0ciArPSBcIjwvdHI+XCI7XG5cblx0XHRsZXQgbmV3T2JqID0gSG90U3RhcS5hZGRIdG1sICh0Ym9keSwgcm93U3RyKTtcblxuXHRcdHRoaXMucm93RWxlbWVudHMucHVzaCAoe1xuXHRcdFx0XHRmaWVsZHM6IGZpZWxkcyxcblx0XHRcdFx0ZWxlbWVudDogKDxIVE1MRWxlbWVudD5uZXdPYmopXG5cdFx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDbGVhciB0aGUgbGlzdCBvZiByb3dzLlxuXHQgKi9cblx0YXN5bmMgY2xlYXJSb3dzICgpXG5cdHtcblx0XHRsZXQgdGJvZHkgPSB0aGlzLmh0bWxFbGVtZW50c1sxXS5nZXRFbGVtZW50c0J5VGFnTmFtZSAoXCJ0Ym9keVwiKVswXTtcblxuXHRcdHRib2R5LmlubmVySFRNTCA9IFwiXCI7XG5cdH1cblxuXHQvKipcblx0ICogUmVmcmVzaCB0aGUgbGlzdC5cblx0ICovXG5cdGFzeW5jIHJlZnJlc2hMaXN0ICgpXG5cdHtcblx0XHRsZXQgbGlzdCA9IGF3YWl0IEhvdC5qc29uUmVxdWVzdCAoYCR7SG90LkRhdGEuYmFzZVVybH0vdjEvZGF0YS9saXN0YCwge1xuXHRcdFx0XHRzY2hlbWE6IHRoaXMuc2NoZW1hXG5cdFx0XHR9KTtcblxuXHRcdHRoaXMuY2xlYXJSb3dzICgpO1xuXG5cdFx0Zm9yIChsZXQgaUlkeCA9IDA7IGlJZHggPCBsaXN0Lmxlbmd0aDsgaUlkeCsrKVxuXHRcdHtcblx0XHRcdGxldCBmaWVsZHMgPSBsaXN0W2lJZHhdO1xuXG5cdFx0XHR0aGlzLmFkZFJvdyAoZmllbGRzKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogR2V0IHRoZSBsaXN0IG9mIGRhdGEgZnJvbSB0aGUgc2VydmVyLlxuXHQgKi9cblx0b25Qb3N0UGxhY2UgKHBhcmVudEh0bWxFbGVtZW50OiBIVE1MRWxlbWVudCwgaHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnRcblx0e1xuXHRcdHNldFRpbWVvdXQgKGFzeW5jICgpID0+XG5cdFx0XHR7XG5cdFx0XHRcdGF3YWl0IHRoaXMucmVmcmVzaExpc3QgKCk7XG5cdFx0XHR9LCA1MCk7XG5cblx0XHRyZXR1cm4gKG51bGwpO1xuXHR9XG5cblx0b3V0cHV0ICgpOiBzdHJpbmcgfCBIb3RDb21wb25lbnRPdXRwdXRbXVxuXHR7XG5cdFx0cmV0dXJuIChgXG5cdFx0PGRpdiBpZCA9IFwiJHt0aGlzLmh0bWxFbGVtZW50c1swXS5pZH1cIj5cblx0XHRcdDxoMj4ke3RoaXMudGl0bGV9PC9oMj5cblx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XG5cdFx0XHQ8dGFibGUgaWQgPSBcIiR7dGhpcy5odG1sRWxlbWVudHNbMF0uaWR9VGFibGVcIiBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtc21cIj5cblx0XHRcdFx0PHRoZWFkPlxuXHRcdFx0XHRcdDx0ciBob3QtcGxhY2UtaGVyZSA9IFwiaGVhZGVyXCI+XG5cdFx0XHRcdFx0XHQ8dGg+PC90aD5cblx0XHRcdFx0XHQ8L3RyPlxuXHRcdFx0XHQ8L3RoZWFkPlxuXHRcdFx0XHQ8dGJvZHkgaG90LXBsYWNlLWhlcmUgPSBcInJlc3VsdHNcIj5cblx0XHRcdFx0PC90Ym9keT5cblx0XHRcdDwvdGFibGU+XG5cdFx0XHQ8aG90LXBsYWNlLWhlcmUgbmFtZSA9IFwiYWZ0ZXJUYWJsZVwiPjwvaG90LXBsYWNlLWhlcmU+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5gKTtcblx0fVxufVxuIiwiaW1wb3J0IHsgSG90U3RhcSwgSG90LCBIb3RBUEksIEhvdENvbXBvbmVudCwgSG90Q29tcG9uZW50T3V0cHV0IH0gZnJvbSBcImhvdHN0YXFcIjtcblxuZXhwb3J0IGNsYXNzIEFkbWluVGV4dCBleHRlbmRzIEhvdENvbXBvbmVudFxue1xuXHQvKipcblx0ICogVGhlIGFzc29jaWF0ZWQgZGF0YWJhc2UgZmllbGQuXG5cdCAqL1xuXHRmaWVsZDogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIHR5cGUgb2YgZmllbGQuIENhbiBiZTpcblx0ICogKiB0ZXh0XG5cdCAqICogcmVtb3ZlXG5cdCAqIFxuXHQgKiBEZWZhdWx0OiB0ZXh0XG5cdCAqL1xuXHRmaWVsZF90eXBlOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBJZiBzZXQgdG8gMSwgdGhpcyB3aWxsIG5vdCBvdXRwdXQgdGhlIGZpZWxkLlxuXHQgKi9cblx0bm9fb3V0cHV0OiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IgKGNvcHk6IEhvdENvbXBvbmVudCB8IEhvdFN0YXEsIGFwaTogSG90QVBJKVxuXHR7XG5cdFx0c3VwZXIgKGNvcHksIGFwaSk7XG5cblx0XHR0aGlzLnRhZyA9IFwiYWRtaW4tdGV4dFwiO1xuXHRcdHRoaXMuZmllbGQgPSBcIlwiO1xuXHRcdHRoaXMuZmllbGRfdHlwZSA9IFwidGV4dFwiO1xuXHRcdHRoaXMubm9fb3V0cHV0ID0gXCIwXCI7XG5cdH1cblxuXHQvKipcblx0ICogQ29ycmVjdHMgdGhlIHBsYWNlbWVudCBvZiB0aGUgdGV4dCBlbGVtZW50cyBmb3IgbW9kYWxzLlxuXHQgKi9cblx0b25Qb3N0UGxhY2UgKHBhcmVudEh0bWxFbGVtZW50OiBIVE1MRWxlbWVudCwgaHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnRcblx0e1xuXHRcdGxldCBwbGFjZUhlcmVBcnJheSA9IHBhcmVudEh0bWxFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwgKGBob3QtcGxhY2UtaGVyZVt0eXBlPVwibW9kYWxcIl1gKTtcblxuXHRcdC8vIFNlYXJjaCBmb3IgdGhlIGlucHV0IGJveCBpbiB0aGUgbW9kYWwgd2UgYXR0YWNoZWQgdG8sIHRoZW4gc3RvcmUgdGhlIFxuXHRcdC8vIGZvdW5kIGlucHV0IGJveCBpbnRvIHRoZSBmaWVsZEVsZW1lbnRzIGFycmF5LlxuXHRcdGlmIChwbGFjZUhlcmVBcnJheS5sZW5ndGggPiAwKVxuXHRcdHtcblx0XHRcdGxldCBwbGFjZUhlcmUgPSBwbGFjZUhlcmVBcnJheVswXTtcblx0XHRcdHBhcmVudEh0bWxFbGVtZW50LnJlbW92ZUNoaWxkIChodG1sRWxlbWVudCk7XG5cdFx0XHRwbGFjZUhlcmUuYXBwZW5kQ2hpbGQgKGh0bWxFbGVtZW50KTtcblxuXHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0cGFyZW50SHRtbEVsZW1lbnQuaG90Q29tcG9uZW50LmZpZWxkRWxlbWVudHNbdGhpcy5maWVsZF0gPSBodG1sRWxlbWVudC5xdWVyeVNlbGVjdG9yIChcImlucHV0XCIpO1xuXHRcdH1cblxuXHRcdHJldHVybiAobnVsbCk7XG5cdH1cblxuXHRvdXRwdXQgKCk6IHN0cmluZyB8IEhvdENvbXBvbmVudE91dHB1dFtdXG5cdHtcblx0XHRsZXQgdmFsdWU6IHN0cmluZyA9IFwiXCI7XG5cblx0XHRpZiAodGhpcy52YWx1ZSAhPSBudWxsKVxuXHRcdFx0dmFsdWUgPSB0aGlzLnZhbHVlO1xuXG5cdFx0aWYgKHRoaXMubm9fb3V0cHV0ID09PSBcIjFcIilcblx0XHRcdHJldHVybiAoYDxkaXY+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZSA9IFwiaGlkZGVuXCIgdmFsdWUgPSBcIiR7dmFsdWV9XCIgLz48L2Rpdj5gKTtcblxuXHRcdHJldHVybiAoYDxkaXY+XG5cdFx0XHQ8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+JHt0aGlzLmlubmVyfTwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZSA9IFwidGV4dFwiIHZhbHVlID0gXCIke3ZhbHVlfVwiIC8+XG5cdFx0PC9kaXY+YCk7XG5cdH1cbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gSG90U3RhcVdlYjsiLCJtb2R1bGUuZXhwb3J0cyA9IGJvb3RzdHJhcDsiLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiaW1wb3J0IHsgQWRtaW5CdXR0b24gfSBmcm9tIFwiLi9jb21wb25lbnRzL2FkbWluLWJ1dHRvblwiO1xuaW1wb3J0IHsgQWRtaW5EYXNoYm9hcmQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2FkbWluLWRhc2hib2FyZFwiO1xuaW1wb3J0IHsgQWRtaW5FZGl0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9hZG1pbi1lZGl0XCI7XG5pbXBvcnQgeyBBZG1pblRhYmxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9hZG1pbi10YWJsZVwiO1xuaW1wb3J0IHsgQWRtaW5UYWJsZUZpZWxkIH0gZnJvbSBcIi4vY29tcG9uZW50cy9hZG1pbi10YWJsZS1maWVsZFwiO1xuaW1wb3J0IHsgQWRtaW5UYWJsZVJvdyB9IGZyb20gXCIuL2NvbXBvbmVudHMvYWRtaW4tdGFibGUtcm93XCI7XG5pbXBvcnQgeyBBZG1pblRleHQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2FkbWluLXRleHRcIjtcblxuZXhwb3J0IHtcblx0XHRBZG1pbkJ1dHRvbixcblx0XHRBZG1pbkRhc2hib2FyZCxcblx0XHRBZG1pbkVkaXQsXG5cdFx0QWRtaW5UYWJsZSxcblx0XHRBZG1pblRhYmxlRmllbGQsXG5cdFx0QWRtaW5UYWJsZVJvdyxcblx0XHRBZG1pblRleHRcblx0fTsiXSwibmFtZXMiOlsiQWRtaW5CdXR0b24iLCJIb3RDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImNvcHkiLCJhcGkiLCJzdXBlciIsInRoaXMiLCJ0YWciLCJidXR0b25DbGlja2VkIiwib3V0cHV0IiwiaHRtbEVsZW1lbnRzIiwiaWQiLCJBZG1pbkRhc2hib2FyZCIsInRpdGxlIiwiYmFzZSIsIm9uUG9zdFBsYWNlIiwicGFyZW50SHRtbEVsZW1lbnQiLCJodG1sRWxlbWVudCIsIkhvdCIsIkRhdGEiLCJiYXNlVXJsIiwiQWRtaW5FZGl0Iiwib25BZGRDbGlja2VkIiwib25FZGl0Q2xpY2tlZCIsIm9uUmVtb3ZlQ2xpY2tlZCIsImJ1dHRvbl90aXRsZSIsImF0dGFjaGVkX2xpc3QiLCJzY2hlbWEiLCJmaWVsZEVsZW1lbnRzIiwibW9kYWxJZCIsIm1vZGFsIiwibW9kYWxUeXBlIiwiY2xvc2VPblNhdmUiLCJzZWxlY3RlZEZpZWxkcyIsImFkZENsaWNrZWQiLCJrZXkiLCJ2YWx1ZSIsIk1vZGFsIiwiZ2V0SW5zdGFuY2UiLCJzaG93IiwiZWRpdENsaWNrZWQiLCJzZWxlY3RlZEZpZWxkIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImhvdENvbXBvbmVudCIsImdldFNlbGVjdGVkIiwiZmllbGRFbGVtZW50IiwicmVtb3ZlQ2xpY2tlZCIsImNoZWNrZWRSb3dzIiwiZ2V0Q2hlY2tlZFJvd3MiLCJ3aGVyZUZpZWxkcyIsImxlbmd0aCIsImkiLCJjaGVja2VkUm93IiwicHVzaCIsImNvbmZpcm0iLCJ3aGVyZUZpZWxkIiwiZmllbGRUeXBlIiwiZ2V0RmllbGRUeXBlIiwianNvblJlcXVlc3QiLCJyZWZyZXNoTGlzdCIsIm9uU2F2ZSIsInZhbHVlcyIsInBhcmVudE5vZGUiLCJmaWVsZF90eXBlIiwiZmllbGRzIiwiYWxlcnQiLCJ0YWJsZSIsImhpZGUiLCIkIiwibmFtZSIsIkVycm9yIiwiaHRtbCIsImRvY3VtZW50U2VsZWN0b3IiLCJBZG1pblRhYmxlRmllbGQiLCJmaWVsZCIsIm5vX291dHB1dCIsImFkZEhlYWRlckRhdGFPbmx5IiwicGxhY2VIZXJlUGFyZW50IiwiaW5uZXIiLCJBZG1pblRhYmxlUm93Iiwicm93RWxlbWVudHMiLCJlbGVtZW50Iiwicm93SHRtbCIsImlJZHgiLCJmaWVsZE9iaiIsIkFkbWluVGFibGUiLCJoZWFkZXJFbGVtZW50cyIsIm9uU2VsZWN0ZWRSb3ciLCJoZWFkZXJJbmRpY2llcyIsInNlbGVjdGVkIiwiYWRkSGVhZGVyIiwidGFibGVGaWVsZEVsZW1lbnQiLCJoZWFkZXIiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsImFwcGVuZENoaWxkIiwidGFibGVGaWVsZCIsImZpZWxkTmFtZSIsInNlbGVjdFJvdyIsInJvd0luZGV4Iiwicm93cyIsInJvdyIsImNsYXNzTGlzdCIsImNvbnRhaW5zIiwicmVtb3ZlIiwiYWRkIiwiaW5kZXgiLCJjaGVja2JveGVzIiwiY2hlY2tib3giLCJjaGVja2VkIiwiZGF0YUluZGV4U3RyIiwicGFyZW50RWxlbWVudCIsImdldEF0dHJpYnV0ZSIsImRhdGFJbmRleCIsInBhcnNlSW50IiwiZ2V0Um93IiwiYWRkUm93IiwidGJvZHkiLCJyb3dTdHIiLCJuZXdPYmoiLCJIb3RTdGFxIiwiYWRkSHRtbCIsImNsZWFyUm93cyIsImlubmVySFRNTCIsImxpc3QiLCJzZXRUaW1lb3V0IiwiQWRtaW5UZXh0IiwicGxhY2VIZXJlQXJyYXkiLCJxdWVyeVNlbGVjdG9yQWxsIiwicGxhY2VIZXJlIiwicmVtb3ZlQ2hpbGQiLCJxdWVyeVNlbGVjdG9yIiwibW9kdWxlIiwiZXhwb3J0cyIsIkhvdFN0YXFXZWIiLCJib290c3RyYXAiLCJfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18iLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJjYWNoZWRNb2R1bGUiLCJ1bmRlZmluZWQiLCJfX3dlYnBhY2tfbW9kdWxlc19fIiwiY2FsbCJdLCJzb3VyY2VSb290IjoiIn0=
1
+ var AdminPanelComponentsWeb;(()=>{"use strict";var t={176:function(t,e,n){var l=this&&this.__awaiter||function(t,e,n,l){return new(n||(n=Promise))((function(i,o){function d(t){try{a(l.next(t))}catch(t){o(t)}}function s(t){try{a(l.throw(t))}catch(t){o(t)}}function a(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(d,s)}a((l=l.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminButton=void 0;const i=n(607);class o extends i.HotComponent{constructor(t,e){super(t,e),this.tag="admin-button"}buttonClicked(){return l(this,void 0,void 0,(function*(){}))}output(){return`<button id = "${this.htmlElements[0].id}" onclick = "this.buttonClicked ();"></button>`}}e.AdminButton=o},50:(t,e,n)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AdminDashboard=void 0;const l=n(607);class i extends l.HotComponent{constructor(t,e){super(t,e),this.tag="admin-dashboard",this.title="",this.base=""}onPostPlace(t,e){return""!=this.base&&(null==l.Hot.Data.AdminPanel&&(l.Hot.Data.AdminPanel={}),null==l.Hot.Data.AdminPanel.baseUrl&&(l.Hot.Data.AdminPanel.baseUrl=this.base),null==l.Hot.Data.AdminPanel.addUrl&&(l.Hot.Data.AdminPanel.addUrl=`${l.Hot.Data.AdminPanel.baseUrl}/v1/data/add`),null==l.Hot.Data.AdminPanel.editUrl&&(l.Hot.Data.AdminPanel.editUrl=`${l.Hot.Data.AdminPanel.baseUrl}/v1/data/edit`),null==l.Hot.Data.AdminPanel.removeUrl&&(l.Hot.Data.AdminPanel.removeUrl=`${l.Hot.Data.AdminPanel.baseUrl}/v1/data/remove`),null==l.Hot.Data.AdminPanel.listUrl&&(l.Hot.Data.AdminPanel.listUrl=`${l.Hot.Data.AdminPanel.baseUrl}/v1/data/list`)),null}output(){return`\n\t\t<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4">\n\t\t\t<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">\n\t\t\t\t<h1 class="h2">${this.title}</h1>\n\t\t\t\t<div class="btn-toolbar mb-2 mb-md-0">\n\t\t\t\t\t<div class="btn-group me-2">\n\t\t\t\t\t\t<hot-place-here name = "buttons"></hot-place-here>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<hot-place-here name = "body"></hot-place-here>\n\t\t</main>`}}e.AdminDashboard=i},703:function(t,e,n){var l=this&&this.__awaiter||function(t,e,n,l){return new(n||(n=Promise))((function(i,o){function d(t){try{a(l.next(t))}catch(t){o(t)}}function s(t){try{a(l.throw(t))}catch(t){o(t)}}function a(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(d,s)}a((l=l.apply(t,e||[])).next())}))},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminEdit=void 0;const o=n(607),d=i(n(685));class s extends o.HotComponent{constructor(t,e){super(t,e),this.onAddClicked=null,this.onEditClicked=null,this.onRemoveClicked=null,this.tag="admin-edit",this.title="",this.button_title="",this.attached_list="",this.schema="",this.fieldElements={},this.modalId="",this.modal=null,this.modalType="add",this.closeOnSave=!0,this.selectedFields=[]}addClicked(){return l(this,void 0,void 0,(function*(){if(null==this.onAddClicked||!1!==(yield this.onAddClicked())){this.modalType="add";for(let t in this.fieldElements)this.fieldElements[t].value="";this.selectedFields=[],d.default.Modal.getInstance(`#${this.modalId}`).show()}}))}editClicked(){return l(this,void 0,void 0,(function*(){if(null!=this.onEditClicked&&!1===(yield this.onEditClicked()))return;this.modalType="edit";let t=document.getElementById(this.attached_list).hotComponent.getSelected();if(null!=t){for(let e in this.fieldElements){let n=this.fieldElements[e];if(null!=n){let l=t[e];n.value=l}}this.selectedFields=[t],d.default.Modal.getInstance(`#${this.modalId}`).show()}}))}removeClicked(){return l(this,void 0,void 0,(function*(){if(null!=this.onRemoveClicked&&!1===(yield this.onRemoveClicked()))return;this.modalType="remove";let t=document.getElementById(this.attached_list).hotComponent,e=t.getCheckedRows(),n=[];if(e.length>0)for(let t=0;t<e.length;t++){let l=e[t];n.push(l)}let l=t.getSelected();if(null!=l&&(n=[l]),n.length>0&&!0===confirm("Are you sure you want to remove this item?")){for(let e=0;e<n.length;e++){let l=n[e];for(let e in l){let n=t.getFieldType(e);null!=n&&"remove"===n&&delete l[e]}let i=o.Hot.Data.AdminPanel.removeUrl;yield o.Hot.jsonRequest(i,{schema:this.schema,whereFields:l})}yield t.refreshList()}}))}onSave(){return l(this,void 0,void 0,(function*(){let t={};for(let e in this.fieldElements){let n=this.fieldElements[e];if(null!=n){let l=n.value;if("remove"===n.parentNode.hotComponent.field_type)continue;t[e]=l}}if("add"===this.modalType){let e=o.Hot.Data.AdminPanel.addUrl;yield o.Hot.jsonRequest(e,{schema:this.schema,fields:t})}if("edit"===this.modalType){if(0===this.selectedFields.length)return void alert("No item(s) selected!");let e=this.selectedFields[0],n={};for(let t in e){let l=this.fieldElements[t],i=e[t];null!=l&&"remove"===l.parentNode.hotComponent.field_type||(n[t]=i)}let l=o.Hot.Data.AdminPanel.editUrl;yield o.Hot.jsonRequest(l,{schema:this.schema,whereFields:n,fields:t})}let e=document.getElementById(this.attached_list).hotComponent;yield e.refreshList(),!0===this.closeOnSave&&d.default.Modal.getInstance(`#${this.modalId}`).hide()}))}onPostPlace(t,e){return this.modal=new d.default.Modal($(`#${this.modalId}`)[0],{backdrop:!0,keyboard:!0,focus:!0}),null}output(){if(""===this.name)throw new Error("You must specify a name for each admin-edit element!");return this.modalId=`${this.name}Modal`,[{html:`\n\t\t\t\x3c!-- ${this.title} Modal Start --\x3e\n\t\t\t<div class="modal fade" id="${this.modalId}" tabindex="-1" aria-labelledby="${this.name}ModalLabel" aria-hidden="true">\n\t\t\t\t<div class="modal-dialog">\n\t\t\t\t\t<div class="modal-content">\n\t\t\t\t\t<div class="modal-header">\n\t\t\t\t\t\t<h5 class="modal-title" id="${this.name}ModalLabel">${this.title}</h5>\n\t\t\t\t\t\t<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="modal-body">\n\t\t\t\t\t\t<hot-place-here name = "modalBody" type = "modal"></hot-place-here>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="modal-footer">\n\t\t\t\t\t\t<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>\n\t\t\t\t\t\t<button type="button" class="btn btn-primary" onclick = "document.getElementById('${this.modalId}').onSave ();">${this.button_title}</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t\x3c!-- ${this.title} Modal End --\x3e`,documentSelector:"body"},{html:`<button id = "${this.modalId}-add-btn" type="button" class="btn btn-sm btn-outline-secondary" onclick = "this.addClicked ();">Add</button>`,documentSelector:'hot-place-here[name="buttons"]'},{html:`<button id = "${this.modalId}-edit-btn" type="button" class="btn btn-sm btn-outline-secondary" onclick = "this.editClicked ();">Edit</button>`,documentSelector:'hot-place-here[name="buttons"]'},{html:`<button id = "${this.modalId}-edit-btn" type="button" class="btn btn-sm btn-outline-secondary" onclick = "this.removeClicked ();">Remove</button>`,documentSelector:'hot-place-here[name="buttons"]'}]}}e.AdminEdit=s},505:(t,e,n)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AdminTableField=void 0;const l=n(607);class i extends l.HotComponent{constructor(t,e){super(t,e),this.tag="admin-table-field",this.field=0,this.field_type="text",this.no_output="0"}onPostPlace(t,e){let n=null;return n=null!=t.parentNode.parentNode.hotComponent?t.parentNode.parentNode.hotComponent:t.parentNode.parentNode.parentNode.parentNode.hotComponent,null!=n&&n.addHeaderDataOnly(this,e),null}output(){return"1"===this.no_output?[{html:"<div></div>",placeHereParent:"afterTable"}]:[{html:`<th>${this.inner}</th>`,documentSelector:"[hot-place-here='header']"}]}}e.AdminTableField=i},412:(t,e,n)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AdminTableRow=void 0;const l=n(607);class i extends l.HotComponent{constructor(t,e){super(t,e),this.tag="admin-table-row",this.fields=[]}onPostPlace(t,e){return t.parentNode.parentNode.parentNode.hotComponent.rowElements.push({fields:this.fields,element:e}),null}output(){let t="";this.fields.length>0&&(t+='<td><input type = "checkbox" /></td>');for(let e=0;e<this.fields.length;e++){let n=this.fields[e];for(let e in n)t+=`<td>${n[e]}</td>`}return[{html:`<tr>${t}</tr>`,documentSelector:"[hot-place-here='results']"}]}}e.AdminTableRow=i},952:function(t,e,n){var l=this&&this.__awaiter||function(t,e,n,l){return new(n||(n=Promise))((function(i,o){function d(t){try{a(l.next(t))}catch(t){o(t)}}function s(t){try{a(l.throw(t))}catch(t){o(t)}}function a(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(d,s)}a((l=l.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminTable=void 0;const i=n(607);class o extends i.HotComponent{constructor(t,e){super(t,e),this.headerElements={},this.rowElements=[],this.onSelectedRow=null,this.tag="admin-table",this.title="",this.schema="",this.headerElements={},this.headerIndicies=[],this.rowElements=[],this.selected=-1}addHeader(t){let e=this.htmlElements[0].getElementsByTagName("thead")[0];this.headerIndicies.length<1&&this.headerIndicies.push(null),this.headerIndicies.push(t.hotComponent.field),e.appendChild(t)}addHeaderDataOnly(t,e){this.headerIndicies.length<1&&this.headerIndicies.push(null),this.headerIndicies.push(t.field),this.headerElements[t.field]=e}getFieldType(t){if(null!=this.headerElements[t]){let e=this.headerElements[t].hotComponent;if(null!=e)return e.field_type}return null}selectRow(t,e){return l(this,void 0,void 0,(function*(){if(null==this.onSelectedRow||!1!==(yield this.onSelectedRow(e))){{let e=this.htmlElements[1].getElementsByTagName("tbody")[0].getElementsByTagName("tr");for(let t=0;t<e.length;t++){let n=e[t];!0===n.classList.contains("table-primary")&&n.classList.remove("table-primary")}t.classList.add("table-primary")}this.selected=e}}))}getSelected(){let t=this.selected;return t<0?null:this.rowElements[t].fields}getCheckedRows(){let t=[],e=this.htmlElements[1].getElementsByTagName("tbody")[0].getElementsByTagName("input");for(let n=0;n<e.length;n++){let l=e[n];if(null!=l.checked&&!0===l.checked){let e=l.parentElement.parentElement.getAttribute("data-index"),n=parseInt(e);t.push(this.rowElements[n].fields)}}return t}getRow(t){return this.rowElements[t].fields}addRow(t){let e=this.htmlElements[1].getElementsByTagName("tbody")[0],n=this.rowElements.length,l=`<tr onclick = "this.parentNode.parentNode.parentNode.parentNode.hotComponent.selectRow (this, ${n});">`;l+='<td><input type = "checkbox" /></td>';for(let e=0;e<this.headerIndicies.length;e++){let i=this.headerIndicies[e],o=t[i];if(null!=this.headerElements[i]){let t=this.getFieldType(i);null==t&&(t="text"),"remove"!==t&&(l+=`<td data-index = "${n}">${o}</td>`)}}l+="</tr>";let o=i.HotStaq.addHtml(e,l);this.rowElements.push({fields:t,element:o})}clearRows(){return l(this,void 0,void 0,(function*(){this.htmlElements[1].getElementsByTagName("tbody")[0].innerHTML=""}))}refreshList(){return l(this,void 0,void 0,(function*(){let t=i.Hot.Data.AdminPanel.listUrl,e=yield i.Hot.jsonRequest(t,{schema:this.schema});this.clearRows();for(let t=0;t<e.length;t++){let n=e[t];this.addRow(n)}}))}onPostPlace(t,e){return setTimeout((()=>l(this,void 0,void 0,(function*(){yield this.refreshList()}))),50),null}output(){return`\n\t\t<div id = "${this.htmlElements[0].id}">\n\t\t\t<h2>${this.title}</h2>\n\t\t\t<div class="table-responsive">\n\t\t\t<table id = "${this.htmlElements[0].id}Table" class="table table-striped table-sm">\n\t\t\t\t<thead>\n\t\t\t\t\t<tr hot-place-here = "header">\n\t\t\t\t\t\t<th></th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody hot-place-here = "results">\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<hot-place-here name = "afterTable"></hot-place-here>\n\t\t\t</div>\n\t\t</div>`}}e.AdminTable=o},80:(t,e,n)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AdminText=void 0;const l=n(607);class i extends l.HotComponent{constructor(t,e){super(t,e),this.tag="admin-text",this.field="",this.field_type="text",this.no_output="0"}onPostPlace(t,e){let n=t.querySelectorAll('hot-place-here[type="modal"]');if(n.length>0){let l=n[0];t.removeChild(e),l.appendChild(e),t.hotComponent.fieldElements[this.field]=e.querySelector("input")}return null}output(){let t="";return null!=this.value&&(t=this.value),"1"===this.no_output?`<div><input class="form-control" type = "hidden" value = "${t}" /></div>`:`<div>\n\t\t\t<label class="form-label">${this.inner}</label><input class="form-control" type = "text" value = "${t}" />\n\t\t</div>`}}e.AdminText=i},607:t=>{t.exports=HotStaqWeb},685:t=>{t.exports=bootstrap}},e={};function n(l){var i=e[l];if(void 0!==i)return i.exports;var o=e[l]={exports:{}};return t[l].call(o.exports,o,o.exports,n),o.exports}var l={};(()=>{var t=l;Object.defineProperty(t,"__esModule",{value:!0}),t.AdminText=t.AdminTableRow=t.AdminTableField=t.AdminTable=t.AdminEdit=t.AdminDashboard=t.AdminButton=void 0;const e=n(176);Object.defineProperty(t,"AdminButton",{enumerable:!0,get:function(){return e.AdminButton}});const i=n(50);Object.defineProperty(t,"AdminDashboard",{enumerable:!0,get:function(){return i.AdminDashboard}});const o=n(703);Object.defineProperty(t,"AdminEdit",{enumerable:!0,get:function(){return o.AdminEdit}});const d=n(952);Object.defineProperty(t,"AdminTable",{enumerable:!0,get:function(){return d.AdminTable}});const s=n(505);Object.defineProperty(t,"AdminTableField",{enumerable:!0,get:function(){return s.AdminTableField}});const a=n(412);Object.defineProperty(t,"AdminTableRow",{enumerable:!0,get:function(){return a.AdminTableRow}});const r=n(80);Object.defineProperty(t,"AdminText",{enumerable:!0,get:function(){return r.AdminText}})})(),AdminPanelComponentsWeb=l})();
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,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c0JuQyxLQUFLOEUsbUVBQW1FM0MsbUJBRXRHLEVBaEVELGEsVUNGQWdHLEVBQU9DLFFBQVVDLFUsVUNBakJGLEVBQU9DLFFBQVVFLFMsR0NDYkMsRUFBMkIsQ0FBQyxFQUdoQyxTQUFTQyxFQUFvQkMsR0FFNUIsSUFBSUMsRUFBZUgsRUFBeUJFLEdBQzVDLFFBQXFCRSxJQUFqQkQsRUFDSCxPQUFPQSxFQUFhTixRQUdyQixJQUFJRCxFQUFTSSxFQUF5QkUsR0FBWSxDQUdqREwsUUFBUyxDQUFDLEdBT1gsT0FIQVEsRUFBb0JILEdBQVVJLEtBQUtWLEVBQU9DLFFBQVNELEVBQVFBLEVBQU9DLFFBQVNJLEdBR3BFTCxFQUFPQyxPQUNmLEMscUxDdEJBLGVBU0UsMkVBVE8sRUFBQTFJLFdBQVcsSUFDcEIsY0FTRSw4RUFUTyxFQUFBWSxjQUFjLElBQ3ZCLGVBU0UseUVBVE8sRUFBQWMsU0FBUyxJQUNsQixlQVNFLDBFQVRPLEVBQUFpRSxVQUFVLElBQ25CLGVBU0UsK0VBVE8sRUFBQVosZUFBZSxJQUN4QixlQVNFLDZFQVRPLEVBQUFNLGFBQWEsSUFDdEIsY0FTRSx5RUFUTyxFQUFBOEMsU0FBUyxHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQWRtaW5QYW5lbENvbXBvbmVudHNXZWIvLi9zcmMvY29tcG9uZW50cy9hZG1pbi1idXR0b24udHMiLCJ3ZWJwYWNrOi8vQWRtaW5QYW5lbENvbXBvbmVudHNXZWIvLi9zcmMvY29tcG9uZW50cy9hZG1pbi1kYXNoYm9hcmQudHMiLCJ3ZWJwYWNrOi8vQWRtaW5QYW5lbENvbXBvbmVudHNXZWIvLi9zcmMvY29tcG9uZW50cy9hZG1pbi1lZGl0LnRzIiwid2VicGFjazovL0FkbWluUGFuZWxDb21wb25lbnRzV2ViLy4vc3JjL2NvbXBvbmVudHMvYWRtaW4tdGFibGUtZmllbGQudHMiLCJ3ZWJwYWNrOi8vQWRtaW5QYW5lbENvbXBvbmVudHNXZWIvLi9zcmMvY29tcG9uZW50cy9hZG1pbi10YWJsZS1yb3cudHMiLCJ3ZWJwYWNrOi8vQWRtaW5QYW5lbENvbXBvbmVudHNXZWIvLi9zcmMvY29tcG9uZW50cy9hZG1pbi10YWJsZS50cyIsIndlYnBhY2s6Ly9BZG1pblBhbmVsQ29tcG9uZW50c1dlYi8uL3NyYy9jb21wb25lbnRzL2FkbWluLXRleHQudHMiLCJ3ZWJwYWNrOi8vQWRtaW5QYW5lbENvbXBvbmVudHNXZWIvZXh0ZXJuYWwgdmFyIFwiSG90U3RhcVdlYlwiIiwid2VicGFjazovL0FkbWluUGFuZWxDb21wb25lbnRzV2ViL2V4dGVybmFsIHZhciBcImJvb3RzdHJhcFwiIiwid2VicGFjazovL0FkbWluUGFuZWxDb21wb25lbnRzV2ViL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0FkbWluUGFuZWxDb21wb25lbnRzV2ViLy4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhvdFN0YXEsIEhvdCwgSG90QVBJLCBIb3RDb21wb25lbnQgfSBmcm9tIFwiaG90c3RhcVwiO1xuXG5leHBvcnQgY2xhc3MgQWRtaW5CdXR0b24gZXh0ZW5kcyBIb3RDb21wb25lbnRcbntcblx0Y29uc3RydWN0b3IgKGNvcHk6IEhvdENvbXBvbmVudCB8IEhvdFN0YXEsIGFwaTogSG90QVBJKVxuXHR7XG5cdFx0c3VwZXIgKGNvcHksIGFwaSk7XG5cblx0XHR0aGlzLnRhZyA9IFwiYWRtaW4tYnV0dG9uXCI7XG5cdH1cblxuXHRhc3luYyBidXR0b25DbGlja2VkICgpOiBQcm9taXNlPHZvaWQ+XG5cdHtcblx0fVxuXG5cdG91dHB1dCAoKTogc3RyaW5nXG5cdHtcblx0XHRyZXR1cm4gKGA8YnV0dG9uIGlkID0gXCIke3RoaXMuaHRtbEVsZW1lbnRzWzBdLmlkfVwiIG9uY2xpY2sgPSBcInRoaXMuYnV0dG9uQ2xpY2tlZCAoKTtcIj48L2J1dHRvbj5gKTtcblx0fVxufVxuIiwiaW1wb3J0IHsgSG90U3RhcSwgSG90LCBIb3RBUEksIEhvdENvbXBvbmVudCB9IGZyb20gXCJob3RzdGFxXCI7XG5cbmV4cG9ydCBjbGFzcyBBZG1pbkRhc2hib2FyZCBleHRlbmRzIEhvdENvbXBvbmVudFxue1xuXHQvKipcblx0ICogVGhlIHRpdGxlIG9mIHRoaXMgZGFzaGJvYXJkLlxuXHQgKi9cblx0dGl0bGU6IHN0cmluZztcblx0LyoqXG5cdCAqIFRoZSBiYXNlIHVybCB0byB1c2UgZm9yIHRoaXMgZGFzaGJvYXJkLlxuXHQgKi9cblx0YmFzZTogc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yIChjb3B5OiBIb3RDb21wb25lbnQgfCBIb3RTdGFxLCBhcGk6IEhvdEFQSSlcblx0e1xuXHRcdHN1cGVyIChjb3B5LCBhcGkpO1xuXG5cdFx0dGhpcy50YWcgPSBcImFkbWluLWRhc2hib2FyZFwiO1xuXHRcdHRoaXMudGl0bGUgPSBcIlwiO1xuXHRcdHRoaXMuYmFzZSA9IFwiXCI7XG5cdH1cblxuXHQvKipcblx0ICogQWRkIHRoaXMgdGFibGUgZmllbGQgdG8gdGhlIHRhYmxlXG5cdCAqL1xuXHRvblBvc3RQbGFjZSAocGFyZW50SHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50LCBodG1sRWxlbWVudDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudFxuXHR7XG5cdFx0Ly8gU2V0IHRoZSBiYXNlIEFQSSB1cmwgdG8gdXNlIGZvciB0aGlzIGRhc2hib2FyZC5cblx0XHRpZiAodGhpcy5iYXNlICE9IFwiXCIpXG5cdFx0e1xuXHRcdFx0aWYgKEhvdC5EYXRhLkFkbWluUGFuZWwgPT0gbnVsbClcblx0XHRcdFx0SG90LkRhdGEuQWRtaW5QYW5lbCA9IHt9O1xuXG5cdFx0XHRpZiAoSG90LkRhdGEuQWRtaW5QYW5lbC5iYXNlVXJsID09IG51bGwpXG5cdFx0XHRcdEhvdC5EYXRhLkFkbWluUGFuZWwuYmFzZVVybCA9IHRoaXMuYmFzZTtcblxuXHRcdFx0aWYgKEhvdC5EYXRhLkFkbWluUGFuZWwuYWRkVXJsID09IG51bGwpXG5cdFx0XHRcdEhvdC5EYXRhLkFkbWluUGFuZWwuYWRkVXJsID0gYCR7SG90LkRhdGEuQWRtaW5QYW5lbC5iYXNlVXJsfS92MS9kYXRhL2FkZGBcblxuXHRcdFx0aWYgKEhvdC5EYXRhLkFkbWluUGFuZWwuZWRpdFVybCA9PSBudWxsKVxuXHRcdFx0XHRIb3QuRGF0YS5BZG1pblBhbmVsLmVkaXRVcmwgPSBgJHtIb3QuRGF0YS5BZG1pblBhbmVsLmJhc2VVcmx9L3YxL2RhdGEvZWRpdGBcblxuXHRcdFx0aWYgKEhvdC5EYXRhLkFkbWluUGFuZWwucmVtb3ZlVXJsID09IG51bGwpXG5cdFx0XHRcdEhvdC5EYXRhLkFkbWluUGFuZWwucmVtb3ZlVXJsID0gYCR7SG90LkRhdGEuQWRtaW5QYW5lbC5iYXNlVXJsfS92MS9kYXRhL3JlbW92ZWBcblxuXHRcdFx0aWYgKEhvdC5EYXRhLkFkbWluUGFuZWwubGlzdFVybCA9PSBudWxsKVxuXHRcdFx0XHRIb3QuRGF0YS5BZG1pblBhbmVsLmxpc3RVcmwgPSBgJHtIb3QuRGF0YS5BZG1pblBhbmVsLmJhc2VVcmx9L3YxL2RhdGEvbGlzdGBcblx0XHR9XG5cblx0XHRyZXR1cm4gKG51bGwpO1xuXHR9XG5cblx0b3V0cHV0ICgpOiBzdHJpbmdcblx0e1xuXHRcdHJldHVybiAoYFxuXHRcdDxtYWluIGNsYXNzPVwiY29sLW1kLTkgbXMtc20tYXV0byBjb2wtbGctMTAgcHgtbWQtNFwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBmbGV4LXdyYXAgZmxleC1tZC1ub3dyYXAgYWxpZ24taXRlbXMtY2VudGVyIHB0LTMgcGItMiBtYi0zIGJvcmRlci1ib3R0b21cIj5cblx0XHRcdFx0PGgxIGNsYXNzPVwiaDJcIj4ke3RoaXMudGl0bGV9PC9oMT5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImJ0bi10b29sYmFyIG1iLTIgbWItbWQtMFwiPlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgbWUtMlwiPlxuXHRcdFx0XHRcdFx0PGhvdC1wbGFjZS1oZXJlIG5hbWUgPSBcImJ1dHRvbnNcIj48L2hvdC1wbGFjZS1oZXJlPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGhvdC1wbGFjZS1oZXJlIG5hbWUgPSBcImJvZHlcIj48L2hvdC1wbGFjZS1oZXJlPlxuXHRcdDwvbWFpbj5gKTtcblx0fVxufVxuIiwiaW1wb3J0IHsgSG90U3RhcSwgSG90LCBIb3RBUEksIEhvdENvbXBvbmVudCwgSG90Q29tcG9uZW50T3V0cHV0IH0gZnJvbSBcImhvdHN0YXFcIjtcblxuaW1wb3J0IGJvb3RzdHJhcCBmcm9tIFwiYm9vdHN0cmFwXCI7XG5cbmltcG9ydCB7IEFkbWluVGFibGUgfSBmcm9tIFwiLi9hZG1pbi10YWJsZVwiO1xuXG5leHBvcnQgY2xhc3MgQWRtaW5FZGl0IGV4dGVuZHMgSG90Q29tcG9uZW50XG57XG5cdC8qKlxuXHQgKiBUaGUgdGl0bGUgb2YgdGhpcyBlZGl0IG1vZGFsLlxuXHQgKi9cblx0dGl0bGU6IHN0cmluZztcblx0LyoqXG5cdCAqIFRoZSBidXR0b24gdGl0bGUuXG5cdCAqL1xuXHRidXR0b25fdGl0bGU6IHN0cmluZztcblx0LyoqXG5cdCAqIFRoZSBhdHRhY2hlZCBsaXN0LlxuXHQgKi9cblx0YXR0YWNoZWRfbGlzdDogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIGF0dGFjaGVkIHNjaGVtYS5cblx0ICovXG5cdHNjaGVtYTogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIGZpZWxkIGVsZW1lbnRzIGluIHRoZSBlZGl0IG1vZGFsLlxuXHQgKi9cblx0ZmllbGRFbGVtZW50czogeyBbbmFtZTogc3RyaW5nXTogYW55OyB9O1xuXHQvKipcblx0ICogVGhlIG1vZGFsIGlkLlxuXHQgKi9cblx0bW9kYWxJZDogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIGJvb3RzdHJhcCBtb2RhbCBpbnN0YW5jZS5cblx0ICovXG5cdG1vZGFsOiBib290c3RyYXAuTW9kYWw7XG5cdC8qKlxuXHQgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhpcyB3aWxsIGNsb3NlIHRoZSBtb2RhbCB3aGVuIHNhdmUgaXMgY2xpY2tlZC5cblx0ICovXG5cdGNsb3NlT25TYXZlOiBib29sZWFuO1xuXHQvKipcblx0ICogVGhlIHR5cGUgb2YgbW9kYWwgdG8gb3Blbi4gQ2FuIGJlOlxuXHQgKiAqIGFkZFxuXHQgKiAqIGVkaXRcblx0ICogKiByZW1vdmVcblx0ICovXG5cdHByb3RlY3RlZCBtb2RhbFR5cGU6IHN0cmluZztcblx0LyoqXG5cdCAqIFRoZSBzZWxlY3RlZCBmaWVsZHMuXG5cdCAqL1xuXHRwcm90ZWN0ZWQgc2VsZWN0ZWRGaWVsZHM6IGFueVtdO1xuXG5cdGNvbnN0cnVjdG9yIChjb3B5OiBIb3RDb21wb25lbnQgfCBIb3RTdGFxLCBhcGk6IEhvdEFQSSlcblx0e1xuXHRcdHN1cGVyIChjb3B5LCBhcGkpO1xuXG5cdFx0dGhpcy50YWcgPSBcImFkbWluLWVkaXRcIjtcblx0XHR0aGlzLnRpdGxlID0gXCJcIjtcblx0XHR0aGlzLmJ1dHRvbl90aXRsZSA9IFwiXCI7XG5cdFx0dGhpcy5hdHRhY2hlZF9saXN0ID0gXCJcIjtcblx0XHR0aGlzLnNjaGVtYSA9IFwiXCI7XG5cblx0XHR0aGlzLmZpZWxkRWxlbWVudHMgPSB7fTtcblxuXHRcdHRoaXMubW9kYWxJZCA9IFwiXCI7XG5cdFx0dGhpcy5tb2RhbCA9IG51bGw7XG5cdFx0dGhpcy5tb2RhbFR5cGUgPSBcImFkZFwiO1xuXHRcdHRoaXMuY2xvc2VPblNhdmUgPSB0cnVlO1xuXHRcdHRoaXMuc2VsZWN0ZWRGaWVsZHMgPSBbXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgZXZlbnQgdGhhdCBjYW4gYmUgY2FsbGVkIHdoZW4gdGhlIGFkZCBidXR0b24gaXMgY2xpY2tlZC5cblx0ICogVGhpcyBpcyBjYWxsZWQgYmVmb3JlIHRoZSBhZGQgbW9kYWwgb3BlbnMuXG5cdCAqL1xuXHRvbkFkZENsaWNrZWQ6ICgpID0+IFByb21pc2U8Ym9vbGVhbj4gPSBudWxsO1xuXG5cdC8qKlxuXHQgKiBFeGVjdXRlcyB3aGVuIHRoZSBhZGQgYnV0dG9uIGlzIGNsaWNrZWQuXG5cdCAqL1xuXHRhc3luYyBhZGRDbGlja2VkICgpOiBQcm9taXNlPHZvaWQ+XG5cdHtcblx0XHRpZiAodGhpcy5vbkFkZENsaWNrZWQgIT0gbnVsbClcblx0XHR7XG5cdFx0XHRsZXQgcmVzdWx0ID0gYXdhaXQgdGhpcy5vbkFkZENsaWNrZWQgKCk7XG5cblx0XHRcdGlmIChyZXN1bHQgPT09IGZhbHNlKVxuXHRcdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5tb2RhbFR5cGUgPSBcImFkZFwiO1xuXG5cdFx0Ly8gQ2xlYXIgdGhlIHZhbHVlcyBpbiBlYWNoIGZpZWxkLlxuXHRcdGZvciAobGV0IGtleSBpbiB0aGlzLmZpZWxkRWxlbWVudHMpXG5cdFx0e1xuXHRcdFx0bGV0IGZpZWxkRWxlbWVudCA9IHRoaXMuZmllbGRFbGVtZW50c1trZXldO1xuXG5cdFx0XHRmaWVsZEVsZW1lbnQudmFsdWUgPSBcIlwiO1xuXHRcdH1cblxuXHRcdHRoaXMuc2VsZWN0ZWRGaWVsZHMgPSBbXTtcblxuXHRcdGJvb3RzdHJhcC5Nb2RhbC5nZXRJbnN0YW5jZSAoYCMke3RoaXMubW9kYWxJZH1gKS5zaG93ICgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBldmVudCB0aGF0IGNhbiBiZSBjYWxsZWQgd2hlbiB0aGUgZWRpdCBidXR0b24gaXMgY2xpY2tlZC5cblx0ICogVGhpcyBpcyBjYWxsZWQgYmVmb3JlIHRoZSBlZGl0IG1vZGFsIG9wZW5zLlxuXHQgKi9cblx0b25FZGl0Q2xpY2tlZDogKCkgPT4gUHJvbWlzZTxib29sZWFuPiA9IG51bGw7XG5cblx0LyoqXG5cdCAqIEV4ZWN1dGVzIHdoZW4gdGhlIGVkaXQgYnV0dG9uIGlzIGNsaWNrZWQuXG5cdCAqL1xuXHRhc3luYyBlZGl0Q2xpY2tlZCAoKTogUHJvbWlzZTx2b2lkPlxuXHR7XG5cdFx0aWYgKHRoaXMub25FZGl0Q2xpY2tlZCAhPSBudWxsKVxuXHRcdHtcblx0XHRcdGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLm9uRWRpdENsaWNrZWQgKCk7XG5cblx0XHRcdGlmIChyZXN1bHQgPT09IGZhbHNlKVxuXHRcdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5tb2RhbFR5cGUgPSBcImVkaXRcIjtcblx0XHRsZXQgYXR0YWNoZWRMaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQgKHRoaXMuYXR0YWNoZWRfbGlzdCk7XG5cblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0bGV0IGhvdENvbXBvbmVudDogQWRtaW5UYWJsZSA9IGF0dGFjaGVkTGlzdC5ob3RDb21wb25lbnQ7XG5cdFx0bGV0IHNlbGVjdGVkRmllbGQgPSBob3RDb21wb25lbnQuZ2V0U2VsZWN0ZWQgKCk7XG5cblx0XHRpZiAoc2VsZWN0ZWRGaWVsZCAhPSBudWxsKVxuXHRcdHtcblx0XHRcdGZvciAobGV0IGtleSBpbiB0aGlzLmZpZWxkRWxlbWVudHMpXG5cdFx0XHR7XG5cdFx0XHRcdGxldCBmaWVsZEVsZW1lbnQgPSB0aGlzLmZpZWxkRWxlbWVudHNba2V5XTtcblxuXHRcdFx0XHRpZiAoZmllbGRFbGVtZW50ICE9IG51bGwpXG5cdFx0XHRcdHtcblx0XHRcdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRcdFx0bGV0IHZhbHVlID0gc2VsZWN0ZWRGaWVsZFtrZXldO1xuXG5cdFx0XHRcdFx0ZmllbGRFbGVtZW50LnZhbHVlID0gdmFsdWU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dGhpcy5zZWxlY3RlZEZpZWxkcyA9IFtzZWxlY3RlZEZpZWxkXTtcblxuXHRcdFx0Ym9vdHN0cmFwLk1vZGFsLmdldEluc3RhbmNlIChgIyR7dGhpcy5tb2RhbElkfWApLnNob3cgKCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBldmVudCB0aGF0IGNhbiBiZSBjYWxsZWQgd2hlbiB0aGUgcmVtb3ZlIGJ1dHRvbiBpcyBjbGlja2VkLlxuXHQgKiBUaGlzIGlzIGNhbGxlZCBiZWZvcmUgdGhlIHJlbW92ZSBtb2RhbCBvcGVucy5cblx0ICovXG5cdG9uUmVtb3ZlQ2xpY2tlZDogKCkgPT4gUHJvbWlzZTxib29sZWFuPiA9IG51bGw7XG5cblx0LyoqXG5cdCAqIEV4ZWN1dGVzIHdoZW4gdGhlIHJlbW92ZSBidXR0b24gaXMgY2xpY2tlZC5cblx0ICovXG5cdGFzeW5jIHJlbW92ZUNsaWNrZWQgKCk6IFByb21pc2U8dm9pZD5cblx0e1xuXHRcdGlmICh0aGlzLm9uUmVtb3ZlQ2xpY2tlZCAhPSBudWxsKVxuXHRcdHtcblx0XHRcdGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLm9uUmVtb3ZlQ2xpY2tlZCAoKTtcblxuXHRcdFx0aWYgKHJlc3VsdCA9PT0gZmFsc2UpXG5cdFx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLm1vZGFsVHlwZSA9IFwicmVtb3ZlXCI7XG5cblx0XHRsZXQgYXR0YWNoZWRMaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQgKHRoaXMuYXR0YWNoZWRfbGlzdCk7XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGxldCBob3RDb21wb25lbnQ6IEFkbWluVGFibGUgPSBhdHRhY2hlZExpc3QuaG90Q29tcG9uZW50O1xuXHRcdGxldCBjaGVja2VkUm93cyA9IGhvdENvbXBvbmVudC5nZXRDaGVja2VkUm93cyAoKTtcblx0XHRsZXQgd2hlcmVGaWVsZHM6IGFueVtdID0gW107XG5cblx0XHRpZiAoY2hlY2tlZFJvd3MubGVuZ3RoID4gMClcblx0XHR7XG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGNoZWNrZWRSb3dzLmxlbmd0aDsgaSsrKVxuXHRcdFx0e1xuXHRcdFx0XHRsZXQgY2hlY2tlZFJvdyA9IGNoZWNrZWRSb3dzW2ldO1xuXHRcdFx0XHR3aGVyZUZpZWxkcy5wdXNoIChjaGVja2VkUm93KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRsZXQgc2VsZWN0ZWRGaWVsZCA9IGhvdENvbXBvbmVudC5nZXRTZWxlY3RlZCAoKTtcblxuXHRcdGlmIChzZWxlY3RlZEZpZWxkICE9IG51bGwpXG5cdFx0XHR3aGVyZUZpZWxkcyA9IFtzZWxlY3RlZEZpZWxkXTtcblxuXHRcdGlmICh3aGVyZUZpZWxkcy5sZW5ndGggPiAwKVxuXHRcdHtcblx0XHRcdGNvbnN0IGNvbmZpcm1lZDogYm9vbGVhbiA9IGNvbmZpcm0gKFwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlbW92ZSB0aGlzIGl0ZW0/XCIpO1xuXG5cdFx0XHRpZiAoY29uZmlybWVkID09PSB0cnVlKVxuXHRcdFx0e1xuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHdoZXJlRmllbGRzLmxlbmd0aDsgaSsrKVxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0bGV0IHdoZXJlRmllbGQgPSB3aGVyZUZpZWxkc1tpXTtcblxuXHRcdFx0XHRcdC8vIFJlbW92ZSBhbnkgZmllbGRzIHRoYXQgYXJlIG1hcmtlZCBhcyByZW1vdmUuXG5cdFx0XHRcdFx0Zm9yIChsZXQga2V5IGluIHdoZXJlRmllbGQpXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0bGV0IGZpZWxkVHlwZSA9IGhvdENvbXBvbmVudC5nZXRGaWVsZFR5cGUgKGtleSk7XG5cblx0XHRcdFx0XHRcdGlmIChmaWVsZFR5cGUgIT0gbnVsbClcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0aWYgKGZpZWxkVHlwZSA9PT0gXCJyZW1vdmVcIilcblx0XHRcdFx0XHRcdFx0XHRkZWxldGUgd2hlcmVGaWVsZFtrZXldO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGxldCByZW1vdmVVcmw6IHN0cmluZyA9IEhvdC5EYXRhLkFkbWluUGFuZWwucmVtb3ZlVXJsO1xuXG5cdFx0XHRcdFx0YXdhaXQgSG90Lmpzb25SZXF1ZXN0IChyZW1vdmVVcmwsIHtcblx0XHRcdFx0XHRcdFx0c2NoZW1hOiB0aGlzLnNjaGVtYSxcblx0XHRcdFx0XHRcdFx0d2hlcmVGaWVsZHM6IHdoZXJlRmllbGRcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XG5cdFx0XHRcdGF3YWl0IGhvdENvbXBvbmVudC5yZWZyZXNoTGlzdCAoKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogU2F2ZSB0aGlzIGZvcm0uXG5cdCAqL1xuXHRhc3luYyBvblNhdmUgKClcblx0e1xuXHRcdGxldCB2YWx1ZXM6IGFueSA9IHt9O1xuXG5cdFx0Zm9yIChsZXQga2V5IGluIHRoaXMuZmllbGRFbGVtZW50cylcblx0XHR7XG5cdFx0XHRsZXQgZmllbGRFbGVtZW50ID0gdGhpcy5maWVsZEVsZW1lbnRzW2tleV07XG5cblx0XHRcdGlmIChmaWVsZEVsZW1lbnQgIT0gbnVsbClcblx0XHRcdHtcblx0XHRcdFx0bGV0IHZhbHVlID0gZmllbGRFbGVtZW50LnZhbHVlO1xuXHRcdFx0XHRsZXQgZmllbGRUeXBlOiBzdHJpbmcgPSBmaWVsZEVsZW1lbnQucGFyZW50Tm9kZS5ob3RDb21wb25lbnQuZmllbGRfdHlwZTtcblxuXHRcdFx0XHRpZiAoZmllbGRUeXBlID09PSBcInJlbW92ZVwiKVxuXHRcdFx0XHRcdGNvbnRpbnVlO1xuXG5cdFx0XHRcdHZhbHVlc1trZXldID0gdmFsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMubW9kYWxUeXBlID09PSBcImFkZFwiKVxuXHRcdHtcblx0XHRcdGxldCBhZGRVcmw6IHN0cmluZyA9IEhvdC5EYXRhLkFkbWluUGFuZWwuYWRkVXJsO1xuXG5cdFx0XHRhd2FpdCBIb3QuanNvblJlcXVlc3QgKGFkZFVybCwge1xuXHRcdFx0XHRcdHNjaGVtYTogdGhpcy5zY2hlbWEsXG5cdFx0XHRcdFx0ZmllbGRzOiB2YWx1ZXNcblx0XHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMubW9kYWxUeXBlID09PSBcImVkaXRcIilcblx0XHR7XG5cdFx0XHRpZiAodGhpcy5zZWxlY3RlZEZpZWxkcy5sZW5ndGggPT09IDApXG5cdFx0XHR7XG5cdFx0XHRcdGFsZXJ0IChcIk5vIGl0ZW0ocykgc2VsZWN0ZWQhXCIpO1xuXG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0bGV0IHNlbGVjdGVkRmllbGQgPSB0aGlzLnNlbGVjdGVkRmllbGRzWzBdO1xuXHRcdFx0bGV0IHdoZXJlRmllbGRzOiBhbnkgPSB7fTtcblxuXHRcdFx0Zm9yIChsZXQga2V5IGluIHNlbGVjdGVkRmllbGQpXG5cdFx0XHR7XG5cdFx0XHRcdGxldCBmaWVsZEVsZW1lbnQgPSB0aGlzLmZpZWxkRWxlbWVudHNba2V5XTtcblx0XHRcdFx0bGV0IHZhbHVlID0gc2VsZWN0ZWRGaWVsZFtrZXldO1xuXG5cdFx0XHRcdGlmIChmaWVsZEVsZW1lbnQgIT0gbnVsbClcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGxldCBmaWVsZFR5cGU6IHN0cmluZyA9IGZpZWxkRWxlbWVudC5wYXJlbnROb2RlLmhvdENvbXBvbmVudC5maWVsZF90eXBlO1xuXG5cdFx0XHRcdFx0aWYgKGZpZWxkVHlwZSA9PT0gXCJyZW1vdmVcIilcblx0XHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0d2hlcmVGaWVsZHNba2V5XSA9IHZhbHVlO1xuXHRcdFx0fVxuXG5cdFx0XHRsZXQgZWRpdFVybDogc3RyaW5nID0gSG90LkRhdGEuQWRtaW5QYW5lbC5lZGl0VXJsO1xuXG5cdFx0XHRhd2FpdCBIb3QuanNvblJlcXVlc3QgKGVkaXRVcmwsIHtcblx0XHRcdFx0XHRzY2hlbWE6IHRoaXMuc2NoZW1hLFxuXHRcdFx0XHRcdHdoZXJlRmllbGRzOiB3aGVyZUZpZWxkcyxcblx0XHRcdFx0XHRmaWVsZHM6IHZhbHVlc1xuXHRcdFx0XHR9KTtcblx0XHR9XG5cblx0XHRsZXQgYXR0YWNoZWRMaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQgKHRoaXMuYXR0YWNoZWRfbGlzdCk7XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGxldCB0YWJsZTogQWRtaW5UYWJsZSA9IGF0dGFjaGVkTGlzdC5ob3RDb21wb25lbnQ7XG5cblx0XHRhd2FpdCB0YWJsZS5yZWZyZXNoTGlzdCAoKTtcblxuXHRcdGlmICh0aGlzLmNsb3NlT25TYXZlID09PSB0cnVlKVxuXHRcdHtcblx0XHRcdGJvb3RzdHJhcC5Nb2RhbC5nZXRJbnN0YW5jZSAoYCMke3RoaXMubW9kYWxJZH1gKS5oaWRlICgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIGxpc3Qgb2YgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIuXG5cdCAqL1xuXHRvblBvc3RQbGFjZSAocGFyZW50SHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50LCBodG1sRWxlbWVudDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudFxuXHR7XG5cdFx0dGhpcy5tb2RhbCA9IG5ldyBib290c3RyYXAuTW9kYWwgKCQoYCMke3RoaXMubW9kYWxJZH1gKVswXSwge1xuXHRcdFx0XHRcImJhY2tkcm9wXCI6IHRydWUsXG5cdFx0XHRcdFwia2V5Ym9hcmRcIjogdHJ1ZSxcblx0XHRcdFx0XCJmb2N1c1wiOiB0cnVlXG5cdFx0XHR9KTtcblxuXHRcdHJldHVybiAobnVsbCk7XG5cdH1cblxuXHRvdXRwdXQgKCk6IHN0cmluZyB8IEhvdENvbXBvbmVudE91dHB1dFtdXG5cdHtcblx0XHRpZiAodGhpcy5uYW1lID09PSBcIlwiKVxuXHRcdFx0dGhyb3cgbmV3IEVycm9yIChgWW91IG11c3Qgc3BlY2lmeSBhIG5hbWUgZm9yIGVhY2ggYWRtaW4tZWRpdCBlbGVtZW50IWApO1xuXG5cdFx0dGhpcy5tb2RhbElkID0gYCR7dGhpcy5uYW1lfU1vZGFsYDtcblxuXHRcdHJldHVybiAoW3tcblx0XHRcdGh0bWw6IGBcblx0XHRcdDwhLS0gJHt0aGlzLnRpdGxlfSBNb2RhbCBTdGFydCAtLT5cblx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbCBmYWRlXCIgaWQ9XCIke3RoaXMubW9kYWxJZH1cIiB0YWJpbmRleD1cIi0xXCIgYXJpYS1sYWJlbGxlZGJ5PVwiJHt0aGlzLm5hbWV9TW9kYWxMYWJlbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nXCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG5cdFx0XHRcdFx0XHQ8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwiJHt0aGlzLm5hbWV9TW9kYWxMYWJlbFwiPiR7dGhpcy50aXRsZX08L2g1PlxuXHRcdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPjwvYnV0dG9uPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG5cdFx0XHRcdFx0XHQ8aG90LXBsYWNlLWhlcmUgbmFtZSA9IFwibW9kYWxCb2R5XCIgdHlwZSA9IFwibW9kYWxcIj48L2hvdC1wbGFjZS1oZXJlPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cblx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiPkNhbmNlbDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBvbmNsaWNrID0gXCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnJHt0aGlzLm1vZGFsSWR9Jykub25TYXZlICgpO1wiPiR7dGhpcy5idXR0b25fdGl0bGV9PC9idXR0b24+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8IS0tICR7dGhpcy50aXRsZX0gTW9kYWwgRW5kIC0tPmAsXG5cdFx0XHRkb2N1bWVudFNlbGVjdG9yOiBcImJvZHlcIlxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0aHRtbDogYDxidXR0b24gaWQgPSBcIiR7dGhpcy5tb2RhbElkfS1hZGQtYnRuXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiBvbmNsaWNrID0gXCJ0aGlzLmFkZENsaWNrZWQgKCk7XCI+QWRkPC9idXR0b24+YCxcblx0XHRcdGRvY3VtZW50U2VsZWN0b3I6IGBob3QtcGxhY2UtaGVyZVtuYW1lPVwiYnV0dG9uc1wiXWBcblx0XHR9LFxuXHRcdHtcblx0XHRcdGh0bWw6IGA8YnV0dG9uIGlkID0gXCIke3RoaXMubW9kYWxJZH0tZWRpdC1idG5cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIG9uY2xpY2sgPSBcInRoaXMuZWRpdENsaWNrZWQgKCk7XCI+RWRpdDwvYnV0dG9uPmAsXG5cdFx0XHRkb2N1bWVudFNlbGVjdG9yOiBgaG90LXBsYWNlLWhlcmVbbmFtZT1cImJ1dHRvbnNcIl1gXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRodG1sOiBgPGJ1dHRvbiBpZCA9IFwiJHt0aGlzLm1vZGFsSWR9LWVkaXQtYnRuXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiBvbmNsaWNrID0gXCJ0aGlzLnJlbW92ZUNsaWNrZWQgKCk7XCI+UmVtb3ZlPC9idXR0b24+YCxcblx0XHRcdGRvY3VtZW50U2VsZWN0b3I6IGBob3QtcGxhY2UtaGVyZVtuYW1lPVwiYnV0dG9uc1wiXWBcblx0XHR9XSk7XG5cdH1cbn1cbiIsImltcG9ydCB7IEhvdFN0YXEsIEhvdCwgSG90QVBJLCBIb3RDb21wb25lbnQsIEhvdENvbXBvbmVudE91dHB1dCB9IGZyb20gXCJob3RzdGFxXCI7XG5pbXBvcnQgeyBBZG1pblRhYmxlIH0gZnJvbSBcIi4vYWRtaW4tdGFibGVcIjtcblxuZXhwb3J0IGNsYXNzIEFkbWluVGFibGVGaWVsZCBleHRlbmRzIEhvdENvbXBvbmVudFxue1xuXHQvKipcblx0ICogVGhlIHRhYmxlIGZpZWxkLlxuXHQgKi9cblx0ZmllbGQ6IG51bWJlcjtcblx0LyoqXG5cdCAqIFRoZSB0eXBlIG9mIGZpZWxkLiBDYW4gYmU6XG5cdCAqICogdGV4dFxuXHQgKiAqIHJlbW92ZVxuXHQgKiBcblx0ICogRGVmYXVsdDogdGV4dFxuXHQgKi9cblx0ZmllbGRfdHlwZTogc3RyaW5nO1xuXHQvKipcblx0ICogSWYgc2V0IHRvIDEsIHRoaXMgd2lsbCBub3Qgb3V0cHV0IHRoZSBmaWVsZC5cblx0ICovXG5cdG5vX291dHB1dDogc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yIChjb3B5OiBIb3RDb21wb25lbnQgfCBIb3RTdGFxLCBhcGk6IEhvdEFQSSlcblx0e1xuXHRcdHN1cGVyIChjb3B5LCBhcGkpO1xuXG5cdFx0dGhpcy50YWcgPSBcImFkbWluLXRhYmxlLWZpZWxkXCI7XG5cdFx0dGhpcy5maWVsZCA9IDA7XG5cdFx0dGhpcy5maWVsZF90eXBlID0gXCJ0ZXh0XCI7XG5cdFx0dGhpcy5ub19vdXRwdXQgPSBcIjBcIjtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgdGhpcyB0YWJsZSBmaWVsZCB0byB0aGUgdGFibGVcblx0ICovXG5cdG9uUG9zdFBsYWNlIChwYXJlbnRIdG1sRWxlbWVudDogSFRNTEVsZW1lbnQsIGh0bWxFbGVtZW50OiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50XG5cdHtcblx0XHRsZXQgaG90Q29tcG9uZW50OiBBZG1pblRhYmxlID0gbnVsbDtcblxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRpZiAocGFyZW50SHRtbEVsZW1lbnQucGFyZW50Tm9kZS5wYXJlbnROb2RlLmhvdENvbXBvbmVudCAhPSBudWxsKVxuXHRcdHtcblx0XHRcdC8vIEB0cy1pZ25vcmVcblx0XHRcdGhvdENvbXBvbmVudCA9IHBhcmVudEh0bWxFbGVtZW50LnBhcmVudE5vZGUucGFyZW50Tm9kZS5ob3RDb21wb25lbnQ7XG5cdFx0fVxuXHRcdGVsc2Vcblx0XHR7XG5cdFx0XHQvLyBAdHMtaWdub3JlIC0gbG9vb29sLiBBZGQgYSBiZXR0ZXIgd2F5IHRvIGdldCB0aGUgcGFyZW50IEhvdENvbXBvbmVudC5cblx0XHRcdGhvdENvbXBvbmVudCA9IHBhcmVudEh0bWxFbGVtZW50LnBhcmVudE5vZGUucGFyZW50Tm9kZS5wYXJlbnROb2RlLnBhcmVudE5vZGUuaG90Q29tcG9uZW50O1xuXHRcdH1cblxuXHRcdGlmIChob3RDb21wb25lbnQgIT0gbnVsbClcblx0XHRcdGhvdENvbXBvbmVudC5hZGRIZWFkZXJEYXRhT25seSAodGhpcywgaHRtbEVsZW1lbnQpO1xuXG5cdFx0cmV0dXJuIChudWxsKTtcblx0fVxuXG5cdG91dHB1dCAoKTogc3RyaW5nIHwgSG90Q29tcG9uZW50T3V0cHV0W11cblx0e1xuXHRcdGlmICh0aGlzLm5vX291dHB1dCA9PT0gXCIxXCIpXG5cdFx0e1xuXHRcdFx0cmV0dXJuIChbe1xuXHRcdFx0XHRodG1sOiBgPGRpdj48L2Rpdj5gLFxuXHRcdFx0XHRwbGFjZUhlcmVQYXJlbnQ6IFwiYWZ0ZXJUYWJsZVwiXG5cdFx0XHR9XSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIChbe1xuXHRcdFx0aHRtbDogYDx0aD4ke3RoaXMuaW5uZXJ9PC90aD5gLFxuXHRcdFx0ZG9jdW1lbnRTZWxlY3RvcjogXCJbaG90LXBsYWNlLWhlcmU9J2hlYWRlciddXCJcblx0XHR9XSk7XG5cdH1cbn1cbiIsImltcG9ydCB7IEhvdFN0YXEsIEhvdCwgSG90QVBJLCBIb3RDb21wb25lbnQsIEhvdENvbXBvbmVudE91dHB1dCB9IGZyb20gXCJob3RzdGFxXCI7XG5cbmV4cG9ydCBjbGFzcyBBZG1pblRhYmxlUm93IGV4dGVuZHMgSG90Q29tcG9uZW50XG57XG5cdC8qKlxuXHQgKiBUaGUgZmllbGRzIGFyZSBzdG9yZWQgaW4gYSBrZXkvdmFsdWUgb2JqZWN0LlxuXHQgKiBcblx0ICogQGV4YW1wbGUgeyBcIm5hbWVcIjogXCJKb2huIFNtaXRoXCIsIFwiZW1haWxcIjogXCJqb2huLnNtaXRoQGVtYWlsLmNvbVwiIH1cblx0ICovXG5cdGZpZWxkczogYW55W107XG5cblx0Y29uc3RydWN0b3IgKGNvcHk6IEhvdENvbXBvbmVudCB8IEhvdFN0YXEsIGFwaTogSG90QVBJKVxuXHR7XG5cdFx0c3VwZXIgKGNvcHksIGFwaSk7XG5cblx0XHR0aGlzLnRhZyA9IFwiYWRtaW4tdGFibGUtcm93XCI7XG5cdFx0dGhpcy5maWVsZHMgPSBbXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgdGhpcyB0YWJsZSByb3cgdG8gdGhlIHRhYmxlXG5cdCAqL1xuXHRvblBvc3RQbGFjZSAocGFyZW50SHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50LCBodG1sRWxlbWVudDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudFxuXHR7XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdHBhcmVudEh0bWxFbGVtZW50LnBhcmVudE5vZGUucGFyZW50Tm9kZS5wYXJlbnROb2RlLmhvdENvbXBvbmVudC5yb3dFbGVtZW50cy5wdXNoICh7IGZpZWxkczogdGhpcy5maWVsZHMsIGVsZW1lbnQ6IGh0bWxFbGVtZW50fSk7XG5cblx0XHRyZXR1cm4gKG51bGwpO1xuXHR9XG5cblx0b3V0cHV0ICgpOiBzdHJpbmcgfCBIb3RDb21wb25lbnRPdXRwdXRbXVxuXHR7XG5cdFx0bGV0IHJvd0h0bWwgPSBcIlwiO1xuXG5cdFx0aWYgKHRoaXMuZmllbGRzLmxlbmd0aCA+IDApXG5cdFx0XHRyb3dIdG1sICs9IGA8dGQ+PGlucHV0IHR5cGUgPSBcImNoZWNrYm94XCIgLz48L3RkPmA7XG5cblx0XHRmb3IgKGxldCBpSWR4ID0gMDsgaUlkeCA8IHRoaXMuZmllbGRzLmxlbmd0aDsgaUlkeCsrKVxuXHRcdHtcblx0XHRcdGxldCBmaWVsZE9iaiA9IHRoaXMuZmllbGRzW2lJZHhdO1xuXG5cdFx0XHRmb3IgKGxldCBrZXkgaW4gZmllbGRPYmopXG5cdFx0XHR7XG5cdFx0XHRcdGxldCB2YWx1ZSA9IGZpZWxkT2JqW2tleV07XG5cblx0XHRcdFx0cm93SHRtbCArPSBgPHRkPiR7dmFsdWV9PC90ZD5gO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiAoW3tcblx0XHRcdGh0bWw6IGA8dHI+JHtyb3dIdG1sfTwvdHI+YCxcblx0XHRcdGRvY3VtZW50U2VsZWN0b3I6IFwiW2hvdC1wbGFjZS1oZXJlPSdyZXN1bHRzJ11cIlxuXHRcdH1dKTtcblx0fVxufVxuIiwiaW1wb3J0IHsgSG90U3RhcSwgSG90LCBIb3RBUEksIEhvdENvbXBvbmVudCwgSG90Q29tcG9uZW50T3V0cHV0IH0gZnJvbSBcImhvdHN0YXFcIjtcbmltcG9ydCB7IEFkbWluVGFibGVGaWVsZCB9IGZyb20gXCIuL2FkbWluLXRhYmxlLWZpZWxkXCI7XG5cbmV4cG9ydCBjbGFzcyBBZG1pblRhYmxlIGV4dGVuZHMgSG90Q29tcG9uZW50XG57XG5cdC8qKlxuXHQgKiBUaGUgdGl0bGUgb2YgdGhpcyB0YWJsZS5cblx0ICovXG5cdHRpdGxlOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBUaGUgYXR0YWNoZWQgc2NoZW1hLlxuXHQgKi9cblx0c2NoZW1hOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBUaGUgaGVhZGVycyBhcmUgc3RvcmVkIGluIGEga2V5L3ZhbHVlIG9iamVjdC5cblx0ICogXG5cdCAqIEBleGFtcGxlIHsgXCJuYW1lXCI6IFwiPHRoPk5hbWU8L3RoPlwiLCBcImVtYWlsXCI6IFwiPHRoPkVtYWlsPC90aD5cIiB9XG5cdCAqL1xuXHRoZWFkZXJFbGVtZW50czogeyBbbmFtZTogc3RyaW5nXTogYW55OyB9ID0ge307XG5cdC8qKlxuXHQgKiBUaGUgaGVhZGVyIGluZGljaWVzIGFyZSBzdG9yZWQgaW4gYSBrZXkvdmFsdWUgb2JqZWN0LlxuXHQgKiBcblx0ICogQGV4YW1wbGUgY29uc29sZS5sb2cgKHRoaXMuaGVhZGVySW5kaWNpZXNbXCJuYW1lXCJdKTsgLy8gT3V0cHV0cyAwXG5cdCAqL1xuXHRoZWFkZXJJbmRpY2llczogbnVtYmVyW107XG5cdC8qKlxuXHQgKiBUaGUgcm93IGVsZW1lbnRzIGFyZSBzdG9yZWQgaW4gYW4gYXJyYXkgd2l0aCBrZXkvdmFsdWUgZmllbGRzIGFuZCBpdCdzIGF0dGFjaGVkIGh0bWwgZWxlbWVudC5cblx0ICogXG5cdCAqIEBleGFtcGxlXG5cdCAqIHtcblx0ICogICBcImZpZWxkc1wiOiBbXG5cdCAqICAgICAgIHtcblx0ICogICAgICAgICBcIm5hbWVcIjogXCJKb2huIFNtaXRoXCIsXG5cdCAqICAgICAgICAgXCJlbWFpbFwiOiBcImpvaG4uc21pdGhAdGVzdC5jb21cIlxuXHQgKiAgICAgICB9XG5cdCAqICAgICBdLFxuXHQgKiAgIFwiaHRtbFwiOiBcIjx0cj48dGQ+Sm9obiBTbWl0aDwvdGQ+PHRkPmpvaG4uc21pdGhAdGVzdC5jb208L3RkPjwvdHI+XCJcblx0ICogfVxuXHQgKi9cblx0cm93RWxlbWVudHM6IHsgZmllbGRzOiBhbnlbXTsgZWxlbWVudDogSFRNTEVsZW1lbnQ7IH1bXSA9IFtdO1xuXHQvKipcblx0ICogVGhlIHNlbGVjdGVkIHJvdyBpbmRpY2llcy4gRWFjaCBpbmRleCBtYXBzIHRvIHRoZSByb3dFbGVtZW50cyBhcnJheS5cblx0ICogXG5cdCAqIEBmaXhtZSBBZGQgc3VwcG9ydCBmb3IgdGhpcyBpbiB0aGUgZnV0dXJlLlxuXHQgKi9cblx0Ly9wcm90ZWN0ZWQgc2VsZWN0ZWRSb3dzOiBudW1iZXJbXTtcblx0LyoqXG5cdCAqIFRoZSBtb3N0IHJlY2VudGx5IHNlbGVjdGVkIHJvdyBpbmRleC4gVGhlIGluZGV4IG1hcHMgdG8gdGhlIHJvd0VsZW1lbnRzIGFycmF5LlxuXHQgKi9cblx0cHJvdGVjdGVkIHNlbGVjdGVkOiBudW1iZXI7XG5cblx0Y29uc3RydWN0b3IgKGNvcHk6IEhvdENvbXBvbmVudCB8IEhvdFN0YXEsIGFwaTogSG90QVBJKVxuXHR7XG5cdFx0c3VwZXIgKGNvcHksIGFwaSk7XG5cblx0XHR0aGlzLnRhZyA9IFwiYWRtaW4tdGFibGVcIjtcblx0XHR0aGlzLnRpdGxlID0gXCJcIjtcblx0XHR0aGlzLnNjaGVtYSA9IFwiXCI7XG5cdFx0dGhpcy5oZWFkZXJFbGVtZW50cyA9IHt9O1xuXHRcdHRoaXMuaGVhZGVySW5kaWNpZXMgPSBbXTtcblx0XHR0aGlzLnJvd0VsZW1lbnRzID0gW107XG5cdFx0Ly90aGlzLnNlbGVjdGVkUm93cyA9IFtdO1xuXHRcdHRoaXMuc2VsZWN0ZWQgPSAtMTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgYSBoZWFkZXIgdG8gdGhlIHRhYmxlLlxuXHQgKi9cblx0YWRkSGVhZGVyICh0YWJsZUZpZWxkRWxlbWVudDogSFRNTEVsZW1lbnQpXG5cdHtcblx0XHRsZXQgaGVhZGVyID0gdGhpcy5odG1sRWxlbWVudHNbMF0uZ2V0RWxlbWVudHNCeVRhZ05hbWUgKFwidGhlYWRcIilbMF07XG5cblx0XHRpZiAodGhpcy5oZWFkZXJJbmRpY2llcy5sZW5ndGggPCAxKVxuXHRcdFx0dGhpcy5oZWFkZXJJbmRpY2llcy5wdXNoIChudWxsKTtcblxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHR0aGlzLmhlYWRlckluZGljaWVzLnB1c2ggKHRhYmxlRmllbGRFbGVtZW50LmhvdENvbXBvbmVudC5maWVsZCk7XG5cdFx0aGVhZGVyLmFwcGVuZENoaWxkICh0YWJsZUZpZWxkRWxlbWVudCk7XG5cdH1cblxuXHQvKipcblx0ICogQWRkIGEgaGVhZGVyIHRvIHRoZSB0YWJsZS5cblx0ICovXG5cdGFkZEhlYWRlckRhdGFPbmx5ICh0YWJsZUZpZWxkOiBBZG1pblRhYmxlRmllbGQsIGh0bWxFbGVtZW50OiBIVE1MRWxlbWVudClcblx0e1xuXHRcdGlmICh0aGlzLmhlYWRlckluZGljaWVzLmxlbmd0aCA8IDEpXG5cdFx0XHR0aGlzLmhlYWRlckluZGljaWVzLnB1c2ggKG51bGwpO1xuXG5cdFx0dGhpcy5oZWFkZXJJbmRpY2llcy5wdXNoICh0YWJsZUZpZWxkLmZpZWxkKTtcblx0XHR0aGlzLmhlYWRlckVsZW1lbnRzW3RhYmxlRmllbGQuZmllbGRdID0gaHRtbEVsZW1lbnQ7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IHRoZSBmaWVsZCB0eXBlIG9mIGEgZmllbGQuXG5cdCAqL1xuXHRnZXRGaWVsZFR5cGUgKGZpZWxkTmFtZTogc3RyaW5nKTogc3RyaW5nXG5cdHtcblx0XHRpZiAodGhpcy5oZWFkZXJFbGVtZW50c1tmaWVsZE5hbWVdICE9IG51bGwpXG5cdFx0e1xuXHRcdFx0bGV0IGhvdENvbXBvbmVudDogQWRtaW5UYWJsZUZpZWxkID0gdGhpcy5oZWFkZXJFbGVtZW50c1tmaWVsZE5hbWVdLmhvdENvbXBvbmVudDtcblxuXHRcdFx0aWYgKGhvdENvbXBvbmVudCAhPSBudWxsKVxuXHRcdFx0XHRyZXR1cm4gKGhvdENvbXBvbmVudC5maWVsZF90eXBlKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gKG51bGwpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEV4ZWN1dGVzIHRoaXMgZXZlbnQgd2hlbiBhIHJvdyBpcyBzZWxlY3RlZC4gSWYgdGhpcyByZXR1cm5zIGZhbHNlLCB0aGUgcm93IHdpbGwgbm90IGJlIHNlbGVjdGVkLlxuXHQgKi9cblx0b25TZWxlY3RlZFJvdzogKHJvd0luZGV4OiBudW1iZXIpID0+IFByb21pc2U8Ym9vbGVhbj4gPSBudWxsO1xuXG5cdC8qKlxuXHQgKiBFeGVjdXRlcyB3aGVuIGEgcm93IGlzIHNlbGVjdGVkLlxuXHQgKi9cblx0YXN5bmMgc2VsZWN0Um93IChodG1sRWxlbWVudDogSFRNTEVsZW1lbnQsIHJvd0luZGV4OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+XG5cdHtcblx0XHRpZiAodGhpcy5vblNlbGVjdGVkUm93ICE9IG51bGwpXG5cdFx0e1xuXHRcdFx0bGV0IHJlc3VsdCA9IGF3YWl0IHRoaXMub25TZWxlY3RlZFJvdyAocm93SW5kZXgpO1xuXG5cdFx0XHRpZiAocmVzdWx0ID09PSBmYWxzZSlcblx0XHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdC8vIEluIHRoZSBmdXR1cmUsIHdlIHdpbGwgc3VwcG9ydCBtdWx0aXBsZSByb3dzIGJlaW5nIHNlbGVjdGVkLiBGb3Igbm93IFxuXHRcdC8vIHRoaXMgd2lsbCBlbnN1cmUgdGhhdCBvbmx5IG9uZSByb3cgaXMgc2VsZWN0ZWQgYXQgYSB0aW1lLlxuXHRcdHtcblx0XHRcdGxldCB0Ym9keSA9IHRoaXMuaHRtbEVsZW1lbnRzWzFdLmdldEVsZW1lbnRzQnlUYWdOYW1lIChcInRib2R5XCIpWzBdO1xuXHRcdFx0bGV0IHJvd3MgPSB0Ym9keS5nZXRFbGVtZW50c0J5VGFnTmFtZSAoXCJ0clwiKTtcblxuXHRcdFx0Zm9yIChsZXQgaUlkeCA9IDA7IGlJZHggPCByb3dzLmxlbmd0aDsgaUlkeCsrKVxuXHRcdFx0e1xuXHRcdFx0XHRsZXQgcm93OiBIVE1MVGFibGVSb3dFbGVtZW50ID0gcm93c1tpSWR4XTtcblxuXHRcdFx0XHRpZiAocm93LmNsYXNzTGlzdC5jb250YWlucyAoXCJ0YWJsZS1wcmltYXJ5XCIpID09PSB0cnVlKVxuXHRcdFx0XHRcdHJvdy5jbGFzc0xpc3QucmVtb3ZlIChcInRhYmxlLXByaW1hcnlcIik7XG5cdFx0XHR9XG5cblx0XHRcdGh0bWxFbGVtZW50LmNsYXNzTGlzdC5hZGQgKFwidGFibGUtcHJpbWFyeVwiKTtcblx0XHR9XG5cblx0XHR0aGlzLnNlbGVjdGVkID0gcm93SW5kZXg7XG5cblx0XHQvKnRoaXMuc2VsZWN0ZWRSb3dzID0gW107XG5cdFx0bGV0IHRib2R5ID0gdGhpcy5odG1sRWxlbWVudHNbMV0uZ2V0RWxlbWVudHNCeVRhZ05hbWUgKFwidGJvZHlcIilbMF07XG5cblx0XHQvLyBGaW5kIGFsbCB0aGUgY2hlY2tib3hlcyBpbiB0Ym9keS5cblx0XHRsZXQgY2hlY2tib3hlcyA9IHRib2R5LmdldEVsZW1lbnRzQnlUYWdOYW1lIChcImlucHV0XCIpO1xuXG5cdFx0Zm9yIChsZXQgaUlkeCA9IDA7IGlJZHggPCBjaGVja2JveGVzLmxlbmd0aDsgaUlkeCsrKVxuXHRcdHtcblx0XHRcdGxldCBjaGVja2JveDogSFRNTElucHV0RWxlbWVudCA9IGNoZWNrYm94ZXNbaUlkeF07XG5cblx0XHRcdGlmIChjaGVja2JveC5jaGVja2VkICE9IG51bGwpXG5cdFx0XHR7XG5cdFx0XHRcdGlmIChjaGVja2JveC5jaGVja2VkID09PSB0cnVlKVxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0Ly8gR2V0IHRoZSBkYXRhLWluZGV4IGF0dHJpYnV0ZS5cblx0XHRcdFx0XHRsZXQgZGF0YUluZGV4U3RyOiBzdHJpbmcgPSBjaGVja2JveC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQuZ2V0QXR0cmlidXRlIChcImRhdGEtaW5kZXhcIik7XG5cdFx0XHRcdFx0bGV0IGRhdGFJbmRleDogbnVtYmVyID0gIHBhcnNlSW50IChkYXRhSW5kZXhTdHIpO1xuXG5cdFx0XHRcdFx0dGhpcy5zZWxlY3RlZFJvd3MucHVzaCAoZGF0YUluZGV4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0qL1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCB0aGUgc2VsZWN0ZWQgZGF0YS5cblx0ICovXG5cdGdldFNlbGVjdGVkICgpOiBhbnlbXVxuXHR7XG5cdFx0bGV0IGluZGV4OiBudW1iZXIgPSB0aGlzLnNlbGVjdGVkO1xuXG5cdFx0aWYgKGluZGV4IDwgMClcblx0XHRcdHJldHVybiAobnVsbCk7XG5cblx0XHRyZXR1cm4gKHRoaXMucm93RWxlbWVudHNbaW5kZXhdLmZpZWxkcyk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IHRoZSBzZWxlY3RlZCBkYXRhLlxuXHQgKi9cblx0LypnZXRTZWxlY3RlZFJvd3MgKCk6IGFueVtdXG5cdHtcblx0XHRsZXQgcm93czogYW55W10gPSBbXTtcblxuXHRcdGZvciAobGV0IGlJZHggPSAwOyBpSWR4IDwgdGhpcy5zZWxlY3RlZFJvd3MubGVuZ3RoOyBpSWR4KyspXG5cdFx0e1xuXHRcdFx0bGV0IGluZGV4OiBudW1iZXIgPSB0aGlzLnNlbGVjdGVkUm93c1tpSWR4XTtcblx0XHRcdHJvd3MucHVzaCAodGhpcy5yb3dFbGVtZW50c1tpbmRleF0uZmllbGRzKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gKHJvd3MpO1xuXHR9Ki9cblxuXHQvKipcblx0ICogR2V0IHRoZSBkYXRhIGZvciBlYWNoIHJvdyB0aGF0IGhhcyBiZWVuIGNoZWNrZWQuXG5cdCAqL1xuXHRnZXRDaGVja2VkUm93cyAoKTogYW55W11cblx0e1xuXHRcdGxldCByb3dzOiBhbnlbXSA9IFtdO1xuXHRcdGxldCB0Ym9keSA9IHRoaXMuaHRtbEVsZW1lbnRzWzFdLmdldEVsZW1lbnRzQnlUYWdOYW1lIChcInRib2R5XCIpWzBdO1xuXG5cdFx0Ly8gRmluZCBhbGwgdGhlIGNoZWNrYm94ZXMgaW4gdGJvZHkuXG5cdFx0bGV0IGNoZWNrYm94ZXMgPSB0Ym9keS5nZXRFbGVtZW50c0J5VGFnTmFtZSAoXCJpbnB1dFwiKTtcblxuXHRcdGZvciAobGV0IGlJZHggPSAwOyBpSWR4IDwgY2hlY2tib3hlcy5sZW5ndGg7IGlJZHgrKylcblx0XHR7XG5cdFx0XHRsZXQgY2hlY2tib3g6IEhUTUxJbnB1dEVsZW1lbnQgPSBjaGVja2JveGVzW2lJZHhdO1xuXG5cdFx0XHRpZiAoY2hlY2tib3guY2hlY2tlZCAhPSBudWxsKVxuXHRcdFx0e1xuXHRcdFx0XHRpZiAoY2hlY2tib3guY2hlY2tlZCA9PT0gdHJ1ZSlcblx0XHRcdFx0e1xuXHRcdFx0XHRcdC8vIEdldCB0aGUgZGF0YS1pbmRleCBhdHRyaWJ1dGUuXG5cdFx0XHRcdFx0bGV0IGRhdGFJbmRleFN0cjogc3RyaW5nID0gY2hlY2tib3gucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEF0dHJpYnV0ZSAoXCJkYXRhLWluZGV4XCIpO1xuXHRcdFx0XHRcdGxldCBkYXRhSW5kZXg6IG51bWJlciA9ICBwYXJzZUludCAoZGF0YUluZGV4U3RyKTtcblxuXHRcdFx0XHRcdHJvd3MucHVzaCAodGhpcy5yb3dFbGVtZW50c1tkYXRhSW5kZXhdLmZpZWxkcyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gKHJvd3MpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCBhIHJvdydzIGRhdGEuXG5cdCAqL1xuXHRnZXRSb3cgKGluZGV4OiBudW1iZXIpOiBhbnlbXVxuXHR7XG5cdFx0cmV0dXJuICh0aGlzLnJvd0VsZW1lbnRzW2luZGV4XS5maWVsZHMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCBhIHJvdyB0byB0aGUgdGFibGUuXG5cdCAqIFxuXHQgKiBAcGFyYW0ge0FycmF5fSBmaWVsZHMgQSBsaXN0IG9mIHZhbHVlcyB0byBhcHBlbmQuXG5cdCAqL1xuXHRhZGRSb3cgKGZpZWxkczogeyBbbmFtZTogc3RyaW5nXTogYW55IH1bXSlcblx0e1xuXHRcdGxldCB0Ym9keSA9IHRoaXMuaHRtbEVsZW1lbnRzWzFdLmdldEVsZW1lbnRzQnlUYWdOYW1lIChcInRib2R5XCIpWzBdO1xuXHRcdGxldCBpbmRleDogbnVtYmVyID0gdGhpcy5yb3dFbGVtZW50cy5sZW5ndGg7XG5cdFx0bGV0IHJvd1N0ciA9IGA8dHIgb25jbGljayA9IFwidGhpcy5wYXJlbnROb2RlLnBhcmVudE5vZGUucGFyZW50Tm9kZS5wYXJlbnROb2RlLmhvdENvbXBvbmVudC5zZWxlY3RSb3cgKHRoaXMsICR7aW5kZXh9KTtcIj5gO1xuXG5cdFx0cm93U3RyICs9IGA8dGQ+PGlucHV0IHR5cGUgPSBcImNoZWNrYm94XCIgLz48L3RkPmA7XG5cblx0XHRmb3IgKGxldCBpSWR4ID0gMDsgaUlkeCA8IHRoaXMuaGVhZGVySW5kaWNpZXMubGVuZ3RoOyBpSWR4KyspXG5cdFx0e1xuXHRcdFx0Ly8gQHRzLWlnbm9yZSAtIEBmaXhtZSBJIG1lc3NlZCB0aGlzIHVwLCB3aWxsIGZpeC5cblx0XHRcdGxldCBrZXkgPSB0aGlzLmhlYWRlckluZGljaWVzW2lJZHhdO1xuXHRcdFx0bGV0IHZhbHVlID0gZmllbGRzW2tleV07XG5cblx0XHRcdGlmICh0aGlzLmhlYWRlckVsZW1lbnRzW2tleV0gIT0gbnVsbClcblx0XHRcdHtcblx0XHRcdFx0Ly8gQHRzLWlnbm9yZSAtIEBmaXhtZSBJIG1lc3NlZCB0aGlzIHVwLCB3aWxsIGZpeC5cblx0XHRcdFx0bGV0IGZpZWxkVHlwZTogc3RyaW5nID0gdGhpcy5nZXRGaWVsZFR5cGUgKGtleSk7XG5cblx0XHRcdFx0aWYgKGZpZWxkVHlwZSA9PSBudWxsKVxuXHRcdFx0XHRcdGZpZWxkVHlwZSA9IFwidGV4dFwiO1xuXG5cdFx0XHRcdGlmIChmaWVsZFR5cGUgIT09IFwicmVtb3ZlXCIpXG5cdFx0XHRcdFx0cm93U3RyICs9IGA8dGQgZGF0YS1pbmRleCA9IFwiJHtpbmRleH1cIj4ke3ZhbHVlfTwvdGQ+YDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyb3dTdHIgKz0gXCI8L3RyPlwiO1xuXG5cdFx0bGV0IG5ld09iaiA9IEhvdFN0YXEuYWRkSHRtbCAodGJvZHksIHJvd1N0cik7XG5cblx0XHR0aGlzLnJvd0VsZW1lbnRzLnB1c2ggKHtcblx0XHRcdFx0ZmllbGRzOiBmaWVsZHMsXG5cdFx0XHRcdGVsZW1lbnQ6ICg8SFRNTEVsZW1lbnQ+bmV3T2JqKVxuXHRcdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogQ2xlYXIgdGhlIGxpc3Qgb2Ygcm93cy5cblx0ICovXG5cdGFzeW5jIGNsZWFyUm93cyAoKVxuXHR7XG5cdFx0bGV0IHRib2R5ID0gdGhpcy5odG1sRWxlbWVudHNbMV0uZ2V0RWxlbWVudHNCeVRhZ05hbWUgKFwidGJvZHlcIilbMF07XG5cblx0XHR0Ym9keS5pbm5lckhUTUwgPSBcIlwiO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlZnJlc2ggdGhlIGxpc3QuXG5cdCAqL1xuXHRhc3luYyByZWZyZXNoTGlzdCAoKVxuXHR7XG5cdFx0bGV0IGxpc3RVcmw6IHN0cmluZyA9IEhvdC5EYXRhLkFkbWluUGFuZWwubGlzdFVybDtcblxuXHRcdGxldCBsaXN0ID0gYXdhaXQgSG90Lmpzb25SZXF1ZXN0IChsaXN0VXJsLCB7XG5cdFx0XHRcdHNjaGVtYTogdGhpcy5zY2hlbWFcblx0XHRcdH0pO1xuXG5cdFx0dGhpcy5jbGVhclJvd3MgKCk7XG5cblx0XHRmb3IgKGxldCBpSWR4ID0gMDsgaUlkeCA8IGxpc3QubGVuZ3RoOyBpSWR4KyspXG5cdFx0e1xuXHRcdFx0bGV0IGZpZWxkcyA9IGxpc3RbaUlkeF07XG5cblx0XHRcdHRoaXMuYWRkUm93IChmaWVsZHMpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIGxpc3Qgb2YgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIuXG5cdCAqL1xuXHRvblBvc3RQbGFjZSAocGFyZW50SHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50LCBodG1sRWxlbWVudDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudFxuXHR7XG5cdFx0c2V0VGltZW91dCAoYXN5bmMgKCkgPT5cblx0XHRcdHtcblx0XHRcdFx0YXdhaXQgdGhpcy5yZWZyZXNoTGlzdCAoKTtcblx0XHRcdH0sIDUwKTtcblxuXHRcdHJldHVybiAobnVsbCk7XG5cdH1cblxuXHRvdXRwdXQgKCk6IHN0cmluZyB8IEhvdENvbXBvbmVudE91dHB1dFtdXG5cdHtcblx0XHRyZXR1cm4gKGBcblx0XHQ8ZGl2IGlkID0gXCIke3RoaXMuaHRtbEVsZW1lbnRzWzBdLmlkfVwiPlxuXHRcdFx0PGgyPiR7dGhpcy50aXRsZX08L2gyPlxuXHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cblx0XHRcdDx0YWJsZSBpZCA9IFwiJHt0aGlzLmh0bWxFbGVtZW50c1swXS5pZH1UYWJsZVwiIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1zbVwiPlxuXHRcdFx0XHQ8dGhlYWQ+XG5cdFx0XHRcdFx0PHRyIGhvdC1wbGFjZS1oZXJlID0gXCJoZWFkZXJcIj5cblx0XHRcdFx0XHRcdDx0aD48L3RoPlxuXHRcdFx0XHRcdDwvdHI+XG5cdFx0XHRcdDwvdGhlYWQ+XG5cdFx0XHRcdDx0Ym9keSBob3QtcGxhY2UtaGVyZSA9IFwicmVzdWx0c1wiPlxuXHRcdFx0XHQ8L3Rib2R5PlxuXHRcdFx0PC90YWJsZT5cblx0XHRcdDxob3QtcGxhY2UtaGVyZSBuYW1lID0gXCJhZnRlclRhYmxlXCI+PC9ob3QtcGxhY2UtaGVyZT5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PmApO1xuXHR9XG59XG4iLCJpbXBvcnQgeyBIb3RTdGFxLCBIb3QsIEhvdEFQSSwgSG90Q29tcG9uZW50LCBIb3RDb21wb25lbnRPdXRwdXQgfSBmcm9tIFwiaG90c3RhcVwiO1xuXG5leHBvcnQgY2xhc3MgQWRtaW5UZXh0IGV4dGVuZHMgSG90Q29tcG9uZW50XG57XG5cdC8qKlxuXHQgKiBUaGUgYXNzb2NpYXRlZCBkYXRhYmFzZSBmaWVsZC5cblx0ICovXG5cdGZpZWxkOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBUaGUgdHlwZSBvZiBmaWVsZC4gQ2FuIGJlOlxuXHQgKiAqIHRleHRcblx0ICogKiByZW1vdmVcblx0ICogXG5cdCAqIERlZmF1bHQ6IHRleHRcblx0ICovXG5cdGZpZWxkX3R5cGU6IHN0cmluZztcblx0LyoqXG5cdCAqIElmIHNldCB0byAxLCB0aGlzIHdpbGwgbm90IG91dHB1dCB0aGUgZmllbGQuXG5cdCAqL1xuXHRub19vdXRwdXQ6IHN0cmluZztcblxuXHRjb25zdHJ1Y3RvciAoY29weTogSG90Q29tcG9uZW50IHwgSG90U3RhcSwgYXBpOiBIb3RBUEkpXG5cdHtcblx0XHRzdXBlciAoY29weSwgYXBpKTtcblxuXHRcdHRoaXMudGFnID0gXCJhZG1pbi10ZXh0XCI7XG5cdFx0dGhpcy5maWVsZCA9IFwiXCI7XG5cdFx0dGhpcy5maWVsZF90eXBlID0gXCJ0ZXh0XCI7XG5cdFx0dGhpcy5ub19vdXRwdXQgPSBcIjBcIjtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb3JyZWN0cyB0aGUgcGxhY2VtZW50IG9mIHRoZSB0ZXh0IGVsZW1lbnRzIGZvciBtb2RhbHMuXG5cdCAqL1xuXHRvblBvc3RQbGFjZSAocGFyZW50SHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50LCBodG1sRWxlbWVudDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudFxuXHR7XG5cdFx0bGV0IHBsYWNlSGVyZUFycmF5ID0gcGFyZW50SHRtbEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCAoYGhvdC1wbGFjZS1oZXJlW3R5cGU9XCJtb2RhbFwiXWApO1xuXG5cdFx0Ly8gU2VhcmNoIGZvciB0aGUgaW5wdXQgYm94IGluIHRoZSBtb2RhbCB3ZSBhdHRhY2hlZCB0bywgdGhlbiBzdG9yZSB0aGUgXG5cdFx0Ly8gZm91bmQgaW5wdXQgYm94IGludG8gdGhlIGZpZWxkRWxlbWVudHMgYXJyYXkuXG5cdFx0aWYgKHBsYWNlSGVyZUFycmF5Lmxlbmd0aCA+IDApXG5cdFx0e1xuXHRcdFx0bGV0IHBsYWNlSGVyZSA9IHBsYWNlSGVyZUFycmF5WzBdO1xuXHRcdFx0cGFyZW50SHRtbEVsZW1lbnQucmVtb3ZlQ2hpbGQgKGh0bWxFbGVtZW50KTtcblx0XHRcdHBsYWNlSGVyZS5hcHBlbmRDaGlsZCAoaHRtbEVsZW1lbnQpO1xuXG5cdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRwYXJlbnRIdG1sRWxlbWVudC5ob3RDb21wb25lbnQuZmllbGRFbGVtZW50c1t0aGlzLmZpZWxkXSA9IGh0bWxFbGVtZW50LnF1ZXJ5U2VsZWN0b3IgKFwiaW5wdXRcIik7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIChudWxsKTtcblx0fVxuXG5cdG91dHB1dCAoKTogc3RyaW5nIHwgSG90Q29tcG9uZW50T3V0cHV0W11cblx0e1xuXHRcdGxldCB2YWx1ZTogc3RyaW5nID0gXCJcIjtcblxuXHRcdGlmICh0aGlzLnZhbHVlICE9IG51bGwpXG5cdFx0XHR2YWx1ZSA9IHRoaXMudmFsdWU7XG5cblx0XHRpZiAodGhpcy5ub19vdXRwdXQgPT09IFwiMVwiKVxuXHRcdFx0cmV0dXJuIChgPGRpdj48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB0eXBlID0gXCJoaWRkZW5cIiB2YWx1ZSA9IFwiJHt2YWx1ZX1cIiAvPjwvZGl2PmApO1xuXG5cdFx0cmV0dXJuIChgPGRpdj5cblx0XHRcdDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj4ke3RoaXMuaW5uZXJ9PC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB0eXBlID0gXCJ0ZXh0XCIgdmFsdWUgPSBcIiR7dmFsdWV9XCIgLz5cblx0XHQ8L2Rpdj5gKTtcblx0fVxufVxuIiwibW9kdWxlLmV4cG9ydHMgPSBIb3RTdGFxV2ViOyIsIm1vZHVsZS5leHBvcnRzID0gYm9vdHN0cmFwOyIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCJpbXBvcnQgeyBBZG1pbkJ1dHRvbiB9IGZyb20gXCIuL2NvbXBvbmVudHMvYWRtaW4tYnV0dG9uXCI7XG5pbXBvcnQgeyBBZG1pbkRhc2hib2FyZCB9IGZyb20gXCIuL2NvbXBvbmVudHMvYWRtaW4tZGFzaGJvYXJkXCI7XG5pbXBvcnQgeyBBZG1pbkVkaXQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2FkbWluLWVkaXRcIjtcbmltcG9ydCB7IEFkbWluVGFibGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2FkbWluLXRhYmxlXCI7XG5pbXBvcnQgeyBBZG1pblRhYmxlRmllbGQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2FkbWluLXRhYmxlLWZpZWxkXCI7XG5pbXBvcnQgeyBBZG1pblRhYmxlUm93IH0gZnJvbSBcIi4vY29tcG9uZW50cy9hZG1pbi10YWJsZS1yb3dcIjtcbmltcG9ydCB7IEFkbWluVGV4dCB9IGZyb20gXCIuL2NvbXBvbmVudHMvYWRtaW4tdGV4dFwiO1xuXG5leHBvcnQge1xuXHRcdEFkbWluQnV0dG9uLFxuXHRcdEFkbWluRGFzaGJvYXJkLFxuXHRcdEFkbWluRWRpdCxcblx0XHRBZG1pblRhYmxlLFxuXHRcdEFkbWluVGFibGVGaWVsZCxcblx0XHRBZG1pblRhYmxlUm93LFxuXHRcdEFkbWluVGV4dFxuXHR9OyJdLCJuYW1lcyI6WyJBZG1pbkJ1dHRvbiIsIkhvdENvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiY29weSIsImFwaSIsInN1cGVyIiwidGhpcyIsInRhZyIsImJ1dHRvbkNsaWNrZWQiLCJvdXRwdXQiLCJodG1sRWxlbWVudHMiLCJpZCIsIkFkbWluRGFzaGJvYXJkIiwidGl0bGUiLCJiYXNlIiwib25Qb3N0UGxhY2UiLCJwYXJlbnRIdG1sRWxlbWVudCIsImh0bWxFbGVtZW50IiwiSG90IiwiRGF0YSIsIkFkbWluUGFuZWwiLCJiYXNlVXJsIiwiYWRkVXJsIiwiZWRpdFVybCIsInJlbW92ZVVybCIsImxpc3RVcmwiLCJBZG1pbkVkaXQiLCJvbkFkZENsaWNrZWQiLCJvbkVkaXRDbGlja2VkIiwib25SZW1vdmVDbGlja2VkIiwiYnV0dG9uX3RpdGxlIiwiYXR0YWNoZWRfbGlzdCIsInNjaGVtYSIsImZpZWxkRWxlbWVudHMiLCJtb2RhbElkIiwibW9kYWwiLCJtb2RhbFR5cGUiLCJjbG9zZU9uU2F2ZSIsInNlbGVjdGVkRmllbGRzIiwiYWRkQ2xpY2tlZCIsImtleSIsInZhbHVlIiwiTW9kYWwiLCJnZXRJbnN0YW5jZSIsInNob3ciLCJlZGl0Q2xpY2tlZCIsInNlbGVjdGVkRmllbGQiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiaG90Q29tcG9uZW50IiwiZ2V0U2VsZWN0ZWQiLCJmaWVsZEVsZW1lbnQiLCJyZW1vdmVDbGlja2VkIiwiY2hlY2tlZFJvd3MiLCJnZXRDaGVja2VkUm93cyIsIndoZXJlRmllbGRzIiwibGVuZ3RoIiwiaSIsImNoZWNrZWRSb3ciLCJwdXNoIiwiY29uZmlybSIsIndoZXJlRmllbGQiLCJmaWVsZFR5cGUiLCJnZXRGaWVsZFR5cGUiLCJqc29uUmVxdWVzdCIsInJlZnJlc2hMaXN0Iiwib25TYXZlIiwidmFsdWVzIiwicGFyZW50Tm9kZSIsImZpZWxkX3R5cGUiLCJmaWVsZHMiLCJhbGVydCIsInRhYmxlIiwiaGlkZSIsIiQiLCJuYW1lIiwiRXJyb3IiLCJodG1sIiwiZG9jdW1lbnRTZWxlY3RvciIsIkFkbWluVGFibGVGaWVsZCIsImZpZWxkIiwibm9fb3V0cHV0IiwiYWRkSGVhZGVyRGF0YU9ubHkiLCJwbGFjZUhlcmVQYXJlbnQiLCJpbm5lciIsIkFkbWluVGFibGVSb3ciLCJyb3dFbGVtZW50cyIsImVsZW1lbnQiLCJyb3dIdG1sIiwiaUlkeCIsImZpZWxkT2JqIiwiQWRtaW5UYWJsZSIsImhlYWRlckVsZW1lbnRzIiwib25TZWxlY3RlZFJvdyIsImhlYWRlckluZGljaWVzIiwic2VsZWN0ZWQiLCJhZGRIZWFkZXIiLCJ0YWJsZUZpZWxkRWxlbWVudCIsImhlYWRlciIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiYXBwZW5kQ2hpbGQiLCJ0YWJsZUZpZWxkIiwiZmllbGROYW1lIiwic2VsZWN0Um93Iiwicm93SW5kZXgiLCJyb3dzIiwicm93IiwiY2xhc3NMaXN0IiwiY29udGFpbnMiLCJyZW1vdmUiLCJhZGQiLCJpbmRleCIsImNoZWNrYm94ZXMiLCJjaGVja2JveCIsImNoZWNrZWQiLCJkYXRhSW5kZXhTdHIiLCJwYXJlbnRFbGVtZW50IiwiZ2V0QXR0cmlidXRlIiwiZGF0YUluZGV4IiwicGFyc2VJbnQiLCJnZXRSb3ciLCJhZGRSb3ciLCJ0Ym9keSIsInJvd1N0ciIsIm5ld09iaiIsIkhvdFN0YXEiLCJhZGRIdG1sIiwiY2xlYXJSb3dzIiwiaW5uZXJIVE1MIiwibGlzdCIsInNldFRpbWVvdXQiLCJBZG1pblRleHQiLCJwbGFjZUhlcmVBcnJheSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJwbGFjZUhlcmUiLCJyZW1vdmVDaGlsZCIsInF1ZXJ5U2VsZWN0b3IiLCJtb2R1bGUiLCJleHBvcnRzIiwiSG90U3RhcVdlYiIsImJvb3RzdHJhcCIsIl9fd2VicGFja19tb2R1bGVfY2FjaGVfXyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsImNhY2hlZE1vZHVsZSIsInVuZGVmaW5lZCIsIl9fd2VicGFja19tb2R1bGVzX18iLCJjYWxsIl0sInNvdXJjZVJvb3QiOiIifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hotstaq/admin-panel",
3
3
  "description": "",
4
- "version": "0.2.8",
4
+ "version": "0.2.9",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
7
7
  "start": "hotstaq --hotsite ./HotSite.json --env-file ./.env run --server-type web-api",
@@ -27,7 +27,25 @@ export class AdminDashboard extends HotComponent
27
27
  {
28
28
  // Set the base API url to use for this dashboard.
29
29
  if (this.base != "")
30
- Hot.Data.baseUrl = this.base;
30
+ {
31
+ if (Hot.Data.AdminPanel == null)
32
+ Hot.Data.AdminPanel = {};
33
+
34
+ if (Hot.Data.AdminPanel.baseUrl == null)
35
+ Hot.Data.AdminPanel.baseUrl = this.base;
36
+
37
+ if (Hot.Data.AdminPanel.addUrl == null)
38
+ Hot.Data.AdminPanel.addUrl = `${Hot.Data.AdminPanel.baseUrl}/v1/data/add`
39
+
40
+ if (Hot.Data.AdminPanel.editUrl == null)
41
+ Hot.Data.AdminPanel.editUrl = `${Hot.Data.AdminPanel.baseUrl}/v1/data/edit`
42
+
43
+ if (Hot.Data.AdminPanel.removeUrl == null)
44
+ Hot.Data.AdminPanel.removeUrl = `${Hot.Data.AdminPanel.baseUrl}/v1/data/remove`
45
+
46
+ if (Hot.Data.AdminPanel.listUrl == null)
47
+ Hot.Data.AdminPanel.listUrl = `${Hot.Data.AdminPanel.baseUrl}/v1/data/list`
48
+ }
31
49
 
32
50
  return (null);
33
51
  }
@@ -213,7 +213,9 @@ export class AdminEdit extends HotComponent
213
213
  }
214
214
  }
215
215
 
216
- await Hot.jsonRequest (`${Hot.Data.baseUrl}/v1/data/remove`, {
216
+ let removeUrl: string = Hot.Data.AdminPanel.removeUrl;
217
+
218
+ await Hot.jsonRequest (removeUrl, {
217
219
  schema: this.schema,
218
220
  whereFields: whereField
219
221
  });
@@ -249,7 +251,9 @@ export class AdminEdit extends HotComponent
249
251
 
250
252
  if (this.modalType === "add")
251
253
  {
252
- await Hot.jsonRequest (`${Hot.Data.baseUrl}/v1/data/add`, {
254
+ let addUrl: string = Hot.Data.AdminPanel.addUrl;
255
+
256
+ await Hot.jsonRequest (addUrl, {
253
257
  schema: this.schema,
254
258
  fields: values
255
259
  });
@@ -283,7 +287,9 @@ export class AdminEdit extends HotComponent
283
287
  whereFields[key] = value;
284
288
  }
285
289
 
286
- await Hot.jsonRequest (`${Hot.Data.baseUrl}/v1/data/edit`, {
290
+ let editUrl: string = Hot.Data.AdminPanel.editUrl;
291
+
292
+ await Hot.jsonRequest (editUrl, {
287
293
  schema: this.schema,
288
294
  whereFields: whereFields,
289
295
  fields: values
@@ -292,7 +292,9 @@ export class AdminTable extends HotComponent
292
292
  */
293
293
  async refreshList ()
294
294
  {
295
- let list = await Hot.jsonRequest (`${Hot.Data.baseUrl}/v1/data/list`, {
295
+ let listUrl: string = Hot.Data.AdminPanel.listUrl;
296
+
297
+ let list = await Hot.jsonRequest (listUrl, {
296
298
  schema: this.schema
297
299
  });
298
300