Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-conte.../plugins/wpforms-.../assets/lite/js/integrat.../gutenber...
File: formselector.es5.js
action: function action() {
[5500] Fix | Delete
// Switch to the default theme.
[5501] Fix | Delete
handlers.selectTheme('default');
[5502] Fix | Delete
[5503] Fix | Delete
// Trigger event for developers.
[5504] Fix | Delete
el.$window.trigger('wpformsFormSelectorDeleteTheme', [deleteThemeSlug, props]);
[5505] Fix | Delete
}
[5506] Fix | Delete
},
[5507] Fix | Delete
cancel: {
[5508] Fix | Delete
text: strings.cancel,
[5509] Fix | Delete
keys: ['esc']
[5510] Fix | Delete
}
[5511] Fix | Delete
}
[5512] Fix | Delete
});
[5513] Fix | Delete
}
[5514] Fix | Delete
};
[5515] Fix | Delete
app.init();
[5516] Fix | Delete
[5517] Fix | Delete
// Provide access to public functions/properties.
[5518] Fix | Delete
return app;
[5519] Fix | Delete
}(document, window, jQuery);
[5520] Fix | Delete
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0IiwiZG9jdW1lbnQiLCJ3aW5kb3ciLCIkIiwiX3dwJGNvbXBvbmVudHMiLCJ3cCIsImNvbXBvbmVudHMiLCJQYW5lbEJvZHkiLCJDb2xvckluZGljYXRvciIsIlRleHRDb250cm9sIiwiQnV0dG9uIiwiX3dwJGNvbXBvbmVudHMyIiwiUmFkaW8iLCJfX2V4cGVyaW1lbnRhbFJhZGlvIiwiUmFkaW9Hcm91cCIsIl9fZXhwZXJpbWVudGFsUmFkaW9Hcm91cCIsIl93cGZvcm1zX2d1dGVuYmVyZ19mbyIsIndwZm9ybXNfZ3V0ZW5iZXJnX2Zvcm1fc2VsZWN0b3IiLCJpc1BybyIsImlzTGljZW5zZUFjdGl2ZSIsInN0cmluZ3MiLCJyb3V0ZU5hbWVzcGFjZSIsInJvdXRlX25hbWVzcGFjZSIsImZvcm1TZWxlY3RvckNvbW1vbiIsInN0YXRlIiwidGhlbWVzRGF0YSIsIndwZm9ybXMiLCJjdXN0b20iLCJlbmFibGVkVGhlbWVzIiwiZWwiLCJhcHAiLCJpbml0IiwiJHdpbmRvdyIsImZldGNoVGhlbWVzRGF0YSIsInJlYWR5IiwiZXZlbnRzIiwiZGF0YSIsInN1YnNjcmliZSIsIl93cCRkYXRhJHNlbGVjdCIsIl93cCRkYXRhJHNlbGVjdDIiLCJfd3AkZGF0YSRzZWxlY3QzIiwiX3dwJGRhdGEkc2VsZWN0NCIsIl9jdXJyZW50UG9zdCR0eXBlIiwiX2N1cnJlbnRQb3N0JHR5cGUyIiwiaXNTYXZpbmdQb3N0Iiwic2VsZWN0IiwiaXNBdXRvc2F2aW5nUG9zdCIsImlzU2F2aW5nV2lkZ2V0IiwiaXNTYXZpbmdXaWRnZXRBcmVhcyIsImN1cnJlbnRQb3N0IiwiZ2V0Q3VycmVudFBvc3QiLCJpc0Jsb2NrT3JUZW1wbGF0ZSIsInR5cGUiLCJpbmNsdWRlcyIsIl8iLCJkZWJvdW5jZSIsInNhdmVDdXN0b21UaGVtZXMiLCJnZXRBbGxUaGVtZXMiLCJfb2JqZWN0U3ByZWFkIiwiZ2V0VGhlbWUiLCJzbHVnIiwiZ2V0RW5hYmxlZFRoZW1lcyIsImFsbFRoZW1lcyIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJhY2MiLCJrZXkiLCJfYWxsVGhlbWVzJGtleSRzZXR0aW4iLCJzZXR0aW5ncyIsImZpZWxkU2l6ZSIsImRpc2FibGVkIiwidXBkYXRlRW5hYmxlZFRoZW1lcyIsInRoZW1lIiwiX2RlZmluZVByb3BlcnR5IiwiaXNEaXNhYmxlZFRoZW1lIiwiX2FwcCRnZXRFbmFibGVkVGhlbWVzIiwiaXNXUEZvcm1zVGhlbWUiLCJfdGhlbWVzRGF0YSR3cGZvcm1zJHMiLCJCb29sZWFuIiwiaXNGZXRjaGluZ1RoZW1lcyIsImFwaUZldGNoIiwicGF0aCIsIm1ldGhvZCIsImNhY2hlIiwidGhlbiIsInJlc3BvbnNlIiwiY2F0Y2giLCJlcnJvciIsImNvbnNvbGUiLCJtZXNzYWdlIiwiZmluYWxseSIsImlzU2F2aW5nVGhlbWVzIiwiY3VzdG9tVGhlbWVzIiwicmVzdWx0IiwibG9nIiwiZ2V0Q3VycmVudFN0eWxlQXR0cmlidXRlcyIsInByb3BzIiwiX3RoZW1lc0RhdGEkd3Bmb3JtcyRkIiwiZGVmYXVsdEF0dHJpYnV0ZXMiLCJjdXJyZW50U3R5bGVBdHRyaWJ1dGVzIiwiX3Byb3BzJGF0dHJpYnV0ZXMkYXR0IiwiYXR0ciIsImF0dHJpYnV0ZXMiLCJtYXliZUNyZWF0ZUN1c3RvbVRoZW1lIiwiX3RoZW1lc0RhdGEkd3Bmb3JtcyRwIiwiY3VycmVudFN0eWxlcyIsImlzQ3VzdG9tVGhlbWUiLCJtaWdyYXRlVG9DdXN0b21UaGVtZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJwcmV2QXR0cmlidXRlcyIsImdldEJsb2NrUnVudGltZVN0YXRlVmFyIiwiY2xpZW50SWQiLCJ0aGVtZU5hbWUiLCJjcmVhdGVDdXN0b21UaGVtZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImNvdW50ZXIiLCJ0aGVtZVNsdWciLCJiYXNlVGhlbWUiLCJuYW1lIiwidGhlbWVfY3VzdG9tIiwiY29weVN0ciIsInRoZW1lX2NvcHkiLCJzZXRBdHRyaWJ1dGVzIiwibWF5YmVDcmVhdGVDdXN0b21UaGVtZUZyb21BdHRyaWJ1dGVzIiwiX2F0dHJpYnV0ZXMkdGhlbWVOYW1lIiwibmV3VGhlbWVTbHVnIiwiZXhpc3RpbmdUaGVtZSIsImlzRXhpc3RpbmdUaGVtZSIsImkiLCJuZXdTZXR0aW5ncyIsIl9hdHRyaWJ1dGVzJGF0dHIiLCJ1cGRhdGVDdXN0b21UaGVtZUF0dHJpYnV0ZSIsImF0dHJpYnV0ZSIsInZhbHVlIiwidHJpZ2dlciIsImdldFRoZW1lc1BhbmVsIiwiZm9ybVNlbGVjdG9yQ29tbW9uTW9kdWxlIiwic3RvY2tQaG90b3NNb2R1bGUiLCJzdG9ja1Bob3RvcyIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiaGFuZGxlcnMiLCJnZXRFdmVudEhhbmRsZXJzIiwic2hvd0N1c3RvbVRoZW1lT3B0aW9ucyIsImlzRnVsbFN0eWxpbmdFbmFibGVkIiwiY2hlY2tlZCIsImNsYXNzTmFtZSIsImdldFBhbmVsQ2xhc3MiLCJ0aXRsZSIsInRoZW1lcyIsInVzZV9tb2Rlcm5fbm90aWNlX2hlYWQiLCJ1c2VfbW9kZXJuX25vdGljZV90ZXh0IiwiaHJlZiIsInVzZV9tb2Rlcm5fbm90aWNlX2xpbmsiLCJyZWwiLCJ0YXJnZXQiLCJsZWFybl9tb3JlIiwic3R5bGUiLCJkaXNwbGF5IiwibGVhZF9mb3Jtc19wYW5lbF9ub3RpY2VfaGVhZCIsImxlYWRfZm9ybXNfcGFuZWxfbm90aWNlX3RleHQiLCJsYWJlbCIsImRlZmF1bHRDaGVja2VkIiwib25DaGFuZ2UiLCJzZWxlY3RUaGVtZSIsImdldFRoZW1lc0l0ZW1zSlNYIiwidGhlbWVfbmFtZSIsImNoYW5nZVRoZW1lTmFtZSIsImlzU2Vjb25kYXJ5Iiwib25DbGljayIsImRlbGV0ZVRoZW1lIiwiYnV0dG9uU2V0dGluZ3MiLCJ0aGVtZV9kZWxldGUiLCJhbGxUaGVtZXNEYXRhIiwiaXRlbXNKc3giLCJmaXJzdFRoZW1lU2x1ZyIsInB1c2giLCJnZXRUaGVtZXNJdGVtSlNYIiwiX3RoZW1lJG5hbWUiLCJ0aGVtZV9ub25hbWUiLCJjb2xvclZhbHVlIiwiYnV0dG9uQmFja2dyb3VuZENvbG9yIiwiYnV0dG9uX2JhY2tncm91bmQiLCJidXR0b25UZXh0Q29sb3IiLCJidXR0b25fdGV4dCIsImxhYmVsQ29sb3IiLCJmaWVsZF9sYWJlbCIsImxhYmVsU3VibGFiZWxDb2xvciIsImZpZWxkX3N1YmxhYmVsIiwiZmllbGRCb3JkZXJDb2xvciIsImZpZWxkX2JvcmRlciIsInNldEJsb2NrVGhlbWUiLCJtYXliZURpc3BsYXlVcGdyYWRlTW9kYWwiLCJibG9jayIsImdldEJsb2NrQ29udGFpbmVyIiwiY29udGFpbmVyIiwicXVlcnlTZWxlY3RvciIsImNvbmNhdCIsImZvcm1JZCIsIm5ld1Byb3BzIiwidXBkYXRlUHJldmlld0NTU1ZhclZhbHVlIiwiZWR1Y2F0aW9uIiwic2hvd1Byb01vZGFsIiwic2hvd0xpY2Vuc2VNb2RhbCIsImNvbW1vbkhhbmRsZXJzIiwiZ2V0U2V0dGluZ3NGaWVsZHNIYW5kbGVycyIsIl9zdGF0ZSRzdG9ja1Bob3RvcyIsIm9uU2VsZWN0VGhlbWUiLCJzZXRUcmlnZ2VyU2VydmVyUmVuZGVyIiwidXBkYXRlQ29weVBhc3RlQ29udGVudCIsImRlbGV0ZVRoZW1lU2x1ZyIsImRlbGV0ZVRoZW1lTW9kYWwiLCJjb25maXJtIiwidGhlbWVfZGVsZXRlX2NvbmZpcm0iLCJyZXBsYWNlIiwiY29udGVudCIsInRoZW1lX2RlbGV0ZV9jYW50X3VuZG9uZSIsInRoZW1lX2RlbGV0ZV90aXRsZSIsImljb24iLCJidXR0b25zIiwidGV4dCIsInRoZW1lX2RlbGV0ZV95ZXMiLCJidG5DbGFzcyIsImFjdGlvbiIsImNhbmNlbCIsImpRdWVyeSJdLCJzb3VyY2VzIjpbInRoZW1lcy1wYW5lbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgd3Bmb3Jtc19ndXRlbmJlcmdfZm9ybV9zZWxlY3RvciAqL1xuLyoganNoaW50IGVzMzogZmFsc2UsIGVzdmVyc2lvbjogNiAqL1xuXG4vKipcbiAqIEBwYXJhbSB3cGZvcm1zX2d1dGVuYmVyZ19mb3JtX3NlbGVjdG9yLnJvdXRlX25hbWVzcGFjZVxuICogQHBhcmFtIHN0cmluZ3MudGhlbWVfbmFtZVxuICogQHBhcmFtIHN0cmluZ3MudGhlbWVfZGVsZXRlXG4gKiBAcGFyYW0gc3RyaW5ncy50aGVtZV9kZWxldGVfdGl0bGVcbiAqIEBwYXJhbSBzdHJpbmdzLnRoZW1lX2RlbGV0ZV9jb25maXJtXG4gKiBAcGFyYW0gc3RyaW5ncy50aGVtZV9kZWxldGVfY2FudF91bmRvbmVcbiAqIEBwYXJhbSBzdHJpbmdzLnRoZW1lX2RlbGV0ZV95ZXNcbiAqIEBwYXJhbSBzdHJpbmdzLnRoZW1lX2NvcHlcbiAqIEBwYXJhbSBzdHJpbmdzLnRoZW1lX2N1c3RvbVxuICogQHBhcmFtIHN0cmluZ3MudGhlbWVfbm9uYW1lXG4gKiBAcGFyYW0gc3RyaW5ncy5idXR0b25fYmFja2dyb3VuZFxuICogQHBhcmFtIHN0cmluZ3MuYnV0dG9uX3RleHRcbiAqIEBwYXJhbSBzdHJpbmdzLmZpZWxkX2xhYmVsXG4gKiBAcGFyYW0gc3RyaW5ncy5maWVsZF9zdWJsYWJlbFxuICogQHBhcmFtIHN0cmluZ3MuZmllbGRfYm9yZGVyXG4gKi9cblxuLyoqXG4gKiBHdXRlbmJlcmcgZWRpdG9yIGJsb2NrLlxuICpcbiAqIFRoZW1lcyBwYW5lbCBtb2R1bGUuXG4gKlxuICogQHNpbmNlIDEuOC44XG4gKi9cbmV4cG9ydCBkZWZhdWx0ICggZnVuY3Rpb24oIGRvY3VtZW50LCB3aW5kb3csICQgKSB7XG5cdC8qKlxuXHQgKiBXUCBjb3JlIGNvbXBvbmVudHMuXG5cdCAqXG5cdCAqIEBzaW5jZSAxLjguOFxuXHQgKi9cblx0Y29uc3QgeyBQYW5lbEJvZHksIENvbG9ySW5kaWNhdG9yLCBUZXh0Q29udHJvbCwgQnV0dG9uIH0gPSB3cC5jb21wb25lbnRzO1xuXHRjb25zdCB7IF9fZXhwZXJpbWVudGFsUmFkaW86IFJhZGlvLCBfX2V4cGVyaW1lbnRhbFJhZGlvR3JvdXA6IFJhZGlvR3JvdXAgfSA9IHdwLmNvbXBvbmVudHM7XG5cblx0LyoqXG5cdCAqIExvY2FsaXplZCBkYXRhIGFsaWFzZXMuXG5cdCAqXG5cdCAqIEBzaW5jZSAxLjguOFxuXHQgKi9cblx0Y29uc3QgeyBpc1BybywgaXNMaWNlbnNlQWN0aXZlLCBzdHJpbmdzLCByb3V0ZV9uYW1lc3BhY2U6IHJvdXRlTmFtZXNwYWNlIH0gPSB3cGZvcm1zX2d1dGVuYmVyZ19mb3JtX3NlbGVjdG9yO1xuXG5cdC8qKlxuXHQgKiBGb3JtIHNlbGVjdG9yIGNvbW1vbiBtb2R1bGUuXG5cdCAqXG5cdCAqIEBzaW5jZSAxLjguOFxuXHQgKlxuXHQgKiBAdHlwZSB7T2JqZWN0fVxuXHQgKi9cblx0bGV0IGZvcm1TZWxlY3RvckNvbW1vbiA9IG51bGw7XG5cblx0LyoqXG5cdCAqIFJ1bnRpbWUgc3RhdGUuXG5cdCAqXG5cdCAqIEBzaW5jZSAxLjguOFxuXHQgKlxuXHQgKiBAdHlwZSB7T2JqZWN0fVxuXHQgKi9cblx0Y29uc3Qgc3RhdGUgPSB7fTtcblxuXHQvKipcblx0ICogVGhlbWVzIGRhdGEuXG5cdCAqXG5cdCAqIEBzaW5jZSAxLjguOFxuXHQgKlxuXHQgKiBAdHlwZSB7T2JqZWN0fVxuXHQgKi9cblx0Y29uc3QgdGhlbWVzRGF0YSA9IHtcblx0XHR3cGZvcm1zOiBudWxsLFxuXHRcdGN1c3RvbTogbnVsbCxcblx0fTtcblxuXHQvKipcblx0ICogRW5hYmxlZCB0aGVtZXMuXG5cdCAqXG5cdCAqIEBzaW5jZSAxLjguOFxuXHQgKlxuXHQgKiBAdHlwZSB7T2JqZWN0fVxuXHQgKi9cblx0bGV0IGVuYWJsZWRUaGVtZXMgPSBudWxsO1xuXG5cdC8qKlxuXHQgKiBFbGVtZW50cyBob2xkZXIuXG5cdCAqXG5cdCAqIEBzaW5jZSAxLjguOFxuXHQgKlxuXHQgKiBAdHlwZSB7T2JqZWN0fVxuXHQgKi9cblx0Y29uc3QgZWwgPSB7fTtcblxuXHQvKipcblx0ICogUHVibGljIGZ1bmN0aW9ucyBhbmQgcHJvcGVydGllcy5cblx0ICpcblx0ICogQHNpbmNlIDEuOC44XG5cdCAqXG5cdCAqIEB0eXBlIHtPYmplY3R9XG5cdCAqL1xuXHRjb25zdCBhcHAgPSB7XG5cdFx0LyoqXG5cdFx0ICogSW5pdGlhbGl6ZSBwYW5lbC5cblx0XHQgKlxuXHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdCAqL1xuXHRcdGluaXQoKSB7XG5cdFx0XHRlbC4kd2luZG93ID0gJCggd2luZG93ICk7XG5cblx0XHRcdGFwcC5mZXRjaFRoZW1lc0RhdGEoKTtcblxuXHRcdFx0JCggYXBwLnJlYWR5ICk7XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIERvY3VtZW50IHJlYWR5LlxuXHRcdCAqXG5cdFx0ICogQHNpbmNlIDEuOC44XG5cdFx0ICovXG5cdFx0cmVhZHkoKSB7XG5cdFx0XHRhcHAuZXZlbnRzKCk7XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEV2ZW50cy5cblx0XHQgKlxuXHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdCAqL1xuXHRcdGV2ZW50cygpIHtcblx0XHRcdHdwLmRhdGEuc3Vic2NyaWJlKCBmdW5jdGlvbigpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjb21wbGV4aXR5XG5cdFx0XHRcdGNvbnN0IGlzU2F2aW5nUG9zdCA9IHdwLmRhdGEuc2VsZWN0KCAnY29yZS9lZGl0b3InICk/LmlzU2F2aW5nUG9zdCgpO1xuXHRcdFx0XHRjb25zdCBpc0F1dG9zYXZpbmdQb3N0ID0gd3AuZGF0YS5zZWxlY3QoICdjb3JlL2VkaXRvcicgKT8uaXNBdXRvc2F2aW5nUG9zdCgpO1xuXHRcdFx0XHRjb25zdCBpc1NhdmluZ1dpZGdldCA9IHdwLmRhdGEuc2VsZWN0KCAnY29yZS9lZGl0LXdpZGdldHMnICk/LmlzU2F2aW5nV2lkZ2V0QXJlYXMoKTtcblx0XHRcdFx0Y29uc3QgY3VycmVudFBvc3QgPSB3cC5kYXRhLnNlbGVjdCggJ2NvcmUvZWRpdG9yJyApPy5nZXRDdXJyZW50UG9zdCgpO1xuXHRcdFx0XHRjb25zdCBpc0Jsb2NrT3JUZW1wbGF0ZSA9IGN1cnJlbnRQb3N0Py50eXBlPy5pbmNsdWRlcyggJ3dwX3RlbXBsYXRlJyApIHx8IGN1cnJlbnRQb3N0Py50eXBlPy5pbmNsdWRlcyggJ3dwX2Jsb2NrJyApO1xuXG5cdFx0XHRcdGlmICggKCAhIGlzU2F2aW5nUG9zdCAmJiAhIGlzU2F2aW5nV2lkZ2V0ICYmICEgaXNCbG9ja09yVGVtcGxhdGUgKSB8fCBpc0F1dG9zYXZpbmdQb3N0ICkge1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmICggaXNCbG9ja09yVGVtcGxhdGUgKSB7XG5cdFx0XHRcdFx0Ly8gRGVsYXkgc2F2aW5nIGlmIHRoaXMgaXMgRlNFIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UuXG5cdFx0XHRcdFx0Xy5kZWJvdW5jZSggYXBwLnNhdmVDdXN0b21UaGVtZXMsIDUwMCApKCk7XG5cblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhcHAuc2F2ZUN1c3RvbVRoZW1lcygpO1xuXHRcdFx0fSApO1xuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBHZXQgYWxsIHRoZW1lcyBkYXRhLlxuXHRcdCAqXG5cdFx0ICogQHNpbmNlIDEuOC44XG5cdFx0ICpcblx0XHQgKiBAcmV0dXJuIHtPYmplY3R9IFRoZW1lcyBkYXRhLlxuXHRcdCAqL1xuXHRcdGdldEFsbFRoZW1lcygpIHtcblx0XHRcdHJldHVybiB7IC4uLiggdGhlbWVzRGF0YS5jdXN0b20gfHwge30gKSwgLi4uKCB0aGVtZXNEYXRhLndwZm9ybXMgfHwge30gKSB9O1xuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBHZXQgdGhlbWUgZGF0YS5cblx0XHQgKlxuXHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IHNsdWcgVGhlbWUgc2x1Zy5cblx0XHQgKlxuXHRcdCAqIEByZXR1cm4ge09iamVjdHxudWxsfSBUaGVtZSBzZXR0aW5ncy5cblx0XHQgKi9cblx0XHRnZXRUaGVtZSggc2x1ZyApIHtcblx0XHRcdHJldHVybiBhcHAuZ2V0QWxsVGhlbWVzKClbIHNsdWcgXSB8fCBudWxsO1xuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBHZXQgZW5hYmxlZCB0aGVtZXMgZGF0YS5cblx0XHQgKlxuXHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdCAqXG5cdFx0ICogQHJldHVybiB7T2JqZWN0fSBUaGVtZXMgZGF0YS5cblx0XHQgKi9cblx0XHRnZXRFbmFibGVkVGhlbWVzKCkge1xuXHRcdFx0aWYgKCBlbmFibGVkVGhlbWVzICkge1xuXHRcdFx0XHRyZXR1cm4gZW5hYmxlZFRoZW1lcztcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgYWxsVGhlbWVzID0gYXBwLmdldEFsbFRoZW1lcygpO1xuXG5cdFx0XHRpZiAoIGlzUHJvICYmIGlzTGljZW5zZUFjdGl2ZSApIHtcblx0XHRcdFx0cmV0dXJuIGFsbFRoZW1lcztcblx0XHRcdH1cblxuXHRcdFx0ZW5hYmxlZFRoZW1lcyA9IE9iamVjdC5rZXlzKCBhbGxUaGVtZXMgKS5yZWR1Y2UoICggYWNjLCBrZXkgKSA9PiB7XG5cdFx0XHRcdGlmICggYWxsVGhlbWVzWyBrZXkgXS5zZXR0aW5ncz8uZmllbGRTaXplICYmICEgYWxsVGhlbWVzWyBrZXkgXS5kaXNhYmxlZCApIHtcblx0XHRcdFx0XHRhY2NbIGtleSBdID0gYWxsVGhlbWVzWyBrZXkgXTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gYWNjO1xuXHRcdFx0fSwge30gKTtcblxuXHRcdFx0cmV0dXJuIGVuYWJsZWRUaGVtZXM7XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFVwZGF0ZSBlbmFibGVkIHRoZW1lcy5cblx0XHQgKlxuXHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IHNsdWcgIFRoZW1lIHNsdWcuXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IHRoZW1lIFRoZW1lIHNldHRpbmdzLlxuXHRcdCAqL1xuXHRcdHVwZGF0ZUVuYWJsZWRUaGVtZXMoIHNsdWcsIHRoZW1lICkge1xuXHRcdFx0aWYgKCAhIGVuYWJsZWRUaGVtZXMgKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0ZW5hYmxlZFRoZW1lcyA9IHtcblx0XHRcdFx0Li4uZW5hYmxlZFRoZW1lcyxcblx0XHRcdFx0WyBzbHVnIF06IHRoZW1lLFxuXHRcdFx0fTtcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogV2hldGhlciB0aGUgdGhlbWUgaXMgZGlzYWJsZWQuXG5cdFx0ICpcblx0XHQgKiBAc2luY2UgMS44Ljhcblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7c3RyaW5nfSBzbHVnIFRoZW1lIHNsdWcuXG5cdFx0ICpcblx0XHQgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSB0aGVtZSBpcyBkaXNhYmxlZC5cblx0XHQgKi9cblx0XHRpc0Rpc2FibGVkVGhlbWUoIHNsdWcgKSB7XG5cdFx0XHRyZXR1cm4gISBhcHAuZ2V0RW5hYmxlZFRoZW1lcygpPy5bIHNsdWcgXTtcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogV2hldGhlciB0aGUgdGhlbWUgaXMgb25lIG9mIHRoZSBXUEZvcm1zIHRoZW1lcy5cblx0XHQgKlxuXHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IHNsdWcgVGhlbWUgc2x1Zy5cblx0XHQgKlxuXHRcdCAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIHRoZW1lIGlzIG9uZSBvZiB0aGUgV1BGb3JtcyB0aGVtZXMuXG5cdFx0ICovXG5cdFx0aXNXUEZvcm1zVGhlbWUoIHNsdWcgKSB7XG5cdFx0XHRyZXR1cm4gQm9vbGVhbiggdGhlbWVzRGF0YS53cGZvcm1zWyBzbHVnIF0/LnNldHRpbmdzICk7XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEZldGNoIHRoZW1lcyBkYXRhIGZyb20gQVBJLlxuXHRcdCAqXG5cdFx0ICogQHNpbmNlIDEuOC44XG5cdFx0ICovXG5cdFx0ZmV0Y2hUaGVtZXNEYXRhKCkge1xuXHRcdFx0Ly8gSWYgYSBmZXRjaCBpcyBhbHJlYWR5IGluIHByb2dyZXNzLCBleGl0IHRoZSBmdW5jdGlvbi5cblx0XHRcdGlmICggc3RhdGUuaXNGZXRjaGluZ1RoZW1lcyB8fCB0aGVtZXNEYXRhLndwZm9ybXMgKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0Ly8gU2V0IHRoZSBmbGFnIHRvIHRydWUgaW5kaWNhdGluZyBhIGZldGNoIGlzIGluIHByb2dyZXNzLlxuXHRcdFx0c3RhdGUuaXNGZXRjaGluZ1RoZW1lcyA9IHRydWU7XG5cblx0XHRcdHRyeSB7XG5cdFx0XHRcdC8vIEZldGNoIHRoZW1lcyBkYXRhLlxuXHRcdFx0XHR3cC5hcGlGZXRjaCgge1xuXHRcdFx0XHRcdHBhdGg6IHJvdXRlTmFtZXNwYWNlICsgJ3RoZW1lcy8nLFxuXHRcdFx0XHRcdG1ldGhvZDogJ0dFVCcsXG5cdFx0XHRcdFx0Y2FjaGU6ICduby1jYWNoZScsXG5cdFx0XHRcdH0gKVxuXHRcdFx0XHRcdC50aGVuKCAoIHJlc3BvbnNlICkgPT4ge1xuXHRcdFx0XHRcdFx0dGhlbWVzRGF0YS53cGZvcm1zID0gcmVzcG9uc2Uud3Bmb3JtcyB8fCB7fTtcblx0XHRcdFx0XHRcdHRoZW1lc0RhdGEuY3VzdG9tID0gcmVzcG9uc2UuY3VzdG9tIHx8IHt9O1xuXHRcdFx0XHRcdH0gKVxuXHRcdFx0XHRcdC5jYXRjaCggKCBlcnJvciApID0+IHtcblx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG5cdFx0XHRcdFx0XHRjb25zb2xlLmVycm9yKCBlcnJvcj8ubWVzc2FnZSApO1xuXHRcdFx0XHRcdH0gKVxuXHRcdFx0XHRcdC5maW5hbGx5KCAoKSA9PiB7XG5cdFx0XHRcdFx0XHRzdGF0ZS5pc0ZldGNoaW5nVGhlbWVzID0gZmFsc2U7XG5cdFx0XHRcdFx0fSApO1xuXHRcdFx0fSBjYXRjaCAoIGVycm9yICkge1xuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuXHRcdFx0XHRjb25zb2xlLmVycm9yKCBlcnJvciApO1xuXHRcdFx0fVxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBTYXZlIGN1c3RvbSB0aGVtZXMuXG5cdFx0ICpcblx0XHQgKiBAc2luY2UgMS44Ljhcblx0XHQgKi9cblx0XHRzYXZlQ3VzdG9tVGhlbWVzKCkge1xuXHRcdFx0Ly8gQ3VzdG9tIHRoZW1lcyBkbyBub3QgZXhpc3QuXG5cdFx0XHRpZiAoIHN0YXRlLmlzU2F2aW5nVGhlbWVzIHx8ICEgdGhlbWVzRGF0YS5jdXN0b20gKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0Ly8gU2V0IHRoZSBmbGFnIHRvIHRydWUgaW5kaWNhdGluZyBhIHNhdmluZyBpcyBpbiBwcm9ncmVzcy5cblx0XHRcdHN0YXRlLmlzU2F2aW5nVGhlbWVzID0gdHJ1ZTtcblxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Ly8gU2F2ZSB0aGVtZXMuXG5cdFx0XHRcdHdwLmFwaUZldGNoKCB7XG5cdFx0XHRcdFx0cGF0aDogcm91dGVOYW1lc3BhY2UgKyAndGhlbWVzL2N1c3RvbS8nLFxuXHRcdFx0XHRcdG1ldGhvZDogJ1BPU1QnLFxuXHRcdFx0XHRcdGRhdGE6IHsgY3VzdG9tVGhlbWVzOiB0aGVtZXNEYXRhLmN1c3RvbSB9LFxuXHRcdFx0XHR9IClcblx0XHRcdFx0XHQudGhlbiggKCByZXNwb25zZSApID0+IHtcblx0XHRcdFx0XHRcdGlmICggISByZXNwb25zZT8ucmVzdWx0ICkge1xuXHRcdFx0XHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyggcmVzcG9uc2U/LmVycm9yICk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSApXG5cdFx0XHRcdFx0LmNhdGNoKCAoIGVycm9yICkgPT4ge1xuXHRcdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcblx0XHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoIGVycm9yPy5tZXNzYWdlICk7XG5cdFx0XHRcdFx0fSApXG5cdFx0XHRcdFx0LmZpbmFsbHkoICgpID0+IHtcblx0XHRcdFx0XHRcdHN0YXRlLmlzU2F2aW5nVGhlbWVzID0gZmFsc2U7XG5cdFx0XHRcdFx0fSApO1xuXHRcdFx0fSBjYXRjaCAoIGVycm9yICkge1xuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuXHRcdFx0XHRjb25zb2xlLmVycm9yKCBlcnJvciApO1xuXHRcdFx0fVxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBHZXQgdGhlIGN1cnJlbnQgc3R5bGUgYXR0cmlidXRlcyBzdGF0ZS5cblx0XHQgKlxuXHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IHByb3BzIEJsb2NrIHByb3BlcnRpZXMuXG5cdFx0ICpcblx0XHQgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSBjdXN0b20gdGhlbWUgaXMgY3JlYXRlZC5cblx0XHQgKi9cblx0XHRnZXRDdXJyZW50U3R5bGVBdHRyaWJ1dGVzKCBwcm9wcyApIHtcblx0XHRcdGNvbnN0IGRlZmF1bHRBdHRyaWJ1dGVzID0gT2JqZWN0LmtleXMoIHRoZW1lc0RhdGEud3Bmb3Jtcy5kZWZhdWx0Py5zZXR0aW5ncyApO1xuXHRcdFx0Y29uc3QgY3VycmVudFN0eWxlQXR0cmlidXRlcyA9IHt9O1xuXG5cdFx0XHRmb3IgKCBjb25zdCBrZXkgaW4gZGVmYXVsdEF0dHJpYnV0ZXMgKSB7XG5cdFx0XHRcdGNvbnN0IGF0dHIgPSBkZWZhdWx0QXR0cmlidXRlc1sga2V5IF07XG5cblx0XHRcdFx0Y3VycmVudFN0eWxlQXR0cmlidXRlc1sgYXR0ciBdID0gcHJvcHMuYXR0cmlidXRlc1sgYXR0ciBdID8/ICcnO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gY3VycmVudFN0eWxlQXR0cmlidXRlcztcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogTWF5YmUgY3JlYXRlIGN1c3RvbSB0aGVtZS5cblx0XHQgKlxuXHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IHByb3BzIEJsb2NrIHByb3BlcnRpZXMuXG5cdFx0ICpcblx0XHQgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoZSBjdXN0b20gdGhlbWUgaXMgY3JlYXRlZC5cblx0XHQgKi9cblx0XHRtYXliZUNyZWF0ZUN1c3RvbVRoZW1lKCBwcm9wcyApIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjb21wbGV4aXR5XG5cdFx0XHRjb25zdCBjdXJyZW50U3R5bGVzID0gYXBwLmdldEN1cnJlbnRTdHlsZUF0dHJpYnV0ZXMoIHByb3BzICk7XG5cdFx0XHRjb25zdCBpc1dQRm9ybXNUaGVtZSA9ICEhIHRoZW1lc0RhdGEud3Bmb3Jtc1sgcHJvcHMuYXR0cmlidXRlcy50aGVtZSBdO1xuXHRcdFx0Y29uc3QgaXNDdXN0b21UaGVtZSA9ICEhIHRoZW1lc0RhdGEuY3VzdG9tWyBwcm9wcy5hdHRyaWJ1dGVzLnRoZW1lIF07XG5cblx0XHRcdGxldCBtaWdyYXRlVG9DdXN0b21UaGVtZSA9IGZhbHNlO1xuXG5cdFx0XHQvLyBJdCBpcyBvbmUgb2YgdGhlIGRlZmF1bHQgdGhlbWVzIHdpdGhvdXQgYW55IGNoYW5nZXMuXG5cdFx0XHRpZiAoXG5cdFx0XHRcdGlzV1BGb3Jtc1RoZW1lICYmXG5cdFx0XHRcdEpTT04uc3RyaW5naWZ5KCB0aGVtZXNEYXRhLndwZm9ybXNbIHByb3BzLmF0dHJpYnV0ZXMudGhlbWUgXT8uc2V0dGluZ3MgKSA9PT0gSlNPTi5zdHJpbmdpZnkoIGN1cnJlbnRTdHlsZXMgKVxuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgcHJldkF0dHJpYnV0ZXMgPSBmb3JtU2VsZWN0b3JDb21tb24uZ2V0QmxvY2tSdW50aW1lU3RhdGVWYXIoIHByb3BzLmNsaWVudElkLCAncHJldkF0dHJpYnV0ZXNTdGF0ZScgKTtcblxuXHRcdFx0Ly8gSXQgaXMgYSBibG9jayBhZGRlZCBpbiBGUyAxLjAsIHNvIGl0IGRvZXNuJ3QgaGF2ZSBhIHRoZW1lLlxuXHRcdFx0Ly8gVGhlIGBwcmV2QXR0cmlidXRlc2AgaXMgYHVuZGVmaW5lZGAgbWVhbnMgdGhhdCB3ZSBhcmUgaW4gdGhlIGZpcnN0IHJlbmRlciBvZiB0aGUgZXhpc3RpbmcgYmxvY2suXG5cdFx0XHRpZiAoIHByb3BzLmF0dHJpYnV0ZXMudGhlbWUgPT09ICdkZWZhdWx0JyAmJiBwcm9wcy5hdHRyaWJ1dGVzLnRoZW1lTmFtZSA9PT0gJycgJiYgISBwcmV2QXR0cmlidXRlcyApIHtcblx0XHRcdFx0bWlncmF0ZVRvQ3VzdG9tVGhlbWUgPSB0cnVlO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBJdCBpcyBhIG1vZGlmaWVkIGRlZmF1bHQgdGhlbWUgT1IgdW5rbm93biBjdXN0b20gdGhlbWUuXG5cdFx0XHRpZiAoIGlzV1BGb3Jtc1RoZW1lIHx8ICEgaXNDdXN0b21UaGVtZSB8fCBtaWdyYXRlVG9DdXN0b21UaGVtZSApIHtcblx0XHRcdFx0YXBwLmNyZWF0ZUN1c3RvbVRoZW1lKCBwcm9wcywgY3VycmVudFN0eWxlcywgbWlncmF0ZVRvQ3VzdG9tVGhlbWUgKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIENyZWF0ZSBjdXN0b20gdGhlbWUuXG5cdFx0ICpcblx0XHQgKiBAc2luY2UgMS44Ljhcblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7T2JqZWN0fSAgcHJvcHMgICAgICAgICAgICAgICAgQmxvY2sgcHJvcGVydGllcy5cblx0XHQgKiBAcGFyYW0ge09iamVjdH0gIGN1cnJlbnRTdHlsZXMgICAgICAgIEN1cnJlbnQgc3R5bGUgc2V0dGluZ3MuXG5cdFx0ICogQHBhcmFtIHtib29sZWFufSBtaWdyYXRlVG9DdXN0b21UaGVtZSBXaGV0aGVyIGl0IGlzIG5lZWRlZCB0byBtaWdyYXRlIHRvIGN1c3RvbSB0aGVtZS5cblx0XHQgKlxuXHRcdCAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhlIGN1c3RvbSB0aGVtZSBpcyBjcmVhdGVkLlxuXHRcdCAqL1xuXHRcdGNyZWF0ZUN1c3RvbVRoZW1lKCBwcm9wcywgY3VycmVudFN0eWxlcyA9IG51bGwsIG1pZ3JhdGVUb0N1c3RvbVRoZW1lID0gZmFsc2UgKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY29tcGxleGl0eVxuXHRcdFx0bGV0IGNvdW50ZXIgPSAwO1xuXHRcdFx0bGV0IHRoZW1lU2x1ZyA9IHByb3BzLmF0dHJpYnV0ZXMudGhlbWU7XG5cblx0XHRcdGNvbnN0IGJhc2VUaGVtZSA9IGFwcC5nZXRUaGVtZSggcHJvcHMuYXR0cmlidXRlcy50aGVtZSApIHx8IHRoZW1lc0RhdGEud3Bmb3Jtcy5kZWZhdWx0O1xuXHRcdFx0bGV0IHRoZW1lTmFtZSA9IGJhc2VUaGVtZS5uYW1lO1xuXG5cdFx0XHR0aGVtZXNEYXRhLmN1c3RvbSA9IHRoZW1lc0RhdGEuY3VzdG9tIHx8IHt9O1xuXG5cdFx0XHRpZiAoIG1pZ3JhdGVUb0N1c3RvbVRoZW1lICkge1xuXHRcdFx0XHR0aGVtZVNsdWcgPSAnY3VzdG9tJztcblx0XHRcdFx0dGhlbWVOYW1lID0gc3RyaW5ncy50aGVtZV9jdXN0b207XG5cdFx0XHR9XG5cblx0XHRcdC8vIERldGVybWluZSB0aGUgdGhlbWUgc2x1ZyBhbmQgdGhlIG51bWJlciBvZiBjb3BpZXMuXG5cdFx0XHRkbyB7XG5cdFx0XHRcdGNvdW50ZXIrKztcblx0XHRcdFx0dGhlbWVTbHVnID0gdGhlbWVTbHVnICsgJy1jb3B5LScgKyBjb3VudGVyO1xuXHRcdFx0fSB3aGlsZSAoIHRoZW1lc0RhdGEuY3VzdG9tWyB0aGVtZVNsdWcgXSAmJiBjb3VudGVyIDwgMTAwMDAgKTtcblxuXHRcdFx0Y29uc3QgY29weVN0ciA9IGNvdW50ZXIgPCAyID8gc3RyaW5ncy50aGVtZV9jb3B5IDogc3RyaW5ncy50aGVtZV9jb3B5ICsgJyAnICsgY291bnRlcjtcblxuXHRcdFx0dGhlbWVOYW1lICs9ICcgKCcgKyBjb3B5U3RyICsgJyknO1xuXG5cdFx0XHQvLyBUaGUgZmlyc3QgbWlncmF0ZWQgQ3VzdG9tIFRoZW1lIHNob3VsZCBiZSB3aXRob3V0IGAoQ29weSlgIHN1ZmZpeC5cblx0XHRcdHRoZW1lTmFtZSA9IG1pZ3JhdGVUb0N1c3RvbVRoZW1lICYmIGNvdW50ZXIgPCAyID8gc3RyaW5ncy50aGVtZV9jdXN0b20gOiB0aGVtZU5hbWU7XG5cblx0XHRcdC8vIEFkZCB0aGUgbmV3IGN1c3RvbSB0aGVtZS5cblx0XHRcdHRoZW1lc0RhdGEuY3VzdG9tWyB0aGVtZVNsdWcgXSA9IHtcblx0XHRcdFx0bmFtZTogdGhlbWVOYW1lLFxuXHRcdFx0XHRzZXR0aW5nczogY3VycmVudFN0eWxlcyB8fCBhcHAuZ2V0Q3VycmVudFN0eWxlQXR0cmlidXRlcyggcHJvcHMgKSxcblx0XHRcdH07XG5cblx0XHRcdGFwcC51cGRhdGVFbmFibGVkVGhlbWVzKCB0aGVtZVNsdWcsIHRoZW1lc0RhdGEuY3VzdG9tWyB0aGVtZVNsdWcgXSApO1xuXG5cdFx0XHQvLyBVcGRhdGUgdGhlIGJsb2NrIGF0dHJpYnV0ZXMgd2l0aCB0aGUgbmV3IGN1c3RvbSB0aGVtZSBzZXR0aW5ncy5cblx0XHRcdHByb3BzLnNldEF0dHJpYnV0ZXMoIHtcblx0XHRcdFx0dGhlbWU6IHRoZW1lU2x1Zyxcblx0XHRcdFx0dGhlbWVOYW1lLFxuXHRcdFx0fSApO1xuXG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogTWF5YmUgY3JlYXRlIGN1c3RvbSB0aGVtZSBieSBnaXZlbiBhdHRyaWJ1dGVzLlxuXHRcdCAqXG5cdFx0ICogQHNpbmNlIDEuOC44XG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge09iamVjdH0gYXR0cmlidXRlcyBCbG9jayBwcm9wZXJ0aWVzLlxuXHRcdCAqXG5cdFx0ICogQHJldHVybiB7c3RyaW5nfSBOZXcgdGhlbWUncyBzbHVnLlxuXHRcdCAqL1xuXHRcdG1heWJlQ3JlYXRlQ3VzdG9tVGhlbWVGcm9tQXR0cmlidXRlcyggYXR0cmlidXRlcyApIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjb21wbGV4aXR5XG5cdFx0XHRjb25zdCBuZXdUaGVtZVNsdWcgPSBhdHRyaWJ1dGVzLnRoZW1lO1xuXHRcdFx0Y29uc3QgZXhpc3RpbmdUaGVtZSA9IGFwcC5nZXRUaGVtZSggYXR0cmlidXRlcy50aGVtZSApO1xuXHRcdFx0Y29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKCBhdHRyaWJ1dGVzICk7XG5cblx0XHRcdGxldCBpc0V4aXN0aW5nVGhlbWUgPSBCb29sZWFuKCBleGlzdGluZ1RoZW1lPy5zZXR0aW5ncyApO1xuXG5cdFx0XHQvLyBDaGVjayBpZiB0aGUgdGhlbWUgYWxyZWFkeSBleGlzdHMgYW5kIGhhcyB0aGUgc2FtZSBzZXR0aW5ncy5cblx0XHRcdGlmICggaXNFeGlzdGluZ1RoZW1lICkge1xuXHRcdFx0XHRmb3IgKCBjb25zdCBpIGluIGtleXMgKSB7XG5cdFx0XHRcdFx0Y29uc3Qga2V5ID0ga2V5c1sgaSBdO1xuXG5cdFx0XHRcdFx0aWYgKCAhIGV4aXN0aW5nVGhlbWUuc2V0dGluZ3NbIGtleSBdIHx8IGV4aXN0aW5nVGhlbWUuc2V0dGluZ3NbIGtleSBdICE9PSBhdHRyaWJ1dGVzWyBrZXkgXSApIHtcblx0XHRcdFx0XHRcdGlzRXhpc3RpbmdUaGVtZSA9IGZhbHNlO1xuXG5cdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gVGhlIHRoZW1lIGV4aXN0cyBhbmQgaGFzIHRoZSBzYW1lIHNldHRpbmdzLlxuXHRcdFx0aWYgKCBpc0V4aXN0aW5nVGhlbWUgKSB7XG5cdFx0XHRcdHJldHVybiBuZXdUaGVtZVNsdWc7XG5cdFx0XHR9XG5cblx0XHRcdC8vIFRoZSB0aGVtZSBkb2Vzbid0IGV4aXN0LlxuXHRcdFx0Ly8gTm9ybWFsaXplIHRoZSBhdHRyaWJ1dGVzIHRvIHRoZSBkZWZhdWx0IHRoZW1lIHNldHRpbmdzLlxuXHRcdFx0Y29uc3QgZGVmYXVsdEF0dHJpYnV0ZXMgPSBPYmplY3Qua2V5cyggdGhlbWVzRGF0YS53cGZvcm1zLmRlZmF1bHQuc2V0dGluZ3MgKTtcblx0XHRcdGNvbnN0IG5ld1NldHRpbmdzID0ge307XG5cblx0XHRcdGZvciAoIGNvbnN0IGkgaW4gZGVmYXVsdEF0dHJpYnV0ZXMgKSB7XG5cdFx0XHRcdGNvbnN0IGF0dHIgPSBkZWZhdWx0QXR0cmlidXRlc1sgaSBdO1xuXG5cdFx0XHRcdG5ld1NldHRpbmdzWyBhdHRyIF0gPSBhdHRyaWJ1dGVzWyBhdHRyIF0gPz8gJyc7XG5cdFx0XHR9XG5cblx0XHRcdC8vIENyZWF0ZSBhIG5ldyBjdXN0b20gdGhlbWUuXG5cdFx0XHR0aGVtZXNEYXRhLmN1c3RvbVsgbmV3VGhlbWVTbHVnIF0gPSB7XG5cdFx0XHRcdG5hbWU6IGF0dHJpYnV0ZXMudGhlbWVOYW1lID8/IHN0cmluZ3MudGhlbWVfY3VzdG9tLFxuXHRcdFx0XHRzZXR0aW5nczogbmV3U2V0dGluZ3MsXG5cdFx0XHR9O1xuXG5cdFx0XHRhcHAudXBkYXRlRW5hYmxlZFRoZW1lcyggbmV3VGhlbWVTbHVnLCB0aGVtZXNEYXRhLmN1c3RvbVsgbmV3VGhlbWVTbHVnIF0gKTtcblxuXHRcdFx0cmV0dXJuIG5ld1RoZW1lU2x1Zztcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogVXBkYXRlIGN1c3RvbSB0aGVtZS5cblx0XHQgKlxuXHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZSBBdHRyaWJ1dGUgbmFtZS5cblx0XHQgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgICAgIE5ldyBhdHRyaWJ1dGUgdmFsdWUuXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IHByb3BzICAgICBCbG9jayBwcm9wZXJ0aWVzLlxuXHRcdCAqL1xuXHRcdHVwZGF0ZUN1c3RvbVRoZW1lQXR0cmlidXRlKCBhdHRyaWJ1dGUsIHZhbHVlLCBwcm9wcyApIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjb21wbGV4aXR5XG5cdFx0XHRjb25zdCB0aGVtZVNsdWcgPSBwcm9wcy5hdHRyaWJ1dGVzLnRoZW1lO1xuXG5cdFx0XHQvLyBTa2lwIGlmIGl0IGlzIG9uZSBvZiB0aGUgV1BGb3JtcyB0aGVtZXMgT1IgdGhlIGF0dHJpYnV0ZSBpcyBub3QgaW4gdGhlIHRoZW1lIHNldHRpbmdzLlxuXHRcdFx0aWYgKFxuXHRcdFx0XHR0aGVtZXNEYXRhLndwZm9ybXNbIHRoZW1lU2x1ZyBdIHx8XG5cdFx0XHRcdChcblx0XHRcdFx0XHRhdHRyaWJ1dGUgIT09ICd0aGVtZU5hbWUnICYmXG5cdFx0XHRcdFx0ISB0aGVtZXNEYXRhLndwZm9ybXMuZGVmYXVsdC5zZXR0aW5nc1sgYXR0cmlidXRlIF1cblx0XHRcdFx0KVxuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0Ly8gU2tpcCBpZiB0aGUgY3VzdG9tIHRoZW1lIGRvZXNuJ3QgZXhpc3QuXG5cdFx0XHQvLyBJdCBzaG91bGQgbmV2ZXIgaGFwcGVuLCBvbmx5IGluIHNvbWUgdW5pcXVlIGNpcmN1bXN0YW5jZXMuXG5cdFx0XHRpZiAoICEgdGhlbWVzRGF0YS5jdXN0b21bIHRoZW1lU2x1ZyBdICkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdC8vIFVwZGF0ZSB0aGVtZSBkYXRhLlxuXHRcdFx0aWYgKCBhdHRyaWJ1dGUgPT09ICd0aGVtZU5hbWUnICkge1xuXHRcdFx0XHR0aGVtZXNEYXRhLmN1c3RvbVsgdGhlbWVTbHVnIF0ubmFtZSA9IHZhbHVlO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhlbWVzRGF0YS5jdXN0b21bIHRoZW1lU2x1ZyBdLnNldHRpbmdzID0gdGhlbWVzRGF0YS5jdXN0b21bIHRoZW1lU2x1ZyBdLnNldHRpbmdzIHx8IHRoZW1lc0RhdGEud3Bmb3Jtcy5kZWZhdWx0LnNldHRpbmdzO1xuXHRcdFx0XHR0aGVtZXNEYXRhLmN1c3RvbVsgdGhlbWVTbHVnIF0uc2V0dGluZ3NbIGF0dHJpYnV0ZSBdID0gdmFsdWU7XG5cdFx0XHR9XG5cblx0XHRcdC8vIFRyaWdnZXIgZXZlbnQgZm9yIGRldmVsb3BlcnMuXG5cdFx0XHRlbC4kd2luZG93LnRyaWdnZXIoICd3cGZvcm1zRm9ybVNlbGVjdG9yVXBkYXRlVGhlbWUnLCBbIHRoZW1lU2x1ZywgdGhlbWVzRGF0YS5jdXN0b21bIHRoZW1lU2x1ZyBdLCBwcm9wcyBdICk7XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEdldCBUaGVtZXMgcGFuZWwgSlNYIGNvZGUuXG5cdFx0ICpcblx0XHQgKiBAc2luY2UgMS44Ljhcblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAgICAgICAgICAgICAgICAgICAgQmxvY2sgcHJvcGVydGllcy5cblx0XHQgKiBAcGFyYW0ge09iamVjdH0gZm9ybVNlbGVjdG9yQ29tbW9uTW9kdWxlIENvbW1vbiBtb2R1bGUuXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IHN0b2NrUGhvdG9zTW9kdWxlICAgICAgICBTdG9ja1Bob3RvcyBtb2R1bGUuXG5cdFx0ICpcblx0XHQgKiBAcmV0dXJuIHtPYmplY3R9IFRoZW1lcyBwYW5lbCBKU1ggY29kZS5cblx0XHQgKi9cblx0XHRnZXRUaGVtZXNQYW5lbCggcHJvcHMsIGZvcm1TZWxlY3RvckNvbW1vbk1vZHVsZSwgc3RvY2tQaG90b3NNb2R1bGUgKSB7XG5cdFx0XHQvLyBTdG9yZSBjb21tb24gbW9kdWxlIGluIGFwcC5cblx0XHRcdGZvcm1TZWxlY3RvckNvbW1vbiA9IGZvcm1TZWxlY3RvckNvbW1vbk1vZHVsZTtcblx0XHRcdHN0YXRlLnN0b2NrUGhvdG9zID0gc3RvY2tQaG90b3NNb2R1bGU7XG5cblx0XHRcdC8vIElmIHRoZXJlIGFyZSBubyB0aGVtZXMgZGF0YSwgaXQgaXMgbmVjZXNzYXJ5IHRvIGZldGNoIGl0IGZpcnN0bHkuXG5cdFx0XHRpZiAoICEgdGhlbWVzRGF0YS53cGZvcm1zICkge1xuXHRcdFx0XHRhcHAuZmV0Y2hUaGVtZXNEYXRhKCk7XG5cblx0XHRcdFx0Ly8gUmV0dXJuIGVtcHR5IEpTWCBjb2RlLlxuXHRcdFx0XHRyZXR1cm4gKCA8PjwvPiApO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBHZXQgZXZlbnQgaGFuZGxlcnMuXG5cdFx0XHRjb25zdCBoYW5kbGVycyA9IGFwcC5nZXRFdmVudEhhbmRsZXJzKCBwcm9wcyApO1xuXHRcdFx0Y29uc3Qgc2hvd0N1c3RvbVRoZW1lT3B0aW9ucyA9IGZvcm1TZWxlY3RvckNvbW1vbk1vZHVsZS5pc0Z1bGxTdHlsaW5nRW5hYmxlZCgpICYmIGFwcC5tYXliZUNyZWF0ZUN1c3RvbVRoZW1lKCBwcm9wcyApO1xuXHRcdFx0Y29uc3QgY2hlY2tlZCA9IGZvcm1TZWxlY3RvckNvbW1vbk1vZHVsZS5pc0Z1bGxTdHlsaW5nRW5hYmxlZCgpID8gcHJvcHMuYXR0cmlidXRlcy50aGVtZSA6ICdjbGFzc2ljJztcblxuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0PFBhbmVsQm9keSBjbGFzc05hbWU9eyBmb3JtU2VsZWN0b3JDb21tb24uZ2V0UGFuZWxDbGFzcyggcHJvcHMgKSB9IHRpdGxlPXsgc3RyaW5ncy50aGVtZXMgfT5cblx0XHRcdFx0XHQ8cCBjbGFzc05hbWU9XCJ3cGZvcm1zLWd1dGVuYmVyZy1wYW5lbC1ub3RpY2Ugd3Bmb3Jtcy13YXJuaW5nIHdwZm9ybXMtdXNlLW1vZGVybi1ub3RpY2VcIj5cblx0XHRcdFx0XHRcdDxzdHJvbmc+eyBzdHJpbmdzLnVzZV9tb2Rlcm5fbm90aWNlX2hlYWQgfTwvc3Ryb25nPlxuXHRcdFx0XHRcdFx0eyBzdHJpbmdzLnVzZV9tb2Rlcm5fbm90aWNlX3RleHQgfSA8YSBocmVmPXsgc3RyaW5ncy51c2VfbW9kZXJuX25vdGljZV9saW5rIH0gcmVsPVwibm9yZWZlcnJlclwiIHRhcmdldD1cIl9ibGFua1wiPnsgc3RyaW5ncy5sZWFybl9tb3JlIH08L2E+XG5cdFx0XHRcdFx0PC9wPlxuXG5cdFx0XHRcdFx0PHAgY2xhc3NOYW1lPVwid3Bmb3Jtcy1ndXRlbmJlcmctcGFuZWwtbm90aWNlIHdwZm9ybXMtd2FybmluZyB3cGZvcm1zLWxlYWQtZm9ybS1ub3RpY2VcIiBzdHlsZT17IHsgZGlzcGxheTogJ25vbmUnIH0gfT5cblx0XHRcdFx0XHRcdDxzdHJvbmc+eyBzdHJpbmdzLmxlYWRfZm9ybXNfcGFuZWxfbm90aWNlX2hlYWQgfTwvc3Ryb25nPlxuXHRcdFx0XHRcdFx0eyBzdHJpbmdzLmxlYWRfZm9ybXNfcGFuZWxfbm90aWNlX3RleHQgfVxuXHRcdFx0XHRcdDwvcD5cblxuXHRcdFx0XHRcdDxSYWRpb0dyb3VwXG5cdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJ3cGZvcm1zLWd1dGVuYmVyZy1mb3JtLXNlbGVjdG9yLXRoZW1lcy1yYWRpby1ncm91cFwiXG5cdFx0XHRcdFx0XHRsYWJlbD17IHN0cmluZ3MudGhlbWVzIH1cblx0XHRcdFx0XHRcdGNoZWNrZWQ9eyBjaGVja2VkIH1cblx0XHRcdFx0XHRcdGRlZmF1bHRDaGVja2VkPXsgcHJvcHMuYXR0cmlidXRlcy50aGVtZSB9XG5cdFx0XHRcdFx0XHRvbkNoYW5nZT17ICggdmFsdWUgKSA9PiBoYW5kbGVycy5zZWxlY3RUaGVtZSggdmFsdWUgKSB9XG5cdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0eyBhcHAuZ2V0VGhlbWVzSXRlbXNKU1goIHByb3BzICkgfVxuXHRcdFx0XHRcdDwvUmFkaW9Hcm91cD5cblx0XHRcdFx0XHR7IHNob3dDdXN0b21UaGVtZU9wdGlvbnMgJiYgKFxuXHRcdFx0XHRcdFx0PD5cblx0XHRcdFx0XHRcdFx0PFRleHRDb250cm9sXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lPVwid3Bmb3Jtcy1ndXRlbmJlcmctZm9ybS1zZWxlY3Rvci10aGVtZXMtdGhlbWUtbmFtZVwiXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw9eyBzdHJpbmdzLnRoZW1lX25hbWUgfVxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlPXsgcHJvcHMuYXR0cmlidXRlcy50aGVtZU5hbWUgfVxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlPXsgKCB2YWx1ZSApID0+IGhhbmRsZXJzLmNoYW5nZVRoZW1lTmFtZSggdmFsdWUgKSB9XG5cdFx0XHRcdFx0XHRcdC8+XG5cblx0XHRcdFx0XHRcdFx0PEJ1dHRvbiBpc1NlY29uZGFyeVxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cIndwZm9ybXMtZ3V0ZW5iZXJnLWZvcm0tc2VsZWN0b3ItdGhlbWVzLWRlbGV0ZVwiXG5cdFx0XHRcdFx0XHRcdFx0b25DbGljaz17IGhhbmRsZXJzLmRlbGV0ZVRoZW1lIH1cblx0XHRcdFx0XHRcdFx0XHRidXR0b25TZXR0aW5ncz1cIlwiXG5cdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHR7IHN0cmluZ3MudGhlbWVfZGVsZXRlIH1cblx0XHRcdFx0XHRcdFx0PC9CdXR0b24+XG5cdFx0XHRcdFx0XHQ8Lz5cblx0XHRcdFx0XHQpIH1cblx0XHRcdFx0PC9QYW5lbEJvZHk+XG5cdFx0XHQpO1xuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBHZXQgdGhlIFRoZW1lcyBwYW5lbCBpdGVtcyBKU1ggY29kZS5cblx0XHQgKlxuXHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IHByb3BzIEJsb2NrIHByb3BlcnRpZXMuXG5cdFx0ICpcblx0XHQgKiBAcmV0dXJuIHtBcnJheX0gVGhlbWVzIGl0ZW1zIEpTWCBjb2RlLlxuXHRcdCAqL1xuXHRcdGdldFRoZW1lc0l0ZW1zSlNYKCBwcm9wcyApIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjb21wbGV4aXR5XG5cdFx0XHRjb25zdCBhbGxUaGVtZXNEYXRhID0gYXBwLmdldEFsbFRoZW1lcygpO1xuXG5cdFx0XHRpZiAoICEgYWxsVGhlbWVzRGF0YSApIHtcblx0XHRcdFx0cmV0dXJuIFtdO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBpdGVtc0pzeCA9IFtdO1xuXHRcdFx0Y29uc3QgdGhlbWVzID0gT2JqZWN0LmtleXMoIGFsbFRoZW1lc0RhdGEgKTtcblx0XHRcdGxldCB0aGVtZSwgZmlyc3RUaGVtZVNsdWc7XG5cblx0XHRcdC8vIERpc3BsYXkgdGhlIGN1cnJlbnQgY3VzdG9tIHRoZW1lIG9uIHRoZSB0b3Agb2YgdGhlIGxpc3QuXG5cdFx0XHRpZiAoICEgYXBwLmlzV1BGb3Jtc1RoZW1lKCBwcm9wcy5hdHRyaWJ1dGVzLnRoZW1lICkgKSB7XG5cdFx0XHRcdGZpcnN0VGhlbWVTbHVnID0gcHJvcHMuYXR0cmlidXRlcy50aGVtZTtcblxuXHRcdFx0XHRpdGVtc0pzeC5wdXNoKFxuXHRcdFx0XHRcdGFwcC5nZXRUaGVtZXNJdGVtSlNYKFxuXHRcdFx0XHRcdFx0cHJvcHMuYXR0cmlidXRlcy50aGVtZSxcblx0XHRcdFx0XHRcdGFwcC5nZXRUaGVtZSggcHJvcHMuYXR0cmlidXRlcy50aGVtZSApXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3IgKCBjb25zdCBrZXkgaW4gdGhlbWVzICkge1xuXHRcdFx0XHRjb25zdCBzbHVnID0gdGhlbWVzWyBrZXkgXTtcblxuXHRcdFx0XHQvLyBTa2lwIHRoZSBmaXJzdCB0aGVtZS5cblx0XHRcdFx0aWYgKCBmaXJzdFRoZW1lU2x1ZyAmJiBmaXJzdFRoZW1lU2x1ZyA9PT0gc2x1ZyApIHtcblx0XHRcdFx0XHRjb250aW51ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIEVuc3VyZSB0aGF0IGFsbCB0aGUgdGhlbWUgc2V0dGluZ3MgYXJlIHByZXNlbnQuXG5cdFx0XHRcdHRoZW1lID0geyAuLi5hbGxUaGVtZXNEYXRhLmRlZmF1bHQsIC4uLiggYWxsVGhlbWVzRGF0YVsgc2x1ZyBdIHx8IHt9ICkgfTtcblx0XHRcdFx0dGhlbWUuc2V0dGluZ3MgPSB7IC4uLmFsbFRoZW1lc0RhdGEuZGVmYXVsdC5zZXR0aW5ncywgLi4uKCB0aGVtZS5zZXR0aW5ncyB8fCB7fSApIH07XG5cblx0XHRcdFx0aXRlbXNKc3gucHVzaCggYXBwLmdldFRoZW1lc0l0ZW1KU1goIHNsdWcsIHRoZW1lICkgKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGl0ZW1zSnN4O1xuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBHZXQgdGhlIFRoZW1lcyBwYW5lbCdzIHNpbmdsZSBpdGVtIEpTWCBjb2RlLlxuXHRcdCAqXG5cdFx0ICogQHNpbmNlIDEuOC44XG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge3N0cmluZ30gc2x1ZyAgVGhlbWUgc2x1Zy5cblx0XHQgKiBAcGFyYW0ge09iamVjdH0gdGhlbWUgVGhlbWUgZGF0YS5cblx0XHQgKlxuXHRcdCAqIEByZXR1cm4ge09iamVjdHxudWxsfSBUaGVtZXMgcGFuZWwgc2luZ2xlIGl0ZW0gSlNYIGNvZGUuXG5cdFx0ICovXG5cdFx0Z2V0VGhlbWVzSXRlbUpTWCggc2x1ZywgdGhlbWUgKSB7XG5cdFx0XHRpZiAoICEgdGhlbWUgKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCB0aXRsZSA9IHRoZW1lLm5hbWU/Lmxlbmd0aCA+IDAgPyB0aGVtZS5uYW1lIDogc3RyaW5ncy50aGVtZV9ub25hbWU7XG5cblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdDxSYWRpb1xuXHRcdFx0XHRcdHZhbHVlPXsgc2x1ZyB9XG5cdFx0XHRcdFx0dGl0bGU9eyB0aXRsZSB9XG5cdFx0XHRcdD5cblx0XHRcdFx0XHQ8ZGl2XG5cdFx0XHRcdFx0XHRjbGFzc05hbWU9eyBhcHAuaXNEaXNhYmxlZFRoZW1lKCBzbHVnICkgPyAnd3Bmb3Jtcy1ndXRlbmJlcmctZm9ybS1zZWxlY3Rvci10aGVtZXMtcmFkaW8tZGlzYWJsZWQnIDogJycgfVxuXHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdDxkaXYgY2xhc3NOYW1lPVwid3Bmb3Jtcy1ndXRlbmJlcmctZm9ybS1zZWxlY3Rvci10aGVtZXMtcmFkaW8tdGl0bGVcIj57IHRpdGxlIH08L2Rpdj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8Q29sb3JJbmRpY2F0b3IgY29sb3JWYWx1ZT17IHRoZW1lLnNldHRpbmdzLmJ1dHRvbkJhY2tncm91bmRDb2xvciB9IHRpdGxlPXsgc3RyaW5ncy5idXR0b25fYmFja2dyb3VuZCB9IC8+XG5cdFx0XHRcdFx0PENvbG9ySW5kaWNhdG9yIGNvbG9yVmFsdWU9eyB0aGVtZS5zZXR0aW5ncy5idXR0b25UZXh0Q29sb3IgfSB0aXRsZT17IHN0cmluZ3MuYnV0dG9uX3RleHQgfSAvPlxuXHRcdFx0XHRcdDxDb2xvckluZGljYXRvciBjb2xvclZhbHVlPXsgdGhlbWUuc2V0dGluZ3MubGFiZWxDb2xvciB9IHRpdGxlPXsgc3RyaW5ncy5maWVsZF9sYWJlbCB9IC8+XG5cdFx0XHRcdFx0PENvbG9ySW5kaWNhdG9yIGNvbG9yVmFsdWU9eyB0aGVtZS5zZXR0aW5ncy5sYWJlbFN1YmxhYmVsQ29sb3IgfSB0aXRsZT17IHN0cmluZ3MuZmllbGRfc3VibGFiZWwgfSAvPlxuXHRcdFx0XHRcdDxDb2xvckluZGljYXRvciBjb2xvclZhbHVlPXsgdGhlbWUuc2V0dGluZ3MuZmllbGRCb3JkZXJDb2xvciB9IHRpdGxlPXsgc3RyaW5ncy5maWVsZF9ib3JkZXIgfSAvPlxuXHRcdFx0XHQ8L1JhZGlvPlxuXHRcdFx0KTtcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogU2V0IGJsb2NrIHRoZW1lLlxuXHRcdCAqXG5cdFx0ICogQHNpbmNlIDEuOC44XG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgICAgIEJsb2NrIHByb3BlcnRpZXMuXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IHRoZW1lU2x1ZyBUaGUgdGhlbWUgc2x1Zy5cblx0XHQgKlxuXHRcdCAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgb24gc3VjY2Vzcy5cblx0XHQgKi9cblx0XHRzZXRCbG9ja1RoZW1lKCBwcm9wcywgdGhlbWVTbHVnICkge1xuXHRcdFx0aWYgKCBhcHAubWF5YmVEaXNwbGF5VXBncmFkZU1vZGFsKCB0aGVtZVNsdWcgKSApIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCB0aGVtZSA9IGFwcC5nZXRUaGVtZSggdGhlbWVTbHVnICk7XG5cblx0XHRcdGlmICggISB0aGVtZT8uc2V0dGluZ3MgKSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgYXR0cmlidXRlcyA9IE9iamVjdC5rZXlzKCB0aGVtZS5zZXR0aW5ncyApO1xuXHRcdFx0Y29uc3QgYmxvY2sgPSBmb3JtU2VsZWN0b3JDb21tb24uZ2V0QmxvY2tDb250YWluZXIoIHByb3BzICk7XG5cdFx0XHRjb25zdCBjb250YWluZXIgPSBibG9jay5xdWVyeVNlbGVjdG9yKCBgI3dwZm9ybXMtJHsgcHJvcHMuYXR0cmlidXRlcy5mb3JtSWQgfWAgKTtcblxuXHRcdFx0Ly8gT3ZlcndyaXRlIGJsb2NrIGF0dHJpYnV0ZXMgd2l0aCB0aGUgbmV3IHRoZW1lIHNldHRpbmdzLlxuXHRcdFx0Ly8gSXQgaXMgbmVlZGVkIHRvIHJlbHkgb24gdGhlIHRoZW1lIHNldHRpbmdzIG9ubHkuXG5cdFx0XHRjb25zdCBuZXdQcm9wcyA9IHsgLi4ucHJvcHMsIGF0dHJpYnV0ZXM6IHsgLi4ucHJvcHMuYXR0cmlidXRlcywgLi4udGhlbWUuc2V0dGluZ3MgfSB9O1xuXG5cdFx0XHQvLyBVcGRhdGUgdGhlIHByZXZpZXcgd2l0aCB0aGUgbmV3IHRoZW1lIHNldHRpbmdzLlxuXHRcdFx0Zm9yICggY29uc3Qga2V5IGluIGF0dHJpYnV0ZXMgKSB7XG5cdFx0XHRcdGNvbnN0IGF0dHIgPSBhdHRyaWJ1dGVzWyBrZXkgXTtcblxuXHRcdFx0XHR0aGVtZS5zZXR0aW5nc1sgYXR0ciBdID0gdGhlbWUuc2V0dGluZ3NbIGF0dHIgXSA9PT0gJzAnID8gJzBweCcgOiB0aGVtZS5zZXR0aW5nc1sgYXR0ciBdO1xuXG5cdFx0XHRcdGZvcm1TZWxlY3RvckNvbW1vbi51cGRhdGVQcmV2aWV3Q1NTVmFyVmFsdWUoXG5cdFx0XHRcdFx0YXR0cixcblx0XHRcdFx0XHR0aGVtZS5zZXR0aW5nc1sgYXR0ciBdLFxuXHRcdFx0XHRcdGNvbnRhaW5lcixcblx0XHRcdFx0XHRuZXdQcm9wc1xuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBQcmVwYXJlIHRoZSBuZXcgYXR0cmlidXRlcyB0byBiZSBzZXQuXG5cdFx0XHRjb25zdCBzZXRBdHRyaWJ1dGVzID0ge1xuXHRcdFx0XHR0aGVtZTogdGhlbWVTbHVnLFxuXHRcdFx0XHR0aGVtZU5hbWU6IHRoZW1lLm5hbWUsXG5cdFx0XHRcdC4uLnRoZW1lLnNldHRpbmdzLFxuXHRcdFx0fTtcblxuXHRcdFx0aWYgKCBwcm9wcy5zZXRBdHRyaWJ1dGVzICkge1xuXHRcdFx0XHQvLyBVcGRhdGUgdGhlIGJsb2NrIGF0dHJpYnV0ZXMgd2l0aCB0aGUgbmV3IHRoZW1lIHNldHRpbmdzLlxuXHRcdFx0XHRwcm9wcy5zZXRBdHRyaWJ1dGVzKCBzZXRBdHRyaWJ1dGVzICk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIFRyaWdnZXIgZXZlbnQgZm9yIGRldmVsb3BlcnMuXG5cdFx0XHRlbC4kd2luZG93LnRyaWdnZXIoICd3cGZvcm1zRm9ybVNlbGVjdG9yU2V0VGhlbWUnLCBbIGJsb2NrLCB0aGVtZVNsdWcsIHByb3BzIF0gKTtcblxuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIE1heWJlIGRpc3BsYXkgdXBncmFkZXMgbW9kYWwgaW4gTGl0ZS5cblx0XHQgKlxuXHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IHRoZW1lU2x1ZyBUaGUgdGhlbWUgc2x1Zy5cblx0XHQgKlxuXHRcdCAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgbW9kYWwgd2FzIGRpc3BsYXllZC5cblx0XHQgKi9cblx0XHRtYXliZURpc3BsYXlVcGdyYWRlTW9kYWwoIHRoZW1lU2x1ZyApIHtcblx0XHRcdGlmICggISBhcHAuaXNEaXNhYmxlZFRoZW1lKCB0aGVtZVNsdWcgKSApIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoICEgaXNQcm8gKSB7XG5cdFx0XHRcdGZvcm1TZWxlY3RvckNvbW1vbi5lZHVjYXRpb24uc2hvd1Byb01vZGFsKCAndGhlbWVzJywgc3RyaW5ncy50aGVtZXMgKTtcblxuXHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKCAhIGlzTGljZW5zZUFjdGl2ZSApIHtcblx0XHRcdFx0Zm9ybVNlbGVjdG9yQ29tbW9uLmVkdWNhdGlvbi5zaG93TGljZW5zZU1vZGFsKCAndGhlbWVzJywgc3RyaW5ncy50aGVtZXMsICdzZWxlY3QtdGhlbWUnICk7XG5cblx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogR2V0IHRoZW1lcyBwYW5lbCBldmVudCBoYW5kbGVycy5cblx0XHQgKlxuXHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IHByb3BzIEJsb2NrIHByb3BlcnRpZXMuXG5cdFx0ICpcblx0XHQgKiBAdHlwZSB7T2JqZWN0fVxuXHRcdCAqL1xuXHRcdGdldEV2ZW50SGFuZGxlcnMoIHByb3BzICkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG1heC1saW5lcy1wZXItZnVuY3Rpb25cblx0XHRcdGNvbnN0IGNvbW1vbkhhbmRsZXJzID0gZm9ybVNlbGVjdG9yQ29tbW9uLmdldFNldHRpbmdzRmllbGRzSGFuZGxlcnMoIHByb3BzICk7XG5cblx0XHRcdGNvbnN0IGhhbmRsZXJzID0ge1xuXHRcdFx0XHQvKipcblx0XHRcdFx0ICogU2VsZWN0IHRoZW1lIGV2ZW50IGhhbmRsZXIuXG5cdFx0XHRcdCAqXG5cdFx0XHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdFx0XHQgKlxuXHRcdFx0XHQgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgTmV3IGF0dHJpYnV0ZSB2YWx1ZS5cblx0XHRcdFx0ICovXG5cdFx0XHRcdHNlbGVjdFRoZW1lKCB2YWx1ZSApIHtcblx0XHRcdFx0XHRpZiAoICEgYXBwLnNldEJsb2NrVGhlbWUoIHByb3BzLCB2YWx1ZSApICkge1xuXHRcdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIE1heWJlIG9wZW4gU3RvY2sgUGhvdG8gaW5zdGFsbGF0aW9uIHdpbmRvdy5cblx0XHRcdFx0XHRzdGF0ZT8uc3RvY2tQaG90b3M/Lm9uU2VsZWN0VGhlbWUoIHZhbHVlLCBwcm9wcywgYXBwLCBjb21tb25IYW5kbGVycyApO1xuXG5cdFx0XHRcdFx0Y29uc3QgYmxvY2sgPSBmb3JtU2VsZWN0b3JDb21tb24uZ2V0QmxvY2tDb250YWluZXIoIHByb3BzICk7XG5cblx0XHRcdFx0XHRmb3JtU2VsZWN0b3JDb21tb24uc2V0VHJpZ2dlclNlcnZlclJlbmRlciggZmFsc2UgKTtcblx0XHRcdFx0XHRjb21tb25IYW5kbGVycy51cGRhdGVDb3B5UGFzdGVDb250ZW50KCk7XG5cblx0XHRcdFx0XHQvLyBUcmlnZ2VyIGV2ZW50IGZvciBkZXZlbG9wZXJzLlxuXHRcdFx0XHRcdGVsLiR3aW5kb3cudHJpZ2dlciggJ3dwZm9ybXNGb3JtU2VsZWN0b3JTZWxlY3RUaGVtZScsIFsgYmxvY2ssIHByb3BzLCB2YWx1ZSBdICk7XG5cdFx0XHRcdH0sXG5cblx0XHRcdFx0LyoqXG5cdFx0XHRcdCAqIENoYW5nZSB0aGVtZSBuYW1lIGV2ZW50IGhhbmRsZXIuXG5cdFx0XHRcdCAqXG5cdFx0XHRcdCAqIEBzaW5jZSAxLjguOFxuXHRcdFx0XHQgKlxuXHRcdFx0XHQgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgTmV3IGF0dHJpYnV0ZSB2YWx1ZS5cblx0XHRcdFx0ICovXG5cdFx0XHRcdGNoYW5nZVRoZW1lTmFtZSggdmFsdWUgKSB7XG5cdFx0XHRcdFx0Zm9ybVNlbGVjdG9yQ29tbW9uLnNldFRyaWdnZXJTZXJ2ZXJSZW5kZXIoIGZhbHNlICk7XG5cdFx0XHRcdFx0cHJvcHMuc2V0QXR0cmlidXRlcyggeyB0aGVtZU5hbWU6IHZhbHVlIH0gKTtcblxuXHRcdFx0XHRcdGFwcC51cGRhdGVDdXN0b21UaGVtZUF0dHJpYnV0ZSggJ3RoZW1lTmFtZScsIHZhbHVlLCBwcm9wcyApO1xuXHRcdFx0XHR9LFxuXG5cdFx0XHRcdC8qKlxuXHRcdFx0XHQgKiBEZWxldGUgdGhlbWUgZXZlbnQgaGFuZGxlci5cblx0XHRcdFx0ICpcblx0XHRcdFx0ICogQHNpbmNlIDEuOC44XG5cdFx0XHRcdCAqL1xuXHRcdFx0XHRkZWxldGVUaGVtZSgpIHtcblx0XHRcdFx0XHRjb25zdCBkZWxldGVUaGVtZVNsdWcgPSBwcm9wcy5hdHRyaWJ1dGVzLnRoZW1lO1xuXG5cdFx0XHRcdFx0Ly8gUmVtb3ZlIHRoZW1lIGZyb20gdGhlIHRoZW1lIHN0b3JhZ2UuXG5cdFx0XHRcdFx0ZGVsZXRlIHRoZW1lc0RhdGEuY3VzdG9tWyBkZWxldGVUaGVtZVNsdWcgXTtcblxuXHRcdFx0XHRcdC8vIE9wZW4gdGhlIGNvbmZpcm1hdGlvbiBtb2RhbCB3aW5kb3cuXG5cdFx0XHRcdFx0YXBwLmRlbGV0ZVRoZW1lTW9kYWwoIHByb3BzLCBkZWxldGVUaGVtZVNsdWcsIGhhbmRsZXJzICk7XG5cdFx0XHRcdH0sXG5cdFx0XHR9O1xuXG5cdFx0XHRyZXR1cm4gaGFuZGxlcnM7XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIE9wZW4gdGhlIHRoZW1lIGRlbGV0ZSBjb25maXJtYXRpb24gbW9kYWwgd2luZG93LlxuXHRcdCAqXG5cdFx0ICogQHNpbmNlIDEuOC44XG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgICAgICAgICAgIEJsb2NrIHByb3BlcnRpZXMuXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IGRlbGV0ZVRoZW1lU2x1ZyBUaGVtZSBzbHVnLlxuXHRcdCAqIEBwYXJhbSB7T2JqZWN0fSBoYW5kbGVycyAgICAgICAgQmxvY2sgZXZlbnQgaGFuZGxlcnMuXG5cdFx0ICovXG5cdFx0ZGVsZXRlVGhlbWVNb2RhbCggcHJvcHMsIGRlbGV0ZVRoZW1lU2x1ZywgaGFuZGxlcnMgKSB7XG5cdFx0XHRjb25zdCBjb25maXJtID0gc3RyaW5ncy50aGVtZV9kZWxldGVfY29uZmlybS5yZXBsYWNlKCAnJTEkcycsIGA8Yj4keyBwcm9wcy5hdHRyaWJ1dGVzLnRoZW1lTmFtZSB9PC9iPmAgKTtcblx0XHRcdGNvbnN0IGNvbnRlbnQgPSBgPHAgY2xhc3M9XCJ3cGZvcm1zLXRoZW1lLWRlbGV0ZS10ZXh0XCI+JHsgY29uZmlybSB9ICR7IHN0cmluZ3MudGhlbWVfZGVsZXRlX2NhbnRfdW5kb25lIH08L3A+YDtcblxuXHRcdFx0JC5jb25maXJtKCB7XG5cdFx0XHRcdHRpdGxlOiBzdHJpbmdzLnRoZW1lX2RlbGV0ZV90aXRsZSxcblx0XHRcdFx0Y29udGVudCxcblx0XHRcdFx0aWNvbjogJ3dwZm9ybXMtZXhjbGFtYXRpb24tY2lyY2xlJyxcblx0XHRcdFx0dHlwZTogJ3JlZCcsXG5cdFx0XHRcdGJ1dHRvbnM6IHtcblx0XHRcdFx0XHRjb25maXJtOiB7XG5cdFx0XHRcdFx0XHR0ZXh0OiBzdHJpbmdzLnRoZW1lX2RlbGV0ZV95ZXMsXG5cdFx0XHRcdFx0XHRidG5DbGFzczogJ2J0bi1jb25maXJtJyxcblx0XHRcdFx0XHRcdGtleXM6IFsgJ2VudGVyJyBdLFxuXHRcdFx0XHRcdFx0YWN0aW9uKCkge1xuXHRcdFx0XHRcdFx0XHQvLyBTd2l0Y2ggdG8gdGhlIGRlZmF1bHQgdGhlbWUuXG5cdFx0XHRcdFx0XHRcdGhhbmRsZXJzLnNlbGVjdFRoZW1lKCAnZGVmYXVsdCcgKTtcblxuXHRcdFx0XHRcdFx0XHQvLyBUcmlnZ2VyIGV2ZW50IGZvciBkZXZlbG9wZXJzLlxuXHRcdFx0XHRcdFx0XHRlbC4kd2luZG93LnRyaWdnZXIoICd3cGZvcm1zRm9ybVNlbGVjdG9yRGVsZXRlVGhlbWUnLCBbIGRlbGV0ZVRoZW1lU2x1ZywgcHJvcHMgXSApO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGNhbmNlbDoge1xuXHRcdFx0XHRcdFx0dGV4dDogc3RyaW5ncy5jYW5jZWwsXG5cdFx0XHRcdFx0XHRrZXlzOiBbICdlc2MnIF0sXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0fSxcblx0XHRcdH0gKTtcblx0XHR9LFxuXHR9O1xuXG5cdGFwcC5pbml0KCk7XG5cblx0Ly8gUHJvdmlkZSBhY2Nlc3MgdG8gcHVibGljIGZ1bmN0aW9ucy9wcm9wZXJ0aWVzLlxuXHRyZXR1cm4gYXBwO1xufSggZG9jdW1lbnQsIHdpbmRvdywgalF1ZXJ5ICkgKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BLElBQUFBLFFBQUEsR0FBQUMsT0FBQSxDQUFBQyxPQUFBLEdBT2lCLFVBQVVDLFFBQVEsRUFBRUMsTUFBTSxFQUFFQyxDQUFDLEVBQUc7RUFDaEQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtFQUNDLElBQUFDLGNBQUEsR0FBMkRDLEVBQUUsQ0FBQ0MsVUFBVTtJQUFoRUMsU0FBUyxHQUFBSCxjQUFBLENBQVRHLFNBQVM7SUFBRUMsY0FBYyxHQUFBSixjQUFBLENBQWRJLGNBQWM7SUFBRUMsV0FBVyxHQUFBTCxjQUFBLENBQVhLLFdBQVc7SUFBRUMsTUFBTSxHQUFBTixjQUFBLENBQU5NLE1BQU07RUFDdEQsSUFBQUMsZUFBQSxHQUE2RU4sRUFBRSxDQUFDQyxVQUFVO0lBQTdETSxLQUFLLEdBQUFELGVBQUEsQ0FBMUJFLG1CQUFtQjtJQUFtQ0MsVUFBVSxHQUFBSCxlQUFBLENBQXBDSSx3QkFBd0I7O0VBRTVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7RUFDQyxJ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
[5521] Fix | Delete
},{}]},{},[12])
[5522] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function