Socket
Socket
Sign inDemoInstall

@ionic-native/code-push

Package Overview
Dependencies
Maintainers
6
Versions
163
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ionic-native/code-push - npm Package Compare versions

Comparing version 5.21.2 to 5.21.3

8

ngx/index.js

@@ -1,2 +0,2 @@

import { __decorate, __extends } from "tslib";
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';

@@ -68,3 +68,3 @@ import { IonicNativePlugin, cordova } from '@ionic-native/core';

var CodePush = /** @class */ (function (_super) {
__extends(CodePush, _super);
tslib_1.__extends(CodePush, _super);
function CodePush() {

@@ -84,3 +84,3 @@ return _super !== null && _super.apply(this, arguments) || this;

CodePush.platforms = ["Android", "iOS"];
CodePush = __decorate([
CodePush = tslib_1.__decorate([
Injectable()

@@ -91,2 +91,2 @@ ], CodePush);

export { CodePush };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQGlvbmljLW5hdGl2ZS9wbHVnaW5zL2NvZGUtcHVzaC9uZ3gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyw4QkFBc0MsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBc1JsQzs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLFVBK0NYO0FBL0NELFdBQVksVUFBVTtJQUNwQjs7T0FFRztJQUNILHVEQUFVLENBQUE7SUFFVjs7O09BR0c7SUFDSCxtRUFBZ0IsQ0FBQTtJQUVoQjs7T0FFRztJQUNILCtEQUFjLENBQUE7SUFFZDs7O09BR0c7SUFDSCw2Q0FBSyxDQUFBO0lBRUw7O09BRUc7SUFDSCx5REFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCx5RUFBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILDJFQUFvQixDQUFBO0lBRXBCOztPQUVHO0lBQ0gseUVBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCxxRUFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBL0NXLFVBQVUsS0FBVixVQUFVLFFBK0NyQjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksV0FlWDtBQWZELFdBQVksV0FBVztJQUNyQjs7T0FFRztJQUNILHVEQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILG1FQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILGlFQUFjLENBQUE7QUFDaEIsQ0FBQyxFQWZXLFdBQVcsS0FBWCxXQUFXLFFBZXRCOztJQTJJNkIsNEJBQWlCOzs7O0lBTzdDLG9DQUFpQjtJQVVqQixvQ0FBaUI7SUFhakIsaUNBQWMsYUFBQyxhQUFzQjtJQVlyQyx5Q0FBc0I7SUFVdEIscUNBQWtCO0lBNkJsQix1QkFBSSxhQUNGLFdBQXlCLEVBQ3pCLGdCQUFvRDs7Ozs7O0lBbkYzQyxRQUFRO1FBRHBCLFVBQVUsRUFBRTtPQUNBLFFBQVE7bUJBemVyQjtFQXllOEIsaUJBQWlCO1NBQWxDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3Jkb3ZhLCBJb25pY05hdGl2ZVBsdWdpbiwgUGx1Z2luIH0gZnJvbSAnQGlvbmljLW5hdGl2ZS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxubmFtZXNwYWNlIEh0dHAge1xuICBleHBvcnQgY29uc3QgZW51bSBWZXJiIHtcbiAgICBHRVQsXG4gICAgSEVBRCxcbiAgICBQT1NULFxuICAgIFBVVCxcbiAgICBERUxFVEUsXG4gICAgVFJBQ0UsXG4gICAgT1BUSU9OUyxcbiAgICBDT05ORUNULFxuICAgIFBBVENIXG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlIHtcbiAgICBzdGF0dXNDb2RlOiBudW1iZXI7XG4gICAgYm9keT86IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdGVyIHtcbiAgICByZXF1ZXN0KHZlcmI6IFZlcmIsIHVybDogc3RyaW5nLCBjYWxsYmFjazogQ2FsbGJhY2s8UmVzcG9uc2U+KTogdm9pZDtcbiAgICByZXF1ZXN0KFxuICAgICAgdmVyYjogVmVyYixcbiAgICAgIHVybDogc3RyaW5nLFxuICAgICAgcmVxdWVzdEJvZHk6IHN0cmluZyxcbiAgICAgIGNhbGxiYWNrOiBDYWxsYmFjazxSZXNwb25zZT5cbiAgICApOiB2b2lkO1xuICB9XG59XG5cbi8qKlxuICogRGVmaW5lcyBhIHBhY2thZ2UuIEFsbCBmaWVsZHMgYXJlIG5vbi1udWxsYWJsZSwgZXhjZXB0IHdoZW4gcmV0cmlldmluZyB0aGUgY3VycmVudGx5IHJ1bm5pbmcgcGFja2FnZSBvbiB0aGUgZmlyc3QgcnVuIG9mIHRoZSBhcHAsXG4gKiBpbiB3aGljaCBjYXNlIG9ubHkgdGhlIGFwcFZlcnNpb24gaXMgY29tcHVsc29yeS5cbiAqXG4gKiAhISBUSElTIFRZUEUgSVMgUkVBRCBGUk9NIE5BVElWRSBDT0RFIEFTIFdFTEwuIEFOWSBDSEFOR0VTIFRPIFRISVMgSU5URVJGQUNFIE5FRURTIFRPIEJFIFVQREFURUQgSU4gTkFUSVZFIENPREUgISFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGFja2FnZSB7XG4gIGRlcGxveW1lbnRLZXk6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgYXBwVmVyc2lvbjogc3RyaW5nO1xuICBpc01hbmRhdG9yeTogYm9vbGVhbjtcbiAgcGFja2FnZUhhc2g6IHN0cmluZztcbiAgcGFja2FnZVNpemU6IG51bWJlcjtcbiAgZmFpbGVkSW5zdGFsbDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIGEgcmVtb3RlIHBhY2thZ2UsIHdoaWNoIHJlcHJlc2VudHMgYW4gdXBkYXRlIHBhY2thZ2UgYXZhaWxhYmxlIGZvciBkb3dubG9hZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmVtb3RlUGFja2FnZSBleHRlbmRzIElQYWNrYWdlIHtcbiAgLyoqXG4gICAqIFRoZSBVUkwgYXQgd2hpY2ggdGhlIHBhY2thZ2UgaXMgYXZhaWxhYmxlIGZvciBkb3dubG9hZC5cbiAgICovXG4gIGRvd25sb2FkVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERvd25sb2FkcyB0aGUgcGFja2FnZSB1cGRhdGUgZnJvbSB0aGUgQ29kZVB1c2ggc2VydmljZS5cbiAgICpcbiAgICogQHBhcmFtIHtTdWNjZXNzQ2FsbGJhY2t9IGRvd25sb2FkU3VjY2VzcyBDYWxsZWQgd2l0aCBvbmUgcGFyYW1ldGVyLCB0aGUgZG93bmxvYWRlZCBwYWNrYWdlIGluZm9ybWF0aW9uLCBvbmNlIHRoZSBkb3dubG9hZCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LlxuICAgKiBAcGFyYW0ge0Vycm9yQ2FsbGJhY2t9IFtkb3dubG9hZEVycm9yXSBPcHRpb25hbCBjYWxsYmFjayBpbnZva2VkIGluIGNhc2Ugb2YgYW4gZXJyb3IuXG4gICAqIEBwYXJhbSB7U3VjY2Vzc0NhbGxiYWNrPERvd25sb2FkUHJvZ3Jlc3M+fSBbZG93bmxvYWRQcm9ncmVzc10gT3B0aW9uYWwgY2FsbGJhY2sgaW52b2tlZCBkdXJpbmcgdGhlIGRvd25sb2FkIHByb2Nlc3MuIEl0IGlzIGNhbGxlZCBzZXZlcmFsIHRpbWVzIHdpdGggb25lIERvd25sb2FkUHJvZ3Jlc3MgcGFyYW1ldGVyLlxuICAgKi9cbiAgZG93bmxvYWQoXG4gICAgZG93bmxvYWRTdWNjZXNzOiBTdWNjZXNzQ2FsbGJhY2s8SUxvY2FsUGFja2FnZT4sXG4gICAgZG93bmxvYWRFcnJvcj86IEVycm9yQ2FsbGJhY2ssXG4gICAgZG93bmxvYWRQcm9ncmVzcz86IFN1Y2Nlc3NDYWxsYmFjazxEb3dubG9hZFByb2dyZXNzPlxuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBYm9ydHMgdGhlIGN1cnJlbnQgZG93bmxvYWQgc2Vzc2lvbiwgcHJldmlvdXNseSBzdGFydGVkIHdpdGggZG93bmxvYWQoKS5cbiAgICpcbiAgICogQHBhcmFtIHtTdWNjZXNzQ2FsbGJhY2s8dm9pZD59IFthYm9ydFN1Y2Nlc3NdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgaWYgdGhlIGFib3J0IG9wZXJhdGlvbiBzdWNjZWVkZWQuXG4gICAqIEBwYXJhbSB7RXJyb3JDYWxsYmFja30gW2Fib3J0RXJyb3JdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgaW4gY2FzZSBvZiBhbiBlcnJvci5cbiAgICovXG4gIGFib3J0RG93bmxvYWQoXG4gICAgYWJvcnRTdWNjZXNzPzogU3VjY2Vzc0NhbGxiYWNrPHZvaWQ+LFxuICAgIGFib3J0RXJyb3I/OiBFcnJvckNhbGxiYWNrXG4gICk6IHZvaWQ7XG59XG5cbi8qKlxuICogRGVmaW5lcyBhIGxvY2FsIHBhY2thZ2UuXG4gKlxuICogISEgVEhJUyBUWVBFIElTIFJFQUQgRlJPTSBOQVRJVkUgQ09ERSBBUyBXRUxMLiBBTlkgQ0hBTkdFUyBUTyBUSElTIElOVEVSRkFDRSBORUVEUyBUTyBCRSBVUERBVEVEIElOIE5BVElWRSBDT0RFICEhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUxvY2FsUGFja2FnZSBleHRlbmRzIElQYWNrYWdlIHtcbiAgLyoqXG4gICAqIFRoZSBsb2NhbCBzdG9yYWdlIHBhdGggd2hlcmUgdGhpcyBwYWNrYWdlIGlzIGxvY2F0ZWQuXG4gICAqL1xuICBsb2NhbFBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uIHJ1biBpcyB0aGUgZmlyc3Qgb25lIGFmdGVyIHRoZSBwYWNrYWdlIHdhcyBhcHBsaWVkLlxuICAgKi9cbiAgaXNGaXJzdFJ1bjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXBwbGllcyB0aGlzIHBhY2thZ2UgdG8gdGhlIGFwcGxpY2F0aW9uLiBUaGUgYXBwbGljYXRpb24gd2lsbCBiZSByZWxvYWRlZCB3aXRoIHRoaXMgcGFja2FnZSBhbmQgb24gZXZlcnkgYXBwbGljYXRpb24gbGF1bmNoIHRoaXMgcGFja2FnZSB3aWxsIGJlIGxvYWRlZC5cbiAgICogT24gdGhlIGZpcnN0IHJ1biBhZnRlciB0aGUgdXBkYXRlLCB0aGUgYXBwbGljYXRpb24gd2lsbCB3YWl0IGZvciBhIGNvZGVQdXNoLm5vdGlmeUFwcGxpY2F0aW9uUmVhZHkoKSBjYWxsLiBPbmNlIHRoaXMgY2FsbCBpcyBtYWRlLCB0aGUgaW5zdGFsbCBvcGVyYXRpb24gaXMgY29uc2lkZXJlZCBhIHN1Y2Nlc3MuXG4gICAqIE90aGVyd2lzZSwgdGhlIGluc3RhbGwgb3BlcmF0aW9uIHdpbGwgYmUgbWFya2VkIGFzIGZhaWxlZCwgYW5kIHRoZSBhcHBsaWNhdGlvbiBpcyByZXZlcnRlZCB0byBpdHMgcHJldmlvdXMgdmVyc2lvbiBvbiB0aGUgbmV4dCBydW4uXG4gICAqXG4gICAqIEBwYXJhbSB7U3VjY2Vzc0NhbGxiYWNrPEluc3RhbGxNb2RlPn0gaW5zdGFsbFN1Y2Nlc3MgQ2FsbGJhY2sgaW52b2tlZCBpZiB0aGUgaW5zdGFsbCBvcGVyYXRpb24gc3VjY2VlZGVkLlxuICAgKiBAcGFyYW0ge0Vycm9yQ2FsbGJhY2t9IFtpbnN0YWxsRXJyb3JdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgaW4gY2FzZSBvZiBhbiBlcnJvci5cbiAgICogQHBhcmFtIHtJbnN0YWxsT3B0aW9uc30gW2luc3RhbGxPcHRpb25zXSBPcHRpb25hbCBwYXJhbWV0ZXIgdXNlZCBmb3IgY3VzdG9taXppbmcgdGhlIGluc3RhbGxhdGlvbiBiZWhhdmlvci5cbiAgICovXG4gIGluc3RhbGwoXG4gICAgaW5zdGFsbFN1Y2Nlc3M6IFN1Y2Nlc3NDYWxsYmFjazxJbnN0YWxsTW9kZT4sXG4gICAgZXJyb3JDYWxsYmFjaz86IEVycm9yQ2FsbGJhY2ssXG4gICAgaW5zdGFsbE9wdGlvbnM/OiBJbnN0YWxsT3B0aW9uc1xuICApOiB2b2lkO1xufVxuXG4vKipcbiAqIERlY29tcG9zZWQgc3RhdGljIHNpZGUgb2YgUmVtb3RlUGFja2FnZS5cbiAqIEZvciBDbGFzcyBEZWNvbXBvc2l0aW9uIGd1aWRlbGluZXMgc2VlIGh0dHA6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL0hhbmRib29rI3dyaXRpbmctZHRzLWZpbGVzLWd1aWRlbGluZXMtYW5kLXNwZWNpZmljc1xuICovXG5cbi8qIHRzbGludDpkaXNhYmxlICovXG5pbnRlcmZhY2UgUmVtb3RlUGFja2FnZV9TdGF0aWMge1xuICBuZXcgKCk6IElSZW1vdGVQYWNrYWdlO1xufVxuXG4vKiB0c2xpbnQ6ZW5hYmxlICovXG5cbi8qKlxuICogRGVjb21wb3NlZCBzdGF0aWMgc2lkZSBvZiBMb2NhbFBhY2thZ2UuXG4gKiBGb3IgQ2xhc3MgRGVjb21wb3NpdGlvbiBndWlkZWxpbmVzIHNlZSBodHRwOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9IYW5kYm9vayN3cml0aW5nLWR0cy1maWxlcy1ndWlkZWxpbmVzLWFuZC1zcGVjaWZpY3NcbiAqL1xuXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuaW50ZXJmYWNlIExvY2FsUGFja2FnZV9TdGF0aWMge1xuICBuZXcgKCk6IElMb2NhbFBhY2thZ2U7XG59XG5cbi8qIHRzbGludDplbmFibGUgKi9cblxuZGVjbGFyZSBjb25zdCBSZW1vdGVQYWNrYWdlOiBSZW1vdGVQYWNrYWdlX1N0YXRpYztcbmRlY2xhcmUgY29uc3QgTG9jYWxQYWNrYWdlOiBMb2NhbFBhY2thZ2VfU3RhdGljO1xuXG4vKipcbiAqIERlZmluZXMgdGhlIEpTT04gZm9ybWF0IG9mIHRoZSBjdXJyZW50IHBhY2thZ2UgaW5mb3JtYXRpb24gZmlsZS5cbiAqIFRoaXMgZmlsZSBpcyBzdG9yZWQgaW4gdGhlIGxvY2FsIHN0b3JhZ2Ugb2YgdGhlIGRldmljZSBhbmQgcGVyc2lzdHMgYmV0d2VlbiBzdG9yZSB1cGRhdGVzIGFuZCBjb2RlLXB1c2ggdXBkYXRlcy5cbiAqXG4gKiAhISBUSElTIEZJTEUgSVMgUkVBRCBGUk9NIE5BVElWRSBDT0RFIEFTIFdFTEwuIEFOWSBDSEFOR0VTIFRPIFRISVMgSU5URVJGQUNFIE5FRURTIFRPIEJFIFVQREFURUQgSU4gTkFUSVZFIENPREUgISFcbiAqL1xuaW50ZXJmYWNlIElQYWNrYWdlSW5mb01ldGFkYXRhIGV4dGVuZHMgSUxvY2FsUGFja2FnZSB7XG4gIG5hdGl2ZUJ1aWxkVGltZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTmF0aXZlVXBkYXRlTm90aWZpY2F0aW9uIHtcbiAgdXBkYXRlQXBwVmVyc2lvbjogYm9vbGVhbjsgLy8gQWx3YXlzIHRydWVcbiAgYXBwVmVyc2lvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDYWxsYmFjazxUPiA9IChlcnJvcjogRXJyb3IsIHBhcmFtZXRlcjogVCkgPT4gdm9pZDtcbmV4cG9ydCB0eXBlIFN1Y2Nlc3NDYWxsYmFjazxUPiA9IChyZXN1bHQ/OiBUKSA9PiB2b2lkO1xuZXhwb3J0IHR5cGUgRXJyb3JDYWxsYmFjayA9IChlcnJvcj86IEVycm9yKSA9PiB2b2lkO1xuXG5pbnRlcmZhY2UgQ29uZmlndXJhdGlvbiB7XG4gIGFwcFZlcnNpb246IHN0cmluZztcbiAgY2xpZW50VW5pcXVlSWQ6IHN0cmluZztcbiAgZGVwbG95bWVudEtleTogc3RyaW5nO1xuICBzZXJ2ZXJVcmw6IHN0cmluZztcbiAgaWdub3JlQXBwVmVyc2lvbj86IGJvb2xlYW47XG59XG5cbmRlY2xhcmUgY2xhc3MgQWNxdWlzaXRpb25TdGF0dXMge1xuICBzdGF0aWMgRGVwbG95bWVudFN1Y2NlZWRlZDogc3RyaW5nO1xuICBzdGF0aWMgRGVwbG95bWVudEZhaWxlZDogc3RyaW5nO1xufVxuXG5kZWNsYXJlIGNsYXNzIEFjcXVpc2l0aW9uTWFuYWdlciB7XG4gIGNvbnN0cnVjdG9yKGh0dHBSZXF1ZXN0ZXI6IEh0dHAuUmVxdWVzdGVyLCBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uKTtcbiAgcXVlcnlVcGRhdGVXaXRoQ3VycmVudFBhY2thZ2UoXG4gICAgY3VycmVudFBhY2thZ2U6IElQYWNrYWdlLFxuICAgIGNhbGxiYWNrPzogQ2FsbGJhY2s8SVJlbW90ZVBhY2thZ2UgfCBOYXRpdmVVcGRhdGVOb3RpZmljYXRpb24+XG4gICk6IHZvaWQ7XG4gIHJlcG9ydFN0YXR1c0RlcGxveShcbiAgICBwa2c/OiBJUGFja2FnZSxcbiAgICBzdGF0dXM/OiBzdHJpbmcsXG4gICAgcHJldmlvdXNMYWJlbE9yQXBwVmVyc2lvbj86IHN0cmluZyxcbiAgICBwcmV2aW91c0RlcGxveW1lbnRLZXk/OiBzdHJpbmcsXG4gICAgY2FsbGJhY2s/OiBDYWxsYmFjazx2b2lkPlxuICApOiB2b2lkO1xuICByZXBvcnRTdGF0dXNEb3dubG9hZChwa2c6IElQYWNrYWdlLCBjYWxsYmFjaz86IENhbGxiYWNrPHZvaWQ+KTogdm9pZDtcbn1cblxuaW50ZXJmYWNlIENvZGVQdXNoQ29yZG92YVBsdWdpbiB7XG4gIC8qKlxuICAgKiBHZXQgdGhlIGN1cnJlbnQgcGFja2FnZSBpbmZvcm1hdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHBhY2thZ2VTdWNjZXNzIENhbGxiYWNrIGludm9rZWQgd2l0aCB0aGUgY3VycmVudGx5IGRlcGxveWVkIHBhY2thZ2UgaW5mb3JtYXRpb24uXG4gICAqIEBwYXJhbSBwYWNrYWdlRXJyb3IgT3B0aW9uYWwgY2FsbGJhY2sgaW52b2tlZCBpbiBjYXNlIG9mIGFuIGVycm9yLlxuICAgKi9cbiAgZ2V0Q3VycmVudFBhY2thZ2UoXG4gICAgcGFja2FnZVN1Y2Nlc3M6IFN1Y2Nlc3NDYWxsYmFjazxJTG9jYWxQYWNrYWdlPixcbiAgICBwYWNrYWdlRXJyb3I/OiBFcnJvckNhbGxiYWNrXG4gICk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHBlbmRpbmcgcGFja2FnZSBpbmZvcm1hdGlvbiwgaWYgYW55LiBBIHBlbmRpbmcgcGFja2FnZSBpcyBvbmUgdGhhdCBoYXMgYmVlbiBpbnN0YWxsZWQgYnV0IHRoZSBhcHBsaWNhdGlvbiBzdGlsbCBydW5zIHRoZSBvbGQgY29kZS5cbiAgICogVGhpcyBoYXBwZW5zIG9ubHkgYWZ0ZXIgYSBwYWNrYWdlIGhhcyBiZWVuIGluc3RhbGxlZCB1c2luZyBPTl9ORVhUX1JFU1RBUlQgb3IgT05fTkVYVF9SRVNVTUUgbW9kZSwgYnV0IHRoZSBhcHBsaWNhdGlvbiB3YXMgbm90IHJlc3RhcnRlZC9yZXN1bWVkIHlldC5cbiAgICovXG4gIGdldFBlbmRpbmdQYWNrYWdlKFxuICAgIHBhY2thZ2VTdWNjZXNzOiBTdWNjZXNzQ2FsbGJhY2s8SUxvY2FsUGFja2FnZT4sXG4gICAgcGFja2FnZUVycm9yPzogRXJyb3JDYWxsYmFja1xuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2l0aCB0aGUgQ29kZVB1c2ggc2VydmVyIGlmIGFuIHVwZGF0ZSBwYWNrYWdlIGlzIGF2YWlsYWJsZSBmb3IgZG93bmxvYWQuXG4gICAqXG4gICAqIEBwYXJhbSB7U3VjY2Vzc0NhbGxiYWNrPElSZW1vdGVQYWNrYWdlPn0gcXVlcnlTdWNjZXNzIENhbGxiYWNrIGludm9rZWQgaW4gY2FzZSBvZiBhIHN1Y2Nlc3NmdWwgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyLlxuICAgKiAgICAgICAgICAgICAgICAgICAgIFRoZSBjYWxsYmFjayB0YWtlcyBvbmUgUmVtb3RlUGFja2FnZSBwYXJhbWV0ZXIuIEEgbm9uLW51bGwgcGFja2FnZSBpcyBhIHZhbGlkIHVwZGF0ZS5cbiAgICogICAgICAgICAgICAgICAgICAgICBBIG51bGwgcGFja2FnZSBtZWFucyB0aGUgYXBwbGljYXRpb24gaXMgdXAgdG8gZGF0ZSBmb3IgdGhlIGN1cnJlbnQgbmF0aXZlIGFwcGxpY2F0aW9uIHZlcnNpb24uXG4gICAqIEBwYXJhbSB7RXJyb3JDYWxsYmFja30gW3F1ZXJ5RXJyb3JdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgaW4gY2FzZSBvZiBhbiBlcnJvci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtkZXBsb3ltZW50S2V5XSBPcHRpb25hbCBkZXBsb3ltZW50IGtleSB0aGF0IG92ZXJyaWRlcyB0aGUgY29uZmlnLnhtbCBzZXR0aW5nLlxuICAgKi9cbiAgY2hlY2tGb3JVcGRhdGUoXG4gICAgcXVlcnlTdWNjZXNzOiBTdWNjZXNzQ2FsbGJhY2s8SVJlbW90ZVBhY2thZ2U+LFxuICAgIHF1ZXJ5RXJyb3I/OiBFcnJvckNhbGxiYWNrLFxuICAgIGRlcGxveW1lbnRLZXk/OiBzdHJpbmdcbiAgKTogdm9pZDtcblxuICAvKipcbiAgICogTm90aWZpZXMgdGhlIHBsdWdpbiB0aGF0IHRoZSB1cGRhdGUgb3BlcmF0aW9uIHN1Y2NlZWRlZCBhbmQgdGhhdCB0aGUgYXBwbGljYXRpb24gaXMgcmVhZHkuXG4gICAqIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyByZXF1aXJlZCBvbiB0aGUgZmlyc3QgcnVuIGFmdGVyIGFuIHVwZGF0ZS4gT24gZXZlcnkgc3Vic2VxdWVudCBhcHBsaWNhdGlvbiBydW4sIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyBhIG5vb3AuXG4gICAqIElmIHVzaW5nIHN5bmMgQVBJLCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gaXMgbm90IHJlcXVpcmVkIHNpbmNlIHN5bmMgY2FsbHMgaXQgaW50ZXJuYWxseS5cbiAgICpcbiAgICogQHBhcmFtIHtTdWNjZXNzQ2FsbGJhY2s8dm9pZD59IFtub3RpZnlTdWNjZWVkZWRdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgaWYgdGhlIHBsdWdpbiB3YXMgc3VjY2Vzc2Z1bGx5IG5vdGlmaWVkLlxuICAgKiBAcGFyYW0ge0Vycm9yQ2FsbGJhY2t9IFtub3RpZnlGYWlsZWRdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgaW4gY2FzZSBvZiBhbiBlcnJvciBkdXJpbmcgbm90aWZ5aW5nIHRoZSBwbHVnaW4uXG4gICAqL1xuICBub3RpZnlBcHBsaWNhdGlvblJlYWR5KFxuICAgIG5vdGlmeVN1Y2NlZWRlZD86IFN1Y2Nlc3NDYWxsYmFjazx2b2lkPixcbiAgICBub3RpZnlGYWlsZWQ/OiBFcnJvckNhbGxiYWNrXG4gICk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJlbG9hZHMgdGhlIGFwcGxpY2F0aW9uLiBJZiB0aGVyZSBpcyBhIHBlbmRpbmcgdXBkYXRlIHBhY2thZ2UgaW5zdGFsbGVkIHVzaW5nIE9OX05FWFRfUkVTVEFSVCBvciBPTl9ORVhUX1JFU1VNRSBtb2RlcywgdGhlIHVwZGF0ZVxuICAgKiB3aWxsIGJlIGltbWVkaWF0ZWx5IHZpc2libGUgdG8gdGhlIHVzZXIuIE90aGVyd2lzZSwgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIHdpbGwgc2ltcGx5IHJlbG9hZCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtTdWNjZXNzQ2FsbGJhY2s8dm9pZD59IGluc3RhbGxTdWNjZXNzXG4gICAqIEBwYXJhbSB7RXJyb3JDYWxsYmFja30gW2Vycm9yQ2FsbGJhY2tdXG4gICAqL1xuICByZXN0YXJ0QXBwbGljYXRpb24oXG4gICAgaW5zdGFsbFN1Y2Nlc3M6IFN1Y2Nlc3NDYWxsYmFjazx2b2lkPixcbiAgICBlcnJvckNhbGxiYWNrPzogRXJyb3JDYWxsYmFja1xuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGluc3RhbGxpbmcgdXBkYXRlcyBpbiBvbmUgbWV0aG9kIGNhbGwuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHByb3ZpZGVkIGZvciBzaW1wbGljaXR5LCBhbmQgaXRzIGJlaGF2aW9yIGNhbiBiZSByZXBsaWNhdGVkIGJ5IHVzaW5nIHdpbmRvdy5jb2RlUHVzaC5jaGVja0ZvclVwZGF0ZSgpLCBSZW1vdGVQYWNrYWdlJ3MgZG93bmxvYWQoKSBhbmQgTG9jYWxQYWNrYWdlJ3MgaW5zdGFsbCgpIG1ldGhvZHMuXG4gICAqXG4gICAqIFRoZSBhbGdvcml0aG0gb2YgdGhpcyBtZXRob2QgaXMgdGhlIGZvbGxvd2luZzpcbiAgICogLSBDaGVja3MgZm9yIGFuIHVwZGF0ZSBvbiB0aGUgQ29kZVB1c2ggc2VydmVyLlxuICAgKiAtIElmIGFuIHVwZGF0ZSBpcyBhdmFpbGFibGVcbiAgICogICAgICAgICAtIElmIHRoZSB1cGRhdGUgaXMgbWFuZGF0b3J5IGFuZCB0aGUgYWxlcnRNZXNzYWdlIGlzIHNldCBpbiBvcHRpb25zLCB0aGUgdXNlciB3aWxsIGJlIGluZm9ybWVkIHRoYXQgdGhlIGFwcGxpY2F0aW9uIHdpbGwgYmUgdXBkYXRlZCB0byB0aGUgbGF0ZXN0IHZlcnNpb24uXG4gICAqICAgICAgICAgICBUaGUgdXBkYXRlIHBhY2thZ2Ugd2lsbCB0aGVuIGJlIGRvd25sb2FkZWQgYW5kIGFwcGxpZWQuXG4gICAqICAgICAgICAgLSBJZiB0aGUgdXBkYXRlIGlzIG5vdCBtYW5kYXRvcnkgYW5kIHRoZSBjb25maXJtTWVzc2FnZSBpcyBzZXQgaW4gb3B0aW9ucywgdGhlIHVzZXIgd2lsbCBiZSBhc2tlZCBpZiB0aGV5IHdhbnQgdG8gdXBkYXRlIHRvIHRoZSBsYXRlc3QgdmVyc2lvbi5cbiAgICogICAgICAgICAgIElmIHRoZXkgZGVjbGluZSwgdGhlIHN5bmNDYWxsYmFjayB3aWxsIGJlIGludm9rZWQgd2l0aCBTeW5jU3RhdHVzLlVQREFURV9JR05PUkVELlxuICAgKiAgICAgICAgIC0gT3RoZXJ3aXNlLCB0aGUgdXBkYXRlIHBhY2thZ2Ugd2lsbCBiZSBkb3dubG9hZGVkIGFuZCBhcHBsaWVkIHdpdGggbm8gdXNlciBpbnRlcmFjdGlvbi5cbiAgICogLSBJZiBubyB1cGRhdGUgaXMgYXZhaWxhYmxlIG9uIHRoZSBzZXJ2ZXIsIG9yIGlmIGEgcHJldmlvdXNseSByb2xsZWQgYmFjayB1cGRhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgaWdub3JlRmFpbGVkVXBkYXRlcyBpcyBzZXQgdG8gdHJ1ZSwgdGhlIHN5bmNDYWxsYmFjayB3aWxsIGJlIGludm9rZWQgd2l0aCB0aGUgU3luY1N0YXR1cy5VUF9UT19EQVRFLlxuICAgKiAtIElmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgY2hlY2tpbmcgZm9yIHVwZGF0ZSwgZG93bmxvYWRpbmcgb3IgaW5zdGFsbGluZyBpdCwgdGhlIHN5bmNDYWxsYmFjayB3aWxsIGJlIGludm9rZWQgd2l0aCB0aGUgU3luY1N0YXR1cy5FUlJPUi5cbiAgICpcbiAgICogQHBhcmFtIHtTdWNjZXNzQ2FsbGJhY2s8U3luY1N0YXR1cz59IFtzeW5jQ2FsbGJhY2tdIE9wdGlvbmFsIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aXRoIHRoZSBzdGF0dXMgb2YgdGhlIHN5bmMgb3BlcmF0aW9uLlxuICAgKiAgICAgICAgICAgICAgICAgICAgIFRoZSBjYWxsYmFjayB3aWxsIGJlIGNhbGxlZCBvbmx5IG9uY2UsIGFuZCB0aGUgcG9zc2libGUgc3RhdHVzZXMgYXJlIGRlZmluZWQgYnkgdGhlIFN5bmNTdGF0dXMgZW51bS5cbiAgICogQHBhcmFtIHtTeW5jT3B0aW9uc30gW3N5bmNPcHRpb25zXSBPcHRpb25hbCBTeW5jT3B0aW9ucyBwYXJhbWV0ZXIgY29uZmlndXJpbmcgdGhlIGJlaGF2aW9yIG9mIHRoZSBzeW5jIG9wZXJhdGlvbi5cbiAgICogQHBhcmFtIHtTdWNjZXNzQ2FsbGJhY2s8RG93bmxvYWRQcm9ncmVzcz59IFtkb3dubG9hZFByb2dyZXNzXSBPcHRpb25hbCBjYWxsYmFjayBpbnZva2VkIGR1cmluZyB0aGUgZG93bmxvYWQgcHJvY2Vzcy4gSXQgaXMgY2FsbGVkIHNldmVyYWwgdGltZXMgd2l0aCBvbmUgRG93bmxvYWRQcm9ncmVzcyBwYXJhbWV0ZXIuXG4gICAqXG4gICAqL1xuICBzeW5jKFxuICAgIHN5bmNDYWxsYmFjaz86IFN1Y2Nlc3NDYWxsYmFjazxTeW5jU3RhdHVzPixcbiAgICBzeW5jT3B0aW9ucz86IFN5bmNPcHRpb25zLFxuICAgIGRvd25sb2FkUHJvZ3Jlc3M/OiBTdWNjZXNzQ2FsbGJhY2s8RG93bmxvYWRQcm9ncmVzcz5cbiAgKTogdm9pZDtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBwb3NzaWJsZSByZXN1bHQgc3RhdHVzZXMgb2YgdGhlIHdpbmRvdy5jb2RlUHVzaC5zeW5jIG9wZXJhdGlvbi5cbiAqL1xuZXhwb3J0IGVudW0gU3luY1N0YXR1cyB7XG4gIC8qKlxuICAgKiBUaGUgYXBwbGljYXRpb24gaXMgdXAgdG8gZGF0ZS5cbiAgICovXG4gIFVQX1RPX0RBVEUsXG5cbiAgLyoqXG4gICAqIEFuIHVwZGF0ZSBpcyBhdmFpbGFibGUsIGl0IGhhcyBiZWVuIGRvd25sb2FkZWQsIHVuemlwcGVkIGFuZCBjb3BpZWQgdG8gdGhlIGRlcGxveW1lbnQgZm9sZGVyLlxuICAgKiBBZnRlciB0aGUgY29tcGxldGlvbiBvZiB0aGUgY2FsbGJhY2sgaW52b2tlZCB3aXRoIFN5bmNTdGF0dXMuVVBEQVRFX0lOU1RBTExFRCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgYmUgcmVsb2FkZWQgd2l0aCB0aGUgdXBkYXRlZCBjb2RlIGFuZCByZXNvdXJjZXMuXG4gICAqL1xuICBVUERBVEVfSU5TVEFMTEVELFxuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCB1cGRhdGUgaXMgYXZhaWxhYmxlLCBidXQgdGhlIHVzZXIgZGVjbGluZWQgdG8gaW5zdGFsbCBpdC4gVGhlIHVwZGF0ZSB3YXMgbm90IGRvd25sb2FkZWQuXG4gICAqL1xuICBVUERBVEVfSUdOT1JFRCxcblxuICAvKipcbiAgICogQW4gZXJyb3IgaGFwcGVuZWQgZHVyaW5nIHRoZSBzeW5jIG9wZXJhdGlvbi4gVGhpcyBtaWdodCBiZSBhbiBlcnJvciB3aGlsZSBjb21tdW5pY2F0aW5nIHdpdGggdGhlIHNlcnZlciwgZG93bmxvYWRpbmcgb3IgdW56aXBpbmcgdGhlIHVwZGF0ZS5cbiAgICogVGhlIGNvbnNvbGUgbG9ncyBzaG91bGQgY29udGFpbiBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgaGFwcGVuZWQuIE5vIHVwZGF0ZSBoYXMgYmVlbiBhcHBsaWVkIGluIHRoaXMgY2FzZS5cbiAgICovXG4gIEVSUk9SLFxuXG4gIC8qKlxuICAgKiBUaGVyZSBpcyBhbiBvbmdvaW5nIHN5bmMgaW4gcHJvZ3Jlc3MsIHNvIHRoaXMgYXR0ZW1wdCB0byBzeW5jIGhhcyBiZWVuIGFib3J0ZWQuXG4gICAqL1xuICBJTl9QUk9HUkVTUyxcblxuICAvKipcbiAgICogSW50ZXJtZWRpYXRlIHN0YXR1cyAtIHRoZSBwbHVnaW4gaXMgYWJvdXQgdG8gY2hlY2sgZm9yIHVwZGF0ZXMuXG4gICAqL1xuICBDSEVDS0lOR19GT1JfVVBEQVRFLFxuXG4gIC8qKlxuICAgKiBJbnRlcm1lZGlhdGUgc3RhdHVzIC0gYSB1c2VyIGRpYWxvZyBpcyBhYm91dCB0byBiZSBkaXNwbGF5ZWQuIFRoaXMgc3RhdHVzIHdpbGwgYmUgcmVwb3J0ZWQgb25seSBpZiB1c2VyIGludGVyYWN0aW9uIGlzIGVuYWJsZWQuXG4gICAqL1xuICBBV0FJVElOR19VU0VSX0FDVElPTixcblxuICAvKipcbiAgICogSW50ZXJtZWRpYXRlIHN0YXR1cyAtIHRoZSB1cGRhdGUgcGFja2FnZSBpcyBhYm91dCB0byBiZSBkb3dubG9hZGVkLlxuICAgKi9cbiAgRE9XTkxPQURJTkdfUEFDS0FHRSxcblxuICAvKipcbiAgICogSW50ZXJtZWRpYXRlIHN0YXR1cyAtIHRoZSB1cGRhdGUgcGFja2FnZSBpcyBhYm91dCB0byBiZSBpbnN0YWxsZWQuXG4gICAqL1xuICBJTlNUQUxMSU5HX1VQREFURVxufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIGF2YWlsYWJsZSBpbnN0YWxsIG1vZGVzIGZvciB1cGRhdGVzLlxuICovXG5leHBvcnQgZW51bSBJbnN0YWxsTW9kZSB7XG4gIC8qKlxuICAgKiBUaGUgdXBkYXRlIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcnVubmluZyBhcHBsaWNhdGlvbiBpbW1lZGlhdGVseS4gVGhlIGFwcGxpY2F0aW9uIHdpbGwgYmUgcmVsb2FkZWQgd2l0aCB0aGUgbmV3IGNvbnRlbnQgaW1tZWRpYXRlbHkuXG4gICAqL1xuICBJTU1FRElBVEUsXG5cbiAgLyoqXG4gICAqIFRoZSB1cGRhdGUgaXMgZG93bmxvYWRlZCBidXQgbm90IGluc3RhbGxlZCBpbW1lZGlhdGVseS4gVGhlIG5ldyBjb250ZW50IHdpbGwgYmUgYXZhaWxhYmxlIHRoZSBuZXh0IHRpbWUgdGhlIGFwcGxpY2F0aW9uIGlzIHN0YXJ0ZWQuXG4gICAqL1xuICBPTl9ORVhUX1JFU1RBUlQsXG5cbiAgLyoqXG4gICAqIFRoZSB1ZHBhdGUgaXMgZG93bmxvYWRlZCBidXQgbm90IGluc3RhbGxlZCBpbW1lZGlhdGVseS4gVGhlIG5ldyBjb250ZW50IHdpbGwgYmUgYXZhaWxhYmxlIHRoZSBuZXh0IHRpbWUgdGhlIGFwcGxpY2F0aW9uIGlzIHJlc3VtZWQgb3IgcmVzdGFydGVkLCB3aGljaGV2ZXIgZXZlbnQgaGFwcGVuZHMgZmlyc3QuXG4gICAqL1xuICBPTl9ORVhUX1JFU1VNRVxufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIGluc3RhbGwgb3BlcmF0aW9uIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFsbE9wdGlvbnMge1xuICAvKipcbiAgICogVXNlZCB0byBzcGVjaWZ5IHRoZSBJbnN0YWxsTW9kZSB1c2VkIGZvciB0aGUgaW5zdGFsbCBvcGVyYXRpb24uIFRoaXMgaXMgb3B0aW9uYWwgYW5kIGRlZmF1bHRzIHRvIEluc3RhbGxNb2RlLk9OX05FWFRfUkVTVEFSVC5cbiAgICovXG4gIGluc3RhbGxNb2RlPzogSW5zdGFsbE1vZGU7XG5cbiAgLyoqXG4gICAqIElmIGluc3RhbGxNb2RlID09PSBPTl9ORVhUX1JFU1VNRSwgdGhlIG1pbmltdW0gYW1vdW50IG9mIHRpbWUgKGluIHNlY29uZHMpIHdoaWNoIG5lZWRzIHRvIHBhc3Mgd2l0aCB0aGUgYXBwIGluIHRoZSBiYWNrZ3JvdW5kIGJlZm9yZSBhbiB1cGRhdGUgaW5zdGFsbCBvY2N1cnMgd2hlbiB0aGUgYXBwIGlzIHJlc3VtZWQuXG4gICAqL1xuICBtaW5pbXVtQmFja2dyb3VuZER1cmF0aW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHNwZWNpZnkgdGhlIEluc3RhbGxNb2RlIHVzZWQgZm9yIHRoZSBpbnN0YWxsIG9wZXJhdGlvbiBpZiB0aGUgdXBkYXRlIGlzIG1hbmRhdG9yeS4gVGhpcyBpcyBvcHRpb25hbCBhbmQgZGVmYXVsdHMgdG8gSW5zdGFsbE1vZGUuSU1NRURJQVRFLlxuICAgKi9cbiAgbWFuZGF0b3J5SW5zdGFsbE1vZGU/OiBJbnN0YWxsTW9kZTtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBzeW5jIG9wZXJhdGlvbiBvcHRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN5bmNPcHRpb25zIGV4dGVuZHMgSW5zdGFsbE9wdGlvbnMge1xuICAvKipcbiAgICogT3B0aW9uYWwgYm9vbGVhbiBmbGFnLiBJZiBzZXQsIHByZXZpb3VzIHVwZGF0ZXMgd2hpY2ggd2VyZSByb2xsZWQgYmFjayB3aWxsIGJlIGlnbm9yZWQuIERlZmF1bHRzIHRvIHRydWUuXG4gICAqL1xuICBpZ25vcmVGYWlsZWRVcGRhdGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlZCB0byBlbmFibGUsIGRpc2FibGUgb3IgY3VzdG9taXplIHRoZSB1c2VyIGludGVyYWN0aW9uIGR1cmluZyBzeW5jLlxuICAgKiBJZiBzZXQgdG8gZmFsc2UsIHVzZXIgaW50ZXJhY3Rpb24gd2lsbCBiZSBkaXNhYmxlZC4gSWYgc2V0IHRvIHRydWUsIHRoZSB1c2VyIHdpbGwgYmUgYWxlcnRlZCBvciBhc2tlZCB0byBjb25maXJtIG5ldyB1cGRhdGVzLCBiYXNlZCBvbiB3aGV0aGVyIHRoZSB1cGRhdGUgaXMgbWFuZGF0b3J5LlxuICAgKiBUbyBjdXN0b21pemUgdGhlIHVzZXIgZGlhbG9nLCB0aGlzIG9wdGlvbiBjYW4gYmUgc2V0IHRvIGEgY3VzdG9tIFVwZGF0ZURpYWxvZ09wdGlvbnMgaW5zdGFuY2UuXG4gICAqL1xuICB1cGRhdGVEaWFsb2c/OiBib29sZWFuIHwgVXBkYXRlRGlhbG9nT3B0aW9ucztcblxuICAvKipcbiAgICogT3ZlcnJpZGVzIHRoZSBjb25maWcueG1sIGRlcGxveW1lbnQga2V5IHdoZW4gY2hlY2tpbmcgZm9yIHVwZGF0ZXMuXG4gICAqL1xuICBkZXBsb3ltZW50S2V5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIGFsZXJ0IG9yIGNvbmZpcm1hdGlvbiBkaWFsb2dcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVEaWFsb2dPcHRpb25zIHtcbiAgLyoqXG4gICAqIElmIGEgbWFuZGF0b3J5IHVwZGF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoaXMgb3B0aW9uIGlzIHNldCwgdGhlIG1lc3NhZ2Ugd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgaW4gYW4gYWxlcnQgZGlhbG9nIGJlZm9yZSBkb3dubG9hZGluZyBhbmQgaW5zdGFsbGluZyB0aGUgdXBkYXRlLlxuICAgKiBUaGUgdXNlciB3aWxsIG5vdCBiZSBhYmxlIHRvIGNhbmNlbCB0aGUgb3BlcmF0aW9uLCBzaW5jZSB0aGUgdXBkYXRlIGlzIG1hbmRhdG9yeS5cbiAgICovXG4gIG1hbmRhdG9yeVVwZGF0ZU1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIGFuIG9wdGlvbmFsIHVwZGF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoaXMgb3B0aW9uIGlzIHNldCwgdGhlIG1lc3NhZ2Ugd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgaW4gYSBjb25maXJtYXRpb24gZGlhbG9nLlxuICAgKiBJZiB0aGUgdXNlciBjb25maXJtcyB0aGUgdXBkYXRlLCBpdCB3aWxsIGJlIGRvd25sb2FkZWQgYW5kIGluc3RhbGxlZC4gT3RoZXJ3aXNlLCB0aGUgdXBkYXRlIHVwZGF0ZSBpcyBub3QgZG93bmxvYWRlZC5cbiAgICovXG4gIG9wdGlvbmFsVXBkYXRlTWVzc2FnZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBkaWFsb2cgYm94IHVzZWQgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIHVzZXIgaW4gY2FzZSBvZiBhIG1hbmRhdG9yeSBvciBvcHRpb25hbCB1cGRhdGUuXG4gICAqIFRoaXMgdGl0bGUgd2lsbCBvbmx5IGJlIHVzZWQgaWYgYXQgbGVhc3Qgb25lIG9mIG1hbmRhdG9yeVVwZGF0ZU1lc3NhZ2Ugb3Igb3B0aW9uYWxVcGRhdGVNZXNzYWdlIG9wdGlvbnMgYXJlIHNldC5cbiAgICovXG4gIHVwZGF0ZVRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGNvbmZpcm1hdGlvbiBidXR0b24gaW4gY2FzZSBvZiBhbiBvcHRpb25hbCB1cGRhdGUuXG4gICAqL1xuICBvcHRpb25hbEluc3RhbGxCdXR0b25MYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxhYmVsIG9mIHRoZSBjYW5jZWwgYnV0dG9uIGluIGNhc2Ugb2YgYW4gb3B0aW9uYWwgdXBkYXRlLlxuICAgKi9cbiAgb3B0aW9uYWxJZ25vcmVCdXR0b25MYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxhYmVsIG9mIHRoZSBjb250aW51ZSBidXR0b24gaW4gY2FzZSBvZiBhIG1hbmRhdG9yeSB1cGRhdGUuXG4gICAqL1xuICBtYW5kYXRvcnlDb250aW51ZUJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGbGFnIGluZGljYXRpbmcgaWYgdGhlIHVwZGF0ZSBkZXNjcmlwdGlvbiBwcm92aWRlZCBieSB0aGUgQ29kZVB1c2ggc2VydmVyIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gdGhlIGRpYWxvZyBib3ggYXBwZW5kZWQgdG8gdGhlIHVwZGF0ZSBtZXNzYWdlLlxuICAgKi9cbiAgYXBwZW5kUmVsZWFzZURlc2NyaXB0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgcHJlZml4IHRvIGFkZCB0byB0aGUgcmVsZWFzZSBkZXNjcmlwdGlvbi5cbiAgICovXG4gIGRlc2NyaXB0aW9uUHJlZml4Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIEpTT04gZm9ybWF0IG9mIHRoZSBwYWNrYWdlIGRpZmYgbWFuaWZlc3QgZmlsZS5cbiAqL1xuaW50ZXJmYWNlIElEaWZmTWFuaWZlc3Qge1xuICBkZWxldGVkRmlsZXM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIGZvcm1hdCBvZiB0aGUgRG93bmxvYWRQcm9ncmVzcyBvYmplY3QsIHVzZWQgdG8gc2VuZCBwZXJpb2RpY2FsIHVwZGF0ZSBub3RpZmljYXRpb25zIG9uIHRoZSBwcm9ncmVzcyBvZiB0aGUgdXBkYXRlIGRvd25sb2FkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkUHJvZ3Jlc3Mge1xuICB0b3RhbEJ5dGVzOiBudW1iZXI7XG4gIHJlY2VpdmVkQnl0ZXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAbmFtZSBDb2RlIFB1c2hcbiAqIEBkZXNjcmlwdGlvblxuICogQ29kZVB1c2ggcGx1Z2luIGZvciBDb3Jkb3ZhIGJ5IE1pY3Jvc29mdCB0aGF0IHN1cHBvcnRzIGlPUyBhbmQgQW5kcm9pZC5cbiAqXG4gKiBGb3IgbW9yZSBpbmZvLCBwbGVhc2Ugc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9EZWxsb3M3L2V4YW1wbGUtY29yZG92YS1jb2RlLXB1c2gtcGx1Z2luXG4gKlxuICogQHVzYWdlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBDb2RlUHVzaCB9IGZyb20gJ0Bpb25pYy1uYXRpdmUvY29kZS1wdXNoL25neCc7XG4gKlxuICogY29uc3RydWN0b3IocHJpdmF0ZSBjb2RlUHVzaDogQ29kZVB1c2gpIHsgfVxuICpcbiAqIC4uLlxuICpcbiAqIC8vIG5vdGUgLSBtb3N0bHkgZXJyb3IgJiBjb21wbGV0ZWQgbWV0aG9kcyBvZiBvYnNlcnZhYmxlIHdpbGwgbm90IGZpcmVcbiAqIC8vIGFzIHN5bmNTdGF0dXMgd2lsbCBjb250YWluIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSB1cGRhdGVcbiAqIHRoaXMuY29kZVB1c2guc3luYygpLnN1YnNjcmliZSgoc3luY1N0YXR1cykgPT4gY29uc29sZS5sb2coc3luY1N0YXR1cykpO1xuICpcbiAqIGNvbnN0IGRvd25sb2FkUHJvZ3Jlc3MgPSAocHJvZ3Jlc3MpID0+IHsgY29uc29sZS5sb2coYERvd25sb2FkZWQgJHtwcm9ncmVzcy5yZWNlaXZlZEJ5dGVzfSBvZiAke3Byb2dyZXNzLnRvdGFsQnl0ZXN9YCk7IH1cbiAqIHRoaXMuY29kZVB1c2guc3luYyh7fSwgZG93bmxvYWRQcm9ncmVzcykuc3Vic2NyaWJlKChzeW5jU3RhdHVzKSA9PiBjb25zb2xlLmxvZyhzeW5jU3RhdHVzKSk7XG4gKlxuICogYGBgXG4gKi9cbkBQbHVnaW4oe1xuICBwbHVnaW5OYW1lOiAnQ29kZVB1c2gnLFxuICBwbHVnaW46ICdjb3Jkb3ZhLXBsdWdpbi1jb2RlLXB1c2gnLFxuICBwbHVnaW5SZWY6ICdjb2RlUHVzaCcsXG4gIHJlcG86ICdodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L2NvcmRvdmEtcGx1Z2luLWNvZGUtcHVzaCcsXG4gIHBsYXRmb3JtczogWydBbmRyb2lkJywgJ2lPUyddXG59KVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvZGVQdXNoIGV4dGVuZHMgSW9uaWNOYXRpdmVQbHVnaW4ge1xuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IHBhY2thZ2UgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPElMb2NhbFBhY2thZ2U+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBnZXRDdXJyZW50UGFja2FnZSgpOiBQcm9taXNlPElMb2NhbFBhY2thZ2U+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcGVuZGluZyBwYWNrYWdlIGluZm9ybWF0aW9uLCBpZiBhbnkuIEEgcGVuZGluZyBwYWNrYWdlIGlzIG9uZSB0aGF0IGhhcyBiZWVuIGluc3RhbGxlZCBidXQgdGhlIGFwcGxpY2F0aW9uIHN0aWxsIHJ1bnMgdGhlIG9sZCBjb2RlLlxuICAgKiBUaGlzIGhhcHBlbnMgb25seSBhZnRlciBhIHBhY2thZ2UgaGFzIGJlZW4gaW5zdGFsbGVkIHVzaW5nIE9OX05FWFRfUkVTVEFSVCBvciBPTl9ORVhUX1JFU1VNRSBtb2RlLCBidXQgdGhlIGFwcGxpY2F0aW9uIHdhcyBub3QgcmVzdGFydGVkL3Jlc3VtZWQgeWV0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxJTG9jYWxQYWNrYWdlPn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZ2V0UGVuZGluZ1BhY2thZ2UoKTogUHJvbWlzZTxJTG9jYWxQYWNrYWdlPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aXRoIHRoZSBDb2RlUHVzaCBzZXJ2ZXIgaWYgYW4gdXBkYXRlIHBhY2thZ2UgaXMgYXZhaWxhYmxlIGZvciBkb3dubG9hZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtkZXBsb3ltZW50S2V5XSBPcHRpb25hbCBkZXBsb3ltZW50IGtleSB0aGF0IG92ZXJyaWRlcyB0aGUgY29uZmlnLnhtbCBzZXR0aW5nLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxJUmVtb3RlUGFja2FnZT59XG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgY2FsbGJhY2tPcmRlcjogJ3JldmVyc2UnXG4gIH0pXG4gIGNoZWNrRm9yVXBkYXRlKGRlcGxveW1lbnRLZXk/OiBzdHJpbmcpOiBQcm9taXNlPElSZW1vdGVQYWNrYWdlPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vdGlmaWVzIHRoZSBwbHVnaW4gdGhhdCB0aGUgdXBkYXRlIG9wZXJhdGlvbiBzdWNjZWVkZWQgYW5kIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGlzIHJlYWR5LlxuICAgKiBDYWxsaW5nIHRoaXMgZnVuY3Rpb24gaXMgcmVxdWlyZWQgb24gdGhlIGZpcnN0IHJ1biBhZnRlciBhbiB1cGRhdGUuIE9uIGV2ZXJ5IHN1YnNlcXVlbnQgYXBwbGljYXRpb24gcnVuLCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gaXMgYSBub29wLlxuICAgKiBJZiB1c2luZyBzeW5jIEFQSSwgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIGlzIG5vdCByZXF1aXJlZCBzaW5jZSBzeW5jIGNhbGxzIGl0IGludGVybmFsbHkuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBub3RpZnlBcHBsaWNhdGlvblJlYWR5KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWxvYWRzIHRoZSBhcHBsaWNhdGlvbi4gSWYgdGhlcmUgaXMgYSBwZW5kaW5nIHVwZGF0ZSBwYWNrYWdlIGluc3RhbGxlZCB1c2luZyBPTl9ORVhUX1JFU1RBUlQgb3IgT05fTkVYVF9SRVNVTUUgbW9kZXMsIHRoZSB1cGRhdGVcbiAgICogd2lsbCBiZSBpbW1lZGlhdGVseSB2aXNpYmxlIHRvIHRoZSB1c2VyLiBPdGhlcndpc2UsIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiB3aWxsIHNpbXBseSByZWxvYWQgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRpb24uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICByZXN0YXJ0QXBwbGljYXRpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgaW5zdGFsbGluZyB1cGRhdGVzIGluIG9uZSBtZXRob2QgY2FsbC5cbiAgICogVGhpcyBtZXRob2QgaXMgcHJvdmlkZWQgZm9yIHNpbXBsaWNpdHksIGFuZCBpdHMgYmVoYXZpb3IgY2FuIGJlIHJlcGxpY2F0ZWQgYnkgdXNpbmcgd2luZG93LmNvZGVQdXNoLmNoZWNrRm9yVXBkYXRlKCksIFJlbW90ZVBhY2thZ2UncyBkb3dubG9hZCgpIGFuZCBMb2NhbFBhY2thZ2UncyBpbnN0YWxsKCkgbWV0aG9kcy5cbiAgICpcbiAgICogVGhlIGFsZ29yaXRobSBvZiB0aGlzIG1ldGhvZCBpcyB0aGUgZm9sbG93aW5nOlxuICAgKiAtIENoZWNrcyBmb3IgYW4gdXBkYXRlIG9uIHRoZSBDb2RlUHVzaCBzZXJ2ZXIuXG4gICAqIC0gSWYgYW4gdXBkYXRlIGlzIGF2YWlsYWJsZVxuICAgKiAgICAgICAgIC0gSWYgdGhlIHVwZGF0ZSBpcyBtYW5kYXRvcnkgYW5kIHRoZSBhbGVydE1lc3NhZ2UgaXMgc2V0IGluIG9wdGlvbnMsIHRoZSB1c2VyIHdpbGwgYmUgaW5mb3JtZWQgdGhhdCB0aGUgYXBwbGljYXRpb24gd2lsbCBiZSB1cGRhdGVkIHRvIHRoZSBsYXRlc3QgdmVyc2lvbi5cbiAgICogICAgICAgICAgIFRoZSB1cGRhdGUgcGFja2FnZSB3aWxsIHRoZW4gYmUgZG93bmxvYWRlZCBhbmQgYXBwbGllZC5cbiAgICogICAgICAgICAtIElmIHRoZSB1cGRhdGUgaXMgbm90IG1hbmRhdG9yeSBhbmQgdGhlIGNvbmZpcm1NZXNzYWdlIGlzIHNldCBpbiBvcHRpb25zLCB0aGUgdXNlciB3aWxsIGJlIGFza2VkIGlmIHRoZXkgd2FudCB0byB1cGRhdGUgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uLlxuICAgKiAgICAgICAgICAgSWYgdGhleSBkZWNsaW5lLCB0aGUgc3luY0NhbGxiYWNrIHdpbGwgYmUgaW52b2tlZCB3aXRoIFN5bmNTdGF0dXMuVVBEQVRFX0lHTk9SRUQuXG4gICAqICAgICAgICAgLSBPdGhlcndpc2UsIHRoZSB1cGRhdGUgcGFja2FnZSB3aWxsIGJlIGRvd25sb2FkZWQgYW5kIGFwcGxpZWQgd2l0aCBubyB1c2VyIGludGVyYWN0aW9uLlxuICAgKiAtIElmIG5vIHVwZGF0ZSBpcyBhdmFpbGFibGUgb24gdGhlIHNlcnZlciwgb3IgaWYgYSBwcmV2aW91c2x5IHJvbGxlZCBiYWNrIHVwZGF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoZSBpZ25vcmVGYWlsZWRVcGRhdGVzIGlzIHNldCB0byB0cnVlLCB0aGUgc3luY0NhbGxiYWNrIHdpbGwgYmUgaW52b2tlZCB3aXRoIHRoZSBTeW5jU3RhdHVzLlVQX1RPX0RBVEUuXG4gICAqIC0gSWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyBjaGVja2luZyBmb3IgdXBkYXRlLCBkb3dubG9hZGluZyBvciBpbnN0YWxsaW5nIGl0LCB0aGUgc3luY0NhbGxiYWNrIHdpbGwgYmUgaW52b2tlZCB3aXRoIHRoZSBTeW5jU3RhdHVzLkVSUk9SLlxuICAgKlxuICAgKiBAcGFyYW0ge1N5bmNPcHRpb25zfSBbc3luY09wdGlvbnNdIE9wdGlvbmFsIFN5bmNPcHRpb25zIHBhcmFtZXRlciBjb25maWd1cmluZyB0aGUgYmVoYXZpb3Igb2YgdGhlIHN5bmMgb3BlcmF0aW9uLlxuICAgKiBAcGFyYW0ge1N1Y2Nlc3NDYWxsYmFjazxEb3dubG9hZFByb2dyZXNzPn0gW2Rvd25sb2FkUHJvZ3Jlc3NdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgZHVyaW5nIHRoZSBkb3dubG9hZCBwcm9jZXNzLiBJdCBpcyBjYWxsZWQgc2V2ZXJhbCB0aW1lcyB3aXRoIG9uZSBEb3dubG9hZFByb2dyZXNzIHBhcmFtZXRlci5cbiAgICogQHJldHVybnMge09ic2VydmFibGU8U3luY1N0YXR1cz59XG4gICAqXG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgb2JzZXJ2YWJsZTogdHJ1ZSxcbiAgICBzdWNjZXNzSW5kZXg6IDAsXG4gICAgZXJyb3JJbmRleDogMyAvLyB3ZSBkb24ndCBuZWVkIHRoaXMsIHNvIHdlIHNldCBpdCB0byBhIHZhbHVlIGhpZ2hlciB0aGFuICMgb2YgYXJnc1xuICB9KVxuICBzeW5jKFxuICAgIHN5bmNPcHRpb25zPzogU3luY09wdGlvbnMsXG4gICAgZG93bmxvYWRQcm9ncmVzcz86IFN1Y2Nlc3NDYWxsYmFjazxEb3dubG9hZFByb2dyZXNzPlxuICApOiBPYnNlcnZhYmxlPFN5bmNTdGF0dXM+IHtcbiAgICByZXR1cm47XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvQGlvbmljLW5hdGl2ZS9wbHVnaW5zL2NvZGUtcHVzaC9uZ3gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyw4QkFBc0MsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBc1JsQzs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLFVBK0NYO0FBL0NELFdBQVksVUFBVTtJQUNwQjs7T0FFRztJQUNILHVEQUFVLENBQUE7SUFFVjs7O09BR0c7SUFDSCxtRUFBZ0IsQ0FBQTtJQUVoQjs7T0FFRztJQUNILCtEQUFjLENBQUE7SUFFZDs7O09BR0c7SUFDSCw2Q0FBSyxDQUFBO0lBRUw7O09BRUc7SUFDSCx5REFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCx5RUFBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILDJFQUFvQixDQUFBO0lBRXBCOztPQUVHO0lBQ0gseUVBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCxxRUFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBL0NXLFVBQVUsS0FBVixVQUFVLFFBK0NyQjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksV0FlWDtBQWZELFdBQVksV0FBVztJQUNyQjs7T0FFRztJQUNILHVEQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILG1FQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILGlFQUFjLENBQUE7QUFDaEIsQ0FBQyxFQWZXLFdBQVcsS0FBWCxXQUFXLFFBZXRCOztJQTJJNkIsb0NBQWlCOzs7O0lBTzdDLG9DQUFpQjtJQVVqQixvQ0FBaUI7SUFhakIsaUNBQWMsYUFBQyxhQUFzQjtJQVlyQyx5Q0FBc0I7SUFVdEIscUNBQWtCO0lBNkJsQix1QkFBSSxhQUNGLFdBQXlCLEVBQ3pCLGdCQUFvRDs7Ozs7O0lBbkYzQyxRQUFRO1FBRHBCLFVBQVUsRUFBRTtPQUNBLFFBQVE7bUJBemVyQjtFQXllOEIsaUJBQWlCO1NBQWxDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3Jkb3ZhLCBJb25pY05hdGl2ZVBsdWdpbiwgUGx1Z2luIH0gZnJvbSAnQGlvbmljLW5hdGl2ZS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxubmFtZXNwYWNlIEh0dHAge1xuICBleHBvcnQgY29uc3QgZW51bSBWZXJiIHtcbiAgICBHRVQsXG4gICAgSEVBRCxcbiAgICBQT1NULFxuICAgIFBVVCxcbiAgICBERUxFVEUsXG4gICAgVFJBQ0UsXG4gICAgT1BUSU9OUyxcbiAgICBDT05ORUNULFxuICAgIFBBVENIXG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlIHtcbiAgICBzdGF0dXNDb2RlOiBudW1iZXI7XG4gICAgYm9keT86IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdGVyIHtcbiAgICByZXF1ZXN0KHZlcmI6IFZlcmIsIHVybDogc3RyaW5nLCBjYWxsYmFjazogQ2FsbGJhY2s8UmVzcG9uc2U+KTogdm9pZDtcbiAgICByZXF1ZXN0KFxuICAgICAgdmVyYjogVmVyYixcbiAgICAgIHVybDogc3RyaW5nLFxuICAgICAgcmVxdWVzdEJvZHk6IHN0cmluZyxcbiAgICAgIGNhbGxiYWNrOiBDYWxsYmFjazxSZXNwb25zZT5cbiAgICApOiB2b2lkO1xuICB9XG59XG5cbi8qKlxuICogRGVmaW5lcyBhIHBhY2thZ2UuIEFsbCBmaWVsZHMgYXJlIG5vbi1udWxsYWJsZSwgZXhjZXB0IHdoZW4gcmV0cmlldmluZyB0aGUgY3VycmVudGx5IHJ1bm5pbmcgcGFja2FnZSBvbiB0aGUgZmlyc3QgcnVuIG9mIHRoZSBhcHAsXG4gKiBpbiB3aGljaCBjYXNlIG9ubHkgdGhlIGFwcFZlcnNpb24gaXMgY29tcHVsc29yeS5cbiAqXG4gKiAhISBUSElTIFRZUEUgSVMgUkVBRCBGUk9NIE5BVElWRSBDT0RFIEFTIFdFTEwuIEFOWSBDSEFOR0VTIFRPIFRISVMgSU5URVJGQUNFIE5FRURTIFRPIEJFIFVQREFURUQgSU4gTkFUSVZFIENPREUgISFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGFja2FnZSB7XG4gIGRlcGxveW1lbnRLZXk6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgYXBwVmVyc2lvbjogc3RyaW5nO1xuICBpc01hbmRhdG9yeTogYm9vbGVhbjtcbiAgcGFja2FnZUhhc2g6IHN0cmluZztcbiAgcGFja2FnZVNpemU6IG51bWJlcjtcbiAgZmFpbGVkSW5zdGFsbDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIGEgcmVtb3RlIHBhY2thZ2UsIHdoaWNoIHJlcHJlc2VudHMgYW4gdXBkYXRlIHBhY2thZ2UgYXZhaWxhYmxlIGZvciBkb3dubG9hZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmVtb3RlUGFja2FnZSBleHRlbmRzIElQYWNrYWdlIHtcbiAgLyoqXG4gICAqIFRoZSBVUkwgYXQgd2hpY2ggdGhlIHBhY2thZ2UgaXMgYXZhaWxhYmxlIGZvciBkb3dubG9hZC5cbiAgICovXG4gIGRvd25sb2FkVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERvd25sb2FkcyB0aGUgcGFja2FnZSB1cGRhdGUgZnJvbSB0aGUgQ29kZVB1c2ggc2VydmljZS5cbiAgICpcbiAgICogQHBhcmFtIHtTdWNjZXNzQ2FsbGJhY2t9IGRvd25sb2FkU3VjY2VzcyBDYWxsZWQgd2l0aCBvbmUgcGFyYW1ldGVyLCB0aGUgZG93bmxvYWRlZCBwYWNrYWdlIGluZm9ybWF0aW9uLCBvbmNlIHRoZSBkb3dubG9hZCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LlxuICAgKiBAcGFyYW0ge0Vycm9yQ2FsbGJhY2t9IFtkb3dubG9hZEVycm9yXSBPcHRpb25hbCBjYWxsYmFjayBpbnZva2VkIGluIGNhc2Ugb2YgYW4gZXJyb3IuXG4gICAqIEBwYXJhbSB7U3VjY2Vzc0NhbGxiYWNrPERvd25sb2FkUHJvZ3Jlc3M+fSBbZG93bmxvYWRQcm9ncmVzc10gT3B0aW9uYWwgY2FsbGJhY2sgaW52b2tlZCBkdXJpbmcgdGhlIGRvd25sb2FkIHByb2Nlc3MuIEl0IGlzIGNhbGxlZCBzZXZlcmFsIHRpbWVzIHdpdGggb25lIERvd25sb2FkUHJvZ3Jlc3MgcGFyYW1ldGVyLlxuICAgKi9cbiAgZG93bmxvYWQoXG4gICAgZG93bmxvYWRTdWNjZXNzOiBTdWNjZXNzQ2FsbGJhY2s8SUxvY2FsUGFja2FnZT4sXG4gICAgZG93bmxvYWRFcnJvcj86IEVycm9yQ2FsbGJhY2ssXG4gICAgZG93bmxvYWRQcm9ncmVzcz86IFN1Y2Nlc3NDYWxsYmFjazxEb3dubG9hZFByb2dyZXNzPlxuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBYm9ydHMgdGhlIGN1cnJlbnQgZG93bmxvYWQgc2Vzc2lvbiwgcHJldmlvdXNseSBzdGFydGVkIHdpdGggZG93bmxvYWQoKS5cbiAgICpcbiAgICogQHBhcmFtIHtTdWNjZXNzQ2FsbGJhY2s8dm9pZD59IFthYm9ydFN1Y2Nlc3NdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgaWYgdGhlIGFib3J0IG9wZXJhdGlvbiBzdWNjZWVkZWQuXG4gICAqIEBwYXJhbSB7RXJyb3JDYWxsYmFja30gW2Fib3J0RXJyb3JdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgaW4gY2FzZSBvZiBhbiBlcnJvci5cbiAgICovXG4gIGFib3J0RG93bmxvYWQoXG4gICAgYWJvcnRTdWNjZXNzPzogU3VjY2Vzc0NhbGxiYWNrPHZvaWQ+LFxuICAgIGFib3J0RXJyb3I/OiBFcnJvckNhbGxiYWNrXG4gICk6IHZvaWQ7XG59XG5cbi8qKlxuICogRGVmaW5lcyBhIGxvY2FsIHBhY2thZ2UuXG4gKlxuICogISEgVEhJUyBUWVBFIElTIFJFQUQgRlJPTSBOQVRJVkUgQ09ERSBBUyBXRUxMLiBBTlkgQ0hBTkdFUyBUTyBUSElTIElOVEVSRkFDRSBORUVEUyBUTyBCRSBVUERBVEVEIElOIE5BVElWRSBDT0RFICEhXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUxvY2FsUGFja2FnZSBleHRlbmRzIElQYWNrYWdlIHtcbiAgLyoqXG4gICAqIFRoZSBsb2NhbCBzdG9yYWdlIHBhdGggd2hlcmUgdGhpcyBwYWNrYWdlIGlzIGxvY2F0ZWQuXG4gICAqL1xuICBsb2NhbFBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uIHJ1biBpcyB0aGUgZmlyc3Qgb25lIGFmdGVyIHRoZSBwYWNrYWdlIHdhcyBhcHBsaWVkLlxuICAgKi9cbiAgaXNGaXJzdFJ1bjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXBwbGllcyB0aGlzIHBhY2thZ2UgdG8gdGhlIGFwcGxpY2F0aW9uLiBUaGUgYXBwbGljYXRpb24gd2lsbCBiZSByZWxvYWRlZCB3aXRoIHRoaXMgcGFja2FnZSBhbmQgb24gZXZlcnkgYXBwbGljYXRpb24gbGF1bmNoIHRoaXMgcGFja2FnZSB3aWxsIGJlIGxvYWRlZC5cbiAgICogT24gdGhlIGZpcnN0IHJ1biBhZnRlciB0aGUgdXBkYXRlLCB0aGUgYXBwbGljYXRpb24gd2lsbCB3YWl0IGZvciBhIGNvZGVQdXNoLm5vdGlmeUFwcGxpY2F0aW9uUmVhZHkoKSBjYWxsLiBPbmNlIHRoaXMgY2FsbCBpcyBtYWRlLCB0aGUgaW5zdGFsbCBvcGVyYXRpb24gaXMgY29uc2lkZXJlZCBhIHN1Y2Nlc3MuXG4gICAqIE90aGVyd2lzZSwgdGhlIGluc3RhbGwgb3BlcmF0aW9uIHdpbGwgYmUgbWFya2VkIGFzIGZhaWxlZCwgYW5kIHRoZSBhcHBsaWNhdGlvbiBpcyByZXZlcnRlZCB0byBpdHMgcHJldmlvdXMgdmVyc2lvbiBvbiB0aGUgbmV4dCBydW4uXG4gICAqXG4gICAqIEBwYXJhbSB7U3VjY2Vzc0NhbGxiYWNrPEluc3RhbGxNb2RlPn0gaW5zdGFsbFN1Y2Nlc3MgQ2FsbGJhY2sgaW52b2tlZCBpZiB0aGUgaW5zdGFsbCBvcGVyYXRpb24gc3VjY2VlZGVkLlxuICAgKiBAcGFyYW0ge0Vycm9yQ2FsbGJhY2t9IFtpbnN0YWxsRXJyb3JdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgaW4gY2FzZSBvZiBhbiBlcnJvci5cbiAgICogQHBhcmFtIHtJbnN0YWxsT3B0aW9uc30gW2luc3RhbGxPcHRpb25zXSBPcHRpb25hbCBwYXJhbWV0ZXIgdXNlZCBmb3IgY3VzdG9taXppbmcgdGhlIGluc3RhbGxhdGlvbiBiZWhhdmlvci5cbiAgICovXG4gIGluc3RhbGwoXG4gICAgaW5zdGFsbFN1Y2Nlc3M6IFN1Y2Nlc3NDYWxsYmFjazxJbnN0YWxsTW9kZT4sXG4gICAgZXJyb3JDYWxsYmFjaz86IEVycm9yQ2FsbGJhY2ssXG4gICAgaW5zdGFsbE9wdGlvbnM/OiBJbnN0YWxsT3B0aW9uc1xuICApOiB2b2lkO1xufVxuXG4vKipcbiAqIERlY29tcG9zZWQgc3RhdGljIHNpZGUgb2YgUmVtb3RlUGFja2FnZS5cbiAqIEZvciBDbGFzcyBEZWNvbXBvc2l0aW9uIGd1aWRlbGluZXMgc2VlIGh0dHA6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL0hhbmRib29rI3dyaXRpbmctZHRzLWZpbGVzLWd1aWRlbGluZXMtYW5kLXNwZWNpZmljc1xuICovXG5cbi8qIHRzbGludDpkaXNhYmxlICovXG5pbnRlcmZhY2UgUmVtb3RlUGFja2FnZV9TdGF0aWMge1xuICBuZXcgKCk6IElSZW1vdGVQYWNrYWdlO1xufVxuXG4vKiB0c2xpbnQ6ZW5hYmxlICovXG5cbi8qKlxuICogRGVjb21wb3NlZCBzdGF0aWMgc2lkZSBvZiBMb2NhbFBhY2thZ2UuXG4gKiBGb3IgQ2xhc3MgRGVjb21wb3NpdGlvbiBndWlkZWxpbmVzIHNlZSBodHRwOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9IYW5kYm9vayN3cml0aW5nLWR0cy1maWxlcy1ndWlkZWxpbmVzLWFuZC1zcGVjaWZpY3NcbiAqL1xuXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuaW50ZXJmYWNlIExvY2FsUGFja2FnZV9TdGF0aWMge1xuICBuZXcgKCk6IElMb2NhbFBhY2thZ2U7XG59XG5cbi8qIHRzbGludDplbmFibGUgKi9cblxuZGVjbGFyZSBjb25zdCBSZW1vdGVQYWNrYWdlOiBSZW1vdGVQYWNrYWdlX1N0YXRpYztcbmRlY2xhcmUgY29uc3QgTG9jYWxQYWNrYWdlOiBMb2NhbFBhY2thZ2VfU3RhdGljO1xuXG4vKipcbiAqIERlZmluZXMgdGhlIEpTT04gZm9ybWF0IG9mIHRoZSBjdXJyZW50IHBhY2thZ2UgaW5mb3JtYXRpb24gZmlsZS5cbiAqIFRoaXMgZmlsZSBpcyBzdG9yZWQgaW4gdGhlIGxvY2FsIHN0b3JhZ2Ugb2YgdGhlIGRldmljZSBhbmQgcGVyc2lzdHMgYmV0d2VlbiBzdG9yZSB1cGRhdGVzIGFuZCBjb2RlLXB1c2ggdXBkYXRlcy5cbiAqXG4gKiAhISBUSElTIEZJTEUgSVMgUkVBRCBGUk9NIE5BVElWRSBDT0RFIEFTIFdFTEwuIEFOWSBDSEFOR0VTIFRPIFRISVMgSU5URVJGQUNFIE5FRURTIFRPIEJFIFVQREFURUQgSU4gTkFUSVZFIENPREUgISFcbiAqL1xuaW50ZXJmYWNlIElQYWNrYWdlSW5mb01ldGFkYXRhIGV4dGVuZHMgSUxvY2FsUGFja2FnZSB7XG4gIG5hdGl2ZUJ1aWxkVGltZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTmF0aXZlVXBkYXRlTm90aWZpY2F0aW9uIHtcbiAgdXBkYXRlQXBwVmVyc2lvbjogYm9vbGVhbjsgLy8gQWx3YXlzIHRydWVcbiAgYXBwVmVyc2lvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDYWxsYmFjazxUPiA9IChlcnJvcjogRXJyb3IsIHBhcmFtZXRlcjogVCkgPT4gdm9pZDtcbmV4cG9ydCB0eXBlIFN1Y2Nlc3NDYWxsYmFjazxUPiA9IChyZXN1bHQ/OiBUKSA9PiB2b2lkO1xuZXhwb3J0IHR5cGUgRXJyb3JDYWxsYmFjayA9IChlcnJvcj86IEVycm9yKSA9PiB2b2lkO1xuXG5pbnRlcmZhY2UgQ29uZmlndXJhdGlvbiB7XG4gIGFwcFZlcnNpb246IHN0cmluZztcbiAgY2xpZW50VW5pcXVlSWQ6IHN0cmluZztcbiAgZGVwbG95bWVudEtleTogc3RyaW5nO1xuICBzZXJ2ZXJVcmw6IHN0cmluZztcbiAgaWdub3JlQXBwVmVyc2lvbj86IGJvb2xlYW47XG59XG5cbmRlY2xhcmUgY2xhc3MgQWNxdWlzaXRpb25TdGF0dXMge1xuICBzdGF0aWMgRGVwbG95bWVudFN1Y2NlZWRlZDogc3RyaW5nO1xuICBzdGF0aWMgRGVwbG95bWVudEZhaWxlZDogc3RyaW5nO1xufVxuXG5kZWNsYXJlIGNsYXNzIEFjcXVpc2l0aW9uTWFuYWdlciB7XG4gIGNvbnN0cnVjdG9yKGh0dHBSZXF1ZXN0ZXI6IEh0dHAuUmVxdWVzdGVyLCBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uKTtcbiAgcXVlcnlVcGRhdGVXaXRoQ3VycmVudFBhY2thZ2UoXG4gICAgY3VycmVudFBhY2thZ2U6IElQYWNrYWdlLFxuICAgIGNhbGxiYWNrPzogQ2FsbGJhY2s8SVJlbW90ZVBhY2thZ2UgfCBOYXRpdmVVcGRhdGVOb3RpZmljYXRpb24+XG4gICk6IHZvaWQ7XG4gIHJlcG9ydFN0YXR1c0RlcGxveShcbiAgICBwa2c/OiBJUGFja2FnZSxcbiAgICBzdGF0dXM/OiBzdHJpbmcsXG4gICAgcHJldmlvdXNMYWJlbE9yQXBwVmVyc2lvbj86IHN0cmluZyxcbiAgICBwcmV2aW91c0RlcGxveW1lbnRLZXk/OiBzdHJpbmcsXG4gICAgY2FsbGJhY2s/OiBDYWxsYmFjazx2b2lkPlxuICApOiB2b2lkO1xuICByZXBvcnRTdGF0dXNEb3dubG9hZChwa2c6IElQYWNrYWdlLCBjYWxsYmFjaz86IENhbGxiYWNrPHZvaWQ+KTogdm9pZDtcbn1cblxuaW50ZXJmYWNlIENvZGVQdXNoQ29yZG92YVBsdWdpbiB7XG4gIC8qKlxuICAgKiBHZXQgdGhlIGN1cnJlbnQgcGFja2FnZSBpbmZvcm1hdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHBhY2thZ2VTdWNjZXNzIENhbGxiYWNrIGludm9rZWQgd2l0aCB0aGUgY3VycmVudGx5IGRlcGxveWVkIHBhY2thZ2UgaW5mb3JtYXRpb24uXG4gICAqIEBwYXJhbSBwYWNrYWdlRXJyb3IgT3B0aW9uYWwgY2FsbGJhY2sgaW52b2tlZCBpbiBjYXNlIG9mIGFuIGVycm9yLlxuICAgKi9cbiAgZ2V0Q3VycmVudFBhY2thZ2UoXG4gICAgcGFja2FnZVN1Y2Nlc3M6IFN1Y2Nlc3NDYWxsYmFjazxJTG9jYWxQYWNrYWdlPixcbiAgICBwYWNrYWdlRXJyb3I/OiBFcnJvckNhbGxiYWNrXG4gICk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHBlbmRpbmcgcGFja2FnZSBpbmZvcm1hdGlvbiwgaWYgYW55LiBBIHBlbmRpbmcgcGFja2FnZSBpcyBvbmUgdGhhdCBoYXMgYmVlbiBpbnN0YWxsZWQgYnV0IHRoZSBhcHBsaWNhdGlvbiBzdGlsbCBydW5zIHRoZSBvbGQgY29kZS5cbiAgICogVGhpcyBoYXBwZW5zIG9ubHkgYWZ0ZXIgYSBwYWNrYWdlIGhhcyBiZWVuIGluc3RhbGxlZCB1c2luZyBPTl9ORVhUX1JFU1RBUlQgb3IgT05fTkVYVF9SRVNVTUUgbW9kZSwgYnV0IHRoZSBhcHBsaWNhdGlvbiB3YXMgbm90IHJlc3RhcnRlZC9yZXN1bWVkIHlldC5cbiAgICovXG4gIGdldFBlbmRpbmdQYWNrYWdlKFxuICAgIHBhY2thZ2VTdWNjZXNzOiBTdWNjZXNzQ2FsbGJhY2s8SUxvY2FsUGFja2FnZT4sXG4gICAgcGFja2FnZUVycm9yPzogRXJyb3JDYWxsYmFja1xuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2l0aCB0aGUgQ29kZVB1c2ggc2VydmVyIGlmIGFuIHVwZGF0ZSBwYWNrYWdlIGlzIGF2YWlsYWJsZSBmb3IgZG93bmxvYWQuXG4gICAqXG4gICAqIEBwYXJhbSB7U3VjY2Vzc0NhbGxiYWNrPElSZW1vdGVQYWNrYWdlPn0gcXVlcnlTdWNjZXNzIENhbGxiYWNrIGludm9rZWQgaW4gY2FzZSBvZiBhIHN1Y2Nlc3NmdWwgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyLlxuICAgKiAgICAgICAgICAgICAgICAgICAgIFRoZSBjYWxsYmFjayB0YWtlcyBvbmUgUmVtb3RlUGFja2FnZSBwYXJhbWV0ZXIuIEEgbm9uLW51bGwgcGFja2FnZSBpcyBhIHZhbGlkIHVwZGF0ZS5cbiAgICogICAgICAgICAgICAgICAgICAgICBBIG51bGwgcGFja2FnZSBtZWFucyB0aGUgYXBwbGljYXRpb24gaXMgdXAgdG8gZGF0ZSBmb3IgdGhlIGN1cnJlbnQgbmF0aXZlIGFwcGxpY2F0aW9uIHZlcnNpb24uXG4gICAqIEBwYXJhbSB7RXJyb3JDYWxsYmFja30gW3F1ZXJ5RXJyb3JdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgaW4gY2FzZSBvZiBhbiBlcnJvci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtkZXBsb3ltZW50S2V5XSBPcHRpb25hbCBkZXBsb3ltZW50IGtleSB0aGF0IG92ZXJyaWRlcyB0aGUgY29uZmlnLnhtbCBzZXR0aW5nLlxuICAgKi9cbiAgY2hlY2tGb3JVcGRhdGUoXG4gICAgcXVlcnlTdWNjZXNzOiBTdWNjZXNzQ2FsbGJhY2s8SVJlbW90ZVBhY2thZ2U+LFxuICAgIHF1ZXJ5RXJyb3I/OiBFcnJvckNhbGxiYWNrLFxuICAgIGRlcGxveW1lbnRLZXk/OiBzdHJpbmdcbiAgKTogdm9pZDtcblxuICAvKipcbiAgICogTm90aWZpZXMgdGhlIHBsdWdpbiB0aGF0IHRoZSB1cGRhdGUgb3BlcmF0aW9uIHN1Y2NlZWRlZCBhbmQgdGhhdCB0aGUgYXBwbGljYXRpb24gaXMgcmVhZHkuXG4gICAqIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyByZXF1aXJlZCBvbiB0aGUgZmlyc3QgcnVuIGFmdGVyIGFuIHVwZGF0ZS4gT24gZXZlcnkgc3Vic2VxdWVudCBhcHBsaWNhdGlvbiBydW4sIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyBhIG5vb3AuXG4gICAqIElmIHVzaW5nIHN5bmMgQVBJLCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gaXMgbm90IHJlcXVpcmVkIHNpbmNlIHN5bmMgY2FsbHMgaXQgaW50ZXJuYWxseS5cbiAgICpcbiAgICogQHBhcmFtIHtTdWNjZXNzQ2FsbGJhY2s8dm9pZD59IFtub3RpZnlTdWNjZWVkZWRdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgaWYgdGhlIHBsdWdpbiB3YXMgc3VjY2Vzc2Z1bGx5IG5vdGlmaWVkLlxuICAgKiBAcGFyYW0ge0Vycm9yQ2FsbGJhY2t9IFtub3RpZnlGYWlsZWRdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgaW4gY2FzZSBvZiBhbiBlcnJvciBkdXJpbmcgbm90aWZ5aW5nIHRoZSBwbHVnaW4uXG4gICAqL1xuICBub3RpZnlBcHBsaWNhdGlvblJlYWR5KFxuICAgIG5vdGlmeVN1Y2NlZWRlZD86IFN1Y2Nlc3NDYWxsYmFjazx2b2lkPixcbiAgICBub3RpZnlGYWlsZWQ/OiBFcnJvckNhbGxiYWNrXG4gICk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJlbG9hZHMgdGhlIGFwcGxpY2F0aW9uLiBJZiB0aGVyZSBpcyBhIHBlbmRpbmcgdXBkYXRlIHBhY2thZ2UgaW5zdGFsbGVkIHVzaW5nIE9OX05FWFRfUkVTVEFSVCBvciBPTl9ORVhUX1JFU1VNRSBtb2RlcywgdGhlIHVwZGF0ZVxuICAgKiB3aWxsIGJlIGltbWVkaWF0ZWx5IHZpc2libGUgdG8gdGhlIHVzZXIuIE90aGVyd2lzZSwgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIHdpbGwgc2ltcGx5IHJlbG9hZCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtTdWNjZXNzQ2FsbGJhY2s8dm9pZD59IGluc3RhbGxTdWNjZXNzXG4gICAqIEBwYXJhbSB7RXJyb3JDYWxsYmFja30gW2Vycm9yQ2FsbGJhY2tdXG4gICAqL1xuICByZXN0YXJ0QXBwbGljYXRpb24oXG4gICAgaW5zdGFsbFN1Y2Nlc3M6IFN1Y2Nlc3NDYWxsYmFjazx2b2lkPixcbiAgICBlcnJvckNhbGxiYWNrPzogRXJyb3JDYWxsYmFja1xuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGluc3RhbGxpbmcgdXBkYXRlcyBpbiBvbmUgbWV0aG9kIGNhbGwuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHByb3ZpZGVkIGZvciBzaW1wbGljaXR5LCBhbmQgaXRzIGJlaGF2aW9yIGNhbiBiZSByZXBsaWNhdGVkIGJ5IHVzaW5nIHdpbmRvdy5jb2RlUHVzaC5jaGVja0ZvclVwZGF0ZSgpLCBSZW1vdGVQYWNrYWdlJ3MgZG93bmxvYWQoKSBhbmQgTG9jYWxQYWNrYWdlJ3MgaW5zdGFsbCgpIG1ldGhvZHMuXG4gICAqXG4gICAqIFRoZSBhbGdvcml0aG0gb2YgdGhpcyBtZXRob2QgaXMgdGhlIGZvbGxvd2luZzpcbiAgICogLSBDaGVja3MgZm9yIGFuIHVwZGF0ZSBvbiB0aGUgQ29kZVB1c2ggc2VydmVyLlxuICAgKiAtIElmIGFuIHVwZGF0ZSBpcyBhdmFpbGFibGVcbiAgICogICAgICAgICAtIElmIHRoZSB1cGRhdGUgaXMgbWFuZGF0b3J5IGFuZCB0aGUgYWxlcnRNZXNzYWdlIGlzIHNldCBpbiBvcHRpb25zLCB0aGUgdXNlciB3aWxsIGJlIGluZm9ybWVkIHRoYXQgdGhlIGFwcGxpY2F0aW9uIHdpbGwgYmUgdXBkYXRlZCB0byB0aGUgbGF0ZXN0IHZlcnNpb24uXG4gICAqICAgICAgICAgICBUaGUgdXBkYXRlIHBhY2thZ2Ugd2lsbCB0aGVuIGJlIGRvd25sb2FkZWQgYW5kIGFwcGxpZWQuXG4gICAqICAgICAgICAgLSBJZiB0aGUgdXBkYXRlIGlzIG5vdCBtYW5kYXRvcnkgYW5kIHRoZSBjb25maXJtTWVzc2FnZSBpcyBzZXQgaW4gb3B0aW9ucywgdGhlIHVzZXIgd2lsbCBiZSBhc2tlZCBpZiB0aGV5IHdhbnQgdG8gdXBkYXRlIHRvIHRoZSBsYXRlc3QgdmVyc2lvbi5cbiAgICogICAgICAgICAgIElmIHRoZXkgZGVjbGluZSwgdGhlIHN5bmNDYWxsYmFjayB3aWxsIGJlIGludm9rZWQgd2l0aCBTeW5jU3RhdHVzLlVQREFURV9JR05PUkVELlxuICAgKiAgICAgICAgIC0gT3RoZXJ3aXNlLCB0aGUgdXBkYXRlIHBhY2thZ2Ugd2lsbCBiZSBkb3dubG9hZGVkIGFuZCBhcHBsaWVkIHdpdGggbm8gdXNlciBpbnRlcmFjdGlvbi5cbiAgICogLSBJZiBubyB1cGRhdGUgaXMgYXZhaWxhYmxlIG9uIHRoZSBzZXJ2ZXIsIG9yIGlmIGEgcHJldmlvdXNseSByb2xsZWQgYmFjayB1cGRhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgaWdub3JlRmFpbGVkVXBkYXRlcyBpcyBzZXQgdG8gdHJ1ZSwgdGhlIHN5bmNDYWxsYmFjayB3aWxsIGJlIGludm9rZWQgd2l0aCB0aGUgU3luY1N0YXR1cy5VUF9UT19EQVRFLlxuICAgKiAtIElmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgY2hlY2tpbmcgZm9yIHVwZGF0ZSwgZG93bmxvYWRpbmcgb3IgaW5zdGFsbGluZyBpdCwgdGhlIHN5bmNDYWxsYmFjayB3aWxsIGJlIGludm9rZWQgd2l0aCB0aGUgU3luY1N0YXR1cy5FUlJPUi5cbiAgICpcbiAgICogQHBhcmFtIHtTdWNjZXNzQ2FsbGJhY2s8U3luY1N0YXR1cz59IFtzeW5jQ2FsbGJhY2tdIE9wdGlvbmFsIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aXRoIHRoZSBzdGF0dXMgb2YgdGhlIHN5bmMgb3BlcmF0aW9uLlxuICAgKiAgICAgICAgICAgICAgICAgICAgIFRoZSBjYWxsYmFjayB3aWxsIGJlIGNhbGxlZCBvbmx5IG9uY2UsIGFuZCB0aGUgcG9zc2libGUgc3RhdHVzZXMgYXJlIGRlZmluZWQgYnkgdGhlIFN5bmNTdGF0dXMgZW51bS5cbiAgICogQHBhcmFtIHtTeW5jT3B0aW9uc30gW3N5bmNPcHRpb25zXSBPcHRpb25hbCBTeW5jT3B0aW9ucyBwYXJhbWV0ZXIgY29uZmlndXJpbmcgdGhlIGJlaGF2aW9yIG9mIHRoZSBzeW5jIG9wZXJhdGlvbi5cbiAgICogQHBhcmFtIHtTdWNjZXNzQ2FsbGJhY2s8RG93bmxvYWRQcm9ncmVzcz59IFtkb3dubG9hZFByb2dyZXNzXSBPcHRpb25hbCBjYWxsYmFjayBpbnZva2VkIGR1cmluZyB0aGUgZG93bmxvYWQgcHJvY2Vzcy4gSXQgaXMgY2FsbGVkIHNldmVyYWwgdGltZXMgd2l0aCBvbmUgRG93bmxvYWRQcm9ncmVzcyBwYXJhbWV0ZXIuXG4gICAqXG4gICAqL1xuICBzeW5jKFxuICAgIHN5bmNDYWxsYmFjaz86IFN1Y2Nlc3NDYWxsYmFjazxTeW5jU3RhdHVzPixcbiAgICBzeW5jT3B0aW9ucz86IFN5bmNPcHRpb25zLFxuICAgIGRvd25sb2FkUHJvZ3Jlc3M/OiBTdWNjZXNzQ2FsbGJhY2s8RG93bmxvYWRQcm9ncmVzcz5cbiAgKTogdm9pZDtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBwb3NzaWJsZSByZXN1bHQgc3RhdHVzZXMgb2YgdGhlIHdpbmRvdy5jb2RlUHVzaC5zeW5jIG9wZXJhdGlvbi5cbiAqL1xuZXhwb3J0IGVudW0gU3luY1N0YXR1cyB7XG4gIC8qKlxuICAgKiBUaGUgYXBwbGljYXRpb24gaXMgdXAgdG8gZGF0ZS5cbiAgICovXG4gIFVQX1RPX0RBVEUsXG5cbiAgLyoqXG4gICAqIEFuIHVwZGF0ZSBpcyBhdmFpbGFibGUsIGl0IGhhcyBiZWVuIGRvd25sb2FkZWQsIHVuemlwcGVkIGFuZCBjb3BpZWQgdG8gdGhlIGRlcGxveW1lbnQgZm9sZGVyLlxuICAgKiBBZnRlciB0aGUgY29tcGxldGlvbiBvZiB0aGUgY2FsbGJhY2sgaW52b2tlZCB3aXRoIFN5bmNTdGF0dXMuVVBEQVRFX0lOU1RBTExFRCwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgYmUgcmVsb2FkZWQgd2l0aCB0aGUgdXBkYXRlZCBjb2RlIGFuZCByZXNvdXJjZXMuXG4gICAqL1xuICBVUERBVEVfSU5TVEFMTEVELFxuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCB1cGRhdGUgaXMgYXZhaWxhYmxlLCBidXQgdGhlIHVzZXIgZGVjbGluZWQgdG8gaW5zdGFsbCBpdC4gVGhlIHVwZGF0ZSB3YXMgbm90IGRvd25sb2FkZWQuXG4gICAqL1xuICBVUERBVEVfSUdOT1JFRCxcblxuICAvKipcbiAgICogQW4gZXJyb3IgaGFwcGVuZWQgZHVyaW5nIHRoZSBzeW5jIG9wZXJhdGlvbi4gVGhpcyBtaWdodCBiZSBhbiBlcnJvciB3aGlsZSBjb21tdW5pY2F0aW5nIHdpdGggdGhlIHNlcnZlciwgZG93bmxvYWRpbmcgb3IgdW56aXBpbmcgdGhlIHVwZGF0ZS5cbiAgICogVGhlIGNvbnNvbGUgbG9ncyBzaG91bGQgY29udGFpbiBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgaGFwcGVuZWQuIE5vIHVwZGF0ZSBoYXMgYmVlbiBhcHBsaWVkIGluIHRoaXMgY2FzZS5cbiAgICovXG4gIEVSUk9SLFxuXG4gIC8qKlxuICAgKiBUaGVyZSBpcyBhbiBvbmdvaW5nIHN5bmMgaW4gcHJvZ3Jlc3MsIHNvIHRoaXMgYXR0ZW1wdCB0byBzeW5jIGhhcyBiZWVuIGFib3J0ZWQuXG4gICAqL1xuICBJTl9QUk9HUkVTUyxcblxuICAvKipcbiAgICogSW50ZXJtZWRpYXRlIHN0YXR1cyAtIHRoZSBwbHVnaW4gaXMgYWJvdXQgdG8gY2hlY2sgZm9yIHVwZGF0ZXMuXG4gICAqL1xuICBDSEVDS0lOR19GT1JfVVBEQVRFLFxuXG4gIC8qKlxuICAgKiBJbnRlcm1lZGlhdGUgc3RhdHVzIC0gYSB1c2VyIGRpYWxvZyBpcyBhYm91dCB0byBiZSBkaXNwbGF5ZWQuIFRoaXMgc3RhdHVzIHdpbGwgYmUgcmVwb3J0ZWQgb25seSBpZiB1c2VyIGludGVyYWN0aW9uIGlzIGVuYWJsZWQuXG4gICAqL1xuICBBV0FJVElOR19VU0VSX0FDVElPTixcblxuICAvKipcbiAgICogSW50ZXJtZWRpYXRlIHN0YXR1cyAtIHRoZSB1cGRhdGUgcGFja2FnZSBpcyBhYm91dCB0byBiZSBkb3dubG9hZGVkLlxuICAgKi9cbiAgRE9XTkxPQURJTkdfUEFDS0FHRSxcblxuICAvKipcbiAgICogSW50ZXJtZWRpYXRlIHN0YXR1cyAtIHRoZSB1cGRhdGUgcGFja2FnZSBpcyBhYm91dCB0byBiZSBpbnN0YWxsZWQuXG4gICAqL1xuICBJTlNUQUxMSU5HX1VQREFURVxufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIGF2YWlsYWJsZSBpbnN0YWxsIG1vZGVzIGZvciB1cGRhdGVzLlxuICovXG5leHBvcnQgZW51bSBJbnN0YWxsTW9kZSB7XG4gIC8qKlxuICAgKiBUaGUgdXBkYXRlIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcnVubmluZyBhcHBsaWNhdGlvbiBpbW1lZGlhdGVseS4gVGhlIGFwcGxpY2F0aW9uIHdpbGwgYmUgcmVsb2FkZWQgd2l0aCB0aGUgbmV3IGNvbnRlbnQgaW1tZWRpYXRlbHkuXG4gICAqL1xuICBJTU1FRElBVEUsXG5cbiAgLyoqXG4gICAqIFRoZSB1cGRhdGUgaXMgZG93bmxvYWRlZCBidXQgbm90IGluc3RhbGxlZCBpbW1lZGlhdGVseS4gVGhlIG5ldyBjb250ZW50IHdpbGwgYmUgYXZhaWxhYmxlIHRoZSBuZXh0IHRpbWUgdGhlIGFwcGxpY2F0aW9uIGlzIHN0YXJ0ZWQuXG4gICAqL1xuICBPTl9ORVhUX1JFU1RBUlQsXG5cbiAgLyoqXG4gICAqIFRoZSB1ZHBhdGUgaXMgZG93bmxvYWRlZCBidXQgbm90IGluc3RhbGxlZCBpbW1lZGlhdGVseS4gVGhlIG5ldyBjb250ZW50IHdpbGwgYmUgYXZhaWxhYmxlIHRoZSBuZXh0IHRpbWUgdGhlIGFwcGxpY2F0aW9uIGlzIHJlc3VtZWQgb3IgcmVzdGFydGVkLCB3aGljaGV2ZXIgZXZlbnQgaGFwcGVuZHMgZmlyc3QuXG4gICAqL1xuICBPTl9ORVhUX1JFU1VNRVxufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIGluc3RhbGwgb3BlcmF0aW9uIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFsbE9wdGlvbnMge1xuICAvKipcbiAgICogVXNlZCB0byBzcGVjaWZ5IHRoZSBJbnN0YWxsTW9kZSB1c2VkIGZvciB0aGUgaW5zdGFsbCBvcGVyYXRpb24uIFRoaXMgaXMgb3B0aW9uYWwgYW5kIGRlZmF1bHRzIHRvIEluc3RhbGxNb2RlLk9OX05FWFRfUkVTVEFSVC5cbiAgICovXG4gIGluc3RhbGxNb2RlPzogSW5zdGFsbE1vZGU7XG5cbiAgLyoqXG4gICAqIElmIGluc3RhbGxNb2RlID09PSBPTl9ORVhUX1JFU1VNRSwgdGhlIG1pbmltdW0gYW1vdW50IG9mIHRpbWUgKGluIHNlY29uZHMpIHdoaWNoIG5lZWRzIHRvIHBhc3Mgd2l0aCB0aGUgYXBwIGluIHRoZSBiYWNrZ3JvdW5kIGJlZm9yZSBhbiB1cGRhdGUgaW5zdGFsbCBvY2N1cnMgd2hlbiB0aGUgYXBwIGlzIHJlc3VtZWQuXG4gICAqL1xuICBtaW5pbXVtQmFja2dyb3VuZER1cmF0aW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHNwZWNpZnkgdGhlIEluc3RhbGxNb2RlIHVzZWQgZm9yIHRoZSBpbnN0YWxsIG9wZXJhdGlvbiBpZiB0aGUgdXBkYXRlIGlzIG1hbmRhdG9yeS4gVGhpcyBpcyBvcHRpb25hbCBhbmQgZGVmYXVsdHMgdG8gSW5zdGFsbE1vZGUuSU1NRURJQVRFLlxuICAgKi9cbiAgbWFuZGF0b3J5SW5zdGFsbE1vZGU/OiBJbnN0YWxsTW9kZTtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBzeW5jIG9wZXJhdGlvbiBvcHRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN5bmNPcHRpb25zIGV4dGVuZHMgSW5zdGFsbE9wdGlvbnMge1xuICAvKipcbiAgICogT3B0aW9uYWwgYm9vbGVhbiBmbGFnLiBJZiBzZXQsIHByZXZpb3VzIHVwZGF0ZXMgd2hpY2ggd2VyZSByb2xsZWQgYmFjayB3aWxsIGJlIGlnbm9yZWQuIERlZmF1bHRzIHRvIHRydWUuXG4gICAqL1xuICBpZ25vcmVGYWlsZWRVcGRhdGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlZCB0byBlbmFibGUsIGRpc2FibGUgb3IgY3VzdG9taXplIHRoZSB1c2VyIGludGVyYWN0aW9uIGR1cmluZyBzeW5jLlxuICAgKiBJZiBzZXQgdG8gZmFsc2UsIHVzZXIgaW50ZXJhY3Rpb24gd2lsbCBiZSBkaXNhYmxlZC4gSWYgc2V0IHRvIHRydWUsIHRoZSB1c2VyIHdpbGwgYmUgYWxlcnRlZCBvciBhc2tlZCB0byBjb25maXJtIG5ldyB1cGRhdGVzLCBiYXNlZCBvbiB3aGV0aGVyIHRoZSB1cGRhdGUgaXMgbWFuZGF0b3J5LlxuICAgKiBUbyBjdXN0b21pemUgdGhlIHVzZXIgZGlhbG9nLCB0aGlzIG9wdGlvbiBjYW4gYmUgc2V0IHRvIGEgY3VzdG9tIFVwZGF0ZURpYWxvZ09wdGlvbnMgaW5zdGFuY2UuXG4gICAqL1xuICB1cGRhdGVEaWFsb2c/OiBib29sZWFuIHwgVXBkYXRlRGlhbG9nT3B0aW9ucztcblxuICAvKipcbiAgICogT3ZlcnJpZGVzIHRoZSBjb25maWcueG1sIGRlcGxveW1lbnQga2V5IHdoZW4gY2hlY2tpbmcgZm9yIHVwZGF0ZXMuXG4gICAqL1xuICBkZXBsb3ltZW50S2V5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIGFsZXJ0IG9yIGNvbmZpcm1hdGlvbiBkaWFsb2dcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVEaWFsb2dPcHRpb25zIHtcbiAgLyoqXG4gICAqIElmIGEgbWFuZGF0b3J5IHVwZGF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoaXMgb3B0aW9uIGlzIHNldCwgdGhlIG1lc3NhZ2Ugd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgaW4gYW4gYWxlcnQgZGlhbG9nIGJlZm9yZSBkb3dubG9hZGluZyBhbmQgaW5zdGFsbGluZyB0aGUgdXBkYXRlLlxuICAgKiBUaGUgdXNlciB3aWxsIG5vdCBiZSBhYmxlIHRvIGNhbmNlbCB0aGUgb3BlcmF0aW9uLCBzaW5jZSB0aGUgdXBkYXRlIGlzIG1hbmRhdG9yeS5cbiAgICovXG4gIG1hbmRhdG9yeVVwZGF0ZU1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIGFuIG9wdGlvbmFsIHVwZGF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoaXMgb3B0aW9uIGlzIHNldCwgdGhlIG1lc3NhZ2Ugd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgaW4gYSBjb25maXJtYXRpb24gZGlhbG9nLlxuICAgKiBJZiB0aGUgdXNlciBjb25maXJtcyB0aGUgdXBkYXRlLCBpdCB3aWxsIGJlIGRvd25sb2FkZWQgYW5kIGluc3RhbGxlZC4gT3RoZXJ3aXNlLCB0aGUgdXBkYXRlIHVwZGF0ZSBpcyBub3QgZG93bmxvYWRlZC5cbiAgICovXG4gIG9wdGlvbmFsVXBkYXRlTWVzc2FnZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBkaWFsb2cgYm94IHVzZWQgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIHVzZXIgaW4gY2FzZSBvZiBhIG1hbmRhdG9yeSBvciBvcHRpb25hbCB1cGRhdGUuXG4gICAqIFRoaXMgdGl0bGUgd2lsbCBvbmx5IGJlIHVzZWQgaWYgYXQgbGVhc3Qgb25lIG9mIG1hbmRhdG9yeVVwZGF0ZU1lc3NhZ2Ugb3Igb3B0aW9uYWxVcGRhdGVNZXNzYWdlIG9wdGlvbnMgYXJlIHNldC5cbiAgICovXG4gIHVwZGF0ZVRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGNvbmZpcm1hdGlvbiBidXR0b24gaW4gY2FzZSBvZiBhbiBvcHRpb25hbCB1cGRhdGUuXG4gICAqL1xuICBvcHRpb25hbEluc3RhbGxCdXR0b25MYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxhYmVsIG9mIHRoZSBjYW5jZWwgYnV0dG9uIGluIGNhc2Ugb2YgYW4gb3B0aW9uYWwgdXBkYXRlLlxuICAgKi9cbiAgb3B0aW9uYWxJZ25vcmVCdXR0b25MYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxhYmVsIG9mIHRoZSBjb250aW51ZSBidXR0b24gaW4gY2FzZSBvZiBhIG1hbmRhdG9yeSB1cGRhdGUuXG4gICAqL1xuICBtYW5kYXRvcnlDb250aW51ZUJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGbGFnIGluZGljYXRpbmcgaWYgdGhlIHVwZGF0ZSBkZXNjcmlwdGlvbiBwcm92aWRlZCBieSB0aGUgQ29kZVB1c2ggc2VydmVyIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gdGhlIGRpYWxvZyBib3ggYXBwZW5kZWQgdG8gdGhlIHVwZGF0ZSBtZXNzYWdlLlxuICAgKi9cbiAgYXBwZW5kUmVsZWFzZURlc2NyaXB0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgcHJlZml4IHRvIGFkZCB0byB0aGUgcmVsZWFzZSBkZXNjcmlwdGlvbi5cbiAgICovXG4gIGRlc2NyaXB0aW9uUHJlZml4Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIEpTT04gZm9ybWF0IG9mIHRoZSBwYWNrYWdlIGRpZmYgbWFuaWZlc3QgZmlsZS5cbiAqL1xuaW50ZXJmYWNlIElEaWZmTWFuaWZlc3Qge1xuICBkZWxldGVkRmlsZXM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIGZvcm1hdCBvZiB0aGUgRG93bmxvYWRQcm9ncmVzcyBvYmplY3QsIHVzZWQgdG8gc2VuZCBwZXJpb2RpY2FsIHVwZGF0ZSBub3RpZmljYXRpb25zIG9uIHRoZSBwcm9ncmVzcyBvZiB0aGUgdXBkYXRlIGRvd25sb2FkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkUHJvZ3Jlc3Mge1xuICB0b3RhbEJ5dGVzOiBudW1iZXI7XG4gIHJlY2VpdmVkQnl0ZXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAbmFtZSBDb2RlIFB1c2hcbiAqIEBkZXNjcmlwdGlvblxuICogQ29kZVB1c2ggcGx1Z2luIGZvciBDb3Jkb3ZhIGJ5IE1pY3Jvc29mdCB0aGF0IHN1cHBvcnRzIGlPUyBhbmQgQW5kcm9pZC5cbiAqXG4gKiBGb3IgbW9yZSBpbmZvLCBwbGVhc2Ugc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9EZWxsb3M3L2V4YW1wbGUtY29yZG92YS1jb2RlLXB1c2gtcGx1Z2luXG4gKlxuICogQHVzYWdlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBDb2RlUHVzaCB9IGZyb20gJ0Bpb25pYy1uYXRpdmUvY29kZS1wdXNoL25neCc7XG4gKlxuICogY29uc3RydWN0b3IocHJpdmF0ZSBjb2RlUHVzaDogQ29kZVB1c2gpIHsgfVxuICpcbiAqIC4uLlxuICpcbiAqIC8vIG5vdGUgLSBtb3N0bHkgZXJyb3IgJiBjb21wbGV0ZWQgbWV0aG9kcyBvZiBvYnNlcnZhYmxlIHdpbGwgbm90IGZpcmVcbiAqIC8vIGFzIHN5bmNTdGF0dXMgd2lsbCBjb250YWluIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSB1cGRhdGVcbiAqIHRoaXMuY29kZVB1c2guc3luYygpLnN1YnNjcmliZSgoc3luY1N0YXR1cykgPT4gY29uc29sZS5sb2coc3luY1N0YXR1cykpO1xuICpcbiAqIGNvbnN0IGRvd25sb2FkUHJvZ3Jlc3MgPSAocHJvZ3Jlc3MpID0+IHsgY29uc29sZS5sb2coYERvd25sb2FkZWQgJHtwcm9ncmVzcy5yZWNlaXZlZEJ5dGVzfSBvZiAke3Byb2dyZXNzLnRvdGFsQnl0ZXN9YCk7IH1cbiAqIHRoaXMuY29kZVB1c2guc3luYyh7fSwgZG93bmxvYWRQcm9ncmVzcykuc3Vic2NyaWJlKChzeW5jU3RhdHVzKSA9PiBjb25zb2xlLmxvZyhzeW5jU3RhdHVzKSk7XG4gKlxuICogYGBgXG4gKi9cbkBQbHVnaW4oe1xuICBwbHVnaW5OYW1lOiAnQ29kZVB1c2gnLFxuICBwbHVnaW46ICdjb3Jkb3ZhLXBsdWdpbi1jb2RlLXB1c2gnLFxuICBwbHVnaW5SZWY6ICdjb2RlUHVzaCcsXG4gIHJlcG86ICdodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L2NvcmRvdmEtcGx1Z2luLWNvZGUtcHVzaCcsXG4gIHBsYXRmb3JtczogWydBbmRyb2lkJywgJ2lPUyddXG59KVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvZGVQdXNoIGV4dGVuZHMgSW9uaWNOYXRpdmVQbHVnaW4ge1xuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IHBhY2thZ2UgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPElMb2NhbFBhY2thZ2U+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBnZXRDdXJyZW50UGFja2FnZSgpOiBQcm9taXNlPElMb2NhbFBhY2thZ2U+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcGVuZGluZyBwYWNrYWdlIGluZm9ybWF0aW9uLCBpZiBhbnkuIEEgcGVuZGluZyBwYWNrYWdlIGlzIG9uZSB0aGF0IGhhcyBiZWVuIGluc3RhbGxlZCBidXQgdGhlIGFwcGxpY2F0aW9uIHN0aWxsIHJ1bnMgdGhlIG9sZCBjb2RlLlxuICAgKiBUaGlzIGhhcHBlbnMgb25seSBhZnRlciBhIHBhY2thZ2UgaGFzIGJlZW4gaW5zdGFsbGVkIHVzaW5nIE9OX05FWFRfUkVTVEFSVCBvciBPTl9ORVhUX1JFU1VNRSBtb2RlLCBidXQgdGhlIGFwcGxpY2F0aW9uIHdhcyBub3QgcmVzdGFydGVkL3Jlc3VtZWQgeWV0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxJTG9jYWxQYWNrYWdlPn1cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZ2V0UGVuZGluZ1BhY2thZ2UoKTogUHJvbWlzZTxJTG9jYWxQYWNrYWdlPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aXRoIHRoZSBDb2RlUHVzaCBzZXJ2ZXIgaWYgYW4gdXBkYXRlIHBhY2thZ2UgaXMgYXZhaWxhYmxlIGZvciBkb3dubG9hZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtkZXBsb3ltZW50S2V5XSBPcHRpb25hbCBkZXBsb3ltZW50IGtleSB0aGF0IG92ZXJyaWRlcyB0aGUgY29uZmlnLnhtbCBzZXR0aW5nLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxJUmVtb3RlUGFja2FnZT59XG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgY2FsbGJhY2tPcmRlcjogJ3JldmVyc2UnXG4gIH0pXG4gIGNoZWNrRm9yVXBkYXRlKGRlcGxveW1lbnRLZXk/OiBzdHJpbmcpOiBQcm9taXNlPElSZW1vdGVQYWNrYWdlPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vdGlmaWVzIHRoZSBwbHVnaW4gdGhhdCB0aGUgdXBkYXRlIG9wZXJhdGlvbiBzdWNjZWVkZWQgYW5kIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGlzIHJlYWR5LlxuICAgKiBDYWxsaW5nIHRoaXMgZnVuY3Rpb24gaXMgcmVxdWlyZWQgb24gdGhlIGZpcnN0IHJ1biBhZnRlciBhbiB1cGRhdGUuIE9uIGV2ZXJ5IHN1YnNlcXVlbnQgYXBwbGljYXRpb24gcnVuLCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gaXMgYSBub29wLlxuICAgKiBJZiB1c2luZyBzeW5jIEFQSSwgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIGlzIG5vdCByZXF1aXJlZCBzaW5jZSBzeW5jIGNhbGxzIGl0IGludGVybmFsbHkuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBub3RpZnlBcHBsaWNhdGlvblJlYWR5KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWxvYWRzIHRoZSBhcHBsaWNhdGlvbi4gSWYgdGhlcmUgaXMgYSBwZW5kaW5nIHVwZGF0ZSBwYWNrYWdlIGluc3RhbGxlZCB1c2luZyBPTl9ORVhUX1JFU1RBUlQgb3IgT05fTkVYVF9SRVNVTUUgbW9kZXMsIHRoZSB1cGRhdGVcbiAgICogd2lsbCBiZSBpbW1lZGlhdGVseSB2aXNpYmxlIHRvIHRoZSB1c2VyLiBPdGhlcndpc2UsIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiB3aWxsIHNpbXBseSByZWxvYWQgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRpb24uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgQENvcmRvdmEoKVxuICByZXN0YXJ0QXBwbGljYXRpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgaW5zdGFsbGluZyB1cGRhdGVzIGluIG9uZSBtZXRob2QgY2FsbC5cbiAgICogVGhpcyBtZXRob2QgaXMgcHJvdmlkZWQgZm9yIHNpbXBsaWNpdHksIGFuZCBpdHMgYmVoYXZpb3IgY2FuIGJlIHJlcGxpY2F0ZWQgYnkgdXNpbmcgd2luZG93LmNvZGVQdXNoLmNoZWNrRm9yVXBkYXRlKCksIFJlbW90ZVBhY2thZ2UncyBkb3dubG9hZCgpIGFuZCBMb2NhbFBhY2thZ2UncyBpbnN0YWxsKCkgbWV0aG9kcy5cbiAgICpcbiAgICogVGhlIGFsZ29yaXRobSBvZiB0aGlzIG1ldGhvZCBpcyB0aGUgZm9sbG93aW5nOlxuICAgKiAtIENoZWNrcyBmb3IgYW4gdXBkYXRlIG9uIHRoZSBDb2RlUHVzaCBzZXJ2ZXIuXG4gICAqIC0gSWYgYW4gdXBkYXRlIGlzIGF2YWlsYWJsZVxuICAgKiAgICAgICAgIC0gSWYgdGhlIHVwZGF0ZSBpcyBtYW5kYXRvcnkgYW5kIHRoZSBhbGVydE1lc3NhZ2UgaXMgc2V0IGluIG9wdGlvbnMsIHRoZSB1c2VyIHdpbGwgYmUgaW5mb3JtZWQgdGhhdCB0aGUgYXBwbGljYXRpb24gd2lsbCBiZSB1cGRhdGVkIHRvIHRoZSBsYXRlc3QgdmVyc2lvbi5cbiAgICogICAgICAgICAgIFRoZSB1cGRhdGUgcGFja2FnZSB3aWxsIHRoZW4gYmUgZG93bmxvYWRlZCBhbmQgYXBwbGllZC5cbiAgICogICAgICAgICAtIElmIHRoZSB1cGRhdGUgaXMgbm90IG1hbmRhdG9yeSBhbmQgdGhlIGNvbmZpcm1NZXNzYWdlIGlzIHNldCBpbiBvcHRpb25zLCB0aGUgdXNlciB3aWxsIGJlIGFza2VkIGlmIHRoZXkgd2FudCB0byB1cGRhdGUgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uLlxuICAgKiAgICAgICAgICAgSWYgdGhleSBkZWNsaW5lLCB0aGUgc3luY0NhbGxiYWNrIHdpbGwgYmUgaW52b2tlZCB3aXRoIFN5bmNTdGF0dXMuVVBEQVRFX0lHTk9SRUQuXG4gICAqICAgICAgICAgLSBPdGhlcndpc2UsIHRoZSB1cGRhdGUgcGFja2FnZSB3aWxsIGJlIGRvd25sb2FkZWQgYW5kIGFwcGxpZWQgd2l0aCBubyB1c2VyIGludGVyYWN0aW9uLlxuICAgKiAtIElmIG5vIHVwZGF0ZSBpcyBhdmFpbGFibGUgb24gdGhlIHNlcnZlciwgb3IgaWYgYSBwcmV2aW91c2x5IHJvbGxlZCBiYWNrIHVwZGF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoZSBpZ25vcmVGYWlsZWRVcGRhdGVzIGlzIHNldCB0byB0cnVlLCB0aGUgc3luY0NhbGxiYWNrIHdpbGwgYmUgaW52b2tlZCB3aXRoIHRoZSBTeW5jU3RhdHVzLlVQX1RPX0RBVEUuXG4gICAqIC0gSWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyBjaGVja2luZyBmb3IgdXBkYXRlLCBkb3dubG9hZGluZyBvciBpbnN0YWxsaW5nIGl0LCB0aGUgc3luY0NhbGxiYWNrIHdpbGwgYmUgaW52b2tlZCB3aXRoIHRoZSBTeW5jU3RhdHVzLkVSUk9SLlxuICAgKlxuICAgKiBAcGFyYW0ge1N5bmNPcHRpb25zfSBbc3luY09wdGlvbnNdIE9wdGlvbmFsIFN5bmNPcHRpb25zIHBhcmFtZXRlciBjb25maWd1cmluZyB0aGUgYmVoYXZpb3Igb2YgdGhlIHN5bmMgb3BlcmF0aW9uLlxuICAgKiBAcGFyYW0ge1N1Y2Nlc3NDYWxsYmFjazxEb3dubG9hZFByb2dyZXNzPn0gW2Rvd25sb2FkUHJvZ3Jlc3NdIE9wdGlvbmFsIGNhbGxiYWNrIGludm9rZWQgZHVyaW5nIHRoZSBkb3dubG9hZCBwcm9jZXNzLiBJdCBpcyBjYWxsZWQgc2V2ZXJhbCB0aW1lcyB3aXRoIG9uZSBEb3dubG9hZFByb2dyZXNzIHBhcmFtZXRlci5cbiAgICogQHJldHVybnMge09ic2VydmFibGU8U3luY1N0YXR1cz59XG4gICAqXG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgb2JzZXJ2YWJsZTogdHJ1ZSxcbiAgICBzdWNjZXNzSW5kZXg6IDAsXG4gICAgZXJyb3JJbmRleDogMyAvLyB3ZSBkb24ndCBuZWVkIHRoaXMsIHNvIHdlIHNldCBpdCB0byBhIHZhbHVlIGhpZ2hlciB0aGFuICMgb2YgYXJnc1xuICB9KVxuICBzeW5jKFxuICAgIHN5bmNPcHRpb25zPzogU3luY09wdGlvbnMsXG4gICAgZG93bmxvYWRQcm9ncmVzcz86IFN1Y2Nlc3NDYWxsYmFjazxEb3dubG9hZFByb2dyZXNzPlxuICApOiBPYnNlcnZhYmxlPFN5bmNTdGF0dXM+IHtcbiAgICByZXR1cm47XG4gIH1cbn1cbiJdfQ==

@@ -1,1 +0,1 @@

{"description":"Ionic Native - Native plugins for ionic apps","module":"index.js","typings":"index.d.ts","author":"ionic","license":"MIT","repository":{"type":"git","url":"https://github.com/ionic-team/ionic-native.git"},"name":"@ionic-native/code-push","dependencies":{"@types/cordova":"latest"},"peerDependencies":{"rxjs":"^5.5.0 || ^6.5.0","@ionic-native/core":"^5.1.0"},"version":"5.21.2"}
{"description":"Ionic Native - Native plugins for ionic apps","module":"index.js","typings":"index.d.ts","author":"ionic","license":"MIT","repository":{"type":"git","url":"https://github.com/ionic-team/ionic-native.git"},"name":"@ionic-native/code-push","dependencies":{"@types/cordova":"latest"},"peerDependencies":{"rxjs":"^5.5.0 || ^6.5.0","@ionic-native/core":"^5.1.0"},"version":"5.21.3"}

@@ -1,1 +0,1 @@

{"description":"Ionic Native - Native plugins for ionic apps","module":"index.js","typings":"index.d.ts","author":"ionic","license":"MIT","repository":{"type":"git","url":"https://github.com/ionic-team/ionic-native.git"},"name":"@ionic-native/code-push","dependencies":{"@types/cordova":"latest"},"peerDependencies":{"rxjs":"^5.5.0 || ^6.5.0","@ionic-native/core":"^5.1.0"},"version":"5.21.2"}
{"description":"Ionic Native - Native plugins for ionic apps","module":"index.js","typings":"index.d.ts","author":"ionic","license":"MIT","repository":{"type":"git","url":"https://github.com/ionic-team/ionic-native.git"},"name":"@ionic-native/code-push","dependencies":{"@types/cordova":"latest"},"peerDependencies":{"rxjs":"^5.5.0 || ^6.5.0","@ionic-native/core":"^5.1.0"},"version":"5.21.3"}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc