@sapui5/sap.fe.test 1.142.2 → 1.142.3
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/package.json
CHANGED
package/src/sap/fe/test/.library
CHANGED
|
@@ -148,6 +148,7 @@ sap.ui.define(["@sap-ux/jest-mock-ui5/dist/generic", "sap/fe/core/AppComponent",
|
|
|
148
148
|
mocked.mock.getModel.mockImplementation(() => {
|
|
149
149
|
return mocked._mockModel;
|
|
150
150
|
});
|
|
151
|
+
mocked.mock.getContext.mockReturnValue(undefined);
|
|
151
152
|
mocked.mock.getUpdateGroupId.mockReturnValue("auto");
|
|
152
153
|
return mocked;
|
|
153
154
|
}
|
|
@@ -489,4 +490,4 @@ sap.ui.define(["@sap-ux/jest-mock-ui5/dist/generic", "sap/fe/core/AppComponent",
|
|
|
489
490
|
_exports.createMockResourceModel = createMockResourceModel;
|
|
490
491
|
return _exports;
|
|
491
492
|
}, false);
|
|
492
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVNb2NrQ29udGV4dCIsIm9Db250ZXh0RGF0YSIsIm9CaW5kaW5nIiwiaXNJbmFjdGl2ZSIsIm1vY2tlZCIsIm1vY2siLCJPYmplY3QiLCJnZXRQcm90b3R5cGVPZiIsIkNvbnRleHQiLCJjcmVhdGVOZXdDb250ZXh0IiwiX2lzS2VwdEFsaXZlIiwiX2NvbnRleHREYXRhIiwiX29CaW5kaW5nIiwiX2lzSW5hY3RpdmUiLCJpc0EiLCJtb2NrSW1wbGVtZW50YXRpb24iLCJzQ2xhc3NOYW1lIiwiZ2V0UHJvcGVydHkiLCJrZXkiLCJyZXF1ZXN0UHJvcGVydHkiLCJrZXlPcktleXMiLCJBcnJheSIsImlzQXJyYXkiLCJQcm9taXNlIiwicmVzb2x2ZSIsIm1hcCIsInJlcXVlc3RPYmplY3QiLCJzZXRQcm9wZXJ0eSIsInZhbHVlIiwiZ2V0T2JqZWN0IiwicGF0aCIsInJlc3VsdCIsImluY2x1ZGVzIiwicGFydHMiLCJzcGxpdCIsInJlZHVjZSIsInN1bSIsInBhcnQiLCJnZXRQYXRoIiwiZ2V0QmluZGluZyIsImdldE1vZGVsIiwic2V0S2VlcEFsaXZlIiwiYm9vbCIsIl9mbk9uQmVmb3JlRGVzdHJveSIsIl9iUmVxdWVzdE1lc3NhZ2VzIiwiaXNLZWVwQWxpdmUiLCJfZXhwb3J0cyIsIk1vY2tDb250ZXh0IiwiY3JlYXRlTW9ja0V2ZW50IiwicGFyYW1zIiwic291cmNlIiwiRXZlbnQiLCJfcGFyYW1zIiwiZ2V0U291cmNlIiwibW9ja1JldHVyblZhbHVlIiwiZ2V0UGFyYW1ldGVyIiwibmFtZSIsImdldFBhcmFtZXRlcnMiLCJNb2NrRXZlbnQiLCJjcmVhdGVNb2NrTGlzdEJpbmRpbmciLCJhQ29udGV4dERhdGEiLCJvTW9ja01vZGVsIiwiT0RhdGFMaXN0QmluZGluZyIsIl9hTW9ja0NvbnRleHRzIiwiY29udGV4dERhdGEiLCJfbW9ja01vZGVsIiwic2V0TW9kZWwiLCJtb2RlbCIsInJlcXVlc3RDb250ZXh0cyIsImdldEN1cnJlbnRDb250ZXh0cyIsImdldEFsbEN1cnJlbnRDb250ZXh0cyIsImdldExlbmd0aCIsImxlbmd0aCIsImdldENvbnRleHRzIiwiZ2V0VXBkYXRlR3JvdXBJZCIsIk1vY2tMaXN0QmluZGluZyIsImNyZWF0ZU1vY2tQcm9wZXJ0eUJpbmRpbmciLCJPRGF0YVByb3BlcnR5QmluZGluZyIsIl92YWx1ZSIsIl9wYXRoIiwiZ2V0VmFsdWUiLCJNb2NrUHJvcGVydHlCaW5kaW5nIiwiY3JlYXRlTW9ja0NvbXBvc2l0ZUJpbmRpbmciLCJhQmluZGluZ3MiLCJDb21wb3NpdGVCaW5kaW5nIiwiX2FCaW5kaW5ncyIsImdldEJpbmRpbmdzIiwiYmluZGluZyIsIk1vY2tDb21wb3NpdGVCaW5kaW5nIiwiY3JlYXRlTW9ja0NvbnRleHRCaW5kaW5nIiwib0NvbnRleHQiLCJPRGF0YUNvbnRleHRCaW5kaW5nIiwibW9ja01vZGVsIiwib01vY2tDb250ZXh0IiwiZ2V0SW50ZXJuYWxNb2NrQ29udGV4dCIsIm9Nb2RlbCIsImdldEJvdW5kQ29udGV4dCIsImludm9rZSIsIm1vY2tSZXNvbHZlZFZhbHVlIiwiTW9ja0NvbnRleHRCaW5kaW5nIiwiY3JlYXRlTW9ja01ldGFNb2RlbCIsIm9NZXRhRGF0YSIsIk9EYXRhTWV0YU1vZGVsIiwib01ldGFDb250ZXh0IiwiZ2V0TWV0YUNvbnRleHQiLCJzUGF0aCIsIiRwYXRoIiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJnZXRNZXRhUGF0aCIsIm1ldGFtb2RlbCIsIk1vY2tNZXRhTW9kZWwiLCJjcmVhdGVNb2NrTW9kZWwiLCJvTW9ja0xpc3RCaW5kaW5nIiwib01vY2tDb250ZXh0QmluZGluZyIsIk9EYXRhTW9kZWwiLCJmbk9wdGltaXN0aWNCYXRjaEVuYWJsZXIiLCJtb2NrTGlzdEJpbmRpbmciLCJtb2NrQ29udGV4dEJpbmRpbmciLCJzZXRNZXRhTW9kZWwiLCJvTWV0YU1vZGVsIiwiYmluZExpc3QiLCJiaW5kQ29udGV4dCIsImdldE1ldGFNb2RlbCIsIk1vY2tNb2RlbCIsImNyZWF0ZU1vY2tNb2RlbEZyb21MaXN0QmluZGluZyIsImNyZWF0ZU1vY2tNb2RlbEZyb21Db250ZXh0QmluZGluZyIsInVuZGVmaW5lZCIsImNyZWF0ZU1vY2tWaWV3IiwiVmlldyIsIk1vY2tWaWV3IiwiY3JlYXRlTW9ja0NvbnRyb2xsZXIiLCJDb250cm9sbGVyIiwiX3JvdXRpbmciLCJJbnRlcm5hbFJvdXRpbmciLCJfc2lkZUVmZmVjdHMiLCJTaWRlRWZmZWN0cyIsIl9pbnRlbnRCYXNlZE5hdmlnYXRpb24iLCJJbnRlcm5hbEludGVudEJhc2VkTmF2aWdhdGlvbiIsImVkaXRGbG93IiwiRWRpdEZsb3ciLCJzaGFyZSIsIlNoYXJlIiwiY29sbGFib3JhdGl2ZURyYWZ0IiwiQ29sbGFib3JhdGl2ZURyYWZ0IiwicmVjb21tZW5kYXRpb25zIiwiUmVjb21tZW5kYXRpb25zIiwibWVzc2FnZUhhbmRsZXIiLCJNZXNzYWdlSGFuZGxlciIsImdldEFwcENvbXBvbmVudCIsImplc3QiLCJmbiIsIkFwcENvbXBvbmVudCIsImdldFZpZXciLCJNb2NrQ29udHJvbGxlciIsIm1vY2tNVkMiLCJleGlzdGluZyIsInZpZXciLCJjb250cm9sbGVyIiwiZ2V0Q29udHJvbGxlciIsImdldFRleHQiLCJ0ZXh0SUQiLCJwYXJhbWV0ZXJzIiwibWV0YVBhdGgiLCJyZXNvdXJjZU1vZGVsIiwiUmVzb3VyY2VNb2RlbCIsImJ1bmRsZU5hbWUiLCJlbmhhbmNlV2l0aCIsImFzeW5jIiwiY3JlYXRlTW9ja1Jlc291cmNlTW9kZWwiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlVJNU1vY2tIZWxwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBXaXRoTW9jayB9IGZyb20gXCJAc2FwLXV4L2plc3QtbW9jay11aTUvZGlzdC9nZW5lcmljXCI7XG5pbXBvcnQgeyBtb2NrIH0gZnJvbSBcIkBzYXAtdXgvamVzdC1tb2NrLXVpNS9kaXN0L2dlbmVyaWNcIjtcbmltcG9ydCBBcHBDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBGRVZpZXcgfSBmcm9tIFwic2FwL2ZlL2NvcmUvQmFzZUNvbnRyb2xsZXJcIjtcbmltcG9ydCBSZXNvdXJjZU1vZGVsIGZyb20gXCJzYXAvZmUvY29yZS9SZXNvdXJjZU1vZGVsXCI7XG5pbXBvcnQgQ29sbGFib3JhdGl2ZURyYWZ0IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9Db2xsYWJvcmF0aXZlRHJhZnRcIjtcbmltcG9ydCBFZGl0RmxvdyBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvRWRpdEZsb3dcIjtcbmltcG9ydCBJbnRlcm5hbEludGVudEJhc2VkTmF2aWdhdGlvbiBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvSW50ZXJuYWxJbnRlbnRCYXNlZE5hdmlnYXRpb25cIjtcbmltcG9ydCBJbnRlcm5hbFJvdXRpbmcgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0ludGVybmFsUm91dGluZ1wiO1xuaW1wb3J0IE1lc3NhZ2VIYW5kbGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9NZXNzYWdlSGFuZGxlclwiO1xuaW1wb3J0IFJlY29tbWVuZGF0aW9ucyBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvUmVjb21tZW5kYXRpb25zXCI7XG5pbXBvcnQgU2hhcmUgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL1NoYXJlXCI7XG5pbXBvcnQgU2lkZUVmZmVjdHMgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL1NpZGVFZmZlY3RzXCI7XG5pbXBvcnQgRXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgdHlwZSBFdmVudFByb3ZpZGVyIGZyb20gXCJzYXAvdWkvYmFzZS9FdmVudFByb3ZpZGVyXCI7XG5pbXBvcnQgQ29udHJvbGxlciBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL0NvbnRyb2xsZXJcIjtcbmltcG9ydCBWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvVmlld1wiO1xuaW1wb3J0IENvbXBvc2l0ZUJpbmRpbmcgZnJvbSBcInNhcC91aS9tb2RlbC9Db21wb3NpdGVCaW5kaW5nXCI7XG5pbXBvcnQgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCBPRGF0YUNvbnRleHRCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFDb250ZXh0QmluZGluZ1wiO1xuaW1wb3J0IE9EYXRhTGlzdEJpbmRpbmcgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YUxpc3RCaW5kaW5nXCI7XG5pbXBvcnQgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuaW1wb3J0IE9EYXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1vZGVsXCI7XG5pbXBvcnQgT0RhdGFQcm9wZXJ0eUJpbmRpbmcgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YVByb3BlcnR5QmluZGluZ1wiO1xuXG4vKipcbiAqIFV0aWxpdHkgdHlwZSB0byBtb2NrIGEgc2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHRcbiAqL1xuZXhwb3J0IHR5cGUgTW9ja0NvbnRleHQgPSBXaXRoTW9jazxDb250ZXh0PiAmIHtcblx0X2lzS2VwdEFsaXZlOiBib29sZWFuO1xuXHRfY29udGV4dERhdGE6IGFueTtcblx0X29CaW5kaW5nOiBhbnk7XG5cdF9pc0luYWN0aXZlOiBib29sZWFuO1xufTtcbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgYSBuZXcgTW9ja0NvbnRleHQuXG4gKiBAcGFyYW0gb0NvbnRleHREYXRhIEEgbWFwIG9mIHRoZSBkaWZmZXJlbnQgcHJvcGVydGllcyBvZiB0aGUgY29udGV4dC4gVGhlIHZhbHVlIGZvciB0aGUga2V5ICckcGF0aCcgd2lsbCBiZSByZXR1cm5lZCBieSB0aGUgJ2dldFBhdGgnIG1ldGhvZFxuICogQHBhcmFtIG9CaW5kaW5nIFRoZSBiaW5kaW5nIG9mIHRoZSBjb250ZXh0XG4gKiBAcGFyYW0gaXNJbmFjdGl2ZSBJcyB0aGUgY29udGV4dCBpbmlhY3RpdmUgb3Igbm90XG4gKiBAcmV0dXJucyBBIG5ldyBNb2NrQ29udGV4dFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9ja0NvbnRleHQob0NvbnRleHREYXRhPzogYW55LCBvQmluZGluZz86IGFueSwgaXNJbmFjdGl2ZT86IGJvb2xlYW4pOiBNb2NrQ29udGV4dCB7XG5cdC8vIFVnbHkgd29ya2Fyb3VuZCB0byBnZXQgYSBwcm9wZXIgbW9jayBwYmplY3QsIGFzIENvbnRleHQgaXNuJ3QgcHJvcGVybHkgZXhwb3J0ZWQgZnJvbSBVSTVcblx0Y29uc3QgbW9ja2VkID0gbW9jayhPYmplY3QuZ2V0UHJvdG90eXBlT2YoKENvbnRleHQgYXMgYW55KS5jcmVhdGVOZXdDb250ZXh0KG51bGwsIG51bGwsIFwiL2VcIikpKSBhcyBNb2NrQ29udGV4dDtcblx0bW9ja2VkLl9pc0tlcHRBbGl2ZSA9IGZhbHNlO1xuXHRtb2NrZWQuX2NvbnRleHREYXRhID0gb0NvbnRleHREYXRhIHx8IHt9O1xuXHRtb2NrZWQuX29CaW5kaW5nID0gb0JpbmRpbmc7XG5cdG1vY2tlZC5faXNJbmFjdGl2ZSA9ICEhaXNJbmFjdGl2ZTtcblxuXHQvLyBEZWZhdWx0IGJlaGF2aW9yXG5cdG1vY2tlZC5tb2NrLmlzQS5tb2NrSW1wbGVtZW50YXRpb24oKHNDbGFzc05hbWU6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiBzQ2xhc3NOYW1lID09PSBcInNhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0XCI7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5nZXRQcm9wZXJ0eS5tb2NrSW1wbGVtZW50YXRpb24oKGtleTogc3RyaW5nKSA9PiB7XG5cdFx0cmV0dXJuIG1vY2tlZC5fY29udGV4dERhdGFba2V5XTtcblx0fSk7XG5cdG1vY2tlZC5tb2NrLnJlcXVlc3RQcm9wZXJ0eS5tb2NrSW1wbGVtZW50YXRpb24oKGtleU9yS2V5czogc3RyaW5nIHwgc3RyaW5nW10pID0+IHtcblx0XHRpZiAoQXJyYXkuaXNBcnJheShrZXlPcktleXMpKSB7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGtleU9yS2V5cy5tYXAoKGtleSkgPT4gbW9ja2VkLl9jb250ZXh0RGF0YVtrZXldKSk7XG5cdFx0fVxuXHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUobW9ja2VkLl9jb250ZXh0RGF0YVtrZXlPcktleXNdKTtcblx0fSk7XG5cdG1vY2tlZC5tb2NrLnJlcXVlc3RPYmplY3QubW9ja0ltcGxlbWVudGF0aW9uKChrZXk6IHN0cmluZyB8IHVuZGVmaW5lZCkgPT4ge1xuXHRcdHJldHVybiBrZXkgPyBQcm9taXNlLnJlc29sdmUobW9ja2VkLl9jb250ZXh0RGF0YVtrZXldKSA6IG1vY2tlZC5fY29udGV4dERhdGE7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5zZXRQcm9wZXJ0eS5tb2NrSW1wbGVtZW50YXRpb24oKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSA9PiB7XG5cdFx0bW9ja2VkLl9jb250ZXh0RGF0YVtrZXldID0gdmFsdWU7XG5cdFx0cmV0dXJuIG1vY2tlZC5fY29udGV4dERhdGFba2V5XTtcblx0fSk7XG5cblx0bW9ja2VkLm1vY2suZ2V0T2JqZWN0Lm1vY2tJbXBsZW1lbnRhdGlvbigocGF0aDogc3RyaW5nKSA9PiB7XG5cdFx0bGV0IHJlc3VsdCA9IHBhdGggPyBtb2NrZWQuX2NvbnRleHREYXRhW3BhdGhdIDogbW9ja2VkLl9jb250ZXh0RGF0YTtcblxuXHRcdGlmICghcmVzdWx0ICYmIHBhdGggJiYgcGF0aC5pbmNsdWRlcyhcIi9cIikpIHtcblx0XHRcdGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdChcIi9cIik7XG5cdFx0XHRyZXN1bHQgPSBwYXJ0cy5yZWR1Y2UoKHN1bSwgcGFydDogYW55KSA9PiB7XG5cdFx0XHRcdHN1bSA9IHBhcnQgJiYgc3VtID8gc3VtW3BhcnRdIDogc3VtO1xuXHRcdFx0XHRyZXR1cm4gc3VtO1xuXHRcdFx0fSwgbW9ja2VkLl9jb250ZXh0RGF0YSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fSk7XG5cblx0bW9ja2VkLm1vY2suZ2V0UGF0aC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gbW9ja2VkLl9jb250ZXh0RGF0YVtcIiRwYXRoXCJdKTtcblx0bW9ja2VkLm1vY2suZ2V0QmluZGluZy5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gbW9ja2VkLl9vQmluZGluZyk7XG5cdG1vY2tlZC5tb2NrLmdldE1vZGVsLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBtb2NrZWQuX29CaW5kaW5nPy5nZXRNb2RlbCgpKTtcblx0bW9ja2VkLm1vY2suc2V0S2VlcEFsaXZlLm1vY2tJbXBsZW1lbnRhdGlvbigoYm9vbDogYm9vbGVhbiwgX2ZuT25CZWZvcmVEZXN0cm95PzogYW55LCBfYlJlcXVlc3RNZXNzYWdlcz86IGJvb2xlYW4pID0+IHtcblx0XHRtb2NrZWQuX2lzS2VwdEFsaXZlID0gYm9vbDtcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmlzS2VlcEFsaXZlLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBtb2NrZWQuX2lzS2VwdEFsaXZlKTtcblx0bW9ja2VkLm1vY2suaXNJbmFjdGl2ZS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gbW9ja2VkLl9pc0luYWN0aXZlKTtcblxuXHRyZXR1cm4gbW9ja2VkO1xufVxuLyoqXG4gKiBGb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLCB3ZSBrZWVwIGEgbmV3IG9wZXJhdG9yLiBVc2UgdGhlIGZhY3RvcnkgZnVuY3Rpb24gY3JlYXRlTW9ja0NvbnRleHQgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1vY2tDb250ZXh0OiBuZXcgKG9WYWx1ZXM/OiBhbnksIG9CaW5kaW5nPzogYW55LCBpc0luYWN0aXZlPzogYm9vbGVhbikgPT4gTW9ja0NvbnRleHQgPSBjcmVhdGVNb2NrQ29udGV4dCBhcyBhbnk7XG5cbi8qKlxuICogVXRpbGl0eSB0eXBlIHRvIG1vY2sgYSBzYXAudWkuYmFzZS5FdmVudFxuICovXG5leHBvcnQgdHlwZSBNb2NrRXZlbnQgPSBXaXRoTW9jazxFdmVudD4gJiB7XG5cdF9wYXJhbXM6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59O1xuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG5ldyBNb2NrRXZlbnQuXG4gKiBAcGFyYW0gcGFyYW1zIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBldmVudFxuICogQHBhcmFtIHNvdXJjZVxuICogQHJldHVybnMgQSBuZXcgTW9ja0V2ZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2NrRXZlbnQocGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0sIHNvdXJjZT86IEV2ZW50UHJvdmlkZXIpOiBNb2NrRXZlbnQge1xuXHRjb25zdCBtb2NrZWQgPSBtb2NrKEV2ZW50KSBhcyBNb2NrRXZlbnQ7XG5cdG1vY2tlZC5fcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuXG5cdGlmIChzb3VyY2UpIHtcblx0XHRtb2NrZWQubW9jay5nZXRTb3VyY2UubW9ja1JldHVyblZhbHVlKHNvdXJjZSk7XG5cdH1cblxuXHQvLyBEZWZhdWx0IGJlaGF2aW9yXG5cdG1vY2tlZC5tb2NrLmdldFBhcmFtZXRlci5tb2NrSW1wbGVtZW50YXRpb24oKG5hbWUpID0+IG1vY2tlZC5fcGFyYW1zW25hbWVdKTtcblx0bW9ja2VkLm1vY2suZ2V0UGFyYW1ldGVycy5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuXHRcdHJldHVybiBtb2NrZWQuX3BhcmFtcztcblx0fSk7XG5cblx0cmV0dXJuIG1vY2tlZDtcbn1cbi8qKlxuICogRm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucywgd2Uga2VlcCBhIG5ldyBvcGVyYXRvci4gVXNlIHRoZSBmYWN0b3J5IGZ1bmN0aW9uIGNyZWF0ZU1vY2tFdmVudCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgTW9ja0V2ZW50OiBuZXcgKHBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogYW55IH0pID0+IE1vY2tFdmVudCA9IGNyZWF0ZU1vY2tFdmVudCBhcyBhbnk7XG5cbi8qKlxuICogVXRpbGl0eSB0eXBlIHRvIG1vY2sgYSBzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFMaXN0QmluZGluZ1xuICovXG5leHBvcnQgdHlwZSBNb2NrTGlzdEJpbmRpbmcgPSBXaXRoTW9jazxPRGF0YUxpc3RCaW5kaW5nPiAmIHtcblx0X2FNb2NrQ29udGV4dHM6IE1vY2tDb250ZXh0W107XG5cdF9tb2NrTW9kZWw/OiBNb2NrTW9kZWw7XG5cblx0LyoqXG5cdCAqIFV0aWxpdHkgbWV0aG9kIHRvIHNldCB0aGUgbW9kZWwgb2YgdGhlIExpc3RCaW5kaW5nXG5cdCAqL1xuXHRzZXRNb2RlbDogKG1vZGVsOiBNb2NrTW9kZWwpID0+IHZvaWQ7XG59O1xuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG5ldyBNb2NrTGlzdEJpbmRpbmcuXG4gKiBAcGFyYW0gYUNvbnRleHREYXRhIEFuIGFycmF5IG9mIG9iamVjdHMgaG9sZGluZyB0aGUgZGlmZmVyZW50IHByb3BlcnRpZXMgb2YgdGhlIGNvbnRleHRzIHJlZmVyZW5jZWQgYnkgdGhlIExpc3RCaW5kaW5nXG4gKiBAcGFyYW0gb01vY2tNb2RlbCBUaGUgbW9kZWwgb2YgdGhlIExpc3RCaW5kaW5nXG4gKiBAcmV0dXJucyBBIG5ldyBNb2NrTGlzdEJpbmRpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vY2tMaXN0QmluZGluZyhhQ29udGV4dERhdGE/OiBhbnlbXSwgb01vY2tNb2RlbD86IE1vY2tNb2RlbCk6IE1vY2tMaXN0QmluZGluZyB7XG5cdGNvbnN0IG1vY2tlZCA9IG1vY2soT0RhdGFMaXN0QmluZGluZykgYXMgTW9ja0xpc3RCaW5kaW5nO1xuXHRhQ29udGV4dERhdGEgPSBhQ29udGV4dERhdGEgfHwgW107XG5cdG1vY2tlZC5fYU1vY2tDb250ZXh0cyA9IGFDb250ZXh0RGF0YS5tYXAoKGNvbnRleHREYXRhKSA9PiB7XG5cdFx0cmV0dXJuIGNyZWF0ZU1vY2tDb250ZXh0KGNvbnRleHREYXRhLCBtb2NrZWQpO1xuXHR9KTtcblx0bW9ja2VkLl9tb2NrTW9kZWwgPSBvTW9ja01vZGVsO1xuXG5cdC8vIFV0aWxpdHkgQVBJXG5cdG1vY2tlZC5zZXRNb2RlbCA9IChtb2RlbDogTW9ja01vZGVsKSA9PiB7XG5cdFx0bW9ja2VkLl9tb2NrTW9kZWwgPSBtb2RlbDtcblx0fTtcblxuXHQvLyBEZWZhdWx0IGJlaGF2aW9yXG5cdG1vY2tlZC5tb2NrLmlzQS5tb2NrSW1wbGVtZW50YXRpb24oKHNDbGFzc05hbWU6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiBzQ2xhc3NOYW1lID09PSBcInNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YUxpc3RCaW5kaW5nXCI7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5yZXF1ZXN0Q29udGV4dHMubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG1vY2tlZC5fYU1vY2tDb250ZXh0cyk7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5nZXRDdXJyZW50Q29udGV4dHMubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLl9hTW9ja0NvbnRleHRzO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suZ2V0QWxsQ3VycmVudENvbnRleHRzLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG5cdFx0cmV0dXJuIG1vY2tlZC5fYU1vY2tDb250ZXh0cztcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmdldExlbmd0aC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuXHRcdHJldHVybiBtb2NrZWQuX2FNb2NrQ29udGV4dHMubGVuZ3RoO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suZ2V0Q29udGV4dHMubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLl9hTW9ja0NvbnRleHRzO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suZ2V0TW9kZWwubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLl9tb2NrTW9kZWw7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5nZXRVcGRhdGVHcm91cElkLm1vY2tSZXR1cm5WYWx1ZShcImF1dG9cIik7XG5cblx0cmV0dXJuIG1vY2tlZDtcbn1cbi8qKlxuICogRm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucywgd2Uga2VlcCBhIG5ldyBvcGVyYXRvci4gVXNlIHRoZSBmYWN0b3J5IGZ1bmN0aW9uIGNyZWF0ZU1vY2tMaXN0QmluZGluZyBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgTW9ja0xpc3RCaW5kaW5nOiBuZXcgKGFDb250ZXh0cz86IGFueVtdLCBtb2NrTW9kZWw/OiBNb2NrTW9kZWwpID0+IE1vY2tMaXN0QmluZGluZyA9IGNyZWF0ZU1vY2tMaXN0QmluZGluZyBhcyBhbnk7XG5cbi8qKlxuICogVXRpbGl0eSB0eXBlIHRvIG1vY2sgYSBzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFQcm9wZXJ0eUJpbmRpbmdcbiAqL1xuZXhwb3J0IHR5cGUgTW9ja1Byb3BlcnR5QmluZGluZyA9IFdpdGhNb2NrPE9EYXRhUHJvcGVydHlCaW5kaW5nPiAmIHtcblx0X3ZhbHVlPzogYW55O1xuXHRfcGF0aD86IHN0cmluZztcblx0X21vY2tNb2RlbD86IE1vY2tNb2RlbDtcbn07XG4vKipcbiAqIEZhY3RvcnkgZnVuY3Rpb24gdG8gY3JlYXRlIGEgbmV3IE1vY2tQcm9wZXJ0eUJpbmRpbmcuXG4gKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHJldHVybmQgYnkgdGhlIFByb3BlcnR5QmluZGluZ1xuICogQHBhcmFtIHBhdGggVGhlIHBhdGggb2YgdGhlIFByb3BlcnR5QmluZGluZ1xuICogQHBhcmFtIG9Nb2NrTW9kZWwgVGhlIG1vZGVsIG9mIHRoZSBQcm9wZXJ0eUJpbmRpbmdcbiAqIEByZXR1cm5zIEEgbmV3IE1vY2tQcm9wZXJ0eUJpbmRpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vY2tQcm9wZXJ0eUJpbmRpbmcodmFsdWU6IGFueSwgcGF0aD86IHN0cmluZywgb01vY2tNb2RlbD86IE1vY2tNb2RlbCk6IE1vY2tQcm9wZXJ0eUJpbmRpbmcge1xuXHRjb25zdCBtb2NrZWQgPSBtb2NrKE9EYXRhUHJvcGVydHlCaW5kaW5nKSBhcyBNb2NrUHJvcGVydHlCaW5kaW5nO1xuXHRtb2NrZWQuX21vY2tNb2RlbCA9IG9Nb2NrTW9kZWw7XG5cdG1vY2tlZC5fdmFsdWUgPSB2YWx1ZTtcblx0bW9ja2VkLl9wYXRoID0gcGF0aDtcblxuXHQvLyBEZWZhdWx0IGJlaGF2aW9yXG5cdG1vY2tlZC5tb2NrLmlzQS5tb2NrSW1wbGVtZW50YXRpb24oKHNDbGFzc05hbWU6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiBzQ2xhc3NOYW1lID09PSBcInNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YVByb3BlcnR5QmluZGluZ1wiO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suZ2V0TW9kZWwubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLl9tb2NrTW9kZWw7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5nZXRWYWx1ZS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuXHRcdHJldHVybiBtb2NrZWQuX3ZhbHVlO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suZ2V0UGF0aC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuXHRcdHJldHVybiBtb2NrZWQuX3BhdGg7XG5cdH0pO1xuXG5cdHJldHVybiBtb2NrZWQ7XG59XG4vKipcbiAqIEZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIHdlIGtlZXAgYSBuZXcgb3BlcmF0b3IuIFVzZSB0aGUgZmFjdG9yeSBmdW5jdGlvbiBjcmVhdGVNb2NrUHJvcGVydHlCaW5kaW5nIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBNb2NrUHJvcGVydHlCaW5kaW5nOiBuZXcgKHZhbHVlOiBhbnksIG9Nb2NrTW9kZWw/OiBNb2NrTW9kZWwpID0+IE1vY2tQcm9wZXJ0eUJpbmRpbmcgPSBjcmVhdGVNb2NrUHJvcGVydHlCaW5kaW5nIGFzIGFueTtcblxuLyoqXG4gKiBVdGlsaXR5IHR5cGUgdG8gbW9jayBhIHNhcC51aS5tb2RlbC5Db21wb3NpdGVCaW5kaW5nXG4gKi9cbmV4cG9ydCB0eXBlIE1vY2tDb21wb3NpdGVCaW5kaW5nID0gV2l0aE1vY2s8Q29tcG9zaXRlQmluZGluZz4gJiB7XG5cdF9hQmluZGluZ3M6IE1vY2tQcm9wZXJ0eUJpbmRpbmdbXTtcbn07XG4vKipcbiAqIEZhY3RvcnkgZnVuY3Rpb24gdG8gY3JlYXRlIGEgbmV3IE1vY2tDb21wb3NpdGVCaW5kaW5nLlxuICogQHBhcmFtIGFCaW5kaW5ncyBUaGUgYmluZGluZ3Mgb2YgdGhlIENvbXBvc2l0ZUJpbmRpbmdcbiAqIEByZXR1cm5zIEEgbmV3IE1vY2tDb21wb3NpdGVCaW5kaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2NrQ29tcG9zaXRlQmluZGluZyhhQmluZGluZ3M6IE1vY2tQcm9wZXJ0eUJpbmRpbmdbXSk6IE1vY2tDb21wb3NpdGVCaW5kaW5nIHtcblx0Y29uc3QgbW9ja2VkID0gbW9jayhDb21wb3NpdGVCaW5kaW5nKSBhcyBNb2NrQ29tcG9zaXRlQmluZGluZztcblx0bW9ja2VkLl9hQmluZGluZ3MgPSBhQmluZGluZ3M7XG5cblx0Ly8gRGVmYXVsdCBiZWhhdmlvclxuXHRtb2NrZWQubW9jay5pc0EubW9ja0ltcGxlbWVudGF0aW9uKChzQ2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gc0NsYXNzTmFtZSA9PT0gXCJzYXAudWkubW9kZWwuQ29tcG9zaXRlQmluZGluZ1wiO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suZ2V0QmluZGluZ3MubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLl9hQmluZGluZ3M7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5nZXRWYWx1ZS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuXHRcdHJldHVybiBtb2NrZWQuX2FCaW5kaW5ncy5tYXAoKGJpbmRpbmcpID0+IGJpbmRpbmcuZ2V0VmFsdWUoKSk7XG5cdH0pO1xuXG5cdHJldHVybiBtb2NrZWQ7XG59XG4vKipcbiAqIEZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIHdlIGtlZXAgYSBuZXcgb3BlcmF0b3IuIFVzZSB0aGUgZmFjdG9yeSBmdW5jdGlvbiBjcmVhdGVNb2NrQ29tcG9zaXRlQmluZGluZyBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgTW9ja0NvbXBvc2l0ZUJpbmRpbmc6IG5ldyAoYUJpbmRpbmdzOiBNb2NrUHJvcGVydHlCaW5kaW5nW10pID0+IE1vY2tDb21wb3NpdGVCaW5kaW5nID0gY3JlYXRlTW9ja0NvbXBvc2l0ZUJpbmRpbmcgYXMgYW55O1xuXG4vKipcbiAqIFV0aWxpdHkgdHlwZSB0byBtb2NrIGEgc2FwLnVpLm1vZGVsLm9kYXRhLnY0Lk9EYXRhQ29udGV4dEJpbmRpbmdcbiAqL1xuZXhwb3J0IHR5cGUgTW9ja0NvbnRleHRCaW5kaW5nID0gV2l0aE1vY2s8T0RhdGFDb250ZXh0QmluZGluZz4gJiB7XG5cdG9Nb2NrQ29udGV4dDogTW9ja0NvbnRleHQ7XG5cdGlzS2VwdEFsaXZlOiBib29sZWFuO1xuXHRtb2NrTW9kZWw/OiBNb2NrTW9kZWw7XG5cblx0LyoqXG5cdCAqIFV0aWxpdHkgbWV0aG9kIHRvIGFjY2VzcyB0aGUgaW50ZXJuYWwgTW9ja0NvbnRleHQgb2YgdGhlIENvbnRleHRCaW5kaW5nXG5cdCAqL1xuXHRnZXRJbnRlcm5hbE1vY2tDb250ZXh0OiAoKSA9PiBNb2NrQ29udGV4dDtcblx0LyoqXG5cdCAqIFV0aWxpdHkgbWV0aG9kIHRvIHNldCB0aGUgbW9kZWwgb2YgdGhlIENvbnRleHRCaW5kaW5nXG5cdCAqL1xuXHRzZXRNb2RlbDogKG9Nb2RlbDogTW9ja01vZGVsKSA9PiB2b2lkO1xufTtcbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgYSBuZXcgTW9ja0NvbnRleHRCaW5kaW5nLlxuICogQHBhcmFtIG9Db250ZXh0IFRoZSBjb250ZXh0IG9mIHRoZSBDb250ZXh0QmluZGluZ1xuICogQHBhcmFtIG9Nb2NrTW9kZWwgVGhlIG1vZGVsIG9mIHRoZSBDb250ZXh0QmluZGluZ1xuICogQHJldHVybnMgQSBuZXcgTW9ja0NvbnRleHRCaW5kaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2NrQ29udGV4dEJpbmRpbmcob0NvbnRleHQ/OiBhbnksIG9Nb2NrTW9kZWw/OiBNb2NrTW9kZWwpOiBNb2NrQ29udGV4dEJpbmRpbmcge1xuXHRjb25zdCBtb2NrZWQgPSBtb2NrKE9EYXRhQ29udGV4dEJpbmRpbmcpIGFzIE1vY2tDb250ZXh0QmluZGluZztcblx0bW9ja2VkLm1vY2tNb2RlbCA9IG9Nb2NrTW9kZWw7XG5cdG1vY2tlZC5vTW9ja0NvbnRleHQgPSBjcmVhdGVNb2NrQ29udGV4dChvQ29udGV4dCB8fCB7fSwgbW9ja2VkKTtcblxuXHQvLyBVdGlsaXR5IEFQSVxuXHRtb2NrZWQuZ2V0SW50ZXJuYWxNb2NrQ29udGV4dCA9ICgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLm9Nb2NrQ29udGV4dDtcblx0fTtcblx0bW9ja2VkLnNldE1vZGVsID0gKG9Nb2RlbDogTW9ja01vZGVsKSA9PiB7XG5cdFx0bW9ja2VkLm1vY2tNb2RlbCA9IG9Nb2RlbDtcblx0fTtcblxuXHQvLyBEZWZhdWx0IGJlaGF2aW9yXG5cdG1vY2tlZC5tb2NrLmlzQS5tb2NrSW1wbGVtZW50YXRpb24oKHNDbGFzc05hbWU6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiBzQ2xhc3NOYW1lID09PSBcInNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YUNvbnRleHRCaW5kaW5nXCI7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5nZXRCb3VuZENvbnRleHQubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLm9Nb2NrQ29udGV4dDtcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmdldE1vZGVsLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG5cdFx0cmV0dXJuIG1vY2tlZC5tb2NrTW9kZWw7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5pbnZva2UubW9ja1Jlc29sdmVkVmFsdWUodHJ1ZSk7XG5cblx0cmV0dXJuIG1vY2tlZDtcbn1cbi8qKlxuICogRm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucywgd2Uga2VlcCBhIG5ldyBvcGVyYXRvci4gVXNlIHRoZSBmYWN0b3J5IGZ1bmN0aW9uIGNyZWF0ZU1vY2tDb250ZXh0QmluZGluZyBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgTW9ja0NvbnRleHRCaW5kaW5nOiBuZXcgKG9Db250ZXh0PzogYW55LCBvTW9ja01vZGVsPzogTW9ja01vZGVsKSA9PiBNb2NrQ29udGV4dEJpbmRpbmcgPSBjcmVhdGVNb2NrQ29udGV4dEJpbmRpbmcgYXMgYW55O1xuXG4vKipcbiAqIFV0aWxpdHkgdHlwZSB0byBtb2NrIGEgc2FwLnVpLm1vZGVsLm9kYXRhLnY0Lk9EYXRhTWV0YU1vZGVsXG4gKi9cbmV4cG9ydCB0eXBlIE1vY2tNZXRhTW9kZWwgPSBXaXRoTW9jazxPRGF0YU1ldGFNb2RlbD4gJiB7XG5cdG9NZXRhQ29udGV4dDogTW9ja0NvbnRleHQ7XG59O1xuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG5ldyBNb2NrTWV0YU1vZGVsLlxuICogQHBhcmFtIG9NZXRhRGF0YSBBIG1hcCBvZiB0aGUgZGlmZmVyZW50IG1ldGFkYXRhIHByb3BlcnRpZXMgb2YgdGhlIE1ldGFNb2RlbCAocGF0aCAtPiB2YWx1ZSkuXG4gKiBAcmV0dXJucyBBIG5ldyBNb2NrTWV0YU1vZGVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2NrTWV0YU1vZGVsKG9NZXRhRGF0YT86IGFueSk6IE1vY2tNZXRhTW9kZWwge1xuXHRjb25zdCBtb2NrZWQgPSBtb2NrKE9EYXRhTWV0YU1vZGVsKSBhcyBNb2NrTWV0YU1vZGVsO1xuXHRtb2NrZWQub01ldGFDb250ZXh0ID0gY3JlYXRlTW9ja0NvbnRleHQob01ldGFEYXRhIHx8IHt9KTtcblxuXHQvLyBEZWZhdWx0IGJlaGF2aW9yXG5cdG1vY2tlZC5tb2NrLmdldE1ldGFDb250ZXh0Lm1vY2tJbXBsZW1lbnRhdGlvbigoc1BhdGg6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiBjcmVhdGVNb2NrQ29udGV4dCh7ICRwYXRoOiBzUGF0aCB9KTtcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmdldE9iamVjdC5tb2NrSW1wbGVtZW50YXRpb24oKHNQYXRoOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLm9NZXRhQ29udGV4dC5nZXRQcm9wZXJ0eShzUGF0aCk7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5jcmVhdGVCaW5kaW5nQ29udGV4dC5tb2NrSW1wbGVtZW50YXRpb24oKHNQYXRoOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gY3JlYXRlTW9ja0NvbnRleHQoeyAkcGF0aDogc1BhdGggfSk7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5nZXRNZXRhUGF0aC5tb2NrSW1wbGVtZW50YXRpb24oKHNQYXRoOiBzdHJpbmcpID0+IHtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGNvbnN0IG1ldGFtb2RlbCA9IG5ldyBPRGF0YU1ldGFNb2RlbCgpO1xuXHRcdHJldHVybiBzUGF0aCA/IG1ldGFtb2RlbC5nZXRNZXRhUGF0aChzUGF0aCkgOiBzUGF0aDtcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmlzQS5tb2NrSW1wbGVtZW50YXRpb24oKHNDbGFzc05hbWU6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiBzQ2xhc3NOYW1lID09PSBcInNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YU1ldGFNb2RlbFwiO1xuXHR9KTtcblxuXHRyZXR1cm4gbW9ja2VkO1xufVxuLyoqXG4gKiBGb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLCB3ZSBrZWVwIGEgbmV3IG9wZXJhdG9yLiBVc2UgdGhlIGZhY3RvcnkgZnVuY3Rpb24gY3JlYXRlTW9ja01ldGFNb2RlbCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgTW9ja01ldGFNb2RlbDogbmV3IChvTWV0YURhdGE/OiBhbnkpID0+IE1vY2tNZXRhTW9kZWwgPSBjcmVhdGVNb2NrTWV0YU1vZGVsIGFzIGFueTtcblxuLyoqXG4gKiBVdGlsaXR5IHR5cGUgdG8gbW9jayBhIHNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YU1vZGVsXG4gKi9cbmV4cG9ydCB0eXBlIE1vY2tNb2RlbCA9IFdpdGhNb2NrPE9EYXRhTW9kZWw+ICYge1xuXHRvTWV0YU1vZGVsPzogTW9ja01ldGFNb2RlbDtcblx0bW9ja0xpc3RCaW5kaW5nPzogTW9ja0xpc3RCaW5kaW5nO1xuXHRtb2NrQ29udGV4dEJpbmRpbmc/OiBNb2NrQ29udGV4dEJpbmRpbmc7XG5cblx0LyoqXG5cdCAqIFV0aWxpdHkgbWV0aG9kIHRvIHNldCB0aGUgbWV0YW1vZGVsIG9mIHRoZSBNb2NrTW9kZWxcblx0ICovXG5cdHNldE1ldGFNb2RlbDogKG9NZXRhTW9kZWw6IE1vY2tNZXRhTW9kZWwpID0+IHZvaWQ7XG59O1xuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG5ldyBNb2NrTW9kZWwuXG4gKiBAcGFyYW0gb01vY2tMaXN0QmluZGluZyBBIGxpc3QgYmluZGluZyB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgd2hlbiBjYWxsaW5nIGJpbmRMaXN0LlxuICogQHBhcmFtIG9Nb2NrQ29udGV4dEJpbmRpbmcgQSBjb250ZXh0IGJpbmRpbmcgdGhhdCB3aWxsIGJlIHJldHVybmVkIHdoZW4gY2FsbGluZyBiaW5kQ29udGV4dC5cbiAqIEByZXR1cm5zIEEgbmV3IE1vY2tNb2RlbFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9ja01vZGVsKG9Nb2NrTGlzdEJpbmRpbmc/OiBNb2NrTGlzdEJpbmRpbmcsIG9Nb2NrQ29udGV4dEJpbmRpbmc/OiBNb2NrQ29udGV4dEJpbmRpbmcpOiBNb2NrTW9kZWwge1xuXHRjb25zdCBtb2NrZWQgPSBtb2NrKE9EYXRhTW9kZWwpIGFzIE1vY2tNb2RlbDtcblx0bW9ja2VkLmZuT3B0aW1pc3RpY0JhdGNoRW5hYmxlciA9IG51bGw7XG5cdG1vY2tlZC5tb2NrTGlzdEJpbmRpbmcgPSBvTW9ja0xpc3RCaW5kaW5nO1xuXHRtb2NrZWQubW9ja0NvbnRleHRCaW5kaW5nID0gb01vY2tDb250ZXh0QmluZGluZztcblx0aWYgKG9Nb2NrTGlzdEJpbmRpbmcpIHtcblx0XHRvTW9ja0xpc3RCaW5kaW5nLnNldE1vZGVsKG1vY2tlZCk7XG5cdH1cblx0aWYgKG9Nb2NrQ29udGV4dEJpbmRpbmcpIHtcblx0XHRvTW9ja0NvbnRleHRCaW5kaW5nLnNldE1vZGVsKG1vY2tlZCk7XG5cdH1cblxuXHQvLyBVdGlsaXR5IEFQSVxuXHRtb2NrZWQuc2V0TWV0YU1vZGVsID0gKG9NZXRhTW9kZWw6IE1vY2tNZXRhTW9kZWwpID0+IHtcblx0XHRtb2NrZWQub01ldGFNb2RlbCA9IG9NZXRhTW9kZWw7XG5cdH07XG5cblx0Ly8gRGVmYXVsdCBiZWhhdmlvclxuXHRtb2NrZWQubW9jay5iaW5kTGlzdC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuXHRcdHJldHVybiBtb2NrZWQubW9ja0xpc3RCaW5kaW5nO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suYmluZENvbnRleHQubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLm1vY2tDb250ZXh0QmluZGluZztcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmdldE1ldGFNb2RlbC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuXHRcdHJldHVybiBtb2NrZWQub01ldGFNb2RlbDtcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmlzQS5tb2NrSW1wbGVtZW50YXRpb24oKHNDbGFzc05hbWU6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiBzQ2xhc3NOYW1lID09PSBcInNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YU1vZGVsXCI7XG5cdH0pO1xuXG5cdHJldHVybiBtb2NrZWQ7XG59XG4vKipcbiAqIEZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIHdlIGtlZXAgYSBuZXcgb3BlcmF0b3IuIFVzZSB0aGUgZmFjdG9yeSBmdW5jdGlvbiBjcmVhdGVNb2NrTW9kZWwgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1vY2tNb2RlbDogbmV3IChvTW9ja0xpc3RCaW5kaW5nPzogTW9ja0xpc3RCaW5kaW5nLCBvTW9ja0NvbnRleHRCaW5kaW5nPzogTW9ja0NvbnRleHRCaW5kaW5nKSA9PiBNb2NrTW9kZWwgPVxuXHRjcmVhdGVNb2NrTW9kZWwgYXMgYW55O1xuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG5ldyBNb2NrTW9kZWwgdXNlZCB3aXRoIGEgbGlzdEJpbmRpbmcuXG4gKiBAcGFyYW0gb01vY2tMaXN0QmluZGluZyBBIGxpc3QgYmluZGluZyB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgd2hlbiBjYWxsaW5nIGJpbmRMaXN0LlxuICogQHJldHVybnMgQSBuZXcgTW9ja01vZGVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2NrTW9kZWxGcm9tTGlzdEJpbmRpbmcob01vY2tMaXN0QmluZGluZzogTW9ja0xpc3RCaW5kaW5nKTogTW9ja01vZGVsIHtcblx0cmV0dXJuIGNyZWF0ZU1vY2tNb2RlbChvTW9ja0xpc3RCaW5kaW5nKTtcbn1cbi8qKlxuICogIEZhY3RvcnkgZnVuY3Rpb24gdG8gY3JlYXRlIGEgbmV3IE1vY2tNb2RlbCB1c2VkIHdpdGggYSBjb250ZXh0QmluZGluZy5cbiAqIEBwYXJhbSBvTW9ja0NvbnRleHRCaW5kaW5nIEEgY29udGV4dCBiaW5kaW5nIHRoYXQgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGNhbGxpbmcgYmluZENvbnRleHQuXG4gKiBAcmV0dXJucyBBIG5ldyBNb2NrTW9kZWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vY2tNb2RlbEZyb21Db250ZXh0QmluZGluZyhvTW9ja0NvbnRleHRCaW5kaW5nOiBNb2NrQ29udGV4dEJpbmRpbmcpOiBNb2NrTW9kZWwge1xuXHRyZXR1cm4gY3JlYXRlTW9ja01vZGVsKHVuZGVmaW5lZCwgb01vY2tDb250ZXh0QmluZGluZyk7XG59XG5cbi8qKlxuICogVXRpbGl0eSB0eXBlIHRvIG1vY2sgYSBzYXAudWkuY29yZS5tdmMuVmlld1xuICovXG5leHBvcnQgdHlwZSBNb2NrVmlldyA9IFdpdGhNb2NrPEZFVmlldz47XG4vKipcbiAqIEZhY3RvcnkgZnVuY3Rpb24gdG8gY3JlYXRlIGEgbmV3IE1vY2tWaWV3LlxuICogQHJldHVybnMgQSBuZXcgTW9ja1ZpZXdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vY2tWaWV3KCk6IE1vY2tWaWV3IHtcblx0Y29uc3QgbW9ja2VkID0gbW9jayhWaWV3KTtcblxuXHQvLyBEZWZhdWx0IGJlaGF2aW9yXG5cdG1vY2tlZC5tb2NrLmlzQS5tb2NrSW1wbGVtZW50YXRpb24oKHNDbGFzc05hbWU6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiBzQ2xhc3NOYW1lID09PSBcInNhcC51aS5jb3JlLm12Yy5WaWV3XCI7XG5cdH0pO1xuXG5cdHJldHVybiBtb2NrZWQgYXMgTW9ja1ZpZXc7XG59XG4vKipcbiAqIEZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIHdlIGtlZXAgYSBuZXcgb3BlcmF0b3IuIFVzZSB0aGUgZmFjdG9yeSBmdW5jdGlvbiBjcmVhdGVNb2NrVmlldyBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgTW9ja1ZpZXc6IG5ldyAoKSA9PiBNb2NrVmlldyA9IGNyZWF0ZU1vY2tWaWV3IGFzIGFueTtcblxuLyoqXG4gKiBVdGlsaXR5IHR5cGUgdG8gbW9jayBhIHNhcC5mZS5jb3JlLlBhZ2VDb250cm9sbGVyXG4gKi9cbmV4cG9ydCB0eXBlIE1vY2tDb250cm9sbGVyID0gV2l0aE1vY2s8Q29udHJvbGxlcj4gJiB7XG5cdF9yb3V0aW5nOiBXaXRoTW9jazxJbnRlcm5hbFJvdXRpbmc+O1xuXHRfc2lkZUVmZmVjdHM6IFdpdGhNb2NrPFNpZGVFZmZlY3RzPjtcblx0X2ludGVudEJhc2VkTmF2aWdhdGlvbjogV2l0aE1vY2s8SW50ZXJuYWxJbnRlbnRCYXNlZE5hdmlnYXRpb24+O1xuXHRlZGl0RmxvdzogV2l0aE1vY2s8RWRpdEZsb3c+O1xuXHRzaGFyZTogV2l0aE1vY2s8U2hhcmU+O1xuXHRyZWNvbW1lbmRhdGlvbnM6IFdpdGhNb2NrPFJlY29tbWVuZGF0aW9ucz47XG5cdGNvbGxhYm9yYXRpdmVEcmFmdDogV2l0aE1vY2s8Q29sbGFib3JhdGl2ZURyYWZ0Pjtcblx0bWVzc2FnZUhhbmRsZXI6IFdpdGhNb2NrPE1lc3NhZ2VIYW5kbGVyPjtcblx0Z2V0QXBwQ29tcG9uZW50OiAoKSA9PiBXaXRoTW9jazxBcHBDb21wb25lbnQ+O1xuXHRnZXRNb2RlbDogKCkgPT4gTW9ja01vZGVsO1xufTtcblxuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG5ldyBNb2NrQ29udHJvbGxlci5cbiAqIEBwYXJhbSBtb2RlbCBPcHRpb25hbCBtb2RlbCB0aGF0IHNob3VsZCBiZSByZXR1cm5lZCBieSB0aGUgZ2V0TW9kZWwgbWV0aG9kXG4gKiBAcmV0dXJucyBBIG5ldyBNb2NrQ29udHJvbGxlclxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9ja0NvbnRyb2xsZXIobW9kZWw/OiBNb2NrTW9kZWwpOiBNb2NrQ29udHJvbGxlciB7XG5cdGNvbnN0IG1vY2tlZCA9IG1vY2soQ29udHJvbGxlcikgYXMgTW9ja0NvbnRyb2xsZXI7XG5cdG1vY2tlZC5fcm91dGluZyA9IG1vY2soSW50ZXJuYWxSb3V0aW5nKTtcblx0bW9ja2VkLl9zaWRlRWZmZWN0cyA9IG1vY2soU2lkZUVmZmVjdHMpO1xuXHRtb2NrZWQuX2ludGVudEJhc2VkTmF2aWdhdGlvbiA9IG1vY2soSW50ZXJuYWxJbnRlbnRCYXNlZE5hdmlnYXRpb24pO1xuXHRtb2NrZWQuZWRpdEZsb3cgPSBtb2NrKEVkaXRGbG93KTtcblx0bW9ja2VkLnNoYXJlID0gbW9jayhTaGFyZSk7XG5cdG1vY2tlZC5jb2xsYWJvcmF0aXZlRHJhZnQgPSBtb2NrKENvbGxhYm9yYXRpdmVEcmFmdCk7XG5cdG1vY2tlZC5yZWNvbW1lbmRhdGlvbnMgPSBtb2NrKFJlY29tbWVuZGF0aW9ucyk7XG5cdG1vY2tlZC5tZXNzYWdlSGFuZGxlciA9IG1vY2soTWVzc2FnZUhhbmRsZXIpO1xuXHRtb2NrZWQuZ2V0QXBwQ29tcG9uZW50ID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZShtb2NrKEFwcENvbXBvbmVudCkpO1xuXHQvLyBEZWZhdWx0IEJlaGF2aW9yXG5cdG1vY2tlZC5tb2NrLmdldFZpZXcubW9ja1JldHVyblZhbHVlKGNyZWF0ZU1vY2tWaWV3KCkpO1xuXHRtb2NrZWQubW9jay5pc0EubW9ja1JldHVyblZhbHVlKGZhbHNlKTtcblx0bW9ja2VkLmdldE1vZGVsID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZShtb2RlbCk7XG5cblx0cmV0dXJuIG1vY2tlZDtcbn1cbi8qKlxuICogRm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucywgd2Uga2VlcCBhIG5ldyBvcGVyYXRvci4gVXNlIHRoZSBmYWN0b3J5IGZ1bmN0aW9uIG1vY2tDb250cm9sbGVyIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBNb2NrQ29udHJvbGxlcjogbmV3ICgpID0+IE1vY2tDb250cm9sbGVyID0gY3JlYXRlTW9ja0NvbnRyb2xsZXIgYXMgYW55O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1WQ01vY2sge1xuXHRtb2RlbDogTW9ja01vZGVsO1xuXHR2aWV3OiBNb2NrVmlldztcblx0Y29udHJvbGxlcjogTW9ja0NvbnRyb2xsZXI7XG59XG4vKipcbiAqIEdlbmVyYXRlIG1vZGVsLCB2aWV3IGFuZCBjb250cm9sbGVyIG1vY2tzIHRoYXQgcmVmZXIgdG8gZWFjaCBvdGhlci5cbiAqIEBwYXJhbSBleGlzdGluZyBPcHRpb25hbCBleGlzdGluZyBtb2NrZWQgaW5zdGFuY2VzIHRoYXQgc2hvdWxkIGJlIHVzZWRcbiAqIEByZXR1cm5zIE1vY2tlZCBtb2RlbCwgdmlldyBhbmQgY29udHJvbGxlciBpbnN0YW5jZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vY2tNVkMoZXhpc3Rpbmc/OiBQYXJ0aWFsPE1WQ01vY2s+KTogTVZDTW9jayB7XG5cdGNvbnN0IG1vZGVsID0gZXhpc3Rpbmc/Lm1vZGVsIHx8IGNyZWF0ZU1vY2tNb2RlbCgpO1xuXHRjb25zdCB2aWV3ID0gZXhpc3Rpbmc/LnZpZXcgfHwgY3JlYXRlTW9ja1ZpZXcoKTtcblx0Y29uc3QgY29udHJvbGxlciA9IGV4aXN0aW5nPy5jb250cm9sbGVyIHx8IGNyZWF0ZU1vY2tDb250cm9sbGVyKG1vZGVsKTtcblxuXHR2aWV3Lm1vY2suZ2V0Q29udHJvbGxlci5tb2NrUmV0dXJuVmFsdWUoY29udHJvbGxlcik7XG5cdHZpZXcubW9jay5nZXRNb2RlbC5tb2NrUmV0dXJuVmFsdWUobW9kZWwpO1xuXHRjb250cm9sbGVyLm1vY2suZ2V0Vmlldy5tb2NrUmV0dXJuVmFsdWUodmlldyk7XG5cblx0cmV0dXJuIHsgbW9kZWwsIHZpZXcsIGNvbnRyb2xsZXIgfTtcbn1cblxuLyoqXG4gKiBUbyBiZSB1c2VkIHRvIGxvYWQgbWVzc2FnZXMgYnVuZGxlcyBmb3IgdGVzdHMgd2l0aG91dCBhcHAvcGFnZSBjb21wb25lbnQuXG4gKiBAcGFyYW0gdGV4dElEIElEIG9mIHRoZSBUZXh0XG4gKiBAcGFyYW0gcGFyYW1ldGVycyBBcnJheSBvZiBwYXJhbWV0ZXJzIHRoYXQgYXJlIHVzZWQgdG8gY3JlYXRlIHRoZSB0ZXh0XG4gKiBAcGFyYW0gbWV0YVBhdGggRW50aXR5IHNldCBuYW1lIG9yIGFjdGlvbiBuYW1lIHRvIG92ZXJsb2FkIGEgdGV4dFxuICogQHJldHVybnMgRGV0ZXJtaW5lZCB0ZXh0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXh0KHRleHRJRDogc3RyaW5nLCBwYXJhbWV0ZXJzPzogYW55W10sIG1ldGFQYXRoPzogc3RyaW5nKSB7XG5cdGNvbnN0IHJlc291cmNlTW9kZWwgPSBuZXcgUmVzb3VyY2VNb2RlbCh7XG5cdFx0YnVuZGxlTmFtZTogXCJzYXAuZmUuY29yZS5tZXNzYWdlYnVuZGxlXCIsXG5cdFx0ZW5oYW5jZVdpdGg6IFt7IGJ1bmRsZU5hbWU6IFwic2FwLmZlLm1hY3Jvcy5tZXNzYWdlYnVuZGxlXCIgfSwgeyBidW5kbGVOYW1lOiBcInNhcC5mZS50ZW1wbGF0ZXMubWVzc2FnZWJ1bmRsZVwiIH1dLFxuXHRcdGFzeW5jOiBmYWxzZVxuXHR9KTtcblx0cmV0dXJuIHJlc291cmNlTW9kZWwuZ2V0VGV4dCh0ZXh0SUQsIHBhcmFtZXRlcnMsIG1ldGFQYXRoKTtcbn1cblxuLyoqXG4gKiBVdGlsaXR5IHR5cGUgdG8gbW9jayBSZXNvdXJjZU1vZGVsXG4gKi9cbmV4cG9ydCB0eXBlIE1vY2tSZXNvdXJjZU1vZGVsID0gV2l0aE1vY2s8UmVzb3VyY2VNb2RlbD47XG4vKipcbiAqIEZhY3RvcnkgZnVuY3Rpb24gdG8gY3JlYXRlIGEgbmV3IE1vY2tWaWV3LlxuICogQHJldHVybnMgQSBuZXcgTW9ja1ZpZXdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vY2tSZXNvdXJjZU1vZGVsKCk6IE1vY2tSZXNvdXJjZU1vZGVsIHtcblx0Y29uc3QgbW9ja2VkID0gbW9jayhSZXNvdXJjZU1vZGVsKTtcblx0bW9ja2VkLmdldFRleHQgPSBqZXN0LmZuKCkubW9ja0ltcGxlbWVudGF0aW9uKGdldFRleHQpO1xuXHRyZXR1cm4gbW9ja2VkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7RUF5QkE7QUFDQTtBQUNBOztFQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ08sU0FBU0EsaUJBQWlCQSxDQUFDQyxZQUFrQixFQUFFQyxRQUFjLEVBQUVDLFVBQW9CLEVBQWU7SUFDeEc7SUFDQSxNQUFNQyxNQUFNLEdBQUdDLElBQUksQ0FBQ0MsTUFBTSxDQUFDQyxjQUFjLENBQUVDLE9BQU8sQ0FBU0MsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFnQjtJQUM5R0wsTUFBTSxDQUFDTSxZQUFZLEdBQUcsS0FBSztJQUMzQk4sTUFBTSxDQUFDTyxZQUFZLEdBQUdWLFlBQVksSUFBSSxDQUFDLENBQUM7SUFDeENHLE1BQU0sQ0FBQ1EsU0FBUyxHQUFHVixRQUFRO0lBQzNCRSxNQUFNLENBQUNTLFdBQVcsR0FBRyxDQUFDLENBQUNWLFVBQVU7O0lBRWpDO0lBQ0FDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDUyxHQUFHLENBQUNDLGtCQUFrQixDQUFFQyxVQUFrQixJQUFLO01BQzFELE9BQU9BLFVBQVUsS0FBSywrQkFBK0I7SUFDdEQsQ0FBQyxDQUFDO0lBQ0ZaLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDWSxXQUFXLENBQUNGLGtCQUFrQixDQUFFRyxHQUFXLElBQUs7TUFDM0QsT0FBT2QsTUFBTSxDQUFDTyxZQUFZLENBQUNPLEdBQUcsQ0FBQztJQUNoQyxDQUFDLENBQUM7SUFDRmQsTUFBTSxDQUFDQyxJQUFJLENBQUNjLGVBQWUsQ0FBQ0osa0JBQWtCLENBQUVLLFNBQTRCLElBQUs7TUFDaEYsSUFBSUMsS0FBSyxDQUFDQyxPQUFPLENBQUNGLFNBQVMsQ0FBQyxFQUFFO1FBQzdCLE9BQU9HLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDSixTQUFTLENBQUNLLEdBQUcsQ0FBRVAsR0FBRyxJQUFLZCxN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
|
|
493
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVNb2NrQ29udGV4dCIsIm9Db250ZXh0RGF0YSIsIm9CaW5kaW5nIiwiaXNJbmFjdGl2ZSIsIm1vY2tlZCIsIm1vY2siLCJPYmplY3QiLCJnZXRQcm90b3R5cGVPZiIsIkNvbnRleHQiLCJjcmVhdGVOZXdDb250ZXh0IiwiX2lzS2VwdEFsaXZlIiwiX2NvbnRleHREYXRhIiwiX29CaW5kaW5nIiwiX2lzSW5hY3RpdmUiLCJpc0EiLCJtb2NrSW1wbGVtZW50YXRpb24iLCJzQ2xhc3NOYW1lIiwiZ2V0UHJvcGVydHkiLCJrZXkiLCJyZXF1ZXN0UHJvcGVydHkiLCJrZXlPcktleXMiLCJBcnJheSIsImlzQXJyYXkiLCJQcm9taXNlIiwicmVzb2x2ZSIsIm1hcCIsInJlcXVlc3RPYmplY3QiLCJzZXRQcm9wZXJ0eSIsInZhbHVlIiwiZ2V0T2JqZWN0IiwicGF0aCIsInJlc3VsdCIsImluY2x1ZGVzIiwicGFydHMiLCJzcGxpdCIsInJlZHVjZSIsInN1bSIsInBhcnQiLCJnZXRQYXRoIiwiZ2V0QmluZGluZyIsImdldE1vZGVsIiwic2V0S2VlcEFsaXZlIiwiYm9vbCIsIl9mbk9uQmVmb3JlRGVzdHJveSIsIl9iUmVxdWVzdE1lc3NhZ2VzIiwiaXNLZWVwQWxpdmUiLCJfZXhwb3J0cyIsIk1vY2tDb250ZXh0IiwiY3JlYXRlTW9ja0V2ZW50IiwicGFyYW1zIiwic291cmNlIiwiRXZlbnQiLCJfcGFyYW1zIiwiZ2V0U291cmNlIiwibW9ja1JldHVyblZhbHVlIiwiZ2V0UGFyYW1ldGVyIiwibmFtZSIsImdldFBhcmFtZXRlcnMiLCJNb2NrRXZlbnQiLCJjcmVhdGVNb2NrTGlzdEJpbmRpbmciLCJhQ29udGV4dERhdGEiLCJvTW9ja01vZGVsIiwiT0RhdGFMaXN0QmluZGluZyIsIl9hTW9ja0NvbnRleHRzIiwiY29udGV4dERhdGEiLCJfbW9ja01vZGVsIiwic2V0TW9kZWwiLCJtb2RlbCIsInJlcXVlc3RDb250ZXh0cyIsImdldEN1cnJlbnRDb250ZXh0cyIsImdldEFsbEN1cnJlbnRDb250ZXh0cyIsImdldExlbmd0aCIsImxlbmd0aCIsImdldENvbnRleHRzIiwiZ2V0Q29udGV4dCIsInVuZGVmaW5lZCIsImdldFVwZGF0ZUdyb3VwSWQiLCJNb2NrTGlzdEJpbmRpbmciLCJjcmVhdGVNb2NrUHJvcGVydHlCaW5kaW5nIiwiT0RhdGFQcm9wZXJ0eUJpbmRpbmciLCJfdmFsdWUiLCJfcGF0aCIsImdldFZhbHVlIiwiTW9ja1Byb3BlcnR5QmluZGluZyIsImNyZWF0ZU1vY2tDb21wb3NpdGVCaW5kaW5nIiwiYUJpbmRpbmdzIiwiQ29tcG9zaXRlQmluZGluZyIsIl9hQmluZGluZ3MiLCJnZXRCaW5kaW5ncyIsImJpbmRpbmciLCJNb2NrQ29tcG9zaXRlQmluZGluZyIsImNyZWF0ZU1vY2tDb250ZXh0QmluZGluZyIsIm9Db250ZXh0IiwiT0RhdGFDb250ZXh0QmluZGluZyIsIm1vY2tNb2RlbCIsIm9Nb2NrQ29udGV4dCIsImdldEludGVybmFsTW9ja0NvbnRleHQiLCJvTW9kZWwiLCJnZXRCb3VuZENvbnRleHQiLCJpbnZva2UiLCJtb2NrUmVzb2x2ZWRWYWx1ZSIsIk1vY2tDb250ZXh0QmluZGluZyIsImNyZWF0ZU1vY2tNZXRhTW9kZWwiLCJvTWV0YURhdGEiLCJPRGF0YU1ldGFNb2RlbCIsIm9NZXRhQ29udGV4dCIsImdldE1ldGFDb250ZXh0Iiwic1BhdGgiLCIkcGF0aCIsImNyZWF0ZUJpbmRpbmdDb250ZXh0IiwiZ2V0TWV0YVBhdGgiLCJtZXRhbW9kZWwiLCJNb2NrTWV0YU1vZGVsIiwiY3JlYXRlTW9ja01vZGVsIiwib01vY2tMaXN0QmluZGluZyIsIm9Nb2NrQ29udGV4dEJpbmRpbmciLCJPRGF0YU1vZGVsIiwiZm5PcHRpbWlzdGljQmF0Y2hFbmFibGVyIiwibW9ja0xpc3RCaW5kaW5nIiwibW9ja0NvbnRleHRCaW5kaW5nIiwic2V0TWV0YU1vZGVsIiwib01ldGFNb2RlbCIsImJpbmRMaXN0IiwiYmluZENvbnRleHQiLCJnZXRNZXRhTW9kZWwiLCJNb2NrTW9kZWwiLCJjcmVhdGVNb2NrTW9kZWxGcm9tTGlzdEJpbmRpbmciLCJjcmVhdGVNb2NrTW9kZWxGcm9tQ29udGV4dEJpbmRpbmciLCJjcmVhdGVNb2NrVmlldyIsIlZpZXciLCJNb2NrVmlldyIsImNyZWF0ZU1vY2tDb250cm9sbGVyIiwiQ29udHJvbGxlciIsIl9yb3V0aW5nIiwiSW50ZXJuYWxSb3V0aW5nIiwiX3NpZGVFZmZlY3RzIiwiU2lkZUVmZmVjdHMiLCJfaW50ZW50QmFzZWROYXZpZ2F0aW9uIiwiSW50ZXJuYWxJbnRlbnRCYXNlZE5hdmlnYXRpb24iLCJlZGl0RmxvdyIsIkVkaXRGbG93Iiwic2hhcmUiLCJTaGFyZSIsImNvbGxhYm9yYXRpdmVEcmFmdCIsIkNvbGxhYm9yYXRpdmVEcmFmdCIsInJlY29tbWVuZGF0aW9ucyIsIlJlY29tbWVuZGF0aW9ucyIsIm1lc3NhZ2VIYW5kbGVyIiwiTWVzc2FnZUhhbmRsZXIiLCJnZXRBcHBDb21wb25lbnQiLCJqZXN0IiwiZm4iLCJBcHBDb21wb25lbnQiLCJnZXRWaWV3IiwiTW9ja0NvbnRyb2xsZXIiLCJtb2NrTVZDIiwiZXhpc3RpbmciLCJ2aWV3IiwiY29udHJvbGxlciIsImdldENvbnRyb2xsZXIiLCJnZXRUZXh0IiwidGV4dElEIiwicGFyYW1ldGVycyIsIm1ldGFQYXRoIiwicmVzb3VyY2VNb2RlbCIsIlJlc291cmNlTW9kZWwiLCJidW5kbGVOYW1lIiwiZW5oYW5jZVdpdGgiLCJhc3luYyIsImNyZWF0ZU1vY2tSZXNvdXJjZU1vZGVsIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJVSTVNb2NrSGVscGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgV2l0aE1vY2sgfSBmcm9tIFwiQHNhcC11eC9qZXN0LW1vY2stdWk1L2Rpc3QvZ2VuZXJpY1wiO1xuaW1wb3J0IHsgbW9jayB9IGZyb20gXCJAc2FwLXV4L2plc3QtbW9jay11aTUvZGlzdC9nZW5lcmljXCI7XG5pbXBvcnQgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgRkVWaWV3IH0gZnJvbSBcInNhcC9mZS9jb3JlL0Jhc2VDb250cm9sbGVyXCI7XG5pbXBvcnQgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvUmVzb3VyY2VNb2RlbFwiO1xuaW1wb3J0IENvbGxhYm9yYXRpdmVEcmFmdCBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvQ29sbGFib3JhdGl2ZURyYWZ0XCI7XG5pbXBvcnQgRWRpdEZsb3cgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0VkaXRGbG93XCI7XG5pbXBvcnQgSW50ZXJuYWxJbnRlbnRCYXNlZE5hdmlnYXRpb24gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0ludGVybmFsSW50ZW50QmFzZWROYXZpZ2F0aW9uXCI7XG5pbXBvcnQgSW50ZXJuYWxSb3V0aW5nIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9JbnRlcm5hbFJvdXRpbmdcIjtcbmltcG9ydCBNZXNzYWdlSGFuZGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvTWVzc2FnZUhhbmRsZXJcIjtcbmltcG9ydCBSZWNvbW1lbmRhdGlvbnMgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL1JlY29tbWVuZGF0aW9uc1wiO1xuaW1wb3J0IFNoYXJlIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9TaGFyZVwiO1xuaW1wb3J0IFNpZGVFZmZlY3RzIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9TaWRlRWZmZWN0c1wiO1xuaW1wb3J0IEV2ZW50IGZyb20gXCJzYXAvdWkvYmFzZS9FdmVudFwiO1xuaW1wb3J0IHR5cGUgRXZlbnRQcm92aWRlciBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRQcm92aWRlclwiO1xuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSBcInNhcC91aS9jb3JlL212Yy9Db250cm9sbGVyXCI7XG5pbXBvcnQgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCBDb21wb3NpdGVCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvQ29tcG9zaXRlQmluZGluZ1wiO1xuaW1wb3J0IENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgT0RhdGFDb250ZXh0QmluZGluZyBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhQ29udGV4dEJpbmRpbmdcIjtcbmltcG9ydCBPRGF0YUxpc3RCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFMaXN0QmluZGluZ1wiO1xuaW1wb3J0IE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcbmltcG9ydCBPRGF0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNb2RlbFwiO1xuaW1wb3J0IE9EYXRhUHJvcGVydHlCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFQcm9wZXJ0eUJpbmRpbmdcIjtcblxuLyoqXG4gKiBVdGlsaXR5IHR5cGUgdG8gbW9jayBhIHNhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0XG4gKi9cbmV4cG9ydCB0eXBlIE1vY2tDb250ZXh0ID0gV2l0aE1vY2s8Q29udGV4dD4gJiB7XG5cdF9pc0tlcHRBbGl2ZTogYm9vbGVhbjtcblx0X2NvbnRleHREYXRhOiBhbnk7XG5cdF9vQmluZGluZzogYW55O1xuXHRfaXNJbmFjdGl2ZTogYm9vbGVhbjtcbn07XG4vKipcbiAqIEZhY3RvcnkgZnVuY3Rpb24gdG8gY3JlYXRlIGEgbmV3IE1vY2tDb250ZXh0LlxuICogQHBhcmFtIG9Db250ZXh0RGF0YSBBIG1hcCBvZiB0aGUgZGlmZmVyZW50IHByb3BlcnRpZXMgb2YgdGhlIGNvbnRleHQuIFRoZSB2YWx1ZSBmb3IgdGhlIGtleSAnJHBhdGgnIHdpbGwgYmUgcmV0dXJuZWQgYnkgdGhlICdnZXRQYXRoJyBtZXRob2RcbiAqIEBwYXJhbSBvQmluZGluZyBUaGUgYmluZGluZyBvZiB0aGUgY29udGV4dFxuICogQHBhcmFtIGlzSW5hY3RpdmUgSXMgdGhlIGNvbnRleHQgaW5pYWN0aXZlIG9yIG5vdFxuICogQHJldHVybnMgQSBuZXcgTW9ja0NvbnRleHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vY2tDb250ZXh0KG9Db250ZXh0RGF0YT86IGFueSwgb0JpbmRpbmc/OiBhbnksIGlzSW5hY3RpdmU/OiBib29sZWFuKTogTW9ja0NvbnRleHQge1xuXHQvLyBVZ2x5IHdvcmthcm91bmQgdG8gZ2V0IGEgcHJvcGVyIG1vY2sgcGJqZWN0LCBhcyBDb250ZXh0IGlzbid0IHByb3Blcmx5IGV4cG9ydGVkIGZyb20gVUk1XG5cdGNvbnN0IG1vY2tlZCA9IG1vY2soT2JqZWN0LmdldFByb3RvdHlwZU9mKChDb250ZXh0IGFzIGFueSkuY3JlYXRlTmV3Q29udGV4dChudWxsLCBudWxsLCBcIi9lXCIpKSkgYXMgTW9ja0NvbnRleHQ7XG5cdG1vY2tlZC5faXNLZXB0QWxpdmUgPSBmYWxzZTtcblx0bW9ja2VkLl9jb250ZXh0RGF0YSA9IG9Db250ZXh0RGF0YSB8fCB7fTtcblx0bW9ja2VkLl9vQmluZGluZyA9IG9CaW5kaW5nO1xuXHRtb2NrZWQuX2lzSW5hY3RpdmUgPSAhIWlzSW5hY3RpdmU7XG5cblx0Ly8gRGVmYXVsdCBiZWhhdmlvclxuXHRtb2NrZWQubW9jay5pc0EubW9ja0ltcGxlbWVudGF0aW9uKChzQ2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gc0NsYXNzTmFtZSA9PT0gXCJzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dFwiO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suZ2V0UHJvcGVydHkubW9ja0ltcGxlbWVudGF0aW9uKChrZXk6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiBtb2NrZWQuX2NvbnRleHREYXRhW2tleV07XG5cdH0pO1xuXHRtb2NrZWQubW9jay5yZXF1ZXN0UHJvcGVydHkubW9ja0ltcGxlbWVudGF0aW9uKChrZXlPcktleXM6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkoa2V5T3JLZXlzKSkge1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShrZXlPcktleXMubWFwKChrZXkpID0+IG1vY2tlZC5fY29udGV4dERhdGFba2V5XSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG1vY2tlZC5fY29udGV4dERhdGFba2V5T3JLZXlzXSk7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5yZXF1ZXN0T2JqZWN0Lm1vY2tJbXBsZW1lbnRhdGlvbigoa2V5OiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHtcblx0XHRyZXR1cm4ga2V5ID8gUHJvbWlzZS5yZXNvbHZlKG1vY2tlZC5fY29udGV4dERhdGFba2V5XSkgOiBtb2NrZWQuX2NvbnRleHREYXRhO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suc2V0UHJvcGVydHkubW9ja0ltcGxlbWVudGF0aW9uKChrZXk6IHN0cmluZywgdmFsdWU6IGFueSkgPT4ge1xuXHRcdG1vY2tlZC5fY29udGV4dERhdGFba2V5XSA9IHZhbHVlO1xuXHRcdHJldHVybiBtb2NrZWQuX2NvbnRleHREYXRhW2tleV07XG5cdH0pO1xuXG5cdG1vY2tlZC5tb2NrLmdldE9iamVjdC5tb2NrSW1wbGVtZW50YXRpb24oKHBhdGg6IHN0cmluZykgPT4ge1xuXHRcdGxldCByZXN1bHQgPSBwYXRoID8gbW9ja2VkLl9jb250ZXh0RGF0YVtwYXRoXSA6IG1vY2tlZC5fY29udGV4dERhdGE7XG5cblx0XHRpZiAoIXJlc3VsdCAmJiBwYXRoICYmIHBhdGguaW5jbHVkZXMoXCIvXCIpKSB7XG5cdFx0XHRjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoXCIvXCIpO1xuXHRcdFx0cmVzdWx0ID0gcGFydHMucmVkdWNlKChzdW0sIHBhcnQ6IGFueSkgPT4ge1xuXHRcdFx0XHRzdW0gPSBwYXJ0ICYmIHN1bSA/IHN1bVtwYXJ0XSA6IHN1bTtcblx0XHRcdFx0cmV0dXJuIHN1bTtcblx0XHRcdH0sIG1vY2tlZC5fY29udGV4dERhdGEpO1xuXHRcdH1cblxuXHRcdHJldHVybiByZXN1bHQ7XG5cdH0pO1xuXG5cdG1vY2tlZC5tb2NrLmdldFBhdGgubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IG1vY2tlZC5fY29udGV4dERhdGFbXCIkcGF0aFwiXSk7XG5cdG1vY2tlZC5tb2NrLmdldEJpbmRpbmcubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IG1vY2tlZC5fb0JpbmRpbmcpO1xuXHRtb2NrZWQubW9jay5nZXRNb2RlbC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gbW9ja2VkLl9vQmluZGluZz8uZ2V0TW9kZWwoKSk7XG5cdG1vY2tlZC5tb2NrLnNldEtlZXBBbGl2ZS5tb2NrSW1wbGVtZW50YXRpb24oKGJvb2w6IGJvb2xlYW4sIF9mbk9uQmVmb3JlRGVzdHJveT86IGFueSwgX2JSZXF1ZXN0TWVzc2FnZXM/OiBib29sZWFuKSA9PiB7XG5cdFx0bW9ja2VkLl9pc0tlcHRBbGl2ZSA9IGJvb2w7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5pc0tlZXBBbGl2ZS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gbW9ja2VkLl9pc0tlcHRBbGl2ZSk7XG5cdG1vY2tlZC5tb2NrLmlzSW5hY3RpdmUubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IG1vY2tlZC5faXNJbmFjdGl2ZSk7XG5cblx0cmV0dXJuIG1vY2tlZDtcbn1cbi8qKlxuICogRm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucywgd2Uga2VlcCBhIG5ldyBvcGVyYXRvci4gVXNlIHRoZSBmYWN0b3J5IGZ1bmN0aW9uIGNyZWF0ZU1vY2tDb250ZXh0IGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBNb2NrQ29udGV4dDogbmV3IChvVmFsdWVzPzogYW55LCBvQmluZGluZz86IGFueSwgaXNJbmFjdGl2ZT86IGJvb2xlYW4pID0+IE1vY2tDb250ZXh0ID0gY3JlYXRlTW9ja0NvbnRleHQgYXMgYW55O1xuXG4vKipcbiAqIFV0aWxpdHkgdHlwZSB0byBtb2NrIGEgc2FwLnVpLmJhc2UuRXZlbnRcbiAqL1xuZXhwb3J0IHR5cGUgTW9ja0V2ZW50ID0gV2l0aE1vY2s8RXZlbnQ+ICYge1xuXHRfcGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufTtcbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgYSBuZXcgTW9ja0V2ZW50LlxuICogQHBhcmFtIHBhcmFtcyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgZXZlbnRcbiAqIEBwYXJhbSBzb3VyY2VcbiAqIEByZXR1cm5zIEEgbmV3IE1vY2tFdmVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9ja0V2ZW50KHBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9LCBzb3VyY2U/OiBFdmVudFByb3ZpZGVyKTogTW9ja0V2ZW50IHtcblx0Y29uc3QgbW9ja2VkID0gbW9jayhFdmVudCkgYXMgTW9ja0V2ZW50O1xuXHRtb2NrZWQuX3BhcmFtcyA9IHBhcmFtcyB8fCB7fTtcblxuXHRpZiAoc291cmNlKSB7XG5cdFx0bW9ja2VkLm1vY2suZ2V0U291cmNlLm1vY2tSZXR1cm5WYWx1ZShzb3VyY2UpO1xuXHR9XG5cblx0Ly8gRGVmYXVsdCBiZWhhdmlvclxuXHRtb2NrZWQubW9jay5nZXRQYXJhbWV0ZXIubW9ja0ltcGxlbWVudGF0aW9uKChuYW1lKSA9PiBtb2NrZWQuX3BhcmFtc1tuYW1lXSk7XG5cdG1vY2tlZC5tb2NrLmdldFBhcmFtZXRlcnMubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLl9wYXJhbXM7XG5cdH0pO1xuXG5cdHJldHVybiBtb2NrZWQ7XG59XG4vKipcbiAqIEZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIHdlIGtlZXAgYSBuZXcgb3BlcmF0b3IuIFVzZSB0aGUgZmFjdG9yeSBmdW5jdGlvbiBjcmVhdGVNb2NrRXZlbnQgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1vY2tFdmVudDogbmV3IChwYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSA9PiBNb2NrRXZlbnQgPSBjcmVhdGVNb2NrRXZlbnQgYXMgYW55O1xuXG4vKipcbiAqIFV0aWxpdHkgdHlwZSB0byBtb2NrIGEgc2FwLnVpLm1vZGVsLm9kYXRhLnY0Lk9EYXRhTGlzdEJpbmRpbmdcbiAqL1xuZXhwb3J0IHR5cGUgTW9ja0xpc3RCaW5kaW5nID0gV2l0aE1vY2s8T0RhdGFMaXN0QmluZGluZz4gJiB7XG5cdF9hTW9ja0NvbnRleHRzOiBNb2NrQ29udGV4dFtdO1xuXHRfbW9ja01vZGVsPzogTW9ja01vZGVsO1xuXG5cdC8qKlxuXHQgKiBVdGlsaXR5IG1ldGhvZCB0byBzZXQgdGhlIG1vZGVsIG9mIHRoZSBMaXN0QmluZGluZ1xuXHQgKi9cblx0c2V0TW9kZWw6IChtb2RlbDogTW9ja01vZGVsKSA9PiB2b2lkO1xufTtcbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgYSBuZXcgTW9ja0xpc3RCaW5kaW5nLlxuICogQHBhcmFtIGFDb250ZXh0RGF0YSBBbiBhcnJheSBvZiBvYmplY3RzIGhvbGRpbmcgdGhlIGRpZmZlcmVudCBwcm9wZXJ0aWVzIG9mIHRoZSBjb250ZXh0cyByZWZlcmVuY2VkIGJ5IHRoZSBMaXN0QmluZGluZ1xuICogQHBhcmFtIG9Nb2NrTW9kZWwgVGhlIG1vZGVsIG9mIHRoZSBMaXN0QmluZGluZ1xuICogQHJldHVybnMgQSBuZXcgTW9ja0xpc3RCaW5kaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2NrTGlzdEJpbmRpbmcoYUNvbnRleHREYXRhPzogYW55W10sIG9Nb2NrTW9kZWw/OiBNb2NrTW9kZWwpOiBNb2NrTGlzdEJpbmRpbmcge1xuXHRjb25zdCBtb2NrZWQgPSBtb2NrKE9EYXRhTGlzdEJpbmRpbmcpIGFzIE1vY2tMaXN0QmluZGluZztcblx0YUNvbnRleHREYXRhID0gYUNvbnRleHREYXRhIHx8IFtdO1xuXHRtb2NrZWQuX2FNb2NrQ29udGV4dHMgPSBhQ29udGV4dERhdGEubWFwKChjb250ZXh0RGF0YSkgPT4ge1xuXHRcdHJldHVybiBjcmVhdGVNb2NrQ29udGV4dChjb250ZXh0RGF0YSwgbW9ja2VkKTtcblx0fSk7XG5cdG1vY2tlZC5fbW9ja01vZGVsID0gb01vY2tNb2RlbDtcblxuXHQvLyBVdGlsaXR5IEFQSVxuXHRtb2NrZWQuc2V0TW9kZWwgPSAobW9kZWw6IE1vY2tNb2RlbCkgPT4ge1xuXHRcdG1vY2tlZC5fbW9ja01vZGVsID0gbW9kZWw7XG5cdH07XG5cblx0Ly8gRGVmYXVsdCBiZWhhdmlvclxuXHRtb2NrZWQubW9jay5pc0EubW9ja0ltcGxlbWVudGF0aW9uKChzQ2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gc0NsYXNzTmFtZSA9PT0gXCJzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFMaXN0QmluZGluZ1wiO1xuXHR9KTtcblx0bW9ja2VkLm1vY2sucmVxdWVzdENvbnRleHRzLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShtb2NrZWQuX2FNb2NrQ29udGV4dHMpO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suZ2V0Q3VycmVudENvbnRleHRzLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG5cdFx0cmV0dXJuIG1vY2tlZC5fYU1vY2tDb250ZXh0cztcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmdldEFsbEN1cnJlbnRDb250ZXh0cy5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuXHRcdHJldHVybiBtb2NrZWQuX2FNb2NrQ29udGV4dHM7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5nZXRMZW5ndGgubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLl9hTW9ja0NvbnRleHRzLmxlbmd0aDtcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmdldENvbnRleHRzLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG5cdFx0cmV0dXJuIG1vY2tlZC5fYU1vY2tDb250ZXh0cztcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmdldE1vZGVsLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG5cdFx0cmV0dXJuIG1vY2tlZC5fbW9ja01vZGVsO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suZ2V0Q29udGV4dC5tb2NrUmV0dXJuVmFsdWUodW5kZWZpbmVkKTtcblx0bW9ja2VkLm1vY2suZ2V0VXBkYXRlR3JvdXBJZC5tb2NrUmV0dXJuVmFsdWUoXCJhdXRvXCIpO1xuXG5cdHJldHVybiBtb2NrZWQ7XG59XG4vKipcbiAqIEZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIHdlIGtlZXAgYSBuZXcgb3BlcmF0b3IuIFVzZSB0aGUgZmFjdG9yeSBmdW5jdGlvbiBjcmVhdGVNb2NrTGlzdEJpbmRpbmcgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1vY2tMaXN0QmluZGluZzogbmV3IChhQ29udGV4dHM/OiBhbnlbXSwgbW9ja01vZGVsPzogTW9ja01vZGVsKSA9PiBNb2NrTGlzdEJpbmRpbmcgPSBjcmVhdGVNb2NrTGlzdEJpbmRpbmcgYXMgYW55O1xuXG4vKipcbiAqIFV0aWxpdHkgdHlwZSB0byBtb2NrIGEgc2FwLnVpLm1vZGVsLm9kYXRhLnY0Lk9EYXRhUHJvcGVydHlCaW5kaW5nXG4gKi9cbmV4cG9ydCB0eXBlIE1vY2tQcm9wZXJ0eUJpbmRpbmcgPSBXaXRoTW9jazxPRGF0YVByb3BlcnR5QmluZGluZz4gJiB7XG5cdF92YWx1ZT86IGFueTtcblx0X3BhdGg/OiBzdHJpbmc7XG5cdF9tb2NrTW9kZWw/OiBNb2NrTW9kZWw7XG59O1xuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG5ldyBNb2NrUHJvcGVydHlCaW5kaW5nLlxuICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSByZXR1cm5kIGJ5IHRoZSBQcm9wZXJ0eUJpbmRpbmdcbiAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBQcm9wZXJ0eUJpbmRpbmdcbiAqIEBwYXJhbSBvTW9ja01vZGVsIFRoZSBtb2RlbCBvZiB0aGUgUHJvcGVydHlCaW5kaW5nXG4gKiBAcmV0dXJucyBBIG5ldyBNb2NrUHJvcGVydHlCaW5kaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2NrUHJvcGVydHlCaW5kaW5nKHZhbHVlOiBhbnksIHBhdGg/OiBzdHJpbmcsIG9Nb2NrTW9kZWw/OiBNb2NrTW9kZWwpOiBNb2NrUHJvcGVydHlCaW5kaW5nIHtcblx0Y29uc3QgbW9ja2VkID0gbW9jayhPRGF0YVByb3BlcnR5QmluZGluZykgYXMgTW9ja1Byb3BlcnR5QmluZGluZztcblx0bW9ja2VkLl9tb2NrTW9kZWwgPSBvTW9ja01vZGVsO1xuXHRtb2NrZWQuX3ZhbHVlID0gdmFsdWU7XG5cdG1vY2tlZC5fcGF0aCA9IHBhdGg7XG5cblx0Ly8gRGVmYXVsdCBiZWhhdmlvclxuXHRtb2NrZWQubW9jay5pc0EubW9ja0ltcGxlbWVudGF0aW9uKChzQ2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gc0NsYXNzTmFtZSA9PT0gXCJzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFQcm9wZXJ0eUJpbmRpbmdcIjtcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmdldE1vZGVsLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG5cdFx0cmV0dXJuIG1vY2tlZC5fbW9ja01vZGVsO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suZ2V0VmFsdWUubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLl92YWx1ZTtcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmdldFBhdGgubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLl9wYXRoO1xuXHR9KTtcblxuXHRyZXR1cm4gbW9ja2VkO1xufVxuLyoqXG4gKiBGb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLCB3ZSBrZWVwIGEgbmV3IG9wZXJhdG9yLiBVc2UgdGhlIGZhY3RvcnkgZnVuY3Rpb24gY3JlYXRlTW9ja1Byb3BlcnR5QmluZGluZyBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgTW9ja1Byb3BlcnR5QmluZGluZzogbmV3ICh2YWx1ZTogYW55LCBvTW9ja01vZGVsPzogTW9ja01vZGVsKSA9PiBNb2NrUHJvcGVydHlCaW5kaW5nID0gY3JlYXRlTW9ja1Byb3BlcnR5QmluZGluZyBhcyBhbnk7XG5cbi8qKlxuICogVXRpbGl0eSB0eXBlIHRvIG1vY2sgYSBzYXAudWkubW9kZWwuQ29tcG9zaXRlQmluZGluZ1xuICovXG5leHBvcnQgdHlwZSBNb2NrQ29tcG9zaXRlQmluZGluZyA9IFdpdGhNb2NrPENvbXBvc2l0ZUJpbmRpbmc+ICYge1xuXHRfYUJpbmRpbmdzOiBNb2NrUHJvcGVydHlCaW5kaW5nW107XG59O1xuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG5ldyBNb2NrQ29tcG9zaXRlQmluZGluZy5cbiAqIEBwYXJhbSBhQmluZGluZ3MgVGhlIGJpbmRpbmdzIG9mIHRoZSBDb21wb3NpdGVCaW5kaW5nXG4gKiBAcmV0dXJucyBBIG5ldyBNb2NrQ29tcG9zaXRlQmluZGluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9ja0NvbXBvc2l0ZUJpbmRpbmcoYUJpbmRpbmdzOiBNb2NrUHJvcGVydHlCaW5kaW5nW10pOiBNb2NrQ29tcG9zaXRlQmluZGluZyB7XG5cdGNvbnN0IG1vY2tlZCA9IG1vY2soQ29tcG9zaXRlQmluZGluZykgYXMgTW9ja0NvbXBvc2l0ZUJpbmRpbmc7XG5cdG1vY2tlZC5fYUJpbmRpbmdzID0gYUJpbmRpbmdzO1xuXG5cdC8vIERlZmF1bHQgYmVoYXZpb3Jcblx0bW9ja2VkLm1vY2suaXNBLm1vY2tJbXBsZW1lbnRhdGlvbigoc0NsYXNzTmFtZTogc3RyaW5nKSA9PiB7XG5cdFx0cmV0dXJuIHNDbGFzc05hbWUgPT09IFwic2FwLnVpLm1vZGVsLkNvbXBvc2l0ZUJpbmRpbmdcIjtcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmdldEJpbmRpbmdzLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG5cdFx0cmV0dXJuIG1vY2tlZC5fYUJpbmRpbmdzO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suZ2V0VmFsdWUubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLl9hQmluZGluZ3MubWFwKChiaW5kaW5nKSA9PiBiaW5kaW5nLmdldFZhbHVlKCkpO1xuXHR9KTtcblxuXHRyZXR1cm4gbW9ja2VkO1xufVxuLyoqXG4gKiBGb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLCB3ZSBrZWVwIGEgbmV3IG9wZXJhdG9yLiBVc2UgdGhlIGZhY3RvcnkgZnVuY3Rpb24gY3JlYXRlTW9ja0NvbXBvc2l0ZUJpbmRpbmcgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1vY2tDb21wb3NpdGVCaW5kaW5nOiBuZXcgKGFCaW5kaW5nczogTW9ja1Byb3BlcnR5QmluZGluZ1tdKSA9PiBNb2NrQ29tcG9zaXRlQmluZGluZyA9IGNyZWF0ZU1vY2tDb21wb3NpdGVCaW5kaW5nIGFzIGFueTtcblxuLyoqXG4gKiBVdGlsaXR5IHR5cGUgdG8gbW9jayBhIHNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YUNvbnRleHRCaW5kaW5nXG4gKi9cbmV4cG9ydCB0eXBlIE1vY2tDb250ZXh0QmluZGluZyA9IFdpdGhNb2NrPE9EYXRhQ29udGV4dEJpbmRpbmc+ICYge1xuXHRvTW9ja0NvbnRleHQ6IE1vY2tDb250ZXh0O1xuXHRpc0tlcHRBbGl2ZTogYm9vbGVhbjtcblx0bW9ja01vZGVsPzogTW9ja01vZGVsO1xuXG5cdC8qKlxuXHQgKiBVdGlsaXR5IG1ldGhvZCB0byBhY2Nlc3MgdGhlIGludGVybmFsIE1vY2tDb250ZXh0IG9mIHRoZSBDb250ZXh0QmluZGluZ1xuXHQgKi9cblx0Z2V0SW50ZXJuYWxNb2NrQ29udGV4dDogKCkgPT4gTW9ja0NvbnRleHQ7XG5cdC8qKlxuXHQgKiBVdGlsaXR5IG1ldGhvZCB0byBzZXQgdGhlIG1vZGVsIG9mIHRoZSBDb250ZXh0QmluZGluZ1xuXHQgKi9cblx0c2V0TW9kZWw6IChvTW9kZWw6IE1vY2tNb2RlbCkgPT4gdm9pZDtcbn07XG4vKipcbiAqIEZhY3RvcnkgZnVuY3Rpb24gdG8gY3JlYXRlIGEgbmV3IE1vY2tDb250ZXh0QmluZGluZy5cbiAqIEBwYXJhbSBvQ29udGV4dCBUaGUgY29udGV4dCBvZiB0aGUgQ29udGV4dEJpbmRpbmdcbiAqIEBwYXJhbSBvTW9ja01vZGVsIFRoZSBtb2RlbCBvZiB0aGUgQ29udGV4dEJpbmRpbmdcbiAqIEByZXR1cm5zIEEgbmV3IE1vY2tDb250ZXh0QmluZGluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9ja0NvbnRleHRCaW5kaW5nKG9Db250ZXh0PzogYW55LCBvTW9ja01vZGVsPzogTW9ja01vZGVsKTogTW9ja0NvbnRleHRCaW5kaW5nIHtcblx0Y29uc3QgbW9ja2VkID0gbW9jayhPRGF0YUNvbnRleHRCaW5kaW5nKSBhcyBNb2NrQ29udGV4dEJpbmRpbmc7XG5cdG1vY2tlZC5tb2NrTW9kZWwgPSBvTW9ja01vZGVsO1xuXHRtb2NrZWQub01vY2tDb250ZXh0ID0gY3JlYXRlTW9ja0NvbnRleHQob0NvbnRleHQgfHwge30sIG1vY2tlZCk7XG5cblx0Ly8gVXRpbGl0eSBBUElcblx0bW9ja2VkLmdldEludGVybmFsTW9ja0NvbnRleHQgPSAoKSA9PiB7XG5cdFx0cmV0dXJuIG1vY2tlZC5vTW9ja0NvbnRleHQ7XG5cdH07XG5cdG1vY2tlZC5zZXRNb2RlbCA9IChvTW9kZWw6IE1vY2tNb2RlbCkgPT4ge1xuXHRcdG1vY2tlZC5tb2NrTW9kZWwgPSBvTW9kZWw7XG5cdH07XG5cblx0Ly8gRGVmYXVsdCBiZWhhdmlvclxuXHRtb2NrZWQubW9jay5pc0EubW9ja0ltcGxlbWVudGF0aW9uKChzQ2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gc0NsYXNzTmFtZSA9PT0gXCJzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFDb250ZXh0QmluZGluZ1wiO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suZ2V0Qm91bmRDb250ZXh0Lm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG5cdFx0cmV0dXJuIG1vY2tlZC5vTW9ja0NvbnRleHQ7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5nZXRNb2RlbC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuXHRcdHJldHVybiBtb2NrZWQubW9ja01vZGVsO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suaW52b2tlLm1vY2tSZXNvbHZlZFZhbHVlKHRydWUpO1xuXG5cdHJldHVybiBtb2NrZWQ7XG59XG4vKipcbiAqIEZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIHdlIGtlZXAgYSBuZXcgb3BlcmF0b3IuIFVzZSB0aGUgZmFjdG9yeSBmdW5jdGlvbiBjcmVhdGVNb2NrQ29udGV4dEJpbmRpbmcgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1vY2tDb250ZXh0QmluZGluZzogbmV3IChvQ29udGV4dD86IGFueSwgb01vY2tNb2RlbD86IE1vY2tNb2RlbCkgPT4gTW9ja0NvbnRleHRCaW5kaW5nID0gY3JlYXRlTW9ja0NvbnRleHRCaW5kaW5nIGFzIGFueTtcblxuLyoqXG4gKiBVdGlsaXR5IHR5cGUgdG8gbW9jayBhIHNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YU1ldGFNb2RlbFxuICovXG5leHBvcnQgdHlwZSBNb2NrTWV0YU1vZGVsID0gV2l0aE1vY2s8T0RhdGFNZXRhTW9kZWw+ICYge1xuXHRvTWV0YUNvbnRleHQ6IE1vY2tDb250ZXh0O1xufTtcbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgYSBuZXcgTW9ja01ldGFNb2RlbC5cbiAqIEBwYXJhbSBvTWV0YURhdGEgQSBtYXAgb2YgdGhlIGRpZmZlcmVudCBtZXRhZGF0YSBwcm9wZXJ0aWVzIG9mIHRoZSBNZXRhTW9kZWwgKHBhdGggLT4gdmFsdWUpLlxuICogQHJldHVybnMgQSBuZXcgTW9ja01ldGFNb2RlbFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9ja01ldGFNb2RlbChvTWV0YURhdGE/OiBhbnkpOiBNb2NrTWV0YU1vZGVsIHtcblx0Y29uc3QgbW9ja2VkID0gbW9jayhPRGF0YU1ldGFNb2RlbCkgYXMgTW9ja01ldGFNb2RlbDtcblx0bW9ja2VkLm9NZXRhQ29udGV4dCA9IGNyZWF0ZU1vY2tDb250ZXh0KG9NZXRhRGF0YSB8fCB7fSk7XG5cblx0Ly8gRGVmYXVsdCBiZWhhdmlvclxuXHRtb2NrZWQubW9jay5nZXRNZXRhQ29udGV4dC5tb2NrSW1wbGVtZW50YXRpb24oKHNQYXRoOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gY3JlYXRlTW9ja0NvbnRleHQoeyAkcGF0aDogc1BhdGggfSk7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5nZXRPYmplY3QubW9ja0ltcGxlbWVudGF0aW9uKChzUGF0aDogc3RyaW5nKSA9PiB7XG5cdFx0cmV0dXJuIG1vY2tlZC5vTWV0YUNvbnRleHQuZ2V0UHJvcGVydHkoc1BhdGgpO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suY3JlYXRlQmluZGluZ0NvbnRleHQubW9ja0ltcGxlbWVudGF0aW9uKChzUGF0aDogc3RyaW5nKSA9PiB7XG5cdFx0cmV0dXJuIGNyZWF0ZU1vY2tDb250ZXh0KHsgJHBhdGg6IHNQYXRoIH0pO1xuXHR9KTtcblx0bW9ja2VkLm1vY2suZ2V0TWV0YVBhdGgubW9ja0ltcGxlbWVudGF0aW9uKChzUGF0aDogc3RyaW5nKSA9PiB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRjb25zdCBtZXRhbW9kZWwgPSBuZXcgT0RhdGFNZXRhTW9kZWwoKTtcblx0XHRyZXR1cm4gc1BhdGggPyBtZXRhbW9kZWwuZ2V0TWV0YVBhdGgoc1BhdGgpIDogc1BhdGg7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5pc0EubW9ja0ltcGxlbWVudGF0aW9uKChzQ2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gc0NsYXNzTmFtZSA9PT0gXCJzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFNZXRhTW9kZWxcIjtcblx0fSk7XG5cblx0cmV0dXJuIG1vY2tlZDtcbn1cbi8qKlxuICogRm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucywgd2Uga2VlcCBhIG5ldyBvcGVyYXRvci4gVXNlIHRoZSBmYWN0b3J5IGZ1bmN0aW9uIGNyZWF0ZU1vY2tNZXRhTW9kZWwgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1vY2tNZXRhTW9kZWw6IG5ldyAob01ldGFEYXRhPzogYW55KSA9PiBNb2NrTWV0YU1vZGVsID0gY3JlYXRlTW9ja01ldGFNb2RlbCBhcyBhbnk7XG5cbi8qKlxuICogVXRpbGl0eSB0eXBlIHRvIG1vY2sgYSBzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFNb2RlbFxuICovXG5leHBvcnQgdHlwZSBNb2NrTW9kZWwgPSBXaXRoTW9jazxPRGF0YU1vZGVsPiAmIHtcblx0b01ldGFNb2RlbD86IE1vY2tNZXRhTW9kZWw7XG5cdG1vY2tMaXN0QmluZGluZz86IE1vY2tMaXN0QmluZGluZztcblx0bW9ja0NvbnRleHRCaW5kaW5nPzogTW9ja0NvbnRleHRCaW5kaW5nO1xuXG5cdC8qKlxuXHQgKiBVdGlsaXR5IG1ldGhvZCB0byBzZXQgdGhlIG1ldGFtb2RlbCBvZiB0aGUgTW9ja01vZGVsXG5cdCAqL1xuXHRzZXRNZXRhTW9kZWw6IChvTWV0YU1vZGVsOiBNb2NrTWV0YU1vZGVsKSA9PiB2b2lkO1xufTtcbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgYSBuZXcgTW9ja01vZGVsLlxuICogQHBhcmFtIG9Nb2NrTGlzdEJpbmRpbmcgQSBsaXN0IGJpbmRpbmcgdGhhdCB3aWxsIGJlIHJldHVybmVkIHdoZW4gY2FsbGluZyBiaW5kTGlzdC5cbiAqIEBwYXJhbSBvTW9ja0NvbnRleHRCaW5kaW5nIEEgY29udGV4dCBiaW5kaW5nIHRoYXQgd2lsbCBiZSByZXR1cm5lZCB3aGVuIGNhbGxpbmcgYmluZENvbnRleHQuXG4gKiBAcmV0dXJucyBBIG5ldyBNb2NrTW9kZWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vY2tNb2RlbChvTW9ja0xpc3RCaW5kaW5nPzogTW9ja0xpc3RCaW5kaW5nLCBvTW9ja0NvbnRleHRCaW5kaW5nPzogTW9ja0NvbnRleHRCaW5kaW5nKTogTW9ja01vZGVsIHtcblx0Y29uc3QgbW9ja2VkID0gbW9jayhPRGF0YU1vZGVsKSBhcyBNb2NrTW9kZWw7XG5cdG1vY2tlZC5mbk9wdGltaXN0aWNCYXRjaEVuYWJsZXIgPSBudWxsO1xuXHRtb2NrZWQubW9ja0xpc3RCaW5kaW5nID0gb01vY2tMaXN0QmluZGluZztcblx0bW9ja2VkLm1vY2tDb250ZXh0QmluZGluZyA9IG9Nb2NrQ29udGV4dEJpbmRpbmc7XG5cdGlmIChvTW9ja0xpc3RCaW5kaW5nKSB7XG5cdFx0b01vY2tMaXN0QmluZGluZy5zZXRNb2RlbChtb2NrZWQpO1xuXHR9XG5cdGlmIChvTW9ja0NvbnRleHRCaW5kaW5nKSB7XG5cdFx0b01vY2tDb250ZXh0QmluZGluZy5zZXRNb2RlbChtb2NrZWQpO1xuXHR9XG5cblx0Ly8gVXRpbGl0eSBBUElcblx0bW9ja2VkLnNldE1ldGFNb2RlbCA9IChvTWV0YU1vZGVsOiBNb2NrTWV0YU1vZGVsKSA9PiB7XG5cdFx0bW9ja2VkLm9NZXRhTW9kZWwgPSBvTWV0YU1vZGVsO1xuXHR9O1xuXG5cdC8vIERlZmF1bHQgYmVoYXZpb3Jcblx0bW9ja2VkLm1vY2suYmluZExpc3QubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLm1vY2tMaXN0QmluZGluZztcblx0fSk7XG5cdG1vY2tlZC5tb2NrLmJpbmRDb250ZXh0Lm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG5cdFx0cmV0dXJuIG1vY2tlZC5tb2NrQ29udGV4dEJpbmRpbmc7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5nZXRNZXRhTW9kZWwubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcblx0XHRyZXR1cm4gbW9ja2VkLm9NZXRhTW9kZWw7XG5cdH0pO1xuXHRtb2NrZWQubW9jay5pc0EubW9ja0ltcGxlbWVudGF0aW9uKChzQ2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gc0NsYXNzTmFtZSA9PT0gXCJzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFNb2RlbFwiO1xuXHR9KTtcblxuXHRyZXR1cm4gbW9ja2VkO1xufVxuLyoqXG4gKiBGb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLCB3ZSBrZWVwIGEgbmV3IG9wZXJhdG9yLiBVc2UgdGhlIGZhY3RvcnkgZnVuY3Rpb24gY3JlYXRlTW9ja01vZGVsIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBNb2NrTW9kZWw6IG5ldyAob01vY2tMaXN0QmluZGluZz86IE1vY2tMaXN0QmluZGluZywgb01vY2tDb250ZXh0QmluZGluZz86IE1vY2tDb250ZXh0QmluZGluZykgPT4gTW9ja01vZGVsID1cblx0Y3JlYXRlTW9ja01vZGVsIGFzIGFueTtcbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgYSBuZXcgTW9ja01vZGVsIHVzZWQgd2l0aCBhIGxpc3RCaW5kaW5nLlxuICogQHBhcmFtIG9Nb2NrTGlzdEJpbmRpbmcgQSBsaXN0IGJpbmRpbmcgdGhhdCB3aWxsIGJlIHJldHVybmVkIHdoZW4gY2FsbGluZyBiaW5kTGlzdC5cbiAqIEByZXR1cm5zIEEgbmV3IE1vY2tNb2RlbFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9ja01vZGVsRnJvbUxpc3RCaW5kaW5nKG9Nb2NrTGlzdEJpbmRpbmc6IE1vY2tMaXN0QmluZGluZyk6IE1vY2tNb2RlbCB7XG5cdHJldHVybiBjcmVhdGVNb2NrTW9kZWwob01vY2tMaXN0QmluZGluZyk7XG59XG4vKipcbiAqICBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG5ldyBNb2NrTW9kZWwgdXNlZCB3aXRoIGEgY29udGV4dEJpbmRpbmcuXG4gKiBAcGFyYW0gb01vY2tDb250ZXh0QmluZGluZyBBIGNvbnRleHQgYmluZGluZyB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgd2hlbiBjYWxsaW5nIGJpbmRDb250ZXh0LlxuICogQHJldHVybnMgQSBuZXcgTW9ja01vZGVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2NrTW9kZWxGcm9tQ29udGV4dEJpbmRpbmcob01vY2tDb250ZXh0QmluZGluZzogTW9ja0NvbnRleHRCaW5kaW5nKTogTW9ja01vZGVsIHtcblx0cmV0dXJuIGNyZWF0ZU1vY2tNb2RlbCh1bmRlZmluZWQsIG9Nb2NrQ29udGV4dEJpbmRpbmcpO1xufVxuXG4vKipcbiAqIFV0aWxpdHkgdHlwZSB0byBtb2NrIGEgc2FwLnVpLmNvcmUubXZjLlZpZXdcbiAqL1xuZXhwb3J0IHR5cGUgTW9ja1ZpZXcgPSBXaXRoTW9jazxGRVZpZXc+O1xuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG5ldyBNb2NrVmlldy5cbiAqIEByZXR1cm5zIEEgbmV3IE1vY2tWaWV3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2NrVmlldygpOiBNb2NrVmlldyB7XG5cdGNvbnN0IG1vY2tlZCA9IG1vY2soVmlldyk7XG5cblx0Ly8gRGVmYXVsdCBiZWhhdmlvclxuXHRtb2NrZWQubW9jay5pc0EubW9ja0ltcGxlbWVudGF0aW9uKChzQ2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gc0NsYXNzTmFtZSA9PT0gXCJzYXAudWkuY29yZS5tdmMuVmlld1wiO1xuXHR9KTtcblxuXHRyZXR1cm4gbW9ja2VkIGFzIE1vY2tWaWV3O1xufVxuLyoqXG4gKiBGb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLCB3ZSBrZWVwIGEgbmV3IG9wZXJhdG9yLiBVc2UgdGhlIGZhY3RvcnkgZnVuY3Rpb24gY3JlYXRlTW9ja1ZpZXcgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1vY2tWaWV3OiBuZXcgKCkgPT4gTW9ja1ZpZXcgPSBjcmVhdGVNb2NrVmlldyBhcyBhbnk7XG5cbi8qKlxuICogVXRpbGl0eSB0eXBlIHRvIG1vY2sgYSBzYXAuZmUuY29yZS5QYWdlQ29udHJvbGxlclxuICovXG5leHBvcnQgdHlwZSBNb2NrQ29udHJvbGxlciA9IFdpdGhNb2NrPENvbnRyb2xsZXI+ICYge1xuXHRfcm91dGluZzogV2l0aE1vY2s8SW50ZXJuYWxSb3V0aW5nPjtcblx0X3NpZGVFZmZlY3RzOiBXaXRoTW9jazxTaWRlRWZmZWN0cz47XG5cdF9pbnRlbnRCYXNlZE5hdmlnYXRpb246IFdpdGhNb2NrPEludGVybmFsSW50ZW50QmFzZWROYXZpZ2F0aW9uPjtcblx0ZWRpdEZsb3c6IFdpdGhNb2NrPEVkaXRGbG93Pjtcblx0c2hhcmU6IFdpdGhNb2NrPFNoYXJlPjtcblx0cmVjb21tZW5kYXRpb25zOiBXaXRoTW9jazxSZWNvbW1lbmRhdGlvbnM+O1xuXHRjb2xsYWJvcmF0aXZlRHJhZnQ6IFdpdGhNb2NrPENvbGxhYm9yYXRpdmVEcmFmdD47XG5cdG1lc3NhZ2VIYW5kbGVyOiBXaXRoTW9jazxNZXNzYWdlSGFuZGxlcj47XG5cdGdldEFwcENvbXBvbmVudDogKCkgPT4gV2l0aE1vY2s8QXBwQ29tcG9uZW50Pjtcblx0Z2V0TW9kZWw6ICgpID0+IE1vY2tNb2RlbDtcbn07XG5cbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgYSBuZXcgTW9ja0NvbnRyb2xsZXIuXG4gKiBAcGFyYW0gbW9kZWwgT3B0aW9uYWwgbW9kZWwgdGhhdCBzaG91bGQgYmUgcmV0dXJuZWQgYnkgdGhlIGdldE1vZGVsIG1ldGhvZFxuICogQHJldHVybnMgQSBuZXcgTW9ja0NvbnRyb2xsZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vY2tDb250cm9sbGVyKG1vZGVsPzogTW9ja01vZGVsKTogTW9ja0NvbnRyb2xsZXIge1xuXHRjb25zdCBtb2NrZWQgPSBtb2NrKENvbnRyb2xsZXIpIGFzIE1vY2tDb250cm9sbGVyO1xuXHRtb2NrZWQuX3JvdXRpbmcgPSBtb2NrKEludGVybmFsUm91dGluZyk7XG5cdG1vY2tlZC5fc2lkZUVmZmVjdHMgPSBtb2NrKFNpZGVFZmZlY3RzKTtcblx0bW9ja2VkLl9pbnRlbnRCYXNlZE5hdmlnYXRpb24gPSBtb2NrKEludGVybmFsSW50ZW50QmFzZWROYXZpZ2F0aW9uKTtcblx0bW9ja2VkLmVkaXRGbG93ID0gbW9jayhFZGl0Rmxvdyk7XG5cdG1vY2tlZC5zaGFyZSA9IG1vY2soU2hhcmUpO1xuXHRtb2NrZWQuY29sbGFib3JhdGl2ZURyYWZ0ID0gbW9jayhDb2xsYWJvcmF0aXZlRHJhZnQpO1xuXHRtb2NrZWQucmVjb21tZW5kYXRpb25zID0gbW9jayhSZWNvbW1lbmRhdGlvbnMpO1xuXHRtb2NrZWQubWVzc2FnZUhhbmRsZXIgPSBtb2NrKE1lc3NhZ2VIYW5kbGVyKTtcblx0bW9ja2VkLmdldEFwcENvbXBvbmVudCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUobW9jayhBcHBDb21wb25lbnQpKTtcblx0Ly8gRGVmYXVsdCBCZWhhdmlvclxuXHRtb2NrZWQubW9jay5nZXRWaWV3Lm1vY2tSZXR1cm5WYWx1ZShjcmVhdGVNb2NrVmlldygpKTtcblx0bW9ja2VkLm1vY2suaXNBLm1vY2tSZXR1cm5WYWx1ZShmYWxzZSk7XG5cdG1vY2tlZC5nZXRNb2RlbCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUobW9kZWwpO1xuXG5cdHJldHVybiBtb2NrZWQ7XG59XG4vKipcbiAqIEZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIHdlIGtlZXAgYSBuZXcgb3BlcmF0b3IuIFVzZSB0aGUgZmFjdG9yeSBmdW5jdGlvbiBtb2NrQ29udHJvbGxlciBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgTW9ja0NvbnRyb2xsZXI6IG5ldyAoKSA9PiBNb2NrQ29udHJvbGxlciA9IGNyZWF0ZU1vY2tDb250cm9sbGVyIGFzIGFueTtcblxuZXhwb3J0IGludGVyZmFjZSBNVkNNb2NrIHtcblx0bW9kZWw6IE1vY2tNb2RlbDtcblx0dmlldzogTW9ja1ZpZXc7XG5cdGNvbnRyb2xsZXI6IE1vY2tDb250cm9sbGVyO1xufVxuLyoqXG4gKiBHZW5lcmF0ZSBtb2RlbCwgdmlldyBhbmQgY29udHJvbGxlciBtb2NrcyB0aGF0IHJlZmVyIHRvIGVhY2ggb3RoZXIuXG4gKiBAcGFyYW0gZXhpc3RpbmcgT3B0aW9uYWwgZXhpc3RpbmcgbW9ja2VkIGluc3RhbmNlcyB0aGF0IHNob3VsZCBiZSB1c2VkXG4gKiBAcmV0dXJucyBNb2NrZWQgbW9kZWwsIHZpZXcgYW5kIGNvbnRyb2xsZXIgaW5zdGFuY2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtb2NrTVZDKGV4aXN0aW5nPzogUGFydGlhbDxNVkNNb2NrPik6IE1WQ01vY2sge1xuXHRjb25zdCBtb2RlbCA9IGV4aXN0aW5nPy5tb2RlbCB8fCBjcmVhdGVNb2NrTW9kZWwoKTtcblx0Y29uc3QgdmlldyA9IGV4aXN0aW5nPy52aWV3IHx8IGNyZWF0ZU1vY2tWaWV3KCk7XG5cdGNvbnN0IGNvbnRyb2xsZXIgPSBleGlzdGluZz8uY29udHJvbGxlciB8fCBjcmVhdGVNb2NrQ29udHJvbGxlcihtb2RlbCk7XG5cblx0dmlldy5tb2NrLmdldENvbnRyb2xsZXIubW9ja1JldHVyblZhbHVlKGNvbnRyb2xsZXIpO1xuXHR2aWV3Lm1vY2suZ2V0TW9kZWwubW9ja1JldHVyblZhbHVlKG1vZGVsKTtcblx0Y29udHJvbGxlci5tb2NrLmdldFZpZXcubW9ja1JldHVyblZhbHVlKHZpZXcpO1xuXG5cdHJldHVybiB7IG1vZGVsLCB2aWV3LCBjb250cm9sbGVyIH07XG59XG5cbi8qKlxuICogVG8gYmUgdXNlZCB0byBsb2FkIG1lc3NhZ2VzIGJ1bmRsZXMgZm9yIHRlc3RzIHdpdGhvdXQgYXBwL3BhZ2UgY29tcG9uZW50LlxuICogQHBhcmFtIHRleHRJRCBJRCBvZiB0aGUgVGV4dFxuICogQHBhcmFtIHBhcmFtZXRlcnMgQXJyYXkgb2YgcGFyYW1ldGVycyB0aGF0IGFyZSB1c2VkIHRvIGNyZWF0ZSB0aGUgdGV4dFxuICogQHBhcmFtIG1ldGFQYXRoIEVudGl0eSBzZXQgbmFtZSBvciBhY3Rpb24gbmFtZSB0byBvdmVybG9hZCBhIHRleHRcbiAqIEByZXR1cm5zIERldGVybWluZWQgdGV4dFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGV4dCh0ZXh0SUQ6IHN0cmluZywgcGFyYW1ldGVycz86IGFueVtdLCBtZXRhUGF0aD86IHN0cmluZykge1xuXHRjb25zdCByZXNvdXJjZU1vZGVsID0gbmV3IFJlc291cmNlTW9kZWwoe1xuXHRcdGJ1bmRsZU5hbWU6IFwic2FwLmZlLmNvcmUubWVzc2FnZWJ1bmRsZVwiLFxuXHRcdGVuaGFuY2VXaXRoOiBbeyBidW5kbGVOYW1lOiBcInNhcC5mZS5tYWNyb3MubWVzc2FnZWJ1bmRsZVwiIH0sIHsgYnVuZGxlTmFtZTogXCJzYXAuZmUudGVtcGxhdGVzLm1lc3NhZ2VidW5kbGVcIiB9XSxcblx0XHRhc3luYzogZmFsc2Vcblx0fSk7XG5cdHJldHVybiByZXNvdXJjZU1vZGVsLmdldFRleHQodGV4dElELCBwYXJhbWV0ZXJzLCBtZXRhUGF0aCk7XG59XG5cbi8qKlxuICogVXRpbGl0eSB0eXBlIHRvIG1vY2sgUmVzb3VyY2VNb2RlbFxuICovXG5leHBvcnQgdHlwZSBNb2NrUmVzb3VyY2VNb2RlbCA9IFdpdGhNb2NrPFJlc291cmNlTW9kZWw+O1xuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIG5ldyBNb2NrVmlldy5cbiAqIEByZXR1cm5zIEEgbmV3IE1vY2tWaWV3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2NrUmVzb3VyY2VNb2RlbCgpOiBNb2NrUmVzb3VyY2VNb2RlbCB7XG5cdGNvbnN0IG1vY2tlZCA9IG1vY2soUmVzb3VyY2VNb2RlbCk7XG5cdG1vY2tlZC5nZXRUZXh0ID0gamVzdC5mbigpLm1vY2tJbXBsZW1lbnRhdGlvbihnZXRUZXh0KTtcblx0cmV0dXJuIG1vY2tlZDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0VBeUJBO0FBQ0E7QUFDQTs7RUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNPLFNBQVNBLGlCQUFpQkEsQ0FBQ0MsWUFBa0IsRUFBRUMsUUFBYyxFQUFFQyxVQUFvQixFQUFlO0lBQ3hHO0lBQ0EsTUFBTUMsTUFBTSxHQUFHQyxJQUFJLENBQUNDLE1BQU0sQ0FBQ0MsY0FBYyxDQUFFQyxPQUFPLENBQVNDLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBZ0I7SUFDOUdMLE1BQU0sQ0FBQ00sWUFBWSxHQUFHLEtBQUs7SUFDM0JOLE1BQU0sQ0FBQ08sWUFBWSxHQUFHVixZQUFZLElBQUksQ0FBQyxDQUFDO0lBQ3hDRyxNQUFNLENBQUNRLFNBQVMsR0FBR1YsUUFBUTtJQUMzQkUsTUFBTSxDQUFDUyxXQUFXLEdBQUcsQ0FBQyxDQUFDVixVQUFVOztJQUVqQztJQUNBQyxNQUFNLENBQUNDLElBQUksQ0FBQ1MsR0FBRyxDQUFDQyxrQkFBa0IsQ0FBRUMsVUFBa0IsSUFBSztNQUMxRCxPQUFPQSxVQUFVLEtBQUssK0JBQStCO0lBQ3RELENBQUMsQ0FBQztJQUNGWixNQUFNLENBQUNDLElBQUksQ0FBQ1ksV0FBVyxDQUFDRixrQkFBa0IsQ0FBRUcsR0FBVyxJQUFLO01BQzNELE9BQU9kLE1BQU0sQ0FBQ08sWUFBWSxDQUFDTyxHQUFHLENBQUM7SUFDaEMsQ0FBQyxDQUFDO0lBQ0ZkLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDYyxlQUFlLENBQUNKLGtCQUFrQixDQUFFSyxTQUE0QixJQUFLO01BQ2hGLElBQUlDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixTQUFTLENBQUMsRUFBRTtR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
|
|
@@ -184,6 +184,7 @@ export function createMockListBinding(aContextData?: any[], oMockModel?: MockMod
|
|
|
184
184
|
mocked.mock.getModel.mockImplementation(() => {
|
|
185
185
|
return mocked._mockModel;
|
|
186
186
|
});
|
|
187
|
+
mocked.mock.getContext.mockReturnValue(undefined);
|
|
187
188
|
mocked.mock.getUpdateGroupId.mockReturnValue("auto");
|
|
188
189
|
|
|
189
190
|
return mocked;
|
|
@@ -22,7 +22,7 @@ sap.ui.define(["sap/ui/core/Lib", "sap/ui/core/library"], function (Library, _li
|
|
|
22
22
|
controls: [],
|
|
23
23
|
elements: [],
|
|
24
24
|
// eslint-disable-next-line no-template-curly-in-string
|
|
25
|
-
version: "1.142.
|
|
25
|
+
version: "1.142.3",
|
|
26
26
|
noLibraryCSS: true
|
|
27
27
|
});
|
|
28
28
|
return thisLib;
|