igniteui-angular 15.0.0-rc.1 → 15.0.1

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.
@@ -161,6 +161,7 @@ export const GridResourceStringsEN = {
161
161
  igx_grid_min_length_validation_error: 'Entry should be at least {0} character(s) long',
162
162
  igx_grid_max_length_validation_error: 'Entry should be no more than {0} character(s) long',
163
163
  igx_grid_email_validation_error: 'A valid email address should be entered',
164
- igx_grid_pattern_validation_error: 'Entry does not match the required pattern'
164
+ igx_grid_pattern_validation_error: 'Entry does not match the required pattern',
165
+ igx_grid_pivot_no_aggregator: 'No valid aggregator found for {0}. Please set either a valid aggregatorName or aggregator.'
165
166
  };
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1yZXNvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvY29yZS9pMThuL2dyaWQtcmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNLQSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBeUI7SUFDdkQsNEJBQTRCLEVBQUUsZ0VBQWdFO0lBQzlGLG1DQUFtQyxFQUFFLGlFQUFpRTtJQUN0RyxxQ0FBcUMsRUFBRSxtRUFBbUU7SUFDMUcsa0NBQWtDLEVBQUUsbUJBQW1CO0lBQ3ZELDBCQUEwQixFQUFFLG1CQUFtQjtJQUMvQyxlQUFlLEVBQUUsUUFBUTtJQUN6Qix5QkFBeUIsRUFBRSxPQUFPO0lBQ2xDLHlCQUF5QixFQUFFLE9BQU87SUFDbEMsK0JBQStCLEVBQUUsa0JBQWtCO0lBQ25ELHVDQUF1QyxFQUFFLEtBQUs7SUFDOUMsb0NBQW9DLEVBQUUsY0FBYztJQUNwRCxvQ0FBb0MsRUFBRSxjQUFjO0lBQ3BELDRCQUE0QixFQUFFLEtBQUs7SUFDbkMsMkJBQTJCLEVBQUUsSUFBSTtJQUNqQyx1QkFBdUIsRUFBRSxnQkFBZ0I7SUFDekMsd0JBQXdCLEVBQUUsVUFBVTtJQUNwQyw4QkFBOEIsRUFBRSxrQkFBa0I7SUFDbEQsMEJBQTBCLEVBQUUsYUFBYTtJQUN6Qyx3QkFBd0IsRUFBRSxXQUFXO0lBQ3JDLHNCQUFzQixFQUFFLFFBQVE7SUFDaEMsNEJBQTRCLEVBQUUsZ0JBQWdCO0lBQzlDLHFCQUFxQixFQUFFLE9BQU87SUFDOUIsd0JBQXdCLEVBQUUsV0FBVztJQUNyQyxvQkFBb0IsRUFBRSxNQUFNO0lBQzVCLHVCQUF1QixFQUFFLFVBQVU7SUFDbkMsc0JBQXNCLEVBQUUsUUFBUTtJQUNoQyxxQkFBcUIsRUFBRSxPQUFPO0lBQzlCLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsc0JBQXNCLEVBQUUsUUFBUTtJQUNoQyx5QkFB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RUFBRSwwQkFBMEI7SUFDakUsb0NBQW9DLEVBQUUseUJBQXlCO0lBQy9ELDRCQUE0QixFQUFFLHlCQUF5QjtJQUN2RCwrQkFBK0IsRUFBRSw0QkFBNEI7SUFDN0QsK0JBQStCLEVBQUUsNEJBQTRCO0lBQzdELDhCQUE4QixFQUFFLDJCQUEyQjtJQUMzRCw0QkFBNEIsRUFBRSwwQ0FBMEM7SUFDeEUsK0JBQStCLEVBQUUsU0FBUztJQUMxQyw0QkFBNEIsRUFBRSxNQUFNO0lBQ3BDLCtCQUErQixFQUFFLFNBQVM7SUFDMUMsOEJBQThCLEVBQUUsUUFBUTtJQUN4QyxtQ0FBbUMsRUFBRSxpQkFBaUI7SUFDdEQsa0NBQWtDLEVBQUUsd0JBQXdCO0lBQzVELDZCQUE2QixFQUFFLDJDQUEyQztJQUMxRSw2QkFBNkIsRUFBRSw0Q0FBNEM7SUFDM0Usb0NBQW9DLEVBQUUsZ0RBQWdEO0lBQ3RGLG9DQUFvQyxFQUFFLG9EQUFvRDtJQUMxRiwrQkFBK0IsRUFBRSx5Q0FBeUM7SUFDMUUsaUNBQWlDLEVBQUUsMkNBQTJDO0NBQ2pGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElHcmlkUmVzb3VyY2VTdHJpbmdzIHtcbiAgICBpZ3hfZ3JpZF9ncm91cEJ5QXJlYV9tZXNzYWdlPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2dyb3VwQnlBcmVhX3NlbGVjdF9tZXNzYWdlPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2dyb3VwQnlBcmVhX2Rlc2VsZWN0X21lc3NhZ2U/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZW1wdHlGaWx0ZXJlZEdyaWRfbWVzc2FnZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9lbXB0eUdyaWRfbWVzc2FnZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX3Jvd19jbG9zZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfcm93X3Jlc2V0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9yb3dfcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX3Jvd19ib29sZWFuX3BsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9yb3dfZGF0ZV9wbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfcm93X3RpbWVfcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX29wZXJhdG9yX2FuZD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9jb21wbGV4X2ZpbHRlcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfb3BlcmF0b3Jfb3I/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2NvbnRhaW5zPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9kb2VzTm90Q29udGFpbj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfc3RhcnRzV2l0aD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfZW5kc1dpdGg/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2VxdWFscz86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfZG9lc05vdEVxdWFsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9lbXB0eT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbm90RW1wdHk/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX251bGw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX25vdE51bGw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2JlZm9yZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfYWZ0ZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2F0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9ub3RfYXQ/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2F0X2JlZm9yZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfYXRfYWZ0ZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX3RvZGF5Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl95ZXN0ZXJkYXk/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX3RoaXNNb250aD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbGFzdE1vbnRoPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9uZXh0TW9udGg/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX3RoaXNZZWFyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9sYXN0WWVhcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbmV4dFllYXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2dyZWF0ZXJUaGFuPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9sZXNzVGhhbj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfZ3JlYXRlclRoYW5PckVxdWFsVG8/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2xlc3NUaGFuT3JFcXVhbFRvPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl90cnVlPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9mYWxzZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfYWxsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9jb25kaXRpb25fcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfc3VtbWFyeV9jb3VudD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9zdW1tYXJ5X21pbj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9zdW1tYXJ5X21heD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9zdW1tYXJ5X3N1bT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9zdW1tYXJ5X2F2ZXJhZ2U/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfc3VtbWFyeV9lYXJsaWVzdD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9zdW1tYXJ5X2xhdGVzdD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9maWx0ZXJfbW92aW5nX2xlZnQ/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX21vdmluZ19sZWZ0X3Nob3J0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9tb3ZpbmdfcmlnaHQ/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX21vdmluZ19yaWdodF9zaG9ydD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9maWx0ZXJfbW92aW5nX2hlYWRlcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9maWx0ZXJfc29ydGluZ19hc2M/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX3NvcnRpbmdfYXNjX3Nob3J0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9zb3J0aW5nX2Rlc2M/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX3NvcnRpbmdfZGVzY19zaG9ydD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9maWx0ZXJfc29ydGluZ19oZWFkZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX2NsZWFyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2N1c3RvbV9kaWFsb2dfYWRkPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2N1c3RvbV9kaWFsb2dfY2xlYXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfY3VzdG9tX2RpYWxvZ19oZWFkZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfY2FuY2VsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2FwcGx5Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX3NlYXJjaF9wbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9zZWxlY3RfYWxsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX3NlbGVjdF9hbGxfc2VhcmNoX3Jlc3VsdHM/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfYWRkX3RvX2ZpbHRlcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9ibGFua3M/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfaGlkZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9zaG93Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX3Bpbj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF91bnBpbj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9zZWxlY3Q/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfZGVzZWxlY3Q/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfdGV4dF9maWx0ZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfbnVtYmVyX2ZpbHRlcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9kYXRlX2ZpbHRlcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9ib29sZWFuX2ZpbHRlcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9jdXJyZW5jeV9maWx0ZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfY3VzdG9tX2ZpbHRlcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9ub19tYXRjaGVzPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl90aXRsZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfYW5kX2dyb3VwPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl9vcl9ncm91cD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfZW5kX2dyb3VwPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl9jcmVhdGVfYW5kX2dyb3VwPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl9jcmVhdGVfb3JfZ3JvdXA/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2FuZF9sYWJlbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfb3JfbGFiZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2FkZF9jb25kaXRpb24/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX3VuZ3JvdXA/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2RlbGV0ZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfZGVsZXRlX2ZpbHRlcnM/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2luaXRpYWxfdGV4dD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfY29sdW1uX3BsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl92YWx1ZV9wbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waW5uZWRfcm93X2luZGljYXRvcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9oaWRpbmdfY2hlY2tfYWxsX2xhYmVsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2hpZGluZ191bmNoZWNrX2FsbF9sYWJlbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waW5uaW5nX2NoZWNrX2FsbF9sYWJlbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waW5uaW5nX3VuY2hlY2tfYWxsX2xhYmVsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Jvd19lZGl0X2J0bl9kb25lPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Jvd19lZGl0X2J0bl9jYW5jZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfdG9vbGJhcl9hY3Rpb25zX2ZpbHRlcl9wcm9tcHQ/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfdG9vbGJhcl9waW5uaW5nX2J1dHRvbl90b29sdGlwPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Rvb2xiYXJfaGlkaW5nX2J1dHRvbl90b29sdGlwPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Rvb2xiYXJfcGlubmluZ190aXRsZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF90b29sYmFyX2hpZGluZ190aXRsZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF90b29sYmFyX2FkdmFuY2VkX2ZpbHRlcmluZ19idXR0b25fdG9vbHRpcD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF90b29sYmFyX2FkdmFuY2VkX2ZpbHRlcmluZ19idXR0b25fbGFiZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfdG9vbGJhcl9leHBvcnRlcl9idXR0b25fdG9vbHRpcD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF90b29sYmFyX2V4cG9ydGVyX2J1dHRvbl9sYWJlbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF90b29sYmFyX2V4cG9ydGVyX2V4Y2VsX2VudHJ5X3RleHQ/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfdG9vbGJhcl9leHBvcnRlcl9jc3ZfZW50cnlfdGV4dD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9zbmFja2Jhcl9hZGRyb3dfbGFiZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfc25hY2tiYXJfYWRkcm93X2FjdGlvbnRleHQ/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWN0aW9uc19lZGl0X2xhYmVsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FjdGlvbnNfYWRkX2xhYmVsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FkZF9yb3dfbGFiZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWN0aW9uc19hZGRfY2hpbGRfbGFiZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWN0aW9uc19kZWxldGVfbGFiZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWN0aW9uc19waW5fbGFiZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWN0aW9uc191bnBpbl9sYWJlbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hY3Rpb25zX2p1bXBVcF9sYWJlbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hY3Rpb25zX2p1bXBEb3duX2xhYmVsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X2RhdGVfZGltZW5zaW9uX3RvdGFsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X2FnZ3JlZ2F0ZV9jb3VudD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9hZ2dyZWdhdGVfbWluPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X2FnZ3JlZ2F0ZV9tYXg/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3RfYWdncmVnYXRlX3N1bT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9hZ2dyZWdhdGVfYXZnPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X2FnZ3JlZ2F0ZV9kYXRlX2xhdGVzdD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9hZ2dyZWdhdGVfZGF0ZV9lYXJsaWVzdD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9hZ2dyZWdhdGVfdGltZV9sYXRlc3Q/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3RfYWdncmVnYXRlX3RpbWVfZWFybGllc3Q/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3RfZW1wdHlfcm93X2Ryb3BfYXJlYT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9lbXB0eV9jb2x1bW5fZHJvcF9hcmVhPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X2VtcHR5X2ZpbHRlcl9kcm9wX2FyZWE/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3RfZW1wdHlfdmFsdWVfZHJvcF9hcmVhPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X3Jvd19kcm9wX2NoaXA/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3RfY29sdW1uX2Ryb3BfY2hpcD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9maWx0ZXJfZHJvcF9jaGlwPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X3ZhbHVlX2Ryb3BfY2hpcD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9lbXB0eV9tZXNzYWdlPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X3NlbGVjdG9yX2ZpbHRlcnM/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3Rfc2VsZWN0b3Jfcm93cz86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9zZWxlY3Rvcl9jb2x1bW5zPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X3NlbGVjdG9yX3ZhbHVlcz86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9zZWxlY3Rvcl9wYW5lbF9lbXB0eT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9yZXF1aXJlZF92YWxpZGF0aW9uX2Vycm9yPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX21pbl92YWxpZGF0aW9uX2Vycm9yPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX21heF92YWxpZGF0aW9uX2Vycm9yPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX21pbl9sZW5ndGhfdmFsaWRhdGlvbl9lcnJvcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9tYXhfbGVuZ3RoX3ZhbGlkYXRpb25fZXJyb3I/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZW1haWxfdmFsaWRhdGlvbl9lcnJvcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9wYXR0ZXJuX3ZhbGlkYXRpb25fZXJyb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBHcmlkUmVzb3VyY2VTdHJpbmdzRU46IElHcmlkUmVzb3VyY2VTdHJpbmdzID0ge1xuICAgIGlneF9ncmlkX2dyb3VwQnlBcmVhX21lc3NhZ2U6ICdEcmFnIGEgY29sdW1uIGhlYWRlciBhbmQgZHJvcCBpdCBoZXJlIHRvIGdyb3VwIGJ5IHRoYXQgY29sdW1uLicsXG4gICAgaWd4X2dyaWRfZ3JvdXBCeUFyZWFfc2VsZWN0X21lc3NhZ2U6ICdTZWxlY3QgYWxsIHJvd3MgaW4gdGhlIGdyb3VwIHdpdGggZmllbGQgbmFtZSB7MH0gYW5kIHZhbHVlIHsxfS4nLFxuICAgIGlneF9ncmlkX2dyb3VwQnlBcmVhX2Rlc2VsZWN0X21lc3NhZ2U6ICdEZXNlbGVjdCBhbGwgcm93cyBpbiB0aGUgZ3JvdXAgd2l0aCBmaWVsZCBuYW1lIHswfSBhbmQgdmFsdWUgezF9LicsXG4gICAgaWd4X2dyaWRfZW1wdHlGaWx0ZXJlZEdyaWRfbWVzc2FnZTogJ05vIHJlY29yZHMgZm91bmQuJyxcbiAgICBpZ3hfZ3JpZF9lbXB0eUdyaWRfbWVzc2FnZTogJ0dyaWQgaGFzIG5vIGRhdGEuJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXI6ICdGaWx0ZXInLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9yb3dfY2xvc2U6ICdDbG9zZScsXG4gICAgaWd4X2dyaWRfZmlsdGVyX3Jvd19yZXNldDogJ1Jlc2V0JyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfcm93X3BsYWNlaG9sZGVyOiAnQWRkIGZpbHRlciB2YWx1ZScsXG4gICAgaWd4X2dyaWRfZmlsdGVyX3Jvd19ib29sZWFuX3BsYWNlaG9sZGVyOiAnQWxsJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfcm93X2RhdGVfcGxhY2Vob2xkZXI6ICdQaWNrIHVwIGRhdGUnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9yb3dfdGltZV9wbGFjZWhvbGRlcjogJ1BpY2sgdXAgdGltZScsXG4gICAgaWd4X2dyaWRfZmlsdGVyX29wZXJhdG9yX2FuZDogJ0FuZCcsXG4gICAgaWd4X2dyaWRfZmlsdGVyX29wZXJhdG9yX29yOiAnT3InLFxuICAgIGlneF9ncmlkX2NvbXBsZXhfZmlsdGVyOiAnQ29tcGxleCBGaWx0ZXInLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9jb250YWluczogJ0NvbnRhaW5zJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfZG9lc05vdENvbnRhaW46ICdEb2VzIE5vdCBDb250YWluJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfc3RhcnRzV2l0aDogJ1N0YXJ0cyBXaXRoJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfZW5kc1dpdGg6ICdFbmRzIFdpdGgnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9lcXVhbHM6ICdFcXVhbHMnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9kb2VzTm90RXF1YWw6ICdEb2VzIE5vdCBFcXVhbCcsXG4gICAgaWd4X2dyaWRfZmlsdGVyX2VtcHR5OiAnRW1wdHknLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9ub3RFbXB0eTogJ05vdCBFbXB0eScsXG4gICAgaWd4X2dyaWRfZmlsdGVyX251bGw6ICdOdWxsJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbm90TnVsbDogJ05vdCBOdWxsJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfYmVmb3JlOiAnQmVmb3JlJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfYWZ0ZXI6ICdBZnRlcicsXG4gICAgaWd4X2dyaWRfZmlsdGVyX2F0OiAnQXQnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9ub3RfYXQ6ICdOb3QgQXQnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9hdF9iZWZvcmU6ICdBdCBvciBCZWZvcmUnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9hdF9hZnRlcjogJ0F0IG9yIEFmdGVyJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfdG9kYXk6ICdUb2RheScsXG4gICAgaWd4X2dyaWRfZmlsdGVyX3llc3RlcmRheTogJ1llc3RlcmRheScsXG4gICAgaWd4X2dyaWRfZmlsdGVyX3RoaXNNb250aDogJ1RoaXMgTW9udGgnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9sYXN0TW9udGg6ICdMYXN0IE1vbnRoJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbmV4dE1vbnRoOiAnTmV4dCBNb250aCcsXG4gICAgaWd4X2dyaWRfZmlsdGVyX3RoaXNZZWFyOiAnVGhpcyBZZWFyJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbGFzdFllYXI6ICdMYXN0IFllYXInLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9uZXh0WWVhcjogJ05leHQgWWVhcicsXG4gICAgaWd4X2dyaWRfZmlsdGVyX2dyZWF0ZXJUaGFuOiAnR3JlYXRlciBUaGFuJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbGVzc1RoYW46ICdMZXNzIFRoYW4nLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9ncmVhdGVyVGhhbk9yRXF1YWxUbzogJ0dyZWF0ZXIgVGhhbiBPciBFcXVhbCBUbycsXG4gICAgaWd4X2dyaWRfZmlsdGVyX2xlc3NUaGFuT3JFcXVhbFRvOiAnTGVzcyBUaGFuIE9yIEVxdWFsIFRvJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfdHJ1ZTogJ1RydWUnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9mYWxzZTogJ0ZhbHNlJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfYWxsOiAnQWxsJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfY29uZGl0aW9uX3BsYWNlaG9sZGVyOiAnU2VsZWN0IGZpbHRlcicsXG4gICAgaWd4X2dyaWRfc3VtbWFyeV9jb3VudDogJ0NvdW50JyxcbiAgICBpZ3hfZ3JpZF9zdW1tYXJ5X21pbjogJ01pbicsXG4gICAgaWd4X2dyaWRfc3VtbWFyeV9tYXg6ICdNYXgnLFxuICAgIGlneF9ncmlkX3N1bW1hcnlfc3VtOiAnU3VtJyxcbiAgICBpZ3hfZ3JpZF9zdW1tYXJ5X2F2ZXJhZ2U6ICdBdmcnLFxuICAgIGlneF9ncmlkX3N1bW1hcnlfZWFybGllc3Q6ICdFYXJsaWVzdCcsXG4gICAgaWd4X2dyaWRfc3VtbWFyeV9sYXRlc3Q6ICdMYXRlc3QnLFxuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9tb3ZpbmdfbGVmdDogJ21vdmUgbGVmdCcsXG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX21vdmluZ19sZWZ0X3Nob3J0OiAnbGVmdCcsXG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX21vdmluZ19yaWdodDogJ21vdmUgcmlnaHQnLFxuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9tb3ZpbmdfcmlnaHRfc2hvcnQ6ICdyaWdodCcsXG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX21vdmluZ19oZWFkZXI6ICdtb3ZlJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9maWx0ZXJfc29ydGluZ19hc2M6ICdhc2NlbmRpbmcnLFxuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9zb3J0aW5nX2FzY19zaG9ydDogJ2FzYycsXG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX3NvcnRpbmdfZGVzYzogJ2Rlc2NlbmRpbmcnLFxuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9zb3J0aW5nX2Rlc2Nfc2hvcnQ6ICdkZXNjJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9maWx0ZXJfc29ydGluZ19oZWFkZXI6ICdzb3J0JyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9maWx0ZXJfY2xlYXI6ICdDbGVhciBjb2x1bW4gZmlsdGVycycsXG4gICAgaWd4X2dyaWRfZXhjZWxfY3VzdG9tX2RpYWxvZ19hZGQ6ICdhZGQgZmlsdGVyJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9jdXN0b21fZGlhbG9nX2NsZWFyOiAnQ2xlYXIgZmlsdGVyJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9jdXN0b21fZGlhbG9nX2hlYWRlcjogJ0N1c3RvbSBhdXRvLWZpbHRlciBvbiBjb2x1bW46ICcsXG4gICAgaWd4X2dyaWRfZXhjZWxfY2FuY2VsOiAnY2FuY2VsJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9hcHBseTogJ2FwcGx5JyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9zZWFyY2hfcGxhY2Vob2xkZXI6ICdTZWFyY2gnLFxuICAgIGlneF9ncmlkX2V4Y2VsX3NlbGVjdF9hbGw6ICdTZWxlY3QgQWxsJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9zZWxlY3RfYWxsX3NlYXJjaF9yZXN1bHRzOiAnU2VsZWN0IGFsbCBzZWFyY2ggcmVzdWx0cycsXG4gICAgaWd4X2dyaWRfZXhjZWxfYWRkX3RvX2ZpbHRlcjogJ0FkZCBjdXJyZW50IHNlbGVjdGlvbiB0byBmaWx0ZXInLFxuICAgIGlneF9ncmlkX2V4Y2VsX2JsYW5rczogJyhCbGFua3MpJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9oaWRlOiAnSGlkZSBjb2x1bW4nLFxuICAgIGlneF9ncmlkX2V4Y2VsX3Nob3c6ICdTaG93IGNvbHVtbicsXG4gICAgaWd4X2dyaWRfZXhjZWxfcGluOiAnUGluIGNvbHVtbicsXG4gICAgaWd4X2dyaWRfZXhjZWxfdW5waW46ICdVbnBpbiBjb2x1bW4nLFxuICAgIGlneF9ncmlkX2V4Y2VsX3NlbGVjdDogJ1NlbGVjdCBjb2x1bW4nLFxuICAgIGlneF9ncmlkX2V4Y2VsX2Rlc2VsZWN0OiAnRGVzZWxlY3QgY29sdW1uJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF90ZXh0X2ZpbHRlcjogJ1RleHQgZmlsdGVyJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9udW1iZXJfZmlsdGVyOiAnTnVtYmVyIGZpbHRlcicsXG4gICAgaWd4X2dyaWRfZXhjZWxfZGF0ZV9maWx0ZXI6ICdEYXRlIGZpbHRlcicsXG4gICAgaWd4X2dyaWRfZXhjZWxfYm9vbGVhbl9maWx0ZXI6ICdCb29sZWFuIGZpbHRlcicsXG4gICAgaWd4X2dyaWRfZXhjZWxfY3VycmVuY3lfZmlsdGVyOiAnQ3VycmVuY3kgZmlsdGVyJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9jdXN0b21fZmlsdGVyOiAnQ3VzdG9tIGZpbHRlci4uLicsXG4gICAgaWd4X2dyaWRfZXhjZWxfbm9fbWF0Y2hlczogJ05vIG1hdGNoZXMnLFxuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl90aXRsZTogJ0FkdmFuY2VkIEZpbHRlcmluZycsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2FuZF9ncm91cDogJ1wiQW5kXCIgR3JvdXAnLFxuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl9vcl9ncm91cDogJ1wiT3JcIiBHcm91cCcsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2VuZF9ncm91cDogJ0VuZCBHcm91cCcsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2NyZWF0ZV9hbmRfZ3JvdXA6ICdDcmVhdGUgXCJBbmRcIiBHcm91cCcsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2NyZWF0ZV9vcl9ncm91cDogJ0NyZWF0ZSBcIk9yXCIgR3JvdXAnLFxuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl9hbmRfbGFiZWw6ICdhbmQnLFxuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl9vcl9sYWJlbDogJ29yJyxcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfYWRkX2NvbmRpdGlvbjogJ0NvbmRpdGlvbicsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX3VuZ3JvdXA6ICdVbmdyb3VwJyxcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfZGVsZXRlOiAnRGVsZXRlJyxcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfZGVsZXRlX2ZpbHRlcnM6ICdEZWxldGUgZmlsdGVycycsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2luaXRpYWxfdGV4dDogJ1N0YXJ0IHdpdGggY3JlYXRpbmcgYSBncm91cCBvZiBjb25kaXRpb25zIGxpbmtlZCB3aXRoIFwiQW5kXCIgb3IgXCJPclwiJyxcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfY29sdW1uX3BsYWNlaG9sZGVyOiAnU2VsZWN0IGNvbHVtbicsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX3ZhbHVlX3BsYWNlaG9sZGVyOiAnVmFsdWUnLFxuICAgIGlneF9ncmlkX3Bpbm5lZF9yb3dfaW5kaWNhdG9yOiAnUGlubmVkJyxcbiAgICBpZ3hfZ3JpZF9oaWRpbmdfY2hlY2tfYWxsX2xhYmVsOiAnU2hvdyBBbGwnLFxuICAgIGlneF9ncmlkX2hpZGluZ191bmNoZWNrX2FsbF9sYWJlbDogJ0hpZGUgQWxsJyxcbiAgICBpZ3hfZ3JpZF9waW5uaW5nX2NoZWNrX2FsbF9sYWJlbDogJ1BpbiBBbGwnLFxuICAgIGlneF9ncmlkX3Bpbm5pbmdfdW5jaGVja19hbGxfbGFiZWw6ICdVbnBpbiBBbGwnLFxuICAgIGlneF9ncmlkX3Jvd19lZGl0X2J0bl9kb25lOiAnRG9uZScsXG4gICAgaWd4X2dyaWRfcm93X2VkaXRfYnRuX2NhbmNlbDogJ0NhbmNlbCcsXG4gICAgaWd4X2dyaWRfdG9vbGJhcl9hY3Rpb25zX2ZpbHRlcl9wcm9tcHQ6ICdGaWx0ZXIgY29sdW1ucyBsaXN0IC4uLicsXG4gICAgaWd4X2dyaWRfdG9vbGJhcl9waW5uaW5nX2J1dHRvbl90b29sdGlwOiAnT3BlbiBjb2x1bW4gcGlubmluZyBkcm9wZG93bicsXG4gICAgaWd4X2dyaWRfdG9vbGJhcl9oaWRpbmdfYnV0dG9uX3Rvb2x0aXA6ICdPcGVuIGNvbHVtbiBoaWRpbmcgZHJvcGRvd24nLFxuICAgIGlneF9ncmlkX3Rvb2xiYXJfcGlubmluZ190aXRsZTogJ1Bpbm5lZCBjb2x1bW5zJyxcbiAgICBpZ3hfZ3JpZF90b29sYmFyX2hpZGluZ190aXRsZTogJ1Zpc2libGUgY29sdW1ucycsXG4gICAgaWd4X2dyaWRfdG9vbGJhcl9hZHZhbmNlZF9maWx0ZXJpbmdfYnV0dG9uX3Rvb2x0aXA6ICdPcGVuIGFkdmFuY2VkIGZpbHRlcmluZyBkaWFsb2cnLFxuICAgIGlneF9ncmlkX3Rvb2xiYXJfYWR2YW5jZWRfZmlsdGVyaW5nX2J1dHRvbl9sYWJlbDogJ0FkdmFuY2VkIGZpbHRlcmluZycsXG4gICAgaWd4X2dyaWRfdG9vbGJhcl9leHBvcnRlcl9idXR0b25fdG9vbHRpcDogJ09wZW4gZXhwb3J0ZXIgZHJvcGRvd24nLFxuICAgIGlneF9ncmlkX3Rvb2xiYXJfZXhwb3J0ZXJfYnV0dG9uX2xhYmVsOiAnRXhwb3J0JyxcbiAgICBpZ3hfZ3JpZF90b29sYmFyX2V4cG9ydGVyX2V4Y2VsX2VudHJ5X3RleHQ6ICdFeHBvcnQgdG8gRXhjZWwnLFxuICAgIGlneF9ncmlkX3Rvb2xiYXJfZXhwb3J0ZXJfY3N2X2VudHJ5X3RleHQ6ICdFeHBvcnQgdG8gQ1NWJyxcbiAgICBpZ3hfZ3JpZF9zbmFja2Jhcl9hZGRyb3dfbGFiZWw6ICdSb3cgYWRkZWQnLFxuICAgIGlneF9ncmlkX3NuYWNrYmFyX2FkZHJvd19hY3Rpb250ZXh0OiAnU0hPVycsXG4gICAgaWd4X2dyaWRfYWN0aW9uc19lZGl0X2xhYmVsOiAnRWRpdCcsXG4gICAgaWd4X2dyaWRfYWN0aW9uc19hZGRfbGFiZWw6ICdBZGQnLFxuICAgIGlneF9ncmlkX2FkZF9yb3dfbGFiZWw6ICdBREQgUk9XJyxcbiAgICBpZ3hfZ3JpZF9hY3Rpb25zX2FkZF9jaGlsZF9sYWJlbDogJ0FkZCBDaGlsZCcsXG4gICAgaWd4X2dyaWRfYWN0aW9uc19kZWxldGVfbGFiZWw6ICdEZWxldGUnLFxuICAgIGlneF9ncmlkX2FjdGlvbnNfcGluX2xhYmVsOiAnUGluJyxcbiAgICBpZ3hfZ3JpZF9hY3Rpb25zX3VucGluX2xhYmVsOiAnVW5waW4nLFxuICAgIGlneF9ncmlkX2FjdGlvbnNfanVtcFVwX2xhYmVsOiAnSnVtcCB1cCcsXG4gICAgaWd4X2dyaWRfYWN0aW9uc19qdW1wRG93bl9sYWJlbDogJ0p1bXAgZG93bicsXG4gICAgaWd4X2dyaWRfcGl2b3RfZGF0ZV9kaW1lbnNpb25fdG90YWw6ICdBbGwgUGVyaW9kcycsXG4gICAgaWd4X2dyaWRfcGl2b3RfYWdncmVnYXRlX2NvdW50OiAnQ291bnQnLFxuICAgIGlneF9ncmlkX3Bpdm90X2FnZ3JlZ2F0ZV9taW46ICdNaW5pbXVtJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9hZ2dyZWdhdGVfbWF4OiAnTWF4aW11bScsXG4gICAgaWd4X2dyaWRfcGl2b3RfYWdncmVnYXRlX3N1bTogJ1N1bScsXG4gICAgaWd4X2dyaWRfcGl2b3RfYWdncmVnYXRlX2F2ZzogJ0F2ZXJhZ2UnLFxuICAgIGlneF9ncmlkX3Bpdm90X2FnZ3JlZ2F0ZV9kYXRlX2xhdGVzdDogJ0xhdGVzdCBEYXRlJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9hZ2dyZWdhdGVfZGF0ZV9lYXJsaWVzdDogJ0VhcmxpZXN0IERhdGUnLFxuICAgIGlneF9ncmlkX3Bpdm90X2FnZ3JlZ2F0ZV90aW1lX2xhdGVzdDogJ0xhdGVzdCBUaW1lJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9hZ2dyZWdhdGVfdGltZV9lYXJsaWVzdDogJ0VhcmxpZXN0IFRpbWUnLFxuICAgIGlneF9ncmlkX3Bpdm90X2VtcHR5X3Jvd19kcm9wX2FyZWE6ICdEcm9wIFJvdyBGaWVsZHMgaGVyZS4nLFxuICAgIGlneF9ncmlkX3Bpdm90X2VtcHR5X2NvbHVtbl9kcm9wX2FyZWE6ICdEcm9wIENvbHVtbiBGaWVsZHMgaGVyZS4nLFxuICAgIGlneF9ncmlkX3Bpdm90X2VtcHR5X2ZpbHRlcl9kcm9wX2FyZWE6ICdEcm9wIEZpbHRlciBGaWVsZHMgaGVyZS4nLFxuICAgIGlneF9ncmlkX3Bpdm90X2VtcHR5X3ZhbHVlX2Ryb3BfYXJlYTogJ0Ryb3AgVmFsdWUgRmllbGRzIGhlcmUuJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9yb3dfZHJvcF9jaGlwOiAnRHJvcCBoZXJlIHRvIHVzZSBhcyByb3cnLFxuICAgIGlneF9ncmlkX3Bpdm90X2NvbHVtbl9kcm9wX2NoaXA6ICdEcm9wIGhlcmUgdG8gdXNlIGFzIGNvbHVtbicsXG4gICAgaWd4X2dyaWRfcGl2b3RfZmlsdGVyX2Ryb3BfY2hpcDogJ0Ryb3AgaGVyZSB0byB1c2UgYXMgZmlsdGVyJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF92YWx1ZV9kcm9wX2NoaXA6ICdEcm9wIGhlcmUgdG8gdXNlIGFzIHZhbHVlJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9lbXB0eV9tZXNzYWdlOiAnUGl2b3QgZ3JpZCBoYXMgbm8gZGltZW5zaW9ucyBhbmQgdmFsdWVzLicsXG4gICAgaWd4X2dyaWRfcGl2b3Rfc2VsZWN0b3JfZmlsdGVyczogJ0ZpbHRlcnMnLFxuICAgIGlneF9ncmlkX3Bpdm90X3NlbGVjdG9yX3Jvd3M6ICdSb3dzJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9zZWxlY3Rvcl9jb2x1bW5zOiAnQ29sdW1ucycsXG4gICAgaWd4X2dyaWRfcGl2b3Rfc2VsZWN0b3JfdmFsdWVzOiAnVmFsdWVzJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9zZWxlY3Rvcl9wYW5lbF9lbXB0eTogJ0Ryb3AgSXRlbXMgSGVyZScsXG4gICAgaWd4X2dyaWRfcmVxdWlyZWRfdmFsaWRhdGlvbl9lcnJvcjogJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnLFxuICAgIGlneF9ncmlkX21pbl92YWxpZGF0aW9uX2Vycm9yOiAnQSB2YWx1ZSBvZiBhdCBsZWFzdCB7MH0gc2hvdWxkIGJlIGVudGVyZWQnLFxuICAgIGlneF9ncmlkX21heF92YWxpZGF0aW9uX2Vycm9yOiAnQSB2YWx1ZSBubyBtb3JlIHRoYW4gezB9IHNob3VsZCBiZSBlbnRlcmVkJyxcbiAgICBpZ3hfZ3JpZF9taW5fbGVuZ3RoX3ZhbGlkYXRpb25fZXJyb3I6ICdFbnRyeSBzaG91bGQgYmUgYXQgbGVhc3QgezB9IGNoYXJhY3RlcihzKSBsb25nJyxcbiAgICBpZ3hfZ3JpZF9tYXhfbGVuZ3RoX3ZhbGlkYXRpb25fZXJyb3I6ICdFbnRyeSBzaG91bGQgYmUgbm8gbW9yZSB0aGFuIHswfSBjaGFyYWN0ZXIocykgbG9uZycsXG4gICAgaWd4X2dyaWRfZW1haWxfdmFsaWRhdGlvbl9lcnJvcjogJ0EgdmFsaWQgZW1haWwgYWRkcmVzcyBzaG91bGQgYmUgZW50ZXJlZCcsXG4gICAgaWd4X2dyaWRfcGF0dGVybl92YWxpZGF0aW9uX2Vycm9yOiAnRW50cnkgZG9lcyBub3QgbWF0Y2ggdGhlIHJlcXVpcmVkIHBhdHRlcm4nXG59O1xuIl19
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1yZXNvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvY29yZS9pMThuL2dyaWQtcmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVLQSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBeUI7SUFDdkQsNEJBQTRCLEVBQUUsZ0VBQWdFO0lBQzlGLG1DQUFtQyxFQUFFLGlFQUFpRTtJQUN0RyxxQ0FBcUMsRUFBRSxtRUFBbUU7SUFDMUcsa0NBQWtDLEVBQUUsbUJBQW1CO0lBQ3ZELDBCQUEwQixFQUFFLG1CQUFtQjtJQUMvQyxlQUFlLEVBQUUsUUFBUTtJQUN6Qix5QkFBeUIsRUFBRSxPQUFPO0lBQ2xDLHlCQUF5QixFQUFFLE9BQU87SUFDbEMsK0JBQStCLEVBQUUsa0JBQWtCO0lBQ25ELHVDQUF1QyxFQUFFLEtBQUs7SUFDOUMsb0NBQW9DLEVBQUUsY0FBYztJQUNwRCxvQ0FBb0MsRUFBRSxjQUFjO0lBQ3BELDRCQUE0QixFQUFFLEtBQUs7SUFDbkMsMkJBQTJCLEVBQUUsSUFBSTtJQUNqQyx1QkFBdUIsRUFBRSxnQkFBZ0I7SUFDekMsd0JBQXdCLEVBQUUsVUFBVTtJQUNwQyw4QkFBOEIsRUFBRSxrQkFBa0I7SUFDbEQsMEJBQTBCLEVBQUUsYUFBYTtJQUN6Qyx3QkFBd0IsRUFBRSxXQUFXO0lBQ3JDLHNCQUFzQixFQUFFLFFBQVE7SUFDaEMsNEJBQTRCLEVBQUUsZ0JBQWdCO0lBQzlDLHFCQUFxQixFQUFFLE9BQU87SUFDOUIsd0JBQXdCLEVBQUUsV0FBVztJQUNyQyxvQkFBb0IsRUFBRSxNQUFNO0lBQzVCLHVCQUF1QixFQUFFLFVBQVU7SUFDbkMsc0JBQXNCLEVBQUUsUUFBUTtJQUNoQyxxQkFBcUIsRUFBRSxPQUFPO0lBQzlCLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsc0JBQXNCLEVBQUUsUUFBUTtJQUNoQyx5QkFBeUIsRUFBRSxjQUFjO0lBQ3pDLHdCQUF3QixFQUFFLGFBQWE7SUFDdkMscUJBQXFCLEVBQUUsT0FBTztJQUM5Qix5QkFBeUIsRUFBRSxXQUFXO0lBQ3RDLHlCQUF5QixFQUFFLFlBQVk7SUFDdkMseUJBQXlCLEVBQUUsWUFBWTtJQUN2Qyx5QkFBeUIsRUFBRSxZQUFZO0lBQ3ZDLHdCQUF3QixFQUFFLFdBQVc7SUFDckMsd0JBQXdCLEVBQUUsV0FBVztJQUNyQyx3QkFBd0IsRUFBRSxXQUFXO0lBQ3JDLDJCQUEyQixFQUFFLGNBQWM7SUFDM0Msd0JBQXdCLEVBQUUsV0FBVztJQUNyQyxvQ0FBb0MsRUFBRSwwQkFBMEI7SUFDaEUsaUNBQWlDLEVBQUUsdUJBQXVCO0lBQzFELG9CQUFvQixFQUFFLE1BQU07SUFDNUIscUJBQXFCLEVBQUUsT0FBTztJQUM5QixtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLHFDQUFxQyxFQUFFLGVBQWU7SUFDdEQsc0JBQXNCLEVBQUUsT0FBTztJQUMvQixvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLG9CQUFvQixFQUFFLEtBQUs7SUFDM0Isb0JBQW9CLEVBQUUsS0FBSztJQUMzQix3QkFBd0IsRUFBRSxLQUFLO0lBQy9CLHlCQUF5QixFQUFFLFVBQVU7SUFDckMsdUJBQXVCLEVBQUUsUUFBUTtJQUNqQyxpQ0FBaUMsRUFBRSxXQUFXO0lBQzlDLHVDQUF1QyxFQUFFLE1BQU07SUFDL0Msa0NBQWtDLEVBQUUsWUFBWTtJQUNoRCx3Q0FBd0MsRUFBRSxPQUFPO0lBQ2pELG1DQUFtQyxFQUFFLE1BQU07SUFDM0MsaUNBQWlDLEVBQUUsV0FBVztJQUM5Qyx1Q0FBdUMsRUFBRSxLQUFLO0lBQzlDLGtDQUFrQyxFQUFFLFlBQVk7SUFDaEQsd0NBQXdDLEVBQUUsTUFBTTtJQUNoRCxvQ0FBb0MsRUFBRSxNQUFNO0lBQzVDLDJCQUEyQixFQUFFLHNCQUFzQjtJQUNuRCxnQ0FBZ0MsRUFBRSxZQUFZO0lBQzlDLGtDQUFrQyxFQUFFLGNBQWM7SUFDbEQsbUNBQW1DLEVBQUUsZ0NBQWdDO0lBQ3JFLHFCQUFxQixFQUFFLFFBQVE7SUFDL0Isb0JBQW9CLEVBQUUsT0FBTztJQUM3QixpQ0FBaUMsRUFBRSxRQUFRO0lBQzNDLHlCQUF5QixFQUFFLFlBQVk7SUFDdkMsd0NBQXdDLEVBQUUsMkJBQTJCO0lBQ3JFLDRCQUE0QixFQUFFLGlDQUFpQztJQUMvRCxxQkFBcUIsRUFBRSxVQUFVO0lBQ2pDLG1CQUFtQixFQUFFLGFBQWE7SUFDbEMsbUJBQW1CLEVBQUUsYUFBYTtJQUNsQyxrQkFBa0IsRUFBRSxZQUFZO0lBQ2hDLG9CQUFvQixFQUFFLGNBQWM7SUFDcEMscUJBQXFCLEVBQUUsZUFBZTtJQUN0Qyx1QkFBdUIsRUFBRSxpQkFBaUI7SUFDMUMsMEJBQTBCLEVBQUUsYUFBYTtJQUN6Qyw0QkFBNEIsRUFBRSxlQUFlO0lBQzdDLDBCQUEwQixFQUFFLGFBQWE7SUFDekMsNkJBQTZCLEVBQUUsZ0JBQWdCO0lBQy9DLDhCQUE4QixFQUFFLGlCQUFpQjtJQUNqRCw0QkFBNEIsRUFBRSxrQkFBa0I7SUFDaEQseUJBQXlCLEVBQUUsWUFBWTtJQUN2Qyw4QkFBOEIsRUFBRSxvQkFBb0I7SUFDcEQsa0NBQWtDLEVBQUUsYUFBYTtJQUNqRCxpQ0FBaUMsRUFBRSxZQUFZO0lBQy9DLGtDQUFrQyxFQUFFLFdBQVc7SUFDL0MseUNBQXlDLEVBQUUsb0JBQW9CO0lBQy9ELHdDQUF3QyxFQUFFLG1CQUFtQjtJQUM3RCxrQ0FBa0MsRUFBRSxLQUFLO0lBQ3pDLGlDQUFpQyxFQUFFLElBQUk7SUFDdkMsc0NBQXNDLEVBQUUsV0FBVztJQUNuRCxnQ0FBZ0MsRUFBRSxTQUFTO0lBQzNDLCtCQUErQixFQUFFLFFBQVE7SUFDekMsdUNBQXVDLEVBQUUsZ0JBQWdCO0lBQ3pELHFDQUFxQyxFQUFFLHFFQUFxRTtJQUM1RywyQ0FBMkMsRUFBRSxlQUFlO0lBQzVELDBDQUEwQyxFQUFFLE9BQU87SUFDbkQsNkJBQTZCLEVBQUUsUUFBUTtJQUN2QywrQkFBK0IsRUFBRSxVQUFVO0lBQzNDLGlDQUFpQyxFQUFFLFVBQVU7SUFDN0MsZ0NBQWdDLEVBQUUsU0FBUztJQUMzQyxrQ0FBa0MsRUFBRSxXQUFXO0lBQy9DLDBCQUEwQixFQUFFLE1BQU07SUFDbEMsNEJBQTRCLEVBQUUsUUFBUTtJQUN0QyxzQ0FBc0MsRUFBRSx5QkFBeUI7SUFDakUsdUNBQXVDLEVBQUUsOEJBQThCO0lBQ3ZFLHNDQUFzQyxFQUFFLDZCQUE2QjtJQUNyRSw4QkFBOEIsRUFBRSxnQkFBZ0I7SUFDaEQsNkJBQTZCLEVBQUUsaUJBQWlCO0lBQ2hELGtEQUFrRCxFQUFFLGdDQUFnQztJQUNwRixnREFBZ0QsRUFBRSxvQkFBb0I7SUFDdEUsd0NBQXdDLEVBQUUsd0JBQXdCO0lBQ2xFLHNDQUFzQyxFQUFFLFFBQVE7SUFDaEQsMENBQTBDLEVBQUUsaUJBQWlCO0lBQzdELHdDQUF3QyxFQUFFLGVBQWU7SUFDekQsOEJBQThCLEVBQUUsV0FBVztJQUMzQyxtQ0FBbUMsRUFBRSxNQUFNO0lBQzNDLDJCQUEyQixFQUFFLE1BQU07SUFDbkMsMEJBQTBCLEVBQUUsS0FBSztJQUNqQyxzQkFBc0IsRUFBRSxTQUFTO0lBQ2pDLGdDQUFnQyxFQUFFLFdBQVc7SUFDN0MsNkJBQTZCLEVBQUUsUUFBUTtJQUN2QywwQkFBMEIsRUFBRSxLQUFLO0lBQ2pDLDRCQUE0QixFQUFFLE9BQU87SUFDckMsNkJBQTZCLEVBQUUsU0FBUztJQUN4QywrQkFBK0IsRUFBRSxXQUFXO0lBQzVDLG1DQUFtQyxFQUFFLGFBQWE7SUFDbEQsOEJBQThCLEVBQUUsT0FBTztJQUN2Qyw0QkFBNEIsRUFBRSxTQUFTO0lBQ3ZDLDRCQUE0QixFQUFFLFNBQVM7SUFDdkMsNEJBQTRCLEVBQUUsS0FBSztJQUNuQyw0QkFBNEIsRUFBRSxTQUFTO0lBQ3ZDLG9DQUFvQyxFQUFFLGFBQWE7SUFDbkQsc0NBQXNDLEVBQUUsZUFBZTtJQUN2RCxvQ0FBb0MsRUFBRSxhQUFhO0lBQ25ELHNDQUFzQyxFQUFFLGVBQWU7SUFDdkQsa0NBQWtDLEVBQUUsdUJBQXVCO0lBQzNELHFDQUFxQyxFQUFFLDBCQUEwQjtJQUNqRSxxQ0FBcUMsRUFBRSwwQkFBMEI7SUFDakUsb0NBQW9DLEVBQUUseUJBQXlCO0lBQy9ELDRCQUE0QixFQUFFLHlCQUF5QjtJQUN2RCwrQkFBK0IsRUFBRSw0QkFBNEI7SUFDN0QsK0JBQStCLEVBQUUsNEJBQTRCO0lBQzdELDhCQUE4QixFQUFFLDJCQUEyQjtJQUMzRCw0QkFBNEIsRUFBRSwwQ0FBMEM7SUFDeEUsK0JBQStCLEVBQUUsU0FBUztJQUMxQyw0QkFBNEIsRUFBRSxNQUFNO0lBQ3BDLCtCQUErQixFQUFFLFNBQVM7SUFDMUMsOEJBQThCLEVBQUUsUUFBUTtJQUN4QyxtQ0FBbUMsRUFBRSxpQkFBaUI7SUFDdEQsa0NBQWtDLEVBQUUsd0JBQXdCO0lBQzVELDZCQUE2QixFQUFFLDJDQUEyQztJQUMxRSw2QkFBNkIsRUFBRSw0Q0FBNEM7SUFDM0Usb0NBQW9DLEVBQUUsZ0RBQWdEO0lBQ3RGLG9DQUFvQyxFQUFFLG9EQUFvRDtJQUMxRiwrQkFBK0IsRUFBRSx5Q0FBeUM7SUFDMUUsaUNBQWlDLEVBQUUsMkNBQTJDO0lBQzlFLDRCQUE0QixFQUFFLDRGQUE0RjtDQUM3SCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJR3JpZFJlc291cmNlU3RyaW5ncyB7XG4gICAgaWd4X2dyaWRfZ3JvdXBCeUFyZWFfbWVzc2FnZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9ncm91cEJ5QXJlYV9zZWxlY3RfbWVzc2FnZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9ncm91cEJ5QXJlYV9kZXNlbGVjdF9tZXNzYWdlPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2VtcHR5RmlsdGVyZWRHcmlkX21lc3NhZ2U/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZW1wdHlHcmlkX21lc3NhZ2U/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9yb3dfY2xvc2U/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX3Jvd19yZXNldD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfcm93X3BsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9yb3dfYm9vbGVhbl9wbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfcm93X2RhdGVfcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX3Jvd190aW1lX3BsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9vcGVyYXRvcl9hbmQ/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfY29tcGxleF9maWx0ZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX29wZXJhdG9yX29yPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9jb250YWlucz86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfZG9lc05vdENvbnRhaW4/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX3N0YXJ0c1dpdGg/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2VuZHNXaXRoPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9lcXVhbHM/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2RvZXNOb3RFcXVhbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfZW1wdHk/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX25vdEVtcHR5Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9udWxsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9ub3ROdWxsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9iZWZvcmU/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2FmdGVyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9hdD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbm90X2F0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9hdF9iZWZvcmU/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2F0X2FmdGVyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl90b2RheT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfeWVzdGVyZGF5Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl90aGlzTW9udGg/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2xhc3RNb250aD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbmV4dE1vbnRoPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl90aGlzWWVhcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbGFzdFllYXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX25leHRZZWFyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9ncmVhdGVyVGhhbj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbGVzc1RoYW4/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2dyZWF0ZXJUaGFuT3JFcXVhbFRvPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2ZpbHRlcl9sZXNzVGhhbk9yRXF1YWxUbz86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfdHJ1ZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfZmFsc2U/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZmlsdGVyX2FsbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfY29uZGl0aW9uX3BsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3N1bW1hcnlfY291bnQ/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfc3VtbWFyeV9taW4/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfc3VtbWFyeV9tYXg/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfc3VtbWFyeV9zdW0/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfc3VtbWFyeV9hdmVyYWdlPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3N1bW1hcnlfZWFybGllc3Q/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfc3VtbWFyeV9sYXRlc3Q/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX21vdmluZ19sZWZ0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9tb3ZpbmdfbGVmdF9zaG9ydD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9maWx0ZXJfbW92aW5nX3JpZ2h0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9tb3ZpbmdfcmlnaHRfc2hvcnQ/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX21vdmluZ19oZWFkZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX3NvcnRpbmdfYXNjPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9zb3J0aW5nX2FzY19zaG9ydD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9maWx0ZXJfc29ydGluZ19kZXNjPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9zb3J0aW5nX2Rlc2Nfc2hvcnQ/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX3NvcnRpbmdfaGVhZGVyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9jbGVhcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9jdXN0b21fZGlhbG9nX2FkZD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9jdXN0b21fZGlhbG9nX2NsZWFyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2N1c3RvbV9kaWFsb2dfaGVhZGVyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2NhbmNlbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9hcHBseT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9zZWFyY2hfcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfc2VsZWN0X2FsbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9zZWxlY3RfYWxsX3NlYXJjaF9yZXN1bHRzPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2FkZF90b19maWx0ZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfYmxhbmtzPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2hpZGU/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfc2hvdz86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9leGNlbF9waW4/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfdW5waW4/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfc2VsZWN0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2Rlc2VsZWN0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX3RleHRfZmlsdGVyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX251bWJlcl9maWx0ZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfZGF0ZV9maWx0ZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfYm9vbGVhbl9maWx0ZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfY3VycmVuY3lfZmlsdGVyPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2V4Y2VsX2N1c3RvbV9maWx0ZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfZXhjZWxfbm9fbWF0Y2hlcz86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfdGl0bGU/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2FuZF9ncm91cD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfb3JfZ3JvdXA/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2VuZF9ncm91cD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfY3JlYXRlX2FuZF9ncm91cD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfY3JlYXRlX29yX2dyb3VwPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl9hbmRfbGFiZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX29yX2xhYmVsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl9hZGRfY29uZGl0aW9uPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl91bmdyb3VwPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl9kZWxldGU/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2RlbGV0ZV9maWx0ZXJzPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl9pbml0aWFsX3RleHQ/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2NvbHVtbl9wbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfdmFsdWVfcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGlubmVkX3Jvd19pbmRpY2F0b3I/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfaGlkaW5nX2NoZWNrX2FsbF9sYWJlbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9oaWRpbmdfdW5jaGVja19hbGxfbGFiZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGlubmluZ19jaGVja19hbGxfbGFiZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGlubmluZ191bmNoZWNrX2FsbF9sYWJlbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9yb3dfZWRpdF9idG5fZG9uZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9yb3dfZWRpdF9idG5fY2FuY2VsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Rvb2xiYXJfYWN0aW9uc19maWx0ZXJfcHJvbXB0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Rvb2xiYXJfcGlubmluZ19idXR0b25fdG9vbHRpcD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF90b29sYmFyX2hpZGluZ19idXR0b25fdG9vbHRpcD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF90b29sYmFyX3Bpbm5pbmdfdGl0bGU/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfdG9vbGJhcl9oaWRpbmdfdGl0bGU/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfdG9vbGJhcl9hZHZhbmNlZF9maWx0ZXJpbmdfYnV0dG9uX3Rvb2x0aXA/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfdG9vbGJhcl9hZHZhbmNlZF9maWx0ZXJpbmdfYnV0dG9uX2xhYmVsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Rvb2xiYXJfZXhwb3J0ZXJfYnV0dG9uX3Rvb2x0aXA/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfdG9vbGJhcl9leHBvcnRlcl9idXR0b25fbGFiZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfdG9vbGJhcl9leHBvcnRlcl9leGNlbF9lbnRyeV90ZXh0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Rvb2xiYXJfZXhwb3J0ZXJfY3N2X2VudHJ5X3RleHQ/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfc25hY2tiYXJfYWRkcm93X2xhYmVsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3NuYWNrYmFyX2FkZHJvd19hY3Rpb250ZXh0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FjdGlvbnNfZWRpdF9sYWJlbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hY3Rpb25zX2FkZF9sYWJlbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9hZGRfcm93X2xhYmVsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FjdGlvbnNfYWRkX2NoaWxkX2xhYmVsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FjdGlvbnNfZGVsZXRlX2xhYmVsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FjdGlvbnNfcGluX2xhYmVsPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2FjdGlvbnNfdW5waW5fbGFiZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWN0aW9uc19qdW1wVXBfbGFiZWw/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfYWN0aW9uc19qdW1wRG93bl9sYWJlbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9kYXRlX2RpbWVuc2lvbl90b3RhbD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9hZ2dyZWdhdGVfY291bnQ/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3RfYWdncmVnYXRlX21pbj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9hZ2dyZWdhdGVfbWF4Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X2FnZ3JlZ2F0ZV9zdW0/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3RfYWdncmVnYXRlX2F2Zz86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9hZ2dyZWdhdGVfZGF0ZV9sYXRlc3Q/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3RfYWdncmVnYXRlX2RhdGVfZWFybGllc3Q/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3RfYWdncmVnYXRlX3RpbWVfbGF0ZXN0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X2FnZ3JlZ2F0ZV90aW1lX2VhcmxpZXN0Pzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X2VtcHR5X3Jvd19kcm9wX2FyZWE/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3RfZW1wdHlfY29sdW1uX2Ryb3BfYXJlYT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9lbXB0eV9maWx0ZXJfZHJvcF9hcmVhPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X2VtcHR5X3ZhbHVlX2Ryb3BfYXJlYT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9yb3dfZHJvcF9jaGlwPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X2NvbHVtbl9kcm9wX2NoaXA/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3RfZmlsdGVyX2Ryb3BfY2hpcD86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF92YWx1ZV9kcm9wX2NoaXA/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3RfZW1wdHlfbWVzc2FnZT86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9zZWxlY3Rvcl9maWx0ZXJzPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X3NlbGVjdG9yX3Jvd3M/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3Rfc2VsZWN0b3JfY29sdW1ucz86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9waXZvdF9zZWxlY3Rvcl92YWx1ZXM/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGl2b3Rfc2VsZWN0b3JfcGFuZWxfZW1wdHk/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcmVxdWlyZWRfdmFsaWRhdGlvbl9lcnJvcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9taW5fdmFsaWRhdGlvbl9lcnJvcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9tYXhfdmFsaWRhdGlvbl9lcnJvcj86IHN0cmluZztcbiAgICBpZ3hfZ3JpZF9taW5fbGVuZ3RoX3ZhbGlkYXRpb25fZXJyb3I/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfbWF4X2xlbmd0aF92YWxpZGF0aW9uX2Vycm9yPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX2VtYWlsX3ZhbGlkYXRpb25fZXJyb3I/OiBzdHJpbmc7XG4gICAgaWd4X2dyaWRfcGF0dGVybl92YWxpZGF0aW9uX2Vycm9yPzogc3RyaW5nO1xuICAgIGlneF9ncmlkX3Bpdm90X25vX2FnZ3JlZ2F0b3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBHcmlkUmVzb3VyY2VTdHJpbmdzRU46IElHcmlkUmVzb3VyY2VTdHJpbmdzID0ge1xuICAgIGlneF9ncmlkX2dyb3VwQnlBcmVhX21lc3NhZ2U6ICdEcmFnIGEgY29sdW1uIGhlYWRlciBhbmQgZHJvcCBpdCBoZXJlIHRvIGdyb3VwIGJ5IHRoYXQgY29sdW1uLicsXG4gICAgaWd4X2dyaWRfZ3JvdXBCeUFyZWFfc2VsZWN0X21lc3NhZ2U6ICdTZWxlY3QgYWxsIHJvd3MgaW4gdGhlIGdyb3VwIHdpdGggZmllbGQgbmFtZSB7MH0gYW5kIHZhbHVlIHsxfS4nLFxuICAgIGlneF9ncmlkX2dyb3VwQnlBcmVhX2Rlc2VsZWN0X21lc3NhZ2U6ICdEZXNlbGVjdCBhbGwgcm93cyBpbiB0aGUgZ3JvdXAgd2l0aCBmaWVsZCBuYW1lIHswfSBhbmQgdmFsdWUgezF9LicsXG4gICAgaWd4X2dyaWRfZW1wdHlGaWx0ZXJlZEdyaWRfbWVzc2FnZTogJ05vIHJlY29yZHMgZm91bmQuJyxcbiAgICBpZ3hfZ3JpZF9lbXB0eUdyaWRfbWVzc2FnZTogJ0dyaWQgaGFzIG5vIGRhdGEuJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXI6ICdGaWx0ZXInLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9yb3dfY2xvc2U6ICdDbG9zZScsXG4gICAgaWd4X2dyaWRfZmlsdGVyX3Jvd19yZXNldDogJ1Jlc2V0JyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfcm93X3BsYWNlaG9sZGVyOiAnQWRkIGZpbHRlciB2YWx1ZScsXG4gICAgaWd4X2dyaWRfZmlsdGVyX3Jvd19ib29sZWFuX3BsYWNlaG9sZGVyOiAnQWxsJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfcm93X2RhdGVfcGxhY2Vob2xkZXI6ICdQaWNrIHVwIGRhdGUnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9yb3dfdGltZV9wbGFjZWhvbGRlcjogJ1BpY2sgdXAgdGltZScsXG4gICAgaWd4X2dyaWRfZmlsdGVyX29wZXJhdG9yX2FuZDogJ0FuZCcsXG4gICAgaWd4X2dyaWRfZmlsdGVyX29wZXJhdG9yX29yOiAnT3InLFxuICAgIGlneF9ncmlkX2NvbXBsZXhfZmlsdGVyOiAnQ29tcGxleCBGaWx0ZXInLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9jb250YWluczogJ0NvbnRhaW5zJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfZG9lc05vdENvbnRhaW46ICdEb2VzIE5vdCBDb250YWluJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfc3RhcnRzV2l0aDogJ1N0YXJ0cyBXaXRoJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfZW5kc1dpdGg6ICdFbmRzIFdpdGgnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9lcXVhbHM6ICdFcXVhbHMnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9kb2VzTm90RXF1YWw6ICdEb2VzIE5vdCBFcXVhbCcsXG4gICAgaWd4X2dyaWRfZmlsdGVyX2VtcHR5OiAnRW1wdHknLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9ub3RFbXB0eTogJ05vdCBFbXB0eScsXG4gICAgaWd4X2dyaWRfZmlsdGVyX251bGw6ICdOdWxsJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbm90TnVsbDogJ05vdCBOdWxsJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfYmVmb3JlOiAnQmVmb3JlJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfYWZ0ZXI6ICdBZnRlcicsXG4gICAgaWd4X2dyaWRfZmlsdGVyX2F0OiAnQXQnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9ub3RfYXQ6ICdOb3QgQXQnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9hdF9iZWZvcmU6ICdBdCBvciBCZWZvcmUnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9hdF9hZnRlcjogJ0F0IG9yIEFmdGVyJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfdG9kYXk6ICdUb2RheScsXG4gICAgaWd4X2dyaWRfZmlsdGVyX3llc3RlcmRheTogJ1llc3RlcmRheScsXG4gICAgaWd4X2dyaWRfZmlsdGVyX3RoaXNNb250aDogJ1RoaXMgTW9udGgnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9sYXN0TW9udGg6ICdMYXN0IE1vbnRoJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbmV4dE1vbnRoOiAnTmV4dCBNb250aCcsXG4gICAgaWd4X2dyaWRfZmlsdGVyX3RoaXNZZWFyOiAnVGhpcyBZZWFyJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbGFzdFllYXI6ICdMYXN0IFllYXInLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9uZXh0WWVhcjogJ05leHQgWWVhcicsXG4gICAgaWd4X2dyaWRfZmlsdGVyX2dyZWF0ZXJUaGFuOiAnR3JlYXRlciBUaGFuJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfbGVzc1RoYW46ICdMZXNzIFRoYW4nLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9ncmVhdGVyVGhhbk9yRXF1YWxUbzogJ0dyZWF0ZXIgVGhhbiBPciBFcXVhbCBUbycsXG4gICAgaWd4X2dyaWRfZmlsdGVyX2xlc3NUaGFuT3JFcXVhbFRvOiAnTGVzcyBUaGFuIE9yIEVxdWFsIFRvJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfdHJ1ZTogJ1RydWUnLFxuICAgIGlneF9ncmlkX2ZpbHRlcl9mYWxzZTogJ0ZhbHNlJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfYWxsOiAnQWxsJyxcbiAgICBpZ3hfZ3JpZF9maWx0ZXJfY29uZGl0aW9uX3BsYWNlaG9sZGVyOiAnU2VsZWN0IGZpbHRlcicsXG4gICAgaWd4X2dyaWRfc3VtbWFyeV9jb3VudDogJ0NvdW50JyxcbiAgICBpZ3hfZ3JpZF9zdW1tYXJ5X21pbjogJ01pbicsXG4gICAgaWd4X2dyaWRfc3VtbWFyeV9tYXg6ICdNYXgnLFxuICAgIGlneF9ncmlkX3N1bW1hcnlfc3VtOiAnU3VtJyxcbiAgICBpZ3hfZ3JpZF9zdW1tYXJ5X2F2ZXJhZ2U6ICdBdmcnLFxuICAgIGlneF9ncmlkX3N1bW1hcnlfZWFybGllc3Q6ICdFYXJsaWVzdCcsXG4gICAgaWd4X2dyaWRfc3VtbWFyeV9sYXRlc3Q6ICdMYXRlc3QnLFxuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9tb3ZpbmdfbGVmdDogJ21vdmUgbGVmdCcsXG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX21vdmluZ19sZWZ0X3Nob3J0OiAnbGVmdCcsXG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX21vdmluZ19yaWdodDogJ21vdmUgcmlnaHQnLFxuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9tb3ZpbmdfcmlnaHRfc2hvcnQ6ICdyaWdodCcsXG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX21vdmluZ19oZWFkZXI6ICdtb3ZlJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9maWx0ZXJfc29ydGluZ19hc2M6ICdhc2NlbmRpbmcnLFxuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9zb3J0aW5nX2FzY19zaG9ydDogJ2FzYycsXG4gICAgaWd4X2dyaWRfZXhjZWxfZmlsdGVyX3NvcnRpbmdfZGVzYzogJ2Rlc2NlbmRpbmcnLFxuICAgIGlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9zb3J0aW5nX2Rlc2Nfc2hvcnQ6ICdkZXNjJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9maWx0ZXJfc29ydGluZ19oZWFkZXI6ICdzb3J0JyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9maWx0ZXJfY2xlYXI6ICdDbGVhciBjb2x1bW4gZmlsdGVycycsXG4gICAgaWd4X2dyaWRfZXhjZWxfY3VzdG9tX2RpYWxvZ19hZGQ6ICdhZGQgZmlsdGVyJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9jdXN0b21fZGlhbG9nX2NsZWFyOiAnQ2xlYXIgZmlsdGVyJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9jdXN0b21fZGlhbG9nX2hlYWRlcjogJ0N1c3RvbSBhdXRvLWZpbHRlciBvbiBjb2x1bW46ICcsXG4gICAgaWd4X2dyaWRfZXhjZWxfY2FuY2VsOiAnY2FuY2VsJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9hcHBseTogJ2FwcGx5JyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9zZWFyY2hfcGxhY2Vob2xkZXI6ICdTZWFyY2gnLFxuICAgIGlneF9ncmlkX2V4Y2VsX3NlbGVjdF9hbGw6ICdTZWxlY3QgQWxsJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9zZWxlY3RfYWxsX3NlYXJjaF9yZXN1bHRzOiAnU2VsZWN0IGFsbCBzZWFyY2ggcmVzdWx0cycsXG4gICAgaWd4X2dyaWRfZXhjZWxfYWRkX3RvX2ZpbHRlcjogJ0FkZCBjdXJyZW50IHNlbGVjdGlvbiB0byBmaWx0ZXInLFxuICAgIGlneF9ncmlkX2V4Y2VsX2JsYW5rczogJyhCbGFua3MpJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9oaWRlOiAnSGlkZSBjb2x1bW4nLFxuICAgIGlneF9ncmlkX2V4Y2VsX3Nob3c6ICdTaG93IGNvbHVtbicsXG4gICAgaWd4X2dyaWRfZXhjZWxfcGluOiAnUGluIGNvbHVtbicsXG4gICAgaWd4X2dyaWRfZXhjZWxfdW5waW46ICdVbnBpbiBjb2x1bW4nLFxuICAgIGlneF9ncmlkX2V4Y2VsX3NlbGVjdDogJ1NlbGVjdCBjb2x1bW4nLFxuICAgIGlneF9ncmlkX2V4Y2VsX2Rlc2VsZWN0OiAnRGVzZWxlY3QgY29sdW1uJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF90ZXh0X2ZpbHRlcjogJ1RleHQgZmlsdGVyJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9udW1iZXJfZmlsdGVyOiAnTnVtYmVyIGZpbHRlcicsXG4gICAgaWd4X2dyaWRfZXhjZWxfZGF0ZV9maWx0ZXI6ICdEYXRlIGZpbHRlcicsXG4gICAgaWd4X2dyaWRfZXhjZWxfYm9vbGVhbl9maWx0ZXI6ICdCb29sZWFuIGZpbHRlcicsXG4gICAgaWd4X2dyaWRfZXhjZWxfY3VycmVuY3lfZmlsdGVyOiAnQ3VycmVuY3kgZmlsdGVyJyxcbiAgICBpZ3hfZ3JpZF9leGNlbF9jdXN0b21fZmlsdGVyOiAnQ3VzdG9tIGZpbHRlci4uLicsXG4gICAgaWd4X2dyaWRfZXhjZWxfbm9fbWF0Y2hlczogJ05vIG1hdGNoZXMnLFxuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl90aXRsZTogJ0FkdmFuY2VkIEZpbHRlcmluZycsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2FuZF9ncm91cDogJ1wiQW5kXCIgR3JvdXAnLFxuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl9vcl9ncm91cDogJ1wiT3JcIiBHcm91cCcsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2VuZF9ncm91cDogJ0VuZCBHcm91cCcsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2NyZWF0ZV9hbmRfZ3JvdXA6ICdDcmVhdGUgXCJBbmRcIiBHcm91cCcsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2NyZWF0ZV9vcl9ncm91cDogJ0NyZWF0ZSBcIk9yXCIgR3JvdXAnLFxuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl9hbmRfbGFiZWw6ICdhbmQnLFxuICAgIGlneF9ncmlkX2FkdmFuY2VkX2ZpbHRlcl9vcl9sYWJlbDogJ29yJyxcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfYWRkX2NvbmRpdGlvbjogJ0NvbmRpdGlvbicsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX3VuZ3JvdXA6ICdVbmdyb3VwJyxcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfZGVsZXRlOiAnRGVsZXRlJyxcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfZGVsZXRlX2ZpbHRlcnM6ICdEZWxldGUgZmlsdGVycycsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX2luaXRpYWxfdGV4dDogJ1N0YXJ0IHdpdGggY3JlYXRpbmcgYSBncm91cCBvZiBjb25kaXRpb25zIGxpbmtlZCB3aXRoIFwiQW5kXCIgb3IgXCJPclwiJyxcbiAgICBpZ3hfZ3JpZF9hZHZhbmNlZF9maWx0ZXJfY29sdW1uX3BsYWNlaG9sZGVyOiAnU2VsZWN0IGNvbHVtbicsXG4gICAgaWd4X2dyaWRfYWR2YW5jZWRfZmlsdGVyX3ZhbHVlX3BsYWNlaG9sZGVyOiAnVmFsdWUnLFxuICAgIGlneF9ncmlkX3Bpbm5lZF9yb3dfaW5kaWNhdG9yOiAnUGlubmVkJyxcbiAgICBpZ3hfZ3JpZF9oaWRpbmdfY2hlY2tfYWxsX2xhYmVsOiAnU2hvdyBBbGwnLFxuICAgIGlneF9ncmlkX2hpZGluZ191bmNoZWNrX2FsbF9sYWJlbDogJ0hpZGUgQWxsJyxcbiAgICBpZ3hfZ3JpZF9waW5uaW5nX2NoZWNrX2FsbF9sYWJlbDogJ1BpbiBBbGwnLFxuICAgIGlneF9ncmlkX3Bpbm5pbmdfdW5jaGVja19hbGxfbGFiZWw6ICdVbnBpbiBBbGwnLFxuICAgIGlneF9ncmlkX3Jvd19lZGl0X2J0bl9kb25lOiAnRG9uZScsXG4gICAgaWd4X2dyaWRfcm93X2VkaXRfYnRuX2NhbmNlbDogJ0NhbmNlbCcsXG4gICAgaWd4X2dyaWRfdG9vbGJhcl9hY3Rpb25zX2ZpbHRlcl9wcm9tcHQ6ICdGaWx0ZXIgY29sdW1ucyBsaXN0IC4uLicsXG4gICAgaWd4X2dyaWRfdG9vbGJhcl9waW5uaW5nX2J1dHRvbl90b29sdGlwOiAnT3BlbiBjb2x1bW4gcGlubmluZyBkcm9wZG93bicsXG4gICAgaWd4X2dyaWRfdG9vbGJhcl9oaWRpbmdfYnV0dG9uX3Rvb2x0aXA6ICdPcGVuIGNvbHVtbiBoaWRpbmcgZHJvcGRvd24nLFxuICAgIGlneF9ncmlkX3Rvb2xiYXJfcGlubmluZ190aXRsZTogJ1Bpbm5lZCBjb2x1bW5zJyxcbiAgICBpZ3hfZ3JpZF90b29sYmFyX2hpZGluZ190aXRsZTogJ1Zpc2libGUgY29sdW1ucycsXG4gICAgaWd4X2dyaWRfdG9vbGJhcl9hZHZhbmNlZF9maWx0ZXJpbmdfYnV0dG9uX3Rvb2x0aXA6ICdPcGVuIGFkdmFuY2VkIGZpbHRlcmluZyBkaWFsb2cnLFxuICAgIGlneF9ncmlkX3Rvb2xiYXJfYWR2YW5jZWRfZmlsdGVyaW5nX2J1dHRvbl9sYWJlbDogJ0FkdmFuY2VkIGZpbHRlcmluZycsXG4gICAgaWd4X2dyaWRfdG9vbGJhcl9leHBvcnRlcl9idXR0b25fdG9vbHRpcDogJ09wZW4gZXhwb3J0ZXIgZHJvcGRvd24nLFxuICAgIGlneF9ncmlkX3Rvb2xiYXJfZXhwb3J0ZXJfYnV0dG9uX2xhYmVsOiAnRXhwb3J0JyxcbiAgICBpZ3hfZ3JpZF90b29sYmFyX2V4cG9ydGVyX2V4Y2VsX2VudHJ5X3RleHQ6ICdFeHBvcnQgdG8gRXhjZWwnLFxuICAgIGlneF9ncmlkX3Rvb2xiYXJfZXhwb3J0ZXJfY3N2X2VudHJ5X3RleHQ6ICdFeHBvcnQgdG8gQ1NWJyxcbiAgICBpZ3hfZ3JpZF9zbmFja2Jhcl9hZGRyb3dfbGFiZWw6ICdSb3cgYWRkZWQnLFxuICAgIGlneF9ncmlkX3NuYWNrYmFyX2FkZHJvd19hY3Rpb250ZXh0OiAnU0hPVycsXG4gICAgaWd4X2dyaWRfYWN0aW9uc19lZGl0X2xhYmVsOiAnRWRpdCcsXG4gICAgaWd4X2dyaWRfYWN0aW9uc19hZGRfbGFiZWw6ICdBZGQnLFxuICAgIGlneF9ncmlkX2FkZF9yb3dfbGFiZWw6ICdBREQgUk9XJyxcbiAgICBpZ3hfZ3JpZF9hY3Rpb25zX2FkZF9jaGlsZF9sYWJlbDogJ0FkZCBDaGlsZCcsXG4gICAgaWd4X2dyaWRfYWN0aW9uc19kZWxldGVfbGFiZWw6ICdEZWxldGUnLFxuICAgIGlneF9ncmlkX2FjdGlvbnNfcGluX2xhYmVsOiAnUGluJyxcbiAgICBpZ3hfZ3JpZF9hY3Rpb25zX3VucGluX2xhYmVsOiAnVW5waW4nLFxuICAgIGlneF9ncmlkX2FjdGlvbnNfanVtcFVwX2xhYmVsOiAnSnVtcCB1cCcsXG4gICAgaWd4X2dyaWRfYWN0aW9uc19qdW1wRG93bl9sYWJlbDogJ0p1bXAgZG93bicsXG4gICAgaWd4X2dyaWRfcGl2b3RfZGF0ZV9kaW1lbnNpb25fdG90YWw6ICdBbGwgUGVyaW9kcycsXG4gICAgaWd4X2dyaWRfcGl2b3RfYWdncmVnYXRlX2NvdW50OiAnQ291bnQnLFxuICAgIGlneF9ncmlkX3Bpdm90X2FnZ3JlZ2F0ZV9taW46ICdNaW5pbXVtJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9hZ2dyZWdhdGVfbWF4OiAnTWF4aW11bScsXG4gICAgaWd4X2dyaWRfcGl2b3RfYWdncmVnYXRlX3N1bTogJ1N1bScsXG4gICAgaWd4X2dyaWRfcGl2b3RfYWdncmVnYXRlX2F2ZzogJ0F2ZXJhZ2UnLFxuICAgIGlneF9ncmlkX3Bpdm90X2FnZ3JlZ2F0ZV9kYXRlX2xhdGVzdDogJ0xhdGVzdCBEYXRlJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9hZ2dyZWdhdGVfZGF0ZV9lYXJsaWVzdDogJ0VhcmxpZXN0IERhdGUnLFxuICAgIGlneF9ncmlkX3Bpdm90X2FnZ3JlZ2F0ZV90aW1lX2xhdGVzdDogJ0xhdGVzdCBUaW1lJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9hZ2dyZWdhdGVfdGltZV9lYXJsaWVzdDogJ0VhcmxpZXN0IFRpbWUnLFxuICAgIGlneF9ncmlkX3Bpdm90X2VtcHR5X3Jvd19kcm9wX2FyZWE6ICdEcm9wIFJvdyBGaWVsZHMgaGVyZS4nLFxuICAgIGlneF9ncmlkX3Bpdm90X2VtcHR5X2NvbHVtbl9kcm9wX2FyZWE6ICdEcm9wIENvbHVtbiBGaWVsZHMgaGVyZS4nLFxuICAgIGlneF9ncmlkX3Bpdm90X2VtcHR5X2ZpbHRlcl9kcm9wX2FyZWE6ICdEcm9wIEZpbHRlciBGaWVsZHMgaGVyZS4nLFxuICAgIGlneF9ncmlkX3Bpdm90X2VtcHR5X3ZhbHVlX2Ryb3BfYXJlYTogJ0Ryb3AgVmFsdWUgRmllbGRzIGhlcmUuJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9yb3dfZHJvcF9jaGlwOiAnRHJvcCBoZXJlIHRvIHVzZSBhcyByb3cnLFxuICAgIGlneF9ncmlkX3Bpdm90X2NvbHVtbl9kcm9wX2NoaXA6ICdEcm9wIGhlcmUgdG8gdXNlIGFzIGNvbHVtbicsXG4gICAgaWd4X2dyaWRfcGl2b3RfZmlsdGVyX2Ryb3BfY2hpcDogJ0Ryb3AgaGVyZSB0byB1c2UgYXMgZmlsdGVyJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF92YWx1ZV9kcm9wX2NoaXA6ICdEcm9wIGhlcmUgdG8gdXNlIGFzIHZhbHVlJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9lbXB0eV9tZXNzYWdlOiAnUGl2b3QgZ3JpZCBoYXMgbm8gZGltZW5zaW9ucyBhbmQgdmFsdWVzLicsXG4gICAgaWd4X2dyaWRfcGl2b3Rfc2VsZWN0b3JfZmlsdGVyczogJ0ZpbHRlcnMnLFxuICAgIGlneF9ncmlkX3Bpdm90X3NlbGVjdG9yX3Jvd3M6ICdSb3dzJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9zZWxlY3Rvcl9jb2x1bW5zOiAnQ29sdW1ucycsXG4gICAgaWd4X2dyaWRfcGl2b3Rfc2VsZWN0b3JfdmFsdWVzOiAnVmFsdWVzJyxcbiAgICBpZ3hfZ3JpZF9waXZvdF9zZWxlY3Rvcl9wYW5lbF9lbXB0eTogJ0Ryb3AgSXRlbXMgSGVyZScsXG4gICAgaWd4X2dyaWRfcmVxdWlyZWRfdmFsaWRhdGlvbl9lcnJvcjogJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnLFxuICAgIGlneF9ncmlkX21pbl92YWxpZGF0aW9uX2Vycm9yOiAnQSB2YWx1ZSBvZiBhdCBsZWFzdCB7MH0gc2hvdWxkIGJlIGVudGVyZWQnLFxuICAgIGlneF9ncmlkX21heF92YWxpZGF0aW9uX2Vycm9yOiAnQSB2YWx1ZSBubyBtb3JlIHRoYW4gezB9IHNob3VsZCBiZSBlbnRlcmVkJyxcbiAgICBpZ3hfZ3JpZF9taW5fbGVuZ3RoX3ZhbGlkYXRpb25fZXJyb3I6ICdFbnRyeSBzaG91bGQgYmUgYXQgbGVhc3QgezB9IGNoYXJhY3RlcihzKSBsb25nJyxcbiAgICBpZ3hfZ3JpZF9tYXhfbGVuZ3RoX3ZhbGlkYXRpb25fZXJyb3I6ICdFbnRyeSBzaG91bGQgYmUgbm8gbW9yZSB0aGFuIHswfSBjaGFyYWN0ZXIocykgbG9uZycsXG4gICAgaWd4X2dyaWRfZW1haWxfdmFsaWRhdGlvbl9lcnJvcjogJ0EgdmFsaWQgZW1haWwgYWRkcmVzcyBzaG91bGQgYmUgZW50ZXJlZCcsXG4gICAgaWd4X2dyaWRfcGF0dGVybl92YWxpZGF0aW9uX2Vycm9yOiAnRW50cnkgZG9lcyBub3QgbWF0Y2ggdGhlIHJlcXVpcmVkIHBhdHRlcm4nLFxuICAgIGlneF9ncmlkX3Bpdm90X25vX2FnZ3JlZ2F0b3I6ICdObyB2YWxpZCBhZ2dyZWdhdG9yIGZvdW5kIGZvciB7MH0uIFBsZWFzZSBzZXQgZWl0aGVyIGEgdmFsaWQgYWdncmVnYXRvck5hbWUgb3IgYWdncmVnYXRvci4nXG59O1xuIl19
@@ -243,7 +243,8 @@ export class PlatformUtil {
243
243
  style.flexBasis = '';
244
244
  }
