ngx-extended-pdf-viewer 16.2.1 → 16.2.2

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.
package/changelog.md CHANGED
@@ -430,3 +430,4 @@
430
430
  - 16.1.0 #1687 add line endings to the text export (`getPageAsText()`); updated the bleeding edge branch; added type definitions for PdfDocumentProxy; #1677 allow developers to hide both editor buttons independently (as opposed to either hiding or showing both of them)
431
431
  - 16.2.0 updated to pdf.js 3.4 (stable branch) and 3.5 (bleeding edge branch); #1677 allow developers to modify the responsive design breakpoints
432
432
  - 16.2.1 #1694 and #1622 repaired server side rendering
433
+ - 16.2.2 #1096 improved compatibility to Angular 12
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci1hcHBsaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvb3B0aW9ucy9wZGYtdmlld2VyLWFwcGxpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25hbENvbnRlbnRDb25maWcgfSBmcm9tICcuL29wdGlvbmFsX2NvbnRlbnRfY29uZmlnJztcbmltcG9ydCB7IFBhc3N3b3JkUHJvbXB0IH0gZnJvbSAnLi9wYXNzd29yZC1wcm9tcHQnO1xuaW1wb3J0IHsgQW5ub3RhdGlvblN0b3JhZ2UsIFByaW50QW5ub3RhdGlvblN0b3JhZ2UgfSBmcm9tICcuL3BkZi1hbm5vdGF0aW9uLXN0b3JhZ2UnO1xuaW1wb3J0IHsgSUV2ZW50QnVzIH0gZnJvbSAnLi9wZGYtZXZlbnQtYnVzJztcbmltcG9ydCB7IFBhZ2VWaWV3cG9ydCB9IGZyb20gJy4vcGRmLXBhZ2Utdmlldy1wb3J0JztcbmltcG9ydCB7IElQREZWaWV3ZXIgfSBmcm9tICcuL3BkZi12aWV3ZXInO1xuaW1wb3J0IHsgSVBERlZpZXdlckFwcENvbmZpZyB9IGZyb20gJy4vcGRmLXZpZXdlci1hcHAtY29uZmlnJztcblxuZXhwb3J0IGludGVyZmFjZSBJV2ViTDEwbiB7XG4gIGdldChrZXk6IHN0cmluZywgYXJnczogYW55LCBmYWxsYmFja1N0cmluZzogc3RyaW5nKTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdIaXN0b3J5IHtcbiAgZ2V0KG5hbWU6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xufVxuXG4vKipcbiAqIFBhZ2UgdGV4dCBjb250ZW50LlxuICovXG5leHBvcnQgdHlwZSBUZXh0Q29udGVudCA9IHtcbiAgLyoqXG4gICAqIC0gQXJyYXkgb2ZcbiAgICoge0BsaW5rIFRleHRJdGVtIH0gYW5kIHtAbGluayBUZXh0TWFya2VkQ29udGVudCB9IG9iamVjdHMuIFRleHRNYXJrZWRDb250ZW50XG4gICAqIGl0ZW1zIGFyZSBpbmNsdWRlZCB3aGVuIGluY2x1ZGVNYXJrZWRDb250ZW50IGlzIHRydWUuXG4gICAqL1xuICBpdGVtczogQXJyYXk8VGV4dEl0ZW0gfCBUZXh0TWFya2VkQ29udGVudD47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbmRDb250cm9sbGVyIHtcbiAgX3BhZ2VNYXRjaGVzOiBBcnJheTxhbnk+O1xuICBfcGFnZU1hdGNoZXNDb2xvcjogQXJyYXk8bnVtYmVyPjtcbiAgX3BhZ2VNYXRjaGVzTGVuZ3RoOiBBcnJheTxudW1iZXI+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhIHtcbiAgZ2V0UmF3KCk6IGFueTtcbiAgZ2V0KG5hbWU6IGFueSk6IGFueTtcbiAgZ2V0QWxsKCk6IGFueTtcbiAgaGFzKG5hbWU6IGFueSk6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlSGFuZGxlciB7XG4gIHNvdXJjZU5hbWU6IGFueTtcbiAgdGFyZ2V0TmFtZTogYW55O1xuICBjb21PYmo6IGFueTtcbiAgY2FsbGJhY2tJZDogbnVtYmVyO1xuICBzdHJlYW1JZDogbnVtYmVyO1xuICBzdHJlYW1TaW5rczogYW55O1xuICBzdHJlYW1Db250cm9sbGVyczogYW55O1xuICBjYWxsYmFja0NhcGFiaWxpdGllczogYW55O1xuICBhY3Rpb25IYW5kbGVyOiBhbnk7XG4gIG9uKGFjdGlvbk5hbWU6IGFueSwgaGFuZGxlcjogYW55KTogdm9pZDtcbiAgLyoqXG4gICAqIFNlbmRzIGEgbWVzc2FnZSB0byB0aGUgY29tT2JqIHRvIGludm9rZSB0aGUgYWN0aW9uIHdpdGggdGhlIHN1cHBsaWVkIGRhdGEuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhY3Rpb25OYW1lIC0gQWN0aW9uIHRvIGNhbGwuXG4gICAqIEBwYXJhbSB7SlNPTn0gZGF0YSAtIEpTT04gZGF0YSB0byBzZW5kLlxuICAgKiBAcGFyYW0ge0FycmF5fSBbdHJhbnNmZXJzXSAtIExpc3Qgb2YgdHJhbnNmZXJzL0FycmF5QnVmZmVycy5cbiAgICovXG4gIHNlbmQoYWN0aW9uTmFtZTogc3RyaW5nLCBkYXRhOiBKU09OLCB0cmFuc2ZlcnM/OiBhbnlbXSB8IHVuZGVmaW5lZCk6IHZvaWQ7XG4gIC8qKlxuICAgKiBTZW5kcyBhIG1lc3NhZ2UgdG8gdGhlIGNvbU9iaiB0byBpbnZva2UgdGhlIGFjdGlvbiB3aXRoIHRoZSBzdXBwbGllZCBkYXRhLlxuICAgKiBFeHBlY3RzIHRoYXQgdGhlIG90aGVyIHNpZGUgd2lsbCBjYWxsYmFjayB3aXRoIHRoZSByZXNwb25zZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFjdGlvbk5hbWUgLSBBY3Rpb24gdG8gY2FsbC5cbiAgICogQHBhcmFtIHtKU09OfSBkYXRhIC0gSlNPTiBkYXRhIHRvIHNlbmQuXG4gICAqIEBwYXJhbSB7QXJyYXl9IFt0cmFuc2ZlcnNdIC0gTGlzdCBvZiB0cmFuc2ZlcnMvQXJyYXlCdWZmZXJzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gUHJvbWlzZSB0byBiZSByZXNvbHZlZCB3aXRoIHJlc3BvbnNlIGRhdGEuXG4gICAqL1xuICBzZW5kV2l0aFByb21pc2UoYWN0aW9uTmFtZTogc3RyaW5nLCBkYXRhOiBKU09OLCB0cmFuc2ZlcnM/OiBhbnlbXSB8IHVuZGVmaW5lZCk6IFByb21pc2U8YW55PjtcbiAgLyoqXG4gICAqIFNlbmRzIGEgbWVzc2FnZSB0byB0aGUgY29tT2JqIHRvIGludm9rZSB0aGUgYWN0aW9uIHdpdGggdGhlIHN1cHBsaWVkIGRhdGEuXG4gICAqIEV4cGVjdCB0aGF0IHRoZSBvdGhlciBzaWRlIHdpbGwgY2FsbGJhY2sgdG8gc2lnbmFsICdzdGFydF9jb21wbGV0ZScuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhY3Rpb25OYW1lIC0gQWN0aW9uIHRvIGNhbGwuXG4gICAqIEBwYXJhbSB7SlNPTn0gZGF0YSAtIEpTT04gZGF0YSB0byBzZW5kLlxuICAgKiBAcGFyYW0ge09iamVjdH0gcXVldWVpbmdTdHJhdGVneSAtIFN0cmF0ZWd5IHRvIHNpZ25hbCBiYWNrcHJlc3N1cmUgYmFzZWQgb25cbiAgICogICAgICAgICAgICAgICAgIGludGVybmFsIHF1ZXVlLlxuICAgKiBAcGFyYW0ge0FycmF5fSBbdHJhbnNmZXJzXSAtIExpc3Qgb2YgdHJhbnNmZXJzL0FycmF5QnVmZmVycy5cbiAgICogQHJldHVybnMge1JlYWRhYmxlU3RyZWFtfSBSZWFkYWJsZVN0cmVhbSB0byByZWFkIGRhdGEgaW4gY2h1bmtzLlxuICAgKi9cbiAgc2VuZFdpdGhTdHJlYW0oYWN0aW9uTmFtZTogc3RyaW5nLCBkYXRhOiBKU09OLCBxdWV1ZWluZ1N0cmF0ZWd5OiBPYmplY3QsIHRyYW5zZmVycz86IGFueVtdIHwgdW5kZWZpbmVkKTogUmVhZGFibGVTdHJlYW07XG5cbiAgZGVzdHJveSgpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBERldvcmtlciB7XG4gIG5hbWU6IGFueTtcbiAgZGVzdHJveWVkOiBib29sZWFuO1xuICB2ZXJib3NpdHk6IG51bWJlcjtcblxuICAvKipcbiAgICogUHJvbWlzZSBmb3Igd29ya2VyIGluaXRpYWxpemF0aW9uIGNvbXBsZXRpb24uXG4gICAqIEB0eXBlIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgZ2V0IHByb21pc2UoKTogUHJvbWlzZTx2b2lkPjtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGB3b3JrZXJQb3J0YCwgd2hlbiBpdCBleGlzdHMuXG4gICAqIEB0eXBlIHtXb3JrZXJ9XG4gICAqL1xuICBnZXQgcG9ydCgpOiBXb3JrZXI7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBNZXNzYWdlSGFuZGxlci1pbnN0YW5jZS5cbiAgICogQHR5cGUge01lc3NhZ2VIYW5kbGVyfVxuICAgKi9cbiAgZ2V0IG1lc3NhZ2VIYW5kbGVyKCk6IE1lc3NhZ2VIYW5kbGVyO1xuICBfaW5pdGlhbGl6ZUZyb21Qb3J0KHBvcnQ6IGFueSk6IHZvaWQ7XG4gIF9pbml0aWFsaXplKCk6IHZvaWQ7XG4gIF9zZXR1cEZha2VXb3JrZXIoKTogdm9pZDtcbiAgLyoqXG4gICAqIERlc3Ryb3lzIHRoZSB3b3JrZXIgaW5zdGFuY2UuXG4gICAqL1xuICBkZXN0cm95KCk6IHZvaWQ7XG59XG5cbi8qKlxuICogRG9jdW1lbnQgaW5pdGlhbGl6YXRpb24gLyBsb2FkaW5nIHBhcmFtZXRlcnMgb2JqZWN0LlxuICovXG5leHBvcnQgdHlwZSBEb2N1bWVudEluaXRQYXJhbWV0ZXJzID0ge1xuICAvKipcbiAgICogLSBUaGUgVVJMIG9mIHRoZSBQREYuXG4gICAqL1xuICB1cmw/OiBzdHJpbmcgfCBVUkwgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIEJpbmFyeSBQREYgZGF0YS5cbiAgICogVXNlIFR5cGVkQXJyYXlzIChVaW50OEFycmF5KSB0byBpbXByb3ZlIHRoZSBtZW1vcnkgdXNhZ2UuIElmIFBERiBkYXRhIGlzXG4gICAqIEJBU0U2NC1lbmNvZGVkLCB1c2UgYGF0b2IoKWAgdG8gY29udmVydCBpdCB0byBhIGJpbmFyeSBzdHJpbmcgZmlyc3QuXG4gICAqXG4gICAqIE5PVEU6IElmIFR5cGVkQXJyYXlzIGFyZSB1c2VkIHRoZXkgd2lsbCBnZW5lcmFsbHkgYmUgdHJhbnNmZXJyZWQgdG8gdGhlXG4gICAqIHdvcmtlci10aHJlYWQuIFRoaXMgd2lsbCBoZWxwIHJlZHVjZSBtYWluLXRocmVhZCBtZW1vcnkgdXNhZ2UsIGhvd2V2ZXJcbiAgICogaXQgd2lsbCB0YWtlIG93bmVyc2hpcCBvZiB0aGUgVHlwZWRBcnJheXMuXG4gICAqL1xuICBkYXRhPzogQmluYXJ5RGF0YSB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gQmFzaWMgYXV0aGVudGljYXRpb24gaGVhZGVycy5cbiAgICovXG4gIGh0dHBIZWFkZXJzPzogT2JqZWN0IHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBJbmRpY2F0ZXMgd2hldGhlciBvciBub3RcbiAgICogY3Jvc3Mtc2l0ZSBBY2Nlc3MtQ29udHJvbCByZXF1ZXN0cyBzaG91bGQgYmUgbWFkZSB1c2luZyBjcmVkZW50aWFscyBzdWNoXG4gICAqIGFzIGNvb2tpZXMgb3IgYXV0aG9yaXphdGlvbiBoZWFkZXJzLiBUaGUgZGVmYXVsdCBpcyBgZmFsc2VgLlxuICAgKi9cbiAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gRm9yIGRlY3J5cHRpbmcgcGFzc3dvcmQtcHJvdGVjdGVkIFBERnMuXG4gICAqL1xuICBwYXNzd29yZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gVGhlIFBERiBmaWxlIGxlbmd0aC4gSXQncyB1c2VkIGZvciBwcm9ncmVzc1xuICAgKiByZXBvcnRzIGFuZCByYW5nZSByZXF1ZXN0cyBvcGVyYXRpb25zLlxuICAgKi9cbiAgbGVuZ3RoPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBBbGxvd3MgZm9yIHVzaW5nIGEgY3VzdG9tIHJhbmdlXG4gICAqIHRyYW5zcG9ydCBpbXBsZW1lbnRhdGlvbi5cbiAgICovXG4gIHJhbmdlPzogYW55IHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBTcGVjaWZ5IG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIGZldGNoZWRcbiAgICogcGVyIHJhbmdlIHJlcXVlc3QuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHtAbGluayBERUZBVUxUX1JBTkdFX0NIVU5LX1NJWkUgfS5cbiAgICovXG4gIHJhbmdlQ2h1bmtTaXplPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBUaGUgd29ya2VyIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBsb2FkaW5nIGFuZFxuICAgKiBwYXJzaW5nIHRoZSBQREYgZGF0YS5cbiAgICovXG4gIHdvcmtlcj86IFBERldvcmtlciB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gQ29udHJvbHMgdGhlIGxvZ2dpbmcgbGV2ZWw7IHRoZSBjb25zdGFudHNcbiAgICogZnJvbSB7QGxpbmsgVmVyYm9zaXR5TGV2ZWwgfSBzaG91bGQgYmUgdXNlZC5cbiAgICovXG4gIHZlcmJvc2l0eT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gVGhlIGJhc2UgVVJMIG9mIHRoZSBkb2N1bWVudCwgdXNlZCB3aGVuXG4gICAqIGF0dGVtcHRpbmcgdG8gcmVjb3ZlciB2YWxpZCBhYnNvbHV0ZSBVUkxzIGZvciBhbm5vdGF0aW9ucywgYW5kIG91dGxpbmVcbiAgICogaXRlbXMsIHRoYXQgKGluY29ycmVjdGx5KSBvbmx5IHNwZWNpZnkgcmVsYXRpdmUgVVJMcy5cbiAgICovXG4gIGRvY0Jhc2VVcmw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIFRoZSBVUkwgd2hlcmUgdGhlIHByZWRlZmluZWQgQWRvYmUgQ01hcHMgYXJlXG4gICAqIGxvY2F0ZWQuIEluY2x1ZGUgdGhlIHRyYWlsaW5nIHNsYXNoLlxuICAgKi9cbiAgY01hcFVybD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gU3BlY2lmaWVzIGlmIHRoZSBBZG9iZSBDTWFwcyBhcmUgYmluYXJ5XG4gICAqIHBhY2tlZCBvciBub3QuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGB0cnVlYC5cbiAgICovXG4gIGNNYXBQYWNrZWQ/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBUaGUgZmFjdG9yeSB0aGF0IHdpbGwgYmUgdXNlZCB3aGVuXG4gICAqIHJlYWRpbmcgYnVpbHQtaW4gQ01hcCBmaWxlcy4gUHJvdmlkaW5nIGEgY3VzdG9tIGZhY3RvcnkgaXMgdXNlZnVsIGZvclxuICAgKiBlbnZpcm9ubWVudHMgd2l0aG91dCBGZXRjaCBBUEkgb3IgYFhNTEh0dHBSZXF1ZXN0YCBzdXBwb3J0LCBzdWNoIGFzXG4gICAqIE5vZGUuanMuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHtET01DTWFwUmVhZGVyRmFjdG9yeX0uXG4gICAqL1xuICBDTWFwUmVhZGVyRmFjdG9yeT86IE9iamVjdCB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gV2hlbiBgdHJ1ZWAsIGZvbnRzIHRoYXQgYXJlbid0XG4gICAqIGVtYmVkZGVkIGluIHRoZSBQREYgZG9jdW1lbnQgd2lsbCBmYWxsYmFjayB0byBhIHN5c3RlbSBmb250LlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgdHJ1ZWAgaW4gd2ViIGVudmlyb25tZW50cyBhbmQgYGZhbHNlYCBpbiBOb2RlLmpzO1xuICAgKiB1bmxlc3MgYGRpc2FibGVGb250RmFjZSA9PT0gdHJ1ZWAgaW4gd2hpY2ggY2FzZSB0aGlzIGRlZmF1bHRzIHRvIGBmYWxzZWBcbiAgICogcmVnYXJkbGVzcyBvZiB0aGUgZW52aXJvbm1lbnQgKHRvIHByZXZlbnQgY29tcGxldGVseSBicm9rZW4gZm9udHMpLlxuICAgKi9cbiAgdXNlU3lzdGVtRm9udHM/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBUaGUgVVJMIHdoZXJlIHRoZSBzdGFuZGFyZCBmb250XG4gICAqIGZpbGVzIGFyZSBsb2NhdGVkLiBJbmNsdWRlIHRoZSB0cmFpbGluZyBzbGFzaC5cbiAgICovXG4gIHN0YW5kYXJkRm9udERhdGFVcmw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIFRoZSBmYWN0b3J5IHRoYXQgd2lsbCBiZSB1c2VkXG4gICAqIHdoZW4gcmVhZGluZyB0aGUgc3RhbmRhcmQgZm9udCBmaWxlcy4gUHJvdmlkaW5nIGEgY3VzdG9tIGZhY3RvcnkgaXMgdXNlZnVsXG4gICAqIGZvciBlbnZpcm9ubWVudHMgd2l0aG91dCBGZXRjaCBBUEkgb3IgYFhNTEh0dHBSZXF1ZXN0YCBzdXBwb3J0LCBzdWNoIGFzXG4gICAqIE5vZGUuanMuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHtET01TdGFuZGFyZEZvbnREYXRhRmFjdG9yeX0uXG4gICAqL1xuICBTdGFuZGFyZEZvbnREYXRhRmFjdG9yeT86IE9iamVjdCB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gRW5hYmxlIHVzaW5nIHRoZSBGZXRjaCBBUEkgaW4gdGhlXG4gICAqIHdvcmtlci10aHJlYWQgd2hlbiByZWFkaW5nIENNYXAgYW5kIHN0YW5kYXJkIGZvbnQgZmlsZXMuIFdoZW4gYHRydWVgLFxuICAgKiB0aGUgYENNYXBSZWFkZXJGYWN0b3J5YCBhbmQgYFN0YW5kYXJkRm9udERhdGFGYWN0b3J5YCBvcHRpb25zIGFyZSBpZ25vcmVkLlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgdHJ1ZWAgaW4gd2ViIGVudmlyb25tZW50cyBhbmQgYGZhbHNlYCBpbiBOb2RlLmpzLlxuICAgKi9cbiAgdXNlV29ya2VyRmV0Y2g/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBSZWplY3QgY2VydGFpbiBwcm9taXNlcywgZS5nLlxuICAgKiBgZ2V0T3BlcmF0b3JMaXN0YCwgYGdldFRleHRDb250ZW50YCwgYW5kIGBSZW5kZXJUYXNrYCwgd2hlbiB0aGUgYXNzb2NpYXRlZFxuICAgKiBQREYgZGF0YSBjYW5ub3QgYmUgc3VjY2Vzc2Z1bGx5IHBhcnNlZCwgaW5zdGVhZCBvZiBhdHRlbXB0aW5nIHRvIHJlY292ZXJcbiAgICogd2hhdGV2ZXIgcG9zc2libGUgb2YgdGhlIGRhdGEuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBmYWxzZWAuXG4gICAqL1xuICBzdG9wQXRFcnJvcnM/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBUaGUgbWF4aW11bSBhbGxvd2VkIGltYWdlIHNpemUgaW4gdG90YWxcbiAgICogcGl4ZWxzLCBpLmUuIHdpZHRoICogaGVpZ2h0LiBJbWFnZXMgYWJvdmUgdGhpcyB2YWx1ZSB3aWxsIG5vdCBiZSByZW5kZXJlZC5cbiAgICogVXNlIC0xIGZvciBubyBsaW1pdCwgd2hpY2ggaXMgYWxzbyB0aGUgZGVmYXVsdCB2YWx1ZS5cbiAgICovXG4gIG1heEltYWdlU2l6ZT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gRGV0ZXJtaW5lcyBpZiB3ZSBjYW4gZXZhbHVhdGUgc3RyaW5nc1xuICAgKiBhcyBKYXZhU2NyaXB0LiBQcmltYXJpbHkgdXNlZCB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIG9mIGZvbnQgcmVuZGVyaW5nLCBhbmRcbiAgICogd2hlbiBwYXJzaW5nIFBERiBmdW5jdGlvbnMuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGB0cnVlYC5cbiAgICovXG4gIGlzRXZhbFN1cHBvcnRlZD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIERldGVybWluZXMgaWYgd2UgY2FuIHVzZVxuICAgKiBgT2Zmc2NyZWVuQ2FudmFzYCBpbiB0aGUgd29ya2VyLiBQcmltYXJpbHkgdXNlZCB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIG9mXG4gICAqIGltYWdlIGNvbnZlcnNpb24vcmVuZGVyaW5nLlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgdHJ1ZWAgaW4gd2ViIGVudmlyb25tZW50cyBhbmQgYGZhbHNlYCBpbiBOb2RlLmpzLlxuICAgKi9cbiAgaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBCeSBkZWZhdWx0IGZvbnRzIGFyZSBjb252ZXJ0ZWQgdG9cbiAgICogT3BlblR5cGUgZm9udHMgYW5kIGxvYWRlZCB2aWEgdGhlIEZvbnQgTG9hZGluZyBBUEkgb3IgYEBmb250LWZhY2VgIHJ1bGVzLlxuICAgKiBJZiBkaXNhYmxlZCwgZm9udHMgd2lsbCBiZSByZW5kZXJlZCB1c2luZyBhIGJ1aWx0LWluIGZvbnQgcmVuZGVyZXIgdGhhdFxuICAgKiBjb25zdHJ1Y3RzIHRoZSBnbHlwaHMgd2l0aCBwcmltaXRpdmUgcGF0aCBjb21tYW5kcy5cbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgYGZhbHNlYCBpbiB3ZWIgZW52aXJvbm1lbnRzIGFuZCBgdHJ1ZWAgaW4gTm9kZS5qcy5cbiAgICovXG4gIGRpc2FibGVGb250RmFjZT86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIEluY2x1ZGUgYWRkaXRpb25hbCBwcm9wZXJ0aWVzLFxuICAgKiB3aGljaCBhcmUgdW51c2VkIGR1cmluZyByZW5kZXJpbmcgb2YgUERGIGRvY3VtZW50cywgd2hlbiBleHBvcnRpbmcgdGhlXG4gICAqIHBhcnNlZCBmb250IGRhdGEgZnJvbSB0aGUgd29ya2VyLXRocmVhZC4gVGhpcyBtYXkgYmUgdXNlZnVsIGZvciBkZWJ1Z2dpbmdcbiAgICogcHVycG9zZXMgKGFuZCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSksIGJ1dCBub3RlIHRoYXQgaXQgd2lsbCBsZWFkIHRvXG4gICAqIGluY3JlYXNlZCBtZW1vcnkgdXNhZ2UuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBmYWxzZWAuXG4gICAqL1xuICBmb250RXh0cmFQcm9wZXJ0aWVzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gUmVuZGVyIFhmYSBmb3JtcyBpZiBhbnkuXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBmYWxzZWAuXG4gICAqL1xuICBlbmFibGVYZmE/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBTcGVjaWZ5IGFuIGV4cGxpY2l0IGRvY3VtZW50XG4gICAqIGNvbnRleHQgdG8gY3JlYXRlIGVsZW1lbnRzIHdpdGggYW5kIHRvIGxvYWQgcmVzb3VyY2VzLCBzdWNoIGFzIGZvbnRzLFxuICAgKiBpbnRvLiBEZWZhdWx0cyB0byB0aGUgY3VycmVudCBkb2N1bWVudC5cbiAgICovXG4gIG93bmVyRG9jdW1lbnQ/OiBIVE1MRG9jdW1lbnQgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIERpc2FibGUgcmFuZ2UgcmVxdWVzdCBsb2FkaW5nIG9mIFBERlxuICAgKiBmaWxlcy4gV2hlbiBlbmFibGVkLCBhbmQgaWYgdGhlIHNlcnZlciBzdXBwb3J0cyBwYXJ0aWFsIGNvbnRlbnQgcmVxdWVzdHMsXG4gICAqIHRoZW4gdGhlIFBERiB3aWxsIGJlIGZldGNoZWQgaW4gY2h1bmtzLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgZmFsc2VgLlxuICAgKi9cbiAgZGlzYWJsZVJhbmdlPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gRGlzYWJsZSBzdHJlYW1pbmcgb2YgUERGIGZpbGUgZGF0YS5cbiAgICogQnkgZGVmYXVsdCBQREYuanMgYXR0ZW1wdHMgdG8gbG9hZCBQREYgZmlsZXMgaW4gY2h1bmtzLiBUaGUgZGVmYXVsdCB2YWx1ZVxuICAgKiBpcyBgZmFsc2VgLlxuICAgKi9cbiAgZGlzYWJsZVN0cmVhbT86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIERpc2FibGUgcHJlLWZldGNoaW5nIG9mIFBERiBmaWxlXG4gICAqIGRhdGEuIFdoZW4gcmFuZ2UgcmVxdWVzdHMgYXJlIGVuYWJsZWQgUERGLmpzIHdpbGwgYXV0b21hdGljYWxseSBrZWVwXG4gICAqIGZldGNoaW5nIG1vcmUgZGF0YSBldmVuIGlmIGl0IGlzbid0IG5lZWRlZCB0byBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UuXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBmYWxzZWAuXG4gICAqXG4gICAqIE5PVEU6IEl0IGlzIGFsc28gbmVjZXNzYXJ5IHRvIGRpc2FibGUgc3RyZWFtaW5nLCBzZWUgYWJvdmUsIGluIG9yZGVyIGZvclxuICAgKiBkaXNhYmxpbmcgb2YgcHJlLWZldGNoaW5nIHRvIHdvcmsgY29ycmVjdGx5LlxuICAgKi9cbiAgZGlzYWJsZUF1dG9GZXRjaD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIEVuYWJsZXMgc3BlY2lhbCBob29rcyBmb3IgZGVidWdnaW5nIFBERi5qc1xuICAgKiAoc2VlIGB3ZWIvZGVidWdnZXIuanNgKS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYGZhbHNlYC5cbiAgICovXG4gIHBkZkJ1Zz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG59O1xuZXhwb3J0IHR5cGUgT25Qcm9ncmVzc1BhcmFtZXRlcnMgPSB7XG4gIC8qKlxuICAgKiAtIEN1cnJlbnRseSBsb2FkZWQgbnVtYmVyIG9mIGJ5dGVzLlxuICAgKi9cbiAgbG9hZGVkOiBudW1iZXI7XG4gIC8qKlxuICAgKiAtIFRvdGFsIG51bWJlciBvZiBieXRlcyBpbiB0aGUgUERGIGZpbGUuXG4gICAqL1xuICB0b3RhbDogbnVtYmVyO1xufTtcblxuLyoqXG4gKiBQYWdlIGFubm90YXRpb24gcGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IHR5cGUgR2V0QW5ub3RhdGlvbnNQYXJhbWV0ZXJzID0ge1xuICAvKipcbiAgICogLSBEZXRlcm1pbmVzIHRoZSBhbm5vdGF0aW9ucyB0aGF0IGFyZSBmZXRjaGVkLFxuICAgKiBjYW4gYmUgJ2Rpc3BsYXknICh2aWV3YWJsZSBhbm5vdGF0aW9ucyksICdwcmludCcgKHByaW50YWJsZSBhbm5vdGF0aW9ucyksXG4gICAqIG9yICdhbnknIChhbGwgYW5ub3RhdGlvbnMpLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAnZGlzcGxheScuXG4gICAqL1xuICBpbnRlbnQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBUZXh0SXRlbSA9IHtcbiAgLyoqXG4gICAqIC0gVGV4dCBjb250ZW50LlxuICAgKi9cbiAgc3RyOiBzdHJpbmc7XG4gIC8qKlxuICAgKiAtIFRleHQgZGlyZWN0aW9uOiAndHRiJywgJ2x0cicgb3IgJ3J0bCcuXG4gICAqL1xuICBkaXI6IHN0cmluZztcbiAgLyoqXG4gICAqIC0gVHJhbnNmb3JtYXRpb24gbWF0cml4LlxuICAgKi9cbiAgdHJhbnNmb3JtOiBBcnJheTxhbnk+O1xuICAvKipcbiAgICogLSBXaWR0aCBpbiBkZXZpY2Ugc3BhY2UuXG4gICAqL1xuICB3aWR0aDogbnVtYmVyO1xuICAvKipcbiAgICogLSBIZWlnaHQgaW4gZGV2aWNlIHNwYWNlLlxuICAgKi9cbiAgaGVpZ2h0OiBudW1iZXI7XG4gIC8qKlxuICAgKiAtIEZvbnQgbmFtZSB1c2VkIGJ5IFBERi5qcyBmb3IgY29udmVydGVkIGZvbnQuXG4gICAqL1xuICBmb250TmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogLSBJbmRpY2F0aW5nIGlmIHRoZSB0ZXh0IGNvbnRlbnQgaXMgZm9sbG93ZWQgYnkgYVxuICAgKiBsaW5lLWJyZWFrLlxuICAgKi9cbiAgaGFzRU9MOiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBQYWdlIHRleHQgbWFya2VkIGNvbnRlbnQgcGFydC5cbiAqL1xuZXhwb3J0IHR5cGUgVGV4dE1hcmtlZENvbnRlbnQgPSB7XG4gIC8qKlxuICAgKiAtIEVpdGhlciAnYmVnaW5NYXJrZWRDb250ZW50JyxcbiAgICogJ2JlZ2luTWFya2VkQ29udGVudFByb3BzJywgb3IgJ2VuZE1hcmtlZENvbnRlbnQnLlxuICAgKi9cbiAgdHlwZTogc3RyaW5nO1xuICAvKipcbiAgICogLSBUaGUgbWFya2VkIGNvbnRlbnQgaWRlbnRpZmllci4gT25seSB1c2VkIGZvciB0eXBlXG4gICAqICdiZWdpbk1hcmtlZENvbnRlbnRQcm9wcycuXG4gICAqL1xuICBpZDogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBBIFBERiBkb2N1bWVudCBhbmQgcGFnZSBpcyBidWlsdCBvZiBtYW55IG9iamVjdHMuIEUuZy4gdGhlcmUgYXJlIG9iamVjdHMgZm9yXG4gKiBmb250cywgaW1hZ2VzLCByZW5kZXJpbmcgY29kZSwgZXRjLiBUaGVzZSBvYmplY3RzIG1heSBnZXQgcHJvY2Vzc2VkIGluc2lkZSBvZlxuICogYSB3b3JrZXIuIFRoaXMgY2xhc3MgaW1wbGVtZW50cyBzb21lIGJhc2ljIG1ldGhvZHMgdG8gbWFuYWdlIHRoZXNlIG9iamVjdHMuXG4gKi9cbmRlY2xhcmUgaW50ZXJmYWNlIFBERk9iamVjdHMge1xuICAvKipcbiAgICogSWYgY2FsbGVkICp3aXRob3V0KiBjYWxsYmFjaywgdGhpcyByZXR1cm5zIHRoZSBkYXRhIG9mIGBvYmpJZGAgYnV0IHRoZVxuICAgKiBvYmplY3QgbmVlZHMgdG8gYmUgcmVzb2x2ZWQuIElmIGl0IGlzbid0LCB0aGlzIG1ldGhvZCB0aHJvd3MuXG4gICAqXG4gICAqIElmIGNhbGxlZCAqd2l0aCogYSBjYWxsYmFjaywgdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCB3aXRoIHRoZSBkYXRhIG9mIHRoZVxuICAgKiBvYmplY3Qgb25jZSB0aGUgb2JqZWN0IGlzIHJlc29sdmVkLiBUaGF0IG1lYW5zLCBpZiB5b3UgY2FsbCB0aGlzIG1ldGhvZFxuICAgKiBhbmQgdGhlIG9iamVjdCBpcyBhbHJlYWR5IHJlc29sdmVkLCB0aGUgY2FsbGJhY2sgZ2V0cyBjYWxsZWQgcmlnaHQgYXdheS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9iaklkXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IFtjYWxsYmFja11cbiAgICogQHJldHVybnMge2FueX1cbiAgICovXG4gIGdldChvYmpJZDogc3RyaW5nLCBjYWxsYmFjaz86IEZ1bmN0aW9uIHwgdW5kZWZpbmVkKTogYW55O1xuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9iaklkXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgaGFzKG9iaklkOiBzdHJpbmcpOiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZXMgdGhlIG9iamVjdCBgb2JqSWRgIHdpdGggb3B0aW9uYWwgYGRhdGFgLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb2JqSWRcbiAgICogQHBhcmFtIHthbnl9IFtkYXRhXVxuICAgKi9cbiAgcmVzb2x2ZShvYmpJZDogc3RyaW5nLCBkYXRhPzogYW55KTogdm9pZDtcbiAgY2xlYXIoKTogdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgUmVmUHJveHkgPSB7XG4gIG51bTogbnVtYmVyO1xuICBnZW46IG51bWJlcjtcbn07XG5cbi8qKlxuICogUGFnZSBnZXRWaWV3cG9ydCBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgdHlwZSBHZXRWaWV3cG9ydFBhcmFtZXRlcnMgPSB7XG4gIC8qKlxuICAgKiAtIFRoZSBkZXNpcmVkIHNjYWxlIG9mIHRoZSB2aWV3cG9ydC5cbiAgICovXG4gIHNjYWxlOiBudW1iZXI7XG4gIC8qKlxuICAgKiAtIFRoZSBkZXNpcmVkIHJvdGF0aW9uLCBpbiBkZWdyZWVzLCBvZlxuICAgKiB0aGUgdmlld3BvcnQuIElmIG9taXR0ZWQgaXQgZGVmYXVsdHMgdG8gdGhlIHBhZ2Ugcm90YXRpb24uXG4gICAqL1xuICByb3RhdGlvbj86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gVGhlIGhvcml6b250YWwsIGkuZS4geC1heGlzLCBvZmZzZXQuXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGAwYC5cbiAgICovXG4gIG9mZnNldFg/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIFRoZSB2ZXJ0aWNhbCwgaS5lLiB5LWF4aXMsIG9mZnNldC5cbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgYDBgLlxuICAgKi9cbiAgb2Zmc2V0WT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gSWYgdHJ1ZSwgdGhlIHktYXhpcyB3aWxsIG5vdCBiZVxuICAgKiBmbGlwcGVkLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgZmFsc2VgLlxuICAgKi9cbiAgZG9udEZsaXA/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBQREZEYXRlU3RyaW5nIHtcbiAgLyoqXG4gICAqIENvbnZlcnQgYSBQREYgZGF0ZSBzdHJpbmcgdG8gYSBKYXZhU2NyaXB0IGBEYXRlYCBvYmplY3QuXG4gICAqXG4gICAqIFRoZSBQREYgZGF0ZSBzdHJpbmcgZm9ybWF0IGlzIGRlc2NyaWJlZCBpbiBzZWN0aW9uIDcuOS40IG9mIHRoZSBvZmZpY2lhbFxuICAgKiBQREYgMzIwMDAtMToyMDA4IHNwZWNpZmljYXRpb24uIEhvd2V2ZXIsIGluIHRoZSBQREYgMS43IHJlZmVyZW5jZSAoc2l4dGhcbiAgICogZWRpdGlvbikgQWRvYmUgZGVzY3JpYmVzIHRoZSBzYW1lIGZvcm1hdCBpbmNsdWRpbmcgYSB0cmFpbGluZyBhcG9zdHJvcGhlLlxuICAgKiBUaGlzIHN5bnRheCBpbiBpbmNvcnJlY3QsIGJ1dCBBZG9iZSBBY3JvYmF0IGNyZWF0ZXMgUERGIGZpbGVzIHRoYXQgY29udGFpblxuICAgKiB0aGVtLiBXZSBpZ25vcmUgYWxsIGFwb3N0cm9waGVzIGFzIHRoZXkgYXJlIG5vdCBuZWNlc3NhcnkgZm9yIGRhdGUgcGFyc2luZy5cbiAgICpcbiAgICogTW9yZW92ZXIsIEFkb2JlIEFjcm9iYXQgZG9lc24ndCBoYW5kbGUgY2hhbmdpbmcgdGhlIGRhdGUgdG8gdW5pdmVyc2FsIHRpbWVcbiAgICogYW5kIGRvZXNuJ3QgdXNlIHRoZSB1c2VyJ3MgdGltZSB6b25lIChlZmZlY3RpdmVseSBpZ25vcmluZyB0aGUgSEgnIGFuZCBtbSdcbiAgICogcGFydHMgb2YgdGhlIGRhdGUgc3RyaW5nKS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGlucHV0XG4gICAqIEByZXR1cm5zIHtEYXRlfG51bGx9XG4gICAqL1xuICAvLyBzdGF0aWMgdG9EYXRlT2JqZWN0KGlucHV0OiBzdHJpbmcpOiBEYXRlIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBQYWdlIGdldFRleHRDb250ZW50IHBhcmFtZXRlcnMuXG4gKi9cbmV4cG9ydCB0eXBlIGdldFRleHRDb250ZW50UGFyYW1ldGVycyA9IHtcbiAgLyoqXG4gICAqIC0gRG8gbm90IGF0dGVtcHQgdG8gY29tYmluZVxuICAgKiBzYW1lIGxpbmUge0BsaW5rIFRleHRJdGVtIH0ncy4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYGZhbHNlYC5cbiAgICovXG4gIGRpc2FibGVDb21iaW5lVGV4dEl0ZW1zOiBib29sZWFuO1xuICAvKipcbiAgICogLSBXaGVuIHRydWUgaW5jbHVkZSBtYXJrZWRcbiAgICogY29udGVudCBpdGVtcyBpbiB0aGUgaXRlbXMgYXJyYXkgb2YgVGV4dENvbnRlbnQuIFRoZSBkZWZhdWx0IGlzIGBmYWxzZWAuXG4gICAqL1xuICBpbmNsdWRlTWFya2VkQ29udGVudD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIEFsbG93cyBjb250cm9sbGluZyBvZiB0aGUgcmVuZGVyaW5nIHRhc2tzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlbmRlclRhc2sge1xuICAvKipcbiAgICogQ2FsbGJhY2sgZm9yIGluY3JlbWVudGFsIHJlbmRlcmluZyAtLSBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBjYWxsZWRcbiAgICogZWFjaCB0aW1lIHRoZSByZW5kZXJpbmcgaXMgcGF1c2VkLiAgVG8gY29udGludWUgcmVuZGVyaW5nIGNhbGwgdGhlXG4gICAqIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSBjYWxsYmFjay5cbiAgICogQHR5cGUge2Z1bmN0aW9ufVxuICAgKi9cbiAgb25Db250aW51ZTogRnVuY3Rpb247XG4gIC8qKlxuICAgKiBQcm9taXNlIGZvciByZW5kZXJpbmcgdGFzayBjb21wbGV0aW9uLlxuICAgKiBAdHlwZSB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGdldCBwcm9taXNlKCk6IFByb21pc2U8dm9pZD47XG4gIC8qKlxuICAgKiBDYW5jZWxzIHRoZSByZW5kZXJpbmcgdGFzay4gSWYgdGhlIHRhc2sgaXMgY3VycmVudGx5IHJlbmRlcmluZyBpdCB3aWxsXG4gICAqIG5vdCBiZSBjYW5jZWxsZWQgdW50aWwgZ3JhcGhpY3MgcGF1c2VzIHdpdGggYSB0aW1lb3V0LiBUaGUgcHJvbWlzZSB0aGF0XG4gICAqIHRoaXMgb2JqZWN0IGV4dGVuZHMgd2lsbCBiZSByZWplY3RlZCB3aGVuIGNhbmNlbGxlZC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtleHRyYURlbGF5XVxuICAgKi9cbiAgY2FuY2VsKGV4dHJhRGVsYXk/OiBudW1iZXIgfCB1bmRlZmluZWQpOiB2b2lkO1xuICAvKipcbiAgICogV2hldGhlciBmb3JtIGZpZWxkcyBhcmUgcmVuZGVyZWQgc2VwYXJhdGVseSBmcm9tIHRoZSBtYWluIG9wZXJhdG9yTGlzdC5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgc2VwYXJhdGVBbm5vdHMoKTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQYWdlIHJlbmRlciBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgdHlwZSBSZW5kZXJQYXJhbWV0ZXJzID0ge1xuICAvKipcbiAgICogLSBBIDJEIGNvbnRleHQgb2YgYSBET00gQ2FudmFzIG9iamVjdC5cbiAgICovXG4gIGNhbnZhc0NvbnRleHQ6IE9iamVjdDtcbiAgLyoqXG4gICAqIC0gUmVuZGVyaW5nIHZpZXdwb3J0IG9idGFpbmVkIGJ5IGNhbGxpbmdcbiAgICogdGhlIGBQREZQYWdlUHJveHkuZ2V0Vmlld3BvcnRgIG1ldGhvZC5cbiAgICovXG4gIHZpZXdwb3J0OiBQYWdlVmlld3BvcnQ7XG4gIC8qKlxuICAgKiAtIFJlbmRlcmluZyBpbnRlbnQsIGNhbiBiZSAnZGlzcGxheScsICdwcmludCcsXG4gICAqIG9yICdhbnknLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAnZGlzcGxheScuXG4gICAqL1xuICBpbnRlbnQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBDb250cm9scyB3aGljaCBhbm5vdGF0aW9ucyBhcmUgcmVuZGVyZWRcbiAgICogb250byB0aGUgY2FudmFzLCBmb3IgYW5ub3RhdGlvbnMgd2l0aCBhcHBlYXJhbmNlLWRhdGE7IHRoZSB2YWx1ZXMgZnJvbVxuICAgKiB7QGxpbmsgQW5ub3RhdGlvbk1vZGUgfSBzaG91bGQgYmUgdXNlZC4gVGhlIGZvbGxvd2luZyB2YWx1ZXMgYXJlIHN1cHBvcnRlZDpcbiAgICogLSBgQW5ub3RhdGlvbk1vZGUuRElTQUJMRWAsIHdoaWNoIGRpc2FibGVzIGFsbCBhbm5vdGF0aW9ucy5cbiAgICogLSBgQW5ub3RhdGlvbk1vZGUuRU5BQkxFYCwgd2hpY2ggaW5jbHVkZXMgYWxsIHBvc3NpYmxlIGFubm90YXRpb25zICh0aHVzXG4gICAqIGl0IGFsc28gZGVwZW5kcyBvbiB0aGUgYGludGVudGAtb3B0aW9uLCBzZWUgYWJvdmUpLlxuICAgKiAtIGBBbm5vdGF0aW9uTW9kZS5FTkFCTEVfRk9STVNgLCB3aGljaCBleGNsdWRlcyBhbm5vdGF0aW9ucyB0aGF0IGNvbnRhaW5cbiAgICogaW50ZXJhY3RpdmUgZm9ybSBlbGVtZW50cyAodGhvc2Ugd2lsbCBiZSByZW5kZXJlZCBpbiB0aGUgZGlzcGxheSBsYXllcikuXG4gICAqIC0gYEFubm90YXRpb25Nb2RlLkVOQUJMRV9TVE9SQUdFYCwgd2hpY2ggaW5jbHVkZXMgYWxsIHBvc3NpYmxlIGFubm90YXRpb25zXG4gICAqIChhcyBhYm92ZSkgYnV0IHdoZXJlIGludGVyYWN0aXZlIGZvcm0gZWxlbWVudHMgYXJlIHVwZGF0ZWQgd2l0aCBkYXRhXG4gICAqIGZyb20gdGhlIHtAbGluayBBbm5vdGF0aW9uU3RvcmFnZSB9LWluc3RhbmNlOyB1c2VmdWwgZS5nLiBmb3IgcHJpbnRpbmcuXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBBbm5vdGF0aW9uTW9kZS5FTkFCTEVgLlxuICAgKi9cbiAgYW5ub3RhdGlvbk1vZGU/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIEFkZGl0aW9uYWwgdHJhbnNmb3JtLCBhcHBsaWVkIGp1c3RcbiAgICogYmVmb3JlIHZpZXdwb3J0IHRyYW5zZm9ybS5cbiAgICovXG4gIHRyYW5zZm9ybT86IGFueVtdIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBUaGUgZmFjdG9yeSBpbnN0YW5jZSB0aGF0IHdpbGwgYmUgdXNlZFxuICAgKiB3aGVuIGNyZWF0aW5nIGNhbnZhc2VzLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB7bmV3IERPTUNhbnZhc0ZhY3RvcnkoKX0uXG4gICAqL1xuICBjYW52YXNGYWN0b3J5PzogT2JqZWN0IHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBCYWNrZ3JvdW5kIHRvIHVzZSBmb3IgdGhlIGNhbnZhcy5cbiAgICogQW55IHZhbGlkIGBjYW52YXMuZmlsbFN0eWxlYCBjYW4gYmUgdXNlZDogYSBgRE9NU3RyaW5nYCBwYXJzZWQgYXMgQ1NTXG4gICAqIDxjb2xvcj4gdmFsdWUsIGEgYENhbnZhc0dyYWRpZW50YCBvYmplY3QgKGEgbGluZWFyIG9yIHJhZGlhbCBncmFkaWVudCkgb3JcbiAgICogYSBgQ2FudmFzUGF0dGVybmAgb2JqZWN0IChhIHJlcGV0aXRpdmUgaW1hZ2UpLiBUaGUgZGVmYXVsdCB2YWx1ZSBpc1xuICAgKiAncmdiKDI1NSwyNTUsMjU1KScuXG4gICAqXG4gICAqIE5PVEU6IFRoaXMgb3B0aW9uIG1heSBiZSBwYXJ0aWFsbHksIG9yIGNvbXBsZXRlbHksIGlnbm9yZWQgd2hlbiB0aGVcbiAgICogYHBhZ2VDb2xvcnNgLW9wdGlvbiBpcyB1c2VkLlxuICAgKi9cbiAgYmFja2dyb3VuZD86IHN0cmluZyB8IE9iamVjdCB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gT3ZlcndyaXRlcyBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbG9yc1xuICAgKiB3aXRoIHVzZXIgZGVmaW5lZCBvbmVzIGluIG9yZGVyIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkgaW4gaGlnaCBjb250cmFzdFxuICAgKiBtb2RlLlxuICAgKi9cbiAgcGFnZUNvbG9ycz86IE9iamVjdCB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gTWFwIHNvbWVcbiAgICogYW5ub3RhdGlvbiBpZHMgd2l0aCBjYW52YXNlcyB1c2VkIHRvIHJlbmRlciB0aGVtLlxuICAgKi9cbiAgYW5ub3RhdGlvbkNhbnZhc01hcD86IE1hcDxzdHJpbmcsIEhUTUxDYW52YXNFbGVtZW50PiB8IHVuZGVmaW5lZDtcbiAgcHJpbnRBbm5vdGF0aW9uU3RvcmFnZT86IFByaW50QW5ub3RhdGlvblN0b3JhZ2UgfCB1bmRlZmluZWQ7XG5cbiAgYmFja2dyb3VuZENvbG9yVG9SZXBsYWNlOiBzdHJpbmcgfCB1bmRlZmluZWQ7IC8vIGFkZGVkIGJ5IG5neC1leHRlbmRlZC1wZGYtdmlld2VyXG4gIG9wdGlvbmFsQ29udGVudENvbmZpZ1Byb21pc2U6IFByb21pc2U8dW5rbm93bj4gfCB1bmRlZmluZWQ7IC8vIGFkZGVkIGJ5IG5neC1leHRlbmRlZC1wZGYtdmlld2VyP1xufTtcblxuLyoqXG4gKiBTdHJ1Y3R1cmUgdHJlZSBub2RlLiBUaGUgcm9vdCBub2RlIHdpbGwgaGF2ZSBhIHJvbGUgXCJSb290XCIuXG4gKi9cbmV4cG9ydCB0eXBlIFN0cnVjdFRyZWVOb2RlID0ge1xuICAvKipcbiAgICogLSBBcnJheSBvZlxuICAgKiB7QGxpbmsgU3RydWN0VHJlZU5vZGUgfSBhbmQge0BsaW5rIFN0cnVjdFRyZWVDb250ZW50IH0gb2JqZWN0cy5cbiAgICovXG4gIGNoaWxkcmVuOiBBcnJheTxTdHJ1Y3RUcmVlTm9kZSB8IFN0cnVjdFRyZWVDb250ZW50PjtcbiAgLyoqXG4gICAqIC0gZWxlbWVudCdzIHJvbGUsIGFscmVhZHkgbWFwcGVkIGlmIGEgcm9sZSBtYXAgZXhpc3RzXG4gICAqIGluIHRoZSBQREYuXG4gICAqL1xuICByb2xlOiBzdHJpbmc7XG59O1xuLyoqXG4gKiBTdHJ1Y3R1cmUgdHJlZSBjb250ZW50LlxuICovXG5leHBvcnQgdHlwZSBTdHJ1Y3RUcmVlQ29udGVudCA9IHtcbiAgLyoqXG4gICAqIC0gZWl0aGVyIFwiY29udGVudFwiIGZvciBwYWdlIGFuZCBzdHJlYW0gc3RydWN0dXJlXG4gICAqIGVsZW1lbnRzIG9yIFwib2JqZWN0XCIgZm9yIG9iamVjdCByZWZlcmVuY2VzLlxuICAgKi9cbiAgdHlwZTogc3RyaW5nO1xuICAvKipcbiAgICogLSB1bmlxdWUgaWQgdGhhdCB3aWxsIG1hcCB0byB0aGUgdGV4dCBsYXllci5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBERlBhZ2VQcm94eSB7XG4gIC8qKiBAdHlwZSB7UERGT2JqZWN0c30gKi9cbiAgY29tbW9uT2JqczogUERGT2JqZWN0cztcbiAgb2JqczogUERGT2JqZWN0cztcbiAgX2JpdG1hcHM6IFNldDxhbnk+O1xuICBjbGVhbnVwQWZ0ZXJSZW5kZXI6IGJvb2xlYW47XG4gIHBlbmRpbmdDbGVhbnVwOiBib29sZWFuO1xuICBfaW50ZW50U3RhdGVzOiBNYXA8YW55LCBhbnk+O1xuICBkZXN0cm95ZWQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBAdHlwZSB7bnVtYmVyfSBQYWdlIG51bWJlciBvZiB0aGUgcGFnZS4gRmlyc3QgcGFnZSBpcyAxLlxuICAgKi9cbiAgZ2V0IHBhZ2VOdW1iZXIoKTogbnVtYmVyO1xuICAvKipcbiAgICogQHR5cGUge251bWJlcn0gVGhlIG51bWJlciBvZiBkZWdyZWVzIHRoZSBwYWdlIGlzIHJvdGF0ZWQgY2xvY2t3aXNlLlxuICAgKi9cbiAgZ2V0IHJvdGF0ZSgpOiBudW1iZXI7XG4gIC8qKlxuICAgKiBAdHlwZSB7UmVmUHJveHkgfCBudWxsfSBUaGUgcmVmZXJlbmNlIHRoYXQgcG9pbnRzIHRvIHRoaXMgcGFnZS5cbiAgICovXG4gIGdldCByZWYoKTogUmVmUHJveHkgfCBudWxsO1xuICAvKipcbiAgICogQHR5cGUge251bWJlcn0gVGhlIGRlZmF1bHQgc2l6ZSBvZiB1bml0cyBpbiAxLzcybmRzIG9mIGFuIGluY2guXG4gICAqL1xuICBnZXQgdXNlclVuaXQoKTogbnVtYmVyO1xuICAvKipcbiAgICogQHR5cGUge0FycmF5PG51bWJlcj59IEFuIGFycmF5IG9mIHRoZSB2aXNpYmxlIHBvcnRpb24gb2YgdGhlIFBERiBwYWdlIGluXG4gICAqICAgdXNlciBzcGFjZSB1bml0cyBbeDEsIHkxLCB4MiwgeTJdLlxuICAgKi9cbiAgZ2V0IHZpZXcoKTogbnVtYmVyW107XG4gIC8qKlxuICAgKiBAcGFyYW0ge0dldFZpZXdwb3J0UGFyYW1ldGVyc30gcGFyYW1zIC0gVmlld3BvcnQgcGFyYW1ldGVycy5cbiAgICogQHJldHVybnMge1BhZ2VWaWV3cG9ydH0gQ29udGFpbnMgJ3dpZHRoJyBhbmQgJ2hlaWdodCcgcHJvcGVydGllc1xuICAgKiAgIGFsb25nIHdpdGggdHJhbnNmb3JtcyByZXF1aXJlZCBmb3IgcmVuZGVyaW5nLlxuICAgKi9cbiAgZ2V0Vmlld3BvcnQoeyBzY2FsZSwgcm90YXRpb24sIG9mZnNldFgsIG9mZnNldFksIGRvbnRGbGlwIH0/OiBHZXRWaWV3cG9ydFBhcmFtZXRlcnMpOiBQYWdlVmlld3BvcnQ7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0dldEFubm90YXRpb25zUGFyYW1ldGVyc30gcGFyYW1zIC0gQW5ub3RhdGlvbiBwYXJhbWV0ZXJzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxhbnk+Pn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhblxuICAgKiAgIHtBcnJheX0gb2YgdGhlIGFubm90YXRpb24gb2JqZWN0cy5cbiAgICovXG4gIGdldEFubm90YXRpb25zKHsgaW50ZW50IH0/OiBHZXRBbm5vdGF0aW9uc1BhcmFtZXRlcnMpOiBQcm9taXNlPEFycmF5PGFueT4+O1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8T2JqZWN0Pn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhblxuICAgKiAgIHtPYmplY3R9IHdpdGggSlMgYWN0aW9ucy5cbiAgICovXG4gIGdldEpTQWN0aW9ucygpOiBQcm9taXNlPE9iamVjdD47XG4gIC8qKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn0gVHJ1ZSBpZiBvbmx5IFhGQSBmb3JtLlxuICAgKi9cbiAgZ2V0IGlzUHVyZVhmYSgpOiBib29sZWFuO1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8T2JqZWN0IHwgbnVsbD59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGhcbiAgICogICBhbiB7T2JqZWN0fSB3aXRoIGEgZmFrZSBET00gb2JqZWN0IChhIHRyZWUgc3RydWN0dXJlIHdoZXJlIGVsZW1lbnRzXG4gICAqICAgYXJlIHtPYmplY3R9IHdpdGggYSBuYW1lLCBhdHRyaWJ1dGVzIChjbGFzcywgc3R5bGUsIC4uLiksIHZhbHVlIGFuZFxuICAgKiAgIGNoaWxkcmVuLCB2ZXJ5IHNpbWlsYXIgdG8gYSBIVE1MIERPTSB0cmVlKSwgb3IgYG51bGxgIGlmIG5vIFhGQSBleGlzdHMuXG4gICAqL1xuICBnZXRYZmEoKTogUHJvbWlzZTxPYmplY3QgfCBudWxsPjtcbiAgLyoqXG4gICAqIEJlZ2lucyB0aGUgcHJvY2VzcyBvZiByZW5kZXJpbmcgYSBwYWdlIHRvIHRoZSBkZXNpcmVkIGNvbnRleHQuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVuZGVyUGFyYW1ldGVyc30gcGFyYW1zIC0gUGFnZSByZW5kZXIgcGFyYW1ldGVycy5cbiAgICogQHJldHVybnMge1JlbmRlclRhc2t9IEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIGEgcHJvbWlzZSB0aGF0IGlzXG4gICAqICAgcmVzb2x2ZWQgd2hlbiB0aGUgcGFnZSBmaW5pc2hlcyByZW5kZXJpbmcuXG4gICAqL1xuICByZW5kZXIoe1xuICAgIGNhbnZhc0NvbnRleHQsXG4gICAgdmlld3BvcnQsXG4gICAgaW50ZW50LFxuICAgIGFubm90YXRpb25Nb2RlLFxuICAgIHRyYW5zZm9ybSxcbiAgICBjYW52YXNGYWN0b3J5LFxuICAgIGJhY2tncm91bmQsXG4gICAgYmFja2dyb3VuZENvbG9yVG9SZXBsYWNlLFxuICAgIG9wdGlvbmFsQ29udGVudENvbmZpZ1Byb21pc2UsXG4gICAgYW5ub3RhdGlvbkNhbnZhc01hcCxcbiAgICBwYWdlQ29sb3JzLFxuICAgIHByaW50QW5ub3RhdGlvblN0b3JhZ2UsXG4gIH06IFJlbmRlclBhcmFtZXRlcnMpOiBSZW5kZXJUYXNrO1xuXG4gIC8qKlxuICAgKiBOT1RFOiBBbGwgb2NjdXJyZW5jZXMgb2Ygd2hpdGVzcGFjZSB3aWxsIGJlIHJlcGxhY2VkIGJ5XG4gICAqIHN0YW5kYXJkIHNwYWNlcyAoMHgyMCkuXG4gICAqXG4gICAqIEBwYXJhbSB7Z2V0VGV4dENvbnRlbnRQYXJhbWV0ZXJzfSBwYXJhbXMgLSBnZXRUZXh0Q29udGVudCBwYXJhbWV0ZXJzLlxuICAgKiBAcmV0dXJucyB7UmVhZGFibGVTdHJlYW19IFN0cmVhbSBmb3IgcmVhZGluZyB0ZXh0IGNvbnRlbnQgY2h1bmtzLlxuICAgKi9cbiAgc3RyZWFtVGV4dENvbnRlbnQoeyBkaXNhYmxlQ29tYmluZVRleHRJdGVtcywgaW5jbHVkZU1hcmtlZENvbnRlbnQgfT86IGdldFRleHRDb250ZW50UGFyYW1ldGVycyk6IFJlYWRhYmxlU3RyZWFtO1xuICAvKipcbiAgICogTk9URTogQWxsIG9jY3VycmVuY2VzIG9mIHdoaXRlc3BhY2Ugd2lsbCBiZSByZXBsYWNlZCBieVxuICAgKiBzdGFuZGFyZCBzcGFjZXMgKDB4MjApLlxuICAgKlxuICAgKiBAcGFyYW0ge2dldFRleHRDb250ZW50UGFyYW1ldGVyc30gcGFyYW1zIC0gZ2V0VGV4dENvbnRlbnQgcGFyYW1ldGVycy5cbiAgICogQHJldHVybnMge1Byb21pc2U8VGV4dENvbnRlbnQ+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoIGFcbiAgICogICB7QGxpbmsgVGV4dENvbnRlbnR9IG9iamVjdCB0aGF0IHJlcHJlc2VudHMgdGhlIHBhZ2UncyB0ZXh0IGNvbnRlbnQuXG4gICAqL1xuICBnZXRUZXh0Q29udGVudChwYXJhbXM/OiBnZXRUZXh0Q29udGVudFBhcmFtZXRlcnMpOiBQcm9taXNlPFRleHRDb250ZW50PjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFN0cnVjdFRyZWVOb2RlPn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhXG4gICAqICAge0BsaW5rIFN0cnVjdFRyZWVOb2RlfSBvYmplY3QgdGhhdCByZXByZXNlbnRzIHRoZSBwYWdlJ3Mgc3RydWN0dXJlIHRyZWUsXG4gICAqICAgb3IgYG51bGxgIHdoZW4gbm8gc3RydWN0dXJlIHRyZWUgaXMgcHJlc2VudCBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbiAgICovXG4gIGdldFN0cnVjdFRyZWUoKTogUHJvbWlzZTxTdHJ1Y3RUcmVlTm9kZT47XG4gIC8qKlxuICAgKiBEZXN0cm95cyB0aGUgcGFnZSBvYmplY3QuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfZGVzdHJveTtcbiAgLyoqXG4gICAqIENsZWFucyB1cCByZXNvdXJjZXMgYWxsb2NhdGVkIGJ5IHRoZSBwYWdlLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtyZXNldFN0YXRzXSAtIFJlc2V0IHBhZ2Ugc3RhdHMsIGlmIGVuYWJsZWQuXG4gICAqICAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgYGZhbHNlYC5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IEluZGljYXRlcyBpZiBjbGVhbi11cCB3YXMgc3VjY2Vzc2Z1bGx5IHJ1bi5cbiAgICovXG4gIGNsZWFudXAocmVzZXRTdGF0cz86IGJvb2xlYW4gfCB1bmRlZmluZWQpOiBib29sZWFuO1xuICAvKipcbiAgICogQXR0ZW1wdHMgdG8gY2xlYW4gdXAgaWYgcmVuZGVyaW5nIGlzIGluIGEgc3RhdGUgd2hlcmUgdGhhdCdzIHBvc3NpYmxlLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX3RyeUNsZWFudXA7XG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX3N0YXJ0UmVuZGVyUGFnZTtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfcmVuZGVyUGFnZUNodW5rO1xuICAvKipcbiAgICogQHByaXZhdGVcbiAgICovXG4gIF9wdW1wT3BlcmF0b3JMaXN0O1xuICAvKipcbiAgICogQHByaXZhdGVcbiAgICovXG4gIF9hYm9ydE9wZXJhdG9yTGlzdDtcbiAgLyoqXG4gICAqIEB0eXBlIHtPYmplY3R9IFJldHVybnMgcGFnZSBzdGF0cywgaWYgZW5hYmxlZDsgcmV0dXJucyBgbnVsbGAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgZ2V0IHN0YXRzKCk6IE9iamVjdDtcbn1cblxuLyoqXG4gKiBUaGUgbG9hZGluZyB0YXNrIGNvbnRyb2xzIHRoZSBvcGVyYXRpb25zIHJlcXVpcmVkIHRvIGxvYWQgYSBQREYgZG9jdW1lbnRcbiAqIChzdWNoIGFzIG5ldHdvcmsgcmVxdWVzdHMpIGFuZCBwcm92aWRlcyBhIHdheSB0byBsaXN0ZW4gZm9yIGNvbXBsZXRpb24sXG4gKiBhZnRlciB3aGljaCBpbmRpdmlkdWFsIHBhZ2VzIGNhbiBiZSByZW5kZXJlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQREZEb2N1bWVudExvYWRpbmdUYXNrIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgZG9jdW1lbnQgbG9hZGluZyB0YXNrLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgZG9jSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGxvYWRpbmcgdGFzayBpcyBkZXN0cm95ZWQgb3Igbm90LlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIGRlc3Ryb3llZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIHRvIHJlcXVlc3QgYSBwYXNzd29yZCBpZiBhIHdyb25nIG9yIG5vIHBhc3N3b3JkIHdhcyBwcm92aWRlZC5cbiAgICogVGhlIGNhbGxiYWNrIHJlY2VpdmVzIHR3byBwYXJhbWV0ZXJzOiBhIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZFxuICAgKiB3aXRoIHRoZSBuZXcgcGFzc3dvcmQsIGFuZCBhIHJlYXNvbiAoc2VlIHtAbGluayBQYXNzd29yZFJlc3BvbnNlc30pLlxuICAgKiBAdHlwZSB7ZnVuY3Rpb259XG4gICAqL1xuICBvblBhc3N3b3JkOiBGdW5jdGlvbjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIHRvIGJlIGFibGUgdG8gbW9uaXRvciB0aGUgbG9hZGluZyBwcm9ncmVzcyBvZiB0aGUgUERGIGZpbGVcbiAgICogKG5lY2Vzc2FyeSB0byBpbXBsZW1lbnQgZS5nLiBhIGxvYWRpbmcgYmFyKS5cbiAgICogVGhlIGNhbGxiYWNrIHJlY2VpdmVzIGFuIHtAbGluayBPblByb2dyZXNzUGFyYW1ldGVyc30gYXJndW1lbnQuXG4gICAqIEB0eXBlIHtmdW5jdGlvbn1cbiAgICovXG4gIG9uUHJvZ3Jlc3M6IEZ1bmN0aW9uO1xuICAvKipcbiAgICogQ2FsbGJhY2sgZm9yIHdoZW4gYW4gdW5zdXBwb3J0ZWQgZmVhdHVyZSBpcyB1c2VkIGluIHRoZSBQREYgZG9jdW1lbnQuXG4gICAqIFRoZSBjYWxsYmFjayByZWNlaXZlcyBhbiB7QGxpbmsgVU5TVVBQT1JURURfRkVBVFVSRVN9IGFyZ3VtZW50LlxuICAgKiBAdHlwZSB7ZnVuY3Rpb259XG4gICAqL1xuICBzZXQgb25VbnN1cHBvcnRlZEZlYXR1cmUoYXJnOiBGdW5jdGlvbiB8IG51bGwpO1xuICAvKipcbiAgICogQHR5cGUge2Z1bmN0aW9uIHwgbnVsbH0gVGhlIGN1cnJlbnQgY2FsbGJhY2sgdXNlZCB3aXRoIHVuc3VwcG9ydGVkXG4gICAqIGZlYXR1cmVzLlxuICAgKi9cbiAgZ2V0IG9uVW5zdXBwb3J0ZWRGZWF0dXJlKCk6IEZ1bmN0aW9uIHwgbnVsbDtcbiAgLyoqXG4gICAqIFByb21pc2UgZm9yIGRvY3VtZW50IGxvYWRpbmcgdGFzayBjb21wbGV0aW9uLlxuICAgKiBAdHlwZSB7UHJvbWlzZTxQREZEb2N1bWVudFByb3h5Pn1cbiAgICovXG4gIGdldCBwcm9taXNlKCk6IFByb21pc2U8UERGRG9jdW1lbnRQcm94eT47XG4gIC8qKlxuICAgKiBBYm9ydCBhbGwgbmV0d29yayByZXF1ZXN0cyBhbmQgZGVzdHJveSB0aGUgd29ya2VyLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2hlbiBkZXN0cnVjdGlvbiBpc1xuICAgKiAgIGNvbXBsZXRlZC5cbiAgICovXG4gIGRlc3Ryb3koKTogUHJvbWlzZTx2b2lkPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUERGRG9jdW1lbnRQcm94eSB7XG4gIF9wZGZJbmZvOiBhbnk7XG4gIF90cmFuc3BvcnQ6IGFueTtcbiAgLyoqXG4gICAqIEB0eXBlIHtBbm5vdGF0aW9uU3RvcmFnZX0gU3RvcmFnZSBmb3IgYW5ub3RhdGlvbiBkYXRhIGluIGZvcm1zLlxuICAgKi9cbiAgZ2V0IGFubm90YXRpb25TdG9yYWdlKCk6IEFubm90YXRpb25TdG9yYWdlO1xuICAvKipcbiAgICogQHR5cGUge251bWJlcn0gVG90YWwgbnVtYmVyIG9mIHBhZ2VzIGluIHRoZSBQREYgZmlsZS5cbiAgICovXG4gIGdldCBudW1QYWdlcygpOiBudW1iZXI7XG4gIC8qKlxuICAgKiBAdHlwZSB7QXJyYXk8c3RyaW5nLCBzdHJpbmd8bnVsbD59IEEgKG5vdCBndWFyYW50ZWVkIHRvIGJlKSB1bmlxdWUgSUQgdG9cbiAgICogICBpZGVudGlmeSB0aGUgUERGIGRvY3VtZW50LlxuICAgKiAgIE5PVEU6IFRoZSBmaXJzdCBlbGVtZW50IHdpbGwgYWx3YXlzIGJlIGRlZmluZWQgZm9yIGFsbCBQREYgZG9jdW1lbnRzLFxuICAgKiAgIHdoZXJlYXMgdGhlIHNlY29uZCBlbGVtZW50IGlzIG9ubHkgZGVmaW5lZCBmb3IgKm1vZGlmaWVkKiBQREYgZG9jdW1lbnRzLlxuICAgKi9cbiAgZ2V0IGZpbmdlcnByaW50cygpOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIEB0eXBlIHtib29sZWFufSBUcnVlIGlmIG9ubHkgWEZBIGZvcm0uXG4gICAqL1xuICBnZXQgaXNQdXJlWGZhKCk6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBOT1RFOiBUaGlzIGlzIChtb3N0bHkpIGludGVuZGVkIHRvIHN1cHBvcnQgcHJpbnRpbmcgb2YgWEZBIGZvcm1zLlxuICAgKlxuICAgKiBAdHlwZSB7T2JqZWN0IHwgbnVsbH0gQW4gb2JqZWN0IHJlcHJlc2VudGluZyBhIEhUTUwgdHJlZSBzdHJ1Y3R1cmVcbiAgICogICB0byByZW5kZXIgdGhlIFhGQSwgb3IgYG51bGxgIHdoZW4gbm8gWEZBIGZvcm0gZXhpc3RzLlxuICAgKi9cbiAgZ2V0IGFsbFhmYUh0bWwoKTogT2JqZWN0IHwgbnVsbDtcbiAgLyoqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBwYWdlTnVtYmVyIC0gVGhlIHBhZ2UgbnVtYmVyIHRvIGdldC4gVGhlIGZpcnN0IHBhZ2UgaXMgMS5cbiAgICogQHJldHVybnMge1Byb21pc2U8UERGUGFnZVByb3h5Pn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aFxuICAgKiAgIGEge0BsaW5rIFBERlBhZ2VQcm94eX0gb2JqZWN0LlxuICAgKi9cbiAgZ2V0UGFnZShwYWdlTnVtYmVyOiBudW1iZXIpOiBQcm9taXNlPFBERlBhZ2VQcm94eT47XG4gIC8qKlxuICAgKiBAcGFyYW0ge1JlZlByb3h5fSByZWYgLSBUaGUgcGFnZSByZWZlcmVuY2UuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPG51bWJlcj59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggdGhlIHBhZ2UgaW5kZXgsXG4gICAqICAgc3RhcnRpbmcgZnJvbSB6ZXJvLCB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVmZXJlbmNlLlxuICAgKi9cbiAgZ2V0UGFnZUluZGV4KHJlZjogUmVmUHJveHkpOiBQcm9taXNlPG51bWJlcj47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxPYmplY3Q8c3RyaW5nLCBBcnJheTxhbnk+Pj59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkXG4gICAqICAgd2l0aCBhIG1hcHBpbmcgZnJvbSBuYW1lZCBkZXN0aW5hdGlvbnMgdG8gcmVmZXJlbmNlcy5cbiAgICpcbiAgICogVGhpcyBjYW4gYmUgc2xvdyBmb3IgbGFyZ2UgZG9jdW1lbnRzLiBVc2UgYGdldERlc3RpbmF0aW9uYCBpbnN0ZWFkLlxuICAgKi9cbiAgZ2V0RGVzdGluYXRpb25zKCk6IFByb21pc2U8e1xuICAgIFt4OiBzdHJpbmddOiBBcnJheTxhbnk+O1xuICB9PjtcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSBuYW1lZCBkZXN0aW5hdGlvbiB0byBnZXQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PGFueT4gfCBudWxsPn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhbGxcbiAgICogICBpbmZvcm1hdGlvbiBvZiB0aGUgZ2l2ZW4gbmFtZWQgZGVzdGluYXRpb24sIG9yIGBudWxsYCB3aGVuIHRoZSBuYW1lZFxuICAgKiAgIGRlc3RpbmF0aW9uIGlzIG5vdCBwcmVzZW50IGluIHRoZSBQREYgZmlsZS5cbiAgICovXG4gIGdldERlc3RpbmF0aW9uKGlkOiBzdHJpbmcpOiBQcm9taXNlPEFycmF5PGFueT4gfCBudWxsPjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PHN0cmluZz4gfCBudWxsPn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aFxuICAgKiAgIGFuIHtBcnJheX0gY29udGFpbmluZyB0aGUgcGFnZSBsYWJlbHMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBwYWdlXG4gICAqICAgaW5kZXhlcywgb3IgYG51bGxgIHdoZW4gbm8gcGFnZSBsYWJlbHMgYXJlIHByZXNlbnQgaW4gdGhlIFBERiBmaWxlLlxuICAgKi9cbiAgZ2V0UGFnZUxhYmVscygpOiBQcm9taXNlPEFycmF5PHN0cmluZz4gfCBudWxsPjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYSB7c3RyaW5nfVxuICAgKiAgIGNvbnRhaW5pbmcgdGhlIHBhZ2UgbGF5b3V0IG5hbWUuXG4gICAqL1xuICBnZXRQYWdlTGF5b3V0KCk6IFByb21pc2U8c3RyaW5nPjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYSB7c3RyaW5nfVxuICAgKiAgIGNvbnRhaW5pbmcgdGhlIHBhZ2UgbW9kZSBuYW1lLlxuICAgKi9cbiAgZ2V0UGFnZU1vZGUoKTogUHJvbWlzZTxzdHJpbmc+O1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8T2JqZWN0IHwgbnVsbD59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYW5cbiAgICogICB7T2JqZWN0fSBjb250YWluaW5nIHRoZSB2aWV3ZXIgcHJlZmVyZW5jZXMsIG9yIGBudWxsYCB3aGVuIG5vIHZpZXdlclxuICAgKiAgIHByZWZlcmVuY2VzIGFyZSBwcmVzZW50IGluIHRoZSBQREYgZmlsZS5cbiAgICovXG4gIGdldFZpZXdlclByZWZlcmVuY2VzKCk6IFByb21pc2U8T2JqZWN0IHwgbnVsbD47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnkgfCBudWxsPn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhbiB7QXJyYXl9XG4gICAqICAgY29udGFpbmluZyB0aGUgZGVzdGluYXRpb24sIG9yIGBudWxsYCB3aGVuIG5vIG9wZW4gYWN0aW9uIGlzIHByZXNlbnRcbiAgICogICBpbiB0aGUgUERGLlxuICAgKi9cbiAgZ2V0T3BlbkFjdGlvbigpOiBQcm9taXNlPGFueSB8IG51bGw+O1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhIGxvb2t1cCB0YWJsZVxuICAgKiAgIGZvciBtYXBwaW5nIG5hbWVkIGF0dGFjaG1lbnRzIHRvIHRoZWlyIGNvbnRlbnQuXG4gICAqL1xuICBnZXRBdHRhY2htZW50cygpOiBQcm9taXNlPGFueT47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxzdHJpbmc+IHwgbnVsbD59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGhcbiAgICogICBhbiB7QXJyYXl9IG9mIGFsbCB0aGUgSmF2YVNjcmlwdCBzdHJpbmdzIGluIHRoZSBuYW1lIHRyZWUsIG9yIGBudWxsYFxuICAgKiAgIGlmIG5vIEphdmFTY3JpcHQgZXhpc3RzLlxuICAgKi9cbiAgZ2V0SmF2YVNjcmlwdCgpOiBQcm9taXNlPEFycmF5PHN0cmluZz4gfCBudWxsPjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPE9iamVjdCB8IG51bGw+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoXG4gICAqICAgYW4ge09iamVjdH0gd2l0aCB0aGUgSmF2YVNjcmlwdCBhY3Rpb25zOlxuICAgKiAgICAgLSBmcm9tIHRoZSBuYW1lIHRyZWUgKGxpa2UgZ2V0SmF2YVNjcmlwdCk7XG4gICAqICAgICAtIGZyb20gQSBvciBBQSBlbnRyaWVzIGluIHRoZSBjYXRhbG9nIGRpY3Rpb25hcnkuXG4gICAqICAgLCBvciBgbnVsbGAgaWYgbm8gSmF2YVNjcmlwdCBleGlzdHMuXG4gICAqL1xuICBnZXRKU0FjdGlvbnMoKTogUHJvbWlzZTxPYmplY3QgfCBudWxsPjtcbiAgLyoqXG4gICAqIEB0eXBlZGVmIHtPYmplY3R9IE91dGxpbmVOb2RlXG4gICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aXRsZVxuICAgKiBAcHJvcGVydHkge2Jvb2xlYW59IGJvbGRcbiAgICogQHByb3BlcnR5IHtib29sZWFufSBpdGFsaWNcbiAgICogQHByb3BlcnR5IHtVaW50OENsYW1wZWRBcnJheX0gY29sb3IgLSBUaGUgY29sb3IgaW4gUkdCIGZvcm1hdCB0byB1c2UgZm9yXG4gICAqICAgZGlzcGxheSBwdXJwb3Nlcy5cbiAgICogQHByb3BlcnR5IHtzdHJpbmcgfCBBcnJheTxhbnk+IHwgbnVsbH0gZGVzdFxuICAgKiBAcHJvcGVydHkge3N0cmluZyB8IG51bGx9IHVybFxuICAgKiBAcHJvcGVydHkge3N0cmluZyB8IHVuZGVmaW5lZH0gdW5zYWZlVXJsXG4gICAqIEBwcm9wZXJ0eSB7Ym9vbGVhbiB8IHVuZGVmaW5lZH0gbmV3V2luZG93XG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgdW5kZWZpbmVkfSBjb3VudFxuICAgKiBAcHJvcGVydHkge0FycmF5PE91dGxpbmVOb2RlPn0gaXRlbXNcbiAgICovXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxPdXRsaW5lTm9kZT4+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoIGFuXG4gICAqICAge0FycmF5fSB0aGF0IGlzIGEgdHJlZSBvdXRsaW5lIChpZiBpdCBoYXMgb25lKSBvZiB0aGUgUERGIGZpbGUuXG4gICAqL1xuICBnZXRPdXRsaW5lKCk6IFByb21pc2U8XG4gICAge1xuICAgICAgdGl0bGU6IHN0cmluZztcbiAgICAgIGJvbGQ6IGJvb2xlYW47XG4gICAgICBpdGFsaWM6IGJvb2xlYW47XG4gICAgICAvKipcbiAgICAgICAqIC0gVGhlIGNvbG9yIGluIFJHQiBmb3JtYXQgdG8gdXNlIGZvclxuICAgICAgICogZGlzcGxheSBwdXJwb3Nlcy5cbiAgICAgICAqL1xuICAgICAgY29sb3I6IFVpbnQ4Q2xhbXBlZEFycmF5O1xuICAgICAgZGVzdDogc3RyaW5nIHwgQXJyYXk8YW55PiB8IG51bGw7XG4gICAgICB1cmw6IHN0cmluZyB8IG51bGw7XG4gICAgICB1bnNhZmVVcmw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIG5ld1dpbmRvdzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAgIGNvdW50OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgICBpdGVtczogYW55W107XG4gICAgfVtdXG4gID47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxPcHRpb25hbENvbnRlbnRDb25maWc+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoXG4gICAqICAgYW4ge0BsaW5rIE9wdGlvbmFsQ29udGVudENvbmZpZ30gdGhhdCBjb250YWlucyBhbGwgdGhlIG9wdGlvbmFsIGNvbnRlbnRcbiAgICogICBncm91cHMgKGFzc3VtaW5nIHRoYXQgdGhlIGRvY3VtZW50IGhhcyBhbnkpLlxuICAgKi9cbiAgZ2V0T3B0aW9uYWxDb250ZW50Q29uZmlnKCk6IFByb21pc2U8T3B0aW9uYWxDb250ZW50Q29uZmlnPjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PG51bWJlcj4gfCBudWxsPn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aFxuICAgKiAgIGFuIHtBcnJheX0gdGhhdCBjb250YWlucyB0aGUgcGVybWlzc2lvbiBmbGFncyBmb3IgdGhlIFBERiBkb2N1bWVudCwgb3JcbiAgICogICBgbnVsbGAgd2hlbiBubyBwZXJtaXNzaW9ucyBhcmUgcHJlc2VudCBpbiB0aGUgUERGIGZpbGUuXG4gICAqL1xuICBnZXRQZXJtaXNzaW9ucygpOiBQcm9taXNlPEFycmF5PG51bWJlcj4gfCBudWxsPjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHsgaW5mbzogT2JqZWN0LCBtZXRhZGF0YTogTWV0YWRhdGEgfT59IEEgcHJvbWlzZSB0aGF0IGlzXG4gICAqICAgcmVzb2x2ZWQgd2l0aCBhbiB7T2JqZWN0fSB0aGF0IGhhcyBgaW5mb2AgYW5kIGBtZXRhZGF0YWAgcHJvcGVydGllcy5cbiAgICogICBgaW5mb2AgaXMgYW4ge09iamVjdH0gZmlsbGVkIHdpdGggYW55dGhpbmcgYXZhaWxhYmxlIGluIHRoZSBpbmZvcm1hdGlvblxuICAgKiAgIGRpY3Rpb25hcnkgYW5kIHNpbWlsYXJseSBgbWV0YWRhdGFgIGlzIGEge01ldGFkYXRhfSBvYmplY3Qgd2l0aFxuICAgKiAgIGluZm9ybWF0aW9uIGZyb20gdGhlIG1ldGFkYXRhIHNlY3Rpb24gb2YgdGhlIFBERi5cbiAgICovXG4gIGdldE1ldGFkYXRhKCk6IFByb21pc2U8e1xuICAgIGluZm86IE9iamVjdDtcbiAgICBtZXRhZGF0YTogTWV0YWRhdGE7XG4gIH0+O1xuICAvKipcbiAgICogQHR5cGVkZWYge09iamVjdH0gTWFya0luZm9cbiAgICogUHJvcGVydGllcyBjb3JyZXNwb25kIHRvIFRhYmxlIDMyMSBvZiB0aGUgUERGIDMyMDAwLTE6MjAwOCBzcGVjLlxuICAgKiBAcHJvcGVydHkge2Jvb2xlYW59IE1hcmtlZFxuICAgKiBAcHJvcGVydHkge2Jvb2xlYW59IFVzZXJQcm9wZXJ0aWVzXG4gICAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gU3VzcGVjdHNcbiAgICovXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxNYXJrSW5mbyB8IG51bGw+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoXG4gICAqICAgYSB7TWFya0luZm99IG9iamVjdCB0aGF0IGNvbnRhaW5zIHRoZSBNYXJrSW5mbyBmbGFncyBmb3IgdGhlIFBERlxuICAgKiAgIGRvY3VtZW50LCBvciBgbnVsbGAgd2hlbiBubyBNYXJrSW5mbyB2YWx1ZXMgYXJlIHByZXNlbnQgaW4gdGhlIFBERiBmaWxlLlxuICAgKi9cbiAgZ2V0TWFya0luZm8oKTogUHJvbWlzZTx7XG4gICAgTWFya2VkOiBib29sZWFuO1xuICAgIFVzZXJQcm9wZXJ0aWVzOiBib29sZWFuO1xuICAgIFN1c3BlY3RzOiBib29sZWFuO1xuICB9IHwgbnVsbD47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxVaW50OEFycmF5Pn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhXG4gICAqICAge1VpbnQ4QXJyYXl9IGNvbnRhaW5pbmcgdGhlIHJhdyBkYXRhIG9mIHRoZSBQREYgZG9jdW1lbnQuXG4gICAqL1xuICBnZXREYXRhKCk6IFByb21pc2U8VWludDhBcnJheT47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxVaW50OEFycmF5Pn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhXG4gICAqICAge1VpbnQ4QXJyYXl9IGNvbnRhaW5pbmcgdGhlIGZ1bGwgZGF0YSBvZiB0aGUgc2F2ZWQgZG9jdW1lbnQuXG4gICAqL1xuICBzYXZlRG9jdW1lbnQoKTogUHJvbWlzZTxVaW50OEFycmF5PjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHsgbGVuZ3RoOiBudW1iZXIgfT59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdoZW4gdGhlXG4gICAqICAgZG9jdW1lbnQncyBkYXRhIGlzIGxvYWRlZC4gSXQgaXMgcmVzb2x2ZWQgd2l0aCBhbiB7T2JqZWN0fSB0aGF0IGNvbnRhaW5zXG4gICAqICAgdGhlIGBsZW5ndGhgIHByb3BlcnR5IHRoYXQgaW5kaWNhdGVzIHNpemUgb2YgdGhlIFBERiBkYXRhIGluIGJ5dGVzLlxuICAgKi9cbiAgZ2V0RG93bmxvYWRJbmZvKCk6IFByb21pc2U8e1xuICAgIGxlbmd0aDogbnVtYmVyO1xuICB9PjtcbiAgLyoqXG4gICAqIENsZWFucyB1cCByZXNvdXJjZXMgYWxsb2NhdGVkIGJ5IHRoZSBkb2N1bWVudCBvbiBib3RoIHRoZSBtYWluIGFuZCB3b3JrZXJcbiAgICogdGhyZWFkcy5cbiAgICpcbiAgICogTk9URTogRG8gbm90LCB1bmRlciBhbnkgY2lyY3Vtc3RhbmNlcywgY2FsbCB0aGlzIG1ldGhvZCB3aGVuIHJlbmRlcmluZyBpc1xuICAgKiBjdXJyZW50bHkgb25nb2luZyBzaW5jZSB0aGF0IG1heSBsZWFkIHRvIHJlbmRlcmluZyBlcnJvcnMuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2tlZXBMb2FkZWRGb250c10gLSBMZXQgZm9udHMgcmVtYWluIGF0dGFjaGVkIHRvIHRoZSBET00uXG4gICAqICAgTk9URTogVGhpcyB3aWxsIGluY3JlYXNlIHBlcnNpc3RlbnQgbWVtb3J5IHVzYWdlLCBoZW5jZSBkb24ndCB1c2UgdGhpc1xuICAgKiAgIG9wdGlvbiB1bmxlc3MgYWJzb2x1dGVseSBuZWNlc3NhcnkuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBmYWxzZWAuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aGVuIGNsZWFuLXVwIGhhcyBmaW5pc2hlZC5cbiAgICovXG4gIGNsZWFudXAoa2VlcExvYWRlZEZvbnRzPzogYm9vbGVhbiB8IHVuZGVmaW5lZCk6IFByb21pc2U8YW55PjtcbiAgLyoqXG4gICAqIERlc3Ryb3lzIHRoZSBjdXJyZW50IGRvY3VtZW50IGluc3RhbmNlIGFuZCB0ZXJtaW5hdGVzIHRoZSB3b3JrZXIuXG4gICAqL1xuICBkZXN0cm95KCk6IFByb21pc2U8dm9pZD47XG4gIC8qKlxuICAgKiBAdHlwZSB7RG9jdW1lbnRJbml0UGFyYW1ldGVyc30gQSBzdWJzZXQgb2YgdGhlIGN1cnJlbnRcbiAgICogICB7RG9jdW1lbnRJbml0UGFyYW1ldGVyc30sIHdoaWNoIGFyZSBuZWVkZWQgaW4gdGhlIHZpZXdlci5cbiAgICovXG4gIGdldCBsb2FkaW5nUGFyYW1zKCk6IERvY3VtZW50SW5pdFBhcmFtZXRlcnM7XG4gIC8qKlxuICAgKiBAdHlwZSB7UERGRG9jdW1lbnRMb2FkaW5nVGFza30gVGhlIGxvYWRpbmdUYXNrIGZvciB0aGUgY3VycmVudCBkb2N1bWVudC5cbiAgICovXG4gIGdldCBsb2FkaW5nVGFzaygpOiBQREZEb2N1bWVudExvYWRpbmdUYXNrO1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8T2JqZWN0PHN0cmluZywgQXJyYXk8T2JqZWN0Pj4gfCBudWxsPn0gQSBwcm9taXNlIHRoYXQgaXNcbiAgICogICByZXNvbHZlZCB3aXRoIGFuIHtPYmplY3R9IGNvbnRhaW5pbmcgL0Fjcm9Gb3JtIGZpZWxkIGRhdGEgZm9yIHRoZSBKU1xuICAgKiAgIHNhbmRib3gsIG9yIGBudWxsYCB3aGVuIG5vIGZpZWxkIGRhdGEgaXMgcHJlc2VudCBpbiB0aGUgUERGIGZpbGUuXG4gICAqL1xuICBnZXRGaWVsZE9iamVjdHMoKTogUHJvbWlzZTx7XG4gICAgW3g6IHN0cmluZ106IEFycmF5PE9iamVjdD47XG4gIH0gfCBudWxsPjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoIGB0cnVlYFxuICAgKiAgIGlmIHNvbWUgL0Fjcm9Gb3JtIGZpZWxkcyBoYXZlIEphdmFTY3JpcHQgYWN0aW9ucy5cbiAgICovXG4gIGhhc0pTQWN0aW9ucygpOiBQcm9taXNlPGJvb2xlYW4+O1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8c3RyaW5nPiB8IG51bGw+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoIGFuXG4gICAqICAge0FycmF5PHN0cmluZz59IGNvbnRhaW5pbmcgSURzIG9mIGFubm90YXRpb25zIHRoYXQgaGF2ZSBhIGNhbGN1bGF0aW9uXG4gICAqICAgYWN0aW9uLCBvciBgbnVsbGAgd2hlbiBubyBzdWNoIGFubm90YXRpb25zIGFyZSBwcmVzZW50IGluIHRoZSBQREYgZmlsZS5cbiAgICovXG4gIGdldENhbGN1bGF0aW9uT3JkZXJJZHMoKTogUHJvbWlzZTxBcnJheTxzdHJpbmc+IHwgbnVsbD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBERlZpZXdlckFwcGxpY2F0aW9uIHtcbiAgYXBwQ29uZmlnOiBJUERGVmlld2VyQXBwQ29uZmlnO1xuICBfYm91bmRFdmVudHM6IGFueTtcbiAgZW5hYmxlUHJpbnQ6IGJvb2xlYW47XG4gIGV2ZW50QnVzOiBJRXZlbnRCdXM7XG4gIGZpbmRCYXI6IGFueTtcbiAgZmluZENvbnRyb2xsZXI6IEZpbmRDb250cm9sbGVyO1xuICBpc1ZpZXdlckVtYmVkZGVkOiBib29sZWFuO1xuICBsMTBuOiBJV2ViTDEwbjtcbiAgb25FcnJvcjogKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcbiAgcGFnZTogbnVtYmVyO1xuICBwYWdlc0NvdW50OiBudW1iZXI7XG4gIHBhc3N3b3JkUHJvbXB0OiBQYXNzd29yZFByb21wdDtcbiAgcGRmRG9jdW1lbnQ6IFBERkRvY3VtZW50UHJveHk7XG4gIHBkZkxpbmtTZXJ2aWNlOiBhbnkgLyogUERGTGlua1NlcnZpY2U7Ki87XG4gIHBkZlNpZGViYXI6IGFueTtcbiAgcGRmVmlld2VyOiBJUERGVmlld2VyO1xuICBwcmludEtleURvd25MaXN0ZW5lcjogdW5kZWZpbmVkIHwgKCh0aGlzOiBXaW5kb3csIGV2OiBLZXlib2FyZEV2ZW50KSA9PiBhbnkpO1xuICBzaWRlYmFyVmlld09uTG9hZDogMCB8IDE7XG4gIHNwcmVhZE1vZGVPbkxvYWQ6IDAgfCAxIHwgMjtcbiAgc2Vjb25kYXJ5VG9vbGJhcjogYW55O1xuICBzdG9yZTogVmlld0hpc3Rvcnk7XG4gIHRvb2xiYXI6IGFueTtcbiAgdmlld2VyOiBIVE1MRGl2RWxlbWVudDtcblxuICBfY2xlYW51cCgpOiB2b2lkO1xuICBjbG9zZSgpOiB2b2lkO1xuICBvcGVuKHNvdXJjZTogc3RyaW5nIHwgQXJyYXlCdWZmZXIgfCB7IHJhbmdlOiBhbnkgfSB8IGFueSwgb3B0aW9ucz86IGFueSk6IFByb21pc2U8YW55PjtcbiAgdW5iaW5kRXZlbnRzKCk6IHZvaWQ7XG4gIHVuYmluZFdpbmRvd0V2ZW50cygpOiB2b2lkO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci1hcHBsaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvb3B0aW9ucy9wZGYtdmlld2VyLWFwcGxpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25hbENvbnRlbnRDb25maWcgfSBmcm9tICcuL29wdGlvbmFsX2NvbnRlbnRfY29uZmlnJztcbmltcG9ydCB7IFBhc3N3b3JkUHJvbXB0IH0gZnJvbSAnLi9wYXNzd29yZC1wcm9tcHQnO1xuaW1wb3J0IHsgQW5ub3RhdGlvblN0b3JhZ2UsIFByaW50QW5ub3RhdGlvblN0b3JhZ2UgfSBmcm9tICcuL3BkZi1hbm5vdGF0aW9uLXN0b3JhZ2UnO1xuaW1wb3J0IHsgSUV2ZW50QnVzIH0gZnJvbSAnLi9wZGYtZXZlbnQtYnVzJztcbmltcG9ydCB7IFBhZ2VWaWV3cG9ydCB9IGZyb20gJy4vcGRmLXBhZ2Utdmlldy1wb3J0JztcbmltcG9ydCB7IElQREZWaWV3ZXIgfSBmcm9tICcuL3BkZi12aWV3ZXInO1xuaW1wb3J0IHsgSVBERlZpZXdlckFwcENvbmZpZyB9IGZyb20gJy4vcGRmLXZpZXdlci1hcHAtY29uZmlnJztcblxuZXhwb3J0IGludGVyZmFjZSBJV2ViTDEwbiB7XG4gIGdldChrZXk6IHN0cmluZywgYXJnczogYW55LCBmYWxsYmFja1N0cmluZzogc3RyaW5nKTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdIaXN0b3J5IHtcbiAgZ2V0KG5hbWU6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xufVxuXG4vKipcbiAqIFBhZ2UgdGV4dCBjb250ZW50LlxuICovXG5leHBvcnQgdHlwZSBUZXh0Q29udGVudCA9IHtcbiAgLyoqXG4gICAqIC0gQXJyYXkgb2ZcbiAgICoge0BsaW5rIFRleHRJdGVtIH0gYW5kIHtAbGluayBUZXh0TWFya2VkQ29udGVudCB9IG9iamVjdHMuIFRleHRNYXJrZWRDb250ZW50XG4gICAqIGl0ZW1zIGFyZSBpbmNsdWRlZCB3aGVuIGluY2x1ZGVNYXJrZWRDb250ZW50IGlzIHRydWUuXG4gICAqL1xuICBpdGVtczogQXJyYXk8VGV4dEl0ZW0gfCBUZXh0TWFya2VkQ29udGVudD47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbmRDb250cm9sbGVyIHtcbiAgX3BhZ2VNYXRjaGVzOiBBcnJheTxhbnk+O1xuICBfcGFnZU1hdGNoZXNDb2xvcjogQXJyYXk8bnVtYmVyPjtcbiAgX3BhZ2VNYXRjaGVzTGVuZ3RoOiBBcnJheTxudW1iZXI+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhIHtcbiAgZ2V0UmF3KCk6IGFueTtcbiAgZ2V0KG5hbWU6IGFueSk6IGFueTtcbiAgZ2V0QWxsKCk6IGFueTtcbiAgaGFzKG5hbWU6IGFueSk6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlSGFuZGxlciB7XG4gIHNvdXJjZU5hbWU6IGFueTtcbiAgdGFyZ2V0TmFtZTogYW55O1xuICBjb21PYmo6IGFueTtcbiAgY2FsbGJhY2tJZDogbnVtYmVyO1xuICBzdHJlYW1JZDogbnVtYmVyO1xuICBzdHJlYW1TaW5rczogYW55O1xuICBzdHJlYW1Db250cm9sbGVyczogYW55O1xuICBjYWxsYmFja0NhcGFiaWxpdGllczogYW55O1xuICBhY3Rpb25IYW5kbGVyOiBhbnk7XG4gIG9uKGFjdGlvbk5hbWU6IGFueSwgaGFuZGxlcjogYW55KTogdm9pZDtcbiAgLyoqXG4gICAqIFNlbmRzIGEgbWVzc2FnZSB0byB0aGUgY29tT2JqIHRvIGludm9rZSB0aGUgYWN0aW9uIHdpdGggdGhlIHN1cHBsaWVkIGRhdGEuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhY3Rpb25OYW1lIC0gQWN0aW9uIHRvIGNhbGwuXG4gICAqIEBwYXJhbSB7SlNPTn0gZGF0YSAtIEpTT04gZGF0YSB0byBzZW5kLlxuICAgKiBAcGFyYW0ge0FycmF5fSBbdHJhbnNmZXJzXSAtIExpc3Qgb2YgdHJhbnNmZXJzL0FycmF5QnVmZmVycy5cbiAgICovXG4gIHNlbmQoYWN0aW9uTmFtZTogc3RyaW5nLCBkYXRhOiBKU09OLCB0cmFuc2ZlcnM/OiBhbnlbXSB8IHVuZGVmaW5lZCk6IHZvaWQ7XG4gIC8qKlxuICAgKiBTZW5kcyBhIG1lc3NhZ2UgdG8gdGhlIGNvbU9iaiB0byBpbnZva2UgdGhlIGFjdGlvbiB3aXRoIHRoZSBzdXBwbGllZCBkYXRhLlxuICAgKiBFeHBlY3RzIHRoYXQgdGhlIG90aGVyIHNpZGUgd2lsbCBjYWxsYmFjayB3aXRoIHRoZSByZXNwb25zZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFjdGlvbk5hbWUgLSBBY3Rpb24gdG8gY2FsbC5cbiAgICogQHBhcmFtIHtKU09OfSBkYXRhIC0gSlNPTiBkYXRhIHRvIHNlbmQuXG4gICAqIEBwYXJhbSB7QXJyYXl9IFt0cmFuc2ZlcnNdIC0gTGlzdCBvZiB0cmFuc2ZlcnMvQXJyYXlCdWZmZXJzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gUHJvbWlzZSB0byBiZSByZXNvbHZlZCB3aXRoIHJlc3BvbnNlIGRhdGEuXG4gICAqL1xuICBzZW5kV2l0aFByb21pc2UoYWN0aW9uTmFtZTogc3RyaW5nLCBkYXRhOiBKU09OLCB0cmFuc2ZlcnM/OiBhbnlbXSB8IHVuZGVmaW5lZCk6IFByb21pc2U8YW55PjtcbiAgLyoqXG4gICAqIFNlbmRzIGEgbWVzc2FnZSB0byB0aGUgY29tT2JqIHRvIGludm9rZSB0aGUgYWN0aW9uIHdpdGggdGhlIHN1cHBsaWVkIGRhdGEuXG4gICAqIEV4cGVjdCB0aGF0IHRoZSBvdGhlciBzaWRlIHdpbGwgY2FsbGJhY2sgdG8gc2lnbmFsICdzdGFydF9jb21wbGV0ZScuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhY3Rpb25OYW1lIC0gQWN0aW9uIHRvIGNhbGwuXG4gICAqIEBwYXJhbSB7SlNPTn0gZGF0YSAtIEpTT04gZGF0YSB0byBzZW5kLlxuICAgKiBAcGFyYW0ge09iamVjdH0gcXVldWVpbmdTdHJhdGVneSAtIFN0cmF0ZWd5IHRvIHNpZ25hbCBiYWNrcHJlc3N1cmUgYmFzZWQgb25cbiAgICogICAgICAgICAgICAgICAgIGludGVybmFsIHF1ZXVlLlxuICAgKiBAcGFyYW0ge0FycmF5fSBbdHJhbnNmZXJzXSAtIExpc3Qgb2YgdHJhbnNmZXJzL0FycmF5QnVmZmVycy5cbiAgICogQHJldHVybnMge1JlYWRhYmxlU3RyZWFtfSBSZWFkYWJsZVN0cmVhbSB0byByZWFkIGRhdGEgaW4gY2h1bmtzLlxuICAgKi9cbiAgc2VuZFdpdGhTdHJlYW0oYWN0aW9uTmFtZTogc3RyaW5nLCBkYXRhOiBKU09OLCBxdWV1ZWluZ1N0cmF0ZWd5OiBPYmplY3QsIHRyYW5zZmVycz86IGFueVtdIHwgdW5kZWZpbmVkKTogUmVhZGFibGVTdHJlYW07XG5cbiAgZGVzdHJveSgpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBERldvcmtlciB7XG4gIG5hbWU6IGFueTtcbiAgZGVzdHJveWVkOiBib29sZWFuO1xuICB2ZXJib3NpdHk6IG51bWJlcjtcblxuICAvKipcbiAgICogUHJvbWlzZSBmb3Igd29ya2VyIGluaXRpYWxpemF0aW9uIGNvbXBsZXRpb24uXG4gICAqIEB0eXBlIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgZ2V0IHByb21pc2UoKTogUHJvbWlzZTx2b2lkPjtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGB3b3JrZXJQb3J0YCwgd2hlbiBpdCBleGlzdHMuXG4gICAqIEB0eXBlIHtXb3JrZXJ9XG4gICAqL1xuICBnZXQgcG9ydCgpOiBXb3JrZXI7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBNZXNzYWdlSGFuZGxlci1pbnN0YW5jZS5cbiAgICogQHR5cGUge01lc3NhZ2VIYW5kbGVyfVxuICAgKi9cbiAgZ2V0IG1lc3NhZ2VIYW5kbGVyKCk6IE1lc3NhZ2VIYW5kbGVyO1xuICBfaW5pdGlhbGl6ZUZyb21Qb3J0KHBvcnQ6IGFueSk6IHZvaWQ7XG4gIF9pbml0aWFsaXplKCk6IHZvaWQ7XG4gIF9zZXR1cEZha2VXb3JrZXIoKTogdm9pZDtcbiAgLyoqXG4gICAqIERlc3Ryb3lzIHRoZSB3b3JrZXIgaW5zdGFuY2UuXG4gICAqL1xuICBkZXN0cm95KCk6IHZvaWQ7XG59XG5cbi8qKlxuICogRG9jdW1lbnQgaW5pdGlhbGl6YXRpb24gLyBsb2FkaW5nIHBhcmFtZXRlcnMgb2JqZWN0LlxuICovXG5leHBvcnQgdHlwZSBEb2N1bWVudEluaXRQYXJhbWV0ZXJzID0ge1xuICAvKipcbiAgICogLSBUaGUgVVJMIG9mIHRoZSBQREYuXG4gICAqL1xuICB1cmw/OiBzdHJpbmcgfCBVUkwgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIEJpbmFyeSBQREYgZGF0YS5cbiAgICogVXNlIFR5cGVkQXJyYXlzIChVaW50OEFycmF5KSB0byBpbXByb3ZlIHRoZSBtZW1vcnkgdXNhZ2UuIElmIFBERiBkYXRhIGlzXG4gICAqIEJBU0U2NC1lbmNvZGVkLCB1c2UgYGF0b2IoKWAgdG8gY29udmVydCBpdCB0byBhIGJpbmFyeSBzdHJpbmcgZmlyc3QuXG4gICAqXG4gICAqIE5PVEU6IElmIFR5cGVkQXJyYXlzIGFyZSB1c2VkIHRoZXkgd2lsbCBnZW5lcmFsbHkgYmUgdHJhbnNmZXJyZWQgdG8gdGhlXG4gICAqIHdvcmtlci10aHJlYWQuIFRoaXMgd2lsbCBoZWxwIHJlZHVjZSBtYWluLXRocmVhZCBtZW1vcnkgdXNhZ2UsIGhvd2V2ZXJcbiAgICogaXQgd2lsbCB0YWtlIG93bmVyc2hpcCBvZiB0aGUgVHlwZWRBcnJheXMuXG4gICAqL1xuICBkYXRhPzogQXJyYXlCdWZmZXIgfCBBcnJheUJ1ZmZlclZpZXcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIEJhc2ljIGF1dGhlbnRpY2F0aW9uIGhlYWRlcnMuXG4gICAqL1xuICBodHRwSGVhZGVycz86IE9iamVjdCB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gSW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90XG4gICAqIGNyb3NzLXNpdGUgQWNjZXNzLUNvbnRyb2wgcmVxdWVzdHMgc2hvdWxkIGJlIG1hZGUgdXNpbmcgY3JlZGVudGlhbHMgc3VjaFxuICAgKiBhcyBjb29raWVzIG9yIGF1dGhvcml6YXRpb24gaGVhZGVycy4gVGhlIGRlZmF1bHQgaXMgYGZhbHNlYC5cbiAgICovXG4gIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIEZvciBkZWNyeXB0aW5nIHBhc3N3b3JkLXByb3RlY3RlZCBQREZzLlxuICAgKi9cbiAgcGFzc3dvcmQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIFRoZSBQREYgZmlsZSBsZW5ndGguIEl0J3MgdXNlZCBmb3IgcHJvZ3Jlc3NcbiAgICogcmVwb3J0cyBhbmQgcmFuZ2UgcmVxdWVzdHMgb3BlcmF0aW9ucy5cbiAgICovXG4gIGxlbmd0aD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gQWxsb3dzIGZvciB1c2luZyBhIGN1c3RvbSByYW5nZVxuICAgKiB0cmFuc3BvcnQgaW1wbGVtZW50YXRpb24uXG4gICAqL1xuICByYW5nZT86IGFueSB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gU3BlY2lmeSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyBmZXRjaGVkXG4gICAqIHBlciByYW5nZSByZXF1ZXN0LiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB7QGxpbmsgREVGQVVMVF9SQU5HRV9DSFVOS19TSVpFIH0uXG4gICAqL1xuICByYW5nZUNodW5rU2l6ZT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gVGhlIHdvcmtlciB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgbG9hZGluZyBhbmRcbiAgICogcGFyc2luZyB0aGUgUERGIGRhdGEuXG4gICAqL1xuICB3b3JrZXI/OiBQREZXb3JrZXIgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIENvbnRyb2xzIHRoZSBsb2dnaW5nIGxldmVsOyB0aGUgY29uc3RhbnRzXG4gICAqIGZyb20ge0BsaW5rIFZlcmJvc2l0eUxldmVsIH0gc2hvdWxkIGJlIHVzZWQuXG4gICAqL1xuICB2ZXJib3NpdHk/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIFRoZSBiYXNlIFVSTCBvZiB0aGUgZG9jdW1lbnQsIHVzZWQgd2hlblxuICAgKiBhdHRlbXB0aW5nIHRvIHJlY292ZXIgdmFsaWQgYWJzb2x1dGUgVVJMcyBmb3IgYW5ub3RhdGlvbnMsIGFuZCBvdXRsaW5lXG4gICAqIGl0ZW1zLCB0aGF0IChpbmNvcnJlY3RseSkgb25seSBzcGVjaWZ5IHJlbGF0aXZlIFVSTHMuXG4gICAqL1xuICBkb2NCYXNlVXJsPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBUaGUgVVJMIHdoZXJlIHRoZSBwcmVkZWZpbmVkIEFkb2JlIENNYXBzIGFyZVxuICAgKiBsb2NhdGVkLiBJbmNsdWRlIHRoZSB0cmFpbGluZyBzbGFzaC5cbiAgICovXG4gIGNNYXBVcmw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIFNwZWNpZmllcyBpZiB0aGUgQWRvYmUgQ01hcHMgYXJlIGJpbmFyeVxuICAgKiBwYWNrZWQgb3Igbm90LiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgdHJ1ZWAuXG4gICAqL1xuICBjTWFwUGFja2VkPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gVGhlIGZhY3RvcnkgdGhhdCB3aWxsIGJlIHVzZWQgd2hlblxuICAgKiByZWFkaW5nIGJ1aWx0LWluIENNYXAgZmlsZXMuIFByb3ZpZGluZyBhIGN1c3RvbSBmYWN0b3J5IGlzIHVzZWZ1bCBmb3JcbiAgICogZW52aXJvbm1lbnRzIHdpdGhvdXQgRmV0Y2ggQVBJIG9yIGBYTUxIdHRwUmVxdWVzdGAgc3VwcG9ydCwgc3VjaCBhc1xuICAgKiBOb2RlLmpzLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB7RE9NQ01hcFJlYWRlckZhY3Rvcnl9LlxuICAgKi9cbiAgQ01hcFJlYWRlckZhY3Rvcnk/OiBPYmplY3QgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIFdoZW4gYHRydWVgLCBmb250cyB0aGF0IGFyZW4ndFxuICAgKiBlbWJlZGRlZCBpbiB0aGUgUERGIGRvY3VtZW50IHdpbGwgZmFsbGJhY2sgdG8gYSBzeXN0ZW0gZm9udC5cbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgYHRydWVgIGluIHdlYiBlbnZpcm9ubWVudHMgYW5kIGBmYWxzZWAgaW4gTm9kZS5qcztcbiAgICogdW5sZXNzIGBkaXNhYmxlRm9udEZhY2UgPT09IHRydWVgIGluIHdoaWNoIGNhc2UgdGhpcyBkZWZhdWx0cyB0byBgZmFsc2VgXG4gICAqIHJlZ2FyZGxlc3Mgb2YgdGhlIGVudmlyb25tZW50ICh0byBwcmV2ZW50IGNvbXBsZXRlbHkgYnJva2VuIGZvbnRzKS5cbiAgICovXG4gIHVzZVN5c3RlbUZvbnRzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gVGhlIFVSTCB3aGVyZSB0aGUgc3RhbmRhcmQgZm9udFxuICAgKiBmaWxlcyBhcmUgbG9jYXRlZC4gSW5jbHVkZSB0aGUgdHJhaWxpbmcgc2xhc2guXG4gICAqL1xuICBzdGFuZGFyZEZvbnREYXRhVXJsPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBUaGUgZmFjdG9yeSB0aGF0IHdpbGwgYmUgdXNlZFxuICAgKiB3aGVuIHJlYWRpbmcgdGhlIHN0YW5kYXJkIGZvbnQgZmlsZXMuIFByb3ZpZGluZyBhIGN1c3RvbSBmYWN0b3J5IGlzIHVzZWZ1bFxuICAgKiBmb3IgZW52aXJvbm1lbnRzIHdpdGhvdXQgRmV0Y2ggQVBJIG9yIGBYTUxIdHRwUmVxdWVzdGAgc3VwcG9ydCwgc3VjaCBhc1xuICAgKiBOb2RlLmpzLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB7RE9NU3RhbmRhcmRGb250RGF0YUZhY3Rvcnl9LlxuICAgKi9cbiAgU3RhbmRhcmRGb250RGF0YUZhY3Rvcnk/OiBPYmplY3QgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIEVuYWJsZSB1c2luZyB0aGUgRmV0Y2ggQVBJIGluIHRoZVxuICAgKiB3b3JrZXItdGhyZWFkIHdoZW4gcmVhZGluZyBDTWFwIGFuZCBzdGFuZGFyZCBmb250IGZpbGVzLiBXaGVuIGB0cnVlYCxcbiAgICogdGhlIGBDTWFwUmVhZGVyRmFjdG9yeWAgYW5kIGBTdGFuZGFyZEZvbnREYXRhRmFjdG9yeWAgb3B0aW9ucyBhcmUgaWdub3JlZC5cbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgYHRydWVgIGluIHdlYiBlbnZpcm9ubWVudHMgYW5kIGBmYWxzZWAgaW4gTm9kZS5qcy5cbiAgICovXG4gIHVzZVdvcmtlckZldGNoPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gUmVqZWN0IGNlcnRhaW4gcHJvbWlzZXMsIGUuZy5cbiAgICogYGdldE9wZXJhdG9yTGlzdGAsIGBnZXRUZXh0Q29udGVudGAsIGFuZCBgUmVuZGVyVGFza2AsIHdoZW4gdGhlIGFzc29jaWF0ZWRcbiAgICogUERGIGRhdGEgY2Fubm90IGJlIHN1Y2Nlc3NmdWxseSBwYXJzZWQsIGluc3RlYWQgb2YgYXR0ZW1wdGluZyB0byByZWNvdmVyXG4gICAqIHdoYXRldmVyIHBvc3NpYmxlIG9mIHRoZSBkYXRhLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgZmFsc2VgLlxuICAgKi9cbiAgc3RvcEF0RXJyb3JzPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gVGhlIG1heGltdW0gYWxsb3dlZCBpbWFnZSBzaXplIGluIHRvdGFsXG4gICAqIHBpeGVscywgaS5lLiB3aWR0aCAqIGhlaWdodC4gSW1hZ2VzIGFib3ZlIHRoaXMgdmFsdWUgd2lsbCBub3QgYmUgcmVuZGVyZWQuXG4gICAqIFVzZSAtMSBmb3Igbm8gbGltaXQsIHdoaWNoIGlzIGFsc28gdGhlIGRlZmF1bHQgdmFsdWUuXG4gICAqL1xuICBtYXhJbWFnZVNpemU/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIERldGVybWluZXMgaWYgd2UgY2FuIGV2YWx1YXRlIHN0cmluZ3NcbiAgICogYXMgSmF2YVNjcmlwdC4gUHJpbWFyaWx5IHVzZWQgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBvZiBmb250IHJlbmRlcmluZywgYW5kXG4gICAqIHdoZW4gcGFyc2luZyBQREYgZnVuY3Rpb25zLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgdHJ1ZWAuXG4gICAqL1xuICBpc0V2YWxTdXBwb3J0ZWQ/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBEZXRlcm1pbmVzIGlmIHdlIGNhbiB1c2VcbiAgICogYE9mZnNjcmVlbkNhbnZhc2AgaW4gdGhlIHdvcmtlci4gUHJpbWFyaWx5IHVzZWQgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBvZlxuICAgKiBpbWFnZSBjb252ZXJzaW9uL3JlbmRlcmluZy5cbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgYHRydWVgIGluIHdlYiBlbnZpcm9ubWVudHMgYW5kIGBmYWxzZWAgaW4gTm9kZS5qcy5cbiAgICovXG4gIGlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gQnkgZGVmYXVsdCBmb250cyBhcmUgY29udmVydGVkIHRvXG4gICAqIE9wZW5UeXBlIGZvbnRzIGFuZCBsb2FkZWQgdmlhIHRoZSBGb250IExvYWRpbmcgQVBJIG9yIGBAZm9udC1mYWNlYCBydWxlcy5cbiAgICogSWYgZGlzYWJsZWQsIGZvbnRzIHdpbGwgYmUgcmVuZGVyZWQgdXNpbmcgYSBidWlsdC1pbiBmb250IHJlbmRlcmVyIHRoYXRcbiAgICogY29uc3RydWN0cyB0aGUgZ2x5cGhzIHdpdGggcHJpbWl0aXZlIHBhdGggY29tbWFuZHMuXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBmYWxzZWAgaW4gd2ViIGVudmlyb25tZW50cyBhbmQgYHRydWVgIGluIE5vZGUuanMuXG4gICAqL1xuICBkaXNhYmxlRm9udEZhY2U/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBJbmNsdWRlIGFkZGl0aW9uYWwgcHJvcGVydGllcyxcbiAgICogd2hpY2ggYXJlIHVudXNlZCBkdXJpbmcgcmVuZGVyaW5nIG9mIFBERiBkb2N1bWVudHMsIHdoZW4gZXhwb3J0aW5nIHRoZVxuICAgKiBwYXJzZWQgZm9udCBkYXRhIGZyb20gdGhlIHdvcmtlci10aHJlYWQuIFRoaXMgbWF5IGJlIHVzZWZ1bCBmb3IgZGVidWdnaW5nXG4gICAqIHB1cnBvc2VzIChhbmQgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkpLCBidXQgbm90ZSB0aGF0IGl0IHdpbGwgbGVhZCB0b1xuICAgKiBpbmNyZWFzZWQgbWVtb3J5IHVzYWdlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgZmFsc2VgLlxuICAgKi9cbiAgZm9udEV4dHJhUHJvcGVydGllcz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIFJlbmRlciBYZmEgZm9ybXMgaWYgYW55LlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgZmFsc2VgLlxuICAgKi9cbiAgZW5hYmxlWGZhPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gU3BlY2lmeSBhbiBleHBsaWNpdCBkb2N1bWVudFxuICAgKiBjb250ZXh0IHRvIGNyZWF0ZSBlbGVtZW50cyB3aXRoIGFuZCB0byBsb2FkIHJlc291cmNlcywgc3VjaCBhcyBmb250cyxcbiAgICogaW50by4gRGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgZG9jdW1lbnQuXG4gICAqL1xuICBvd25lckRvY3VtZW50PzogSFRNTERvY3VtZW50IHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBEaXNhYmxlIHJhbmdlIHJlcXVlc3QgbG9hZGluZyBvZiBQREZcbiAgICogZmlsZXMuIFdoZW4gZW5hYmxlZCwgYW5kIGlmIHRoZSBzZXJ2ZXIgc3VwcG9ydHMgcGFydGlhbCBjb250ZW50IHJlcXVlc3RzLFxuICAgKiB0aGVuIHRoZSBQREYgd2lsbCBiZSBmZXRjaGVkIGluIGNodW5rcy4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYGZhbHNlYC5cbiAgICovXG4gIGRpc2FibGVSYW5nZT86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIERpc2FibGUgc3RyZWFtaW5nIG9mIFBERiBmaWxlIGRhdGEuXG4gICAqIEJ5IGRlZmF1bHQgUERGLmpzIGF0dGVtcHRzIHRvIGxvYWQgUERGIGZpbGVzIGluIGNodW5rcy4gVGhlIGRlZmF1bHQgdmFsdWVcbiAgICogaXMgYGZhbHNlYC5cbiAgICovXG4gIGRpc2FibGVTdHJlYW0/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBEaXNhYmxlIHByZS1mZXRjaGluZyBvZiBQREYgZmlsZVxuICAgKiBkYXRhLiBXaGVuIHJhbmdlIHJlcXVlc3RzIGFyZSBlbmFibGVkIFBERi5qcyB3aWxsIGF1dG9tYXRpY2FsbHkga2VlcFxuICAgKiBmZXRjaGluZyBtb3JlIGRhdGEgZXZlbiBpZiBpdCBpc24ndCBuZWVkZWQgdG8gZGlzcGxheSB0aGUgY3VycmVudCBwYWdlLlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgZmFsc2VgLlxuICAgKlxuICAgKiBOT1RFOiBJdCBpcyBhbHNvIG5lY2Vzc2FyeSB0byBkaXNhYmxlIHN0cmVhbWluZywgc2VlIGFib3ZlLCBpbiBvcmRlciBmb3JcbiAgICogZGlzYWJsaW5nIG9mIHByZS1mZXRjaGluZyB0byB3b3JrIGNvcnJlY3RseS5cbiAgICovXG4gIGRpc2FibGVBdXRvRmV0Y2g/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBFbmFibGVzIHNwZWNpYWwgaG9va3MgZm9yIGRlYnVnZ2luZyBQREYuanNcbiAgICogKHNlZSBgd2ViL2RlYnVnZ2VyLmpzYCkuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBmYWxzZWAuXG4gICAqL1xuICBwZGZCdWc/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xufTtcbmV4cG9ydCB0eXBlIE9uUHJvZ3Jlc3NQYXJhbWV0ZXJzID0ge1xuICAvKipcbiAgICogLSBDdXJyZW50bHkgbG9hZGVkIG51bWJlciBvZiBieXRlcy5cbiAgICovXG4gIGxvYWRlZDogbnVtYmVyO1xuICAvKipcbiAgICogLSBUb3RhbCBudW1iZXIgb2YgYnl0ZXMgaW4gdGhlIFBERiBmaWxlLlxuICAgKi9cbiAgdG90YWw6IG51bWJlcjtcbn07XG5cbi8qKlxuICogUGFnZSBhbm5vdGF0aW9uIHBhcmFtZXRlcnMuXG4gKi9cbmV4cG9ydCB0eXBlIEdldEFubm90YXRpb25zUGFyYW1ldGVycyA9IHtcbiAgLyoqXG4gICAqIC0gRGV0ZXJtaW5lcyB0aGUgYW5ub3RhdGlvbnMgdGhhdCBhcmUgZmV0Y2hlZCxcbiAgICogY2FuIGJlICdkaXNwbGF5JyAodmlld2FibGUgYW5ub3RhdGlvbnMpLCAncHJpbnQnIChwcmludGFibGUgYW5ub3RhdGlvbnMpLFxuICAgKiBvciAnYW55JyAoYWxsIGFubm90YXRpb25zKS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgJ2Rpc3BsYXknLlxuICAgKi9cbiAgaW50ZW50Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IHR5cGUgVGV4dEl0ZW0gPSB7XG4gIC8qKlxuICAgKiAtIFRleHQgY29udGVudC5cbiAgICovXG4gIHN0cjogc3RyaW5nO1xuICAvKipcbiAgICogLSBUZXh0IGRpcmVjdGlvbjogJ3R0YicsICdsdHInIG9yICdydGwnLlxuICAgKi9cbiAgZGlyOiBzdHJpbmc7XG4gIC8qKlxuICAgKiAtIFRyYW5zZm9ybWF0aW9uIG1hdHJpeC5cbiAgICovXG4gIHRyYW5zZm9ybTogQXJyYXk8YW55PjtcbiAgLyoqXG4gICAqIC0gV2lkdGggaW4gZGV2aWNlIHNwYWNlLlxuICAgKi9cbiAgd2lkdGg6IG51bWJlcjtcbiAgLyoqXG4gICAqIC0gSGVpZ2h0IGluIGRldmljZSBzcGFjZS5cbiAgICovXG4gIGhlaWdodDogbnVtYmVyO1xuICAvKipcbiAgICogLSBGb250IG5hbWUgdXNlZCBieSBQREYuanMgZm9yIGNvbnZlcnRlZCBmb250LlxuICAgKi9cbiAgZm9udE5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIC0gSW5kaWNhdGluZyBpZiB0aGUgdGV4dCBjb250ZW50IGlzIGZvbGxvd2VkIGJ5IGFcbiAgICogbGluZS1icmVhay5cbiAgICovXG4gIGhhc0VPTDogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogUGFnZSB0ZXh0IG1hcmtlZCBjb250ZW50IHBhcnQuXG4gKi9cbmV4cG9ydCB0eXBlIFRleHRNYXJrZWRDb250ZW50ID0ge1xuICAvKipcbiAgICogLSBFaXRoZXIgJ2JlZ2luTWFya2VkQ29udGVudCcsXG4gICAqICdiZWdpbk1hcmtlZENvbnRlbnRQcm9wcycsIG9yICdlbmRNYXJrZWRDb250ZW50Jy5cbiAgICovXG4gIHR5cGU6IHN0cmluZztcbiAgLyoqXG4gICAqIC0gVGhlIG1hcmtlZCBjb250ZW50IGlkZW50aWZpZXIuIE9ubHkgdXNlZCBmb3IgdHlwZVxuICAgKiAnYmVnaW5NYXJrZWRDb250ZW50UHJvcHMnLlxuICAgKi9cbiAgaWQ6IHN0cmluZztcbn07XG5cbi8qKlxuICogQSBQREYgZG9jdW1lbnQgYW5kIHBhZ2UgaXMgYnVpbHQgb2YgbWFueSBvYmplY3RzLiBFLmcuIHRoZXJlIGFyZSBvYmplY3RzIGZvclxuICogZm9udHMsIGltYWdlcywgcmVuZGVyaW5nIGNvZGUsIGV0Yy4gVGhlc2Ugb2JqZWN0cyBtYXkgZ2V0IHByb2Nlc3NlZCBpbnNpZGUgb2ZcbiAqIGEgd29ya2VyLiBUaGlzIGNsYXNzIGltcGxlbWVudHMgc29tZSBiYXNpYyBtZXRob2RzIHRvIG1hbmFnZSB0aGVzZSBvYmplY3RzLlxuICovXG5kZWNsYXJlIGludGVyZmFjZSBQREZPYmplY3RzIHtcbiAgLyoqXG4gICAqIElmIGNhbGxlZCAqd2l0aG91dCogY2FsbGJhY2ssIHRoaXMgcmV0dXJucyB0aGUgZGF0YSBvZiBgb2JqSWRgIGJ1dCB0aGVcbiAgICogb2JqZWN0IG5lZWRzIHRvIGJlIHJlc29sdmVkLiBJZiBpdCBpc24ndCwgdGhpcyBtZXRob2QgdGhyb3dzLlxuICAgKlxuICAgKiBJZiBjYWxsZWQgKndpdGgqIGEgY2FsbGJhY2ssIHRoZSBjYWxsYmFjayBpcyBjYWxsZWQgd2l0aCB0aGUgZGF0YSBvZiB0aGVcbiAgICogb2JqZWN0IG9uY2UgdGhlIG9iamVjdCBpcyByZXNvbHZlZC4gVGhhdCBtZWFucywgaWYgeW91IGNhbGwgdGhpcyBtZXRob2RcbiAgICogYW5kIHRoZSBvYmplY3QgaXMgYWxyZWFkeSByZXNvbHZlZCwgdGhlIGNhbGxiYWNrIGdldHMgY2FsbGVkIHJpZ2h0IGF3YXkuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvYmpJZFxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBbY2FsbGJhY2tdXG4gICAqIEByZXR1cm5zIHthbnl9XG4gICAqL1xuICBnZXQob2JqSWQ6IHN0cmluZywgY2FsbGJhY2s/OiBGdW5jdGlvbiB8IHVuZGVmaW5lZCk6IGFueTtcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvYmpJZFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIGhhcyhvYmpJZDogc3RyaW5nKTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFJlc29sdmVzIHRoZSBvYmplY3QgYG9iaklkYCB3aXRoIG9wdGlvbmFsIGBkYXRhYC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9iaklkXG4gICAqIEBwYXJhbSB7YW55fSBbZGF0YV1cbiAgICovXG4gIHJlc29sdmUob2JqSWQ6IHN0cmluZywgZGF0YT86IGFueSk6IHZvaWQ7XG4gIGNsZWFyKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIFJlZlByb3h5ID0ge1xuICBudW06IG51bWJlcjtcbiAgZ2VuOiBudW1iZXI7XG59O1xuXG4vKipcbiAqIFBhZ2UgZ2V0Vmlld3BvcnQgcGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IHR5cGUgR2V0Vmlld3BvcnRQYXJhbWV0ZXJzID0ge1xuICAvKipcbiAgICogLSBUaGUgZGVzaXJlZCBzY2FsZSBvZiB0aGUgdmlld3BvcnQuXG4gICAqL1xuICBzY2FsZTogbnVtYmVyO1xuICAvKipcbiAgICogLSBUaGUgZGVzaXJlZCByb3RhdGlvbiwgaW4gZGVncmVlcywgb2ZcbiAgICogdGhlIHZpZXdwb3J0LiBJZiBvbWl0dGVkIGl0IGRlZmF1bHRzIHRvIHRoZSBwYWdlIHJvdGF0aW9uLlxuICAgKi9cbiAgcm90YXRpb24/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIFRoZSBob3Jpem9udGFsLCBpLmUuIHgtYXhpcywgb2Zmc2V0LlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgMGAuXG4gICAqL1xuICBvZmZzZXRYPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBUaGUgdmVydGljYWwsIGkuZS4geS1heGlzLCBvZmZzZXQuXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGAwYC5cbiAgICovXG4gIG9mZnNldFk/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIElmIHRydWUsIHRoZSB5LWF4aXMgd2lsbCBub3QgYmVcbiAgICogZmxpcHBlZC4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYGZhbHNlYC5cbiAgICovXG4gIGRvbnRGbGlwPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUERGRGF0ZVN0cmluZyB7XG4gIC8qKlxuICAgKiBDb252ZXJ0IGEgUERGIGRhdGUgc3RyaW5nIHRvIGEgSmF2YVNjcmlwdCBgRGF0ZWAgb2JqZWN0LlxuICAgKlxuICAgKiBUaGUgUERGIGRhdGUgc3RyaW5nIGZvcm1hdCBpcyBkZXNjcmliZWQgaW4gc2VjdGlvbiA3LjkuNCBvZiB0aGUgb2ZmaWNpYWxcbiAgICogUERGIDMyMDAwLTE6MjAwOCBzcGVjaWZpY2F0aW9uLiBIb3dldmVyLCBpbiB0aGUgUERGIDEuNyByZWZlcmVuY2UgKHNpeHRoXG4gICAqIGVkaXRpb24pIEFkb2JlIGRlc2NyaWJlcyB0aGUgc2FtZSBmb3JtYXQgaW5jbHVkaW5nIGEgdHJhaWxpbmcgYXBvc3Ryb3BoZS5cbiAgICogVGhpcyBzeW50YXggaW4gaW5jb3JyZWN0LCBidXQgQWRvYmUgQWNyb2JhdCBjcmVhdGVzIFBERiBmaWxlcyB0aGF0IGNvbnRhaW5cbiAgICogdGhlbS4gV2UgaWdub3JlIGFsbCBhcG9zdHJvcGhlcyBhcyB0aGV5IGFyZSBub3QgbmVjZXNzYXJ5IGZvciBkYXRlIHBhcnNpbmcuXG4gICAqXG4gICAqIE1vcmVvdmVyLCBBZG9iZSBBY3JvYmF0IGRvZXNuJ3QgaGFuZGxlIGNoYW5naW5nIHRoZSBkYXRlIHRvIHVuaXZlcnNhbCB0aW1lXG4gICAqIGFuZCBkb2Vzbid0IHVzZSB0aGUgdXNlcidzIHRpbWUgem9uZSAoZWZmZWN0aXZlbHkgaWdub3JpbmcgdGhlIEhIJyBhbmQgbW0nXG4gICAqIHBhcnRzIG9mIHRoZSBkYXRlIHN0cmluZykuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dFxuICAgKiBAcmV0dXJucyB7RGF0ZXxudWxsfVxuICAgKi9cbiAgLy8gc3RhdGljIHRvRGF0ZU9iamVjdChpbnB1dDogc3RyaW5nKTogRGF0ZSB8IG51bGw7XG59XG5cbi8qKlxuICogUGFnZSBnZXRUZXh0Q29udGVudCBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgdHlwZSBnZXRUZXh0Q29udGVudFBhcmFtZXRlcnMgPSB7XG4gIC8qKlxuICAgKiAtIERvIG5vdCBhdHRlbXB0IHRvIGNvbWJpbmVcbiAgICogc2FtZSBsaW5lIHtAbGluayBUZXh0SXRlbSB9J3MuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBmYWxzZWAuXG4gICAqL1xuICBkaXNhYmxlQ29tYmluZVRleHRJdGVtczogYm9vbGVhbjtcbiAgLyoqXG4gICAqIC0gV2hlbiB0cnVlIGluY2x1ZGUgbWFya2VkXG4gICAqIGNvbnRlbnQgaXRlbXMgaW4gdGhlIGl0ZW1zIGFycmF5IG9mIFRleHRDb250ZW50LiBUaGUgZGVmYXVsdCBpcyBgZmFsc2VgLlxuICAgKi9cbiAgaW5jbHVkZU1hcmtlZENvbnRlbnQ/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBBbGxvd3MgY29udHJvbGxpbmcgb2YgdGhlIHJlbmRlcmluZyB0YXNrcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJUYXNrIHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGZvciBpbmNyZW1lbnRhbCByZW5kZXJpbmcgLS0gYSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkXG4gICAqIGVhY2ggdGltZSB0aGUgcmVuZGVyaW5nIGlzIHBhdXNlZC4gIFRvIGNvbnRpbnVlIHJlbmRlcmluZyBjYWxsIHRoZVxuICAgKiBmdW5jdGlvbiB0aGF0IGlzIHRoZSBmaXJzdCBhcmd1bWVudCB0byB0aGUgY2FsbGJhY2suXG4gICAqIEB0eXBlIHtmdW5jdGlvbn1cbiAgICovXG4gIG9uQ29udGludWU6IEZ1bmN0aW9uO1xuICAvKipcbiAgICogUHJvbWlzZSBmb3IgcmVuZGVyaW5nIHRhc2sgY29tcGxldGlvbi5cbiAgICogQHR5cGUge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBnZXQgcHJvbWlzZSgpOiBQcm9taXNlPHZvaWQ+O1xuICAvKipcbiAgICogQ2FuY2VscyB0aGUgcmVuZGVyaW5nIHRhc2suIElmIHRoZSB0YXNrIGlzIGN1cnJlbnRseSByZW5kZXJpbmcgaXQgd2lsbFxuICAgKiBub3QgYmUgY2FuY2VsbGVkIHVudGlsIGdyYXBoaWNzIHBhdXNlcyB3aXRoIGEgdGltZW91dC4gVGhlIHByb21pc2UgdGhhdFxuICAgKiB0aGlzIG9iamVjdCBleHRlbmRzIHdpbGwgYmUgcmVqZWN0ZWQgd2hlbiBjYW5jZWxsZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbZXh0cmFEZWxheV1cbiAgICovXG4gIGNhbmNlbChleHRyYURlbGF5PzogbnVtYmVyIHwgdW5kZWZpbmVkKTogdm9pZDtcbiAgLyoqXG4gICAqIFdoZXRoZXIgZm9ybSBmaWVsZHMgYXJlIHJlbmRlcmVkIHNlcGFyYXRlbHkgZnJvbSB0aGUgbWFpbiBvcGVyYXRvckxpc3QuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IHNlcGFyYXRlQW5ub3RzKCk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUGFnZSByZW5kZXIgcGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IHR5cGUgUmVuZGVyUGFyYW1ldGVycyA9IHtcbiAgLyoqXG4gICAqIC0gQSAyRCBjb250ZXh0IG9mIGEgRE9NIENhbnZhcyBvYmplY3QuXG4gICAqL1xuICBjYW52YXNDb250ZXh0OiBPYmplY3Q7XG4gIC8qKlxuICAgKiAtIFJlbmRlcmluZyB2aWV3cG9ydCBvYnRhaW5lZCBieSBjYWxsaW5nXG4gICAqIHRoZSBgUERGUGFnZVByb3h5LmdldFZpZXdwb3J0YCBtZXRob2QuXG4gICAqL1xuICB2aWV3cG9ydDogUGFnZVZpZXdwb3J0O1xuICAvKipcbiAgICogLSBSZW5kZXJpbmcgaW50ZW50LCBjYW4gYmUgJ2Rpc3BsYXknLCAncHJpbnQnLFxuICAgKiBvciAnYW55Jy4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgJ2Rpc3BsYXknLlxuICAgKi9cbiAgaW50ZW50Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogQ29udHJvbHMgd2hpY2ggYW5ub3RhdGlvbnMgYXJlIHJlbmRlcmVkXG4gICAqIG9udG8gdGhlIGNhbnZhcywgZm9yIGFubm90YXRpb25zIHdpdGggYXBwZWFyYW5jZS1kYXRhOyB0aGUgdmFsdWVzIGZyb21cbiAgICoge0BsaW5rIEFubm90YXRpb25Nb2RlIH0gc2hvdWxkIGJlIHVzZWQuIFRoZSBmb2xsb3dpbmcgdmFsdWVzIGFyZSBzdXBwb3J0ZWQ6XG4gICAqIC0gYEFubm90YXRpb25Nb2RlLkRJU0FCTEVgLCB3aGljaCBkaXNhYmxlcyBhbGwgYW5ub3RhdGlvbnMuXG4gICAqIC0gYEFubm90YXRpb25Nb2RlLkVOQUJMRWAsIHdoaWNoIGluY2x1ZGVzIGFsbCBwb3NzaWJsZSBhbm5vdGF0aW9ucyAodGh1c1xuICAgKiBpdCBhbHNvIGRlcGVuZHMgb24gdGhlIGBpbnRlbnRgLW9wdGlvbiwgc2VlIGFib3ZlKS5cbiAgICogLSBgQW5ub3RhdGlvbk1vZGUuRU5BQkxFX0ZPUk1TYCwgd2hpY2ggZXhjbHVkZXMgYW5ub3RhdGlvbnMgdGhhdCBjb250YWluXG4gICAqIGludGVyYWN0aXZlIGZvcm0gZWxlbWVudHMgKHRob3NlIHdpbGwgYmUgcmVuZGVyZWQgaW4gdGhlIGRpc3BsYXkgbGF5ZXIpLlxuICAgKiAtIGBBbm5vdGF0aW9uTW9kZS5FTkFCTEVfU1RPUkFHRWAsIHdoaWNoIGluY2x1ZGVzIGFsbCBwb3NzaWJsZSBhbm5vdGF0aW9uc1xuICAgKiAoYXMgYWJvdmUpIGJ1dCB3aGVyZSBpbnRlcmFjdGl2ZSBmb3JtIGVsZW1lbnRzIGFyZSB1cGRhdGVkIHdpdGggZGF0YVxuICAgKiBmcm9tIHRoZSB7QGxpbmsgQW5ub3RhdGlvblN0b3JhZ2UgfS1pbnN0YW5jZTsgdXNlZnVsIGUuZy4gZm9yIHByaW50aW5nLlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgQW5ub3RhdGlvbk1vZGUuRU5BQkxFYC5cbiAgICovXG4gIGFubm90YXRpb25Nb2RlPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogLSBBZGRpdGlvbmFsIHRyYW5zZm9ybSwgYXBwbGllZCBqdXN0XG4gICAqIGJlZm9yZSB2aWV3cG9ydCB0cmFuc2Zvcm0uXG4gICAqL1xuICB0cmFuc2Zvcm0/OiBhbnlbXSB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gVGhlIGZhY3RvcnkgaW5zdGFuY2UgdGhhdCB3aWxsIGJlIHVzZWRcbiAgICogd2hlbiBjcmVhdGluZyBjYW52YXNlcy4gVGhlIGRlZmF1bHQgdmFsdWUgaXMge25ldyBET01DYW52YXNGYWN0b3J5KCl9LlxuICAgKi9cbiAgY2FudmFzRmFjdG9yeT86IE9iamVjdCB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIC0gQmFja2dyb3VuZCB0byB1c2UgZm9yIHRoZSBjYW52YXMuXG4gICAqIEFueSB2YWxpZCBgY2FudmFzLmZpbGxTdHlsZWAgY2FuIGJlIHVzZWQ6IGEgYERPTVN0cmluZ2AgcGFyc2VkIGFzIENTU1xuICAgKiA8Y29sb3I+IHZhbHVlLCBhIGBDYW52YXNHcmFkaWVudGAgb2JqZWN0IChhIGxpbmVhciBvciByYWRpYWwgZ3JhZGllbnQpIG9yXG4gICAqIGEgYENhbnZhc1BhdHRlcm5gIG9iamVjdCAoYSByZXBldGl0aXZlIGltYWdlKS4gVGhlIGRlZmF1bHQgdmFsdWUgaXNcbiAgICogJ3JnYigyNTUsMjU1LDI1NSknLlxuICAgKlxuICAgKiBOT1RFOiBUaGlzIG9wdGlvbiBtYXkgYmUgcGFydGlhbGx5LCBvciBjb21wbGV0ZWx5LCBpZ25vcmVkIHdoZW4gdGhlXG4gICAqIGBwYWdlQ29sb3JzYC1vcHRpb24gaXMgdXNlZC5cbiAgICovXG4gIGJhY2tncm91bmQ/OiBzdHJpbmcgfCBPYmplY3QgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIE92ZXJ3cml0ZXMgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBjb2xvcnNcbiAgICogd2l0aCB1c2VyIGRlZmluZWQgb25lcyBpbiBvcmRlciB0byBpbXByb3ZlIHJlYWRhYmlsaXR5IGluIGhpZ2ggY29udHJhc3RcbiAgICogbW9kZS5cbiAgICovXG4gIHBhZ2VDb2xvcnM/OiBPYmplY3QgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiAtIE1hcCBzb21lXG4gICAqIGFubm90YXRpb24gaWRzIHdpdGggY2FudmFzZXMgdXNlZCB0byByZW5kZXIgdGhlbS5cbiAgICovXG4gIGFubm90YXRpb25DYW52YXNNYXA/OiBNYXA8c3RyaW5nLCBIVE1MQ2FudmFzRWxlbWVudD4gfCB1bmRlZmluZWQ7XG4gIHByaW50QW5ub3RhdGlvblN0b3JhZ2U/OiBQcmludEFubm90YXRpb25TdG9yYWdlIHwgdW5kZWZpbmVkO1xuXG4gIGJhY2tncm91bmRDb2xvclRvUmVwbGFjZTogc3RyaW5nIHwgdW5kZWZpbmVkOyAvLyBhZGRlZCBieSBuZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlclxuICBvcHRpb25hbENvbnRlbnRDb25maWdQcm9taXNlOiBQcm9taXNlPHVua25vd24+IHwgdW5kZWZpbmVkOyAvLyBhZGRlZCBieSBuZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlcj9cbn07XG5cbi8qKlxuICogU3RydWN0dXJlIHRyZWUgbm9kZS4gVGhlIHJvb3Qgbm9kZSB3aWxsIGhhdmUgYSByb2xlIFwiUm9vdFwiLlxuICovXG5leHBvcnQgdHlwZSBTdHJ1Y3RUcmVlTm9kZSA9IHtcbiAgLyoqXG4gICAqIC0gQXJyYXkgb2ZcbiAgICoge0BsaW5rIFN0cnVjdFRyZWVOb2RlIH0gYW5kIHtAbGluayBTdHJ1Y3RUcmVlQ29udGVudCB9IG9iamVjdHMuXG4gICAqL1xuICBjaGlsZHJlbjogQXJyYXk8U3RydWN0VHJlZU5vZGUgfCBTdHJ1Y3RUcmVlQ29udGVudD47XG4gIC8qKlxuICAgKiAtIGVsZW1lbnQncyByb2xlLCBhbHJlYWR5IG1hcHBlZCBpZiBhIHJvbGUgbWFwIGV4aXN0c1xuICAgKiBpbiB0aGUgUERGLlxuICAgKi9cbiAgcm9sZTogc3RyaW5nO1xufTtcbi8qKlxuICogU3RydWN0dXJlIHRyZWUgY29udGVudC5cbiAqL1xuZXhwb3J0IHR5cGUgU3RydWN0VHJlZUNvbnRlbnQgPSB7XG4gIC8qKlxuICAgKiAtIGVpdGhlciBcImNvbnRlbnRcIiBmb3IgcGFnZSBhbmQgc3RyZWFtIHN0cnVjdHVyZVxuICAgKiBlbGVtZW50cyBvciBcIm9iamVjdFwiIGZvciBvYmplY3QgcmVmZXJlbmNlcy5cbiAgICovXG4gIHR5cGU6IHN0cmluZztcbiAgLyoqXG4gICAqIC0gdW5pcXVlIGlkIHRoYXQgd2lsbCBtYXAgdG8gdGhlIHRleHQgbGF5ZXIuXG4gICAqL1xuICBpZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBQREZQYWdlUHJveHkge1xuICAvKiogQHR5cGUge1BERk9iamVjdHN9ICovXG4gIGNvbW1vbk9ianM6IFBERk9iamVjdHM7XG4gIG9ianM6IFBERk9iamVjdHM7XG4gIF9iaXRtYXBzOiBTZXQ8YW55PjtcbiAgY2xlYW51cEFmdGVyUmVuZGVyOiBib29sZWFuO1xuICBwZW5kaW5nQ2xlYW51cDogYm9vbGVhbjtcbiAgX2ludGVudFN0YXRlczogTWFwPGFueSwgYW55PjtcbiAgZGVzdHJveWVkOiBib29sZWFuO1xuICAvKipcbiAgICogQHR5cGUge251bWJlcn0gUGFnZSBudW1iZXIgb2YgdGhlIHBhZ2UuIEZpcnN0IHBhZ2UgaXMgMS5cbiAgICovXG4gIGdldCBwYWdlTnVtYmVyKCk6IG51bWJlcjtcbiAgLyoqXG4gICAqIEB0eXBlIHtudW1iZXJ9IFRoZSBudW1iZXIgb2YgZGVncmVlcyB0aGUgcGFnZSBpcyByb3RhdGVkIGNsb2Nrd2lzZS5cbiAgICovXG4gIGdldCByb3RhdGUoKTogbnVtYmVyO1xuICAvKipcbiAgICogQHR5cGUge1JlZlByb3h5IHwgbnVsbH0gVGhlIHJlZmVyZW5jZSB0aGF0IHBvaW50cyB0byB0aGlzIHBhZ2UuXG4gICAqL1xuICBnZXQgcmVmKCk6IFJlZlByb3h5IHwgbnVsbDtcbiAgLyoqXG4gICAqIEB0eXBlIHtudW1iZXJ9IFRoZSBkZWZhdWx0IHNpemUgb2YgdW5pdHMgaW4gMS83Mm5kcyBvZiBhbiBpbmNoLlxuICAgKi9cbiAgZ2V0IHVzZXJVbml0KCk6IG51bWJlcjtcbiAgLyoqXG4gICAqIEB0eXBlIHtBcnJheTxudW1iZXI+fSBBbiBhcnJheSBvZiB0aGUgdmlzaWJsZSBwb3J0aW9uIG9mIHRoZSBQREYgcGFnZSBpblxuICAgKiAgIHVzZXIgc3BhY2UgdW5pdHMgW3gxLCB5MSwgeDIsIHkyXS5cbiAgICovXG4gIGdldCB2aWV3KCk6IG51bWJlcltdO1xuICAvKipcbiAgICogQHBhcmFtIHtHZXRWaWV3cG9ydFBhcmFtZXRlcnN9IHBhcmFtcyAtIFZpZXdwb3J0IHBhcmFtZXRlcnMuXG4gICAqIEByZXR1cm5zIHtQYWdlVmlld3BvcnR9IENvbnRhaW5zICd3aWR0aCcgYW5kICdoZWlnaHQnIHByb3BlcnRpZXNcbiAgICogICBhbG9uZyB3aXRoIHRyYW5zZm9ybXMgcmVxdWlyZWQgZm9yIHJlbmRlcmluZy5cbiAgICovXG4gIGdldFZpZXdwb3J0KHsgc2NhbGUsIHJvdGF0aW9uLCBvZmZzZXRYLCBvZmZzZXRZLCBkb250RmxpcCB9PzogR2V0Vmlld3BvcnRQYXJhbWV0ZXJzKTogUGFnZVZpZXdwb3J0O1xuICAvKipcbiAgICogQHBhcmFtIHtHZXRBbm5vdGF0aW9uc1BhcmFtZXRlcnN9IHBhcmFtcyAtIEFubm90YXRpb24gcGFyYW1ldGVycy5cbiAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8YW55Pj59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYW5cbiAgICogICB7QXJyYXl9IG9mIHRoZSBhbm5vdGF0aW9uIG9iamVjdHMuXG4gICAqL1xuICBnZXRBbm5vdGF0aW9ucyh7IGludGVudCB9PzogR2V0QW5ub3RhdGlvbnNQYXJhbWV0ZXJzKTogUHJvbWlzZTxBcnJheTxhbnk+PjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPE9iamVjdD59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYW5cbiAgICogICB7T2JqZWN0fSB3aXRoIEpTIGFjdGlvbnMuXG4gICAqL1xuICBnZXRKU0FjdGlvbnMoKTogUHJvbWlzZTxPYmplY3Q+O1xuICAvKipcbiAgICogQHR5cGUge2Jvb2xlYW59IFRydWUgaWYgb25seSBYRkEgZm9ybS5cbiAgICovXG4gIGdldCBpc1B1cmVYZmEoKTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPE9iamVjdCB8IG51bGw+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoXG4gICAqICAgYW4ge09iamVjdH0gd2l0aCBhIGZha2UgRE9NIG9iamVjdCAoYSB0cmVlIHN0cnVjdHVyZSB3aGVyZSBlbGVtZW50c1xuICAgKiAgIGFyZSB7T2JqZWN0fSB3aXRoIGEgbmFtZSwgYXR0cmlidXRlcyAoY2xhc3MsIHN0eWxlLCAuLi4pLCB2YWx1ZSBhbmRcbiAgICogICBjaGlsZHJlbiwgdmVyeSBzaW1pbGFyIHRvIGEgSFRNTCBET00gdHJlZSksIG9yIGBudWxsYCBpZiBubyBYRkEgZXhpc3RzLlxuICAgKi9cbiAgZ2V0WGZhKCk6IFByb21pc2U8T2JqZWN0IHwgbnVsbD47XG4gIC8qKlxuICAgKiBCZWdpbnMgdGhlIHByb2Nlc3Mgb2YgcmVuZGVyaW5nIGEgcGFnZSB0byB0aGUgZGVzaXJlZCBjb250ZXh0LlxuICAgKlxuICAgKiBAcGFyYW0ge1JlbmRlclBhcmFtZXRlcnN9IHBhcmFtcyAtIFBhZ2UgcmVuZGVyIHBhcmFtZXRlcnMuXG4gICAqIEByZXR1cm5zIHtSZW5kZXJUYXNrfSBBbiBvYmplY3QgdGhhdCBjb250YWlucyBhIHByb21pc2UgdGhhdCBpc1xuICAgKiAgIHJlc29sdmVkIHdoZW4gdGhlIHBhZ2UgZmluaXNoZXMgcmVuZGVyaW5nLlxuICAgKi9cbiAgcmVuZGVyKHtcbiAgICBjYW52YXNDb250ZXh0LFxuICAgIHZpZXdwb3J0LFxuICAgIGludGVudCxcbiAgICBhbm5vdGF0aW9uTW9kZSxcbiAgICB0cmFuc2Zvcm0sXG4gICAgY2FudmFzRmFjdG9yeSxcbiAgICBiYWNrZ3JvdW5kLFxuICAgIGJhY2tncm91bmRDb2xvclRvUmVwbGFjZSxcbiAgICBvcHRpb25hbENvbnRlbnRDb25maWdQcm9taXNlLFxuICAgIGFubm90YXRpb25DYW52YXNNYXAsXG4gICAgcGFnZUNvbG9ycyxcbiAgICBwcmludEFubm90YXRpb25TdG9yYWdlLFxuICB9OiBSZW5kZXJQYXJhbWV0ZXJzKTogUmVuZGVyVGFzaztcblxuICAvKipcbiAgICogTk9URTogQWxsIG9jY3VycmVuY2VzIG9mIHdoaXRlc3BhY2Ugd2lsbCBiZSByZXBsYWNlZCBieVxuICAgKiBzdGFuZGFyZCBzcGFjZXMgKDB4MjApLlxuICAgKlxuICAgKiBAcGFyYW0ge2dldFRleHRDb250ZW50UGFyYW1ldGVyc30gcGFyYW1zIC0gZ2V0VGV4dENvbnRlbnQgcGFyYW1ldGVycy5cbiAgICogQHJldHVybnMge1JlYWRhYmxlU3RyZWFtfSBTdHJlYW0gZm9yIHJlYWRpbmcgdGV4dCBjb250ZW50IGNodW5rcy5cbiAgICovXG4gIHN0cmVhbVRleHRDb250ZW50KHsgZGlzYWJsZUNvbWJpbmVUZXh0SXRlbXMsIGluY2x1ZGVNYXJrZWRDb250ZW50IH0/OiBnZXRUZXh0Q29udGVudFBhcmFtZXRlcnMpOiBSZWFkYWJsZVN0cmVhbTtcbiAgLyoqXG4gICAqIE5PVEU6IEFsbCBvY2N1cnJlbmNlcyBvZiB3aGl0ZXNwYWNlIHdpbGwgYmUgcmVwbGFjZWQgYnlcbiAgICogc3RhbmRhcmQgc3BhY2VzICgweDIwKS5cbiAgICpcbiAgICogQHBhcmFtIHtnZXRUZXh0Q29udGVudFBhcmFtZXRlcnN9IHBhcmFtcyAtIGdldFRleHRDb250ZW50IHBhcmFtZXRlcnMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFRleHRDb250ZW50Pn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhXG4gICAqICAge0BsaW5rIFRleHRDb250ZW50fSBvYmplY3QgdGhhdCByZXByZXNlbnRzIHRoZSBwYWdlJ3MgdGV4dCBjb250ZW50LlxuICAgKi9cbiAgZ2V0VGV4dENvbnRlbnQocGFyYW1zPzogZ2V0VGV4dENvbnRlbnRQYXJhbWV0ZXJzKTogUHJvbWlzZTxUZXh0Q29udGVudD47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxTdHJ1Y3RUcmVlTm9kZT59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYVxuICAgKiAgIHtAbGluayBTdHJ1Y3RUcmVlTm9kZX0gb2JqZWN0IHRoYXQgcmVwcmVzZW50cyB0aGUgcGFnZSdzIHN0cnVjdHVyZSB0cmVlLFxuICAgKiAgIG9yIGBudWxsYCB3aGVuIG5vIHN0cnVjdHVyZSB0cmVlIGlzIHByZXNlbnQgZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4gICAqL1xuICBnZXRTdHJ1Y3RUcmVlKCk6IFByb21pc2U8U3RydWN0VHJlZU5vZGU+O1xuICAvKipcbiAgICogRGVzdHJveXMgdGhlIHBhZ2Ugb2JqZWN0LlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2Rlc3Ryb3k7XG4gIC8qKlxuICAgKiBDbGVhbnMgdXAgcmVzb3VyY2VzIGFsbG9jYXRlZCBieSB0aGUgcGFnZS5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSBbcmVzZXRTdGF0c10gLSBSZXNldCBwYWdlIHN0YXRzLCBpZiBlbmFibGVkLlxuICAgKiAgIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBmYWxzZWAuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBJbmRpY2F0ZXMgaWYgY2xlYW4tdXAgd2FzIHN1Y2Nlc3NmdWxseSBydW4uXG4gICAqL1xuICBjbGVhbnVwKHJlc2V0U3RhdHM/OiBib29sZWFuIHwgdW5kZWZpbmVkKTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEF0dGVtcHRzIHRvIGNsZWFuIHVwIGlmIHJlbmRlcmluZyBpcyBpbiBhIHN0YXRlIHdoZXJlIHRoYXQncyBwb3NzaWJsZS5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIF90cnlDbGVhbnVwO1xuICAvKipcbiAgICogQHByaXZhdGVcbiAgICovXG4gIF9zdGFydFJlbmRlclBhZ2U7XG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX3JlbmRlclBhZ2VDaHVuaztcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfcHVtcE9wZXJhdG9yTGlzdDtcbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfYWJvcnRPcGVyYXRvckxpc3Q7XG4gIC8qKlxuICAgKiBAdHlwZSB7T2JqZWN0fSBSZXR1cm5zIHBhZ2Ugc3RhdHMsIGlmIGVuYWJsZWQ7IHJldHVybnMgYG51bGxgIG90aGVyd2lzZS5cbiAgICovXG4gIGdldCBzdGF0cygpOiBPYmplY3Q7XG59XG5cbi8qKlxuICogVGhlIGxvYWRpbmcgdGFzayBjb250cm9scyB0aGUgb3BlcmF0aW9ucyByZXF1aXJlZCB0byBsb2FkIGEgUERGIGRvY3VtZW50XG4gKiAoc3VjaCBhcyBuZXR3b3JrIHJlcXVlc3RzKSBhbmQgcHJvdmlkZXMgYSB3YXkgdG8gbGlzdGVuIGZvciBjb21wbGV0aW9uLFxuICogYWZ0ZXIgd2hpY2ggaW5kaXZpZHVhbCBwYWdlcyBjYW4gYmUgcmVuZGVyZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUERGRG9jdW1lbnRMb2FkaW5nVGFzayB7XG4gIC8qKlxuICAgKiBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRvY3VtZW50IGxvYWRpbmcgdGFzay5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIGRvY0lkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsb2FkaW5nIHRhc2sgaXMgZGVzdHJveWVkIG9yIG5vdC5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBkZXN0cm95ZWQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDYWxsYmFjayB0byByZXF1ZXN0IGEgcGFzc3dvcmQgaWYgYSB3cm9uZyBvciBubyBwYXNzd29yZCB3YXMgcHJvdmlkZWQuXG4gICAqIFRoZSBjYWxsYmFjayByZWNlaXZlcyB0d28gcGFyYW1ldGVyczogYSBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBjYWxsZWRcbiAgICogd2l0aCB0aGUgbmV3IHBhc3N3b3JkLCBhbmQgYSByZWFzb24gKHNlZSB7QGxpbmsgUGFzc3dvcmRSZXNwb25zZXN9KS5cbiAgICogQHR5cGUge2Z1bmN0aW9ufVxuICAgKi9cbiAgb25QYXNzd29yZDogRnVuY3Rpb247XG4gIC8qKlxuICAgKiBDYWxsYmFjayB0byBiZSBhYmxlIHRvIG1vbml0b3IgdGhlIGxvYWRpbmcgcHJvZ3Jlc3Mgb2YgdGhlIFBERiBmaWxlXG4gICAqIChuZWNlc3NhcnkgdG8gaW1wbGVtZW50IGUuZy4gYSBsb2FkaW5nIGJhcikuXG4gICAqIFRoZSBjYWxsYmFjayByZWNlaXZlcyBhbiB7QGxpbmsgT25Qcm9ncmVzc1BhcmFtZXRlcnN9IGFyZ3VtZW50LlxuICAgKiBAdHlwZSB7ZnVuY3Rpb259XG4gICAqL1xuICBvblByb2dyZXNzOiBGdW5jdGlvbjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGZvciB3aGVuIGFuIHVuc3VwcG9ydGVkIGZlYXR1cmUgaXMgdXNlZCBpbiB0aGUgUERGIGRvY3VtZW50LlxuICAgKiBUaGUgY2FsbGJhY2sgcmVjZWl2ZXMgYW4ge0BsaW5rIFVOU1VQUE9SVEVEX0ZFQVRVUkVTfSBhcmd1bWVudC5cbiAgICogQHR5cGUge2Z1bmN0aW9ufVxuICAgKi9cbiAgc2V0IG9uVW5zdXBwb3J0ZWRGZWF0dXJlKGFyZzogRnVuY3Rpb24gfCBudWxsKTtcbiAgLyoqXG4gICAqIEB0eXBlIHtmdW5jdGlvbiB8IG51bGx9IFRoZSBjdXJyZW50IGNhbGxiYWNrIHVzZWQgd2l0aCB1bnN1cHBvcnRlZFxuICAgKiBmZWF0dXJlcy5cbiAgICovXG4gIGdldCBvblVuc3VwcG9ydGVkRmVhdHVyZSgpOiBGdW5jdGlvbiB8IG51bGw7XG4gIC8qKlxuICAgKiBQcm9taXNlIGZvciBkb2N1bWVudCBsb2FkaW5nIHRhc2sgY29tcGxldGlvbi5cbiAgICogQHR5cGUge1Byb21pc2U8UERGRG9jdW1lbnRQcm94eT59XG4gICAqL1xuICBnZXQgcHJvbWlzZSgpOiBQcm9taXNlPFBERkRvY3VtZW50UHJveHk+O1xuICAvKipcbiAgICogQWJvcnQgYWxsIG5ldHdvcmsgcmVxdWVzdHMgYW5kIGRlc3Ryb3kgdGhlIHdvcmtlci5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdoZW4gZGVzdHJ1Y3Rpb24gaXNcbiAgICogICBjb21wbGV0ZWQuXG4gICAqL1xuICBkZXN0cm95KCk6IFByb21pc2U8dm9pZD47XG59XG5leHBvcnQgaW50ZXJmYWNlIFBERkRvY3VtZW50UHJveHkge1xuICBfcGRmSW5mbzogYW55O1xuICBfdHJhbnNwb3J0OiBhbnk7XG4gIC8qKlxuICAgKiBAdHlwZSB7QW5ub3RhdGlvblN0b3JhZ2V9IFN0b3JhZ2UgZm9yIGFubm90YXRpb24gZGF0YSBpbiBmb3Jtcy5cbiAgICovXG4gIGdldCBhbm5vdGF0aW9uU3RvcmFnZSgpOiBBbm5vdGF0aW9uU3RvcmFnZTtcbiAgLyoqXG4gICAqIEB0eXBlIHtudW1iZXJ9IFRvdGFsIG51bWJlciBvZiBwYWdlcyBpbiB0aGUgUERGIGZpbGUuXG4gICAqL1xuICBnZXQgbnVtUGFnZXMoKTogbnVtYmVyO1xuICAvKipcbiAgICogQHR5cGUge0FycmF5PHN0cmluZywgc3RyaW5nfG51bGw+fSBBIChub3QgZ3VhcmFudGVlZCB0byBiZSkgdW5pcXVlIElEIHRvXG4gICAqICAgaWRlbnRpZnkgdGhlIFBERiBkb2N1bWVudC5cbiAgICogICBOT1RFOiBUaGUgZmlyc3QgZWxlbWVudCB3aWxsIGFsd2F5cyBiZSBkZWZpbmVkIGZvciBhbGwgUERGIGRvY3VtZW50cyxcbiAgICogICB3aGVyZWFzIHRoZSBzZWNvbmQgZWxlbWVudCBpcyBvbmx5IGRlZmluZWQgZm9yICptb2RpZmllZCogUERGIGRvY3VtZW50cy5cbiAgICovXG4gIGdldCBmaW5nZXJwcmludHMoKTogc3RyaW5nW107XG4gIC8qKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn0gVHJ1ZSBpZiBvbmx5IFhGQSBmb3JtLlxuICAgKi9cbiAgZ2V0IGlzUHVyZVhmYSgpOiBib29sZWFuO1xuICAvKipcbiAgICogTk9URTogVGhpcyBpcyAobW9zdGx5KSBpbnRlbmRlZCB0byBzdXBwb3J0IHByaW50aW5nIG9mIFhGQSBmb3Jtcy5cbiAgICpcbiAgICogQHR5cGUge09iamVjdCB8IG51bGx9IEFuIG9iamVjdCByZXByZXNlbnRpbmcgYSBIVE1MIHRyZWUgc3RydWN0dXJlXG4gICAqICAgdG8gcmVuZGVyIHRoZSBYRkEsIG9yIGBudWxsYCB3aGVuIG5vIFhGQSBmb3JtIGV4aXN0cy5cbiAgICovXG4gIGdldCBhbGxYZmFIdG1sKCk6IE9iamVjdCB8IG51bGw7XG4gIC8qKlxuICAgKiBAcGFyYW0ge251bWJlcn0gcGFnZU51bWJlciAtIFRoZSBwYWdlIG51bWJlciB0byBnZXQuIFRoZSBmaXJzdCBwYWdlIGlzIDEuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFBERlBhZ2VQcm94eT59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGhcbiAgICogICBhIHtAbGluayBQREZQYWdlUHJveHl9IG9iamVjdC5cbiAgICovXG4gIGdldFBhZ2UocGFnZU51bWJlcjogbnVtYmVyKTogUHJvbWlzZTxQREZQYWdlUHJveHk+O1xuICAvKipcbiAgICogQHBhcmFtIHtSZWZQcm94eX0gcmVmIC0gVGhlIHBhZ2UgcmVmZXJlbmNlLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxudW1iZXI+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoIHRoZSBwYWdlIGluZGV4LFxuICAgKiAgIHN0YXJ0aW5nIGZyb20gemVybywgdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHJlZmVyZW5jZS5cbiAgICovXG4gIGdldFBhZ2VJbmRleChyZWY6IFJlZlByb3h5KTogUHJvbWlzZTxudW1iZXI+O1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8T2JqZWN0PHN0cmluZywgQXJyYXk8YW55Pj4+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZFxuICAgKiAgIHdpdGggYSBtYXBwaW5nIGZyb20gbmFtZWQgZGVzdGluYXRpb25zIHRvIHJlZmVyZW5jZXMuXG4gICAqXG4gICAqIFRoaXMgY2FuIGJlIHNsb3cgZm9yIGxhcmdlIGRvY3VtZW50cy4gVXNlIGBnZXREZXN0aW5hdGlvbmAgaW5zdGVhZC5cbiAgICovXG4gIGdldERlc3RpbmF0aW9ucygpOiBQcm9taXNlPHtcbiAgICBbeDogc3RyaW5nXTogQXJyYXk8YW55PjtcbiAgfT47XG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgLSBUaGUgbmFtZWQgZGVzdGluYXRpb24gdG8gZ2V0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxhbnk+IHwgbnVsbD59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYWxsXG4gICAqICAgaW5mb3JtYXRpb24gb2YgdGhlIGdpdmVuIG5hbWVkIGRlc3RpbmF0aW9uLCBvciBgbnVsbGAgd2hlbiB0aGUgbmFtZWRcbiAgICogICBkZXN0aW5hdGlvbiBpcyBub3QgcHJlc2VudCBpbiB0aGUgUERGIGZpbGUuXG4gICAqL1xuICBnZXREZXN0aW5hdGlvbihpZDogc3RyaW5nKTogUHJvbWlzZTxBcnJheTxhbnk+IHwgbnVsbD47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxzdHJpbmc+IHwgbnVsbD59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGhcbiAgICogICBhbiB7QXJyYXl9IGNvbnRhaW5pbmcgdGhlIHBhZ2UgbGFiZWxzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgcGFnZVxuICAgKiAgIGluZGV4ZXMsIG9yIGBudWxsYCB3aGVuIG5vIHBhZ2UgbGFiZWxzIGFyZSBwcmVzZW50IGluIHRoZSBQREYgZmlsZS5cbiAgICovXG4gIGdldFBhZ2VMYWJlbHMoKTogUHJvbWlzZTxBcnJheTxzdHJpbmc+IHwgbnVsbD47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoIGEge3N0cmluZ31cbiAgICogICBjb250YWluaW5nIHRoZSBwYWdlIGxheW91dCBuYW1lLlxuICAgKi9cbiAgZ2V0UGFnZUxheW91dCgpOiBQcm9taXNlPHN0cmluZz47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoIGEge3N0cmluZ31cbiAgICogICBjb250YWluaW5nIHRoZSBwYWdlIG1vZGUgbmFtZS5cbiAgICovXG4gIGdldFBhZ2VNb2RlKCk6IFByb21pc2U8c3RyaW5nPjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPE9iamVjdCB8IG51bGw+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoIGFuXG4gICAqICAge09iamVjdH0gY29udGFpbmluZyB0aGUgdmlld2VyIHByZWZlcmVuY2VzLCBvciBgbnVsbGAgd2hlbiBubyB2aWV3ZXJcbiAgICogICBwcmVmZXJlbmNlcyBhcmUgcHJlc2VudCBpbiB0aGUgUERGIGZpbGUuXG4gICAqL1xuICBnZXRWaWV3ZXJQcmVmZXJlbmNlcygpOiBQcm9taXNlPE9iamVjdCB8IG51bGw+O1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55IHwgbnVsbD59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYW4ge0FycmF5fVxuICAgKiAgIGNvbnRhaW5pbmcgdGhlIGRlc3RpbmF0aW9uLCBvciBgbnVsbGAgd2hlbiBubyBvcGVuIGFjdGlvbiBpcyBwcmVzZW50XG4gICAqICAgaW4gdGhlIFBERi5cbiAgICovXG4gIGdldE9wZW5BY3Rpb24oKTogUHJvbWlzZTxhbnkgfCBudWxsPjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYSBsb29rdXAgdGFibGVcbiAgICogICBmb3IgbWFwcGluZyBuYW1lZCBhdHRhY2htZW50cyB0byB0aGVpciBjb250ZW50LlxuICAgKi9cbiAgZ2V0QXR0YWNobWVudHMoKTogUHJvbWlzZTxhbnk+O1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8c3RyaW5nPiB8IG51bGw+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aXRoXG4gICAqICAgYW4ge0FycmF5fSBvZiBhbGwgdGhlIEphdmFTY3JpcHQgc3RyaW5ncyBpbiB0aGUgbmFtZSB0cmVlLCBvciBgbnVsbGBcbiAgICogICBpZiBubyBKYXZhU2NyaXB0IGV4aXN0cy5cbiAgICovXG4gIGdldEphdmFTY3JpcHQoKTogUHJvbWlzZTxBcnJheTxzdHJpbmc+IHwgbnVsbD47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxPYmplY3QgfCBudWxsPn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aFxuICAgKiAgIGFuIHtPYmplY3R9IHdpdGggdGhlIEphdmFTY3JpcHQgYWN0aW9uczpcbiAgICogICAgIC0gZnJvbSB0aGUgbmFtZSB0cmVlIChsaWtlIGdldEphdmFTY3JpcHQpO1xuICAgKiAgICAgLSBmcm9tIEEgb3IgQUEgZW50cmllcyBpbiB0aGUgY2F0YWxvZyBkaWN0aW9uYXJ5LlxuICAgKiAgICwgb3IgYG51bGxgIGlmIG5vIEphdmFTY3JpcHQgZXhpc3RzLlxuICAgKi9cbiAgZ2V0SlNBY3Rpb25zKCk6IFByb21pc2U8T2JqZWN0IHwgbnVsbD47XG4gIC8qKlxuICAgKiBAdHlwZWRlZiB7T2JqZWN0fSBPdXRsaW5lTm9kZVxuICAgKiBAcHJvcGVydHkge3N0cmluZ30gdGl0bGVcbiAgICogQHByb3BlcnR5IHtib29sZWFufSBib2xkXG4gICAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gaXRhbGljXG4gICAqIEBwcm9wZXJ0eSB7VWludDhDbGFtcGVkQXJyYXl9IGNvbG9yIC0gVGhlIGNvbG9yIGluIFJHQiBmb3JtYXQgdG8gdXNlIGZvclxuICAgKiAgIGRpc3BsYXkgcHVycG9zZXMuXG4gICAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgQXJyYXk8YW55PiB8IG51bGx9IGRlc3RcbiAgICogQHByb3BlcnR5IHtzdHJpbmcgfCBudWxsfSB1cmxcbiAgICogQHByb3BlcnR5IHtzdHJpbmcgfCB1bmRlZmluZWR9IHVuc2FmZVVybFxuICAgKiBAcHJvcGVydHkge2Jvb2xlYW4gfCB1bmRlZmluZWR9IG5ld1dpbmRvd1xuICAgKiBAcHJvcGVydHkge251bWJlciB8IHVuZGVmaW5lZH0gY291bnRcbiAgICogQHByb3BlcnR5IHtBcnJheTxPdXRsaW5lTm9kZT59IGl0ZW1zXG4gICAqL1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8T3V0bGluZU5vZGU+Pn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhblxuICAgKiAgIHtBcnJheX0gdGhhdCBpcyBhIHRyZWUgb3V0bGluZSAoaWYgaXQgaGFzIG9uZSkgb2YgdGhlIFBERiBmaWxlLlxuICAgKi9cbiAgZ2V0T3V0bGluZSgpOiBQcm9taXNlPFxuICAgIHtcbiAgICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgICBib2xkOiBib29sZWFuO1xuICAgICAgaXRhbGljOiBib29sZWFuO1xuICAgICAgLyoqXG4gICAgICAgKiAtIFRoZSBjb2xvciBpbiBSR0IgZm9ybWF0IHRvIHVzZSBmb3JcbiAgICAgICAqIGRpc3BsYXkgcHVycG9zZXMuXG4gICAgICAgKi9cbiAgICAgIGNvbG9yOiBVaW50OENsYW1wZWRBcnJheTtcbiAgICAgIGRlc3Q6IHN0cmluZyB8IEFycmF5PGFueT4gfCBudWxsO1xuICAgICAgdXJsOiBzdHJpbmcgfCBudWxsO1xuICAgICAgdW5zYWZlVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICBuZXdXaW5kb3c6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgICBjb3VudDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgICAgaXRlbXM6IGFueVtdO1xuICAgIH1bXVxuICA+O1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8T3B0aW9uYWxDb250ZW50Q29uZmlnPn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aFxuICAgKiAgIGFuIHtAbGluayBPcHRpb25hbENvbnRlbnRDb25maWd9IHRoYXQgY29udGFpbnMgYWxsIHRoZSBvcHRpb25hbCBjb250ZW50XG4gICAqICAgZ3JvdXBzIChhc3N1bWluZyB0aGF0IHRoZSBkb2N1bWVudCBoYXMgYW55KS5cbiAgICovXG4gIGdldE9wdGlvbmFsQ29udGVudENvbmZpZygpOiBQcm9taXNlPE9wdGlvbmFsQ29udGVudENvbmZpZz47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcnJheTxudW1iZXI+IHwgbnVsbD59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGhcbiAgICogICBhbiB7QXJyYXl9IHRoYXQgY29udGFpbnMgdGhlIHBlcm1pc3Npb24gZmxhZ3MgZm9yIHRoZSBQREYgZG9jdW1lbnQsIG9yXG4gICAqICAgYG51bGxgIHdoZW4gbm8gcGVybWlzc2lvbnMgYXJlIHByZXNlbnQgaW4gdGhlIFBERiBmaWxlLlxuICAgKi9cbiAgZ2V0UGVybWlzc2lvbnMoKTogUHJvbWlzZTxBcnJheTxudW1iZXI+IHwgbnVsbD47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx7IGluZm86IE9iamVjdCwgbWV0YWRhdGE6IE1ldGFkYXRhIH0+fSBBIHByb21pc2UgdGhhdCBpc1xuICAgKiAgIHJlc29sdmVkIHdpdGggYW4ge09iamVjdH0gdGhhdCBoYXMgYGluZm9gIGFuZCBgbWV0YWRhdGFgIHByb3BlcnRpZXMuXG4gICAqICAgYGluZm9gIGlzIGFuIHtPYmplY3R9IGZpbGxlZCB3aXRoIGFueXRoaW5nIGF2YWlsYWJsZSBpbiB0aGUgaW5mb3JtYXRpb25cbiAgICogICBkaWN0aW9uYXJ5IGFuZCBzaW1pbGFybHkgYG1ldGFkYXRhYCBpcyBhIHtNZXRhZGF0YX0gb2JqZWN0IHdpdGhcbiAgICogICBpbmZvcm1hdGlvbiBmcm9tIHRoZSBtZXRhZGF0YSBzZWN0aW9uIG9mIHRoZSBQREYuXG4gICAqL1xuICBnZXRNZXRhZGF0YSgpOiBQcm9taXNlPHtcbiAgICBpbmZvOiBPYmplY3Q7XG4gICAgbWV0YWRhdGE6IE1ldGFkYXRhO1xuICB9PjtcbiAgLyoqXG4gICAqIEB0eXBlZGVmIHtPYmplY3R9IE1hcmtJbmZvXG4gICAqIFByb3BlcnRpZXMgY29ycmVzcG9uZCB0byBUYWJsZSAzMjEgb2YgdGhlIFBERiAzMjAwMC0xOjIwMDggc3BlYy5cbiAgICogQHByb3BlcnR5IHtib29sZWFufSBNYXJrZWRcbiAgICogQHByb3BlcnR5IHtib29sZWFufSBVc2VyUHJvcGVydGllc1xuICAgKiBAcHJvcGVydHkge2Jvb2xlYW59IFN1c3BlY3RzXG4gICAqL1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8TWFya0luZm8gfCBudWxsPn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aFxuICAgKiAgIGEge01hcmtJbmZvfSBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgTWFya0luZm8gZmxhZ3MgZm9yIHRoZSBQREZcbiAgICogICBkb2N1bWVudCwgb3IgYG51bGxgIHdoZW4gbm8gTWFya0luZm8gdmFsdWVzIGFyZSBwcmVzZW50IGluIHRoZSBQREYgZmlsZS5cbiAgICovXG4gIGdldE1hcmtJbmZvKCk6IFByb21pc2U8e1xuICAgIE1hcmtlZDogYm9vbGVhbjtcbiAgICBVc2VyUHJvcGVydGllczogYm9vbGVhbjtcbiAgICBTdXNwZWN0czogYm9vbGVhbjtcbiAgfSB8IG51bGw+O1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8VWludDhBcnJheT59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYVxuICAgKiAgIHtVaW50OEFycmF5fSBjb250YWluaW5nIHRoZSByYXcgZGF0YSBvZiB0aGUgUERGIGRvY3VtZW50LlxuICAgKi9cbiAgZ2V0RGF0YSgpOiBQcm9taXNlPFVpbnQ4QXJyYXk+O1xuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8VWludDhBcnJheT59IEEgcHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdpdGggYVxuICAgKiAgIHtVaW50OEFycmF5fSBjb250YWluaW5nIHRoZSBmdWxsIGRhdGEgb2YgdGhlIHNhdmVkIGRvY3VtZW50LlxuICAgKi9cbiAgc2F2ZURvY3VtZW50KCk6IFByb21pc2U8VWludDhBcnJheT47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx7IGxlbmd0aDogbnVtYmVyIH0+fSBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCB3aGVuIHRoZVxuICAgKiAgIGRvY3VtZW50J3MgZGF0YSBpcyBsb2FkZWQuIEl0IGlzIHJlc29sdmVkIHdpdGggYW4ge09iamVjdH0gdGhhdCBjb250YWluc1xuICAgKiAgIHRoZSBgbGVuZ3RoYCBwcm9wZXJ0eSB0aGF0IGluZGljYXRlcyBzaXplIG9mIHRoZSBQREYgZGF0YSBpbiBieXRlcy5cbiAgICovXG4gIGdldERvd25sb2FkSW5mbygpOiBQcm9taXNlPHtcbiAgICBsZW5ndGg6IG51bWJlcjtcbiAgfT47XG4gIC8qKlxuICAgKiBDbGVhbnMgdXAgcmVzb3VyY2VzIGFsbG9jYXRlZCBieSB0aGUgZG9jdW1lbnQgb24gYm90aCB0aGUgbWFpbiBhbmQgd29ya2VyXG4gICAqIHRocmVhZHMuXG4gICAqXG4gICAqIE5PVEU6IERvIG5vdCwgdW5kZXIgYW55IGNpcmN1bXN0YW5jZXMsIGNhbGwgdGhpcyBtZXRob2Qgd2hlbiByZW5kZXJpbmcgaXNcbiAgICogY3VycmVudGx5IG9uZ29pbmcgc2luY2UgdGhhdCBtYXkgbGVhZCB0byByZW5kZXJpbmcgZXJyb3JzLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtrZWVwTG9hZGVkRm9udHNdIC0gTGV0IGZvbnRzIHJlbWFpbiBhdHRhY2hlZCB0byB0aGUgRE9NLlxuICAgKiAgIE5PVEU6IFRoaXMgd2lsbCBpbmNyZWFzZSBwZXJzaXN0ZW50IG1lbW9yeSB1c2FnZSwgaGVuY2UgZG9uJ3QgdXNlIHRoaXNcbiAgICogICBvcHRpb24gdW5sZXNzIGFic29sdXRlbHkgbmVjZXNzYXJ5LiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgZmFsc2VgLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2hlbiBjbGVhbi11cCBoYXMgZmluaXNoZWQuXG4gICAqL1xuICBjbGVhbnVwKGtlZXBMb2FkZWRGb250cz86IGJvb2xlYW4gfCB1bmRlZmluZWQpOiBQcm9taXNlPGFueT47XG4gIC8qKlxuICAgKiBEZXN0cm95cyB0aGUgY3VycmVudCBkb2N1bWVudCBpbnN0YW5jZSBhbmQgdGVybWluYXRlcyB0aGUgd29ya2VyLlxuICAgKi9cbiAgZGVzdHJveSgpOiBQcm9taXNlPHZvaWQ+O1xuICAvKipcbiAgICogQHR5cGUge0RvY3VtZW50SW5pdFBhcmFtZXRlcnN9IEEgc3Vic2V0IG9mIHRoZSBjdXJyZW50XG4gICAqICAge0RvY3VtZW50SW5pdFBhcmFtZXRlcnN9LCB3aGljaCBhcmUgbmVlZGVkIGluIHRoZSB2aWV3ZXIuXG4gICAqL1xuICBnZXQgbG9hZGluZ1BhcmFtcygpOiBEb2N1bWVudEluaXRQYXJhbWV0ZXJzO1xuICAvKipcbiAgICogQHR5cGUge1BERkRvY3VtZW50TG9hZGluZ1Rhc2t9IFRoZSBsb2FkaW5nVGFzayBmb3IgdGhlIGN1cnJlbnQgZG9jdW1lbnQuXG4gICAqL1xuICBnZXQgbG9hZGluZ1Rhc2soKTogUERGRG9jdW1lbnRMb2FkaW5nVGFzaztcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPE9iamVjdDxzdHJpbmcsIEFycmF5PE9iamVjdD4+IHwgbnVsbD59IEEgcHJvbWlzZSB0aGF0IGlzXG4gICAqICAgcmVzb2x2ZWQgd2l0aCBhbiB7T2JqZWN0fSBjb250YWluaW5nIC9BY3JvRm9ybSBmaWVsZCBkYXRhIGZvciB0aGUgSlNcbiAgICogICBzYW5kYm94LCBvciBgbnVsbGAgd2hlbiBubyBmaWVsZCBkYXRhIGlzIHByZXNlbnQgaW4gdGhlIFBERiBmaWxlLlxuICAgKi9cbiAgZ2V0RmllbGRPYmplY3RzKCk6IFByb21pc2U8e1xuICAgIFt4OiBzdHJpbmddOiBBcnJheTxPYmplY3Q+O1xuICB9IHwgbnVsbD47XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBgdHJ1ZWBcbiAgICogICBpZiBzb21lIC9BY3JvRm9ybSBmaWVsZHMgaGF2ZSBKYXZhU2NyaXB0IGFjdGlvbnMuXG4gICAqL1xuICBoYXNKU0FjdGlvbnMoKTogUHJvbWlzZTxib29sZWFuPjtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PHN0cmluZz4gfCBudWxsPn0gQSBwcm9taXNlIHRoYXQgaXMgcmVzb2x2ZWQgd2l0aCBhblxuICAgKiAgIHtBcnJheTxzdHJpbmc+fSBjb250YWluaW5nIElEcyBvZiBhbm5vdGF0aW9ucyB0aGF0IGhhdmUgYSBjYWxjdWxhdGlvblxuICAgKiAgIGFjdGlvbiwgb3IgYG51bGxgIHdoZW4gbm8gc3VjaCBhbm5vdGF0aW9ucyBhcmUgcHJlc2VudCBpbiB0aGUgUERGIGZpbGUuXG4gICAqL1xuICBnZXRDYWxjdWxhdGlvbk9yZGVySWRzKCk6IFByb21pc2U8QXJyYXk8c3RyaW5nPiB8IG51bGw+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQREZWaWV3ZXJBcHBsaWNhdGlvbiB7XG4gIGFwcENvbmZpZzogSVBERlZpZXdlckFwcENvbmZpZztcbiAgX2JvdW5kRXZlbnRzOiBhbnk7XG4gIGVuYWJsZVByaW50OiBib29sZWFuO1xuICBldmVudEJ1czogSUV2ZW50QnVzO1xuICBmaW5kQmFyOiBhbnk7XG4gIGZpbmRDb250cm9sbGVyOiBGaW5kQ29udHJvbGxlcjtcbiAgaXNWaWV3ZXJFbWJlZGRlZDogYm9vbGVhbjtcbiAgbDEwbjogSVdlYkwxMG47XG4gIG9uRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG4gIHBhZ2U6IG51bWJlcjtcbiAgcGFnZXNDb3VudDogbnVtYmVyO1xuICBwYXNzd29yZFByb21wdDogUGFzc3dvcmRQcm9tcHQ7XG4gIHBkZkRvY3VtZW50OiBQREZEb2N1bWVudFByb3h5O1xuICBwZGZMaW5rU2VydmljZTogYW55IC8qIFBERkxpbmtTZXJ2aWNlOyovO1xuICBwZGZTaWRlYmFyOiBhbnk7XG4gIHBkZlZpZXdlcjogSVBERlZpZXdlcjtcbiAgcHJpbnRLZXlEb3duTGlzdGVuZXI6IHVuZGVmaW5lZCB8ICgodGhpczogV2luZG93LCBldjogS2V5Ym9hcmRFdmVudCkgPT4gYW55KTtcbiAgc2lkZWJhclZpZXdPbkxvYWQ6IDAgfCAxO1xuICBzcHJlYWRNb2RlT25Mb2FkOiAwIHwgMSB8IDI7XG4gIHNlY29uZGFyeVRvb2xiYXI6IGFueTtcbiAgc3RvcmU6IFZpZXdIaXN0b3J5O1xuICB0b29sYmFyOiBhbnk7XG4gIHZpZXdlcjogSFRNTERpdkVsZW1lbnQ7XG5cbiAgX2NsZWFudXAoKTogdm9pZDtcbiAgY2xvc2UoKTogdm9pZDtcbiAgb3Blbihzb3VyY2U6IHN0cmluZyB8IEFycmF5QnVmZmVyIHwgeyByYW5nZTogYW55IH0gfCBhbnksIG9wdGlvbnM/OiBhbnkpOiBQcm9taXNlPGFueT47XG4gIHVuYmluZEV2ZW50cygpOiB2b2lkO1xuICB1bmJpbmRXaW5kb3dFdmVudHMoKTogdm9pZDtcbn1cbiJdfQ==
@@ -117,7 +117,7 @@ export declare type DocumentInitParameters = {
117
117
  * worker-thread. This will help reduce main-thread memory usage, however
118
118
  * it will take ownership of the TypedArrays.
119
119
  */
120
- data?: BinaryData | undefined;
120
+ data?: ArrayBuffer | ArrayBufferView | undefined;
121
121
  /**
122
122
  * - Basic authentication headers.
123
123
  */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ngx-extended-pdf-viewer",
3
3
  "description": "Embedding PDF files in your Angular application. Highly configurable viewer including the toolbar, sidebar, and all the features you're used to.",
4
- "version": "16.2.1",
4
+ "version": "16.2.2",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "url": "https://github.com/stephanrauh/ngx-extended-pdf-viewer"