velocious 1.0.422 → 1.0.424

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -153,6 +153,7 @@
153
153
  * @property {string} [host] - Hostname of the Beacon broker daemon.
154
154
  * @property {number} [port] - Port of the Beacon broker daemon.
155
155
  * @property {string} [peerType] - Optional human-readable label for this peer (e.g. "server", "background-jobs-worker").
156
+ * @property {number} [unreachableReportMs] - Grace window (ms) a beacon connect/disconnect blip must persist before it is reported as a framework-error. Transient outages that recover within this window (e.g. a deploy restarting the broker) are not reported. Defaults to 30000.
156
157
  */
157
158
  /**
158
159
  * @typedef {object} HttpServerConfiguration
@@ -752,6 +753,10 @@ export type BeaconConfiguration = {
752
753
  * - Optional human-readable label for this peer (e.g. "server", "background-jobs-worker").
753
754
  */
754
755
  peerType?: string | undefined;
756
+ /**
757
+ * - Grace window (ms) a beacon connect/disconnect blip must persist before it is reported as a framework-error. Transient outages that recover within this window (e.g. a deploy restarting the broker) are not reported. Defaults to 30000.
758
+ */
759
+ unreachableReportMs?: number | undefined;
755
760
  };
756
761
  export type HttpServerConfiguration = {
757
762
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"configuration-types.d.ts","sourceRoot":"","sources":["../../src/configuration-types.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration-types.d.ts","sourceRoot":"","sources":["../../src/configuration-types.js"],"names":[],"mappings":"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"}
@@ -154,6 +154,7 @@
154
154
  * @property {string} [host] - Hostname of the Beacon broker daemon.
155
155
  * @property {number} [port] - Port of the Beacon broker daemon.
156
156
  * @property {string} [peerType] - Optional human-readable label for this peer (e.g. "server", "background-jobs-worker").
157
+ * @property {number} [unreachableReportMs] - Grace window (ms) a beacon connect/disconnect blip must persist before it is reported as a framework-error. Transient outages that recover within this window (e.g. a deploy restarting the broker) are not reported. Defaults to 30000.
157
158
  */
158
159
  /**
159
160
  * @typedef {object} HttpServerConfiguration
@@ -368,4 +369,4 @@
368
369
  * @property {WebsocketMessageHandlerResolverType} [websocketMessageHandlerResolver] - Resolve a raw websocket message handler for each connection.
369
370
  */
370
371
  export const nothing = {};
371
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWd1cmF0aW9uLXR5cGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUVIOztHQUVHO0FBRUg7O0dBRUc7QUFFSDs7Ozs7O0dBTUc7QUFFSDs7R0FFRztBQUVIOzs7Ozs7OztHQVFHO0FBRUg7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUg7Ozs7R0FJRztBQUVIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUVIOztHQUVHO0FBRUg7Ozs7OztHQU1HO0FBRUg7Ozs7R0FJRztBQUVIOzs7O0dBSUc7QUFFSDs7R0FFRztBQUVIOzs7Ozs7Ozs7OztHQVdHO0FBRUg7Ozs7R0FJRztBQUVIOzs7Ozs7Ozs7OztHQVdHO0FBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFFSDs7Ozs7OztHQU9HO0FBRUg7Ozs7Ozs7R0FPRztBQUVIOzs7O0dBSUc7QUFFSDs7Ozs7Ozs7R0FRRztBQUVIOzs7R0FHRztBQUVIOztHQUVHO0FBRUg7Ozs7O0dBS0c7QUFFSDs7Ozs7O0dBTUc7QUFFSDs7O0dBR0c7QUFHSDs7R0FFRztBQUVIOzs7Ozs7R0FNRztBQUVIOzs7Ozs7OztHQVFHO0FBRUg7OztHQUdHO0FBRUg7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUVIOzs7Ozs7OztHQVFHO0FBRUg7O0dBRUc7QUFFSDs7R0FFRztBQUVIOzs7Ozs7O0dBT0c7QUFFSDs7Ozs7Ozs7O0dBU0c7QUFFSDs7Ozs7R0FLRztBQUVIOzs7Ozs7Ozs7R0FTRztBQUVIOzs7Ozs7Ozs7OztHQVdHO0FBRUg7O0dBRUc7QUFFSDs7R0FFRztBQUVIOztHQUVHO0FBRUg7O0dBRUc7QUFFSDs7R0FFRztBQUVIOzs7O0dBSUc7QUFFSDs7Ozs7OztHQU9HO0FBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDRztBQUVILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqXG4gKiBAbW9kdWxlIHR5cGVzXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7ZnVuY3Rpb24oe3JlcXVlc3Q6IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QuanNcIikuZGVmYXVsdCB8IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1yZXF1ZXN0LmpzXCIpLmRlZmF1bHQsIHJlc3BvbnNlOiBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC9yZXNwb25zZS5qc1wiKS5kZWZhdWx0fSk6IFByb21pc2U8dm9pZD59IENvcnNUeXBlXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7ZnVuY3Rpb24oe3JlcXVlc3Q6IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QuanNcIikuZGVmYXVsdCB8IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1yZXF1ZXN0LmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWQsIHN1YnNjcmlwdGlvbj86IHtjaGFubmVsOiBzdHJpbmcsIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+fSwgY2xpZW50OiBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC9pbmRleC5qc1wiKS5kZWZhdWx0LCB3ZWJzb2NrZXRTZXNzaW9uOiBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC93ZWJzb2NrZXQtc2Vzc2lvbi5qc1wiKS5kZWZhdWx0LCBjb25maWd1cmF0aW9uOiBpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0pOiB0eXBlb2YgaW1wb3J0KFwiLi9odHRwLXNlcnZlci93ZWJzb2NrZXQtY2hhbm5lbC5qc1wiKS5kZWZhdWx0IHwgaW1wb3J0KFwiLi9odHRwLXNlcnZlci93ZWJzb2NrZXQtY2hhbm5lbC5qc1wiKS5kZWZhdWx0IHwgdm9pZCB8IFByb21pc2U8dHlwZW9mIGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvd2Vic29ja2V0LWNoYW5uZWwuanNcIikuZGVmYXVsdCB8IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvd2Vic29ja2V0LWNoYW5uZWwuanNcIikuZGVmYXVsdCB8IHZvaWQ+fSBXZWJzb2NrZXRDaGFubmVsUmVzb2x2ZXJUeXBlXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBXZWJzb2NrZXRNZXNzYWdlSGFuZGxlclxuICogQHByb3BlcnR5IHtmdW5jdGlvbih7bWVzc2FnZTogYW55LCBzZXNzaW9uOiBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC93ZWJzb2NrZXQtc2Vzc2lvbi5qc1wiKS5kZWZhdWx0fSkgOiBQcm9taXNlPHZvaWQ+IHwgdm9pZH0gW29uTWVzc2FnZV0gLSBIYW5kbGVyIGZvciBpbmNvbWluZyB3ZWJzb2NrZXQgbWVzc2FnZXMuXG4gKiBAcHJvcGVydHkge2Z1bmN0aW9uKHtzZXNzaW9uOiBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC93ZWJzb2NrZXQtc2Vzc2lvbi5qc1wiKS5kZWZhdWx0fSkgOiBQcm9taXNlPHZvaWQ+IHwgdm9pZH0gW29uT3Blbl0gLSBIYW5kbGVyIHdoZW4gdGhlIHdlYnNvY2tldCBzZXNzaW9uIG9wZW5zLlxuICogQHByb3BlcnR5IHtmdW5jdGlvbih7c2Vzc2lvbjogaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvd2Vic29ja2V0LXNlc3Npb24uanNcIikuZGVmYXVsdH0pIDogUHJvbWlzZTx2b2lkPiB8IHZvaWR9IFtvbkNsb3NlXSAtIEhhbmRsZXIgd2hlbiB0aGUgd2Vic29ja2V0IHNlc3Npb24gY2xvc2VzLlxuICogQHByb3BlcnR5IHtmdW5jdGlvbih7ZXJyb3I6IEVycm9yLCBzZXNzaW9uOiBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC93ZWJzb2NrZXQtc2Vzc2lvbi5qc1wiKS5kZWZhdWx0fSkgOiBQcm9taXNlPHZvaWQ+IHwgdm9pZH0gW29uRXJyb3JdIC0gSGFuZGxlciB3aGVuIGEgd2Vic29ja2V0IG1lc3NhZ2UgZXJyb3JzLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2Z1bmN0aW9uKHtyZXF1ZXN0OiBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC9yZXF1ZXN0LmpzXCIpLmRlZmF1bHQgfCBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC93ZWJzb2NrZXQtcmVxdWVzdC5qc1wiKS5kZWZhdWx0IHwgdW5kZWZpbmVkLCBjbGllbnQ6IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L2luZGV4LmpzXCIpLmRlZmF1bHQsIGNvbmZpZ3VyYXRpb246IGltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSk6IFdlYnNvY2tldE1lc3NhZ2VIYW5kbGVyIHwgdm9pZCB8IFByb21pc2U8V2Vic29ja2V0TWVzc2FnZUhhbmRsZXIgfCB2b2lkPn0gV2Vic29ja2V0TWVzc2FnZUhhbmRsZXJSZXNvbHZlclR5cGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHsoaWQ6IHN0cmluZykgPT4ge2RlZmF1bHQ6IHR5cGVvZiBpbXBvcnQoXCIuL2luaXRpYWxpemVyLmpzXCIpLmRlZmF1bHR9fSBJbml0aWFsaXplcnNSZXF1aXJlQ29udGV4dFR5cGVcbiAqIEB0eXBlZGVmIHtJbml0aWFsaXplcnNSZXF1aXJlQ29udGV4dFR5cGUgJiB7XG4gKiAgIGtleXM6ICgpID0+IHN0cmluZ1tdLFxuICogICBpZDogc3RyaW5nXG4gKiB9fSBXZWJwYWNrUmVxdWlyZUNvbnRleHRcbiAqIEB0eXBlZGVmIHt7cmVxdWlyZUNvbnRleHQ6IFdlYnBhY2tSZXF1aXJlQ29udGV4dH19IEluaXRpYWxpemVyc0V4cG9ydFR5cGVcbiAqIEB0eXBlZGVmIHtmdW5jdGlvbih7Y29uZmlndXJhdGlvbjogaW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9KSA6IFByb21pc2U8SW5pdGlhbGl6ZXJzRXhwb3J0VHlwZT59IEluaXRpYWxpemVyc1R5cGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFNxbENvbmZpZ1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtkYXRhYmFzZV0gLSBEYXRhYmFzZSBuYW1lIGZvciB0aGUgU1FMIGRyaXZlci5cbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBbb3B0aW9uc10gLSBEcml2ZXItc3BlY2lmaWMgY29ubmVjdGlvbiBvcHRpb25zLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbb3B0aW9ucy5lbmNyeXB0XSAtIFdoZXRoZXIgdG8gZW5jcnlwdCB0aGUgY29ubmVjdGlvbiAoTVNTUUwpLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtvcHRpb25zLnNjaGVtYV0gLSBEZWZhdWx0IHNjaGVtYSBmb3IgdW5xdWFsaWZpZWQgdGFibGUgbG9va3VwcyAoTVNTUUwpLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtvcHRpb25zLnNlcnZlck5hbWVdIC0gVExTIFNOSSBzZXJ2ZXIgbmFtZSBvdmVycmlkZSBmb3IgTVNTUUwgKGVtcHR5IHN0cmluZyBkaXNhYmxlcyBTTkkpLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbb3B0aW9ucy50cnVzdFNlcnZlckNlcnRpZmljYXRlXSAtIFdoZXRoZXIgdG8gdHJ1c3QgdGhlIHNlcnZlciBjZXJ0aWZpY2F0ZSAoTVNTUUwpLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtwYXNzd29yZF0gLSBQYXNzd29yZCBmb3IgdGhlIFNRTCB1c2VyLlxuICogQHByb3BlcnR5IHtvYmplY3R9IFtwb29sXSAtIENvbm5lY3Rpb24gcG9vbCBjb25maWd1cmF0aW9uLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtwb29sLm1heF0gLSBNYXhpbXVtIG51bWJlciBvZiBjb25uZWN0aW9ucy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbcG9vbC5taW5dIC0gTWluaW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMuXG4gKiBAcHJvcGVydHkge251bWJlcn0gW3Bvb2wuaWRsZVRpbWVvdXRNaWxsaXNdIC0gSWRsZSB0aW1lb3V0IGJlZm9yZSByZWxlYXNpbmcgYSBjb25uZWN0aW9uLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtzZXJ2ZXJdIC0gU1FMIHNlcnZlciBob3N0bmFtZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbdXNlcl0gLSBTUUwgdXNlcm5hbWUuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBEYXRhYmFzZVBvb2xDb25maWd1cmF0aW9uXG4gKiBAcHJvcGVydHkge251bWJlciB8IG51bGx9IFtpZGxlVGltZW91dE1pbGxpc10gLSBJZGxlIHRpbWVvdXQgYmVmb3JlIGNsb3NpbmcgYSBjaGVja2VkLWluIGFzeW5jLXRyYWNrZWQgY29ubmVjdGlvbi4gU2V0IG51bGwgdG8gZGlzYWJsZSBpZGxlIHJlYXBpbmcuIERlZmF1bHQ6IDUwMDAuXG4gKiBAcHJvcGVydHkge251bWJlcn0gW21heF0gLSBNYXhpbXVtIGxpdmUgYXN5bmMtdHJhY2tlZCBjb25uZWN0aW9ucyBmb3IgdGhpcyBwb29sLiBFeHRyYSBjaGVja291dHMgd2FpdCB1bnRpbCBhIG1hdGNoaW5nIGNvbm5lY3Rpb24gaXMgY2hlY2tlZCBpbiBvciBjYXBhY2l0eSBpcyBmcmVlZC5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IERhdGFiYXNlQ29uZmlndXJhdGlvblR5cGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGF0YWJhc2VDaGFyc2V0XSAtIERlZmF1bHQgY2hhcmFjdGVyIHNldCBhcHBsaWVkIGJ5IGBkYjpjcmVhdGVgIHZpYSBteXNxbC9tYXJpYWRiIGBDUkVBVEUgREFUQUJBU0UgLi4uIENIQVJBQ1RFUiBTRVRgLiBEaXN0aW5jdCBmcm9tIGBjaGFyc2V0YCwgd2hpY2ggaXMgdGhlIGNsaWVudCBjb25uZWN0aW9uIGNoYXJzZXQgZm9yd2FyZGVkIHRvIHRoZSBteXNxbDIgZHJpdmVyLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtkYXRhYmFzZUNvbGxhdGlvbl0gLSBEZWZhdWx0IGNvbGxhdGlvbiBhcHBsaWVkIGJ5IGBkYjpjcmVhdGVgIHZpYSBteXNxbC9tYXJpYWRiIGBDUkVBVEUgREFUQUJBU0UgLi4uIENPTExBVEVgLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtkYXRhYmFzZV0gLSBEYXRhYmFzZSBuYW1lIGZvciB0aGlzIGNvbm5lY3Rpb24uXG4gKiBAcHJvcGVydHkge3R5cGVvZiBpbXBvcnQoXCIuL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0fSBbZHJpdmVyXSAtIERyaXZlciBjbGFzcyB0byB1c2UgZm9yIHRoaXMgZGF0YWJhc2UuXG4gKiBAcHJvcGVydHkge3R5cGVvZiBpbXBvcnQoXCIuL2RhdGFiYXNlL3Bvb2wvYmFzZS5qc1wiKS5kZWZhdWx0fSBbcG9vbFR5cGVdIC0gUG9vbCBjbGFzcyB0byB1c2UgZm9yIHRoaXMgZGF0YWJhc2UuXG4gKiBAcHJvcGVydHkge2Z1bmN0aW9uKCkgOiB1bmtub3dufSBbZ2V0Q29ubmVjdGlvbl0gLSBDdXN0b20gY29ubmVjdGlvbiBmYWN0b3J5IG92ZXJyaWRlLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtob3N0XSAtIERhdGFiYXNlIGhvc3QuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFttaWdyYXRpb25zXSAtIFdoZXRoZXIgbWlncmF0aW9ucyBhcmUgZW5hYmxlZCBmb3IgdGhpcyBkYXRhYmFzZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcGFzc3dvcmRdIC0gUGFzc3dvcmQgZm9yIHRoZSBkYXRhYmFzZSB1c2VyLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtwb3J0XSAtIERhdGFiYXNlIHBvcnQuXG4gKiBAcHJvcGVydHkge0RhdGFiYXNlUG9vbENvbmZpZ3VyYXRpb259IFtwb29sXSAtIFZlbG9jaW91cyBkYXRhYmFzZSBwb29sIGxpZmVjeWNsZSBjb25maWd1cmF0aW9uLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtuYW1lXSAtIEZyaWVuZGx5IG5hbWUgZm9yIHRoZSBjb25maWd1cmF0aW9uLlxuICogQHByb3BlcnR5IHsoZmlsZTogc3RyaW5nKSA9PiBzdHJpbmd9IFtsb2NhdGVGaWxlXSAtIE9wdGlvbmFsIHNxbGl0ZS13ZWIgc3FsLmpzIHdhc20gcmVzb2x2ZXIgKGBpbml0U3FsSnMoe2xvY2F0ZUZpbGV9KWApLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbcmVhZE9ubHldIC0gV2hldGhlciB3cml0ZXMgc2hvdWxkIGJlIGJsb2NrZWQgZm9yIHRoaXMgZGF0YWJhc2UuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3NjaGVtYV0gLSBEZWZhdWx0IHNjaGVtYSBmb3IgdW5xdWFsaWZpZWQgdGFibGUgbG9va3VwcyAoTVNTUUwpLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbc2NoZW1hQ2FjaGVdIC0gV2hldGhlciBzY2hlbWEgbWV0YWRhdGEgc2hvdWxkIGJlIGNhY2hlZCBvbiB0aGUgZHJpdmVyLiBEZWZhdWx0cyB0byB0cnVlLlxuICogQHByb3BlcnR5IHtvYmplY3R9IFtyZWNvcmRdIC0gUmVjb3JkLWxldmVsIGNvbmZpZ3VyYXRpb24uXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtyZWNvcmQudHJhbnNhY3Rpb25zXSAtIFdoZXRoZXIgcmVjb3JkIG9wZXJhdGlvbnMgc2hvdWxkIHVzZSB0cmFuc2FjdGlvbnMuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtyZXNldF0gLSBXaGV0aGVyIHRvIHJlc2V0IHRoZSBkYXRhYmFzZSBvbiBzdGFydHVwLlxuICogQHByb3BlcnR5IHtTcWxDb25maWd9IFtzcWxDb25maWddIC0gRHJpdmVyLXNwZWNpZmljIFNRTCBjb25maWcuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFt0ZW5hbnRPbmx5XSAtIFdoZXRoZXIgdGhpcyBkYXRhYmFzZSBpZGVudGlmaWVyIGlzIG9ubHkgYWN0aXZlIGluc2lkZSBhIHJlc29sdmVkIHRlbmFudCBjb250ZXh0LlxuICogQHByb3BlcnR5IHtcIm1zc3FsXCIgfCBcIm15c3FsXCIgfCBcInBnc3FsXCIgfCBcInNxbGl0ZVwifSBbdHlwZV0gLSBEYXRhYmFzZSB0eXBlIGlkZW50aWZpZXIuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3VzZURhdGFiYXNlXSAtIERhdGFiYXNlIHRvIHN3aXRjaCB0byBhZnRlciBjb25uZWN0aW5nLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt1c2VybmFtZV0gLSBVc2VybmFtZSBmb3IgZGF0YWJhc2UgYXV0aGVudGljYXRpb24uXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7XCJkZWJ1Zy1sb3ctbGV2ZWxcIiB8IFwiZGVidWdcIiB8IFwiaW5mb1wiIHwgXCJ3YXJuXCIgfCBcImVycm9yXCJ9IExvZ0xldmVsXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBMb2dnaW5nT3V0cHV0UGF5bG9hZFxuICogQHByb3BlcnR5IHtMb2dMZXZlbH0gbGV2ZWwgLSBMb2cgbGV2ZWwuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbWVzc2FnZSAtIEZvcm1hdHRlZCBtZXNzYWdlLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHN1YmplY3QgLSBMb2cgc3ViamVjdC5cbiAqIEBwcm9wZXJ0eSB7RGF0ZX0gdGltZXN0YW1wIC0gVGltZXN0YW1wLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gTG9nZ2luZ091dHB1dFxuICogQHByb3BlcnR5IHtmdW5jdGlvbihMb2dnaW5nT3V0cHV0UGF5bG9hZCk6IFByb21pc2U8dm9pZD4gfCB2b2lkfSB3cml0ZSAtIFdyaXRlIGEgbG9nIGVudHJ5LlxuICogQHByb3BlcnR5IHtMb2dMZXZlbFtdfSBbbGV2ZWxzXSAtIERlZmF1bHQgbGV2ZWxzIGZvciB0aGlzIG91dHB1dC5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IExvZ2dpbmdPdXRwdXRDb25maWdcbiAqIEBwcm9wZXJ0eSB7TG9nZ2luZ091dHB1dH0gb3V0cHV0IC0gT3V0cHV0IGluc3RhbmNlLlxuICogQHByb3BlcnR5IHtBcnJheTxMb2dMZXZlbD59IFtsZXZlbHNdIC0gTGV2ZWxzIGVuYWJsZWQgZm9yIHRoaXMgb3V0cHV0LlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge0xvZ2dpbmdPdXRwdXRDb25maWcgfCBMb2dnaW5nT3V0cHV0IHwgaW1wb3J0KFwiLi9sb2dnZXIvYmFzZS1sb2dnZXIuanNcIikuZGVmYXVsdH0gTG9nZ2VyQ29uZmlnXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBMb2dnaW5nQ29uZmlndXJhdGlvblxuICogQHByb3BlcnR5IHtib29sZWFufSBbY29uc29sZV0gLSBFbmFibGUvZGlzYWJsZSBjb25zb2xlIGxvZ2dpbmcgZm9yIHJlcXVlc3QgbG9nZ2luZy4gRGVmYXVsdHMgdG8gdHJ1ZSBvdXRzaWRlIG9mIFwidGVzdFwiIGFuZCBmb3IgSFRUUCBzZXJ2ZXIgbG9ncy5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2ZpbGVdIC0gRW5hYmxlL2Rpc2FibGUgd3JpdGluZyBsb2dzIHRvIGEgZmlsZS4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGlyZWN0b3J5XSAtIERpcmVjdG9yeSB3aGVyZSBsb2cgZmlsZXMgYXJlIHN0b3JlZC4gRGVmYXVsdHMgdG8gXCI8cHJvamVjdD4vbG9nXCIuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2ZpbGVQYXRoXSAtIEV4cGxpY2l0IHBhdGggZm9yIHRoZSBsb2cgZmlsZS4gRGVmYXVsdHMgdG8gXCI8ZGlyZWN0b3J5Pi88ZW52aXJvbm1lbnQ+LmxvZ1wiLlxuICogQHByb3BlcnR5IHtBcnJheTxcImRlYnVnLWxvdy1sZXZlbFwiIHwgXCJkZWJ1Z1wiIHwgXCJpbmZvXCIgfCBcIndhcm5cIiB8IFwiZXJyb3JcIj59IFtsZXZlbHNdIC0gT3ZlcnJpZGUgd2hpY2ggbG9nIGxldmVscyBhcmUgZW1pdHRlZC5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2RlYnVnTG93TGV2ZWxdIC0gQ29udmVuaWVuY2UgZmxhZyB0byBpbmNsdWRlIHZlcnkgbG93LWxldmVsIGRlYnVnIGxvZ3MuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtxdWVyeUxvZ2dpbmddIC0gRW5hYmxlL2Rpc2FibGUgZGF0YWJhc2UgcXVlcnkgbG9nZ2luZy4gRGVmYXVsdHMgdG8gdHJ1ZSBvdXRzaWRlIHRlc3QgYW5kIGZhbHNlIGluIHRlc3QuXG4gKiBAcHJvcGVydHkge0xvZ2dlckNvbmZpZ1tdfSBbbG9nZ2Vyc10gLSBMb2dnZXIgaW5zdGFuY2VzIChjb252ZXJ0ZWQgdG8gb3V0cHV0cyB3aGVuIGNvbmZpZ3VyZWQpLlxuICogQHByb3BlcnR5IHtMb2dnaW5nT3V0cHV0Q29uZmlnW119IFtvdXRwdXRzXSAtIEV4cGxpY2l0IGxvZ2dlciBvdXRwdXRzIChvdmVycmlkZXMgY29uc29sZS9maWxlIGRlZmF1bHRzIHdoZW4gcHJvdmlkZWQpLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU3RydWN0dXJlU3FsQ29uZmlndXJhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gW2VuYWJsZWRFbnZpcm9ubWVudHNdIC0gRW52aXJvbm1lbnRzIGFsbG93ZWQgdG8gd3JpdGUgc3RydWN0dXJlIHNxbCBmaWxlcyBkdXJpbmcgYXV0b21hdGljIG1pZ3JhdGlvbiBkdW1wcy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFtkaXNhYmxlZEVudmlyb25tZW50c10gLSBFbnZpcm9ubWVudHMgdGhhdCBzaG91bGQgc2tpcCB3cml0aW5nIHN0cnVjdHVyZSBzcWwgZmlsZXMuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7XCJiZWFjb25cIiB8IFwicG9sbGluZ1wifSBCYWNrZ3JvdW5kSm9ic0Rpc3BhdGNoU3RyYXRlZ3lcbiAqXG4gKiAtIGBcImJlYWNvblwiYCAoZGVmYXVsdCk6IGV2ZW50LWRyaXZlbiBkaXNwYXRjaC4gVGhlXG4gKiAgIGBiYWNrZ3JvdW5kLWpvYnMtbWFpbmAgcHJvY2VzcyBkcmFpbnMgdGhlIHF1ZXVlIG9uIGVucXVldWUsIG9uXG4gKiAgIHdvcmtlciByZWFkaW5lc3MsIG9uIEJlYWNvbiBicm9hZGNhc3RzIChzbyBjcm9zcy1wcm9jZXNzIGVucXVldWVzXG4gKiAgIHdha2UgaXQpLCBhbmQgYXJtcyBhIGBzZXRUaW1lb3V0YCBmb3IgdGhlIHNvb25lc3QgZnV0dXJlLXNjaGVkdWxlZFxuICogICBqb2IuIEZhbGxzIGJhY2sgZ3JhY2VmdWxseSB0byBkaXJlY3QgaW4tcHJvY2VzcyB0cmlnZ2VyaW5nIHdoZW5cbiAqICAgQmVhY29uIGlzIG5vdCBjb25maWd1cmVkLlxuICogLSBgXCJwb2xsaW5nXCJgOiBsZWdhY3kgbW9kZSwgcnVucyBhIGZpeGVkLWludGVydmFsIHBvbGwgb3ZlciB0aGVcbiAqICAgYGJhY2tncm91bmRfam9ic2AgdGFibGUgKHNlZSBgcG9sbEludGVydmFsTXNgKS5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEJhY2tncm91bmRKb2JzQ29uZmlndXJhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtob3N0XSAtIEhvc3RuYW1lIGZvciB0aGUgYmFja2dyb3VuZCBqb2JzIG1haW4gcHJvY2Vzcy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbcG9ydF0gLSBQb3J0IGZvciB0aGUgYmFja2dyb3VuZCBqb2JzIG1haW4gcHJvY2Vzcy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGF0YWJhc2VJZGVudGlmaWVyXSAtIERhdGFiYXNlIGlkZW50aWZpZXIgdXNlZCB0byBzdG9yZSBiYWNrZ3JvdW5kIGpvYnMuXG4gKiBAcHJvcGVydHkge251bWJlcn0gW21heENvbmN1cnJlbnRJbmxpbmVKb2JzXSAtIEhvdyBtYW55IGBmb3JrZWQ6IGZhbHNlYCBqb2JzIGEgc2luZ2xlXG4gKiAgIGBiYWNrZ3JvdW5kLWpvYnMtd29ya2VyYCBwcm9jZXNzIGlzIGFsbG93ZWQgdG8gcnVuIGluIHBhcmFsbGVsLiBDb25jdXJyZW5jeVxuICogICBpcyBhdCB0aGUgSlMgZXZlbnQtbG9vcCBsZXZlbDogZXZlcnkgY29uY3VycmVudCBqb2Igc2hhcmVzIHRoZSB3b3JrZXInc1xuICogICBwcm9jZXNzIGFuZCBEQiBjb25uZWN0aW9uIHBvb2wsIHNvIHRoaXMgc2hvdWxkIGZpdCB0aGUgcG9vbCBzaXplLCBub3QgdGhlXG4gKiAgIENQVSBjb3VudC4gRm9ya2luZyByZW1haW5zIHRoZSByaWdodCB0b29sIGZvciBtZW1vcnkgaXNvbGF0aW9uIGFjcm9zc1xuICogICBsb25nLXJ1bm5pbmcgam9icyBhbmQgZm9yIHVzaW5nIG1vcmUgY29yZXMuIERlZmF1bHQ6IGA0YC5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbWF4Q29uY3VycmVudEZvcmtlZEpvYnNdIC0gSG93IG1hbnkgb3V0LW9mLXByb2Nlc3NcbiAqICAgYFwiZm9ya2VkXCJgIG9yIGBcInNwYXduZWRcImAgam9icyBhIHNpbmdsZSBgYmFja2dyb3VuZC1qb2JzLXdvcmtlcmAgaXNcbiAqICAgYWxsb3dlZCB0byBrZWVwIGluIGZsaWdodC4gRGVmYXVsdDogYDRgLlxuICogQHByb3BlcnR5IHtCYWNrZ3JvdW5kSm9ic0Rpc3BhdGNoU3RyYXRlZ3l9IFtkaXNwYXRjaFN0cmF0ZWd5XSAtIEhvdyB0aGUgbWFpbiBwcm9jZXNzXG4gKiAgIGRldGVjdHMgbmV3IHdvcmsuIERlZmF1bHRzIHRvIGBcImJlYWNvblwiYCAoZXZlbnQtZHJpdmVuKS4gU2V0IHRvIGBcInBvbGxpbmdcImBcbiAqICAgdG8gcmVzdG9yZSB0aGUgbGVnYWN5IGZpeGVkLWludGVydmFsIHBvbGwuXG4gKiBAcHJvcGVydHkge251bWJlcn0gW3BvbGxJbnRlcnZhbE1zXSAtIFBvbGwgaW50ZXJ2YWwgaW4gbWlsbGlzZWNvbmRzLiBPbmx5IHVzZWRcbiAqICAgd2hlbiBgZGlzcGF0Y2hTdHJhdGVneSA9PT0gXCJwb2xsaW5nXCJgLiBEZWZhdWx0OiBgMTAwMGAuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBCZWFjb25Db25maWd1cmF0aW9uXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtlbmFibGVkXSAtIFdoZXRoZXIgdG8gY29ubmVjdCB0byBhIEJlYWNvbiBicm9rZXIuIERlZmF1bHRzIHRvIGZhbHNlIHVubGVzcyBgaG9zdGAvYHBvcnRgIG9yIGBpblByb2Nlc3M6IHRydWVgIGFyZSBzZXQsIG9yIGVudiB2YXJzIGFyZSBwcmVzZW50LiBFeHBsaWNpdCBgZmFsc2VgIGRpc2FibGVzIEJlYWNvbiBldmVuIHdoZW4gZW52IHZhcnMgYXJlIHNldC5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2luUHJvY2Vzc10gLSBXaGVuIHRydWUsIHVzZSBhIG1vZHVsZS1sZXZlbCBpbi1wcm9jZXNzIGJyb2tlciBzaW5nbGV0b24gaW5zdGVhZCBvZiBjb25uZWN0aW5nIG92ZXIgVENQLiBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgaG9zdGAvYHBvcnRgLiBVc2VmdWwgZm9yIHRlc3RzIGFuZCBzaW5nbGUtcHJvY2VzcyBkZXBsb3ltZW50cy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbaG9zdF0gLSBIb3N0bmFtZSBvZiB0aGUgQmVhY29uIGJyb2tlciBkYWVtb24uXG4gKiBAcHJvcGVydHkge251bWJlcn0gW3BvcnRdIC0gUG9ydCBvZiB0aGUgQmVhY29uIGJyb2tlciBkYWVtb24uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3BlZXJUeXBlXSAtIE9wdGlvbmFsIGh1bWFuLXJlYWRhYmxlIGxhYmVsIGZvciB0aGlzIHBlZXIgKGUuZy4gXCJzZXJ2ZXJcIiwgXCJiYWNrZ3JvdW5kLWpvYnMtd29ya2VyXCIpLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gSHR0cFNlcnZlckNvbmZpZ3VyYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbaG9zdF0gLSBIb3N0bmFtZSB0byBiaW5kIHRoZSBIVFRQIHNlcnZlciB0by5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2luUHJvY2Vzc10gLSBSdW4gSFRUUCBoYW5kbGVycyBpbiB0aGUgbWFpbiB0aHJlYWQgaW5zdGVhZCBvZiB3b3JrZXIgdGhyZWFkcy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbbWF4V29ya2Vyc10gLSBCYWNrd2FyZC1jb21wYXRpYmxlIGFsaWFzIGZvciB3b3JrZXJzLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtwb3J0XSAtIFBvcnQgdG8gYmluZCB0aGUgSFRUUCBzZXJ2ZXIgdG8uXG4gKiBAcHJvcGVydHkge251bWJlcn0gW3dvcmtlcnNdIC0gV29ya2VyIGhhbmRsZXJzIHRvIHN0YXJ0IGZvciB0aGUgSFRUUCBzZXJ2ZXIuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTY2hlZHVsZWRCYWNrZ3JvdW5kSm9iRXZlcnlPcHRpb25zXG4gKiBAcHJvcGVydHkge251bWJlciB8IHN0cmluZ30gW2ZpcnN0SW5dIC0gRGVsYXkgYmVmb3JlIHRoZSBmaXJzdCBlbnF1ZXVlLlxuICogQHByb3BlcnR5IHtudW1iZXIgfCBzdHJpbmd9IFtmaXJzdF9pbl0gLSBTaWRla2lxLXN0eWxlIGFsaWFzIGZvciBgZmlyc3RJbmAuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTY2hlZHVsZWRCYWNrZ3JvdW5kSm9iQ29uZmlndXJhdGlvblxuICogQHByb3BlcnR5IHthbnlbXX0gW2FyZ3NdIC0gQXJndW1lbnRzIHBhc3NlZCB0byB0aGUgam9iIHdoZW4gZW5xdWV1ZWQuXG4gKiBAcHJvcGVydHkge3R5cGVvZiBpbXBvcnQoXCIuL2JhY2tncm91bmQtam9icy9qb2IuanNcIikuZGVmYXVsdH0gY2xhc3MgLSBKb2IgY2xhc3MgdG8gZW5xdWV1ZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbY3Jvbl0gLSBDcm9udGFiIGV4cHJlc3Npb24gKDUtZmllbGQgUE9TSVgsIHBsdXMgYEBob3VybHlgL2BAZGFpbHlgL2BAd2Vla2x5YC9gQG1vbnRobHlgL2BAeWVhcmx5YC9gQG1pZG5pZ2h0YCkuIE11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGBldmVyeWAuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtlbmFibGVkXSAtIFdoZXRoZXIgdGhlIHNjaGVkdWxlIGlzIGVuYWJsZWQuXG4gKiBAcHJvcGVydHkge251bWJlciB8IHN0cmluZyB8IFtudW1iZXIgfCBzdHJpbmcsIFNjaGVkdWxlZEJhY2tncm91bmRKb2JFdmVyeU9wdGlvbnNdfSBbZXZlcnldIC0gUmVwZWF0IGludGVydmFsLiBFaXRoZXIgYGV2ZXJ5YCBvciBgY3JvbmAgbXVzdCBiZSBzZXQuXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4vYmFja2dyb3VuZC1qb2JzL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zfSBbb3B0aW9uc10gLSBKb2Igb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFNjaGVkdWxlZEJhY2tncm91bmRKb2JzQ29uZmlndXJhdGlvblxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBTY2hlZHVsZWRCYWNrZ3JvdW5kSm9iQ29uZmlndXJhdGlvbj59IGpvYnMgLSBTY2hlZHVsZWQgam9icyBrZXllZCBieSBuYW1lLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2Z1bmN0aW9uKHtjb25maWd1cmF0aW9uOiBpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0pIDogU2NoZWR1bGVkQmFja2dyb3VuZEpvYnNDb25maWd1cmF0aW9uIHwgUHJvbWlzZTxTY2hlZHVsZWRCYWNrZ3JvdW5kSm9ic0NvbmZpZ3VyYXRpb24+fSBTY2hlZHVsZWRCYWNrZ3JvdW5kSm9ic0xvYWRlclR5cGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEF0dGFjaG1lbnREcml2ZXJDb25maWd1cmF0aW9uXG4gKiBAcHJvcGVydHkge2Z1bmN0aW9uKHtjb25maWd1cmF0aW9uOiBpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdCwgbmFtZTogc3RyaW5nLCBvcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+fSkgOiBSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbY3JlYXRlXSAtIE9wdGlvbmFsIGZhY3RvcnkgZm9yIGEgY3VzdG9tIGF0dGFjaG1lbnQgZHJpdmVyIGluc3RhbmNlLlxuICogQHByb3BlcnR5IHtuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbZHJpdmVyQ2xhc3NdIC0gT3B0aW9uYWwgY3VzdG9tIGF0dGFjaG1lbnQgZHJpdmVyIGNsYXNzLlxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbaW5zdGFuY2VdIC0gT3B0aW9uYWwgY3VzdG9tIGF0dGFjaG1lbnQgZHJpdmVyIGluc3RhbmNlLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQXR0YWNobWVudHNDb25maWd1cmF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2RlZmF1bHREcml2ZXJdIC0gRGVmYXVsdCBhdHRhY2htZW50IHN0b3JhZ2UgZHJpdmVyIG5hbWUuXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIEF0dGFjaG1lbnREcml2ZXJDb25maWd1cmF0aW9uICYgUmVjb3JkPHN0cmluZywgYW55Pj59IFtkcml2ZXJzXSAtIE5hbWVkIGF0dGFjaG1lbnQgZHJpdmVyIGNvbmZpZ3VyYXRpb25zLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbYWxsb3dQYXRoSW5wdXRdIC0gV2hldGhlciBge3BhdGg6IC4uLn1gIGF0dGFjaG1lbnQgaW5wdXQgaXMgYWxsb3dlZC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFthbGxvd2VkUGF0aFByZWZpeGVzXSAtIE9wdGlvbmFsIGFsbG93bGlzdCBvZiBkaXJlY3RvcmllcyBmb3IgYHtwYXRoOiAuLi59YCBpbnB1dC5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IE1haWxlckJhY2tlbmRcbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe3BheWxvYWQ6IGltcG9ydChcIi4vbWFpbGVyLmpzXCIpLk1haWxlckRlbGl2ZXJ5UGF5bG9hZCwgY29uZmlndXJhdGlvbjogaW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9KSA6IFByb21pc2U8dW5rbm93bj4gfCB1bmtub3dufSBkZWxpdmVyIC0gRGVsaXZlciBhIG1haWxlciBwYXlsb2FkLlxuICovXG5cblxuLyoqXG4gKiBAdHlwZWRlZiB7UmVjb3JkPHN0cmluZywgc3RyaW5nW10+fSBMb2NhbGVGYWxsYmFja3NUeXBlXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBGcm9udGVuZE1vZGVsUmVsYXRpb25zaGlwQ29uZmlndXJhdGlvblxuICogQHByb3BlcnR5IHtcImJlbG9uZ3NUb1wiIHwgXCJoYXNPbmVcIiB8IFwiaGFzTWFueVwifSB0eXBlIC0gUmVsYXRpb25zaGlwIHR5cGUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW21vZGVsXSAtIFRhcmdldCBtb2RlbCBjbGFzcyBuYW1lLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjbGFzc05hbWVdIC0gQWxpYXMgb2YgdGFyZ2V0IG1vZGVsIGNsYXNzIG5hbWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW21vZGVsQ2xhc3NOYW1lXSAtIEV4cGxpY2l0IHRhcmdldCBtb2RlbCBjbGFzcyBuYW1lLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gRnJvbnRlbmRNb2RlbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbdHlwZV0gLSBDb2x1bW4gdHlwZSBuYW1lLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjb2x1bW5UeXBlXSAtIEFsaWFzIGZvciBjb2x1bW4gdHlwZSBuYW1lLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtzcWxUeXBlXSAtIEFsaWFzIGZvciBjb2x1bW4gdHlwZSBuYW1lLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtkYXRhVHlwZV0gLSBBbGlhcyBmb3IgY29sdW1uIHR5cGUgbmFtZS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW251bGxdIC0gV2hldGhlciB2YWx1ZSBjYW4gYmUgbnVsbC5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3NlbGVjdGVkQnlEZWZhdWx0XSAtIFdoZXRoZXIgaW5jbHVkZWQgaW4gZGVmYXVsdCBzZXJpYWxpemF0aW9uLiBEZWZhdWx0cyB0byB0cnVlLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gRnJvbnRlbmRNb2RlbEF0dGFjaG1lbnRDb25maWd1cmF0aW9uXG4gKiBAcHJvcGVydHkge1wiaGFzT25lXCIgfCBcImhhc01hbnlcIn0gdHlwZSAtIEF0dGFjaG1lbnQgY2FyZGluYWxpdHkuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBGcm9udGVuZE1vZGVsUmVzb3VyY2VDb25maWd1cmF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdIHwgUmVjb3JkPHN0cmluZywgRnJvbnRlbmRNb2RlbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24gfCBpbXBvcnQoXCIuL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS1jb2x1bW4uanNcIikuZGVmYXVsdCB8IGJvb2xlYW4+fSBhdHRyaWJ1dGVzIC0gQXR0cmlidXRlcyB0byBleHBvc2Ugb24gdGhlIGZyb250ZW5kIG1vZGVsLlxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gW2FiaWxpdGllc10gLSBBYmlsaXR5IGFjdGlvbiBsaXN0IChjYW1lbENhc2UgYWN0aW9uIG5hbWVzKS4gRGVmYXVsdHMgdG8gYFtcInJlYWRcIl1gIGZvciBgZmluZGAgYW5kIGBpbmRleGAgd2hlbiBvbWl0dGVkLlxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBGcm9udGVuZE1vZGVsQXR0YWNobWVudENvbmZpZ3VyYXRpb24+fSBbYXR0YWNobWVudHNdIC0gQXR0YWNobWVudCBoZWxwZXJzIGtleWVkIGJ5IGF0dGFjaG1lbnQgbmFtZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFtjb21tYW5kc10gLSBMZWdhY3kgYnVpbHQtaW4gY29tbWFuZCBuYW1lcyAoYGluZGV4YCwgYGZpbmRgLCBgY3JlYXRlYCwgYHVwZGF0ZWAsIGBkZXN0cm95YCwgYGF0dGFjaGAsIGBkb3dubG9hZGAsIGB1cmxgKS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFtjb2xsZWN0aW9uQ29tbWFuZHNdIC0gQ3VzdG9tIGNvbGxlY3Rpb24gY29tbWFuZHMgYXMgY2FtZWxDYXNlIG1ldGhvZCBuYW1lcy4gVGhlIHJ1bnRpbWUgZGVyaXZlcyB0aGUga2ViYWItY2FzZSBjb21tYW5kIHNsdWcgZnJvbSBlYWNoIG5hbWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBbbWVtYmVyQ29tbWFuZHNdIC0gQ3VzdG9tIG1lbWJlciBjb21tYW5kcyBhcyBjYW1lbENhc2UgbWV0aG9kIG5hbWVzLiBUaGUgcnVudGltZSBkZXJpdmVzIHRoZSBrZWJhYi1jYXNlIGNvbW1hbmQgc2x1ZyBmcm9tIGVhY2ggbmFtZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFtidWlsdEluQ29sbGVjdGlvbkNvbW1hbmRzXSAtIEJ1aWx0LWluIGNvbGxlY3Rpb24gY29tbWFuZCBuYW1lcyAoYGluZGV4YCwgYGNyZWF0ZWApLlxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gW2J1aWx0SW5NZW1iZXJDb21tYW5kc10gLSBCdWlsdC1pbiBtZW1iZXIgY29tbWFuZCBuYW1lcyAoYGZpbmRgLCBgdXBkYXRlYCwgYGRlc3Ryb3lgLCBgYXR0YWNoYCwgYGRvd25sb2FkYCwgYHVybGApLlxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gW3JlbGF0aW9uc2hpcHNdIC0gUmVsYXRpb25zaGlwIG5hbWVzIHRvIGV4cG9zZSBpbiBmcm9udGVuZCBtb2RlbHMuIFR5cGUgYW5kIHRhcmdldCBtb2RlbCBhcmUgaW5mZXJyZWQgZnJvbSB0aGUgYmFja2VuZCBtb2RlbCdzIHJlZ2lzdGVyZWQgcmVsYXRpb25zaGlwcy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcHJpbWFyeUtleV0gLSBQcmltYXJ5IGtleSBhdHRyaWJ1dGUgbmFtZS5cbiAqIEBwcm9wZXJ0eSB7RnJvbnRlbmRNb2RlbFJlc291cmNlU2VydmVyQ29uZmlndXJhdGlvbn0gW3NlcnZlcl0gLSBPcHRpb25hbCBsZWdhY3kgYmFja2VuZCBiZWhhdmlvciBvdmVycmlkZXMgZm9yIGJ1aWx0LWluIGZyb250ZW5kIGFjdGlvbnMuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7T21pdDxGcm9udGVuZE1vZGVsUmVzb3VyY2VDb25maWd1cmF0aW9uLCBcImFiaWxpdGllc1wiIHwgXCJidWlsdEluQ29sbGVjdGlvbkNvbW1hbmRzXCIgfCBcImJ1aWx0SW5NZW1iZXJDb21tYW5kc1wiIHwgXCJjb2xsZWN0aW9uQ29tbWFuZHNcIiB8IFwiY29tbWFuZHNcIiB8IFwibWVtYmVyQ29tbWFuZHNcIj4gJiB7XG4gKiAgIGFiaWxpdGllczogRnJvbnRlbmRNb2RlbFJlc291cmNlQWJpbGl0aWVzQ29uZmlndXJhdGlvblxuICogICBidWlsdEluQ29sbGVjdGlvbkNvbW1hbmRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gKiAgIGJ1aWx0SW5NZW1iZXJDb21tYW5kczogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICogICBjb2xsZWN0aW9uQ29tbWFuZHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAqICAgbWVtYmVyQ29tbWFuZHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAqIH19IE5vcm1hbGl6ZWRGcm9udGVuZE1vZGVsUmVzb3VyY2VDb25maWd1cmF0aW9uXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7dHlwZW9mIGltcG9ydChcIi4vZnJvbnRlbmQtbW9kZWwtcmVzb3VyY2UvYmFzZS1yZXNvdXJjZS5qc1wiKS5kZWZhdWx0fSBGcm9udGVuZE1vZGVsUmVzb3VyY2VDbGFzc1R5cGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtGcm9udGVuZE1vZGVsUmVzb3VyY2VDbGFzc1R5cGV9IEZyb250ZW5kTW9kZWxSZXNvdXJjZURlZmluaXRpb25cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEZyb250ZW5kTW9kZWxSZXNvdXJjZUFiaWxpdGllc0NvbmZpZ3VyYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbaW5kZXhdIC0gQWJpbGl0eSBhY3Rpb24gZm9yIGZyb250ZW5kIGluZGV4LlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtmaW5kXSAtIEFiaWxpdHkgYWN0aW9uIGZvciBmcm9udGVuZCBmaW5kLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjcmVhdGVdIC0gQWJpbGl0eSBhY3Rpb24gZm9yIGZyb250ZW5kIGNyZWF0ZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbdXBkYXRlXSAtIEFiaWxpdHkgYWN0aW9uIGZvciBmcm9udGVuZCB1cGRhdGUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2Rlc3Ryb3ldIC0gQWJpbGl0eSBhY3Rpb24gZm9yIGZyb250ZW5kIGRlc3Ryb3kuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBGcm9udGVuZE1vZGVsUmVzb3VyY2VTZXJ2ZXJDb25maWd1cmF0aW9uXG4gKiBAcHJvcGVydHkge2Z1bmN0aW9uKHthY3Rpb246IFwiaW5kZXhcIiB8IFwiZmluZFwiIHwgXCJjcmVhdGVcIiB8IFwidXBkYXRlXCIgfCBcImRlc3Ryb3lcIiB8IFwiYXR0YWNoXCIgfCBcImRvd25sb2FkXCIgfCBcInVybFwiLCBjb250cm9sbGVyOiBpbXBvcnQoXCIuL2NvbnRyb2xsZXIuanNcIikuZGVmYXVsdCwgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBtb2RlbENsYXNzOiB0eXBlb2YgaW1wb3J0KFwiLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0pIDogKGJvb2xlYW4gfCB2b2lkIHwgUHJvbWlzZTxib29sZWFuIHwgdm9pZD4pfSBbYmVmb3JlQWN0aW9uXSAtIE9wdGlvbmFsIGNhbGxiYWNrIHJ1biBiZWZvcmUgYnVpbHQtaW4gZnJvbnRlbmQgYWN0aW9ucy5cbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe2FjdGlvbjogXCJpbmRleFwiLCBjb250cm9sbGVyOiBpbXBvcnQoXCIuL2NvbnRyb2xsZXIuanNcIikuZGVmYXVsdCwgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBtb2RlbENsYXNzOiB0eXBlb2YgaW1wb3J0KFwiLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0pIDogUHJvbWlzZTxpbXBvcnQoXCIuL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0W10+fSBbcmVjb3Jkc10gLSBSZWNvcmRzIGxvYWRlciBmb3IgZnJvbnRlbmRJbmRleC5cbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe2FjdGlvbjogXCJpbmRleFwiIHwgXCJmaW5kXCIgfCBcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIiwgY29udHJvbGxlcjogaW1wb3J0KFwiLi9jb250cm9sbGVyLmpzXCIpLmRlZmF1bHQsIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiwgbW9kZWxDbGFzczogdHlwZW9mIGltcG9ydChcIi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQsIG1vZGVsOiBpbXBvcnQoXCIuL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSkgOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn0gW3NlcmlhbGl6ZV0gLSBSZWNvcmQgc2VyaWFsaXplciBmb3IgcmVzcG9uc2UgcGF5bG9hZHMuXG4gKiBAcHJvcGVydHkge2Z1bmN0aW9uKHthY3Rpb246IFwiZmluZFwiIHwgXCJ1cGRhdGVcIiB8IFwiZGVzdHJveVwiIHwgXCJhdHRhY2hcIiB8IFwiZG93bmxvYWRcIiB8IFwidXJsXCIsIGNvbnRyb2xsZXI6IGltcG9ydChcIi4vY29udHJvbGxlci5qc1wiKS5kZWZhdWx0LCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4sIG1vZGVsQ2xhc3M6IHR5cGVvZiBpbXBvcnQoXCIuL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0LCBpZDogc3RyaW5nIHwgbnVtYmVyfSkgOiBQcm9taXNlPGltcG9ydChcIi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQgfCBudWxsPn0gW2ZpbmRdIC0gUmVjb3JkIGxvYWRlciBmb3IgZmluZC91cGRhdGUvZGVzdHJveS9hdHRhY2gvZG93bmxvYWQvdXJsIGFjdGlvbnMuXG4gKiBAcHJvcGVydHkge2Z1bmN0aW9uKHthY3Rpb246IFwiY3JlYXRlXCIsIGNvbnRyb2xsZXI6IGltcG9ydChcIi4vY29udHJvbGxlci5qc1wiKS5kZWZhdWx0LCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4sIG1vZGVsQ2xhc3M6IHR5cGVvZiBpbXBvcnQoXCIuL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0LCBhdHRyaWJ1dGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+fSkgOiBQcm9taXNlPGltcG9ydChcIi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQ+fSBbY3JlYXRlXSAtIEN1c3RvbSBjcmVhdGUgY2FsbGJhY2suXG4gKiBAcHJvcGVydHkge2Z1bmN0aW9uKHthY3Rpb246IFwidXBkYXRlXCIsIGNvbnRyb2xsZXI6IGltcG9ydChcIi4vY29udHJvbGxlci5qc1wiKS5kZWZhdWx0LCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4sIG1vZGVsQ2xhc3M6IHR5cGVvZiBpbXBvcnQoXCIuL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0LCBtb2RlbDogaW1wb3J0KFwiLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdCwgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgYW55Pn0pIDogUHJvbWlzZTxpbXBvcnQoXCIuL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0IHwgdm9pZD59IFt1cGRhdGVdIC0gQ3VzdG9tIHVwZGF0ZSBjYWxsYmFjay5cbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe2FjdGlvbjogXCJkZXN0cm95XCIsIGNvbnRyb2xsZXI6IGltcG9ydChcIi4vY29udHJvbGxlci5qc1wiKS5kZWZhdWx0LCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4sIG1vZGVsQ2xhc3M6IHR5cGVvZiBpbXBvcnQoXCIuL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0LCBtb2RlbDogaW1wb3J0KFwiLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0pIDogUHJvbWlzZTx2b2lkPn0gW2Rlc3Ryb3ldIC0gQ3VzdG9tIGRlc3Ryb3kgY2FsbGJhY2suXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBCYWNrZW5kUHJvamVjdENvbmZpZ3VyYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBwYXRoIC0gUGF0aCB0byB0aGUgYmFja2VuZCBwcm9qZWN0LlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtmcm9udGVuZE1vZGVsc091dHB1dFBhdGhdIC0gT3B0aW9uYWwgb3V0cHV0IHByb2plY3QgcGF0aCB3aGVyZSBgc3JjL2Zyb250ZW5kLW1vZGVsc2Agc2hvdWxkIGJlIGdlbmVyYXRlZC5cbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgRnJvbnRlbmRNb2RlbFJlc291cmNlRGVmaW5pdGlvbj59IFtmcm9udGVuZE1vZGVsc10gLSBBdXRvLWRpc2NvdmVyZWQgZnJvbnRlbmQgbW9kZWwgZGVmaW5pdGlvbnMga2V5ZWQgYnkgbW9kZWwgY2xhc3MgbmFtZS4gU2V0IGludGVybmFsbHkgYnkgdGhlIGVudmlyb25tZW50IGhhbmRsZXIg4oCUIGRvIG5vdCBzZXQgbWFudWFsbHkuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBSb3V0ZVJlc29sdmVySG9va0FyZ3NcbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBwYXJhbXMgLSBNdXRhYmxlIHJlcXVlc3QgcGFyYW1zIG9iamVjdC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBjdXJyZW50UGF0aCAtIFJlcXVlc3QgcGF0aCB3aXRob3V0IHF1ZXJ5LlxuICogQHByb3BlcnR5IHtib29sZWFufSBbaGFzTWF0Y2hpbmdDdXN0b21Sb3V0ZV0gLSBUcnVlIHdoZW4gbWF0Y2hpbmcgYSBjb25maWd1cmVkIGN1c3RvbSByb3V0ZS5cbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qc1wiKS5kZWZhdWx0IHwgaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvd2Vic29ja2V0LXJlcXVlc3QuanNcIikuZGVmYXVsdH0gcmVxdWVzdCAtIFJlcXVlc3Qgb2JqZWN0LlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC9yZXNwb25zZS5qc1wiKS5kZWZhdWx0fSByZXNwb25zZSAtIFJlc3BvbnNlIG9iamVjdC5cbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi9yb3V0ZXMvcmVzb2x2ZXIuanNcIikuZGVmYXVsdH0gcmVzb2x2ZXIgLSBSZXNvbHZlciBpbnN0YW5jZS5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFJvdXRlUmVzb2x2ZXJIb29rUmVzdWx0XG4gKiBAcHJvcGVydHkge3N0cmluZ30gYWN0aW9uIC0gRGFzaGVyaXplZCBhY3Rpb24gbmFtZSAoZm9yIGV4YW1wbGUgYGZyb250ZW5kLWluZGV4YCkuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gY29udHJvbGxlciAtIENvbnRyb2xsZXIgcGF0aCAoZm9yIGV4YW1wbGUgYGFjY291bnRzYCkuXG4gKiBAcHJvcGVydHkge3R5cGVvZiBpbXBvcnQoXCIuL2NvbnRyb2xsZXIuanNcIikuZGVmYXVsdH0gW2NvbnRyb2xsZXJDbGFzc10gLSBPcHRpb25hbCBjb250cm9sbGVyIGNsYXNzIG92ZXJyaWRlLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjb250cm9sbGVyUGF0aF0gLSBPcHRpb25hbCBhYnNvbHV0ZS9yZWxhdGl2ZSBjb250cm9sbGVyIGZpbGUgcGF0aCBvdmVycmlkZS5cbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW3BhcmFtc10gLSBFeHRyYSBwYXJhbXMgdG8gbWVyZ2UgZm9yIGNvbnRyb2xsZXIvYWN0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbc2tpcEFiaWxpdHlSZXNvbHV0aW9uXSAtIFdoZXRoZXIgdG8gcnVuIHRoZSBjb250cm9sbGVyIGFjdGlvbiB3aXRob3V0IHJlc29sdmluZyByZXF1ZXN0IGFiaWxpdHkuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtza2lwQ29udHJvbGxlckNvbm5lY3Rpb25zXSAtIFdoZXRoZXIgdG8gcnVuIHRoZSBjb250cm9sbGVyIGFjdGlvbiB3aXRob3V0IHRoZSBhdXRvbWF0aWMgZGF0YWJhc2UgY2hlY2tvdXQgd3JhcHBlci5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3NraXBUZW5hbnRSZXNvbHV0aW9uXSAtIFdoZXRoZXIgdG8gcnVuIHRoZSBjb250cm9sbGVyIGFjdGlvbiB3aXRob3V0IHJlc29sdmluZyByZXF1ZXN0IHRlbmFudC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbdmlld1BhdGhdIC0gT3B0aW9uYWwgdmlldyBwYXRoIG92ZXJyaWRlIHVzZWQgYnkgY29udHJvbGxlciByZW5kZXIgbG9va3Vwcy5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtmdW5jdGlvbihSb3V0ZVJlc29sdmVySG9va0FyZ3MpIDogUm91dGVSZXNvbHZlckhvb2tSZXN1bHQgfCBudWxsIHwgUHJvbWlzZTxSb3V0ZVJlc29sdmVySG9va1Jlc3VsdCB8IG51bGw+fSBSb3V0ZVJlc29sdmVySG9va1R5cGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHt0eXBlb2YgaW1wb3J0KFwiLi9hdXRob3JpemF0aW9uL2Jhc2UtcmVzb3VyY2UuanNcIikuZGVmYXVsdH0gQWJpbGl0eVJlc291cmNlQ2xhc3NUeXBlXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7ZnVuY3Rpb24oe2NvbmZpZ3VyYXRpb246IGltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0LCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4sIHJlcXVlc3Q6IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QuanNcIikuZGVmYXVsdCB8IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1yZXF1ZXN0LmpzXCIpLmRlZmF1bHQsIHJlc3BvbnNlOiBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC9yZXNwb25zZS5qc1wiKS5kZWZhdWx0fSkgOiBpbXBvcnQoXCIuL2F1dGhvcml6YXRpb24vYWJpbGl0eS5qc1wiKS5kZWZhdWx0IHwgdm9pZCB8IFByb21pc2U8aW1wb3J0KFwiLi9hdXRob3JpemF0aW9uL2FiaWxpdHkuanNcIikuZGVmYXVsdCB8IHZvaWQ+fSBBYmlsaXR5UmVzb2x2ZXJUeXBlXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7ZnVuY3Rpb24oe2NvbmZpZ3VyYXRpb246IGltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0LCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4sIHJlcXVlc3Q6IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3JlcXVlc3QuanNcIikuZGVmYXVsdCB8IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1yZXF1ZXN0LmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWQsIHJlc3BvbnNlOiBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC9yZXNwb25zZS5qc1wiKS5kZWZhdWx0IHwgdW5kZWZpbmVkLCBzdWJzY3JpcHRpb24/OiB7Y2hhbm5lbDogc3RyaW5nLCBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn19KSA6IHVua25vd24gfCB2b2lkIHwgUHJvbWlzZTx1bmtub3duIHwgdm9pZD59IFRlbmFudFJlc29sdmVyVHlwZVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2Z1bmN0aW9uKHtjb25maWd1cmF0aW9uOiBpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdCwgZGF0YWJhc2VDb25maWd1cmF0aW9uOiBEYXRhYmFzZUNvbmZpZ3VyYXRpb25UeXBlLCBpZGVudGlmaWVyOiBzdHJpbmcsIHRlbmFudDogdW5rbm93bn0pIDogRGF0YWJhc2VDb25maWd1cmF0aW9uVHlwZSB8IFBhcnRpYWw8RGF0YWJhc2VDb25maWd1cmF0aW9uVHlwZT4gfCB2b2lkfSBUZW5hbnREYXRhYmFzZVJlc29sdmVyVHlwZVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gRGVidWdFbmRwb2ludENvbmZpZ3VyYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcGF0aF0gLSBIVFRQIHBhdGggZm9yIHRoZSBidWlsdC1pbiBkZWJ1ZyBlbmRwb2ludC4gRGVmYXVsdHMgdG8gYC92ZWxvY2lvdXMvZGVidWdgLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt0b2tlbl0gLSBCZWFyZXIgdG9rZW4gcmVxdWlyZWQgaW4gdGhlIGBBdXRob3JpemF0aW9uOiBCZWFyZXIgPHRva2VuPmAgaGVhZGVyLiBXaGVuIHNldCwgcmVxdWVzdHMgd2l0aG91dCBhIG1hdGNoaW5nIHRva2VuIGFyZSBub3Qgcm91dGVkICg0MDQpLCBzbyB0aGUgZW5kcG9pbnQgc3RheXMgaGlkZGVuLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gVGVuYW50RGF0YWJhc2VQcm92aWRlclR5cGVcbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe2NvbmZpZ3VyYXRpb246IGltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0LCBpZGVudGlmaWVyOiBzdHJpbmd9KSA6IHVua25vd25bXSB8IFByb21pc2U8dW5rbm93bltdPn0gbGlzdFRlbmFudHMgLSBMaXN0cyB0ZW5hbnRzIHRoYXQgc2hvdWxkIGJlIGNyZWF0ZWQsIGNoZWNrZWQsIG9yIG1pZ3JhdGVkIGZvciB0aGlzIGRhdGFiYXNlIGlkZW50aWZpZXIuXG4gKiBAcHJvcGVydHkge2Z1bmN0aW9uKHtjb25maWd1cmF0aW9uOiBpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdCwgZGF0YWJhc2VDb25maWd1cmF0aW9uOiBEYXRhYmFzZUNvbmZpZ3VyYXRpb25UeXBlLCBpZGVudGlmaWVyOiBzdHJpbmcsIHRlbmFudDogdW5rbm93bn0pIDogdm9pZCB8IFByb21pc2U8dm9pZD59IFtjcmVhdGVEYXRhYmFzZV0gLSBDcmVhdGVzIHRoZSB0ZW5hbnQgZGF0YWJhc2Uvc2NoZW1hIGZvciBvbmUgdGVuYW50LlxuICogQHByb3BlcnR5IHtmdW5jdGlvbih7Y29uZmlndXJhdGlvbjogaW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHQsIGRhdGFiYXNlQ29uZmlndXJhdGlvbjogRGF0YWJhc2VDb25maWd1cmF0aW9uVHlwZSwgaWRlbnRpZmllcjogc3RyaW5nLCB0ZW5hbnQ6IHVua25vd259KSA6IHZvaWQgfCBQcm9taXNlPHZvaWQ+fSBbZHJvcERhdGFiYXNlXSAtIERyb3BzIHRoZSB0ZW5hbnQgZGF0YWJhc2Uvc2NoZW1hIGZvciBvbmUgdGVuYW50LlxuICogQHByb3BlcnR5IHtmdW5jdGlvbih7Y29uZmlndXJhdGlvbjogaW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHQsIGRhdGFiYXNlQ29uZmlndXJhdGlvbjogRGF0YWJhc2VDb25maWd1cmF0aW9uVHlwZSwgaWRlbnRpZmllcjogc3RyaW5nLCB0ZW5hbnQ6IHVua25vd259KSA6IHZvaWQgfCBQcm9taXNlPHZvaWQ+fSBbY2hlY2tUZW5hbnRdIC0gQ2hlY2tzIG9uZSB0ZW5hbnQgZGF0YWJhc2UgYmVmb3JlIGdlbmVyaWMgY29ubmVjdGlvbiB2YWxpZGF0aW9uLlxuICogQHByb3BlcnR5IHtmdW5jdGlvbih7Y29uZmlndXJhdGlvbjogaW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHQsIGRhdGFiYXNlQ29uZmlndXJhdGlvbjogRGF0YWJhc2VDb25maWd1cmF0aW9uVHlwZSwgaWRlbnRpZmllcjogc3RyaW5nLCBtaWdyYXRpb25zQXBwbGllZDogbnVtYmVyLCB0ZW5hbnQ6IHVua25vd259KSA6IHZvaWQgfCBQcm9taXNlPHZvaWQ+fSBbYWZ0ZXJNaWdyYXRlVGVuYW50XSAtIFJ1bnMgYXBwLW93bmVkIHRlbmFudCB3b3JrIGFmdGVyIGdlbmVyaWMgbWlncmF0aW9ucyBmb3Igb25lIHRlbmFudC4gYG1pZ3JhdGlvbnNBcHBsaWVkYCBpcyBob3cgbWFueSBtaWdyYXRpb25zIGFjdHVhbGx5IHJhbiAoMCB3aGVuIHRoZSB0ZW5hbnQgd2FzIGFscmVhZHkgdXAgdG8gZGF0ZSksIHNvIHRoZSBhcHAgY2FuIHNraXAgZXhwZW5zaXZlIHBlci10ZW5hbnQgd29yayBvbiBuby1vcCBkZXBsb3lzLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQ29uZmlndXJhdGlvbkFyZ3NUeXBlXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFthdXRvbG9hZF0gLSBHbG9iYWxseSBlbmFibGUgYXV0by1iYXRjaC1wcmVsb2FkIG9mIHJlbGF0aW9uc2hpcHMgb24gbGF6eSBhY2Nlc3MuIERlZmF1bHQgdHJ1ZS5cbiAqIEBwcm9wZXJ0eSB7Q29yc1R5cGV9IFtjb3JzXSAtIENPUlMgY29uZmlndXJhdGlvbiBmb3IgdGhlIEhUVFAgc2VydmVyLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjb29raWVTZWNyZXRdIC0gU2VjcmV0IGZvciBlbmNyeXB0aW5nIGNvb2tpZXMuXG4gKiBAcHJvcGVydHkge0FiaWxpdHlSZXNvdXJjZUNsYXNzVHlwZVtdfSBbYWJpbGl0eVJlc291cmNlc10gLSBSZXNvdXJjZSBjbGFzc2VzIHVzZWQgdG8gZGVmaW5lIGFiaWxpdGllcyBwZXIgbW9kZWwuXG4gKiBAcHJvcGVydHkge0FiaWxpdHlSZXNvbHZlclR5cGV9IFthYmlsaXR5UmVzb2x2ZXJdIC0gUmVzb2x2ZXIgZm9yIGNyZWF0aW5nIHJlcXVlc3Qtc2NvcGVkIGFiaWxpdHkgaW5zdGFuY2VzLlxuICogQHByb3BlcnR5IHtBdHRhY2htZW50c0NvbmZpZ3VyYXRpb259IFthdHRhY2htZW50c10gLSBBdHRhY2htZW50IHN0b3JhZ2UgY29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7QmFja2VuZFByb2plY3RDb25maWd1cmF0aW9uW119IFtiYWNrZW5kUHJvamVjdHNdIC0gQmFja2VuZCBwcm9qZWN0IGRlZmluaXRpb25zIHVzZWQgZm9yIGZyb250ZW5kIG1vZGVsIGdlbmVyYXRpb24uXG4gKiBAcHJvcGVydHkge3tba2V5OiBzdHJpbmddOiB7W2tleTogc3RyaW5nXTogRGF0YWJhc2VDb25maWd1cmF0aW9uVHlwZX19fSBkYXRhYmFzZSAtIERhdGFiYXNlIGNvbmZpZ3VyYXRpb25zIGtleWVkIGJ5IGVudmlyb25tZW50IGFuZCBpZGVudGlmaWVyLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbZGVidWddIC0gRW5hYmxlIGRlYnVnIGxvZ2dpbmcuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW4gfCBEZWJ1Z0VuZHBvaW50Q29uZmlndXJhdGlvbn0gW2RlYnVnRW5kcG9pbnRdIC0gRW5hYmxlIHRoZSBidWlsdC1pbiBkZWJ1ZyBlbmRwb2ludC4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2RpcmVjdG9yeV0gLSBCYXNlIGRpcmVjdG9yeSBmb3IgdGhlIHByb2plY3QuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtlbmZvcmNlVGVuYW50RGF0YWJhc2VTY29wZXNdIC0gUmVxdWlyZSB0ZW5hbnQtc3dpdGNoZWQgbW9kZWwgcXVlcmllcyB0byByZXNvbHZlIGEgdGVuYW50IGRhdGFiYXNlIGlkZW50aWZpZXIuIERlZmF1bHRzIHRvIHRydWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2Vudmlyb25tZW50XSAtIEN1cnJlbnQgZW52aXJvbm1lbnQgbmFtZS5cbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi9lbnZpcm9ubWVudC1oYW5kbGVycy9iYXNlLmpzXCIpLmRlZmF1bHR9IGVudmlyb25tZW50SGFuZGxlciAtIEVudmlyb25tZW50IGhhbmRsZXIgaW5zdGFuY2UuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtleHBvc2VJbnRlcm5hbEVycm9yc1RvQ2xpZW50c10gLSBSZXR1cm4gdW5leHBlY3RlZCBpbnRlcm5hbCBlcnJvciBkZXRhaWxzIGluIGNsaWVudCBBUEkgcGF5bG9hZHMgb3V0c2lkZSBwcm9kdWN0aW9uLiBEZWZhdWx0cyB0byBmYWxzZS5cbiAqIEBwcm9wZXJ0eSB7SHR0cFNlcnZlckNvbmZpZ3VyYXRpb259IFtodHRwU2VydmVyXSAtIERlZmF1bHQgSFRUUCBzZXJ2ZXIgY29uZmlndXJhdGlvbiBmb3IgYXBwbGljYXRpb25zIHN0YXJ0ZWQgZnJvbSB0aGlzIGNvbmZpZ3VyYXRpb24uXG4gKiBAcHJvcGVydHkge0xvZ2dpbmdDb25maWd1cmF0aW9ufSBbbG9nZ2luZ10gLSBMb2dnaW5nIGNvbmZpZ3VyYXRpb24uXG4gKiBAcHJvcGVydHkge0JhY2tncm91bmRKb2JzQ29uZmlndXJhdGlvbn0gW2JhY2tncm91bmRKb2JzXSAtIEJhY2tncm91bmQgam9icyBjb25maWd1cmF0aW9uLlxuICogQHByb3BlcnR5IHtCZWFjb25Db25maWd1cmF0aW9ufSBbYmVhY29uXSAtIEJlYWNvbiBicm9hZGNhc3QgYnVzIGNvbmZpZ3VyYXRpb24uXG4gKiBAcHJvcGVydHkge1NjaGVkdWxlZEJhY2tncm91bmRKb2JzQ29uZmlndXJhdGlvbiB8IFNjaGVkdWxlZEJhY2tncm91bmRKb2JzTG9hZGVyVHlwZX0gW3NjaGVkdWxlZEJhY2tncm91bmRKb2JzXSAtIFNjaGVkdWxlZCBiYWNrZ3JvdW5kIGpvYnMgY29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7TWFpbGVyQmFja2VuZH0gW21haWxlckJhY2tlbmRdIC0gTWFpbCBkZWxpdmVyeSBiYWNrZW5kLlxuICogQHByb3BlcnR5IHtmdW5jdGlvbih7Y29uZmlndXJhdGlvbjogaW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHQsIHR5cGU6IHN0cmluZ30pIDogdm9pZH0gaW5pdGlhbGl6ZU1vZGVscyAtIEhvb2sgdG8gcmVnaXN0ZXIgbW9kZWxzIGZvciBhIGdpdmVuIGluaXRpYWxpemF0aW9uIHR5cGUuXG4gKiBAcHJvcGVydHkge0luaXRpYWxpemVyc1R5cGV9IFtpbml0aWFsaXplcnNdIC0gSW5pdGlhbGl6ZXIgbG9hZGVyIGZvciBlbnZpcm9ubWVudCBib290c3RyYXBwaW5nLlxuICogQHByb3BlcnR5IHtzdHJpbmcgfCBmdW5jdGlvbigpIDogc3RyaW5nfSBsb2NhbGUgLSBEZWZhdWx0IGxvY2FsZSBvciBsb2NhbGUgcmVzb2x2ZXIuXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBsb2NhbGVzIC0gU3VwcG9ydGVkIGxvY2FsZXMuXG4gKiBAcHJvcGVydHkge0xvY2FsZUZhbGxiYWNrc1R5cGV9IGxvY2FsZUZhbGxiYWNrcyAtIExvY2FsZSBmYWxsYmFjayBtYXAuXG4gKiBAcHJvcGVydHkge1N0cnVjdHVyZVNxbENvbmZpZ3VyYXRpb259IFtzdHJ1Y3R1cmVTcWxdIC0gU3RydWN0dXJlIFNRTCBnZW5lcmF0aW9uIGNvbmZpZ3VyYXRpb24uXG4gKiBAcHJvcGVydHkge1RlbmFudFJlc29sdmVyVHlwZX0gW3RlbmFudFJlc29sdmVyXSAtIFJlc29sdmVyIGZvciBjcmVhdGluZyByZXF1ZXN0LXNjb3BlZCB0ZW5hbnQgY29udGV4dCBvYmplY3RzLlxuICogQHByb3BlcnR5IHtUZW5hbnREYXRhYmFzZVJlc29sdmVyVHlwZX0gW3RlbmFudERhdGFiYXNlUmVzb2x2ZXJdIC0gUmVzb2x2ZXIgZm9yIGRlcml2aW5nIHRlbmFudC1zcGVjaWZpYyBkYXRhYmFzZSBjb25maWcgb3ZlcnJpZGVzLlxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBUZW5hbnREYXRhYmFzZVByb3ZpZGVyVHlwZT59IFt0ZW5hbnREYXRhYmFzZVByb3ZpZGVyc10gLSBUZW5hbnQgZGF0YWJhc2UgbGlmZWN5Y2xlIHByb3ZpZGVycyBrZXllZCBieSBkYXRhYmFzZSBpZGVudGlmaWVyLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt0ZXN0aW5nXSAtIFBhdGggdG8gdGhlIHRlc3RpbmcgY29uZmlndXJhdGlvbiBmaWxlLlxuICogQHByb3BlcnR5IHtudW1iZXIgfCAoKCkgPT4gbnVtYmVyKX0gW3RpbWV6b25lT2Zmc2V0TWludXRlc10gLSBEZWZhdWx0IHRpbWV6b25lIG9mZnNldCBpbiBtaW51dGVzLlxuICogQHByb3BlcnR5IHtzdHJpbmcgfCBzdHJpbmdbXX0gW3RydXN0ZWRQcm94aWVzXSAtIFRydXN0ZWQgcmV2ZXJzZSBwcm94eSBhZGRyZXNzIHJhbmdlcyB1c2VkIHRvIHJlc29sdmUgcmVxdWVzdCByZW1vdGUgYWRkcmVzc2VzIGZyb20gZm9yd2FyZGluZyBoZWFkZXJzLlxuICogQHByb3BlcnR5IHtudW1iZXIgfCAoKCkgPT4gbnVtYmVyKX0gW3JlcXVlc3RUaW1lb3V0TXNdIC0gVGltZW91dCBpbiBzZWNvbmRzIGZvciBjb21wbGV0aW5nIGEgSFRUUCByZXF1ZXN0LlxuICogQHByb3BlcnR5IHtSb3V0ZVJlc29sdmVySG9va1R5cGVbXX0gW3JvdXRlUmVzb2x2ZXJIb29rc10gLSBIb29rIGNhbGxiYWNrcyB0aGF0IGNhbiBoaWphY2sgdW5yZXNvbHZlZCByb3V0ZXMuXG4gKiBAcHJvcGVydHkge1dlYnNvY2tldENoYW5uZWxSZXNvbHZlclR5cGV9IFt3ZWJzb2NrZXRDaGFubmVsUmVzb2x2ZXJdIC0gUmVzb2x2ZSBhIHdlYnNvY2tldCBjaGFubmVsIGNsYXNzL2luc3RhbmNlIGZvciBlYWNoIGNvbm5lY3Rpb24uXG4gKiBAcHJvcGVydHkge1dlYnNvY2tldE1lc3NhZ2VIYW5kbGVyUmVzb2x2ZXJUeXBlfSBbd2Vic29ja2V0TWVzc2FnZUhhbmRsZXJSZXNvbHZlcl0gLSBSZXNvbHZlIGEgcmF3IHdlYnNvY2tldCBtZXNzYWdlIGhhbmRsZXIgZm9yIGVhY2ggY29ubmVjdGlvbi5cbiAqL1xuXG5leHBvcnQgY29uc3Qgbm90aGluZyA9IHt9XG4iXX0=
372
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWd1cmF0aW9uLXR5cGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUVIOztHQUVHO0FBRUg7O0dBRUc7QUFFSDs7Ozs7O0dBTUc7QUFFSDs7R0FFRztBQUVIOzs7Ozs7OztHQVFHO0FBRUg7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUg7Ozs7R0FJRztBQUVIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUVIOztHQUVHO0FBRUg7Ozs7OztHQU1HO0FBRUg7Ozs7R0FJRztBQUVIOzs7O0dBSUc7QUFFSDs7R0FFRztBQUVIOzs7Ozs7Ozs7OztHQVdHO0FBRUg7Ozs7R0FJRztBQUVIOzs7Ozs7Ozs7OztHQVdHO0FBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFFSDs7Ozs7Ozs7R0FRRztBQUVIOzs7Ozs7O0dBT0c7QUFFSDs7OztHQUlHO0FBRUg7Ozs7Ozs7O0dBUUc7QUFFSDs7O0dBR0c7QUFFSDs7R0FFRztBQUVIOzs7OztHQUtHO0FBRUg7Ozs7OztHQU1HO0FBRUg7OztHQUdHO0FBR0g7O0dBRUc7QUFFSDs7Ozs7O0dBTUc7QUFFSDs7Ozs7Ozs7R0FRRztBQUVIOzs7R0FHRztBQUVIOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSDs7Ozs7Ozs7R0FRRztBQUVIOztHQUVHO0FBRUg7O0dBRUc7QUFFSDs7Ozs7OztHQU9HO0FBRUg7Ozs7Ozs7OztHQVNHO0FBRUg7Ozs7O0dBS0c7QUFFSDs7Ozs7Ozs7O0dBU0c7QUFFSDs7Ozs7Ozs7Ozs7R0FXRztBQUVIOztHQUVHO0FBRUg7O0dBRUc7QUFFSDs7R0FFRztBQUVIOztHQUVHO0FBRUg7O0dBRUc7QUFFSDs7OztHQUlHO0FBRUg7Ozs7Ozs7R0FPRztBQUVIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Q0c7QUFFSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogQG1vZHVsZSB0eXBlc1xuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2Z1bmN0aW9uKHtyZXF1ZXN0OiBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC9yZXF1ZXN0LmpzXCIpLmRlZmF1bHQgfCBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC93ZWJzb2NrZXQtcmVxdWVzdC5qc1wiKS5kZWZhdWx0LCByZXNwb25zZTogaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvcmVzcG9uc2UuanNcIikuZGVmYXVsdH0pOiBQcm9taXNlPHZvaWQ+fSBDb3JzVHlwZVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2Z1bmN0aW9uKHtyZXF1ZXN0OiBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC9yZXF1ZXN0LmpzXCIpLmRlZmF1bHQgfCBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC93ZWJzb2NrZXQtcmVxdWVzdC5qc1wiKS5kZWZhdWx0IHwgdW5kZWZpbmVkLCBzdWJzY3JpcHRpb24/OiB7Y2hhbm5lbDogc3RyaW5nLCBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0sIGNsaWVudDogaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvaW5kZXguanNcIikuZGVmYXVsdCwgd2Vic29ja2V0U2Vzc2lvbjogaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvd2Vic29ja2V0LXNlc3Npb24uanNcIikuZGVmYXVsdCwgY29uZmlndXJhdGlvbjogaW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9KTogdHlwZW9mIGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvd2Vic29ja2V0LWNoYW5uZWwuanNcIikuZGVmYXVsdCB8IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvd2Vic29ja2V0LWNoYW5uZWwuanNcIikuZGVmYXVsdCB8IHZvaWQgfCBQcm9taXNlPHR5cGVvZiBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL3dlYnNvY2tldC1jaGFubmVsLmpzXCIpLmRlZmF1bHQgfCBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL3dlYnNvY2tldC1jaGFubmVsLmpzXCIpLmRlZmF1bHQgfCB2b2lkPn0gV2Vic29ja2V0Q2hhbm5lbFJlc29sdmVyVHlwZVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gV2Vic29ja2V0TWVzc2FnZUhhbmRsZXJcbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe21lc3NhZ2U6IGFueSwgc2Vzc2lvbjogaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvd2Vic29ja2V0LXNlc3Npb24uanNcIikuZGVmYXVsdH0pIDogUHJvbWlzZTx2b2lkPiB8IHZvaWR9IFtvbk1lc3NhZ2VdIC0gSGFuZGxlciBmb3IgaW5jb21pbmcgd2Vic29ja2V0IG1lc3NhZ2VzLlxuICogQHByb3BlcnR5IHtmdW5jdGlvbih7c2Vzc2lvbjogaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvd2Vic29ja2V0LXNlc3Npb24uanNcIikuZGVmYXVsdH0pIDogUHJvbWlzZTx2b2lkPiB8IHZvaWR9IFtvbk9wZW5dIC0gSGFuZGxlciB3aGVuIHRoZSB3ZWJzb2NrZXQgc2Vzc2lvbiBvcGVucy5cbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe3Nlc3Npb246IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3dlYnNvY2tldC1zZXNzaW9uLmpzXCIpLmRlZmF1bHR9KSA6IFByb21pc2U8dm9pZD4gfCB2b2lkfSBbb25DbG9zZV0gLSBIYW5kbGVyIHdoZW4gdGhlIHdlYnNvY2tldCBzZXNzaW9uIGNsb3Nlcy5cbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe2Vycm9yOiBFcnJvciwgc2Vzc2lvbjogaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvd2Vic29ja2V0LXNlc3Npb24uanNcIikuZGVmYXVsdH0pIDogUHJvbWlzZTx2b2lkPiB8IHZvaWR9IFtvbkVycm9yXSAtIEhhbmRsZXIgd2hlbiBhIHdlYnNvY2tldCBtZXNzYWdlIGVycm9ycy5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtmdW5jdGlvbih7cmVxdWVzdDogaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qc1wiKS5kZWZhdWx0IHwgaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvd2Vic29ja2V0LXJlcXVlc3QuanNcIikuZGVmYXVsdCB8IHVuZGVmaW5lZCwgY2xpZW50OiBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC9pbmRleC5qc1wiKS5kZWZhdWx0LCBjb25maWd1cmF0aW9uOiBpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0pOiBXZWJzb2NrZXRNZXNzYWdlSGFuZGxlciB8IHZvaWQgfCBQcm9taXNlPFdlYnNvY2tldE1lc3NhZ2VIYW5kbGVyIHwgdm9pZD59IFdlYnNvY2tldE1lc3NhZ2VIYW5kbGVyUmVzb2x2ZXJUeXBlXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7KGlkOiBzdHJpbmcpID0+IHtkZWZhdWx0OiB0eXBlb2YgaW1wb3J0KFwiLi9pbml0aWFsaXplci5qc1wiKS5kZWZhdWx0fX0gSW5pdGlhbGl6ZXJzUmVxdWlyZUNvbnRleHRUeXBlXG4gKiBAdHlwZWRlZiB7SW5pdGlhbGl6ZXJzUmVxdWlyZUNvbnRleHRUeXBlICYge1xuICogICBrZXlzOiAoKSA9PiBzdHJpbmdbXSxcbiAqICAgaWQ6IHN0cmluZ1xuICogfX0gV2VicGFja1JlcXVpcmVDb250ZXh0XG4gKiBAdHlwZWRlZiB7e3JlcXVpcmVDb250ZXh0OiBXZWJwYWNrUmVxdWlyZUNvbnRleHR9fSBJbml0aWFsaXplcnNFeHBvcnRUeXBlXG4gKiBAdHlwZWRlZiB7ZnVuY3Rpb24oe2NvbmZpZ3VyYXRpb246IGltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSkgOiBQcm9taXNlPEluaXRpYWxpemVyc0V4cG9ydFR5cGU+fSBJbml0aWFsaXplcnNUeXBlXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTcWxDb25maWdcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGF0YWJhc2VdIC0gRGF0YWJhc2UgbmFtZSBmb3IgdGhlIFNRTCBkcml2ZXIuXG4gKiBAcHJvcGVydHkge29iamVjdH0gW29wdGlvbnNdIC0gRHJpdmVyLXNwZWNpZmljIGNvbm5lY3Rpb24gb3B0aW9ucy5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW29wdGlvbnMuZW5jcnlwdF0gLSBXaGV0aGVyIHRvIGVuY3J5cHQgdGhlIGNvbm5lY3Rpb24gKE1TU1FMKS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbb3B0aW9ucy5zY2hlbWFdIC0gRGVmYXVsdCBzY2hlbWEgZm9yIHVucXVhbGlmaWVkIHRhYmxlIGxvb2t1cHMgKE1TU1FMKS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbb3B0aW9ucy5zZXJ2ZXJOYW1lXSAtIFRMUyBTTkkgc2VydmVyIG5hbWUgb3ZlcnJpZGUgZm9yIE1TU1FMIChlbXB0eSBzdHJpbmcgZGlzYWJsZXMgU05JKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW29wdGlvbnMudHJ1c3RTZXJ2ZXJDZXJ0aWZpY2F0ZV0gLSBXaGV0aGVyIHRvIHRydXN0IHRoZSBzZXJ2ZXIgY2VydGlmaWNhdGUgKE1TU1FMKS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcGFzc3dvcmRdIC0gUGFzc3dvcmQgZm9yIHRoZSBTUUwgdXNlci5cbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBbcG9vbF0gLSBDb25uZWN0aW9uIHBvb2wgY29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbcG9vbC5tYXhdIC0gTWF4aW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMuXG4gKiBAcHJvcGVydHkge251bWJlcn0gW3Bvb2wubWluXSAtIE1pbmltdW0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtwb29sLmlkbGVUaW1lb3V0TWlsbGlzXSAtIElkbGUgdGltZW91dCBiZWZvcmUgcmVsZWFzaW5nIGEgY29ubmVjdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbc2VydmVyXSAtIFNRTCBzZXJ2ZXIgaG9zdG5hbWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3VzZXJdIC0gU1FMIHVzZXJuYW1lLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gRGF0YWJhc2VQb29sQ29uZmlndXJhdGlvblxuICogQHByb3BlcnR5IHtudW1iZXIgfCBudWxsfSBbaWRsZVRpbWVvdXRNaWxsaXNdIC0gSWRsZSB0aW1lb3V0IGJlZm9yZSBjbG9zaW5nIGEgY2hlY2tlZC1pbiBhc3luYy10cmFja2VkIGNvbm5lY3Rpb24uIFNldCBudWxsIHRvIGRpc2FibGUgaWRsZSByZWFwaW5nLiBEZWZhdWx0OiA1MDAwLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFttYXhdIC0gTWF4aW11bSBsaXZlIGFzeW5jLXRyYWNrZWQgY29ubmVjdGlvbnMgZm9yIHRoaXMgcG9vbC4gRXh0cmEgY2hlY2tvdXRzIHdhaXQgdW50aWwgYSBtYXRjaGluZyBjb25uZWN0aW9uIGlzIGNoZWNrZWQgaW4gb3IgY2FwYWNpdHkgaXMgZnJlZWQuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBEYXRhYmFzZUNvbmZpZ3VyYXRpb25UeXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2RhdGFiYXNlQ2hhcnNldF0gLSBEZWZhdWx0IGNoYXJhY3RlciBzZXQgYXBwbGllZCBieSBgZGI6Y3JlYXRlYCB2aWEgbXlzcWwvbWFyaWFkYiBgQ1JFQVRFIERBVEFCQVNFIC4uLiBDSEFSQUNURVIgU0VUYC4gRGlzdGluY3QgZnJvbSBgY2hhcnNldGAsIHdoaWNoIGlzIHRoZSBjbGllbnQgY29ubmVjdGlvbiBjaGFyc2V0IGZvcndhcmRlZCB0byB0aGUgbXlzcWwyIGRyaXZlci5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGF0YWJhc2VDb2xsYXRpb25dIC0gRGVmYXVsdCBjb2xsYXRpb24gYXBwbGllZCBieSBgZGI6Y3JlYXRlYCB2aWEgbXlzcWwvbWFyaWFkYiBgQ1JFQVRFIERBVEFCQVNFIC4uLiBDT0xMQVRFYC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGF0YWJhc2VdIC0gRGF0YWJhc2UgbmFtZSBmb3IgdGhpcyBjb25uZWN0aW9uLlxuICogQHByb3BlcnR5IHt0eXBlb2YgaW1wb3J0KFwiLi9kYXRhYmFzZS9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gW2RyaXZlcl0gLSBEcml2ZXIgY2xhc3MgdG8gdXNlIGZvciB0aGlzIGRhdGFiYXNlLlxuICogQHByb3BlcnR5IHt0eXBlb2YgaW1wb3J0KFwiLi9kYXRhYmFzZS9wb29sL2Jhc2UuanNcIikuZGVmYXVsdH0gW3Bvb2xUeXBlXSAtIFBvb2wgY2xhc3MgdG8gdXNlIGZvciB0aGlzIGRhdGFiYXNlLlxuICogQHByb3BlcnR5IHtmdW5jdGlvbigpIDogdW5rbm93bn0gW2dldENvbm5lY3Rpb25dIC0gQ3VzdG9tIGNvbm5lY3Rpb24gZmFjdG9yeSBvdmVycmlkZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbaG9zdF0gLSBEYXRhYmFzZSBob3N0LlxuICogQHByb3BlcnR5IHtib29sZWFufSBbbWlncmF0aW9uc10gLSBXaGV0aGVyIG1pZ3JhdGlvbnMgYXJlIGVuYWJsZWQgZm9yIHRoaXMgZGF0YWJhc2UuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3Bhc3N3b3JkXSAtIFBhc3N3b3JkIGZvciB0aGUgZGF0YWJhc2UgdXNlci5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbcG9ydF0gLSBEYXRhYmFzZSBwb3J0LlxuICogQHByb3BlcnR5IHtEYXRhYmFzZVBvb2xDb25maWd1cmF0aW9ufSBbcG9vbF0gLSBWZWxvY2lvdXMgZGF0YWJhc2UgcG9vbCBsaWZlY3ljbGUgY29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbmFtZV0gLSBGcmllbmRseSBuYW1lIGZvciB0aGUgY29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7KGZpbGU6IHN0cmluZykgPT4gc3RyaW5nfSBbbG9jYXRlRmlsZV0gLSBPcHRpb25hbCBzcWxpdGUtd2ViIHNxbC5qcyB3YXNtIHJlc29sdmVyIChgaW5pdFNxbEpzKHtsb2NhdGVGaWxlfSlgKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3JlYWRPbmx5XSAtIFdoZXRoZXIgd3JpdGVzIHNob3VsZCBiZSBibG9ja2VkIGZvciB0aGlzIGRhdGFiYXNlLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtzY2hlbWFdIC0gRGVmYXVsdCBzY2hlbWEgZm9yIHVucXVhbGlmaWVkIHRhYmxlIGxvb2t1cHMgKE1TU1FMKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3NjaGVtYUNhY2hlXSAtIFdoZXRoZXIgc2NoZW1hIG1ldGFkYXRhIHNob3VsZCBiZSBjYWNoZWQgb24gdGhlIGRyaXZlci4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBbcmVjb3JkXSAtIFJlY29yZC1sZXZlbCBjb25maWd1cmF0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbcmVjb3JkLnRyYW5zYWN0aW9uc10gLSBXaGV0aGVyIHJlY29yZCBvcGVyYXRpb25zIHNob3VsZCB1c2UgdHJhbnNhY3Rpb25zLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbcmVzZXRdIC0gV2hldGhlciB0byByZXNldCB0aGUgZGF0YWJhc2Ugb24gc3RhcnR1cC5cbiAqIEBwcm9wZXJ0eSB7U3FsQ29uZmlnfSBbc3FsQ29uZmlnXSAtIERyaXZlci1zcGVjaWZpYyBTUUwgY29uZmlnLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbdGVuYW50T25seV0gLSBXaGV0aGVyIHRoaXMgZGF0YWJhc2UgaWRlbnRpZmllciBpcyBvbmx5IGFjdGl2ZSBpbnNpZGUgYSByZXNvbHZlZCB0ZW5hbnQgY29udGV4dC5cbiAqIEBwcm9wZXJ0eSB7XCJtc3NxbFwiIHwgXCJteXNxbFwiIHwgXCJwZ3NxbFwiIHwgXCJzcWxpdGVcIn0gW3R5cGVdIC0gRGF0YWJhc2UgdHlwZSBpZGVudGlmaWVyLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt1c2VEYXRhYmFzZV0gLSBEYXRhYmFzZSB0byBzd2l0Y2ggdG8gYWZ0ZXIgY29ubmVjdGluZy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbdXNlcm5hbWVdIC0gVXNlcm5hbWUgZm9yIGRhdGFiYXNlIGF1dGhlbnRpY2F0aW9uLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge1wiZGVidWctbG93LWxldmVsXCIgfCBcImRlYnVnXCIgfCBcImluZm9cIiB8IFwid2FyblwiIHwgXCJlcnJvclwifSBMb2dMZXZlbFxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gTG9nZ2luZ091dHB1dFBheWxvYWRcbiAqIEBwcm9wZXJ0eSB7TG9nTGV2ZWx9IGxldmVsIC0gTG9nIGxldmVsLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IG1lc3NhZ2UgLSBGb3JtYXR0ZWQgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzdWJqZWN0IC0gTG9nIHN1YmplY3QuXG4gKiBAcHJvcGVydHkge0RhdGV9IHRpbWVzdGFtcCAtIFRpbWVzdGFtcC5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IExvZ2dpbmdPdXRwdXRcbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oTG9nZ2luZ091dHB1dFBheWxvYWQpOiBQcm9taXNlPHZvaWQ+IHwgdm9pZH0gd3JpdGUgLSBXcml0ZSBhIGxvZyBlbnRyeS5cbiAqIEBwcm9wZXJ0eSB7TG9nTGV2ZWxbXX0gW2xldmVsc10gLSBEZWZhdWx0IGxldmVscyBmb3IgdGhpcyBvdXRwdXQuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBMb2dnaW5nT3V0cHV0Q29uZmlnXG4gKiBAcHJvcGVydHkge0xvZ2dpbmdPdXRwdXR9IG91dHB1dCAtIE91dHB1dCBpbnN0YW5jZS5cbiAqIEBwcm9wZXJ0eSB7QXJyYXk8TG9nTGV2ZWw+fSBbbGV2ZWxzXSAtIExldmVscyBlbmFibGVkIGZvciB0aGlzIG91dHB1dC5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtMb2dnaW5nT3V0cHV0Q29uZmlnIHwgTG9nZ2luZ091dHB1dCB8IGltcG9ydChcIi4vbG9nZ2VyL2Jhc2UtbG9nZ2VyLmpzXCIpLmRlZmF1bHR9IExvZ2dlckNvbmZpZ1xuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gTG9nZ2luZ0NvbmZpZ3VyYXRpb25cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2NvbnNvbGVdIC0gRW5hYmxlL2Rpc2FibGUgY29uc29sZSBsb2dnaW5nIGZvciByZXF1ZXN0IGxvZ2dpbmcuIERlZmF1bHRzIHRvIHRydWUgb3V0c2lkZSBvZiBcInRlc3RcIiBhbmQgZm9yIEhUVFAgc2VydmVyIGxvZ3MuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtmaWxlXSAtIEVuYWJsZS9kaXNhYmxlIHdyaXRpbmcgbG9ncyB0byBhIGZpbGUuIERlZmF1bHRzIHRvIHRydWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2RpcmVjdG9yeV0gLSBEaXJlY3Rvcnkgd2hlcmUgbG9nIGZpbGVzIGFyZSBzdG9yZWQuIERlZmF1bHRzIHRvIFwiPHByb2plY3Q+L2xvZ1wiLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtmaWxlUGF0aF0gLSBFeHBsaWNpdCBwYXRoIGZvciB0aGUgbG9nIGZpbGUuIERlZmF1bHRzIHRvIFwiPGRpcmVjdG9yeT4vPGVudmlyb25tZW50Pi5sb2dcIi5cbiAqIEBwcm9wZXJ0eSB7QXJyYXk8XCJkZWJ1Zy1sb3ctbGV2ZWxcIiB8IFwiZGVidWdcIiB8IFwiaW5mb1wiIHwgXCJ3YXJuXCIgfCBcImVycm9yXCI+fSBbbGV2ZWxzXSAtIE92ZXJyaWRlIHdoaWNoIGxvZyBsZXZlbHMgYXJlIGVtaXR0ZWQuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtkZWJ1Z0xvd0xldmVsXSAtIENvbnZlbmllbmNlIGZsYWcgdG8gaW5jbHVkZSB2ZXJ5IGxvdy1sZXZlbCBkZWJ1ZyBsb2dzLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbcXVlcnlMb2dnaW5nXSAtIEVuYWJsZS9kaXNhYmxlIGRhdGFiYXNlIHF1ZXJ5IGxvZ2dpbmcuIERlZmF1bHRzIHRvIHRydWUgb3V0c2lkZSB0ZXN0IGFuZCBmYWxzZSBpbiB0ZXN0LlxuICogQHByb3BlcnR5IHtMb2dnZXJDb25maWdbXX0gW2xvZ2dlcnNdIC0gTG9nZ2VyIGluc3RhbmNlcyAoY29udmVydGVkIHRvIG91dHB1dHMgd2hlbiBjb25maWd1cmVkKS5cbiAqIEBwcm9wZXJ0eSB7TG9nZ2luZ091dHB1dENvbmZpZ1tdfSBbb3V0cHV0c10gLSBFeHBsaWNpdCBsb2dnZXIgb3V0cHV0cyAob3ZlcnJpZGVzIGNvbnNvbGUvZmlsZSBkZWZhdWx0cyB3aGVuIHByb3ZpZGVkKS5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFN0cnVjdHVyZVNxbENvbmZpZ3VyYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFtlbmFibGVkRW52aXJvbm1lbnRzXSAtIEVudmlyb25tZW50cyBhbGxvd2VkIHRvIHdyaXRlIHN0cnVjdHVyZSBzcWwgZmlsZXMgZHVyaW5nIGF1dG9tYXRpYyBtaWdyYXRpb24gZHVtcHMuXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBbZGlzYWJsZWRFbnZpcm9ubWVudHNdIC0gRW52aXJvbm1lbnRzIHRoYXQgc2hvdWxkIHNraXAgd3JpdGluZyBzdHJ1Y3R1cmUgc3FsIGZpbGVzLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge1wiYmVhY29uXCIgfCBcInBvbGxpbmdcIn0gQmFja2dyb3VuZEpvYnNEaXNwYXRjaFN0cmF0ZWd5XG4gKlxuICogLSBgXCJiZWFjb25cImAgKGRlZmF1bHQpOiBldmVudC1kcml2ZW4gZGlzcGF0Y2guIFRoZVxuICogICBgYmFja2dyb3VuZC1qb2JzLW1haW5gIHByb2Nlc3MgZHJhaW5zIHRoZSBxdWV1ZSBvbiBlbnF1ZXVlLCBvblxuICogICB3b3JrZXIgcmVhZGluZXNzLCBvbiBCZWFjb24gYnJvYWRjYXN0cyAoc28gY3Jvc3MtcHJvY2VzcyBlbnF1ZXVlc1xuICogICB3YWtlIGl0KSwgYW5kIGFybXMgYSBgc2V0VGltZW91dGAgZm9yIHRoZSBzb29uZXN0IGZ1dHVyZS1zY2hlZHVsZWRcbiAqICAgam9iLiBGYWxscyBiYWNrIGdyYWNlZnVsbHkgdG8gZGlyZWN0IGluLXByb2Nlc3MgdHJpZ2dlcmluZyB3aGVuXG4gKiAgIEJlYWNvbiBpcyBub3QgY29uZmlndXJlZC5cbiAqIC0gYFwicG9sbGluZ1wiYDogbGVnYWN5IG1vZGUsIHJ1bnMgYSBmaXhlZC1pbnRlcnZhbCBwb2xsIG92ZXIgdGhlXG4gKiAgIGBiYWNrZ3JvdW5kX2pvYnNgIHRhYmxlIChzZWUgYHBvbGxJbnRlcnZhbE1zYCkuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBCYWNrZ3JvdW5kSm9ic0NvbmZpZ3VyYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbaG9zdF0gLSBIb3N0bmFtZSBmb3IgdGhlIGJhY2tncm91bmQgam9icyBtYWluIHByb2Nlc3MuXG4gKiBAcHJvcGVydHkge251bWJlcn0gW3BvcnRdIC0gUG9ydCBmb3IgdGhlIGJhY2tncm91bmQgam9icyBtYWluIHByb2Nlc3MuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2RhdGFiYXNlSWRlbnRpZmllcl0gLSBEYXRhYmFzZSBpZGVudGlmaWVyIHVzZWQgdG8gc3RvcmUgYmFja2dyb3VuZCBqb2JzLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFttYXhDb25jdXJyZW50SW5saW5lSm9ic10gLSBIb3cgbWFueSBgZm9ya2VkOiBmYWxzZWAgam9icyBhIHNpbmdsZVxuICogICBgYmFja2dyb3VuZC1qb2JzLXdvcmtlcmAgcHJvY2VzcyBpcyBhbGxvd2VkIHRvIHJ1biBpbiBwYXJhbGxlbC4gQ29uY3VycmVuY3lcbiAqICAgaXMgYXQgdGhlIEpTIGV2ZW50LWxvb3AgbGV2ZWw6IGV2ZXJ5IGNvbmN1cnJlbnQgam9iIHNoYXJlcyB0aGUgd29ya2VyJ3NcbiAqICAgcHJvY2VzcyBhbmQgREIgY29ubmVjdGlvbiBwb29sLCBzbyB0aGlzIHNob3VsZCBmaXQgdGhlIHBvb2wgc2l6ZSwgbm90IHRoZVxuICogICBDUFUgY291bnQuIEZvcmtpbmcgcmVtYWlucyB0aGUgcmlnaHQgdG9vbCBmb3IgbWVtb3J5IGlzb2xhdGlvbiBhY3Jvc3NcbiAqICAgbG9uZy1ydW5uaW5nIGpvYnMgYW5kIGZvciB1c2luZyBtb3JlIGNvcmVzLiBEZWZhdWx0OiBgNGAuXG4gKiBAcHJvcGVydHkge251bWJlcn0gW21heENvbmN1cnJlbnRGb3JrZWRKb2JzXSAtIEhvdyBtYW55IG91dC1vZi1wcm9jZXNzXG4gKiAgIGBcImZvcmtlZFwiYCBvciBgXCJzcGF3bmVkXCJgIGpvYnMgYSBzaW5nbGUgYGJhY2tncm91bmQtam9icy13b3JrZXJgIGlzXG4gKiAgIGFsbG93ZWQgdG8ga2VlcCBpbiBmbGlnaHQuIERlZmF1bHQ6IGA0YC5cbiAqIEBwcm9wZXJ0eSB7QmFja2dyb3VuZEpvYnNEaXNwYXRjaFN0cmF0ZWd5fSBbZGlzcGF0Y2hTdHJhdGVneV0gLSBIb3cgdGhlIG1haW4gcHJvY2Vzc1xuICogICBkZXRlY3RzIG5ldyB3b3JrLiBEZWZhdWx0cyB0byBgXCJiZWFjb25cImAgKGV2ZW50LWRyaXZlbikuIFNldCB0byBgXCJwb2xsaW5nXCJgXG4gKiAgIHRvIHJlc3RvcmUgdGhlIGxlZ2FjeSBmaXhlZC1pbnRlcnZhbCBwb2xsLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtwb2xsSW50ZXJ2YWxNc10gLSBQb2xsIGludGVydmFsIGluIG1pbGxpc2Vjb25kcy4gT25seSB1c2VkXG4gKiAgIHdoZW4gYGRpc3BhdGNoU3RyYXRlZ3kgPT09IFwicG9sbGluZ1wiYC4gRGVmYXVsdDogYDEwMDBgLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQmVhY29uQ29uZmlndXJhdGlvblxuICogQHByb3BlcnR5IHtib29sZWFufSBbZW5hYmxlZF0gLSBXaGV0aGVyIHRvIGNvbm5lY3QgdG8gYSBCZWFjb24gYnJva2VyLiBEZWZhdWx0cyB0byBmYWxzZSB1bmxlc3MgYGhvc3RgL2Bwb3J0YCBvciBgaW5Qcm9jZXNzOiB0cnVlYCBhcmUgc2V0LCBvciBlbnYgdmFycyBhcmUgcHJlc2VudC4gRXhwbGljaXQgYGZhbHNlYCBkaXNhYmxlcyBCZWFjb24gZXZlbiB3aGVuIGVudiB2YXJzIGFyZSBzZXQuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtpblByb2Nlc3NdIC0gV2hlbiB0cnVlLCB1c2UgYSBtb2R1bGUtbGV2ZWwgaW4tcHJvY2VzcyBicm9rZXIgc2luZ2xldG9uIGluc3RlYWQgb2YgY29ubmVjdGluZyBvdmVyIFRDUC4gTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYGhvc3RgL2Bwb3J0YC4gVXNlZnVsIGZvciB0ZXN0cyBhbmQgc2luZ2xlLXByb2Nlc3MgZGVwbG95bWVudHMuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2hvc3RdIC0gSG9zdG5hbWUgb2YgdGhlIEJlYWNvbiBicm9rZXIgZGFlbW9uLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtwb3J0XSAtIFBvcnQgb2YgdGhlIEJlYWNvbiBicm9rZXIgZGFlbW9uLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtwZWVyVHlwZV0gLSBPcHRpb25hbCBodW1hbi1yZWFkYWJsZSBsYWJlbCBmb3IgdGhpcyBwZWVyIChlLmcuIFwic2VydmVyXCIsIFwiYmFja2dyb3VuZC1qb2JzLXdvcmtlclwiKS5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbdW5yZWFjaGFibGVSZXBvcnRNc10gLSBHcmFjZSB3aW5kb3cgKG1zKSBhIGJlYWNvbiBjb25uZWN0L2Rpc2Nvbm5lY3QgYmxpcCBtdXN0IHBlcnNpc3QgYmVmb3JlIGl0IGlzIHJlcG9ydGVkIGFzIGEgZnJhbWV3b3JrLWVycm9yLiBUcmFuc2llbnQgb3V0YWdlcyB0aGF0IHJlY292ZXIgd2l0aGluIHRoaXMgd2luZG93IChlLmcuIGEgZGVwbG95IHJlc3RhcnRpbmcgdGhlIGJyb2tlcikgYXJlIG5vdCByZXBvcnRlZC4gRGVmYXVsdHMgdG8gMzAwMDAuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBIdHRwU2VydmVyQ29uZmlndXJhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtob3N0XSAtIEhvc3RuYW1lIHRvIGJpbmQgdGhlIEhUVFAgc2VydmVyIHRvLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbaW5Qcm9jZXNzXSAtIFJ1biBIVFRQIGhhbmRsZXJzIGluIHRoZSBtYWluIHRocmVhZCBpbnN0ZWFkIG9mIHdvcmtlciB0aHJlYWRzLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFttYXhXb3JrZXJzXSAtIEJhY2t3YXJkLWNvbXBhdGlibGUgYWxpYXMgZm9yIHdvcmtlcnMuXG4gKiBAcHJvcGVydHkge251bWJlcn0gW3BvcnRdIC0gUG9ydCB0byBiaW5kIHRoZSBIVFRQIHNlcnZlciB0by5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbd29ya2Vyc10gLSBXb3JrZXIgaGFuZGxlcnMgdG8gc3RhcnQgZm9yIHRoZSBIVFRQIHNlcnZlci5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFNjaGVkdWxlZEJhY2tncm91bmRKb2JFdmVyeU9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgc3RyaW5nfSBbZmlyc3RJbl0gLSBEZWxheSBiZWZvcmUgdGhlIGZpcnN0IGVucXVldWUuXG4gKiBAcHJvcGVydHkge251bWJlciB8IHN0cmluZ30gW2ZpcnN0X2luXSAtIFNpZGVraXEtc3R5bGUgYWxpYXMgZm9yIGBmaXJzdEluYC5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFNjaGVkdWxlZEJhY2tncm91bmRKb2JDb25maWd1cmF0aW9uXG4gKiBAcHJvcGVydHkge2FueVtdfSBbYXJnc10gLSBBcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBqb2Igd2hlbiBlbnF1ZXVlZC5cbiAqIEBwcm9wZXJ0eSB7dHlwZW9mIGltcG9ydChcIi4vYmFja2dyb3VuZC1qb2JzL2pvYi5qc1wiKS5kZWZhdWx0fSBjbGFzcyAtIEpvYiBjbGFzcyB0byBlbnF1ZXVlLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtjcm9uXSAtIENyb250YWIgZXhwcmVzc2lvbiAoNS1maWVsZCBQT1NJWCwgcGx1cyBgQGhvdXJseWAvYEBkYWlseWAvYEB3ZWVrbHlgL2BAbW9udGhseWAvYEB5ZWFybHlgL2BAbWlkbmlnaHRgKS4gTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYGV2ZXJ5YC5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2VuYWJsZWRdIC0gV2hldGhlciB0aGUgc2NoZWR1bGUgaXMgZW5hYmxlZC5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgc3RyaW5nIHwgW251bWJlciB8IHN0cmluZywgU2NoZWR1bGVkQmFja2dyb3VuZEpvYkV2ZXJ5T3B0aW9uc119IFtldmVyeV0gLSBSZXBlYXQgaW50ZXJ2YWwuIEVpdGhlciBgZXZlcnlgIG9yIGBjcm9uYCBtdXN0IGJlIHNldC5cbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi9iYWNrZ3JvdW5kLWpvYnMvdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnN9IFtvcHRpb25zXSAtIEpvYiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gU2NoZWR1bGVkQmFja2dyb3VuZEpvYnNDb25maWd1cmF0aW9uXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIFNjaGVkdWxlZEJhY2tncm91bmRKb2JDb25maWd1cmF0aW9uPn0gam9icyAtIFNjaGVkdWxlZCBqb2JzIGtleWVkIGJ5IG5hbWUuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7ZnVuY3Rpb24oe2NvbmZpZ3VyYXRpb246IGltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSkgOiBTY2hlZHVsZWRCYWNrZ3JvdW5kSm9ic0NvbmZpZ3VyYXRpb24gfCBQcm9taXNlPFNjaGVkdWxlZEJhY2tncm91bmRKb2JzQ29uZmlndXJhdGlvbj59IFNjaGVkdWxlZEJhY2tncm91bmRKb2JzTG9hZGVyVHlwZVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQXR0YWNobWVudERyaXZlckNvbmZpZ3VyYXRpb25cbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe2NvbmZpZ3VyYXRpb246IGltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0LCBuYW1lOiBzdHJpbmcsIG9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT59KSA6IFJlY29yZDxzdHJpbmcsIGFueT59IFtjcmVhdGVdIC0gT3B0aW9uYWwgZmFjdG9yeSBmb3IgYSBjdXN0b20gYXR0YWNobWVudCBkcml2ZXIgaW5zdGFuY2UuXG4gKiBAcHJvcGVydHkge25ldyAoLi4uYXJnczogYW55W10pID0+IFJlY29yZDxzdHJpbmcsIGFueT59IFtkcml2ZXJDbGFzc10gLSBPcHRpb25hbCBjdXN0b20gYXR0YWNobWVudCBkcml2ZXIgY2xhc3MuXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIGFueT59IFtpbnN0YW5jZV0gLSBPcHRpb25hbCBjdXN0b20gYXR0YWNobWVudCBkcml2ZXIgaW5zdGFuY2UuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBBdHRhY2htZW50c0NvbmZpZ3VyYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGVmYXVsdERyaXZlcl0gLSBEZWZhdWx0IGF0dGFjaG1lbnQgc3RvcmFnZSBkcml2ZXIgbmFtZS5cbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgQXR0YWNobWVudERyaXZlckNvbmZpZ3VyYXRpb24gJiBSZWNvcmQ8c3RyaW5nLCBhbnk+Pn0gW2RyaXZlcnNdIC0gTmFtZWQgYXR0YWNobWVudCBkcml2ZXIgY29uZmlndXJhdGlvbnMuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFthbGxvd1BhdGhJbnB1dF0gLSBXaGV0aGVyIGB7cGF0aDogLi4ufWAgYXR0YWNobWVudCBpbnB1dCBpcyBhbGxvd2VkLlxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gW2FsbG93ZWRQYXRoUHJlZml4ZXNdIC0gT3B0aW9uYWwgYWxsb3dsaXN0IG9mIGRpcmVjdG9yaWVzIGZvciBge3BhdGg6IC4uLn1gIGlucHV0LlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gTWFpbGVyQmFja2VuZFxuICogQHByb3BlcnR5IHtmdW5jdGlvbih7cGF5bG9hZDogaW1wb3J0KFwiLi9tYWlsZXIuanNcIikuTWFpbGVyRGVsaXZlcnlQYXlsb2FkLCBjb25maWd1cmF0aW9uOiBpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0pIDogUHJvbWlzZTx1bmtub3duPiB8IHVua25vd259IGRlbGl2ZXIgLSBEZWxpdmVyIGEgbWFpbGVyIHBheWxvYWQuXG4gKi9cblxuXG4vKipcbiAqIEB0eXBlZGVmIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT59IExvY2FsZUZhbGxiYWNrc1R5cGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEZyb250ZW5kTW9kZWxSZWxhdGlvbnNoaXBDb25maWd1cmF0aW9uXG4gKiBAcHJvcGVydHkge1wiYmVsb25nc1RvXCIgfCBcImhhc09uZVwiIHwgXCJoYXNNYW55XCJ9IHR5cGUgLSBSZWxhdGlvbnNoaXAgdHlwZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbW9kZWxdIC0gVGFyZ2V0IG1vZGVsIGNsYXNzIG5hbWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NsYXNzTmFtZV0gLSBBbGlhcyBvZiB0YXJnZXQgbW9kZWwgY2xhc3MgbmFtZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbW9kZWxDbGFzc05hbWVdIC0gRXhwbGljaXQgdGFyZ2V0IG1vZGVsIGNsYXNzIG5hbWUuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBGcm9udGVuZE1vZGVsQXR0cmlidXRlQ29uZmlndXJhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt0eXBlXSAtIENvbHVtbiB0eXBlIG5hbWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NvbHVtblR5cGVdIC0gQWxpYXMgZm9yIGNvbHVtbiB0eXBlIG5hbWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3NxbFR5cGVdIC0gQWxpYXMgZm9yIGNvbHVtbiB0eXBlIG5hbWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2RhdGFUeXBlXSAtIEFsaWFzIGZvciBjb2x1bW4gdHlwZSBuYW1lLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbbnVsbF0gLSBXaGV0aGVyIHZhbHVlIGNhbiBiZSBudWxsLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbc2VsZWN0ZWRCeURlZmF1bHRdIC0gV2hldGhlciBpbmNsdWRlZCBpbiBkZWZhdWx0IHNlcmlhbGl6YXRpb24uIERlZmF1bHRzIHRvIHRydWUuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBGcm9udGVuZE1vZGVsQXR0YWNobWVudENvbmZpZ3VyYXRpb25cbiAqIEBwcm9wZXJ0eSB7XCJoYXNPbmVcIiB8IFwiaGFzTWFueVwifSB0eXBlIC0gQXR0YWNobWVudCBjYXJkaW5hbGl0eS5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEZyb250ZW5kTW9kZWxSZXNvdXJjZUNvbmZpZ3VyYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBGcm9udGVuZE1vZGVsQXR0cmlidXRlQ29uZmlndXJhdGlvbiB8IGltcG9ydChcIi4vZGF0YWJhc2UvZHJpdmVycy9iYXNlLWNvbHVtbi5qc1wiKS5kZWZhdWx0IHwgYm9vbGVhbj59IGF0dHJpYnV0ZXMgLSBBdHRyaWJ1dGVzIHRvIGV4cG9zZSBvbiB0aGUgZnJvbnRlbmQgbW9kZWwuXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBbYWJpbGl0aWVzXSAtIEFiaWxpdHkgYWN0aW9uIGxpc3QgKGNhbWVsQ2FzZSBhY3Rpb24gbmFtZXMpLiBEZWZhdWx0cyB0byBgW1wicmVhZFwiXWAgZm9yIGBmaW5kYCBhbmQgYGluZGV4YCB3aGVuIG9taXR0ZWQuXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIEZyb250ZW5kTW9kZWxBdHRhY2htZW50Q29uZmlndXJhdGlvbj59IFthdHRhY2htZW50c10gLSBBdHRhY2htZW50IGhlbHBlcnMga2V5ZWQgYnkgYXR0YWNobWVudCBuYW1lLlxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gW2NvbW1hbmRzXSAtIExlZ2FjeSBidWlsdC1pbiBjb21tYW5kIG5hbWVzIChgaW5kZXhgLCBgZmluZGAsIGBjcmVhdGVgLCBgdXBkYXRlYCwgYGRlc3Ryb3lgLCBgYXR0YWNoYCwgYGRvd25sb2FkYCwgYHVybGApLlxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gW2NvbGxlY3Rpb25Db21tYW5kc10gLSBDdXN0b20gY29sbGVjdGlvbiBjb21tYW5kcyBhcyBjYW1lbENhc2UgbWV0aG9kIG5hbWVzLiBUaGUgcnVudGltZSBkZXJpdmVzIHRoZSBrZWJhYi1jYXNlIGNvbW1hbmQgc2x1ZyBmcm9tIGVhY2ggbmFtZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFttZW1iZXJDb21tYW5kc10gLSBDdXN0b20gbWVtYmVyIGNvbW1hbmRzIGFzIGNhbWVsQ2FzZSBtZXRob2QgbmFtZXMuIFRoZSBydW50aW1lIGRlcml2ZXMgdGhlIGtlYmFiLWNhc2UgY29tbWFuZCBzbHVnIGZyb20gZWFjaCBuYW1lLlxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gW2J1aWx0SW5Db2xsZWN0aW9uQ29tbWFuZHNdIC0gQnVpbHQtaW4gY29sbGVjdGlvbiBjb21tYW5kIG5hbWVzIChgaW5kZXhgLCBgY3JlYXRlYCkuXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBbYnVpbHRJbk1lbWJlckNvbW1hbmRzXSAtIEJ1aWx0LWluIG1lbWJlciBjb21tYW5kIG5hbWVzIChgZmluZGAsIGB1cGRhdGVgLCBgZGVzdHJveWAsIGBhdHRhY2hgLCBgZG93bmxvYWRgLCBgdXJsYCkuXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBbcmVsYXRpb25zaGlwc10gLSBSZWxhdGlvbnNoaXAgbmFtZXMgdG8gZXhwb3NlIGluIGZyb250ZW5kIG1vZGVscy4gVHlwZSBhbmQgdGFyZ2V0IG1vZGVsIGFyZSBpbmZlcnJlZCBmcm9tIHRoZSBiYWNrZW5kIG1vZGVsJ3MgcmVnaXN0ZXJlZCByZWxhdGlvbnNoaXBzLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtwcmltYXJ5S2V5XSAtIFByaW1hcnkga2V5IGF0dHJpYnV0ZSBuYW1lLlxuICogQHByb3BlcnR5IHtGcm9udGVuZE1vZGVsUmVzb3VyY2VTZXJ2ZXJDb25maWd1cmF0aW9ufSBbc2VydmVyXSAtIE9wdGlvbmFsIGxlZ2FjeSBiYWNrZW5kIGJlaGF2aW9yIG92ZXJyaWRlcyBmb3IgYnVpbHQtaW4gZnJvbnRlbmQgYWN0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPbWl0PEZyb250ZW5kTW9kZWxSZXNvdXJjZUNvbmZpZ3VyYXRpb24sIFwiYWJpbGl0aWVzXCIgfCBcImJ1aWx0SW5Db2xsZWN0aW9uQ29tbWFuZHNcIiB8IFwiYnVpbHRJbk1lbWJlckNvbW1hbmRzXCIgfCBcImNvbGxlY3Rpb25Db21tYW5kc1wiIHwgXCJjb21tYW5kc1wiIHwgXCJtZW1iZXJDb21tYW5kc1wiPiAmIHtcbiAqICAgYWJpbGl0aWVzOiBGcm9udGVuZE1vZGVsUmVzb3VyY2VBYmlsaXRpZXNDb25maWd1cmF0aW9uXG4gKiAgIGJ1aWx0SW5Db2xsZWN0aW9uQ29tbWFuZHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAqICAgYnVpbHRJbk1lbWJlckNvbW1hbmRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gKiAgIGNvbGxlY3Rpb25Db21tYW5kczogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICogICBtZW1iZXJDb21tYW5kczogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICogfX0gTm9ybWFsaXplZEZyb250ZW5kTW9kZWxSZXNvdXJjZUNvbmZpZ3VyYXRpb25cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHt0eXBlb2YgaW1wb3J0KFwiLi9mcm9udGVuZC1tb2RlbC1yZXNvdXJjZS9iYXNlLXJlc291cmNlLmpzXCIpLmRlZmF1bHR9IEZyb250ZW5kTW9kZWxSZXNvdXJjZUNsYXNzVHlwZVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge0Zyb250ZW5kTW9kZWxSZXNvdXJjZUNsYXNzVHlwZX0gRnJvbnRlbmRNb2RlbFJlc291cmNlRGVmaW5pdGlvblxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gRnJvbnRlbmRNb2RlbFJlc291cmNlQWJpbGl0aWVzQ29uZmlndXJhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtpbmRleF0gLSBBYmlsaXR5IGFjdGlvbiBmb3IgZnJvbnRlbmQgaW5kZXguXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2ZpbmRdIC0gQWJpbGl0eSBhY3Rpb24gZm9yIGZyb250ZW5kIGZpbmQuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NyZWF0ZV0gLSBBYmlsaXR5IGFjdGlvbiBmb3IgZnJvbnRlbmQgY3JlYXRlLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt1cGRhdGVdIC0gQWJpbGl0eSBhY3Rpb24gZm9yIGZyb250ZW5kIHVwZGF0ZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGVzdHJveV0gLSBBYmlsaXR5IGFjdGlvbiBmb3IgZnJvbnRlbmQgZGVzdHJveS5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEZyb250ZW5kTW9kZWxSZXNvdXJjZVNlcnZlckNvbmZpZ3VyYXRpb25cbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe2FjdGlvbjogXCJpbmRleFwiIHwgXCJmaW5kXCIgfCBcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIiB8IFwiZGVzdHJveVwiIHwgXCJhdHRhY2hcIiB8IFwiZG93bmxvYWRcIiB8IFwidXJsXCIsIGNvbnRyb2xsZXI6IGltcG9ydChcIi4vY29udHJvbGxlci5qc1wiKS5kZWZhdWx0LCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4sIG1vZGVsQ2xhc3M6IHR5cGVvZiBpbXBvcnQoXCIuL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSkgOiAoYm9vbGVhbiB8IHZvaWQgfCBQcm9taXNlPGJvb2xlYW4gfCB2b2lkPil9IFtiZWZvcmVBY3Rpb25dIC0gT3B0aW9uYWwgY2FsbGJhY2sgcnVuIGJlZm9yZSBidWlsdC1pbiBmcm9udGVuZCBhY3Rpb25zLlxuICogQHByb3BlcnR5IHtmdW5jdGlvbih7YWN0aW9uOiBcImluZGV4XCIsIGNvbnRyb2xsZXI6IGltcG9ydChcIi4vY29udHJvbGxlci5qc1wiKS5kZWZhdWx0LCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4sIG1vZGVsQ2xhc3M6IHR5cGVvZiBpbXBvcnQoXCIuL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSkgOiBQcm9taXNlPGltcG9ydChcIi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHRbXT59IFtyZWNvcmRzXSAtIFJlY29yZHMgbG9hZGVyIGZvciBmcm9udGVuZEluZGV4LlxuICogQHByb3BlcnR5IHtmdW5jdGlvbih7YWN0aW9uOiBcImluZGV4XCIgfCBcImZpbmRcIiB8IFwiY3JlYXRlXCIgfCBcInVwZGF0ZVwiLCBjb250cm9sbGVyOiBpbXBvcnQoXCIuL2NvbnRyb2xsZXIuanNcIikuZGVmYXVsdCwgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBtb2RlbENsYXNzOiB0eXBlb2YgaW1wb3J0KFwiLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdCwgbW9kZWw6IGltcG9ydChcIi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHR9KSA6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSBbc2VyaWFsaXplXSAtIFJlY29yZCBzZXJpYWxpemVyIGZvciByZXNwb25zZSBwYXlsb2Fkcy5cbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe2FjdGlvbjogXCJmaW5kXCIgfCBcInVwZGF0ZVwiIHwgXCJkZXN0cm95XCIgfCBcImF0dGFjaFwiIHwgXCJkb3dubG9hZFwiIHwgXCJ1cmxcIiwgY29udHJvbGxlcjogaW1wb3J0KFwiLi9jb250cm9sbGVyLmpzXCIpLmRlZmF1bHQsIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiwgbW9kZWxDbGFzczogdHlwZW9mIGltcG9ydChcIi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQsIGlkOiBzdHJpbmcgfCBudW1iZXJ9KSA6IFByb21pc2U8aW1wb3J0KFwiLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdCB8IG51bGw+fSBbZmluZF0gLSBSZWNvcmQgbG9hZGVyIGZvciBmaW5kL3VwZGF0ZS9kZXN0cm95L2F0dGFjaC9kb3dubG9hZC91cmwgYWN0aW9ucy5cbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe2FjdGlvbjogXCJjcmVhdGVcIiwgY29udHJvbGxlcjogaW1wb3J0KFwiLi9jb250cm9sbGVyLmpzXCIpLmRlZmF1bHQsIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiwgbW9kZWxDbGFzczogdHlwZW9mIGltcG9ydChcIi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQsIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIGFueT59KSA6IFByb21pc2U8aW1wb3J0KFwiLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdD59IFtjcmVhdGVdIC0gQ3VzdG9tIGNyZWF0ZSBjYWxsYmFjay5cbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe2FjdGlvbjogXCJ1cGRhdGVcIiwgY29udHJvbGxlcjogaW1wb3J0KFwiLi9jb250cm9sbGVyLmpzXCIpLmRlZmF1bHQsIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiwgbW9kZWxDbGFzczogdHlwZW9mIGltcG9ydChcIi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQsIG1vZGVsOiBpbXBvcnQoXCIuL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0LCBhdHRyaWJ1dGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+fSkgOiBQcm9taXNlPGltcG9ydChcIi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQgfCB2b2lkPn0gW3VwZGF0ZV0gLSBDdXN0b20gdXBkYXRlIGNhbGxiYWNrLlxuICogQHByb3BlcnR5IHtmdW5jdGlvbih7YWN0aW9uOiBcImRlc3Ryb3lcIiwgY29udHJvbGxlcjogaW1wb3J0KFwiLi9jb250cm9sbGVyLmpzXCIpLmRlZmF1bHQsIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiwgbW9kZWxDbGFzczogdHlwZW9mIGltcG9ydChcIi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQsIG1vZGVsOiBpbXBvcnQoXCIuL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSkgOiBQcm9taXNlPHZvaWQ+fSBbZGVzdHJveV0gLSBDdXN0b20gZGVzdHJveSBjYWxsYmFjay5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEJhY2tlbmRQcm9qZWN0Q29uZmlndXJhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IHBhdGggLSBQYXRoIHRvIHRoZSBiYWNrZW5kIHByb2plY3QuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2Zyb250ZW5kTW9kZWxzT3V0cHV0UGF0aF0gLSBPcHRpb25hbCBvdXRwdXQgcHJvamVjdCBwYXRoIHdoZXJlIGBzcmMvZnJvbnRlbmQtbW9kZWxzYCBzaG91bGQgYmUgZ2VuZXJhdGVkLlxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBGcm9udGVuZE1vZGVsUmVzb3VyY2VEZWZpbml0aW9uPn0gW2Zyb250ZW5kTW9kZWxzXSAtIEF1dG8tZGlzY292ZXJlZCBmcm9udGVuZCBtb2RlbCBkZWZpbml0aW9ucyBrZXllZCBieSBtb2RlbCBjbGFzcyBuYW1lLiBTZXQgaW50ZXJuYWxseSBieSB0aGUgZW52aXJvbm1lbnQgaGFuZGxlciDigJQgZG8gbm90IHNldCBtYW51YWxseS5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFJvdXRlUmVzb2x2ZXJIb29rQXJnc1xuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIGFueT59IHBhcmFtcyAtIE11dGFibGUgcmVxdWVzdCBwYXJhbXMgb2JqZWN0LlxuICogQHByb3BlcnR5IHtzdHJpbmd9IGN1cnJlbnRQYXRoIC0gUmVxdWVzdCBwYXRoIHdpdGhvdXQgcXVlcnkuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtoYXNNYXRjaGluZ0N1c3RvbVJvdXRlXSAtIFRydWUgd2hlbiBtYXRjaGluZyBhIGNvbmZpZ3VyZWQgY3VzdG9tIHJvdXRlLlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC9yZXF1ZXN0LmpzXCIpLmRlZmF1bHQgfCBpbXBvcnQoXCIuL2h0dHAtc2VydmVyL2NsaWVudC93ZWJzb2NrZXQtcmVxdWVzdC5qc1wiKS5kZWZhdWx0fSByZXF1ZXN0IC0gUmVxdWVzdCBvYmplY3QuXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3Jlc3BvbnNlLmpzXCIpLmRlZmF1bHR9IHJlc3BvbnNlIC0gUmVzcG9uc2Ugb2JqZWN0LlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL3JvdXRlcy9yZXNvbHZlci5qc1wiKS5kZWZhdWx0fSByZXNvbHZlciAtIFJlc29sdmVyIGluc3RhbmNlLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUm91dGVSZXNvbHZlckhvb2tSZXN1bHRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBhY3Rpb24gLSBEYXNoZXJpemVkIGFjdGlvbiBuYW1lIChmb3IgZXhhbXBsZSBgZnJvbnRlbmQtaW5kZXhgKS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBjb250cm9sbGVyIC0gQ29udHJvbGxlciBwYXRoIChmb3IgZXhhbXBsZSBgYWNjb3VudHNgKS5cbiAqIEBwcm9wZXJ0eSB7dHlwZW9mIGltcG9ydChcIi4vY29udHJvbGxlci5qc1wiKS5kZWZhdWx0fSBbY29udHJvbGxlckNsYXNzXSAtIE9wdGlvbmFsIGNvbnRyb2xsZXIgY2xhc3Mgb3ZlcnJpZGUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NvbnRyb2xsZXJQYXRoXSAtIE9wdGlvbmFsIGFic29sdXRlL3JlbGF0aXZlIGNvbnRyb2xsZXIgZmlsZSBwYXRoIG92ZXJyaWRlLlxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbcGFyYW1zXSAtIEV4dHJhIHBhcmFtcyB0byBtZXJnZSBmb3IgY29udHJvbGxlci9hY3Rpb24uXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtza2lwQWJpbGl0eVJlc29sdXRpb25dIC0gV2hldGhlciB0byBydW4gdGhlIGNvbnRyb2xsZXIgYWN0aW9uIHdpdGhvdXQgcmVzb2x2aW5nIHJlcXVlc3QgYWJpbGl0eS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3NraXBDb250cm9sbGVyQ29ubmVjdGlvbnNdIC0gV2hldGhlciB0byBydW4gdGhlIGNvbnRyb2xsZXIgYWN0aW9uIHdpdGhvdXQgdGhlIGF1dG9tYXRpYyBkYXRhYmFzZSBjaGVja291dCB3cmFwcGVyLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbc2tpcFRlbmFudFJlc29sdXRpb25dIC0gV2hldGhlciB0byBydW4gdGhlIGNvbnRyb2xsZXIgYWN0aW9uIHdpdGhvdXQgcmVzb2x2aW5nIHJlcXVlc3QgdGVuYW50LlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt2aWV3UGF0aF0gLSBPcHRpb25hbCB2aWV3IHBhdGggb3ZlcnJpZGUgdXNlZCBieSBjb250cm9sbGVyIHJlbmRlciBsb29rdXBzLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2Z1bmN0aW9uKFJvdXRlUmVzb2x2ZXJIb29rQXJncykgOiBSb3V0ZVJlc29sdmVySG9va1Jlc3VsdCB8IG51bGwgfCBQcm9taXNlPFJvdXRlUmVzb2x2ZXJIb29rUmVzdWx0IHwgbnVsbD59IFJvdXRlUmVzb2x2ZXJIb29rVHlwZVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge3R5cGVvZiBpbXBvcnQoXCIuL2F1dGhvcml6YXRpb24vYmFzZS1yZXNvdXJjZS5qc1wiKS5kZWZhdWx0fSBBYmlsaXR5UmVzb3VyY2VDbGFzc1R5cGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtmdW5jdGlvbih7Y29uZmlndXJhdGlvbjogaW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHQsIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiwgcmVxdWVzdDogaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qc1wiKS5kZWZhdWx0IHwgaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvd2Vic29ja2V0LXJlcXVlc3QuanNcIikuZGVmYXVsdCwgcmVzcG9uc2U6IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3Jlc3BvbnNlLmpzXCIpLmRlZmF1bHR9KSA6IGltcG9ydChcIi4vYXV0aG9yaXphdGlvbi9hYmlsaXR5LmpzXCIpLmRlZmF1bHQgfCB2b2lkIHwgUHJvbWlzZTxpbXBvcnQoXCIuL2F1dGhvcml6YXRpb24vYWJpbGl0eS5qc1wiKS5kZWZhdWx0IHwgdm9pZD59IEFiaWxpdHlSZXNvbHZlclR5cGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtmdW5jdGlvbih7Y29uZmlndXJhdGlvbjogaW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHQsIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiwgcmVxdWVzdDogaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvcmVxdWVzdC5qc1wiKS5kZWZhdWx0IHwgaW1wb3J0KFwiLi9odHRwLXNlcnZlci9jbGllbnQvd2Vic29ja2V0LXJlcXVlc3QuanNcIikuZGVmYXVsdCB8IHVuZGVmaW5lZCwgcmVzcG9uc2U6IGltcG9ydChcIi4vaHR0cC1zZXJ2ZXIvY2xpZW50L3Jlc3BvbnNlLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWQsIHN1YnNjcmlwdGlvbj86IHtjaGFubmVsOiBzdHJpbmcsIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+fX0pIDogdW5rbm93biB8IHZvaWQgfCBQcm9taXNlPHVua25vd24gfCB2b2lkPn0gVGVuYW50UmVzb2x2ZXJUeXBlXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7ZnVuY3Rpb24oe2NvbmZpZ3VyYXRpb246IGltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0LCBkYXRhYmFzZUNvbmZpZ3VyYXRpb246IERhdGFiYXNlQ29uZmlndXJhdGlvblR5cGUsIGlkZW50aWZpZXI6IHN0cmluZywgdGVuYW50OiB1bmtub3dufSkgOiBEYXRhYmFzZUNvbmZpZ3VyYXRpb25UeXBlIHwgUGFydGlhbDxEYXRhYmFzZUNvbmZpZ3VyYXRpb25UeXBlPiB8IHZvaWR9IFRlbmFudERhdGFiYXNlUmVzb2x2ZXJUeXBlXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBEZWJ1Z0VuZHBvaW50Q29uZmlndXJhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtwYXRoXSAtIEhUVFAgcGF0aCBmb3IgdGhlIGJ1aWx0LWluIGRlYnVnIGVuZHBvaW50LiBEZWZhdWx0cyB0byBgL3ZlbG9jaW91cy9kZWJ1Z2AuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3Rva2VuXSAtIEJlYXJlciB0b2tlbiByZXF1aXJlZCBpbiB0aGUgYEF1dGhvcml6YXRpb246IEJlYXJlciA8dG9rZW4+YCBoZWFkZXIuIFdoZW4gc2V0LCByZXF1ZXN0cyB3aXRob3V0IGEgbWF0Y2hpbmcgdG9rZW4gYXJlIG5vdCByb3V0ZWQgKDQwNCksIHNvIHRoZSBlbmRwb2ludCBzdGF5cyBoaWRkZW4uXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBUZW5hbnREYXRhYmFzZVByb3ZpZGVyVHlwZVxuICogQHByb3BlcnR5IHtmdW5jdGlvbih7Y29uZmlndXJhdGlvbjogaW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHQsIGlkZW50aWZpZXI6IHN0cmluZ30pIDogdW5rbm93bltdIHwgUHJvbWlzZTx1bmtub3duW10+fSBsaXN0VGVuYW50cyAtIExpc3RzIHRlbmFudHMgdGhhdCBzaG91bGQgYmUgY3JlYXRlZCwgY2hlY2tlZCwgb3IgbWlncmF0ZWQgZm9yIHRoaXMgZGF0YWJhc2UgaWRlbnRpZmllci5cbiAqIEBwcm9wZXJ0eSB7ZnVuY3Rpb24oe2NvbmZpZ3VyYXRpb246IGltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0LCBkYXRhYmFzZUNvbmZpZ3VyYXRpb246IERhdGFiYXNlQ29uZmlndXJhdGlvblR5cGUsIGlkZW50aWZpZXI6IHN0cmluZywgdGVuYW50OiB1bmtub3dufSkgOiB2b2lkIHwgUHJvbWlzZTx2b2lkPn0gW2NyZWF0ZURhdGFiYXNlXSAtIENyZWF0ZXMgdGhlIHRlbmFudCBkYXRhYmFzZS9zY2hlbWEgZm9yIG9uZSB0ZW5hbnQuXG4gKiBAcHJvcGVydHkge2Z1bmN0aW9uKHtjb25maWd1cmF0aW9uOiBpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdCwgZGF0YWJhc2VDb25maWd1cmF0aW9uOiBEYXRhYmFzZUNvbmZpZ3VyYXRpb25UeXBlLCBpZGVudGlmaWVyOiBzdHJpbmcsIHRlbmFudDogdW5rbm93bn0pIDogdm9pZCB8IFByb21pc2U8dm9pZD59IFtkcm9wRGF0YWJhc2VdIC0gRHJvcHMgdGhlIHRlbmFudCBkYXRhYmFzZS9zY2hlbWEgZm9yIG9uZSB0ZW5hbnQuXG4gKiBAcHJvcGVydHkge2Z1bmN0aW9uKHtjb25maWd1cmF0aW9uOiBpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdCwgZGF0YWJhc2VDb25maWd1cmF0aW9uOiBEYXRhYmFzZUNvbmZpZ3VyYXRpb25UeXBlLCBpZGVudGlmaWVyOiBzdHJpbmcsIHRlbmFudDogdW5rbm93bn0pIDogdm9pZCB8IFByb21pc2U8dm9pZD59IFtjaGVja1RlbmFudF0gLSBDaGVja3Mgb25lIHRlbmFudCBkYXRhYmFzZSBiZWZvcmUgZ2VuZXJpYyBjb25uZWN0aW9uIHZhbGlkYXRpb24uXG4gKiBAcHJvcGVydHkge2Z1bmN0aW9uKHtjb25maWd1cmF0aW9uOiBpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdCwgZGF0YWJhc2VDb25maWd1cmF0aW9uOiBEYXRhYmFzZUNvbmZpZ3VyYXRpb25UeXBlLCBpZGVudGlmaWVyOiBzdHJpbmcsIG1pZ3JhdGlvbnNBcHBsaWVkOiBudW1iZXIsIHRlbmFudDogdW5rbm93bn0pIDogdm9pZCB8IFByb21pc2U8dm9pZD59IFthZnRlck1pZ3JhdGVUZW5hbnRdIC0gUnVucyBhcHAtb3duZWQgdGVuYW50IHdvcmsgYWZ0ZXIgZ2VuZXJpYyBtaWdyYXRpb25zIGZvciBvbmUgdGVuYW50LiBgbWlncmF0aW9uc0FwcGxpZWRgIGlzIGhvdyBtYW55IG1pZ3JhdGlvbnMgYWN0dWFsbHkgcmFuICgwIHdoZW4gdGhlIHRlbmFudCB3YXMgYWxyZWFkeSB1cCB0byBkYXRlKSwgc28gdGhlIGFwcCBjYW4gc2tpcCBleHBlbnNpdmUgcGVyLXRlbmFudCB3b3JrIG9uIG5vLW9wIGRlcGxveXMuXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBDb25maWd1cmF0aW9uQXJnc1R5cGVcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2F1dG9sb2FkXSAtIEdsb2JhbGx5IGVuYWJsZSBhdXRvLWJhdGNoLXByZWxvYWQgb2YgcmVsYXRpb25zaGlwcyBvbiBsYXp5IGFjY2Vzcy4gRGVmYXVsdCB0cnVlLlxuICogQHByb3BlcnR5IHtDb3JzVHlwZX0gW2NvcnNdIC0gQ09SUyBjb25maWd1cmF0aW9uIGZvciB0aGUgSFRUUCBzZXJ2ZXIuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2Nvb2tpZVNlY3JldF0gLSBTZWNyZXQgZm9yIGVuY3J5cHRpbmcgY29va2llcy5cbiAqIEBwcm9wZXJ0eSB7QWJpbGl0eVJlc291cmNlQ2xhc3NUeXBlW119IFthYmlsaXR5UmVzb3VyY2VzXSAtIFJlc291cmNlIGNsYXNzZXMgdXNlZCB0byBkZWZpbmUgYWJpbGl0aWVzIHBlciBtb2RlbC5cbiAqIEBwcm9wZXJ0eSB7QWJpbGl0eVJlc29sdmVyVHlwZX0gW2FiaWxpdHlSZXNvbHZlcl0gLSBSZXNvbHZlciBmb3IgY3JlYXRpbmcgcmVxdWVzdC1zY29wZWQgYWJpbGl0eSBpbnN0YW5jZXMuXG4gKiBAcHJvcGVydHkge0F0dGFjaG1lbnRzQ29uZmlndXJhdGlvbn0gW2F0dGFjaG1lbnRzXSAtIEF0dGFjaG1lbnQgc3RvcmFnZSBjb25maWd1cmF0aW9uLlxuICogQHByb3BlcnR5IHtCYWNrZW5kUHJvamVjdENvbmZpZ3VyYXRpb25bXX0gW2JhY2tlbmRQcm9qZWN0c10gLSBCYWNrZW5kIHByb2plY3QgZGVmaW5pdGlvbnMgdXNlZCBmb3IgZnJvbnRlbmQgbW9kZWwgZ2VuZXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7e1trZXk6IHN0cmluZ106IHtba2V5OiBzdHJpbmddOiBEYXRhYmFzZUNvbmZpZ3VyYXRpb25UeXBlfX19IGRhdGFiYXNlIC0gRGF0YWJhc2UgY29uZmlndXJhdGlvbnMga2V5ZWQgYnkgZW52aXJvbm1lbnQgYW5kIGlkZW50aWZpZXIuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtkZWJ1Z10gLSBFbmFibGUgZGVidWcgbG9nZ2luZy5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbiB8IERlYnVnRW5kcG9pbnRDb25maWd1cmF0aW9ufSBbZGVidWdFbmRwb2ludF0gLSBFbmFibGUgdGhlIGJ1aWx0LWluIGRlYnVnIGVuZHBvaW50LiBEZWZhdWx0cyB0byBmYWxzZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGlyZWN0b3J5XSAtIEJhc2UgZGlyZWN0b3J5IGZvciB0aGUgcHJvamVjdC5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2VuZm9yY2VUZW5hbnREYXRhYmFzZVNjb3Blc10gLSBSZXF1aXJlIHRlbmFudC1zd2l0Y2hlZCBtb2RlbCBxdWVyaWVzIHRvIHJlc29sdmUgYSB0ZW5hbnQgZGF0YWJhc2UgaWRlbnRpZmllci4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZW52aXJvbm1lbnRdIC0gQ3VycmVudCBlbnZpcm9ubWVudCBuYW1lLlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL2Vudmlyb25tZW50LWhhbmRsZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gZW52aXJvbm1lbnRIYW5kbGVyIC0gRW52aXJvbm1lbnQgaGFuZGxlciBpbnN0YW5jZS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2V4cG9zZUludGVybmFsRXJyb3JzVG9DbGllbnRzXSAtIFJldHVybiB1bmV4cGVjdGVkIGludGVybmFsIGVycm9yIGRldGFpbHMgaW4gY2xpZW50IEFQSSBwYXlsb2FkcyBvdXRzaWRlIHByb2R1Y3Rpb24uIERlZmF1bHRzIHRvIGZhbHNlLlxuICogQHByb3BlcnR5IHtIdHRwU2VydmVyQ29uZmlndXJhdGlvbn0gW2h0dHBTZXJ2ZXJdIC0gRGVmYXVsdCBIVFRQIHNlcnZlciBjb25maWd1cmF0aW9uIGZvciBhcHBsaWNhdGlvbnMgc3RhcnRlZCBmcm9tIHRoaXMgY29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7TG9nZ2luZ0NvbmZpZ3VyYXRpb259IFtsb2dnaW5nXSAtIExvZ2dpbmcgY29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7QmFja2dyb3VuZEpvYnNDb25maWd1cmF0aW9ufSBbYmFja2dyb3VuZEpvYnNdIC0gQmFja2dyb3VuZCBqb2JzIGNvbmZpZ3VyYXRpb24uXG4gKiBAcHJvcGVydHkge0JlYWNvbkNvbmZpZ3VyYXRpb259IFtiZWFjb25dIC0gQmVhY29uIGJyb2FkY2FzdCBidXMgY29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7U2NoZWR1bGVkQmFja2dyb3VuZEpvYnNDb25maWd1cmF0aW9uIHwgU2NoZWR1bGVkQmFja2dyb3VuZEpvYnNMb2FkZXJUeXBlfSBbc2NoZWR1bGVkQmFja2dyb3VuZEpvYnNdIC0gU2NoZWR1bGVkIGJhY2tncm91bmQgam9icyBjb25maWd1cmF0aW9uLlxuICogQHByb3BlcnR5IHtNYWlsZXJCYWNrZW5kfSBbbWFpbGVyQmFja2VuZF0gLSBNYWlsIGRlbGl2ZXJ5IGJhY2tlbmQuXG4gKiBAcHJvcGVydHkge2Z1bmN0aW9uKHtjb25maWd1cmF0aW9uOiBpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdCwgdHlwZTogc3RyaW5nfSkgOiB2b2lkfSBpbml0aWFsaXplTW9kZWxzIC0gSG9vayB0byByZWdpc3RlciBtb2RlbHMgZm9yIGEgZ2l2ZW4gaW5pdGlhbGl6YXRpb24gdHlwZS5cbiAqIEBwcm9wZXJ0eSB7SW5pdGlhbGl6ZXJzVHlwZX0gW2luaXRpYWxpemVyc10gLSBJbml0aWFsaXplciBsb2FkZXIgZm9yIGVudmlyb25tZW50IGJvb3RzdHJhcHBpbmcuXG4gKiBAcHJvcGVydHkge3N0cmluZyB8IGZ1bmN0aW9uKCkgOiBzdHJpbmd9IGxvY2FsZSAtIERlZmF1bHQgbG9jYWxlIG9yIGxvY2FsZSByZXNvbHZlci5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IGxvY2FsZXMgLSBTdXBwb3J0ZWQgbG9jYWxlcy5cbiAqIEBwcm9wZXJ0eSB7TG9jYWxlRmFsbGJhY2tzVHlwZX0gbG9jYWxlRmFsbGJhY2tzIC0gTG9jYWxlIGZhbGxiYWNrIG1hcC5cbiAqIEBwcm9wZXJ0eSB7U3RydWN0dXJlU3FsQ29uZmlndXJhdGlvbn0gW3N0cnVjdHVyZVNxbF0gLSBTdHJ1Y3R1cmUgU1FMIGdlbmVyYXRpb24gY29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7VGVuYW50UmVzb2x2ZXJUeXBlfSBbdGVuYW50UmVzb2x2ZXJdIC0gUmVzb2x2ZXIgZm9yIGNyZWF0aW5nIHJlcXVlc3Qtc2NvcGVkIHRlbmFudCBjb250ZXh0IG9iamVjdHMuXG4gKiBAcHJvcGVydHkge1RlbmFudERhdGFiYXNlUmVzb2x2ZXJUeXBlfSBbdGVuYW50RGF0YWJhc2VSZXNvbHZlcl0gLSBSZXNvbHZlciBmb3IgZGVyaXZpbmcgdGVuYW50LXNwZWNpZmljIGRhdGFiYXNlIGNvbmZpZyBvdmVycmlkZXMuXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIFRlbmFudERhdGFiYXNlUHJvdmlkZXJUeXBlPn0gW3RlbmFudERhdGFiYXNlUHJvdmlkZXJzXSAtIFRlbmFudCBkYXRhYmFzZSBsaWZlY3ljbGUgcHJvdmlkZXJzIGtleWVkIGJ5IGRhdGFiYXNlIGlkZW50aWZpZXIuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3Rlc3RpbmddIC0gUGF0aCB0byB0aGUgdGVzdGluZyBjb25maWd1cmF0aW9uIGZpbGUuXG4gKiBAcHJvcGVydHkge251bWJlciB8ICgoKSA9PiBudW1iZXIpfSBbdGltZXpvbmVPZmZzZXRNaW51dGVzXSAtIERlZmF1bHQgdGltZXpvbmUgb2Zmc2V0IGluIG1pbnV0ZXMuXG4gKiBAcHJvcGVydHkge3N0cmluZyB8IHN0cmluZ1tdfSBbdHJ1c3RlZFByb3hpZXNdIC0gVHJ1c3RlZCByZXZlcnNlIHByb3h5IGFkZHJlc3MgcmFuZ2VzIHVzZWQgdG8gcmVzb2x2ZSByZXF1ZXN0IHJlbW90ZSBhZGRyZXNzZXMgZnJvbSBmb3J3YXJkaW5nIGhlYWRlcnMuXG4gKiBAcHJvcGVydHkge251bWJlciB8ICgoKSA9PiBudW1iZXIpfSBbcmVxdWVzdFRpbWVvdXRNc10gLSBUaW1lb3V0IGluIHNlY29uZHMgZm9yIGNvbXBsZXRpbmcgYSBIVFRQIHJlcXVlc3QuXG4gKiBAcHJvcGVydHkge1JvdXRlUmVzb2x2ZXJIb29rVHlwZVtdfSBbcm91dGVSZXNvbHZlckhvb2tzXSAtIEhvb2sgY2FsbGJhY2tzIHRoYXQgY2FuIGhpamFjayB1bnJlc29sdmVkIHJvdXRlcy5cbiAqIEBwcm9wZXJ0eSB7V2Vic29ja2V0Q2hhbm5lbFJlc29sdmVyVHlwZX0gW3dlYnNvY2tldENoYW5uZWxSZXNvbHZlcl0gLSBSZXNvbHZlIGEgd2Vic29ja2V0IGNoYW5uZWwgY2xhc3MvaW5zdGFuY2UgZm9yIGVhY2ggY29ubmVjdGlvbi5cbiAqIEBwcm9wZXJ0eSB7V2Vic29ja2V0TWVzc2FnZUhhbmRsZXJSZXNvbHZlclR5cGV9IFt3ZWJzb2NrZXRNZXNzYWdlSGFuZGxlclJlc29sdmVyXSAtIFJlc29sdmUgYSByYXcgd2Vic29ja2V0IG1lc3NhZ2UgaGFuZGxlciBmb3IgZWFjaCBjb25uZWN0aW9uLlxuICovXG5cbmV4cG9ydCBjb25zdCBub3RoaW5nID0ge31cbiJdfQ==
@@ -15,6 +15,15 @@ export default class VelociousConfiguration {
15
15
  _beaconClient: import("./beacon/client.js").default | import("./beacon/in-process-client.js").default | undefined;
16
16
  /** @type {Promise<import("./beacon/client.js").default | import("./beacon/in-process-client.js").default | undefined> | undefined} */
17
17
  _beaconConnectPromise: Promise<import("./beacon/client.js").default | import("./beacon/in-process-client.js").default | undefined> | undefined;
18
+ /** @type {ReturnType<typeof setTimeout> | undefined} - Pending "beacon still unreachable" report timer. */
19
+ _beaconReportTimer: ReturnType<typeof setTimeout> | undefined;
20
+ /** @type {boolean} - Whether the current beacon outage has already been reported. */
21
+ _beaconOutageReported: boolean;
22
+ /** @type {{stage: "beacon-connect" | "beacon-disconnect", error: Error} | undefined} - Latest beacon-down details, reported only if the outage is sustained. */
23
+ _beaconLastDownError: {
24
+ stage: "beacon-connect" | "beacon-disconnect";
25
+ error: Error;
26
+ } | undefined;
18
27
  _scheduledBackgroundJobs: import("./configuration-types.js").ScheduledBackgroundJobsConfiguration | import("./configuration-types.js").ScheduledBackgroundJobsLoaderType | undefined;
19
28
  _attachments: import("./configuration-types.js").AttachmentsConfiguration;
20
29
  _backendProjects: import("./configuration-types.js").BackendProjectConfiguration[];
@@ -69,6 +78,8 @@ export default class VelociousConfiguration {
69
78
  _websocketChannelClasses: Map<string, typeof import("./http-server/websocket-channel.js").default>;
70
79
  /** @type {Map<string, Set<import("./http-server/websocket-channel.js").default>>} - channelType → live subscriptions across all sessions. */
71
80
  _websocketChannelSubscriptions: Map<string, Set<import("./http-server/websocket-channel.js").default>>;
81
+ /** @type {Set<import("./http-server/client/websocket-session.js").default>} - Live websocket sessions, including paused sessions within the grace window. */
82
+ _websocketSessions: Set<import("./http-server/client/websocket-session.js").default>;
72
83
  /** @type {Map<string, {session: import("./http-server/client/websocket-session.js").default, graceTimer: ReturnType<typeof setTimeout>, pausedAt: number}>} - sessionId → paused session awaiting resume. */
73
84
  _pausedWebsocketSessions: Map<string, {
74
85
  session: import("./http-server/client/websocket-session.js").default;
@@ -320,7 +331,7 @@ export default class VelociousConfiguration {
320
331
  * Setting `enabled: false` explicitly disables it even when env vars
321
332
  * are present (useful for tests). When `inProcess: true` is set,
322
333
  * env-var host/port are ignored — code-level config wins.
323
- * @returns {{enabled: boolean, host: string, port: number, peerType?: string, inProcess: boolean}} - Beacon configuration with defaults applied.
334
+ * @returns {{enabled: boolean, host: string, port: number, peerType?: string, inProcess: boolean, unreachableReportMs: number}} - Beacon configuration with defaults applied.
324
335
  */
325
336
  getBeaconConfig(): {
326
337
  enabled: boolean;
@@ -328,6 +339,7 @@ export default class VelociousConfiguration {
328
339
  port: number;
329
340
  peerType?: string;
330
341
  inProcess: boolean;
342
+ unreachableReportMs: number;
331
343
  };
332
344
  /**
333
345
  * @param {import("./configuration-types.js").BeaconConfiguration} beacon - Beacon config.
@@ -380,6 +392,30 @@ export default class VelociousConfiguration {
380
392
  config: ReturnType<VelociousConfiguration["getBeaconConfig"]>;
381
393
  peerType?: string | undefined;
382
394
  }): Promise<import("./beacon/client.js").default | import("./beacon/in-process-client.js").default>;
395
+ /**
396
+ * Records a Beacon connect/disconnect failure without reporting it immediately.
397
+ * The BeaconClient auto-reconnects, so brief outages (e.g. a deploy restarting
398
+ * the broker) are expected; only if the beacon is still unreachable after
399
+ * `reportAfterMs` is a single framework-error surfaced via `_reportBeaconError`.
400
+ * A subsequent `connect` (see `_handleBeaconUp`) cancels the pending report.
401
+ * @param {object} args - Options.
402
+ * @param {"beacon-connect" | "beacon-disconnect"} args.stage - Failure stage.
403
+ * @param {Error} args.error - Error instance.
404
+ * @param {number} args.reportAfterMs - Grace window before a sustained outage is reported.
405
+ * @returns {void}
406
+ */
407
+ _handleBeaconDown({ stage, error, reportAfterMs }: {
408
+ stage: "beacon-connect" | "beacon-disconnect";
409
+ error: Error;
410
+ reportAfterMs: number;
411
+ }): void;
412
+ /**
413
+ * Clears beacon-down state on a (re)connect. A blip that recovers within the
414
+ * grace window is never reported; if a sustained outage had already been
415
+ * reported, the state resets so a future outage can report again.
416
+ * @returns {void}
417
+ */
418
+ _handleBeaconUp(): void;
383
419
  /**
384
420
  * Surfaces a Beacon failure on the framework error channel. Mirrors
385
421
  * the pattern used by `request-runner.js` for HTTP errors. When no
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/configuration.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/configuration.js"],"names":[],"mappings":"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"}