245
245
  range.selectNodeContents(node);
246
- const width = range.getBoundingClientRect().width;
246
+ const scale = node.getBoundingClientRect().width / node.offsetWidth;
247
+ const width = range.getBoundingClientRect().width / scale;
247
248
  if (!this.isFirefox) {
248
249
  // we need that hack - otherwise content won't be measured correctly in IE/Edge
249
250
  node.style.overflow = overflow;
@@ -694,4 +695,4 @@ export const formatDate = (value, format, locale, timezone) => {
694
695
  return _formatDate(value, format, locale, timezone);
695
696
  };
696
697
  export const formatCurrency = new CurrencyPipe(undefined).transform;
697
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvY29yZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsSUFBSSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFDSCxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFDeEYsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFDNUYsY0FBYyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUM3RixZQUFZLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQzFGLGVBQWUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUNyRixZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFDbkYsWUFBWSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFDbEYsY0FBYyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsWUFB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Q1gsVUFBVTtJQUNWLFdBQVc7SUFDWCxhQUFhO0lBQ2IsY0FBYztJQUNkLFNBQVM7SUFDVCxVQUFVO0lBQ1YsU0FBUztJQUNULFVBQVU7SUFDVixTQUFTO0lBQ1QsVUFBVTtJQUNWLFNBQVM7SUFDVCxVQUFVO0lBQ1YsYUFBYTtJQUNiLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLFVBQVU7SUFDVixXQUFXO0lBQ1gsYUFBYTtJQUNiLGNBQWM7SUFDZCxTQUFTO0lBQ1QsVUFBVTtJQUNWLFNBQVM7SUFDVCxVQUFVO0lBQ1YsU0FBUztJQUNULFVBQVU7SUFDVixTQUFTO0lBQ1QsVUFBVTtJQUNWLGFBQWE7SUFDYixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixpQkFBaUI7Q0FDcEIsQ0FBQztBQUdGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQTZCLEVBQUUsTUFBYyxFQUFFLE1BQWMsRUFBRSxRQUFpQixFQUFVLEVBQUU7SUFDbkgsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtRQUN2RCxPQUFPLEVBQUUsQ0FBQztLQUNiO0lBQ0QsT0FBTyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDeEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDdXJyZW5jeVBpcGUsIGZvcm1hdERhdGUgYXMgX2Zvcm1hdERhdGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lcmdlV2l0aCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGJsaW5rLCBmYWRlSW4sIGZhZGVPdXQsIGZsaXBCb3R0b20sIGZsaXBIb3JCY2ssIGZsaXBIb3JGd2QsIGZsaXBMZWZ0LCBmbGlwUmlnaHQsIGZsaXBUb3AsXG4gICAgZmxpcFZlckJjaywgZmxpcFZlckZ3ZCwgZ3Jvd1ZlckluLCBncm93VmVyT3V0LCBoZWFydGJlYXQsIHB1bHNhdGVCY2ssIHB1bHNhdGVGd2QsIHJvdGF0ZUluQmwsXG4gICAgcm90YXRlSW5Cb3R0b20sIHJvdGF0ZUluQnIsIHJvdGF0ZUluQ2VudGVyLCByb3RhdGVJbkRpYWdvbmFsMSwgcm90YXRlSW5EaWFnb25hbDIsIHJvdGF0ZUluSG9yLFxuICAgIHJvdGF0ZUluTGVmdCwgcm90YXRlSW5SaWdodCwgcm90YXRlSW5UbCwgcm90YXRlSW5Ub3AsIHJvdGF0ZUluVHIsIHJvdGF0ZUluVmVyLCByb3RhdGVPdXRCbCxcbiAgICByb3RhdGVPdXRCb3R0b20sIHJvdGF0ZU91dEJyLCByb3RhdGVPdXRDZW50ZXIsIHJvdGF0ZU91dERpYWdvbmFsMSwgcm90YXRlT3V0RGlhZ29uYWwyLFxuICAgIHJvdGF0ZU91dEhvciwgcm90YXRlT3V0TGVmdCwgcm90YXRlT3V0UmlnaHQsIHJvdGF0ZU91dFRsLCByb3RhdGVPdXRUb3AsIHJvdGF0ZU91dFRyLFxuICAgIHJvdGF0ZU91dFZlciwgc2NhbGVJbkJsLCBzY2FsZUluQm90dG9tLCBzY2FsZUluQnIsIHNjYWxlSW5DZW50ZXIsIHNjYWxlSW5Ib3JDZW50ZXIsXG4gICAgc2NhbGVJbkhvckxlZnQsIHNjYWxlSW5Ib3JSaWdodCwgc2NhbGVJbkxlZnQsIHNjYWxlSW5SaWdodCwgc2NhbGVJblRsLCBzY2FsZUluVG9wLCBzY2FsZUluVHIsXG4gICAgc2NhbGVJblZlckJvdHRvbSwgc2NhbGVJblZlckNlbnRlciwgc2NhbGVJblZlclRvcCwgc2NhbGVPdXRCbCwgc2NhbGVPdXRCb3R0b20sIHNjYWxlT3V0QnIsXG4gICAgc2NhbGVPdXRDZW50ZXIsIHNjYWxlT3V0SG9yQ2VudGVyLCBzY2FsZU91dEhvckxlZnQsIHNjYWxlT3V0SG9yUmlnaHQsIHNjYWxlT3V0TGVmdCxcbiAgICBzY2FsZU91dFJpZ2h0LCBzY2FsZU91dFRsLCBzY2FsZU91dFRvcCwgc2NhbGVPdXRUciwgc2NhbGVPdXRWZXJCb3R0b20sIHNjYWxlT3V0VmVyQ2VudGVyLFxuICAgIHNjYWxlT3V0VmVyVG9wLCBzaGFrZUJsLCBzaGFrZUJvdHRvbSwgc2hha2VCciwgc2hha2VDZW50ZXIsIHNoYWtlSG9yLCBzaGFrZUxlZnQsIHNoYWtlUmlnaHQsXG4gICAgc2hha2VUbCwgc2hha2VUb3AsIHNoYWtlVHIsIHNoYWtlVmVyLCBzbGlkZUluQmwsIHNsaWRlSW5Cb3R0b20sIHNsaWRlSW5Cciwgc2xpZGVJbkxlZnQsXG4gICAgc2xpZGVJblJpZ2h0LCBzbGlkZUluVGwsIHNsaWRlSW5Ub3AsIHNsaWRlSW5Uciwgc2xpZGVPdXRCbCwgc2xpZGVPdXRCb3R0b20sIHNsaWRlT3V0QnIsXG4gICAgc2xpZGVPdXRMZWZ0LCBzbGlkZU91dFJpZ2h0LCBzbGlkZU91dFRsLCBzbGlkZU91dFRvcCwgc2xpZGVPdXRUciwgc3dpbmdJbkJvdHRvbUJjayxcbiAgICBzd2luZ0luQm90dG9tRndkLCBzd2luZ0luTGVmdEJjaywgc3dpbmdJbkxlZnRGd2QsIHN3aW5nSW5SaWdodEJjaywgc3dpbmdJblJpZ2h0RndkLFxuICAgIHN3aW5nSW5Ub3BCY2ssIHN3aW5nSW5Ub3BGd2QsIHN3aW5nT3V0Qm90dG9tQmNrLCBzd2luZ091dEJvdHRvbUZ3ZCwgc3dpbmdPdXRMZWZ0QmNrLFxuICAgIHN3aW5nT3V0TGVmdHRGd2QsIHN3aW5nT3V0UmlnaHRCY2ssIHN3aW5nT3V0UmlnaHRGd2QsIHN3aW5nT3V0VG9wQmNrLCBzd2luZ091dFRvcEZ3ZFxufSBmcm9tICcuLi9hbmltYXRpb25zL21haW4nO1xuaW1wb3J0IHsgc2V0SW1tZWRpYXRlIH0gZnJvbSAnLi9zZXRJbW1lZGlhdGUnO1xuaW1wb3J0IHsgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgY29uc3Qgc2hvd01lc3NhZ2UgPSAobWVzc2FnZTogc3RyaW5nLCBpc01lc3NhZ2VTaG93bjogYm9vbGVhbik6IGJvb2xlYW4gPT4ge1xuICAgIGlmICghaXNNZXNzYWdlU2hvd24gJiYgaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xufTtcblxuZXhwb3J0IGNvbnN0IG1rZW51bSA9IDxUIGV4dGVuZHMgeyBbaW5kZXg6IHN0cmluZ106IFUgfSwgVSBleHRlbmRzIHN0cmluZz4oeDogVCkgPT4geDtcblxuLyoqXG4gKlxuICogQGhpZGRlbiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFJlc2l6ZU9ic2VydmVyID0gKCkgPT4gd2luZG93LlJlc2l6ZU9ic2VydmVyO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNvbnN0IGNsb25lQXJyYXkgPSAoYXJyYXk6IGFueVtdLCBkZWVwPzogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IGFyciA9IFtdO1xuICAgIGlmICghYXJyYXkpIHtcbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG4gICAgbGV0IGkgPSBhcnJheS5sZW5ndGg7XG4gICAgd2hpbGUgKGktLSkge1xuICAgICAgICBhcnJbaV0gPSBkZWVwID8gY2xvbmVWYWx1ZShhcnJheVtpXSkgOiBhcnJheVtpXTtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbn07XG5cbi8qKlxuICogRG9lc24ndCBjbG9uZSBsZWFmIGl0ZW1zXG4gKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgY29uc3QgY2xvbmVIaWVyYXJjaGljYWxBcnJheSA9IChhcnJheTogYW55W10sIGNoaWxkRGF0YUtleTogYW55KTogYW55W10gPT4ge1xuICAgIGNvbnN0IHJlc3VsdDogYW55W10gPSBbXTtcbiAgICBpZiAoIWFycmF5KSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGFycmF5KSB7XG4gICAgICAgIGNvbnN0IGNsb25lZEl0ZW0gPSBjbG9uZVZhbHVlKGl0ZW0pO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtW2NoaWxkRGF0YUtleV0pKSB7XG4gICAgICAgICAgICBjbG9uZWRJdGVtW2NoaWxkRGF0YUtleV0gPSBjbG9uZUhpZXJhcmNoaWNhbEFycmF5KGNsb25lZEl0ZW1bY2hpbGREYXRhS2V5XSwgY2hpbGREYXRhS2V5KTtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQucHVzaChjbG9uZWRJdGVtKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBvYmplY3Qgd2l0aCBwcm90b3R5cGUgZnJvbSBwcm92aWRlZCBzb3VyY2UgYW5kIGNvcGllc1xuICogYWxsIHByb3BlcnRpZXMgZGVzY3JpcHRvcnMgZnJvbSBwcm92aWRlZCBzb3VyY2VcbiAqIEBwYXJhbSBvYmogU291cmNlIHRvIGNvcHkgcHJvdG90eXBlIGFuZCBkZXNjcmlwdG9ycyBmcm9tXG4gKiBAcmV0dXJucyBOZXcgb2JqZWN0IHdpdGggY2xvbmVkIHByb3RvdHlwZSBhbmQgcHJvcGVydHkgZGVzY3JpcHRvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IGNvcHlEZXNjcmlwdG9ycyA9IChvYmopID0+IHtcbiAgICBpZiAob2JqKSB7XG4gICAgICAgIHJldHVybiBPYmplY3QuY3JlYXRlKFxuICAgICAgICAgICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaiksXG4gICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhvYmopXG4gICAgICAgICAgICApO1xuICAgIH1cbn1cblxuXG4vKipcbiAqIERlZXAgY2xvbmVzIGFsbCBmaXJzdCBsZXZlbCBrZXlzIG9mIE9iajIgYW5kIG1lcmdlcyB0aGVtIHRvIE9iajFcbiAqXG4gKiBAcGFyYW0gb2JqMSBPYmplY3QgdG8gbWVyZ2UgaW50b1xuICogQHBhcmFtIG9iajIgT2JqZWN0IHRvIG1lcmdlIGZyb21cbiAqIEByZXR1cm5zIE9iajEgd2l0aCBtZXJnZWQgY2xvbmVkIGtleXMgZnJvbSBPYmoyXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjb25zdCBtZXJnZU9iamVjdHMgPSAob2JqMTogYW55LCBvYmoyOiBhbnkpOiBhbnkgPT4gbWVyZ2VXaXRoKG9iajEsIG9iajIsIChvYmpWYWx1ZSwgc3JjVmFsdWUpID0+IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShzcmNWYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIG9ialZhbHVlID0gc3JjVmFsdWU7XG4gICAgfVxufSk7XG5cbi8qKlxuICogQ3JlYXRlcyBkZWVwIGNsb25lIG9mIHByb3ZpZGVkIHZhbHVlLlxuICogU3VwcG9ydHMgcHJpbWl0aXZlIHZhbHVlcywgZGF0ZXMgYW5kIG9iamVjdHMuXG4gKiBJZiBwYXNzZWQgdmFsdWUgaXMgYXJyYXkgcmV0dXJucyBzaGFsbG93IGNvcHkgb2YgdGhlIGFycmF5LlxuICpcbiAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byBjbG9uZVxuICogQHJldHVybnMgRGVlcCBjb3B5IG9mIHByb3ZpZGVkIHZhbHVlXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjb25zdCBjbG9uZVZhbHVlID0gKHZhbHVlOiBhbnkpOiBhbnkgPT4ge1xuICAgIGlmIChpc0RhdGUodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZS5nZXRUaW1lKCkpO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIFsuLi52YWx1ZV07XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTWFwIHx8IHZhbHVlIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAoaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHZhbHVlKSkge1xuICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBjbG9uZVZhbHVlKHZhbHVlW2tleV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbn07XG5cbi8qKlxuICogUGFyc2UgcHJvdmlkZWQgaW5wdXQgdG8gRGF0ZS5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgaW5wdXQgdG8gcGFyc2VcbiAqIEByZXR1cm5zIERhdGUgaWYgcGFyc2Ugc3VjY2VlZCBvciBudWxsXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZURhdGUgPSAodmFsdWU6IGFueSk6IERhdGUgfCBudWxsID0+IHtcbiAgICAvLyBpZiB2YWx1ZSBpcyBJbnZhbGlkIERhdGUgcmV0dXJuIG51bGxcbiAgICBpZiAoaXNEYXRlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gIWlzTmFOKHZhbHVlLmdldFRpbWUoKSkgPyB2YWx1ZSA6IG51bGw7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZSA/IG5ldyBEYXRlKHZhbHVlKSA6IG51bGw7XG59O1xuXG4vKipcbiAqIFJldHVybnMgYW4gYXJyYXkgd2l0aCB1bmlxdWUgZGF0ZXMgb25seS5cbiAqXG4gKiBAcGFyYW0gY29sdW1uVmFsdWVzIGNvbGxlY3Rpb24gb2YgZGF0ZSB2YWx1ZXMgKG1pZ2h0IGJlIG51bWJlcnMgb3IgSVNPIDg2MDEgc3RyaW5ncylcbiAqIEByZXR1cm5zIGNvbGxlY3Rpb24gb2YgdW5pcXVlIGRhdGVzLlxuICogQGhpZGRlblxuICovXG5leHBvcnQgY29uc3QgdW5pcXVlRGF0ZXMgPSAoY29sdW1uVmFsdWVzOiBhbnlbXSkgPT4gY29sdW1uVmFsdWVzLnJlZHVjZSgoYSwgYykgPT4ge1xuICAgIGlmICghYS5jYWNoZVtjLmxhYmVsXSkge1xuICAgICAgICBhLnJlc3VsdC5wdXNoKGMpO1xuICAgIH1cbiAgICBhLmNhY2hlW2MubGFiZWxdID0gdHJ1ZTtcbiAgICByZXR1cm4gYTtcbn0sIHsgcmVzdWx0OiBbXSwgY2FjaGU6IHt9IH0pLnJlc3VsdDtcblxuLyoqXG4gKiBDaGVja3MgaWYgcHJvdmlkZWQgdmFyaWFibGUgaXMgT2JqZWN0XG4gKlxuICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB0cnVlIGlmIHByb3ZpZGVkIHZhcmlhYmxlIGlzIE9iamVjdFxuICogQGhpZGRlblxuICovXG5leHBvcnQgY29uc3QgaXNPYmplY3QgPSAodmFsdWU6IGFueSk6IGJvb2xlYW4gPT4gISEodmFsdWUgJiYgdmFsdWUudG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgT2JqZWN0XScpO1xuXG4vKipcbiAqIENoZWNrcyBpZiBwcm92aWRlZCB2YXJpYWJsZSBpcyBEYXRlXG4gKlxuICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB0cnVlIGlmIHByb3ZpZGVkIHZhcmlhYmxlIGlzIERhdGVcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzRGF0ZSA9ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgRGF0ZSA9PiB2YWx1ZSBpbnN0YW5jZW9mIERhdGU7XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSB0d28gcGFzc2VkIGFyZ3VtZW50cyBhcmUgZXF1YWxcbiAqIEN1cnJlbnRseSBzdXBwb3J0cyBkYXRlIG9iamVjdHNcbiAqXG4gKiBAcGFyYW0gb2JqMVxuICogQHBhcmFtIG9iajJcbiAqIEByZXR1cm5zOiBgYm9vbGVhbmBcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzRXF1YWwgPSAob2JqMSwgb2JqMik6IGJvb2xlYW4gPT4ge1xuICAgIGlmIChpc0RhdGUob2JqMSkgJiYgaXNEYXRlKG9iajIpKSB7XG4gICAgICAgIHJldHVybiBvYmoxLmdldFRpbWUoKSA9PT0gb2JqMi5nZXRUaW1lKCk7XG4gICAgfVxuICAgIHJldHVybiBvYmoxID09PSBvYmoyO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgcHJvdmlkZWQgdmFyaWFibGUgaXMgdGhlIHZhbHVlIE5hTlxuICpcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBjaGVja1xuICogQHJldHVybnMgdHJ1ZSBpZiBwcm92aWRlZCB2YXJpYWJsZSBpcyBOYU5cbiAqIEBoaWRkZW5cbiAqL1xuIGV4cG9ydCBjb25zdCBpc05hTnZhbHVlID0gKHZhbHVlOiBhbnkpOiBib29sZWFuID0+IGlzTmFOKHZhbHVlKSAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZyc7XG5cbi8qKlxuICogVXRpbGl0eSBzZXJ2aWNlIHRha2luZyBjYXJlIG9mIHZhcmlvdXMgdXRpbGl0eSBmdW5jdGlvbnMgc3VjaCBhc1xuICogZGV0ZWN0aW5nIGJyb3dzZXIgZmVhdHVyZXMsIGdlbmVyYWwgY3Jvc3MgYnJvd3NlciBET00gbWFuaXB1bGF0aW9uLCBldGMuXG4gKlxuICogQGhpZGRlbiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybVV0aWwge1xuICAgIHB1YmxpYyBpc0Jyb3dzZXI6IGJvb2xlYW4gPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xuICAgIHB1YmxpYyBpc0lPUyA9IHRoaXMuaXNCcm93c2VyICYmIC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmICEoJ01TU3RyZWFtJyBpbiB3aW5kb3cpO1xuICAgIHB1YmxpYyBpc0ZpcmVmb3ggPSB0aGlzLmlzQnJvd3NlciAmJiAvRmlyZWZveFtcXC9cXHNdKFxcZCtcXC5cXGQrKS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcbiAgICBwdWJsaWMgaXNFZGdlID0gdGhpcy5pc0Jyb3dzZXIgJiYgL0VkZ2VbXFwvXFxzXShcXGQrXFwuXFxkKykvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG4gICAgcHVibGljIGlzQ2hyb21pdW0gPSB0aGlzLmlzQnJvd3NlciAmJiAoL0Nocm9tfGU/aXVtL2cudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSB8fFxuICAgICAgICAvR29vZ2xlIEluYy9nLnRlc3QobmF2aWdhdG9yLnZlbmRvcikpICYmICEvRWRnZS9nLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbiAgICBwdWJsaWMgS0VZTUFQID0gbWtlbnVtKHtcbiAgICAgICAgRU5URVI6ICdFbnRlcicsXG4gICAgICAgIFNQQUNFOiAnICcsXG4gICAgICAgIEVTQ0FQRTogJ0VzY2FwZScsXG4gICAgICAgIEFSUk9XX0RPV046ICdBcnJvd0Rvd24nLFxuICAgICAgICBBUlJPV19VUDogJ0Fycm93VXAnLFxuICAgICAgICBBUlJPV19MRUZUOiAnQXJyb3dMZWZ0JyxcbiAgICAgICAgQVJST1dfUklHSFQ6ICdBcnJvd1JpZ2h0JyxcbiAgICAgICAgRU5EOiAnRW5kJyxcbiAgICAgICAgSE9NRTogJ0hvbWUnLFxuICAgICAgICBQQUdFX0RPV046ICdQYWdlRG93bicsXG4gICAgICAgIFBBR0VfVVA6ICdQYWdlVXAnLFxuICAgICAgICBGMjogJ0YyJyxcbiAgICAgICAgVEFCOiAnVGFiJyxcbiAgICAgICAgU0VNSUNPTE9OOiAnOycsXG4gICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50L2tleS9LZXlfVmFsdWVzI2VkaXRpbmdfa2V5c1xuICAgICAgICBERUxFVEU6ICdEZWxldGUnLFxuICAgICAgICBCQUNLU1BBQ0U6ICdCYWNrc3BhY2UnLFxuICAgICAgICBDT05UUk9MOiAnQ29udHJvbCcsXG4gICAgICAgIFg6ICd4JyxcbiAgICAgICAgWTogJ3knLFxuICAgICAgICBaOiAneidcbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55KSB7IH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICogUmV0dXJucyB0aGUgYWN0dWFsIHNpemUgb2YgdGhlIG5vZGUgY29udGVudCwgdXNpbmcgUmFuZ2VcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgICAgKiBsZXQgY29sdW1uID0gdGhpcy5ncmlkLmNvbHVtbkxpc3QuZmlsdGVyKGMgPT4gYy5maWVsZCA9PT0gJ0lEJylbMF07XG4gICAgICpcbiAgICAgKiBsZXQgc2l6ZSA9IGdldE5vZGVTaXplVmlhUmFuZ2UocmFuZ2UsIGNvbHVtbi5jZWxsc1swXS5uYXRpdmVFbGVtZW50KTtcbiAgICAgKlxuICAgICAqIEByZW1hcmtzXG4gICAgICogVGhlIGxhc3QgcGFyYW1ldGVyIGlzIHVzZWZ1bCB3aGVuIHRoZSBzaXplIG9mIHRoZSBlbGVtZW50IHRvIG1lYXN1cmUgaXMgbW9kaWZpZWQgYnkgYVxuICAgICAqIHBhcmVudCBlbGVtZW50IHRoYXQgaGFzIGV4cGxpY2l0IHNpemUuIEluIHN1Y2ggY2FzZXMgdGhlIGNhbGN1bGF0ZWQgc2l6ZSBpcyBuZXZlciBsb3dlclxuICAgICAqIGFuZCB0aGUgZnVuY3Rpb24gbWF5IGluc3RlYWQgcmVtb3ZlIHRoZSBwYXJlbnQgc2l6ZSB3aGlsZSBtZWFzdXJpbmcgdG8gZ2V0IHRoZSBjb3JyZWN0IHZhbHVlLlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROb2RlU2l6ZVZpYVJhbmdlKHJhbmdlOiBSYW5nZSwgbm9kZTogSFRNTEVsZW1lbnQsIHNpemVIb2xkaW5nTm9kZT86IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGxldCBvdmVyZmxvdyA9IG51bGw7XG4gICAgICAgIGxldCBub2RlU3R5bGVzO1xuXG4gICAgICAgIGlmICghdGhpcy5pc0ZpcmVmb3gpIHtcbiAgICAgICAgICAgIG92ZXJmbG93ID0gbm9kZS5zdHlsZS5vdmVyZmxvdztcbiAgICAgICAgICAgIC8vIHdlIG5lZWQgdGhhdCBoYWNrIC0gb3RoZXJ3aXNlIGNvbnRlbnQgd29uJ3QgYmUgbWVhc3VyZWQgY29ycmVjdGx5IGluIElFL0VkZ2VcbiAgICAgICAgICAgIG5vZGUuc3R5bGUub3ZlcmZsb3cgPSAndmlzaWJsZSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2l6ZUhvbGRpbmdOb2RlKSB7XG4gICAgICAgICAgICBjb25zdCBzdHlsZSA9IHNpemVIb2xkaW5nTm9kZS5zdHlsZTtcbiAgICAgICAgICAgIG5vZGVTdHlsZXMgPSBbc3R5bGUud2lkdGgsIHN0eWxlLm1pbldpZHRoLCBzdHlsZS5mbGV4QmFzaXNdO1xuICAgICAgICAgICAgc3R5bGUud2lkdGggPSAnJztcbiAgICAgICAgICAgIHN0eWxlLm1pbldpZHRoID0gJyc7XG4gICAgICAgICAgICBzdHlsZS5mbGV4QmFzaXMgPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhub2RlKTtcbiAgICAgICAgY29uc3Qgd2lkdGggPSByYW5nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcblxuICAgICAgICBpZiAoIXRoaXMuaXNGaXJlZm94KSB7XG4gICAgICAgICAgICAvLyB3ZSBuZWVkIHRoYXQgaGFjayAtIG90aGVyd2lzZSBjb250ZW50IHdvbid0IGJlIG1lYXN1cmVkIGNvcnJlY3RseSBpbiBJRS9FZGdlXG4gICAgICAgICAgICBub2RlLnN0eWxlLm92ZXJmbG93ID0gb3ZlcmZsb3c7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2l6ZUhvbGRpbmdOb2RlKSB7XG4gICAgICAgICAgICBzaXplSG9sZGluZ05vZGUuc3R5bGUud2lkdGggPSBub2RlU3R5bGVzWzBdO1xuICAgICAgICAgICAgc2l6ZUhvbGRpbmdOb2RlLnN0eWxlLm1pbldpZHRoID0gbm9kZVN0eWxlc1sxXTtcbiAgICAgICAgICAgIHNpemVIb2xkaW5nTm9kZS5zdHlsZS5mbGV4QmFzaXMgPSBub2RlU3R5bGVzWzJdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHdpZHRoO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBjdXJyZW50IGtleWJvYXJkIGV2ZW50IGlzIGFuIGFjdGl2YXRpb24ga2V5IChFbnRlci9TcGFjZSBiYXIpXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgUGxhdGZvcm1VdGlsXG4gICAgICovXG4gICAgcHVibGljIGlzQWN0aXZhdGlvbktleShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICByZXR1cm4gZXZlbnQua2V5ID09PSB0aGlzLktFWU1BUC5FTlRFUiB8fCBldmVudC5rZXkgPT09IHRoaXMuS0VZTUFQLlNQQUNFO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgY3VycmVudCBrZXlib2FyZCBldmVudCBpcyBhIGNvbWJpbmF0aW9uIHRoYXQgY2xvc2VzIHRoZSBmaWx0ZXJpbmcgVUkgb2YgdGhlIGdyaWQuIChFc2NhcGUvQ3RybCtTaGlmdCtMKVxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIEBwYXJhbSBldmVudFxuICAgICAqIEBtZW1iZXJvZiBQbGF0Zm9ybVV0aWxcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNGaWx0ZXJpbmdLZXlDb21ibyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICByZXR1cm4gZXZlbnQua2V5ID09PSB0aGlzLktFWU1BUC5FU0NBUEUgfHwgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQuc2hpZnRLZXkgJiYgZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkgPT09ICdsJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNMZWZ0Q2xpY2soZXZlbnQ6IFBvaW50ZXJFdmVudCB8IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIGV2ZW50LmJ1dHRvbiA9PT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBpc05hdmlnYXRpb25LZXkoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuS0VZTUFQLkhPTUUsIHRoaXMuS0VZTUFQLkVORCwgdGhpcy5LRVlNQVAuU1BBQ0UsXG4gICAgICAgICAgICB0aGlzLktFWU1BUC5BUlJPV19ET1dOLCB0aGlzLktFWU1BUC5BUlJPV19MRUZULCB0aGlzLktFWU1BUC5BUlJPV19SSUdIVCwgdGhpcy5LRVlNQVAuQVJST1dfVVBcbiAgICAgICAgXS5pbmNsdWRlcyhrZXkpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjb25zdCBmbGF0dGVuID0gKGFycjogYW55W10pID0+IHtcbiAgICBsZXQgcmVzdWx0ID0gW107XG5cbiAgICBhcnIuZm9yRWFjaChlbCA9PiB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGVsKTtcbiAgICAgICAgaWYgKGVsLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IEFycmF5LmlzQXJyYXkoZWwuY2hpbGRyZW4pID8gZWwuY2hpbGRyZW4gOiBlbC5jaGlsZHJlbi50b0FycmF5KCk7XG4gICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGZsYXR0ZW4oY2hpbGRyZW4pKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbmNlbGFibGVFdmVudEFyZ3Mge1xuICAgIC8qKlxuICAgICAqIFByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGNhbmNlbCB0aGUgZXZlbnQuXG4gICAgICovXG4gICAgY2FuY2VsOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKipcbiAgICAgKiBQcm92aWRlcyByZWZlcmVuY2UgdG8gdGhlIG93bmVyIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBvd25lcj86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncyBleHRlbmRzIENhbmNlbGFibGVFdmVudEFyZ3Mge1xuICAgIC8qKiBCcm93c2VyIGV2ZW50ICovXG4gICAgZXZlbnQ/OiBFdmVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQmFzZUNhbmNlbGFibGVCcm93c2VyRXZlbnRBcmdzIGV4dGVuZHMgQ2FuY2VsYWJsZUJyb3dzZXJFdmVudEFyZ3MsIElCYXNlRXZlbnRBcmdzIHsgfVxuXG5leHBvcnQgaW50ZXJmYWNlIElCYXNlQ2FuY2VsYWJsZUV2ZW50QXJncyBleHRlbmRzIENhbmNlbGFibGVFdmVudEFyZ3MsIElCYXNlRXZlbnRBcmdzIHsgfVxuXG5leHBvcnQgY29uc3QgSE9SSVpPTlRBTF9OQVZfS0VZUyA9IG5ldyBTZXQoWydhcnJvd2xlZnQnLCAnbGVmdCcsICdhcnJvd3JpZ2h0JywgJ3JpZ2h0JywgJ2hvbWUnLCAnZW5kJ10pO1xuXG5leHBvcnQgY29uc3QgTkFWSUdBVElPTl9LRVlTID0gbmV3IFNldChbXG4gICAgJ2Rvd24nLFxuICAgICd1cCcsXG4gICAgJ2xlZnQnLFxuICAgICdyaWdodCcsXG4gICAgJ2Fycm93ZG93bicsXG4gICAgJ2Fycm93dXAnLFxuICAgICdhcnJvd2xlZnQnLFxuICAgICdhcnJvd3JpZ2h0JyxcbiAgICAnaG9tZScsXG4gICAgJ2VuZCcsXG4gICAgJ3NwYWNlJyxcbiAgICAnc3BhY2ViYXInLFxuICAgICcgJ1xuXSk7XG5leHBvcnQgY29uc3QgQUNDT1JESU9OX05BVklHQVRJT05fS0VZUyA9IG5ldyBTZXQoJ3VwIGRvd24gYXJyb3d1cCBhcnJvd2Rvd24gaG9tZSBlbmQnLnNwbGl0KCcgJykpO1xuZXhwb3J0IGNvbnN0IFJPV19FWFBBTkRfS0VZUyA9IG5ldyBTZXQoJ3JpZ2h0IGRvd24gYXJyb3dyaWdodCBhcnJvd2Rvd24nLnNwbGl0KCcgJykpO1xuZXhwb3J0IGNvbnN0IFJPV19DT0xMQVBTRV9LRVlTID0gbmV3IFNldCgnbGVmdCB1cCBhcnJvd2xlZnQgYXJyb3d1cCcuc3BsaXQoJyAnKSk7XG5leHBvcnQgY29uc3QgUk9XX0FERF9LRVlTID0gbmV3IFNldChbJysnLCAnYWRkJywgJ+KJoCcsICfCsScsICc9J10pO1xuZXhwb3J0IGNvbnN0IFNVUFBPUlRFRF9LRVlTID0gbmV3IFNldChbLi4uQXJyYXkuZnJvbShOQVZJR0FUSU9OX0tFWVMpLFxuLi4uQXJyYXkuZnJvbShST1dfQUREX0tFWVMpLCAnZW50ZXInLCAnZjInLCAnZXNjYXBlJywgJ2VzYycsICdwYWdlZG93bicsICdwYWdldXAnXSk7XG5leHBvcnQgY29uc3QgSEVBREVSX0tFWVMgPSBuZXcgU2V0KFsuLi5BcnJheS5mcm9tKE5BVklHQVRJT05fS0VZUyksICdlc2NhcGUnLCAnZXNjJywgJ2wnLFxuICAgIC8qKiBUaGlzIHN5bWJvbCBjb3JyZXNwb25kcyB0byB0aGUgQWx0ICsgTCBjb21iaW5hdGlvbiB1bmRlciBNQUMuICovXG4gICAgJ8KsJ10pO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqIEBpbnRlcm5hbFxuICpcbiAqIENyZWF0ZXMgYSBuZXcgUmVzaXplT2JzZXJ2ZXIgb24gYHRhcmdldGAgYW5kIHJldHVybnMgaXQgYXMgYW4gT2JzZXJ2YWJsZS5cbiAqIFJ1biB0aGUgcmVzaXplT2JzZXJ2YWJsZSBvdXRzaWRlIGFuZ3VsYXIgem9uZSwgYmVjYXVzZSBpdCBwYXRjaGVzIHRoZSBNdXRhdGlvbk9ic2VydmVyIHdoaWNoIGNhdXNlcyBhbiBpbmZpbml0ZSBsb29wLlxuICogUmVsYXRlZCBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMzE3MTJcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc2l6ZU9ic2VydmFibGUgPSAodGFyZ2V0OiBIVE1MRWxlbWVudCk6IE9ic2VydmFibGU8UmVzaXplT2JzZXJ2ZXJFbnRyeVtdPiA9PiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyAoZ2V0UmVzaXplT2JzZXJ2ZXIoKSkoKGVudHJpZXM6IFJlc2l6ZU9ic2VydmVyRW50cnlbXSkgPT4ge1xuICAgICAgICBvYnNlcnZlci5uZXh0KGVudHJpZXMpO1xuICAgIH0pO1xuICAgIGluc3RhbmNlLm9ic2VydmUodGFyZ2V0KTtcbiAgICBjb25zdCB1bnN1YnNjcmliZSA9ICgpID0+IGluc3RhbmNlLmRpc2Nvbm5lY3QoKTtcbiAgICByZXR1cm4gdW5zdWJzY3JpYmU7XG59KTtcblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqXG4gKiBDb21wYXJlcyB0d28gbWFwcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbXBhcmVNYXBzID0gKG1hcDE6IE1hcDxhbnksIGFueT4sIG1hcDI6IE1hcDxhbnksIGFueT4pOiBib29sZWFuID0+IHtcbiAgICBpZiAoIW1hcDIpIHtcbiAgICAgICAgcmV0dXJuICFtYXAxID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cbiAgICBpZiAobWFwMS5zaXplICE9PSBtYXAyLnNpemUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBsZXQgbWF0Y2ggPSB0cnVlO1xuICAgIGNvbnN0IGtleXMgPSBBcnJheS5mcm9tKG1hcDIua2V5cygpKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgIGlmIChtYXAxLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICBtYXRjaCA9IG1hcDEuZ2V0KGtleSkgPT09IG1hcDIuZ2V0KGtleSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtYXRjaCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXRjaDtcbn07XG5cbi8qKlxuICpcbiAqIEdpdmVuIGEgcHJvcGVydHkgYWNjZXNzIHBhdGggaW4gdGhlIGZvcm1hdCBgeC55LnpgIHJlc29sdmVzIGFuZCByZXR1cm5zXG4gKiB0aGUgdmFsdWUgb2YgdGhlIGB6YCBwcm9wZXJ0eSBpbiB0aGUgcGFzc2VkIG9iamVjdC5cbiAqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVOZXN0ZWRQYXRoID0gKG9iajogYW55LCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBwYXJ0cyA9IHBhdGg/LnNwbGl0KCcuJykgPz8gW107XG4gICAgbGV0IGN1cnJlbnQgPSBvYmpbcGFydHMuc2hpZnQoKV07XG5cbiAgICBwYXJ0cy5mb3JFYWNoKHByb3AgPT4ge1xuICAgICAgICBpZiAoY3VycmVudCkge1xuICAgICAgICAgICAgY3VycmVudCA9IGN1cnJlbnRbcHJvcF07XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBjdXJyZW50O1xufTtcblxuLyoqXG4gKlxuICogR2l2ZW4gYSBwcm9wZXJ0eSBhY2Nlc3MgcGF0aCBpbiB0aGUgZm9ybWF0IGB4LnkuemAgYW5kIGEgdmFsdWVcbiAqIHRoaXMgZnVuY3Rpb25zIGJ1aWxkcyBhbmQgcmV0dXJucyBhbiBvYmplY3QgZm9sbG93aW5nIHRoZSBhY2Nlc3MgcGF0aC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc29sZS5sb2coJ3gueS56LicsIDQyKTtcbiAqID4+IHsgeDogeyB5OiB7IHo6IDQyIH0gfSB9XG4gKiBgYGBcbiAqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJldmVyc2VNYXBwZXIgPSAocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KSA9PiB7XG4gICAgY29uc3Qgb2JqID0ge307XG4gICAgY29uc3QgcGFydHMgPSBwYXRoPy5zcGxpdCgnLicpID8/IFtdO1xuXG4gICAgbGV0IF9wcm9wID0gcGFydHMuc2hpZnQoKTtcbiAgICBsZXQgbWFwcGluZzogYW55O1xuXG4gICAgLy8gSW5pdGlhbCBiaW5kaW5nIGZvciBmaXJzdCBsZXZlbCBiaW5kaW5nc1xuICAgIG9ialtfcHJvcF0gPSB2YWx1ZTtcbiAgICBtYXBwaW5nID0gb2JqO1xuXG4gICAgcGFydHMuZm9yRWFjaChwcm9wID0+IHtcbiAgICAgICAgLy8gU3RhcnQgYnVpbGRpbmcgdGhlIGhpZXJhcmNoeVxuICAgICAgICBtYXBwaW5nW19wcm9wXSA9IHt9O1xuICAgICAgICAvLyBHbyBkb3duIGEgbGV2ZWxcbiAgICAgICAgbWFwcGluZyA9IG1hcHBpbmdbX3Byb3BdO1xuICAgICAgICAvLyBCaW5kIHRoZSB2YWx1ZSBhbmQgbW92ZSB0aGUga2V5XG4gICAgICAgIG1hcHBpbmdbcHJvcF0gPSB2YWx1ZTtcbiAgICAgICAgX3Byb3AgPSBwcm9wO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG9iajtcbn07XG5cbmV4cG9ydCBjb25zdCB5aWVsZGluZ0xvb3AgPSAoY291bnQ6IG51bWJlciwgY2h1bmtTaXplOiBudW1iZXIsIGNhbGxiYWNrOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZCwgZG9uZTogKCkgPT4gdm9pZCkgPT4ge1xuICAgIGxldCBpID0gMDtcbiAgICBjb25zdCBjaHVuayA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgZW5kID0gTWF0aC5taW4oaSArIGNodW5rU2l6ZSwgY291bnQpO1xuICAgICAgICBmb3IgKDsgaSA8IGVuZDsgKytpKSB7XG4gICAgICAgICAgICBjYWxsYmFjayhpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaSA8IGNvdW50KSB7XG4gICAgICAgICAgICBzZXRJbW1lZGlhdGUoY2h1bmspO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBjaHVuaygpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQ29uc3RydWN0b3IgPSAocmVmOiBhbnkpID0+IHR5cGVvZiByZWYgPT09ICdmdW5jdGlvbicgJiYgQm9vbGVhbihyZWYucHJvdG90eXBlKSAmJiBCb29sZWFuKHJlZi5wcm90b3R5cGUuY29uc3RydWN0b3IpO1xuXG5leHBvcnQgY29uc3QgcmV2ZXJzZUFuaW1hdGlvblJlc29sdmVyID0gKGFuaW1hdGlvbjogQW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGEpOiBBbmltYXRpb25SZWZlcmVuY2VNZXRhZGF0YSA9PlxuICAgIG9wcG9zaXRlQW5pbWF0aW9uLmdldChhbmltYXRpb24pID8/IGFuaW1hdGlvbjtcblxuZXhwb3J0IGNvbnN0IGlzSG9yaXpvbnRhbEFuaW1hdGlvbiA9IChhbmltYXRpb246IEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhKTogYm9vbGVhbiA9PiBob3Jpem9udGFsQW5pbWF0aW9ucy5pbmNsdWRlcyhhbmltYXRpb24pO1xuXG5leHBvcnQgY29uc3QgaXNWZXJ0aWNhbEFuaW1hdGlvbiA9IChhbmltYXRpb246IEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhKTogYm9vbGVhbiA9PiB2ZXJ0aWNhbEFuaW1hdGlvbnMuaW5jbHVkZXMoYW5pbWF0aW9uKTtcblxuY29uc3Qgb3Bwb3NpdGVBbmltYXRpb246IE1hcDxBbmltYXRpb25SZWZlcmVuY2VNZXRhZGF0YSwgQW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGE+ID0gbmV3IE1hcChbXG4gICAgW2ZhZGVJbiwgZmFkZUluXSxcbiAgICBbZmFkZU91dCwgZmFkZU91dF0sXG4gICAgW2ZsaXBUb3AsIGZsaXBCb3R0b21dLFxuICAgIFtmbGlwQm90dG9tLCBmbGlwVG9wXSxcbiAgICBbZmxpcFJpZ2h0LCBmbGlwTGVmdF0sXG4gICAgW2ZsaXBMZWZ0LCBmbGlwUmlnaHRdLFxuICAgIFtmbGlwSG9yRndkLCBmbGlwSG9yQmNrXSxcbiAgICBbZmxpcEhvckJjaywgZmxpcEhvckZ3ZF0sXG4gICAgW2ZsaXBWZXJGd2QsIGZsaXBWZXJCY2tdLFxuICAgIFtmbGlwVmVyQmNrLCBmbGlwVmVyRndkXSxcbiAgICBbZ3Jvd1ZlckluLCBncm93VmVySW5dLFxuICAgIFtncm93VmVyT3V0LCBncm93VmVyT3V0XSxcbiAgICBbaGVhcnRiZWF0LCBoZWFydGJlYXRdLFxuICAgIFtwdWxzYXRlRndkLCBwdWxzYXRlQmNrXSxcbiAgICBbcHVsc2F0ZUJjaywgcHVsc2F0ZUZ3ZF0sXG4gICAgW2JsaW5rLCBibGlua10sXG4gICAgW3NoYWtlSG9yLCBzaGFrZUhvcl0sXG4gICAgW3NoYWtlVmVyLCBzaGFrZVZlcl0sXG4gICAgW3NoYWtlVG9wLCBzaGFrZVRvcF0sXG4gICAgW3NoYWtlQm90dG9tLCBzaGFrZUJvdHRvbV0sXG4gICAgW3NoYWtlUmlnaHQsIHNoYWtlUmlnaHRdLFxuICAgIFtzaGFrZUxlZnQsIHNoYWtlTGVmdF0sXG4gICAgW3NoYWtlQ2VudGVyLCBzaGFrZUNlbnRlcl0sXG4gICAgW3NoYWtlVHIsIHNoYWtlVHJdLFxuICAgIFtzaGFrZUJyLCBzaGFrZUJyXSxcbiAgICBbc2hha2VCbCwgc2hha2VCbF0sXG4gICAgW3NoYWtlVGwsIHNoYWtlVGxdLFxuICAgIFtyb3RhdGVJbkNlbnRlciwgcm90YXRlSW5DZW50ZXJdLFxuICAgIFtyb3RhdGVPdXRDZW50ZXIsIHJvdGF0ZU91dENlbnRlcl0sXG4gICAgW3JvdGF0ZUluVG9wLCByb3RhdGVJbkJvdHRvbV0sXG4gICAgW3JvdGF0ZU91dFRvcCwgcm90YXRlT3V0Qm90dG9tXSxcbiAgICBbcm90YXRlSW5SaWdodCwgcm90YXRlSW5MZWZ0XSxcbiAgICBbcm90YXRlT3V0UmlnaHQsIHJvdGF0ZU91dExlZnRdLFxuICAgIFtyb3RhdGVJbkxlZnQsIHJvdGF0ZUluUmlnaHRdLFxuICAgIFtyb3RhdGVPdXRMZWZ0LCByb3RhdGVPdXRSaWdodF0sXG4gICAgW3JvdGF0ZUluQm90dG9tLCByb3RhdGVJblRvcF0sXG4gICAgW3JvdGF0ZU91dEJvdHRvbSwgcm90YXRlT3V0VG9wXSxcbiAgICBbcm90YXRlSW5Uciwgcm90YXRlSW5CbF0sXG4gICAgW3JvdGF0ZU91dFRyLCByb3RhdGVPdXRCbF0sXG4gICAgW3JvdGF0ZUluQnIsIHJvdGF0ZUluVGxdLFxuICAgIFtyb3RhdGVPdXRCciwgcm90YXRlT3V0VGxdLFxuICAgIFtyb3RhdGVJbkJsLCByb3RhdGVJblRyXSxcbiAgICBbcm90YXRlT3V0QmwsIHJvdGF0ZU91dFRyXSxcbiAgICBbcm90YXRlSW5UbCwgcm90YXRlSW5Ccl0sXG4gICAgW3JvdGF0ZU91dFRsLCByb3RhdGVPdXRCcl0sXG4gICAgW3JvdGF0ZUluRGlhZ29uYWwxLCByb3RhdGVJbkRpYWdvbmFsMV0sXG4gICAgW3JvdGF0ZU91dERpYWdvbmFsMSwgcm90YXRlT3V0RGlhZ29uYWwxXSxcbiAgICBbcm90YXRlSW5EaWFnb25hbDIsIHJvdGF0ZUluRGlhZ29uYWwyXSxcbiAgICBbcm90YXRlT3V0RGlhZ29uYWwyLCByb3RhdGVPdXREaWFnb25hbDJdLFxuICAgIFtyb3RhdGVJbkhvciwgcm90YXRlSW5Ib3JdLFxuICAgIFtyb3RhdGVPdXRIb3IsIHJvdGF0ZU91dEhvcl0sXG4gICAgW3JvdGF0ZUluVmVyLCByb3RhdGVJblZlcl0sXG4gICAgW3JvdGF0ZU91dFZlciwgcm90YXRlT3V0VmVyXSxcbiAgICBbc2NhbGVJblRvcCwgc2NhbGVJbkJvdHRvbV0sXG4gICAgW3NjYWxlT3V0VG9wLCBzY2FsZU91dEJvdHRvbV0sXG4gICAgW3NjYWxlSW5SaWdodCwgc2NhbGVJbkxlZnRdLFxuICAgIFtzY2FsZU91dFJpZ2h0LCBzY2FsZU91dExlZnRdLFxuICAgIFtzY2FsZUluQm90dG9tLCBzY2FsZUluVG9wXSxcbiAgICBbc2NhbGVPdXRCb3R0b20sIHNjYWxlT3V0VG9wXSxcbiAgICBbc2NhbGVJbkxlZnQsIHNjYWxlSW5SaWdodF0sXG4gICAgW3NjYWxlT3V0TGVmdCwgc2NhbGVPdXRSaWdodF0sXG4gICAgW3NjYWxlSW5DZW50ZXIsIHNjYWxlSW5DZW50ZXJdLFxuICAgIFtzY2FsZU91dENlbnRlciwgc2NhbGVPdXRDZW50ZXJdLFxuICAgIFtzY2FsZUluVHIsIHNjYWxlSW5CbF0sXG4gICAgW3NjYWxlT3V0VHIsIHNjYWxlT3V0QmxdLFxuICAgIFtzY2FsZUluQnIsIHNjYWxlSW5UbF0sXG4gICAgW3NjYWxlT3V0QnIsIHNjYWxlT3V0VGxdLFxuICAgIFtzY2FsZUluQmwsIHNjYWxlSW5Ucl0sXG4gICAgW3NjYWxlT3V0QmwsIHNjYWxlT3V0VHJdLFxuICAgIFtzY2FsZUluVGwsIHNjYWxlSW5Ccl0sXG4gICAgW3NjYWxlT3V0VGwsIHNjYWxlT3V0QnJdLFxuICAgIFtzY2FsZUluVmVyVG9wLCBzY2FsZUluVmVyQm90dG9tXSxcbiAgICBbc2NhbGVPdXRWZXJUb3AsIHNjYWxlT3V0VmVyQm90dG9tXSxcbiAgICBbc2NhbGVJblZlckJvdHRvbSwgc2NhbGVJblZlclRvcF0sXG4gICAgW3NjYWxlT3V0VmVyQm90dG9tLCBzY2FsZU91dFZlclRvcF0sXG4gICAgW3NjYWxlSW5WZXJDZW50ZXIsIHNjYWxlSW5WZXJDZW50ZXJdLFxuICAgIFtzY2FsZU91dFZlckNlbnRlciwgc2NhbGVPdXRWZXJDZW50ZXJdLFxuICAgIFtzY2FsZUluSG9yQ2VudGVyLCBzY2FsZUluSG9yQ2VudGVyXSxcbiAgICBbc2NhbGVPdXRIb3JDZW50ZXIsIHNjYWxlT3V0SG9yQ2VudGVyXSxcbiAgICBbc2NhbGVJbkhvckxlZnQsIHNjYWxlSW5Ib3JSaWdodF0sXG4gICAgW3NjYWxlT3V0SG9yTGVmdCwgc2NhbGVPdXRIb3JSaWdodF0sXG4gICAgW3NjYWxlSW5Ib3JSaWdodCwgc2NhbGVJbkhvckxlZnRdLFxuICAgIFtzY2FsZU91dEhvclJpZ2h0LCBzY2FsZU91dEhvckxlZnRdLFxuICAgIFtzbGlkZUluVG9wLCBzbGlkZUluQm90dG9tXSxcbiAgICBbc2xpZGVPdXRUb3AsIHNsaWRlT3V0Qm90dG9tXSxcbiAgICBbc2xpZGVJblJpZ2h0LCBzbGlkZUluTGVmdF0sXG4gICAgW3NsaWRlT3V0UmlnaHQsIHNsaWRlT3V0TGVmdF0sXG4gICAgW3NsaWRlSW5Cb3R0b20sIHNsaWRlSW5Ub3BdLFxuICAgIFtzbGlkZU91dEJvdHRvbSwgc2xpZGVPdXRUb3BdLFxuICAgIFtzbGlkZUluTGVmdCwgc2xpZGVJblJpZ2h0XSxcbiAgICBbc2xpZGVPdXRMZWZ0LCBzbGlkZU91dFJpZ2h0XSxcbiAgICBbc2xpZGVJblRyLCBzbGlkZUluQmxdLFxuICAgIFtzbGlkZU91dFRyLCBzbGlkZU91dEJsXSxcbiAgICBbc2xpZGVJbkJyLCBzbGlkZUluVGxdLFxuICAgIFtzbGlkZU91dEJyLCBzbGlkZU91dFRsXSxcbiAgICBbc2xpZGVJbkJsLCBzbGlkZUluVHJdLFxuICAgIFtzbGlkZU91dEJsLCBzbGlkZU91dFRyXSxcbiAgICBbc2xpZGVJblRsLCBzbGlkZUluQnJdLFxuICAgIFtzbGlkZU91dFRsLCBzbGlkZU91dEJyXSxcbiAgICBbc3dpbmdJblRvcEZ3ZCwgc3dpbmdJbkJvdHRvbUZ3ZF0sXG4gICAgW3N3aW5nT3V0VG9wRndkLCBzd2luZ091dEJvdHRvbUZ3ZF0sXG4gICAgW3N3aW5nSW5SaWdodEZ3ZCwgc3dpbmdJbkxlZnRGd2RdLFxuICAgIFtzd2luZ091dFJpZ2h0RndkLCBzd2luZ091dExlZnR0RndkXSxcbiAgICBbc3dpbmdJbkxlZnRGd2QsIHN3aW5nSW5SaWdodEZ3ZF0sXG4gICAgW3N3aW5nT3V0TGVmdHRGd2QsIHN3aW5nT3V0UmlnaHRGd2RdLFxuICAgIFtzd2luZ0luQm90dG9tRndkLCBzd2luZ0luVG9wRndkXSxcbiAgICBbc3dpbmdPdXRCb3R0b21Gd2QsIHN3aW5nT3V0VG9wRndkXSxcbiAgICBbc3dpbmdJblRvcEJjaywgc3dpbmdJbkJvdHRvbUJja10sXG4gICAgW3N3aW5nT3V0VG9wQmNrLCBzd2luZ091dEJvdHRvbUJja10sXG4gICAgW3N3aW5nSW5SaWdodEJjaywgc3dpbmdJbkxlZnRCY2tdLFxuICAgIFtzd2luZ091dFJpZ2h0QmNrLCBzd2luZ091dExlZnRCY2tdLFxuICAgIFtzd2luZ0luQm90dG9tQmNrLCBzd2luZ0luVG9wQmNrXSxcbiAgICBbc3dpbmdPdXRCb3R0b21CY2ssIHN3aW5nT3V0VG9wQmNrXSxcbiAgICBbc3dpbmdJbkxlZnRCY2ssIHN3aW5nSW5SaWdodEJja10sXG4gICAgW3N3aW5nT3V0TGVmdEJjaywgc3dpbmdPdXRSaWdodEJja10sXG5dKTtcblxuY29uc3QgaG9yaXpvbnRhbEFuaW1hdGlvbnM6IEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhW10gPSBbXG4gICAgZmxpcFJpZ2h0LFxuICAgIGZsaXBMZWZ0LFxuICAgIGZsaXBWZXJGd2QsXG4gICAgZmxpcFZlckJjayxcbiAgICByb3RhdGVJblJpZ2h0LFxuICAgIHJvdGF0ZU91dFJpZ2h0LFxuICAgIHJvdGF0ZUluTGVmdCxcbiAgICByb3RhdGVPdXRMZWZ0LFxuICAgIHJvdGF0ZUluVHIsXG4gICAgcm90YXRlT3V0VHIsXG4gICAgcm90YXRlSW5CcixcbiAgICByb3RhdGVPdXRCcixcbiAgICByb3RhdGVJbkJsLFxuICAgIHJvdGF0ZU91dEJsLFxuICAgIHJvdGF0ZUluVGwsXG4gICAgcm90YXRlT3V0VGwsXG4gICAgc2NhbGVJblJpZ2h0LFxuICAgIHNjYWxlT3V0UmlnaHQsXG4gICAgc2NhbGVJbkxlZnQsXG4gICAgc2NhbGVPdXRMZWZ0LFxuICAgIHNjYWxlSW5UcixcbiAgICBzY2FsZU91dFRyLFxuICAgIHNjYWxlSW5CcixcbiAgICBzY2FsZU91dEJyLFxuICAgIHNjYWxlSW5CbCxcbiAgICBzY2FsZU91dEJsLFxuICAgIHNjYWxlSW5UbCxcbiAgICBzY2FsZU91dFRsLFxuICAgIHNjYWxlSW5Ib3JMZWZ0LFxuICAgIHNjYWxlT3V0SG9yTGVmdCxcbiAgICBzY2FsZUluSG9yUmlnaHQsXG4gICAgc2NhbGVPdXRIb3JSaWdodCxcbiAgICBzbGlkZUluUmlnaHQsXG4gICAgc2xpZGVPdXRSaWdodCxcbiAgICBzbGlkZUluTGVmdCxcbiAgICBzbGlkZU91dExlZnQsXG4gICAgc2xpZGVJblRyLFxuICAgIHNsaWRlT3V0VHIsXG4gICAgc2xpZGVJbkJyLFxuICAgIHNsaWRlT3V0QnIsXG4gICAgc2xpZGVJbkJsLFxuICAgIHNsaWRlT3V0QmwsXG4gICAgc2xpZGVJblRsLFxuICAgIHNsaWRlT3V0VGwsXG4gICAgc3dpbmdJblJpZ2h0RndkLFxuICAgIHN3aW5nT3V0UmlnaHRGd2QsXG4gICAgc3dpbmdJbkxlZnRGd2QsXG4gICAgc3dpbmdPdXRMZWZ0dEZ3ZCxcbiAgICBzd2luZ0luUmlnaHRCY2ssXG4gICAgc3dpbmdPdXRSaWdodEJjayxcbiAgICBzd2luZ0luTGVmdEJjayxcbiAgICBzd2luZ091dExlZnRCY2ssXG5dO1xuY29uc3QgdmVydGljYWxBbmltYXRpb25zOiBBbmltYXRpb25SZWZlcmVuY2VNZXRhZGF0YVtdID0gW1xuICAgIGZsaXBUb3AsXG4gICAgZmxpcEJvdHRvbSxcbiAgICBmbGlwSG9yRndkLFxuICAgIGZsaXBIb3JCY2ssXG4gICAgZ3Jvd1ZlckluLFxuICAgIGdyb3dWZXJPdXQsXG4gICAgcm90YXRlSW5Ub3AsXG4gICAgcm90YXRlT3V0VG9wLFxuICAgIHJvdGF0ZUluQm90dG9tLFxuICAgIHJvdGF0ZU91dEJvdHRvbSxcbiAgICByb3RhdGVJblRyLFxuICAgIHJvdGF0ZU91dFRyLFxuICAgIHJvdGF0ZUluQnIsXG4gICAgcm90YXRlT3V0QnIsXG4gICAgcm90YXRlSW5CbCxcbiAgICByb3RhdGVPdXRCbCxcbiAgICByb3RhdGVJblRsLFxuICAgIHJvdGF0ZU91dFRsLFxuICAgIHNjYWxlSW5Ub3AsXG4gICAgc2NhbGVPdXRUb3AsXG4gICAgc2NhbGVJbkJvdHRvbSxcbiAgICBzY2FsZU91dEJvdHRvbSxcbiAgICBzY2FsZUluVHIsXG4gICAgc2NhbGVPdXRUcixcbiAgICBzY2FsZUluQnIsXG4gICAgc2NhbGVPdXRCcixcbiAgICBzY2FsZUluQmwsXG4gICAgc2NhbGVPdXRCbCxcbiAgICBzY2FsZUluVGwsXG4gICAgc2NhbGVPdXRUbCxcbiAgICBzY2FsZUluVmVyVG9wLFxuICAgIHNjYWxlT3V0VmVyVG9wLFxuICAgIHNjYWxlSW5WZXJCb3R0b20sXG4gICAgc2NhbGVPdXRWZXJCb3R0b20sXG4gICAgc2xpZGVJblRvcCxcbiAgICBzbGlkZU91dFRvcCxcbiAgICBzbGlkZUluQm90dG9tLFxuICAgIHNsaWRlT3V0Qm90dG9tLFxuICAgIHNsaWRlSW5UcixcbiAgICBzbGlkZU91dFRyLFxuICAgIHNsaWRlSW5CcixcbiAgICBzbGlkZU91dEJyLFxuICAgIHNsaWRlSW5CbCxcbiAgICBzbGlkZU91dEJsLFxuICAgIHNsaWRlSW5UbCxcbiAgICBzbGlkZU91dFRsLFxuICAgIHN3aW5nSW5Ub3BGd2QsXG4gICAgc3dpbmdPdXRUb3BGd2QsXG4gICAgc3dpbmdJbkJvdHRvbUZ3ZCxcbiAgICBzd2luZ091dEJvdHRvbUZ3ZCxcbiAgICBzd2luZ0luVG9wQmNrLFxuICAgIHN3aW5nT3V0VG9wQmNrLFxuICAgIHN3aW5nSW5Cb3R0b21CY2ssXG4gICAgc3dpbmdPdXRCb3R0b21CY2ssXG5dO1xuXG5cbi8qKlxuICogU2ltaWxhciB0byBBbmd1bGFyJ3MgZm9ybWF0RGF0ZS4gSG93ZXZlciBpdCB3aWxsIG5vdCB0aHJvdyBvbiBgdW5kZWZpbmVkIHwgbnVsbCB8ICcnYCBpbnN0ZWFkXG4gKiBjb2FsZXNjaW5nIHRvIGFuIGVtcHR5IHN0cmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1hdERhdGUgPSAodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IERhdGUsIGZvcm1hdDogc3RyaW5nLCBsb2NhbGU6IHN0cmluZywgdGltZXpvbmU/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBfZm9ybWF0RGF0ZSh2YWx1ZSwgZm9ybWF0LCBsb2NhbGUsIHRpbWV6b25lKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRDdXJyZW5jeSA9IG5ldyBDdXJyZW5jeVBpcGUodW5kZWZpbmVkKS50cmFuc2Zvcm07XG4iXX0=
698
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvY29yZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsSUFBSSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFDSCxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFDeEYsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFDNUYsY0FBYyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUM3RixZQUFZLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQzFGLGVBQWUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUNyRixZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFDbkYsWUFBWSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFDbEYsY0FBYyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsWUFB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LGVBQWU7SUFDZixVQUFVO0lBQ1YsV0FBVztJQUNYLFVBQVU7SUFDVixXQUFXO0lBQ1gsVUFBVTtJQUNWLFdBQVc7SUFDWCxVQUFVO0lBQ1YsV0FBVztJQUNYLFVBQVU7SUFDVixXQUFXO0lBQ1gsYUFBYTtJQUNiLGNBQWM7SUFDZCxTQUFTO0lBQ1QsVUFBVTtJQUNWLFNBQVM7SUFDVCxVQUFVO0lBQ1YsU0FBUztJQUNULFVBQVU7SUFDVixTQUFTO0lBQ1QsVUFBVTtJQUNWLGFBQWE7SUFDYixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixVQUFVO0lBQ1YsV0FBVztJQUNYLGFBQWE7SUFDYixjQUFjO0lBQ2QsU0FBUztJQUNULFVBQVU7SUFDVixTQUFTO0lBQ1QsVUFBVTtJQUNWLFNBQVM7SUFDVCxVQUFVO0lBQ1YsU0FBUztJQUNULFVBQVU7SUFDVixhQUFhO0lBQ2IsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsaUJBQWlCO0NBQ3BCLENBQUM7QUFHRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUE2QixFQUFFLE1BQWMsRUFBRSxNQUFjLEVBQUUsUUFBaUIsRUFBVSxFQUFFO0lBQ25ILElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7UUFDdkQsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUNELE9BQU8sV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3hELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRpb25SZWZlcmVuY2VNZXRhZGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ3VycmVuY3lQaXBlLCBmb3JtYXREYXRlIGFzIF9mb3JtYXREYXRlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZVdpdGggfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBibGluaywgZmFkZUluLCBmYWRlT3V0LCBmbGlwQm90dG9tLCBmbGlwSG9yQmNrLCBmbGlwSG9yRndkLCBmbGlwTGVmdCwgZmxpcFJpZ2h0LCBmbGlwVG9wLFxuICAgIGZsaXBWZXJCY2ssIGZsaXBWZXJGd2QsIGdyb3dWZXJJbiwgZ3Jvd1Zlck91dCwgaGVhcnRiZWF0LCBwdWxzYXRlQmNrLCBwdWxzYXRlRndkLCByb3RhdGVJbkJsLFxuICAgIHJvdGF0ZUluQm90dG9tLCByb3RhdGVJbkJyLCByb3RhdGVJbkNlbnRlciwgcm90YXRlSW5EaWFnb25hbDEsIHJvdGF0ZUluRGlhZ29uYWwyLCByb3RhdGVJbkhvcixcbiAgICByb3RhdGVJbkxlZnQsIHJvdGF0ZUluUmlnaHQsIHJvdGF0ZUluVGwsIHJvdGF0ZUluVG9wLCByb3RhdGVJblRyLCByb3RhdGVJblZlciwgcm90YXRlT3V0QmwsXG4gICAgcm90YXRlT3V0Qm90dG9tLCByb3RhdGVPdXRCciwgcm90YXRlT3V0Q2VudGVyLCByb3RhdGVPdXREaWFnb25hbDEsIHJvdGF0ZU91dERpYWdvbmFsMixcbiAgICByb3RhdGVPdXRIb3IsIHJvdGF0ZU91dExlZnQsIHJvdGF0ZU91dFJpZ2h0LCByb3RhdGVPdXRUbCwgcm90YXRlT3V0VG9wLCByb3RhdGVPdXRUcixcbiAgICByb3RhdGVPdXRWZXIsIHNjYWxlSW5CbCwgc2NhbGVJbkJvdHRvbSwgc2NhbGVJbkJyLCBzY2FsZUluQ2VudGVyLCBzY2FsZUluSG9yQ2VudGVyLFxuICAgIHNjYWxlSW5Ib3JMZWZ0LCBzY2FsZUluSG9yUmlnaHQsIHNjYWxlSW5MZWZ0LCBzY2FsZUluUmlnaHQsIHNjYWxlSW5UbCwgc2NhbGVJblRvcCwgc2NhbGVJblRyLFxuICAgIHNjYWxlSW5WZXJCb3R0b20sIHNjYWxlSW5WZXJDZW50ZXIsIHNjYWxlSW5WZXJUb3AsIHNjYWxlT3V0QmwsIHNjYWxlT3V0Qm90dG9tLCBzY2FsZU91dEJyLFxuICAgIHNjYWxlT3V0Q2VudGVyLCBzY2FsZU91dEhvckNlbnRlciwgc2NhbGVPdXRIb3JMZWZ0LCBzY2FsZU91dEhvclJpZ2h0LCBzY2FsZU91dExlZnQsXG4gICAgc2NhbGVPdXRSaWdodCwgc2NhbGVPdXRUbCwgc2NhbGVPdXRUb3AsIHNjYWxlT3V0VHIsIHNjYWxlT3V0VmVyQm90dG9tLCBzY2FsZU91dFZlckNlbnRlcixcbiAgICBzY2FsZU91dFZlclRvcCwgc2hha2VCbCwgc2hha2VCb3R0b20sIHNoYWtlQnIsIHNoYWtlQ2VudGVyLCBzaGFrZUhvciwgc2hha2VMZWZ0LCBzaGFrZVJpZ2h0LFxuICAgIHNoYWtlVGwsIHNoYWtlVG9wLCBzaGFrZVRyLCBzaGFrZVZlciwgc2xpZGVJbkJsLCBzbGlkZUluQm90dG9tLCBzbGlkZUluQnIsIHNsaWRlSW5MZWZ0LFxuICAgIHNsaWRlSW5SaWdodCwgc2xpZGVJblRsLCBzbGlkZUluVG9wLCBzbGlkZUluVHIsIHNsaWRlT3V0QmwsIHNsaWRlT3V0Qm90dG9tLCBzbGlkZU91dEJyLFxuICAgIHNsaWRlT3V0TGVmdCwgc2xpZGVPdXRSaWdodCwgc2xpZGVPdXRUbCwgc2xpZGVPdXRUb3AsIHNsaWRlT3V0VHIsIHN3aW5nSW5Cb3R0b21CY2ssXG4gICAgc3dpbmdJbkJvdHRvbUZ3ZCwgc3dpbmdJbkxlZnRCY2ssIHN3aW5nSW5MZWZ0RndkLCBzd2luZ0luUmlnaHRCY2ssIHN3aW5nSW5SaWdodEZ3ZCxcbiAgICBzd2luZ0luVG9wQmNrLCBzd2luZ0luVG9wRndkLCBzd2luZ091dEJvdHRvbUJjaywgc3dpbmdPdXRCb3R0b21Gd2QsIHN3aW5nT3V0TGVmdEJjayxcbiAgICBzd2luZ091dExlZnR0RndkLCBzd2luZ091dFJpZ2h0QmNrLCBzd2luZ091dFJpZ2h0RndkLCBzd2luZ091dFRvcEJjaywgc3dpbmdPdXRUb3BGd2Rcbn0gZnJvbSAnLi4vYW5pbWF0aW9ucy9tYWluJztcbmltcG9ydCB7IHNldEltbWVkaWF0ZSB9IGZyb20gJy4vc2V0SW1tZWRpYXRlJztcbmltcG9ydCB7IGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNvbnN0IHNob3dNZXNzYWdlID0gKG1lc3NhZ2U6IHN0cmluZywgaXNNZXNzYWdlU2hvd246IGJvb2xlYW4pOiBib29sZWFuID0+IHtcbiAgICBpZiAoIWlzTWVzc2FnZVNob3duICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbn07XG5cbmV4cG9ydCBjb25zdCBta2VudW0gPSA8VCBleHRlbmRzIHsgW2luZGV4OiBzdHJpbmddOiBVIH0sIFUgZXh0ZW5kcyBzdHJpbmc+KHg6IFQpID0+IHg7XG5cbi8qKlxuICpcbiAqIEBoaWRkZW4gQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRSZXNpemVPYnNlcnZlciA9ICgpID0+IHdpbmRvdy5SZXNpemVPYnNlcnZlcjtcblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjb25zdCBjbG9uZUFycmF5ID0gKGFycmF5OiBhbnlbXSwgZGVlcD86IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCBhcnIgPSBbXTtcbiAgICBpZiAoIWFycmF5KSB7XG4gICAgICAgIHJldHVybiBhcnI7XG4gICAgfVxuICAgIGxldCBpID0gYXJyYXkubGVuZ3RoO1xuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgICAgYXJyW2ldID0gZGVlcCA/IGNsb25lVmFsdWUoYXJyYXlbaV0pIDogYXJyYXlbaV07XG4gICAgfVxuICAgIHJldHVybiBhcnI7XG59O1xuXG4vKipcbiAqIERvZXNuJ3QgY2xvbmUgbGVhZiBpdGVtc1xuICpcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNvbnN0IGNsb25lSGllcmFyY2hpY2FsQXJyYXkgPSAoYXJyYXk6IGFueVtdLCBjaGlsZERhdGFLZXk6IGFueSk6IGFueVtdID0+IHtcbiAgICBjb25zdCByZXN1bHQ6IGFueVtdID0gW107XG4gICAgaWYgKCFhcnJheSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBhcnJheSkge1xuICAgICAgICBjb25zdCBjbG9uZWRJdGVtID0gY2xvbmVWYWx1ZShpdGVtKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbVtjaGlsZERhdGFLZXldKSkge1xuICAgICAgICAgICAgY2xvbmVkSXRlbVtjaGlsZERhdGFLZXldID0gY2xvbmVIaWVyYXJjaGljYWxBcnJheShjbG9uZWRJdGVtW2NoaWxkRGF0YUtleV0sIGNoaWxkRGF0YUtleSk7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0LnB1c2goY2xvbmVkSXRlbSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gb2JqZWN0IHdpdGggcHJvdG90eXBlIGZyb20gcHJvdmlkZWQgc291cmNlIGFuZCBjb3BpZXNcbiAqIGFsbCBwcm9wZXJ0aWVzIGRlc2NyaXB0b3JzIGZyb20gcHJvdmlkZWQgc291cmNlXG4gKiBAcGFyYW0gb2JqIFNvdXJjZSB0byBjb3B5IHByb3RvdHlwZSBhbmQgZGVzY3JpcHRvcnMgZnJvbVxuICogQHJldHVybnMgTmV3IG9iamVjdCB3aXRoIGNsb25lZCBwcm90b3R5cGUgYW5kIHByb3BlcnR5IGRlc2NyaXB0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBjb3B5RGVzY3JpcHRvcnMgPSAob2JqKSA9PiB7XG4gICAgaWYgKG9iaikge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmNyZWF0ZShcbiAgICAgICAgICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopLFxuICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMob2JqKVxuICAgICAgICAgICAgKTtcbiAgICB9XG59XG5cblxuLyoqXG4gKiBEZWVwIGNsb25lcyBhbGwgZmlyc3QgbGV2ZWwga2V5cyBvZiBPYmoyIGFuZCBtZXJnZXMgdGhlbSB0byBPYmoxXG4gKlxuICogQHBhcmFtIG9iajEgT2JqZWN0IHRvIG1lcmdlIGludG9cbiAqIEBwYXJhbSBvYmoyIE9iamVjdCB0byBtZXJnZSBmcm9tXG4gKiBAcmV0dXJucyBPYmoxIHdpdGggbWVyZ2VkIGNsb25lZCBrZXlzIGZyb20gT2JqMlxuICogQGhpZGRlblxuICovXG5leHBvcnQgY29uc3QgbWVyZ2VPYmplY3RzID0gKG9iajE6IGFueSwgb2JqMjogYW55KTogYW55ID0+IG1lcmdlV2l0aChvYmoxLCBvYmoyLCAob2JqVmFsdWUsIHNyY1ZhbHVlKSA9PiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoc3JjVmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBvYmpWYWx1ZSA9IHNyY1ZhbHVlO1xuICAgIH1cbn0pO1xuXG4vKipcbiAqIENyZWF0ZXMgZGVlcCBjbG9uZSBvZiBwcm92aWRlZCB2YWx1ZS5cbiAqIFN1cHBvcnRzIHByaW1pdGl2ZSB2YWx1ZXMsIGRhdGVzIGFuZCBvYmplY3RzLlxuICogSWYgcGFzc2VkIHZhbHVlIGlzIGFycmF5IHJldHVybnMgc2hhbGxvdyBjb3B5IG9mIHRoZSBhcnJheS5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgdmFsdWUgdG8gY2xvbmVcbiAqIEByZXR1cm5zIERlZXAgY29weSBvZiBwcm92aWRlZCB2YWx1ZVxuICogQGhpZGRlblxuICovXG5leHBvcnQgY29uc3QgY2xvbmVWYWx1ZSA9ICh2YWx1ZTogYW55KTogYW55ID0+IHtcbiAgICBpZiAoaXNEYXRlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUuZ2V0VGltZSgpKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBbLi4udmFsdWVdO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE1hcCB8fCB2YWx1ZSBpbnN0YW5jZW9mIFNldCkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB7fTtcblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gY2xvbmVWYWx1ZSh2YWx1ZVtrZXldKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG59O1xuXG4vKipcbiAqIFBhcnNlIHByb3ZpZGVkIGlucHV0IHRvIERhdGUuXG4gKlxuICogQHBhcmFtIHZhbHVlIGlucHV0IHRvIHBhcnNlXG4gKiBAcmV0dXJucyBEYXRlIGlmIHBhcnNlIHN1Y2NlZWQgb3IgbnVsbFxuICogQGhpZGRlblxuICovXG5leHBvcnQgY29uc3QgcGFyc2VEYXRlID0gKHZhbHVlOiBhbnkpOiBEYXRlIHwgbnVsbCA9PiB7XG4gICAgLy8gaWYgdmFsdWUgaXMgSW52YWxpZCBEYXRlIHJldHVybiBudWxsXG4gICAgaWYgKGlzRGF0ZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuICFpc05hTih2YWx1ZS5nZXRUaW1lKCkpID8gdmFsdWUgOiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWUgPyBuZXcgRGF0ZSh2YWx1ZSkgOiBudWxsO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGFuIGFycmF5IHdpdGggdW5pcXVlIGRhdGVzIG9ubHkuXG4gKlxuICogQHBhcmFtIGNvbHVtblZhbHVlcyBjb2xsZWN0aW9uIG9mIGRhdGUgdmFsdWVzIChtaWdodCBiZSBudW1iZXJzIG9yIElTTyA4NjAxIHN0cmluZ3MpXG4gKiBAcmV0dXJucyBjb2xsZWN0aW9uIG9mIHVuaXF1ZSBkYXRlcy5cbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNvbnN0IHVuaXF1ZURhdGVzID0gKGNvbHVtblZhbHVlczogYW55W10pID0+IGNvbHVtblZhbHVlcy5yZWR1Y2UoKGEsIGMpID0+IHtcbiAgICBpZiAoIWEuY2FjaGVbYy5sYWJlbF0pIHtcbiAgICAgICAgYS5yZXN1bHQucHVzaChjKTtcbiAgICB9XG4gICAgYS5jYWNoZVtjLmxhYmVsXSA9IHRydWU7XG4gICAgcmV0dXJuIGE7XG59LCB7IHJlc3VsdDogW10sIGNhY2hlOiB7fSB9KS5yZXN1bHQ7XG5cbi8qKlxuICogQ2hlY2tzIGlmIHByb3ZpZGVkIHZhcmlhYmxlIGlzIE9iamVjdFxuICpcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBjaGVja1xuICogQHJldHVybnMgdHJ1ZSBpZiBwcm92aWRlZCB2YXJpYWJsZSBpcyBPYmplY3RcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzT2JqZWN0ID0gKHZhbHVlOiBhbnkpOiBib29sZWFuID0+ICEhKHZhbHVlICYmIHZhbHVlLnRvU3RyaW5nKCkgPT09ICdbb2JqZWN0IE9iamVjdF0nKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgcHJvdmlkZWQgdmFyaWFibGUgaXMgRGF0ZVxuICpcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBjaGVja1xuICogQHJldHVybnMgdHJ1ZSBpZiBwcm92aWRlZCB2YXJpYWJsZSBpcyBEYXRlXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RhdGUgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIERhdGUgPT4gdmFsdWUgaW5zdGFuY2VvZiBEYXRlO1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgdHdvIHBhc3NlZCBhcmd1bWVudHMgYXJlIGVxdWFsXG4gKiBDdXJyZW50bHkgc3VwcG9ydHMgZGF0ZSBvYmplY3RzXG4gKlxuICogQHBhcmFtIG9iajFcbiAqIEBwYXJhbSBvYmoyXG4gKiBAcmV0dXJuczogYGJvb2xlYW5gXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0VxdWFsID0gKG9iajEsIG9iajIpOiBib29sZWFuID0+IHtcbiAgICBpZiAoaXNEYXRlKG9iajEpICYmIGlzRGF0ZShvYmoyKSkge1xuICAgICAgICByZXR1cm4gb2JqMS5nZXRUaW1lKCkgPT09IG9iajIuZ2V0VGltZSgpO1xuICAgIH1cbiAgICByZXR1cm4gb2JqMSA9PT0gb2JqMjtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIHByb3ZpZGVkIHZhcmlhYmxlIGlzIHRoZSB2YWx1ZSBOYU5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHRydWUgaWYgcHJvdmlkZWQgdmFyaWFibGUgaXMgTmFOXG4gKiBAaGlkZGVuXG4gKi9cbiBleHBvcnQgY29uc3QgaXNOYU52YWx1ZSA9ICh2YWx1ZTogYW55KTogYm9vbGVhbiA9PiBpc05hTih2YWx1ZSkgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnO1xuXG4vKipcbiAqIFV0aWxpdHkgc2VydmljZSB0YWtpbmcgY2FyZSBvZiB2YXJpb3VzIHV0aWxpdHkgZnVuY3Rpb25zIHN1Y2ggYXNcbiAqIGRldGVjdGluZyBicm93c2VyIGZlYXR1cmVzLCBnZW5lcmFsIGNyb3NzIGJyb3dzZXIgRE9NIG1hbmlwdWxhdGlvbiwgZXRjLlxuICpcbiAqIEBoaWRkZW4gQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUGxhdGZvcm1VdGlsIHtcbiAgICBwdWJsaWMgaXNCcm93c2VyOiBib29sZWFuID0gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKTtcbiAgICBwdWJsaWMgaXNJT1MgPSB0aGlzLmlzQnJvd3NlciAmJiAvaVBhZHxpUGhvbmV8aVBvZC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiAhKCdNU1N0cmVhbScgaW4gd2luZG93KTtcbiAgICBwdWJsaWMgaXNGaXJlZm94ID0gdGhpcy5pc0Jyb3dzZXIgJiYgL0ZpcmVmb3hbXFwvXFxzXShcXGQrXFwuXFxkKykvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG4gICAgcHVibGljIGlzRWRnZSA9IHRoaXMuaXNCcm93c2VyICYmIC9FZGdlW1xcL1xcc10oXFxkK1xcLlxcZCspLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuICAgIHB1YmxpYyBpc0Nocm9taXVtID0gdGhpcy5pc0Jyb3dzZXIgJiYgKC9DaHJvbXxlP2l1bS9nLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgfHxcbiAgICAgICAgL0dvb2dsZSBJbmMvZy50ZXN0KG5hdmlnYXRvci52ZW5kb3IpKSAmJiAhL0VkZ2UvZy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG4gICAgcHVibGljIEtFWU1BUCA9IG1rZW51bSh7XG4gICAgICAgIEVOVEVSOiAnRW50ZXInLFxuICAgICAgICBTUEFDRTogJyAnLFxuICAgICAgICBFU0NBUEU6ICdFc2NhcGUnLFxuICAgICAgICBBUlJPV19ET1dOOiAnQXJyb3dEb3duJyxcbiAgICAgICAgQVJST1dfVVA6ICdBcnJvd1VwJyxcbiAgICAgICAgQVJST1dfTEVGVDogJ0Fycm93TGVmdCcsXG4gICAgICAgIEFSUk9XX1JJR0hUOiAnQXJyb3dSaWdodCcsXG4gICAgICAgIEVORDogJ0VuZCcsXG4gICAgICAgIEhPTUU6ICdIb21lJyxcbiAgICAgICAgUEFHRV9ET1dOOiAnUGFnZURvd24nLFxuICAgICAgICBQQUdFX1VQOiAnUGFnZVVwJyxcbiAgICAgICAgRjI6ICdGMicsXG4gICAgICAgIFRBQjogJ1RhYicsXG4gICAgICAgIFNFTUlDT0xPTjogJzsnLFxuICAgICAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvS2V5Ym9hcmRFdmVudC9rZXkvS2V5X1ZhbHVlcyNlZGl0aW5nX2tleXNcbiAgICAgICAgREVMRVRFOiAnRGVsZXRlJyxcbiAgICAgICAgQkFDS1NQQUNFOiAnQmFja3NwYWNlJyxcbiAgICAgICAgQ09OVFJPTDogJ0NvbnRyb2wnLFxuICAgICAgICBYOiAneCcsXG4gICAgICAgIFk6ICd5JyxcbiAgICAgICAgWjogJ3onXG4gICAgfSk7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSkgeyB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqIFJldHVybnMgdGhlIGFjdHVhbCBzaXplIG9mIHRoZSBub2RlIGNvbnRlbnQsIHVzaW5nIFJhbmdlXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICogbGV0IGNvbHVtbiA9IHRoaXMuZ3JpZC5jb2x1bW5MaXN0LmZpbHRlcihjID0+IGMuZmllbGQgPT09ICdJRCcpWzBdO1xuICAgICAqXG4gICAgICogbGV0IHNpemUgPSBnZXROb2RlU2l6ZVZpYVJhbmdlKHJhbmdlLCBjb2x1bW4uY2VsbHNbMF0ubmF0aXZlRWxlbWVudCk7XG4gICAgICpcbiAgICAgKiBAcmVtYXJrc1xuICAgICAqIFRoZSBsYXN0IHBhcmFtZXRlciBpcyB1c2VmdWwgd2hlbiB0aGUgc2l6ZSBvZiB0aGUgZWxlbWVudCB0byBtZWFzdXJlIGlzIG1vZGlmaWVkIGJ5IGFcbiAgICAgKiBwYXJlbnQgZWxlbWVudCB0aGF0IGhhcyBleHBsaWNpdCBzaXplLiBJbiBzdWNoIGNhc2VzIHRoZSBjYWxjdWxhdGVkIHNpemUgaXMgbmV2ZXIgbG93ZXJcbiAgICAgKiBhbmQgdGhlIGZ1bmN0aW9uIG1heSBpbnN0ZWFkIHJlbW92ZSB0aGUgcGFyZW50IHNpemUgd2hpbGUgbWVhc3VyaW5nIHRvIGdldCB0aGUgY29ycmVjdCB2YWx1ZS5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Tm9kZVNpemVWaWFSYW5nZShyYW5nZTogUmFuZ2UsIG5vZGU6IEhUTUxFbGVtZW50LCBzaXplSG9sZGluZ05vZGU/OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBsZXQgb3ZlcmZsb3cgPSBudWxsO1xuICAgICAgICBsZXQgbm9kZVN0eWxlcztcblxuICAgICAgICBpZiAoIXRoaXMuaXNGaXJlZm94KSB7XG4gICAgICAgICAgICBvdmVyZmxvdyA9IG5vZGUuc3R5bGUub3ZlcmZsb3c7XG4gICAgICAgICAgICAvLyB3ZSBuZWVkIHRoYXQgaGFjayAtIG90aGVyd2lzZSBjb250ZW50IHdvbid0IGJlIG1lYXN1cmVkIGNvcnJlY3RseSBpbiBJRS9FZGdlXG4gICAgICAgICAgICBub2RlLnN0eWxlLm92ZXJmbG93ID0gJ3Zpc2libGUnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNpemVIb2xkaW5nTm9kZSkge1xuICAgICAgICAgICAgY29uc3Qgc3R5bGUgPSBzaXplSG9sZGluZ05vZGUuc3R5bGU7XG4gICAgICAgICAgICBub2RlU3R5bGVzID0gW3N0eWxlLndpZHRoLCBzdHlsZS5taW5XaWR0aCwgc3R5bGUuZmxleEJhc2lzXTtcbiAgICAgICAgICAgIHN0eWxlLndpZHRoID0gJyc7XG4gICAgICAgICAgICBzdHlsZS5taW5XaWR0aCA9ICcnO1xuICAgICAgICAgICAgc3R5bGUuZmxleEJhc2lzID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMobm9kZSk7XG4gICAgICAgIGNvbnN0IHNjYWxlID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAvIG5vZGUub2Zmc2V0V2lkdGg7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gcmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggLyBzY2FsZTtcblxuICAgICAgICBpZiAoIXRoaXMuaXNGaXJlZm94KSB7XG4gICAgICAgICAgICAvLyB3ZSBuZWVkIHRoYXQgaGFjayAtIG90aGVyd2lzZSBjb250ZW50IHdvbid0IGJlIG1lYXN1cmVkIGNvcnJlY3RseSBpbiBJRS9FZGdlXG4gICAgICAgICAgICBub2RlLnN0eWxlLm92ZXJmbG93ID0gb3ZlcmZsb3c7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2l6ZUhvbGRpbmdOb2RlKSB7XG4gICAgICAgICAgICBzaXplSG9sZGluZ05vZGUuc3R5bGUud2lkdGggPSBub2RlU3R5bGVzWzBdO1xuICAgICAgICAgICAgc2l6ZUhvbGRpbmdOb2RlLnN0eWxlLm1pbldpZHRoID0gbm9kZVN0eWxlc1sxXTtcbiAgICAgICAgICAgIHNpemVIb2xkaW5nTm9kZS5zdHlsZS5mbGV4QmFzaXMgPSBub2RlU3R5bGVzWzJdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHdpZHRoO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBjdXJyZW50IGtleWJvYXJkIGV2ZW50IGlzIGFuIGFjdGl2YXRpb24ga2V5IChFbnRlci9TcGFjZSBiYXIpXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgUGxhdGZvcm1VdGlsXG4gICAgICovXG4gICAgcHVibGljIGlzQWN0aXZhdGlvbktleShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICByZXR1cm4gZXZlbnQua2V5ID09PSB0aGlzLktFWU1BUC5FTlRFUiB8fCBldmVudC5rZXkgPT09IHRoaXMuS0VZTUFQLlNQQUNFO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgY3VycmVudCBrZXlib2FyZCBldmVudCBpcyBhIGNvbWJpbmF0aW9uIHRoYXQgY2xvc2VzIHRoZSBmaWx0ZXJpbmcgVUkgb2YgdGhlIGdyaWQuIChFc2NhcGUvQ3RybCtTaGlmdCtMKVxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIEBwYXJhbSBldmVudFxuICAgICAqIEBtZW1iZXJvZiBQbGF0Zm9ybVV0aWxcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNGaWx0ZXJpbmdLZXlDb21ibyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICByZXR1cm4gZXZlbnQua2V5ID09PSB0aGlzLktFWU1BUC5FU0NBUEUgfHwgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQuc2hpZnRLZXkgJiYgZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkgPT09ICdsJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNMZWZ0Q2xpY2soZXZlbnQ6IFBvaW50ZXJFdmVudCB8IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIGV2ZW50LmJ1dHRvbiA9PT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBpc05hdmlnYXRpb25LZXkoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuS0VZTUFQLkhPTUUsIHRoaXMuS0VZTUFQLkVORCwgdGhpcy5LRVlNQVAuU1BBQ0UsXG4gICAgICAgICAgICB0aGlzLktFWU1BUC5BUlJPV19ET1dOLCB0aGlzLktFWU1BUC5BUlJPV19MRUZULCB0aGlzLktFWU1BUC5BUlJPV19SSUdIVCwgdGhpcy5LRVlNQVAuQVJST1dfVVBcbiAgICAgICAgXS5pbmNsdWRlcyhrZXkpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjb25zdCBmbGF0dGVuID0gKGFycjogYW55W10pID0+IHtcbiAgICBsZXQgcmVzdWx0ID0gW107XG5cbiAgICBhcnIuZm9yRWFjaChlbCA9PiB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGVsKTtcbiAgICAgICAgaWYgKGVsLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IEFycmF5LmlzQXJyYXkoZWwuY2hpbGRyZW4pID8gZWwuY2hpbGRyZW4gOiBlbC5jaGlsZHJlbi50b0FycmF5KCk7XG4gICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGZsYXR0ZW4oY2hpbGRyZW4pKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbmNlbGFibGVFdmVudEFyZ3Mge1xuICAgIC8qKlxuICAgICAqIFByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGNhbmNlbCB0aGUgZXZlbnQuXG4gICAgICovXG4gICAgY2FuY2VsOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKipcbiAgICAgKiBQcm92aWRlcyByZWZlcmVuY2UgdG8gdGhlIG93bmVyIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBvd25lcj86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYW5jZWxhYmxlQnJvd3NlckV2ZW50QXJncyBleHRlbmRzIENhbmNlbGFibGVFdmVudEFyZ3Mge1xuICAgIC8qKiBCcm93c2VyIGV2ZW50ICovXG4gICAgZXZlbnQ/OiBFdmVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQmFzZUNhbmNlbGFibGVCcm93c2VyRXZlbnRBcmdzIGV4dGVuZHMgQ2FuY2VsYWJsZUJyb3dzZXJFdmVudEFyZ3MsIElCYXNlRXZlbnRBcmdzIHsgfVxuXG5leHBvcnQgaW50ZXJmYWNlIElCYXNlQ2FuY2VsYWJsZUV2ZW50QXJncyBleHRlbmRzIENhbmNlbGFibGVFdmVudEFyZ3MsIElCYXNlRXZlbnRBcmdzIHsgfVxuXG5leHBvcnQgY29uc3QgSE9SSVpPTlRBTF9OQVZfS0VZUyA9IG5ldyBTZXQoWydhcnJvd2xlZnQnLCAnbGVmdCcsICdhcnJvd3JpZ2h0JywgJ3JpZ2h0JywgJ2hvbWUnLCAnZW5kJ10pO1xuXG5leHBvcnQgY29uc3QgTkFWSUdBVElPTl9LRVlTID0gbmV3IFNldChbXG4gICAgJ2Rvd24nLFxuICAgICd1cCcsXG4gICAgJ2xlZnQnLFxuICAgICdyaWdodCcsXG4gICAgJ2Fycm93ZG93bicsXG4gICAgJ2Fycm93dXAnLFxuICAgICdhcnJvd2xlZnQnLFxuICAgICdhcnJvd3JpZ2h0JyxcbiAgICAnaG9tZScsXG4gICAgJ2VuZCcsXG4gICAgJ3NwYWNlJyxcbiAgICAnc3BhY2ViYXInLFxuICAgICcgJ1xuXSk7XG5leHBvcnQgY29uc3QgQUNDT1JESU9OX05BVklHQVRJT05fS0VZUyA9IG5ldyBTZXQoJ3VwIGRvd24gYXJyb3d1cCBhcnJvd2Rvd24gaG9tZSBlbmQnLnNwbGl0KCcgJykpO1xuZXhwb3J0IGNvbnN0IFJPV19FWFBBTkRfS0VZUyA9IG5ldyBTZXQoJ3JpZ2h0IGRvd24gYXJyb3dyaWdodCBhcnJvd2Rvd24nLnNwbGl0KCcgJykpO1xuZXhwb3J0IGNvbnN0IFJPV19DT0xMQVBTRV9LRVlTID0gbmV3IFNldCgnbGVmdCB1cCBhcnJvd2xlZnQgYXJyb3d1cCcuc3BsaXQoJyAnKSk7XG5leHBvcnQgY29uc3QgUk9XX0FERF9LRVlTID0gbmV3IFNldChbJysnLCAnYWRkJywgJ+KJoCcsICfCsScsICc9J10pO1xuZXhwb3J0IGNvbnN0IFNVUFBPUlRFRF9LRVlTID0gbmV3IFNldChbLi4uQXJyYXkuZnJvbShOQVZJR0FUSU9OX0tFWVMpLFxuLi4uQXJyYXkuZnJvbShST1dfQUREX0tFWVMpLCAnZW50ZXInLCAnZjInLCAnZXNjYXBlJywgJ2VzYycsICdwYWdlZG93bicsICdwYWdldXAnXSk7XG5leHBvcnQgY29uc3QgSEVBREVSX0tFWVMgPSBuZXcgU2V0KFsuLi5BcnJheS5mcm9tKE5BVklHQVRJT05fS0VZUyksICdlc2NhcGUnLCAnZXNjJywgJ2wnLFxuICAgIC8qKiBUaGlzIHN5bWJvbCBjb3JyZXNwb25kcyB0byB0aGUgQWx0ICsgTCBjb21iaW5hdGlvbiB1bmRlciBNQUMuICovXG4gICAgJ8KsJ10pO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqIEBpbnRlcm5hbFxuICpcbiAqIENyZWF0ZXMgYSBuZXcgUmVzaXplT2JzZXJ2ZXIgb24gYHRhcmdldGAgYW5kIHJldHVybnMgaXQgYXMgYW4gT2JzZXJ2YWJsZS5cbiAqIFJ1biB0aGUgcmVzaXplT2JzZXJ2YWJsZSBvdXRzaWRlIGFuZ3VsYXIgem9uZSwgYmVjYXVzZSBpdCBwYXRjaGVzIHRoZSBNdXRhdGlvbk9ic2VydmVyIHdoaWNoIGNhdXNlcyBhbiBpbmZpbml0ZSBsb29wLlxuICogUmVsYXRlZCBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMzE3MTJcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc2l6ZU9ic2VydmFibGUgPSAodGFyZ2V0OiBIVE1MRWxlbWVudCk6IE9ic2VydmFibGU8UmVzaXplT2JzZXJ2ZXJFbnRyeVtdPiA9PiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyAoZ2V0UmVzaXplT2JzZXJ2ZXIoKSkoKGVudHJpZXM6IFJlc2l6ZU9ic2VydmVyRW50cnlbXSkgPT4ge1xuICAgICAgICBvYnNlcnZlci5uZXh0KGVudHJpZXMpO1xuICAgIH0pO1xuICAgIGluc3RhbmNlLm9ic2VydmUodGFyZ2V0KTtcbiAgICBjb25zdCB1bnN1YnNjcmliZSA9ICgpID0+IGluc3RhbmNlLmRpc2Nvbm5lY3QoKTtcbiAgICByZXR1cm4gdW5zdWJzY3JpYmU7XG59KTtcblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqXG4gKiBDb21wYXJlcyB0d28gbWFwcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbXBhcmVNYXBzID0gKG1hcDE6IE1hcDxhbnksIGFueT4sIG1hcDI6IE1hcDxhbnksIGFueT4pOiBib29sZWFuID0+IHtcbiAgICBpZiAoIW1hcDIpIHtcbiAgICAgICAgcmV0dXJuICFtYXAxID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cbiAgICBpZiAobWFwMS5zaXplICE9PSBtYXAyLnNpemUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBsZXQgbWF0Y2ggPSB0cnVlO1xuICAgIGNvbnN0IGtleXMgPSBBcnJheS5mcm9tKG1hcDIua2V5cygpKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgIGlmIChtYXAxLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICBtYXRjaCA9IG1hcDEuZ2V0KGtleSkgPT09IG1hcDIuZ2V0KGtleSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtYXRjaCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXRjaDtcbn07XG5cbi8qKlxuICpcbiAqIEdpdmVuIGEgcHJvcGVydHkgYWNjZXNzIHBhdGggaW4gdGhlIGZvcm1hdCBgeC55LnpgIHJlc29sdmVzIGFuZCByZXR1cm5zXG4gKiB0aGUgdmFsdWUgb2YgdGhlIGB6YCBwcm9wZXJ0eSBpbiB0aGUgcGFzc2VkIG9iamVjdC5cbiAqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVOZXN0ZWRQYXRoID0gKG9iajogYW55LCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBwYXJ0cyA9IHBhdGg/LnNwbGl0KCcuJykgPz8gW107XG4gICAgbGV0IGN1cnJlbnQgPSBvYmpbcGFydHMuc2hpZnQoKV07XG5cbiAgICBwYXJ0cy5mb3JFYWNoKHByb3AgPT4ge1xuICAgICAgICBpZiAoY3VycmVudCkge1xuICAgICAgICAgICAgY3VycmVudCA9IGN1cnJlbnRbcHJvcF07XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBjdXJyZW50O1xufTtcblxuLyoqXG4gKlxuICogR2l2ZW4gYSBwcm9wZXJ0eSBhY2Nlc3MgcGF0aCBpbiB0aGUgZm9ybWF0IGB4LnkuemAgYW5kIGEgdmFsdWVcbiAqIHRoaXMgZnVuY3Rpb25zIGJ1aWxkcyBhbmQgcmV0dXJucyBhbiBvYmplY3QgZm9sbG93aW5nIHRoZSBhY2Nlc3MgcGF0aC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc29sZS5sb2coJ3gueS56LicsIDQyKTtcbiAqID4+IHsgeDogeyB5OiB7IHo6IDQyIH0gfSB9XG4gKiBgYGBcbiAqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHJldmVyc2VNYXBwZXIgPSAocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KSA9PiB7XG4gICAgY29uc3Qgb2JqID0ge307XG4gICAgY29uc3QgcGFydHMgPSBwYXRoPy5zcGxpdCgnLicpID8/IFtdO1xuXG4gICAgbGV0IF9wcm9wID0gcGFydHMuc2hpZnQoKTtcbiAgICBsZXQgbWFwcGluZzogYW55O1xuXG4gICAgLy8gSW5pdGlhbCBiaW5kaW5nIGZvciBmaXJzdCBsZXZlbCBiaW5kaW5nc1xuICAgIG9ialtfcHJvcF0gPSB2YWx1ZTtcbiAgICBtYXBwaW5nID0gb2JqO1xuXG4gICAgcGFydHMuZm9yRWFjaChwcm9wID0+IHtcbiAgICAgICAgLy8gU3RhcnQgYnVpbGRpbmcgdGhlIGhpZXJhcmNoeVxuICAgICAgICBtYXBwaW5nW19wcm9wXSA9IHt9O1xuICAgICAgICAvLyBHbyBkb3duIGEgbGV2ZWxcbiAgICAgICAgbWFwcGluZyA9IG1hcHBpbmdbX3Byb3BdO1xuICAgICAgICAvLyBCaW5kIHRoZSB2YWx1ZSBhbmQgbW92ZSB0aGUga2V5XG4gICAgICAgIG1hcHBpbmdbcHJvcF0gPSB2YWx1ZTtcbiAgICAgICAgX3Byb3AgPSBwcm9wO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG9iajtcbn07XG5cbmV4cG9ydCBjb25zdCB5aWVsZGluZ0xvb3AgPSAoY291bnQ6IG51bWJlciwgY2h1bmtTaXplOiBudW1iZXIsIGNhbGxiYWNrOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZCwgZG9uZTogKCkgPT4gdm9pZCkgPT4ge1xuICAgIGxldCBpID0gMDtcbiAgICBjb25zdCBjaHVuayA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgZW5kID0gTWF0aC5taW4oaSArIGNodW5rU2l6ZSwgY291bnQpO1xuICAgICAgICBmb3IgKDsgaSA8IGVuZDsgKytpKSB7XG4gICAgICAgICAgICBjYWxsYmFjayhpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaSA8IGNvdW50KSB7XG4gICAgICAgICAgICBzZXRJbW1lZGlhdGUoY2h1bmspO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBjaHVuaygpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQ29uc3RydWN0b3IgPSAocmVmOiBhbnkpID0+IHR5cGVvZiByZWYgPT09ICdmdW5jdGlvbicgJiYgQm9vbGVhbihyZWYucHJvdG90eXBlKSAmJiBCb29sZWFuKHJlZi5wcm90b3R5cGUuY29uc3RydWN0b3IpO1xuXG5leHBvcnQgY29uc3QgcmV2ZXJzZUFuaW1hdGlvblJlc29sdmVyID0gKGFuaW1hdGlvbjogQW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGEpOiBBbmltYXRpb25SZWZlcmVuY2VNZXRhZGF0YSA9PlxuICAgIG9wcG9zaXRlQW5pbWF0aW9uLmdldChhbmltYXRpb24pID8/IGFuaW1hdGlvbjtcblxuZXhwb3J0IGNvbnN0IGlzSG9yaXpvbnRhbEFuaW1hdGlvbiA9IChhbmltYXRpb246IEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhKTogYm9vbGVhbiA9PiBob3Jpem9udGFsQW5pbWF0aW9ucy5pbmNsdWRlcyhhbmltYXRpb24pO1xuXG5leHBvcnQgY29uc3QgaXNWZXJ0aWNhbEFuaW1hdGlvbiA9IChhbmltYXRpb246IEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhKTogYm9vbGVhbiA9PiB2ZXJ0aWNhbEFuaW1hdGlvbnMuaW5jbHVkZXMoYW5pbWF0aW9uKTtcblxuY29uc3Qgb3Bwb3NpdGVBbmltYXRpb246IE1hcDxBbmltYXRpb25SZWZlcmVuY2VNZXRhZGF0YSwgQW5pbWF0aW9uUmVmZXJlbmNlTWV0YWRhdGE+ID0gbmV3IE1hcChbXG4gICAgW2ZhZGVJbiwgZmFkZUluXSxcbiAgICBbZmFkZU91dCwgZmFkZU91dF0sXG4gICAgW2ZsaXBUb3AsIGZsaXBCb3R0b21dLFxuICAgIFtmbGlwQm90dG9tLCBmbGlwVG9wXSxcbiAgICBbZmxpcFJpZ2h0LCBmbGlwTGVmdF0sXG4gICAgW2ZsaXBMZWZ0LCBmbGlwUmlnaHRdLFxuICAgIFtmbGlwSG9yRndkLCBmbGlwSG9yQmNrXSxcbiAgICBbZmxpcEhvckJjaywgZmxpcEhvckZ3ZF0sXG4gICAgW2ZsaXBWZXJGd2QsIGZsaXBWZXJCY2tdLFxuICAgIFtmbGlwVmVyQmNrLCBmbGlwVmVyRndkXSxcbiAgICBbZ3Jvd1ZlckluLCBncm93VmVySW5dLFxuICAgIFtncm93VmVyT3V0LCBncm93VmVyT3V0XSxcbiAgICBbaGVhcnRiZWF0LCBoZWFydGJlYXRdLFxuICAgIFtwdWxzYXRlRndkLCBwdWxzYXRlQmNrXSxcbiAgICBbcHVsc2F0ZUJjaywgcHVsc2F0ZUZ3ZF0sXG4gICAgW2JsaW5rLCBibGlua10sXG4gICAgW3NoYWtlSG9yLCBzaGFrZUhvcl0sXG4gICAgW3NoYWtlVmVyLCBzaGFrZVZlcl0sXG4gICAgW3NoYWtlVG9wLCBzaGFrZVRvcF0sXG4gICAgW3NoYWtlQm90dG9tLCBzaGFrZUJvdHRvbV0sXG4gICAgW3NoYWtlUmlnaHQsIHNoYWtlUmlnaHRdLFxuICAgIFtzaGFrZUxlZnQsIHNoYWtlTGVmdF0sXG4gICAgW3NoYWtlQ2VudGVyLCBzaGFrZUNlbnRlcl0sXG4gICAgW3NoYWtlVHIsIHNoYWtlVHJdLFxuICAgIFtzaGFrZUJyLCBzaGFrZUJyXSxcbiAgICBbc2hha2VCbCwgc2hha2VCbF0sXG4gICAgW3NoYWtlVGwsIHNoYWtlVGxdLFxuICAgIFtyb3RhdGVJbkNlbnRlciwgcm90YXRlSW5DZW50ZXJdLFxuICAgIFtyb3RhdGVPdXRDZW50ZXIsIHJvdGF0ZU91dENlbnRlcl0sXG4gICAgW3JvdGF0ZUluVG9wLCByb3RhdGVJbkJvdHRvbV0sXG4gICAgW3JvdGF0ZU91dFRvcCwgcm90YXRlT3V0Qm90dG9tXSxcbiAgICBbcm90YXRlSW5SaWdodCwgcm90YXRlSW5MZWZ0XSxcbiAgICBbcm90YXRlT3V0UmlnaHQsIHJvdGF0ZU91dExlZnRdLFxuICAgIFtyb3RhdGVJbkxlZnQsIHJvdGF0ZUluUmlnaHRdLFxuICAgIFtyb3RhdGVPdXRMZWZ0LCByb3RhdGVPdXRSaWdodF0sXG4gICAgW3JvdGF0ZUluQm90dG9tLCByb3RhdGVJblRvcF0sXG4gICAgW3JvdGF0ZU91dEJvdHRvbSwgcm90YXRlT3V0VG9wXSxcbiAgICBbcm90YXRlSW5Uciwgcm90YXRlSW5CbF0sXG4gICAgW3JvdGF0ZU91dFRyLCByb3RhdGVPdXRCbF0sXG4gICAgW3JvdGF0ZUluQnIsIHJvdGF0ZUluVGxdLFxuICAgIFtyb3RhdGVPdXRCciwgcm90YXRlT3V0VGxdLFxuICAgIFtyb3RhdGVJbkJsLCByb3RhdGVJblRyXSxcbiAgICBbcm90YXRlT3V0QmwsIHJvdGF0ZU91dFRyXSxcbiAgICBbcm90YXRlSW5UbCwgcm90YXRlSW5Ccl0sXG4gICAgW3JvdGF0ZU91dFRsLCByb3RhdGVPdXRCcl0sXG4gICAgW3JvdGF0ZUluRGlhZ29uYWwxLCByb3RhdGVJbkRpYWdvbmFsMV0sXG4gICAgW3JvdGF0ZU91dERpYWdvbmFsMSwgcm90YXRlT3V0RGlhZ29uYWwxXSxcbiAgICBbcm90YXRlSW5EaWFnb25hbDIsIHJvdGF0ZUluRGlhZ29uYWwyXSxcbiAgICBbcm90YXRlT3V0RGlhZ29uYWwyLCByb3RhdGVPdXREaWFnb25hbDJdLFxuICAgIFtyb3RhdGVJbkhvciwgcm90YXRlSW5Ib3JdLFxuICAgIFtyb3RhdGVPdXRIb3IsIHJvdGF0ZU91dEhvcl0sXG4gICAgW3JvdGF0ZUluVmVyLCByb3RhdGVJblZlcl0sXG4gICAgW3JvdGF0ZU91dFZlciwgcm90YXRlT3V0VmVyXSxcbiAgICBbc2NhbGVJblRvcCwgc2NhbGVJbkJvdHRvbV0sXG4gICAgW3NjYWxlT3V0VG9wLCBzY2FsZU91dEJvdHRvbV0sXG4gICAgW3NjYWxlSW5SaWdodCwgc2NhbGVJbkxlZnRdLFxuICAgIFtzY2FsZU91dFJpZ2h0LCBzY2FsZU91dExlZnRdLFxuICAgIFtzY2FsZUluQm90dG9tLCBzY2FsZUluVG9wXSxcbiAgICBbc2NhbGVPdXRCb3R0b20sIHNjYWxlT3V0VG9wXSxcbiAgICBbc2NhbGVJbkxlZnQsIHNjYWxlSW5SaWdodF0sXG4gICAgW3NjYWxlT3V0TGVmdCwgc2NhbGVPdXRSaWdodF0sXG4gICAgW3NjYWxlSW5DZW50ZXIsIHNjYWxlSW5DZW50ZXJdLFxuICAgIFtzY2FsZU91dENlbnRlciwgc2NhbGVPdXRDZW50ZXJdLFxuICAgIFtzY2FsZUluVHIsIHNjYWxlSW5CbF0sXG4gICAgW3NjYWxlT3V0VHIsIHNjYWxlT3V0QmxdLFxuICAgIFtzY2FsZUluQnIsIHNjYWxlSW5UbF0sXG4gICAgW3NjYWxlT3V0QnIsIHNjYWxlT3V0VGxdLFxuICAgIFtzY2FsZUluQmwsIHNjYWxlSW5Ucl0sXG4gICAgW3NjYWxlT3V0QmwsIHNjYWxlT3V0VHJdLFxuICAgIFtzY2FsZUluVGwsIHNjYWxlSW5Ccl0sXG4gICAgW3NjYWxlT3V0VGwsIHNjYWxlT3V0QnJdLFxuICAgIFtzY2FsZUluVmVyVG9wLCBzY2FsZUluVmVyQm90dG9tXSxcbiAgICBbc2NhbGVPdXRWZXJUb3AsIHNjYWxlT3V0VmVyQm90dG9tXSxcbiAgICBbc2NhbGVJblZlckJvdHRvbSwgc2NhbGVJblZlclRvcF0sXG4gICAgW3NjYWxlT3V0VmVyQm90dG9tLCBzY2FsZU91dFZlclRvcF0sXG4gICAgW3NjYWxlSW5WZXJDZW50ZXIsIHNjYWxlSW5WZXJDZW50ZXJdLFxuICAgIFtzY2FsZU91dFZlckNlbnRlciwgc2NhbGVPdXRWZXJDZW50ZXJdLFxuICAgIFtzY2FsZUluSG9yQ2VudGVyLCBzY2FsZUluSG9yQ2VudGVyXSxcbiAgICBbc2NhbGVPdXRIb3JDZW50ZXIsIHNjYWxlT3V0SG9yQ2VudGVyXSxcbiAgICBbc2NhbGVJbkhvckxlZnQsIHNjYWxlSW5Ib3JSaWdodF0sXG4gICAgW3NjYWxlT3V0SG9yTGVmdCwgc2NhbGVPdXRIb3JSaWdodF0sXG4gICAgW3NjYWxlSW5Ib3JSaWdodCwgc2NhbGVJbkhvckxlZnRdLFxuICAgIFtzY2FsZU91dEhvclJpZ2h0LCBzY2FsZU91dEhvckxlZnRdLFxuICAgIFtzbGlkZUluVG9wLCBzbGlkZUluQm90dG9tXSxcbiAgICBbc2xpZGVPdXRUb3AsIHNsaWRlT3V0Qm90dG9tXSxcbiAgICBbc2xpZGVJblJpZ2h0LCBzbGlkZUluTGVmdF0sXG4gICAgW3NsaWRlT3V0UmlnaHQsIHNsaWRlT3V0TGVmdF0sXG4gICAgW3NsaWRlSW5Cb3R0b20sIHNsaWRlSW5Ub3BdLFxuICAgIFtzbGlkZU91dEJvdHRvbSwgc2xpZGVPdXRUb3BdLFxuICAgIFtzbGlkZUluTGVmdCwgc2xpZGVJblJpZ2h0XSxcbiAgICBbc2xpZGVPdXRMZWZ0LCBzbGlkZU91dFJpZ2h0XSxcbiAgICBbc2xpZGVJblRyLCBzbGlkZUluQmxdLFxuICAgIFtzbGlkZU91dFRyLCBzbGlkZU91dEJsXSxcbiAgICBbc2xpZGVJbkJyLCBzbGlkZUluVGxdLFxuICAgIFtzbGlkZU91dEJyLCBzbGlkZU91dFRsXSxcbiAgICBbc2xpZGVJbkJsLCBzbGlkZUluVHJdLFxuICAgIFtzbGlkZU91dEJsLCBzbGlkZU91dFRyXSxcbiAgICBbc2xpZGVJblRsLCBzbGlkZUluQnJdLFxuICAgIFtzbGlkZU91dFRsLCBzbGlkZU91dEJyXSxcbiAgICBbc3dpbmdJblRvcEZ3ZCwgc3dpbmdJbkJvdHRvbUZ3ZF0sXG4gICAgW3N3aW5nT3V0VG9wRndkLCBzd2luZ091dEJvdHRvbUZ3ZF0sXG4gICAgW3N3aW5nSW5SaWdodEZ3ZCwgc3dpbmdJbkxlZnRGd2RdLFxuICAgIFtzd2luZ091dFJpZ2h0RndkLCBzd2luZ091dExlZnR0RndkXSxcbiAgICBbc3dpbmdJbkxlZnRGd2QsIHN3aW5nSW5SaWdodEZ3ZF0sXG4gICAgW3N3aW5nT3V0TGVmdHRGd2QsIHN3aW5nT3V0UmlnaHRGd2RdLFxuICAgIFtzd2luZ0luQm90dG9tRndkLCBzd2luZ0luVG9wRndkXSxcbiAgICBbc3dpbmdPdXRCb3R0b21Gd2QsIHN3aW5nT3V0VG9wRndkXSxcbiAgICBbc3dpbmdJblRvcEJjaywgc3dpbmdJbkJvdHRvbUJja10sXG4gICAgW3N3aW5nT3V0VG9wQmNrLCBzd2luZ091dEJvdHRvbUJja10sXG4gICAgW3N3aW5nSW5SaWdodEJjaywgc3dpbmdJbkxlZnRCY2tdLFxuICAgIFtzd2luZ091dFJpZ2h0QmNrLCBzd2luZ091dExlZnRCY2tdLFxuICAgIFtzd2luZ0luQm90dG9tQmNrLCBzd2luZ0luVG9wQmNrXSxcbiAgICBbc3dpbmdPdXRCb3R0b21CY2ssIHN3aW5nT3V0VG9wQmNrXSxcbiAgICBbc3dpbmdJbkxlZnRCY2ssIHN3aW5nSW5SaWdodEJja10sXG4gICAgW3N3aW5nT3V0TGVmdEJjaywgc3dpbmdPdXRSaWdodEJja10sXG5dKTtcblxuY29uc3QgaG9yaXpvbnRhbEFuaW1hdGlvbnM6IEFuaW1hdGlvblJlZmVyZW5jZU1ldGFkYXRhW10gPSBbXG4gICAgZmxpcFJpZ2h0LFxuICAgIGZsaXBMZWZ0LFxuICAgIGZsaXBWZXJGd2QsXG4gICAgZmxpcFZlckJjayxcbiAgICByb3RhdGVJblJpZ2h0LFxuICAgIHJvdGF0ZU91dFJpZ2h0LFxuICAgIHJvdGF0ZUluTGVmdCxcbiAgICByb3RhdGVPdXRMZWZ0LFxuICAgIHJvdGF0ZUluVHIsXG4gICAgcm90YXRlT3V0VHIsXG4gICAgcm90YXRlSW5CcixcbiAgICByb3RhdGVPdXRCcixcbiAgICByb3RhdGVJbkJsLFxuICAgIHJvdGF0ZU91dEJsLFxuICAgIHJvdGF0ZUluVGwsXG4gICAgcm90YXRlT3V0VGwsXG4gICAgc2NhbGVJblJpZ2h0LFxuICAgIHNjYWxlT3V0UmlnaHQsXG4gICAgc2NhbGVJbkxlZnQsXG4gICAgc2NhbGVPdXRMZWZ0LFxuICAgIHNjYWxlSW5UcixcbiAgICBzY2FsZU91dFRyLFxuICAgIHNjYWxlSW5CcixcbiAgICBzY2FsZU91dEJyLFxuICAgIHNjYWxlSW5CbCxcbiAgICBzY2FsZU91dEJsLFxuICAgIHNjYWxlSW5UbCxcbiAgICBzY2FsZU91dFRsLFxuICAgIHNjYWxlSW5Ib3JMZWZ0LFxuICAgIHNjYWxlT3V0SG9yTGVmdCxcbiAgICBzY2FsZUluSG9yUmlnaHQsXG4gICAgc2NhbGVPdXRIb3JSaWdodCxcbiAgICBzbGlkZUluUmlnaHQsXG4gICAgc2xpZGVPdXRSaWdodCxcbiAgICBzbGlkZUluTGVmdCxcbiAgICBzbGlkZU91dExlZnQsXG4gICAgc2xpZGVJblRyLFxuICAgIHNsaWRlT3V0VHIsXG4gICAgc2xpZGVJbkJyLFxuICAgIHNsaWRlT3V0QnIsXG4gICAgc2xpZGVJbkJsLFxuICAgIHNsaWRlT3V0QmwsXG4gICAgc2xpZGVJblRsLFxuICAgIHNsaWRlT3V0VGwsXG4gICAgc3dpbmdJblJpZ2h0RndkLFxuICAgIHN3aW5nT3V0UmlnaHRGd2QsXG4gICAgc3dpbmdJbkxlZnRGd2QsXG4gICAgc3dpbmdPdXRMZWZ0dEZ3ZCxcbiAgICBzd2luZ0luUmlnaHRCY2ssXG4gICAgc3dpbmdPdXRSaWdodEJjayxcbiAgICBzd2luZ0luTGVmdEJjayxcbiAgICBzd2luZ091dExlZnRCY2ssXG5dO1xuY29uc3QgdmVydGljYWxBbmltYXRpb25zOiBBbmltYXRpb25SZWZlcmVuY2VNZXRhZGF0YVtdID0gW1xuICAgIGZsaXBUb3AsXG4gICAgZmxpcEJvdHRvbSxcbiAgICBmbGlwSG9yRndkLFxuICAgIGZsaXBIb3JCY2ssXG4gICAgZ3Jvd1ZlckluLFxuICAgIGdyb3dWZXJPdXQsXG4gICAgcm90YXRlSW5Ub3AsXG4gICAgcm90YXRlT3V0VG9wLFxuICAgIHJvdGF0ZUluQm90dG9tLFxuICAgIHJvdGF0ZU91dEJvdHRvbSxcbiAgICByb3RhdGVJblRyLFxuICAgIHJvdGF0ZU91dFRyLFxuICAgIHJvdGF0ZUluQnIsXG4gICAgcm90YXRlT3V0QnIsXG4gICAgcm90YXRlSW5CbCxcbiAgICByb3RhdGVPdXRCbCxcbiAgICByb3RhdGVJblRsLFxuICAgIHJvdGF0ZU91dFRsLFxuICAgIHNjYWxlSW5Ub3AsXG4gICAgc2NhbGVPdXRUb3AsXG4gICAgc2NhbGVJbkJvdHRvbSxcbiAgICBzY2FsZU91dEJvdHRvbSxcbiAgICBzY2FsZUluVHIsXG4gICAgc2NhbGVPdXRUcixcbiAgICBzY2FsZUluQnIsXG4gICAgc2NhbGVPdXRCcixcbiAgICBzY2FsZUluQmwsXG4gICAgc2NhbGVPdXRCbCxcbiAgICBzY2FsZUluVGwsXG4gICAgc2NhbGVPdXRUbCxcbiAgICBzY2FsZUluVmVyVG9wLFxuICAgIHNjYWxlT3V0VmVyVG9wLFxuICAgIHNjYWxlSW5WZXJCb3R0b20sXG4gICAgc2NhbGVPdXRWZXJCb3R0b20sXG4gICAgc2xpZGVJblRvcCxcbiAgICBzbGlkZU91dFRvcCxcbiAgICBzbGlkZUluQm90dG9tLFxuICAgIHNsaWRlT3V0Qm90dG9tLFxuICAgIHNsaWRlSW5UcixcbiAgICBzbGlkZU91dFRyLFxuICAgIHNsaWRlSW5CcixcbiAgICBzbGlkZU91dEJyLFxuICAgIHNsaWRlSW5CbCxcbiAgICBzbGlkZU91dEJsLFxuICAgIHNsaWRlSW5UbCxcbiAgICBzbGlkZU91dFRsLFxuICAgIHN3aW5nSW5Ub3BGd2QsXG4gICAgc3dpbmdPdXRUb3BGd2QsXG4gICAgc3dpbmdJbkJvdHRvbUZ3ZCxcbiAgICBzd2luZ091dEJvdHRvbUZ3ZCxcbiAgICBzd2luZ0luVG9wQmNrLFxuICAgIHN3aW5nT3V0VG9wQmNrLFxuICAgIHN3aW5nSW5Cb3R0b21CY2ssXG4gICAgc3dpbmdPdXRCb3R0b21CY2ssXG5dO1xuXG5cbi8qKlxuICogU2ltaWxhciB0byBBbmd1bGFyJ3MgZm9ybWF0RGF0ZS4gSG93ZXZlciBpdCB3aWxsIG5vdCB0aHJvdyBvbiBgdW5kZWZpbmVkIHwgbnVsbCB8ICcnYCBpbnN0ZWFkXG4gKiBjb2FsZXNjaW5nIHRvIGFuIGVtcHR5IHN0cmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1hdERhdGUgPSAodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IERhdGUsIGZvcm1hdDogc3RyaW5nLCBsb2NhbGU6IHN0cmluZywgdGltZXpvbmU/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBfZm9ybWF0RGF0ZSh2YWx1ZSwgZm9ybWF0LCBsb2NhbGUsIHRpbWV6b25lKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRDdXJyZW5jeSA9IG5ldyBDdXJyZW5jeVBpcGUodW5kZWZpbmVkKS50cmFuc2Zvcm07XG4iXX0=