ms-data-grid 0.0.116 → 0.0.118

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.
@@ -146,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
146
146
  providedIn: 'root'
147
147
  }]
148
148
  }], ctorParameters: function () { return []; } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWdyaWQvc3JjL2xpYi9zZXJ2aWNlcy9leHBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxJQUFJLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBS3BDLE1BQU0sT0FBTyxhQUFhO0lBRXhCLGdCQUFlLENBQUM7SUFFaEI7Ozs7OztPQU1HO0lBQ0wsVUFBVSxDQUNSLE9BQWMsRUFDZCxJQUFXLEVBQ1gsUUFBZ0IsRUFDaEIsU0FBeUIsTUFBTSxFQUMvQixxQkFBeUMsSUFBSSxHQUFHLEVBQUUsRUFDbEQsY0FTSSxFQUFFO1FBRU4sTUFBTSxFQUNKLGFBQWEsR0FBRyxTQUFTLEVBQ3pCLGVBQWUsR0FBRyxTQUFTLEVBQzNCLGFBQWEsR0FBRyxTQUFTLEVBQ3pCLFVBQVUsR0FBRyxTQUFTLEVBQ3RCLFVBQVUsR0FBRyxRQUFRLEVBQ3JCLFNBQVMsR0FBRyxHQUFHLEVBQ2YsZUFBZSxHQUFHLEVBQUUsRUFDcEIsa0JBQWtCLEdBQUcsU0FBUyxHQUMvQixHQUFHLFdBQVcsQ0FBQztRQUVoQixNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUNuQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxNQUFNLENBQ3JFLENBQUM7UUFFRixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENB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QUFJLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxRQUFRLE1BQU0sQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxNQUFNLFdBQVcsR0FBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDbkYsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDbkMsSUFBSSxFQUFFLGlGQUFpRjthQUN4RixDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxPQUFPLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFLTyxjQUFjLENBQUMsR0FBUSxFQUFFLElBQVk7UUFDM0MsSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEcsQ0FBQzsrR0FwTFksYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gtanMtc3R5bGUnO1xuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEV4cG9ydFNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogRXhwb3J0cyBkYXRhIHRvIENTViBvciBFeGNlbC5cbiAgICogQHBhcmFtIGNvbHVtbnMgTGlzdCBvZiBjb2x1bW4gZGVmaW5pdGlvbnMgKGVhY2ggaGF2aW5nIG5hbWUva2V5L2lzX3Zpc2libGUpXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBhcnJheSBvZiBkYXRhIG9iamVjdHNcbiAgICogQHBhcmFtIGZpbGVOYW1lIE5hbWUgb2YgdGhlIGV4cG9ydGVkIGZpbGUgKHdpdGhvdXQgZXh0ZW5zaW9uKVxuICAgKiBAcGFyYW0gZm9ybWF0ICdjc3YnIHwgJ3hsc3gnXG4gICAqL1xuZXhwb3J0RGF0YShcbiAgY29sdW1uczogYW55W10sXG4gIGRhdGE6IGFueVtdLFxuICBmaWxlTmFtZTogc3RyaW5nLFxuICBmb3JtYXQ6ICdjc3YnIHwgJ3hsc3gnID0gJ3hsc3gnLFxuICByb3dTZWxlY3RlZEluZGV4ZXM6IFNldDxudW1iZXI+IHwgbnVsbCA9IG5ldyBTZXQoKSxcbiAgc3R5bGVDb25maWc6IHtcbiAgICBoZWFkZXJCZ0NvbG9yPzogc3RyaW5nO1xuICAgIGhlYWRlclRleHRDb2xvcj86IHN0cmluZztcbiAgICBib2R5VGV4dENvbG9yPzogc3RyaW5nO1xuICAgIGZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gICAgZm9udFdlaWdodD86ICdub3JtYWwnIHwgJ2JvbGQnO1xuICAgIHpvb21TY2FsZT86IG51bWJlcjtcbiAgICBoZWFkZXJSb3dIZWlnaHQ/OiBudW1iZXI7XG4gICAgc2VsZWN0ZWRSb3dCZ0NvbG9yPzogc3RyaW5nO1xuICB9ID0ge31cbikge1xuICBjb25zdCB7XG4gICAgaGVhZGVyQmdDb2xvciA9ICcjMjI4QjIyJyxcbiAgICBoZWFkZXJUZXh0Q29sb3IgPSAnI0ZGRkZGRicsXG4gICAgYm9keVRleHRDb2xvciA9ICcjMDAwMDAwJyxcbiAgICBmb250RmFtaWx5ID0gJ0NhbGlicmknLFxuICAgIGZvbnRXZWlnaHQgPSAnbm9ybWFsJyxcbiAgICB6b29tU2NhbGUgPSAxMjAsXG4gICAgaGVhZGVyUm93SGVpZ2h0ID0gMjAsXG4gICAgc2VsZWN0ZWRSb3dCZ0NvbG9yID0gJyM4QUM1RkYnLFxuICB9ID0gc3R5bGVDb25maWc7XG5cbiAgY29uc3QgdmlzaWJsZUNvbHVtbnMgPSBjb2x1bW5zLmZpbHRlcihcbiAgICBjb2wgPT4gY29sLmlzX3Zpc2libGUgJiYgY29sLnR5cGUgIT09ICdpbWFnZScgJiYgY29sLnR5cGUgIT09ICdsb2dvJ1xuICApO1xuXG4gIGNvbnN0IGhlYWRlcnMgPSB2aXNpYmxlQ29sdW1ucy5tYXAoY29sID0+IGNvbC5oZWFkZXIgfHwgY29sLmhlYWRlck5hbWUgfHwgY29sLm5hbWUpO1xuXG4gIGNvbnN0IGZsYXR0ZW5WYWx1ZSA9ICh2YWx1ZTogYW55KTogYW55ID0+IHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkgcmV0dXJuICcnO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSlcbiAgICAgIHJldHVybiB2YWx1ZS5tYXAodiA9PiAodHlwZW9mIHYgPT09ICdvYmplY3QnID8gZmxhdHRlblZhbHVlKHYpIDogdikpLmpvaW4oJywgJyk7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpXG4gICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModmFsdWUpXG4gICAgICAgIC5tYXAoKFtrLCB2XSkgPT4gYCR7a306ICR7ZmxhdHRlblZhbHVlKHYpfWApXG4gICAgICAgIC5qb2luKCcsICcpO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfTtcblxuICBjb25zdCBleHBvcnREYXRhID0gZGF0YS5tYXAocm93ID0+XG4gICAgdmlzaWJsZUNvbHVtbnMucmVkdWNlKChhY2M6IGFueSwgY29sKSA9PiB7XG4gICAgICBjb25zdCBoZWFkZXIgPSBjb2wuaGVhZGVyTmFtZSB8fCBjb2wubmFtZSB8fCBjb2wuaGVhZGVyO1xuICAgICAgbGV0IHZhbHVlID0gdGhpcy5nZXROZXN0ZWRWYWx1ZShyb3csIGNvbC5maWVsZCk7XG5cbiAgICAgIHN3aXRjaCAoY29sLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZSA/ICdZZXMnIDogJ05vJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgICAgICAgaWYgKCFpc05hTihkYXRlLmdldFRpbWUoKSkpIHtcbiAgICAgICAgICAgICAgdmFsdWUgPSBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tVVMnLCB7XG4gICAgICAgICAgICAgICAgZGF5OiAnMi1kaWdpdCcsXG4gICAgICAgICAgICAgICAgbW9udGg6ICdsb25nJyxcbiAgICAgICAgICAgICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB2YWx1ZSA9IGZsYXR0ZW5WYWx1ZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIGFjY1toZWFkZXJdID0gdmFsdWU7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KVxuICApO1xuXG4gIGNvbnN0IHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoZXhwb3J0RGF0YSwgeyBoZWFkZXI6IGhlYWRlcnMgfSk7XG5cbiAgLy8g4pyFIERlZmluZSBhIHJldXNhYmxlIGJvcmRlciBzdHlsZVxuICBjb25zdCBib3JkZXJTdHlsZSA9IHtcbiAgICB0b3A6IHsgc3R5bGU6ICd0aGluJywgY29sb3I6IHsgcmdiOiAnQ0NDQ0NDJyB9IH0sXG4gICAgYm90dG9tOiB7IHN0eWxlOiAndGhpbicsIGNvbG9yOiB7IHJnYjogJ0NDQ0NDQycgfSB9LFxuICAgIGxlZnQ6IHsgc3R5bGU6ICd0aGluJywgY29sb3I6IHsgcmdiOiAnQ0NDQ0NDJyB9IH0sXG4gICAgcmlnaHQ6IHsgc3R5bGU6ICd0aGluJywgY29sb3I6IHsgcmdiOiAnQ0NDQ0NDJyB9IH0sXG4gIH07XG5cbiAgLy8g4pyFIEFwcGx5IGhlYWRlciBzdHlsZXNcbiAgaGVhZGVycy5mb3JFYWNoKChoZWFkZXIsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgY2VsbEFkZHJlc3MgPSBYTFNYLnV0aWxzLmVuY29kZV9jZWxsKHsgcjogMCwgYzogaW5kZXggfSk7XG4gICAgaWYgKCF3b3Jrc2hlZXRbY2VsbEFkZHJlc3NdKSByZXR1cm47XG5cbiAgICB3b3Jrc2hlZXRbY2VsbEFkZHJlc3NdLnMgPSB7XG4gICAgICBmaWxsOiB7IGZnQ29sb3I6IHsgcmdiOiBoZWFkZXJCZ0NvbG9yLnJlcGxhY2UoJyMnLCAnJykgfSB9LFxuICAgICAgZm9udDoge1xuICAgICAgICBuYW1lOiBmb250RmFtaWx5LFxuICAgICAgICBzejogMTQsXG4gICAgICAgIGNvbG9yOiB7IHJnYjogaGVhZGVyVGV4dENvbG9yLnJlcGxhY2UoJyMnLCAnJykgfSxcbiAgICAgICAgYm9sZDogZm9udFdlaWdodCA9PT0gJ2JvbGQnLFxuICAgICAgfSxcbiAgICAgIGFsaWdubWVudDogeyBob3Jpem9udGFsOiAnY2VudGVyJywgdmVydGljYWw6ICdjZW50ZXInIH0sXG4gICAgICBib3JkZXI6IGJvcmRlclN0eWxlLCAvLyDinIUgQWRkZWQgYm9yZGVyIGhlcmVcbiAgICB9O1xuICB9KTtcblxuICAvLyDinIUgQXBwbHkgYm9keSBzdHlsZXMgKyBoaWdobGlnaHQgc2VsZWN0ZWQgcm93c1xuICBmb3IgKGxldCByID0gMTsgciA8PSBleHBvcnREYXRhLmxlbmd0aDsgcisrKSB7XG4gICAgY29uc3QgaXNTZWxlY3RlZCA9IHJvd1NlbGVjdGVkSW5kZXhlcz8uaGFzKHIgLSAxKTtcbiAgICBjb25zdCByb3dCZ0NvbG9yID0gaXNTZWxlY3RlZCA/IHNlbGVjdGVkUm93QmdDb2xvciA6ICcjRkZGRkZGJztcblxuICAgIGZvciAobGV0IGMgPSAwOyBjIDwgaGVhZGVycy5sZW5ndGg7IGMrKykge1xuICAgICAgY29uc3QgY29sID0gdmlzaWJsZUNvbHVtbnNbY107XG4gICAgICBjb25zdCBjZWxsQWRkcmVzcyA9IFhMU1gudXRpbHMuZW5jb2RlX2NlbGwoeyByLCBjIH0pO1xuICAgICAgY29uc3QgY2VsbCA9IHdvcmtzaGVldFtjZWxsQWRkcmVzc107XG4gICAgICBpZiAoIWNlbGwpIGNvbnRpbnVlO1xuXG4gICAgICBsZXQgaG9yaXpvbnRhbEFsaWduID0gJ2xlZnQnO1xuICAgICAgaWYgKFsnbnVtYmVyJywgJ2Jvb2xlYW4nLCAnZGF0ZSddLmluY2x1ZGVzKGNvbC50eXBlKSkgaG9yaXpvbnRhbEFsaWduID0gJ2NlbnRlcic7XG5cbiAgICAgIGNlbGwucyA9IHtcbiAgICAgICAgZmlsbDogeyBmZ0NvbG9yOiB7IHJnYjogcm93QmdDb2xvci5yZXBsYWNlKCcjJywgJycpIH0gfSxcbiAgICAgICAgZm9udDoge1xuICAgICAgICAgIG5hbWU6IGZvbnRGYW1pbHksXG4gICAgICAgICAgc3o6IDE0LFxuICAgICAgICAgIGNvbG9yOiB7IHJnYjogYm9keVRleHRDb2xvci5yZXBsYWNlKCcjJywgJycpIH0sXG4gICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGFsaWdubWVudDogeyBob3Jpem9udGFsOiBob3Jpem9udGFsQWxpZ24sIHZlcnRpY2FsOiAnY2VudGVyJywgd3JhcFRleHQ6IHRydWUgfSxcbiAgICAgICAgYm9yZGVyOiBib3JkZXJTdHlsZSwgLy8g4pyFIEFkZGVkIGJvcmRlciBoZXJlIHRvb1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvLyDinIUgQWRqdXN0IGNvbHVtbiB3aWR0aHNcbiAgY29uc3QgY29sV2lkdGhzID0gaGVhZGVycy5tYXAoaGVhZGVyID0+IHtcbiAgICBsZXQgbWF4TGVuZ3RoID0gaGVhZGVyLmxlbmd0aDtcbiAgICBleHBvcnREYXRhLmZvckVhY2gocm93ID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHJvd1toZWFkZXJdO1xuICAgICAgaWYgKHZhbCAhPSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGxlbiA9IHZhbC50b1N0cmluZygpLmxlbmd0aDtcbiAgICAgICAgaWYgKGxlbiA+IG1heExlbmd0aCkgbWF4TGVuZ3RoID0gbGVuO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB7IHdjaDogTWF0aC5taW4obWF4TGVuZ3RoICsgMiwgNjQpIH07XG4gIH0pO1xuICB3b3Jrc2hlZXRbJyFjb2xzJ10gPSBjb2xXaWR0aHM7XG5cbiAgd29ya3NoZWV0Wychcm93cyddID0gW3sgaHB0OiBoZWFkZXJSb3dIZWlnaHQgfV07XG4gIHdvcmtzaGVldFsnIXpvb20nXSA9IHpvb21TY2FsZTtcblxuICBjb25zdCB3b3JrYm9vazogWExTWC5Xb3JrQm9vayA9IHsgU2hlZXRzOiB7IERhdGE6IHdvcmtzaGVldCB9LCBTaGVldE5hbWVzOiBbJ0RhdGEnXSB9O1xuXG4gIGlmIChmb3JtYXQgPT09ICdjc3YnKSB7XG4gICAgY29uc3QgY3N2ID0gWExTWC51dGlscy5zaGVldF90b19jc3Yod29ya3NoZWV0KTtcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2Nzdl0sIHsgdHlwZTogJ3RleHQvY3N2O2NoYXJzZXQ9dXRmLTg7JyB9KTtcbiAgICBzYXZlQXMoYmxvYiwgYCR7ZmlsZU5hbWV9LmNzdmApO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGV4Y2VsQnVmZmVyOiBhbnkgPSBYTFNYLndyaXRlKHdvcmtib29rLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtleGNlbEJ1ZmZlcl0sIHtcbiAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDtjaGFyc2V0PVVURi04JyxcbiAgICB9KTtcbiAgICBzYXZlQXMoYmxvYiwgYCR7ZmlsZU5hbWV9Lnhsc3hgKTtcbiAgfVxufVxuXG5cblxuXG5wcml2YXRlIGdldE5lc3RlZFZhbHVlKG9iajogYW55LCBwYXRoOiBzdHJpbmcpOiBhbnkge1xuICBpZiAoIXBhdGggfHwgdHlwZW9mIG9iaiAhPT0gJ29iamVjdCcpIHJldHVybiBvYmo7XG4gIHJldHVybiBwYXRoLnNwbGl0KCcuJykucmVkdWNlKChhY2MsIGtleSkgPT4gKGFjYyAmJiBhY2Nba2V5XSAhPT0gdW5kZWZpbmVkID8gYWNjW2tleV0gOiAnJyksIG9iaik7XG59XG59XG4iXX0=
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWdyaWQvc3JjL2xpYi9zZXJ2aWNlcy9leHBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxJQUFJLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBS3BDLE1BQU0sT0FBTyxhQUFhO0lBRXhCLGdCQUFlLENBQUM7SUFFaEI7Ozs7OztPQU1HO0lBQ0wsVUFBVSxDQUNSLE9BQWMsRUFDZCxJQUFXLEVBQ1gsUUFBZ0IsRUFDaEIsU0FBeUIsTUFBTSxFQUMvQixxQkFBeUMsSUFBSSxHQUFHLEVBQUUsRUFDbEQsY0FTSSxFQUFFO1FBRU4sTUFBTSxFQUNKLGFBQWEsR0FBRyxTQUFTLEVBQ3pCLGVBQWUsR0FBRyxTQUFTLEVBQzNCLGFBQWEsR0FBRyxTQUFTLEVBQ3pCLFVBQVUsR0FBRyxTQUFTLEVBQ3RCLFVBQVUsR0FBRyxRQUFRLEVBQ3JCLFNBQVMsR0FBRyxHQUFHLEVBQ2YsZUFBZSxHQUFHLEVBQUUsRUFDcEIsa0JBQWtCLEdBQUcsU0FBUyxHQUMvQixHQUFHLFdBQVcsQ0FBQztRQUVoQixNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUNuQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxNQUFNLENBQ3JFLENBQUM7UUFFRixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENB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QUFJLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxRQUFRLE1BQU0sQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxNQUFNLFdBQVcsR0FBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDbkYsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDbkMsSUFBSSxFQUFFLGlGQUFpRjthQUN4RixDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxPQUFPLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFLTyxjQUFjLENBQUMsR0FBUSxFQUFFLElBQVk7UUFDM0MsSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEcsQ0FBQzsrR0FwTFksYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeC1qcy1zdHlsZSc7XHJcbmltcG9ydCB7IHNhdmVBcyB9IGZyb20gJ2ZpbGUtc2F2ZXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXhwb3J0U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgLyoqXHJcbiAgICogRXhwb3J0cyBkYXRhIHRvIENTViBvciBFeGNlbC5cclxuICAgKiBAcGFyYW0gY29sdW1ucyBMaXN0IG9mIGNvbHVtbiBkZWZpbml0aW9ucyAoZWFjaCBoYXZpbmcgbmFtZS9rZXkvaXNfdmlzaWJsZSlcclxuICAgKiBAcGFyYW0gZGF0YSBUaGUgYXJyYXkgb2YgZGF0YSBvYmplY3RzXHJcbiAgICogQHBhcmFtIGZpbGVOYW1lIE5hbWUgb2YgdGhlIGV4cG9ydGVkIGZpbGUgKHdpdGhvdXQgZXh0ZW5zaW9uKVxyXG4gICAqIEBwYXJhbSBmb3JtYXQgJ2NzdicgfCAneGxzeCdcclxuICAgKi9cclxuZXhwb3J0RGF0YShcclxuICBjb2x1bW5zOiBhbnlbXSxcclxuICBkYXRhOiBhbnlbXSxcclxuICBmaWxlTmFtZTogc3RyaW5nLFxyXG4gIGZvcm1hdDogJ2NzdicgfCAneGxzeCcgPSAneGxzeCcsXHJcbiAgcm93U2VsZWN0ZWRJbmRleGVzOiBTZXQ8bnVtYmVyPiB8IG51bGwgPSBuZXcgU2V0KCksXHJcbiAgc3R5bGVDb25maWc6IHtcclxuICAgIGhlYWRlckJnQ29sb3I/OiBzdHJpbmc7XHJcbiAgICBoZWFkZXJUZXh0Q29sb3I/OiBzdHJpbmc7XHJcbiAgICBib2R5VGV4dENvbG9yPzogc3RyaW5nO1xyXG4gICAgZm9udEZhbWlseT86IHN0cmluZztcclxuICAgIGZvbnRXZWlnaHQ/OiAnbm9ybWFsJyB8ICdib2xkJztcclxuICAgIHpvb21TY2FsZT86IG51bWJlcjtcclxuICAgIGhlYWRlclJvd0hlaWdodD86IG51bWJlcjtcclxuICAgIHNlbGVjdGVkUm93QmdDb2xvcj86IHN0cmluZztcclxuICB9ID0ge31cclxuKSB7XHJcbiAgY29uc3Qge1xyXG4gICAgaGVhZGVyQmdDb2xvciA9ICcjMjI4QjIyJyxcclxuICAgIGhlYWRlclRleHRDb2xvciA9ICcjRkZGRkZGJyxcclxuICAgIGJvZHlUZXh0Q29sb3IgPSAnIzAwMDAwMCcsXHJcbiAgICBmb250RmFtaWx5ID0gJ0NhbGlicmknLFxyXG4gICAgZm9udFdlaWdodCA9ICdub3JtYWwnLFxyXG4gICAgem9vbVNjYWxlID0gMTIwLFxyXG4gICAgaGVhZGVyUm93SGVpZ2h0ID0gMjAsXHJcbiAgICBzZWxlY3RlZFJvd0JnQ29sb3IgPSAnIzhBQzVGRicsXHJcbiAgfSA9IHN0eWxlQ29uZmlnO1xyXG5cclxuICBjb25zdCB2aXNpYmxlQ29sdW1ucyA9IGNvbHVtbnMuZmlsdGVyKFxyXG4gICAgY29sID0+IGNvbC5pc192aXNpYmxlICYmIGNvbC50eXBlICE9PSAnaW1hZ2UnICYmIGNvbC50eXBlICE9PSAnbG9nbydcclxuICApO1xyXG5cclxuICBjb25zdCBoZWFkZXJzID0gdmlzaWJsZUNvbHVtbnMubWFwKGNvbCA9PiBjb2wuaGVhZGVyIHx8IGNvbC5oZWFkZXJOYW1lIHx8IGNvbC5uYW1lKTtcclxuXHJcbiAgY29uc3QgZmxhdHRlblZhbHVlID0gKHZhbHVlOiBhbnkpOiBhbnkgPT4ge1xyXG4gICAgaWYgKHZhbHVlID09IG51bGwpIHJldHVybiAnJztcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSlcclxuICAgICAgcmV0dXJuIHZhbHVlLm1hcCh2ID0+ICh0eXBlb2YgdiA9PT0gJ29iamVjdCcgPyBmbGF0dGVuVmFsdWUodikgOiB2KSkuam9pbignLCAnKTtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKVxyXG4gICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModmFsdWUpXHJcbiAgICAgICAgLm1hcCgoW2ssIHZdKSA9PiBgJHtrfTogJHtmbGF0dGVuVmFsdWUodil9YClcclxuICAgICAgICAuam9pbignLCAnKTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9O1xyXG5cclxuICBjb25zdCBleHBvcnREYXRhID0gZGF0YS5tYXAocm93ID0+XHJcbiAgICB2aXNpYmxlQ29sdW1ucy5yZWR1Y2UoKGFjYzogYW55LCBjb2wpID0+IHtcclxuICAgICAgY29uc3QgaGVhZGVyID0gY29sLmhlYWRlck5hbWUgfHwgY29sLm5hbWUgfHwgY29sLmhlYWRlcjtcclxuICAgICAgbGV0IHZhbHVlID0gdGhpcy5nZXROZXN0ZWRWYWx1ZShyb3csIGNvbC5maWVsZCk7XHJcblxyXG4gICAgICBzd2l0Y2ggKGNvbC50eXBlKSB7XHJcbiAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlID8gJ1llcycgOiAnTm8nO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICAgICAgaWYgKCFpc05hTihkYXRlLmdldFRpbWUoKSkpIHtcclxuICAgICAgICAgICAgICB2YWx1ZSA9IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgIGRheTogJzItZGlnaXQnLFxyXG4gICAgICAgICAgICAgICAgbW9udGg6ICdsb25nJyxcclxuICAgICAgICAgICAgICAgIHllYXI6ICdudW1lcmljJyxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHZhbHVlID0gZmxhdHRlblZhbHVlKHZhbHVlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgYWNjW2hlYWRlcl0gPSB2YWx1ZTtcclxuICAgICAgcmV0dXJuIGFjYztcclxuICAgIH0sIHt9KVxyXG4gICk7XHJcblxyXG4gIGNvbnN0IHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoZXhwb3J0RGF0YSwgeyBoZWFkZXI6IGhlYWRlcnMgfSk7XHJcblxyXG4gIC8vIOKchSBEZWZpbmUgYSByZXVzYWJsZSBib3JkZXIgc3R5bGVcclxuICBjb25zdCBib3JkZXJTdHlsZSA9IHtcclxuICAgIHRvcDogeyBzdHlsZTogJ3RoaW4nLCBjb2xvcjogeyByZ2I6ICdDQ0NDQ0MnIH0gfSxcclxuICAgIGJvdHRvbTogeyBzdHlsZTogJ3RoaW4nLCBjb2xvcjogeyByZ2I6ICdDQ0NDQ0MnIH0gfSxcclxuICAgIGxlZnQ6IHsgc3R5bGU6ICd0aGluJywgY29sb3I6IHsgcmdiOiAnQ0NDQ0NDJyB9IH0sXHJcbiAgICByaWdodDogeyBzdHlsZTogJ3RoaW4nLCBjb2xvcjogeyByZ2I6ICdDQ0NDQ0MnIH0gfSxcclxuICB9O1xyXG5cclxuICAvLyDinIUgQXBwbHkgaGVhZGVyIHN0eWxlc1xyXG4gIGhlYWRlcnMuZm9yRWFjaCgoaGVhZGVyLCBpbmRleCkgPT4ge1xyXG4gICAgY29uc3QgY2VsbEFkZHJlc3MgPSBYTFNYLnV0aWxzLmVuY29kZV9jZWxsKHsgcjogMCwgYzogaW5kZXggfSk7XHJcbiAgICBpZiAoIXdvcmtzaGVldFtjZWxsQWRkcmVzc10pIHJldHVybjtcclxuXHJcbiAgICB3b3Jrc2hlZXRbY2VsbEFkZHJlc3NdLnMgPSB7XHJcbiAgICAgIGZpbGw6IHsgZmdDb2xvcjogeyByZ2I6IGhlYWRlckJnQ29sb3IucmVwbGFjZSgnIycsICcnKSB9IH0sXHJcbiAgICAgIGZvbnQ6IHtcclxuICAgICAgICBuYW1lOiBmb250RmFtaWx5LFxyXG4gICAgICAgIHN6OiAxNCxcclxuICAgICAgICBjb2xvcjogeyByZ2I6IGhlYWRlclRleHRDb2xvci5yZXBsYWNlKCcjJywgJycpIH0sXHJcbiAgICAgICAgYm9sZDogZm9udFdlaWdodCA9PT0gJ2JvbGQnLFxyXG4gICAgICB9LFxyXG4gICAgICBhbGlnbm1lbnQ6IHsgaG9yaXpvbnRhbDogJ2NlbnRlcicsIHZlcnRpY2FsOiAnY2VudGVyJyB9LFxyXG4gICAgICBib3JkZXI6IGJvcmRlclN0eWxlLCAvLyDinIUgQWRkZWQgYm9yZGVyIGhlcmVcclxuICAgIH07XHJcbiAgfSk7XHJcblxyXG4gIC8vIOKchSBBcHBseSBib2R5IHN0eWxlcyArIGhpZ2hsaWdodCBzZWxlY3RlZCByb3dzXHJcbiAgZm9yIChsZXQgciA9IDE7IHIgPD0gZXhwb3J0RGF0YS5sZW5ndGg7IHIrKykge1xyXG4gICAgY29uc3QgaXNTZWxlY3RlZCA9IHJvd1NlbGVjdGVkSW5kZXhlcz8uaGFzKHIgLSAxKTtcclxuICAgIGNvbnN0IHJvd0JnQ29sb3IgPSBpc1NlbGVjdGVkID8gc2VsZWN0ZWRSb3dCZ0NvbG9yIDogJyNGRkZGRkYnO1xyXG5cclxuICAgIGZvciAobGV0IGMgPSAwOyBjIDwgaGVhZGVycy5sZW5ndGg7IGMrKykge1xyXG4gICAgICBjb25zdCBjb2wgPSB2aXNpYmxlQ29sdW1uc1tjXTtcclxuICAgICAgY29uc3QgY2VsbEFkZHJlc3MgPSBYTFNYLnV0aWxzLmVuY29kZV9jZWxsKHsgciwgYyB9KTtcclxuICAgICAgY29uc3QgY2VsbCA9IHdvcmtzaGVldFtjZWxsQWRkcmVzc107XHJcbiAgICAgIGlmICghY2VsbCkgY29udGludWU7XHJcblxyXG4gICAgICBsZXQgaG9yaXpvbnRhbEFsaWduID0gJ2xlZnQnO1xyXG4gICAgICBpZiAoWydudW1iZXInLCAnYm9vbGVhbicsICdkYXRlJ10uaW5jbHVkZXMoY29sLnR5cGUpKSBob3Jpem9udGFsQWxpZ24gPSAnY2VudGVyJztcclxuXHJcbiAgICAgIGNlbGwucyA9IHtcclxuICAgICAgICBmaWxsOiB7IGZnQ29sb3I6IHsgcmdiOiByb3dCZ0NvbG9yLnJlcGxhY2UoJyMnLCAnJykgfSB9LFxyXG4gICAgICAgIGZvbnQ6IHtcclxuICAgICAgICAgIG5hbWU6IGZvbnRGYW1pbHksXHJcbiAgICAgICAgICBzejogMTQsXHJcbiAgICAgICAgICBjb2xvcjogeyByZ2I6IGJvZHlUZXh0Q29sb3IucmVwbGFjZSgnIycsICcnKSB9LFxyXG4gICAgICAgICAgYm9sZDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBhbGlnbm1lbnQ6IHsgaG9yaXpvbnRhbDogaG9yaXpvbnRhbEFsaWduLCB2ZXJ0aWNhbDogJ2NlbnRlcicsIHdyYXBUZXh0OiB0cnVlIH0sXHJcbiAgICAgICAgYm9yZGVyOiBib3JkZXJTdHlsZSwgLy8g4pyFIEFkZGVkIGJvcmRlciBoZXJlIHRvb1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8g4pyFIEFkanVzdCBjb2x1bW4gd2lkdGhzXHJcbiAgY29uc3QgY29sV2lkdGhzID0gaGVhZGVycy5tYXAoaGVhZGVyID0+IHtcclxuICAgIGxldCBtYXhMZW5ndGggPSBoZWFkZXIubGVuZ3RoO1xyXG4gICAgZXhwb3J0RGF0YS5mb3JFYWNoKHJvdyA9PiB7XHJcbiAgICAgIGNvbnN0IHZhbCA9IHJvd1toZWFkZXJdO1xyXG4gICAgICBpZiAodmFsICE9IG51bGwpIHtcclxuICAgICAgICBjb25zdCBsZW4gPSB2YWwudG9TdHJpbmcoKS5sZW5ndGg7XHJcbiAgICAgICAgaWYgKGxlbiA+IG1heExlbmd0aCkgbWF4TGVuZ3RoID0gbGVuO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiB7IHdjaDogTWF0aC5taW4obWF4TGVuZ3RoICsgMiwgNjQpIH07XHJcbiAgfSk7XHJcbiAgd29ya3NoZWV0WychY29scyddID0gY29sV2lkdGhzO1xyXG5cclxuICB3b3Jrc2hlZXRbJyFyb3dzJ10gPSBbeyBocHQ6IGhlYWRlclJvd0hlaWdodCB9XTtcclxuICB3b3Jrc2hlZXRbJyF6b29tJ10gPSB6b29tU2NhbGU7XHJcblxyXG4gIGNvbnN0IHdvcmtib29rOiBYTFNYLldvcmtCb29rID0geyBTaGVldHM6IHsgRGF0YTogd29ya3NoZWV0IH0sIFNoZWV0TmFtZXM6IFsnRGF0YSddIH07XHJcblxyXG4gIGlmIChmb3JtYXQgPT09ICdjc3YnKSB7XHJcbiAgICBjb25zdCBjc3YgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2Nzdih3b3Jrc2hlZXQpO1xyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtjc3ZdLCB7IHR5cGU6ICd0ZXh0L2NzdjtjaGFyc2V0PXV0Zi04OycgfSk7XHJcbiAgICBzYXZlQXMoYmxvYiwgYCR7ZmlsZU5hbWV9LmNzdmApO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBjb25zdCBleGNlbEJ1ZmZlcjogYW55ID0gWExTWC53cml0ZSh3b3JrYm9vaywgeyBib29rVHlwZTogJ3hsc3gnLCB0eXBlOiAnYXJyYXknIH0pO1xyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtleGNlbEJ1ZmZlcl0sIHtcclxuICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnLFxyXG4gICAgfSk7XHJcbiAgICBzYXZlQXMoYmxvYiwgYCR7ZmlsZU5hbWV9Lnhsc3hgKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbnByaXZhdGUgZ2V0TmVzdGVkVmFsdWUob2JqOiBhbnksIHBhdGg6IHN0cmluZyk6IGFueSB7XHJcbiAgaWYgKCFwYXRoIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSByZXR1cm4gb2JqO1xyXG4gIHJldHVybiBwYXRoLnNwbGl0KCcuJykucmVkdWNlKChhY2MsIGtleSkgPT4gKGFjYyAmJiBhY2Nba2V5XSAhPT0gdW5kZWZpbmVkID8gYWNjW2tleV0gOiAnJyksIG9iaik7XHJcbn1cclxufVxyXG4iXX0=
@@ -0,0 +1,145 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class RowActionService {
4
+ constructor() {
5
+ this.STATUS_SETS = {
6
+ EDIT_BLOCKED: [
7
+ 'expired', 'closed', 'Assigning Stop', 'Evaluation Start',
8
+ 'Evaluation Stop', 'Completed', 'approved', 'rejected',
9
+ 'partially', 'accepted'
10
+ ],
11
+ ARCHIVE_BLOCKED: [
12
+ 'approved', 'partially', 'Assigning Start',
13
+ 'Completed', 'Evaluation Start'
14
+ ],
15
+ DISPOSED: ['scrap', 'trashed', 'disposed'],
16
+ SEPARATED: ['termination', 'resignation', 'retirement', 'separated'],
17
+ UNAVAILABLE: ['unavailable', 'unAvailable']
18
+ };
19
+ this.ACTION_ALIASES = {
20
+ accept: 'view',
21
+ achive: 'unactive'
22
+ };
23
+ this.rules = {
24
+ assigningstart: (r) => r.status === 'To be start Assigning' && !r.isDeleted,
25
+ assigningstop: (r) => r.status === 'Assigning Start' && !r.isDeleted,
26
+ evaluationstart: (r) => r.status === 'Assigning Stop' && !r.isDeleted,
27
+ completed: (r) => r.status === 'Evaluation Start' && !r.isDeleted,
28
+ archive: (r) => this.canArchiveOrDelete(r),
29
+ unactive: (r) => this.canArchiveOrDelete(r),
30
+ delete: (r) => this.canArchiveOrDelete(r),
31
+ unarchive: (r) => r.isDeleted && r.availStatus !== 'disposed',
32
+ active: (r) => r.isDeleted && r.availStatus !== 'disposed',
33
+ link: (r) => !this.STATUS_SETS.UNAVAILABLE.includes(r.status) &&
34
+ !r.isDeleted &&
35
+ r.availStatus !== 'disposed' &&
36
+ r.status !== 'linked',
37
+ unlink: (r, ctx) => ctx.showUnLink === true && r.status === 'linked',
38
+ rejoin: (r) => this.STATUS_SETS.SEPARATED.includes(r.accountStatus),
39
+ settlementinfo: (r) => this.STATUS_SETS.SEPARATED.includes(r.accountStatus),
40
+ assign: (r) => r.status !== 'assigned',
41
+ edit: (r, ctx) => this.canEdit(r, ctx),
42
+ trash: (r) => !this.STATUS_SETS.DISPOSED.includes(r.availStatus),
43
+ scrap: (r) => !this.STATUS_SETS.DISPOSED.includes(r.availStatus),
44
+ retain: (r) => !this.STATUS_SETS.DISPOSED.includes(r.availStatus),
45
+ defaultgrade: (r) => r.isCustomGrade !== 'Active',
46
+ subscribe: (r, ctx) => !r.assignedToIds.includes(ctx.currentUserId),
47
+ unsubscribe: (r, ctx) => r.assignedToIds.includes(ctx.currentUserId),
48
+ changestatus: (r) => !r.isDeleted,
49
+ download: (r) => r.offerLetter !== null,
50
+ view: (r) => r.offerLetter !== null
51
+ };
52
+ }
53
+ normalizeRow(element) {
54
+ return {
55
+ isDeleted: element.is_deleted === true || element.is_deleted === 'true',
56
+ status: element.status || '',
57
+ availStatus: element.availStatus || '',
58
+ accountStatus: (element.account_status || '').toLowerCase(),
59
+ assigneeCount: element.assignee?.length ?? 0,
60
+ assignedToIds: element.assigned_to?.map((x) => x.id) ?? [],
61
+ settlementCompleted: element.settlement_completed === true,
62
+ finalSettlementCompleted: element.final_settlement_completed === true,
63
+ storeEdit: element.store_edit !== false,
64
+ isOwner: element.is_owner ?? true,
65
+ isCustomGrade: element.is_custom_grade || '',
66
+ parent: element.parent,
67
+ offerLetter: element.offer_letter,
68
+ typename: element.__typename || ''
69
+ };
70
+ }
71
+ normalizeAction(action, ctx) {
72
+ let normalized = this.ACTION_ALIASES[action] || action;
73
+ if (ctx.packageData) {
74
+ if (action === 'unarchive')
75
+ return 'active';
76
+ if (action === 'archive')
77
+ return 'unactive';
78
+ }
79
+ return normalized.toLowerCase();
80
+ }
81
+ canArchiveOrDelete(r) {
82
+ return (!r.isDeleted &&
83
+ !r.settlementCompleted &&
84
+ !r.finalSettlementCompleted &&
85
+ r.availStatus !== 'reserved' &&
86
+ r.assigneeCount === 0 &&
87
+ r.availStatus !== 'disposed' &&
88
+ r.availStatus !== 'maintenance' &&
89
+ r.availStatus !== 'assigned' &&
90
+ !this.STATUS_SETS.ARCHIVE_BLOCKED.includes(r.status) &&
91
+ r.parent !== null);
92
+ }
93
+ canEdit(r, ctx) {
94
+ const isBlocked = this.STATUS_SETS.EDIT_BLOCKED.includes(r.status) ||
95
+ r.isDeleted ||
96
+ !r.storeEdit ||
97
+ r.availStatus === 'disposed' ||
98
+ r.settlementCompleted ||
99
+ r.finalSettlementCompleted;
100
+ if (isBlocked)
101
+ return false;
102
+ if (ctx.tableType === 'BusinessExpenseListing') {
103
+ return true;
104
+ }
105
+ return r.status !== 'accepted' && r.isOwner;
106
+ }
107
+ isActionValid(action, element, ctx = {}) {
108
+ const row = this.normalizeRow(element);
109
+ const normalizedAction = this.normalizeAction(action, ctx);
110
+ const rule = this.rules[normalizedAction];
111
+ if (rule) {
112
+ return rule(row, ctx);
113
+ }
114
+ return row.availStatus !== 'disposed' || row.typename === 'Alert';
115
+ }
116
+ getValidActions(actions, element, ctx = {}) {
117
+ if (!actions?.length)
118
+ return [];
119
+ let validActions = actions.filter(action => this.isActionValid(action, element, ctx));
120
+ if (ctx.tableType === 'recruitmentListing') {
121
+ validActions = this.applyRecruitmentFilters(validActions, element);
122
+ }
123
+ return validActions;
124
+ }
125
+ applyRecruitmentFilters(actions, element) {
126
+ let filtered = [...actions];
127
+ if (element?.status === 'hired' && !element?.is_deleted) {
128
+ filtered = filtered.filter(action => !['changestatus', 'unarchive', 'archive', 'edit'].includes(action));
129
+ }
130
+ if (element?.is_deleted) {
131
+ filtered = filtered.filter(action => action !== 'changestatus');
132
+ }
133
+ if (element?.offer_letter === null) {
134
+ filtered = filtered.filter(action => !['download', 'view'].includes(action));
135
+ }
136
+ return filtered;
137
+ }
138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RowActionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
139
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RowActionService, providedIn: 'root' }); }
140
+ }
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RowActionService, decorators: [{
142
+ type: Injectable,
143
+ args: [{ providedIn: 'root' }]
144
+ }] });
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWFjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1ncmlkL3NyYy9saWIvc2VydmljZXMvcm93LWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBNkIzQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBR21CLGdCQUFXLEdBQUc7WUFDN0IsWUFBWSxFQUFFO2dCQUNaLFNBQVMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCO2dCQUN6RCxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RELFdBQVcsRUFBRSxVQUFVO2FBQ3hCO1lBQ0QsZUFBZSxFQUFFO2dCQUNmLFVBQVUsRUFBRSxXQUFXLEVBQUUsaUJBQWlCO2dCQUMxQyxXQUFXLEVBQUUsa0JBQWtCO2FBQ2hDO1lBQ0QsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUM7WUFDMUMsU0FBUyxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDO1lBQ3BFLFdBQVcsRUFBRSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUM7U0FDbkMsQ0FBQztRQUVNLG1CQUFjLEdBQTJCO1lBQ3hELE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFLFVBQVU7U0FDbkIsQ0FBQztRQUVlLFVBQUssR0FBK0I7WUFDbkQsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLHVCQUF1QixJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDM0UsYUFBYSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxDQUFDLFNB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SyxvQkFBb0IsRUFBRTtZQUMxQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNwRTtRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxPQUFpQixFQUFFLE9BQVk7UUFDN0QsSUFBSSxRQUFRLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBRTVCLElBQUksT0FBTyxFQUFFLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFO1lBQ3ZELFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2xDLENBQUMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ25FLENBQUM7U0FDSDtRQUVELElBQUksT0FBTyxFQUFFLFVBQVUsRUFBRTtZQUN2QixRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxjQUFjLENBQUMsQ0FBQztTQUNqRTtRQUVELElBQUksT0FBTyxFQUFFLFlBQVksS0FBSyxJQUFJLEVBQUU7WUFDbEMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDbEMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ3ZDLENBQUM7U0FDSDtRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7K0dBNUtVLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBREgsTUFBTTs7NEZBQ25CLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbnRleHQge1xyXG4gIHRhYmxlVHlwZT86IHN0cmluZztcclxuICBwYWNrYWdlRGF0YT86IGJvb2xlYW47XHJcbiAgc2hvd1VuTGluaz86IGJvb2xlYW47XHJcbiAgY3VycmVudFVzZXJJZD86IHN0cmluZyB8IG51bWJlcjtcclxufVxyXG5cclxuaW50ZXJmYWNlIE5vcm1hbGl6ZWRSb3cge1xyXG4gIGlzRGVsZXRlZDogYm9vbGVhbjtcclxuICBzdGF0dXM6IHN0cmluZztcclxuICBhdmFpbFN0YXR1czogc3RyaW5nO1xyXG4gIGFjY291bnRTdGF0dXM6IHN0cmluZztcclxuICBhc3NpZ25lZUNvdW50OiBudW1iZXI7XHJcbiAgYXNzaWduZWRUb0lkczogKHN0cmluZyB8IG51bWJlcilbXTtcclxuICBzZXR0bGVtZW50Q29tcGxldGVkOiBib29sZWFuO1xyXG4gIGZpbmFsU2V0dGxlbWVudENvbXBsZXRlZDogYm9vbGVhbjtcclxuICBzdG9yZUVkaXQ6IGJvb2xlYW47XHJcbiAgaXNPd25lcjogYm9vbGVhbjtcclxuICBpc0N1c3RvbUdyYWRlOiBzdHJpbmc7XHJcbiAgcGFyZW50OiBhbnk7XHJcbiAgb2ZmZXJMZXR0ZXI6IGFueTtcclxuICB0eXBlbmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIEFjdGlvblJ1bGUgPSAocm93OiBOb3JtYWxpemVkUm93LCBjdHg6IEFjdGlvbkNvbnRleHQpID0+IGJvb2xlYW47XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUm93QWN0aW9uU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgU1RBVFVTX1NFVFMgPSB7XHJcbiAgICBFRElUX0JMT0NLRUQ6IFtcclxuICAgICAgJ2V4cGlyZWQnLCAnY2xvc2VkJywgJ0Fzc2lnbmluZyBTdG9wJywgJ0V2YWx1YXRpb24gU3RhcnQnLFxyXG4gICAgICAnRXZhbHVhdGlvbiBTdG9wJywgJ0NvbXBsZXRlZCcsICdhcHByb3ZlZCcsICdyZWplY3RlZCcsXHJcbiAgICAgICdwYXJ0aWFsbHknLCAnYWNjZXB0ZWQnXHJcbiAgICBdLFxyXG4gICAgQVJDSElWRV9CTE9DS0VEOiBbXHJcbiAgICAgICdhcHByb3ZlZCcsICdwYXJ0aWFsbHknLCAnQXNzaWduaW5nIFN0YXJ0JyxcclxuICAgICAgJ0NvbXBsZXRlZCcsICdFdmFsdWF0aW9uIFN0YXJ0J1xyXG4gICAgXSxcclxuICAgIERJU1BPU0VEOiBbJ3NjcmFwJywgJ3RyYXNoZWQnLCAnZGlzcG9zZWQnXSxcclxuICAgIFNFUEFSQVRFRDogWyd0ZXJtaW5hdGlvbicsICdyZXNpZ25hdGlvbicsICdyZXRpcmVtZW50JywgJ3NlcGFyYXRlZCddLFxyXG4gICAgVU5BVkFJTEFCTEU6IFsndW5hdmFpbGFibGUnLCAndW5BdmFpbGFibGUnXVxyXG4gIH0gYXMgY29uc3Q7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgQUNUSU9OX0FMSUFTRVM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XHJcbiAgICBhY2NlcHQ6ICd2aWV3JyxcclxuICAgIGFjaGl2ZTogJ3VuYWN0aXZlJ1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgcnVsZXM6IFJlY29yZDxzdHJpbmcsIEFjdGlvblJ1bGU+ID0ge1xyXG4gICAgYXNzaWduaW5nc3RhcnQ6IChyKSA9PiByLnN0YXR1cyA9PT0gJ1RvIGJlIHN0YXJ0IEFzc2lnbmluZycgJiYgIXIuaXNEZWxldGVkLFxyXG4gICAgYXNzaWduaW5nc3RvcDogKHIpID0+IHIuc3RhdHVzID09PSAnQXNzaWduaW5nIFN0YXJ0JyAmJiAhci5pc0RlbGV0ZWQsXHJcbiAgICBldmFsdWF0aW9uc3RhcnQ6IChyKSA9PiByLnN0YXR1cyA9PT0gJ0Fzc2lnbmluZyBTdG9wJyAmJiAhci5pc0RlbGV0ZWQsXHJcbiAgICBjb21wbGV0ZWQ6IChyKSA9PiByLnN0YXR1cyA9PT0gJ0V2YWx1YXRpb24gU3RhcnQnICYmICFyLmlzRGVsZXRlZCxcclxuXHJcbiAgICBhcmNoaXZlOiAocikgPT4gdGhpcy5jYW5BcmNoaXZlT3JEZWxldGUociksXHJcbiAgICB1bmFjdGl2ZTogKHIpID0+IHRoaXMuY2FuQXJjaGl2ZU9yRGVsZXRlKHIpLFxyXG4gICAgZGVsZXRlOiAocikgPT4gdGhpcy5jYW5BcmNoaXZlT3JEZWxldGUociksXHJcblxyXG4gICAgdW5hcmNoaXZlOiAocikgPT4gci5pc0RlbGV0ZWQgJiYgci5hdmFpbFN0YXR1cyAhPT0gJ2Rpc3Bvc2VkJyxcclxuICAgIGFjdGl2ZTogKHIpID0+IHIuaXNEZWxldGVkICYmIHIuYXZhaWxTdGF0dXMgIT09ICdkaXNwb3NlZCcsXHJcblxyXG4gICAgbGluazogKHIpID0+IFxyXG4gICAgICAhdGhpcy5TVEFUVVNfU0VUUy5VTkFWQUlMQUJMRS5pbmNsdWRlcygoci5zdGF0dXMgYXMgYW55KSkgJiZcclxuICAgICAgIXIuaXNEZWxldGVkICYmXHJcbiAgICAgIHIuYXZhaWxTdGF0dXMgIT09ICdkaXNwb3NlZCcgJiZcclxuICAgICAgci5zdGF0dXMgIT09ICdsaW5rZWQnLFxyXG4gICAgdW5saW5rOiAociwgY3R4KSA9PiBjdHguc2hvd1VuTGluayA9PT0gdHJ1ZSAmJiByLnN0YXR1cyA9PT0gJ2xpbmtlZCcsXHJcblxyXG4gICAgcmVqb2luOiAocikgPT4gdGhpcy5TVEFUVVNfU0VUUy5TRVBBUkFURUQuaW5jbHVkZXMoKHIuYWNjb3VudFN0YXR1cyBhcyBhbnkpKSxcclxuICAgIHNldHRsZW1lbnRpbmZvOiAocikgPT4gdGhpcy5TVEFUVVNfU0VUUy5TRVBBUkFURUQuaW5jbHVkZXMoKHIuYWNjb3VudFN0YXR1cyBhcyBhbnkpKSxcclxuXHJcbiAgICBhc3NpZ246IChyKSA9PiByLnN0YXR1cyAhPT0gJ2Fzc2lnbmVkJyxcclxuICAgIGVkaXQ6IChyLCBjdHgpID0+IHRoaXMuY2FuRWRpdChyLCBjdHgpLFxyXG5cclxuICAgIHRyYXNoOiAocikgPT4gIXRoaXMuU1RBVFVTX1NFVFMuRElTUE9TRUQuaW5jbHVkZXMoKHIuYXZhaWxTdGF0dXMgYXMgYW55KSksXHJcbiAgICBzY3JhcDogKHIpID0+ICF0aGlzLlNUQVRVU19TRVRTLkRJU1BPU0VELmluY2x1ZGVzKChyLmF2YWlsU3RhdHVzIGFzIGFueSkpLFxyXG4gICAgcmV0YWluOiAocikgPT4gIXRoaXMuU1RBVFVTX1NFVFMuRElTUE9TRUQuaW5jbHVkZXMoKHIuYXZhaWxTdGF0dXMgYXMgYW55KSksXHJcblxyXG4gICAgZGVmYXVsdGdyYWRlOiAocikgPT4gci5pc0N1c3RvbUdyYWRlICE9PSAnQWN0aXZlJyxcclxuXHJcbiAgICBzdWJzY3JpYmU6IChyLCBjdHgpID0+ICFyLmFzc2lnbmVkVG9JZHMuaW5jbHVkZXMoKGN0eC5jdXJyZW50VXNlcklkIGFzIGFueSkpLFxyXG4gICAgdW5zdWJzY3JpYmU6IChyLCBjdHgpID0+IHIuYXNzaWduZWRUb0lkcy5pbmNsdWRlcygoY3R4LmN1cnJlbnRVc2VySWQgYXMgYW55KSksXHJcblxyXG4gICAgY2hhbmdlc3RhdHVzOiAocikgPT4gIXIuaXNEZWxldGVkLFxyXG5cclxuICAgIGRvd25sb2FkOiAocikgPT4gci5vZmZlckxldHRlciAhPT0gbnVsbCxcclxuICAgIHZpZXc6IChyKSA9PiByLm9mZmVyTGV0dGVyICE9PSBudWxsXHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBub3JtYWxpemVSb3coZWxlbWVudDogYW55KTogTm9ybWFsaXplZFJvdyB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpc0RlbGV0ZWQ6IGVsZW1lbnQuaXNfZGVsZXRlZCA9PT0gdHJ1ZSB8fCBlbGVtZW50LmlzX2RlbGV0ZWQgPT09ICd0cnVlJyxcclxuICAgICAgc3RhdHVzOiBlbGVtZW50LnN0YXR1cyB8fCAnJyxcclxuICAgICAgYXZhaWxTdGF0dXM6IGVsZW1lbnQuYXZhaWxTdGF0dXMgfHwgJycsXHJcbiAgICAgIGFjY291bnRTdGF0dXM6IChlbGVtZW50LmFjY291bnRfc3RhdHVzIHx8ICcnKS50b0xvd2VyQ2FzZSgpLFxyXG4gICAgICBhc3NpZ25lZUNvdW50OiBlbGVtZW50LmFzc2lnbmVlPy5sZW5ndGggPz8gMCxcclxuICAgICAgYXNzaWduZWRUb0lkczogZWxlbWVudC5hc3NpZ25lZF90bz8ubWFwKCh4OiBhbnkpID0+IHguaWQpID8/IFtdLFxyXG4gICAgICBzZXR0bGVtZW50Q29tcGxldGVkOiBlbGVtZW50LnNldHRsZW1lbnRfY29tcGxldGVkID09PSB0cnVlLFxyXG4gICAgICBmaW5hbFNldHRsZW1lbnRDb21wbGV0ZWQ6IGVsZW1lbnQuZmluYWxfc2V0dGxlbWVudF9jb21wbGV0ZWQgPT09IHRydWUsXHJcbiAgICAgIHN0b3JlRWRpdDogZWxlbWVudC5zdG9yZV9lZGl0ICE9PSBmYWxzZSxcclxuICAgICAgaXNPd25lcjogZWxlbWVudC5pc19vd25lciA/PyB0cnVlLFxyXG4gICAgICBpc0N1c3RvbUdyYWRlOiBlbGVtZW50LmlzX2N1c3RvbV9ncmFkZSB8fCAnJyxcclxuICAgICAgcGFyZW50OiBlbGVtZW50LnBhcmVudCxcclxuICAgICAgb2ZmZXJMZXR0ZXI6IGVsZW1lbnQub2ZmZXJfbGV0dGVyLFxyXG4gICAgICB0eXBlbmFtZTogZWxlbWVudC5fX3R5cGVuYW1lIHx8ICcnXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBub3JtYWxpemVBY3Rpb24oYWN0aW9uOiBzdHJpbmcsIGN0eDogQWN0aW9uQ29udGV4dCk6IHN0cmluZyB7XHJcbiAgICBsZXQgbm9ybWFsaXplZCA9IHRoaXMuQUNUSU9OX0FMSUFTRVNbYWN0aW9uXSB8fCBhY3Rpb247XHJcblxyXG4gICAgaWYgKGN0eC5wYWNrYWdlRGF0YSkge1xyXG4gICAgICBpZiAoYWN0aW9uID09PSAndW5hcmNoaXZlJykgcmV0dXJuICdhY3RpdmUnO1xyXG4gICAgICBpZiAoYWN0aW9uID09PSAnYXJjaGl2ZScpIHJldHVybiAndW5hY3RpdmUnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBub3JtYWxpemVkLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbkFyY2hpdmVPckRlbGV0ZShyOiBOb3JtYWxpemVkUm93KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAhci5pc0RlbGV0ZWQgJiZcclxuICAgICAgIXIuc2V0dGxlbWVudENvbXBsZXRlZCAmJlxyXG4gICAgICAhci5maW5hbFNldHRsZW1lbnRDb21wbGV0ZWQgJiZcclxuICAgICAgci5hdmFpbFN0YXR1cyAhPT0gJ3Jlc2VydmVkJyAmJlxyXG4gICAgICByLmFzc2lnbmVlQ291bnQgPT09IDAgJiZcclxuICAgICAgci5hdmFpbFN0YXR1cyAhPT0gJ2Rpc3Bvc2VkJyAmJlxyXG4gICAgICByLmF2YWlsU3RhdHVzICE9PSAnbWFpbnRlbmFuY2UnICYmXHJcbiAgICAgIHIuYXZhaWxTdGF0dXMgIT09ICdhc3NpZ25lZCcgJiZcclxuICAgICAgIXRoaXMuU1RBVFVTX1NFVFMuQVJDSElWRV9CTE9DS0VELmluY2x1ZGVzKChyLnN0YXR1cyBhcyBhbnkpKSAmJlxyXG4gICAgICByLnBhcmVudCAhPT0gbnVsbFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FuRWRpdChyOiBOb3JtYWxpemVkUm93LCBjdHg6IEFjdGlvbkNvbnRleHQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGlzQmxvY2tlZCA9IFxyXG4gICAgICB0aGlzLlNUQVRVU19TRVRTLkVESVRfQkxPQ0tFRC5pbmNsdWRlcygoci5zdGF0dXMgYXMgYW55KSkgfHxcclxuICAgICAgci5pc0RlbGV0ZWQgfHxcclxuICAgICAgIXIuc3RvcmVFZGl0IHx8XHJcbiAgICAgIHIuYXZhaWxTdGF0dXMgPT09ICdkaXNwb3NlZCcgfHxcclxuICAgICAgci5zZXR0bGVtZW50Q29tcGxldGVkIHx8XHJcbiAgICAgIHIuZmluYWxTZXR0bGVtZW50Q29tcGxldGVkO1xyXG5cclxuICAgIGlmIChpc0Jsb2NrZWQpIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBpZiAoY3R4LnRhYmxlVHlwZSA9PT0gJ0J1c2luZXNzRXhwZW5zZUxpc3RpbmcnKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByLnN0YXR1cyAhPT0gJ2FjY2VwdGVkJyAmJiByLmlzT3duZXI7XHJcbiAgfVxyXG5cclxuICBpc0FjdGlvblZhbGlkKGFjdGlvbjogc3RyaW5nLCBlbGVtZW50OiBhbnksIGN0eDogQWN0aW9uQ29udGV4dCA9IHt9KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByb3cgPSB0aGlzLm5vcm1hbGl6ZVJvdyhlbGVtZW50KTtcclxuICAgIGNvbnN0IG5vcm1hbGl6ZWRBY3Rpb24gPSB0aGlzLm5vcm1hbGl6ZUFjdGlvbihhY3Rpb24sIGN0eCk7XHJcbiAgICBjb25zdCBydWxlID0gdGhpcy5ydWxlc1tub3JtYWxpemVkQWN0aW9uXTtcclxuXHJcbiAgICBpZiAocnVsZSkge1xyXG4gICAgICByZXR1cm4gcnVsZShyb3csIGN0eCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJvdy5hdmFpbFN0YXR1cyAhPT0gJ2Rpc3Bvc2VkJyB8fCByb3cudHlwZW5hbWUgPT09ICdBbGVydCc7XHJcbiAgfVxyXG5cclxuICBnZXRWYWxpZEFjdGlvbnMoYWN0aW9uczogc3RyaW5nW10sIGVsZW1lbnQ6IGFueSwgY3R4OiBBY3Rpb25Db250ZXh0ID0ge30pOiBzdHJpbmdbXSB7XHJcbiAgICBpZiAoIWFjdGlvbnM/Lmxlbmd0aCkgcmV0dXJuIFtdO1xyXG4gICAgXHJcbiAgICBsZXQgdmFsaWRBY3Rpb25zID0gYWN0aW9ucy5maWx0ZXIoYWN0aW9uID0+IFxyXG4gICAgICB0aGlzLmlzQWN0aW9uVmFsaWQoYWN0aW9uLCBlbGVtZW50LCBjdHgpXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChjdHgudGFibGVUeXBlID09PSAncmVjcnVpdG1lbnRMaXN0aW5nJykge1xyXG4gICAgICB2YWxpZEFjdGlvbnMgPSB0aGlzLmFwcGx5UmVjcnVpdG1lbnRGaWx0ZXJzKHZhbGlkQWN0aW9ucywgZWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZhbGlkQWN0aW9ucztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlSZWNydWl0bWVudEZpbHRlcnMoYWN0aW9uczogc3RyaW5nW10sIGVsZW1lbnQ6IGFueSk6IHN0cmluZ1tdIHtcclxuICAgIGxldCBmaWx0ZXJlZCA9IFsuLi5hY3Rpb25zXTtcclxuXHJcbiAgICBpZiAoZWxlbWVudD8uc3RhdHVzID09PSAnaGlyZWQnICYmICFlbGVtZW50Py5pc19kZWxldGVkKSB7XHJcbiAgICAgIGZpbHRlcmVkID0gZmlsdGVyZWQuZmlsdGVyKGFjdGlvbiA9PiBcclxuICAgICAgICAhWydjaGFuZ2VzdGF0dXMnLCAndW5hcmNoaXZlJywgJ2FyY2hpdmUnLCAnZWRpdCddLmluY2x1ZGVzKGFjdGlvbilcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZWxlbWVudD8uaXNfZGVsZXRlZCkge1xyXG4gICAgICBmaWx0ZXJlZCA9IGZpbHRlcmVkLmZpbHRlcihhY3Rpb24gPT4gYWN0aW9uICE9PSAnY2hhbmdlc3RhdHVzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGVsZW1lbnQ/Lm9mZmVyX2xldHRlciA9PT0gbnVsbCkge1xyXG4gICAgICBmaWx0ZXJlZCA9IGZpbHRlcmVkLmZpbHRlcihhY3Rpb24gPT4gXHJcbiAgICAgICAgIVsnZG93bmxvYWQnLCAndmlldyddLmluY2x1ZGVzKGFjdGlvbilcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmlsdGVyZWQ7XHJcbiAgfVxyXG59Il19
@@ -145,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
145
145
  providedIn: 'root',
