@sumaris-net/ngx-components 1.19.11-rc6 → 1.19.12

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.
@@ -172,4 +172,4 @@ PersonService.ctorParameters = () => [
172
172
  { type: NetworkService },
173
173
  { type: EntitiesStorage }
174
174
  ];
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2FkbWluL3NlcnZpY2VzL3BlcnNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBYyxHQUFHLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDbEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNyRixPQUFPLEVBQUMsTUFBTSxFQUFtQixNQUFNLHdDQUF3QyxDQUFDO0FBRWhGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUUvRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFlLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUE2QixpQkFBaUIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzVHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7O0FBRTlELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixNQUFNLEVBQUUsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFxQlQ7Q0FDSCxDQUFDO0FBRUYscUJBQXFCO0FBQ3JCLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE9BQU8sRUFBRSxHQUFHLENBQUE7Ozs7OztNQU1SLGVBQWUsQ0FBQyxNQUFNLEVBQUU7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LFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7OztZQXBJRixVQUFVLFNBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOzs7WUEzRXhCLGNBQWM7WUFTZCxlQUFlO1lBUmYsY0FBYztZQUNkLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGZXRjaFBvbGljeSwgZ3FsfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7R3JhcGhxbFNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvZ3JhcGhxbC9ncmFwaHFsLnNlcnZpY2UnO1xuaW1wb3J0IHtOZXR3b3JrU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHtFbnRpdGllc1N0b3JhZ2V9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvc3RvcmFnZS9lbnRpdGllcy1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHtQZXJzb24sIFVzZXJQcm9maWxlTGFiZWx9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvcGVyc29uLm1vZGVsJztcbmltcG9ydCB7UmVmZXJlbnRpYWxVdGlsc30gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9yZWZlcmVudGlhbC5tb2RlbCc7XG5pbXBvcnQge1N0YXR1c0lkc30gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9tb2RlbC5lbnVtJztcbmltcG9ydCB7U29ydERpcmVjdGlvbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQge0pvYlV0aWxzfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvam9iLnV0aWxzJztcbmltcG9ydCB7TG9hZFJlc3VsdCwgU3VnZ2VzdFNlcnZpY2V9IGZyb20gJy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQge1BsYXRmb3JtU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7UGVyc29uRmlsdGVyfSBmcm9tICcuL2ZpbHRlci9wZXJzb24uZmlsdGVyJztcbmltcG9ydCB7RW50aXR5VXRpbHMsIGlzSW5zdGFuY2VPZn0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHtCYXNlRW50aXR5R3JhcGhxbE11dGF0aW9ucywgQmFzZUVudGl0eVNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvYmFzZS1lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQge2Vudmlyb25tZW50fSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuXG5leHBvcnQgY29uc3QgUGVyc29uRnJhZ21lbnRzID0ge1xuICBwZXJzb246IGdxbGBmcmFnbWVudCBQZXJzb25GcmFnbWVudCBvbiBQZXJzb25WTyB7XG4gICAgaWRcbiAgICBmaXJzdE5hbWVcbiAgICBsYXN0TmFtZVxuICAgIGVtYWlsXG4gICAgcHVia2V5XG4gICAgYXZhdGFyXG4gICAgc3RhdHVzSWRcbiAgICB1cGRhdGVEYXRlXG4gICAgY3JlYXRpb25EYXRlXG4gICAgcHJvZmlsZXNcbiAgICB1c2VybmFtZVxuICAgIHVzZXJuYW1lRXh0cmFuZXRcbiAgICBkZXBhcnRtZW50IHtcbiAgICAgIGlkXG4gICAgICBsYWJlbFxuICAgICAgbmFtZVxuICAgICAgbG9nb1xuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgICBfX3R5cGVuYW1lXG4gIH1gXG59O1xuXG4vLyBMb2FkIHBlcnNvbnMgcXVlcnlcbmNvbnN0IFBlcnNvblF1ZXJpZXMgPSB7XG4gIGxvYWRBbGw6IGdxbGBcbiAgICBxdWVyeSBQZXJzb25zKCRvZmZzZXQ6IEludCwgJHNpemU6IEludCwgJHNvcnRCeTogU3RyaW5nLCAkc29ydERpcmVjdGlvbjogU3RyaW5nLCAkZmlsdGVyOiBQZXJzb25GaWx0ZXJWT0lucHV0KXtcbiAgICAgIGRhdGE6IHBlcnNvbnMoZmlsdGVyOiAkZmlsdGVyLCBvZmZzZXQ6ICRvZmZzZXQsIHNpemU6ICRzaXplLCBzb3J0Qnk6ICRzb3J0QnksIHNvcnREaXJlY3Rpb246ICRzb3J0RGlyZWN0aW9uKXtcbiAgICAgICAgLi4uUGVyc29uRnJhZ21lbnRcbiAgICAgIH1cbiAgICB9XG4gICAgJHtQZXJzb25GcmFnbWVudHMucGVyc29ufWAsXG5cbiAgbG9hZEFsbFdpdGhUb3RhbDogZ3FsYFxuICAgIHF1ZXJ5IFBlcnNvbnNXaXRoVG90YWwoJG9mZnNldDogSW50LCAkc2l6ZTogSW50LCAkc29ydEJ5OiBTdHJpbmcsICRzb3J0RGlyZWN0aW9uOiBTdHJpbmcsICRmaWx0ZXI6IFBlcnNvbkZpbHRlclZPSW5wdXQpe1xuICAgICAgZGF0YTogcGVyc29ucyhmaWx0ZXI6ICRmaWx0ZXIsIG9mZnNldDogJG9mZnNldCwgc2l6ZTogJHNpemUsIHNvcnRCeTogJHNvcnRCeSwgc29ydERpcmVjdGlvbjogJHNvcnREaXJlY3Rpb24pe1xuICAgICAgICAuLi5QZXJzb25GcmFnbWVudFxuICAgICAgfVxuICAgICAgdG90YWw6IHBlcnNvbnNDb3VudChmaWx0ZXI6ICRmaWx0ZXIpXG4gICAgfVxuICAgICR7UGVyc29uRnJhZ21lbnRzLnBlcnNvbn1gXG59O1xuXG5cbmNvbnN0IFBlcnNvbk11dGF0aW9uczogQmFzZUVudGl0eUdyYXBocWxNdXRhdGlvbnMgPSB7XG4gIHNhdmVBbGw6IGdxbGBcbiAgICBtdXRhdGlvbiBzYXZlUGVyc29ucygkZGF0YTpbUGVyc29uVk9JbnB1dF0pe1xuICAgICAgZGF0YTogc2F2ZVBlcnNvbnMocGVyc29uczogJGRhdGEpe1xuICAgICAgICAuLi5QZXJzb25GcmFnbWVudFxuICAgICAgfVxuICAgIH1cbiAgICAke1BlcnNvbkZyYWdtZW50cy5wZXJzb259YCxcbiAgZGVsZXRlQWxsOiBncWxgXG4gICAgbXV0YXRpb24gZGVsZXRlUGVyc29ucygkaWRzOltJbnRdKXtcbiAgICAgIGRlbGV0ZVBlcnNvbnMoaWRzOiAkaWRzKVxuICAgIH1gXG59O1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBQZXJzb25TZXJ2aWNlIGV4dGVuZHMgQmFzZUVudGl0eVNlcnZpY2U8UGVyc29uLCBQZXJzb25GaWx0ZXI+XG4gIGltcGxlbWVudHMgU3VnZ2VzdFNlcnZpY2U8UGVyc29uLCBQZXJzb25GaWx0ZXI+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZ3JhcGhxbDogR3JhcGhxbFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHBsYXRmb3JtOiBQbGF0Zm9ybVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIG5ldHdvcms6IE5ldHdvcmtTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBlbnRpdGllczogRW50aXRpZXNTdG9yYWdlXG4gICkge1xuICAgIHN1cGVyKGdyYXBocWwsIHBsYXRmb3JtLCBQZXJzb24sIFBlcnNvbkZpbHRlciwge1xuICAgICAgcXVlcmllczogUGVyc29uUXVlcmllcyxcbiAgICAgIG11dGF0aW9uczogUGVyc29uTXV0YXRpb25zLFxuICAgICAgZGVmYXVsdFNvcnRCeTogJ2xhc3ROYW1lJyxcbiAgICAgIGRlZmF1bHRTb3J0RGlyZWN0aW9uOiAnYXNjJ1xuICAgIH0pO1xuXG4gICAgLy8gZm9yIERFViBvbmx5IC0tLS0tXG4gICAgdGhpcy5fZGVidWcgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBbGwob2Zmc2V0OiBudW1iZXIsIHNpemU6IG51bWJlciwgc29ydEJ5Pzogc3RyaW5nLFxuICAgICAgICAgICAgICAgIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uLFxuICAgICAgICAgICAgICAgIGZpbHRlcj86IFBhcnRpYWw8UGVyc29uRmlsdGVyPiwgb3B0cz86IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICBmZXRjaFBvbGljeT86IEZldGNoUG9saWN5O1xuICAgICAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgICAgIHdpdGhUb3RhbD86IGJvb2xlYW47XG4gICAgICAgIHRvRW50aXR5PzogYm9vbGVhbjtcbiAgICAgIH0pOiBQcm9taXNlPExvYWRSZXN1bHQ8UGVyc29uPj4ge1xuXG4gICAgY29uc3Qgb2ZmbGluZSA9IHRoaXMubmV0d29yay5vZmZsaW5lICYmICghb3B0cyB8fCBvcHRzLmZldGNoUG9saWN5ICE9PSAnbmV0d29yay1vbmx5Jyk7XG4gICAgaWYgKG9mZmxpbmUpIHtcbiAgICAgIHJldHVybiB0aGlzLmxvYWRBbGxMb2NhbGx5KG9mZnNldCwgc2l6ZSwgc29ydEJ5LCBzb3J0RGlyZWN0aW9uLCBmaWx0ZXIsIG9wdHMpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5sb2FkQWxsKG9mZnNldCwgc2l6ZSwgc29ydEJ5LCBzb3J0RGlyZWN0aW9uLCBmaWx0ZXIsIG9wdHMpO1xuICB9XG5cbiAgYXN5bmMgbG9hZEFsbExvY2FsbHkob2Zmc2V0OiBudW1iZXIsIHNpemU6IG51bWJlciwgc29ydEJ5Pzogc3RyaW5nLCBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyPzogUGFydGlhbDxQZXJzb25GaWx0ZXI+LFxuICAgICAgICAgICAgICAgICAgICAgICBvcHRzPzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaFBvbGljeT86IEZldGNoUG9saWN5O1xuICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoVG90YWw/OiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgIHRvRW50aXR5PzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgfSk6IFByb21pc2U8TG9hZFJlc3VsdDxQZXJzb24+PiB7XG5cbiAgICBmaWx0ZXIgPSB0aGlzLmFzRmlsdGVyKGZpbHRlcik7XG5cbiAgICBjb25zdCB2YXJpYWJsZXMgPSB7XG4gICAgICBvZmZzZXQ6IG9mZnNldCB8fCAwLFxuICAgICAgc2l6ZTogc2l6ZSB8fCAxMDAsXG4gICAgICBzb3J0Qnk6IHNvcnRCeSB8fCB0aGlzLmRlZmF1bHRTb3J0QnksXG4gICAgICBzb3J0RGlyZWN0aW9uOiBzb3J0RGlyZWN0aW9uIHx8IHRoaXMuZGVmYXVsdFNvcnREaXJlY3Rpb24sXG4gICAgICBmaWx0ZXI6IGZpbHRlciAmJiBmaWx0ZXIuYXNGaWx0ZXJGbigpXG4gICAgfTtcblxuICAgIGNvbnN0IHtkYXRhLCB0b3RhbH0gPSBhd2FpdCB0aGlzLmVudGl0aWVzLmxvYWRBbGw8UGVyc29uPignUGVyc29uVk8nLCB2YXJpYWJsZXMpO1xuXG4gICAgY29uc3QgZW50aXRpZXMgPSAoIW9wdHMgfHwgb3B0cy50b0VudGl0eSAhPT0gZmFsc2UpID9cbiAgICAgIChkYXRhIHx8IFtdKS5tYXAoUGVyc29uLmZyb21PYmplY3QpIDpcbiAgICAgIChkYXRhIHx8IFtdKSBhcyBQZXJzb25bXTtcbiAgICByZXR1cm4ge1xuICAgICAgZGF0YTogZW50aXRpZXMsXG4gICAgICB0b3RhbFxuICAgIH07XG4gIH1cblxuICBhc3luYyBzdWdnZXN0KHZhbHVlOiBhbnksIGZpbHRlcj86IFBlcnNvbkZpbHRlciwgc29ydEJ5Pzogc3RyaW5nLCBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbik6IFByb21pc2U8TG9hZFJlc3VsdDxQZXJzb24+PiB7XG4gICAgaWYgKEVudGl0eVV0aWxzLmlzTm90RW1wdHkodmFsdWUsICdpZCcpKSByZXR1cm4ge2RhdGE6IFt2YWx1ZV19O1xuICAgIHZhbHVlID0gKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUgIT09ICcqJykgJiYgdmFsdWUgfHwgdW5kZWZpbmVkO1xuICAgIHNvcnRCeSA9IHNvcnRCeSB8fCBmaWx0ZXIuc2VhcmNoQXR0cmlidXRlIHx8IChmaWx0ZXIuc2VhcmNoQXR0cmlidXRlcyAmJiBmaWx0ZXIuc2VhcmNoQXR0cmlidXRlc1swXSk7XG4gICAgcmV0dXJuIHRoaXMubG9hZEFsbCgwLCAhdmFsdWUgPyAzMCA6IDEwLCBzb3J0QnksIHNvcnREaXJlY3Rpb24sXG4gICAgICB7XG4gICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgc2VhcmNoVGV4dDogdmFsdWUgYXMgc3RyaW5nLFxuICAgICAgICBzdGF0dXNJZHM6IGZpbHRlciAmJiBmaWx0ZXIuc3RhdHVzSWRzIHx8IFtTdGF0dXNJZHMuRU5BQkxFXSxcbiAgICAgICAgdXNlclByb2ZpbGVzOiBmaWx0ZXIgJiYgZmlsdGVyLnVzZXJQcm9maWxlc1xuICAgICAgfSxcbiAgICAgIHsgd2l0aFRvdGFsOiB0cnVlIC8qIG5lZWQgYnkgYXV0b2NvbXBsZXRlICovIH1cbiAgICAgICk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlSW1wb3J0KGZpbHRlcjogUGFydGlhbDxQZXJzb25GaWx0ZXI+LFxuICAgICAgICAgICAgICAgICAgICAgIG9wdHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzaW9uPzogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhQcm9ncmVzc2lvbj86IG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICB9KTogUHJvbWlzZTx2b2lkPiB7XG5cbiAgICBjb25zdCBtYXhQcm9ncmVzc2lvbiA9IG9wdHMgJiYgb3B0cy5tYXhQcm9ncmVzc2lvbiB8fCAxMDA7XG4gICAgZmlsdGVyID0ge1xuICAgICAgLi4uZmlsdGVyLFxuICAgICAgc3RhdHVzSWRzOiBbU3RhdHVzSWRzLkVOQUJMRSwgU3RhdHVzSWRzLlRFTVBPUkFSWV0sXG4gICAgICB1c2VyUHJvZmlsZXM6IDxVc2VyUHJvZmlsZUxhYmVsW10+WydTVVBFUlZJU09SJywgJ1VTRVInLCAnR1VFU1QnXVxuICAgIH07XG5cbiAgICBjb25zb2xlLmluZm8oJ1twZXJzb24tc2VydmljZV0gSW1wb3J0aW5nIHBlcnNvbnMuLi4nKTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IEpvYlV0aWxzLmZldGNoQWxsUGFnZXMoKG9mZnNldCwgc2l6ZSkgPT5cbiAgICAgICAgc3VwZXIubG9hZEFsbChvZmZzZXQsIHNpemUsICdpZCcsIG51bGwsIGZpbHRlciwge1xuICAgICAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICAgICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgICAgICAgd2l0aFRvdGFsOiAob2Zmc2V0ID09PSAwKSwgLy8gQ29tcHV0ZSB0b3RhbCBvbmx5IG9uY2VcbiAgICAgICAgICB0b0VudGl0eTogZmFsc2VcbiAgICAgICAgfSksXG4gICAgICB7cHJvZ3Jlc3Npb246IG9wdHM/LnByb2dyZXNzaW9uLCBtYXhQcm9ncmVzc2lvbjogbWF4UHJvZ3Jlc3Npb24gKiAwLjl9XG4gICAgKTtcblxuICAgIC8vIFNhdmUgcmVzdWx0IGxvY2FsbHlcbiAgICBhd2FpdCB0aGlzLmVudGl0aWVzLnNhdmVBbGwocmVzLmRhdGEsIHtlbnRpdHlOYW1lOiAnUGVyc29uVk8nLCByZXNldDogdHJ1ZX0pO1xuICB9XG5cbiAgLyogLS0gcHJvdGVjdGVkIG1ldGhvZHMgLS0gKi9cblxuICBwcm90ZWN0ZWQgYXNPYmplY3Qoc291cmNlOiBQZXJzb24gfCBhbnkpOiBhbnkge1xuICAgIGlmICghc291cmNlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc29sZS5kZWJ1ZygnVE9ETyBjaGVjayBpc0luc3RhbmNlT2YnKTtcbiAgICBpZiAoIShzb3VyY2UgaW5zdGFuY2VvZiBQZXJzb24pKSB7XG4gICAgICBzb3VyY2UgPSBQZXJzb24uZnJvbU9iamVjdChzb3VyY2UpO1xuICAgIH1cbiAgICBjb25zdCB0YXJnZXQgPSBzb3VyY2UuYXNPYmplY3QoKTtcblxuICAgIC8vIE5vdCBrbm93biBpbiBzZXJ2ZXIgR3JhcGhRTCBzY2hlbWFcbiAgICBkZWxldGUgdGFyZ2V0Lm1haW5Qcm9maWxlO1xuXG4gICAgLy8gTWluaWZ5IHRoZSBkZXBhcnRtZW50IG9iamVjdFxuICAgIHRhcmdldC5kZXBhcnRtZW50ID0gc291cmNlLmRlcGFydG1lbnQgJiYgc291cmNlLmRlcGFydG1lbnQuYXNPYmplY3QodHJ1ZSk7XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbn1cbiJdfQ==
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2FkbWluL3NlcnZpY2VzL3BlcnNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBYyxHQUFHLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDbEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNyRixPQUFPLEVBQUMsTUFBTSxFQUFtQixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUUvRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDbkUsT0FBTyxFQUE2QixpQkFBaUIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzVHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7O0FBRTlELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixNQUFNLEVBQUUsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFxQlQ7Q0FDSCxDQUFDO0FBRUYscUJBQXFCO0FBQ3JCLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE9BQU8sRUFBRSxHQUFHLENBQUE7Ozs7OztNQU1SLGVBQWUsQ0FBQyxNQUFNLEVBQUU7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LFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7OztZQXBJRixVQUFVLFNBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOzs7WUExRXhCLGNBQWM7WUFRZCxlQUFlO1lBUGYsY0FBYztZQUNkLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGZXRjaFBvbGljeSwgZ3FsfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7R3JhcGhxbFNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvZ3JhcGhxbC9ncmFwaHFsLnNlcnZpY2UnO1xuaW1wb3J0IHtOZXR3b3JrU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHtFbnRpdGllc1N0b3JhZ2V9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvc3RvcmFnZS9lbnRpdGllcy1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHtQZXJzb24sIFVzZXJQcm9maWxlTGFiZWx9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvcGVyc29uLm1vZGVsJztcbmltcG9ydCB7U3RhdHVzSWRzfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL21vZGVsLmVudW0nO1xuaW1wb3J0IHtTb3J0RGlyZWN0aW9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7Sm9iVXRpbHN9IGZyb20gJy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9qb2IudXRpbHMnO1xuaW1wb3J0IHtMb2FkUmVzdWx0LCBTdWdnZXN0U2VydmljZX0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL2VudGl0eS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7UGxhdGZvcm1TZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3BsYXRmb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHtQZXJzb25GaWx0ZXJ9IGZyb20gJy4vZmlsdGVyL3BlcnNvbi5maWx0ZXInO1xuaW1wb3J0IHtFbnRpdHlVdGlsc30gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHtCYXNlRW50aXR5R3JhcGhxbE11dGF0aW9ucywgQmFzZUVudGl0eVNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvYmFzZS1lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQge2Vudmlyb25tZW50fSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuXG5leHBvcnQgY29uc3QgUGVyc29uRnJhZ21lbnRzID0ge1xuICBwZXJzb246IGdxbGBmcmFnbWVudCBQZXJzb25GcmFnbWVudCBvbiBQZXJzb25WTyB7XG4gICAgaWRcbiAgICBmaXJzdE5hbWVcbiAgICBsYXN0TmFtZVxuICAgIGVtYWlsXG4gICAgcHVia2V5XG4gICAgYXZhdGFyXG4gICAgc3RhdHVzSWRcbiAgICB1cGRhdGVEYXRlXG4gICAgY3JlYXRpb25EYXRlXG4gICAgcHJvZmlsZXNcbiAgICB1c2VybmFtZVxuICAgIHVzZXJuYW1lRXh0cmFuZXRcbiAgICBkZXBhcnRtZW50IHtcbiAgICAgIGlkXG4gICAgICBsYWJlbFxuICAgICAgbmFtZVxuICAgICAgbG9nb1xuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgICBfX3R5cGVuYW1lXG4gIH1gXG59O1xuXG4vLyBMb2FkIHBlcnNvbnMgcXVlcnlcbmNvbnN0IFBlcnNvblF1ZXJpZXMgPSB7XG4gIGxvYWRBbGw6IGdxbGBcbiAgICBxdWVyeSBQZXJzb25zKCRvZmZzZXQ6IEludCwgJHNpemU6IEludCwgJHNvcnRCeTogU3RyaW5nLCAkc29ydERpcmVjdGlvbjogU3RyaW5nLCAkZmlsdGVyOiBQZXJzb25GaWx0ZXJWT0lucHV0KXtcbiAgICAgIGRhdGE6IHBlcnNvbnMoZmlsdGVyOiAkZmlsdGVyLCBvZmZzZXQ6ICRvZmZzZXQsIHNpemU6ICRzaXplLCBzb3J0Qnk6ICRzb3J0QnksIHNvcnREaXJlY3Rpb246ICRzb3J0RGlyZWN0aW9uKXtcbiAgICAgICAgLi4uUGVyc29uRnJhZ21lbnRcbiAgICAgIH1cbiAgICB9XG4gICAgJHtQZXJzb25GcmFnbWVudHMucGVyc29ufWAsXG5cbiAgbG9hZEFsbFdpdGhUb3RhbDogZ3FsYFxuICAgIHF1ZXJ5IFBlcnNvbnNXaXRoVG90YWwoJG9mZnNldDogSW50LCAkc2l6ZTogSW50LCAkc29ydEJ5OiBTdHJpbmcsICRzb3J0RGlyZWN0aW9uOiBTdHJpbmcsICRmaWx0ZXI6IFBlcnNvbkZpbHRlclZPSW5wdXQpe1xuICAgICAgZGF0YTogcGVyc29ucyhmaWx0ZXI6ICRmaWx0ZXIsIG9mZnNldDogJG9mZnNldCwgc2l6ZTogJHNpemUsIHNvcnRCeTogJHNvcnRCeSwgc29ydERpcmVjdGlvbjogJHNvcnREaXJlY3Rpb24pe1xuICAgICAgICAuLi5QZXJzb25GcmFnbWVudFxuICAgICAgfVxuICAgICAgdG90YWw6IHBlcnNvbnNDb3VudChmaWx0ZXI6ICRmaWx0ZXIpXG4gICAgfVxuICAgICR7UGVyc29uRnJhZ21lbnRzLnBlcnNvbn1gXG59O1xuXG5cbmNvbnN0IFBlcnNvbk11dGF0aW9uczogQmFzZUVudGl0eUdyYXBocWxNdXRhdGlvbnMgPSB7XG4gIHNhdmVBbGw6IGdxbGBcbiAgICBtdXRhdGlvbiBzYXZlUGVyc29ucygkZGF0YTpbUGVyc29uVk9JbnB1dF0pe1xuICAgICAgZGF0YTogc2F2ZVBlcnNvbnMocGVyc29uczogJGRhdGEpe1xuICAgICAgICAuLi5QZXJzb25GcmFnbWVudFxuICAgICAgfVxuICAgIH1cbiAgICAke1BlcnNvbkZyYWdtZW50cy5wZXJzb259YCxcbiAgZGVsZXRlQWxsOiBncWxgXG4gICAgbXV0YXRpb24gZGVsZXRlUGVyc29ucygkaWRzOltJbnRdKXtcbiAgICAgIGRlbGV0ZVBlcnNvbnMoaWRzOiAkaWRzKVxuICAgIH1gXG59O1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBQZXJzb25TZXJ2aWNlIGV4dGVuZHMgQmFzZUVudGl0eVNlcnZpY2U8UGVyc29uLCBQZXJzb25GaWx0ZXI+XG4gIGltcGxlbWVudHMgU3VnZ2VzdFNlcnZpY2U8UGVyc29uLCBQZXJzb25GaWx0ZXI+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZ3JhcGhxbDogR3JhcGhxbFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHBsYXRmb3JtOiBQbGF0Zm9ybVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIG5ldHdvcms6IE5ldHdvcmtTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBlbnRpdGllczogRW50aXRpZXNTdG9yYWdlXG4gICkge1xuICAgIHN1cGVyKGdyYXBocWwsIHBsYXRmb3JtLCBQZXJzb24sIFBlcnNvbkZpbHRlciwge1xuICAgICAgcXVlcmllczogUGVyc29uUXVlcmllcyxcbiAgICAgIG11dGF0aW9uczogUGVyc29uTXV0YXRpb25zLFxuICAgICAgZGVmYXVsdFNvcnRCeTogJ2xhc3ROYW1lJyxcbiAgICAgIGRlZmF1bHRTb3J0RGlyZWN0aW9uOiAnYXNjJ1xuICAgIH0pO1xuXG4gICAgLy8gZm9yIERFViBvbmx5IC0tLS0tXG4gICAgdGhpcy5fZGVidWcgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBbGwob2Zmc2V0OiBudW1iZXIsIHNpemU6IG51bWJlciwgc29ydEJ5Pzogc3RyaW5nLFxuICAgICAgICAgICAgICAgIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uLFxuICAgICAgICAgICAgICAgIGZpbHRlcj86IFBhcnRpYWw8UGVyc29uRmlsdGVyPiwgb3B0cz86IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICBmZXRjaFBvbGljeT86IEZldGNoUG9saWN5O1xuICAgICAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgICAgIHdpdGhUb3RhbD86IGJvb2xlYW47XG4gICAgICAgIHRvRW50aXR5PzogYm9vbGVhbjtcbiAgICAgIH0pOiBQcm9taXNlPExvYWRSZXN1bHQ8UGVyc29uPj4ge1xuXG4gICAgY29uc3Qgb2ZmbGluZSA9IHRoaXMubmV0d29yay5vZmZsaW5lICYmICghb3B0cyB8fCBvcHRzLmZldGNoUG9saWN5ICE9PSAnbmV0d29yay1vbmx5Jyk7XG4gICAgaWYgKG9mZmxpbmUpIHtcbiAgICAgIHJldHVybiB0aGlzLmxvYWRBbGxMb2NhbGx5KG9mZnNldCwgc2l6ZSwgc29ydEJ5LCBzb3J0RGlyZWN0aW9uLCBmaWx0ZXIsIG9wdHMpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5sb2FkQWxsKG9mZnNldCwgc2l6ZSwgc29ydEJ5LCBzb3J0RGlyZWN0aW9uLCBmaWx0ZXIsIG9wdHMpO1xuICB9XG5cbiAgYXN5bmMgbG9hZEFsbExvY2FsbHkob2Zmc2V0OiBudW1iZXIsIHNpemU6IG51bWJlciwgc29ydEJ5Pzogc3RyaW5nLCBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyPzogUGFydGlhbDxQZXJzb25GaWx0ZXI+LFxuICAgICAgICAgICAgICAgICAgICAgICBvcHRzPzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaFBvbGljeT86IEZldGNoUG9saWN5O1xuICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoVG90YWw/OiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgIHRvRW50aXR5PzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgfSk6IFByb21pc2U8TG9hZFJlc3VsdDxQZXJzb24+PiB7XG5cbiAgICBmaWx0ZXIgPSB0aGlzLmFzRmlsdGVyKGZpbHRlcik7XG5cbiAgICBjb25zdCB2YXJpYWJsZXMgPSB7XG4gICAgICBvZmZzZXQ6IG9mZnNldCB8fCAwLFxuICAgICAgc2l6ZTogc2l6ZSB8fCAxMDAsXG4gICAgICBzb3J0Qnk6IHNvcnRCeSB8fCB0aGlzLmRlZmF1bHRTb3J0QnksXG4gICAgICBzb3J0RGlyZWN0aW9uOiBzb3J0RGlyZWN0aW9uIHx8IHRoaXMuZGVmYXVsdFNvcnREaXJlY3Rpb24sXG4gICAgICBmaWx0ZXI6IGZpbHRlciAmJiBmaWx0ZXIuYXNGaWx0ZXJGbigpXG4gICAgfTtcblxuICAgIGNvbnN0IHtkYXRhLCB0b3RhbH0gPSBhd2FpdCB0aGlzLmVudGl0aWVzLmxvYWRBbGw8UGVyc29uPignUGVyc29uVk8nLCB2YXJpYWJsZXMpO1xuXG4gICAgY29uc3QgZW50aXRpZXMgPSAoIW9wdHMgfHwgb3B0cy50b0VudGl0eSAhPT0gZmFsc2UpID9cbiAgICAgIChkYXRhIHx8IFtdKS5tYXAoUGVyc29uLmZyb21PYmplY3QpIDpcbiAgICAgIChkYXRhIHx8IFtdKSBhcyBQZXJzb25bXTtcbiAgICByZXR1cm4ge1xuICAgICAgZGF0YTogZW50aXRpZXMsXG4gICAgICB0b3RhbFxuICAgIH07XG4gIH1cblxuICBhc3luYyBzdWdnZXN0KHZhbHVlOiBhbnksIGZpbHRlcj86IFBlcnNvbkZpbHRlciwgc29ydEJ5Pzogc3RyaW5nLCBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbik6IFByb21pc2U8TG9hZFJlc3VsdDxQZXJzb24+PiB7XG4gICAgaWYgKEVudGl0eVV0aWxzLmlzTm90RW1wdHkodmFsdWUsICdpZCcpKSByZXR1cm4ge2RhdGE6IFt2YWx1ZV19O1xuICAgIHZhbHVlID0gKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUgIT09ICcqJykgJiYgdmFsdWUgfHwgdW5kZWZpbmVkO1xuICAgIHNvcnRCeSA9IHNvcnRCeSB8fCBmaWx0ZXIuc2VhcmNoQXR0cmlidXRlIHx8IChmaWx0ZXIuc2VhcmNoQXR0cmlidXRlcyAmJiBmaWx0ZXIuc2VhcmNoQXR0cmlidXRlc1swXSk7XG4gICAgcmV0dXJuIHRoaXMubG9hZEFsbCgwLCAhdmFsdWUgPyAzMCA6IDEwLCBzb3J0QnksIHNvcnREaXJlY3Rpb24sXG4gICAgICB7XG4gICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgc2VhcmNoVGV4dDogdmFsdWUgYXMgc3RyaW5nLFxuICAgICAgICBzdGF0dXNJZHM6IGZpbHRlciAmJiBmaWx0ZXIuc3RhdHVzSWRzIHx8IFtTdGF0dXNJZHMuRU5BQkxFXSxcbiAgICAgICAgdXNlclByb2ZpbGVzOiBmaWx0ZXIgJiYgZmlsdGVyLnVzZXJQcm9maWxlc1xuICAgICAgfSxcbiAgICAgIHsgd2l0aFRvdGFsOiB0cnVlIC8qIG5lZWQgYnkgYXV0b2NvbXBsZXRlICovIH1cbiAgICAgICk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlSW1wb3J0KGZpbHRlcjogUGFydGlhbDxQZXJzb25GaWx0ZXI+LFxuICAgICAgICAgICAgICAgICAgICAgIG9wdHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzaW9uPzogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhQcm9ncmVzc2lvbj86IG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICB9KTogUHJvbWlzZTx2b2lkPiB7XG5cbiAgICBjb25zdCBtYXhQcm9ncmVzc2lvbiA9IG9wdHMgJiYgb3B0cy5tYXhQcm9ncmVzc2lvbiB8fCAxMDA7XG4gICAgZmlsdGVyID0ge1xuICAgICAgLi4uZmlsdGVyLFxuICAgICAgc3RhdHVzSWRzOiBbU3RhdHVzSWRzLkVOQUJMRSwgU3RhdHVzSWRzLlRFTVBPUkFSWV0sXG4gICAgICB1c2VyUHJvZmlsZXM6IDxVc2VyUHJvZmlsZUxhYmVsW10+WydTVVBFUlZJU09SJywgJ1VTRVInLCAnR1VFU1QnXVxuICAgIH07XG5cbiAgICBjb25zb2xlLmluZm8oJ1twZXJzb24tc2VydmljZV0gSW1wb3J0aW5nIHBlcnNvbnMuLi4nKTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IEpvYlV0aWxzLmZldGNoQWxsUGFnZXMoKG9mZnNldCwgc2l6ZSkgPT5cbiAgICAgICAgc3VwZXIubG9hZEFsbChvZmZzZXQsIHNpemUsICdpZCcsIG51bGwsIGZpbHRlciwge1xuICAgICAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICAgICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgICAgICAgd2l0aFRvdGFsOiAob2Zmc2V0ID09PSAwKSwgLy8gQ29tcHV0ZSB0b3RhbCBvbmx5IG9uY2VcbiAgICAgICAgICB0b0VudGl0eTogZmFsc2VcbiAgICAgICAgfSksXG4gICAgICB7cHJvZ3Jlc3Npb246IG9wdHM/LnByb2dyZXNzaW9uLCBtYXhQcm9ncmVzc2lvbjogbWF4UHJvZ3Jlc3Npb24gKiAwLjl9XG4gICAgKTtcblxuICAgIC8vIFNhdmUgcmVzdWx0IGxvY2FsbHlcbiAgICBhd2FpdCB0aGlzLmVudGl0aWVzLnNhdmVBbGwocmVzLmRhdGEsIHtlbnRpdHlOYW1lOiAnUGVyc29uVk8nLCByZXNldDogdHJ1ZX0pO1xuICB9XG5cbiAgLyogLS0gcHJvdGVjdGVkIG1ldGhvZHMgLS0gKi9cblxuICBwcm90ZWN0ZWQgYXNPYmplY3Qoc291cmNlOiBQZXJzb24gfCBhbnkpOiBhbnkge1xuICAgIGlmICghc291cmNlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc29sZS5kZWJ1ZygnVE9ETyBjaGVjayBpc0luc3RhbmNlT2YnKTtcbiAgICBpZiAoIShzb3VyY2UgaW5zdGFuY2VvZiBQZXJzb24pKSB7XG4gICAgICBzb3VyY2UgPSBQZXJzb24uZnJvbU9iamVjdChzb3VyY2UpO1xuICAgIH1cbiAgICBjb25zdCB0YXJnZXQgPSBzb3VyY2UuYXNPYmplY3QoKTtcblxuICAgIC8vIE5vdCBrbm93biBpbiBzZXJ2ZXIgR3JhcGhRTCBzY2hlbWFcbiAgICBkZWxldGUgdGFyZ2V0Lm1haW5Qcm9maWxlO1xuXG4gICAgLy8gTWluaWZ5IHRoZSBkZXBhcnRtZW50IG9iamVjdFxuICAgIHRhcmdldC5kZXBhcnRtZW50ID0gc291cmNlLmRlcGFydG1lbnQgJiYgc291cmNlLmRlcGFydG1lbnQuYXNPYmplY3QodHJ1ZSk7XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbn1cbiJdfQ==
@@ -34,8 +34,6 @@ import { AppIconComponent } from './icon/icon.component';
34
34
  import { TextPopover } from './text-popover/text-popover.component';
