ps-toolkit-ui 1.3.92 → 1.3.95

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.
@@ -284,7 +284,7 @@ export class InputClass {
284
284
  if (!u.includes('{}')) {
285
285
  new RequestClass(this.environment, this.l).send(u ? u : this.url, Method.Post, null, this, (result) => {
286
286
  if (this.type === InputType.SelectSearch || this.type === InputType.Select || this.type === InputType.SelectAutoComplete ||
287
- this.type === InputType.SelectAutoCompletePlaque || this.type === InputType.SelectAutoCompletePlaqueM) {
287
+ this.type === InputType.SelectAutoCompletePlaque || this.type === InputType.SelectAutoCompletePlaqueM || this.type === InputType.SelectAutoCompletePlaqueF) {
288
288
  const r = this.getOptions(result, null);
289
289
  const s = result.find(x => x.Selected);
290
290
  if (s) {
@@ -326,7 +326,7 @@ export class InputClass {
326
326
  return r.filter(x => (p == null && !x.ParentId) || x.ParentId === p || !tree)
327
327
  .map((x) => {
328
328
  const o = new OptionClass(x.Name, x.Id.toString());
329
- if (this.type === InputType.SelectAutoCompletePlaque || this.type === InputType.SelectAutoCompletePlaqueM || this.name === 'CarId') {
329
+ if (this.type === InputType.SelectAutoCompletePlaque || this.type === InputType.SelectAutoCompletePlaqueM || this.type === InputType.SelectAutoCompletePlaqueF || this.name === 'CarId') {
330
330
  const tn = o.name.split('_');
331
331
  if (tn.length === 4) {
332
332
  tn[1] += '‎';
@@ -432,4 +432,4 @@ export class AccordionRowClass {
432
432
  }, 100);
433
433
  }
434
434
  }
435
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qcm9qZWN0cy9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY2xhc3Nlcy9mb3JtLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyxRQUFRO0lBQ25CLFlBQVksSUFBWTtRQUt4QixZQUFPLEdBQUcsR0FBRyxDQUFDO1FBRWQsVUFBSyxHQUFlLElBQUksQ0FBQztRQUN6QixZQUFPLEdBQWUsSUFBSSxDQUFDO1FBQzNCLFdBQU0sR0FBbUMsSUFBSSxDQUFDO1FBQzlDLFVBQUssR0FBRyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7WUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFDO2dCQUNmLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNoQjtZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFFLEdBQUcsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFDbkQsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBQztvQkFDeEIsYUFBYSxDQUFDLElBQUksQ0FB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QUFDO1FBQzdELElBQUksQ0FBQyxDQUFDLEVBQUM7WUFDTCxPQUFPO1NBQ1I7UUFDRCxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDbEMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFDRCxVQUFVLENBQUMsSUFBSSxHQUFHLE1BQU0sRUFBRSxHQUFHLEdBQUcsT0FBTyxFQUFFLEtBQUssR0FBRyxJQUFJLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDcEUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7WUFDbEUsT0FBTztTQUNSO1FBQ0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFDN0UsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxDQUFDLE1B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QUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNLElBQUksSUFBSSxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNFLElBQUksS0FBSyxTQUFTLENBQUMsWUFBWSxJQUFJLElBQUksS0FBSyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNLElBQUksSUFBSSxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNFLElBQUksS0FBSyxTQUFTLENBQUMsWUFBWSxJQUFJLElBQUksS0FBSyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzlDLENBQUM7SUF5REQsS0FBSyxDQUFDLGNBQXVCLEtBQUssSUFBUyxDQUFDO0lBWTVDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLE9BQW1CLElBQUk7UUFDcEMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJ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LEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6RyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQztZQUM1QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUM7Z0JBQ2pCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMxRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ3JGO1lBQ0QsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNsRCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsUUFBUTtRQUNOLE9BQU8s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LENBQUMsQ0FBQyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBQztnQkFDakUsQ0FBQyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3JEO1FBQ0gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbnVtVXRpbHMsIElucHV0RXJyb3IsIElucHV0VHlwZSwgTWV0aG9kfSBmcm9tICcuL2VudW0uY2xhc3MnO1xyXG5pbXBvcnQge0hlbHBlckNsYXNzfSBmcm9tICcuL2hlbHBlci5jbGFzcyc7XHJcbmltcG9ydCB7UmVxdWVzdENsYXNzfSBmcm9tICcuL3JlcXVlc3QuY2xhc3MnO1xyXG5pbXBvcnQge1RhYmxlQ2xhc3N9IGZyb20gJy4vdGFibGUuY2xhc3MnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7TW9kYWxDbGFzc30gZnJvbSAnLi9tb2RhbC5jbGFzcyc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuXHJcbmV4cG9ydCBjbGFzcyBQcm9ncmVzcyB7XHJcbiAgY29uc3RydWN0b3Ioc2VjczogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnNlY3MgPSB0aGlzLnJlbWFpblNlY3MgPSBzZWNzO1xyXG4gIH1cclxuICBzZWNzOiBudW1iZXI7XHJcbiAgcmVtYWluU2VjczogbnVtYmVyO1xyXG4gIHBlcmNlbnQgPSAxMDA7XHJcbiAgaW50ZXJWYWw7XHJcbiAgb25FbmQ6ICgpID0+IHZvaWQgPSBudWxsO1xyXG4gIG9uU3RhcnQ6ICgpID0+IHZvaWQgPSBudWxsO1xyXG4gIG9uVGljazogKG06IG51bWJlciwgczogbnVtYmVyKSA9PiB2b2lkID0gbnVsbDtcclxuICBzdGFydCA9ICgpID0+IHtcclxuICAgIHRoaXMucmVtYWluU2VjcyA9IHRoaXMuc2VjcztcclxuICAgIHRoaXMucGVyY2VudCA9IDEwMDtcclxuICAgIGlmICh0aGlzLm9uU3RhcnQpe1xyXG4gICAgICB0aGlzLm9uU3RhcnQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW50ZXJWYWwgPSBzZXRJbnRlcnZhbCggKCkgPT4ge1xyXG4gICAgICB0aGlzLnBlcmNlbnQgPSAodGhpcy5yZW1haW5TZWNzIC8gdGhpcy5zZWNzKSAqIDEwMDtcclxuICAgICAgaWYgKHRoaXMucmVtYWluU2VjcyA9PT0gMCl7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVyVmFsKTtcclxuICAgICAgICBpZiAodGhpcy5vbkVuZCl7XHJcbiAgICAgICAgICB0aGlzLm9uRW5kKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcih0aGlzLnJlbWFpblNlY3MpKXtcclxuICAgICAgICBjb25zdCBtID0gTWF0aC5mbG9vcih0aGlzLnJlbWFpblNlY3MgLyA2MCk7XHJcbiAgICAgICAgY29uc3QgcyA9IHRoaXMucmVtYWluU2VjcyAlIDYwO1xyXG4gICAgICAgIHRoaXMub25UaWNrKG0sIHMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVtYWluU2VjcyAtPSAwLjU7XHJcbiAgICB9LCA1MDApO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgRm9ybUNsYXNzIHtcclxuICBjb25zdHJ1Y3RvcihlbnZpcm9ubWVudDogYW55LCBsOiAoaywgdj8pID0+IHN0cmluZywgbmFtZTogc3RyaW5nID0gbnVsbCwgcGVybWlzc2lvbjogYm9vbGVhbiA9IHRydWUsXHJcbiAgICAgICAgICAgICAgdXJsOiBzdHJpbmcgPSBudWxsLCBjbHM6IHN0cmluZyA9IG51bGwpIHtcclxuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcclxuICAgIHRoaXMubCA9IGw7XHJcbiAgICB0aGlzLnVybCA9IHVybDtcclxuICAgIHRoaXMuYmFzZVVybCA9IHVybDtcclxuICAgIHRoaXMuY2xhc3MgPSBjbHM7XHJcbiAgICB0aGlzLnBlcm1pc3Npb24gPSBwZXJtaXNzaW9uO1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMuaWQgPSB0aGlzLm5hbWU7XHJcbiAgfVxyXG4gIGw6IChrLCB2PykgPT4gc3RyaW5nO1xyXG4gIHBlcm1pc3Npb246IGJvb2xlYW47XHJcbiAgZW52aXJvbm1lbnQ6IGFueSA9IG51bGw7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHN1Yk5hbWU6IHN0cmluZyA9IG51bGw7XHJcbiAgaWQ6IHN0cmluZztcclxuICBjbGFzczogc3RyaW5nO1xyXG4gIGJhc2VVcmw6IHN0cmluZztcclxuICB1cmw6IHN0cmluZztcclxuICBtZXRob2Q6IE1ldGhvZCA9IE1ldGhvZC5Qb3N0O1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBzdHlsZToge307XHJcbiAgb25Ub3AgPSBmYWxzZTtcclxuICBkaXNwbGF5TGFiZWwgPSB0cnVlO1xyXG4gIGlucHV0czogSW5wdXRDbGFzc1tdID0gW107XHJcbiAgb25TdWNjZXNzQmFzZTogKHJlc3VsdCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgb25TdWNjZXNzOiAocmVzdWx0KSA9PiB2b2lkID0gbnVsbDtcclxuICBvbkZhaWxlZDogKHJlc3VsdCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgb25Mb2FkOiAocmVzdWx0KSA9PiB2b2lkID0gbnVsbDtcclxuICBvbkJlZm9yZVN1Ym1pdDogKCkgPT4gYm9vbGVhbiA9IG51bGw7XHJcbiAgb25IaWRlTW9kYWw6ICgpID0+IHZvaWQgPSBudWxsO1xyXG5cclxuICBsb2FkRGF0YSh1cmwpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCkuc2VuZCh1cmwsIE1ldGhvZC5Qb3N0LCBudWxsLCBudWxsLCAocmVzdWx0KSA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0RGF0YShyZXN1bHQpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLm9uTG9hZCl7XHJcbiAgICAgICAgICB0aGlzLm9uTG9hZChyZXN1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgNTAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBzdWJtaXQob25TdWJtaXQgPSBudWxsKTogdm9pZCB7XHJcbiAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCkucG9zdEZvcm0odGhpcywgb25TdWJtaXQpO1xyXG4gIH1cclxuICBjaGVjaygpOiBib29sZWFuIHtcclxuICAgIGxldCB2YWxpZCA9IHRydWU7XHJcbiAgICB0aGlzLmlucHV0cy5mb3JFYWNoKGlucCA9PiB7XHJcbiAgICAgIGlmICghaW5wLmlzVmFsaWQoKSkge1xyXG4gICAgICAgIGlmICh2YWxpZCl7XHJcbiAgICAgICAgICBpbnAuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFsaWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gdmFsaWQ7XHJcbiAgfVxyXG4gIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZXRob2QgPSBNZXRob2QuUG9zdDtcclxuICAgIHRoaXMudXJsID0gdGhpcy5iYXNlVXJsO1xyXG4gICAgdGhpcy5zZXRCdXR0b25zKHRoaXMub25Ub3AsIGZhbHNlKTtcclxuICAgIHRoaXMuY2xlYXJJbnB1dHMoKTtcclxuICB9XHJcbiAgY2xlYXJJbnB1dHMoKTogdm9pZHtcclxuICAgIHRoaXMuaW5wdXRzLmZpbHRlcih4ID0+IHgudHlwZSAhPT0gSW5wdXRUeXBlLkNvbnN0YW50KS5mb3JFYWNoKGlucCA9PiB7XHJcbiAgICAgIGlucC5jbGVhcigpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNldEJ1dHRvbnMoZm9ybU9uVG9wLCBlZGl0OiBib29sZWFuLCBpZCA9IG51bGwpOiB2b2lkIHtcclxuICAgIGNvbnN0IHMgPSB0aGlzLmlucHV0cy5maW5kKHggPT4geC50eXBlID09PSBJbnB1dFR5cGUuU3VibWl0KTtcclxuICAgIGlmICghcyl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHMubmFtZSA9IGVkaXQgPyAnQWNjZXB0JyA6ICdTYXZlJztcclxuICAgIHMuY2xhc3MgPSBlZGl0ID8gcy5jbGFzcy5yZXBsYWNlKCdncmVlbicsICdibHVlJykgOiBzLmNsYXNzLnJlcGxhY2UoJ2JsdWUnLCAnZ3JlZW4nKTtcclxuICB9XHJcbiAgYWRkQnV0dG9ucyhuYW1lID0gJ1NhdmUnLCBjbHMgPSAnZ3JlZW4nLCBjbGVhciA9IHRydWUsIG9uU3VibWl0ID0gbnVsbCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRzLmZpbHRlcih4ID0+IHgudHlwZSA9PT0gSW5wdXRUeXBlLlN1Ym1pdCkubGVuZ3RoID4gMCl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGJyID0gbmV3IElucHV0Q2xhc3ModGhpcy5lbnZpcm9ubWVudCwgdGhpcy5sLCBudWxsLCBudWxsLCBJbnB1dFR5cGUuTGFiZWwsXHJcbiAgICAgICh0aGlzLm9uVG9wID8gJ3NwYWNlJyA6ICd1bmRlcmxpbmUnKSArIChvblN1Ym1pdCA9PT0gbnVsbCA/ICcnIDogJyBtLXYtNScpKTtcclxuICAgIGNvbnN0IHNhdmUgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmVudmlyb25tZW50LCB0aGlzLmwsIG5hbWUsICdmYS1kdW90b25lIGZhLWNoZWNrJywgSW5wdXRUeXBlLlN1Ym1pdCxcclxuICAgICAgJ3ctMTEwMC00MCB3LTUwMC01MCB3LTQwMC02MCB3LTcwIGYtbCBzYXZlLWZvcm0tYnRuICcgKyBjbHMgKyAob25TdWJtaXQgPT09IG51bGwgPyAnIGgtMzAnIDogJyBoLTI1JykpO1xyXG4gICAgc2F2ZS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLnN1Ym1pdChvblN1Ym1pdCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnB1dHMucHVzaChicik7XHJcbiAgICB0aGlzLmlucHV0cy5wdXNoKHNhdmUpO1xyXG4gICAgaWYgKGNsZWFyKXtcclxuICAgICAgY29uc3QgZXJhc2UgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmVudmlyb25tZW50LCB0aGlzLmwsIG51bGwsICdmYS1kdW90b25lIGZhLWVyYXNlcicsIElucHV0VHlwZS5CdXR0b24sXHJcbiAgICAgICAgJ2YtbCB3LXUgZ3JleSBlcmFzZS1mb3JtLWJ0bicgKyAob25TdWJtaXQgPT09IG51bGwgPyAnIGgtMzAnIDogJyBoLTI1JykpO1xyXG4gICAgICBlcmFzZS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLm9uVG9wKXtcclxuICAgICAgICAgIHRoaXMuY2xlYXIoKTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMuY2xlYXJJbnB1dHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuaW5wdXRzLnB1c2goZXJhc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuICBkYXRhKGQgPSBudWxsKTogYW55IHtcclxuICAgIGlmICh0aGlzLmlucHV0cy5maW5kSW5kZXgoeCA9PiB4LnR5cGUgPT09IElucHV0VHlwZS5GaWxlKSA9PT0gLTEpe1xyXG4gICAgICBpZiAoZCA9PSBudWxsKXtcclxuICAgICAgICBkID0ge307XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pbnB1dHMuZm9yRWFjaChpbnAgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZsID0gaW5wLmRhdGEoKTtcclxuICAgICAgICBpZiAodmwgIT09IG51bGwpe1xyXG4gICAgICAgICAgXy5zZXQoZCwgaW5wLm5hbWUsIHZsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIGlmIChkID09IG51bGwpe1xyXG4gICAgICAgIGQgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmlucHV0cy5mb3JFYWNoKGlucCA9PiB7XHJcbiAgICAgICAgY29uc3QgdmwgPSBpbnAuZGF0YSgpO1xyXG4gICAgICAgIGlmICh2bCAhPT0gbnVsbCl7XHJcbiAgICAgICAgICBpZiAodmwgaW5zdGFuY2VvZiBBcnJheSl7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgdiBvZiB2bCl7XHJcbiAgICAgICAgICAgICAgZC5hcHBlbmQoaW5wLm5hbWUsIHYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgZC5hcHBlbmQoaW5wLm5hbWUsIHZsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGQ7XHJcbiAgfVxyXG4gIGpzb24oZCA9IG51bGwpOiB7fSB7XHJcbiAgICBpZiAoZCA9PSBudWxsKXtcclxuICAgICAgZCA9IHt9O1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbnB1dHMuZm9yRWFjaChpbnAgPT4ge1xyXG4gICAgICBjb25zdCB2bCA9IGlucC5kYXRhKCk7XHJcbiAgICAgIGlmICh2bCAhPT0gbnVsbCAmJiB2bCAhPT0gJycpe1xyXG4gICAgICAgIGlmICh2bCBpbnN0YW5jZW9mIEFycmF5KXtcclxuICAgICAgICAgIGZvciAoY29uc3QgdiBvZiB2bCl7XHJcbiAgICAgICAgICAgIGRbaW5wLm5hbWVdID0gdjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIGRbaW5wLm5hbWVdID0gdmw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkO1xyXG4gIH1cclxuICBzZXREYXRhKGQpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5wdXRzLmZvckVhY2goaW5wID0+IHtcclxuICAgICAgY29uc3QgaXYgPSBfLmdldChkLCBpbnAubmFtZSk7XHJcbiAgICAgIGlmIChpbnAudHlwZSA9PT0gSW5wdXRUeXBlLkNhclNlYXJjaCl7XHJcbiAgICAgICAgY29uc3QgaXZzID0gXy5nZXQoZCwgaW5wLm5hbWUucmVwbGFjZSgnSWQnLCAnJykpO1xyXG4gICAgICAgIGlucC5zZXRWYWx1ZSh7U2VhcmNoOiBpdnMsIFZhbHVlOiBpdn0sIHRydWUpO1xyXG4gICAgICB9ZWxzZSBpZiAoaW5wLnR5cGUgIT09IElucHV0VHlwZS5MYWJlbCB8fCBpdiAhPSBudWxsKXtcclxuICAgICAgICBpbnAuc2V0VmFsdWUoaXYsIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChpbnAudHlwZSA9PT0gSW5wdXRUeXBlLlNlbGVjdEF1dG9Db21wbGV0ZVBsYXF1ZSB8fCBpbnAudHlwZSA9PT0gSW5wdXRUeXBlLlNlbGVjdEF1dG9Db21wbGV0ZSl7XHJcbiAgICAgICAgY29uc3QgaXZzID0gXy5nZXQoZCwgaW5wLm5hbWUucmVwbGFjZSgnSWQnLCAnJykpO1xyXG4gICAgICAgIGlucC5zZXRTZWFyY2goaXZzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSW5wdXRDbGFzcyB7XHJcbiAgY29uc3RydWN0b3IoZW52aXJvbm1lbnQ6IGFueSwgbDogKGssIHY/KSA9PiBzdHJpbmcsIG5hbWU6IHN0cmluZywgaWNvbjogc3RyaW5nID0gbnVsbCxcclxuICAgICAgICAgICAgICB0eXBlOiBJbnB1dFR5cGUgPSBJbnB1dFR5cGUuVGV4dCwgY2xzOiBzdHJpbmcgPSAnJywgdmFsdWUgPSBudWxsLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiBib29sZWFuID0gdHJ1ZSwgbWluTGVuZ3RoID0gLTEsIG1heExlbmd0aCA9IC0xKSB7XHJcbiAgICB0aGlzLmVudmlyb25tZW50ID0gZW52aXJvbm1lbnQ7XHJcbiAgICB0aGlzLmwgPSBsO1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMubG9hZGluZ05hbWUgPSBuYW1lO1xyXG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IG5hbWU7XHJcbiAgICB0aGlzLmljb24gPSBpY29uO1xyXG4gICAgdGhpcy5jbGFzcyA9IGNscyArIChbSW5wdXRUeXBlLk1vYmlsZSwgSW5wdXRUeXBlLlBob25lLCBJbnB1dFR5cGUuUGFzc3dvcmQsIElucHV0VHlwZS5FbWFpbCwgSW5wdXRUeXBlLk51bWJlciwgSW5wdXRUeXBlLlByaWNlLFxyXG4gICAgICBJbnB1dFR5cGUuTmF0aW9uYWxDb2RlLCBJbnB1dFR5cGUuU2hlYmEsIElucHV0VHlwZS5Qb3N0YWxDb2RlLCBJbnB1dFR5cGUuRGF0ZSwgSW5wdXRUeXBlLlRpbWVdLmluY2x1ZGVzKHR5cGUpID8gJyBsdHInIDogJycpO1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuZGVmYXVsdCA9IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgPyBfLmNsb25lRGVlcCh2YWx1ZSkgOiBIZWxwZXJDbGFzcy5jbG9uZSh2YWx1ZSk7XHJcbiAgICB0aGlzLnJlcXVpcmVkID0gcmVxdWlyZWQ7XHJcbiAgICB0aGlzLm1pbkxlbmd0aCA9IHR5cGUgPT09IElucHV0VHlwZS5Nb2JpbGUgfHwgdHlwZSA9PT0gSW5wdXRUeXBlLlBob25lID8gMTEgOlxyXG4gICAgICB0eXBlID09PSBJbnB1dFR5cGUuTmF0aW9uYWxDb2RlIHx8IHR5cGUgPT09IElucHV0VHlwZS5Qb3N0YWxDb2RlID8gMTAgOlxyXG4gICAgICB0eXBlID09PSBJbnB1dFR5cGUuU2hlYmEgPyAyNCA6IG1pbkxlbmd0aDtcclxuICAgIHRoaXMubWF4TGVuZ3RoID0gdHlwZSA9PT0gSW5wdXRUeXBlLk1vYmlsZSB8fCB0eXBlID09PSBJbnB1dFR5cGUuUGhvbmUgPyAxMSA6XHJcbiAgICAgIHR5cGUgPT09IElucHV0VHlwZS5OYXRpb25hbENvZGUgfHwgdHlwZSA9PT0gSW5wdXRUeXBlLlBvc3RhbENvZGUgPyAxMCA6XHJcbiAgICAgIHR5cGUgPT09IElucHV0VHlwZS5TaGViYSA/IDI0IDogbWF4TGVuZ3RoO1xyXG4gIH1cclxuICBlbnZpcm9ubWVudDogYW55ID0gbnVsbDtcclxuICBsOiAoaywgdj8pID0+IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdXJsID0gbnVsbDtcclxuICBxdWVyeVBhcmFtcyA9IG51bGw7XHJcbiAgdXJsTmV3VGFiID0gZmFsc2U7XHJcbiAgbG9hZGluZ05hbWU6IHN0cmluZztcclxuICBwbGFjZWhvbGRlcjogc3RyaW5nID0gbnVsbDtcclxuICB0b29sdGlwOiBzdHJpbmc7XHJcbiAgaWQ6IHN0cmluZztcclxuICBpY29uOiBzdHJpbmc7XHJcbiAgYWRkTmV3ID0gZmFsc2U7XHJcbiAgY2xhc3M6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nID0gbnVsbDtcclxuICB0eXBlOiBJbnB1dFR5cGU7XHJcbiAgdmFsdWU7XHJcbiAgc2VhcmNoO1xyXG4gIGRlZmF1bHQ7XHJcbiAgcmVxdWlyZWQ6IGJvb2xlYW47XHJcbiAgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBpbkVkaXREaXNhYmxlZCA9IGZhbHNlO1xyXG4gIGluRWRpdFZpc2libGUgPSB0cnVlO1xyXG4gIGRpc3BsYXlMYWJlbCA9IHRydWU7XHJcbiAgd2l0aENsZWFyID0gZmFsc2U7XHJcbiAgbWluTGVuZ3RoID0gLTE7XHJcbiAgbWF4TGVuZ3RoID0gLTE7XHJcbiAgZXJyb3I6IElucHV0RXJyb3IgPSBudWxsO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBidXR0b24gPSBudWxsO1xyXG4gIG9uQ2xpY2tCdXR0b246ICgpID0+IHZvaWQgPSBudWxsO1xyXG4gIHByb2dyZXNzOiBQcm9ncmVzcyA9IG51bGw7XHJcbiAgb25DbGljazogKGJ0bikgPT4gdm9pZCA9IG51bGw7XHJcbiAgb25LZXlVcDogKGlucCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgb25LZXlEb3duOiAoZSkgPT4gdm9pZCA9IG51bGw7XHJcbiAgb3B0aW9uczogT3B0aW9uQ2xhc3NbXSA9IFtdO1xyXG4gIG1hdGNoOiBJbnB1dENsYXNzID0gbnVsbDtcclxuICByZWw6IElucHV0Q2xhc3MgPSBudWxsO1xyXG4gIHJlbFVybDogc3RyaW5nID0gbnVsbDtcclxuICB0YWJsZTogVGFibGVDbGFzcztcclxuICBzdHlsZSA9IHt9O1xyXG4gIHBvc2l0aW9uID0gJ2JvdHRvbSc7XHJcbiAgb25DaGFuZ2U6ICh2LCBlPykgPT4gdm9pZCA9IG51bGw7XHJcbiAgaG92ZXIgPSAtMTtcclxuICB2aXNpYmxlID0gdHJ1ZTtcclxuICBleHBvcnRQZGYgPSBmYWxzZTtcclxuICBvcGVuID0gZmFsc2U7XHJcbiAgbXVsdGlwbGUgPSBmYWxzZTtcclxuICBvbmx5Q2hpbGQgPSB0cnVlO1xyXG4gIGFsbG93ZWQgPSBudWxsO1xyXG4gIHJvdyA9IG51bGw7XHJcbiAgcm93cyA9IFtdO1xyXG4gIGluZGV4ID0gMDtcclxuICBsZXZlbCA9IG51bGw7XHJcbiAgbW9kYWw6IE1vZGFsQ2xhc3MgPSBudWxsO1xyXG4gIG5hbWVGdW46IChyKSA9PiB2b2lkID0gbnVsbDtcclxuICBvbkZvY3VzT3V0OiAoZSkgPT4gdm9pZCA9ICgpID0+IHt9O1xyXG4gIGZvY3VzKGNoYW5nZUluZGV4OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHt9XHJcbiAgY2hhbmdlVHlwZTogKHQ6IElucHV0VHlwZSkgPT4gdm9pZCA9ICgpID0+IHt9O1xyXG4gIHNldFZhbHVlOiAodiwgaXNFZGl0KSA9PiB2b2lkID0gKHYsIGlzRWRpdCkgPT4geyB0aGlzLnZhbHVlID0gdjsgfTtcclxuICBzZXRTZWFyY2g6ICh2KSA9PiB2b2lkID0gKCkgPT4ge307XHJcbiAgY2xlYXI6ICgpID0+IHZvaWQgPSAoKSA9PiB7IHRoaXMudmFsdWUgPSBudWxsOyB9O1xyXG4gIGZvY3VzT3V0OiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcbiAgZGF0YTogKCkgPT4gYW55ID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XHJcbiAgfVxyXG4gIGlzVmFsaWQ6ICgpID0+IGJvb2xlYW4gPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbiAgbG9hZCh1ID0gbnVsbCwgZG9uZTogKCkgPT4gdm9pZCA9IG51bGwpOiB2b2lke1xyXG4gICAgdSA9IHUgPyB1IDogdGhpcy51cmw7XHJcbiAgICBpZiAodSl7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IFtdO1xyXG4gICAgICB0aGlzLmhvdmVyID0gLTE7XHJcbiAgICAgIHRoaXMuaW5kZXggPSAwO1xyXG4gICAgICB0aGlzLnJvd3MgPSBbXTtcclxuICAgICAgaWYgKHR5cGVvZiB1ID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIGlmICghdS5pbmNsdWRlcygne30nKSl7XHJcbiAgICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCkuc2VuZCh1ID8gdSA6IHRoaXMudXJsLCBNZXRob2QuUG9zdCwgbnVsbCwgdGhpcywgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSBJbnB1dFR5cGUuU2VsZWN0U2VhcmNoIHx8IHRoaXMudHlwZSA9PT0gSW5wdXRUeXBlLlNlbGVjdCB8fCB0aGlzLnR5cGUgPT09IElucHV0VHlwZS5TZWxlY3RBdXRvQ29tcGxldGUgfHxcclxuICAgICAgICAgICAgICB0aGlzLnR5cGUgPT09IElucHV0VHlwZS5TZWxlY3RBdXRvQ29tcGxldGVQbGFxdWUgfHwgdGhpcy50eXBlID09PSBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlUGxhcXVlTSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHIgPSB0aGlzLmdldE9wdGlvbnMocmVzdWx0LCBudWxsKTtcclxuICAgICAgICAgICAgICBjb25zdCBzID0gcmVzdWx0LmZpbmQoeCA9PiB4LlNlbGVjdGVkKTtcclxuICAgICAgICAgICAgICBpZiAocykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHMuSWQudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRPcHRpb25zKHIpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gSW5wdXRUeXBlLlRyZWUgfHwgdGhpcy50eXBlID09PSBJbnB1dFR5cGUuVHJlZVJhZGlvKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5yb3dzID0gdGhpcy5nZXRSb3dzKHJlc3VsdCwgbnVsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGRvbmUpIHtcclxuICAgICAgICAgICAgICBkb25lKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XHJcbiAgICAgICAgRW51bVV0aWxzLmdldEtleXNBbmRWYWx1ZXModSkuZm9yRWFjaCgoaykgPT4ge1xyXG4gICAgICAgICAgcmVzdWx0LnB1c2goe05hbWU6IHRoaXMubChrLmtleSksIElkOiBrLnZhbHVlLnRvU3RyaW5nKCl9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zdCByID0gdGhpcy5nZXRPcHRpb25zKHJlc3VsdCwgbnVsbCk7XHJcbiAgICAgICAgdGhpcy5zZXRPcHRpb25zKHIpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9ucyBpbnN0YW5jZW9mIEFycmF5KXtcclxuICAgICAgdGhpcy5vcHRpb25zLmZvckVhY2goeCA9PiB4LmluZGV4ID0gdGhpcy5pbmRleCsrKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2V0T3B0aW9ucyhyKTogdm9pZHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHI7XHJcbiAgICBpZiAodGhpcy52YWx1ZSAhPSBudWxsKXtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLnZhbHVlLCB0cnVlKTtcclxuICAgICAgfSwgNTAwKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0T3B0aW9ucyhyLCBwLCB0cmVlID0gdHJ1ZSk6IE9wdGlvbkNsYXNzW117XHJcbiAgICByZXR1cm4gci5maWx0ZXIoeCA9PiAocCA9PSBudWxsICYmICF4LlBhcmVudElkKSB8fCB4LlBhcmVudElkID09PSBwIHx8ICF0cmVlKVxyXG4gICAgICAubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbyA9IG5ldyBPcHRpb25DbGFzcyh4Lk5hbWUsIHguSWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gSW5wdXRUeXBlLlNlbGVjdEF1dG9Db21wbGV0ZVBsYXF1ZSB8fCB0aGlzLnR5cGUgPT09IElucHV0VHlwZS5TZWxlY3RBdXRvQ29tcGxldGVQbGFxdWVNIHx8IHRoaXMubmFtZSA9PT0gJ0NhcklkJyl7XHJcbiAgICAgICAgICBjb25zdCB0biA9IG8ubmFtZS5zcGxpdCgnXycpO1xyXG4gICAgICAgICAgaWYgKHRuLmxlbmd0aCA9PT0gNCl7XHJcbiAgICAgICAgICAgIHRuWzFdICs9ICcmbHJtOyc7XHJcbiAgICAgICAgICAgIHRuWzJdICs9ICcgfCc7XHJcbiAgICAgICAgICAgIG8ubmFtZSA9IHRuLmpvaW4oJyAnKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodG4ubGVuZ3RoID09PSAyKXtcclxuICAgICAgICAgICAgby5uYW1lID0gdG4uam9pbignICcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBvLnNlYXJjaCA9IHguU2VhcmNoO1xyXG4gICAgICAgIG8ub3B0aW9uID0geDtcclxuICAgICAgICBvLmluZGV4ID0gdGhpcy5pbmRleCsrO1xyXG4gICAgICAgIG8ub3B0aW9ucyA9IHRyZWUgPyB0aGlzLmdldE9wdGlvbnMociwgeC5JZCkgOiBbXTtcclxuICAgICAgICByZXR1cm4gbztcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGdldFJvd3MociwgcCk6IFRyZWVSb3dDbGFzc1tde1xyXG4gICAgY29uc3QgbCA9IFtdO1xyXG4gICAgci5maWx0ZXIoeCA9PiAocCA9PSBudWxsICYmICF4LlBhcmVudElkKSB8fCB4LlBhcmVudElkID09PSBwKS5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgIGxldCBjID0gdGhpcy5nZXRSb3dzKHIsIHguSWQpO1xyXG4gICAgICBjID0gYy5sZW5ndGggPiAwID8gYyA6IHguQ2hpbGRyZW4gPyB4LkNoaWxkcmVuLm1hcChhID0+IG5ldyBUcmVlUm93Q2xhc3MoYS5OYW1lLCBhLklkLCBhLlNlbGVjdGVkKSkgOiBbXTtcclxuICAgICAgbGV0IHMgPSB4LlNlbGVjdGVkID09PSB0cnVlO1xyXG4gICAgICBpZiAodGhpcy5vbmx5Q2hpbGQpe1xyXG4gICAgICAgIHMgPSBjLmxlbmd0aCA9PT0gMCA/IHguU2VsZWN0ZWQgOiAoYy5maW5kKHkgPT4geS5zZWxlY3RlZCA9PT0gZmFsc2UgfHwgeS5zZWxlY3RlZCA9PT0gbnVsbCkgPT0gbnVsbCA/IHRydWUgOlxyXG4gICAgICAgICAgKGMuZmluZCh5ID0+IHkuc2VsZWN0ZWQgPT09IHRydWUgfHwgeS5zZWxlY3RlZCA9PT0gbnVsbCkgIT0gbnVsbCA/IG51bGwgOiBmYWxzZSkpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG4gPSB0aGlzLm5hbWVGdW4gPyB0aGlzLm5hbWVGdW4oeCkgOiB4Lk5hbWU7XHJcbiAgICAgIGwucHVzaChuZXcgVHJlZVJvd0NsYXNzKG4sIHguSWQsIHMsIGMpKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGw7XHJcbiAgfVxyXG4gIGdldExhYmVsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gSGVscGVyQ2xhc3MuZ2V0TGFiZWwodGhpcyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgT3B0aW9uQ2xhc3Mge1xyXG4gIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZywgb3B0aW9uczogT3B0aW9uQ2xhc3NbXSA9IFtdLCBjbHM6IHN0cmluZyA9IG51bGwpIHtcclxuICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgdGhpcy5jbGFzcyA9IGNscztcclxuICB9XHJcbiAgb3B0aW9uO1xyXG4gIHNlYXJjaDogc3RyaW5nO1xyXG4gIGNsYXNzOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbiAgaW5kZXg6IG51bWJlcjtcclxuICBzaG93ID0gdHJ1ZTtcclxuICBzZWxlY3RlZCA9IGZhbHNlO1xyXG4gIHBhcmVudDogT3B0aW9uQ2xhc3MgPSBudWxsO1xyXG4gIG9wdGlvbnM6IE9wdGlvbkNsYXNzW107XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBEYXlDbGFzcyB7XHJcbiAgY29uc3RydWN0b3IoZGF5OiBudW1iZXIsIHRvZGF5OiBib29sZWFuLCBzZWxlY3RlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5kYXkgPSBkYXk7XHJcbiAgICB0aGlzLnRvZGF5ID0gdG9kYXk7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgfVxyXG4gIGRheTogbnVtYmVyO1xyXG4gIHRvZGF5OiBib29sZWFuO1xyXG4gIHNlbGVjdGVkOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBUcmVlUm93Q2xhc3Mge1xyXG4gIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZywgc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZSwgY2hpbGRyZW46IFRyZWVSb3dDbGFzc1tdID0gW10pIHtcclxuICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XHJcbiAgfVxyXG4gIG5hbWU6IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nO1xyXG4gIHNlbGVjdGVkOiBib29sZWFuO1xyXG4gIHBhcmVudDogVHJlZVJvd0NsYXNzO1xyXG4gIGNoaWxkcmVuOiBUcmVlUm93Q2xhc3NbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkNsYXNzIHtcclxuICBjb25zdHJ1Y3RvcihsOiAoaywgdj8pID0+IHN0cmluZywgbmFtZTogc3RyaW5nLCBjbHM6IHN0cmluZyA9ICcnLCByb3dzOiBBY2NvcmRpb25Sb3dDbGFzc1tdKSB7XHJcbiAgICB0aGlzLmwgPSBsO1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMuY2xhc3MgPSBjbHM7XHJcbiAgICB0aGlzLnJvd3MgPSByb3dzO1xyXG4gIH1cclxuICBsOiAoaywgdj8pID0+IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgY2xhc3M6IHN0cmluZztcclxuICByb3dzOiBBY2NvcmRpb25Sb3dDbGFzc1tdO1xyXG4gIGhhc0RlbGV0ZSA9IGZhbHNlO1xyXG4gIGRpc3BsYXlMYWJlbCA9IGZhbHNlO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBvbkRlbGV0ZTogKHJvdykgPT4gdm9pZCA9IG51bGw7XHJcbiAgY2hlY2soKTogYm9vbGVhbntcclxuICAgIGZvciAoY29uc3Qgcm93IG9mIHRoaXMucm93cyl7XHJcbiAgICAgIGlmICghcm93LmZvcm0uY2hlY2soKSl7XHJcbiAgICAgICAgcm93Lm9wZW4oKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFjY29yZGlvblJvd0NsYXNzIHtcclxuICBjb25zdHJ1Y3RvcihpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIGZvcm06IEZvcm1DbGFzcyA9IG51bGwsIHRhYmxlOiBUYWJsZUNsYXNzID0gbnVsbCkge1xyXG4gICAgdGhpcy5pZCA9IGlkO1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMuZm9ybSA9IGZvcm07XHJcbiAgICB0aGlzLnRhYmxlID0gdGFibGU7XHJcbiAgfVxyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHNob3cgPSB0cnVlO1xyXG4gIGZvcm06IEZvcm1DbGFzcztcclxuICB0YWJsZTogVGFibGVDbGFzcztcclxuICB0b2dnbGUoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgJCgnI0FjY29yZGlvblJvdycgKyB0aGlzLmlkICsgJyA+IC5oZWFkZXInKS5jbGljaygpO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbiAgb3BlbigpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAoISQoJyNBY2NvcmRpb25Sb3cnICsgdGhpcy5pZCArICcgPiAuY29udGVudCcpLmhhc0NsYXNzKCdvcGVuJykpe1xyXG4gICAgICAgICQoJyNBY2NvcmRpb25Sb3cnICsgdGhpcy5pZCArICcgPiAuaGVhZGVyJykuY2xpY2soKTtcclxuICAgICAgfVxyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbn1cclxuIl19
435
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qcm9qZWN0cy9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY2xhc3Nlcy9mb3JtLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyxRQUFRO0lBQ25CLFlBQVksSUFBWTtRQUt4QixZQUFPLEdBQUcsR0FBRyxDQUFDO1FBRWQsVUFBSyxHQUFlLElBQUksQ0FBQztRQUN6QixZQUFPLEdBQWUsSUFBSSxDQUFDO1FBQzNCLFdBQU0sR0FBbUMsSUFBSSxDQUFDO1FBQzlDLFVBQUssR0FBRyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7WUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFDO2dCQUNmLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNoQjtZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFFLEdBQUcsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFDbkQsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBQztvQkFDeEIsYUFBYSxDQUFDLElBQUksQ0FB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QUFDO1FBQzdELElBQUksQ0FBQyxDQUFDLEVBQUM7WUFDTCxPQUFPO1NBQ1I7UUFDRCxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDbEMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFDRCxVQUFVLENBQUMsSUFBSSxHQUFHLE1BQU0sRUFBRSxHQUFHLEdBQUcsT0FBTyxFQUFFLEtBQUssR0FBRyxJQUFJLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDcEUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7WUFDbEUsT0FBTztTQUNSO1FBQ0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFDN0UsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxDQUFDLE1B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QUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNLElBQUksSUFBSSxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNFLElBQUksS0FBSyxTQUFTLENBQUMsWUFBWSxJQUFJLElBQUksS0FBSyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNLElBQUksSUFBSSxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNFLElBQUksS0FBSyxTQUFTLENBQUMsWUFBWSxJQUFJLElBQUksS0FBSyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzlDLENBQUM7SUF5REQsS0FBSyxDQUFDLGNBQXVCLEtBQUssSUFBUyxDQUFDO0lBWTVDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLE9BQW1CLElBQUk7UUFDcEMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxFQUFDO1lBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ2YsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFDO29CQUNwQixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7d0JBQ3BHLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxrQkFBa0I7NEJBQ3RILElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLHdCQUF3QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLHlCQUF5QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLHlCQUF5QixFQUFFOzRCQUM1SixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQzs0QkFDeEMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQzs0QkFDdkMsSUFBSSxDQUFDLEVBQUU7Z0NBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDOzZCQUM5Qjs0QkFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUNwQjs2QkFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxTQUFTLEVBQUU7NEJBQzVFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7eUJBQ3hDO3dCQUNELElBQUksSUFBSSxFQUFFOzRCQUNSLElBQUksRUFBRSxDQUFDO3lCQUNSO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO2FBQ0Y7aUJBQUk7Z0JBQ0gsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUMsQ0FBQyxDQUFDO2dCQUM3RCxDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwQjtTQUNGO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxZQUFZLEtBQUssRUFBQztZQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0lBQ0QsVUFBVSxDQUFDLENBQUM7UUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFDO1lBQ3JCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2xDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO0lBQ0gsQ0FBQztJQUNELFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksR0FBRyxJQUFJO1FBQzFCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUMxRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNULE1BQU0sQ0FBQyxHQUFHLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsd0JBQXdCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMseUJBQXlCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMseUJBQXlCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUM7Z0JBQ3RMLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFDO29CQUNsQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDO29CQUNqQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO29CQUNkLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDdkI7cUJBQU0sSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQztvQkFDekIsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN2QjthQUNGO1lBQ0QsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2IsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pELE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1YsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzFFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5QixDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6RyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQztZQUM1QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUM7Z0JBQ2pCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMxRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ3JGO1lBQ0QsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNsRCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENB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QUN0RCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBQ0QsSUFBSTtRQUNGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBQztnQkFDakUsQ0FBQyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3JEO1FBQ0gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbnVtVXRpbHMsIElucHV0RXJyb3IsIElucHV0VHlwZSwgTWV0aG9kfSBmcm9tICcuL2VudW0uY2xhc3MnO1xyXG5pbXBvcnQge0hlbHBlckNsYXNzfSBmcm9tICcuL2hlbHBlci5jbGFzcyc7XHJcbmltcG9ydCB7UmVxdWVzdENsYXNzfSBmcm9tICcuL3JlcXVlc3QuY2xhc3MnO1xyXG5pbXBvcnQge1RhYmxlQ2xhc3N9IGZyb20gJy4vdGFibGUuY2xhc3MnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7TW9kYWxDbGFzc30gZnJvbSAnLi9tb2RhbC5jbGFzcyc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuXHJcbmV4cG9ydCBjbGFzcyBQcm9ncmVzcyB7XHJcbiAgY29uc3RydWN0b3Ioc2VjczogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnNlY3MgPSB0aGlzLnJlbWFpblNlY3MgPSBzZWNzO1xyXG4gIH1cclxuICBzZWNzOiBudW1iZXI7XHJcbiAgcmVtYWluU2VjczogbnVtYmVyO1xyXG4gIHBlcmNlbnQgPSAxMDA7XHJcbiAgaW50ZXJWYWw7XHJcbiAgb25FbmQ6ICgpID0+IHZvaWQgPSBudWxsO1xyXG4gIG9uU3RhcnQ6ICgpID0+IHZvaWQgPSBudWxsO1xyXG4gIG9uVGljazogKG06IG51bWJlciwgczogbnVtYmVyKSA9PiB2b2lkID0gbnVsbDtcclxuICBzdGFydCA9ICgpID0+IHtcclxuICAgIHRoaXMucmVtYWluU2VjcyA9IHRoaXMuc2VjcztcclxuICAgIHRoaXMucGVyY2VudCA9IDEwMDtcclxuICAgIGlmICh0aGlzLm9uU3RhcnQpe1xyXG4gICAgICB0aGlzLm9uU3RhcnQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW50ZXJWYWwgPSBzZXRJbnRlcnZhbCggKCkgPT4ge1xyXG4gICAgICB0aGlzLnBlcmNlbnQgPSAodGhpcy5yZW1haW5TZWNzIC8gdGhpcy5zZWNzKSAqIDEwMDtcclxuICAgICAgaWYgKHRoaXMucmVtYWluU2VjcyA9PT0gMCl7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVyVmFsKTtcclxuICAgICAgICBpZiAodGhpcy5vbkVuZCl7XHJcbiAgICAgICAgICB0aGlzLm9uRW5kKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcih0aGlzLnJlbWFpblNlY3MpKXtcclxuICAgICAgICBjb25zdCBtID0gTWF0aC5mbG9vcih0aGlzLnJlbWFpblNlY3MgLyA2MCk7XHJcbiAgICAgICAgY29uc3QgcyA9IHRoaXMucmVtYWluU2VjcyAlIDYwO1xyXG4gICAgICAgIHRoaXMub25UaWNrKG0sIHMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVtYWluU2VjcyAtPSAwLjU7XHJcbiAgICB9LCA1MDApO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgRm9ybUNsYXNzIHtcclxuICBjb25zdHJ1Y3RvcihlbnZpcm9ubWVudDogYW55LCBsOiAoaywgdj8pID0+IHN0cmluZywgbmFtZTogc3RyaW5nID0gbnVsbCwgcGVybWlzc2lvbjogYm9vbGVhbiA9IHRydWUsXHJcbiAgICAgICAgICAgICAgdXJsOiBzdHJpbmcgPSBudWxsLCBjbHM6IHN0cmluZyA9IG51bGwpIHtcclxuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcclxuICAgIHRoaXMubCA9IGw7XHJcbiAgICB0aGlzLnVybCA9IHVybDtcclxuICAgIHRoaXMuYmFzZVVybCA9IHVybDtcclxuICAgIHRoaXMuY2xhc3MgPSBjbHM7XHJcbiAgICB0aGlzLnBlcm1pc3Npb24gPSBwZXJtaXNzaW9uO1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMuaWQgPSB0aGlzLm5hbWU7XHJcbiAgfVxyXG4gIGw6IChrLCB2PykgPT4gc3RyaW5nO1xyXG4gIHBlcm1pc3Npb246IGJvb2xlYW47XHJcbiAgZW52aXJvbm1lbnQ6IGFueSA9IG51bGw7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHN1Yk5hbWU6IHN0cmluZyA9IG51bGw7XHJcbiAgaWQ6IHN0cmluZztcclxuICBjbGFzczogc3RyaW5nO1xyXG4gIGJhc2VVcmw6IHN0cmluZztcclxuICB1cmw6IHN0cmluZztcclxuICBtZXRob2Q6IE1ldGhvZCA9IE1ldGhvZC5Qb3N0O1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBzdHlsZToge307XHJcbiAgb25Ub3AgPSBmYWxzZTtcclxuICBkaXNwbGF5TGFiZWwgPSB0cnVlO1xyXG4gIGlucHV0czogSW5wdXRDbGFzc1tdID0gW107XHJcbiAgb25TdWNjZXNzQmFzZTogKHJlc3VsdCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgb25TdWNjZXNzOiAocmVzdWx0KSA9PiB2b2lkID0gbnVsbDtcclxuICBvbkZhaWxlZDogKHJlc3VsdCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgb25Mb2FkOiAocmVzdWx0KSA9PiB2b2lkID0gbnVsbDtcclxuICBvbkJlZm9yZVN1Ym1pdDogKCkgPT4gYm9vbGVhbiA9IG51bGw7XHJcbiAgb25IaWRlTW9kYWw6ICgpID0+IHZvaWQgPSBudWxsO1xyXG5cclxuICBsb2FkRGF0YSh1cmwpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCkuc2VuZCh1cmwsIE1ldGhvZC5Qb3N0LCBudWxsLCBudWxsLCAocmVzdWx0KSA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0RGF0YShyZXN1bHQpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLm9uTG9hZCl7XHJcbiAgICAgICAgICB0aGlzLm9uTG9hZChyZXN1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgNTAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBzdWJtaXQob25TdWJtaXQgPSBudWxsKTogdm9pZCB7XHJcbiAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCkucG9zdEZvcm0odGhpcywgb25TdWJtaXQpO1xyXG4gIH1cclxuICBjaGVjaygpOiBib29sZWFuIHtcclxuICAgIGxldCB2YWxpZCA9IHRydWU7XHJcbiAgICB0aGlzLmlucHV0cy5mb3JFYWNoKGlucCA9PiB7XHJcbiAgICAgIGlmICghaW5wLmlzVmFsaWQoKSkge1xyXG4gICAgICAgIGlmICh2YWxpZCl7XHJcbiAgICAgICAgICBpbnAuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFsaWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gdmFsaWQ7XHJcbiAgfVxyXG4gIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZXRob2QgPSBNZXRob2QuUG9zdDtcclxuICAgIHRoaXMudXJsID0gdGhpcy5iYXNlVXJsO1xyXG4gICAgdGhpcy5zZXRCdXR0b25zKHRoaXMub25Ub3AsIGZhbHNlKTtcclxuICAgIHRoaXMuY2xlYXJJbnB1dHMoKTtcclxuICB9XHJcbiAgY2xlYXJJbnB1dHMoKTogdm9pZHtcclxuICAgIHRoaXMuaW5wdXRzLmZpbHRlcih4ID0+IHgudHlwZSAhPT0gSW5wdXRUeXBlLkNvbnN0YW50KS5mb3JFYWNoKGlucCA9PiB7XHJcbiAgICAgIGlucC5jbGVhcigpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNldEJ1dHRvbnMoZm9ybU9uVG9wLCBlZGl0OiBib29sZWFuLCBpZCA9IG51bGwpOiB2b2lkIHtcclxuICAgIGNvbnN0IHMgPSB0aGlzLmlucHV0cy5maW5kKHggPT4geC50eXBlID09PSBJbnB1dFR5cGUuU3VibWl0KTtcclxuICAgIGlmICghcyl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHMubmFtZSA9IGVkaXQgPyAnQWNjZXB0JyA6ICdTYXZlJztcclxuICAgIHMuY2xhc3MgPSBlZGl0ID8gcy5jbGFzcy5yZXBsYWNlKCdncmVlbicsICdibHVlJykgOiBzLmNsYXNzLnJlcGxhY2UoJ2JsdWUnLCAnZ3JlZW4nKTtcclxuICB9XHJcbiAgYWRkQnV0dG9ucyhuYW1lID0gJ1NhdmUnLCBjbHMgPSAnZ3JlZW4nLCBjbGVhciA9IHRydWUsIG9uU3VibWl0ID0gbnVsbCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRzLmZpbHRlcih4ID0+IHgudHlwZSA9PT0gSW5wdXRUeXBlLlN1Ym1pdCkubGVuZ3RoID4gMCl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGJyID0gbmV3IElucHV0Q2xhc3ModGhpcy5lbnZpcm9ubWVudCwgdGhpcy5sLCBudWxsLCBudWxsLCBJbnB1dFR5cGUuTGFiZWwsXHJcbiAgICAgICh0aGlzLm9uVG9wID8gJ3NwYWNlJyA6ICd1bmRlcmxpbmUnKSArIChvblN1Ym1pdCA9PT0gbnVsbCA/ICcnIDogJyBtLXYtNScpKTtcclxuICAgIGNvbnN0IHNhdmUgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmVudmlyb25tZW50LCB0aGlzLmwsIG5hbWUsICdmYS1kdW90b25lIGZhLWNoZWNrJywgSW5wdXRUeXBlLlN1Ym1pdCxcclxuICAgICAgJ3ctMTEwMC00MCB3LTUwMC01MCB3LTQwMC02MCB3LTcwIGYtbCBzYXZlLWZvcm0tYnRuICcgKyBjbHMgKyAob25TdWJtaXQgPT09IG51bGwgPyAnIGgtMzAnIDogJyBoLTI1JykpO1xyXG4gICAgc2F2ZS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLnN1Ym1pdChvblN1Ym1pdCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnB1dHMucHVzaChicik7XHJcbiAgICB0aGlzLmlucHV0cy5wdXNoKHNhdmUpO1xyXG4gICAgaWYgKGNsZWFyKXtcclxuICAgICAgY29uc3QgZXJhc2UgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmVudmlyb25tZW50LCB0aGlzLmwsIG51bGwsICdmYS1kdW90b25lIGZhLWVyYXNlcicsIElucHV0VHlwZS5CdXR0b24sXHJcbiAgICAgICAgJ2YtbCB3LXUgZ3JleSBlcmFzZS1mb3JtLWJ0bicgKyAob25TdWJtaXQgPT09IG51bGwgPyAnIGgtMzAnIDogJyBoLTI1JykpO1xyXG4gICAgICBlcmFzZS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLm9uVG9wKXtcclxuICAgICAgICAgIHRoaXMuY2xlYXIoKTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMuY2xlYXJJbnB1dHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuaW5wdXRzLnB1c2goZXJhc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuICBkYXRhKGQgPSBudWxsKTogYW55IHtcclxuICAgIGlmICh0aGlzLmlucHV0cy5maW5kSW5kZXgoeCA9PiB4LnR5cGUgPT09IElucHV0VHlwZS5GaWxlKSA9PT0gLTEpe1xyXG4gICAgICBpZiAoZCA9PSBudWxsKXtcclxuICAgICAgICBkID0ge307XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pbnB1dHMuZm9yRWFjaChpbnAgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZsID0gaW5wLmRhdGEoKTtcclxuICAgICAgICBpZiAodmwgIT09IG51bGwpe1xyXG4gICAgICAgICAgXy5zZXQoZCwgaW5wLm5hbWUsIHZsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIGlmIChkID09IG51bGwpe1xyXG4gICAgICAgIGQgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmlucHV0cy5mb3JFYWNoKGlucCA9PiB7XHJcbiAgICAgICAgY29uc3QgdmwgPSBpbnAuZGF0YSgpO1xyXG4gICAgICAgIGlmICh2bCAhPT0gbnVsbCl7XHJcbiAgICAgICAgICBpZiAodmwgaW5zdGFuY2VvZiBBcnJheSl7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgdiBvZiB2bCl7XHJcbiAgICAgICAgICAgICAgZC5hcHBlbmQoaW5wLm5hbWUsIHYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgZC5hcHBlbmQoaW5wLm5hbWUsIHZsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGQ7XHJcbiAgfVxyXG4gIGpzb24oZCA9IG51bGwpOiB7fSB7XHJcbiAgICBpZiAoZCA9PSBudWxsKXtcclxuICAgICAgZCA9IHt9O1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbnB1dHMuZm9yRWFjaChpbnAgPT4ge1xyXG4gICAgICBjb25zdCB2bCA9IGlucC5kYXRhKCk7XHJcbiAgICAgIGlmICh2bCAhPT0gbnVsbCAmJiB2bCAhPT0gJycpe1xyXG4gICAgICAgIGlmICh2bCBpbnN0YW5jZW9mIEFycmF5KXtcclxuICAgICAgICAgIGZvciAoY29uc3QgdiBvZiB2bCl7XHJcbiAgICAgICAgICAgIGRbaW5wLm5hbWVdID0gdjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIGRbaW5wLm5hbWVdID0gdmw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkO1xyXG4gIH1cclxuICBzZXREYXRhKGQpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5wdXRzLmZvckVhY2goaW5wID0+IHtcclxuICAgICAgY29uc3QgaXYgPSBfLmdldChkLCBpbnAubmFtZSk7XHJcbiAgICAgIGlmIChpbnAudHlwZSA9PT0gSW5wdXRUeXBlLkNhclNlYXJjaCl7XHJcbiAgICAgICAgY29uc3QgaXZzID0gXy5nZXQoZCwgaW5wLm5hbWUucmVwbGFjZSgnSWQnLCAnJykpO1xyXG4gICAgICAgIGlucC5zZXRWYWx1ZSh7U2VhcmNoOiBpdnMsIFZhbHVlOiBpdn0sIHRydWUpO1xyXG4gICAgICB9ZWxzZSBpZiAoaW5wLnR5cGUgIT09IElucHV0VHlwZS5MYWJlbCB8fCBpdiAhPSBudWxsKXtcclxuICAgICAgICBpbnAuc2V0VmFsdWUoaXYsIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChpbnAudHlwZSA9PT0gSW5wdXRUeXBlLlNlbGVjdEF1dG9Db21wbGV0ZVBsYXF1ZSB8fCBpbnAudHlwZSA9PT0gSW5wdXRUeXBlLlNlbGVjdEF1dG9Db21wbGV0ZSl7XHJcbiAgICAgICAgY29uc3QgaXZzID0gXy5nZXQoZCwgaW5wLm5hbWUucmVwbGFjZSgnSWQnLCAnJykpO1xyXG4gICAgICAgIGlucC5zZXRTZWFyY2goaXZzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSW5wdXRDbGFzcyB7XHJcbiAgY29uc3RydWN0b3IoZW52aXJvbm1lbnQ6IGFueSwgbDogKGssIHY/KSA9PiBzdHJpbmcsIG5hbWU6IHN0cmluZywgaWNvbjogc3RyaW5nID0gbnVsbCxcclxuICAgICAgICAgICAgICB0eXBlOiBJbnB1dFR5cGUgPSBJbnB1dFR5cGUuVGV4dCwgY2xzOiBzdHJpbmcgPSAnJywgdmFsdWUgPSBudWxsLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiBib29sZWFuID0gdHJ1ZSwgbWluTGVuZ3RoID0gLTEsIG1heExlbmd0aCA9IC0xKSB7XHJcbiAgICB0aGlzLmVudmlyb25tZW50ID0gZW52aXJvbm1lbnQ7XHJcbiAgICB0aGlzLmwgPSBsO1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMubG9hZGluZ05hbWUgPSBuYW1lO1xyXG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IG5hbWU7XHJcbiAgICB0aGlzLmljb24gPSBpY29uO1xyXG4gICAgdGhpcy5jbGFzcyA9IGNscyArIChbSW5wdXRUeXBlLk1vYmlsZSwgSW5wdXRUeXBlLlBob25lLCBJbnB1dFR5cGUuUGFzc3dvcmQsIElucHV0VHlwZS5FbWFpbCwgSW5wdXRUeXBlLk51bWJlciwgSW5wdXRUeXBlLlByaWNlLFxyXG4gICAgICBJbnB1dFR5cGUuTmF0aW9uYWxDb2RlLCBJbnB1dFR5cGUuU2hlYmEsIElucHV0VHlwZS5Qb3N0YWxDb2RlLCBJbnB1dFR5cGUuRGF0ZSwgSW5wdXRUeXBlLlRpbWVdLmluY2x1ZGVzKHR5cGUpID8gJyBsdHInIDogJycpO1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuZGVmYXVsdCA9IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgPyBfLmNsb25lRGVlcCh2YWx1ZSkgOiBIZWxwZXJDbGFzcy5jbG9uZSh2YWx1ZSk7XHJcbiAgICB0aGlzLnJlcXVpcmVkID0gcmVxdWlyZWQ7XHJcbiAgICB0aGlzLm1pbkxlbmd0aCA9IHR5cGUgPT09IElucHV0VHlwZS5Nb2JpbGUgfHwgdHlwZSA9PT0gSW5wdXRUeXBlLlBob25lID8gMTEgOlxyXG4gICAgICB0eXBlID09PSBJbnB1dFR5cGUuTmF0aW9uYWxDb2RlIHx8IHR5cGUgPT09IElucHV0VHlwZS5Qb3N0YWxDb2RlID8gMTAgOlxyXG4gICAgICB0eXBlID09PSBJbnB1dFR5cGUuU2hlYmEgPyAyNCA6IG1pbkxlbmd0aDtcclxuICAgIHRoaXMubWF4TGVuZ3RoID0gdHlwZSA9PT0gSW5wdXRUeXBlLk1vYmlsZSB8fCB0eXBlID09PSBJbnB1dFR5cGUuUGhvbmUgPyAxMSA6XHJcbiAgICAgIHR5cGUgPT09IElucHV0VHlwZS5OYXRpb25hbENvZGUgfHwgdHlwZSA9PT0gSW5wdXRUeXBlLlBvc3RhbENvZGUgPyAxMCA6XHJcbiAgICAgIHR5cGUgPT09IElucHV0VHlwZS5TaGViYSA/IDI0IDogbWF4TGVuZ3RoO1xyXG4gIH1cclxuICBlbnZpcm9ubWVudDogYW55ID0gbnVsbDtcclxuICBsOiAoaywgdj8pID0+IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdXJsID0gbnVsbDtcclxuICBxdWVyeVBhcmFtcyA9IG51bGw7XHJcbiAgdXJsTmV3VGFiID0gZmFsc2U7XHJcbiAgbG9hZGluZ05hbWU6IHN0cmluZztcclxuICBwbGFjZWhvbGRlcjogc3RyaW5nID0gbnVsbDtcclxuICB0b29sdGlwOiBzdHJpbmc7XHJcbiAgaWQ6IHN0cmluZztcclxuICBpY29uOiBzdHJpbmc7XHJcbiAgYWRkTmV3ID0gZmFsc2U7XHJcbiAgY2xhc3M6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nID0gbnVsbDtcclxuICB0eXBlOiBJbnB1dFR5cGU7XHJcbiAgdmFsdWU7XHJcbiAgc2VhcmNoO1xyXG4gIGRlZmF1bHQ7XHJcbiAgcmVxdWlyZWQ6IGJvb2xlYW47XHJcbiAgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBpbkVkaXREaXNhYmxlZCA9IGZhbHNlO1xyXG4gIGluRWRpdFZpc2libGUgPSB0cnVlO1xyXG4gIGRpc3BsYXlMYWJlbCA9IHRydWU7XHJcbiAgd2l0aENsZWFyID0gZmFsc2U7XHJcbiAgbWluTGVuZ3RoID0gLTE7XHJcbiAgbWF4TGVuZ3RoID0gLTE7XHJcbiAgZXJyb3I6IElucHV0RXJyb3IgPSBudWxsO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBidXR0b24gPSBudWxsO1xyXG4gIG9uQ2xpY2tCdXR0b246ICgpID0+IHZvaWQgPSBudWxsO1xyXG4gIHByb2dyZXNzOiBQcm9ncmVzcyA9IG51bGw7XHJcbiAgb25DbGljazogKGJ0bikgPT4gdm9pZCA9IG51bGw7XHJcbiAgb25LZXlVcDogKGlucCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgb25LZXlEb3duOiAoZSkgPT4gdm9pZCA9IG51bGw7XHJcbiAgb3B0aW9uczogT3B0aW9uQ2xhc3NbXSA9IFtdO1xyXG4gIG1hdGNoOiBJbnB1dENsYXNzID0gbnVsbDtcclxuICByZWw6IElucHV0Q2xhc3MgPSBudWxsO1xyXG4gIHJlbFVybDogc3RyaW5nID0gbnVsbDtcclxuICB0YWJsZTogVGFibGVDbGFzcztcclxuICBzdHlsZSA9IHt9O1xyXG4gIHBvc2l0aW9uID0gJ2JvdHRvbSc7XHJcbiAgb25DaGFuZ2U6ICh2LCBlPykgPT4gdm9pZCA9IG51bGw7XHJcbiAgaG92ZXIgPSAtMTtcclxuICB2aXNpYmxlID0gdHJ1ZTtcclxuICBleHBvcnRQZGYgPSBmYWxzZTtcclxuICBvcGVuID0gZmFsc2U7XHJcbiAgbXVsdGlwbGUgPSBmYWxzZTtcclxuICBvbmx5Q2hpbGQgPSB0cnVlO1xyXG4gIGFsbG93ZWQgPSBudWxsO1xyXG4gIHJvdyA9IG51bGw7XHJcbiAgcm93cyA9IFtdO1xyXG4gIGluZGV4ID0gMDtcclxuICBsZXZlbCA9IG51bGw7XHJcbiAgbW9kYWw6IE1vZGFsQ2xhc3MgPSBudWxsO1xyXG4gIG5hbWVGdW46IChyKSA9PiB2b2lkID0gbnVsbDtcclxuICBvbkZvY3VzT3V0OiAoZSkgPT4gdm9pZCA9ICgpID0+IHt9O1xyXG4gIGZvY3VzKGNoYW5nZUluZGV4OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHt9XHJcbiAgY2hhbmdlVHlwZTogKHQ6IElucHV0VHlwZSkgPT4gdm9pZCA9ICgpID0+IHt9O1xyXG4gIHNldFZhbHVlOiAodiwgaXNFZGl0KSA9PiB2b2lkID0gKHYsIGlzRWRpdCkgPT4geyB0aGlzLnZhbHVlID0gdjsgfTtcclxuICBzZXRTZWFyY2g6ICh2KSA9PiB2b2lkID0gKCkgPT4ge307XHJcbiAgY2xlYXI6ICgpID0+IHZvaWQgPSAoKSA9PiB7IHRoaXMudmFsdWUgPSBudWxsOyB9O1xyXG4gIGZvY3VzT3V0OiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcbiAgZGF0YTogKCkgPT4gYW55ID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XHJcbiAgfVxyXG4gIGlzVmFsaWQ6ICgpID0+IGJvb2xlYW4gPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbiAgbG9hZCh1ID0gbnVsbCwgZG9uZTogKCkgPT4gdm9pZCA9IG51bGwpOiB2b2lke1xyXG4gICAgdSA9IHUgPyB1IDogdGhpcy51cmw7XHJcbiAgICBpZiAodSl7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IFtdO1xyXG4gICAgICB0aGlzLmhvdmVyID0gLTE7XHJcbiAgICAgIHRoaXMuaW5kZXggPSAwO1xyXG4gICAgICB0aGlzLnJvd3MgPSBbXTtcclxuICAgICAgaWYgKHR5cGVvZiB1ID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIGlmICghdS5pbmNsdWRlcygne30nKSl7XHJcbiAgICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCkuc2VuZCh1ID8gdSA6IHRoaXMudXJsLCBNZXRob2QuUG9zdCwgbnVsbCwgdGhpcywgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSBJbnB1dFR5cGUuU2VsZWN0U2VhcmNoIHx8IHRoaXMudHlwZSA9PT0gSW5wdXRUeXBlLlNlbGVjdCB8fCB0aGlzLnR5cGUgPT09IElucHV0VHlwZS5TZWxlY3RBdXRvQ29tcGxldGUgfHxcclxuICAgICAgICAgICAgICB0aGlzLnR5cGUgPT09IElucHV0VHlwZS5TZWxlY3RBdXRvQ29tcGxldGVQbGFxdWUgfHwgdGhpcy50eXBlID09PSBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlUGxhcXVlTSB8fCB0aGlzLnR5cGUgPT09IElucHV0VHlwZS5TZWxlY3RBdXRvQ29tcGxldGVQbGFxdWVGKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgciA9IHRoaXMuZ2V0T3B0aW9ucyhyZXN1bHQsIG51bGwpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHMgPSByZXN1bHQuZmluZCh4ID0+IHguU2VsZWN0ZWQpO1xyXG4gICAgICAgICAgICAgIGlmIChzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gcy5JZC50b1N0cmluZygpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLnNldE9wdGlvbnMocik7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSBJbnB1dFR5cGUuVHJlZSB8fCB0aGlzLnR5cGUgPT09IElucHV0VHlwZS5UcmVlUmFkaW8pIHtcclxuICAgICAgICAgICAgICB0aGlzLnJvd3MgPSB0aGlzLmdldFJvd3MocmVzdWx0LCBudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZG9uZSkge1xyXG4gICAgICAgICAgICAgIGRvbmUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcclxuICAgICAgICBFbnVtVXRpbHMuZ2V0S2V5c0FuZFZhbHVlcyh1KS5mb3JFYWNoKChrKSA9PiB7XHJcbiAgICAgICAgICByZXN1bHQucHVzaCh7TmFtZTogdGhpcy5sKGsua2V5KSwgSWQ6IGsudmFsdWUudG9TdHJpbmcoKX0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnN0IHIgPSB0aGlzLmdldE9wdGlvbnMocmVzdWx0LCBudWxsKTtcclxuICAgICAgICB0aGlzLnNldE9wdGlvbnMocik7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5vcHRpb25zIGluc3RhbmNlb2YgQXJyYXkpe1xyXG4gICAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCh4ID0+IHguaW5kZXggPSB0aGlzLmluZGV4KyspO1xyXG4gICAgfVxyXG4gIH1cclxuICBzZXRPcHRpb25zKHIpOiB2b2lke1xyXG4gICAgdGhpcy5vcHRpb25zID0gcjtcclxuICAgIGlmICh0aGlzLnZhbHVlICE9IG51bGwpe1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldFZhbHVlKHRoaXMudmFsdWUsIHRydWUpO1xyXG4gICAgICB9LCA1MDApO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRPcHRpb25zKHIsIHAsIHRyZWUgPSB0cnVlKTogT3B0aW9uQ2xhc3NbXXtcclxuICAgIHJldHVybiByLmZpbHRlcih4ID0+IChwID09IG51bGwgJiYgIXguUGFyZW50SWQpIHx8IHguUGFyZW50SWQgPT09IHAgfHwgIXRyZWUpXHJcbiAgICAgIC5tYXAoKHgpID0+IHtcclxuICAgICAgICBjb25zdCBvID0gbmV3IE9wdGlvbkNsYXNzKHguTmFtZSwgeC5JZC50b1N0cmluZygpKTtcclxuICAgICAgICBpZiAodGhpcy50eXBlID09PSBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlUGxhcXVlIHx8IHRoaXMudHlwZSA9PT0gSW5wdXRUeXBlLlNlbGVjdEF1dG9Db21wbGV0ZVBsYXF1ZU0gfHwgdGhpcy50eXBlID09PSBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlUGxhcXVlRiB8fCB0aGlzLm5hbWUgPT09ICdDYXJJZCcpe1xyXG4gICAgICAgICAgY29uc3QgdG4gPSBvLm5hbWUuc3BsaXQoJ18nKTtcclxuICAgICAgICAgIGlmICh0bi5sZW5ndGggPT09IDQpe1xyXG4gICAgICAgICAgICB0blsxXSArPSAnJmxybTsnO1xyXG4gICAgICAgICAgICB0blsyXSArPSAnIHwnO1xyXG4gICAgICAgICAgICBvLm5hbWUgPSB0bi5qb2luKCcgJyk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRuLmxlbmd0aCA9PT0gMil7XHJcbiAgICAgICAgICAgIG8ubmFtZSA9IHRuLmpvaW4oJyAnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgby5zZWFyY2ggPSB4LlNlYXJjaDtcclxuICAgICAgICBvLm9wdGlvbiA9IHg7XHJcbiAgICAgICAgby5pbmRleCA9IHRoaXMuaW5kZXgrKztcclxuICAgICAgICBvLm9wdGlvbnMgPSB0cmVlID8gdGhpcy5nZXRPcHRpb25zKHIsIHguSWQpIDogW107XHJcbiAgICAgICAgcmV0dXJuIG87XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBnZXRSb3dzKHIsIHApOiBUcmVlUm93Q2xhc3NbXXtcclxuICAgIGNvbnN0IGwgPSBbXTtcclxuICAgIHIuZmlsdGVyKHggPT4gKHAgPT0gbnVsbCAmJiAheC5QYXJlbnRJZCkgfHwgeC5QYXJlbnRJZCA9PT0gcCkuZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICBsZXQgYyA9IHRoaXMuZ2V0Um93cyhyLCB4LklkKTtcclxuICAgICAgYyA9IGMubGVuZ3RoID4gMCA/IGMgOiB4LkNoaWxkcmVuID8geC5DaGlsZHJlbi5tYXAoYSA9PiBuZXcgVHJlZVJvd0NsYXNzKGEuTmFtZSwgYS5JZCwgYS5TZWxlY3RlZCkpIDogW107XHJcbiAgICAgIGxldCBzID0geC5TZWxlY3RlZCA9PT0gdHJ1ZTtcclxuICAgICAgaWYgKHRoaXMub25seUNoaWxkKXtcclxuICAgICAgICBzID0gYy5sZW5ndGggPT09IDAgPyB4LlNlbGVjdGVkIDogKGMuZmluZCh5ID0+IHkuc2VsZWN0ZWQgPT09IGZhbHNlIHx8IHkuc2VsZWN0ZWQgPT09IG51bGwpID09IG51bGwgPyB0cnVlIDpcclxuICAgICAgICAgIChjLmZpbmQoeSA9PiB5LnNlbGVjdGVkID09PSB0cnVlIHx8IHkuc2VsZWN0ZWQgPT09IG51bGwpICE9IG51bGwgPyBudWxsIDogZmFsc2UpKTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBuID0gdGhpcy5uYW1lRnVuID8gdGhpcy5uYW1lRnVuKHgpIDogeC5OYW1lO1xyXG4gICAgICBsLnB1c2gobmV3IFRyZWVSb3dDbGFzcyhuLCB4LklkLCBzLCBjKSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBsO1xyXG4gIH1cclxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEhlbHBlckNsYXNzLmdldExhYmVsKHRoaXMpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE9wdGlvbkNsYXNzIHtcclxuICBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIG9wdGlvbnM6IE9wdGlvbkNsYXNzW10gPSBbXSwgY2xzOiBzdHJpbmcgPSBudWxsKSB7XHJcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIHRoaXMuY2xhc3MgPSBjbHM7XHJcbiAgfVxyXG4gIG9wdGlvbjtcclxuICBzZWFyY2g6IHN0cmluZztcclxuICBjbGFzczogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nO1xyXG4gIGluZGV4OiBudW1iZXI7XHJcbiAgc2hvdyA9IHRydWU7XHJcbiAgc2VsZWN0ZWQgPSBmYWxzZTtcclxuICBwYXJlbnQ6IE9wdGlvbkNsYXNzID0gbnVsbDtcclxuICBvcHRpb25zOiBPcHRpb25DbGFzc1tdO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxufVxyXG5leHBvcnQgY2xhc3MgRGF5Q2xhc3Mge1xyXG4gIGNvbnN0cnVjdG9yKGRheTogbnVtYmVyLCB0b2RheTogYm9vbGVhbiwgc2VsZWN0ZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZGF5ID0gZGF5O1xyXG4gICAgdGhpcy50b2RheSA9IHRvZGF5O1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gIH1cclxuICBkYXk6IG51bWJlcjtcclxuICB0b2RheTogYm9vbGVhbjtcclxuICBzZWxlY3RlZDogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgVHJlZVJvd0NsYXNzIHtcclxuICBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2UsIGNoaWxkcmVuOiBUcmVlUm93Q2xhc3NbXSA9IFtdKSB7XHJcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgdGhpcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xyXG4gIH1cclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICBzZWxlY3RlZDogYm9vbGVhbjtcclxuICBwYXJlbnQ6IFRyZWVSb3dDbGFzcztcclxuICBjaGlsZHJlbjogVHJlZVJvd0NsYXNzW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25DbGFzcyB7XHJcbiAgY29uc3RydWN0b3IobDogKGssIHY/KSA9PiBzdHJpbmcsIG5hbWU6IHN0cmluZywgY2xzOiBzdHJpbmcgPSAnJywgcm93czogQWNjb3JkaW9uUm93Q2xhc3NbXSkge1xyXG4gICAgdGhpcy5sID0gbDtcclxuICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICB0aGlzLmNsYXNzID0gY2xzO1xyXG4gICAgdGhpcy5yb3dzID0gcm93cztcclxuICB9XHJcbiAgbDogKGssIHY/KSA9PiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGNsYXNzOiBzdHJpbmc7XHJcbiAgcm93czogQWNjb3JkaW9uUm93Q2xhc3NbXTtcclxuICBoYXNEZWxldGUgPSBmYWxzZTtcclxuICBkaXNwbGF5TGFiZWwgPSBmYWxzZTtcclxuICBsb2FkaW5nID0gZmFsc2U7XHJcbiAgb25EZWxldGU6IChyb3cpID0+IHZvaWQgPSBudWxsO1xyXG4gIGNoZWNrKCk6IGJvb2xlYW57XHJcbiAgICBmb3IgKGNvbnN0IHJvdyBvZiB0aGlzLnJvd3Mpe1xyXG4gICAgICBpZiAoIXJvdy5mb3JtLmNoZWNrKCkpe1xyXG4gICAgICAgIHJvdy5vcGVuKCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25Sb3dDbGFzcyB7XHJcbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nLCBmb3JtOiBGb3JtQ2xhc3MgPSBudWxsLCB0YWJsZTogVGFibGVDbGFzcyA9IG51bGwpIHtcclxuICAgIHRoaXMuaWQgPSBpZDtcclxuICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICB0aGlzLmZvcm0gPSBmb3JtO1xyXG4gICAgdGhpcy50YWJsZSA9IHRhYmxlO1xyXG4gIH1cclxuICBpZDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBzaG93ID0gdHJ1ZTtcclxuICBmb3JtOiBGb3JtQ2xhc3M7XHJcbiAgdGFibGU6IFRhYmxlQ2xhc3M7XHJcbiAgdG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICQoJyNBY2NvcmRpb25Sb3cnICsgdGhpcy5pZCArICcgPiAuaGVhZGVyJykuY2xpY2soKTtcclxuICAgIH0sIDEwMCk7XHJcbiAgfVxyXG4gIG9wZW4oKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKCEkKCcjQWNjb3JkaW9uUm93JyArIHRoaXMuaWQgKyAnID4gLmNvbnRlbnQnKS5oYXNDbGFzcygnb3BlbicpKXtcclxuICAgICAgICAkKCcjQWNjb3JkaW9uUm93JyArIHRoaXMuaWQgKyAnID4gLmhlYWRlcicpLmNsaWNrKCk7XHJcbiAgICAgIH1cclxuICAgIH0sIDEwMCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -11,7 +11,7 @@ export class FormCarSearchComponent {
11
11
  ngOnInit() {
12
12
  this.car = new InputClass(this.inp.environment, this.inp.l, this.inp.name + 'Item', 'fa-user', InputType.SelectAutoCompletePlaque, 'plaque-inp');
13
13
  this.motor = new InputClass(this.inp.environment, this.inp.l, this.inp.name + 'Item', 'fa-motorcycle', InputType.SelectAutoCompletePlaqueM, 'plaque-inp');
14
- this.carF = new InputClass(this.inp.environment, this.inp.l, this.inp.name + 'Item', 'fa-earth-asia', InputType.SelectAutoCompletePlaqueM, 'plaque-inp');
14
+ this.carF = new InputClass(this.inp.environment, this.inp.l, this.inp.name + 'Item', 'fa-earth-asia', InputType.SelectAutoCompletePlaqueF, 'plaque-inp');
15
15
  this.driver = new InputClass(this.inp.environment, this.inp.l, this.inp.name + 'Item', null, InputType.SelectAutoComplete, 'plaque-inp');
16
16
  this.driver.placeholder = this.inp.l('DriverName');
17
17
  this.fingerprint = new InputClass(this.inp.environment, this.inp.l, this.inp.name + 'Item', null, InputType.Select, 'plaque-inp');
@@ -160,16 +160,13 @@ export class FormCarSearchComponent {
160
160
  };
161
161
  }
162
162
  this.car.url = this.motor.url = this.carF.url = this.driver.url = this.inp.url.replace('_{}', '_' + this.type);
163
+ this.onFocusIn();
163
164
  }
164
165
  onFocusIn() {
165
- if (this.type === 'Car') {
166
- this.car.focus();
167
- }
168
- else if (this.type === 'Motor') {
169
- this.motor.focus();
170
- }
171
- else if (this.type === 'CarF') {
172
- this.carF.focus();
166
+ if (this.type === 'Car' || this.type === 'Motor' || this.type === 'CarF') {
167
+ setTimeout(() => {
168
+ $('#Part1Input .control').focus();
169
+ }, 100);
173
170
  }
174
171
  else if (this.type === 'Driver') {
175
172
  this.driver.focus();
@@ -192,4 +189,4 @@ FormCarSearchComponent.propDecorators = {
192
189
  changeIndex: [{ type: Output }],
193
190
  inputDiv: [{ type: ViewChild, args: ['inputDiv',] }]
194
191
  };
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jYXIuc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qcm9qZWN0cy9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9mb3JtL2Nhci9zZWFyY2gvZm9ybS5jYXIuc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBZ0IsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzFELE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBTzdELE1BQU0sT0FBTyxzQkFBc0I7SUFhakM7UUFUQSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQU1iLFdBQU0sR0FBRyxJQUFJLENBQUM7SUFHZCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUNoRixTQUFTLEVBQUUsU0FBUyxDQUFDLHdCQUF3QixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUNsRixlQUFlLEVBQUUsU0FBUyxDQUFDLHlCQUF5QixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUNqRixlQUFlLEVBQUUsU0FBUyxDQUFDLHlCQUF5QixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUNuRixJQUFJLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2xJLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUM1SSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJ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OzBCQUVMLE1BQU07dUJBU04sU0FBUyxTQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJbnB1dENsYXNzfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQge0lucHV0RXJyb3IsIElucHV0VHlwZX0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtIZWxwZXJDbGFzc30gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9oZWxwZXIuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZm9ybS1jYXItc2VhcmNoJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS5jYXIuc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb3JtLmNhci5zZWFyY2guY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtQ2FyU2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIGlucDogSW5wdXRDbGFzcztcclxuICBAT3V0cHV0KClcclxuICBjaGFuZ2VJbmRleCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIHR5cGUgPSAnQ2FyJztcclxuICBjYXI6IElucHV0Q2xhc3M7XHJcbiAgbW90b3I6IElucHV0Q2xhc3M7XHJcbiAgY2FyRjogSW5wdXRDbGFzcztcclxuICBkcml2ZXI6IElucHV0Q2xhc3M7XHJcbiAgZmluZ2VycHJpbnQ6IElucHV0Q2xhc3M7XHJcbiAgd3NBdXRoID0gbnVsbDtcclxuICBAVmlld0NoaWxkKCdpbnB1dERpdicpIGlucHV0RGl2OiBFbGVtZW50UmVmO1xyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYXIgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmlucC5lbnZpcm9ubWVudCwgdGhpcy5pbnAubCwgdGhpcy5pbnAubmFtZSArICdJdGVtJyxcclxuICAgICAgJ2ZhLXVzZXInLCBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlUGxhcXVlLCAncGxhcXVlLWlucCcpO1xyXG4gICAgdGhpcy5tb3RvciA9IG5ldyBJbnB1dENsYXNzKHRoaXMuaW5wLmVudmlyb25tZW50LCB0aGlzLmlucC5sLCB0aGlzLmlucC5uYW1lICsgJ0l0ZW0nLFxyXG4gICAgICAnZmEtbW90b3JjeWNsZScsIElucHV0VHlwZS5TZWxlY3RBdXRvQ29tcGxldGVQbGFxdWVNLCAncGxhcXVlLWlucCcpO1xyXG4gICAgdGhpcy5jYXJGID0gbmV3IElucHV0Q2xhc3ModGhpcy5pbnAuZW52aXJvbm1lbnQsIHRoaXMuaW5wLmwsIHRoaXMuaW5wLm5hbWUgKyAnSXRlbScsXHJcbiAgICAgICdmYS1lYXJ0aC1hc2lhJywgSW5wdXRUeXBlLlNlbGVjdEF1dG9Db21wbGV0ZVBsYXF1ZU0sICdwbGFxdWUtaW5wJyk7XHJcbiAgICB0aGlzLmRyaXZlciA9IG5ldyBJbnB1dENsYXNzKHRoaXMuaW5wLmVudmlyb25tZW50LCB0aGlzLmlucC5sLCB0aGlzLmlucC5uYW1lICsgJ0l0ZW0nLFxyXG4gICAgICBudWxsLCBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlLCAncGxhcXVlLWlucCcpO1xyXG4gICAgdGhpcy5kcml2ZXIucGxhY2Vob2xkZXIgPSB0aGlzLmlucC5sKCdEcml2ZXJOYW1lJyk7XHJcbiAgICB0aGlzLmZpbmdlcnByaW50ID0gbmV3IElucHV0Q2xhc3ModGhpcy5pbnAuZW52aXJvbm1lbnQsIHRoaXMuaW5wLmwsIHRoaXMuaW5wLm5hbWUgKyAnSXRlbScsIG51bGwsIElucHV0VHlwZS5TZWxlY3QsICdwbGFxdWUtaW5wJyk7XHJcbiAgICB0aGlzLmNhci5kaXNwbGF5TGFiZWwgPSB0aGlzLm1vdG9yLmRpc3BsYXlMYWJlbCA9IHRoaXMuY2FyRi5kaXNwbGF5TGFiZWwgPSB0aGlzLmRyaXZlci5kaXNwbGF5TGFiZWwgPSB0aGlzLmZpbmdlcnByaW50LmRpc3BsYXlMYWJlbCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYXIudXJsID0gdGhpcy5tb3Rvci51cmwgPSB0aGlzLmNhckYudXJsID0gdGhpcy5kcml2ZXIudXJsID0gdGhpcy5pbnAudXJsLnJlcGxhY2UoJ197fScsICdfJyArIHRoaXMudHlwZSk7XHJcbiAgICB0aGlzLmNhci5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgdGhpcy5jaGFuZ2VJbmRleC5lbWl0KCdUYWInKTtcclxuICAgICAgaWYgKHRoaXMuaW5wLm9uQ2hhbmdlKXtcclxuICAgICAgICB0aGlzLmlucC5vbkNoYW5nZSh0aGlzLmNhci5kYXRhKCkpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5tb3Rvci5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgdGhpcy5jaGFuZ2VJbmRleC5lbWl0KCdUYWInKTtcclxuICAgICAgaWYgKHRoaXMuaW5wLm9uQ2hhbmdlKXtcclxuICAgICAgICB0aGlzLmlucC5vbkNoYW5nZSh0aGlzLm1vdG9yLmRhdGEoKSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLmNhckYub25DaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdCgnVGFiJyk7XHJcbiAgICAgIGlmICh0aGlzLmlucC5vbkNoYW5nZSl7XHJcbiAgICAgICAgdGhpcy5pbnAub25DaGFuZ2UodGhpcy5jYXJGLmRhdGEoKSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLmRyaXZlci5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgdGhpcy5jaGFuZ2VJbmRleC5lbWl0KCdUYWInKTtcclxuICAgICAgaWYgKHRoaXMuaW5wLm9uQ2hhbmdlKXtcclxuICAgICAgICB0aGlzLmlucC5vbkNoYW5nZSh0aGlzLmRyaXZlci5kYXRhKCkpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5maW5nZXJwcmludC5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgdGhpcy5jaGFuZ2VJbmRleC5lbWl0KCdUYWInKTtcclxuICAgICAgaWYgKHRoaXMuaW5wLm9uQ2hhbmdlKXtcclxuICAgICAgICB0aGlzLmlucC5vbkNoYW5nZSh0aGlzLmZpbmdlcnByaW50LmRhdGEoKSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLmZpbmdlcnByaW50LmRpc2FibGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuZmluZ2VycHJpbnQucGxhY2Vob2xkZXIgPSB0aGlzLmlucC5sKCdMb2FkaW5nVGV4dCcsICdXYWl0aW5nJyk7XHJcbiAgICB0aGlzLmlucC5zZXRWYWx1ZSA9ICh2KSA9PiB7XHJcbiAgICAgIGlmICh2ICE9IG51bGwpe1xyXG4gICAgICAgIGlmICh2LlNlYXJjaCAmJiB2LlNlYXJjaC5zcGxpdCgnXycpLmxlbmd0aCA9PT0gMiAmJiB2LnNwbGl0KCdfJykuZXZlcnkoeCA9PiAvXlswLTldKyQvLnRlc3QoeCkpKXtcclxuICAgICAgICAgIHRoaXMudHlwZSA9ICdNb3Rvcic7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tb3Rvci5zZXRWYWx1ZSh2LlZhbHVlLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMubW90b3Iuc2V0U2VhcmNoKHYuU2VhcmNoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodi5TZWFyY2ggJiYgdi5TZWFyY2guc3BsaXQoJ18nKS5sZW5ndGggPT09IDIpe1xyXG4gICAgICAgICAgdGhpcy50eXBlID0gJ0NhckYnO1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FyRi5zZXRWYWx1ZSh2LlZhbHVlLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY2FyRi5zZXRTZWFyY2godi5TZWFyY2gpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh2LlNlYXJjaCAmJiB2LlNlYXJjaC5zcGxpdCgnXycpLmxlbmd0aCA9PT0gNCl7XHJcbiAgICAgICAgICB0aGlzLnR5cGUgPSAnQ2FyJztcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNhci5zZXRWYWx1ZSh2LlZhbHVlLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY2FyLnNldFNlYXJjaCh2LlNlYXJjaCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5mb2N1cyA9ICgpID0+IHtcclxuICAgICAgdGhpcy5vbkZvY3VzSW4oKTtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5pc1ZhbGlkID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmlucC5lcnJvciA9IG51bGw7XHJcbiAgICAgIGlmICh0aGlzLmlucC5yZXF1aXJlZCAmJiB0aGlzLnR5cGUgPT09ICdDYXInICYmICF0aGlzLmNhci5pc1ZhbGlkKCkpIHtcclxuICAgICAgICB0aGlzLmlucC5lcnJvciA9IElucHV0RXJyb3IuUmVxdWlyZWQ7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmlucC5yZXF1aXJlZCAmJiB0aGlzLnR5cGUgPT09ICdNb3RvcicgJiYgIXRoaXMubW90b3IuaXNWYWxpZCgpKSB7XHJcbiAgICAgICAgdGhpcy5pbnAuZXJyb3IgPSBJbnB1dEVycm9yLlJlcXVpcmVkO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pbnAucmVxdWlyZWQgJiYgdGhpcy50eXBlID09PSAnQ2FyRicgJiYgIXRoaXMuY2FyRi5pc1ZhbGlkKCkpIHtcclxuICAgICAgICB0aGlzLmlucC5lcnJvciA9IElucHV0RXJyb3IuUmVxdWlyZWQ7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmlucC5yZXF1aXJlZCAmJiB0aGlzLnR5cGUgPT09ICdEcml2ZXInICYmICF0aGlzLmRyaXZlci5pc1ZhbGlkKCkpIHtcclxuICAgICAgICB0aGlzLmlucC5lcnJvciA9IElucHV0RXJyb3IuUmVxdWlyZWQ7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmlucC5yZXF1aXJlZCAmJiB0aGlzLnR5cGUgPT09ICdGaW5nZXJwcmludCcgJiYgIXRoaXMuZmluZ2VycHJpbnQuaXNWYWxpZCgpKSB7XHJcbiAgICAgICAgdGhpcy5pbnAuZXJyb3IgPSBJbnB1dEVycm9yLlJlcXVpcmVkO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH07XHJcbiAgICB0aGlzLmlucC5jbGVhciA9ICgpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICB0aGlzLmlucC5zZXRWYWx1ZShudWxsLCBmYWxzZSk7XHJcbiAgICAgIHRoaXMudHlwZSA9ICdDYXInO1xyXG4gICAgICB0aGlzLmNhci5jbGVhcigpO1xyXG4gICAgICB0aGlzLm1vdG9yLmNsZWFyKCk7XHJcbiAgICAgIHRoaXMuY2FyRi5jbGVhcigpO1xyXG4gICAgICB0aGlzLmRyaXZlci5jbGVhcigpO1xyXG4gICAgICB0aGlzLmZpbmdlcnByaW50LmNsZWFyKCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuZGF0YSA9ICgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ0NhcicgPyB0aGlzLmNhci5kYXRhKCkgOlxyXG4gICAgICAgIHRoaXMudHlwZSA9PT0gJ01vdG9yJyA/IHRoaXMubW90b3IuZGF0YSgpIDpcclxuICAgICAgICB0aGlzLnR5cGUgPT09ICdDYXJGJyA/IHRoaXMuY2FyRi5kYXRhKCkgOlxyXG4gICAgICAgIHRoaXMudHlwZSA9PT0gJ0RyaXZlcicgPyB0aGlzLmRyaXZlci5kYXRhKCkgOlxyXG4gICAgICAgIHRoaXMudHlwZSA9PT0gJ0ZpbmdlcnByaW50JyA/IHRoaXMuZmluZ2VycHJpbnQuZGF0YSgpIDogbnVsbDtcclxuICAgIH07XHJcbiAgfVxyXG4gIGNoYW5nZVR5cGUodDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnR5cGUgPSB0O1xyXG4gICAgaWYgKHQgPT09ICdGaW5nZXJwcmludCcpe1xyXG4gICAgICB0aGlzLmZpbmdlcnByaW50LmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLmZpbmdlcnByaW50LnBsYWNlaG9sZGVyID0gdGhpcy5pbnAubCgnTG9hZGluZ1RleHQnLCAnV2FpdGluZycpO1xyXG4gICAgICB0aGlzLmZpbmdlcnByaW50LnZhbHVlID0gbnVsbDtcclxuICAgICAgdGhpcy5maW5nZXJwcmludC5zZWFyY2ggPSBudWxsO1xyXG4gICAgICB0aGlzLndzQXV0aCA9IG5ldyBXZWJTb2NrZXQoJ3dzOi8vbG9jYWxob3N0Ojc4OTAvQXV0aCcpO1xyXG4gICAgICB0aGlzLndzQXV0aC5vbm9wZW4gPSAoKSA9PiB7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLndzQXV0aC5vbm1lc3NhZ2UgPSAoZXZ0KSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMud3NBdXRoICE9IG51bGwpe1xyXG4gICAgICAgICAgdGhpcy53c0F1dGguY2xvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGV2dC5kYXRhID09PSAnTm90Zm91bmQnKXtcclxuICAgICAgICAgIEhlbHBlckNsYXNzLmFkZE5vdGlmaWNhdGlvbih0aGlzLmlucC5sKCdOb3Rmb3VuZFRpdGxlJykpO1xyXG4gICAgICAgICAgdGhpcy5maW5nZXJwcmludC5wbGFjZWhvbGRlciA9IHRoaXMuaW5wLmwoJ05vdGZvdW5kVGl0bGUnKTtcclxuICAgICAgICAgIHRoaXMuZmluZ2VycHJpbnQudmFsdWUgPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5maW5nZXJwcmludC5zZWFyY2ggPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5maW5nZXJwcmludC5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIGlmIChldnQuZGF0YS5zdGFydHNXaXRoKCdFcnJvcicpKXtcclxuICAgICAgICAgIEhlbHBlckNsYXNzLmFkZE5vdGlmaWNhdGlvbihldnQuZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLmZpbmdlcnByaW50LnBsYWNlaG9sZGVyID0gdGhpcy5pbnAubCgnTm90Zm91bmRUaXRsZScpO1xyXG4gICAgICAgICAgdGhpcy5maW5nZXJwcmludC52YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLmZpbmdlcnByaW50LnNlYXJjaCA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLmZpbmdlcnByaW50LmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgdXNlciA9IEpTT04ucGFyc2UoZXZ0LmRhdGEpO1xyXG4gICAgICAgICAgdGhpcy5maW5nZXJwcmludC52YWx1ZSA9IHVzZXIuSWQ7XHJcbiAgICAgICAgICB0aGlzLmZpbmdlcnByaW50LnNlYXJjaCA9IHVzZXIuTmFtZTtcclxuICAgICAgICAgIHRoaXMuZmluZ2VycHJpbnQubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLndzQXV0aC5jbG9zZSgpO1xyXG4gICAgICAgIHRoaXMud3NBdXRoID0gbnVsbDtcclxuICAgICAgfTtcclxuICAgICAgdGhpcy53c0F1dGgub25jbG9zZSA9ICgpID0+IHtcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHRoaXMuY2FyLnVybCA9IHRoaXMubW90b3IudXJsID0gdGhpcy5jYXJGLnVybCA9IHRoaXMuZHJpdmVyLnVybCA9IHRoaXMuaW5wLnVybC5yZXBsYWNlKCdfe30nLCAnXycgKyB0aGlzLnR5cGUpO1xyXG4gIH1cclxuICBvbkZvY3VzSW4oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSAnQ2FyJyl7XHJcbiAgICAgIHRoaXMuY2FyLmZvY3VzKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ01vdG9yJyl7XHJcbiAgICAgIHRoaXMubW90b3IuZm9jdXMoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnQ2FyRicpe1xyXG4gICAgICB0aGlzLmNhckYuZm9jdXMoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnRHJpdmVyJyl7XHJcbiAgICAgIHRoaXMuZHJpdmVyLmZvY3VzKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ0ZpbmdlcnByaW50Jyl7XHJcbiAgICAgIHRoaXMuZmluZ2VycHJpbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jYXIuc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qcm9qZWN0cy9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9mb3JtL2Nhci9zZWFyY2gvZm9ybS5jYXIuc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBZ0IsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzFELE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBTzdELE1BQU0sT0FBTyxzQkFBc0I7SUFhakM7UUFUQSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQU1iLFdBQU0sR0FBRyxJQUFJLENBQUM7SUFHZCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUNoRixTQUFTLEVBQUUsU0FBUyxDQUFDLHdCQUF3QixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUNsRixlQUFlLEVBQUUsU0FBUyxDQUFDLHlCQUF5QixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUNqRixlQUFlLEVBQUUsU0FBUyxDQUFDLHlCQUF5QixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUNuRixJQUFJLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2xJLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUM1SSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJ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QVMsU0FBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SW5wdXRDbGFzc30gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9mb3JtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dEVycm9yLCBJbnB1dFR5cGV9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7SGVscGVyQ2xhc3N9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvaGVscGVyLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWZvcm0tY2FyLXNlYXJjaCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uY2FyLnNlYXJjaC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5jYXIuc2VhcmNoLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUNhclNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICBpbnA6IElucHV0Q2xhc3M7XHJcbiAgQE91dHB1dCgpXHJcbiAgY2hhbmdlSW5kZXggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICB0eXBlID0gJ0Nhcic7XHJcbiAgY2FyOiBJbnB1dENsYXNzO1xyXG4gIG1vdG9yOiBJbnB1dENsYXNzO1xyXG4gIGNhckY6IElucHV0Q2xhc3M7XHJcbiAgZHJpdmVyOiBJbnB1dENsYXNzO1xyXG4gIGZpbmdlcnByaW50OiBJbnB1dENsYXNzO1xyXG4gIHdzQXV0aCA9IG51bGw7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXREaXYnKSBpbnB1dERpdjogRWxlbWVudFJlZjtcclxuICBjb25zdHJ1Y3Rvcigpe1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FyID0gbmV3IElucHV0Q2xhc3ModGhpcy5pbnAuZW52aXJvbm1lbnQsIHRoaXMuaW5wLmwsIHRoaXMuaW5wLm5hbWUgKyAnSXRlbScsXHJcbiAgICAgICdmYS11c2VyJywgSW5wdXRUeXBlLlNlbGVjdEF1dG9Db21wbGV0ZVBsYXF1ZSwgJ3BsYXF1ZS1pbnAnKTtcclxuICAgIHRoaXMubW90b3IgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmlucC5lbnZpcm9ubWVudCwgdGhpcy5pbnAubCwgdGhpcy5pbnAubmFtZSArICdJdGVtJyxcclxuICAgICAgJ2ZhLW1vdG9yY3ljbGUnLCBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlUGxhcXVlTSwgJ3BsYXF1ZS1pbnAnKTtcclxuICAgIHRoaXMuY2FyRiA9IG5ldyBJbnB1dENsYXNzKHRoaXMuaW5wLmVudmlyb25tZW50LCB0aGlzLmlucC5sLCB0aGlzLmlucC5uYW1lICsgJ0l0ZW0nLFxyXG4gICAgICAnZmEtZWFydGgtYXNpYScsIElucHV0VHlwZS5TZWxlY3RBdXRvQ29tcGxldGVQbGFxdWVGLCAncGxhcXVlLWlucCcpO1xyXG4gICAgdGhpcy5kcml2ZXIgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmlucC5lbnZpcm9ubWVudCwgdGhpcy5pbnAubCwgdGhpcy5pbnAubmFtZSArICdJdGVtJyxcclxuICAgICAgbnVsbCwgSW5wdXRUeXBlLlNlbGVjdEF1dG9Db21wbGV0ZSwgJ3BsYXF1ZS1pbnAnKTtcclxuICAgIHRoaXMuZHJpdmVyLnBsYWNlaG9sZGVyID0gdGhpcy5pbnAubCgnRHJpdmVyTmFtZScpO1xyXG4gICAgdGhpcy5maW5nZXJwcmludCA9IG5ldyBJbnB1dENsYXNzKHRoaXMuaW5wLmVudmlyb25tZW50LCB0aGlzLmlucC5sLCB0aGlzLmlucC5uYW1lICsgJ0l0ZW0nLCBudWxsLCBJbnB1dFR5cGUuU2VsZWN0LCAncGxhcXVlLWlucCcpO1xyXG4gICAgdGhpcy5jYXIuZGlzcGxheUxhYmVsID0gdGhpcy5tb3Rvci5kaXNwbGF5TGFiZWwgPSB0aGlzLmNhckYuZGlzcGxheUxhYmVsID0gdGhpcy5kcml2ZXIuZGlzcGxheUxhYmVsID0gdGhpcy5maW5nZXJwcmludC5kaXNwbGF5TGFiZWwgPSBmYWxzZTtcclxuICAgIHRoaXMuY2FyLnVybCA9IHRoaXMubW90b3IudXJsID0gdGhpcy5jYXJGLnVybCA9IHRoaXMuZHJpdmVyLnVybCA9IHRoaXMuaW5wLnVybC5yZXBsYWNlKCdfe30nLCAnXycgKyB0aGlzLnR5cGUpO1xyXG4gICAgdGhpcy5jYXIub25DaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdCgnVGFiJyk7XHJcbiAgICAgIGlmICh0aGlzLmlucC5vbkNoYW5nZSl7XHJcbiAgICAgICAgdGhpcy5pbnAub25DaGFuZ2UodGhpcy5jYXIuZGF0YSgpKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMubW90b3Iub25DaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdCgnVGFiJyk7XHJcbiAgICAgIGlmICh0aGlzLmlucC5vbkNoYW5nZSl7XHJcbiAgICAgICAgdGhpcy5pbnAub25DaGFuZ2UodGhpcy5tb3Rvci5kYXRhKCkpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5jYXJGLm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmNoYW5nZUluZGV4LmVtaXQoJ1RhYicpO1xyXG4gICAgICBpZiAodGhpcy5pbnAub25DaGFuZ2Upe1xyXG4gICAgICAgIHRoaXMuaW5wLm9uQ2hhbmdlKHRoaXMuY2FyRi5kYXRhKCkpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5kcml2ZXIub25DaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdCgnVGFiJyk7XHJcbiAgICAgIGlmICh0aGlzLmlucC5vbkNoYW5nZSl7XHJcbiAgICAgICAgdGhpcy5pbnAub25DaGFuZ2UodGhpcy5kcml2ZXIuZGF0YSgpKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuZmluZ2VycHJpbnQub25DaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2hhbmdlSW5kZXguZW1pdCgnVGFiJyk7XHJcbiAgICAgIGlmICh0aGlzLmlucC5vbkNoYW5nZSl7XHJcbiAgICAgICAgdGhpcy5pbnAub25DaGFuZ2UodGhpcy5maW5nZXJwcmludC5kYXRhKCkpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5maW5nZXJwcmludC5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICB0aGlzLmZpbmdlcnByaW50LnBsYWNlaG9sZGVyID0gdGhpcy5pbnAubCgnTG9hZGluZ1RleHQnLCAnV2FpdGluZycpO1xyXG4gICAgdGhpcy5pbnAuc2V0VmFsdWUgPSAodikgPT4ge1xyXG4gICAgICBpZiAodiAhPSBudWxsKXtcclxuICAgICAgICBpZiAodi5TZWFyY2ggJiYgdi5TZWFyY2guc3BsaXQoJ18nKS5sZW5ndGggPT09IDIgJiYgdi5zcGxpdCgnXycpLmV2ZXJ5KHggPT4gL15bMC05XSskLy50ZXN0KHgpKSl7XHJcbiAgICAgICAgICB0aGlzLnR5cGUgPSAnTW90b3InO1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubW90b3Iuc2V0VmFsdWUodi5WYWx1ZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLm1vdG9yLnNldFNlYXJjaCh2LlNlYXJjaCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKHYuU2VhcmNoICYmIHYuU2VhcmNoLnNwbGl0KCdfJykubGVuZ3RoID09PSAyKXtcclxuICAgICAgICAgIHRoaXMudHlwZSA9ICdDYXJGJztcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNhckYuc2V0VmFsdWUodi5WYWx1ZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLmNhckYuc2V0U2VhcmNoKHYuU2VhcmNoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodi5TZWFyY2ggJiYgdi5TZWFyY2guc3BsaXQoJ18nKS5sZW5ndGggPT09IDQpe1xyXG4gICAgICAgICAgdGhpcy50eXBlID0gJ0Nhcic7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jYXIuc2V0VmFsdWUodi5WYWx1ZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLmNhci5zZXRTZWFyY2godi5TZWFyY2gpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuZm9jdXMgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMub25Gb2N1c0luKCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuaXNWYWxpZCA9ICgpID0+IHtcclxuICAgICAgdGhpcy5pbnAuZXJyb3IgPSBudWxsO1xyXG4gICAgICBpZiAodGhpcy5pbnAucmVxdWlyZWQgJiYgdGhpcy50eXBlID09PSAnQ2FyJyAmJiAhdGhpcy5jYXIuaXNWYWxpZCgpKSB7XHJcbiAgICAgICAgdGhpcy5pbnAuZXJyb3IgPSBJbnB1dEVycm9yLlJlcXVpcmVkO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pbnAucmVxdWlyZWQgJiYgdGhpcy50eXBlID09PSAnTW90b3InICYmICF0aGlzLm1vdG9yLmlzVmFsaWQoKSkge1xyXG4gICAgICAgIHRoaXMuaW5wLmVycm9yID0gSW5wdXRFcnJvci5SZXF1aXJlZDtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaW5wLnJlcXVpcmVkICYmIHRoaXMudHlwZSA9PT0gJ0NhckYnICYmICF0aGlzLmNhckYuaXNWYWxpZCgpKSB7XHJcbiAgICAgICAgdGhpcy5pbnAuZXJyb3IgPSBJbnB1dEVycm9yLlJlcXVpcmVkO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pbnAucmVxdWlyZWQgJiYgdGhpcy50eXBlID09PSAnRHJpdmVyJyAmJiAhdGhpcy5kcml2ZXIuaXNWYWxpZCgpKSB7XHJcbiAgICAgICAgdGhpcy5pbnAuZXJyb3IgPSBJbnB1dEVycm9yLlJlcXVpcmVkO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pbnAucmVxdWlyZWQgJiYgdGhpcy50eXBlID09PSAnRmluZ2VycHJpbnQnICYmICF0aGlzLmZpbmdlcnByaW50LmlzVmFsaWQoKSkge1xyXG4gICAgICAgIHRoaXMuaW5wLmVycm9yID0gSW5wdXRFcnJvci5SZXF1aXJlZDtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5pbnAuY2xlYXIgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5wLmVycm9yID0gbnVsbDtcclxuICAgICAgdGhpcy5pbnAuc2V0VmFsdWUobnVsbCwgZmFsc2UpO1xyXG4gICAgICB0aGlzLnR5cGUgPSAnQ2FyJztcclxuICAgICAgdGhpcy5jYXIuY2xlYXIoKTtcclxuICAgICAgdGhpcy5tb3Rvci5jbGVhcigpO1xyXG4gICAgICB0aGlzLmNhckYuY2xlYXIoKTtcclxuICAgICAgdGhpcy5kcml2ZXIuY2xlYXIoKTtcclxuICAgICAgdGhpcy5maW5nZXJwcmludC5jbGVhcigpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuaW5wLmRhdGEgPSAoKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnR5cGUgPT09ICdDYXInID8gdGhpcy5jYXIuZGF0YSgpIDpcclxuICAgICAgICB0aGlzLnR5cGUgPT09ICdNb3RvcicgPyB0aGlzLm1vdG9yLmRhdGEoKSA6XHJcbiAgICAgICAgdGhpcy50eXBlID09PSAnQ2FyRicgPyB0aGlzLmNhckYuZGF0YSgpIDpcclxuICAgICAgICB0aGlzLnR5cGUgPT09ICdEcml2ZXInID8gdGhpcy5kcml2ZXIuZGF0YSgpIDpcclxuICAgICAgICB0aGlzLnR5cGUgPT09ICdGaW5nZXJwcmludCcgPyB0aGlzLmZpbmdlcnByaW50LmRhdGEoKSA6IG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuICBjaGFuZ2VUeXBlKHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50eXBlID0gdDtcclxuICAgIGlmICh0ID09PSAnRmluZ2VycHJpbnQnKXtcclxuICAgICAgdGhpcy5maW5nZXJwcmludC5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5maW5nZXJwcmludC5wbGFjZWhvbGRlciA9IHRoaXMuaW5wLmwoJ0xvYWRpbmdUZXh0JywgJ1dhaXRpbmcnKTtcclxuICAgICAgdGhpcy5maW5nZXJwcmludC52YWx1ZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuZmluZ2VycHJpbnQuc2VhcmNoID0gbnVsbDtcclxuICAgICAgdGhpcy53c0F1dGggPSBuZXcgV2ViU29ja2V0KCd3czovL2xvY2FsaG9zdDo3ODkwL0F1dGgnKTtcclxuICAgICAgdGhpcy53c0F1dGgub25vcGVuID0gKCkgPT4ge1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy53c0F1dGgub25tZXNzYWdlID0gKGV2dCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLndzQXV0aCAhPSBudWxsKXtcclxuICAgICAgICAgIHRoaXMud3NBdXRoLmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChldnQuZGF0YSA9PT0gJ05vdGZvdW5kJyl7XHJcbiAgICAgICAgICBIZWxwZXJDbGFzcy5hZGROb3RpZmljYXRpb24odGhpcy5pbnAubCgnTm90Zm91bmRUaXRsZScpKTtcclxuICAgICAgICAgIHRoaXMuZmluZ2VycHJpbnQucGxhY2Vob2xkZXIgPSB0aGlzLmlucC5sKCdOb3Rmb3VuZFRpdGxlJyk7XHJcbiAgICAgICAgICB0aGlzLmZpbmdlcnByaW50LnZhbHVlID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMuZmluZ2VycHJpbnQuc2VhcmNoID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMuZmluZ2VycHJpbnQubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXZ0LmRhdGEuc3RhcnRzV2l0aCgnRXJyb3InKSl7XHJcbiAgICAgICAgICBIZWxwZXJDbGFzcy5hZGROb3RpZmljYXRpb24oZXZ0LmRhdGEpO1xyXG4gICAgICAgICAgdGhpcy5maW5nZXJwcmludC5wbGFjZWhvbGRlciA9IHRoaXMuaW5wLmwoJ05vdGZvdW5kVGl0bGUnKTtcclxuICAgICAgICAgIHRoaXMuZmluZ2VycHJpbnQudmFsdWUgPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5maW5nZXJwcmludC5zZWFyY2ggPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5maW5nZXJwcmludC5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHVzZXIgPSBKU09OLnBhcnNlKGV2dC5kYXRhKTtcclxuICAgICAgICAgIHRoaXMuZmluZ2VycHJpbnQudmFsdWUgPSB1c2VyLklkO1xyXG4gICAgICAgICAgdGhpcy5maW5nZXJwcmludC5zZWFyY2ggPSB1c2VyLk5hbWU7XHJcbiAgICAgICAgICB0aGlzLmZpbmdlcnByaW50LmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy53c0F1dGguY2xvc2UoKTtcclxuICAgICAgICB0aGlzLndzQXV0aCA9IG51bGw7XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMud3NBdXRoLm9uY2xvc2UgPSAoKSA9PiB7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICB0aGlzLmNhci51cmwgPSB0aGlzLm1vdG9yLnVybCA9IHRoaXMuY2FyRi51cmwgPSB0aGlzLmRyaXZlci51cmwgPSB0aGlzLmlucC51cmwucmVwbGFjZSgnX3t9JywgJ18nICsgdGhpcy50eXBlKTtcclxuICAgIHRoaXMub25Gb2N1c0luKCk7XHJcbiAgfVxyXG4gIG9uRm9jdXNJbigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdDYXInIHx8IHRoaXMudHlwZSA9PT0gJ01vdG9yJyB8fCB0aGlzLnR5cGUgPT09ICdDYXJGJyl7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICQoJyNQYXJ0MUlucHV0IC5jb250cm9sJykuZm9jdXMoKTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnRHJpdmVyJyl7XHJcbiAgICAgIHRoaXMuZHJpdmVyLmZvY3VzKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ0ZpbmdlcnByaW50Jyl7XHJcbiAgICAgIHRoaXMuZmluZ2VycHJpbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -37,7 +37,7 @@ export class FormComponent {
37
37
  FormComponent.decorators = [
38
38
  { type: Component, args: [{
39
39
  selector: 'lib-form',
40
- template: "<form [style]=\"form.style\" *ngIf=\"form\" [id]=\"form.id + 'Form'\" [className]=\"'form' + (form.class ? ' ' + form.class : '')\">\r\n <div *ngIf=\"form.displayLabel\" [className]=\"(form.subName ? '' : 'underline ') + 'title'\">{{this.form.l(this.form.name)}}</div>\r\n <div *ngIf=\"form.displayLabel && form.subName\" class=\"sub-title underline\">{{this.form.l(this.form.subName)}}</div>\r\n <div *ngIf=\"form.loading\" class=\"loading\">\r\n <div class=\"text\" [innerHTML]=\"form.l('LoadingTable', 'Processing')\"></div>\r\n </div>\r\n <div *ngIf=\"!form.permission\" class=\"loading\">\r\n <div class=\"text\"><i class=\"fas fa-shield-alt icon\"></i>{{ form.l(\"PermissionDenied\") }}</div>\r\n </div>\r\n <div class=\"inputs\">\r\n <span *ngFor=\"let inp of form.inputs; let i = index\">\r\n <lib-form-textbox (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Text || inp.type == type.Password || inp.type == type.Mobile || inp.type == type.Phone || inp.type == type.Email || inp.type == type.NationalCode || inp.type == type.Number || inp.type == type.Url || inp.type == type.PostalCode || inp.type == type.Price || inp.type == type.Sheba || inp.type == type.Color)\" [inp]=\"inp\"></lib-form-textbox>\r\n <lib-form-textarea (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.TextArea\" [inp]=\"inp\"></lib-form-textarea>\r\n <lib-form-checkbox (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Check\" [inp]=\"inp\"></lib-form-checkbox>\r\n <lib-form-select [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Select || inp.type == type.SelectSearch || inp.type == type.SelectAutoComplete)\" [inp]=\"inp\"></lib-form-select>\r\n <lib-form-date [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Date\" [inp]=\"inp\"></lib-form-date>\r\n <lib-form-time [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Time\" [inp]=\"inp\"></lib-form-time>\r\n <lib-form-datetime [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.DateTime\" [inp]=\"inp\"></lib-form-datetime>\r\n <lib-form-label *ngIf=\"inp.visible && inp.type == type.Label\" [inp]=\"inp\"></lib-form-label>\r\n <lib-form-file (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.File\" [inp]=\"inp\"></lib-form-file>\r\n <lib-form-button (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Button || inp.type == type.Submit)\" [inp]=\"inp\"></lib-form-button>\r\n <lib-form-icon (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Icon\" [inp]=\"inp\"></lib-form-icon>\r\n <lib-form-radio (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Radio\" [inp]=\"inp\"></lib-form-radio>\r\n <lib-form-tree (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Tree || inp.type == type.TreeRadio)\" [inp]=\"inp\"></lib-form-tree>\r\n <lib-form-plaque (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Plaque || inp.type == type.PlaqueM)\" [inp]=\"inp\"></lib-form-plaque>\r\n <lib-form-plaque-select (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.SelectAutoCompletePlaque || inp.type == type.SelectAutoCompletePlaqueM)\" [inp]=\"inp\"></lib-form-plaque-select>\r\n <lib-form-bank-card (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.BankCard\" [inp]=\"inp\"></lib-form-bank-card>\r\n <lib-form-car-search (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.CarSearch\" [inp]=\"inp\"></lib-form-car-search>\r\n <lib-form-car (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Car\" [inp]=\"inp\"></lib-form-car>\r\n <lib-form-finger (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Finger\" [inp]=\"inp\"></lib-form-finger>\r\n <lib-form-table *ngIf=\"inp.visible && inp.type == type.Table\" [inp]=\"inp\"></lib-form-table>\r\n <lib-form-hidden *ngIf=\"inp.type == type.Hidden\" [inp]=\"inp\"></lib-form-hidden>\r\n </span>\r\n </div>\r\n</form>\r\n",
40
+ template: "<form [style]=\"form.style\" *ngIf=\"form\" [id]=\"form.id + 'Form'\" [className]=\"'form' + (form.class ? ' ' + form.class : '')\">\r\n <div *ngIf=\"form.displayLabel\" [className]=\"(form.subName ? '' : 'underline ') + 'title'\">{{this.form.l(this.form.name)}}</div>\r\n <div *ngIf=\"form.displayLabel && form.subName\" class=\"sub-title underline\">{{this.form.l(this.form.subName)}}</div>\r\n <div *ngIf=\"form.loading\" class=\"loading\">\r\n <div class=\"text\" [innerHTML]=\"form.l('LoadingTable', 'Processing')\"></div>\r\n </div>\r\n <div *ngIf=\"!form.permission\" class=\"loading\">\r\n <div class=\"text\"><i class=\"fas fa-shield-alt icon\"></i>{{ form.l(\"PermissionDenied\") }}</div>\r\n </div>\r\n <div class=\"inputs\">\r\n <span *ngFor=\"let inp of form.inputs; let i = index\">\r\n <lib-form-textbox (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Text || inp.type == type.Password || inp.type == type.Mobile || inp.type == type.Phone || inp.type == type.Email || inp.type == type.NationalCode || inp.type == type.Number || inp.type == type.Url || inp.type == type.PostalCode || inp.type == type.Price || inp.type == type.Sheba || inp.type == type.Color)\" [inp]=\"inp\"></lib-form-textbox>\r\n <lib-form-textarea (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.TextArea\" [inp]=\"inp\"></lib-form-textarea>\r\n <lib-form-checkbox (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Check\" [inp]=\"inp\"></lib-form-checkbox>\r\n <lib-form-select [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Select || inp.type == type.SelectSearch || inp.type == type.SelectAutoComplete)\" [inp]=\"inp\"></lib-form-select>\r\n <lib-form-date [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Date\" [inp]=\"inp\"></lib-form-date>\r\n <lib-form-time [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Time\" [inp]=\"inp\"></lib-form-time>\r\n <lib-form-datetime [inForm]=\"true\" (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.DateTime\" [inp]=\"inp\"></lib-form-datetime>\r\n <lib-form-label *ngIf=\"inp.visible && inp.type == type.Label\" [inp]=\"inp\"></lib-form-label>\r\n <lib-form-file (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.File\" [inp]=\"inp\"></lib-form-file>\r\n <lib-form-button (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Button || inp.type == type.Submit)\" [inp]=\"inp\"></lib-form-button>\r\n <lib-form-icon (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Icon\" [inp]=\"inp\"></lib-form-icon>\r\n <lib-form-radio (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Radio\" [inp]=\"inp\"></lib-form-radio>\r\n <lib-form-tree (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Tree || inp.type == type.TreeRadio)\" [inp]=\"inp\"></lib-form-tree>\r\n <lib-form-plaque (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.Plaque || inp.type == type.PlaqueM || inp.type == type.PlaqueF)\" [inp]=\"inp\"></lib-form-plaque>\r\n <lib-form-plaque-select (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && (inp.type == type.SelectAutoCompletePlaque || inp.type == type.SelectAutoCompletePlaqueM || inp.type == type.SelectAutoCompletePlaqueF)\" [inp]=\"inp\"></lib-form-plaque-select>\r\n <lib-form-bank-card (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.BankCard\" [inp]=\"inp\"></lib-form-bank-card>\r\n <lib-form-car-search (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.CarSearch\" [inp]=\"inp\"></lib-form-car-search>\r\n <lib-form-car (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Car\" [inp]=\"inp\"></lib-form-car>\r\n <lib-form-finger (changeIndex)=\"changeIndex(i, $event)\" *ngIf=\"inp.visible && inp.type == type.Finger\" [inp]=\"inp\"></lib-form-finger>\r\n <lib-form-table *ngIf=\"inp.visible && inp.type == type.Table\" [inp]=\"inp\"></lib-form-table>\r\n <lib-form-hidden *ngIf=\"inp.type == type.Hidden\" [inp]=\"inp\"></lib-form-hidden>\r\n </span>\r\n </div>\r\n</form>\r\n",
41
41
  styles: [".form{border-radius:var(--border-radius-base);float:right;padding:20px;position:relative;width:100%}.form>.title{font-family:VazirBold;font-size:16px;height:40px}.form>.sub-title,.form>.title{float:right;line-height:30px;margin-bottom:10px;position:relative;text-align:right;width:100%}.form>.sub-title{color:var(--black-light);font-family:VazirLight;font-size:12px;height:30px}.form .loading{background-color:#fff;border-radius:var(--border-radius-base);height:100%;right:0;top:0;z-index:4}.form .loading,.form .loading .text{position:absolute;text-align:center;width:100%}.form .loading .text{font-family:VazirBold;height:35px;line-height:35px;top:calc(50% - 20px)}::ng-deep .form .loading .icon{font-size:20px!important;line-height:30px;margin-left:5px;position:relative;top:5px}.form-buttons,.form-error{float:right;width:100%}.form-error{color:var(--red-light);font-size:11px;height:15px;line-height:8px;margin-top:10px;padding:0 10px;position:relative;text-align:center}.form-error .message{float:left;width:calc(100% - 40px)}.form-error .icon{float:right;height:20px;line-height:6px;right:0;top:0;width:40px}.form .inputs{margin:0 -15px}"]
42
42
  },] }
43
43
  ];
@@ -45,4 +45,4 @@ FormComponent.ctorParameters = () => [];
45
45
  FormComponent.propDecorators = {
46
46
  form: [{ type: Input }]
47
47
  };
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHJvamVjdHMvUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZm9ybS9pbmRleC9mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFPdEQsTUFBTSxPQUFPLGFBQWE7SUFJeEI7SUFDQSxDQUFDO0lBRkQsSUFBSSxJQUFJLEtBQXVCLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQztJQUdsRCxRQUFRO0lBQ1IsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTTtRQUN2QixNQUFNLENBQUMsR0FBRyxNQUFNLEtBQUssVUFBVSxJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUNsQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNO1lBQzdELENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0csSUFBSSxLQUFLLEtBQUssT0FBTyxJQUFJLE1BQU0sS0FBSyxPQUFPLEVBQUU7WUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUUsSUFBSSxNQUFNLEtBQUssQ0FBQyxDQUFDLEVBQUM7Z0JBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ25CLE9BQU87YUFDUjtTQUNGO1FBQ0QsSUFBSSxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNyQixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU87ZUFDcEgsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUN4RyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQztTQUNqQjtRQUNELElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFDO1lBQzlDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNQO2FBQUk7WUFDSCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNQO0lBQ0gsQ0FBQzs7O1lBdkNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsKzJJQUFvQzs7YUFFckM7Ozs7bUJBRUUsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtQ2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRUeXBlfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudW0uY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpXHJcbiAgZm9ybTogRm9ybUNsYXNzO1xyXG4gIGdldCB0eXBlKCk6IHR5cGVvZiBJbnB1dFR5cGUgeyByZXR1cm4gSW5wdXRUeXBlOyB9XHJcbiAgY29uc3RydWN0b3IoKXtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZHtcclxuICB9XHJcbiAgY2hhbmdlSW5kZXgoaW5kZXgsIGFjdGlvbik6IHZvaWR7XHJcbiAgICBjb25zdCBuID0gYWN0aW9uID09PSAnU2hpZnRUYWInIHx8IGFjdGlvbiA9PT0gJ1NoaWZ0RW50ZXInID8gLTEgOiAxO1xyXG4gICAgY29uc3QgbGFzdElucCA9IHRoaXMuZm9ybS5pbnB1dHMubWFwKFxyXG4gICAgICB4ID0+IHgudHlwZSAhPT0gSW5wdXRUeXBlLlN1Ym1pdCAmJiB4LnR5cGUgIT09IElucHV0VHlwZS5CdXR0b24gJiZcclxuICAgICAgICB4LnR5cGUgIT09IElucHV0VHlwZS5MYWJlbCAmJiB4LnR5cGUgIT09IElucHV0VHlwZS5IaWRkZW4gJiYgIXguZGlzYWJsZWQgJiYgeC52aXNpYmxlKS5sYXN0SW5kZXhPZih0cnVlKTtcclxuICAgIGlmIChpbmRleCA9PT0gbGFzdElucCAmJiBhY3Rpb24gPT09ICdFbnRlcicpIHtcclxuICAgICAgY29uc3Qgc3VibWl0ID0gdGhpcy5mb3JtLmlucHV0cy5maW5kSW5kZXgoeCA9PiB4LnR5cGUgPT09IElucHV0VHlwZS5TdWJtaXQpO1xyXG4gICAgICBpZiAoc3VibWl0ICE9PSAtMSl7XHJcbiAgICAgICAgdGhpcy5mb3JtLnN1Ym1pdCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGV0IG5leHQgPSBpbmRleCArIG47XHJcbiAgICB3aGlsZSAobmV4dCA+PSAwICYmIG5leHQgPCB0aGlzLmZvcm0uaW5wdXRzLmxlbmd0aCAmJiAodGhpcy5mb3JtLmlucHV0c1tuZXh0XS5kaXNhYmxlZCB8fCAhdGhpcy5mb3JtLmlucHV0c1tuZXh0XS52aXNpYmxlXHJcbiAgICAgIHx8IHRoaXMuZm9ybS5pbnB1dHNbbmV4dF0udHlwZSA9PT0gSW5wdXRUeXBlLkxhYmVsIHx8IHRoaXMuZm9ybS5pbnB1dHNbbmV4dF0udHlwZSA9PT0gSW5wdXRUeXBlLkhpZGRlbikpe1xyXG4gICAgICBuZXh0ID0gbmV4dCArIG47XHJcbiAgICB9XHJcbiAgICBpZiAobmV4dCA+PSAwICYmIG5leHQgPCB0aGlzLmZvcm0uaW5wdXRzLmxlbmd0aCl7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9ybS5pbnB1dHNbbmV4dF0uZm9jdXModHJ1ZSk7XHJcbiAgICAgIH0sIDEpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9ybS5pbnB1dHNbaW5kZXhdLmZvY3VzT3V0KCk7XHJcbiAgICAgIH0sIDEpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHJvamVjdHMvUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZm9ybS9pbmRleC9mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFPdEQsTUFBTSxPQUFPLGFBQWE7SUFJeEI7SUFDQSxDQUFDO0lBRkQsSUFBSSxJQUFJLEtBQXVCLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQztJQUdsRCxRQUFRO0lBQ1IsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTTtRQUN2QixNQUFNLENBQUMsR0FBRyxNQUFNLEtBQUssVUFBVSxJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUNsQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNO1lBQzdELENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0csSUFBSSxLQUFLLEtBQUssT0FBTyxJQUFJLE1BQU0sS0FBSyxPQUFPLEVBQUU7WUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUUsSUFBSSxNQUFNLEtBQUssQ0FBQyxDQUFDLEVBQUM7Z0JBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ25CLE9BQU87YUFDUjtTQUNGO1FBQ0QsSUFBSSxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNyQixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU87ZUFDcEgsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBQztZQUN4RyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQztTQUNqQjtRQUNELElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFDO1lBQzlDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNQO2FBQUk7WUFDSCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNQO0lBQ0gsQ0FBQzs7O1lBdkNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIseTdJQUFvQzs7YUFFckM7Ozs7bUJBRUUsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtQ2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRUeXBlfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudW0uY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpXHJcbiAgZm9ybTogRm9ybUNsYXNzO1xyXG4gIGdldCB0eXBlKCk6IHR5cGVvZiBJbnB1dFR5cGUgeyByZXR1cm4gSW5wdXRUeXBlOyB9XHJcbiAgY29uc3RydWN0b3IoKXtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZHtcclxuICB9XHJcbiAgY2hhbmdlSW5kZXgoaW5kZXgsIGFjdGlvbik6IHZvaWR7XHJcbiAgICBjb25zdCBuID0gYWN0aW9uID09PSAnU2hpZnRUYWInIHx8IGFjdGlvbiA9PT0gJ1NoaWZ0RW50ZXInID8gLTEgOiAxO1xyXG4gICAgY29uc3QgbGFzdElucCA9IHRoaXMuZm9ybS5pbnB1dHMubWFwKFxyXG4gICAgICB4ID0+IHgudHlwZSAhPT0gSW5wdXRUeXBlLlN1Ym1pdCAmJiB4LnR5cGUgIT09IElucHV0VHlwZS5CdXR0b24gJiZcclxuICAgICAgICB4LnR5cGUgIT09IElucHV0VHlwZS5MYWJlbCAmJiB4LnR5cGUgIT09IElucHV0VHlwZS5IaWRkZW4gJiYgIXguZGlzYWJsZWQgJiYgeC52aXNpYmxlKS5sYXN0SW5kZXhPZih0cnVlKTtcclxuICAgIGlmIChpbmRleCA9PT0gbGFzdElucCAmJiBhY3Rpb24gPT09ICdFbnRlcicpIHtcclxuICAgICAgY29uc3Qgc3VibWl0ID0gdGhpcy5mb3JtLmlucHV0cy5maW5kSW5kZXgoeCA9PiB4LnR5cGUgPT09IElucHV0VHlwZS5TdWJtaXQpO1xyXG4gICAgICBpZiAoc3VibWl0ICE9PSAtMSl7XHJcbiAgICAgICAgdGhpcy5mb3JtLnN1Ym1pdCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGV0IG5leHQgPSBpbmRleCArIG47XHJcbiAgICB3aGlsZSAobmV4dCA+PSAwICYmIG5leHQgPCB0aGlzLmZvcm0uaW5wdXRzLmxlbmd0aCAmJiAodGhpcy5mb3JtLmlucHV0c1tuZXh0XS5kaXNhYmxlZCB8fCAhdGhpcy5mb3JtLmlucHV0c1tuZXh0XS52aXNpYmxlXHJcbiAgICAgIHx8IHRoaXMuZm9ybS5pbnB1dHNbbmV4dF0udHlwZSA9PT0gSW5wdXRUeXBlLkxhYmVsIHx8IHRoaXMuZm9ybS5pbnB1dHNbbmV4dF0udHlwZSA9PT0gSW5wdXRUeXBlLkhpZGRlbikpe1xyXG4gICAgICBuZXh0ID0gbmV4dCArIG47XHJcbiAgICB9XHJcbiAgICBpZiAobmV4dCA+PSAwICYmIG5leHQgPCB0aGlzLmZvcm0uaW5wdXRzLmxlbmd0aCl7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9ybS5pbnB1dHNbbmV4dF0uZm9jdXModHJ1ZSk7XHJcbiAgICAgIH0sIDEpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9ybS5pbnB1dHNbaW5kZXhdLmZvY3VzT3V0KCk7XHJcbiAgICAgIH0sIDEpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=