146
146
  }]
147
147
  }] });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtY29sdW1ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1ncmlkL3NyYy9saWIvc2VydmljZXMvc3BsaXQtY29sdW1ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsY0FBYyxDQUFDLE9BQWMsRUFBRSxjQUFzQjtRQUNuRCxNQUFNLElBQUksR0FBVSxFQUFFLENBQUM7UUFDdkIsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFVLEVBQUUsQ0FBQztRQUV4QixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRTtZQUN6QixJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUN4QixNQUFNLFlBQVksR0FBVSxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sY0FBYyxHQUFVLEVBQUUsQ0FBQztnQkFDakMsTUFBTSxhQUFhLEdBQVUsRUFBRSxDQUFDO2dCQUVoQyxLQUFLLE1BQU0sS0FBSyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUU7b0JBQ2hDLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxLQUFLO3dCQUFFLFNBQVM7b0JBRXpDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7b0JBQ2xELE1BQU0sZUFBZSxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBRTdDLElBQUksTUFBTSxLQUFLLE1BQU07d0JBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzt5QkFDckQsSUFBSSxNQUFNLEtBQUssT0FBTzt3QkFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDOzt3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QyxPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUlTLHFCQUFxQixDQUFDLE9BQWM7UUFDMUMsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1FBRXpCLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFO1lBQ3pCLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUU7Z0JBQ3hCLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUN6QyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQ25DLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUU7Z0JBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbEI7U0FDRjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7K0dBaktVLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTcGxpdENvbHVtbnNTZXJ2aWNlIHtcbiAgcHJlcGFyZUNvbHVtbnMoY29sdW1uczogYW55W10sIGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiBhbnkge1xuICAgIGNvbnN0IGxlZnQ6IGFueVtdID0gW107XG4gICAgY29uc3QgY2VudGVyOiBhbnlbXSA9IFtdO1xuICAgIGNvbnN0IHJpZ2h0OiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBjb2wgb2YgY29sdW1ucykge1xuICAgICAgaWYgKGNvbC5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGxlZnRDaGlsZHJlbjogYW55W10gPSBbXTtcbiAgICAgICAgY29uc3QgY2VudGVyQ2hpbGRyZW46IGFueVtdID0gW107XG4gICAgICAgIGNvbnN0IHJpZ2h0Q2hpbGRyZW46IGFueVtdID0gW107XG5cbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjb2wuY2hpbGRyZW4pIHtcbiAgICAgICAgICBpZiAoY2hpbGQuaXNfdmlzaWJsZSA9PT0gZmFsc2UpIGNvbnRpbnVlO1xuXG4gICAgICAgICAgY29uc3QgcGlubmVkID0gY2hpbGQucGlubmVkID8/IGNvbC5waW5uZWQgPz8gbnVsbDtcbiAgICAgICAgICBjb25zdCBjaGlsZFdpdGhQaW5uZWQgPSB7IC4uLmNoaWxkLCBwaW5uZWQgfTtcblxuICAgICAgICAgIGlmIChwaW5uZWQgPT09ICdsZWZ0JykgbGVmdENoaWxkcmVuLnB1c2goY2hpbGRXaXRoUGlubmVkKTtcbiAgICAgICAgICBlbHNlIGlmIChwaW5uZWQgPT09ICdyaWdodCcpIHJpZ2h0Q2hpbGRyZW4ucHVzaChjaGlsZFdpdGhQaW5uZWQpO1xuICAgICAgICAgIGVsc2UgY2VudGVyQ2hpbGRyZW4ucHVzaChjaGlsZFdpdGhQaW5uZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxlZnRDaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICBsZWZ0LnB1c2goeyBoZWFkZXI6IGNvbC5oZWFkZXIsIGNoaWxkcmVuOiBsZWZ0Q2hpbGRyZW4sIGlkOiBjb2w/LmlkIHx8IGNvbD8uX2lkIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjZW50ZXJDaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICBjZW50ZXIucHVzaCh7XG4gICAgICAgICAgICBoZWFkZXI6IGNvbC5oZWFkZXIsXG4gICAgICAgICAgICBjaGlsZHJlbjogY2VudGVyQ2hpbGRyZW4sXG4gICAgICAgICAgICBpZDogY29sLmlkIHx8IGNvbC5faWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJpZ2h0Q2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgcmlnaHQucHVzaCh7XG4gICAgICAgICAgICBoZWFkZXI6IGNvbC5oZWFkZXIsXG4gICAgICAgICAgICBjaGlsZHJlbjogcmlnaHRDaGlsZHJlbixcbiAgICAgICAgICAgIGlkOiBjb2wuaWQgfHwgY29sLl9pZCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjb2wuaXNfdmlzaWJsZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgcGlubmVkID0gY29sLnBpbm5lZCA/PyBudWxsO1xuICAgICAgICBpZiAocGlubmVkID09PSAnbGVmdCcpIGxlZnQucHVzaChjb2wpO1xuICAgICAgICBlbHNlIGlmIChwaW5uZWQgPT09ICdyaWdodCcpIHJpZ2h0LnB1c2goY29sKTtcbiAgICAgICAgZWxzZSBjZW50ZXIucHVzaChjb2wpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGxlZnQsIGNlbnRlciwgcmlnaHQgfTtcbiAgfVxuXG4gIHNldENvbHVtbnNRdWVyeShjb2x1bW5zOiBhbnlbXSkge1xuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbHVtbnMpIHtcbiAgICAgIC8vIGlmIChjb2wuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgLy8gICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNvbC5jaGlsZHJlbikge1xuICAgICAgLy8gICAgIGlmICghY2hpbGQ/LnF1ZXJ5Py5maXJ0X3ZhbHVlICYmICFjaGlsZD8ucXVlcnk/Ll9pZHM/Lmxlbmd0aCkge1xuICAgICAgLy8gICAgICAgY2hpbGRbJ3F1ZXJ5J10gPSB7XG4gICAgICAvLyAgICAgICAgIGZpcnN0X2NvbmRpdGlvbjogJ2NvbnRhaW4nLFxuICAgICAgLy8gICAgICAgICBmaXJzdF92YWx1ZTogbnVsbCxcbiAgICAgIC8vICAgICAgICAgY29uZGl0aW9uOiAnbm9uZScsXG4gICAgICAvLyAgICAgICAgIHNlY29uZF9jb25kaXRpb246ICdjb250YWluJyxcbiAgICAgIC8vICAgICAgICAgc2Vjb25kX3ZhbHVlOiBudWxsLFxuICAgICAgLy8gICAgICAgICBfaWRzOiBbXSxcbiAgICAgIC8vICAgICAgIH07XG4gICAgICAvLyAgICAgfVxuICAgICAgLy8gICB9XG4gICAgICAvLyB9XG4gICAgICAvLyBpZiAoIWNvbD8ucXVlcnk/LmZpcnRfdmFsdWUgJiYgIWNvbD8ucXVlcnk/Ll9pZHM/Lmxlbmd0aCkge1xuICAgICAgLy8gICBjb2wucXVlcnkgPSB7XG4gICAgICAvLyAgICAgZmlyc3RfY29uZGl0aW9uOiAnY29udGFpbicsXG4gICAgICAvLyAgICAgZmlyc3RfdmFsdWU6IG51bGwsXG4gICAgICAvLyAgICAgY29uZGl0aW9uOiAnbm9uZScsXG4gICAgICAvLyAgICAgc2Vjb25kX2NvbmRpdGlvbjogJ2NvbnRhaW4nLFxuICAgICAgLy8gICAgIHNlY29uZF92YWx1ZTogbnVsbCxcbiAgICAgIC8vICAgICBfaWRzOiBbXSxcbiAgICAgIC8vICAgfTtcbiAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZygnVXBkYXRlZCBDb2x1bW5zOiAnLCBjb2x1bW5zKTtcblxuICAgIHJldHVybiBjb2x1bW5zO1xuICB9XG5cbiAgYXNzaWduRGVmYXVsdFdpZHRocyhjb2x1bW5zOiBhbnlbXSwgY29udGFpbmVyV2lkdGg6IG51bWJlcik6IGFueVtdIHtcbiAgY29uc3QgdmlzaWJsZUxlYWZDb2xzID0gdGhpcy5nZXRWaXNpYmxlTGVhZkNvbHVtbnMoY29sdW1ucyk7XG5cbiAgaWYgKCF2aXNpYmxlTGVhZkNvbHMubGVuZ3RoKSByZXR1cm4gY29sdW1ucztcblxuICAvLyDinIUgQ29sdW1ucyB0aGF0IGFscmVhZHkgaGF2ZSB3aWR0aFxuICBjb25zdCBmaXhlZENvbHMgPSB2aXNpYmxlTGVhZkNvbHMuZmlsdGVyKFxuICAgIGNvbCA9PiBjb2wud2lkdGggJiYgY29sLndpZHRoID4gMFxuICApO1xuXG4gIC8vIOKchSBDb2x1bW5zIHRoYXQgbmVlZCB3aWR0aFxuICBjb25zdCBmbGV4aWJsZUNvbHMgPSB2aXNpYmxlTGVhZkNvbHMuZmlsdGVyKFxuICAgIGNvbCA9PiAhY29sLndpZHRoICYmIGNvbC5pc192aXNpYmxlICE9PSBmYWxzZVxuICApO1xuXG4gIC8vIOKchSBUb3RhbCB3aWR0aCBhbHJlYWR5IGNvbnN1bWVkXG4gIGNvbnN0IHVzZWRXaWR0aCA9IGZpeGVkQ29scy5yZWR1Y2UoXG4gICAgKHN1bSwgY29sKSA9PiBzdW0gKyBjb2wud2lkdGgsXG4gICAgMFxuICApO1xuXG4gIC8vIOKchSBSZW1haW5pbmcgd2lkdGggYWZ0ZXIgZml4ZWQgY29sdW1uc1xuICBsZXQgcmVtYWluaW5nV2lkdGggPSBjb250YWluZXJXaWR0aCAtICh1c2VkV2lkdGggKyA1MCk7XG4gIGlmIChyZW1haW5pbmdXaWR0aCA8IDApIHJlbWFpbmluZ1dpZHRoID0gMDtcblxuICAvLyDinIUgQXZlcmFnZSB3aWR0aCBmb3IgY29sdW1ucyB3aXRob3V0IHdpZHRoXG4gIGxldCBkZWZhdWx0V2lkdGggPVxuICAgIGZsZXhpYmxlQ29scy5sZW5ndGggPiAwXG4gICAgICA/IE1hdGguZmxvb3IocmVtYWluaW5nV2lkdGggLyBmbGV4aWJsZUNvbHMubGVuZ3RoKVxuICAgICAgOiAwO1xuXG4gIC8vIOKchSBFbmZvcmNlIG1pbmltdW1cbiAgaWYgKGRlZmF1bHRXaWR0aCA8IDE1MCkgZGVmYXVsdFdpZHRoID0gMTUwO1xuXG4gIGNvbnN0IGNsb25lQ29sdW1ucyA9IChjb2xzOiBhbnlbXSk6IGFueVtdID0+XG4gICAgY29scy5tYXAoY29sID0+IHtcbiAgICAgIGlmIChjb2wuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmNvbCxcbiAgICAgICAgICBjaGlsZHJlbjogY2xvbmVDb2x1bW5zKGNvbC5jaGlsZHJlbilcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8g4pyFIEtlZXAgZXhpc3Rpbmcgd2lkdGhcbiAgICAgIGlmIChjb2wud2lkdGgpIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uY29sIH07XG4gICAgICB9XG5cbiAgICAgIC8vIOKchSBIaWRkZW4gY29sdW1ucyDihpIgZml4ZWQgc21hbGwgd2lkdGhcbiAgICAgIGlmIChjb2wuaXNfdmlzaWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uY29sLCB3aWR0aDogMTUwIH07XG4gICAgICB9XG5cbiAgICAgIC8vIOKchSBBc3NpZ24gY2FsY3VsYXRlZCBkZWZhdWx0IHdpZHRoXG4gICAgICByZXR1cm4geyAuLi5jb2wsIHdpZHRoOiBkZWZhdWx0V2lkdGggfTtcbiAgICB9KTtcblxuICByZXR1cm4gY2xvbmVDb2x1bW5zKGNvbHVtbnMpO1xufVxuXG5cblxuICBwcml2YXRlIGdldFZpc2libGVMZWFmQ29sdW1ucyhjb2x1bW5zOiBhbnlbXSk6IGFueVtdIHtcbiAgICBjb25zdCByZXN1bHQ6IGFueVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBjb2x1bW5zKSB7XG4gICAgICBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgdmlzaWJsZUNoaWxkcmVuID0gY29sLmNoaWxkcmVuLmZpbHRlcihcbiAgICAgICAgICAoYzogYW55KSA9PiBjLmlzX3Zpc2libGUgIT09IGZhbHNlXG4gICAgICAgICk7XG4gICAgICAgIHJlc3VsdC5wdXNoKC4uLnZpc2libGVDaGlsZHJlbik7XG4gICAgICB9IGVsc2UgaWYgKGNvbC5pc192aXNpYmxlICE9PSBmYWxzZSkge1xuICAgICAgICByZXN1bHQucHVzaChjb2wpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtY29sdW1ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1ncmlkL3NyYy9saWIvc2VydmljZXMvc3BsaXQtY29sdW1ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsY0FBYyxDQUFDLE9BQWMsRUFBRSxjQUFzQjtRQUNuRCxNQUFNLElBQUksR0FBVSxFQUFFLENBQUM7UUFDdkIsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFVLEVBQUUsQ0FBQztRQUV4QixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRTtZQUN6QixJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUN4QixNQUFNLFlBQVksR0FBVSxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sY0FBYyxHQUFVLEVBQUUsQ0FBQztnQkFDakMsTUFBTSxhQUFhLEdBQVUsRUFBRSxDQUFDO2dCQUVoQyxLQUFLLE1BQU0sS0FBSyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUU7b0JBQ2hDLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxLQUFLO3dCQUFFLFNBQVM7b0JBRXpDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7b0JBQ2xELE1BQU0sZUFBZSxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBRTdDLElBQUksTUFBTSxLQUFLLE1BQU07d0JBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzt5QkFDckQsSUFBSSxNQUFNLEtBQUssT0FBTzt3QkFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDOzt3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QyxPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUlTLHFCQUFxQixDQUFDLE9BQWM7UUFDMUMsTUFBTSxNQUFNLEdBQVUsRUFBRSxDQUFDO1FBRXpCLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFO1lBQ3pCLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUU7Z0JBQ3hCLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUN6QyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQ25DLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUU7Z0JBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbEI7U0FDRjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7K0dBaktVLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BsaXRDb2x1bW5zU2VydmljZSB7XHJcbiAgcHJlcGFyZUNvbHVtbnMoY29sdW1uczogYW55W10sIGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiBhbnkge1xyXG4gICAgY29uc3QgbGVmdDogYW55W10gPSBbXTtcclxuICAgIGNvbnN0IGNlbnRlcjogYW55W10gPSBbXTtcclxuICAgIGNvbnN0IHJpZ2h0OiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbHVtbnMpIHtcclxuICAgICAgaWYgKGNvbC5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgY29uc3QgbGVmdENoaWxkcmVuOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IGNlbnRlckNoaWxkcmVuOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IHJpZ2h0Q2hpbGRyZW46IGFueVtdID0gW107XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY29sLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgICBpZiAoY2hpbGQuaXNfdmlzaWJsZSA9PT0gZmFsc2UpIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAgIGNvbnN0IHBpbm5lZCA9IGNoaWxkLnBpbm5lZCA/PyBjb2wucGlubmVkID8/IG51bGw7XHJcbiAgICAgICAgICBjb25zdCBjaGlsZFdpdGhQaW5uZWQgPSB7IC4uLmNoaWxkLCBwaW5uZWQgfTtcclxuXHJcbiAgICAgICAgICBpZiAocGlubmVkID09PSAnbGVmdCcpIGxlZnRDaGlsZHJlbi5wdXNoKGNoaWxkV2l0aFBpbm5lZCk7XHJcbiAgICAgICAgICBlbHNlIGlmIChwaW5uZWQgPT09ICdyaWdodCcpIHJpZ2h0Q2hpbGRyZW4ucHVzaChjaGlsZFdpdGhQaW5uZWQpO1xyXG4gICAgICAgICAgZWxzZSBjZW50ZXJDaGlsZHJlbi5wdXNoKGNoaWxkV2l0aFBpbm5lZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAobGVmdENoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgbGVmdC5wdXNoKHsgaGVhZGVyOiBjb2wuaGVhZGVyLCBjaGlsZHJlbjogbGVmdENoaWxkcmVuLCBpZDogY29sPy5pZCB8fCBjb2w/Ll9pZCB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNlbnRlckNoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgY2VudGVyLnB1c2goe1xyXG4gICAgICAgICAgICBoZWFkZXI6IGNvbC5oZWFkZXIsXHJcbiAgICAgICAgICAgIGNoaWxkcmVuOiBjZW50ZXJDaGlsZHJlbixcclxuICAgICAgICAgICAgaWQ6IGNvbC5pZCB8fCBjb2wuX2lkLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChyaWdodENoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgcmlnaHQucHVzaCh7XHJcbiAgICAgICAgICAgIGhlYWRlcjogY29sLmhlYWRlcixcclxuICAgICAgICAgICAgY2hpbGRyZW46IHJpZ2h0Q2hpbGRyZW4sXHJcbiAgICAgICAgICAgIGlkOiBjb2wuaWQgfHwgY29sLl9pZCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChjb2wuaXNfdmlzaWJsZSAhPT0gZmFsc2UpIHtcclxuICAgICAgICBjb25zdCBwaW5uZWQgPSBjb2wucGlubmVkID8/IG51bGw7XHJcbiAgICAgICAgaWYgKHBpbm5lZCA9PT0gJ2xlZnQnKSBsZWZ0LnB1c2goY29sKTtcclxuICAgICAgICBlbHNlIGlmIChwaW5uZWQgPT09ICdyaWdodCcpIHJpZ2h0LnB1c2goY29sKTtcclxuICAgICAgICBlbHNlIGNlbnRlci5wdXNoKGNvbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4geyBsZWZ0LCBjZW50ZXIsIHJpZ2h0IH07XHJcbiAgfVxyXG5cclxuICBzZXRDb2x1bW5zUXVlcnkoY29sdW1uczogYW55W10pIHtcclxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbHVtbnMpIHtcclxuICAgICAgLy8gaWYgKGNvbC5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgIC8vICAgZm9yIChjb25zdCBjaGlsZCBvZiBjb2wuY2hpbGRyZW4pIHtcclxuICAgICAgLy8gICAgIGlmICghY2hpbGQ/LnF1ZXJ5Py5maXJ0X3ZhbHVlICYmICFjaGlsZD8ucXVlcnk/Ll9pZHM/Lmxlbmd0aCkge1xyXG4gICAgICAvLyAgICAgICBjaGlsZFsncXVlcnknXSA9IHtcclxuICAgICAgLy8gICAgICAgICBmaXJzdF9jb25kaXRpb246ICdjb250YWluJyxcclxuICAgICAgLy8gICAgICAgICBmaXJzdF92YWx1ZTogbnVsbCxcclxuICAgICAgLy8gICAgICAgICBjb25kaXRpb246ICdub25lJyxcclxuICAgICAgLy8gICAgICAgICBzZWNvbmRfY29uZGl0aW9uOiAnY29udGFpbicsXHJcbiAgICAgIC8vICAgICAgICAgc2Vjb25kX3ZhbHVlOiBudWxsLFxyXG4gICAgICAvLyAgICAgICAgIF9pZHM6IFtdLFxyXG4gICAgICAvLyAgICAgICB9O1xyXG4gICAgICAvLyAgICAgfVxyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfVxyXG4gICAgICAvLyBpZiAoIWNvbD8ucXVlcnk/LmZpcnRfdmFsdWUgJiYgIWNvbD8ucXVlcnk/Ll9pZHM/Lmxlbmd0aCkge1xyXG4gICAgICAvLyAgIGNvbC5xdWVyeSA9IHtcclxuICAgICAgLy8gICAgIGZpcnN0X2NvbmRpdGlvbjogJ2NvbnRhaW4nLFxyXG4gICAgICAvLyAgICAgZmlyc3RfdmFsdWU6IG51bGwsXHJcbiAgICAgIC8vICAgICBjb25kaXRpb246ICdub25lJyxcclxuICAgICAgLy8gICAgIHNlY29uZF9jb25kaXRpb246ICdjb250YWluJyxcclxuICAgICAgLy8gICAgIHNlY29uZF92YWx1ZTogbnVsbCxcclxuICAgICAgLy8gICAgIF9pZHM6IFtdLFxyXG4gICAgICAvLyAgIH07XHJcbiAgICAgIC8vIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zb2xlLmxvZygnVXBkYXRlZCBDb2x1bW5zOiAnLCBjb2x1bW5zKTtcclxuXHJcbiAgICByZXR1cm4gY29sdW1ucztcclxuICB9XHJcblxyXG4gIGFzc2lnbkRlZmF1bHRXaWR0aHMoY29sdW1uczogYW55W10sIGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiBhbnlbXSB7XHJcbiAgY29uc3QgdmlzaWJsZUxlYWZDb2xzID0gdGhpcy5nZXRWaXNpYmxlTGVhZkNvbHVtbnMoY29sdW1ucyk7XHJcblxyXG4gIGlmICghdmlzaWJsZUxlYWZDb2xzLmxlbmd0aCkgcmV0dXJuIGNvbHVtbnM7XHJcblxyXG4gIC8vIOKchSBDb2x1bW5zIHRoYXQgYWxyZWFkeSBoYXZlIHdpZHRoXHJcbiAgY29uc3QgZml4ZWRDb2xzID0gdmlzaWJsZUxlYWZDb2xzLmZpbHRlcihcclxuICAgIGNvbCA9PiBjb2wud2lkdGggJiYgY29sLndpZHRoID4gMFxyXG4gICk7XHJcblxyXG4gIC8vIOKchSBDb2x1bW5zIHRoYXQgbmVlZCB3aWR0aFxyXG4gIGNvbnN0IGZsZXhpYmxlQ29scyA9IHZpc2libGVMZWFmQ29scy5maWx0ZXIoXHJcbiAgICBjb2wgPT4gIWNvbC53aWR0aCAmJiBjb2wuaXNfdmlzaWJsZSAhPT0gZmFsc2VcclxuICApO1xyXG5cclxuICAvLyDinIUgVG90YWwgd2lkdGggYWxyZWFkeSBjb25zdW1lZFxyXG4gIGNvbnN0IHVzZWRXaWR0aCA9IGZpeGVkQ29scy5yZWR1Y2UoXHJcbiAgICAoc3VtLCBjb2wpID0+IHN1bSArIGNvbC53aWR0aCxcclxuICAgIDBcclxuICApO1xyXG5cclxuICAvLyDinIUgUmVtYWluaW5nIHdpZHRoIGFmdGVyIGZpeGVkIGNvbHVtbnNcclxuICBsZXQgcmVtYWluaW5nV2lkdGggPSBjb250YWluZXJXaWR0aCAtICh1c2VkV2lkdGggKyA1MCk7XHJcbiAgaWYgKHJlbWFpbmluZ1dpZHRoIDwgMCkgcmVtYWluaW5nV2lkdGggPSAwO1xyXG5cclxuICAvLyDinIUgQXZlcmFnZSB3aWR0aCBmb3IgY29sdW1ucyB3aXRob3V0IHdpZHRoXHJcbiAgbGV0IGRlZmF1bHRXaWR0aCA9XHJcbiAgICBmbGV4aWJsZUNvbHMubGVuZ3RoID4gMFxyXG4gICAgICA/IE1hdGguZmxvb3IocmVtYWluaW5nV2lkdGggLyBmbGV4aWJsZUNvbHMubGVuZ3RoKVxyXG4gICAgICA6IDA7XHJcblxyXG4gIC8vIOKchSBFbmZvcmNlIG1pbmltdW1cclxuICBpZiAoZGVmYXVsdFdpZHRoIDwgMTUwKSBkZWZhdWx0V2lkdGggPSAxNTA7XHJcblxyXG4gIGNvbnN0IGNsb25lQ29sdW1ucyA9IChjb2xzOiBhbnlbXSk6IGFueVtdID0+XHJcbiAgICBjb2xzLm1hcChjb2wgPT4ge1xyXG4gICAgICBpZiAoY29sLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4uY29sLFxyXG4gICAgICAgICAgY2hpbGRyZW46IGNsb25lQ29sdW1ucyhjb2wuY2hpbGRyZW4pXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8g4pyFIEtlZXAgZXhpc3Rpbmcgd2lkdGhcclxuICAgICAgaWYgKGNvbC53aWR0aCkge1xyXG4gICAgICAgIHJldHVybiB7IC4uLmNvbCB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyDinIUgSGlkZGVuIGNvbHVtbnMg4oaSIGZpeGVkIHNtYWxsIHdpZHRoXHJcbiAgICAgIGlmIChjb2wuaXNfdmlzaWJsZSA9PT0gZmFsc2UpIHtcclxuICAgICAgICByZXR1cm4geyAuLi5jb2wsIHdpZHRoOiAxNTAgfTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8g4pyFIEFzc2lnbiBjYWxjdWxhdGVkIGRlZmF1bHQgd2lkdGhcclxuICAgICAgcmV0dXJuIHsgLi4uY29sLCB3aWR0aDogZGVmYXVsdFdpZHRoIH07XHJcbiAgICB9KTtcclxuXHJcbiAgcmV0dXJuIGNsb25lQ29sdW1ucyhjb2x1bW5zKTtcclxufVxyXG5cclxuXHJcblxyXG4gIHByaXZhdGUgZ2V0VmlzaWJsZUxlYWZDb2x1bW5zKGNvbHVtbnM6IGFueVtdKTogYW55W10ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbHVtbnMpIHtcclxuICAgICAgaWYgKGNvbC5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgY29uc3QgdmlzaWJsZUNoaWxkcmVuID0gY29sLmNoaWxkcmVuLmZpbHRlcihcclxuICAgICAgICAgIChjOiBhbnkpID0+IGMuaXNfdmlzaWJsZSAhPT0gZmFsc2VcclxuICAgICAgICApO1xyXG4gICAgICAgIHJlc3VsdC5wdXNoKC4uLnZpc2libGVDaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSBpZiAoY29sLmlzX3Zpc2libGUgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgcmVzdWx0LnB1c2goY29sKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -5,4 +5,4 @@ export * from './lib/data-grid.module';
5
5
  export * from './lib/data-grid/data-grid.component';
6
6
  // export * from './lib/interfaces/data-grid-config.ts';
7
7
  export * from './lib/services/common.service';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGEtZ3JpZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCx3REFBd0Q7QUFDeEQsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZGF0YS1ncmlkXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1ncmlkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWdyaWQvZGF0YS1ncmlkLmNvbXBvbmVudCc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2RhdGEtZ3JpZC1jb25maWcudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGEtZ3JpZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCx3REFBd0Q7QUFDeEQsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBkYXRhLWdyaWRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWdyaWQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1ncmlkL2RhdGEtZ3JpZC5jb21wb25lbnQnO1xyXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2RhdGEtZ3JpZC1jb25maWcudHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jb21tb24uc2VydmljZSc7XHJcbiJdfQ==