35
35
  import { TextForm } from './text-popover/text-form.component';
36
36
  import { AppUpdateOfflineModeCard } from './offline/update-offline-mode-card.component';
37
- import { TranslateModule } from '@ngx-translate/core';
38
- import { IonicModule } from '@ionic/angular';
39
37
  export class CoreModule {
40
38
  static forRoot() {
41
39
  console.info('[core] Creating module (root)');
@@ -56,7 +54,6 @@ CoreModule.decorators = [
56
54
  CacheModule,
57
55
  IonicStorageModule,
58
56
  NgxJdenticonModule,
59
- TranslateModule.forChild(),
60
57
  // Sub modules
61
58
  AppGraphQLModule,
62
59
  AppMenuModule
@@ -98,8 +95,6 @@ CoreModule.decorators = [
98
95
  exports: [
99
96
  SharedModule,
100
97
  RouterModule,
101
- IonicModule,
102
- TranslateModule,
103
98
  // Sub modules
104
99
  AppGraphQLModule,
105
100
  AppMenuModule,
@@ -129,4 +124,4 @@ CoreModule.decorators = [
129
124
  ]
130
125
  },] }
131
126
  ];
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzFELDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVB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cEIsa0JBQWtCO29CQUNsQixrQkFBa0I7b0JBQ2xCLG1CQUFtQjtvQkFFbkIsYUFBYTtvQkFDYixRQUFRO29CQUNSLFFBQVE7b0JBQ1IsU0FBUztvQkFDVCwyQkFBMkI7b0JBQzNCLHNCQUFzQjtvQkFDdEIsdUJBQXVCO29CQUN2Qix1QkFBdUI7b0JBQ3ZCLFVBQVU7b0JBQ1YsaUJBQWlCO29CQUNqQixXQUFXO29CQUNYLHFCQUFxQjtvQkFDckIsd0JBQXdCO29CQUN4QixzQkFBc0I7b0JBQ3RCLGdCQUFnQjtvQkFDaEIsV0FBVztvQkFDWCxRQUFRO2lCQUNUO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtBdXRoRm9ybX0gZnJvbSAnLi9hdXRoL2Zvcm0vZm9ybS1hdXRoJztcbmltcG9ydCB7QXV0aE1vZGFsfSBmcm9tICcuL2F1dGgvbW9kYWwvbW9kYWwtYXV0aCc7XG5pbXBvcnQge0Fib3V0TW9kYWx9IGZyb20gJy4vYWJvdXQvbW9kYWwtYWJvdXQnO1xuaW1wb3J0IHtSZWdpc3RlckNvbmZpcm1QYWdlfSBmcm9tICcuL3JlZ2lzdGVyL2NvbmZpcm0vY29uZmlybSc7XG5pbXBvcnQge0FjY291bnRQYWdlfSBmcm9tICcuL2FjY291bnQvYWNjb3VudCc7XG5pbXBvcnQge1NoYXJlZE1vZHVsZX0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHtFbnRpdHlNZXRhZGF0YUNvbXBvbmVudH0gZnJvbSAnLi9mb3JtL2VudGl0eS1tZXRhZGF0YS5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtQnV0dG9uc0JhckNvbXBvbmVudH0gZnJvbSAnLi9mb3JtL2Zvcm0tYnV0dG9ucy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7VGFibGVTZWxlY3RDb2x1bW5zQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlL3RhYmxlLXNlbGVjdC1jb2x1bW5zLmNvbXBvbmVudCc7XG5pbXBvcnQge0lvbmljU3RvcmFnZU1vZHVsZX0gZnJvbSAnQGlvbmljL3N0b3JhZ2UnO1xuaW1wb3J0IHtIb21lUGFnZX0gZnJvbSAnLi9ob21lL2hvbWUnO1xuaW1wb3J0IHtSZWdpc3RlckZvcm19IGZyb20gJy4vcmVnaXN0ZXIvZm9ybS9mb3JtLXJlZ2lzdGVyJztcbmltcG9ydCB7UmVnaXN0ZXJNb2RhbH0gZnJvbSAnLi9yZWdpc3Rlci9tb2RhbC9tb2RhbC1yZWdpc3Rlcic7XG5pbXBvcnQge0FwcEdyYXBoUUxNb2R1bGV9IGZyb20gJy4vZ3JhcGhxbC9ncmFwaHFsLm1vZHVsZSc7XG4vLyBpbXBvcnQgbmd4LXRyYW5zbGF0ZSBhbmQgdGhlIGh0dHAgbG9hZGVyXG5pbXBvcnQge0h0dHBDbGllbnRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7U2VsZWN0UGVlck1vZGFsfSBmcm9tICcuL3BlZXIvc2VsZWN0LXBlZXIubW9kYWwnO1xuaW1wb3J0IHtTZXR0aW5nc1BhZ2V9IGZyb20gJy4vc2V0dGluZ3Mvc2V0dGluZ3MucGFnZSc7XG5pbXBvcnQge0NhY2hlTW9kdWxlfSBmcm9tICdpb25pYy1jYWNoZSc7XG5pbXBvcnQge0FwcFByb3BlcnRpZXNGb3JtfSBmcm9tICcuL2Zvcm0vcHJvcGVydGllcy5mb3JtJztcbmltcG9ydCB7QXBwTGlzdEZvcm19IGZyb20gJy4vZm9ybS9saXN0LmZvcm0nO1xuaW1wb3J0IHtQbGF0Zm9ybVNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvcGxhdGZvcm0uc2VydmljZSc7XG5pbXBvcnQge0lzTm90T25GaWVsZE1vZGVQaXBlLCBJc09uRmllbGRNb2RlUGlwZX0gZnJvbSAnLi9zZXJ2aWNlcy9waXBlcy91c2FnZS1tb2RlLnBpcGVzJztcbmltcG9ydCB7UGVyc29uVG9TdHJpbmdQaXBlfSBmcm9tICcuL3NlcnZpY2VzL3BpcGVzL3BlcnNvbi10by1zdHJpbmcucGlwZSc7XG5pbXBvcnQge0FwcEluc3RhbGxVcGdyYWRlQ2FyZH0gZnJvbSAnLi9pbnN0YWxsL2luc3RhbGwtdXBncmFkZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge0FjY291bnRUb1N0cmluZ1BpcGUsIElzTG9naW5BY2NvdW50UGlwZX0gZnJvbSAnLi9zZXJ2aWNlcy9waXBlcy9hY2NvdW50LnBpcGVzJztcbmltcG9ydCB7RGVwYXJ0bWVudFRvU3RyaW5nUGlwZX0gZnJvbSAnLi9zZXJ2aWNlcy9waXBlcy9kZXBhcnRtZW50LXRvLXN0cmluZy5waXBlJztcbmltcG9ydCB7Tmd4SmRlbnRpY29uTW9kdWxlfSBmcm9tICduZ3gtamRlbnRpY29uJztcbmltcG9ydCB7QWN0aW9uc0NvbHVtbkNvbXBvbmVudH0gZnJvbSAnLi90YWJsZS9hY3Rpb25zLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHtBcHBNZW51TW9kdWxlfSBmcm9tICcuL21lbnUvbWVudS5tb2R1bGUnO1xuaW1wb3J0IHtBcHBJY29uQ29tcG9uZW50fSBmcm9tICcuL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtUZXh0UG9wb3Zlcn0gZnJvbSAnLi90ZXh0LXBvcG92ZXIvdGV4dC1wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1RleHRGb3JtfSBmcm9tICcuL3RleHQtcG9wb3Zlci90ZXh0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7QXBwVXBkYXRlT2ZmbGluZU1vZGVDYXJkfSBmcm9tICcuL29mZmxpbmUvdXBkYXRlLW9mZmxpbmUtbW9kZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0lvbmljTW9kdWxlfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTaGFyZWRNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgQ2FjaGVNb2R1bGUsXG4gICAgSW9uaWNTdG9yYWdlTW9kdWxlLFxuICAgIE5neEpkZW50aWNvbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcblxuICAgIC8vIFN1YiBtb2R1bGVzXG4gICAgQXBwR3JhcGhRTE1vZHVsZSxcbiAgICBBcHBNZW51TW9kdWxlXG4gIF0sXG5cbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgLy8gUGlwZXNcbiAgICBJc09uRmllbGRNb2RlUGlwZSxcbiAgICBJc05vdE9uRmllbGRNb2RlUGlwZSxcbiAgICBQZXJzb25Ub1N0cmluZ1BpcGUsXG4gICAgSXNMb2dpbkFjY291bnRQaXBlLFxuICAgIEFjY291bnRUb1N0cmluZ1BpcGUsXG4gICAgRGVwYXJ0bWVudFRvU3RyaW5nUGlwZSxcblxuICAgIC8vIEhvbWUgYW5kIG1lbnVcbiAgICBIb21lUGFnZSxcbiAgICBBYm91dE1vZGFsLFxuXG4gICAgLy8gQXV0aCAmIFJlZ2lzdGVyXG4gICAgQXV0aEZvcm0sXG4gICAgQXV0aE1vZGFsLFxuICAgIFJlZ2lzdGVyRm9ybSxcbiAgICBSZWdpc3Rlck1vZGFsLFxuICAgIFJlZ2lzdGVyQ29uZmlybVBhZ2UsXG4gICAgQWNjb3VudFBhZ2UsXG4gICAgU2V0dGluZ3NQYWdlLFxuXG4gICAgLy8gTmV0d29ya1xuICAgIFNlbGVjdFBlZXJNb2RhbCxcbiAgICBBcHBJbnN0YWxsVXBncmFkZUNhcmQsXG4gICAgQXBwVXBkYXRlT2ZmbGluZU1vZGVDYXJkLFxuXG4gICAgLy8gT3RoZXIgY29tcG9uZW50c1xuICAgIFRhYmxlU2VsZWN0Q29sdW1uc0NvbXBvbmVudCxcbiAgICBBY3Rpb25zQ29sdW1uQ29tcG9uZW50LFxuICAgIEVudGl0eU1ldGFkYXRhQ29tcG9uZW50LFxuICAgIEZvcm1CdXR0b25zQmFyQ29tcG9uZW50LFxuICAgIEFwcFByb3BlcnRpZXNGb3JtLFxuICAgIEFwcExpc3RGb3JtLFxuICAgIEFwcEljb25Db21wb25lbnQsXG4gICAgVGV4dFBvcG92ZXIsXG4gICAgVGV4dEZvcm1cbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNoYXJlZE1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuXG4gICAgLy8gU3ViIG1vZHVsZXNcbiAgICBBcHBHcmFwaFFMTW9kdWxlLFxuICAgIEFwcE1lbnVNb2R1bGUsXG5cbiAgICAvLyBQaXBlc1xuICAgIElzT25GaWVsZE1vZGVQaXBlLFxuICAgIElzTm90T25GaWVsZE1vZGVQaXBlLFxuICAgIFBlcnNvblRvU3RyaW5nUGlwZSxcbiAgICBJc0xvZ2luQWNjb3VudFBpcGUsXG4gICAgQWNjb3VudFRvU3RyaW5nUGlwZSxcblxuICAgIC8vIENvbXBvbmVudHNcbiAgICBIb21lUGFnZSxcbiAgICBBdXRoRm9ybSxcbiAgICBBdXRoTW9kYWwsXG4gICAgVGFibGVTZWxlY3RDb2x1bW5zQ29tcG9uZW50LFxuICAgIEFjdGlvbnNDb2x1bW5Db21wb25lbnQsXG4gICAgRW50aXR5TWV0YWRhdGFDb21wb25lbnQsXG4gICAgRm9ybUJ1dHRvbnNCYXJDb21wb25lbnQsXG4gICAgQWJvdXRNb2RhbCxcbiAgICBBcHBQcm9wZXJ0aWVzRm9ybSxcbiAgICBBcHBMaXN0Rm9ybSxcbiAgICBBcHBJbnN0YWxsVXBncmFkZUNhcmQsXG4gICAgQXBwVXBkYXRlT2ZmbGluZU1vZGVDYXJkLFxuICAgIERlcGFydG1lbnRUb1N0cmluZ1BpcGUsXG4gICAgQXBwSWNvbkNvbXBvbmVudCxcbiAgICBUZXh0UG9wb3ZlcixcbiAgICBUZXh0Rm9ybVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvcmVNb2R1bGUge1xuXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29yZU1vZHVsZT4ge1xuICAgIGNvbnNvbGUuaW5mbygnW2NvcmVdIENyZWF0aW5nIG1vZHVsZSAocm9vdCknKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IENvcmVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgUGxhdGZvcm1TZXJ2aWNlXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzFELDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVB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dUI7b0JBQ3ZCLFVBQVU7b0JBQ1YsaUJBQWlCO29CQUNqQixXQUFXO29CQUNYLHFCQUFxQjtvQkFDckIsd0JBQXdCO29CQUN4QixzQkFBc0I7b0JBQ3RCLGdCQUFnQjtvQkFDaEIsV0FBVztvQkFDWCxRQUFRO2lCQUNUO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtBdXRoRm9ybX0gZnJvbSAnLi9hdXRoL2Zvcm0vZm9ybS1hdXRoJztcbmltcG9ydCB7QXV0aE1vZGFsfSBmcm9tICcuL2F1dGgvbW9kYWwvbW9kYWwtYXV0aCc7XG5pbXBvcnQge0Fib3V0TW9kYWx9IGZyb20gJy4vYWJvdXQvbW9kYWwtYWJvdXQnO1xuaW1wb3J0IHtSZWdpc3RlckNvbmZpcm1QYWdlfSBmcm9tICcuL3JlZ2lzdGVyL2NvbmZpcm0vY29uZmlybSc7XG5pbXBvcnQge0FjY291bnRQYWdlfSBmcm9tICcuL2FjY291bnQvYWNjb3VudCc7XG5pbXBvcnQge1NoYXJlZE1vZHVsZX0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHtFbnRpdHlNZXRhZGF0YUNvbXBvbmVudH0gZnJvbSAnLi9mb3JtL2VudGl0eS1tZXRhZGF0YS5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtQnV0dG9uc0JhckNvbXBvbmVudH0gZnJvbSAnLi9mb3JtL2Zvcm0tYnV0dG9ucy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7VGFibGVTZWxlY3RDb2x1bW5zQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlL3RhYmxlLXNlbGVjdC1jb2x1bW5zLmNvbXBvbmVudCc7XG5pbXBvcnQge0lvbmljU3RvcmFnZU1vZHVsZX0gZnJvbSAnQGlvbmljL3N0b3JhZ2UnO1xuaW1wb3J0IHtIb21lUGFnZX0gZnJvbSAnLi9ob21lL2hvbWUnO1xuaW1wb3J0IHtSZWdpc3RlckZvcm19IGZyb20gJy4vcmVnaXN0ZXIvZm9ybS9mb3JtLXJlZ2lzdGVyJztcbmltcG9ydCB7UmVnaXN0ZXJNb2RhbH0gZnJvbSAnLi9yZWdpc3Rlci9tb2RhbC9tb2RhbC1yZWdpc3Rlcic7XG5pbXBvcnQge0FwcEdyYXBoUUxNb2R1bGV9IGZyb20gJy4vZ3JhcGhxbC9ncmFwaHFsLm1vZHVsZSc7XG4vLyBpbXBvcnQgbmd4LXRyYW5zbGF0ZSBhbmQgdGhlIGh0dHAgbG9hZGVyXG5pbXBvcnQge0h0dHBDbGllbnRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7U2VsZWN0UGVlck1vZGFsfSBmcm9tICcuL3BlZXIvc2VsZWN0LXBlZXIubW9kYWwnO1xuaW1wb3J0IHtTZXR0aW5nc1BhZ2V9IGZyb20gJy4vc2V0dGluZ3Mvc2V0dGluZ3MucGFnZSc7XG5pbXBvcnQge0NhY2hlTW9kdWxlfSBmcm9tICdpb25pYy1jYWNoZSc7XG5pbXBvcnQge0FwcFByb3BlcnRpZXNGb3JtfSBmcm9tICcuL2Zvcm0vcHJvcGVydGllcy5mb3JtJztcbmltcG9ydCB7QXBwTGlzdEZvcm19IGZyb20gJy4vZm9ybS9saXN0LmZvcm0nO1xuaW1wb3J0IHtQbGF0Zm9ybVNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvcGxhdGZvcm0uc2VydmljZSc7XG5pbXBvcnQge0lzTm90T25GaWVsZE1vZGVQaXBlLCBJc09uRmllbGRNb2RlUGlwZX0gZnJvbSAnLi9zZXJ2aWNlcy9waXBlcy91c2FnZS1tb2RlLnBpcGVzJztcbmltcG9ydCB7UGVyc29uVG9TdHJpbmdQaXBlfSBmcm9tICcuL3NlcnZpY2VzL3BpcGVzL3BlcnNvbi10by1zdHJpbmcucGlwZSc7XG5pbXBvcnQge0FwcEluc3RhbGxVcGdyYWRlQ2FyZH0gZnJvbSAnLi9pbnN0YWxsL2luc3RhbGwtdXBncmFkZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge0FjY291bnRUb1N0cmluZ1BpcGUsIElzTG9naW5BY2NvdW50UGlwZX0gZnJvbSAnLi9zZXJ2aWNlcy9waXBlcy9hY2NvdW50LnBpcGVzJztcbmltcG9ydCB7RGVwYXJ0bWVudFRvU3RyaW5nUGlwZX0gZnJvbSAnLi9zZXJ2aWNlcy9waXBlcy9kZXBhcnRtZW50LXRvLXN0cmluZy5waXBlJztcbmltcG9ydCB7Tmd4SmRlbnRpY29uTW9kdWxlfSBmcm9tICduZ3gtamRlbnRpY29uJztcbmltcG9ydCB7QWN0aW9uc0NvbHVtbkNvbXBvbmVudH0gZnJvbSAnLi90YWJsZS9hY3Rpb25zLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHtBcHBNZW51TW9kdWxlfSBmcm9tICcuL21lbnUvbWVudS5tb2R1bGUnO1xuaW1wb3J0IHtBcHBJY29uQ29tcG9uZW50fSBmcm9tICcuL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtUZXh0UG9wb3Zlcn0gZnJvbSAnLi90ZXh0LXBvcG92ZXIvdGV4dC1wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1RleHRGb3JtfSBmcm9tICcuL3RleHQtcG9wb3Zlci90ZXh0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7QXBwVXBkYXRlT2ZmbGluZU1vZGVDYXJkfSBmcm9tICcuL29mZmxpbmUvdXBkYXRlLW9mZmxpbmUtbW9kZS1jYXJkLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTaGFyZWRNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgQ2FjaGVNb2R1bGUsXG4gICAgSW9uaWNTdG9yYWdlTW9kdWxlLFxuICAgIE5neEpkZW50aWNvbk1vZHVsZSxcblxuICAgIC8vIFN1YiBtb2R1bGVzXG4gICAgQXBwR3JhcGhRTE1vZHVsZSxcbiAgICBBcHBNZW51TW9kdWxlXG4gIF0sXG5cbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgLy8gUGlwZXNcbiAgICBJc09uRmllbGRNb2RlUGlwZSxcbiAgICBJc05vdE9uRmllbGRNb2RlUGlwZSxcbiAgICBQZXJzb25Ub1N0cmluZ1BpcGUsXG4gICAgSXNMb2dpbkFjY291bnRQaXBlLFxuICAgIEFjY291bnRUb1N0cmluZ1BpcGUsXG4gICAgRGVwYXJ0bWVudFRvU3RyaW5nUGlwZSxcblxuICAgIC8vIEhvbWUgYW5kIG1lbnVcbiAgICBIb21lUGFnZSxcbiAgICBBYm91dE1vZGFsLFxuXG4gICAgLy8gQXV0aCAmIFJlZ2lzdGVyXG4gICAgQXV0aEZvcm0sXG4gICAgQXV0aE1vZGFsLFxuICAgIFJlZ2lzdGVyRm9ybSxcbiAgICBSZWdpc3Rlck1vZGFsLFxuICAgIFJlZ2lzdGVyQ29uZmlybVBhZ2UsXG4gICAgQWNjb3VudFBhZ2UsXG4gICAgU2V0dGluZ3NQYWdlLFxuXG4gICAgLy8gTmV0d29ya1xuICAgIFNlbGVjdFBlZXJNb2RhbCxcbiAgICBBcHBJbnN0YWxsVXBncmFkZUNhcmQsXG4gICAgQXBwVXBkYXRlT2ZmbGluZU1vZGVDYXJkLFxuXG4gICAgLy8gT3RoZXIgY29tcG9uZW50c1xuICAgIFRhYmxlU2VsZWN0Q29sdW1uc0NvbXBvbmVudCxcbiAgICBBY3Rpb25zQ29sdW1uQ29tcG9uZW50LFxuICAgIEVudGl0eU1ldGFkYXRhQ29tcG9uZW50LFxuICAgIEZvcm1CdXR0b25zQmFyQ29tcG9uZW50LFxuICAgIEFwcFByb3BlcnRpZXNGb3JtLFxuICAgIEFwcExpc3RGb3JtLFxuICAgIEFwcEljb25Db21wb25lbnQsXG4gICAgVGV4dFBvcG92ZXIsXG4gICAgVGV4dEZvcm1cbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNoYXJlZE1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG5cbiAgICAvLyBTdWIgbW9kdWxlc1xuICAgIEFwcEdyYXBoUUxNb2R1bGUsXG4gICAgQXBwTWVudU1vZHVsZSxcblxuICAgIC8vIFBpcGVzXG4gICAgSXNPbkZpZWxkTW9kZVBpcGUsXG4gICAgSXNOb3RPbkZpZWxkTW9kZVBpcGUsXG4gICAgUGVyc29uVG9TdHJpbmdQaXBlLFxuICAgIElzTG9naW5BY2NvdW50UGlwZSxcbiAgICBBY2NvdW50VG9TdHJpbmdQaXBlLFxuXG4gICAgLy8gQ29tcG9uZW50c1xuICAgIEhvbWVQYWdlLFxuICAgIEF1dGhGb3JtLFxuICAgIEF1dGhNb2RhbCxcbiAgICBUYWJsZVNlbGVjdENvbHVtbnNDb21wb25lbnQsXG4gICAgQWN0aW9uc0NvbHVtbkNvbXBvbmVudCxcbiAgICBFbnRpdHlNZXRhZGF0YUNvbXBvbmVudCxcbiAgICBGb3JtQnV0dG9uc0JhckNvbXBvbmVudCxcbiAgICBBYm91dE1vZGFsLFxuICAgIEFwcFByb3BlcnRpZXNGb3JtLFxuICAgIEFwcExpc3RGb3JtLFxuICAgIEFwcEluc3RhbGxVcGdyYWRlQ2FyZCxcbiAgICBBcHBVcGRhdGVPZmZsaW5lTW9kZUNhcmQsXG4gICAgRGVwYXJ0bWVudFRvU3RyaW5nUGlwZSxcbiAgICBBcHBJY29uQ29tcG9uZW50LFxuICAgIFRleHRQb3BvdmVyLFxuICAgIFRleHRGb3JtXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29yZU1vZHVsZSB7XG5cbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb3JlTW9kdWxlPiB7XG4gICAgY29uc29sZS5pbmZvKCdbY29yZV0gQ3JlYXRpbmcgbW9kdWxlIChyb290KScpO1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQ29yZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBQbGF0Zm9ybVNlcnZpY2VcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -196,7 +196,7 @@ AppListForm.decorators = [
196
196
  selector: 'app-list-form',
197
197
  template: "\n<ng-container *ngIf=\"!loading; else listSkeleton\">\n\n <!-- List -->\n <ion-list class=\"ion-no-padding\" >\n\n <ng-container *ngFor=\"let itemControl of itemControls; index as i; last as last\">\n <ion-item *ngIf=\"itemControl.value; let item\"\n [class.disabled]=\"disabled\" tappable\n (click)=\"onItemClick($event, item)\"\n [color]=\"selection.isSelected(item) ? 'secondary100' : undefined\"\n [button]=\"selectionChanges.observers.length > 0\">\n <ion-label>{{displayWith(item)}}</ion-label>\n\n <!-- buttons -->\n <ion-buttons slot=\"end\" *ngIf=\"enabled\" class=\"action-buttons\">\n <ion-button fill=\"clear\" (click)=\"removeAt(i)\">\n <ion-icon slot=\"icon-only\" name=\"trash\"></ion-icon>\n </ion-button>\n\n <ion-button *ngFor=\"let button of options.buttons\"\n fill=\"clear\" [color]=\"button.color\"\n [class.cdk-visually-hidden]=\"button.disabled|async\"\n (click)=\"onItemButtonClick(button, $event, item, i)\"\n [title]=\"(button.title || '')|translate\">\n <ion-icon slot=\"icon-only\" [name]=\"button.icon\"></ion-icon>\n </ion-button>\n\n </ion-buttons>\n </ion-item>\n </ng-container>\n </ion-list>\n\n <!-- Add button -->\n <ion-button color=\"tertiary\" fill=\"clear\"\n *ngIf=\"enabled && onNewItem.observers.length; else emptyText\"\n [title]=\"'COMMON.BTN_ADD'|translate\"\n (click)=\"onNewClick($event)\" >\n <ion-icon slot=\"start\" name=\"add\"></ion-icon>\n <ion-label translate>COMMON.BTN_ADD</ion-label>\n </ion-button>\n\n <!-- Empty (if readonly) -->\n <ng-template #emptyText>\n <ion-text *ngIf=\"!length\" color=\"medium\"><i translate>COMMON.EMPTY_OPTION</i></ion-text>\n </ng-template>\n</ng-container>\n\n<ng-template #listSkeleton>\n\n <ion-list>\n <ng-container *ngTemplateOutlet=\"itemSkeleton\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemSkeleton\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemSkeleton\"></ng-container>\n </ion-list>\n\n</ng-template>\n\n<ng-template #itemSkeleton>\n\n <ion-item>\n <ion-label>\n <ion-skeleton-text animated style=\"width: 60%\"></ion-skeleton-text>\n </ion-label>\n </ion-item>\n\n</ng-template>\n",
198
198
  changeDetection: ChangeDetectionStrategy.OnPush,
199
- styles: [":host{--ion-item-background-selected:var(--ion-color-secondary100);--ion-item-color-selected:var(--ion-color-secondary100-contrast)}ion-item.disabled ion-label{color:var(--ion-color-medium-shade,grey)}ion-item{--min-height:48px;--ion-item-background-color-hover:var(--ion-color-light);--ion-item-color-hover:var(--ion-color-light-contrast)}ion-item .action-buttons{visibility:hidden;display:none}ion-item:hover{height:var(--min-height);background-color:var(--ion-item-background-color-hover)}ion-item:hover .action-buttons{margin-top:-1px;visibility:visible;display:block}ion-item:hover ion-label,ion-item:hover ion-text{color:var(--ion-item-color-hover)}ion-item.selected{--ion-item-background-color-hover:var(--ion-item-background-selected)!important;--ion-item-color-hover:var(--ion-item-color-selected)!important;background-color:var(--ion-item-background-selected)}ion-item.selected ion-label,ion-item.selected ion-text{color:var(--ion-item-color-selected)}"]
199
+ styles: [":host{--ion-item-background-selected:var(--ion-color-secondary100);--ion-item-color-selected:var(--ion-color-secondary100-contrast)}ion-item.disabled ion-label{color:var(--ion-color-medium-shade,grey)}ion-item{--min-height:48px;background-color:var(--ion-item-background)}ion-item ion-label,ion-item ion-text{color:var(--ion-item-color)}ion-item .action-buttons{visibility:hidden;display:none}ion-item:hover{height:var(--min-height);--ion-item-background-color:var(--ion-color-light);--ion-item-color:var(--ion-color-light-contrast)}ion-item:hover .action-buttons{margin-top:-1px;visibility:visible;display:block}ion-item.selected{--ion-item-background-color-hover:var(--ion-item-background-selected)!important;--ion-item-color-hover:var(--ion-item-color-selected)!important}"]
200
200
  },] }
