UNPKG

metaapi.cloud-copyfactory-sdk

Version:

Javascript SDK for SDK for CopyFactory trade copying API. Can copy trades both between MetaTrader 5 (MT5) and MetaTrader 4 (MT4). (https://metaapi.cloud)

3 lines (2 loc) 52.1 kB
export { }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjxhbm9uPiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5cbi8qKlxuICogU3RyYXRlZ3kgaWRcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBTdHJhdGVneUlkID0ge1xuXG4gIC8qKlxuICAgKiBzdHJhdGVneSBpZFxuICAgKi9cbiAgaWQ6IHN0cmluZ1xufVxuXG4vKipcbiAqIFN0cmF0ZWd5IHNpZ25hbCBkZWxheVxuICovXG5leHBvcnQgZGVjbGFyZSB0eXBlIFN0cmF0ZWd5U2lnbmFsRGVsYXkgPSB7XG5cbiAgLyoqXG4gICAqIG1pbiBleHRyYSB0cmFkaW5nIHNpZ25hbCBkZWxheSB2YWx1ZSBleHByZXNzZWQgaW4gc2Vjb25kc1xuICAgKi9cbiAgbWluSW5TZWNvbmRzOiBudW1iZXIsXG5cbiAgLyoqXG4gICAqIG1heCBleHRyYSB0cmFkaW5nIHNpZ25hbCBkZWxheSB2YWx1ZSBleHByZXNzZWQgaW4gc2Vjb25kc1xuICAgKi9cbiAgbWF4SW5TZWNvbmRzOiBudW1iZXJcbn1cblxuLyoqXG4gKiBDb3B5RmFjdG9yeSBzdHJhdGVneSBzdWJzY3JpcHRpb25zXG4gKi9cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29weUZhY3RvcnlTdHJhdGVneVN1YnNjcmlwdGlvbiA9IHtcblxuICAvKipcbiAgICogaWQgb2YgdGhlIHN0cmF0ZWd5IHRvIHN1YnNjcmliZSB0b1xuICAgKi9cbiAgc3RyYXRlZ3lJZDogc3RyaW5nLFxuXG4gIC8qKlxuICAgKiBzdWJzY3JpcHRpb24gbXVsdGlwbGllciwgZGVmYXVsdCBpcyAxeFxuICAgKi9cbiAgbXVsdGlwbGllcj86IG51bWJlcixcblxuICAvKipcbiAgICogZmxhZyBpbmRpY2F0aW5nIHRoYXQgcGVuZGluZyBvcmRlcnMgc2hvdWxkIG5vdCBiZSBjb3BpZWQuIERlZmF1bHRcbiAgICogaXMgdG8gY29weSBwZW5kaW5nIG9yZGVyc1xuICAgKi9cbiAgc2tpcFBlbmRpbmdPcmRlcnM/OiBib29sZWFuLFxuXG4gIC8qKlxuICAgKiBzZXR0aW5nIHdpY2ggaW5zdHJ1Y3RzIHRoZSBhcHBsaWNhdGlvbiBub3QgdG8gb3BlbiBuZXcgcG9zaXRpb25zLiBieS1zeW1ib2xcbiAgICogbWVhbnMgdGhhdCBpdCBpcyBzdGlsbCBhbGxvd2VkIHRvIG9wZW4gbmV3IHBvc2l0aW9ucyB3aXRoIGEgc3ltYm9sIGVxdWFsIHRvIHRoZSBzeW1ib2wgb2YgYW4gZXhpc3Rpbmcgc3RyYXRlZ3lcbiAgICogcG9zaXRpb24gKGNhbiBiZSB1c2VkIHRvIGdyYWNlZnVseSBleGl0IHN0cmF0ZWdpZXMgdHJhZGluZyBpbiBuZXR0aW5nIG1vZGUgb3IgcGxhY2luZyBhIHNlcmllcyBvZiByZWxhdGVkIHRyYWRlc1xuICAgKiBwZXIgc3ltYm9sKS4gaW1tZWRpYXRlbHkgbWVhbnMgdG8gY2xvc2UgYWxsIHBvc2l0aW9ucyBpbW1lZGlhdGVseS4gT25lIG9mICdieS1wb3NpdGlvbicsICdieS1zeW1ib2wnLCAnaW1tZWRpYXRlbHknXG4gICAqL1xuICBjbG9zZU9ubHk/OiBzdHJpbmcsXG5cbiAgLyoqXG4gICAqIG1heCByaXNrIHBlciB0cmFkZSwgZXhwcmVzc2VkIGFzIGEgZnJhY3Rpb24gb2YgMS4gSWYgdHJhZGUgaGFzIGEgU0wsIHRoZVxuICAgKiB0cmFkZSBzaXplIHdpbGwgYmUgYWRqdXN0ZWQgdG8gbWF0Y2ggdGhlIHJpc2sgbGltaXQuIElmIG5vdCwgdGhlIHRyYWRlIFNMIHdpbGwgYmUgYXBwbGllZCBhY2NvcmRpbmcgdG8gdGhlIHJpc2tcbiAgICogbGltaXRcbiAgICovXG4gIG1heFRyYWRlUmlzaz86IG51bWJlcixcblxuICAvKipcbiAgICogZmxhZyBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0cmF0ZWd5IHNob3VsZCBiZSBjb3BpZWQgaW4gYSByZXZlcnNlIGRpcmVjdGlvblxuICAgKi9cbiAgcmV2ZXJzZT86IGJvb2xlYW4sXG5cbiAgLyoqXG4gICAqIHNldHRpbmcgaW5kaWNhdGluZyB3aGV0aGVyIHRvIGVuYWJsZSBhdXRvbWF0aWMgdHJhZGVcbiAgICogY29ycmVsYXRpb24gcmVkdWN0aW9uLiBQb3NzaWJsZSBzZXR0aW5ncyBhcmUgbm90IHNwZWNpZmllZCAoZGlzYWJsZSBjb3JyZWxhdGlvbiByaXNrIHJlc3RyaWN0aW9ucyksXG4gICAqIGJ5LXN0cmF0ZWd5IChsaW1pdCBjb3JyZWxhdGlvbnMgZm9yIHRoZSBzdHJhdGVneSkgb3IgYnktYWNjb3VudCAobGltaXQgY29ycmVsYXRpb25zIGZvciB0aGUgYWNjb3VudClcbiAgICovXG4gIHJlZHVjZUNvcnJlbGF0aW9ucz86IHN0cmluZyxcblxuICAvKipcbiAgICogc3ltYm9sIGZpbHRlciB3aGljaCBjYW4gYmUgdXNlZCB0byBjb3B5IG9ubHkgc3BlY2lmaWNcbiAgICogc3ltYm9scyBvciBleGNsdWRlIHNvbWUgc3ltYm9scyBmcm9tIGNvcHlpbmdcbiAgICovXG4gIHN5bWJvbEZpbHRlcj86IENvcHlGYWN0b3J5U3RyYXRlZ3lTeW1ib2xGaWx0ZXJcblxuICAvKipcbiAgICogbmV3cyByaXNrIGZpbHRlciBjb25maWd1cmF0aW9uXG4gICAqL1xuICBuZXdzRmlsdGVyPzogQ29weUZhY3RvcnlTdHJhdGVneU5ld3NGaWx0ZXIsXG5cbiAgLyoqXG4gICAqIHN0cmF0ZWd5IHJpc2sgbGltaXRzLiBZb3UgY2FuIGNvbmZpZ3VyZSB0cmFkaW5nIHRvIGJlXG4gICAqIHN0b3BwZWQgb25jZSB0b3RhbCBkcmF3ZG93biBnZW5lcmF0ZWQgZHVyaW5nIHNwZWNpZmljIHBlcmlvZCBpcyBleGNlZWRlZC4gQ2FuIGJlIHNwZWNpZmllZCBlaXRoZXIgZm9yIGJhbGFuY2Ugb3JcbiAgICogZXF1aXR5IGRyYXdkb3duXG4gICAqL1xuICByaXNrTGltaXRzPzogQXJyYXk8Q29weUZhY3RvcnlTdHJhdGVneVJpc2tMaW1pdD4sXG5cbiAgLyoqXG4gICAqIHN0b3AgbG9zcyB2YWx1ZSByZXN0cmljdGlvblxuICAgKi9cbiAgbWF4U3RvcExvc3M/OiBDb3B5RmFjdG9yeVN0cmF0ZWd5TWF4U3RvcExvc3MsXG5cbiAgLyoqXG4gICAqIHNldHRpbmcgaW5kaWNhdGluZyBtYXhpbXVtIGxldmVyYWdlIGFsbG93ZWQgd2hlbiBvcGVuaW5nIGEgbmV3IHBvc2l0aW9ucy5cbiAgICogQW55IHRyYWRlIHdoaWNoIHJlc3VsdHMgaW4gYSBoaWdoZXIgbGV2ZXJhZ2Ugd2lsbCBiZSBkaXNjYXJkZWRcbiAgICovXG4gIG1heExldmVyYWdlPzogbnVtYmVyLFxuXG4gIC8qKlxuICAgKiBkZWZpbmVzIGhvdyBzeW1ib2wgbmFtZSBzaG91bGQgYmUgY2hhbmdlZCB3aGVuXG4gICAqIHRyYWRpbmcgKGUuZy4gd2hlbiBicm9rZXIgdXNlcyBzeW1ib2wgbmFtZXMgd2l0aCB1bnVzdWFsIHN1ZmZpeGVzKS4gQnkgZGVmYXVsdCB0aGlzIHNldHRpbmcgaXMgZGlzYWJsZWQgYW5kIHRoZVxuICAgKiB0cmFkZXMgYXJlIGNvcGllZCB1c2luZyBzaWduYWwgc291cmNlIHN5bWJvbCBuYW1lXG4gICAqL1xuICBzeW1ib2xNYXBwaW5nPzogQXJyYXk8Q29weUZhY3RvcnlTdHJhdGVneVN5bWJvbE1hcHBpbmc+LFxuXG4gIC8qKlxuICAgKiBUcmFkZSBzaXplIHNjYWxpbmcgc2V0dGluZ3MuIEJ5IGRlZmF1bHQgdGhlXG4gICAqIHRyYWRlIHNpemUgb24gc3RyYXRlZ3kgc3Vic2NyaWJlciBzaWRlIHdpbGwgYmUgc2NhbGVkIGFjY29yZGluZyB0byBiYWxhbmNlIHRvIHByZXNlcnZlIHJpc2suXG4gICAqL1xuICB0cmFkZVNpemVTY2FsaW5nPzogQ29weUZhY3RvcnlTdHJhdGVneVRyYWRlU2l6ZVNjYWxpbmcsXG5cbiAgLyoqXG4gICAqIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHN0b3AgbG9zcyBzaG91bGQgYmUgY29waWVkLiBEZWZhdWx0IGlzIHRvIGNvcHkgc3RvcCBsb3NzLlxuICAgKi9cbiAgY29weVN0b3BMb3NzPzogYm9vbGVhbixcblxuICAvKipcbiAgICogZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGFrZSBwcm9maXQgc2hvdWxkIGJlIGNvcGllZC4gRGVmYXVsdCBpcyB0byBjb3B5IHRha2UgcHJvZml0LlxuICAgKi9cbiAgY29weVRha2VQcm9maXQ/OiBib29sZWFuLFxuXG4gIC8qKlxuICAgKiBUcmFkZSBzaWRlcyB3aGljaCB3aWxsIGJlIGNvcGllZC4gQnV5IHRyYWRlcyBvbmx5LCBzZWxsIHRyYWRlcyBvbmx5IG9yIGFsbCB0cmFkZXMuXG4gICAqIERlZmF1bHQgaXMgdG8gY29weSBhbGwgdHJhZGVzXG4gICAqL1xuICBhbGxvd2VkU2lkZXM/OiBzdHJpbmdbXSxcblxuICAvKipcbiAgICogTWluaW11bSB0cmFkZSB2b2x1bWUgdG8gY29weS4gVHJhZGUgc2lnbmFscyB3aXRoIGEgc21hbGxlciB2b2x1bWUgd2lsbCBub3QgYmUgY29waWVkXG4gICAqL1xuICBtaW5UcmFkZVZvbHVtZT86IG51bWJlcixcblxuICAvKipcbiAgICogTWF4aW11bSB0cmFkZSB2b2x1bWUgdG8gY29weS4gVHJhZGUgc2lnbmFscyB3aXRoIGEgbGFyZ2VyIHZvbHVtZSB3aWxsIGJlIGNvcGllZFxuICAgKiB3aXRoIG1heGltdW0gdm9sdW1lIGluc3RlYWRcbiAgICovXG4gIG1heFRyYWRlVm9sdW1lPzogbnVtYmVyLFxuXG4gIC8qKlxuICAgKiBFeHRyYSB0cmFkZSBjb3B5aW5nIGRlbGF5IGludHJvZHVjZWQgYnkgdHJhZGUgY29waWVyIGJlZm9yZSBhcHBseWluZyB0aGUgdHJhZGUgc2lnbmFsLlxuICAgKiBZb3UgY2FuIGNvbmZpZ3VyZSBlaXRoZXIgYSBmaXhlZCBvciBhIHJhbmRvbSBkZWxheVxuICAgKi9cbiAgc2lnbmFsRGVsYXk/OiBTdHJhdGVneVNpZ25hbERlbGF5LFxuXG4gIC8qKlxuICAgKiBmbGFnIGluZGljYXRpbmcgdGhhdCB0aGUgc3Vic2NyaXB0aW9uIHdhcyBzY2hlZHVsZWQgZm9yIHJlbW92YWwgb25jZSBhbGwgc3Vic2NyaXB0aW9uXG4gICAqIHBvc2l0aW9ucyB3aWxsIGJlIGNsb3NlZFxuICAgKi9cbiAgcmVtb3ZlZD86IGJvb2xlYW5cbn1cblxuLyoqXG4gKiBDb3B5RmFjdG9yeSBzdHJhdGVneSB0cmFkZSBzaXplIHNjYWxpbmcgc2V0dGluZ3NcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBDb3B5RmFjdG9yeVN0cmF0ZWd5VHJhZGVTaXplU2NhbGluZyA9IHtcblxuICAvKipcbiAgICogSWYgc2V0IHRvIGJhbGFuY2UsIHRoZSB0cmFkZSBzaXplIG9uIHN0cmF0ZWd5IHN1YnNjcmliZXIgd2lsbCBiZSBzY2FsZWQgYWNjb3JkaW5nXG4gICAqIHRvIGJhbGFuY2UgdG8gcHJlc2VydmUgcmlzay4gSWYgc2V0IHRvIGVxdWl0eSwgdGhlIHRyYWRlIHNpemUgb24gc3RyYXRlZ3kgc3Vic2NyaWJlciB3aWxsIGJlIHNjYWxlZCBhY2NvcmRpbmdcbiAgICogdG8gc3Vic2NyaWJlciBlcXVpdHkuIElmIHZhbHVlIGlzIG5vbmUsIHRoZW4gdHJhZGUgc2l6ZSB3aWxsIGJlIHByZXNlcnZlZCBpcnJlZ2FyZGxlc3Mgb2YgdGhlIHN1YnNjcmliZXJcbiAgICogYmFsYW5jZS4gSWYgdmFsdWUgaXMgY29udHJhY3RTaXplLCB0aGVuIHRyYWRlIHNpemUgd2lsbCBiZSBzY2FsZWQgYWNjb3JkaW5nIHRvIGNvbnRyYWN0IHNpemUuIElmIGZpeGVkVm9sdW1lXG4gICAqIGlzIHNldCwgdGhlbiB0cmFkZSB3aWxsIGJlIGNvcGllZCB3aXRoIGEgZml4ZWQgdm9sdW1lIG9mIHRyYWRlVm9sdW1lIHNldHRpbmcuIElmIGZpeGVkUmlzayBpcyBzZXQsIHRoZW4gZWFjaFxuICAgKiB0cmFkZSB3aWxsIGJlIGNvcGllZCB3aXRoIGEgdHJhZGUgdm9sdW1lIHNldCB0byByaXNrIHNwZWNpZmljIGZyYWN0aW9uIG9mIGJhbGFuY2UgYXMgY29uZmlndXJlZCBieVxuICAgKiByaXNrRnJhY3Rpb24gc2V0dGluZy4gTm90ZSwgdGhhdCBpbiBmaXhlZFJpc2sgbW9kZSB0cmFkZXMgd2l0aG91dCBhIFNMIGFyZSBub3QgY29waWVkLiBJZiBleHByZXNzaW9uIGlzXG4gICAqIHNldCwgdGhlbiB0cmFkZSB2b2x1bWUgd2lsbCBiZSBjYWxjdWxhdGVkIHVzaW5nIGEgdXNlci1kZWZpbmVkIGV4cHJlc3Npb24uIE5vdGUsIHRoYXQgZXhwcmVzc2lvbiB0cmFkZVxuICAgKiBzaXplIHNjYWxpbmcgbW9kZSBpcyBpbnRlbmRlZCBmb3IgYWR2YW5jZWQgdXNlcnMgYW5kIHdlIERPIE5PVCBSRUNPTU1FTkQgdXNpbmcgaXQgdW5sZXNzIHlvdSB1bmRlcnN0YW5kXG4gICAqIHdoYXQgYXJlIHlvdSBkb2luZywgYXMgbWlzdGFrZXMgaW4gZXhwcmVzc2lvbiBjYW4gcmVzdWx0IGluIGxvc3MuXG4gICAqIEFsbG93ZWQgdmFsdWVzOiBub25lLCBjb250cmFjdFNpemUsIGJhbGFuY2UsIGVxdWl0eSwgZml4ZWRWb2x1bWUsIGZpeGVkUmlzaywgZXhwcmVzc2lvbi5cbiAgICovXG4gIG1vZGU6IHN0cmluZyxcblxuICAvKipcbiAgICogRml4ZWQgdHJhZGUgdm9sdW1lIGZvciB1c2Ugd2l0aCBmaXhlZFZvbHVtZSB0cmFkZSBzaXplIHNjYWxpbmcgbW9kZVxuICAgKi9cbiAgdHJhZGVWb2x1bWU/OiBudW1iZXIsXG5cbiAgLyoqXG4gICAqIEZpeGVkIHJpc2sgZnJhY3Rpb24gZm9yIHVzZSB3aXRoIGZpeGVkUmlzayB0cmFkZSBzaXplIHNjYWxpbmcgbW9kZVxuICAgKi9cbiAgcmlza0ZyYWN0aW9uPzogbnVtYmVyLFxuXG4gIC8qKlxuICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhhdCB0cmFkZXMgc21hbGxlciB0aGFuIG1pblZvbHVtZSAtIDAuNSAqIHZvbHVtZVN0ZXAgd2lsbFxuICAgKiBiZSBwbGFjZWQgd2l0aCBtaW5Wb2x1bWUgdm9sdW1lLCBpbiBzcGl0ZSB0aGF0IHRoZXkgd2lsbCByZXN1bHQgaW4gaW5jcmVhc2VkIHRyYWRlIHJpc2ssIGFzIGxvbmcgYXMgcmlza1xuICAgKiBpbmNyZWFzZSBpcyBpbiBsaW5lIHdpdGggbWF4Umlza0NvZWZmaWNpZW50IGNvbmZpZ3VyYXRpb24uIE90aGVyd2lzZSBzdWNoIHRyYWRlcyB3aWxsIGJlIHNraXBwZWQgdG8gYXZvaWRcbiAgICogdGFraW5nIGV4Y2Vzc2l2ZSB0cmFkZSByaXNrLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKi9cbiAgZm9yY2VUaW55VHJhZGVzPzogYm9vbGVhbixcblxuICAvKipcbiAgICogU29tZXRpbWVzIHdoZW4gcGxhY2luZyBhIHNtYWxsIHRyYWRlLCB0aGUgcmlzayB0YWtlbiBjYW4gZXhjZWVkIHRoZVxuICAgKiBzdWJzY3JpcHRpb24gZXhwZWN0YXRpb24gZHVlIHRvIHZvbHVtZSByb3VuZGluZyBvciBmb3JjZWZ1bGx5IHBsYWNpbmcgdGlueSB0cmFkZXMgaW4gYWNjb3JkYW5jZSB3aXRoXG4gICAqIGZvcmNlVGlueVRyYWRlcyBzZXR0aW5nLiBUaGUgbWF4Umlza0NvZWZmaWNpZW50IHNldHRpbmcgd2lsbCBhY3QgYXMgYW4gZXh0cmEgbGluZSBvZiBwcm90ZWN0aW9uIHRvIHJlc3RyaWN0XG4gICAqIHRyYWRlcyBpZiBhY3R1YWwgcmlzayBleGNlZWRzIHRoZSB2YWx1ZSBvZiBleHBlY3RlZCBzdWJzY3JpcHRpb24gcmlzayBtdWx0aXBsaWVkIGJ5IG1heFJpc2tDb2VmZmljaWVudC4gQXMgYVxuICAgKiByZXN1bHQgdHJhZGUgdm9sdW1lIHdpbGwgYmUgZGVjcmVhc2VkIGNvcnJlc3BvbmRpbmdseSBvciB0cmFkZSB3aWxsIGJlIHNraXBwZWQgaWYgcmVzdWx0aW5nIHZvbHVtZSBpcyBsZXNzXG4gICAqIHRoYW4gbWluVm9sdW1lLiBEZWZhdWx0IHZhbHVlIGlzIDUsIG1pbmltdW0gdmFsdWUgaXMgMS5cbiAgICovXG4gIG1heFJpc2tDb2VmZmljaWVudD86IG51bWJlcixcblxuICAvKipcbiAgICogbWF0aC5qcyBleHByZXNzaW9uIHdoaWNoIHdpbGwgYmUgdXNlZCB0byBjYWxjdWxhdGUgdHJhZGUgdm9sdW1lXG4gICAqIChzZWUgaHR0cHM6Ly9tYXRoanMub3JnL2RvY3MvZXhwcmVzc2lvbnMvc3ludGF4Lmh0bWwpLiBGb2xsb3dpbmcgdmFyaWFibGVzIGFyZSBhdmFpbGFibGUgaW4gZXhwcmVzc2lvblxuICAgKiBzY29wZTogcHJvdmlkZXJWb2x1bWUgLSBwcm92aWRlciBzaWduYWwgdHJhZGUgc2l6ZTsgcHJvdmlkZXJUcmFkZUFtb3VudCAtIHByb3ZpZGVyIHNpZ25hbCB0cmFkZSB2YWx1ZSBpblxuICAgKiB0cmFkZSBjb3BpZXIgYmFzZSBjdXJlbmN5OyBtdWx0aXBsaWVyIC0gc3Vic2NyaXB0aW9uIG11bHRpcGxpZXIgdmFsdWU7IHByb3ZpZGVyQmFsYW5jZSAtIHByb3ZpZGVyIGJhbGFuY2VcbiAgICogdmFsdWUgaW4gdHJhZGUgY29waWVyIGJhc2UgY3VycmVuY3k7IGJhbGFuY2UgLSBzdWJzY3JpYmVyIGJhbGFuY2UgdmFsdWUgaW4gdHJhZGUgY29waWVyIGJhc2UgY3VycmVuY3k7XG4gICAqIHF1b3RlT3JPcGVuUHJpY2UgLSBjdXJyZW50IGFzc2V0IHByaWNlIChmb3IgbWFya2V0IG9yZGVycykgb3Igb3BlbiBwcmljZSAoZm9yIHBlbmRpbmcgb3JkZXJzKSBvbiBzdWJzY3JpYmVyXG4gICAqIHNpZGU7IHRpY2tWYWx1ZSAtIGN1cnJlbnQgYXNzZXQgdGljayB2YWx1ZSBvbiBzdWJzY3JpYmVyIHNpZGUgZXhwcmVzc2VkIGluIHRyYWRlIGNvcGllciBiYXNlIGN1cnJlbmN5O1xuICAgKiB0aWNrU2l6ZSAtIHRpY2sgc2l6ZSBvbiBzdWJzY3JpYmVyIHNpZGU7IHByb3ZpZGVyU2NhbGVkVm9sdW1lIC0gcHJvdmlkZXIgdHJhZGUgdm9sdW1lIG11bHRpcGxpZWQgYnkgcHJvdmlkZXJcbiAgICogY29udHJhY3Qgc2l6ZTsgY29udHJhY3RTaXplIC0gc3Vic2NyaWJlciBjb250cmFjdCBzaXplOyBwcm92aWRlclN0b3BMb3NzIC0gcHJvdmlkZXIgc2lnbmFsIHN0b3AgbG9zcyBwcmljZTtcbiAgICogcHJvdmlkZXJUYWtlUHJvZml0IC0gcHJvdmlkZXIgc2lnbmFsIHRha2UgcHJvZml0IHByaWNlOyBhY2NvdW50Q3VycmVuY3lFeGNoYW5nZVJhdGUgLSBzdWJzY3JpYmVyIGV4Y2hhbmdlXG4gICAqIHJhdGUgb2YgYWNjb3VudCBjdXJyZW5jeSB0byB0cmFkZSBjb3BpZXIgYmFzZSBjdXJyZW5jeVxuICAgKi9cbiAgZXhwcmVzc2lvbj86IHN0cmluZ1xufVxuXG4vKipcbiAqIENvcHlGYWN0b3J5IHN5bWJvbCBmaWx0ZXJcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBDb3B5RmFjdG9yeVN0cmF0ZWd5U3ltYm9sRmlsdGVyID0ge1xuXG4gIC8qKlxuICAgKiBsaXN0IG9mIHN5bWJvbHMgY29waWVkLiBMZWF2ZSB0aGUgdmFsdWUgZW1wdHkgdG8gY29weSBhbGwgc3ltYm9sc1xuICAgKi9cbiAgaW5jbHVkZWQ6IEFycmF5PHN0cmluZz4sXG5cbiAgLyoqXG4gICAqIGxpc3Qgb2Ygc3ltYm9scyBleGNsdWRlZCBmcm9tIGNvcHlpbmcuIExlYXZlIHRoZSB2YWx1ZSBlbXB0eSB0byBjb3B5IGFsbCBzeW1ib2xzXG4gICAqL1xuICBleGNsdWRlZDogQXJyYXk8c3RyaW5nPlxufVxuXG4vKipcbiAqIENvcHlGYWN0b3J5IG5ld3MgcmlzayBmaWx0ZXJcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBDb3B5RmFjdG9yeVN0cmF0ZWd5TmV3c0ZpbHRlciA9IHtcblxuICAvKipcbiAgICogYnJlYWtpbmcgbmV3cyBmaWx0ZXJcbiAgICovXG4gIGJyZWFraW5nTmV3c0ZpbHRlcj86IENvcHlGYWN0b3J5U3RyYXRlZ3lCcmVha2luZ05ld3NGaWx0ZXJcblxuICAvKipcbiAgICogY2FsZW5kYXIgbmV3cyBmaWx0ZXJcbiAgICovXG4gIGNhbGVuZGFyTmV3c0ZpbHRlcj86IENvcHlGYWN0b3J5U3RyYXRlZ3lDYWxlbmRhck5ld3NGaWx0ZXJcbn1cblxuLyoqXG4gKiBDb3B5RmFjdG9yeSBicmVha2luZyBuZXdzIHJpc2sgZmlsdGVyXG4gKi9cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29weUZhY3RvcnlTdHJhdGVneUJyZWFraW5nTmV3c0ZpbHRlciA9IHtcblxuICAvKipcbiAgICogbGlzdCBvZiBicmVha2luZyBuZXdzIHByaW9yaXRpZXMgdG8gc3RvcCB0cmFkaW5nIG9uLCBsZWF2ZSBlbXB0eSB0byBkaXNhYmxlXG4gICAqIGJyZWFraW5nIG5ld3MgZmlsdGVyLiBPbmUgb2YgaGlnaCwgbWVkaXVtLCBsb3cuXG4gICAqL1xuICBwcmlvcml0aWVzOiBBcnJheTxzdHJpbmc+LFxuXG4gIC8qKlxuICAgKiB0aW1lIGludGVydmFsIHNwZWNpZnlpbmcgd2hlbiB0byBmb3JjZSBjbG9zZSBhbiBhbHJlYWR5XG4gICAqIG9wZW4gcG9zaXRpb24gYWZ0ZXIgYnJlYWtpbmcgbmV3cy4gRGVmYXVsdCB2YWx1ZSBpcyA2MCBtaW51dGVzXG4gICAqL1xuICBjbG9zZVBvc2l0aW9uVGltZUdhcEluTWludXRlcz86IG51bWJlcixcblxuICAvKipcbiAgICogdGltZSBpbnRlcnZhbCBzcGVjaWZ5aW5nIHdoZW4gaXQgaXMgYWxsb3dlZCB0b1xuICAgKiBvcGVuIHBvc2l0aW9uIGFmdGVyIGNhbGVuZGFyIG5ld3MuIERlZmF1bHQgdmFsdWUgaXMgNjAgbWludXRlc1xuICAgKi9cbiAgb3BlblBvc2l0aW9uRm9sbG93aW5nVGltZUdhcEluTWludXRlcz86IG51bWJlclxufVxuXG4vKipcbiAqIENvcHlGYWN0b3J5IGNhbGVuZGFyIG5ldyBmaWx0ZXJcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBDb3B5RmFjdG9yeVN0cmF0ZWd5Q2FsZW5kYXJOZXdzRmlsdGVyID0ge1xuXG4gIC8qKlxuICAgKiBsaXN0IG9mIGNhbGVuZGFyIG5ld3MgcHJpb3JpdGllcyB0byBzdG9wIHRyYWRpbmcgb24sIGxlYXZlIGVtcHR5IHRvIGRpc2FibGVcbiAgICogY2FsZW5kYXIgbmV3cyBmaWx0ZXIuIE9uZSBvZiBlbGVjdGlvbiwgaGlnaCwgbWVkaXVtLCBsb3cuXG4gICAqL1xuICBwcmlvcml0aWVzOiBBcnJheTxzdHJpbmc+LFxuXG4gIC8qKlxuICAgKiB0aW1lIGludGVydmFsIHNwZWNpZnlpbmcgd2hlbiB0byBmb3JjZSBjbG9zZSBhbiBhbHJlYWR5XG4gICAqIG9wZW4gcG9zaXRpb24gYmVmb3JlIGNhbGVuZGFyIG5ld3MuIERlZmF1bHQgdmFsdWUgaXMgNjAgbWludXRlc1xuICAgKi9cbiAgY2xvc2VQb3NpdGlvblRpbWVHYXBJbk1pbnV0ZXM/OiBudW1iZXIsXG5cbiAgLyoqXG4gICAqIHRpbWUgaW50ZXJ2YWwgc3BlY2lmeWluZyB3aGVuIGl0IGlzIHN0aWxsXG4gICAqIGFsbG93ZWQgdG8gb3BlbiBwb3NpdGlvbiBiZWZvcmUgY2FsZW5kYXIgbmV3cy4gRGVmYXVsdCB2YWx1ZSBpcyAxMjAgbWludXRlc1xuICAgKi9cbiAgb3BlblBvc2l0aW9uUHJlY2VkaW5nVGltZUdhcEluTWludXRlcz86IG51bWJlclxuXG4gIC8qKlxuICAgKiB0aW1lIGludGVydmFsIHNwZWNpZnlpbmcgd2hlbiBpdCBpcyBhbGxvd2VkIHRvXG4gICAqIG9wZW4gcG9zaXRpb24gYWZ0ZXIgY2FsZW5kYXIgbmV3cy4gRGVmYXVsdCB2YWx1ZSBpcyA2MCBtaW51dGVzXG4gICAqL1xuICBvcGVuUG9zaXRpb25Gb2xsb3dpbmdUaW1lR2FwSW5NaW51dGVzPzogbnVtYmVyXG59XG5cbi8qKlxuICogQ29weUZhY3Rvcnkgc3RyYXRlZ3kgcmlzayBsaW1pdCB0eXBlXG4gKi9cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29weUZhY3RvcnlTdHJhdGVneVJpc2tMaW1pdFR5cGUgPSAnZGF5JyB8ICdkYXRlJyB8ICd3ZWVrJyB8ICd3ZWVrLXRvLWRhdGUnIHwgJ21vbnRoJyB8XG4gICdtb250aC10by1kYXRlJyB8ICdxdWFydGVyJyB8ICdxdWFydGVyLXRvLWRhdGUnIHwgJ3llYXInIHwgJ3llYXItdG8tZGF0ZScgfCAnbGlmZXRpbWUnO1xuXG4vKipcbiAqIENvcHlGYWN0b3J5IHN0cmF0ZWd5IHJpc2sgbGltaXQgYXBwbHkgdG8gZW51bVxuICovXG5leHBvcnQgZGVjbGFyZSB0eXBlIENvcHlGYWN0b3J5U3RyYXRlZ3lSaXNrTGltaXRBcHBseVRvID0gJ2JhbGFuY2UtZGlmZmVyZW5jZScgfCAnYmFsYW5jZS1taW51cy1lcXVpdHknIHxcbiAgJ2VxdWl0eS1kaWZmZXJlbmNlJztcblxuLyoqXG4gKiBDb3B5RmFjdG9yeSByaXNrIGxpbWl0IGZpbHRlclxuICovXG5leHBvcnQgZGVjbGFyZSB0eXBlIENvcHlGYWN0b3J5U3RyYXRlZ3lSaXNrTGltaXQgPSB7XG5cbiAgLyoqXG4gICAqIHJlc3RyaWN0aW9uIHR5cGVcbiAgICovXG4gIHR5cGU6IENvcHlGYWN0b3J5U3RyYXRlZ3lSaXNrTGltaXRUeXBlLFxuXG4gIC8qKlxuICAgKiBhY2NvdW50IG1ldHJpYyB0byBhcHBseSBsaW1pdCB0b1xuICAgKi9cbiAgYXBwbHlUbzogQ29weUZhY3RvcnlTdHJhdGVneVJpc2tMaW1pdEFwcGx5VG8sXG5cbiAgLyoqXG4gICAqICBNYXggZHJhd2Rvd24gYWxsb3dlZCwgbWVhc3VyZWQgaW4gYWNjb3VudCBjdXJyZW5jeSxcbiAgICovXG4gIG1heEFic29sdXRlUmlzaz86IG51bWJlcjtcblxuICAvKipcbiAgKiAgTWF4IGRyYXdkb3duIGFsbG93ZWQsIGV4cHJlc3NlZCBhcyBhIGZyYWN0aW9uIG9mIDEsXG4gICovXG4gIG1heFJlbGF0aXZlUmlzaz86IG51bWJlcjtcblxuICAvKipcbiAgICogd2hldGhlciB0byBmb3JjZSBjbG9zZSBwb3NpdGlvbnMgd2hlbiB0aGUgcmlzayBpcyByZWFjaGVkLiBJZiB2YWx1ZSBpcyBmYWxzZVxuICAgKiB0aGVuIG9ubHkgdGhlIG5ldyB0cmFkZXMgd2lsbCBiZSBoYWx0ZWQsIGJ1dCBleGlzdGluZyBvbmVzIHdpbGwgbm90IGJlIGNsb3NlZFxuICAgKi9cbiAgY2xvc2VQb3NpdGlvbnM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIHRpbWUgdG8gc3RhcnQgcmlzayB0cmFja2luZyBmcm9tLiBBbGwgcHJldmlvdXMgdHJhZGVzIHdpbGwgYmUgaWdub3JlZC4gWW91XG4gICAqIGNhbiB1c2UgdGhpcyB2YWx1ZSB0byByZXNldCB0aGUgZmlsdGVyIGFmdGVyIHN0b3BvdXQgZXZlbnRcbiAgICovXG4gIHN0YXJ0VGltZT86IERhdGUgfCBzdHJpbmcgfCBtb21lbnQuTW9tZW50O1xufVxuXG4vKipcbiAqIENvcHlGYWN0b3J5IHN0cmF0ZWd5IG1heCBzdG9wIGxvc3Mgc2V0dGluZ3NcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBDb3B5RmFjdG9yeVN0cmF0ZWd5TWF4U3RvcExvc3MgPSB7XG5cbiAgLyoqXG4gICAqIG1heGltdW0gU0wgdmFsdWVcbiAgICovXG4gIHZhbHVlOiBudW1iZXIsXG5cbiAgLyoqXG4gICAqIFNMIHVuaXRzLiBPbmx5IHBpcHMgdmFsdWUgaXMgc3VwcG9ydGVkIGF0IHRoaXMgcG9pbnRcbiAgICovXG4gIHVuaXRzOiBzdHJpbmdcbn1cblxuLyoqXG4gKiBDb3B5RmFjdG9yeSBzdHJhdGVneSBzeW1ib2wgbWFwcGluZ1xuICovXG5leHBvcnQgZGVjbGFyZSB0eXBlIENvcHlGYWN0b3J5U3RyYXRlZ3lTeW1ib2xNYXBwaW5nID0ge1xuXG4gIC8qKlxuICAgKiBzeW1ib2wgbmFtZSB0byBjb252ZXJ0IGZyb21cbiAgICovXG4gIGZyb206IHN0cmluZyxcblxuICAvKipcbiAgICogc3ltYm9sIG5hbWUgdG8gY29udmVydCB0b1xuICAgKi9cbiAgdG86IHN0cmluZ1xufVxuXG4vKipcbiAqIENvcHlGYWN0b3J5IGFjY291bnQgdXBkYXRlXG4gKi9cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29weUZhY3RvcnlTdWJzY3JpYmVyVXBkYXRlID0ge1xuXG4gIC8qKlxuICAgKiBhY2NvdW50IGh1bWFuLXJlYWRhYmxlIG5hbWVcbiAgICovXG4gIG5hbWU6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBmcmFjdGlvbiBvZiByZXNlcnZlZCBtYXJnaW4gdG8gcmVkdWNlIGEgcmlzayBvZiBtYXJnaW4gY2FsbC5cbiAgICogRGVmYXVsdCBpcyB0byByZXNlcnZlIG5vIG1hcmdpbi4gV2UgcmVjb21tZW5kIHVzaW5nIG1heExldmVyYWdlIHNldHRpbmcgaW5zdGVhZC4gU3BlY2lmaWVkIGFzIGEgZnJhY3Rpb24gb2YgYmFsYW5jZVxuICAgKiB0aHVzIHRoZSB2YWx1ZSBpcyB1c3VhbGx5IGdyZWF0ZXIgdGhhbiAxXG4gICAqL1xuICByZXNlcnZlZE1hcmdpbkZyYWN0aW9uPzogbnVtYmVyLFxuXG4gIC8qKlxuICAgKiBwaG9uZSBudW1iZXJzIHRvIHNlbmQgc21zIG5vdGlmaWNhdGlvbnMgdG8uIExlYXZlIGVtcHR5IHRvXG4gICAqIHJlY2VpdmUgbm8gc21zIG5vdGlmaWNhdGlvbnNcbiAgICovXG4gIHBob25lTnVtYmVycz86IEFycmF5PHN0cmluZz4sXG5cbiAgLyoqXG4gICAqIHZhbHVlIG9mIG1pbmltYWwgdHJhZGUgc2l6ZSBhbGxvd2VkLCBleHByZXNzZWQgaW4gYW1vdW50IG9mIGFjY291bnRcbiAgICogY3VycmVuY3kuIENhbiBiZSB1c2VmdWwgaWYgeW91ciBicm9rZXIgY2hhcmdlcyBhIGZpeGVkIGZlZSBwZXIgdHJhbnNhY3Rpb24gc28gdGhhdCB5b3UgY2FuIHNraXAgc21hbGwgdHJhZGVzIHdpdGhcbiAgICogaGlnaCBicm9rZXIgY29tbWlzc2lvbiByYXRlcy4gRGVmYXVsdCBpcyAwXG4gICAqL1xuICBtaW5UcmFkZUFtb3VudD86IG51bWJlcixcblxuICAvKipcbiAgICogc2V0dGluZyB3aWNoIGluc3RydWN0cyB0aGUgYXBwbGljYXRpb24gbm90IHRvIG9wZW4gbmV3IHBvc2l0aW9ucy4gYnktc3ltYm9sXG4gICAqIG1lYW5zIHRoYXQgaXQgaXMgc3RpbGwgYWxsb3dlZCB0byBvcGVuIG5ldyBwb3NpdGlvbnMgd2l0aCBhIHN5bWJvbCBlcXVhbCB0byB0aGUgc3ltYm9sIG9mIGFuIGV4aXN0aW5nIHN0cmF0ZWd5XG4gICAqIHBvc2l0aW9uIChjYW4gYmUgdXNlZCB0byBncmFjZWZ1bHkgZXhpdCBzdHJhdGVnaWVzIHRyYWRpbmcgaW4gbmV0dGluZyBtb2RlIG9yIHBsYWNpbmcgYSBzZXJpZXMgb2YgcmVsYXRlZCB0cmFkZXNcbiAgICogcGVyIHN5bWJvbCkuIGltbWVkaWF0ZWx5IG1lYW5zIHRvIGNsb3NlIGFsbCBwb3NpdGlvbnMgaW1tZWRpYXRlbHkuIE9uZSBvZiAnYnktcG9zaXRpb24nLCAnYnktc3ltYm9sJywgJ2ltbWVkaWF0ZWx5J1xuICAgKi9cbiAgY2xvc2VPbmx5Pzogc3RyaW5nLFxuXG4gIC8qKlxuICAgKiBhY2NvdW50IHJpc2sgbGltaXRzLiBZb3UgY2FuIGNvbmZpZ3VyZSB0cmFkaW5nIHRvIGJlXG4gICAqIHN0b3BwZWQgb25jZSB0b3RhbCBkcmF3ZG93biBnZW5lcmF0ZWQgZHVyaW5nIHNwZWNpZmljIHBlcmlvZCBpcyBleGNlZWRlZC4gQ2FuIGJlIHNwZWNpZmllZCBlaXRoZXIgZm9yIGJhbGFuY2Ugb3JcbiAgICogZXF1aXR5IGRyYXdkb3duXG4gICAqL1xuICByaXNrTGltaXRzPzogQXJyYXk8Q29weUZhY3RvcnlTdHJhdGVneVJpc2tMaW1pdD4sXG5cbiAgLyoqXG4gICAqIHNldHRpbmcgaW5kaWNhdGluZyBtYXh1bXVtIGxldmVyYWdlIGFsbG93ZWQgd2hlbiBvcGVuaW5nIGEgbmV3IHBvc2l0aW9ucy5cbiAgICogQW55IHRyYWRlIHdoaWNoIHJlc3VsdHMgaW4gYSBoaWdoZXIgbGV2ZXJhZ2Ugd2lsbCBiZSBkaXNjYXJkZWQuXG4gICAqL1xuICBtYXhMZXZlcmFnZT86IG51bWJlcixcblxuICAvKipcbiAgICogZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgc3RvcCBsb3NzIHNob3VsZCBiZSBjb3BpZWQuIERlZmF1bHQgaXMgdG8gY29weSBzdG9wXG4gICAqIGxvc3MuXG4gICAqL1xuICBjb3B5U3RvcExvc3M/OiBib29sZWFuLFxuXG4gIC8qKlxuICAgKiBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0YWtlIHByb2ZpdCBzaG91bGQgYmUgY29waWVkLiBEZWZhdWx0IGlzIHRvIGNvcHkgdGFrZVxuICAgKiBwcm9maXQuXG4gICAqL1xuICBjb3B5VGFrZVByb2ZpdD86IGJvb2xlYW4sXG5cbiAgLyoqXG4gICAqIFRyYWRlIHNpZGVzIHdoaWNoIHdpbGwgYmUgY29waWVkLiBCdXkgdHJhZGVzIG9ubHksIHNlbGwgdHJhZGVzIG9ubHkgb3IgYWxsIHRyYWRlcy5cbiAgICogRGVmYXVsdCBpcyB0byBjb3B5IGFsbCB0cmFkZXNcbiAgICovXG4gIGFsbG93ZWRTaWRlcz86IHN0cmluZ1tdLFxuXG4gIC8qKlxuICAgKiBNaW5pbXVtIHRyYWRlIHZvbHVtZSB0byBjb3B5LiBUcmFkZSBzaWduYWxzIHdpdGggYSBzbWFsbGVyIHZvbHVtZSB3aWxsIG5vdCBiZVxuICAgKiBjb3BpZWRcbiAgICovXG4gIG1pblRyYWRlVm9sdW1lPzogbnVtYmVyLFxuXG4gIC8qKlxuICAgKiBNYXhpbXVtIHRyYWRlIHZvbHVtZSB0byBjb3B5LiBUcmFkZSBzaWduYWxzIHdpdGggYSBsYXJnZXIgdm9sdW1lIHdpbGwgYmUgY29waWVkXG4gICAqIHdpdGggbWF4aW11bSB2b2x1bWUgaW5zdGVhZFxuICAgKi9cbiAgbWF4VHJhZGVWb2x1bWU/OiBudW1iZXIsXG5cbiAgLyoqXG4gICAqIEV4dHJhIHRyYWRlIGNvcHlpbmcgZGVsYXkgaW50cm9kdWNlZCBieSB0cmFkZSBjb3BpZXIgYmVmb3JlIGFwcGx5aW5nIHRoZSB0cmFkZSBzaWduYWwuXG4gICAqIFlvdSBjYW4gY29uZmlndXJlIGVpdGhlciBhIGZpeGVkIG9yIGEgcmFuZG9tIGRlbGF5XG4gICAqL1xuICBzaWduYWxEZWxheT86IFN0cmF0ZWd5U2lnbmFsRGVsYXksXG5cbiAgLyoqXG4gICAqIHN0cmF0ZWd5IHN1YnNjcmlwdGlvbnNcbiAgICovXG4gIHN1YnNjcmlwdGlvbnM/OiBBcnJheTxDb3B5RmFjdG9yeVN0cmF0ZWd5U3Vic2NyaXB0aW9uPlxufVxuXG4vKipcbiAqIENvcHlGYWN0b3J5IHN1YnNjcmliZXIgbW9kZWxcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBDb3B5RmFjdG9yeVN1YnNjcmliZXIgPSBDb3B5RmFjdG9yeVN1YnNjcmliZXJVcGRhdGUgJiB7XG5cbiAgLyoqXG4gICAqIGlkIG9mIHRoZSBNZXRhQXBpIGFjY291bnQgdG8gY29weSB0cmFkZXMgdG9cbiAgICovXG4gIF9pZDogc3RyaW5nXG59XG5cbi8qKlxuICogQ29weUZhY3RvcnkgcHJvdmlkZXIgc3RyYXRlZ3lcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBDb3B5RmFjdG9yeVN0cmF0ZWd5ID0gQ29weUZhY3RvcnlTdHJhdGVneVVwZGF0ZSAmIHtcblxuICAvKipcbiAgICogdW5pcXVlIHN0cmF0ZWd5IGlkXG4gICAqL1xuICBfaWQ6IHN0cmluZyxcblxuICAvKipcbiAgICogY29tbWlzc2lvbiByYXRlIHRoZSBwbGF0Zm9ybSBjaGFyZ2VzIGZvciBzdHJhdGVneSBjb3B5aW5nLCBhcHBsaWVkIHRvXG4gICAqIGNvbW1pc3Npb25zIGNoYXJnZWQgYnkgcHJvdmlkZXIuIFRoaXMgY29tbWlzc2lvbiBhcHBsaWVzIG9ubHkgdG8gYWNjb3VudHMgbm90IG1hbmFnZWQgZGlyZWN0bHkgYnkgcHJvdmlkZXIuIFNob3VsZFxuICAgKiBiZSBmcmFjdGlvbiBvZiAxXG4gICAqL1xuICBwbGF0Zm9ybUNvbW1pc3Npb25SYXRlOiBudW1iZXJcblxuICAvKipcbiAgICogcG9zaXRpb24gY2xvc2UgbW9kZSBvbiBzdHJhdGVneSBvciBzdWJzY3JpcHRpb24gcmVtb3ZhbC4gUHJlc2VydmUgbWVhbnNcbiAgICogdGhhdCBwb3NpdGlvbnMgd2lsbCBub3QgYmUgY2xvc2VkIGFuZCB3aWxsIG5vdCBiZSBtYW5hZ2VkIGJ5IENvcHlGYWN0b3J5LiBjbG9zZS1ncmFjZWZ1bGx5LWJ5LXBvc2l0aW9uIG1lYW5zXG4gICAqIHRoYXQgcG9zaXRpb25zIHdpbGwgY29udGludWUgdG8gYmUgbWFuYWdlZCBieSBDb3B5RmFjdG9yeSwgYnV0IG9ubHkgY2xvc2Ugc2lnbmFscyB3aWxsIGJlIGNvcGllZC5cbiAgICogY2xvc2UtZ3JhY2VmdWxseS1ieS1zeW1ib2wgbWVhbnMgdGhhdCBwb3NpdGlvbnMgd2lsbCBjb250aW51ZSB0byBiZSBtYW5hZ2VkIGJ5IENvcHlGYWN0b3J5LCBidXQgb25seSBjbG9zZVxuICAgKiBzaWduYWxzIHdpbGwgYmUgY29waWVkIG9yIHNpZ25hbHMgdG8gb3BlbiBwb3NpdGlvbnMgZm9yIHRoZSBzeW1ib2xzIHdoaWNoIGFscmVhZHkgaGF2ZSBwb3NpdGlvbnMgb3BlbmVkLlxuICAgKiBjbG9zZS1pbW1lZGlhdGVseSBtZWFucyB0aGF0IGFsbCBwb3NpdGlvbnMgd2lsbCBiZSBjbG9zZWQgaW1tZWRpYXRlbHkuIERlZmF1bHQgaXMgY2xvc2UtaW1tZWRpYXRlbHkuXG4gICAqIFRoaXMgZmllbGQgY2FuIGJlIGNoYW5nZWQgdmlhIHJlbW92ZSBwb3Rmb2xpbyBtZW1iZXIgQVBJIG9ubHksIG9uZSBvZiBwcmVzZXJ2ZSwgY2xvc2UtZ3JhY2VmdWxseS1ieS1wb3NpdGlvbixcbiAgICogY2xvc2UtZ3JhY2VmdWxseS1ieS1zeW1ib2wsIGNsb3NlLWltbWVkaWF0ZWx5XG4gICAqL1xuICBjbG9zZU9uUmVtb3ZhbE1vZGU/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBDb3B5RmFjdG9yeSBzdHJhdGVneSBjb21taXNzaW9uIHNjaGVtZVxuICovXG5leHBvcnQgZGVjbGFyZSB0eXBlIENvcHlGYWN0b3J5U3RyYXRlZ3lDb21taXNzaW9uU2NoZW1lID0ge1xuXG4gIC8qKlxuICAgKiBjb21taXNzaW9uIHR5cGUuIE9uZSBvZiBmbGF0LWZlZSwgbG90cy10cmFkZWQsIGxvdHMtd29uLCBhbW91bnQtdHJhZGVkLCBhbW91bnQtd29uLFxuICAgKiBoaWdoLXdhdGVyLW1hcmtcbiAgICovXG4gIHR5cGU6IHN0cmluZyxcblxuICAvKipcbiAgICogYmlsbGluZyBwZXJpb2QuIE9uZSBvZiB3ZWVrLCBtb250aCwgcXVhcnRlclxuICAgKi9cbiAgYmlsbGluZ1BlcmlvZDogc3RyaW5nLFxuXG4gIC8qKlxuICAgKiBjb21taXNzaW9uIHJhdGUuIFNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gemVybyBpZiBjb21taXNzaW9uIHR5cGUgaXNcbiAgICogZmxhdC1mZWUsIGxvdHMtdHJhZGVkIG9yIGxvdHMtd29uLCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHplcm8gYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxIGlmXG4gICAqIGNvbW1pc3Npb24gdHlwZSBpcyBhbW91bnQtdHJhZGVkLCBhbW91bnQtd29uLCBoaWdoLXdhdGVyLW1hcmsuXG4gICAqL1xuICBjb21taXNzaW9uUmF0ZTogbnVtYmVyXG59XG5cbi8qKlxuICogQ29weUZhY3Rvcnkgc3RyYXRlZ3kgbWFnaWMgZmlsdGVyXG4gKi9cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29weUZhY3RvcnlTdHJhdGVneU1hZ2ljRmlsdGVyID0ge1xuXG4gIC8qKlxuICAgKiBsaXN0IG9mIG1hZ2ljcyAoZXhwZXJ0IGlkcykgb3IgbWFnaWMgcmFuZ2VzIGNvcGllZC4gTGVhdmUgdGhlIHZhbHVlIGVtcHR5IHRvXG4gICAqIGNvcHkgYWxsIG1hZ2ljc1xuICAgKi9cbiAgaW5jbHVkZWQ6IEFycmF5PHN0cmluZz4sXG5cbiAgLyoqXG4gICAqIGxpc3Qgb2YgbWFnaWNzIChleHBlcnQgaWRzKSBvciBtYWdpYyByYW5nZXMgZXhjbHVkZWQgZnJvbSBjb3B5aW5nLiBMZWF2ZSB0aGVcbiAgICogdmFsdWUgZW1wdHkgdG8gY29weSBhbGwgbWFnaWNzXG4gICAqL1xuICBleGNsdWRlZDogQXJyYXk8c3RyaW5nPlxufVxuXG4vKipcbiAqIENvcHlGYWN0b3J5IHN0cmF0ZWd5IHRpbWUgc2V0dGluZ3NcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBDb3B5RmFjdG9yeVN0cmF0ZWd5VGltZVNldHRpbmdzID0ge1xuXG4gIC8qKlxuICAgKiBwb3NpdGlvbiBsaWZldGltZS4gRGVmYXVsdCBpcyB0byBrZWVwIHBvc2l0aW9ucyBvcGVuIHVwIHRvIDkwIGRheXNcbiAgICovXG4gIGxpZmV0aW1lSW5Ib3Vycz86IG51bWJlcixcblxuICAvKipcbiAgICogdGltZSBpbnRlcnZhbCB0byBjb3B5IG5ldyBwb3NpdGlvbnMuIERlZmF1bHQgaXMgdG8gbGV0IDFcbiAgICogbWludXRlIGZvciB0aGUgcG9zaXRpb24gdG8gZ2V0IGNvcGllZC4gSWYgcG9zaXRpb24gd2VyZSBub3QgY29waWVkIGR1cmluZyB0aGlzIHRpbWUsIHRoZSBjb3B5aW5nIHdpbGwgbm90IGJlXG4gICAqIHJldHJpZWQgYW55bW9yZS5cbiAgICovXG4gIG9wZW5pbmdJbnRlcnZhbEluTWludXRlcz86IG51bWJlcixcblxuICAvKipcbiAgICogSWYgc2V0IHRvIHRydWUsIHRoZSBvcGVuaW5nSW50ZXJ2YWxJbk1pbnV0ZXMgc2V0dGluZyB3aWxsIGJlIGFwcGxpZWQgdG8gcGVuZGluZyBvcmRlciBzaWduYWxzIGFzIHdlbGwuIEJ5IGRlZmF1bHRcbiAgICogcGVuZGluZyBvcmRlciBzaWduYWxzIGRvIG5vdCBleHBpcmVcbiAgICovXG4gIGV4cGlyZVBlbmRpbmdPcmRlclNpZ25hbHM/OiBib29sZWFuXG59XG5cbi8qKlxuICogVGVsZWdyYW0gcHVibGlzaGluZyBzZXR0aW5nc1xuICovXG5leHBvcnQgZGVjbGFyZSB0eXBlIFN0cmF0ZWd5VGVsZWdyYW1TZXR0aW5ncyA9IHtcbiAgLyoqXG4gICAqIHRlbGVncmFtIHB1Ymxpc2hpbmcgc2V0dGluZ3NcbiAgICovXG4gIHB1Ymxpc2hpbmc6IFN0cmF0ZWd5VGVsZWdyYW1QdWJsaXNoaW5nU2V0dGluZ3M7XG59XG5cbi8qKlxuICogU3RyYXRlZ3kgVGVsZWdyYW0gaW50ZWdyYXRpb24gc2V0dGluZ3NcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBTdHJhdGVneVRlbGVncmFtUHVibGlzaGluZ1NldHRpbmdzID0ge1xuXG4gIC8qKlxuICAgKiBUb2tlbiB0ZWxlZ3JhbSBib3QgQVBJIFxuICAgKi9cbiAgdG9rZW46IHN0cmluZztcblxuICAvKipcbiAgICogdGVsZWdyYW0gY2hhdElkIHRvIHB1Ymxpc2ggc2lnbmFscyB0by4gSXQgY2FuIHJlZmVyZW5jZSBlaXRoZXIgYSBwdWJsaWNcbiAgICogY2hhbm5lbCAoZS5nLiBAbXlDaGFubmVsKSwgcHJpdmF0ZSBjaGFubmVsICh3b3JrcyBieSBjaGF0IGlkIG9ubHkpIG9yIGEgdXNlciAod29ya3MgYnkgY2hhdElkIG9ubHkpLlxuICAgKiBOb3RlIHRoYXQgaW4gb3JkZXIgdG8gcHVibGlzaCBzaWduYWxzIHRvIGEgY2hhbm5lbCBib3QgbXVzdCBiZSBhbiBhZG1pbiBvZiB0aGUgY2hhbm5lbFxuICAgKi9cbiAgY2hhdElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIHRlbGVncmFtIG1lc3NhZ2UgdGVtcGxhdGUuIEEgc3Vic3RyaW5nIG9mICR7ZGVzY3JpcHRpb259IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCBhIHNpZ25hbCBkZXNjcmlwdGlvbi4gT3RoZXJcbiAgICogdmFyaWFibGVzIHlvdSBjYW4gdXNlOiAke29wZXJhdGlvbn0sICR7b3JkZXJJZH0sICR7c2lkZX0sICR7dHlwZX0sICR7dm9sdW1lfSwgJHtzeW1ib2x9LCAke29wZW5QcmljZX0sXG4gICAqICR7c3RvcExvc3N9LCAke3Rha2VQcm9maXR9LlxuICAgKi9cbiAgdGVtcGxhdGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb3B5RmFjdG9yeSBzdHJhdGVneSBlcXVpdHkgY3VydmUgZmlsdGVyXG4gKi9cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29weUZhY3RvcnlTdHJhdGVneUVxdWl0eUN1cnZlRmlsdGVyID0ge1xuXG4gIC8qKlxuICAgKiBtb3ZpbmcgYXZlcmFnZSBwZXJpb2QsIG11c3QgYmUgZ3JlYXRlciBvciBlcXVhbCB0byAxXG4gICAqL1xuICBwZXJpb2Q6IG51bWJlcixcblxuICAvKipcbiAgICogbW92aW5nIGF2ZXJhZ2UgdGltZWZyYW1lLCBhIHBvc2l0aXZlIGludGVnZXIgZm9sbG93ZWQgYnkgdGltZSB1bml0LCBlLmcuIDJoLlxuICAgKiBBbGxvd2VkIHVuaXRzIGFyZSBzLCBtLCBoLCBkIGFuZCB3LlxuICAgKi9cbiAgdGltZWZyYW1lOiBzdHJpbmdcbn1cblxuLyoqXG4gKiBDb3B5RmFjdG9yeSBzdHJhdGVneSBkcmF3ZG93biBmaWx0ZXJcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBDb3B5RmFjdG9yeVN0cmF0ZWd5RHJhd2Rvd25GaWx0ZXIgPSB7XG5cbiAgLyoqXG4gICAqIG1heGltdW0gZHJhd2Rvd24gdmFsdWUgYWZ0ZXIgd2hpY2ggYWN0aW9uIGlzIGV4ZWN1dGVkLiBEcmF3ZG93biBzaG91bGRcbiAgICogYmUgY29uZmlndXJlZCBhcyBhIGZyYWN0aW9uIG9mIDEsIGkuZS4gMC4xNSBtZWFucyAxNSUgZHJhd2Rvd24gdmFsdWVcbiAgICovXG4gIG1heERyYXdkb3duOiBudW1iZXIsXG5cbiAgLyoqXG4gICAqIGFjdGlvbiB0byB0YWtlIHdoZW4gZHJhd2Rvd24gZXhjZWVkcyBtYXhEcmF3ZG93biB2YWx1ZS4gaW5jbHVkZSBtZWFucyB0aGUgdHJhZGluZ1xuICAgKiBzaWduYWwgd2lsbCBiZSB0cmFuc21pdHRlZCBvbmx5IGlmIGRkIGlzIGdyZWF0ZXIgdGhhbiBtYXhEcmF3ZG93biB2YWx1ZS4gZXhjbHVkZSBtZWFucyB0aGUgdHJhZGluZyBzaWduYWwgXG4gICAqIHdpbGwgYmUgdHJhbnNtaXR0ZWQgb25seSBpZiBkZCBpcyBsZXNzIHRoYW4gbWF4RHJhd2Rvd24gdmFsdWVcbiAgICovXG4gIGFjdGlvbjogc3RyaW5nXG59XG5cbi8qKlxuICogQ29weUZhY3Rvcnkgc3RyYXRlZ3kgdXBkYXRlXG4gKi9cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29weUZhY3RvcnlTdHJhdGVneVVwZGF0ZSA9IHtcblxuICAvKipcbiAgICogc3RyYXRlZ3kgaHVtYW4tcmVhZGFibGUgbmFtZVxuICAgKi9cbiAgbmFtZTogc3RyaW5nLFxuXG4gIC8qKlxuICAgKiBsb25nZXIgc3RyYXRlZ3kgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb25cbiAgICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG5cbiAgLyoqXG4gICAqIGlkIG9mIHRoZSBNZXRhQXBpIGFjY291bnQgcHJvdmlkaW5nIHRoZSBzdHJhdGVneVxuICAgKi9cbiAgYWNjb3VudElkOiBzdHJpbmcsXG5cbiAgLyoqXG4gICAqIGZsYWcgaW5kaWNhdGluZyB0aGF0IHBlbmRpbmcgb3JkZXJzIHNob3VsZCBub3QgYmUgY29waWVkLlxuICAgKiBEZWZhdWx0IGlzIHRvIGNvcHkgcGVuZGluZyBvcmRlcnNcbiAgICovXG4gIHNraXBQZW5kaW5nT3JkZXJzPzogYm9vbGVhbixcblxuICAvKipcbiAgICogY29tbWlzc2lvbiBzY2hlbWUgYWxsb3dlZCBieSB0aGlzIHN0cmF0ZWd5XG4gICAqL1xuICBjb21taXNzaW9uU2NoZW1lPzogQ29weUZhY3RvcnlTdHJhdGVneUNvbW1pc3Npb25TY2hlbWUsXG5cbiAgLyoqXG4gICAqIG1heCByaXNrIHBlciB0cmFkZSwgZXhwcmVzc2VkIGFzIGEgZnJhY3Rpb24gb2YgMS4gSWYgdHJhZGUgaGFzIGEgU0wsIHRoZVxuICAgKiB0cmFkZSBzaXplIHdpbGwgYmUgYWRqdXN0ZWQgdG8gbWF0Y2ggdGhlIHJpc2sgbGltaXQuIElmIG5vdCwgdGhlIHRyYWRlIFNMIHdpbGwgYmUgYXBwbGllZCBhY2NvcmRpbmcgdG8gdGhlIHJpc2tcbiAgICogbGltaXRcbiAgICovXG4gIG1heFRyYWRlUmlzaz86IG51bWJlcixcblxuICAvKipcbiAgICogZmxhZyBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0cmF0ZWd5IHNob3VsZCBiZSBjb3BpZWQgaW4gYSByZXZlcnNlIGRpcmVjdGlvblxuICAgKi9cbiAgcmV2ZXJzZT86IGJvb2xlYW4sXG5cbiAgLyoqXG4gICAqIHNldHRpbmcgaW5kaWNhdGluZyB3aGV0aGVyIHRvIGVuYWJsZSBhdXRvbWF0aWMgdHJhZGVcbiAgICogY29ycmVsYXRpb24gcmVkdWN0aW9uLiBQb3NzaWJsZSBzZXR0aW5ncyBhcmUgbm90IHNwZWNpZmllZCAoZGlzYWJsZSBjb3JyZWxhdGlvbiByaXNrIHJlc3RyaWN0aW9ucyksXG4gICAqIGJ5LXN0cmF0ZWd5IChsaW1pdCBjb3JyZWxhdGlvbnMgZm9yIHRoZSBzdHJhdGVneSkgb3IgYnktYWNjb3VudCAobGltaXQgY29ycmVsYXRpb25zIGZvciB0aGUgYWNjb3VudClcbiAgICovXG4gIHJlZHVjZUNvcnJlbGF0aW9ucz86IHN0cmluZyxcblxuICAvKipcbiAgICogc3ltYm9sIGZpbHRlcnMgd2hpY2ggY2FuIGJlIHVzZWQgdG8gY29weSBvbmx5IHNwZWNpZmljXG4gICAqIHN5bWJvbHMgb3IgZXhjbHVkZSBzb21lIHN5bWJvbHMgZnJvbSBjb3B5aW5nXG4gICAqL1xuICBzeW1ib2xGaWx0ZXI/OiBDb3B5RmFjdG9yeVN0cmF0ZWd5U3ltYm9sRmlsdGVyLFxuXG4gIC8qKlxuICAgKiBuZXdzIHJpc2sgZmlsdGVyIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIG5ld3NGaWx0ZXI/OiBDb3B5RmFjdG9yeVN0cmF0ZWd5TmV3c0ZpbHRlcixcblxuICAvKipcbiAgICogc3RyYXRlZ3kgcmlzayBsaW1pdHMuIFlvdSBjYW4gY29uZmlndXJlXG4gICAqIHRyYWRpbmcgdG8gYmUgc3RvcHBlZCBvbmNlIHRvdGFsIGRyYXdkb3duIGdlbmVyYXRlZCBkdXJpbmcgc3BlY2lmaWMgcGVyaW9kIGlzIGV4Y2VlZGVkLiBDYW4gYmUgc3BlY2lmaWVkIGVpdGhlciBmb3JcbiAgICogYmFsYW5jZSBvciBlcXVpdHkgZHJhd2Rvd25cbiAgICovXG4gIHJpc2tMaW1pdHM/OiBBcnJheTxDb3B5RmFjdG9yeVN0cmF0ZWd5Umlza0xpbWl0PixcblxuICAvKipcbiAgICogc3RvcCBsb3NzIHZhbHVlIHJlc3RyaWN0aW9uXG4gICAqL1xuICBtYXhTdG9wTG9zcz86IENvcHlGYWN0b3J5U3RyYXRlZ3lNYXhTdG9wTG9zcyxcblxuICAvKipcbiAgICogbWF4IGxldmVyYWdlIHJpc2sgcmVzdHJpY3Rpb24uIEFsbCB0cmFkZXMgcmVzdWx0aW5nIGluIGEgbGV2ZXJhZ2UgdmFsdWVcbiAgICogaGlnaGVyIHRoYW4gc3BlY2lmaWVkIHdpbGwgYmUgc2tpcHBlZFxuICAgKi9cbiAgbWF4TGV2ZXJhZ2U/OiBudW1iZXIsXG5cbiAgLyoqXG4gICAqIGRlZmluZXMgaG93IHN5bWJvbCBuYW1lIHNob3VsZCBiZSBjaGFuZ2VkIHdoZW5cbiAgICogdHJhZGluZyAoZS5nLiB3aGVuIGJyb2tlciB1c2VzIHN5bWJvbCBuYW1lcyB3aXRoIHVudXN1YWwgc3VmZml4ZXMpLiBCeSBkZWZhdWx0IHRoaXMgc2V0dGluZyBpcyBkaXNhYmxlZCBhbmQgdGhlXG4gICAqIHRyYWRlcyBhcmUgY29waWVkIHVzaW5nIHNpZ25hbCBzb3VyY2Ugc3ltYm9sIG5hbWVcbiAgICovXG4gIHN5bWJvbE1hcHBpbmc/OiBBcnJheTxDb3B5RmFjdG9yeVN0cmF0ZWd5U3ltYm9sTWFwcGluZz4sXG5cbiAgLyoqXG4gICAqIFRyYWRlIHNpemUgc2NhbGluZyBzZXR0aW5ncy4gQnkgZGVmYXVsdCB0aGVcbiAgICogdHJhZGUgc2l6ZSBvbiBzdHJhdGVneSBzdWJzY3JpYmVyIHNpZGUgd2lsbCBiZSBzY2FsZWQgYWNjb3JkaW5nIHRvIGJhbGFuY2UgdG8gcHJlc2VydmUgcmlzay5cbiAgICovXG4gIHRyYWRlU2l6ZVNjYWxpbmc/OiBDb3B5RmFjdG9yeVN0cmF0ZWd5VHJhZGVTaXplU2NhbGluZyxcblxuICAvKipcbiAgICogZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgc3RvcCBsb3NzIHNob3VsZCBiZSBjb3BpZWQuIERlZmF1bHQgaXMgdG8gY29weSBzdG9wXG4gICAqIGxvc3MuXG4gICAqL1xuICBjb3B5U3RvcExvc3M/OiBib29sZWFuLFxuXG4gIC8qKlxuICAgKiBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0YWtlIHByb2ZpdCBzaG91bGQgYmUgY29waWVkLiBEZWZhdWx0IGlzIHRvIGNvcHkgdGFrZVxuICAgKiBwcm9maXQuXG4gICAqL1xuICBjb3B5VGFrZVByb2ZpdD86IGJvb2xlYW4sXG5cbiAgLyoqXG4gICAqIFRyYWRlIHNpZGVzIHdoaWNoIHdpbGwgYmUgY29waWVkLiBCdXkgdHJhZGVzIG9ubHksIHNlbGwgdHJhZGVzIG9ubHkgb3IgYWxsIHRyYWRlcy5cbiAgICogRGVmYXVsdCBpcyB0byBjb3B5IGFsbCB0cmFkZXNcbiAgICovXG4gIGFsbG93ZWRTaWRlcz86IHN0cmluZ1tdLFxuXG4gIC8qKlxuICAgKiBNaW5pbXVtIHRyYWRlIHZvbHVtZSB0byBjb3B5LiBUcmFkZSBzaWduYWxzIHdpdGggYSBzbWFsbGVyIHZvbHVtZSB3aWxsIG5vdCBiZVxuICAgKiBjb3BpZWRcbiAgICovXG4gIG1pblRyYWRlVm9sdW1lPzogbnVtYmVyLFxuXG4gIC8qKlxuICAgKiBNYXhpbXVtIHRyYWRlIHZvbHVtZSB0byBjb3B5LiBUcmFkZSBzaWduYWxzIHdpdGggYSBsYXJnZXIgdm9sdW1lIHdpbGwgYmUgY29waWVkXG4gICAqIHdpdGggbWF4aW11bSB2b2x1bWUgaW5zdGVhZFxuICAgKi9cbiAgbWF4VHJhZGVWb2x1bWU/OiBudW1iZXIsXG5cbiAgLyoqXG4gICAqIEV4dHJhIHRyYWRlIGNvcHlpbmcgZGVsYXkgaW50cm9kdWNlZCBieSB0cmFkZSBjb3BpZXIgYmVmb3JlIGFwcGx5aW5nIHRoZSB0cmFkZSBzaWduYWwuXG4gICAqIFlvdSBjYW4gY29uZmlndXJlIGVpdGhlciBhIGZpeGVkIG9yIGEgcmFuZG9tIGRlbGF5XG4gICAqL1xuICBzaWduYWxEZWxheT86IFN0cmF0ZWd5U2lnbmFsRGVsYXksXG5cbiAgLyoqXG4gICAqIG1hZ2ljIChleHBlcnQgaWQpIGZpbHRlclxuICAgKi9cbiAgbWFnaWNGaWx0ZXI/OiBDb3B5RmFjdG9yeVN0cmF0ZWd5TWFnaWNGaWx0ZXIsXG5cbiAgLyoqXG4gICAqIGZpbHRlciB3aGljaCBwZXJtaXRzIHRoZSB0cmFkZXMgb25seSBpZiBhY2NvdW50XG4gICAqIGVxdWl0eSBpcyBncmVhdGVyIHRoYW4gYmFsYW5jZSBtb3ZpbmcgYXZlcmFnZVxuICAgKi9cbiAgZXF1aXR5Q3VydmVGaWx0ZXI/OiBDb3B5RmFjdG9yeVN0cmF0ZWd5RXF1aXR5Q3VydmVGaWx0ZXIsXG5cbiAgLyoqXG4gICAqICBwcm92aWRlciBhY2NvdW50IHN0cmF0ZWd5IGRyYXdkb3duIGZpbHRlclxuICAgKi9cbiAgZHJhd2Rvd25GaWx0ZXI/OiBDb3B5RmFjdG9yeVN0cmF0ZWd5RHJhd2Rvd25GaWx0ZXIsXG5cbiAgLyoqXG4gICAqIHN5bWJvbHMgdHJhZGVkIGJ5IHRoaXMgc3RyYXRlZ3kuIFNwZWNpZnlpbmcgdGhlIHN5bWJvbHMgd2lsbCBpbXByb3ZlIHRyYWRlXG4gICAqIGxhdGVuY3kgb24gZmlyc3QgdHJhZGVzIG1hZGUgYnkgc3RyYXRlZ3kuIElmIHlvdSBkbyBub3Qgc3BlY2lmeSB0aGlzIHNldHRpbmcgdGhlIGFwcGxpY2F0aW9uIHdpbGwgbW9uaXRvciB0aGUgc3RyYXRlZ3lcbiAgICogdHJhZGVzIGFuZCBkZXRlY3QgdGhlIHN5bWJvbHMgYXV0b21hdGljYWxseSBvdmVyIHRpbWVcbiAgICovXG4gIHN5bWJvbHNUcmFkZWQ/OiBBcnJheTxzdHJpbmc+LFxuXG4gIC8qKlxuICAgKiBzZXR0aW5ncyB0byBtYW5hZ2UgY29weWluZyB0aW1lZnJhbWUgYW5kIHBvc2l0aW9uXG4gICAqIGxpZmV0aW1lLiBEZWZhdWx0IGlzIHRvIGNvcHkgcG9zaXRpb24gd2l0aGluIDEgbWludXRlIGZyb20gYmVpbmcgb3BlbmVkIGF0IHNvdXJjZSBhbmQgbGV0IHRoZSBwb3NpdGlvbiB0byBsaXZlIGZvclxuICAgKiB1cCB0byA5MCBkYXlzXG4gICAqL1xuICB0aW1lU2V0dGluZ3M/OiBDb3B5RmFjdG9yeVN0cmF0ZWd5VGltZVNldHRpbmdzLFxuXG4gIC8qKlxuICAgKiB0ZWxlZ3JhbSBwdWJsaXNoaW5nIHNldHRpbmdzXG4gICAqL1xuICB0ZWxlZ3JhbT86IFN0cmF0ZWd5VGVsZWdyYW1TZXR0aW5ncztcbn1cblxuLyoqXG4gKiBDb3B5RmFjdG9yeSBjbG9zZSBpbnN0cnVjdGlvbnNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBDb3B5RmFjdG9yeUNsb3NlSW5zdHJ1Y3Rpb25zID0ge1xuXG4gIC8qKlxuICAgKiBwb3NpdGlvbiBjbG9zZSBtb2RlIG9uIHN0cmF0ZWd5IG9yIHN1YnNjcmlwdGlvbiByZW1vdmFsLiBQcmVzZXJ2ZSBtZWFuc1xuICAgKiB0aGF0IHBvc2l0aW9ucyB3aWxsIG5vdCBiZSBjbG9zZWQgYW5kIHdpbGwgbm90IGJlIG1hbmFnZWQgYnkgQ29weUZhY3RvcnkuXG4gICAqIGNsb3NlLWdyYWNlZnVsbHktYnktcG9zaXRpb24gbWVhbnMgdGhhdCBwb3NpdGlvbnMgd2lsbCBjb250aW51ZSB0byBiZSBtYW5hZ2VkIGJ5IENvcHlGYWN0b3J5LFxuICAgKiBidXQgb25seSBjbG9zZSBzaWduYWxzIHdpbGwgYmUgY29waWVkLiBjbG9zZS1ncmFjZWZ1bGx5LWJ5LXN5bWJvbCBtZWFucyB0aGF0IHBvc2l0aW9ucyB3aWxsXG4gICAqIGNvbnRpbnVlIHRvIGJlIG1hbmFnZWQgYnkgQ29weUZhY3RvcnksIGJ1dCBvbmx5IGNsb3NlIHNpZ25hbHMgd2lsbCBiZSBjb3BpZWQgb3Igc2lnbmFscyB0b1xuICAgKiBvcGVuIHBvc2l0aW9ucyBmb3IgdGhlIHN5bWJvbHMgd2hpY2ggYWxyZWFkeSBoYXZlIHBvc2l0aW9ucyBvcGVuZWQuIGNsb3NlLWltbWVkaWF0ZWx5IG1lYW5zXG4gICAqIHRoYXQgYWxsIHBvc2l0aW9ucyB3aWxsIGJlIGNsb3NlZCBpbW1lZGlhdGVseS4gRGVmYXVsdCBpcyBjbG9zZS1pbW1lZGlhdGVseS4gT25lIG9mICdwcmVzZXJ2ZScsXG4gICAqICdjbG9zZS1ncmFjZWZ1bGx5LWJ5LXBvc2l0aW9uJywgJ2Nsb3NlLWdyYWNlZnVsbHktYnktc3ltYm9sJywgJ2Nsb3NlLWltbWVkaWF0ZWx5J1xuICAgKi9cbiAgbW9kZT86IHN0cmluZyxcblxuICAvKipcbiAgICogdGltZSB0byBmb3JjZSByZW1vdmUgb2JqZWN0IGFmdGVyLiBUaGUgb2JqZWN0IHdpbGwgYmUgcmVtb3ZlZCBhZnRlclxuICAgKiB0aGlzIHRpbWUsIGV2ZW4gaWYgcG9zaXRpb25zIGFyZSBub3QgeWV0IGNsb3NlZCBmdWxseS4gRGVmYXVsdCBpcyBjdXJyZW50IGRhdGUgcGx1cyAzMCBkYXlzLlxuICAgKiBDYW4gbm90IGJlIGxlc3MgdGhhbiAzMCBkYXlzIG9yIGdyZWF0ZXIgdGhhbiBjdXJyZW50IGRhdGUgcGx1cyA5MCBkYXlzLiBUaGUgc2V0dGluZyBpcyBpZ25vcmVkXG4gICAqIHdoZW4gYSBzdWJzY3JpcHRpb24gaXMgYmVpbmcgcmVtb3ZlZFxuICAgKi9cbiAgcmVtb3ZlQWZ0ZXI/OiBEYXRlXG59XG5cbi8qKlxuICogUG9ydGZvbGlvIHN0cmF0ZWd5IG1lbWJlclxuICovXG5leHBvcnQgZGVjbGFyZSB0eXBlIENvcHlGYWN0b3J5UG9ydGZvbGlvU3RyYXRlZ3lNZW1iZXIgPSB7XG5cbiAgLyoqXG4gICAqIG1lbWJlciBzdHJhdGVneSBpZFxuICAgKi9cbiAgc3RyYXRlZ3lJZDogc3RyaW5nLFxuXG4gIC8qKlxuICAgKiBjb3B5aW5nIG11bHRpcGxpZXIgKHdlaWdodCBpbiB0aGUgcG9ydGZvbGlvKVxuICAgKi9cbiAgbXVsdGlwbGllcjogbnVtYmVyLFxuXG4gIC8qKlxuICAgKiBmbGFnIGluZGljYXRpbmcgdGhhdCBwZW5kaW5nIG9yZGVycyBzaG91bGQgbm90IGJlIGNvcGllZC5cbiAgICogRGVmYXVsdCBpcyB0byBjb3B5IHBlbmRpbmcgb3JkZXJzXG4gICAqL1xuICBza2lwUGVuZGluZ09yZGVycz86IGJvb2xlYW4sXG5cbiAgLyoqXG4gICAqIG1heCByaXNrIHBlciB0cmFkZSwgZXhwcmVzc2VkIGFzIGEgZnJhY3Rpb24gb2YgMS4gSWYgdHJhZGUgaGFzIGEgU0wsIHRoZVxuICAgKiB0cmFkZSBzaXplIHdpbGwgYmUgYWRqdXN0ZWQgdG8gbWF0Y2ggdGhlIHJpc2sgbGltaXQuIElmIG5vdCwgdGhlIHRyYWRlIFNMIHdpbGwgYmUgYXBwbGllZCBhY2NvcmRpbmcgdG8gdGhlIHJpc2tcbiAgICogbGltaXRcbiAgICovXG4gIG1heFRyYWRlUmlzazogbnVtYmVyLFxuXG4gIC8qKlxuICAgKiBmbGFnIGluZGljYXRpbmcgdGhhdCB0aGUgc3RyYXRlZ3kgc2hvdWxkIGJlIGNvcGllZCBpbiBhIHJldmVyc2UgZGlyZWN0aW9uXG4gICAqL1xuICByZXZlcnNlPzogYm9vbGVhbixcblxuICAvKipcbiAgICogc2V0dGluZyBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gZW5hYmxlIGF1dG9tYXRpYyB0cmFkZVxuICAgKiBjb3JyZWxhdGlvbiByZWR1Y3Rpb24uIFBvc3NpYmxlIHNldHRpbmdzIGFyZSBub3Qgc3BlY2lmaWVkIChkaXNhYmxlIGNvcnJlbGF0aW9uIHJpc2sgcmVzdHJpY3Rpb25zKSxcbiAgICogYnktc3RyYXRlZ3kgKGxpbWl0IGNvcnJlbGF0aW9ucyBmb3IgdGhlIHN0cmF0ZWd5KSBvciBieS1hY2NvdW50IChsaW1pdCBjb3JyZWxhdGlvbnMgZm9yIHRoZSBhY2NvdW50KVxuICAgKi9cbiAgcmVkdWNlQ29ycmVsYXRpb25zPzogc3RyaW5nLFxuXG4gIC8qKlxuICAgKiBzeW1ib2wgZmlsdGVycyB3aGljaCBjYW4gYmUgdXNlZCB0byBjb3B5IG9ubHkgc3BlY2lmaWNcbiAgICogc3ltYm9scyBvciBleGNsdWRlIHNvbWUgc3ltYm9scyBmcm9tIGNvcHlpbmdcbiAgICovXG4gIHN5bWJvbEZpbHRlcj86IENvcHlGYWN0b3J5U3RyYXRlZ3lTeW1ib2xGaWx0ZXIsXG5cbiAgLyoqXG4gICAqIG5ld3MgcmlzayBmaWx0ZXIgY29uZmlndXJhdGlvblxuICAgKi9cbiAgbmV3c0ZpbHRlcj86IENvcHlGYWN0b3J5U3RyYXRlZ3lOZXdzRmlsdGVyLFxuXG4gIC8qKlxuICAgKiBzdHJhdGVneSByaXNrIGxpbWl0cy4gWW91IGNhbiBjb25maWd1cmVcbiAgICogdHJhZGluZyB0byBiZSBzdG9wcGVkIG9uY2UgdG90YWwgZHJhd2Rvd24gZ2VuZXJhdGVkIGR1cmluZyBzcGVjaWZpYyBwZXJpb2QgaXMgZXhjZWVkZWQuIENhbiBiZSBzcGVjaWZpZWQgZWl0aGVyIGZvclxuICAgKiBiYWxhbmNlIG9yIGVxdWl0eSBkcmF3ZG93blxuICAgKi9cbiAgcmlza0xpbWl0cz86IEFycmF5PENvcHlGYWN0b3J5U3RyYXRlZ3lSaXNrTGltaXQ+LFxuXG4gIC8qKlxuICAgKiBzdG9wIGxvc3MgdmFsdWUgcmVzdHJpY3Rpb25cbiAgICovXG4gIG1heFN0b3BMb3NzPzogQ29weUZhY3RvcnlTdHJhdGVneU1heFN0b3BMb3NzLFxuXG4gIC8qKlxuICAgKiBtYXggbGV2ZXJhZ2UgcmlzayByZXN0cmljdGlvbi4gQWxsIHRyYWRlcyByZXN1bHRpbmcgaW4gYSBsZXZlcmFnZSB2YWx1ZVxuICAgKiBoaWdoZXIgdGhhbiBzcGVjaWZpZWQgd2lsbCBiZSBza2lwcGVkXG4gICAqL1xuICBtYXhMZXZlcmFnZT86IG51bWJlcixcblxuICAvKipcbiAgICogZGVmaW5lcyBob3cgc3ltYm9sIG5hbWUgc2hvdWxkIGJlIGNoYW5nZWQgd2hlblxuICAgKiB0cmFkaW5nIChlLmcuIHdoZW4gYnJva2VyIHVzZXMgc3ltYm9sIG5hbWVzIHdpdGggdW51c3VhbCBzdWZmaXhlcykuIEJ5IGRlZmF1bHQgdGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkIGFuZCB0aGVcbiAgICogdHJhZGVzIGFyZSBjb3BpZWQgdXNpbmcgc2lnbmFsIHNvdXJjZSBzeW1ib2wgbmFtZVxuICAgKi9cbiAgc3ltYm9sTWFwcGluZz86IEFycmF5PENvcHlGYWN0b3J5U3RyYXRlZ3lTeW1ib2xNYXBwaW5nPixcblxuICAvKipcbiAgICogVHJhZGUgc2l6ZSBzY2FsaW5nIHNldHRpbmdzLiBCeSBkZWZhdWx0IHRoZVxuICAgKiB0cmFkZSBzaXplIG9uIHN0cmF0ZWd5IHN1YnNjcmliZXIgc2lkZSB3aWxsIGJlIHNjYWxlZCBhY2NvcmRpbmcgdG8gYmFsYW5jZSB0byBwcmVzZXJ2ZSByaXNrLlxuICAgKi9cbiAgdHJhZGVTaXplU2NhbGluZz86IENvcHlGYWN0b3J5U3RyYXRlZ3lUcmFkZVNpemVTY2FsaW5nLFxuXG4gIC8qKlxuICAgKiBmbGFnIGluZGljYXRpbmcgd2hldGhlciBzdG9wIGxvc3Mgc2hvdWxkIGJlIGNvcGllZC4gRGVmYXVsdCBpcyB0byBjb3B5IHN0b3BcbiAgICogbG9zcy5cbiAgICovXG4gIGNvcHlTdG9wTG9zcz86IGJvb2xlYW4sXG5cbiAgLyoqXG4gICAqIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRha2UgcHJvZml0IHNob3VsZCBiZSBjb3BpZWQuIERlZmF1bHQgaXMgdG8gY29weSB0YWtlXG4gICAqIHByb2ZpdC5cbiAgICovXG4gIGNvcHlUYWtlUHJvZml0PzogYm9vbGVhbixcblxuICAvKipcbiAgICogVHJhZGUgc2lkZXMgd2hpY2ggd2lsbCBiZSBjb3BpZWQuIEJ1eSB0cmFkZXMgb25seSwgc2VsbCB0cmFkZXMgb25seSBvciBhbGwgdHJhZGVzLlxuICAgKiBEZWZhdWx0IGlzIHRvIGNvcHkgYWxsIHRyYWRlc1xuICAgKi9cbiAgYWxsb3dlZFNpZGVzPzogc3RyaW5nW10sXG5cbiAgLyoqXG4gICAqIE1pbmltdW0gdHJhZGUgdm9sdW1lIHRvIGNvcHkuIFRyYWRlIHNpZ25hbHMgd2l0aCBhIHNtYWxsZXIgdm9sdW1lIHdpbGwgbm90IGJlXG4gICAqIGNvcGllZFxuICAgKi9cbiAgbWluVHJhZGVWb2x1bWU/OiBudW1iZXIsXG5cbiAgLyoqXG4gICAqIE1heGltdW0gdHJhZGUgdm9sdW1lIHRvIGNvcHkuIFRyYWRlIHNpZ25hbHMgd2l0aCBhIGxhcmdlciB2b2x1bWUgd2lsbCBiZSBjb3BpZWRcbiAgICogd2l0aCBtYXhpbXVtIHZvbHVtZSBpbnN0ZWFkXG4gICAqL1xuICBtYXhUcmFkZVZvbHVtZT86IG51bWJlcixcblxuICAvKipcbiAgICogRXh0cmEgdHJhZGUgY29weWluZyBkZWxheSBpbnRyb2R1Y2VkIGJ5IHRyYWRlIGNvcGllciBiZWZvcmUgYXBwbHlpbmcgdGhlIHRyYWRlIHNpZ25hbC5cbiAgICogWW91IGNhbiBjb25maWd1cmUgZWl0aGVyIGEgZml4ZWQgb3IgYSByYW5kb20gZGVsYXlcbiAgICovXG4gIHNpZ25hbERlbGF5PzogU3RyYXRlZ3lTaWduYWxEZWxheSxcblxuICAvKipcbiAgICogcG9zaXRpb24gY2xvc2UgbW9kZSBvbiBzdHJhdGVneSBvciBzdWJzY3JpcHRpb24gcmVtb3ZhbC4gUHJlc2VydmUgbWVhbnNcbiAgICogdGhhdCBwb3NpdGlvbnMgd2lsbCBub3QgYmUgY2xvc2VkIGFuZCB3aWxsIG5vdCBiZSBtYW5hZ2VkIGJ5IENvcHlGYWN0b3J5LiBjbG9zZS1ncmFjZWZ1bGx5LWJ5LXBvc2l0aW9uIG1lYW5zXG4gICAqIHRoYXQgcG9zaXRpb25zIHdpbGwgY29udGludWUgdG8gYmUgbWFuYWdlZCBieSBDb3B5RmFjdG9yeSwgYnV0IG9ubHkgY2xvc2Ugc2lnbmFscyB3aWxsIGJlIGNvcGllZC5cbiAgICogY2xvc2UtZ3JhY2VmdWxseS1ieS1zeW1ib2wgbWVhbnMgdGhhdCBwb3NpdGlvbnMgd2lsbCBjb250aW51ZSB0byBiZSBtYW5hZ2VkIGJ5IENvcHlGYWN0b3J5LCBidXQgb25seSBjbG9zZVxuICAgKiBzaWduYWxzIHdpbGwgYmUgY29waWVkIG9yIHNpZ25hbHMgdG8gb3BlbiBwb3NpdGlvbnMgZm9yIHRoZSBzeW1ib2xzIHdoaWNoIGFscmVhZHkgaGF2ZSBwb3NpdGlvbnMgb3BlbmVkLlxuICAgKiBjbG9zZS1pbW1lZGlhdGVseSBtZWFucyB0aGF0IGFsbCBwb3NpdGlvbnMgd2lsbCBiZSBjbG9zZWQgaW1tZWRpYXRlbHkuIERlZmF1bHQgaXMgY2xvc2UtaW1tZWRpYXRlbHkuXG4gICAqIFRoaXMgZmllbGQgY2FuIGJlIGNoYW5nZWQgdmlhIHJlbW92ZSBwb3Rmb2xpbyBtZW1iZXIgQVBJIG9ubHksIG9uZSBvZiBwcmVzZXJ2ZSwgY2xvc2UtZ3JhY2VmdWxseS1ieS1wb3NpdGlvbixcbiAgICogY2xvc2UtZ3JhY2VmdWxseS1ieS1zeW1ib2wsIGNsb3NlLWltbWVkaWF0ZWx5XG4gICAqL1xuICBjbG9zZU9uUmVtb3ZhbE1vZGU/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBQb3J0Zm9saW8gc3RyYXRlZ3kgdXBkYXRlXG4gKi9cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29weUZhY3RvcnlQb3J0Zm9saW9TdHJhdGVneVVwZGF0ZSA9IHtcblxuICAvKipcbiAgICogc3RyYXRlZ3kgaHVtYW4tcmVhZGFibGUgbmFtZVxuICAgKi9cbiAgbmFtZTogc3RyaW5nLFxuXG4gIC8qKlxuICAgKiBsb25nZXIgc3RyYXRlZ3kgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb25cbiAgICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG5cbiAgLyoqXG4gICAqIGFycmF5IG9mIHBvcnRmb2xpbyBtZW1iZXJzXG4gICAqL1xuICBtZW1iZXJzOiBBcnJheTxDb3B5RmFjdG9yeVBvcnRmb2xpb1N0cmF0ZWd5TWVtYmVyPixcblxuICAvKipcbiAgICogY29tbWlzc2lvbiBzY2hlbWUgYWxsb3dlZCBieSB0aGlzIHN0cmF0ZWd5LiBCeVxuICAgKiBkZWZhdWx0IG1vbnRobHkgYmlsbGluZyBwZXJpb2Qgd2l0aCBubyBjb21taXNzaW9uIGlzIGJlaW5nIHVzZWRcbiAgICovXG4gIGNvbW1pc3Npb25TY2hlbWU/OiBDb3B5RmFjdG9yeVN0cmF0ZWd5Q29tbWlzc2lvblNjaGVtZSxcblxuICAvKipcbiAgICogZmxhZyBpbmRpY2F0aW5nIHRoYXQgcGVuZGluZyBvcmRlcnMgc2hvdWxkIG5vdCBiZSBjb3BpZWQuXG4gICAqIERlZmF1bHQgaXMgdG8gY29weSBwZW5kaW5nIG9yZGVyc1xuICAgKi9cbiAgc2tpcFBlbmRpbmdPcmRlcnM/OiBib29sZWFuLFxuXG4gIC8qKlxuICAgKiBtYXggcmlzayBwZXIgdHJhZGUsIGV4cHJlc3NlZCBhcyBhIGZyYWN0aW9uIG9mIDEuIElmIHRyYWRlIGhhcyBhIFNMLCB0aGVcbiAgICogdHJhZGUgc2l6ZSB3aWxsIGJlIGFkanVzdGVkIHRvIG1hdGNoIHRoZSByaXNrIGxpbWl0LiBJZiBub3QsIHRoZSB0cmFkZSBTTCB3aWxsIGJlIGFwcGxpZWQgYWNjb3JkaW5nIHRvIHRoZSByaXNrXG4gICAqIGxpbWl0XG4gICAqL1xuICBtYXhUcmFkZVJpc2s/OiBudW1iZXIsXG5cbiAgLyoqXG4gICAqIGZsYWcgaW5kaWNhdGluZyB0aGF0IHRoZSBzdHJhdGVneSBzaG91bGQgYmUgY29waWVkIGluIGEgcmV2ZXJzZSBkaXJlY3Rpb25cbiAgICovXG4gIHJldmVyc2U/OiBib29sZWFuLFxuXG4gIC8qKlxuICAgKiBzZXR0aW5nIGluZGljYXRpbmcgd2hldGhlciB0byBlbmFibGUgYXV0b21hdGljIHRyYWRlXG4gICAqIGNvcnJlbGF0aW9uIHJlZHVjdGlvbi4gUG9zc2libGUgc2V0dGluZ3MgYXJlIG5vdCBzcGVjaWZpZWQgKGRpc2FibGUgY29ycmVsYXRpb24gcmlzayByZXN0cmljdGlvbnMpLFxuICAgKiBieS1zdHJhdGVneSAobGltaXQgY29ycmVsYXRpb25zIGZvciB0aGUgc3RyYXRlZ3kpIG9yIGJ5LWFjY291bnQgKGxpbWl0IGNvcnJlbGF0aW9ucyBmb3IgdGhlIGFjY291bnQpXG4gICAqL1xuICByZWR1Y2VDb3JyZWxhdGlvbnM/OiBzdHJpbmcsXG5cbiAgLyoqXG4gICAqIHN5bWJvbCBmaWx0ZXJzIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGNvcHkgb25seSBzcGVjaWZpY1xuICAgKiBzeW1ib2xzIG9yIGV4Y2x1ZGUgc29tZSBzeW1ib2xzIGZyb20gY29weWluZ1xuICAgKi9cbiAgc3ltYm9sRmlsdGVyPzogQ29weUZhY3RvcnlTdHJhdGVneVN5bWJvbEZpbHRlcixcblxuICAvKipcbiAgICogbmV3cyByaXNrIGZpbHRlciBjb25maWd1cmF0aW9uXG4gICAqL1xuICBuZXdzRmlsdGVyPzogQ29weUZhY3RvcnlTdHJhdGVneU5ld3NGaWx0ZXIsXG5cbiAgLyoqXG4gICAqIHN0cmF0ZWd5IHJpc2sgbGltaXRzLiBZb3UgY2FuIGNvbmZpZ3VyZVxuICAgKiB0cmFkaW5nIHRvIGJlIHN0b3BwZWQgb25jZSB0b3RhbCBkcmF3ZG93biBnZW5lcmF0ZWQgZHVyaW5nIHNwZWNpZmljIHBlcmlvZCBpcyBleGNlZWRlZC4gQ2FuIGJlIHNwZWNpZmllZCBlaXRoZXIgZm9yXG4gICAqIGJhbGFuY2Ugb3IgZXF1aXR5IGRyYXdkb3duXG4gICAqL1xuICByaXNrTGltaXRzPzogQXJyYXk8Q29weUZhY3RvcnlTdHJhdGVneVJpc2tMaW1pdD4sXG5cbiAgLyoqXG4gICAqIHN0b3AgbG9zcyB2YWx1ZSByZXN0cmljdGlvblxuICAgKi9cbiAgbWF4U3RvcExvc3M/OiBDb3B5RmFjdG9yeVN0cmF0ZWd5TWF4U3RvcExvc3MsXG5cbiAgLyoqXG4gICAqIG1heCBsZXZlcmFnZSByaXNrIHJlc3RyaWN0aW9uLiBBbGwgdHJhZGVzIHJlc3VsdGluZyBpbiBhIGxldmVyYWdlIHZhbHVlXG4gICAqIGhpZ2hlciB0aGFuIHNwZWNpZmllZCB3aWxsIGJlIHNraXBwZWRcbiAgICovXG4gIG1heExldmVyYWdlPzogbnVtYmVyLFxuXG4gIC8qKlxuICAgKiBkZWZpbmVzIGhvdyBzeW1ib2wgbmFtZSBzaG91bGQgYmUgY2hhbmdlZCB3aGVuXG4gICAqIHRyYWRpbmcgKGUuZy4gd2hlbiBicm9rZXIgdXNlcyBzeW1ib2wgbmFtZXMgd2l0aCB1bnVzdWFsIHN1ZmZpeGVzKS4gQnkgZGVmYXVsdCB0aGlzIHNldHRpbmcgaXMgZGlzYWJsZWQgYW5kIHRoZVxuICAgKiB0cmFkZXMgYXJlIGNvcGllZCB1c2luZyBzaWduYWwgc291cmNlIHN5bWJvbCBuYW1lXG4gICAqL1xuICBzeW1ib2xNYXBwaW5nPzogQXJyYXk8Q29weUZhY3RvcnlTdHJhdGVneVN5bWJvbE1hcHBpbmc+LFxuXG4gIC8qKlxuICAgKiBUcmFkZSBzaXplIHNjYWxpbmcgc2V0dGluZ3MuIEJ5IGRlZmF1bHQgdGhlXG4gICAqIHRyYWRlIHNpemUgb24gc3RyYXRlZ3kgc3Vic2NyaWJlciBzaWRlIHdpbGwgYmUgc2NhbGVkIGFjY29yZGluZyB0byBiYWxhbmNlIHRvIHByZXNlcnZlIHJpc2suXG4gICAqL1xuICB0cmFkZVNpemVTY2FsaW5nPzogQ29weUZhY3RvcnlTdHJhdGVneVRyYWRlU2l6ZVNjYWxpbmcsXG5cbiAgLyoqXG4gICAqIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHN0b3AgbG9zcyBzaG91bGQgYmUgY29waWVkLiBEZWZhdWx0IGlzIHRvIGNvcHkgc3RvcFxuICAgKiBsb3NzLlxuICAgKi9cbiAgY29weVN0b3BMb3NzPzogYm9vbGVhbixcblxuICAvKipcbiAgICogZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGFrZSBwcm9maXQgc2hvdWxkIGJlIGNvcGllZC4gRGVmYXVsdCBpcyB0byBjb3B5IHRha2VcbiAgICogcHJvZml0LlxuICAgKi9cbiAgY29weVRha2VQcm9maXQ/OiBib29sZWFuLFxuXG4gIC8qKlxuICAgKiBUcmFkZSBzaWRlcyB3aGljaCB3aWxsIGJlIGNvcGllZC4gQnV5IHRyYWRlcyBvbmx5LCBzZWxsIHRyYWRlcyBvbmx5IG9yIGFsbCB0cmFkZXMuXG4gICAqIERlZmF1bHQgaXMgdG8gY29weSBhbGwgdHJhZGVzXG4gICAqL1xuICBhbGxvd2VkU2lkZXM/OiBzdHJpbmdbXSxcblxuICAvKipcbiAgICogTWluaW11bSB0cmFkZSB2b2x1bWUgdG8gY29weS4gVHJhZGUgc2lnbmFscyB3aXRoIGEgc21hbGxlciB2b2x1bWUgd2lsbCBub3QgYmVcbiAgICogY29waWVkXG4gICAqL1xuICBtaW5UcmFkZVZvbHVtZT86IG51bWJlcixcblxuICAvKipcbiAgICogTWF4aW11bSB0cmFkZSB2b2x1bWUgdG8gY29weS4gVHJhZGUgc2lnbmFscyB3aXRoIGEgbGFyZ2VyIHZvbHVtZSB3aWxsIGJlIGNvcGllZFxuICAgKiB3aXRoIG1heGltdW0gdm9sdW1lIGluc3RlYWRcbiAgICovXG4gIG1heFRyYWRlVm9sdW1lPzogbnVtYmVyLFxuXG4gIC8qKlxuICAgKiBFeHRyYSB0cmFkZSBjb3B5aW5nIGRlbGF5IGludHJvZHVjZWQgYnkgdHJhZGUgY29waWVyIGJlZm9yZSBhcHBseWluZyB0aGUgdHJhZGUgc2lnbmFsLlxuICAgKiBZb3UgY2FuIGNvbmZpZ3VyZSBlaXRoZXIgYSBmaXhlZCBvciBhIHJhbmRvbSBkZWxheVxuICAgKi9cbiAgc2lnbmFsRGVsYXk/OiBTdHJhdGVneVNpZ25hbERlbGF5XG59XG5cbi8qKlxuICogUG9ydGZvbGlvIHN0cmF0ZWd5LCBpLmUuIHRoZSBzdHJhdGVneSB3aGljaCBpbmNsdWRlcyBhIHNldCBvZiBvdGhlciBzdHJhdGVnaWVzXG4gKi9cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29weUZhY3RvcnlQb3J0Zm9saW9TdHJhdGVneSA9IENvcHlGYWN0b3J5UG9ydGZvbGlvU3RyYXRlZ3lVcGRhdGUgJiB7XG5cbiAgLyoqXG4gICAqIHVuaXF1ZSBzdHJhdGVneSBpZFxuICAgKi9cbiAgX2lkOiBzdHJpbmcsXG5cbiAgLyoqXG4gICAqIGNvbW1pc3Npb24gcmF0ZSB0aGUgcGxhdGZvcm0gY2hhcmdlcyBmb3Igc3RyYXRlZ3kgY29weWluZywgYXBwbGllZCB0b1xuICAgKiBjb21taXNzaW9ucyBjaGFyZ2VkIGJ5IHByb3ZpZGVyLiBUaGlzIGNvbW1pc3Npb24gYXBwbGllcyBvbmx5IHRvIGFjY291bnRzIG5vdCBtYW5hZ2VkIGRpcmVjdGx5IGJ5IHByb3ZpZGVyLiBTaG91bGRcbiAgICogYmUgZnJhY3Rpb24gb2YgMVxuICAgKi9cbiAgcGxhdGZvcm1Db21taXNzaW9uUmF0ZTogbnVtYmVyXG5cbiAgLyoqXG4gICAqIHBvc2l0aW9uIGNsb3NlIG1vZGUgb24gc3RyYXRlZ3kgb3Igc3Vic2NyaXB0aW9uIHJlbW92YWwuIFByZXNlcnZlIG1lYW5zXG4gICAqIHRoYXQgcG9zaXRpb25zIHdpbGwgbm90IGJlIGNsb3NlZCBhbmQgd2lsbCBub3QgYmUgbWFuYWdlZCBieSBDb3B5RmFjdG9yeS4gY2xvc2UtZ3JhY2VmdWxseS1ieS1wb3NpdGlvbiBtZWFuc1xuICAgKiB0aGF0IHBvc2l0aW9ucyB3aWxsIGNvbnRpbnVlIHRvIGJlIG1hbmFnZWQgYnkgQ29weUZhY3RvcnksIGJ1dCBvbmx5IGNsb3NlIHNpZ25hbHMgd2lsbCBiZSBjb3BpZWQuXG4gICAqIGNsb3NlLWdyYWNlZnVsbHktYnktc3ltYm9sIG1lYW5zIHRoYXQgcG9zaXRpb25zIHdpbGwgY29udGludWUgdG8gYmUgbWFuYWdlZCBieSBDb3B5RmFjdG9yeSwgYnV0IG9ubHkgY2xvc2VcbiAgICogc2lnbmFscyB3aWxsIGJlIGNvcGllZCBvciBzaWduYWxzIHRvIG9wZW4gcG9zaXRpb25zIGZvciB0aGUgc3ltYm9scyB3aGljaCBhbHJlYWR5IGhhdmUgcG9zaXRpb25zIG9wZW5lZC5cbiAgICogY2xvc2UtaW1tZWRpYXRlbHkgbWVhbnMgdGhhdCBhbGwgcG9zaXRpb25zIHdpbGwgYmUgY2xvc2VkIGltbWVkaWF0ZWx5LiBEZWZhdWx0IGlzIGNsb3NlLWltbWVkaWF0ZWx5LlxuICAgKiBUaGlzIGZpZWxkIGNhbiBiZSBjaGFuZ2VkIHZpYSByZW1vdmUgcG90Zm9saW8gbWVtYmVyIEFQSSBvbmx5LCBvbmUgb2YgcHJlc2VydmUsIGNsb3NlLWdyYWNlZnVsbHktYnktcG9zaXRpb24sXG4gICAqIGNsb3NlLWdyYWNlZnVsbHktYnktc3ltYm9sLCBjbG9zZS1pbW1lZGlhdGVseVxuICAgKi9cbiAgY2xvc2VPblJlbW92YWxNb2RlPzogc3RyaW5nXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgbWV0aG9kcyByZXRyaWV2aW5nIHN0cmF0ZWdpZXNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBHZXRTdHJhdGVnaWVzT3B0aW9ucyA9IHtcblxuICAvKipcbiAgICogZmxhZyBpbnN0cnVjdGluZyB0byBpbmNsdWRlIHJlbW92ZWQgc3RyYXRlZ2llcyBpbiByZXN1bHRzXG4gICAqL1xuICBpbmNsdWRlUmVtb3ZlZD86IGJvb2xlYW5cblxuICAvKipcbiAgICogcGFnaW5hdGlvbiBsaW1pdC4gRGVmYXVsdHMgdG8gMTAwMC4gTXVzdCBiZSBncmVhdGVyIG9yIGVxdWFsIHRvIDEgYW5kIGxlc3Mgb3IgZXF1YWwgdG8gMTAwMFxuICAgKi9cbiAgbGltaXQ/OiBudW1iZXJcblxuICAvKipcbiAgICogcGFnaW5pYXRpb24gb2Zmc2V0LiBEZWZhdWx0cyB0byAwLiBNdXN0IGJlIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMFxuICAgKi9cbiAgb2Zmc2V0PzogbnVtYmVyXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgbWV0aG9kcyByZXRyaWV2aW5nIHBvcnRmb2xpbyBzdHJhdGVnaWVzXG4gKi9cbmV4cG9ydCBkZWNsYXJlIHR5cGUgR2V0UG9ydGZvbGlvU3RyYXRlZ2llc09wdGlvbnMgPSB7XG5cbiAgLyoqXG4gICAqIGZsYWcgaW5zdHJ1Y3RpbmcgdG8gaW5jbHVkZSByZW1vdmVkIHBvcnRmb2xpbyBzdHJhdGVnaWVzIGluIHJlc3VsdHNcbiAgICovXG4gIGluY2x1ZGVSZW1vdmVkPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBwYWdpbmF0aW9uIGxpbWl0LiBEZWZhdWx0cyB0byAxMDAwLiBNdXN0IGJlIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMSBhbmQgbGVzcyBvciBlcXVhbCB0byAxMDAwXG4gICAqL1xuICBsaW1pdD86IG51bWJlclxuXG4gIC8qKlxuICAgKiBwYWdpbmlhdGlvbiBvZmZzZXQuIERlZmF1bHRzIHRvIDAuIE11c3QgYmUgZ3JlYXRlciBvciBlcXVhbCB0byAwXG4gICAqL1xuICBvZmZzZXQ/OiBudW1iZXJcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBtZXRob2RzIHJldHJpZXZpbmcgc3Vic2NyaWJlcnNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgdHlwZSBHZXRTdWJzY3JpYmVyc09wdGlvbnMgPSB7XG5cbiAgLyoqXG4gICAqIGZsYWcgaW5zdHJ1Y3RpbmcgdG8gaW5jbHVkZSByZW1vdmVkIHN1YnNjcmliZXJzIGluIHJlc3VsdHNcbiAgICovXG4gIGluY2x1ZGVSZW1vdmVkPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBwYWdpbmF0aW9uIGxpbWl0LiBEZWZhdWx0cyB0byAxMDAwLiBNdXN0IGJlIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMSBhbmQgbGVzcyBvciBlcXVhbCB0byAxMDAwXG4gICAqL1xuICBsaW1pdD86IG51bWJlclxuXG4gIC8qKlxuICAgKiBwYWdpbmlhdGlvbiBvZmZzZXQuIERlZmF1bHRzIHRvIDAuIE11c3QgYmUgZ3JlYXRlciBvciBlcXVhbCB0byAwXG4gICAqL1xuICBvZmZzZXQ/OiBudW1iZXJcbn1cblxuLyoqXG4gKiBMaXN0IGluIGNsYXNzaWMgcGFnaW5hdGlvbiBzdHlsZVxuICovXG5leHBvcnQgZGVjbGFyZSB0eXBlIENsYXNzaWNQYWdpbmF0aW9uTGlzdDxUPiA9IHtcblxuICAvKipcbiAgICogUmV0cmlldmVkIHJlY29yZHNcbiAgICovXG4gIGl0ZW1zOiBUW10sXG5cbiAgLyoqXG4gICAqIFRvdGFsIG51bWJlciBvZiBtYXRjaGVkIHJlY29yZHNcbiAgICovXG4gIGNvdW50OiBudW1iZXJcbn07XG5cbi8qKlxuICogUGF5bG9hZCB1c2VkIHRvIGNyZWF0ZSBhIG5ldyB3ZWJob29rXG4gKi9cbmV4cG9ydCBkZWNsYXJlIHR5cGUgTmV3V2ViaG9va