201
201
  ];
202
202
  AppListForm.ctorParameters = () => [
@@ -1,17 +1,10 @@
1
1
  import { isMoment } from 'moment';
2
2
  import * as momentImported from 'moment';
3
3
  import { DATE_ISO_PATTERN } from './constants';
4
- import * as momentTZImported from 'moment-timezone';
5
4
  const moment = momentImported;
6
- const tz = momentTZImported;
7
5
  export const DATE_UNIX_TIMESTAMP = 'X';
8
6
  export const DATE_UNIX_MS_TIMESTAMP = 'x';
9
7
  export class DateUtils {
10
- constructor() {
11
- this.toDateISOString = toDateISOString;
12
- this.fromDateISOString = fromDateISOString;
13
- this.toDuration = toDuration;
14
- }
15
8
  static min(date1, date2) {
16
9
  return date1 && (!date2 || date1.isSameOrBefore(date2)) ? date1 : date2;
17
10
  }
@@ -61,6 +54,9 @@ export class DateUtils {
61
54
  return date.day() === weekday;
62
55
  }
63
56
  }
57
+ DateUtils.toDateISOString = toDateISOString;
58
+ DateUtils.fromDateISOString = fromDateISOString;
59
+ DateUtils.toDuration = toDuration;
64
60
  export function toDateISOString(value) {
65
61
  if (!value)
66
62
  return undefined;
@@ -115,4 +111,4 @@ export function toDuration(value, unit) {
115
111
  }
116
112
  return duration;
117
113
  }
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9kYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsUUFBUSxFQUFxQixNQUFNLFFBQVEsQ0FBQztBQUM5RCxPQUFPLEtBQUssY0FBYyxNQUFNLFFBQVEsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGlCQUFpQixDQUFDO0FBRXBELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQztBQUM5QixNQUFNLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztBQUU1QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0FBRTFDLE1BQU0sT0FBTyxTQUFTO0lBQXRCO1FBQ0Usb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFDbEMsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDdEMsZUFBVSxHQUFHLFVBQVUsQ0FBQztJQW1EMUIsQ0FBQztJQWpEQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQWEsRUFBRSxLQUFhO1FBQ3JDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMxRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFhLEVBQUUsS0FBYTtRQUNyQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDekUsQ0FBQztJ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LENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RHVyYXRpb24sIGlzTW9tZW50LCBNb21lbnQsIHVuaXRPZlRpbWV9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgKiBhcyBtb21lbnRJbXBvcnRlZCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtEQVRFX0lTT19QQVRURVJOfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgKiBhcyBtb21lbnRUWkltcG9ydGVkIGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudEltcG9ydGVkO1xuY29uc3QgdHogPSBtb21lbnRUWkltcG9ydGVkO1xuXG5leHBvcnQgY29uc3QgREFURV9VTklYX1RJTUVTVEFNUCA9ICdYJztcbmV4cG9ydCBjb25zdCBEQVRFX1VOSVhfTVNfVElNRVNUQU1QID0gJ3gnO1xuXG5leHBvcnQgY2xhc3MgRGF0ZVV0aWxzIHtcbiAgdG9EYXRlSVNPU3RyaW5nID0gdG9EYXRlSVNPU3RyaW5nO1xuICBmcm9tRGF0ZUlTT1N0cmluZyA9IGZyb21EYXRlSVNPU3RyaW5nO1xuICB0b0R1cmF0aW9uID0gdG9EdXJhdGlvbjtcblxuICBzdGF0aWMgbWluKGRhdGUxOiBNb21lbnQsIGRhdGUyOiBNb21lbnQpOiBNb21lbnQge1xuICAgIHJldHVybiBkYXRlMSAmJiAoIWRhdGUyIHx8IGRhdGUxLmlzU2FtZU9yQmVmb3JlKGRhdGUyKSkgPyBkYXRlMSA6IGRhdGUyO1xuICB9XG4gIHN0YXRpYyBtYXgoZGF0ZTE6IE1vbWVudCwgZGF0ZTI6IE1vbWVudCk6IE1vbWVudCB7XG4gICAgcmV0dXJuIGRhdGUxICYmICghZGF0ZTIgfHwgZGF0ZTEuaXNTYW1lT3JBZnRlcihkYXRlMikpID8gZGF0ZTEgOiBkYXRlMjtcbiAgfVxuXG4gIHN0YXRpYyBlcXVhbHMoZGF0ZTE6IE1vbWVudCB8IHN0cmluZywgZGF0ZTI6IE1vbWVudCB8IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBEYXRlVXRpbHMuaXNTYW1lKGRhdGUxLCBkYXRlMik7XG4gIH1cblxuICBzdGF0aWMgaXNTYW1lKGRhdGUxOiBNb21lbnQgfCBzdHJpbmcsIGRhdGUyOiBNb21lbnQgfCBzdHJpbmcsIGdyYW51bGFyaXR5PzogdW5pdE9mVGltZS5TdGFydE9mKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZDEgPSBmcm9tRGF0ZUlTT1N0cmluZyhkYXRlMSk7XG4gICAgY29uc3QgZDIgPSBmcm9tRGF0ZUlTT1N0cmluZyhkYXRlMik7XG4gICAgcmV0dXJuICghZDEgJiYgIWQyKSB8fCBkMS5pc1NhbWUoZDIsIGdyYW51bGFyaXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBjb3B5IG9mIGEgZGF0ZSwgd2l0aG91dCB0aW1lIGZpZWxkcyAoYWx3YXlzIHJldHVybiBhIG5ldyBNb21lbnQgb2JqZWN0LCBvciB1bmRlZmluZWQpLlxuICAgKiBTYW1lIGltcGxlbWVudGF0aW9uIGFzIHRoZSBKYXZhIGNsYXNzIERhdGVzLnJlc2V0VGltZSgpIChzZWUgYW55IFNVTUFSaVMgbGlrZSBQb2QpXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKiBAcGFyYW0gdGltZXpvbmUgYSB0aW1lem9uZSAoc2VlIGh0dHBzOi8vbW9tZW50anMuY29tL3RpbWV6b25lLylcbiAgICogQHBhcmFtIGtlZXBMb2NhbFRpbWUgaWYgdHJ1ZSwgb25seSB0aGUgdGltZXpvbmUgKGFuZCBvZmZzZXQpIGlzIHVwZGF0ZWQsIGtlZXBpbmcgdGhlIGxvY2FsIHRpbWUgc2FtZS4gQ29uc2VxdWVudGx5LCBpdCB3aWxsIG5vdyBwb2ludCB0byBhIGRpZmZlcmVudCBwb2ludCBpbiB0aW1lIGlmIHRoZSBvZmZzZXQgaGFzIGNoYW5nZWQuXG4gICAqL1xuICBzdGF0aWMgcmVzZXRUaW1lKHZhbHVlOiBNb21lbnR8c3RyaW5nLCB0aW1lem9uZT86IHN0cmluZywga2VlcExvY2FsVGltZT86IGJvb2xlYW4pOiBNb21lbnQgfCB1bmRlZmluZWQge1xuICAgIGlmICghdmFsdWUpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZGF0ZSA9IGZyb21EYXRlSVNPU3RyaW5nKHZhbHVlKTtcbiAgICAvLyBObyB0aW1lem9uZVxuICAgIGlmICghdGltZXpvbmUpIHtcbiAgICAgIHJldHVybiBkYXRlLmNsb25lKCkuc3RhcnRPZignZGF5Jyk7XG4gICAgfVxuICAgIC8vIFVzZSB0aW1lem9uZVxuICAgIHJldHVybiBkYXRlLmNsb25lKCkgLy8gY2xvbmUgdGhlIG9yaWdpbmFsIGRhdGVcbiAgICAgIC50eih0aW1lem9uZSwga2VlcExvY2FsVGltZSlcbiAgICAgIC5zdGFydE9mKCdkYXknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUZXN0IGlmIGEgZGF0ZSBpcyBvbiB0aGUgZ2l2ZW4gZGF5IG9mIHdlZWtcbiAgICogQHBhcmFtIGRhdGVcbiAgICogQHBhcmFtIHdlZWtkYXlcbiAgICogQHBhcmFtIHRpbWV6b25lXG4gICAqL1xuICBzdGF0aWMgaXNBdERheShkYXRlOiBzdHJpbmd8TW9tZW50LCB3ZWVrZGF5OiBudW1iZXIsIHRpbWV6b25lPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgZGF0ZSA9IGRhdGUgJiYgZnJvbURhdGVJU09TdHJpbmcoZGF0ZSk7XG4gICAgaWYgKCFkYXRlKSByZXR1cm4gbnVsbDtcbiAgICBpZiAodGltZXpvbmUpIGRhdGUgPSBkYXRlLmNsb25lKCkudHoodGltZXpvbmUpLnN0YXJ0T2YoJ2RheScpO1xuICAgIHJldHVybiBkYXRlLmRheSgpID09PSB3ZWVrZGF5O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0RhdGVJU09TdHJpbmcodmFsdWU6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghdmFsdWUpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgLy8gQWxyZWFkeSBhIHZhbGlkIElTTyBkYXRlIHRpbWUgc3RyaW5nICh3aXRob3V0IHRpbWV6b25lKTogdXNlIGl0XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnXG4gICAgJiYgdmFsdWUuaW5kZXhPZignKycpID09PSAtMVxuICAgICYmIHZhbHVlLmxhc3RJbmRleE9mKCdaJykgPT09IHZhbHVlLmxlbmd0aCAtIDEpIHtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICAvLyBNYWtlIHN1cmUgdG8gaGF2ZSBhIE1vbWVudCBvYmplY3RcbiAgdmFsdWUgPSBmcm9tRGF0ZUlTT1N0cmluZyh2YWx1ZSk7XG4gIHJldHVybiB2YWx1ZSAmJiB2YWx1ZS50b0lTT1N0cmluZygpIHx8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21EYXRlSVNPU3RyaW5nKHZhbHVlOiBhbnkpOiBNb21lbnQgfCB1bmRlZmluZWQge1xuICAvLyBBbHJlYWR5IGEgbW9tZW50IG9iamVjdDogdXNlIGl0XG4gIGlmICghdmFsdWUgfHwgaXNNb21lbnQodmFsdWUpKSByZXR1cm4gdmFsdWU7XG5cbiAgLy8gUGFyc2UgdGhlIGlucHV0IHZhbHVlLCBhcyBhIElTTyBkYXRlIHRpbWVcbiAgY29uc3QgZGF0ZTogTW9tZW50ID0gbW9tZW50KHZhbHVlLCBEQVRFX0lTT19QQVRURVJOKTtcbiAgaWYgKGRhdGUuaXNWYWxpZCgpKSByZXR1cm4gZGF0ZTtcblxuICAvLyBOb3QgdmFsaWQ6IHRyeWluZyB0byBjb252ZXJ0IGZyb20gdW5peCB0aW1lc3RhbXBcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICBjb25zb2xlLndhcm4oJ1dyb25nIGRhdGUgZm9ybWF0IC0gVHJ5aW5nIHRvIGNvbnZlcnQgZnJvbSBsb2NhbCB0aW1lOiAnICsgdmFsdWUpO1xuICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDEwKSB7XG4gICAgICByZXR1cm4gbW9tZW50KHZhbHVlLCBEQVRFX1VOSVhfVElNRVNUQU1QKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodmFsdWUubGVuZ3RoID09PSAxMykge1xuICAgICAgcmV0dXJuIG1vbWVudCh2YWx1ZSwgREFURV9VTklYX01TX1RJTUVTVEFNUCk7XG4gICAgfVxuICB9XG5cbiAgY29uc29sZS53YXJuKCdVbmFibGUgdG8gcGFyc2UgZGF0ZTogJyArIHZhbHVlKTtcbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21Vbml4VGltZXN0YW1wKHRpbWVJblNlYzogbnVtYmVyKSB7XG4gIHJldHVybiBtb21lbnQodGltZUluU2VjLCBEQVRFX1VOSVhfVElNRVNUQU1QKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBmcm9tVW5peE1zVGltZXN0YW1wKHRpbWVJbk1zOiBudW1iZXIpIHtcbiAgcmV0dXJuIG1vbWVudCh0aW1lSW5NcywgREFURV9VTklYX01TX1RJTUVTVEFNUCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0R1cmF0aW9uKHZhbHVlOiBudW1iZXIsIHVuaXQ/OiBtb21lbnQudW5pdE9mVGltZS5EdXJhdGlvbkNvbnN0cnVjdG9yKTogRHVyYXRpb24ge1xuICBpZiAoIXZhbHVlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGR1cmF0aW9uID0gbW9tZW50LmR1cmF0aW9uKHZhbHVlLCB1bml0KTtcblxuICAvLyBmaXggOTkwKyBtc1xuICBpZiAoZHVyYXRpb24ubWlsbGlzZWNvbmRzKCkgPj0gOTkwKSB7XG4gICAgZHVyYXRpb24uYWRkKDEwMDAgLSBkdXJhdGlvbi5taWxsaXNlY29uZHMoKSwgJ21zJyk7XG4gIH1cbiAgLy8gZml4IDU5IHNcbiAgaWYgKGR1cmF0aW9uLnNlY29uZHMoKSA+PSA1OSkge1xuICAgIGR1cmF0aW9uLmFkZCg2MCAtIGR1cmF0aW9uLnNlY29uZHMoKSwgJ3MnKTtcbiAgfVxuXG4gIHJldHVybiBkdXJhdGlvbjtcbn1cblxuXG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9kYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsUUFBUSxFQUFxQixNQUFNLFFBQVEsQ0FBQztBQUM5RCxPQUFPLEtBQUssY0FBYyxNQUFNLFFBQVEsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFHN0MsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUM7QUFFMUMsTUFBTSxPQUFPLFNBQVM7SUFLcEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFhLEVBQUUsS0FBYTtRQUNyQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDMUUsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBYSxFQUFFLEtBQWE7UUFDckMsT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQXNCLEVBQUUsS0FBc0I7UUFDMUQsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFzQixFQUFFLEtBQXNCLEVBQUUsV0FBZ0M7UUFDNUYsTUFBTSxF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QUMzQzthQUNJLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDNUIsT0FBTyxNQUFNLENBQUMsS0FBSyxFQUFFLHNCQUFzQixDQUFDLENBQUM7U0FDOUM7S0FDRjtJQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDL0MsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxTQUFpQjtJQUNqRCxPQUFPLE1BQU0sQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBQ0QsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFFBQWdCO0lBQ2xELE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQWEsRUFBRSxJQUE0QztJQUNwRixJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBRTdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRTlDLGNBQWM7SUFDZCxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxHQUFHLEVBQUU7UUFDbEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3BEO0lBQ0QsV0FBVztJQUNYLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUM1QixRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDNUM7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEdXJhdGlvbiwgaXNNb21lbnQsIE1vbWVudCwgdW5pdE9mVGltZX0gZnJvbSAnbW9tZW50JztcbmltcG9ydCAqIGFzIG1vbWVudEltcG9ydGVkIGZyb20gJ21vbWVudCc7XG5pbXBvcnQge0RBVEVfSVNPX1BBVFRFUk59IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCAqIGFzIG1vbWVudFRaSW1wb3J0ZWQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcblxuY29uc3QgbW9tZW50ID0gbW9tZW50SW1wb3J0ZWQ7XG5cbmV4cG9ydCBjb25zdCBEQVRFX1VOSVhfVElNRVNUQU1QID0gJ1gnO1xuZXhwb3J0IGNvbnN0IERBVEVfVU5JWF9NU19USU1FU1RBTVAgPSAneCc7XG5cbmV4cG9ydCBjbGFzcyBEYXRlVXRpbHMge1xuICBzdGF0aWMgdG9EYXRlSVNPU3RyaW5nID0gdG9EYXRlSVNPU3RyaW5nO1xuICBzdGF0aWMgZnJvbURhdGVJU09TdHJpbmcgPSBmcm9tRGF0ZUlTT1N0cmluZztcbiAgc3RhdGljIHRvRHVyYXRpb24gPSB0b0R1cmF0aW9uO1xuXG4gIHN0YXRpYyBtaW4oZGF0ZTE6IE1vbWVudCwgZGF0ZTI6IE1vbWVudCk6IE1vbWVudCB7XG4gICAgcmV0dXJuIGRhdGUxICYmICghZGF0ZTIgfHwgZGF0ZTEuaXNTYW1lT3JCZWZvcmUoZGF0ZTIpKSA/IGRhdGUxIDogZGF0ZTI7XG4gIH1cblxuICBzdGF0aWMgbWF4KGRhdGUxOiBNb21lbnQsIGRhdGUyOiBNb21lbnQpOiBNb21lbnQge1xuICAgIHJldHVybiBkYXRlMSAmJiAoIWRhdGUyIHx8IGRhdGUxLmlzU2FtZU9yQWZ0ZXIoZGF0ZTIpKSA/IGRhdGUxIDogZGF0ZTI7XG4gIH1cblxuICBzdGF0aWMgZXF1YWxzKGRhdGUxOiBNb21lbnQgfCBzdHJpbmcsIGRhdGUyOiBNb21lbnQgfCBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRGF0ZVV0aWxzLmlzU2FtZShkYXRlMSwgZGF0ZTIpO1xuICB9XG5cbiAgc3RhdGljIGlzU2FtZShkYXRlMTogTW9tZW50IHwgc3RyaW5nLCBkYXRlMjogTW9tZW50IHwgc3RyaW5nLCBncmFudWxhcml0eT86IHVuaXRPZlRpbWUuU3RhcnRPZik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGQxID0gZnJvbURhdGVJU09TdHJpbmcoZGF0ZTEpO1xuICAgIGNvbnN0IGQyID0gZnJvbURhdGVJU09TdHJpbmcoZGF0ZTIpO1xuICAgIHJldHVybiAoIWQxICYmICFkMikgfHwgZDEuaXNTYW1lKGQyLCBncmFudWxhcml0eSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY29weSBvZiBhIGRhdGUsIHdpdGhvdXQgdGltZSBmaWVsZHMgKGFsd2F5cyByZXR1cm4gYSBuZXcgTW9tZW50IG9iamVjdCwgb3IgdW5kZWZpbmVkKS5cbiAgICogU2FtZSBpbXBsZW1lbnRhdGlvbiBhcyB0aGUgSmF2YSBjbGFzcyBEYXRlcy5yZXNldFRpbWUoKSAoc2VlIGFueSBTVU1BUmlTIGxpa2UgUG9kKVxuICAgKiBAcGFyYW0gdmFsdWVcbiAgICogQHBhcmFtIHRpbWV6b25lIGEgdGltZXpvbmUgKHNlZSBodHRwczovL21vbWVudGpzLmNvbS90aW1lem9uZS8pXG4gICAqIEBwYXJhbSBrZWVwTG9jYWxUaW1lIGlmIHRydWUsIG9ubHkgdGhlIHRpbWV6b25lIChhbmQgb2Zmc2V0KSBpcyB1cGRhdGVkLCBrZWVwaW5nIHRoZSBsb2NhbCB0aW1lIHNhbWUuIENvbnNlcXVlbnRseSwgaXQgd2lsbCBub3cgcG9pbnQgdG8gYSBkaWZmZXJlbnQgcG9pbnQgaW4gdGltZSBpZiB0aGUgb2Zmc2V0IGhhcyBjaGFuZ2VkLlxuICAgKi9cbiAgc3RhdGljIHJlc2V0VGltZSh2YWx1ZTogTW9tZW50fHN0cmluZywgdGltZXpvbmU/OiBzdHJpbmcsIGtlZXBMb2NhbFRpbWU/OiBib29sZWFuKTogTW9tZW50IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGRhdGUgPSBmcm9tRGF0ZUlTT1N0cmluZyh2YWx1ZSk7XG4gICAgLy8gTm8gdGltZXpvbmVcbiAgICBpZiAoIXRpbWV6b25lKSB7XG4gICAgICByZXR1cm4gZGF0ZS5jbG9uZSgpLnN0YXJ0T2YoJ2RheScpO1xuICAgIH1cbiAgICAvLyBVc2UgdGltZXpvbmVcbiAgICByZXR1cm4gZGF0ZS5jbG9uZSgpIC8vIGNsb25lIHRoZSBvcmlnaW5hbCBkYXRlXG4gICAgICAudHoodGltZXpvbmUsIGtlZXBMb2NhbFRpbWUpXG4gICAgICAuc3RhcnRPZignZGF5Jyk7XG4gIH1cblxuICAvKipcbiAgICogVGVzdCBpZiBhIGRhdGUgaXMgb24gdGhlIGdpdmVuIGRheSBvZiB3ZWVrXG4gICAqIEBwYXJhbSBkYXRlXG4gICAqIEBwYXJhbSB3ZWVrZGF5XG4gICAqIEBwYXJhbSB0aW1lem9uZVxuICAgKi9cbiAgc3RhdGljIGlzQXREYXkoZGF0ZTogc3RyaW5nfE1vbWVudCwgd2Vla2RheTogbnVtYmVyLCB0aW1lem9uZT86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGRhdGUgPSBkYXRlICYmIGZyb21EYXRlSVNPU3RyaW5nKGRhdGUpO1xuICAgIGlmICghZGF0ZSkgcmV0dXJuIG51bGw7XG4gICAgaWYgKHRpbWV6b25lKSBkYXRlID0gZGF0ZS5jbG9uZSgpLnR6KHRpbWV6b25lKS5zdGFydE9mKCdkYXknKTtcbiAgICByZXR1cm4gZGF0ZS5kYXkoKSA9PT0gd2Vla2RheTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9EYXRlSVNPU3RyaW5nKHZhbHVlOiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoIXZhbHVlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIC8vIEFscmVhZHkgYSB2YWxpZCBJU08gZGF0ZSB0aW1lIHN0cmluZyAod2l0aG91dCB0aW1lem9uZSk6IHVzZSBpdFxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJ1xuICAgICYmIHZhbHVlLmluZGV4T2YoJysnKSA9PT0gLTFcbiAgICAmJiB2YWx1ZS5sYXN0SW5kZXhPZignWicpID09PSB2YWx1ZS5sZW5ndGggLSAxKSB7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgLy8gTWFrZSBzdXJlIHRvIGhhdmUgYSBNb21lbnQgb2JqZWN0XG4gIHZhbHVlID0gZnJvbURhdGVJU09TdHJpbmcodmFsdWUpO1xuICByZXR1cm4gdmFsdWUgJiYgdmFsdWUudG9JU09TdHJpbmcoKSB8fCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRGF0ZUlTT1N0cmluZyh2YWx1ZTogYW55KTogTW9tZW50IHwgdW5kZWZpbmVkIHtcbiAgLy8gQWxyZWFkeSBhIG1vbWVudCBvYmplY3Q6IHVzZSBpdFxuICBpZiAoIXZhbHVlIHx8IGlzTW9tZW50KHZhbHVlKSkgcmV0dXJuIHZhbHVlO1xuXG4gIC8vIFBhcnNlIHRoZSBpbnB1dCB2YWx1ZSwgYXMgYSBJU08gZGF0ZSB0aW1lXG4gIGNvbnN0IGRhdGU6IE1vbWVudCA9IG1vbWVudCh2YWx1ZSwgREFURV9JU09fUEFUVEVSTik7XG4gIGlmIChkYXRlLmlzVmFsaWQoKSkgcmV0dXJuIGRhdGU7XG5cbiAgLy8gTm90IHZhbGlkOiB0cnlpbmcgdG8gY29udmVydCBmcm9tIHVuaXggdGltZXN0YW1wXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc29sZS53YXJuKCdXcm9uZyBkYXRlIGZvcm1hdCAtIFRyeWluZyB0byBjb252ZXJ0IGZyb20gbG9jYWwgdGltZTogJyArIHZhbHVlKTtcbiAgICBpZiAodmFsdWUubGVuZ3RoID09PSAxMCkge1xuICAgICAgcmV0dXJuIG1vbWVudCh2YWx1ZSwgREFURV9VTklYX1RJTUVTVEFNUCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHZhbHVlLmxlbmd0aCA9PT0gMTMpIHtcbiAgICAgIHJldHVybiBtb21lbnQodmFsdWUsIERBVEVfVU5JWF9NU19USU1FU1RBTVApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUud2FybignVW5hYmxlIHRvIHBhcnNlIGRhdGU6ICcgKyB2YWx1ZSk7XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tVW5peFRpbWVzdGFtcCh0aW1lSW5TZWM6IG51bWJlcikge1xuICByZXR1cm4gbW9tZW50KHRpbWVJblNlYywgREFURV9VTklYX1RJTUVTVEFNUCk7XG59XG5leHBvcnQgZnVuY3Rpb24gZnJvbVVuaXhNc1RpbWVzdGFtcCh0aW1lSW5NczogbnVtYmVyKSB7XG4gIHJldHVybiBtb21lbnQodGltZUluTXMsIERBVEVfVU5JWF9NU19USU1FU1RBTVApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9EdXJhdGlvbih2YWx1ZTogbnVtYmVyLCB1bml0PzogbW9tZW50LnVuaXRPZlRpbWUuRHVyYXRpb25Db25zdHJ1Y3Rvcik6IER1cmF0aW9uIHtcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICBjb25zdCBkdXJhdGlvbiA9IG1vbWVudC5kdXJhdGlvbih2YWx1ZSwgdW5pdCk7XG5cbiAgLy8gZml4IDk5MCsgbXNcbiAgaWYgKGR1cmF0aW9uLm1pbGxpc2Vjb25kcygpID49IDk5MCkge1xuICAgIGR1cmF0aW9uLmFkZCgxMDAwIC0gZHVyYXRpb24ubWlsbGlzZWNvbmRzKCksICdtcycpO1xuICB9XG4gIC8vIGZpeCA1OSBzXG4gIGlmIChkdXJhdGlvbi5zZWNvbmRzKCkgPj0gNTkpIHtcbiAgICBkdXJhdGlvbi5hZGQoNjAgLSBkdXJhdGlvbi5zZWNvbmRzKCksICdzJyk7XG4gIH1cblxuICByZXR1cm4gZHVyYXRpb247XG59XG5cblxuIl19
@@ -304,7 +304,7 @@ export class MatLatLongField {
304
304
  MatLatLongField.decorators = [
305
305
  { type: Component, args: [{
306
306
  selector: 'mat-latlong-field',
307
- template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formatFn(value, formatFnOptions)}}</ion-text>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n</mat-form-field>\n\n<!-- writable -->\n<ng-template #writable>\n\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\">\n <ion-col class=\"text ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"formControl.disabled\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label *ngIf=\"placeholder\">{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #inputElement\n type=\"text\"\n autocomplete=\"off\"\n [textMask]=\"textMaskConfig\"\n [formControl]=\"textFormControl\"\n [placeholder]=\"inputPlaceholder|translate\"\n (keypress)=\"onKeypress($event)\"\n (keydown.tab)=\"moveCaretToSeparator($event, true)\"\n (keydown.shift.tab)=\"moveCaretToSeparator($event, false)\"\n (focus)=\"_onFocus($event)\"\n (blur)=\"_onBlur($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\">\n\n <div *ngIf=\"!showSignControl\" matSuffix #injectMatSuffix></div>\n\n <!--<div matSuffix *ngIf=\"!showSignControl\"><ng-content select=\"[matSuffix]\"></ng-content></div>-->\n\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\">\n\n <!-- errors -->\n <ng-container *ngIf=\"formControl.touched\">\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('latitude')\" translate>ERROR.FIELD_NOT_VALID_LATITUDE</mat-error>\n <mat-error *ngIf=\"formControl.hasError('longitude')\" translate>ERROR.FIELD_NOT_VALID_LONGITUDE</mat-error>\n <ng-content select=\"mat-error\"></ng-content>\n </ng-container>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n </mat-form-field>\n </ion-col>\n\n <!-- sign -->\n <ion-col class=\"sign ion-no-padding\" [ngSwitch]=\"type\" *ngIf=\"showSignControl\">\n\n <!-- sign on latitude -->\n <mat-form-field *ngSwitchCase=\"'latitude'\"\n floatLabel=\"never\"\n [class.mat-form-field-invalid]=\"formControl.touched && signFormControl.invalid\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.LAT_LONG.LAT_SIGN_PLACEHOLDER</mat-label>\n <mat-select [formControl]=\"signFormControl\"\n [tabindex]=\"tabindex+1\">\n <mat-option [value]=\"1\">{{'COMMON.LAT_LONG.LAT_SIGN_N'|translate}}</mat-option>\n <mat-option [value]=\"-1\" >{{'COMMON.LAT_LONG.LAT_SIGN_S'|translate}}</mat-option>\n </mat-select>\n\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- sign on longitude -->\n <mat-form-field floatLabel=\"never\"\n *ngSwitchCase=\"'longitude'\"\n [class.mat-form-field-invalid]=\"formControl.touched && signFormControl.invalid\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.LAT_LONG.LONG_SIGN_PLACEHOLDER</mat-label>\n <mat-select [formControl]=\"signFormControl\"\n [tabindex]=\"tabindex+2\">\n <mat-option [value]=\"1\" translate>{{'COMMON.LAT_LONG.LONG_SIGN_E'|translate}}</mat-option>\n <mat-option [value]=\"-1\" translate>{{'COMMON.LAT_LONG.LONG_SIGN_W'|translate}}</mat-option>\n </mat-select>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n\n\n<ng-template #matSuffixTemplate>\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
307
+ template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formatFn(value, formatFnOptions)}}</ion-text>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n</mat-form-field>\n\n<!-- writable -->\n<ng-template #writable>\n\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\">\n <ion-col class=\"text ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"formControl.disabled\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label *ngIf=\"placeholder\">{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #inputElement\n type=\"text\"\n autocomplete=\"off\"\n [textMask]=\"textMaskConfig\"\n [formControl]=\"textFormControl\"\n [placeholder]=\"inputPlaceholder|translate\"\n (keypress)=\"onKeypress($event)\"\n (keydown.tab)=\"moveCaretToSeparator($event, true)\"\n (keydown.shift.tab)=\"moveCaretToSeparator($event, false)\"\n (focus)=\"_onFocus($event)\"\n (blur)=\"_onBlur($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\">\n\n <div *ngIf=\"!showSignControl\" matSuffix #injectMatSuffix></div>\n\n <!--<div matSuffix *ngIf=\"!showSignControl\"><ng-content select=\"[matSuffix]\"></ng-content></div>-->\n\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\">\n\n <!-- errors -->\n <ng-container *ngIf=\"formControl.touched && formControl.errors|mapKeys|arrayFirst; let errorKey\" [ngSwitch]=\"errorKey\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'latitude'\" translate>ERROR.FIELD_NOT_VALID_LATITUDE</mat-error>\n <mat-error *ngSwitchCase=\"'longitude'\" translate>ERROR.FIELD_NOT_VALID_LONGITUDE</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg.key || formControl.errors.msg) | translate: formControl.errors.msg.params}}</mat-error>\n <ng-container *ngSwitchDefault>\n <ng-content select=\"mat-error\"></ng-content>\n </ng-container>\n </ng-container>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n </mat-form-field>\n </ion-col>\n\n <!-- sign -->\n <ion-col class=\"sign ion-no-padding\" [ngSwitch]=\"type\" *ngIf=\"showSignControl\">\n\n <!-- sign on latitude -->\n <mat-form-field *ngSwitchCase=\"'latitude'\"\n floatLabel=\"never\"\n [class.mat-form-field-invalid]=\"formControl.touched && signFormControl.invalid\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.LAT_LONG.LAT_SIGN_PLACEHOLDER</mat-label>\n <mat-select [formControl]=\"signFormControl\"\n [tabindex]=\"tabindex+1\">\n <mat-option [value]=\"1\">{{'COMMON.LAT_LONG.LAT_SIGN_N'|translate}}</mat-option>\n <mat-option [value]=\"-1\" >{{'COMMON.LAT_LONG.LAT_SIGN_S'|translate}}</mat-option>\n </mat-select>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- sign on longitude -->\n <mat-form-field floatLabel=\"never\"\n *ngSwitchCase=\"'longitude'\"\n [class.mat-form-field-invalid]=\"formControl.touched && signFormControl.invalid\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.LAT_LONG.LONG_SIGN_PLACEHOLDER</mat-label>\n <mat-select [formControl]=\"signFormControl\"\n [tabindex]=\"tabindex+2\">\n <mat-option [value]=\"1\" translate>{{'COMMON.LAT_LONG.LONG_SIGN_E'|translate}}</mat-option>\n <mat-option [value]=\"-1\" translate>{{'COMMON.LAT_LONG.LONG_SIGN_W'|translate}}</mat-option>\n </mat-select>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n\n\n<ng-template #matSuffixTemplate>\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
308
308
  providers: [
309
309
  {
310
310
  provide: NG_VALUE_ACCESSOR,
@@ -313,7 +313,7 @@ MatLatLongField.decorators = [
313
313
  }
314
314
  ],
315
315
  changeDetection: ChangeDetectionStrategy.OnPush,
316
- styles: [":host{display:inline-block;width:100%;min-width:140px;position:relative;--ion-grid-column-padding:0}mat-form-field .datetime-md{padding:0!important}ion-row{flex-wrap:nowrap}ion-row ion-col.text{min-width:80px}ion-row ion-col.sign{min-width:60px;max-width:70px}mat-form-field{width:100%}mat-form-field .mat-form-field-subscript-wrapper{overflow:visible;top:100%}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}mat-error{text-align:right;width:100%}"]
316
+ styles: [":host{display:inline-block;width:100%;min-width:140px;position:relative;--ion-grid-column-padding:0}mat-form-field .datetime-md{padding:0!important}ion-row{flex-wrap:nowrap}ion-row ion-col.text{min-width:80px}ion-row ion-col.sign{min-width:40px;max-width:55px}mat-form-field{width:100%}mat-form-field .mat-form-field-subscript-wrapper{overflow:visible;white-space:nowrap;top:100%}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}mat-error{text-align:right;width:100%}"]
317
317
  },] }
318
318
  ];
319
319
  MatLatLongField.ctorParameters = () => [
@@ -341,4 +341,4 @@ MatLatLongField.propDecorators = {
341
341
  inputElement: [{ type: ViewChild, args: ['inputElement',] }]
342
342
  };
343
343
  export { ɵ0 };
344
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubGF0bG9uZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2xhdGxvbmcvbWF0ZXJpYWwubGF0bG9uZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqTCxPQUFPLEVBQXVCLFdBQVcsRUFBZSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqSSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSw2QkFBNkIsRUFBeUQsd0JBQXdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoTCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFDLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9HLE9BQU8sRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxNQUFNLEtBQUssR0FJUDtJQUNGLFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO1FBQzVGLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQzFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztLQUNsRjtJQUNELFNBQVMsRUFBRTtRQUNULE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO1FBQzdGLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQzNFLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxH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QjtnQkFDdkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3hCO1NBQ0Y7SUFDSCxDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7OztZQXpZRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsNG1LQUFzQztnQkFFdEMsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO3FCQUMvQztpQkFDRjtnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQTVDTyxnQkFBZ0I7WUFETSxXQUFXO1lBRlIsaUJBQWlCO1lBRU0sa0JBQWtCLHVCQWlIckUsUUFBUTs7O3FCQWpEVixLQUFLOzBCQU1MLEtBQUs7OEJBRUwsS0FBSzswQkFFTCxLQUFLO21CQUVMLEtBQUs7c0JBRUwsS0FBSyxTQUFDLGdCQUFnQjswQkFFdEIsS0FBSzswQkFFTCxLQUFLOzhCQUVMLEtBQUs7eUJBRUwsS0FBSzt1QkFFTCxLQUFLO3VCQVNMLEtBQUs7dUJBRUwsS0FBSztxQkFFTCxNQUFNO3NCQUdOLE1BQU07MkJBR04sU0FBUyxTQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RmxvYXRMYWJlbFR5cGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtTaGFyZWRWYWxpZGF0b3JzfSBmcm9tICcuLi8uLi92YWxpZGF0b3IvdmFsaWRhdG9ycyc7XG5pbXBvcnQge2Zvcm1hdExhdGl0dWRlLCBmb3JtYXRMb25naXR1ZGUsIExBVF9MT05HX0RFRkFVTFRfTUFYX0RFQ0lNQUxTLCBMYXRMb25nRm9ybWF0Rm4sIExhdExvbmdGb3JtYXRPcHRpb25zLCBMYXRMb25nUGF0dGVybiwgcGFyc2VMYXRpdHVkZU9yTG9uZ2l0dWRlfSBmcm9tICcuL2xhdGxvbmcudXRpbHMnO1xuaW1wb3J0IHtERUZBVUxUX1BMQUNFSE9MREVSX0NIQVJ9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtpc05pbCwgaXNOb3ROaWwsIGlzTm90TmlsT3JCbGFua30gZnJvbSAnLi4vLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7Z2V0Q2FyZXRQb3NpdGlvbiwgbW92ZUlucHV0Q2FyZXRUb1NlcGFyYXRvciwgc2VsZWN0SW5wdXRDb250ZW50LCBzZWxlY3RJbnB1dFJhbmdlfSBmcm9tICcuLi8uLi9pbnB1dHMnO1xuaW1wb3J0IHttZXJnZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7VGV4dE1hc2tDb25maWd9IGZyb20gJ2FuZ3VsYXIyLXRleHQtbWFzayc7XG5pbXBvcnQge0RFRkFVTFRfTUFYX0RFQ0lNQUxTfSBmcm9tICcuLi9kdXJhdGlvbi9kdXJhdGlvbi51dGlscyc7XG5pbXBvcnQge2lzTW9iaWxlfSBmcm9tICcuLi8uLi9wbGF0Zm9ybXMnO1xuXG5jb25zdCBNQVNLUzoge1xuICBba2V5OiBzdHJpbmddOiB7XG4gICAgW3BhdHRlcm46IHN0cmluZ106IEFycmF5PHN0cmluZ3xSZWdFeHA+O1xuICB9O1xufSA9IHtcbiAgbGF0aXR1ZGU6IHtcbiAgICBERE1NU1M6IFsnICcsIC9cXGQvLCAvXFxkLywgJ8KwJywgJyAnLCAvXFxkLywgL1xcZC8sICdcXCcnLCAnICcsIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sICdcIiddLFxuICAgIERETU06IFsnICcsIC9cXGQvLCAvXFxkLywgJ8KwJywgJyAnLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJ1xcJyddLFxuICAgIEREOiBbL1srLV0vLCAnICcsIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJ8KwJ11cbiAgfSxcbiAgbG9uZ2l0dWRlOiB7XG4gICAgRERNTVNTOiBbL1xcZC8sIC9cXGQvLCAvXFxkLywgJ8KwJywgJyAnLCAvXFxkLywgL1xcZC8sICdcXCcnLCAnICcsIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sICdcIiddLFxuICAgIERETU06IFsvXFxkLywgL1xcZC8sIC9cXGQvLCAnwrAnLCAnICcsIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnXFwnJ10sXG4gICAgREQ6IFsvWystXS8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICfCsCddXG4gIH1cbn07XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtbGF0bG9uZy1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXRlcmlhbC5sYXRsb25nLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXRlcmlhbC5sYXRsb25nLnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1hdExhdExvbmdGaWVsZCksXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNYXRMYXRMb25nRmllbGQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIF9vbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gbm9vcDtcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSBub29wO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByb3RlY3RlZCBkaXNhYmxpbmcgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHdyaXRpbmcgPSBmYWxzZTtcblxuICBfcmVhZG9ubHkgPSBmYWxzZTtcbiAgZm9ybWF0Rm46IExhdExvbmdGb3JtYXRGbjtcbiAgZm9ybWF0Rm5PcHRpb25zOiBMYXRMb25nRm9ybWF0T3B0aW9ucztcbiAgdGV4dE1hc2tDb25maWc6IFRleHRNYXNrQ29uZmlnO1xuICB0ZXh0Rm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBzaWduRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBtYXNrOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+IHwgKChyYXc6IHN0cmluZykgPT4gQXJyYXk8c3RyaW5nIHwgUmVnRXhwPikgfCBmYWxzZTtcbiAgdmFsdWU6IG51bWJlcjtcbiAgaW5wdXRQbGFjZWhvbGRlcjogc3RyaW5nO1xuICBzaG93U2lnbkNvbnRyb2w6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgbW9iaWxlOiBib29sZWFuO1xuXG4gIGdldCBkaXNhYmxlZCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5IHx8IHRoaXMuZm9ybUNvbnRyb2wuZGlzYWJsZWQ7XG4gIH1cblxuICBASW5wdXQoKSBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgQElucHV0KCkgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBASW5wdXQoKSB0eXBlOiAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc7XG5cbiAgQElucHV0KCdsYXRMb25nUGF0dGVybicpIHBhdHRlcm46IExhdExvbmdQYXR0ZXJuO1xuXG4gIEBJbnB1dCgpIGRlZmF1bHRTaWduOiAnLScgfCAnKyc7XG5cbiAgQElucHV0KCkgbWF4RGVjaW1hbHM6IG51bWJlciA9IExBVF9MT05HX0RFRkFVTFRfTUFYX0RFQ0lNQUxTO1xuXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyQ2hhcjogc3RyaW5nID0gREVGQVVMVF9QTEFDRUhPTERFUl9DSEFSO1xuXG4gIEBJbnB1dCgpIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlID0gJ2F1dG8nO1xuXG4gIEBJbnB1dCgpIHNldCByZWFkb25seSh2YWx1ZTogYm9vbGVhbil7XG4gICAgdGhpcy5fcmVhZG9ubHkgPSB2YWx1ZTtcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgfVxuXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdGFiaW5kZXg6IG51bWJlcjtcblxuICBAT3V0cHV0KClcbiAgb25CbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBvbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGZvcm1Hcm91cERpcjogRm9ybUdyb3VwRGlyZWN0aXZlXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tb2JpbGUgPSBpc05vdE5pbCh0aGlzLm1vYmlsZSkgPyB0aGlzLm1vYmlsZSA6IGlzTW9iaWxlKHdpbmRvdyk7XG4gICAgdGhpcy50eXBlID0gdGhpcy50eXBlIHx8ICdsYXRpdHVkZSc7XG4gICAgdGhpcy5wYXR0ZXJuID0gdGhpcy5wYXR0ZXJuIHx8ICdERE1NJztcbiAgICB0aGlzLm1hc2sgPSBNQVNLU1t0aGlzLnR5cGVdICYmIE1BU0tTW3RoaXMudHlwZV1bdGhpcy5wYXR0ZXJuXTtcbiAgICBpZiAoIXRoaXMubWFzaykge1xuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBhdHRyaWJ1dGUgdmFsdWUuIEV4cGVjdGVkOiB0eXBlOiBcXCdsYXRpdHVkZXxsb25naXR1ZGVcXCcgYW5kIGxhdGxvbmdQYXR0ZXJuOiBcXCdERHxERE1NfERETU1TU1xcJycpO1xuICAgICAgdGhpcy50eXBlID0gJ2xhdGl0dWRlJztcbiAgICAgIHRoaXMucGF0dGVybiA9ICdERE1NJztcbiAgICAgIHRoaXMubWFzayA9IE1BU0tTW3RoaXMudHlwZV1bdGhpcy5wYXR0ZXJuXTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgbWF4IGRlY2ltYWxzIGluIHRoZSBERE1NU1MgZm9ybWF0XG4gICAgaWYgKHRoaXMucGF0dGVybiA9PT0gJ0REJykge1xuICAgICAgY29uc29sZS53YXJuKGBJbnZhbGlkIGF0dHJpYnV0ZSAnbWF4RGVjaW1hbHMnIC0gTXVzdCBiZSAnMCcgd2hlbiB1c2luZyB0aGUgJ0RETU1TUycgcGF0dGVybi5gKTtcbiAgICAgIHRoaXMubWF4RGVjaW1hbHMgPSA3O1xuICAgIH1cbiAgICBlbHNlIGlmICh0aGlzLnBhdHRlcm4gPT09ICdERE1NU1MnKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEludmFsaWQgYXR0cmlidXRlICdtYXhEZWNpbWFscycgLSBNdXN0IGJlICcwJyB3aGVuIHVzaW5nIHRoZSAnRERNTVNTJyBwYXR0ZXJuLmApO1xuICAgICAgdGhpcy5tYXhEZWNpbWFscyA9IDA7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzTmlsKHRoaXMubWF4RGVjaW1hbHMpKSB7XG4gICAgICB0aGlzLm1heERlY2ltYWxzID0gREVGQVVMVF9NQVhfREVDSU1BTFM7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRoaXMubWF4RGVjaW1hbHMgPCAwKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGF0dHJpYnV0ZSBcXCdtYXhEZWNpbWFsc1xcJy4gTXVzdCBhIHBvc2l0aXZlIHZhbHVlLicpO1xuICAgICAgdGhpcy5tYXhEZWNpbWFscyA9IERFRkFVTFRfTUFYX0RFQ0lNQUxTO1xuICAgIH1cbiAgICBlbHNlIGlmICh0aGlzLm1heERlY2ltYWxzICE9PSBERUZBVUxUX01BWF9ERUNJTUFMUykge1xuICAgICAgY29uc29sZS53YXJuKGBJbnZhbGlkIGF0dHJpYnV0ZSAnbWF4RGVjaW1hbHMnIC0gRXhwZWN0ZWQgdmFsdWU6ICR7REVGQVVMVF9NQVhfREVDSU1BTFN9IGJ1dCBnZXQ6ICR7dGhpcy5tYXhEZWNpbWFsc30uIE90aGVyIHZhbHVlIG5vdCBpbXBsZW1lbnRlZC5gKTtcbiAgICAgIHRoaXMubWF4RGVjaW1hbHMgPSBERUZBVUxUX01BWF9ERUNJTUFMUztcbiAgICB9XG5cbiAgICB0aGlzLnNob3dTaWduQ29udHJvbCA9IHRoaXMucGF0dGVybiAhPT0gJ0REJztcblxuICAgIHRoaXMuZm9ybWF0Rm4gPSB0aGlzLnR5cGUgPT09ICdsYXRpdHVkZScgPyBmb3JtYXRMYXRpdHVkZSA6IGZvcm1hdExvbmdpdHVkZTtcbiAgICB0aGlzLmZvcm1hdEZuT3B0aW9ucyA9IHtwYXR0ZXJuOiB0aGlzLnBhdHRlcm4sIG1heERlY2ltYWxzOiB0aGlzLm1heERlY2ltYWxzLCBoaWRlU2lnbjogdGhpcy5zaG93U2lnbkNvbnRyb2x9O1xuXG4gICAgdGhpcy5pbnB1dFBsYWNlaG9sZGVyID0gJ0NPTU1PTi5MQVRfTE9ORy4nICsgKHRoaXMudHlwZSA9PT0gJ2xvbmdpdHVkZScgJiYgJ0QnIHx8ICcnKSArIHRoaXMucGF0dGVybiArICdfUExBQ0VIT0xERVInO1xuXG4gICAgdGhpcy50ZXh0Rm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICB0aGlzLnJlcXVpcmVkID8gW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdIDogW251bGxdXG4gICAgKTtcbiAgICB0aGlzLnRleHRNYXNrQ29uZmlnID0ge21hc2s6IHRoaXMubWFzaywga2VlcENoYXJQb3NpdGlvbnM6IHRydWUsIHBsYWNlaG9sZGVyQ2hhcjogdGhpcy5wbGFjZWhvbGRlckNoYXJ9O1xuXG4gICAgdGhpcy5zaWduRm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICB0aGlzLnJlcXVpcmVkID8gW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdIDogW251bGxdXG4gICAgKTtcblxuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Db250cm9sIHx8IHRoaXMuZm9ybUNvbnRyb2xOYW1lICYmIHRoaXMuZm9ybUdyb3VwRGlyICYmIHRoaXMuZm9ybUdyb3VwRGlyLmZvcm0uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKSBhcyBGb3JtQ29udHJvbDtcbiAgICBpZiAoIXRoaXMuZm9ybUNvbnRyb2wpIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBtYW5kYXRvcnkgYXR0cmlidXRlIFxcJ2Zvcm1Db250cm9sXFwnIG9yIFxcJ2Zvcm1Db250cm9sTmFtZVxcJyBpbiA8bWF0LWxhdGxvbmctZmllbGQ+LicpO1xuXG4gICAgY29uc3QgZXhpc3RpbmdWYWxpZGF0b3JzID0gdGhpcy5mb3JtQ29udHJvbC52YWxpZGF0b3I7XG4gICAgaWYgKGV4aXN0aW5nVmFsaWRhdG9ycykge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKFtcbiAgICAgICAgZXhpc3RpbmdWYWxpZGF0b3JzLFxuICAgICAgICB0aGlzLnR5cGUgPT09ICdsYXRpdHVkZScgPyBTaGFyZWRWYWxpZGF0b3JzLmxhdGl0dWRlIDogU2hhcmVkVmFsaWRhdG9ycy5sb25naXR1ZGVcbiAgICAgIF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLnR5cGUgPT09ICdsYXRpdHVkZScgPyBTaGFyZWRWYWxpZGF0b3JzLmxhdGl0dWRlIDogU2hhcmVkVmFsaWRhdG9ycy5sb25naXR1ZGUpO1xuICAgIH1cblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICBtZXJnZShcbiAgICAgICAgdGhpcy50ZXh0Rm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLFxuICAgICAgICB0aGlzLnNpZ25Gb3JtQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoXykgPT4gdGhpcy5vbkZvcm1DaGFuZ2UodGhpcy50ZXh0Rm9ybUNvbnRyb2wudmFsdWUpKVxuICAgICk7XG5cbiAgICAvLyBMaXN0ZW4gc3RhdHVzIGNoYW5nZXMgKHdoZW4gZG9uZSBvdXRzaWRlIHRoZSBjb21wb25lbnQgIC0gZS5nLiB3aGVuIHNldEVycm9ycygpIGlzIGNhbGxpbmcgb24gdGhlIGZvcm1Db250cm9sKVxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKChfKSA9PiAhdGhpcy5yZWFkb25seSAmJiAhdGhpcy53cml0aW5nICYmICF0aGlzLmRpc2FibGluZykgLy8gU2tpcFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKF8pID0+IHRoaXMubWFya0ZvckNoZWNrKCkpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLndyaXRpbmcpIHJldHVybjtcblxuICAgIHRoaXMudmFsdWUgPSAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpID8gcGFyc2VGbG9hdChvYmoucmVwbGFjZSgvLC9nLCAnLicpKSA6IG9iajtcbiAgICB0aGlzLndyaXRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHN0clZhbHVlID0gdGhpcy5mb3JtYXRGbihcbiAgICAgIHRoaXMudmFsdWUsXG4gICAgICB7XG4gICAgICAgIC4uLnRoaXMuZm9ybWF0Rm5PcHRpb25zLFxuICAgICAgICBwbGFjZWhvbGRlckNoYXI6IHRoaXMucGxhY2Vob2xkZXJDaGFyXG4gICAgICB9KTtcbiAgICBjb25zdCBzaWduID0gaXNOb3ROaWwodGhpcy52YWx1ZSkgPyAodGhpcy52YWx1ZSA8IDAgPyAtMSA6IDEpIDpcbiAgICAgIC8vIFVzZSBkZWZhdWx0IHNpZ24sIGlmIGFueVxuICAgICAgKHRoaXMuZGVmYXVsdFNpZ24gPyAodGhpcy5kZWZhdWx0U2lnbiA9PT0gJy0nID8gLTEgOiAxKSA6IG51bGwpO1xuXG4gICAgLy8gREVCVUdcbiAgICAvLyBjb25zb2xlLmRlYnVnKFwic3RyVmFsdWU6IFwiICsgc3RyVmFsdWUpXG4gICAgLy8gY29uc29sZS5kZWJ1ZyhcInNpZ246IFwiICsgc2lnbilcblxuICAgIHRoaXMudGV4dEZvcm1Db250cm9sLnBhdGNoVmFsdWUoc3RyVmFsdWUsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgdGhpcy5zaWduRm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShzaWduLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIHRoaXMud3JpdGluZyA9IGZhbHNlO1xuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGluZykgcmV0dXJuO1xuXG4gICAgdGhpcy5kaXNhYmxpbmcgPSB0cnVlO1xuICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLnRleHRGb3JtQ29udHJvbC5kaXNhYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wuZGlzYWJsZSh7b25seVNlbGY6IHRydWUsIGVtaXRFdmVudDogZmFsc2V9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50ZXh0Rm9ybUNvbnRyb2wuZW5hYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wuZW5hYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIH1cbiAgICB0aGlzLmRpc2FibGluZyA9IGZhbHNlO1xuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIG9uRm9ybUNoYW5nZShzdHJWYWx1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLndyaXRpbmcpIHJldHVybjsgLy8gU2tpcCBpZiBjYWxsIGJ5IHNlbGZcbiAgICB0aGlzLndyaXRpbmcgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMudGV4dEZvcm1Db250cm9sLmludmFsaWQgfHwgdGhpcy5zaWduRm9ybUNvbnRyb2wuaW52YWxpZCkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNQZW5kaW5nKCk7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldEVycm9ycyh7XG4gICAgICAgIC4uLnRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzLFxuICAgICAgICAuLi50aGlzLnRleHRGb3JtQ29udHJvbC5lcnJvcnMsXG4gICAgICAgIC4uLnRoaXMuc2lnbkZvcm1Db250cm9sLmVycm9yc1xuICAgICAgfSk7XG4gICAgICB0aGlzLndyaXRpbmcgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IGlzTm90TmlsT3JCbGFuayhzdHJWYWx1ZSkgPyBwYXJzZUxhdGl0dWRlT3JMb25naXR1ZGUoc3RyVmFsdWUsIHRoaXMucGF0dGVybiwgNyAvKj1wcmVjaXNpb24gb2YgdGhlIGNvbnZlcnRlZCBkb3VibGUgdmFsdWUgKi8sIHRoaXMucGxhY2Vob2xkZXJDaGFyKSA6IG51bGw7XG5cbiAgICAvLyBERUJVR1xuICAgIC8vY29uc29sZS5kZWJ1ZygncGFyc2VkVmFsdWU9JywgcGFyc2VkVmFsdWUpO1xuXG4gICAgaWYgKGlzTmFOKHBhcnNlZFZhbHVlKSkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNQZW5kaW5nKCk7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldEVycm9ycyh0aGlzLnR5cGUgPT09ICdsYXRpdHVkZScgPyB7bGF0aXR1ZGU6IHRydWV9IDoge2xvbmdpdHVkZTogdHJ1ZX0pO1xuICAgICAgdGhpcy53cml0aW5nID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHNpZ24gPSAodGhpcy5wYXR0ZXJuID09PSAnREQnKSA/IDEgLyppZ25vcmUgc2lnbiovIDogKHRoaXMuc2lnbkZvcm1Db250cm9sLnZhbHVlIHx8IDEpO1xuICAgIHRoaXMudmFsdWUgPSBpc05vdE5pbChwYXJzZWRWYWx1ZSkgPyBzaWduICogcGFyc2VkVmFsdWUgOiBudWxsO1xuXG4gICAgLy8gR2V0IHRoZSBtb2RlbCB2YWx1ZVxuICAgIC8vY29uc29sZS5kZWJ1ZyhcIlttYXQtbGF0bG9uXSBTZXR0aW5nIHZhbHVlIHtcIiArIHRoaXMudmFsdWUgKyBcIn0gcGFyc2VkIGZyb20ge1wiICsgc3RyVmFsdWUgKyBcIn1cIik7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKHRoaXMudmFsdWUsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgdGhpcy53cml0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcblxuICAgIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2sodGhpcy52YWx1ZSk7XG4gIH1cblxuICBjaGVja0lmVG91Y2hlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbC50b3VjaGVkIHx8IHRoaXMudGV4dEZvcm1Db250cm9sLnRvdWNoZWQpIHtcbiAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLl9vblRvdWNoZWRDYWxsYmFjaygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIF9vbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG5cbiAgICAvLyBBcHBseSB0aGUgZGVmYXVsdCBzaWduLCB3aGVuIHBhdHRlcm4gaXMgREQgYW5kIGZpZWxkIGlzIGVtcHR5XG4gICAgaWYgKGlzTmlsKHRoaXMudmFsdWUpKSB7XG4gICAgICBpZiAodGhpcy5kZWZhdWx0U2lnbikge1xuICAgICAgICAvLyBDb21wdXRlIHRoZSB0ZXh0IHZhbHVlLCB1c2luZyB0aGUgZGVmYXVsdCBzaWduXG4gICAgICAgIGNvbnN0IGRlZmF1bHRTaWduID0gdGhpcy5kZWZhdWx0U2lnbiA9PT0gJy0nID8gLTEgOiAxO1xuXG4gICAgICAgIGlmICh0aGlzLnBhdHRlcm4gPT09ICdERCcpIHtcbiAgICAgICAgICBsZXQgdmFsdWVTdHIgPSB0aGlzLmZvcm1hdEZuKGRlZmF1bHRTaWduLCB7Li4udGhpcy5mb3JtYXRGbk9wdGlvbnMsIHBsYWNlaG9sZGVyQ2hhcjogdGhpcy5wbGFjZWhvbGRlckNoYXJ9KTtcbiAgICAgICAgICB2YWx1ZVN0ciA9IHZhbHVlU3RyICYmIHZhbHVlU3RyLnJlcGxhY2UoJzEnLCB0aGlzLnBsYWNlaG9sZGVyQ2hhcik7XG5cbiAgICAgICAgICAvLyBXYWl0IGVuZCBvZiBmb2N1cyBhbmltYXRpb24gKGxhYmVsIHNob3VsZCBtb3ZlIHRvIHRvcClcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIFNldCB0aGUgdmFsdWVcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZVN0cjtcblxuICAgICAgICAgICAgLy8gTW92ZSBjdXJzb3IgYWZ0ZXIgdGhlIHNpZ25cbiAgICAgICAgICAgIGNvbnN0IGNhcmV0SW5kZXggPSAodGhpcy50eXBlID09PSAnbGF0aXR1ZGUnKSA/IDIgOiAxO1xuICAgICAgICAgICAgc2VsZWN0SW5wdXRSYW5nZShldmVudC50YXJnZXQsIGNhcmV0SW5kZXgpO1xuICAgICAgICAgIH0sIDI1MCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wuc2V0VmFsdWUoZGVmYXVsdFNpZ24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0IHRoZSBjb250ZW50IChpZiB0aGVyZSBpcyBhIHZhbHVlKVxuICAgIGVsc2Uge1xuICAgICAgc2VsZWN0SW5wdXRDb250ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLm9uRm9jdXMuZW1pdChldmVudCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBfb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgY29uc3QgdG91Y2hlZCA9IHRoaXMuY2hlY2tJZlRvdWNoZWQoKTtcbiAgICBpZiAodG91Y2hlZCAmJiBpc05pbCh0aGlzLnZhbHVlKSkge1xuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgICB0aGlzLm9uQmx1ci5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG1vdmVDYXJldFRvU2VwYXJhdG9yKGV2ZW50OiBhbnksIGZvcndhcmQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAvLyBNb3ZlIHRvIHRoZSBzcGFjZSBzZXBhcmF0b3JcbiAgICByZXR1cm4gbW92ZUlucHV0Q2FyZXRUb1NlcGFyYXRvcihldmVudCwgJyAnLCBmb3J3YXJkKTtcbiAgfVxuXG4gIG9uS2V5cHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvLyBOdW1iZXIgZW50ZXJlZCBvciBvbmUgb2YgdGhlIDQgZGlyZWN0aW9uIHVwLCBkb3duLCBsZWZ0IGFuZCByaWdodFxuICAgIGlmICgoZXZlbnQud2hpY2ggPj0gNDggJiYgZXZlbnQud2hpY2ggPD0gNTcpIHx8IChldmVudC53aGljaCA+PSAzNyAmJiBldmVudC53aGljaCA8PSA0MCkpIHtcbiAgICAgIC8vY29uc29sZS5kZWJ1ZygnaW5wdXQgbnVtYmVyIGVudGVyZWQgOicgKyBldmVudC53aGljaCArICcgJyArIGV2ZW50LmtleUNvZGUgKyAnICcgKyBldmVudC5jaGFyQ29kZSk7XG4gICAgICAvLyBPS1xuICAgIH1cbiAgICAvLyBEZWNpbWFsIHNlcGFyYXRvciBlbnRlcmVkXG4gICAgZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnLicgfHwgZXZlbnQua2V5ID09PSAnLCcpIHtcbiAgICAgIC8vIERFQlVHXG4gICAgICAvLyBjb25zb2xlLmRlYnVnKCdpbnB1dCBkZWNpbWFsIHNlcGFyYXRvciBlbnRlcmVkIDonICsgZXZlbnQuY29kZSk7XG5cbiAgICAgIC8vIE1vdmUgY2FyZXQgYWZ0ZXIgcG9pbnRcbiAgICAgIG1vdmVJbnB1dENhcmV0VG9TZXBhcmF0b3IoZXZlbnQsICcuJyk7XG5cbiAgICAgIC8vIE9LXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENvbW1hbmQgZW50ZXJlZCAoZGVsZXRlLCBiYWNrc3BhY2Ugb3Igb25lIG9mIHRoZSA0IGRpcmVjdGlvbiB1cCwgZG93biwgbGVmdCBhbmQgcmlnaHQpXG4gICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPj0gMzcgJiYgZXZlbnQua2V5Q29kZSA8PSA0MCkgfHwgZXZlbnQua2V5Q29kZSA9PSA0NiB8fCBldmVudC53aGljaCA9PSA4IHx8IGV2ZW50LmtleUNvZGUgPT0gOSkge1xuICAgICAgICAvLyBERUJVR1xuICAgICAgICAvL2NvbnNvbGUuZGVidWcoJ2lucHV0IGNvbW1hbmQgZW50ZXJlZDonICsgZXZlbnQud2hpY2ggKyAnICcgKyBldmVudC5rZXlDb2RlICsgJyAnICsgZXZlbnQuY2hhckNvZGUpO1xuXG4gICAgICAgIC8vIE9LXG4gICAgICB9XG4gICAgICAvLyBTaWduIGVudGVyZWQgKCcrJyBvciAnLScpXG4gICAgICBlbHNlIGlmIChldmVudC5rZXlDb2RlID09PSA0MyB8fCBldmVudC5rZXlDb2RlID09PSA0NSkge1xuICAgICAgICAvLyBERUJVR1xuICAgICAgICAvLyBjb25zb2xlLmRlYnVnKCdpbnB1dCBzaWduIGVudGVyZWQ6JyArIGV2ZW50LndoaWNoICsgJyAnICsgZXZlbnQua2V5Q29kZSArICcgJyArIGV2ZW50LmNoYXJDb2RlKTtcbiAgICAgICAgY29uc3QgY2FyZXRQb3NpdGlvbiA9IGdldENhcmV0UG9zaXRpb24oZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgaWYgKHRoaXMucGF0dGVybiA9PT0gJ0REJyAmJiBjYXJldFBvc2l0aW9uID4gMCkge1xuICAgICAgICAgIGNvbnN0IHNpZ24gPSBldmVudC5rZXk7XG4gICAgICAgICAgLy8gV2FpdCBrZXkgYXBwbHlcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgICAgaWYgKHZhbHVlICYmICF2YWx1ZS5zdGFydHNXaXRoKHNpZ24pKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHNpZ24gKyAodmFsdWUubGVuZ3RoID4gMSA/IHZhbHVlLnN1YnN0cigxKSA6ICcnKTtcblxuICAgICAgICAgICAgLy8gREVCVUdcbiAgICAgICAgICAgIC8vIGNvbnNvbGUuZGVidWcoXCJzaWduIGVudGVyZWQuIFVwZGF0aW5nIGlucHV0IHZhbHVlIHRvOlwiLCBuZXdWYWx1ZSk7XG5cbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgICAgIHNlbGVjdElucHV0UmFuZ2UodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgY2FyZXRQb3NpdGlvbik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPS1xuICAgICAgfVxuICAgICAgLy8gRGlyZWN0aW9uIGNoYXIgKGNhcGl0YWxpemVkKVxuICAgICAgZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnTicgfHwgZXZlbnQua2V5ID09PSAnUycgfHwgZXZlbnQua2V5ID09PSAnRScgfHwgZXZlbnQua2V5ID09PSAnVycpIHtcbiAgICAgICAgLy8gREVCVUdcbiAgICAgICAgLy8gY29uc29sZS5kZWJ1ZygnaW5wdXQgZGlyZWN0aW9uIGVudGVyZWQ6JyArIGV2ZW50LndoaWNoICsgJyAnICsgZXZlbnQua2V5Q29kZSArICcgJyArIGV2ZW50LmNoYXJDb2RlKTtcblxuICAgICAgICAvLyBPS1xuICAgICAgfVxuICAgICAgLy8gRGlyZWN0aW9uIGNoYXJcbiAgICAgIGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ24nIHx8IGV2ZW50LmtleSA9PT0gJ3MnIHx8IGV2ZW50LmtleSA9PT0gJ2UnIHx8IGV2ZW50LmtleSA9PT0gJ3cnKSB7XG4gICAgICAgIC8vIERFQlVHXG4gICAgICAgIC8vIGNvbnNvbGUuZGVidWcoJ2lucHV0IGRpcmVjdGlvbiBlbnRlcmVkOicgKyBldmVudC53aGljaCArICcgJyArIGV2ZW50LmtleUNvZGUgKyAnICcgKyBldmVudC5jaGFyQ29kZSk7XG5cbiAgICAgICAgLy8gQ2FwaXRhbGl6ZSAod2l0aCBhIGRlbGF5LCB0byBiZSBzdXJlIHRoZSBrZXkgaGFzIGJlZW4gYXBwbGllZCB0byBpbnB1dCB0ZXh0KVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICB9LCAxMCk7XG5cbiAgICAgICAgLy8gT0tcbiAgICAgIH1cblxuICAgICAgLy8gQW55IG90aGVyIGtleWJvYXJkIGV2ZW50c1xuICAgICAgZWxzZSB7XG4gICAgICAgIC8vIERFQlVHXG4gICAgICAgIC8vY29uc29sZS5kZWJ1ZygnaW5wdXQgbm90IG51bWJlciBlbnRlcmVkIDonICsgZXZlbnQud2hpY2ggKyAnICcgKyBldmVudC5rZXlDb2RlICsgJyAnICsgZXZlbnQuY2hhckNvZGUgKyAnICcgKyBldmVudC5jb2RlICk7XG5cbiAgICAgICAgLy8gS086IGNhbmNlbCB0aGUgZXZlbnRcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cblxuIl19
344
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubGF0bG9uZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2xhdGxvbmcvbWF0ZXJpYWwubGF0bG9uZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqTCxPQUFPLEVBQXVCLFdBQVcsRUFBZSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqSSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSw2QkFBNkIsRUFBeUQsd0JBQXdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoTCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFDLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9HLE9BQU8sRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxNQUFNLEtBQUssR0FJUDtJQUNGLFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO1FBQzVGLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQzFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztLQUNsRjtJQUNELFNBQVMsRUFBRTtRQUNULE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO1FBQzdGLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQzNFLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxH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QjtnQkFDdkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3hCO1NBQ0Y7SUFDSCxDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7OztZQXpZRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsczVLQUFzQztnQkFFdEMsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO3FCQUMvQztpQkFDRjtnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQTVDTyxnQkFBZ0I7WUFETSxXQUFXO1lBRlIsaUJBQWlCO1lBRU0sa0JBQWtCLHVCQWlIckUsUUFBUTs7O3FCQWpEVixLQUFLOzBCQU1MLEtBQUs7OEJBRUwsS0FBSzswQkFFTCxLQUFLO21CQUVMLEtBQUs7c0JBRUwsS0FBSyxTQUFDLGdCQUFnQjswQkFFdEIsS0FBSzswQkFFTCxLQUFLOzhCQUVMLEtBQUs7eUJBRUwsS0FBSzt1QkFFTCxLQUFLO3VCQVNMLEtBQUs7dUJBRUwsS0FBSztxQkFFTCxNQUFNO3NCQUdOLE1BQU07MkJBR04sU0FBUyxTQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RmxvYXRMYWJlbFR5cGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtTaGFyZWRWYWxpZGF0b3JzfSBmcm9tICcuLi8uLi92YWxpZGF0b3IvdmFsaWRhdG9ycyc7XG5pbXBvcnQge2Zvcm1hdExhdGl0dWRlLCBmb3JtYXRMb25naXR1ZGUsIExBVF9MT05HX0RFRkFVTFRfTUFYX0RFQ0lNQUxTLCBMYXRMb25nRm9ybWF0Rm4sIExhdExvbmdGb3JtYXRPcHRpb25zLCBMYXRMb25nUGF0dGVybiwgcGFyc2VMYXRpdHVkZU9yTG9uZ2l0dWRlfSBmcm9tICcuL2xhdGxvbmcudXRpbHMnO1xuaW1wb3J0IHtERUZBVUxUX1BMQUNFSE9MREVSX0NIQVJ9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtpc05pbCwgaXNOb3ROaWwsIGlzTm90TmlsT3JCbGFua30gZnJvbSAnLi4vLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7Z2V0Q2FyZXRQb3NpdGlvbiwgbW92ZUlucHV0Q2FyZXRUb1NlcGFyYXRvciwgc2VsZWN0SW5wdXRDb250ZW50LCBzZWxlY3RJbnB1dFJhbmdlfSBmcm9tICcuLi8uLi9pbnB1dHMnO1xuaW1wb3J0IHttZXJnZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7VGV4dE1hc2tDb25maWd9IGZyb20gJ2FuZ3VsYXIyLXRleHQtbWFzayc7XG5pbXBvcnQge0RFRkFVTFRfTUFYX0RFQ0lNQUxTfSBmcm9tICcuLi9kdXJhdGlvbi9kdXJhdGlvbi51dGlscyc7XG5pbXBvcnQge2lzTW9iaWxlfSBmcm9tICcuLi8uLi9wbGF0Zm9ybXMnO1xuXG5jb25zdCBNQVNLUzoge1xuICBba2V5OiBzdHJpbmddOiB7XG4gICAgW3BhdHRlcm46IHN0cmluZ106IEFycmF5PHN0cmluZ3xSZWdFeHA+O1xuICB9O1xufSA9IHtcbiAgbGF0aXR1ZGU6IHtcbiAgICBERE1NU1M6IFsnICcsIC9cXGQvLCAvXFxkLywgJ8KwJywgJyAnLCAvXFxkLywgL1xcZC8sICdcXCcnLCAnICcsIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sICdcIiddLFxuICAgIERETU06IFsnICcsIC9cXGQvLCAvXFxkLywgJ8KwJywgJyAnLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJ1xcJyddLFxuICAgIEREOiBbL1srLV0vLCAnICcsIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJ8KwJ11cbiAgfSxcbiAgbG9uZ2l0dWRlOiB7XG4gICAgRERNTVNTOiBbL1xcZC8sIC9cXGQvLCAvXFxkLywgJ8KwJywgJyAnLCAvXFxkLywgL1xcZC8sICdcXCcnLCAnICcsIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sICdcIiddLFxuICAgIERETU06IFsvXFxkLywgL1xcZC8sIC9cXGQvLCAnwrAnLCAnICcsIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnXFwnJ10sXG4gICAgREQ6IFsvWystXS8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICfCsCddXG4gIH1cbn07XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtbGF0bG9uZy1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXRlcmlhbC5sYXRsb25nLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXRlcmlhbC5sYXRsb25nLnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1hdExhdExvbmdGaWVsZCksXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNYXRMYXRMb25nRmllbGQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIF9vbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gbm9vcDtcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSBub29wO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByb3RlY3RlZCBkaXNhYmxpbmcgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHdyaXRpbmcgPSBmYWxzZTtcblxuICBfcmVhZG9ubHkgPSBmYWxzZTtcbiAgZm9ybWF0Rm46IExhdExvbmdGb3JtYXRGbjtcbiAgZm9ybWF0Rm5PcHRpb25zOiBMYXRMb25nRm9ybWF0T3B0aW9ucztcbiAgdGV4dE1hc2tDb25maWc6IFRleHRNYXNrQ29uZmlnO1xuICB0ZXh0Rm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBzaWduRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBtYXNrOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+IHwgKChyYXc6IHN0cmluZykgPT4gQXJyYXk8c3RyaW5nIHwgUmVnRXhwPikgfCBmYWxzZTtcbiAgdmFsdWU6IG51bWJlcjtcbiAgaW5wdXRQbGFjZWhvbGRlcjogc3RyaW5nO1xuICBzaG93U2lnbkNvbnRyb2w6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgbW9iaWxlOiBib29sZWFuO1xuXG4gIGdldCBkaXNhYmxlZCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5IHx8IHRoaXMuZm9ybUNvbnRyb2wuZGlzYWJsZWQ7XG4gIH1cblxuICBASW5wdXQoKSBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgQElucHV0KCkgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBASW5wdXQoKSB0eXBlOiAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc7XG5cbiAgQElucHV0KCdsYXRMb25nUGF0dGVybicpIHBhdHRlcm46IExhdExvbmdQYXR0ZXJuO1xuXG4gIEBJbnB1dCgpIGRlZmF1bHRTaWduOiAnLScgfCAnKyc7XG5cbiAgQElucHV0KCkgbWF4RGVjaW1hbHM6IG51bWJlciA9IExBVF9MT05HX0RFRkFVTFRfTUFYX0RFQ0lNQUxTO1xuXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyQ2hhcjogc3RyaW5nID0gREVGQVVMVF9QTEFDRUhPTERFUl9DSEFSO1xuXG4gIEBJbnB1dCgpIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlID0gJ2F1dG8nO1xuXG4gIEBJbnB1dCgpIHNldCByZWFkb25seSh2YWx1ZTogYm9vbGVhbil7XG4gICAgdGhpcy5fcmVhZG9ubHkgPSB2YWx1ZTtcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgfVxuXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdGFiaW5kZXg6IG51bWJlcjtcblxuICBAT3V0cHV0KClcbiAgb25CbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBvbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGZvcm1Hcm91cERpcjogRm9ybUdyb3VwRGlyZWN0aXZlXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tb2JpbGUgPSBpc05vdE5pbCh0aGlzLm1vYmlsZSkgPyB0aGlzLm1vYmlsZSA6IGlzTW9iaWxlKHdpbmRvdyk7XG4gICAgdGhpcy50eXBlID0gdGhpcy50eXBlIHx8ICdsYXRpdHVkZSc7XG4gICAgdGhpcy5wYXR0ZXJuID0gdGhpcy5wYXR0ZXJuIHx8ICdERE1NJztcbiAgICB0aGlzLm1hc2sgPSBNQVNLU1t0aGlzLnR5cGVdICYmIE1BU0tTW3RoaXMudHlwZV1bdGhpcy5wYXR0ZXJuXTtcbiAgICBpZiAoIXRoaXMubWFzaykge1xuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBhdHRyaWJ1dGUgdmFsdWUuIEV4cGVjdGVkOiB0eXBlOiBcXCdsYXRpdHVkZXxsb25naXR1ZGVcXCcgYW5kIGxhdGxvbmdQYXR0ZXJuOiBcXCdERHxERE1NfERETU1TU1xcJycpO1xuICAgICAgdGhpcy50eXBlID0gJ2xhdGl0dWRlJztcbiAgICAgIHRoaXMucGF0dGVybiA9ICdERE1NJztcbiAgICAgIHRoaXMubWFzayA9IE1BU0tTW3RoaXMudHlwZV1bdGhpcy5wYXR0ZXJuXTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgbWF4IGRlY2ltYWxzIGluIHRoZSBERE1NU1MgZm9ybWF0XG4gICAgaWYgKHRoaXMucGF0dGVybiA9PT0gJ0REJykge1xuICAgICAgY29uc29sZS53YXJuKGBJbnZhbGlkIGF0dHJpYnV0ZSAnbWF4RGVjaW1hbHMnIC0gTXVzdCBiZSAnMCcgd2hlbiB1c2luZyB0aGUgJ0RETU1TUycgcGF0dGVybi5gKTtcbiAgICAgIHRoaXMubWF4RGVjaW1hbHMgPSA3O1xuICAgIH1cbiAgICBlbHNlIGlmICh0aGlzLnBhdHRlcm4gPT09ICdERE1NU1MnKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEludmFsaWQgYXR0cmlidXRlICdtYXhEZWNpbWFscycgLSBNdXN0IGJlICcwJyB3aGVuIHVzaW5nIHRoZSAnRERNTVNTJyBwYXR0ZXJuLmApO1xuICAgICAgdGhpcy5tYXhEZWNpbWFscyA9IDA7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzTmlsKHRoaXMubWF4RGVjaW1hbHMpKSB7XG4gICAgICB0aGlzLm1heERlY2ltYWxzID0gREVGQVVMVF9NQVhfREVDSU1BTFM7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRoaXMubWF4RGVjaW1hbHMgPCAwKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGF0dHJpYnV0ZSBcXCdtYXhEZWNpbWFsc1xcJy4gTXVzdCBhIHBvc2l0aXZlIHZhbHVlLicpO1xuICAgICAgdGhpcy5tYXhEZWNpbWFscyA9IERFRkFVTFRfTUFYX0RFQ0lNQUxTO1xuICAgIH1cbiAgICBlbHNlIGlmICh0aGlzLm1heERlY2ltYWxzICE9PSBERUZBVUxUX01BWF9ERUNJTUFMUykge1xuICAgICAgY29uc29sZS53YXJuKGBJbnZhbGlkIGF0dHJpYnV0ZSAnbWF4RGVjaW1hbHMnIC0gRXhwZWN0ZWQgdmFsdWU6ICR7REVGQVVMVF9NQVhfREVDSU1BTFN9IGJ1dCBnZXQ6ICR7dGhpcy5tYXhEZWNpbWFsc30uIE90aGVyIHZhbHVlIG5vdCBpbXBsZW1lbnRlZC5gKTtcbiAgICAgIHRoaXMubWF4RGVjaW1hbHMgPSBERUZBVUxUX01BWF9ERUNJTUFMUztcbiAgICB9XG5cbiAgICB0aGlzLnNob3dTaWduQ29udHJvbCA9IHRoaXMucGF0dGVybiAhPT0gJ0REJztcblxuICAgIHRoaXMuZm9ybWF0Rm4gPSB0aGlzLnR5cGUgPT09ICdsYXRpdHVkZScgPyBmb3JtYXRMYXRpdHVkZSA6IGZvcm1hdExvbmdpdHVkZTtcbiAgICB0aGlzLmZvcm1hdEZuT3B0aW9ucyA9IHtwYXR0ZXJuOiB0aGlzLnBhdHRlcm4sIG1heERlY2ltYWxzOiB0aGlzLm1heERlY2ltYWxzLCBoaWRlU2lnbjogdGhpcy5zaG93U2lnbkNvbnRyb2x9O1xuXG4gICAgdGhpcy5pbnB1dFBsYWNlaG9sZGVyID0gJ0NPTU1PTi5MQVRfTE9ORy4nICsgKHRoaXMudHlwZSA9PT0gJ2xvbmdpdHVkZScgJiYgJ0QnIHx8ICcnKSArIHRoaXMucGF0dGVybiArICdfUExBQ0VIT0xERVInO1xuXG4gICAgdGhpcy50ZXh0Rm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICB0aGlzLnJlcXVpcmVkID8gW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdIDogW251bGxdXG4gICAgKTtcbiAgICB0aGlzLnRleHRNYXNrQ29uZmlnID0ge21hc2s6IHRoaXMubWFzaywga2VlcENoYXJQb3NpdGlvbnM6IHRydWUsIHBsYWNlaG9sZGVyQ2hhcjogdGhpcy5wbGFjZWhvbGRlckNoYXJ9O1xuXG4gICAgdGhpcy5zaWduRm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICB0aGlzLnJlcXVpcmVkID8gW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdIDogW251bGxdXG4gICAgKTtcblxuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Db250cm9sIHx8IHRoaXMuZm9ybUNvbnRyb2xOYW1lICYmIHRoaXMuZm9ybUdyb3VwRGlyICYmIHRoaXMuZm9ybUdyb3VwRGlyLmZvcm0uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKSBhcyBGb3JtQ29udHJvbDtcbiAgICBpZiAoIXRoaXMuZm9ybUNvbnRyb2wpIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBtYW5kYXRvcnkgYXR0cmlidXRlIFxcJ2Zvcm1Db250cm9sXFwnIG9yIFxcJ2Zvcm1Db250cm9sTmFtZVxcJyBpbiA8bWF0LWxhdGxvbmctZmllbGQ+LicpO1xuXG4gICAgY29uc3QgZXhpc3RpbmdWYWxpZGF0b3JzID0gdGhpcy5mb3JtQ29udHJvbC52YWxpZGF0b3I7XG4gICAgaWYgKGV4aXN0aW5nVmFsaWRhdG9ycykge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKFtcbiAgICAgICAgZXhpc3RpbmdWYWxpZGF0b3JzLFxuICAgICAgICB0aGlzLnR5cGUgPT09ICdsYXRpdHVkZScgPyBTaGFyZWRWYWxpZGF0b3JzLmxhdGl0dWRlIDogU2hhcmVkVmFsaWRhdG9ycy5sb25naXR1ZGVcbiAgICAgIF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLnR5cGUgPT09ICdsYXRpdHVkZScgPyBTaGFyZWRWYWxpZGF0b3JzLmxhdGl0dWRlIDogU2hhcmVkVmFsaWRhdG9ycy5sb25naXR1ZGUpO1xuICAgIH1cblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICBtZXJnZShcbiAgICAgICAgdGhpcy50ZXh0Rm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLFxuICAgICAgICB0aGlzLnNpZ25Gb3JtQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoXykgPT4gdGhpcy5vbkZvcm1DaGFuZ2UodGhpcy50ZXh0Rm9ybUNvbnRyb2wudmFsdWUpKVxuICAgICk7XG5cbiAgICAvLyBMaXN0ZW4gc3RhdHVzIGNoYW5nZXMgKHdoZW4gZG9uZSBvdXRzaWRlIHRoZSBjb21wb25lbnQgIC0gZS5nLiB3aGVuIHNldEVycm9ycygpIGlzIGNhbGxpbmcgb24gdGhlIGZvcm1Db250cm9sKVxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKChfKSA9PiAhdGhpcy5yZWFkb25seSAmJiAhdGhpcy53cml0aW5nICYmICF0aGlzLmRpc2FibGluZykgLy8gU2tpcFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKF8pID0+IHRoaXMubWFya0ZvckNoZWNrKCkpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLndyaXRpbmcpIHJldHVybjtcblxuICAgIHRoaXMudmFsdWUgPSAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpID8gcGFyc2VGbG9hdChvYmoucmVwbGFjZSgvLC9nLCAnLicpKSA6IG9iajtcbiAgICB0aGlzLndyaXRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHN0clZhbHVlID0gdGhpcy5mb3JtYXRGbihcbiAgICAgIHRoaXMudmFsdWUsXG4gICAgICB7XG4gICAgICAgIC4uLnRoaXMuZm9ybWF0Rm5PcHRpb25zLFxuICAgICAgICBwbGFjZWhvbGRlckNoYXI6IHRoaXMucGxhY2Vob2xkZXJDaGFyXG4gICAgICB9KTtcbiAgICBjb25zdCBzaWduID0gaXNOb3ROaWwodGhpcy52YWx1ZSkgPyAodGhpcy52YWx1ZSA8IDAgPyAtMSA6IDEpIDpcbiAgICAgIC8vIFVzZSBkZWZhdWx0IHNpZ24sIGlmIGFueVxuICAgICAgKHRoaXMuZGVmYXVsdFNpZ24gPyAodGhpcy5kZWZhdWx0U2lnbiA9PT0gJy0nID8gLTEgOiAxKSA6IG51bGwpO1xuXG4gICAgLy8gREVCVUdcbiAgICAvLyBjb25zb2xlLmRlYnVnKFwic3RyVmFsdWU6IFwiICsgc3RyVmFsdWUpXG4gICAgLy8gY29uc29sZS5kZWJ1ZyhcInNpZ246IFwiICsgc2lnbilcblxuICAgIHRoaXMudGV4dEZvcm1Db250cm9sLnBhdGNoVmFsdWUoc3RyVmFsdWUsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgdGhpcy5zaWduRm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShzaWduLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIHRoaXMud3JpdGluZyA9IGZhbHNlO1xuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGluZykgcmV0dXJuO1xuXG4gICAgdGhpcy5kaXNhYmxpbmcgPSB0cnVlO1xuICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLnRleHRGb3JtQ29udHJvbC5kaXNhYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wuZGlzYWJsZSh7b25seVNlbGY6IHRydWUsIGVtaXRFdmVudDogZmFsc2V9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50ZXh0Rm9ybUNvbnRyb2wuZW5hYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wuZW5hYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIH1cbiAgICB0aGlzLmRpc2FibGluZyA9IGZhbHNlO1xuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIG9uRm9ybUNoYW5nZShzdHJWYWx1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLndyaXRpbmcpIHJldHVybjsgLy8gU2tpcCBpZiBjYWxsIGJ5IHNlbGZcbiAgICB0aGlzLndyaXRpbmcgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMudGV4dEZvcm1Db250cm9sLmludmFsaWQgfHwgdGhpcy5zaWduRm9ybUNvbnRyb2wuaW52YWxpZCkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNQZW5kaW5nKCk7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldEVycm9ycyh7XG4gICAgICAgIC4uLnRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzLFxuICAgICAgICAuLi50aGlzLnRleHRGb3JtQ29udHJvbC5lcnJvcnMsXG4gICAgICAgIC4uLnRoaXMuc2lnbkZvcm1Db250cm9sLmVycm9yc1xuICAgICAgfSk7XG4gICAgICB0aGlzLndyaXRpbmcgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IGlzTm90TmlsT3JCbGFuayhzdHJWYWx1ZSkgPyBwYXJzZUxhdGl0dWRlT3JMb25naXR1ZGUoc3RyVmFsdWUsIHRoaXMucGF0dGVybiwgNyAvKj1wcmVjaXNpb24gb2YgdGhlIGNvbnZlcnRlZCBkb3VibGUgdmFsdWUgKi8sIHRoaXMucGxhY2Vob2xkZXJDaGFyKSA6IG51bGw7XG5cbiAgICAvLyBERUJVR1xuICAgIC8vY29uc29sZS5kZWJ1ZygncGFyc2VkVmFsdWU9JywgcGFyc2VkVmFsdWUpO1xuXG4gICAgaWYgKGlzTmFOKHBhcnNlZFZhbHVlKSkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNQZW5kaW5nKCk7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldEVycm9ycyh0aGlzLnR5cGUgPT09ICdsYXRpdHVkZScgPyB7bGF0aXR1ZGU6IHRydWV9IDoge2xvbmdpdHVkZTogdHJ1ZX0pO1xuICAgICAgdGhpcy53cml0aW5nID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHNpZ24gPSAodGhpcy5wYXR0ZXJuID09PSAnREQnKSA/IDEgLyppZ25vcmUgc2lnbiovIDogKHRoaXMuc2lnbkZvcm1Db250cm9sLnZhbHVlIHx8IDEpO1xuICAgIHRoaXMudmFsdWUgPSBpc05vdE5pbChwYXJzZWRWYWx1ZSkgPyBzaWduICogcGFyc2VkVmFsdWUgOiBudWxsO1xuXG4gICAgLy8gR2V0IHRoZSBtb2RlbCB2YWx1ZVxuICAgIC8vY29uc29sZS5kZWJ1ZyhcIlttYXQtbGF0bG9uXSBTZXR0aW5nIHZhbHVlIHtcIiArIHRoaXMudmFsdWUgKyBcIn0gcGFyc2VkIGZyb20ge1wiICsgc3RyVmFsdWUgKyBcIn1cIik7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKHRoaXMudmFsdWUsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgdGhpcy53cml0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcblxuICAgIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2sodGhpcy52YWx1ZSk7XG4gIH1cblxuICBjaGVja0lmVG91Y2hlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbC50b3VjaGVkIHx8IHRoaXMudGV4dEZvcm1Db250cm9sLnRvdWNoZWQpIHtcbiAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLl9vblRvdWNoZWRDYWxsYmFjaygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIF9vbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG5cbiAgICAvLyBBcHBseSB0aGUgZGVmYXVsdCBzaWduLCB3aGVuIHBhdHRlcm4gaXMgREQgYW5kIGZpZWxkIGlzIGVtcHR5XG4gICAgaWYgKGlzTmlsKHRoaXMudmFsdWUpKSB7XG4gICAgICBpZiAodGhpcy5kZWZhdWx0U2lnbikge1xuICAgICAgICAvLyBDb21wdXRlIHRoZSB0ZXh0IHZhbHVlLCB1c2luZyB0aGUgZGVmYXVsdCBzaWduXG4gICAgICAgIGNvbnN0IGRlZmF1bHRTaWduID0gdGhpcy5kZWZhdWx0U2lnbiA9PT0gJy0nID8gLTEgOiAxO1xuXG4gICAgICAgIGlmICh0aGlzLnBhdHRlcm4gPT09ICdERCcpIHtcbiAgICAgICAgICBsZXQgdmFsdWVTdHIgPSB0aGlzLmZvcm1hdEZuKGRlZmF1bHRTaWduLCB7Li4udGhpcy5mb3JtYXRGbk9wdGlvbnMsIHBsYWNlaG9sZGVyQ2hhcjogdGhpcy5wbGFjZWhvbGRlckNoYXJ9KTtcbiAgICAgICAgICB2YWx1ZVN0ciA9IHZhbHVlU3RyICYmIHZhbHVlU3RyLnJlcGxhY2UoJzEnLCB0aGlzLnBsYWNlaG9sZGVyQ2hhcik7XG5cbiAgICAgICAgICAvLyBXYWl0IGVuZCBvZiBmb2N1cyBhbmltYXRpb24gKGxhYmVsIHNob3VsZCBtb3ZlIHRvIHRvcClcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIFNldCB0aGUgdmFsdWVcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZVN0cjtcblxuICAgICAgICAgICAgLy8gTW92ZSBjdXJzb3IgYWZ0ZXIgdGhlIHNpZ25cbiAgICAgICAgICAgIGNvbnN0IGNhcmV0SW5kZXggPSAodGhpcy50eXBlID09PSAnbGF0aXR1ZGUnKSA/IDIgOiAxO1xuICAgICAgICAgICAgc2VsZWN0SW5wdXRSYW5nZShldmVudC50YXJnZXQsIGNhcmV0SW5kZXgpO1xuICAgICAgICAgIH0sIDI1MCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wuc2V0VmFsdWUoZGVmYXVsdFNpZ24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0IHRoZSBjb250ZW50IChpZiB0aGVyZSBpcyBhIHZhbHVlKVxuICAgIGVsc2Uge1xuICAgICAgc2VsZWN0SW5wdXRDb250ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLm9uRm9jdXMuZW1pdChldmVudCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBfb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgY29uc3QgdG91Y2hlZCA9IHRoaXMuY2hlY2tJZlRvdWNoZWQoKTtcbiAgICBpZiAodG91Y2hlZCAmJiBpc05pbCh0aGlzLnZhbHVlKSkge1xuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgICB0aGlzLm9uQmx1ci5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG1vdmVDYXJldFRvU2VwYXJhdG9yKGV2ZW50OiBhbnksIGZvcndhcmQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAvLyBNb3ZlIHRvIHRoZSBzcGFjZSBzZXBhcmF0b3JcbiAgICByZXR1cm4gbW92ZUlucHV0Q2FyZXRUb1NlcGFyYXRvcihldmVudCwgJyAnLCBmb3J3YXJkKTtcbiAgfVxuXG4gIG9uS2V5cHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvLyBOdW1iZXIgZW50ZXJlZCBvciBvbmUgb2YgdGhlIDQgZGlyZWN0aW9uIHVwLCBkb3duLCBsZWZ0IGFuZCByaWdodFxuICAgIGlmICgoZXZlbnQud2hpY2ggPj0gNDggJiYgZXZlbnQud2hpY2ggPD0gNTcpIHx8IChldmVudC53aGljaCA+PSAzNyAmJiBldmVudC53aGljaCA8PSA0MCkpIHtcbiAgICAgIC8vY29uc29sZS5kZWJ1ZygnaW5wdXQgbnVtYmVyIGVudGVyZWQgOicgKyBldmVudC53aGljaCArICcgJyArIGV2ZW50LmtleUNvZGUgKyAnICcgKyBldmVudC5jaGFyQ29kZSk7XG4gICAgICAvLyBPS1xuICAgIH1cbiAgICAvLyBEZWNpbWFsIHNlcGFyYXRvciBlbnRlcmVkXG4gICAgZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnLicgfHwgZXZlbnQua2V5ID09PSAnLCcpIHtcbiAgICAgIC8vIERFQlVHXG4gICAgICAvLyBjb25zb2xlLmRlYnVnKCdpbnB1dCBkZWNpbWFsIHNlcGFyYXRvciBlbnRlcmVkIDonICsgZXZlbnQuY29kZSk7XG5cbiAgICAgIC8vIE1vdmUgY2FyZXQgYWZ0ZXIgcG9pbnRcbiAgICAgIG1vdmVJbnB1dENhcmV0VG9TZXBhcmF0b3IoZXZlbnQsICcuJyk7XG5cbiAgICAgIC8vIE9LXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENvbW1hbmQgZW50ZXJlZCAoZGVsZXRlLCBiYWNrc3BhY2Ugb3Igb25lIG9mIHRoZSA0IGRpcmVjdGlvbiB1cCwgZG93biwgbGVmdCBhbmQgcmlnaHQpXG4gICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPj0gMzcgJiYgZXZlbnQua2V5Q29kZSA8PSA0MCkgfHwgZXZlbnQua2V5Q29kZSA9PSA0NiB8fCBldmVudC53aGljaCA9PSA4IHx8IGV2ZW50LmtleUNvZGUgPT0gOSkge1xuICAgICAgICAvLyBERUJVR1xuICAgICAgICAvL2NvbnNvbGUuZGVidWcoJ2lucHV0IGNvbW1hbmQgZW50ZXJlZDonICsgZXZlbnQud2hpY2ggKyAnICcgKyBldmVudC5rZXlDb2RlICsgJyAnICsgZXZlbnQuY2hhckNvZGUpO1xuXG4gICAgICAgIC8vIE9LXG4gICAgICB9XG4gICAgICAvLyBTaWduIGVudGVyZWQgKCcrJyBvciAnLScpXG4gICAgICBlbHNlIGlmIChldmVudC5rZXlDb2RlID09PSA0MyB8fCBldmVudC5rZXlDb2RlID09PSA0NSkge1xuICAgICAgICAvLyBERUJVR1xuICAgICAgICAvLyBjb25zb2xlLmRlYnVnKCdpbnB1dCBzaWduIGVudGVyZWQ6JyArIGV2ZW50LndoaWNoICsgJyAnICsgZXZlbnQua2V5Q29kZSArICcgJyArIGV2ZW50LmNoYXJDb2RlKTtcbiAgICAgICAgY29uc3QgY2FyZXRQb3NpdGlvbiA9IGdldENhcmV0UG9zaXRpb24oZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgaWYgKHRoaXMucGF0dGVybiA9PT0gJ0REJyAmJiBjYXJldFBvc2l0aW9uID4gMCkge1xuICAgICAgICAgIGNvbnN0IHNpZ24gPSBldmVudC5rZXk7XG4gICAgICAgICAgLy8gV2FpdCBrZXkgYXBwbHlcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgICAgaWYgKHZhbHVlICYmICF2YWx1ZS5zdGFydHNXaXRoKHNpZ24pKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHNpZ24gKyAodmFsdWUubGVuZ3RoID4gMSA/IHZhbHVlLnN1YnN0cigxKSA6ICcnKTtcblxuICAgICAgICAgICAgLy8gREVCVUdcbiAgICAgICAgICAgIC8vIGNvbnNvbGUuZGVidWcoXCJzaWduIGVudGVyZWQuIFVwZGF0aW5nIGlucHV0IHZhbHVlIHRvOlwiLCBuZXdWYWx1ZSk7XG5cbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgICAgIHNlbGVjdElucHV0UmFuZ2UodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgY2FyZXRQb3NpdGlvbik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPS1xuICAgICAgfVxuICAgICAgLy8gRGlyZWN0aW9uIGNoYXIgKGNhcGl0YWxpemVkKVxuICAgICAgZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnTicgfHwgZXZlbnQua2V5ID09PSAnUycgfHwgZXZlbnQua2V5ID09PSAnRScgfHwgZXZlbnQua2V5ID09PSAnVycpIHtcbiAgICAgICAgLy8gREVCVUdcbiAgICAgICAgLy8gY29uc29sZS5kZWJ1ZygnaW5wdXQgZGlyZWN0aW9uIGVudGVyZWQ6JyArIGV2ZW50LndoaWNoICsgJyAnICsgZXZlbnQua2V5Q29kZSArICcgJyArIGV2ZW50LmNoYXJDb2RlKTtcblxuICAgICAgICAvLyBPS1xuICAgICAgfVxuICAgICAgLy8gRGlyZWN0aW9uIGNoYXJcbiAgICAgIGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ24nIHx8IGV2ZW50LmtleSA9PT0gJ3MnIHx8IGV2ZW50LmtleSA9PT0gJ2UnIHx8IGV2ZW50LmtleSA9PT0gJ3cnKSB7XG4gICAgICAgIC8vIERFQlVHXG4gICAgICAgIC8vIGNvbnNvbGUuZGVidWcoJ2lucHV0IGRpcmVjdGlvbiBlbnRlcmVkOicgKyBldmVudC53aGljaCArICcgJyArIGV2ZW50LmtleUNvZGUgKyAnICcgKyBldmVudC5jaGFyQ29kZSk7XG5cbiAgICAgICAgLy8gQ2FwaXRhbGl6ZSAod2l0aCBhIGRlbGF5LCB0byBiZSBzdXJlIHRoZSBrZXkgaGFzIGJlZW4gYXBwbGllZCB0byBpbnB1dCB0ZXh0KVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICB9LCAxMCk7XG5cbiAgICAgICAgLy8gT0tcbiAgICAgIH1cblxuICAgICAgLy8gQW55IG90aGVyIGtleWJvYXJkIGV2ZW50c1xuICAgICAgZWxzZSB7XG4gICAgICAgIC8vIERFQlVHXG4gICAgICAgIC8vY29uc29sZS5kZWJ1ZygnaW5wdXQgbm90IG51bWJlciBlbnRlcmVkIDonICsgZXZlbnQud2hpY2ggKyAnICcgKyBldmVudC5rZXlDb2RlICsgJyAnICsgZXZlbnQuY2hhckNvZGUgKyAnICcgKyBldmVudC5jb2RlICk7XG5cbiAgICAgICAgLy8gS086IGNhbmNlbCB0aGUgZXZlbnRcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cblxuIl19
@@ -39,7 +39,6 @@ import { IonicModule, Platform, IonRouterOutlet, ModalController, PopoverControl
39
39
  import * as momentImported from 'moment';
40
40
  import { isMoment } from 'moment';
41
41
  import { MomentDateAdapter, MatMomentDateModule } from '@angular/material-moment-adapter';
42
- import * as momentTZImported from 'moment-timezone';
43
42
  import { Keyboard } from '@ionic-native/keyboard/ngx';
44
43
  import { TextMaskModule } from 'angular2-text-mask';
45
44
  import { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';
@@ -2403,15 +2402,9 @@ FileSizePipe.decorators = [
2403
2402
  ];
2404
2403
 
2405
2404
  const moment$1 = momentImported;
2406
- const tz = momentTZImported;
2407
2405
  const DATE_UNIX_TIMESTAMP = 'X';
2408
2406
  const DATE_UNIX_MS_TIMESTAMP = 'x';
2409
2407
  class DateUtils {
2410
- constructor() {
2411
- this.toDateISOString = toDateISOString;
2412
- this.fromDateISOString = fromDateISOString;
2413
- this.toDuration = toDuration;
2414
- }
2415
2408
  static min(date1, date2) {
2416
2409
  return date1 && (!date2 || date1.isSameOrBefore(date2)) ? date1 : date2;
2417
2410
  }
@@ -2461,6 +2454,9 @@ class DateUtils {
2461
2454
  return date.day() === weekday;
2462
2455
  }
2463
2456
  }
2457
+ DateUtils.toDateISOString = toDateISOString;
2458
+ DateUtils.fromDateISOString = fromDateISOString;
2459
+ DateUtils.toDuration = toDuration;
2464
2460
  function toDateISOString(value) {
2465
2461
  if (!value)
2466
2462
  return undefined;
@@ -4924,7 +4920,7 @@ class MatLatLongField {
4924
4920
  MatLatLongField.decorators = [
4925
4921
  { type: Component, args: [{
4926
4922
  selector: 'mat-latlong-field',
4927
- template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formatFn(value, formatFnOptions)}}</ion-text>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n</mat-form-field>\n\n<!-- writable -->\n<ng-template #writable>\n\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\">\n <ion-col class=\"text ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"formControl.disabled\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label *ngIf=\"placeholder\">{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #inputElement\n type=\"text\"\n autocomplete=\"off\"\n [textMask]=\"textMaskConfig\"\n [formControl]=\"textFormControl\"\n [placeholder]=\"inputPlaceholder|translate\"\n (keypress)=\"onKeypress($event)\"\n (keydown.tab)=\"moveCaretToSeparator($event, true)\"\n (keydown.shift.tab)=\"moveCaretToSeparator($event, false)\"\n (focus)=\"_onFocus($event)\"\n (blur)=\"_onBlur($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\">\n\n <div *ngIf=\"!showSignControl\" matSuffix #injectMatSuffix></div>\n\n <!--<div matSuffix *ngIf=\"!showSignControl\"><ng-content select=\"[matSuffix]\"></ng-content></div>-->\n\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\">\n\n <!-- errors -->\n <ng-container *ngIf=\"formControl.touched\">\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('latitude')\" translate>ERROR.FIELD_NOT_VALID_LATITUDE</mat-error>\n <mat-error *ngIf=\"formControl.hasError('longitude')\" translate>ERROR.FIELD_NOT_VALID_LONGITUDE</mat-error>\n <ng-content select=\"mat-error\"></ng-content>\n </ng-container>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n </mat-form-field>\n </ion-col>\n\n <!-- sign -->\n <ion-col class=\"sign ion-no-padding\" [ngSwitch]=\"type\" *ngIf=\"showSignControl\">\n\n <!-- sign on latitude -->\n <mat-form-field *ngSwitchCase=\"'latitude'\"\n floatLabel=\"never\"\n [class.mat-form-field-invalid]=\"formControl.touched && signFormControl.invalid\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.LAT_LONG.LAT_SIGN_PLACEHOLDER</mat-label>\n <mat-select [formControl]=\"signFormControl\"\n [tabindex]=\"tabindex+1\">\n <mat-option [value]=\"1\">{{'COMMON.LAT_LONG.LAT_SIGN_N'|translate}}</mat-option>\n <mat-option [value]=\"-1\" >{{'COMMON.LAT_LONG.LAT_SIGN_S'|translate}}</mat-option>\n </mat-select>\n\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- sign on longitude -->\n <mat-form-field floatLabel=\"never\"\n *ngSwitchCase=\"'longitude'\"\n [class.mat-form-field-invalid]=\"formControl.touched && signFormControl.invalid\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.LAT_LONG.LONG_SIGN_PLACEHOLDER</mat-label>\n <mat-select [formControl]=\"signFormControl\"\n [tabindex]=\"tabindex+2\">\n <mat-option [value]=\"1\" translate>{{'COMMON.LAT_LONG.LONG_SIGN_E'|translate}}</mat-option>\n <mat-option [value]=\"-1\" translate>{{'COMMON.LAT_LONG.LONG_SIGN_W'|translate}}</mat-option>\n </mat-select>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n\n\n<ng-template #matSuffixTemplate>\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
4923
+ template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formatFn(value, formatFnOptions)}}</ion-text>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n</mat-form-field>\n\n<!-- writable -->\n<ng-template #writable>\n\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\">\n <ion-col class=\"text ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"formControl.disabled\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label *ngIf=\"placeholder\">{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #inputElement\n type=\"text\"\n autocomplete=\"off\"\n [textMask]=\"textMaskConfig\"\n [formControl]=\"textFormControl\"\n [placeholder]=\"inputPlaceholder|translate\"\n (keypress)=\"onKeypress($event)\"\n (keydown.tab)=\"moveCaretToSeparator($event, true)\"\n (keydown.shift.tab)=\"moveCaretToSeparator($event, false)\"\n (focus)=\"_onFocus($event)\"\n (blur)=\"_onBlur($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\">\n\n <div *ngIf=\"!showSignControl\" matSuffix #injectMatSuffix></div>\n\n <!--<div matSuffix *ngIf=\"!showSignControl\"><ng-content select=\"[matSuffix]\"></ng-content></div>-->\n\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\">\n\n <!-- errors -->\n <ng-container *ngIf=\"formControl.touched && formControl.errors|mapKeys|arrayFirst; let errorKey\" [ngSwitch]=\"errorKey\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'latitude'\" translate>ERROR.FIELD_NOT_VALID_LATITUDE</mat-error>\n <mat-error *ngSwitchCase=\"'longitude'\" translate>ERROR.FIELD_NOT_VALID_LONGITUDE</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg.key || formControl.errors.msg) | translate: formControl.errors.msg.params}}</mat-error>\n <ng-container *ngSwitchDefault>\n <ng-content select=\"mat-error\"></ng-content>\n </ng-container>\n </ng-container>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n </mat-form-field>\n </ion-col>\n\n <!-- sign -->\n <ion-col class=\"sign ion-no-padding\" [ngSwitch]=\"type\" *ngIf=\"showSignControl\">\n\n <!-- sign on latitude -->\n <mat-form-field *ngSwitchCase=\"'latitude'\"\n floatLabel=\"never\"\n [class.mat-form-field-invalid]=\"formControl.touched && signFormControl.invalid\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.LAT_LONG.LAT_SIGN_PLACEHOLDER</mat-label>\n <mat-select [formControl]=\"signFormControl\"\n [tabindex]=\"tabindex+1\">\n <mat-option [value]=\"1\">{{'COMMON.LAT_LONG.LAT_SIGN_N'|translate}}</mat-option>\n <mat-option [value]=\"-1\" >{{'COMMON.LAT_LONG.LAT_SIGN_S'|translate}}</mat-option>\n </mat-select>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n\n <!-- sign on longitude -->\n <mat-form-field floatLabel=\"never\"\n *ngSwitchCase=\"'longitude'\"\n [class.mat-form-field-invalid]=\"formControl.touched && signFormControl.invalid\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.LAT_LONG.LONG_SIGN_PLACEHOLDER</mat-label>\n <mat-select [formControl]=\"signFormControl\"\n [tabindex]=\"tabindex+2\">\n <mat-option [value]=\"1\" translate>{{'COMMON.LAT_LONG.LONG_SIGN_E'|translate}}</mat-option>\n <mat-option [value]=\"-1\" translate>{{'COMMON.LAT_LONG.LONG_SIGN_W'|translate}}</mat-option>\n </mat-select>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n\n\n<ng-template #matSuffixTemplate>\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
4928
4924
  providers: [
4929
4925
  {
4930
4926
  provide: NG_VALUE_ACCESSOR,
@@ -4933,7 +4929,7 @@ MatLatLongField.decorators = [
4933
4929
  }
4934
4930
  ],
4935
4931
  changeDetection: ChangeDetectionStrategy.OnPush,
4936
- styles: [":host{display:inline-block;width:100%;min-width:140px;position:relative;--ion-grid-column-padding:0}mat-form-field .datetime-md{padding:0!important}ion-row{flex-wrap:nowrap}ion-row ion-col.text{min-width:80px}ion-row ion-col.sign{min-width:60px;max-width:70px}mat-form-field{width:100%}mat-form-field .mat-form-field-subscript-wrapper{overflow:visible;top:100%}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}mat-error{text-align:right;width:100%}"]
4932
+ styles: [":host{display:inline-block;width:100%;min-width:140px;position:relative;--ion-grid-column-padding:0}mat-form-field .datetime-md{padding:0!important}ion-row{flex-wrap:nowrap}ion-row ion-col.text{min-width:80px}ion-row ion-col.sign{min-width:40px;max-width:55px}mat-form-field{width:100%}mat-form-field .mat-form-field-subscript-wrapper{overflow:visible;white-space:nowrap;top:100%}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}mat-error{text-align:right;width:100%}"]
4937
4933
  },] }
4938
4934
  ];
4939
4935
  MatLatLongField.ctorParameters = () => [
@@ -20208,7 +20204,7 @@ AppListForm.decorators = [
20208
20204
  selector: 'app-list-form',
20209
20205
  template: "\n<ng-container *ngIf=\"!loading; else listSkeleton\">\n\n <!-- List -->\n <ion-list class=\"ion-no-padding\" >\n\n <ng-container *ngFor=\"let itemControl of itemControls; index as i; last as last\">\n <ion-item *ngIf=\"itemControl.value; let item\"\n [class.disabled]=\"disabled\" tappable\n (click)=\"onItemClick($event, item)\"\n [color]=\"selection.isSelected(item) ? 'secondary100' : undefined\"\n [button]=\"selectionChanges.observers.length > 0\">\n <ion-label>{{displayWith(item)}}</ion-label>\n\n <!-- buttons -->\n <ion-buttons slot=\"end\" *ngIf=\"enabled\" class=\"action-buttons\">\n <ion-button fill=\"clear\" (click)=\"removeAt(i)\">\n <ion-icon slot=\"icon-only\" name=\"trash\"></ion-icon>\n </ion-button>\n\n <ion-button *ngFor=\"let button of options.buttons\"\n fill=\"clear\" [color]=\"button.color\"\n [class.cdk-visually-hidden]=\"button.disabled|async\"\n (click)=\"onItemButtonClick(button, $event, item, i)\"\n [title]=\"(button.title || '')|translate\">\n <ion-icon slot=\"icon-only\" [name]=\"button.icon\"></ion-icon>\n </ion-button>\n\n </ion-buttons>\n </ion-item>\n </ng-container>\n </ion-list>\n\n <!-- Add button -->\n <ion-button color=\"tertiary\" fill=\"clear\"\n *ngIf=\"enabled && onNewItem.observers.length; else emptyText\"\n [title]=\"'COMMON.BTN_ADD'|translate\"\n (click)=\"onNewClick($event)\" >\n <ion-icon slot=\"start\" name=\"add\"></ion-icon>\n <ion-label translate>COMMON.BTN_ADD</ion-label>\n </ion-button>\n\n <!-- Empty (if readonly) -->\n <ng-template #emptyText>\n <ion-text *ngIf=\"!length\" color=\"medium\"><i translate>COMMON.EMPTY_OPTION</i></ion-text>\n </ng-template>\n</ng-container>\n\n<ng-template #listSkeleton>\n\n <ion-list>\n <ng-container *ngTemplateOutlet=\"itemSkeleton\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemSkeleton\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemSkeleton\"></ng-container>\n </ion-list>\n\n</ng-template>\n\n<ng-template #itemSkeleton>\n\n <ion-item>\n <ion-label>\n <ion-skeleton-text animated style=\"width: 60%\"></ion-skeleton-text>\n </ion-label>\n </ion-item>\n\n</ng-template>\n",
20210
20206
  changeDetection: ChangeDetectionStrategy.OnPush,
20211
- styles: [":host{--ion-item-background-selected:var(--ion-color-secondary100);--ion-item-color-selected:var(--ion-color-secondary100-contrast)}ion-item.disabled ion-label{color:var(--ion-color-medium-shade,grey)}ion-item{--min-height:48px;--ion-item-background-color-hover:var(--ion-color-light);--ion-item-color-hover:var(--ion-color-light-contrast)}ion-item .action-buttons{visibility:hidden;display:none}ion-item:hover{height:var(--min-height);background-color:var(--ion-item-background-color-hover)}ion-item:hover .action-buttons{margin-top:-1px;visibility:visible;display:block}ion-item:hover ion-label,ion-item:hover ion-text{color:var(--ion-item-color-hover)}ion-item.selected{--ion-item-background-color-hover:var(--ion-item-background-selected)!important;--ion-item-color-hover:var(--ion-item-color-selected)!important;background-color:var(--ion-item-background-selected)}ion-item.selected ion-label,ion-item.selected ion-text{color:var(--ion-item-color-selected)}"]
20207
+ styles: [":host{--ion-item-background-selected:var(--ion-color-secondary100);--ion-item-color-selected:var(--ion-color-secondary100-contrast)}ion-item.disabled ion-label{color:var(--ion-color-medium-shade,grey)}ion-item{--min-height:48px;background-color:var(--ion-item-background)}ion-item ion-label,ion-item ion-text{color:var(--ion-item-color)}ion-item .action-buttons{visibility:hidden;display:none}ion-item:hover{height:var(--min-height);--ion-item-background-color:var(--ion-color-light);--ion-item-color:var(--ion-color-light-contrast)}ion-item:hover .action-buttons{margin-top:-1px;visibility:visible;display:block}ion-item.selected{--ion-item-background-color-hover:var(--ion-item-background-selected)!important;--ion-item-color-hover:var(--ion-item-color-selected)!important}"]
20212
20208
  },] }
20213
20209
  ];
20214
20210
  AppListForm.ctorParameters = () => [
@@ -21095,7 +21091,6 @@ CoreModule.decorators = [
21095
21091
  CacheModule,
21096
21092
  IonicStorageModule,
21097
21093
  NgxJdenticonModule,
21098
- TranslateModule.forChild(),
21099
21094
  // Sub modules
21100
21095
  AppGraphQLModule,
21101
21096
  AppMenuModule
@@ -21137,8 +21132,6 @@ CoreModule.decorators = [
21137
21132
  exports: [
21138
21133
  SharedModule,
21139
21134
  RouterModule,
21140
- IonicModule,
21141
- TranslateModule,
21142
21135
  // Sub modules
21143
21136
  AppGraphQLModule,
21144
21137
  AppMenuModule,