diff --git a/README.md b/README.md index c4df0821..449aa1bf 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # Ultimate Addons for Elementor Lite (UAE Lite) # **Contributors:** [@brainstormforce](https://profiles.wordpress.org/@brainstormforce/), [@nikschavan](https://profiles.wordpress.org/@nikschavan/), [@pratikchaskar](https://profiles.wordpress.org/@pratikchaskar/) -**Tags:** elementor, header footer builder, breadcrumbs, post meta, widgets, scroll to top +**Tags:** elementor, header footer builder, breadcrumbs, post meta, widgets **Requires at least:** 4.4 **Requires PHP:** 7.4 **Tested up to:** 6.7 -**Stable tag:** 2.0.0 +**Stable tag:** 2.0.1 **License:** GPLv2 or later **License URI:** https://www.gnu.org/licenses/gpl-2.0.html @@ -30,7 +30,7 @@ From crafting custom headers and footers to adding interactive design elements l Easily create custom headers and footers that perfectly match your brand. Use Elementor’s drag-and-drop builder to add logos, menus, and design elements, and **choose where they appear** – on the homepage, blog pages, or across your entire site. -#### ** Inbuilt Widgets for Speedy Design That Visitors Love** +#### Inbuilt Widgets for Speedy Design That Visitors Love Save time with built-in widgets designed to handle common design needs. From logos and navigation menus to copyright notices and search bars, UAE Lite has you covered: - **Post Info**: Automatically display key post details like author, publish date, time, and categories – a must-have for blogs and SEO optimization. - **Breadcrumbs**: Help visitors navigate your site with a dynamic path display. @@ -141,6 +141,9 @@ Absolutely! You can design custom headers, footers, and other sections for WooCo ## Changelog ## +### 2.0.1 ### +- Fix: Conflict with site customizer style. + ### 2.0.0 ### - New Feature: Scroll to Top Button. Add a dynamic "Scroll to Top" button to enhance navigation and improve user experience on long pages. diff --git a/build/main.asset.php b/build/main.asset.php index 0451a0c3..5cda5588 100644 --- a/build/main.asset.php +++ b/build/main.asset.php @@ -1 +1 @@ - array('react', 'react-dom', 'wp-api-fetch', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '3a573e21acde375f5d71'); + array('react', 'react-dom', 'wp-api-fetch', 'wp-dom-ready', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => 'f1754b24257ccd57e9ff'); diff --git a/build/main.css b/build/main.css index bc5e96fc..63a1e704 100644 --- a/build/main.css +++ b/build/main.css @@ -1,10 +1,4 @@ -/*!************************************************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/styles.css ***! - \************************************************************************************************************/ @import url(https://fonts.googleapis.com/css?family=Josefin+Sans); -/*!****************************************************************************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/@fontsource/figtree/index.css ***! - \****************************************************************************************************************************************/ /* figtree-latin-ext-400-normal */ @font-face { font-family: 'Figtree'; @@ -24,9 +18,6 @@ src: url(/8fbf595b398521a13438.woff2) format('woff2'), url(/0fe49b37405de5564a8c.woff) format('woff'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; } -/*!**************************************************************************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/@fontsource/figtree/400.css ***! - \**************************************************************************************************************************************/ /* figtree-latin-ext-400-normal */ @font-face { font-family: 'Figtree'; @@ -46,9 +37,6 @@ src: url(/8fbf595b398521a13438.woff2) format('woff2'), url(/0fe49b37405de5564a8c.woff) format('woff'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; } -/*!*********************************************************************************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/@fontsource/figtree/400-italic.css ***! - \*********************************************************************************************************************************************/ /* figtree-latin-ext-400-italic */ @font-face { font-family: 'Figtree'; @@ -68,9 +56,6 @@ src: url(/0c658d1bd687fc3b8ae1.woff2) format('woff2'), url(/2cd6f384ab13d382a241.woff) format('woff'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; } -/*!****************************************************************************************************************!*\ - !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/styles.css (1) ***! - \****************************************************************************************************************/ *, ::before, ::after{ --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; @@ -4125,3 +4110,5 @@ input[type="radio"].hfe-radio-field:focus { height: 1.5rem; } + +/*# sourceMappingURL=main.css.map*/ \ No newline at end of file diff --git a/build/main.css.map b/build/main.css.map new file mode 100644 index 00000000..1e92a4d9 --- /dev/null +++ b/build/main.css.map @@ -0,0 +1 @@ +{"version":3,"file":"main.css","mappings":"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CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA,gBAAmB;CAAnB;AAAmB;AAA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A,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,qBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,qBAAmB;CAAnB;AAAmB;AAAnB;CAAA,sBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,qBAAmB;CAAnB;AAAmB;AAAnB;CAAA,gBAAmB;CAAnB;AAAmB;AAAnB;CAAA,qBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,qBAAmB;CAAnB;AAAmB;AAAnB;CAAA,mBAAmB;CAAnB;AAAmB;AAAnB;CAAA,qBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,iBAAmB;CAAnB;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA,iBAAmB;CAAnB;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA,eAAmB;CAAnB;AAAmB;AAAnB;CAAA,mBAAmB;CAAnB;AAAmB;AAAnB;CAAA,mBAAmB;CAAnB;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA,kBAAmB;CAAnB;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA,qBAAmB;CAAnB;AAAmB;AAAnB;CAAA,+BAAmB;CAAnB;AAAmB;AAAnB;CAAA,gCAAmB;CAAnB;AAAmB;AAAnB;CAAA,kCAAmB;CAAnB;AAAmB;AAAnB;CAAA,uCAAmB;CAAnB;AAAmB;AAAnB;CAAA,kCAAmB;CAAnB;AAAmB;AAAnB;CAAA,yCAAmB;CAAnB;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA,oBAAmB;CAAnB;AAAmB;AAAnB;CAAA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AA6B;CAC7B,WAAW;CACX,YAAY;CACZ,kCAAkC;AACnC;;AAEA;CACC,4BAA4B;AAC7B;AACA;CACC,6BAA6B;AAC9B;AACA;CACC,SAAS;AACV;AACA;CACC,WAAW;AACZ;AACA;;;CAGC,aAAa;CACb,qBAAqB;CACrB,iBAAiB;AAClB;AACA;CACC,gCAAgC;AACjC;AACA;;CAEC,sBAAsB;AACvB;AACA;CACC,cAAc;CACd,eAAe;AAChB;AACA;CACC,kBAAkB;AACnB;AACA;CACC,cAAc;AACf;AACA;CACC,YAAY;AACb;AACA;CACC,iBAAiB;AAClB;AACA;CACC,UAAU;AACX;AACA;CACC,UAAU;AACX;AACA;CACC,UAAU;AACX;;AAEA;CACC,gBAAgB,EAAE,2CAA2C;CAC7D,mBAAmB;CACnB,gBAAgB;CAChB,uBAAuB;AACxB;AACA;CACC,WAAW;IACR,iBAAiB;AACrB;AACA;CACC,eAAe;AAChB;AACA;CACC,eAAe;CACf,gBAAgB;CAChB,mBAAmB;AACpB;AACA;;CAEC,WAAW;CACX,iDAAiD;CACjD,cAAc;CACd,WAAW;CACX,aAAa;CACb,WAAW;AACZ;AACA;CACC,mBAAmB;CACnB,gBAAgB;CAChB,oBAAoB;CACpB,eAAe;CACf,cAAc;AACf;AACA;CACC,WAAW;IACR,kBAAkB;IAClB,aAAa;IACb,cAAc;IACd,iBAAiB;IACjB,yBAAyB;IACzB,uBAAuB;AAC3B;AACA;CACC,qBAAqB;CACrB,6BAA6B;AAC9B;AACA;CACC,4BAA4B;CAC5B,2BAA2B;AAC5B;AACA;CACC;EACC,uBAAuB;CACxB;CACA;EACC,yBAAyB;CAC1B;AACD;AACA;CACC;EACC,UAAU;EACV,+BAA+B;CAChC;CACA;EACC,gBAAgB;EAChB,MAAM;CACP;CACA;EACC,yBAAyB;EACzB,gBAAgB;EAChB,YAAY;EACZ,YAAY;EACZ,eAAe;EACf,OAAO;EACP,MAAM;EACN,uBAAuB;EACvB,+BAA+B;EAC/B,UAAU;CACX;CACA;EACC,gCAAgC;CACjC;AACD;;AAEA;CACC;EACC,eAAe;CAChB;;CAEA;EACC,sCAAsC;CACvC;;CAEA;EACC,sBAAsB;EACtB,uBAAuB;EACvB,2BAA2B;CAC5B;AACD;;AAEA;CACC;;;EAGC,WAAW;CACZ;AACD;AACA;CACC;EACC,sBAAsB;EACtB,uBAAuB;CACxB;CACA;EACC,wBAAwB;EACxB,yBAAyB;EACzB,0BAA0B;CAC3B;AACD;AA1LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA,4BA2LA;CA3LA,wDA2LA;CA3LA;AA2LA;AA3LA;CAAA,gBA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,iBA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA;AA2LA;AA3LA;CAAA,gBA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,iCA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,8BA2LA;CA3LA;AA2LA;AA3LA;CAAA,2GA2LA;CA3LA,yGA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,2GA2LA;CA3LA,yGA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA,8BA2LA;CA3LA;AA2LA;AA3LA;CAAA,8BA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,2GA2LA;CA3LA,yGA2LA;CA3LA;AA2LA;AA3LA;CAAA,2GA2LA;CA3LA,yGA2LA;CA3LA;AA2LA;AA3LA;CAAA,2GA2LA;CA3LA,yGA2LA;CA3LA;AA2LA;AA3LA;CAAA,2GA2LA;CA3LA,yGA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,8BA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,8BA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,sBA2LA;CA3LA;AA2LA;AA3LA;CAAA,kBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA,0BA2LA;CA3LA;AA2LA;AA3LA;CAAA,yBA2LA;CA3LA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA;AA2LA;AA3LA;CAAA,oBA2LA;CA3LA;AA2LA;AA3LA;CAAA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;AAAA;AA3LA;CAAA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA,uBA2LA;OA3LA;CA2LA;CA3LA;EAAA,qBA2LA;OA3LA;CA2LA;CA3LA;EAAA,wBA2LA;OA3LA;CA2LA;CA3LA;EAAA,uBA2LA;OA3LA;CA2LA;CA3LA;EAAA,qBA2LA;OA3LA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA,uBA2LA;EA3LA,uDA2LA;EA3LA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;AAAA;AA3LA;CAAA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EAAA;CA2LA;CA3LA;EA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","sources":["webpack://header-footer-elementor/./node_modules/@fontsource/figtree/index.css","webpack://header-footer-elementor/./node_modules/@fontsource/figtree/400.css","webpack://header-footer-elementor/./node_modules/@fontsource/figtree/400-italic.css","webpack://header-footer-elementor/./src/styles.css"],"sourcesContent":["/* figtree-latin-ext-400-normal */\n@font-face {\n font-family: 'Figtree';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/figtree-latin-ext-400-normal.woff2) format('woff2'), url(./files/figtree-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* figtree-latin-400-normal */\n@font-face {\n font-family: 'Figtree';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/figtree-latin-400-normal.woff2) format('woff2'), url(./files/figtree-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}","/* figtree-latin-ext-400-normal */\n@font-face {\n font-family: 'Figtree';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/figtree-latin-ext-400-normal.woff2) format('woff2'), url(./files/figtree-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* figtree-latin-400-normal */\n@font-face {\n font-family: 'Figtree';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/figtree-latin-400-normal.woff2) format('woff2'), url(./files/figtree-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}","/* figtree-latin-ext-400-italic */\n@font-face {\n font-family: 'Figtree';\n font-style: italic;\n font-display: swap;\n font-weight: 400;\n src: url(./files/figtree-latin-ext-400-italic.woff2) format('woff2'), url(./files/figtree-latin-ext-400-italic.woff) format('woff');\n unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* figtree-latin-400-italic */\n@font-face {\n font-family: 'Figtree';\n font-style: italic;\n font-display: swap;\n font-weight: 400;\n src: url(./files/figtree-latin-400-italic.woff2) format('woff2'), url(./files/figtree-latin-400-italic.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}","@tailwind base;\r\n@tailwind components;\r\n@tailwind utilities;\r\n@import url(\"https://fonts.googleapis.com/css?family=Josefin+Sans\");\r\n\r\n/* Add to your main CSS file (e.g., index.css) */\r\n\r\n#hfe-settings-app .loader {\r\n\tborder: 4px solid #f3f3f3;\r\n\tborder-radius: 50%;\r\n\tborder-top: 4px solid #3498db;\r\n\twidth: 40px;\r\n\theight: 40px;\r\n\tanimation: spin 2s linear infinite;\r\n}\r\n\r\n.hfe-subheading h2 {\r\n\tfont-size: 1.1rem !important;\r\n}\r\n.hfe-subheading .text-text-secondary {\r\n\tfont-size: 0.98rem !important;\r\n}\r\n.hfe-loader-icon {\r\n\ttop: -15%;\r\n}\r\n#hfe-settings-app .gap-2 {\r\n\tgap: 1.2rem;\r\n}\r\n.hfe-remove-ring input[type=\"checkbox\"],\r\n.hfe-remove-ring a,\r\n.hfe-remove-ring {\r\n\toutline: none;\r\n\t--tw-ring-inset: auto;\r\n\tbox-shadow: unset;\r\n}\r\n.hfe-settings-page h2 {\r\n\tmargin-bottom: 0.3rem !important;\r\n}\r\n.hfe-link-color,\r\n.hfe-link-color span {\r\n\tcolor: rgb(96, 5, 255);\r\n}\r\n#hfe-settings-app .hfe-header-title h6 {\r\n\tcolor: #858484;\r\n\tfont-size: 14px;\r\n}\r\n.hfe-settings-content-wrapper {\r\n\tpadding: 15px 25px;\r\n}\r\nbutton.hfe-plugin-activated {\r\n\tcolor: #16a34a;\r\n}\r\nbutton.hfe-bulk-action-button {\r\n\twidth: 150px;\r\n}\r\n.hfe-subtitle h2 {\r\n\tfont-size: 0.9rem;\r\n}\r\n.hfe-65-width {\r\n\twidth: 65%;\r\n}\r\n.hfe-35-width {\r\n\twidth: 35%;\r\n}\r\n.hfe-78-width {\r\n\twidth: 78%;\r\n}\r\n\r\n#hfe-settings-app .subject-cell {\r\n\tmax-width: 200px; /* Adjust this width based on your layout */\r\n\twhite-space: nowrap;\r\n\toverflow: hidden;\r\n\ttext-overflow: ellipsis;\r\n}\r\n.hfe-tooltip-wrap {\r\n\twidth: 100%;\r\n text-align: right;\r\n}\r\n.toplevel_page_hfe #wpcontent {\r\n\tpadding-left: 0;\r\n}\r\ndiv#hfe-settings-app {\r\n\tfont-size: 15px;\r\n\tfont-weight: 500;\r\n\tline-height: normal;\r\n}\r\n#toplevel_page_hfe .wp-submenu li.wp-first-item::after,\r\n#toplevel_page_hfe .wp-submenu li:nth-last-child(3)::after {\r\n\tcontent: \"\";\r\n\tborder-bottom: 1px solid rgba(255, 255, 255, 0.2);\r\n\tdisplay: block;\r\n\tfloat: left;\r\n\tmargin: 8px 0;\r\n\twidth: 100%;\r\n}\r\n#toplevel_page_hfe .wp-submenu li:last-child a {\r\n\tbackground: #00a32a;\r\n\tpadding-top: 8px;\r\n\tpadding-bottom: 10px;\r\n\tmargin-top: 5px;\r\n\tcolor: #ffffff;\r\n}\r\ninput[type=\"radio\"].hfe-radio-field:checked::before {\r\n\tcontent: \"\";\r\n border-radius: 50%;\r\n width: 0.5rem;\r\n height: 0.5rem;\r\n margin: 0.1875rem;\r\n background-color: #6005FF;\r\n line-height: 1.14285714;\r\n}\r\ninput[type=\"radio\"].hfe-radio-field:focus {\r\n\tborder-color: #6005ff;\r\n\tbox-shadow: 0 0 0 1px #6005ff;\r\n}\r\n.hfe-compare-section h6 {\r\n\tfont-size: 0.9rem !important;\r\n\tfont-weight: 500 !important;\r\n}\r\n@keyframes spin {\r\n\t0% {\r\n\t\ttransform: rotate(0deg);\r\n\t}\r\n\t100% {\r\n\t\ttransform: rotate(360deg);\r\n\t}\r\n}\r\n@media (min-width: 769px) {\r\n\t.hfe-sticky-outer-wrapper {\r\n\t\twidth: 23%;\r\n\t\tborder-right: 1px solid #e5e7eb;\r\n\t}\r\n\t.hfe-sticky-sidebar {\r\n\t\tposition: sticky;\r\n\t\ttop: 0;\r\n\t}\r\n\t.hfe-settings-page:before {\r\n\t\tanimation-fill-mode: both;\r\n\t\tbackground: #fff;\r\n\t\tcontent: \" \";\r\n\t\theight: 100%;\r\n\t\tposition: fixed;\r\n\t\tleft: 0;\r\n\t\ttop: 0;\r\n\t\ttransform-origin: right;\r\n\t\tborder-right: 1px solid #e5e7eb;\r\n\t\twidth: 30%;\r\n\t}\r\n\t.hfe-nav-menu {\r\n\t\tborder-bottom: 1px solid #e5e7eb;\r\n\t}\r\n}\r\n\r\n@media (max-width: 768px) {\r\n\t#toplevel_page_hfe .container {\r\n\t\tpadding: 0 1rem;\r\n\t}\r\n\r\n\t#toplevel_page_hfe .fixed {\r\n\t\tjustify-content: flex-start !important;\r\n\t}\r\n\r\n\t#toplevel_page_hfe .bg-white {\r\n\t\twidth: 100% !important;\r\n\t\theight: 100% !important;\r\n\t\tborder-radius: 0 !important;\r\n\t}\r\n}\r\n\r\n@media (max-width: 1024px) {\r\n\t.hfe-65-width,\r\n\t.hfe-35-width,\r\n\t.hfe-78-width {\r\n\t\twidth: 100%;\r\n\t}\r\n}\r\n@media screen and (max-width: 782px) {\r\n\t.hfe-radio-option {\r\n\t\twidth: 1rem !important;\r\n\t\theight: 1rem !important;\r\n\t}\r\n\t.hfe-radio-option:checked:before {\r\n\t\twidth: 0.5rem !important;\r\n\t\theight: 0.5rem !important;\r\n\t\tmargin: 0.18rem !important;\r\n\t}\r\n}\r\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/build/main.js b/build/main.js index 88f2dbde..73ab2f8b 100644 --- a/build/main.js +++ b/build/main.js @@ -1,1163 +1,173 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./node_modules/@bsf/force-ui/dist/force-ui.js": -/*!*****************************************************!*\ - !*** ./node_modules/@bsf/force-ui/dist/force-ui.js ***! - \*****************************************************/ -/***/ (function(module) { - -eval("!function(e,t){ true?module.exports=t():0}(\"undefined\"!=typeof self?self:this,(function(){return function(){\"use strict\";var e={316:function(e,t,n){function r(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}n.d(t,{A:function(){return i}});var o=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,i=r((function(e){return o.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91}))},20:function(e,t,n){var r=n(609),o=Symbol.for(\"react.element\"),i=Symbol.for(\"react.fragment\"),s=Object.prototype.hasOwnProperty,a=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,i={},c=null,u=null;for(r in void 0!==n&&(c=\"\"+n),void 0!==t.key&&(c=\"\"+t.key),void 0!==t.ref&&(u=t.ref),t)s.call(t,r)&&!l.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===i[r]&&(i[r]=t[r]);return{$$typeof:o,type:e,key:c,ref:u,props:i,_owner:a.current}}t.Fragment=i,t.jsx=c,t.jsxs=c},848:function(e,t,n){e.exports=n(20)},609:function(e){e.exports=window.React}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var r={};n.r(r),n.d(r,{Alert:function(){return Gh},Avatar:function(){return oi},Badge:function(){return Zo},Breadcrumb:function(){return kk},Button:function(){return de},ButtonGroup:function(){return Pi},Checkbox:function(){return Me},Container:function(){return qh},DatePicker:function(){return FO},Dialog:function(){return qk},Drawer:function(){return CC},DropdownMenu:function(){return GE},EditorInput:function(){return NS},Input:function(){return fi},Label:function(){return gi},Loader:function(){return bi},Menu:function(){return ZS},Pagination:function(){return GC},ProgressBar:function(){return xi},ProgressSteps:function(){return zS},RadioButton:function(){return Ko},SearchBox:function(){return ME},Select:function(){return Nm},Sidebar:function(){return ck},Skeleton:function(){return VS},Switch:function(){return be},Tabs:function(){return am},TextArea:function(){return ri},Title:function(){return yi},Toaster:function(){return mh},Tooltip:function(){return Do},Topbar:function(){return nE},toast:function(){return Hm}});var o={};n.r(o),n.d(o,{Button:function(){return XC},CaptionLabel:function(){return ZC},Chevron:function(){return JC},Day:function(){return QC},DayButton:function(){return e_},Dropdown:function(){return t_},DropdownNav:function(){return n_},Footer:function(){return r_},Month:function(){return o_},MonthCaption:function(){return i_},MonthGrid:function(){return s_},Months:function(){return a_},MonthsDropdown:function(){return u_},Nav:function(){return d_},NextMonthButton:function(){return f_},Option:function(){return m_},PreviousMonthButton:function(){return h_},Root:function(){return p_},Select:function(){return g_},Week:function(){return y_},WeekNumber:function(){return x_},WeekNumberHeader:function(){return w_},Weekday:function(){return v_},Weekdays:function(){return b_},Weeks:function(){return S_},YearsDropdown:function(){return k_}});var i={};n.r(i),n.d(i,{formatCaption:function(){return LP},formatDay:function(){return zP},formatMonthCaption:function(){return FP},formatMonthDropdown:function(){return BP},formatWeekNumber:function(){return WP},formatWeekNumberHeader:function(){return VP},formatWeekdayName:function(){return UP},formatYearCaption:function(){return YP},formatYearDropdown:function(){return $P}});var s={};n.r(s),n.d(s,{labelCaption:function(){return KP},labelDay:function(){return XP},labelDayButton:function(){return GP},labelGrid:function(){return HP},labelGridcell:function(){return qP},labelMonthDropdown:function(){return JP},labelNav:function(){return ZP},labelNext:function(){return QP},labelPrevious:function(){return eO},labelWeekNumber:function(){return nO},labelWeekNumberHeader:function(){return rO},labelWeekday:function(){return tO},labelYearDropdown:function(){return oO}});var a=n(609),l=n.n(a);const c=e=>{const t=m(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{const n=e.split(\"-\");return\"\"===n[0]&&1!==n.length&&n.shift(),u(n,t)||f(e)},getConflictingClassGroupIds:(e,t)=>{const o=n[e]||[];return t&&r[e]?[...o,...r[e]]:o}}},u=(e,t)=>{if(0===e.length)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),o=r?u(e.slice(1),r):void 0;if(o)return o;if(0===t.validators.length)return;const i=e.join(\"-\");return t.validators.find((({validator:e})=>e(i)))?.classGroupId},d=/^\\[(.+)\\]$/,f=e=>{if(d.test(e)){const t=d.exec(e)[1],n=t?.substring(0,t.indexOf(\":\"));if(n)return\"arbitrary..\"+n}},m=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return y(Object.entries(e.classGroups),n).forEach((([e,n])=>{h(n,r,e,t)})),r},h=(e,t,n,r)=>{e.forEach((e=>{if(\"string\"!=typeof e){if(\"function\"==typeof e)return g(e)?void h(e(r),t,n,r):void t.validators.push({validator:e,classGroupId:n});Object.entries(e).forEach((([e,o])=>{h(o,p(t,e),n,r)}))}else(\"\"===e?t:p(t,e)).classGroupId=n}))},p=(e,t)=>{let n=e;return t.split(\"-\").forEach((e=>{n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)})),n},g=e=>e.isThemeGetter,y=(e,t)=>t?e.map((([e,n])=>[e,n.map((e=>\"string\"==typeof e?t+e:\"object\"==typeof e?Object.fromEntries(Object.entries(e).map((([e,n])=>[t+e,n]))):e))])):e,v=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const o=(o,i)=>{n.set(o,i),t++,t>e&&(t=0,r=n,n=new Map)};return{get(e){let t=n.get(e);return void 0!==t?t:void 0!==(t=r.get(e))?(o(e,t),t):void 0},set(e,t){n.has(e)?n.set(e,t):o(e,t)}}},b=e=>{const{separator:t,experimentalParseClassName:n}=e,r=1===t.length,o=t[0],i=t.length,s=e=>{const n=[];let s,a=0,l=0;for(let c=0;cl?s-l:void 0}};return n?e=>n({className:e,parseClassName:s}):s},x=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach((e=>{\"[\"===e[0]?(t.push(...n.sort(),e),n=[]):n.push(e)})),t.push(...n.sort()),t},w=/\\s+/;function S(){let e,t,n=0,r=\"\";for(;n{if(\"string\"==typeof e)return e;let t,n=\"\";for(let r=0;rt(e)),e());return n=(e=>({cache:v(e.cacheSize),parseClassName:b(e),...c(e)}))(l),r=n.cache.get,o=n.cache.set,i=s,s(a)};function s(e){const t=r(e);if(t)return t;const i=((e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,i=[],s=e.trim().split(w);let a=\"\";for(let e=s.length-1;e>=0;e-=1){const t=s[e],{modifiers:l,hasImportantModifier:c,baseClassName:u,maybePostfixModifierPosition:d}=n(t);let f=Boolean(d),m=r(f?u.substring(0,d):u);if(!m){if(!f){a=t+(a.length>0?\" \"+a:a);continue}if(m=r(u),!m){a=t+(a.length>0?\" \"+a:a);continue}f=!1}const h=x(l).join(\":\"),p=c?h+\"!\":h,g=p+m;if(i.includes(g))continue;i.push(g);const y=o(m,f);for(let e=0;e0?\" \"+a:a)}return a})(e,n);return o(e,i),i}return function(){return i(S.apply(null,arguments))}}const C=e=>{const t=t=>t[e]||[];return t.isThemeGetter=!0,t},_=/^\\[(?:([a-z-]+):)?(.+)\\]$/i,P=/^\\d+\\/\\d+$/,O=new Set([\"px\",\"full\",\"screen\"]),N=/^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/,T=/\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/,M=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/,R=/^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/,D=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/,j=e=>I(e)||O.has(e)||P.test(e),A=e=>G(e,\"length\",X),I=e=>Boolean(e)&&!Number.isNaN(Number(e)),L=e=>G(e,\"number\",I),F=e=>Boolean(e)&&Number.isInteger(Number(e)),z=e=>e.endsWith(\"%\")&&I(e.slice(0,-1)),B=e=>_.test(e),W=e=>N.test(e),V=new Set([\"length\",\"size\",\"percentage\"]),U=e=>G(e,V,Z),$=e=>G(e,\"position\",Z),Y=new Set([\"image\",\"url\"]),H=e=>G(e,Y,Q),K=e=>G(e,\"\",J),q=()=>!0,G=(e,t,n)=>{const r=_.exec(e);return!!r&&(r[1]?\"string\"==typeof t?r[1]===t:t.has(r[1]):n(r[2]))},X=e=>T.test(e)&&!M.test(e),Z=()=>!1,J=e=>R.test(e),Q=e=>D.test(e),ee=(Symbol.toStringTag,()=>{const e=C(\"colors\"),t=C(\"spacing\"),n=C(\"blur\"),r=C(\"brightness\"),o=C(\"borderColor\"),i=C(\"borderRadius\"),s=C(\"borderSpacing\"),a=C(\"borderWidth\"),l=C(\"contrast\"),c=C(\"grayscale\"),u=C(\"hueRotate\"),d=C(\"invert\"),f=C(\"gap\"),m=C(\"gradientColorStops\"),h=C(\"gradientColorStopPositions\"),p=C(\"inset\"),g=C(\"margin\"),y=C(\"opacity\"),v=C(\"padding\"),b=C(\"saturate\"),x=C(\"scale\"),w=C(\"sepia\"),S=C(\"skew\"),k=C(\"space\"),E=C(\"translate\"),_=()=>[\"auto\",B,t],P=()=>[B,t],O=()=>[\"\",j,A],N=()=>[\"auto\",I,B],T=()=>[\"\",\"0\",B],M=()=>[I,B];return{cacheSize:500,separator:\":\",theme:{colors:[q],spacing:[j,A],blur:[\"none\",\"\",W,B],brightness:M(),borderColor:[e],borderRadius:[\"none\",\"\",\"full\",W,B],borderSpacing:P(),borderWidth:O(),contrast:M(),grayscale:T(),hueRotate:M(),invert:T(),gap:P(),gradientColorStops:[e],gradientColorStopPositions:[z,A],inset:_(),margin:_(),opacity:M(),padding:P(),saturate:M(),scale:M(),sepia:T(),skew:M(),space:P(),translate:P()},classGroups:{aspect:[{aspect:[\"auto\",\"square\",\"video\",B]}],container:[\"container\"],columns:[{columns:[W]}],\"break-after\":[{\"break-after\":[\"auto\",\"avoid\",\"all\",\"avoid-page\",\"page\",\"left\",\"right\",\"column\"]}],\"break-before\":[{\"break-before\":[\"auto\",\"avoid\",\"all\",\"avoid-page\",\"page\",\"left\",\"right\",\"column\"]}],\"break-inside\":[{\"break-inside\":[\"auto\",\"avoid\",\"avoid-page\",\"avoid-column\"]}],\"box-decoration\":[{\"box-decoration\":[\"slice\",\"clone\"]}],box:[{box:[\"border\",\"content\"]}],display:[\"block\",\"inline-block\",\"inline\",\"flex\",\"inline-flex\",\"table\",\"inline-table\",\"table-caption\",\"table-cell\",\"table-column\",\"table-column-group\",\"table-footer-group\",\"table-header-group\",\"table-row-group\",\"table-row\",\"flow-root\",\"grid\",\"inline-grid\",\"contents\",\"list-item\",\"hidden\"],float:[{float:[\"right\",\"left\",\"none\",\"start\",\"end\"]}],clear:[{clear:[\"left\",\"right\",\"both\",\"none\",\"start\",\"end\"]}],isolation:[\"isolate\",\"isolation-auto\"],\"object-fit\":[{object:[\"contain\",\"cover\",\"fill\",\"none\",\"scale-down\"]}],\"object-position\":[{object:[\"bottom\",\"center\",\"left\",\"left-bottom\",\"left-top\",\"right\",\"right-bottom\",\"right-top\",\"top\",B]}],overflow:[{overflow:[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"]}],\"overflow-x\":[{\"overflow-x\":[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"]}],\"overflow-y\":[{\"overflow-y\":[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"]}],overscroll:[{overscroll:[\"auto\",\"contain\",\"none\"]}],\"overscroll-x\":[{\"overscroll-x\":[\"auto\",\"contain\",\"none\"]}],\"overscroll-y\":[{\"overscroll-y\":[\"auto\",\"contain\",\"none\"]}],position:[\"static\",\"fixed\",\"absolute\",\"relative\",\"sticky\"],inset:[{inset:[p]}],\"inset-x\":[{\"inset-x\":[p]}],\"inset-y\":[{\"inset-y\":[p]}],start:[{start:[p]}],end:[{end:[p]}],top:[{top:[p]}],right:[{right:[p]}],bottom:[{bottom:[p]}],left:[{left:[p]}],visibility:[\"visible\",\"invisible\",\"collapse\"],z:[{z:[\"auto\",F,B]}],basis:[{basis:_()}],\"flex-direction\":[{flex:[\"row\",\"row-reverse\",\"col\",\"col-reverse\"]}],\"flex-wrap\":[{flex:[\"wrap\",\"wrap-reverse\",\"nowrap\"]}],flex:[{flex:[\"1\",\"auto\",\"initial\",\"none\",B]}],grow:[{grow:T()}],shrink:[{shrink:T()}],order:[{order:[\"first\",\"last\",\"none\",F,B]}],\"grid-cols\":[{\"grid-cols\":[q]}],\"col-start-end\":[{col:[\"auto\",{span:[\"full\",F,B]},B]}],\"col-start\":[{\"col-start\":N()}],\"col-end\":[{\"col-end\":N()}],\"grid-rows\":[{\"grid-rows\":[q]}],\"row-start-end\":[{row:[\"auto\",{span:[F,B]},B]}],\"row-start\":[{\"row-start\":N()}],\"row-end\":[{\"row-end\":N()}],\"grid-flow\":[{\"grid-flow\":[\"row\",\"col\",\"dense\",\"row-dense\",\"col-dense\"]}],\"auto-cols\":[{\"auto-cols\":[\"auto\",\"min\",\"max\",\"fr\",B]}],\"auto-rows\":[{\"auto-rows\":[\"auto\",\"min\",\"max\",\"fr\",B]}],gap:[{gap:[f]}],\"gap-x\":[{\"gap-x\":[f]}],\"gap-y\":[{\"gap-y\":[f]}],\"justify-content\":[{justify:[\"normal\",\"start\",\"end\",\"center\",\"between\",\"around\",\"evenly\",\"stretch\"]}],\"justify-items\":[{\"justify-items\":[\"start\",\"end\",\"center\",\"stretch\"]}],\"justify-self\":[{\"justify-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],\"align-content\":[{content:[\"normal\",\"start\",\"end\",\"center\",\"between\",\"around\",\"evenly\",\"stretch\",\"baseline\"]}],\"align-items\":[{items:[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"align-self\":[{self:[\"auto\",\"start\",\"end\",\"center\",\"stretch\",\"baseline\"]}],\"place-content\":[{\"place-content\":[\"start\",\"end\",\"center\",\"between\",\"around\",\"evenly\",\"stretch\",\"baseline\"]}],\"place-items\":[{\"place-items\":[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"place-self\":[{\"place-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],\"space-x\":[{\"space-x\":[k]}],\"space-x-reverse\":[\"space-x-reverse\"],\"space-y\":[{\"space-y\":[k]}],\"space-y-reverse\":[\"space-y-reverse\"],w:[{w:[\"auto\",\"min\",\"max\",\"fit\",\"svw\",\"lvw\",\"dvw\",B,t]}],\"min-w\":[{\"min-w\":[B,t,\"min\",\"max\",\"fit\"]}],\"max-w\":[{\"max-w\":[B,t,\"none\",\"full\",\"min\",\"max\",\"fit\",\"prose\",{screen:[W]},W]}],h:[{h:[B,t,\"auto\",\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"min-h\":[{\"min-h\":[B,t,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"max-h\":[{\"max-h\":[B,t,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],size:[{size:[B,t,\"auto\",\"min\",\"max\",\"fit\"]}],\"font-size\":[{text:[\"base\",W,A]}],\"font-smoothing\":[\"antialiased\",\"subpixel-antialiased\"],\"font-style\":[\"italic\",\"not-italic\"],\"font-weight\":[{font:[\"thin\",\"extralight\",\"light\",\"normal\",\"medium\",\"semibold\",\"bold\",\"extrabold\",\"black\",L]}],\"font-family\":[{font:[q]}],\"fvn-normal\":[\"normal-nums\"],\"fvn-ordinal\":[\"ordinal\"],\"fvn-slashed-zero\":[\"slashed-zero\"],\"fvn-figure\":[\"lining-nums\",\"oldstyle-nums\"],\"fvn-spacing\":[\"proportional-nums\",\"tabular-nums\"],\"fvn-fraction\":[\"diagonal-fractions\",\"stacked-fractons\"],tracking:[{tracking:[\"tighter\",\"tight\",\"normal\",\"wide\",\"wider\",\"widest\",B]}],\"line-clamp\":[{\"line-clamp\":[\"none\",I,L]}],leading:[{leading:[\"none\",\"tight\",\"snug\",\"normal\",\"relaxed\",\"loose\",j,B]}],\"list-image\":[{\"list-image\":[\"none\",B]}],\"list-style-type\":[{list:[\"none\",\"disc\",\"decimal\",B]}],\"list-style-position\":[{list:[\"inside\",\"outside\"]}],\"placeholder-color\":[{placeholder:[e]}],\"placeholder-opacity\":[{\"placeholder-opacity\":[y]}],\"text-alignment\":[{text:[\"left\",\"center\",\"right\",\"justify\",\"start\",\"end\"]}],\"text-color\":[{text:[e]}],\"text-opacity\":[{\"text-opacity\":[y]}],\"text-decoration\":[\"underline\",\"overline\",\"line-through\",\"no-underline\"],\"text-decoration-style\":[{decoration:[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\",\"wavy\"]}],\"text-decoration-thickness\":[{decoration:[\"auto\",\"from-font\",j,A]}],\"underline-offset\":[{\"underline-offset\":[\"auto\",j,B]}],\"text-decoration-color\":[{decoration:[e]}],\"text-transform\":[\"uppercase\",\"lowercase\",\"capitalize\",\"normal-case\"],\"text-overflow\":[\"truncate\",\"text-ellipsis\",\"text-clip\"],\"text-wrap\":[{text:[\"wrap\",\"nowrap\",\"balance\",\"pretty\"]}],indent:[{indent:P()}],\"vertical-align\":[{align:[\"baseline\",\"top\",\"middle\",\"bottom\",\"text-top\",\"text-bottom\",\"sub\",\"super\",B]}],whitespace:[{whitespace:[\"normal\",\"nowrap\",\"pre\",\"pre-line\",\"pre-wrap\",\"break-spaces\"]}],break:[{break:[\"normal\",\"words\",\"all\",\"keep\"]}],hyphens:[{hyphens:[\"none\",\"manual\",\"auto\"]}],content:[{content:[\"none\",B]}],\"bg-attachment\":[{bg:[\"fixed\",\"local\",\"scroll\"]}],\"bg-clip\":[{\"bg-clip\":[\"border\",\"padding\",\"content\",\"text\"]}],\"bg-opacity\":[{\"bg-opacity\":[y]}],\"bg-origin\":[{\"bg-origin\":[\"border\",\"padding\",\"content\"]}],\"bg-position\":[{bg:[\"bottom\",\"center\",\"left\",\"left-bottom\",\"left-top\",\"right\",\"right-bottom\",\"right-top\",\"top\",$]}],\"bg-repeat\":[{bg:[\"no-repeat\",{repeat:[\"\",\"x\",\"y\",\"round\",\"space\"]}]}],\"bg-size\":[{bg:[\"auto\",\"cover\",\"contain\",U]}],\"bg-image\":[{bg:[\"none\",{\"gradient-to\":[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"]},H]}],\"bg-color\":[{bg:[e]}],\"gradient-from-pos\":[{from:[h]}],\"gradient-via-pos\":[{via:[h]}],\"gradient-to-pos\":[{to:[h]}],\"gradient-from\":[{from:[m]}],\"gradient-via\":[{via:[m]}],\"gradient-to\":[{to:[m]}],rounded:[{rounded:[i]}],\"rounded-s\":[{\"rounded-s\":[i]}],\"rounded-e\":[{\"rounded-e\":[i]}],\"rounded-t\":[{\"rounded-t\":[i]}],\"rounded-r\":[{\"rounded-r\":[i]}],\"rounded-b\":[{\"rounded-b\":[i]}],\"rounded-l\":[{\"rounded-l\":[i]}],\"rounded-ss\":[{\"rounded-ss\":[i]}],\"rounded-se\":[{\"rounded-se\":[i]}],\"rounded-ee\":[{\"rounded-ee\":[i]}],\"rounded-es\":[{\"rounded-es\":[i]}],\"rounded-tl\":[{\"rounded-tl\":[i]}],\"rounded-tr\":[{\"rounded-tr\":[i]}],\"rounded-br\":[{\"rounded-br\":[i]}],\"rounded-bl\":[{\"rounded-bl\":[i]}],\"border-w\":[{border:[a]}],\"border-w-x\":[{\"border-x\":[a]}],\"border-w-y\":[{\"border-y\":[a]}],\"border-w-s\":[{\"border-s\":[a]}],\"border-w-e\":[{\"border-e\":[a]}],\"border-w-t\":[{\"border-t\":[a]}],\"border-w-r\":[{\"border-r\":[a]}],\"border-w-b\":[{\"border-b\":[a]}],\"border-w-l\":[{\"border-l\":[a]}],\"border-opacity\":[{\"border-opacity\":[y]}],\"border-style\":[{border:[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\",\"hidden\"]}],\"divide-x\":[{\"divide-x\":[a]}],\"divide-x-reverse\":[\"divide-x-reverse\"],\"divide-y\":[{\"divide-y\":[a]}],\"divide-y-reverse\":[\"divide-y-reverse\"],\"divide-opacity\":[{\"divide-opacity\":[y]}],\"divide-style\":[{divide:[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\"]}],\"border-color\":[{border:[o]}],\"border-color-x\":[{\"border-x\":[o]}],\"border-color-y\":[{\"border-y\":[o]}],\"border-color-t\":[{\"border-t\":[o]}],\"border-color-r\":[{\"border-r\":[o]}],\"border-color-b\":[{\"border-b\":[o]}],\"border-color-l\":[{\"border-l\":[o]}],\"divide-color\":[{divide:[o]}],\"outline-style\":[{outline:[\"\",\"solid\",\"dashed\",\"dotted\",\"double\",\"none\"]}],\"outline-offset\":[{\"outline-offset\":[j,B]}],\"outline-w\":[{outline:[j,A]}],\"outline-color\":[{outline:[e]}],\"ring-w\":[{ring:O()}],\"ring-w-inset\":[\"ring-inset\"],\"ring-color\":[{ring:[e]}],\"ring-opacity\":[{\"ring-opacity\":[y]}],\"ring-offset-w\":[{\"ring-offset\":[j,A]}],\"ring-offset-color\":[{\"ring-offset\":[e]}],shadow:[{shadow:[\"\",\"inner\",\"none\",W,K]}],\"shadow-color\":[{shadow:[q]}],opacity:[{opacity:[y]}],\"mix-blend\":[{\"mix-blend\":[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\",\"plus-lighter\",\"plus-darker\"]}],\"bg-blend\":[{\"bg-blend\":[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\"]}],filter:[{filter:[\"\",\"none\"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],\"drop-shadow\":[{\"drop-shadow\":[\"\",\"none\",W,B]}],grayscale:[{grayscale:[c]}],\"hue-rotate\":[{\"hue-rotate\":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[b]}],sepia:[{sepia:[w]}],\"backdrop-filter\":[{\"backdrop-filter\":[\"\",\"none\"]}],\"backdrop-blur\":[{\"backdrop-blur\":[n]}],\"backdrop-brightness\":[{\"backdrop-brightness\":[r]}],\"backdrop-contrast\":[{\"backdrop-contrast\":[l]}],\"backdrop-grayscale\":[{\"backdrop-grayscale\":[c]}],\"backdrop-hue-rotate\":[{\"backdrop-hue-rotate\":[u]}],\"backdrop-invert\":[{\"backdrop-invert\":[d]}],\"backdrop-opacity\":[{\"backdrop-opacity\":[y]}],\"backdrop-saturate\":[{\"backdrop-saturate\":[b]}],\"backdrop-sepia\":[{\"backdrop-sepia\":[w]}],\"border-collapse\":[{border:[\"collapse\",\"separate\"]}],\"border-spacing\":[{\"border-spacing\":[s]}],\"border-spacing-x\":[{\"border-spacing-x\":[s]}],\"border-spacing-y\":[{\"border-spacing-y\":[s]}],\"table-layout\":[{table:[\"auto\",\"fixed\"]}],caption:[{caption:[\"top\",\"bottom\"]}],transition:[{transition:[\"none\",\"all\",\"\",\"colors\",\"opacity\",\"shadow\",\"transform\",B]}],duration:[{duration:M()}],ease:[{ease:[\"linear\",\"in\",\"out\",\"in-out\",B]}],delay:[{delay:M()}],animate:[{animate:[\"none\",\"spin\",\"ping\",\"pulse\",\"bounce\",B]}],transform:[{transform:[\"\",\"gpu\",\"none\"]}],scale:[{scale:[x]}],\"scale-x\":[{\"scale-x\":[x]}],\"scale-y\":[{\"scale-y\":[x]}],rotate:[{rotate:[F,B]}],\"translate-x\":[{\"translate-x\":[E]}],\"translate-y\":[{\"translate-y\":[E]}],\"skew-x\":[{\"skew-x\":[S]}],\"skew-y\":[{\"skew-y\":[S]}],\"transform-origin\":[{origin:[\"center\",\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\",\"top-left\",B]}],accent:[{accent:[\"auto\",e]}],appearance:[{appearance:[\"none\",\"auto\"]}],cursor:[{cursor:[\"auto\",\"default\",\"pointer\",\"wait\",\"text\",\"move\",\"help\",\"not-allowed\",\"none\",\"context-menu\",\"progress\",\"cell\",\"crosshair\",\"vertical-text\",\"alias\",\"copy\",\"no-drop\",\"grab\",\"grabbing\",\"all-scroll\",\"col-resize\",\"row-resize\",\"n-resize\",\"e-resize\",\"s-resize\",\"w-resize\",\"ne-resize\",\"nw-resize\",\"se-resize\",\"sw-resize\",\"ew-resize\",\"ns-resize\",\"nesw-resize\",\"nwse-resize\",\"zoom-in\",\"zoom-out\",B]}],\"caret-color\":[{caret:[e]}],\"pointer-events\":[{\"pointer-events\":[\"none\",\"auto\"]}],resize:[{resize:[\"none\",\"y\",\"x\",\"\"]}],\"scroll-behavior\":[{scroll:[\"auto\",\"smooth\"]}],\"scroll-m\":[{\"scroll-m\":P()}],\"scroll-mx\":[{\"scroll-mx\":P()}],\"scroll-my\":[{\"scroll-my\":P()}],\"scroll-ms\":[{\"scroll-ms\":P()}],\"scroll-me\":[{\"scroll-me\":P()}],\"scroll-mt\":[{\"scroll-mt\":P()}],\"scroll-mr\":[{\"scroll-mr\":P()}],\"scroll-mb\":[{\"scroll-mb\":P()}],\"scroll-ml\":[{\"scroll-ml\":P()}],\"scroll-p\":[{\"scroll-p\":P()}],\"scroll-px\":[{\"scroll-px\":P()}],\"scroll-py\":[{\"scroll-py\":P()}],\"scroll-ps\":[{\"scroll-ps\":P()}],\"scroll-pe\":[{\"scroll-pe\":P()}],\"scroll-pt\":[{\"scroll-pt\":P()}],\"scroll-pr\":[{\"scroll-pr\":P()}],\"scroll-pb\":[{\"scroll-pb\":P()}],\"scroll-pl\":[{\"scroll-pl\":P()}],\"snap-align\":[{snap:[\"start\",\"end\",\"center\",\"align-none\"]}],\"snap-stop\":[{snap:[\"normal\",\"always\"]}],\"snap-type\":[{snap:[\"none\",\"x\",\"y\",\"both\"]}],\"snap-strictness\":[{snap:[\"mandatory\",\"proximity\"]}],touch:[{touch:[\"auto\",\"none\",\"manipulation\"]}],\"touch-x\":[{\"touch-pan\":[\"x\",\"left\",\"right\"]}],\"touch-y\":[{\"touch-pan\":[\"y\",\"up\",\"down\"]}],\"touch-pz\":[\"touch-pinch-zoom\"],select:[{select:[\"none\",\"text\",\"all\",\"auto\"]}],\"will-change\":[{\"will-change\":[\"auto\",\"scroll\",\"contents\",\"transform\",B]}],fill:[{fill:[e,\"none\"]}],\"stroke-w\":[{stroke:[j,A,L]}],stroke:[{stroke:[e,\"none\"]}],sr:[\"sr-only\",\"not-sr-only\"],\"forced-color-adjust\":[{\"forced-color-adjust\":[\"auto\",\"none\"]}]},conflictingClassGroups:{overflow:[\"overflow-x\",\"overflow-y\"],overscroll:[\"overscroll-x\",\"overscroll-y\"],inset:[\"inset-x\",\"inset-y\",\"start\",\"end\",\"top\",\"right\",\"bottom\",\"left\"],\"inset-x\":[\"right\",\"left\"],\"inset-y\":[\"top\",\"bottom\"],flex:[\"basis\",\"grow\",\"shrink\"],gap:[\"gap-x\",\"gap-y\"],p:[\"px\",\"py\",\"ps\",\"pe\",\"pt\",\"pr\",\"pb\",\"pl\"],px:[\"pr\",\"pl\"],py:[\"pt\",\"pb\"],m:[\"mx\",\"my\",\"ms\",\"me\",\"mt\",\"mr\",\"mb\",\"ml\"],mx:[\"mr\",\"ml\"],my:[\"mt\",\"mb\"],size:[\"w\",\"h\"],\"font-size\":[\"leading\"],\"fvn-normal\":[\"fvn-ordinal\",\"fvn-slashed-zero\",\"fvn-figure\",\"fvn-spacing\",\"fvn-fraction\"],\"fvn-ordinal\":[\"fvn-normal\"],\"fvn-slashed-zero\":[\"fvn-normal\"],\"fvn-figure\":[\"fvn-normal\"],\"fvn-spacing\":[\"fvn-normal\"],\"fvn-fraction\":[\"fvn-normal\"],\"line-clamp\":[\"display\",\"overflow\"],rounded:[\"rounded-s\",\"rounded-e\",\"rounded-t\",\"rounded-r\",\"rounded-b\",\"rounded-l\",\"rounded-ss\",\"rounded-se\",\"rounded-ee\",\"rounded-es\",\"rounded-tl\",\"rounded-tr\",\"rounded-br\",\"rounded-bl\"],\"rounded-s\":[\"rounded-ss\",\"rounded-es\"],\"rounded-e\":[\"rounded-se\",\"rounded-ee\"],\"rounded-t\":[\"rounded-tl\",\"rounded-tr\"],\"rounded-r\":[\"rounded-tr\",\"rounded-br\"],\"rounded-b\":[\"rounded-br\",\"rounded-bl\"],\"rounded-l\":[\"rounded-tl\",\"rounded-bl\"],\"border-spacing\":[\"border-spacing-x\",\"border-spacing-y\"],\"border-w\":[\"border-w-s\",\"border-w-e\",\"border-w-t\",\"border-w-r\",\"border-w-b\",\"border-w-l\"],\"border-w-x\":[\"border-w-r\",\"border-w-l\"],\"border-w-y\":[\"border-w-t\",\"border-w-b\"],\"border-color\":[\"border-color-t\",\"border-color-r\",\"border-color-b\",\"border-color-l\"],\"border-color-x\":[\"border-color-r\",\"border-color-l\"],\"border-color-y\":[\"border-color-t\",\"border-color-b\"],\"scroll-m\":[\"scroll-mx\",\"scroll-my\",\"scroll-ms\",\"scroll-me\",\"scroll-mt\",\"scroll-mr\",\"scroll-mb\",\"scroll-ml\"],\"scroll-mx\":[\"scroll-mr\",\"scroll-ml\"],\"scroll-my\":[\"scroll-mt\",\"scroll-mb\"],\"scroll-p\":[\"scroll-px\",\"scroll-py\",\"scroll-ps\",\"scroll-pe\",\"scroll-pt\",\"scroll-pr\",\"scroll-pb\",\"scroll-pl\"],\"scroll-px\":[\"scroll-pr\",\"scroll-pl\"],\"scroll-py\":[\"scroll-pt\",\"scroll-pb\"],touch:[\"touch-x\",\"touch-y\",\"touch-pz\"],\"touch-x\":[\"touch\"],\"touch-y\":[\"touch\"],\"touch-pz\":[\"touch\"]},conflictingClassGroupModifiers:{\"font-size\":[\"leading\"]}}}),te=E(ee);function ne(e){var t,n,r=\"\";if(\"string\"==typeof e||\"number\"==typeof e)r+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;tsvg]:size-4\",sm:\"p-2 rounded [&>svg]:size-4 gap-0.5\",md:\"p-2.5 rounded-md text-sm [&>svg]:size-5 gap-1\",lg:\"p-3 rounded-lg text-base [&>svg]:size-6 gap-1\"})||void 0===o?void 0:o[u],R=null,D=\"\";S&&(D=\"flex items-center justify-center\",\"left\"===E?i=S:R=S);var j=h;return l().createElement(j,ce({ref:t,type:f,className:oe(D,\"outline outline-1 border-none cursor-pointer transition-colors duration-300 ease-in-out text-xs font-semibold focus:ring-2 focus:ring-toggle-on focus:ring-offset-2 disabled:text-text-disabled\",M,N,T,O,p),disabled:v},P),i,l().createElement(\"span\",{className:\"px-1\"},g),R)})),de=ue;let fe=(e=21)=>{let t=\"\",n=crypto.getRandomValues(new Uint8Array(e));for(;e--;)t+=\"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\"[63&n[e]];return t};var me=[\"id\",\"onChange\",\"value\",\"defaultValue\",\"size\",\"disabled\",\"label\",\"name\",\"className\"];function he(){return he=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.filter(((e,t,n)=>Boolean(e)&&n.indexOf(e)===t)).join(\" \");var we={xmlns:\"http://www.w3.org/2000/svg\",width:24,height:24,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\"};const Se=(0,a.forwardRef)((({color:e=\"currentColor\",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:o=\"\",children:i,iconNode:s,...l},c)=>(0,a.createElement)(\"svg\",{ref:c,...we,width:t,height:t,stroke:e,strokeWidth:r?24*Number(n)/Number(t):n,className:xe(\"lucide\",o),...l},[...s.map((([e,t])=>(0,a.createElement)(e,t))),...Array.isArray(i)?i:[i]]))),ke=(e,t)=>{const n=(0,a.forwardRef)((({className:n,...r},o)=>{return(0,a.createElement)(Se,{ref:o,iconNode:t,className:xe(`lucide-${i=e,i.replace(/([a-z0-9])([A-Z])/g,\"$1-$2\").toLowerCase()}`,n),...r});var i}));return n.displayName=`${e}`,n},Ee=ke(\"Minus\",[[\"path\",{d:\"M5 12h14\",key:\"1ays0h\"}]]),Ce=ke(\"Check\",[[\"path\",{d:\"M20 6 9 17l-5-5\",key:\"1gmf2c\"}]]);var _e=[\"id\",\"label\",\"defaultChecked\",\"checked\",\"onChange\",\"value\",\"indeterminate\",\"disabled\",\"size\"];function Pe(){return Pe=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:size-4\",sm:\"py-1 px-1.5 text-base gap-1 [&>svg]:size-4\",md:\"py-2 px-2.5 text-base gap-1 [&>svg]:size-5\",lg:\"py-2.5 px-3 text-base gap-1 [&>svg]:size-6\"};function Le(e){return Be(e)?(e.nodeName||\"\").toLowerCase():\"#document\"}function Fe(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function ze(e){var t;return null==(t=(Be(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function Be(e){return e instanceof Node||e instanceof Fe(e).Node}function We(e){return e instanceof Element||e instanceof Fe(e).Element}function Ve(e){return e instanceof HTMLElement||e instanceof Fe(e).HTMLElement}function Ue(e){return\"undefined\"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof Fe(e).ShadowRoot)}function $e(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=Xe(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&![\"inline\",\"contents\"].includes(o)}function Ye(e){return[\"table\",\"td\",\"th\"].includes(Le(e))}function He(e){return[\":popover-open\",\":modal\"].some((t=>{try{return e.matches(t)}catch(e){return!1}}))}function Ke(e){const t=qe(),n=We(e)?Xe(e):e;return\"none\"!==n.transform||\"none\"!==n.perspective||!!n.containerType&&\"normal\"!==n.containerType||!t&&!!n.backdropFilter&&\"none\"!==n.backdropFilter||!t&&!!n.filter&&\"none\"!==n.filter||[\"transform\",\"perspective\",\"filter\"].some((e=>(n.willChange||\"\").includes(e)))||[\"paint\",\"layout\",\"strict\",\"content\"].some((e=>(n.contain||\"\").includes(e)))}function qe(){return!(\"undefined\"==typeof CSS||!CSS.supports)&&CSS.supports(\"-webkit-backdrop-filter\",\"none\")}function Ge(e){return[\"html\",\"body\",\"#document\"].includes(Le(e))}function Xe(e){return Fe(e).getComputedStyle(e)}function Ze(e){return We(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Je(e){if(\"html\"===Le(e))return e;const t=e.assignedSlot||e.parentNode||Ue(e)&&e.host||ze(e);return Ue(t)?t.host:t}function Qe(e){const t=Je(e);return Ge(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ve(t)&&$e(t)?t:Qe(t)}function et(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);const o=Qe(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),s=Fe(o);if(i){const e=tt(s);return t.concat(s,s.visualViewport||[],$e(o)?o:[],e&&n?et(e):[])}return t.concat(o,et(o,[],n))}function tt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function nt(e){let t=e.activeElement;for(;null!=(null==(n=t)||null==(n=n.shadowRoot)?void 0:n.activeElement);){var n;t=t.shadowRoot.activeElement}return t}function rt(e,t){if(!e||!t)return!1;const n=null==t.getRootNode?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&Ue(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function ot(){const e=navigator.userAgentData;return null!=e&&e.platform?e.platform:navigator.platform}function it(){const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map((e=>{let{brand:t,version:n}=e;return t+\"/\"+n})).join(\" \"):navigator.userAgent}function st(e){return!(0!==e.mozInputSource||!e.isTrusted)||(ct()&&e.pointerType?\"click\"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType)}function at(e){return!it().includes(\"jsdom/\")&&(!ct()&&0===e.width&&0===e.height||ct()&&1===e.width&&1===e.height&&0===e.pressure&&0===e.detail&&\"mouse\"===e.pointerType||e.width<1&&e.height<1&&0===e.pressure&&0===e.detail&&\"touch\"===e.pointerType)}function lt(){return/apple/i.test(navigator.vendor)}function ct(){const e=/android/i;return e.test(ot())||e.test(it())}function ut(){return ot().toLowerCase().startsWith(\"mac\")&&!navigator.maxTouchPoints}function dt(e,t){const n=[\"mouse\",\"pen\"];return t||n.push(\"\",void 0),n.includes(e)}function ft(e){return(null==e?void 0:e.ownerDocument)||document}function mt(e,t){if(null==t)return!1;if(\"composedPath\"in e)return e.composedPath().includes(t);const n=e;return null!=n.target&&t.contains(n.target)}function ht(e){return\"composedPath\"in e?e.composedPath()[0]:e.target}const pt=\"input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";function gt(e){return Ve(e)&&e.matches(pt)}function yt(e){e.preventDefault(),e.stopPropagation()}function vt(e){return!!e&&\"combobox\"===e.getAttribute(\"role\")&>(e)}const bt=Math.min,xt=Math.max,wt=Math.round,St=Math.floor,kt=e=>({x:e,y:e}),Et={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"},Ct={start:\"end\",end:\"start\"};function _t(e,t,n){return xt(e,bt(t,n))}function Pt(e,t){return\"function\"==typeof e?e(t):e}function Ot(e){return e.split(\"-\")[0]}function Nt(e){return e.split(\"-\")[1]}function Tt(e){return\"x\"===e?\"y\":\"x\"}function Mt(e){return\"y\"===e?\"height\":\"width\"}function Rt(e){return[\"top\",\"bottom\"].includes(Ot(e))?\"y\":\"x\"}function Dt(e){return Tt(Rt(e))}function jt(e){return e.replace(/start|end/g,(e=>Ct[e]))}function At(e){return e.replace(/left|right|bottom|top/g,(e=>Et[e]))}function It(e){return\"number\"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function Lt(e){const{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}var Ft=[\"input:not([inert])\",\"select:not([inert])\",\"textarea:not([inert])\",\"a[href]:not([inert])\",\"button:not([inert])\",\"[tabindex]:not(slot):not([inert])\",\"audio[controls]:not([inert])\",\"video[controls]:not([inert])\",'[contenteditable]:not([contenteditable=\"false\"]):not([inert])',\"details>summary:first-of-type:not([inert])\",\"details:not([inert])\"].join(\",\"),zt=\"undefined\"==typeof Element,Bt=zt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Wt=!zt&&Element.prototype.getRootNode?function(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}:function(e){return null==e?void 0:e.ownerDocument},Vt=function e(t,n){var r;void 0===n&&(n=!0);var o=null==t||null===(r=t.getAttribute)||void 0===r?void 0:r.call(t,\"inert\");return\"\"===o||\"true\"===o||n&&t&&e(t.parentNode)},Ut=function e(t,n,r){for(var o=[],i=Array.from(t);i.length;){var s=i.shift();if(!Vt(s,!1))if(\"SLOT\"===s.tagName){var a=s.assignedElements(),l=e(a.length?a:s.children,!0,r);r.flatten?o.push.apply(o,l):o.push({scopeParent:s,candidates:l})}else{Bt.call(s,Ft)&&r.filter(s)&&(n||!t.includes(s))&&o.push(s);var c=s.shadowRoot||\"function\"==typeof r.getShadowRoot&&r.getShadowRoot(s),u=!Vt(c,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(s));if(c&&u){var d=e(!0===c?s.children:c.children,!0,r);r.flatten?o.push.apply(o,d):o.push({scopeParent:s,candidates:d})}else i.unshift.apply(i,s.children)}}return o},$t=function(e){return!isNaN(parseInt(e.getAttribute(\"tabindex\"),10))},Yt=function(e){if(!e)throw new Error(\"No node provided\");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||function(e){var t,n=null==e||null===(t=e.getAttribute)||void 0===t?void 0:t.call(e,\"contenteditable\");return\"\"===n||\"true\"===n}(e))&&!$t(e)?0:e.tabIndex},Ht=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Kt=function(e){return\"INPUT\"===e.tagName},qt=function(e){var t=e.getBoundingClientRect(),n=t.width,r=t.height;return 0===n&&0===r},Gt=function(e,t){return!(t.disabled||Vt(t)||function(e){return Kt(e)&&\"hidden\"===e.type}(t)||function(e,t){var n=t.displayCheck,r=t.getShadowRoot;if(\"hidden\"===getComputedStyle(e).visibility)return!0;var o=Bt.call(e,\"details>summary:first-of-type\")?e.parentElement:e;if(Bt.call(o,\"details:not([open]) *\"))return!0;if(n&&\"full\"!==n&&\"legacy-full\"!==n){if(\"non-zero-area\"===n)return qt(e)}else{if(\"function\"==typeof r){for(var i=e;e;){var s=e.parentElement,a=Wt(e);if(s&&!s.shadowRoot&&!0===r(s))return qt(e);e=e.assignedSlot?e.assignedSlot:s||a===e.ownerDocument?s:a.host}e=i}if(function(e){var t,n,r,o,i=e&&Wt(e),s=null===(t=i)||void 0===t?void 0:t.host,a=!1;if(i&&i!==e)for(a=!!(null!==(n=s)&&void 0!==n&&null!==(r=n.ownerDocument)&&void 0!==r&&r.contains(s)||null!=e&&null!==(o=e.ownerDocument)&&void 0!==o&&o.contains(e));!a&&s;){var l,c,u;a=!(null===(c=s=null===(l=i=Wt(s))||void 0===l?void 0:l.host)||void 0===c||null===(u=c.ownerDocument)||void 0===u||!u.contains(s))}return a}(e))return!e.getClientRects().length;if(\"legacy-full\"!==n)return!0}return!1}(t,e)||function(e){return\"DETAILS\"===e.tagName&&Array.prototype.slice.apply(e.children).some((function(e){return\"SUMMARY\"===e.tagName}))}(t)||function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(\"FIELDSET\"===t.tagName&&t.disabled){for(var n=0;n=0)},Jt=function e(t){var n=[],r=[];return t.forEach((function(t,o){var i=!!t.scopeParent,s=i?t.scopeParent:t,a=function(e,t){var n=Yt(e);return n<0&&t&&!$t(e)?0:n}(s,i),l=i?e(t.candidates):s;0===a?i?n.push.apply(n,l):n.push(s):r.push({documentOrder:o,tabIndex:a,item:t,isScope:i,content:l})})),r.sort(Ht).reduce((function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e}),[]).concat(n)},Qt=function(e,t){var n;return n=(t=t||{}).getShadowRoot?Ut([e],t.includeContainer,{filter:Xt.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:Zt}):function(e,t,n){if(Vt(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(Ft));return t&&Bt.call(e,Ft)&&r.unshift(e),r.filter(n)}(e,t.includeContainer,Xt.bind(null,t)),Jt(n)},en=function(e,t){if(t=t||{},!e)throw new Error(\"No node provided\");return!1!==Bt.call(e,Ft)&&Xt(t,e)},tn=window.ReactDOM;function nn(e,t,n){let{reference:r,floating:o}=e;const i=Rt(t),s=Dt(t),a=Mt(s),l=Ot(t),c=\"y\"===i,u=r.x+r.width/2-o.width/2,d=r.y+r.height/2-o.height/2,f=r[a]/2-o[a]/2;let m;switch(l){case\"top\":m={x:u,y:r.y-o.height};break;case\"bottom\":m={x:u,y:r.y+r.height};break;case\"right\":m={x:r.x+r.width,y:d};break;case\"left\":m={x:r.x-o.width,y:d};break;default:m={x:r.x,y:r.y}}switch(Nt(t)){case\"start\":m[s]-=f*(n&&c?-1:1);break;case\"end\":m[s]+=f*(n&&c?-1:1)}return m}async function rn(e,t){var n;void 0===t&&(t={});const{x:r,y:o,platform:i,rects:s,elements:a,strategy:l}=e,{boundary:c=\"clippingAncestors\",rootBoundary:u=\"viewport\",elementContext:d=\"floating\",altBoundary:f=!1,padding:m=0}=Pt(t,e),h=It(m),p=a[f?\"floating\"===d?\"reference\":\"floating\":d],g=Lt(await i.getClippingRect({element:null==(n=await(null==i.isElement?void 0:i.isElement(p)))||n?p:p.contextElement||await(null==i.getDocumentElement?void 0:i.getDocumentElement(a.floating)),boundary:c,rootBoundary:u,strategy:l})),y=\"floating\"===d?{x:r,y:o,width:s.floating.width,height:s.floating.height}:s.reference,v=await(null==i.getOffsetParent?void 0:i.getOffsetParent(a.floating)),b=await(null==i.isElement?void 0:i.isElement(v))&&await(null==i.getScale?void 0:i.getScale(v))||{x:1,y:1},x=Lt(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:y,offsetParent:v,strategy:l}):y);return{top:(g.top-x.top+h.top)/b.y,bottom:(x.bottom-g.bottom+h.bottom)/b.y,left:(g.left-x.left+h.left)/b.x,right:(x.right-g.right+h.right)/b.x}}function on(e){const t=Xe(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Ve(e),i=o?e.offsetWidth:n,s=o?e.offsetHeight:r,a=wt(n)!==i||wt(r)!==s;return a&&(n=i,r=s),{width:n,height:r,$:a}}function sn(e){return We(e)?e:e.contextElement}function an(e){const t=sn(e);if(!Ve(t))return kt(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:i}=on(t);let s=(i?wt(n.width):n.width)/r,a=(i?wt(n.height):n.height)/o;return s&&Number.isFinite(s)||(s=1),a&&Number.isFinite(a)||(a=1),{x:s,y:a}}const ln=kt(0);function cn(e){const t=Fe(e);return qe()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:ln}function un(e,t,n,r){void 0===t&&(t=!1),void 0===n&&(n=!1);const o=e.getBoundingClientRect(),i=sn(e);let s=kt(1);t&&(r?We(r)&&(s=an(r)):s=an(e));const a=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==Fe(e))&&t}(i,n,r)?cn(i):kt(0);let l=(o.left+a.x)/s.x,c=(o.top+a.y)/s.y,u=o.width/s.x,d=o.height/s.y;if(i){const e=Fe(i),t=r&&We(r)?Fe(r):r;let n=e,o=tt(n);for(;o&&r&&t!==n;){const e=an(o),t=o.getBoundingClientRect(),r=Xe(o),i=t.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,s=t.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;l*=e.x,c*=e.y,u*=e.x,d*=e.y,l+=i,c+=s,n=Fe(o),o=tt(n)}}return Lt({width:u,height:d,x:l,y:c})}function dn(e){return un(ze(e)).left+Ze(e).scrollLeft}function fn(e,t,n){let r;if(\"viewport\"===t)r=function(e,t){const n=Fe(e),r=ze(e),o=n.visualViewport;let i=r.clientWidth,s=r.clientHeight,a=0,l=0;if(o){i=o.width,s=o.height;const e=qe();(!e||e&&\"fixed\"===t)&&(a=o.offsetLeft,l=o.offsetTop)}return{width:i,height:s,x:a,y:l}}(e,n);else if(\"document\"===t)r=function(e){const t=ze(e),n=Ze(e),r=e.ownerDocument.body,o=xt(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=xt(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let s=-n.scrollLeft+dn(e);const a=-n.scrollTop;return\"rtl\"===Xe(r).direction&&(s+=xt(t.clientWidth,r.clientWidth)-o),{width:o,height:i,x:s,y:a}}(ze(e));else if(We(t))r=function(e,t){const n=un(e,!0,\"fixed\"===t),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=Ve(e)?an(e):kt(1);return{width:e.clientWidth*i.x,height:e.clientHeight*i.y,x:o*i.x,y:r*i.y}}(t,n);else{const n=cn(e);r={...t,x:t.x-n.x,y:t.y-n.y}}return Lt(r)}function mn(e,t){const n=Je(e);return!(n===t||!We(n)||Ge(n))&&(\"fixed\"===Xe(n).position||mn(n,t))}function hn(e,t,n){const r=Ve(t),o=ze(t),i=\"fixed\"===n,s=un(e,!0,i,t);let a={scrollLeft:0,scrollTop:0};const l=kt(0);if(r||!r&&!i)if((\"body\"!==Le(t)||$e(o))&&(a=Ze(t)),r){const e=un(t,!0,i,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else o&&(l.x=dn(o));return{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function pn(e){return\"static\"===Xe(e).position}function gn(e,t){return Ve(e)&&\"fixed\"!==Xe(e).position?t?t(e):e.offsetParent:null}function yn(e,t){const n=Fe(e);if(He(e))return n;if(!Ve(e)){let t=Je(e);for(;t&&!Ge(t);){if(We(t)&&!pn(t))return t;t=Je(t)}return n}let r=gn(e,t);for(;r&&Ye(r)&&pn(r);)r=gn(r,t);return r&&Ge(r)&&pn(r)&&!Ke(r)?n:r||function(e){let t=Je(e);for(;Ve(t)&&!Ge(t);){if(Ke(t))return t;if(He(t))return null;t=Je(t)}return null}(e)||n}const vn={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const i=\"fixed\"===o,s=ze(r),a=!!t&&He(t.floating);if(r===s||a&&i)return n;let l={scrollLeft:0,scrollTop:0},c=kt(1);const u=kt(0),d=Ve(r);if((d||!d&&!i)&&((\"body\"!==Le(r)||$e(s))&&(l=Ze(r)),Ve(r))){const e=un(r);c=an(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+u.x,y:n.y*c.y-l.scrollTop*c.y+u.y}},getDocumentElement:ze,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const i=[...\"clippingAncestors\"===n?He(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let r=et(e,[],!1).filter((e=>We(e)&&\"body\"!==Le(e))),o=null;const i=\"fixed\"===Xe(e).position;let s=i?Je(e):e;for(;We(s)&&!Ge(s);){const t=Xe(s),n=Ke(s);n||\"fixed\"!==t.position||(o=null),(i?!n&&!o:!n&&\"static\"===t.position&&o&&[\"absolute\",\"fixed\"].includes(o.position)||$e(s)&&!n&&mn(e,s))?r=r.filter((e=>e!==s)):o=t,s=Je(s)}return t.set(e,r),r}(t,this._c):[].concat(n),r],s=i[0],a=i.reduce(((e,n)=>{const r=fn(t,n,o);return e.top=xt(r.top,e.top),e.right=bt(r.right,e.right),e.bottom=bt(r.bottom,e.bottom),e.left=xt(r.left,e.left),e}),fn(t,s,o));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}},getOffsetParent:yn,getElementRects:async function(e){const t=this.getOffsetParent||yn,n=this.getDimensions,r=await n(e.floating);return{reference:hn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=on(e);return{width:t,height:n}},getScale:an,isElement:We,isRTL:function(e){return\"rtl\"===Xe(e).direction}};function bn(e,t,n,r){void 0===r&&(r={});const{ancestorScroll:o=!0,ancestorResize:i=!0,elementResize:s=\"function\"==typeof ResizeObserver,layoutShift:a=\"function\"==typeof IntersectionObserver,animationFrame:l=!1}=r,c=sn(e),u=o||i?[...c?et(c):[],...et(t)]:[];u.forEach((e=>{o&&e.addEventListener(\"scroll\",n,{passive:!0}),i&&e.addEventListener(\"resize\",n)}));const d=c&&a?function(e,t){let n,r=null;const o=ze(e);function i(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return function s(a,l){void 0===a&&(a=!1),void 0===l&&(l=1),i();const{left:c,top:u,width:d,height:f}=e.getBoundingClientRect();if(a||t(),!d||!f)return;const m={rootMargin:-St(u)+\"px \"+-St(o.clientWidth-(c+d))+\"px \"+-St(o.clientHeight-(u+f))+\"px \"+-St(c)+\"px\",threshold:xt(0,bt(1,l))||1};let h=!0;function p(e){const t=e[0].intersectionRatio;if(t!==l){if(!h)return s();t?s(!1,t):n=setTimeout((()=>{s(!1,1e-7)}),1e3)}h=!1}try{r=new IntersectionObserver(p,{...m,root:o.ownerDocument})}catch(e){r=new IntersectionObserver(p,m)}r.observe(e)}(!0),i}(c,n):null;let f,m=-1,h=null;s&&(h=new ResizeObserver((e=>{let[r]=e;r&&r.target===c&&h&&(h.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame((()=>{var e;null==(e=h)||e.observe(t)}))),n()})),c&&!l&&h.observe(c),h.observe(t));let p=l?un(e):null;return l&&function t(){const r=un(e);!p||r.x===p.x&&r.y===p.y&&r.width===p.width&&r.height===p.height||n(),p=r,f=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach((e=>{o&&e.removeEventListener(\"scroll\",n),i&&e.removeEventListener(\"resize\",n)})),null==d||d(),null==(e=h)||e.disconnect(),h=null,l&&cancelAnimationFrame(f)}}const xn=function(e){return void 0===e&&(e=0),{name:\"offset\",options:e,async fn(t){var n,r;const{x:o,y:i,placement:s,middlewareData:a}=t,l=await async function(e,t){const{placement:n,platform:r,elements:o}=e,i=await(null==r.isRTL?void 0:r.isRTL(o.floating)),s=Ot(n),a=Nt(n),l=\"y\"===Rt(n),c=[\"left\",\"top\"].includes(s)?-1:1,u=i&&l?-1:1,d=Pt(t,e);let{mainAxis:f,crossAxis:m,alignmentAxis:h}=\"number\"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...d};return a&&\"number\"==typeof h&&(m=\"end\"===a?-1*h:h),l?{x:m*u,y:f*c}:{x:f*c,y:m*u}}(t,e);return s===(null==(n=a.offset)?void 0:n.placement)&&null!=(r=a.arrow)&&r.alignmentOffset?{}:{x:o+l.x,y:i+l.y,data:{...l,placement:s}}}}},wn=function(e){return void 0===e&&(e={}),{name:\"shift\",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:i=!0,crossAxis:s=!1,limiter:a={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Pt(e,t),c={x:n,y:r},u=await rn(t,l),d=Rt(Ot(o)),f=Tt(d);let m=c[f],h=c[d];if(i){const e=\"y\"===f?\"bottom\":\"right\";m=_t(m+u[\"y\"===f?\"top\":\"left\"],m,m-u[e])}if(s){const e=\"y\"===d?\"bottom\":\"right\";h=_t(h+u[\"y\"===d?\"top\":\"left\"],h,h-u[e])}const p=a.fn({...t,[f]:m,[d]:h});return{...p,data:{x:p.x-n,y:p.y-r}}}}},Sn=function(e){return void 0===e&&(e={}),{name:\"flip\",options:e,async fn(t){var n,r;const{placement:o,middlewareData:i,rects:s,initialPlacement:a,platform:l,elements:c}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:f,fallbackStrategy:m=\"bestFit\",fallbackAxisSideDirection:h=\"none\",flipAlignment:p=!0,...g}=Pt(e,t);if(null!=(n=i.arrow)&&n.alignmentOffset)return{};const y=Ot(o),v=Rt(a),b=Ot(a)===a,x=await(null==l.isRTL?void 0:l.isRTL(c.floating)),w=f||(b||!p?[At(a)]:function(e){const t=At(e);return[jt(e),t,jt(t)]}(a)),S=\"none\"!==h;!f&&S&&w.push(...function(e,t,n,r){const o=Nt(e);let i=function(e,t,n){const r=[\"left\",\"right\"],o=[\"right\",\"left\"],i=[\"top\",\"bottom\"],s=[\"bottom\",\"top\"];switch(e){case\"top\":case\"bottom\":return n?t?o:r:t?r:o;case\"left\":case\"right\":return t?i:s;default:return[]}}(Ot(e),\"start\"===n,r);return o&&(i=i.map((e=>e+\"-\"+o)),t&&(i=i.concat(i.map(jt)))),i}(a,p,h,x));const k=[a,...w],E=await rn(t,g),C=[];let _=(null==(r=i.flip)?void 0:r.overflows)||[];if(u&&C.push(E[y]),d){const e=function(e,t,n){void 0===n&&(n=!1);const r=Nt(e),o=Dt(e),i=Mt(o);let s=\"x\"===o?r===(n?\"end\":\"start\")?\"right\":\"left\":\"start\"===r?\"bottom\":\"top\";return t.reference[i]>t.floating[i]&&(s=At(s)),[s,At(s)]}(o,s,x);C.push(E[e[0]],E[e[1]])}if(_=[..._,{placement:o,overflows:C}],!C.every((e=>e<=0))){var P,O;const e=((null==(P=i.flip)?void 0:P.index)||0)+1,t=k[e];if(t)return{data:{index:e,overflows:_},reset:{placement:t}};let n=null==(O=_.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:O.placement;if(!n)switch(m){case\"bestFit\":{var N;const e=null==(N=_.filter((e=>{if(S){const t=Rt(e.placement);return t===v||\"y\"===t}return!0})).map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:N[0];e&&(n=e);break}case\"initialPlacement\":n=a}if(o!==n)return{reset:{placement:n}}}return{}}}},kn=function(e){return void 0===e&&(e={}),{name:\"size\",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:i}=t,{apply:s=()=>{},...a}=Pt(e,t),l=await rn(t,a),c=Ot(n),u=Nt(n),d=\"y\"===Rt(n),{width:f,height:m}=r.floating;let h,p;\"top\"===c||\"bottom\"===c?(h=c,p=u===(await(null==o.isRTL?void 0:o.isRTL(i.floating))?\"start\":\"end\")?\"left\":\"right\"):(p=c,h=\"end\"===u?\"top\":\"bottom\");const g=m-l.top-l.bottom,y=f-l.left-l.right,v=bt(m-l[h],g),b=bt(f-l[p],y),x=!t.middlewareData.shift;let w=v,S=b;if(d?S=u||x?bt(b,y):y:w=u||x?bt(v,g):g,x&&!u){const e=xt(l.left,0),t=xt(l.right,0),n=xt(l.top,0),r=xt(l.bottom,0);d?S=f-2*(0!==e||0!==t?e+t:xt(l.left,l.right)):w=m-2*(0!==n||0!==r?n+r:xt(l.top,l.bottom))}await s({...t,availableWidth:S,availableHeight:w});const k=await o.getDimensions(i.floating);return f!==k.width||m!==k.height?{reset:{rects:!0}}:{}}}},En=e=>({name:\"arrow\",options:e,async fn(t){const{x:n,y:r,placement:o,rects:i,platform:s,elements:a,middlewareData:l}=t,{element:c,padding:u=0}=Pt(e,t)||{};if(null==c)return{};const d=It(u),f={x:n,y:r},m=Dt(o),h=Mt(m),p=await s.getDimensions(c),g=\"y\"===m,y=g?\"top\":\"left\",v=g?\"bottom\":\"right\",b=g?\"clientHeight\":\"clientWidth\",x=i.reference[h]+i.reference[m]-f[m]-i.floating[h],w=f[m]-i.reference[m],S=await(null==s.getOffsetParent?void 0:s.getOffsetParent(c));let k=S?S[b]:0;k&&await(null==s.isElement?void 0:s.isElement(S))||(k=a.floating[b]||i.floating[h]);const E=x/2-w/2,C=k/2-p[h]/2-1,_=bt(d[y],C),P=bt(d[v],C),O=_,N=k-p[h]-P,T=k/2-p[h]/2+E,M=_t(O,T,N),R=!l.arrow&&null!=Nt(o)&&T!==M&&i.reference[h]/2-(T{const r=new Map,o={platform:vn,...n},i={...o.platform,_c:r};return(async(e,t,n)=>{const{placement:r=\"bottom\",strategy:o=\"absolute\",middleware:i=[],platform:s}=n,a=i.filter(Boolean),l=await(null==s.isRTL?void 0:s.isRTL(t));let c=await s.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:d}=nn(c,r,l),f=r,m={},h=0;for(let n=0;n{t.current=e})),t}const Rn=e=>({name:\"arrow\",options:e,fn(t){const{element:n,padding:r}=\"function\"==typeof e?e(t):e;return n&&(o=n,{}.hasOwnProperty.call(o,\"current\"))?null!=n.current?En({element:n.current,padding:r}).fn(t):{}:n?En({element:n,padding:r}).fn(t):{};var o}}),Dn=(e,t)=>({...xn(e),options:[e,t]}),jn=(e,t)=>({...wn(e),options:[e,t]}),An=(e,t)=>({...Sn(e),options:[e,t]}),In=(e,t)=>({...kn(e),options:[e,t]}),Ln={...a},Fn=Ln.useInsertionEffect||(e=>e());function zn(e){const t=a.useRef((()=>{}));return Fn((()=>{t.current=e})),a.useCallback((function(){for(var e=arguments.length,n=new Array(e),r=0;r=e.current.length}function Hn(e,t){return qn(e,{disabledIndices:t})}function Kn(e,t){return qn(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function qn(e,t){let{startingIndex:n=-1,decrement:r=!1,disabledIndices:o,amount:i=1}=void 0===t?{}:t;const s=e.current;let a=n;do{a+=r?-i:i}while(a>=0&&a<=s.length-1&&Zn(s,a,o));return a}function Gn(e,t,n,r,o){if(-1===e)return-1;const i=n.indexOf(e),s=t[e];switch(o){case\"tl\":return i;case\"tr\":return s?i+s.width-1:i;case\"bl\":return s?i+(s.height-1)*r:i;case\"br\":return n.lastIndexOf(e)}}function Xn(e,t){return t.flatMap(((t,n)=>e.includes(t)?[n]:[]))}function Zn(e,t,n){if(n)return n.includes(t);const r=e[t];return null==r||r.hasAttribute(\"disabled\")||\"true\"===r.getAttribute(\"aria-disabled\")}let Jn=0;function Qn(e,t){void 0===t&&(t={});const{preventScroll:n=!1,cancelPrevious:r=!0,sync:o=!1}=t;r&&cancelAnimationFrame(Jn);const i=()=>null==e?void 0:e.focus({preventScroll:n});o?i():Jn=requestAnimationFrame(i)}var er=\"undefined\"!=typeof document?a.useLayoutEffect:a.useEffect;function tr(){return tr=Object.assign?Object.assign.bind():function(e){for(var t=1;t\"floating-ui-\"+Math.random().toString(36).slice(2,6)+rr++,ir=Ln.useId||function(){const[e,t]=a.useState((()=>nr?or():void 0));return er((()=>{null==e&&t(or())}),[]),a.useEffect((()=>{nr=!0}),[]),e},sr=a.forwardRef((function(e,t){const{context:{placement:n,elements:{floating:r},middlewareData:{arrow:o,shift:i}},width:s=14,height:l=7,tipRadius:c=0,strokeWidth:u=0,staticOffset:d,stroke:f,d:m,style:{transform:h,...p}={},...g}=e,y=ir(),[v,b]=a.useState(!1);if(er((()=>{r&&\"rtl\"===Xe(r).direction&&b(!0)}),[r]),!r)return null;const[x,w]=n.split(\"-\"),S=\"top\"===x||\"bottom\"===x;let k=d;(S&&null!=i&&i.x||!S&&null!=i&&i.y)&&(k=null);const E=2*u,C=E/2,_=s/2*(c/-8+1),P=l/2*c/4,O=!!m,N=k&&\"end\"===w?\"bottom\":\"top\";let T=k&&\"end\"===w?\"right\":\"left\";k&&v&&(T=\"end\"===w?\"left\":\"right\");const M=null!=(null==o?void 0:o.x)?k||o.x:\"\",R=null!=(null==o?void 0:o.y)?k||o.y:\"\",D=m||\"M0,0 H\"+s+\" L\"+(s-_)+\",\"+(l-P)+\" Q\"+s/2+\",\"+l+\" \"+_+\",\"+(l-P)+\" Z\",j={top:O?\"rotate(180deg)\":\"\",left:O?\"rotate(90deg)\":\"rotate(-90deg)\",bottom:O?\"\":\"rotate(180deg)\",right:O?\"rotate(-90deg)\":\"rotate(90deg)\"}[x];return a.createElement(\"svg\",tr({},g,{\"aria-hidden\":!0,ref:t,width:O?s:s+E,height:s,viewBox:\"0 0 \"+s+\" \"+(l>s?l:s),style:{position:\"absolute\",pointerEvents:\"none\",[T]:M,[N]:R,[x]:S||O?\"100%\":\"calc(100% - \"+E/2+\"px)\",transform:\"\"+j+(null!=h?h:\"\"),...p}}),E>0&&a.createElement(\"path\",{clipPath:\"url(#\"+y+\")\",fill:\"none\",stroke:f,strokeWidth:E+(m?0:1),d:D}),a.createElement(\"path\",{stroke:E&&!m?g.fill:\"none\",d:D}),a.createElement(\"clipPath\",{id:y},a.createElement(\"rect\",{x:-C,y:C*(O?-1:1),width:s+E,height:s})))}));const ar=a.createContext(null),lr=a.createContext(null),cr=()=>{var e;return(null==(e=a.useContext(ar))?void 0:e.id)||null},ur=()=>a.useContext(lr);function dr(e){return\"data-floating-ui-\"+e}function fr(e){const t=(0,a.useRef)(e);return er((()=>{t.current=e})),t}const mr=dr(\"safe-polygon\");function hr(e,t,n){return n&&!dt(n)?0:\"number\"==typeof e?e:null==e?void 0:e[t]}function pr(e,t){let n=e.filter((e=>{var n;return e.parentId===t&&(null==(n=e.context)?void 0:n.open)})),r=n;for(;r.length;)r=e.filter((e=>{var t;return null==(t=r)?void 0:t.some((t=>{var n;return e.parentId===t.id&&(null==(n=e.context)?void 0:n.open)}))})),n=n.concat(r);return n}let gr=new WeakMap,yr=new WeakSet,vr={},br=0;const xr=()=>\"undefined\"!=typeof HTMLElement&&\"inert\"in HTMLElement.prototype,wr=e=>e&&(e.host||wr(e.parentNode)),Sr=(e,t)=>t.map((t=>{if(e.contains(t))return t;const n=wr(t);return e.contains(n)?n:null})).filter((e=>null!=e));function kr(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);const r=ft(e[0]).body;return function(e,t,n,r){const o=\"data-floating-ui-inert\",i=r?\"inert\":n?\"aria-hidden\":null,s=Sr(t,e),a=new Set,l=new Set(s),c=[];vr[o]||(vr[o]=new WeakMap);const u=vr[o];return s.forEach((function e(t){t&&!a.has(t)&&(a.add(t),t.parentNode&&e(t.parentNode))})),function e(t){t&&!l.has(t)&&[].forEach.call(t.children,(t=>{if(\"script\"!==Le(t))if(a.has(t))e(t);else{const e=i?t.getAttribute(i):null,n=null!==e&&\"false\"!==e,r=(gr.get(t)||0)+1,s=(u.get(t)||0)+1;gr.set(t,r),u.set(t,s),c.push(t),1===r&&n&&yr.add(t),1===s&&t.setAttribute(o,\"\"),!n&&i&&t.setAttribute(i,\"true\")}}))}(t),a.clear(),br++,()=>{c.forEach((e=>{const t=(gr.get(e)||0)-1,n=(u.get(e)||0)-1;gr.set(e,t),u.set(e,n),t||(!yr.has(e)&&i&&e.removeAttribute(i),yr.delete(e)),n||e.removeAttribute(o)})),br--,br||(gr=new WeakMap,gr=new WeakMap,yr=new WeakSet,vr={})}}(e.concat(Array.from(r.querySelectorAll(\"[aria-live]\"))),r,t,n)}const Er=()=>({getShadowRoot:!0,displayCheck:\"function\"==typeof ResizeObserver&&ResizeObserver.toString().includes(\"[native code]\")?\"full\":\"none\"});function Cr(e,t){const n=Qt(e,Er());\"prev\"===t&&n.reverse();const r=n.indexOf(nt(ft(e)));return n.slice(r+1)[0]}function _r(){return Cr(document.body,\"next\")}function Pr(){return Cr(document.body,\"prev\")}function Or(e,t){const n=t||e.currentTarget,r=e.relatedTarget;return!r||!rt(n,r)}function Nr(e){Qt(e,Er()).forEach((e=>{e.dataset.tabindex=e.getAttribute(\"tabindex\")||\"\",e.setAttribute(\"tabindex\",\"-1\")}))}function Tr(e){e.querySelectorAll(\"[data-tabindex]\").forEach((e=>{const t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute(\"tabindex\",t):e.removeAttribute(\"tabindex\")}))}const Mr={border:0,clip:\"rect(0 0 0 0)\",height:\"1px\",margin:\"-1px\",overflow:\"hidden\",padding:0,position:\"fixed\",whiteSpace:\"nowrap\",width:\"1px\",top:0,left:0};function Rr(e){\"Tab\"===e.key&&(e.target,clearTimeout(void 0))}const Dr=a.forwardRef((function(e,t){const[n,r]=a.useState();er((()=>(lt()&&r(\"button\"),document.addEventListener(\"keydown\",Rr),()=>{document.removeEventListener(\"keydown\",Rr)})),[]);const o={ref:t,tabIndex:0,role:n,\"aria-hidden\":!n||void 0,[dr(\"focus-guard\")]:\"\",style:Mr};return a.createElement(\"span\",tr({},e,o))})),jr=a.createContext(null),Ar=dr(\"portal\");function Ir(e){const{children:t,id:n,root:r=null,preserveTabOrder:o=!0}=e,i=function(e){void 0===e&&(e={});const{id:t,root:n}=e,r=ir(),o=Lr(),[i,s]=a.useState(null),l=a.useRef(null);return er((()=>()=>{null==i||i.remove(),queueMicrotask((()=>{l.current=null}))}),[i]),er((()=>{if(!r)return;if(l.current)return;const e=t?document.getElementById(t):null;if(!e)return;const n=document.createElement(\"div\");n.id=r,n.setAttribute(Ar,\"\"),e.appendChild(n),l.current=n,s(n)}),[t,r]),er((()=>{if(!r)return;if(l.current)return;let e=n||(null==o?void 0:o.portalNode);e&&!We(e)&&(e=e.current),e=e||document.body;let i=null;t&&(i=document.createElement(\"div\"),i.id=t,e.appendChild(i));const a=document.createElement(\"div\");a.id=r,a.setAttribute(Ar,\"\"),e=i||e,e.appendChild(a),l.current=a,s(a)}),[t,n,r,o]),i}({id:n,root:r}),[s,l]=a.useState(null),c=a.useRef(null),u=a.useRef(null),d=a.useRef(null),f=a.useRef(null),m=null==s?void 0:s.modal,h=null==s?void 0:s.open,p=!!s&&!s.modal&&s.open&&o&&!(!r&&!i);return a.useEffect((()=>{if(i&&o&&!m)return i.addEventListener(\"focusin\",e,!0),i.addEventListener(\"focusout\",e,!0),()=>{i.removeEventListener(\"focusin\",e,!0),i.removeEventListener(\"focusout\",e,!0)};function e(e){i&&Or(e)&&(\"focusin\"===e.type?Tr:Nr)(i)}}),[i,o,m]),a.useEffect((()=>{i&&(h||Tr(i))}),[h,i]),a.createElement(jr.Provider,{value:a.useMemo((()=>({preserveTabOrder:o,beforeOutsideRef:c,afterOutsideRef:u,beforeInsideRef:d,afterInsideRef:f,portalNode:i,setFocusManagerState:l})),[o,i])},p&&i&&a.createElement(Dr,{\"data-type\":\"outside\",ref:c,onFocus:e=>{if(Or(e,i)){var t;null==(t=d.current)||t.focus()}else{const e=Pr()||(null==s?void 0:s.refs.domReference.current);null==e||e.focus()}}}),p&&i&&a.createElement(\"span\",{\"aria-owns\":i.id,style:Mr}),i&&tn.createPortal(t,i),p&&i&&a.createElement(Dr,{\"data-type\":\"outside\",ref:u,onFocus:e=>{if(Or(e,i)){var t;null==(t=f.current)||t.focus()}else{const t=_r()||(null==s?void 0:s.refs.domReference.current);null==t||t.focus(),(null==s?void 0:s.closeOnFocusOut)&&(null==s||s.onOpenChange(!1,e.nativeEvent,\"focus-out\"))}}}))}const Lr=()=>a.useContext(jr),Fr=\"data-floating-ui-focusable\";function zr(e){return e?e.hasAttribute(Fr)?e:e.querySelector(\"[\"+Fr+\"]\")||e:null}const Br=20;let Wr=[];function Vr(e){Wr=Wr.filter((e=>e.isConnected));let t=e;if(t&&\"body\"!==Le(t)){if(!en(t,Er())){const e=Qt(t,Er())[0];e&&(t=e)}Wr.push(t),Wr.length>Br&&(Wr=Wr.slice(-Br))}}function Ur(){return Wr.slice().reverse().find((e=>e.isConnected))}const $r=a.forwardRef((function(e,t){return a.createElement(\"button\",tr({},e,{type:\"button\",ref:t,tabIndex:-1,style:Mr}))}));function Yr(e){const{context:t,children:n,disabled:r=!1,order:o=[\"content\"],guards:i=!0,initialFocus:s=0,returnFocus:l=!0,restoreFocus:c=!1,modal:u=!0,visuallyHiddenDismiss:d=!1,closeOnFocusOut:f=!0}=e,{open:m,refs:h,nodeId:p,onOpenChange:g,events:y,dataRef:v,floatingId:b,elements:{domReference:x,floating:w}}=t,S=\"number\"==typeof s&&s<0,k=vt(x)&&S,E=!xr()||i,C=fr(o),_=fr(s),P=fr(l),O=ur(),N=Lr(),T=a.useRef(null),M=a.useRef(null),R=a.useRef(!1),D=a.useRef(!1),j=a.useRef(-1),A=null!=N,I=zr(w),L=zn((function(e){return void 0===e&&(e=I),e?Qt(e,Er()):[]})),F=zn((e=>{const t=L(e);return C.current.map((e=>x&&\"reference\"===e?x:I&&\"floating\"===e?I:t)).filter(Boolean).flat()}));function z(e){return!r&&d&&u?a.createElement($r,{ref:\"start\"===e?T:M,onClick:e=>g(!1,e.nativeEvent)},\"string\"==typeof d?d:\"Dismiss\"):null}a.useEffect((()=>{R.current=!1}),[r]),a.useEffect((()=>{if(r)return;if(!u)return;function e(e){if(\"Tab\"===e.key){rt(I,nt(ft(I)))&&0===L().length&&!k&&yt(e);const t=F(),n=ht(e);\"reference\"===C.current[0]&&n===x&&(yt(e),e.shiftKey?Qn(t[t.length-1]):Qn(t[1])),\"floating\"===C.current[1]&&n===I&&e.shiftKey&&(yt(e),Qn(t[0]))}}const t=ft(I);return t.addEventListener(\"keydown\",e),()=>{t.removeEventListener(\"keydown\",e)}}),[r,x,I,u,C,k,L,F]),a.useEffect((()=>{if(!r&&w)return w.addEventListener(\"focusin\",e),()=>{w.removeEventListener(\"focusin\",e)};function e(e){const t=ht(e),n=L().indexOf(t);-1!==n&&(j.current=n)}}),[r,w,L]),a.useEffect((()=>{if(!r&&f)return w&&Ve(x)?(x.addEventListener(\"focusout\",t),x.addEventListener(\"pointerdown\",e),w.addEventListener(\"focusout\",t),()=>{x.removeEventListener(\"focusout\",t),x.removeEventListener(\"pointerdown\",e),w.removeEventListener(\"focusout\",t)}):void 0;function e(){D.current=!0,setTimeout((()=>{D.current=!1}))}function t(e){const t=e.relatedTarget;queueMicrotask((()=>{const n=!(rt(x,t)||rt(w,t)||rt(t,w)||rt(null==N?void 0:N.portalNode,t)||null!=t&&t.hasAttribute(dr(\"focus-guard\"))||O&&(pr(O.nodesRef.current,p).find((e=>{var n,r;return rt(null==(n=e.context)?void 0:n.elements.floating,t)||rt(null==(r=e.context)?void 0:r.elements.domReference,t)}))||function(e,t){var n;let r=[],o=null==(n=e.find((e=>e.id===t)))?void 0:n.parentId;for(;o;){const t=e.find((e=>e.id===o));o=null==t?void 0:t.parentId,t&&(r=r.concat(t))}return r}(O.nodesRef.current,p).find((e=>{var n,r;return(null==(n=e.context)?void 0:n.elements.floating)===t||(null==(r=e.context)?void 0:r.elements.domReference)===t}))));if(c&&n&&nt(ft(I))===ft(I).body){Ve(I)&&I.focus();const e=j.current,t=L(),n=t[e]||t[t.length-1]||I;Ve(n)&&n.focus()}!k&&u||!t||!n||D.current||t===Ur()||(R.current=!0,g(!1,e,\"focus-out\"))}))}}),[r,x,w,I,u,p,O,N,g,f,c,L,k]),a.useEffect((()=>{var e;if(r)return;const t=Array.from((null==N||null==(e=N.portalNode)?void 0:e.querySelectorAll(\"[\"+dr(\"portal\")+\"]\"))||[]);if(w){const e=[w,...t,T.current,M.current,C.current.includes(\"reference\")||k?x:null].filter((e=>null!=e)),n=u||k?kr(e,E,!E):kr(e);return()=>{n()}}}),[r,x,w,u,C,N,k,E]),er((()=>{if(r||!Ve(I))return;const e=nt(ft(I));queueMicrotask((()=>{const t=F(I),n=_.current,r=(\"number\"==typeof n?t[n]:n.current)||I,o=rt(I,e);S||o||!m||Qn(r,{preventScroll:r===I})}))}),[r,m,I,S,F,_]),er((()=>{if(r||!I)return;let e=!1;const t=ft(I),n=nt(t);let o=v.current.openEvent;const i=h.domReference.current;function s(t){let{open:n,reason:r,event:i,nested:s}=t;n&&(o=i),\"escape-key\"===r&&h.domReference.current&&Vr(h.domReference.current),\"hover\"===r&&\"mouseleave\"===i.type&&(R.current=!0),\"outside-press\"===r&&(s?(R.current=!1,e=!0):R.current=!(st(i)||at(i)))}return Vr(n),y.on(\"openchange\",s),()=>{y.off(\"openchange\",s);const r=nt(t),a=rt(w,r)||O&&pr(O.nodesRef.current,p).some((e=>{var t;return rt(null==(t=e.context)?void 0:t.elements.floating,r)}));(a||o&&[\"click\",\"mousedown\"].includes(o.type))&&h.domReference.current&&Vr(h.domReference.current);const l=i||n,c=Qt(ft(l).body,Er());queueMicrotask((()=>{let n=Ur();!n&&Ve(l)&&w&&(n=function(e,t,n){const r=e.indexOf(t);function o(t){const o=dr(\"focus-guard\");let i=r+(t?1:0),s=e[i];for(;s&&(!s.isConnected||s.hasAttribute(o)||rt(n,s));)t?i++:i--,s=e[i];return s}return o(!0)||o(!1)}(c,l,w)),P.current&&!R.current&&Ve(n)&&(n===r||r===t.body||a)&&n.focus({preventScroll:e})}))}}),[r,w,I,P,v,h,y,O,p]),er((()=>{if(!r&&N)return N.setFocusManagerState({modal:u,closeOnFocusOut:f,open:m,onOpenChange:g,refs:h}),()=>{N.setFocusManagerState(null)}}),[r,N,u,m,g,h,f]),er((()=>{if(r)return;if(!I)return;if(\"function\"!=typeof MutationObserver)return;if(S)return;const e=()=>{const e=I.getAttribute(\"tabindex\"),t=L(),n=nt(ft(w)),r=t.indexOf(n);-1!==r&&(j.current=r),C.current.includes(\"floating\")||n!==h.domReference.current&&0===t.length?\"0\"!==e&&I.setAttribute(\"tabindex\",\"0\"):\"-1\"!==e&&I.setAttribute(\"tabindex\",\"-1\")};e();const t=new MutationObserver(e);return t.observe(I,{childList:!0,subtree:!0,attributes:!0}),()=>{t.disconnect()}}),[r,w,I,h,C,L,S]);const B=!r&&E&&(!u||!k)&&(A||u);return a.createElement(a.Fragment,null,B&&a.createElement(Dr,{\"data-type\":\"inside\",ref:null==N?void 0:N.beforeInsideRef,onFocus:e=>{if(u){const e=F();Qn(\"reference\"===o[0]?e[0]:e[e.length-1])}else if(null!=N&&N.preserveTabOrder&&N.portalNode)if(R.current=!1,Or(e,N.portalNode)){const e=_r()||x;null==e||e.focus()}else{var t;null==(t=N.beforeOutsideRef.current)||t.focus()}}}),!k&&z(\"start\"),n,z(\"end\"),B&&a.createElement(Dr,{\"data-type\":\"inside\",ref:null==N?void 0:N.afterInsideRef,onFocus:e=>{if(u)Qn(F()[0]);else if(null!=N&&N.preserveTabOrder&&N.portalNode)if(f&&(R.current=!0),Or(e,N.portalNode)){const e=Pr()||x;null==e||e.focus()}else{var t;null==(t=N.afterOutsideRef.current)||t.focus()}}}))}function Hr(e){return Ve(e.target)&&\"BUTTON\"===e.target.tagName}function Kr(e){return gt(e)}function qr(e,t){void 0===t&&(t={});const{open:n,onOpenChange:r,dataRef:o,elements:{domReference:i}}=e,{enabled:s=!0,event:l=\"click\",toggle:c=!0,ignoreMouse:u=!1,keyboardHandlers:d=!0}=t,f=a.useRef(),m=a.useRef(!1),h=a.useMemo((()=>({onPointerDown(e){f.current=e.pointerType},onMouseDown(e){const t=f.current;0===e.button&&\"click\"!==l&&(dt(t,!0)&&u||(!n||!c||o.current.openEvent&&\"mousedown\"!==o.current.openEvent.type?(e.preventDefault(),r(!0,e.nativeEvent,\"click\")):r(!1,e.nativeEvent,\"click\")))},onClick(e){const t=f.current;\"mousedown\"===l&&f.current?f.current=void 0:dt(t,!0)&&u||(!n||!c||o.current.openEvent&&\"click\"!==o.current.openEvent.type?r(!0,e.nativeEvent,\"click\"):r(!1,e.nativeEvent,\"click\"))},onKeyDown(e){f.current=void 0,e.defaultPrevented||!d||Hr(e)||(\" \"!==e.key||Kr(i)||(e.preventDefault(),m.current=!0),\"Enter\"===e.key&&r(!n||!c,e.nativeEvent,\"click\"))},onKeyUp(e){e.defaultPrevented||!d||Hr(e)||Kr(i)||\" \"===e.key&&m.current&&(m.current=!1,r(!n||!c,e.nativeEvent,\"click\"))}})),[o,i,l,u,d,r,n,c]);return a.useMemo((()=>s?{reference:h}:{}),[s,h])}const Gr={pointerdown:\"onPointerDown\",mousedown:\"onMouseDown\",click:\"onClick\"},Xr={pointerdown:\"onPointerDownCapture\",mousedown:\"onMouseDownCapture\",click:\"onClickCapture\"},Zr=e=>{var t,n;return{escapeKey:\"boolean\"==typeof e?e:null!=(t=null==e?void 0:e.escapeKey)&&t,outsidePress:\"boolean\"==typeof e?e:null==(n=null==e?void 0:e.outsidePress)||n}};function Jr(e,t){void 0===t&&(t={});const{open:n,onOpenChange:r,elements:o,dataRef:i}=e,{enabled:s=!0,escapeKey:l=!0,outsidePress:c=!0,outsidePressEvent:u=\"pointerdown\",referencePress:d=!1,referencePressEvent:f=\"pointerdown\",ancestorScroll:m=!1,bubbles:h,capture:p}=t,g=ur(),y=zn(\"function\"==typeof c?c:()=>!1),v=\"function\"==typeof c?y:c,b=a.useRef(!1),x=a.useRef(!1),{escapeKey:w,outsidePress:S}=Zr(h),{escapeKey:k,outsidePress:E}=Zr(p),C=zn((e=>{var t;if(!n||!s||!l||\"Escape\"!==e.key)return;const o=null==(t=i.current.floatingContext)?void 0:t.nodeId,a=g?pr(g.nodesRef.current,o):[];if(!w&&(e.stopPropagation(),a.length>0)){let e=!0;if(a.forEach((t=>{var n;null==(n=t.context)||!n.open||t.context.dataRef.current.__escapeKeyBubbles||(e=!1)})),!e)return}r(!1,function(e){return\"nativeEvent\"in e}(e)?e.nativeEvent:e,\"escape-key\")})),_=zn((e=>{var t;const n=()=>{var t;C(e),null==(t=ht(e))||t.removeEventListener(\"keydown\",n)};null==(t=ht(e))||t.addEventListener(\"keydown\",n)})),P=zn((e=>{var t;const n=b.current;b.current=!1;const s=x.current;if(x.current=!1,\"click\"===u&&s)return;if(n)return;if(\"function\"==typeof v&&!v(e))return;const a=ht(e),l=\"[\"+dr(\"inert\")+\"]\",c=ft(o.floating).querySelectorAll(l);let d=We(a)?a:null;for(;d&&!Ge(d);){const e=Je(d);if(Ge(e)||!We(e))break;d=e}if(c.length&&We(a)&&!a.matches(\"html,body\")&&!rt(a,o.floating)&&Array.from(c).every((e=>!rt(d,e))))return;if(Ve(a)&&T){const t=a.clientWidth>0&&a.scrollWidth>a.clientWidth,n=a.clientHeight>0&&a.scrollHeight>a.clientHeight;let r=n&&e.offsetX>a.clientWidth;if(n&&\"rtl\"===Xe(a).direction&&(r=e.offsetX<=a.offsetWidth-a.clientWidth),r||t&&e.offsetY>a.clientHeight)return}const f=null==(t=i.current.floatingContext)?void 0:t.nodeId,m=g&&pr(g.nodesRef.current,f).some((t=>{var n;return mt(e,null==(n=t.context)?void 0:n.elements.floating)}));if(mt(e,o.floating)||mt(e,o.domReference)||m)return;const h=g?pr(g.nodesRef.current,f):[];if(h.length>0){let e=!0;if(h.forEach((t=>{var n;null==(n=t.context)||!n.open||t.context.dataRef.current.__outsidePressBubbles||(e=!1)})),!e)return}r(!1,e,\"outside-press\")})),O=zn((e=>{var t;const n=()=>{var t;P(e),null==(t=ht(e))||t.removeEventListener(u,n)};null==(t=ht(e))||t.addEventListener(u,n)}));a.useEffect((()=>{if(!n||!s)return;function e(e){r(!1,e,\"ancestor-scroll\")}i.current.__escapeKeyBubbles=w,i.current.__outsidePressBubbles=S;const t=ft(o.floating);l&&t.addEventListener(\"keydown\",k?_:C,k),v&&t.addEventListener(u,E?O:P,E);let a=[];return m&&(We(o.domReference)&&(a=et(o.domReference)),We(o.floating)&&(a=a.concat(et(o.floating))),!We(o.reference)&&o.reference&&o.reference.contextElement&&(a=a.concat(et(o.reference.contextElement)))),a=a.filter((e=>{var n;return e!==(null==(n=t.defaultView)?void 0:n.visualViewport)})),a.forEach((t=>{t.addEventListener(\"scroll\",e,{passive:!0})})),()=>{l&&t.removeEventListener(\"keydown\",k?_:C,k),v&&t.removeEventListener(u,E?O:P,E),a.forEach((t=>{t.removeEventListener(\"scroll\",e)}))}}),[i,o,l,v,u,n,r,m,s,w,S,C,k,_,P,E,O]),a.useEffect((()=>{b.current=!1}),[v,u]);const N=a.useMemo((()=>({onKeyDown:C,[Gr[f]]:e=>{d&&r(!1,e.nativeEvent,\"reference-press\")}})),[C,r,d,f]),T=a.useMemo((()=>({onKeyDown:C,onMouseDown(){x.current=!0},onMouseUp(){x.current=!0},[Xr[u]]:()=>{b.current=!0}})),[C,u]);return a.useMemo((()=>s?{reference:N,floating:T}:{}),[s,N,T])}function Qr(e){void 0===e&&(e={});const{nodeId:t}=e,n=function(e){const{open:t=!1,onOpenChange:n,elements:r}=e,o=ir(),i=a.useRef({}),[s]=a.useState((()=>function(){const e=new Map;return{emit(t,n){var r;null==(r=e.get(t))||r.forEach((e=>e(n)))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){var r;e.set(t,(null==(r=e.get(t))?void 0:r.filter((e=>e!==n)))||[])}}}())),l=null!=cr(),[c,u]=a.useState(r.reference),d=zn(((e,t,r)=>{i.current.openEvent=e?t:void 0,s.emit(\"openchange\",{open:e,event:t,reason:r,nested:l}),null==n||n(e,t,r)})),f=a.useMemo((()=>({setPositionReference:u})),[]),m=a.useMemo((()=>({reference:c||r.reference||null,floating:r.floating||null,domReference:r.reference})),[c,r.reference,r.floating]);return a.useMemo((()=>({dataRef:i,open:t,onOpenChange:d,elements:m,events:s,floatingId:o,refs:f})),[t,d,m,s,o,f])}({...e,elements:{reference:null,floating:null,...e.elements}}),r=e.rootContext||n,o=r.elements,[i,s]=a.useState(null),[l,c]=a.useState(null),u=(null==o?void 0:o.reference)||i,d=a.useRef(null),f=ur();er((()=>{u&&(d.current=u)}),[u]);const m=function(e){void 0===e&&(e={});const{placement:t=\"bottom\",strategy:n=\"absolute\",middleware:r=[],platform:o,elements:{reference:i,floating:s}={},transform:l=!0,whileElementsMounted:c,open:u}=e,[d,f]=a.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,h]=a.useState(r);On(m,r)||h(r);const[p,g]=a.useState(null),[y,v]=a.useState(null),b=a.useCallback((e=>{e!==k.current&&(k.current=e,g(e))}),[]),x=a.useCallback((e=>{e!==E.current&&(E.current=e,v(e))}),[]),w=i||p,S=s||y,k=a.useRef(null),E=a.useRef(null),C=a.useRef(d),_=null!=c,P=Mn(c),O=Mn(o),N=a.useCallback((()=>{if(!k.current||!E.current)return;const e={placement:t,strategy:n,middleware:m};O.current&&(e.platform=O.current),Cn(k.current,E.current,e).then((e=>{const t={...e,isPositioned:!0};T.current&&!On(C.current,t)&&(C.current=t,tn.flushSync((()=>{f(t)})))}))}),[m,t,n,O]);Pn((()=>{!1===u&&C.current.isPositioned&&(C.current.isPositioned=!1,f((e=>({...e,isPositioned:!1}))))}),[u]);const T=a.useRef(!1);Pn((()=>(T.current=!0,()=>{T.current=!1})),[]),Pn((()=>{if(w&&(k.current=w),S&&(E.current=S),w&&S){if(P.current)return P.current(w,S,N);N()}}),[w,S,N,P,_]);const M=a.useMemo((()=>({reference:k,floating:E,setReference:b,setFloating:x})),[b,x]),R=a.useMemo((()=>({reference:w,floating:S})),[w,S]),D=a.useMemo((()=>{const e={position:n,left:0,top:0};if(!R.floating)return e;const t=Tn(R.floating,d.x),r=Tn(R.floating,d.y);return l?{...e,transform:\"translate(\"+t+\"px, \"+r+\"px)\",...Nn(R.floating)>=1.5&&{willChange:\"transform\"}}:{position:n,left:t,top:r}}),[n,l,R.floating,d.x,d.y]);return a.useMemo((()=>({...d,update:N,refs:M,elements:R,floatingStyles:D})),[d,N,M,R,D])}({...e,elements:{...o,...l&&{reference:l}}}),h=a.useCallback((e=>{const t=We(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),contextElement:e}:e;c(t),m.refs.setReference(t)}),[m.refs]),p=a.useCallback((e=>{(We(e)||null===e)&&(d.current=e,s(e)),(We(m.refs.reference.current)||null===m.refs.reference.current||null!==e&&!We(e))&&m.refs.setReference(e)}),[m.refs]),g=a.useMemo((()=>({...m.refs,setReference:p,setPositionReference:h,domReference:d})),[m.refs,p,h]),y=a.useMemo((()=>({...m.elements,domReference:u})),[m.elements,u]),v=a.useMemo((()=>({...m,...r,refs:g,elements:y,nodeId:t})),[m,g,y,t,r]);return er((()=>{r.dataRef.current.floatingContext=v;const e=null==f?void 0:f.nodesRef.current.find((e=>e.id===t));e&&(e.context=v)})),a.useMemo((()=>({...m,context:v,refs:g,elements:y})),[m,g,y,v])}const eo=\"active\",to=\"selected\";function no(e,t,n){const r=new Map,o=\"item\"===n;let i=e;if(o&&e){const{[eo]:t,[to]:__,...n}=e;i=n}return{...\"floating\"===n&&{tabIndex:-1,[Fr]:\"\"},...i,...t.map((t=>{const r=t?t[n]:null;return\"function\"==typeof r?e?r(e):null:r})).concat(e).reduce(((e,t)=>t?(Object.entries(t).forEach((t=>{let[n,i]=t;var s;o&&[eo,to].includes(n)||(0===n.indexOf(\"on\")?(r.has(n)||r.set(n,[]),\"function\"==typeof i&&(null==(s=r.get(n))||s.push(i),e[n]=function(){for(var e,t=arguments.length,o=new Array(t),i=0;ie(...o))).find((e=>void 0!==e))})):e[n]=i)})),e):e),{})}}function ro(e){void 0===e&&(e=[]);const t=e.map((e=>null==e?void 0:e.reference)),n=e.map((e=>null==e?void 0:e.floating)),r=e.map((e=>null==e?void 0:e.item)),o=a.useCallback((t=>no(t,e,\"reference\")),t),i=a.useCallback((t=>no(t,e,\"floating\")),n),s=a.useCallback((t=>no(t,e,\"item\")),r);return a.useMemo((()=>({getReferenceProps:o,getFloatingProps:i,getItemProps:s})),[o,i,s])}let oo=!1;function io(e,t,n){switch(e){case\"vertical\":return t;case\"horizontal\":return n;default:return t||n}}function so(e,t){return io(t,e===Bn||e===Wn,e===Vn||e===Un)}function ao(e,t,n){return io(t,e===Wn,n?e===Vn:e===Un)||\"Enter\"===e||\" \"===e||\"\"===e}function lo(e,t,n){return io(t,n?e===Un:e===Vn,e===Bn)}function co(e,t){const{open:n,onOpenChange:r,elements:o}=e,{listRef:i,activeIndex:s,onNavigate:l=()=>{},enabled:c=!0,selectedIndex:u=null,allowEscape:d=!1,loop:f=!1,nested:m=!1,rtl:h=!1,virtual:p=!1,focusItemOnOpen:g=\"auto\",focusItemOnHover:y=!0,openOnArrowKeyDown:v=!0,disabledIndices:b,orientation:x=\"vertical\",cols:w=1,scrollItemIntoView:S=!0,virtualItemRef:k,itemSizes:E,dense:C=!1}=t,_=fr(zr(o.floating)),P=cr(),O=ur(),N=zn(l),T=a.useRef(g),M=a.useRef(null!=u?u:-1),R=a.useRef(null),D=a.useRef(!0),j=a.useRef(N),A=a.useRef(!!o.floating),I=a.useRef(n),L=a.useRef(!1),F=a.useRef(!1),z=fr(b),B=fr(n),W=fr(S),V=fr(u),[U,$]=a.useState(),[Y,H]=a.useState(),K=zn((function(e,t,n){function r(e){p?($(e.id),null==O||O.events.emit(\"virtualfocus\",e),k&&(k.current=e)):Qn(e,{preventScroll:!0,sync:!(!ut()||!lt())&&(oo||L.current)})}void 0===n&&(n=!1);const o=e.current[t.current];o&&r(o),requestAnimationFrame((()=>{const i=e.current[t.current]||o;if(!i)return;o||r(i);const s=W.current;s&&G&&(n||!D.current)&&(null==i.scrollIntoView||i.scrollIntoView(\"boolean\"==typeof s?{block:\"nearest\",inline:\"nearest\"}:s))}))}));er((()=>{document.createElement(\"div\").focus({get preventScroll(){return oo=!0,!1}})}),[]),er((()=>{c&&(n&&o.floating?T.current&&null!=u&&(F.current=!0,M.current=u,N(u)):A.current&&(M.current=-1,j.current(null)))}),[c,n,o.floating,u,N]),er((()=>{if(c&&n&&o.floating)if(null==s){if(L.current=!1,null!=V.current)return;if(A.current&&(M.current=-1,K(i,M)),(!I.current||!A.current)&&T.current&&(null!=R.current||!0===T.current&&null==R.current)){let e=0;const t=()=>{null==i.current[0]?(e<2&&(e?requestAnimationFrame:queueMicrotask)(t),e++):(M.current=null==R.current||ao(R.current,x,h)||m?Hn(i,z.current):Kn(i,z.current),R.current=null,N(M.current))};t()}}else Yn(i,s)||(M.current=s,K(i,M,F.current),F.current=!1)}),[c,n,o.floating,s,V,m,i,x,h,N,K,z]),er((()=>{var e;if(!c||o.floating||!O||p||!A.current)return;const t=O.nodesRef.current,n=null==(e=t.find((e=>e.id===P)))||null==(e=e.context)?void 0:e.elements.floating,r=nt(ft(o.floating)),i=t.some((e=>e.context&&rt(e.context.elements.floating,r)));n&&!i&&D.current&&n.focus({preventScroll:!0})}),[c,o.floating,O,P,p]),er((()=>{if(c&&O&&p&&!P)return O.events.on(\"virtualfocus\",e),()=>{O.events.off(\"virtualfocus\",e)};function e(e){H(e.id),k&&(k.current=e)}}),[c,O,p,P,k]),er((()=>{j.current=N,A.current=!!o.floating})),er((()=>{n||(R.current=null)}),[n]),er((()=>{I.current=n}),[n]);const q=null!=s,G=a.useMemo((()=>{function e(e){if(!n)return;const t=i.current.indexOf(e);-1!==t&&N(t)}return{onFocus(t){let{currentTarget:n}=t;e(n)},onClick:e=>{let{currentTarget:t}=e;return t.focus({preventScroll:!0})},...y&&{onMouseMove(t){let{currentTarget:n}=t;e(n)},onPointerLeave(e){let{pointerType:t}=e;D.current&&\"touch\"!==t&&(M.current=-1,K(i,M),N(null),p||Qn(_.current,{preventScroll:!0}))}}}}),[n,_,K,y,i,N,p]),X=zn((e=>{if(D.current=!1,L.current=!0,!B.current&&e.currentTarget===_.current)return;if(m&&lo(e.key,x,h))return yt(e),r(!1,e.nativeEvent,\"list-navigation\"),void(Ve(o.domReference)&&!p&&o.domReference.focus());const t=M.current,s=Hn(i,b),a=Kn(i,b);if(\"Home\"===e.key&&(yt(e),M.current=s,N(M.current)),\"End\"===e.key&&(yt(e),M.current=a,N(M.current)),w>1){const t=E||Array.from({length:i.current.length},(()=>({width:1,height:1}))),n=function(e,t,n){const r=[];let o=0;return e.forEach(((e,i)=>{let{width:s,height:a}=e,l=!1;for(n&&(o=0);!l;){const e=[];for(let n=0;nnull==r[e]))?(e.forEach((e=>{r[e]=i})),l=!0):o++}})),[...r]}(t,w,C),r=n.findIndex((e=>null!=e&&!Zn(i.current,e,b))),o=n.reduce(((e,t,n)=>null==t||Zn(i.current,t,b)?e:n),-1),l=n[function(e,t){let{event:n,orientation:r,loop:o,cols:i,disabledIndices:s,minIndex:a,maxIndex:l,prevIndex:c,stopEvent:u=!1}=t,d=c;if(n.key===Bn){if(u&&yt(n),-1===c)d=l;else if(d=qn(e,{startingIndex:d,amount:i,decrement:!0,disabledIndices:s}),o&&(c-ie?n:n-i}Yn(e,d)&&(d=c)}if(n.key===Wn&&(u&&yt(n),-1===c?d=a:(d=qn(e,{startingIndex:c,amount:i,disabledIndices:s}),o&&c+i>l&&(d=qn(e,{startingIndex:c%i-i,amount:i,disabledIndices:s}))),Yn(e,d)&&(d=c)),\"both\"===r){const t=St(c/i);n.key===Un&&(u&&yt(n),c%i!=i-1?(d=qn(e,{startingIndex:c,disabledIndices:s}),o&&$n(d,i,t)&&(d=qn(e,{startingIndex:c-c%i-1,disabledIndices:s}))):o&&(d=qn(e,{startingIndex:c-c%i-1,disabledIndices:s})),$n(d,i,t)&&(d=c)),n.key===Vn&&(u&&yt(n),c%i!=0?(d=qn(e,{startingIndex:c,decrement:!0,disabledIndices:s}),o&&$n(d,i,t)&&(d=qn(e,{startingIndex:c+(i-c%i),decrement:!0,disabledIndices:s}))):o&&(d=qn(e,{startingIndex:c+(i-c%i),decrement:!0,disabledIndices:s})),$n(d,i,t)&&(d=c));const r=St(l/i)===t;Yn(e,d)&&(d=o&&r?n.key===Vn?l:qn(e,{startingIndex:c-c%i-1,disabledIndices:s}):c)}return d}({current:n.map((e=>null!=e?i.current[e]:null))},{event:e,orientation:x,loop:f,cols:w,disabledIndices:Xn([...b||i.current.map(((e,t)=>Zn(i.current,t)?t:void 0)),void 0],n),minIndex:r,maxIndex:o,prevIndex:Gn(M.current>a?s:M.current,t,n,w,e.key===Wn?\"bl\":e.key===Un?\"tr\":\"tl\"),stopEvent:!0})];if(null!=l&&(M.current=l,N(M.current)),\"both\"===x)return}if(so(e.key,x)){if(yt(e),n&&!p&&nt(e.currentTarget.ownerDocument)===e.currentTarget)return M.current=ao(e.key,x,h)?s:a,void N(M.current);ao(e.key,x,h)?M.current=f?t>=a?d&&t!==i.current.length?-1:s:qn(i,{startingIndex:t,disabledIndices:b}):Math.min(a,qn(i,{startingIndex:t,disabledIndices:b})):M.current=f?t<=s?d&&-1!==t?i.current.length:a:qn(i,{startingIndex:t,decrement:!0,disabledIndices:b}):Math.max(s,qn(i,{startingIndex:t,decrement:!0,disabledIndices:b})),Yn(i,M.current)?N(null):N(M.current)}})),Z=a.useMemo((()=>p&&n&&q&&{\"aria-activedescendant\":Y||U}),[p,n,q,Y,U]),J=a.useMemo((()=>({\"aria-orientation\":\"both\"===x?void 0:x,...!vt(o.domReference)&&Z,onKeyDown:X,onPointerMove(){D.current=!0}})),[Z,X,o.domReference,x]),Q=a.useMemo((()=>{function e(e){\"auto\"===g&&st(e.nativeEvent)&&(T.current=!0)}return{...Z,onKeyDown(e){D.current=!1;const t=0===e.key.indexOf(\"Arrow\"),o=function(e,t,n){return io(t,n?e===Vn:e===Un,e===Wn)}(e.key,x,h),s=lo(e.key,x,h),a=so(e.key,x),l=(m?o:a)||\"Enter\"===e.key||\"\"===e.key.trim();if(p&&n){const n=null==O?void 0:O.nodesRef.current.find((e=>null==e.parentId)),r=O&&n?function(e,t){let n,r=-1;return function t(o,i){i>r&&(n=o,r=i),pr(e,o).forEach((e=>{t(e.id,i+1)}))}(t,0),e.find((e=>e.id===n))}(O.nodesRef.current,n.id):null;if(t&&r&&k){const t=new KeyboardEvent(\"keydown\",{key:e.key,bubbles:!0});if(o||s){var c,d;const n=(null==(c=r.context)?void 0:c.elements.domReference)===e.currentTarget,a=s&&!n?null==(d=r.context)?void 0:d.elements.domReference:o?i.current.find((e=>(null==e?void 0:e.id)===U)):null;a&&(yt(e),a.dispatchEvent(t),H(void 0))}var f;if(a&&r.context&&r.context.open&&r.parentId&&e.currentTarget!==r.context.elements.domReference)return yt(e),void(null==(f=r.context.elements.domReference)||f.dispatchEvent(t))}return X(e)}(n||v||!t)&&(l&&(R.current=m&&a?null:e.key),m?o&&(yt(e),n?(M.current=Hn(i,z.current),N(M.current)):r(!0,e.nativeEvent,\"list-navigation\")):a&&(null!=u&&(M.current=u),yt(e),!n&&v?r(!0,e.nativeEvent,\"list-navigation\"):X(e),n&&N(M.current)))},onFocus(){n&&!p&&N(null)},onPointerDown:function(e){T.current=g,\"auto\"===g&&at(e.nativeEvent)&&(T.current=!0)},onMouseDown:e,onClick:e}}),[U,Z,X,z,g,i,m,N,r,n,v,x,h,u,O,p,k]);return a.useMemo((()=>c?{reference:Q,floating:J,item:G}:{}),[c,Q,J,G])}const uo=new Map([[\"select\",\"listbox\"],[\"combobox\",\"listbox\"],[\"label\",!1]]);function fo(e,t){var n;void 0===t&&(t={});const{open:r,floatingId:o}=e,{enabled:i=!0,role:s=\"dialog\"}=t,l=null!=(n=uo.get(s))?n:s,c=ir(),u=null!=cr(),d=a.useMemo((()=>\"tooltip\"===l||\"label\"===s?{[\"aria-\"+(\"label\"===s?\"labelledby\":\"describedby\")]:r?o:void 0}:{\"aria-expanded\":r?\"true\":\"false\",\"aria-haspopup\":\"alertdialog\"===l?\"dialog\":l,\"aria-controls\":r?o:void 0,...\"listbox\"===l&&{role:\"combobox\"},...\"menu\"===l&&{id:c},...\"menu\"===l&&u&&{role:\"menuitem\"},...\"select\"===s&&{\"aria-autocomplete\":\"none\"},...\"combobox\"===s&&{\"aria-autocomplete\":\"list\"}}),[l,o,u,r,c,s]),f=a.useMemo((()=>{const e={id:o,...l&&{role:l}};return\"tooltip\"===l||\"label\"===s?e:{...e,...\"menu\"===l&&{\"aria-labelledby\":c}}}),[l,o,c,s]),m=a.useCallback((e=>{let{active:t,selected:n}=e;const r={role:\"option\",...t&&{id:o+\"-option\"}};switch(s){case\"select\":return{...r,\"aria-selected\":t&&n};case\"combobox\":return{...r,...t&&{\"aria-selected\":!0}}}return{}}),[o,s]);return a.useMemo((()=>i?{reference:d,floating:f,item:m}:{}),[i,d,f,m])}const mo=e=>e.replace(/[A-Z]+(?![a-z])|[A-Z]/g,((e,t)=>(t?\"-\":\"\")+e.toLowerCase()));function ho(e,t){return\"function\"==typeof e?e(t):e}function po(e,t){void 0===t&&(t={});const{initial:n={opacity:0},open:r,close:o,common:i,duration:s=250}=t,l=e.placement,c=l.split(\"-\")[0],u=a.useMemo((()=>({side:c,placement:l})),[c,l]),d=\"number\"==typeof s,f=(d?s:s.open)||0,m=(d?s:s.close)||0,[h,p]=a.useState((()=>({...ho(i,u),...ho(n,u)}))),{isMounted:g,status:y}=function(e,t){void 0===t&&(t={});const{open:n,elements:{floating:r}}=e,{duration:o=250}=t,i=(\"number\"==typeof o?o:o.close)||0,[s,l]=a.useState(\"unmounted\"),c=function(e,t){const[n,r]=a.useState(e);return e&&!n&&r(!0),a.useEffect((()=>{if(!e&&n){const e=setTimeout((()=>r(!1)),t);return()=>clearTimeout(e)}}),[e,n,t]),n}(n,i);return c||\"close\"!==s||l(\"unmounted\"),er((()=>{if(r){if(n){l(\"initial\");const e=requestAnimationFrame((()=>{l(\"open\")}));return()=>{cancelAnimationFrame(e)}}l(\"close\")}}),[n,r]),{isMounted:c,status:s}}(e,{duration:s}),v=fr(n),b=fr(r),x=fr(o),w=fr(i);return er((()=>{const e=ho(v.current,u),t=ho(x.current,u),n=ho(w.current,u),r=ho(b.current,u)||Object.keys(e).reduce(((e,t)=>(e[t]=\"\",e)),{});if(\"initial\"===y&&p((t=>({transitionProperty:t.transitionProperty,...n,...e}))),\"open\"===y&&p({transitionProperty:Object.keys(r).map(mo).join(\",\"),transitionDuration:f+\"ms\",...n,...r}),\"close\"===y){const r=t||e;p({transitionProperty:Object.keys(r).map(mo).join(\",\"),transitionDuration:m+\"ms\",...n,...r})}}),[m,x,v,b,w,f,y,u]),{isMounted:g,styles:h}}function go(e,t){const[n,r]=e;let o=!1;const i=t.length;for(let e=0,s=i-1;e=r!=c>=r&&n<=(l-i)*(r-a)/(c-a)+i&&(o=!o)}return o}function yo(e){void 0===e&&(e={});const{buffer:t=.5,blockPointerEvents:n=!1,requireIntent:r=!0}=e;let o,i=!1,s=null,a=null,l=performance.now();const c=e=>{let{x:n,y:c,placement:u,elements:d,onClose:f,nodeId:m,tree:h}=e;return function(e){function p(){clearTimeout(o),f()}if(clearTimeout(o),!d.domReference||!d.floating||null==u||null==n||null==c)return;const{clientX:g,clientY:y}=e,v=[g,y],b=ht(e),x=\"mouseleave\"===e.type,w=rt(d.floating,b),S=rt(d.domReference,b),k=d.domReference.getBoundingClientRect(),E=d.floating.getBoundingClientRect(),C=u.split(\"-\")[0],_=n>E.right-E.width/2,P=c>E.bottom-E.height/2,O=function(e,t){return e[0]>=t.x&&e[0]<=t.x+t.width&&e[1]>=t.y&&e[1]<=t.y+t.height}(v,k),N=E.width>k.width,T=E.height>k.height,M=(N?k:E).left,R=(N?k:E).right,D=(T?k:E).top,j=(T?k:E).bottom;if(w&&(i=!0,!x))return;if(S&&(i=!1),S&&!x)return void(i=!0);if(x&&We(e.relatedTarget)&&rt(d.floating,e.relatedTarget))return;if(h&&pr(h.nodesRef.current,m).some((e=>{let{context:t}=e;return null==t?void 0:t.open})))return;if(\"top\"===C&&c>=k.bottom-1||\"bottom\"===C&&c<=k.top+1||\"left\"===C&&n>=k.right-1||\"right\"===C&&n<=k.left+1)return p();let A=[];switch(C){case\"top\":A=[[M,k.top+1],[M,E.bottom-1],[R,E.bottom-1],[R,k.top+1]];break;case\"bottom\":A=[[M,E.top+1],[M,k.bottom-1],[R,k.bottom-1],[R,E.top+1]];break;case\"left\":A=[[E.right-1,j],[E.right-1,D],[k.left+1,D],[k.left+1,j]];break;case\"right\":A=[[k.right-1,j],[k.right-1,D],[E.left+1,D],[E.left+1,j]]}if(!go([g,y],A)){if(i&&!O)return p();if(!x&&r){const t=function(e,t){const n=performance.now(),r=n-l;if(null===s||null===a||0===r)return s=e,a=t,l=n,null;const o=e-s,i=t-a,c=Math.sqrt(o*o+i*i);return s=e,a=t,l=n,c/r}(e.clientX,e.clientY);if(null!==t&&t<.1)return p()}go([g,y],function(e){let[n,r]=e;switch(C){case\"top\":return[[N?n+t/2:_?n+4*t:n-4*t,r+t+1],[N?n-t/2:_?n+4*t:n-4*t,r+t+1],[E.left,_||N?E.bottom-t:E.top],[E.right,_?N?E.bottom-t:E.top:E.bottom-t]];case\"bottom\":return[[N?n+t/2:_?n+4*t:n-4*t,r-t],[N?n-t/2:_?n+4*t:n-4*t,r-t],[E.left,_||N?E.top+t:E.bottom],[E.right,_?N?E.top+t:E.bottom:E.top+t]];case\"left\":{const e=[n+t+1,T?r+t/2:P?r+4*t:r-4*t],o=[n+t+1,T?r-t/2:P?r+4*t:r-4*t];return[[P||T?E.right-t:E.left,E.top],[P?T?E.right-t:E.left:E.right-t,E.bottom],e,o]}case\"right\":return[[n-t,T?r+t/2:P?r+4*t:r-4*t],[n-t,T?r-t/2:P?r+4*t:r-4*t],[P||T?E.left+t:E.right,E.top],[P?T?E.left+t:E.right:E.left+t,E.bottom]]}}([n,c]))?!i&&r&&(o=window.setTimeout(p,40)):p()}}};return c.__options={blockPointerEvents:n},c}const vo=ke(\"TriangleAlert\",[[\"path\",{d:\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\",key:\"wmoenq\"}],[\"path\",{d:\"M12 9v4\",key:\"juzpu7\"}],[\"path\",{d:\"M12 17h.01\",key:\"p32p05\"}]]),bo=ke(\"Trash2\",[[\"path\",{d:\"M3 6h18\",key:\"d0wm0j\"}],[\"path\",{d:\"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6\",key:\"4alrt4\"}],[\"path\",{d:\"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2\",key:\"v07s0e\"}],[\"line\",{x1:\"10\",x2:\"10\",y1:\"11\",y2:\"17\",key:\"1uufr5\"}],[\"line\",{x1:\"14\",x2:\"14\",y1:\"11\",y2:\"17\",key:\"xtxkd\"}]]);var xo=\"light\",wo=\"neutral\",So=function(e){var t=e.icon,n=void 0===t?null:t,r=e.theme,o=void 0===r?xo:r,i=e.variant,s=void 0===i?wo:i,l=\"[&>svg]:h-5 [&>svg]:w-5\",c=function(e){var t=e.theme,n=void 0===t?xo:t,r=e.variant;return{info:\"light\"===n?\"text-support-info\":\"text-support-info-inverse\",success:\"light\"===n?\"text-support-success\":\"text-support-success-inverse\",warning:\"light\"===n?\"text-support-warning\":\"text-support-warning-inverse\",error:\"light\"===n?\"text-support-error\":\"text-support-error-inverse\"}[void 0===r?wo:r]||(\"light\"===n?\"text-icon-secondary\":\"text-icon-inverse\")}({theme:o,variant:s});if(n&&(0,a.isValidElement)(n))return(0,a.cloneElement)(n,{className:oe(l,c,n.props.className)});var u={neutral:React.createElement(Re,{className:oe(l,c)}),info:React.createElement(Re,{className:oe(l,c)}),success:React.createElement(Ce,{className:oe(l,c)}),warning:React.createElement(vo,{className:oe(l,c)}),error:React.createElement(bo,{className:oe(l,c)})};return u[s]||u.neutral},ko=function(e){var t=e.actionType,n=void 0===t?\"button\":t,r=e.onAction,o=void 0===r?function(){}:r,i=e.actionLabel,s=void 0===i?\"\":i,a=e.theme,l=void 0===a?xo:a,c=\"focus:ring-0 focus:ring-offset-0 ring-offset-0 focus:outline-none\",u=\"text-button-primary border-button-primary hover:border-button-primary hover:text-button-primary-hover\";switch(\"dark\"===l&&(u=\"text-text-inverse border-text-inverse hover:border-text-inverse hover:text-text-inverse\"),n){case\"button\":return React.createElement(de,{variant:\"outline\",size:\"xs\",onClick:o,className:oe(\"rounded\",c,u,\"dark\"===l?\"bg-transparent hover:bg-transparent\":\"bg-white hover:bg-white\")},s);case\"link\":return React.createElement(de,{variant:\"link\",size:\"xs\",onClick:o,className:oe(c,u)},s);default:return null}},Eo=function(e){var t=e.theme,n=void 0===t?xo:t,r=e.title,o=void 0===r?\"\":r;return!o&&isNaN(o)?null:React.createElement(\"span\",{className:oe(\"block\",{light:\"text-text-primary\",dark:\"text-text-inverse\"}[n],\"text-sm leading-5 font-semibold\")},o)},Co=function(e){var t=e.theme,n=void 0===t?xo:t,r=e.content,o=void 0===r?\"\":r;return!o&&isNaN(o)?null:React.createElement(\"span\",{className:oe({light:\"text-text-primary\",dark:\"text-text-inverse\"}[n],\"block text-sm [&_*]:text-sm leading-5 [&_*]:leading-5 font-normal\")},o)},_o=function(){for(var e=arguments.length,t=new Array(e),n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n{})),_=a.useCallback((()=>{var e;const t=null==(e=o.current.openEvent)?void 0:e.type;return(null==t?void 0:t.includes(\"mouse\"))&&\"mousedown\"!==t}),[o]);a.useEffect((()=>{if(l)return i.on(\"openchange\",e),()=>{i.off(\"openchange\",e)};function e(e){let{open:t}=e;t||(clearTimeout(x.current),clearTimeout(S.current),k.current=!0)}}),[l,i]),a.useEffect((()=>{if(!l)return;if(!g.current)return;if(!n)return;function e(e){_()&&r(!1,e,\"hover\")}const t=ft(s.floating).documentElement;return t.addEventListener(\"mouseleave\",e),()=>{t.removeEventListener(\"mouseleave\",e)}}),[s.floating,n,r,l,g,_]);const P=a.useCallback((function(e,t,n){void 0===t&&(t=!0),void 0===n&&(n=\"hover\");const o=hr(y.current,\"close\",b.current);o&&!w.current?(clearTimeout(x.current),x.current=window.setTimeout((()=>r(!1,e,n)),o)):t&&(clearTimeout(x.current),r(!1,e,n))}),[y,r]),O=zn((()=>{C.current(),w.current=void 0})),N=zn((()=>{if(E.current){const e=ft(s.floating).body;e.style.pointerEvents=\"\",e.removeAttribute(mr),E.current=!1}}));a.useEffect((()=>{if(l&&We(s.domReference)){var e;const t=s.domReference;return n&&t.addEventListener(\"mouseleave\",c),null==(e=s.floating)||e.addEventListener(\"mouseleave\",c),m&&t.addEventListener(\"mousemove\",i,{once:!0}),t.addEventListener(\"mouseenter\",i),t.addEventListener(\"mouseleave\",a),()=>{var e;n&&t.removeEventListener(\"mouseleave\",c),null==(e=s.floating)||e.removeEventListener(\"mouseleave\",c),m&&t.removeEventListener(\"mousemove\",i),t.removeEventListener(\"mouseenter\",i),t.removeEventListener(\"mouseleave\",a)}}function t(){return!!o.current.openEvent&&[\"click\",\"mousedown\"].includes(o.current.openEvent.type)}function i(e){if(clearTimeout(x.current),k.current=!1,d&&!dt(b.current)||f>0&&!hr(y.current,\"open\"))return;const t=hr(y.current,\"open\",b.current);t?x.current=window.setTimeout((()=>{v.current||r(!0,e,\"hover\")}),t):r(!0,e,\"hover\")}function a(e){if(t())return;C.current();const r=ft(s.floating);if(clearTimeout(S.current),g.current&&o.current.floatingContext){n||clearTimeout(x.current),w.current=g.current({...o.current.floatingContext,tree:h,x:e.clientX,y:e.clientY,onClose(){N(),O(),P(e,!0,\"safe-polygon\")}});const t=w.current;return r.addEventListener(\"mousemove\",t),void(C.current=()=>{r.removeEventListener(\"mousemove\",t)})}(\"touch\"!==b.current||!rt(s.floating,e.relatedTarget))&&P(e)}function c(e){t()||o.current.floatingContext&&(null==g.current||g.current({...o.current.floatingContext,tree:h,x:e.clientX,y:e.clientY,onClose(){N(),O(),P(e)}})(e))}}),[s,l,e,d,f,m,P,O,N,r,n,v,h,y,g,o]),er((()=>{var e;if(l&&n&&null!=(e=g.current)&&e.__options.blockPointerEvents&&_()){E.current=!0;const e=s.floating;if(We(s.domReference)&&e){var t;const n=ft(s.floating).body;n.setAttribute(mr,\"\");const r=s.domReference,o=null==h||null==(t=h.nodesRef.current.find((e=>e.id===p)))||null==(t=t.context)?void 0:t.elements.floating;return o&&(o.style.pointerEvents=\"\"),n.style.pointerEvents=\"none\",r.style.pointerEvents=\"auto\",e.style.pointerEvents=\"auto\",()=>{n.style.pointerEvents=\"\",r.style.pointerEvents=\"\",e.style.pointerEvents=\"\"}}}}),[l,n,p,s,h,g,_]),er((()=>{n||(b.current=void 0,O(),N())}),[n,O,N]),a.useEffect((()=>()=>{O(),clearTimeout(x.current),clearTimeout(S.current),N()}),[l,s.domReference,O,N]);const T=a.useMemo((()=>{function e(e){b.current=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){const{nativeEvent:t}=e;function o(){k.current||v.current||r(!0,t,\"hover\")}d&&!dt(b.current)||n||0===f||(clearTimeout(S.current),\"touch\"===b.current?o():S.current=window.setTimeout(o,f))}}}),[d,r,n,v,f]),M=a.useMemo((()=>({onMouseEnter(){clearTimeout(x.current)},onMouseLeave(e){P(e.nativeEvent,!1)}})),[P]);return a.useMemo((()=>l?{reference:T,floating:M}:{}),[l,T,M])}(V,To({move:!1,enabled:!j&&M.includes(\"hover\")},D&&{handleClose:yo()})),Y=function(e,t){void 0===t&&(t={});const{open:n,onOpenChange:r,events:o,dataRef:i,elements:s}=e,{enabled:l=!0,visibleOnly:c=!0}=t,u=a.useRef(!1),d=a.useRef(),f=a.useRef(!0);a.useEffect((()=>{if(!l)return;const e=Fe(s.domReference);function t(){!n&&Ve(s.domReference)&&s.domReference===nt(ft(s.domReference))&&(u.current=!0)}function r(){f.current=!0}return e.addEventListener(\"blur\",t),e.addEventListener(\"keydown\",r,!0),()=>{e.removeEventListener(\"blur\",t),e.removeEventListener(\"keydown\",r,!0)}}),[s.domReference,n,l]),a.useEffect((()=>{if(l)return o.on(\"openchange\",e),()=>{o.off(\"openchange\",e)};function e(e){let{reason:t}=e;\"reference-press\"!==t&&\"escape-key\"!==t||(u.current=!0)}}),[o,l]),a.useEffect((()=>()=>{clearTimeout(d.current)}),[]);const m=a.useMemo((()=>({onPointerDown(e){at(e.nativeEvent)||(f.current=!1)},onMouseLeave(){u.current=!1},onFocus(e){if(u.current)return;const t=ht(e.nativeEvent);if(c&&We(t))try{if(lt()&&ut())throw Error();if(!t.matches(\":focus-visible\"))return}catch(e){if(!f.current&&!gt(t))return}r(!0,e.nativeEvent,\"focus\")},onBlur(e){u.current=!1;const t=e.relatedTarget,n=e.nativeEvent,o=We(t)&&t.hasAttribute(dr(\"focus-guard\"))&&\"outside\"===t.getAttribute(\"data-type\");d.current=window.setTimeout((()=>{var e;const a=nt(s.domReference?s.domReference.ownerDocument:document);(t||a!==s.domReference)&&(rt(null==(e=i.current.floatingContext)?void 0:e.refs.floating.current,a)||rt(s.domReference,a)||o||r(!1,n,\"focus\"))}))}})),[i,s.domReference,r,c]);return a.useMemo((()=>l?{reference:m}:{}),[l,m])}(V,{enabled:!j&&M.includes(\"focus\")}),H=ro([U,$,Y,Jr(V),fo(V,{role:\"tooltip\"})]),K=H.getReferenceProps,q=H.getFloatingProps,G=po(V,{duration:150,initial:{opacity:0},open:{opacity:1},close:{opacity:0}}),X=G.isMounted,Z=G.styles,J=null===(t={light:\"bg-tooltip-background-light text-text-primary\",dark:\"bg-tooltip-background-dark text-text-on-color\"})||void 0===t?void 0:t[s],Q=\"dark\"===s?\"text-tooltip-background-dark\":\"text-tooltip-background-light\";return l().createElement(l().Fragment,null,(0,a.isValidElement)(v)&&(0,a.cloneElement)(v,To(To({},v.props),{},{ref:_o(v.ref,B.setReference),className:oe(v.props.className)},K())),l().createElement(Ir,{id:k,root:w},X&&l().createElement(\"div\",Oo({className:oe(\"absolute z-20 py-2 px-3 rounded-md text-xs leading-4 shadow-soft-shadow-lg\",J,\"max-w-80 w-fit\",b),ref:B.setFloating,style:To(To({},W),Z)},q()),l().createElement(\"div\",null,!!f&&l().createElement(\"span\",{className:\"font-semibold\"},f),!!m&&l().createElement(\"div\",{className:\"font-normal\"},m)),p&&l().createElement(sr,{ref:F,context:V,placement:u,className:oe(\"fill-current\",Q)}))))},jo=[\"id\",\"label\",\"value\",\"children\",\"disabled\",\"icon\",\"inlineIcon\",\"hideSelection\",\"reversePosition\",\"borderOn\",\"borderOnActive\",\"badgeItem\",\"useSwitch\",\"info\",\"minWidth\"],Ao=[\"id\",\"children\",\"value\",\"disabled\",\"size\"];function Io(){return Io=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:size-3\",xs:\"[&>svg]:size-3\",sm:\"[&>svg]:size-3\",md:\"[&>svg]:size-4\",lg:\"[&>svg]:size-5\"};return p?(k=S.disabled,E+=\" cursor-not-allowed disabled\"):k=S[d],r?React.createElement(\"span\",{className:oe(\"font-medium border-badge-border-gray flex items-center justify-center border border-solid box-border\",{xxs:\"py-0.5 px-0.5 text-xs h-4\",xs:\"py-0.5 px-1 text-xs h-5\",sm:\"py-1 px-1.5 text-xs h-6\",md:\"py-1 px-1.5 text-sm h-7\",lg:\"py-1 px-1.5 text-base h-8\"}[i],{pill:\"rounded-full\",rounded:\"rounded\"}[c],\"gap-0.5\",k,a),ref:t},m?React.createElement(\"span\",{className:oe(\"justify-center flex items-center\",C[i])},m):null,React.createElement(\"span\",{className:\"px-1\"},r),b&&React.createElement(\"span\",{className:oe(E,C[i]),onClick:p?null:y,onMouseDown:w,role:\"button\",tabIndex:0},React.createElement(\"span\",{className:\"sr-only\"},\"Remove \".concat(r)),React.createElement(qo,null),React.createElement(\"span\",{className:\"absolute -inset-1\"}))):null},Xo=(0,a.forwardRef)(Go);Xo.displayName=\"Badge\";var Zo=Xo,Jo=[\"id\",\"defaultValue\",\"value\",\"size\",\"className\",\"disabled\",\"onChange\",\"error\",\"onError\"];function Qo(){return Qo=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:size-3 text-xs\",xs:\"size-6 [&>svg]:size-4 text-sm\",sm:\"size-8 [&>svg]:size-5 text-base\",md:\"size-10 [&>svg]:size-6 text-lg\",lg:\"size-12 [&>svg]:size-12 text-lg\"})||void 0===n?void 0:n[l],y=null===(r={none:\"\",subtle:\"ring-1 ring-border-transparent-subtle\",ring:\"ring ring-border-subtle\"})||void 0===r?void 0:r[f&&\"none\"===u?\"subtle\":u],v=f?\"bg-cover bg-center\":\"\";return React.createElement(\"div\",{className:oe(\"rounded-full overflow-hidden flex items-center justify-center\",!f&&p,g,y,v,h),style:f?{backgroundImage:\"url(\".concat(f,\")\")}:{}},m?\"string\"==typeof m?null==m||null===(o=m[0])||void 0===o?void 0:o.toUpperCase():m:null)};const ii=ke(\"Upload\",[[\"path\",{d:\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\",key:\"ih7n3h\"}],[\"polyline\",{points:\"17 8 12 3 7 8\",key:\"t8dd8p\"}],[\"line\",{x1:\"12\",x2:\"12\",y1:\"3\",y2:\"15\",key:\"widbto\"}]]);var si=[\"id\",\"type\",\"defaultValue\",\"value\",\"size\",\"className\",\"disabled\",\"onChange\",\"error\",\"onError\",\"prefix\",\"suffix\",\"label\"];function ai(){return ai=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0?I(t[0].name):I(null):t=e.target.value,T||\"file\"===o||D(t),\"function\"==typeof g&&g(t))},z=function(){I(null),O.current&&(O.current.value=null),g(null)},B=\"bg-field-secondary-background font-normal placeholder-text-tertiary text-text-primary w-full outline outline-1 outline-border-subtle border-none\",W={xs:\"px-2 py-1 rounded\",sm:\"p-3 py-2 rounded\",md:\"p-3.5 py-2.5 rounded-md\",lg:\"p-4 py-3 rounded-lg\"},V={xs:\"text-xs font-medium\",sm:\"text-sm font-medium\",md:\"text-sm font-medium\",lg:\"text-base font-medium\"},U={xs:\"text-xs\",sm:\"text-xs\",md:\"text-sm\",lg:\"text-base\"},$={sm:S?\"pl-8\":\"\",md:S?\"pl-9\":\"\",lg:S?\"pl-10\":\"\"},Y={sm:E?\"pr-8\":\"\",md:E?\"pr-9\":\"\",lg:E?\"pr-10\":\"\"},H=h?\"hover:outline-border-disabled\":\"hover:outline-border-strong\",K=\"focus:outline-focus-border focus:ring-2 focus:ring-toggle-on focus:ring-offset-2\",q=v?\"focus:outline-focus-error-border focus:ring-field-color-error outline-focus-error-border\":\"\",G=v?\"focus:outline-focus-error-border focus:ring-field-color-error outline-focus-error-border\":\"\",X=h?\"outline-border-disabled bg-field-background-disabled cursor-not-allowed text-text-disabled\":\"\",Z=h?\"outline-border-disabled cursor-not-allowed text-text-disabled file:text-text-tertiary\":\"\",J=\"font-normal placeholder-text-tertiary text-text-primary pointer-events-none absolute inset-y-0 flex flex-1 items-center [&>svg]:h-4 [&>svg]:w-4\",Q=h?\"font-normal placeholder-text-tertiary text-icon-disabled pointer-events-none absolute inset-y-0 flex flex-1 items-center\":\"font-normal placeholder-text-tertiary text-field-placeholder pointer-events-none absolute inset-y-0 flex flex-1 items-center\",ee={xs:\"[&>svg]:size-4\",sm:\"[&>svg]:size-4\",md:\"[&>svg]:size-5\",lg:\"[&>svg]:size-6\"},te=A?\"file:border-0 file:bg-transparent pr-10\":\"text-text-tertiary file:border-0 file:bg-transparent pr-10\";return\"file\"===o?React.createElement(\"div\",{className:\"flex flex-col items-start gap-1.5 [&_*]:box-border box-border\"},React.createElement(\"label\",{className:oe(V[u],\"text-field-label\"),htmlFor:N},_),React.createElement(\"div\",{className:oe(\"w-full relative flex focus-within:z-10\",f)},React.createElement(\"input\",ai({ref:t,id:N,type:\"file\",className:oe(B,Z,W[u],U[u],K,H,G,te),disabled:h,onChange:F,onInvalid:x},P)),React.createElement(\"div\",{className:oe(Q,\"right-0 pr-3\",ee[u])},React.createElement(ii,null)))):React.createElement(\"div\",{className:\"flex flex-col items-start gap-1.5 [&_*]:box-border box-border\"},React.createElement(\"label\",{className:oe(V[u],\"text-field-label\"),htmlFor:N},_),React.createElement(\"div\",{className:oe(\"w-full relative flex focus-within:z-10\",f)},S?React.createElement(\"div\",{className:oe(J,\"left-0 pl-3\",U[u])},S):null,React.createElement(\"input\",ai({ref:O,id:N,type:o,className:oe(B,X,W[u],U[u],$[u],Y[u],K,H,q),disabled:h,onChange:F,onInvalid:x,value:L()},P)),\"file\"===o?A?React.createElement(\"div\",{className:oe(Q,\"right-0 pr-3 cursor-pointer z-20 pointer-events-auto\",ee[u]),onClick:z,role:\"button\",tabIndex:0,onKeyDown:function(e){\"Enter\"!==e.key&&\" \"!==e.key||z()}},React.createElement(qo,null)):React.createElement(\"div\",{className:oe(Q,\"right-0 pr-3\",ee[u])},React.createElement(ii,null)):E?React.createElement(\"div\",{className:oe(J,\"right-0 pr-3\",U[u])},E):null))},di=(0,a.forwardRef)(ui);di.displayName=\"Input\";var fi=di,mi=[\"children\",\"tag\",\"size\",\"className\",\"variant\",\"required\"];function hi(){return hi=Object.assign?Object.assign.bind():function(e){for(var t=1;t*]:text-xs [&>svg]:h-3 [&>svg]:w-3\",sm:\"text-sm [&>*]:text-sm [&>svg]:h-4 [&>svg]:w-4\",md:\"text-base [&>*]:text-base [&>svg]:h-5 [&>svg]:w-5\"}[a],{neutral:\"text-field-label [&>*]:text-field-label\",help:\"text-field-helper [&>*]:text-field-helper\",error:\"text-support-error [&>*]:text-support-error\",disabled:\"text-field-color-disabled disabled cursor-not-allowed [&>*]:text-field-color-disabled\"}[f],g,u)},p),r)})),gi=pi,yi=function(e){var t=e.title,n=void 0===t?null:t,r=e.description,o=void 0===r?null:r,i=e.icon,s=void 0===i?null:i,a=e.iconPosition,l=void 0===a?\"right\":a,c=e.tag,u=void 0===c?\"h2\":c,d=e.size,f=void 0===d?\"sm\":d,m=e.className,h=void 0===m?\"\":m,p={xs:\"gap-1 [&>svg]:size-3.5\",sm:\"gap-1 [&>svg]:size-4\",md:\"gap-1.5 [&>svg]:size-5\",lg:\"gap-1.5 [&>svg]:size-5\"};if(!n)return null;var g=function(){var e=u;return React.createElement(e,{className:oe(\"font-semibold p-0 m-0\",{xs:\"text-base [&>*]:text-base gap-1\",sm:\"text-lg [&>*]:text-lg gap-1\",md:\"text-xl [&>*]:text-xl gap-1.5\",lg:\"text-2xl [&>*]:text-2xl gap-1.5\"}[f])},n)};return o?React.createElement(\"div\",{className:h},React.createElement(\"div\",null,s&&\"left\"===l&&React.createElement(\"div\",{className:oe(\"flex items-center\",p[f])},s,g()),s&&\"right\"===l&&React.createElement(\"div\",{className:oe(\"flex items-center\",p[f])},g(),s),!s&&g()),React.createElement(\"p\",{className:oe(\"text-text-secondary font-normal my-0\",{xs:\"text-sm\",sm:\"text-sm\",md:\"text-base\",lg:\"text-base\"}[f])},o)):React.createElement(\"div\",{className:h},s&&\"left\"===l&&React.createElement(\"div\",{className:oe(\"flex items-center\",p[f])},s,g()),s&&\"right\"===l&&React.createElement(\"div\",{className:oe(\"flex items-center\",p[f])},g(),s),!s&&g())};const vi=ke(\"LoaderCircle\",[[\"path\",{d:\"M21 12a9 9 0 1 1-6.219-8.56\",key:\"13zald\"}]]);var bi=function(e){var t,n,r=e.variant,o=void 0===r?\"primary\":r,i=e.size,s=void 0===i?\"md\":i,a=e.icon,l=void 0===a?null:a,c=e.className,u=void 0===c?\"\":c,d=null===(t={primary:\"text-brand-primary-600 bg-background-primary\",secondary:\"text-background-primary bg-brand-primary-600\"})||void 0===t?void 0:t[o],f=null===(n={sm:\"[&>svg]:h-4 [&>svg]:w-4\",md:\"[&>svg]:h-5 [&>svg]:w-5\",lg:\"[&>svg]:h-6 [&>svg]:w-6\",xl:\"[&>svg]:h-8 [&>svg]:w-8\"})||void 0===n?void 0:n[s];return React.createElement(\"span\",{className:oe(\"flex\",f,d,u)},l||React.createElement(vi,{className:\"animate-spin\"}))},xi=function(e){var t=e.progress,n=void 0===t?0:t,r=e.speed,o=void 0===r?200:r,i=e.className,s=void 0===i?\"\":i;if(!n)return null;var a=n;n<0&&(a=0),n>100&&(a=100);var l=\"translateX(-\".concat(100-a,\"%)\"),c=\"h-2 rounded-full bg-background-brand absolute left-0 top-0 w-full bottom-0 origin-left transition-transform duration-\".concat(o,\" ease-linear\");return React.createElement(\"div\",{className:oe(\"h-2 rounded-full bg-misc-progress-background overflow-hidden relative\",s),role:\"progressbar\",\"aria-valuenow\":a,\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"},React.createElement(\"div\",{className:c,style:{transform:l}}))},wi=[\"slug\",\"text\",\"icon\",\"className\",\"disabled\",\"isFirstChild\",\"isLastChild\"];function Si(){return Si=Object.assign?Object.assign.bind():function(e){for(var t=1;tsvg]:size-4\",sm:\"py-2 px-2 text-base gap-1 [&>svg]:size-4\",md:\"py-2.5 px-2.5 text-base gap-1 [&>svg]:size-5\"}[g],\"border-0 border-r border-border-subtle border-solid\",h===r?\"bg-button-disabled\":\"\",d?\"rounded-tl rounded-bl border-0 border-r border-border-subtle\":\"\",f?\"rounded-tr rounded-br border-0\":\"\",s);return l().createElement(\"button\",Si({ref:t,className:v,disabled:u,onClick:function(e){p(e,{slug:r,text:o})}},m),\"left\"===y&&i&&l().createElement(\"span\",{className:\"mr-1\"},i),o,\"right\"===y&&i&&l().createElement(\"span\",{className:\"ml-1\"},i))},Ci=(0,a.forwardRef)(Ei);Ci.displayName=\"Button\";var _i={Group:function(e){var t=e.children,n=e.activeItem,r=void 0===n?null:n,o=e.onChange,i=e.className,s=e.size,c=void 0===s?\"md\":s,u=e.iconPosition,d=void 0===u?\"left\":u,f=(0,a.useCallback)((function(e,t){o&&o({event:e,value:t})}),[o]),m=oe(\"box-border flex border border-border-subtle border-solid rounded\",i);return l().createElement(\"div\",{className:m},l().createElement(ki.Provider,{value:{activeItem:r,onChange:f,size:c,iconPosition:d}},l().Children.map(t,(function(e,n){if(!(0,a.isValidElement)(e))return null;var r=0===n,o=n===l().Children.count(t)-1;return l().cloneElement(e,{index:n,isFirstChild:r,isLastChild:o})}))))},Button:Ci},Pi=_i;function Oi(e){if(\"undefined\"==typeof Proxy)return e;const t=new Map;return new Proxy(e,{get:(n,r)=>(t.has(r)||t.set(r,e(r)),t.get(r))})}function Ni(e){return null!==e&&\"object\"==typeof e&&\"function\"==typeof e.start}const Ti=e=>Array.isArray(e);function Mi(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;r{t[0][n]=e.get(),t[1][n]=e.getVelocity()})),t}function ji(e,t,n,r){if(\"function\"==typeof t){const[o,i]=Di(r);t=t(void 0!==n?n:e.custom,o,i)}if(\"string\"==typeof t&&(t=e.variants&&e.variants[t]),\"function\"==typeof t){const[o,i]=Di(r);t=t(void 0!==n?n:e.custom,o,i)}return t}function Ai(e,t,n){const r=e.getProps();return ji(r,t,void 0!==n?n:r.custom,e)}const Ii=[\"animate\",\"whileInView\",\"whileFocus\",\"whileHover\",\"whileTap\",\"whileDrag\",\"exit\"],Li=[\"initial\",...Ii],Fi=[\"transformPerspective\",\"x\",\"y\",\"z\",\"translateX\",\"translateY\",\"translateZ\",\"scale\",\"scaleX\",\"scaleY\",\"rotate\",\"rotateX\",\"rotateY\",\"rotateZ\",\"skew\",\"skewX\",\"skewY\"],zi=new Set(Fi),Bi=e=>1e3*e,Wi=e=>e/1e3,Vi={type:\"spring\",stiffness:500,damping:25,restSpeed:10},Ui={type:\"keyframes\",duration:.8},$i={type:\"keyframes\",ease:[.25,.1,.35,1],duration:.3},Yi=(e,{keyframes:t})=>t.length>2?Ui:zi.has(e)?e.startsWith(\"scale\")?{type:\"spring\",stiffness:550,damping:0===t[1]?2*Math.sqrt(550):30,restSpeed:10}:Vi:$i;function Hi(e,t){return e[t]||e.default||e}const Ki=e=>null!==e;function qi(e,{repeat:t,repeatType:n=\"loop\"},r){const o=e.filter(Ki),i=t&&\"loop\"!==n&&t%2==1?0:o.length-1;return i&&void 0!==r?r:o[i]}const Gi=e=>e,Xi=[\"read\",\"resolveKeyframes\",\"update\",\"preRender\",\"render\",\"postRender\"];function Zi(e,t){let n=!1,r=!0;const o={delta:0,timestamp:0,isProcessing:!1},i=()=>n=!0,s=Xi.reduce(((e,t)=>(e[t]=function(e){let t=new Set,n=new Set,r=!1,o=!1;const i=new WeakSet;let s={delta:0,timestamp:0,isProcessing:!1};function a(t){i.has(t)&&(l.schedule(t),e()),t(s)}const l={schedule:(e,o=!1,s=!1)=>{const a=s&&r?t:n;return o&&i.add(e),a.has(e)||a.add(e),e},cancel:e=>{n.delete(e),i.delete(e)},process:e=>{s=e,r?o=!0:(r=!0,[t,n]=[n,t],n.clear(),t.forEach(a),r=!1,o&&(o=!1,l.process(e)))}};return l}(i),e)),{}),{read:a,resolveKeyframes:l,update:c,preRender:u,render:d,postRender:f}=s,m=()=>{const i=performance.now();n=!1,o.delta=r?1e3/60:Math.max(Math.min(i-o.timestamp,40),1),o.timestamp=i,o.isProcessing=!0,a.process(o),l.process(o),c.process(o),u.process(o),d.process(o),f.process(o),o.isProcessing=!1,n&&t&&(r=!1,e(m))};return{schedule:Xi.reduce(((t,i)=>{const a=s[i];return t[i]=(t,i=!1,s=!1)=>(n||(n=!0,r=!0,o.isProcessing||e(m)),a.schedule(t,i,s)),t}),{}),cancel:e=>{for(let t=0;t/^0[^.\\s]+$/u.test(e);let rs=Gi,os=Gi;const is=e=>/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)$/u.test(e),ss=e=>t=>\"string\"==typeof t&&t.startsWith(e),as=ss(\"--\"),ls=ss(\"var(--\"),cs=e=>!!ls(e)&&us.test(e.split(\"/*\")[0].trim()),us=/var\\(--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)$/iu,ds=/^var\\(--(?:([\\w-]+)|([\\w-]+), ?([a-zA-Z\\d ()%#.,-]+))\\)/u;function fs(e,t,n=1){os(n<=4,`Max CSS variable fallback depth detected in property \"${e}\". This may indicate a circular fallback dependency.`);const[r,o]=function(e){const t=ds.exec(e);if(!t)return[,];const[,n,r,o]=t;return[`--${null!=n?n:r}`,o]}(e);if(!r)return;const i=window.getComputedStyle(t).getPropertyValue(r);if(i){const e=i.trim();return is(e)?parseFloat(e):e}return cs(o)?fs(o,t,n+1):o}const ms=(e,t,n)=>n>t?t:n\"number\"==typeof e,parse:parseFloat,transform:e=>e},ps={...hs,transform:e=>ms(0,1,e)},gs={...hs,default:1},ys=e=>Math.round(1e5*e)/1e5,vs=/-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/gu,bs=/(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))/giu,xs=/^(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))$/iu;function ws(e){return\"string\"==typeof e}const Ss=e=>({test:t=>ws(t)&&t.endsWith(e)&&1===t.split(\" \").length,parse:parseFloat,transform:t=>`${t}${e}`}),ks=Ss(\"deg\"),Es=Ss(\"%\"),Cs=Ss(\"px\"),_s=Ss(\"vh\"),Ps=Ss(\"vw\"),Os={...Es,parse:e=>Es.parse(e)/100,transform:e=>Es.transform(100*e)},Ns=new Set([\"width\",\"height\",\"top\",\"left\",\"right\",\"bottom\",\"x\",\"y\",\"translateX\",\"translateY\"]),Ts=e=>e===hs||e===Cs,Ms=(e,t)=>parseFloat(e.split(\", \")[t]),Rs=(e,t)=>(n,{transform:r})=>{if(\"none\"===r||!r)return 0;const o=r.match(/^matrix3d\\((.+)\\)$/u);if(o)return Ms(o[1],t);{const t=r.match(/^matrix\\((.+)\\)$/u);return t?Ms(t[1],e):0}},Ds=new Set([\"x\",\"y\",\"z\"]),js=Fi.filter((e=>!Ds.has(e))),As={width:({x:e},{paddingLeft:t=\"0\",paddingRight:n=\"0\"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t=\"0\",paddingBottom:n=\"0\"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:Rs(4,13),y:Rs(5,14)};As.translateX=As.x,As.translateY=As.y;const Is=e=>t=>t.test(e),Ls=[hs,Cs,Es,ks,Ps,_s,{test:e=>\"auto\"===e,parse:e=>e}],Fs=e=>Ls.find(Is(e)),zs=new Set;let Bs=!1,Ws=!1;function Vs(){if(Ws){const e=Array.from(zs).filter((e=>e.needsMeasurement)),t=new Set(e.map((e=>e.element))),n=new Map;t.forEach((e=>{const t=function(e){const t=[];return js.forEach((n=>{const r=e.getValue(n);void 0!==r&&(t.push([n,r.get()]),r.set(n.startsWith(\"scale\")?1:0))})),t}(e);t.length&&(n.set(e,t),e.render())})),e.forEach((e=>e.measureInitialState())),t.forEach((e=>{e.render();const t=n.get(e);t&&t.forEach((([t,n])=>{var r;null===(r=e.getValue(t))||void 0===r||r.set(n)}))})),e.forEach((e=>e.measureEndState())),e.forEach((e=>{void 0!==e.suspendedScrollY&&window.scrollTo(0,e.suspendedScrollY)}))}Ws=!1,Bs=!1,zs.forEach((e=>e.complete())),zs.clear()}function Us(){zs.forEach((e=>{e.readKeyframes(),e.needsMeasurement&&(Ws=!0)}))}class $s{constructor(e,t,n,r,o,i=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=o,this.isAsync=i}scheduleResolve(){this.isScheduled=!0,this.isAsync?(zs.add(this),Bs||(Bs=!0,Ji.read(Us),Ji.resolveKeyframes(Vs))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;for(let o=0;on=>Boolean(ws(n)&&xs.test(n)&&n.startsWith(e)||t&&!function(e){return null==e}(n)&&Object.prototype.hasOwnProperty.call(n,t)),Hs=(e,t,n)=>r=>{if(!ws(r))return r;const[o,i,s,a]=r.match(vs);return{[e]:parseFloat(o),[t]:parseFloat(i),[n]:parseFloat(s),alpha:void 0!==a?parseFloat(a):1}},Ks={...hs,transform:e=>Math.round((e=>ms(0,255,e))(e))},qs={test:Ys(\"rgb\",\"red\"),parse:Hs(\"red\",\"green\",\"blue\"),transform:({red:e,green:t,blue:n,alpha:r=1})=>\"rgba(\"+Ks.transform(e)+\", \"+Ks.transform(t)+\", \"+Ks.transform(n)+\", \"+ys(ps.transform(r))+\")\"},Gs={test:Ys(\"#\"),parse:function(e){let t=\"\",n=\"\",r=\"\",o=\"\";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),o=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),o=e.substring(4,5),t+=t,n+=n,r+=r,o+=o),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:o?parseInt(o,16)/255:1}},transform:qs.transform},Xs={test:Ys(\"hsl\",\"hue\"),parse:Hs(\"hue\",\"saturation\",\"lightness\"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>\"hsla(\"+Math.round(e)+\", \"+Es.transform(ys(t))+\", \"+Es.transform(ys(n))+\", \"+ys(ps.transform(r))+\")\"},Zs={test:e=>qs.test(e)||Gs.test(e)||Xs.test(e),parse:e=>qs.test(e)?qs.parse(e):Xs.test(e)?Xs.parse(e):Gs.parse(e),transform:e=>ws(e)?e:e.hasOwnProperty(\"red\")?qs.transform(e):Xs.transform(e)},Js=\"number\",Qs=\"color\",ea=\"var\",ta=\"var(\",na=\"${}\",ra=/var\\s*\\(\\s*--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)|#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\)|-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/giu;function oa(e){const t=e.toString(),n=[],r={color:[],number:[],var:[]},o=[];let i=0;const s=t.replace(ra,(e=>(Zs.test(e)?(r.color.push(i),o.push(Qs),n.push(Zs.parse(e))):e.startsWith(ta)?(r.var.push(i),o.push(ea),n.push(e)):(r.number.push(i),o.push(Js),n.push(parseFloat(e))),++i,na))).split(na);return{values:n,split:s,indexes:r,types:o}}function ia(e){return oa(e).values}function sa(e){const{split:t,types:n}=oa(e),r=t.length;return e=>{let o=\"\";for(let i=0;i\"number\"==typeof e?0:e,la={test:function(e){var t,n;return isNaN(e)&&ws(e)&&((null===(t=e.match(vs))||void 0===t?void 0:t.length)||0)+((null===(n=e.match(bs))||void 0===n?void 0:n.length)||0)>0},parse:ia,createTransformer:sa,getAnimatableNone:function(e){const t=ia(e);return sa(e)(t.map(aa))}},ca=new Set([\"brightness\",\"contrast\",\"saturate\",\"opacity\"]);function ua(e){const[t,n]=e.slice(0,-1).split(\"(\");if(\"drop-shadow\"===t)return e;const[r]=n.match(vs)||[];if(!r)return e;const o=n.replace(r,\"\");let i=ca.has(t)?1:0;return r!==n&&(i*=100),t+\"(\"+i+o+\")\"}const da=/\\b([a-z-]*)\\(.*?\\)/gu,fa={...la,getAnimatableNone:e=>{const t=e.match(da);return t?t.map(ua).join(\" \"):e}},ma={...hs,transform:Math.round},ha={borderWidth:Cs,borderTopWidth:Cs,borderRightWidth:Cs,borderBottomWidth:Cs,borderLeftWidth:Cs,borderRadius:Cs,radius:Cs,borderTopLeftRadius:Cs,borderTopRightRadius:Cs,borderBottomRightRadius:Cs,borderBottomLeftRadius:Cs,width:Cs,maxWidth:Cs,height:Cs,maxHeight:Cs,size:Cs,top:Cs,right:Cs,bottom:Cs,left:Cs,padding:Cs,paddingTop:Cs,paddingRight:Cs,paddingBottom:Cs,paddingLeft:Cs,margin:Cs,marginTop:Cs,marginRight:Cs,marginBottom:Cs,marginLeft:Cs,rotate:ks,rotateX:ks,rotateY:ks,rotateZ:ks,scale:gs,scaleX:gs,scaleY:gs,scaleZ:gs,skew:ks,skewX:ks,skewY:ks,distance:Cs,translateX:Cs,translateY:Cs,translateZ:Cs,x:Cs,y:Cs,z:Cs,perspective:Cs,transformPerspective:Cs,opacity:ps,originX:Os,originY:Os,originZ:Cs,zIndex:ma,backgroundPositionX:Cs,backgroundPositionY:Cs,fillOpacity:ps,strokeOpacity:ps,numOctaves:ma},pa={...ha,color:Zs,backgroundColor:Zs,outlineColor:Zs,fill:Zs,stroke:Zs,borderColor:Zs,borderTopColor:Zs,borderRightColor:Zs,borderBottomColor:Zs,borderLeftColor:Zs,filter:fa,WebkitFilter:fa},ga=e=>pa[e];function ya(e,t){let n=ga(e);return n!==fa&&(n=la),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const va=new Set([\"auto\",\"none\",\"0\"]);class ba extends $s{constructor(e,t,n,r,o){super(e,t,n,r,o,!0)}readKeyframes(){const{unresolvedKeyframes:e,element:t,name:n}=this;if(!t||!t.current)return;super.readKeyframes();for(let n=0;n{t.getValue(e).set(n)})),this.resolveNoneKeyframes()}}function xa(e){let t;return()=>(void 0===t&&(t=e()),t)}let wa;function Sa(){wa=void 0}const ka={now:()=>(void 0===wa&&ka.set(es.isProcessing?es.timestamp:performance.now()),wa),set:e=>{wa=e,queueMicrotask(Sa)}},Ea=(e,t)=>!(\"zIndex\"===t||\"number\"!=typeof e&&!Array.isArray(e)&&(\"string\"!=typeof e||!la.test(e)&&\"0\"!==e||e.startsWith(\"url(\")));class Ca{constructor({autoplay:e=!0,delay:t=0,type:n=\"keyframes\",repeat:r=0,repeatDelay:o=0,repeatType:i=\"loop\",...s}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=ka.now(),this.options={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:o,repeatType:i,...s},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt}get resolved(){return this._resolved||this.hasAttemptedResolve||(Us(),Vs()),this._resolved}onKeyframesResolved(e,t){this.resolvedAt=ka.now(),this.hasAttemptedResolve=!0;const{name:n,type:r,velocity:o,delay:i,onComplete:s,onUpdate:a,isGenerator:l}=this.options;if(!l&&!function(e,t,n,r){const o=e[0];if(null===o)return!1;if(\"display\"===t||\"visibility\"===t)return!0;const i=e[e.length-1],s=Ea(o,t),a=Ea(i,t);return rs(s===a,`You are trying to animate ${t} from \"${o}\" to \"${i}\". ${o} is not an animatable value - to enable this animation set ${o} to a value animatable to ${i} via the \\`style\\` property.`),!(!s||!a)&&(function(e){const t=e[0];if(1===e.length)return!0;for(let n=0;n{this.resolveFinishedPromise=e}))}}function _a(e,t){return t?e*(1e3/t):0}const Pa=5;function Oa(e,t,n){const r=Math.max(t-Pa,0);return _a(n-e(r),t-r)}const Na=.001,Ta=.01,Ma=10,Ra=.05,Da=1;const ja=12;function Aa(e,t){return e*Math.sqrt(1-t*t)}const Ia=[\"duration\",\"bounce\"],La=[\"stiffness\",\"damping\",\"mass\"];function Fa(e,t){return t.some((t=>void 0!==e[t]))}function za({keyframes:e,restDelta:t,restSpeed:n,...r}){const o=e[0],i=e[e.length-1],s={done:!1,value:o},{stiffness:a,damping:l,mass:c,duration:u,velocity:d,isResolvedFromDuration:f}=function(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!Fa(e,La)&&Fa(e,Ia)){const n=function({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let o,i;rs(e<=Bi(Ma),\"Spring duration must be 10 seconds or less\");let s=1-t;s=ms(Ra,Da,s),e=ms(Ta,Ma,Wi(e)),s<1?(o=t=>{const r=t*s,o=r*e,i=r-n,a=Aa(t,s),l=Math.exp(-o);return Na-i/a*l},i=t=>{const r=t*s*e,i=r*n+n,a=Math.pow(s,2)*Math.pow(t,2)*e,l=Math.exp(-r),c=Aa(Math.pow(t,2),s);return(-o(t)+Na>0?-1:1)*((i-a)*l)/c}):(o=t=>Math.exp(-t*e)*((t-n)*e+1)-Na,i=t=>Math.exp(-t*e)*(e*e*(n-t)));const a=function(e,t,n){let r=n;for(let n=1;n{const n=Math.exp(-h*g*t);return i-n*((m+h*g*p)/e*Math.sin(e*t)+p*Math.cos(e*t))}}else if(1===h)v=e=>i-Math.exp(-g*e)*(p+(m+g*p)*e);else{const e=g*Math.sqrt(h*h-1);v=t=>{const n=Math.exp(-h*g*t),r=Math.min(e*t,300);return i-n*((m+h*g*p)*Math.sinh(r)+e*p*Math.cosh(r))/e}}return{calculatedDuration:f&&u||null,next:e=>{const r=v(e);if(f)s.done=e>=u;else{let o=0;h<1&&(o=0===e?Bi(m):Oa(v,e,r));const a=Math.abs(o)<=n,l=Math.abs(i-r)<=t;s.done=a&&l}return s.value=s.done?i:r,s}}}function Ba({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:o=10,bounceStiffness:i=500,modifyTarget:s,min:a,max:l,restDelta:c=.5,restSpeed:u}){const d=e[0],f={done:!1,value:d},m=e=>void 0===a?l:void 0===l||Math.abs(a-e)-h*Math.exp(-e/r),v=e=>g+y(e),b=e=>{const t=y(e),n=v(e);f.done=Math.abs(t)<=c,f.value=f.done?g:n};let x,w;const S=e=>{(e=>void 0!==a&&el)(f.value)&&(x=e,w=za({keyframes:[f.value,m(f.value)],velocity:Oa(v,e,f.value),damping:o,stiffness:i,restDelta:c,restSpeed:u}))};return S(0),{calculatedDuration:null,next:e=>{let t=!1;return w||void 0!==x||(t=!0,b(e),S(e)),void 0!==x&&e>=x?w.next(e-x):(!t&&b(e),f)}}}const Wa=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e;function Va(e,t,n,r){if(e===t&&n===r)return Gi;return o=>0===o||1===o?o:Wa(function(e,t,n,r,o){let i,s,a=0;do{s=t+(n-t)/2,i=Wa(s,r,o)-e,i>0?n=s:t=s}while(Math.abs(i)>1e-7&&++a<12);return s}(o,0,1,e,n),t,r)}const Ua=Va(.42,0,1,1),$a=Va(0,0,.58,1),Ya=Va(.42,0,.58,1),Ha=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Ka=e=>t=>1-e(1-t),qa=e=>1-Math.sin(Math.acos(e)),Ga=Ka(qa),Xa=Ha(qa),Za=Va(.33,1.53,.69,.99),Ja=Ka(Za),Qa=Ha(Ja),el={linear:Gi,easeIn:Ua,easeInOut:Ya,easeOut:$a,circIn:qa,circInOut:Xa,circOut:Ga,backIn:Ja,backInOut:Qa,backOut:Za,anticipate:e=>(e*=2)<1?.5*Ja(e):.5*(2-Math.pow(2,-10*(e-1)))},tl=e=>{if(Array.isArray(e)){os(4===e.length,\"Cubic bezier arrays must contain four numerical values.\");const[t,n,r,o]=e;return Va(t,n,r,o)}return\"string\"==typeof e?(os(void 0!==el[e],`Invalid easing type '${e}'`),el[e]):e},nl=(e,t)=>n=>t(e(n)),rl=(...e)=>e.reduce(nl),ol=(e,t,n)=>{const r=t-e;return 0===r?1:(n-e)/r},il=(e,t,n)=>e+(t-e)*n;function sl(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function al(e,t){return n=>n>0?t:e}const ll=(e,t,n)=>{const r=e*e,o=n*(t*t-r)+r;return o<0?0:Math.sqrt(o)},cl=[Gs,qs,Xs];function ul(e){const t=(e=>cl.find((t=>t.test(e))))(e);if(rs(Boolean(t),`'${e}' is not an animatable color. Use the equivalent color code instead.`),!Boolean(t))return!1;let n=t.parse(e);return t===Xs&&(n=function({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,n/=100;let o=0,i=0,s=0;if(t/=100){const r=n<.5?n*(1+t):n+t-n*t,a=2*n-r;o=sl(a,r,e+1/3),i=sl(a,r,e),s=sl(a,r,e-1/3)}else o=i=s=n;return{red:Math.round(255*o),green:Math.round(255*i),blue:Math.round(255*s),alpha:r}}(n)),n}const dl=(e,t)=>{const n=ul(e),r=ul(t);if(!n||!r)return al(e,t);const o={...n};return e=>(o.red=ll(n.red,r.red,e),o.green=ll(n.green,r.green,e),o.blue=ll(n.blue,r.blue,e),o.alpha=il(n.alpha,r.alpha,e),qs.transform(o))},fl=new Set([\"none\",\"hidden\"]);function ml(e,t){return n=>il(e,t,n)}function hl(e){return\"number\"==typeof e?ml:\"string\"==typeof e?cs(e)?al:Zs.test(e)?dl:yl:Array.isArray(e)?pl:\"object\"==typeof e?Zs.test(e)?dl:gl:al}function pl(e,t){const n=[...e],r=n.length,o=e.map(((e,n)=>hl(e)(e,t[n])));return e=>{for(let t=0;t{for(const t in r)n[t]=r[t](e);return n}}const yl=(e,t)=>{const n=la.createTransformer(t),r=oa(e),o=oa(t);return r.indexes.var.length===o.indexes.var.length&&r.indexes.color.length===o.indexes.color.length&&r.indexes.number.length>=o.indexes.number.length?fl.has(e)&&!o.values.length||fl.has(t)&&!r.values.length?function(e,t){return fl.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}(e,t):rl(pl(function(e,t){var n;const r=[],o={color:0,var:0,number:0};for(let i=0;iArray.isArray(e)&&\"number\"!=typeof e[0])(r)?r.map(tl):tl(r),i={done:!1,value:t[0]},s=function(e,t){return e.map((e=>e*t))}(n&&n.length===t.length?n:function(e){const t=[0];return function(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const o=ol(0,t,r);e.push(il(n,1,o))}}(t,e.length-1),t}(t),e),a=function(e,t,{clamp:n=!0,ease:r,mixer:o}={}){const i=e.length;if(os(i===t.length,\"Both input and output ranges must be the same length\"),1===i)return()=>t[0];if(2===i&&e[0]===e[1])return()=>t[1];e[0]>e[i-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=function(e,t,n){const r=[],o=n||vl,i=e.length-1;for(let n=0;n{let n=0;if(a>1)for(;nl(ms(e[0],e[i-1],t)):l}(s,t,{ease:Array.isArray(o)?o:(l=t,c=o,l.map((()=>c||Ya)).splice(0,l.length-1))});var l,c;return{calculatedDuration:e,next:t=>(i.value=a(t),i.done=t>=e,i)}}const xl=e=>{const t=({timestamp:t})=>e(t);return{start:()=>Ji.update(t,!0),stop:()=>Qi(t),now:()=>es.isProcessing?es.timestamp:ka.now()}},wl={decay:Ba,inertia:Ba,tween:bl,keyframes:bl,spring:za},Sl=e=>e/100;class kl extends Ca{constructor(e){super(e),this.holdTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState=\"running\",this.startTime=null,this.state=\"idle\",this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,\"idle\"===this.state)return;this.teardown();const{onStop:e}=this.options;e&&e()};const{name:t,motionValue:n,element:r,keyframes:o}=this.options,i=(null==r?void 0:r.KeyframeResolver)||$s;this.resolver=new i(o,((e,t)=>this.onKeyframesResolved(e,t)),t,n,r),this.resolver.scheduleResolve()}initPlayback(e){const{type:t=\"keyframes\",repeat:n=0,repeatDelay:r=0,repeatType:o,velocity:i=0}=this.options,s=wl[t]||bl;let a,l;s!==bl&&\"number\"!=typeof e[0]&&(a=rl(Sl,vl(e[0],e[1])),e=[0,100]);const c=s({...this.options,keyframes:e});\"mirror\"===o&&(l=s({...this.options,keyframes:[...e].reverse(),velocity:-i})),null===c.calculatedDuration&&(c.calculatedDuration=function(e){let t=0,n=e.next(t);for(;!n.done&&t<2e4;)t+=50,n=e.next(t);return t>=2e4?1/0:t}(c));const{calculatedDuration:u}=c,d=u+r;return{generator:c,mirroredGenerator:l,mapPercentToKeyframes:a,calculatedDuration:u,resolvedDuration:d,totalDuration:d*(n+1)-r}}onPostResolved(){const{autoplay:e=!0}=this.options;this.play(),\"paused\"!==this.pendingPlayState&&e?this.state=this.pendingPlayState:this.pause()}tick(e,t=!1){const{resolved:n}=this;if(!n){const{keyframes:e}=this.options;return{done:!0,value:e[e.length-1]}}const{finalKeyframe:r,generator:o,mirroredGenerator:i,mapPercentToKeyframes:s,keyframes:a,calculatedDuration:l,totalDuration:c,resolvedDuration:u}=n;if(null===this.startTime)return o.next(0);const{delay:d,repeat:f,repeatType:m,repeatDelay:h,onUpdate:p}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-c/this.speed,this.startTime)),t?this.currentTime=e:null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=Math.round(e-this.startTime)*this.speed;const g=this.currentTime-d*(this.speed>=0?1:-1),y=this.speed>=0?g<0:g>c;this.currentTime=Math.max(g,0),\"finished\"===this.state&&null===this.holdTime&&(this.currentTime=c);let v=this.currentTime,b=o;if(f){const e=Math.min(this.currentTime,c)/u;let t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),1===n&&t--,t=Math.min(t,f+1),Boolean(t%2)&&(\"reverse\"===m?(n=1-n,h&&(n-=h/u)):\"mirror\"===m&&(b=i)),v=ms(0,1,n)*u}const x=y?{done:!1,value:a[0]}:b.next(v);s&&(x.value=s(x.value));let{done:w}=x;y||null===l||(w=this.speed>=0?this.currentTime>=c:this.currentTime<=0);const S=null===this.holdTime&&(\"finished\"===this.state||\"running\"===this.state&&w);return S&&void 0!==r&&(x.value=qi(a,this.options,r)),p&&p(x.value),S&&this.finish(),x}get duration(){const{resolved:e}=this;return e?Wi(e.calculatedDuration):0}get time(){return Wi(this.currentTime)}set time(e){e=Bi(e),this.currentTime=e,null!==this.holdTime||0===this.speed?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.speed)}get speed(){return this.playbackSpeed}set speed(e){const t=this.playbackSpeed!==e;this.playbackSpeed=e,t&&(this.time=Wi(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved)return void(this.pendingPlayState=\"running\");if(this.isStopped)return;const{driver:e=xl,onPlay:t,startTime:n}=this.options;this.driver||(this.driver=e((e=>this.tick(e)))),t&&t();const r=this.driver.now();null!==this.holdTime?this.startTime=r-this.holdTime:this.startTime?\"finished\"===this.state&&(this.startTime=r):this.startTime=null!=n?n:this.calcStartTime(),\"finished\"===this.state&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state=\"running\",this.driver.start()}pause(){var e;this._resolved?(this.state=\"paused\",this.holdTime=null!==(e=this.currentTime)&&void 0!==e?e:0):this.pendingPlayState=\"paused\"}complete(){\"running\"!==this.state&&this.play(),this.pendingPlayState=this.state=\"finished\",this.holdTime=null}finish(){this.teardown(),this.state=\"finished\";const{onComplete:e}=this.options;e&&e()}cancel(){null!==this.cancelTime&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state=\"idle\",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}}const El=new Set([\"opacity\",\"clipPath\",\"filter\",\"transform\"]),Cl=e=>Array.isArray(e)&&\"number\"==typeof e[0];function _l(e){return Boolean(!e||\"string\"==typeof e&&e in Ol||Cl(e)||Array.isArray(e)&&e.every(_l))}const Pl=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,Ol={linear:\"linear\",ease:\"ease\",easeIn:\"ease-in\",easeOut:\"ease-out\",easeInOut:\"ease-in-out\",circIn:Pl([0,.65,.55,1]),circOut:Pl([.55,0,1,.45]),backIn:Pl([.31,.01,.66,-.59]),backOut:Pl([.33,1.53,.69,.99])};function Nl(e){return Tl(e)||Ol.easeOut}function Tl(e){return e?Cl(e)?Pl(e):Array.isArray(e)?e.map(Nl):Ol[e]:void 0}const Ml=xa((()=>Object.hasOwnProperty.call(Element.prototype,\"animate\")));class Rl extends Ca{constructor(e){super(e);const{name:t,motionValue:n,element:r,keyframes:o}=this.options;this.resolver=new ba(o,((e,t)=>this.onKeyframesResolved(e,t)),t,n,r),this.resolver.scheduleResolve()}initPlayback(e,t){var n;let{duration:r=300,times:o,ease:i,type:s,motionValue:a,name:l,startTime:c}=this.options;if(!(null===(n=a.owner)||void 0===n?void 0:n.current))return!1;if(\"spring\"===(u=this.options).type||!_l(u.ease)){const{onComplete:t,onUpdate:n,motionValue:a,element:l,...c}=this.options,u=function(e,t){const n=new kl({...t,keyframes:e,repeat:0,delay:0,isGenerator:!0});let r={done:!1,value:e[0]};const o=[];let i=0;for(;!r.done&&i<2e4;)r=n.sample(i),o.push(r.value),i+=10;return{times:void 0,keyframes:o,duration:i-10,ease:\"linear\"}}(e,c);1===(e=u.keyframes).length&&(e[1]=e[0]),r=u.duration,o=u.times,i=u.ease,s=\"keyframes\"}var u;const d=function(e,t,n,{delay:r=0,duration:o=300,repeat:i=0,repeatType:s=\"loop\",ease:a,times:l}={}){const c={[t]:n};l&&(c.offset=l);const u=Tl(a);return Array.isArray(u)&&(c.easing=u),e.animate(c,{delay:r,duration:o,easing:Array.isArray(u)?\"linear\":u,fill:\"both\",iterations:i+1,direction:\"reverse\"===s?\"alternate\":\"normal\"})}(a.owner.current,l,e,{...this.options,duration:r,times:o,ease:i});return d.startTime=null!=c?c:this.calcStartTime(),this.pendingTimeline?(d.timeline=this.pendingTimeline,this.pendingTimeline=void 0):d.onfinish=()=>{const{onComplete:n}=this.options;a.set(qi(e,this.options,t)),n&&n(),this.cancel(),this.resolveFinishedPromise()},{animation:d,duration:r,times:o,type:s,ease:i,keyframes:e}}get duration(){const{resolved:e}=this;if(!e)return 0;const{duration:t}=e;return Wi(t)}get time(){const{resolved:e}=this;if(!e)return 0;const{animation:t}=e;return Wi(t.currentTime||0)}set time(e){const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.currentTime=Bi(e)}get speed(){const{resolved:e}=this;if(!e)return 1;const{animation:t}=e;return t.playbackRate}set speed(e){const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.playbackRate=e}get state(){const{resolved:e}=this;if(!e)return\"idle\";const{animation:t}=e;return t.playState}get startTime(){const{resolved:e}=this;if(!e)return null;const{animation:t}=e;return t.startTime}attachTimeline(e){if(this._resolved){const{resolved:t}=this;if(!t)return Gi;const{animation:n}=t;n.timeline=e,n.onfinish=null}else this.pendingTimeline=e;return Gi}play(){if(this.isStopped)return;const{resolved:e}=this;if(!e)return;const{animation:t}=e;\"finished\"===t.playState&&this.updateFinishedPromise(),t.play()}pause(){const{resolved:e}=this;if(!e)return;const{animation:t}=e;t.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,\"idle\"===this.state)return;this.resolveFinishedPromise(),this.updateFinishedPromise();const{resolved:e}=this;if(!e)return;const{animation:t,keyframes:n,duration:r,type:o,ease:i,times:s}=e;if(\"idle\"===t.playState||\"finished\"===t.playState)return;if(this.time){const{motionValue:e,onUpdate:t,onComplete:a,element:l,...c}=this.options,u=new kl({...c,keyframes:n,duration:r,type:o,ease:i,times:s,isGenerator:!0}),d=Bi(this.time);e.setWithVelocity(u.sample(d-10).value,u.sample(d).value,10)}const{onStop:a}=this.options;a&&a(),this.cancel()}complete(){const{resolved:e}=this;e&&e.animation.finish()}cancel(){const{resolved:e}=this;e&&e.animation.cancel()}static supports(e){const{motionValue:t,name:n,repeatDelay:r,repeatType:o,damping:i,type:s}=e;return Ml()&&n&&El.has(n)&&t&&t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate&&!r&&\"mirror\"!==o&&0!==i&&\"inertia\"!==s}}const Dl=xa((()=>void 0!==window.ScrollTimeline));class jl{constructor(e){this.stop=()=>this.runAll(\"stop\"),this.animations=e.filter(Boolean)}then(e,t){return Promise.all(this.animations).then(e).catch(t)}getAll(e){return this.animations[0][e]}setAll(e,t){for(let n=0;n{if(!Dl()||!t.attachTimeline)return t.pause(),function(e,n){let r;const o=()=>{const{currentTime:e}=n,o=(null===e?0:e.value)/100;r!==o&&(e=>{t.time=t.duration*e})(o),r=o};return Ji.update(o,!0),()=>Qi(o)}(0,e);t.attachTimeline(e)}));return()=>{t.forEach(((e,t)=>{e&&e(),this.animations[t].stop()}))}}get time(){return this.getAll(\"time\")}set time(e){this.setAll(\"time\",e)}get speed(){return this.getAll(\"speed\")}set speed(e){this.setAll(\"speed\",e)}get startTime(){return this.getAll(\"startTime\")}get duration(){let e=0;for(let t=0;tt[e]()))}play(){this.runAll(\"play\")}pause(){this.runAll(\"pause\")}cancel(){this.runAll(\"cancel\")}complete(){this.runAll(\"complete\")}}const Al=(e,t,n,r={},o,i,s)=>a=>{const l=Hi(r,e)||{},c=l.delay||r.delay||0;let{elapsed:u=0}=r;u-=Bi(c);let d={keyframes:Array.isArray(n)?n:[null,n],ease:\"easeOut\",velocity:t.getVelocity(),...l,delay:-u,onUpdate:e=>{t.set(e),l.onUpdate&&l.onUpdate(e)},onComplete:()=>{a(),l.onComplete&&l.onComplete(),s&&s()},onStop:s,name:e,motionValue:t,element:i?void 0:o};(function({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:o,repeat:i,repeatType:s,repeatDelay:a,from:l,elapsed:c,...u}){return!!Object.keys(u).length})(l)||(d={...d,...Yi(e,d)}),d.duration&&(d.duration=Bi(d.duration)),d.repeatDelay&&(d.repeatDelay=Bi(d.repeatDelay)),void 0!==d.from&&(d.keyframes[0]=d.from);let f=!1;if((!1===d.type||0===d.duration&&!d.repeatDelay)&&(d.duration=0,0===d.delay&&(f=!0)),f&&!i&&void 0!==t.get()){const e=qi(d.keyframes,l);if(void 0!==e)return Ji.update((()=>{d.onUpdate(e),d.onComplete()})),new jl([])}return!i&&Rl.supports(d)?new Rl(d):new kl(d)},Il=e=>Boolean(e&&\"object\"==typeof e&&e.mix&&e.toValue),Ll=e=>Ti(e)?e[e.length-1]||0:e;function Fl(e,t){-1===e.indexOf(t)&&e.push(t)}function zl(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class Bl{constructor(){this.subscriptions=[]}add(e){return Fl(this.subscriptions,e),()=>zl(this.subscriptions,e)}notify(e,t,n){const r=this.subscriptions.length;if(r)if(1===r)this.subscriptions[0](e,t,n);else for(let o=0;o{const n=ka.now();this.updatedAt!==n&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),t&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){var t;this.current=e,this.updatedAt=ka.now(),null===this.canTrackVelocity&&void 0!==e&&(this.canTrackVelocity=(t=this.current,!isNaN(parseFloat(t))))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on(\"change\",e)}on(e,t){this.events[e]||(this.events[e]=new Bl);const n=this.events[e].add(t);return\"change\"===e?()=>{n(),Ji.read((()=>{this.events.change.getSize()||this.stop()}))}:n}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e,t=!0){t&&this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e,t)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return Wl.current&&Wl.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){const e=ka.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||e-this.updatedAt>30)return 0;const t=Math.min(this.updatedAt-this.prevUpdatedAt,30);return _a(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise((t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()})).then((()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()}))}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Ul(e,t){return new Vl(e,t)}function $l(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Ul(n))}const Yl=e=>e.replace(/([a-z])([A-Z])/gu,\"$1-$2\").toLowerCase(),Hl=\"data-\"+Yl(\"framerAppearId\");function Kl(e){return e.props[Hl]}function ql(e){return zi.has(e)?\"transform\":El.has(e)?Yl(e):void 0}class Gl extends Vl{constructor(){super(...arguments),this.output=[],this.counts=new Map}add(e){const t=ql(e);if(!t)return;const n=this.counts.get(t)||0;this.counts.set(t,n+1),0===n&&(this.output.push(t),this.update());let r=!1;return()=>{if(r)return;r=!0;const e=this.counts.get(t)-1;this.counts.set(t,e),0===e&&(zl(this.output,t),this.update())}}update(){this.set(this.output.length?this.output.join(\", \"):\"auto\")}}const Xl=e=>Boolean(e&&e.getVelocity);function Zl(e,t){var n;if(!e.applyWillChange)return;let r=e.getValue(\"willChange\");return r||(null===(n=e.props.style)||void 0===n?void 0:n.willChange)||(r=new Gl(\"auto\"),e.addValue(\"willChange\",r)),o=r,Boolean(Xl(o)&&o.add)?r.add(t):void 0;var o}function Jl({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&!0!==t[n];return t[n]=!1,r}function Ql(e,t,{delay:n=0,transitionOverride:r,type:o}={}){var i;let{transition:s=e.getDefaultTransition(),transitionEnd:a,...l}=t;r&&(s=r);const c=[],u=o&&e.animationState&&e.animationState.getState()[o];for(const t in l){const r=e.getValue(t,null!==(i=e.latestValues[t])&&void 0!==i?i:null),o=l[t];if(void 0===o||u&&Jl(u,t))continue;const a={delay:n,...Hi(s||{},t)};let d=!1;if(window.MotionHandoffAnimation){const n=Kl(e);if(n){const e=window.MotionHandoffAnimation(n,t,Ji);null!==e&&(a.startTime=e,d=!0)}}r.start(Al(t,r,o,e.shouldReduceMotion&&zi.has(t)?{type:!1}:a,e,d,Zl(e,t)));const f=r.animation;f&&c.push(f)}return a&&Promise.all(c).then((()=>{Ji.update((()=>{a&&function(e,t){const n=Ai(e,t);let{transitionEnd:r={},transition:o={},...i}=n||{};i={...i,...r};for(const t in i)$l(e,t,Ll(i[t]))}(e,a)}))})),c}function ec(e,t,n={}){var r;const o=Ai(e,t,\"exit\"===n.type?null===(r=e.presenceContext)||void 0===r?void 0:r.custom:void 0);let{transition:i=e.getDefaultTransition()||{}}=o||{};n.transitionOverride&&(i=n.transitionOverride);const s=o?()=>Promise.all(Ql(e,o,n)):()=>Promise.resolve(),a=e.variantChildren&&e.variantChildren.size?(r=0)=>{const{delayChildren:o=0,staggerChildren:s,staggerDirection:a}=i;return function(e,t,n=0,r=0,o=1,i){const s=[],a=(e.variantChildren.size-1)*r,l=1===o?(e=0)=>e*r:(e=0)=>a-e*r;return Array.from(e.variantChildren).sort(tc).forEach(((e,r)=>{e.notify(\"AnimationStart\",t),s.push(ec(e,t,{...i,delay:n+l(r)}).then((()=>e.notify(\"AnimationComplete\",t))))})),Promise.all(s)}(e,t,o+r,s,a,n)}:()=>Promise.resolve(),{when:l}=i;if(l){const[e,t]=\"beforeChildren\"===l?[s,a]:[a,s];return e().then((()=>t()))}return Promise.all([s(),a(n.delay)])}function tc(e,t){return e.sortNodePosition(t)}const nc=[...Ii].reverse(),rc=Ii.length;function oc(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function ic(){return{animate:oc(!0),whileInView:oc(),whileHover:oc(),whileTap:oc(),whileDrag:oc(),whileFocus:oc(),exit:oc()}}class sc{constructor(e){this.isMounted=!1,this.node=e}update(){}}let ac=0;const lc={animation:{Feature:class extends sc{constructor(e){super(e),e.animationState||(e.animationState=function(e){let t=function(e){return t=>Promise.all(t.map((({animation:t,options:n})=>function(e,t,n={}){let r;if(e.notify(\"AnimationStart\",t),Array.isArray(t)){const o=t.map((t=>ec(e,t,n)));r=Promise.all(o)}else if(\"string\"==typeof t)r=ec(e,t,n);else{const o=\"function\"==typeof t?Ai(e,t,n.custom):t;r=Promise.all(Ql(e,o,n))}return r.then((()=>{e.notify(\"AnimationComplete\",t)}))}(e,t,n))))}(e),n=ic(),r=!0;const o=t=>(n,r)=>{var o;const i=Ai(e,r,\"exit\"===t?null===(o=e.presenceContext)||void 0===o?void 0:o.custom:void 0);if(i){const{transition:e,transitionEnd:t,...r}=i;n={...n,...r,...t}}return n};function i(i){const s=e.getProps(),a=e.getVariantContext(!0)||{},l=[],c=new Set;let u={},d=1/0;for(let t=0;td&&y),w=!1;const S=Array.isArray(g)?g:[g];let k=S.reduce(o(h),{});!1===v&&(k={});const{prevResolvedValues:E={}}=p,C={...E,...k},_=t=>{x=!0,c.has(t)&&(w=!0,c.delete(t)),p.needsAnimating[t]=!0;const n=e.getValue(t);n&&(n.liveStyle=!1)};for(const e in C){const t=k[e],n=E[e];if(u.hasOwnProperty(e))continue;let r=!1;r=Ti(t)&&Ti(n)?!Mi(t,n):t!==n,r?null!=t?_(e):c.add(e):void 0!==t&&c.has(e)?_(e):p.protectedKeys[e]=!0}p.prevProp=g,p.prevResolvedValues=k,p.isActive&&(u={...u,...k}),r&&e.blockInitialAnimation&&(x=!1),!x||b&&!w||l.push(...S.map((e=>({animation:e,options:{type:h}}))))}var f,m;if(c.size){const t={};c.forEach((n=>{const r=e.getBaseTarget(n),o=e.getValue(n);o&&(o.liveStyle=!0),t[n]=null!=r?r:null})),l.push({animation:t})}let h=Boolean(l.length);return!r||!1!==s.initial&&s.initial!==s.animate||e.manuallyAnimateOnMount||(h=!1),r=!1,h?t(l):Promise.resolve()}return{animateChanges:i,setActive:function(t,r){var o;if(n[t].isActive===r)return Promise.resolve();null===(o=e.variantChildren)||void 0===o||o.forEach((e=>{var n;return null===(n=e.animationState)||void 0===n?void 0:n.setActive(t,r)})),n[t].isActive=r;const s=i(t);for(const e in n)n[e].protectedKeys={};return s},setAnimateFunction:function(n){t=n(e)},getState:()=>n,reset:()=>{n=ic(),r=!0}}}(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();Ni(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){var e;this.node.animationState.reset(),null===(e=this.unmountControls)||void 0===e||e.call(this)}}},exit:{Feature:class extends sc{constructor(){super(...arguments),this.id=ac++}update(){if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;const r=this.node.animationState.setActive(\"exit\",!e);t&&!e&&r.then((()=>t(this.id)))}mount(){const{register:e}=this.node.presenceContext||{};e&&(this.unmount=e(this.id))}unmount(){}}}},cc=e=>\"mouse\"===e.pointerType?\"number\"!=typeof e.button||e.button<=0:!1!==e.isPrimary;function uc(e,t=\"page\"){return{point:{x:e[`${t}X`],y:e[`${t}Y`]}}}const dc=e=>t=>cc(t)&&e(t,uc(t));function fc(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}function mc(e,t,n,r){return fc(e,t,dc(n),r)}const hc=(e,t)=>Math.abs(e-t);class pc{constructor(e,t,{transformPagePoint:n,contextWindow:r,dragSnapToOrigin:o=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!this.lastMoveEvent||!this.lastMoveEventInfo)return;const e=vc(this.lastMoveEventInfo,this.history),t=null!==this.startEvent,n=function(e,t){const n=hc(e.x,t.x),r=hc(e.y,t.y);return Math.sqrt(n**2+r**2)}(e.offset,{x:0,y:0})>=3;if(!t&&!n)return;const{point:r}=e,{timestamp:o}=es;this.history.push({...r,timestamp:o});const{onStart:i,onMove:s}=this.handlers;t||(i&&i(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),s&&s(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastMoveEventInfo=gc(t,this.transformPagePoint),Ji.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();const{onEnd:n,onSessionEnd:r,resumeAnimation:o}=this.handlers;if(this.dragSnapToOrigin&&o&&o(),!this.lastMoveEvent||!this.lastMoveEventInfo)return;const i=vc(\"pointercancel\"===e.type?this.lastMoveEventInfo:gc(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,i),r&&r(e,i)},!cc(e))return;this.dragSnapToOrigin=o,this.handlers=t,this.transformPagePoint=n,this.contextWindow=r||window;const i=gc(uc(e),this.transformPagePoint),{point:s}=i,{timestamp:a}=es;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=t;l&&l(e,vc(i,this.history)),this.removeListeners=rl(mc(this.contextWindow,\"pointermove\",this.handlePointerMove),mc(this.contextWindow,\"pointerup\",this.handlePointerUp),mc(this.contextWindow,\"pointercancel\",this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),Qi(this.updatePoint)}}function gc(e,t){return t?{point:t(e.point)}:e}function yc(e,t){return{x:e.x-t.x,y:e.y-t.y}}function vc({point:e},t){return{point:e,delta:yc(e,xc(t)),offset:yc(e,bc(t)),velocity:wc(t,.1)}}function bc(e){return e[0]}function xc(e){return e[e.length-1]}function wc(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const o=xc(e);for(;n>=0&&(r=e[n],!(o.timestamp-r.timestamp>Bi(t)));)n--;if(!r)return{x:0,y:0};const i=Wi(o.timestamp-r.timestamp);if(0===i)return{x:0,y:0};const s={x:(o.x-r.x)/i,y:(o.y-r.y)/i};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Sc(e){let t=null;return()=>null===t&&(t=e,()=>{t=null})}const kc=Sc(\"dragHorizontal\"),Ec=Sc(\"dragVertical\");function Cc(e){let t=!1;if(\"y\"===e)t=Ec();else if(\"x\"===e)t=kc();else{const e=kc(),n=Ec();e&&n?t=()=>{e(),n()}:(e&&e(),n&&n())}return t}function _c(){const e=Cc(!0);return!e||(e(),!1)}function Pc(e){return e&&\"object\"==typeof e&&Object.prototype.hasOwnProperty.call(e,\"current\")}const Oc=.9999,Nc=1.0001,Tc=-.01,Mc=.01;function Rc(e){return e.max-e.min}function Dc(e,t,n,r=.5){e.origin=r,e.originPoint=il(t.min,t.max,e.origin),e.scale=Rc(n)/Rc(t),e.translate=il(n.min,n.max,e.origin)-e.originPoint,(e.scale>=Oc&&e.scale<=Nc||isNaN(e.scale))&&(e.scale=1),(e.translate>=Tc&&e.translate<=Mc||isNaN(e.translate))&&(e.translate=0)}function jc(e,t,n,r){Dc(e.x,t.x,n.x,r?r.originX:void 0),Dc(e.y,t.y,n.y,r?r.originY:void 0)}function Ac(e,t,n){e.min=n.min+t.min,e.max=e.min+Rc(t)}function Ic(e,t,n){e.min=t.min-n.min,e.max=e.min+Rc(t)}function Lc(e,t,n){Ic(e.x,t.x,n.x),Ic(e.y,t.y,n.y)}function Fc(e,t,n){return{min:void 0!==t?e.min+t:void 0,max:void 0!==n?e.max+n-(e.max-e.min):void 0}}function zc(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min({x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}}),$c=()=>({x:{min:0,max:0},y:{min:0,max:0}});function Yc(e){return[e(\"x\"),e(\"y\")]}function Hc({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function Kc(e){return void 0===e||1===e}function qc({scale:e,scaleX:t,scaleY:n}){return!Kc(e)||!Kc(t)||!Kc(n)}function Gc(e){return qc(e)||Xc(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Xc(e){return Zc(e.x)||Zc(e.y)}function Zc(e){return e&&\"0%\"!==e}function Jc(e,t,n){return n+t*(e-n)}function Qc(e,t,n,r,o){return void 0!==o&&(e=Jc(e,o,r)),Jc(e,n,r)+t}function eu(e,t=0,n=1,r,o){e.min=Qc(e.min,t,n,r,o),e.max=Qc(e.max,t,n,r,o)}function tu(e,{x:t,y:n}){eu(e.x,t.translate,t.scale,t.originPoint),eu(e.y,n.translate,n.scale,n.originPoint)}const nu=.999999999999,ru=1.0000000000001;function ou(e,t){e.min=e.min+t,e.max=e.max+t}function iu(e,t,n,r,o=.5){eu(e,t,n,il(e.min,e.max,o),r)}function su(e,t){iu(e.x,t.x,t.scaleX,t.scale,t.originX),iu(e.y,t.y,t.scaleY,t.scale,t.originY)}function au(e,t){return Hc(function(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}(e.getBoundingClientRect(),t))}const lu=({current:e})=>e?e.ownerDocument.defaultView:null,cu=new WeakMap;class uu{constructor(e){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=$c(),this.visualElement=e}start(e,{snapToCursor:t=!1}={}){const{presenceContext:n}=this.visualElement;if(n&&!1===n.isPresent)return;const{dragSnapToOrigin:r}=this.getProps();this.panSession=new pc(e,{onSessionStart:e=>{const{dragSnapToOrigin:n}=this.getProps();n?this.pauseAnimation():this.stopAnimation(),t&&this.snapToCursor(uc(e,\"page\").point)},onStart:(e,t)=>{var n;const{drag:r,dragPropagation:o,onDragStart:i}=this.getProps();if(r&&!o&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=Cc(r),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Yc((e=>{let t=this.getAxisMotionValue(e).get()||0;if(Es.test(t)){const{projection:n}=this.visualElement;if(n&&n.layout){const r=n.layout.layoutBox[e];r&&(t=Rc(r)*(parseFloat(t)/100))}}this.originPoint[e]=t})),i&&Ji.postRender((()=>i(e,t))),null===(n=this.removeWillChange)||void 0===n||n.call(this),this.removeWillChange=Zl(this.visualElement,\"transform\");const{animationState:s}=this.visualElement;s&&s.setActive(\"whileDrag\",!0)},onMove:(e,t)=>{const{dragPropagation:n,dragDirectionLock:r,onDirectionLock:o,onDrag:i}=this.getProps();if(!n&&!this.openGlobalLock)return;const{offset:s}=t;if(r&&null===this.currentDirection)return this.currentDirection=function(e,t=10){let n=null;return Math.abs(e.y)>t?n=\"y\":Math.abs(e.x)>t&&(n=\"x\"),n}(s),void(null!==this.currentDirection&&o&&o(this.currentDirection));this.updateAxis(\"x\",t.point,s),this.updateAxis(\"y\",t.point,s),this.visualElement.render(),i&&i(e,t)},onSessionEnd:(e,t)=>this.stop(e,t),resumeAnimation:()=>Yc((e=>{var t;return\"paused\"===this.getAnimationState(e)&&(null===(t=this.getAxisMotionValue(e).animation)||void 0===t?void 0:t.play())}))},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:r,contextWindow:lu(this.visualElement)})}stop(e,t){var n;null===(n=this.removeWillChange)||void 0===n||n.call(this);const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:o}=t;this.startAnimation(o);const{onDragEnd:i}=this.getProps();i&&Ji.postRender((()=>i(e,t)))}cancel(){this.isDragging=!1;const{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:n}=this.getProps();!n&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),t&&t.setActive(\"whileDrag\",!1)}updateAxis(e,t,n){const{drag:r}=this.getProps();if(!n||!du(e,r,this.currentDirection))return;const o=this.getAxisMotionValue(e);let i=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(i=function(e,{min:t,max:n},r){return void 0!==t&&en&&(e=r?il(n,e,r.max):Math.min(e,n)),e}(i,this.constraints[e],this.elastic[e])),o.set(i)}resolveConstraints(){var e;const{dragConstraints:t,dragElastic:n}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):null===(e=this.visualElement.projection)||void 0===e?void 0:e.layout,o=this.constraints;t&&Pc(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):this.constraints=!(!t||!r)&&function(e,{top:t,left:n,bottom:r,right:o}){return{x:Fc(e.x,n,o),y:Fc(e.y,t,r)}}(r.layoutBox,t),this.elastic=function(e=Bc){return!1===e?e=0:!0===e&&(e=Bc),{x:Wc(e,\"left\",\"right\"),y:Wc(e,\"top\",\"bottom\")}}(n),o!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Yc((e=>{!1!==this.constraints&&this.getAxisMotionValue(e)&&(this.constraints[e]=function(e,t){const n={};return void 0!==t.min&&(n.min=t.min-e.min),void 0!==t.max&&(n.max=t.max-e.min),n}(r.layoutBox[e],this.constraints[e]))}))}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!Pc(e))return!1;const n=e.current;os(null!==n,\"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.\");const{projection:r}=this.visualElement;if(!r||!r.layout)return!1;const o=function(e,t,n){const r=au(e,n),{scroll:o}=t;return o&&(ou(r.x,o.offset.x),ou(r.y,o.offset.y)),r}(n,r.root,this.visualElement.getTransformPagePoint());let i=function(e,t){return{x:zc(e.x,t.x),y:zc(e.y,t.y)}}(r.layout.layoutBox,o);if(t){const e=t(function({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}(i));this.hasMutatedConstraints=!!e,e&&(i=Hc(e))}return i}startAnimation(e){const{drag:t,dragMomentum:n,dragElastic:r,dragTransition:o,dragSnapToOrigin:i,onDragTransitionEnd:s}=this.getProps(),a=this.constraints||{},l=Yc((s=>{if(!du(s,t,this.currentDirection))return;let l=a&&a[s]||{};i&&(l={min:0,max:0});const c=r?200:1e6,u=r?40:1e7,d={type:\"inertia\",velocity:n?e[s]:0,bounceStiffness:c,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...o,...l};return this.startAxisValueAnimation(s,d)}));return Promise.all(l).then(s)}startAxisValueAnimation(e,t){const n=this.getAxisMotionValue(e);return n.start(Al(e,n,0,t,this.visualElement,!1,Zl(this.visualElement,e)))}stopAnimation(){Yc((e=>this.getAxisMotionValue(e).stop()))}pauseAnimation(){Yc((e=>{var t;return null===(t=this.getAxisMotionValue(e).animation)||void 0===t?void 0:t.pause()}))}getAnimationState(e){var t;return null===(t=this.getAxisMotionValue(e).animation)||void 0===t?void 0:t.state}getAxisMotionValue(e){const t=`_drag${e.toUpperCase()}`,n=this.visualElement.getProps();return n[t]||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){Yc((t=>{const{drag:n}=this.getProps();if(!du(t,n,this.currentDirection))return;const{projection:r}=this.visualElement,o=this.getAxisMotionValue(t);if(r&&r.layout){const{min:n,max:i}=r.layout.layoutBox[t];o.set(e[t]-il(n,i,.5))}}))}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!Pc(t)||!n||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};Yc((e=>{const t=this.getAxisMotionValue(e);if(t&&!1!==this.constraints){const n=t.get();r[e]=function(e,t){let n=.5;const r=Rc(e),o=Rc(t);return o>r?n=ol(t.min,t.max-r,e.min):r>o&&(n=ol(e.min,e.max-o,t.min)),ms(0,1,n)}({min:n,max:n},this.constraints[e])}}));const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},\"\"):\"none\",n.root&&n.root.updateScroll(),n.updateLayout(),this.resolveConstraints(),Yc((t=>{if(!du(t,e,null))return;const n=this.getAxisMotionValue(t),{min:o,max:i}=this.constraints[t];n.set(il(o,i,r[t]))}))}addListeners(){if(!this.visualElement.current)return;cu.set(this.visualElement,this);const e=mc(this.visualElement.current,\"pointerdown\",(e=>{const{drag:t,dragListener:n=!0}=this.getProps();t&&n&&this.start(e)})),t=()=>{const{dragConstraints:e}=this.getProps();Pc(e)&&e.current&&(this.constraints=this.resolveRefConstraints())},{projection:n}=this.visualElement,r=n.addEventListener(\"measure\",t);n&&!n.layout&&(n.root&&n.root.updateScroll(),n.updateLayout()),Ji.read(t);const o=fc(window,\"resize\",(()=>this.scalePositionWithinConstraints())),i=n.addEventListener(\"didUpdate\",(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(Yc((t=>{const n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))})),this.visualElement.render())}));return()=>{o(),e(),r(),i&&i()}}getProps(){const e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:o=!1,dragElastic:i=Bc,dragMomentum:s=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:o,dragElastic:i,dragMomentum:s}}}function du(e,t,n){return!(!0!==t&&t!==e||null!==n&&n!==e)}const fu=e=>(t,n)=>{e&&Ji.postRender((()=>e(t,n)))};var mu=n(848);const hu=(0,a.createContext)(null),pu=(0,a.createContext)({}),gu=(0,a.createContext)({}),yu={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function vu(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const bu={correct:(e,t)=>{if(!t.target)return e;if(\"string\"==typeof e){if(!Cs.test(e))return e;e=parseFloat(e)}return`${vu(e,t.target.x)}% ${vu(e,t.target.y)}%`}},xu={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,o=la.parse(e);if(o.length>5)return r;const i=la.createTransformer(e),s=\"number\"!=typeof o[0]?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;o[0+s]/=a,o[1+s]/=l;const c=il(a,l,.5);return\"number\"==typeof o[2+s]&&(o[2+s]/=c),\"number\"==typeof o[3+s]&&(o[3+s]/=c),i(o)}},wu={},{schedule:Su,cancel:ku}=Zi(queueMicrotask,!1);class Eu extends a.Component{componentDidMount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:o}=e;var i;i=_u,Object.assign(wu,i),o&&(t.group&&t.group.add(o),n&&n.register&&r&&n.register(o),o.root.didUpdate(),o.addEventListener(\"animationComplete\",(()=>{this.safeToRemove()})),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),yu.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:t,visualElement:n,drag:r,isPresent:o}=this.props,i=n.projection;return i?(i.isPresent=o,r||e.layoutDependency!==t||void 0===t?i.willUpdate():this.safeToRemove(),e.isPresent!==o&&(o?i.promote():i.relegate()||Ji.postRender((()=>{const e=i.getStack();e&&e.members.length||this.safeToRemove()}))),null):null}componentDidUpdate(){const{projection:e}=this.props.visualElement;e&&(e.root.didUpdate(),Su.postRender((()=>{!e.currentAnimation&&e.isLead()&&this.safeToRemove()})))}componentWillUnmount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function Cu(e){const[t,n]=function(){const e=(0,a.useContext)(hu);if(null===e)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,o=(0,a.useId)();(0,a.useEffect)((()=>r(o)),[]);const i=(0,a.useCallback)((()=>n&&n(o)),[o,n]);return!t&&n?[!1,i]:[!0]}(),r=(0,a.useContext)(pu);return(0,mu.jsx)(Eu,{...e,layoutGroup:r,switchLayoutGroup:(0,a.useContext)(gu),isPresent:t,safeToRemove:n})}const _u={borderRadius:{...bu,applyTo:[\"borderTopLeftRadius\",\"borderTopRightRadius\",\"borderBottomLeftRadius\",\"borderBottomRightRadius\"]},borderTopLeftRadius:bu,borderTopRightRadius:bu,borderBottomLeftRadius:bu,borderBottomRightRadius:bu,boxShadow:xu},Pu=[\"TopLeft\",\"TopRight\",\"BottomLeft\",\"BottomRight\"],Ou=Pu.length,Nu=e=>\"string\"==typeof e?parseFloat(e):e,Tu=e=>\"number\"==typeof e||Cs.test(e);function Mu(e,t){return void 0!==e[t]?e[t]:e.borderRadius}const Ru=ju(0,.5,Ga),Du=ju(.5,.95,Gi);function ju(e,t,n){return r=>rt?1:n(ol(e,t,r))}function Au(e,t){e.min=t.min,e.max=t.max}function Iu(e,t){Au(e.x,t.x),Au(e.y,t.y)}function Lu(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function Fu(e,t,n,r,o){return e=Jc(e-=t,1/n,r),void 0!==o&&(e=Jc(e,1/o,r)),e}function zu(e,t,[n,r,o],i,s){!function(e,t=0,n=1,r=.5,o,i=e,s=e){if(Es.test(t)&&(t=parseFloat(t),t=il(s.min,s.max,t/100)-s.min),\"number\"!=typeof t)return;let a=il(i.min,i.max,r);e===i&&(a-=t),e.min=Fu(e.min,t,n,a,o),e.max=Fu(e.max,t,n,a,o)}(e,t[n],t[r],t[o],t.scale,i,s)}const Bu=[\"x\",\"scaleX\",\"originX\"],Wu=[\"y\",\"scaleY\",\"originY\"];function Vu(e,t,n,r){zu(e.x,t,Bu,n?n.x:void 0,r?r.x:void 0),zu(e.y,t,Wu,n?n.y:void 0,r?r.y:void 0)}function Uu(e){return 0===e.translate&&1===e.scale}function $u(e){return Uu(e.x)&&Uu(e.y)}function Yu(e,t){return e.min===t.min&&e.max===t.max}function Hu(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function Ku(e,t){return Hu(e.x,t.x)&&Hu(e.y,t.y)}function qu(e){return Rc(e.x)/Rc(e.y)}function Gu(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class Xu{constructor(){this.members=[]}add(e){Fl(this.members,e),e.scheduleRender()}remove(e){if(zl(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){const t=this.members.findIndex((t=>e===t));if(0===t)return!1;let n;for(let e=t;e>=0;e--){const t=this.members[e];if(!1!==t.isPresent){n=t;break}}return!!n&&(this.promote(n),!0)}promote(e,t){const n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.instance&&n.scheduleRender(),e.scheduleRender(),e.resumeFrom=n,t&&(e.resumeFrom.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root&&e.root.isUpdating&&(e.isLayoutDirty=!0);const{crossfade:r}=e.options;!1===r&&n.hide()}}exitAnimationComplete(){this.members.forEach((e=>{const{options:t,resumingFrom:n}=e;t.onExitComplete&&t.onExitComplete(),n&&n.options.onExitComplete&&n.options.onExitComplete()}))}scheduleRender(){this.members.forEach((e=>{e.instance&&e.scheduleRender(!1)}))}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}const Zu=(e,t)=>e.depth-t.depth;class Ju{constructor(){this.children=[],this.isDirty=!1}add(e){Fl(this.children,e),this.isDirty=!0}remove(e){zl(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(Zu),this.isDirty=!1,this.children.forEach(e)}}function Qu(e){const t=Xl(e)?e.get():e;return Il(t)?t.toValue():t}const ed={type:\"projectionFrame\",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},td=\"undefined\"!=typeof window&&void 0!==window.MotionDebug,nd=[\"\",\"X\",\"Y\",\"Z\"],rd={visibility:\"hidden\"};let od=0;function id(e,t,n,r){const{latestValues:o}=t;o[e]&&(n[e]=o[e],t.setStaticValue(e,0),r&&(r[e]=0))}function sd(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=Kl(t);if(window.MotionHasOptimisedAnimation(n,\"transform\")){const{layout:t,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,\"transform\",Ji,!(t||r))}const{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&sd(r)}function ad({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:o}){return class{constructor(e={},n=(null==t?void 0:t())){this.id=od++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,td&&(ed.totalNodes=ed.resolvedTargetDeltas=ed.recalculatedProjection=0),this.nodes.forEach(ud),this.nodes.forEach(yd),this.nodes.forEach(vd),this.nodes.forEach(dd),td&&window.MotionDebug.record(ed)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=n?n.root||n:this,this.path=n?[...n.path,n]:[],this.parent=n,this.depth=n?n.depth+1:0;for(let e=0;ethis.root.updateBlockedByResize=!1;e(t,(()=>{this.root.updateBlockedByResize=!0,n&&n(),n=function(e){const t=ka.now(),n=({timestamp:r})=>{const o=r-t;o>=250&&(Qi(n),e(o-250))};return Ji.read(n,!0),()=>Qi(n)}(r),yu.hasAnimatedSinceResize&&(yu.hasAnimatedSinceResize=!1,this.nodes.forEach(gd))}))}o&&this.root.registerSharedNode(o,this),!1!==this.options.animate&&s&&(o||i)&&this.addEventListener(\"didUpdate\",(({delta:e,hasLayoutChanged:t,hasRelativeTargetChanged:n,layout:r})=>{if(this.isTreeAnimationBlocked())return this.target=void 0,void(this.relativeTarget=void 0);const o=this.options.transition||s.getDefaultTransition()||Ed,{onLayoutAnimationStart:i,onLayoutAnimationComplete:a}=s.getProps(),l=!this.targetLayout||!Ku(this.targetLayout,r)||n,c=!t&&n;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||c||t&&(l||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(e,c);const t={...Hi(o,\"layout\"),onPlay:i,onComplete:a};(s.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t)}else t||gd(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r}))}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Qi(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(bd),this.animationId++)}getTransformTemplate(){const{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked())return void(this.options.onExitComplete&&this.options.onExitComplete());if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&sd(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()}))}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure())}updateLayout(){if(!this.instance)return;if(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead()||this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;enu&&(t.x=1),t.ynu&&(t.y=1)}(this.layoutCorrected,this.treeScale,this.path,n),!t.layout||t.target||1===this.treeScale.x&&1===this.treeScale.y||(t.target=t.layout.layoutBox,t.targetWithTransforms=$c());const{target:l}=t;l?(this.projectionDelta&&this.prevProjectionDelta?(Lu(this.prevProjectionDelta.x,this.projectionDelta.x),Lu(this.prevProjectionDelta.y,this.projectionDelta.y)):this.createProjectionDeltas(),jc(this.projectionDelta,this.layoutCorrected,l,this.latestValues),this.treeScale.x===s&&this.treeScale.y===a&&Gu(this.projectionDelta.x,this.prevProjectionDelta.x)&&Gu(this.projectionDelta.y,this.prevProjectionDelta.y)||(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners(\"projectionUpdate\",l)),td&&ed.recalculatedProjection++):this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender())}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){var t;if(null===(t=this.options.visualElement)||void 0===t||t.scheduleRender(),e){const e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=Uc(),this.projectionDelta=Uc(),this.projectionDeltaWithTransform=Uc()}setAnimationOrigin(e,t=!1){const n=this.snapshot,r=n?n.latestValues:{},o={...this.latestValues},i=Uc();this.relativeParent&&this.relativeParent.options.layoutRoot||(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;const s=$c(),a=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),l=this.getStack(),c=!l||l.members.length<=1,u=Boolean(a&&!c&&!0===this.options.crossfade&&!this.path.some(kd));let d;this.animationProgress=0,this.mixTargetDelta=t=>{const n=t/1e3;var l,f,m,h,p,g;wd(i.x,e.x,n),wd(i.y,e.y,n),this.setTargetDelta(i),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Lc(s,this.layout.layoutBox,this.relativeParent.layout.layoutBox),m=this.relativeTarget,h=this.relativeTargetOrigin,p=s,g=n,Sd(m.x,h.x,p.x,g),Sd(m.y,h.y,p.y,g),d&&(l=this.relativeTarget,f=d,Yu(l.x,f.x)&&Yu(l.y,f.y))&&(this.isProjectionDirty=!1),d||(d=$c()),Iu(d,this.relativeTarget)),a&&(this.animationValues=o,function(e,t,n,r,o,i){o?(e.opacity=il(0,void 0!==n.opacity?n.opacity:1,Ru(r)),e.opacityExit=il(void 0!==t.opacity?t.opacity:1,0,Du(r))):i&&(e.opacity=il(void 0!==t.opacity?t.opacity:1,void 0!==n.opacity?n.opacity:1,r));for(let o=0;o{yu.hasAnimatedSinceResize=!0,this.currentAnimation=function(e,t,n){const r=Xl(0)?0:Ul(0);return r.start(Al(\"\",r,1e3,n)),r.animation}(0,0,{...e,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onComplete:()=>{e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0}))}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners(\"animationComplete\")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const e=this.getLead();let{targetWithTransforms:t,target:n,layout:r,latestValues:o}=e;if(t&&n&&r){if(this!==e&&this.layout&&r&&Od(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||$c();const t=Rc(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;const r=Rc(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}Iu(t,n),su(t,o),jc(this.projectionDeltaWithTransform,this.layoutCorrected,t,o)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new Xu),this.sharedNodes.get(e).add(t);const n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){const e=this.getStack();return!e||e.lead===this}getLead(){var e;const{layoutId:t}=this.options;return t&&(null===(e=this.getStack())||void 0===e?void 0:e.lead)||this}getPrevLead(){var e;const{layoutId:t}=this.options;return t?null===(e=this.getStack())||void 0===e?void 0:e.prevLead:void 0}getStack(){const{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){const r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){const e=this.getStack();return!!e&&e.relegate(this)}resetSkewAndRotation(){const{visualElement:e}=this.options;if(!e)return;let t=!1;const{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;const r={};n.z&&id(\"z\",e,r,this.animationValues);for(let t=0;t{var t;return null===(t=e.currentAnimation)||void 0===t?void 0:t.stop()})),this.root.nodes.forEach(md),this.root.sharedNodes.clear()}}}function ld(e){e.updateLayout()}function cd(e){var t;const n=(null===(t=e.resumeFrom)||void 0===t?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners(\"didUpdate\")){const{layoutBox:t,measuredBox:r}=e.layout,{animationType:o}=e.options,i=n.source!==e.layout.source;\"size\"===o?Yc((e=>{const r=i?n.measuredBox[e]:n.layoutBox[e],o=Rc(r);r.min=t[e].min,r.max=r.min+o})):Od(o,n.layoutBox,t)&&Yc((r=>{const o=i?n.measuredBox[r]:n.layoutBox[r],s=Rc(t[r]);o.max=o.min+s,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+s)}));const s=Uc();jc(s,t,n.layoutBox);const a=Uc();i?jc(a,e.applyTransform(r,!0),n.measuredBox):jc(a,t,n.layoutBox);const l=!$u(s);let c=!1;if(!e.resumeFrom){const r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){const{snapshot:o,layout:i}=r;if(o&&i){const s=$c();Lc(s,n.layoutBox,o.layoutBox);const a=$c();Lc(a,t,i.layoutBox),Ku(s,a)||(c=!0),r.options.layoutRoot&&(e.relativeTarget=a,e.relativeTargetOrigin=s,e.relativeParent=r)}}}e.notifyListeners(\"didUpdate\",{layout:t,snapshot:n,delta:a,layoutDelta:s,hasLayoutChanged:l,hasRelativeTargetChanged:c})}else if(e.isLead()){const{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function ud(e){td&&ed.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=Boolean(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function dd(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function fd(e){e.clearSnapshot()}function md(e){e.clearMeasurements()}function hd(e){e.isLayoutDirty=!1}function pd(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify(\"BeforeLayoutMeasure\"),e.resetTransform()}function gd(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function yd(e){e.resolveTargetDelta()}function vd(e){e.calcProjection()}function bd(e){e.resetSkewAndRotation()}function xd(e){e.removeLeadSnapshot()}function wd(e,t,n){e.translate=il(t.translate,0,n),e.scale=il(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function Sd(e,t,n,r){e.min=il(t.min,n.min,r),e.max=il(t.max,n.max,r)}function kd(e){return e.animationValues&&void 0!==e.animationValues.opacityExit}const Ed={duration:.45,ease:[.4,0,.1,1]},Cd=e=>\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),_d=Cd(\"applewebkit/\")&&!Cd(\"chrome/\")?Math.round:Gi;function Pd(e){e.min=_d(e.min),e.max=_d(e.max)}function Od(e,t,n){return\"position\"===e||\"preserve-aspect\"===e&&(r=qu(t),o=qu(n),!(Math.abs(r-o)<=.2));var r,o}function Nd(e){var t;return e!==e.root&&(null===(t=e.scroll)||void 0===t?void 0:t.wasRoot)}const Td=ad({attachResizeListener:(e,t)=>fc(e,\"resize\",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),Md={current:void 0},Rd=ad({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!Md.current){const e=new Td({});e.mount(window),e.setOptions({layoutScroll:!0}),Md.current=e}return Md.current},resetTransform:(e,t)=>{e.style.transform=void 0!==t?t:\"none\"},checkIsScrollRoot:e=>Boolean(\"fixed\"===window.getComputedStyle(e).position)}),Dd={pan:{Feature:class extends sc{constructor(){super(...arguments),this.removePointerDownListener=Gi}onPointerDown(e){this.session=new pc(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:lu(this.node)})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:fu(e),onStart:fu(t),onMove:n,onEnd:(e,t)=>{delete this.session,r&&Ji.postRender((()=>r(e,t)))}}}mount(){this.removePointerDownListener=mc(this.node.current,\"pointerdown\",(e=>this.onPointerDown(e)))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}},drag:{Feature:class extends sc{constructor(e){super(e),this.removeGroupControls=Gi,this.removeListeners=Gi,this.controls=new uu(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Gi}unmount(){this.removeGroupControls(),this.removeListeners()}},ProjectionNode:Rd,MeasureLayout:Cu}};function jd(e,t){const n=t?\"pointerenter\":\"pointerleave\",r=t?\"onHoverStart\":\"onHoverEnd\";return mc(e.current,n,((n,o)=>{if(\"touch\"===n.pointerType||_c())return;const i=e.getProps();e.animationState&&i.whileHover&&e.animationState.setActive(\"whileHover\",t);const s=i[r];s&&Ji.postRender((()=>s(n,o)))}),{passive:!e.getProps()[r]})}const Ad=(e,t)=>!!t&&(e===t||Ad(e,t.parentElement));function Id(e,t){if(!t)return;const n=new PointerEvent(\"pointer\"+e);t(n,uc(n))}const Ld=new WeakMap,Fd=new WeakMap,zd=e=>{const t=Ld.get(e.target);t&&t(e)},Bd=e=>{e.forEach(zd)};const Wd={some:0,all:1},Vd={inView:{Feature:class extends sc{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:e={}}=this.node.getProps(),{root:t,margin:n,amount:r=\"some\",once:o}=e,i={root:t?t.current:void 0,rootMargin:n,threshold:\"number\"==typeof r?r:Wd[r]};return function(e,t,n){const r=function({root:e,...t}){const n=e||document;Fd.has(n)||Fd.set(n,{});const r=Fd.get(n),o=JSON.stringify(t);return r[o]||(r[o]=new IntersectionObserver(Bd,{root:e,...t})),r[o]}(t);return Ld.set(e,n),r.observe(e),()=>{Ld.delete(e),r.unobserve(e)}}(this.node.current,i,(e=>{const{isIntersecting:t}=e;if(this.isInView===t)return;if(this.isInView=t,o&&!t&&this.hasEnteredView)return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(\"whileInView\",t);const{onViewportEnter:n,onViewportLeave:r}=this.node.getProps(),i=t?n:r;i&&i(e)}))}mount(){this.startObserver()}update(){if(\"undefined\"==typeof IntersectionObserver)return;const{props:e,prevProps:t}=this.node;[\"amount\",\"margin\",\"root\"].some(function({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}(e,t))&&this.startObserver()}unmount(){}}},tap:{Feature:class extends sc{constructor(){super(...arguments),this.removeStartListeners=Gi,this.removeEndListeners=Gi,this.removeAccessibleListeners=Gi,this.startPointerPress=(e,t)=>{if(this.isPressing)return;this.removeEndListeners();const n=this.node.getProps(),r=mc(window,\"pointerup\",((e,t)=>{if(!this.checkPressEnd())return;const{onTap:n,onTapCancel:r,globalTapTarget:o}=this.node.getProps(),i=o||Ad(this.node.current,e.target)?n:r;i&&Ji.update((()=>i(e,t)))}),{passive:!(n.onTap||n.onPointerUp)}),o=mc(window,\"pointercancel\",((e,t)=>this.cancelPress(e,t)),{passive:!(n.onTapCancel||n.onPointerCancel)});this.removeEndListeners=rl(r,o),this.startPress(e,t)},this.startAccessiblePress=()=>{const e=fc(this.node.current,\"keydown\",(e=>{\"Enter\"!==e.key||this.isPressing||(this.removeEndListeners(),this.removeEndListeners=fc(this.node.current,\"keyup\",(e=>{\"Enter\"===e.key&&this.checkPressEnd()&&Id(\"up\",((e,t)=>{const{onTap:n}=this.node.getProps();n&&Ji.postRender((()=>n(e,t)))}))})),Id(\"down\",((e,t)=>{this.startPress(e,t)})))})),t=fc(this.node.current,\"blur\",(()=>{this.isPressing&&Id(\"cancel\",((e,t)=>this.cancelPress(e,t)))}));this.removeAccessibleListeners=rl(e,t)}}startPress(e,t){this.isPressing=!0;const{onTapStart:n,whileTap:r}=this.node.getProps();r&&this.node.animationState&&this.node.animationState.setActive(\"whileTap\",!0),n&&Ji.postRender((()=>n(e,t)))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive(\"whileTap\",!1),!_c()}cancelPress(e,t){if(!this.checkPressEnd())return;const{onTapCancel:n}=this.node.getProps();n&&Ji.postRender((()=>n(e,t)))}mount(){const e=this.node.getProps(),t=mc(e.globalTapTarget?window:this.node.current,\"pointerdown\",this.startPointerPress,{passive:!(e.onTapStart||e.onPointerStart)}),n=fc(this.node.current,\"focus\",this.startAccessiblePress);this.removeStartListeners=rl(t,n)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}},focus:{Feature:class extends sc{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(\":focus-visible\")}catch(t){e=!0}e&&this.node.animationState&&(this.node.animationState.setActive(\"whileFocus\",!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive(\"whileFocus\",!1),this.isActive=!1)}mount(){this.unmount=rl(fc(this.node.current,\"focus\",(()=>this.onFocus())),fc(this.node.current,\"blur\",(()=>this.onBlur())))}unmount(){}}},hover:{Feature:class extends sc{mount(){this.unmount=rl(jd(this.node,!0),jd(this.node,!1))}unmount(){}}}},Ud={layout:{ProjectionNode:Rd,MeasureLayout:Cu}},$d=(0,a.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:\"never\"}),Yd=(0,a.createContext)({}),Hd=\"undefined\"!=typeof window,Kd=Hd?a.useLayoutEffect:a.useEffect,qd=(0,a.createContext)({strict:!1});let Gd=!1;function Xd(e,t,n,r,o){var i;const{visualElement:s}=(0,a.useContext)(Yd),l=(0,a.useContext)(qd),c=(0,a.useContext)(hu),u=(0,a.useContext)($d).reducedMotion,d=(0,a.useRef)();r=r||l.renderer,!d.current&&r&&(d.current=r(e,{visualState:t,parent:s,props:n,presenceContext:c,blockInitialAnimation:!!c&&!1===c.initial,reducedMotionConfig:u}));const f=d.current,m=(0,a.useContext)(gu);!f||f.projection||!o||\"html\"!==f.type&&\"svg\"!==f.type||function(e,t,n,r){const{layoutId:o,layout:i,drag:s,dragConstraints:a,layoutScroll:l,layoutRoot:c}=t;e.projection=new n(e.latestValues,t[\"data-framer-portal-id\"]?void 0:Jd(e.parent)),e.projection.setOptions({layoutId:o,layout:i,alwaysMeasureLayout:Boolean(s)||a&&Pc(a),visualElement:e,animationType:\"string\"==typeof i?i:\"both\",initialPromotionConfig:r,layoutScroll:l,layoutRoot:c})}(d.current,n,o,m),(0,a.useInsertionEffect)((()=>{f&&f.update(n,c)}));const h=n[Hl],p=(0,a.useRef)(Boolean(h)&&!window.MotionHandoffIsComplete&&(null===(i=window.MotionHasOptimisedAnimation)||void 0===i?void 0:i.call(window,h)));return Kd((()=>{f&&(f.updateFeatures(),Su.render(f.render),p.current&&f.animationState&&f.animationState.animateChanges())})),(0,a.useEffect)((()=>{f&&(!p.current&&f.animationState&&f.animationState.animateChanges(),p.current=!1,Gd||(Gd=!0,queueMicrotask(Zd)))})),f}function Zd(){window.MotionHandoffIsComplete=!0}function Jd(e){if(e)return!1!==e.options.allowProjection?e.projection:Jd(e.parent)}function Qd(e,t,n){return(0,a.useCallback)((r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(\"function\"==typeof n?n(r):Pc(n)&&(n.current=r))}),[t])}function ef(e){return Ni(e.animate)||Li.some((t=>Ri(e[t])))}function tf(e){return Boolean(ef(e)||e.variants)}function nf(e){return Array.isArray(e)?e.join(\" \"):e}const rf={animation:[\"animate\",\"variants\",\"whileHover\",\"whileTap\",\"exit\",\"whileInView\",\"whileFocus\",\"whileDrag\"],exit:[\"exit\"],drag:[\"drag\",\"dragControls\"],focus:[\"whileFocus\"],hover:[\"whileHover\",\"onHoverStart\",\"onHoverEnd\"],tap:[\"whileTap\",\"onTap\",\"onTapStart\",\"onTapCancel\"],pan:[\"onPan\",\"onPanStart\",\"onPanSessionStart\",\"onPanEnd\"],inView:[\"whileInView\",\"onViewportEnter\",\"onViewportLeave\"],layout:[\"layout\",\"layoutId\"]},of={};for(const e in rf)of[e]={isEnabled:t=>rf[e].some((e=>!!t[e]))};const sf=Symbol.for(\"motionComponentSymbol\");function af({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:o}){e&&function(e){for(const t in e)of[t]={...of[t],...e[t]}}(e);const i=(0,a.forwardRef)((function(e,i){let s;const l={...(0,a.useContext)($d),...e,layoutId:lf(e)},{isStatic:c}=l,u=function(e){const{initial:t,animate:n}=function(e,t){if(ef(e)){const{initial:t,animate:n}=e;return{initial:!1===t||Ri(t)?t:void 0,animate:Ri(n)?n:void 0}}return!1!==e.inherit?t:{}}(e,(0,a.useContext)(Yd));return(0,a.useMemo)((()=>({initial:t,animate:n})),[nf(t),nf(n)])}(e),d=r(e,c);if(!c&&Hd){(0,a.useContext)(qd).strict;const e=function(e){const{drag:t,layout:n}=of;if(!t&&!n)return{};const r={...t,...n};return{MeasureLayout:(null==t?void 0:t.isEnabled(e))||(null==n?void 0:n.isEnabled(e))?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}(l);s=e.MeasureLayout,u.visualElement=Xd(o,d,l,t,e.ProjectionNode)}return(0,mu.jsxs)(Yd.Provider,{value:u,children:[s&&u.visualElement?(0,mu.jsx)(s,{visualElement:u.visualElement,...l}):null,n(o,e,Qd(d,u.visualElement,i),d,c,u.visualElement)]})}));return i[sf]=o,i}function lf({layoutId:e}){const t=(0,a.useContext)(pu).id;return t&&void 0!==e?t+\"-\"+e:e}const cf=[\"animate\",\"circle\",\"defs\",\"desc\",\"ellipse\",\"g\",\"image\",\"line\",\"filter\",\"marker\",\"mask\",\"metadata\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"rect\",\"stop\",\"switch\",\"symbol\",\"svg\",\"text\",\"tspan\",\"use\",\"view\"];function uf(e){return\"string\"==typeof e&&!e.includes(\"-\")&&!!(cf.indexOf(e)>-1||/[A-Z]/u.test(e))}function df(e,{style:t,vars:n},r,o){Object.assign(e.style,t,o&&o.getProjectionStyles(r));for(const t in n)e.style.setProperty(t,n[t])}const ff=new Set([\"baseFrequency\",\"diffuseConstant\",\"kernelMatrix\",\"kernelUnitLength\",\"keySplines\",\"keyTimes\",\"limitingConeAngle\",\"markerHeight\",\"markerWidth\",\"numOctaves\",\"targetX\",\"targetY\",\"surfaceScale\",\"specularConstant\",\"specularExponent\",\"stdDeviation\",\"tableValues\",\"viewBox\",\"gradientTransform\",\"pathLength\",\"startOffset\",\"textLength\",\"lengthAdjust\"]);function mf(e,t,n,r){df(e,t,void 0,r);for(const n in t.attrs)e.setAttribute(ff.has(n)?n:Yl(n),t.attrs[n])}function hf(e,{layout:t,layoutId:n}){return zi.has(e)||e.startsWith(\"origin\")||(t||void 0!==n)&&(!!wu[e]||\"opacity\"===e)}function pf(e,t,n){var r;const{style:o}=e,i={};for(const s in o)(Xl(o[s])||t.style&&Xl(t.style[s])||hf(s,e)||void 0!==(null===(r=null==n?void 0:n.getValue(s))||void 0===r?void 0:r.liveStyle))&&(i[s]=o[s]);return n&&o&&\"string\"==typeof o.willChange&&(n.applyWillChange=!1),i}function gf(e,t,n){const r=pf(e,t,n);for(const n in e)(Xl(e[n])||Xl(t[n]))&&(r[-1!==Fi.indexOf(n)?\"attr\"+n.charAt(0).toUpperCase()+n.substring(1):n]=e[n]);return r}function yf(e){const t=(0,a.useRef)(null);return null===t.current&&(t.current=e()),t.current}const vf=e=>(t,n)=>{const r=(0,a.useContext)(Yd),o=(0,a.useContext)(hu),i=()=>function({applyWillChange:e=!1,scrapeMotionValuesFromProps:t,createRenderState:n,onMount:r},o,i,s,a){const l={latestValues:wf(o,i,s,!a&&e,t),renderState:n()};return r&&(l.mount=e=>r(o,e,l)),l}(e,t,r,o,n);return n?i():yf(i)};function bf(e,t){const n=ql(t);n&&Fl(e,n)}function xf(e,t,n){const r=Array.isArray(t)?t:[t];for(let t=0;t{for(const t in e){let n=e[t];Array.isArray(n)&&(n=n[h?n.length-1:0]),null!==n&&(s[t]=n)}for(const e in t)s[e]=t[e]})),l&&(d&&!1!==u&&!Ni(d)&&xf(e,d,(e=>{for(const t in e)bf(a,t)})),a.length&&(s.willChange=a.join(\",\"))),s}const Sf=()=>({style:{},transform:{},transformOrigin:{},vars:{}}),kf=()=>({...Sf(),attrs:{}}),Ef=(e,t)=>t&&\"number\"==typeof e?t.transform(e):e,Cf={x:\"translateX\",y:\"translateY\",z:\"translateZ\",transformPerspective:\"perspective\"},_f=Fi.length;function Pf(e,t,n){const{style:r,vars:o,transformOrigin:i}=e;let s=!1,a=!1;for(const e in t){const n=t[e];if(zi.has(e))s=!0;else if(as(e))o[e]=n;else{const t=Ef(n,ha[e]);e.startsWith(\"origin\")?(a=!0,i[e]=t):r[e]=t}}if(t.transform||(s||n?r.transform=function(e,t,n){let r=\"\",o=!0;for(let i=0;i<_f;i++){const s=Fi[i],a=e[s];if(void 0===a)continue;let l=!0;if(l=\"number\"==typeof a?a===(s.startsWith(\"scale\")?1:0):0===parseFloat(a),!l||n){const e=Ef(a,ha[s]);l||(o=!1,r+=`${Cf[s]||s}(${e}) `),n&&(t[s]=e)}}return r=r.trim(),n?r=n(t,o?\"\":r):o&&(r=\"none\"),r}(t,e.transform,n):r.transform&&(r.transform=\"none\")),a){const{originX:e=\"50%\",originY:t=\"50%\",originZ:n=0}=i;r.transformOrigin=`${e} ${t} ${n}`}}function Of(e,t,n){return\"string\"==typeof e?e:Cs.transform(t+n*e)}const Nf={offset:\"stroke-dashoffset\",array:\"stroke-dasharray\"},Tf={offset:\"strokeDashoffset\",array:\"strokeDasharray\"};function Mf(e,{attrX:t,attrY:n,attrScale:r,originX:o,originY:i,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...c},u,d){if(Pf(e,c,d),u)return void(e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox));e.attrs=e.style,e.style={};const{attrs:f,style:m,dimensions:h}=e;f.transform&&(h&&(m.transform=f.transform),delete f.transform),h&&(void 0!==o||void 0!==i||m.transform)&&(m.transformOrigin=function(e,t,n){return`${Of(t,e.x,e.width)} ${Of(n,e.y,e.height)}`}(h,void 0!==o?o:.5,void 0!==i?i:.5)),void 0!==t&&(f.x=t),void 0!==n&&(f.y=n),void 0!==r&&(f.scale=r),void 0!==s&&function(e,t,n=1,r=0,o=!0){e.pathLength=1;const i=o?Nf:Tf;e[i.offset]=Cs.transform(-r);const s=Cs.transform(t),a=Cs.transform(n);e[i.array]=`${s} ${a}`}(f,s,a,l,!1)}const Rf=e=>\"string\"==typeof e&&\"svg\"===e.toLowerCase(),Df={useVisualState:vf({scrapeMotionValuesFromProps:gf,createRenderState:kf,onMount:(e,t,{renderState:n,latestValues:r})=>{Ji.read((()=>{try{n.dimensions=\"function\"==typeof t.getBBox?t.getBBox():t.getBoundingClientRect()}catch(e){n.dimensions={x:0,y:0,width:0,height:0}}})),Ji.render((()=>{Mf(n,r,Rf(t.tagName),e.transformTemplate),mf(t,n)}))}})},jf={useVisualState:vf({applyWillChange:!0,scrapeMotionValuesFromProps:pf,createRenderState:Sf})};function Af(e,t,n){for(const r in t)Xl(t[r])||hf(r,n)||(e[r]=t[r])}function If(e,t){const n={},r=function(e,t){const n={};return Af(n,e.style||{},e),Object.assign(n,function({transformTemplate:e},t){return(0,a.useMemo)((()=>{const n=Sf();return Pf(n,t,e),Object.assign({},n.vars,n.style)}),[t])}(e,t)),n}(e,t);return e.drag&&!1!==e.dragListener&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout=\"none\",r.touchAction=!0===e.drag?\"none\":\"pan-\"+(\"x\"===e.drag?\"y\":\"x\")),void 0===e.tabIndex&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}const Lf=new Set([\"animate\",\"exit\",\"variants\",\"initial\",\"style\",\"values\",\"variants\",\"transition\",\"transformTemplate\",\"custom\",\"inherit\",\"onBeforeLayoutMeasure\",\"onAnimationStart\",\"onAnimationComplete\",\"onUpdate\",\"onDragStart\",\"onDrag\",\"onDragEnd\",\"onMeasureDragConstraints\",\"onDirectionLock\",\"onDragTransitionEnd\",\"_dragX\",\"_dragY\",\"onHoverStart\",\"onHoverEnd\",\"onViewportEnter\",\"onViewportLeave\",\"globalTapTarget\",\"ignoreStrict\",\"viewport\"]);function Ff(e){return e.startsWith(\"while\")||e.startsWith(\"drag\")&&\"draggable\"!==e||e.startsWith(\"layout\")||e.startsWith(\"onTap\")||e.startsWith(\"onPan\")||e.startsWith(\"onLayout\")||Lf.has(e)}let zf=e=>!Ff(e);try{(Bf=n(316).A)&&(zf=e=>e.startsWith(\"on\")?!Ff(e):Bf(e))}catch(e){}var Bf;function Wf(e,t,n,r){const o=(0,a.useMemo)((()=>{const n=kf();return Mf(n,t,Rf(r),e.transformTemplate),{...n.attrs,style:{...n.style}}}),[t]);if(e.style){const t={};Af(t,e.style,e),o.style={...t,...o.style}}return o}function Vf(e=!1){return(t,n,r,{latestValues:o},i)=>{const s=(uf(t)?Wf:If)(n,o,i,t),l=function(e,t,n){const r={};for(const o in e)\"values\"===o&&\"object\"==typeof e.values||(zf(o)||!0===n&&Ff(o)||!t&&!Ff(o)||e.draggable&&o.startsWith(\"onDrag\"))&&(r[o]=e[o]);return r}(n,\"string\"==typeof t,e),c=t!==a.Fragment?{...l,...s,ref:r}:{},{children:u}=n,d=(0,a.useMemo)((()=>Xl(u)?u.get():u),[u]);return(0,a.createElement)(t,{...c,children:d})}}function Uf(e,t){return function(n,{forwardMotionProps:r}={forwardMotionProps:!1}){return af({...uf(n)?Df:jf,preloadedFeatures:e,useRender:Vf(r),createVisualElement:t,Component:n})}}const $f={current:null},Yf={current:!1},Hf=new WeakMap,Kf=[...Ls,Zs,la],qf=[\"AnimationStart\",\"AnimationComplete\",\"Update\",\"BeforeLayoutMeasure\",\"LayoutMeasure\",\"LayoutAnimationStart\",\"LayoutAnimationComplete\"],Gf=Li.length;class Xf{scrapeMotionValuesFromProps(e,t,n){return{}}constructor({parent:e,props:t,presenceContext:n,reducedMotionConfig:r,blockInitialAnimation:o,visualState:i},s={}){this.applyWillChange=!1,this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=$s,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify(\"Update\",this.latestValues),this.render=()=>{this.isRenderScheduled=!1,this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.isRenderScheduled=!1,this.scheduleRender=()=>{this.isRenderScheduled||(this.isRenderScheduled=!0,Ji.render(this.render,!1,!0))};const{latestValues:a,renderState:l}=i;this.latestValues=a,this.baseTarget={...a},this.initialValues=t.initial?{...a}:{},this.renderState=l,this.parent=e,this.props=t,this.presenceContext=n,this.depth=e?e.depth+1:0,this.reducedMotionConfig=r,this.options=s,this.blockInitialAnimation=Boolean(o),this.isControllingVariants=ef(t),this.isVariantNode=tf(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(e&&e.current);const{willChange:c,...u}=this.scrapeMotionValuesFromProps(t,{},this);for(const e in u){const t=u[e];void 0!==a[e]&&Xl(t)&&t.set(a[e],!1)}}mount(e){this.current=e,Hf.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach(((e,t)=>this.bindToMotionValue(t,e))),Yf.current||function(){if(Yf.current=!0,Hd)if(window.matchMedia){const e=window.matchMedia(\"(prefers-reduced-motion)\"),t=()=>$f.current=e.matches;e.addListener(t),t()}else $f.current=!1}(),this.shouldReduceMotion=\"never\"!==this.reducedMotionConfig&&(\"always\"===this.reducedMotionConfig||$f.current),this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){Hf.delete(this.current),this.projection&&this.projection.unmount(),Qi(this.notifyUpdate),Qi(this.render),this.valueSubscriptions.forEach((e=>e())),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const e in this.events)this.events[e].clear();for(const e in this.features){const t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}bindToMotionValue(e,t){this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)();const n=zi.has(e),r=t.on(\"change\",(t=>{this.latestValues[e]=t,this.props.onUpdate&&Ji.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0)})),o=t.on(\"renderRequest\",this.scheduleRender);let i;window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,e,t)),this.valueSubscriptions.set(e,(()=>{r(),o(),i&&i(),t.owner&&t.stop()}))}sortNodePosition(e){return this.current&&this.sortInstanceNodePosition&&this.type===e.type?this.sortInstanceNodePosition(this.current,e.current):0}updateFeatures(){let e=\"animation\";for(e in of){const t=of[e];if(!t)continue;const{isEnabled:n,Feature:r}=t;if(!this.features[e]&&r&&n(this.props)&&(this.features[e]=new r(this)),this.features[e]){const t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):$c()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let t=0;tt.variantChildren.delete(e)}addValue(e,t){const n=this.values.get(e);t!==n&&(n&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get())}removeValue(e){this.values.delete(e);const t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);return void 0===n&&void 0!==t&&(n=Ul(null===t?void 0:t,{owner:this}),this.addValue(e,n)),n}readValue(e,t){var n;let r=void 0===this.latestValues[e]&&this.current?null!==(n=this.getBaseTargetFromProps(this.props,e))&&void 0!==n?n:this.readValueFromInstance(this.current,e,this.options):this.latestValues[e];return null!=r&&(\"string\"==typeof r&&(is(r)||ns(r))?r=parseFloat(r):!(e=>Kf.find(Is(e)))(r)&&la.test(t)&&(r=ya(e,t)),this.setBaseTarget(e,Xl(r)?r.get():r)),Xl(r)?r.get():r}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){var t;const{initial:n}=this.props;let r;if(\"string\"==typeof n||\"object\"==typeof n){const o=ji(this.props,n,null===(t=this.presenceContext)||void 0===t?void 0:t.custom);o&&(r=o[e])}if(n&&void 0!==r)return r;const o=this.getBaseTargetFromProps(this.props,e);return void 0===o||Xl(o)?void 0!==this.initialValues[e]&&void 0===r?void 0:this.baseTarget[e]:o}on(e,t){return this.events[e]||(this.events[e]=new Bl),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}}class Zf extends Xf{constructor(){super(...arguments),this.KeyframeResolver=ba}sortInstanceNodePosition(e,t){return 2&e.compareDocumentPosition(t)?1:-1}getBaseTargetFromProps(e,t){return e.style?e.style[t]:void 0}removeValueFromRenderState(e,{vars:t,style:n}){delete t[e],delete n[e]}}class Jf extends Zf{constructor(){super(...arguments),this.type=\"html\",this.applyWillChange=!0,this.renderInstance=df}readValueFromInstance(e,t){if(zi.has(t)){const e=ga(t);return e&&e.default||0}{const r=(n=e,window.getComputedStyle(n)),o=(as(t)?r.getPropertyValue(t):r[t])||0;return\"string\"==typeof o?o.trim():o}var n}measureInstanceViewportBox(e,{transformPagePoint:t}){return au(e,t)}build(e,t,n){Pf(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return pf(e,t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:e}=this.props;Xl(e)&&(this.childSubscription=e.on(\"change\",(e=>{this.current&&(this.current.textContent=`${e}`)})))}}class Qf extends Zf{constructor(){super(...arguments),this.type=\"svg\",this.isSVGTag=!1,this.measureInstanceViewportBox=$c}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(zi.has(t)){const e=ga(t);return e&&e.default||0}return t=ff.has(t)?t:Yl(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return gf(e,t,n)}build(e,t,n){Mf(e,t,this.isSVGTag,n.transformTemplate)}renderInstance(e,t,n,r){mf(e,t,0,r)}mount(e){this.isSVGTag=Rf(e.tagName),super.mount(e)}}const em=Oi(Uf({...lc,...Vd,...Dd,...Ud},((e,t)=>uf(e)?new Qf(t):new Jf(t,{allowProjection:e!==a.Fragment}))));var tm=[\"slug\",\"text\",\"icon\",\"className\",\"disabled\",\"badge\"];function nm(){return nm=Object.assign?Object.assign.bind():function(e){for(var t=1;t*]:box-border flex items-center \".concat(\"full\"===v?\"w-full\":\"\",\" \").concat(k),C=oe(E,x,w,t,S,\"underline\"!==h?\"bg-tab-background\":\"\",s);return l().createElement(\"div\",{className:C},l().createElement(rm.Provider,{value:{activeItem:o,onChange:b,size:u,variant:h,orientation:f,iconPosition:g,width:v}},l().Children.map(n,(function(e){return(0,a.isValidElement)(e)?l().cloneElement(e):null}))))};om.displayName=\"Tabs.Group\";var im=function(e,t){var n=(0,a.useContext)(rm),r=e.slug,o=e.text,i=e.icon,s=e.className,c=e.disabled,u=void 0!==c&&c,d=e.badge,f=void 0===d?null:d,m=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;rsvg]:size-4\",searchIcon:\"[&>svg]:size-4\",selectButton:\"px-2.5 py-2 rounded text-sm font-medium leading-4 min-h-[2rem]\",multiSelect:\"pl-2 pr-2 py-1.5\",displaySelected:\"text-sm font-normal\",dropdown:\"rounded-md\",dropdownItemsWrapper:\"p-1.5\",searchbarWrapper:\"p-3 flex items-center gap-0.5\",searchbar:\"font-medium text-sm\",searchbarIcon:\"[&>svg]:size-4\",label:\"text-sm font-medium\"},md:{icon:\"[&>svg]:size-5\",searchIcon:\"[&>svg]:size-5\",selectButton:\"px-3.5 py-2.5 rounded-md text-xs font-medium leading-4 min-h-[2.5rem]\",multiSelect:\"pl-2 pr-2.5 py-2\",displaySelected:\"text-sm font-normal\",dropdown:\"rounded-lg\",dropdownItemsWrapper:\"p-2\",searchbarWrapper:\"p-2.5 flex items-center gap-1\",searchbar:\"font-medium text-sm\",searchbarIcon:\"[&>svg]:size-5\",label:\"text-sm font-medium\"},lg:{icon:\"[&>svg]:size-6\",searchIcon:\"[&>svg]:size-5\",selectButton:\"px-4 py-3 rounded-lg text-sm font-medium leading-5 min-h-[3rem]\",multiSelect:\"pl-2.5 pr-3 py-2.5\",displaySelected:\"text-base font-normal\",dropdown:\"rounded-lg\",dropdownItemsWrapper:\"p-2\",searchbarWrapper:\"p-2.5 flex items-center gap-1\",searchbar:\"font-medium text-sm\",searchbarIcon:\"[&>svg]:size-5\",label:\"text-base font-medium\"}},fm=\"group-disabled:text-field-color-disabled\",mm=[\"value\",\"selected\",\"children\",\"className\"];function hm(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,o,i,s,a=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(e,t)||ym(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function pm(){return pm=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:shrink-0\",dm[y].icon)},M())))}function _m(e){var t=e.children,n=e.searchBy,r=void 0===n?\"id\":n,o=e.searchPlaceholder,i=void 0===o?\"Search...\":o,s=e.dropdownPortalRoot,l=void 0===s?null:s,c=e.dropdownPortalId,u=void 0===c?\"\":c,d=e.className,f=Em(),m=f.isOpen,h=f.context,p=f.refs,g=f.combobox,y=f.floatingStyles,v=f.getFloatingProps,b=f.sizeValue,x=f.setSearchKeyword,w=f.setActiveIndex,S=f.setSelectedIndex,k=f.value,E=f.selected,C=f.getValues,_=f.searchKeyword,P=f.listContentRef,O=f.by,N=(0,a.useMemo)((function(){var e=C(),n=0;return e&&(n=a.Children.toArray(t).findIndex((function(t){return\"object\"===bm(t.props.value)?t.props.value[O]===e[O]:t.props.value===e}))),-1===n?0:n}),[k,E,t]);(0,a.useLayoutEffect)((function(){w(N),S(N)}),[]);var T=(0,a.useMemo)((function(){return a.Children.map(t,(function(e,t){if(!(0,a.isValidElement)(e))return null;if(_){var n=e.props.value;if(\"object\"===bm(n)){if(-1===n[r].toLowerCase().indexOf(_.toLowerCase()))return null}else if(-1===n.toLowerCase().indexOf(_.toLowerCase()))return null}return(0,a.cloneElement)(e,wm(wm({},e.props),{},{index:t}))}))}),[_,k,E,t]),M=a.Children.count(T);return(0,a.useEffect)((function(){P.current=[],a.Children.forEach(t,(function(e){if((0,a.isValidElement)(e)&&e.props.value){if(_){var t=e.props.value;if(\"object\"===bm(t)){if(-1===t[r].toLowerCase().indexOf(_.toLowerCase()))return}else if(-1===t.toLowerCase().indexOf(_.toLowerCase()))return}P.current.push(e.props.value)}}))}),[_]),React.createElement(React.Fragment,null,m&&React.createElement(Ir,{id:u,root:l},React.createElement(Yr,{context:h,modal:!1},React.createElement(\"div\",pm({ref:p.setFloating,className:oe(\"box-border [&_*]:box-border w-full bg-white outline-none shadow-lg outline outline-1 outline-border-subtle\",g&&\"grid grid-cols-1 grid-rows-[auto_1fr] divide-y divide-x-0 divide-solid divide-border-subtle\",dm[b].dropdown,!g&&\"h-auto\",g?\"overflow-hidden\":\"overflow-y-auto\",d),style:wm({},y)},v()),g&&React.createElement(\"div\",{className:oe(dm[b].searchbarWrapper)},React.createElement(um,{className:oe(\"text-icon-secondary shrink-0\",dm[b].searchbarIcon)}),React.createElement(\"input\",{className:oe(\"px-1 w-full placeholder:text-field-placeholder border-0 focus:outline-none focus:shadow-none\",dm[b].searchbar),type:\"search\",name:\"keyword\",placeholder:i,onChange:function(e){return x(e.target.value)},autoComplete:\"off\"})),React.createElement(\"div\",{className:oe(\"overflow-y-auto\",!g&&\"w-full h-full\",dm[b].dropdownItemsWrapper)},!!M&&T,!M&&React.createElement(\"div\",{className:\"p-2 text-center text-base font-medium text-field-placeholder\"},\"No items found\"))))))}function Pm(e){var t=e.value,n=e.selected,r=e.children,o=e.className,i=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r{r&&(clearTimeout(p.current),v.current=null,g.current=\"\")}),[r]),er((()=>{var e;r&&\"\"===g.current&&(y.current=null!=(e=null!=h?h:s)?e:-1)}),[r,h,s]);const k=zn((e=>{e?o.current.typing||(o.current.typing=e,x(e)):o.current.typing&&(o.current.typing=e,x(e))})),E=zn((e=>{function t(e,t,n){const r=w.current?w.current(t,n):t.find((e=>0===(null==e?void 0:e.toLocaleLowerCase().indexOf(n.toLocaleLowerCase()))));return r?e.indexOf(r):-1}const n=i.current;if(g.current.length>0&&\" \"!==g.current[0]&&(-1===t(n,n,g.current)?k(!1):\" \"===e.key&&yt(e)),null==n||S.current.includes(e.key)||1!==e.key.length||e.ctrlKey||e.metaKey||e.altKey)return;r&&\" \"!==e.key&&(yt(e),k(!0)),n.every((e=>{var t,n;return!e||(null==(t=e[0])?void 0:t.toLocaleLowerCase())!==(null==(n=e[1])?void 0:n.toLocaleLowerCase())}))&&g.current===e.key&&(g.current=\"\",y.current=v.current),g.current+=e.key,clearTimeout(p.current),p.current=setTimeout((()=>{g.current=\"\",y.current=v.current,k(!1)}),f);const o=y.current,s=t(n,[...n.slice((o||0)+1),...n.slice(0,(o||0)+1)],g.current);-1!==s?(b(s),v.current=s):\" \"!==e.key&&(g.current=\"\",k(!1))})),C=a.useMemo((()=>({onKeyDown:E})),[E]),_=a.useMemo((()=>({onKeyDown:E,onKeyUp(e){\" \"===e.key&&k(!1)}})),[E,k]);return a.useMemo((()=>u?{reference:C,floating:_}:{}),[u,C,_])}(z,{listRef:W,activeIndex:T,selectedIndex:D,onMatch:P?M:j,onTypingChange:function(e){V.current=e}}),q=ro([$,Y,H,U].concat(gm(h?[]:[K]))),G=q.getReferenceProps,X=q.getFloatingProps,Z=q.getItemProps,J=function(e,t){if(f)return function(e,t){var n,r=gm(null!==(n=C())&&void 0!==n?n:[]);-1===r.findIndex((function(e){return\"object\"===bm(e)?e[c]===t[c]:e===t}))&&(r.push(t),v||w(r),j(e),L.reference.current.focus(),O(!1),E(\"\"),\"function\"==typeof s&&s(r))}(e,t);j(e),v||w(t),L.reference.current.focus(),O(!1),E(\"\"),\"function\"==typeof s&&s(t)},Q=(0,a.useCallback)((function(e,t){B.current[e]=t}),[]);return React.createElement(km.Provider,{value:{selectedIndex:D,setSelectedIndex:j,activeIndex:T,setActiveIndex:M,selected:x,setSelected:w,handleSelect:J,combobox:h,sizeValue:r,multiple:f,onChange:s,isTypingRef:V,getItemProps:Z,onClickItem:function(e,t){J(e,t)},onKeyDownItem:function(e,t,n){\"Enter\"===e.key&&(e.preventDefault(),J(t,n)),\" \"!==e.key||V.current||(e.preventDefault(),J(t,n))},getValues:C,selectId:y,getReferenceProps:G,isOpen:P,value:o,updateListRef:Q,refs:L,listContentRef:W,by:c,getFloatingProps:X,floatingStyles:F,context:z,searchKeyword:k,setSearchKeyword:E,disabled:g}},u)};Cm.displayName=\"Select.Button\",_m.displayName=\"Select.Options\",Pm.displayName=\"Select.Item\",Om.Button=Cm,Om.Options=_m,Om.Option=Pm;var Nm=Om,Tm=[\"id\",\"message\",\"jsx\"];function Mm(e){return Mm=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Mm(e)}function Rm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Dm(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Dm({message:e,type:\"neutral\"},t))}},{key:\"success\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Dm({message:e,type:\"success\"},t))}},{key:\"error\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Dm({message:e,type:\"error\"},t))}},{key:\"warning\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Dm({message:e,type:\"warning\"},t))}},{key:\"info\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Dm({message:e,type:\"info\"},t))}},{key:\"custom\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Dm({jsx:e,type:\"custom\"},t))}}],t&&Am(e.prototype,t),Object.defineProperty(e,\"prototype\",{writable:!1}),e;var e,t}(),Ym=new $m,Hm=Object.seal(Object.assign((function(e,t){return Ym.default(e,t)}),{success:Ym.success.bind(Ym),error:Ym.error.bind(Ym),warning:Ym.warning.bind(Ym),info:Ym.info.bind(Ym),custom:Ym.custom.bind(Ym),dismiss:Ym.dismiss.bind(Ym),update:Ym.update.bind(Ym)},{getHistory:Ym.history.bind(Ym)})),Km=!1,qm={\"top-left\":\"top-0 bottom-0 left-0 justify-start items-start\",\"top-right\":\"top-0 bottom-0 right-0 justify-start items-end\",\"bottom-left\":\"top-0 bottom-0 left-0 justify-end items-start\",\"bottom-right\":\"top-0 bottom-0 right-0 justify-end items-end\"},Gm={neutral:\"border-alert-border-neutral bg-alert-background-neutral\",custom:\"border-alert-border-neutral bg-alert-background-neutral\",info:\"border-alert-border-info bg-alert-background-info\",success:\"border-alert-border-green bg-alert-background-green\",warning:\"border-alert-border-warning bg-alert-background-warning\",error:\"border-alert-border-danger bg-alert-background-danger\"},Xm=\"bg-background-inverse border-background-inverse\",Zm={light:\"text-icon-secondary\",dark:\"text-icon-inverse\"};class Jm extends a.Component{getSnapshotBeforeUpdate(e){const t=this.props.childRef.current;if(t&&e.isPresent&&!this.props.isPresent){const e=this.props.sizeRef.current;e.height=t.offsetHeight||0,e.width=t.offsetWidth||0,e.top=t.offsetTop,e.left=t.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function Qm({children:e,isPresent:t}){const n=(0,a.useId)(),r=(0,a.useRef)(null),o=(0,a.useRef)({width:0,height:0,top:0,left:0}),{nonce:i}=(0,a.useContext)($d);return(0,a.useInsertionEffect)((()=>{const{width:e,height:s,top:a,left:l}=o.current;if(t||!r.current||!e||!s)return;r.current.dataset.motionPopId=n;const c=document.createElement(\"style\");return i&&(c.nonce=i),document.head.appendChild(c),c.sheet&&c.sheet.insertRule(`\\n [data-motion-pop-id=\"${n}\"] {\\n position: absolute !important;\\n width: ${e}px !important;\\n height: ${s}px !important;\\n top: ${a}px !important;\\n left: ${l}px !important;\\n }\\n `),()=>{document.head.removeChild(c)}}),[t]),(0,mu.jsx)(Jm,{isPresent:t,childRef:r,sizeRef:o,children:a.cloneElement(e,{ref:r})})}const eh=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:o,presenceAffectsLayout:i,mode:s})=>{const l=yf(th),c=(0,a.useId)(),u=(0,a.useMemo)((()=>({id:c,initial:t,isPresent:n,custom:o,onExitComplete:e=>{l.set(e,!0);for(const e of l.values())if(!e)return;r&&r()},register:e=>(l.set(e,!1),()=>l.delete(e))})),i?[Math.random()]:[n]);return(0,a.useMemo)((()=>{l.forEach(((e,t)=>l.set(t,!1)))}),[n]),a.useEffect((()=>{!n&&!l.size&&r&&r()}),[n]),\"popLayout\"===s&&(e=(0,mu.jsx)(Qm,{isPresent:n,children:e})),(0,mu.jsx)(hu.Provider,{value:u,children:e})};function th(){return new Map}const nh=e=>e.key||\"\";function rh(e){const t=[];return a.Children.forEach(e,(e=>{(0,a.isValidElement)(e)&&t.push(e)})),t}const oh=({children:e,exitBeforeEnter:t,custom:n,initial:r=!0,onExitComplete:o,presenceAffectsLayout:i=!0,mode:s=\"sync\"})=>{os(!t,\"Replace exitBeforeEnter with mode='wait'\");const l=(0,a.useMemo)((()=>rh(e)),[e]),c=l.map(nh),u=(0,a.useRef)(!0),d=(0,a.useRef)(l),f=yf((()=>new Map)),[m,h]=(0,a.useState)(l),[p,g]=(0,a.useState)(l);Kd((()=>{u.current=!1,d.current=l;for(let e=0;e{const t=nh(e),a=l===p||c.includes(t);return(0,mu.jsx)(eh,{isPresent:a,initial:!(u.current&&!r)&&void 0,custom:a?void 0:n,presenceAffectsLayout:i,mode:s,onExitComplete:a?void 0:()=>{if(!f.has(t))return;f.set(t,!0);let e=!0;f.forEach((t=>{t||(e=!1)})),e&&(null==v||v(),g(d.current),o&&o())},children:e},t)}))})};function ih(e){return ih=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},ih(e)}function sh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ah(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&void 0!==arguments[1]?arguments[1]:u;if(l&&!(u<0))return x.current=(new Date).getTime(),setTimeout((function(){b(e.id)}),t)};(0,a.useEffect)((function(){var e=u;return S.current=k(t,e),function(){clearTimeout(S.current)}}),[]),(0,a.useEffect)((function(){null!=t&&t.dismiss&&b(t.id)}),[t]);var E,C,_,P,O,N,T,M,R,D,j=function(){var e,n;null==t||null===(e=t.action)||void 0===e||null===(n=e.onClick)||void 0===n||n.call(e,(function(){return b(t.id)}))},A=null;return\"stack\"===h&&(A=React.createElement(\"div\",{className:oe(\"flex items-center justify-start p-4 gap-2 relative border border-solid rounded-md shadow-lg\",\"dark\"===f?Xm:null===(E=Gm)||void 0===E?void 0:E[v],\"w-[22.5rem]\"),onMouseEnter:function(){clearTimeout(S.current),w.current=(new Date).getTime()},onMouseLeave:function(){S.current=k(t,u-(w.current-x.current))}},\"custom\"!==t.type?React.createElement(React.Fragment,null,React.createElement(\"div\",{className:\"self-start flex items-center justify-center [&_svg]:size-5 shrink-0\"},So({variant:v,icon:g,theme:f})),React.createElement(\"div\",{className:\"flex flex-col items-start justify-start gap-0.5\"},Eo({title:r,theme:f}),Co({content:i,theme:f}),(null==t||null===(C=t.action)||void 0===C?void 0:C.label)&&\"function\"==typeof(null==t||null===(_=t.action)||void 0===_?void 0:_.onClick)&&React.createElement(\"div\",{className:\"mt-2.5\"},ko({actionLabel:null==t||null===(P=t.action)||void 0===P?void 0:P.label,actionType:null!==(O=null==t||null===(N=t.action)||void 0===N?void 0:N.type)&&void 0!==O?O:\"button\",onAction:j,theme:f}))),React.createElement(\"div\",{className:\"absolute right-4 top-4 [&_svg]:size-5\"},React.createElement(\"button\",{className:oe(\"bg-transparent m-0 p-0 border-none focus:outline-none active:outline-none cursor-pointer\",null!==(T=Zm[f])&&void 0!==T?T:Zm.light),onClick:function(){return b(t.id)}},React.createElement(qo,null)))):null==t||null===(M=t.jsx)||void 0===M?void 0:M.call(t,{close:function(){return b(t.id)},action:null!=t&&t.action?ah(ah({},null==t?void 0:t.action),{},{onClick:j}):null}))),\"inline\"===h&&(A=React.createElement(\"div\",{className:oe(\"flex items-center justify-start p-3 gap-2 relative border border-solid rounded-md shadow-lg\",\"dark\"===f?Xm:null===(R=Gm)||void 0===R?void 0:R[v],\"lg:w-[47.5rem] w-full\")},React.createElement(\"div\",{className:\"self-start flex items-center justify-center [&_svg]:size-5 shrink-0\"},So({variant:v,icon:g,theme:f})),React.createElement(\"div\",{className:\"flex items-start justify-start gap-1 mr-10 [&>span:first-child]:shrink-0\"},Eo({title:r,theme:f}),Co({content:i,theme:f})),React.createElement(\"div\",{className:\"absolute right-3 top-3 [&_svg]:size-5\"},React.createElement(\"button\",{className:oe(\"bg-transparent m-0 p-0 border-none focus:outline-none active:outline-none cursor-pointer\",null!==(D=Zm[f])&&void 0!==D?D:Zm.light),onClick:function(){return b(t.id)}},React.createElement(qo,null))))),A},mh=(dh=function(e){var t,n,r,o=e.position,i=void 0===o?\"top-right\":o,s=e.design,l=void 0===s?\"stack\":s,c=e.theme,u=void 0===c?\"light\":c,d=e.className,f=void 0===d?\"\":d,m=e.autoDismiss,h=void 0===m||m,p=e.dismissAfter,g=void 0===p?5e3:p,y=(n=(0,a.useState)([]),r=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,o,i,s,a=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||ch(n,r)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()),v=y[0],b=y[1];(0,a.useEffect)((function(){Ym.subscribe((function(e){null!=e&&e.dismiss?b((function(t){return t.map((function(t){return t.id===e.id?ah(ah({},t),{},{dismiss:!0}):t}))})):setTimeout((function(){(0,tn.flushSync)((function(){return b((function(t){return-1!==t.findIndex((function(t){return t.id===e.id}))?t.map((function(t){return t.id===e.id?ah(ah({},t),e):t})):[].concat(function(e){return function(e){if(Array.isArray(e))return uh(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||ch(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}(t),[e])}))}))}))}))}),[]);var x=function(e){b((function(t){return t.filter((function(t){return t.id!==e}))}))};return React.createElement(\"ul\",{className:oe(\"fixed flex flex-col list-none z-20 p-10 pointer-events-none [&>li]:pointer-events-auto gap-3\",null!==(t=qm[i])&&void 0!==t?t:qm[\"top-right\"],f)},React.createElement(oh,{initial:!1},v.map((function(e){var t,n,r,o,i;return React.createElement(em.li,{key:e.id,positionTransition:!0,initial:{opacity:0,y:50,scale:.7},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.6,transition:{duration:.15}},layoutId:\"toast-\".concat(e.id)},React.createElement(fh,{toastItem:e,title:e.title,content:null==e?void 0:e.description,icon:null!==(t=null==e?void 0:e.icon)&&void 0!==t?t:null,design:null!==(n=null==e?void 0:e.design)&&void 0!==n?n:l,autoDismiss:null!==(r=null==e?void 0:e.autoDismiss)&&void 0!==r?r:h,dismissAfter:null!==(o=null==e?void 0:e.dismissAfter)&&void 0!==o?o:g,removeToast:x,variant:e.type,theme:null!==(i=null==e?void 0:e.theme)&&void 0!==i?i:u}))}))))},(0,a.memo)((function(e){var t=e.singleTon;return Km&&t?null:(Km=!0,React.createElement(dh,e))}))),hh={sm:{1:\"grid-cols-1\",2:\"grid-cols-2\",3:\"grid-cols-3\",4:\"grid-cols-4\",5:\"grid-cols-5\",6:\"grid-cols-6\",7:\"grid-cols-7\",8:\"grid-cols-8\",9:\"grid-cols-9\",10:\"grid-cols-10\",11:\"grid-cols-11\",12:\"grid-cols-12\"},md:{1:\"md:grid-cols-1\",2:\"md:grid-cols-2\",3:\"md:grid-cols-3\",4:\"md:grid-cols-4\",5:\"md:grid-cols-5\",6:\"md:grid-cols-6\",7:\"md:grid-cols-7\",8:\"md:grid-cols-8\",9:\"md:grid-cols-9\",10:\"md:grid-cols-10\",11:\"md:grid-cols-11\",12:\"md:grid-cols-12\"},lg:{1:\"lg:grid-cols-1\",2:\"lg:grid-cols-2\",3:\"lg:grid-cols-3\",4:\"lg:grid-cols-4\",5:\"lg:grid-cols-5\",6:\"lg:grid-cols-6\",7:\"lg:grid-cols-7\",8:\"lg:grid-cols-8\",9:\"lg:grid-cols-9\",10:\"lg:grid-cols-10\",11:\"lg:grid-cols-11\",12:\"lg:grid-cols-12\"}},ph={sm:{xs:\"gap-2\",sm:\"gap-4\",md:\"gap-5\",lg:\"gap-6\",xl:\"gap-6\",\"2xl\":\"gap-8\"},md:{xs:\"md:gap-2\",sm:\"md:gap-4\",md:\"md:gap-5\",lg:\"md:gap-6\",xl:\"md:gap-6\",\"2xl\":\"md:gap-8\"},lg:{xs:\"lg:gap-2\",sm:\"lg:gap-4\",md:\"lg:gap-5\",lg:\"lg:gap-6\",xl:\"lg:gap-6\",\"2xl\":\"lg:gap-8\"}},gh={sm:{xs:\"gap-x-2\",sm:\"gap-x-4\",md:\"gap-x-5\",lg:\"gap-x-6\",xl:\"gap-x-6\",\"2xl\":\"gap-x-8\"},md:{xs:\"md:gap-x-2\",sm:\"md:gap-x-4\",md:\"md:gap-x-5\",lg:\"md:gap-x-6\",xl:\"md:gap-x-6\",\"2xl\":\"md:gap-x-8\"},lg:{xs:\"lg:gap-x-2\",sm:\"lg:gap-x-4\",md:\"lg:gap-x-5\",lg:\"lg:gap-x-6\",xl:\"lg:gap-x-6\",\"2xl\":\"lg:gap-x-8\"}},yh={sm:{xs:\"gap-y-2\",sm:\"gap-y-4\",md:\"gap-y-5\",lg:\"gap-y-6\",xl:\"gap-y-6\",\"2xl\":\"gap-y-8\"},md:{xs:\"md:gap-y-2\",sm:\"md:gap-y-4\",md:\"md:gap-y-5\",lg:\"md:gap-y-6\",xl:\"md:gap-y-6\",\"2xl\":\"md:gap-y-8\"},lg:{xs:\"lg:gap-y-2\",sm:\"lg:gap-y-4\",md:\"lg:gap-y-5\",lg:\"lg:gap-y-6\",xl:\"lg:gap-y-6\",\"2xl\":\"lg:gap-y-8\"}},vh={sm:{1:\"col-span-1\",2:\"col-span-2\",3:\"col-span-3\",4:\"col-span-4\",5:\"col-span-5\",6:\"col-span-6\",7:\"col-span-7\",8:\"col-span-8\",9:\"col-span-9\",10:\"col-span-10\",11:\"col-span-11\",12:\"col-span-12\"},md:{1:\"md:col-span-1\",2:\"md:col-span-2\",3:\"md:col-span-3\",4:\"md:col-span-4\",5:\"md:col-span-5\",6:\"md:col-span-6\",7:\"md:col-span-7\",8:\"md:col-span-8\",9:\"md:col-span-9\",10:\"md:col-span-10\",11:\"md:col-span-11\",12:\"md:col-span-12\"},lg:{1:\"lg:col-span-1\",2:\"lg:col-span-2\",3:\"lg:col-span-3\",4:\"lg:col-span-4\",5:\"lg:col-span-5\",6:\"lg:col-span-6\",7:\"lg:col-span-7\",8:\"lg:col-span-8\",9:\"lg:col-span-9\",10:\"lg:col-span-10\",11:\"lg:col-span-11\",12:\"lg:col-span-12\"}},bh={sm:{1:\"col-start-1\",2:\"col-start-2\",3:\"col-start-3\",4:\"col-start-4\",5:\"col-start-5\",6:\"col-start-6\",7:\"col-start-7\",8:\"col-start-8\",9:\"col-start-9\",10:\"col-start-10\",11:\"col-start-11\",12:\"col-start-12\"},md:{1:\"md:col-start-1\",2:\"md:col-start-2\",3:\"md:col-start-3\",4:\"md:col-start-4\",5:\"md:col-start-5\",6:\"md:col-start-6\",7:\"md:col-start-7\",8:\"md:col-start-8\",9:\"md:col-start-9\",10:\"md:col-start-10\",11:\"md:col-start-11\",12:\"md:col-start-12\"},lg:{1:\"lg:col-start-1\",2:\"lg:col-start-2\",3:\"lg:col-start-3\",4:\"lg:col-start-4\",5:\"lg:col-start-5\",6:\"lg:col-start-6\",7:\"lg:col-start-7\",8:\"lg:col-start-8\",9:\"lg:col-start-9\",10:\"lg:col-start-10\",11:\"lg:col-start-11\",12:\"lg:col-start-12\"}},xh={sm:{row:\"grid-flow-row\",column:\"grid-flow-col\",\"row-dense\":\"grid-flow-row-dense\",\"column-dense\":\"grid-flow-col-dense\"},md:{row:\"md:grid-flow-row\",column:\"md:grid-flow-col\",\"row-dense\":\"md:grid-flow-row-dense\",\"column-dense\":\"md:grid-flow-col-dense\"},lg:{row:\"lg:grid-flow-row\",column:\"lg:grid-flow-col\",\"row-dense\":\"lg:grid-flow-row-dense\",\"column-dense\":\"lg:grid-flow-col-dense\"}},wh={sm:{normal:\"justify-normal\",start:\"justify-start\",end:\"justify-end\",center:\"justify-center\",between:\"justify-between\",around:\"justify-around\",evenly:\"justify-evenly\",stretch:\"justify-stretch\"},md:{normal:\"md:justify-normal\",start:\"md:justify-start\",end:\"md:justify-end\",center:\"md:justify-center\",between:\"md:justify-between\",around:\"md:justify-around\",evenly:\"md:justify-evenly\",stretch:\"md:justify-stretch\"},lg:{normal:\"lg:justify-normal\",start:\"lg:justify-start\",end:\"lg:justify-end\",center:\"lg:justify-center\",between:\"lg:justify-between\",around:\"lg:justify-around\",evenly:\"lg:justify-evenly\",stretch:\"lg:justify-stretch\"}},Sh={sm:{start:\"items-start\",end:\"items-end\",center:\"items-center\",baseline:\"items-baseline\",stretch:\"items-stretch\"},md:{start:\"md:items-start\",end:\"md:items-end\",center:\"md:items-center\",baseline:\"md:items-baseline\",stretch:\"md:items-stretch\"},lg:{start:\"lg:items-start\",end:\"lg:items-end\",center:\"lg:items-center\",baseline:\"lg:items-baseline\",stretch:\"lg:items-stretch\"}},kh={sm:{start:\"self-start\",end:\"self-end\",center:\"self-center\",baseline:\"self-baseline\",stretch:\"self-stretch\"},md:{start:\"md:self-start\",end:\"md:self-end\",center:\"md:self-center\",baseline:\"md:self-baseline\",stretch:\"md:self-stretch\"},lg:{start:\"lg:self-start\",end:\"lg:self-end\",center:\"lg:self-center\",baseline:\"lg:self-baseline\",stretch:\"lg:self-stretch\"}},Eh={sm:{auto:\"justify-self-auto\",start:\"justify-self-start\",end:\"justify-self-end\",center:\"justify-self-center\",baseline:\"justify-self-baseline\",stretch:\"justify-self-stretch\"},md:{auto:\"md:justify-self-auto\",start:\"md:justify-self-start\",end:\"md:justify-self-end\",center:\"md:justify-self-center\",baseline:\"md:justify-self-baseline\",stretch:\"md:justify-self-stretch\"},lg:{auto:\"lg:justify-self-auto\",start:\"lg:justify-self-start\",end:\"lg:justify-self-end\",center:\"lg:justify-self-center\",baseline:\"lg:justify-self-baseline\",stretch:\"lg:justify-self-stretch\"}},Ch={sm:{row:\"flex-row\",\"row-reverse\":\"flex-row-reverse\",column:\"flex-col\",\"column-reverse\":\"flex-col-reverse\"},md:{row:\"md:flex-row\",\"row-reverse\":\"md:flex-row-reverse\",column:\"md:flex-col\",\"column-reverse\":\"md:flex-col-reverse\"},lg:{row:\"lg:flex-row\",\"row-reverse\":\"lg:flex-row-reverse\",column:\"lg:flex-col\",\"column-reverse\":\"lg:flex-col-reverse\"}},_h={sm:{wrap:\"flex-wrap\",\"wrap-reverse\":\"flex-wrap-reverse\",nowrap:\"flex-nowrap\"},md:{wrap:\"md:flex-wrap\",\"wrap-reverse\":\"md:flex-wrap-reverse\",nowrap:\"md:flex-nowrap\"},lg:{wrap:\"lg:flex-wrap\",\"wrap-reverse\":\"lg:flex-wrap-reverse\",nowrap:\"lg:flex-nowrap\"}},Ph={sm:{1:\"w-full\",2:\"w-1/2\",3:\"w-1/3\",4:\"w-1/4\",5:\"w-1/5\",6:\"w-1/6\",7:\"w-1/7\",8:\"w-1/8\",9:\"w-1/9\",10:\"w-1/10\",11:\"w-1/11\",12:\"w-1/12\"},md:{1:\"md:w-full\",2:\"md:w-1/2\",3:\"md:w-1/3\",4:\"md:w-1/4\",5:\"md:w-1/5\",6:\"md:w-1/6\",7:\"md:w-1/7\",8:\"md:w-1/8\",9:\"md:w-1/9\",10:\"md:w-1/10\",11:\"md:w-1/11\",12:\"md:w-1/12\"},lg:{1:\"lg:w-full\",2:\"lg:w-1/2\",3:\"lg:w-1/3\",4:\"lg:w-1/4\",5:\"lg:w-1/5\",6:\"lg:w-1/6\",7:\"lg:w-1/7\",8:\"lg:w-1/8\",9:\"lg:w-1/9\",10:\"lg:w-1/10\",11:\"lg:w-1/11\",12:\"lg:w-1/12\"}},Oh={sm:{1:\"order-1\",2:\"order-2\",3:\"order-3\",4:\"order-4\",5:\"order-5\",6:\"order-6\",7:\"order-7\",8:\"order-8\",9:\"order-9\",10:\"order-10\",11:\"order-11\",12:\"order-12\",first:\"order-first\",last:\"order-last\",none:\"order-none\"},md:{1:\"md:order-1\",2:\"md:order-2\",3:\"md:order-3\",4:\"md:order-4\",5:\"md:order-5\",6:\"md:order-6\",7:\"md:order-7\",8:\"md:order-8\",9:\"md:order-9\",10:\"md:order-10\",11:\"md:order-11\",12:\"md:order-12\",first:\"md:order-first\",last:\"md:order-last\",none:\"md:order-none\"},lg:{1:\"lg:order-1\",2:\"lg:order-2\",3:\"lg:order-3\",4:\"lg:order-4\",5:\"lg:order-5\",6:\"lg:order-6\",7:\"lg:order-7\",8:\"lg:order-8\",9:\"lg:order-9\",10:\"lg:order-10\",11:\"lg:order-11\",12:\"lg:order-12\",first:\"lg:order-first\",last:\"lg:order-last\",none:\"lg:order-none\"}},Nh={sm:{0:\"grow-0\",1:\"grow\"},md:{0:\"md:grow-0\",1:\"md:grow\"},lg:{0:\"lg:grow-0\",1:\"lg:grow\"}},Th={sm:{0:\"shrink-0\",1:\"shrink\"},md:{0:\"md:shrink-0\",1:\"md:shrink\"},lg:{0:\"lg:shrink-0\",1:\"lg:shrink\"}};function Mh(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n3&&void 0!==arguments[3]?arguments[3]:\"sm\",f=[];switch(Rh(e)){case\"object\":for(var m=0,h=Object.entries(e);mspan:first-child]:shrink-0 px-1\"},Eo({title:g,theme:u}),Co({content:v,theme:u}))),React.createElement(\"div\",{className:\"flex items-center justify-start gap-4 [&_svg]:size-4\"},(null==E?void 0:E.label)&&\"function\"==typeof(null==E?void 0:E.onClick)&&React.createElement(\"div\",{className:\"flex h-5\"},ko({actionLabel:null==E?void 0:E.label,actionType:null!==(n=null==E?void 0:E.type)&&void 0!==n?n:\"button\",onAction:N,theme:u})),React.createElement(\"button\",{className:oe(\"bg-transparent m-0 border-none p-0.5 focus:outline-none active:outline-none cursor-pointer size-5\",null!==(r=O[u])&&void 0!==r?r:O.light),onClick:function(){return C()}},React.createElement(qo,null))))},Xh=(Kh=function(e){const t=new URLSearchParams;t.append(\"code\",e);for(let e=1;e{t.focus((()=>{const e=document.activeElement,n=t.getRootElement();null===n||null!==e&&n.contains(e)||n.focus({preventScroll:!0})}),{defaultSelection:e})}),[e,t]),null}const ep={},tp={},np={},rp={},op={},ip={},sp={},ap={},lp={},cp={},up={},dp={},fp={},mp={},hp={},pp={},gp={},yp={},vp={},bp={},xp={},wp={},Sp={},kp={},Ep={},Cp={},_p={},Pp={},Op={},Np={},Tp={},Mp={},Rp={},Dp={},jp={},Ap={},Ip={},Lp={},Fp={},zp={},Bp=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Wp=Bp&&\"documentMode\"in document?document.documentMode:null,Vp=Bp&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Up=Bp&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),$p=!(!Bp||!(\"InputEvent\"in window)||Wp)&&\"getTargetRanges\"in new window.InputEvent(\"input\"),Yp=Bp&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Hp=Bp&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,Kp=Bp&&/Android/.test(navigator.userAgent),qp=Bp&&/^(?=.*Chrome).*/i.test(navigator.userAgent),Gp=Bp&&Kp&&qp,Xp=Bp&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&!qp,Zp=1,Jp=3,Qp=0,eg=2,tg=0,ng=1,rg=2,og=4,ig=8,sg=3|og|ig|240,ag=1,lg=2,cg=3,ug=4,dg=5,fg=6,mg=Yp||Hp||Xp?\" \":\"​\",hg=\"\\n\\n\",pg=Up?\" \":mg,gg=\"֑-߿יִ-﷽ﹰ-ﻼ\",yg=\"A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿\",vg=new RegExp(\"^[^\"+yg+\"]*[\"+gg+\"]\"),bg=new RegExp(\"^[^\"+gg+\"]*[\"+yg+\"]\"),xg={bold:1,code:16,highlight:128,italic:2,strikethrough:og,subscript:32,superscript:64,underline:ig},wg={directionless:1,unmergeable:2},Sg={center:lg,end:fg,justify:ug,left:ag,right:cg,start:dg},kg={[lg]:\"center\",[fg]:\"end\",[ug]:\"justify\",[ag]:\"left\",[cg]:\"right\",[dg]:\"start\"},Eg={normal:0,segmented:2,token:1},Cg={[tg]:\"normal\",[rg]:\"segmented\",[ng]:\"token\"};var _g,Pg=(_g=function(e){const t=new URLSearchParams;t.append(\"code\",e);for(let e=1;eNg;try{wx(e,(()=>{const o=Hb()||function(e){return e.getEditorState().read((()=>{const e=Hb();return null!==e?e.clone():null}))}(e),i=new Map,s=e.getRootElement(),a=e._editorState,l=e._blockCursorElement;let c=!1,u=\"\";for(let n=0;n0){let t=0;for(let o=0;o0)for(const[t,n]of i)if(kx(n)){const r=n.getChildrenKeys();let o=t.firstChild;for(let n=0;n0){for(let t=0;t{Ig(e,t,n)}))}function zg(e,t){const n=e.__mode,r=e.__format,o=e.__style,i=t.__mode,s=t.__format,a=t.__style;return!(null!==n&&n!==i||null!==r&&r!==s||null!==o&&o!==a)}function Bg(e,t){const n=e.mergeWithSibling(t),r=ux()._normalizedNodes;return r.add(e.__key),r.add(t.__key),n}function Wg(e){let t,n,r=e;if(\"\"!==r.__text||!r.isSimpleText()||r.isUnmergeable()){for(;null!==(t=r.getPreviousSibling())&&kb(t)&&t.isSimpleText()&&!t.isUnmergeable();){if(\"\"!==t.__text){if(zg(t,r)){r=Bg(t,r);break}break}t.remove()}for(;null!==(n=r.getNextSibling())&&kb(n)&&n.isSimpleText()&&!n.isUnmergeable();){if(\"\"!==n.__text){if(zg(r,n)){r=Bg(r,n);break}break}n.remove()}}else r.remove()}function Vg(e){for(;\"element\"===e.type;){const t=e.getNode(),n=e.offset;let r,o;if(n===t.getChildrenSize()?(r=t.getChildAtIndex(n-1),o=!0):(r=t.getChildAtIndex(n),o=!1),kb(r)){e.set(r.__key,o?r.getTextContentSize():0,\"text\");break}if(!kx(r))break;e.set(r.__key,o?r.getChildrenSize():0,\"element\")}}let Ug=1;const $g=\"function\"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)};function Yg(e){const t=document.activeElement;if(null===t)return!1;const n=t.nodeName;return Px(sy(e))&&(\"INPUT\"===n||\"TEXTAREA\"===n||\"true\"===t.contentEditable&&null==Gg(t))}function Hg(e,t,n){const r=e.getRootElement();try{return null!==r&&r.contains(t)&&r.contains(n)&&null!==t&&!Yg(t)&&qg(t)===e}catch(e){return!1}}function Kg(e){return e instanceof Bx}function qg(e){let t=e;for(;null!=t;){const e=Gg(t);if(Kg(e))return e;t=Ay(t)}return null}function Gg(e){return e?e.__lexicalEditor:null}function Xg(e){return e.isToken()||e.isSegmented()}function Zg(e){return e.nodeType===Jp}function Jg(e){let t=e;for(;null!=t;){if(Zg(t))return t;t=t.firstChild}return null}function Qg(e,t,n){const r=xg[t];if(null!==n&&(e&r)==(n&r))return e;let o=e^r;return\"subscript\"===t?o&=~xg.superscript:\"superscript\"===t&&(o&=~xg.subscript),o}function ey(e){const t=e.getParent();if(null!==t){const n=e.getWritable(),r=t.getWritable(),o=e.getPreviousSibling(),i=e.getNextSibling();if(null===o)if(null!==i){const e=i.getWritable();r.__first=i.__key,e.__prev=null}else r.__first=null;else{const e=o.getWritable();if(null!==i){const t=i.getWritable();t.__prev=e.__key,e.__next=t.__key}else e.__next=null;n.__prev=null}if(null===i)if(null!==o){const e=o.getWritable();r.__last=o.__key,e.__next=null}else r.__last=null;else{const e=i.getWritable();if(null!==o){const t=o.getWritable();t.__next=e.__key,e.__prev=t.__key}else e.__prev=null;n.__next=null}r.__size--,n.__parent=null}}function ty(e){lx();const t=e.getLatest(),n=t.__parent,r=cx(),o=ux(),i=r._nodeMap,s=o._dirtyElements;null!==n&&function(e,t,n){let r=e;for(;null!==r;){if(n.has(r))return;const e=t.get(r);if(void 0===e)break;n.set(r,!1),r=e.__parent}}(n,i,s);const a=t.__key;o._dirtyType=1,kx(e)?s.set(a,!0):o._dirtyLeaves.add(a)}function ny(e){ax();const t=ux(),n=t._compositionKey;if(e!==n){if(t._compositionKey=e,null!==n){const e=oy(n);null!==e&&e.getWritable()}if(null!==e){const t=oy(e);null!==t&&t.getWritable()}}}function ry(){return sx()?null:ux()._compositionKey}function oy(e,t){const n=(t||cx())._nodeMap.get(e);return void 0===n?null:n}function iy(e,t){const n=e[`__lexicalKey_${ux()._key}`];return void 0!==n?oy(n,t):null}function sy(e,t){let n=e;for(;null!=n;){const e=iy(n,t);if(null!==e)return e;n=Ay(n)}return null}function ay(e){const t=e._decorators,n=Object.assign({},t);return e._pendingDecorators=n,n}function ly(e){return e.read((()=>cy().getTextContent()))}function cy(){return uy(cx())}function uy(e){return e._nodeMap.get(\"root\")}function dy(e){ax();const t=cx();null!==e&&(e.dirty=!0,e.setCachedNodes(null)),t._selection=e}function fy(e){const t=ux(),n=function(e,t){let n=e;for(;null!=n;){const e=n[`__lexicalKey_${t._key}`];if(void 0!==e)return e;n=Ay(n)}return null}(e,t);return null===n?e===t.getRootElement()?oy(\"root\"):null:oy(n)}function my(e,t){return t?e.getTextContentSize():0}function hy(e){return/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g.test(e)}function py(e){const t=[];let n=e;for(;null!==n;)t.push(n),n=n._parentEditor;return t}function gy(){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,5)}function yy(e){return e.nodeType===Jp?e.nodeValue:null}function vy(e,t,n){const r=Vy(t._window);if(null===r)return;const o=r.anchorNode;let{anchorOffset:i,focusOffset:s}=r;if(null!==o){let t=yy(o);const r=sy(o);if(null!==t&&kb(r)){if(t===mg&&n){const e=n.length;t=n,i=e,s=e}null!==t&&by(r,t,i,s,e)}}}function by(e,t,n,r,o){let i=e;if(i.isAttached()&&(o||!i.isDirty())){const s=i.isComposing();let a=t;(s||o)&&t[t.length-1]===mg&&(a=t.slice(0,-1));const l=i.getTextContent();if(o||a!==l){if(\"\"===a){if(ny(null),Yp||Hp||Xp)i.remove();else{const e=ux();setTimeout((()=>{e.update((()=>{i.isAttached()&&i.remove()}))}),20)}return}const t=i.getParent(),o=Kb(),l=i.getTextContentSize(),c=ry(),u=i.getKey();if(i.isToken()||null!==c&&u===c&&!s||Db(o)&&(null!==t&&!t.canInsertTextBefore()&&0===o.anchor.offset||o.anchor.key===e.__key&&0===o.anchor.offset&&!i.canInsertTextBefore()&&!s||o.focus.key===e.__key&&o.focus.offset===l&&!i.canInsertTextAfter()&&!s))return void i.markDirty();const d=Hb();if(!Db(d)||null===n||null===r)return void i.setTextContent(a);if(d.setTextNodeRange(i,n,i,r),i.isSegmented()){const e=Sb(i.getTextContent());i.replace(e),i=e}i.setTextContent(a)}}}function xy(e){return\"ArrowLeft\"===e}function wy(e){return\"ArrowRight\"===e}function Sy(e,t){return Vp?e:t}function ky(e){return\"Enter\"===e}function Ey(e){return\"Backspace\"===e}function Cy(e){return\"Delete\"===e}function _y(e,t,n){return\"a\"===e.toLowerCase()&&Sy(t,n)}function Py(e,t){void 0===e.__lexicalClassNameCache&&(e.__lexicalClassNameCache={});const n=e.__lexicalClassNameCache,r=n[t];if(void 0!==r)return r;const o=e[t];if(\"string\"==typeof o){const e=Og(o);return n[t]=e,e}return o}function Oy(e,t,n,r,o){if(0===n.size)return;const i=r.__type,s=r.__key,a=t.get(i);void 0===a&&Pg(33,i);const l=a.klass;let c=e.get(l);void 0===c&&(c=new Map,e.set(l,c));const u=c.get(s),d=\"destroyed\"===u&&\"created\"===o;(void 0===u||d)&&c.set(s,d?\"updated\":o)}function Ny(e,t,n){const r=e.getParent();let o=n,i=e;return null!==r&&(t&&0===n?(o=i.getIndexWithinParent(),i=r):t||n!==i.getChildrenSize()||(o=i.getIndexWithinParent()+1,i=r)),i.getChildAtIndex(t?o-1:o)}function Ty(e,t){const n=e.offset;if(\"element\"===e.type)return Ny(e.getNode(),t,n);{const r=e.getNode();if(t&&0===n||!t&&n===r.getTextContentSize()){const e=t?r.getPreviousSibling():r.getNextSibling();return null===e?Ny(r.getParentOrThrow(),t,r.getIndexWithinParent()+(t?0:1)):e}}return null}function My(e){const t=Ly(e).event,n=t&&t.inputType;return\"insertFromPaste\"===n||\"insertFromPasteAsQuotation\"===n}function Ry(e,t,n){return vx(e,t,n)}function Dy(e){return!Nx(e)&&!e.isLastChild()&&!e.isInline()}function jy(e,t){const n=e._keyToDOMMap.get(t);return void 0===n&&Pg(75,t),n}function Ay(e){const t=e.assignedSlot||e.parentElement;return null!==t&&11===t.nodeType?t.host:t}function Iy(e,t){let n=e.getParent();for(;null!==n;){if(n.is(t))return!0;n=n.getParent()}return!1}function Ly(e){const t=e._window;return null===t&&Pg(78),t}function Fy(e){return Nx(e)||kx(e)&&e.isShadowRoot()}function zy(e){const t=ux(),n=e.constructor.getType(),r=t._nodes.get(n);void 0===r&&Pg(97);const o=r.replace;if(null!==o){const t=o(e);return t instanceof e.constructor||Pg(98),t}return e}function By(e,t){!Nx(e.getParent())||kx(t)||Px(t)||Pg(99)}function Wy(e){return(Px(e)||kx(e)&&!e.canBeEmpty())&&!e.isInline()}function _n(e,t,n){n.style.removeProperty(\"caret-color\"),t._blockCursorElement=null;const r=e.parentElement;null!==r&&r.removeChild(e)}function Vy(e){return Bp?(e||window).getSelection():null}function Uy(e){return 1===e.nodeType}function $y(e){const t=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var|#text)$/,\"i\");return null!==e.nodeName.match(t)}function Yy(e){const t=new RegExp(/^(address|article|aside|blockquote|canvas|dd|div|dl|dt|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hr|li|main|nav|noscript|ol|p|pre|section|table|td|tfoot|ul|video)$/,\"i\");return null!==e.nodeName.match(t)}function Hy(e){if(Nx(e)||Px(e)&&!e.isInline())return!0;if(!kx(e)||Fy(e))return!1;const t=e.getFirstChild(),n=null===t||ib(t)||kb(t)||t.isInline();return!e.isInline()&&!1!==e.canBeEmpty()&&n}function Ky(e,t){let n=e;for(;null!==n&&null!==n.getParent()&&!t(n);)n=n.getParentOrThrow();return t(n)?n:null}const qy=new WeakMap,Gy=new Map;function Xy(e){const t=e.constructor.clone(e);return t.afterCloneFrom(e),t}function Zy(e,t,n,r,o,i){let s=e.getFirstChild();for(;null!==s;){const e=s.__key;s.__parent===t&&(kx(s)&&Zy(s,e,n,r,o,i),n.has(e)||i.delete(e),o.push(e)),s=s.getNextSibling()}}let Jy,Qy,ev,tv,nv,rv,ov,iv,sv,av,lv=\"\",cv=\"\",uv=null,dv=\"\",fv=\"\",mv=!1,hv=!1,pv=null;function gv(e,t){const n=ov.get(e);if(null!==t){const n=Mv(e);n.parentNode===t&&t.removeChild(n)}if(iv.has(e)||Qy._keyToDOMMap.delete(e),kx(n)){const e=Pv(n,ov);yv(e,0,e.length-1,null)}void 0!==n&&Oy(av,ev,tv,n,\"destroyed\")}function yv(e,t,n,r){let o=t;for(;o<=n;++o){const t=e[o];void 0!==t&&gv(t,r)}}function vv(e,t){e.setProperty(\"text-align\",t)}const bv=\"40px\";function xv(e,t){const n=Jy.theme.indent;if(\"string\"==typeof n){const r=e.classList.contains(n);t>0&&!r?e.classList.add(n):t<1&&r&&e.classList.remove(n)}const r=getComputedStyle(e).getPropertyValue(\"--lexical-indent-base-value\")||bv;e.style.setProperty(\"padding-inline-start\",0===t?\"\":`calc(${t} * ${r})`)}function wv(e,t){const n=e.style;0===t?vv(n,\"\"):t===ag?vv(n,\"left\"):t===lg?vv(n,\"center\"):t===cg?vv(n,\"right\"):t===ug?vv(n,\"justify\"):t===dg?vv(n,\"start\"):t===fg&&vv(n,\"end\")}function Sv(e,t,n){const r=iv.get(e);void 0===r&&Pg(60);const o=r.createDOM(Jy,Qy);if(function(e,t,n){const r=n._keyToDOMMap;t[\"__lexicalKey_\"+n._key]=e,r.set(e,t)}(e,o,Qy),kb(r)?o.setAttribute(\"data-lexical-text\",\"true\"):Px(r)&&o.setAttribute(\"data-lexical-decorator\",\"true\"),kx(r)){const e=r.__indent,t=r.__size;if(0!==e&&xv(o,e),0!==t){const e=t-1;!function(e,t,n,r){const o=cv;cv=\"\",kv(e,n,0,t,r,null),_v(n,r),cv=o}(Pv(r,iv),e,r,o)}const n=r.__format;0!==n&&wv(o,n),r.isInline()||Cv(null,r,o),Dy(r)&&(lv+=hg,fv+=hg)}else{const t=r.getTextContent();if(Px(r)){const t=r.decorate(Qy,Jy);null!==t&&Nv(e,t),o.contentEditable=\"false\"}else kb(r)&&(r.isDirectionless()||(cv+=t));lv+=t,fv+=t}if(null!==t)if(null!=n)t.insertBefore(o,n);else{const e=t.__lexicalLineBreak;null!=e?t.insertBefore(o,e):t.appendChild(o)}return Oy(av,ev,tv,r,\"created\"),o}function kv(e,t,n,r,o,i){const s=lv;lv=\"\";let a=n;for(;a<=r;++a){Sv(e[a],o,i);const t=iv.get(e[a]);null!==t&&kb(t)&&(null===uv&&(uv=t.getFormat()),\"\"===dv&&(dv=t.getStyle()))}Dy(t)&&(lv+=hg),o.__lexicalTextContent=lv,lv=s+lv}function Ev(e,t){const n=t.get(e);return ib(n)||Px(n)&&n.isInline()}function Cv(e,t,n){const r=null!==e&&(0===e.__size||Ev(e.__last,ov)),o=0===t.__size||Ev(t.__last,iv);if(r){if(!o){const e=n.__lexicalLineBreak;if(null!=e)try{n.removeChild(e)}catch(t){if(\"object\"==typeof t&&null!=t){const r=`${t.toString()} Parent: ${n.tagName}, child: ${e.tagName}.`;throw new Error(r)}throw t}n.__lexicalLineBreak=null}}else if(o){const e=document.createElement(\"br\");n.__lexicalLineBreak=e,n.appendChild(e)}}function _v(e,t){const n=t.__lexicalDirTextContent,r=t.__lexicalDir;if(n!==cv||r!==pv){const n=\"\"===cv,i=n?pv:(o=cv,vg.test(o)?\"rtl\":bg.test(o)?\"ltr\":null);if(i!==r){const o=t.classList,s=Jy.theme;let a=null!==r?s[r]:void 0,l=null!==i?s[i]:void 0;if(void 0!==a){if(\"string\"==typeof a){const e=Og(a);a=s[r]=e}o.remove(...a)}if(null===i||n&&\"ltr\"===i)t.removeAttribute(\"dir\");else{if(void 0!==l){if(\"string\"==typeof l){const e=Og(l);l=s[i]=e}void 0!==l&&o.add(...l)}t.dir=i}hv||(e.getWritable().__dir=i)}pv=i,t.__lexicalDirTextContent=cv,t.__lexicalDir=i}var o}function Pv(e,t){const n=[];let r=e.__first;for(;null!==r;){const e=t.get(r);void 0===e&&Pg(101),n.push(r),r=e.__next}return n}function Ov(e,t){const n=ov.get(e);let r=iv.get(e);void 0!==n&&void 0!==r||Pg(61);const o=mv||rv.has(e)||nv.has(e),i=jy(Qy,e);if(n===r&&!o){if(kx(n)){const e=i.__lexicalTextContent;void 0!==e&&(lv+=e,fv+=e);const t=i.__lexicalDirTextContent;void 0!==t&&(cv+=t)}else{const e=n.getTextContent();kb(n)&&!n.isDirectionless()&&(cv+=e),fv+=e,lv+=e}return i}if(n!==r&&o&&Oy(av,ev,tv,r,\"updated\"),r.updateDOM(n,i,Jy)){const n=Sv(e,null,null);return null===t&&Pg(62),t.replaceChild(n,i),gv(e,null),n}if(kx(n)&&kx(r)){const e=r.__indent;e!==n.__indent&&xv(i,e);const t=r.__format;t!==n.__format&&wv(i,t),o&&(function(e,t,n){const r=cv;var o;cv=\"\",uv=null,dv=\"\",function(e,t,n){const r=lv,o=e.__size,i=t.__size;if(lv=\"\",1===o&&1===i){const r=e.__first,o=t.__first;if(r===o)Ov(r,n);else{const e=Mv(r),t=Sv(o,null,null);try{n.replaceChild(t,e)}catch(i){if(\"object\"==typeof i&&null!=i){const s=`${i.toString()} Parent: ${n.tagName}, new child: {tag: ${t.tagName} key: ${o}}, old child: {tag: ${e.tagName}, key: ${r}}.`;throw new Error(s)}throw i}gv(r,null)}const s=iv.get(o);kb(s)&&(null===uv&&(uv=s.getFormat()),\"\"===dv&&(dv=s.getStyle()))}else{const r=Pv(e,ov),s=Pv(t,iv);if(0===o)0!==i&&kv(s,t,0,i-1,n,null);else if(0===i){if(0!==o){const e=null==n.__lexicalLineBreak;yv(r,0,o-1,e?null:n),e&&(n.textContent=\"\")}}else!function(e,t,n,r,o,i){const s=r-1,a=o-1;let l,c,u=i.firstChild,d=0,f=0;for(;d<=s&&f<=a;){const e=t[d],r=n[f];if(e===r)u=Tv(Ov(r,i)),d++,f++;else{void 0===l&&(l=new Set(t)),void 0===c&&(c=new Set(n));const o=c.has(e),s=l.has(r);if(o)if(s){const e=jy(Qy,r);e===u?u=Tv(Ov(r,i)):(null!=u?i.insertBefore(e,u):i.appendChild(e),Ov(r,i)),d++,f++}else Sv(r,i,u),f++;else u=Tv(Mv(e)),gv(e,i),d++}const o=iv.get(r);null!==o&&kb(o)&&(null===uv&&(uv=o.getFormat()),\"\"===dv&&(dv=o.getStyle()))}const m=d>s,h=f>a;if(m&&!h){const t=n[a+1];kv(n,e,f,a,i,void 0===t?null:Qy.getElementByKey(t))}else h&&!m&&yv(t,d,s,i)}(t,r,s,o,i,n)}Dy(t)&&(lv+=hg),n.__lexicalTextContent=lv,lv=r+lv}(e,t,n),_v(t,n),Lx(o=t)&&null!=uv&&uv!==o.__textFormat&&!hv&&(o.setTextFormat(uv),o.setTextStyle(dv)),function(e){Lx(e)&&\"\"!==dv&&dv!==e.__textStyle&&!hv&&e.setTextStyle(dv)}(t),cv=r}(n,r,i),Nx(r)||r.isInline()||Cv(n,r,i)),Dy(r)&&(lv+=hg,fv+=hg)}else{const t=r.getTextContent();if(Px(r)){const t=r.decorate(Qy,Jy);null!==t&&Nv(e,t)}else kb(r)&&!r.isDirectionless()&&(cv+=t);lv+=t,fv+=t}if(!hv&&Nx(r)&&r.__cachedText!==fv){const e=r.getWritable();e.__cachedText=fv,r=e}return i}function Nv(e,t){let n=Qy._pendingDecorators;const r=Qy._decorators;if(null===n){if(r[e]===t)return;n=ay(Qy)}n[e]=t}function Tv(e){let t=e.nextSibling;return null!==t&&t===Qy._blockCursorElement&&(t=t.nextSibling),t}function Mv(e){const t=sv.get(e);return void 0===t&&Pg(75,e),t}const Rv=Object.freeze({}),Dv=[[\"keydown\",function(e,t){if(jv=e.timeStamp,Av=e.key,t.isComposing())return;const{key:n,shiftKey:r,ctrlKey:o,metaKey:i,altKey:s}=e;Ry(t,mp,e)||null!=n&&(function(e,t,n,r){return wy(e)&&!t&&!r&&!n}(n,o,s,i)?Ry(t,hp,e):function(e,t,n,r,o){return wy(e)&&!r&&!n&&(t||o)}(n,o,r,s,i)?Ry(t,pp,e):function(e,t,n,r){return xy(e)&&!t&&!r&&!n}(n,o,s,i)?Ry(t,gp,e):function(e,t,n,r,o){return xy(e)&&!r&&!n&&(t||o)}(n,o,r,s,i)?Ry(t,yp,e):function(e,t,n){return function(e){return\"ArrowUp\"===e}(e)&&!t&&!n}(n,o,i)?Ry(t,vp,e):function(e,t,n){return function(e){return\"ArrowDown\"===e}(e)&&!t&&!n}(n,o,i)?Ry(t,bp,e):function(e,t){return ky(e)&&t}(n,r)?(Wv=!0,Ry(t,xp,e)):function(e){return\" \"===e}(n)?Ry(t,wp,e):function(e,t){return Vp&&t&&\"o\"===e.toLowerCase()}(n,o)?(e.preventDefault(),Wv=!0,Ry(t,rp,!0)):function(e,t){return ky(e)&&!t}(n,r)?(Wv=!1,Ry(t,xp,e)):function(e,t,n,r){return Vp?!t&&!n&&(Ey(e)||\"h\"===e.toLowerCase()&&r):!(r||t||n)&&Ey(e)}(n,s,i,o)?Ey(n)?Ry(t,Sp,e):(e.preventDefault(),Ry(t,np,!0)):function(e){return\"Escape\"===e}(n)?Ry(t,kp,e):function(e,t,n,r,o){return Vp?!(n||r||o)&&(Cy(e)||\"d\"===e.toLowerCase()&&t):!(t||r||o)&&Cy(e)}(n,o,r,s,i)?Cy(n)?Ry(t,Ep,e):(e.preventDefault(),Ry(t,np,!1)):function(e,t,n){return Ey(e)&&(Vp?t:n)}(n,s,o)?(e.preventDefault(),Ry(t,lp,!0)):function(e,t,n){return Cy(e)&&(Vp?t:n)}(n,s,o)?(e.preventDefault(),Ry(t,lp,!1)):function(e,t){return Vp&&t&&Ey(e)}(n,i)?(e.preventDefault(),Ry(t,cp,!0)):function(e,t){return Vp&&t&&Cy(e)}(n,i)?(e.preventDefault(),Ry(t,cp,!1)):function(e,t,n,r){return\"b\"===e.toLowerCase()&&!t&&Sy(n,r)}(n,s,i,o)?(e.preventDefault(),Ry(t,up,\"bold\")):function(e,t,n,r){return\"u\"===e.toLowerCase()&&!t&&Sy(n,r)}(n,s,i,o)?(e.preventDefault(),Ry(t,up,\"underline\")):function(e,t,n,r){return\"i\"===e.toLowerCase()&&!t&&Sy(n,r)}(n,s,i,o)?(e.preventDefault(),Ry(t,up,\"italic\")):function(e,t,n,r){return\"Tab\"===e&&!t&&!n&&!r}(n,s,o,i)?Ry(t,Cp,e):function(e,t,n,r){return\"z\"===e.toLowerCase()&&!t&&Sy(n,r)}(n,r,i,o)?(e.preventDefault(),Ry(t,dp,void 0)):function(e,t,n,r){return Vp?\"z\"===e.toLowerCase()&&n&&t:\"y\"===e.toLowerCase()&&r||\"z\"===e.toLowerCase()&&r&&t}(n,r,i,o)?(e.preventDefault(),Ry(t,fp,void 0)):Ab(t._editorState._selection)?function(e,t,n,r){return!t&&\"c\"===e.toLowerCase()&&(Vp?n:r)}(n,r,i,o)?(e.preventDefault(),Ry(t,Tp,e)):function(e,t,n,r){return!t&&\"x\"===e.toLowerCase()&&(Vp?n:r)}(n,r,i,o)?(e.preventDefault(),Ry(t,Mp,e)):_y(n,i,o)&&(e.preventDefault(),Ry(t,Rp,e)):!Up&&_y(n,i,o)&&(e.preventDefault(),Ry(t,Rp,e)),function(e,t,n,r){return e||t||n||r}(o,r,s,i)&&Ry(t,zp,e))}],[\"pointerdown\",function(e,t){const n=e.target,r=e.pointerType;n instanceof Node&&\"touch\"!==r&&wx(t,(()=>{Px(sy(n))||(Bv=!0)}))}],[\"compositionstart\",function(e,t){wx(t,(()=>{const n=Hb();if(Db(n)&&!t.isComposing()){const r=n.anchor,o=n.anchor.getNode();ny(r.key),(e.timeStamp{qv(t,e.data)}))}],[\"input\",function(e,t){e.stopPropagation(),wx(t,(()=>{const n=Hb(),r=e.data,o=Kv(e);if(null!=r&&Db(n)&&$v(n,o,r,e.timeStamp,!1)){Vv&&(qv(t,r),Vv=!1);const o=n.anchor.getNode(),i=Vy(t._window);if(null===i)return;const s=n.isBackward(),a=s?n.anchor.offset:n.focus.offset,l=s?n.focus.offset:n.anchor.offset;$p&&!n.isCollapsed()&&kb(o)&&null!==i.anchorNode&&o.getTextContent().slice(0,a)+r+o.getTextContent().slice(a+l)===yy(i.anchorNode)||Ry(t,ip,r);const c=r.length;Up&&c>1&&\"insertCompositionText\"===e.inputType&&!t.isComposing()&&(n.anchor.offset-=c),Yp||Hp||Xp||!t.isComposing()||(jv=0,ny(null))}else vy(!1,t,null!==r?r:void 0),Vv&&(qv(t,r||void 0),Vv=!1);ax(),Lg(ux())})),Lv=null}],[\"click\",function(e,t){wx(t,(()=>{const n=Hb(),r=Vy(t._window),o=Kb();if(r)if(Db(n)){const t=n.anchor,i=t.getNode();\"element\"===t.type&&0===t.offset&&n.isCollapsed()&&!Nx(i)&&1===cy().getChildrenSize()&&i.getTopLevelElementOrThrow().isEmpty()&&null!==o&&n.is(o)?(r.removeAllRanges(),n.dirty=!0):3!==e.detail||n.isCollapsed()||i!==n.focus.getNode()&&(kx(i)?i.select(0):i.getParentOrThrow().select(0))}else if(\"touch\"===e.pointerType){const n=r.anchorNode;if(null!==n){const i=n.nodeType;i!==Zp&&i!==Jp||dy(Yb(o,r,t,e))}}Ry(t,tp,e)}))}],[\"cut\",Rv],[\"copy\",Rv],[\"dragstart\",Rv],[\"dragover\",Rv],[\"dragend\",Rv],[\"paste\",Rv],[\"focus\",Rv],[\"blur\",Rv],[\"drop\",Rv]];$p&&Dv.push([\"beforeinput\",(e,t)=>function(e,t){const n=e.inputType,r=Kv(e);\"deleteCompositionText\"===n||Up&&My(t)||\"insertCompositionText\"!==n&&wx(t,(()=>{const o=Hb();if(\"deleteContentBackward\"===n){if(null===o){const e=Kb();if(!Db(e))return;dy(e.clone())}if(Db(o)){const n=o.anchor.key===o.focus.key;if(i=e.timeStamp,\"MediaLast\"===Av&&i{wx(t,(()=>{ny(null)}))}),30),Db(o)){const e=o.anchor.getNode();e.markDirty(),o.format=e.getFormat(),kb(e)||Pg(142),o.style=e.getStyle()}}else{ny(null),e.preventDefault();const r=o.anchor.getNode().getTextContent(),i=0===o.anchor.offset&&o.focus.offset===r.length;Gp&&n&&!i||Ry(t,np,!0)}return}}var i;if(!Db(o))return;const s=e.data;null!==Lv&&vy(!1,t,Lv),o.dirty&&null===Lv||!o.isCollapsed()||Nx(o.anchor.getNode())||null===r||o.applyDOMRange(r),Lv=null;const a=o.anchor,l=o.focus,c=a.getNode(),u=l.getNode();if(\"insertText\"!==n&&\"insertTranspose\"!==n)switch(e.preventDefault(),n){case\"insertFromYank\":case\"insertFromDrop\":case\"insertReplacementText\":Ry(t,ip,e);break;case\"insertFromComposition\":ny(null),Ry(t,ip,e);break;case\"insertLineBreak\":ny(null),Ry(t,rp,!1);break;case\"insertParagraph\":ny(null),Wv&&!Hp?(Wv=!1,Ry(t,rp,!1)):Ry(t,op,void 0);break;case\"insertFromPaste\":case\"insertFromPasteAsQuotation\":Ry(t,sp,e);break;case\"deleteByComposition\":(function(e,t){return e!==t||kx(e)||kx(t)||!e.isToken()||!t.isToken()})(c,u)&&Ry(t,ap,e);break;case\"deleteByDrag\":case\"deleteByCut\":Ry(t,ap,e);break;case\"deleteContent\":Ry(t,np,!1);break;case\"deleteWordBackward\":Ry(t,lp,!0);break;case\"deleteWordForward\":Ry(t,lp,!1);break;case\"deleteHardLineBackward\":case\"deleteSoftLineBackward\":Ry(t,cp,!0);break;case\"deleteContentForward\":case\"deleteHardLineForward\":case\"deleteSoftLineForward\":Ry(t,cp,!1);break;case\"formatStrikeThrough\":Ry(t,up,\"strikethrough\");break;case\"formatBold\":Ry(t,up,\"bold\");break;case\"formatItalic\":Ry(t,up,\"italic\");break;case\"formatUnderline\":Ry(t,up,\"underline\");break;case\"historyUndo\":Ry(t,dp,void 0);break;case\"historyRedo\":Ry(t,fp,void 0)}else{if(\"\\n\"===s)e.preventDefault(),Ry(t,rp,!1);else if(s===hg)e.preventDefault(),Ry(t,op,void 0);else if(null==s&&e.dataTransfer){const t=e.dataTransfer.getData(\"text/plain\");e.preventDefault(),o.insertRawText(t)}else null!=s&&$v(o,r,s,e.timeStamp,!0)?(e.preventDefault(),Ry(t,ip,s)):Lv=s;Iv=e.timeStamp}}))}(e,t)]);let jv=0,Av=null,Iv=0,Lv=null;const Fv=new WeakMap;let zv=!1,Bv=!1,Wv=!1,Vv=!1,Uv=[0,\"\",0,\"root\",0];function $v(e,t,n,r,o){const i=e.anchor,s=e.focus,a=i.getNode(),l=ux(),c=Vy(l._window),u=null!==c?c.anchorNode:null,d=i.key,f=l.getElementByKey(d),m=n.length;return d!==s.key||!kb(a)||(!o&&(!$p||Iv1||(o||!$p)&&null!==f&&!a.isComposing()&&u!==Jg(f)||null!==c&&null!==t&&(!t.collapsed||t.startContainer!==c.anchorNode||t.startOffset!==c.anchorOffset)||a.getFormat()!==e.format||a.getStyle()!==e.style||function(e,t){if(t.isSegmented())return!0;if(!e.isCollapsed())return!1;const n=e.anchor.offset,r=t.getParentOrThrow(),o=t.isToken();return 0===n?!t.canInsertTextBefore()||!r.canInsertTextBefore()&&!t.isComposing()||o||function(e){const t=e.getPreviousSibling();return(kb(t)||kx(t)&&t.isInline())&&!t.canInsertTextAfter()}(t):n===t.getTextContentSize()&&(!t.canInsertTextAfter()||!r.canInsertTextAfter()&&!t.isComposing()||o)}(e,a)}function Yv(e,t){return null!==e&&null!==e.nodeValue&&e.nodeType===Jp&&0!==t&&t!==e.nodeValue.length}function Hv(e,t,n){const{anchorNode:r,anchorOffset:o,focusNode:i,focusOffset:s}=e;zv&&(zv=!1,Yv(r,o)&&Yv(i,s))||wx(t,(()=>{if(!n)return void dy(null);if(!Hg(t,r,i))return;const a=Hb();if(Db(a)){const n=a.anchor,r=n.getNode();if(a.isCollapsed()){\"Range\"===e.type&&e.anchorNode===e.focusNode&&(a.dirty=!0);const o=Ly(t).event,i=o?o.timeStamp:performance.now(),[s,l,c,u,d]=Uv,f=cy(),m=!1===t.isComposing()&&\"\"===f.getTextContent();if(i{const t=Kb(),o=n.anchorNode;if(null===o)return;const i=o.nodeType;i!==Zp&&i!==Jp||dy(Yb(t,n,r,e))})));const o=py(r),i=o[o.length-1],s=i._key,a=Xv.get(s),l=a||i;l!==r&&Hv(n,l,!1),Hv(n,r,!0),r!==i?Xv.set(s,r):a&&Xv.delete(s)}function Jv(e){e._lexicalHandled=!0}function Qv(e){return!0===e._lexicalHandled}function eb(e,t,n){ax();const r=e.__key,o=e.getParent();if(null===o)return;const i=function(e){const t=Hb();if(!Db(t)||!kx(e))return t;const{anchor:n,focus:r}=t,o=n.getNode(),i=r.getNode();return Iy(o,e)&&n.set(e.__key,0,\"element\"),Iy(i,e)&&r.set(e.__key,0,\"element\"),t}(e);let s=!1;if(Db(i)&&t){const t=i.anchor,n=i.focus;t.key===r&&(Xb(t,e,o,e.getPreviousSibling(),e.getNextSibling()),s=!0),n.key===r&&(Xb(n,e,o,e.getPreviousSibling(),e.getNextSibling()),s=!0)}else Ab(i)&&t&&e.isSelected()&&e.selectPrevious();if(Db(i)&&t&&!s){const t=e.getIndexWithinParent();ey(e),qb(i,o,t,-1)}else ey(e);n||Fy(o)||o.canBeEmpty()||!o.isEmpty()||eb(o,t),t&&Nx(o)&&o.isEmpty()&&o.selectEnd()}class tb{static getType(){Pg(64,this.name)}static clone(e){Pg(65,this.name)}afterCloneFrom(e){this.__parent=e.__parent,this.__next=e.__next,this.__prev=e.__prev}constructor(e){this.__type=this.constructor.getType(),this.__parent=null,this.__prev=null,this.__next=null,function(e,t){if(null!=t)return void(e.__key=t);ax(),lx();const n=ux(),r=cx(),o=\"\"+Ug++;r._nodeMap.set(o,e),kx(e)?n._dirtyElements.set(o,!0):n._dirtyLeaves.add(o),n._cloneNotNeeded.add(o),n._dirtyType=1,e.__key=o}(this,e)}getType(){return this.__type}isInline(){Pg(137,this.constructor.name)}isAttached(){let e=this.__key;for(;null!==e;){if(\"root\"===e)return!0;const t=oy(e);if(null===t)break;e=t.__parent}return!1}isSelected(e){const t=e||Hb();if(null==t)return!1;const n=t.getNodes().some((e=>e.__key===this.__key));if(kb(this))return n;if(Db(t)&&\"element\"===t.anchor.type&&\"element\"===t.focus.type){if(t.isCollapsed())return!1;const e=this.getParent();if(Px(this)&&this.isInline()&&e){const n=t.isBackward()?t.focus:t.anchor,r=n.getNode();if(n.offset===r.getChildrenSize()&&r.is(e)&&r.getLastChildOrThrow().is(this))return!1}}return n}getKey(){return this.__key}getIndexWithinParent(){const e=this.getParent();if(null===e)return-1;let t=e.getFirstChild(),n=0;for(;null!==t;){if(this.is(t))return n;n++,t=t.getNextSibling()}return-1}getParent(){const e=this.getLatest().__parent;return null===e?null:oy(e)}getParentOrThrow(){const e=this.getParent();return null===e&&Pg(66,this.__key),e}getTopLevelElement(){let e=this;for(;null!==e;){const t=e.getParent();if(Fy(t))return kx(e)||e===this&&Px(e)||Pg(194),e;e=t}return null}getTopLevelElementOrThrow(){const e=this.getTopLevelElement();return null===e&&Pg(67,this.__key),e}getParents(){const e=[];let t=this.getParent();for(;null!==t;)e.push(t),t=t.getParent();return e}getParentKeys(){const e=[];let t=this.getParent();for(;null!==t;)e.push(t.__key),t=t.getParent();return e}getPreviousSibling(){const e=this.getLatest().__prev;return null===e?null:oy(e)}getPreviousSiblings(){const e=[],t=this.getParent();if(null===t)return e;let n=t.getFirstChild();for(;null!==n&&!n.is(this);)e.push(n),n=n.getNextSibling();return e}getNextSibling(){const e=this.getLatest().__next;return null===e?null:oy(e)}getNextSiblings(){const e=[];let t=this.getNextSibling();for(;null!==t;)e.push(t),t=t.getNextSibling();return e}getCommonAncestor(e){const t=this.getParents(),n=e.getParents();kx(this)&&t.unshift(this),kx(e)&&n.unshift(e);const r=t.length,o=n.length;if(0===r||0===o||t[r-1]!==n[o-1])return null;const i=new Set(n);for(let e=0;e{s.append(e)}))),Db(n)){dy(n);const e=n.anchor,t=n.focus;e.key===o&&Tb(e,s),t.key===o&&Tb(t,s)}return ry()===o&&ny(i),s}insertAfter(e,t=!0){ax(),By(this,e);const n=this.getWritable(),r=e.getWritable(),o=r.getParent(),i=Hb();let s=!1,a=!1;if(null!==o){const t=e.getIndexWithinParent();if(ey(r),Db(i)){const e=o.__key,n=i.anchor,r=i.focus;s=\"element\"===n.type&&n.key===e&&n.offset===t+1,a=\"element\"===r.type&&r.key===e&&r.offset===t+1}}const l=this.getNextSibling(),c=this.getParentOrThrow().getWritable(),u=r.__key,d=n.__next;if(null===l?c.__last=u:l.getWritable().__prev=u,c.__size++,n.__next=u,r.__next=d,r.__prev=n.__key,r.__parent=n.__parent,t&&Db(i)){const e=this.getIndexWithinParent();qb(i,c,e+1);const t=c.__key;s&&i.anchor.set(t,e+2,\"element\"),a&&i.focus.set(t,e+2,\"element\")}return e}insertBefore(e,t=!0){ax(),By(this,e);const n=this.getWritable(),r=e.getWritable(),o=r.__key;ey(r);const i=this.getPreviousSibling(),s=this.getParentOrThrow().getWritable(),a=n.__prev,l=this.getIndexWithinParent();null===i?s.__first=o:i.getWritable().__next=o,s.__size++,n.__prev=o,r.__prev=a,r.__next=n.__key,r.__parent=n.__parent;const c=Hb();return t&&Db(c)&&qb(c,this.getParentOrThrow(),l),e}isParentRequired(){return!1}createParentElementNode(){return Ix()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(e,t){ax();const n=this.getPreviousSibling(),r=this.getParentOrThrow();if(null===n)return r.select(0,0);if(kx(n))return n.select();if(!kb(n)){const e=n.getIndexWithinParent()+1;return r.select(e,e)}return n.select(e,t)}selectNext(e,t){ax();const n=this.getNextSibling(),r=this.getParentOrThrow();if(null===n)return r.select();if(kx(n))return n.select(0,0);if(!kb(n)){const e=n.getIndexWithinParent();return r.select(e,e)}return n.select(e,t)}markDirty(){this.getWritable()}}class nb extends tb{static getType(){return\"linebreak\"}static clone(e){return new nb(e.__key)}constructor(e){super(e)}getTextContent(){return\"\\n\"}createDOM(){return document.createElement(\"br\")}updateDOM(){return!1}static importDOM(){return{br:e=>function(e){const t=e.parentElement;if(null!==t&&Yy(t)){const n=t.firstChild;if(n===e||n.nextSibling===e&&sb(n)){const n=t.lastChild;if(n===e||n.previousSibling===e&&sb(n))return!0}}return!1}(e)||function(e){const t=e.parentElement;if(null!==t&&Yy(t)){const n=t.firstChild;if(n===e||n.nextSibling===e&&sb(n))return!1;const r=t.lastChild;if(r===e||r.previousSibling===e&&sb(r))return!0}return!1}(e)?null:{conversion:rb,priority:0}}}static importJSON(e){return ob()}exportJSON(){return{type:\"linebreak\",version:1}}}function rb(e){return{node:ob()}}function ob(){return zy(new nb)}function ib(e){return e instanceof nb}function sb(e){return e.nodeType===Jp&&/^( |\\t|\\r?\\n)+$/.test(e.textContent||\"\")}function ab(e,t){return 16&t?\"code\":128&t?\"mark\":32&t?\"sub\":64&t?\"sup\":null}function lb(e,t){return 1&t?\"strong\":2&t?\"em\":\"span\"}function cb(e,t,n,r,o){const i=r.classList;let s=Py(o,\"base\");void 0!==s&&i.add(...s),s=Py(o,\"underlineStrikethrough\");let a=!1;const l=t&ig&&t&og;void 0!==s&&(n&ig&&n&og?(a=!0,l||i.add(...s)):l&&i.remove(...s));for(const e in xg){const r=xg[e];if(s=Py(o,e),void 0!==s)if(n&r){if(a&&(\"underline\"===e||\"strikethrough\"===e)){t&r&&i.remove(...s);continue}t&r&&(!l||\"underline\"!==e)&&\"strikethrough\"!==e||i.add(...s)}else t&r&&i.remove(...s)}}function ub(e,t,n){const r=t.firstChild,o=n.isComposing(),i=e+(o?mg:\"\");if(null==r)t.textContent=i;else{const e=r.nodeValue;if(e!==i)if(o||Up){const[t,n,o]=function(e,t){const n=e.length,r=t.length;let o=0,i=0;for(;o({conversion:vb,priority:0}),b:()=>({conversion:pb,priority:0}),code:()=>({conversion:wb,priority:0}),em:()=>({conversion:wb,priority:0}),i:()=>({conversion:wb,priority:0}),s:()=>({conversion:wb,priority:0}),span:()=>({conversion:hb,priority:0}),strong:()=>({conversion:wb,priority:0}),sub:()=>({conversion:wb,priority:0}),sup:()=>({conversion:wb,priority:0}),u:()=>({conversion:wb,priority:0})}}static importJSON(e){const t=Sb(e.text);return t.setFormat(e.format),t.setDetail(e.detail),t.setMode(e.mode),t.setStyle(e.style),t}exportDOM(e){let{element:t}=super.exportDOM(e);return null!==t&&Uy(t)||Pg(132),t.style.whiteSpace=\"pre-wrap\",this.hasFormat(\"bold\")&&(t=fb(t,\"b\")),this.hasFormat(\"italic\")&&(t=fb(t,\"i\")),this.hasFormat(\"strikethrough\")&&(t=fb(t,\"s\")),this.hasFormat(\"underline\")&&(t=fb(t,\"u\")),{element:t}}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:\"text\",version:1}}selectionTransform(e,t){}setFormat(e){const t=this.getWritable();return t.__format=\"string\"==typeof e?xg[e]:e,t}setDetail(e){const t=this.getWritable();return t.__detail=\"string\"==typeof e?wg[e]:e,t}setStyle(e){const t=this.getWritable();return t.__style=e,t}toggleFormat(e){const t=Qg(this.getFormat(),e,null);return this.setFormat(t)}toggleDirectionless(){const e=this.getWritable();return e.__detail^=1,e}toggleUnmergeable(){const e=this.getWritable();return e.__detail^=2,e}setMode(e){const t=Eg[e];if(this.__mode===t)return this;const n=this.getWritable();return n.__mode=t,n}setTextContent(e){if(this.__text===e)return this;const t=this.getWritable();return t.__text=e,t}select(e,t){ax();let n=e,r=t;const o=Hb(),i=this.getTextContent(),s=this.__key;if(\"string\"==typeof i){const e=i.length;void 0===n&&(n=e),void 0===r&&(r=e)}else n=0,r=0;if(!Db(o))return Ub(s,n,s,r,\"text\",\"text\");{const e=ry();e!==o.anchor.key&&e!==o.focus.key||ny(s),o.setTextNodeRange(this,n,this,r)}return o}selectStart(){return this.select(0,0)}selectEnd(){const e=this.getTextContentSize();return this.select(e,e)}spliceText(e,t,n,r){const o=this.getWritable(),i=o.__text,s=n.length;let a=e;a<0&&(a=s+a,a<0&&(a=0));const l=Hb();if(r&&Db(l)){const t=e+s;l.setTextNodeRange(o,t,o,t)}const c=i.slice(0,a)+n+i.slice(a+t);return o.__text=c,o}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...e){ax();const t=this.getLatest(),n=t.getTextContent(),r=t.__key,o=ry(),i=new Set(e),s=[],a=n.length;let l=\"\";for(let e=0;eb&&e.offset<=l&&(e.key=a,e.offset-=b,y.dirty=!0),t.key===r&&\"text\"===t.type&&t.offset>b&&t.offset<=l&&(t.key=a,t.offset-=b,y.dirty=!0)}o===r&&ny(a),b=l,v.push(i)}if(null!==d){!function(e){const t=e.getPreviousSibling(),n=e.getNextSibling();null!==t&&ty(t),null!==n&&ty(n)}(this);const e=d.getWritable(),t=this.getIndexWithinParent();g?(e.splice(t,0,v),this.remove()):e.splice(t,1,v),Db(y)&&qb(y,d,t,c-1)}return v}mergeWithSibling(e){const t=e===this.getPreviousSibling();t||e===this.getNextSibling()||Pg(50);const n=this.__key,r=e.__key,o=this.__text,i=o.length;ry()===r&&ny(n);const s=Hb();if(Db(s)){const o=s.anchor,a=s.focus;null!==o&&o.key===r&&(Zb(o,t,n,e,i),s.dirty=!0),null!==a&&a.key===r&&(Zb(a,t,n,e,i),s.dirty=!0)}const a=e.__text,l=t?a+o:o+a;this.setTextContent(l);const c=this.getWritable();return e.remove(),c}isTextEntity(){return!1}}function hb(e){return{forChild:Eb(e.style),node:null}}function pb(e){const t=e,n=\"normal\"===t.style.fontWeight;return{forChild:Eb(t.style,n?void 0:\"bold\"),node:null}}const gb=new WeakMap;function yb(e){return\"PRE\"===e.nodeName||e.nodeType===Zp&&void 0!==e.style&&void 0!==e.style.whiteSpace&&e.style.whiteSpace.startsWith(\"pre\")}function vb(e){const t=e;null===e.parentElement&&Pg(129);let n=t.textContent||\"\";if(null!==function(e){let t,n=e.parentNode;const r=[e];for(;null!==n&&void 0===(t=gb.get(n))&&!yb(n);)r.push(n),n=n.parentNode;const o=void 0===t?n:t;for(let e=0;e0){/[ \\t\\n]$/.test(t)&&(n=n.slice(1)),r=!1;break}}r&&(n=n.slice(1))}if(\" \"===n[n.length-1]){let e=t,r=!0;for(;null!==e&&null!==(e=bb(e,!0));)if((e.textContent||\"\").replace(/^( |\\t|\\r?\\n)+/,\"\").length>0){r=!1;break}r&&(n=n.slice(0,n.length-1))}return\"\"===n?{node:null}:{node:Sb(n)}}function bb(e,t){let n=e;for(;;){let e;for(;null===(e=t?n.nextSibling:n.previousSibling);){const e=n.parentElement;if(null===e)return null;n=e}if(n=e,n.nodeType===Zp){const e=n.style.display;if(\"\"===e&&!$y(n)||\"\"!==e&&!e.startsWith(\"inline\"))return null}let r=n;for(;null!==(r=t?n.firstChild:n.lastChild);)n=r;if(n.nodeType===Jp)return n;if(\"BR\"===n.nodeName)return null}}const xb={code:\"code\",em:\"italic\",i:\"italic\",s:\"strikethrough\",strong:\"bold\",sub:\"subscript\",sup:\"superscript\",u:\"underline\"};function wb(e){const t=xb[e.nodeName.toLowerCase()];return void 0===t?{node:null}:{forChild:Eb(e.style,t),node:null}}function Sb(e=\"\"){return zy(new mb(e))}function kb(e){return e instanceof mb}function Eb(e,t){const n=e.fontWeight,r=e.textDecoration.split(\" \"),o=\"700\"===n||\"bold\"===n,i=r.includes(\"line-through\"),s=\"italic\"===e.fontStyle,a=r.includes(\"underline\"),l=e.verticalAlign;return e=>kb(e)?(o&&!e.hasFormat(\"bold\")&&e.toggleFormat(\"bold\"),i&&!e.hasFormat(\"strikethrough\")&&e.toggleFormat(\"strikethrough\"),s&&!e.hasFormat(\"italic\")&&e.toggleFormat(\"italic\"),a&&!e.hasFormat(\"underline\")&&e.toggleFormat(\"underline\"),\"sub\"!==l||e.hasFormat(\"subscript\")||e.toggleFormat(\"subscript\"),\"super\"!==l||e.hasFormat(\"superscript\")||e.toggleFormat(\"superscript\"),t&&!e.hasFormat(t)&&e.toggleFormat(t),e):e}class Cb extends mb{static getType(){return\"tab\"}static clone(e){return new Cb(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__text=e.__text}constructor(e){super(\"\\t\",e),this.__detail=2}static importDOM(){return null}static importJSON(e){const t=_b();return t.setFormat(e.format),t.setStyle(e.style),t}exportJSON(){return{...super.exportJSON(),type:\"tab\",version:1}}setTextContent(e){Pg(126)}setDetail(e){Pg(127)}setMode(e){Pg(128)}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}function _b(){return zy(new Cb)}class Pb{constructor(e,t,n){this._selection=null,this.key=e,this.offset=t,this.type=n}is(e){return this.key===e.key&&this.offset===e.offset&&this.type===e.type}isBefore(e){let t=this.getNode(),n=e.getNode();const r=this.offset,o=e.offset;if(kx(t)){const e=t.getDescendantByIndex(r);t=null!=e?e:t}if(kx(n)){const e=n.getDescendantByIndex(o);n=null!=e?e:n}return t===n?re&&(r=e)}else if(!kx(t)){const e=t.getNextSibling();if(kb(e))n=e.__key,r=0,o=\"text\";else{const e=t.getParent();e&&(n=e.__key,r=t.getIndexWithinParent()+1)}}e.set(n,r,o)}function Tb(e,t){if(kx(t)){const n=t.getLastDescendant();kx(n)||kb(n)?Nb(e,n):Nb(e,t)}else Nb(e,t)}function Mb(e,t,n,r){e.key=t,e.offset=n,e.type=r}class Rb{constructor(e){this._cachedNodes=null,this._nodes=e,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){if(!Ab(e))return!1;const t=this._nodes,n=e._nodes;return t.size===n.size&&Array.from(t).every((e=>n.has(e)))}isCollapsed(){return!1}isBackward(){return!1}getStartEndPoints(){return null}add(e){this.dirty=!0,this._nodes.add(e),this._cachedNodes=null}delete(e){this.dirty=!0,this._nodes.delete(e),this._cachedNodes=null}clear(){this.dirty=!0,this._nodes.clear(),this._cachedNodes=null}has(e){return this._nodes.has(e)}clone(){return new Rb(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(e){}insertText(){}insertNodes(e){const t=this.getNodes(),n=t.length,r=t[n-1];let o;if(kb(r))o=r.select();else{const e=r.getIndexWithinParent()+1;o=r.getParentOrThrow().select(e,e)}o.insertNodes(e);for(let e=0;e0?[]:[s]:s.getNodesBetween(a),sx()||(this._cachedNodes=u),u}setTextNodeRange(e,t,n,r){Mb(this.anchor,e.__key,t,\"text\"),Mb(this.focus,n.__key,r,\"text\"),this._cachedNodes=null,this.dirty=!0}getTextContent(){const e=this.getNodes();if(0===e.length)return\"\";const t=e[0],n=e[e.length-1],r=this.anchor,o=this.focus,i=r.isBefore(o),[s,a]=Lb(this);let l=\"\",c=!0;for(let u=0;u=0;e--){const t=i[e];if(t.is(d)||kx(t)&&t.isParentOf(d))break;t.isAttached()&&(!m.has(t)||t.is(o)?p||g.insertAfter(t,!1):t.remove())}if(!p){let e=r,n=null;for(;null!==e;){const r=e.getChildren(),o=r.length;(0===o||r[o-1].is(n))&&(t.delete(e.__key),n=e),e=e.getParent()}}if(d.isToken())if(a===f)d.select();else{const t=Sb(e);t.select(),d.replace(t)}else d=d.spliceText(a,f-a,e,!0),\"\"===d.getTextContent()?d.remove():d.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=e.length);for(let e=1;e0&&(p===h.getTextContentSize()||Xg(h)||([h]=h.splitText(p)),h.setFormat(g));for(let t=c+1;t(kx(e)||Px(e))&&!e.isInline()))){kx(t)||Pg(135);const r=Jb(this);return t.splice(r,0,e),void n.selectEnd()}const r=function(e){const t=Ix();let n=null;for(let r=0;rl?l:a,t=a>l?a:l,n=i.splitText(e,t),r=0===e?n[0]:n[1];return null!=r?[r]:[]}return[i]}const c=r.isBefore(o);if(kb(i)){const t=c?a:l;t===i.getTextContentSize()?e.shift():0!==t&&([,i]=i.splitText(t),e[0]=i)}if(kb(s)){const t=s.getTextContent().length,r=c?l:a;0===r?e.pop():r!==t&&([s]=s.splitText(r),e[n]=s)}return e}modify(e,t,n){const r=this.focus,o=this.anchor,i=\"move\"===e,s=Ty(r,t);if(Px(s)&&!s.isIsolated()){if(i&&s.isKeyboardSelectable()){const e=$b();return e.add(s.__key),void dy(e)}const e=t?s.getPreviousSibling():s.getNextSibling();if(kb(e)){const n=e.__key,s=t?e.getTextContent().length:0;return r.set(n,s,\"text\"),void(i&&o.set(n,s,\"text\"))}{const n=s.getParentOrThrow();let a,l;return kx(e)?(l=e.__key,a=t?e.getChildrenSize():0):(a=s.getIndexWithinParent(),l=n.__key,t||a++),r.set(l,a,\"element\"),void(i&&o.set(l,a,\"element\"))}}const a=ux(),l=Vy(a._window);if(!l)return;const c=a._blockCursorElement,u=a._rootElement;if(null===u||null===c||!kx(s)||s.isInline()||s.canBeEmpty()||_n(c,a,u),function(e,t,n,r){e.modify(t,n,r)}(l,e,t?\"backward\":\"forward\",n),l.rangeCount>0){const e=l.getRangeAt(0),n=this.anchor.getNode(),r=Nx(n)?n:function(e){let t=e.getParentOrThrow();for(;null!==t;){if(Fy(t))return t;t=t.getParentOrThrow()}return t}(n);if(this.applyDOMRange(e),this.dirty=!0,!i){const n=this.getNodes(),o=[];let i=!1;for(let e=0;e0)if(t){const e=o[0];kx(e)?e.selectStart():e.getParentOrThrow().selectStart()}else{const e=o[o.length-1];kx(e)?e.selectEnd():e.getParentOrThrow().selectEnd()}l.anchorNode===e.startContainer&&l.anchorOffset===e.startOffset||function(e){const t=e.focus,n=e.anchor,r=n.key,o=n.offset,i=n.type;Mb(n,t.key,t.offset,t.type),Mb(t,r,o,i),e._cachedNodes=null}(this)}}}forwardDeletion(e,t,n){if(!n&&(\"element\"===e.type&&kx(t)&&e.offset===t.getChildrenSize()||\"text\"===e.type&&e.offset===t.getTextContentSize())){const e=t.getParent(),n=t.getNextSibling()||(null===e?null:e.getNextSibling());if(kx(n)&&n.isShadowRoot())return!0}return!1}deleteCharacter(e){const t=this.isCollapsed();if(this.isCollapsed()){const t=this.anchor;let n=t.getNode();if(this.forwardDeletion(t,n,e))return;const r=this.focus,o=Ty(r,e);if(Px(o)&&!o.isIsolated()){if(o.isKeyboardSelectable()&&kx(n)&&0===n.getChildrenSize()){n.remove();const e=$b();e.add(o.__key),dy(e)}else o.remove(),ux().dispatchCommand(ep,void 0);return}if(!e&&kx(o)&&kx(n)&&n.isEmpty())return n.remove(),void o.selectStart();if(this.modify(\"extend\",e,\"character\"),this.isCollapsed()){if(e&&0===t.offset&&(\"element\"===t.type?t.getNode():t.getNode().getParentOrThrow()).collapseAtStart(this))return}else{const o=\"text\"===r.type?r.getNode():null;if(n=\"text\"===t.type?t.getNode():null,null!==o&&o.isSegmented()){const t=r.offset,i=o.getTextContentSize();if(o.is(n)||e&&t!==i||!e&&0!==t)return void Fb(o,e,t)}else if(null!==n&&n.isSegmented()){const r=t.offset,i=n.getTextContentSize();if(n.is(o)||e&&0!==r||!e&&r!==i)return void Fb(n,e,r)}!function(e,t){const n=e.anchor,r=e.focus,o=n.getNode();if(o===r.getNode()&&\"text\"===n.type&&\"text\"===r.type){const e=n.offset,i=r.offset,s=en||r){o.splice(e,1),r&&(a=void 0);break}}const l=o.join(\"\").trim();\"\"===l?r.remove():(r.setTextContent(l),r.select(a,a))}function zb(e,t,n,r){let o,i=t;if(e.nodeType===Zp){let s=!1;const a=e.childNodes,l=a.length,c=r._blockCursorElement;i===l&&(s=!0,i=l-1);let u=a[i],d=!1;if(u===c)u=a[i+1],d=!0;else if(null!==c){const n=c.parentNode;e===n&&t>Array.prototype.indexOf.call(n.children,c)&&i--}if(o=fy(u),kb(o))i=my(o,s);else{let r=fy(e);if(null===r)return null;if(kx(r)){i=Math.min(r.getChildrenSize(),i);let e=r.getChildAtIndex(i);if(kx(e)&&function(e,t,n){const r=e.getParent();return null===n||null===r||!r.canBeEmpty()||r!==n.getNode()}(e,0,n)){const t=s?e.getLastDescendant():e.getFirstDescendant();null===t?r=e:(e=t,r=kx(e)?e:e.getParentOrThrow()),i=0}kb(e)?(o=e,r=null,i=my(e,s)):e!==r&&s&&!d&&i++}else{const n=r.getIndexWithinParent();i=0===t&&Px(r)&&fy(e)===r?n:n+1,r=r.getParentOrThrow()}if(kx(r))return Ob(r.__key,i,\"element\")}}else o=fy(e);return kb(o)?Ob(o.__key,i,\"text\"):null}function Bb(e,t,n){const r=e.offset,o=e.getNode();if(0===r){const r=o.getPreviousSibling(),i=o.getParent();if(t){if((n||!t)&&null===r&&kx(i)&&i.isInline()){const t=i.getPreviousSibling();kb(t)&&(e.key=t.__key,e.offset=t.getTextContent().length)}}else kx(r)&&!n&&r.isInline()?(e.key=r.__key,e.offset=r.getChildrenSize(),e.type=\"element\"):kb(r)&&(e.key=r.__key,e.offset=r.getTextContent().length)}else if(r===o.getTextContent().length){const r=o.getNextSibling(),i=o.getParent();if(t&&kx(r)&&r.isInline())e.key=r.__key,e.offset=0,e.type=\"element\";else if((n||t)&&null===r&&kx(i)&&i.isInline()&&!i.canInsertTextAfter()){const t=i.getNextSibling();kb(t)&&(e.key=t.__key,e.offset=0)}}}function Wb(e,t,n){if(\"text\"===e.type&&\"text\"===t.type){const r=e.isBefore(t),o=e.is(t);Bb(e,r,o),Bb(t,!r,o),o&&(t.key=e.key,t.offset=e.offset,t.type=e.type);const i=ux();if(i.isComposing()&&i._compositionKey!==e.key&&Db(n)){const r=n.anchor,o=n.focus;Mb(e,r.key,r.offset,r.type),Mb(t,o.key,o.offset,o.type)}}}function Vb(e,t,n,r,o,i){if(null===e||null===n||!Hg(o,e,n))return null;const s=zb(e,t,Db(i)?i.anchor:null,o);if(null===s)return null;const a=zb(n,r,Db(i)?i.focus:null,o);if(null===a)return null;if(\"element\"===s.type&&\"element\"===a.type){const t=fy(e),r=fy(n);if(Px(t)&&Px(r))return null}return Wb(s,a,i),[s,a]}function Ub(e,t,n,r,o,i){const s=cx(),a=new jb(Ob(e,t,o),Ob(n,r,i),0,\"\");return a.dirty=!0,s._selection=a,a}function $b(){return new Rb(new Set)}function Yb(e,t,n,r){const o=n._window;if(null===o)return null;const i=r||o.event,s=i?i.type:void 0,a=\"selectionchange\"===s,l=!Tg&&(a||\"beforeinput\"===s||\"compositionstart\"===s||\"compositionend\"===s||\"click\"===s&&i&&3===i.detail||\"drop\"===s||void 0===s);let c,u,d,f;if(Db(e)&&!l)return e.clone();if(null===t)return null;if(c=t.anchorNode,u=t.focusNode,d=t.anchorOffset,f=t.focusOffset,a&&Db(e)&&!Hg(n,c,u))return e.clone();const m=Vb(c,d,u,f,n,e);if(null===m)return null;const[h,p]=m;return new jb(h,p,Db(e)?e.format:0,Db(e)?e.style:\"\")}function Hb(){return cx()._selection}function Kb(){return ux()._editorState._selection}function qb(e,t,n,r=1){const o=e.anchor,i=e.focus,s=o.getNode(),a=i.getNode();if(!t.is(s)&&!t.is(a))return;const l=t.__key;if(e.isCollapsed()){const t=o.offset;if(n<=t&&r>0||n0||n0||n=e,s=o?i.getChildAtIndex(e-1):i.getChildAtIndex(n);if(kb(s)){let e=0;o&&(e=s.getTextContentSize()),t.set(s.__key,e,\"text\"),r.set(s.__key,e,\"text\")}}else{if(kx(i)){const e=i.getChildrenSize(),r=n>=e,o=r?i.getChildAtIndex(e-1):i.getChildAtIndex(n);if(kb(o)){let e=0;r&&(e=o.getTextContentSize()),t.set(o.__key,e,\"text\")}}if(kx(s)){const e=s.getChildrenSize(),t=o>=e,n=t?s.getChildAtIndex(e-1):s.getChildAtIndex(o);if(kb(n)){let e=0;t&&(e=n.getTextContentSize()),r.set(n.__key,e,\"text\")}}}}function Xb(e,t,n,r,o){let i=null,s=0,a=null;null!==r?(i=r.__key,kb(r)?(s=r.getTextContentSize(),a=\"text\"):kx(r)&&(s=r.getChildrenSize(),a=\"element\")):null!==o&&(i=o.__key,kb(o)?a=\"text\":kx(o)&&(a=\"element\")),null!==i&&null!==a?e.set(i,s,a):(s=t.getIndexWithinParent(),-1===s&&(s=n.getChildrenSize()),e.set(n.__key,s,\"element\"))}function Zb(e,t,n,r,o){\"text\"===e.type?(e.key=n,t||(e.offset+=o)):e.offset>r.getIndexWithinParent()&&(e.offset-=1)}function Jb(e){let t=e;e.isCollapsed()||t.removeText();const n=Hb();Db(n)&&(t=n),Db(t)||Pg(161);const r=t.anchor;let o=r.getNode(),i=r.offset;for(;!Hy(o);)[o,i]=Qb(o,i);return i}function Qb(e,t){const n=e.getParent();if(!n){const e=Ix();return cy().append(e),e.select(),[cy(),0]}if(kb(e)){const r=e.splitText(t);if(0===r.length)return[n,e.getIndexWithinParent()];const o=0===t?0:1;return[n,r[0].getIndexWithinParent()+o]}if(!kx(e)||0===t)return[n,e.getIndexWithinParent()];const r=e.getChildAtIndex(t);if(r){const n=new jb(Ob(e.__key,t,\"element\"),Ob(e.__key,t,\"element\"),0,\"\"),o=e.insertNewAfter(n);o&&o.append(r,...r.getNextSiblings())}return[n,e.getIndexWithinParent()+1]}let ex=null,tx=null,nx=!1,rx=!1,ox=0;const ix={characterData:!0,childList:!0,subtree:!0};function sx(){return nx||null!==ex&&ex._readOnly}function ax(){nx&&Pg(13)}function lx(){ox>99&&Pg(14)}function cx(){return null===ex&&Pg(195,dx()),ex}function ux(){return null===tx&&Pg(196,dx()),tx}function dx(){let e=0;const t=new Set,n=Bx.version;if(\"undefined\"!=typeof window)for(const r of document.querySelectorAll(\"[contenteditable]\")){const o=Gg(r);if(Kg(o))e++;else if(o){let e=String(o.constructor.version||\"<0.17.1\");e===n&&(e+=\" (separately built, likely a bundler configuration issue)\"),t.add(e)}}let r=` Detected on the page: ${e} compatible editor(s) with version ${n}`;return t.size&&(r+=` and incompatible editors with versions ${Array.from(t).join(\", \")}`),r}function fx(e,t,n){const r=t.__type,o=function(e,t){const n=e._nodes.get(t);return void 0===n&&Pg(30,t),n}(e,r);let i=n.get(r);void 0===i&&(i=Array.from(o.transforms),n.set(r,i));const s=i.length;for(let e=0;e0?r.getRangeAt(0):null;if(null!==e){let t;if(e instanceof Text){const n=document.createRange();n.selectNode(e),t=n.getBoundingClientRect()}else t=e.getBoundingClientRect();!function(e,t,n){const r=n.ownerDocument,o=r.defaultView;if(null===o)return;let{top:i,bottom:s}=t,a=0,l=0,c=n;for(;null!==c;){const t=c===r.body;if(t)a=0,l=Ly(e).innerHeight;else{const e=c.getBoundingClientRect();a=e.top,l=e.bottom}let n=0;if(il&&(n=s-l),0!==n)if(t)o.scrollBy(0,n);else{const e=c.scrollTop;c.scrollTop+=n;const t=c.scrollTop-e;i-=t,s-=t}if(t)break;c=Ay(c)}}(n,t,i)}}zv=!0}}(s,a,e,x,v,r)}(function(e,t,n){let r=e._blockCursorElement;if(Db(n)&&n.isCollapsed()&&\"element\"===n.anchor.type&&t.contains(document.activeElement)){const o=n.anchor,i=o.getNode(),s=o.offset;let a=!1,l=null;if(s===i.getChildrenSize())Wy(i.getChildAtIndex(s-1))&&(a=!0);else{const t=i.getChildAtIndex(s);if(Wy(t)){const n=t.getPreviousSibling();(null===n||Wy(n))&&(a=!0,l=e.getElementByKey(t.__key))}}if(a){const n=e.getElementByKey(i.__key);return null===r&&(e._blockCursorElement=r=function(e){const t=e.theme,n=document.createElement(\"div\");n.contentEditable=\"false\",n.setAttribute(\"data-lexical-cursor\",\"true\");let r=t.blockCursor;if(void 0!==r){if(\"string\"==typeof r){const e=Og(r);r=t.blockCursor=e}void 0!==r&&n.classList.add(...r)}return n}(e._config)),t.style.caretColor=\"transparent\",void(null===l?n.appendChild(r):n.insertBefore(r,l))}}null!==r&&_n(r,e,t)})(e,r,a),null!==m&&m.observe(r,ix)}finally{tx=d,ex=c}}null!==h&&function(e,t,n,r,o){const i=Array.from(e._listeners.mutation),s=i.length;for(let e=0;e{r=vx(e,t,n)})),r}const r=py(e);for(let o=4;o>=0;o--)for(let i=0;i0||u>0;){if(l>0){t._dirtyLeaves=new Set;for(const e of a){const r=o.get(e);kb(r)&&r.isAttached()&&r.isSimpleText()&&!r.isUnmergeable()&&Wg(r),void 0!==r&&mx(r,i)&&fx(t,r,s),n.add(e)}if(a=t._dirtyLeaves,l=a.size,l>0){ox++;continue}}t._dirtyLeaves=new Set,t._dirtyElements=new Map;for(const e of c){const n=e[0],a=e[1];if(\"root\"!==n&&!a)continue;const l=o.get(n);void 0!==l&&mx(l,i)&&fx(t,l,s),r.set(n,a)}a=t._dirtyLeaves,l=a.size,c=t._dirtyElements,u=c.size,ox++}t._dirtyLeaves=n,t._dirtyElements=r}(c,e),bx(e),function(e,t,n,r){const o=e._nodeMap,i=t._nodeMap,s=[];for(const[e]of r){const t=i.get(e);void 0!==t&&(t.isAttached()||(kx(t)&&Zy(t,e,o,i,s,r),o.has(e)||r.delete(e),s.push(e)))}for(const e of s)i.delete(e);for(const e of n){const t=i.get(e);void 0===t||t.isAttached()||(o.has(e)||n.delete(e),i.delete(e))}}(l,c,e._dirtyLeaves,e._dirtyElements)),n!==e._compositionKey&&(c._flushSync=!0);const r=c._selection;if(Db(r)){const e=c._nodeMap,t=r.anchor.key,n=r.focus.key;void 0!==e.get(t)&&void 0!==e.get(n)||Pg(19)}else Ab(r)&&0===r._nodes.size&&(c._selection=null)}catch(t){return t instanceof Error&&e._onError(t),e._pendingEditorState=l,e._dirtyType=eg,e._cloneNotNeeded.clear(),e._dirtyLeaves=new Set,e._dirtyElements.clear(),void gx(e)}finally{ex=d,nx=f,tx=m,e._updating=h,ox=0}const p=e._dirtyType!==Qp||function(e,t){const n=t.getEditorState()._selection,r=e._selection;if(null!==r){if(r.dirty||!r.is(n))return!0}else if(null!==n)return!0;return!1}(c,e);p?c._flushSync?(c._flushSync=!1,gx(e)):u&&$g((()=>{gx(e)})):(c._flushSync=!1,u&&(r.clear(),e._deferred=[],e._pendingEditorState=null))}function wx(e,t,n){e._updating?e._updates.push([t,n]):xx(e,t,n)}class Sx extends tb{constructor(e){super(e),this.__first=null,this.__last=null,this.__size=0,this.__format=0,this.__style=\"\",this.__indent=0,this.__dir=null}afterCloneFrom(e){super.afterCloneFrom(e),this.__first=e.__first,this.__last=e.__last,this.__size=e.__size,this.__indent=e.__indent,this.__format=e.__format,this.__style=e.__style,this.__dir=e.__dir}getFormat(){return this.getLatest().__format}getFormatType(){const e=this.getFormat();return kg[e]||\"\"}getStyle(){return this.getLatest().__style}getIndent(){return this.getLatest().__indent}getChildren(){const e=[];let t=this.getFirstChild();for(;null!==t;)e.push(t),t=t.getNextSibling();return e}getChildrenKeys(){const e=[];let t=this.getFirstChild();for(;null!==t;)e.push(t.__key),t=t.getNextSibling();return e}getChildrenSize(){return this.getLatest().__size}isEmpty(){return 0===this.getChildrenSize()}isDirty(){const e=ux()._dirtyElements;return null!==e&&e.has(this.__key)}isLastChild(){const e=this.getLatest(),t=this.getParentOrThrow().getLastChild();return null!==t&&t.is(e)}getAllTextNodes(){const e=[];let t=this.getFirstChild();for(;null!==t;){if(kb(t)&&e.push(t),kx(t)){const n=t.getAllTextNodes();e.push(...n)}t=t.getNextSibling()}return e}getFirstDescendant(){let e=this.getFirstChild();for(;kx(e);){const t=e.getFirstChild();if(null===t)break;e=t}return e}getLastDescendant(){let e=this.getLastChild();for(;kx(e);){const t=e.getLastChild();if(null===t)break;e=t}return e}getDescendantByIndex(e){const t=this.getChildren(),n=t.length;if(e>=n){const e=t[n-1];return kx(e)&&e.getLastDescendant()||e||null}const r=t[e];return kx(r)&&r.getFirstDescendant()||r||null}getFirstChild(){const e=this.getLatest().__first;return null===e?null:oy(e)}getFirstChildOrThrow(){const e=this.getFirstChild();return null===e&&Pg(45,this.__key),e}getLastChild(){const e=this.getLatest().__last;return null===e?null:oy(e)}getLastChildOrThrow(){const e=this.getLastChild();return null===e&&Pg(96,this.__key),e}getChildAtIndex(e){const t=this.getChildrenSize();let n,r;if(e=e;){if(r===e)return n;n=n.getPreviousSibling(),r--}return null}getTextContent(){let e=\"\";const t=this.getChildren(),n=t.length;for(let r=0;re.remove())),e}append(...e){return this.splice(this.getChildrenSize(),0,e)}setDirection(e){const t=this.getWritable();return t.__dir=e,t}setFormat(e){return this.getWritable().__format=\"\"!==e?Sg[e]:0,this}setStyle(e){return this.getWritable().__style=e||\"\",this}setIndent(e){return this.getWritable().__indent=e,this}splice(e,t,n){const r=n.length,o=this.getChildrenSize(),i=this.getWritable(),s=i.__key,a=[],l=[],c=this.getChildAtIndex(e+t);let u=null,d=o-t+r;if(0!==e)if(e===o)u=this.getLastChild();else{const t=this.getChildAtIndex(e);null!==t&&(u=t.getPreviousSibling())}if(t>0){let e=null===u?this.getFirstChild():u.getNextSibling();for(let n=0;n({root:Mx(cy())})))}}class Dx extends Sx{static getType(){return\"artificial\"}createDOM(e){return document.createElement(\"div\")}}class jx extends Sx{constructor(e){super(e),this.__textFormat=0,this.__textStyle=\"\"}static getType(){return\"paragraph\"}getTextFormat(){return this.getLatest().__textFormat}setTextFormat(e){const t=this.getWritable();return t.__textFormat=e,t}hasTextFormat(e){const t=xg[e];return!!(this.getTextFormat()&t)}getTextStyle(){return this.getLatest().__textStyle}setTextStyle(e){const t=this.getWritable();return t.__textStyle=e,t}static clone(e){return new jx(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__textFormat=e.__textFormat,this.__textStyle=e.__textStyle}createDOM(e){const t=document.createElement(\"p\"),n=Py(e.theme,\"paragraph\");return void 0!==n&&t.classList.add(...n),t}updateDOM(e,t,n){return!1}static importDOM(){return{p:e=>({conversion:Ax,priority:0})}}exportDOM(e){const{element:t}=super.exportDOM(e);if(t&&Uy(t)){this.isEmpty()&&t.append(document.createElement(\"br\"));const e=this.getFormatType();t.style.textAlign=e;const n=this.getDirection();n&&(t.dir=n);const r=this.getIndent();r>0&&(t.style.textIndent=20*r+\"px\")}return{element:t}}static importJSON(e){const t=Ix();return t.setFormat(e.format),t.setIndent(e.indent),t.setDirection(e.direction),t.setTextFormat(e.textFormat),t}exportJSON(){return{...super.exportJSON(),textFormat:this.getTextFormat(),textStyle:this.getTextStyle(),type:\"paragraph\",version:1}}insertNewAfter(e,t){const n=Ix();n.setTextFormat(e.format),n.setTextStyle(e.style);const r=this.getDirection();return n.setDirection(r),n.setFormat(this.getFormatType()),n.setStyle(this.getTextStyle()),this.insertAfter(n,t),n}collapseAtStart(){const e=this.getChildren();if(0===e.length||kb(e[0])&&\"\"===e[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Ax(e){const t=Ix();if(e.style){t.setFormat(e.style.textAlign);const n=parseInt(e.style.textIndent,10)/20;n>0&&t.setIndent(n)}return{node:t}}function Ix(){return zy(new jx)}function Lx(e){return e instanceof jx}const Fx=1;function zx(e,t,n,r){const o=e._keyToDOMMap;o.clear(),e._editorState=Tx(),e._pendingEditorState=r,e._compositionKey=null,e._dirtyType=Qp,e._cloneNotNeeded.clear(),e._dirtyLeaves=new Set,e._dirtyElements.clear(),e._normalizedNodes=new Set,e._updateTags=new Set,e._updates=[],e._blockCursorElement=null;const i=e._observer;null!==i&&(i.disconnect(),e._observer=null),null!==t&&(t.textContent=\"\"),null!==n&&(n.textContent=\"\",o.set(\"root\",n))}class Bx{constructor(e,t,n,r,o,i,s){this._parentEditor=t,this._rootElement=null,this._editorState=e,this._pendingEditorState=null,this._compositionKey=null,this._deferred=[],this._keyToDOMMap=new Map,this._updates=[],this._updating=!1,this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set},this._commands=new Map,this._config=r,this._nodes=n,this._decorators={},this._pendingDecorators=null,this._dirtyType=Qp,this._cloneNotNeeded=new Set,this._dirtyLeaves=new Set,this._dirtyElements=new Map,this._normalizedNodes=new Set,this._updateTags=new Set,this._observer=null,this._key=gy(),this._onError=o,this._htmlConversions=i,this._editable=s,this._headless=null!==t&&t._headless,this._window=null,this._blockCursorElement=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(e){const t=this._listeners.update;return t.add(e),()=>{t.delete(e)}}registerEditableListener(e){const t=this._listeners.editable;return t.add(e),()=>{t.delete(e)}}registerDecoratorListener(e){const t=this._listeners.decorator;return t.add(e),()=>{t.delete(e)}}registerTextContentListener(e){const t=this._listeners.textcontent;return t.add(e),()=>{t.delete(e)}}registerRootListener(e){const t=this._listeners.root;return e(this._rootElement,null),t.add(e),()=>{e(null,this._rootElement),t.delete(e)}}registerCommand(e,t,n){void 0===n&&Pg(35);const r=this._commands;r.has(e)||r.set(e,[new Set,new Set,new Set,new Set,new Set]);const o=r.get(e);void 0===o&&Pg(36,String(e));const i=o[n];return i.add(t),()=>{i.delete(t),o.every((e=>0===e.size))&&r.delete(e)}}registerMutationListener(e,t,n){const r=this.resolveRegisteredNodeAfterReplacements(this.getRegisteredNode(e)).klass,o=this._listeners.mutation;o.set(t,r);const i=n&&n.skipInitialization;return void 0===i||i||this.initializeMutationListener(t,r),()=>{o.delete(t)}}getRegisteredNode(e){const t=this._nodes.get(e.getType());return void 0===t&&Pg(37,e.name),t}resolveRegisteredNodeAfterReplacements(e){for(;e.replaceWithKlass;)e=this.getRegisteredNode(e.replaceWithKlass);return e}initializeMutationListener(e,t){const n=this._editorState,r=function(e){if(!e._readOnly&&e.isEmpty())return Gy;e._readOnly||Pg(192);let t=qy.get(e);if(!t){t=new Map,qy.set(e,t);for(const[n,r]of e._nodeMap){const e=r.__type;let o=t.get(e);o||(o=new Map,t.set(e,o)),o.set(n,r)}}return t}(n).get(t.getType());if(!r)return;const o=new Map;for(const e of r.keys())o.set(e,\"created\");o.size>0&&e(o,{dirtyLeaves:new Set,prevEditorState:n,updateTags:new Set([\"registerMutationListener\"])})}registerNodeTransformToKlass(e,t){const n=this.getRegisteredNode(e);return n.transforms.add(t),n}registerNodeTransform(e,t){const n=this.registerNodeTransformToKlass(e,t),r=[n],o=n.replaceWithKlass;if(null!=o){const e=this.registerNodeTransformToKlass(o,t);r.push(e)}var i;return i=e.getType(),wx(this,(()=>{const e=cx();if(e.isEmpty())return;if(\"root\"===i)return void cy().markDirty();const t=e._nodeMap;for(const[,e]of t)e.markDirty()}),null===this._pendingEditorState?{tag:\"history-merge\"}:void 0),()=>{r.forEach((e=>e.transforms.delete(t)))}}hasNode(e){return this._nodes.has(e.getType())}hasNodes(e){return e.every(this.hasNode.bind(this))}dispatchCommand(e,t){return Ry(this,e,t)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(e){const t=this._rootElement;if(e!==t){const n=Py(this._config.theme,\"root\"),r=this._pendingEditorState||this._editorState;if(this._rootElement=e,zx(this,t,e,r),null!==t&&(this._config.disableEvents||function(e){const t=e.ownerDocument,n=Fv.get(t);void 0===n&&Pg(162);const r=n-1;r>=0||Pg(164),Fv.set(t,r),0===r&&t.removeEventListener(\"selectionchange\",Zv);const o=Gg(e);Kg(o)?(function(e){if(null!==e._parentEditor){const t=py(e),n=t[t.length-1]._key;Xv.get(n)===e&&Xv.delete(n)}else Xv.delete(e._key)}(o),e.__lexicalEditor=null):o&&Pg(198);const i=Gv(e);for(let e=0;e{Qv(e)||(Jv(e),(t.isEditable()||\"click\"===r)&&i(e,t))}:e=>{if(Qv(e))return;Jv(e);const n=t.isEditable();switch(r){case\"cut\":return n&&Ry(t,Mp,e);case\"copy\":return Ry(t,Tp,e);case\"paste\":return n&&Ry(t,sp,e);case\"dragstart\":return n&&Ry(t,Pp,e);case\"dragover\":return n&&Ry(t,Op,e);case\"dragend\":return n&&Ry(t,Np,e);case\"focus\":return n&&Ry(t,Lp,e);case\"blur\":return n&&Ry(t,Fp,e);case\"drop\":return n&&Ry(t,_p,e)}};e.addEventListener(r,s),o.push((()=>{e.removeEventListener(r,s)}))}}(e,this),null!=n&&e.classList.add(...n)}else this._editorState=r,this._pendingEditorState=null,this._window=null;yx(\"root\",this,!1,e,t)}}getElementByKey(e){return this._keyToDOMMap.get(e)||null}getEditorState(){return this._editorState}setEditorState(e,t){e.isEmpty()&&Pg(38),Lg(this);const n=this._pendingEditorState,r=this._updateTags,o=void 0!==t?t.tag:null;null===n||n.isEmpty()||(null!=o&&r.add(o),gx(this)),this._pendingEditorState=e,this._dirtyType=eg,this._dirtyElements.set(\"root\",!1),this._compositionKey=null,null!=o&&r.add(o),gx(this)}parseEditorState(e,t){return function(e,t,n){const r=Tx(),o=ex,i=nx,s=tx,a=t._dirtyElements,l=t._dirtyLeaves,c=t._cloneNotNeeded,u=t._dirtyType;t._dirtyElements=new Map,t._dirtyLeaves=new Set,t._cloneNotNeeded=new Set,t._dirtyType=0,ex=r,nx=!1,tx=t;try{const o=t._nodes;hx(e.root,o),n&&n(),r._readOnly=!0}catch(e){e instanceof Error&&t._onError(e)}finally{t._dirtyElements=a,t._dirtyLeaves=l,t._cloneNotNeeded=c,t._dirtyType=u,ex=o,nx=i,tx=s}return r}(\"string\"==typeof e?JSON.parse(e):e,this,t)}read(e){return gx(this),this.getEditorState().read(e,{editor:this})}update(e,t){wx(this,e,t)}focus(e,t={}){const n=this._rootElement;null!==n&&(n.setAttribute(\"autocapitalize\",\"off\"),wx(this,(()=>{const e=Hb(),n=cy();null!==e?e.dirty=!0:0!==n.getChildrenSize()&&(\"rootStart\"===t.defaultSelection?n.selectStart():n.selectEnd())}),{onUpdate:()=>{n.removeAttribute(\"autocapitalize\"),e&&e()},tag:\"focus\"}),null===this._pendingEditorState&&n.removeAttribute(\"autocapitalize\"))}blur(){const e=this._rootElement;null!==e&&e.blur();const t=Vy(this._window);null!==t&&t.removeAllRanges()}isEditable(){return this._editable}setEditable(e){this._editable!==e&&(this._editable=e,yx(\"editable\",this,!0,e))}toJSON(){return{editorState:this._editorState.toJSON()}}}Bx.version=\"0.17.1+prod.esm\";const Wx=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Vx=Wx?a.useLayoutEffect:a.useEffect,Ux={tag:\"history-merge\"};function $x({initialConfig:e,children:t}){const n=(0,a.useMemo)((()=>{const{theme:t,namespace:n,nodes:r,onError:o,editorState:i,html:s}=e,a=function(e,t){let n=null;return{getTheme:function(){return null!=t?t:null!=n?n.getTheme():null}}}(0,t),l=function(e){const t=e||{},n=tx,r=t.theme||{},o=void 0===e?n:t.parentEditor||null,i=t.disableEvents||!1,s=Tx(),a=t.namespace||(null!==o?o._config.namespace:gy()),l=t.editorState,c=[Ox,mb,nb,Cb,jx,Dx,...t.nodes||[]],{onError:u,html:d}=t,f=void 0===t.editable||t.editable;let m;if(void 0===e&&null!==n)m=n._nodes;else{m=new Map;for(let e=0;e{Object.keys(e).forEach((t=>{let r=n.get(t);void 0===r&&(r=[],n.set(t,r)),r.push(e[t])}))};return e.forEach((e=>{const t=e.klass.importDOM;if(null==t||r.has(t))return;r.add(t);const n=t.call(e.klass);null!==n&&o(n)})),t&&o(t),n}(m,d?d.import:void 0),f);return void 0!==l&&(h._pendingEditorState=l,h._dirtyType=eg),h}({editable:e.editable,html:s,namespace:n,nodes:r,onError:e=>o(e,l),theme:t});return function(e,t){if(null!==t)if(void 0===t)e.update((()=>{const t=cy();if(t.isEmpty()){const n=Ix();t.append(n);const r=Wx?document.activeElement:null;(null!==Hb()||null!==r&&r===e.getRootElement())&&n.select()}}),Ux);else if(null!==t)switch(typeof t){case\"string\":{const n=e.parseEditorState(t);e.setEditorState(n,Ux);break}case\"object\":e.setEditorState(t,Ux);break;case\"function\":e.update((()=>{cy().isEmpty()&&t(e)}),Ux)}}(l,i),[l,a]}),[]);return Vx((()=>{const t=e.editable,[r]=n;r.setEditable(void 0===t||t)}),[]),(0,mu.jsx)(Zh.Provider,{value:n,children:t})}const Yx=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?a.useLayoutEffect:a.useEffect;function Hx(e){return{initialValueFn:()=>e.isEditable(),subscribe:t=>e.registerEditableListener(t)}}function Kx(e){return()=>function(e){if(!function(e,t=!0){if(e)return!1;let n=cy().getTextContent();return t&&(n=n.trim()),\"\"===n}(e,!1))return!1;const t=cy().getChildren(),n=t.length;if(n>1)return!1;for(let e=0;e{for(let t=e.length-1;t>=0;t--)e[t]();e.length=0}}function Zx(e,t){const n=Ty(e.focus,t);return Px(n)&&!n.isIsolated()||kx(n)&&!n.isInline()&&!n.canBeEmpty()}function Jx(e,t,n){const r=function(e){const t=e.anchor.getNode();return\"rtl\"===(Nx(t)?t:t.getParentOrThrow()).getDirection()}(e);!function(e,t,n){e.modify(t?\"extend\":\"move\",n,\"character\")}(e,t,n?!r:r)}function Qx(e,t,n,r=null){let o=null===r||t.isSelected(r);const i=kx(t)&&t.excludeFromCopy(\"html\");let s=t;if(null!==r){let e=Xy(t);e=kb(e)&&null!==r?function(e,t){const n=e.getStartEndPoints();if(t.isSelected(e)&&!t.isSegmented()&&!t.isToken()&&null!==n){const[r,o]=n,i=e.isBackward(),s=r.getNode(),a=o.getNode(),l=t.is(s),c=t.is(a);if(l||c){const[n,r]=Lb(e),o=s.is(a),l=t.is(i?a:s),c=t.is(i?s:a);let u,d=0;return o?(d=n>r?r:n,u=n>r?n:r):l?(d=i?r:n,u=void 0):c&&(d=0,u=i?n:r),t.__text=t.__text.slice(d,u),t}}return t}(r,e):e,s=e}const a=kx(s)?s.getChildren():[],l=e._nodes.get(s.getType());let c;c=l&&void 0!==l.exportDOM?l.exportDOM(e,s):s.exportDOM(e);const{element:u,after:d}=c;if(!u)return!1;const f=document.createDocumentFragment();for(let n=0;n{if(null!==e){const r=function(e,t){return null!==e&&Object.getPrototypeOf(e).constructor.name===t.name}(e,KeyboardEvent)?null:e.clipboardData,o=Hb();if(null!==o&&null!=r){e.preventDefault();const i=function(e,t=Hb()){return null==t&&ew(166),Db(t)&&t.isCollapsed()||0===t.getNodes().length?\"\":function(e,t){if(\"undefined\"==typeof document||\"undefined\"==typeof window&&void 0===n.g.window)throw new Error(\"To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.\");const r=document.createElement(\"div\"),o=cy().getChildren();for(let n=0;ne.getDecorators()));return uw((()=>e.registerDecoratorListener((e=>{(0,tn.flushSync)((()=>{r(e)}))}))),[e]),(0,a.useEffect)((()=>{r(e.getDecorators())}),[e]),(0,a.useMemo)((()=>{const r=[],o=Object.keys(n);for(let i=0;ie._onError(t),children:(0,mu.jsx)(a.Suspense,{fallback:null,children:n[s]})}),c=e.getElementByKey(s);null!==c&&r.push((0,tn.createPortal)(l,c,s))}return r}),[t,n,e])}(r,n);return function(e){uw((()=>Xx(function(e){return Xx(e.registerCommand(np,(e=>{const t=Hb();return!!Db(t)&&(t.deleteCharacter(e),!0)}),0),e.registerCommand(lp,(e=>{const t=Hb();return!!Db(t)&&(t.deleteWord(e),!0)}),0),e.registerCommand(cp,(e=>{const t=Hb();return!!Db(t)&&(t.deleteLine(e),!0)}),0),e.registerCommand(ip,(e=>{const t=Hb();if(!Db(t))return!1;if(\"string\"==typeof e)t.insertText(e);else{const n=e.dataTransfer;if(null!=n)tw(n,t);else{const n=e.data;n&&t.insertText(n)}}return!0}),0),e.registerCommand(ap,(()=>{const e=Hb();return!!Db(e)&&(e.removeText(),!0)}),0),e.registerCommand(rp,(e=>{const t=Hb();return!!Db(t)&&(t.insertLineBreak(e),!0)}),0),e.registerCommand(op,(()=>{const e=Hb();return!!Db(e)&&(e.insertLineBreak(),!0)}),0),e.registerCommand(gp,(e=>{const t=Hb();if(!Db(t))return!1;const n=e,r=n.shiftKey;return!!Zx(t,!0)&&(n.preventDefault(),Jx(t,r,!0),!0)}),0),e.registerCommand(hp,(e=>{const t=Hb();if(!Db(t))return!1;const n=e,r=n.shiftKey;return!!Zx(t,!1)&&(n.preventDefault(),Jx(t,r,!1),!0)}),0),e.registerCommand(Sp,(t=>!!Db(Hb())&&(t.preventDefault(),e.dispatchCommand(np,!0))),0),e.registerCommand(Ep,(t=>!!Db(Hb())&&(t.preventDefault(),e.dispatchCommand(np,!1))),0),e.registerCommand(xp,(t=>{if(!Db(Hb()))return!1;if(null!==t){if((sw||iw||lw)&&ow)return!1;t.preventDefault()}return e.dispatchCommand(rp,!1)}),0),e.registerCommand(Rp,(()=>(function(){const e=cy();dy(function(e){return Vg(e.anchor),Vg(e.focus),e}(e.select(0,e.getChildrenSize())))}(),!0)),0),e.registerCommand(Tp,(t=>!!Db(Hb())&&(cw(t,e),!0)),0),e.registerCommand(Mp,(t=>!!Db(Hb())&&(function(e,t){cw(e,t),t.update((()=>{const e=Hb();Db(e)&&e.removeText()}))}(t,e),!0)),0),e.registerCommand(sp,(t=>!!Db(Hb())&&(function(e,t){e.preventDefault(),t.update((()=>{const t=Hb(),{clipboardData:n}=e;null!=n&&Db(t)&&tw(n,t)}),{tag:\"paste\"})}(t,e),!0)),0),e.registerCommand(_p,(e=>!!Db(Hb())&&(e.preventDefault(),!0)),0),e.registerCommand(Pp,(e=>!!Db(Hb())&&(e.preventDefault(),!0)),0))}(e),function(e){const t=window.location.origin,n=n=>{if(n.origin!==t)return;const r=e.getRootElement();if(document.activeElement!==r)return;const o=n.data;if(\"string\"==typeof o){let t;try{t=JSON.parse(o)}catch(e){return}if(t&&\"nuanria_messaging\"===t.protocol&&\"request\"===t.type){const r=t.payload;if(r&&\"makeChanges\"===r.functionId){const t=r.args;if(t){const[r,o,i,s,a,l]=t;e.update((()=>{const e=Hb();if(Db(e)){const t=e.anchor;let l=t.getNode(),c=0,u=0;if(kb(l)&&r>=0&&o>=0&&(c=r,u=r+o,e.setTextNodeRange(l,c,l,u)),c===u&&\"\"===i||(e.insertRawText(i),l=t.getNode()),kb(l)){c=s,u=s+a;const t=l.getTextContentSize();c=c>t?t:c,u=u>t?t:u,e.setTextNodeRange(l,c,l,u)}n.stopImmediatePropagation()}}))}}}}};return window.addEventListener(\"message\",n,!0),()=>{window.removeEventListener(\"message\",n,!0)}}(e))),[e])}(r),(0,mu.jsxs)(mu.Fragment,{children:[e,(0,mu.jsx)(mw,{content:t}),o]})}function mw({content:e}){const[t]=Jh(),n=function(e){const[t,n]=(0,a.useState)((()=>dw(e)));return uw((()=>{function t(){const t=dw(e);n(t)}return t(),Xx(e.registerUpdateListener((()=>{t()})),e.registerEditableListener((()=>{t()})))}),[e]),t}(t),r=function(e){const[t]=Jh(),n=(0,a.useMemo)((()=>e(t)),[t,e]),r=(0,a.useRef)(n.initialValueFn()),[o,i]=(0,a.useState)(r.current);return Yx((()=>{const{initialValueFn:e,subscribe:t}=n,o=e();return r.current!==o&&(r.current=o,i(o)),t((e=>{r.current=e,i(e)}))}),[n,e]),o}(Hx);return n?\"function\"==typeof e?e(r):e:null}const hw=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?a.useLayoutEffect:a.useEffect,pw=(0,a.forwardRef)((function({editor:e,ariaActiveDescendant:t,ariaAutoComplete:n,ariaControls:r,ariaDescribedBy:o,ariaExpanded:i,ariaLabel:s,ariaLabelledBy:l,ariaMultiline:c,ariaOwns:u,ariaRequired:d,autoCapitalize:f,className:m,id:h,role:p=\"textbox\",spellCheck:g=!0,style:y,tabIndex:v,\"data-testid\":b,...x},w){const[S,k]=(0,a.useState)(e.isEditable()),E=(0,a.useCallback)((t=>{t&&t.ownerDocument&&t.ownerDocument.defaultView?e.setRootElement(t):e.setRootElement(null)}),[e]),C=(0,a.useMemo)((()=>function(...e){return t=>{e.forEach((e=>{\"function\"==typeof e?e(t):null!=e&&(e.current=t)}))}}(w,E)),[E,w]);return hw((()=>(k(e.isEditable()),e.registerEditableListener((e=>{k(e)})))),[e]),(0,mu.jsx)(\"div\",{...x,\"aria-activedescendant\":S?t:void 0,\"aria-autocomplete\":S?n:\"none\",\"aria-controls\":S?r:void 0,\"aria-describedby\":o,\"aria-expanded\":S&&\"combobox\"===p?!!i:void 0,\"aria-label\":s,\"aria-labelledby\":l,\"aria-multiline\":c,\"aria-owns\":S?u:void 0,\"aria-readonly\":!S||void 0,\"aria-required\":d,autoCapitalize:f,className:m,contentEditable:S,\"data-testid\":b,id:h,ref:C,role:S?p:void 0,spellCheck:g,style:y,tabIndex:v})}));function gw(e){return e.getEditorState().read(Kx(e.isComposing()))}const yw=(0,a.forwardRef)((function(e,t){const{placeholder:n,...r}=e,[o]=Jh();return(0,mu.jsxs)(mu.Fragment,{children:[(0,mu.jsx)(pw,{editor:o,...r,ref:t}),null!=n&&(0,mu.jsx)(vw,{editor:o,content:n})]})}));function vw({content:e,editor:t}){const n=function(e){const[t,n]=(0,a.useState)((()=>gw(e)));return hw((()=>{function t(){const t=gw(e);n(t)}return t(),Xx(e.registerUpdateListener((()=>{t()})),e.registerEditableListener((()=>{t()})))}),[e]),t}(t),[r,o]=(0,a.useState)(t.isEditable());if((0,a.useLayoutEffect)((()=>(o(t.isEditable()),t.registerEditableListener((e=>{o(e)})))),[t]),!n)return null;let i=null;return\"function\"==typeof e?i=e(r):null!==e&&(i=e),null===i?null:(0,mu.jsx)(\"div\",{\"aria-hidden\":!0,children:i})}const bw=0,xw=1,ww=2,Sw=0,kw=1,Ew=2,Cw=3,_w=4;function Pw(e){e.undoStack=[],e.redoStack=[],e.current=null}function Ow({delay:e,externalHistoryState:t}){const[n]=Jh();return function(e,t,n=1e3){const r=(0,a.useMemo)((()=>t||{current:null,redoStack:[],undoStack:[]}),[t]);(0,a.useEffect)((()=>function(e,t,n){const r=function(e,t){let n=Date.now(),r=Sw;return(o,i,s,a,l,c)=>{const u=Date.now();if(c.has(\"historic\"))return r=Sw,n=u,ww;const d=function(e,t,n,r,o){if(null===e||0===n.size&&0===r.size&&!o)return Sw;const i=t._selection,s=e._selection;if(o)return kw;if(!(Db(i)&&Db(s)&&s.isCollapsed()&&i.isCollapsed()))return Sw;const a=function(e,t,n){const r=e._nodeMap,o=[];for(const e of t){const t=r.get(e);void 0!==t&&o.push(t)}for(const[e,t]of n){if(!t)continue;const n=r.get(e);void 0===n||Nx(n)||o.push(n)}return o}(t,n,r);if(0===a.length)return Sw;if(a.length>1){const n=t._nodeMap,r=n.get(i.anchor.key),o=n.get(s.anchor.key);return r&&o&&!e._nodeMap.has(r.__key)&&kb(r)&&1===r.__text.length&&1===i.anchor.offset?Ew:Sw}const l=a[0],c=e._nodeMap.get(l.__key);if(!kb(c)||!kb(l)||c.__mode!==l.__mode)return Sw;const u=c.__text,d=l.__text;if(u===d)return Sw;const f=i.anchor,m=s.anchor;if(f.key!==m.key||\"text\"!==f.type)return Sw;const h=f.offset,p=m.offset,g=d.length-u.length;return 1===g&&p===h-1?Ew:-1===g&&p===h+1?Cw:-1===g&&p===h?_w:Sw}(o,i,a,l,e.isComposing()),f=(()=>{const f=null===s||s.editor===e,m=c.has(\"history-push\");if(!m&&f&&c.has(\"history-merge\"))return bw;if(null===o)return xw;const h=i._selection;return a.size>0||l.size>0?!1===m&&d!==Sw&&d===r&&ur.exportJSON())))===JSON.stringify(n.read((()=>o.exportJSON())))}(Array.from(a)[0],o,i)?bw:xw:null!==h?bw:ww})();return n=u,r=d,f}}(e,n),o=Xx(e.registerCommand(dp,(()=>(function(e,t){const n=t.redoStack,r=t.undoStack;if(0!==r.length){const o=t.current,i=r.pop();null!==o&&(n.push(o),e.dispatchCommand(Ap,!0)),0===r.length&&e.dispatchCommand(Ip,!1),t.current=i||null,i&&i.editor.setEditorState(i.editorState,{tag:\"historic\"})}}(e,t),!0)),0),e.registerCommand(fp,(()=>(function(e,t){const n=t.redoStack,r=t.undoStack;if(0!==n.length){const o=t.current;null!==o&&(r.push(o),e.dispatchCommand(Ip,!0));const i=n.pop();0===n.length&&e.dispatchCommand(Ap,!1),t.current=i||null,i&&i.editor.setEditorState(i.editorState,{tag:\"historic\"})}}(e,t),!0)),0),e.registerCommand(Dp,(()=>(Pw(t),!1)),0),e.registerCommand(jp,(()=>(Pw(t),e.dispatchCommand(Ap,!1),e.dispatchCommand(Ip,!1),!0)),0),e.registerUpdateListener((({editorState:n,prevEditorState:o,dirtyLeaves:i,dirtyElements:s,tags:a})=>{const l=t.current,c=t.redoStack,u=t.undoStack,d=null===l?null:l.editorState;if(null!==l&&n===d)return;const f=r(o,n,l,i,s,a);if(f===xw)0!==c.length&&(t.redoStack=[],e.dispatchCommand(Ap,!1)),null!==l&&(u.push({...l}),e.dispatchCommand(Ip,!0));else if(f===ww)return;t.current={editor:e,editorState:n}})));return o}(e,r,n)),[n,e,r])}(n,t,e),null}function Nw(e,t){return Nw=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Nw(e,t)}var Tw={error:null},Mw=function(e){var t,n;function r(){for(var t,n=arguments.length,r=new Array(n),o=0;o{if(n)return r.registerUpdateListener((({editorState:o,dirtyElements:i,dirtyLeaves:s,prevEditorState:a,tags:l})=>{t&&0===i.size&&0===s.size||e&&l.has(\"history-merge\")||a.isEmpty()||n(o,r,l)}))}),[r,e,t,n]),null}function Aw({editorRef:e}){const[t]=Jh();return a.useEffect((()=>{\"function\"==typeof e?e(t):\"object\"==typeof e&&(e.current=t)}),[t]),null}var Iw={xs:\"py-1 px-2 pr-2 rounded [&_.editor-content>p]:text-xs [&_.editor-content>p]:font-normal [&_.pointer-events-none]:text-xs\",sm:\"px-3 py-2 rounded [&_.editor-content>p]:text-xs [&_.editor-content>p]:font-normal [&_.pointer-events-none]:text-xs [&_.pointer-events-none]:font-normal\",md:\"px-3.5 py-2.5 rounded-md [&_.editor-content>p]:text-sm [&_.editor-content>p]:font-normal [&_.pointer-events-none]:text-sm [&_.pointer-events-none]:font-normal\",lg:\"px-4 py-3 rounded-md [&_.editor-content>p]:text-base [&_.editor-content>p]:font-normal [&_.pointer-events-none]:text-base [&_.pointer-events-none]:font-normal\"},Lw={xs:\"p-1 rounded-md max-h-[8.75rem]\",sm:\"p-1.5 rounded-md max-h-[10.75rem]\",md:\"p-2 rounded-lg max-h-[13.5rem]\",lg:\"p-2 rounded-lg max-h-[13.5rem]\"},Fw={xs:\"p-1 rounded text-xs leading-4 font-normal\",sm:\"p-1.5 rounded text-xs leading-5 font-normal\",md:\"p-2 rounded-md text-sm leading-6 font-normal\",lg:\"p-2 rounded-md text-base leading-6 font-normal\"};const zw=\"startTransition\",Bw=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?a.useLayoutEffect:a.useEffect,Ww=e=>{const t=document.getElementById(\"typeahead-menu\");if(!t)return;const n=t.getBoundingClientRect();n.top+n.height>window.innerHeight&&t.scrollIntoView({block:\"center\"}),n.top<0&&t.scrollIntoView({block:\"center\"}),e.scrollIntoView({block:\"nearest\"})};function Vw(e,t){const n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.top>r.top&&n.top{d(0)}),[f]);const m=(0,a.useCallback)((n=>{t.update((()=>{const t=null!=r.match&&l?function(e){const t=Hb();if(!Db(t)||!t.isCollapsed())return null;const n=t.anchor;if(\"text\"!==n.type)return null;const r=n.getNode();if(!r.isSimpleText())return null;const o=n.offset,i=r.getTextContent().slice(0,o),s=e.replaceableString.length,a=o-function(e,t,n){let r=n;for(let n=r;n<=t.length;n++)e.substr(-n)===t.substr(0,n)&&(r=n);return r}(i,e.matchingString,s);if(a<0)return null;let l;return 0===a?[l]=r.splitText(o):[,l]=r.splitText(a,o),l}(r.match):null;s(n,t,e,r.match?r.match.matchingString:\"\")}))}),[t,l,r.match,s,e]),h=(0,a.useCallback)((e=>{const n=t.getRootElement();null!==n&&(n.setAttribute(\"aria-activedescendant\",\"typeahead-item-\"+e),d(e))}),[t]);return(0,a.useEffect)((()=>()=>{const e=t.getRootElement();null!==e&&e.removeAttribute(\"aria-activedescendant\")}),[t]),Bw((()=>{null===o?d(null):null===u&&h(0)}),[o,u,h]),(0,a.useEffect)((()=>Xx(t.registerCommand(Uw,(({option:e})=>!(!e.ref||null==e.ref.current||(Ww(e.ref.current),0))),c))),[t,h,c]),(0,a.useEffect)((()=>Xx(t.registerCommand(bp,(e=>{const n=e;if(null!==o&&o.length&&null!==u){const e=u!==o.length-1?u+1:0;h(e);const r=o[e];null!=r.ref&&r.ref.current&&t.dispatchCommand(Uw,{index:e,option:r}),n.preventDefault(),n.stopImmediatePropagation()}return!0}),c),t.registerCommand(vp,(e=>{const t=e;if(null!==o&&o.length&&null!==u){const e=0!==u?u-1:o.length-1;h(e);const n=o[e];null!=n.ref&&n.ref.current&&Ww(n.ref.current),t.preventDefault(),t.stopImmediatePropagation()}return!0}),c),t.registerCommand(kp,(t=>{const n=t;return n.preventDefault(),n.stopImmediatePropagation(),e(),!0}),c),t.registerCommand(Cp,(e=>{const t=e;return null!==o&&null!==u&&null!=o[u]&&(t.preventDefault(),t.stopImmediatePropagation(),m(o[u]),!0)}),c),t.registerCommand(xp,(e=>null!==o&&null!==u&&null!=o[u]&&(null!==e&&(e.preventDefault(),e.stopImmediatePropagation()),m(o[u]),!0)),c))),[m,e,t,o,u,h,c]),i(n,(0,a.useMemo)((()=>({options:o,selectOptionAndCleanUp:m,selectedIndex:u,setHighlightedIndex:d})),[m,u,o]),r.match?r.match.matchingString:\"\")}function Yw({options:e,onQueryChange:t,onSelectOption:n,onOpen:r,onClose:o,menuRenderFn:i,triggerFn:s,anchorClassName:c,commandPriority:u=Fx,parent:d}){const[f]=Jh(),[m,h]=(0,a.useState)(null),p=function(e,t,n,r=document.body){const[o]=Jh(),i=(0,a.useRef)(document.createElement(\"div\")),s=(0,a.useCallback)((()=>{i.current.style.top=i.current.style.bottom;const t=o.getRootElement(),s=i.current,a=s.firstChild;if(null!==t&&null!==e){const{left:o,top:l,width:c,height:u}=e.getRect(),d=i.current.offsetHeight;if(s.style.top=`${l+window.pageYOffset+d+3}px`,s.style.left=`${o+window.pageXOffset}px`,s.style.height=`${u}px`,s.style.width=`${c}px`,null!==a){a.style.top=`${l}`;const e=a.getBoundingClientRect(),n=e.height,r=e.width,i=t.getBoundingClientRect();o+r>i.right&&(s.style.left=`${i.right-r+window.pageXOffset}px`),(l+n>window.innerHeight||l+n>i.bottom)&&l-i.top>n+u&&(s.style.top=l-n+window.pageYOffset-u+\"px\")}s.isConnected||(null!=n&&(s.className=n),s.setAttribute(\"aria-label\",\"Typeahead menu\"),s.setAttribute(\"id\",\"typeahead-menu\"),s.setAttribute(\"role\",\"listbox\"),s.style.display=\"block\",s.style.position=\"absolute\",r.append(s)),i.current=s,t.setAttribute(\"aria-controls\",\"typeahead-menu\")}}),[o,e,n,r]);(0,a.useEffect)((()=>{const t=o.getRootElement();if(null!==e)return s(),()=>{null!==t&&t.removeAttribute(\"aria-controls\");const e=i.current;null!==e&&e.isConnected&&e.remove()}}),[o,s,e]);const l=(0,a.useCallback)((n=>{null!==e&&(n||t(null))}),[e,t]);return function(e,t,n,r){const[o]=Jh();(0,a.useEffect)((()=>{if(null!=t&&null!=e){const e=o.getRootElement(),i=null!=e?function(e){let t=getComputedStyle(e);const n=\"absolute\"===t.position,r=/(auto|scroll)/;if(\"fixed\"===t.position)return document.body;for(let o=e;o=o.parentElement;)if(t=getComputedStyle(o),(!n||\"static\"!==t.position)&&r.test(t.overflow+t.overflowY+t.overflowX))return o;return document.body}(e):document.body;let s=!1,a=Vw(t,i);const l=function(){s||(window.requestAnimationFrame((function(){n(),s=!1})),s=!0);const e=Vw(t,i);e!==a&&(a=e,null!=r&&r(e))},c=new ResizeObserver(n);return window.addEventListener(\"resize\",n),document.addEventListener(\"scroll\",l,{capture:!0,passive:!0}),c.observe(t),()=>{c.unobserve(t),window.removeEventListener(\"resize\",n),document.removeEventListener(\"scroll\",l,!0)}}}),[t,o,r,n,e])}(e,i.current,s,l),i}(m,h,c,d),g=(0,a.useCallback)((()=>{h(null),null!=o&&null!==m&&o()}),[o,m]),y=(0,a.useCallback)((e=>{h(e),null!=r&&null===m&&r(e)}),[r,m]);return(0,a.useEffect)((()=>{const e=f.registerUpdateListener((()=>{f.getEditorState().read((()=>{const e=f._window||window,n=e.document.createRange(),r=Hb(),o=function(e){let t=null;return e.getEditorState().read((()=>{const e=Hb();Db(e)&&(t=function(e){const t=e.anchor;if(\"text\"!==t.type)return null;const n=t.getNode();if(!n.isSimpleText())return null;const r=t.offset;return n.getTextContent().slice(0,r)}(e))})),t}(f);if(!Db(r)||!r.isCollapsed()||null===o||null===n)return void g();const i=s(o,f);if(t(i?i.matchingString:null),null!==i&&!function(e,t){return 0===t&&e.getEditorState().read((()=>{const e=Hb();if(Db(e)){const t=e.anchor.getNode().getPreviousSibling();return kb(t)&&t.isTextEntity()}return!1}))}(f,i.leadOffset)){const t=function(e,t,n){const r=n.getSelection();if(null===r||!r.isCollapsed)return!1;const o=r.anchorNode,i=e,s=r.anchorOffset;if(null==o||null==s)return!1;try{t.setStart(o,i),t.setEnd(o,s)}catch(e){return!1}return!0}(i.leadOffset,n,e);if(null!==t)return a=()=>y({getRect:()=>n.getBoundingClientRect(),match:i}),void(zw in l()?l()[zw](a):a())}var a;g()}))}));return()=>{e()}}),[f,s,t,m,g,y]),null===m||null===f?null:(0,mu.jsx)($w,{close:g,resolution:m,editor:f,anchorElementRef:p,options:e,menuRenderFn:i,shouldSplitNodeWithQuery:!0,onSelectOption:n,commandPriority:u})}function Hw(e){return Hw=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Hw(e)}function Kw(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n2&&void 0!==arguments[2]?arguments[2]:\"name\",r=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,o,i,s,a=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(e,t)||function(e,t){if(e){if(\"string\"==typeof e)return mS(e,t);var n={}.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mS(e,t):void 0}}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}((0,a.useState)([]),2),o=r[0],i=r[1];return(0,a.useEffect)((function(){if(null!==t){var r=hS.get(t);null!==r&&(void 0===r?(hS.set(t,null),pS(e,t,(function(e){hS.set(t,e),i(e)}),n)):i(r))}else i([])}),[t]),o},yS=[\"size\",\"children\",\"selected\",\"className\"];function vS(){return vS=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n_:;\",y=[l].join(\"\"),v=\"[^\"+y+g+\"\\\\s]\",b=\"(?:\\\\.[ |$]| |[\"+g+\"]|)\",x=new RegExp(\"(^|\\\\s|\\\\()([\".concat(y,\"]((?:\").concat(v).concat(b,\"){0,\").concat(75,\"}))$\")),w=new RegExp(\"(^|\\\\s|\\\\()([\".concat(y,\"]((?:\").concat(v,\"){0,\").concat(50,\"}))$\")),S=wS(Jh(),1)[0],k=wS((0,a.useState)(null),2),E=k[0],C=k[1],_=gS(t,E,r),P=(0,a.useCallback)((function(e,t,n){S.update((function(){var o=iS(e.data,r,i);t&&t.replace(o),n()}))}),[S]),O=(0,a.useMemo)((function(){return _.map((function(e){return new fS(e)}))}),[S,_]),N=(0,a.useCallback)((function(e){if(!h)return!1;var t=e.key,n=e.ctrlKey,r=e.metaKey;if(n||r||\" \"===t||t.length>1||p.current)return p.current&&(p.current=!1),!1;var o=Hb(),i=o.focus,s=o.anchor,a=wS(o.getNodes(),1)[0];if(!s||!i||(null==s?void 0:s.key)!==(null==i?void 0:i.key)||(null==s?void 0:s.offset)!==(null==i?void 0:i.offset)||!a)return!1;if(function(e){return e instanceof oS}(a)){var l=Sb(\" \");a.insertAfter(l)}}),[S,l,h]),T=(0,a.useCallback)((function(e){\"Backspace\"===e.key&&(p.current=!0)}),[p]);return(0,a.useEffect)((function(){if(S)return Xx(S.registerCommand(mp,N,Fx),S.registerCommand(Sp,T,Fx))}),[S,N]),React.createElement(Yw,{onQueryChange:C,onSelectOption:P,triggerFn:function(e){var t=x.exec(e);if(null===t&&(t=w.exec(e)),null!==t){var n=t[1],r=t[3];if(r.length>=0)return{leadOffset:t.index+n.length,matchingString:r,replaceableString:t[2]}}return null},options:O,menuRenderFn:function(e,t){var n=t.selectedIndex,o=t.selectOptionAndCleanUp,s=t.setHighlightedIndex;return e.current&&!(null==O||!O.length)&&React.createElement(u,{size:i},O.map((function(e,t){var a;return React.createElement(f,{key:t,ref:e.ref,size:i,selected:t===n,onMouseEnter:function(){s(t)},onClick:function(){return o(e)}},\"string\"==typeof e.data?e.data:null===(a=e.data)||void 0===a?void 0:a[r])})))}})},ES={ltr:\"ltr\",rtl:\"rtl\",paragraph:\"editor-paragraph\",quote:\"editor-quote\",heading:{h1:\"editor-heading-h1\",h2:\"editor-heading-h2\",h3:\"editor-heading-h3\",h4:\"editor-heading-h4\",h5:\"editor-heading-h5\",h6:\"editor-heading-h6\"},list:{nested:{listitem:\"editor-nested-listitem\"},ol:\"editor-list-ol\",ul:\"editor-list-ul\",listitem:\"editor-listItem\",listitemChecked:\"editor-listItemChecked\",listitemUnchecked:\"editor-listItemUnchecked\"},hashtag:\"editor-hashtag\",image:\"editor-image\",link:\"editor-link\",text:{bold:\"editor-textBold\",code:\"editor-textCode\",italic:\"editor-textItalic\",strikethrough:\"editor-textStrikethrough\",subscript:\"editor-textSubscript\",superscript:\"editor-textSuperscript\",underline:\"editor-textUnderline\",underlineStrikethrough:\"editor-textUnderlineStrikethrough\"},code:\"editor-code\",codeHighlight:{atrule:\"editor-tokenAttr\",attr:\"editor-tokenAttr\",boolean:\"editor-tokenProperty\",builtin:\"editor-tokenSelector\",cdata:\"editor-tokenComment\",char:\"editor-tokenSelector\",class:\"editor-tokenFunction\",\"class-name\":\"editor-tokenFunction\",comment:\"editor-tokenComment\",constant:\"editor-tokenProperty\",deleted:\"editor-tokenProperty\",doctype:\"editor-tokenComment\",entity:\"editor-tokenOperator\",function:\"editor-tokenFunction\",important:\"editor-tokenVariable\",inserted:\"editor-tokenSelector\",keyword:\"editor-tokenAttr\",namespace:\"editor-tokenVariable\",number:\"editor-tokenProperty\",operator:\"editor-tokenOperator\",prolog:\"editor-tokenComment\",property:\"editor-tokenProperty\",punctuation:\"editor-tokenPunctuation\",regex:\"editor-tokenVariable\",selector:\"editor-tokenSelector\",string:\"editor-tokenSelector\",symbol:\"editor-tokenProperty\",tag:\"editor-tokenProperty\",url:\"editor-tokenOperator\",variable:\"editor-tokenVariable\"}},CS=function(e){var t=e.content;return React.createElement(\"div\",{className:\"pointer-events-none absolute inset-0 flex items-center justify-start text-field-placeholder\"},t)};function _S(e){console.error(e)}var PS=function(e,t){var n,r,o=e.defaultValue,i=void 0===o?\"\":o,s=e.placeholder,l=void 0===s?\"Press @ to view variable suggestions\":s,c=e.onChange,u=e.size,d=void 0===u?\"md\":u,f=e.autoFocus,m=void 0!==f&&f,h=e.options,p=void 0===h?[]:h,g=e.by,y=void 0===g?\"name\":g,v=e.trigger,b=void 0===v?\"@\":v,x=e.menuComponent,w=e.menuItemComponent,S=e.className,k=e.wrapperClassName,E=e.disabled,C=void 0!==E&&E,_=e.autoSpaceAfterMention,P=void 0!==_&&_,O={namespace:\"Editor\",editorTheme:ES,onError:_S,nodes:[sS],editorState:i||'{\\n \"root\": {\\n \"children\": [\\n {\\n \"children\": [],\\n \"direction\": null,\\n \"format\": \"\",\\n \"indent\": 0,\\n \"type\": \"paragraph\",\\n \"version\": 1,\\n \"textFormat\": 0,\\n \"textStyle\": \"\"\\n }\\n ],\\n \"direction\": null,\\n \"format\": \"\",\\n \"indent\": 0,\\n \"type\": \"root\",\\n \"version\": 1\\n }\\n}',editable:!C};return(0,a.isValidElement)(x)&&(n=x),(0,a.isValidElement)(w)&&(r=w),React.createElement(\"div\",{className:oe(\"relative w-full\",\"focus-within:ring-2 focus-within:ring-offset-2 hover:border-border-strong focus-within:!border-focus-border focus-within:ring-focus transition duration-150 ease-in-out outline outline-1 outline-field-border\",Iw[d],C&&\"bg-field-secondary-background border-field-border-disabled hover:border-field-border-disabled [&_p]:text-badge-color-disabled cursor-not-allowed\",k)},React.createElement($x,{initialConfig:O},React.createElement(\"div\",{className:\"relative w-full [&_p]:m-0\"},React.createElement(fw,{contentEditable:React.createElement(yw,{className:oe(\"editor-content focus-visible:outline-none outline-none\",\"w-full [&>p]:w-full [&>p]:m-0\",S)}),placeholder:React.createElement(CS,{content:l}),ErrorBoundary:Rw})),React.createElement(Ow,null),React.createElement(kS,{menuComponent:n,menuItemComponent:r,size:d,by:y,optionsArray:p,trigger:b,autoSpace:P}),React.createElement(jw,{onChange:function(e,t){\"function\"==typeof c&&c(e,t)},ignoreSelectionChange:!0}),t&&React.createElement(Aw,{editorRef:t}),m&&React.createElement(Qh,null)))},OS=(0,a.forwardRef)(PS);OS.displayName=\"EditorInput\";var NS=OS;const TS=ke(\"Plus\",[[\"path\",{d:\"M5 12h14\",key:\"1ays0h\"}],[\"path\",{d:\"M12 5v14\",key:\"s699le\"}]]);var MS=function(e,t){return oe(\"rounded-full text-brand-primary-600 transition-colors duration-300\",e[t].dot,e[t].ring)},RS=[\"variant\",\"size\",\"type\",\"currentStep\",\"children\",\"className\",\"lineProps\"],DS=[\"labelText\",\"icon\",\"stepClasses\",\"isCurrent\",\"isCompleted\",\"className\",\"type\",\"variant\",\"sizeClasses\",\"size\",\"isLast\",\"index\",\"lineProps\"];function jS(){return jS=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:size-4\",md:\"[&>svg]:size-5\"})||void 0===n?void 0:n[w],E=function(){y(!g),f&&f(!g)};return l().createElement(\"div\",null,l().createElement(\"div\",{role:\"button\",tabIndex:\"0\",onClick:E,onKeyDown:function(e){\"Enter\"!==e.key&&\" \"!==e.key||E()},onMouseEnter:function(){return c&&x(!0)},onMouseLeave:function(){return c&&x(!1)},className:oe(\"text-text-primary bg-transparent cursor-pointer flex justify-between items-center gap-1\",S,r?\"p-1\":\"p-0\",h),\"aria-expanded\":g},l().createElement(\"span\",{className:\"text-text-tertiary\"},r),i&&l().createElement(em.span,{variants:{open:{rotate:180},closed:{rotate:0}},animate:g?\"open\":\"closed\",transition:{duration:.15},className:oe(\"flex items-center text-border-strong\",k)},l().createElement(em.div,{initial:\"hidden\",animate:g||b?\"visible\":\"hidden\",exit:\"hidden\",variants:{visible:{opacity:1},hidden:{opacity:0}},transition:{duration:.15}},l().createElement(cm,null)))),l().createElement(oh,{initial:!1},g&&l().createElement(em.ul,{variants:{open:{height:\"auto\",opacity:1},closed:{height:0,opacity:0}},initial:\"closed\",animate:\"open\",exit:\"closed\",transition:{duration:.3,ease:\"easeInOut\"},className:\"overflow flex gap-0.5 flex-col m-0 bg-white rounded p-0\"},m)))};qS.displayName=\"Menu.List\";var GS=function(e){var t,n=e.disabled,r=void 0!==n&&n,o=e.active,i=e.onClick,s=e.children,a=e.className,c=HS().size,u=null===(t={sm:\"[&>svg]:size-4 [&>svg]:m-1 [&>*:not(svg)]:mx-1 [&>*:not(svg)]:my-0.5 text-sm\",md:\"[&>svg]:size-5 [&>svg]:m-1.5 [&>*:not(svg)]:m-1 text-base\"})||void 0===t?void 0:t[c],d=r?\"text-text-disabled hover:text-text-disabled cursor-not-allowed hover:bg-transparent\":\"\",f=o?\"text-icon-primary [&>svg]:text-icon-interactive bg-background-secondary\":\"\";return l().createElement(\"li\",{role:\"menuitem\",tabIndex:\"0\",onClick:i,onKeyDown:function(e){\"Enter\"!==e.key&&\" \"!==e.key||i()},className:oe(\"flex p-1 gap-1 items-center bg-transparent border-none rounded text-text-secondary cursor-pointer m-0\",u,\"hover:bg-background-secondary hover:text-text-primary\",d,f,\"transition-colors duration-300 ease-in-out\",a)},s)};GS.displayName=\"Menu.Item\";var XS=function(e){var t,n=e.variant,r=void 0===n?\"solid\":n,o=e.className,i=null===(t={solid:\"border-solid\",dashed:\"border-dashed\",dotted:\"border-dotted\",double:\"border-double\",hidden:\"border-hidden\",none:\"border-none\"})||void 0===t?void 0:t[r];return l().createElement(l().Fragment,null,l().createElement(\"hr\",{className:oe(\"w-full border-0 border-t border-border-subtle\",i,o)}))};XS.displayName=\"Menu.Separator\";var ZS=Object.assign(KS,{List:qS,Item:GS,Separator:XS});const JS=ke(\"PanelLeftOpen\",[[\"rect\",{width:\"18\",height:\"18\",x:\"3\",y:\"3\",rx:\"2\",key:\"afitv7\"}],[\"path\",{d:\"M9 3v18\",key:\"fh3hqa\"}],[\"path\",{d:\"m14 9 3 3-3 3\",key:\"8010ee\"}]]),QS=ke(\"PanelLeftClose\",[[\"rect\",{width:\"18\",height:\"18\",x:\"3\",y:\"3\",rx:\"2\",key:\"afitv7\"}],[\"path\",{d:\"M9 3v18\",key:\"fh3hqa\"}],[\"path\",{d:\"m16 15-3-3 3-3\",key:\"14y99z\"}]]);var ek=[\"children\",\"className\",\"onCollapseChange\",\"collapsible\",\"screenHeight\",\"borderOn\"];function tk(){return tk=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:block h-full\",n)},t)};tE.displayName=\"Topbar.Item\";var nE=Object.assign(Zk,{Left:Jk,Middle:Qk,Right:eE,Item:tE}),rE={sm:\"text-xs [&>svg]:size-4 rounded\",md:\"text-sm [&>svg]:size-5 rounded-md\",lg:\"text-base [&>svg]:size-6 rounded-md\"},oE={input:{sm:\"py-1.5 px-2 rounded\",md:\"p-2.5 rounded-md\",lg:\"p-3 rounded-md\"},content:{sm:\"p-1.5\",md:\"p-1.5\",lg:\"p-2\"},title:{sm:\"p-2 text-xs\",md:\"p-2 text-sm\",lg:\"p-2 text-sm\"},item:{sm:\"text-sm text-text-secondary rounded\",md:\"text-base text-text-secondary rounded-md\",lg:\"text-base text-text-secondary rounded-md\"},icon:{sm:\"p-1 text-sm [&>svg]:size-4 text-icon-secondary\",md:\"p-2 text-base [&>svg]:size-5 text-icon-secondary\",lg:\"p-2 text-base [&>svg]:size-5 text-icon-secondary\"},dialog:{sm:\"mt-1 rounded-md\",md:\"mt-1.5 rounded-lg\",lg:\"mt-1.5 rounded-lg\"},slashIcon:{sm:\"px-2 py-0.5\",md:\"px-3 py-1\",lg:\"px-3.5 py-1\"}},iE={primary:\"bg-field-primary-background outline outline-1 outline-field-border hover:outline-border-strong\",secondary:\"bg-field-secondary-background outline outline-1 outline-field-border hover:outline-border-strong\",ghost:\"bg-field-secondary-background outline outline-1 outline-transparent\"},sE={ghost:\"cursor-not-allowed text-text-disabled placeholder:text-text-disabled\",primary:\"border-border-disabled hover:border-border-disabled bg-field-background-disabled cursor-not-allowed text-text-disabled placeholder:text-text-disabled\",secondary:\"border-border-disabled hover:border-border-disabled cursor-not-allowed text-text-disabled placeholder:text-text-disabled\"};function aE(e){return aE=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},aE(e)}var lE=[\"className\",\"size\",\"open\",\"onOpenChange\",\"loading\"],cE=[\"className\",\"type\",\"placeholder\",\"variant\",\"disabled\",\"onChange\"],uE=[\"className\",\"dropdownPortalRoot\",\"dropdownPortalId\",\"children\"],dE=[\"className\",\"icon\",\"children\"],fE=[\"className\"];function mE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function hE(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0?(0,a.cloneElement)(e,{children:t}):null}return e})).filter(Boolean);return s?React.createElement(NE,null):React.createElement(\"div\",null,l.some((function(e){return e.type!==TE}))?l:React.createElement(_E,null))};CE.displayName=\"SearchBox.List\";var _E=function(e){var t=e.children,n=void 0===t?\"No results found.\":t,r=wE().size;return React.createElement(\"div\",{className:oe(\"flex justify-center items-center\",oE.item[r],\"text-text-tertiary p-4\")},n)};_E.displayName=\"SearchBox.Empty\";var PE=function(e){var t=e.heading,n=e.children,r=wE().size;return React.createElement(\"div\",{className:oe(oE.content[r],oE.item[r])},t&&React.createElement(\"div\",{className:oe(oE.title[r],\"text-text-secondary\")},t),n)};PE.displayName=\"SearchBox.Group\";var OE=(0,a.forwardRef)((function(e,t){var n=e.className,r=e.icon,o=e.children,i=bE(e,dE),s=wE().size;return React.createElement(\"div\",gE({ref:t,className:oe(\"flex items-center justify-start gap-1 p-1 hover:bg-background-secondary focus:bg-background-secondary cursor-pointer\",oE.item[s])},i),r&&React.createElement(\"span\",{className:oe(oE.icon[s],\"flex items-center justify-center\")},r),React.createElement(\"span\",{className:oe(\"flex-grow p-1 font-normal cursor-pointer\",oE.item[s],n)},o))}));OE.displayName=\"SearchBox.Item\";var NE=function(e){var t=e.loadingIcon,n=void 0===t?React.createElement(bi,null):t,r=wE().size,o=(0,a.cloneElement)(n,{size:r});return React.createElement(\"div\",{className:oe(\"flex justify-center p-4\",rE[r],oE.item[r])},o)};NE.displayName=\"SearchBox.Loading\";var TE=(0,a.forwardRef)((function(e,t){var n=e.className,r=bE(e,fE);return React.createElement(\"hr\",gE({ref:t,className:oe(\"border-0 border-t border-border-subtle border-solid m-0\",n)},r))}));TE.displayName=\"SearchBox.Separator\",SE.Input=kE,SE.Loading=NE,SE.Separator=TE,SE.Content=EE,SE.List=CE,SE.Empty=_E,SE.Group=PE,SE.Item=OE;var ME=SE;function RE(e){return RE=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},RE(e)}var DE=[\"children\",\"className\"],jE=[\"children\"],AE=[\"children\",\"as\"];function IE(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;re.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n{n.focused&&o.current?.focus()}),[n.focused]),a.createElement(\"button\",{ref:o,...r})}function t_(e){const{options:t,className:n,components:r,classNames:o,...i}=e,s=[o[HC.Dropdown],n].join(\" \"),l=t?.find((({value:e})=>e===i.value));return a.createElement(\"span\",{\"data-disabled\":i.disabled,className:o[HC.DropdownRoot]},a.createElement(r.Select,{className:s,...i},t?.map((({value:e,label:t,disabled:n})=>a.createElement(r.Option,{key:e,value:e,disabled:n},t)))),a.createElement(\"span\",{className:o[HC.CaptionLabel],\"aria-hidden\":!0},l?.label,a.createElement(r.Chevron,{orientation:\"down\",size:18,className:o[HC.Chevron]})))}function n_(e){return a.createElement(\"div\",{...e})}function r_(e){return a.createElement(\"div\",{...e})}function o_(e){const{calendarMonth:t,displayIndex:n,...r}=e;return a.createElement(\"div\",{...r},e.children)}function i_(e){const{calendarMonth:t,displayIndex:n,...r}=e;return a.createElement(\"div\",{...r})}function s_(e){return a.createElement(\"table\",{...e})}function a_(e){return a.createElement(\"div\",{...e})}!function(e){e.Root=\"root\",e.Chevron=\"chevron\",e.Day=\"day\",e.DayButton=\"day_button\",e.CaptionLabel=\"caption_label\",e.Dropdowns=\"dropdowns\",e.Dropdown=\"dropdown\",e.DropdownRoot=\"dropdown_root\",e.Footer=\"footer\",e.MonthGrid=\"month_grid\",e.MonthCaption=\"month_caption\",e.MonthsDropdown=\"months_dropdown\",e.Month=\"month\",e.Months=\"months\",e.Nav=\"nav\",e.NextMonthButton=\"button_next\",e.PreviousMonthButton=\"button_previous\",e.Week=\"week\",e.Weeks=\"weeks\",e.Weekday=\"weekday\",e.Weekdays=\"weekdays\",e.WeekNumber=\"week_number\",e.WeekNumberHeader=\"week_number_header\",e.YearsDropdown=\"years_dropdown\"}(HC||(HC={})),function(e){e.disabled=\"disabled\",e.hidden=\"hidden\",e.outside=\"outside\",e.focused=\"focused\",e.today=\"today\"}(KC||(KC={})),function(e){e.range_end=\"range_end\",e.range_middle=\"range_middle\",e.range_start=\"range_start\",e.selected=\"selected\"}(qC||(qC={}));const l_=(0,a.createContext)(void 0);function c_(){const e=(0,a.useContext)(l_);if(void 0===e)throw new Error(\"useDayPicker() must be used within a custom component.\");return e}function u_(e){const{components:t}=c_();return a.createElement(t.Dropdown,{...e})}function d_(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:o,...i}=e,{components:s,classNames:l,labels:{labelPrevious:c,labelNext:u}}=c_();return a.createElement(\"nav\",{...i},a.createElement(s.PreviousMonthButton,{type:\"button\",className:l[HC.PreviousMonthButton],tabIndex:r?void 0:-1,disabled:!r||void 0,\"aria-label\":c(r),onClick:e.onPreviousClick},a.createElement(s.Chevron,{disabled:!r||void 0,className:l[HC.Chevron],orientation:\"left\"})),a.createElement(s.NextMonthButton,{type:\"button\",className:l[HC.NextMonthButton],tabIndex:o?void 0:-1,disabled:!o||void 0,\"aria-label\":u(o),onClick:e.onNextClick},a.createElement(s.Chevron,{disabled:!o||void 0,orientation:\"right\",className:l[HC.Chevron]})))}function f_(e){const{components:t}=c_();return a.createElement(t.Button,{...e})}function m_(e){return a.createElement(\"option\",{...e})}function h_(e){const{components:t}=c_();return a.createElement(t.Button,{...e})}function p_(e){return a.createElement(\"div\",{...e})}function g_(e){return a.createElement(\"select\",{...e})}function y_(e){const{week:t,...n}=e;return a.createElement(\"tr\",{...n})}function v_(e){return a.createElement(\"th\",{...e})}function b_(e){return a.createElement(\"thead\",null,a.createElement(\"tr\",{...e}))}function x_(e){const{week:t,...n}=e;return a.createElement(\"th\",{...n})}function w_(e){return a.createElement(\"th\",{...e})}function S_(e){return a.createElement(\"tbody\",{...e})}function k_(e){const{components:t}=c_();return a.createElement(t.Dropdown,{...e})}Math.pow(10,8);const E_=6048e5,C_=864e5,P_=Symbol.for(\"constructDateFrom\");function O_(e,t){return\"function\"==typeof e?e(t):e&&\"object\"==typeof e&&P_ in e?e[P_](t):e instanceof Date?new e.constructor(t):new Date(t)}function N_(e,t){return O_(t||e,e)}function T_(e,t,n){const r=N_(e,n?.in);return isNaN(t)?O_(n?.in||e,NaN):t?(r.setDate(r.getDate()+t),r):r}function M_(e,t,n){const r=N_(e,n?.in);if(isNaN(t))return O_(n?.in||e,NaN);if(!t)return r;const o=r.getDate(),i=O_(n?.in||e,r.getTime());return i.setMonth(r.getMonth()+t+1,0),o>=i.getDate()?i:(r.setFullYear(i.getFullYear(),i.getMonth(),o),r)}function R_(e,t,n){return T_(e,7*t,n)}function D_(e){const t=N_(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function j_(e,...t){const n=O_.bind(null,e||t.find((e=>\"object\"==typeof e)));return t.map(n)}function A_(e,t){const n=N_(e,t?.in);return n.setHours(0,0,0,0),n}function I_(e,t,n){const[r,o]=j_(n?.in,e,t),i=A_(r),s=A_(o),a=+i-D_(i),l=+s-D_(s);return Math.round((a-l)/C_)}let L_={};function F_(){return L_}function z_(e,t){const n=F_(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=N_(e,t?.in),i=o.getDay(),s=6+(i{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const U_={date:V_({formats:{full:\"EEEE, MMMM do, y\",long:\"MMMM do, y\",medium:\"MMM d, y\",short:\"MM/dd/yyyy\"},defaultWidth:\"full\"}),time:V_({formats:{full:\"h:mm:ss a zzzz\",long:\"h:mm:ss a z\",medium:\"h:mm:ss a\",short:\"h:mm a\"},defaultWidth:\"full\"}),dateTime:V_({formats:{full:\"{{date}} 'at' {{time}}\",long:\"{{date}} 'at' {{time}}\",medium:\"{{date}}, {{time}}\",short:\"{{date}}, {{time}}\"},defaultWidth:\"full\"})},$_={lastWeek:\"'last' eeee 'at' p\",yesterday:\"'yesterday at' p\",today:\"'today at' p\",tomorrow:\"'tomorrow at' p\",nextWeek:\"eeee 'at' p\",other:\"P\"};function Y_(e){return(t,n)=>{let r;if(\"formatting\"===(n?.context?String(n.context):\"standalone\")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,o=n?.width?String(n.width):t;r=e.formattingValues[o]||e.formattingValues[t]}else{const t=e.defaultWidth,o=n?.width?String(n.width):e.defaultWidth;r=e.values[o]||e.values[t]}return r[e.argumentCallback?e.argumentCallback(t):t]}}const H_={ordinalNumber:(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+\"st\";case 2:return n+\"nd\";case 3:return n+\"rd\"}return n+\"th\"},era:Y_({values:{narrow:[\"B\",\"A\"],abbreviated:[\"BC\",\"AD\"],wide:[\"Before Christ\",\"Anno Domini\"]},defaultWidth:\"wide\"}),quarter:Y_({values:{narrow:[\"1\",\"2\",\"3\",\"4\"],abbreviated:[\"Q1\",\"Q2\",\"Q3\",\"Q4\"],wide:[\"1st quarter\",\"2nd quarter\",\"3rd quarter\",\"4th quarter\"]},defaultWidth:\"wide\",argumentCallback:e=>e-1}),month:Y_({values:{narrow:[\"J\",\"F\",\"M\",\"A\",\"M\",\"J\",\"J\",\"A\",\"S\",\"O\",\"N\",\"D\"],abbreviated:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],wide:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"]},defaultWidth:\"wide\"}),day:Y_({values:{narrow:[\"S\",\"M\",\"T\",\"W\",\"T\",\"F\",\"S\"],short:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],abbreviated:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],wide:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"]},defaultWidth:\"wide\"}),dayPeriod:Y_({values:{narrow:{am:\"a\",pm:\"p\",midnight:\"mi\",noon:\"n\",morning:\"morning\",afternoon:\"afternoon\",evening:\"evening\",night:\"night\"},abbreviated:{am:\"AM\",pm:\"PM\",midnight:\"midnight\",noon:\"noon\",morning:\"morning\",afternoon:\"afternoon\",evening:\"evening\",night:\"night\"},wide:{am:\"a.m.\",pm:\"p.m.\",midnight:\"midnight\",noon:\"noon\",morning:\"morning\",afternoon:\"afternoon\",evening:\"evening\",night:\"night\"}},defaultWidth:\"wide\",formattingValues:{narrow:{am:\"a\",pm:\"p\",midnight:\"mi\",noon:\"n\",morning:\"in the morning\",afternoon:\"in the afternoon\",evening:\"in the evening\",night:\"at night\"},abbreviated:{am:\"AM\",pm:\"PM\",midnight:\"midnight\",noon:\"noon\",morning:\"in the morning\",afternoon:\"in the afternoon\",evening:\"in the evening\",night:\"at night\"},wide:{am:\"a.m.\",pm:\"p.m.\",midnight:\"midnight\",noon:\"noon\",morning:\"in the morning\",afternoon:\"in the afternoon\",evening:\"in the evening\",night:\"at night\"}},defaultFormattingWidth:\"wide\"})};function K_(e){return(t,n={})=>{const r=n.width,o=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],i=t.match(o);if(!i)return null;const s=i[0],a=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(a)?function(e){for(let t=0;tparseInt(e,10)},(e,t={})=>{const n=e.match(G_.matchPattern);if(!n)return null;const r=n[0],o=e.match(G_.parsePattern);if(!o)return null;let i=G_.valueCallback?G_.valueCallback(o[0]):o[0];return i=t.valueCallback?t.valueCallback(i):i,{value:i,rest:e.slice(r.length)}}),era:K_({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:\"wide\",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:\"any\"}),quarter:K_({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:\"wide\",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:\"any\",valueCallback:e=>e+1}),month:K_({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:\"wide\",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:\"any\"}),day:K_({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:\"wide\",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:\"any\"}),dayPeriod:K_({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:\"any\",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:\"any\"})};var G_;const X_={code:\"en-US\",formatDistance:(e,t,n)=>{let r;const o=W_[e];return r=\"string\"==typeof o?o:1===t?o.one:o.other.replace(\"{{count}}\",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?\"in \"+r:r+\" ago\":r},formatLong:U_,formatRelative:(e,t,n,r)=>$_[e],localize:H_,match:q_,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Z_(e,t){const n=N_(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function J_(e,t){const n=F_(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=N_(e,t?.in),i=o.getDay(),s=(i=i.getTime()?r+1:n.getTime()>=a.getTime()?r:r-1}function tP(e,t){const n=N_(e,t?.in),r=+Q_(n)-+function(e,t){const n=eP(e,t),r=O_(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Q_(r)}(n);return Math.round(r/E_)+1}function nP(e,t){const n=N_(e,t?.in),r=n.getFullYear(),o=F_(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,s=O_(t?.in||e,0);s.setFullYear(r+1,0,i),s.setHours(0,0,0,0);const a=J_(s,t),l=O_(t?.in||e,0);l.setFullYear(r,0,i),l.setHours(0,0,0,0);const c=J_(l,t);return+n>=+a?r+1:+n>=+c?r:r-1}function rP(e,t){const n=N_(e,t?.in),r=+J_(n,t)-+function(e,t){const n=F_(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,o=nP(e,t),i=O_(t?.in||e,0);return i.setFullYear(o,0,r),i.setHours(0,0,0,0),J_(i,t)}(n,t);return Math.round(r/E_)+1}function oP(e,t){return(e<0?\"-\":\"\")+Math.abs(e).toString().padStart(t,\"0\")}const iP={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return oP(\"yy\"===t?r%100:r,t.length)},M(e,t){const n=e.getMonth();return\"M\"===t?String(n+1):oP(n+1,2)},d(e,t){return oP(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?\"pm\":\"am\";switch(t){case\"a\":case\"aa\":return n.toUpperCase();case\"aaa\":return n;case\"aaaaa\":return n[0];default:return\"am\"===n?\"a.m.\":\"p.m.\"}},h(e,t){return oP(e.getHours()%12||12,t.length)},H(e,t){return oP(e.getHours(),t.length)},m(e,t){return oP(e.getMinutes(),t.length)},s(e,t){return oP(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds();return oP(Math.trunc(r*Math.pow(10,n-3)),t.length)}},sP={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case\"G\":case\"GG\":case\"GGG\":return n.era(r,{width:\"abbreviated\"});case\"GGGGG\":return n.era(r,{width:\"narrow\"});default:return n.era(r,{width:\"wide\"})}},y:function(e,t,n){if(\"yo\"===t){const t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:\"year\"})}return iP.y(e,t)},Y:function(e,t,n,r){const o=nP(e,r),i=o>0?o:1-o;return\"YY\"===t?oP(i%100,2):\"Yo\"===t?n.ordinalNumber(i,{unit:\"year\"}):oP(i,t.length)},R:function(e,t){return oP(eP(e),t.length)},u:function(e,t){return oP(e.getFullYear(),t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case\"Q\":return String(r);case\"QQ\":return oP(r,2);case\"Qo\":return n.ordinalNumber(r,{unit:\"quarter\"});case\"QQQ\":return n.quarter(r,{width:\"abbreviated\",context:\"formatting\"});case\"QQQQQ\":return n.quarter(r,{width:\"narrow\",context:\"formatting\"});default:return n.quarter(r,{width:\"wide\",context:\"formatting\"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case\"q\":return String(r);case\"qq\":return oP(r,2);case\"qo\":return n.ordinalNumber(r,{unit:\"quarter\"});case\"qqq\":return n.quarter(r,{width:\"abbreviated\",context:\"standalone\"});case\"qqqqq\":return n.quarter(r,{width:\"narrow\",context:\"standalone\"});default:return n.quarter(r,{width:\"wide\",context:\"standalone\"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case\"M\":case\"MM\":return iP.M(e,t);case\"Mo\":return n.ordinalNumber(r+1,{unit:\"month\"});case\"MMM\":return n.month(r,{width:\"abbreviated\",context:\"formatting\"});case\"MMMMM\":return n.month(r,{width:\"narrow\",context:\"formatting\"});default:return n.month(r,{width:\"wide\",context:\"formatting\"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case\"L\":return String(r+1);case\"LL\":return oP(r+1,2);case\"Lo\":return n.ordinalNumber(r+1,{unit:\"month\"});case\"LLL\":return n.month(r,{width:\"abbreviated\",context:\"standalone\"});case\"LLLLL\":return n.month(r,{width:\"narrow\",context:\"standalone\"});default:return n.month(r,{width:\"wide\",context:\"standalone\"})}},w:function(e,t,n,r){const o=rP(e,r);return\"wo\"===t?n.ordinalNumber(o,{unit:\"week\"}):oP(o,t.length)},I:function(e,t,n){const r=tP(e);return\"Io\"===t?n.ordinalNumber(r,{unit:\"week\"}):oP(r,t.length)},d:function(e,t,n){return\"do\"===t?n.ordinalNumber(e.getDate(),{unit:\"date\"}):iP.d(e,t)},D:function(e,t,n){const r=function(e,t){const n=N_(e,t?.in);return I_(n,Z_(n))+1}(e);return\"Do\"===t?n.ordinalNumber(r,{unit:\"dayOfYear\"}):oP(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case\"E\":case\"EE\":case\"EEE\":return n.day(r,{width:\"abbreviated\",context:\"formatting\"});case\"EEEEE\":return n.day(r,{width:\"narrow\",context:\"formatting\"});case\"EEEEEE\":return n.day(r,{width:\"short\",context:\"formatting\"});default:return n.day(r,{width:\"wide\",context:\"formatting\"})}},e:function(e,t,n,r){const o=e.getDay(),i=(o-r.weekStartsOn+8)%7||7;switch(t){case\"e\":return String(i);case\"ee\":return oP(i,2);case\"eo\":return n.ordinalNumber(i,{unit:\"day\"});case\"eee\":return n.day(o,{width:\"abbreviated\",context:\"formatting\"});case\"eeeee\":return n.day(o,{width:\"narrow\",context:\"formatting\"});case\"eeeeee\":return n.day(o,{width:\"short\",context:\"formatting\"});default:return n.day(o,{width:\"wide\",context:\"formatting\"})}},c:function(e,t,n,r){const o=e.getDay(),i=(o-r.weekStartsOn+8)%7||7;switch(t){case\"c\":return String(i);case\"cc\":return oP(i,t.length);case\"co\":return n.ordinalNumber(i,{unit:\"day\"});case\"ccc\":return n.day(o,{width:\"abbreviated\",context:\"standalone\"});case\"ccccc\":return n.day(o,{width:\"narrow\",context:\"standalone\"});case\"cccccc\":return n.day(o,{width:\"short\",context:\"standalone\"});default:return n.day(o,{width:\"wide\",context:\"standalone\"})}},i:function(e,t,n){const r=e.getDay(),o=0===r?7:r;switch(t){case\"i\":return String(o);case\"ii\":return oP(o,t.length);case\"io\":return n.ordinalNumber(o,{unit:\"day\"});case\"iii\":return n.day(r,{width:\"abbreviated\",context:\"formatting\"});case\"iiiii\":return n.day(r,{width:\"narrow\",context:\"formatting\"});case\"iiiiii\":return n.day(r,{width:\"short\",context:\"formatting\"});default:return n.day(r,{width:\"wide\",context:\"formatting\"})}},a:function(e,t,n){const r=e.getHours()/12>=1?\"pm\":\"am\";switch(t){case\"a\":case\"aa\":return n.dayPeriod(r,{width:\"abbreviated\",context:\"formatting\"});case\"aaa\":return n.dayPeriod(r,{width:\"abbreviated\",context:\"formatting\"}).toLowerCase();case\"aaaaa\":return n.dayPeriod(r,{width:\"narrow\",context:\"formatting\"});default:return n.dayPeriod(r,{width:\"wide\",context:\"formatting\"})}},b:function(e,t,n){const r=e.getHours();let o;switch(o=12===r?\"noon\":0===r?\"midnight\":r/12>=1?\"pm\":\"am\",t){case\"b\":case\"bb\":return n.dayPeriod(o,{width:\"abbreviated\",context:\"formatting\"});case\"bbb\":return n.dayPeriod(o,{width:\"abbreviated\",context:\"formatting\"}).toLowerCase();case\"bbbbb\":return n.dayPeriod(o,{width:\"narrow\",context:\"formatting\"});default:return n.dayPeriod(o,{width:\"wide\",context:\"formatting\"})}},B:function(e,t,n){const r=e.getHours();let o;switch(o=r>=17?\"evening\":r>=12?\"afternoon\":r>=4?\"morning\":\"night\",t){case\"B\":case\"BB\":case\"BBB\":return n.dayPeriod(o,{width:\"abbreviated\",context:\"formatting\"});case\"BBBBB\":return n.dayPeriod(o,{width:\"narrow\",context:\"formatting\"});default:return n.dayPeriod(o,{width:\"wide\",context:\"formatting\"})}},h:function(e,t,n){if(\"ho\"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:\"hour\"})}return iP.h(e,t)},H:function(e,t,n){return\"Ho\"===t?n.ordinalNumber(e.getHours(),{unit:\"hour\"}):iP.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return\"Ko\"===t?n.ordinalNumber(r,{unit:\"hour\"}):oP(r,t.length)},k:function(e,t,n){let r=e.getHours();return 0===r&&(r=24),\"ko\"===t?n.ordinalNumber(r,{unit:\"hour\"}):oP(r,t.length)},m:function(e,t,n){return\"mo\"===t?n.ordinalNumber(e.getMinutes(),{unit:\"minute\"}):iP.m(e,t)},s:function(e,t,n){return\"so\"===t?n.ordinalNumber(e.getSeconds(),{unit:\"second\"}):iP.s(e,t)},S:function(e,t){return iP.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(0===r)return\"Z\";switch(t){case\"X\":return lP(r);case\"XXXX\":case\"XX\":return cP(r);default:return cP(r,\":\")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case\"x\":return lP(r);case\"xxxx\":case\"xx\":return cP(r);default:return cP(r,\":\")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case\"O\":case\"OO\":case\"OOO\":return\"GMT\"+aP(r,\":\");default:return\"GMT\"+cP(r,\":\")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case\"z\":case\"zz\":case\"zzz\":return\"GMT\"+aP(r,\":\");default:return\"GMT\"+cP(r,\":\")}},t:function(e,t,n){return oP(Math.trunc(+e/1e3),t.length)},T:function(e,t,n){return oP(+e,t.length)}};function aP(e,t=\"\"){const n=e>0?\"-\":\"+\",r=Math.abs(e),o=Math.trunc(r/60),i=r%60;return 0===i?n+String(o):n+String(o)+t+oP(i,2)}function lP(e,t){return e%60==0?(e>0?\"-\":\"+\")+oP(Math.abs(e)/60,2):cP(e,t)}function cP(e,t=\"\"){const n=e>0?\"-\":\"+\",r=Math.abs(e);return n+oP(Math.trunc(r/60),2)+t+oP(r%60,2)}const uP=(e,t)=>{switch(e){case\"P\":return t.date({width:\"short\"});case\"PP\":return t.date({width:\"medium\"});case\"PPP\":return t.date({width:\"long\"});default:return t.date({width:\"full\"})}},dP=(e,t)=>{switch(e){case\"p\":return t.time({width:\"short\"});case\"pp\":return t.time({width:\"medium\"});case\"ppp\":return t.time({width:\"long\"});default:return t.time({width:\"full\"})}},fP={p:dP,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],o=n[2];if(!o)return uP(e,t);let i;switch(r){case\"P\":i=t.dateTime({width:\"short\"});break;case\"PP\":i=t.dateTime({width:\"medium\"});break;case\"PPP\":i=t.dateTime({width:\"long\"});break;default:i=t.dateTime({width:\"full\"})}return i.replace(\"{{date}}\",uP(r,t)).replace(\"{{time}}\",dP(o,t))}},mP=/^D+$/,hP=/^Y+$/,pP=[\"D\",\"DD\",\"YY\",\"YYYY\"];function gP(e){return e instanceof Date||\"object\"==typeof e&&\"[object Date]\"===Object.prototype.toString.call(e)}const yP=/[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g,vP=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,bP=/^'([^]*?)'?$/,xP=/''/g,wP=/[a-zA-Z]/;function SP(e,t,n){const r=F_(),o=n?.locale??r.locale??X_,i=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,s=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,a=N_(e,n?.in);if(!function(e){return!(!gP(e)&&\"number\"!=typeof e||isNaN(+N_(e)))}(a))throw new RangeError(\"Invalid time value\");let l=t.match(vP).map((e=>{const t=e[0];return\"p\"===t||\"P\"===t?(0,fP[t])(e,o.formatLong):e})).join(\"\").match(yP).map((e=>{if(\"''\"===e)return{isToken:!1,value:\"'\"};const t=e[0];if(\"'\"===t)return{isToken:!1,value:kP(e)};if(sP[t])return{isToken:!0,value:e};if(t.match(wP))throw new RangeError(\"Format string contains an unescaped latin alphabet character `\"+t+\"`\");return{isToken:!1,value:e}}));o.localize.preprocessor&&(l=o.localize.preprocessor(a,l));const c={firstWeekContainsDate:i,weekStartsOn:s,locale:o};return l.map((r=>{if(!r.isToken)return r.value;const i=r.value;return(!n?.useAdditionalWeekYearTokens&&function(e){return hP.test(e)}(i)||!n?.useAdditionalDayOfYearTokens&&function(e){return mP.test(e)}(i))&&function(e,t,n){const r=function(e,t,n){const r=\"Y\"===e[0]?\"years\":\"days of the month\";return`Use \\`${e.toLowerCase()}\\` instead of \\`${e}\\` (in \\`${t}\\`) for formatting ${r} to the input \\`${n}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(r),pP.includes(e))throw new RangeError(r)}(i,t,String(e)),(0,sP[i[0]])(a,i,o.localize,c)})).join(\"\")}function kP(e){const t=e.match(bP);return t?t[1].replace(xP,\"'\"):e}function EP(e,t){const n=N_(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}const CP={addDays:T_,addMonths:M_,addWeeks:R_,addYears:function(e,t,n){return M_(e,12*t,n)},differenceInCalendarDays:I_,differenceInCalendarMonths:function(e,t,n){const[r,o]=j_(n?.in,e,t);return 12*(r.getFullYear()-o.getFullYear())+(r.getMonth()-o.getMonth())},endOfISOWeek:function(e,t){return z_(e,{...t,weekStartsOn:1})},endOfMonth:B_,endOfWeek:z_,endOfYear:function(e,t){const n=N_(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n},format:SP,getISOWeek:tP,getWeek:rP,isAfter:function(e,t){return+N_(e)>+N_(t)},isBefore:function(e,t){return+N_(e)<+N_(t)},isDate:gP,isSameDay:function(e,t,n){const[r,o]=j_(n?.in,e,t);return+A_(r)==+A_(o)},isSameMonth:function(e,t,n){const[r,o]=j_(n?.in,e,t);return r.getFullYear()===o.getFullYear()&&r.getMonth()===o.getMonth()},isSameYear:function(e,t,n){const[r,o]=j_(n?.in,e,t);return r.getFullYear()===o.getFullYear()},max:function(e,t){let n,r=t?.in;return e.forEach((e=>{r||\"object\"!=typeof e||(r=O_.bind(null,e));const t=N_(e,r);(!n||n{r||\"object\"!=typeof e||(r=O_.bind(null,e));const t=N_(e,r);(!n||n>t||isNaN(+t))&&(n=t)})),O_(r,n||NaN)},setMonth:function(e,t,n){const r=N_(e,n?.in),o=r.getFullYear(),i=r.getDate(),s=O_(n?.in||e,0);s.setFullYear(o,t,15),s.setHours(0,0,0,0);const a=function(e,t){const n=N_(e,t?.in),r=n.getFullYear(),o=n.getMonth(),i=O_(n,0);return i.setFullYear(r,o+1,0),i.setHours(0,0,0,0),i.getDate()}(s);return r.setMonth(t,Math.min(i,a)),r},setYear:function(e,t,n){const r=N_(e,n?.in);return isNaN(+r)?O_(n?.in||e,NaN):(r.setFullYear(t),r)},startOfDay:A_,startOfISOWeek:Q_,startOfMonth:EP,startOfWeek:J_,startOfYear:Z_};function _P(){const e={};for(const t in HC)e[HC[t]]=`rdp-${HC[t]}`;for(const t in KC)e[KC[t]]=`rdp-${KC[t]}`;for(const t in qC)e[qC[t]]=`rdp-${qC[t]}`;return e}Symbol.for(\"constructDateFrom\");const PP={},OP={};function NP(e,t){try{const n=(PP[e]||=new Intl.DateTimeFormat(\"en-GB\",{timeZone:e,hour:\"numeric\",timeZoneName:\"longOffset\"}).format)(t).split(\"GMT\")[1]||\"\";return n in OP?OP[n]:MP(n,n.split(\":\"))}catch{if(e in OP)return OP[e];const t=e?.match(TP);return t?MP(e,t.slice(1)):NaN}}const TP=/([+-]\\d\\d):?(\\d\\d)?/;function MP(e,t){const n=+t[0],r=+(t[1]||0);return OP[e]=n>0?60*n+r:60*n-r}class RP extends Date{constructor(...e){super(),e.length>1&&\"string\"==typeof e[e.length-1]&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(NP(this.timeZone,this))?this.setTime(NaN):e.length?\"number\"==typeof e[0]&&(1===e.length||2===e.length&&\"number\"!=typeof e[1])?this.setTime(e[0]):\"string\"==typeof e[0]?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),AP(this)):this.setTime(Date.now()),jP(this)}static tz(e,...t){return t.length?new RP(...t,e):new RP(Date.now(),e)}withTimeZone(e){return new RP(+this,e)}getTimezoneOffset(){return-NP(this.timeZone,this)}[Symbol.for(\"constructDateFrom\")](e){return new RP(+new Date(e),this.timeZone)}}const DP=/^(get|set)(?!UTC)/;function jP(e){e.internal.setTime(+e),e.internal.setUTCMinutes(e.internal.getUTCMinutes()-e.getTimezoneOffset())}function AP(e){const t=NP(e.timeZone,e),n=new Date(+e);n.setUTCHours(n.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),o=r- -new Date(+n).getTimezoneOffset(),i=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();o&&i&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+o);const s=r-t;s&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+s);const a=NP(e.timeZone,e),l=-new Date(+e).getTimezoneOffset()-a-s;if(a!==t&&l){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+l);const t=a-NP(e.timeZone,e);t&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+t),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+t))}}Object.getOwnPropertyNames(Date.prototype).forEach((e=>{if(!DP.test(e))return;const t=e.replace(DP,\"$1UTC\");RP.prototype[t]&&(e.startsWith(\"get\")?RP.prototype[e]=function(){return this.internal[t]()}:(RP.prototype[e]=function(){var e;return Date.prototype[t].apply(this.internal,arguments),e=this,Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),AP(e),+this},RP.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),jP(this),+this}))}));class IP extends RP{static tz(e,...t){return t.length?new IP(...t,e):new IP(Date.now(),e)}toISOString(){const[e,t,n]=this.tzComponents(),r=`${e}${t}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[e,t,n,r]=this.internal.toUTCString().split(\" \");return`${e?.slice(0,-1)} ${n} ${t} ${r}`}toTimeString(){const e=this.internal.toUTCString().split(\" \")[4],[t,n,r]=this.tzComponents();return`${e} GMT${t}${n}${r} (${o=this.timeZone,i=this,new Intl.DateTimeFormat(\"en-GB\",{timeZone:o,timeZoneName:\"long\"}).format(i).slice(12)})`;var o,i}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){const e=this.getTimezoneOffset();return[e>0?\"-\":\"+\",String(Math.floor(Math.abs(e)/60)).padStart(2,\"0\"),String(Math.abs(e)%60).padStart(2,\"0\")]}withTimeZone(e){return new IP(+this,e)}[Symbol.for(\"constructDateFrom\")](e){return new IP(+new Date(e),this.timeZone)}}function LP(e,t,n=CP){return n.format(e,\"LLLL y\",t)}const FP=LP;function zP(e,t,n=CP){return n.format(e,\"d\",t)}function BP(e,t=X_){return t.localize?.month(e)}function WP(e){return e<10?`0${e.toLocaleString()}`:`${e.toLocaleString()}`}function VP(){return\"\"}function UP(e,t,n=CP){return n.format(e,\"cccccc\",t)}function $P(e){return e.toString()}const YP=$P;function HP(e,t,n=CP){return n.format(e,\"LLLL y\",t)}const KP=HP;function qP(e,t,n,r=CP){let o=r.format(e,\"PPPP\",n);return t?.today&&(o=`Today, ${o}`),o}function GP(e,t,n,r=CP){let o=r.format(e,\"PPPP\",n);return t.today&&(o=`Today, ${o}`),t.selected&&(o=`${o}, selected`),o}const XP=GP;function ZP(){return\"\"}function JP(e){return\"Choose the Month\"}function QP(e){return\"Go to the Next Month\"}function eO(e){return\"Go to the Previous Month\"}function tO(e,t,n=CP){return n.format(e,\"cccc\",t)}function nO(e,t){return`Week ${e}`}function rO(e){return\"Week Number\"}function oO(e){return\"Choose the Year\"}const iO=42;function sO(e,t){const{month:n,defaultMonth:r,today:o=(e.timeZone?IP.tz(e.timeZone):t.Date?new t.Date:new Date),numberOfMonths:i=1,endMonth:s,startMonth:a}=e;let l=n||r||o;const{differenceInCalendarMonths:c,addMonths:u,startOfMonth:d}=t;return s&&c(s,l)<0&&(l=u(s,-1*(i-1))),a&&c(l,a)<0&&(l=a),d(l)}class aO{constructor(e,t,n=CP){this.date=e,this.displayMonth=t,this.outside=Boolean(t&&!n.isSameMonth(e,t)),this.dateLib=n}isEqualTo(e){return this.dateLib.isSameDay(e.date,this.date)&&this.dateLib.isSameMonth(e.displayMonth,this.displayMonth)}}class lO{constructor(e,t){this.date=e,this.weeks=t}}class cO{constructor(e,t){this.days=t,this.weekNumber=e}}function uO(e,t){const[n,r]=(0,a.useState)(e);return[void 0===t?n:t,r]}function dO(e,t,n=!1,r=CP){let{from:o,to:i}=e;const{differenceInCalendarDays:s,isSameDay:a}=r;return o&&i?(s(i,o)<0&&([o,i]=[i,o]),s(t,o)>=(n?1:0)&&s(i,t)>=(n?1:0)):!n&&i?a(i,t):!(n||!o)&&a(o,t)}function fO(e){return Boolean(e&&\"object\"==typeof e&&\"from\"in e)}function mO(e,t,n=CP){const r=Array.isArray(t)?t:[t],{isSameDay:o,differenceInCalendarDays:i,isAfter:s}=n;return r.some((t=>{if(\"boolean\"==typeof t)return t;if(n.isDate(t))return o(e,t);if(function(e,t){return Array.isArray(e)&&e.every(t.isDate)}(t,n))return t.includes(e);if(fO(t))return dO(t,e,!1,n);if(r=t,Boolean(r&&\"object\"==typeof r&&\"dayOfWeek\"in r))return Array.isArray(t.dayOfWeek)?t.dayOfWeek.includes(e.getDay()):t.dayOfWeek===e.getDay();var r;if(function(e){return Boolean(e&&\"object\"==typeof e&&\"before\"in e&&\"after\"in e)}(t)){const n=i(t.before,e)>0,r=i(t.after,e)<0;return s(t.before,t.after)?r&&n:n||r}return function(e){return Boolean(e&&\"object\"==typeof e&&\"after\"in e)}(t)?i(e,t.after)>0:function(e){return Boolean(e&&\"object\"==typeof e&&\"before\"in e)}(t)?i(t.before,e)>0:\"function\"==typeof t&&t(e)}))}function hO(e,t,n,r,o,i,s,a=0){if(a>365)return;const l=function(e,t,n,r,o,i,s){const{weekStartsOn:a,locale:l,ISOWeek:c}=i,{addDays:u,addMonths:d,addYears:f,addWeeks:m,startOfISOWeek:h,endOfISOWeek:p,startOfWeek:g,endOfWeek:y,max:v,min:b}=s;let x={day:u,week:m,month:d,year:f,startOfWeek:e=>c?h(e):g(e,{locale:l,weekStartsOn:a}),endOfWeek:e=>c?p(e):y(e,{locale:l,weekStartsOn:a})}[e](n,\"after\"===t?1:-1);return\"before\"===t&&r?x=v([r,x]):\"after\"===t&&o&&(x=b([o,x])),x}(e,t,n.date,r,o,i,s),c=Boolean(i.disabled&&mO(l,i.disabled,s)),u=Boolean(i.hidden&&mO(l,i.hidden,s)),d=new aO(l,l,s);return c||u?hO(e,t,d,r,o,i,s,a+1):d}function pO(e,t,n,r,o){const{autoFocus:i}=e,[s,l]=(0,a.useState)(),c=function(e,t,n,r){let o,i=0,s=!1;for(;i{const n=t(e);return!n[KC.disabled]&&!n[KC.hidden]&&!n[KC.outside]}))),o}(t.days,n,r||(()=>!1),s),[u,d]=(0,a.useState)(i?c:void 0);return{isFocusTarget:e=>Boolean(c?.isEqualTo(e)),setFocused:d,focused:u,blur:()=>{l(u),d(void 0)},moveFocus:(n,r)=>{if(!u)return;const i=hO(n,r,u,t.navStart,t.navEnd,e,o);i&&(t.goToDay(i),d(i))}}}function gO(e,t){const n=function(e,t){const{selected:n,required:r,onSelect:o}=e,[i,s]=uO(n,o?n:void 0),a=o?n:i,{isSameDay:l}=t;return{selected:a,select:(e,t,n)=>{let i=e;return!r&&a&&a&&l(e,a)&&(i=void 0),o||s(i),o?.(i,e,t,n),i},isSelected:e=>!!a&&l(a,e)}}(e,t),r=function(e,t){const{selected:n,required:r,onSelect:o}=e,[i,s]=uO(n,o?n:void 0),a=o?n:i,{isSameDay:l}=t,c=e=>a?.some((t=>l(t,e)))??!1,{min:u,max:d}=e;return{selected:a,select:(e,t,n)=>{let i=[...a??[]];if(c(e)){if(a?.length===u)return;if(r&&1===a?.length)return;i=a?.filter((t=>!l(t,e)))}else i=a?.length===d?[e]:[...i,e];return o||s(i),o?.(i,e,t,n),i},isSelected:c}}(e,t),o=function(e,t){const{disabled:n,excludeDisabled:r,selected:o,required:i,onSelect:s}=e,[a,l]=uO(o,s?o:void 0),c=s?o:a;return{selected:c,select:(o,a,u)=>{const{min:d,max:f}=e,m=o?function(e,t,n=0,r=0,o=!1,i=CP){const{from:s,to:a}=t||{},{isSameDay:l,isAfter:c,isBefore:u}=i;let d;if(s||a){if(s&&!a)d=l(s,e)?o?{from:s,to:void 0}:void 0:u(e,s)?{from:e,to:s}:{from:s,to:e};else if(s&&a)if(l(s,e)&&l(a,e))d=o?{from:s,to:a}:void 0;else if(l(s,e))d={from:s,to:n>0?void 0:e};else if(l(a,e))d={from:e,to:n>0?void 0:e};else if(u(e,s))d={from:e,to:a};else if(c(e,s))d={from:s,to:e};else{if(!c(e,a))throw new Error(\"Invalid range\");d={from:s,to:e}}}else d={from:e,to:n>0?void 0:e};if(d?.from&&d?.to){const t=i.differenceInCalendarDays(d.to,d.from);(r>0&&t>r||n>1&&t0;)if(e=t.addDays(e,1),r&&n&&mO(e,n,t)){m.from=o,m.to=void 0;break}}return s||l(m),s?.(m,o,a,u),m},isSelected:e=>c&&dO(c,e,!1,t)}}(e,t);switch(e.mode){case\"single\":return n;case\"multiple\":return r;case\"range\":return o;default:return}}function yO(e){const{components:t,formatters:n,labels:r,dateLib:l,locale:c,classNames:u}=(0,a.useMemo)((()=>{return{dateLib:(r=e.dateLib,{...CP,...r}),components:(n=e.components,{...o,...n}),formatters:(t=e.formatters,t?.formatMonthCaption&&!t.formatCaption&&(t.formatCaption=t.formatMonthCaption),t?.formatYearCaption&&!t.formatYearDropdown&&(t.formatYearDropdown=t.formatYearCaption),{...i,...t}),labels:{...s,...e.labels},locale:{...X_,...e.locale},classNames:{..._P(),...e.classNames}};var t,n,r}),[e.classNames,e.components,e.dateLib,e.formatters,e.labels,e.locale]),{captionLayout:d,firstWeekContainsDate:f,mode:m,onDayBlur:h,onDayClick:p,onDayFocus:g,onDayKeyDown:y,onDayMouseEnter:v,onDayMouseLeave:b,onNextClick:x,onPrevClick:w,showWeekNumber:S,styles:k,useAdditionalDayOfYearTokens:E,useAdditionalWeekYearTokens:C,weekStartsOn:_}=e,P={locale:c,weekStartsOn:_,firstWeekContainsDate:f,useAdditionalWeekYearTokens:C,useAdditionalDayOfYearTokens:E},O=P,{formatCaption:N,formatDay:T,formatMonthDropdown:M,formatWeekNumber:R,formatWeekNumberHeader:D,formatWeekdayName:j,formatYearDropdown:A}=n,I=function(e,t){const[n,r]=function(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:o,startOfDay:i,startOfMonth:s,endOfMonth:a,addYears:l,endOfYear:c}=t,{fromYear:u,toYear:d,fromMonth:f,toMonth:m}=e;!n&&f&&(n=f),!n&&u&&(n=new Date(u,0,1)),!r&&m&&(r=m),!r&&d&&(r=new Date(d,11,31));const h=e.captionLayout?.startsWith(\"dropdown\");return n?n=s(n):u?n=new Date(u,0,1):!n&&h&&(n=o(l(e.today??(e.timeZone?IP.tz(e.timeZone):t.Date?new t.Date:new Date),-100))),r?r=a(r):d?r=new Date(d,11,31):!r&&h&&(r=c(e.today??(e.timeZone?IP.tz(e.timeZone):t.Date?new t.Date:new Date))),[n?i(n):n,r?i(r):r]}(e,t),{startOfMonth:o,endOfMonth:i}=t,s=sO(e,t),[l,c]=uO(s,e.month?o(e.month):void 0);(0,a.useEffect)((()=>{const n=sO(e,t);c(n)}),[e.timeZone]);const u=function(e,t,n,r){const{numberOfMonths:o=1}=n,i=[];for(let n=0;nt)break;i.push(o)}return i}(l,r,e,t),d=function(e,t,n,r){const o=e[0],i=e[e.length-1],{ISOWeek:s,fixedWeeks:a,locale:l,weekStartsOn:c}=n??{},{startOfWeek:u,endOfWeek:d,startOfISOWeek:f,endOfISOWeek:m,addDays:h,differenceInCalendarDays:p,differenceInCalendarMonths:g,isAfter:y,endOfMonth:v}=r,b=s?f(o):u(o,{weekStartsOn:c,locale:l}),x=p(s?m(v(i)):d(v(i),{weekStartsOn:c,locale:l}),b),w=g(i,o)+1,S=[];for(let e=0;e<=x;e++){const n=h(b,e);if(t&&y(n,t))break;S.push(n)}const k=iO*w;if(a&&S.length{const m=n.ISOWeek?s(f):o(f,{locale:n.locale,weekStartsOn:n.weekStartsOn}),h=n.ISOWeek?a(l(f)):i(l(f),{locale:n.locale,weekStartsOn:n.weekStartsOn}),p=t.filter((e=>e>=m&&e<=h));if(n.fixedWeeks&&p.length<42){const e=t.filter((e=>e>h&&e<=c(h,7)));p.push(...e)}const g=p.reduce(((e,t)=>{const o=n.ISOWeek?d(t):u(t,{locale:n.locale,weekStartsOn:n.weekStartsOn,firstWeekContainsDate:n.firstWeekContainsDate}),i=e.find((e=>e.weekNumber===o)),s=new aO(t,f,r);return i?i.days.push(s):e.push(new cO(o,[s])),e}),[]),y=new lO(f,g);return e.push(y),e}),[]);return n.reverseMonths?f.reverse():f}(u,d,e,t),m=function(e){return e.reduce(((e,t)=>[...e,...t.weeks]),[])}(f),h=f.reduce(((e,t)=>[...e,...t.weeks.reduce(((e,t)=>[...e,...t.days]),[])]),[]),p=function(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:o,numberOfMonths:i}=n,{startOfMonth:s,addMonths:a,differenceInCalendarMonths:l}=r,c=o?i??1:1,u=s(e);return t&&l(u,t)<=0?void 0:a(u,-c)}(l,n,e,t),g=function(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:o,numberOfMonths:i=1}=n,{startOfMonth:s,addMonths:a,differenceInCalendarMonths:l}=r,c=o?i:1,u=s(e);return t&&l(t,e){if(y)return;let t=o(e);n&&to(r)&&(t=o(r)),c(t),v?.(t)};return{months:f,weeks:m,days:h,navStart:n,navEnd:r,previousMonth:p,nextMonth:g,goToMonth:b,goToDay:e=>{(e=>m.some((t=>t.days.some((t=>t.isEqualTo(e))))))(e)||b(e.date)}}}(e,l),{days:L,months:F,navStart:z,navEnd:B,previousMonth:W,nextMonth:V,goToMonth:U}=I,$=function(e,t,n){const{disabled:r,hidden:o,modifiers:i,showOutsideDays:s,today:a}=t,{isSameDay:l,isSameMonth:c}=n,u={[KC.focused]:[],[KC.outside]:[],[KC.disabled]:[],[KC.hidden]:[],[KC.today]:[]},d={},f={[qC.range_end]:[],[qC.range_middle]:[],[qC.range_start]:[],[qC.selected]:[]};for(const f of e){const{date:e,displayMonth:m}=f,h=Boolean(m&&!c(e,m)),p=Boolean(r&&mO(e,r,n)),g=Boolean(o&&mO(e,o,n))||!s&&h,y=l(e,a??(t.timeZone?IP.tz(t.timeZone):n.Date?new n.Date:new Date));h&&u.outside.push(f),p&&u.disabled.push(f),g&&u.hidden.push(f),y&&u.today.push(f),i&&Object.keys(i).forEach((t=>{const r=i?.[t];r&&mO(e,r,n)&&(d[t]?d[t].push(f):d[t]=[f])}))}return e=>{const t={[KC.focused]:!1,[KC.disabled]:!1,[KC.hidden]:!1,[KC.outside]:!1,[KC.today]:!1},n={[qC.range_end]:!1,[qC.range_middle]:!1,[qC.range_start]:!1,[qC.selected]:!1},r={};for(const n in u){const r=u[n];t[n]=r.some((t=>t===e))}for(const t in f){const r=f[t];n[t]=r.some((t=>t===e))}for(const t in d)r[t]=d[t].some((t=>t===e));return{...n,...t,...r}}}(L,e,l),{isSelected:Y,select:H,selected:K}=gO(e,l)??{},{blur:q,focused:G,isFocusTarget:X,moveFocus:Z,setFocused:J}=pO(e,I,$,Y??(()=>!1),l),{labelDayButton:Q,labelGridcell:ee,labelGrid:te,labelMonthDropdown:ne,labelNav:re,labelWeekday:oe,labelWeekNumber:ie,labelWeekNumberHeader:se,labelYearDropdown:ae}=r,le=(0,a.useMemo)((()=>function(e,t,n,r,o=CP){const i=r?IP.tz(r):o.Date?new o.Date:new Date,s=n?o.startOfISOWeek(i):o.startOfWeek(i,{locale:e,weekStartsOn:t}),a=[];for(let e=0;e<7;e++){const t=o.addDays(s,e);a.push(t)}return a}(c,e.weekStartsOn,e.ISOWeek,e.timeZone,l)),[l,c,e.ISOWeek,e.timeZone,e.weekStartsOn]),ce=void 0!==m||void 0!==p,ue=(0,a.useCallback)((()=>{W&&(U(W),w?.(W))}),[W,U,w]),de=(0,a.useCallback)((()=>{V&&(U(V),x?.(V))}),[U,V,x]),fe=(0,a.useCallback)(((e,t)=>n=>{n.preventDefault(),n.stopPropagation(),J(e),H?.(e.date,t,n),p?.(e.date,t,n)}),[H,p,J]),me=(0,a.useCallback)(((e,t)=>n=>{J(e),g?.(e.date,t,n)}),[g,J]),he=(0,a.useCallback)(((e,t)=>n=>{q(),h?.(e.date,t,n)}),[q,h]),pe=(0,a.useCallback)(((t,n)=>r=>{const o={ArrowLeft:[\"day\",\"rtl\"===e.dir?\"after\":\"before\"],ArrowRight:[\"day\",\"rtl\"===e.dir?\"before\":\"after\"],ArrowDown:[\"week\",\"after\"],ArrowUp:[\"week\",\"before\"],PageUp:[r.shiftKey?\"year\":\"month\",\"before\"],PageDown:[r.shiftKey?\"year\":\"month\",\"after\"],Home:[\"startOfWeek\",\"before\"],End:[\"endOfWeek\",\"after\"]};if(o[r.key]){r.preventDefault(),r.stopPropagation();const[e,t]=o[r.key];Z(e,t)}y?.(t.date,n,r)}),[Z,y,e.dir]),ge=(0,a.useCallback)(((e,t)=>n=>{v?.(e.date,t,n)}),[v]),ye=(0,a.useCallback)(((e,t)=>n=>{b?.(e.date,t,n)}),[b]),{className:ve,style:be}=(0,a.useMemo)((()=>({className:[u[HC.Root],e.className].filter(Boolean).join(\" \"),style:{...k?.[HC.Root],...e.style}})),[u,e.className,e.style,k]),xe=function(e){const t={\"data-mode\":e.mode??void 0,\"data-required\":\"required\"in e?e.required:void 0,\"data-multiple-months\":e.numberOfMonths&&e.numberOfMonths>1||void 0,\"data-week-numbers\":e.showWeekNumber||void 0};return Object.entries(e).forEach((([e,n])=>{e.startsWith(\"data-\")&&(t[e]=n)})),t}(e),we={selected:K,select:H,isSelected:Y,months:F,nextMonth:V,previousMonth:W,goToMonth:U,getModifiers:$,components:t,classNames:u,styles:k,labels:r,formatters:n};return a.createElement(l_.Provider,{value:we},a.createElement(t.Root,{className:ve,style:be,dir:e.dir,id:e.id,lang:e.lang,nonce:e.nonce,title:e.title,...xe},a.createElement(t.Months,{className:u[HC.Months],style:k?.[HC.Months]},!e.hideNavigation&&a.createElement(t.Nav,{className:u[HC.Nav],style:k?.[HC.Nav],\"aria-label\":re(),onPreviousClick:ue,onNextClick:de,previousMonth:W,nextMonth:V}),F.map(((r,o)=>{const i=function(e,t,n,r,o,i){if(!t)return;if(!n)return;const{addMonths:s,startOfMonth:a,isBefore:l}=i,c=e.getFullYear(),u=[];let d=t;for(;u.length<12&&l(d,s(n,1));)u.push(d.getMonth()),d=s(d,1);const f=u.sort(((e,t)=>e-t)).map((e=>{const s=r.formatMonthDropdown(e,o),l=i.Date?new i.Date(c,e):new Date(c,e);return{value:e,label:s,disabled:t&&la(n)||!1}}));return f}(r.date,z,B,n,c,l),s=function(e,t,n,r,o){if(!t)return;if(!n)return;const{startOfMonth:i,startOfYear:s,endOfYear:a,addYears:l,isBefore:c,isSameYear:u}=o,d=e.getMonth(),f=s(t),m=a(n),h=[];let p=f;for(;c(p,m)||u(p,m);)h.push(p.getFullYear()),p=l(p,1);return h.map((e=>{const s=o.Date?new o.Date(e,d):new Date(e,d),a=t&&si(n)||!1;return{value:e,label:r.formatYearDropdown(e),disabled:a}}))}(F[0].date,z,B,n,l);return a.createElement(t.Month,{className:u[HC.Month],style:k?.[HC.Month],key:o,displayIndex:o,calendarMonth:r},a.createElement(t.MonthCaption,{className:u[HC.MonthCaption],style:k?.[HC.MonthCaption],calendarMonth:r,displayIndex:o},d?.startsWith(\"dropdown\")?a.createElement(t.DropdownNav,{className:u[HC.Dropdowns],style:k?.[HC.Dropdowns]},\"dropdown\"===d||\"dropdown-months\"===d?a.createElement(t.MonthsDropdown,{className:u[HC.MonthsDropdown],\"aria-label\":ne(),classNames:u,components:t,disabled:Boolean(e.disableNavigation),onChange:e=>{const t=Number(e.target.value),n=l.setMonth(l.startOfMonth(r.date),t);U(n)},options:i,style:k?.[HC.Dropdown],value:r.date.getMonth()}):a.createElement(\"span\",{role:\"status\",\"aria-live\":\"polite\"},M(r.date.getMonth())),\"dropdown\"===d||\"dropdown-years\"===d?a.createElement(t.YearsDropdown,{className:u[HC.YearsDropdown],\"aria-label\":ae(O),classNames:u,components:t,disabled:Boolean(e.disableNavigation),onChange:e=>{const t=l.setYear(l.startOfMonth(r.date),Number(e.target.value));U(t)},options:s,style:k?.[HC.Dropdown],value:r.date.getFullYear()}):a.createElement(\"span\",{role:\"status\",\"aria-live\":\"polite\"},A(r.date.getFullYear()))):a.createElement(t.CaptionLabel,{className:u[HC.CaptionLabel],role:\"status\",\"aria-live\":\"polite\"},N(r.date,P,l))),a.createElement(t.MonthGrid,{role:\"grid\",\"aria-multiselectable\":\"multiple\"===m||\"range\"===m,\"aria-label\":te(r.date,O,l)||void 0,className:u[HC.MonthGrid],style:k?.[HC.MonthGrid]},!e.hideWeekdays&&a.createElement(t.Weekdays,{className:u[HC.Weekdays],style:k?.[HC.Weekdays]},S&&a.createElement(t.WeekNumberHeader,{\"aria-label\":se(O),className:u[HC.WeekNumberHeader],style:k?.[HC.WeekNumberHeader],scope:\"col\"},D()),le.map(((e,n)=>a.createElement(t.Weekday,{\"aria-label\":oe(e,O,l),className:u[HC.Weekday],key:n,style:k?.[HC.Weekday],scope:\"col\"},j(e,P,l))))),a.createElement(t.Weeks,{className:u[HC.Weeks],style:k?.[HC.Weeks]},r.weeks.map(((n,r)=>a.createElement(t.Week,{className:u[HC.Week],key:n.weekNumber,style:k?.[HC.Week],week:n},S&&a.createElement(t.WeekNumber,{week:n,style:k?.[HC.WeekNumber],\"aria-label\":ie(n.weekNumber,{locale:c}),className:u[HC.WeekNumber],scope:\"row\"},R(n.weekNumber)),n.days.map((n=>{const{date:r}=n,o=$(n);if(o[KC.focused]=!o.hidden&&Boolean(G?.isEqualTo(n)),o[qC.selected]=!o.disabled&&(Y?.(r)||o.selected),fO(K)){const{from:e,to:t}=K;o[qC.range_start]=Boolean(e&&t&&l.isSameDay(r,e)),o[qC.range_end]=Boolean(e&&t&&l.isSameDay(r,t)),o[qC.range_middle]=dO(K,r,!0,l)}const i=function(e,t={},n={}){let r={...t?.[HC.Day]};return Object.entries(e).filter((([,e])=>!0===e)).forEach((([e])=>{r={...r,...n?.[e]}})),r}(o,k,e.modifiersStyles),s=function(e,t,n={}){return Object.entries(e).filter((([,e])=>!0===e)).reduce(((e,[r])=>(n[r]?e.push(n[r]):t[KC[r]]?e.push(t[KC[r]]):t[qC[r]]&&e.push(t[qC[r]]),e)),[t[HC.Day]])}(o,u,e.modifiersClassNames),c=ce?void 0:ee(r,o,O,l);return a.createElement(t.Day,{key:`${l.format(r,\"yyyy-MM-dd\")}_${l.format(n.displayMonth,\"yyyy-MM\")}`,day:n,modifiers:o,className:s.join(\" \"),style:i,\"aria-hidden\":o.hidden||void 0,\"aria-selected\":o.selected||void 0,\"aria-label\":c,\"data-day\":l.format(r,\"yyyy-MM-dd\"),\"data-month\":n.outside?l.format(r,\"yyyy-MM\"):void 0,\"data-selected\":o.selected||void 0,\"data-disabled\":o.disabled||void 0,\"data-hidden\":o.hidden||void 0,\"data-outside\":n.outside||void 0,\"data-focused\":o.focused||void 0,\"data-today\":o.today||void 0},ce?a.createElement(t.DayButton,{className:u[HC.DayButton],style:k?.[HC.DayButton],type:\"button\",day:n,modifiers:o,disabled:o.disabled||void 0,tabIndex:X(n)?0:-1,\"aria-label\":Q(r,o,O,l),onClick:fe(n,o),onBlur:he(n,o),onFocus:me(n,o),onKeyDown:pe(n,o),onMouseEnter:ge(n,o),onMouseLeave:ye(n,o)},T(r,P,l)):T(n.date,P,l))}))))))))}))),e.footer&&a.createElement(t.Footer,{className:u[HC.Footer],style:k?.[HC.Footer],role:\"status\",\"aria-live\":\"polite\"},e.footer)))}function vO(e,t,n){return M_(e,-t,n)}var bO=function(){return React.createElement(\"span\",{className:\"bg-icon-interactive h-1 w-1 absolute rounded-full inline-block bottom-0 left-1/2 right-1/2\"})},xO=function(e){return SP(e,\"E\").slice(0,1)};function wO(e){return wO=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},wO(e)}var SO=[\"width\",\"className\",\"classNames\",\"selectedDates\",\"setSelectedDates\",\"showOutsideDays\",\"mode\",\"variant\",\"alignment\",\"onBlur\",\"onChange\"];function kO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function EO(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n1||(b?(k(!0),x(!1)):S?k(!1):x(!b))}},c),l().createElement(de,{variant:\"ghost\",onClick:function(){if(S)N(O+24);else if(b){var t=new Date(C+1,e.calendarMonth.date.getMonth());_(t.getFullYear()),n(t)}else n(r)},className:\"bg-background-primary border-none cursor-pointer\"},l().createElement(uk,{className:\"h-4 w-4\"}))),S&&l().createElement(\"div\",{className:\"grid grid-cols-4 w-full\"},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:24;return Array.from({length:t},(function(t,n){return e+n}))}(O).map((function(t){return l().createElement(de,{key:t,variant:\"ghost\",onClick:function(){return function(t){_(t),k(!1),x(!0),n(new Date(t,e.calendarMonth.date.getMonth()))}(t)},className:oe(\"h-10 w-full text-center font-normal relative\",t===C&&t!==(new Date).getFullYear()&&\"bg-background-brand text-text-on-color hover:bg-background-brand hover:text-black\")},t,t===(new Date).getFullYear()&&bO())}))),b&&!S&&l().createElement(\"div\",{className:\"grid grid-cols-4 gap-2 my-12\"},Array.from({length:12},(function(t,r){return l().createElement(de,{key:r,variant:\"ghost\",onClick:function(){x(!1),n(new Date(C,r))},className:oe(\"px-1.5 py-2 h-10 w-[4.375rem] text-center font-normal relative\",r===e.calendarMonth.date.getMonth()&&r!==(new Date).getMonth()&&C===e.calendarMonth.date.getFullYear()&&e.calendarMonth.date.getFullYear()!==(new Date).getFullYear()&&\"bg-background-brand text-text-on-color hover:bg-background-brand hover:text-black\")},SP(new Date(0,r),\"MMM\"),(new Date).getMonth()===r&&(new Date).getFullYear()===C&&bO())}))),!b&&!S&&l().createElement(T,{weekdays:u}))},Day:function(e){return l().createElement(R,_O({},e,{onSelect:j}))},Weekdays:function(){return null},Months:function(e){return l().createElement(l().Fragment,null,l().createElement(\"div\",{className:A},e.children.map((function(e,t){return e?l().createElement(l().Fragment,{key:t},e.map((function(e,t){return l().createElement(l().Fragment,{key:t},t>0&&l().createElement(\"div\",{className:\"border border-solid border-border-subtle border-l-0\"}),e)}))):null}))))},MonthGrid:function(e){return!b&&!S&&l().createElement(D,{monthGridProps:e,onSelect:j})}}},g)))};function MO(e){return A_(Date.now(),e)}function RO(e){return O_(e,Date.now())}function DO(e){const t=RO(e?.in),n=t.getFullYear(),r=t.getMonth(),o=t.getDate(),i=RO(e?.in);return i.setFullYear(n,r,o-1),i.setHours(0,0,0,0),i}function jO(e,t,n){return R_(e,-t,n)}var AO=[\"selectionType\",\"variant\",\"presets\",\"onCancel\",\"onApply\",\"applyButtonText\",\"cancelButtonText\",\"showOutsideDays\"];function IO(){return IO=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0?s:w,k=function(){x(\"multiple\"===n?[]:{from:null,to:null}),c&&c()},E=function(){u&&u(b)};return\"normal\"===o?l().createElement(TO,IO({},y,{mode:n,variant:o,width:\"w-[18.5rem]\",selectedDates:b,showOutsideDays:g,setSelectedDates:x})):\"dualdate\"===o?l().createElement(TO,{mode:n,numberOfMonths:2,alignment:\"horizontal\",selectedDates:b,setSelectedDates:x,showOutsideDays:g,variant:o,width:\"w-auto\",footer:l().createElement(\"div\",{className:\"flex justify-end p-2 gap-3 border border-solid border-border-subtle border-t-0 rounded-md rounded-tl-none rounded-tr-none\"},l().createElement(de,{variant:\"outline\",onClick:k},h),l().createElement(de,{onClick:E},f))}):\"presets\"===o?l().createElement(\"div\",{className:\"flex flex-row shadow-datepicker-wrapper\"},l().createElement(\"div\",{className:\"flex flex-col gap-1 p-3 items-start border border-solid border-border-subtle border-r-0 rounded-tl-md rounded-bl-md\"},S.map((function(e,t){return l().createElement(de,{key:t,onClick:function(){return t=e.range,void x(t);var t},variant:\"ghost\",className:\"font-medium text-sm\"},e.label)}))),l().createElement(TO,IO({},y,{mode:n,selectedDates:b,setSelectedDates:x,variant:o,showOutsideDays:g,width:\"w-auto\",numberOfMonths:2,footer:l().createElement(\"div\",{className:\"flex justify-end p-2 gap-3 border border-solid border-border-subtle border-t-0 rounded-br-md\"},l().createElement(de,{variant:\"outline\",onClick:k},h),l().createElement(de,{onClick:E},f))}))):void 0};return r}()}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJzZi9mb3JjZS11aS9kaXN0L2ZvcmNlLXVpLmpzIiwibWFwcGluZ3MiOiJBQUFBLGVBQWUsS0FBaUQsb0JBQW9CLENBQXlJLENBQUMsZ0RBQWdELGtCQUFrQixhQUFhLE9BQU8sb0JBQW9CLGNBQWMsMEJBQTBCLG1CQUFtQix3Q0FBd0MsT0FBTyxhQUFhLFVBQVUsRUFBRSxpZ0lBQWlnSSxtRkFBbUYsR0FBRyxvQkFBb0Isd0xBQXdMLHFDQUFxQyxrQkFBa0IsVUFBVSxlQUFlLHNJQUFzSSwwRUFBMEUsT0FBTyx3REFBd0QsOEJBQThCLHFCQUFxQixnQkFBZ0IsaUJBQWlCLHdCQUF3QixNQUFNLGNBQWMsV0FBVywrQkFBK0IsWUFBWSxZQUFZLHFDQUFxQyxnQkFBZ0IsaUNBQWlDLGlCQUFpQixZQUFZLFVBQVUsY0FBYyxJQUFJLElBQUksbUJBQW1CLCtEQUErRCx1QkFBdUIsRUFBRSxnQkFBZ0IsaURBQWlELElBQUksMkNBQTJDLFNBQVMsMENBQTBDLHFCQUFxQixpREFBaUQsaUJBQWlCLDRGQUE0RixlQUFlLHdDQUF3QyxTQUFTLEdBQUcsU0FBUyxjQUFjLGlCQUFpQixVQUFVLG1CQUFtQixVQUFVLGtCQUFrQixVQUFVLHVCQUF1QixVQUFVLG1CQUFtQixVQUFVLHdCQUF3QixVQUFVLHFCQUFxQixVQUFVLHNCQUFzQixVQUFVLHVCQUF1QixVQUFVLG1CQUFtQixVQUFVLG1CQUFtQixVQUFVLHlCQUF5QixVQUFVLHdCQUF3QixVQUFVLGtCQUFrQixVQUFVLGtCQUFrQixVQUFVLG1CQUFtQixVQUFVLGlCQUFpQixVQUFVLHVCQUF1QixVQUFVLHdCQUF3QixVQUFVLDBCQUEwQixVQUFVLHdCQUF3QixVQUFVLHNCQUFzQixVQUFVLG1CQUFtQixVQUFVLG9CQUFvQixVQUFVLHFCQUFxQixVQUFVLG1CQUFtQixVQUFVLGlCQUFpQixVQUFVLHFCQUFxQixVQUFVLGtCQUFrQixVQUFVLG9CQUFvQixVQUFVLG9CQUFvQixVQUFVLG1CQUFtQixV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RyxFQUFFLHlCQUF5Qix3QkFBd0IsZUFBZSx3QkFBd0IsZUFBZSxHQUFHLEVBQUUsMEJBQTBCLG1DQUFtQyxFQUFFLDBCQUEwQiwrQ0FBK0MsZ0NBQWdDLHFCQUFxQixrQkFBa0IsU0FBUyxjQUFjLFNBQVMsNkNBQTZDLElBQUksMEZBQTBGLHdDQUF3Qyw2SkFBNkosc0lBQXNJLHVCQUF1Qiw0QkFBNEIsMEJBQTBCLFVBQVUsS0FBSyx5Q0FBeUMsb0RBQW9ELDBCQUEwQixnSUFBZ0ksc0JBQXNCLDZCQUE2Qix5QkFBeUIsMkJBQTJCLE1BQU0saURBQWlELFVBQVUsOEJBQThCLElBQUksc0lBQXNJLHlHQUF5Ryx1QkFBdUIsNEJBQTRCLDBCQUEwQixVQUFVLEtBQUssWUFBWSxTQUFTLEdBQUciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9AYnNmL2ZvcmNlLXVpL2Rpc3QvZm9yY2UtdWkuanM/ZDA4YyJdLCJzb3VyY2VzQ29udGVudCI6WyIhZnVuY3Rpb24oZSx0KXtcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cyYmXCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KCk6XCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSx0KTpcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cz9leHBvcnRzW1wiZm9yY2UtdWkuW2ZpbGVdLmpzXCJdPXQoKTplW1wiZm9yY2UtdWkuW2ZpbGVdLmpzXCJdPXQoKX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHNlbGY/c2VsZjp0aGlzLChmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciBlPXszMTY6ZnVuY3Rpb24oZSx0LG4pe2Z1bmN0aW9uIHIoZSl7dmFyIHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHZvaWQgMD09PXRbbl0mJih0W25dPWUobikpLHRbbl19fW4uZCh0LHtBOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fSk7dmFyIG89L14oKGNoaWxkcmVufGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MfGtleXxyZWZ8YXV0b0ZvY3VzfGRlZmF1bHRWYWx1ZXxkZWZhdWx0Q2hlY2tlZHxpbm5lckhUTUx8c3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nfHN1cHByZXNzSHlkcmF0aW9uV2FybmluZ3x2YWx1ZUxpbmt8YWJicnxhY2NlcHR8YWNjZXB0Q2hhcnNldHxhY2Nlc3NLZXl8YWN0aW9ufGFsbG93fGFsbG93VXNlck1lZGlhfGFsbG93UGF5bWVudFJlcXVlc3R8YWxsb3dGdWxsU2NyZWVufGFsbG93VHJhbnNwYXJlbmN5fGFsdHxhc3luY3xhdXRvQ29tcGxldGV8YXV0b1BsYXl8Y2FwdHVyZXxjZWxsUGFkZGluZ3xjZWxsU3BhY2luZ3xjaGFsbGVuZ2V8Y2hhclNldHxjaGVja2VkfGNpdGV8Y2xhc3NJRHxjbGFzc05hbWV8Y29sc3xjb2xTcGFufGNvbnRlbnR8Y29udGVudEVkaXRhYmxlfGNvbnRleHRNZW51fGNvbnRyb2xzfGNvbnRyb2xzTGlzdHxjb29yZHN8Y3Jvc3NPcmlnaW58ZGF0YXxkYXRlVGltZXxkZWNvZGluZ3xkZWZhdWx0fGRlZmVyfGRpcnxkaXNhYmxlZHxkaXNhYmxlUGljdHVyZUluUGljdHVyZXxkaXNhYmxlUmVtb3RlUGxheWJhY2t8ZG93bmxvYWR8ZHJhZ2dhYmxlfGVuY1R5cGV8ZW50ZXJLZXlIaW50fGZvcm18Zm9ybUFjdGlvbnxmb3JtRW5jVHlwZXxmb3JtTWV0aG9kfGZvcm1Ob1ZhbGlkYXRlfGZvcm1UYXJnZXR8ZnJhbWVCb3JkZXJ8aGVhZGVyc3xoZWlnaHR8aGlkZGVufGhpZ2h8aHJlZnxocmVmTGFuZ3xodG1sRm9yfGh0dHBFcXVpdnxpZHxpbnB1dE1vZGV8aW50ZWdyaXR5fGlzfGtleVBhcmFtc3xrZXlUeXBlfGtpbmR8bGFiZWx8bGFuZ3xsaXN0fGxvYWRpbmd8bG9vcHxsb3d8bWFyZ2luSGVpZ2h0fG1hcmdpbldpZHRofG1heHxtYXhMZW5ndGh8bWVkaWF8bWVkaWFHcm91cHxtZXRob2R8bWlufG1pbkxlbmd0aHxtdWx0aXBsZXxtdXRlZHxuYW1lfG5vbmNlfG5vVmFsaWRhdGV8b3BlbnxvcHRpbXVtfHBhdHRlcm58cGxhY2Vob2xkZXJ8cGxheXNJbmxpbmV8cG9zdGVyfHByZWxvYWR8cHJvZmlsZXxyYWRpb0dyb3VwfHJlYWRPbmx5fHJlZmVycmVyUG9saWN5fHJlbHxyZXF1aXJlZHxyZXZlcnNlZHxyb2xlfHJvd3N8cm93U3BhbnxzYW5kYm94fHNjb3BlfHNjb3BlZHxzY3JvbGxpbmd8c2VhbWxlc3N8c2VsZWN0ZWR8c2hhcGV8c2l6ZXxzaXplc3xzbG90fHNwYW58c3BlbGxDaGVja3xzcmN8c3JjRG9jfHNyY0xhbmd8c3JjU2V0fHN0YXJ0fHN0ZXB8c3R5bGV8c3VtbWFyeXx0YWJJbmRleHx0YXJnZXR8dGl0bGV8dHJhbnNsYXRlfHR5cGV8dXNlTWFwfHZhbHVlfHdpZHRofHdtb2RlfHdyYXB8YWJvdXR8ZGF0YXR5cGV8aW5saXN0fHByZWZpeHxwcm9wZXJ0eXxyZXNvdXJjZXx0eXBlb2Z8dm9jYWJ8YXV0b0NhcGl0YWxpemV8YXV0b0NvcnJlY3R8YXV0b1NhdmV8Y29sb3J8aW5jcmVtZW50YWx8ZmFsbGJhY2t8aW5lcnR8aXRlbVByb3B8aXRlbVNjb3BlfGl0ZW1UeXBlfGl0ZW1JRHxpdGVtUmVmfG9ufG9wdGlvbnxyZXN1bHRzfHNlY3VyaXR5fHVuc2VsZWN0YWJsZXxhY2NlbnRIZWlnaHR8YWNjdW11bGF0ZXxhZGRpdGl2ZXxhbGlnbm1lbnRCYXNlbGluZXxhbGxvd1Jlb3JkZXJ8YWxwaGFiZXRpY3xhbXBsaXR1ZGV8YXJhYmljRm9ybXxhc2NlbnR8YXR0cmlidXRlTmFtZXxhdHRyaWJ1dGVUeXBlfGF1dG9SZXZlcnNlfGF6aW11dGh8YmFzZUZyZXF1ZW5jeXxiYXNlbGluZVNoaWZ0fGJhc2VQcm9maWxlfGJib3h8YmVnaW58Ymlhc3xieXxjYWxjTW9kZXxjYXBIZWlnaHR8Y2xpcHxjbGlwUGF0aFVuaXRzfGNsaXBQYXRofGNsaXBSdWxlfGNvbG9ySW50ZXJwb2xhdGlvbnxjb2xvckludGVycG9sYXRpb25GaWx0ZXJzfGNvbG9yUHJvZmlsZXxjb2xvclJlbmRlcmluZ3xjb250ZW50U2NyaXB0VHlwZXxjb250ZW50U3R5bGVUeXBlfGN1cnNvcnxjeHxjeXxkfGRlY2VsZXJhdGV8ZGVzY2VudHxkaWZmdXNlQ29uc3RhbnR8ZGlyZWN0aW9ufGRpc3BsYXl8ZGl2aXNvcnxkb21pbmFudEJhc2VsaW5lfGR1cnxkeHxkeXxlZGdlTW9kZXxlbGV2YXRpb258ZW5hYmxlQmFja2dyb3VuZHxlbmR8ZXhwb25lbnR8ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZHxmaWxsfGZpbGxPcGFjaXR5fGZpbGxSdWxlfGZpbHRlcnxmaWx0ZXJSZXN8ZmlsdGVyVW5pdHN8Zmxvb2RDb2xvcnxmbG9vZE9wYWNpdHl8Zm9jdXNhYmxlfGZvbnRGYW1pbHl8Zm9udFNpemV8Zm9udFNpemVBZGp1c3R8Zm9udFN0cmV0Y2h8Zm9udFN0eWxlfGZvbnRWYXJpYW50fGZvbnRXZWlnaHR8Zm9ybWF0fGZyb218ZnJ8Znh8Znl8ZzF8ZzJ8Z2x5cGhOYW1lfGdseXBoT3JpZW50YXRpb25Ib3Jpem9udGFsfGdseXBoT3JpZW50YXRpb25WZXJ0aWNhbHxnbHlwaFJlZnxncmFkaWVudFRyYW5zZm9ybXxncmFkaWVudFVuaXRzfGhhbmdpbmd8aG9yaXpBZHZYfGhvcml6T3JpZ2luWHxpZGVvZ3JhcGhpY3xpbWFnZVJlbmRlcmluZ3xpbnxpbjJ8aW50ZXJjZXB0fGt8azF8azJ8azN8azR8a2VybmVsTWF0cml4fGtlcm5lbFVuaXRMZW5ndGh8a2VybmluZ3xrZXlQb2ludHN8a2V5U3BsaW5lc3xrZXlUaW1lc3xsZW5ndGhBZGp1c3R8bGV0dGVyU3BhY2luZ3xsaWdodGluZ0NvbG9yfGxpbWl0aW5nQ29uZUFuZ2xlfGxvY2FsfG1hcmtlckVuZHxtYXJrZXJNaWR8bWFya2VyU3RhcnR8bWFya2VySGVpZ2h0fG1hcmtlclVuaXRzfG1hcmtlcldpZHRofG1hc2t8bWFza0NvbnRlbnRVbml0c3xtYXNrVW5pdHN8bWF0aGVtYXRpY2FsfG1vZGV8bnVtT2N0YXZlc3xvZmZzZXR8b3BhY2l0eXxvcGVyYXRvcnxvcmRlcnxvcmllbnR8b3JpZW50YXRpb258b3JpZ2lufG92ZXJmbG93fG92ZXJsaW5lUG9zaXRpb258b3ZlcmxpbmVUaGlja25lc3N8cGFub3NlMXxwYWludE9yZGVyfHBhdGhMZW5ndGh8cGF0dGVybkNvbnRlbnRVbml0c3xwYXR0ZXJuVHJhbnNmb3JtfHBhdHRlcm5Vbml0c3xwb2ludGVyRXZlbnRzfHBvaW50c3xwb2ludHNBdFh8cG9pbnRzQXRZfHBvaW50c0F0WnxwcmVzZXJ2ZUFscGhhfHByZXNlcnZlQXNwZWN0UmF0aW98cHJpbWl0aXZlVW5pdHN8cnxyYWRpdXN8cmVmWHxyZWZZfHJlbmRlcmluZ0ludGVudHxyZXBlYXRDb3VudHxyZXBlYXREdXJ8cmVxdWlyZWRFeHRlbnNpb25zfHJlcXVpcmVkRmVhdHVyZXN8cmVzdGFydHxyZXN1bHR8cm90YXRlfHJ4fHJ5fHNjYWxlfHNlZWR8c2hhcGVSZW5kZXJpbmd8c2xvcGV8c3BhY2luZ3xzcGVjdWxhckNvbnN0YW50fHNwZWN1bGFyRXhwb25lbnR8c3BlZWR8c3ByZWFkTWV0aG9kfHN0YXJ0T2Zmc2V0fHN0ZERldmlhdGlvbnxzdGVtaHxzdGVtdnxzdGl0Y2hUaWxlc3xzdG9wQ29sb3J8c3RvcE9wYWNpdHl8c3RyaWtldGhyb3VnaFBvc2l0aW9ufHN0cmlrZXRocm91Z2hUaGlja25lc3N8c3RyaW5nfHN0cm9rZXxzdHJva2VEYXNoYXJyYXl8c3Ryb2tlRGFzaG9mZnNldHxzdHJva2VMaW5lY2FwfHN0cm9rZUxpbmVqb2lufHN0cm9rZU1pdGVybGltaXR8c3Ryb2tlT3BhY2l0eXxzdHJva2VXaWR0aHxzdXJmYWNlU2NhbGV8c3lzdGVtTGFuZ3VhZ2V8dGFibGVWYWx1ZXN8dGFyZ2V0WHx0YXJnZXRZfHRleHRBbmNob3J8dGV4dERlY29yYXRpb258dGV4dFJlbmRlcmluZ3x0ZXh0TGVuZ3RofHRvfHRyYW5zZm9ybXx1MXx1Mnx1bmRlcmxpbmVQb3NpdGlvbnx1bmRlcmxpbmVUaGlja25lc3N8dW5pY29kZXx1bmljb2RlQmlkaXx1bmljb2RlUmFuZ2V8dW5pdHNQZXJFbXx2QWxwaGFiZXRpY3x2SGFuZ2luZ3x2SWRlb2dyYXBoaWN8dk1hdGhlbWF0aWNhbHx2YWx1ZXN8dmVjdG9yRWZmZWN0fHZlcnNpb258dmVydEFkdll8dmVydE9yaWdpblh8dmVydE9yaWdpbll8dmlld0JveHx2aWV3VGFyZ2V0fHZpc2liaWxpdHl8d2lkdGhzfHdvcmRTcGFjaW5nfHdyaXRpbmdNb2RlfHh8eEhlaWdodHx4MXx4Mnx4Q2hhbm5lbFNlbGVjdG9yfHhsaW5rQWN0dWF0ZXx4bGlua0FyY3JvbGV8eGxpbmtIcmVmfHhsaW5rUm9sZXx4bGlua1Nob3d8eGxpbmtUaXRsZXx4bGlua1R5cGV8eG1sQmFzZXx4bWxuc3x4bWxuc1hsaW5rfHhtbExhbmd8eG1sU3BhY2V8eXx5MXx5Mnx5Q2hhbm5lbFNlbGVjdG9yfHp8em9vbUFuZFBhbnxmb3J8Y2xhc3N8YXV0b2ZvY3VzKXwoKFtEZF1bQWFdW1R0XVtBYV18W0FhXVtScl1bSWldW0FhXXx4KS0uKikpJC8saT1yKChmdW5jdGlvbihlKXtyZXR1cm4gby50ZXN0KGUpfHwxMTE9PT1lLmNoYXJDb2RlQXQoMCkmJjExMD09PWUuY2hhckNvZGVBdCgxKSYmZS5jaGFyQ29kZUF0KDIpPDkxfSkpfSwyMDpmdW5jdGlvbihlLHQsbil7dmFyIHI9big2MDkpLG89U3ltYm9sLmZvcihcInJlYWN0LmVsZW1lbnRcIiksaT1TeW1ib2wuZm9yKFwicmVhY3QuZnJhZ21lbnRcIikscz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGE9ci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRC5SZWFjdEN1cnJlbnRPd25lcixsPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gYyhlLHQsbil7dmFyIHIsaT17fSxjPW51bGwsdT1udWxsO2ZvcihyIGluIHZvaWQgMCE9PW4mJihjPVwiXCIrbiksdm9pZCAwIT09dC5rZXkmJihjPVwiXCIrdC5rZXkpLHZvaWQgMCE9PXQucmVmJiYodT10LnJlZiksdClzLmNhbGwodCxyKSYmIWwuaGFzT3duUHJvcGVydHkocikmJihpW3JdPXRbcl0pO2lmKGUmJmUuZGVmYXVsdFByb3BzKWZvcihyIGluIHQ9ZS5kZWZhdWx0UHJvcHMpdm9pZCAwPT09aVtyXSYmKGlbcl09dFtyXSk7cmV0dXJueyQkdHlwZW9mOm8sdHlwZTplLGtleTpjLHJlZjp1LHByb3BzOmksX293bmVyOmEuY3VycmVudH19dC5GcmFnbWVudD1pLHQuanN4PWMsdC5qc3hzPWN9LDg0ODpmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPW4oMjApfSw2MDk6ZnVuY3Rpb24oZSl7ZS5leHBvcnRzPXdpbmRvdy5SZWFjdH19LHQ9e307ZnVuY3Rpb24gbihyKXt2YXIgbz10W3JdO2lmKHZvaWQgMCE9PW8pcmV0dXJuIG8uZXhwb3J0czt2YXIgaT10W3JdPXtleHBvcnRzOnt9fTtyZXR1cm4gZVtyXShpLGkuZXhwb3J0cyxuKSxpLmV4cG9ydHN9bi5uPWZ1bmN0aW9uKGUpe3ZhciB0PWUmJmUuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiBlLmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIGV9O3JldHVybiBuLmQodCx7YTp0fSksdH0sbi5kPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIHQpbi5vKHQscikmJiFuLm8oZSxyKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscix7ZW51bWVyYWJsZTohMCxnZXQ6dFtyXX0pfSxuLmc9ZnVuY3Rpb24oKXtpZihcIm9iamVjdFwiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCl9Y2F0Y2goZSl7aWYoXCJvYmplY3RcIj09dHlwZW9mIHdpbmRvdylyZXR1cm4gd2luZG93fX0oKSxuLm89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCl9LG4ucj1mdW5jdGlvbihlKXtcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6XCJNb2R1bGVcIn0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pfTt2YXIgcj17fTtuLnIociksbi5kKHIse0FsZXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIEdofSxBdmF0YXI6ZnVuY3Rpb24oKXtyZXR1cm4gb2l9LEJhZGdlOmZ1bmN0aW9uKCl7cmV0dXJuIFpvfSxCcmVhZGNydW1iOmZ1bmN0aW9uKCl7cmV0dXJuIGtrfSxCdXR0b246ZnVuY3Rpb24oKXtyZXR1cm4gZGV9LEJ1dHRvbkdyb3VwOmZ1bmN0aW9uKCl7cmV0dXJuIFBpfSxDaGVja2JveDpmdW5jdGlvbigpe3JldHVybiBNZX0sQ29udGFpbmVyOmZ1bmN0aW9uKCl7cmV0dXJuIHFofSxEYXRlUGlja2VyOmZ1bmN0aW9uKCl7cmV0dXJuIEZPfSxEaWFsb2c6ZnVuY3Rpb24oKXtyZXR1cm4gcWt9LERyYXdlcjpmdW5jdGlvbigpe3JldHVybiBDQ30sRHJvcGRvd25NZW51OmZ1bmN0aW9uKCl7cmV0dXJuIEdFfSxFZGl0b3JJbnB1dDpmdW5jdGlvbigpe3JldHVybiBOU30sSW5wdXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZml9LExhYmVsOmZ1bmN0aW9uKCl7cmV0dXJuIGdpfSxMb2FkZXI6ZnVuY3Rpb24oKXtyZXR1cm4gYml9LE1lbnU6ZnVuY3Rpb24oKXtyZXR1cm4gWlN9LFBhZ2luYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gR0N9LFByb2dyZXNzQmFyOmZ1bmN0aW9uKCl7cmV0dXJuIHhpfSxQcm9ncmVzc1N0ZXBzOmZ1bmN0aW9uKCl7cmV0dXJuIHpTfSxSYWRpb0J1dHRvbjpmdW5jdGlvbigpe3JldHVybiBLb30sU2VhcmNoQm94OmZ1bmN0aW9uKCl7cmV0dXJuIE1FfSxTZWxlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gTm19LFNpZGViYXI6ZnVuY3Rpb24oKXtyZXR1cm4gY2t9LFNrZWxldG9uOmZ1bmN0aW9uKCl7cmV0dXJuIFZTfSxTd2l0Y2g6ZnVuY3Rpb24oKXtyZXR1cm4gYmV9LFRhYnM6ZnVuY3Rpb24oKXtyZXR1cm4gYW19LFRleHRBcmVhOmZ1bmN0aW9uKCl7cmV0dXJuIHJpfSxUaXRsZTpmdW5jdGlvbigpe3JldHVybiB5aX0sVG9hc3RlcjpmdW5jdGlvbigpe3JldHVybiBtaH0sVG9vbHRpcDpmdW5jdGlvbigpe3JldHVybiBEb30sVG9wYmFyOmZ1bmN0aW9uKCl7cmV0dXJuIG5FfSx0b2FzdDpmdW5jdGlvbigpe3JldHVybiBIbX19KTt2YXIgbz17fTtuLnIobyksbi5kKG8se0J1dHRvbjpmdW5jdGlvbigpe3JldHVybiBYQ30sQ2FwdGlvbkxhYmVsOmZ1bmN0aW9uKCl7cmV0dXJuIFpDfSxDaGV2cm9uOmZ1bmN0aW9uKCl7cmV0dXJuIEpDfSxEYXk6ZnVuY3Rpb24oKXtyZXR1cm4gUUN9LERheUJ1dHRvbjpmdW5jdGlvbigpe3JldHVybiBlX30sRHJvcGRvd246ZnVuY3Rpb24oKXtyZXR1cm4gdF99LERyb3Bkb3duTmF2OmZ1bmN0aW9uKCl7cmV0dXJuIG5ffSxGb290ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gcl99LE1vbnRoOmZ1bmN0aW9uKCl7cmV0dXJuIG9ffSxNb250aENhcHRpb246ZnVuY3Rpb24oKXtyZXR1cm4gaV99LE1vbnRoR3JpZDpmdW5jdGlvbigpe3JldHVybiBzX30sTW9udGhzOmZ1bmN0aW9uKCl7cmV0dXJuIGFffSxNb250aHNEcm9wZG93bjpmdW5jdGlvbigpe3JldHVybiB1X30sTmF2OmZ1bmN0aW9uKCl7cmV0dXJuIGRffSxOZXh0TW9udGhCdXR0b246ZnVuY3Rpb24oKXtyZXR1cm4gZl99LE9wdGlvbjpmdW5jdGlvbigpe3JldHVybiBtX30sUHJldmlvdXNNb250aEJ1dHRvbjpmdW5jdGlvbigpe3JldHVybiBoX30sUm9vdDpmdW5jdGlvbigpe3JldHVybiBwX30sU2VsZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGdffSxXZWVrOmZ1bmN0aW9uKCl7cmV0dXJuIHlffSxXZWVrTnVtYmVyOmZ1bmN0aW9uKCl7cmV0dXJuIHhffSxXZWVrTnVtYmVySGVhZGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHdffSxXZWVrZGF5OmZ1bmN0aW9uKCl7cmV0dXJuIHZffSxXZWVrZGF5czpmdW5jdGlvbigpe3JldHVybiBiX30sV2Vla3M6ZnVuY3Rpb24oKXtyZXR1cm4gU199LFllYXJzRHJvcGRvd246ZnVuY3Rpb24oKXtyZXR1cm4ga199fSk7dmFyIGk9e307bi5yKGkpLG4uZChpLHtmb3JtYXRDYXB0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIExQfSxmb3JtYXREYXk6ZnVuY3Rpb24oKXtyZXR1cm4gelB9LGZvcm1hdE1vbnRoQ2FwdGlvbjpmdW5jdGlvbigpe3JldHVybiBGUH0sZm9ybWF0TW9udGhEcm9wZG93bjpmdW5jdGlvbigpe3JldHVybiBCUH0sZm9ybWF0V2Vla051bWJlcjpmdW5jdGlvbigpe3JldHVybiBXUH0sZm9ybWF0V2Vla051bWJlckhlYWRlcjpmdW5jdGlvbigpe3JldHVybiBWUH0sZm9ybWF0V2Vla2RheU5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gVVB9LGZvcm1hdFllYXJDYXB0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFlQfSxmb3JtYXRZZWFyRHJvcGRvd246ZnVuY3Rpb24oKXtyZXR1cm4gJFB9fSk7dmFyIHM9e307bi5yKHMpLG4uZChzLHtsYWJlbENhcHRpb246ZnVuY3Rpb24oKXtyZXR1cm4gS1B9LGxhYmVsRGF5OmZ1bmN0aW9uKCl7cmV0dXJuIFhQfSxsYWJlbERheUJ1dHRvbjpmdW5jdGlvbigpe3JldHVybiBHUH0sbGFiZWxHcmlkOmZ1bmN0aW9uKCl7cmV0dXJuIEhQfSxsYWJlbEdyaWRjZWxsOmZ1bmN0aW9uKCl7cmV0dXJuIHFQfSxsYWJlbE1vbnRoRHJvcGRvd246ZnVuY3Rpb24oKXtyZXR1cm4gSlB9LGxhYmVsTmF2OmZ1bmN0aW9uKCl7cmV0dXJuIFpQfSxsYWJlbE5leHQ6ZnVuY3Rpb24oKXtyZXR1cm4gUVB9LGxhYmVsUHJldmlvdXM6ZnVuY3Rpb24oKXtyZXR1cm4gZU99LGxhYmVsV2Vla051bWJlcjpmdW5jdGlvbigpe3JldHVybiBuT30sbGFiZWxXZWVrTnVtYmVySGVhZGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHJPfSxsYWJlbFdlZWtkYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdE99LGxhYmVsWWVhckRyb3Bkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG9PfX0pO3ZhciBhPW4oNjA5KSxsPW4ubihhKTtjb25zdCBjPWU9Pntjb25zdCB0PW0oZSkse2NvbmZsaWN0aW5nQ2xhc3NHcm91cHM6bixjb25mbGljdGluZ0NsYXNzR3JvdXBNb2RpZmllcnM6cn09ZTtyZXR1cm57Z2V0Q2xhc3NHcm91cElkOmU9Pntjb25zdCBuPWUuc3BsaXQoXCItXCIpO3JldHVyblwiXCI9PT1uWzBdJiYxIT09bi5sZW5ndGgmJm4uc2hpZnQoKSx1KG4sdCl8fGYoZSl9LGdldENvbmZsaWN0aW5nQ2xhc3NHcm91cElkczooZSx0KT0+e2NvbnN0IG89bltlXXx8W107cmV0dXJuIHQmJnJbZV0/Wy4uLm8sLi4ucltlXV06b319fSx1PShlLHQpPT57aWYoMD09PWUubGVuZ3RoKXJldHVybiB0LmNsYXNzR3JvdXBJZDtjb25zdCBuPWVbMF0scj10Lm5leHRQYXJ0LmdldChuKSxvPXI/dShlLnNsaWNlKDEpLHIpOnZvaWQgMDtpZihvKXJldHVybiBvO2lmKDA9PT10LnZhbGlkYXRvcnMubGVuZ3RoKXJldHVybjtjb25zdCBpPWUuam9pbihcIi1cIik7cmV0dXJuIHQudmFsaWRhdG9ycy5maW5kKCgoe3ZhbGlkYXRvcjplfSk9PmUoaSkpKT8uY2xhc3NHcm91cElkfSxkPS9eXFxbKC4rKVxcXSQvLGY9ZT0+e2lmKGQudGVzdChlKSl7Y29uc3QgdD1kLmV4ZWMoZSlbMV0sbj10Py5zdWJzdHJpbmcoMCx0LmluZGV4T2YoXCI6XCIpKTtpZihuKXJldHVyblwiYXJiaXRyYXJ5Li5cIitufX0sbT1lPT57Y29uc3R7dGhlbWU6dCxwcmVmaXg6bn09ZSxyPXtuZXh0UGFydDpuZXcgTWFwLHZhbGlkYXRvcnM6W119O3JldHVybiB5KE9iamVjdC5lbnRyaWVzKGUuY2xhc3NHcm91cHMpLG4pLmZvckVhY2goKChbZSxuXSk9PntoKG4scixlLHQpfSkpLHJ9LGg9KGUsdCxuLHIpPT57ZS5mb3JFYWNoKChlPT57aWYoXCJzdHJpbmdcIiE9dHlwZW9mIGUpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGUpcmV0dXJuIGcoZSk/dm9pZCBoKGUociksdCxuLHIpOnZvaWQgdC52YWxpZGF0b3JzLnB1c2goe3ZhbGlkYXRvcjplLGNsYXNzR3JvdXBJZDpufSk7T2JqZWN0LmVudHJpZXMoZSkuZm9yRWFjaCgoKFtlLG9dKT0+e2gobyxwKHQsZSksbixyKX0pKX1lbHNlKFwiXCI9PT1lP3Q6cCh0LGUpKS5jbGFzc0dyb3VwSWQ9bn0pKX0scD0oZSx0KT0+e2xldCBuPWU7cmV0dXJuIHQuc3BsaXQoXCItXCIpLmZvckVhY2goKGU9PntuLm5leHRQYXJ0LmhhcyhlKXx8bi5uZXh0UGFydC5zZXQoZSx7bmV4dFBhcnQ6bmV3IE1hcCx2YWxpZGF0b3JzOltdfSksbj1uLm5leHRQYXJ0LmdldChlKX0pKSxufSxnPWU9PmUuaXNUaGVtZUdldHRlcix5PShlLHQpPT50P2UubWFwKCgoW2Usbl0pPT5bZSxuLm1hcCgoZT0+XCJzdHJpbmdcIj09dHlwZW9mIGU/dCtlOlwib2JqZWN0XCI9PXR5cGVvZiBlP09iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhlKS5tYXAoKChbZSxuXSk9Plt0K2Usbl0pKSk6ZSkpXSkpOmUsdj1lPT57aWYoZTwxKXJldHVybntnZXQ6KCk9Pnt9LHNldDooKT0+e319O2xldCB0PTAsbj1uZXcgTWFwLHI9bmV3IE1hcDtjb25zdCBvPShvLGkpPT57bi5zZXQobyxpKSx0KyssdD5lJiYodD0wLHI9bixuPW5ldyBNYXApfTtyZXR1cm57Z2V0KGUpe2xldCB0PW4uZ2V0KGUpO3JldHVybiB2b2lkIDAhPT10P3Q6dm9pZCAwIT09KHQ9ci5nZXQoZSkpPyhvKGUsdCksdCk6dm9pZCAwfSxzZXQoZSx0KXtuLmhhcyhlKT9uLnNldChlLHQpOm8oZSx0KX19fSxiPWU9Pntjb25zdHtzZXBhcmF0b3I6dCxleHBlcmltZW50YWxQYXJzZUNsYXNzTmFtZTpufT1lLHI9MT09PXQubGVuZ3RoLG89dFswXSxpPXQubGVuZ3RoLHM9ZT0+e2NvbnN0IG49W107bGV0IHMsYT0wLGw9MDtmb3IobGV0IGM9MDtjPGUubGVuZ3RoO2MrKyl7bGV0IHU9ZVtjXTtpZigwPT09YSl7aWYodT09PW8mJihyfHxlLnNsaWNlKGMsYytpKT09PXQpKXtuLnB1c2goZS5zbGljZShsLGMpKSxsPWMraTtjb250aW51ZX1pZihcIi9cIj09PXUpe3M9Yztjb250aW51ZX19XCJbXCI9PT11P2ErKzpcIl1cIj09PXUmJmEtLX1jb25zdCBjPTA9PT1uLmxlbmd0aD9lOmUuc3Vic3RyaW5nKGwpLHU9Yy5zdGFydHNXaXRoKFwiIVwiKTtyZXR1cm57bW9kaWZpZXJzOm4saGFzSW1wb3J0YW50TW9kaWZpZXI6dSxiYXNlQ2xhc3NOYW1lOnU/Yy5zdWJzdHJpbmcoMSk6YyxtYXliZVBvc3RmaXhNb2RpZmllclBvc2l0aW9uOnMmJnM+bD9zLWw6dm9pZCAwfX07cmV0dXJuIG4/ZT0+bih7Y2xhc3NOYW1lOmUscGFyc2VDbGFzc05hbWU6c30pOnN9LHg9ZT0+e2lmKGUubGVuZ3RoPD0xKXJldHVybiBlO2NvbnN0IHQ9W107bGV0IG49W107cmV0dXJuIGUuZm9yRWFjaCgoZT0+e1wiW1wiPT09ZVswXT8odC5wdXNoKC4uLm4uc29ydCgpLGUpLG49W10pOm4ucHVzaChlKX0pKSx0LnB1c2goLi4ubi5zb3J0KCkpLHR9LHc9L1xccysvO2Z1bmN0aW9uIFMoKXtsZXQgZSx0LG49MCxyPVwiXCI7Zm9yKDtuPGFyZ3VtZW50cy5sZW5ndGg7KShlPWFyZ3VtZW50c1tuKytdKSYmKHQ9ayhlKSkmJihyJiYocis9XCIgXCIpLHIrPXQpO3JldHVybiByfWNvbnN0IGs9ZT0+e2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXJldHVybiBlO2xldCB0LG49XCJcIjtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyllW3JdJiYodD1rKGVbcl0pKSYmKG4mJihuKz1cIiBcIiksbis9dCk7cmV0dXJuIG59O2Z1bmN0aW9uIEUoZSwuLi50KXtsZXQgbixyLG8saT1mdW5jdGlvbihhKXtjb25zdCBsPXQucmVkdWNlKCgoZSx0KT0+dChlKSksZSgpKTtyZXR1cm4gbj0oZT0+KHtjYWNoZTp2KGUuY2FjaGVTaXplKSxwYXJzZUNsYXNzTmFtZTpiKGUpLC4uLmMoZSl9KSkobCkscj1uLmNhY2hlLmdldCxvPW4uY2FjaGUuc2V0LGk9cyxzKGEpfTtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9cihlKTtpZih0KXJldHVybiB0O2NvbnN0IGk9KChlLHQpPT57Y29uc3R7cGFyc2VDbGFzc05hbWU6bixnZXRDbGFzc0dyb3VwSWQ6cixnZXRDb25mbGljdGluZ0NsYXNzR3JvdXBJZHM6b309dCxpPVtdLHM9ZS50cmltKCkuc3BsaXQodyk7bGV0IGE9XCJcIjtmb3IobGV0IGU9cy5sZW5ndGgtMTtlPj0wO2UtPTEpe2NvbnN0IHQ9c1tlXSx7bW9kaWZpZXJzOmwsaGFzSW1wb3J0YW50TW9kaWZpZXI6YyxiYXNlQ2xhc3NOYW1lOnUsbWF5YmVQb3N0Zml4TW9kaWZpZXJQb3NpdGlvbjpkfT1uKHQpO2xldCBmPUJvb2xlYW4oZCksbT1yKGY/dS5zdWJzdHJpbmcoMCxkKTp1KTtpZighbSl7aWYoIWYpe2E9dCsoYS5sZW5ndGg+MD9cIiBcIithOmEpO2NvbnRpbnVlfWlmKG09cih1KSwhbSl7YT10KyhhLmxlbmd0aD4wP1wiIFwiK2E6YSk7Y29udGludWV9Zj0hMX1jb25zdCBoPXgobCkuam9pbihcIjpcIikscD1jP2grXCIhXCI6aCxnPXArbTtpZihpLmluY2x1ZGVzKGcpKWNvbnRpbnVlO2kucHVzaChnKTtjb25zdCB5PW8obSxmKTtmb3IobGV0IGU9MDtlPHkubGVuZ3RoOysrZSl7Y29uc3QgdD15W2VdO2kucHVzaChwK3QpfWE9dCsoYS5sZW5ndGg+MD9cIiBcIithOmEpfXJldHVybiBhfSkoZSxuKTtyZXR1cm4gbyhlLGkpLGl9cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkoUy5hcHBseShudWxsLGFyZ3VtZW50cykpfX1jb25zdCBDPWU9Pntjb25zdCB0PXQ9PnRbZV18fFtdO3JldHVybiB0LmlzVGhlbWVHZXR0ZXI9ITAsdH0sXz0vXlxcWyg/OihbYS16LV0rKTopPyguKylcXF0kL2ksUD0vXlxcZCtcXC9cXGQrJC8sTz1uZXcgU2V0KFtcInB4XCIsXCJmdWxsXCIsXCJzY3JlZW5cIl0pLE49L14oXFxkKyhcXC5cXGQrKT8pPyh4c3xzbXxtZHxsZ3x4bCkkLyxUPS9cXGQrKCV8cHh8cj9lbXxbc2RsXT92KFtod2liXXxtaW58bWF4KXxwdHxwY3xpbnxjbXxtbXxjYXB8Y2h8ZXh8cj9saHxjcSh3fGh8aXxifG1pbnxtYXgpKXxcXGIoY2FsY3xtaW58bWF4fGNsYW1wKVxcKC4rXFwpfF4wJC8sTT0vXihyZ2JhP3xoc2xhP3xod2J8KG9rKT8obGFifGxjaCkpXFwoLitcXCkkLyxSPS9eKGluc2V0Xyk/LT8oKFxcZCspP1xcLj8oXFxkKylbYS16XSt8MClfLT8oKFxcZCspP1xcLj8oXFxkKylbYS16XSt8MCkvLEQ9L14odXJsfGltYWdlfGltYWdlLXNldHxjcm9zcy1mYWRlfGVsZW1lbnR8KHJlcGVhdGluZy0pPyhsaW5lYXJ8cmFkaWFsfGNvbmljKS1ncmFkaWVudClcXCguK1xcKSQvLGo9ZT0+SShlKXx8Ty5oYXMoZSl8fFAudGVzdChlKSxBPWU9PkcoZSxcImxlbmd0aFwiLFgpLEk9ZT0+Qm9vbGVhbihlKSYmIU51bWJlci5pc05hTihOdW1iZXIoZSkpLEw9ZT0+RyhlLFwibnVtYmVyXCIsSSksRj1lPT5Cb29sZWFuKGUpJiZOdW1iZXIuaXNJbnRlZ2VyKE51bWJlcihlKSksej1lPT5lLmVuZHNXaXRoKFwiJVwiKSYmSShlLnNsaWNlKDAsLTEpKSxCPWU9Pl8udGVzdChlKSxXPWU9Pk4udGVzdChlKSxWPW5ldyBTZXQoW1wibGVuZ3RoXCIsXCJzaXplXCIsXCJwZXJjZW50YWdlXCJdKSxVPWU9PkcoZSxWLFopLCQ9ZT0+RyhlLFwicG9zaXRpb25cIixaKSxZPW5ldyBTZXQoW1wiaW1hZ2VcIixcInVybFwiXSksSD1lPT5HKGUsWSxRKSxLPWU9PkcoZSxcIlwiLEopLHE9KCk9PiEwLEc9KGUsdCxuKT0+e2NvbnN0IHI9Xy5leGVjKGUpO3JldHVybiEhciYmKHJbMV0/XCJzdHJpbmdcIj09dHlwZW9mIHQ/clsxXT09PXQ6dC5oYXMoclsxXSk6bihyWzJdKSl9LFg9ZT0+VC50ZXN0KGUpJiYhTS50ZXN0KGUpLFo9KCk9PiExLEo9ZT0+Ui50ZXN0KGUpLFE9ZT0+RC50ZXN0KGUpLGVlPShTeW1ib2wudG9TdHJpbmdUYWcsKCk9Pntjb25zdCBlPUMoXCJjb2xvcnNcIiksdD1DKFwic3BhY2luZ1wiKSxuPUMoXCJibHVyXCIpLHI9QyhcImJyaWdodG5lc3NcIiksbz1DKFwiYm9yZGVyQ29sb3JcIiksaT1DKFwiYm9yZGVyUmFkaXVzXCIpLHM9QyhcImJvcmRlclNwYWNpbmdcIiksYT1DKFwiYm9yZGVyV2lkdGhcIiksbD1DKFwiY29udHJhc3RcIiksYz1DKFwiZ3JheXNjYWxlXCIpLHU9QyhcImh1ZVJvdGF0ZVwiKSxkPUMoXCJpbnZlcnRcIiksZj1DKFwiZ2FwXCIpLG09QyhcImdyYWRpZW50Q29sb3JTdG9wc1wiKSxoPUMoXCJncmFkaWVudENvbG9yU3RvcFBvc2l0aW9uc1wiKSxwPUMoXCJpbnNldFwiKSxnPUMoXCJtYXJnaW5cIikseT1DKFwib3BhY2l0eVwiKSx2PUMoXCJwYWRkaW5nXCIpLGI9QyhcInNhdHVyYXRlXCIpLHg9QyhcInNjYWxlXCIpLHc9QyhcInNlcGlhXCIpLFM9QyhcInNrZXdcIiksaz1DKFwic3BhY2VcIiksRT1DKFwidHJhbnNsYXRlXCIpLF89KCk9PltcImF1dG9cIixCLHRdLFA9KCk9PltCLHRdLE89KCk9PltcIlwiLGosQV0sTj0oKT0+W1wiYXV0b1wiLEksQl0sVD0oKT0+W1wiXCIsXCIwXCIsQl0sTT0oKT0+W0ksQl07cmV0dXJue2NhY2hlU2l6ZTo1MDAsc2VwYXJhdG9yOlwiOlwiLHRoZW1lOntjb2xvcnM6W3FdLHNwYWNpbmc6W2osQV0sYmx1cjpbXCJub25lXCIsXCJcIixXLEJdLGJyaWdodG5lc3M6TSgpLGJvcmRlckNvbG9yOltlXSxib3JkZXJSYWRpdXM6W1wibm9uZVwiLFwiXCIsXCJmdWxsXCIsVyxCXSxib3JkZXJTcGFjaW5nOlAoKSxib3JkZXJXaWR0aDpPKCksY29udHJhc3Q6TSgpLGdyYXlzY2FsZTpUKCksaHVlUm90YXRlOk0oKSxpbnZlcnQ6VCgpLGdhcDpQKCksZ3JhZGllbnRDb2xvclN0b3BzOltlXSxncmFkaWVudENvbG9yU3RvcFBvc2l0aW9uczpbeixBXSxpbnNldDpfKCksbWFyZ2luOl8oKSxvcGFjaXR5Ok0oKSxwYWRkaW5nOlAoKSxzYXR1cmF0ZTpNKCksc2NhbGU6TSgpLHNlcGlhOlQoKSxza2V3Ok0oKSxzcGFjZTpQKCksdHJhbnNsYXRlOlAoKX0sY2xhc3NHcm91cHM6e2FzcGVjdDpbe2FzcGVjdDpbXCJhdXRvXCIsXCJzcXVhcmVcIixcInZpZGVvXCIsQl19XSxjb250YWluZXI6W1wiY29udGFpbmVyXCJdLGNvbHVtbnM6W3tjb2x1bW5zOltXXX1dLFwiYnJlYWstYWZ0ZXJcIjpbe1wiYnJlYWstYWZ0ZXJcIjpbXCJhdXRvXCIsXCJhdm9pZFwiLFwiYWxsXCIsXCJhdm9pZC1wYWdlXCIsXCJwYWdlXCIsXCJsZWZ0XCIsXCJyaWdodFwiLFwiY29sdW1uXCJdfV0sXCJicmVhay1iZWZvcmVcIjpbe1wiYnJlYWstYmVmb3JlXCI6W1wiYXV0b1wiLFwiYXZvaWRcIixcImFsbFwiLFwiYXZvaWQtcGFnZVwiLFwicGFnZVwiLFwibGVmdFwiLFwicmlnaHRcIixcImNvbHVtblwiXX1dLFwiYnJlYWstaW5zaWRlXCI6W3tcImJyZWFrLWluc2lkZVwiOltcImF1dG9cIixcImF2b2lkXCIsXCJhdm9pZC1wYWdlXCIsXCJhdm9pZC1jb2x1bW5cIl19XSxcImJveC1kZWNvcmF0aW9uXCI6W3tcImJveC1kZWNvcmF0aW9uXCI6W1wic2xpY2VcIixcImNsb25lXCJdfV0sYm94Olt7Ym94OltcImJvcmRlclwiLFwiY29udGVudFwiXX1dLGRpc3BsYXk6W1wiYmxvY2tcIixcImlubGluZS1ibG9ja1wiLFwiaW5saW5lXCIsXCJmbGV4XCIsXCJpbmxpbmUtZmxleFwiLFwidGFibGVcIixcImlubGluZS10YWJsZVwiLFwidGFibGUtY2FwdGlvblwiLFwidGFibGUtY2VsbFwiLFwidGFibGUtY29sdW1uXCIsXCJ0YWJsZS1jb2x1bW4tZ3JvdXBcIixcInRhYmxlLWZvb3Rlci1ncm91cFwiLFwidGFibGUtaGVhZGVyLWdyb3VwXCIsXCJ0YWJsZS1yb3ctZ3JvdXBcIixcInRhYmxlLXJvd1wiLFwiZmxvdy1yb290XCIsXCJncmlkXCIsXCJpbmxpbmUtZ3JpZFwiLFwiY29udGVudHNcIixcImxpc3QtaXRlbVwiLFwiaGlkZGVuXCJdLGZsb2F0Olt7ZmxvYXQ6W1wicmlnaHRcIixcImxlZnRcIixcIm5vbmVcIixcInN0YXJ0XCIsXCJlbmRcIl19XSxjbGVhcjpbe2NsZWFyOltcImxlZnRcIixcInJpZ2h0XCIsXCJib3RoXCIsXCJub25lXCIsXCJzdGFydFwiLFwiZW5kXCJdfV0saXNvbGF0aW9uOltcImlzb2xhdGVcIixcImlzb2xhdGlvbi1hdXRvXCJdLFwib2JqZWN0LWZpdFwiOlt7b2JqZWN0OltcImNvbnRhaW5cIixcImNvdmVyXCIsXCJmaWxsXCIsXCJub25lXCIsXCJzY2FsZS1kb3duXCJdfV0sXCJvYmplY3QtcG9zaXRpb25cIjpbe29iamVjdDpbXCJib3R0b21cIixcImNlbnRlclwiLFwibGVmdFwiLFwibGVmdC1ib3R0b21cIixcImxlZnQtdG9wXCIsXCJyaWdodFwiLFwicmlnaHQtYm90dG9tXCIsXCJyaWdodC10b3BcIixcInRvcFwiLEJdfV0sb3ZlcmZsb3c6W3tvdmVyZmxvdzpbXCJhdXRvXCIsXCJoaWRkZW5cIixcImNsaXBcIixcInZpc2libGVcIixcInNjcm9sbFwiXX1dLFwib3ZlcmZsb3cteFwiOlt7XCJvdmVyZmxvdy14XCI6W1wiYXV0b1wiLFwiaGlkZGVuXCIsXCJjbGlwXCIsXCJ2aXNpYmxlXCIsXCJzY3JvbGxcIl19XSxcIm92ZXJmbG93LXlcIjpbe1wib3ZlcmZsb3cteVwiOltcImF1dG9cIixcImhpZGRlblwiLFwiY2xpcFwiLFwidmlzaWJsZVwiLFwic2Nyb2xsXCJdfV0sb3ZlcnNjcm9sbDpbe292ZXJzY3JvbGw6W1wiYXV0b1wiLFwiY29udGFpblwiLFwibm9uZVwiXX1dLFwib3ZlcnNjcm9sbC14XCI6W3tcIm92ZXJzY3JvbGwteFwiOltcImF1dG9cIixcImNvbnRhaW5cIixcIm5vbmVcIl19XSxcIm92ZXJzY3JvbGwteVwiOlt7XCJvdmVyc2Nyb2xsLXlcIjpbXCJhdXRvXCIsXCJjb250YWluXCIsXCJub25lXCJdfV0scG9zaXRpb246W1wic3RhdGljXCIsXCJmaXhlZFwiLFwiYWJzb2x1dGVcIixcInJlbGF0aXZlXCIsXCJzdGlja3lcIl0saW5zZXQ6W3tpbnNldDpbcF19XSxcImluc2V0LXhcIjpbe1wiaW5zZXQteFwiOltwXX1dLFwiaW5zZXQteVwiOlt7XCJpbnNldC15XCI6W3BdfV0sc3RhcnQ6W3tzdGFydDpbcF19XSxlbmQ6W3tlbmQ6W3BdfV0sdG9wOlt7dG9wOltwXX1dLHJpZ2h0Olt7cmlnaHQ6W3BdfV0sYm90dG9tOlt7Ym90dG9tOltwXX1dLGxlZnQ6W3tsZWZ0OltwXX1dLHZpc2liaWxpdHk6W1widmlzaWJsZVwiLFwiaW52aXNpYmxlXCIsXCJjb2xsYXBzZVwiXSx6Olt7ejpbXCJhdXRvXCIsRixCXX1dLGJhc2lzOlt7YmFzaXM6XygpfV0sXCJmbGV4LWRpcmVjdGlvblwiOlt7ZmxleDpbXCJyb3dcIixcInJvdy1yZXZlcnNlXCIsXCJjb2xcIixcImNvbC1yZXZlcnNlXCJdfV0sXCJmbGV4LXdyYXBcIjpbe2ZsZXg6W1wid3JhcFwiLFwid3JhcC1yZXZlcnNlXCIsXCJub3dyYXBcIl19XSxmbGV4Olt7ZmxleDpbXCIxXCIsXCJhdXRvXCIsXCJpbml0aWFsXCIsXCJub25lXCIsQl19XSxncm93Olt7Z3JvdzpUKCl9XSxzaHJpbms6W3tzaHJpbms6VCgpfV0sb3JkZXI6W3tvcmRlcjpbXCJmaXJzdFwiLFwibGFzdFwiLFwibm9uZVwiLEYsQl19XSxcImdyaWQtY29sc1wiOlt7XCJncmlkLWNvbHNcIjpbcV19XSxcImNvbC1zdGFydC1lbmRcIjpbe2NvbDpbXCJhdXRvXCIse3NwYW46W1wiZnVsbFwiLEYsQl19LEJdfV0sXCJjb2wtc3RhcnRcIjpbe1wiY29sLXN0YXJ0XCI6TigpfV0sXCJjb2wtZW5kXCI6W3tcImNvbC1lbmRcIjpOKCl9XSxcImdyaWQtcm93c1wiOlt7XCJncmlkLXJvd3NcIjpbcV19XSxcInJvdy1zdGFydC1lbmRcIjpbe3JvdzpbXCJhdXRvXCIse3NwYW46W0YsQl19LEJdfV0sXCJyb3ctc3RhcnRcIjpbe1wicm93LXN0YXJ0XCI6TigpfV0sXCJyb3ctZW5kXCI6W3tcInJvdy1lbmRcIjpOKCl9XSxcImdyaWQtZmxvd1wiOlt7XCJncmlkLWZsb3dcIjpbXCJyb3dcIixcImNvbFwiLFwiZGVuc2VcIixcInJvdy1kZW5zZVwiLFwiY29sLWRlbnNlXCJdfV0sXCJhdXRvLWNvbHNcIjpbe1wiYXV0by1jb2xzXCI6W1wiYXV0b1wiLFwibWluXCIsXCJtYXhcIixcImZyXCIsQl19XSxcImF1dG8tcm93c1wiOlt7XCJhdXRvLXJvd3NcIjpbXCJhdXRvXCIsXCJtaW5cIixcIm1heFwiLFwiZnJcIixCXX1dLGdhcDpbe2dhcDpbZl19XSxcImdhcC14XCI6W3tcImdhcC14XCI6W2ZdfV0sXCJnYXAteVwiOlt7XCJnYXAteVwiOltmXX1dLFwianVzdGlmeS1jb250ZW50XCI6W3tqdXN0aWZ5OltcIm5vcm1hbFwiLFwic3RhcnRcIixcImVuZFwiLFwiY2VudGVyXCIsXCJiZXR3ZWVuXCIsXCJhcm91bmRcIixcImV2ZW5seVwiLFwic3RyZXRjaFwiXX1dLFwianVzdGlmeS1pdGVtc1wiOlt7XCJqdXN0aWZ5LWl0ZW1zXCI6W1wic3RhcnRcIixcImVuZFwiLFwiY2VudGVyXCIsXCJzdHJldGNoXCJdfV0sXCJqdXN0aWZ5LXNlbGZcIjpbe1wianVzdGlmeS1zZWxmXCI6W1wiYXV0b1wiLFwic3RhcnRcIixcImVuZFwiLFwiY2VudGVyXCIsXCJzdHJldGNoXCJdfV0sXCJhbGlnbi1jb250ZW50XCI6W3tjb250ZW50OltcIm5vcm1hbFwiLFwic3RhcnRcIixcImVuZFwiLFwiY2VudGVyXCIsXCJiZXR3ZWVuXCIsXCJhcm91bmRcIixcImV2ZW5seVwiLFwic3RyZXRjaFwiLFwiYmFzZWxpbmVcIl19XSxcImFsaWduLWl0ZW1zXCI6W3tpdGVtczpbXCJzdGFydFwiLFwiZW5kXCIsXCJjZW50ZXJcIixcImJhc2VsaW5lXCIsXCJzdHJldGNoXCJdfV0sXCJhbGlnbi1zZWxmXCI6W3tzZWxmOltcImF1dG9cIixcInN0YXJ0XCIsXCJlbmRcIixcImNlbnRlclwiLFwic3RyZXRjaFwiLFwiYmFzZWxpbmVcIl19XSxcInBsYWNlLWNvbnRlbnRcIjpbe1wicGxhY2UtY29udGVudFwiOltcInN0YXJ0XCIsXCJlbmRcIixcImNlbnRlclwiLFwiYmV0d2VlblwiLFwiYXJvdW5kXCIsXCJldmVubHlcIixcInN0cmV0Y2hcIixcImJhc2VsaW5lXCJdfV0sXCJwbGFjZS1pdGVtc1wiOlt7XCJwbGFjZS1pdGVtc1wiOltcInN0YXJ0XCIsXCJlbmRcIixcImNlbnRlclwiLFwiYmFzZWxpbmVcIixcInN0cmV0Y2hcIl19XSxcInBsYWNlLXNlbGZcIjpbe1wicGxhY2Utc2VsZlwiOltcImF1dG9cIixcInN0YXJ0XCIsXCJlbmRcIixcImNlbnRlclwiLFwic3RyZXRjaFwiXX1dLHA6W3twOlt2XX1dLHB4Olt7cHg6W3ZdfV0scHk6W3tweTpbdl19XSxwczpbe3BzOlt2XX1dLHBlOlt7cGU6W3ZdfV0scHQ6W3twdDpbdl19XSxwcjpbe3ByOlt2XX1dLHBiOlt7cGI6W3ZdfV0scGw6W3twbDpbdl19XSxtOlt7bTpbZ119XSxteDpbe214OltnXX1dLG15Olt7bXk6W2ddfV0sbXM6W3ttczpbZ119XSxtZTpbe21lOltnXX1dLG10Olt7bXQ6W2ddfV0sbXI6W3ttcjpbZ119XSxtYjpbe21iOltnXX1dLG1sOlt7bWw6W2ddfV0sXCJzcGFjZS14XCI6W3tcInNwYWNlLXhcIjpba119XSxcInNwYWNlLXgtcmV2ZXJzZVwiOltcInNwYWNlLXgtcmV2ZXJzZVwiXSxcInNwYWNlLXlcIjpbe1wic3BhY2UteVwiOltrXX1dLFwic3BhY2UteS1yZXZlcnNlXCI6W1wic3BhY2UteS1yZXZlcnNlXCJdLHc6W3t3OltcImF1dG9cIixcIm1pblwiLFwibWF4XCIsXCJmaXRcIixcInN2d1wiLFwibHZ3XCIsXCJkdndcIixCLHRdfV0sXCJtaW4td1wiOlt7XCJtaW4td1wiOltCLHQsXCJtaW5cIixcIm1heFwiLFwiZml0XCJdfV0sXCJtYXgtd1wiOlt7XCJtYXgtd1wiOltCLHQsXCJub25lXCIsXCJmdWxsXCIsXCJtaW5cIixcIm1heFwiLFwiZml0XCIsXCJwcm9zZVwiLHtzY3JlZW46W1ddfSxXXX1dLGg6W3toOltCLHQsXCJhdXRvXCIsXCJtaW5cIixcIm1heFwiLFwiZml0XCIsXCJzdmhcIixcImx2aFwiLFwiZHZoXCJdfV0sXCJtaW4taFwiOlt7XCJtaW4taFwiOltCLHQsXCJtaW5cIixcIm1heFwiLFwiZml0XCIsXCJzdmhcIixcImx2aFwiLFwiZHZoXCJdfV0sXCJtYXgtaFwiOlt7XCJtYXgtaFwiOltCLHQsXCJtaW5cIixcIm1heFwiLFwiZml0XCIsXCJzdmhcIixcImx2aFwiLFwiZHZoXCJdfV0sc2l6ZTpbe3NpemU6W0IsdCxcImF1dG9cIixcIm1pblwiLFwibWF4XCIsXCJmaXRcIl19XSxcImZvbnQtc2l6ZVwiOlt7dGV4dDpbXCJiYXNlXCIsVyxBXX1dLFwiZm9udC1zbW9vdGhpbmdcIjpbXCJhbnRpYWxpYXNlZFwiLFwic3VicGl4ZWwtYW50aWFsaWFzZWRcIl0sXCJmb250LXN0eWxlXCI6W1wiaXRhbGljXCIsXCJub3QtaXRhbGljXCJdLFwiZm9udC13ZWlnaHRcIjpbe2ZvbnQ6W1widGhpblwiLFwiZXh0cmFsaWdodFwiLFwibGlnaHRcIixcIm5vcm1hbFwiLFwibWVkaXVtXCIsXCJzZW1pYm9sZFwiLFwiYm9sZFwiLFwiZXh0cmFib2xkXCIsXCJibGFja1wiLExdfV0sXCJmb250LWZhbWlseVwiOlt7Zm9udDpbcV19XSxcImZ2bi1ub3JtYWxcIjpbXCJub3JtYWwtbnVtc1wiXSxcImZ2bi1vcmRpbmFsXCI6W1wib3JkaW5hbFwiXSxcImZ2bi1zbGFzaGVkLXplcm9cIjpbXCJzbGFzaGVkLXplcm9cIl0sXCJmdm4tZmlndXJlXCI6W1wibGluaW5nLW51bXNcIixcIm9sZHN0eWxlLW51bXNcIl0sXCJmdm4tc3BhY2luZ1wiOltcInByb3BvcnRpb25hbC1udW1zXCIsXCJ0YWJ1bGFyLW51bXNcIl0sXCJmdm4tZnJhY3Rpb25cIjpbXCJkaWFnb25hbC1mcmFjdGlvbnNcIixcInN0YWNrZWQtZnJhY3RvbnNcIl0sdHJhY2tpbmc6W3t0cmFja2luZzpbXCJ0aWdodGVyXCIsXCJ0aWdodFwiLFwibm9ybWFsXCIsXCJ3aWRlXCIsXCJ3aWRlclwiLFwid2lkZXN0XCIsQl19XSxcImxpbmUtY2xhbXBcIjpbe1wibGluZS1jbGFtcFwiOltcIm5vbmVcIixJLExdfV0sbGVhZGluZzpbe2xlYWRpbmc6W1wibm9uZVwiLFwidGlnaHRcIixcInNudWdcIixcIm5vcm1hbFwiLFwicmVsYXhlZFwiLFwibG9vc2VcIixqLEJdfV0sXCJsaXN0LWltYWdlXCI6W3tcImxpc3QtaW1hZ2VcIjpbXCJub25lXCIsQl19XSxcImxpc3Qtc3R5bGUtdHlwZVwiOlt7bGlzdDpbXCJub25lXCIsXCJkaXNjXCIsXCJkZWNpbWFsXCIsQl19XSxcImxpc3Qtc3R5bGUtcG9zaXRpb25cIjpbe2xpc3Q6W1wiaW5zaWRlXCIsXCJvdXRzaWRlXCJdfV0sXCJwbGFjZWhvbGRlci1jb2xvclwiOlt7cGxhY2Vob2xkZXI6W2VdfV0sXCJwbGFjZWhvbGRlci1vcGFjaXR5XCI6W3tcInBsYWNlaG9sZGVyLW9wYWNpdHlcIjpbeV19XSxcInRleHQtYWxpZ25tZW50XCI6W3t0ZXh0OltcImxlZnRcIixcImNlbnRlclwiLFwicmlnaHRcIixcImp1c3RpZnlcIixcInN0YXJ0XCIsXCJlbmRcIl19XSxcInRleHQtY29sb3JcIjpbe3RleHQ6W2VdfV0sXCJ0ZXh0LW9wYWNpdHlcIjpbe1widGV4dC1vcGFjaXR5XCI6W3ldfV0sXCJ0ZXh0LWRlY29yYXRpb25cIjpbXCJ1bmRlcmxpbmVcIixcIm92ZXJsaW5lXCIsXCJsaW5lLXRocm91Z2hcIixcIm5vLXVuZGVybGluZVwiXSxcInRleHQtZGVjb3JhdGlvbi1zdHlsZVwiOlt7ZGVjb3JhdGlvbjpbXCJzb2xpZFwiLFwiZGFzaGVkXCIsXCJkb3R0ZWRcIixcImRvdWJsZVwiLFwibm9uZVwiLFwid2F2eVwiXX1dLFwidGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzc1wiOlt7ZGVjb3JhdGlvbjpbXCJhdXRvXCIsXCJmcm9tLWZvbnRcIixqLEFdfV0sXCJ1bmRlcmxpbmUtb2Zmc2V0XCI6W3tcInVuZGVybGluZS1vZmZzZXRcIjpbXCJhdXRvXCIsaixCXX1dLFwidGV4dC1kZWNvcmF0aW9uLWNvbG9yXCI6W3tkZWNvcmF0aW9uOltlXX1dLFwidGV4dC10cmFuc2Zvcm1cIjpbXCJ1cHBlcmNhc2VcIixcImxvd2VyY2FzZVwiLFwiY2FwaXRhbGl6ZVwiLFwibm9ybWFsLWNhc2VcIl0sXCJ0ZXh0LW92ZXJmbG93XCI6W1widHJ1bmNhdGVcIixcInRleHQtZWxsaXBzaXNcIixcInRleHQtY2xpcFwiXSxcInRleHQtd3JhcFwiOlt7dGV4dDpbXCJ3cmFwXCIsXCJub3dyYXBcIixcImJhbGFuY2VcIixcInByZXR0eVwiXX1dLGluZGVudDpbe2luZGVudDpQKCl9XSxcInZlcnRpY2FsLWFsaWduXCI6W3thbGlnbjpbXCJiYXNlbGluZVwiLFwidG9wXCIsXCJtaWRkbGVcIixcImJvdHRvbVwiLFwidGV4dC10b3BcIixcInRleHQtYm90dG9tXCIsXCJzdWJcIixcInN1cGVyXCIsQl19XSx3aGl0ZXNwYWNlOlt7d2hpdGVzcGFjZTpbXCJub3JtYWxcIixcIm5vd3JhcFwiLFwicHJlXCIsXCJwcmUtbGluZVwiLFwicHJlLXdyYXBcIixcImJyZWFrLXNwYWNlc1wiXX1dLGJyZWFrOlt7YnJlYWs6W1wibm9ybWFsXCIsXCJ3b3Jkc1wiLFwiYWxsXCIsXCJrZWVwXCJdfV0saHlwaGVuczpbe2h5cGhlbnM6W1wibm9uZVwiLFwibWFudWFsXCIsXCJhdXRvXCJdfV0sY29udGVudDpbe2NvbnRlbnQ6W1wibm9uZVwiLEJdfV0sXCJiZy1hdHRhY2htZW50XCI6W3tiZzpbXCJmaXhlZFwiLFwibG9jYWxcIixcInNjcm9sbFwiXX1dLFwiYmctY2xpcFwiOlt7XCJiZy1jbGlwXCI6W1wiYm9yZGVyXCIsXCJwYWRkaW5nXCIsXCJjb250ZW50XCIsXCJ0ZXh0XCJdfV0sXCJiZy1vcGFjaXR5XCI6W3tcImJnLW9wYWNpdHlcIjpbeV19XSxcImJnLW9yaWdpblwiOlt7XCJiZy1vcmlnaW5cIjpbXCJib3JkZXJcIixcInBhZGRpbmdcIixcImNvbnRlbnRcIl19XSxcImJnLXBvc2l0aW9uXCI6W3tiZzpbXCJib3R0b21cIixcImNlbnRlclwiLFwibGVmdFwiLFwibGVmdC1ib3R0b21cIixcImxlZnQtdG9wXCIsXCJyaWdodFwiLFwicmlnaHQtYm90dG9tXCIsXCJyaWdodC10b3BcIixcInRvcFwiLCRdfV0sXCJiZy1yZXBlYXRcIjpbe2JnOltcIm5vLXJlcGVhdFwiLHtyZXBlYXQ6W1wiXCIsXCJ4XCIsXCJ5XCIsXCJyb3VuZFwiLFwic3BhY2VcIl19XX1dLFwiYmctc2l6ZVwiOlt7Ymc6W1wiYXV0b1wiLFwiY292ZXJcIixcImNvbnRhaW5cIixVXX1dLFwiYmctaW1hZ2VcIjpbe2JnOltcIm5vbmVcIix7XCJncmFkaWVudC10b1wiOltcInRcIixcInRyXCIsXCJyXCIsXCJiclwiLFwiYlwiLFwiYmxcIixcImxcIixcInRsXCJdfSxIXX1dLFwiYmctY29sb3JcIjpbe2JnOltlXX1dLFwiZ3JhZGllbnQtZnJvbS1wb3NcIjpbe2Zyb206W2hdfV0sXCJncmFkaWVudC12aWEtcG9zXCI6W3t2aWE6W2hdfV0sXCJncmFkaWVudC10by1wb3NcIjpbe3RvOltoXX1dLFwiZ3JhZGllbnQtZnJvbVwiOlt7ZnJvbTpbbV19XSxcImdyYWRpZW50LXZpYVwiOlt7dmlhOlttXX1dLFwiZ3JhZGllbnQtdG9cIjpbe3RvOlttXX1dLHJvdW5kZWQ6W3tyb3VuZGVkOltpXX1dLFwicm91bmRlZC1zXCI6W3tcInJvdW5kZWQtc1wiOltpXX1dLFwicm91bmRlZC1lXCI6W3tcInJvdW5kZWQtZVwiOltpXX1dLFwicm91bmRlZC10XCI6W3tcInJvdW5kZWQtdFwiOltpXX1dLFwicm91bmRlZC1yXCI6W3tcInJvdW5kZWQtclwiOltpXX1dLFwicm91bmRlZC1iXCI6W3tcInJvdW5kZWQtYlwiOltpXX1dLFwicm91bmRlZC1sXCI6W3tcInJvdW5kZWQtbFwiOltpXX1dLFwicm91bmRlZC1zc1wiOlt7XCJyb3VuZGVkLXNzXCI6W2ldfV0sXCJyb3VuZGVkLXNlXCI6W3tcInJvdW5kZWQtc2VcIjpbaV19XSxcInJvdW5kZWQtZWVcIjpbe1wicm91bmRlZC1lZVwiOltpXX1dLFwicm91bmRlZC1lc1wiOlt7XCJyb3VuZGVkLWVzXCI6W2ldfV0sXCJyb3VuZGVkLXRsXCI6W3tcInJvdW5kZWQtdGxcIjpbaV19XSxcInJvdW5kZWQtdHJcIjpbe1wicm91bmRlZC10clwiOltpXX1dLFwicm91bmRlZC1iclwiOlt7XCJyb3VuZGVkLWJyXCI6W2ldfV0sXCJyb3VuZGVkLWJsXCI6W3tcInJvdW5kZWQtYmxcIjpbaV19XSxcImJvcmRlci13XCI6W3tib3JkZXI6W2FdfV0sXCJib3JkZXItdy14XCI6W3tcImJvcmRlci14XCI6W2FdfV0sXCJib3JkZXItdy15XCI6W3tcImJvcmRlci15XCI6W2FdfV0sXCJib3JkZXItdy1zXCI6W3tcImJvcmRlci1zXCI6W2FdfV0sXCJib3JkZXItdy1lXCI6W3tcImJvcmRlci1lXCI6W2FdfV0sXCJib3JkZXItdy10XCI6W3tcImJvcmRlci10XCI6W2FdfV0sXCJib3JkZXItdy1yXCI6W3tcImJvcmRlci1yXCI6W2FdfV0sXCJib3JkZXItdy1iXCI6W3tcImJvcmRlci1iXCI6W2FdfV0sXCJib3JkZXItdy1sXCI6W3tcImJvcmRlci1sXCI6W2FdfV0sXCJib3JkZXItb3BhY2l0eVwiOlt7XCJib3JkZXItb3BhY2l0eVwiOlt5XX1dLFwiYm9yZGVyLXN0eWxlXCI6W3tib3JkZXI6W1wic29saWRcIixcImRhc2hlZFwiLFwiZG90dGVkXCIsXCJkb3VibGVcIixcIm5vbmVcIixcImhpZGRlblwiXX1dLFwiZGl2aWRlLXhcIjpbe1wiZGl2aWRlLXhcIjpbYV19XSxcImRpdmlkZS14LXJldmVyc2VcIjpbXCJkaXZpZGUteC1yZXZlcnNlXCJdLFwiZGl2aWRlLXlcIjpbe1wiZGl2aWRlLXlcIjpbYV19XSxcImRpdmlkZS15LXJldmVyc2VcIjpbXCJkaXZpZGUteS1yZXZlcnNlXCJdLFwiZGl2aWRlLW9wYWNpdHlcIjpbe1wiZGl2aWRlLW9wYWNpdHlcIjpbeV19XSxcImRpdmlkZS1zdHlsZVwiOlt7ZGl2aWRlOltcInNvbGlkXCIsXCJkYXNoZWRcIixcImRvdHRlZFwiLFwiZG91YmxlXCIsXCJub25lXCJdfV0sXCJib3JkZXItY29sb3JcIjpbe2JvcmRlcjpbb119XSxcImJvcmRlci1jb2xvci14XCI6W3tcImJvcmRlci14XCI6W29dfV0sXCJib3JkZXItY29sb3IteVwiOlt7XCJib3JkZXIteVwiOltvXX1dLFwiYm9yZGVyLWNvbG9yLXRcIjpbe1wiYm9yZGVyLXRcIjpbb119XSxcImJvcmRlci1jb2xvci1yXCI6W3tcImJvcmRlci1yXCI6W29dfV0sXCJib3JkZXItY29sb3ItYlwiOlt7XCJib3JkZXItYlwiOltvXX1dLFwiYm9yZGVyLWNvbG9yLWxcIjpbe1wiYm9yZGVyLWxcIjpbb119XSxcImRpdmlkZS1jb2xvclwiOlt7ZGl2aWRlOltvXX1dLFwib3V0bGluZS1zdHlsZVwiOlt7b3V0bGluZTpbXCJcIixcInNvbGlkXCIsXCJkYXNoZWRcIixcImRvdHRlZFwiLFwiZG91YmxlXCIsXCJub25lXCJdfV0sXCJvdXRsaW5lLW9mZnNldFwiOlt7XCJvdXRsaW5lLW9mZnNldFwiOltqLEJdfV0sXCJvdXRsaW5lLXdcIjpbe291dGxpbmU6W2osQV19XSxcIm91dGxpbmUtY29sb3JcIjpbe291dGxpbmU6W2VdfV0sXCJyaW5nLXdcIjpbe3Jpbmc6TygpfV0sXCJyaW5nLXctaW5zZXRcIjpbXCJyaW5nLWluc2V0XCJdLFwicmluZy1jb2xvclwiOlt7cmluZzpbZV19XSxcInJpbmctb3BhY2l0eVwiOlt7XCJyaW5nLW9wYWNpdHlcIjpbeV19XSxcInJpbmctb2Zmc2V0LXdcIjpbe1wicmluZy1vZmZzZXRcIjpbaixBXX1dLFwicmluZy1vZmZzZXQtY29sb3JcIjpbe1wicmluZy1vZmZzZXRcIjpbZV19XSxzaGFkb3c6W3tzaGFkb3c6W1wiXCIsXCJpbm5lclwiLFwibm9uZVwiLFcsS119XSxcInNoYWRvdy1jb2xvclwiOlt7c2hhZG93OltxXX1dLG9wYWNpdHk6W3tvcGFjaXR5Olt5XX1dLFwibWl4LWJsZW5kXCI6W3tcIm1peC1ibGVuZFwiOltcIm5vcm1hbFwiLFwibXVsdGlwbHlcIixcInNjcmVlblwiLFwib3ZlcmxheVwiLFwiZGFya2VuXCIsXCJsaWdodGVuXCIsXCJjb2xvci1kb2RnZVwiLFwiY29sb3ItYnVyblwiLFwiaGFyZC1saWdodFwiLFwic29mdC1saWdodFwiLFwiZGlmZmVyZW5jZVwiLFwiZXhjbHVzaW9uXCIsXCJodWVcIixcInNhdHVyYXRpb25cIixcImNvbG9yXCIsXCJsdW1pbm9zaXR5XCIsXCJwbHVzLWxpZ2h0ZXJcIixcInBsdXMtZGFya2VyXCJdfV0sXCJiZy1ibGVuZFwiOlt7XCJiZy1ibGVuZFwiOltcIm5vcm1hbFwiLFwibXVsdGlwbHlcIixcInNjcmVlblwiLFwib3ZlcmxheVwiLFwiZGFya2VuXCIsXCJsaWdodGVuXCIsXCJjb2xvci1kb2RnZVwiLFwiY29sb3ItYnVyblwiLFwiaGFyZC1saWdodFwiLFwic29mdC1saWdodFwiLFwiZGlmZmVyZW5jZVwiLFwiZXhjbHVzaW9uXCIsXCJodWVcIixcInNhdHVyYXRpb25cIixcImNvbG9yXCIsXCJsdW1pbm9zaXR5XCJdfV0sZmlsdGVyOlt7ZmlsdGVyOltcIlwiLFwibm9uZVwiXX1dLGJsdXI6W3tibHVyOltuXX1dLGJyaWdodG5lc3M6W3ticmlnaHRuZXNzOltyXX1dLGNvbnRyYXN0Olt7Y29udHJhc3Q6W2xdfV0sXCJkcm9wLXNoYWRvd1wiOlt7XCJkcm9wLXNoYWRvd1wiOltcIlwiLFwibm9uZVwiLFcsQl19XSxncmF5c2NhbGU6W3tncmF5c2NhbGU6W2NdfV0sXCJodWUtcm90YXRlXCI6W3tcImh1ZS1yb3RhdGVcIjpbdV19XSxpbnZlcnQ6W3tpbnZlcnQ6W2RdfV0sc2F0dXJhdGU6W3tzYXR1cmF0ZTpbYl19XSxzZXBpYTpbe3NlcGlhOlt3XX1dLFwiYmFja2Ryb3AtZmlsdGVyXCI6W3tcImJhY2tkcm9wLWZpbHRlclwiOltcIlwiLFwibm9uZVwiXX1dLFwiYmFja2Ryb3AtYmx1clwiOlt7XCJiYWNrZHJvcC1ibHVyXCI6W25dfV0sXCJiYWNrZHJvcC1icmlnaHRuZXNzXCI6W3tcImJhY2tkcm9wLWJyaWdodG5lc3NcIjpbcl19XSxcImJhY2tkcm9wLWNvbnRyYXN0XCI6W3tcImJhY2tkcm9wLWNvbnRyYXN0XCI6W2xdfV0sXCJiYWNrZHJvcC1ncmF5c2NhbGVcIjpbe1wiYmFja2Ryb3AtZ3JheXNjYWxlXCI6W2NdfV0sXCJiYWNrZHJvcC1odWUtcm90YXRlXCI6W3tcImJhY2tkcm9wLWh1ZS1yb3RhdGVcIjpbdV19XSxcImJhY2tkcm9wLWludmVydFwiOlt7XCJiYWNrZHJvcC1pbnZlcnRcIjpbZF19XSxcImJhY2tkcm9wLW9wYWNpdHlcIjpbe1wiYmFja2Ryb3Atb3BhY2l0eVwiOlt5XX1dLFwiYmFja2Ryb3Atc2F0dXJhdGVcIjpbe1wiYmFja2Ryb3Atc2F0dXJhdGVcIjpbYl19XSxcImJhY2tkcm9wLXNlcGlhXCI6W3tcImJhY2tkcm9wLXNlcGlhXCI6W3ddfV0sXCJib3JkZXItY29sbGFwc2VcIjpbe2JvcmRlcjpbXCJjb2xsYXBzZVwiLFwic2VwYXJhdGVcIl19XSxcImJvcmRlci1zcGFjaW5nXCI6W3tcImJvcmRlci1zcGFjaW5nXCI6W3NdfV0sXCJib3JkZXItc3BhY2luZy14XCI6W3tcImJvcmRlci1zcGFjaW5nLXhcIjpbc119XSxcImJvcmRlci1zcGFjaW5nLXlcIjpbe1wiYm9yZGVyLXNwYWNpbmcteVwiOltzXX1dLFwidGFibGUtbGF5b3V0XCI6W3t0YWJsZTpbXCJhdXRvXCIsXCJmaXhlZFwiXX1dLGNhcHRpb246W3tjYXB0aW9uOltcInRvcFwiLFwiYm90dG9tXCJdfV0sdHJhbnNpdGlvbjpbe3RyYW5zaXRpb246W1wibm9uZVwiLFwiYWxsXCIsXCJcIixcImNvbG9yc1wiLFwib3BhY2l0eVwiLFwic2hhZG93XCIsXCJ0cmFuc2Zvcm1cIixCXX1dLGR1cmF0aW9uOlt7ZHVyYXRpb246TSgpfV0sZWFzZTpbe2Vhc2U6W1wibGluZWFyXCIsXCJpblwiLFwib3V0XCIsXCJpbi1vdXRcIixCXX1dLGRlbGF5Olt7ZGVsYXk6TSgpfV0sYW5pbWF0ZTpbe2FuaW1hdGU6W1wibm9uZVwiLFwic3BpblwiLFwicGluZ1wiLFwicHVsc2VcIixcImJvdW5jZVwiLEJdfV0sdHJhbnNmb3JtOlt7dHJhbnNmb3JtOltcIlwiLFwiZ3B1XCIsXCJub25lXCJdfV0sc2NhbGU6W3tzY2FsZTpbeF19XSxcInNjYWxlLXhcIjpbe1wic2NhbGUteFwiOlt4XX1dLFwic2NhbGUteVwiOlt7XCJzY2FsZS15XCI6W3hdfV0scm90YXRlOlt7cm90YXRlOltGLEJdfV0sXCJ0cmFuc2xhdGUteFwiOlt7XCJ0cmFuc2xhdGUteFwiOltFXX1dLFwidHJhbnNsYXRlLXlcIjpbe1widHJhbnNsYXRlLXlcIjpbRV19XSxcInNrZXcteFwiOlt7XCJza2V3LXhcIjpbU119XSxcInNrZXcteVwiOlt7XCJza2V3LXlcIjpbU119XSxcInRyYW5zZm9ybS1vcmlnaW5cIjpbe29yaWdpbjpbXCJjZW50ZXJcIixcInRvcFwiLFwidG9wLXJpZ2h0XCIsXCJyaWdodFwiLFwiYm90dG9tLXJpZ2h0XCIsXCJib3R0b21cIixcImJvdHRvbS1sZWZ0XCIsXCJsZWZ0XCIsXCJ0b3AtbGVmdFwiLEJdfV0sYWNjZW50Olt7YWNjZW50OltcImF1dG9cIixlXX1dLGFwcGVhcmFuY2U6W3thcHBlYXJhbmNlOltcIm5vbmVcIixcImF1dG9cIl19XSxjdXJzb3I6W3tjdXJzb3I6W1wiYXV0b1wiLFwiZGVmYXVsdFwiLFwicG9pbnRlclwiLFwid2FpdFwiLFwidGV4dFwiLFwibW92ZVwiLFwiaGVscFwiLFwibm90LWFsbG93ZWRcIixcIm5vbmVcIixcImNvbnRleHQtbWVudVwiLFwicHJvZ3Jlc3NcIixcImNlbGxcIixcImNyb3NzaGFpclwiLFwidmVydGljYWwtdGV4dFwiLFwiYWxpYXNcIixcImNvcHlcIixcIm5vLWRyb3BcIixcImdyYWJcIixcImdyYWJiaW5nXCIsXCJhbGwtc2Nyb2xsXCIsXCJjb2wtcmVzaXplXCIsXCJyb3ctcmVzaXplXCIsXCJuLXJlc2l6ZVwiLFwiZS1yZXNpemVcIixcInMtcmVzaXplXCIsXCJ3LXJlc2l6ZVwiLFwibmUtcmVzaXplXCIsXCJudy1yZXNpemVcIixcInNlLXJlc2l6ZVwiLFwic3ctcmVzaXplXCIsXCJldy1yZXNpemVcIixcIm5zLXJlc2l6ZVwiLFwibmVzdy1yZXNpemVcIixcIm53c2UtcmVzaXplXCIsXCJ6b29tLWluXCIsXCJ6b29tLW91dFwiLEJdfV0sXCJjYXJldC1jb2xvclwiOlt7Y2FyZXQ6W2VdfV0sXCJwb2ludGVyLWV2ZW50c1wiOlt7XCJwb2ludGVyLWV2ZW50c1wiOltcIm5vbmVcIixcImF1dG9cIl19XSxyZXNpemU6W3tyZXNpemU6W1wibm9uZVwiLFwieVwiLFwieFwiLFwiXCJdfV0sXCJzY3JvbGwtYmVoYXZpb3JcIjpbe3Njcm9sbDpbXCJhdXRvXCIsXCJzbW9vdGhcIl19XSxcInNjcm9sbC1tXCI6W3tcInNjcm9sbC1tXCI6UCgpfV0sXCJzY3JvbGwtbXhcIjpbe1wic2Nyb2xsLW14XCI6UCgpfV0sXCJzY3JvbGwtbXlcIjpbe1wic2Nyb2xsLW15XCI6UCgpfV0sXCJzY3JvbGwtbXNcIjpbe1wic2Nyb2xsLW1zXCI6UCgpfV0sXCJzY3JvbGwtbWVcIjpbe1wic2Nyb2xsLW1lXCI6UCgpfV0sXCJzY3JvbGwtbXRcIjpbe1wic2Nyb2xsLW10XCI6UCgpfV0sXCJzY3JvbGwtbXJcIjpbe1wic2Nyb2xsLW1yXCI6UCgpfV0sXCJzY3JvbGwtbWJcIjpbe1wic2Nyb2xsLW1iXCI6UCgpfV0sXCJzY3JvbGwtbWxcIjpbe1wic2Nyb2xsLW1sXCI6UCgpfV0sXCJzY3JvbGwtcFwiOlt7XCJzY3JvbGwtcFwiOlAoKX1dLFwic2Nyb2xsLXB4XCI6W3tcInNjcm9sbC1weFwiOlAoKX1dLFwic2Nyb2xsLXB5XCI6W3tcInNjcm9sbC1weVwiOlAoKX1dLFwic2Nyb2xsLXBzXCI6W3tcInNjcm9sbC1wc1wiOlAoKX1dLFwic2Nyb2xsLXBlXCI6W3tcInNjcm9sbC1wZVwiOlAoKX1dLFwic2Nyb2xsLXB0XCI6W3tcInNjcm9sbC1wdFwiOlAoKX1dLFwic2Nyb2xsLXByXCI6W3tcInNjcm9sbC1wclwiOlAoKX1dLFwic2Nyb2xsLXBiXCI6W3tcInNjcm9sbC1wYlwiOlAoKX1dLFwic2Nyb2xsLXBsXCI6W3tcInNjcm9sbC1wbFwiOlAoKX1dLFwic25hcC1hbGlnblwiOlt7c25hcDpbXCJzdGFydFwiLFwiZW5kXCIsXCJjZW50ZXJcIixcImFsaWduLW5vbmVcIl19XSxcInNuYXAtc3RvcFwiOlt7c25hcDpbXCJub3JtYWxcIixcImFsd2F5c1wiXX1dLFwic25hcC10eXBlXCI6W3tzbmFwOltcIm5vbmVcIixcInhcIixcInlcIixcImJvdGhcIl19XSxcInNuYXAtc3RyaWN0bmVzc1wiOlt7c25hcDpbXCJtYW5kYXRvcnlcIixcInByb3hpbWl0eVwiXX1dLHRvdWNoOlt7dG91Y2g6W1wiYXV0b1wiLFwibm9uZVwiLFwibWFuaXB1bGF0aW9uXCJdfV0sXCJ0b3VjaC14XCI6W3tcInRvdWNoLXBhblwiOltcInhcIixcImxlZnRcIixcInJpZ2h0XCJdfV0sXCJ0b3VjaC15XCI6W3tcInRvdWNoLXBhblwiOltcInlcIixcInVwXCIsXCJkb3duXCJdfV0sXCJ0b3VjaC1welwiOltcInRvdWNoLXBpbmNoLXpvb21cIl0sc2VsZWN0Olt7c2VsZWN0OltcIm5vbmVcIixcInRleHRcIixcImFsbFwiLFwiYXV0b1wiXX1dLFwid2lsbC1jaGFuZ2VcIjpbe1wid2lsbC1jaGFuZ2VcIjpbXCJhdXRvXCIsXCJzY3JvbGxcIixcImNvbnRlbnRzXCIsXCJ0cmFuc2Zvcm1cIixCXX1dLGZpbGw6W3tmaWxsOltlLFwibm9uZVwiXX1dLFwic3Ryb2tlLXdcIjpbe3N0cm9rZTpbaixBLExdfV0sc3Ryb2tlOlt7c3Ryb2tlOltlLFwibm9uZVwiXX1dLHNyOltcInNyLW9ubHlcIixcIm5vdC1zci1vbmx5XCJdLFwiZm9yY2VkLWNvbG9yLWFkanVzdFwiOlt7XCJmb3JjZWQtY29sb3ItYWRqdXN0XCI6W1wiYXV0b1wiLFwibm9uZVwiXX1dfSxjb25mbGljdGluZ0NsYXNzR3JvdXBzOntvdmVyZmxvdzpbXCJvdmVyZmxvdy14XCIsXCJvdmVyZmxvdy15XCJdLG92ZXJzY3JvbGw6W1wib3ZlcnNjcm9sbC14XCIsXCJvdmVyc2Nyb2xsLXlcIl0saW5zZXQ6W1wiaW5zZXQteFwiLFwiaW5zZXQteVwiLFwic3RhcnRcIixcImVuZFwiLFwidG9wXCIsXCJyaWdodFwiLFwiYm90dG9tXCIsXCJsZWZ0XCJdLFwiaW5zZXQteFwiOltcInJpZ2h0XCIsXCJsZWZ0XCJdLFwiaW5zZXQteVwiOltcInRvcFwiLFwiYm90dG9tXCJdLGZsZXg6W1wiYmFzaXNcIixcImdyb3dcIixcInNocmlua1wiXSxnYXA6W1wiZ2FwLXhcIixcImdhcC15XCJdLHA6W1wicHhcIixcInB5XCIsXCJwc1wiLFwicGVcIixcInB0XCIsXCJwclwiLFwicGJcIixcInBsXCJdLHB4OltcInByXCIsXCJwbFwiXSxweTpbXCJwdFwiLFwicGJcIl0sbTpbXCJteFwiLFwibXlcIixcIm1zXCIsXCJtZVwiLFwibXRcIixcIm1yXCIsXCJtYlwiLFwibWxcIl0sbXg6W1wibXJcIixcIm1sXCJdLG15OltcIm10XCIsXCJtYlwiXSxzaXplOltcIndcIixcImhcIl0sXCJmb250LXNpemVcIjpbXCJsZWFkaW5nXCJdLFwiZnZuLW5vcm1hbFwiOltcImZ2bi1vcmRpbmFsXCIsXCJmdm4tc2xhc2hlZC16ZXJvXCIsXCJmdm4tZmlndXJlXCIsXCJmdm4tc3BhY2luZ1wiLFwiZnZuLWZyYWN0aW9uXCJdLFwiZnZuLW9yZGluYWxcIjpbXCJmdm4tbm9ybWFsXCJdLFwiZnZuLXNsYXNoZWQtemVyb1wiOltcImZ2bi1ub3JtYWxcIl0sXCJmdm4tZmlndXJlXCI6W1wiZnZuLW5vcm1hbFwiXSxcImZ2bi1zcGFjaW5nXCI6W1wiZnZuLW5vcm1hbFwiXSxcImZ2bi1mcmFjdGlvblwiOltcImZ2bi1ub3JtYWxcIl0sXCJsaW5lLWNsYW1wXCI6W1wiZGlzcGxheVwiLFwib3ZlcmZsb3dcIl0scm91bmRlZDpbXCJyb3VuZGVkLXNcIixcInJvdW5kZWQtZVwiLFwicm91bmRlZC10XCIsXCJyb3VuZGVkLXJcIixcInJvdW5kZWQtYlwiLFwicm91bmRlZC1sXCIsXCJyb3VuZGVkLXNzXCIsXCJyb3VuZGVkLXNlXCIsXCJyb3VuZGVkLWVlXCIsXCJyb3VuZGVkLWVzXCIsXCJyb3VuZGVkLXRsXCIsXCJyb3VuZGVkLXRyXCIsXCJyb3VuZGVkLWJyXCIsXCJyb3VuZGVkLWJsXCJdLFwicm91bmRlZC1zXCI6W1wicm91bmRlZC1zc1wiLFwicm91bmRlZC1lc1wiXSxcInJvdW5kZWQtZVwiOltcInJvdW5kZWQtc2VcIixcInJvdW5kZWQtZWVcIl0sXCJyb3VuZGVkLXRcIjpbXCJyb3VuZGVkLXRsXCIsXCJyb3VuZGVkLXRyXCJdLFwicm91bmRlZC1yXCI6W1wicm91bmRlZC10clwiLFwicm91bmRlZC1iclwiXSxcInJvdW5kZWQtYlwiOltcInJvdW5kZWQtYnJcIixcInJvdW5kZWQtYmxcIl0sXCJyb3VuZGVkLWxcIjpbXCJyb3VuZGVkLXRsXCIsXCJyb3VuZGVkLWJsXCJdLFwiYm9yZGVyLXNwYWNpbmdcIjpbXCJib3JkZXItc3BhY2luZy14XCIsXCJib3JkZXItc3BhY2luZy15XCJdLFwiYm9yZGVyLXdcIjpbXCJib3JkZXItdy1zXCIsXCJib3JkZXItdy1lXCIsXCJib3JkZXItdy10XCIsXCJib3JkZXItdy1yXCIsXCJib3JkZXItdy1iXCIsXCJib3JkZXItdy1sXCJdLFwiYm9yZGVyLXcteFwiOltcImJvcmRlci13LXJcIixcImJvcmRlci13LWxcIl0sXCJib3JkZXItdy15XCI6W1wiYm9yZGVyLXctdFwiLFwiYm9yZGVyLXctYlwiXSxcImJvcmRlci1jb2xvclwiOltcImJvcmRlci1jb2xvci10XCIsXCJib3JkZXItY29sb3ItclwiLFwiYm9yZGVyLWNvbG9yLWJcIixcImJvcmRlci1jb2xvci1sXCJdLFwiYm9yZGVyLWNvbG9yLXhcIjpbXCJib3JkZXItY29sb3ItclwiLFwiYm9yZGVyLWNvbG9yLWxcIl0sXCJib3JkZXItY29sb3IteVwiOltcImJvcmRlci1jb2xvci10XCIsXCJib3JkZXItY29sb3ItYlwiXSxcInNjcm9sbC1tXCI6W1wic2Nyb2xsLW14XCIsXCJzY3JvbGwtbXlcIixcInNjcm9sbC1tc1wiLFwic2Nyb2xsLW1lXCIsXCJzY3JvbGwtbXRcIixcInNjcm9sbC1tclwiLFwic2Nyb2xsLW1iXCIsXCJzY3JvbGwtbWxcIl0sXCJzY3JvbGwtbXhcIjpbXCJzY3JvbGwtbXJcIixcInNjcm9sbC1tbFwiXSxcInNjcm9sbC1teVwiOltcInNjcm9sbC1tdFwiLFwic2Nyb2xsLW1iXCJdLFwic2Nyb2xsLXBcIjpbXCJzY3JvbGwtcHhcIixcInNjcm9sbC1weVwiLFwic2Nyb2xsLXBzXCIsXCJzY3JvbGwtcGVcIixcInNjcm9sbC1wdFwiLFwic2Nyb2xsLXByXCIsXCJzY3JvbGwtcGJcIixcInNjcm9sbC1wbFwiXSxcInNjcm9sbC1weFwiOltcInNjcm9sbC1wclwiLFwic2Nyb2xsLXBsXCJdLFwic2Nyb2xsLXB5XCI6W1wic2Nyb2xsLXB0XCIsXCJzY3JvbGwtcGJcIl0sdG91Y2g6W1widG91Y2gteFwiLFwidG91Y2gteVwiLFwidG91Y2gtcHpcIl0sXCJ0b3VjaC14XCI6W1widG91Y2hcIl0sXCJ0b3VjaC15XCI6W1widG91Y2hcIl0sXCJ0b3VjaC1welwiOltcInRvdWNoXCJdfSxjb25mbGljdGluZ0NsYXNzR3JvdXBNb2RpZmllcnM6e1wiZm9udC1zaXplXCI6W1wibGVhZGluZ1wiXX19fSksdGU9RShlZSk7ZnVuY3Rpb24gbmUoZSl7dmFyIHQsbixyPVwiXCI7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGV8fFwibnVtYmVyXCI9PXR5cGVvZiBlKXIrPWU7ZWxzZSBpZihcIm9iamVjdFwiPT10eXBlb2YgZSlpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgbz1lLmxlbmd0aDtmb3IodD0wO3Q8bzt0KyspZVt0XSYmKG49bmUoZVt0XSkpJiYociYmKHIrPVwiIFwiKSxyKz1uKX1lbHNlIGZvcihuIGluIGUpZVtuXSYmKHImJihyKz1cIiBcIikscis9bik7cmV0dXJuIHJ9ZnVuY3Rpb24gcmUoKXtmb3IodmFyIGUsdCxuPTAscj1cIlwiLG89YXJndW1lbnRzLmxlbmd0aDtuPG87bisrKShlPWFyZ3VtZW50c1tuXSkmJih0PW5lKGUpKSYmKHImJihyKz1cIiBcIikscis9dCk7cmV0dXJuIHJ9dmFyIG9lPWZ1bmN0aW9uKCl7cmV0dXJuIHRlKHJlLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX0saWU9ZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShlKSxuPTA7bjxlO24rKyl0W25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxuPW5ldyBBcnJheShlKSxyPTA7cjxlO3IrKyluW3JdPWFyZ3VtZW50c1tyXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT92b2lkIDA6ZS5hcHBseSh2b2lkIDAsbil9KSl9fSxzZT1mdW5jdGlvbihlKXt2YXIgdD17MDpcImdhcC0wXCIseHhzOlwiZ2FwLTFcIix4czpcImdhcC0yXCIsc206XCJnYXAtM1wiLG1kOlwiZ2FwLTRcIixsZzpcImdhcC01XCIseGw6XCJnYXAtNlwiLFwiMnhsXCI6XCJnYXAtOFwifTtyZXR1cm4gdFtlXXx8dC5tZH0sYWU9ezE6XCJncmlkLWNvbHMtMVwiLDI6XCJncmlkLWNvbHMtMlwiLDM6XCJncmlkLWNvbHMtM1wiLDQ6XCJncmlkLWNvbHMtNFwiLDU6XCJncmlkLWNvbHMtNVwiLDY6XCJncmlkLWNvbHMtNlwiLDc6XCJncmlkLWNvbHMtN1wiLDg6XCJncmlkLWNvbHMtOFwiLDk6XCJncmlkLWNvbHMtOVwiLDEwOlwiZ3JpZC1jb2xzLTEwXCIsMTE6XCJncmlkLWNvbHMtMTFcIiwxMjpcImdyaWQtY29scy0xMlwifSxsZT1bXCJ2YXJpYW50XCIsXCJzaXplXCIsXCJ0eXBlXCIsXCJ0YWdcIixcImNsYXNzTmFtZVwiLFwiY2hpbGRyZW5cIixcImRpc2FibGVkXCIsXCJkZXN0cnVjdGl2ZVwiLFwiaWNvblwiLFwiaWNvblBvc2l0aW9uXCIsXCJsb2FkaW5nXCJdO2Z1bmN0aW9uIGNlKCl7cmV0dXJuIGNlPU9iamVjdC5hc3NpZ24/T2JqZWN0LmFzc2lnbi5iaW5kKCk6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKSh7fSkuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiYoZVtyXT1uW3JdKX1yZXR1cm4gZX0sY2UuYXBwbHkobnVsbCxhcmd1bWVudHMpfXZhciB1ZT0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxpLHM9ZS52YXJpYW50LGE9dm9pZCAwPT09cz9cInByaW1hcnlcIjpzLGM9ZS5zaXplLHU9dm9pZCAwPT09Yz9cIm1kXCI6YyxkPWUudHlwZSxmPXZvaWQgMD09PWQ/XCJidXR0b25cIjpkLG09ZS50YWcsaD12b2lkIDA9PT1tP1wiYnV0dG9uXCI6bSxwPWUuY2xhc3NOYW1lLGc9ZS5jaGlsZHJlbix5PWUuZGlzYWJsZWQsdj12b2lkIDAhPT15JiZ5LGI9ZS5kZXN0cnVjdGl2ZSx4PXZvaWQgMCE9PWImJmIsdz1lLmljb24sUz12b2lkIDA9PT13P251bGw6dyxrPWUuaWNvblBvc2l0aW9uLEU9dm9pZCAwPT09az9cImxlZnRcIjprLEM9ZS5sb2FkaW5nLF89dm9pZCAwIT09QyYmQyxQPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbixyLG89ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPXt9O2Zvcih2YXIgciBpbiBlKWlmKHt9Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSl7aWYodC5pbmNsdWRlcyhyKSljb250aW51ZTtuW3JdPWVbcl19cmV0dXJuIG59KGUsdCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKW49aVtyXSx0LmluY2x1ZGVzKG4pfHx7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsbikmJihvW25dPWVbbl0pfXJldHVybiBvfShlLGxlKSxPPV8/XCJvcGFjaXR5LTUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZFwiOlwiXCIsTj1udWxsPT09KG49e3ByaW1hcnk6XCJ0ZXh0LXRleHQtb24tY29sb3IgYmctYnV0dG9uLXByaW1hcnkgaG92ZXI6YmctYnV0dG9uLXByaW1hcnktaG92ZXIgb3V0bGluZS1idXR0b24tcHJpbWFyeSBob3ZlcjpvdXRsaW5lLWJ1dHRvbi1wcmltYXJ5LWhvdmVyIGRpc2FibGVkOmJnLWJ1dHRvbi1kaXNhYmxlZCBkaXNhYmxlZDpvdXRsaW5lLWJ1dHRvbi1kaXNhYmxlZFwiLHNlY29uZGFyeTpcInRleHQtdGV4dC1vbi1jb2xvciBiZy1idXR0b24tc2Vjb25kYXJ5IGhvdmVyOmJnLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIgb3V0bGluZS1idXR0b24tc2Vjb25kYXJ5IGhvdmVyOm91dGxpbmUtYnV0dG9uLXNlY29uZGFyeS1ob3ZlciBkaXNhYmxlZDpiZy1idXR0b24tZGlzYWJsZWQgZGlzYWJsZWQ6b3V0bGluZS1idXR0b24tZGlzYWJsZWRcIixvdXRsaW5lOlwidGV4dC1idXR0b24tdGVydGlhcnktY29sb3Igb3V0bGluZS1ib3JkZXItc3VidGxlIGJnLWJ1dHRvbi10ZXJ0aWFyeSBob3ZlcjpiZy1idXR0b24tdGVydGlhcnktaG92ZXIgaG92ZXI6b3V0bGluZS1ib3JkZXItc3VidGxlIGRpc2FibGVkOmJnLWJ1dHRvbi10ZXJ0aWFyeSBkaXNhYmxlZDpvdXRsaW5lLWJvcmRlci1kaXNhYmxlZFwiLGdob3N0OlwidGV4dC10ZXh0LXByaW1hcnkgYmctdHJhbnNwYXJlbnQgb3V0bGluZS10cmFuc3BhcmVudCBob3ZlcjpiZy1idXR0b24tdGVydGlhcnktaG92ZXJcIixsaW5rOlwib3V0bGluZS1ub25lIHRleHQtbGluay1wcmltYXJ5IGJnLXRyYW5zcGFyZW50IGhvdmVyOnRleHQtbGluay1wcmltYXJ5LWhvdmVyIGhvdmVyOnVuZGVybGluZSBwLTAgYm9yZGVyLTAgbGVhZGluZy1ub25lXCJ9KXx8dm9pZCAwPT09bj92b2lkIDA6blthXSxUPXgmJiF2P251bGw9PT0ocj17cHJpbWFyeTpcImJnLWJ1dHRvbi1kYW5nZXIgaG92ZXI6YmctYnV0dG9uLWRhbmdlci1ob3ZlciBvdXRsaW5lLWJ1dHRvbi1kYW5nZXIgaG92ZXI6b3V0bGluZS1idXR0b24tZGFuZ2VyLWhvdmVyXCIsb3V0bGluZTpcInRleHQtYnV0dG9uLWRhbmdlciBvdXRsaW5lIG91dGxpbmUtMSBvdXRsaW5lLWJ1dHRvbi1kYW5nZXIgaG92ZXI6b3V0bGluZS1idXR0b24tZGFuZ2VyIGJnLWJ1dHRvbi10ZXJ0aWFyeSBob3ZlcjpiZy1maWVsZC1iYWNrZ3JvdW5kLWVycm9yXCIsZ2hvc3Q6XCJ0ZXh0LWJ1dHRvbi1kYW5nZXIgaG92ZXI6YmctZmllbGQtYmFja2dyb3VuZC1lcnJvclwiLGxpbms6XCJ0ZXh0LWJ1dHRvbi1kYW5nZXIgaG92ZXI6dGV4dC1idXR0b24tZGFuZ2VyLXNlY29uZGFyeVwifSl8fHZvaWQgMD09PXI/dm9pZCAwOnJbYV06XCJcIixNPW51bGw9PT0obz17eHM6XCJwLTEgcm91bmRlZCBbJj5zdmddOnNpemUtNFwiLHNtOlwicC0yIHJvdW5kZWQgWyY+c3ZnXTpzaXplLTQgZ2FwLTAuNVwiLG1kOlwicC0yLjUgcm91bmRlZC1tZCB0ZXh0LXNtIFsmPnN2Z106c2l6ZS01IGdhcC0xXCIsbGc6XCJwLTMgcm91bmRlZC1sZyB0ZXh0LWJhc2UgWyY+c3ZnXTpzaXplLTYgZ2FwLTFcIn0pfHx2b2lkIDA9PT1vP3ZvaWQgMDpvW3VdLFI9bnVsbCxEPVwiXCI7UyYmKEQ9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiLFwibGVmdFwiPT09RT9pPVM6Uj1TKTt2YXIgaj1oO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChqLGNlKHtyZWY6dCx0eXBlOmYsY2xhc3NOYW1lOm9lKEQsXCJvdXRsaW5lIG91dGxpbmUtMSBib3JkZXItbm9uZSBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0zMDAgZWFzZS1pbi1vdXQgdGV4dC14cyBmb250LXNlbWlib2xkIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXRvZ2dsZS1vbiBmb2N1czpyaW5nLW9mZnNldC0yIGRpc2FibGVkOnRleHQtdGV4dC1kaXNhYmxlZFwiLE0sTixULE8scCksZGlzYWJsZWQ6dn0sUCksaSxsKCkuY3JlYXRlRWxlbWVudChcInNwYW5cIix7Y2xhc3NOYW1lOlwicHgtMVwifSxnKSxSKX0pKSxkZT11ZTtsZXQgZmU9KGU9MjEpPT57bGV0IHQ9XCJcIixuPWNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoZSkpO2Zvcig7ZS0tOyl0Kz1cInVzZWFuZG9tLTI2VDE5ODM0MFBYNzVweEpBQ0tWRVJZTUlOREJVU0hXT0xGX0dRWmJmZ2hqa2xxdnd5enJpY3RcIls2MyZuW2VdXTtyZXR1cm4gdH07dmFyIG1lPVtcImlkXCIsXCJvbkNoYW5nZVwiLFwidmFsdWVcIixcImRlZmF1bHRWYWx1ZVwiLFwic2l6ZVwiLFwiZGlzYWJsZWRcIixcImxhYmVsXCIsXCJuYW1lXCIsXCJjbGFzc05hbWVcIl07ZnVuY3Rpb24gaGUoKXtyZXR1cm4gaGU9T2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduLmJpbmQoKTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJihlW3JdPW5bcl0pfXJldHVybiBlfSxoZS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gcGUoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPUFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfXZhciBnZT1mdW5jdGlvbihlKXt2YXIgdD1lLmxhYmVsLG49ZS5zd2l0Y2hJZCxyPWUuZGlzYWJsZWQsbz12b2lkIDAhPT1yJiZyLGk9ZS5jaGlsZHJlbixzPWUuc2l6ZTtpZigoMCxhLmlzVmFsaWRFbGVtZW50KSh0KSlyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIixcIml0ZW1zLXN0YXJ0XCIpfSxpLHQpO3ZhciBsLGMsdSxkLGYsbT0hKG51bGwhPXQmJnQuaGVhZGluZ3x8bnVsbCE9dCYmdC5kZXNjcmlwdGlvbiksaD1udWxsIT10JiZ0LmhlYWRpbmcmJm51bGwhPXQmJnQuZGVzY3JpcHRpb24/XCJpdGVtcy1zdGFydFwiOlwiaXRlbXMtY2VudGVyXCI7cmV0dXJuIG0/aTpSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcImlubGluZS1mbGV4XCIsaCxcImdhcC0zXCIpfSxpLFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJsYWJlbFwiLHtodG1sRm9yOm4sY2xhc3NOYW1lOm9lKCFvJiZcImN1cnNvci1wb2ludGVyXCIpfSwodT12b2lkIDA9PT0oYz0obD10fHx7fSkuaGVhZGluZyk/XCJcIjpjLGY9dm9pZCAwPT09KGQ9bC5kZXNjcmlwdGlvbik/XCJcIjpkLFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwic3BhY2UteS0xLjVcIn0sdSYmUmVhY3QuY3JlYXRlRWxlbWVudChcInBcIix7Y2xhc3NOYW1lOm9lKFwidGV4dC10ZXh0LXByaW1hcnkgbS0wXCIse3NtOlwidGV4dC1zbSBsZWFkaW5nLTQgZm9udC1tZWRpdW1cIixtZDpcInRleHQtYmFzZSBsZWFkaW5nLTUgZm9udC1tZWRpdW1cIixsZzpcInRleHQtbGcgbGVhZGluZy02IGZvbnQtbWVkaXVtXCJ9W3NdLG8mJlwidGV4dC10ZXh0LWRpc2FibGVkXCIpfSx1KSxmJiZSZWFjdC5jcmVhdGVFbGVtZW50KFwicFwiLHtjbGFzc05hbWU6b2UoXCJ0ZXh0LXRleHQtc2Vjb25kYXJ5IHRleHQtc20gZm9udC1ub3JtYWwgbGVhZGluZy01IG0tMFwiLG8mJlwidGV4dC10ZXh0LWRpc2FibGVkXCIpfSxmKSkpKSl9LHllPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixvPWUuaWQsaT1lLm9uQ2hhbmdlLHM9ZS52YWx1ZSxsPWUuZGVmYXVsdFZhbHVlLGM9dm9pZCAwIT09bCYmbCx1PWUuc2l6ZSxkPXZvaWQgMD09PXU/XCJsZ1wiOnUsZj1lLmRpc2FibGVkLG09dm9pZCAwIT09ZiYmZixoPWUubGFiZWwscD12b2lkIDA9PT1oP3toZWFkaW5nOlwiXCIsZGVzY3JpcHRpb246XCJcIn06aCxnPWUubmFtZSx5PWUuY2xhc3NOYW1lLHY9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuLHIsbz1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG49e307Zm9yKHZhciByIGluIGUpaWYoe30uaGFzT3duUHJvcGVydHkuY2FsbChlLHIpKXtpZih0LmluY2x1ZGVzKHIpKWNvbnRpbnVlO25bcl09ZVtyXX1yZXR1cm4gbn0oZSx0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO2ZvcihyPTA7cjxpLmxlbmd0aDtyKyspbj1pW3JdLHQuaW5jbHVkZXMobil8fHt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSxuKSYmKG9bbl09ZVtuXSl9cmV0dXJuIG99KGUsbWUpLGI9KDAsYS51c2VNZW1vKSgoZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09c30pLFtzXSkseD0oMCxhLnVzZU1lbW8pKChmdW5jdGlvbigpe3JldHVybiBvfHxcInN3aXRjaC1cIi5jb25jYXQoZmUoKSl9KSxbXSksdz0obj0oMCxhLnVzZVN0YXRlKShjKSxyPTIsZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0obil8fGZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09ZT9udWxsOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVtcIkBAaXRlcmF0b3JcIl07aWYobnVsbCE9bil7dmFyIHIsbyxpLHMsYT1bXSxsPSEwLGM9ITE7dHJ5e2lmKGk9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtsPSExfWVsc2UgZm9yKDshKGw9KHI9aS5jYWxsKG4pKS5kb25lKSYmKGEucHVzaChyLnZhbHVlKSxhLmxlbmd0aCE9PXQpO2w9ITApO31jYXRjaChlKXtjPSEwLG89ZX1maW5hbGx5e3RyeXtpZighbCYmbnVsbCE9bi5yZXR1cm4mJihzPW4ucmV0dXJuKCksT2JqZWN0KHMpIT09cykpcmV0dXJufWZpbmFsbHl7aWYoYyl0aHJvdyBvfX1yZXR1cm4gYX19KG4scil8fGZ1bmN0aW9uKGUsdCl7aWYoZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpcmV0dXJuIHBlKGUsdCk7dmFyIG49e30udG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTtyZXR1cm5cIk9iamVjdFwiPT09biYmZS5jb25zdHJ1Y3RvciYmKG49ZS5jb25zdHJ1Y3Rvci5uYW1lKSxcIk1hcFwiPT09bnx8XCJTZXRcIj09PW4/QXJyYXkuZnJvbShlKTpcIkFyZ3VtZW50c1wiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/cGUoZSx0KTp2b2lkIDB9fShuLHIpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIil9KCkpLFM9d1swXSxrPXdbMV0sRT1cInByaW1hcnlcIixDPSgwLGEudXNlQ2FsbGJhY2spKChmdW5jdGlvbigpe3JldHVybiBiP3M6U30pLFtiLHMsU10pLF89e3ByaW1hcnk6e2lucHV0OlwiYmctdG9nZ2xlLW9mZiBob3ZlcjpiZy10b2dnbGUtb2ZmLWhvdmVyIGNoZWNrZWQ6YmctdG9nZ2xlLW9uIGZvY3VzOnJpbmcgZm9jdXM6cmluZy10b2dnbGUtb24gZm9jdXM6cmluZy1vZmZzZXQtNCBjaGVja2VkOmhvdmVyOmJnLXRvZ2dsZS1vbiBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci10b2dnbGUtb2ZmLWJvcmRlciBjaGVja2VkOmJvcmRlci10b2dnbGUtb24tYm9yZGVyIHNoYWRvdy10b2dnbGVDb250YWluZXIgZm9jdXM6b3V0bGluZS1ub25lIGNoZWNrZWQ6Zm9jdXM6Ym9yZGVyLXRvZ2dsZS1vbi1ib3JkZXIgZm9jdXM6Ym9yZGVyLXRvZ2dsZS1vZmYtYm9yZGVyXCIsdG9nZ2xlRGlhbDpcImJnLXRvZ2dsZS1kaWFsLWJhY2tncm91bmQgc2hhZG93LXRvZ2dsZURpYWxcIn19LFA9e2xnOntjb250YWluZXI6XCJ3LTExIGgtNlwiLHRvZ2dsZURpYWw6XCJzaXplLTQgcGVlci1jaGVja2VkOnRyYW5zbGF0ZS14LTVcIn0sbWQ6e2NvbnRhaW5lcjpcInctMTAgaC01XCIsdG9nZ2xlRGlhbDpcInNpemUtMyBwZWVyLWNoZWNrZWQ6dHJhbnNsYXRlLXgtNVwifSxzbTp7Y29udGFpbmVyOlwidy04IGgtNFwiLHRvZ2dsZURpYWw6XCJzaXplLTIuNSBwZWVyLWNoZWNrZWQ6dHJhbnNsYXRlLXgtMy41XCJ9fTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChnZSx7bGFiZWw6cCxzd2l0Y2hJZDp4LGRpc2FibGVkOm0sc2l6ZTpkfSxSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcInJlbGF0aXZlIGlubGluZS1ibG9jayBjdXJzb3ItcG9pbnRlciByb3VuZGVkLWZ1bGwgc2hyaW5rLTBcIixQW2RdLmNvbnRhaW5lcix5KX0sUmVhY3QuY3JlYXRlRWxlbWVudChcImlucHV0XCIsaGUoe3JlZjp0LGlkOngsdHlwZTpcImNoZWNrYm94XCIsY2xhc3NOYW1lOm9lKFwicGVlciBhcHBlYXJhbmNlLW5vbmUgYWJzb2x1dGUgYmctYmx1ZS1ncmF5LTEwMCByb3VuZGVkLWZ1bGwgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMzAwIGgtZnVsbCB3LWZ1bGwgIGJlZm9yZTpjb250ZW50LVsnJ10gY2hlY2tlZDpiZWZvcmU6Y29udGVudC1bJyddIG0tMCBjaGVja2VkOltiYWNrZ3JvdW5kLWltYWdlOm5vbmVdXCIsX1tFXS5pbnB1dCxtJiZcImJnLXRvZ2dsZS1vZmYtZGlzYWJsZWQgZGlzYWJsZWQ6Ym9yZGVyLXRyYW5zcGFyZW50IHNoYWRvdy1ub25lIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZFwiKSxjaGVja2VkOkMoKSxvbkNoYW5nZTpmdW5jdGlvbihlKXtpZighbSl7dmFyIHQ9ZS50YXJnZXQuY2hlY2tlZDtifHxrKHQpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGkmJmkodCl9fSxkaXNhYmxlZDptLG5hbWU6Z30sdikpLFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJsYWJlbFwiLHtodG1sRm9yOngsY2xhc3NOYW1lOm9lKFwiYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ibHVlLWdyYXktMTAwIHJvdW5kZWQtZnVsbCBhYnNvbHV0ZSBjdXJzb3ItcG9pbnRlciBzaGFkb3ctbWQgYmVmb3JlOmNvbnRlbnRbJyddIGJlZm9yZTp0cmFuc2l0aW9uLW9wYWNpdHkgYmVmb3JlOm9wYWNpdHktMCBob3ZlcjpiZWZvcmU6b3BhY2l0eS0xMCBiZWZvcmU6aGlkZGVuIGJvcmRlci1ub25lIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCB0b3AtMi80IGxlZnQtMSAtdHJhbnNsYXRlLXktMi80IGJlZm9yZTp3LTEwIGJlZm9yZTpoLTEwIGJlZm9yZTpyb3VuZGVkLWZ1bGwgYmVmb3JlOmFic29sdXRlIGJlZm9yZTp0b3AtMi80IGJlZm9yZTpsZWZ0LTIvNCBiZWZvcmU6LXRyYW5zbGF0ZS15LTIvNCBiZWZvcmU6LXRyYW5zbGF0ZS14LTIvNFwiLFBbZF0udG9nZ2xlRGlhbCxfW0VdLnRvZ2dsZURpYWwsbSYmXCJwZWVyLWRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZFwiKX0pKSl9LHZlPSgwLGEuZm9yd2FyZFJlZikoeWUpO3ZlLmRpc3BsYXlOYW1lPVwiU3dpdGNoXCI7dmFyIGJlPXZlO2NvbnN0IHhlPSguLi5lKT0+ZS5maWx0ZXIoKChlLHQsbik9PkJvb2xlYW4oZSkmJm4uaW5kZXhPZihlKT09PXQpKS5qb2luKFwiIFwiKTt2YXIgd2U9e3htbG5zOlwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIix3aWR0aDoyNCxoZWlnaHQ6MjQsdmlld0JveDpcIjAgMCAyNCAyNFwiLGZpbGw6XCJub25lXCIsc3Ryb2tlOlwiY3VycmVudENvbG9yXCIsc3Ryb2tlV2lkdGg6MixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCJ9O2NvbnN0IFNlPSgwLGEuZm9yd2FyZFJlZikoKCh7Y29sb3I6ZT1cImN1cnJlbnRDb2xvclwiLHNpemU6dD0yNCxzdHJva2VXaWR0aDpuPTIsYWJzb2x1dGVTdHJva2VXaWR0aDpyLGNsYXNzTmFtZTpvPVwiXCIsY2hpbGRyZW46aSxpY29uTm9kZTpzLC4uLmx9LGMpPT4oMCxhLmNyZWF0ZUVsZW1lbnQpKFwic3ZnXCIse3JlZjpjLC4uLndlLHdpZHRoOnQsaGVpZ2h0OnQsc3Ryb2tlOmUsc3Ryb2tlV2lkdGg6cj8yNCpOdW1iZXIobikvTnVtYmVyKHQpOm4sY2xhc3NOYW1lOnhlKFwibHVjaWRlXCIsbyksLi4ubH0sWy4uLnMubWFwKCgoW2UsdF0pPT4oMCxhLmNyZWF0ZUVsZW1lbnQpKGUsdCkpKSwuLi5BcnJheS5pc0FycmF5KGkpP2k6W2ldXSkpKSxrZT0oZSx0KT0+e2NvbnN0IG49KDAsYS5mb3J3YXJkUmVmKSgoKHtjbGFzc05hbWU6biwuLi5yfSxvKT0+e3JldHVybigwLGEuY3JlYXRlRWxlbWVudCkoU2Use3JlZjpvLGljb25Ob2RlOnQsY2xhc3NOYW1lOnhlKGBsdWNpZGUtJHtpPWUsaS5yZXBsYWNlKC8oW2EtejAtOV0pKFtBLVpdKS9nLFwiJDEtJDJcIikudG9Mb3dlckNhc2UoKX1gLG4pLC4uLnJ9KTt2YXIgaX0pKTtyZXR1cm4gbi5kaXNwbGF5TmFtZT1gJHtlfWAsbn0sRWU9a2UoXCJNaW51c1wiLFtbXCJwYXRoXCIse2Q6XCJNNSAxMmgxNFwiLGtleTpcIjFheXMwaFwifV1dKSxDZT1rZShcIkNoZWNrXCIsW1tcInBhdGhcIix7ZDpcIk0yMCA2IDkgMTdsLTUtNVwiLGtleTpcIjFnbWYyY1wifV1dKTt2YXIgX2U9W1wiaWRcIixcImxhYmVsXCIsXCJkZWZhdWx0Q2hlY2tlZFwiLFwiY2hlY2tlZFwiLFwib25DaGFuZ2VcIixcInZhbHVlXCIsXCJpbmRldGVybWluYXRlXCIsXCJkaXNhYmxlZFwiLFwic2l6ZVwiXTtmdW5jdGlvbiBQZSgpe3JldHVybiBQZT1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LFBlLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBPZShlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9QXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9dmFyIE5lPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixvLGkscz1lLmlkLGw9ZS5sYWJlbCxjPWUuZGVmYXVsdENoZWNrZWQsdT12b2lkIDAhPT1jJiZjLGQ9ZS5jaGVja2VkLGY9ZS5vbkNoYW5nZSxtPShlLnZhbHVlLGUuaW5kZXRlcm1pbmF0ZSksaD1lLmRpc2FibGVkLHA9ZS5zaXplLGc9dm9pZCAwPT09cD9cIm1kXCI6cCx5PWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbixyLG89ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPXt9O2Zvcih2YXIgciBpbiBlKWlmKHt9Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSl7aWYodC5pbmNsdWRlcyhyKSljb250aW51ZTtuW3JdPWVbcl19cmV0dXJuIG59KGUsdCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKW49aVtyXSx0LmluY2x1ZGVzKG4pfHx7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsbikmJihvW25dPWVbbl0pfXJldHVybiBvfShlLF9lKSx2PSgwLGEudXNlTWVtbykoKGZ1bmN0aW9uKCl7cmV0dXJuIHN8fFwiY2hlY2tib3gtXCIuY29uY2F0KGZlKCkpfSksW3NdKSxiPSgwLGEudXNlTWVtbykoKGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PWR9KSxbZF0pLHg9KG89KDAsYS51c2VTdGF0ZSkodXx8ITEpLGk9MixmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShvKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlW1wiQEBpdGVyYXRvclwiXTtpZihudWxsIT1uKXt2YXIgcixvLGkscyxhPVtdLGw9ITAsYz0hMTt0cnl7aWYoaT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2w9ITF9ZWxzZSBmb3IoOyEobD0ocj1pLmNhbGwobikpLmRvbmUpJiYoYS5wdXNoKHIudmFsdWUpLGEubGVuZ3RoIT09dCk7bD0hMCk7fWNhdGNoKGUpe2M9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFsJiZudWxsIT1uLnJldHVybiYmKHM9bi5yZXR1cm4oKSxPYmplY3QocykhPT1zKSlyZXR1cm59ZmluYWxseXtpZihjKXRocm93IG99fXJldHVybiBhfX0obyxpKXx8ZnVuY3Rpb24oZSx0KXtpZihlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSlyZXR1cm4gT2UoZSx0KTt2YXIgbj17fS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpO3JldHVyblwiT2JqZWN0XCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpLFwiTWFwXCI9PT1ufHxcIlNldFwiPT09bj9BcnJheS5mcm9tKGUpOlwiQXJndW1lbnRzXCI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9PZShlLHQpOnZvaWQgMH19KG8saSl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKSksdz14WzBdLFM9eFsxXSxrPVwicHJpbWFyeVwiLEU9e3NtOntjaGVja2JveDpcInNpemUtNCByb3VuZGVkIGdhcC0xXCIsaWNvbjpcInNpemUtM1wiLHRleHQ6XCJ0ZXh0LXNtXCIsZGVzY3JpcHRpb246XCJ0ZXh0LXhzXCIsZ2FwOlwiZ2FwLTAuNVwifSxtZDp7Y2hlY2tib3g6XCJzaXplLTUgcm91bmRlZCBnYXAtMVwiLGljb246XCJzaXplLTRcIix0ZXh0OlwidGV4dC1iYXNlXCIsZGVzY3JpcHRpb246XCJ0ZXh0LXNtXCIsZ2FwOlwiZ2FwLTFcIn19LEM9e3ByaW1hcnk6e2NoZWNrYm94OlwiYm9yZGVyLWJvcmRlci1zdHJvbmcgaG92ZXI6Ym9yZGVyLWJvcmRlci1pbnRlcmFjdGl2ZSBjaGVja2VkOmJvcmRlci1ib3JkZXItaW50ZXJhY3RpdmUgYmctd2hpdGUgY2hlY2tlZDpiZy10b2dnbGUtb24gY2hlY2tlZDpob3ZlcjpiZy10b2dnbGUtb24taG92ZXIgY2hlY2tlZDpob3Zlcjpib3JkZXItdG9nZ2xlLW9uLWhvdmVyIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLW9mZnNldC00IGZvY3VzOnJpbmctZm9jdXNcIixpY29uOlwidGV4dC13aGl0ZVwifX0sXz0oMCxhLnVzZUNhbGxiYWNrKSgoZnVuY3Rpb24oKXtyZXR1cm4gYj9kOnd9KSxbYixkLHddKSxQPSgwLGEudXNlQ2FsbGJhY2spKChmdW5jdGlvbigpe3JldHVybigwLGEuaXNWYWxpZEVsZW1lbnQpKGwpP2w6bC5oZWFkaW5nfHxsLmRlc2NyaXB0aW9uP1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOkVbZ10uZ2FwfSxsLmhlYWRpbmcmJlJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwXCIse2NsYXNzTmFtZTpvZShcInRleHQtdGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtIGxlYWRpbmctNCBtLTBcIixFW2ddLnRleHQsRVtnXS5nYXApfSxsLmhlYWRpbmcpLGwuZGVzY3JpcHRpb24mJlJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwXCIse2NsYXNzTmFtZTpvZShcInRleHQtdGV4dC1zZWNvbmRhcnkgZm9udC1ub3JtYWwgbGVhZGluZy01IG0tMFwiLEVbZ10uZGVzY3JpcHRpb24pfSxsLmRlc2NyaXB0aW9uKSk6bnVsbH0pLFtsLGddKTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIiwhIWwmJlwiaXRlbXMtc3RhcnRcIil9LFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJsYWJlbFwiLHtjbGFzc05hbWU6b2UoXCJyZWxhdGl2ZSBmbGV4IGl0ZW1zLWNlbnRlciByb3VuZGVkLWZ1bGwgcC0wLjVcIiwhaCYmXCJjdXJzb3ItcG9pbnRlclwiKSxodG1sRm9yOnZ9LFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLFBlKHtyZWY6dCxpZDp2LHR5cGU6XCJjaGVja2JveFwiLGNsYXNzTmFtZTpvZShcInBlZXIgcmVsYXRpdmUgY3Vyc29yLXBvaW50ZXIgYXBwZWFyYW5jZS1ub25lIHRyYW5zaXRpb24tYWxsIG0tMCBiZWZvcmU6Y29udGVudC1bJyddIGNoZWNrZWQ6YmVmb3JlOmNvbnRlbnQtWycnXSBjaGVja2VkOmJlZm9yZTpoaWRkZW4gYmVmb3JlOmhpZGRlbiAhYm9yZGVyLTEuNSBib3JkZXItc29saWRcIixDW2tdLmNoZWNrYm94LEVbZ10uY2hlY2tib3gsaCYmXCJkaXNhYmxlZDpiZy13aGl0ZSBjaGVja2VkOmRpc2FibGVkOmJnLXdoaXRlIGRpc2FibGVkOmJvcmRlci1ib3JkZXItZGlzYWJsZWQgY2hlY2tlZDpkaXNhYmxlZDpib3JkZXItYm9yZGVyLWRpc2FibGVkXCIpLGNoZWNrZWQ6XygpLG9uQ2hhbmdlOmZ1bmN0aW9uKGUpe2lmKCFoKXt2YXIgdD1lLnRhcmdldC5jaGVja2VkO2J8fFModCksXCJmdW5jdGlvblwiPT10eXBlb2YgZiYmZih0KX19LGRpc2FibGVkOmh9LHkpKSxSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6b2UoXCJwb2ludGVyLWV2ZW50cy1ub25lIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBhYnNvbHV0ZSB0b3AtMi80IGxlZnQtMi80IC10cmFuc2xhdGUteS0yLzQgLXRyYW5zbGF0ZS14LTIvNCB0ZXh0LXdoaXRlIG9wYWNpdHktMCB0cmFuc2l0aW9uLW9wYWNpdHkgcGVlci1jaGVja2VkOm9wYWNpdHktMTAwXCIsQ1trXS5pY29uLGgmJlwicGVlci1kaXNhYmxlZDp0ZXh0LWJvcmRlci1kaXNhYmxlZFwiKX0sbT9SZWFjdC5jcmVhdGVFbGVtZW50KEVlLHtjbGFzc05hbWU6b2UobnVsbD09PShuPUVbZ10pfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmljb24pfSk6UmVhY3QuY3JlYXRlRWxlbWVudChDZSx7Y2xhc3NOYW1lOm9lKG51bGw9PT0ocj1FW2ddKXx8dm9pZCAwPT09cj92b2lkIDA6ci5pY29uKX0pKSksISFsJiZSZWFjdC5jcmVhdGVFbGVtZW50KFwibGFiZWxcIix7Y2xhc3NOYW1lOm9lKCFoJiZcImN1cnNvci1wb2ludGVyXCIpLGh0bWxGb3I6dn0sUCgpKSl9LFRlPSgwLGEuZm9yd2FyZFJlZikoTmUpO1RlLmRpc3BsYXlOYW1lPVwiQ2hlY2tib3hcIjt2YXIgTWU9VGU7Y29uc3QgUmU9a2UoXCJJbmZvXCIsW1tcImNpcmNsZVwiLHtjeDpcIjEyXCIsY3k6XCIxMlwiLHI6XCIxMFwiLGtleTpcIjFtZ2xheVwifV0sW1wicGF0aFwiLHtkOlwiTTEyIDE2di00XCIsa2V5OlwiMWR0aWZ1XCJ9XSxbXCJwYXRoXCIse2Q6XCJNMTIgOGguMDFcIixrZXk6XCJlOWJvaTNcIn1dXSk7dmFyIERlPXtwcmltYXJ5OntjaGVja2JveDpcImJvcmRlci1ib3JkZXItc3Ryb25nIGhvdmVyOmJvcmRlci1ib3JkZXItaW50ZXJhY3RpdmUgY2hlY2tlZDpib3JkZXItYm9yZGVyLWludGVyYWN0aXZlIGJnLXdoaXRlIGNoZWNrZWQ6YmctdG9nZ2xlLW9uIGNoZWNrZWQ6aG92ZXI6YmctdG9nZ2xlLW9uLWhvdmVyIGNoZWNrZWQ6aG92ZXI6Ym9yZGVyLXRvZ2dsZS1vbi1ob3ZlciBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1vZmZzZXQtNCBmb2N1czpyaW5nLWZvY3VzXCIsaWNvbjpcInRleHQtd2hpdGVcIn19LGplPXtzbTpcInRleHQtc20gbGVhZGluZy01XCIsbWQ6XCJ0ZXh0LWJhc2UgbGVhZGluZy02XCJ9LEFlPXtzbTp7Y2hlY2tib3g6XCJzaXplLTRcIixpY29uOlwic2l6ZS0xLjVcIixpbmZvOlwic2l6ZS00XCJ9LG1kOntjaGVja2JveDpcInNpemUtNVwiLGljb246XCJzaXplLTJcIixpbmZvOlwic2l6ZS01XCJ9fSxJZT17eHM6XCJweS0xIHB4LTEgdGV4dC1zbSBnYXAtMC41IFsmPnN2Z106c2l6ZS00XCIsc206XCJweS0xIHB4LTEuNSB0ZXh0LWJhc2UgZ2FwLTEgWyY+c3ZnXTpzaXplLTRcIixtZDpcInB5LTIgcHgtMi41IHRleHQtYmFzZSBnYXAtMSBbJj5zdmddOnNpemUtNVwiLGxnOlwicHktMi41IHB4LTMgdGV4dC1iYXNlIGdhcC0xIFsmPnN2Z106c2l6ZS02XCJ9O2Z1bmN0aW9uIExlKGUpe3JldHVybiBCZShlKT8oZS5ub2RlTmFtZXx8XCJcIikudG9Mb3dlckNhc2UoKTpcIiNkb2N1bWVudFwifWZ1bmN0aW9uIEZlKGUpe3ZhciB0O3JldHVybihudWxsPT1lfHxudWxsPT0odD1lLm93bmVyRG9jdW1lbnQpP3ZvaWQgMDp0LmRlZmF1bHRWaWV3KXx8d2luZG93fWZ1bmN0aW9uIHplKGUpe3ZhciB0O3JldHVybiBudWxsPT0odD0oQmUoZSk/ZS5vd25lckRvY3VtZW50OmUuZG9jdW1lbnQpfHx3aW5kb3cuZG9jdW1lbnQpP3ZvaWQgMDp0LmRvY3VtZW50RWxlbWVudH1mdW5jdGlvbiBCZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIE5vZGV8fGUgaW5zdGFuY2VvZiBGZShlKS5Ob2RlfWZ1bmN0aW9uIFdlKGUpe3JldHVybiBlIGluc3RhbmNlb2YgRWxlbWVudHx8ZSBpbnN0YW5jZW9mIEZlKGUpLkVsZW1lbnR9ZnVuY3Rpb24gVmUoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudHx8ZSBpbnN0YW5jZW9mIEZlKGUpLkhUTUxFbGVtZW50fWZ1bmN0aW9uIFVlKGUpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBTaGFkb3dSb290JiYoZSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3R8fGUgaW5zdGFuY2VvZiBGZShlKS5TaGFkb3dSb290KX1mdW5jdGlvbiAkZShlKXtjb25zdHtvdmVyZmxvdzp0LG92ZXJmbG93WDpuLG92ZXJmbG93WTpyLGRpc3BsYXk6b309WGUoZSk7cmV0dXJuL2F1dG98c2Nyb2xsfG92ZXJsYXl8aGlkZGVufGNsaXAvLnRlc3QodCtyK24pJiYhW1wiaW5saW5lXCIsXCJjb250ZW50c1wiXS5pbmNsdWRlcyhvKX1mdW5jdGlvbiBZZShlKXtyZXR1cm5bXCJ0YWJsZVwiLFwidGRcIixcInRoXCJdLmluY2x1ZGVzKExlKGUpKX1mdW5jdGlvbiBIZShlKXtyZXR1cm5bXCI6cG9wb3Zlci1vcGVuXCIsXCI6bW9kYWxcIl0uc29tZSgodD0+e3RyeXtyZXR1cm4gZS5tYXRjaGVzKHQpfWNhdGNoKGUpe3JldHVybiExfX0pKX1mdW5jdGlvbiBLZShlKXtjb25zdCB0PXFlKCksbj1XZShlKT9YZShlKTplO3JldHVyblwibm9uZVwiIT09bi50cmFuc2Zvcm18fFwibm9uZVwiIT09bi5wZXJzcGVjdGl2ZXx8ISFuLmNvbnRhaW5lclR5cGUmJlwibm9ybWFsXCIhPT1uLmNvbnRhaW5lclR5cGV8fCF0JiYhIW4uYmFja2Ryb3BGaWx0ZXImJlwibm9uZVwiIT09bi5iYWNrZHJvcEZpbHRlcnx8IXQmJiEhbi5maWx0ZXImJlwibm9uZVwiIT09bi5maWx0ZXJ8fFtcInRyYW5zZm9ybVwiLFwicGVyc3BlY3RpdmVcIixcImZpbHRlclwiXS5zb21lKChlPT4obi53aWxsQ2hhbmdlfHxcIlwiKS5pbmNsdWRlcyhlKSkpfHxbXCJwYWludFwiLFwibGF5b3V0XCIsXCJzdHJpY3RcIixcImNvbnRlbnRcIl0uc29tZSgoZT0+KG4uY29udGFpbnx8XCJcIikuaW5jbHVkZXMoZSkpKX1mdW5jdGlvbiBxZSgpe3JldHVybiEoXCJ1bmRlZmluZWRcIj09dHlwZW9mIENTU3x8IUNTUy5zdXBwb3J0cykmJkNTUy5zdXBwb3J0cyhcIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyXCIsXCJub25lXCIpfWZ1bmN0aW9uIEdlKGUpe3JldHVybltcImh0bWxcIixcImJvZHlcIixcIiNkb2N1bWVudFwiXS5pbmNsdWRlcyhMZShlKSl9ZnVuY3Rpb24gWGUoZSl7cmV0dXJuIEZlKGUpLmdldENvbXB1dGVkU3R5bGUoZSl9ZnVuY3Rpb24gWmUoZSl7cmV0dXJuIFdlKGUpP3tzY3JvbGxMZWZ0OmUuc2Nyb2xsTGVmdCxzY3JvbGxUb3A6ZS5zY3JvbGxUb3B9OntzY3JvbGxMZWZ0OmUuc2Nyb2xsWCxzY3JvbGxUb3A6ZS5zY3JvbGxZfX1mdW5jdGlvbiBKZShlKXtpZihcImh0bWxcIj09PUxlKGUpKXJldHVybiBlO2NvbnN0IHQ9ZS5hc3NpZ25lZFNsb3R8fGUucGFyZW50Tm9kZXx8VWUoZSkmJmUuaG9zdHx8emUoZSk7cmV0dXJuIFVlKHQpP3QuaG9zdDp0fWZ1bmN0aW9uIFFlKGUpe2NvbnN0IHQ9SmUoZSk7cmV0dXJuIEdlKHQpP2Uub3duZXJEb2N1bWVudD9lLm93bmVyRG9jdW1lbnQuYm9keTplLmJvZHk6VmUodCkmJiRlKHQpP3Q6UWUodCl9ZnVuY3Rpb24gZXQoZSx0LG4pe3ZhciByO3ZvaWQgMD09PXQmJih0PVtdKSx2b2lkIDA9PT1uJiYobj0hMCk7Y29uc3Qgbz1RZShlKSxpPW89PT0obnVsbD09KHI9ZS5vd25lckRvY3VtZW50KT92b2lkIDA6ci5ib2R5KSxzPUZlKG8pO2lmKGkpe2NvbnN0IGU9dHQocyk7cmV0dXJuIHQuY29uY2F0KHMscy52aXN1YWxWaWV3cG9ydHx8W10sJGUobyk/bzpbXSxlJiZuP2V0KGUpOltdKX1yZXR1cm4gdC5jb25jYXQobyxldChvLFtdLG4pKX1mdW5jdGlvbiB0dChlKXtyZXR1cm4gZS5wYXJlbnQmJk9iamVjdC5nZXRQcm90b3R5cGVPZihlLnBhcmVudCk/ZS5mcmFtZUVsZW1lbnQ6bnVsbH1mdW5jdGlvbiBudChlKXtsZXQgdD1lLmFjdGl2ZUVsZW1lbnQ7Zm9yKDtudWxsIT0obnVsbD09KG49dCl8fG51bGw9PShuPW4uc2hhZG93Um9vdCk/dm9pZCAwOm4uYWN0aXZlRWxlbWVudCk7KXt2YXIgbjt0PXQuc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50fXJldHVybiB0fWZ1bmN0aW9uIHJ0KGUsdCl7aWYoIWV8fCF0KXJldHVybiExO2NvbnN0IG49bnVsbD09dC5nZXRSb290Tm9kZT92b2lkIDA6dC5nZXRSb290Tm9kZSgpO2lmKGUuY29udGFpbnModCkpcmV0dXJuITA7aWYobiYmVWUobikpe2xldCBuPXQ7Zm9yKDtuOyl7aWYoZT09PW4pcmV0dXJuITA7bj1uLnBhcmVudE5vZGV8fG4uaG9zdH19cmV0dXJuITF9ZnVuY3Rpb24gb3QoKXtjb25zdCBlPW5hdmlnYXRvci51c2VyQWdlbnREYXRhO3JldHVybiBudWxsIT1lJiZlLnBsYXRmb3JtP2UucGxhdGZvcm06bmF2aWdhdG9yLnBsYXRmb3JtfWZ1bmN0aW9uIGl0KCl7Y29uc3QgZT1uYXZpZ2F0b3IudXNlckFnZW50RGF0YTtyZXR1cm4gZSYmQXJyYXkuaXNBcnJheShlLmJyYW5kcyk/ZS5icmFuZHMubWFwKChlPT57bGV0e2JyYW5kOnQsdmVyc2lvbjpufT1lO3JldHVybiB0K1wiL1wiK259KSkuam9pbihcIiBcIik6bmF2aWdhdG9yLnVzZXJBZ2VudH1mdW5jdGlvbiBzdChlKXtyZXR1cm4hKDAhPT1lLm1veklucHV0U291cmNlfHwhZS5pc1RydXN0ZWQpfHwoY3QoKSYmZS5wb2ludGVyVHlwZT9cImNsaWNrXCI9PT1lLnR5cGUmJjE9PT1lLmJ1dHRvbnM6MD09PWUuZGV0YWlsJiYhZS5wb2ludGVyVHlwZSl9ZnVuY3Rpb24gYXQoZSl7cmV0dXJuIWl0KCkuaW5jbHVkZXMoXCJqc2RvbS9cIikmJighY3QoKSYmMD09PWUud2lkdGgmJjA9PT1lLmhlaWdodHx8Y3QoKSYmMT09PWUud2lkdGgmJjE9PT1lLmhlaWdodCYmMD09PWUucHJlc3N1cmUmJjA9PT1lLmRldGFpbCYmXCJtb3VzZVwiPT09ZS5wb2ludGVyVHlwZXx8ZS53aWR0aDwxJiZlLmhlaWdodDwxJiYwPT09ZS5wcmVzc3VyZSYmMD09PWUuZGV0YWlsJiZcInRvdWNoXCI9PT1lLnBvaW50ZXJUeXBlKX1mdW5jdGlvbiBsdCgpe3JldHVybi9hcHBsZS9pLnRlc3QobmF2aWdhdG9yLnZlbmRvcil9ZnVuY3Rpb24gY3QoKXtjb25zdCBlPS9hbmRyb2lkL2k7cmV0dXJuIGUudGVzdChvdCgpKXx8ZS50ZXN0KGl0KCkpfWZ1bmN0aW9uIHV0KCl7cmV0dXJuIG90KCkudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKFwibWFjXCIpJiYhbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzfWZ1bmN0aW9uIGR0KGUsdCl7Y29uc3Qgbj1bXCJtb3VzZVwiLFwicGVuXCJdO3JldHVybiB0fHxuLnB1c2goXCJcIix2b2lkIDApLG4uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gZnQoZSl7cmV0dXJuKG51bGw9PWU/dm9pZCAwOmUub3duZXJEb2N1bWVudCl8fGRvY3VtZW50fWZ1bmN0aW9uIG10KGUsdCl7aWYobnVsbD09dClyZXR1cm4hMTtpZihcImNvbXBvc2VkUGF0aFwiaW4gZSlyZXR1cm4gZS5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyh0KTtjb25zdCBuPWU7cmV0dXJuIG51bGwhPW4udGFyZ2V0JiZ0LmNvbnRhaW5zKG4udGFyZ2V0KX1mdW5jdGlvbiBodChlKXtyZXR1cm5cImNvbXBvc2VkUGF0aFwiaW4gZT9lLmNvbXBvc2VkUGF0aCgpWzBdOmUudGFyZ2V0fWNvbnN0IHB0PVwiaW5wdXQ6bm90KFt0eXBlPSdoaWRkZW4nXSk6bm90KFtkaXNhYmxlZF0pLFtjb250ZW50ZWRpdGFibGVdOm5vdChbY29udGVudGVkaXRhYmxlPSdmYWxzZSddKSx0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSlcIjtmdW5jdGlvbiBndChlKXtyZXR1cm4gVmUoZSkmJmUubWF0Y2hlcyhwdCl9ZnVuY3Rpb24geXQoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gdnQoZSl7cmV0dXJuISFlJiZcImNvbWJvYm94XCI9PT1lLmdldEF0dHJpYnV0ZShcInJvbGVcIikmJmd0KGUpfWNvbnN0IGJ0PU1hdGgubWluLHh0PU1hdGgubWF4LHd0PU1hdGgucm91bmQsU3Q9TWF0aC5mbG9vcixrdD1lPT4oe3g6ZSx5OmV9KSxFdD17bGVmdDpcInJpZ2h0XCIscmlnaHQ6XCJsZWZ0XCIsYm90dG9tOlwidG9wXCIsdG9wOlwiYm90dG9tXCJ9LEN0PXtzdGFydDpcImVuZFwiLGVuZDpcInN0YXJ0XCJ9O2Z1bmN0aW9uIF90KGUsdCxuKXtyZXR1cm4geHQoZSxidCh0LG4pKX1mdW5jdGlvbiBQdChlLHQpe3JldHVyblwiZnVuY3Rpb25cIj09dHlwZW9mIGU/ZSh0KTplfWZ1bmN0aW9uIE90KGUpe3JldHVybiBlLnNwbGl0KFwiLVwiKVswXX1mdW5jdGlvbiBOdChlKXtyZXR1cm4gZS5zcGxpdChcIi1cIilbMV19ZnVuY3Rpb24gVHQoZSl7cmV0dXJuXCJ4XCI9PT1lP1wieVwiOlwieFwifWZ1bmN0aW9uIE10KGUpe3JldHVyblwieVwiPT09ZT9cImhlaWdodFwiOlwid2lkdGhcIn1mdW5jdGlvbiBSdChlKXtyZXR1cm5bXCJ0b3BcIixcImJvdHRvbVwiXS5pbmNsdWRlcyhPdChlKSk/XCJ5XCI6XCJ4XCJ9ZnVuY3Rpb24gRHQoZSl7cmV0dXJuIFR0KFJ0KGUpKX1mdW5jdGlvbiBqdChlKXtyZXR1cm4gZS5yZXBsYWNlKC9zdGFydHxlbmQvZywoZT0+Q3RbZV0pKX1mdW5jdGlvbiBBdChlKXtyZXR1cm4gZS5yZXBsYWNlKC9sZWZ0fHJpZ2h0fGJvdHRvbXx0b3AvZywoZT0+RXRbZV0pKX1mdW5jdGlvbiBJdChlKXtyZXR1cm5cIm51bWJlclwiIT10eXBlb2YgZT9mdW5jdGlvbihlKXtyZXR1cm57dG9wOjAscmlnaHQ6MCxib3R0b206MCxsZWZ0OjAsLi4uZX19KGUpOnt0b3A6ZSxyaWdodDplLGJvdHRvbTplLGxlZnQ6ZX19ZnVuY3Rpb24gTHQoZSl7Y29uc3R7eDp0LHk6bix3aWR0aDpyLGhlaWdodDpvfT1lO3JldHVybnt3aWR0aDpyLGhlaWdodDpvLHRvcDpuLGxlZnQ6dCxyaWdodDp0K3IsYm90dG9tOm4rbyx4OnQseTpufX12YXIgRnQ9W1wiaW5wdXQ6bm90KFtpbmVydF0pXCIsXCJzZWxlY3Q6bm90KFtpbmVydF0pXCIsXCJ0ZXh0YXJlYTpub3QoW2luZXJ0XSlcIixcImFbaHJlZl06bm90KFtpbmVydF0pXCIsXCJidXR0b246bm90KFtpbmVydF0pXCIsXCJbdGFiaW5kZXhdOm5vdChzbG90KTpub3QoW2luZXJ0XSlcIixcImF1ZGlvW2NvbnRyb2xzXTpub3QoW2luZXJ0XSlcIixcInZpZGVvW2NvbnRyb2xzXTpub3QoW2luZXJ0XSlcIiwnW2NvbnRlbnRlZGl0YWJsZV06bm90KFtjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiXSk6bm90KFtpbmVydF0pJyxcImRldGFpbHM+c3VtbWFyeTpmaXJzdC1vZi10eXBlOm5vdChbaW5lcnRdKVwiLFwiZGV0YWlsczpub3QoW2luZXJ0XSlcIl0uam9pbihcIixcIiksenQ9XCJ1bmRlZmluZWRcIj09dHlwZW9mIEVsZW1lbnQsQnQ9enQ/ZnVuY3Rpb24oKXt9OkVsZW1lbnQucHJvdG90eXBlLm1hdGNoZXN8fEVsZW1lbnQucHJvdG90eXBlLm1zTWF0Y2hlc1NlbGVjdG9yfHxFbGVtZW50LnByb3RvdHlwZS53ZWJraXRNYXRjaGVzU2VsZWN0b3IsV3Q9IXp0JiZFbGVtZW50LnByb3RvdHlwZS5nZXRSb290Tm9kZT9mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gbnVsbD09ZXx8bnVsbD09PSh0PWUuZ2V0Um9vdE5vZGUpfHx2b2lkIDA9PT10P3ZvaWQgMDp0LmNhbGwoZSl9OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP3ZvaWQgMDplLm93bmVyRG9jdW1lbnR9LFZ0PWZ1bmN0aW9uIGUodCxuKXt2YXIgcjt2b2lkIDA9PT1uJiYobj0hMCk7dmFyIG89bnVsbD09dHx8bnVsbD09PShyPXQuZ2V0QXR0cmlidXRlKXx8dm9pZCAwPT09cj92b2lkIDA6ci5jYWxsKHQsXCJpbmVydFwiKTtyZXR1cm5cIlwiPT09b3x8XCJ0cnVlXCI9PT1vfHxuJiZ0JiZlKHQucGFyZW50Tm9kZSl9LFV0PWZ1bmN0aW9uIGUodCxuLHIpe2Zvcih2YXIgbz1bXSxpPUFycmF5LmZyb20odCk7aS5sZW5ndGg7KXt2YXIgcz1pLnNoaWZ0KCk7aWYoIVZ0KHMsITEpKWlmKFwiU0xPVFwiPT09cy50YWdOYW1lKXt2YXIgYT1zLmFzc2lnbmVkRWxlbWVudHMoKSxsPWUoYS5sZW5ndGg/YTpzLmNoaWxkcmVuLCEwLHIpO3IuZmxhdHRlbj9vLnB1c2guYXBwbHkobyxsKTpvLnB1c2goe3Njb3BlUGFyZW50OnMsY2FuZGlkYXRlczpsfSl9ZWxzZXtCdC5jYWxsKHMsRnQpJiZyLmZpbHRlcihzKSYmKG58fCF0LmluY2x1ZGVzKHMpKSYmby5wdXNoKHMpO3ZhciBjPXMuc2hhZG93Um9vdHx8XCJmdW5jdGlvblwiPT10eXBlb2Ygci5nZXRTaGFkb3dSb290JiZyLmdldFNoYWRvd1Jvb3QocyksdT0hVnQoYywhMSkmJighci5zaGFkb3dSb290RmlsdGVyfHxyLnNoYWRvd1Jvb3RGaWx0ZXIocykpO2lmKGMmJnUpe3ZhciBkPWUoITA9PT1jP3MuY2hpbGRyZW46Yy5jaGlsZHJlbiwhMCxyKTtyLmZsYXR0ZW4/by5wdXNoLmFwcGx5KG8sZCk6by5wdXNoKHtzY29wZVBhcmVudDpzLGNhbmRpZGF0ZXM6ZH0pfWVsc2UgaS51bnNoaWZ0LmFwcGx5KGkscy5jaGlsZHJlbil9fXJldHVybiBvfSwkdD1mdW5jdGlvbihlKXtyZXR1cm4haXNOYU4ocGFyc2VJbnQoZS5nZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiKSwxMCkpfSxZdD1mdW5jdGlvbihlKXtpZighZSl0aHJvdyBuZXcgRXJyb3IoXCJObyBub2RlIHByb3ZpZGVkXCIpO3JldHVybiBlLnRhYkluZGV4PDAmJigvXihBVURJT3xWSURFT3xERVRBSUxTKSQvLnRlc3QoZS50YWdOYW1lKXx8ZnVuY3Rpb24oZSl7dmFyIHQsbj1udWxsPT1lfHxudWxsPT09KHQ9ZS5nZXRBdHRyaWJ1dGUpfHx2b2lkIDA9PT10P3ZvaWQgMDp0LmNhbGwoZSxcImNvbnRlbnRlZGl0YWJsZVwiKTtyZXR1cm5cIlwiPT09bnx8XCJ0cnVlXCI9PT1ufShlKSkmJiEkdChlKT8wOmUudGFiSW5kZXh9LEh0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUudGFiSW5kZXg9PT10LnRhYkluZGV4P2UuZG9jdW1lbnRPcmRlci10LmRvY3VtZW50T3JkZXI6ZS50YWJJbmRleC10LnRhYkluZGV4fSxLdD1mdW5jdGlvbihlKXtyZXR1cm5cIklOUFVUXCI9PT1lLnRhZ05hbWV9LHF0PWZ1bmN0aW9uKGUpe3ZhciB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj10LndpZHRoLHI9dC5oZWlnaHQ7cmV0dXJuIDA9PT1uJiYwPT09cn0sR3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4hKHQuZGlzYWJsZWR8fFZ0KHQpfHxmdW5jdGlvbihlKXtyZXR1cm4gS3QoZSkmJlwiaGlkZGVuXCI9PT1lLnR5cGV9KHQpfHxmdW5jdGlvbihlLHQpe3ZhciBuPXQuZGlzcGxheUNoZWNrLHI9dC5nZXRTaGFkb3dSb290O2lmKFwiaGlkZGVuXCI9PT1nZXRDb21wdXRlZFN0eWxlKGUpLnZpc2liaWxpdHkpcmV0dXJuITA7dmFyIG89QnQuY2FsbChlLFwiZGV0YWlscz5zdW1tYXJ5OmZpcnN0LW9mLXR5cGVcIik/ZS5wYXJlbnRFbGVtZW50OmU7aWYoQnQuY2FsbChvLFwiZGV0YWlsczpub3QoW29wZW5dKSAqXCIpKXJldHVybiEwO2lmKG4mJlwiZnVsbFwiIT09biYmXCJsZWdhY3ktZnVsbFwiIT09bil7aWYoXCJub24temVyby1hcmVhXCI9PT1uKXJldHVybiBxdChlKX1lbHNle2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHIpe2Zvcih2YXIgaT1lO2U7KXt2YXIgcz1lLnBhcmVudEVsZW1lbnQsYT1XdChlKTtpZihzJiYhcy5zaGFkb3dSb290JiYhMD09PXIocykpcmV0dXJuIHF0KGUpO2U9ZS5hc3NpZ25lZFNsb3Q/ZS5hc3NpZ25lZFNsb3Q6c3x8YT09PWUub3duZXJEb2N1bWVudD9zOmEuaG9zdH1lPWl9aWYoZnVuY3Rpb24oZSl7dmFyIHQsbixyLG8saT1lJiZXdChlKSxzPW51bGw9PT0odD1pKXx8dm9pZCAwPT09dD92b2lkIDA6dC5ob3N0LGE9ITE7aWYoaSYmaSE9PWUpZm9yKGE9ISEobnVsbCE9PShuPXMpJiZ2b2lkIDAhPT1uJiZudWxsIT09KHI9bi5vd25lckRvY3VtZW50KSYmdm9pZCAwIT09ciYmci5jb250YWlucyhzKXx8bnVsbCE9ZSYmbnVsbCE9PShvPWUub3duZXJEb2N1bWVudCkmJnZvaWQgMCE9PW8mJm8uY29udGFpbnMoZSkpOyFhJiZzOyl7dmFyIGwsYyx1O2E9IShudWxsPT09KGM9cz1udWxsPT09KGw9aT1XdChzKSl8fHZvaWQgMD09PWw/dm9pZCAwOmwuaG9zdCl8fHZvaWQgMD09PWN8fG51bGw9PT0odT1jLm93bmVyRG9jdW1lbnQpfHx2b2lkIDA9PT11fHwhdS5jb250YWlucyhzKSl9cmV0dXJuIGF9KGUpKXJldHVybiFlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoO2lmKFwibGVnYWN5LWZ1bGxcIiE9PW4pcmV0dXJuITB9cmV0dXJuITF9KHQsZSl8fGZ1bmN0aW9uKGUpe3JldHVyblwiREVUQUlMU1wiPT09ZS50YWdOYW1lJiZBcnJheS5wcm90b3R5cGUuc2xpY2UuYXBwbHkoZS5jaGlsZHJlbikuc29tZSgoZnVuY3Rpb24oZSl7cmV0dXJuXCJTVU1NQVJZXCI9PT1lLnRhZ05hbWV9KSl9KHQpfHxmdW5jdGlvbihlKXtpZigvXihJTlBVVHxCVVRUT058U0VMRUNUfFRFWFRBUkVBKSQvLnRlc3QoZS50YWdOYW1lKSlmb3IodmFyIHQ9ZS5wYXJlbnRFbGVtZW50O3Q7KXtpZihcIkZJRUxEU0VUXCI9PT10LnRhZ05hbWUmJnQuZGlzYWJsZWQpe2Zvcih2YXIgbj0wO248dC5jaGlsZHJlbi5sZW5ndGg7bisrKXt2YXIgcj10LmNoaWxkcmVuLml0ZW0obik7aWYoXCJMRUdFTkRcIj09PXIudGFnTmFtZSlyZXR1cm4hIUJ0LmNhbGwodCxcImZpZWxkc2V0W2Rpc2FibGVkXSAqXCIpfHwhci5jb250YWlucyhlKX1yZXR1cm4hMH10PXQucGFyZW50RWxlbWVudH1yZXR1cm4hMX0odCkpfSxYdD1mdW5jdGlvbihlLHQpe3JldHVybiEoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBLdChlKSYmXCJyYWRpb1wiPT09ZS50eXBlfShlKSYmIWZ1bmN0aW9uKGUpe2lmKCFlLm5hbWUpcmV0dXJuITA7dmFyIHQsbj1lLmZvcm18fFd0KGUpLHI9ZnVuY3Rpb24oZSl7cmV0dXJuIG4ucXVlcnlTZWxlY3RvckFsbCgnaW5wdXRbdHlwZT1cInJhZGlvXCJdW25hbWU9XCInK2UrJ1wiXScpfTtpZihcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiZ2b2lkIDAhPT13aW5kb3cuQ1NTJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiB3aW5kb3cuQ1NTLmVzY2FwZSl0PXIod2luZG93LkNTUy5lc2NhcGUoZS5uYW1lKSk7ZWxzZSB0cnl7dD1yKGUubmFtZSl9Y2F0Y2goZSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoXCJMb29rcyBsaWtlIHlvdSBoYXZlIGEgcmFkaW8gYnV0dG9uIHdpdGggYSBuYW1lIGF0dHJpYnV0ZSBjb250YWluaW5nIGludmFsaWQgQ1NTIHNlbGVjdG9yIGNoYXJhY3RlcnMgYW5kIG5lZWQgdGhlIENTUy5lc2NhcGUgcG9seWZpbGw6ICVzXCIsZS5tZXNzYWdlKSwhMX12YXIgbz1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKWlmKGVbbl0uY2hlY2tlZCYmZVtuXS5mb3JtPT09dClyZXR1cm4gZVtuXX0odCxlLmZvcm0pO3JldHVybiFvfHxvPT09ZX0oZSl9KHQpfHxZdCh0KTwwfHwhR3QoZSx0KSl9LFp0PWZ1bmN0aW9uKGUpe3ZhciB0PXBhcnNlSW50KGUuZ2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiksMTApO3JldHVybiEhKGlzTmFOKHQpfHx0Pj0wKX0sSnQ9ZnVuY3Rpb24gZSh0KXt2YXIgbj1bXSxyPVtdO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQsbyl7dmFyIGk9ISF0LnNjb3BlUGFyZW50LHM9aT90LnNjb3BlUGFyZW50OnQsYT1mdW5jdGlvbihlLHQpe3ZhciBuPVl0KGUpO3JldHVybiBuPDAmJnQmJiEkdChlKT8wOm59KHMsaSksbD1pP2UodC5jYW5kaWRhdGVzKTpzOzA9PT1hP2k/bi5wdXNoLmFwcGx5KG4sbCk6bi5wdXNoKHMpOnIucHVzaCh7ZG9jdW1lbnRPcmRlcjpvLHRhYkluZGV4OmEsaXRlbTp0LGlzU2NvcGU6aSxjb250ZW50Omx9KX0pKSxyLnNvcnQoSHQpLnJlZHVjZSgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5pc1Njb3BlP2UucHVzaC5hcHBseShlLHQuY29udGVudCk6ZS5wdXNoKHQuY29udGVudCksZX0pLFtdKS5jb25jYXQobil9LFF0PWZ1bmN0aW9uKGUsdCl7dmFyIG47cmV0dXJuIG49KHQ9dHx8e30pLmdldFNoYWRvd1Jvb3Q/VXQoW2VdLHQuaW5jbHVkZUNvbnRhaW5lcix7ZmlsdGVyOlh0LmJpbmQobnVsbCx0KSxmbGF0dGVuOiExLGdldFNoYWRvd1Jvb3Q6dC5nZXRTaGFkb3dSb290LHNoYWRvd1Jvb3RGaWx0ZXI6WnR9KTpmdW5jdGlvbihlLHQsbil7aWYoVnQoZSkpcmV0dXJuW107dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmFwcGx5KGUucXVlcnlTZWxlY3RvckFsbChGdCkpO3JldHVybiB0JiZCdC5jYWxsKGUsRnQpJiZyLnVuc2hpZnQoZSksci5maWx0ZXIobil9KGUsdC5pbmNsdWRlQ29udGFpbmVyLFh0LmJpbmQobnVsbCx0KSksSnQobil9LGVuPWZ1bmN0aW9uKGUsdCl7aWYodD10fHx7fSwhZSl0aHJvdyBuZXcgRXJyb3IoXCJObyBub2RlIHByb3ZpZGVkXCIpO3JldHVybiExIT09QnQuY2FsbChlLEZ0KSYmWHQodCxlKX0sdG49d2luZG93LlJlYWN0RE9NO2Z1bmN0aW9uIG5uKGUsdCxuKXtsZXR7cmVmZXJlbmNlOnIsZmxvYXRpbmc6b309ZTtjb25zdCBpPVJ0KHQpLHM9RHQodCksYT1NdChzKSxsPU90KHQpLGM9XCJ5XCI9PT1pLHU9ci54K3Iud2lkdGgvMi1vLndpZHRoLzIsZD1yLnkrci5oZWlnaHQvMi1vLmhlaWdodC8yLGY9clthXS8yLW9bYV0vMjtsZXQgbTtzd2l0Y2gobCl7Y2FzZVwidG9wXCI6bT17eDp1LHk6ci55LW8uaGVpZ2h0fTticmVhaztjYXNlXCJib3R0b21cIjptPXt4OnUseTpyLnkrci5oZWlnaHR9O2JyZWFrO2Nhc2VcInJpZ2h0XCI6bT17eDpyLngrci53aWR0aCx5OmR9O2JyZWFrO2Nhc2VcImxlZnRcIjptPXt4OnIueC1vLndpZHRoLHk6ZH07YnJlYWs7ZGVmYXVsdDptPXt4OnIueCx5OnIueX19c3dpdGNoKE50KHQpKXtjYXNlXCJzdGFydFwiOm1bc10tPWYqKG4mJmM/LTE6MSk7YnJlYWs7Y2FzZVwiZW5kXCI6bVtzXSs9ZioobiYmYz8tMToxKX1yZXR1cm4gbX1hc3luYyBmdW5jdGlvbiBybihlLHQpe3ZhciBuO3ZvaWQgMD09PXQmJih0PXt9KTtjb25zdHt4OnIseTpvLHBsYXRmb3JtOmkscmVjdHM6cyxlbGVtZW50czphLHN0cmF0ZWd5Omx9PWUse2JvdW5kYXJ5OmM9XCJjbGlwcGluZ0FuY2VzdG9yc1wiLHJvb3RCb3VuZGFyeTp1PVwidmlld3BvcnRcIixlbGVtZW50Q29udGV4dDpkPVwiZmxvYXRpbmdcIixhbHRCb3VuZGFyeTpmPSExLHBhZGRpbmc6bT0wfT1QdCh0LGUpLGg9SXQobSkscD1hW2Y/XCJmbG9hdGluZ1wiPT09ZD9cInJlZmVyZW5jZVwiOlwiZmxvYXRpbmdcIjpkXSxnPUx0KGF3YWl0IGkuZ2V0Q2xpcHBpbmdSZWN0KHtlbGVtZW50Om51bGw9PShuPWF3YWl0KG51bGw9PWkuaXNFbGVtZW50P3ZvaWQgMDppLmlzRWxlbWVudChwKSkpfHxuP3A6cC5jb250ZXh0RWxlbWVudHx8YXdhaXQobnVsbD09aS5nZXREb2N1bWVudEVsZW1lbnQ/dm9pZCAwOmkuZ2V0RG9jdW1lbnRFbGVtZW50KGEuZmxvYXRpbmcpKSxib3VuZGFyeTpjLHJvb3RCb3VuZGFyeTp1LHN0cmF0ZWd5Omx9KSkseT1cImZsb2F0aW5nXCI9PT1kP3t4OnIseTpvLHdpZHRoOnMuZmxvYXRpbmcud2lkdGgsaGVpZ2h0OnMuZmxvYXRpbmcuaGVpZ2h0fTpzLnJlZmVyZW5jZSx2PWF3YWl0KG51bGw9PWkuZ2V0T2Zmc2V0UGFyZW50P3ZvaWQgMDppLmdldE9mZnNldFBhcmVudChhLmZsb2F0aW5nKSksYj1hd2FpdChudWxsPT1pLmlzRWxlbWVudD92b2lkIDA6aS5pc0VsZW1lbnQodikpJiZhd2FpdChudWxsPT1pLmdldFNjYWxlP3ZvaWQgMDppLmdldFNjYWxlKHYpKXx8e3g6MSx5OjF9LHg9THQoaS5jb252ZXJ0T2Zmc2V0UGFyZW50UmVsYXRpdmVSZWN0VG9WaWV3cG9ydFJlbGF0aXZlUmVjdD9hd2FpdCBpLmNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0KHtlbGVtZW50czphLHJlY3Q6eSxvZmZzZXRQYXJlbnQ6dixzdHJhdGVneTpsfSk6eSk7cmV0dXJue3RvcDooZy50b3AteC50b3AraC50b3ApL2IueSxib3R0b206KHguYm90dG9tLWcuYm90dG9tK2guYm90dG9tKS9iLnksbGVmdDooZy5sZWZ0LXgubGVmdCtoLmxlZnQpL2IueCxyaWdodDooeC5yaWdodC1nLnJpZ2h0K2gucmlnaHQpL2IueH19ZnVuY3Rpb24gb24oZSl7Y29uc3QgdD1YZShlKTtsZXQgbj1wYXJzZUZsb2F0KHQud2lkdGgpfHwwLHI9cGFyc2VGbG9hdCh0LmhlaWdodCl8fDA7Y29uc3Qgbz1WZShlKSxpPW8/ZS5vZmZzZXRXaWR0aDpuLHM9bz9lLm9mZnNldEhlaWdodDpyLGE9d3QobikhPT1pfHx3dChyKSE9PXM7cmV0dXJuIGEmJihuPWkscj1zKSx7d2lkdGg6bixoZWlnaHQ6ciwkOmF9fWZ1bmN0aW9uIHNuKGUpe3JldHVybiBXZShlKT9lOmUuY29udGV4dEVsZW1lbnR9ZnVuY3Rpb24gYW4oZSl7Y29uc3QgdD1zbihlKTtpZighVmUodCkpcmV0dXJuIGt0KDEpO2NvbnN0IG49dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx7d2lkdGg6cixoZWlnaHQ6bywkOml9PW9uKHQpO2xldCBzPShpP3d0KG4ud2lkdGgpOm4ud2lkdGgpL3IsYT0oaT93dChuLmhlaWdodCk6bi5oZWlnaHQpL287cmV0dXJuIHMmJk51bWJlci5pc0Zpbml0ZShzKXx8KHM9MSksYSYmTnVtYmVyLmlzRmluaXRlKGEpfHwoYT0xKSx7eDpzLHk6YX19Y29uc3QgbG49a3QoMCk7ZnVuY3Rpb24gY24oZSl7Y29uc3QgdD1GZShlKTtyZXR1cm4gcWUoKSYmdC52aXN1YWxWaWV3cG9ydD97eDp0LnZpc3VhbFZpZXdwb3J0Lm9mZnNldExlZnQseTp0LnZpc3VhbFZpZXdwb3J0Lm9mZnNldFRvcH06bG59ZnVuY3Rpb24gdW4oZSx0LG4scil7dm9pZCAwPT09dCYmKHQ9ITEpLHZvaWQgMD09PW4mJihuPSExKTtjb25zdCBvPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT1zbihlKTtsZXQgcz1rdCgxKTt0JiYocj9XZShyKSYmKHM9YW4ocikpOnM9YW4oZSkpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB2b2lkIDA9PT10JiYodD0hMSksISghbnx8dCYmbiE9PUZlKGUpKSYmdH0oaSxuLHIpP2NuKGkpOmt0KDApO2xldCBsPShvLmxlZnQrYS54KS9zLngsYz0oby50b3ArYS55KS9zLnksdT1vLndpZHRoL3MueCxkPW8uaGVpZ2h0L3MueTtpZihpKXtjb25zdCBlPUZlKGkpLHQ9ciYmV2Uocik/RmUocik6cjtsZXQgbj1lLG89dHQobik7Zm9yKDtvJiZyJiZ0IT09bjspe2NvbnN0IGU9YW4obyksdD1vLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHI9WGUobyksaT10LmxlZnQrKG8uY2xpZW50TGVmdCtwYXJzZUZsb2F0KHIucGFkZGluZ0xlZnQpKSplLngscz10LnRvcCsoby5jbGllbnRUb3ArcGFyc2VGbG9hdChyLnBhZGRpbmdUb3ApKSplLnk7bCo9ZS54LGMqPWUueSx1Kj1lLngsZCo9ZS55LGwrPWksYys9cyxuPUZlKG8pLG89dHQobil9fXJldHVybiBMdCh7d2lkdGg6dSxoZWlnaHQ6ZCx4OmwseTpjfSl9ZnVuY3Rpb24gZG4oZSl7cmV0dXJuIHVuKHplKGUpKS5sZWZ0K1plKGUpLnNjcm9sbExlZnR9ZnVuY3Rpb24gZm4oZSx0LG4pe2xldCByO2lmKFwidmlld3BvcnRcIj09PXQpcj1mdW5jdGlvbihlLHQpe2NvbnN0IG49RmUoZSkscj16ZShlKSxvPW4udmlzdWFsVmlld3BvcnQ7bGV0IGk9ci5jbGllbnRXaWR0aCxzPXIuY2xpZW50SGVpZ2h0LGE9MCxsPTA7aWYobyl7aT1vLndpZHRoLHM9by5oZWlnaHQ7Y29uc3QgZT1xZSgpOyghZXx8ZSYmXCJmaXhlZFwiPT09dCkmJihhPW8ub2Zmc2V0TGVmdCxsPW8ub2Zmc2V0VG9wKX1yZXR1cm57d2lkdGg6aSxoZWlnaHQ6cyx4OmEseTpsfX0oZSxuKTtlbHNlIGlmKFwiZG9jdW1lbnRcIj09PXQpcj1mdW5jdGlvbihlKXtjb25zdCB0PXplKGUpLG49WmUoZSkscj1lLm93bmVyRG9jdW1lbnQuYm9keSxvPXh0KHQuc2Nyb2xsV2lkdGgsdC5jbGllbnRXaWR0aCxyLnNjcm9sbFdpZHRoLHIuY2xpZW50V2lkdGgpLGk9eHQodC5zY3JvbGxIZWlnaHQsdC5jbGllbnRIZWlnaHQsci5zY3JvbGxIZWlnaHQsci5jbGllbnRIZWlnaHQpO2xldCBzPS1uLnNjcm9sbExlZnQrZG4oZSk7Y29uc3QgYT0tbi5zY3JvbGxUb3A7cmV0dXJuXCJydGxcIj09PVhlKHIpLmRpcmVjdGlvbiYmKHMrPXh0KHQuY2xpZW50V2lkdGgsci5jbGllbnRXaWR0aCktbykse3dpZHRoOm8saGVpZ2h0OmkseDpzLHk6YX19KHplKGUpKTtlbHNlIGlmKFdlKHQpKXI9ZnVuY3Rpb24oZSx0KXtjb25zdCBuPXVuKGUsITAsXCJmaXhlZFwiPT09dCkscj1uLnRvcCtlLmNsaWVudFRvcCxvPW4ubGVmdCtlLmNsaWVudExlZnQsaT1WZShlKT9hbihlKTprdCgxKTtyZXR1cm57d2lkdGg6ZS5jbGllbnRXaWR0aCppLngsaGVpZ2h0OmUuY2xpZW50SGVpZ2h0KmkueSx4Om8qaS54LHk6cippLnl9fSh0LG4pO2Vsc2V7Y29uc3Qgbj1jbihlKTtyPXsuLi50LHg6dC54LW4ueCx5OnQueS1uLnl9fXJldHVybiBMdChyKX1mdW5jdGlvbiBtbihlLHQpe2NvbnN0IG49SmUoZSk7cmV0dXJuIShuPT09dHx8IVdlKG4pfHxHZShuKSkmJihcImZpeGVkXCI9PT1YZShuKS5wb3NpdGlvbnx8bW4obix0KSl9ZnVuY3Rpb24gaG4oZSx0LG4pe2NvbnN0IHI9VmUodCksbz16ZSh0KSxpPVwiZml4ZWRcIj09PW4scz11bihlLCEwLGksdCk7bGV0IGE9e3Njcm9sbExlZnQ6MCxzY3JvbGxUb3A6MH07Y29uc3QgbD1rdCgwKTtpZihyfHwhciYmIWkpaWYoKFwiYm9keVwiIT09TGUodCl8fCRlKG8pKSYmKGE9WmUodCkpLHIpe2NvbnN0IGU9dW4odCwhMCxpLHQpO2wueD1lLngrdC5jbGllbnRMZWZ0LGwueT1lLnkrdC5jbGllbnRUb3B9ZWxzZSBvJiYobC54PWRuKG8pKTtyZXR1cm57eDpzLmxlZnQrYS5zY3JvbGxMZWZ0LWwueCx5OnMudG9wK2Euc2Nyb2xsVG9wLWwueSx3aWR0aDpzLndpZHRoLGhlaWdodDpzLmhlaWdodH19ZnVuY3Rpb24gcG4oZSl7cmV0dXJuXCJzdGF0aWNcIj09PVhlKGUpLnBvc2l0aW9ufWZ1bmN0aW9uIGduKGUsdCl7cmV0dXJuIFZlKGUpJiZcImZpeGVkXCIhPT1YZShlKS5wb3NpdGlvbj90P3QoZSk6ZS5vZmZzZXRQYXJlbnQ6bnVsbH1mdW5jdGlvbiB5bihlLHQpe2NvbnN0IG49RmUoZSk7aWYoSGUoZSkpcmV0dXJuIG47aWYoIVZlKGUpKXtsZXQgdD1KZShlKTtmb3IoO3QmJiFHZSh0KTspe2lmKFdlKHQpJiYhcG4odCkpcmV0dXJuIHQ7dD1KZSh0KX1yZXR1cm4gbn1sZXQgcj1nbihlLHQpO2Zvcig7ciYmWWUocikmJnBuKHIpOylyPWduKHIsdCk7cmV0dXJuIHImJkdlKHIpJiZwbihyKSYmIUtlKHIpP246cnx8ZnVuY3Rpb24oZSl7bGV0IHQ9SmUoZSk7Zm9yKDtWZSh0KSYmIUdlKHQpOyl7aWYoS2UodCkpcmV0dXJuIHQ7aWYoSGUodCkpcmV0dXJuIG51bGw7dD1KZSh0KX1yZXR1cm4gbnVsbH0oZSl8fG59Y29uc3Qgdm49e2NvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0OmZ1bmN0aW9uKGUpe2xldHtlbGVtZW50czp0LHJlY3Q6bixvZmZzZXRQYXJlbnQ6cixzdHJhdGVneTpvfT1lO2NvbnN0IGk9XCJmaXhlZFwiPT09byxzPXplKHIpLGE9ISF0JiZIZSh0LmZsb2F0aW5nKTtpZihyPT09c3x8YSYmaSlyZXR1cm4gbjtsZXQgbD17c2Nyb2xsTGVmdDowLHNjcm9sbFRvcDowfSxjPWt0KDEpO2NvbnN0IHU9a3QoMCksZD1WZShyKTtpZigoZHx8IWQmJiFpKSYmKChcImJvZHlcIiE9PUxlKHIpfHwkZShzKSkmJihsPVplKHIpKSxWZShyKSkpe2NvbnN0IGU9dW4ocik7Yz1hbihyKSx1Lng9ZS54K3IuY2xpZW50TGVmdCx1Lnk9ZS55K3IuY2xpZW50VG9wfXJldHVybnt3aWR0aDpuLndpZHRoKmMueCxoZWlnaHQ6bi5oZWlnaHQqYy55LHg6bi54KmMueC1sLnNjcm9sbExlZnQqYy54K3UueCx5Om4ueSpjLnktbC5zY3JvbGxUb3AqYy55K3UueX19LGdldERvY3VtZW50RWxlbWVudDp6ZSxnZXRDbGlwcGluZ1JlY3Q6ZnVuY3Rpb24oZSl7bGV0e2VsZW1lbnQ6dCxib3VuZGFyeTpuLHJvb3RCb3VuZGFyeTpyLHN0cmF0ZWd5Om99PWU7Y29uc3QgaT1bLi4uXCJjbGlwcGluZ0FuY2VzdG9yc1wiPT09bj9IZSh0KT9bXTpmdW5jdGlvbihlLHQpe2NvbnN0IG49dC5nZXQoZSk7aWYobilyZXR1cm4gbjtsZXQgcj1ldChlLFtdLCExKS5maWx0ZXIoKGU9PldlKGUpJiZcImJvZHlcIiE9PUxlKGUpKSksbz1udWxsO2NvbnN0IGk9XCJmaXhlZFwiPT09WGUoZSkucG9zaXRpb247bGV0IHM9aT9KZShlKTplO2Zvcig7V2UocykmJiFHZShzKTspe2NvbnN0IHQ9WGUocyksbj1LZShzKTtufHxcImZpeGVkXCIhPT10LnBvc2l0aW9ufHwobz1udWxsKSwoaT8hbiYmIW86IW4mJlwic3RhdGljXCI9PT10LnBvc2l0aW9uJiZvJiZbXCJhYnNvbHV0ZVwiLFwiZml4ZWRcIl0uaW5jbHVkZXMoby5wb3NpdGlvbil8fCRlKHMpJiYhbiYmbW4oZSxzKSk/cj1yLmZpbHRlcigoZT0+ZSE9PXMpKTpvPXQscz1KZShzKX1yZXR1cm4gdC5zZXQoZSxyKSxyfSh0LHRoaXMuX2MpOltdLmNvbmNhdChuKSxyXSxzPWlbMF0sYT1pLnJlZHVjZSgoKGUsbik9Pntjb25zdCByPWZuKHQsbixvKTtyZXR1cm4gZS50b3A9eHQoci50b3AsZS50b3ApLGUucmlnaHQ9YnQoci5yaWdodCxlLnJpZ2h0KSxlLmJvdHRvbT1idChyLmJvdHRvbSxlLmJvdHRvbSksZS5sZWZ0PXh0KHIubGVmdCxlLmxlZnQpLGV9KSxmbih0LHMsbykpO3JldHVybnt3aWR0aDphLnJpZ2h0LWEubGVmdCxoZWlnaHQ6YS5ib3R0b20tYS50b3AseDphLmxlZnQseTphLnRvcH19LGdldE9mZnNldFBhcmVudDp5bixnZXRFbGVtZW50UmVjdHM6YXN5bmMgZnVuY3Rpb24oZSl7Y29uc3QgdD10aGlzLmdldE9mZnNldFBhcmVudHx8eW4sbj10aGlzLmdldERpbWVuc2lvbnMscj1hd2FpdCBuKGUuZmxvYXRpbmcpO3JldHVybntyZWZlcmVuY2U6aG4oZS5yZWZlcmVuY2UsYXdhaXQgdChlLmZsb2F0aW5nKSxlLnN0cmF0ZWd5KSxmbG9hdGluZzp7eDowLHk6MCx3aWR0aDpyLndpZHRoLGhlaWdodDpyLmhlaWdodH19fSxnZXRDbGllbnRSZWN0czpmdW5jdGlvbihlKXtyZXR1cm4gQXJyYXkuZnJvbShlLmdldENsaWVudFJlY3RzKCkpfSxnZXREaW1lbnNpb25zOmZ1bmN0aW9uKGUpe2NvbnN0e3dpZHRoOnQsaGVpZ2h0Om59PW9uKGUpO3JldHVybnt3aWR0aDp0LGhlaWdodDpufX0sZ2V0U2NhbGU6YW4saXNFbGVtZW50OldlLGlzUlRMOmZ1bmN0aW9uKGUpe3JldHVyblwicnRsXCI9PT1YZShlKS5kaXJlY3Rpb259fTtmdW5jdGlvbiBibihlLHQsbixyKXt2b2lkIDA9PT1yJiYocj17fSk7Y29uc3R7YW5jZXN0b3JTY3JvbGw6bz0hMCxhbmNlc3RvclJlc2l6ZTppPSEwLGVsZW1lbnRSZXNpemU6cz1cImZ1bmN0aW9uXCI9PXR5cGVvZiBSZXNpemVPYnNlcnZlcixsYXlvdXRTaGlmdDphPVwiZnVuY3Rpb25cIj09dHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyLGFuaW1hdGlvbkZyYW1lOmw9ITF9PXIsYz1zbihlKSx1PW98fGk/Wy4uLmM/ZXQoYyk6W10sLi4uZXQodCldOltdO3UuZm9yRWFjaCgoZT0+e28mJmUuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLG4se3Bhc3NpdmU6ITB9KSxpJiZlLmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIixuKX0pKTtjb25zdCBkPWMmJmE/ZnVuY3Rpb24oZSx0KXtsZXQgbixyPW51bGw7Y29uc3Qgbz16ZShlKTtmdW5jdGlvbiBpKCl7dmFyIGU7Y2xlYXJUaW1lb3V0KG4pLG51bGw9PShlPXIpfHxlLmRpc2Nvbm5lY3QoKSxyPW51bGx9cmV0dXJuIGZ1bmN0aW9uIHMoYSxsKXt2b2lkIDA9PT1hJiYoYT0hMSksdm9pZCAwPT09bCYmKGw9MSksaSgpO2NvbnN0e2xlZnQ6Yyx0b3A6dSx3aWR0aDpkLGhlaWdodDpmfT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGF8fHQoKSwhZHx8IWYpcmV0dXJuO2NvbnN0IG09e3Jvb3RNYXJnaW46LVN0KHUpK1wicHggXCIrLVN0KG8uY2xpZW50V2lkdGgtKGMrZCkpK1wicHggXCIrLVN0KG8uY2xpZW50SGVpZ2h0LSh1K2YpKStcInB4IFwiKy1TdChjKStcInB4XCIsdGhyZXNob2xkOnh0KDAsYnQoMSxsKSl8fDF9O2xldCBoPSEwO2Z1bmN0aW9uIHAoZSl7Y29uc3QgdD1lWzBdLmludGVyc2VjdGlvblJhdGlvO2lmKHQhPT1sKXtpZighaClyZXR1cm4gcygpO3Q/cyghMSx0KTpuPXNldFRpbWVvdXQoKCgpPT57cyghMSwxZS03KX0pLDFlMyl9aD0hMX10cnl7cj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIocCx7Li4ubSxyb290Om8ub3duZXJEb2N1bWVudH0pfWNhdGNoKGUpe3I9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHAsbSl9ci5vYnNlcnZlKGUpfSghMCksaX0oYyxuKTpudWxsO2xldCBmLG09LTEsaD1udWxsO3MmJihoPW5ldyBSZXNpemVPYnNlcnZlcigoZT0+e2xldFtyXT1lO3ImJnIudGFyZ2V0PT09YyYmaCYmKGgudW5vYnNlcnZlKHQpLGNhbmNlbEFuaW1hdGlvbkZyYW1lKG0pLG09cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3ZhciBlO251bGw9PShlPWgpfHxlLm9ic2VydmUodCl9KSkpLG4oKX0pKSxjJiYhbCYmaC5vYnNlcnZlKGMpLGgub2JzZXJ2ZSh0KSk7bGV0IHA9bD91bihlKTpudWxsO3JldHVybiBsJiZmdW5jdGlvbiB0KCl7Y29uc3Qgcj11bihlKTshcHx8ci54PT09cC54JiZyLnk9PT1wLnkmJnIud2lkdGg9PT1wLndpZHRoJiZyLmhlaWdodD09PXAuaGVpZ2h0fHxuKCkscD1yLGY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpfSgpLG4oKSwoKT0+e3ZhciBlO3UuZm9yRWFjaCgoZT0+e28mJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLG4pLGkmJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLG4pfSkpLG51bGw9PWR8fGQoKSxudWxsPT0oZT1oKXx8ZS5kaXNjb25uZWN0KCksaD1udWxsLGwmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKGYpfX1jb25zdCB4bj1mdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9MCkse25hbWU6XCJvZmZzZXRcIixvcHRpb25zOmUsYXN5bmMgZm4odCl7dmFyIG4scjtjb25zdHt4Om8seTppLHBsYWNlbWVudDpzLG1pZGRsZXdhcmVEYXRhOmF9PXQsbD1hd2FpdCBhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0e3BsYWNlbWVudDpuLHBsYXRmb3JtOnIsZWxlbWVudHM6b309ZSxpPWF3YWl0KG51bGw9PXIuaXNSVEw/dm9pZCAwOnIuaXNSVEwoby5mbG9hdGluZykpLHM9T3QobiksYT1OdChuKSxsPVwieVwiPT09UnQobiksYz1bXCJsZWZ0XCIsXCJ0b3BcIl0uaW5jbHVkZXMocyk/LTE6MSx1PWkmJmw/LTE6MSxkPVB0KHQsZSk7bGV0e21haW5BeGlzOmYsY3Jvc3NBeGlzOm0sYWxpZ25tZW50QXhpczpofT1cIm51bWJlclwiPT10eXBlb2YgZD97bWFpbkF4aXM6ZCxjcm9zc0F4aXM6MCxhbGlnbm1lbnRBeGlzOm51bGx9OnttYWluQXhpczowLGNyb3NzQXhpczowLGFsaWdubWVudEF4aXM6bnVsbCwuLi5kfTtyZXR1cm4gYSYmXCJudW1iZXJcIj09dHlwZW9mIGgmJihtPVwiZW5kXCI9PT1hPy0xKmg6aCksbD97eDptKnUseTpmKmN9Ont4OmYqYyx5Om0qdX19KHQsZSk7cmV0dXJuIHM9PT0obnVsbD09KG49YS5vZmZzZXQpP3ZvaWQgMDpuLnBsYWNlbWVudCkmJm51bGwhPShyPWEuYXJyb3cpJiZyLmFsaWdubWVudE9mZnNldD97fTp7eDpvK2wueCx5OmkrbC55LGRhdGE6ey4uLmwscGxhY2VtZW50OnN9fX19fSx3bj1mdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9e30pLHtuYW1lOlwic2hpZnRcIixvcHRpb25zOmUsYXN5bmMgZm4odCl7Y29uc3R7eDpuLHk6cixwbGFjZW1lbnQ6b309dCx7bWFpbkF4aXM6aT0hMCxjcm9zc0F4aXM6cz0hMSxsaW1pdGVyOmE9e2ZuOmU9PntsZXR7eDp0LHk6bn09ZTtyZXR1cm57eDp0LHk6bn19fSwuLi5sfT1QdChlLHQpLGM9e3g6bix5OnJ9LHU9YXdhaXQgcm4odCxsKSxkPVJ0KE90KG8pKSxmPVR0KGQpO2xldCBtPWNbZl0saD1jW2RdO2lmKGkpe2NvbnN0IGU9XCJ5XCI9PT1mP1wiYm90dG9tXCI6XCJyaWdodFwiO209X3QobSt1W1wieVwiPT09Zj9cInRvcFwiOlwibGVmdFwiXSxtLG0tdVtlXSl9aWYocyl7Y29uc3QgZT1cInlcIj09PWQ/XCJib3R0b21cIjpcInJpZ2h0XCI7aD1fdChoK3VbXCJ5XCI9PT1kP1widG9wXCI6XCJsZWZ0XCJdLGgsaC11W2VdKX1jb25zdCBwPWEuZm4oey4uLnQsW2ZdOm0sW2RdOmh9KTtyZXR1cm57Li4ucCxkYXRhOnt4OnAueC1uLHk6cC55LXJ9fX19fSxTbj1mdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9e30pLHtuYW1lOlwiZmxpcFwiLG9wdGlvbnM6ZSxhc3luYyBmbih0KXt2YXIgbixyO2NvbnN0e3BsYWNlbWVudDpvLG1pZGRsZXdhcmVEYXRhOmkscmVjdHM6cyxpbml0aWFsUGxhY2VtZW50OmEscGxhdGZvcm06bCxlbGVtZW50czpjfT10LHttYWluQXhpczp1PSEwLGNyb3NzQXhpczpkPSEwLGZhbGxiYWNrUGxhY2VtZW50czpmLGZhbGxiYWNrU3RyYXRlZ3k6bT1cImJlc3RGaXRcIixmYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uOmg9XCJub25lXCIsZmxpcEFsaWdubWVudDpwPSEwLC4uLmd9PVB0KGUsdCk7aWYobnVsbCE9KG49aS5hcnJvdykmJm4uYWxpZ25tZW50T2Zmc2V0KXJldHVybnt9O2NvbnN0IHk9T3Qobyksdj1SdChhKSxiPU90KGEpPT09YSx4PWF3YWl0KG51bGw9PWwuaXNSVEw/dm9pZCAwOmwuaXNSVEwoYy5mbG9hdGluZykpLHc9Znx8KGJ8fCFwP1tBdChhKV06ZnVuY3Rpb24oZSl7Y29uc3QgdD1BdChlKTtyZXR1cm5banQoZSksdCxqdCh0KV19KGEpKSxTPVwibm9uZVwiIT09aDshZiYmUyYmdy5wdXNoKC4uLmZ1bmN0aW9uKGUsdCxuLHIpe2NvbnN0IG89TnQoZSk7bGV0IGk9ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHI9W1wibGVmdFwiLFwicmlnaHRcIl0sbz1bXCJyaWdodFwiLFwibGVmdFwiXSxpPVtcInRvcFwiLFwiYm90dG9tXCJdLHM9W1wiYm90dG9tXCIsXCJ0b3BcIl07c3dpdGNoKGUpe2Nhc2VcInRvcFwiOmNhc2VcImJvdHRvbVwiOnJldHVybiBuP3Q/bzpyOnQ/cjpvO2Nhc2VcImxlZnRcIjpjYXNlXCJyaWdodFwiOnJldHVybiB0P2k6cztkZWZhdWx0OnJldHVybltdfX0oT3QoZSksXCJzdGFydFwiPT09bixyKTtyZXR1cm4gbyYmKGk9aS5tYXAoKGU9PmUrXCItXCIrbykpLHQmJihpPWkuY29uY2F0KGkubWFwKGp0KSkpKSxpfShhLHAsaCx4KSk7Y29uc3Qgaz1bYSwuLi53XSxFPWF3YWl0IHJuKHQsZyksQz1bXTtsZXQgXz0obnVsbD09KHI9aS5mbGlwKT92b2lkIDA6ci5vdmVyZmxvd3MpfHxbXTtpZih1JiZDLnB1c2goRVt5XSksZCl7Y29uc3QgZT1mdW5jdGlvbihlLHQsbil7dm9pZCAwPT09biYmKG49ITEpO2NvbnN0IHI9TnQoZSksbz1EdChlKSxpPU10KG8pO2xldCBzPVwieFwiPT09bz9yPT09KG4/XCJlbmRcIjpcInN0YXJ0XCIpP1wicmlnaHRcIjpcImxlZnRcIjpcInN0YXJ0XCI9PT1yP1wiYm90dG9tXCI6XCJ0b3BcIjtyZXR1cm4gdC5yZWZlcmVuY2VbaV0+dC5mbG9hdGluZ1tpXSYmKHM9QXQocykpLFtzLEF0KHMpXX0obyxzLHgpO0MucHVzaChFW2VbMF1dLEVbZVsxXV0pfWlmKF89Wy4uLl8se3BsYWNlbWVudDpvLG92ZXJmbG93czpDfV0sIUMuZXZlcnkoKGU9PmU8PTApKSl7dmFyIFAsTztjb25zdCBlPSgobnVsbD09KFA9aS5mbGlwKT92b2lkIDA6UC5pbmRleCl8fDApKzEsdD1rW2VdO2lmKHQpcmV0dXJue2RhdGE6e2luZGV4OmUsb3ZlcmZsb3dzOl99LHJlc2V0OntwbGFjZW1lbnQ6dH19O2xldCBuPW51bGw9PShPPV8uZmlsdGVyKChlPT5lLm92ZXJmbG93c1swXTw9MCkpLnNvcnQoKChlLHQpPT5lLm92ZXJmbG93c1sxXS10Lm92ZXJmbG93c1sxXSkpWzBdKT92b2lkIDA6Ty5wbGFjZW1lbnQ7aWYoIW4pc3dpdGNoKG0pe2Nhc2VcImJlc3RGaXRcIjp7dmFyIE47Y29uc3QgZT1udWxsPT0oTj1fLmZpbHRlcigoZT0+e2lmKFMpe2NvbnN0IHQ9UnQoZS5wbGFjZW1lbnQpO3JldHVybiB0PT09dnx8XCJ5XCI9PT10fXJldHVybiEwfSkpLm1hcCgoZT0+W2UucGxhY2VtZW50LGUub3ZlcmZsb3dzLmZpbHRlcigoZT0+ZT4wKSkucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKV0pKS5zb3J0KCgoZSx0KT0+ZVsxXS10WzFdKSlbMF0pP3ZvaWQgMDpOWzBdO2UmJihuPWUpO2JyZWFrfWNhc2VcImluaXRpYWxQbGFjZW1lbnRcIjpuPWF9aWYobyE9PW4pcmV0dXJue3Jlc2V0OntwbGFjZW1lbnQ6bn19fXJldHVybnt9fX19LGtuPWZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT17fSkse25hbWU6XCJzaXplXCIsb3B0aW9uczplLGFzeW5jIGZuKHQpe2NvbnN0e3BsYWNlbWVudDpuLHJlY3RzOnIscGxhdGZvcm06byxlbGVtZW50czppfT10LHthcHBseTpzPSgpPT57fSwuLi5hfT1QdChlLHQpLGw9YXdhaXQgcm4odCxhKSxjPU90KG4pLHU9TnQobiksZD1cInlcIj09PVJ0KG4pLHt3aWR0aDpmLGhlaWdodDptfT1yLmZsb2F0aW5nO2xldCBoLHA7XCJ0b3BcIj09PWN8fFwiYm90dG9tXCI9PT1jPyhoPWMscD11PT09KGF3YWl0KG51bGw9PW8uaXNSVEw/dm9pZCAwOm8uaXNSVEwoaS5mbG9hdGluZykpP1wic3RhcnRcIjpcImVuZFwiKT9cImxlZnRcIjpcInJpZ2h0XCIpOihwPWMsaD1cImVuZFwiPT09dT9cInRvcFwiOlwiYm90dG9tXCIpO2NvbnN0IGc9bS1sLnRvcC1sLmJvdHRvbSx5PWYtbC5sZWZ0LWwucmlnaHQsdj1idChtLWxbaF0sZyksYj1idChmLWxbcF0seSkseD0hdC5taWRkbGV3YXJlRGF0YS5zaGlmdDtsZXQgdz12LFM9YjtpZihkP1M9dXx8eD9idChiLHkpOnk6dz11fHx4P2J0KHYsZyk6Zyx4JiYhdSl7Y29uc3QgZT14dChsLmxlZnQsMCksdD14dChsLnJpZ2h0LDApLG49eHQobC50b3AsMCkscj14dChsLmJvdHRvbSwwKTtkP1M9Zi0yKigwIT09ZXx8MCE9PXQ/ZSt0Onh0KGwubGVmdCxsLnJpZ2h0KSk6dz1tLTIqKDAhPT1ufHwwIT09cj9uK3I6eHQobC50b3AsbC5ib3R0b20pKX1hd2FpdCBzKHsuLi50LGF2YWlsYWJsZVdpZHRoOlMsYXZhaWxhYmxlSGVpZ2h0Ond9KTtjb25zdCBrPWF3YWl0IG8uZ2V0RGltZW5zaW9ucyhpLmZsb2F0aW5nKTtyZXR1cm4gZiE9PWsud2lkdGh8fG0hPT1rLmhlaWdodD97cmVzZXQ6e3JlY3RzOiEwfX06e319fX0sRW49ZT0+KHtuYW1lOlwiYXJyb3dcIixvcHRpb25zOmUsYXN5bmMgZm4odCl7Y29uc3R7eDpuLHk6cixwbGFjZW1lbnQ6byxyZWN0czppLHBsYXRmb3JtOnMsZWxlbWVudHM6YSxtaWRkbGV3YXJlRGF0YTpsfT10LHtlbGVtZW50OmMscGFkZGluZzp1PTB9PVB0KGUsdCl8fHt9O2lmKG51bGw9PWMpcmV0dXJue307Y29uc3QgZD1JdCh1KSxmPXt4Om4seTpyfSxtPUR0KG8pLGg9TXQobSkscD1hd2FpdCBzLmdldERpbWVuc2lvbnMoYyksZz1cInlcIj09PW0seT1nP1widG9wXCI6XCJsZWZ0XCIsdj1nP1wiYm90dG9tXCI6XCJyaWdodFwiLGI9Zz9cImNsaWVudEhlaWdodFwiOlwiY2xpZW50V2lkdGhcIix4PWkucmVmZXJlbmNlW2hdK2kucmVmZXJlbmNlW21dLWZbbV0taS5mbG9hdGluZ1toXSx3PWZbbV0taS5yZWZlcmVuY2VbbV0sUz1hd2FpdChudWxsPT1zLmdldE9mZnNldFBhcmVudD92b2lkIDA6cy5nZXRPZmZzZXRQYXJlbnQoYykpO2xldCBrPVM/U1tiXTowO2smJmF3YWl0KG51bGw9PXMuaXNFbGVtZW50P3ZvaWQgMDpzLmlzRWxlbWVudChTKSl8fChrPWEuZmxvYXRpbmdbYl18fGkuZmxvYXRpbmdbaF0pO2NvbnN0IEU9eC8yLXcvMixDPWsvMi1wW2hdLzItMSxfPWJ0KGRbeV0sQyksUD1idChkW3ZdLEMpLE89XyxOPWstcFtoXS1QLFQ9ay8yLXBbaF0vMitFLE09X3QoTyxULE4pLFI9IWwuYXJyb3cmJm51bGwhPU50KG8pJiZUIT09TSYmaS5yZWZlcmVuY2VbaF0vMi0oVDxPP186UCktcFtoXS8yPDAsRD1SP1Q8Tz9ULU86VC1OOjA7cmV0dXJue1ttXTpmW21dK0QsZGF0YTp7W21dOk0sY2VudGVyT2Zmc2V0OlQtTS1ELC4uLlImJnthbGlnbm1lbnRPZmZzZXQ6RH19LHJlc2V0OlJ9fX0pLENuPShlLHQsbik9Pntjb25zdCByPW5ldyBNYXAsbz17cGxhdGZvcm06dm4sLi4ubn0saT17Li4uby5wbGF0Zm9ybSxfYzpyfTtyZXR1cm4oYXN5bmMoZSx0LG4pPT57Y29uc3R7cGxhY2VtZW50OnI9XCJib3R0b21cIixzdHJhdGVneTpvPVwiYWJzb2x1dGVcIixtaWRkbGV3YXJlOmk9W10scGxhdGZvcm06c309bixhPWkuZmlsdGVyKEJvb2xlYW4pLGw9YXdhaXQobnVsbD09cy5pc1JUTD92b2lkIDA6cy5pc1JUTCh0KSk7bGV0IGM9YXdhaXQgcy5nZXRFbGVtZW50UmVjdHMoe3JlZmVyZW5jZTplLGZsb2F0aW5nOnQsc3RyYXRlZ3k6b30pLHt4OnUseTpkfT1ubihjLHIsbCksZj1yLG09e30saD0wO2ZvcihsZXQgbj0wO248YS5sZW5ndGg7bisrKXtjb25zdHtuYW1lOmksZm46cH09YVtuXSx7eDpnLHk6eSxkYXRhOnYscmVzZXQ6Yn09YXdhaXQgcCh7eDp1LHk6ZCxpbml0aWFsUGxhY2VtZW50OnIscGxhY2VtZW50OmYsc3RyYXRlZ3k6byxtaWRkbGV3YXJlRGF0YTptLHJlY3RzOmMscGxhdGZvcm06cyxlbGVtZW50czp7cmVmZXJlbmNlOmUsZmxvYXRpbmc6dH19KTt1PW51bGwhPWc/Zzp1LGQ9bnVsbCE9eT95OmQsbT17Li4ubSxbaV06ey4uLm1baV0sLi4udn19LGImJmg8PTUwJiYoaCsrLFwib2JqZWN0XCI9PXR5cGVvZiBiJiYoYi5wbGFjZW1lbnQmJihmPWIucGxhY2VtZW50KSxiLnJlY3RzJiYoYz0hMD09PWIucmVjdHM/YXdhaXQgcy5nZXRFbGVtZW50UmVjdHMoe3JlZmVyZW5jZTplLGZsb2F0aW5nOnQsc3RyYXRlZ3k6b30pOmIucmVjdHMpLCh7eDp1LHk6ZH09bm4oYyxmLGwpKSksbj0tMSl9cmV0dXJue3g6dSx5OmQscGxhY2VtZW50OmYsc3RyYXRlZ3k6byxtaWRkbGV3YXJlRGF0YTptfX0pKGUsdCx7Li4ubyxwbGF0Zm9ybTppfSl9O3ZhciBQbj1cInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQ/YS51c2VMYXlvdXRFZmZlY3Q6YS51c2VFZmZlY3Q7ZnVuY3Rpb24gT24oZSx0KXtpZihlPT09dClyZXR1cm4hMDtpZih0eXBlb2YgZSE9dHlwZW9mIHQpcmV0dXJuITE7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgZSYmZS50b1N0cmluZygpPT09dC50b1N0cmluZygpKXJldHVybiEwO2xldCBuLHIsbztpZihlJiZ0JiZcIm9iamVjdFwiPT10eXBlb2YgZSl7aWYoQXJyYXkuaXNBcnJheShlKSl7aWYobj1lLmxlbmd0aCxuIT09dC5sZW5ndGgpcmV0dXJuITE7Zm9yKHI9bjswIT1yLS07KWlmKCFPbihlW3JdLHRbcl0pKXJldHVybiExO3JldHVybiEwfWlmKG89T2JqZWN0LmtleXMoZSksbj1vLmxlbmd0aCxuIT09T2JqZWN0LmtleXModCkubGVuZ3RoKXJldHVybiExO2ZvcihyPW47MCE9ci0tOylpZighe30uaGFzT3duUHJvcGVydHkuY2FsbCh0LG9bcl0pKXJldHVybiExO2ZvcihyPW47MCE9ci0tOyl7Y29uc3Qgbj1vW3JdO2lmKCEoXCJfb3duZXJcIj09PW4mJmUuJCR0eXBlb2Z8fE9uKGVbbl0sdFtuXSkpKXJldHVybiExfXJldHVybiEwfXJldHVybiBlIT1lJiZ0IT10fWZ1bmN0aW9uIE5uKGUpe3JldHVyblwidW5kZWZpbmVkXCI9PXR5cGVvZiB3aW5kb3c/MTooZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmRldmljZVBpeGVsUmF0aW98fDF9ZnVuY3Rpb24gVG4oZSx0KXtjb25zdCBuPU5uKGUpO3JldHVybiBNYXRoLnJvdW5kKHQqbikvbn1mdW5jdGlvbiBNbihlKXtjb25zdCB0PWEudXNlUmVmKGUpO3JldHVybiBQbigoKCk9Pnt0LmN1cnJlbnQ9ZX0pKSx0fWNvbnN0IFJuPWU9Pih7bmFtZTpcImFycm93XCIsb3B0aW9uczplLGZuKHQpe2NvbnN0e2VsZW1lbnQ6bixwYWRkaW5nOnJ9PVwiZnVuY3Rpb25cIj09dHlwZW9mIGU/ZSh0KTplO3JldHVybiBuJiYobz1uLHt9Lmhhc093blByb3BlcnR5LmNhbGwobyxcImN1cnJlbnRcIikpP251bGwhPW4uY3VycmVudD9Fbih7ZWxlbWVudDpuLmN1cnJlbnQscGFkZGluZzpyfSkuZm4odCk6e306bj9Fbih7ZWxlbWVudDpuLHBhZGRpbmc6cn0pLmZuKHQpOnt9O3ZhciBvfX0pLERuPShlLHQpPT4oey4uLnhuKGUpLG9wdGlvbnM6W2UsdF19KSxqbj0oZSx0KT0+KHsuLi53bihlKSxvcHRpb25zOltlLHRdfSksQW49KGUsdCk9Pih7Li4uU24oZSksb3B0aW9uczpbZSx0XX0pLEluPShlLHQpPT4oey4uLmtuKGUpLG9wdGlvbnM6W2UsdF19KSxMbj17Li4uYX0sRm49TG4udXNlSW5zZXJ0aW9uRWZmZWN0fHwoZT0+ZSgpKTtmdW5jdGlvbiB6bihlKXtjb25zdCB0PWEudXNlUmVmKCgoKT0+e30pKTtyZXR1cm4gRm4oKCgpPT57dC5jdXJyZW50PWV9KSksYS51c2VDYWxsYmFjaygoZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxuPW5ldyBBcnJheShlKSxyPTA7cjxlO3IrKyluW3JdPWFyZ3VtZW50c1tyXTtyZXR1cm4gbnVsbD09dC5jdXJyZW50P3ZvaWQgMDp0LmN1cnJlbnQoLi4ubil9KSxbXSl9Y29uc3QgQm49XCJBcnJvd1VwXCIsV249XCJBcnJvd0Rvd25cIixWbj1cIkFycm93TGVmdFwiLFVuPVwiQXJyb3dSaWdodFwiO2Z1bmN0aW9uICRuKGUsdCxuKXtyZXR1cm4gTWF0aC5mbG9vcihlL3QpIT09bn1mdW5jdGlvbiBZbihlLHQpe3JldHVybiB0PDB8fHQ+PWUuY3VycmVudC5sZW5ndGh9ZnVuY3Rpb24gSG4oZSx0KXtyZXR1cm4gcW4oZSx7ZGlzYWJsZWRJbmRpY2VzOnR9KX1mdW5jdGlvbiBLbihlLHQpe3JldHVybiBxbihlLHtkZWNyZW1lbnQ6ITAsc3RhcnRpbmdJbmRleDplLmN1cnJlbnQubGVuZ3RoLGRpc2FibGVkSW5kaWNlczp0fSl9ZnVuY3Rpb24gcW4oZSx0KXtsZXR7c3RhcnRpbmdJbmRleDpuPS0xLGRlY3JlbWVudDpyPSExLGRpc2FibGVkSW5kaWNlczpvLGFtb3VudDppPTF9PXZvaWQgMD09PXQ/e306dDtjb25zdCBzPWUuY3VycmVudDtsZXQgYT1uO2Rve2ErPXI/LWk6aX13aGlsZShhPj0wJiZhPD1zLmxlbmd0aC0xJiZabihzLGEsbykpO3JldHVybiBhfWZ1bmN0aW9uIEduKGUsdCxuLHIsbyl7aWYoLTE9PT1lKXJldHVybi0xO2NvbnN0IGk9bi5pbmRleE9mKGUpLHM9dFtlXTtzd2l0Y2gobyl7Y2FzZVwidGxcIjpyZXR1cm4gaTtjYXNlXCJ0clwiOnJldHVybiBzP2krcy53aWR0aC0xOmk7Y2FzZVwiYmxcIjpyZXR1cm4gcz9pKyhzLmhlaWdodC0xKSpyOmk7Y2FzZVwiYnJcIjpyZXR1cm4gbi5sYXN0SW5kZXhPZihlKX19ZnVuY3Rpb24gWG4oZSx0KXtyZXR1cm4gdC5mbGF0TWFwKCgodCxuKT0+ZS5pbmNsdWRlcyh0KT9bbl06W10pKX1mdW5jdGlvbiBabihlLHQsbil7aWYobilyZXR1cm4gbi5pbmNsdWRlcyh0KTtjb25zdCByPWVbdF07cmV0dXJuIG51bGw9PXJ8fHIuaGFzQXR0cmlidXRlKFwiZGlzYWJsZWRcIil8fFwidHJ1ZVwiPT09ci5nZXRBdHRyaWJ1dGUoXCJhcmlhLWRpc2FibGVkXCIpfWxldCBKbj0wO2Z1bmN0aW9uIFFuKGUsdCl7dm9pZCAwPT09dCYmKHQ9e30pO2NvbnN0e3ByZXZlbnRTY3JvbGw6bj0hMSxjYW5jZWxQcmV2aW91czpyPSEwLHN5bmM6bz0hMX09dDtyJiZjYW5jZWxBbmltYXRpb25GcmFtZShKbik7Y29uc3QgaT0oKT0+bnVsbD09ZT92b2lkIDA6ZS5mb2N1cyh7cHJldmVudFNjcm9sbDpufSk7bz9pKCk6Sm49cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGkpfXZhciBlcj1cInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQ/YS51c2VMYXlvdXRFZmZlY3Q6YS51c2VFZmZlY3Q7ZnVuY3Rpb24gdHIoKXtyZXR1cm4gdHI9T2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduLmJpbmQoKTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciByIGluIG4pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJihlW3JdPW5bcl0pfXJldHVybiBlfSx0ci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9bGV0IG5yPSExLHJyPTA7Y29uc3Qgb3I9KCk9PlwiZmxvYXRpbmctdWktXCIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiw2KStycisrLGlyPUxuLnVzZUlkfHxmdW5jdGlvbigpe2NvbnN0W2UsdF09YS51c2VTdGF0ZSgoKCk9Pm5yP29yKCk6dm9pZCAwKSk7cmV0dXJuIGVyKCgoKT0+e251bGw9PWUmJnQob3IoKSl9KSxbXSksYS51c2VFZmZlY3QoKCgpPT57bnI9ITB9KSxbXSksZX0sc3I9YS5mb3J3YXJkUmVmKChmdW5jdGlvbihlLHQpe2NvbnN0e2NvbnRleHQ6e3BsYWNlbWVudDpuLGVsZW1lbnRzOntmbG9hdGluZzpyfSxtaWRkbGV3YXJlRGF0YTp7YXJyb3c6byxzaGlmdDppfX0sd2lkdGg6cz0xNCxoZWlnaHQ6bD03LHRpcFJhZGl1czpjPTAsc3Ryb2tlV2lkdGg6dT0wLHN0YXRpY09mZnNldDpkLHN0cm9rZTpmLGQ6bSxzdHlsZTp7dHJhbnNmb3JtOmgsLi4ucH09e30sLi4uZ309ZSx5PWlyKCksW3YsYl09YS51c2VTdGF0ZSghMSk7aWYoZXIoKCgpPT57ciYmXCJydGxcIj09PVhlKHIpLmRpcmVjdGlvbiYmYighMCl9KSxbcl0pLCFyKXJldHVybiBudWxsO2NvbnN0W3gsd109bi5zcGxpdChcIi1cIiksUz1cInRvcFwiPT09eHx8XCJib3R0b21cIj09PXg7bGV0IGs9ZDsoUyYmbnVsbCE9aSYmaS54fHwhUyYmbnVsbCE9aSYmaS55KSYmKGs9bnVsbCk7Y29uc3QgRT0yKnUsQz1FLzIsXz1zLzIqKGMvLTgrMSksUD1sLzIqYy80LE89ISFtLE49ayYmXCJlbmRcIj09PXc/XCJib3R0b21cIjpcInRvcFwiO2xldCBUPWsmJlwiZW5kXCI9PT13P1wicmlnaHRcIjpcImxlZnRcIjtrJiZ2JiYoVD1cImVuZFwiPT09dz9cImxlZnRcIjpcInJpZ2h0XCIpO2NvbnN0IE09bnVsbCE9KG51bGw9PW8/dm9pZCAwOm8ueCk/a3x8by54OlwiXCIsUj1udWxsIT0obnVsbD09bz92b2lkIDA6by55KT9rfHxvLnk6XCJcIixEPW18fFwiTTAsMCBIXCIrcytcIiBMXCIrKHMtXykrXCIsXCIrKGwtUCkrXCIgUVwiK3MvMitcIixcIitsK1wiIFwiK18rXCIsXCIrKGwtUCkrXCIgWlwiLGo9e3RvcDpPP1wicm90YXRlKDE4MGRlZylcIjpcIlwiLGxlZnQ6Tz9cInJvdGF0ZSg5MGRlZylcIjpcInJvdGF0ZSgtOTBkZWcpXCIsYm90dG9tOk8/XCJcIjpcInJvdGF0ZSgxODBkZWcpXCIscmlnaHQ6Tz9cInJvdGF0ZSgtOTBkZWcpXCI6XCJyb3RhdGUoOTBkZWcpXCJ9W3hdO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoXCJzdmdcIix0cih7fSxnLHtcImFyaWEtaGlkZGVuXCI6ITAscmVmOnQsd2lkdGg6Tz9zOnMrRSxoZWlnaHQ6cyx2aWV3Qm94OlwiMCAwIFwiK3MrXCIgXCIrKGw+cz9sOnMpLHN0eWxlOntwb3NpdGlvbjpcImFic29sdXRlXCIscG9pbnRlckV2ZW50czpcIm5vbmVcIixbVF06TSxbTl06UixbeF06U3x8Tz9cIjEwMCVcIjpcImNhbGMoMTAwJSAtIFwiK0UvMitcInB4KVwiLHRyYW5zZm9ybTpcIlwiK2orKG51bGwhPWg/aDpcIlwiKSwuLi5wfX0pLEU+MCYmYS5jcmVhdGVFbGVtZW50KFwicGF0aFwiLHtjbGlwUGF0aDpcInVybCgjXCIreStcIilcIixmaWxsOlwibm9uZVwiLHN0cm9rZTpmLHN0cm9rZVdpZHRoOkUrKG0/MDoxKSxkOkR9KSxhLmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIse3N0cm9rZTpFJiYhbT9nLmZpbGw6XCJub25lXCIsZDpEfSksYS5jcmVhdGVFbGVtZW50KFwiY2xpcFBhdGhcIix7aWQ6eX0sYS5jcmVhdGVFbGVtZW50KFwicmVjdFwiLHt4Oi1DLHk6QyooTz8tMToxKSx3aWR0aDpzK0UsaGVpZ2h0OnN9KSkpfSkpO2NvbnN0IGFyPWEuY3JlYXRlQ29udGV4dChudWxsKSxscj1hLmNyZWF0ZUNvbnRleHQobnVsbCksY3I9KCk9Pnt2YXIgZTtyZXR1cm4obnVsbD09KGU9YS51c2VDb250ZXh0KGFyKSk/dm9pZCAwOmUuaWQpfHxudWxsfSx1cj0oKT0+YS51c2VDb250ZXh0KGxyKTtmdW5jdGlvbiBkcihlKXtyZXR1cm5cImRhdGEtZmxvYXRpbmctdWktXCIrZX1mdW5jdGlvbiBmcihlKXtjb25zdCB0PSgwLGEudXNlUmVmKShlKTtyZXR1cm4gZXIoKCgpPT57dC5jdXJyZW50PWV9KSksdH1jb25zdCBtcj1kcihcInNhZmUtcG9seWdvblwiKTtmdW5jdGlvbiBocihlLHQsbil7cmV0dXJuIG4mJiFkdChuKT8wOlwibnVtYmVyXCI9PXR5cGVvZiBlP2U6bnVsbD09ZT92b2lkIDA6ZVt0XX1mdW5jdGlvbiBwcihlLHQpe2xldCBuPWUuZmlsdGVyKChlPT57dmFyIG47cmV0dXJuIGUucGFyZW50SWQ9PT10JiYobnVsbD09KG49ZS5jb250ZXh0KT92b2lkIDA6bi5vcGVuKX0pKSxyPW47Zm9yKDtyLmxlbmd0aDspcj1lLmZpbHRlcigoZT0+e3ZhciB0O3JldHVybiBudWxsPT0odD1yKT92b2lkIDA6dC5zb21lKCh0PT57dmFyIG47cmV0dXJuIGUucGFyZW50SWQ9PT10LmlkJiYobnVsbD09KG49ZS5jb250ZXh0KT92b2lkIDA6bi5vcGVuKX0pKX0pKSxuPW4uY29uY2F0KHIpO3JldHVybiBufWxldCBncj1uZXcgV2Vha01hcCx5cj1uZXcgV2Vha1NldCx2cj17fSxicj0wO2NvbnN0IHhyPSgpPT5cInVuZGVmaW5lZFwiIT10eXBlb2YgSFRNTEVsZW1lbnQmJlwiaW5lcnRcImluIEhUTUxFbGVtZW50LnByb3RvdHlwZSx3cj1lPT5lJiYoZS5ob3N0fHx3cihlLnBhcmVudE5vZGUpKSxTcj0oZSx0KT0+dC5tYXAoKHQ9PntpZihlLmNvbnRhaW5zKHQpKXJldHVybiB0O2NvbnN0IG49d3IodCk7cmV0dXJuIGUuY29udGFpbnMobik/bjpudWxsfSkpLmZpbHRlcigoZT0+bnVsbCE9ZSkpO2Z1bmN0aW9uIGtyKGUsdCxuKXt2b2lkIDA9PT10JiYodD0hMSksdm9pZCAwPT09biYmKG49ITEpO2NvbnN0IHI9ZnQoZVswXSkuYm9keTtyZXR1cm4gZnVuY3Rpb24oZSx0LG4scil7Y29uc3Qgbz1cImRhdGEtZmxvYXRpbmctdWktaW5lcnRcIixpPXI/XCJpbmVydFwiOm4/XCJhcmlhLWhpZGRlblwiOm51bGwscz1Tcih0LGUpLGE9bmV3IFNldCxsPW5ldyBTZXQocyksYz1bXTt2cltvXXx8KHZyW29dPW5ldyBXZWFrTWFwKTtjb25zdCB1PXZyW29dO3JldHVybiBzLmZvckVhY2goKGZ1bmN0aW9uIGUodCl7dCYmIWEuaGFzKHQpJiYoYS5hZGQodCksdC5wYXJlbnROb2RlJiZlKHQucGFyZW50Tm9kZSkpfSkpLGZ1bmN0aW9uIGUodCl7dCYmIWwuaGFzKHQpJiZbXS5mb3JFYWNoLmNhbGwodC5jaGlsZHJlbiwodD0+e2lmKFwic2NyaXB0XCIhPT1MZSh0KSlpZihhLmhhcyh0KSllKHQpO2Vsc2V7Y29uc3QgZT1pP3QuZ2V0QXR0cmlidXRlKGkpOm51bGwsbj1udWxsIT09ZSYmXCJmYWxzZVwiIT09ZSxyPShnci5nZXQodCl8fDApKzEscz0odS5nZXQodCl8fDApKzE7Z3Iuc2V0KHQsciksdS5zZXQodCxzKSxjLnB1c2godCksMT09PXImJm4mJnlyLmFkZCh0KSwxPT09cyYmdC5zZXRBdHRyaWJ1dGUobyxcIlwiKSwhbiYmaSYmdC5zZXRBdHRyaWJ1dGUoaSxcInRydWVcIil9fSkpfSh0KSxhLmNsZWFyKCksYnIrKywoKT0+e2MuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9KGdyLmdldChlKXx8MCktMSxuPSh1LmdldChlKXx8MCktMTtnci5zZXQoZSx0KSx1LnNldChlLG4pLHR8fCgheXIuaGFzKGUpJiZpJiZlLnJlbW92ZUF0dHJpYnV0ZShpKSx5ci5kZWxldGUoZSkpLG58fGUucmVtb3ZlQXR0cmlidXRlKG8pfSkpLGJyLS0sYnJ8fChncj1uZXcgV2Vha01hcCxncj1uZXcgV2Vha01hcCx5cj1uZXcgV2Vha1NldCx2cj17fSl9fShlLmNvbmNhdChBcnJheS5mcm9tKHIucXVlcnlTZWxlY3RvckFsbChcIlthcmlhLWxpdmVdXCIpKSkscix0LG4pfWNvbnN0IEVyPSgpPT4oe2dldFNoYWRvd1Jvb3Q6ITAsZGlzcGxheUNoZWNrOlwiZnVuY3Rpb25cIj09dHlwZW9mIFJlc2l6ZU9ic2VydmVyJiZSZXNpemVPYnNlcnZlci50b1N0cmluZygpLmluY2x1ZGVzKFwiW25hdGl2ZSBjb2RlXVwiKT9cImZ1bGxcIjpcIm5vbmVcIn0pO2Z1bmN0aW9uIENyKGUsdCl7Y29uc3Qgbj1RdChlLEVyKCkpO1wicHJldlwiPT09dCYmbi5yZXZlcnNlKCk7Y29uc3Qgcj1uLmluZGV4T2YobnQoZnQoZSkpKTtyZXR1cm4gbi5zbGljZShyKzEpWzBdfWZ1bmN0aW9uIF9yKCl7cmV0dXJuIENyKGRvY3VtZW50LmJvZHksXCJuZXh0XCIpfWZ1bmN0aW9uIFByKCl7cmV0dXJuIENyKGRvY3VtZW50LmJvZHksXCJwcmV2XCIpfWZ1bmN0aW9uIE9yKGUsdCl7Y29uc3Qgbj10fHxlLmN1cnJlbnRUYXJnZXQscj1lLnJlbGF0ZWRUYXJnZXQ7cmV0dXJuIXJ8fCFydChuLHIpfWZ1bmN0aW9uIE5yKGUpe1F0KGUsRXIoKSkuZm9yRWFjaCgoZT0+e2UuZGF0YXNldC50YWJpbmRleD1lLmdldEF0dHJpYnV0ZShcInRhYmluZGV4XCIpfHxcIlwiLGUuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIixcIi0xXCIpfSkpfWZ1bmN0aW9uIFRyKGUpe2UucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLXRhYmluZGV4XVwiKS5mb3JFYWNoKChlPT57Y29uc3QgdD1lLmRhdGFzZXQudGFiaW5kZXg7ZGVsZXRlIGUuZGF0YXNldC50YWJpbmRleCx0P2Uuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIix0KTplLnJlbW92ZUF0dHJpYnV0ZShcInRhYmluZGV4XCIpfSkpfWNvbnN0IE1yPXtib3JkZXI6MCxjbGlwOlwicmVjdCgwIDAgMCAwKVwiLGhlaWdodDpcIjFweFwiLG1hcmdpbjpcIi0xcHhcIixvdmVyZmxvdzpcImhpZGRlblwiLHBhZGRpbmc6MCxwb3NpdGlvbjpcImZpeGVkXCIsd2hpdGVTcGFjZTpcIm5vd3JhcFwiLHdpZHRoOlwiMXB4XCIsdG9wOjAsbGVmdDowfTtmdW5jdGlvbiBScihlKXtcIlRhYlwiPT09ZS5rZXkmJihlLnRhcmdldCxjbGVhclRpbWVvdXQodm9pZCAwKSl9Y29uc3QgRHI9YS5mb3J3YXJkUmVmKChmdW5jdGlvbihlLHQpe2NvbnN0W24scl09YS51c2VTdGF0ZSgpO2VyKCgoKT0+KGx0KCkmJnIoXCJidXR0b25cIiksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixSciksKCk9Pntkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLFJyKX0pKSxbXSk7Y29uc3Qgbz17cmVmOnQsdGFiSW5kZXg6MCxyb2xlOm4sXCJhcmlhLWhpZGRlblwiOiFufHx2b2lkIDAsW2RyKFwiZm9jdXMtZ3VhcmRcIildOlwiXCIsc3R5bGU6TXJ9O3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsdHIoe30sZSxvKSl9KSksanI9YS5jcmVhdGVDb250ZXh0KG51bGwpLEFyPWRyKFwicG9ydGFsXCIpO2Z1bmN0aW9uIElyKGUpe2NvbnN0e2NoaWxkcmVuOnQsaWQ6bixyb290OnI9bnVsbCxwcmVzZXJ2ZVRhYk9yZGVyOm89ITB9PWUsaT1mdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT17fSk7Y29uc3R7aWQ6dCxyb290Om59PWUscj1pcigpLG89THIoKSxbaSxzXT1hLnVzZVN0YXRlKG51bGwpLGw9YS51c2VSZWYobnVsbCk7cmV0dXJuIGVyKCgoKT0+KCk9PntudWxsPT1pfHxpLnJlbW92ZSgpLHF1ZXVlTWljcm90YXNrKCgoKT0+e2wuY3VycmVudD1udWxsfSkpfSksW2ldKSxlcigoKCk9PntpZighcilyZXR1cm47aWYobC5jdXJyZW50KXJldHVybjtjb25zdCBlPXQ/ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCk6bnVsbDtpZighZSlyZXR1cm47Y29uc3Qgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO24uaWQ9cixuLnNldEF0dHJpYnV0ZShBcixcIlwiKSxlLmFwcGVuZENoaWxkKG4pLGwuY3VycmVudD1uLHMobil9KSxbdCxyXSksZXIoKCgpPT57aWYoIXIpcmV0dXJuO2lmKGwuY3VycmVudClyZXR1cm47bGV0IGU9bnx8KG51bGw9PW8/dm9pZCAwOm8ucG9ydGFsTm9kZSk7ZSYmIVdlKGUpJiYoZT1lLmN1cnJlbnQpLGU9ZXx8ZG9jdW1lbnQuYm9keTtsZXQgaT1udWxsO3QmJihpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksaS5pZD10LGUuYXBwZW5kQ2hpbGQoaSkpO2NvbnN0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTthLmlkPXIsYS5zZXRBdHRyaWJ1dGUoQXIsXCJcIiksZT1pfHxlLGUuYXBwZW5kQ2hpbGQoYSksbC5jdXJyZW50PWEscyhhKX0pLFt0LG4scixvXSksaX0oe2lkOm4scm9vdDpyfSksW3MsbF09YS51c2VTdGF0ZShudWxsKSxjPWEudXNlUmVmKG51bGwpLHU9YS51c2VSZWYobnVsbCksZD1hLnVzZVJlZihudWxsKSxmPWEudXNlUmVmKG51bGwpLG09bnVsbD09cz92b2lkIDA6cy5tb2RhbCxoPW51bGw9PXM/dm9pZCAwOnMub3BlbixwPSEhcyYmIXMubW9kYWwmJnMub3BlbiYmbyYmISghciYmIWkpO3JldHVybiBhLnVzZUVmZmVjdCgoKCk9PntpZihpJiZvJiYhbSlyZXR1cm4gaS5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNpblwiLGUsITApLGkuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsZSwhMCksKCk9PntpLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c2luXCIsZSwhMCksaS5yZW1vdmVFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIixlLCEwKX07ZnVuY3Rpb24gZShlKXtpJiZPcihlKSYmKFwiZm9jdXNpblwiPT09ZS50eXBlP1RyOk5yKShpKX19KSxbaSxvLG1dKSxhLnVzZUVmZmVjdCgoKCk9PntpJiYoaHx8VHIoaSkpfSksW2gsaV0pLGEuY3JlYXRlRWxlbWVudChqci5Qcm92aWRlcix7dmFsdWU6YS51c2VNZW1vKCgoKT0+KHtwcmVzZXJ2ZVRhYk9yZGVyOm8sYmVmb3JlT3V0c2lkZVJlZjpjLGFmdGVyT3V0c2lkZVJlZjp1LGJlZm9yZUluc2lkZVJlZjpkLGFmdGVySW5zaWRlUmVmOmYscG9ydGFsTm9kZTppLHNldEZvY3VzTWFuYWdlclN0YXRlOmx9KSksW28saV0pfSxwJiZpJiZhLmNyZWF0ZUVsZW1lbnQoRHIse1wiZGF0YS10eXBlXCI6XCJvdXRzaWRlXCIscmVmOmMsb25Gb2N1czplPT57aWYoT3IoZSxpKSl7dmFyIHQ7bnVsbD09KHQ9ZC5jdXJyZW50KXx8dC5mb2N1cygpfWVsc2V7Y29uc3QgZT1QcigpfHwobnVsbD09cz92b2lkIDA6cy5yZWZzLmRvbVJlZmVyZW5jZS5jdXJyZW50KTtudWxsPT1lfHxlLmZvY3VzKCl9fX0pLHAmJmkmJmEuY3JlYXRlRWxlbWVudChcInNwYW5cIix7XCJhcmlhLW93bnNcIjppLmlkLHN0eWxlOk1yfSksaSYmdG4uY3JlYXRlUG9ydGFsKHQsaSkscCYmaSYmYS5jcmVhdGVFbGVtZW50KERyLHtcImRhdGEtdHlwZVwiOlwib3V0c2lkZVwiLHJlZjp1LG9uRm9jdXM6ZT0+e2lmKE9yKGUsaSkpe3ZhciB0O251bGw9PSh0PWYuY3VycmVudCl8fHQuZm9jdXMoKX1lbHNle2NvbnN0IHQ9X3IoKXx8KG51bGw9PXM/dm9pZCAwOnMucmVmcy5kb21SZWZlcmVuY2UuY3VycmVudCk7bnVsbD09dHx8dC5mb2N1cygpLChudWxsPT1zP3ZvaWQgMDpzLmNsb3NlT25Gb2N1c091dCkmJihudWxsPT1zfHxzLm9uT3BlbkNoYW5nZSghMSxlLm5hdGl2ZUV2ZW50LFwiZm9jdXMtb3V0XCIpKX19fSkpfWNvbnN0IExyPSgpPT5hLnVzZUNvbnRleHQoanIpLEZyPVwiZGF0YS1mbG9hdGluZy11aS1mb2N1c2FibGVcIjtmdW5jdGlvbiB6cihlKXtyZXR1cm4gZT9lLmhhc0F0dHJpYnV0ZShGcik/ZTplLnF1ZXJ5U2VsZWN0b3IoXCJbXCIrRnIrXCJdXCIpfHxlOm51bGx9Y29uc3QgQnI9MjA7bGV0IFdyPVtdO2Z1bmN0aW9uIFZyKGUpe1dyPVdyLmZpbHRlcigoZT0+ZS5pc0Nvbm5lY3RlZCkpO2xldCB0PWU7aWYodCYmXCJib2R5XCIhPT1MZSh0KSl7aWYoIWVuKHQsRXIoKSkpe2NvbnN0IGU9UXQodCxFcigpKVswXTtlJiYodD1lKX1Xci5wdXNoKHQpLFdyLmxlbmd0aD5CciYmKFdyPVdyLnNsaWNlKC1CcikpfX1mdW5jdGlvbiBVcigpe3JldHVybiBXci5zbGljZSgpLnJldmVyc2UoKS5maW5kKChlPT5lLmlzQ29ubmVjdGVkKSl9Y29uc3QgJHI9YS5mb3J3YXJkUmVmKChmdW5jdGlvbihlLHQpe3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIix0cih7fSxlLHt0eXBlOlwiYnV0dG9uXCIscmVmOnQsdGFiSW5kZXg6LTEsc3R5bGU6TXJ9KSl9KSk7ZnVuY3Rpb24gWXIoZSl7Y29uc3R7Y29udGV4dDp0LGNoaWxkcmVuOm4sZGlzYWJsZWQ6cj0hMSxvcmRlcjpvPVtcImNvbnRlbnRcIl0sZ3VhcmRzOmk9ITAsaW5pdGlhbEZvY3VzOnM9MCxyZXR1cm5Gb2N1czpsPSEwLHJlc3RvcmVGb2N1czpjPSExLG1vZGFsOnU9ITAsdmlzdWFsbHlIaWRkZW5EaXNtaXNzOmQ9ITEsY2xvc2VPbkZvY3VzT3V0OmY9ITB9PWUse29wZW46bSxyZWZzOmgsbm9kZUlkOnAsb25PcGVuQ2hhbmdlOmcsZXZlbnRzOnksZGF0YVJlZjp2LGZsb2F0aW5nSWQ6YixlbGVtZW50czp7ZG9tUmVmZXJlbmNlOngsZmxvYXRpbmc6d319PXQsUz1cIm51bWJlclwiPT10eXBlb2YgcyYmczwwLGs9dnQoeCkmJlMsRT0heHIoKXx8aSxDPWZyKG8pLF89ZnIocyksUD1mcihsKSxPPXVyKCksTj1McigpLFQ9YS51c2VSZWYobnVsbCksTT1hLnVzZVJlZihudWxsKSxSPWEudXNlUmVmKCExKSxEPWEudXNlUmVmKCExKSxqPWEudXNlUmVmKC0xKSxBPW51bGwhPU4sST16cih3KSxMPXpuKChmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9SSksZT9RdChlLEVyKCkpOltdfSkpLEY9em4oKGU9Pntjb25zdCB0PUwoZSk7cmV0dXJuIEMuY3VycmVudC5tYXAoKGU9PngmJlwicmVmZXJlbmNlXCI9PT1lP3g6SSYmXCJmbG9hdGluZ1wiPT09ZT9JOnQpKS5maWx0ZXIoQm9vbGVhbikuZmxhdCgpfSkpO2Z1bmN0aW9uIHooZSl7cmV0dXJuIXImJmQmJnU/YS5jcmVhdGVFbGVtZW50KCRyLHtyZWY6XCJzdGFydFwiPT09ZT9UOk0sb25DbGljazplPT5nKCExLGUubmF0aXZlRXZlbnQpfSxcInN0cmluZ1wiPT10eXBlb2YgZD9kOlwiRGlzbWlzc1wiKTpudWxsfWEudXNlRWZmZWN0KCgoKT0+e1IuY3VycmVudD0hMX0pLFtyXSksYS51c2VFZmZlY3QoKCgpPT57aWYocilyZXR1cm47aWYoIXUpcmV0dXJuO2Z1bmN0aW9uIGUoZSl7aWYoXCJUYWJcIj09PWUua2V5KXtydChJLG50KGZ0KEkpKSkmJjA9PT1MKCkubGVuZ3RoJiYhayYmeXQoZSk7Y29uc3QgdD1GKCksbj1odChlKTtcInJlZmVyZW5jZVwiPT09Qy5jdXJyZW50WzBdJiZuPT09eCYmKHl0KGUpLGUuc2hpZnRLZXk/UW4odFt0Lmxlbmd0aC0xXSk6UW4odFsxXSkpLFwiZmxvYXRpbmdcIj09PUMuY3VycmVudFsxXSYmbj09PUkmJmUuc2hpZnRLZXkmJih5dChlKSxRbih0WzBdKSl9fWNvbnN0IHQ9ZnQoSSk7cmV0dXJuIHQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixlKSwoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixlKX19KSxbcix4LEksdSxDLGssTCxGXSksYS51c2VFZmZlY3QoKCgpPT57aWYoIXImJncpcmV0dXJuIHcuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3VzaW5cIixlKSwoKT0+e3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3VzaW5cIixlKX07ZnVuY3Rpb24gZShlKXtjb25zdCB0PWh0KGUpLG49TCgpLmluZGV4T2YodCk7LTEhPT1uJiYoai5jdXJyZW50PW4pfX0pLFtyLHcsTF0pLGEudXNlRWZmZWN0KCgoKT0+e2lmKCFyJiZmKXJldHVybiB3JiZWZSh4KT8oeC5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIix0KSx4LmFkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVyZG93blwiLGUpLHcuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsdCksKCk9Pnt4LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c291dFwiLHQpLHgucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJkb3duXCIsZSksdy5yZW1vdmVFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIix0KX0pOnZvaWQgMDtmdW5jdGlvbiBlKCl7RC5jdXJyZW50PSEwLHNldFRpbWVvdXQoKCgpPT57RC5jdXJyZW50PSExfSkpfWZ1bmN0aW9uIHQoZSl7Y29uc3QgdD1lLnJlbGF0ZWRUYXJnZXQ7cXVldWVNaWNyb3Rhc2soKCgpPT57Y29uc3Qgbj0hKHJ0KHgsdCl8fHJ0KHcsdCl8fHJ0KHQsdyl8fHJ0KG51bGw9PU4/dm9pZCAwOk4ucG9ydGFsTm9kZSx0KXx8bnVsbCE9dCYmdC5oYXNBdHRyaWJ1dGUoZHIoXCJmb2N1cy1ndWFyZFwiKSl8fE8mJihwcihPLm5vZGVzUmVmLmN1cnJlbnQscCkuZmluZCgoZT0+e3ZhciBuLHI7cmV0dXJuIHJ0KG51bGw9PShuPWUuY29udGV4dCk/dm9pZCAwOm4uZWxlbWVudHMuZmxvYXRpbmcsdCl8fHJ0KG51bGw9PShyPWUuY29udGV4dCk/dm9pZCAwOnIuZWxlbWVudHMuZG9tUmVmZXJlbmNlLHQpfSkpfHxmdW5jdGlvbihlLHQpe3ZhciBuO2xldCByPVtdLG89bnVsbD09KG49ZS5maW5kKChlPT5lLmlkPT09dCkpKT92b2lkIDA6bi5wYXJlbnRJZDtmb3IoO287KXtjb25zdCB0PWUuZmluZCgoZT0+ZS5pZD09PW8pKTtvPW51bGw9PXQ/dm9pZCAwOnQucGFyZW50SWQsdCYmKHI9ci5jb25jYXQodCkpfXJldHVybiByfShPLm5vZGVzUmVmLmN1cnJlbnQscCkuZmluZCgoZT0+e3ZhciBuLHI7cmV0dXJuKG51bGw9PShuPWUuY29udGV4dCk/dm9pZCAwOm4uZWxlbWVudHMuZmxvYXRpbmcpPT09dHx8KG51bGw9PShyPWUuY29udGV4dCk/dm9pZCAwOnIuZWxlbWVudHMuZG9tUmVmZXJlbmNlKT09PXR9KSkpKTtpZihjJiZuJiZudChmdChJKSk9PT1mdChJKS5ib2R5KXtWZShJKSYmSS5mb2N1cygpO2NvbnN0IGU9ai5jdXJyZW50LHQ9TCgpLG49dFtlXXx8dFt0Lmxlbmd0aC0xXXx8STtWZShuKSYmbi5mb2N1cygpfSFrJiZ1fHwhdHx8IW58fEQuY3VycmVudHx8dD09PVVyKCl8fChSLmN1cnJlbnQ9ITAsZyghMSxlLFwiZm9jdXMtb3V0XCIpKX0pKX19KSxbcix4LHcsSSx1LHAsTyxOLGcsZixjLEwsa10pLGEudXNlRWZmZWN0KCgoKT0+e3ZhciBlO2lmKHIpcmV0dXJuO2NvbnN0IHQ9QXJyYXkuZnJvbSgobnVsbD09Tnx8bnVsbD09KGU9Ti5wb3J0YWxOb2RlKT92b2lkIDA6ZS5xdWVyeVNlbGVjdG9yQWxsKFwiW1wiK2RyKFwicG9ydGFsXCIpK1wiXVwiKSl8fFtdKTtpZih3KXtjb25zdCBlPVt3LC4uLnQsVC5jdXJyZW50LE0uY3VycmVudCxDLmN1cnJlbnQuaW5jbHVkZXMoXCJyZWZlcmVuY2VcIil8fGs/eDpudWxsXS5maWx0ZXIoKGU9Pm51bGwhPWUpKSxuPXV8fGs/a3IoZSxFLCFFKTprcihlKTtyZXR1cm4oKT0+e24oKX19fSksW3IseCx3LHUsQyxOLGssRV0pLGVyKCgoKT0+e2lmKHJ8fCFWZShJKSlyZXR1cm47Y29uc3QgZT1udChmdChJKSk7cXVldWVNaWNyb3Rhc2soKCgpPT57Y29uc3QgdD1GKEkpLG49Xy5jdXJyZW50LHI9KFwibnVtYmVyXCI9PXR5cGVvZiBuP3Rbbl06bi5jdXJyZW50KXx8SSxvPXJ0KEksZSk7U3x8b3x8IW18fFFuKHIse3ByZXZlbnRTY3JvbGw6cj09PUl9KX0pKX0pLFtyLG0sSSxTLEYsX10pLGVyKCgoKT0+e2lmKHJ8fCFJKXJldHVybjtsZXQgZT0hMTtjb25zdCB0PWZ0KEkpLG49bnQodCk7bGV0IG89di5jdXJyZW50Lm9wZW5FdmVudDtjb25zdCBpPWguZG9tUmVmZXJlbmNlLmN1cnJlbnQ7ZnVuY3Rpb24gcyh0KXtsZXR7b3BlbjpuLHJlYXNvbjpyLGV2ZW50OmksbmVzdGVkOnN9PXQ7biYmKG89aSksXCJlc2NhcGUta2V5XCI9PT1yJiZoLmRvbVJlZmVyZW5jZS5jdXJyZW50JiZWcihoLmRvbVJlZmVyZW5jZS5jdXJyZW50KSxcImhvdmVyXCI9PT1yJiZcIm1vdXNlbGVhdmVcIj09PWkudHlwZSYmKFIuY3VycmVudD0hMCksXCJvdXRzaWRlLXByZXNzXCI9PT1yJiYocz8oUi5jdXJyZW50PSExLGU9ITApOlIuY3VycmVudD0hKHN0KGkpfHxhdChpKSkpfXJldHVybiBWcihuKSx5Lm9uKFwib3BlbmNoYW5nZVwiLHMpLCgpPT57eS5vZmYoXCJvcGVuY2hhbmdlXCIscyk7Y29uc3Qgcj1udCh0KSxhPXJ0KHcscil8fE8mJnByKE8ubm9kZXNSZWYuY3VycmVudCxwKS5zb21lKChlPT57dmFyIHQ7cmV0dXJuIHJ0KG51bGw9PSh0PWUuY29udGV4dCk/dm9pZCAwOnQuZWxlbWVudHMuZmxvYXRpbmcscil9KSk7KGF8fG8mJltcImNsaWNrXCIsXCJtb3VzZWRvd25cIl0uaW5jbHVkZXMoby50eXBlKSkmJmguZG9tUmVmZXJlbmNlLmN1cnJlbnQmJlZyKGguZG9tUmVmZXJlbmNlLmN1cnJlbnQpO2NvbnN0IGw9aXx8bixjPVF0KGZ0KGwpLmJvZHksRXIoKSk7cXVldWVNaWNyb3Rhc2soKCgpPT57bGV0IG49VXIoKTshbiYmVmUobCkmJncmJihuPWZ1bmN0aW9uKGUsdCxuKXtjb25zdCByPWUuaW5kZXhPZih0KTtmdW5jdGlvbiBvKHQpe2NvbnN0IG89ZHIoXCJmb2N1cy1ndWFyZFwiKTtsZXQgaT1yKyh0PzE6MCkscz1lW2ldO2Zvcig7cyYmKCFzLmlzQ29ubmVjdGVkfHxzLmhhc0F0dHJpYnV0ZShvKXx8cnQobixzKSk7KXQ/aSsrOmktLSxzPWVbaV07cmV0dXJuIHN9cmV0dXJuIG8oITApfHxvKCExKX0oYyxsLHcpKSxQLmN1cnJlbnQmJiFSLmN1cnJlbnQmJlZlKG4pJiYobj09PXJ8fHI9PT10LmJvZHl8fGEpJiZuLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOmV9KX0pKX19KSxbcix3LEksUCx2LGgseSxPLHBdKSxlcigoKCk9PntpZighciYmTilyZXR1cm4gTi5zZXRGb2N1c01hbmFnZXJTdGF0ZSh7bW9kYWw6dSxjbG9zZU9uRm9jdXNPdXQ6ZixvcGVuOm0sb25PcGVuQ2hhbmdlOmcscmVmczpofSksKCk9PntOLnNldEZvY3VzTWFuYWdlclN0YXRlKG51bGwpfX0pLFtyLE4sdSxtLGcsaCxmXSksZXIoKCgpPT57aWYocilyZXR1cm47aWYoIUkpcmV0dXJuO2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXIpcmV0dXJuO2lmKFMpcmV0dXJuO2NvbnN0IGU9KCk9Pntjb25zdCBlPUkuZ2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiksdD1MKCksbj1udChmdCh3KSkscj10LmluZGV4T2Yobik7LTEhPT1yJiYoai5jdXJyZW50PXIpLEMuY3VycmVudC5pbmNsdWRlcyhcImZsb2F0aW5nXCIpfHxuIT09aC5kb21SZWZlcmVuY2UuY3VycmVudCYmMD09PXQubGVuZ3RoP1wiMFwiIT09ZSYmSS5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLFwiMFwiKTpcIi0xXCIhPT1lJiZJLnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsXCItMVwiKX07ZSgpO2NvbnN0IHQ9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoZSk7cmV0dXJuIHQub2JzZXJ2ZShJLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMCxhdHRyaWJ1dGVzOiEwfSksKCk9Pnt0LmRpc2Nvbm5lY3QoKX19KSxbcix3LEksaCxDLEwsU10pO2NvbnN0IEI9IXImJkUmJighdXx8IWspJiYoQXx8dSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChhLkZyYWdtZW50LG51bGwsQiYmYS5jcmVhdGVFbGVtZW50KERyLHtcImRhdGEtdHlwZVwiOlwiaW5zaWRlXCIscmVmOm51bGw9PU4/dm9pZCAwOk4uYmVmb3JlSW5zaWRlUmVmLG9uRm9jdXM6ZT0+e2lmKHUpe2NvbnN0IGU9RigpO1FuKFwicmVmZXJlbmNlXCI9PT1vWzBdP2VbMF06ZVtlLmxlbmd0aC0xXSl9ZWxzZSBpZihudWxsIT1OJiZOLnByZXNlcnZlVGFiT3JkZXImJk4ucG9ydGFsTm9kZSlpZihSLmN1cnJlbnQ9ITEsT3IoZSxOLnBvcnRhbE5vZGUpKXtjb25zdCBlPV9yKCl8fHg7bnVsbD09ZXx8ZS5mb2N1cygpfWVsc2V7dmFyIHQ7bnVsbD09KHQ9Ti5iZWZvcmVPdXRzaWRlUmVmLmN1cnJlbnQpfHx0LmZvY3VzKCl9fX0pLCFrJiZ6KFwic3RhcnRcIiksbix6KFwiZW5kXCIpLEImJmEuY3JlYXRlRWxlbWVudChEcix7XCJkYXRhLXR5cGVcIjpcImluc2lkZVwiLHJlZjpudWxsPT1OP3ZvaWQgMDpOLmFmdGVySW5zaWRlUmVmLG9uRm9jdXM6ZT0+e2lmKHUpUW4oRigpWzBdKTtlbHNlIGlmKG51bGwhPU4mJk4ucHJlc2VydmVUYWJPcmRlciYmTi5wb3J0YWxOb2RlKWlmKGYmJihSLmN1cnJlbnQ9ITApLE9yKGUsTi5wb3J0YWxOb2RlKSl7Y29uc3QgZT1QcigpfHx4O251bGw9PWV8fGUuZm9jdXMoKX1lbHNle3ZhciB0O251bGw9PSh0PU4uYWZ0ZXJPdXRzaWRlUmVmLmN1cnJlbnQpfHx0LmZvY3VzKCl9fX0pKX1mdW5jdGlvbiBIcihlKXtyZXR1cm4gVmUoZS50YXJnZXQpJiZcIkJVVFRPTlwiPT09ZS50YXJnZXQudGFnTmFtZX1mdW5jdGlvbiBLcihlKXtyZXR1cm4gZ3QoZSl9ZnVuY3Rpb24gcXIoZSx0KXt2b2lkIDA9PT10JiYodD17fSk7Y29uc3R7b3BlbjpuLG9uT3BlbkNoYW5nZTpyLGRhdGFSZWY6byxlbGVtZW50czp7ZG9tUmVmZXJlbmNlOml9fT1lLHtlbmFibGVkOnM9ITAsZXZlbnQ6bD1cImNsaWNrXCIsdG9nZ2xlOmM9ITAsaWdub3JlTW91c2U6dT0hMSxrZXlib2FyZEhhbmRsZXJzOmQ9ITB9PXQsZj1hLnVzZVJlZigpLG09YS51c2VSZWYoITEpLGg9YS51c2VNZW1vKCgoKT0+KHtvblBvaW50ZXJEb3duKGUpe2YuY3VycmVudD1lLnBvaW50ZXJUeXBlfSxvbk1vdXNlRG93bihlKXtjb25zdCB0PWYuY3VycmVudDswPT09ZS5idXR0b24mJlwiY2xpY2tcIiE9PWwmJihkdCh0LCEwKSYmdXx8KCFufHwhY3x8by5jdXJyZW50Lm9wZW5FdmVudCYmXCJtb3VzZWRvd25cIiE9PW8uY3VycmVudC5vcGVuRXZlbnQudHlwZT8oZS5wcmV2ZW50RGVmYXVsdCgpLHIoITAsZS5uYXRpdmVFdmVudCxcImNsaWNrXCIpKTpyKCExLGUubmF0aXZlRXZlbnQsXCJjbGlja1wiKSkpfSxvbkNsaWNrKGUpe2NvbnN0IHQ9Zi5jdXJyZW50O1wibW91c2Vkb3duXCI9PT1sJiZmLmN1cnJlbnQ/Zi5jdXJyZW50PXZvaWQgMDpkdCh0LCEwKSYmdXx8KCFufHwhY3x8by5jdXJyZW50Lm9wZW5FdmVudCYmXCJjbGlja1wiIT09by5jdXJyZW50Lm9wZW5FdmVudC50eXBlP3IoITAsZS5uYXRpdmVFdmVudCxcImNsaWNrXCIpOnIoITEsZS5uYXRpdmVFdmVudCxcImNsaWNrXCIpKX0sb25LZXlEb3duKGUpe2YuY3VycmVudD12b2lkIDAsZS5kZWZhdWx0UHJldmVudGVkfHwhZHx8SHIoZSl8fChcIiBcIiE9PWUua2V5fHxLcihpKXx8KGUucHJldmVudERlZmF1bHQoKSxtLmN1cnJlbnQ9ITApLFwiRW50ZXJcIj09PWUua2V5JiZyKCFufHwhYyxlLm5hdGl2ZUV2ZW50LFwiY2xpY2tcIikpfSxvbktleVVwKGUpe2UuZGVmYXVsdFByZXZlbnRlZHx8IWR8fEhyKGUpfHxLcihpKXx8XCIgXCI9PT1lLmtleSYmbS5jdXJyZW50JiYobS5jdXJyZW50PSExLHIoIW58fCFjLGUubmF0aXZlRXZlbnQsXCJjbGlja1wiKSl9fSkpLFtvLGksbCx1LGQscixuLGNdKTtyZXR1cm4gYS51c2VNZW1vKCgoKT0+cz97cmVmZXJlbmNlOmh9Ont9KSxbcyxoXSl9Y29uc3QgR3I9e3BvaW50ZXJkb3duOlwib25Qb2ludGVyRG93blwiLG1vdXNlZG93bjpcIm9uTW91c2VEb3duXCIsY2xpY2s6XCJvbkNsaWNrXCJ9LFhyPXtwb2ludGVyZG93bjpcIm9uUG9pbnRlckRvd25DYXB0dXJlXCIsbW91c2Vkb3duOlwib25Nb3VzZURvd25DYXB0dXJlXCIsY2xpY2s6XCJvbkNsaWNrQ2FwdHVyZVwifSxacj1lPT57dmFyIHQsbjtyZXR1cm57ZXNjYXBlS2V5OlwiYm9vbGVhblwiPT10eXBlb2YgZT9lOm51bGwhPSh0PW51bGw9PWU/dm9pZCAwOmUuZXNjYXBlS2V5KSYmdCxvdXRzaWRlUHJlc3M6XCJib29sZWFuXCI9PXR5cGVvZiBlP2U6bnVsbD09KG49bnVsbD09ZT92b2lkIDA6ZS5vdXRzaWRlUHJlc3MpfHxufX07ZnVuY3Rpb24gSnIoZSx0KXt2b2lkIDA9PT10JiYodD17fSk7Y29uc3R7b3BlbjpuLG9uT3BlbkNoYW5nZTpyLGVsZW1lbnRzOm8sZGF0YVJlZjppfT1lLHtlbmFibGVkOnM9ITAsZXNjYXBlS2V5Omw9ITAsb3V0c2lkZVByZXNzOmM9ITAsb3V0c2lkZVByZXNzRXZlbnQ6dT1cInBvaW50ZXJkb3duXCIscmVmZXJlbmNlUHJlc3M6ZD0hMSxyZWZlcmVuY2VQcmVzc0V2ZW50OmY9XCJwb2ludGVyZG93blwiLGFuY2VzdG9yU2Nyb2xsOm09ITEsYnViYmxlczpoLGNhcHR1cmU6cH09dCxnPXVyKCkseT16bihcImZ1bmN0aW9uXCI9PXR5cGVvZiBjP2M6KCk9PiExKSx2PVwiZnVuY3Rpb25cIj09dHlwZW9mIGM/eTpjLGI9YS51c2VSZWYoITEpLHg9YS51c2VSZWYoITEpLHtlc2NhcGVLZXk6dyxvdXRzaWRlUHJlc3M6U309WnIoaCkse2VzY2FwZUtleTprLG91dHNpZGVQcmVzczpFfT1acihwKSxDPXpuKChlPT57dmFyIHQ7aWYoIW58fCFzfHwhbHx8XCJFc2NhcGVcIiE9PWUua2V5KXJldHVybjtjb25zdCBvPW51bGw9PSh0PWkuY3VycmVudC5mbG9hdGluZ0NvbnRleHQpP3ZvaWQgMDp0Lm5vZGVJZCxhPWc/cHIoZy5ub2Rlc1JlZi5jdXJyZW50LG8pOltdO2lmKCF3JiYoZS5zdG9wUHJvcGFnYXRpb24oKSxhLmxlbmd0aD4wKSl7bGV0IGU9ITA7aWYoYS5mb3JFYWNoKCh0PT57dmFyIG47bnVsbD09KG49dC5jb250ZXh0KXx8IW4ub3Blbnx8dC5jb250ZXh0LmRhdGFSZWYuY3VycmVudC5fX2VzY2FwZUtleUJ1YmJsZXN8fChlPSExKX0pKSwhZSlyZXR1cm59cighMSxmdW5jdGlvbihlKXtyZXR1cm5cIm5hdGl2ZUV2ZW50XCJpbiBlfShlKT9lLm5hdGl2ZUV2ZW50OmUsXCJlc2NhcGUta2V5XCIpfSkpLF89em4oKGU9Pnt2YXIgdDtjb25zdCBuPSgpPT57dmFyIHQ7QyhlKSxudWxsPT0odD1odChlKSl8fHQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixuKX07bnVsbD09KHQ9aHQoZSkpfHx0LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsbil9KSksUD16bigoZT0+e3ZhciB0O2NvbnN0IG49Yi5jdXJyZW50O2IuY3VycmVudD0hMTtjb25zdCBzPXguY3VycmVudDtpZih4LmN1cnJlbnQ9ITEsXCJjbGlja1wiPT09dSYmcylyZXR1cm47aWYobilyZXR1cm47aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgdiYmIXYoZSkpcmV0dXJuO2NvbnN0IGE9aHQoZSksbD1cIltcIitkcihcImluZXJ0XCIpK1wiXVwiLGM9ZnQoby5mbG9hdGluZykucXVlcnlTZWxlY3RvckFsbChsKTtsZXQgZD1XZShhKT9hOm51bGw7Zm9yKDtkJiYhR2UoZCk7KXtjb25zdCBlPUplKGQpO2lmKEdlKGUpfHwhV2UoZSkpYnJlYWs7ZD1lfWlmKGMubGVuZ3RoJiZXZShhKSYmIWEubWF0Y2hlcyhcImh0bWwsYm9keVwiKSYmIXJ0KGEsby5mbG9hdGluZykmJkFycmF5LmZyb20oYykuZXZlcnkoKGU9PiFydChkLGUpKSkpcmV0dXJuO2lmKFZlKGEpJiZUKXtjb25zdCB0PWEuY2xpZW50V2lkdGg+MCYmYS5zY3JvbGxXaWR0aD5hLmNsaWVudFdpZHRoLG49YS5jbGllbnRIZWlnaHQ+MCYmYS5zY3JvbGxIZWlnaHQ+YS5jbGllbnRIZWlnaHQ7bGV0IHI9biYmZS5vZmZzZXRYPmEuY2xpZW50V2lkdGg7aWYobiYmXCJydGxcIj09PVhlKGEpLmRpcmVjdGlvbiYmKHI9ZS5vZmZzZXRYPD1hLm9mZnNldFdpZHRoLWEuY2xpZW50V2lkdGgpLHJ8fHQmJmUub2Zmc2V0WT5hLmNsaWVudEhlaWdodClyZXR1cm59Y29uc3QgZj1udWxsPT0odD1pLmN1cnJlbnQuZmxvYXRpbmdDb250ZXh0KT92b2lkIDA6dC5ub2RlSWQsbT1nJiZwcihnLm5vZGVzUmVmLmN1cnJlbnQsZikuc29tZSgodD0+e3ZhciBuO3JldHVybiBtdChlLG51bGw9PShuPXQuY29udGV4dCk/dm9pZCAwOm4uZWxlbWVudHMuZmxvYXRpbmcpfSkpO2lmKG10KGUsby5mbG9hdGluZyl8fG10KGUsby5kb21SZWZlcmVuY2UpfHxtKXJldHVybjtjb25zdCBoPWc/cHIoZy5ub2Rlc1JlZi5jdXJyZW50LGYpOltdO2lmKGgubGVuZ3RoPjApe2xldCBlPSEwO2lmKGguZm9yRWFjaCgodD0+e3ZhciBuO251bGw9PShuPXQuY29udGV4dCl8fCFuLm9wZW58fHQuY29udGV4dC5kYXRhUmVmLmN1cnJlbnQuX19vdXRzaWRlUHJlc3NCdWJibGVzfHwoZT0hMSl9KSksIWUpcmV0dXJufXIoITEsZSxcIm91dHNpZGUtcHJlc3NcIil9KSksTz16bigoZT0+e3ZhciB0O2NvbnN0IG49KCk9Pnt2YXIgdDtQKGUpLG51bGw9PSh0PWh0KGUpKXx8dC5yZW1vdmVFdmVudExpc3RlbmVyKHUsbil9O251bGw9PSh0PWh0KGUpKXx8dC5hZGRFdmVudExpc3RlbmVyKHUsbil9KSk7YS51c2VFZmZlY3QoKCgpPT57aWYoIW58fCFzKXJldHVybjtmdW5jdGlvbiBlKGUpe3IoITEsZSxcImFuY2VzdG9yLXNjcm9sbFwiKX1pLmN1cnJlbnQuX19lc2NhcGVLZXlCdWJibGVzPXcsaS5jdXJyZW50Ll9fb3V0c2lkZVByZXNzQnViYmxlcz1TO2NvbnN0IHQ9ZnQoby5mbG9hdGluZyk7bCYmdC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLGs/XzpDLGspLHYmJnQuYWRkRXZlbnRMaXN0ZW5lcih1LEU/TzpQLEUpO2xldCBhPVtdO3JldHVybiBtJiYoV2Uoby5kb21SZWZlcmVuY2UpJiYoYT1ldChvLmRvbVJlZmVyZW5jZSkpLFdlKG8uZmxvYXRpbmcpJiYoYT1hLmNvbmNhdChldChvLmZsb2F0aW5nKSkpLCFXZShvLnJlZmVyZW5jZSkmJm8ucmVmZXJlbmNlJiZvLnJlZmVyZW5jZS5jb250ZXh0RWxlbWVudCYmKGE9YS5jb25jYXQoZXQoby5yZWZlcmVuY2UuY29udGV4dEVsZW1lbnQpKSkpLGE9YS5maWx0ZXIoKGU9Pnt2YXIgbjtyZXR1cm4gZSE9PShudWxsPT0obj10LmRlZmF1bHRWaWV3KT92b2lkIDA6bi52aXN1YWxWaWV3cG9ydCl9KSksYS5mb3JFYWNoKCh0PT57dC5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsZSx7cGFzc2l2ZTohMH0pfSkpLCgpPT57bCYmdC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLGs/XzpDLGspLHYmJnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih1LEU/TzpQLEUpLGEuZm9yRWFjaCgodD0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLGUpfSkpfX0pLFtpLG8sbCx2LHUsbixyLG0scyx3LFMsQyxrLF8sUCxFLE9dKSxhLnVzZUVmZmVjdCgoKCk9PntiLmN1cnJlbnQ9ITF9KSxbdix1XSk7Y29uc3QgTj1hLnVzZU1lbW8oKCgpPT4oe29uS2V5RG93bjpDLFtHcltmXV06ZT0+e2QmJnIoITEsZS5uYXRpdmVFdmVudCxcInJlZmVyZW5jZS1wcmVzc1wiKX19KSksW0MscixkLGZdKSxUPWEudXNlTWVtbygoKCk9Pih7b25LZXlEb3duOkMsb25Nb3VzZURvd24oKXt4LmN1cnJlbnQ9ITB9LG9uTW91c2VVcCgpe3guY3VycmVudD0hMH0sW1hyW3VdXTooKT0+e2IuY3VycmVudD0hMH19KSksW0MsdV0pO3JldHVybiBhLnVzZU1lbW8oKCgpPT5zP3tyZWZlcmVuY2U6TixmbG9hdGluZzpUfTp7fSksW3MsTixUXSl9ZnVuY3Rpb24gUXIoZSl7dm9pZCAwPT09ZSYmKGU9e30pO2NvbnN0e25vZGVJZDp0fT1lLG49ZnVuY3Rpb24oZSl7Y29uc3R7b3Blbjp0PSExLG9uT3BlbkNoYW5nZTpuLGVsZW1lbnRzOnJ9PWUsbz1pcigpLGk9YS51c2VSZWYoe30pLFtzXT1hLnVzZVN0YXRlKCgoKT0+ZnVuY3Rpb24oKXtjb25zdCBlPW5ldyBNYXA7cmV0dXJue2VtaXQodCxuKXt2YXIgcjtudWxsPT0ocj1lLmdldCh0KSl8fHIuZm9yRWFjaCgoZT0+ZShuKSkpfSxvbih0LG4pe2Uuc2V0KHQsWy4uLmUuZ2V0KHQpfHxbXSxuXSl9LG9mZih0LG4pe3ZhciByO2Uuc2V0KHQsKG51bGw9PShyPWUuZ2V0KHQpKT92b2lkIDA6ci5maWx0ZXIoKGU9PmUhPT1uKSkpfHxbXSl9fX0oKSkpLGw9bnVsbCE9Y3IoKSxbYyx1XT1hLnVzZVN0YXRlKHIucmVmZXJlbmNlKSxkPXpuKCgoZSx0LHIpPT57aS5jdXJyZW50Lm9wZW5FdmVudD1lP3Q6dm9pZCAwLHMuZW1pdChcIm9wZW5jaGFuZ2VcIix7b3BlbjplLGV2ZW50OnQscmVhc29uOnIsbmVzdGVkOmx9KSxudWxsPT1ufHxuKGUsdCxyKX0pKSxmPWEudXNlTWVtbygoKCk9Pih7c2V0UG9zaXRpb25SZWZlcmVuY2U6dX0pKSxbXSksbT1hLnVzZU1lbW8oKCgpPT4oe3JlZmVyZW5jZTpjfHxyLnJlZmVyZW5jZXx8bnVsbCxmbG9hdGluZzpyLmZsb2F0aW5nfHxudWxsLGRvbVJlZmVyZW5jZTpyLnJlZmVyZW5jZX0pKSxbYyxyLnJlZmVyZW5jZSxyLmZsb2F0aW5nXSk7cmV0dXJuIGEudXNlTWVtbygoKCk9Pih7ZGF0YVJlZjppLG9wZW46dCxvbk9wZW5DaGFuZ2U6ZCxlbGVtZW50czptLGV2ZW50czpzLGZsb2F0aW5nSWQ6byxyZWZzOmZ9KSksW3QsZCxtLHMsbyxmXSl9KHsuLi5lLGVsZW1lbnRzOntyZWZlcmVuY2U6bnVsbCxmbG9hdGluZzpudWxsLC4uLmUuZWxlbWVudHN9fSkscj1lLnJvb3RDb250ZXh0fHxuLG89ci5lbGVtZW50cyxbaSxzXT1hLnVzZVN0YXRlKG51bGwpLFtsLGNdPWEudXNlU3RhdGUobnVsbCksdT0obnVsbD09bz92b2lkIDA6by5yZWZlcmVuY2UpfHxpLGQ9YS51c2VSZWYobnVsbCksZj11cigpO2VyKCgoKT0+e3UmJihkLmN1cnJlbnQ9dSl9KSxbdV0pO2NvbnN0IG09ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9e30pO2NvbnN0e3BsYWNlbWVudDp0PVwiYm90dG9tXCIsc3RyYXRlZ3k6bj1cImFic29sdXRlXCIsbWlkZGxld2FyZTpyPVtdLHBsYXRmb3JtOm8sZWxlbWVudHM6e3JlZmVyZW5jZTppLGZsb2F0aW5nOnN9PXt9LHRyYW5zZm9ybTpsPSEwLHdoaWxlRWxlbWVudHNNb3VudGVkOmMsb3Blbjp1fT1lLFtkLGZdPWEudXNlU3RhdGUoe3g6MCx5OjAsc3RyYXRlZ3k6bixwbGFjZW1lbnQ6dCxtaWRkbGV3YXJlRGF0YTp7fSxpc1Bvc2l0aW9uZWQ6ITF9KSxbbSxoXT1hLnVzZVN0YXRlKHIpO09uKG0scil8fGgocik7Y29uc3RbcCxnXT1hLnVzZVN0YXRlKG51bGwpLFt5LHZdPWEudXNlU3RhdGUobnVsbCksYj1hLnVzZUNhbGxiYWNrKChlPT57ZSE9PWsuY3VycmVudCYmKGsuY3VycmVudD1lLGcoZSkpfSksW10pLHg9YS51c2VDYWxsYmFjaygoZT0+e2UhPT1FLmN1cnJlbnQmJihFLmN1cnJlbnQ9ZSx2KGUpKX0pLFtdKSx3PWl8fHAsUz1zfHx5LGs9YS51c2VSZWYobnVsbCksRT1hLnVzZVJlZihudWxsKSxDPWEudXNlUmVmKGQpLF89bnVsbCE9YyxQPU1uKGMpLE89TW4obyksTj1hLnVzZUNhbGxiYWNrKCgoKT0+e2lmKCFrLmN1cnJlbnR8fCFFLmN1cnJlbnQpcmV0dXJuO2NvbnN0IGU9e3BsYWNlbWVudDp0LHN0cmF0ZWd5Om4sbWlkZGxld2FyZTptfTtPLmN1cnJlbnQmJihlLnBsYXRmb3JtPU8uY3VycmVudCksQ24oay5jdXJyZW50LEUuY3VycmVudCxlKS50aGVuKChlPT57Y29uc3QgdD17Li4uZSxpc1Bvc2l0aW9uZWQ6ITB9O1QuY3VycmVudCYmIU9uKEMuY3VycmVudCx0KSYmKEMuY3VycmVudD10LHRuLmZsdXNoU3luYygoKCk9PntmKHQpfSkpKX0pKX0pLFttLHQsbixPXSk7UG4oKCgpPT57ITE9PT11JiZDLmN1cnJlbnQuaXNQb3NpdGlvbmVkJiYoQy5jdXJyZW50LmlzUG9zaXRpb25lZD0hMSxmKChlPT4oey4uLmUsaXNQb3NpdGlvbmVkOiExfSkpKSl9KSxbdV0pO2NvbnN0IFQ9YS51c2VSZWYoITEpO1BuKCgoKT0+KFQuY3VycmVudD0hMCwoKT0+e1QuY3VycmVudD0hMX0pKSxbXSksUG4oKCgpPT57aWYodyYmKGsuY3VycmVudD13KSxTJiYoRS5jdXJyZW50PVMpLHcmJlMpe2lmKFAuY3VycmVudClyZXR1cm4gUC5jdXJyZW50KHcsUyxOKTtOKCl9fSksW3csUyxOLFAsX10pO2NvbnN0IE09YS51c2VNZW1vKCgoKT0+KHtyZWZlcmVuY2U6ayxmbG9hdGluZzpFLHNldFJlZmVyZW5jZTpiLHNldEZsb2F0aW5nOnh9KSksW2IseF0pLFI9YS51c2VNZW1vKCgoKT0+KHtyZWZlcmVuY2U6dyxmbG9hdGluZzpTfSkpLFt3LFNdKSxEPWEudXNlTWVtbygoKCk9Pntjb25zdCBlPXtwb3NpdGlvbjpuLGxlZnQ6MCx0b3A6MH07aWYoIVIuZmxvYXRpbmcpcmV0dXJuIGU7Y29uc3QgdD1UbihSLmZsb2F0aW5nLGQueCkscj1UbihSLmZsb2F0aW5nLGQueSk7cmV0dXJuIGw/ey4uLmUsdHJhbnNmb3JtOlwidHJhbnNsYXRlKFwiK3QrXCJweCwgXCIrcitcInB4KVwiLC4uLk5uKFIuZmxvYXRpbmcpPj0xLjUmJnt3aWxsQ2hhbmdlOlwidHJhbnNmb3JtXCJ9fTp7cG9zaXRpb246bixsZWZ0OnQsdG9wOnJ9fSksW24sbCxSLmZsb2F0aW5nLGQueCxkLnldKTtyZXR1cm4gYS51c2VNZW1vKCgoKT0+KHsuLi5kLHVwZGF0ZTpOLHJlZnM6TSxlbGVtZW50czpSLGZsb2F0aW5nU3R5bGVzOkR9KSksW2QsTixNLFIsRF0pfSh7Li4uZSxlbGVtZW50czp7Li4ubywuLi5sJiZ7cmVmZXJlbmNlOmx9fX0pLGg9YS51c2VDYWxsYmFjaygoZT0+e2NvbnN0IHQ9V2UoZSk/e2dldEJvdW5kaW5nQ2xpZW50UmVjdDooKT0+ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxjb250ZXh0RWxlbWVudDplfTplO2ModCksbS5yZWZzLnNldFJlZmVyZW5jZSh0KX0pLFttLnJlZnNdKSxwPWEudXNlQ2FsbGJhY2soKGU9PnsoV2UoZSl8fG51bGw9PT1lKSYmKGQuY3VycmVudD1lLHMoZSkpLChXZShtLnJlZnMucmVmZXJlbmNlLmN1cnJlbnQpfHxudWxsPT09bS5yZWZzLnJlZmVyZW5jZS5jdXJyZW50fHxudWxsIT09ZSYmIVdlKGUpKSYmbS5yZWZzLnNldFJlZmVyZW5jZShlKX0pLFttLnJlZnNdKSxnPWEudXNlTWVtbygoKCk9Pih7Li4ubS5yZWZzLHNldFJlZmVyZW5jZTpwLHNldFBvc2l0aW9uUmVmZXJlbmNlOmgsZG9tUmVmZXJlbmNlOmR9KSksW20ucmVmcyxwLGhdKSx5PWEudXNlTWVtbygoKCk9Pih7Li4ubS5lbGVtZW50cyxkb21SZWZlcmVuY2U6dX0pKSxbbS5lbGVtZW50cyx1XSksdj1hLnVzZU1lbW8oKCgpPT4oey4uLm0sLi4ucixyZWZzOmcsZWxlbWVudHM6eSxub2RlSWQ6dH0pKSxbbSxnLHksdCxyXSk7cmV0dXJuIGVyKCgoKT0+e3IuZGF0YVJlZi5jdXJyZW50LmZsb2F0aW5nQ29udGV4dD12O2NvbnN0IGU9bnVsbD09Zj92b2lkIDA6Zi5ub2Rlc1JlZi5jdXJyZW50LmZpbmQoKGU9PmUuaWQ9PT10KSk7ZSYmKGUuY29udGV4dD12KX0pKSxhLnVzZU1lbW8oKCgpPT4oey4uLm0sY29udGV4dDp2LHJlZnM6ZyxlbGVtZW50czp5fSkpLFttLGcseSx2XSl9Y29uc3QgZW89XCJhY3RpdmVcIix0bz1cInNlbGVjdGVkXCI7ZnVuY3Rpb24gbm8oZSx0LG4pe2NvbnN0IHI9bmV3IE1hcCxvPVwiaXRlbVwiPT09bjtsZXQgaT1lO2lmKG8mJmUpe2NvbnN0e1tlb106dCxbdG9dOl9fLC4uLm59PWU7aT1ufXJldHVybnsuLi5cImZsb2F0aW5nXCI9PT1uJiZ7dGFiSW5kZXg6LTEsW0ZyXTpcIlwifSwuLi5pLC4uLnQubWFwKCh0PT57Y29uc3Qgcj10P3Rbbl06bnVsbDtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiByP2U/cihlKTpudWxsOnJ9KSkuY29uY2F0KGUpLnJlZHVjZSgoKGUsdCk9PnQ/KE9iamVjdC5lbnRyaWVzKHQpLmZvckVhY2goKHQ9PntsZXRbbixpXT10O3ZhciBzO28mJltlbyx0b10uaW5jbHVkZXMobil8fCgwPT09bi5pbmRleE9mKFwib25cIik/KHIuaGFzKG4pfHxyLnNldChuLFtdKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBpJiYobnVsbD09KHM9ci5nZXQobikpfHxzLnB1c2goaSksZVtuXT1mdW5jdGlvbigpe2Zvcih2YXIgZSx0PWFyZ3VtZW50cy5sZW5ndGgsbz1uZXcgQXJyYXkodCksaT0wO2k8dDtpKyspb1tpXT1hcmd1bWVudHNbaV07cmV0dXJuIG51bGw9PShlPXIuZ2V0KG4pKT92b2lkIDA6ZS5tYXAoKGU9PmUoLi4ubykpKS5maW5kKChlPT52b2lkIDAhPT1lKSl9KSk6ZVtuXT1pKX0pKSxlKTplKSx7fSl9fWZ1bmN0aW9uIHJvKGUpe3ZvaWQgMD09PWUmJihlPVtdKTtjb25zdCB0PWUubWFwKChlPT5udWxsPT1lP3ZvaWQgMDplLnJlZmVyZW5jZSkpLG49ZS5tYXAoKGU9Pm51bGw9PWU/dm9pZCAwOmUuZmxvYXRpbmcpKSxyPWUubWFwKChlPT5udWxsPT1lP3ZvaWQgMDplLml0ZW0pKSxvPWEudXNlQ2FsbGJhY2soKHQ9Pm5vKHQsZSxcInJlZmVyZW5jZVwiKSksdCksaT1hLnVzZUNhbGxiYWNrKCh0PT5ubyh0LGUsXCJmbG9hdGluZ1wiKSksbikscz1hLnVzZUNhbGxiYWNrKCh0PT5ubyh0LGUsXCJpdGVtXCIpKSxyKTtyZXR1cm4gYS51c2VNZW1vKCgoKT0+KHtnZXRSZWZlcmVuY2VQcm9wczpvLGdldEZsb2F0aW5nUHJvcHM6aSxnZXRJdGVtUHJvcHM6c30pKSxbbyxpLHNdKX1sZXQgb289ITE7ZnVuY3Rpb24gaW8oZSx0LG4pe3N3aXRjaChlKXtjYXNlXCJ2ZXJ0aWNhbFwiOnJldHVybiB0O2Nhc2VcImhvcml6b250YWxcIjpyZXR1cm4gbjtkZWZhdWx0OnJldHVybiB0fHxufX1mdW5jdGlvbiBzbyhlLHQpe3JldHVybiBpbyh0LGU9PT1Cbnx8ZT09PVduLGU9PT1Wbnx8ZT09PVVuKX1mdW5jdGlvbiBhbyhlLHQsbil7cmV0dXJuIGlvKHQsZT09PVduLG4/ZT09PVZuOmU9PT1Vbil8fFwiRW50ZXJcIj09PWV8fFwiIFwiPT09ZXx8XCJcIj09PWV9ZnVuY3Rpb24gbG8oZSx0LG4pe3JldHVybiBpbyh0LG4/ZT09PVVuOmU9PT1WbixlPT09Qm4pfWZ1bmN0aW9uIGNvKGUsdCl7Y29uc3R7b3BlbjpuLG9uT3BlbkNoYW5nZTpyLGVsZW1lbnRzOm99PWUse2xpc3RSZWY6aSxhY3RpdmVJbmRleDpzLG9uTmF2aWdhdGU6bD0oKT0+e30sZW5hYmxlZDpjPSEwLHNlbGVjdGVkSW5kZXg6dT1udWxsLGFsbG93RXNjYXBlOmQ9ITEsbG9vcDpmPSExLG5lc3RlZDptPSExLHJ0bDpoPSExLHZpcnR1YWw6cD0hMSxmb2N1c0l0ZW1Pbk9wZW46Zz1cImF1dG9cIixmb2N1c0l0ZW1PbkhvdmVyOnk9ITAsb3Blbk9uQXJyb3dLZXlEb3duOnY9ITAsZGlzYWJsZWRJbmRpY2VzOmIsb3JpZW50YXRpb246eD1cInZlcnRpY2FsXCIsY29sczp3PTEsc2Nyb2xsSXRlbUludG9WaWV3OlM9ITAsdmlydHVhbEl0ZW1SZWY6ayxpdGVtU2l6ZXM6RSxkZW5zZTpDPSExfT10LF89ZnIoenIoby5mbG9hdGluZykpLFA9Y3IoKSxPPXVyKCksTj16bihsKSxUPWEudXNlUmVmKGcpLE09YS51c2VSZWYobnVsbCE9dT91Oi0xKSxSPWEudXNlUmVmKG51bGwpLEQ9YS51c2VSZWYoITApLGo9YS51c2VSZWYoTiksQT1hLnVzZVJlZighIW8uZmxvYXRpbmcpLEk9YS51c2VSZWYobiksTD1hLnVzZVJlZighMSksRj1hLnVzZVJlZighMSksej1mcihiKSxCPWZyKG4pLFc9ZnIoUyksVj1mcih1KSxbVSwkXT1hLnVzZVN0YXRlKCksW1ksSF09YS51c2VTdGF0ZSgpLEs9em4oKGZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGUpe3A/KCQoZS5pZCksbnVsbD09T3x8Ty5ldmVudHMuZW1pdChcInZpcnR1YWxmb2N1c1wiLGUpLGsmJihrLmN1cnJlbnQ9ZSkpOlFuKGUse3ByZXZlbnRTY3JvbGw6ITAsc3luYzohKCF1dCgpfHwhbHQoKSkmJihvb3x8TC5jdXJyZW50KX0pfXZvaWQgMD09PW4mJihuPSExKTtjb25zdCBvPWUuY3VycmVudFt0LmN1cnJlbnRdO28mJnIobykscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e2NvbnN0IGk9ZS5jdXJyZW50W3QuY3VycmVudF18fG87aWYoIWkpcmV0dXJuO298fHIoaSk7Y29uc3Qgcz1XLmN1cnJlbnQ7cyYmRyYmKG58fCFELmN1cnJlbnQpJiYobnVsbD09aS5zY3JvbGxJbnRvVmlld3x8aS5zY3JvbGxJbnRvVmlldyhcImJvb2xlYW5cIj09dHlwZW9mIHM/e2Jsb2NrOlwibmVhcmVzdFwiLGlubGluZTpcIm5lYXJlc3RcIn06cykpfSkpfSkpO2VyKCgoKT0+e2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikuZm9jdXMoe2dldCBwcmV2ZW50U2Nyb2xsKCl7cmV0dXJuIG9vPSEwLCExfX0pfSksW10pLGVyKCgoKT0+e2MmJihuJiZvLmZsb2F0aW5nP1QuY3VycmVudCYmbnVsbCE9dSYmKEYuY3VycmVudD0hMCxNLmN1cnJlbnQ9dSxOKHUpKTpBLmN1cnJlbnQmJihNLmN1cnJlbnQ9LTEsai5jdXJyZW50KG51bGwpKSl9KSxbYyxuLG8uZmxvYXRpbmcsdSxOXSksZXIoKCgpPT57aWYoYyYmbiYmby5mbG9hdGluZylpZihudWxsPT1zKXtpZihMLmN1cnJlbnQ9ITEsbnVsbCE9Vi5jdXJyZW50KXJldHVybjtpZihBLmN1cnJlbnQmJihNLmN1cnJlbnQ9LTEsSyhpLE0pKSwoIUkuY3VycmVudHx8IUEuY3VycmVudCkmJlQuY3VycmVudCYmKG51bGwhPVIuY3VycmVudHx8ITA9PT1ULmN1cnJlbnQmJm51bGw9PVIuY3VycmVudCkpe2xldCBlPTA7Y29uc3QgdD0oKT0+e251bGw9PWkuY3VycmVudFswXT8oZTwyJiYoZT9yZXF1ZXN0QW5pbWF0aW9uRnJhbWU6cXVldWVNaWNyb3Rhc2spKHQpLGUrKyk6KE0uY3VycmVudD1udWxsPT1SLmN1cnJlbnR8fGFvKFIuY3VycmVudCx4LGgpfHxtP0huKGksei5jdXJyZW50KTpLbihpLHouY3VycmVudCksUi5jdXJyZW50PW51bGwsTihNLmN1cnJlbnQpKX07dCgpfX1lbHNlIFluKGkscyl8fChNLmN1cnJlbnQ9cyxLKGksTSxGLmN1cnJlbnQpLEYuY3VycmVudD0hMSl9KSxbYyxuLG8uZmxvYXRpbmcscyxWLG0saSx4LGgsTixLLHpdKSxlcigoKCk9Pnt2YXIgZTtpZighY3x8by5mbG9hdGluZ3x8IU98fHB8fCFBLmN1cnJlbnQpcmV0dXJuO2NvbnN0IHQ9Ty5ub2Rlc1JlZi5jdXJyZW50LG49bnVsbD09KGU9dC5maW5kKChlPT5lLmlkPT09UCkpKXx8bnVsbD09KGU9ZS5jb250ZXh0KT92b2lkIDA6ZS5lbGVtZW50cy5mbG9hdGluZyxyPW50KGZ0KG8uZmxvYXRpbmcpKSxpPXQuc29tZSgoZT0+ZS5jb250ZXh0JiZydChlLmNvbnRleHQuZWxlbWVudHMuZmxvYXRpbmcscikpKTtuJiYhaSYmRC5jdXJyZW50JiZuLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9KSxbYyxvLmZsb2F0aW5nLE8sUCxwXSksZXIoKCgpPT57aWYoYyYmTyYmcCYmIVApcmV0dXJuIE8uZXZlbnRzLm9uKFwidmlydHVhbGZvY3VzXCIsZSksKCk9PntPLmV2ZW50cy5vZmYoXCJ2aXJ0dWFsZm9jdXNcIixlKX07ZnVuY3Rpb24gZShlKXtIKGUuaWQpLGsmJihrLmN1cnJlbnQ9ZSl9fSksW2MsTyxwLFAsa10pLGVyKCgoKT0+e2ouY3VycmVudD1OLEEuY3VycmVudD0hIW8uZmxvYXRpbmd9KSksZXIoKCgpPT57bnx8KFIuY3VycmVudD1udWxsKX0pLFtuXSksZXIoKCgpPT57SS5jdXJyZW50PW59KSxbbl0pO2NvbnN0IHE9bnVsbCE9cyxHPWEudXNlTWVtbygoKCk9PntmdW5jdGlvbiBlKGUpe2lmKCFuKXJldHVybjtjb25zdCB0PWkuY3VycmVudC5pbmRleE9mKGUpOy0xIT09dCYmTih0KX1yZXR1cm57b25Gb2N1cyh0KXtsZXR7Y3VycmVudFRhcmdldDpufT10O2Uobil9LG9uQ2xpY2s6ZT0+e2xldHtjdXJyZW50VGFyZ2V0OnR9PWU7cmV0dXJuIHQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX0sLi4ueSYme29uTW91c2VNb3ZlKHQpe2xldHtjdXJyZW50VGFyZ2V0Om59PXQ7ZShuKX0sb25Qb2ludGVyTGVhdmUoZSl7bGV0e3BvaW50ZXJUeXBlOnR9PWU7RC5jdXJyZW50JiZcInRvdWNoXCIhPT10JiYoTS5jdXJyZW50PS0xLEsoaSxNKSxOKG51bGwpLHB8fFFuKF8uY3VycmVudCx7cHJldmVudFNjcm9sbDohMH0pKX19fX0pLFtuLF8sSyx5LGksTixwXSksWD16bigoZT0+e2lmKEQuY3VycmVudD0hMSxMLmN1cnJlbnQ9ITAsIUIuY3VycmVudCYmZS5jdXJyZW50VGFyZ2V0PT09Xy5jdXJyZW50KXJldHVybjtpZihtJiZsbyhlLmtleSx4LGgpKXJldHVybiB5dChlKSxyKCExLGUubmF0aXZlRXZlbnQsXCJsaXN0LW5hdmlnYXRpb25cIiksdm9pZChWZShvLmRvbVJlZmVyZW5jZSkmJiFwJiZvLmRvbVJlZmVyZW5jZS5mb2N1cygpKTtjb25zdCB0PU0uY3VycmVudCxzPUhuKGksYiksYT1LbihpLGIpO2lmKFwiSG9tZVwiPT09ZS5rZXkmJih5dChlKSxNLmN1cnJlbnQ9cyxOKE0uY3VycmVudCkpLFwiRW5kXCI9PT1lLmtleSYmKHl0KGUpLE0uY3VycmVudD1hLE4oTS5jdXJyZW50KSksdz4xKXtjb25zdCB0PUV8fEFycmF5LmZyb20oe2xlbmd0aDppLmN1cnJlbnQubGVuZ3RofSwoKCk9Pih7d2lkdGg6MSxoZWlnaHQ6MX0pKSksbj1mdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1bXTtsZXQgbz0wO3JldHVybiBlLmZvckVhY2goKChlLGkpPT57bGV0e3dpZHRoOnMsaGVpZ2h0OmF9PWUsbD0hMTtmb3IobiYmKG89MCk7IWw7KXtjb25zdCBlPVtdO2ZvcihsZXQgbj0wO248cztuKyspZm9yKGxldCByPTA7cjxhO3IrKyllLnB1c2gobytuK3IqdCk7byV0K3M8PXQmJmUuZXZlcnkoKGU9Pm51bGw9PXJbZV0pKT8oZS5mb3JFYWNoKChlPT57cltlXT1pfSkpLGw9ITApOm8rK319KSksWy4uLnJdfSh0LHcsQykscj1uLmZpbmRJbmRleCgoZT0+bnVsbCE9ZSYmIVpuKGkuY3VycmVudCxlLGIpKSksbz1uLnJlZHVjZSgoKGUsdCxuKT0+bnVsbD09dHx8Wm4oaS5jdXJyZW50LHQsYik/ZTpuKSwtMSksbD1uW2Z1bmN0aW9uKGUsdCl7bGV0e2V2ZW50Om4sb3JpZW50YXRpb246cixsb29wOm8sY29sczppLGRpc2FibGVkSW5kaWNlczpzLG1pbkluZGV4OmEsbWF4SW5kZXg6bCxwcmV2SW5kZXg6YyxzdG9wRXZlbnQ6dT0hMX09dCxkPWM7aWYobi5rZXk9PT1Cbil7aWYodSYmeXQobiksLTE9PT1jKWQ9bDtlbHNlIGlmKGQ9cW4oZSx7c3RhcnRpbmdJbmRleDpkLGFtb3VudDppLGRlY3JlbWVudDohMCxkaXNhYmxlZEluZGljZXM6c30pLG8mJihjLWk8YXx8ZDwwKSl7Y29uc3QgZT1jJWksdD1sJWksbj1sLSh0LWUpO2Q9dD09PWU/bDp0PmU/bjpuLWl9WW4oZSxkKSYmKGQ9Yyl9aWYobi5rZXk9PT1XbiYmKHUmJnl0KG4pLC0xPT09Yz9kPWE6KGQ9cW4oZSx7c3RhcnRpbmdJbmRleDpjLGFtb3VudDppLGRpc2FibGVkSW5kaWNlczpzfSksbyYmYytpPmwmJihkPXFuKGUse3N0YXJ0aW5nSW5kZXg6YyVpLWksYW1vdW50OmksZGlzYWJsZWRJbmRpY2VzOnN9KSkpLFluKGUsZCkmJihkPWMpKSxcImJvdGhcIj09PXIpe2NvbnN0IHQ9U3QoYy9pKTtuLmtleT09PVVuJiYodSYmeXQobiksYyVpIT1pLTE/KGQ9cW4oZSx7c3RhcnRpbmdJbmRleDpjLGRpc2FibGVkSW5kaWNlczpzfSksbyYmJG4oZCxpLHQpJiYoZD1xbihlLHtzdGFydGluZ0luZGV4OmMtYyVpLTEsZGlzYWJsZWRJbmRpY2VzOnN9KSkpOm8mJihkPXFuKGUse3N0YXJ0aW5nSW5kZXg6Yy1jJWktMSxkaXNhYmxlZEluZGljZXM6c30pKSwkbihkLGksdCkmJihkPWMpKSxuLmtleT09PVZuJiYodSYmeXQobiksYyVpIT0wPyhkPXFuKGUse3N0YXJ0aW5nSW5kZXg6YyxkZWNyZW1lbnQ6ITAsZGlzYWJsZWRJbmRpY2VzOnN9KSxvJiYkbihkLGksdCkmJihkPXFuKGUse3N0YXJ0aW5nSW5kZXg6YysoaS1jJWkpLGRlY3JlbWVudDohMCxkaXNhYmxlZEluZGljZXM6c30pKSk6byYmKGQ9cW4oZSx7c3RhcnRpbmdJbmRleDpjKyhpLWMlaSksZGVjcmVtZW50OiEwLGRpc2FibGVkSW5kaWNlczpzfSkpLCRuKGQsaSx0KSYmKGQ9YykpO2NvbnN0IHI9U3QobC9pKT09PXQ7WW4oZSxkKSYmKGQ9byYmcj9uLmtleT09PVZuP2w6cW4oZSx7c3RhcnRpbmdJbmRleDpjLWMlaS0xLGRpc2FibGVkSW5kaWNlczpzfSk6Yyl9cmV0dXJuIGR9KHtjdXJyZW50Om4ubWFwKChlPT5udWxsIT1lP2kuY3VycmVudFtlXTpudWxsKSl9LHtldmVudDplLG9yaWVudGF0aW9uOngsbG9vcDpmLGNvbHM6dyxkaXNhYmxlZEluZGljZXM6WG4oWy4uLmJ8fGkuY3VycmVudC5tYXAoKChlLHQpPT5abihpLmN1cnJlbnQsdCk/dDp2b2lkIDApKSx2b2lkIDBdLG4pLG1pbkluZGV4OnIsbWF4SW5kZXg6byxwcmV2SW5kZXg6R24oTS5jdXJyZW50PmE/czpNLmN1cnJlbnQsdCxuLHcsZS5rZXk9PT1Xbj9cImJsXCI6ZS5rZXk9PT1Vbj9cInRyXCI6XCJ0bFwiKSxzdG9wRXZlbnQ6ITB9KV07aWYobnVsbCE9bCYmKE0uY3VycmVudD1sLE4oTS5jdXJyZW50KSksXCJib3RoXCI9PT14KXJldHVybn1pZihzbyhlLmtleSx4KSl7aWYoeXQoZSksbiYmIXAmJm50KGUuY3VycmVudFRhcmdldC5vd25lckRvY3VtZW50KT09PWUuY3VycmVudFRhcmdldClyZXR1cm4gTS5jdXJyZW50PWFvKGUua2V5LHgsaCk/czphLHZvaWQgTihNLmN1cnJlbnQpO2FvKGUua2V5LHgsaCk/TS5jdXJyZW50PWY/dD49YT9kJiZ0IT09aS5jdXJyZW50Lmxlbmd0aD8tMTpzOnFuKGkse3N0YXJ0aW5nSW5kZXg6dCxkaXNhYmxlZEluZGljZXM6Yn0pOk1hdGgubWluKGEscW4oaSx7c3RhcnRpbmdJbmRleDp0LGRpc2FibGVkSW5kaWNlczpifSkpOk0uY3VycmVudD1mP3Q8PXM/ZCYmLTEhPT10P2kuY3VycmVudC5sZW5ndGg6YTpxbihpLHtzdGFydGluZ0luZGV4OnQsZGVjcmVtZW50OiEwLGRpc2FibGVkSW5kaWNlczpifSk6TWF0aC5tYXgocyxxbihpLHtzdGFydGluZ0luZGV4OnQsZGVjcmVtZW50OiEwLGRpc2FibGVkSW5kaWNlczpifSkpLFluKGksTS5jdXJyZW50KT9OKG51bGwpOk4oTS5jdXJyZW50KX19KSksWj1hLnVzZU1lbW8oKCgpPT5wJiZuJiZxJiZ7XCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnRcIjpZfHxVfSksW3AsbixxLFksVV0pLEo9YS51c2VNZW1vKCgoKT0+KHtcImFyaWEtb3JpZW50YXRpb25cIjpcImJvdGhcIj09PXg/dm9pZCAwOngsLi4uIXZ0KG8uZG9tUmVmZXJlbmNlKSYmWixvbktleURvd246WCxvblBvaW50ZXJNb3ZlKCl7RC5jdXJyZW50PSEwfX0pKSxbWixYLG8uZG9tUmVmZXJlbmNlLHhdKSxRPWEudXNlTWVtbygoKCk9PntmdW5jdGlvbiBlKGUpe1wiYXV0b1wiPT09ZyYmc3QoZS5uYXRpdmVFdmVudCkmJihULmN1cnJlbnQ9ITApfXJldHVybnsuLi5aLG9uS2V5RG93bihlKXtELmN1cnJlbnQ9ITE7Y29uc3QgdD0wPT09ZS5rZXkuaW5kZXhPZihcIkFycm93XCIpLG89ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBpbyh0LG4/ZT09PVZuOmU9PT1VbixlPT09V24pfShlLmtleSx4LGgpLHM9bG8oZS5rZXkseCxoKSxhPXNvKGUua2V5LHgpLGw9KG0/bzphKXx8XCJFbnRlclwiPT09ZS5rZXl8fFwiXCI9PT1lLmtleS50cmltKCk7aWYocCYmbil7Y29uc3Qgbj1udWxsPT1PP3ZvaWQgMDpPLm5vZGVzUmVmLmN1cnJlbnQuZmluZCgoZT0+bnVsbD09ZS5wYXJlbnRJZCkpLHI9TyYmbj9mdW5jdGlvbihlLHQpe2xldCBuLHI9LTE7cmV0dXJuIGZ1bmN0aW9uIHQobyxpKXtpPnImJihuPW8scj1pKSxwcihlLG8pLmZvckVhY2goKGU9Pnt0KGUuaWQsaSsxKX0pKX0odCwwKSxlLmZpbmQoKGU9PmUuaWQ9PT1uKSl9KE8ubm9kZXNSZWYuY3VycmVudCxuLmlkKTpudWxsO2lmKHQmJnImJmspe2NvbnN0IHQ9bmV3IEtleWJvYXJkRXZlbnQoXCJrZXlkb3duXCIse2tleTplLmtleSxidWJibGVzOiEwfSk7aWYob3x8cyl7dmFyIGMsZDtjb25zdCBuPShudWxsPT0oYz1yLmNvbnRleHQpP3ZvaWQgMDpjLmVsZW1lbnRzLmRvbVJlZmVyZW5jZSk9PT1lLmN1cnJlbnRUYXJnZXQsYT1zJiYhbj9udWxsPT0oZD1yLmNvbnRleHQpP3ZvaWQgMDpkLmVsZW1lbnRzLmRvbVJlZmVyZW5jZTpvP2kuY3VycmVudC5maW5kKChlPT4obnVsbD09ZT92b2lkIDA6ZS5pZCk9PT1VKSk6bnVsbDthJiYoeXQoZSksYS5kaXNwYXRjaEV2ZW50KHQpLEgodm9pZCAwKSl9dmFyIGY7aWYoYSYmci5jb250ZXh0JiZyLmNvbnRleHQub3BlbiYmci5wYXJlbnRJZCYmZS5jdXJyZW50VGFyZ2V0IT09ci5jb250ZXh0LmVsZW1lbnRzLmRvbVJlZmVyZW5jZSlyZXR1cm4geXQoZSksdm9pZChudWxsPT0oZj1yLmNvbnRleHQuZWxlbWVudHMuZG9tUmVmZXJlbmNlKXx8Zi5kaXNwYXRjaEV2ZW50KHQpKX1yZXR1cm4gWChlKX0obnx8dnx8IXQpJiYobCYmKFIuY3VycmVudD1tJiZhP251bGw6ZS5rZXkpLG0/byYmKHl0KGUpLG4/KE0uY3VycmVudD1IbihpLHouY3VycmVudCksTihNLmN1cnJlbnQpKTpyKCEwLGUubmF0aXZlRXZlbnQsXCJsaXN0LW5hdmlnYXRpb25cIikpOmEmJihudWxsIT11JiYoTS5jdXJyZW50PXUpLHl0KGUpLCFuJiZ2P3IoITAsZS5uYXRpdmVFdmVudCxcImxpc3QtbmF2aWdhdGlvblwiKTpYKGUpLG4mJk4oTS5jdXJyZW50KSkpfSxvbkZvY3VzKCl7biYmIXAmJk4obnVsbCl9LG9uUG9pbnRlckRvd246ZnVuY3Rpb24oZSl7VC5jdXJyZW50PWcsXCJhdXRvXCI9PT1nJiZhdChlLm5hdGl2ZUV2ZW50KSYmKFQuY3VycmVudD0hMCl9LG9uTW91c2VEb3duOmUsb25DbGljazplfX0pLFtVLFosWCx6LGcsaSxtLE4scixuLHYseCxoLHUsTyxwLGtdKTtyZXR1cm4gYS51c2VNZW1vKCgoKT0+Yz97cmVmZXJlbmNlOlEsZmxvYXRpbmc6SixpdGVtOkd9Ont9KSxbYyxRLEosR10pfWNvbnN0IHVvPW5ldyBNYXAoW1tcInNlbGVjdFwiLFwibGlzdGJveFwiXSxbXCJjb21ib2JveFwiLFwibGlzdGJveFwiXSxbXCJsYWJlbFwiLCExXV0pO2Z1bmN0aW9uIGZvKGUsdCl7dmFyIG47dm9pZCAwPT09dCYmKHQ9e30pO2NvbnN0e29wZW46cixmbG9hdGluZ0lkOm99PWUse2VuYWJsZWQ6aT0hMCxyb2xlOnM9XCJkaWFsb2dcIn09dCxsPW51bGwhPShuPXVvLmdldChzKSk/bjpzLGM9aXIoKSx1PW51bGwhPWNyKCksZD1hLnVzZU1lbW8oKCgpPT5cInRvb2x0aXBcIj09PWx8fFwibGFiZWxcIj09PXM/e1tcImFyaWEtXCIrKFwibGFiZWxcIj09PXM/XCJsYWJlbGxlZGJ5XCI6XCJkZXNjcmliZWRieVwiKV06cj9vOnZvaWQgMH06e1wiYXJpYS1leHBhbmRlZFwiOnI/XCJ0cnVlXCI6XCJmYWxzZVwiLFwiYXJpYS1oYXNwb3B1cFwiOlwiYWxlcnRkaWFsb2dcIj09PWw/XCJkaWFsb2dcIjpsLFwiYXJpYS1jb250cm9sc1wiOnI/bzp2b2lkIDAsLi4uXCJsaXN0Ym94XCI9PT1sJiZ7cm9sZTpcImNvbWJvYm94XCJ9LC4uLlwibWVudVwiPT09bCYme2lkOmN9LC4uLlwibWVudVwiPT09bCYmdSYme3JvbGU6XCJtZW51aXRlbVwifSwuLi5cInNlbGVjdFwiPT09cyYme1wiYXJpYS1hdXRvY29tcGxldGVcIjpcIm5vbmVcIn0sLi4uXCJjb21ib2JveFwiPT09cyYme1wiYXJpYS1hdXRvY29tcGxldGVcIjpcImxpc3RcIn19KSxbbCxvLHUscixjLHNdKSxmPWEudXNlTWVtbygoKCk9Pntjb25zdCBlPXtpZDpvLC4uLmwmJntyb2xlOmx9fTtyZXR1cm5cInRvb2x0aXBcIj09PWx8fFwibGFiZWxcIj09PXM/ZTp7Li4uZSwuLi5cIm1lbnVcIj09PWwmJntcImFyaWEtbGFiZWxsZWRieVwiOmN9fX0pLFtsLG8sYyxzXSksbT1hLnVzZUNhbGxiYWNrKChlPT57bGV0e2FjdGl2ZTp0LHNlbGVjdGVkOm59PWU7Y29uc3Qgcj17cm9sZTpcIm9wdGlvblwiLC4uLnQmJntpZDpvK1wiLW9wdGlvblwifX07c3dpdGNoKHMpe2Nhc2VcInNlbGVjdFwiOnJldHVybnsuLi5yLFwiYXJpYS1zZWxlY3RlZFwiOnQmJm59O2Nhc2VcImNvbWJvYm94XCI6cmV0dXJuey4uLnIsLi4udCYme1wiYXJpYS1zZWxlY3RlZFwiOiEwfX19cmV0dXJue319KSxbbyxzXSk7cmV0dXJuIGEudXNlTWVtbygoKCk9Pmk/e3JlZmVyZW5jZTpkLGZsb2F0aW5nOmYsaXRlbTptfTp7fSksW2ksZCxmLG1dKX1jb25zdCBtbz1lPT5lLnJlcGxhY2UoL1tBLVpdKyg/IVthLXpdKXxbQS1aXS9nLCgoZSx0KT0+KHQ/XCItXCI6XCJcIikrZS50b0xvd2VyQ2FzZSgpKSk7ZnVuY3Rpb24gaG8oZSx0KXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBlP2UodCk6ZX1mdW5jdGlvbiBwbyhlLHQpe3ZvaWQgMD09PXQmJih0PXt9KTtjb25zdHtpbml0aWFsOm49e29wYWNpdHk6MH0sb3BlbjpyLGNsb3NlOm8sY29tbW9uOmksZHVyYXRpb246cz0yNTB9PXQsbD1lLnBsYWNlbWVudCxjPWwuc3BsaXQoXCItXCIpWzBdLHU9YS51c2VNZW1vKCgoKT0+KHtzaWRlOmMscGxhY2VtZW50Omx9KSksW2MsbF0pLGQ9XCJudW1iZXJcIj09dHlwZW9mIHMsZj0oZD9zOnMub3Blbil8fDAsbT0oZD9zOnMuY2xvc2UpfHwwLFtoLHBdPWEudXNlU3RhdGUoKCgpPT4oey4uLmhvKGksdSksLi4uaG8obix1KX0pKSkse2lzTW91bnRlZDpnLHN0YXR1czp5fT1mdW5jdGlvbihlLHQpe3ZvaWQgMD09PXQmJih0PXt9KTtjb25zdHtvcGVuOm4sZWxlbWVudHM6e2Zsb2F0aW5nOnJ9fT1lLHtkdXJhdGlvbjpvPTI1MH09dCxpPShcIm51bWJlclwiPT10eXBlb2Ygbz9vOm8uY2xvc2UpfHwwLFtzLGxdPWEudXNlU3RhdGUoXCJ1bm1vdW50ZWRcIiksYz1mdW5jdGlvbihlLHQpe2NvbnN0W24scl09YS51c2VTdGF0ZShlKTtyZXR1cm4gZSYmIW4mJnIoITApLGEudXNlRWZmZWN0KCgoKT0+e2lmKCFlJiZuKXtjb25zdCBlPXNldFRpbWVvdXQoKCgpPT5yKCExKSksdCk7cmV0dXJuKCk9PmNsZWFyVGltZW91dChlKX19KSxbZSxuLHRdKSxufShuLGkpO3JldHVybiBjfHxcImNsb3NlXCIhPT1zfHxsKFwidW5tb3VudGVkXCIpLGVyKCgoKT0+e2lmKHIpe2lmKG4pe2woXCJpbml0aWFsXCIpO2NvbnN0IGU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e2woXCJvcGVuXCIpfSkpO3JldHVybigpPT57Y2FuY2VsQW5pbWF0aW9uRnJhbWUoZSl9fWwoXCJjbG9zZVwiKX19KSxbbixyXSkse2lzTW91bnRlZDpjLHN0YXR1czpzfX0oZSx7ZHVyYXRpb246c30pLHY9ZnIobiksYj1mcihyKSx4PWZyKG8pLHc9ZnIoaSk7cmV0dXJuIGVyKCgoKT0+e2NvbnN0IGU9aG8odi5jdXJyZW50LHUpLHQ9aG8oeC5jdXJyZW50LHUpLG49aG8ody5jdXJyZW50LHUpLHI9aG8oYi5jdXJyZW50LHUpfHxPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChlLHQpPT4oZVt0XT1cIlwiLGUpKSx7fSk7aWYoXCJpbml0aWFsXCI9PT15JiZwKCh0PT4oe3RyYW5zaXRpb25Qcm9wZXJ0eTp0LnRyYW5zaXRpb25Qcm9wZXJ0eSwuLi5uLC4uLmV9KSkpLFwib3BlblwiPT09eSYmcCh7dHJhbnNpdGlvblByb3BlcnR5Ok9iamVjdC5rZXlzKHIpLm1hcChtbykuam9pbihcIixcIiksdHJhbnNpdGlvbkR1cmF0aW9uOmYrXCJtc1wiLC4uLm4sLi4ucn0pLFwiY2xvc2VcIj09PXkpe2NvbnN0IHI9dHx8ZTtwKHt0cmFuc2l0aW9uUHJvcGVydHk6T2JqZWN0LmtleXMocikubWFwKG1vKS5qb2luKFwiLFwiKSx0cmFuc2l0aW9uRHVyYXRpb246bStcIm1zXCIsLi4ubiwuLi5yfSl9fSksW20seCx2LGIsdyxmLHksdV0pLHtpc01vdW50ZWQ6ZyxzdHlsZXM6aH19ZnVuY3Rpb24gZ28oZSx0KXtjb25zdFtuLHJdPWU7bGV0IG89ITE7Y29uc3QgaT10Lmxlbmd0aDtmb3IobGV0IGU9MCxzPWktMTtlPGk7cz1lKyspe2NvbnN0W2ksYV09dFtlXXx8WzAsMF0sW2wsY109dFtzXXx8WzAsMF07YT49ciE9Yz49ciYmbjw9KGwtaSkqKHItYSkvKGMtYSkraSYmKG89IW8pfXJldHVybiBvfWZ1bmN0aW9uIHlvKGUpe3ZvaWQgMD09PWUmJihlPXt9KTtjb25zdHtidWZmZXI6dD0uNSxibG9ja1BvaW50ZXJFdmVudHM6bj0hMSxyZXF1aXJlSW50ZW50OnI9ITB9PWU7bGV0IG8saT0hMSxzPW51bGwsYT1udWxsLGw9cGVyZm9ybWFuY2Uubm93KCk7Y29uc3QgYz1lPT57bGV0e3g6bix5OmMscGxhY2VtZW50OnUsZWxlbWVudHM6ZCxvbkNsb3NlOmYsbm9kZUlkOm0sdHJlZTpofT1lO3JldHVybiBmdW5jdGlvbihlKXtmdW5jdGlvbiBwKCl7Y2xlYXJUaW1lb3V0KG8pLGYoKX1pZihjbGVhclRpbWVvdXQobyksIWQuZG9tUmVmZXJlbmNlfHwhZC5mbG9hdGluZ3x8bnVsbD09dXx8bnVsbD09bnx8bnVsbD09YylyZXR1cm47Y29uc3R7Y2xpZW50WDpnLGNsaWVudFk6eX09ZSx2PVtnLHldLGI9aHQoZSkseD1cIm1vdXNlbGVhdmVcIj09PWUudHlwZSx3PXJ0KGQuZmxvYXRpbmcsYiksUz1ydChkLmRvbVJlZmVyZW5jZSxiKSxrPWQuZG9tUmVmZXJlbmNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEU9ZC5mbG9hdGluZy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxDPXUuc3BsaXQoXCItXCIpWzBdLF89bj5FLnJpZ2h0LUUud2lkdGgvMixQPWM+RS5ib3R0b20tRS5oZWlnaHQvMixPPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGVbMF0+PXQueCYmZVswXTw9dC54K3Qud2lkdGgmJmVbMV0+PXQueSYmZVsxXTw9dC55K3QuaGVpZ2h0fSh2LGspLE49RS53aWR0aD5rLndpZHRoLFQ9RS5oZWlnaHQ+ay5oZWlnaHQsTT0oTj9rOkUpLmxlZnQsUj0oTj9rOkUpLnJpZ2h0LEQ9KFQ/azpFKS50b3Asaj0oVD9rOkUpLmJvdHRvbTtpZih3JiYoaT0hMCwheCkpcmV0dXJuO2lmKFMmJihpPSExKSxTJiYheClyZXR1cm4gdm9pZChpPSEwKTtpZih4JiZXZShlLnJlbGF0ZWRUYXJnZXQpJiZydChkLmZsb2F0aW5nLGUucmVsYXRlZFRhcmdldCkpcmV0dXJuO2lmKGgmJnByKGgubm9kZXNSZWYuY3VycmVudCxtKS5zb21lKChlPT57bGV0e2NvbnRleHQ6dH09ZTtyZXR1cm4gbnVsbD09dD92b2lkIDA6dC5vcGVufSkpKXJldHVybjtpZihcInRvcFwiPT09QyYmYz49ay5ib3R0b20tMXx8XCJib3R0b21cIj09PUMmJmM8PWsudG9wKzF8fFwibGVmdFwiPT09QyYmbj49ay5yaWdodC0xfHxcInJpZ2h0XCI9PT1DJiZuPD1rLmxlZnQrMSlyZXR1cm4gcCgpO2xldCBBPVtdO3N3aXRjaChDKXtjYXNlXCJ0b3BcIjpBPVtbTSxrLnRvcCsxXSxbTSxFLmJvdHRvbS0xXSxbUixFLmJvdHRvbS0xXSxbUixrLnRvcCsxXV07YnJlYWs7Y2FzZVwiYm90dG9tXCI6QT1bW00sRS50b3ArMV0sW00say5ib3R0b20tMV0sW1Isay5ib3R0b20tMV0sW1IsRS50b3ArMV1dO2JyZWFrO2Nhc2VcImxlZnRcIjpBPVtbRS5yaWdodC0xLGpdLFtFLnJpZ2h0LTEsRF0sW2subGVmdCsxLERdLFtrLmxlZnQrMSxqXV07YnJlYWs7Y2FzZVwicmlnaHRcIjpBPVtbay5yaWdodC0xLGpdLFtrLnJpZ2h0LTEsRF0sW0UubGVmdCsxLERdLFtFLmxlZnQrMSxqXV19aWYoIWdvKFtnLHldLEEpKXtpZihpJiYhTylyZXR1cm4gcCgpO2lmKCF4JiZyKXtjb25zdCB0PWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1wZXJmb3JtYW5jZS5ub3coKSxyPW4tbDtpZihudWxsPT09c3x8bnVsbD09PWF8fDA9PT1yKXJldHVybiBzPWUsYT10LGw9bixudWxsO2NvbnN0IG89ZS1zLGk9dC1hLGM9TWF0aC5zcXJ0KG8qbytpKmkpO3JldHVybiBzPWUsYT10LGw9bixjL3J9KGUuY2xpZW50WCxlLmNsaWVudFkpO2lmKG51bGwhPT10JiZ0PC4xKXJldHVybiBwKCl9Z28oW2cseV0sZnVuY3Rpb24oZSl7bGV0W24scl09ZTtzd2l0Y2goQyl7Y2FzZVwidG9wXCI6cmV0dXJuW1tOP24rdC8yOl8/bis0KnQ6bi00KnQscit0KzFdLFtOP24tdC8yOl8/bis0KnQ6bi00KnQscit0KzFdLFtFLmxlZnQsX3x8Tj9FLmJvdHRvbS10OkUudG9wXSxbRS5yaWdodCxfP04/RS5ib3R0b20tdDpFLnRvcDpFLmJvdHRvbS10XV07Y2FzZVwiYm90dG9tXCI6cmV0dXJuW1tOP24rdC8yOl8/bis0KnQ6bi00KnQsci10XSxbTj9uLXQvMjpfP24rNCp0Om4tNCp0LHItdF0sW0UubGVmdCxffHxOP0UudG9wK3Q6RS5ib3R0b21dLFtFLnJpZ2h0LF8/Tj9FLnRvcCt0OkUuYm90dG9tOkUudG9wK3RdXTtjYXNlXCJsZWZ0XCI6e2NvbnN0IGU9W24rdCsxLFQ/cit0LzI6UD9yKzQqdDpyLTQqdF0sbz1bbit0KzEsVD9yLXQvMjpQP3IrNCp0OnItNCp0XTtyZXR1cm5bW1B8fFQ/RS5yaWdodC10OkUubGVmdCxFLnRvcF0sW1A/VD9FLnJpZ2h0LXQ6RS5sZWZ0OkUucmlnaHQtdCxFLmJvdHRvbV0sZSxvXX1jYXNlXCJyaWdodFwiOnJldHVybltbbi10LFQ/cit0LzI6UD9yKzQqdDpyLTQqdF0sW24tdCxUP3ItdC8yOlA/cis0KnQ6ci00KnRdLFtQfHxUP0UubGVmdCt0OkUucmlnaHQsRS50b3BdLFtQP1Q/RS5sZWZ0K3Q6RS5yaWdodDpFLmxlZnQrdCxFLmJvdHRvbV1dfX0oW24sY10pKT8haSYmciYmKG89d2luZG93LnNldFRpbWVvdXQocCw0MCkpOnAoKX19fTtyZXR1cm4gYy5fX29wdGlvbnM9e2Jsb2NrUG9pbnRlckV2ZW50czpufSxjfWNvbnN0IHZvPWtlKFwiVHJpYW5nbGVBbGVydFwiLFtbXCJwYXRoXCIse2Q6XCJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTNcIixrZXk6XCJ3bW9lbnFcIn1dLFtcInBhdGhcIix7ZDpcIk0xMiA5djRcIixrZXk6XCJqdXpwdTdcIn1dLFtcInBhdGhcIix7ZDpcIk0xMiAxN2guMDFcIixrZXk6XCJwMzJwMDVcIn1dXSksYm89a2UoXCJUcmFzaDJcIixbW1wicGF0aFwiLHtkOlwiTTMgNmgxOFwiLGtleTpcImQwd20walwifV0sW1wicGF0aFwiLHtkOlwiTTE5IDZ2MTRjMCAxLTEgMi0yIDJIN2MtMSAwLTItMS0yLTJWNlwiLGtleTpcIjRhbHJ0NFwifV0sW1wicGF0aFwiLHtkOlwiTTggNlY0YzAtMSAxLTIgMi0yaDRjMSAwIDIgMSAyIDJ2MlwiLGtleTpcInYwN3MwZVwifV0sW1wibGluZVwiLHt4MTpcIjEwXCIseDI6XCIxMFwiLHkxOlwiMTFcIix5MjpcIjE3XCIsa2V5OlwiMXV1ZnI1XCJ9XSxbXCJsaW5lXCIse3gxOlwiMTRcIix4MjpcIjE0XCIseTE6XCIxMVwiLHkyOlwiMTdcIixrZXk6XCJ4dHhrZFwifV1dKTt2YXIgeG89XCJsaWdodFwiLHdvPVwibmV1dHJhbFwiLFNvPWZ1bmN0aW9uKGUpe3ZhciB0PWUuaWNvbixuPXZvaWQgMD09PXQ/bnVsbDp0LHI9ZS50aGVtZSxvPXZvaWQgMD09PXI/eG86cixpPWUudmFyaWFudCxzPXZvaWQgMD09PWk/d286aSxsPVwiWyY+c3ZnXTpoLTUgWyY+c3ZnXTp3LTVcIixjPWZ1bmN0aW9uKGUpe3ZhciB0PWUudGhlbWUsbj12b2lkIDA9PT10P3hvOnQscj1lLnZhcmlhbnQ7cmV0dXJue2luZm86XCJsaWdodFwiPT09bj9cInRleHQtc3VwcG9ydC1pbmZvXCI6XCJ0ZXh0LXN1cHBvcnQtaW5mby1pbnZlcnNlXCIsc3VjY2VzczpcImxpZ2h0XCI9PT1uP1widGV4dC1zdXBwb3J0LXN1Y2Nlc3NcIjpcInRleHQtc3VwcG9ydC1zdWNjZXNzLWludmVyc2VcIix3YXJuaW5nOlwibGlnaHRcIj09PW4/XCJ0ZXh0LXN1cHBvcnQtd2FybmluZ1wiOlwidGV4dC1zdXBwb3J0LXdhcm5pbmctaW52ZXJzZVwiLGVycm9yOlwibGlnaHRcIj09PW4/XCJ0ZXh0LXN1cHBvcnQtZXJyb3JcIjpcInRleHQtc3VwcG9ydC1lcnJvci1pbnZlcnNlXCJ9W3ZvaWQgMD09PXI/d286cl18fChcImxpZ2h0XCI9PT1uP1widGV4dC1pY29uLXNlY29uZGFyeVwiOlwidGV4dC1pY29uLWludmVyc2VcIil9KHt0aGVtZTpvLHZhcmlhbnQ6c30pO2lmKG4mJigwLGEuaXNWYWxpZEVsZW1lbnQpKG4pKXJldHVybigwLGEuY2xvbmVFbGVtZW50KShuLHtjbGFzc05hbWU6b2UobCxjLG4ucHJvcHMuY2xhc3NOYW1lKX0pO3ZhciB1PXtuZXV0cmFsOlJlYWN0LmNyZWF0ZUVsZW1lbnQoUmUse2NsYXNzTmFtZTpvZShsLGMpfSksaW5mbzpSZWFjdC5jcmVhdGVFbGVtZW50KFJlLHtjbGFzc05hbWU6b2UobCxjKX0pLHN1Y2Nlc3M6UmVhY3QuY3JlYXRlRWxlbWVudChDZSx7Y2xhc3NOYW1lOm9lKGwsYyl9KSx3YXJuaW5nOlJlYWN0LmNyZWF0ZUVsZW1lbnQodm8se2NsYXNzTmFtZTpvZShsLGMpfSksZXJyb3I6UmVhY3QuY3JlYXRlRWxlbWVudChibyx7Y2xhc3NOYW1lOm9lKGwsYyl9KX07cmV0dXJuIHVbc118fHUubmV1dHJhbH0sa289ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5hY3Rpb25UeXBlLG49dm9pZCAwPT09dD9cImJ1dHRvblwiOnQscj1lLm9uQWN0aW9uLG89dm9pZCAwPT09cj9mdW5jdGlvbigpe306cixpPWUuYWN0aW9uTGFiZWwscz12b2lkIDA9PT1pP1wiXCI6aSxhPWUudGhlbWUsbD12b2lkIDA9PT1hP3hvOmEsYz1cImZvY3VzOnJpbmctMCBmb2N1czpyaW5nLW9mZnNldC0wIHJpbmctb2Zmc2V0LTAgZm9jdXM6b3V0bGluZS1ub25lXCIsdT1cInRleHQtYnV0dG9uLXByaW1hcnkgYm9yZGVyLWJ1dHRvbi1wcmltYXJ5IGhvdmVyOmJvcmRlci1idXR0b24tcHJpbWFyeSBob3Zlcjp0ZXh0LWJ1dHRvbi1wcmltYXJ5LWhvdmVyXCI7c3dpdGNoKFwiZGFya1wiPT09bCYmKHU9XCJ0ZXh0LXRleHQtaW52ZXJzZSBib3JkZXItdGV4dC1pbnZlcnNlIGhvdmVyOmJvcmRlci10ZXh0LWludmVyc2UgaG92ZXI6dGV4dC10ZXh0LWludmVyc2VcIiksbil7Y2FzZVwiYnV0dG9uXCI6cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoZGUse3ZhcmlhbnQ6XCJvdXRsaW5lXCIsc2l6ZTpcInhzXCIsb25DbGljazpvLGNsYXNzTmFtZTpvZShcInJvdW5kZWRcIixjLHUsXCJkYXJrXCI9PT1sP1wiYmctdHJhbnNwYXJlbnQgaG92ZXI6YmctdHJhbnNwYXJlbnRcIjpcImJnLXdoaXRlIGhvdmVyOmJnLXdoaXRlXCIpfSxzKTtjYXNlXCJsaW5rXCI6cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoZGUse3ZhcmlhbnQ6XCJsaW5rXCIsc2l6ZTpcInhzXCIsb25DbGljazpvLGNsYXNzTmFtZTpvZShjLHUpfSxzKTtkZWZhdWx0OnJldHVybiBudWxsfX0sRW89ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50aGVtZSxuPXZvaWQgMD09PXQ/eG86dCxyPWUudGl0bGUsbz12b2lkIDA9PT1yP1wiXCI6cjtyZXR1cm4hbyYmaXNOYU4obyk/bnVsbDpSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6b2UoXCJibG9ja1wiLHtsaWdodDpcInRleHQtdGV4dC1wcmltYXJ5XCIsZGFyazpcInRleHQtdGV4dC1pbnZlcnNlXCJ9W25dLFwidGV4dC1zbSBsZWFkaW5nLTUgZm9udC1zZW1pYm9sZFwiKX0sbyl9LENvPWZ1bmN0aW9uKGUpe3ZhciB0PWUudGhlbWUsbj12b2lkIDA9PT10P3hvOnQscj1lLmNvbnRlbnQsbz12b2lkIDA9PT1yP1wiXCI6cjtyZXR1cm4hbyYmaXNOYU4obyk/bnVsbDpSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6b2Uoe2xpZ2h0OlwidGV4dC10ZXh0LXByaW1hcnlcIixkYXJrOlwidGV4dC10ZXh0LWludmVyc2VcIn1bbl0sXCJibG9jayB0ZXh0LXNtIFsmXypdOnRleHQtc20gbGVhZGluZy01IFsmXypdOmxlYWRpbmctNSBmb250LW5vcm1hbFwiKX0sbyl9LF9vPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZSksbj0wO248ZTtuKyspdFtuXT1hcmd1bWVudHNbbl07cmV0dXJuIGZ1bmN0aW9uKGUpe3QuZm9yRWFjaCgoZnVuY3Rpb24odCl7XCJmdW5jdGlvblwiPT10eXBlb2YgdD90KGUpOnQmJih0LmN1cnJlbnQ9ZSl9KSl9fTtmdW5jdGlvbiBQbyhlKXtyZXR1cm4gUG89XCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZcInN5bWJvbFwiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/XCJzeW1ib2xcIjp0eXBlb2YgZX0sUG8oZSl9ZnVuY3Rpb24gT28oKXtyZXR1cm4gT289T2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduLmJpbmQoKTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJihlW3JdPW5bcl0pfXJldHVybiBlfSxPby5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gTm8oZSx0KXt2YXIgbj1PYmplY3Qua2V5cyhlKTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO3QmJihyPXIuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSkpLG4ucHVzaC5hcHBseShuLHIpfXJldHVybiBufWZ1bmN0aW9uIFRvKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPW51bGwhPWFyZ3VtZW50c1t0XT9hcmd1bWVudHNbdF06e307dCUyP05vKE9iamVjdChuKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7TW8oZSx0LG5bdF0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobikpOk5vKE9iamVjdChuKSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG4sdCkpfSkpfXJldHVybiBlfWZ1bmN0aW9uIE1vKGUsdCxuKXtyZXR1cm4odD1mdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlKXtpZihcIm9iamVjdFwiIT1QbyhlKXx8IWUpcmV0dXJuIGU7dmFyIHQ9ZVtTeW1ib2wudG9QcmltaXRpdmVdO2lmKHZvaWQgMCE9PXQpe3ZhciBuPXQuY2FsbChlLFwic3RyaW5nXCIpO2lmKFwib2JqZWN0XCIhPVBvKG4pKXJldHVybiBuO3Rocm93IG5ldyBUeXBlRXJyb3IoXCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLlwiKX1yZXR1cm4gU3RyaW5nKGUpfShlKTtyZXR1cm5cInN5bWJvbFwiPT1Qbyh0KT90OnQrXCJcIn0odCkpaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1uLGV9ZnVuY3Rpb24gUm8oZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPUFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfXZhciBEbz1mdW5jdGlvbihlKXt2YXIgdCxuLHIsbyxpPWUudmFyaWFudCxzPXZvaWQgMD09PWk/XCJkYXJrXCI6aSxjPWUucGxhY2VtZW50LHU9dm9pZCAwPT09Yz9cImJvdHRvbVwiOmMsZD1lLnRpdGxlLGY9dm9pZCAwPT09ZD9cIlwiOmQsbT1lLmNvbnRlbnQsaD1lLmFycm93LHA9dm9pZCAwIT09aCYmaCxnPWUub3Blbix5PWUuc2V0T3Blbix2PWUuY2hpbGRyZW4sYj1lLmNsYXNzTmFtZSx4PWUudG9vbHRpcFBvcnRhbFJvb3Qsdz12b2lkIDA9PT14P251bGw6eCxTPWUudG9vbHRpcFBvcnRhbElkLGs9dm9pZCAwPT09Uz9cIlwiOlMsRT1lLmJvdW5kYXJ5LEM9dm9pZCAwPT09RT9cImNsaXBwaW5nQW5jZXN0b3JzXCI6RSxfPWUuc3RyYXRlZ3ksUD12b2lkIDA9PT1fP1wiZml4ZWRcIjpfLE89ZS5vZmZzZXQsTj12b2lkIDA9PT1PPzg6TyxUPWUudHJpZ2dlcnMsTT12b2lkIDA9PT1UP1tcImhvdmVyXCIsXCJmb2N1c1wiXTpULFI9ZS5pbnRlcmFjdGl2ZSxEPXZvaWQgMCE9PVImJlIsaj0oMCxhLnVzZU1lbW8pKChmdW5jdGlvbigpe3JldHVyblwiYm9vbGVhblwiPT10eXBlb2YgZyYmXCJmdW5jdGlvblwiPT10eXBlb2YgeX0pLFtnLHldKSxBPShyPSgwLGEudXNlU3RhdGUpKCExKSxvPTIsZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0ocil8fGZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09ZT9udWxsOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVtcIkBAaXRlcmF0b3JcIl07aWYobnVsbCE9bil7dmFyIHIsbyxpLHMsYT1bXSxsPSEwLGM9ITE7dHJ5e2lmKGk9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtsPSExfWVsc2UgZm9yKDshKGw9KHI9aS5jYWxsKG4pKS5kb25lKSYmKGEucHVzaChyLnZhbHVlKSxhLmxlbmd0aCE9PXQpO2w9ITApO31jYXRjaChlKXtjPSEwLG89ZX1maW5hbGx5e3RyeXtpZighbCYmbnVsbCE9bi5yZXR1cm4mJihzPW4ucmV0dXJuKCksT2JqZWN0KHMpIT09cykpcmV0dXJufWZpbmFsbHl7aWYoYyl0aHJvdyBvfX1yZXR1cm4gYX19KHIsbyl8fGZ1bmN0aW9uKGUsdCl7aWYoZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpcmV0dXJuIFJvKGUsdCk7dmFyIG49e30udG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTtyZXR1cm5cIk9iamVjdFwiPT09biYmZS5jb25zdHJ1Y3RvciYmKG49ZS5jb25zdHJ1Y3Rvci5uYW1lKSxcIk1hcFwiPT09bnx8XCJTZXRcIj09PW4/QXJyYXkuZnJvbShlKTpcIkFyZ3VtZW50c1wiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/Um8oZSx0KTp2b2lkIDB9fShyLG8pfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIil9KCkpLEk9QVswXSxMPUFbMV0sRj0oMCxhLnVzZVJlZikobnVsbCksej1Rcih7b3BlbjpqP2c6SSxvbk9wZW5DaGFuZ2U6aj95OkwscGxhY2VtZW50OnUsc3RyYXRlZ3k6UCxtaWRkbGV3YXJlOltEbihOKSxBbih7Ym91bmRhcnk6Q30pLGpuKHtib3VuZGFyeTpDfSksKG49e2VsZW1lbnQ6Rn0sey4uLlJuKG4pLG9wdGlvbnM6W24sdW5kZWZpbmVkXX0pXSx3aGlsZUVsZW1lbnRzTW91bnRlZDpibn0pLEI9ei5yZWZzLFc9ei5mbG9hdGluZ1N0eWxlcyxWPXouY29udGV4dCxVPXFyKFYse2VuYWJsZWQ6IWomJk0uaW5jbHVkZXMoXCJjbGlja1wiKX0pLCQ9ZnVuY3Rpb24oZSx0KXt2b2lkIDA9PT10JiYodD17fSk7Y29uc3R7b3BlbjpuLG9uT3BlbkNoYW5nZTpyLGRhdGFSZWY6byxldmVudHM6aSxlbGVtZW50czpzfT1lLHtlbmFibGVkOmw9ITAsZGVsYXk6Yz0wLGhhbmRsZUNsb3NlOnU9bnVsbCxtb3VzZU9ubHk6ZD0hMSxyZXN0TXM6Zj0wLG1vdmU6bT0hMH09dCxoPXVyKCkscD1jcigpLGc9ZnIodSkseT1mcihjKSx2PWZyKG4pLGI9YS51c2VSZWYoKSx4PWEudXNlUmVmKC0xKSx3PWEudXNlUmVmKCksUz1hLnVzZVJlZigtMSksaz1hLnVzZVJlZighMCksRT1hLnVzZVJlZighMSksQz1hLnVzZVJlZigoKCk9Pnt9KSksXz1hLnVzZUNhbGxiYWNrKCgoKT0+e3ZhciBlO2NvbnN0IHQ9bnVsbD09KGU9by5jdXJyZW50Lm9wZW5FdmVudCk/dm9pZCAwOmUudHlwZTtyZXR1cm4obnVsbD09dD92b2lkIDA6dC5pbmNsdWRlcyhcIm1vdXNlXCIpKSYmXCJtb3VzZWRvd25cIiE9PXR9KSxbb10pO2EudXNlRWZmZWN0KCgoKT0+e2lmKGwpcmV0dXJuIGkub24oXCJvcGVuY2hhbmdlXCIsZSksKCk9PntpLm9mZihcIm9wZW5jaGFuZ2VcIixlKX07ZnVuY3Rpb24gZShlKXtsZXR7b3Blbjp0fT1lO3R8fChjbGVhclRpbWVvdXQoeC5jdXJyZW50KSxjbGVhclRpbWVvdXQoUy5jdXJyZW50KSxrLmN1cnJlbnQ9ITApfX0pLFtsLGldKSxhLnVzZUVmZmVjdCgoKCk9PntpZighbClyZXR1cm47aWYoIWcuY3VycmVudClyZXR1cm47aWYoIW4pcmV0dXJuO2Z1bmN0aW9uIGUoZSl7XygpJiZyKCExLGUsXCJob3ZlclwiKX1jb25zdCB0PWZ0KHMuZmxvYXRpbmcpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gdC5hZGRFdmVudExpc3RlbmVyKFwibW91c2VsZWF2ZVwiLGUpLCgpPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2VsZWF2ZVwiLGUpfX0pLFtzLmZsb2F0aW5nLG4scixsLGcsX10pO2NvbnN0IFA9YS51c2VDYWxsYmFjaygoZnVuY3Rpb24oZSx0LG4pe3ZvaWQgMD09PXQmJih0PSEwKSx2b2lkIDA9PT1uJiYobj1cImhvdmVyXCIpO2NvbnN0IG89aHIoeS5jdXJyZW50LFwiY2xvc2VcIixiLmN1cnJlbnQpO28mJiF3LmN1cnJlbnQ/KGNsZWFyVGltZW91dCh4LmN1cnJlbnQpLHguY3VycmVudD13aW5kb3cuc2V0VGltZW91dCgoKCk9PnIoITEsZSxuKSksbykpOnQmJihjbGVhclRpbWVvdXQoeC5jdXJyZW50KSxyKCExLGUsbikpfSksW3kscl0pLE89em4oKCgpPT57Qy5jdXJyZW50KCksdy5jdXJyZW50PXZvaWQgMH0pKSxOPXpuKCgoKT0+e2lmKEUuY3VycmVudCl7Y29uc3QgZT1mdChzLmZsb2F0aW5nKS5ib2R5O2Uuc3R5bGUucG9pbnRlckV2ZW50cz1cIlwiLGUucmVtb3ZlQXR0cmlidXRlKG1yKSxFLmN1cnJlbnQ9ITF9fSkpO2EudXNlRWZmZWN0KCgoKT0+e2lmKGwmJldlKHMuZG9tUmVmZXJlbmNlKSl7dmFyIGU7Y29uc3QgdD1zLmRvbVJlZmVyZW5jZTtyZXR1cm4gbiYmdC5hZGRFdmVudExpc3RlbmVyKFwibW91c2VsZWF2ZVwiLGMpLG51bGw9PShlPXMuZmxvYXRpbmcpfHxlLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIsYyksbSYmdC5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsaSx7b25jZTohMH0pLHQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZW50ZXJcIixpKSx0LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIsYSksKCk9Pnt2YXIgZTtuJiZ0LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIsYyksbnVsbD09KGU9cy5mbG9hdGluZyl8fGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbGVhdmVcIixjKSxtJiZ0LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIixpKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWVudGVyXCIsaSksdC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2VsZWF2ZVwiLGEpfX1mdW5jdGlvbiB0KCl7cmV0dXJuISFvLmN1cnJlbnQub3BlbkV2ZW50JiZbXCJjbGlja1wiLFwibW91c2Vkb3duXCJdLmluY2x1ZGVzKG8uY3VycmVudC5vcGVuRXZlbnQudHlwZSl9ZnVuY3Rpb24gaShlKXtpZihjbGVhclRpbWVvdXQoeC5jdXJyZW50KSxrLmN1cnJlbnQ9ITEsZCYmIWR0KGIuY3VycmVudCl8fGY+MCYmIWhyKHkuY3VycmVudCxcIm9wZW5cIikpcmV0dXJuO2NvbnN0IHQ9aHIoeS5jdXJyZW50LFwib3BlblwiLGIuY3VycmVudCk7dD94LmN1cnJlbnQ9d2luZG93LnNldFRpbWVvdXQoKCgpPT57di5jdXJyZW50fHxyKCEwLGUsXCJob3ZlclwiKX0pLHQpOnIoITAsZSxcImhvdmVyXCIpfWZ1bmN0aW9uIGEoZSl7aWYodCgpKXJldHVybjtDLmN1cnJlbnQoKTtjb25zdCByPWZ0KHMuZmxvYXRpbmcpO2lmKGNsZWFyVGltZW91dChTLmN1cnJlbnQpLGcuY3VycmVudCYmby5jdXJyZW50LmZsb2F0aW5nQ29udGV4dCl7bnx8Y2xlYXJUaW1lb3V0KHguY3VycmVudCksdy5jdXJyZW50PWcuY3VycmVudCh7Li4uby5jdXJyZW50LmZsb2F0aW5nQ29udGV4dCx0cmVlOmgseDplLmNsaWVudFgseTplLmNsaWVudFksb25DbG9zZSgpe04oKSxPKCksUChlLCEwLFwic2FmZS1wb2x5Z29uXCIpfX0pO2NvbnN0IHQ9dy5jdXJyZW50O3JldHVybiByLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIix0KSx2b2lkKEMuY3VycmVudD0oKT0+e3IucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLHQpfSl9KFwidG91Y2hcIiE9PWIuY3VycmVudHx8IXJ0KHMuZmxvYXRpbmcsZS5yZWxhdGVkVGFyZ2V0KSkmJlAoZSl9ZnVuY3Rpb24gYyhlKXt0KCl8fG8uY3VycmVudC5mbG9hdGluZ0NvbnRleHQmJihudWxsPT1nLmN1cnJlbnR8fGcuY3VycmVudCh7Li4uby5jdXJyZW50LmZsb2F0aW5nQ29udGV4dCx0cmVlOmgseDplLmNsaWVudFgseTplLmNsaWVudFksb25DbG9zZSgpe04oKSxPKCksUChlKX19KShlKSl9fSksW3MsbCxlLGQsZixtLFAsTyxOLHIsbix2LGgseSxnLG9dKSxlcigoKCk9Pnt2YXIgZTtpZihsJiZuJiZudWxsIT0oZT1nLmN1cnJlbnQpJiZlLl9fb3B0aW9ucy5ibG9ja1BvaW50ZXJFdmVudHMmJl8oKSl7RS5jdXJyZW50PSEwO2NvbnN0IGU9cy5mbG9hdGluZztpZihXZShzLmRvbVJlZmVyZW5jZSkmJmUpe3ZhciB0O2NvbnN0IG49ZnQocy5mbG9hdGluZykuYm9keTtuLnNldEF0dHJpYnV0ZShtcixcIlwiKTtjb25zdCByPXMuZG9tUmVmZXJlbmNlLG89bnVsbD09aHx8bnVsbD09KHQ9aC5ub2Rlc1JlZi5jdXJyZW50LmZpbmQoKGU9PmUuaWQ9PT1wKSkpfHxudWxsPT0odD10LmNvbnRleHQpP3ZvaWQgMDp0LmVsZW1lbnRzLmZsb2F0aW5nO3JldHVybiBvJiYoby5zdHlsZS5wb2ludGVyRXZlbnRzPVwiXCIpLG4uc3R5bGUucG9pbnRlckV2ZW50cz1cIm5vbmVcIixyLnN0eWxlLnBvaW50ZXJFdmVudHM9XCJhdXRvXCIsZS5zdHlsZS5wb2ludGVyRXZlbnRzPVwiYXV0b1wiLCgpPT57bi5zdHlsZS5wb2ludGVyRXZlbnRzPVwiXCIsci5zdHlsZS5wb2ludGVyRXZlbnRzPVwiXCIsZS5zdHlsZS5wb2ludGVyRXZlbnRzPVwiXCJ9fX19KSxbbCxuLHAscyxoLGcsX10pLGVyKCgoKT0+e258fChiLmN1cnJlbnQ9dm9pZCAwLE8oKSxOKCkpfSksW24sTyxOXSksYS51c2VFZmZlY3QoKCgpPT4oKT0+e08oKSxjbGVhclRpbWVvdXQoeC5jdXJyZW50KSxjbGVhclRpbWVvdXQoUy5jdXJyZW50KSxOKCl9KSxbbCxzLmRvbVJlZmVyZW5jZSxPLE5dKTtjb25zdCBUPWEudXNlTWVtbygoKCk9PntmdW5jdGlvbiBlKGUpe2IuY3VycmVudD1lLnBvaW50ZXJUeXBlfXJldHVybntvblBvaW50ZXJEb3duOmUsb25Qb2ludGVyRW50ZXI6ZSxvbk1vdXNlTW92ZShlKXtjb25zdHtuYXRpdmVFdmVudDp0fT1lO2Z1bmN0aW9uIG8oKXtrLmN1cnJlbnR8fHYuY3VycmVudHx8cighMCx0LFwiaG92ZXJcIil9ZCYmIWR0KGIuY3VycmVudCl8fG58fDA9PT1mfHwoY2xlYXJUaW1lb3V0KFMuY3VycmVudCksXCJ0b3VjaFwiPT09Yi5jdXJyZW50P28oKTpTLmN1cnJlbnQ9d2luZG93LnNldFRpbWVvdXQobyxmKSl9fX0pLFtkLHIsbix2LGZdKSxNPWEudXNlTWVtbygoKCk9Pih7b25Nb3VzZUVudGVyKCl7Y2xlYXJUaW1lb3V0KHguY3VycmVudCl9LG9uTW91c2VMZWF2ZShlKXtQKGUubmF0aXZlRXZlbnQsITEpfX0pKSxbUF0pO3JldHVybiBhLnVzZU1lbW8oKCgpPT5sP3tyZWZlcmVuY2U6VCxmbG9hdGluZzpNfTp7fSksW2wsVCxNXSl9KFYsVG8oe21vdmU6ITEsZW5hYmxlZDohaiYmTS5pbmNsdWRlcyhcImhvdmVyXCIpfSxEJiZ7aGFuZGxlQ2xvc2U6eW8oKX0pKSxZPWZ1bmN0aW9uKGUsdCl7dm9pZCAwPT09dCYmKHQ9e30pO2NvbnN0e29wZW46bixvbk9wZW5DaGFuZ2U6cixldmVudHM6byxkYXRhUmVmOmksZWxlbWVudHM6c309ZSx7ZW5hYmxlZDpsPSEwLHZpc2libGVPbmx5OmM9ITB9PXQsdT1hLnVzZVJlZighMSksZD1hLnVzZVJlZigpLGY9YS51c2VSZWYoITApO2EudXNlRWZmZWN0KCgoKT0+e2lmKCFsKXJldHVybjtjb25zdCBlPUZlKHMuZG9tUmVmZXJlbmNlKTtmdW5jdGlvbiB0KCl7IW4mJlZlKHMuZG9tUmVmZXJlbmNlKSYmcy5kb21SZWZlcmVuY2U9PT1udChmdChzLmRvbVJlZmVyZW5jZSkpJiYodS5jdXJyZW50PSEwKX1mdW5jdGlvbiByKCl7Zi5jdXJyZW50PSEwfXJldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoXCJibHVyXCIsdCksZS5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLHIsITApLCgpPT57ZS5yZW1vdmVFdmVudExpc3RlbmVyKFwiYmx1clwiLHQpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixyLCEwKX19KSxbcy5kb21SZWZlcmVuY2UsbixsXSksYS51c2VFZmZlY3QoKCgpPT57aWYobClyZXR1cm4gby5vbihcIm9wZW5jaGFuZ2VcIixlKSwoKT0+e28ub2ZmKFwib3BlbmNoYW5nZVwiLGUpfTtmdW5jdGlvbiBlKGUpe2xldHtyZWFzb246dH09ZTtcInJlZmVyZW5jZS1wcmVzc1wiIT09dCYmXCJlc2NhcGUta2V5XCIhPT10fHwodS5jdXJyZW50PSEwKX19KSxbbyxsXSksYS51c2VFZmZlY3QoKCgpPT4oKT0+e2NsZWFyVGltZW91dChkLmN1cnJlbnQpfSksW10pO2NvbnN0IG09YS51c2VNZW1vKCgoKT0+KHtvblBvaW50ZXJEb3duKGUpe2F0KGUubmF0aXZlRXZlbnQpfHwoZi5jdXJyZW50PSExKX0sb25Nb3VzZUxlYXZlKCl7dS5jdXJyZW50PSExfSxvbkZvY3VzKGUpe2lmKHUuY3VycmVudClyZXR1cm47Y29uc3QgdD1odChlLm5hdGl2ZUV2ZW50KTtpZihjJiZXZSh0KSl0cnl7aWYobHQoKSYmdXQoKSl0aHJvdyBFcnJvcigpO2lmKCF0Lm1hdGNoZXMoXCI6Zm9jdXMtdmlzaWJsZVwiKSlyZXR1cm59Y2F0Y2goZSl7aWYoIWYuY3VycmVudCYmIWd0KHQpKXJldHVybn1yKCEwLGUubmF0aXZlRXZlbnQsXCJmb2N1c1wiKX0sb25CbHVyKGUpe3UuY3VycmVudD0hMTtjb25zdCB0PWUucmVsYXRlZFRhcmdldCxuPWUubmF0aXZlRXZlbnQsbz1XZSh0KSYmdC5oYXNBdHRyaWJ1dGUoZHIoXCJmb2N1cy1ndWFyZFwiKSkmJlwib3V0c2lkZVwiPT09dC5nZXRBdHRyaWJ1dGUoXCJkYXRhLXR5cGVcIik7ZC5jdXJyZW50PXdpbmRvdy5zZXRUaW1lb3V0KCgoKT0+e3ZhciBlO2NvbnN0IGE9bnQocy5kb21SZWZlcmVuY2U/cy5kb21SZWZlcmVuY2Uub3duZXJEb2N1bWVudDpkb2N1bWVudCk7KHR8fGEhPT1zLmRvbVJlZmVyZW5jZSkmJihydChudWxsPT0oZT1pLmN1cnJlbnQuZmxvYXRpbmdDb250ZXh0KT92b2lkIDA6ZS5yZWZzLmZsb2F0aW5nLmN1cnJlbnQsYSl8fHJ0KHMuZG9tUmVmZXJlbmNlLGEpfHxvfHxyKCExLG4sXCJmb2N1c1wiKSl9KSl9fSkpLFtpLHMuZG9tUmVmZXJlbmNlLHIsY10pO3JldHVybiBhLnVzZU1lbW8oKCgpPT5sP3tyZWZlcmVuY2U6bX06e30pLFtsLG1dKX0oVix7ZW5hYmxlZDohaiYmTS5pbmNsdWRlcyhcImZvY3VzXCIpfSksSD1ybyhbVSwkLFksSnIoViksZm8oVix7cm9sZTpcInRvb2x0aXBcIn0pXSksSz1ILmdldFJlZmVyZW5jZVByb3BzLHE9SC5nZXRGbG9hdGluZ1Byb3BzLEc9cG8oVix7ZHVyYXRpb246MTUwLGluaXRpYWw6e29wYWNpdHk6MH0sb3Blbjp7b3BhY2l0eToxfSxjbG9zZTp7b3BhY2l0eTowfX0pLFg9Ry5pc01vdW50ZWQsWj1HLnN0eWxlcyxKPW51bGw9PT0odD17bGlnaHQ6XCJiZy10b29sdGlwLWJhY2tncm91bmQtbGlnaHQgdGV4dC10ZXh0LXByaW1hcnlcIixkYXJrOlwiYmctdG9vbHRpcC1iYWNrZ3JvdW5kLWRhcmsgdGV4dC10ZXh0LW9uLWNvbG9yXCJ9KXx8dm9pZCAwPT09dD92b2lkIDA6dFtzXSxRPVwiZGFya1wiPT09cz9cInRleHQtdG9vbHRpcC1iYWNrZ3JvdW5kLWRhcmtcIjpcInRleHQtdG9vbHRpcC1iYWNrZ3JvdW5kLWxpZ2h0XCI7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KGwoKS5GcmFnbWVudCxudWxsLCgwLGEuaXNWYWxpZEVsZW1lbnQpKHYpJiYoMCxhLmNsb25lRWxlbWVudCkodixUbyhUbyh7fSx2LnByb3BzKSx7fSx7cmVmOl9vKHYucmVmLEIuc2V0UmVmZXJlbmNlKSxjbGFzc05hbWU6b2Uodi5wcm9wcy5jbGFzc05hbWUpfSxLKCkpKSxsKCkuY3JlYXRlRWxlbWVudChJcix7aWQ6ayxyb290Ond9LFgmJmwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIsT28oe2NsYXNzTmFtZTpvZShcImFic29sdXRlIHotMjAgcHktMiBweC0zIHJvdW5kZWQtbWQgdGV4dC14cyBsZWFkaW5nLTQgc2hhZG93LXNvZnQtc2hhZG93LWxnXCIsSixcIm1heC13LTgwIHctZml0XCIsYikscmVmOkIuc2V0RmxvYXRpbmcsc3R5bGU6VG8oVG8oe30sVyksWil9LHEoKSksbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIixudWxsLCEhZiYmbCgpLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse2NsYXNzTmFtZTpcImZvbnQtc2VtaWJvbGRcIn0sZiksISFtJiZsKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6XCJmb250LW5vcm1hbFwifSxtKSkscCYmbCgpLmNyZWF0ZUVsZW1lbnQoc3Ise3JlZjpGLGNvbnRleHQ6VixwbGFjZW1lbnQ6dSxjbGFzc05hbWU6b2UoXCJmaWxsLWN1cnJlbnRcIixRKX0pKSkpfSxqbz1bXCJpZFwiLFwibGFiZWxcIixcInZhbHVlXCIsXCJjaGlsZHJlblwiLFwiZGlzYWJsZWRcIixcImljb25cIixcImlubGluZUljb25cIixcImhpZGVTZWxlY3Rpb25cIixcInJldmVyc2VQb3NpdGlvblwiLFwiYm9yZGVyT25cIixcImJvcmRlck9uQWN0aXZlXCIsXCJiYWRnZUl0ZW1cIixcInVzZVN3aXRjaFwiLFwiaW5mb1wiLFwibWluV2lkdGhcIl0sQW89W1wiaWRcIixcImNoaWxkcmVuXCIsXCJ2YWx1ZVwiLFwiZGlzYWJsZWRcIixcInNpemVcIl07ZnVuY3Rpb24gSW8oKXtyZXR1cm4gSW89T2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduLmJpbmQoKTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJihlW3JdPW5bcl0pfXJldHVybiBlfSxJby5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gTG8oZSl7cmV0dXJuIExvPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlP1wic3ltYm9sXCI6dHlwZW9mIGV9LExvKGUpfWZ1bmN0aW9uIEZvKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbixyLG89ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPXt9O2Zvcih2YXIgciBpbiBlKWlmKHt9Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSl7aWYodC5pbmNsdWRlcyhyKSljb250aW51ZTtuW3JdPWVbcl19cmV0dXJuIG59KGUsdCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKW49aVtyXSx0LmluY2x1ZGVzKG4pfHx7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsbikmJihvW25dPWVbbl0pfXJldHVybiBvfWZ1bmN0aW9uIHpvKGUsdCl7aWYoZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpcmV0dXJuIEJvKGUsdCk7dmFyIG49e30udG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTtyZXR1cm5cIk9iamVjdFwiPT09biYmZS5jb25zdHJ1Y3RvciYmKG49ZS5jb25zdHJ1Y3Rvci5uYW1lKSxcIk1hcFwiPT09bnx8XCJTZXRcIj09PW4/QXJyYXkuZnJvbShlKTpcIkFyZ3VtZW50c1wiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/Qm8oZSx0KTp2b2lkIDB9fWZ1bmN0aW9uIEJvKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1BcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgV289KDAsYS5jcmVhdGVDb250ZXh0KSgpLFZvPWZ1bmN0aW9uKCl7cmV0dXJuKDAsYS51c2VDb250ZXh0KShXbyl9LFVvPWZ1bmN0aW9uKGUpe3ZhciB0LG49ZS5jaGlsZHJlbixyPWUubmFtZSxvPWUuc3R5bGUsaT12b2lkIDA9PT1vP1wic2ltcGxlXCI6byxzPWUuc2l6ZSxjPXZvaWQgMD09PXM/XCJtZFwiOnMsdT1lLnZhbHVlLGQ9ZS5kZWZhdWx0VmFsdWUsZj1lLmJ5LG09dm9pZCAwPT09Zj9cImlkXCI6ZixoPWUuYXMscD12b2lkIDA9PT1oP1wiZGl2XCI6aCxnPWUub25DaGFuZ2UseT1lLmNsYXNzTmFtZSx2PWUuZGlzYWJsZUdyb3VwLGI9dm9pZCAwIT09diYmdix4PWUudmVydGljYWwsdz12b2lkIDAhPT14JiZ4LFM9ZS5jb2x1bW5zLGs9dm9pZCAwPT09Uz80OlMsRT1lLm11bHRpU2VsZWN0aW9uLEM9dm9pZCAwIT09RSYmRSxfPWUuZ2FwQ2xhc3NuYW1lLFA9dm9pZCAwPT09Xz9cImdhcC0yXCI6XyxPPSgwLGEudXNlTWVtbykoKGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXV9KSxbdV0pLE49KDAsYS51c2VNZW1vKSgoZnVuY3Rpb24oKXtyZXR1cm4gcnx8XCJyYWRpby1idXR0b24tZ3JvdXAtXCIuY29uY2F0KGZlKCkpfSksW3JdKTt0PU8/dTpDP251bGwhPWQ/ZDpbXTpkO3ZhciBULE0sUj0oVD0oMCxhLnVzZVN0YXRlKSh0KSxNPTIsZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0oVCl8fGZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09ZT9udWxsOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVtcIkBAaXRlcmF0b3JcIl07aWYobnVsbCE9bil7dmFyIHIsbyxpLHMsYT1bXSxsPSEwLGM9ITE7dHJ5e2lmKGk9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtsPSExfWVsc2UgZm9yKDshKGw9KHI9aS5jYWxsKG4pKS5kb25lKSYmKGEucHVzaChyLnZhbHVlKSxhLmxlbmd0aCE9PXQpO2w9ITApO31jYXRjaChlKXtjPSEwLG89ZX1maW5hbGx5e3RyeXtpZighbCYmbnVsbCE9bi5yZXR1cm4mJihzPW4ucmV0dXJuKCksT2JqZWN0KHMpIT09cykpcmV0dXJufWZpbmFsbHl7aWYoYyl0aHJvdyBvfX1yZXR1cm4gYX19KFQsTSl8fHpvKFQsTSl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKSksRD1SWzBdLGo9UlsxXSxBPSgwLGEudXNlQ2FsbGJhY2spKChmdW5jdGlvbihlKXtpZihDKWooKGZ1bmN0aW9uKHQpe3ZhciBuPXQuaW5jbHVkZXMoZSk/dC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0IT09ZX0pKTpbXS5jb25jYXQoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIEJvKGUpfShlKXx8ZnVuY3Rpb24oZSl7aWYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmbnVsbCE9ZVtTeW1ib2wuaXRlcmF0b3JdfHxudWxsIT1lW1wiQEBpdGVyYXRvclwiXSlyZXR1cm4gQXJyYXkuZnJvbShlKX0oZSl8fHpvKGUpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpfSgpfSh0KSxbZV0pO3JldHVyblwiZnVuY3Rpb25cIj09dHlwZW9mIGcmJmcobiksbn0pKTtlbHNle2lmKE98fGooZSksXCJmdW5jdGlvblwiIT10eXBlb2YgZylyZXR1cm47ZyhlKX19KSxbZ10pO3k9b2UoXCJncmlkIGdyaWQtY29scy00XCIsYWVba10sUCxcInRpbGVcIj09PWkmJlwiZ2FwLTBcIix3JiZcImdyaWQtY29scy0xXCIseSk7dmFyIEk9b2UoXCJ0aWxlXCI9PT1pP1wiYm9yZGVyIGJvcmRlci1ib3JkZXItc3VidGxlIGJvcmRlci1zb2xpZCByb3VuZGVkLW1kIHNoYWRvdy1zbVwiOlwiZ2FwLTZcIix5KSxMPWZ1bmN0aW9uKCl7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KFdvLlByb3ZpZGVyLHt2YWx1ZTp7bmFtZTpOLHZhbHVlOk8/dTpELGJ5Om0sb25DaGFuZ2U6QSxpc0NvbnRyb2xsZWQ6TyxkaXNhYmxlQWxsOmIsc3R5bGU6aSxjb2x1bW5zOmssbXVsdGlTZWxlY3Rpb246QyxzaXplOmN9fSxsKCkuQ2hpbGRyZW4ubWFwKG4sKGZ1bmN0aW9uKGUpe3JldHVybigwLGEuaXNWYWxpZEVsZW1lbnQpKGUpP2U6bnVsbH0pKSl9O3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChsKCkuRnJhZ21lbnQsbnVsbCxcInRpbGVcIj09PWk/bCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOkl9LEwoKSk6bCgpLmNyZWF0ZUVsZW1lbnQocCxwPT09YS5GcmFnbWVudD97fTp7Y2xhc3NOYW1lOnl9LEwoKSkpfTtVby5kaXNwbGF5TmFtZT1cIlJhZGlvQnV0dG9uLkdyb3VwXCI7dmFyICRvPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixvPWUuaWQsaT1lLmxhYmVsLHM9ZS52YWx1ZSxjPWUuY2hpbGRyZW4sdT1lLmRpc2FibGVkLGQ9ZS5pY29uLGY9dm9pZCAwPT09ZD9udWxsOmQsbT1lLmlubGluZUljb24saD12b2lkIDAhPT1tJiZtLHA9ZS5oaWRlU2VsZWN0aW9uLGc9dm9pZCAwIT09cCYmcCx5PWUucmV2ZXJzZVBvc2l0aW9uLHY9dm9pZCAwIT09eSYmeSxiPWUuYm9yZGVyT24seD12b2lkIDAhPT1iJiZiLHc9ZS5ib3JkZXJPbkFjdGl2ZSxTPXZvaWQgMD09PXd8fHcsaz1lLmJhZGdlSXRlbSxFPXZvaWQgMD09PWs/bnVsbDprLEM9ZS51c2VTd2l0Y2gsXz12b2lkIDAhPT1DJiZDLFA9ZS5pbmZvLE89dm9pZCAwPT09UD9udWxsOlAsTj1lLm1pbldpZHRoLFQ9dm9pZCAwPT09Tnx8TixNPUZvKGUsam8pLFI9TS5idXR0b25XcmFwcGVyQ2xhc3NlcyxEPVZvKCksaj1ELm5hbWUsQT1ELnZhbHVlLEk9RC5ieSxMPUQub25DaGFuZ2UsRj1ELmRpc2FibGVBbGwsej1ELmNoZWNrZWQsQj1ELm11bHRpU2VsZWN0aW9uLFc9RC5zaXplLFY9XCJwcmltYXJ5XCIsVT0oMCxhLnVzZU1lbW8pKChmdW5jdGlvbigpe3JldHVybiBvfHxcInJhZGlvLWJ1dHRvbi1cIi5jb25jYXQoZmUoKSl9KSxbb10pLCQ9KDAsYS51c2VNZW1vKSgoZnVuY3Rpb24oKXtyZXR1cm4gRnx8dX0pLFtGLHVdKSxZPSgwLGEudXNlTWVtbykoKGZ1bmN0aW9uKCl7cmV0dXJuIEI/QXJyYXkuaXNBcnJheShBKSYmQS5pbmNsdWRlcyhzKTp2b2lkIDAhPT16P3o6TG8oQSk9PT1MbyhzKSYmKFwic3RyaW5nXCI9PXR5cGVvZiBBP0E9PT1zOkFycmF5LmlzQXJyYXkoQSk/QS5pbmNsdWRlcyhzKTpBW0ldPT09c1tJXSl9KSxbQSxzLHpdKSxIPSgwLGEudXNlQ2FsbGJhY2spKChmdW5jdGlvbigpe3JldHVybigwLGEuaXNWYWxpZEVsZW1lbnQpKGkpP2k6aS5oZWFkaW5nP2woKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZSghaCYmXCJzcGFjZS15LTEuNSBtdC1bMnB4XVwiLHYmJihfP1wibWwtMTBcIjpcIm1sLTRcIiksaCYmXCJmbGV4IGdhcC0yXCIsaCYmIWkuZGVzY3JpcHRpb24mJlwiaXRlbXMtY2VudGVyXCIpfSxmJiZsKCkuY3JlYXRlRWxlbWVudChsKCkuRnJhZ21lbnQsbnVsbCxmKSxsKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJzcGFjZS15LTEuNVwiKX0sbCgpLmNyZWF0ZUVsZW1lbnQoXCJwXCIse2NsYXNzTmFtZTpvZShcInRleHQtdGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtIG0tMFwiLGplW1ddLHUmJlwidGV4dC10ZXh0LWRpc2FibGVkIGN1cnNvci1ub3QtYWxsb3dlZFwiKX0saS5oZWFkaW5nKSxpLmRlc2NyaXB0aW9uJiZsKCkuY3JlYXRlRWxlbWVudChcInBcIix7Y2xhc3NOYW1lOlwidGV4dC10ZXh0LXRlcnRpYXJ5IHRleHQtc20gZm9udC1ub3JtYWwgbGVhZGluZy01IG0tMFwifSxpLmRlc2NyaXB0aW9uKSkpOm51bGx9KSxbaV0pO2lmKFwidGlsZVwiPT09RC5zdHlsZSlyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoSG8se2lkOm8sbGFiZWw6aSx2YWx1ZTpzLGRpc2FibGVkOnUsc2l6ZTpXfSxjKTt2YXIgSz1mdW5jdGlvbigpeyR8fChCP18mJkwocywhWSk6TChzKSl9O3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChcImxhYmVsXCIse2NsYXNzTmFtZTpvZShcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciByZWxhdGl2ZSBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDBcIiwhIWkmJlwiaXRlbXMtc3RhcnQganVzdGlmeS1iZXR3ZWVuXCIsVCYmXCJtaW4tdy1bMTgwcHhdXCIseCYmXCJib3JkZXIgYm9yZGVyLWJvcmRlci1zdWJ0bGUgYm9yZGVyLXNvbGlkIHJvdW5kZWQtbWQgc2hhZG93LXNtIGhvdmVyOnJpbmctMiBob3ZlcjpyaW5nLWJvcmRlci1pbnRlcmFjdGl2ZVwiLFMmJngmJlkmJlwicmluZy0yIHJpbmctYm9yZGVyLWludGVyYWN0aXZlXCIsXCJzbVwiPT09Vz9cInB4LTMgcHktM1wiOlwicHgtNCBweS00XCIsXCJwci0xMlwiLCQmJlwiY3Vyc29yLW5vdC1hbGxvd2VkIG9wYWNpdHktNDBcIixSKSxodG1sRm9yOlUsb25DbGljazpLfSwhIWkmJmwoKS5jcmVhdGVFbGVtZW50KFwibGFiZWxcIix7Y2xhc3NOYW1lOm9lKFwiY3Vyc29yLXBvaW50ZXJcIiwkJiZcImN1cnNvci1ub3QtYWxsb3dlZFwiKSxodG1sRm9yOlV9LEgoKSksISFPJiZsKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6XCJhYnNvbHV0ZSBtci0wLjUgYm90dG9tLTEuNSByaWdodC0zXCJ9LGwoKS5jcmVhdGVFbGVtZW50KERvLHthcnJvdzohMCx0cmlnZ2VyczpbXCJob3ZlclwiLFwiZm9jdXNcIl0scGxhY2VtZW50OlwidG9wXCIsdGl0bGU6bnVsbD09Tz92b2lkIDA6Ty5oZWFkaW5nLGNvbnRlbnQ6bnVsbD09Tz92b2lkIDA6Ty5kZXNjcmlwdGlvbn0sbCgpLmNyZWF0ZUVsZW1lbnQoUmUse2NsYXNzTmFtZTpvZShcInRleHQtdGV4dC1wcmltYXJ5XCIsbnVsbD09PShuPUFlW1ddKXx8dm9pZCAwPT09bj92b2lkIDA6bi5pbmZvKX0pKSksbCgpLmNyZWF0ZUVsZW1lbnQoXCJsYWJlbFwiLHtjbGFzc05hbWU6b2UoXCJhYnNvbHV0ZSBtci0wLjUgcmlnaHQtMyBmbGV4IGl0ZW1zLWNlbnRlciBjdXJzb3ItcG9pbnRlciByb3VuZGVkLWZ1bGwgZ2FwLTJcIix2JiZcImxlZnQtMFwiLCQmJlwiY3Vyc29yLW5vdC1hbGxvd2VkXCIsaCYmXCJtci0zXCIpLG9uQ2xpY2s6S30sISFFJiZFLCFnJiYoXz9sKCkuY3JlYXRlRWxlbWVudChiZSx7ZGVmYXVsdFZhbHVlOiExLHNpemU6XCJtZFwiPT09Vz9cImxnXCI6XCJzbVwiLG9uQ2hhbmdlOmZ1bmN0aW9uKCl7Qj9MKHMsIVkpOkwocyl9LGNoZWNrZWQ6WX0pOmwoKS5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6XCJyZWxhdGl2ZSBwLTAuNVwifSxsKCkuY3JlYXRlRWxlbWVudChcImlucHV0XCIsSW8oe3JlZjp0LGlkOlUsdHlwZTpCP1wiY2hlY2tib3hcIjpcInJhZGlvXCIsY2xhc3NOYW1lOm9lKFwicGVlciBmbGV4IHJlbGF0aXZlIGN1cnNvci1wb2ludGVyIGFwcGVhcmFuY2Utbm9uZSB0cmFuc2l0aW9uLWFsbCBtLTAgYmVmb3JlOmNvbnRlbnQtWycnXSBjaGVja2VkOmJlZm9yZTpjb250ZW50LVsnJ10gY2hlY2tlZDpiZWZvcmU6aGlkZGVuIGJlZm9yZTpoaWRkZW4gIWJvcmRlci0xLjUgYm9yZGVyLXNvbGlkXCIsIUImJlwicm91bmRlZC1mdWxsXCIsRGVbVl0uY2hlY2tib3gsQWVbV10uY2hlY2tib3gsJCYmXCJkaXNhYmxlZDpiZy13aGl0ZSBjaGVja2VkOmRpc2FibGVkOmJnLXdoaXRlIGRpc2FibGVkOmJvcmRlci1ib3JkZXItZGlzYWJsZWQgY2hlY2tlZDpkaXNhYmxlZDpib3JkZXItYm9yZGVyLWRpc2FibGVkIGN1cnNvci1ub3QtYWxsb3dlZFwiKSxuYW1lOmosdmFsdWU6cyxvbkNoYW5nZTpmdW5jdGlvbihlKXtyZXR1cm4gTChlLnRhcmdldC52YWx1ZSl9LGNoZWNrZWQ6WSxkaXNhYmxlZDokfSxNKSksbCgpLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse2NsYXNzTmFtZTpvZShcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBhYnNvbHV0ZSB0b3AtMi80IGxlZnQtMi80IC10cmFuc2xhdGUteS0yLzQgLXRyYW5zbGF0ZS14LTIvNCB0ZXh0LXdoaXRlIG9wYWNpdHktMCB0cmFuc2l0aW9uLW9wYWNpdHkgcGVlci1jaGVja2VkOm9wYWNpdHktMTAwXCIsRGVbVl0uaWNvbiwkJiZcInBlZXItZGlzYWJsZWQ6dGV4dC1ib3JkZXItZGlzYWJsZWQgY3Vyc29yLW5vdC1hbGxvd2VkXCIpfSxCP2woKS5jcmVhdGVFbGVtZW50KENlLHtjbGFzc05hbWU6XCJzbVwiPT09Vz9cInNpemUtM1wiOlwic2l6ZS00XCJ9KTpsKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJyb3VuZGVkLWZ1bGwgYmctY3VycmVudFwiLFwic21cIj09PVcmJlwibXQtWzAuNXB4XVwiLG51bGw9PT0ocj1BZVtXXSl8fHZvaWQgMD09PXI/dm9pZCAwOnIuaWNvbil9KSkpKSkpfSxZbz0oMCxhLmZvcndhcmRSZWYpKCRvKTtZby5kaXNwbGF5TmFtZT1cIlJhZGlvQnV0dG9uLkJ1dHRvblwiO3ZhciBIbz1mdW5jdGlvbihlKXt2YXIgdD1lLmlkLG49ZS5jaGlsZHJlbixyPWUudmFsdWUsbz1lLmRpc2FibGVkLGk9ZS5zaXplLHM9dm9pZCAwPT09aT9cIm1kXCI6aSxjPUZvKGUsQW8pLHU9Vm8oKXx8e30sZD11Lm5hbWUsZj11LnZhbHVlLG09dS5ieSxoPXUub25DaGFuZ2UscD11LmRpc2FibGVBbGwsZz11LmNoZWNrZWQseT0oMCxhLnVzZU1lbW8pKChmdW5jdGlvbigpe3JldHVybiB0fHxcInJhZGlvLWJ1dHRvbi1cIi5jb25jYXQoZmUoKSl9KSxbdF0pLHY9KDAsYS51c2VNZW1vKSgoZnVuY3Rpb24oKXtyZXR1cm4gcHx8b30pLFtwLG9dKSxiPSgwLGEudXNlTWVtbykoKGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PWc/ZzpMbyhmKT09PUxvKHIpJiYoXCJzdHJpbmdcIj09dHlwZW9mIGY/Zj09PXI6QXJyYXkuaXNBcnJheShmKT9mLmluY2x1ZGVzKHIpOmZbbV09PT1yW21dKX0pLFtmLHIsZyxtXSkseD1vZShcImJnLWJhY2tncm91bmQtcHJpbWFyeSB0ZXh0LXByaW1hcnkgY3Vyc29yLXBvaW50ZXIgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIixcImhvdmVyOmJnLWJ1dHRvbi10ZXJ0aWFyeS1ob3ZlclwiLFwiZm9jdXM6b3V0bGluZS1ub25lXCIsdj9cInRleHQtdGV4dC1kaXNhYmxlZCBjdXJzb3Itbm90LWFsbG93ZWRcIjpcIlwiLEllW3NdLFwiYm9yZGVyLTAgYm9yZGVyLXIgYm9yZGVyLWJvcmRlci1zdWJ0bGUgYm9yZGVyLXNvbGlkXCIpO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChsKCkuRnJhZ21lbnQsbnVsbCxsKCkuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLElvKHt0eXBlOlwiYnV0dG9uXCIsaWQ6eSxjbGFzc05hbWU6b2UoeCxcImZpcnN0OnJvdW5kZWQtdGwgZmlyc3Q6cm91bmRlZC1ibCBmaXJzdDpib3JkZXItMCBmaXJzdDpib3JkZXItciBmaXJzdDpib3JkZXItYm9yZGVyLXN1YnRsZSBsYXN0OnJvdW5kZWQtdHIgbGFzdDpyb3VuZGVkLWJyIGxhc3Q6Ym9yZGVyLTBcIixiJiZcImJnLWJ1dHRvbi1kaXNhYmxlZFwiKSxvbkNsaWNrOmZ1bmN0aW9uKCl7aCYmaChyKX0sZGlzYWJsZWQ6dn0sYyksbCgpLmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLHt0eXBlOlwiaGlkZGVuXCIsdmFsdWU6cixuYW1lOmQsY2hlY2tlZDpiLG9uQ2hhbmdlOmh9KSxuKSl9LEtvPU9iamVjdC5hc3NpZ24oWW8se0dyb3VwOlVvLEJ1dHRvbjpZb30pO2NvbnN0IHFvPWtlKFwiWFwiLFtbXCJwYXRoXCIse2Q6XCJNMTggNiA2IDE4XCIsa2V5OlwiMWJsNWY4XCJ9XSxbXCJwYXRoXCIse2Q6XCJtNiA2IDEyIDEyXCIsa2V5OlwiZDhiazZ2XCJ9XV0pO3ZhciBHbz1mdW5jdGlvbihlLHQpe3ZhciBuPWUubGFiZWwscj12b2lkIDA9PT1uP1wiXCI6bixvPWUuc2l6ZSxpPXZvaWQgMD09PW8/XCJzbVwiOm8scz1lLmNsYXNzTmFtZSxhPXZvaWQgMD09PXM/XCJcIjpzLGw9ZS50eXBlLGM9dm9pZCAwPT09bD9cInBpbGxcIjpsLHU9ZS52YXJpYW50LGQ9dm9pZCAwPT09dT9cIm5ldXRyYWxcIjp1LGY9ZS5pY29uLG09dm9pZCAwPT09Zj9udWxsOmYsaD1lLmRpc2FibGVkLHA9dm9pZCAwIT09aCYmaCxnPWUub25DbG9zZSx5PXZvaWQgMD09PWc/ZnVuY3Rpb24oKXt9Omcsdj1lLmNsb3NhYmxlLGI9dm9pZCAwIT09diYmdix4PWUub25Nb3VzZURvd24sdz12b2lkIDA9PT14P2Z1bmN0aW9uKCl7fTp4LFM9e25ldXRyYWw6XCJiZy1iYWRnZS1iYWNrZ3JvdW5kLWdyYXkgaG92ZXI6YmctYmFkZ2UtaG92ZXItZ3JheSB0ZXh0LWJhZGdlLWNvbG9yLWdyYXkgYm9yZGVyLWJhZGdlLWJvcmRlci1ncmF5XCIscmVkOlwiYmctYmFkZ2UtYmFja2dyb3VuZC1yZWQgaG92ZXI6YmctYmFkZ2UtaG92ZXItcmVkIHRleHQtYmFkZ2UtY29sb3ItcmVkIGJvcmRlci1iYWRnZS1ib3JkZXItcmVkXCIseWVsbG93OlwiYmctYmFkZ2UtYmFja2dyb3VuZC15ZWxsb3cgaG92ZXI6YmctYmFkZ2UtaG92ZXIteWVsbG93IHRleHQtYmFkZ2UtY29sb3IteWVsbG93IGJvcmRlci1iYWRnZS1ib3JkZXIteWVsbG93XCIsZ3JlZW46XCJiZy1iYWRnZS1iYWNrZ3JvdW5kLWdyZWVuIGhvdmVyOmJnLWJhZGdlLWhvdmVyLWdyZWVuIHRleHQtYmFkZ2UtY29sb3ItZ3JlZW4gYm9yZGVyLWJhZGdlLWJvcmRlci1ncmVlblwiLGJsdWU6XCJiZy1iYWRnZS1iYWNrZ3JvdW5kLXNreSBob3ZlcjpiZy1iYWRnZS1ob3Zlci1za3kgdGV4dC1iYWRnZS1jb2xvci1za3kgYm9yZGVyLWJhZGdlLWJvcmRlci1za3lcIixpbnZlcnNlOlwiYmctYmFja2dyb3VuZC1pbnZlcnNlIGhvdmVyOmJnLWJhZGdlLWhvdmVyLWludmVyc2UgdGV4dC10ZXh0LWludmVyc2UgYm9yZGVyLWJhY2tncm91bmQtaW52ZXJzZVwiLGRpc2FibGVkOlwiYmctYmFkZ2UtYmFja2dyb3VuZC1kaXNhYmxlZCBob3ZlcjpiZy1iYWRnZS1ob3Zlci1kaXNhYmxlZCB0ZXh0LWJhZGdlLWNvbG9yLWRpc2FibGVkIGJvcmRlci1iYWRnZS1ib3JkZXItZGlzYWJsZWQgZGlzYWJsZWQgY3Vyc29yLW5vdC1hbGxvd2VkXCJ9LGs9XCJcIixFPVwiZ3JvdXAgcmVsYXRpdmUganVzdGlmeS1jZW50ZXIgZmxleCBpdGVtcy1jZW50ZXIgY3Vyc29yLXBvaW50ZXJcIixDPXt4eHM6XCJbJj5zdmddOnNpemUtM1wiLHhzOlwiWyY+c3ZnXTpzaXplLTNcIixzbTpcIlsmPnN2Z106c2l6ZS0zXCIsbWQ6XCJbJj5zdmddOnNpemUtNFwiLGxnOlwiWyY+c3ZnXTpzaXplLTVcIn07cmV0dXJuIHA/KGs9Uy5kaXNhYmxlZCxFKz1cIiBjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWRcIik6az1TW2RdLHI/UmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIix7Y2xhc3NOYW1lOm9lKFwiZm9udC1tZWRpdW0gYm9yZGVyLWJhZGdlLWJvcmRlci1ncmF5IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlciBib3JkZXItc29saWQgYm94LWJvcmRlclwiLHt4eHM6XCJweS0wLjUgcHgtMC41IHRleHQteHMgaC00XCIseHM6XCJweS0wLjUgcHgtMSB0ZXh0LXhzIGgtNVwiLHNtOlwicHktMSBweC0xLjUgdGV4dC14cyBoLTZcIixtZDpcInB5LTEgcHgtMS41IHRleHQtc20gaC03XCIsbGc6XCJweS0xIHB4LTEuNSB0ZXh0LWJhc2UgaC04XCJ9W2ldLHtwaWxsOlwicm91bmRlZC1mdWxsXCIscm91bmRlZDpcInJvdW5kZWRcIn1bY10sXCJnYXAtMC41XCIsayxhKSxyZWY6dH0sbT9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6b2UoXCJqdXN0aWZ5LWNlbnRlciBmbGV4IGl0ZW1zLWNlbnRlclwiLENbaV0pfSxtKTpudWxsLFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse2NsYXNzTmFtZTpcInB4LTFcIn0sciksYiYmUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIix7Y2xhc3NOYW1lOm9lKEUsQ1tpXSksb25DbGljazpwP251bGw6eSxvbk1vdXNlRG93bjp3LHJvbGU6XCJidXR0b25cIix0YWJJbmRleDowfSxSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6XCJzci1vbmx5XCJ9LFwiUmVtb3ZlIFwiLmNvbmNhdChyKSksUmVhY3QuY3JlYXRlRWxlbWVudChxbyxudWxsKSxSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6XCJhYnNvbHV0ZSAtaW5zZXQtMVwifSkpKTpudWxsfSxYbz0oMCxhLmZvcndhcmRSZWYpKEdvKTtYby5kaXNwbGF5TmFtZT1cIkJhZGdlXCI7dmFyIFpvPVhvLEpvPVtcImlkXCIsXCJkZWZhdWx0VmFsdWVcIixcInZhbHVlXCIsXCJzaXplXCIsXCJjbGFzc05hbWVcIixcImRpc2FibGVkXCIsXCJvbkNoYW5nZVwiLFwiZXJyb3JcIixcIm9uRXJyb3JcIl07ZnVuY3Rpb24gUW8oKXtyZXR1cm4gUW89T2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduLmJpbmQoKTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJihlW3JdPW5bcl0pfXJldHVybiBlfSxRby5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gZWkoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPUFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfXZhciB0aT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbz1lLmlkLGk9ZS5kZWZhdWx0VmFsdWUscz12b2lkIDA9PT1pP1wiXCI6aSxsPWUudmFsdWUsYz1lLnNpemUsdT12b2lkIDA9PT1jP1wic21cIjpjLGQ9ZS5jbGFzc05hbWUsZj12b2lkIDA9PT1kP1wiXCI6ZCxtPWUuZGlzYWJsZWQsaD12b2lkIDAhPT1tJiZtLHA9ZS5vbkNoYW5nZSxnPXZvaWQgMD09PXA/ZnVuY3Rpb24oKXt9OnAseT1lLmVycm9yLHY9dm9pZCAwIT09eSYmeSxiPWUub25FcnJvcix4PXZvaWQgMD09PWI/ZnVuY3Rpb24oKXt9OmIsdz1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG4scixvPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbj17fTtmb3IodmFyIHIgaW4gZSlpZih7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikpe2lmKHQuaW5jbHVkZXMocikpY29udGludWU7bltyXT1lW3JdfXJldHVybiBufShlLHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKyluPWlbcl0sdC5pbmNsdWRlcyhuKXx8e30ucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLG4pJiYob1tuXT1lW25dKX1yZXR1cm4gb30oZSxKbyksUz0oMCxhLnVzZU1lbW8pKChmdW5jdGlvbigpe3JldHVybiBvfHxcImlucHV0LXRleHRhcmVhLVwiLmNvbmNhdChmZSgpKX0pLFtvXSksaz0oMCxhLnVzZU1lbW8pKChmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT1sfSksW2xdKSxFPShuPSgwLGEudXNlU3RhdGUpKHMpLHI9MixmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShuKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlW1wiQEBpdGVyYXRvclwiXTtpZihudWxsIT1uKXt2YXIgcixvLGkscyxhPVtdLGw9ITAsYz0hMTt0cnl7aWYoaT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2w9ITF9ZWxzZSBmb3IoOyEobD0ocj1pLmNhbGwobikpLmRvbmUpJiYoYS5wdXNoKHIudmFsdWUpLGEubGVuZ3RoIT09dCk7bD0hMCk7fWNhdGNoKGUpe2M9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFsJiZudWxsIT1uLnJldHVybiYmKHM9bi5yZXR1cm4oKSxPYmplY3QocykhPT1zKSlyZXR1cm59ZmluYWxseXtpZihjKXRocm93IG99fXJldHVybiBhfX0obixyKXx8ZnVuY3Rpb24oZSx0KXtpZihlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSlyZXR1cm4gZWkoZSx0KTt2YXIgbj17fS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpO3JldHVyblwiT2JqZWN0XCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpLFwiTWFwXCI9PT1ufHxcIlNldFwiPT09bj9BcnJheS5mcm9tKGUpOlwiQXJndW1lbnRzXCI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9laShlLHQpOnZvaWQgMH19KG4scil8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKSksQz1FWzBdLF89RVsxXSxQPSgwLGEudXNlQ2FsbGJhY2spKChmdW5jdGlvbigpe3JldHVybiBrP2w6Q30pLFtrLGwsQ10pLE89aD9cImhvdmVyOmJvcmRlci1ib3JkZXItZGlzYWJsZWRcIjpcImhvdmVyOmJvcmRlci1ib3JkZXItc3Ryb25nXCIsTj12P1wiZm9jdXM6Ym9yZGVyLWZvY3VzLWVycm9yLWJvcmRlciBmb2N1czpyaW5nLWZpZWxkLWNvbG9yLWVycm9yIGJvcmRlci1mb2N1cy1lcnJvci1ib3JkZXJcIjpcIlwiLFQ9aD9cImJvcmRlci1ib3JkZXItZGlzYWJsZWQgYmctZmllbGQtYmFja2dyb3VuZC1kaXNhYmxlZCBjdXJzb3Itbm90LWFsbG93ZWQgdGV4dC10ZXh0LWRpc2FibGVkXCI6XCJcIjtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcInRleHRhcmVhXCIsUW8oe3JlZjp0LGlkOlMsY2xhc3NOYW1lOm9lKFwicHktMiByb3VuZGVkIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWJvcmRlci1zdWJ0bGUgYmctZmllbGQtc2Vjb25kYXJ5LWJhY2tncm91bmQgZm9udC1ub3JtYWwgcGxhY2Vob2xkZXItdGV4dC10ZXJ0aWFyeSB0ZXh0LXRleHQtcHJpbWFyeSBmb2N1czpvdXRsaW5lLW5vbmVcIixULHtzbTpcInB4LTMgcm91bmRlZCB0ZXh0LXhzXCIsbWQ6XCJweC0zIHJvdW5kZWQtbWQgdGV4dC1zbVwiLGxnOlwicHgtNCByb3VuZGVkLWxnIHRleHQtYmFzZVwifVt1XSxcImZvY3VzOmJvcmRlci1mb2N1cy1ib3JkZXIgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctdG9nZ2xlLW9uIGZvY3VzOnJpbmctb2Zmc2V0LTJcIixPLE4sZiksZGlzYWJsZWQ6aCxvbkNoYW5nZTpmdW5jdGlvbihlKXtpZighaCl7dmFyIHQ9ZS50YXJnZXQudmFsdWU7a3x8Xyh0KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBnJiZnKHQpfX0sb25JbnZhbGlkOngsdmFsdWU6UCgpfSx3KSl9LG5pPSgwLGEuZm9yd2FyZFJlZikodGkpO25pLmRpc3BsYXlOYW1lPVwiVGV4dEFyZWFcIjt2YXIgcmk9bmksb2k9ZnVuY3Rpb24oZSl7dmFyIHQsbixyLG8saT1lLnZhcmlhbnQscz12b2lkIDA9PT1pP1wicHJpbWFyeVwiOmksYT1lLnNpemUsbD12b2lkIDA9PT1hP1wibWRcIjphLGM9ZS5ib3JkZXIsdT12b2lkIDA9PT1jP1wic3VidGxlXCI6YyxkPWUudXJsLGY9dm9pZCAwPT09ZD9cIlwiOmQsbT1lLmNoaWxkcmVuLGg9ZS5jbGFzc05hbWUscD1udWxsPT09KHQ9e3doaXRlOlwidGV4dC10ZXh0LXByaW1hcnkgYmctYmFja2dyb3VuZC1wcmltYXJ5XCIsZ3JheTpcInRleHQtdGV4dC1wcmltYXJ5IGJnLWJhY2tncm91bmQtc2Vjb25kYXJ5XCIscHJpbWFyeTpcInRleHQtdGV4dC1vbi1jb2xvciBiZy1iYWNrZ3JvdW5kLWJyYW5kXCIscHJpbWFyeUxpZ2h0OlwidGV4dC10ZXh0LXByaW1hcnkgYmctYnJhbmQtYmFja2dyb3VuZC01MFwiLGRhcms6XCJ0ZXh0LXRleHQtb24tY29sb3IgYmctYnV0dG9uLXNlY29uZGFyeVwifSl8fHZvaWQgMD09PXQ/dm9pZCAwOnRbc10sZz1udWxsPT09KG49e3h4czpcInNpemUtNSBbJj5zdmddOnNpemUtMyB0ZXh0LXhzXCIseHM6XCJzaXplLTYgWyY+c3ZnXTpzaXplLTQgdGV4dC1zbVwiLHNtOlwic2l6ZS04IFsmPnN2Z106c2l6ZS01IHRleHQtYmFzZVwiLG1kOlwic2l6ZS0xMCBbJj5zdmddOnNpemUtNiB0ZXh0LWxnXCIsbGc6XCJzaXplLTEyIFsmPnN2Z106c2l6ZS0xMiB0ZXh0LWxnXCJ9KXx8dm9pZCAwPT09bj92b2lkIDA6bltsXSx5PW51bGw9PT0ocj17bm9uZTpcIlwiLHN1YnRsZTpcInJpbmctMSByaW5nLWJvcmRlci10cmFuc3BhcmVudC1zdWJ0bGVcIixyaW5nOlwicmluZyByaW5nLWJvcmRlci1zdWJ0bGVcIn0pfHx2b2lkIDA9PT1yP3ZvaWQgMDpyW2YmJlwibm9uZVwiPT09dT9cInN1YnRsZVwiOnVdLHY9Zj9cImJnLWNvdmVyIGJnLWNlbnRlclwiOlwiXCI7cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOm9lKFwicm91bmRlZC1mdWxsIG92ZXJmbG93LWhpZGRlbiBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiLCFmJiZwLGcseSx2LGgpLHN0eWxlOmY/e2JhY2tncm91bmRJbWFnZTpcInVybChcIi5jb25jYXQoZixcIilcIil9Ont9fSxtP1wic3RyaW5nXCI9PXR5cGVvZiBtP251bGw9PW18fG51bGw9PT0obz1tWzBdKXx8dm9pZCAwPT09bz92b2lkIDA6by50b1VwcGVyQ2FzZSgpOm06bnVsbCl9O2NvbnN0IGlpPWtlKFwiVXBsb2FkXCIsW1tcInBhdGhcIix7ZDpcIk0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00XCIsa2V5OlwiaWg3bjNoXCJ9XSxbXCJwb2x5bGluZVwiLHtwb2ludHM6XCIxNyA4IDEyIDMgNyA4XCIsa2V5OlwidDhkZDhwXCJ9XSxbXCJsaW5lXCIse3gxOlwiMTJcIix4MjpcIjEyXCIseTE6XCIzXCIseTI6XCIxNVwiLGtleTpcIndpZGJ0b1wifV1dKTt2YXIgc2k9W1wiaWRcIixcInR5cGVcIixcImRlZmF1bHRWYWx1ZVwiLFwidmFsdWVcIixcInNpemVcIixcImNsYXNzTmFtZVwiLFwiZGlzYWJsZWRcIixcIm9uQ2hhbmdlXCIsXCJlcnJvclwiLFwib25FcnJvclwiLFwicHJlZml4XCIsXCJzdWZmaXhcIixcImxhYmVsXCJdO2Z1bmN0aW9uIGFpKCl7cmV0dXJuIGFpPU9iamVjdC5hc3NpZ24/T2JqZWN0LmFzc2lnbi5iaW5kKCk6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKSh7fSkuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiYoZVtyXT1uW3JdKX1yZXR1cm4gZX0sYWkuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIGxpKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDpcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbXCJAQGl0ZXJhdG9yXCJdO2lmKG51bGwhPW4pe3ZhciByLG8saSxzLGE9W10sbD0hMCxjPSExO3RyeXtpZihpPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47bD0hMX1lbHNlIGZvcig7IShsPShyPWkuY2FsbChuKSkuZG9uZSkmJihhLnB1c2goci52YWx1ZSksYS5sZW5ndGghPT10KTtsPSEwKTt9Y2F0Y2goZSl7Yz0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWwmJm51bGwhPW4ucmV0dXJuJiYocz1uLnJldHVybigpLE9iamVjdChzKSE9PXMpKXJldHVybn1maW5hbGx5e2lmKGMpdGhyb3cgb319cmV0dXJuIGF9fShlLHQpfHxmdW5jdGlvbihlLHQpe2lmKGUpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXJldHVybiBjaShlLHQpO3ZhciBuPXt9LnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7cmV0dXJuXCJPYmplY3RcIj09PW4mJmUuY29uc3RydWN0b3ImJihuPWUuY29uc3RydWN0b3IubmFtZSksXCJNYXBcIj09PW58fFwiU2V0XCI9PT1uP0FycmF5LmZyb20oZSk6XCJBcmd1bWVudHNcIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP2NpKGUsdCk6dm9pZCAwfX0oZSx0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpfSgpfWZ1bmN0aW9uIGNpKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1BcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgdWk9ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmlkLHI9ZS50eXBlLG89dm9pZCAwPT09cj9cInRleHRcIjpyLGk9ZS5kZWZhdWx0VmFsdWUscz12b2lkIDA9PT1pP1wiXCI6aSxsPWUudmFsdWUsYz1lLnNpemUsdT12b2lkIDA9PT1jP1wic21cIjpjLGQ9ZS5jbGFzc05hbWUsZj12b2lkIDA9PT1kP1wiXCI6ZCxtPWUuZGlzYWJsZWQsaD12b2lkIDAhPT1tJiZtLHA9ZS5vbkNoYW5nZSxnPXZvaWQgMD09PXA/ZnVuY3Rpb24oKXt9OnAseT1lLmVycm9yLHY9dm9pZCAwIT09eSYmeSxiPWUub25FcnJvcix4PXZvaWQgMD09PWI/ZnVuY3Rpb24oKXt9OmIsdz1lLnByZWZpeCxTPXZvaWQgMD09PXc/bnVsbDp3LGs9ZS5zdWZmaXgsRT12b2lkIDA9PT1rP251bGw6ayxDPWUubGFiZWwsXz12b2lkIDA9PT1DP1wiXCI6QyxQPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbixyLG89ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPXt9O2Zvcih2YXIgciBpbiBlKWlmKHt9Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSl7aWYodC5pbmNsdWRlcyhyKSljb250aW51ZTtuW3JdPWVbcl19cmV0dXJuIG59KGUsdCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKW49aVtyXSx0LmluY2x1ZGVzKG4pfHx7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsbikmJihvW25dPWVbbl0pfXJldHVybiBvfShlLHNpKSxPPSgwLGEudXNlUmVmKShudWxsKSxOPSgwLGEudXNlTWVtbykoKGZ1bmN0aW9uKCl7cmV0dXJuIG58fFwiaW5wdXQtXCIuY29uY2F0KG8sXCItXCIpLmNvbmNhdChmZSgpKX0pLFtuXSksVD0oMCxhLnVzZU1lbW8pKChmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT1sfSksW2xdKSxNPWxpKCgwLGEudXNlU3RhdGUpKHMpLDIpLFI9TVswXSxEPU1bMV0saj1saSgoMCxhLnVzZVN0YXRlKShudWxsKSwyKSxBPWpbMF0sST1qWzFdLEw9KDAsYS51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKCl7cmV0dXJuIFQ/bDpSfSksW1QsbCxSXSksRj1mdW5jdGlvbihlKXt2YXIgdDtofHwoXCJmaWxlXCI9PT1vPyh0PWUudGFyZ2V0LmZpbGVzKS5sZW5ndGg+MD9JKHRbMF0ubmFtZSk6SShudWxsKTp0PWUudGFyZ2V0LnZhbHVlLFR8fFwiZmlsZVwiPT09b3x8RCh0KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBnJiZnKHQpKX0sej1mdW5jdGlvbigpe0kobnVsbCksTy5jdXJyZW50JiYoTy5jdXJyZW50LnZhbHVlPW51bGwpLGcobnVsbCl9LEI9XCJiZy1maWVsZC1zZWNvbmRhcnktYmFja2dyb3VuZCBmb250LW5vcm1hbCBwbGFjZWhvbGRlci10ZXh0LXRlcnRpYXJ5IHRleHQtdGV4dC1wcmltYXJ5IHctZnVsbCBvdXRsaW5lIG91dGxpbmUtMSBvdXRsaW5lLWJvcmRlci1zdWJ0bGUgYm9yZGVyLW5vbmVcIixXPXt4czpcInB4LTIgcHktMSByb3VuZGVkXCIsc206XCJwLTMgcHktMiByb3VuZGVkXCIsbWQ6XCJwLTMuNSBweS0yLjUgcm91bmRlZC1tZFwiLGxnOlwicC00IHB5LTMgcm91bmRlZC1sZ1wifSxWPXt4czpcInRleHQteHMgZm9udC1tZWRpdW1cIixzbTpcInRleHQtc20gZm9udC1tZWRpdW1cIixtZDpcInRleHQtc20gZm9udC1tZWRpdW1cIixsZzpcInRleHQtYmFzZSBmb250LW1lZGl1bVwifSxVPXt4czpcInRleHQteHNcIixzbTpcInRleHQteHNcIixtZDpcInRleHQtc21cIixsZzpcInRleHQtYmFzZVwifSwkPXtzbTpTP1wicGwtOFwiOlwiXCIsbWQ6Uz9cInBsLTlcIjpcIlwiLGxnOlM/XCJwbC0xMFwiOlwiXCJ9LFk9e3NtOkU/XCJwci04XCI6XCJcIixtZDpFP1wicHItOVwiOlwiXCIsbGc6RT9cInByLTEwXCI6XCJcIn0sSD1oP1wiaG92ZXI6b3V0bGluZS1ib3JkZXItZGlzYWJsZWRcIjpcImhvdmVyOm91dGxpbmUtYm9yZGVyLXN0cm9uZ1wiLEs9XCJmb2N1czpvdXRsaW5lLWZvY3VzLWJvcmRlciBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy10b2dnbGUtb24gZm9jdXM6cmluZy1vZmZzZXQtMlwiLHE9dj9cImZvY3VzOm91dGxpbmUtZm9jdXMtZXJyb3ItYm9yZGVyIGZvY3VzOnJpbmctZmllbGQtY29sb3ItZXJyb3Igb3V0bGluZS1mb2N1cy1lcnJvci1ib3JkZXJcIjpcIlwiLEc9dj9cImZvY3VzOm91dGxpbmUtZm9jdXMtZXJyb3ItYm9yZGVyIGZvY3VzOnJpbmctZmllbGQtY29sb3ItZXJyb3Igb3V0bGluZS1mb2N1cy1lcnJvci1ib3JkZXJcIjpcIlwiLFg9aD9cIm91dGxpbmUtYm9yZGVyLWRpc2FibGVkIGJnLWZpZWxkLWJhY2tncm91bmQtZGlzYWJsZWQgY3Vyc29yLW5vdC1hbGxvd2VkIHRleHQtdGV4dC1kaXNhYmxlZFwiOlwiXCIsWj1oP1wib3V0bGluZS1ib3JkZXItZGlzYWJsZWQgY3Vyc29yLW5vdC1hbGxvd2VkIHRleHQtdGV4dC1kaXNhYmxlZCBmaWxlOnRleHQtdGV4dC10ZXJ0aWFyeVwiOlwiXCIsSj1cImZvbnQtbm9ybWFsIHBsYWNlaG9sZGVyLXRleHQtdGVydGlhcnkgdGV4dC10ZXh0LXByaW1hcnkgcG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSBpbnNldC15LTAgZmxleCBmbGV4LTEgaXRlbXMtY2VudGVyIFsmPnN2Z106aC00IFsmPnN2Z106dy00XCIsUT1oP1wiZm9udC1ub3JtYWwgcGxhY2Vob2xkZXItdGV4dC10ZXJ0aWFyeSB0ZXh0LWljb24tZGlzYWJsZWQgcG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSBpbnNldC15LTAgZmxleCBmbGV4LTEgaXRlbXMtY2VudGVyXCI6XCJmb250LW5vcm1hbCBwbGFjZWhvbGRlci10ZXh0LXRlcnRpYXJ5IHRleHQtZmllbGQtcGxhY2Vob2xkZXIgcG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSBpbnNldC15LTAgZmxleCBmbGV4LTEgaXRlbXMtY2VudGVyXCIsZWU9e3hzOlwiWyY+c3ZnXTpzaXplLTRcIixzbTpcIlsmPnN2Z106c2l6ZS00XCIsbWQ6XCJbJj5zdmddOnNpemUtNVwiLGxnOlwiWyY+c3ZnXTpzaXplLTZcIn0sdGU9QT9cImZpbGU6Ym9yZGVyLTAgZmlsZTpiZy10cmFuc3BhcmVudCBwci0xMFwiOlwidGV4dC10ZXh0LXRlcnRpYXJ5IGZpbGU6Ym9yZGVyLTAgZmlsZTpiZy10cmFuc3BhcmVudCBwci0xMFwiO3JldHVyblwiZmlsZVwiPT09bz9SZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcImZsZXggZmxleC1jb2wgaXRlbXMtc3RhcnQgZ2FwLTEuNSBbJl8qXTpib3gtYm9yZGVyIGJveC1ib3JkZXJcIn0sUmVhY3QuY3JlYXRlRWxlbWVudChcImxhYmVsXCIse2NsYXNzTmFtZTpvZShWW3VdLFwidGV4dC1maWVsZC1sYWJlbFwiKSxodG1sRm9yOk59LF8pLFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOm9lKFwidy1mdWxsIHJlbGF0aXZlIGZsZXggZm9jdXMtd2l0aGluOnotMTBcIixmKX0sUmVhY3QuY3JlYXRlRWxlbWVudChcImlucHV0XCIsYWkoe3JlZjp0LGlkOk4sdHlwZTpcImZpbGVcIixjbGFzc05hbWU6b2UoQixaLFdbdV0sVVt1XSxLLEgsRyx0ZSksZGlzYWJsZWQ6aCxvbkNoYW5nZTpGLG9uSW52YWxpZDp4fSxQKSksUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoUSxcInJpZ2h0LTAgcHItM1wiLGVlW3VdKX0sUmVhY3QuY3JlYXRlRWxlbWVudChpaSxudWxsKSkpKTpSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcImZsZXggZmxleC1jb2wgaXRlbXMtc3RhcnQgZ2FwLTEuNSBbJl8qXTpib3gtYm9yZGVyIGJveC1ib3JkZXJcIn0sUmVhY3QuY3JlYXRlRWxlbWVudChcImxhYmVsXCIse2NsYXNzTmFtZTpvZShWW3VdLFwidGV4dC1maWVsZC1sYWJlbFwiKSxodG1sRm9yOk59LF8pLFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOm9lKFwidy1mdWxsIHJlbGF0aXZlIGZsZXggZm9jdXMtd2l0aGluOnotMTBcIixmKX0sUz9SZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShKLFwibGVmdC0wIHBsLTNcIixVW3VdKX0sUyk6bnVsbCxSZWFjdC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIixhaSh7cmVmOk8saWQ6Tix0eXBlOm8sY2xhc3NOYW1lOm9lKEIsWCxXW3VdLFVbdV0sJFt1XSxZW3VdLEssSCxxKSxkaXNhYmxlZDpoLG9uQ2hhbmdlOkYsb25JbnZhbGlkOngsdmFsdWU6TCgpfSxQKSksXCJmaWxlXCI9PT1vP0E/UmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoUSxcInJpZ2h0LTAgcHItMyBjdXJzb3ItcG9pbnRlciB6LTIwIHBvaW50ZXItZXZlbnRzLWF1dG9cIixlZVt1XSksb25DbGljazp6LHJvbGU6XCJidXR0b25cIix0YWJJbmRleDowLG9uS2V5RG93bjpmdW5jdGlvbihlKXtcIkVudGVyXCIhPT1lLmtleSYmXCIgXCIhPT1lLmtleXx8eigpfX0sUmVhY3QuY3JlYXRlRWxlbWVudChxbyxudWxsKSk6UmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoUSxcInJpZ2h0LTAgcHItM1wiLGVlW3VdKX0sUmVhY3QuY3JlYXRlRWxlbWVudChpaSxudWxsKSk6RT9SZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShKLFwicmlnaHQtMCBwci0zXCIsVVt1XSl9LEUpOm51bGwpKX0sZGk9KDAsYS5mb3J3YXJkUmVmKSh1aSk7ZGkuZGlzcGxheU5hbWU9XCJJbnB1dFwiO3ZhciBmaT1kaSxtaT1bXCJjaGlsZHJlblwiLFwidGFnXCIsXCJzaXplXCIsXCJjbGFzc05hbWVcIixcInZhcmlhbnRcIixcInJlcXVpcmVkXCJdO2Z1bmN0aW9uIGhpKCl7cmV0dXJuIGhpPU9iamVjdC5hc3NpZ24/T2JqZWN0LmFzc2lnbi5iaW5kKCk6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKSh7fSkuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiYoZVtyXT1uW3JdKX1yZXR1cm4gZX0saGkuYXBwbHkobnVsbCxhcmd1bWVudHMpfXZhciBwaT0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe3ZhciBuPWUuY2hpbGRyZW4scj12b2lkIDA9PT1uP251bGw6bixvPWUudGFnLGk9dm9pZCAwPT09bz9cImxhYmVsXCI6byxzPWUuc2l6ZSxhPXZvaWQgMD09PXM/XCJzbVwiOnMsYz1lLmNsYXNzTmFtZSx1PXZvaWQgMD09PWM/XCJcIjpjLGQ9ZS52YXJpYW50LGY9dm9pZCAwPT09ZD9cIm5ldXRyYWxcIjpkLG09ZS5yZXF1aXJlZCxoPXZvaWQgMCE9PW0mJm0scD1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG4scixvPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbj17fTtmb3IodmFyIHIgaW4gZSlpZih7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikpe2lmKHQuaW5jbHVkZXMocikpY29udGludWU7bltyXT1lW3JdfXJldHVybiBufShlLHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKyluPWlbcl0sdC5pbmNsdWRlcyhuKXx8e30ucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLG4pJiYob1tuXT1lW25dKX1yZXR1cm4gb30oZSxtaSk7aWYoIXIpcmV0dXJuIG51bGw7dmFyIGc9XCJcIjtoJiYoZz1cImFmdGVyOmNvbnRlbnQtWycqJ10gYWZ0ZXI6dGV4dC1maWVsZC1yZXF1aXJlZCBhZnRlcjptbC0wLjVcIik7dmFyIHk9aTtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoeSxoaSh7cmVmOnQsY2xhc3NOYW1lOm9lKFwiZm9udC1tZWRpdW0gdGV4dC1maWVsZC1sYWJlbCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMC41XCIse3hzOlwidGV4dC14cyBbJj4qXTp0ZXh0LXhzIFsmPnN2Z106aC0zIFsmPnN2Z106dy0zXCIsc206XCJ0ZXh0LXNtIFsmPipdOnRleHQtc20gWyY+c3ZnXTpoLTQgWyY+c3ZnXTp3LTRcIixtZDpcInRleHQtYmFzZSBbJj4qXTp0ZXh0LWJhc2UgWyY+c3ZnXTpoLTUgWyY+c3ZnXTp3LTVcIn1bYV0se25ldXRyYWw6XCJ0ZXh0LWZpZWxkLWxhYmVsIFsmPipdOnRleHQtZmllbGQtbGFiZWxcIixoZWxwOlwidGV4dC1maWVsZC1oZWxwZXIgWyY+Kl06dGV4dC1maWVsZC1oZWxwZXJcIixlcnJvcjpcInRleHQtc3VwcG9ydC1lcnJvciBbJj4qXTp0ZXh0LXN1cHBvcnQtZXJyb3JcIixkaXNhYmxlZDpcInRleHQtZmllbGQtY29sb3ItZGlzYWJsZWQgZGlzYWJsZWQgY3Vyc29yLW5vdC1hbGxvd2VkIFsmPipdOnRleHQtZmllbGQtY29sb3ItZGlzYWJsZWRcIn1bZl0sZyx1KX0scCkscil9KSksZ2k9cGkseWk9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50aXRsZSxuPXZvaWQgMD09PXQ/bnVsbDp0LHI9ZS5kZXNjcmlwdGlvbixvPXZvaWQgMD09PXI/bnVsbDpyLGk9ZS5pY29uLHM9dm9pZCAwPT09aT9udWxsOmksYT1lLmljb25Qb3NpdGlvbixsPXZvaWQgMD09PWE/XCJyaWdodFwiOmEsYz1lLnRhZyx1PXZvaWQgMD09PWM/XCJoMlwiOmMsZD1lLnNpemUsZj12b2lkIDA9PT1kP1wic21cIjpkLG09ZS5jbGFzc05hbWUsaD12b2lkIDA9PT1tP1wiXCI6bSxwPXt4czpcImdhcC0xIFsmPnN2Z106c2l6ZS0zLjVcIixzbTpcImdhcC0xIFsmPnN2Z106c2l6ZS00XCIsbWQ6XCJnYXAtMS41IFsmPnN2Z106c2l6ZS01XCIsbGc6XCJnYXAtMS41IFsmPnN2Z106c2l6ZS01XCJ9O2lmKCFuKXJldHVybiBudWxsO3ZhciBnPWZ1bmN0aW9uKCl7dmFyIGU9dTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChlLHtjbGFzc05hbWU6b2UoXCJmb250LXNlbWlib2xkIHAtMCBtLTBcIix7eHM6XCJ0ZXh0LWJhc2UgWyY+Kl06dGV4dC1iYXNlIGdhcC0xXCIsc206XCJ0ZXh0LWxnIFsmPipdOnRleHQtbGcgZ2FwLTFcIixtZDpcInRleHQteGwgWyY+Kl06dGV4dC14bCBnYXAtMS41XCIsbGc6XCJ0ZXh0LTJ4bCBbJj4qXTp0ZXh0LTJ4bCBnYXAtMS41XCJ9W2ZdKX0sbil9O3JldHVybiBvP1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOmh9LFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIixudWxsLHMmJlwibGVmdFwiPT09bCYmUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJmbGV4IGl0ZW1zLWNlbnRlclwiLHBbZl0pfSxzLGcoKSkscyYmXCJyaWdodFwiPT09bCYmUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJmbGV4IGl0ZW1zLWNlbnRlclwiLHBbZl0pfSxnKCkscyksIXMmJmcoKSksUmVhY3QuY3JlYXRlRWxlbWVudChcInBcIix7Y2xhc3NOYW1lOm9lKFwidGV4dC10ZXh0LXNlY29uZGFyeSBmb250LW5vcm1hbCBteS0wXCIse3hzOlwidGV4dC1zbVwiLHNtOlwidGV4dC1zbVwiLG1kOlwidGV4dC1iYXNlXCIsbGc6XCJ0ZXh0LWJhc2VcIn1bZl0pfSxvKSk6UmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6aH0scyYmXCJsZWZ0XCI9PT1sJiZSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcImZsZXggaXRlbXMtY2VudGVyXCIscFtmXSl9LHMsZygpKSxzJiZcInJpZ2h0XCI9PT1sJiZSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcImZsZXggaXRlbXMtY2VudGVyXCIscFtmXSl9LGcoKSxzKSwhcyYmZygpKX07Y29uc3Qgdmk9a2UoXCJMb2FkZXJDaXJjbGVcIixbW1wicGF0aFwiLHtkOlwiTTIxIDEyYTkgOSAwIDEgMS02LjIxOS04LjU2XCIsa2V5OlwiMTN6YWxkXCJ9XV0pO3ZhciBiaT1mdW5jdGlvbihlKXt2YXIgdCxuLHI9ZS52YXJpYW50LG89dm9pZCAwPT09cj9cInByaW1hcnlcIjpyLGk9ZS5zaXplLHM9dm9pZCAwPT09aT9cIm1kXCI6aSxhPWUuaWNvbixsPXZvaWQgMD09PWE/bnVsbDphLGM9ZS5jbGFzc05hbWUsdT12b2lkIDA9PT1jP1wiXCI6YyxkPW51bGw9PT0odD17cHJpbWFyeTpcInRleHQtYnJhbmQtcHJpbWFyeS02MDAgYmctYmFja2dyb3VuZC1wcmltYXJ5XCIsc2Vjb25kYXJ5OlwidGV4dC1iYWNrZ3JvdW5kLXByaW1hcnkgYmctYnJhbmQtcHJpbWFyeS02MDBcIn0pfHx2b2lkIDA9PT10P3ZvaWQgMDp0W29dLGY9bnVsbD09PShuPXtzbTpcIlsmPnN2Z106aC00IFsmPnN2Z106dy00XCIsbWQ6XCJbJj5zdmddOmgtNSBbJj5zdmddOnctNVwiLGxnOlwiWyY+c3ZnXTpoLTYgWyY+c3ZnXTp3LTZcIix4bDpcIlsmPnN2Z106aC04IFsmPnN2Z106dy04XCJ9KXx8dm9pZCAwPT09bj92b2lkIDA6bltzXTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIix7Y2xhc3NOYW1lOm9lKFwiZmxleFwiLGYsZCx1KX0sbHx8UmVhY3QuY3JlYXRlRWxlbWVudCh2aSx7Y2xhc3NOYW1lOlwiYW5pbWF0ZS1zcGluXCJ9KSl9LHhpPWZ1bmN0aW9uKGUpe3ZhciB0PWUucHJvZ3Jlc3Msbj12b2lkIDA9PT10PzA6dCxyPWUuc3BlZWQsbz12b2lkIDA9PT1yPzIwMDpyLGk9ZS5jbGFzc05hbWUscz12b2lkIDA9PT1pP1wiXCI6aTtpZighbilyZXR1cm4gbnVsbDt2YXIgYT1uO248MCYmKGE9MCksbj4xMDAmJihhPTEwMCk7dmFyIGw9XCJ0cmFuc2xhdGVYKC1cIi5jb25jYXQoMTAwLWEsXCIlKVwiKSxjPVwiaC0yIHJvdW5kZWQtZnVsbCBiZy1iYWNrZ3JvdW5kLWJyYW5kIGFic29sdXRlIGxlZnQtMCB0b3AtMCB3LWZ1bGwgYm90dG9tLTAgb3JpZ2luLWxlZnQgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tXCIuY29uY2F0KG8sXCIgZWFzZS1saW5lYXJcIik7cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOm9lKFwiaC0yIHJvdW5kZWQtZnVsbCBiZy1taXNjLXByb2dyZXNzLWJhY2tncm91bmQgb3ZlcmZsb3ctaGlkZGVuIHJlbGF0aXZlXCIscykscm9sZTpcInByb2dyZXNzYmFyXCIsXCJhcmlhLXZhbHVlbm93XCI6YSxcImFyaWEtdmFsdWVtaW5cIjpcIjBcIixcImFyaWEtdmFsdWVtYXhcIjpcIjEwMFwifSxSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpjLHN0eWxlOnt0cmFuc2Zvcm06bH19KSl9LHdpPVtcInNsdWdcIixcInRleHRcIixcImljb25cIixcImNsYXNzTmFtZVwiLFwiZGlzYWJsZWRcIixcImlzRmlyc3RDaGlsZFwiLFwiaXNMYXN0Q2hpbGRcIl07ZnVuY3Rpb24gU2koKXtyZXR1cm4gU2k9T2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduLmJpbmQoKTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJihlW3JdPW5bcl0pfXJldHVybiBlfSxTaS5hcHBseShudWxsLGFyZ3VtZW50cyl9dmFyIGtpPSgwLGEuY3JlYXRlQ29udGV4dCkoKSxFaT1mdW5jdGlvbihlLHQpe3ZhciBuPSgwLGEudXNlQ29udGV4dCkoa2kpLHI9ZS5zbHVnLG89ZS50ZXh0LGk9ZS5pY29uLHM9ZS5jbGFzc05hbWUsYz1lLmRpc2FibGVkLHU9dm9pZCAwIT09YyYmYyxkPWUuaXNGaXJzdENoaWxkLGY9ZS5pc0xhc3RDaGlsZCxtPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbixyLG89ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPXt9O2Zvcih2YXIgciBpbiBlKWlmKHt9Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSl7aWYodC5pbmNsdWRlcyhyKSljb250aW51ZTtuW3JdPWVbcl19cmV0dXJuIG59KGUsdCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKW49aVtyXSx0LmluY2x1ZGVzKG4pfHx7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsbikmJihvW25dPWVbbl0pfXJldHVybiBvfShlLHdpKTtpZighbil0aHJvdyBuZXcgRXJyb3IoXCJCdXR0b24gc2hvdWxkIGJlIHVzZWQgaW5zaWRlIEJ1dHRvbiBHcm91cFwiKTt2YXIgaD1uLmFjdGl2ZUl0ZW0scD1uLm9uQ2hhbmdlLGc9bi5zaXplLHk9bi5pY29uUG9zaXRpb24sdj1vZShcImJnLWJhY2tncm91bmQtcHJpbWFyeSB0ZXh0LXByaW1hcnkgY3Vyc29yLXBvaW50ZXIgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIixcImhvdmVyOmJnLWJ1dHRvbi10ZXJ0aWFyeS1ob3ZlclwiLFwiZm9jdXM6b3V0bGluZS1ub25lXCIsdT9cInRleHQtdGV4dC1kaXNhYmxlZCBjdXJzb3Itbm90LWFsbG93ZWRcIjpcIlwiLHt4czpcInB5LTEgcHgtMSB0ZXh0LXNtIGdhcC0wLjUgWyY+c3ZnXTpzaXplLTRcIixzbTpcInB5LTIgcHgtMiB0ZXh0LWJhc2UgZ2FwLTEgWyY+c3ZnXTpzaXplLTRcIixtZDpcInB5LTIuNSBweC0yLjUgdGV4dC1iYXNlIGdhcC0xIFsmPnN2Z106c2l6ZS01XCJ9W2ddLFwiYm9yZGVyLTAgYm9yZGVyLXIgYm9yZGVyLWJvcmRlci1zdWJ0bGUgYm9yZGVyLXNvbGlkXCIsaD09PXI/XCJiZy1idXR0b24tZGlzYWJsZWRcIjpcIlwiLGQ/XCJyb3VuZGVkLXRsIHJvdW5kZWQtYmwgYm9yZGVyLTAgYm9yZGVyLXIgYm9yZGVyLWJvcmRlci1zdWJ0bGVcIjpcIlwiLGY/XCJyb3VuZGVkLXRyIHJvdW5kZWQtYnIgYm9yZGVyLTBcIjpcIlwiLHMpO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLFNpKHtyZWY6dCxjbGFzc05hbWU6dixkaXNhYmxlZDp1LG9uQ2xpY2s6ZnVuY3Rpb24oZSl7cChlLHtzbHVnOnIsdGV4dDpvfSl9fSxtKSxcImxlZnRcIj09PXkmJmkmJmwoKS5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6XCJtci0xXCJ9LGkpLG8sXCJyaWdodFwiPT09eSYmaSYmbCgpLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse2NsYXNzTmFtZTpcIm1sLTFcIn0saSkpfSxDaT0oMCxhLmZvcndhcmRSZWYpKEVpKTtDaS5kaXNwbGF5TmFtZT1cIkJ1dHRvblwiO3ZhciBfaT17R3JvdXA6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGlsZHJlbixuPWUuYWN0aXZlSXRlbSxyPXZvaWQgMD09PW4/bnVsbDpuLG89ZS5vbkNoYW5nZSxpPWUuY2xhc3NOYW1lLHM9ZS5zaXplLGM9dm9pZCAwPT09cz9cIm1kXCI6cyx1PWUuaWNvblBvc2l0aW9uLGQ9dm9pZCAwPT09dT9cImxlZnRcIjp1LGY9KDAsYS51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKGUsdCl7byYmbyh7ZXZlbnQ6ZSx2YWx1ZTp0fSl9KSxbb10pLG09b2UoXCJib3gtYm9yZGVyIGZsZXggYm9yZGVyIGJvcmRlci1ib3JkZXItc3VidGxlIGJvcmRlci1zb2xpZCByb3VuZGVkXCIsaSk7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTptfSxsKCkuY3JlYXRlRWxlbWVudChraS5Qcm92aWRlcix7dmFsdWU6e2FjdGl2ZUl0ZW06cixvbkNoYW5nZTpmLHNpemU6YyxpY29uUG9zaXRpb246ZH19LGwoKS5DaGlsZHJlbi5tYXAodCwoZnVuY3Rpb24oZSxuKXtpZighKDAsYS5pc1ZhbGlkRWxlbWVudCkoZSkpcmV0dXJuIG51bGw7dmFyIHI9MD09PW4sbz1uPT09bCgpLkNoaWxkcmVuLmNvdW50KHQpLTE7cmV0dXJuIGwoKS5jbG9uZUVsZW1lbnQoZSx7aW5kZXg6bixpc0ZpcnN0Q2hpbGQ6cixpc0xhc3RDaGlsZDpvfSl9KSkpKX0sQnV0dG9uOkNpfSxQaT1faTtmdW5jdGlvbiBPaShlKXtpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgUHJveHkpcmV0dXJuIGU7Y29uc3QgdD1uZXcgTWFwO3JldHVybiBuZXcgUHJveHkoZSx7Z2V0OihuLHIpPT4odC5oYXMocil8fHQuc2V0KHIsZShyKSksdC5nZXQocikpfSl9ZnVuY3Rpb24gTmkoZSl7cmV0dXJuIG51bGwhPT1lJiZcIm9iamVjdFwiPT10eXBlb2YgZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgZS5zdGFydH1jb25zdCBUaT1lPT5BcnJheS5pc0FycmF5KGUpO2Z1bmN0aW9uIE1pKGUsdCl7aWYoIUFycmF5LmlzQXJyYXkodCkpcmV0dXJuITE7Y29uc3Qgbj10Lmxlbmd0aDtpZihuIT09ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCByPTA7cjxuO3IrKylpZih0W3JdIT09ZVtyXSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBSaShlKXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgZXx8QXJyYXkuaXNBcnJheShlKX1mdW5jdGlvbiBEaShlKXtjb25zdCB0PVt7fSx7fV07cmV0dXJuIG51bGw9PWV8fGUudmFsdWVzLmZvckVhY2goKChlLG4pPT57dFswXVtuXT1lLmdldCgpLHRbMV1bbl09ZS5nZXRWZWxvY2l0eSgpfSkpLHR9ZnVuY3Rpb24gamkoZSx0LG4scil7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgdCl7Y29uc3RbbyxpXT1EaShyKTt0PXQodm9pZCAwIT09bj9uOmUuY3VzdG9tLG8saSl9aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQmJih0PWUudmFyaWFudHMmJmUudmFyaWFudHNbdF0pLFwiZnVuY3Rpb25cIj09dHlwZW9mIHQpe2NvbnN0W28saV09RGkocik7dD10KHZvaWQgMCE9PW4/bjplLmN1c3RvbSxvLGkpfXJldHVybiB0fWZ1bmN0aW9uIEFpKGUsdCxuKXtjb25zdCByPWUuZ2V0UHJvcHMoKTtyZXR1cm4gamkocix0LHZvaWQgMCE9PW4/bjpyLmN1c3RvbSxlKX1jb25zdCBJaT1bXCJhbmltYXRlXCIsXCJ3aGlsZUluVmlld1wiLFwid2hpbGVGb2N1c1wiLFwid2hpbGVIb3ZlclwiLFwid2hpbGVUYXBcIixcIndoaWxlRHJhZ1wiLFwiZXhpdFwiXSxMaT1bXCJpbml0aWFsXCIsLi4uSWldLEZpPVtcInRyYW5zZm9ybVBlcnNwZWN0aXZlXCIsXCJ4XCIsXCJ5XCIsXCJ6XCIsXCJ0cmFuc2xhdGVYXCIsXCJ0cmFuc2xhdGVZXCIsXCJ0cmFuc2xhdGVaXCIsXCJzY2FsZVwiLFwic2NhbGVYXCIsXCJzY2FsZVlcIixcInJvdGF0ZVwiLFwicm90YXRlWFwiLFwicm90YXRlWVwiLFwicm90YXRlWlwiLFwic2tld1wiLFwic2tld1hcIixcInNrZXdZXCJdLHppPW5ldyBTZXQoRmkpLEJpPWU9PjFlMyplLFdpPWU9PmUvMWUzLFZpPXt0eXBlOlwic3ByaW5nXCIsc3RpZmZuZXNzOjUwMCxkYW1waW5nOjI1LHJlc3RTcGVlZDoxMH0sVWk9e3R5cGU6XCJrZXlmcmFtZXNcIixkdXJhdGlvbjouOH0sJGk9e3R5cGU6XCJrZXlmcmFtZXNcIixlYXNlOlsuMjUsLjEsLjM1LDFdLGR1cmF0aW9uOi4zfSxZaT0oZSx7a2V5ZnJhbWVzOnR9KT0+dC5sZW5ndGg+Mj9VaTp6aS5oYXMoZSk/ZS5zdGFydHNXaXRoKFwic2NhbGVcIik/e3R5cGU6XCJzcHJpbmdcIixzdGlmZm5lc3M6NTUwLGRhbXBpbmc6MD09PXRbMV0/MipNYXRoLnNxcnQoNTUwKTozMCxyZXN0U3BlZWQ6MTB9OlZpOiRpO2Z1bmN0aW9uIEhpKGUsdCl7cmV0dXJuIGVbdF18fGUuZGVmYXVsdHx8ZX1jb25zdCBLaT1lPT5udWxsIT09ZTtmdW5jdGlvbiBxaShlLHtyZXBlYXQ6dCxyZXBlYXRUeXBlOm49XCJsb29wXCJ9LHIpe2NvbnN0IG89ZS5maWx0ZXIoS2kpLGk9dCYmXCJsb29wXCIhPT1uJiZ0JTI9PTE/MDpvLmxlbmd0aC0xO3JldHVybiBpJiZ2b2lkIDAhPT1yP3I6b1tpXX1jb25zdCBHaT1lPT5lLFhpPVtcInJlYWRcIixcInJlc29sdmVLZXlmcmFtZXNcIixcInVwZGF0ZVwiLFwicHJlUmVuZGVyXCIsXCJyZW5kZXJcIixcInBvc3RSZW5kZXJcIl07ZnVuY3Rpb24gWmkoZSx0KXtsZXQgbj0hMSxyPSEwO2NvbnN0IG89e2RlbHRhOjAsdGltZXN0YW1wOjAsaXNQcm9jZXNzaW5nOiExfSxpPSgpPT5uPSEwLHM9WGkucmVkdWNlKCgoZSx0KT0+KGVbdF09ZnVuY3Rpb24oZSl7bGV0IHQ9bmV3IFNldCxuPW5ldyBTZXQscj0hMSxvPSExO2NvbnN0IGk9bmV3IFdlYWtTZXQ7bGV0IHM9e2RlbHRhOjAsdGltZXN0YW1wOjAsaXNQcm9jZXNzaW5nOiExfTtmdW5jdGlvbiBhKHQpe2kuaGFzKHQpJiYobC5zY2hlZHVsZSh0KSxlKCkpLHQocyl9Y29uc3QgbD17c2NoZWR1bGU6KGUsbz0hMSxzPSExKT0+e2NvbnN0IGE9cyYmcj90Om47cmV0dXJuIG8mJmkuYWRkKGUpLGEuaGFzKGUpfHxhLmFkZChlKSxlfSxjYW5jZWw6ZT0+e24uZGVsZXRlKGUpLGkuZGVsZXRlKGUpfSxwcm9jZXNzOmU9PntzPWUscj9vPSEwOihyPSEwLFt0LG5dPVtuLHRdLG4uY2xlYXIoKSx0LmZvckVhY2goYSkscj0hMSxvJiYobz0hMSxsLnByb2Nlc3MoZSkpKX19O3JldHVybiBsfShpKSxlKSkse30pLHtyZWFkOmEscmVzb2x2ZUtleWZyYW1lczpsLHVwZGF0ZTpjLHByZVJlbmRlcjp1LHJlbmRlcjpkLHBvc3RSZW5kZXI6Zn09cyxtPSgpPT57Y29uc3QgaT1wZXJmb3JtYW5jZS5ub3coKTtuPSExLG8uZGVsdGE9cj8xZTMvNjA6TWF0aC5tYXgoTWF0aC5taW4oaS1vLnRpbWVzdGFtcCw0MCksMSksby50aW1lc3RhbXA9aSxvLmlzUHJvY2Vzc2luZz0hMCxhLnByb2Nlc3MobyksbC5wcm9jZXNzKG8pLGMucHJvY2VzcyhvKSx1LnByb2Nlc3MobyksZC5wcm9jZXNzKG8pLGYucHJvY2VzcyhvKSxvLmlzUHJvY2Vzc2luZz0hMSxuJiZ0JiYocj0hMSxlKG0pKX07cmV0dXJue3NjaGVkdWxlOlhpLnJlZHVjZSgoKHQsaSk9Pntjb25zdCBhPXNbaV07cmV0dXJuIHRbaV09KHQsaT0hMSxzPSExKT0+KG58fChuPSEwLHI9ITAsby5pc1Byb2Nlc3Npbmd8fGUobSkpLGEuc2NoZWR1bGUodCxpLHMpKSx0fSkse30pLGNhbmNlbDplPT57Zm9yKGxldCB0PTA7dDxYaS5sZW5ndGg7dCsrKXNbWGlbdF1dLmNhbmNlbChlKX0sc3RhdGU6byxzdGVwczpzfX1jb25zdHtzY2hlZHVsZTpKaSxjYW5jZWw6UWksc3RhdGU6ZXMsc3RlcHM6dHN9PVppKFwidW5kZWZpbmVkXCIhPXR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU/cmVxdWVzdEFuaW1hdGlvbkZyYW1lOkdpLCEwKSxucz1lPT4vXjBbXi5cXHNdKyQvdS50ZXN0KGUpO2xldCBycz1HaSxvcz1HaTtjb25zdCBpcz1lPT4vXi0/KD86XFxkKyg/OlxcLlxcZCspP3xcXC5cXGQrKSQvdS50ZXN0KGUpLHNzPWU9PnQ9Plwic3RyaW5nXCI9PXR5cGVvZiB0JiZ0LnN0YXJ0c1dpdGgoZSksYXM9c3MoXCItLVwiKSxscz1zcyhcInZhcigtLVwiKSxjcz1lPT4hIWxzKGUpJiZ1cy50ZXN0KGUuc3BsaXQoXCIvKlwiKVswXS50cmltKCkpLHVzPS92YXJcXCgtLSg/OltcXHctXStcXHMqfFtcXHctXStcXHMqLCg/OlxccypbXikoXFxzXXxcXHMqXFwoKD86W14pKF18XFwoW14pKF0qXFwpKSpcXCkpK1xccyopXFwpJC9pdSxkcz0vXnZhclxcKC0tKD86KFtcXHctXSspfChbXFx3LV0rKSwgPyhbYS16QS1aXFxkICgpJSMuLC1dKykpXFwpL3U7ZnVuY3Rpb24gZnMoZSx0LG49MSl7b3Mobjw9NCxgTWF4IENTUyB2YXJpYWJsZSBmYWxsYmFjayBkZXB0aCBkZXRlY3RlZCBpbiBwcm9wZXJ0eSBcIiR7ZX1cIi4gVGhpcyBtYXkgaW5kaWNhdGUgYSBjaXJjdWxhciBmYWxsYmFjayBkZXBlbmRlbmN5LmApO2NvbnN0W3Isb109ZnVuY3Rpb24oZSl7Y29uc3QgdD1kcy5leGVjKGUpO2lmKCF0KXJldHVyblssXTtjb25zdFssbixyLG9dPXQ7cmV0dXJuW2AtLSR7bnVsbCE9bj9uOnJ9YCxvXX0oZSk7aWYoIXIpcmV0dXJuO2NvbnN0IGk9d2luZG93LmdldENvbXB1dGVkU3R5bGUodCkuZ2V0UHJvcGVydHlWYWx1ZShyKTtpZihpKXtjb25zdCBlPWkudHJpbSgpO3JldHVybiBpcyhlKT9wYXJzZUZsb2F0KGUpOmV9cmV0dXJuIGNzKG8pP2ZzKG8sdCxuKzEpOm99Y29uc3QgbXM9KGUsdCxuKT0+bj50P3Q6bjxlP2U6bixocz17dGVzdDplPT5cIm51bWJlclwiPT10eXBlb2YgZSxwYXJzZTpwYXJzZUZsb2F0LHRyYW5zZm9ybTplPT5lfSxwcz17Li4uaHMsdHJhbnNmb3JtOmU9Pm1zKDAsMSxlKX0sZ3M9ey4uLmhzLGRlZmF1bHQ6MX0seXM9ZT0+TWF0aC5yb3VuZCgxZTUqZSkvMWU1LHZzPS8tPyg/OlxcZCsoPzpcXC5cXGQrKT98XFwuXFxkKykvZ3UsYnM9Lyg/OiNbXFxkYS1mXXszLDh9fCg/OnJnYnxoc2wpYT9cXCgoPzotP1tcXGQuXSslP1ssXFxzXSspezJ9LT9bXFxkLl0rJT9cXHMqKD86WywvXVxccyopPyg/OlxcYlxcZCsoPzpcXC5cXGQrKT98XFwuXFxkKyk/JT9cXCkpL2dpdSx4cz0vXig/OiNbXFxkYS1mXXszLDh9fCg/OnJnYnxoc2wpYT9cXCgoPzotP1tcXGQuXSslP1ssXFxzXSspezJ9LT9bXFxkLl0rJT9cXHMqKD86WywvXVxccyopPyg/OlxcYlxcZCsoPzpcXC5cXGQrKT98XFwuXFxkKyk/JT9cXCkpJC9pdTtmdW5jdGlvbiB3cyhlKXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgZX1jb25zdCBTcz1lPT4oe3Rlc3Q6dD0+d3ModCkmJnQuZW5kc1dpdGgoZSkmJjE9PT10LnNwbGl0KFwiIFwiKS5sZW5ndGgscGFyc2U6cGFyc2VGbG9hdCx0cmFuc2Zvcm06dD0+YCR7dH0ke2V9YH0pLGtzPVNzKFwiZGVnXCIpLEVzPVNzKFwiJVwiKSxDcz1TcyhcInB4XCIpLF9zPVNzKFwidmhcIiksUHM9U3MoXCJ2d1wiKSxPcz17Li4uRXMscGFyc2U6ZT0+RXMucGFyc2UoZSkvMTAwLHRyYW5zZm9ybTplPT5Fcy50cmFuc2Zvcm0oMTAwKmUpfSxOcz1uZXcgU2V0KFtcIndpZHRoXCIsXCJoZWlnaHRcIixcInRvcFwiLFwibGVmdFwiLFwicmlnaHRcIixcImJvdHRvbVwiLFwieFwiLFwieVwiLFwidHJhbnNsYXRlWFwiLFwidHJhbnNsYXRlWVwiXSksVHM9ZT0+ZT09PWhzfHxlPT09Q3MsTXM9KGUsdCk9PnBhcnNlRmxvYXQoZS5zcGxpdChcIiwgXCIpW3RdKSxScz0oZSx0KT0+KG4se3RyYW5zZm9ybTpyfSk9PntpZihcIm5vbmVcIj09PXJ8fCFyKXJldHVybiAwO2NvbnN0IG89ci5tYXRjaCgvXm1hdHJpeDNkXFwoKC4rKVxcKSQvdSk7aWYobylyZXR1cm4gTXMob1sxXSx0KTt7Y29uc3QgdD1yLm1hdGNoKC9ebWF0cml4XFwoKC4rKVxcKSQvdSk7cmV0dXJuIHQ/TXModFsxXSxlKTowfX0sRHM9bmV3IFNldChbXCJ4XCIsXCJ5XCIsXCJ6XCJdKSxqcz1GaS5maWx0ZXIoKGU9PiFEcy5oYXMoZSkpKSxBcz17d2lkdGg6KHt4OmV9LHtwYWRkaW5nTGVmdDp0PVwiMFwiLHBhZGRpbmdSaWdodDpuPVwiMFwifSk9PmUubWF4LWUubWluLXBhcnNlRmxvYXQodCktcGFyc2VGbG9hdChuKSxoZWlnaHQ6KHt5OmV9LHtwYWRkaW5nVG9wOnQ9XCIwXCIscGFkZGluZ0JvdHRvbTpuPVwiMFwifSk9PmUubWF4LWUubWluLXBhcnNlRmxvYXQodCktcGFyc2VGbG9hdChuKSx0b3A6KGUse3RvcDp0fSk9PnBhcnNlRmxvYXQodCksbGVmdDooZSx7bGVmdDp0fSk9PnBhcnNlRmxvYXQodCksYm90dG9tOih7eTplfSx7dG9wOnR9KT0+cGFyc2VGbG9hdCh0KSsoZS5tYXgtZS5taW4pLHJpZ2h0Oih7eDplfSx7bGVmdDp0fSk9PnBhcnNlRmxvYXQodCkrKGUubWF4LWUubWluKSx4OlJzKDQsMTMpLHk6UnMoNSwxNCl9O0FzLnRyYW5zbGF0ZVg9QXMueCxBcy50cmFuc2xhdGVZPUFzLnk7Y29uc3QgSXM9ZT0+dD0+dC50ZXN0KGUpLExzPVtocyxDcyxFcyxrcyxQcyxfcyx7dGVzdDplPT5cImF1dG9cIj09PWUscGFyc2U6ZT0+ZX1dLEZzPWU9PkxzLmZpbmQoSXMoZSkpLHpzPW5ldyBTZXQ7bGV0IEJzPSExLFdzPSExO2Z1bmN0aW9uIFZzKCl7aWYoV3Mpe2NvbnN0IGU9QXJyYXkuZnJvbSh6cykuZmlsdGVyKChlPT5lLm5lZWRzTWVhc3VyZW1lbnQpKSx0PW5ldyBTZXQoZS5tYXAoKGU9PmUuZWxlbWVudCkpKSxuPW5ldyBNYXA7dC5mb3JFYWNoKChlPT57Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PVtdO3JldHVybiBqcy5mb3JFYWNoKChuPT57Y29uc3Qgcj1lLmdldFZhbHVlKG4pO3ZvaWQgMCE9PXImJih0LnB1c2goW24sci5nZXQoKV0pLHIuc2V0KG4uc3RhcnRzV2l0aChcInNjYWxlXCIpPzE6MCkpfSkpLHR9KGUpO3QubGVuZ3RoJiYobi5zZXQoZSx0KSxlLnJlbmRlcigpKX0pKSxlLmZvckVhY2goKGU9PmUubWVhc3VyZUluaXRpYWxTdGF0ZSgpKSksdC5mb3JFYWNoKChlPT57ZS5yZW5kZXIoKTtjb25zdCB0PW4uZ2V0KGUpO3QmJnQuZm9yRWFjaCgoKFt0LG5dKT0+e3ZhciByO251bGw9PT0ocj1lLmdldFZhbHVlKHQpKXx8dm9pZCAwPT09cnx8ci5zZXQobil9KSl9KSksZS5mb3JFYWNoKChlPT5lLm1lYXN1cmVFbmRTdGF0ZSgpKSksZS5mb3JFYWNoKChlPT57dm9pZCAwIT09ZS5zdXNwZW5kZWRTY3JvbGxZJiZ3aW5kb3cuc2Nyb2xsVG8oMCxlLnN1c3BlbmRlZFNjcm9sbFkpfSkpfVdzPSExLEJzPSExLHpzLmZvckVhY2goKGU9PmUuY29tcGxldGUoKSkpLHpzLmNsZWFyKCl9ZnVuY3Rpb24gVXMoKXt6cy5mb3JFYWNoKChlPT57ZS5yZWFkS2V5ZnJhbWVzKCksZS5uZWVkc01lYXN1cmVtZW50JiYoV3M9ITApfSkpfWNsYXNzICRze2NvbnN0cnVjdG9yKGUsdCxuLHIsbyxpPSExKXt0aGlzLmlzQ29tcGxldGU9ITEsdGhpcy5pc0FzeW5jPSExLHRoaXMubmVlZHNNZWFzdXJlbWVudD0hMSx0aGlzLmlzU2NoZWR1bGVkPSExLHRoaXMudW5yZXNvbHZlZEtleWZyYW1lcz1bLi4uZV0sdGhpcy5vbkNvbXBsZXRlPXQsdGhpcy5uYW1lPW4sdGhpcy5tb3Rpb25WYWx1ZT1yLHRoaXMuZWxlbWVudD1vLHRoaXMuaXNBc3luYz1pfXNjaGVkdWxlUmVzb2x2ZSgpe3RoaXMuaXNTY2hlZHVsZWQ9ITAsdGhpcy5pc0FzeW5jPyh6cy5hZGQodGhpcyksQnN8fChCcz0hMCxKaS5yZWFkKFVzKSxKaS5yZXNvbHZlS2V5ZnJhbWVzKFZzKSkpOih0aGlzLnJlYWRLZXlmcmFtZXMoKSx0aGlzLmNvbXBsZXRlKCkpfXJlYWRLZXlmcmFtZXMoKXtjb25zdHt1bnJlc29sdmVkS2V5ZnJhbWVzOmUsbmFtZTp0LGVsZW1lbnQ6bixtb3Rpb25WYWx1ZTpyfT10aGlzO2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7bysrKWlmKG51bGw9PT1lW29dKWlmKDA9PT1vKXtjb25zdCBvPW51bGw9PXI/dm9pZCAwOnIuZ2V0KCksaT1lW2UubGVuZ3RoLTFdO2lmKHZvaWQgMCE9PW8pZVswXT1vO2Vsc2UgaWYobiYmdCl7Y29uc3Qgcj1uLnJlYWRWYWx1ZSh0LGkpO251bGwhPXImJihlWzBdPXIpfXZvaWQgMD09PWVbMF0mJihlWzBdPWkpLHImJnZvaWQgMD09PW8mJnIuc2V0KGVbMF0pfWVsc2UgZVtvXT1lW28tMV19c2V0RmluYWxLZXlmcmFtZSgpe31tZWFzdXJlSW5pdGlhbFN0YXRlKCl7fXJlbmRlckVuZFN0eWxlcygpe31tZWFzdXJlRW5kU3RhdGUoKXt9Y29tcGxldGUoKXt0aGlzLmlzQ29tcGxldGU9ITAsdGhpcy5vbkNvbXBsZXRlKHRoaXMudW5yZXNvbHZlZEtleWZyYW1lcyx0aGlzLmZpbmFsS2V5ZnJhbWUpLHpzLmRlbGV0ZSh0aGlzKX1jYW5jZWwoKXt0aGlzLmlzQ29tcGxldGV8fCh0aGlzLmlzU2NoZWR1bGVkPSExLHpzLmRlbGV0ZSh0aGlzKSl9cmVzdW1lKCl7dGhpcy5pc0NvbXBsZXRlfHx0aGlzLnNjaGVkdWxlUmVzb2x2ZSgpfX1jb25zdCBZcz0oZSx0KT0+bj0+Qm9vbGVhbih3cyhuKSYmeHMudGVzdChuKSYmbi5zdGFydHNXaXRoKGUpfHx0JiYhZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWV9KG4pJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobix0KSksSHM9KGUsdCxuKT0+cj0+e2lmKCF3cyhyKSlyZXR1cm4gcjtjb25zdFtvLGkscyxhXT1yLm1hdGNoKHZzKTtyZXR1cm57W2VdOnBhcnNlRmxvYXQobyksW3RdOnBhcnNlRmxvYXQoaSksW25dOnBhcnNlRmxvYXQocyksYWxwaGE6dm9pZCAwIT09YT9wYXJzZUZsb2F0KGEpOjF9fSxLcz17Li4uaHMsdHJhbnNmb3JtOmU9Pk1hdGgucm91bmQoKGU9Pm1zKDAsMjU1LGUpKShlKSl9LHFzPXt0ZXN0OllzKFwicmdiXCIsXCJyZWRcIikscGFyc2U6SHMoXCJyZWRcIixcImdyZWVuXCIsXCJibHVlXCIpLHRyYW5zZm9ybTooe3JlZDplLGdyZWVuOnQsYmx1ZTpuLGFscGhhOnI9MX0pPT5cInJnYmEoXCIrS3MudHJhbnNmb3JtKGUpK1wiLCBcIitLcy50cmFuc2Zvcm0odCkrXCIsIFwiK0tzLnRyYW5zZm9ybShuKStcIiwgXCIreXMocHMudHJhbnNmb3JtKHIpKStcIilcIn0sR3M9e3Rlc3Q6WXMoXCIjXCIpLHBhcnNlOmZ1bmN0aW9uKGUpe2xldCB0PVwiXCIsbj1cIlwiLHI9XCJcIixvPVwiXCI7cmV0dXJuIGUubGVuZ3RoPjU/KHQ9ZS5zdWJzdHJpbmcoMSwzKSxuPWUuc3Vic3RyaW5nKDMsNSkscj1lLnN1YnN0cmluZyg1LDcpLG89ZS5zdWJzdHJpbmcoNyw5KSk6KHQ9ZS5zdWJzdHJpbmcoMSwyKSxuPWUuc3Vic3RyaW5nKDIsMykscj1lLnN1YnN0cmluZygzLDQpLG89ZS5zdWJzdHJpbmcoNCw1KSx0Kz10LG4rPW4scis9cixvKz1vKSx7cmVkOnBhcnNlSW50KHQsMTYpLGdyZWVuOnBhcnNlSW50KG4sMTYpLGJsdWU6cGFyc2VJbnQociwxNiksYWxwaGE6bz9wYXJzZUludChvLDE2KS8yNTU6MX19LHRyYW5zZm9ybTpxcy50cmFuc2Zvcm19LFhzPXt0ZXN0OllzKFwiaHNsXCIsXCJodWVcIikscGFyc2U6SHMoXCJodWVcIixcInNhdHVyYXRpb25cIixcImxpZ2h0bmVzc1wiKSx0cmFuc2Zvcm06KHtodWU6ZSxzYXR1cmF0aW9uOnQsbGlnaHRuZXNzOm4sYWxwaGE6cj0xfSk9PlwiaHNsYShcIitNYXRoLnJvdW5kKGUpK1wiLCBcIitFcy50cmFuc2Zvcm0oeXModCkpK1wiLCBcIitFcy50cmFuc2Zvcm0oeXMobikpK1wiLCBcIit5cyhwcy50cmFuc2Zvcm0ocikpK1wiKVwifSxacz17dGVzdDplPT5xcy50ZXN0KGUpfHxHcy50ZXN0KGUpfHxYcy50ZXN0KGUpLHBhcnNlOmU9PnFzLnRlc3QoZSk/cXMucGFyc2UoZSk6WHMudGVzdChlKT9Ycy5wYXJzZShlKTpHcy5wYXJzZShlKSx0cmFuc2Zvcm06ZT0+d3MoZSk/ZTplLmhhc093blByb3BlcnR5KFwicmVkXCIpP3FzLnRyYW5zZm9ybShlKTpYcy50cmFuc2Zvcm0oZSl9LEpzPVwibnVtYmVyXCIsUXM9XCJjb2xvclwiLGVhPVwidmFyXCIsdGE9XCJ2YXIoXCIsbmE9XCIke31cIixyYT0vdmFyXFxzKlxcKFxccyotLSg/OltcXHctXStcXHMqfFtcXHctXStcXHMqLCg/OlxccypbXikoXFxzXXxcXHMqXFwoKD86W14pKF18XFwoW14pKF0qXFwpKSpcXCkpK1xccyopXFwpfCNbXFxkYS1mXXszLDh9fCg/OnJnYnxoc2wpYT9cXCgoPzotP1tcXGQuXSslP1ssXFxzXSspezJ9LT9bXFxkLl0rJT9cXHMqKD86WywvXVxccyopPyg/OlxcYlxcZCsoPzpcXC5cXGQrKT98XFwuXFxkKyk/JT9cXCl8LT8oPzpcXGQrKD86XFwuXFxkKyk/fFxcLlxcZCspL2dpdTtmdW5jdGlvbiBvYShlKXtjb25zdCB0PWUudG9TdHJpbmcoKSxuPVtdLHI9e2NvbG9yOltdLG51bWJlcjpbXSx2YXI6W119LG89W107bGV0IGk9MDtjb25zdCBzPXQucmVwbGFjZShyYSwoZT0+KFpzLnRlc3QoZSk/KHIuY29sb3IucHVzaChpKSxvLnB1c2goUXMpLG4ucHVzaChacy5wYXJzZShlKSkpOmUuc3RhcnRzV2l0aCh0YSk/KHIudmFyLnB1c2goaSksby5wdXNoKGVhKSxuLnB1c2goZSkpOihyLm51bWJlci5wdXNoKGkpLG8ucHVzaChKcyksbi5wdXNoKHBhcnNlRmxvYXQoZSkpKSwrK2ksbmEpKSkuc3BsaXQobmEpO3JldHVybnt2YWx1ZXM6bixzcGxpdDpzLGluZGV4ZXM6cix0eXBlczpvfX1mdW5jdGlvbiBpYShlKXtyZXR1cm4gb2EoZSkudmFsdWVzfWZ1bmN0aW9uIHNhKGUpe2NvbnN0e3NwbGl0OnQsdHlwZXM6bn09b2EoZSkscj10Lmxlbmd0aDtyZXR1cm4gZT0+e2xldCBvPVwiXCI7Zm9yKGxldCBpPTA7aTxyO2krKylpZihvKz10W2ldLHZvaWQgMCE9PWVbaV0pe2NvbnN0IHQ9bltpXTtvKz10PT09SnM/eXMoZVtpXSk6dD09PVFzP1pzLnRyYW5zZm9ybShlW2ldKTplW2ldfXJldHVybiBvfX1jb25zdCBhYT1lPT5cIm51bWJlclwiPT10eXBlb2YgZT8wOmUsbGE9e3Rlc3Q6ZnVuY3Rpb24oZSl7dmFyIHQsbjtyZXR1cm4gaXNOYU4oZSkmJndzKGUpJiYoKG51bGw9PT0odD1lLm1hdGNoKHZzKSl8fHZvaWQgMD09PXQ/dm9pZCAwOnQubGVuZ3RoKXx8MCkrKChudWxsPT09KG49ZS5tYXRjaChicykpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmxlbmd0aCl8fDApPjB9LHBhcnNlOmlhLGNyZWF0ZVRyYW5zZm9ybWVyOnNhLGdldEFuaW1hdGFibGVOb25lOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9aWEoZSk7cmV0dXJuIHNhKGUpKHQubWFwKGFhKSl9fSxjYT1uZXcgU2V0KFtcImJyaWdodG5lc3NcIixcImNvbnRyYXN0XCIsXCJzYXR1cmF0ZVwiLFwib3BhY2l0eVwiXSk7ZnVuY3Rpb24gdWEoZSl7Y29uc3RbdCxuXT1lLnNsaWNlKDAsLTEpLnNwbGl0KFwiKFwiKTtpZihcImRyb3Atc2hhZG93XCI9PT10KXJldHVybiBlO2NvbnN0W3JdPW4ubWF0Y2godnMpfHxbXTtpZighcilyZXR1cm4gZTtjb25zdCBvPW4ucmVwbGFjZShyLFwiXCIpO2xldCBpPWNhLmhhcyh0KT8xOjA7cmV0dXJuIHIhPT1uJiYoaSo9MTAwKSx0K1wiKFwiK2krbytcIilcIn1jb25zdCBkYT0vXFxiKFthLXotXSopXFwoLio/XFwpL2d1LGZhPXsuLi5sYSxnZXRBbmltYXRhYmxlTm9uZTplPT57Y29uc3QgdD1lLm1hdGNoKGRhKTtyZXR1cm4gdD90Lm1hcCh1YSkuam9pbihcIiBcIik6ZX19LG1hPXsuLi5ocyx0cmFuc2Zvcm06TWF0aC5yb3VuZH0saGE9e2JvcmRlcldpZHRoOkNzLGJvcmRlclRvcFdpZHRoOkNzLGJvcmRlclJpZ2h0V2lkdGg6Q3MsYm9yZGVyQm90dG9tV2lkdGg6Q3MsYm9yZGVyTGVmdFdpZHRoOkNzLGJvcmRlclJhZGl1czpDcyxyYWRpdXM6Q3MsYm9yZGVyVG9wTGVmdFJhZGl1czpDcyxib3JkZXJUb3BSaWdodFJhZGl1czpDcyxib3JkZXJCb3R0b21SaWdodFJhZGl1czpDcyxib3JkZXJCb3R0b21MZWZ0UmFkaXVzOkNzLHdpZHRoOkNzLG1heFdpZHRoOkNzLGhlaWdodDpDcyxtYXhIZWlnaHQ6Q3Msc2l6ZTpDcyx0b3A6Q3MscmlnaHQ6Q3MsYm90dG9tOkNzLGxlZnQ6Q3MscGFkZGluZzpDcyxwYWRkaW5nVG9wOkNzLHBhZGRpbmdSaWdodDpDcyxwYWRkaW5nQm90dG9tOkNzLHBhZGRpbmdMZWZ0OkNzLG1hcmdpbjpDcyxtYXJnaW5Ub3A6Q3MsbWFyZ2luUmlnaHQ6Q3MsbWFyZ2luQm90dG9tOkNzLG1hcmdpbkxlZnQ6Q3Mscm90YXRlOmtzLHJvdGF0ZVg6a3Mscm90YXRlWTprcyxyb3RhdGVaOmtzLHNjYWxlOmdzLHNjYWxlWDpncyxzY2FsZVk6Z3Msc2NhbGVaOmdzLHNrZXc6a3Msc2tld1g6a3Msc2tld1k6a3MsZGlzdGFuY2U6Q3MsdHJhbnNsYXRlWDpDcyx0cmFuc2xhdGVZOkNzLHRyYW5zbGF0ZVo6Q3MseDpDcyx5OkNzLHo6Q3MscGVyc3BlY3RpdmU6Q3MsdHJhbnNmb3JtUGVyc3BlY3RpdmU6Q3Msb3BhY2l0eTpwcyxvcmlnaW5YOk9zLG9yaWdpblk6T3Msb3JpZ2luWjpDcyx6SW5kZXg6bWEsYmFja2dyb3VuZFBvc2l0aW9uWDpDcyxiYWNrZ3JvdW5kUG9zaXRpb25ZOkNzLGZpbGxPcGFjaXR5OnBzLHN0cm9rZU9wYWNpdHk6cHMsbnVtT2N0YXZlczptYX0scGE9ey4uLmhhLGNvbG9yOlpzLGJhY2tncm91bmRDb2xvcjpacyxvdXRsaW5lQ29sb3I6WnMsZmlsbDpacyxzdHJva2U6WnMsYm9yZGVyQ29sb3I6WnMsYm9yZGVyVG9wQ29sb3I6WnMsYm9yZGVyUmlnaHRDb2xvcjpacyxib3JkZXJCb3R0b21Db2xvcjpacyxib3JkZXJMZWZ0Q29sb3I6WnMsZmlsdGVyOmZhLFdlYmtpdEZpbHRlcjpmYX0sZ2E9ZT0+cGFbZV07ZnVuY3Rpb24geWEoZSx0KXtsZXQgbj1nYShlKTtyZXR1cm4gbiE9PWZhJiYobj1sYSksbi5nZXRBbmltYXRhYmxlTm9uZT9uLmdldEFuaW1hdGFibGVOb25lKHQpOnZvaWQgMH1jb25zdCB2YT1uZXcgU2V0KFtcImF1dG9cIixcIm5vbmVcIixcIjBcIl0pO2NsYXNzIGJhIGV4dGVuZHMgJHN7Y29uc3RydWN0b3IoZSx0LG4scixvKXtzdXBlcihlLHQsbixyLG8sITApfXJlYWRLZXlmcmFtZXMoKXtjb25zdHt1bnJlc29sdmVkS2V5ZnJhbWVzOmUsZWxlbWVudDp0LG5hbWU6bn09dGhpcztpZighdHx8IXQuY3VycmVudClyZXR1cm47c3VwZXIucmVhZEtleWZyYW1lcygpO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXtsZXQgcj1lW25dO2lmKFwic3RyaW5nXCI9PXR5cGVvZiByJiYocj1yLnRyaW0oKSxjcyhyKSkpe2NvbnN0IG89ZnMocix0LmN1cnJlbnQpO3ZvaWQgMCE9PW8mJihlW25dPW8pLG49PT1lLmxlbmd0aC0xJiYodGhpcy5maW5hbEtleWZyYW1lPXIpfX1pZih0aGlzLnJlc29sdmVOb25lS2V5ZnJhbWVzKCksIU5zLmhhcyhuKXx8MiE9PWUubGVuZ3RoKXJldHVybjtjb25zdFtyLG9dPWUsaT1GcyhyKSxzPUZzKG8pO2lmKGkhPT1zKWlmKFRzKGkpJiZUcyhzKSlmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl7Y29uc3Qgbj1lW3RdO1wic3RyaW5nXCI9PXR5cGVvZiBuJiYoZVt0XT1wYXJzZUZsb2F0KG4pKX1lbHNlIHRoaXMubmVlZHNNZWFzdXJlbWVudD0hMH1yZXNvbHZlTm9uZUtleWZyYW1lcygpe2NvbnN0e3VucmVzb2x2ZWRLZXlmcmFtZXM6ZSxuYW1lOnR9PXRoaXMsbj1bXTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKykoXCJudW1iZXJcIj09dHlwZW9mKHI9ZVt0XSk/MD09PXI6bnVsbD09PXJ8fFwibm9uZVwiPT09cnx8XCIwXCI9PT1yfHxucyhyKSkmJm4ucHVzaCh0KTt2YXIgcjtuLmxlbmd0aCYmZnVuY3Rpb24oZSx0LG4pe2xldCByLG89MDtmb3IoO288ZS5sZW5ndGgmJiFyOyl7Y29uc3QgdD1lW29dO1wic3RyaW5nXCI9PXR5cGVvZiB0JiYhdmEuaGFzKHQpJiZvYSh0KS52YWx1ZXMubGVuZ3RoJiYocj1lW29dKSxvKyt9aWYociYmbilmb3IoY29uc3QgbyBvZiB0KWVbb109eWEobixyKX0oZSxuLHQpfW1lYXN1cmVJbml0aWFsU3RhdGUoKXtjb25zdHtlbGVtZW50OmUsdW5yZXNvbHZlZEtleWZyYW1lczp0LG5hbWU6bn09dGhpcztpZighZXx8IWUuY3VycmVudClyZXR1cm47XCJoZWlnaHRcIj09PW4mJih0aGlzLnN1c3BlbmRlZFNjcm9sbFk9d2luZG93LnBhZ2VZT2Zmc2V0KSx0aGlzLm1lYXN1cmVkT3JpZ2luPUFzW25dKGUubWVhc3VyZVZpZXdwb3J0Qm94KCksd2luZG93LmdldENvbXB1dGVkU3R5bGUoZS5jdXJyZW50KSksdFswXT10aGlzLm1lYXN1cmVkT3JpZ2luO2NvbnN0IHI9dFt0Lmxlbmd0aC0xXTt2b2lkIDAhPT1yJiZlLmdldFZhbHVlKG4scikuanVtcChyLCExKX1tZWFzdXJlRW5kU3RhdGUoKXt2YXIgZTtjb25zdHtlbGVtZW50OnQsbmFtZTpuLHVucmVzb2x2ZWRLZXlmcmFtZXM6cn09dGhpcztpZighdHx8IXQuY3VycmVudClyZXR1cm47Y29uc3Qgbz10LmdldFZhbHVlKG4pO28mJm8uanVtcCh0aGlzLm1lYXN1cmVkT3JpZ2luLCExKTtjb25zdCBpPXIubGVuZ3RoLTEscz1yW2ldO3JbaV09QXNbbl0odC5tZWFzdXJlVmlld3BvcnRCb3goKSx3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0LmN1cnJlbnQpKSxudWxsIT09cyYmdm9pZCAwPT09dGhpcy5maW5hbEtleWZyYW1lJiYodGhpcy5maW5hbEtleWZyYW1lPXMpLChudWxsPT09KGU9dGhpcy5yZW1vdmVkVHJhbnNmb3Jtcyl8fHZvaWQgMD09PWU/dm9pZCAwOmUubGVuZ3RoKSYmdGhpcy5yZW1vdmVkVHJhbnNmb3Jtcy5mb3JFYWNoKCgoW2Usbl0pPT57dC5nZXRWYWx1ZShlKS5zZXQobil9KSksdGhpcy5yZXNvbHZlTm9uZUtleWZyYW1lcygpfX1mdW5jdGlvbiB4YShlKXtsZXQgdDtyZXR1cm4oKT0+KHZvaWQgMD09PXQmJih0PWUoKSksdCl9bGV0IHdhO2Z1bmN0aW9uIFNhKCl7d2E9dm9pZCAwfWNvbnN0IGthPXtub3c6KCk9Pih2b2lkIDA9PT13YSYma2Euc2V0KGVzLmlzUHJvY2Vzc2luZz9lcy50aW1lc3RhbXA6cGVyZm9ybWFuY2Uubm93KCkpLHdhKSxzZXQ6ZT0+e3dhPWUscXVldWVNaWNyb3Rhc2soU2EpfX0sRWE9KGUsdCk9PiEoXCJ6SW5kZXhcIj09PXR8fFwibnVtYmVyXCIhPXR5cGVvZiBlJiYhQXJyYXkuaXNBcnJheShlKSYmKFwic3RyaW5nXCIhPXR5cGVvZiBlfHwhbGEudGVzdChlKSYmXCIwXCIhPT1lfHxlLnN0YXJ0c1dpdGgoXCJ1cmwoXCIpKSk7Y2xhc3MgQ2F7Y29uc3RydWN0b3Ioe2F1dG9wbGF5OmU9ITAsZGVsYXk6dD0wLHR5cGU6bj1cImtleWZyYW1lc1wiLHJlcGVhdDpyPTAscmVwZWF0RGVsYXk6bz0wLHJlcGVhdFR5cGU6aT1cImxvb3BcIiwuLi5zfSl7dGhpcy5pc1N0b3BwZWQ9ITEsdGhpcy5oYXNBdHRlbXB0ZWRSZXNvbHZlPSExLHRoaXMuY3JlYXRlZEF0PWthLm5vdygpLHRoaXMub3B0aW9ucz17YXV0b3BsYXk6ZSxkZWxheTp0LHR5cGU6bixyZXBlYXQ6cixyZXBlYXREZWxheTpvLHJlcGVhdFR5cGU6aSwuLi5zfSx0aGlzLnVwZGF0ZUZpbmlzaGVkUHJvbWlzZSgpfWNhbGNTdGFydFRpbWUoKXtyZXR1cm4gdGhpcy5yZXNvbHZlZEF0JiZ0aGlzLnJlc29sdmVkQXQtdGhpcy5jcmVhdGVkQXQ+NDA/dGhpcy5yZXNvbHZlZEF0OnRoaXMuY3JlYXRlZEF0fWdldCByZXNvbHZlZCgpe3JldHVybiB0aGlzLl9yZXNvbHZlZHx8dGhpcy5oYXNBdHRlbXB0ZWRSZXNvbHZlfHwoVXMoKSxWcygpKSx0aGlzLl9yZXNvbHZlZH1vbktleWZyYW1lc1Jlc29sdmVkKGUsdCl7dGhpcy5yZXNvbHZlZEF0PWthLm5vdygpLHRoaXMuaGFzQXR0ZW1wdGVkUmVzb2x2ZT0hMDtjb25zdHtuYW1lOm4sdHlwZTpyLHZlbG9jaXR5Om8sZGVsYXk6aSxvbkNvbXBsZXRlOnMsb25VcGRhdGU6YSxpc0dlbmVyYXRvcjpsfT10aGlzLm9wdGlvbnM7aWYoIWwmJiFmdW5jdGlvbihlLHQsbixyKXtjb25zdCBvPWVbMF07aWYobnVsbD09PW8pcmV0dXJuITE7aWYoXCJkaXNwbGF5XCI9PT10fHxcInZpc2liaWxpdHlcIj09PXQpcmV0dXJuITA7Y29uc3QgaT1lW2UubGVuZ3RoLTFdLHM9RWEobyx0KSxhPUVhKGksdCk7cmV0dXJuIHJzKHM9PT1hLGBZb3UgYXJlIHRyeWluZyB0byBhbmltYXRlICR7dH0gZnJvbSBcIiR7b31cIiB0byBcIiR7aX1cIi4gJHtvfSBpcyBub3QgYW4gYW5pbWF0YWJsZSB2YWx1ZSAtIHRvIGVuYWJsZSB0aGlzIGFuaW1hdGlvbiBzZXQgJHtvfSB0byBhIHZhbHVlIGFuaW1hdGFibGUgdG8gJHtpfSB2aWEgdGhlIFxcYHN0eWxlXFxgIHByb3BlcnR5LmApLCEoIXN8fCFhKSYmKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZVswXTtpZigxPT09ZS5sZW5ndGgpcmV0dXJuITA7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspaWYoZVtuXSE9PXQpcmV0dXJuITB9KGUpfHxcInNwcmluZ1wiPT09biYmcil9KGUsbixyLG8pKXtpZighaSlyZXR1cm4gbnVsbD09YXx8YShxaShlLHRoaXMub3B0aW9ucyx0KSksbnVsbD09c3x8cygpLHZvaWQgdGhpcy5yZXNvbHZlRmluaXNoZWRQcm9taXNlKCk7dGhpcy5vcHRpb25zLmR1cmF0aW9uPTB9Y29uc3QgYz10aGlzLmluaXRQbGF5YmFjayhlLHQpOyExIT09YyYmKHRoaXMuX3Jlc29sdmVkPXtrZXlmcmFtZXM6ZSxmaW5hbEtleWZyYW1lOnQsLi4uY30sdGhpcy5vblBvc3RSZXNvbHZlZCgpKX1vblBvc3RSZXNvbHZlZCgpe310aGVuKGUsdCl7cmV0dXJuIHRoaXMuY3VycmVudEZpbmlzaGVkUHJvbWlzZS50aGVuKGUsdCl9dXBkYXRlRmluaXNoZWRQcm9taXNlKCl7dGhpcy5jdXJyZW50RmluaXNoZWRQcm9taXNlPW5ldyBQcm9taXNlKChlPT57dGhpcy5yZXNvbHZlRmluaXNoZWRQcm9taXNlPWV9KSl9fWZ1bmN0aW9uIF9hKGUsdCl7cmV0dXJuIHQ/ZSooMWUzL3QpOjB9Y29uc3QgUGE9NTtmdW5jdGlvbiBPYShlLHQsbil7Y29uc3Qgcj1NYXRoLm1heCh0LVBhLDApO3JldHVybiBfYShuLWUociksdC1yKX1jb25zdCBOYT0uMDAxLFRhPS4wMSxNYT0xMCxSYT0uMDUsRGE9MTtjb25zdCBqYT0xMjtmdW5jdGlvbiBBYShlLHQpe3JldHVybiBlKk1hdGguc3FydCgxLXQqdCl9Y29uc3QgSWE9W1wiZHVyYXRpb25cIixcImJvdW5jZVwiXSxMYT1bXCJzdGlmZm5lc3NcIixcImRhbXBpbmdcIixcIm1hc3NcIl07ZnVuY3Rpb24gRmEoZSx0KXtyZXR1cm4gdC5zb21lKCh0PT52b2lkIDAhPT1lW3RdKSl9ZnVuY3Rpb24gemEoe2tleWZyYW1lczplLHJlc3REZWx0YTp0LHJlc3RTcGVlZDpuLC4uLnJ9KXtjb25zdCBvPWVbMF0saT1lW2UubGVuZ3RoLTFdLHM9e2RvbmU6ITEsdmFsdWU6b30se3N0aWZmbmVzczphLGRhbXBpbmc6bCxtYXNzOmMsZHVyYXRpb246dSx2ZWxvY2l0eTpkLGlzUmVzb2x2ZWRGcm9tRHVyYXRpb246Zn09ZnVuY3Rpb24oZSl7bGV0IHQ9e3ZlbG9jaXR5OjAsc3RpZmZuZXNzOjEwMCxkYW1waW5nOjEwLG1hc3M6MSxpc1Jlc29sdmVkRnJvbUR1cmF0aW9uOiExLC4uLmV9O2lmKCFGYShlLExhKSYmRmEoZSxJYSkpe2NvbnN0IG49ZnVuY3Rpb24oe2R1cmF0aW9uOmU9ODAwLGJvdW5jZTp0PS4yNSx2ZWxvY2l0eTpuPTAsbWFzczpyPTF9KXtsZXQgbyxpO3JzKGU8PUJpKE1hKSxcIlNwcmluZyBkdXJhdGlvbiBtdXN0IGJlIDEwIHNlY29uZHMgb3IgbGVzc1wiKTtsZXQgcz0xLXQ7cz1tcyhSYSxEYSxzKSxlPW1zKFRhLE1hLFdpKGUpKSxzPDE/KG89dD0+e2NvbnN0IHI9dCpzLG89ciplLGk9ci1uLGE9QWEodCxzKSxsPU1hdGguZXhwKC1vKTtyZXR1cm4gTmEtaS9hKmx9LGk9dD0+e2NvbnN0IHI9dCpzKmUsaT1yKm4rbixhPU1hdGgucG93KHMsMikqTWF0aC5wb3codCwyKSplLGw9TWF0aC5leHAoLXIpLGM9QWEoTWF0aC5wb3codCwyKSxzKTtyZXR1cm4oLW8odCkrTmE+MD8tMToxKSooKGktYSkqbCkvY30pOihvPXQ9Pk1hdGguZXhwKC10KmUpKigodC1uKSplKzEpLU5hLGk9dD0+TWF0aC5leHAoLXQqZSkqKGUqZSoobi10KSkpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0LG4pe2xldCByPW47Zm9yKGxldCBuPTE7bjxqYTtuKyspci09ZShyKS90KHIpO3JldHVybiByfShvLGksNS9lKTtpZihlPUJpKGUpLGlzTmFOKGEpKXJldHVybntzdGlmZm5lc3M6MTAwLGRhbXBpbmc6MTAsZHVyYXRpb246ZX07e2NvbnN0IHQ9TWF0aC5wb3coYSwyKSpyO3JldHVybntzdGlmZm5lc3M6dCxkYW1waW5nOjIqcypNYXRoLnNxcnQocip0KSxkdXJhdGlvbjplfX19KGUpO3Q9ey4uLnQsLi4ubixtYXNzOjF9LHQuaXNSZXNvbHZlZEZyb21EdXJhdGlvbj0hMH1yZXR1cm4gdH0oey4uLnIsdmVsb2NpdHk6LVdpKHIudmVsb2NpdHl8fDApfSksbT1kfHwwLGg9bC8oMipNYXRoLnNxcnQoYSpjKSkscD1pLW8sZz1XaShNYXRoLnNxcnQoYS9jKSkseT1NYXRoLmFicyhwKTw1O2xldCB2O2lmKG58fChuPXk/LjAxOjIpLHR8fCh0PXk/LjAwNTouNSksaDwxKXtjb25zdCBlPUFhKGcsaCk7dj10PT57Y29uc3Qgbj1NYXRoLmV4cCgtaCpnKnQpO3JldHVybiBpLW4qKChtK2gqZypwKS9lKk1hdGguc2luKGUqdCkrcCpNYXRoLmNvcyhlKnQpKX19ZWxzZSBpZigxPT09aCl2PWU9PmktTWF0aC5leHAoLWcqZSkqKHArKG0rZypwKSplKTtlbHNle2NvbnN0IGU9ZypNYXRoLnNxcnQoaCpoLTEpO3Y9dD0+e2NvbnN0IG49TWF0aC5leHAoLWgqZyp0KSxyPU1hdGgubWluKGUqdCwzMDApO3JldHVybiBpLW4qKChtK2gqZypwKSpNYXRoLnNpbmgocikrZSpwKk1hdGguY29zaChyKSkvZX19cmV0dXJue2NhbGN1bGF0ZWREdXJhdGlvbjpmJiZ1fHxudWxsLG5leHQ6ZT0+e2NvbnN0IHI9dihlKTtpZihmKXMuZG9uZT1lPj11O2Vsc2V7bGV0IG89MDtoPDEmJihvPTA9PT1lP0JpKG0pOk9hKHYsZSxyKSk7Y29uc3QgYT1NYXRoLmFicyhvKTw9bixsPU1hdGguYWJzKGktcik8PXQ7cy5kb25lPWEmJmx9cmV0dXJuIHMudmFsdWU9cy5kb25lP2k6cixzfX19ZnVuY3Rpb24gQmEoe2tleWZyYW1lczplLHZlbG9jaXR5OnQ9MCxwb3dlcjpuPS44LHRpbWVDb25zdGFudDpyPTMyNSxib3VuY2VEYW1waW5nOm89MTAsYm91bmNlU3RpZmZuZXNzOmk9NTAwLG1vZGlmeVRhcmdldDpzLG1pbjphLG1heDpsLHJlc3REZWx0YTpjPS41LHJlc3RTcGVlZDp1fSl7Y29uc3QgZD1lWzBdLGY9e2RvbmU6ITEsdmFsdWU6ZH0sbT1lPT52b2lkIDA9PT1hP2w6dm9pZCAwPT09bHx8TWF0aC5hYnMoYS1lKTxNYXRoLmFicyhsLWUpP2E6bDtsZXQgaD1uKnQ7Y29uc3QgcD1kK2gsZz12b2lkIDA9PT1zP3A6cyhwKTtnIT09cCYmKGg9Zy1kKTtjb25zdCB5PWU9Pi1oKk1hdGguZXhwKC1lL3IpLHY9ZT0+Zyt5KGUpLGI9ZT0+e2NvbnN0IHQ9eShlKSxuPXYoZSk7Zi5kb25lPU1hdGguYWJzKHQpPD1jLGYudmFsdWU9Zi5kb25lP2c6bn07bGV0IHgsdztjb25zdCBTPWU9PnsoZT0+dm9pZCAwIT09YSYmZTxhfHx2b2lkIDAhPT1sJiZlPmwpKGYudmFsdWUpJiYoeD1lLHc9emEoe2tleWZyYW1lczpbZi52YWx1ZSxtKGYudmFsdWUpXSx2ZWxvY2l0eTpPYSh2LGUsZi52YWx1ZSksZGFtcGluZzpvLHN0aWZmbmVzczppLHJlc3REZWx0YTpjLHJlc3RTcGVlZDp1fSkpfTtyZXR1cm4gUygwKSx7Y2FsY3VsYXRlZER1cmF0aW9uOm51bGwsbmV4dDplPT57bGV0IHQ9ITE7cmV0dXJuIHd8fHZvaWQgMCE9PXh8fCh0PSEwLGIoZSksUyhlKSksdm9pZCAwIT09eCYmZT49eD93Lm5leHQoZS14KTooIXQmJmIoZSksZil9fX1jb25zdCBXYT0oZSx0LG4pPT4oKCgxLTMqbiszKnQpKmUrKDMqbi02KnQpKSplKzMqdCkqZTtmdW5jdGlvbiBWYShlLHQsbixyKXtpZihlPT09dCYmbj09PXIpcmV0dXJuIEdpO3JldHVybiBvPT4wPT09b3x8MT09PW8/bzpXYShmdW5jdGlvbihlLHQsbixyLG8pe2xldCBpLHMsYT0wO2Rve3M9dCsobi10KS8yLGk9V2EocyxyLG8pLWUsaT4wP249czp0PXN9d2hpbGUoTWF0aC5hYnMoaSk+MWUtNyYmKythPDEyKTtyZXR1cm4gc30obywwLDEsZSxuKSx0LHIpfWNvbnN0IFVhPVZhKC40MiwwLDEsMSksJGE9VmEoMCwwLC41OCwxKSxZYT1WYSguNDIsMCwuNTgsMSksSGE9ZT0+dD0+dDw9LjU/ZSgyKnQpLzI6KDItZSgyKigxLXQpKSkvMixLYT1lPT50PT4xLWUoMS10KSxxYT1lPT4xLU1hdGguc2luKE1hdGguYWNvcyhlKSksR2E9S2EocWEpLFhhPUhhKHFhKSxaYT1WYSguMzMsMS41MywuNjksLjk5KSxKYT1LYShaYSksUWE9SGEoSmEpLGVsPXtsaW5lYXI6R2ksZWFzZUluOlVhLGVhc2VJbk91dDpZYSxlYXNlT3V0OiRhLGNpcmNJbjpxYSxjaXJjSW5PdXQ6WGEsY2lyY091dDpHYSxiYWNrSW46SmEsYmFja0luT3V0OlFhLGJhY2tPdXQ6WmEsYW50aWNpcGF0ZTplPT4oZSo9Mik8MT8uNSpKYShlKTouNSooMi1NYXRoLnBvdygyLC0xMCooZS0xKSkpfSx0bD1lPT57aWYoQXJyYXkuaXNBcnJheShlKSl7b3MoND09PWUubGVuZ3RoLFwiQ3ViaWMgYmV6aWVyIGFycmF5cyBtdXN0IGNvbnRhaW4gZm91ciBudW1lcmljYWwgdmFsdWVzLlwiKTtjb25zdFt0LG4scixvXT1lO3JldHVybiBWYSh0LG4scixvKX1yZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgZT8ob3Modm9pZCAwIT09ZWxbZV0sYEludmFsaWQgZWFzaW5nIHR5cGUgJyR7ZX0nYCksZWxbZV0pOmV9LG5sPShlLHQpPT5uPT50KGUobikpLHJsPSguLi5lKT0+ZS5yZWR1Y2UobmwpLG9sPShlLHQsbik9Pntjb25zdCByPXQtZTtyZXR1cm4gMD09PXI/MToobi1lKS9yfSxpbD0oZSx0LG4pPT5lKyh0LWUpKm47ZnVuY3Rpb24gc2woZSx0LG4pe3JldHVybiBuPDAmJihuKz0xKSxuPjEmJihuLT0xKSxuPDEvNj9lKzYqKHQtZSkqbjpuPC41P3Q6bjwyLzM/ZSsodC1lKSooMi8zLW4pKjY6ZX1mdW5jdGlvbiBhbChlLHQpe3JldHVybiBuPT5uPjA/dDplfWNvbnN0IGxsPShlLHQsbik9Pntjb25zdCByPWUqZSxvPW4qKHQqdC1yKStyO3JldHVybiBvPDA/MDpNYXRoLnNxcnQobyl9LGNsPVtHcyxxcyxYc107ZnVuY3Rpb24gdWwoZSl7Y29uc3QgdD0oZT0+Y2wuZmluZCgodD0+dC50ZXN0KGUpKSkpKGUpO2lmKHJzKEJvb2xlYW4odCksYCcke2V9JyBpcyBub3QgYW4gYW5pbWF0YWJsZSBjb2xvci4gVXNlIHRoZSBlcXVpdmFsZW50IGNvbG9yIGNvZGUgaW5zdGVhZC5gKSwhQm9vbGVhbih0KSlyZXR1cm4hMTtsZXQgbj10LnBhcnNlKGUpO3JldHVybiB0PT09WHMmJihuPWZ1bmN0aW9uKHtodWU6ZSxzYXR1cmF0aW9uOnQsbGlnaHRuZXNzOm4sYWxwaGE6cn0pe2UvPTM2MCxuLz0xMDA7bGV0IG89MCxpPTAscz0wO2lmKHQvPTEwMCl7Y29uc3Qgcj1uPC41P24qKDErdCk6bit0LW4qdCxhPTIqbi1yO289c2woYSxyLGUrMS8zKSxpPXNsKGEscixlKSxzPXNsKGEscixlLTEvMyl9ZWxzZSBvPWk9cz1uO3JldHVybntyZWQ6TWF0aC5yb3VuZCgyNTUqbyksZ3JlZW46TWF0aC5yb3VuZCgyNTUqaSksYmx1ZTpNYXRoLnJvdW5kKDI1NSpzKSxhbHBoYTpyfX0obikpLG59Y29uc3QgZGw9KGUsdCk9Pntjb25zdCBuPXVsKGUpLHI9dWwodCk7aWYoIW58fCFyKXJldHVybiBhbChlLHQpO2NvbnN0IG89ey4uLm59O3JldHVybiBlPT4oby5yZWQ9bGwobi5yZWQsci5yZWQsZSksby5ncmVlbj1sbChuLmdyZWVuLHIuZ3JlZW4sZSksby5ibHVlPWxsKG4uYmx1ZSxyLmJsdWUsZSksby5hbHBoYT1pbChuLmFscGhhLHIuYWxwaGEsZSkscXMudHJhbnNmb3JtKG8pKX0sZmw9bmV3IFNldChbXCJub25lXCIsXCJoaWRkZW5cIl0pO2Z1bmN0aW9uIG1sKGUsdCl7cmV0dXJuIG49PmlsKGUsdCxuKX1mdW5jdGlvbiBobChlKXtyZXR1cm5cIm51bWJlclwiPT10eXBlb2YgZT9tbDpcInN0cmluZ1wiPT10eXBlb2YgZT9jcyhlKT9hbDpacy50ZXN0KGUpP2RsOnlsOkFycmF5LmlzQXJyYXkoZSk/cGw6XCJvYmplY3RcIj09dHlwZW9mIGU/WnMudGVzdChlKT9kbDpnbDphbH1mdW5jdGlvbiBwbChlLHQpe2NvbnN0IG49Wy4uLmVdLHI9bi5sZW5ndGgsbz1lLm1hcCgoKGUsbik9PmhsKGUpKGUsdFtuXSkpKTtyZXR1cm4gZT0+e2ZvcihsZXQgdD0wO3Q8cjt0Kyspblt0XT1vW3RdKGUpO3JldHVybiBufX1mdW5jdGlvbiBnbChlLHQpe2NvbnN0IG49ey4uLmUsLi4udH0scj17fTtmb3IoY29uc3QgbyBpbiBuKXZvaWQgMCE9PWVbb10mJnZvaWQgMCE9PXRbb10mJihyW29dPWhsKGVbb10pKGVbb10sdFtvXSkpO3JldHVybiBlPT57Zm9yKGNvbnN0IHQgaW4gciluW3RdPXJbdF0oZSk7cmV0dXJuIG59fWNvbnN0IHlsPShlLHQpPT57Y29uc3Qgbj1sYS5jcmVhdGVUcmFuc2Zvcm1lcih0KSxyPW9hKGUpLG89b2EodCk7cmV0dXJuIHIuaW5kZXhlcy52YXIubGVuZ3RoPT09by5pbmRleGVzLnZhci5sZW5ndGgmJnIuaW5kZXhlcy5jb2xvci5sZW5ndGg9PT1vLmluZGV4ZXMuY29sb3IubGVuZ3RoJiZyLmluZGV4ZXMubnVtYmVyLmxlbmd0aD49by5pbmRleGVzLm51bWJlci5sZW5ndGg/ZmwuaGFzKGUpJiYhby52YWx1ZXMubGVuZ3RofHxmbC5oYXModCkmJiFyLnZhbHVlcy5sZW5ndGg/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZmwuaGFzKGUpP249Pm48PTA/ZTp0Om49Pm4+PTE/dDplfShlLHQpOnJsKHBsKGZ1bmN0aW9uKGUsdCl7dmFyIG47Y29uc3Qgcj1bXSxvPXtjb2xvcjowLHZhcjowLG51bWJlcjowfTtmb3IobGV0IGk9MDtpPHQudmFsdWVzLmxlbmd0aDtpKyspe2NvbnN0IHM9dC50eXBlc1tpXSxhPWUuaW5kZXhlc1tzXVtvW3NdXSxsPW51bGwhPT0obj1lLnZhbHVlc1thXSkmJnZvaWQgMCE9PW4/bjowO3JbaV09bCxvW3NdKyt9cmV0dXJuIHJ9KHIsbyksby52YWx1ZXMpLG4pOihycyghMCxgQ29tcGxleCB2YWx1ZXMgJyR7ZX0nIGFuZCAnJHt0fScgdG9vIGRpZmZlcmVudCB0byBtaXguIEVuc3VyZSBhbGwgY29sb3JzIGFyZSBvZiB0aGUgc2FtZSB0eXBlLCBhbmQgdGhhdCBlYWNoIGNvbnRhaW5zIHRoZSBzYW1lIHF1YW50aXR5IG9mIG51bWJlciBhbmQgY29sb3IgdmFsdWVzLiBGYWxsaW5nIGJhY2sgdG8gaW5zdGFudCB0cmFuc2l0aW9uLmApLGFsKGUsdCkpfTtmdW5jdGlvbiB2bChlLHQsbil7cmV0dXJuXCJudW1iZXJcIj09dHlwZW9mIGUmJlwibnVtYmVyXCI9PXR5cGVvZiB0JiZcIm51bWJlclwiPT10eXBlb2Ygbj9pbChlLHQsbik6aGwoZSkoZSx0KX1mdW5jdGlvbiBibCh7ZHVyYXRpb246ZT0zMDAsa2V5ZnJhbWVzOnQsdGltZXM6bixlYXNlOnI9XCJlYXNlSW5PdXRcIn0pe2NvbnN0IG89KGU9PkFycmF5LmlzQXJyYXkoZSkmJlwibnVtYmVyXCIhPXR5cGVvZiBlWzBdKShyKT9yLm1hcCh0bCk6dGwociksaT17ZG9uZTohMSx2YWx1ZTp0WzBdfSxzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUubWFwKChlPT5lKnQpKX0obiYmbi5sZW5ndGg9PT10Lmxlbmd0aD9uOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9WzBdO3JldHVybiBmdW5jdGlvbihlLHQpe2NvbnN0IG49ZVtlLmxlbmd0aC0xXTtmb3IobGV0IHI9MTtyPD10O3IrKyl7Y29uc3Qgbz1vbCgwLHQscik7ZS5wdXNoKGlsKG4sMSxvKSl9fSh0LGUubGVuZ3RoLTEpLHR9KHQpLGUpLGE9ZnVuY3Rpb24oZSx0LHtjbGFtcDpuPSEwLGVhc2U6cixtaXhlcjpvfT17fSl7Y29uc3QgaT1lLmxlbmd0aDtpZihvcyhpPT09dC5sZW5ndGgsXCJCb3RoIGlucHV0IGFuZCBvdXRwdXQgcmFuZ2VzIG11c3QgYmUgdGhlIHNhbWUgbGVuZ3RoXCIpLDE9PT1pKXJldHVybigpPT50WzBdO2lmKDI9PT1pJiZlWzBdPT09ZVsxXSlyZXR1cm4oKT0+dFsxXTtlWzBdPmVbaS0xXSYmKGU9Wy4uLmVdLnJldmVyc2UoKSx0PVsuLi50XS5yZXZlcnNlKCkpO2NvbnN0IHM9ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHI9W10sbz1ufHx2bCxpPWUubGVuZ3RoLTE7Zm9yKGxldCBuPTA7bjxpO24rKyl7bGV0IGk9byhlW25dLGVbbisxXSk7aWYodCl7Y29uc3QgZT1BcnJheS5pc0FycmF5KHQpP3Rbbl18fEdpOnQ7aT1ybChlLGkpfXIucHVzaChpKX1yZXR1cm4gcn0odCxyLG8pLGE9cy5sZW5ndGgsbD10PT57bGV0IG49MDtpZihhPjEpZm9yKDtuPGUubGVuZ3RoLTImJiEodDxlW24rMV0pO24rKyk7Y29uc3Qgcj1vbChlW25dLGVbbisxXSx0KTtyZXR1cm4gc1tuXShyKX07cmV0dXJuIG4/dD0+bChtcyhlWzBdLGVbaS0xXSx0KSk6bH0ocyx0LHtlYXNlOkFycmF5LmlzQXJyYXkobyk/bzoobD10LGM9byxsLm1hcCgoKCk9PmN8fFlhKSkuc3BsaWNlKDAsbC5sZW5ndGgtMSkpfSk7dmFyIGwsYztyZXR1cm57Y2FsY3VsYXRlZER1cmF0aW9uOmUsbmV4dDp0PT4oaS52YWx1ZT1hKHQpLGkuZG9uZT10Pj1lLGkpfX1jb25zdCB4bD1lPT57Y29uc3QgdD0oe3RpbWVzdGFtcDp0fSk9PmUodCk7cmV0dXJue3N0YXJ0OigpPT5KaS51cGRhdGUodCwhMCksc3RvcDooKT0+UWkodCksbm93OigpPT5lcy5pc1Byb2Nlc3Npbmc/ZXMudGltZXN0YW1wOmthLm5vdygpfX0sd2w9e2RlY2F5OkJhLGluZXJ0aWE6QmEsdHdlZW46Ymwsa2V5ZnJhbWVzOmJsLHNwcmluZzp6YX0sU2w9ZT0+ZS8xMDA7Y2xhc3Mga2wgZXh0ZW5kcyBDYXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLmhvbGRUaW1lPW51bGwsdGhpcy5jYW5jZWxUaW1lPW51bGwsdGhpcy5jdXJyZW50VGltZT0wLHRoaXMucGxheWJhY2tTcGVlZD0xLHRoaXMucGVuZGluZ1BsYXlTdGF0ZT1cInJ1bm5pbmdcIix0aGlzLnN0YXJ0VGltZT1udWxsLHRoaXMuc3RhdGU9XCJpZGxlXCIsdGhpcy5zdG9wPSgpPT57aWYodGhpcy5yZXNvbHZlci5jYW5jZWwoKSx0aGlzLmlzU3RvcHBlZD0hMCxcImlkbGVcIj09PXRoaXMuc3RhdGUpcmV0dXJuO3RoaXMudGVhcmRvd24oKTtjb25zdHtvblN0b3A6ZX09dGhpcy5vcHRpb25zO2UmJmUoKX07Y29uc3R7bmFtZTp0LG1vdGlvblZhbHVlOm4sZWxlbWVudDpyLGtleWZyYW1lczpvfT10aGlzLm9wdGlvbnMsaT0obnVsbD09cj92b2lkIDA6ci5LZXlmcmFtZVJlc29sdmVyKXx8JHM7dGhpcy5yZXNvbHZlcj1uZXcgaShvLCgoZSx0KT0+dGhpcy5vbktleWZyYW1lc1Jlc29sdmVkKGUsdCkpLHQsbixyKSx0aGlzLnJlc29sdmVyLnNjaGVkdWxlUmVzb2x2ZSgpfWluaXRQbGF5YmFjayhlKXtjb25zdHt0eXBlOnQ9XCJrZXlmcmFtZXNcIixyZXBlYXQ6bj0wLHJlcGVhdERlbGF5OnI9MCxyZXBlYXRUeXBlOm8sdmVsb2NpdHk6aT0wfT10aGlzLm9wdGlvbnMscz13bFt0XXx8Ymw7bGV0IGEsbDtzIT09YmwmJlwibnVtYmVyXCIhPXR5cGVvZiBlWzBdJiYoYT1ybChTbCx2bChlWzBdLGVbMV0pKSxlPVswLDEwMF0pO2NvbnN0IGM9cyh7Li4udGhpcy5vcHRpb25zLGtleWZyYW1lczplfSk7XCJtaXJyb3JcIj09PW8mJihsPXMoey4uLnRoaXMub3B0aW9ucyxrZXlmcmFtZXM6Wy4uLmVdLnJldmVyc2UoKSx2ZWxvY2l0eTotaX0pKSxudWxsPT09Yy5jYWxjdWxhdGVkRHVyYXRpb24mJihjLmNhbGN1bGF0ZWREdXJhdGlvbj1mdW5jdGlvbihlKXtsZXQgdD0wLG49ZS5uZXh0KHQpO2Zvcig7IW4uZG9uZSYmdDwyZTQ7KXQrPTUwLG49ZS5uZXh0KHQpO3JldHVybiB0Pj0yZTQ/MS8wOnR9KGMpKTtjb25zdHtjYWxjdWxhdGVkRHVyYXRpb246dX09YyxkPXUrcjtyZXR1cm57Z2VuZXJhdG9yOmMsbWlycm9yZWRHZW5lcmF0b3I6bCxtYXBQZXJjZW50VG9LZXlmcmFtZXM6YSxjYWxjdWxhdGVkRHVyYXRpb246dSxyZXNvbHZlZER1cmF0aW9uOmQsdG90YWxEdXJhdGlvbjpkKihuKzEpLXJ9fW9uUG9zdFJlc29sdmVkKCl7Y29uc3R7YXV0b3BsYXk6ZT0hMH09dGhpcy5vcHRpb25zO3RoaXMucGxheSgpLFwicGF1c2VkXCIhPT10aGlzLnBlbmRpbmdQbGF5U3RhdGUmJmU/dGhpcy5zdGF0ZT10aGlzLnBlbmRpbmdQbGF5U3RhdGU6dGhpcy5wYXVzZSgpfXRpY2soZSx0PSExKXtjb25zdHtyZXNvbHZlZDpufT10aGlzO2lmKCFuKXtjb25zdHtrZXlmcmFtZXM6ZX09dGhpcy5vcHRpb25zO3JldHVybntkb25lOiEwLHZhbHVlOmVbZS5sZW5ndGgtMV19fWNvbnN0e2ZpbmFsS2V5ZnJhbWU6cixnZW5lcmF0b3I6byxtaXJyb3JlZEdlbmVyYXRvcjppLG1hcFBlcmNlbnRUb0tleWZyYW1lczpzLGtleWZyYW1lczphLGNhbGN1bGF0ZWREdXJhdGlvbjpsLHRvdGFsRHVyYXRpb246YyxyZXNvbHZlZER1cmF0aW9uOnV9PW47aWYobnVsbD09PXRoaXMuc3RhcnRUaW1lKXJldHVybiBvLm5leHQoMCk7Y29uc3R7ZGVsYXk6ZCxyZXBlYXQ6ZixyZXBlYXRUeXBlOm0scmVwZWF0RGVsYXk6aCxvblVwZGF0ZTpwfT10aGlzLm9wdGlvbnM7dGhpcy5zcGVlZD4wP3RoaXMuc3RhcnRUaW1lPU1hdGgubWluKHRoaXMuc3RhcnRUaW1lLGUpOnRoaXMuc3BlZWQ8MCYmKHRoaXMuc3RhcnRUaW1lPU1hdGgubWluKGUtYy90aGlzLnNwZWVkLHRoaXMuc3RhcnRUaW1lKSksdD90aGlzLmN1cnJlbnRUaW1lPWU6bnVsbCE9PXRoaXMuaG9sZFRpbWU/dGhpcy5jdXJyZW50VGltZT10aGlzLmhvbGRUaW1lOnRoaXMuY3VycmVudFRpbWU9TWF0aC5yb3VuZChlLXRoaXMuc3RhcnRUaW1lKSp0aGlzLnNwZWVkO2NvbnN0IGc9dGhpcy5jdXJyZW50VGltZS1kKih0aGlzLnNwZWVkPj0wPzE6LTEpLHk9dGhpcy5zcGVlZD49MD9nPDA6Zz5jO3RoaXMuY3VycmVudFRpbWU9TWF0aC5tYXgoZywwKSxcImZpbmlzaGVkXCI9PT10aGlzLnN0YXRlJiZudWxsPT09dGhpcy5ob2xkVGltZSYmKHRoaXMuY3VycmVudFRpbWU9Yyk7bGV0IHY9dGhpcy5jdXJyZW50VGltZSxiPW87aWYoZil7Y29uc3QgZT1NYXRoLm1pbih0aGlzLmN1cnJlbnRUaW1lLGMpL3U7bGV0IHQ9TWF0aC5mbG9vcihlKSxuPWUlMTshbiYmZT49MSYmKG49MSksMT09PW4mJnQtLSx0PU1hdGgubWluKHQsZisxKSxCb29sZWFuKHQlMikmJihcInJldmVyc2VcIj09PW0/KG49MS1uLGgmJihuLT1oL3UpKTpcIm1pcnJvclwiPT09bSYmKGI9aSkpLHY9bXMoMCwxLG4pKnV9Y29uc3QgeD15P3tkb25lOiExLHZhbHVlOmFbMF19OmIubmV4dCh2KTtzJiYoeC52YWx1ZT1zKHgudmFsdWUpKTtsZXR7ZG9uZTp3fT14O3l8fG51bGw9PT1sfHwodz10aGlzLnNwZWVkPj0wP3RoaXMuY3VycmVudFRpbWU+PWM6dGhpcy5jdXJyZW50VGltZTw9MCk7Y29uc3QgUz1udWxsPT09dGhpcy5ob2xkVGltZSYmKFwiZmluaXNoZWRcIj09PXRoaXMuc3RhdGV8fFwicnVubmluZ1wiPT09dGhpcy5zdGF0ZSYmdyk7cmV0dXJuIFMmJnZvaWQgMCE9PXImJih4LnZhbHVlPXFpKGEsdGhpcy5vcHRpb25zLHIpKSxwJiZwKHgudmFsdWUpLFMmJnRoaXMuZmluaXNoKCkseH1nZXQgZHVyYXRpb24oKXtjb25zdHtyZXNvbHZlZDplfT10aGlzO3JldHVybiBlP1dpKGUuY2FsY3VsYXRlZER1cmF0aW9uKTowfWdldCB0aW1lKCl7cmV0dXJuIFdpKHRoaXMuY3VycmVudFRpbWUpfXNldCB0aW1lKGUpe2U9QmkoZSksdGhpcy5jdXJyZW50VGltZT1lLG51bGwhPT10aGlzLmhvbGRUaW1lfHwwPT09dGhpcy5zcGVlZD90aGlzLmhvbGRUaW1lPWU6dGhpcy5kcml2ZXImJih0aGlzLnN0YXJ0VGltZT10aGlzLmRyaXZlci5ub3coKS1lL3RoaXMuc3BlZWQpfWdldCBzcGVlZCgpe3JldHVybiB0aGlzLnBsYXliYWNrU3BlZWR9c2V0IHNwZWVkKGUpe2NvbnN0IHQ9dGhpcy5wbGF5YmFja1NwZWVkIT09ZTt0aGlzLnBsYXliYWNrU3BlZWQ9ZSx0JiYodGhpcy50aW1lPVdpKHRoaXMuY3VycmVudFRpbWUpKX1wbGF5KCl7aWYodGhpcy5yZXNvbHZlci5pc1NjaGVkdWxlZHx8dGhpcy5yZXNvbHZlci5yZXN1bWUoKSwhdGhpcy5fcmVzb2x2ZWQpcmV0dXJuIHZvaWQodGhpcy5wZW5kaW5nUGxheVN0YXRlPVwicnVubmluZ1wiKTtpZih0aGlzLmlzU3RvcHBlZClyZXR1cm47Y29uc3R7ZHJpdmVyOmU9eGwsb25QbGF5OnQsc3RhcnRUaW1lOm59PXRoaXMub3B0aW9uczt0aGlzLmRyaXZlcnx8KHRoaXMuZHJpdmVyPWUoKGU9PnRoaXMudGljayhlKSkpKSx0JiZ0KCk7Y29uc3Qgcj10aGlzLmRyaXZlci5ub3coKTtudWxsIT09dGhpcy5ob2xkVGltZT90aGlzLnN0YXJ0VGltZT1yLXRoaXMuaG9sZFRpbWU6dGhpcy5zdGFydFRpbWU/XCJmaW5pc2hlZFwiPT09dGhpcy5zdGF0ZSYmKHRoaXMuc3RhcnRUaW1lPXIpOnRoaXMuc3RhcnRUaW1lPW51bGwhPW4/bjp0aGlzLmNhbGNTdGFydFRpbWUoKSxcImZpbmlzaGVkXCI9PT10aGlzLnN0YXRlJiZ0aGlzLnVwZGF0ZUZpbmlzaGVkUHJvbWlzZSgpLHRoaXMuY2FuY2VsVGltZT10aGlzLnN0YXJ0VGltZSx0aGlzLmhvbGRUaW1lPW51bGwsdGhpcy5zdGF0ZT1cInJ1bm5pbmdcIix0aGlzLmRyaXZlci5zdGFydCgpfXBhdXNlKCl7dmFyIGU7dGhpcy5fcmVzb2x2ZWQ/KHRoaXMuc3RhdGU9XCJwYXVzZWRcIix0aGlzLmhvbGRUaW1lPW51bGwhPT0oZT10aGlzLmN1cnJlbnRUaW1lKSYmdm9pZCAwIT09ZT9lOjApOnRoaXMucGVuZGluZ1BsYXlTdGF0ZT1cInBhdXNlZFwifWNvbXBsZXRlKCl7XCJydW5uaW5nXCIhPT10aGlzLnN0YXRlJiZ0aGlzLnBsYXkoKSx0aGlzLnBlbmRpbmdQbGF5U3RhdGU9dGhpcy5zdGF0ZT1cImZpbmlzaGVkXCIsdGhpcy5ob2xkVGltZT1udWxsfWZpbmlzaCgpe3RoaXMudGVhcmRvd24oKSx0aGlzLnN0YXRlPVwiZmluaXNoZWRcIjtjb25zdHtvbkNvbXBsZXRlOmV9PXRoaXMub3B0aW9ucztlJiZlKCl9Y2FuY2VsKCl7bnVsbCE9PXRoaXMuY2FuY2VsVGltZSYmdGhpcy50aWNrKHRoaXMuY2FuY2VsVGltZSksdGhpcy50ZWFyZG93bigpLHRoaXMudXBkYXRlRmluaXNoZWRQcm9taXNlKCl9dGVhcmRvd24oKXt0aGlzLnN0YXRlPVwiaWRsZVwiLHRoaXMuc3RvcERyaXZlcigpLHRoaXMucmVzb2x2ZUZpbmlzaGVkUHJvbWlzZSgpLHRoaXMudXBkYXRlRmluaXNoZWRQcm9taXNlKCksdGhpcy5zdGFydFRpbWU9dGhpcy5jYW5jZWxUaW1lPW51bGwsdGhpcy5yZXNvbHZlci5jYW5jZWwoKX1zdG9wRHJpdmVyKCl7dGhpcy5kcml2ZXImJih0aGlzLmRyaXZlci5zdG9wKCksdGhpcy5kcml2ZXI9dm9pZCAwKX1zYW1wbGUoZSl7cmV0dXJuIHRoaXMuc3RhcnRUaW1lPTAsdGhpcy50aWNrKGUsITApfX1jb25zdCBFbD1uZXcgU2V0KFtcIm9wYWNpdHlcIixcImNsaXBQYXRoXCIsXCJmaWx0ZXJcIixcInRyYW5zZm9ybVwiXSksQ2w9ZT0+QXJyYXkuaXNBcnJheShlKSYmXCJudW1iZXJcIj09dHlwZW9mIGVbMF07ZnVuY3Rpb24gX2woZSl7cmV0dXJuIEJvb2xlYW4oIWV8fFwic3RyaW5nXCI9PXR5cGVvZiBlJiZlIGluIE9sfHxDbChlKXx8QXJyYXkuaXNBcnJheShlKSYmZS5ldmVyeShfbCkpfWNvbnN0IFBsPShbZSx0LG4scl0pPT5gY3ViaWMtYmV6aWVyKCR7ZX0sICR7dH0sICR7bn0sICR7cn0pYCxPbD17bGluZWFyOlwibGluZWFyXCIsZWFzZTpcImVhc2VcIixlYXNlSW46XCJlYXNlLWluXCIsZWFzZU91dDpcImVhc2Utb3V0XCIsZWFzZUluT3V0OlwiZWFzZS1pbi1vdXRcIixjaXJjSW46UGwoWzAsLjY1LC41NSwxXSksY2lyY091dDpQbChbLjU1LDAsMSwuNDVdKSxiYWNrSW46UGwoWy4zMSwuMDEsLjY2LC0uNTldKSxiYWNrT3V0OlBsKFsuMzMsMS41MywuNjksLjk5XSl9O2Z1bmN0aW9uIE5sKGUpe3JldHVybiBUbChlKXx8T2wuZWFzZU91dH1mdW5jdGlvbiBUbChlKXtyZXR1cm4gZT9DbChlKT9QbChlKTpBcnJheS5pc0FycmF5KGUpP2UubWFwKE5sKTpPbFtlXTp2b2lkIDB9Y29uc3QgTWw9eGEoKCgpPT5PYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChFbGVtZW50LnByb3RvdHlwZSxcImFuaW1hdGVcIikpKTtjbGFzcyBSbCBleHRlbmRzIENhe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e25hbWU6dCxtb3Rpb25WYWx1ZTpuLGVsZW1lbnQ6cixrZXlmcmFtZXM6b309dGhpcy5vcHRpb25zO3RoaXMucmVzb2x2ZXI9bmV3IGJhKG8sKChlLHQpPT50aGlzLm9uS2V5ZnJhbWVzUmVzb2x2ZWQoZSx0KSksdCxuLHIpLHRoaXMucmVzb2x2ZXIuc2NoZWR1bGVSZXNvbHZlKCl9aW5pdFBsYXliYWNrKGUsdCl7dmFyIG47bGV0e2R1cmF0aW9uOnI9MzAwLHRpbWVzOm8sZWFzZTppLHR5cGU6cyxtb3Rpb25WYWx1ZTphLG5hbWU6bCxzdGFydFRpbWU6Y309dGhpcy5vcHRpb25zO2lmKCEobnVsbD09PShuPWEub3duZXIpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmN1cnJlbnQpKXJldHVybiExO2lmKFwic3ByaW5nXCI9PT0odT10aGlzLm9wdGlvbnMpLnR5cGV8fCFfbCh1LmVhc2UpKXtjb25zdHtvbkNvbXBsZXRlOnQsb25VcGRhdGU6bixtb3Rpb25WYWx1ZTphLGVsZW1lbnQ6bCwuLi5jfT10aGlzLm9wdGlvbnMsdT1mdW5jdGlvbihlLHQpe2NvbnN0IG49bmV3IGtsKHsuLi50LGtleWZyYW1lczplLHJlcGVhdDowLGRlbGF5OjAsaXNHZW5lcmF0b3I6ITB9KTtsZXQgcj17ZG9uZTohMSx2YWx1ZTplWzBdfTtjb25zdCBvPVtdO2xldCBpPTA7Zm9yKDshci5kb25lJiZpPDJlNDspcj1uLnNhbXBsZShpKSxvLnB1c2goci52YWx1ZSksaSs9MTA7cmV0dXJue3RpbWVzOnZvaWQgMCxrZXlmcmFtZXM6byxkdXJhdGlvbjppLTEwLGVhc2U6XCJsaW5lYXJcIn19KGUsYyk7MT09PShlPXUua2V5ZnJhbWVzKS5sZW5ndGgmJihlWzFdPWVbMF0pLHI9dS5kdXJhdGlvbixvPXUudGltZXMsaT11LmVhc2Uscz1cImtleWZyYW1lc1wifXZhciB1O2NvbnN0IGQ9ZnVuY3Rpb24oZSx0LG4se2RlbGF5OnI9MCxkdXJhdGlvbjpvPTMwMCxyZXBlYXQ6aT0wLHJlcGVhdFR5cGU6cz1cImxvb3BcIixlYXNlOmEsdGltZXM6bH09e30pe2NvbnN0IGM9e1t0XTpufTtsJiYoYy5vZmZzZXQ9bCk7Y29uc3QgdT1UbChhKTtyZXR1cm4gQXJyYXkuaXNBcnJheSh1KSYmKGMuZWFzaW5nPXUpLGUuYW5pbWF0ZShjLHtkZWxheTpyLGR1cmF0aW9uOm8sZWFzaW5nOkFycmF5LmlzQXJyYXkodSk/XCJsaW5lYXJcIjp1LGZpbGw6XCJib3RoXCIsaXRlcmF0aW9uczppKzEsZGlyZWN0aW9uOlwicmV2ZXJzZVwiPT09cz9cImFsdGVybmF0ZVwiOlwibm9ybWFsXCJ9KX0oYS5vd25lci5jdXJyZW50LGwsZSx7Li4udGhpcy5vcHRpb25zLGR1cmF0aW9uOnIsdGltZXM6byxlYXNlOml9KTtyZXR1cm4gZC5zdGFydFRpbWU9bnVsbCE9Yz9jOnRoaXMuY2FsY1N0YXJ0VGltZSgpLHRoaXMucGVuZGluZ1RpbWVsaW5lPyhkLnRpbWVsaW5lPXRoaXMucGVuZGluZ1RpbWVsaW5lLHRoaXMucGVuZGluZ1RpbWVsaW5lPXZvaWQgMCk6ZC5vbmZpbmlzaD0oKT0+e2NvbnN0e29uQ29tcGxldGU6bn09dGhpcy5vcHRpb25zO2Euc2V0KHFpKGUsdGhpcy5vcHRpb25zLHQpKSxuJiZuKCksdGhpcy5jYW5jZWwoKSx0aGlzLnJlc29sdmVGaW5pc2hlZFByb21pc2UoKX0se2FuaW1hdGlvbjpkLGR1cmF0aW9uOnIsdGltZXM6byx0eXBlOnMsZWFzZTppLGtleWZyYW1lczplfX1nZXQgZHVyYXRpb24oKXtjb25zdHtyZXNvbHZlZDplfT10aGlzO2lmKCFlKXJldHVybiAwO2NvbnN0e2R1cmF0aW9uOnR9PWU7cmV0dXJuIFdpKHQpfWdldCB0aW1lKCl7Y29uc3R7cmVzb2x2ZWQ6ZX09dGhpcztpZighZSlyZXR1cm4gMDtjb25zdHthbmltYXRpb246dH09ZTtyZXR1cm4gV2kodC5jdXJyZW50VGltZXx8MCl9c2V0IHRpbWUoZSl7Y29uc3R7cmVzb2x2ZWQ6dH09dGhpcztpZighdClyZXR1cm47Y29uc3R7YW5pbWF0aW9uOm59PXQ7bi5jdXJyZW50VGltZT1CaShlKX1nZXQgc3BlZWQoKXtjb25zdHtyZXNvbHZlZDplfT10aGlzO2lmKCFlKXJldHVybiAxO2NvbnN0e2FuaW1hdGlvbjp0fT1lO3JldHVybiB0LnBsYXliYWNrUmF0ZX1zZXQgc3BlZWQoZSl7Y29uc3R7cmVzb2x2ZWQ6dH09dGhpcztpZighdClyZXR1cm47Y29uc3R7YW5pbWF0aW9uOm59PXQ7bi5wbGF5YmFja1JhdGU9ZX1nZXQgc3RhdGUoKXtjb25zdHtyZXNvbHZlZDplfT10aGlzO2lmKCFlKXJldHVyblwiaWRsZVwiO2NvbnN0e2FuaW1hdGlvbjp0fT1lO3JldHVybiB0LnBsYXlTdGF0ZX1nZXQgc3RhcnRUaW1lKCl7Y29uc3R7cmVzb2x2ZWQ6ZX09dGhpcztpZighZSlyZXR1cm4gbnVsbDtjb25zdHthbmltYXRpb246dH09ZTtyZXR1cm4gdC5zdGFydFRpbWV9YXR0YWNoVGltZWxpbmUoZSl7aWYodGhpcy5fcmVzb2x2ZWQpe2NvbnN0e3Jlc29sdmVkOnR9PXRoaXM7aWYoIXQpcmV0dXJuIEdpO2NvbnN0e2FuaW1hdGlvbjpufT10O24udGltZWxpbmU9ZSxuLm9uZmluaXNoPW51bGx9ZWxzZSB0aGlzLnBlbmRpbmdUaW1lbGluZT1lO3JldHVybiBHaX1wbGF5KCl7aWYodGhpcy5pc1N0b3BwZWQpcmV0dXJuO2NvbnN0e3Jlc29sdmVkOmV9PXRoaXM7aWYoIWUpcmV0dXJuO2NvbnN0e2FuaW1hdGlvbjp0fT1lO1wiZmluaXNoZWRcIj09PXQucGxheVN0YXRlJiZ0aGlzLnVwZGF0ZUZpbmlzaGVkUHJvbWlzZSgpLHQucGxheSgpfXBhdXNlKCl7Y29uc3R7cmVzb2x2ZWQ6ZX09dGhpcztpZighZSlyZXR1cm47Y29uc3R7YW5pbWF0aW9uOnR9PWU7dC5wYXVzZSgpfXN0b3AoKXtpZih0aGlzLnJlc29sdmVyLmNhbmNlbCgpLHRoaXMuaXNTdG9wcGVkPSEwLFwiaWRsZVwiPT09dGhpcy5zdGF0ZSlyZXR1cm47dGhpcy5yZXNvbHZlRmluaXNoZWRQcm9taXNlKCksdGhpcy51cGRhdGVGaW5pc2hlZFByb21pc2UoKTtjb25zdHtyZXNvbHZlZDplfT10aGlzO2lmKCFlKXJldHVybjtjb25zdHthbmltYXRpb246dCxrZXlmcmFtZXM6bixkdXJhdGlvbjpyLHR5cGU6byxlYXNlOmksdGltZXM6c309ZTtpZihcImlkbGVcIj09PXQucGxheVN0YXRlfHxcImZpbmlzaGVkXCI9PT10LnBsYXlTdGF0ZSlyZXR1cm47aWYodGhpcy50aW1lKXtjb25zdHttb3Rpb25WYWx1ZTplLG9uVXBkYXRlOnQsb25Db21wbGV0ZTphLGVsZW1lbnQ6bCwuLi5jfT10aGlzLm9wdGlvbnMsdT1uZXcga2woey4uLmMsa2V5ZnJhbWVzOm4sZHVyYXRpb246cix0eXBlOm8sZWFzZTppLHRpbWVzOnMsaXNHZW5lcmF0b3I6ITB9KSxkPUJpKHRoaXMudGltZSk7ZS5zZXRXaXRoVmVsb2NpdHkodS5zYW1wbGUoZC0xMCkudmFsdWUsdS5zYW1wbGUoZCkudmFsdWUsMTApfWNvbnN0e29uU3RvcDphfT10aGlzLm9wdGlvbnM7YSYmYSgpLHRoaXMuY2FuY2VsKCl9Y29tcGxldGUoKXtjb25zdHtyZXNvbHZlZDplfT10aGlzO2UmJmUuYW5pbWF0aW9uLmZpbmlzaCgpfWNhbmNlbCgpe2NvbnN0e3Jlc29sdmVkOmV9PXRoaXM7ZSYmZS5hbmltYXRpb24uY2FuY2VsKCl9c3RhdGljIHN1cHBvcnRzKGUpe2NvbnN0e21vdGlvblZhbHVlOnQsbmFtZTpuLHJlcGVhdERlbGF5OnIscmVwZWF0VHlwZTpvLGRhbXBpbmc6aSx0eXBlOnN9PWU7cmV0dXJuIE1sKCkmJm4mJkVsLmhhcyhuKSYmdCYmdC5vd25lciYmdC5vd25lci5jdXJyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJiF0Lm93bmVyLmdldFByb3BzKCkub25VcGRhdGUmJiFyJiZcIm1pcnJvclwiIT09byYmMCE9PWkmJlwiaW5lcnRpYVwiIT09c319Y29uc3QgRGw9eGEoKCgpPT52b2lkIDAhPT13aW5kb3cuU2Nyb2xsVGltZWxpbmUpKTtjbGFzcyBqbHtjb25zdHJ1Y3RvcihlKXt0aGlzLnN0b3A9KCk9PnRoaXMucnVuQWxsKFwic3RvcFwiKSx0aGlzLmFuaW1hdGlvbnM9ZS5maWx0ZXIoQm9vbGVhbil9dGhlbihlLHQpe3JldHVybiBQcm9taXNlLmFsbCh0aGlzLmFuaW1hdGlvbnMpLnRoZW4oZSkuY2F0Y2godCl9Z2V0QWxsKGUpe3JldHVybiB0aGlzLmFuaW1hdGlvbnNbMF1bZV19c2V0QWxsKGUsdCl7Zm9yKGxldCBuPTA7bjx0aGlzLmFuaW1hdGlvbnMubGVuZ3RoO24rKyl0aGlzLmFuaW1hdGlvbnNbbl1bZV09dH1hdHRhY2hUaW1lbGluZShlKXtjb25zdCB0PXRoaXMuYW5pbWF0aW9ucy5tYXAoKHQ9PntpZighRGwoKXx8IXQuYXR0YWNoVGltZWxpbmUpcmV0dXJuIHQucGF1c2UoKSxmdW5jdGlvbihlLG4pe2xldCByO2NvbnN0IG89KCk9Pntjb25zdHtjdXJyZW50VGltZTplfT1uLG89KG51bGw9PT1lPzA6ZS52YWx1ZSkvMTAwO3IhPT1vJiYoZT0+e3QudGltZT10LmR1cmF0aW9uKmV9KShvKSxyPW99O3JldHVybiBKaS51cGRhdGUobywhMCksKCk9PlFpKG8pfSgwLGUpO3QuYXR0YWNoVGltZWxpbmUoZSl9KSk7cmV0dXJuKCk9Pnt0LmZvckVhY2goKChlLHQpPT57ZSYmZSgpLHRoaXMuYW5pbWF0aW9uc1t0XS5zdG9wKCl9KSl9fWdldCB0aW1lKCl7cmV0dXJuIHRoaXMuZ2V0QWxsKFwidGltZVwiKX1zZXQgdGltZShlKXt0aGlzLnNldEFsbChcInRpbWVcIixlKX1nZXQgc3BlZWQoKXtyZXR1cm4gdGhpcy5nZXRBbGwoXCJzcGVlZFwiKX1zZXQgc3BlZWQoZSl7dGhpcy5zZXRBbGwoXCJzcGVlZFwiLGUpfWdldCBzdGFydFRpbWUoKXtyZXR1cm4gdGhpcy5nZXRBbGwoXCJzdGFydFRpbWVcIil9Z2V0IGR1cmF0aW9uKCl7bGV0IGU9MDtmb3IobGV0IHQ9MDt0PHRoaXMuYW5pbWF0aW9ucy5sZW5ndGg7dCsrKWU9TWF0aC5tYXgoZSx0aGlzLmFuaW1hdGlvbnNbdF0uZHVyYXRpb24pO3JldHVybiBlfXJ1bkFsbChlKXt0aGlzLmFuaW1hdGlvbnMuZm9yRWFjaCgodD0+dFtlXSgpKSl9cGxheSgpe3RoaXMucnVuQWxsKFwicGxheVwiKX1wYXVzZSgpe3RoaXMucnVuQWxsKFwicGF1c2VcIil9Y2FuY2VsKCl7dGhpcy5ydW5BbGwoXCJjYW5jZWxcIil9Y29tcGxldGUoKXt0aGlzLnJ1bkFsbChcImNvbXBsZXRlXCIpfX1jb25zdCBBbD0oZSx0LG4scj17fSxvLGkscyk9PmE9Pntjb25zdCBsPUhpKHIsZSl8fHt9LGM9bC5kZWxheXx8ci5kZWxheXx8MDtsZXR7ZWxhcHNlZDp1PTB9PXI7dS09QmkoYyk7bGV0IGQ9e2tleWZyYW1lczpBcnJheS5pc0FycmF5KG4pP246W251bGwsbl0sZWFzZTpcImVhc2VPdXRcIix2ZWxvY2l0eTp0LmdldFZlbG9jaXR5KCksLi4ubCxkZWxheTotdSxvblVwZGF0ZTplPT57dC5zZXQoZSksbC5vblVwZGF0ZSYmbC5vblVwZGF0ZShlKX0sb25Db21wbGV0ZTooKT0+e2EoKSxsLm9uQ29tcGxldGUmJmwub25Db21wbGV0ZSgpLHMmJnMoKX0sb25TdG9wOnMsbmFtZTplLG1vdGlvblZhbHVlOnQsZWxlbWVudDppP3ZvaWQgMDpvfTsoZnVuY3Rpb24oe3doZW46ZSxkZWxheTp0LGRlbGF5Q2hpbGRyZW46bixzdGFnZ2VyQ2hpbGRyZW46cixzdGFnZ2VyRGlyZWN0aW9uOm8scmVwZWF0OmkscmVwZWF0VHlwZTpzLHJlcGVhdERlbGF5OmEsZnJvbTpsLGVsYXBzZWQ6YywuLi51fSl7cmV0dXJuISFPYmplY3Qua2V5cyh1KS5sZW5ndGh9KShsKXx8KGQ9ey4uLmQsLi4uWWkoZSxkKX0pLGQuZHVyYXRpb24mJihkLmR1cmF0aW9uPUJpKGQuZHVyYXRpb24pKSxkLnJlcGVhdERlbGF5JiYoZC5yZXBlYXREZWxheT1CaShkLnJlcGVhdERlbGF5KSksdm9pZCAwIT09ZC5mcm9tJiYoZC5rZXlmcmFtZXNbMF09ZC5mcm9tKTtsZXQgZj0hMTtpZigoITE9PT1kLnR5cGV8fDA9PT1kLmR1cmF0aW9uJiYhZC5yZXBlYXREZWxheSkmJihkLmR1cmF0aW9uPTAsMD09PWQuZGVsYXkmJihmPSEwKSksZiYmIWkmJnZvaWQgMCE9PXQuZ2V0KCkpe2NvbnN0IGU9cWkoZC5rZXlmcmFtZXMsbCk7aWYodm9pZCAwIT09ZSlyZXR1cm4gSmkudXBkYXRlKCgoKT0+e2Qub25VcGRhdGUoZSksZC5vbkNvbXBsZXRlKCl9KSksbmV3IGpsKFtdKX1yZXR1cm4haSYmUmwuc3VwcG9ydHMoZCk/bmV3IFJsKGQpOm5ldyBrbChkKX0sSWw9ZT0+Qm9vbGVhbihlJiZcIm9iamVjdFwiPT10eXBlb2YgZSYmZS5taXgmJmUudG9WYWx1ZSksTGw9ZT0+VGkoZSk/ZVtlLmxlbmd0aC0xXXx8MDplO2Z1bmN0aW9uIEZsKGUsdCl7LTE9PT1lLmluZGV4T2YodCkmJmUucHVzaCh0KX1mdW5jdGlvbiB6bChlLHQpe2NvbnN0IG49ZS5pbmRleE9mKHQpO24+LTEmJmUuc3BsaWNlKG4sMSl9Y2xhc3MgQmx7Y29uc3RydWN0b3IoKXt0aGlzLnN1YnNjcmlwdGlvbnM9W119YWRkKGUpe3JldHVybiBGbCh0aGlzLnN1YnNjcmlwdGlvbnMsZSksKCk9PnpsKHRoaXMuc3Vic2NyaXB0aW9ucyxlKX1ub3RpZnkoZSx0LG4pe2NvbnN0IHI9dGhpcy5zdWJzY3JpcHRpb25zLmxlbmd0aDtpZihyKWlmKDE9PT1yKXRoaXMuc3Vic2NyaXB0aW9uc1swXShlLHQsbik7ZWxzZSBmb3IobGV0IG89MDtvPHI7bysrKXtjb25zdCByPXRoaXMuc3Vic2NyaXB0aW9uc1tvXTtyJiZyKGUsdCxuKX19Z2V0U2l6ZSgpe3JldHVybiB0aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RofWNsZWFyKCl7dGhpcy5zdWJzY3JpcHRpb25zLmxlbmd0aD0wfX1jb25zdCBXbD17Y3VycmVudDp2b2lkIDB9O2NsYXNzIFZse2NvbnN0cnVjdG9yKGUsdD17fSl7dGhpcy52ZXJzaW9uPVwiMTEuNC4wXCIsdGhpcy5jYW5UcmFja1ZlbG9jaXR5PW51bGwsdGhpcy5ldmVudHM9e30sdGhpcy51cGRhdGVBbmROb3RpZnk9KGUsdD0hMCk9Pntjb25zdCBuPWthLm5vdygpO3RoaXMudXBkYXRlZEF0IT09biYmdGhpcy5zZXRQcmV2RnJhbWVWYWx1ZSgpLHRoaXMucHJldj10aGlzLmN1cnJlbnQsdGhpcy5zZXRDdXJyZW50KGUpLHRoaXMuY3VycmVudCE9PXRoaXMucHJldiYmdGhpcy5ldmVudHMuY2hhbmdlJiZ0aGlzLmV2ZW50cy5jaGFuZ2Uubm90aWZ5KHRoaXMuY3VycmVudCksdCYmdGhpcy5ldmVudHMucmVuZGVyUmVxdWVzdCYmdGhpcy5ldmVudHMucmVuZGVyUmVxdWVzdC5ub3RpZnkodGhpcy5jdXJyZW50KX0sdGhpcy5oYXNBbmltYXRlZD0hMSx0aGlzLnNldEN1cnJlbnQoZSksdGhpcy5vd25lcj10Lm93bmVyfXNldEN1cnJlbnQoZSl7dmFyIHQ7dGhpcy5jdXJyZW50PWUsdGhpcy51cGRhdGVkQXQ9a2Eubm93KCksbnVsbD09PXRoaXMuY2FuVHJhY2tWZWxvY2l0eSYmdm9pZCAwIT09ZSYmKHRoaXMuY2FuVHJhY2tWZWxvY2l0eT0odD10aGlzLmN1cnJlbnQsIWlzTmFOKHBhcnNlRmxvYXQodCkpKSl9c2V0UHJldkZyYW1lVmFsdWUoZT10aGlzLmN1cnJlbnQpe3RoaXMucHJldkZyYW1lVmFsdWU9ZSx0aGlzLnByZXZVcGRhdGVkQXQ9dGhpcy51cGRhdGVkQXR9b25DaGFuZ2UoZSl7cmV0dXJuIHRoaXMub24oXCJjaGFuZ2VcIixlKX1vbihlLHQpe3RoaXMuZXZlbnRzW2VdfHwodGhpcy5ldmVudHNbZV09bmV3IEJsKTtjb25zdCBuPXRoaXMuZXZlbnRzW2VdLmFkZCh0KTtyZXR1cm5cImNoYW5nZVwiPT09ZT8oKT0+e24oKSxKaS5yZWFkKCgoKT0+e3RoaXMuZXZlbnRzLmNoYW5nZS5nZXRTaXplKCl8fHRoaXMuc3RvcCgpfSkpfTpufWNsZWFyTGlzdGVuZXJzKCl7Zm9yKGNvbnN0IGUgaW4gdGhpcy5ldmVudHMpdGhpcy5ldmVudHNbZV0uY2xlYXIoKX1hdHRhY2goZSx0KXt0aGlzLnBhc3NpdmVFZmZlY3Q9ZSx0aGlzLnN0b3BQYXNzaXZlRWZmZWN0PXR9c2V0KGUsdD0hMCl7dCYmdGhpcy5wYXNzaXZlRWZmZWN0P3RoaXMucGFzc2l2ZUVmZmVjdChlLHRoaXMudXBkYXRlQW5kTm90aWZ5KTp0aGlzLnVwZGF0ZUFuZE5vdGlmeShlLHQpfXNldFdpdGhWZWxvY2l0eShlLHQsbil7dGhpcy5zZXQodCksdGhpcy5wcmV2PXZvaWQgMCx0aGlzLnByZXZGcmFtZVZhbHVlPWUsdGhpcy5wcmV2VXBkYXRlZEF0PXRoaXMudXBkYXRlZEF0LW59anVtcChlLHQ9ITApe3RoaXMudXBkYXRlQW5kTm90aWZ5KGUpLHRoaXMucHJldj1lLHRoaXMucHJldlVwZGF0ZWRBdD10aGlzLnByZXZGcmFtZVZhbHVlPXZvaWQgMCx0JiZ0aGlzLnN0b3AoKSx0aGlzLnN0b3BQYXNzaXZlRWZmZWN0JiZ0aGlzLnN0b3BQYXNzaXZlRWZmZWN0KCl9Z2V0KCl7cmV0dXJuIFdsLmN1cnJlbnQmJldsLmN1cnJlbnQucHVzaCh0aGlzKSx0aGlzLmN1cnJlbnR9Z2V0UHJldmlvdXMoKXtyZXR1cm4gdGhpcy5wcmV2fWdldFZlbG9jaXR5KCl7Y29uc3QgZT1rYS5ub3coKTtpZighdGhpcy5jYW5UcmFja1ZlbG9jaXR5fHx2b2lkIDA9PT10aGlzLnByZXZGcmFtZVZhbHVlfHxlLXRoaXMudXBkYXRlZEF0PjMwKXJldHVybiAwO2NvbnN0IHQ9TWF0aC5taW4odGhpcy51cGRhdGVkQXQtdGhpcy5wcmV2VXBkYXRlZEF0LDMwKTtyZXR1cm4gX2EocGFyc2VGbG9hdCh0aGlzLmN1cnJlbnQpLXBhcnNlRmxvYXQodGhpcy5wcmV2RnJhbWVWYWx1ZSksdCl9c3RhcnQoZSl7cmV0dXJuIHRoaXMuc3RvcCgpLG5ldyBQcm9taXNlKCh0PT57dGhpcy5oYXNBbmltYXRlZD0hMCx0aGlzLmFuaW1hdGlvbj1lKHQpLHRoaXMuZXZlbnRzLmFuaW1hdGlvblN0YXJ0JiZ0aGlzLmV2ZW50cy5hbmltYXRpb25TdGFydC5ub3RpZnkoKX0pKS50aGVuKCgoKT0+e3RoaXMuZXZlbnRzLmFuaW1hdGlvbkNvbXBsZXRlJiZ0aGlzLmV2ZW50cy5hbmltYXRpb25Db21wbGV0ZS5ub3RpZnkoKSx0aGlzLmNsZWFyQW5pbWF0aW9uKCl9KSl9c3RvcCgpe3RoaXMuYW5pbWF0aW9uJiYodGhpcy5hbmltYXRpb24uc3RvcCgpLHRoaXMuZXZlbnRzLmFuaW1hdGlvbkNhbmNlbCYmdGhpcy5ldmVudHMuYW5pbWF0aW9uQ2FuY2VsLm5vdGlmeSgpKSx0aGlzLmNsZWFyQW5pbWF0aW9uKCl9aXNBbmltYXRpbmcoKXtyZXR1cm4hIXRoaXMuYW5pbWF0aW9ufWNsZWFyQW5pbWF0aW9uKCl7ZGVsZXRlIHRoaXMuYW5pbWF0aW9ufWRlc3Ryb3koKXt0aGlzLmNsZWFyTGlzdGVuZXJzKCksdGhpcy5zdG9wKCksdGhpcy5zdG9wUGFzc2l2ZUVmZmVjdCYmdGhpcy5zdG9wUGFzc2l2ZUVmZmVjdCgpfX1mdW5jdGlvbiBVbChlLHQpe3JldHVybiBuZXcgVmwoZSx0KX1mdW5jdGlvbiAkbChlLHQsbil7ZS5oYXNWYWx1ZSh0KT9lLmdldFZhbHVlKHQpLnNldChuKTplLmFkZFZhbHVlKHQsVWwobikpfWNvbnN0IFlsPWU9PmUucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZ3UsXCIkMS0kMlwiKS50b0xvd2VyQ2FzZSgpLEhsPVwiZGF0YS1cIitZbChcImZyYW1lckFwcGVhcklkXCIpO2Z1bmN0aW9uIEtsKGUpe3JldHVybiBlLnByb3BzW0hsXX1mdW5jdGlvbiBxbChlKXtyZXR1cm4gemkuaGFzKGUpP1widHJhbnNmb3JtXCI6RWwuaGFzKGUpP1lsKGUpOnZvaWQgMH1jbGFzcyBHbCBleHRlbmRzIFZse2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm91dHB1dD1bXSx0aGlzLmNvdW50cz1uZXcgTWFwfWFkZChlKXtjb25zdCB0PXFsKGUpO2lmKCF0KXJldHVybjtjb25zdCBuPXRoaXMuY291bnRzLmdldCh0KXx8MDt0aGlzLmNvdW50cy5zZXQodCxuKzEpLDA9PT1uJiYodGhpcy5vdXRwdXQucHVzaCh0KSx0aGlzLnVwZGF0ZSgpKTtsZXQgcj0hMTtyZXR1cm4oKT0+e2lmKHIpcmV0dXJuO3I9ITA7Y29uc3QgZT10aGlzLmNvdW50cy5nZXQodCktMTt0aGlzLmNvdW50cy5zZXQodCxlKSwwPT09ZSYmKHpsKHRoaXMub3V0cHV0LHQpLHRoaXMudXBkYXRlKCkpfX11cGRhdGUoKXt0aGlzLnNldCh0aGlzLm91dHB1dC5sZW5ndGg/dGhpcy5vdXRwdXQuam9pbihcIiwgXCIpOlwiYXV0b1wiKX19Y29uc3QgWGw9ZT0+Qm9vbGVhbihlJiZlLmdldFZlbG9jaXR5KTtmdW5jdGlvbiBabChlLHQpe3ZhciBuO2lmKCFlLmFwcGx5V2lsbENoYW5nZSlyZXR1cm47bGV0IHI9ZS5nZXRWYWx1ZShcIndpbGxDaGFuZ2VcIik7cmV0dXJuIHJ8fChudWxsPT09KG49ZS5wcm9wcy5zdHlsZSl8fHZvaWQgMD09PW4/dm9pZCAwOm4ud2lsbENoYW5nZSl8fChyPW5ldyBHbChcImF1dG9cIiksZS5hZGRWYWx1ZShcIndpbGxDaGFuZ2VcIixyKSksbz1yLEJvb2xlYW4oWGwobykmJm8uYWRkKT9yLmFkZCh0KTp2b2lkIDA7dmFyIG99ZnVuY3Rpb24gSmwoe3Byb3RlY3RlZEtleXM6ZSxuZWVkc0FuaW1hdGluZzp0fSxuKXtjb25zdCByPWUuaGFzT3duUHJvcGVydHkobikmJiEwIT09dFtuXTtyZXR1cm4gdFtuXT0hMSxyfWZ1bmN0aW9uIFFsKGUsdCx7ZGVsYXk6bj0wLHRyYW5zaXRpb25PdmVycmlkZTpyLHR5cGU6b309e30pe3ZhciBpO2xldHt0cmFuc2l0aW9uOnM9ZS5nZXREZWZhdWx0VHJhbnNpdGlvbigpLHRyYW5zaXRpb25FbmQ6YSwuLi5sfT10O3ImJihzPXIpO2NvbnN0IGM9W10sdT1vJiZlLmFuaW1hdGlvblN0YXRlJiZlLmFuaW1hdGlvblN0YXRlLmdldFN0YXRlKClbb107Zm9yKGNvbnN0IHQgaW4gbCl7Y29uc3Qgcj1lLmdldFZhbHVlKHQsbnVsbCE9PShpPWUubGF0ZXN0VmFsdWVzW3RdKSYmdm9pZCAwIT09aT9pOm51bGwpLG89bFt0XTtpZih2b2lkIDA9PT1vfHx1JiZKbCh1LHQpKWNvbnRpbnVlO2NvbnN0IGE9e2RlbGF5Om4sLi4uSGkoc3x8e30sdCl9O2xldCBkPSExO2lmKHdpbmRvdy5Nb3Rpb25IYW5kb2ZmQW5pbWF0aW9uKXtjb25zdCBuPUtsKGUpO2lmKG4pe2NvbnN0IGU9d2luZG93Lk1vdGlvbkhhbmRvZmZBbmltYXRpb24obix0LEppKTtudWxsIT09ZSYmKGEuc3RhcnRUaW1lPWUsZD0hMCl9fXIuc3RhcnQoQWwodCxyLG8sZS5zaG91bGRSZWR1Y2VNb3Rpb24mJnppLmhhcyh0KT97dHlwZTohMX06YSxlLGQsWmwoZSx0KSkpO2NvbnN0IGY9ci5hbmltYXRpb247ZiYmYy5wdXNoKGYpfXJldHVybiBhJiZQcm9taXNlLmFsbChjKS50aGVuKCgoKT0+e0ppLnVwZGF0ZSgoKCk9PnthJiZmdW5jdGlvbihlLHQpe2NvbnN0IG49QWkoZSx0KTtsZXR7dHJhbnNpdGlvbkVuZDpyPXt9LHRyYW5zaXRpb246bz17fSwuLi5pfT1ufHx7fTtpPXsuLi5pLC4uLnJ9O2Zvcihjb25zdCB0IGluIGkpJGwoZSx0LExsKGlbdF0pKX0oZSxhKX0pKX0pKSxjfWZ1bmN0aW9uIGVjKGUsdCxuPXt9KXt2YXIgcjtjb25zdCBvPUFpKGUsdCxcImV4aXRcIj09PW4udHlwZT9udWxsPT09KHI9ZS5wcmVzZW5jZUNvbnRleHQpfHx2b2lkIDA9PT1yP3ZvaWQgMDpyLmN1c3RvbTp2b2lkIDApO2xldHt0cmFuc2l0aW9uOmk9ZS5nZXREZWZhdWx0VHJhbnNpdGlvbigpfHx7fX09b3x8e307bi50cmFuc2l0aW9uT3ZlcnJpZGUmJihpPW4udHJhbnNpdGlvbk92ZXJyaWRlKTtjb25zdCBzPW8/KCk9PlByb21pc2UuYWxsKFFsKGUsbyxuKSk6KCk9PlByb21pc2UucmVzb2x2ZSgpLGE9ZS52YXJpYW50Q2hpbGRyZW4mJmUudmFyaWFudENoaWxkcmVuLnNpemU/KHI9MCk9Pntjb25zdHtkZWxheUNoaWxkcmVuOm89MCxzdGFnZ2VyQ2hpbGRyZW46cyxzdGFnZ2VyRGlyZWN0aW9uOmF9PWk7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuPTAscj0wLG89MSxpKXtjb25zdCBzPVtdLGE9KGUudmFyaWFudENoaWxkcmVuLnNpemUtMSkqcixsPTE9PT1vPyhlPTApPT5lKnI6KGU9MCk9PmEtZSpyO3JldHVybiBBcnJheS5mcm9tKGUudmFyaWFudENoaWxkcmVuKS5zb3J0KHRjKS5mb3JFYWNoKCgoZSxyKT0+e2Uubm90aWZ5KFwiQW5pbWF0aW9uU3RhcnRcIix0KSxzLnB1c2goZWMoZSx0LHsuLi5pLGRlbGF5Om4rbChyKX0pLnRoZW4oKCgpPT5lLm5vdGlmeShcIkFuaW1hdGlvbkNvbXBsZXRlXCIsdCkpKSl9KSksUHJvbWlzZS5hbGwocyl9KGUsdCxvK3IscyxhLG4pfTooKT0+UHJvbWlzZS5yZXNvbHZlKCkse3doZW46bH09aTtpZihsKXtjb25zdFtlLHRdPVwiYmVmb3JlQ2hpbGRyZW5cIj09PWw/W3MsYV06W2Esc107cmV0dXJuIGUoKS50aGVuKCgoKT0+dCgpKSl9cmV0dXJuIFByb21pc2UuYWxsKFtzKCksYShuLmRlbGF5KV0pfWZ1bmN0aW9uIHRjKGUsdCl7cmV0dXJuIGUuc29ydE5vZGVQb3NpdGlvbih0KX1jb25zdCBuYz1bLi4uSWldLnJldmVyc2UoKSxyYz1JaS5sZW5ndGg7ZnVuY3Rpb24gb2MoZT0hMSl7cmV0dXJue2lzQWN0aXZlOmUscHJvdGVjdGVkS2V5czp7fSxuZWVkc0FuaW1hdGluZzp7fSxwcmV2UmVzb2x2ZWRWYWx1ZXM6e319fWZ1bmN0aW9uIGljKCl7cmV0dXJue2FuaW1hdGU6b2MoITApLHdoaWxlSW5WaWV3Om9jKCksd2hpbGVIb3ZlcjpvYygpLHdoaWxlVGFwOm9jKCksd2hpbGVEcmFnOm9jKCksd2hpbGVGb2N1czpvYygpLGV4aXQ6b2MoKX19Y2xhc3Mgc2N7Y29uc3RydWN0b3IoZSl7dGhpcy5pc01vdW50ZWQ9ITEsdGhpcy5ub2RlPWV9dXBkYXRlKCl7fX1sZXQgYWM9MDtjb25zdCBsYz17YW5pbWF0aW9uOntGZWF0dXJlOmNsYXNzIGV4dGVuZHMgc2N7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksZS5hbmltYXRpb25TdGF0ZXx8KGUuYW5pbWF0aW9uU3RhdGU9ZnVuY3Rpb24oZSl7bGV0IHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHQ9PlByb21pc2UuYWxsKHQubWFwKCgoe2FuaW1hdGlvbjp0LG9wdGlvbnM6bn0pPT5mdW5jdGlvbihlLHQsbj17fSl7bGV0IHI7aWYoZS5ub3RpZnkoXCJBbmltYXRpb25TdGFydFwiLHQpLEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IG89dC5tYXAoKHQ9PmVjKGUsdCxuKSkpO3I9UHJvbWlzZS5hbGwobyl9ZWxzZSBpZihcInN0cmluZ1wiPT10eXBlb2YgdClyPWVjKGUsdCxuKTtlbHNle2NvbnN0IG89XCJmdW5jdGlvblwiPT10eXBlb2YgdD9BaShlLHQsbi5jdXN0b20pOnQ7cj1Qcm9taXNlLmFsbChRbChlLG8sbikpfXJldHVybiByLnRoZW4oKCgpPT57ZS5ub3RpZnkoXCJBbmltYXRpb25Db21wbGV0ZVwiLHQpfSkpfShlLHQsbikpKSl9KGUpLG49aWMoKSxyPSEwO2NvbnN0IG89dD0+KG4scik9Pnt2YXIgbztjb25zdCBpPUFpKGUscixcImV4aXRcIj09PXQ/bnVsbD09PShvPWUucHJlc2VuY2VDb250ZXh0KXx8dm9pZCAwPT09bz92b2lkIDA6by5jdXN0b206dm9pZCAwKTtpZihpKXtjb25zdHt0cmFuc2l0aW9uOmUsdHJhbnNpdGlvbkVuZDp0LC4uLnJ9PWk7bj17Li4ubiwuLi5yLC4uLnR9fXJldHVybiBufTtmdW5jdGlvbiBpKGkpe2NvbnN0IHM9ZS5nZXRQcm9wcygpLGE9ZS5nZXRWYXJpYW50Q29udGV4dCghMCl8fHt9LGw9W10sYz1uZXcgU2V0O2xldCB1PXt9LGQ9MS8wO2ZvcihsZXQgdD0wO3Q8cmM7dCsrKXtjb25zdCBoPW5jW3RdLHA9bltoXSxnPXZvaWQgMCE9PXNbaF0/c1toXTphW2hdLHk9UmkoZyksdj1oPT09aT9wLmlzQWN0aXZlOm51bGw7ITE9PT12JiYoZD10KTtsZXQgYj1nPT09YVtoXSYmZyE9PXNbaF0mJnk7aWYoYiYmciYmZS5tYW51YWxseUFuaW1hdGVPbk1vdW50JiYoYj0hMSkscC5wcm90ZWN0ZWRLZXlzPXsuLi51fSwhcC5pc0FjdGl2ZSYmbnVsbD09PXZ8fCFnJiYhcC5wcmV2UHJvcHx8TmkoZyl8fFwiYm9vbGVhblwiPT10eXBlb2YgZyljb250aW51ZTtsZXQgeD0oZj1wLnByZXZQcm9wLChcInN0cmluZ1wiPT10eXBlb2YobT1nKT9tIT09ZjohIUFycmF5LmlzQXJyYXkobSkmJiFNaShtLGYpKXx8aD09PWkmJnAuaXNBY3RpdmUmJiFiJiZ5fHx0PmQmJnkpLHc9ITE7Y29uc3QgUz1BcnJheS5pc0FycmF5KGcpP2c6W2ddO2xldCBrPVMucmVkdWNlKG8oaCkse30pOyExPT09diYmKGs9e30pO2NvbnN0e3ByZXZSZXNvbHZlZFZhbHVlczpFPXt9fT1wLEM9ey4uLkUsLi4ua30sXz10PT57eD0hMCxjLmhhcyh0KSYmKHc9ITAsYy5kZWxldGUodCkpLHAubmVlZHNBbmltYXRpbmdbdF09ITA7Y29uc3Qgbj1lLmdldFZhbHVlKHQpO24mJihuLmxpdmVTdHlsZT0hMSl9O2Zvcihjb25zdCBlIGluIEMpe2NvbnN0IHQ9a1tlXSxuPUVbZV07aWYodS5oYXNPd25Qcm9wZXJ0eShlKSljb250aW51ZTtsZXQgcj0hMTtyPVRpKHQpJiZUaShuKT8hTWkodCxuKTp0IT09bixyP251bGwhPXQ/XyhlKTpjLmFkZChlKTp2b2lkIDAhPT10JiZjLmhhcyhlKT9fKGUpOnAucHJvdGVjdGVkS2V5c1tlXT0hMH1wLnByZXZQcm9wPWcscC5wcmV2UmVzb2x2ZWRWYWx1ZXM9ayxwLmlzQWN0aXZlJiYodT17Li4udSwuLi5rfSksciYmZS5ibG9ja0luaXRpYWxBbmltYXRpb24mJih4PSExKSwheHx8YiYmIXd8fGwucHVzaCguLi5TLm1hcCgoZT0+KHthbmltYXRpb246ZSxvcHRpb25zOnt0eXBlOmh9fSkpKSl9dmFyIGYsbTtpZihjLnNpemUpe2NvbnN0IHQ9e307Yy5mb3JFYWNoKChuPT57Y29uc3Qgcj1lLmdldEJhc2VUYXJnZXQobiksbz1lLmdldFZhbHVlKG4pO28mJihvLmxpdmVTdHlsZT0hMCksdFtuXT1udWxsIT1yP3I6bnVsbH0pKSxsLnB1c2goe2FuaW1hdGlvbjp0fSl9bGV0IGg9Qm9vbGVhbihsLmxlbmd0aCk7cmV0dXJuIXJ8fCExIT09cy5pbml0aWFsJiZzLmluaXRpYWwhPT1zLmFuaW1hdGV8fGUubWFudWFsbHlBbmltYXRlT25Nb3VudHx8KGg9ITEpLHI9ITEsaD90KGwpOlByb21pc2UucmVzb2x2ZSgpfXJldHVybnthbmltYXRlQ2hhbmdlczppLHNldEFjdGl2ZTpmdW5jdGlvbih0LHIpe3ZhciBvO2lmKG5bdF0uaXNBY3RpdmU9PT1yKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTtudWxsPT09KG89ZS52YXJpYW50Q2hpbGRyZW4pfHx2b2lkIDA9PT1vfHxvLmZvckVhY2goKGU9Pnt2YXIgbjtyZXR1cm4gbnVsbD09PShuPWUuYW5pbWF0aW9uU3RhdGUpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLnNldEFjdGl2ZSh0LHIpfSkpLG5bdF0uaXNBY3RpdmU9cjtjb25zdCBzPWkodCk7Zm9yKGNvbnN0IGUgaW4gbiluW2VdLnByb3RlY3RlZEtleXM9e307cmV0dXJuIHN9LHNldEFuaW1hdGVGdW5jdGlvbjpmdW5jdGlvbihuKXt0PW4oZSl9LGdldFN0YXRlOigpPT5uLHJlc2V0OigpPT57bj1pYygpLHI9ITB9fX0oZSkpfXVwZGF0ZUFuaW1hdGlvbkNvbnRyb2xzU3Vic2NyaXB0aW9uKCl7Y29uc3R7YW5pbWF0ZTplfT10aGlzLm5vZGUuZ2V0UHJvcHMoKTtOaShlKSYmKHRoaXMudW5tb3VudENvbnRyb2xzPWUuc3Vic2NyaWJlKHRoaXMubm9kZSkpfW1vdW50KCl7dGhpcy51cGRhdGVBbmltYXRpb25Db250cm9sc1N1YnNjcmlwdGlvbigpfXVwZGF0ZSgpe2NvbnN0e2FuaW1hdGU6ZX09dGhpcy5ub2RlLmdldFByb3BzKCkse2FuaW1hdGU6dH09dGhpcy5ub2RlLnByZXZQcm9wc3x8e307ZSE9PXQmJnRoaXMudXBkYXRlQW5pbWF0aW9uQ29udHJvbHNTdWJzY3JpcHRpb24oKX11bm1vdW50KCl7dmFyIGU7dGhpcy5ub2RlLmFuaW1hdGlvblN0YXRlLnJlc2V0KCksbnVsbD09PShlPXRoaXMudW5tb3VudENvbnRyb2xzKXx8dm9pZCAwPT09ZXx8ZS5jYWxsKHRoaXMpfX19LGV4aXQ6e0ZlYXR1cmU6Y2xhc3MgZXh0ZW5kcyBzY3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5pZD1hYysrfXVwZGF0ZSgpe2lmKCF0aGlzLm5vZGUucHJlc2VuY2VDb250ZXh0KXJldHVybjtjb25zdHtpc1ByZXNlbnQ6ZSxvbkV4aXRDb21wbGV0ZTp0fT10aGlzLm5vZGUucHJlc2VuY2VDb250ZXh0LHtpc1ByZXNlbnQ6bn09dGhpcy5ub2RlLnByZXZQcmVzZW5jZUNvbnRleHR8fHt9O2lmKCF0aGlzLm5vZGUuYW5pbWF0aW9uU3RhdGV8fGU9PT1uKXJldHVybjtjb25zdCByPXRoaXMubm9kZS5hbmltYXRpb25TdGF0ZS5zZXRBY3RpdmUoXCJleGl0XCIsIWUpO3QmJiFlJiZyLnRoZW4oKCgpPT50KHRoaXMuaWQpKSl9bW91bnQoKXtjb25zdHtyZWdpc3RlcjplfT10aGlzLm5vZGUucHJlc2VuY2VDb250ZXh0fHx7fTtlJiYodGhpcy51bm1vdW50PWUodGhpcy5pZCkpfXVubW91bnQoKXt9fX19LGNjPWU9PlwibW91c2VcIj09PWUucG9pbnRlclR5cGU/XCJudW1iZXJcIiE9dHlwZW9mIGUuYnV0dG9ufHxlLmJ1dHRvbjw9MDohMSE9PWUuaXNQcmltYXJ5O2Z1bmN0aW9uIHVjKGUsdD1cInBhZ2VcIil7cmV0dXJue3BvaW50Ont4OmVbYCR7dH1YYF0seTplW2Ake3R9WWBdfX19Y29uc3QgZGM9ZT0+dD0+Y2ModCkmJmUodCx1Yyh0KSk7ZnVuY3Rpb24gZmMoZSx0LG4scj17cGFzc2l2ZTohMH0pe3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIodCxuLHIpLCgpPT5lLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxuKX1mdW5jdGlvbiBtYyhlLHQsbixyKXtyZXR1cm4gZmMoZSx0LGRjKG4pLHIpfWNvbnN0IGhjPShlLHQpPT5NYXRoLmFicyhlLXQpO2NsYXNzIHBje2NvbnN0cnVjdG9yKGUsdCx7dHJhbnNmb3JtUGFnZVBvaW50Om4sY29udGV4dFdpbmRvdzpyLGRyYWdTbmFwVG9PcmlnaW46bz0hMX09e30pe2lmKHRoaXMuc3RhcnRFdmVudD1udWxsLHRoaXMubGFzdE1vdmVFdmVudD1udWxsLHRoaXMubGFzdE1vdmVFdmVudEluZm89bnVsbCx0aGlzLmhhbmRsZXJzPXt9LHRoaXMuY29udGV4dFdpbmRvdz13aW5kb3csdGhpcy51cGRhdGVQb2ludD0oKT0+e2lmKCF0aGlzLmxhc3RNb3ZlRXZlbnR8fCF0aGlzLmxhc3RNb3ZlRXZlbnRJbmZvKXJldHVybjtjb25zdCBlPXZjKHRoaXMubGFzdE1vdmVFdmVudEluZm8sdGhpcy5oaXN0b3J5KSx0PW51bGwhPT10aGlzLnN0YXJ0RXZlbnQsbj1mdW5jdGlvbihlLHQpe2NvbnN0IG49aGMoZS54LHQueCkscj1oYyhlLnksdC55KTtyZXR1cm4gTWF0aC5zcXJ0KG4qKjIrcioqMil9KGUub2Zmc2V0LHt4OjAseTowfSk+PTM7aWYoIXQmJiFuKXJldHVybjtjb25zdHtwb2ludDpyfT1lLHt0aW1lc3RhbXA6b309ZXM7dGhpcy5oaXN0b3J5LnB1c2goey4uLnIsdGltZXN0YW1wOm99KTtjb25zdHtvblN0YXJ0Omksb25Nb3ZlOnN9PXRoaXMuaGFuZGxlcnM7dHx8KGkmJmkodGhpcy5sYXN0TW92ZUV2ZW50LGUpLHRoaXMuc3RhcnRFdmVudD10aGlzLmxhc3RNb3ZlRXZlbnQpLHMmJnModGhpcy5sYXN0TW92ZUV2ZW50LGUpfSx0aGlzLmhhbmRsZVBvaW50ZXJNb3ZlPShlLHQpPT57dGhpcy5sYXN0TW92ZUV2ZW50PWUsdGhpcy5sYXN0TW92ZUV2ZW50SW5mbz1nYyh0LHRoaXMudHJhbnNmb3JtUGFnZVBvaW50KSxKaS51cGRhdGUodGhpcy51cGRhdGVQb2ludCwhMCl9LHRoaXMuaGFuZGxlUG9pbnRlclVwPShlLHQpPT57dGhpcy5lbmQoKTtjb25zdHtvbkVuZDpuLG9uU2Vzc2lvbkVuZDpyLHJlc3VtZUFuaW1hdGlvbjpvfT10aGlzLmhhbmRsZXJzO2lmKHRoaXMuZHJhZ1NuYXBUb09yaWdpbiYmbyYmbygpLCF0aGlzLmxhc3RNb3ZlRXZlbnR8fCF0aGlzLmxhc3RNb3ZlRXZlbnRJbmZvKXJldHVybjtjb25zdCBpPXZjKFwicG9pbnRlcmNhbmNlbFwiPT09ZS50eXBlP3RoaXMubGFzdE1vdmVFdmVudEluZm86Z2ModCx0aGlzLnRyYW5zZm9ybVBhZ2VQb2ludCksdGhpcy5oaXN0b3J5KTt0aGlzLnN0YXJ0RXZlbnQmJm4mJm4oZSxpKSxyJiZyKGUsaSl9LCFjYyhlKSlyZXR1cm47dGhpcy5kcmFnU25hcFRvT3JpZ2luPW8sdGhpcy5oYW5kbGVycz10LHRoaXMudHJhbnNmb3JtUGFnZVBvaW50PW4sdGhpcy5jb250ZXh0V2luZG93PXJ8fHdpbmRvdztjb25zdCBpPWdjKHVjKGUpLHRoaXMudHJhbnNmb3JtUGFnZVBvaW50KSx7cG9pbnQ6c309aSx7dGltZXN0YW1wOmF9PWVzO3RoaXMuaGlzdG9yeT1bey4uLnMsdGltZXN0YW1wOmF9XTtjb25zdHtvblNlc3Npb25TdGFydDpsfT10O2wmJmwoZSx2YyhpLHRoaXMuaGlzdG9yeSkpLHRoaXMucmVtb3ZlTGlzdGVuZXJzPXJsKG1jKHRoaXMuY29udGV4dFdpbmRvdyxcInBvaW50ZXJtb3ZlXCIsdGhpcy5oYW5kbGVQb2ludGVyTW92ZSksbWModGhpcy5jb250ZXh0V2luZG93LFwicG9pbnRlcnVwXCIsdGhpcy5oYW5kbGVQb2ludGVyVXApLG1jKHRoaXMuY29udGV4dFdpbmRvdyxcInBvaW50ZXJjYW5jZWxcIix0aGlzLmhhbmRsZVBvaW50ZXJVcCkpfXVwZGF0ZUhhbmRsZXJzKGUpe3RoaXMuaGFuZGxlcnM9ZX1lbmQoKXt0aGlzLnJlbW92ZUxpc3RlbmVycyYmdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKSxRaSh0aGlzLnVwZGF0ZVBvaW50KX19ZnVuY3Rpb24gZ2MoZSx0KXtyZXR1cm4gdD97cG9pbnQ6dChlLnBvaW50KX06ZX1mdW5jdGlvbiB5YyhlLHQpe3JldHVybnt4OmUueC10LngseTplLnktdC55fX1mdW5jdGlvbiB2Yyh7cG9pbnQ6ZX0sdCl7cmV0dXJue3BvaW50OmUsZGVsdGE6eWMoZSx4Yyh0KSksb2Zmc2V0OnljKGUsYmModCkpLHZlbG9jaXR5OndjKHQsLjEpfX1mdW5jdGlvbiBiYyhlKXtyZXR1cm4gZVswXX1mdW5jdGlvbiB4YyhlKXtyZXR1cm4gZVtlLmxlbmd0aC0xXX1mdW5jdGlvbiB3YyhlLHQpe2lmKGUubGVuZ3RoPDIpcmV0dXJue3g6MCx5OjB9O2xldCBuPWUubGVuZ3RoLTEscj1udWxsO2NvbnN0IG89eGMoZSk7Zm9yKDtuPj0wJiYocj1lW25dLCEoby50aW1lc3RhbXAtci50aW1lc3RhbXA+QmkodCkpKTspbi0tO2lmKCFyKXJldHVybnt4OjAseTowfTtjb25zdCBpPVdpKG8udGltZXN0YW1wLXIudGltZXN0YW1wKTtpZigwPT09aSlyZXR1cm57eDowLHk6MH07Y29uc3Qgcz17eDooby54LXIueCkvaSx5OihvLnktci55KS9pfTtyZXR1cm4gcy54PT09MS8wJiYocy54PTApLHMueT09PTEvMCYmKHMueT0wKSxzfWZ1bmN0aW9uIFNjKGUpe2xldCB0PW51bGw7cmV0dXJuKCk9Pm51bGw9PT10JiYodD1lLCgpPT57dD1udWxsfSl9Y29uc3Qga2M9U2MoXCJkcmFnSG9yaXpvbnRhbFwiKSxFYz1TYyhcImRyYWdWZXJ0aWNhbFwiKTtmdW5jdGlvbiBDYyhlKXtsZXQgdD0hMTtpZihcInlcIj09PWUpdD1FYygpO2Vsc2UgaWYoXCJ4XCI9PT1lKXQ9a2MoKTtlbHNle2NvbnN0IGU9a2MoKSxuPUVjKCk7ZSYmbj90PSgpPT57ZSgpLG4oKX06KGUmJmUoKSxuJiZuKCkpfXJldHVybiB0fWZ1bmN0aW9uIF9jKCl7Y29uc3QgZT1DYyghMCk7cmV0dXJuIWV8fChlKCksITEpfWZ1bmN0aW9uIFBjKGUpe3JldHVybiBlJiZcIm9iamVjdFwiPT10eXBlb2YgZSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsXCJjdXJyZW50XCIpfWNvbnN0IE9jPS45OTk5LE5jPTEuMDAwMSxUYz0tLjAxLE1jPS4wMTtmdW5jdGlvbiBSYyhlKXtyZXR1cm4gZS5tYXgtZS5taW59ZnVuY3Rpb24gRGMoZSx0LG4scj0uNSl7ZS5vcmlnaW49cixlLm9yaWdpblBvaW50PWlsKHQubWluLHQubWF4LGUub3JpZ2luKSxlLnNjYWxlPVJjKG4pL1JjKHQpLGUudHJhbnNsYXRlPWlsKG4ubWluLG4ubWF4LGUub3JpZ2luKS1lLm9yaWdpblBvaW50LChlLnNjYWxlPj1PYyYmZS5zY2FsZTw9TmN8fGlzTmFOKGUuc2NhbGUpKSYmKGUuc2NhbGU9MSksKGUudHJhbnNsYXRlPj1UYyYmZS50cmFuc2xhdGU8PU1jfHxpc05hTihlLnRyYW5zbGF0ZSkpJiYoZS50cmFuc2xhdGU9MCl9ZnVuY3Rpb24gamMoZSx0LG4scil7RGMoZS54LHQueCxuLngscj9yLm9yaWdpblg6dm9pZCAwKSxEYyhlLnksdC55LG4ueSxyP3Iub3JpZ2luWTp2b2lkIDApfWZ1bmN0aW9uIEFjKGUsdCxuKXtlLm1pbj1uLm1pbit0Lm1pbixlLm1heD1lLm1pbitSYyh0KX1mdW5jdGlvbiBJYyhlLHQsbil7ZS5taW49dC5taW4tbi5taW4sZS5tYXg9ZS5taW4rUmModCl9ZnVuY3Rpb24gTGMoZSx0LG4pe0ljKGUueCx0Lngsbi54KSxJYyhlLnksdC55LG4ueSl9ZnVuY3Rpb24gRmMoZSx0LG4pe3JldHVybnttaW46dm9pZCAwIT09dD9lLm1pbit0OnZvaWQgMCxtYXg6dm9pZCAwIT09bj9lLm1heCtuLShlLm1heC1lLm1pbik6dm9pZCAwfX1mdW5jdGlvbiB6YyhlLHQpe2xldCBuPXQubWluLWUubWluLHI9dC5tYXgtZS5tYXg7cmV0dXJuIHQubWF4LXQubWluPGUubWF4LWUubWluJiYoW24scl09W3Isbl0pLHttaW46bixtYXg6cn19Y29uc3QgQmM9LjM1O2Z1bmN0aW9uIFdjKGUsdCxuKXtyZXR1cm57bWluOlZjKGUsdCksbWF4OlZjKGUsbil9fWZ1bmN0aW9uIFZjKGUsdCl7cmV0dXJuXCJudW1iZXJcIj09dHlwZW9mIGU/ZTplW3RdfHwwfWNvbnN0IFVjPSgpPT4oe3g6e3RyYW5zbGF0ZTowLHNjYWxlOjEsb3JpZ2luOjAsb3JpZ2luUG9pbnQ6MH0seTp7dHJhbnNsYXRlOjAsc2NhbGU6MSxvcmlnaW46MCxvcmlnaW5Qb2ludDowfX0pLCRjPSgpPT4oe3g6e21pbjowLG1heDowfSx5OnttaW46MCxtYXg6MH19KTtmdW5jdGlvbiBZYyhlKXtyZXR1cm5bZShcInhcIiksZShcInlcIildfWZ1bmN0aW9uIEhjKHt0b3A6ZSxsZWZ0OnQscmlnaHQ6bixib3R0b206cn0pe3JldHVybnt4OnttaW46dCxtYXg6bn0seTp7bWluOmUsbWF4OnJ9fX1mdW5jdGlvbiBLYyhlKXtyZXR1cm4gdm9pZCAwPT09ZXx8MT09PWV9ZnVuY3Rpb24gcWMoe3NjYWxlOmUsc2NhbGVYOnQsc2NhbGVZOm59KXtyZXR1cm4hS2MoZSl8fCFLYyh0KXx8IUtjKG4pfWZ1bmN0aW9uIEdjKGUpe3JldHVybiBxYyhlKXx8WGMoZSl8fGUuenx8ZS5yb3RhdGV8fGUucm90YXRlWHx8ZS5yb3RhdGVZfHxlLnNrZXdYfHxlLnNrZXdZfWZ1bmN0aW9uIFhjKGUpe3JldHVybiBaYyhlLngpfHxaYyhlLnkpfWZ1bmN0aW9uIFpjKGUpe3JldHVybiBlJiZcIjAlXCIhPT1lfWZ1bmN0aW9uIEpjKGUsdCxuKXtyZXR1cm4gbit0KihlLW4pfWZ1bmN0aW9uIFFjKGUsdCxuLHIsbyl7cmV0dXJuIHZvaWQgMCE9PW8mJihlPUpjKGUsbyxyKSksSmMoZSxuLHIpK3R9ZnVuY3Rpb24gZXUoZSx0PTAsbj0xLHIsbyl7ZS5taW49UWMoZS5taW4sdCxuLHIsbyksZS5tYXg9UWMoZS5tYXgsdCxuLHIsbyl9ZnVuY3Rpb24gdHUoZSx7eDp0LHk6bn0pe2V1KGUueCx0LnRyYW5zbGF0ZSx0LnNjYWxlLHQub3JpZ2luUG9pbnQpLGV1KGUueSxuLnRyYW5zbGF0ZSxuLnNjYWxlLG4ub3JpZ2luUG9pbnQpfWNvbnN0IG51PS45OTk5OTk5OTk5OTkscnU9MS4wMDAwMDAwMDAwMDAxO2Z1bmN0aW9uIG91KGUsdCl7ZS5taW49ZS5taW4rdCxlLm1heD1lLm1heCt0fWZ1bmN0aW9uIGl1KGUsdCxuLHIsbz0uNSl7ZXUoZSx0LG4saWwoZS5taW4sZS5tYXgsbykscil9ZnVuY3Rpb24gc3UoZSx0KXtpdShlLngsdC54LHQuc2NhbGVYLHQuc2NhbGUsdC5vcmlnaW5YKSxpdShlLnksdC55LHQuc2NhbGVZLHQuc2NhbGUsdC5vcmlnaW5ZKX1mdW5jdGlvbiBhdShlLHQpe3JldHVybiBIYyhmdW5jdGlvbihlLHQpe2lmKCF0KXJldHVybiBlO2NvbnN0IG49dCh7eDplLmxlZnQseTplLnRvcH0pLHI9dCh7eDplLnJpZ2h0LHk6ZS5ib3R0b219KTtyZXR1cm57dG9wOm4ueSxsZWZ0Om4ueCxib3R0b206ci55LHJpZ2h0OnIueH19KGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdCkpfWNvbnN0IGx1PSh7Y3VycmVudDplfSk9PmU/ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Om51bGwsY3U9bmV3IFdlYWtNYXA7Y2xhc3MgdXV7Y29uc3RydWN0b3IoZSl7dGhpcy5vcGVuR2xvYmFsTG9jaz1udWxsLHRoaXMuaXNEcmFnZ2luZz0hMSx0aGlzLmN1cnJlbnREaXJlY3Rpb249bnVsbCx0aGlzLm9yaWdpblBvaW50PXt4OjAseTowfSx0aGlzLmNvbnN0cmFpbnRzPSExLHRoaXMuaGFzTXV0YXRlZENvbnN0cmFpbnRzPSExLHRoaXMuZWxhc3RpYz0kYygpLHRoaXMudmlzdWFsRWxlbWVudD1lfXN0YXJ0KGUse3NuYXBUb0N1cnNvcjp0PSExfT17fSl7Y29uc3R7cHJlc2VuY2VDb250ZXh0Om59PXRoaXMudmlzdWFsRWxlbWVudDtpZihuJiYhMT09PW4uaXNQcmVzZW50KXJldHVybjtjb25zdHtkcmFnU25hcFRvT3JpZ2luOnJ9PXRoaXMuZ2V0UHJvcHMoKTt0aGlzLnBhblNlc3Npb249bmV3IHBjKGUse29uU2Vzc2lvblN0YXJ0OmU9Pntjb25zdHtkcmFnU25hcFRvT3JpZ2luOm59PXRoaXMuZ2V0UHJvcHMoKTtuP3RoaXMucGF1c2VBbmltYXRpb24oKTp0aGlzLnN0b3BBbmltYXRpb24oKSx0JiZ0aGlzLnNuYXBUb0N1cnNvcih1YyhlLFwicGFnZVwiKS5wb2ludCl9LG9uU3RhcnQ6KGUsdCk9Pnt2YXIgbjtjb25zdHtkcmFnOnIsZHJhZ1Byb3BhZ2F0aW9uOm8sb25EcmFnU3RhcnQ6aX09dGhpcy5nZXRQcm9wcygpO2lmKHImJiFvJiYodGhpcy5vcGVuR2xvYmFsTG9jayYmdGhpcy5vcGVuR2xvYmFsTG9jaygpLHRoaXMub3Blbkdsb2JhbExvY2s9Q2MociksIXRoaXMub3Blbkdsb2JhbExvY2spKXJldHVybjt0aGlzLmlzRHJhZ2dpbmc9ITAsdGhpcy5jdXJyZW50RGlyZWN0aW9uPW51bGwsdGhpcy5yZXNvbHZlQ29uc3RyYWludHMoKSx0aGlzLnZpc3VhbEVsZW1lbnQucHJvamVjdGlvbiYmKHRoaXMudmlzdWFsRWxlbWVudC5wcm9qZWN0aW9uLmlzQW5pbWF0aW9uQmxvY2tlZD0hMCx0aGlzLnZpc3VhbEVsZW1lbnQucHJvamVjdGlvbi50YXJnZXQ9dm9pZCAwKSxZYygoZT0+e2xldCB0PXRoaXMuZ2V0QXhpc01vdGlvblZhbHVlKGUpLmdldCgpfHwwO2lmKEVzLnRlc3QodCkpe2NvbnN0e3Byb2plY3Rpb246bn09dGhpcy52aXN1YWxFbGVtZW50O2lmKG4mJm4ubGF5b3V0KXtjb25zdCByPW4ubGF5b3V0LmxheW91dEJveFtlXTtyJiYodD1SYyhyKSoocGFyc2VGbG9hdCh0KS8xMDApKX19dGhpcy5vcmlnaW5Qb2ludFtlXT10fSkpLGkmJkppLnBvc3RSZW5kZXIoKCgpPT5pKGUsdCkpKSxudWxsPT09KG49dGhpcy5yZW1vdmVXaWxsQ2hhbmdlKXx8dm9pZCAwPT09bnx8bi5jYWxsKHRoaXMpLHRoaXMucmVtb3ZlV2lsbENoYW5nZT1abCh0aGlzLnZpc3VhbEVsZW1lbnQsXCJ0cmFuc2Zvcm1cIik7Y29uc3R7YW5pbWF0aW9uU3RhdGU6c309dGhpcy52aXN1YWxFbGVtZW50O3MmJnMuc2V0QWN0aXZlKFwid2hpbGVEcmFnXCIsITApfSxvbk1vdmU6KGUsdCk9Pntjb25zdHtkcmFnUHJvcGFnYXRpb246bixkcmFnRGlyZWN0aW9uTG9jazpyLG9uRGlyZWN0aW9uTG9jazpvLG9uRHJhZzppfT10aGlzLmdldFByb3BzKCk7aWYoIW4mJiF0aGlzLm9wZW5HbG9iYWxMb2NrKXJldHVybjtjb25zdHtvZmZzZXQ6c309dDtpZihyJiZudWxsPT09dGhpcy5jdXJyZW50RGlyZWN0aW9uKXJldHVybiB0aGlzLmN1cnJlbnREaXJlY3Rpb249ZnVuY3Rpb24oZSx0PTEwKXtsZXQgbj1udWxsO3JldHVybiBNYXRoLmFicyhlLnkpPnQ/bj1cInlcIjpNYXRoLmFicyhlLngpPnQmJihuPVwieFwiKSxufShzKSx2b2lkKG51bGwhPT10aGlzLmN1cnJlbnREaXJlY3Rpb24mJm8mJm8odGhpcy5jdXJyZW50RGlyZWN0aW9uKSk7dGhpcy51cGRhdGVBeGlzKFwieFwiLHQucG9pbnQscyksdGhpcy51cGRhdGVBeGlzKFwieVwiLHQucG9pbnQscyksdGhpcy52aXN1YWxFbGVtZW50LnJlbmRlcigpLGkmJmkoZSx0KX0sb25TZXNzaW9uRW5kOihlLHQpPT50aGlzLnN0b3AoZSx0KSxyZXN1bWVBbmltYXRpb246KCk9PlljKChlPT57dmFyIHQ7cmV0dXJuXCJwYXVzZWRcIj09PXRoaXMuZ2V0QW5pbWF0aW9uU3RhdGUoZSkmJihudWxsPT09KHQ9dGhpcy5nZXRBeGlzTW90aW9uVmFsdWUoZSkuYW5pbWF0aW9uKXx8dm9pZCAwPT09dD92b2lkIDA6dC5wbGF5KCkpfSkpfSx7dHJhbnNmb3JtUGFnZVBvaW50OnRoaXMudmlzdWFsRWxlbWVudC5nZXRUcmFuc2Zvcm1QYWdlUG9pbnQoKSxkcmFnU25hcFRvT3JpZ2luOnIsY29udGV4dFdpbmRvdzpsdSh0aGlzLnZpc3VhbEVsZW1lbnQpfSl9c3RvcChlLHQpe3ZhciBuO251bGw9PT0obj10aGlzLnJlbW92ZVdpbGxDaGFuZ2UpfHx2b2lkIDA9PT1ufHxuLmNhbGwodGhpcyk7Y29uc3Qgcj10aGlzLmlzRHJhZ2dpbmc7aWYodGhpcy5jYW5jZWwoKSwhcilyZXR1cm47Y29uc3R7dmVsb2NpdHk6b309dDt0aGlzLnN0YXJ0QW5pbWF0aW9uKG8pO2NvbnN0e29uRHJhZ0VuZDppfT10aGlzLmdldFByb3BzKCk7aSYmSmkucG9zdFJlbmRlcigoKCk9PmkoZSx0KSkpfWNhbmNlbCgpe3RoaXMuaXNEcmFnZ2luZz0hMTtjb25zdHtwcm9qZWN0aW9uOmUsYW5pbWF0aW9uU3RhdGU6dH09dGhpcy52aXN1YWxFbGVtZW50O2UmJihlLmlzQW5pbWF0aW9uQmxvY2tlZD0hMSksdGhpcy5wYW5TZXNzaW9uJiZ0aGlzLnBhblNlc3Npb24uZW5kKCksdGhpcy5wYW5TZXNzaW9uPXZvaWQgMDtjb25zdHtkcmFnUHJvcGFnYXRpb246bn09dGhpcy5nZXRQcm9wcygpOyFuJiZ0aGlzLm9wZW5HbG9iYWxMb2NrJiYodGhpcy5vcGVuR2xvYmFsTG9jaygpLHRoaXMub3Blbkdsb2JhbExvY2s9bnVsbCksdCYmdC5zZXRBY3RpdmUoXCJ3aGlsZURyYWdcIiwhMSl9dXBkYXRlQXhpcyhlLHQsbil7Y29uc3R7ZHJhZzpyfT10aGlzLmdldFByb3BzKCk7aWYoIW58fCFkdShlLHIsdGhpcy5jdXJyZW50RGlyZWN0aW9uKSlyZXR1cm47Y29uc3Qgbz10aGlzLmdldEF4aXNNb3Rpb25WYWx1ZShlKTtsZXQgaT10aGlzLm9yaWdpblBvaW50W2VdK25bZV07dGhpcy5jb25zdHJhaW50cyYmdGhpcy5jb25zdHJhaW50c1tlXSYmKGk9ZnVuY3Rpb24oZSx7bWluOnQsbWF4Om59LHIpe3JldHVybiB2b2lkIDAhPT10JiZlPHQ/ZT1yP2lsKHQsZSxyLm1pbik6TWF0aC5tYXgoZSx0KTp2b2lkIDAhPT1uJiZlPm4mJihlPXI/aWwobixlLHIubWF4KTpNYXRoLm1pbihlLG4pKSxlfShpLHRoaXMuY29uc3RyYWludHNbZV0sdGhpcy5lbGFzdGljW2VdKSksby5zZXQoaSl9cmVzb2x2ZUNvbnN0cmFpbnRzKCl7dmFyIGU7Y29uc3R7ZHJhZ0NvbnN0cmFpbnRzOnQsZHJhZ0VsYXN0aWM6bn09dGhpcy5nZXRQcm9wcygpLHI9dGhpcy52aXN1YWxFbGVtZW50LnByb2plY3Rpb24mJiF0aGlzLnZpc3VhbEVsZW1lbnQucHJvamVjdGlvbi5sYXlvdXQ/dGhpcy52aXN1YWxFbGVtZW50LnByb2plY3Rpb24ubWVhc3VyZSghMSk6bnVsbD09PShlPXRoaXMudmlzdWFsRWxlbWVudC5wcm9qZWN0aW9uKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5sYXlvdXQsbz10aGlzLmNvbnN0cmFpbnRzO3QmJlBjKHQpP3RoaXMuY29uc3RyYWludHN8fCh0aGlzLmNvbnN0cmFpbnRzPXRoaXMucmVzb2x2ZVJlZkNvbnN0cmFpbnRzKCkpOnRoaXMuY29uc3RyYWludHM9ISghdHx8IXIpJiZmdW5jdGlvbihlLHt0b3A6dCxsZWZ0Om4sYm90dG9tOnIscmlnaHQ6b30pe3JldHVybnt4OkZjKGUueCxuLG8pLHk6RmMoZS55LHQscil9fShyLmxheW91dEJveCx0KSx0aGlzLmVsYXN0aWM9ZnVuY3Rpb24oZT1CYyl7cmV0dXJuITE9PT1lP2U9MDohMD09PWUmJihlPUJjKSx7eDpXYyhlLFwibGVmdFwiLFwicmlnaHRcIikseTpXYyhlLFwidG9wXCIsXCJib3R0b21cIil9fShuKSxvIT09dGhpcy5jb25zdHJhaW50cyYmciYmdGhpcy5jb25zdHJhaW50cyYmIXRoaXMuaGFzTXV0YXRlZENvbnN0cmFpbnRzJiZZYygoZT0+eyExIT09dGhpcy5jb25zdHJhaW50cyYmdGhpcy5nZXRBeGlzTW90aW9uVmFsdWUoZSkmJih0aGlzLmNvbnN0cmFpbnRzW2VdPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj17fTtyZXR1cm4gdm9pZCAwIT09dC5taW4mJihuLm1pbj10Lm1pbi1lLm1pbiksdm9pZCAwIT09dC5tYXgmJihuLm1heD10Lm1heC1lLm1pbiksbn0oci5sYXlvdXRCb3hbZV0sdGhpcy5jb25zdHJhaW50c1tlXSkpfSkpfXJlc29sdmVSZWZDb25zdHJhaW50cygpe2NvbnN0e2RyYWdDb25zdHJhaW50czplLG9uTWVhc3VyZURyYWdDb25zdHJhaW50czp0fT10aGlzLmdldFByb3BzKCk7aWYoIWV8fCFQYyhlKSlyZXR1cm4hMTtjb25zdCBuPWUuY3VycmVudDtvcyhudWxsIT09bixcIklmIGBkcmFnQ29uc3RyYWludHNgIGlzIHNldCBhcyBhIFJlYWN0IHJlZiwgdGhhdCByZWYgbXVzdCBiZSBwYXNzZWQgdG8gYW5vdGhlciBjb21wb25lbnQncyBgcmVmYCBwcm9wLlwiKTtjb25zdHtwcm9qZWN0aW9uOnJ9PXRoaXMudmlzdWFsRWxlbWVudDtpZighcnx8IXIubGF5b3V0KXJldHVybiExO2NvbnN0IG89ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHI9YXUoZSxuKSx7c2Nyb2xsOm99PXQ7cmV0dXJuIG8mJihvdShyLngsby5vZmZzZXQueCksb3Uoci55LG8ub2Zmc2V0LnkpKSxyfShuLHIucm9vdCx0aGlzLnZpc3VhbEVsZW1lbnQuZ2V0VHJhbnNmb3JtUGFnZVBvaW50KCkpO2xldCBpPWZ1bmN0aW9uKGUsdCl7cmV0dXJue3g6emMoZS54LHQueCkseTp6YyhlLnksdC55KX19KHIubGF5b3V0LmxheW91dEJveCxvKTtpZih0KXtjb25zdCBlPXQoZnVuY3Rpb24oe3g6ZSx5OnR9KXtyZXR1cm57dG9wOnQubWluLHJpZ2h0OmUubWF4LGJvdHRvbTp0Lm1heCxsZWZ0OmUubWlufX0oaSkpO3RoaXMuaGFzTXV0YXRlZENvbnN0cmFpbnRzPSEhZSxlJiYoaT1IYyhlKSl9cmV0dXJuIGl9c3RhcnRBbmltYXRpb24oZSl7Y29uc3R7ZHJhZzp0LGRyYWdNb21lbnR1bTpuLGRyYWdFbGFzdGljOnIsZHJhZ1RyYW5zaXRpb246byxkcmFnU25hcFRvT3JpZ2luOmksb25EcmFnVHJhbnNpdGlvbkVuZDpzfT10aGlzLmdldFByb3BzKCksYT10aGlzLmNvbnN0cmFpbnRzfHx7fSxsPVljKChzPT57aWYoIWR1KHMsdCx0aGlzLmN1cnJlbnREaXJlY3Rpb24pKXJldHVybjtsZXQgbD1hJiZhW3NdfHx7fTtpJiYobD17bWluOjAsbWF4OjB9KTtjb25zdCBjPXI/MjAwOjFlNix1PXI/NDA6MWU3LGQ9e3R5cGU6XCJpbmVydGlhXCIsdmVsb2NpdHk6bj9lW3NdOjAsYm91bmNlU3RpZmZuZXNzOmMsYm91bmNlRGFtcGluZzp1LHRpbWVDb25zdGFudDo3NTAscmVzdERlbHRhOjEscmVzdFNwZWVkOjEwLC4uLm8sLi4ubH07cmV0dXJuIHRoaXMuc3RhcnRBeGlzVmFsdWVBbmltYXRpb24ocyxkKX0pKTtyZXR1cm4gUHJvbWlzZS5hbGwobCkudGhlbihzKX1zdGFydEF4aXNWYWx1ZUFuaW1hdGlvbihlLHQpe2NvbnN0IG49dGhpcy5nZXRBeGlzTW90aW9uVmFsdWUoZSk7cmV0dXJuIG4uc3RhcnQoQWwoZSxuLDAsdCx0aGlzLnZpc3VhbEVsZW1lbnQsITEsWmwodGhpcy52aXN1YWxFbGVtZW50LGUpKSl9c3RvcEFuaW1hdGlvbigpe1ljKChlPT50aGlzLmdldEF4aXNNb3Rpb25WYWx1ZShlKS5zdG9wKCkpKX1wYXVzZUFuaW1hdGlvbigpe1ljKChlPT57dmFyIHQ7cmV0dXJuIG51bGw9PT0odD10aGlzLmdldEF4aXNNb3Rpb25WYWx1ZShlKS5hbmltYXRpb24pfHx2b2lkIDA9PT10P3ZvaWQgMDp0LnBhdXNlKCl9KSl9Z2V0QW5pbWF0aW9uU3RhdGUoZSl7dmFyIHQ7cmV0dXJuIG51bGw9PT0odD10aGlzLmdldEF4aXNNb3Rpb25WYWx1ZShlKS5hbmltYXRpb24pfHx2b2lkIDA9PT10P3ZvaWQgMDp0LnN0YXRlfWdldEF4aXNNb3Rpb25WYWx1ZShlKXtjb25zdCB0PWBfZHJhZyR7ZS50b1VwcGVyQ2FzZSgpfWAsbj10aGlzLnZpc3VhbEVsZW1lbnQuZ2V0UHJvcHMoKTtyZXR1cm4gblt0XXx8dGhpcy52aXN1YWxFbGVtZW50LmdldFZhbHVlKGUsKG4uaW5pdGlhbD9uLmluaXRpYWxbZV06dm9pZCAwKXx8MCl9c25hcFRvQ3Vyc29yKGUpe1ljKCh0PT57Y29uc3R7ZHJhZzpufT10aGlzLmdldFByb3BzKCk7aWYoIWR1KHQsbix0aGlzLmN1cnJlbnREaXJlY3Rpb24pKXJldHVybjtjb25zdHtwcm9qZWN0aW9uOnJ9PXRoaXMudmlzdWFsRWxlbWVudCxvPXRoaXMuZ2V0QXhpc01vdGlvblZhbHVlKHQpO2lmKHImJnIubGF5b3V0KXtjb25zdHttaW46bixtYXg6aX09ci5sYXlvdXQubGF5b3V0Qm94W3RdO28uc2V0KGVbdF0taWwobixpLC41KSl9fSkpfXNjYWxlUG9zaXRpb25XaXRoaW5Db25zdHJhaW50cygpe2lmKCF0aGlzLnZpc3VhbEVsZW1lbnQuY3VycmVudClyZXR1cm47Y29uc3R7ZHJhZzplLGRyYWdDb25zdHJhaW50czp0fT10aGlzLmdldFByb3BzKCkse3Byb2plY3Rpb246bn09dGhpcy52aXN1YWxFbGVtZW50O2lmKCFQYyh0KXx8IW58fCF0aGlzLmNvbnN0cmFpbnRzKXJldHVybjt0aGlzLnN0b3BBbmltYXRpb24oKTtjb25zdCByPXt4OjAseTowfTtZYygoZT0+e2NvbnN0IHQ9dGhpcy5nZXRBeGlzTW90aW9uVmFsdWUoZSk7aWYodCYmITEhPT10aGlzLmNvbnN0cmFpbnRzKXtjb25zdCBuPXQuZ2V0KCk7cltlXT1mdW5jdGlvbihlLHQpe2xldCBuPS41O2NvbnN0IHI9UmMoZSksbz1SYyh0KTtyZXR1cm4gbz5yP249b2wodC5taW4sdC5tYXgtcixlLm1pbik6cj5vJiYobj1vbChlLm1pbixlLm1heC1vLHQubWluKSksbXMoMCwxLG4pfSh7bWluOm4sbWF4Om59LHRoaXMuY29uc3RyYWludHNbZV0pfX0pKTtjb25zdHt0cmFuc2Zvcm1UZW1wbGF0ZTpvfT10aGlzLnZpc3VhbEVsZW1lbnQuZ2V0UHJvcHMoKTt0aGlzLnZpc3VhbEVsZW1lbnQuY3VycmVudC5zdHlsZS50cmFuc2Zvcm09bz9vKHt9LFwiXCIpOlwibm9uZVwiLG4ucm9vdCYmbi5yb290LnVwZGF0ZVNjcm9sbCgpLG4udXBkYXRlTGF5b3V0KCksdGhpcy5yZXNvbHZlQ29uc3RyYWludHMoKSxZYygodD0+e2lmKCFkdSh0LGUsbnVsbCkpcmV0dXJuO2NvbnN0IG49dGhpcy5nZXRBeGlzTW90aW9uVmFsdWUodCkse21pbjpvLG1heDppfT10aGlzLmNvbnN0cmFpbnRzW3RdO24uc2V0KGlsKG8saSxyW3RdKSl9KSl9YWRkTGlzdGVuZXJzKCl7aWYoIXRoaXMudmlzdWFsRWxlbWVudC5jdXJyZW50KXJldHVybjtjdS5zZXQodGhpcy52aXN1YWxFbGVtZW50LHRoaXMpO2NvbnN0IGU9bWModGhpcy52aXN1YWxFbGVtZW50LmN1cnJlbnQsXCJwb2ludGVyZG93blwiLChlPT57Y29uc3R7ZHJhZzp0LGRyYWdMaXN0ZW5lcjpuPSEwfT10aGlzLmdldFByb3BzKCk7dCYmbiYmdGhpcy5zdGFydChlKX0pKSx0PSgpPT57Y29uc3R7ZHJhZ0NvbnN0cmFpbnRzOmV9PXRoaXMuZ2V0UHJvcHMoKTtQYyhlKSYmZS5jdXJyZW50JiYodGhpcy5jb25zdHJhaW50cz10aGlzLnJlc29sdmVSZWZDb25zdHJhaW50cygpKX0se3Byb2plY3Rpb246bn09dGhpcy52aXN1YWxFbGVtZW50LHI9bi5hZGRFdmVudExpc3RlbmVyKFwibWVhc3VyZVwiLHQpO24mJiFuLmxheW91dCYmKG4ucm9vdCYmbi5yb290LnVwZGF0ZVNjcm9sbCgpLG4udXBkYXRlTGF5b3V0KCkpLEppLnJlYWQodCk7Y29uc3Qgbz1mYyh3aW5kb3csXCJyZXNpemVcIiwoKCk9PnRoaXMuc2NhbGVQb3NpdGlvbldpdGhpbkNvbnN0cmFpbnRzKCkpKSxpPW4uYWRkRXZlbnRMaXN0ZW5lcihcImRpZFVwZGF0ZVwiLCgoe2RlbHRhOmUsaGFzTGF5b3V0Q2hhbmdlZDp0fSk9Pnt0aGlzLmlzRHJhZ2dpbmcmJnQmJihZYygodD0+e2NvbnN0IG49dGhpcy5nZXRBeGlzTW90aW9uVmFsdWUodCk7biYmKHRoaXMub3JpZ2luUG9pbnRbdF0rPWVbdF0udHJhbnNsYXRlLG4uc2V0KG4uZ2V0KCkrZVt0XS50cmFuc2xhdGUpKX0pKSx0aGlzLnZpc3VhbEVsZW1lbnQucmVuZGVyKCkpfSkpO3JldHVybigpPT57bygpLGUoKSxyKCksaSYmaSgpfX1nZXRQcm9wcygpe2NvbnN0IGU9dGhpcy52aXN1YWxFbGVtZW50LmdldFByb3BzKCkse2RyYWc6dD0hMSxkcmFnRGlyZWN0aW9uTG9jazpuPSExLGRyYWdQcm9wYWdhdGlvbjpyPSExLGRyYWdDb25zdHJhaW50czpvPSExLGRyYWdFbGFzdGljOmk9QmMsZHJhZ01vbWVudHVtOnM9ITB9PWU7cmV0dXJuey4uLmUsZHJhZzp0LGRyYWdEaXJlY3Rpb25Mb2NrOm4sZHJhZ1Byb3BhZ2F0aW9uOnIsZHJhZ0NvbnN0cmFpbnRzOm8sZHJhZ0VsYXN0aWM6aSxkcmFnTW9tZW50dW06c319fWZ1bmN0aW9uIGR1KGUsdCxuKXtyZXR1cm4hKCEwIT09dCYmdCE9PWV8fG51bGwhPT1uJiZuIT09ZSl9Y29uc3QgZnU9ZT0+KHQsbik9PntlJiZKaS5wb3N0UmVuZGVyKCgoKT0+ZSh0LG4pKSl9O3ZhciBtdT1uKDg0OCk7Y29uc3QgaHU9KDAsYS5jcmVhdGVDb250ZXh0KShudWxsKSxwdT0oMCxhLmNyZWF0ZUNvbnRleHQpKHt9KSxndT0oMCxhLmNyZWF0ZUNvbnRleHQpKHt9KSx5dT17aGFzQW5pbWF0ZWRTaW5jZVJlc2l6ZTohMCxoYXNFdmVyVXBkYXRlZDohMX07ZnVuY3Rpb24gdnUoZSx0KXtyZXR1cm4gdC5tYXg9PT10Lm1pbj8wOmUvKHQubWF4LXQubWluKSoxMDB9Y29uc3QgYnU9e2NvcnJlY3Q6KGUsdCk9PntpZighdC50YXJnZXQpcmV0dXJuIGU7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpe2lmKCFDcy50ZXN0KGUpKXJldHVybiBlO2U9cGFyc2VGbG9hdChlKX1yZXR1cm5gJHt2dShlLHQudGFyZ2V0LngpfSUgJHt2dShlLHQudGFyZ2V0LnkpfSVgfX0seHU9e2NvcnJlY3Q6KGUse3RyZWVTY2FsZTp0LHByb2plY3Rpb25EZWx0YTpufSk9Pntjb25zdCByPWUsbz1sYS5wYXJzZShlKTtpZihvLmxlbmd0aD41KXJldHVybiByO2NvbnN0IGk9bGEuY3JlYXRlVHJhbnNmb3JtZXIoZSkscz1cIm51bWJlclwiIT10eXBlb2Ygb1swXT8xOjAsYT1uLnguc2NhbGUqdC54LGw9bi55LnNjYWxlKnQueTtvWzArc10vPWEsb1sxK3NdLz1sO2NvbnN0IGM9aWwoYSxsLC41KTtyZXR1cm5cIm51bWJlclwiPT10eXBlb2Ygb1syK3NdJiYob1syK3NdLz1jKSxcIm51bWJlclwiPT10eXBlb2Ygb1szK3NdJiYob1szK3NdLz1jKSxpKG8pfX0sd3U9e30se3NjaGVkdWxlOlN1LGNhbmNlbDprdX09WmkocXVldWVNaWNyb3Rhc2ssITEpO2NsYXNzIEV1IGV4dGVuZHMgYS5Db21wb25lbnR7Y29tcG9uZW50RGlkTW91bnQoKXtjb25zdHt2aXN1YWxFbGVtZW50OmUsbGF5b3V0R3JvdXA6dCxzd2l0Y2hMYXlvdXRHcm91cDpuLGxheW91dElkOnJ9PXRoaXMucHJvcHMse3Byb2plY3Rpb246b309ZTt2YXIgaTtpPV91LE9iamVjdC5hc3NpZ24od3UsaSksbyYmKHQuZ3JvdXAmJnQuZ3JvdXAuYWRkKG8pLG4mJm4ucmVnaXN0ZXImJnImJm4ucmVnaXN0ZXIobyksby5yb290LmRpZFVwZGF0ZSgpLG8uYWRkRXZlbnRMaXN0ZW5lcihcImFuaW1hdGlvbkNvbXBsZXRlXCIsKCgpPT57dGhpcy5zYWZlVG9SZW1vdmUoKX0pKSxvLnNldE9wdGlvbnMoey4uLm8ub3B0aW9ucyxvbkV4aXRDb21wbGV0ZTooKT0+dGhpcy5zYWZlVG9SZW1vdmUoKX0pKSx5dS5oYXNFdmVyVXBkYXRlZD0hMH1nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShlKXtjb25zdHtsYXlvdXREZXBlbmRlbmN5OnQsdmlzdWFsRWxlbWVudDpuLGRyYWc6cixpc1ByZXNlbnQ6b309dGhpcy5wcm9wcyxpPW4ucHJvamVjdGlvbjtyZXR1cm4gaT8oaS5pc1ByZXNlbnQ9byxyfHxlLmxheW91dERlcGVuZGVuY3khPT10fHx2b2lkIDA9PT10P2kud2lsbFVwZGF0ZSgpOnRoaXMuc2FmZVRvUmVtb3ZlKCksZS5pc1ByZXNlbnQhPT1vJiYobz9pLnByb21vdGUoKTppLnJlbGVnYXRlKCl8fEppLnBvc3RSZW5kZXIoKCgpPT57Y29uc3QgZT1pLmdldFN0YWNrKCk7ZSYmZS5tZW1iZXJzLmxlbmd0aHx8dGhpcy5zYWZlVG9SZW1vdmUoKX0pKSksbnVsbCk6bnVsbH1jb21wb25lbnREaWRVcGRhdGUoKXtjb25zdHtwcm9qZWN0aW9uOmV9PXRoaXMucHJvcHMudmlzdWFsRWxlbWVudDtlJiYoZS5yb290LmRpZFVwZGF0ZSgpLFN1LnBvc3RSZW5kZXIoKCgpPT57IWUuY3VycmVudEFuaW1hdGlvbiYmZS5pc0xlYWQoKSYmdGhpcy5zYWZlVG9SZW1vdmUoKX0pKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXtjb25zdHt2aXN1YWxFbGVtZW50OmUsbGF5b3V0R3JvdXA6dCxzd2l0Y2hMYXlvdXRHcm91cDpufT10aGlzLnByb3BzLHtwcm9qZWN0aW9uOnJ9PWU7ciYmKHIuc2NoZWR1bGVDaGVja0FmdGVyVW5tb3VudCgpLHQmJnQuZ3JvdXAmJnQuZ3JvdXAucmVtb3ZlKHIpLG4mJm4uZGVyZWdpc3RlciYmbi5kZXJlZ2lzdGVyKHIpKX1zYWZlVG9SZW1vdmUoKXtjb25zdHtzYWZlVG9SZW1vdmU6ZX09dGhpcy5wcm9wcztlJiZlKCl9cmVuZGVyKCl7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIEN1KGUpe2NvbnN0W3Qsbl09ZnVuY3Rpb24oKXtjb25zdCBlPSgwLGEudXNlQ29udGV4dCkoaHUpO2lmKG51bGw9PT1lKXJldHVyblshMCxudWxsXTtjb25zdHtpc1ByZXNlbnQ6dCxvbkV4aXRDb21wbGV0ZTpuLHJlZ2lzdGVyOnJ9PWUsbz0oMCxhLnVzZUlkKSgpOygwLGEudXNlRWZmZWN0KSgoKCk9PnIobykpLFtdKTtjb25zdCBpPSgwLGEudXNlQ2FsbGJhY2spKCgoKT0+biYmbihvKSksW28sbl0pO3JldHVybiF0JiZuP1shMSxpXTpbITBdfSgpLHI9KDAsYS51c2VDb250ZXh0KShwdSk7cmV0dXJuKDAsbXUuanN4KShFdSx7Li4uZSxsYXlvdXRHcm91cDpyLHN3aXRjaExheW91dEdyb3VwOigwLGEudXNlQ29udGV4dCkoZ3UpLGlzUHJlc2VudDp0LHNhZmVUb1JlbW92ZTpufSl9Y29uc3QgX3U9e2JvcmRlclJhZGl1czp7Li4uYnUsYXBwbHlUbzpbXCJib3JkZXJUb3BMZWZ0UmFkaXVzXCIsXCJib3JkZXJUb3BSaWdodFJhZGl1c1wiLFwiYm9yZGVyQm90dG9tTGVmdFJhZGl1c1wiLFwiYm9yZGVyQm90dG9tUmlnaHRSYWRpdXNcIl19LGJvcmRlclRvcExlZnRSYWRpdXM6YnUsYm9yZGVyVG9wUmlnaHRSYWRpdXM6YnUsYm9yZGVyQm90dG9tTGVmdFJhZGl1czpidSxib3JkZXJCb3R0b21SaWdodFJhZGl1czpidSxib3hTaGFkb3c6eHV9LFB1PVtcIlRvcExlZnRcIixcIlRvcFJpZ2h0XCIsXCJCb3R0b21MZWZ0XCIsXCJCb3R0b21SaWdodFwiXSxPdT1QdS5sZW5ndGgsTnU9ZT0+XCJzdHJpbmdcIj09dHlwZW9mIGU/cGFyc2VGbG9hdChlKTplLFR1PWU9PlwibnVtYmVyXCI9PXR5cGVvZiBlfHxDcy50ZXN0KGUpO2Z1bmN0aW9uIE11KGUsdCl7cmV0dXJuIHZvaWQgMCE9PWVbdF0/ZVt0XTplLmJvcmRlclJhZGl1c31jb25zdCBSdT1qdSgwLC41LEdhKSxEdT1qdSguNSwuOTUsR2kpO2Z1bmN0aW9uIGp1KGUsdCxuKXtyZXR1cm4gcj0+cjxlPzA6cj50PzE6bihvbChlLHQscikpfWZ1bmN0aW9uIEF1KGUsdCl7ZS5taW49dC5taW4sZS5tYXg9dC5tYXh9ZnVuY3Rpb24gSXUoZSx0KXtBdShlLngsdC54KSxBdShlLnksdC55KX1mdW5jdGlvbiBMdShlLHQpe2UudHJhbnNsYXRlPXQudHJhbnNsYXRlLGUuc2NhbGU9dC5zY2FsZSxlLm9yaWdpblBvaW50PXQub3JpZ2luUG9pbnQsZS5vcmlnaW49dC5vcmlnaW59ZnVuY3Rpb24gRnUoZSx0LG4scixvKXtyZXR1cm4gZT1KYyhlLT10LDEvbixyKSx2b2lkIDAhPT1vJiYoZT1KYyhlLDEvbyxyKSksZX1mdW5jdGlvbiB6dShlLHQsW24scixvXSxpLHMpeyFmdW5jdGlvbihlLHQ9MCxuPTEscj0uNSxvLGk9ZSxzPWUpe2lmKEVzLnRlc3QodCkmJih0PXBhcnNlRmxvYXQodCksdD1pbChzLm1pbixzLm1heCx0LzEwMCktcy5taW4pLFwibnVtYmVyXCIhPXR5cGVvZiB0KXJldHVybjtsZXQgYT1pbChpLm1pbixpLm1heCxyKTtlPT09aSYmKGEtPXQpLGUubWluPUZ1KGUubWluLHQsbixhLG8pLGUubWF4PUZ1KGUubWF4LHQsbixhLG8pfShlLHRbbl0sdFtyXSx0W29dLHQuc2NhbGUsaSxzKX1jb25zdCBCdT1bXCJ4XCIsXCJzY2FsZVhcIixcIm9yaWdpblhcIl0sV3U9W1wieVwiLFwic2NhbGVZXCIsXCJvcmlnaW5ZXCJdO2Z1bmN0aW9uIFZ1KGUsdCxuLHIpe3p1KGUueCx0LEJ1LG4/bi54OnZvaWQgMCxyP3IueDp2b2lkIDApLHp1KGUueSx0LFd1LG4/bi55OnZvaWQgMCxyP3IueTp2b2lkIDApfWZ1bmN0aW9uIFV1KGUpe3JldHVybiAwPT09ZS50cmFuc2xhdGUmJjE9PT1lLnNjYWxlfWZ1bmN0aW9uICR1KGUpe3JldHVybiBVdShlLngpJiZVdShlLnkpfWZ1bmN0aW9uIFl1KGUsdCl7cmV0dXJuIGUubWluPT09dC5taW4mJmUubWF4PT09dC5tYXh9ZnVuY3Rpb24gSHUoZSx0KXtyZXR1cm4gTWF0aC5yb3VuZChlLm1pbik9PT1NYXRoLnJvdW5kKHQubWluKSYmTWF0aC5yb3VuZChlLm1heCk9PT1NYXRoLnJvdW5kKHQubWF4KX1mdW5jdGlvbiBLdShlLHQpe3JldHVybiBIdShlLngsdC54KSYmSHUoZS55LHQueSl9ZnVuY3Rpb24gcXUoZSl7cmV0dXJuIFJjKGUueCkvUmMoZS55KX1mdW5jdGlvbiBHdShlLHQpe3JldHVybiBlLnRyYW5zbGF0ZT09PXQudHJhbnNsYXRlJiZlLnNjYWxlPT09dC5zY2FsZSYmZS5vcmlnaW5Qb2ludD09PXQub3JpZ2luUG9pbnR9Y2xhc3MgWHV7Y29uc3RydWN0b3IoKXt0aGlzLm1lbWJlcnM9W119YWRkKGUpe0ZsKHRoaXMubWVtYmVycyxlKSxlLnNjaGVkdWxlUmVuZGVyKCl9cmVtb3ZlKGUpe2lmKHpsKHRoaXMubWVtYmVycyxlKSxlPT09dGhpcy5wcmV2TGVhZCYmKHRoaXMucHJldkxlYWQ9dm9pZCAwKSxlPT09dGhpcy5sZWFkKXtjb25zdCBlPXRoaXMubWVtYmVyc1t0aGlzLm1lbWJlcnMubGVuZ3RoLTFdO2UmJnRoaXMucHJvbW90ZShlKX19cmVsZWdhdGUoZSl7Y29uc3QgdD10aGlzLm1lbWJlcnMuZmluZEluZGV4KCh0PT5lPT09dCkpO2lmKDA9PT10KXJldHVybiExO2xldCBuO2ZvcihsZXQgZT10O2U+PTA7ZS0tKXtjb25zdCB0PXRoaXMubWVtYmVyc1tlXTtpZighMSE9PXQuaXNQcmVzZW50KXtuPXQ7YnJlYWt9fXJldHVybiEhbiYmKHRoaXMucHJvbW90ZShuKSwhMCl9cHJvbW90ZShlLHQpe2NvbnN0IG49dGhpcy5sZWFkO2lmKGUhPT1uJiYodGhpcy5wcmV2TGVhZD1uLHRoaXMubGVhZD1lLGUuc2hvdygpLG4pKXtuLmluc3RhbmNlJiZuLnNjaGVkdWxlUmVuZGVyKCksZS5zY2hlZHVsZVJlbmRlcigpLGUucmVzdW1lRnJvbT1uLHQmJihlLnJlc3VtZUZyb20ucHJlc2VydmVPcGFjaXR5PSEwKSxuLnNuYXBzaG90JiYoZS5zbmFwc2hvdD1uLnNuYXBzaG90LGUuc25hcHNob3QubGF0ZXN0VmFsdWVzPW4uYW5pbWF0aW9uVmFsdWVzfHxuLmxhdGVzdFZhbHVlcyksZS5yb290JiZlLnJvb3QuaXNVcGRhdGluZyYmKGUuaXNMYXlvdXREaXJ0eT0hMCk7Y29uc3R7Y3Jvc3NmYWRlOnJ9PWUub3B0aW9uczshMT09PXImJm4uaGlkZSgpfX1leGl0QW5pbWF0aW9uQ29tcGxldGUoKXt0aGlzLm1lbWJlcnMuZm9yRWFjaCgoZT0+e2NvbnN0e29wdGlvbnM6dCxyZXN1bWluZ0Zyb206bn09ZTt0Lm9uRXhpdENvbXBsZXRlJiZ0Lm9uRXhpdENvbXBsZXRlKCksbiYmbi5vcHRpb25zLm9uRXhpdENvbXBsZXRlJiZuLm9wdGlvbnMub25FeGl0Q29tcGxldGUoKX0pKX1zY2hlZHVsZVJlbmRlcigpe3RoaXMubWVtYmVycy5mb3JFYWNoKChlPT57ZS5pbnN0YW5jZSYmZS5zY2hlZHVsZVJlbmRlcighMSl9KSl9cmVtb3ZlTGVhZFNuYXBzaG90KCl7dGhpcy5sZWFkJiZ0aGlzLmxlYWQuc25hcHNob3QmJih0aGlzLmxlYWQuc25hcHNob3Q9dm9pZCAwKX19Y29uc3QgWnU9KGUsdCk9PmUuZGVwdGgtdC5kZXB0aDtjbGFzcyBKdXtjb25zdHJ1Y3Rvcigpe3RoaXMuY2hpbGRyZW49W10sdGhpcy5pc0RpcnR5PSExfWFkZChlKXtGbCh0aGlzLmNoaWxkcmVuLGUpLHRoaXMuaXNEaXJ0eT0hMH1yZW1vdmUoZSl7emwodGhpcy5jaGlsZHJlbixlKSx0aGlzLmlzRGlydHk9ITB9Zm9yRWFjaChlKXt0aGlzLmlzRGlydHkmJnRoaXMuY2hpbGRyZW4uc29ydChadSksdGhpcy5pc0RpcnR5PSExLHRoaXMuY2hpbGRyZW4uZm9yRWFjaChlKX19ZnVuY3Rpb24gUXUoZSl7Y29uc3QgdD1YbChlKT9lLmdldCgpOmU7cmV0dXJuIElsKHQpP3QudG9WYWx1ZSgpOnR9Y29uc3QgZWQ9e3R5cGU6XCJwcm9qZWN0aW9uRnJhbWVcIix0b3RhbE5vZGVzOjAscmVzb2x2ZWRUYXJnZXREZWx0YXM6MCxyZWNhbGN1bGF0ZWRQcm9qZWN0aW9uOjB9LHRkPVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJnZvaWQgMCE9PXdpbmRvdy5Nb3Rpb25EZWJ1ZyxuZD1bXCJcIixcIlhcIixcIllcIixcIlpcIl0scmQ9e3Zpc2liaWxpdHk6XCJoaWRkZW5cIn07bGV0IG9kPTA7ZnVuY3Rpb24gaWQoZSx0LG4scil7Y29uc3R7bGF0ZXN0VmFsdWVzOm99PXQ7b1tlXSYmKG5bZV09b1tlXSx0LnNldFN0YXRpY1ZhbHVlKGUsMCksciYmKHJbZV09MCkpfWZ1bmN0aW9uIHNkKGUpe2lmKGUuaGFzQ2hlY2tlZE9wdGltaXNlZEFwcGVhcj0hMCxlLnJvb3Q9PT1lKXJldHVybjtjb25zdHt2aXN1YWxFbGVtZW50OnR9PWUub3B0aW9ucztpZighdClyZXR1cm47Y29uc3Qgbj1LbCh0KTtpZih3aW5kb3cuTW90aW9uSGFzT3B0aW1pc2VkQW5pbWF0aW9uKG4sXCJ0cmFuc2Zvcm1cIikpe2NvbnN0e2xheW91dDp0LGxheW91dElkOnJ9PWUub3B0aW9uczt3aW5kb3cuTW90aW9uQ2FuY2VsT3B0aW1pc2VkQW5pbWF0aW9uKG4sXCJ0cmFuc2Zvcm1cIixKaSwhKHR8fHIpKX1jb25zdHtwYXJlbnQ6cn09ZTtyJiYhci5oYXNDaGVja2VkT3B0aW1pc2VkQXBwZWFyJiZzZChyKX1mdW5jdGlvbiBhZCh7YXR0YWNoUmVzaXplTGlzdGVuZXI6ZSxkZWZhdWx0UGFyZW50OnQsbWVhc3VyZVNjcm9sbDpuLGNoZWNrSXNTY3JvbGxSb290OnIscmVzZXRUcmFuc2Zvcm06b30pe3JldHVybiBjbGFzc3tjb25zdHJ1Y3RvcihlPXt9LG49KG51bGw9PXQ/dm9pZCAwOnQoKSkpe3RoaXMuaWQ9b2QrKyx0aGlzLmFuaW1hdGlvbklkPTAsdGhpcy5jaGlsZHJlbj1uZXcgU2V0LHRoaXMub3B0aW9ucz17fSx0aGlzLmlzVHJlZUFuaW1hdGluZz0hMSx0aGlzLmlzQW5pbWF0aW9uQmxvY2tlZD0hMSx0aGlzLmlzTGF5b3V0RGlydHk9ITEsdGhpcy5pc1Byb2plY3Rpb25EaXJ0eT0hMSx0aGlzLmlzU2hhcmVkUHJvamVjdGlvbkRpcnR5PSExLHRoaXMuaXNUcmFuc2Zvcm1EaXJ0eT0hMSx0aGlzLnVwZGF0ZU1hbnVhbGx5QmxvY2tlZD0hMSx0aGlzLnVwZGF0ZUJsb2NrZWRCeVJlc2l6ZT0hMSx0aGlzLmlzVXBkYXRpbmc9ITEsdGhpcy5pc1NWRz0hMSx0aGlzLm5lZWRzUmVzZXQ9ITEsdGhpcy5zaG91bGRSZXNldFRyYW5zZm9ybT0hMSx0aGlzLmhhc0NoZWNrZWRPcHRpbWlzZWRBcHBlYXI9ITEsdGhpcy50cmVlU2NhbGU9e3g6MSx5OjF9LHRoaXMuZXZlbnRIYW5kbGVycz1uZXcgTWFwLHRoaXMuaGFzVHJlZUFuaW1hdGVkPSExLHRoaXMudXBkYXRlU2NoZWR1bGVkPSExLHRoaXMuc2NoZWR1bGVVcGRhdGU9KCk9PnRoaXMudXBkYXRlKCksdGhpcy5wcm9qZWN0aW9uVXBkYXRlU2NoZWR1bGVkPSExLHRoaXMuY2hlY2tVcGRhdGVGYWlsZWQ9KCk9Pnt0aGlzLmlzVXBkYXRpbmcmJih0aGlzLmlzVXBkYXRpbmc9ITEsdGhpcy5jbGVhckFsbFNuYXBzaG90cygpKX0sdGhpcy51cGRhdGVQcm9qZWN0aW9uPSgpPT57dGhpcy5wcm9qZWN0aW9uVXBkYXRlU2NoZWR1bGVkPSExLHRkJiYoZWQudG90YWxOb2Rlcz1lZC5yZXNvbHZlZFRhcmdldERlbHRhcz1lZC5yZWNhbGN1bGF0ZWRQcm9qZWN0aW9uPTApLHRoaXMubm9kZXMuZm9yRWFjaCh1ZCksdGhpcy5ub2Rlcy5mb3JFYWNoKHlkKSx0aGlzLm5vZGVzLmZvckVhY2godmQpLHRoaXMubm9kZXMuZm9yRWFjaChkZCksdGQmJndpbmRvdy5Nb3Rpb25EZWJ1Zy5yZWNvcmQoZWQpfSx0aGlzLnJlc29sdmVkUmVsYXRpdmVUYXJnZXRBdD0wLHRoaXMuaGFzUHJvamVjdGVkPSExLHRoaXMuaXNWaXNpYmxlPSEwLHRoaXMuYW5pbWF0aW9uUHJvZ3Jlc3M9MCx0aGlzLnNoYXJlZE5vZGVzPW5ldyBNYXAsdGhpcy5sYXRlc3RWYWx1ZXM9ZSx0aGlzLnJvb3Q9bj9uLnJvb3R8fG46dGhpcyx0aGlzLnBhdGg9bj9bLi4ubi5wYXRoLG5dOltdLHRoaXMucGFyZW50PW4sdGhpcy5kZXB0aD1uP24uZGVwdGgrMTowO2ZvcihsZXQgZT0wO2U8dGhpcy5wYXRoLmxlbmd0aDtlKyspdGhpcy5wYXRoW2VdLnNob3VsZFJlc2V0VHJhbnNmb3JtPSEwO3RoaXMucm9vdD09PXRoaXMmJih0aGlzLm5vZGVzPW5ldyBKdSl9YWRkRXZlbnRMaXN0ZW5lcihlLHQpe3JldHVybiB0aGlzLmV2ZW50SGFuZGxlcnMuaGFzKGUpfHx0aGlzLmV2ZW50SGFuZGxlcnMuc2V0KGUsbmV3IEJsKSx0aGlzLmV2ZW50SGFuZGxlcnMuZ2V0KGUpLmFkZCh0KX1ub3RpZnlMaXN0ZW5lcnMoZSwuLi50KXtjb25zdCBuPXRoaXMuZXZlbnRIYW5kbGVycy5nZXQoZSk7biYmbi5ub3RpZnkoLi4udCl9aGFzTGlzdGVuZXJzKGUpe3JldHVybiB0aGlzLmV2ZW50SGFuZGxlcnMuaGFzKGUpfW1vdW50KHQsbj10aGlzLnJvb3QuaGFzVHJlZUFuaW1hdGVkKXtpZih0aGlzLmluc3RhbmNlKXJldHVybjt2YXIgcjt0aGlzLmlzU1ZHPShyPXQpaW5zdGFuY2VvZiBTVkdFbGVtZW50JiZcInN2Z1wiIT09ci50YWdOYW1lLHRoaXMuaW5zdGFuY2U9dDtjb25zdHtsYXlvdXRJZDpvLGxheW91dDppLHZpc3VhbEVsZW1lbnQ6c309dGhpcy5vcHRpb25zO2lmKHMmJiFzLmN1cnJlbnQmJnMubW91bnQodCksdGhpcy5yb290Lm5vZGVzLmFkZCh0aGlzKSx0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuY2hpbGRyZW4uYWRkKHRoaXMpLG4mJihpfHxvKSYmKHRoaXMuaXNMYXlvdXREaXJ0eT0hMCksZSl7bGV0IG47Y29uc3Qgcj0oKT0+dGhpcy5yb290LnVwZGF0ZUJsb2NrZWRCeVJlc2l6ZT0hMTtlKHQsKCgpPT57dGhpcy5yb290LnVwZGF0ZUJsb2NrZWRCeVJlc2l6ZT0hMCxuJiZuKCksbj1mdW5jdGlvbihlKXtjb25zdCB0PWthLm5vdygpLG49KHt0aW1lc3RhbXA6cn0pPT57Y29uc3Qgbz1yLXQ7bz49MjUwJiYoUWkobiksZShvLTI1MCkpfTtyZXR1cm4gSmkucmVhZChuLCEwKSwoKT0+UWkobil9KHIpLHl1Lmhhc0FuaW1hdGVkU2luY2VSZXNpemUmJih5dS5oYXNBbmltYXRlZFNpbmNlUmVzaXplPSExLHRoaXMubm9kZXMuZm9yRWFjaChnZCkpfSkpfW8mJnRoaXMucm9vdC5yZWdpc3RlclNoYXJlZE5vZGUobyx0aGlzKSwhMSE9PXRoaXMub3B0aW9ucy5hbmltYXRlJiZzJiYob3x8aSkmJnRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcImRpZFVwZGF0ZVwiLCgoe2RlbHRhOmUsaGFzTGF5b3V0Q2hhbmdlZDp0LGhhc1JlbGF0aXZlVGFyZ2V0Q2hhbmdlZDpuLGxheW91dDpyfSk9PntpZih0aGlzLmlzVHJlZUFuaW1hdGlvbkJsb2NrZWQoKSlyZXR1cm4gdGhpcy50YXJnZXQ9dm9pZCAwLHZvaWQodGhpcy5yZWxhdGl2ZVRhcmdldD12b2lkIDApO2NvbnN0IG89dGhpcy5vcHRpb25zLnRyYW5zaXRpb258fHMuZ2V0RGVmYXVsdFRyYW5zaXRpb24oKXx8RWQse29uTGF5b3V0QW5pbWF0aW9uU3RhcnQ6aSxvbkxheW91dEFuaW1hdGlvbkNvbXBsZXRlOmF9PXMuZ2V0UHJvcHMoKSxsPSF0aGlzLnRhcmdldExheW91dHx8IUt1KHRoaXMudGFyZ2V0TGF5b3V0LHIpfHxuLGM9IXQmJm47aWYodGhpcy5vcHRpb25zLmxheW91dFJvb3R8fHRoaXMucmVzdW1lRnJvbSYmdGhpcy5yZXN1bWVGcm9tLmluc3RhbmNlfHxjfHx0JiYobHx8IXRoaXMuY3VycmVudEFuaW1hdGlvbikpe3RoaXMucmVzdW1lRnJvbSYmKHRoaXMucmVzdW1pbmdGcm9tPXRoaXMucmVzdW1lRnJvbSx0aGlzLnJlc3VtaW5nRnJvbS5yZXN1bWluZ0Zyb209dm9pZCAwKSx0aGlzLnNldEFuaW1hdGlvbk9yaWdpbihlLGMpO2NvbnN0IHQ9ey4uLkhpKG8sXCJsYXlvdXRcIiksb25QbGF5Omksb25Db21wbGV0ZTphfTsocy5zaG91bGRSZWR1Y2VNb3Rpb258fHRoaXMub3B0aW9ucy5sYXlvdXRSb290KSYmKHQuZGVsYXk9MCx0LnR5cGU9ITEpLHRoaXMuc3RhcnRBbmltYXRpb24odCl9ZWxzZSB0fHxnZCh0aGlzKSx0aGlzLmlzTGVhZCgpJiZ0aGlzLm9wdGlvbnMub25FeGl0Q29tcGxldGUmJnRoaXMub3B0aW9ucy5vbkV4aXRDb21wbGV0ZSgpO3RoaXMudGFyZ2V0TGF5b3V0PXJ9KSl9dW5tb3VudCgpe3RoaXMub3B0aW9ucy5sYXlvdXRJZCYmdGhpcy53aWxsVXBkYXRlKCksdGhpcy5yb290Lm5vZGVzLnJlbW92ZSh0aGlzKTtjb25zdCBlPXRoaXMuZ2V0U3RhY2soKTtlJiZlLnJlbW92ZSh0aGlzKSx0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuY2hpbGRyZW4uZGVsZXRlKHRoaXMpLHRoaXMuaW5zdGFuY2U9dm9pZCAwLFFpKHRoaXMudXBkYXRlUHJvamVjdGlvbil9YmxvY2tVcGRhdGUoKXt0aGlzLnVwZGF0ZU1hbnVhbGx5QmxvY2tlZD0hMH11bmJsb2NrVXBkYXRlKCl7dGhpcy51cGRhdGVNYW51YWxseUJsb2NrZWQ9ITF9aXNVcGRhdGVCbG9ja2VkKCl7cmV0dXJuIHRoaXMudXBkYXRlTWFudWFsbHlCbG9ja2VkfHx0aGlzLnVwZGF0ZUJsb2NrZWRCeVJlc2l6ZX1pc1RyZWVBbmltYXRpb25CbG9ja2VkKCl7cmV0dXJuIHRoaXMuaXNBbmltYXRpb25CbG9ja2VkfHx0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuaXNUcmVlQW5pbWF0aW9uQmxvY2tlZCgpfHwhMX1zdGFydFVwZGF0ZSgpe3RoaXMuaXNVcGRhdGVCbG9ja2VkKCl8fCh0aGlzLmlzVXBkYXRpbmc9ITAsdGhpcy5ub2RlcyYmdGhpcy5ub2Rlcy5mb3JFYWNoKGJkKSx0aGlzLmFuaW1hdGlvbklkKyspfWdldFRyYW5zZm9ybVRlbXBsYXRlKCl7Y29uc3R7dmlzdWFsRWxlbWVudDplfT10aGlzLm9wdGlvbnM7cmV0dXJuIGUmJmUuZ2V0UHJvcHMoKS50cmFuc2Zvcm1UZW1wbGF0ZX13aWxsVXBkYXRlKGU9ITApe2lmKHRoaXMucm9vdC5oYXNUcmVlQW5pbWF0ZWQ9ITAsdGhpcy5yb290LmlzVXBkYXRlQmxvY2tlZCgpKXJldHVybiB2b2lkKHRoaXMub3B0aW9ucy5vbkV4aXRDb21wbGV0ZSYmdGhpcy5vcHRpb25zLm9uRXhpdENvbXBsZXRlKCkpO2lmKHdpbmRvdy5Nb3Rpb25DYW5jZWxPcHRpbWlzZWRBbmltYXRpb24mJiF0aGlzLmhhc0NoZWNrZWRPcHRpbWlzZWRBcHBlYXImJnNkKHRoaXMpLCF0aGlzLnJvb3QuaXNVcGRhdGluZyYmdGhpcy5yb290LnN0YXJ0VXBkYXRlKCksdGhpcy5pc0xheW91dERpcnR5KXJldHVybjt0aGlzLmlzTGF5b3V0RGlydHk9ITA7Zm9yKGxldCBlPTA7ZTx0aGlzLnBhdGgubGVuZ3RoO2UrKyl7Y29uc3QgdD10aGlzLnBhdGhbZV07dC5zaG91bGRSZXNldFRyYW5zZm9ybT0hMCx0LnVwZGF0ZVNjcm9sbChcInNuYXBzaG90XCIpLHQub3B0aW9ucy5sYXlvdXRSb290JiZ0LndpbGxVcGRhdGUoITEpfWNvbnN0e2xheW91dElkOnQsbGF5b3V0Om59PXRoaXMub3B0aW9ucztpZih2b2lkIDA9PT10JiYhbilyZXR1cm47Y29uc3Qgcj10aGlzLmdldFRyYW5zZm9ybVRlbXBsYXRlKCk7dGhpcy5wcmV2VHJhbnNmb3JtVGVtcGxhdGVWYWx1ZT1yP3IodGhpcy5sYXRlc3RWYWx1ZXMsXCJcIik6dm9pZCAwLHRoaXMudXBkYXRlU25hcHNob3QoKSxlJiZ0aGlzLm5vdGlmeUxpc3RlbmVycyhcIndpbGxVcGRhdGVcIil9dXBkYXRlKCl7aWYodGhpcy51cGRhdGVTY2hlZHVsZWQ9ITEsdGhpcy5pc1VwZGF0ZUJsb2NrZWQoKSlyZXR1cm4gdGhpcy51bmJsb2NrVXBkYXRlKCksdGhpcy5jbGVhckFsbFNuYXBzaG90cygpLHZvaWQgdGhpcy5ub2Rlcy5mb3JFYWNoKG1kKTt0aGlzLmlzVXBkYXRpbmd8fHRoaXMubm9kZXMuZm9yRWFjaChoZCksdGhpcy5pc1VwZGF0aW5nPSExLHRoaXMubm9kZXMuZm9yRWFjaChwZCksdGhpcy5ub2Rlcy5mb3JFYWNoKGxkKSx0aGlzLm5vZGVzLmZvckVhY2goY2QpLHRoaXMuY2xlYXJBbGxTbmFwc2hvdHMoKTtjb25zdCBlPWthLm5vdygpO2VzLmRlbHRhPW1zKDAsMWUzLzYwLGUtZXMudGltZXN0YW1wKSxlcy50aW1lc3RhbXA9ZSxlcy5pc1Byb2Nlc3Npbmc9ITAsdHMudXBkYXRlLnByb2Nlc3MoZXMpLHRzLnByZVJlbmRlci5wcm9jZXNzKGVzKSx0cy5yZW5kZXIucHJvY2VzcyhlcyksZXMuaXNQcm9jZXNzaW5nPSExfWRpZFVwZGF0ZSgpe3RoaXMudXBkYXRlU2NoZWR1bGVkfHwodGhpcy51cGRhdGVTY2hlZHVsZWQ9ITAsU3UucmVhZCh0aGlzLnNjaGVkdWxlVXBkYXRlKSl9Y2xlYXJBbGxTbmFwc2hvdHMoKXt0aGlzLm5vZGVzLmZvckVhY2goZmQpLHRoaXMuc2hhcmVkTm9kZXMuZm9yRWFjaCh4ZCl9c2NoZWR1bGVVcGRhdGVQcm9qZWN0aW9uKCl7dGhpcy5wcm9qZWN0aW9uVXBkYXRlU2NoZWR1bGVkfHwodGhpcy5wcm9qZWN0aW9uVXBkYXRlU2NoZWR1bGVkPSEwLEppLnByZVJlbmRlcih0aGlzLnVwZGF0ZVByb2plY3Rpb24sITEsITApKX1zY2hlZHVsZUNoZWNrQWZ0ZXJVbm1vdW50KCl7SmkucG9zdFJlbmRlcigoKCk9Pnt0aGlzLmlzTGF5b3V0RGlydHk/dGhpcy5yb290LmRpZFVwZGF0ZSgpOnRoaXMucm9vdC5jaGVja1VwZGF0ZUZhaWxlZCgpfSkpfXVwZGF0ZVNuYXBzaG90KCl7IXRoaXMuc25hcHNob3QmJnRoaXMuaW5zdGFuY2UmJih0aGlzLnNuYXBzaG90PXRoaXMubWVhc3VyZSgpKX11cGRhdGVMYXlvdXQoKXtpZighdGhpcy5pbnN0YW5jZSlyZXR1cm47aWYodGhpcy51cGRhdGVTY3JvbGwoKSwhKHRoaXMub3B0aW9ucy5hbHdheXNNZWFzdXJlTGF5b3V0JiZ0aGlzLmlzTGVhZCgpfHx0aGlzLmlzTGF5b3V0RGlydHkpKXJldHVybjtpZih0aGlzLnJlc3VtZUZyb20mJiF0aGlzLnJlc3VtZUZyb20uaW5zdGFuY2UpZm9yKGxldCBlPTA7ZTx0aGlzLnBhdGgubGVuZ3RoO2UrKyl0aGlzLnBhdGhbZV0udXBkYXRlU2Nyb2xsKCk7Y29uc3QgZT10aGlzLmxheW91dDt0aGlzLmxheW91dD10aGlzLm1lYXN1cmUoITEpLHRoaXMubGF5b3V0Q29ycmVjdGVkPSRjKCksdGhpcy5pc0xheW91dERpcnR5PSExLHRoaXMucHJvamVjdGlvbkRlbHRhPXZvaWQgMCx0aGlzLm5vdGlmeUxpc3RlbmVycyhcIm1lYXN1cmVcIix0aGlzLmxheW91dC5sYXlvdXRCb3gpO2NvbnN0e3Zpc3VhbEVsZW1lbnQ6dH09dGhpcy5vcHRpb25zO3QmJnQubm90aWZ5KFwiTGF5b3V0TWVhc3VyZVwiLHRoaXMubGF5b3V0LmxheW91dEJveCxlP2UubGF5b3V0Qm94OnZvaWQgMCl9dXBkYXRlU2Nyb2xsKGU9XCJtZWFzdXJlXCIpe2xldCB0PUJvb2xlYW4odGhpcy5vcHRpb25zLmxheW91dFNjcm9sbCYmdGhpcy5pbnN0YW5jZSk7aWYodGhpcy5zY3JvbGwmJnRoaXMuc2Nyb2xsLmFuaW1hdGlvbklkPT09dGhpcy5yb290LmFuaW1hdGlvbklkJiZ0aGlzLnNjcm9sbC5waGFzZT09PWUmJih0PSExKSx0KXtjb25zdCB0PXIodGhpcy5pbnN0YW5jZSk7dGhpcy5zY3JvbGw9e2FuaW1hdGlvbklkOnRoaXMucm9vdC5hbmltYXRpb25JZCxwaGFzZTplLGlzUm9vdDp0LG9mZnNldDpuKHRoaXMuaW5zdGFuY2UpLHdhc1Jvb3Q6dGhpcy5zY3JvbGw/dGhpcy5zY3JvbGwuaXNSb290OnR9fX1yZXNldFRyYW5zZm9ybSgpe2lmKCFvKXJldHVybjtjb25zdCBlPXRoaXMuaXNMYXlvdXREaXJ0eXx8dGhpcy5zaG91bGRSZXNldFRyYW5zZm9ybXx8dGhpcy5vcHRpb25zLmFsd2F5c01lYXN1cmVMYXlvdXQsdD10aGlzLnByb2plY3Rpb25EZWx0YSYmISR1KHRoaXMucHJvamVjdGlvbkRlbHRhKSxuPXRoaXMuZ2V0VHJhbnNmb3JtVGVtcGxhdGUoKSxyPW4/bih0aGlzLmxhdGVzdFZhbHVlcyxcIlwiKTp2b2lkIDAsaT1yIT09dGhpcy5wcmV2VHJhbnNmb3JtVGVtcGxhdGVWYWx1ZTtlJiYodHx8R2ModGhpcy5sYXRlc3RWYWx1ZXMpfHxpKSYmKG8odGhpcy5pbnN0YW5jZSxyKSx0aGlzLnNob3VsZFJlc2V0VHJhbnNmb3JtPSExLHRoaXMuc2NoZWR1bGVSZW5kZXIoKSl9bWVhc3VyZShlPSEwKXtjb25zdCB0PXRoaXMubWVhc3VyZVBhZ2VCb3goKTtsZXQgbj10aGlzLnJlbW92ZUVsZW1lbnRTY3JvbGwodCk7dmFyIHI7cmV0dXJuIGUmJihuPXRoaXMucmVtb3ZlVHJhbnNmb3JtKG4pKSxQZCgocj1uKS54KSxQZChyLnkpLHthbmltYXRpb25JZDp0aGlzLnJvb3QuYW5pbWF0aW9uSWQsbWVhc3VyZWRCb3g6dCxsYXlvdXRCb3g6bixsYXRlc3RWYWx1ZXM6e30sc291cmNlOnRoaXMuaWR9fW1lYXN1cmVQYWdlQm94KCl7dmFyIGU7Y29uc3R7dmlzdWFsRWxlbWVudDp0fT10aGlzLm9wdGlvbnM7aWYoIXQpcmV0dXJuICRjKCk7Y29uc3Qgbj10Lm1lYXN1cmVWaWV3cG9ydEJveCgpO2lmKCEobnVsbD09PShlPXRoaXMuc2Nyb2xsKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS53YXNSb290KSYmIXRoaXMucGF0aC5zb21lKE5kKSl7Y29uc3R7c2Nyb2xsOmV9PXRoaXMucm9vdDtlJiYob3Uobi54LGUub2Zmc2V0LngpLG91KG4ueSxlLm9mZnNldC55KSl9cmV0dXJuIG59cmVtb3ZlRWxlbWVudFNjcm9sbChlKXt2YXIgdDtjb25zdCBuPSRjKCk7aWYoSXUobixlKSxudWxsPT09KHQ9dGhpcy5zY3JvbGwpfHx2b2lkIDA9PT10P3ZvaWQgMDp0Lndhc1Jvb3QpcmV0dXJuIG47Zm9yKGxldCB0PTA7dDx0aGlzLnBhdGgubGVuZ3RoO3QrKyl7Y29uc3Qgcj10aGlzLnBhdGhbdF0se3Njcm9sbDpvLG9wdGlvbnM6aX09cjtyIT09dGhpcy5yb290JiZvJiZpLmxheW91dFNjcm9sbCYmKG8ud2FzUm9vdCYmSXUobixlKSxvdShuLngsby5vZmZzZXQueCksb3Uobi55LG8ub2Zmc2V0LnkpKX1yZXR1cm4gbn1hcHBseVRyYW5zZm9ybShlLHQ9ITEpe2NvbnN0IG49JGMoKTtJdShuLGUpO2ZvcihsZXQgZT0wO2U8dGhpcy5wYXRoLmxlbmd0aDtlKyspe2NvbnN0IHI9dGhpcy5wYXRoW2VdOyF0JiZyLm9wdGlvbnMubGF5b3V0U2Nyb2xsJiZyLnNjcm9sbCYmciE9PXIucm9vdCYmc3Uobix7eDotci5zY3JvbGwub2Zmc2V0LngseTotci5zY3JvbGwub2Zmc2V0Lnl9KSxHYyhyLmxhdGVzdFZhbHVlcykmJnN1KG4sci5sYXRlc3RWYWx1ZXMpfXJldHVybiBHYyh0aGlzLmxhdGVzdFZhbHVlcykmJnN1KG4sdGhpcy5sYXRlc3RWYWx1ZXMpLG59cmVtb3ZlVHJhbnNmb3JtKGUpe2NvbnN0IHQ9JGMoKTtJdSh0LGUpO2ZvcihsZXQgZT0wO2U8dGhpcy5wYXRoLmxlbmd0aDtlKyspe2NvbnN0IG49dGhpcy5wYXRoW2VdO2lmKCFuLmluc3RhbmNlKWNvbnRpbnVlO2lmKCFHYyhuLmxhdGVzdFZhbHVlcykpY29udGludWU7cWMobi5sYXRlc3RWYWx1ZXMpJiZuLnVwZGF0ZVNuYXBzaG90KCk7Y29uc3Qgcj0kYygpO0l1KHIsbi5tZWFzdXJlUGFnZUJveCgpKSxWdSh0LG4ubGF0ZXN0VmFsdWVzLG4uc25hcHNob3Q/bi5zbmFwc2hvdC5sYXlvdXRCb3g6dm9pZCAwLHIpfXJldHVybiBHYyh0aGlzLmxhdGVzdFZhbHVlcykmJlZ1KHQsdGhpcy5sYXRlc3RWYWx1ZXMpLHR9c2V0VGFyZ2V0RGVsdGEoZSl7dGhpcy50YXJnZXREZWx0YT1lLHRoaXMucm9vdC5zY2hlZHVsZVVwZGF0ZVByb2plY3Rpb24oKSx0aGlzLmlzUHJvamVjdGlvbkRpcnR5PSEwfXNldE9wdGlvbnMoZSl7dGhpcy5vcHRpb25zPXsuLi50aGlzLm9wdGlvbnMsLi4uZSxjcm9zc2ZhZGU6dm9pZCAwPT09ZS5jcm9zc2ZhZGV8fGUuY3Jvc3NmYWRlfX1jbGVhck1lYXN1cmVtZW50cygpe3RoaXMuc2Nyb2xsPXZvaWQgMCx0aGlzLmxheW91dD12b2lkIDAsdGhpcy5zbmFwc2hvdD12b2lkIDAsdGhpcy5wcmV2VHJhbnNmb3JtVGVtcGxhdGVWYWx1ZT12b2lkIDAsdGhpcy50YXJnZXREZWx0YT12b2lkIDAsdGhpcy50YXJnZXQ9dm9pZCAwLHRoaXMuaXNMYXlvdXREaXJ0eT0hMX1mb3JjZVJlbGF0aXZlUGFyZW50VG9SZXNvbHZlVGFyZ2V0KCl7dGhpcy5yZWxhdGl2ZVBhcmVudCYmdGhpcy5yZWxhdGl2ZVBhcmVudC5yZXNvbHZlZFJlbGF0aXZlVGFyZ2V0QXQhPT1lcy50aW1lc3RhbXAmJnRoaXMucmVsYXRpdmVQYXJlbnQucmVzb2x2ZVRhcmdldERlbHRhKCEwKX1yZXNvbHZlVGFyZ2V0RGVsdGEoZT0hMSl7dmFyIHQ7Y29uc3Qgbj10aGlzLmdldExlYWQoKTt0aGlzLmlzUHJvamVjdGlvbkRpcnR5fHwodGhpcy5pc1Byb2plY3Rpb25EaXJ0eT1uLmlzUHJvamVjdGlvbkRpcnR5KSx0aGlzLmlzVHJhbnNmb3JtRGlydHl8fCh0aGlzLmlzVHJhbnNmb3JtRGlydHk9bi5pc1RyYW5zZm9ybURpcnR5KSx0aGlzLmlzU2hhcmVkUHJvamVjdGlvbkRpcnR5fHwodGhpcy5pc1NoYXJlZFByb2plY3Rpb25EaXJ0eT1uLmlzU2hhcmVkUHJvamVjdGlvbkRpcnR5KTtjb25zdCByPUJvb2xlYW4odGhpcy5yZXN1bWluZ0Zyb20pfHx0aGlzIT09bjtpZighKGV8fHImJnRoaXMuaXNTaGFyZWRQcm9qZWN0aW9uRGlydHl8fHRoaXMuaXNQcm9qZWN0aW9uRGlydHl8fChudWxsPT09KHQ9dGhpcy5wYXJlbnQpfHx2b2lkIDA9PT10P3ZvaWQgMDp0LmlzUHJvamVjdGlvbkRpcnR5KXx8dGhpcy5hdHRlbXB0VG9SZXNvbHZlUmVsYXRpdmVUYXJnZXR8fHRoaXMucm9vdC51cGRhdGVCbG9ja2VkQnlSZXNpemUpKXJldHVybjtjb25zdHtsYXlvdXQ6byxsYXlvdXRJZDppfT10aGlzLm9wdGlvbnM7aWYodGhpcy5sYXlvdXQmJihvfHxpKSl7aWYodGhpcy5yZXNvbHZlZFJlbGF0aXZlVGFyZ2V0QXQ9ZXMudGltZXN0YW1wLCF0aGlzLnRhcmdldERlbHRhJiYhdGhpcy5yZWxhdGl2ZVRhcmdldCl7Y29uc3QgZT10aGlzLmdldENsb3Nlc3RQcm9qZWN0aW5nUGFyZW50KCk7ZSYmZS5sYXlvdXQmJjEhPT10aGlzLmFuaW1hdGlvblByb2dyZXNzPyh0aGlzLnJlbGF0aXZlUGFyZW50PWUsdGhpcy5mb3JjZVJlbGF0aXZlUGFyZW50VG9SZXNvbHZlVGFyZ2V0KCksdGhpcy5yZWxhdGl2ZVRhcmdldD0kYygpLHRoaXMucmVsYXRpdmVUYXJnZXRPcmlnaW49JGMoKSxMYyh0aGlzLnJlbGF0aXZlVGFyZ2V0T3JpZ2luLHRoaXMubGF5b3V0LmxheW91dEJveCxlLmxheW91dC5sYXlvdXRCb3gpLEl1KHRoaXMucmVsYXRpdmVUYXJnZXQsdGhpcy5yZWxhdGl2ZVRhcmdldE9yaWdpbikpOnRoaXMucmVsYXRpdmVQYXJlbnQ9dGhpcy5yZWxhdGl2ZVRhcmdldD12b2lkIDB9aWYodGhpcy5yZWxhdGl2ZVRhcmdldHx8dGhpcy50YXJnZXREZWx0YSl7dmFyIHMsYSxsO2lmKHRoaXMudGFyZ2V0fHwodGhpcy50YXJnZXQ9JGMoKSx0aGlzLnRhcmdldFdpdGhUcmFuc2Zvcm1zPSRjKCkpLHRoaXMucmVsYXRpdmVUYXJnZXQmJnRoaXMucmVsYXRpdmVUYXJnZXRPcmlnaW4mJnRoaXMucmVsYXRpdmVQYXJlbnQmJnRoaXMucmVsYXRpdmVQYXJlbnQudGFyZ2V0Pyh0aGlzLmZvcmNlUmVsYXRpdmVQYXJlbnRUb1Jlc29sdmVUYXJnZXQoKSxzPXRoaXMudGFyZ2V0LGE9dGhpcy5yZWxhdGl2ZVRhcmdldCxsPXRoaXMucmVsYXRpdmVQYXJlbnQudGFyZ2V0LEFjKHMueCxhLngsbC54KSxBYyhzLnksYS55LGwueSkpOnRoaXMudGFyZ2V0RGVsdGE/KEJvb2xlYW4odGhpcy5yZXN1bWluZ0Zyb20pP3RoaXMudGFyZ2V0PXRoaXMuYXBwbHlUcmFuc2Zvcm0odGhpcy5sYXlvdXQubGF5b3V0Qm94KTpJdSh0aGlzLnRhcmdldCx0aGlzLmxheW91dC5sYXlvdXRCb3gpLHR1KHRoaXMudGFyZ2V0LHRoaXMudGFyZ2V0RGVsdGEpKTpJdSh0aGlzLnRhcmdldCx0aGlzLmxheW91dC5sYXlvdXRCb3gpLHRoaXMuYXR0ZW1wdFRvUmVzb2x2ZVJlbGF0aXZlVGFyZ2V0KXt0aGlzLmF0dGVtcHRUb1Jlc29sdmVSZWxhdGl2ZVRhcmdldD0hMTtjb25zdCBlPXRoaXMuZ2V0Q2xvc2VzdFByb2plY3RpbmdQYXJlbnQoKTtlJiZCb29sZWFuKGUucmVzdW1pbmdGcm9tKT09PUJvb2xlYW4odGhpcy5yZXN1bWluZ0Zyb20pJiYhZS5vcHRpb25zLmxheW91dFNjcm9sbCYmZS50YXJnZXQmJjEhPT10aGlzLmFuaW1hdGlvblByb2dyZXNzPyh0aGlzLnJlbGF0aXZlUGFyZW50PWUsdGhpcy5mb3JjZVJlbGF0aXZlUGFyZW50VG9SZXNvbHZlVGFyZ2V0KCksdGhpcy5yZWxhdGl2ZVRhcmdldD0kYygpLHRoaXMucmVsYXRpdmVUYXJnZXRPcmlnaW49JGMoKSxMYyh0aGlzLnJlbGF0aXZlVGFyZ2V0T3JpZ2luLHRoaXMudGFyZ2V0LGUudGFyZ2V0KSxJdSh0aGlzLnJlbGF0aXZlVGFyZ2V0LHRoaXMucmVsYXRpdmVUYXJnZXRPcmlnaW4pKTp0aGlzLnJlbGF0aXZlUGFyZW50PXRoaXMucmVsYXRpdmVUYXJnZXQ9dm9pZCAwfXRkJiZlZC5yZXNvbHZlZFRhcmdldERlbHRhcysrfX19Z2V0Q2xvc2VzdFByb2plY3RpbmdQYXJlbnQoKXtpZih0aGlzLnBhcmVudCYmIXFjKHRoaXMucGFyZW50LmxhdGVzdFZhbHVlcykmJiFYYyh0aGlzLnBhcmVudC5sYXRlc3RWYWx1ZXMpKXJldHVybiB0aGlzLnBhcmVudC5pc1Byb2plY3RpbmcoKT90aGlzLnBhcmVudDp0aGlzLnBhcmVudC5nZXRDbG9zZXN0UHJvamVjdGluZ1BhcmVudCgpfWlzUHJvamVjdGluZygpe3JldHVybiBCb29sZWFuKCh0aGlzLnJlbGF0aXZlVGFyZ2V0fHx0aGlzLnRhcmdldERlbHRhfHx0aGlzLm9wdGlvbnMubGF5b3V0Um9vdCkmJnRoaXMubGF5b3V0KX1jYWxjUHJvamVjdGlvbigpe3ZhciBlO2NvbnN0IHQ9dGhpcy5nZXRMZWFkKCksbj1Cb29sZWFuKHRoaXMucmVzdW1pbmdGcm9tKXx8dGhpcyE9PXQ7bGV0IHI9ITA7aWYoKHRoaXMuaXNQcm9qZWN0aW9uRGlydHl8fChudWxsPT09KGU9dGhpcy5wYXJlbnQpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLmlzUHJvamVjdGlvbkRpcnR5KSkmJihyPSExKSxuJiYodGhpcy5pc1NoYXJlZFByb2plY3Rpb25EaXJ0eXx8dGhpcy5pc1RyYW5zZm9ybURpcnR5KSYmKHI9ITEpLHRoaXMucmVzb2x2ZWRSZWxhdGl2ZVRhcmdldEF0PT09ZXMudGltZXN0YW1wJiYocj0hMSkscilyZXR1cm47Y29uc3R7bGF5b3V0Om8sbGF5b3V0SWQ6aX09dGhpcy5vcHRpb25zO2lmKHRoaXMuaXNUcmVlQW5pbWF0aW5nPUJvb2xlYW4odGhpcy5wYXJlbnQmJnRoaXMucGFyZW50LmlzVHJlZUFuaW1hdGluZ3x8dGhpcy5jdXJyZW50QW5pbWF0aW9ufHx0aGlzLnBlbmRpbmdBbmltYXRpb24pLHRoaXMuaXNUcmVlQW5pbWF0aW5nfHwodGhpcy50YXJnZXREZWx0YT10aGlzLnJlbGF0aXZlVGFyZ2V0PXZvaWQgMCksIXRoaXMubGF5b3V0fHwhbyYmIWkpcmV0dXJuO0l1KHRoaXMubGF5b3V0Q29ycmVjdGVkLHRoaXMubGF5b3V0LmxheW91dEJveCk7Y29uc3Qgcz10aGlzLnRyZWVTY2FsZS54LGE9dGhpcy50cmVlU2NhbGUueTshZnVuY3Rpb24oZSx0LG4scj0hMSl7Y29uc3Qgbz1uLmxlbmd0aDtpZighbylyZXR1cm47bGV0IGksczt0Lng9dC55PTE7Zm9yKGxldCBhPTA7YTxvO2ErKyl7aT1uW2FdLHM9aS5wcm9qZWN0aW9uRGVsdGE7Y29uc3R7dmlzdWFsRWxlbWVudDpvfT1pLm9wdGlvbnM7byYmby5wcm9wcy5zdHlsZSYmXCJjb250ZW50c1wiPT09by5wcm9wcy5zdHlsZS5kaXNwbGF5fHwociYmaS5vcHRpb25zLmxheW91dFNjcm9sbCYmaS5zY3JvbGwmJmkhPT1pLnJvb3QmJnN1KGUse3g6LWkuc2Nyb2xsLm9mZnNldC54LHk6LWkuc2Nyb2xsLm9mZnNldC55fSkscyYmKHQueCo9cy54LnNjYWxlLHQueSo9cy55LnNjYWxlLHR1KGUscykpLHImJkdjKGkubGF0ZXN0VmFsdWVzKSYmc3UoZSxpLmxhdGVzdFZhbHVlcykpfXQueDxydSYmdC54Pm51JiYodC54PTEpLHQueTxydSYmdC55Pm51JiYodC55PTEpfSh0aGlzLmxheW91dENvcnJlY3RlZCx0aGlzLnRyZWVTY2FsZSx0aGlzLnBhdGgsbiksIXQubGF5b3V0fHx0LnRhcmdldHx8MT09PXRoaXMudHJlZVNjYWxlLngmJjE9PT10aGlzLnRyZWVTY2FsZS55fHwodC50YXJnZXQ9dC5sYXlvdXQubGF5b3V0Qm94LHQudGFyZ2V0V2l0aFRyYW5zZm9ybXM9JGMoKSk7Y29uc3R7dGFyZ2V0Omx9PXQ7bD8odGhpcy5wcm9qZWN0aW9uRGVsdGEmJnRoaXMucHJldlByb2plY3Rpb25EZWx0YT8oTHUodGhpcy5wcmV2UHJvamVjdGlvbkRlbHRhLngsdGhpcy5wcm9qZWN0aW9uRGVsdGEueCksTHUodGhpcy5wcmV2UHJvamVjdGlvbkRlbHRhLnksdGhpcy5wcm9qZWN0aW9uRGVsdGEueSkpOnRoaXMuY3JlYXRlUHJvamVjdGlvbkRlbHRhcygpLGpjKHRoaXMucHJvamVjdGlvbkRlbHRhLHRoaXMubGF5b3V0Q29ycmVjdGVkLGwsdGhpcy5sYXRlc3RWYWx1ZXMpLHRoaXMudHJlZVNjYWxlLng9PT1zJiZ0aGlzLnRyZWVTY2FsZS55PT09YSYmR3UodGhpcy5wcm9qZWN0aW9uRGVsdGEueCx0aGlzLnByZXZQcm9qZWN0aW9uRGVsdGEueCkmJkd1KHRoaXMucHJvamVjdGlvbkRlbHRhLnksdGhpcy5wcmV2UHJvamVjdGlvbkRlbHRhLnkpfHwodGhpcy5oYXNQcm9qZWN0ZWQ9ITAsdGhpcy5zY2hlZHVsZVJlbmRlcigpLHRoaXMubm90aWZ5TGlzdGVuZXJzKFwicHJvamVjdGlvblVwZGF0ZVwiLGwpKSx0ZCYmZWQucmVjYWxjdWxhdGVkUHJvamVjdGlvbisrKTp0aGlzLnByZXZQcm9qZWN0aW9uRGVsdGEmJih0aGlzLmNyZWF0ZVByb2plY3Rpb25EZWx0YXMoKSx0aGlzLnNjaGVkdWxlUmVuZGVyKCkpfWhpZGUoKXt0aGlzLmlzVmlzaWJsZT0hMX1zaG93KCl7dGhpcy5pc1Zpc2libGU9ITB9c2NoZWR1bGVSZW5kZXIoZT0hMCl7dmFyIHQ7aWYobnVsbD09PSh0PXRoaXMub3B0aW9ucy52aXN1YWxFbGVtZW50KXx8dm9pZCAwPT09dHx8dC5zY2hlZHVsZVJlbmRlcigpLGUpe2NvbnN0IGU9dGhpcy5nZXRTdGFjaygpO2UmJmUuc2NoZWR1bGVSZW5kZXIoKX10aGlzLnJlc3VtaW5nRnJvbSYmIXRoaXMucmVzdW1pbmdGcm9tLmluc3RhbmNlJiYodGhpcy5yZXN1bWluZ0Zyb209dm9pZCAwKX1jcmVhdGVQcm9qZWN0aW9uRGVsdGFzKCl7dGhpcy5wcmV2UHJvamVjdGlvbkRlbHRhPVVjKCksdGhpcy5wcm9qZWN0aW9uRGVsdGE9VWMoKSx0aGlzLnByb2plY3Rpb25EZWx0YVdpdGhUcmFuc2Zvcm09VWMoKX1zZXRBbmltYXRpb25PcmlnaW4oZSx0PSExKXtjb25zdCBuPXRoaXMuc25hcHNob3Qscj1uP24ubGF0ZXN0VmFsdWVzOnt9LG89ey4uLnRoaXMubGF0ZXN0VmFsdWVzfSxpPVVjKCk7dGhpcy5yZWxhdGl2ZVBhcmVudCYmdGhpcy5yZWxhdGl2ZVBhcmVudC5vcHRpb25zLmxheW91dFJvb3R8fCh0aGlzLnJlbGF0aXZlVGFyZ2V0PXRoaXMucmVsYXRpdmVUYXJnZXRPcmlnaW49dm9pZCAwKSx0aGlzLmF0dGVtcHRUb1Jlc29sdmVSZWxhdGl2ZVRhcmdldD0hdDtjb25zdCBzPSRjKCksYT0obj9uLnNvdXJjZTp2b2lkIDApIT09KHRoaXMubGF5b3V0P3RoaXMubGF5b3V0LnNvdXJjZTp2b2lkIDApLGw9dGhpcy5nZXRTdGFjaygpLGM9IWx8fGwubWVtYmVycy5sZW5ndGg8PTEsdT1Cb29sZWFuKGEmJiFjJiYhMD09PXRoaXMub3B0aW9ucy5jcm9zc2ZhZGUmJiF0aGlzLnBhdGguc29tZShrZCkpO2xldCBkO3RoaXMuYW5pbWF0aW9uUHJvZ3Jlc3M9MCx0aGlzLm1peFRhcmdldERlbHRhPXQ9Pntjb25zdCBuPXQvMWUzO3ZhciBsLGYsbSxoLHAsZzt3ZChpLngsZS54LG4pLHdkKGkueSxlLnksbiksdGhpcy5zZXRUYXJnZXREZWx0YShpKSx0aGlzLnJlbGF0aXZlVGFyZ2V0JiZ0aGlzLnJlbGF0aXZlVGFyZ2V0T3JpZ2luJiZ0aGlzLmxheW91dCYmdGhpcy5yZWxhdGl2ZVBhcmVudCYmdGhpcy5yZWxhdGl2ZVBhcmVudC5sYXlvdXQmJihMYyhzLHRoaXMubGF5b3V0LmxheW91dEJveCx0aGlzLnJlbGF0aXZlUGFyZW50LmxheW91dC5sYXlvdXRCb3gpLG09dGhpcy5yZWxhdGl2ZVRhcmdldCxoPXRoaXMucmVsYXRpdmVUYXJnZXRPcmlnaW4scD1zLGc9bixTZChtLngsaC54LHAueCxnKSxTZChtLnksaC55LHAueSxnKSxkJiYobD10aGlzLnJlbGF0aXZlVGFyZ2V0LGY9ZCxZdShsLngsZi54KSYmWXUobC55LGYueSkpJiYodGhpcy5pc1Byb2plY3Rpb25EaXJ0eT0hMSksZHx8KGQ9JGMoKSksSXUoZCx0aGlzLnJlbGF0aXZlVGFyZ2V0KSksYSYmKHRoaXMuYW5pbWF0aW9uVmFsdWVzPW8sZnVuY3Rpb24oZSx0LG4scixvLGkpe28/KGUub3BhY2l0eT1pbCgwLHZvaWQgMCE9PW4ub3BhY2l0eT9uLm9wYWNpdHk6MSxSdShyKSksZS5vcGFjaXR5RXhpdD1pbCh2b2lkIDAhPT10Lm9wYWNpdHk/dC5vcGFjaXR5OjEsMCxEdShyKSkpOmkmJihlLm9wYWNpdHk9aWwodm9pZCAwIT09dC5vcGFjaXR5P3Qub3BhY2l0eToxLHZvaWQgMCE9PW4ub3BhY2l0eT9uLm9wYWNpdHk6MSxyKSk7Zm9yKGxldCBvPTA7bzxPdTtvKyspe2NvbnN0IGk9YGJvcmRlciR7UHVbb119UmFkaXVzYDtsZXQgcz1NdSh0LGkpLGE9TXUobixpKTt2b2lkIDA9PT1zJiZ2b2lkIDA9PT1hfHwoc3x8KHM9MCksYXx8KGE9MCksMD09PXN8fDA9PT1hfHxUdShzKT09PVR1KGEpPyhlW2ldPU1hdGgubWF4KGlsKE51KHMpLE51KGEpLHIpLDApLChFcy50ZXN0KGEpfHxFcy50ZXN0KHMpKSYmKGVbaV0rPVwiJVwiKSk6ZVtpXT1hKX0odC5yb3RhdGV8fG4ucm90YXRlKSYmKGUucm90YXRlPWlsKHQucm90YXRlfHwwLG4ucm90YXRlfHwwLHIpKX0obyxyLHRoaXMubGF0ZXN0VmFsdWVzLG4sdSxjKSksdGhpcy5yb290LnNjaGVkdWxlVXBkYXRlUHJvamVjdGlvbigpLHRoaXMuc2NoZWR1bGVSZW5kZXIoKSx0aGlzLmFuaW1hdGlvblByb2dyZXNzPW59LHRoaXMubWl4VGFyZ2V0RGVsdGEodGhpcy5vcHRpb25zLmxheW91dFJvb3Q/MWUzOjApfXN0YXJ0QW5pbWF0aW9uKGUpe3RoaXMubm90aWZ5TGlzdGVuZXJzKFwiYW5pbWF0aW9uU3RhcnRcIiksdGhpcy5jdXJyZW50QW5pbWF0aW9uJiZ0aGlzLmN1cnJlbnRBbmltYXRpb24uc3RvcCgpLHRoaXMucmVzdW1pbmdGcm9tJiZ0aGlzLnJlc3VtaW5nRnJvbS5jdXJyZW50QW5pbWF0aW9uJiZ0aGlzLnJlc3VtaW5nRnJvbS5jdXJyZW50QW5pbWF0aW9uLnN0b3AoKSx0aGlzLnBlbmRpbmdBbmltYXRpb24mJihRaSh0aGlzLnBlbmRpbmdBbmltYXRpb24pLHRoaXMucGVuZGluZ0FuaW1hdGlvbj12b2lkIDApLHRoaXMucGVuZGluZ0FuaW1hdGlvbj1KaS51cGRhdGUoKCgpPT57eXUuaGFzQW5pbWF0ZWRTaW5jZVJlc2l6ZT0hMCx0aGlzLmN1cnJlbnRBbmltYXRpb249ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHI9WGwoMCk/MDpVbCgwKTtyZXR1cm4gci5zdGFydChBbChcIlwiLHIsMWUzLG4pKSxyLmFuaW1hdGlvbn0oMCwwLHsuLi5lLG9uVXBkYXRlOnQ9Pnt0aGlzLm1peFRhcmdldERlbHRhKHQpLGUub25VcGRhdGUmJmUub25VcGRhdGUodCl9LG9uQ29tcGxldGU6KCk9PntlLm9uQ29tcGxldGUmJmUub25Db21wbGV0ZSgpLHRoaXMuY29tcGxldGVBbmltYXRpb24oKX19KSx0aGlzLnJlc3VtaW5nRnJvbSYmKHRoaXMucmVzdW1pbmdGcm9tLmN1cnJlbnRBbmltYXRpb249dGhpcy5jdXJyZW50QW5pbWF0aW9uKSx0aGlzLnBlbmRpbmdBbmltYXRpb249dm9pZCAwfSkpfWNvbXBsZXRlQW5pbWF0aW9uKCl7dGhpcy5yZXN1bWluZ0Zyb20mJih0aGlzLnJlc3VtaW5nRnJvbS5jdXJyZW50QW5pbWF0aW9uPXZvaWQgMCx0aGlzLnJlc3VtaW5nRnJvbS5wcmVzZXJ2ZU9wYWNpdHk9dm9pZCAwKTtjb25zdCBlPXRoaXMuZ2V0U3RhY2soKTtlJiZlLmV4aXRBbmltYXRpb25Db21wbGV0ZSgpLHRoaXMucmVzdW1pbmdGcm9tPXRoaXMuY3VycmVudEFuaW1hdGlvbj10aGlzLmFuaW1hdGlvblZhbHVlcz12b2lkIDAsdGhpcy5ub3RpZnlMaXN0ZW5lcnMoXCJhbmltYXRpb25Db21wbGV0ZVwiKX1maW5pc2hBbmltYXRpb24oKXt0aGlzLmN1cnJlbnRBbmltYXRpb24mJih0aGlzLm1peFRhcmdldERlbHRhJiZ0aGlzLm1peFRhcmdldERlbHRhKDFlMyksdGhpcy5jdXJyZW50QW5pbWF0aW9uLnN0b3AoKSksdGhpcy5jb21wbGV0ZUFuaW1hdGlvbigpfWFwcGx5VHJhbnNmb3Jtc1RvVGFyZ2V0KCl7Y29uc3QgZT10aGlzLmdldExlYWQoKTtsZXR7dGFyZ2V0V2l0aFRyYW5zZm9ybXM6dCx0YXJnZXQ6bixsYXlvdXQ6cixsYXRlc3RWYWx1ZXM6b309ZTtpZih0JiZuJiZyKXtpZih0aGlzIT09ZSYmdGhpcy5sYXlvdXQmJnImJk9kKHRoaXMub3B0aW9ucy5hbmltYXRpb25UeXBlLHRoaXMubGF5b3V0LmxheW91dEJveCxyLmxheW91dEJveCkpe249dGhpcy50YXJnZXR8fCRjKCk7Y29uc3QgdD1SYyh0aGlzLmxheW91dC5sYXlvdXRCb3gueCk7bi54Lm1pbj1lLnRhcmdldC54Lm1pbixuLngubWF4PW4ueC5taW4rdDtjb25zdCByPVJjKHRoaXMubGF5b3V0LmxheW91dEJveC55KTtuLnkubWluPWUudGFyZ2V0LnkubWluLG4ueS5tYXg9bi55Lm1pbityfUl1KHQsbiksc3UodCxvKSxqYyh0aGlzLnByb2plY3Rpb25EZWx0YVdpdGhUcmFuc2Zvcm0sdGhpcy5sYXlvdXRDb3JyZWN0ZWQsdCxvKX19cmVnaXN0ZXJTaGFyZWROb2RlKGUsdCl7dGhpcy5zaGFyZWROb2Rlcy5oYXMoZSl8fHRoaXMuc2hhcmVkTm9kZXMuc2V0KGUsbmV3IFh1KSx0aGlzLnNoYXJlZE5vZGVzLmdldChlKS5hZGQodCk7Y29uc3Qgbj10Lm9wdGlvbnMuaW5pdGlhbFByb21vdGlvbkNvbmZpZzt0LnByb21vdGUoe3RyYW5zaXRpb246bj9uLnRyYW5zaXRpb246dm9pZCAwLHByZXNlcnZlRm9sbG93T3BhY2l0eTpuJiZuLnNob3VsZFByZXNlcnZlRm9sbG93T3BhY2l0eT9uLnNob3VsZFByZXNlcnZlRm9sbG93T3BhY2l0eSh0KTp2b2lkIDB9KX1pc0xlYWQoKXtjb25zdCBlPXRoaXMuZ2V0U3RhY2soKTtyZXR1cm4hZXx8ZS5sZWFkPT09dGhpc31nZXRMZWFkKCl7dmFyIGU7Y29uc3R7bGF5b3V0SWQ6dH09dGhpcy5vcHRpb25zO3JldHVybiB0JiYobnVsbD09PShlPXRoaXMuZ2V0U3RhY2soKSl8fHZvaWQgMD09PWU/dm9pZCAwOmUubGVhZCl8fHRoaXN9Z2V0UHJldkxlYWQoKXt2YXIgZTtjb25zdHtsYXlvdXRJZDp0fT10aGlzLm9wdGlvbnM7cmV0dXJuIHQ/bnVsbD09PShlPXRoaXMuZ2V0U3RhY2soKSl8fHZvaWQgMD09PWU/dm9pZCAwOmUucHJldkxlYWQ6dm9pZCAwfWdldFN0YWNrKCl7Y29uc3R7bGF5b3V0SWQ6ZX09dGhpcy5vcHRpb25zO2lmKGUpcmV0dXJuIHRoaXMucm9vdC5zaGFyZWROb2Rlcy5nZXQoZSl9cHJvbW90ZSh7bmVlZHNSZXNldDplLHRyYW5zaXRpb246dCxwcmVzZXJ2ZUZvbGxvd09wYWNpdHk6bn09e30pe2NvbnN0IHI9dGhpcy5nZXRTdGFjaygpO3ImJnIucHJvbW90ZSh0aGlzLG4pLGUmJih0aGlzLnByb2plY3Rpb25EZWx0YT12b2lkIDAsdGhpcy5uZWVkc1Jlc2V0PSEwKSx0JiZ0aGlzLnNldE9wdGlvbnMoe3RyYW5zaXRpb246dH0pfXJlbGVnYXRlKCl7Y29uc3QgZT10aGlzLmdldFN0YWNrKCk7cmV0dXJuISFlJiZlLnJlbGVnYXRlKHRoaXMpfXJlc2V0U2tld0FuZFJvdGF0aW9uKCl7Y29uc3R7dmlzdWFsRWxlbWVudDplfT10aGlzLm9wdGlvbnM7aWYoIWUpcmV0dXJuO2xldCB0PSExO2NvbnN0e2xhdGVzdFZhbHVlczpufT1lO2lmKChuLnp8fG4ucm90YXRlfHxuLnJvdGF0ZVh8fG4ucm90YXRlWXx8bi5yb3RhdGVafHxuLnNrZXdYfHxuLnNrZXdZKSYmKHQ9ITApLCF0KXJldHVybjtjb25zdCByPXt9O24ueiYmaWQoXCJ6XCIsZSxyLHRoaXMuYW5pbWF0aW9uVmFsdWVzKTtmb3IobGV0IHQ9MDt0PG5kLmxlbmd0aDt0KyspaWQoYHJvdGF0ZSR7bmRbdF19YCxlLHIsdGhpcy5hbmltYXRpb25WYWx1ZXMpLGlkKGBza2V3JHtuZFt0XX1gLGUscix0aGlzLmFuaW1hdGlvblZhbHVlcyk7ZS5yZW5kZXIoKTtmb3IoY29uc3QgdCBpbiByKWUuc2V0U3RhdGljVmFsdWUodCxyW3RdKSx0aGlzLmFuaW1hdGlvblZhbHVlcyYmKHRoaXMuYW5pbWF0aW9uVmFsdWVzW3RdPXJbdF0pO2Uuc2NoZWR1bGVSZW5kZXIoKX1nZXRQcm9qZWN0aW9uU3R5bGVzKGUpe3ZhciB0LG47aWYoIXRoaXMuaW5zdGFuY2V8fHRoaXMuaXNTVkcpcmV0dXJuO2lmKCF0aGlzLmlzVmlzaWJsZSlyZXR1cm4gcmQ7Y29uc3Qgcj17dmlzaWJpbGl0eTpcIlwifSxvPXRoaXMuZ2V0VHJhbnNmb3JtVGVtcGxhdGUoKTtpZih0aGlzLm5lZWRzUmVzZXQpcmV0dXJuIHRoaXMubmVlZHNSZXNldD0hMSxyLm9wYWNpdHk9XCJcIixyLnBvaW50ZXJFdmVudHM9UXUobnVsbD09ZT92b2lkIDA6ZS5wb2ludGVyRXZlbnRzKXx8XCJcIixyLnRyYW5zZm9ybT1vP28odGhpcy5sYXRlc3RWYWx1ZXMsXCJcIik6XCJub25lXCIscjtjb25zdCBpPXRoaXMuZ2V0TGVhZCgpO2lmKCF0aGlzLnByb2plY3Rpb25EZWx0YXx8IXRoaXMubGF5b3V0fHwhaS50YXJnZXQpe2NvbnN0IHQ9e307cmV0dXJuIHRoaXMub3B0aW9ucy5sYXlvdXRJZCYmKHQub3BhY2l0eT12b2lkIDAhPT10aGlzLmxhdGVzdFZhbHVlcy5vcGFjaXR5P3RoaXMubGF0ZXN0VmFsdWVzLm9wYWNpdHk6MSx0LnBvaW50ZXJFdmVudHM9UXUobnVsbD09ZT92b2lkIDA6ZS5wb2ludGVyRXZlbnRzKXx8XCJcIiksdGhpcy5oYXNQcm9qZWN0ZWQmJiFHYyh0aGlzLmxhdGVzdFZhbHVlcykmJih0LnRyYW5zZm9ybT1vP28oe30sXCJcIik6XCJub25lXCIsdGhpcy5oYXNQcm9qZWN0ZWQ9ITEpLHR9Y29uc3Qgcz1pLmFuaW1hdGlvblZhbHVlc3x8aS5sYXRlc3RWYWx1ZXM7dGhpcy5hcHBseVRyYW5zZm9ybXNUb1RhcmdldCgpLHIudHJhbnNmb3JtPWZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1cIlwiO2NvbnN0IG89ZS54LnRyYW5zbGF0ZS90LngsaT1lLnkudHJhbnNsYXRlL3QueSxzPShudWxsPT1uP3ZvaWQgMDpuLnopfHwwO2lmKChvfHxpfHxzKSYmKHI9YHRyYW5zbGF0ZTNkKCR7b31weCwgJHtpfXB4LCAke3N9cHgpIGApLDE9PT10LngmJjE9PT10Lnl8fChyKz1gc2NhbGUoJHsxL3QueH0sICR7MS90Lnl9KSBgKSxuKXtjb25zdHt0cmFuc2Zvcm1QZXJzcGVjdGl2ZTplLHJvdGF0ZTp0LHJvdGF0ZVg6byxyb3RhdGVZOmksc2tld1g6cyxza2V3WTphfT1uO2UmJihyPWBwZXJzcGVjdGl2ZSgke2V9cHgpICR7cn1gKSx0JiYocis9YHJvdGF0ZSgke3R9ZGVnKSBgKSxvJiYocis9YHJvdGF0ZVgoJHtvfWRlZykgYCksaSYmKHIrPWByb3RhdGVZKCR7aX1kZWcpIGApLHMmJihyKz1gc2tld1goJHtzfWRlZykgYCksYSYmKHIrPWBza2V3WSgke2F9ZGVnKSBgKX1jb25zdCBhPWUueC5zY2FsZSp0LngsbD1lLnkuc2NhbGUqdC55O3JldHVybiAxPT09YSYmMT09PWx8fChyKz1gc2NhbGUoJHthfSwgJHtsfSlgKSxyfHxcIm5vbmVcIn0odGhpcy5wcm9qZWN0aW9uRGVsdGFXaXRoVHJhbnNmb3JtLHRoaXMudHJlZVNjYWxlLHMpLG8mJihyLnRyYW5zZm9ybT1vKHMsci50cmFuc2Zvcm0pKTtjb25zdHt4OmEseTpsfT10aGlzLnByb2plY3Rpb25EZWx0YTtyLnRyYW5zZm9ybU9yaWdpbj1gJHsxMDAqYS5vcmlnaW59JSAkezEwMCpsLm9yaWdpbn0lIDBgLGkuYW5pbWF0aW9uVmFsdWVzP3Iub3BhY2l0eT1pPT09dGhpcz9udWxsIT09KG49bnVsbCE9PSh0PXMub3BhY2l0eSkmJnZvaWQgMCE9PXQ/dDp0aGlzLmxhdGVzdFZhbHVlcy5vcGFjaXR5KSYmdm9pZCAwIT09bj9uOjE6dGhpcy5wcmVzZXJ2ZU9wYWNpdHk/dGhpcy5sYXRlc3RWYWx1ZXMub3BhY2l0eTpzLm9wYWNpdHlFeGl0OnIub3BhY2l0eT1pPT09dGhpcz92b2lkIDAhPT1zLm9wYWNpdHk/cy5vcGFjaXR5OlwiXCI6dm9pZCAwIT09cy5vcGFjaXR5RXhpdD9zLm9wYWNpdHlFeGl0OjA7Zm9yKGNvbnN0IGUgaW4gd3Upe2lmKHZvaWQgMD09PXNbZV0pY29udGludWU7Y29uc3R7Y29ycmVjdDp0LGFwcGx5VG86bn09d3VbZV0sbz1cIm5vbmVcIj09PXIudHJhbnNmb3JtP3NbZV06dChzW2VdLGkpO2lmKG4pe2NvbnN0IGU9bi5sZW5ndGg7Zm9yKGxldCB0PTA7dDxlO3QrKylyW25bdF1dPW99ZWxzZSByW2VdPW99cmV0dXJuIHRoaXMub3B0aW9ucy5sYXlvdXRJZCYmKHIucG9pbnRlckV2ZW50cz1pPT09dGhpcz9RdShudWxsPT1lP3ZvaWQgMDplLnBvaW50ZXJFdmVudHMpfHxcIlwiOlwibm9uZVwiKSxyfWNsZWFyU25hcHNob3QoKXt0aGlzLnJlc3VtZUZyb209dGhpcy5zbmFwc2hvdD12b2lkIDB9cmVzZXRUcmVlKCl7dGhpcy5yb290Lm5vZGVzLmZvckVhY2goKGU9Pnt2YXIgdDtyZXR1cm4gbnVsbD09PSh0PWUuY3VycmVudEFuaW1hdGlvbil8fHZvaWQgMD09PXQ/dm9pZCAwOnQuc3RvcCgpfSkpLHRoaXMucm9vdC5ub2Rlcy5mb3JFYWNoKG1kKSx0aGlzLnJvb3Quc2hhcmVkTm9kZXMuY2xlYXIoKX19fWZ1bmN0aW9uIGxkKGUpe2UudXBkYXRlTGF5b3V0KCl9ZnVuY3Rpb24gY2QoZSl7dmFyIHQ7Y29uc3Qgbj0obnVsbD09PSh0PWUucmVzdW1lRnJvbSl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuc25hcHNob3QpfHxlLnNuYXBzaG90O2lmKGUuaXNMZWFkKCkmJmUubGF5b3V0JiZuJiZlLmhhc0xpc3RlbmVycyhcImRpZFVwZGF0ZVwiKSl7Y29uc3R7bGF5b3V0Qm94OnQsbWVhc3VyZWRCb3g6cn09ZS5sYXlvdXQse2FuaW1hdGlvblR5cGU6b309ZS5vcHRpb25zLGk9bi5zb3VyY2UhPT1lLmxheW91dC5zb3VyY2U7XCJzaXplXCI9PT1vP1ljKChlPT57Y29uc3Qgcj1pP24ubWVhc3VyZWRCb3hbZV06bi5sYXlvdXRCb3hbZV0sbz1SYyhyKTtyLm1pbj10W2VdLm1pbixyLm1heD1yLm1pbitvfSkpOk9kKG8sbi5sYXlvdXRCb3gsdCkmJlljKChyPT57Y29uc3Qgbz1pP24ubWVhc3VyZWRCb3hbcl06bi5sYXlvdXRCb3hbcl0scz1SYyh0W3JdKTtvLm1heD1vLm1pbitzLGUucmVsYXRpdmVUYXJnZXQmJiFlLmN1cnJlbnRBbmltYXRpb24mJihlLmlzUHJvamVjdGlvbkRpcnR5PSEwLGUucmVsYXRpdmVUYXJnZXRbcl0ubWF4PWUucmVsYXRpdmVUYXJnZXRbcl0ubWluK3MpfSkpO2NvbnN0IHM9VWMoKTtqYyhzLHQsbi5sYXlvdXRCb3gpO2NvbnN0IGE9VWMoKTtpP2pjKGEsZS5hcHBseVRyYW5zZm9ybShyLCEwKSxuLm1lYXN1cmVkQm94KTpqYyhhLHQsbi5sYXlvdXRCb3gpO2NvbnN0IGw9ISR1KHMpO2xldCBjPSExO2lmKCFlLnJlc3VtZUZyb20pe2NvbnN0IHI9ZS5nZXRDbG9zZXN0UHJvamVjdGluZ1BhcmVudCgpO2lmKHImJiFyLnJlc3VtZUZyb20pe2NvbnN0e3NuYXBzaG90Om8sbGF5b3V0Oml9PXI7aWYobyYmaSl7Y29uc3Qgcz0kYygpO0xjKHMsbi5sYXlvdXRCb3gsby5sYXlvdXRCb3gpO2NvbnN0IGE9JGMoKTtMYyhhLHQsaS5sYXlvdXRCb3gpLEt1KHMsYSl8fChjPSEwKSxyLm9wdGlvbnMubGF5b3V0Um9vdCYmKGUucmVsYXRpdmVUYXJnZXQ9YSxlLnJlbGF0aXZlVGFyZ2V0T3JpZ2luPXMsZS5yZWxhdGl2ZVBhcmVudD1yKX19fWUubm90aWZ5TGlzdGVuZXJzKFwiZGlkVXBkYXRlXCIse2xheW91dDp0LHNuYXBzaG90Om4sZGVsdGE6YSxsYXlvdXREZWx0YTpzLGhhc0xheW91dENoYW5nZWQ6bCxoYXNSZWxhdGl2ZVRhcmdldENoYW5nZWQ6Y30pfWVsc2UgaWYoZS5pc0xlYWQoKSl7Y29uc3R7b25FeGl0Q29tcGxldGU6dH09ZS5vcHRpb25zO3QmJnQoKX1lLm9wdGlvbnMudHJhbnNpdGlvbj12b2lkIDB9ZnVuY3Rpb24gdWQoZSl7dGQmJmVkLnRvdGFsTm9kZXMrKyxlLnBhcmVudCYmKGUuaXNQcm9qZWN0aW5nKCl8fChlLmlzUHJvamVjdGlvbkRpcnR5PWUucGFyZW50LmlzUHJvamVjdGlvbkRpcnR5KSxlLmlzU2hhcmVkUHJvamVjdGlvbkRpcnR5fHwoZS5pc1NoYXJlZFByb2plY3Rpb25EaXJ0eT1Cb29sZWFuKGUuaXNQcm9qZWN0aW9uRGlydHl8fGUucGFyZW50LmlzUHJvamVjdGlvbkRpcnR5fHxlLnBhcmVudC5pc1NoYXJlZFByb2plY3Rpb25EaXJ0eSkpLGUuaXNUcmFuc2Zvcm1EaXJ0eXx8KGUuaXNUcmFuc2Zvcm1EaXJ0eT1lLnBhcmVudC5pc1RyYW5zZm9ybURpcnR5KSl9ZnVuY3Rpb24gZGQoZSl7ZS5pc1Byb2plY3Rpb25EaXJ0eT1lLmlzU2hhcmVkUHJvamVjdGlvbkRpcnR5PWUuaXNUcmFuc2Zvcm1EaXJ0eT0hMX1mdW5jdGlvbiBmZChlKXtlLmNsZWFyU25hcHNob3QoKX1mdW5jdGlvbiBtZChlKXtlLmNsZWFyTWVhc3VyZW1lbnRzKCl9ZnVuY3Rpb24gaGQoZSl7ZS5pc0xheW91dERpcnR5PSExfWZ1bmN0aW9uIHBkKGUpe2NvbnN0e3Zpc3VhbEVsZW1lbnQ6dH09ZS5vcHRpb25zO3QmJnQuZ2V0UHJvcHMoKS5vbkJlZm9yZUxheW91dE1lYXN1cmUmJnQubm90aWZ5KFwiQmVmb3JlTGF5b3V0TWVhc3VyZVwiKSxlLnJlc2V0VHJhbnNmb3JtKCl9ZnVuY3Rpb24gZ2QoZSl7ZS5maW5pc2hBbmltYXRpb24oKSxlLnRhcmdldERlbHRhPWUucmVsYXRpdmVUYXJnZXQ9ZS50YXJnZXQ9dm9pZCAwLGUuaXNQcm9qZWN0aW9uRGlydHk9ITB9ZnVuY3Rpb24geWQoZSl7ZS5yZXNvbHZlVGFyZ2V0RGVsdGEoKX1mdW5jdGlvbiB2ZChlKXtlLmNhbGNQcm9qZWN0aW9uKCl9ZnVuY3Rpb24gYmQoZSl7ZS5yZXNldFNrZXdBbmRSb3RhdGlvbigpfWZ1bmN0aW9uIHhkKGUpe2UucmVtb3ZlTGVhZFNuYXBzaG90KCl9ZnVuY3Rpb24gd2QoZSx0LG4pe2UudHJhbnNsYXRlPWlsKHQudHJhbnNsYXRlLDAsbiksZS5zY2FsZT1pbCh0LnNjYWxlLDEsbiksZS5vcmlnaW49dC5vcmlnaW4sZS5vcmlnaW5Qb2ludD10Lm9yaWdpblBvaW50fWZ1bmN0aW9uIFNkKGUsdCxuLHIpe2UubWluPWlsKHQubWluLG4ubWluLHIpLGUubWF4PWlsKHQubWF4LG4ubWF4LHIpfWZ1bmN0aW9uIGtkKGUpe3JldHVybiBlLmFuaW1hdGlvblZhbHVlcyYmdm9pZCAwIT09ZS5hbmltYXRpb25WYWx1ZXMub3BhY2l0eUV4aXR9Y29uc3QgRWQ9e2R1cmF0aW9uOi40NSxlYXNlOlsuNCwwLC4xLDFdfSxDZD1lPT5cInVuZGVmaW5lZFwiIT10eXBlb2YgbmF2aWdhdG9yJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZSksX2Q9Q2QoXCJhcHBsZXdlYmtpdC9cIikmJiFDZChcImNocm9tZS9cIik/TWF0aC5yb3VuZDpHaTtmdW5jdGlvbiBQZChlKXtlLm1pbj1fZChlLm1pbiksZS5tYXg9X2QoZS5tYXgpfWZ1bmN0aW9uIE9kKGUsdCxuKXtyZXR1cm5cInBvc2l0aW9uXCI9PT1lfHxcInByZXNlcnZlLWFzcGVjdFwiPT09ZSYmKHI9cXUodCksbz1xdShuKSwhKE1hdGguYWJzKHItbyk8PS4yKSk7dmFyIHIsb31mdW5jdGlvbiBOZChlKXt2YXIgdDtyZXR1cm4gZSE9PWUucm9vdCYmKG51bGw9PT0odD1lLnNjcm9sbCl8fHZvaWQgMD09PXQ/dm9pZCAwOnQud2FzUm9vdCl9Y29uc3QgVGQ9YWQoe2F0dGFjaFJlc2l6ZUxpc3RlbmVyOihlLHQpPT5mYyhlLFwicmVzaXplXCIsdCksbWVhc3VyZVNjcm9sbDooKT0+KHt4OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0fHxkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQseTpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfHxkb2N1bWVudC5ib2R5LnNjcm9sbFRvcH0pLGNoZWNrSXNTY3JvbGxSb290OigpPT4hMH0pLE1kPXtjdXJyZW50OnZvaWQgMH0sUmQ9YWQoe21lYXN1cmVTY3JvbGw6ZT0+KHt4OmUuc2Nyb2xsTGVmdCx5OmUuc2Nyb2xsVG9wfSksZGVmYXVsdFBhcmVudDooKT0+e2lmKCFNZC5jdXJyZW50KXtjb25zdCBlPW5ldyBUZCh7fSk7ZS5tb3VudCh3aW5kb3cpLGUuc2V0T3B0aW9ucyh7bGF5b3V0U2Nyb2xsOiEwfSksTWQuY3VycmVudD1lfXJldHVybiBNZC5jdXJyZW50fSxyZXNldFRyYW5zZm9ybTooZSx0KT0+e2Uuc3R5bGUudHJhbnNmb3JtPXZvaWQgMCE9PXQ/dDpcIm5vbmVcIn0sY2hlY2tJc1Njcm9sbFJvb3Q6ZT0+Qm9vbGVhbihcImZpeGVkXCI9PT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlKS5wb3NpdGlvbil9KSxEZD17cGFuOntGZWF0dXJlOmNsYXNzIGV4dGVuZHMgc2N7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVtb3ZlUG9pbnRlckRvd25MaXN0ZW5lcj1HaX1vblBvaW50ZXJEb3duKGUpe3RoaXMuc2Vzc2lvbj1uZXcgcGMoZSx0aGlzLmNyZWF0ZVBhbkhhbmRsZXJzKCkse3RyYW5zZm9ybVBhZ2VQb2ludDp0aGlzLm5vZGUuZ2V0VHJhbnNmb3JtUGFnZVBvaW50KCksY29udGV4dFdpbmRvdzpsdSh0aGlzLm5vZGUpfSl9Y3JlYXRlUGFuSGFuZGxlcnMoKXtjb25zdHtvblBhblNlc3Npb25TdGFydDplLG9uUGFuU3RhcnQ6dCxvblBhbjpuLG9uUGFuRW5kOnJ9PXRoaXMubm9kZS5nZXRQcm9wcygpO3JldHVybntvblNlc3Npb25TdGFydDpmdShlKSxvblN0YXJ0OmZ1KHQpLG9uTW92ZTpuLG9uRW5kOihlLHQpPT57ZGVsZXRlIHRoaXMuc2Vzc2lvbixyJiZKaS5wb3N0UmVuZGVyKCgoKT0+cihlLHQpKSl9fX1tb3VudCgpe3RoaXMucmVtb3ZlUG9pbnRlckRvd25MaXN0ZW5lcj1tYyh0aGlzLm5vZGUuY3VycmVudCxcInBvaW50ZXJkb3duXCIsKGU9PnRoaXMub25Qb2ludGVyRG93bihlKSkpfXVwZGF0ZSgpe3RoaXMuc2Vzc2lvbiYmdGhpcy5zZXNzaW9uLnVwZGF0ZUhhbmRsZXJzKHRoaXMuY3JlYXRlUGFuSGFuZGxlcnMoKSl9dW5tb3VudCgpe3RoaXMucmVtb3ZlUG9pbnRlckRvd25MaXN0ZW5lcigpLHRoaXMuc2Vzc2lvbiYmdGhpcy5zZXNzaW9uLmVuZCgpfX19LGRyYWc6e0ZlYXR1cmU6Y2xhc3MgZXh0ZW5kcyBzY3tjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLnJlbW92ZUdyb3VwQ29udHJvbHM9R2ksdGhpcy5yZW1vdmVMaXN0ZW5lcnM9R2ksdGhpcy5jb250cm9scz1uZXcgdXUoZSl9bW91bnQoKXtjb25zdHtkcmFnQ29udHJvbHM6ZX09dGhpcy5ub2RlLmdldFByb3BzKCk7ZSYmKHRoaXMucmVtb3ZlR3JvdXBDb250cm9scz1lLnN1YnNjcmliZSh0aGlzLmNvbnRyb2xzKSksdGhpcy5yZW1vdmVMaXN0ZW5lcnM9dGhpcy5jb250cm9scy5hZGRMaXN0ZW5lcnMoKXx8R2l9dW5tb3VudCgpe3RoaXMucmVtb3ZlR3JvdXBDb250cm9scygpLHRoaXMucmVtb3ZlTGlzdGVuZXJzKCl9fSxQcm9qZWN0aW9uTm9kZTpSZCxNZWFzdXJlTGF5b3V0OkN1fX07ZnVuY3Rpb24gamQoZSx0KXtjb25zdCBuPXQ/XCJwb2ludGVyZW50ZXJcIjpcInBvaW50ZXJsZWF2ZVwiLHI9dD9cIm9uSG92ZXJTdGFydFwiOlwib25Ib3ZlckVuZFwiO3JldHVybiBtYyhlLmN1cnJlbnQsbiwoKG4sbyk9PntpZihcInRvdWNoXCI9PT1uLnBvaW50ZXJUeXBlfHxfYygpKXJldHVybjtjb25zdCBpPWUuZ2V0UHJvcHMoKTtlLmFuaW1hdGlvblN0YXRlJiZpLndoaWxlSG92ZXImJmUuYW5pbWF0aW9uU3RhdGUuc2V0QWN0aXZlKFwid2hpbGVIb3ZlclwiLHQpO2NvbnN0IHM9aVtyXTtzJiZKaS5wb3N0UmVuZGVyKCgoKT0+cyhuLG8pKSl9KSx7cGFzc2l2ZTohZS5nZXRQcm9wcygpW3JdfSl9Y29uc3QgQWQ9KGUsdCk9PiEhdCYmKGU9PT10fHxBZChlLHQucGFyZW50RWxlbWVudCkpO2Z1bmN0aW9uIElkKGUsdCl7aWYoIXQpcmV0dXJuO2NvbnN0IG49bmV3IFBvaW50ZXJFdmVudChcInBvaW50ZXJcIitlKTt0KG4sdWMobikpfWNvbnN0IExkPW5ldyBXZWFrTWFwLEZkPW5ldyBXZWFrTWFwLHpkPWU9Pntjb25zdCB0PUxkLmdldChlLnRhcmdldCk7dCYmdChlKX0sQmQ9ZT0+e2UuZm9yRWFjaCh6ZCl9O2NvbnN0IFdkPXtzb21lOjAsYWxsOjF9LFZkPXtpblZpZXc6e0ZlYXR1cmU6Y2xhc3MgZXh0ZW5kcyBzY3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5oYXNFbnRlcmVkVmlldz0hMSx0aGlzLmlzSW5WaWV3PSExfXN0YXJ0T2JzZXJ2ZXIoKXt0aGlzLnVubW91bnQoKTtjb25zdHt2aWV3cG9ydDplPXt9fT10aGlzLm5vZGUuZ2V0UHJvcHMoKSx7cm9vdDp0LG1hcmdpbjpuLGFtb3VudDpyPVwic29tZVwiLG9uY2U6b309ZSxpPXtyb290OnQ/dC5jdXJyZW50OnZvaWQgMCxyb290TWFyZ2luOm4sdGhyZXNob2xkOlwibnVtYmVyXCI9PXR5cGVvZiByP3I6V2Rbcl19O3JldHVybiBmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1mdW5jdGlvbih7cm9vdDplLC4uLnR9KXtjb25zdCBuPWV8fGRvY3VtZW50O0ZkLmhhcyhuKXx8RmQuc2V0KG4se30pO2NvbnN0IHI9RmQuZ2V0KG4pLG89SlNPTi5zdHJpbmdpZnkodCk7cmV0dXJuIHJbb118fChyW29dPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihCZCx7cm9vdDplLC4uLnR9KSkscltvXX0odCk7cmV0dXJuIExkLnNldChlLG4pLHIub2JzZXJ2ZShlKSwoKT0+e0xkLmRlbGV0ZShlKSxyLnVub2JzZXJ2ZShlKX19KHRoaXMubm9kZS5jdXJyZW50LGksKGU9Pntjb25zdHtpc0ludGVyc2VjdGluZzp0fT1lO2lmKHRoaXMuaXNJblZpZXc9PT10KXJldHVybjtpZih0aGlzLmlzSW5WaWV3PXQsbyYmIXQmJnRoaXMuaGFzRW50ZXJlZFZpZXcpcmV0dXJuO3QmJih0aGlzLmhhc0VudGVyZWRWaWV3PSEwKSx0aGlzLm5vZGUuYW5pbWF0aW9uU3RhdGUmJnRoaXMubm9kZS5hbmltYXRpb25TdGF0ZS5zZXRBY3RpdmUoXCJ3aGlsZUluVmlld1wiLHQpO2NvbnN0e29uVmlld3BvcnRFbnRlcjpuLG9uVmlld3BvcnRMZWF2ZTpyfT10aGlzLm5vZGUuZ2V0UHJvcHMoKSxpPXQ/bjpyO2kmJmkoZSl9KSl9bW91bnQoKXt0aGlzLnN0YXJ0T2JzZXJ2ZXIoKX11cGRhdGUoKXtpZihcInVuZGVmaW5lZFwiPT10eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpcmV0dXJuO2NvbnN0e3Byb3BzOmUscHJldlByb3BzOnR9PXRoaXMubm9kZTtbXCJhbW91bnRcIixcIm1hcmdpblwiLFwicm9vdFwiXS5zb21lKGZ1bmN0aW9uKHt2aWV3cG9ydDplPXt9fSx7dmlld3BvcnQ6dD17fX09e30pe3JldHVybiBuPT5lW25dIT09dFtuXX0oZSx0KSkmJnRoaXMuc3RhcnRPYnNlcnZlcigpfXVubW91bnQoKXt9fX0sdGFwOntGZWF0dXJlOmNsYXNzIGV4dGVuZHMgc2N7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVtb3ZlU3RhcnRMaXN0ZW5lcnM9R2ksdGhpcy5yZW1vdmVFbmRMaXN0ZW5lcnM9R2ksdGhpcy5yZW1vdmVBY2Nlc3NpYmxlTGlzdGVuZXJzPUdpLHRoaXMuc3RhcnRQb2ludGVyUHJlc3M9KGUsdCk9PntpZih0aGlzLmlzUHJlc3NpbmcpcmV0dXJuO3RoaXMucmVtb3ZlRW5kTGlzdGVuZXJzKCk7Y29uc3Qgbj10aGlzLm5vZGUuZ2V0UHJvcHMoKSxyPW1jKHdpbmRvdyxcInBvaW50ZXJ1cFwiLCgoZSx0KT0+e2lmKCF0aGlzLmNoZWNrUHJlc3NFbmQoKSlyZXR1cm47Y29uc3R7b25UYXA6bixvblRhcENhbmNlbDpyLGdsb2JhbFRhcFRhcmdldDpvfT10aGlzLm5vZGUuZ2V0UHJvcHMoKSxpPW98fEFkKHRoaXMubm9kZS5jdXJyZW50LGUudGFyZ2V0KT9uOnI7aSYmSmkudXBkYXRlKCgoKT0+aShlLHQpKSl9KSx7cGFzc2l2ZTohKG4ub25UYXB8fG4ub25Qb2ludGVyVXApfSksbz1tYyh3aW5kb3csXCJwb2ludGVyY2FuY2VsXCIsKChlLHQpPT50aGlzLmNhbmNlbFByZXNzKGUsdCkpLHtwYXNzaXZlOiEobi5vblRhcENhbmNlbHx8bi5vblBvaW50ZXJDYW5jZWwpfSk7dGhpcy5yZW1vdmVFbmRMaXN0ZW5lcnM9cmwocixvKSx0aGlzLnN0YXJ0UHJlc3MoZSx0KX0sdGhpcy5zdGFydEFjY2Vzc2libGVQcmVzcz0oKT0+e2NvbnN0IGU9ZmModGhpcy5ub2RlLmN1cnJlbnQsXCJrZXlkb3duXCIsKGU9PntcIkVudGVyXCIhPT1lLmtleXx8dGhpcy5pc1ByZXNzaW5nfHwodGhpcy5yZW1vdmVFbmRMaXN0ZW5lcnMoKSx0aGlzLnJlbW92ZUVuZExpc3RlbmVycz1mYyh0aGlzLm5vZGUuY3VycmVudCxcImtleXVwXCIsKGU9PntcIkVudGVyXCI9PT1lLmtleSYmdGhpcy5jaGVja1ByZXNzRW5kKCkmJklkKFwidXBcIiwoKGUsdCk9Pntjb25zdHtvblRhcDpufT10aGlzLm5vZGUuZ2V0UHJvcHMoKTtuJiZKaS5wb3N0UmVuZGVyKCgoKT0+bihlLHQpKSl9KSl9KSksSWQoXCJkb3duXCIsKChlLHQpPT57dGhpcy5zdGFydFByZXNzKGUsdCl9KSkpfSkpLHQ9ZmModGhpcy5ub2RlLmN1cnJlbnQsXCJibHVyXCIsKCgpPT57dGhpcy5pc1ByZXNzaW5nJiZJZChcImNhbmNlbFwiLCgoZSx0KT0+dGhpcy5jYW5jZWxQcmVzcyhlLHQpKSl9KSk7dGhpcy5yZW1vdmVBY2Nlc3NpYmxlTGlzdGVuZXJzPXJsKGUsdCl9fXN0YXJ0UHJlc3MoZSx0KXt0aGlzLmlzUHJlc3Npbmc9ITA7Y29uc3R7b25UYXBTdGFydDpuLHdoaWxlVGFwOnJ9PXRoaXMubm9kZS5nZXRQcm9wcygpO3ImJnRoaXMubm9kZS5hbmltYXRpb25TdGF0ZSYmdGhpcy5ub2RlLmFuaW1hdGlvblN0YXRlLnNldEFjdGl2ZShcIndoaWxlVGFwXCIsITApLG4mJkppLnBvc3RSZW5kZXIoKCgpPT5uKGUsdCkpKX1jaGVja1ByZXNzRW5kKCl7cmV0dXJuIHRoaXMucmVtb3ZlRW5kTGlzdGVuZXJzKCksdGhpcy5pc1ByZXNzaW5nPSExLHRoaXMubm9kZS5nZXRQcm9wcygpLndoaWxlVGFwJiZ0aGlzLm5vZGUuYW5pbWF0aW9uU3RhdGUmJnRoaXMubm9kZS5hbmltYXRpb25TdGF0ZS5zZXRBY3RpdmUoXCJ3aGlsZVRhcFwiLCExKSwhX2MoKX1jYW5jZWxQcmVzcyhlLHQpe2lmKCF0aGlzLmNoZWNrUHJlc3NFbmQoKSlyZXR1cm47Y29uc3R7b25UYXBDYW5jZWw6bn09dGhpcy5ub2RlLmdldFByb3BzKCk7biYmSmkucG9zdFJlbmRlcigoKCk9Pm4oZSx0KSkpfW1vdW50KCl7Y29uc3QgZT10aGlzLm5vZGUuZ2V0UHJvcHMoKSx0PW1jKGUuZ2xvYmFsVGFwVGFyZ2V0P3dpbmRvdzp0aGlzLm5vZGUuY3VycmVudCxcInBvaW50ZXJkb3duXCIsdGhpcy5zdGFydFBvaW50ZXJQcmVzcyx7cGFzc2l2ZTohKGUub25UYXBTdGFydHx8ZS5vblBvaW50ZXJTdGFydCl9KSxuPWZjKHRoaXMubm9kZS5jdXJyZW50LFwiZm9jdXNcIix0aGlzLnN0YXJ0QWNjZXNzaWJsZVByZXNzKTt0aGlzLnJlbW92ZVN0YXJ0TGlzdGVuZXJzPXJsKHQsbil9dW5tb3VudCgpe3RoaXMucmVtb3ZlU3RhcnRMaXN0ZW5lcnMoKSx0aGlzLnJlbW92ZUVuZExpc3RlbmVycygpLHRoaXMucmVtb3ZlQWNjZXNzaWJsZUxpc3RlbmVycygpfX19LGZvY3VzOntGZWF0dXJlOmNsYXNzIGV4dGVuZHMgc2N7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuaXNBY3RpdmU9ITF9b25Gb2N1cygpe2xldCBlPSExO3RyeXtlPXRoaXMubm9kZS5jdXJyZW50Lm1hdGNoZXMoXCI6Zm9jdXMtdmlzaWJsZVwiKX1jYXRjaCh0KXtlPSEwfWUmJnRoaXMubm9kZS5hbmltYXRpb25TdGF0ZSYmKHRoaXMubm9kZS5hbmltYXRpb25TdGF0ZS5zZXRBY3RpdmUoXCJ3aGlsZUZvY3VzXCIsITApLHRoaXMuaXNBY3RpdmU9ITApfW9uQmx1cigpe3RoaXMuaXNBY3RpdmUmJnRoaXMubm9kZS5hbmltYXRpb25TdGF0ZSYmKHRoaXMubm9kZS5hbmltYXRpb25TdGF0ZS5zZXRBY3RpdmUoXCJ3aGlsZUZvY3VzXCIsITEpLHRoaXMuaXNBY3RpdmU9ITEpfW1vdW50KCl7dGhpcy51bm1vdW50PXJsKGZjKHRoaXMubm9kZS5jdXJyZW50LFwiZm9jdXNcIiwoKCk9PnRoaXMub25Gb2N1cygpKSksZmModGhpcy5ub2RlLmN1cnJlbnQsXCJibHVyXCIsKCgpPT50aGlzLm9uQmx1cigpKSkpfXVubW91bnQoKXt9fX0saG92ZXI6e0ZlYXR1cmU6Y2xhc3MgZXh0ZW5kcyBzY3ttb3VudCgpe3RoaXMudW5tb3VudD1ybChqZCh0aGlzLm5vZGUsITApLGpkKHRoaXMubm9kZSwhMSkpfXVubW91bnQoKXt9fX19LFVkPXtsYXlvdXQ6e1Byb2plY3Rpb25Ob2RlOlJkLE1lYXN1cmVMYXlvdXQ6Q3V9fSwkZD0oMCxhLmNyZWF0ZUNvbnRleHQpKHt0cmFuc2Zvcm1QYWdlUG9pbnQ6ZT0+ZSxpc1N0YXRpYzohMSxyZWR1Y2VkTW90aW9uOlwibmV2ZXJcIn0pLFlkPSgwLGEuY3JlYXRlQ29udGV4dCkoe30pLEhkPVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3csS2Q9SGQ/YS51c2VMYXlvdXRFZmZlY3Q6YS51c2VFZmZlY3QscWQ9KDAsYS5jcmVhdGVDb250ZXh0KSh7c3RyaWN0OiExfSk7bGV0IEdkPSExO2Z1bmN0aW9uIFhkKGUsdCxuLHIsbyl7dmFyIGk7Y29uc3R7dmlzdWFsRWxlbWVudDpzfT0oMCxhLnVzZUNvbnRleHQpKFlkKSxsPSgwLGEudXNlQ29udGV4dCkocWQpLGM9KDAsYS51c2VDb250ZXh0KShodSksdT0oMCxhLnVzZUNvbnRleHQpKCRkKS5yZWR1Y2VkTW90aW9uLGQ9KDAsYS51c2VSZWYpKCk7cj1yfHxsLnJlbmRlcmVyLCFkLmN1cnJlbnQmJnImJihkLmN1cnJlbnQ9cihlLHt2aXN1YWxTdGF0ZTp0LHBhcmVudDpzLHByb3BzOm4scHJlc2VuY2VDb250ZXh0OmMsYmxvY2tJbml0aWFsQW5pbWF0aW9uOiEhYyYmITE9PT1jLmluaXRpYWwscmVkdWNlZE1vdGlvbkNvbmZpZzp1fSkpO2NvbnN0IGY9ZC5jdXJyZW50LG09KDAsYS51c2VDb250ZXh0KShndSk7IWZ8fGYucHJvamVjdGlvbnx8IW98fFwiaHRtbFwiIT09Zi50eXBlJiZcInN2Z1wiIT09Zi50eXBlfHxmdW5jdGlvbihlLHQsbixyKXtjb25zdHtsYXlvdXRJZDpvLGxheW91dDppLGRyYWc6cyxkcmFnQ29uc3RyYWludHM6YSxsYXlvdXRTY3JvbGw6bCxsYXlvdXRSb290OmN9PXQ7ZS5wcm9qZWN0aW9uPW5ldyBuKGUubGF0ZXN0VmFsdWVzLHRbXCJkYXRhLWZyYW1lci1wb3J0YWwtaWRcIl0/dm9pZCAwOkpkKGUucGFyZW50KSksZS5wcm9qZWN0aW9uLnNldE9wdGlvbnMoe2xheW91dElkOm8sbGF5b3V0OmksYWx3YXlzTWVhc3VyZUxheW91dDpCb29sZWFuKHMpfHxhJiZQYyhhKSx2aXN1YWxFbGVtZW50OmUsYW5pbWF0aW9uVHlwZTpcInN0cmluZ1wiPT10eXBlb2YgaT9pOlwiYm90aFwiLGluaXRpYWxQcm9tb3Rpb25Db25maWc6cixsYXlvdXRTY3JvbGw6bCxsYXlvdXRSb290OmN9KX0oZC5jdXJyZW50LG4sbyxtKSwoMCxhLnVzZUluc2VydGlvbkVmZmVjdCkoKCgpPT57ZiYmZi51cGRhdGUobixjKX0pKTtjb25zdCBoPW5bSGxdLHA9KDAsYS51c2VSZWYpKEJvb2xlYW4oaCkmJiF3aW5kb3cuTW90aW9uSGFuZG9mZklzQ29tcGxldGUmJihudWxsPT09KGk9d2luZG93Lk1vdGlvbkhhc09wdGltaXNlZEFuaW1hdGlvbil8fHZvaWQgMD09PWk/dm9pZCAwOmkuY2FsbCh3aW5kb3csaCkpKTtyZXR1cm4gS2QoKCgpPT57ZiYmKGYudXBkYXRlRmVhdHVyZXMoKSxTdS5yZW5kZXIoZi5yZW5kZXIpLHAuY3VycmVudCYmZi5hbmltYXRpb25TdGF0ZSYmZi5hbmltYXRpb25TdGF0ZS5hbmltYXRlQ2hhbmdlcygpKX0pKSwoMCxhLnVzZUVmZmVjdCkoKCgpPT57ZiYmKCFwLmN1cnJlbnQmJmYuYW5pbWF0aW9uU3RhdGUmJmYuYW5pbWF0aW9uU3RhdGUuYW5pbWF0ZUNoYW5nZXMoKSxwLmN1cnJlbnQ9ITEsR2R8fChHZD0hMCxxdWV1ZU1pY3JvdGFzayhaZCkpKX0pKSxmfWZ1bmN0aW9uIFpkKCl7d2luZG93Lk1vdGlvbkhhbmRvZmZJc0NvbXBsZXRlPSEwfWZ1bmN0aW9uIEpkKGUpe2lmKGUpcmV0dXJuITEhPT1lLm9wdGlvbnMuYWxsb3dQcm9qZWN0aW9uP2UucHJvamVjdGlvbjpKZChlLnBhcmVudCl9ZnVuY3Rpb24gUWQoZSx0LG4pe3JldHVybigwLGEudXNlQ2FsbGJhY2spKChyPT57ciYmZS5tb3VudCYmZS5tb3VudChyKSx0JiYocj90Lm1vdW50KHIpOnQudW5tb3VudCgpKSxuJiYoXCJmdW5jdGlvblwiPT10eXBlb2Ygbj9uKHIpOlBjKG4pJiYobi5jdXJyZW50PXIpKX0pLFt0XSl9ZnVuY3Rpb24gZWYoZSl7cmV0dXJuIE5pKGUuYW5pbWF0ZSl8fExpLnNvbWUoKHQ9PlJpKGVbdF0pKSl9ZnVuY3Rpb24gdGYoZSl7cmV0dXJuIEJvb2xlYW4oZWYoZSl8fGUudmFyaWFudHMpfWZ1bmN0aW9uIG5mKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2Uuam9pbihcIiBcIik6ZX1jb25zdCByZj17YW5pbWF0aW9uOltcImFuaW1hdGVcIixcInZhcmlhbnRzXCIsXCJ3aGlsZUhvdmVyXCIsXCJ3aGlsZVRhcFwiLFwiZXhpdFwiLFwid2hpbGVJblZpZXdcIixcIndoaWxlRm9jdXNcIixcIndoaWxlRHJhZ1wiXSxleGl0OltcImV4aXRcIl0sZHJhZzpbXCJkcmFnXCIsXCJkcmFnQ29udHJvbHNcIl0sZm9jdXM6W1wid2hpbGVGb2N1c1wiXSxob3ZlcjpbXCJ3aGlsZUhvdmVyXCIsXCJvbkhvdmVyU3RhcnRcIixcIm9uSG92ZXJFbmRcIl0sdGFwOltcIndoaWxlVGFwXCIsXCJvblRhcFwiLFwib25UYXBTdGFydFwiLFwib25UYXBDYW5jZWxcIl0scGFuOltcIm9uUGFuXCIsXCJvblBhblN0YXJ0XCIsXCJvblBhblNlc3Npb25TdGFydFwiLFwib25QYW5FbmRcIl0saW5WaWV3OltcIndoaWxlSW5WaWV3XCIsXCJvblZpZXdwb3J0RW50ZXJcIixcIm9uVmlld3BvcnRMZWF2ZVwiXSxsYXlvdXQ6W1wibGF5b3V0XCIsXCJsYXlvdXRJZFwiXX0sb2Y9e307Zm9yKGNvbnN0IGUgaW4gcmYpb2ZbZV09e2lzRW5hYmxlZDp0PT5yZltlXS5zb21lKChlPT4hIXRbZV0pKX07Y29uc3Qgc2Y9U3ltYm9sLmZvcihcIm1vdGlvbkNvbXBvbmVudFN5bWJvbFwiKTtmdW5jdGlvbiBhZih7cHJlbG9hZGVkRmVhdHVyZXM6ZSxjcmVhdGVWaXN1YWxFbGVtZW50OnQsdXNlUmVuZGVyOm4sdXNlVmlzdWFsU3RhdGU6cixDb21wb25lbnQ6b30pe2UmJmZ1bmN0aW9uKGUpe2Zvcihjb25zdCB0IGluIGUpb2ZbdF09ey4uLm9mW3RdLC4uLmVbdF19fShlKTtjb25zdCBpPSgwLGEuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsaSl7bGV0IHM7Y29uc3QgbD17Li4uKDAsYS51c2VDb250ZXh0KSgkZCksLi4uZSxsYXlvdXRJZDpsZihlKX0se2lzU3RhdGljOmN9PWwsdT1mdW5jdGlvbihlKXtjb25zdHtpbml0aWFsOnQsYW5pbWF0ZTpufT1mdW5jdGlvbihlLHQpe2lmKGVmKGUpKXtjb25zdHtpbml0aWFsOnQsYW5pbWF0ZTpufT1lO3JldHVybntpbml0aWFsOiExPT09dHx8UmkodCk/dDp2b2lkIDAsYW5pbWF0ZTpSaShuKT9uOnZvaWQgMH19cmV0dXJuITEhPT1lLmluaGVyaXQ/dDp7fX0oZSwoMCxhLnVzZUNvbnRleHQpKFlkKSk7cmV0dXJuKDAsYS51c2VNZW1vKSgoKCk9Pih7aW5pdGlhbDp0LGFuaW1hdGU6bn0pKSxbbmYodCksbmYobildKX0oZSksZD1yKGUsYyk7aWYoIWMmJkhkKXsoMCxhLnVzZUNvbnRleHQpKHFkKS5zdHJpY3Q7Y29uc3QgZT1mdW5jdGlvbihlKXtjb25zdHtkcmFnOnQsbGF5b3V0Om59PW9mO2lmKCF0JiYhbilyZXR1cm57fTtjb25zdCByPXsuLi50LC4uLm59O3JldHVybntNZWFzdXJlTGF5b3V0OihudWxsPT10P3ZvaWQgMDp0LmlzRW5hYmxlZChlKSl8fChudWxsPT1uP3ZvaWQgMDpuLmlzRW5hYmxlZChlKSk/ci5NZWFzdXJlTGF5b3V0OnZvaWQgMCxQcm9qZWN0aW9uTm9kZTpyLlByb2plY3Rpb25Ob2RlfX0obCk7cz1lLk1lYXN1cmVMYXlvdXQsdS52aXN1YWxFbGVtZW50PVhkKG8sZCxsLHQsZS5Qcm9qZWN0aW9uTm9kZSl9cmV0dXJuKDAsbXUuanN4cykoWWQuUHJvdmlkZXIse3ZhbHVlOnUsY2hpbGRyZW46W3MmJnUudmlzdWFsRWxlbWVudD8oMCxtdS5qc3gpKHMse3Zpc3VhbEVsZW1lbnQ6dS52aXN1YWxFbGVtZW50LC4uLmx9KTpudWxsLG4obyxlLFFkKGQsdS52aXN1YWxFbGVtZW50LGkpLGQsYyx1LnZpc3VhbEVsZW1lbnQpXX0pfSkpO3JldHVybiBpW3NmXT1vLGl9ZnVuY3Rpb24gbGYoe2xheW91dElkOmV9KXtjb25zdCB0PSgwLGEudXNlQ29udGV4dCkocHUpLmlkO3JldHVybiB0JiZ2b2lkIDAhPT1lP3QrXCItXCIrZTplfWNvbnN0IGNmPVtcImFuaW1hdGVcIixcImNpcmNsZVwiLFwiZGVmc1wiLFwiZGVzY1wiLFwiZWxsaXBzZVwiLFwiZ1wiLFwiaW1hZ2VcIixcImxpbmVcIixcImZpbHRlclwiLFwibWFya2VyXCIsXCJtYXNrXCIsXCJtZXRhZGF0YVwiLFwicGF0aFwiLFwicGF0dGVyblwiLFwicG9seWdvblwiLFwicG9seWxpbmVcIixcInJlY3RcIixcInN0b3BcIixcInN3aXRjaFwiLFwic3ltYm9sXCIsXCJzdmdcIixcInRleHRcIixcInRzcGFuXCIsXCJ1c2VcIixcInZpZXdcIl07ZnVuY3Rpb24gdWYoZSl7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIGUmJiFlLmluY2x1ZGVzKFwiLVwiKSYmISEoY2YuaW5kZXhPZihlKT4tMXx8L1tBLVpdL3UudGVzdChlKSl9ZnVuY3Rpb24gZGYoZSx7c3R5bGU6dCx2YXJzOm59LHIsbyl7T2JqZWN0LmFzc2lnbihlLnN0eWxlLHQsbyYmby5nZXRQcm9qZWN0aW9uU3R5bGVzKHIpKTtmb3IoY29uc3QgdCBpbiBuKWUuc3R5bGUuc2V0UHJvcGVydHkodCxuW3RdKX1jb25zdCBmZj1uZXcgU2V0KFtcImJhc2VGcmVxdWVuY3lcIixcImRpZmZ1c2VDb25zdGFudFwiLFwia2VybmVsTWF0cml4XCIsXCJrZXJuZWxVbml0TGVuZ3RoXCIsXCJrZXlTcGxpbmVzXCIsXCJrZXlUaW1lc1wiLFwibGltaXRpbmdDb25lQW5nbGVcIixcIm1hcmtlckhlaWdodFwiLFwibWFya2VyV2lkdGhcIixcIm51bU9jdGF2ZXNcIixcInRhcmdldFhcIixcInRhcmdldFlcIixcInN1cmZhY2VTY2FsZVwiLFwic3BlY3VsYXJDb25zdGFudFwiLFwic3BlY3VsYXJFeHBvbmVudFwiLFwic3RkRGV2aWF0aW9uXCIsXCJ0YWJsZVZhbHVlc1wiLFwidmlld0JveFwiLFwiZ3JhZGllbnRUcmFuc2Zvcm1cIixcInBhdGhMZW5ndGhcIixcInN0YXJ0T2Zmc2V0XCIsXCJ0ZXh0TGVuZ3RoXCIsXCJsZW5ndGhBZGp1c3RcIl0pO2Z1bmN0aW9uIG1mKGUsdCxuLHIpe2RmKGUsdCx2b2lkIDAscik7Zm9yKGNvbnN0IG4gaW4gdC5hdHRycyllLnNldEF0dHJpYnV0ZShmZi5oYXMobik/bjpZbChuKSx0LmF0dHJzW25dKX1mdW5jdGlvbiBoZihlLHtsYXlvdXQ6dCxsYXlvdXRJZDpufSl7cmV0dXJuIHppLmhhcyhlKXx8ZS5zdGFydHNXaXRoKFwib3JpZ2luXCIpfHwodHx8dm9pZCAwIT09bikmJighIXd1W2VdfHxcIm9wYWNpdHlcIj09PWUpfWZ1bmN0aW9uIHBmKGUsdCxuKXt2YXIgcjtjb25zdHtzdHlsZTpvfT1lLGk9e307Zm9yKGNvbnN0IHMgaW4gbykoWGwob1tzXSl8fHQuc3R5bGUmJlhsKHQuc3R5bGVbc10pfHxoZihzLGUpfHx2b2lkIDAhPT0obnVsbD09PShyPW51bGw9PW4/dm9pZCAwOm4uZ2V0VmFsdWUocykpfHx2b2lkIDA9PT1yP3ZvaWQgMDpyLmxpdmVTdHlsZSkpJiYoaVtzXT1vW3NdKTtyZXR1cm4gbiYmbyYmXCJzdHJpbmdcIj09dHlwZW9mIG8ud2lsbENoYW5nZSYmKG4uYXBwbHlXaWxsQ2hhbmdlPSExKSxpfWZ1bmN0aW9uIGdmKGUsdCxuKXtjb25zdCByPXBmKGUsdCxuKTtmb3IoY29uc3QgbiBpbiBlKShYbChlW25dKXx8WGwodFtuXSkpJiYoclstMSE9PUZpLmluZGV4T2Yobik/XCJhdHRyXCIrbi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStuLnN1YnN0cmluZygxKTpuXT1lW25dKTtyZXR1cm4gcn1mdW5jdGlvbiB5ZihlKXtjb25zdCB0PSgwLGEudXNlUmVmKShudWxsKTtyZXR1cm4gbnVsbD09PXQuY3VycmVudCYmKHQuY3VycmVudD1lKCkpLHQuY3VycmVudH1jb25zdCB2Zj1lPT4odCxuKT0+e2NvbnN0IHI9KDAsYS51c2VDb250ZXh0KShZZCksbz0oMCxhLnVzZUNvbnRleHQpKGh1KSxpPSgpPT5mdW5jdGlvbih7YXBwbHlXaWxsQ2hhbmdlOmU9ITEsc2NyYXBlTW90aW9uVmFsdWVzRnJvbVByb3BzOnQsY3JlYXRlUmVuZGVyU3RhdGU6bixvbk1vdW50OnJ9LG8saSxzLGEpe2NvbnN0IGw9e2xhdGVzdFZhbHVlczp3ZihvLGkscywhYSYmZSx0KSxyZW5kZXJTdGF0ZTpuKCl9O3JldHVybiByJiYobC5tb3VudD1lPT5yKG8sZSxsKSksbH0oZSx0LHIsbyxuKTtyZXR1cm4gbj9pKCk6eWYoaSl9O2Z1bmN0aW9uIGJmKGUsdCl7Y29uc3Qgbj1xbCh0KTtuJiZGbChlLG4pfWZ1bmN0aW9uIHhmKGUsdCxuKXtjb25zdCByPUFycmF5LmlzQXJyYXkodCk/dDpbdF07Zm9yKGxldCB0PTA7dDxyLmxlbmd0aDt0Kyspe2NvbnN0IG89amkoZSxyW3RdKTtpZihvKXtjb25zdHt0cmFuc2l0aW9uRW5kOmUsdHJhbnNpdGlvbjp0LC4uLnJ9PW87bihyLGUpfX19ZnVuY3Rpb24gd2YoZSx0LG4scixvKXt2YXIgaTtjb25zdCBzPXt9LGE9W10sbD1yJiZ2b2lkIDA9PT0obnVsbD09PShpPWUuc3R5bGUpfHx2b2lkIDA9PT1pP3ZvaWQgMDppLndpbGxDaGFuZ2UpLGM9byhlLHt9KTtmb3IoY29uc3QgZSBpbiBjKXNbZV09UXUoY1tlXSk7bGV0e2luaXRpYWw6dSxhbmltYXRlOmR9PWU7Y29uc3QgZj1lZihlKSxtPXRmKGUpO3QmJm0mJiFmJiYhMSE9PWUuaW5oZXJpdCYmKHZvaWQgMD09PXUmJih1PXQuaW5pdGlhbCksdm9pZCAwPT09ZCYmKGQ9dC5hbmltYXRlKSk7bGV0IGg9ISFuJiYhMT09PW4uaW5pdGlhbDtoPWh8fCExPT09dTtjb25zdCBwPWg/ZDp1O3JldHVybiBwJiZcImJvb2xlYW5cIiE9dHlwZW9mIHAmJiFOaShwKSYmeGYoZSxwLCgoZSx0KT0+e2Zvcihjb25zdCB0IGluIGUpe2xldCBuPWVbdF07QXJyYXkuaXNBcnJheShuKSYmKG49bltoP24ubGVuZ3RoLTE6MF0pLG51bGwhPT1uJiYoc1t0XT1uKX1mb3IoY29uc3QgZSBpbiB0KXNbZV09dFtlXX0pKSxsJiYoZCYmITEhPT11JiYhTmkoZCkmJnhmKGUsZCwoZT0+e2Zvcihjb25zdCB0IGluIGUpYmYoYSx0KX0pKSxhLmxlbmd0aCYmKHMud2lsbENoYW5nZT1hLmpvaW4oXCIsXCIpKSksc31jb25zdCBTZj0oKT0+KHtzdHlsZTp7fSx0cmFuc2Zvcm06e30sdHJhbnNmb3JtT3JpZ2luOnt9LHZhcnM6e319KSxrZj0oKT0+KHsuLi5TZigpLGF0dHJzOnt9fSksRWY9KGUsdCk9PnQmJlwibnVtYmVyXCI9PXR5cGVvZiBlP3QudHJhbnNmb3JtKGUpOmUsQ2Y9e3g6XCJ0cmFuc2xhdGVYXCIseTpcInRyYW5zbGF0ZVlcIix6OlwidHJhbnNsYXRlWlwiLHRyYW5zZm9ybVBlcnNwZWN0aXZlOlwicGVyc3BlY3RpdmVcIn0sX2Y9RmkubGVuZ3RoO2Z1bmN0aW9uIFBmKGUsdCxuKXtjb25zdHtzdHlsZTpyLHZhcnM6byx0cmFuc2Zvcm1PcmlnaW46aX09ZTtsZXQgcz0hMSxhPSExO2Zvcihjb25zdCBlIGluIHQpe2NvbnN0IG49dFtlXTtpZih6aS5oYXMoZSkpcz0hMDtlbHNlIGlmKGFzKGUpKW9bZV09bjtlbHNle2NvbnN0IHQ9RWYobixoYVtlXSk7ZS5zdGFydHNXaXRoKFwib3JpZ2luXCIpPyhhPSEwLGlbZV09dCk6cltlXT10fX1pZih0LnRyYW5zZm9ybXx8KHN8fG4/ci50cmFuc2Zvcm09ZnVuY3Rpb24oZSx0LG4pe2xldCByPVwiXCIsbz0hMDtmb3IobGV0IGk9MDtpPF9mO2krKyl7Y29uc3Qgcz1GaVtpXSxhPWVbc107aWYodm9pZCAwPT09YSljb250aW51ZTtsZXQgbD0hMDtpZihsPVwibnVtYmVyXCI9PXR5cGVvZiBhP2E9PT0ocy5zdGFydHNXaXRoKFwic2NhbGVcIik/MTowKTowPT09cGFyc2VGbG9hdChhKSwhbHx8bil7Y29uc3QgZT1FZihhLGhhW3NdKTtsfHwobz0hMSxyKz1gJHtDZltzXXx8c30oJHtlfSkgYCksbiYmKHRbc109ZSl9fXJldHVybiByPXIudHJpbSgpLG4/cj1uKHQsbz9cIlwiOnIpOm8mJihyPVwibm9uZVwiKSxyfSh0LGUudHJhbnNmb3JtLG4pOnIudHJhbnNmb3JtJiYoci50cmFuc2Zvcm09XCJub25lXCIpKSxhKXtjb25zdHtvcmlnaW5YOmU9XCI1MCVcIixvcmlnaW5ZOnQ9XCI1MCVcIixvcmlnaW5aOm49MH09aTtyLnRyYW5zZm9ybU9yaWdpbj1gJHtlfSAke3R9ICR7bn1gfX1mdW5jdGlvbiBPZihlLHQsbil7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIGU/ZTpDcy50cmFuc2Zvcm0odCtuKmUpfWNvbnN0IE5mPXtvZmZzZXQ6XCJzdHJva2UtZGFzaG9mZnNldFwiLGFycmF5Olwic3Ryb2tlLWRhc2hhcnJheVwifSxUZj17b2Zmc2V0Olwic3Ryb2tlRGFzaG9mZnNldFwiLGFycmF5Olwic3Ryb2tlRGFzaGFycmF5XCJ9O2Z1bmN0aW9uIE1mKGUse2F0dHJYOnQsYXR0clk6bixhdHRyU2NhbGU6cixvcmlnaW5YOm8sb3JpZ2luWTppLHBhdGhMZW5ndGg6cyxwYXRoU3BhY2luZzphPTEscGF0aE9mZnNldDpsPTAsLi4uY30sdSxkKXtpZihQZihlLGMsZCksdSlyZXR1cm4gdm9pZChlLnN0eWxlLnZpZXdCb3gmJihlLmF0dHJzLnZpZXdCb3g9ZS5zdHlsZS52aWV3Qm94KSk7ZS5hdHRycz1lLnN0eWxlLGUuc3R5bGU9e307Y29uc3R7YXR0cnM6ZixzdHlsZTptLGRpbWVuc2lvbnM6aH09ZTtmLnRyYW5zZm9ybSYmKGgmJihtLnRyYW5zZm9ybT1mLnRyYW5zZm9ybSksZGVsZXRlIGYudHJhbnNmb3JtKSxoJiYodm9pZCAwIT09b3x8dm9pZCAwIT09aXx8bS50cmFuc2Zvcm0pJiYobS50cmFuc2Zvcm1PcmlnaW49ZnVuY3Rpb24oZSx0LG4pe3JldHVybmAke09mKHQsZS54LGUud2lkdGgpfSAke09mKG4sZS55LGUuaGVpZ2h0KX1gfShoLHZvaWQgMCE9PW8/bzouNSx2b2lkIDAhPT1pP2k6LjUpKSx2b2lkIDAhPT10JiYoZi54PXQpLHZvaWQgMCE9PW4mJihmLnk9biksdm9pZCAwIT09ciYmKGYuc2NhbGU9ciksdm9pZCAwIT09cyYmZnVuY3Rpb24oZSx0LG49MSxyPTAsbz0hMCl7ZS5wYXRoTGVuZ3RoPTE7Y29uc3QgaT1vP05mOlRmO2VbaS5vZmZzZXRdPUNzLnRyYW5zZm9ybSgtcik7Y29uc3Qgcz1Dcy50cmFuc2Zvcm0odCksYT1Dcy50cmFuc2Zvcm0obik7ZVtpLmFycmF5XT1gJHtzfSAke2F9YH0oZixzLGEsbCwhMSl9Y29uc3QgUmY9ZT0+XCJzdHJpbmdcIj09dHlwZW9mIGUmJlwic3ZnXCI9PT1lLnRvTG93ZXJDYXNlKCksRGY9e3VzZVZpc3VhbFN0YXRlOnZmKHtzY3JhcGVNb3Rpb25WYWx1ZXNGcm9tUHJvcHM6Z2YsY3JlYXRlUmVuZGVyU3RhdGU6a2Ysb25Nb3VudDooZSx0LHtyZW5kZXJTdGF0ZTpuLGxhdGVzdFZhbHVlczpyfSk9PntKaS5yZWFkKCgoKT0+e3RyeXtuLmRpbWVuc2lvbnM9XCJmdW5jdGlvblwiPT10eXBlb2YgdC5nZXRCQm94P3QuZ2V0QkJveCgpOnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goZSl7bi5kaW1lbnNpb25zPXt4OjAseTowLHdpZHRoOjAsaGVpZ2h0OjB9fX0pKSxKaS5yZW5kZXIoKCgpPT57TWYobixyLFJmKHQudGFnTmFtZSksZS50cmFuc2Zvcm1UZW1wbGF0ZSksbWYodCxuKX0pKX19KX0samY9e3VzZVZpc3VhbFN0YXRlOnZmKHthcHBseVdpbGxDaGFuZ2U6ITAsc2NyYXBlTW90aW9uVmFsdWVzRnJvbVByb3BzOnBmLGNyZWF0ZVJlbmRlclN0YXRlOlNmfSl9O2Z1bmN0aW9uIEFmKGUsdCxuKXtmb3IoY29uc3QgciBpbiB0KVhsKHRbcl0pfHxoZihyLG4pfHwoZVtyXT10W3JdKX1mdW5jdGlvbiBJZihlLHQpe2NvbnN0IG49e30scj1mdW5jdGlvbihlLHQpe2NvbnN0IG49e307cmV0dXJuIEFmKG4sZS5zdHlsZXx8e30sZSksT2JqZWN0LmFzc2lnbihuLGZ1bmN0aW9uKHt0cmFuc2Zvcm1UZW1wbGF0ZTplfSx0KXtyZXR1cm4oMCxhLnVzZU1lbW8pKCgoKT0+e2NvbnN0IG49U2YoKTtyZXR1cm4gUGYobix0LGUpLE9iamVjdC5hc3NpZ24oe30sbi52YXJzLG4uc3R5bGUpfSksW3RdKX0oZSx0KSksbn0oZSx0KTtyZXR1cm4gZS5kcmFnJiYhMSE9PWUuZHJhZ0xpc3RlbmVyJiYobi5kcmFnZ2FibGU9ITEsci51c2VyU2VsZWN0PXIuV2Via2l0VXNlclNlbGVjdD1yLldlYmtpdFRvdWNoQ2FsbG91dD1cIm5vbmVcIixyLnRvdWNoQWN0aW9uPSEwPT09ZS5kcmFnP1wibm9uZVwiOlwicGFuLVwiKyhcInhcIj09PWUuZHJhZz9cInlcIjpcInhcIikpLHZvaWQgMD09PWUudGFiSW5kZXgmJihlLm9uVGFwfHxlLm9uVGFwU3RhcnR8fGUud2hpbGVUYXApJiYobi50YWJJbmRleD0wKSxuLnN0eWxlPXIsbn1jb25zdCBMZj1uZXcgU2V0KFtcImFuaW1hdGVcIixcImV4aXRcIixcInZhcmlhbnRzXCIsXCJpbml0aWFsXCIsXCJzdHlsZVwiLFwidmFsdWVzXCIsXCJ2YXJpYW50c1wiLFwidHJhbnNpdGlvblwiLFwidHJhbnNmb3JtVGVtcGxhdGVcIixcImN1c3RvbVwiLFwiaW5oZXJpdFwiLFwib25CZWZvcmVMYXlvdXRNZWFzdXJlXCIsXCJvbkFuaW1hdGlvblN0YXJ0XCIsXCJvbkFuaW1hdGlvbkNvbXBsZXRlXCIsXCJvblVwZGF0ZVwiLFwib25EcmFnU3RhcnRcIixcIm9uRHJhZ1wiLFwib25EcmFnRW5kXCIsXCJvbk1lYXN1cmVEcmFnQ29uc3RyYWludHNcIixcIm9uRGlyZWN0aW9uTG9ja1wiLFwib25EcmFnVHJhbnNpdGlvbkVuZFwiLFwiX2RyYWdYXCIsXCJfZHJhZ1lcIixcIm9uSG92ZXJTdGFydFwiLFwib25Ib3ZlckVuZFwiLFwib25WaWV3cG9ydEVudGVyXCIsXCJvblZpZXdwb3J0TGVhdmVcIixcImdsb2JhbFRhcFRhcmdldFwiLFwiaWdub3JlU3RyaWN0XCIsXCJ2aWV3cG9ydFwiXSk7ZnVuY3Rpb24gRmYoZSl7cmV0dXJuIGUuc3RhcnRzV2l0aChcIndoaWxlXCIpfHxlLnN0YXJ0c1dpdGgoXCJkcmFnXCIpJiZcImRyYWdnYWJsZVwiIT09ZXx8ZS5zdGFydHNXaXRoKFwibGF5b3V0XCIpfHxlLnN0YXJ0c1dpdGgoXCJvblRhcFwiKXx8ZS5zdGFydHNXaXRoKFwib25QYW5cIil8fGUuc3RhcnRzV2l0aChcIm9uTGF5b3V0XCIpfHxMZi5oYXMoZSl9bGV0IHpmPWU9PiFGZihlKTt0cnl7KEJmPW4oMzE2KS5BKSYmKHpmPWU9PmUuc3RhcnRzV2l0aChcIm9uXCIpPyFGZihlKTpCZihlKSl9Y2F0Y2goZSl7fXZhciBCZjtmdW5jdGlvbiBXZihlLHQsbixyKXtjb25zdCBvPSgwLGEudXNlTWVtbykoKCgpPT57Y29uc3Qgbj1rZigpO3JldHVybiBNZihuLHQsUmYociksZS50cmFuc2Zvcm1UZW1wbGF0ZSksey4uLm4uYXR0cnMsc3R5bGU6ey4uLm4uc3R5bGV9fX0pLFt0XSk7aWYoZS5zdHlsZSl7Y29uc3QgdD17fTtBZih0LGUuc3R5bGUsZSksby5zdHlsZT17Li4udCwuLi5vLnN0eWxlfX1yZXR1cm4gb31mdW5jdGlvbiBWZihlPSExKXtyZXR1cm4odCxuLHIse2xhdGVzdFZhbHVlczpvfSxpKT0+e2NvbnN0IHM9KHVmKHQpP1dmOklmKShuLG8saSx0KSxsPWZ1bmN0aW9uKGUsdCxuKXtjb25zdCByPXt9O2Zvcihjb25zdCBvIGluIGUpXCJ2YWx1ZXNcIj09PW8mJlwib2JqZWN0XCI9PXR5cGVvZiBlLnZhbHVlc3x8KHpmKG8pfHwhMD09PW4mJkZmKG8pfHwhdCYmIUZmKG8pfHxlLmRyYWdnYWJsZSYmby5zdGFydHNXaXRoKFwib25EcmFnXCIpKSYmKHJbb109ZVtvXSk7cmV0dXJuIHJ9KG4sXCJzdHJpbmdcIj09dHlwZW9mIHQsZSksYz10IT09YS5GcmFnbWVudD97Li4ubCwuLi5zLHJlZjpyfTp7fSx7Y2hpbGRyZW46dX09bixkPSgwLGEudXNlTWVtbykoKCgpPT5YbCh1KT91LmdldCgpOnUpLFt1XSk7cmV0dXJuKDAsYS5jcmVhdGVFbGVtZW50KSh0LHsuLi5jLGNoaWxkcmVuOmR9KX19ZnVuY3Rpb24gVWYoZSx0KXtyZXR1cm4gZnVuY3Rpb24obix7Zm9yd2FyZE1vdGlvblByb3BzOnJ9PXtmb3J3YXJkTW90aW9uUHJvcHM6ITF9KXtyZXR1cm4gYWYoey4uLnVmKG4pP0RmOmpmLHByZWxvYWRlZEZlYXR1cmVzOmUsdXNlUmVuZGVyOlZmKHIpLGNyZWF0ZVZpc3VhbEVsZW1lbnQ6dCxDb21wb25lbnQ6bn0pfX1jb25zdCAkZj17Y3VycmVudDpudWxsfSxZZj17Y3VycmVudDohMX0sSGY9bmV3IFdlYWtNYXAsS2Y9Wy4uLkxzLFpzLGxhXSxxZj1bXCJBbmltYXRpb25TdGFydFwiLFwiQW5pbWF0aW9uQ29tcGxldGVcIixcIlVwZGF0ZVwiLFwiQmVmb3JlTGF5b3V0TWVhc3VyZVwiLFwiTGF5b3V0TWVhc3VyZVwiLFwiTGF5b3V0QW5pbWF0aW9uU3RhcnRcIixcIkxheW91dEFuaW1hdGlvbkNvbXBsZXRlXCJdLEdmPUxpLmxlbmd0aDtjbGFzcyBYZntzY3JhcGVNb3Rpb25WYWx1ZXNGcm9tUHJvcHMoZSx0LG4pe3JldHVybnt9fWNvbnN0cnVjdG9yKHtwYXJlbnQ6ZSxwcm9wczp0LHByZXNlbmNlQ29udGV4dDpuLHJlZHVjZWRNb3Rpb25Db25maWc6cixibG9ja0luaXRpYWxBbmltYXRpb246byx2aXN1YWxTdGF0ZTppfSxzPXt9KXt0aGlzLmFwcGx5V2lsbENoYW5nZT0hMSx0aGlzLmN1cnJlbnQ9bnVsbCx0aGlzLmNoaWxkcmVuPW5ldyBTZXQsdGhpcy5pc1ZhcmlhbnROb2RlPSExLHRoaXMuaXNDb250cm9sbGluZ1ZhcmlhbnRzPSExLHRoaXMuc2hvdWxkUmVkdWNlTW90aW9uPW51bGwsdGhpcy52YWx1ZXM9bmV3IE1hcCx0aGlzLktleWZyYW1lUmVzb2x2ZXI9JHMsdGhpcy5mZWF0dXJlcz17fSx0aGlzLnZhbHVlU3Vic2NyaXB0aW9ucz1uZXcgTWFwLHRoaXMucHJldk1vdGlvblZhbHVlcz17fSx0aGlzLmV2ZW50cz17fSx0aGlzLnByb3BFdmVudFN1YnNjcmlwdGlvbnM9e30sdGhpcy5ub3RpZnlVcGRhdGU9KCk9PnRoaXMubm90aWZ5KFwiVXBkYXRlXCIsdGhpcy5sYXRlc3RWYWx1ZXMpLHRoaXMucmVuZGVyPSgpPT57dGhpcy5pc1JlbmRlclNjaGVkdWxlZD0hMSx0aGlzLmN1cnJlbnQmJih0aGlzLnRyaWdnZXJCdWlsZCgpLHRoaXMucmVuZGVySW5zdGFuY2UodGhpcy5jdXJyZW50LHRoaXMucmVuZGVyU3RhdGUsdGhpcy5wcm9wcy5zdHlsZSx0aGlzLnByb2plY3Rpb24pKX0sdGhpcy5pc1JlbmRlclNjaGVkdWxlZD0hMSx0aGlzLnNjaGVkdWxlUmVuZGVyPSgpPT57dGhpcy5pc1JlbmRlclNjaGVkdWxlZHx8KHRoaXMuaXNSZW5kZXJTY2hlZHVsZWQ9ITAsSmkucmVuZGVyKHRoaXMucmVuZGVyLCExLCEwKSl9O2NvbnN0e2xhdGVzdFZhbHVlczphLHJlbmRlclN0YXRlOmx9PWk7dGhpcy5sYXRlc3RWYWx1ZXM9YSx0aGlzLmJhc2VUYXJnZXQ9ey4uLmF9LHRoaXMuaW5pdGlhbFZhbHVlcz10LmluaXRpYWw/ey4uLmF9Ont9LHRoaXMucmVuZGVyU3RhdGU9bCx0aGlzLnBhcmVudD1lLHRoaXMucHJvcHM9dCx0aGlzLnByZXNlbmNlQ29udGV4dD1uLHRoaXMuZGVwdGg9ZT9lLmRlcHRoKzE6MCx0aGlzLnJlZHVjZWRNb3Rpb25Db25maWc9cix0aGlzLm9wdGlvbnM9cyx0aGlzLmJsb2NrSW5pdGlhbEFuaW1hdGlvbj1Cb29sZWFuKG8pLHRoaXMuaXNDb250cm9sbGluZ1ZhcmlhbnRzPWVmKHQpLHRoaXMuaXNWYXJpYW50Tm9kZT10Zih0KSx0aGlzLmlzVmFyaWFudE5vZGUmJih0aGlzLnZhcmlhbnRDaGlsZHJlbj1uZXcgU2V0KSx0aGlzLm1hbnVhbGx5QW5pbWF0ZU9uTW91bnQ9Qm9vbGVhbihlJiZlLmN1cnJlbnQpO2NvbnN0e3dpbGxDaGFuZ2U6YywuLi51fT10aGlzLnNjcmFwZU1vdGlvblZhbHVlc0Zyb21Qcm9wcyh0LHt9LHRoaXMpO2Zvcihjb25zdCBlIGluIHUpe2NvbnN0IHQ9dVtlXTt2b2lkIDAhPT1hW2VdJiZYbCh0KSYmdC5zZXQoYVtlXSwhMSl9fW1vdW50KGUpe3RoaXMuY3VycmVudD1lLEhmLnNldChlLHRoaXMpLHRoaXMucHJvamVjdGlvbiYmIXRoaXMucHJvamVjdGlvbi5pbnN0YW5jZSYmdGhpcy5wcm9qZWN0aW9uLm1vdW50KGUpLHRoaXMucGFyZW50JiZ0aGlzLmlzVmFyaWFudE5vZGUmJiF0aGlzLmlzQ29udHJvbGxpbmdWYXJpYW50cyYmKHRoaXMucmVtb3ZlRnJvbVZhcmlhbnRUcmVlPXRoaXMucGFyZW50LmFkZFZhcmlhbnRDaGlsZCh0aGlzKSksdGhpcy52YWx1ZXMuZm9yRWFjaCgoKGUsdCk9PnRoaXMuYmluZFRvTW90aW9uVmFsdWUodCxlKSkpLFlmLmN1cnJlbnR8fGZ1bmN0aW9uKCl7aWYoWWYuY3VycmVudD0hMCxIZClpZih3aW5kb3cubWF0Y2hNZWRpYSl7Y29uc3QgZT13aW5kb3cubWF0Y2hNZWRpYShcIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uKVwiKSx0PSgpPT4kZi5jdXJyZW50PWUubWF0Y2hlcztlLmFkZExpc3RlbmVyKHQpLHQoKX1lbHNlICRmLmN1cnJlbnQ9ITF9KCksdGhpcy5zaG91bGRSZWR1Y2VNb3Rpb249XCJuZXZlclwiIT09dGhpcy5yZWR1Y2VkTW90aW9uQ29uZmlnJiYoXCJhbHdheXNcIj09PXRoaXMucmVkdWNlZE1vdGlvbkNvbmZpZ3x8JGYuY3VycmVudCksdGhpcy5wYXJlbnQmJnRoaXMucGFyZW50LmNoaWxkcmVuLmFkZCh0aGlzKSx0aGlzLnVwZGF0ZSh0aGlzLnByb3BzLHRoaXMucHJlc2VuY2VDb250ZXh0KX11bm1vdW50KCl7SGYuZGVsZXRlKHRoaXMuY3VycmVudCksdGhpcy5wcm9qZWN0aW9uJiZ0aGlzLnByb2plY3Rpb24udW5tb3VudCgpLFFpKHRoaXMubm90aWZ5VXBkYXRlKSxRaSh0aGlzLnJlbmRlciksdGhpcy52YWx1ZVN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoZT0+ZSgpKSksdGhpcy52YWx1ZVN1YnNjcmlwdGlvbnMuY2xlYXIoKSx0aGlzLnJlbW92ZUZyb21WYXJpYW50VHJlZSYmdGhpcy5yZW1vdmVGcm9tVmFyaWFudFRyZWUoKSx0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuY2hpbGRyZW4uZGVsZXRlKHRoaXMpO2Zvcihjb25zdCBlIGluIHRoaXMuZXZlbnRzKXRoaXMuZXZlbnRzW2VdLmNsZWFyKCk7Zm9yKGNvbnN0IGUgaW4gdGhpcy5mZWF0dXJlcyl7Y29uc3QgdD10aGlzLmZlYXR1cmVzW2VdO3QmJih0LnVubW91bnQoKSx0LmlzTW91bnRlZD0hMSl9dGhpcy5jdXJyZW50PW51bGx9YmluZFRvTW90aW9uVmFsdWUoZSx0KXt0aGlzLnZhbHVlU3Vic2NyaXB0aW9ucy5oYXMoZSkmJnRoaXMudmFsdWVTdWJzY3JpcHRpb25zLmdldChlKSgpO2NvbnN0IG49emkuaGFzKGUpLHI9dC5vbihcImNoYW5nZVwiLCh0PT57dGhpcy5sYXRlc3RWYWx1ZXNbZV09dCx0aGlzLnByb3BzLm9uVXBkYXRlJiZKaS5wcmVSZW5kZXIodGhpcy5ub3RpZnlVcGRhdGUpLG4mJnRoaXMucHJvamVjdGlvbiYmKHRoaXMucHJvamVjdGlvbi5pc1RyYW5zZm9ybURpcnR5PSEwKX0pKSxvPXQub24oXCJyZW5kZXJSZXF1ZXN0XCIsdGhpcy5zY2hlZHVsZVJlbmRlcik7bGV0IGk7d2luZG93Lk1vdGlvbkNoZWNrQXBwZWFyU3luYyYmKGk9d2luZG93Lk1vdGlvbkNoZWNrQXBwZWFyU3luYyh0aGlzLGUsdCkpLHRoaXMudmFsdWVTdWJzY3JpcHRpb25zLnNldChlLCgoKT0+e3IoKSxvKCksaSYmaSgpLHQub3duZXImJnQuc3RvcCgpfSkpfXNvcnROb2RlUG9zaXRpb24oZSl7cmV0dXJuIHRoaXMuY3VycmVudCYmdGhpcy5zb3J0SW5zdGFuY2VOb2RlUG9zaXRpb24mJnRoaXMudHlwZT09PWUudHlwZT90aGlzLnNvcnRJbnN0YW5jZU5vZGVQb3NpdGlvbih0aGlzLmN1cnJlbnQsZS5jdXJyZW50KTowfXVwZGF0ZUZlYXR1cmVzKCl7bGV0IGU9XCJhbmltYXRpb25cIjtmb3IoZSBpbiBvZil7Y29uc3QgdD1vZltlXTtpZighdCljb250aW51ZTtjb25zdHtpc0VuYWJsZWQ6bixGZWF0dXJlOnJ9PXQ7aWYoIXRoaXMuZmVhdHVyZXNbZV0mJnImJm4odGhpcy5wcm9wcykmJih0aGlzLmZlYXR1cmVzW2VdPW5ldyByKHRoaXMpKSx0aGlzLmZlYXR1cmVzW2VdKXtjb25zdCB0PXRoaXMuZmVhdHVyZXNbZV07dC5pc01vdW50ZWQ/dC51cGRhdGUoKToodC5tb3VudCgpLHQuaXNNb3VudGVkPSEwKX19fXRyaWdnZXJCdWlsZCgpe3RoaXMuYnVpbGQodGhpcy5yZW5kZXJTdGF0ZSx0aGlzLmxhdGVzdFZhbHVlcyx0aGlzLnByb3BzKX1tZWFzdXJlVmlld3BvcnRCb3goKXtyZXR1cm4gdGhpcy5jdXJyZW50P3RoaXMubWVhc3VyZUluc3RhbmNlVmlld3BvcnRCb3godGhpcy5jdXJyZW50LHRoaXMucHJvcHMpOiRjKCl9Z2V0U3RhdGljVmFsdWUoZSl7cmV0dXJuIHRoaXMubGF0ZXN0VmFsdWVzW2VdfXNldFN0YXRpY1ZhbHVlKGUsdCl7dGhpcy5sYXRlc3RWYWx1ZXNbZV09dH11cGRhdGUoZSx0KXsoZS50cmFuc2Zvcm1UZW1wbGF0ZXx8dGhpcy5wcm9wcy50cmFuc2Zvcm1UZW1wbGF0ZSkmJnRoaXMuc2NoZWR1bGVSZW5kZXIoKSx0aGlzLnByZXZQcm9wcz10aGlzLnByb3BzLHRoaXMucHJvcHM9ZSx0aGlzLnByZXZQcmVzZW5jZUNvbnRleHQ9dGhpcy5wcmVzZW5jZUNvbnRleHQsdGhpcy5wcmVzZW5jZUNvbnRleHQ9dDtmb3IobGV0IHQ9MDt0PHFmLmxlbmd0aDt0Kyspe2NvbnN0IG49cWZbdF07dGhpcy5wcm9wRXZlbnRTdWJzY3JpcHRpb25zW25dJiYodGhpcy5wcm9wRXZlbnRTdWJzY3JpcHRpb25zW25dKCksZGVsZXRlIHRoaXMucHJvcEV2ZW50U3Vic2NyaXB0aW9uc1tuXSk7Y29uc3Qgcj1lW1wib25cIituXTtyJiYodGhpcy5wcm9wRXZlbnRTdWJzY3JpcHRpb25zW25dPXRoaXMub24obixyKSl9dGhpcy5wcmV2TW90aW9uVmFsdWVzPWZ1bmN0aW9uKGUsdCxuKXtmb3IoY29uc3QgciBpbiB0KXtjb25zdCBvPXRbcl0saT1uW3JdO2lmKFhsKG8pKWUuYWRkVmFsdWUocixvKTtlbHNlIGlmKFhsKGkpKWUuYWRkVmFsdWUocixVbChvLHtvd25lcjplfSkpO2Vsc2UgaWYoaSE9PW8paWYoZS5oYXNWYWx1ZShyKSl7Y29uc3QgdD1lLmdldFZhbHVlKHIpOyEwPT09dC5saXZlU3R5bGU/dC5qdW1wKG8pOnQuaGFzQW5pbWF0ZWR8fHQuc2V0KG8pfWVsc2V7Y29uc3QgdD1lLmdldFN0YXRpY1ZhbHVlKHIpO2UuYWRkVmFsdWUocixVbCh2b2lkIDAhPT10P3Q6byx7b3duZXI6ZX0pKX19Zm9yKGNvbnN0IHIgaW4gbil2b2lkIDA9PT10W3JdJiZlLnJlbW92ZVZhbHVlKHIpO3JldHVybiB0fSh0aGlzLHRoaXMuc2NyYXBlTW90aW9uVmFsdWVzRnJvbVByb3BzKGUsdGhpcy5wcmV2UHJvcHMsdGhpcyksdGhpcy5wcmV2TW90aW9uVmFsdWVzKSx0aGlzLmhhbmRsZUNoaWxkTW90aW9uVmFsdWUmJnRoaXMuaGFuZGxlQ2hpbGRNb3Rpb25WYWx1ZSgpfWdldFByb3BzKCl7cmV0dXJuIHRoaXMucHJvcHN9Z2V0VmFyaWFudChlKXtyZXR1cm4gdGhpcy5wcm9wcy52YXJpYW50cz90aGlzLnByb3BzLnZhcmlhbnRzW2VdOnZvaWQgMH1nZXREZWZhdWx0VHJhbnNpdGlvbigpe3JldHVybiB0aGlzLnByb3BzLnRyYW5zaXRpb259Z2V0VHJhbnNmb3JtUGFnZVBvaW50KCl7cmV0dXJuIHRoaXMucHJvcHMudHJhbnNmb3JtUGFnZVBvaW50fWdldENsb3Nlc3RWYXJpYW50Tm9kZSgpe3JldHVybiB0aGlzLmlzVmFyaWFudE5vZGU/dGhpczp0aGlzLnBhcmVudD90aGlzLnBhcmVudC5nZXRDbG9zZXN0VmFyaWFudE5vZGUoKTp2b2lkIDB9Z2V0VmFyaWFudENvbnRleHQoZT0hMSl7aWYoZSlyZXR1cm4gdGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuZ2V0VmFyaWFudENvbnRleHQoKTp2b2lkIDA7aWYoIXRoaXMuaXNDb250cm9sbGluZ1ZhcmlhbnRzKXtjb25zdCBlPXRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5nZXRWYXJpYW50Q29udGV4dCgpfHx7fTtyZXR1cm4gdm9pZCAwIT09dGhpcy5wcm9wcy5pbml0aWFsJiYoZS5pbml0aWFsPXRoaXMucHJvcHMuaW5pdGlhbCksZX1jb25zdCB0PXt9O2ZvcihsZXQgZT0wO2U8R2Y7ZSsrKXtjb25zdCBuPUxpW2VdLHI9dGhpcy5wcm9wc1tuXTsoUmkocil8fCExPT09cikmJih0W25dPXIpfXJldHVybiB0fWFkZFZhcmlhbnRDaGlsZChlKXtjb25zdCB0PXRoaXMuZ2V0Q2xvc2VzdFZhcmlhbnROb2RlKCk7aWYodClyZXR1cm4gdC52YXJpYW50Q2hpbGRyZW4mJnQudmFyaWFudENoaWxkcmVuLmFkZChlKSwoKT0+dC52YXJpYW50Q2hpbGRyZW4uZGVsZXRlKGUpfWFkZFZhbHVlKGUsdCl7Y29uc3Qgbj10aGlzLnZhbHVlcy5nZXQoZSk7dCE9PW4mJihuJiZ0aGlzLnJlbW92ZVZhbHVlKGUpLHRoaXMuYmluZFRvTW90aW9uVmFsdWUoZSx0KSx0aGlzLnZhbHVlcy5zZXQoZSx0KSx0aGlzLmxhdGVzdFZhbHVlc1tlXT10LmdldCgpKX1yZW1vdmVWYWx1ZShlKXt0aGlzLnZhbHVlcy5kZWxldGUoZSk7Y29uc3QgdD10aGlzLnZhbHVlU3Vic2NyaXB0aW9ucy5nZXQoZSk7dCYmKHQoKSx0aGlzLnZhbHVlU3Vic2NyaXB0aW9ucy5kZWxldGUoZSkpLGRlbGV0ZSB0aGlzLmxhdGVzdFZhbHVlc1tlXSx0aGlzLnJlbW92ZVZhbHVlRnJvbVJlbmRlclN0YXRlKGUsdGhpcy5yZW5kZXJTdGF0ZSl9aGFzVmFsdWUoZSl7cmV0dXJuIHRoaXMudmFsdWVzLmhhcyhlKX1nZXRWYWx1ZShlLHQpe2lmKHRoaXMucHJvcHMudmFsdWVzJiZ0aGlzLnByb3BzLnZhbHVlc1tlXSlyZXR1cm4gdGhpcy5wcm9wcy52YWx1ZXNbZV07bGV0IG49dGhpcy52YWx1ZXMuZ2V0KGUpO3JldHVybiB2b2lkIDA9PT1uJiZ2b2lkIDAhPT10JiYobj1VbChudWxsPT09dD92b2lkIDA6dCx7b3duZXI6dGhpc30pLHRoaXMuYWRkVmFsdWUoZSxuKSksbn1yZWFkVmFsdWUoZSx0KXt2YXIgbjtsZXQgcj12b2lkIDA9PT10aGlzLmxhdGVzdFZhbHVlc1tlXSYmdGhpcy5jdXJyZW50P251bGwhPT0obj10aGlzLmdldEJhc2VUYXJnZXRGcm9tUHJvcHModGhpcy5wcm9wcyxlKSkmJnZvaWQgMCE9PW4/bjp0aGlzLnJlYWRWYWx1ZUZyb21JbnN0YW5jZSh0aGlzLmN1cnJlbnQsZSx0aGlzLm9wdGlvbnMpOnRoaXMubGF0ZXN0VmFsdWVzW2VdO3JldHVybiBudWxsIT1yJiYoXCJzdHJpbmdcIj09dHlwZW9mIHImJihpcyhyKXx8bnMocikpP3I9cGFyc2VGbG9hdChyKTohKGU9PktmLmZpbmQoSXMoZSkpKShyKSYmbGEudGVzdCh0KSYmKHI9eWEoZSx0KSksdGhpcy5zZXRCYXNlVGFyZ2V0KGUsWGwocik/ci5nZXQoKTpyKSksWGwocik/ci5nZXQoKTpyfXNldEJhc2VUYXJnZXQoZSx0KXt0aGlzLmJhc2VUYXJnZXRbZV09dH1nZXRCYXNlVGFyZ2V0KGUpe3ZhciB0O2NvbnN0e2luaXRpYWw6bn09dGhpcy5wcm9wcztsZXQgcjtpZihcInN0cmluZ1wiPT10eXBlb2Ygbnx8XCJvYmplY3RcIj09dHlwZW9mIG4pe2NvbnN0IG89amkodGhpcy5wcm9wcyxuLG51bGw9PT0odD10aGlzLnByZXNlbmNlQ29udGV4dCl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuY3VzdG9tKTtvJiYocj1vW2VdKX1pZihuJiZ2b2lkIDAhPT1yKXJldHVybiByO2NvbnN0IG89dGhpcy5nZXRCYXNlVGFyZ2V0RnJvbVByb3BzKHRoaXMucHJvcHMsZSk7cmV0dXJuIHZvaWQgMD09PW98fFhsKG8pP3ZvaWQgMCE9PXRoaXMuaW5pdGlhbFZhbHVlc1tlXSYmdm9pZCAwPT09cj92b2lkIDA6dGhpcy5iYXNlVGFyZ2V0W2VdOm99b24oZSx0KXtyZXR1cm4gdGhpcy5ldmVudHNbZV18fCh0aGlzLmV2ZW50c1tlXT1uZXcgQmwpLHRoaXMuZXZlbnRzW2VdLmFkZCh0KX1ub3RpZnkoZSwuLi50KXt0aGlzLmV2ZW50c1tlXSYmdGhpcy5ldmVudHNbZV0ubm90aWZ5KC4uLnQpfX1jbGFzcyBaZiBleHRlbmRzIFhme2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLktleWZyYW1lUmVzb2x2ZXI9YmF9c29ydEluc3RhbmNlTm9kZVBvc2l0aW9uKGUsdCl7cmV0dXJuIDImZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KT8xOi0xfWdldEJhc2VUYXJnZXRGcm9tUHJvcHMoZSx0KXtyZXR1cm4gZS5zdHlsZT9lLnN0eWxlW3RdOnZvaWQgMH1yZW1vdmVWYWx1ZUZyb21SZW5kZXJTdGF0ZShlLHt2YXJzOnQsc3R5bGU6bn0pe2RlbGV0ZSB0W2VdLGRlbGV0ZSBuW2VdfX1jbGFzcyBKZiBleHRlbmRzIFpme2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9XCJodG1sXCIsdGhpcy5hcHBseVdpbGxDaGFuZ2U9ITAsdGhpcy5yZW5kZXJJbnN0YW5jZT1kZn1yZWFkVmFsdWVGcm9tSW5zdGFuY2UoZSx0KXtpZih6aS5oYXModCkpe2NvbnN0IGU9Z2EodCk7cmV0dXJuIGUmJmUuZGVmYXVsdHx8MH17Y29uc3Qgcj0obj1lLHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG4pKSxvPShhcyh0KT9yLmdldFByb3BlcnR5VmFsdWUodCk6clt0XSl8fDA7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIG8/by50cmltKCk6b312YXIgbn1tZWFzdXJlSW5zdGFuY2VWaWV3cG9ydEJveChlLHt0cmFuc2Zvcm1QYWdlUG9pbnQ6dH0pe3JldHVybiBhdShlLHQpfWJ1aWxkKGUsdCxuKXtQZihlLHQsbi50cmFuc2Zvcm1UZW1wbGF0ZSl9c2NyYXBlTW90aW9uVmFsdWVzRnJvbVByb3BzKGUsdCxuKXtyZXR1cm4gcGYoZSx0LG4pfWhhbmRsZUNoaWxkTW90aW9uVmFsdWUoKXt0aGlzLmNoaWxkU3Vic2NyaXB0aW9uJiYodGhpcy5jaGlsZFN1YnNjcmlwdGlvbigpLGRlbGV0ZSB0aGlzLmNoaWxkU3Vic2NyaXB0aW9uKTtjb25zdHtjaGlsZHJlbjplfT10aGlzLnByb3BzO1hsKGUpJiYodGhpcy5jaGlsZFN1YnNjcmlwdGlvbj1lLm9uKFwiY2hhbmdlXCIsKGU9Pnt0aGlzLmN1cnJlbnQmJih0aGlzLmN1cnJlbnQudGV4dENvbnRlbnQ9YCR7ZX1gKX0pKSl9fWNsYXNzIFFmIGV4dGVuZHMgWmZ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudHlwZT1cInN2Z1wiLHRoaXMuaXNTVkdUYWc9ITEsdGhpcy5tZWFzdXJlSW5zdGFuY2VWaWV3cG9ydEJveD0kY31nZXRCYXNlVGFyZ2V0RnJvbVByb3BzKGUsdCl7cmV0dXJuIGVbdF19cmVhZFZhbHVlRnJvbUluc3RhbmNlKGUsdCl7aWYoemkuaGFzKHQpKXtjb25zdCBlPWdhKHQpO3JldHVybiBlJiZlLmRlZmF1bHR8fDB9cmV0dXJuIHQ9ZmYuaGFzKHQpP3Q6WWwodCksZS5nZXRBdHRyaWJ1dGUodCl9c2NyYXBlTW90aW9uVmFsdWVzRnJvbVByb3BzKGUsdCxuKXtyZXR1cm4gZ2YoZSx0LG4pfWJ1aWxkKGUsdCxuKXtNZihlLHQsdGhpcy5pc1NWR1RhZyxuLnRyYW5zZm9ybVRlbXBsYXRlKX1yZW5kZXJJbnN0YW5jZShlLHQsbixyKXttZihlLHQsMCxyKX1tb3VudChlKXt0aGlzLmlzU1ZHVGFnPVJmKGUudGFnTmFtZSksc3VwZXIubW91bnQoZSl9fWNvbnN0IGVtPU9pKFVmKHsuLi5sYywuLi5WZCwuLi5EZCwuLi5VZH0sKChlLHQpPT51ZihlKT9uZXcgUWYodCk6bmV3IEpmKHQse2FsbG93UHJvamVjdGlvbjplIT09YS5GcmFnbWVudH0pKSkpO3ZhciB0bT1bXCJzbHVnXCIsXCJ0ZXh0XCIsXCJpY29uXCIsXCJjbGFzc05hbWVcIixcImRpc2FibGVkXCIsXCJiYWRnZVwiXTtmdW5jdGlvbiBubSgpe3JldHVybiBubT1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LG5tLmFwcGx5KG51bGwsYXJndW1lbnRzKX12YXIgcm09KDAsYS5jcmVhdGVDb250ZXh0KSgpLG9tPWZ1bmN0aW9uKGUpe3ZhciB0LG49ZS5jaGlsZHJlbixyPWUuYWN0aXZlSXRlbSxvPXZvaWQgMD09PXI/bnVsbDpyLGk9ZS5vbkNoYW5nZSxzPWUuY2xhc3NOYW1lLGM9ZS5zaXplLHU9dm9pZCAwPT09Yz9cInNtXCI6YyxkPWUub3JpZW50YXRpb24sZj12b2lkIDA9PT1kP1wiaG9yaXpvbnRhbFwiOmQsbT1lLnZhcmlhbnQsaD12b2lkIDA9PT1tP1wicGlsbFwiOm0scD1lLmljb25Qb3NpdGlvbixnPXZvaWQgMD09PXA/XCJsZWZ0XCI6cCx5PWUud2lkdGgsdj12b2lkIDA9PT15P1wiZnVsbFwiOnksYj0oMCxhLnVzZUNhbGxiYWNrKSgoZnVuY3Rpb24oZSx0KXtpJiZpKHtldmVudDplLHZhbHVlOnR9KX0pLFtpXSkseD1cInJvdW5kZWQtZnVsbFwiLHc9XCJwLTFcIixTPVwicmluZy0xIHJpbmctdGFiLWJvcmRlclwiO1widmVydGljYWxcIj09PWY/dD1cImdhcC0wLjVcIjpcInJvdW5kZWRcIiE9PWgmJlwicGlsbFwiIT09aHx8KFwieHNcIj09PXV8fFwic21cIj09PXU/dD1cImdhcC0wLjVcIjpcIm1kXCIhPT11JiZcImxnXCIhPT11fHwodD1cImdhcC0xXCIpKSxcInJvdW5kZWRcIj09PWh8fFwidmVydGljYWxcIj09PWY/eD1cInJvdW5kZWQtbWRcIjpcInVuZGVybGluZVwiPT09aCYmKHg9XCJyb3VuZGVkLW5vbmVcIix3PVwicC0wXCIsUz1cImJvcmRlci10LTAgYm9yZGVyLXItMCBib3JkZXItbC0wIGJvcmRlci1iIGJvcmRlci1zb2xpZCBib3JkZXItdGFiLWJvcmRlclwiLFwieHNcIj09PXU/dD1cImdhcC0wXCI6XCJzbVwiPT09dT90PVwiZ2FwLTIuNVwiOlwibWRcIiE9PXUmJlwibGdcIiE9PXV8fCh0PVwiZ2FwLTNcIikpO3ZhciBrPVwidmVydGljYWxcIj09PWY/XCJmbGV4LWNvbFwiOlwiXCIsRT1cImJveC1ib3JkZXIgWyY+Kl06Ym94LWJvcmRlciBmbGV4IGl0ZW1zLWNlbnRlciBcIi5jb25jYXQoXCJmdWxsXCI9PT12P1widy1mdWxsXCI6XCJcIixcIiBcIikuY29uY2F0KGspLEM9b2UoRSx4LHcsdCxTLFwidW5kZXJsaW5lXCIhPT1oP1wiYmctdGFiLWJhY2tncm91bmRcIjpcIlwiLHMpO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6Q30sbCgpLmNyZWF0ZUVsZW1lbnQocm0uUHJvdmlkZXIse3ZhbHVlOnthY3RpdmVJdGVtOm8sb25DaGFuZ2U6YixzaXplOnUsdmFyaWFudDpoLG9yaWVudGF0aW9uOmYsaWNvblBvc2l0aW9uOmcsd2lkdGg6dn19LGwoKS5DaGlsZHJlbi5tYXAobiwoZnVuY3Rpb24oZSl7cmV0dXJuKDAsYS5pc1ZhbGlkRWxlbWVudCkoZSk/bCgpLmNsb25lRWxlbWVudChlKTpudWxsfSkpKSl9O29tLmRpc3BsYXlOYW1lPVwiVGFicy5Hcm91cFwiO3ZhciBpbT1mdW5jdGlvbihlLHQpe3ZhciBuPSgwLGEudXNlQ29udGV4dCkocm0pLHI9ZS5zbHVnLG89ZS50ZXh0LGk9ZS5pY29uLHM9ZS5jbGFzc05hbWUsYz1lLmRpc2FibGVkLHU9dm9pZCAwIT09YyYmYyxkPWUuYmFkZ2UsZj12b2lkIDA9PT1kP251bGw6ZCxtPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbixyLG89ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPXt9O2Zvcih2YXIgciBpbiBlKWlmKHt9Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSl7aWYodC5pbmNsdWRlcyhyKSljb250aW51ZTtuW3JdPWVbcl19cmV0dXJuIG59KGUsdCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKW49aVtyXSx0LmluY2x1ZGVzKG4pfHx7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsbikmJihvW25dPWVbbl0pfXJldHVybiBvfShlLHRtKTtpZighbil0aHJvdyBuZXcgRXJyb3IoXCJUYWIgc2hvdWxkIGJlIHVzZWQgaW5zaWRlIFRhYnMgR3JvdXBcIik7dmFyIGg9bi5hY3RpdmVJdGVtLHA9bi5vbkNoYW5nZSxnPW4uc2l6ZSx5PW4udmFyaWFudCx2PW4ub3JpZW50YXRpb24sYj1uLmljb25Qb3NpdGlvbix4PW4ud2lkdGgsdz17eHM6XCJweC0xLjUgcHktMC41IHRleHQteHMgWyZfc3ZnXTpzaXplLTNcIixzbTpcInVuZGVybGluZVwiPT09eT9cInB5LTEuNSB0ZXh0LXNtIFsmX3N2Z106c2l6ZS00XCI6XCJweC0zIHB5LTEuNSB0ZXh0LXNtIFsmX3N2Z106c2l6ZS00XCIsbWQ6XCJ1bmRlcmxpbmVcIj09PXk/XCJweS0yIHRleHQtYmFzZSBbJl9zdmddOnNpemUtNVwiOlwicHgtMy41IHB5LTEuNSB0ZXh0LWJhc2UgWyZfc3ZnXTpzaXplLTVcIixsZzpcInVuZGVybGluZVwiPT09eT9cInAtMi41IHRleHQtbGcgWyZfc3ZnXTpzaXplLTZcIjpcInB4LTMuNSBweS0xLjUgdGV4dC1sZyBbJl9zdmddOnNpemUtNlwifVtnXSxTPW9lKFwicmVsYXRpdmUgYm9yZGVyLW5vbmUgYmctdHJhbnNwYXJlbnQgdGV4dC10ZXh0LXNlY29uZGFyeSBjdXJzb3ItcG9pbnRlciBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0cmFuc2l0aW9uLVtib3gtc2hhZG93LGNvbG9yLGJhY2tncm91bmQtY29sb3JdIGR1cmF0aW9uLTIwMFwiLFwiZnVsbFwiPT09eD9cImZsZXgtMVwiOlwiXCIsXCJ2ZXJ0aWNhbFwiPT09dj9cInctZnVsbCBqdXN0aWZ5LWJldHdlZW5cIjpcIlwiKSxrPVwicm91bmRlZC1mdWxsXCI7XCJyb3VuZGVkXCI9PT15P2s9XCJyb3VuZGVkLW1kXCI6XCJ1bmRlcmxpbmVcIj09PXkmJihrPVwicm91bmRlZC1ub25lXCIpO3ZhciBFPW9lKFMsXCJib3JkZXItbm9uZVwiLGssXCJob3Zlcjp0ZXh0LXRleHQtcHJpbWFyeSBncm91cFwiLFwiZm9jdXM6b3V0bGluZS1ub25lXCIsdT9cInRleHQtdGV4dC1kaXNhYmxlZCBjdXJzb3Itbm90LWFsbG93ZWRcIjpcIlwiLHcsaD09PXI/XCJiZy1iYWNrZ3JvdW5kLXByaW1hcnkgdGV4dC10ZXh0LXByaW1hcnkgc2hhZG93LXNtXCI6XCJcIixzKTtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIixubSh7cmVmOnQsY2xhc3NOYW1lOkUsZGlzYWJsZWQ6dSxvbkNsaWNrOmZ1bmN0aW9uKGUpe3AoZSx7c2x1ZzpyLHRleHQ6b30pfX0sbSksaD09PXImJlwidW5kZXJsaW5lXCI9PT15JiZsKCkuY3JlYXRlRWxlbWVudChlbS5zcGFuLHtsYXlvdXRJZDpcInVuZGVybGluZVwiLGNsYXNzTmFtZTpcImFic29sdXRlIHJpZ2h0LTAgbGVmdC0wIC1ib3R0b20tcHggaC1weCBiZy1ib3JkZXItaW50ZXJhY3RpdmVcIn0pLGwoKS5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMVwifSxcImxlZnRcIj09PWImJmkmJmwoKS5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6XCJtci0xIGNvbnRlbnRzIGNlbnRlci1jZW50ZXIgZ3JvdXAtaG92ZXI6dGV4dC10ZXh0LXByaW1hcnlcIn0saSksbyxcInJpZ2h0XCI9PT1iJiZpJiZsKCkuY3JlYXRlRWxlbWVudChcInNwYW5cIix7Y2xhc3NOYW1lOlwibWwtMSBjb250ZW50cyBjZW50ZXItY2VudGVyIGdyb3VwLWhvdmVyOnRleHQtdGV4dC1wcmltYXJ5XCJ9LGkpKSxmJiYoMCxhLmlzVmFsaWRFbGVtZW50KShmKSYmZil9LHNtPSgwLGEuZm9yd2FyZFJlZikoaW0pO3NtLmRpc3BsYXlOYW1lPVwiVGFicy5UYWJcIjt2YXIgYW09e0dyb3VwOm9tLFRhYjpzbX07Y29uc3QgbG09a2UoXCJDaGV2cm9uc1VwRG93blwiLFtbXCJwYXRoXCIse2Q6XCJtNyAxNSA1IDUgNS01XCIsa2V5OlwiMWhmMXR3XCJ9XSxbXCJwYXRoXCIse2Q6XCJtNyA5IDUtNSA1IDVcIixrZXk6XCJzZ3Q2eGdcIn1dXSksY209a2UoXCJDaGV2cm9uRG93blwiLFtbXCJwYXRoXCIse2Q6XCJtNiA5IDYgNiA2LTZcIixrZXk6XCJxcnVuc2xcIn1dXSksdW09a2UoXCJTZWFyY2hcIixbW1wiY2lyY2xlXCIse2N4OlwiMTFcIixjeTpcIjExXCIscjpcIjhcIixrZXk6XCI0ZWo5N3VcIn1dLFtcInBhdGhcIix7ZDpcIm0yMSAyMS00LjMtNC4zXCIsa2V5OlwiMXFpZTNxXCJ9XV0pO3ZhciBkbT17c206e2ljb246XCJbJj5zdmddOnNpemUtNFwiLHNlYXJjaEljb246XCJbJj5zdmddOnNpemUtNFwiLHNlbGVjdEJ1dHRvbjpcInB4LTIuNSBweS0yIHJvdW5kZWQgdGV4dC1zbSBmb250LW1lZGl1bSBsZWFkaW5nLTQgbWluLWgtWzJyZW1dXCIsbXVsdGlTZWxlY3Q6XCJwbC0yIHByLTIgcHktMS41XCIsZGlzcGxheVNlbGVjdGVkOlwidGV4dC1zbSBmb250LW5vcm1hbFwiLGRyb3Bkb3duOlwicm91bmRlZC1tZFwiLGRyb3Bkb3duSXRlbXNXcmFwcGVyOlwicC0xLjVcIixzZWFyY2hiYXJXcmFwcGVyOlwicC0zIGZsZXggaXRlbXMtY2VudGVyIGdhcC0wLjVcIixzZWFyY2hiYXI6XCJmb250LW1lZGl1bSB0ZXh0LXNtXCIsc2VhcmNoYmFySWNvbjpcIlsmPnN2Z106c2l6ZS00XCIsbGFiZWw6XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtXCJ9LG1kOntpY29uOlwiWyY+c3ZnXTpzaXplLTVcIixzZWFyY2hJY29uOlwiWyY+c3ZnXTpzaXplLTVcIixzZWxlY3RCdXR0b246XCJweC0zLjUgcHktMi41IHJvdW5kZWQtbWQgdGV4dC14cyBmb250LW1lZGl1bSBsZWFkaW5nLTQgbWluLWgtWzIuNXJlbV1cIixtdWx0aVNlbGVjdDpcInBsLTIgcHItMi41IHB5LTJcIixkaXNwbGF5U2VsZWN0ZWQ6XCJ0ZXh0LXNtIGZvbnQtbm9ybWFsXCIsZHJvcGRvd246XCJyb3VuZGVkLWxnXCIsZHJvcGRvd25JdGVtc1dyYXBwZXI6XCJwLTJcIixzZWFyY2hiYXJXcmFwcGVyOlwicC0yLjUgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIixzZWFyY2hiYXI6XCJmb250LW1lZGl1bSB0ZXh0LXNtXCIsc2VhcmNoYmFySWNvbjpcIlsmPnN2Z106c2l6ZS01XCIsbGFiZWw6XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtXCJ9LGxnOntpY29uOlwiWyY+c3ZnXTpzaXplLTZcIixzZWFyY2hJY29uOlwiWyY+c3ZnXTpzaXplLTVcIixzZWxlY3RCdXR0b246XCJweC00IHB5LTMgcm91bmRlZC1sZyB0ZXh0LXNtIGZvbnQtbWVkaXVtIGxlYWRpbmctNSBtaW4taC1bM3JlbV1cIixtdWx0aVNlbGVjdDpcInBsLTIuNSBwci0zIHB5LTIuNVwiLGRpc3BsYXlTZWxlY3RlZDpcInRleHQtYmFzZSBmb250LW5vcm1hbFwiLGRyb3Bkb3duOlwicm91bmRlZC1sZ1wiLGRyb3Bkb3duSXRlbXNXcmFwcGVyOlwicC0yXCIsc2VhcmNoYmFyV3JhcHBlcjpcInAtMi41IGZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCIsc2VhcmNoYmFyOlwiZm9udC1tZWRpdW0gdGV4dC1zbVwiLHNlYXJjaGJhckljb246XCJbJj5zdmddOnNpemUtNVwiLGxhYmVsOlwidGV4dC1iYXNlIGZvbnQtbWVkaXVtXCJ9fSxmbT1cImdyb3VwLWRpc2FibGVkOnRleHQtZmllbGQtY29sb3ItZGlzYWJsZWRcIixtbT1bXCJ2YWx1ZVwiLFwic2VsZWN0ZWRcIixcImNoaWxkcmVuXCIsXCJjbGFzc05hbWVcIl07ZnVuY3Rpb24gaG0oZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0oZSl8fGZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09ZT9udWxsOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVtcIkBAaXRlcmF0b3JcIl07aWYobnVsbCE9bil7dmFyIHIsbyxpLHMsYT1bXSxsPSEwLGM9ITE7dHJ5e2lmKGk9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtsPSExfWVsc2UgZm9yKDshKGw9KHI9aS5jYWxsKG4pKS5kb25lKSYmKGEucHVzaChyLnZhbHVlKSxhLmxlbmd0aCE9PXQpO2w9ITApO31jYXRjaChlKXtjPSEwLG89ZX1maW5hbGx5e3RyeXtpZighbCYmbnVsbCE9bi5yZXR1cm4mJihzPW4ucmV0dXJuKCksT2JqZWN0KHMpIT09cykpcmV0dXJufWZpbmFsbHl7aWYoYyl0aHJvdyBvfX1yZXR1cm4gYX19KGUsdCl8fHltKGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKX1mdW5jdGlvbiBwbSgpe3JldHVybiBwbT1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LHBtLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBnbShlKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gdm0oZSl9KGUpfHxmdW5jdGlvbihlKXtpZihcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZudWxsIT1lW1N5bWJvbC5pdGVyYXRvcl18fG51bGwhPWVbXCJAQGl0ZXJhdG9yXCJdKXJldHVybiBBcnJheS5mcm9tKGUpfShlKXx8eW0oZSl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIil9KCl9ZnVuY3Rpb24geW0oZSx0KXtpZihlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSlyZXR1cm4gdm0oZSx0KTt2YXIgbj17fS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpO3JldHVyblwiT2JqZWN0XCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpLFwiTWFwXCI9PT1ufHxcIlNldFwiPT09bj9BcnJheS5mcm9tKGUpOlwiQXJndW1lbnRzXCI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT92bShlLHQpOnZvaWQgMH19ZnVuY3Rpb24gdm0oZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPUFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfWZ1bmN0aW9uIGJtKGUpe3JldHVybiBibT1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJlwic3ltYm9sXCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT9cInN5bWJvbFwiOnR5cGVvZiBlfSxibShlKX1mdW5jdGlvbiB4bShlLHQpe3ZhciBuPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7dCYmKHI9ci5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCkuZW51bWVyYWJsZX0pKSksbi5wdXNoLmFwcGx5KG4scil9cmV0dXJuIG59ZnVuY3Rpb24gd20oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49bnVsbCE9YXJndW1lbnRzW3RdP2FyZ3VtZW50c1t0XTp7fTt0JTI/eG0oT2JqZWN0KG4pLCEwKS5mb3JFYWNoKChmdW5jdGlvbih0KXtTbShlLHQsblt0XSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhuKSk6eG0oT2JqZWN0KG4pKS5mb3JFYWNoKChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iobix0KSl9KSl9cmV0dXJuIGV9ZnVuY3Rpb24gU20oZSx0LG4pe3JldHVybih0PWZ1bmN0aW9uKGUpe3ZhciB0PWZ1bmN0aW9uKGUpe2lmKFwib2JqZWN0XCIhPWJtKGUpfHwhZSlyZXR1cm4gZTt2YXIgdD1lW1N5bWJvbC50b1ByaW1pdGl2ZV07aWYodm9pZCAwIT09dCl7dmFyIG49dC5jYWxsKGUsXCJzdHJpbmdcIik7aWYoXCJvYmplY3RcIiE9Ym0obikpcmV0dXJuIG47dGhyb3cgbmV3IFR5cGVFcnJvcihcIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuXCIpfXJldHVybiBTdHJpbmcoZSl9KGUpO3JldHVyblwic3ltYm9sXCI9PWJtKHQpP3Q6dCtcIlwifSh0KSlpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPW4sZX12YXIga209KDAsYS5jcmVhdGVDb250ZXh0KSgpLEVtPWZ1bmN0aW9uKCl7cmV0dXJuKDAsYS51c2VDb250ZXh0KShrbSl9O2Z1bmN0aW9uIENtKGUpe3ZhciB0LG4scixvPWUuY2hpbGRyZW4saT1lLmljb24scz12b2lkIDA9PT1pP251bGw6aSxsPWUucGxhY2Vob2xkZXIsYz12b2lkIDA9PT1sP1wiU2VsZWN0IGFuIG9wdGlvblwiOmwsdT1lLm9wdGlvbkljb24sZD12b2lkIDA9PT11P251bGw6dSxmPWUuZGlzcGxheUJ5LG09dm9pZCAwPT09Zj9cIm5hbWVcIjpmLGg9ZS5sYWJlbCxwPWUuY2xhc3NOYW1lLGc9RW0oKSx5PWcuc2l6ZVZhbHVlLHY9Zy5nZXRSZWZlcmVuY2VQcm9wcyxiPWcuZ2V0VmFsdWVzLHg9Zy5zZWxlY3RJZCx3PWcucmVmcyxTPWcuaXNPcGVuLGs9Zy5tdWx0aXBsZSxFPWcuY29tYm9ib3gsQz1nLnNldFNlbGVjdGVkLF89Zy5vbkNoYW5nZSxQPWcuaXNDb250cm9sbGVkLE89Zy5kaXNhYmxlZCxOPWcuYnksVD1udWxsPT09KHQ9e3NtOlwieHNcIixtZDpcInNtXCIsbGc6XCJtZFwifSl8fHZvaWQgMD09PXQ/dm9pZCAwOnRbeV0sTT0oMCxhLnVzZUNhbGxiYWNrKSgoZnVuY3Rpb24oKXtpZihzKXJldHVybiBzO3ZhciBlPVwidGV4dC1maWVsZC1wbGFjZWhvbGRlciBncm91cC1kaXNhYmxlZDp0ZXh0LWljb24tZGlzYWJsZWRcIjtyZXR1cm4gRT9SZWFjdC5jcmVhdGVFbGVtZW50KGxtLHtjbGFzc05hbWU6ZX0pOlJlYWN0LmNyZWF0ZUVsZW1lbnQoY20se2NsYXNzTmFtZTplfSl9KSxbc10pLFI9KDAsYS51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKCl7dmFyIGU9YigpO2lmKCFlKXJldHVybiBudWxsO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIG8pe3ZhciB0PXdtKHt2YWx1ZTplfSxrP3tvbkNsb3NlOkR9Ont9KTtyZXR1cm4gbyh0KX1pZihrKXJldHVybiBlLm1hcCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChabyx7aWNvbjpkLHR5cGU6XCJyb3VuZGVkXCIsa2V5OnQsc2l6ZTpULG9uTW91c2VEb3duOkQoZSksbGFiZWw6XCJvYmplY3RcIj09PWJtKGUpP2VbbV06ZSxjbG9zYWJsZTohMCxkaXNhYmxlZDpPfSl9KSk7dmFyIG49XCJvYmplY3RcIj09PWJtKGUpP2VbbV06ZTtyZXR1cm4oMCxhLmlzVmFsaWRFbGVtZW50KShvKSYmKG49byksUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIix7Y2xhc3NOYW1lOm9lKFwidHJ1bmNhdGVcIixkbVt5XS5kaXNwbGF5U2VsZWN0ZWQsZm0pfSxuKX0pLFtiXSksRD1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG47bnVsbD09dHx8dC5wcmV2ZW50RGVmYXVsdCgpLG51bGw9PXR8fHQuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIHI9Z20obnVsbCE9PShuPWIoKSkmJnZvaWQgMCE9PW4/bjpbXSksbz1yLmZpbmRJbmRleCgoZnVuY3Rpb24odCl7cmV0dXJuXCJvYmplY3RcIj09PWJtKHQpP3RbTl09PT1lW05dOnQ9PT1lfSkpOy0xIT09byYmKHIuc3BsaWNlKG8sMSksUHx8QyhyKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBfJiZfKHIpKX19O3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcImZsZXggZmxleC1jb2wgaXRlbXMtc3RhcnQgZ2FwLTEuNSBbJl8qXTpib3gtYm9yZGVyIGJveC1ib3JkZXJcIn0sISFoJiZSZWFjdC5jcmVhdGVFbGVtZW50KFwibGFiZWxcIix7Y2xhc3NOYW1lOm9lKG51bGw9PT0obj1kbVt5XSl8fHZvaWQgMD09PW4/dm9pZCAwOm4ubGFiZWwsXCJ0ZXh0LWZpZWxkLWxhYmVsXCIpLGh0bWxGb3I6eH0saCksUmVhY3QuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLHBtKHtpZDp4LHJlZjp3LnNldFJlZmVyZW5jZSxjbGFzc05hbWU6b2UoXCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsIGJveC1ib3JkZXIgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tMTUwIGJnLXdoaXRlXCIsXCJvdXRsaW5lIG91dGxpbmUtMSBvdXRsaW5lLWZpZWxkLWJvcmRlciBib3JkZXItbm9uZVwiLCFTJiZcImZvY3VzOnJpbmctMiBmb2N1czpyaW5nLW9mZnNldC00IGZvY3VzOm91dGxpbmUtZm9jdXMtYm9yZGVyIGZvY3VzOnJpbmctZm9jdXMgWyY6aG92ZXI6bm90KDpmb2N1cyk6bm90KDpkaXNhYmxlZCldOm91dGxpbmUtYm9yZGVyLXN0cm9uZ1wiLGRtW3ldLnNlbGVjdEJ1dHRvbixrJiZkbVt5XS5tdWx0aVNlbGVjdCxcImdyb3VwIGRpc2FibGVkOm91dGxpbmUtZmllbGQtYm9yZGVyLWRpc2FibGVkIFsmOmhvdmVyOmhhcyg6ZGlzYWJsZWQpXTpvdXRsaW5lLWZpZWxkLWJvcmRlci1kaXNhYmxlZFwiLHApLFwiYXJpYS1sYWJlbGxlZGJ5XCI6XCJzZWxlY3QtbGFiZWxcIix0YWJJbmRleDowLGRpc2FibGVkOk99LHYoKSksUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJmbGV4LTEgZ3JpZCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdGFydCBnYXAtMS41IG92ZXJmbG93LWhpZGRlblwiLGIoKSYmXCJmbGV4IGZsZXgtd3JhcFwiKX0sUigpLChrPyEobnVsbCE9PShyPWIoKSkmJnZvaWQgMCE9PXImJnIubGVuZ3RoKTohYigpKSYmUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJbZ3JpZC1hcmVhOjEvMS8yLzNdIHRleHQtZmllbGQtaW5wdXQgcHgtMVwiLGRtW3ldLmRpc3BsYXlTZWxlY3RlZCxmbSl9LGMpKSxSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcImZsZXggaXRlbXMtY2VudGVyIFsmPnN2Z106c2hyaW5rLTBcIixkbVt5XS5pY29uKX0sTSgpKSkpfWZ1bmN0aW9uIF9tKGUpe3ZhciB0PWUuY2hpbGRyZW4sbj1lLnNlYXJjaEJ5LHI9dm9pZCAwPT09bj9cImlkXCI6bixvPWUuc2VhcmNoUGxhY2Vob2xkZXIsaT12b2lkIDA9PT1vP1wiU2VhcmNoLi4uXCI6byxzPWUuZHJvcGRvd25Qb3J0YWxSb290LGw9dm9pZCAwPT09cz9udWxsOnMsYz1lLmRyb3Bkb3duUG9ydGFsSWQsdT12b2lkIDA9PT1jP1wiXCI6YyxkPWUuY2xhc3NOYW1lLGY9RW0oKSxtPWYuaXNPcGVuLGg9Zi5jb250ZXh0LHA9Zi5yZWZzLGc9Zi5jb21ib2JveCx5PWYuZmxvYXRpbmdTdHlsZXMsdj1mLmdldEZsb2F0aW5nUHJvcHMsYj1mLnNpemVWYWx1ZSx4PWYuc2V0U2VhcmNoS2V5d29yZCx3PWYuc2V0QWN0aXZlSW5kZXgsUz1mLnNldFNlbGVjdGVkSW5kZXgsaz1mLnZhbHVlLEU9Zi5zZWxlY3RlZCxDPWYuZ2V0VmFsdWVzLF89Zi5zZWFyY2hLZXl3b3JkLFA9Zi5saXN0Q29udGVudFJlZixPPWYuYnksTj0oMCxhLnVzZU1lbW8pKChmdW5jdGlvbigpe3ZhciBlPUMoKSxuPTA7cmV0dXJuIGUmJihuPWEuQ2hpbGRyZW4udG9BcnJheSh0KS5maW5kSW5kZXgoKGZ1bmN0aW9uKHQpe3JldHVyblwib2JqZWN0XCI9PT1ibSh0LnByb3BzLnZhbHVlKT90LnByb3BzLnZhbHVlW09dPT09ZVtPXTp0LnByb3BzLnZhbHVlPT09ZX0pKSksLTE9PT1uPzA6bn0pLFtrLEUsdF0pOygwLGEudXNlTGF5b3V0RWZmZWN0KSgoZnVuY3Rpb24oKXt3KE4pLFMoTil9KSxbXSk7dmFyIFQ9KDAsYS51c2VNZW1vKSgoZnVuY3Rpb24oKXtyZXR1cm4gYS5DaGlsZHJlbi5tYXAodCwoZnVuY3Rpb24oZSx0KXtpZighKDAsYS5pc1ZhbGlkRWxlbWVudCkoZSkpcmV0dXJuIG51bGw7aWYoXyl7dmFyIG49ZS5wcm9wcy52YWx1ZTtpZihcIm9iamVjdFwiPT09Ym0obikpe2lmKC0xPT09bltyXS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXy50b0xvd2VyQ2FzZSgpKSlyZXR1cm4gbnVsbH1lbHNlIGlmKC0xPT09bi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXy50b0xvd2VyQ2FzZSgpKSlyZXR1cm4gbnVsbH1yZXR1cm4oMCxhLmNsb25lRWxlbWVudCkoZSx3bSh3bSh7fSxlLnByb3BzKSx7fSx7aW5kZXg6dH0pKX0pKX0pLFtfLGssRSx0XSksTT1hLkNoaWxkcmVuLmNvdW50KFQpO3JldHVybigwLGEudXNlRWZmZWN0KSgoZnVuY3Rpb24oKXtQLmN1cnJlbnQ9W10sYS5DaGlsZHJlbi5mb3JFYWNoKHQsKGZ1bmN0aW9uKGUpe2lmKCgwLGEuaXNWYWxpZEVsZW1lbnQpKGUpJiZlLnByb3BzLnZhbHVlKXtpZihfKXt2YXIgdD1lLnByb3BzLnZhbHVlO2lmKFwib2JqZWN0XCI9PT1ibSh0KSl7aWYoLTE9PT10W3JdLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihfLnRvTG93ZXJDYXNlKCkpKXJldHVybn1lbHNlIGlmKC0xPT09dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXy50b0xvd2VyQ2FzZSgpKSlyZXR1cm59UC5jdXJyZW50LnB1c2goZS5wcm9wcy52YWx1ZSl9fSkpfSksW19dKSxSZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LG51bGwsbSYmUmVhY3QuY3JlYXRlRWxlbWVudChJcix7aWQ6dSxyb290Omx9LFJlYWN0LmNyZWF0ZUVsZW1lbnQoWXIse2NvbnRleHQ6aCxtb2RhbDohMX0sUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHBtKHtyZWY6cC5zZXRGbG9hdGluZyxjbGFzc05hbWU6b2UoXCJib3gtYm9yZGVyIFsmXypdOmJveC1ib3JkZXIgdy1mdWxsIGJnLXdoaXRlIG91dGxpbmUtbm9uZSBzaGFkb3ctbGcgb3V0bGluZSBvdXRsaW5lLTEgb3V0bGluZS1ib3JkZXItc3VidGxlXCIsZyYmXCJncmlkIGdyaWQtY29scy0xIGdyaWQtcm93cy1bYXV0b18xZnJdIGRpdmlkZS15IGRpdmlkZS14LTAgZGl2aWRlLXNvbGlkIGRpdmlkZS1ib3JkZXItc3VidGxlXCIsZG1bYl0uZHJvcGRvd24sIWcmJlwiaC1hdXRvXCIsZz9cIm92ZXJmbG93LWhpZGRlblwiOlwib3ZlcmZsb3cteS1hdXRvXCIsZCksc3R5bGU6d20oe30seSl9LHYoKSksZyYmUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoZG1bYl0uc2VhcmNoYmFyV3JhcHBlcil9LFJlYWN0LmNyZWF0ZUVsZW1lbnQodW0se2NsYXNzTmFtZTpvZShcInRleHQtaWNvbi1zZWNvbmRhcnkgc2hyaW5rLTBcIixkbVtiXS5zZWFyY2hiYXJJY29uKX0pLFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLHtjbGFzc05hbWU6b2UoXCJweC0xIHctZnVsbCBwbGFjZWhvbGRlcjp0ZXh0LWZpZWxkLXBsYWNlaG9sZGVyIGJvcmRlci0wIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpzaGFkb3ctbm9uZVwiLGRtW2JdLnNlYXJjaGJhciksdHlwZTpcInNlYXJjaFwiLG5hbWU6XCJrZXl3b3JkXCIscGxhY2Vob2xkZXI6aSxvbkNoYW5nZTpmdW5jdGlvbihlKXtyZXR1cm4geChlLnRhcmdldC52YWx1ZSl9LGF1dG9Db21wbGV0ZTpcIm9mZlwifSkpLFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOm9lKFwib3ZlcmZsb3cteS1hdXRvXCIsIWcmJlwidy1mdWxsIGgtZnVsbFwiLGRtW2JdLmRyb3Bkb3duSXRlbXNXcmFwcGVyKX0sISFNJiZULCFNJiZSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcInAtMiB0ZXh0LWNlbnRlciB0ZXh0LWJhc2UgZm9udC1tZWRpdW0gdGV4dC1maWVsZC1wbGFjZWhvbGRlclwifSxcIk5vIGl0ZW1zIGZvdW5kXCIpKSkpKSl9ZnVuY3Rpb24gUG0oZSl7dmFyIHQ9ZS52YWx1ZSxuPWUuc2VsZWN0ZWQscj1lLmNoaWxkcmVuLG89ZS5jbGFzc05hbWUsaT1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG4scixvPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbj17fTtmb3IodmFyIHIgaW4gZSlpZih7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikpe2lmKHQuaW5jbHVkZXMocikpY29udGludWU7bltyXT1lW3JdfXJldHVybiBufShlLHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKyluPWlbcl0sdC5pbmNsdWRlcyhuKXx8e30ucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLG4pJiYob1tuXT1lW25dKX1yZXR1cm4gb30oZSxtbSkscz1FbSgpLGw9cy5zaXplVmFsdWUsYz1zLmdldEl0ZW1Qcm9wcyx1PXMub25LZXlEb3duSXRlbSxkPXMub25DbGlja0l0ZW0sZj1zLmFjdGl2ZUluZGV4LG09cy5zZWxlY3RlZEluZGV4LGg9cy51cGRhdGVMaXN0UmVmLHA9cy5nZXRWYWx1ZXMsZz1zLmJ5LHk9cy5tdWx0aXBsZSx2PWkuaW5kZXgsYj0oMCxhLnVzZU1lbW8pKChmdW5jdGlvbigpe2lmKCF5KXJldHVybiExO3ZhciBlPXAoKTtyZXR1cm4hIWUmJmUuc29tZSgoZnVuY3Rpb24oZSl7cmV0dXJuXCJvYmplY3RcIj09PWJtKGUpP2VbZ109PT10W2ddOmU9PT10fSkpfSksW3QscF0pLHg9KDAsYS51c2VNZW1vKSgoZnVuY3Rpb24oKXtyZXR1cm5cImJvb2xlYW5cIj09dHlwZW9mIG4/bjp5P2I6dj09PW19KSxbYixtLG5dKTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHBtKHtjbGFzc05hbWU6b2UoXCJ3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHRleHQtdGV4dC1wcmltYXJ5IGhvdmVyOmJnLWJ1dHRvbi10ZXJ0aWFyeS1ob3ZlciByb3VuZGVkLW1kIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTE1MCBjdXJzb3ItcG9pbnRlciBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXMtd2l0aGluOm91dGxpbmUtbm9uZSBvdXRsaW5lLW5vbmVcIix7c206XCJweS0xLjUgcHgtMiB0ZXh0LXNtIGZvbnQtbm9ybWFsXCIsbWQ6XCJwLTIgdGV4dC1zbSBmb250LW5vcm1hbFwiLGxnOlwicC0yIHRleHQtYmFzZSBmb250LW5vcm1hbFwifVtsXSx2PT09ZiYmXCJiZy1idXR0b24tdGVydGlhcnktaG92ZXJcIixvKSxyZWY6ZnVuY3Rpb24oZSl7aCh2LGUpfSxyb2xlOlwib3B0aW9uXCIsdGFiSW5kZXg6dj09PWY/MDotMSxcImFyaWEtc2VsZWN0ZWRcIjp4JiZ2PT09Zn0sYyh7b25DbGljazpmdW5jdGlvbigpe2Qodix0KX0sb25LZXlEb3duOmZ1bmN0aW9uKGUpe3UoZSx2LHQpfX0pKSxSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6XCJ3LWZ1bGwgdHJ1bmNhdGVcIn0scikseCYmUmVhY3QuY3JlYXRlRWxlbWVudChDZSx7Y2xhc3NOYW1lOm9lKFwidGV4dC1pY29uLW9uLWNvbG9yLWRpc2FibGVkXCIse3NtOlwic2l6ZS00XCIsbWQ6XCJzaXplLTRcIixsZzpcInNpemUtNVwifVtsXSl9KSl9Q20uZGlzcGxheU5hbWU9XCJTZWxlY3QuQnV0dG9uXCIsX20uZGlzcGxheU5hbWU9XCJTZWxlY3QuT3B0aW9uc1wiLFBtLmRpc3BsYXlOYW1lPVwiU2VsZWN0Lk9wdGlvblwiO3ZhciBPbT1mdW5jdGlvbihlKXt2YXIgdD1lLmlkLG49ZS5zaXplLHI9dm9pZCAwPT09bj9cIm1kXCI6bixvPWUudmFsdWUsaT1lLmRlZmF1bHRWYWx1ZSxzPWUub25DaGFuZ2UsbD1lLmJ5LGM9dm9pZCAwPT09bD9cImlkXCI6bCx1PWUuY2hpbGRyZW4sZD1lLm11bHRpcGxlLGY9dm9pZCAwIT09ZCYmZCxtPWUuY29tYm9ib3gsaD12b2lkIDAhPT1tJiZtLHA9ZS5kaXNhYmxlZCxnPXZvaWQgMCE9PXAmJnAseT0oMCxhLnVzZU1lbW8pKChmdW5jdGlvbigpe3JldHVybiB0fHxcInNlbGVjdC1cIi5jb25jYXQoZmUoKSl9KSxbdF0pLHY9KDAsYS51c2VNZW1vKSgoZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09b30pLFtvXSksYj1obSgoMCxhLnVzZVN0YXRlKShpKSwyKSx4PWJbMF0sdz1iWzFdLFM9aG0oKDAsYS51c2VTdGF0ZSkoXCJcIiksMiksaz1TWzBdLEU9U1sxXSxDPSgwLGEudXNlQ2FsbGJhY2spKChmdW5jdGlvbigpe3JldHVybiB2P286eH0pLFt2LG8seF0pLF89aG0oKDAsYS51c2VTdGF0ZSkoITEpLDIpLFA9X1swXSxPPV9bMV0sTj1obSgoMCxhLnVzZVN0YXRlKSgpLDIpLFQ9TlswXSxNPU5bMV0sUj1obSgoMCxhLnVzZVN0YXRlKSgpLDIpLEQ9UlswXSxqPVJbMV0sQT17c206aD8yNTY6MTcyLG1kOmg/MjU2OjIxNixsZzpoPzI1NjoyMTZ9LEk9UXIoe3BsYWNlbWVudDpcImJvdHRvbS1zdGFydFwiLG9wZW46UCxvbk9wZW5DaGFuZ2U6Tyx3aGlsZUVsZW1lbnRzTW91bnRlZDpibixtaWRkbGV3YXJlOltEbig1KSxBbih7cGFkZGluZzoxMH0pLEluKHthcHBseTpmdW5jdGlvbihlKXt2YXIgdD1lLnJlY3RzLG49ZS5lbGVtZW50cyxvPWUuYXZhaWxhYmxlSGVpZ2h0O09iamVjdC5hc3NpZ24obi5mbG9hdGluZy5zdHlsZSx7bWF4SGVpZ2h0OlwibWluKFwiLmNvbmNhdChvLFwicHgsIFwiKS5jb25jYXQoQVtyXSxcInB4KVwiKSxtYXhXaWR0aDpcIlwiLmNvbmNhdCh0LnJlZmVyZW5jZS53aWR0aCxcInB4XCIpfSl9LHBhZGRpbmc6MTB9KV19KSxMPUkucmVmcyxGPUkuZmxvYXRpbmdTdHlsZXMsej1JLmNvbnRleHQsQj0oMCxhLnVzZVJlZikoW10pLFc9KDAsYS51c2VSZWYpKFtdKSxWPSgwLGEudXNlUmVmKSghMSksVT1xcih6LHtldmVudDpcIm1vdXNlZG93blwifSksJD1Kcih6KSxZPWZvKHose3JvbGU6XCJsaXN0Ym94XCJ9KSxIPWNvKHose2xpc3RSZWY6QixhY3RpdmVJbmRleDpULHNlbGVjdGVkSW5kZXg6RCxvbk5hdmlnYXRlOk0sbG9vcDohMH0pLEs9ZnVuY3Rpb24oZSx0KXt2YXIgbjtjb25zdHtvcGVuOnIsZGF0YVJlZjpvfT1lLHtsaXN0UmVmOmksYWN0aXZlSW5kZXg6cyxvbk1hdGNoOmwsb25UeXBpbmdDaGFuZ2U6YyxlbmFibGVkOnU9ITAsZmluZE1hdGNoOmQ9bnVsbCxyZXNldE1zOmY9NzUwLGlnbm9yZUtleXM6bT1bXSxzZWxlY3RlZEluZGV4Omg9bnVsbH09dCxwPWEudXNlUmVmKCksZz1hLnVzZVJlZihcIlwiKSx5PWEudXNlUmVmKG51bGwhPShuPW51bGwhPWg/aDpzKT9uOi0xKSx2PWEudXNlUmVmKG51bGwpLGI9em4obCkseD16bihjKSx3PWZyKGQpLFM9ZnIobSk7ZXIoKCgpPT57ciYmKGNsZWFyVGltZW91dChwLmN1cnJlbnQpLHYuY3VycmVudD1udWxsLGcuY3VycmVudD1cIlwiKX0pLFtyXSksZXIoKCgpPT57dmFyIGU7ciYmXCJcIj09PWcuY3VycmVudCYmKHkuY3VycmVudD1udWxsIT0oZT1udWxsIT1oP2g6cyk/ZTotMSl9KSxbcixoLHNdKTtjb25zdCBrPXpuKChlPT57ZT9vLmN1cnJlbnQudHlwaW5nfHwoby5jdXJyZW50LnR5cGluZz1lLHgoZSkpOm8uY3VycmVudC50eXBpbmcmJihvLmN1cnJlbnQudHlwaW5nPWUseChlKSl9KSksRT16bigoZT0+e2Z1bmN0aW9uIHQoZSx0LG4pe2NvbnN0IHI9dy5jdXJyZW50P3cuY3VycmVudCh0LG4pOnQuZmluZCgoZT0+MD09PShudWxsPT1lP3ZvaWQgMDplLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5kZXhPZihuLnRvTG9jYWxlTG93ZXJDYXNlKCkpKSkpO3JldHVybiByP2UuaW5kZXhPZihyKTotMX1jb25zdCBuPWkuY3VycmVudDtpZihnLmN1cnJlbnQubGVuZ3RoPjAmJlwiIFwiIT09Zy5jdXJyZW50WzBdJiYoLTE9PT10KG4sbixnLmN1cnJlbnQpP2soITEpOlwiIFwiPT09ZS5rZXkmJnl0KGUpKSxudWxsPT1ufHxTLmN1cnJlbnQuaW5jbHVkZXMoZS5rZXkpfHwxIT09ZS5rZXkubGVuZ3RofHxlLmN0cmxLZXl8fGUubWV0YUtleXx8ZS5hbHRLZXkpcmV0dXJuO3ImJlwiIFwiIT09ZS5rZXkmJih5dChlKSxrKCEwKSksbi5ldmVyeSgoZT0+e3ZhciB0LG47cmV0dXJuIWV8fChudWxsPT0odD1lWzBdKT92b2lkIDA6dC50b0xvY2FsZUxvd2VyQ2FzZSgpKSE9PShudWxsPT0obj1lWzFdKT92b2lkIDA6bi50b0xvY2FsZUxvd2VyQ2FzZSgpKX0pKSYmZy5jdXJyZW50PT09ZS5rZXkmJihnLmN1cnJlbnQ9XCJcIix5LmN1cnJlbnQ9di5jdXJyZW50KSxnLmN1cnJlbnQrPWUua2V5LGNsZWFyVGltZW91dChwLmN1cnJlbnQpLHAuY3VycmVudD1zZXRUaW1lb3V0KCgoKT0+e2cuY3VycmVudD1cIlwiLHkuY3VycmVudD12LmN1cnJlbnQsayghMSl9KSxmKTtjb25zdCBvPXkuY3VycmVudCxzPXQobixbLi4ubi5zbGljZSgob3x8MCkrMSksLi4ubi5zbGljZSgwLChvfHwwKSsxKV0sZy5jdXJyZW50KTstMSE9PXM/KGIocyksdi5jdXJyZW50PXMpOlwiIFwiIT09ZS5rZXkmJihnLmN1cnJlbnQ9XCJcIixrKCExKSl9KSksQz1hLnVzZU1lbW8oKCgpPT4oe29uS2V5RG93bjpFfSkpLFtFXSksXz1hLnVzZU1lbW8oKCgpPT4oe29uS2V5RG93bjpFLG9uS2V5VXAoZSl7XCIgXCI9PT1lLmtleSYmayghMSl9fSkpLFtFLGtdKTtyZXR1cm4gYS51c2VNZW1vKCgoKT0+dT97cmVmZXJlbmNlOkMsZmxvYXRpbmc6X306e30pLFt1LEMsX10pfSh6LHtsaXN0UmVmOlcsYWN0aXZlSW5kZXg6VCxzZWxlY3RlZEluZGV4OkQsb25NYXRjaDpQP006aixvblR5cGluZ0NoYW5nZTpmdW5jdGlvbihlKXtWLmN1cnJlbnQ9ZX19KSxxPXJvKFskLFksSCxVXS5jb25jYXQoZ20oaD9bXTpbS10pKSksRz1xLmdldFJlZmVyZW5jZVByb3BzLFg9cS5nZXRGbG9hdGluZ1Byb3BzLFo9cS5nZXRJdGVtUHJvcHMsSj1mdW5jdGlvbihlLHQpe2lmKGYpcmV0dXJuIGZ1bmN0aW9uKGUsdCl7dmFyIG4scj1nbShudWxsIT09KG49QygpKSYmdm9pZCAwIT09bj9uOltdKTstMT09PXIuZmluZEluZGV4KChmdW5jdGlvbihlKXtyZXR1cm5cIm9iamVjdFwiPT09Ym0oZSk/ZVtjXT09PXRbY106ZT09PXR9KSkmJihyLnB1c2godCksdnx8dyhyKSxqKGUpLEwucmVmZXJlbmNlLmN1cnJlbnQuZm9jdXMoKSxPKCExKSxFKFwiXCIpLFwiZnVuY3Rpb25cIj09dHlwZW9mIHMmJnMocikpfShlLHQpO2ooZSksdnx8dyh0KSxMLnJlZmVyZW5jZS5jdXJyZW50LmZvY3VzKCksTyghMSksRShcIlwiKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBzJiZzKHQpfSxRPSgwLGEudXNlQ2FsbGJhY2spKChmdW5jdGlvbihlLHQpe0IuY3VycmVudFtlXT10fSksW10pO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KGttLlByb3ZpZGVyLHt2YWx1ZTp7c2VsZWN0ZWRJbmRleDpELHNldFNlbGVjdGVkSW5kZXg6aixhY3RpdmVJbmRleDpULHNldEFjdGl2ZUluZGV4Ok0sc2VsZWN0ZWQ6eCxzZXRTZWxlY3RlZDp3LGhhbmRsZVNlbGVjdDpKLGNvbWJvYm94Omgsc2l6ZVZhbHVlOnIsbXVsdGlwbGU6ZixvbkNoYW5nZTpzLGlzVHlwaW5nUmVmOlYsZ2V0SXRlbVByb3BzOlosb25DbGlja0l0ZW06ZnVuY3Rpb24oZSx0KXtKKGUsdCl9LG9uS2V5RG93bkl0ZW06ZnVuY3Rpb24oZSx0LG4pe1wiRW50ZXJcIj09PWUua2V5JiYoZS5wcmV2ZW50RGVmYXVsdCgpLEoodCxuKSksXCIgXCIhPT1lLmtleXx8Vi5jdXJyZW50fHwoZS5wcmV2ZW50RGVmYXVsdCgpLEoodCxuKSl9LGdldFZhbHVlczpDLHNlbGVjdElkOnksZ2V0UmVmZXJlbmNlUHJvcHM6Ryxpc09wZW46UCx2YWx1ZTpvLHVwZGF0ZUxpc3RSZWY6USxyZWZzOkwsbGlzdENvbnRlbnRSZWY6VyxieTpjLGdldEZsb2F0aW5nUHJvcHM6WCxmbG9hdGluZ1N0eWxlczpGLGNvbnRleHQ6eixzZWFyY2hLZXl3b3JkOmssc2V0U2VhcmNoS2V5d29yZDpFLGRpc2FibGVkOmd9fSx1KX07Q20uZGlzcGxheU5hbWU9XCJTZWxlY3QuQnV0dG9uXCIsX20uZGlzcGxheU5hbWU9XCJTZWxlY3QuT3B0aW9uc1wiLFBtLmRpc3BsYXlOYW1lPVwiU2VsZWN0Lkl0ZW1cIixPbS5CdXR0b249Q20sT20uT3B0aW9ucz1fbSxPbS5PcHRpb249UG07dmFyIE5tPU9tLFRtPVtcImlkXCIsXCJtZXNzYWdlXCIsXCJqc3hcIl07ZnVuY3Rpb24gTW0oZSl7cmV0dXJuIE1tPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlP1wic3ltYm9sXCI6dHlwZW9mIGV9LE1tKGUpfWZ1bmN0aW9uIFJtKGUsdCl7dmFyIG49T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYocj1yLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KS5lbnVtZXJhYmxlfSkpKSxuLnB1c2guYXBwbHkobixyKX1yZXR1cm4gbn1mdW5jdGlvbiBEbShlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1udWxsIT1hcmd1bWVudHNbdF0/YXJndW1lbnRzW3RdOnt9O3QlMj9SbShPYmplY3QobiksITApLmZvckVhY2goKGZ1bmN0aW9uKHQpe2ptKGUsdCxuW3RdKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKG4pKTpSbShPYmplY3QobikpLmZvckVhY2goKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuLHQpKX0pKX1yZXR1cm4gZX1mdW5jdGlvbiBqbShlLHQsbil7cmV0dXJuKHQ9SW0odCkpaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1uLGV9ZnVuY3Rpb24gQW0oZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCxcInZhbHVlXCJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsSW0oci5rZXkpLHIpfX1mdW5jdGlvbiBJbShlKXt2YXIgdD1mdW5jdGlvbihlKXtpZihcIm9iamVjdFwiIT1NbShlKXx8IWUpcmV0dXJuIGU7dmFyIHQ9ZVtTeW1ib2wudG9QcmltaXRpdmVdO2lmKHZvaWQgMCE9PXQpe3ZhciBuPXQuY2FsbChlLFwic3RyaW5nXCIpO2lmKFwib2JqZWN0XCIhPU1tKG4pKXJldHVybiBuO3Rocm93IG5ldyBUeXBlRXJyb3IoXCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLlwiKX1yZXR1cm4gU3RyaW5nKGUpfShlKTtyZXR1cm5cInN5bWJvbFwiPT1NbSh0KT90OnQrXCJcIn1mdW5jdGlvbiBMbShlLHQsbil7KGZ1bmN0aW9uKGUsdCl7aWYodC5oYXMoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBpbml0aWFsaXplIHRoZSBzYW1lIHByaXZhdGUgZWxlbWVudHMgdHdpY2Ugb24gYW4gb2JqZWN0XCIpfSkoZSx0KSx0LnNldChlLG4pfWZ1bmN0aW9uIEZtKGUsdCl7cmV0dXJuIGUuZ2V0KEJtKGUsdCkpfWZ1bmN0aW9uIHptKGUsdCxuKXtyZXR1cm4gZS5zZXQoQm0oZSx0KSxuKSxufWZ1bmN0aW9uIEJtKGUsdCxuKXtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBlP2U9PT10OmUuaGFzKHQpKXJldHVybiBhcmd1bWVudHMubGVuZ3RoPDM/dDpuO3Rocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGVsZW1lbnQgaXMgbm90IHByZXNlbnQgb24gdGhpcyBvYmplY3RcIil9dmFyIFdtPTEsVm09bmV3IFdlYWtNYXAsVW09bmV3IFdlYWtNYXAsJG09ZnVuY3Rpb24oKXtyZXR1cm4gZT1mdW5jdGlvbiBlKCl7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX0odGhpcyxlKSxMbSh0aGlzLFZtLHZvaWQgMCksTG0odGhpcyxVbSx2b2lkIDApLHptKFZtLHRoaXMsW10pLHptKFVtLHRoaXMsW10pfSx0PVt7a2V5Olwic3Vic2NyaWJlXCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gRm0oVW0sdGhpcykucHVzaChlKSxmdW5jdGlvbigpe3ptKFVtLHQsRm0oVW0sdCkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PWV9KSkpfX19LHtrZXk6XCJub3RpZnlcIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7Rm0oVW0sdGhpcykuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQoRm0oVm0sZSkpfSkpfX0se2tleTpcInB1Ymxpc2hcIix2YWx1ZTpmdW5jdGlvbihlKXtGbShVbSx0aGlzKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdChlKX0pKX19LHtrZXk6XCJhZGRcIix2YWx1ZTpmdW5jdGlvbihlKXtGbShWbSx0aGlzKS5wdXNoKGUpLHRoaXMucHVibGlzaChlKX19LHtrZXk6XCJyZW1vdmVcIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gem0oVm0sdGhpcyxGbShWbSx0aGlzKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkIT09ZX0pKSksZX19LHtrZXk6XCJjcmVhdGVcIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49ZS5pZCxyPXZvaWQgMD09PW4/dm9pZCAwOm4sbz1lLm1lc3NhZ2UsaT12b2lkIDA9PT1vP1wiXCI6byxzPWUuanN4LGE9dm9pZCAwPT09cz92b2lkIDA6cyxsPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbixyLG89ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPXt9O2Zvcih2YXIgciBpbiBlKWlmKHt9Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSl7aWYodC5pbmNsdWRlcyhyKSljb250aW51ZTtuW3JdPWVbcl19cmV0dXJuIG59KGUsdCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKW49aVtyXSx0LmluY2x1ZGVzKG4pfHx7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsbikmJihvW25dPWVbbl0pfXJldHVybiBvfShlLFRtKTtpZihpfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBhKXt2YXIgYz1cIm51bWJlclwiPT10eXBlb2Ygcj9yOldtKyssdT1GbShWbSx0aGlzKS5maW5kKChmdW5jdGlvbihlKXtyZXR1cm4gZS5pZD09PWN9KSk7cmV0dXJuIHUmJnptKFZtLHRoaXMsRm0oVm0sdGhpcykubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5pZD09PWM/KHQucHVibGlzaChEbShEbSh7fSxlKSx7fSx7dGl0bGU6aSxqc3g6YX0sbCkpLERtKERtKHt9LGUpLHt9LHt0aXRsZTppLGpzeDphfSxsKSk6ZX0pKSksdGhpcy5hZGQoRG0oe2lkOmMsdGl0bGU6aSxqc3g6YX0sbCkpLGN9fX0se2tleTpcInVwZGF0ZVwiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcyxyPXQucmVuZGVyLG89dm9pZCAwPT09cj92b2lkIDA6cixpPXQ7c3dpdGNoKE1tKG8pKXtjYXNlXCJmdW5jdGlvblwiOmk9RG0oe2pzeDpvfSx0KTticmVhaztjYXNlXCJzdHJpbmdcIjppPURtKHt0aXRsZTpvfSx0KX16bShWbSx0aGlzLEZtKFZtLHRoaXMpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWQ9PT1lPyhuLnB1Ymxpc2goRG0oRG0oe30sdCksaSkpLERtKERtKHt9LHQpLGkpKTp0fSkpKX19LHtrZXk6XCJkaXNtaXNzXCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gZXx8Rm0oVm0sdGhpcykuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIEZtKFVtLHQpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiB0KHtpZDplLmlkLGRpc21pc3M6ITB9KX0pKX0pKSxGbShVbSx0aGlzKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdCh7aWQ6ZSxkaXNtaXNzOiEwfSl9KSksZX19LHtrZXk6XCJoaXN0b3J5XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gRm0oVm0sdGhpcyl9fSx7a2V5OlwiZGVmYXVsdFwiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOlwiXCIsdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e307cmV0dXJuIHRoaXMuY3JlYXRlKERtKHttZXNzYWdlOmUsdHlwZTpcIm5ldXRyYWxcIn0sdCkpfX0se2tleTpcInN1Y2Nlc3NcIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTpcIlwiLHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9O3JldHVybiB0aGlzLmNyZWF0ZShEbSh7bWVzc2FnZTplLHR5cGU6XCJzdWNjZXNzXCJ9LHQpKX19LHtrZXk6XCJlcnJvclwiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOlwiXCIsdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e307cmV0dXJuIHRoaXMuY3JlYXRlKERtKHttZXNzYWdlOmUsdHlwZTpcImVycm9yXCJ9LHQpKX19LHtrZXk6XCJ3YXJuaW5nXCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06XCJcIix0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtyZXR1cm4gdGhpcy5jcmVhdGUoRG0oe21lc3NhZ2U6ZSx0eXBlOlwid2FybmluZ1wifSx0KSl9fSx7a2V5OlwiaW5mb1wiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOlwiXCIsdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e307cmV0dXJuIHRoaXMuY3JlYXRlKERtKHttZXNzYWdlOmUsdHlwZTpcImluZm9cIn0sdCkpfX0se2tleTpcImN1c3RvbVwiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOmZ1bmN0aW9uKCl7fSx0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtyZXR1cm4gdGhpcy5jcmVhdGUoRG0oe2pzeDplLHR5cGU6XCJjdXN0b21cIn0sdCkpfX1dLHQmJkFtKGUucHJvdG90eXBlLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwicHJvdG90eXBlXCIse3dyaXRhYmxlOiExfSksZTt2YXIgZSx0fSgpLFltPW5ldyAkbSxIbT1PYmplY3Quc2VhbChPYmplY3QuYXNzaWduKChmdW5jdGlvbihlLHQpe3JldHVybiBZbS5kZWZhdWx0KGUsdCl9KSx7c3VjY2VzczpZbS5zdWNjZXNzLmJpbmQoWW0pLGVycm9yOlltLmVycm9yLmJpbmQoWW0pLHdhcm5pbmc6WW0ud2FybmluZy5iaW5kKFltKSxpbmZvOlltLmluZm8uYmluZChZbSksY3VzdG9tOlltLmN1c3RvbS5iaW5kKFltKSxkaXNtaXNzOlltLmRpc21pc3MuYmluZChZbSksdXBkYXRlOlltLnVwZGF0ZS5iaW5kKFltKX0se2dldEhpc3Rvcnk6WW0uaGlzdG9yeS5iaW5kKFltKX0pKSxLbT0hMSxxbT17XCJ0b3AtbGVmdFwiOlwidG9wLTAgYm90dG9tLTAgbGVmdC0wIGp1c3RpZnktc3RhcnQgaXRlbXMtc3RhcnRcIixcInRvcC1yaWdodFwiOlwidG9wLTAgYm90dG9tLTAgcmlnaHQtMCBqdXN0aWZ5LXN0YXJ0IGl0ZW1zLWVuZFwiLFwiYm90dG9tLWxlZnRcIjpcInRvcC0wIGJvdHRvbS0wIGxlZnQtMCBqdXN0aWZ5LWVuZCBpdGVtcy1zdGFydFwiLFwiYm90dG9tLXJpZ2h0XCI6XCJ0b3AtMCBib3R0b20tMCByaWdodC0wIGp1c3RpZnktZW5kIGl0ZW1zLWVuZFwifSxHbT17bmV1dHJhbDpcImJvcmRlci1hbGVydC1ib3JkZXItbmV1dHJhbCBiZy1hbGVydC1iYWNrZ3JvdW5kLW5ldXRyYWxcIixjdXN0b206XCJib3JkZXItYWxlcnQtYm9yZGVyLW5ldXRyYWwgYmctYWxlcnQtYmFja2dyb3VuZC1uZXV0cmFsXCIsaW5mbzpcImJvcmRlci1hbGVydC1ib3JkZXItaW5mbyBiZy1hbGVydC1iYWNrZ3JvdW5kLWluZm9cIixzdWNjZXNzOlwiYm9yZGVyLWFsZXJ0LWJvcmRlci1ncmVlbiBiZy1hbGVydC1iYWNrZ3JvdW5kLWdyZWVuXCIsd2FybmluZzpcImJvcmRlci1hbGVydC1ib3JkZXItd2FybmluZyBiZy1hbGVydC1iYWNrZ3JvdW5kLXdhcm5pbmdcIixlcnJvcjpcImJvcmRlci1hbGVydC1ib3JkZXItZGFuZ2VyIGJnLWFsZXJ0LWJhY2tncm91bmQtZGFuZ2VyXCJ9LFhtPVwiYmctYmFja2dyb3VuZC1pbnZlcnNlIGJvcmRlci1iYWNrZ3JvdW5kLWludmVyc2VcIixabT17bGlnaHQ6XCJ0ZXh0LWljb24tc2Vjb25kYXJ5XCIsZGFyazpcInRleHQtaWNvbi1pbnZlcnNlXCJ9O2NsYXNzIEptIGV4dGVuZHMgYS5Db21wb25lbnR7Z2V0U25hcHNob3RCZWZvcmVVcGRhdGUoZSl7Y29uc3QgdD10aGlzLnByb3BzLmNoaWxkUmVmLmN1cnJlbnQ7aWYodCYmZS5pc1ByZXNlbnQmJiF0aGlzLnByb3BzLmlzUHJlc2VudCl7Y29uc3QgZT10aGlzLnByb3BzLnNpemVSZWYuY3VycmVudDtlLmhlaWdodD10Lm9mZnNldEhlaWdodHx8MCxlLndpZHRoPXQub2Zmc2V0V2lkdGh8fDAsZS50b3A9dC5vZmZzZXRUb3AsZS5sZWZ0PXQub2Zmc2V0TGVmdH1yZXR1cm4gbnVsbH1jb21wb25lbnREaWRVcGRhdGUoKXt9cmVuZGVyKCl7cmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW59fWZ1bmN0aW9uIFFtKHtjaGlsZHJlbjplLGlzUHJlc2VudDp0fSl7Y29uc3Qgbj0oMCxhLnVzZUlkKSgpLHI9KDAsYS51c2VSZWYpKG51bGwpLG89KDAsYS51c2VSZWYpKHt3aWR0aDowLGhlaWdodDowLHRvcDowLGxlZnQ6MH0pLHtub25jZTppfT0oMCxhLnVzZUNvbnRleHQpKCRkKTtyZXR1cm4oMCxhLnVzZUluc2VydGlvbkVmZmVjdCkoKCgpPT57Y29uc3R7d2lkdGg6ZSxoZWlnaHQ6cyx0b3A6YSxsZWZ0Omx9PW8uY3VycmVudDtpZih0fHwhci5jdXJyZW50fHwhZXx8IXMpcmV0dXJuO3IuY3VycmVudC5kYXRhc2V0Lm1vdGlvblBvcElkPW47Y29uc3QgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7cmV0dXJuIGkmJihjLm5vbmNlPWkpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYyksYy5zaGVldCYmYy5zaGVldC5pbnNlcnRSdWxlKGBcXG4gICAgICAgICAgW2RhdGEtbW90aW9uLXBvcC1pZD1cIiR7bn1cIl0ge1xcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIHdpZHRoOiAke2V9cHggIWltcG9ydGFudDtcXG4gICAgICAgICAgICBoZWlnaHQ6ICR7c31weCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIHRvcDogJHthfXB4ICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgbGVmdDogJHtsfXB4ICFpbXBvcnRhbnQ7XFxuICAgICAgICAgIH1cXG4gICAgICAgIGApLCgpPT57ZG9jdW1lbnQuaGVhZC5yZW1vdmVDaGlsZChjKX19KSxbdF0pLCgwLG11LmpzeCkoSm0se2lzUHJlc2VudDp0LGNoaWxkUmVmOnIsc2l6ZVJlZjpvLGNoaWxkcmVuOmEuY2xvbmVFbGVtZW50KGUse3JlZjpyfSl9KX1jb25zdCBlaD0oe2NoaWxkcmVuOmUsaW5pdGlhbDp0LGlzUHJlc2VudDpuLG9uRXhpdENvbXBsZXRlOnIsY3VzdG9tOm8scHJlc2VuY2VBZmZlY3RzTGF5b3V0OmksbW9kZTpzfSk9Pntjb25zdCBsPXlmKHRoKSxjPSgwLGEudXNlSWQpKCksdT0oMCxhLnVzZU1lbW8pKCgoKT0+KHtpZDpjLGluaXRpYWw6dCxpc1ByZXNlbnQ6bixjdXN0b206byxvbkV4aXRDb21wbGV0ZTplPT57bC5zZXQoZSwhMCk7Zm9yKGNvbnN0IGUgb2YgbC52YWx1ZXMoKSlpZighZSlyZXR1cm47ciYmcigpfSxyZWdpc3RlcjplPT4obC5zZXQoZSwhMSksKCk9PmwuZGVsZXRlKGUpKX0pKSxpP1tNYXRoLnJhbmRvbSgpXTpbbl0pO3JldHVybigwLGEudXNlTWVtbykoKCgpPT57bC5mb3JFYWNoKCgoZSx0KT0+bC5zZXQodCwhMSkpKX0pLFtuXSksYS51c2VFZmZlY3QoKCgpPT57IW4mJiFsLnNpemUmJnImJnIoKX0pLFtuXSksXCJwb3BMYXlvdXRcIj09PXMmJihlPSgwLG11LmpzeCkoUW0se2lzUHJlc2VudDpuLGNoaWxkcmVuOmV9KSksKDAsbXUuanN4KShodS5Qcm92aWRlcix7dmFsdWU6dSxjaGlsZHJlbjplfSl9O2Z1bmN0aW9uIHRoKCl7cmV0dXJuIG5ldyBNYXB9Y29uc3Qgbmg9ZT0+ZS5rZXl8fFwiXCI7ZnVuY3Rpb24gcmgoZSl7Y29uc3QgdD1bXTtyZXR1cm4gYS5DaGlsZHJlbi5mb3JFYWNoKGUsKGU9PnsoMCxhLmlzVmFsaWRFbGVtZW50KShlKSYmdC5wdXNoKGUpfSkpLHR9Y29uc3Qgb2g9KHtjaGlsZHJlbjplLGV4aXRCZWZvcmVFbnRlcjp0LGN1c3RvbTpuLGluaXRpYWw6cj0hMCxvbkV4aXRDb21wbGV0ZTpvLHByZXNlbmNlQWZmZWN0c0xheW91dDppPSEwLG1vZGU6cz1cInN5bmNcIn0pPT57b3MoIXQsXCJSZXBsYWNlIGV4aXRCZWZvcmVFbnRlciB3aXRoIG1vZGU9J3dhaXQnXCIpO2NvbnN0IGw9KDAsYS51c2VNZW1vKSgoKCk9PnJoKGUpKSxbZV0pLGM9bC5tYXAobmgpLHU9KDAsYS51c2VSZWYpKCEwKSxkPSgwLGEudXNlUmVmKShsKSxmPXlmKCgoKT0+bmV3IE1hcCkpLFttLGhdPSgwLGEudXNlU3RhdGUpKGwpLFtwLGddPSgwLGEudXNlU3RhdGUpKGwpO0tkKCgoKT0+e3UuY3VycmVudD0hMSxkLmN1cnJlbnQ9bDtmb3IobGV0IGU9MDtlPHAubGVuZ3RoO2UrKyl7Y29uc3QgdD1uaChwW2VdKTtjLmluY2x1ZGVzKHQpP2YuZGVsZXRlKHQpOiEwIT09Zi5nZXQodCkmJmYuc2V0KHQsITEpfX0pLFtwLGMubGVuZ3RoLGMuam9pbihcIi1cIildKTtjb25zdCB5PVtdO2lmKGwhPT1tKXtsZXQgZT1bLi4ubF07Zm9yKGxldCB0PTA7dDxwLmxlbmd0aDt0Kyspe2NvbnN0IG49cFt0XSxyPW5oKG4pO2MuaW5jbHVkZXMocil8fChlLnNwbGljZSh0LDAsbikseS5wdXNoKG4pKX1yZXR1cm5cIndhaXRcIj09PXMmJnkubGVuZ3RoJiYoZT15KSxnKHJoKGUpKSx2b2lkIGgobCl9Y29uc3R7Zm9yY2VSZW5kZXI6dn09KDAsYS51c2VDb250ZXh0KShwdSk7cmV0dXJuKDAsbXUuanN4KShtdS5GcmFnbWVudCx7Y2hpbGRyZW46cC5tYXAoKGU9Pntjb25zdCB0PW5oKGUpLGE9bD09PXB8fGMuaW5jbHVkZXModCk7cmV0dXJuKDAsbXUuanN4KShlaCx7aXNQcmVzZW50OmEsaW5pdGlhbDohKHUuY3VycmVudCYmIXIpJiZ2b2lkIDAsY3VzdG9tOmE/dm9pZCAwOm4scHJlc2VuY2VBZmZlY3RzTGF5b3V0OmksbW9kZTpzLG9uRXhpdENvbXBsZXRlOmE/dm9pZCAwOigpPT57aWYoIWYuaGFzKHQpKXJldHVybjtmLnNldCh0LCEwKTtsZXQgZT0hMDtmLmZvckVhY2goKHQ9Pnt0fHwoZT0hMSl9KSksZSYmKG51bGw9PXZ8fHYoKSxnKGQuY3VycmVudCksbyYmbygpKX0sY2hpbGRyZW46ZX0sdCl9KSl9KX07ZnVuY3Rpb24gaWgoZSl7cmV0dXJuIGloPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlP1wic3ltYm9sXCI6dHlwZW9mIGV9LGloKGUpfWZ1bmN0aW9uIHNoKGUsdCl7dmFyIG49T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYocj1yLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KS5lbnVtZXJhYmxlfSkpKSxuLnB1c2guYXBwbHkobixyKX1yZXR1cm4gbn1mdW5jdGlvbiBhaChlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1udWxsIT1hcmd1bWVudHNbdF0/YXJndW1lbnRzW3RdOnt9O3QlMj9zaChPYmplY3QobiksITApLmZvckVhY2goKGZ1bmN0aW9uKHQpe2xoKGUsdCxuW3RdKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKG4pKTpzaChPYmplY3QobikpLmZvckVhY2goKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuLHQpKX0pKX1yZXR1cm4gZX1mdW5jdGlvbiBsaChlLHQsbil7cmV0dXJuKHQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7aWYoXCJvYmplY3RcIiE9aWgoZSl8fCFlKXJldHVybiBlO3ZhciB0PWVbU3ltYm9sLnRvUHJpbWl0aXZlXTtpZih2b2lkIDAhPT10KXt2YXIgbj10LmNhbGwoZSxcInN0cmluZ1wiKTtpZihcIm9iamVjdFwiIT1paChuKSlyZXR1cm4gbjt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS5cIil9cmV0dXJuIFN0cmluZyhlKX0oZSk7cmV0dXJuXCJzeW1ib2xcIj09aWgodCk/dDp0K1wiXCJ9KHQpKWluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6bixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbdF09bixlfWZ1bmN0aW9uIGNoKGUsdCl7aWYoZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpcmV0dXJuIHVoKGUsdCk7dmFyIG49e30udG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTtyZXR1cm5cIk9iamVjdFwiPT09biYmZS5jb25zdHJ1Y3RvciYmKG49ZS5jb25zdHJ1Y3Rvci5uYW1lKSxcIk1hcFwiPT09bnx8XCJTZXRcIj09PW4/QXJyYXkuZnJvbShlKTpcIkFyZ3VtZW50c1wiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/dWgoZSx0KTp2b2lkIDB9fWZ1bmN0aW9uIHVoKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1BcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgZGgsZmg9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50b2FzdEl0ZW0sbj1lLnRpdGxlLHI9dm9pZCAwPT09bj9udWxsOm4sbz1lLmNvbnRlbnQsaT12b2lkIDA9PT1vP251bGw6byxzPWUuYXV0b0Rpc21pc3MsbD12b2lkIDA9PT1zfHxzLGM9ZS5kaXNtaXNzQWZ0ZXIsdT12b2lkIDA9PT1jPzVlMzpjLGQ9ZS50aGVtZSxmPXZvaWQgMD09PWQ/XCJsaWdodFwiOmQsbT1lLmRlc2lnbixoPXZvaWQgMD09PW0/XCJzdGFja1wiOm0scD1lLmljb24sZz12b2lkIDA9PT1wP251bGw6cCx5PWUudmFyaWFudCx2PXZvaWQgMD09PXk/XCJuZXV0cmFsXCI6eSxiPWUucmVtb3ZlVG9hc3QseD0oMCxhLnVzZVJlZikoMCksdz0oMCxhLnVzZVJlZikoMCksUz0oMCxhLnVzZVJlZikoMCksaz1mdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06dTtpZihsJiYhKHU8MCkpcmV0dXJuIHguY3VycmVudD0obmV3IERhdGUpLmdldFRpbWUoKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2IoZS5pZCl9KSx0KX07KDAsYS51c2VFZmZlY3QpKChmdW5jdGlvbigpe3ZhciBlPXU7cmV0dXJuIFMuY3VycmVudD1rKHQsZSksZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoUy5jdXJyZW50KX19KSxbXSksKDAsYS51c2VFZmZlY3QpKChmdW5jdGlvbigpe251bGwhPXQmJnQuZGlzbWlzcyYmYih0LmlkKX0pLFt0XSk7dmFyIEUsQyxfLFAsTyxOLFQsTSxSLEQsaj1mdW5jdGlvbigpe3ZhciBlLG47bnVsbD09dHx8bnVsbD09PShlPXQuYWN0aW9uKXx8dm9pZCAwPT09ZXx8bnVsbD09PShuPWUub25DbGljayl8fHZvaWQgMD09PW58fG4uY2FsbChlLChmdW5jdGlvbigpe3JldHVybiBiKHQuaWQpfSkpfSxBPW51bGw7cmV0dXJuXCJzdGFja1wiPT09aCYmKEE9UmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LXN0YXJ0IHAtNCBnYXAtMiByZWxhdGl2ZSBib3JkZXIgYm9yZGVyLXNvbGlkIHJvdW5kZWQtbWQgc2hhZG93LWxnXCIsXCJkYXJrXCI9PT1mP1htOm51bGw9PT0oRT1HbSl8fHZvaWQgMD09PUU/dm9pZCAwOkVbdl0sXCJ3LVsyMi41cmVtXVwiKSxvbk1vdXNlRW50ZXI6ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoUy5jdXJyZW50KSx3LmN1cnJlbnQ9KG5ldyBEYXRlKS5nZXRUaW1lKCl9LG9uTW91c2VMZWF2ZTpmdW5jdGlvbigpe1MuY3VycmVudD1rKHQsdS0ody5jdXJyZW50LXguY3VycmVudCkpfX0sXCJjdXN0b21cIiE9PXQudHlwZT9SZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LG51bGwsUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6XCJzZWxmLXN0YXJ0IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIFsmX3N2Z106c2l6ZS01IHNocmluay0wXCJ9LFNvKHt2YXJpYW50OnYsaWNvbjpnLHRoZW1lOmZ9KSksUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6XCJmbGV4IGZsZXgtY29sIGl0ZW1zLXN0YXJ0IGp1c3RpZnktc3RhcnQgZ2FwLTAuNVwifSxFbyh7dGl0bGU6cix0aGVtZTpmfSksQ28oe2NvbnRlbnQ6aSx0aGVtZTpmfSksKG51bGw9PXR8fG51bGw9PT0oQz10LmFjdGlvbil8fHZvaWQgMD09PUM/dm9pZCAwOkMubGFiZWwpJiZcImZ1bmN0aW9uXCI9PXR5cGVvZihudWxsPT10fHxudWxsPT09KF89dC5hY3Rpb24pfHx2b2lkIDA9PT1fP3ZvaWQgMDpfLm9uQ2xpY2spJiZSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcIm10LTIuNVwifSxrbyh7YWN0aW9uTGFiZWw6bnVsbD09dHx8bnVsbD09PShQPXQuYWN0aW9uKXx8dm9pZCAwPT09UD92b2lkIDA6UC5sYWJlbCxhY3Rpb25UeXBlOm51bGwhPT0oTz1udWxsPT10fHxudWxsPT09KE49dC5hY3Rpb24pfHx2b2lkIDA9PT1OP3ZvaWQgMDpOLnR5cGUpJiZ2b2lkIDAhPT1PP086XCJidXR0b25cIixvbkFjdGlvbjpqLHRoZW1lOmZ9KSkpLFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwiYWJzb2x1dGUgcmlnaHQtNCB0b3AtNCBbJl9zdmddOnNpemUtNVwifSxSZWFjdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIse2NsYXNzTmFtZTpvZShcImJnLXRyYW5zcGFyZW50IG0tMCBwLTAgYm9yZGVyLW5vbmUgZm9jdXM6b3V0bGluZS1ub25lIGFjdGl2ZTpvdXRsaW5lLW5vbmUgY3Vyc29yLXBvaW50ZXJcIixudWxsIT09KFQ9Wm1bZl0pJiZ2b2lkIDAhPT1UP1Q6Wm0ubGlnaHQpLG9uQ2xpY2s6ZnVuY3Rpb24oKXtyZXR1cm4gYih0LmlkKX19LFJlYWN0LmNyZWF0ZUVsZW1lbnQocW8sbnVsbCkpKSk6bnVsbD09dHx8bnVsbD09PShNPXQuanN4KXx8dm9pZCAwPT09TT92b2lkIDA6TS5jYWxsKHQse2Nsb3NlOmZ1bmN0aW9uKCl7cmV0dXJuIGIodC5pZCl9LGFjdGlvbjpudWxsIT10JiZ0LmFjdGlvbj9haChhaCh7fSxudWxsPT10P3ZvaWQgMDp0LmFjdGlvbikse30se29uQ2xpY2s6an0pOm51bGx9KSkpLFwiaW5saW5lXCI9PT1oJiYoQT1SZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktc3RhcnQgcC0zIGdhcC0yIHJlbGF0aXZlIGJvcmRlciBib3JkZXItc29saWQgcm91bmRlZC1tZCBzaGFkb3ctbGdcIixcImRhcmtcIj09PWY/WG06bnVsbD09PShSPUdtKXx8dm9pZCAwPT09Uj92b2lkIDA6Ult2XSxcImxnOnctWzQ3LjVyZW1dIHctZnVsbFwiKX0sUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6XCJzZWxmLXN0YXJ0IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIFsmX3N2Z106c2l6ZS01IHNocmluay0wXCJ9LFNvKHt2YXJpYW50OnYsaWNvbjpnLHRoZW1lOmZ9KSksUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6XCJmbGV4IGl0ZW1zLXN0YXJ0IGp1c3RpZnktc3RhcnQgZ2FwLTEgbXItMTAgWyY+c3BhbjpmaXJzdC1jaGlsZF06c2hyaW5rLTBcIn0sRW8oe3RpdGxlOnIsdGhlbWU6Zn0pLENvKHtjb250ZW50OmksdGhlbWU6Zn0pKSxSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcImFic29sdXRlIHJpZ2h0LTMgdG9wLTMgWyZfc3ZnXTpzaXplLTVcIn0sUmVhY3QuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLHtjbGFzc05hbWU6b2UoXCJiZy10cmFuc3BhcmVudCBtLTAgcC0wIGJvcmRlci1ub25lIGZvY3VzOm91dGxpbmUtbm9uZSBhY3RpdmU6b3V0bGluZS1ub25lIGN1cnNvci1wb2ludGVyXCIsbnVsbCE9PShEPVptW2ZdKSYmdm9pZCAwIT09RD9EOlptLmxpZ2h0KSxvbkNsaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGIodC5pZCl9fSxSZWFjdC5jcmVhdGVFbGVtZW50KHFvLG51bGwpKSkpKSxBfSxtaD0oZGg9ZnVuY3Rpb24oZSl7dmFyIHQsbixyLG89ZS5wb3NpdGlvbixpPXZvaWQgMD09PW8/XCJ0b3AtcmlnaHRcIjpvLHM9ZS5kZXNpZ24sbD12b2lkIDA9PT1zP1wic3RhY2tcIjpzLGM9ZS50aGVtZSx1PXZvaWQgMD09PWM/XCJsaWdodFwiOmMsZD1lLmNsYXNzTmFtZSxmPXZvaWQgMD09PWQ/XCJcIjpkLG09ZS5hdXRvRGlzbWlzcyxoPXZvaWQgMD09PW18fG0scD1lLmRpc21pc3NBZnRlcixnPXZvaWQgMD09PXA/NWUzOnAseT0obj0oMCxhLnVzZVN0YXRlKShbXSkscj0yLGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KG4pfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDpcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbXCJAQGl0ZXJhdG9yXCJdO2lmKG51bGwhPW4pe3ZhciByLG8saSxzLGE9W10sbD0hMCxjPSExO3RyeXtpZihpPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47bD0hMX1lbHNlIGZvcig7IShsPShyPWkuY2FsbChuKSkuZG9uZSkmJihhLnB1c2goci52YWx1ZSksYS5sZW5ndGghPT10KTtsPSEwKTt9Y2F0Y2goZSl7Yz0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWwmJm51bGwhPW4ucmV0dXJuJiYocz1uLnJldHVybigpLE9iamVjdChzKSE9PXMpKXJldHVybn1maW5hbGx5e2lmKGMpdGhyb3cgb319cmV0dXJuIGF9fShuLHIpfHxjaChuLHIpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIil9KCkpLHY9eVswXSxiPXlbMV07KDAsYS51c2VFZmZlY3QpKChmdW5jdGlvbigpe1ltLnN1YnNjcmliZSgoZnVuY3Rpb24oZSl7bnVsbCE9ZSYmZS5kaXNtaXNzP2IoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWQ9PT1lLmlkP2FoKGFoKHt9LHQpLHt9LHtkaXNtaXNzOiEwfSk6dH0pKX0pKTpzZXRUaW1lb3V0KChmdW5jdGlvbigpeygwLHRuLmZsdXNoU3luYykoKGZ1bmN0aW9uKCl7cmV0dXJuIGIoKGZ1bmN0aW9uKHQpe3JldHVybi0xIT09dC5maW5kSW5kZXgoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09ZS5pZH0pKT90Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWQ9PT1lLmlkP2FoKGFoKHt9LHQpLGUpOnR9KSk6W10uY29uY2F0KGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiB1aChlKX0oZSl8fGZ1bmN0aW9uKGUpe2lmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPWVbU3ltYm9sLml0ZXJhdG9yXXx8bnVsbCE9ZVtcIkBAaXRlcmF0b3JcIl0pcmV0dXJuIEFycmF5LmZyb20oZSl9KGUpfHxjaChlKXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKX0odCksW2VdKX0pKX0pKX0pKX0pKX0pLFtdKTt2YXIgeD1mdW5jdGlvbihlKXtiKChmdW5jdGlvbih0KXtyZXR1cm4gdC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkIT09ZX0pKX0pKX07cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ1bFwiLHtjbGFzc05hbWU6b2UoXCJmaXhlZCBmbGV4IGZsZXgtY29sIGxpc3Qtbm9uZSB6LTIwIHAtMTAgcG9pbnRlci1ldmVudHMtbm9uZSBbJj5saV06cG9pbnRlci1ldmVudHMtYXV0byBnYXAtM1wiLG51bGwhPT0odD1xbVtpXSkmJnZvaWQgMCE9PXQ/dDpxbVtcInRvcC1yaWdodFwiXSxmKX0sUmVhY3QuY3JlYXRlRWxlbWVudChvaCx7aW5pdGlhbDohMX0sdi5tYXAoKGZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGk7cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoZW0ubGkse2tleTplLmlkLHBvc2l0aW9uVHJhbnNpdGlvbjohMCxpbml0aWFsOntvcGFjaXR5OjAseTo1MCxzY2FsZTouN30sYW5pbWF0ZTp7b3BhY2l0eToxLHk6MCxzY2FsZToxfSxleGl0OntvcGFjaXR5OjAsc2NhbGU6LjYsdHJhbnNpdGlvbjp7ZHVyYXRpb246LjE1fX0sbGF5b3V0SWQ6XCJ0b2FzdC1cIi5jb25jYXQoZS5pZCl9LFJlYWN0LmNyZWF0ZUVsZW1lbnQoZmgse3RvYXN0SXRlbTplLHRpdGxlOmUudGl0bGUsY29udGVudDpudWxsPT1lP3ZvaWQgMDplLmRlc2NyaXB0aW9uLGljb246bnVsbCE9PSh0PW51bGw9PWU/dm9pZCAwOmUuaWNvbikmJnZvaWQgMCE9PXQ/dDpudWxsLGRlc2lnbjpudWxsIT09KG49bnVsbD09ZT92b2lkIDA6ZS5kZXNpZ24pJiZ2b2lkIDAhPT1uP246bCxhdXRvRGlzbWlzczpudWxsIT09KHI9bnVsbD09ZT92b2lkIDA6ZS5hdXRvRGlzbWlzcykmJnZvaWQgMCE9PXI/cjpoLGRpc21pc3NBZnRlcjpudWxsIT09KG89bnVsbD09ZT92b2lkIDA6ZS5kaXNtaXNzQWZ0ZXIpJiZ2b2lkIDAhPT1vP286ZyxyZW1vdmVUb2FzdDp4LHZhcmlhbnQ6ZS50eXBlLHRoZW1lOm51bGwhPT0oaT1udWxsPT1lP3ZvaWQgMDplLnRoZW1lKSYmdm9pZCAwIT09aT9pOnV9KSl9KSkpKX0sKDAsYS5tZW1vKSgoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zaW5nbGVUb247cmV0dXJuIEttJiZ0P251bGw6KEttPSEwLFJlYWN0LmNyZWF0ZUVsZW1lbnQoZGgsZSkpfSkpKSxoaD17c206ezE6XCJncmlkLWNvbHMtMVwiLDI6XCJncmlkLWNvbHMtMlwiLDM6XCJncmlkLWNvbHMtM1wiLDQ6XCJncmlkLWNvbHMtNFwiLDU6XCJncmlkLWNvbHMtNVwiLDY6XCJncmlkLWNvbHMtNlwiLDc6XCJncmlkLWNvbHMtN1wiLDg6XCJncmlkLWNvbHMtOFwiLDk6XCJncmlkLWNvbHMtOVwiLDEwOlwiZ3JpZC1jb2xzLTEwXCIsMTE6XCJncmlkLWNvbHMtMTFcIiwxMjpcImdyaWQtY29scy0xMlwifSxtZDp7MTpcIm1kOmdyaWQtY29scy0xXCIsMjpcIm1kOmdyaWQtY29scy0yXCIsMzpcIm1kOmdyaWQtY29scy0zXCIsNDpcIm1kOmdyaWQtY29scy00XCIsNTpcIm1kOmdyaWQtY29scy01XCIsNjpcIm1kOmdyaWQtY29scy02XCIsNzpcIm1kOmdyaWQtY29scy03XCIsODpcIm1kOmdyaWQtY29scy04XCIsOTpcIm1kOmdyaWQtY29scy05XCIsMTA6XCJtZDpncmlkLWNvbHMtMTBcIiwxMTpcIm1kOmdyaWQtY29scy0xMVwiLDEyOlwibWQ6Z3JpZC1jb2xzLTEyXCJ9LGxnOnsxOlwibGc6Z3JpZC1jb2xzLTFcIiwyOlwibGc6Z3JpZC1jb2xzLTJcIiwzOlwibGc6Z3JpZC1jb2xzLTNcIiw0OlwibGc6Z3JpZC1jb2xzLTRcIiw1OlwibGc6Z3JpZC1jb2xzLTVcIiw2OlwibGc6Z3JpZC1jb2xzLTZcIiw3OlwibGc6Z3JpZC1jb2xzLTdcIiw4OlwibGc6Z3JpZC1jb2xzLThcIiw5OlwibGc6Z3JpZC1jb2xzLTlcIiwxMDpcImxnOmdyaWQtY29scy0xMFwiLDExOlwibGc6Z3JpZC1jb2xzLTExXCIsMTI6XCJsZzpncmlkLWNvbHMtMTJcIn19LHBoPXtzbTp7eHM6XCJnYXAtMlwiLHNtOlwiZ2FwLTRcIixtZDpcImdhcC01XCIsbGc6XCJnYXAtNlwiLHhsOlwiZ2FwLTZcIixcIjJ4bFwiOlwiZ2FwLThcIn0sbWQ6e3hzOlwibWQ6Z2FwLTJcIixzbTpcIm1kOmdhcC00XCIsbWQ6XCJtZDpnYXAtNVwiLGxnOlwibWQ6Z2FwLTZcIix4bDpcIm1kOmdhcC02XCIsXCIyeGxcIjpcIm1kOmdhcC04XCJ9LGxnOnt4czpcImxnOmdhcC0yXCIsc206XCJsZzpnYXAtNFwiLG1kOlwibGc6Z2FwLTVcIixsZzpcImxnOmdhcC02XCIseGw6XCJsZzpnYXAtNlwiLFwiMnhsXCI6XCJsZzpnYXAtOFwifX0sZ2g9e3NtOnt4czpcImdhcC14LTJcIixzbTpcImdhcC14LTRcIixtZDpcImdhcC14LTVcIixsZzpcImdhcC14LTZcIix4bDpcImdhcC14LTZcIixcIjJ4bFwiOlwiZ2FwLXgtOFwifSxtZDp7eHM6XCJtZDpnYXAteC0yXCIsc206XCJtZDpnYXAteC00XCIsbWQ6XCJtZDpnYXAteC01XCIsbGc6XCJtZDpnYXAteC02XCIseGw6XCJtZDpnYXAteC02XCIsXCIyeGxcIjpcIm1kOmdhcC14LThcIn0sbGc6e3hzOlwibGc6Z2FwLXgtMlwiLHNtOlwibGc6Z2FwLXgtNFwiLG1kOlwibGc6Z2FwLXgtNVwiLGxnOlwibGc6Z2FwLXgtNlwiLHhsOlwibGc6Z2FwLXgtNlwiLFwiMnhsXCI6XCJsZzpnYXAteC04XCJ9fSx5aD17c206e3hzOlwiZ2FwLXktMlwiLHNtOlwiZ2FwLXktNFwiLG1kOlwiZ2FwLXktNVwiLGxnOlwiZ2FwLXktNlwiLHhsOlwiZ2FwLXktNlwiLFwiMnhsXCI6XCJnYXAteS04XCJ9LG1kOnt4czpcIm1kOmdhcC15LTJcIixzbTpcIm1kOmdhcC15LTRcIixtZDpcIm1kOmdhcC15LTVcIixsZzpcIm1kOmdhcC15LTZcIix4bDpcIm1kOmdhcC15LTZcIixcIjJ4bFwiOlwibWQ6Z2FwLXktOFwifSxsZzp7eHM6XCJsZzpnYXAteS0yXCIsc206XCJsZzpnYXAteS00XCIsbWQ6XCJsZzpnYXAteS01XCIsbGc6XCJsZzpnYXAteS02XCIseGw6XCJsZzpnYXAteS02XCIsXCIyeGxcIjpcImxnOmdhcC15LThcIn19LHZoPXtzbTp7MTpcImNvbC1zcGFuLTFcIiwyOlwiY29sLXNwYW4tMlwiLDM6XCJjb2wtc3Bhbi0zXCIsNDpcImNvbC1zcGFuLTRcIiw1OlwiY29sLXNwYW4tNVwiLDY6XCJjb2wtc3Bhbi02XCIsNzpcImNvbC1zcGFuLTdcIiw4OlwiY29sLXNwYW4tOFwiLDk6XCJjb2wtc3Bhbi05XCIsMTA6XCJjb2wtc3Bhbi0xMFwiLDExOlwiY29sLXNwYW4tMTFcIiwxMjpcImNvbC1zcGFuLTEyXCJ9LG1kOnsxOlwibWQ6Y29sLXNwYW4tMVwiLDI6XCJtZDpjb2wtc3Bhbi0yXCIsMzpcIm1kOmNvbC1zcGFuLTNcIiw0OlwibWQ6Y29sLXNwYW4tNFwiLDU6XCJtZDpjb2wtc3Bhbi01XCIsNjpcIm1kOmNvbC1zcGFuLTZcIiw3OlwibWQ6Y29sLXNwYW4tN1wiLDg6XCJtZDpjb2wtc3Bhbi04XCIsOTpcIm1kOmNvbC1zcGFuLTlcIiwxMDpcIm1kOmNvbC1zcGFuLTEwXCIsMTE6XCJtZDpjb2wtc3Bhbi0xMVwiLDEyOlwibWQ6Y29sLXNwYW4tMTJcIn0sbGc6ezE6XCJsZzpjb2wtc3Bhbi0xXCIsMjpcImxnOmNvbC1zcGFuLTJcIiwzOlwibGc6Y29sLXNwYW4tM1wiLDQ6XCJsZzpjb2wtc3Bhbi00XCIsNTpcImxnOmNvbC1zcGFuLTVcIiw2OlwibGc6Y29sLXNwYW4tNlwiLDc6XCJsZzpjb2wtc3Bhbi03XCIsODpcImxnOmNvbC1zcGFuLThcIiw5OlwibGc6Y29sLXNwYW4tOVwiLDEwOlwibGc6Y29sLXNwYW4tMTBcIiwxMTpcImxnOmNvbC1zcGFuLTExXCIsMTI6XCJsZzpjb2wtc3Bhbi0xMlwifX0sYmg9e3NtOnsxOlwiY29sLXN0YXJ0LTFcIiwyOlwiY29sLXN0YXJ0LTJcIiwzOlwiY29sLXN0YXJ0LTNcIiw0OlwiY29sLXN0YXJ0LTRcIiw1OlwiY29sLXN0YXJ0LTVcIiw2OlwiY29sLXN0YXJ0LTZcIiw3OlwiY29sLXN0YXJ0LTdcIiw4OlwiY29sLXN0YXJ0LThcIiw5OlwiY29sLXN0YXJ0LTlcIiwxMDpcImNvbC1zdGFydC0xMFwiLDExOlwiY29sLXN0YXJ0LTExXCIsMTI6XCJjb2wtc3RhcnQtMTJcIn0sbWQ6ezE6XCJtZDpjb2wtc3RhcnQtMVwiLDI6XCJtZDpjb2wtc3RhcnQtMlwiLDM6XCJtZDpjb2wtc3RhcnQtM1wiLDQ6XCJtZDpjb2wtc3RhcnQtNFwiLDU6XCJtZDpjb2wtc3RhcnQtNVwiLDY6XCJtZDpjb2wtc3RhcnQtNlwiLDc6XCJtZDpjb2wtc3RhcnQtN1wiLDg6XCJtZDpjb2wtc3RhcnQtOFwiLDk6XCJtZDpjb2wtc3RhcnQtOVwiLDEwOlwibWQ6Y29sLXN0YXJ0LTEwXCIsMTE6XCJtZDpjb2wtc3RhcnQtMTFcIiwxMjpcIm1kOmNvbC1zdGFydC0xMlwifSxsZzp7MTpcImxnOmNvbC1zdGFydC0xXCIsMjpcImxnOmNvbC1zdGFydC0yXCIsMzpcImxnOmNvbC1zdGFydC0zXCIsNDpcImxnOmNvbC1zdGFydC00XCIsNTpcImxnOmNvbC1zdGFydC01XCIsNjpcImxnOmNvbC1zdGFydC02XCIsNzpcImxnOmNvbC1zdGFydC03XCIsODpcImxnOmNvbC1zdGFydC04XCIsOTpcImxnOmNvbC1zdGFydC05XCIsMTA6XCJsZzpjb2wtc3RhcnQtMTBcIiwxMTpcImxnOmNvbC1zdGFydC0xMVwiLDEyOlwibGc6Y29sLXN0YXJ0LTEyXCJ9fSx4aD17c206e3JvdzpcImdyaWQtZmxvdy1yb3dcIixjb2x1bW46XCJncmlkLWZsb3ctY29sXCIsXCJyb3ctZGVuc2VcIjpcImdyaWQtZmxvdy1yb3ctZGVuc2VcIixcImNvbHVtbi1kZW5zZVwiOlwiZ3JpZC1mbG93LWNvbC1kZW5zZVwifSxtZDp7cm93OlwibWQ6Z3JpZC1mbG93LXJvd1wiLGNvbHVtbjpcIm1kOmdyaWQtZmxvdy1jb2xcIixcInJvdy1kZW5zZVwiOlwibWQ6Z3JpZC1mbG93LXJvdy1kZW5zZVwiLFwiY29sdW1uLWRlbnNlXCI6XCJtZDpncmlkLWZsb3ctY29sLWRlbnNlXCJ9LGxnOntyb3c6XCJsZzpncmlkLWZsb3ctcm93XCIsY29sdW1uOlwibGc6Z3JpZC1mbG93LWNvbFwiLFwicm93LWRlbnNlXCI6XCJsZzpncmlkLWZsb3ctcm93LWRlbnNlXCIsXCJjb2x1bW4tZGVuc2VcIjpcImxnOmdyaWQtZmxvdy1jb2wtZGVuc2VcIn19LHdoPXtzbTp7bm9ybWFsOlwianVzdGlmeS1ub3JtYWxcIixzdGFydDpcImp1c3RpZnktc3RhcnRcIixlbmQ6XCJqdXN0aWZ5LWVuZFwiLGNlbnRlcjpcImp1c3RpZnktY2VudGVyXCIsYmV0d2VlbjpcImp1c3RpZnktYmV0d2VlblwiLGFyb3VuZDpcImp1c3RpZnktYXJvdW5kXCIsZXZlbmx5OlwianVzdGlmeS1ldmVubHlcIixzdHJldGNoOlwianVzdGlmeS1zdHJldGNoXCJ9LG1kOntub3JtYWw6XCJtZDpqdXN0aWZ5LW5vcm1hbFwiLHN0YXJ0OlwibWQ6anVzdGlmeS1zdGFydFwiLGVuZDpcIm1kOmp1c3RpZnktZW5kXCIsY2VudGVyOlwibWQ6anVzdGlmeS1jZW50ZXJcIixiZXR3ZWVuOlwibWQ6anVzdGlmeS1iZXR3ZWVuXCIsYXJvdW5kOlwibWQ6anVzdGlmeS1hcm91bmRcIixldmVubHk6XCJtZDpqdXN0aWZ5LWV2ZW5seVwiLHN0cmV0Y2g6XCJtZDpqdXN0aWZ5LXN0cmV0Y2hcIn0sbGc6e25vcm1hbDpcImxnOmp1c3RpZnktbm9ybWFsXCIsc3RhcnQ6XCJsZzpqdXN0aWZ5LXN0YXJ0XCIsZW5kOlwibGc6anVzdGlmeS1lbmRcIixjZW50ZXI6XCJsZzpqdXN0aWZ5LWNlbnRlclwiLGJldHdlZW46XCJsZzpqdXN0aWZ5LWJldHdlZW5cIixhcm91bmQ6XCJsZzpqdXN0aWZ5LWFyb3VuZFwiLGV2ZW5seTpcImxnOmp1c3RpZnktZXZlbmx5XCIsc3RyZXRjaDpcImxnOmp1c3RpZnktc3RyZXRjaFwifX0sU2g9e3NtOntzdGFydDpcIml0ZW1zLXN0YXJ0XCIsZW5kOlwiaXRlbXMtZW5kXCIsY2VudGVyOlwiaXRlbXMtY2VudGVyXCIsYmFzZWxpbmU6XCJpdGVtcy1iYXNlbGluZVwiLHN0cmV0Y2g6XCJpdGVtcy1zdHJldGNoXCJ9LG1kOntzdGFydDpcIm1kOml0ZW1zLXN0YXJ0XCIsZW5kOlwibWQ6aXRlbXMtZW5kXCIsY2VudGVyOlwibWQ6aXRlbXMtY2VudGVyXCIsYmFzZWxpbmU6XCJtZDppdGVtcy1iYXNlbGluZVwiLHN0cmV0Y2g6XCJtZDppdGVtcy1zdHJldGNoXCJ9LGxnOntzdGFydDpcImxnOml0ZW1zLXN0YXJ0XCIsZW5kOlwibGc6aXRlbXMtZW5kXCIsY2VudGVyOlwibGc6aXRlbXMtY2VudGVyXCIsYmFzZWxpbmU6XCJsZzppdGVtcy1iYXNlbGluZVwiLHN0cmV0Y2g6XCJsZzppdGVtcy1zdHJldGNoXCJ9fSxraD17c206e3N0YXJ0Olwic2VsZi1zdGFydFwiLGVuZDpcInNlbGYtZW5kXCIsY2VudGVyOlwic2VsZi1jZW50ZXJcIixiYXNlbGluZTpcInNlbGYtYmFzZWxpbmVcIixzdHJldGNoOlwic2VsZi1zdHJldGNoXCJ9LG1kOntzdGFydDpcIm1kOnNlbGYtc3RhcnRcIixlbmQ6XCJtZDpzZWxmLWVuZFwiLGNlbnRlcjpcIm1kOnNlbGYtY2VudGVyXCIsYmFzZWxpbmU6XCJtZDpzZWxmLWJhc2VsaW5lXCIsc3RyZXRjaDpcIm1kOnNlbGYtc3RyZXRjaFwifSxsZzp7c3RhcnQ6XCJsZzpzZWxmLXN0YXJ0XCIsZW5kOlwibGc6c2VsZi1lbmRcIixjZW50ZXI6XCJsZzpzZWxmLWNlbnRlclwiLGJhc2VsaW5lOlwibGc6c2VsZi1iYXNlbGluZVwiLHN0cmV0Y2g6XCJsZzpzZWxmLXN0cmV0Y2hcIn19LEVoPXtzbTp7YXV0bzpcImp1c3RpZnktc2VsZi1hdXRvXCIsc3RhcnQ6XCJqdXN0aWZ5LXNlbGYtc3RhcnRcIixlbmQ6XCJqdXN0aWZ5LXNlbGYtZW5kXCIsY2VudGVyOlwianVzdGlmeS1zZWxmLWNlbnRlclwiLGJhc2VsaW5lOlwianVzdGlmeS1zZWxmLWJhc2VsaW5lXCIsc3RyZXRjaDpcImp1c3RpZnktc2VsZi1zdHJldGNoXCJ9LG1kOnthdXRvOlwibWQ6anVzdGlmeS1zZWxmLWF1dG9cIixzdGFydDpcIm1kOmp1c3RpZnktc2VsZi1zdGFydFwiLGVuZDpcIm1kOmp1c3RpZnktc2VsZi1lbmRcIixjZW50ZXI6XCJtZDpqdXN0aWZ5LXNlbGYtY2VudGVyXCIsYmFzZWxpbmU6XCJtZDpqdXN0aWZ5LXNlbGYtYmFzZWxpbmVcIixzdHJldGNoOlwibWQ6anVzdGlmeS1zZWxmLXN0cmV0Y2hcIn0sbGc6e2F1dG86XCJsZzpqdXN0aWZ5LXNlbGYtYXV0b1wiLHN0YXJ0OlwibGc6anVzdGlmeS1zZWxmLXN0YXJ0XCIsZW5kOlwibGc6anVzdGlmeS1zZWxmLWVuZFwiLGNlbnRlcjpcImxnOmp1c3RpZnktc2VsZi1jZW50ZXJcIixiYXNlbGluZTpcImxnOmp1c3RpZnktc2VsZi1iYXNlbGluZVwiLHN0cmV0Y2g6XCJsZzpqdXN0aWZ5LXNlbGYtc3RyZXRjaFwifX0sQ2g9e3NtOntyb3c6XCJmbGV4LXJvd1wiLFwicm93LXJldmVyc2VcIjpcImZsZXgtcm93LXJldmVyc2VcIixjb2x1bW46XCJmbGV4LWNvbFwiLFwiY29sdW1uLXJldmVyc2VcIjpcImZsZXgtY29sLXJldmVyc2VcIn0sbWQ6e3JvdzpcIm1kOmZsZXgtcm93XCIsXCJyb3ctcmV2ZXJzZVwiOlwibWQ6ZmxleC1yb3ctcmV2ZXJzZVwiLGNvbHVtbjpcIm1kOmZsZXgtY29sXCIsXCJjb2x1bW4tcmV2ZXJzZVwiOlwibWQ6ZmxleC1jb2wtcmV2ZXJzZVwifSxsZzp7cm93OlwibGc6ZmxleC1yb3dcIixcInJvdy1yZXZlcnNlXCI6XCJsZzpmbGV4LXJvdy1yZXZlcnNlXCIsY29sdW1uOlwibGc6ZmxleC1jb2xcIixcImNvbHVtbi1yZXZlcnNlXCI6XCJsZzpmbGV4LWNvbC1yZXZlcnNlXCJ9fSxfaD17c206e3dyYXA6XCJmbGV4LXdyYXBcIixcIndyYXAtcmV2ZXJzZVwiOlwiZmxleC13cmFwLXJldmVyc2VcIixub3dyYXA6XCJmbGV4LW5vd3JhcFwifSxtZDp7d3JhcDpcIm1kOmZsZXgtd3JhcFwiLFwid3JhcC1yZXZlcnNlXCI6XCJtZDpmbGV4LXdyYXAtcmV2ZXJzZVwiLG5vd3JhcDpcIm1kOmZsZXgtbm93cmFwXCJ9LGxnOnt3cmFwOlwibGc6ZmxleC13cmFwXCIsXCJ3cmFwLXJldmVyc2VcIjpcImxnOmZsZXgtd3JhcC1yZXZlcnNlXCIsbm93cmFwOlwibGc6ZmxleC1ub3dyYXBcIn19LFBoPXtzbTp7MTpcInctZnVsbFwiLDI6XCJ3LTEvMlwiLDM6XCJ3LTEvM1wiLDQ6XCJ3LTEvNFwiLDU6XCJ3LTEvNVwiLDY6XCJ3LTEvNlwiLDc6XCJ3LTEvN1wiLDg6XCJ3LTEvOFwiLDk6XCJ3LTEvOVwiLDEwOlwidy0xLzEwXCIsMTE6XCJ3LTEvMTFcIiwxMjpcInctMS8xMlwifSxtZDp7MTpcIm1kOnctZnVsbFwiLDI6XCJtZDp3LTEvMlwiLDM6XCJtZDp3LTEvM1wiLDQ6XCJtZDp3LTEvNFwiLDU6XCJtZDp3LTEvNVwiLDY6XCJtZDp3LTEvNlwiLDc6XCJtZDp3LTEvN1wiLDg6XCJtZDp3LTEvOFwiLDk6XCJtZDp3LTEvOVwiLDEwOlwibWQ6dy0xLzEwXCIsMTE6XCJtZDp3LTEvMTFcIiwxMjpcIm1kOnctMS8xMlwifSxsZzp7MTpcImxnOnctZnVsbFwiLDI6XCJsZzp3LTEvMlwiLDM6XCJsZzp3LTEvM1wiLDQ6XCJsZzp3LTEvNFwiLDU6XCJsZzp3LTEvNVwiLDY6XCJsZzp3LTEvNlwiLDc6XCJsZzp3LTEvN1wiLDg6XCJsZzp3LTEvOFwiLDk6XCJsZzp3LTEvOVwiLDEwOlwibGc6dy0xLzEwXCIsMTE6XCJsZzp3LTEvMTFcIiwxMjpcImxnOnctMS8xMlwifX0sT2g9e3NtOnsxOlwib3JkZXItMVwiLDI6XCJvcmRlci0yXCIsMzpcIm9yZGVyLTNcIiw0Olwib3JkZXItNFwiLDU6XCJvcmRlci01XCIsNjpcIm9yZGVyLTZcIiw3Olwib3JkZXItN1wiLDg6XCJvcmRlci04XCIsOTpcIm9yZGVyLTlcIiwxMDpcIm9yZGVyLTEwXCIsMTE6XCJvcmRlci0xMVwiLDEyOlwib3JkZXItMTJcIixmaXJzdDpcIm9yZGVyLWZpcnN0XCIsbGFzdDpcIm9yZGVyLWxhc3RcIixub25lOlwib3JkZXItbm9uZVwifSxtZDp7MTpcIm1kOm9yZGVyLTFcIiwyOlwibWQ6b3JkZXItMlwiLDM6XCJtZDpvcmRlci0zXCIsNDpcIm1kOm9yZGVyLTRcIiw1OlwibWQ6b3JkZXItNVwiLDY6XCJtZDpvcmRlci02XCIsNzpcIm1kOm9yZGVyLTdcIiw4OlwibWQ6b3JkZXItOFwiLDk6XCJtZDpvcmRlci05XCIsMTA6XCJtZDpvcmRlci0xMFwiLDExOlwibWQ6b3JkZXItMTFcIiwxMjpcIm1kOm9yZGVyLTEyXCIsZmlyc3Q6XCJtZDpvcmRlci1maXJzdFwiLGxhc3Q6XCJtZDpvcmRlci1sYXN0XCIsbm9uZTpcIm1kOm9yZGVyLW5vbmVcIn0sbGc6ezE6XCJsZzpvcmRlci0xXCIsMjpcImxnOm9yZGVyLTJcIiwzOlwibGc6b3JkZXItM1wiLDQ6XCJsZzpvcmRlci00XCIsNTpcImxnOm9yZGVyLTVcIiw2OlwibGc6b3JkZXItNlwiLDc6XCJsZzpvcmRlci03XCIsODpcImxnOm9yZGVyLThcIiw5OlwibGc6b3JkZXItOVwiLDEwOlwibGc6b3JkZXItMTBcIiwxMTpcImxnOm9yZGVyLTExXCIsMTI6XCJsZzpvcmRlci0xMlwiLGZpcnN0OlwibGc6b3JkZXItZmlyc3RcIixsYXN0OlwibGc6b3JkZXItbGFzdFwiLG5vbmU6XCJsZzpvcmRlci1ub25lXCJ9fSxOaD17c206ezA6XCJncm93LTBcIiwxOlwiZ3Jvd1wifSxtZDp7MDpcIm1kOmdyb3ctMFwiLDE6XCJtZDpncm93XCJ9LGxnOnswOlwibGc6Z3Jvdy0wXCIsMTpcImxnOmdyb3dcIn19LFRoPXtzbTp7MDpcInNocmluay0wXCIsMTpcInNocmlua1wifSxtZDp7MDpcIm1kOnNocmluay0wXCIsMTpcIm1kOnNocmlua1wifSxsZzp7MDpcImxnOnNocmluay0wXCIsMTpcImxnOnNocmlua1wifX07ZnVuY3Rpb24gTWgoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPUFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfWZ1bmN0aW9uIFJoKGUpe3JldHVybiBSaD1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJlwic3ltYm9sXCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT9cInN5bWJvbFwiOnR5cGVvZiBlfSxSaChlKX12YXIgRGg9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8saSxzLGEsbCxjLHUsZD1hcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106XCJzbVwiLGY9W107c3dpdGNoKFJoKGUpKXtjYXNlXCJvYmplY3RcIjpmb3IodmFyIG09MCxoPU9iamVjdC5lbnRyaWVzKGUpO208aC5sZW5ndGg7bSsrKXt2YXIgcCxnLHksdixiPShjPWhbbV0sdT0yLGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGMpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDpcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbXCJAQGl0ZXJhdG9yXCJdO2lmKG51bGwhPW4pe3ZhciByLG8saSxzLGE9W10sbD0hMCxjPSExO3RyeXtpZihpPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47bD0hMX1lbHNlIGZvcig7IShsPShyPWkuY2FsbChuKSkuZG9uZSkmJihhLnB1c2goci52YWx1ZSksYS5sZW5ndGghPT10KTtsPSEwKTt9Y2F0Y2goZSl7Yz0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWwmJm51bGwhPW4ucmV0dXJuJiYocz1uLnJldHVybigpLE9iamVjdChzKSE9PXMpKXJldHVybn1maW5hbGx5e2lmKGMpdGhyb3cgb319cmV0dXJuIGF9fShjLHUpfHxmdW5jdGlvbihlLHQpe2lmKGUpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXJldHVybiBNaChlLHQpO3ZhciBuPXt9LnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7cmV0dXJuXCJPYmplY3RcIj09PW4mJmUuY29uc3RydWN0b3ImJihuPWUuY29uc3RydWN0b3IubmFtZSksXCJNYXBcIj09PW58fFwiU2V0XCI9PT1uP0FycmF5LmZyb20oZSk6XCJBcmd1bWVudHNcIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP01oKGUsdCk6dm9pZCAwfX0oYyx1KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpfSgpKSx4PWJbMF0sdz1iWzFdO3RbeF0mJmYucHVzaChudWxsIT09KHA9bnVsbCE9PShnPW51bGw9PXR8fG51bGw9PT0oeT10W3hdKXx8dm9pZCAwPT09eT92b2lkIDA6eVt3XSkmJnZvaWQgMCE9PWc/ZzpudWxsPT10fHxudWxsPT09KHY9dFt4XSl8fHZvaWQgMD09PXY/dm9pZCAwOnZbbnVsbD09bj92b2lkIDA6blt4XV0pJiZ2b2lkIDAhPT1wP3A6XCJcIil9YnJlYWs7Y2FzZVwic3RyaW5nXCI6Y2FzZVwibnVtYmVyXCI6dmFyIFM9ZDtmLnB1c2gobnVsbCE9PShyPW51bGwhPT0obz1udWxsPT10fHxudWxsPT09KGk9dFtTXSl8fHZvaWQgMD09PWk/dm9pZCAwOmlbZV0pJiZ2b2lkIDAhPT1vP286bnVsbD09dHx8bnVsbD09PShzPXRbU10pfHx2b2lkIDA9PT1zP3ZvaWQgMDpzW251bGw9PW4/dm9pZCAwOm5bU11dKSYmdm9pZCAwIT09cj9yOlwiXCIpO2JyZWFrO2RlZmF1bHQ6Zi5wdXNoKG51bGwhPT0oYT1udWxsPT10fHxudWxsPT09KGw9dFtkXSl8fHZvaWQgMD09PWw/dm9pZCAwOmxbbl0pJiZ2b2lkIDAhPT1hP2E6XCJcIil9cmV0dXJuIGYuam9pbihcIiBcIil9LGpoPVtcImNsYXNzTmFtZVwiLFwiY29sc1wiLFwiZ2FwXCIsXCJnYXBYXCIsXCJnYXBZXCIsXCJhbGlnblwiLFwianVzdGlmeVwiLFwiZ3JpZEZsb3dcIixcImNvbHNTdWJHcmlkXCIsXCJyb3dzU3ViR3JpZFwiLFwiYXV0b1Jvd3NcIixcImF1dG9Db2xzXCIsXCJjaGlsZHJlblwiXSxBaD1bXCJjbGFzc05hbWVcIixcImNoaWxkcmVuXCIsXCJjb2xTcGFuXCIsXCJjb2xTdGFydFwiLFwiYWxpZ25TZWxmXCIsXCJqdXN0aWZ5U2VsZlwiXTtmdW5jdGlvbiBJaCgpe3JldHVybiBJaD1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LEloLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBMaChlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG4scixvPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbj17fTtmb3IodmFyIHIgaW4gZSlpZih7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikpe2lmKHQuaW5jbHVkZXMocikpY29udGludWU7bltyXT1lW3JdfXJldHVybiBufShlLHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKyluPWlbcl0sdC5pbmNsdWRlcyhuKXx8e30ucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLG4pJiYob1tuXT1lW25dKX1yZXR1cm4gb312YXIgRmg9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jbGFzc05hbWUsbj1lLmNvbHMscj1lLmdhcCxvPWUuZ2FwWCxpPWUuZ2FwWSxzPWUuYWxpZ24sYT1lLmp1c3RpZnksYz1lLmdyaWRGbG93LHU9dm9pZCAwPT09Yz9cIlwiOmMsZD1lLmNvbHNTdWJHcmlkLGY9dm9pZCAwIT09ZCYmZCxtPWUucm93c1N1YkdyaWQsaD12b2lkIDAhPT1tJiZtLHA9ZS5hdXRvUm93cyxnPXZvaWQgMCE9PXAmJnAseT1lLmF1dG9Db2xzLHY9dm9pZCAwIT09eSYmeSxiPWUuY2hpbGRyZW4seD1MaChlLGpoKSx3PURoKG4saGgsMSksUz1EaChyLHBoLFwic21cIiksaz1EaChvLGdoLFwiXCIpLEU9RGgoaSx5aCxcIlwiKSxDPURoKHMsU2gsXCJcIiksXz1EaChhLHdoLFwiXCIpLFA9RGgodSx4aCxcIlwiKTtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIixJaCh7Y2xhc3NOYW1lOm9lKFwiZ3JpZFwiLHtcImdyaWQtY29scy1zdWJncmlkXCI6ZixcImdyaWQtcm93cy1zdWJncmlkXCI6aCxcImF1dG8tY29scy1hdXRvXCI6dixcImF1dG8tcm93cy1hdXRvXCI6Z30sdyxTLGssRSxDLF8sUCx0KX0seCksYil9O09iamVjdC5hc3NpZ24oRmgse0l0ZW06ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jbGFzc05hbWUsbj1lLmNoaWxkcmVuLHI9ZS5jb2xTcGFuLG89ZS5jb2xTdGFydCxpPWUuYWxpZ25TZWxmLHM9ZS5qdXN0aWZ5U2VsZixhPUxoKGUsQWgpLGM9RGgocix2aCwwKSx1PURoKG8sYmgsMCksZD1EaChpLGtoLFwiXCIpLGY9RGgocyxFaCxcIlwiKTtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIixJaCh7Y2xhc3NOYW1lOm9lKGMsdSxkLGYsdCl9LGEpLG4pfX0pO3ZhciB6aD1GaCxCaD1bXCJjb250YWluZXJUeXBlXCIsXCJnYXBcIixcImdhcFhcIixcImdhcFlcIixcImRpcmVjdGlvblwiLFwianVzdGlmeVwiLFwiYWxpZ25cIixcIndyYXBcIixcImNvbHNcIixcImNsYXNzTmFtZVwiLFwiY2hpbGRyZW5cIl0sV2g9W1wiY29udGFpbmVyVHlwZVwiXSxWaD1bXCJncm93XCIsXCJzaHJpbmtcIixcIm9yZGVyXCIsXCJhbGlnblNlbGZcIixcImp1c3RpZnlTZWxmXCIsXCJjbGFzc05hbWVcIixcImNoaWxkcmVuXCJdO2Z1bmN0aW9uIFVoKCl7cmV0dXJuIFVoPU9iamVjdC5hc3NpZ24/T2JqZWN0LmFzc2lnbi5iaW5kKCk6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKSh7fSkuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiYoZVtyXT1uW3JdKX1yZXR1cm4gZX0sVWguYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uICRoKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbixyLG89ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPXt9O2Zvcih2YXIgciBpbiBlKWlmKHt9Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSl7aWYodC5pbmNsdWRlcyhyKSljb250aW51ZTtuW3JdPWVbcl19cmV0dXJuIG59KGUsdCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKW49aVtyXSx0LmluY2x1ZGVzKG4pfHx7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsbikmJihvW25dPWVbbl0pfXJldHVybiBvfXZhciBZaD0oMCxhLmNyZWF0ZUNvbnRleHQpKCksSGg9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jb250YWluZXJUeXBlLG49dm9pZCAwPT09dD9cImZsZXhcIjp0LHI9ZS5nYXAsbz12b2lkIDA9PT1yP1wic21cIjpyLGk9ZS5nYXBYLHM9dm9pZCAwPT09aT9cIlwiOmksYT1lLmdhcFksYz12b2lkIDA9PT1hP1wiXCI6YSx1PWUuZGlyZWN0aW9uLGQ9dm9pZCAwPT09dT9cIlwiOnUsZj1lLmp1c3RpZnksbT12b2lkIDA9PT1mP1wiXCI6ZixoPWUuYWxpZ24scD12b2lkIDA9PT1oP1wiXCI6aCxnPWUud3JhcCx5PWUuY29scyx2PXZvaWQgMD09PXk/XCJcIjp5LGI9ZS5jbGFzc05hbWUseD1lLmNoaWxkcmVuLHc9JGgoZSxCaCk7aWYoXCJncmlkXCI9PT1uKXt2YXIgUz1lLmNvbnRhaW5lclR5cGUsaz0kaChlLFdoKTtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoWWguUHJvdmlkZXIse3ZhbHVlOntjb250YWluZXJUeXBlOlN9fSxsKCkuY3JlYXRlRWxlbWVudCh6aCxrKSl9dmFyIEU9RGgoZyxfaCxcIlwiKSxDPURoKG8scGgsXCJzbVwiKSxfPURoKHMsZ2gsXCJcIiksUD1EaChjLHloLFwiXCIpLE89RGgoZCxDaCxcIlwiKSxOPURoKG0sd2gsXCJcIiksVD1EaChwLFNoLFwiXCIpLE09b2UoXCJmbGV4XCIsRSxDLF8sUCxPLE4sVCxiKTtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoWWguUHJvdmlkZXIse3ZhbHVlOntjb250YWluZXJUeXBlOm4sY29sczp2fX0sXCJncmlkXCI9PT1uP2woKS5jcmVhdGVFbGVtZW50KHpoLGUpOmwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIsVWgoe2NsYXNzTmFtZTpNfSx3KSx4KSl9O0hoLkl0ZW09ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ncm93LG49ZS5zaHJpbmsscj1lLm9yZGVyLG89ZS5hbGlnblNlbGYsaT1lLmp1c3RpZnlTZWxmLHM9ZS5jbGFzc05hbWUsYz1lLmNoaWxkcmVuLHU9JGgoZSxWaCksZD0oMCxhLnVzZUNvbnRleHQpKFloKSxmPWQuY29udGFpbmVyVHlwZSxtPWQuY29scztpZihcImdyaWRcIj09PWYpe3ZhciBoPVVoKHt9LChmdW5jdGlvbihlKXtpZihudWxsPT1lKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgZGVzdHJ1Y3R1cmUgXCIrZSl9KGUpLGUpKTtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoemguSXRlbSxoKX12YXIgcD1EaChvLGtoLFwiXCIpLGc9RGgoaSxFaCxcIlwiKSx5PURoKHQsTmgsMCksdj1EaChuLFRoLDApLGI9RGgocixPaCwwKSx4PURoKG0sUGgsMSk7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIsVWgoe2NsYXNzTmFtZTpvZShcImJveC1ib3JkZXJcIix5LHYsYixwLGcseCxzKX0sdSksYyl9LEhoLmRpc3BsYXlOYW1lPVwiQ29udGFpbmVyXCIsSGguSXRlbS5kaXNwbGF5TmFtZT1cIkNvbnRhaW5lci5JdGVtXCI7dmFyIEtoLHFoPUhoLEdoPWZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGkscyxhPWUuZGVzaWduLGw9dm9pZCAwPT09YT9cImlubGluZVwiOmEsYz1lLnRoZW1lLHU9dm9pZCAwPT09Yz9cImxpZ2h0XCI6YyxkPWUudmFyaWFudCxmPXZvaWQgMD09PWQ/XCJuZXV0cmFsXCI6ZCxtPWUuY2xhc3NOYW1lLGg9dm9pZCAwPT09bT9cIlwiOm0scD1lLnRpdGxlLGc9dm9pZCAwPT09cD9cIlRpdGxlXCI6cCx5PWUuY29udGVudCx2PXZvaWQgMD09PXk/XCJEZXNjcmlwdGlvblwiOnksYj1lLmljb24seD12b2lkIDA9PT1iP251bGw6Yix3PWUub25DbG9zZSxTPXZvaWQgMD09PXc/ZnVuY3Rpb24oKXt9Oncsaz1lLmFjdGlvbixFPXZvaWQgMD09PWs/e2xhYmVsOlwiXCIsb25DbGljazpmdW5jdGlvbigpe30sdHlwZTpcImxpbmtcIn06ayxDPWZ1bmN0aW9uKCl7UygpfSxfPXtuZXV0cmFsOlwicmluZy1hbGVydC1ib3JkZXItbmV1dHJhbCBiZy1hbGVydC1iYWNrZ3JvdW5kLW5ldXRyYWxcIixjdXN0b206XCJyaW5nLWFsZXJ0LWJvcmRlci1uZXV0cmFsIGJnLWFsZXJ0LWJhY2tncm91bmQtbmV1dHJhbFwiLGluZm86XCJyaW5nLWFsZXJ0LWJvcmRlci1pbmZvIGJnLWFsZXJ0LWJhY2tncm91bmQtaW5mb1wiLHN1Y2Nlc3M6XCJyaW5nLWFsZXJ0LWJvcmRlci1ncmVlbiBiZy1hbGVydC1iYWNrZ3JvdW5kLWdyZWVuXCIsd2FybmluZzpcInJpbmctYWxlcnQtYm9yZGVyLXdhcm5pbmcgYmctYWxlcnQtYmFja2dyb3VuZC13YXJuaW5nXCIsZXJyb3I6XCJyaW5nLWFsZXJ0LWJvcmRlci1kYW5nZXIgYmctYWxlcnQtYmFja2dyb3VuZC1kYW5nZXJcIn0sUD1cImJnLWJhY2tncm91bmQtaW52ZXJzZSByaW5nLWJhY2tncm91bmQtaW52ZXJzZVwiLE89e2xpZ2h0OlwidGV4dC1pY29uLXNlY29uZGFyeVwiLGRhcms6XCJ0ZXh0LWljb24taW52ZXJzZVwifSxOPWZ1bmN0aW9uKCl7dmFyIGU7bnVsbD09RXx8bnVsbD09PShlPUUub25DbGljayl8fHZvaWQgMD09PWV8fGUuY2FsbChFLChmdW5jdGlvbigpe3JldHVybiBDKCl9KSl9O3JldHVyblwic3RhY2tcIj09PWw/UmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LXN0YXJ0IHAtNCBnYXAtMiByZWxhdGl2ZSByaW5nLTEgcm91bmRlZC1tZCBzaGFkb3ctbGdcIixcImRhcmtcIj09PXU/UDpudWxsPT09KG89Xyl8fHZvaWQgMD09PW8/dm9pZCAwOm9bZl0saCl9LFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsbnVsbCxSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcInNlbGYtc3RhcnQgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgWyZfc3ZnXTpzaXplLTUgc2hyaW5rLTBcIn0sU28oe3ZhcmlhbnQ6ZixpY29uOngsdGhlbWU6dX0pKSxSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcImZsZXggZmxleC1jb2wgaXRlbXMtc3RhcnQganVzdGlmeS1zdGFydCBnYXAtMC41XCJ9LEVvKHt0aXRsZTpnLHRoZW1lOnV9KSxDbyh7Y29udGVudDp2LHRoZW1lOnV9KSwobnVsbD09RT92b2lkIDA6RS5sYWJlbCkmJlwiZnVuY3Rpb25cIj09dHlwZW9mKG51bGw9PUU/dm9pZCAwOkUub25DbGljaykmJlJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwibXQtMi41XCJ9LGtvKHthY3Rpb25MYWJlbDpudWxsPT1FP3ZvaWQgMDpFLmxhYmVsLGFjdGlvblR5cGU6bnVsbCE9PShpPW51bGw9PUU/dm9pZCAwOkUudHlwZSkmJnZvaWQgMCE9PWk/aTpcImJ1dHRvblwiLG9uQWN0aW9uOk4sdGhlbWU6dX0pKSksUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6XCJhYnNvbHV0ZSByaWdodC00IHRvcC00IFsmX3N2Z106c2l6ZS01XCJ9LFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIix7Y2xhc3NOYW1lOm9lKFwiYmctdHJhbnNwYXJlbnQgbS0wIHAtMCBib3JkZXItbm9uZSBmb2N1czpvdXRsaW5lLW5vbmUgYWN0aXZlOm91dGxpbmUtbm9uZSBjdXJzb3ItcG9pbnRlclwiLG51bGwhPT0ocz1PW3VdKSYmdm9pZCAwIT09cz9zOk8ubGlnaHQpLG9uQ2xpY2s6ZnVuY3Rpb24oKXtyZXR1cm4gQygpfX0sUmVhY3QuY3JlYXRlRWxlbWVudChxbyxudWxsKSkpKSk6UmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcC0zIGdhcC0yIHJlbGF0aXZlIHJpbmctMSByb3VuZGVkLWxnIHNoYWRvdy1sZ1wiLFwiZGFya1wiPT09dT9QOm51bGw9PT0odD1fKXx8dm9pZCAwPT09dD92b2lkIDA6dFtmXSxoKX0sUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LXN0YXJ0IGdhcC0yXCJ9LFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwic2VsZi1zdGFydCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBbJl9zdmddOnNpemUtNSBzaHJpbmstMFwifSxTbyh7dmFyaWFudDpmLGljb246eCx0aGVtZTp1fSkpLFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwiZmxleCBpdGVtcy1zdGFydCBqdXN0aWZ5LXN0YXJ0IGdhcC0xIG1yLTEwIFsmPnNwYW46Zmlyc3QtY2hpbGRdOnNocmluay0wIHB4LTFcIn0sRW8oe3RpdGxlOmcsdGhlbWU6dX0pLENvKHtjb250ZW50OnYsdGhlbWU6dX0pKSksUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LXN0YXJ0IGdhcC00IFsmX3N2Z106c2l6ZS00XCJ9LChudWxsPT1FP3ZvaWQgMDpFLmxhYmVsKSYmXCJmdW5jdGlvblwiPT10eXBlb2YobnVsbD09RT92b2lkIDA6RS5vbkNsaWNrKSYmUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6XCJmbGV4IGgtNVwifSxrbyh7YWN0aW9uTGFiZWw6bnVsbD09RT92b2lkIDA6RS5sYWJlbCxhY3Rpb25UeXBlOm51bGwhPT0obj1udWxsPT1FP3ZvaWQgMDpFLnR5cGUpJiZ2b2lkIDAhPT1uP246XCJidXR0b25cIixvbkFjdGlvbjpOLHRoZW1lOnV9KSksUmVhY3QuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLHtjbGFzc05hbWU6b2UoXCJiZy10cmFuc3BhcmVudCBtLTAgYm9yZGVyLW5vbmUgcC0wLjUgZm9jdXM6b3V0bGluZS1ub25lIGFjdGl2ZTpvdXRsaW5lLW5vbmUgY3Vyc29yLXBvaW50ZXIgc2l6ZS01XCIsbnVsbCE9PShyPU9bdV0pJiZ2b2lkIDAhPT1yP3I6Ty5saWdodCksb25DbGljazpmdW5jdGlvbigpe3JldHVybiBDKCl9fSxSZWFjdC5jcmVhdGVFbGVtZW50KHFvLG51bGwpKSkpfSxYaD0oS2g9ZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgVVJMU2VhcmNoUGFyYW1zO3QuYXBwZW5kKFwiY29kZVwiLGUpO2ZvcihsZXQgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdC5hcHBlbmQoXCJ2XCIsYXJndW1lbnRzW2VdKTt0aHJvdyBFcnJvcihgTWluaWZpZWQgTGV4aWNhbCBlcnJvciAjJHtlfTsgdmlzaXQgaHR0cHM6Ly9sZXhpY2FsLmRldi9kb2NzL2Vycm9yPyR7dH0gZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLmApfSxLaCYmS2guX19lc01vZHVsZSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEtoLFwiZGVmYXVsdFwiKT9LaC5kZWZhdWx0OktoKTtjb25zdCBaaD0oMCxhLmNyZWF0ZUNvbnRleHQpKG51bGwpO2Z1bmN0aW9uIEpoKCl7Y29uc3QgZT0oMCxhLnVzZUNvbnRleHQpKFpoKTtyZXR1cm4gbnVsbD09ZSYmWGgoOCksZX1mdW5jdGlvbiBRaCh7ZGVmYXVsdFNlbGVjdGlvbjplfSl7Y29uc3RbdF09SmgoKTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKCgpPT57dC5mb2N1cygoKCk9Pntjb25zdCBlPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsbj10LmdldFJvb3RFbGVtZW50KCk7bnVsbD09PW58fG51bGwhPT1lJiZuLmNvbnRhaW5zKGUpfHxuLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9KSx7ZGVmYXVsdFNlbGVjdGlvbjplfSl9KSxbZSx0XSksbnVsbH1jb25zdCBlcD17fSx0cD17fSxucD17fSxycD17fSxvcD17fSxpcD17fSxzcD17fSxhcD17fSxscD17fSxjcD17fSx1cD17fSxkcD17fSxmcD17fSxtcD17fSxocD17fSxwcD17fSxncD17fSx5cD17fSx2cD17fSxicD17fSx4cD17fSx3cD17fSxTcD17fSxrcD17fSxFcD17fSxDcD17fSxfcD17fSxQcD17fSxPcD17fSxOcD17fSxUcD17fSxNcD17fSxScD17fSxEcD17fSxqcD17fSxBcD17fSxJcD17fSxMcD17fSxGcD17fSx6cD17fSxCcD1cInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnQmJnZvaWQgMCE9PXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50LFdwPUJwJiZcImRvY3VtZW50TW9kZVwiaW4gZG9jdW1lbnQ/ZG9jdW1lbnQuZG9jdW1lbnRNb2RlOm51bGwsVnA9QnAmJi9NYWN8aVBvZHxpUGhvbmV8aVBhZC8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLFVwPUJwJiYvXig/IS4qU2VhbW9ua2V5KSg/PS4qRmlyZWZveCkuKi9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksJHA9ISghQnB8fCEoXCJJbnB1dEV2ZW50XCJpbiB3aW5kb3cpfHxXcCkmJlwiZ2V0VGFyZ2V0UmFuZ2VzXCJpbiBuZXcgd2luZG93LklucHV0RXZlbnQoXCJpbnB1dFwiKSxZcD1CcCYmL1ZlcnNpb25cXC9bXFxkLl0rLipTYWZhcmkvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksSHA9QnAmJi9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiYhd2luZG93Lk1TU3RyZWFtLEtwPUJwJiYvQW5kcm9pZC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxxcD1CcCYmL14oPz0uKkNocm9tZSkuKi9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksR3A9QnAmJktwJiZxcCxYcD1CcCYmL0FwcGxlV2ViS2l0XFwvW1xcZC5dKy8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmIXFwLFpwPTEsSnA9MyxRcD0wLGVnPTIsdGc9MCxuZz0xLHJnPTIsb2c9NCxpZz04LHNnPTN8b2d8aWd8MjQwLGFnPTEsbGc9MixjZz0zLHVnPTQsZGc9NSxmZz02LG1nPVlwfHxIcHx8WHA/XCLCoFwiOlwi4oCLXCIsaGc9XCJcXG5cXG5cIixwZz1VcD9cIsKgXCI6bWcsZ2c9XCLWkS3fv++snS3vt73vubAt77u8XCIseWc9XCJBLVphLXrDgC3DlsOYLcO2w7gtyrjMgC3WkOCggC3hv7/igI7isIAt76yc77iALe+5r++7vS3vv79cIix2Zz1uZXcgUmVnRXhwKFwiXlteXCIreWcrXCJdKltcIitnZytcIl1cIiksYmc9bmV3IFJlZ0V4cChcIl5bXlwiK2dnK1wiXSpbXCIreWcrXCJdXCIpLHhnPXtib2xkOjEsY29kZToxNixoaWdobGlnaHQ6MTI4LGl0YWxpYzoyLHN0cmlrZXRocm91Z2g6b2csc3Vic2NyaXB0OjMyLHN1cGVyc2NyaXB0OjY0LHVuZGVybGluZTppZ30sd2c9e2RpcmVjdGlvbmxlc3M6MSx1bm1lcmdlYWJsZToyfSxTZz17Y2VudGVyOmxnLGVuZDpmZyxqdXN0aWZ5OnVnLGxlZnQ6YWcscmlnaHQ6Y2csc3RhcnQ6ZGd9LGtnPXtbbGddOlwiY2VudGVyXCIsW2ZnXTpcImVuZFwiLFt1Z106XCJqdXN0aWZ5XCIsW2FnXTpcImxlZnRcIixbY2ddOlwicmlnaHRcIixbZGddOlwic3RhcnRcIn0sRWc9e25vcm1hbDowLHNlZ21lbnRlZDoyLHRva2VuOjF9LENnPXtbdGddOlwibm9ybWFsXCIsW3JnXTpcInNlZ21lbnRlZFwiLFtuZ106XCJ0b2tlblwifTt2YXIgX2csUGc9KF9nPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IFVSTFNlYXJjaFBhcmFtczt0LmFwcGVuZChcImNvZGVcIixlKTtmb3IobGV0IGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXQuYXBwZW5kKFwidlwiLGFyZ3VtZW50c1tlXSk7dGhyb3cgRXJyb3IoYE1pbmlmaWVkIExleGljYWwgZXJyb3IgIyR7ZX07IHZpc2l0IGh0dHBzOi8vbGV4aWNhbC5kZXYvZG9jcy9lcnJvcj8ke3R9IGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy5gKX0sX2cmJl9nLl9fZXNNb2R1bGUmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChfZyxcImRlZmF1bHRcIik/X2cuZGVmYXVsdDpfZyk7ZnVuY3Rpb24gT2coLi4uZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgbiBvZiBlKWlmKG4mJlwic3RyaW5nXCI9PXR5cGVvZiBuKWZvcihjb25zdFtlXW9mIG4ubWF0Y2hBbGwoL1xcUysvZykpdC5wdXNoKGUpO3JldHVybiB0fWNvbnN0IE5nPTEwMDtsZXQgVGc9ITEsTWc9MDtmdW5jdGlvbiBSZyhlKXtNZz1lLnRpbWVTdGFtcH1mdW5jdGlvbiBEZyhlLHQsbil7cmV0dXJuIHQuX19sZXhpY2FsTGluZUJyZWFrPT09ZXx8dm9pZCAwIT09ZVtgX19sZXhpY2FsS2V5XyR7bi5fa2V5fWBdfWZ1bmN0aW9uIGpnKGUsdCxuKXtjb25zdCByPVZ5KG4uX3dpbmRvdyk7bGV0IG89bnVsbCxpPW51bGw7bnVsbCE9PXImJnIuYW5jaG9yTm9kZT09PWUmJihvPXIuYW5jaG9yT2Zmc2V0LGk9ci5mb2N1c09mZnNldCk7Y29uc3Qgcz1lLm5vZGVWYWx1ZTtudWxsIT09cyYmYnkodCxzLG8saSwhMSl9ZnVuY3Rpb24gQWcoZSx0LG4pe2lmKERiKGUpKXtjb25zdCB0PWUuYW5jaG9yLmdldE5vZGUoKTtpZih0LmlzKG4pJiZlLmZvcm1hdCE9PXQuZ2V0Rm9ybWF0KCkpcmV0dXJuITF9cmV0dXJuIHQubm9kZVR5cGU9PT1KcCYmbi5pc0F0dGFjaGVkKCl9ZnVuY3Rpb24gSWcoZSx0LG4pe1RnPSEwO2NvbnN0IHI9cGVyZm9ybWFuY2Uubm93KCktTWc+Tmc7dHJ5e3d4KGUsKCgpPT57Y29uc3Qgbz1IYigpfHxmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRFZGl0b3JTdGF0ZSgpLnJlYWQoKCgpPT57Y29uc3QgZT1IYigpO3JldHVybiBudWxsIT09ZT9lLmNsb25lKCk6bnVsbH0pKX0oZSksaT1uZXcgTWFwLHM9ZS5nZXRSb290RWxlbWVudCgpLGE9ZS5fZWRpdG9yU3RhdGUsbD1lLl9ibG9ja0N1cnNvckVsZW1lbnQ7bGV0IGM9ITEsdT1cIlwiO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCBkPXRbbl0sZj1kLnR5cGUsbT1kLnRhcmdldDtsZXQgaD1zeShtLGEpO2lmKCEobnVsbD09PWgmJm0hPT1zfHxQeChoKSkpaWYoXCJjaGFyYWN0ZXJEYXRhXCI9PT1mKXImJmtiKGgpJiZBZyhvLG0saCkmJmpnKG0saCxlKTtlbHNlIGlmKFwiY2hpbGRMaXN0XCI9PT1mKXtjPSEwO2NvbnN0IHQ9ZC5hZGRlZE5vZGVzO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl0sbz1peShyKSxpPXIucGFyZW50Tm9kZTtpZihudWxsIT1pJiZyIT09bCYmbnVsbD09PW8mJihcIkJSXCIhPT1yLm5vZGVOYW1lfHwhRGcocixpLGUpKSl7aWYoVXApe2NvbnN0IGU9ci5pbm5lclRleHR8fHIubm9kZVZhbHVlO2UmJih1Kz1lKX1pLnJlbW92ZUNoaWxkKHIpfX1jb25zdCBuPWQucmVtb3ZlZE5vZGVzLHI9bi5sZW5ndGg7aWYocj4wKXtsZXQgdD0wO2ZvcihsZXQgbz0wO288cjtvKyspe2NvbnN0IHI9bltvXTsoXCJCUlwiPT09ci5ub2RlTmFtZSYmRGcocixtLGUpfHxsPT09cikmJihtLmFwcGVuZENoaWxkKHIpLHQrKyl9ciE9PXQmJihtPT09cyYmKGg9dXkoYSkpLGkuc2V0KG0saCkpfX19aWYoaS5zaXplPjApZm9yKGNvbnN0W3Qsbl1vZiBpKWlmKGt4KG4pKXtjb25zdCByPW4uZ2V0Q2hpbGRyZW5LZXlzKCk7bGV0IG89dC5maXJzdENoaWxkO2ZvcihsZXQgbj0wO248ci5sZW5ndGg7bisrKXtjb25zdCBpPXJbbl0scz1lLmdldEVsZW1lbnRCeUtleShpKTtudWxsIT09cyYmKG51bGw9PW8/KHQuYXBwZW5kQ2hpbGQocyksbz1zKTpvIT09cyYmdC5yZXBsYWNlQ2hpbGQocyxvKSxvPW8ubmV4dFNpYmxpbmcpfX1lbHNlIGtiKG4pJiZuLm1hcmtEaXJ0eSgpO2NvbnN0IGQ9bi50YWtlUmVjb3JkcygpO2lmKGQubGVuZ3RoPjApe2ZvcihsZXQgdD0wO3Q8ZC5sZW5ndGg7dCsrKXtjb25zdCBuPWRbdF0scj1uLmFkZGVkTm9kZXMsbz1uLnRhcmdldDtmb3IobGV0IHQ9MDt0PHIubGVuZ3RoO3QrKyl7Y29uc3Qgbj1yW3RdLGk9bi5wYXJlbnROb2RlO251bGw9PWl8fFwiQlJcIiE9PW4ubm9kZU5hbWV8fERnKG4sbyxlKXx8aS5yZW1vdmVDaGlsZChuKX19bi50YWtlUmVjb3JkcygpfW51bGwhPT1vJiYoYyYmKG8uZGlydHk9ITAsZHkobykpLFVwJiZNeShlKSYmby5pbnNlcnRSYXdUZXh0KHUpKX0pKX1maW5hbGx5e1RnPSExfX1mdW5jdGlvbiBMZyhlKXtjb25zdCB0PWUuX29ic2VydmVyO251bGwhPT10JiZJZyhlLHQudGFrZVJlY29yZHMoKSx0KX1mdW5jdGlvbiBGZyhlKXshZnVuY3Rpb24oZSl7MD09PU1nJiZMeShlKS5hZGRFdmVudExpc3RlbmVyKFwidGV4dElucHV0XCIsUmcsITApfShlKSxlLl9vYnNlcnZlcj1uZXcgTXV0YXRpb25PYnNlcnZlcigoKHQsbik9PntJZyhlLHQsbil9KSl9ZnVuY3Rpb24gemcoZSx0KXtjb25zdCBuPWUuX19tb2RlLHI9ZS5fX2Zvcm1hdCxvPWUuX19zdHlsZSxpPXQuX19tb2RlLHM9dC5fX2Zvcm1hdCxhPXQuX19zdHlsZTtyZXR1cm4hKG51bGwhPT1uJiZuIT09aXx8bnVsbCE9PXImJnIhPT1zfHxudWxsIT09byYmbyE9PWEpfWZ1bmN0aW9uIEJnKGUsdCl7Y29uc3Qgbj1lLm1lcmdlV2l0aFNpYmxpbmcodCkscj11eCgpLl9ub3JtYWxpemVkTm9kZXM7cmV0dXJuIHIuYWRkKGUuX19rZXkpLHIuYWRkKHQuX19rZXkpLG59ZnVuY3Rpb24gV2coZSl7bGV0IHQsbixyPWU7aWYoXCJcIiE9PXIuX190ZXh0fHwhci5pc1NpbXBsZVRleHQoKXx8ci5pc1VubWVyZ2VhYmxlKCkpe2Zvcig7bnVsbCE9PSh0PXIuZ2V0UHJldmlvdXNTaWJsaW5nKCkpJiZrYih0KSYmdC5pc1NpbXBsZVRleHQoKSYmIXQuaXNVbm1lcmdlYWJsZSgpOyl7aWYoXCJcIiE9PXQuX190ZXh0KXtpZih6Zyh0LHIpKXtyPUJnKHQscik7YnJlYWt9YnJlYWt9dC5yZW1vdmUoKX1mb3IoO251bGwhPT0obj1yLmdldE5leHRTaWJsaW5nKCkpJiZrYihuKSYmbi5pc1NpbXBsZVRleHQoKSYmIW4uaXNVbm1lcmdlYWJsZSgpOyl7aWYoXCJcIiE9PW4uX190ZXh0KXtpZih6ZyhyLG4pKXtyPUJnKHIsbik7YnJlYWt9YnJlYWt9bi5yZW1vdmUoKX19ZWxzZSByLnJlbW92ZSgpfWZ1bmN0aW9uIFZnKGUpe2Zvcig7XCJlbGVtZW50XCI9PT1lLnR5cGU7KXtjb25zdCB0PWUuZ2V0Tm9kZSgpLG49ZS5vZmZzZXQ7bGV0IHIsbztpZihuPT09dC5nZXRDaGlsZHJlblNpemUoKT8ocj10LmdldENoaWxkQXRJbmRleChuLTEpLG89ITApOihyPXQuZ2V0Q2hpbGRBdEluZGV4KG4pLG89ITEpLGtiKHIpKXtlLnNldChyLl9fa2V5LG8/ci5nZXRUZXh0Q29udGVudFNpemUoKTowLFwidGV4dFwiKTticmVha31pZigha3gocikpYnJlYWs7ZS5zZXQoci5fX2tleSxvP3IuZ2V0Q2hpbGRyZW5TaXplKCk6MCxcImVsZW1lbnRcIil9fWxldCBVZz0xO2NvbnN0ICRnPVwiZnVuY3Rpb25cIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOmU9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKGUpfTtmdW5jdGlvbiBZZyhlKXtjb25zdCB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYobnVsbD09PXQpcmV0dXJuITE7Y29uc3Qgbj10Lm5vZGVOYW1lO3JldHVybiBQeChzeShlKSkmJihcIklOUFVUXCI9PT1ufHxcIlRFWFRBUkVBXCI9PT1ufHxcInRydWVcIj09PXQuY29udGVudEVkaXRhYmxlJiZudWxsPT1HZyh0KSl9ZnVuY3Rpb24gSGcoZSx0LG4pe2NvbnN0IHI9ZS5nZXRSb290RWxlbWVudCgpO3RyeXtyZXR1cm4gbnVsbCE9PXImJnIuY29udGFpbnModCkmJnIuY29udGFpbnMobikmJm51bGwhPT10JiYhWWcodCkmJnFnKHQpPT09ZX1jYXRjaChlKXtyZXR1cm4hMX19ZnVuY3Rpb24gS2coZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBCeH1mdW5jdGlvbiBxZyhlKXtsZXQgdD1lO2Zvcig7bnVsbCE9dDspe2NvbnN0IGU9R2codCk7aWYoS2coZSkpcmV0dXJuIGU7dD1BeSh0KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBHZyhlKXtyZXR1cm4gZT9lLl9fbGV4aWNhbEVkaXRvcjpudWxsfWZ1bmN0aW9uIFhnKGUpe3JldHVybiBlLmlzVG9rZW4oKXx8ZS5pc1NlZ21lbnRlZCgpfWZ1bmN0aW9uIFpnKGUpe3JldHVybiBlLm5vZGVUeXBlPT09SnB9ZnVuY3Rpb24gSmcoZSl7bGV0IHQ9ZTtmb3IoO251bGwhPXQ7KXtpZihaZyh0KSlyZXR1cm4gdDt0PXQuZmlyc3RDaGlsZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBRZyhlLHQsbil7Y29uc3Qgcj14Z1t0XTtpZihudWxsIT09biYmKGUmcik9PShuJnIpKXJldHVybiBlO2xldCBvPWVecjtyZXR1cm5cInN1YnNjcmlwdFwiPT09dD9vJj1+eGcuc3VwZXJzY3JpcHQ6XCJzdXBlcnNjcmlwdFwiPT09dCYmKG8mPX54Zy5zdWJzY3JpcHQpLG99ZnVuY3Rpb24gZXkoZSl7Y29uc3QgdD1lLmdldFBhcmVudCgpO2lmKG51bGwhPT10KXtjb25zdCBuPWUuZ2V0V3JpdGFibGUoKSxyPXQuZ2V0V3JpdGFibGUoKSxvPWUuZ2V0UHJldmlvdXNTaWJsaW5nKCksaT1lLmdldE5leHRTaWJsaW5nKCk7aWYobnVsbD09PW8paWYobnVsbCE9PWkpe2NvbnN0IGU9aS5nZXRXcml0YWJsZSgpO3IuX19maXJzdD1pLl9fa2V5LGUuX19wcmV2PW51bGx9ZWxzZSByLl9fZmlyc3Q9bnVsbDtlbHNle2NvbnN0IGU9by5nZXRXcml0YWJsZSgpO2lmKG51bGwhPT1pKXtjb25zdCB0PWkuZ2V0V3JpdGFibGUoKTt0Ll9fcHJldj1lLl9fa2V5LGUuX19uZXh0PXQuX19rZXl9ZWxzZSBlLl9fbmV4dD1udWxsO24uX19wcmV2PW51bGx9aWYobnVsbD09PWkpaWYobnVsbCE9PW8pe2NvbnN0IGU9by5nZXRXcml0YWJsZSgpO3IuX19sYXN0PW8uX19rZXksZS5fX25leHQ9bnVsbH1lbHNlIHIuX19sYXN0PW51bGw7ZWxzZXtjb25zdCBlPWkuZ2V0V3JpdGFibGUoKTtpZihudWxsIT09byl7Y29uc3QgdD1vLmdldFdyaXRhYmxlKCk7dC5fX25leHQ9ZS5fX2tleSxlLl9fcHJldj10Ll9fa2V5fWVsc2UgZS5fX3ByZXY9bnVsbDtuLl9fbmV4dD1udWxsfXIuX19zaXplLS0sbi5fX3BhcmVudD1udWxsfX1mdW5jdGlvbiB0eShlKXtseCgpO2NvbnN0IHQ9ZS5nZXRMYXRlc3QoKSxuPXQuX19wYXJlbnQscj1jeCgpLG89dXgoKSxpPXIuX25vZGVNYXAscz1vLl9kaXJ0eUVsZW1lbnRzO251bGwhPT1uJiZmdW5jdGlvbihlLHQsbil7bGV0IHI9ZTtmb3IoO251bGwhPT1yOyl7aWYobi5oYXMocikpcmV0dXJuO2NvbnN0IGU9dC5nZXQocik7aWYodm9pZCAwPT09ZSlicmVhaztuLnNldChyLCExKSxyPWUuX19wYXJlbnR9fShuLGkscyk7Y29uc3QgYT10Ll9fa2V5O28uX2RpcnR5VHlwZT0xLGt4KGUpP3Muc2V0KGEsITApOm8uX2RpcnR5TGVhdmVzLmFkZChhKX1mdW5jdGlvbiBueShlKXtheCgpO2NvbnN0IHQ9dXgoKSxuPXQuX2NvbXBvc2l0aW9uS2V5O2lmKGUhPT1uKXtpZih0Ll9jb21wb3NpdGlvbktleT1lLG51bGwhPT1uKXtjb25zdCBlPW95KG4pO251bGwhPT1lJiZlLmdldFdyaXRhYmxlKCl9aWYobnVsbCE9PWUpe2NvbnN0IHQ9b3koZSk7bnVsbCE9PXQmJnQuZ2V0V3JpdGFibGUoKX19fWZ1bmN0aW9uIHJ5KCl7cmV0dXJuIHN4KCk/bnVsbDp1eCgpLl9jb21wb3NpdGlvbktleX1mdW5jdGlvbiBveShlLHQpe2NvbnN0IG49KHR8fGN4KCkpLl9ub2RlTWFwLmdldChlKTtyZXR1cm4gdm9pZCAwPT09bj9udWxsOm59ZnVuY3Rpb24gaXkoZSx0KXtjb25zdCBuPWVbYF9fbGV4aWNhbEtleV8ke3V4KCkuX2tleX1gXTtyZXR1cm4gdm9pZCAwIT09bj9veShuLHQpOm51bGx9ZnVuY3Rpb24gc3koZSx0KXtsZXQgbj1lO2Zvcig7bnVsbCE9bjspe2NvbnN0IGU9aXkobix0KTtpZihudWxsIT09ZSlyZXR1cm4gZTtuPUF5KG4pfXJldHVybiBudWxsfWZ1bmN0aW9uIGF5KGUpe2NvbnN0IHQ9ZS5fZGVjb3JhdG9ycyxuPU9iamVjdC5hc3NpZ24oe30sdCk7cmV0dXJuIGUuX3BlbmRpbmdEZWNvcmF0b3JzPW4sbn1mdW5jdGlvbiBseShlKXtyZXR1cm4gZS5yZWFkKCgoKT0+Y3koKS5nZXRUZXh0Q29udGVudCgpKSl9ZnVuY3Rpb24gY3koKXtyZXR1cm4gdXkoY3goKSl9ZnVuY3Rpb24gdXkoZSl7cmV0dXJuIGUuX25vZGVNYXAuZ2V0KFwicm9vdFwiKX1mdW5jdGlvbiBkeShlKXtheCgpO2NvbnN0IHQ9Y3goKTtudWxsIT09ZSYmKGUuZGlydHk9ITAsZS5zZXRDYWNoZWROb2RlcyhudWxsKSksdC5fc2VsZWN0aW9uPWV9ZnVuY3Rpb24gZnkoZSl7Y29uc3QgdD11eCgpLG49ZnVuY3Rpb24oZSx0KXtsZXQgbj1lO2Zvcig7bnVsbCE9bjspe2NvbnN0IGU9bltgX19sZXhpY2FsS2V5XyR7dC5fa2V5fWBdO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGU7bj1BeShuKX1yZXR1cm4gbnVsbH0oZSx0KTtyZXR1cm4gbnVsbD09PW4/ZT09PXQuZ2V0Um9vdEVsZW1lbnQoKT9veShcInJvb3RcIik6bnVsbDpveShuKX1mdW5jdGlvbiBteShlLHQpe3JldHVybiB0P2UuZ2V0VGV4dENvbnRlbnRTaXplKCk6MH1mdW5jdGlvbiBoeShlKXtyZXR1cm4vW1xcdUQ4MDAtXFx1REJGRl1bXFx1REMwMC1cXHVERkZGXS9nLnRlc3QoZSl9ZnVuY3Rpb24gcHkoZSl7Y29uc3QgdD1bXTtsZXQgbj1lO2Zvcig7bnVsbCE9PW47KXQucHVzaChuKSxuPW4uX3BhcmVudEVkaXRvcjtyZXR1cm4gdH1mdW5jdGlvbiBneSgpe3JldHVybiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5yZXBsYWNlKC9bXmEtel0rL2csXCJcIikuc3Vic3RyKDAsNSl9ZnVuY3Rpb24geXkoZSl7cmV0dXJuIGUubm9kZVR5cGU9PT1KcD9lLm5vZGVWYWx1ZTpudWxsfWZ1bmN0aW9uIHZ5KGUsdCxuKXtjb25zdCByPVZ5KHQuX3dpbmRvdyk7aWYobnVsbD09PXIpcmV0dXJuO2NvbnN0IG89ci5hbmNob3JOb2RlO2xldHthbmNob3JPZmZzZXQ6aSxmb2N1c09mZnNldDpzfT1yO2lmKG51bGwhPT1vKXtsZXQgdD15eShvKTtjb25zdCByPXN5KG8pO2lmKG51bGwhPT10JiZrYihyKSl7aWYodD09PW1nJiZuKXtjb25zdCBlPW4ubGVuZ3RoO3Q9bixpPWUscz1lfW51bGwhPT10JiZieShyLHQsaSxzLGUpfX19ZnVuY3Rpb24gYnkoZSx0LG4scixvKXtsZXQgaT1lO2lmKGkuaXNBdHRhY2hlZCgpJiYob3x8IWkuaXNEaXJ0eSgpKSl7Y29uc3Qgcz1pLmlzQ29tcG9zaW5nKCk7bGV0IGE9dDsoc3x8bykmJnRbdC5sZW5ndGgtMV09PT1tZyYmKGE9dC5zbGljZSgwLC0xKSk7Y29uc3QgbD1pLmdldFRleHRDb250ZW50KCk7aWYob3x8YSE9PWwpe2lmKFwiXCI9PT1hKXtpZihueShudWxsKSxZcHx8SHB8fFhwKWkucmVtb3ZlKCk7ZWxzZXtjb25zdCBlPXV4KCk7c2V0VGltZW91dCgoKCk9PntlLnVwZGF0ZSgoKCk9PntpLmlzQXR0YWNoZWQoKSYmaS5yZW1vdmUoKX0pKX0pLDIwKX1yZXR1cm59Y29uc3QgdD1pLmdldFBhcmVudCgpLG89S2IoKSxsPWkuZ2V0VGV4dENvbnRlbnRTaXplKCksYz1yeSgpLHU9aS5nZXRLZXkoKTtpZihpLmlzVG9rZW4oKXx8bnVsbCE9PWMmJnU9PT1jJiYhc3x8RGIobykmJihudWxsIT09dCYmIXQuY2FuSW5zZXJ0VGV4dEJlZm9yZSgpJiYwPT09by5hbmNob3Iub2Zmc2V0fHxvLmFuY2hvci5rZXk9PT1lLl9fa2V5JiYwPT09by5hbmNob3Iub2Zmc2V0JiYhaS5jYW5JbnNlcnRUZXh0QmVmb3JlKCkmJiFzfHxvLmZvY3VzLmtleT09PWUuX19rZXkmJm8uZm9jdXMub2Zmc2V0PT09bCYmIWkuY2FuSW5zZXJ0VGV4dEFmdGVyKCkmJiFzKSlyZXR1cm4gdm9pZCBpLm1hcmtEaXJ0eSgpO2NvbnN0IGQ9SGIoKTtpZighRGIoZCl8fG51bGw9PT1ufHxudWxsPT09cilyZXR1cm4gdm9pZCBpLnNldFRleHRDb250ZW50KGEpO2lmKGQuc2V0VGV4dE5vZGVSYW5nZShpLG4saSxyKSxpLmlzU2VnbWVudGVkKCkpe2NvbnN0IGU9U2IoaS5nZXRUZXh0Q29udGVudCgpKTtpLnJlcGxhY2UoZSksaT1lfWkuc2V0VGV4dENvbnRlbnQoYSl9fX1mdW5jdGlvbiB4eShlKXtyZXR1cm5cIkFycm93TGVmdFwiPT09ZX1mdW5jdGlvbiB3eShlKXtyZXR1cm5cIkFycm93UmlnaHRcIj09PWV9ZnVuY3Rpb24gU3koZSx0KXtyZXR1cm4gVnA/ZTp0fWZ1bmN0aW9uIGt5KGUpe3JldHVyblwiRW50ZXJcIj09PWV9ZnVuY3Rpb24gRXkoZSl7cmV0dXJuXCJCYWNrc3BhY2VcIj09PWV9ZnVuY3Rpb24gQ3koZSl7cmV0dXJuXCJEZWxldGVcIj09PWV9ZnVuY3Rpb24gX3koZSx0LG4pe3JldHVyblwiYVwiPT09ZS50b0xvd2VyQ2FzZSgpJiZTeSh0LG4pfWZ1bmN0aW9uIFB5KGUsdCl7dm9pZCAwPT09ZS5fX2xleGljYWxDbGFzc05hbWVDYWNoZSYmKGUuX19sZXhpY2FsQ2xhc3NOYW1lQ2FjaGU9e30pO2NvbnN0IG49ZS5fX2xleGljYWxDbGFzc05hbWVDYWNoZSxyPW5bdF07aWYodm9pZCAwIT09cilyZXR1cm4gcjtjb25zdCBvPWVbdF07aWYoXCJzdHJpbmdcIj09dHlwZW9mIG8pe2NvbnN0IGU9T2cobyk7cmV0dXJuIG5bdF09ZSxlfXJldHVybiBvfWZ1bmN0aW9uIE95KGUsdCxuLHIsbyl7aWYoMD09PW4uc2l6ZSlyZXR1cm47Y29uc3QgaT1yLl9fdHlwZSxzPXIuX19rZXksYT10LmdldChpKTt2b2lkIDA9PT1hJiZQZygzMyxpKTtjb25zdCBsPWEua2xhc3M7bGV0IGM9ZS5nZXQobCk7dm9pZCAwPT09YyYmKGM9bmV3IE1hcCxlLnNldChsLGMpKTtjb25zdCB1PWMuZ2V0KHMpLGQ9XCJkZXN0cm95ZWRcIj09PXUmJlwiY3JlYXRlZFwiPT09bzsodm9pZCAwPT09dXx8ZCkmJmMuc2V0KHMsZD9cInVwZGF0ZWRcIjpvKX1mdW5jdGlvbiBOeShlLHQsbil7Y29uc3Qgcj1lLmdldFBhcmVudCgpO2xldCBvPW4saT1lO3JldHVybiBudWxsIT09ciYmKHQmJjA9PT1uPyhvPWkuZ2V0SW5kZXhXaXRoaW5QYXJlbnQoKSxpPXIpOnR8fG4hPT1pLmdldENoaWxkcmVuU2l6ZSgpfHwobz1pLmdldEluZGV4V2l0aGluUGFyZW50KCkrMSxpPXIpKSxpLmdldENoaWxkQXRJbmRleCh0P28tMTpvKX1mdW5jdGlvbiBUeShlLHQpe2NvbnN0IG49ZS5vZmZzZXQ7aWYoXCJlbGVtZW50XCI9PT1lLnR5cGUpcmV0dXJuIE55KGUuZ2V0Tm9kZSgpLHQsbik7e2NvbnN0IHI9ZS5nZXROb2RlKCk7aWYodCYmMD09PW58fCF0JiZuPT09ci5nZXRUZXh0Q29udGVudFNpemUoKSl7Y29uc3QgZT10P3IuZ2V0UHJldmlvdXNTaWJsaW5nKCk6ci5nZXROZXh0U2libGluZygpO3JldHVybiBudWxsPT09ZT9OeShyLmdldFBhcmVudE9yVGhyb3coKSx0LHIuZ2V0SW5kZXhXaXRoaW5QYXJlbnQoKSsodD8wOjEpKTplfX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBNeShlKXtjb25zdCB0PUx5KGUpLmV2ZW50LG49dCYmdC5pbnB1dFR5cGU7cmV0dXJuXCJpbnNlcnRGcm9tUGFzdGVcIj09PW58fFwiaW5zZXJ0RnJvbVBhc3RlQXNRdW90YXRpb25cIj09PW59ZnVuY3Rpb24gUnkoZSx0LG4pe3JldHVybiB2eChlLHQsbil9ZnVuY3Rpb24gRHkoZSl7cmV0dXJuIU54KGUpJiYhZS5pc0xhc3RDaGlsZCgpJiYhZS5pc0lubGluZSgpfWZ1bmN0aW9uIGp5KGUsdCl7Y29uc3Qgbj1lLl9rZXlUb0RPTU1hcC5nZXQodCk7cmV0dXJuIHZvaWQgMD09PW4mJlBnKDc1LHQpLG59ZnVuY3Rpb24gQXkoZSl7Y29uc3QgdD1lLmFzc2lnbmVkU2xvdHx8ZS5wYXJlbnRFbGVtZW50O3JldHVybiBudWxsIT09dCYmMTE9PT10Lm5vZGVUeXBlP3QuaG9zdDp0fWZ1bmN0aW9uIEl5KGUsdCl7bGV0IG49ZS5nZXRQYXJlbnQoKTtmb3IoO251bGwhPT1uOyl7aWYobi5pcyh0KSlyZXR1cm4hMDtuPW4uZ2V0UGFyZW50KCl9cmV0dXJuITF9ZnVuY3Rpb24gTHkoZSl7Y29uc3QgdD1lLl93aW5kb3c7cmV0dXJuIG51bGw9PT10JiZQZyg3OCksdH1mdW5jdGlvbiBGeShlKXtyZXR1cm4gTngoZSl8fGt4KGUpJiZlLmlzU2hhZG93Um9vdCgpfWZ1bmN0aW9uIHp5KGUpe2NvbnN0IHQ9dXgoKSxuPWUuY29uc3RydWN0b3IuZ2V0VHlwZSgpLHI9dC5fbm9kZXMuZ2V0KG4pO3ZvaWQgMD09PXImJlBnKDk3KTtjb25zdCBvPXIucmVwbGFjZTtpZihudWxsIT09byl7Y29uc3QgdD1vKGUpO3JldHVybiB0IGluc3RhbmNlb2YgZS5jb25zdHJ1Y3Rvcnx8UGcoOTgpLHR9cmV0dXJuIGV9ZnVuY3Rpb24gQnkoZSx0KXshTngoZS5nZXRQYXJlbnQoKSl8fGt4KHQpfHxQeCh0KXx8UGcoOTkpfWZ1bmN0aW9uIFd5KGUpe3JldHVybihQeChlKXx8a3goZSkmJiFlLmNhbkJlRW1wdHkoKSkmJiFlLmlzSW5saW5lKCl9ZnVuY3Rpb24gX24oZSx0LG4pe24uc3R5bGUucmVtb3ZlUHJvcGVydHkoXCJjYXJldC1jb2xvclwiKSx0Ll9ibG9ja0N1cnNvckVsZW1lbnQ9bnVsbDtjb25zdCByPWUucGFyZW50RWxlbWVudDtudWxsIT09ciYmci5yZW1vdmVDaGlsZChlKX1mdW5jdGlvbiBWeShlKXtyZXR1cm4gQnA/KGV8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKCk6bnVsbH1mdW5jdGlvbiBVeShlKXtyZXR1cm4gMT09PWUubm9kZVR5cGV9ZnVuY3Rpb24gJHkoZSl7Y29uc3QgdD1uZXcgUmVnRXhwKC9eKGF8YWJicnxhY3JvbnltfGJ8Y2l0ZXxjb2RlfGRlbHxlbXxpfGluc3xrYmR8bGFiZWx8b3V0cHV0fHF8cnVieXxzfHNhbXB8c3BhbnxzdHJvbmd8c3VifHN1cHx0aW1lfHV8dHR8dmFyfCN0ZXh0KSQvLFwiaVwiKTtyZXR1cm4gbnVsbCE9PWUubm9kZU5hbWUubWF0Y2godCl9ZnVuY3Rpb24gWXkoZSl7Y29uc3QgdD1uZXcgUmVnRXhwKC9eKGFkZHJlc3N8YXJ0aWNsZXxhc2lkZXxibG9ja3F1b3RlfGNhbnZhc3xkZHxkaXZ8ZGx8ZHR8ZmllbGRzZXR8ZmlnY2FwdGlvbnxmaWd1cmV8Zm9vdGVyfGZvcm18aDF8aDJ8aDN8aDR8aDV8aDZ8aGVhZGVyfGhyfGxpfG1haW58bmF2fG5vc2NyaXB0fG9sfHB8cHJlfHNlY3Rpb258dGFibGV8dGR8dGZvb3R8dWx8dmlkZW8pJC8sXCJpXCIpO3JldHVybiBudWxsIT09ZS5ub2RlTmFtZS5tYXRjaCh0KX1mdW5jdGlvbiBIeShlKXtpZihOeChlKXx8UHgoZSkmJiFlLmlzSW5saW5lKCkpcmV0dXJuITA7aWYoIWt4KGUpfHxGeShlKSlyZXR1cm4hMTtjb25zdCB0PWUuZ2V0Rmlyc3RDaGlsZCgpLG49bnVsbD09PXR8fGliKHQpfHxrYih0KXx8dC5pc0lubGluZSgpO3JldHVybiFlLmlzSW5saW5lKCkmJiExIT09ZS5jYW5CZUVtcHR5KCkmJm59ZnVuY3Rpb24gS3koZSx0KXtsZXQgbj1lO2Zvcig7bnVsbCE9PW4mJm51bGwhPT1uLmdldFBhcmVudCgpJiYhdChuKTspbj1uLmdldFBhcmVudE9yVGhyb3coKTtyZXR1cm4gdChuKT9uOm51bGx9Y29uc3QgcXk9bmV3IFdlYWtNYXAsR3k9bmV3IE1hcDtmdW5jdGlvbiBYeShlKXtjb25zdCB0PWUuY29uc3RydWN0b3IuY2xvbmUoZSk7cmV0dXJuIHQuYWZ0ZXJDbG9uZUZyb20oZSksdH1mdW5jdGlvbiBaeShlLHQsbixyLG8saSl7bGV0IHM9ZS5nZXRGaXJzdENoaWxkKCk7Zm9yKDtudWxsIT09czspe2NvbnN0IGU9cy5fX2tleTtzLl9fcGFyZW50PT09dCYmKGt4KHMpJiZaeShzLGUsbixyLG8saSksbi5oYXMoZSl8fGkuZGVsZXRlKGUpLG8ucHVzaChlKSkscz1zLmdldE5leHRTaWJsaW5nKCl9fWxldCBKeSxReSxldix0dixudixydixvdixpdixzdixhdixsdj1cIlwiLGN2PVwiXCIsdXY9bnVsbCxkdj1cIlwiLGZ2PVwiXCIsbXY9ITEsaHY9ITEscHY9bnVsbDtmdW5jdGlvbiBndihlLHQpe2NvbnN0IG49b3YuZ2V0KGUpO2lmKG51bGwhPT10KXtjb25zdCBuPU12KGUpO24ucGFyZW50Tm9kZT09PXQmJnQucmVtb3ZlQ2hpbGQobil9aWYoaXYuaGFzKGUpfHxReS5fa2V5VG9ET01NYXAuZGVsZXRlKGUpLGt4KG4pKXtjb25zdCBlPVB2KG4sb3YpO3l2KGUsMCxlLmxlbmd0aC0xLG51bGwpfXZvaWQgMCE9PW4mJk95KGF2LGV2LHR2LG4sXCJkZXN0cm95ZWRcIil9ZnVuY3Rpb24geXYoZSx0LG4scil7bGV0IG89dDtmb3IoO288PW47KytvKXtjb25zdCB0PWVbb107dm9pZCAwIT09dCYmZ3YodCxyKX19ZnVuY3Rpb24gdnYoZSx0KXtlLnNldFByb3BlcnR5KFwidGV4dC1hbGlnblwiLHQpfWNvbnN0IGJ2PVwiNDBweFwiO2Z1bmN0aW9uIHh2KGUsdCl7Y29uc3Qgbj1KeS50aGVtZS5pbmRlbnQ7aWYoXCJzdHJpbmdcIj09dHlwZW9mIG4pe2NvbnN0IHI9ZS5jbGFzc0xpc3QuY29udGFpbnMobik7dD4wJiYhcj9lLmNsYXNzTGlzdC5hZGQobik6dDwxJiZyJiZlLmNsYXNzTGlzdC5yZW1vdmUobil9Y29uc3Qgcj1nZXRDb21wdXRlZFN0eWxlKGUpLmdldFByb3BlcnR5VmFsdWUoXCItLWxleGljYWwtaW5kZW50LWJhc2UtdmFsdWVcIil8fGJ2O2Uuc3R5bGUuc2V0UHJvcGVydHkoXCJwYWRkaW5nLWlubGluZS1zdGFydFwiLDA9PT10P1wiXCI6YGNhbGMoJHt0fSAqICR7cn0pYCl9ZnVuY3Rpb24gd3YoZSx0KXtjb25zdCBuPWUuc3R5bGU7MD09PXQ/dnYobixcIlwiKTp0PT09YWc/dnYobixcImxlZnRcIik6dD09PWxnP3Z2KG4sXCJjZW50ZXJcIik6dD09PWNnP3Z2KG4sXCJyaWdodFwiKTp0PT09dWc/dnYobixcImp1c3RpZnlcIik6dD09PWRnP3Z2KG4sXCJzdGFydFwiKTp0PT09ZmcmJnZ2KG4sXCJlbmRcIil9ZnVuY3Rpb24gU3YoZSx0LG4pe2NvbnN0IHI9aXYuZ2V0KGUpO3ZvaWQgMD09PXImJlBnKDYwKTtjb25zdCBvPXIuY3JlYXRlRE9NKEp5LFF5KTtpZihmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1uLl9rZXlUb0RPTU1hcDt0W1wiX19sZXhpY2FsS2V5X1wiK24uX2tleV09ZSxyLnNldChlLHQpfShlLG8sUXkpLGtiKHIpP28uc2V0QXR0cmlidXRlKFwiZGF0YS1sZXhpY2FsLXRleHRcIixcInRydWVcIik6UHgocikmJm8uc2V0QXR0cmlidXRlKFwiZGF0YS1sZXhpY2FsLWRlY29yYXRvclwiLFwidHJ1ZVwiKSxreChyKSl7Y29uc3QgZT1yLl9faW5kZW50LHQ9ci5fX3NpemU7aWYoMCE9PWUmJnh2KG8sZSksMCE9PXQpe2NvbnN0IGU9dC0xOyFmdW5jdGlvbihlLHQsbixyKXtjb25zdCBvPWN2O2N2PVwiXCIsa3YoZSxuLDAsdCxyLG51bGwpLF92KG4sciksY3Y9b30oUHYocixpdiksZSxyLG8pfWNvbnN0IG49ci5fX2Zvcm1hdDswIT09biYmd3YobyxuKSxyLmlzSW5saW5lKCl8fEN2KG51bGwscixvKSxEeShyKSYmKGx2Kz1oZyxmdis9aGcpfWVsc2V7Y29uc3QgdD1yLmdldFRleHRDb250ZW50KCk7aWYoUHgocikpe2NvbnN0IHQ9ci5kZWNvcmF0ZShReSxKeSk7bnVsbCE9PXQmJk52KGUsdCksby5jb250ZW50RWRpdGFibGU9XCJmYWxzZVwifWVsc2Uga2IocikmJihyLmlzRGlyZWN0aW9ubGVzcygpfHwoY3YrPXQpKTtsdis9dCxmdis9dH1pZihudWxsIT09dClpZihudWxsIT1uKXQuaW5zZXJ0QmVmb3JlKG8sbik7ZWxzZXtjb25zdCBlPXQuX19sZXhpY2FsTGluZUJyZWFrO251bGwhPWU/dC5pbnNlcnRCZWZvcmUobyxlKTp0LmFwcGVuZENoaWxkKG8pfXJldHVybiBPeShhdixldix0dixyLFwiY3JlYXRlZFwiKSxvfWZ1bmN0aW9uIGt2KGUsdCxuLHIsbyxpKXtjb25zdCBzPWx2O2x2PVwiXCI7bGV0IGE9bjtmb3IoO2E8PXI7KythKXtTdihlW2FdLG8saSk7Y29uc3QgdD1pdi5nZXQoZVthXSk7bnVsbCE9PXQmJmtiKHQpJiYobnVsbD09PXV2JiYodXY9dC5nZXRGb3JtYXQoKSksXCJcIj09PWR2JiYoZHY9dC5nZXRTdHlsZSgpKSl9RHkodCkmJihsdis9aGcpLG8uX19sZXhpY2FsVGV4dENvbnRlbnQ9bHYsbHY9cytsdn1mdW5jdGlvbiBFdihlLHQpe2NvbnN0IG49dC5nZXQoZSk7cmV0dXJuIGliKG4pfHxQeChuKSYmbi5pc0lubGluZSgpfWZ1bmN0aW9uIEN2KGUsdCxuKXtjb25zdCByPW51bGwhPT1lJiYoMD09PWUuX19zaXplfHxFdihlLl9fbGFzdCxvdikpLG89MD09PXQuX19zaXplfHxFdih0Ll9fbGFzdCxpdik7aWYocil7aWYoIW8pe2NvbnN0IGU9bi5fX2xleGljYWxMaW5lQnJlYWs7aWYobnVsbCE9ZSl0cnl7bi5yZW1vdmVDaGlsZChlKX1jYXRjaCh0KXtpZihcIm9iamVjdFwiPT10eXBlb2YgdCYmbnVsbCE9dCl7Y29uc3Qgcj1gJHt0LnRvU3RyaW5nKCl9IFBhcmVudDogJHtuLnRhZ05hbWV9LCBjaGlsZDogJHtlLnRhZ05hbWV9LmA7dGhyb3cgbmV3IEVycm9yKHIpfXRocm93IHR9bi5fX2xleGljYWxMaW5lQnJlYWs9bnVsbH19ZWxzZSBpZihvKXtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJiclwiKTtuLl9fbGV4aWNhbExpbmVCcmVhaz1lLG4uYXBwZW5kQ2hpbGQoZSl9fWZ1bmN0aW9uIF92KGUsdCl7Y29uc3Qgbj10Ll9fbGV4aWNhbERpclRleHRDb250ZW50LHI9dC5fX2xleGljYWxEaXI7aWYobiE9PWN2fHxyIT09cHYpe2NvbnN0IG49XCJcIj09PWN2LGk9bj9wdjoobz1jdix2Zy50ZXN0KG8pP1wicnRsXCI6YmcudGVzdChvKT9cImx0clwiOm51bGwpO2lmKGkhPT1yKXtjb25zdCBvPXQuY2xhc3NMaXN0LHM9SnkudGhlbWU7bGV0IGE9bnVsbCE9PXI/c1tyXTp2b2lkIDAsbD1udWxsIT09aT9zW2ldOnZvaWQgMDtpZih2b2lkIDAhPT1hKXtpZihcInN0cmluZ1wiPT10eXBlb2YgYSl7Y29uc3QgZT1PZyhhKTthPXNbcl09ZX1vLnJlbW92ZSguLi5hKX1pZihudWxsPT09aXx8biYmXCJsdHJcIj09PWkpdC5yZW1vdmVBdHRyaWJ1dGUoXCJkaXJcIik7ZWxzZXtpZih2b2lkIDAhPT1sKXtpZihcInN0cmluZ1wiPT10eXBlb2YgbCl7Y29uc3QgZT1PZyhsKTtsPXNbaV09ZX12b2lkIDAhPT1sJiZvLmFkZCguLi5sKX10LmRpcj1pfWh2fHwoZS5nZXRXcml0YWJsZSgpLl9fZGlyPWkpfXB2PWksdC5fX2xleGljYWxEaXJUZXh0Q29udGVudD1jdix0Ll9fbGV4aWNhbERpcj1pfXZhciBvfWZ1bmN0aW9uIFB2KGUsdCl7Y29uc3Qgbj1bXTtsZXQgcj1lLl9fZmlyc3Q7Zm9yKDtudWxsIT09cjspe2NvbnN0IGU9dC5nZXQocik7dm9pZCAwPT09ZSYmUGcoMTAxKSxuLnB1c2gocikscj1lLl9fbmV4dH1yZXR1cm4gbn1mdW5jdGlvbiBPdihlLHQpe2NvbnN0IG49b3YuZ2V0KGUpO2xldCByPWl2LmdldChlKTt2b2lkIDAhPT1uJiZ2b2lkIDAhPT1yfHxQZyg2MSk7Y29uc3Qgbz1tdnx8cnYuaGFzKGUpfHxudi5oYXMoZSksaT1qeShReSxlKTtpZihuPT09ciYmIW8pe2lmKGt4KG4pKXtjb25zdCBlPWkuX19sZXhpY2FsVGV4dENvbnRlbnQ7dm9pZCAwIT09ZSYmKGx2Kz1lLGZ2Kz1lKTtjb25zdCB0PWkuX19sZXhpY2FsRGlyVGV4dENvbnRlbnQ7dm9pZCAwIT09dCYmKGN2Kz10KX1lbHNle2NvbnN0IGU9bi5nZXRUZXh0Q29udGVudCgpO2tiKG4pJiYhbi5pc0RpcmVjdGlvbmxlc3MoKSYmKGN2Kz1lKSxmdis9ZSxsdis9ZX1yZXR1cm4gaX1pZihuIT09ciYmbyYmT3koYXYsZXYsdHYscixcInVwZGF0ZWRcIiksci51cGRhdGVET00obixpLEp5KSl7Y29uc3Qgbj1TdihlLG51bGwsbnVsbCk7cmV0dXJuIG51bGw9PT10JiZQZyg2MiksdC5yZXBsYWNlQ2hpbGQobixpKSxndihlLG51bGwpLG59aWYoa3gobikmJmt4KHIpKXtjb25zdCBlPXIuX19pbmRlbnQ7ZSE9PW4uX19pbmRlbnQmJnh2KGksZSk7Y29uc3QgdD1yLl9fZm9ybWF0O3QhPT1uLl9fZm9ybWF0JiZ3dihpLHQpLG8mJihmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1jdjt2YXIgbztjdj1cIlwiLHV2PW51bGwsZHY9XCJcIixmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1sdixvPWUuX19zaXplLGk9dC5fX3NpemU7aWYobHY9XCJcIiwxPT09byYmMT09PWkpe2NvbnN0IHI9ZS5fX2ZpcnN0LG89dC5fX2ZpcnN0O2lmKHI9PT1vKU92KHIsbik7ZWxzZXtjb25zdCBlPU12KHIpLHQ9U3YobyxudWxsLG51bGwpO3RyeXtuLnJlcGxhY2VDaGlsZCh0LGUpfWNhdGNoKGkpe2lmKFwib2JqZWN0XCI9PXR5cGVvZiBpJiZudWxsIT1pKXtjb25zdCBzPWAke2kudG9TdHJpbmcoKX0gUGFyZW50OiAke24udGFnTmFtZX0sIG5ldyBjaGlsZDoge3RhZzogJHt0LnRhZ05hbWV9IGtleTogJHtvfX0sIG9sZCBjaGlsZDoge3RhZzogJHtlLnRhZ05hbWV9LCBrZXk6ICR7cn19LmA7dGhyb3cgbmV3IEVycm9yKHMpfXRocm93IGl9Z3YocixudWxsKX1jb25zdCBzPWl2LmdldChvKTtrYihzKSYmKG51bGw9PT11diYmKHV2PXMuZ2V0Rm9ybWF0KCkpLFwiXCI9PT1kdiYmKGR2PXMuZ2V0U3R5bGUoKSkpfWVsc2V7Y29uc3Qgcj1QdihlLG92KSxzPVB2KHQsaXYpO2lmKDA9PT1vKTAhPT1pJiZrdihzLHQsMCxpLTEsbixudWxsKTtlbHNlIGlmKDA9PT1pKXtpZigwIT09byl7Y29uc3QgZT1udWxsPT1uLl9fbGV4aWNhbExpbmVCcmVhazt5dihyLDAsby0xLGU/bnVsbDpuKSxlJiYobi50ZXh0Q29udGVudD1cIlwiKX19ZWxzZSFmdW5jdGlvbihlLHQsbixyLG8saSl7Y29uc3Qgcz1yLTEsYT1vLTE7bGV0IGwsYyx1PWkuZmlyc3RDaGlsZCxkPTAsZj0wO2Zvcig7ZDw9cyYmZjw9YTspe2NvbnN0IGU9dFtkXSxyPW5bZl07aWYoZT09PXIpdT1UdihPdihyLGkpKSxkKyssZisrO2Vsc2V7dm9pZCAwPT09bCYmKGw9bmV3IFNldCh0KSksdm9pZCAwPT09YyYmKGM9bmV3IFNldChuKSk7Y29uc3Qgbz1jLmhhcyhlKSxzPWwuaGFzKHIpO2lmKG8paWYocyl7Y29uc3QgZT1qeShReSxyKTtlPT09dT91PVR2KE92KHIsaSkpOihudWxsIT11P2kuaW5zZXJ0QmVmb3JlKGUsdSk6aS5hcHBlbmRDaGlsZChlKSxPdihyLGkpKSxkKyssZisrfWVsc2UgU3YocixpLHUpLGYrKztlbHNlIHU9VHYoTXYoZSkpLGd2KGUsaSksZCsrfWNvbnN0IG89aXYuZ2V0KHIpO251bGwhPT1vJiZrYihvKSYmKG51bGw9PT11diYmKHV2PW8uZ2V0Rm9ybWF0KCkpLFwiXCI9PT1kdiYmKGR2PW8uZ2V0U3R5bGUoKSkpfWNvbnN0IG09ZD5zLGg9Zj5hO2lmKG0mJiFoKXtjb25zdCB0PW5bYSsxXTtrdihuLGUsZixhLGksdm9pZCAwPT09dD9udWxsOlF5LmdldEVsZW1lbnRCeUtleSh0KSl9ZWxzZSBoJiYhbSYmeXYodCxkLHMsaSl9KHQscixzLG8saSxuKX1EeSh0KSYmKGx2Kz1oZyksbi5fX2xleGljYWxUZXh0Q29udGVudD1sdixsdj1yK2x2fShlLHQsbiksX3YodCxuKSxMeChvPXQpJiZudWxsIT11diYmdXYhPT1vLl9fdGV4dEZvcm1hdCYmIWh2JiYoby5zZXRUZXh0Rm9ybWF0KHV2KSxvLnNldFRleHRTdHlsZShkdikpLGZ1bmN0aW9uKGUpe0x4KGUpJiZcIlwiIT09ZHYmJmR2IT09ZS5fX3RleHRTdHlsZSYmIWh2JiZlLnNldFRleHRTdHlsZShkdil9KHQpLGN2PXJ9KG4scixpKSxOeChyKXx8ci5pc0lubGluZSgpfHxDdihuLHIsaSkpLER5KHIpJiYobHYrPWhnLGZ2Kz1oZyl9ZWxzZXtjb25zdCB0PXIuZ2V0VGV4dENvbnRlbnQoKTtpZihQeChyKSl7Y29uc3QgdD1yLmRlY29yYXRlKFF5LEp5KTtudWxsIT09dCYmTnYoZSx0KX1lbHNlIGtiKHIpJiYhci5pc0RpcmVjdGlvbmxlc3MoKSYmKGN2Kz10KTtsdis9dCxmdis9dH1pZighaHYmJk54KHIpJiZyLl9fY2FjaGVkVGV4dCE9PWZ2KXtjb25zdCBlPXIuZ2V0V3JpdGFibGUoKTtlLl9fY2FjaGVkVGV4dD1mdixyPWV9cmV0dXJuIGl9ZnVuY3Rpb24gTnYoZSx0KXtsZXQgbj1ReS5fcGVuZGluZ0RlY29yYXRvcnM7Y29uc3Qgcj1ReS5fZGVjb3JhdG9ycztpZihudWxsPT09bil7aWYocltlXT09PXQpcmV0dXJuO249YXkoUXkpfW5bZV09dH1mdW5jdGlvbiBUdihlKXtsZXQgdD1lLm5leHRTaWJsaW5nO3JldHVybiBudWxsIT09dCYmdD09PVF5Ll9ibG9ja0N1cnNvckVsZW1lbnQmJih0PXQubmV4dFNpYmxpbmcpLHR9ZnVuY3Rpb24gTXYoZSl7Y29uc3QgdD1zdi5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PXQmJlBnKDc1LGUpLHR9Y29uc3QgUnY9T2JqZWN0LmZyZWV6ZSh7fSksRHY9W1tcImtleWRvd25cIixmdW5jdGlvbihlLHQpe2lmKGp2PWUudGltZVN0YW1wLEF2PWUua2V5LHQuaXNDb21wb3NpbmcoKSlyZXR1cm47Y29uc3R7a2V5Om4sc2hpZnRLZXk6cixjdHJsS2V5Om8sbWV0YUtleTppLGFsdEtleTpzfT1lO1J5KHQsbXAsZSl8fG51bGwhPW4mJihmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gd3koZSkmJiF0JiYhciYmIW59KG4sbyxzLGkpP1J5KHQsaHAsZSk6ZnVuY3Rpb24oZSx0LG4scixvKXtyZXR1cm4gd3koZSkmJiFyJiYhbiYmKHR8fG8pfShuLG8scixzLGkpP1J5KHQscHAsZSk6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHh5KGUpJiYhdCYmIXImJiFufShuLG8scyxpKT9SeSh0LGdwLGUpOmZ1bmN0aW9uKGUsdCxuLHIsbyl7cmV0dXJuIHh5KGUpJiYhciYmIW4mJih0fHxvKX0obixvLHIscyxpKT9SeSh0LHlwLGUpOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuXCJBcnJvd1VwXCI9PT1lfShlKSYmIXQmJiFufShuLG8saSk/UnkodCx2cCxlKTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVyblwiQXJyb3dEb3duXCI9PT1lfShlKSYmIXQmJiFufShuLG8saSk/UnkodCxicCxlKTpmdW5jdGlvbihlLHQpe3JldHVybiBreShlKSYmdH0obixyKT8oV3Y9ITAsUnkodCx4cCxlKSk6ZnVuY3Rpb24oZSl7cmV0dXJuXCIgXCI9PT1lfShuKT9SeSh0LHdwLGUpOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIFZwJiZ0JiZcIm9cIj09PWUudG9Mb3dlckNhc2UoKX0obixvKT8oZS5wcmV2ZW50RGVmYXVsdCgpLFd2PSEwLFJ5KHQscnAsITApKTpmdW5jdGlvbihlLHQpe3JldHVybiBreShlKSYmIXR9KG4scik/KFd2PSExLFJ5KHQseHAsZSkpOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBWcD8hdCYmIW4mJihFeShlKXx8XCJoXCI9PT1lLnRvTG93ZXJDYXNlKCkmJnIpOiEocnx8dHx8bikmJkV5KGUpfShuLHMsaSxvKT9FeShuKT9SeSh0LFNwLGUpOihlLnByZXZlbnREZWZhdWx0KCksUnkodCxucCwhMCkpOmZ1bmN0aW9uKGUpe3JldHVyblwiRXNjYXBlXCI9PT1lfShuKT9SeSh0LGtwLGUpOmZ1bmN0aW9uKGUsdCxuLHIsbyl7cmV0dXJuIFZwPyEobnx8cnx8bykmJihDeShlKXx8XCJkXCI9PT1lLnRvTG93ZXJDYXNlKCkmJnQpOiEodHx8cnx8bykmJkN5KGUpfShuLG8scixzLGkpP0N5KG4pP1J5KHQsRXAsZSk6KGUucHJldmVudERlZmF1bHQoKSxSeSh0LG5wLCExKSk6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBFeShlKSYmKFZwP3Q6bil9KG4scyxvKT8oZS5wcmV2ZW50RGVmYXVsdCgpLFJ5KHQsbHAsITApKTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEN5KGUpJiYoVnA/dDpuKX0obixzLG8pPyhlLnByZXZlbnREZWZhdWx0KCksUnkodCxscCwhMSkpOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIFZwJiZ0JiZFeShlKX0obixpKT8oZS5wcmV2ZW50RGVmYXVsdCgpLFJ5KHQsY3AsITApKTpmdW5jdGlvbihlLHQpe3JldHVybiBWcCYmdCYmQ3koZSl9KG4saSk/KGUucHJldmVudERlZmF1bHQoKSxSeSh0LGNwLCExKSk6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuXCJiXCI9PT1lLnRvTG93ZXJDYXNlKCkmJiF0JiZTeShuLHIpfShuLHMsaSxvKT8oZS5wcmV2ZW50RGVmYXVsdCgpLFJ5KHQsdXAsXCJib2xkXCIpKTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm5cInVcIj09PWUudG9Mb3dlckNhc2UoKSYmIXQmJlN5KG4scil9KG4scyxpLG8pPyhlLnByZXZlbnREZWZhdWx0KCksUnkodCx1cCxcInVuZGVybGluZVwiKSk6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuXCJpXCI9PT1lLnRvTG93ZXJDYXNlKCkmJiF0JiZTeShuLHIpfShuLHMsaSxvKT8oZS5wcmV2ZW50RGVmYXVsdCgpLFJ5KHQsdXAsXCJpdGFsaWNcIikpOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVyblwiVGFiXCI9PT1lJiYhdCYmIW4mJiFyfShuLHMsbyxpKT9SeSh0LENwLGUpOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVyblwielwiPT09ZS50b0xvd2VyQ2FzZSgpJiYhdCYmU3kobixyKX0obixyLGksbyk/KGUucHJldmVudERlZmF1bHQoKSxSeSh0LGRwLHZvaWQgMCkpOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBWcD9cInpcIj09PWUudG9Mb3dlckNhc2UoKSYmbiYmdDpcInlcIj09PWUudG9Mb3dlckNhc2UoKSYmcnx8XCJ6XCI9PT1lLnRvTG93ZXJDYXNlKCkmJnImJnR9KG4scixpLG8pPyhlLnByZXZlbnREZWZhdWx0KCksUnkodCxmcCx2b2lkIDApKTpBYih0Ll9lZGl0b3JTdGF0ZS5fc2VsZWN0aW9uKT9mdW5jdGlvbihlLHQsbixyKXtyZXR1cm4hdCYmXCJjXCI9PT1lLnRvTG93ZXJDYXNlKCkmJihWcD9uOnIpfShuLHIsaSxvKT8oZS5wcmV2ZW50RGVmYXVsdCgpLFJ5KHQsVHAsZSkpOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiF0JiZcInhcIj09PWUudG9Mb3dlckNhc2UoKSYmKFZwP246cil9KG4scixpLG8pPyhlLnByZXZlbnREZWZhdWx0KCksUnkodCxNcCxlKSk6X3kobixpLG8pJiYoZS5wcmV2ZW50RGVmYXVsdCgpLFJ5KHQsUnAsZSkpOiFVcCYmX3kobixpLG8pJiYoZS5wcmV2ZW50RGVmYXVsdCgpLFJ5KHQsUnAsZSkpLGZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBlfHx0fHxufHxyfShvLHIscyxpKSYmUnkodCx6cCxlKSl9XSxbXCJwb2ludGVyZG93blwiLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1lLnRhcmdldCxyPWUucG9pbnRlclR5cGU7biBpbnN0YW5jZW9mIE5vZGUmJlwidG91Y2hcIiE9PXImJnd4KHQsKCgpPT57UHgoc3kobikpfHwoQnY9ITApfSkpfV0sW1wiY29tcG9zaXRpb25zdGFydFwiLGZ1bmN0aW9uKGUsdCl7d3godCwoKCk9Pntjb25zdCBuPUhiKCk7aWYoRGIobikmJiF0LmlzQ29tcG9zaW5nKCkpe2NvbnN0IHI9bi5hbmNob3Isbz1uLmFuY2hvci5nZXROb2RlKCk7bnkoci5rZXkpLChlLnRpbWVTdGFtcDxqdiszMHx8XCJlbGVtZW50XCI9PT1yLnR5cGV8fCFuLmlzQ29sbGFwc2VkKCl8fG8uZ2V0Rm9ybWF0KCkhPT1uLmZvcm1hdHx8a2IobykmJm8uZ2V0U3R5bGUoKSE9PW4uc3R5bGUpJiZSeSh0LGlwLHBnKX19KSl9XSxbXCJjb21wb3NpdGlvbmVuZFwiLGZ1bmN0aW9uKGUsdCl7VXA/VnY9ITA6d3godCwoKCk9Pntxdih0LGUuZGF0YSl9KSl9XSxbXCJpbnB1dFwiLGZ1bmN0aW9uKGUsdCl7ZS5zdG9wUHJvcGFnYXRpb24oKSx3eCh0LCgoKT0+e2NvbnN0IG49SGIoKSxyPWUuZGF0YSxvPUt2KGUpO2lmKG51bGwhPXImJkRiKG4pJiYkdihuLG8scixlLnRpbWVTdGFtcCwhMSkpe1Z2JiYocXYodCxyKSxWdj0hMSk7Y29uc3Qgbz1uLmFuY2hvci5nZXROb2RlKCksaT1WeSh0Ll93aW5kb3cpO2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBzPW4uaXNCYWNrd2FyZCgpLGE9cz9uLmFuY2hvci5vZmZzZXQ6bi5mb2N1cy5vZmZzZXQsbD1zP24uZm9jdXMub2Zmc2V0Om4uYW5jaG9yLm9mZnNldDskcCYmIW4uaXNDb2xsYXBzZWQoKSYma2IobykmJm51bGwhPT1pLmFuY2hvck5vZGUmJm8uZ2V0VGV4dENvbnRlbnQoKS5zbGljZSgwLGEpK3Irby5nZXRUZXh0Q29udGVudCgpLnNsaWNlKGErbCk9PT15eShpLmFuY2hvck5vZGUpfHxSeSh0LGlwLHIpO2NvbnN0IGM9ci5sZW5ndGg7VXAmJmM+MSYmXCJpbnNlcnRDb21wb3NpdGlvblRleHRcIj09PWUuaW5wdXRUeXBlJiYhdC5pc0NvbXBvc2luZygpJiYobi5hbmNob3Iub2Zmc2V0LT1jKSxZcHx8SHB8fFhwfHwhdC5pc0NvbXBvc2luZygpfHwoanY9MCxueShudWxsKSl9ZWxzZSB2eSghMSx0LG51bGwhPT1yP3I6dm9pZCAwKSxWdiYmKHF2KHQscnx8dm9pZCAwKSxWdj0hMSk7YXgoKSxMZyh1eCgpKX0pKSxMdj1udWxsfV0sW1wiY2xpY2tcIixmdW5jdGlvbihlLHQpe3d4KHQsKCgpPT57Y29uc3Qgbj1IYigpLHI9VnkodC5fd2luZG93KSxvPUtiKCk7aWYocilpZihEYihuKSl7Y29uc3QgdD1uLmFuY2hvcixpPXQuZ2V0Tm9kZSgpO1wiZWxlbWVudFwiPT09dC50eXBlJiYwPT09dC5vZmZzZXQmJm4uaXNDb2xsYXBzZWQoKSYmIU54KGkpJiYxPT09Y3koKS5nZXRDaGlsZHJlblNpemUoKSYmaS5nZXRUb3BMZXZlbEVsZW1lbnRPclRocm93KCkuaXNFbXB0eSgpJiZudWxsIT09byYmbi5pcyhvKT8oci5yZW1vdmVBbGxSYW5nZXMoKSxuLmRpcnR5PSEwKTozIT09ZS5kZXRhaWx8fG4uaXNDb2xsYXBzZWQoKXx8aSE9PW4uZm9jdXMuZ2V0Tm9kZSgpJiYoa3goaSk/aS5zZWxlY3QoMCk6aS5nZXRQYXJlbnRPclRocm93KCkuc2VsZWN0KDApKX1lbHNlIGlmKFwidG91Y2hcIj09PWUucG9pbnRlclR5cGUpe2NvbnN0IG49ci5hbmNob3JOb2RlO2lmKG51bGwhPT1uKXtjb25zdCBpPW4ubm9kZVR5cGU7aSE9PVpwJiZpIT09SnB8fGR5KFliKG8scix0LGUpKX19UnkodCx0cCxlKX0pKX1dLFtcImN1dFwiLFJ2XSxbXCJjb3B5XCIsUnZdLFtcImRyYWdzdGFydFwiLFJ2XSxbXCJkcmFnb3ZlclwiLFJ2XSxbXCJkcmFnZW5kXCIsUnZdLFtcInBhc3RlXCIsUnZdLFtcImZvY3VzXCIsUnZdLFtcImJsdXJcIixSdl0sW1wiZHJvcFwiLFJ2XV07JHAmJkR2LnB1c2goW1wiYmVmb3JlaW5wdXRcIiwoZSx0KT0+ZnVuY3Rpb24oZSx0KXtjb25zdCBuPWUuaW5wdXRUeXBlLHI9S3YoZSk7XCJkZWxldGVDb21wb3NpdGlvblRleHRcIj09PW58fFVwJiZNeSh0KXx8XCJpbnNlcnRDb21wb3NpdGlvblRleHRcIiE9PW4mJnd4KHQsKCgpPT57Y29uc3Qgbz1IYigpO2lmKFwiZGVsZXRlQ29udGVudEJhY2t3YXJkXCI9PT1uKXtpZihudWxsPT09byl7Y29uc3QgZT1LYigpO2lmKCFEYihlKSlyZXR1cm47ZHkoZS5jbG9uZSgpKX1pZihEYihvKSl7Y29uc3Qgbj1vLmFuY2hvci5rZXk9PT1vLmZvY3VzLmtleTtpZihpPWUudGltZVN0YW1wLFwiTWVkaWFMYXN0XCI9PT1BdiYmaTxqdiszMCYmdC5pc0NvbXBvc2luZygpJiZuKXtpZihueShudWxsKSxqdj0wLHNldFRpbWVvdXQoKCgpPT57d3godCwoKCk9PntueShudWxsKX0pKX0pLDMwKSxEYihvKSl7Y29uc3QgZT1vLmFuY2hvci5nZXROb2RlKCk7ZS5tYXJrRGlydHkoKSxvLmZvcm1hdD1lLmdldEZvcm1hdCgpLGtiKGUpfHxQZygxNDIpLG8uc3R5bGU9ZS5nZXRTdHlsZSgpfX1lbHNle255KG51bGwpLGUucHJldmVudERlZmF1bHQoKTtjb25zdCByPW8uYW5jaG9yLmdldE5vZGUoKS5nZXRUZXh0Q29udGVudCgpLGk9MD09PW8uYW5jaG9yLm9mZnNldCYmby5mb2N1cy5vZmZzZXQ9PT1yLmxlbmd0aDtHcCYmbiYmIWl8fFJ5KHQsbnAsITApfXJldHVybn19dmFyIGk7aWYoIURiKG8pKXJldHVybjtjb25zdCBzPWUuZGF0YTtudWxsIT09THYmJnZ5KCExLHQsTHYpLG8uZGlydHkmJm51bGw9PT1Mdnx8IW8uaXNDb2xsYXBzZWQoKXx8Tngoby5hbmNob3IuZ2V0Tm9kZSgpKXx8bnVsbD09PXJ8fG8uYXBwbHlET01SYW5nZShyKSxMdj1udWxsO2NvbnN0IGE9by5hbmNob3IsbD1vLmZvY3VzLGM9YS5nZXROb2RlKCksdT1sLmdldE5vZGUoKTtpZihcImluc2VydFRleHRcIiE9PW4mJlwiaW5zZXJ0VHJhbnNwb3NlXCIhPT1uKXN3aXRjaChlLnByZXZlbnREZWZhdWx0KCksbil7Y2FzZVwiaW5zZXJ0RnJvbVlhbmtcIjpjYXNlXCJpbnNlcnRGcm9tRHJvcFwiOmNhc2VcImluc2VydFJlcGxhY2VtZW50VGV4dFwiOlJ5KHQsaXAsZSk7YnJlYWs7Y2FzZVwiaW5zZXJ0RnJvbUNvbXBvc2l0aW9uXCI6bnkobnVsbCksUnkodCxpcCxlKTticmVhaztjYXNlXCJpbnNlcnRMaW5lQnJlYWtcIjpueShudWxsKSxSeSh0LHJwLCExKTticmVhaztjYXNlXCJpbnNlcnRQYXJhZ3JhcGhcIjpueShudWxsKSxXdiYmIUhwPyhXdj0hMSxSeSh0LHJwLCExKSk6UnkodCxvcCx2b2lkIDApO2JyZWFrO2Nhc2VcImluc2VydEZyb21QYXN0ZVwiOmNhc2VcImluc2VydEZyb21QYXN0ZUFzUXVvdGF0aW9uXCI6UnkodCxzcCxlKTticmVhaztjYXNlXCJkZWxldGVCeUNvbXBvc2l0aW9uXCI6KGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUhPT10fHxreChlKXx8a3godCl8fCFlLmlzVG9rZW4oKXx8IXQuaXNUb2tlbigpfSkoYyx1KSYmUnkodCxhcCxlKTticmVhaztjYXNlXCJkZWxldGVCeURyYWdcIjpjYXNlXCJkZWxldGVCeUN1dFwiOlJ5KHQsYXAsZSk7YnJlYWs7Y2FzZVwiZGVsZXRlQ29udGVudFwiOlJ5KHQsbnAsITEpO2JyZWFrO2Nhc2VcImRlbGV0ZVdvcmRCYWNrd2FyZFwiOlJ5KHQsbHAsITApO2JyZWFrO2Nhc2VcImRlbGV0ZVdvcmRGb3J3YXJkXCI6UnkodCxscCwhMSk7YnJlYWs7Y2FzZVwiZGVsZXRlSGFyZExpbmVCYWNrd2FyZFwiOmNhc2VcImRlbGV0ZVNvZnRMaW5lQmFja3dhcmRcIjpSeSh0LGNwLCEwKTticmVhaztjYXNlXCJkZWxldGVDb250ZW50Rm9yd2FyZFwiOmNhc2VcImRlbGV0ZUhhcmRMaW5lRm9yd2FyZFwiOmNhc2VcImRlbGV0ZVNvZnRMaW5lRm9yd2FyZFwiOlJ5KHQsY3AsITEpO2JyZWFrO2Nhc2VcImZvcm1hdFN0cmlrZVRocm91Z2hcIjpSeSh0LHVwLFwic3RyaWtldGhyb3VnaFwiKTticmVhaztjYXNlXCJmb3JtYXRCb2xkXCI6UnkodCx1cCxcImJvbGRcIik7YnJlYWs7Y2FzZVwiZm9ybWF0SXRhbGljXCI6UnkodCx1cCxcIml0YWxpY1wiKTticmVhaztjYXNlXCJmb3JtYXRVbmRlcmxpbmVcIjpSeSh0LHVwLFwidW5kZXJsaW5lXCIpO2JyZWFrO2Nhc2VcImhpc3RvcnlVbmRvXCI6UnkodCxkcCx2b2lkIDApO2JyZWFrO2Nhc2VcImhpc3RvcnlSZWRvXCI6UnkodCxmcCx2b2lkIDApfWVsc2V7aWYoXCJcXG5cIj09PXMpZS5wcmV2ZW50RGVmYXVsdCgpLFJ5KHQscnAsITEpO2Vsc2UgaWYocz09PWhnKWUucHJldmVudERlZmF1bHQoKSxSeSh0LG9wLHZvaWQgMCk7ZWxzZSBpZihudWxsPT1zJiZlLmRhdGFUcmFuc2Zlcil7Y29uc3QgdD1lLmRhdGFUcmFuc2Zlci5nZXREYXRhKFwidGV4dC9wbGFpblwiKTtlLnByZXZlbnREZWZhdWx0KCksby5pbnNlcnRSYXdUZXh0KHQpfWVsc2UgbnVsbCE9cyYmJHYobyxyLHMsZS50aW1lU3RhbXAsITApPyhlLnByZXZlbnREZWZhdWx0KCksUnkodCxpcCxzKSk6THY9cztJdj1lLnRpbWVTdGFtcH19KSl9KGUsdCldKTtsZXQganY9MCxBdj1udWxsLEl2PTAsTHY9bnVsbDtjb25zdCBGdj1uZXcgV2Vha01hcDtsZXQgenY9ITEsQnY9ITEsV3Y9ITEsVnY9ITEsVXY9WzAsXCJcIiwwLFwicm9vdFwiLDBdO2Z1bmN0aW9uICR2KGUsdCxuLHIsbyl7Y29uc3QgaT1lLmFuY2hvcixzPWUuZm9jdXMsYT1pLmdldE5vZGUoKSxsPXV4KCksYz1WeShsLl93aW5kb3cpLHU9bnVsbCE9PWM/Yy5hbmNob3JOb2RlOm51bGwsZD1pLmtleSxmPWwuZ2V0RWxlbWVudEJ5S2V5KGQpLG09bi5sZW5ndGg7cmV0dXJuIGQhPT1zLmtleXx8IWtiKGEpfHwoIW8mJighJHB8fEl2PHIrNTApfHxhLmlzRGlydHkoKSYmbTwyfHxoeShuKSkmJmkub2Zmc2V0IT09cy5vZmZzZXQmJiFhLmlzQ29tcG9zaW5nKCl8fFhnKGEpfHxhLmlzRGlydHkoKSYmbT4xfHwob3x8ISRwKSYmbnVsbCE9PWYmJiFhLmlzQ29tcG9zaW5nKCkmJnUhPT1KZyhmKXx8bnVsbCE9PWMmJm51bGwhPT10JiYoIXQuY29sbGFwc2VkfHx0LnN0YXJ0Q29udGFpbmVyIT09Yy5hbmNob3JOb2RlfHx0LnN0YXJ0T2Zmc2V0IT09Yy5hbmNob3JPZmZzZXQpfHxhLmdldEZvcm1hdCgpIT09ZS5mb3JtYXR8fGEuZ2V0U3R5bGUoKSE9PWUuc3R5bGV8fGZ1bmN0aW9uKGUsdCl7aWYodC5pc1NlZ21lbnRlZCgpKXJldHVybiEwO2lmKCFlLmlzQ29sbGFwc2VkKCkpcmV0dXJuITE7Y29uc3Qgbj1lLmFuY2hvci5vZmZzZXQscj10LmdldFBhcmVudE9yVGhyb3coKSxvPXQuaXNUb2tlbigpO3JldHVybiAwPT09bj8hdC5jYW5JbnNlcnRUZXh0QmVmb3JlKCl8fCFyLmNhbkluc2VydFRleHRCZWZvcmUoKSYmIXQuaXNDb21wb3NpbmcoKXx8b3x8ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLmdldFByZXZpb3VzU2libGluZygpO3JldHVybihrYih0KXx8a3godCkmJnQuaXNJbmxpbmUoKSkmJiF0LmNhbkluc2VydFRleHRBZnRlcigpfSh0KTpuPT09dC5nZXRUZXh0Q29udGVudFNpemUoKSYmKCF0LmNhbkluc2VydFRleHRBZnRlcigpfHwhci5jYW5JbnNlcnRUZXh0QWZ0ZXIoKSYmIXQuaXNDb21wb3NpbmcoKXx8byl9KGUsYSl9ZnVuY3Rpb24gWXYoZSx0KXtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1lLm5vZGVWYWx1ZSYmZS5ub2RlVHlwZT09PUpwJiYwIT09dCYmdCE9PWUubm9kZVZhbHVlLmxlbmd0aH1mdW5jdGlvbiBIdihlLHQsbil7Y29uc3R7YW5jaG9yTm9kZTpyLGFuY2hvck9mZnNldDpvLGZvY3VzTm9kZTppLGZvY3VzT2Zmc2V0OnN9PWU7enYmJih6dj0hMSxZdihyLG8pJiZZdihpLHMpKXx8d3godCwoKCk9PntpZighbilyZXR1cm4gdm9pZCBkeShudWxsKTtpZighSGcodCxyLGkpKXJldHVybjtjb25zdCBhPUhiKCk7aWYoRGIoYSkpe2NvbnN0IG49YS5hbmNob3Iscj1uLmdldE5vZGUoKTtpZihhLmlzQ29sbGFwc2VkKCkpe1wiUmFuZ2VcIj09PWUudHlwZSYmZS5hbmNob3JOb2RlPT09ZS5mb2N1c05vZGUmJihhLmRpcnR5PSEwKTtjb25zdCBvPUx5KHQpLmV2ZW50LGk9bz9vLnRpbWVTdGFtcDpwZXJmb3JtYW5jZS5ub3coKSxbcyxsLGMsdSxkXT1VdixmPWN5KCksbT0hMT09PXQuaXNDb21wb3NpbmcoKSYmXCJcIj09PWYuZ2V0VGV4dENvbnRlbnQoKTtpZihpPGQrMjAwJiZuLm9mZnNldD09PWMmJm4ua2V5PT09dSlhLmZvcm1hdD1zLGEuc3R5bGU9bDtlbHNlIGlmKFwidGV4dFwiPT09bi50eXBlKWtiKHIpfHxQZygxNDEpLGEuZm9ybWF0PXIuZ2V0Rm9ybWF0KCksYS5zdHlsZT1yLmdldFN0eWxlKCk7ZWxzZSBpZihcImVsZW1lbnRcIj09PW4udHlwZSYmIW0pe2NvbnN0IGU9bi5nZXROb2RlKCk7YS5zdHlsZT1cIlwiLGUgaW5zdGFuY2VvZiBqeCYmMD09PWUuZ2V0Q2hpbGRyZW5TaXplKCk/KGEuZm9ybWF0PWUuZ2V0VGV4dEZvcm1hdCgpLGEuc3R5bGU9ZS5nZXRUZXh0U3R5bGUoKSk6YS5mb3JtYXQ9MH19ZWxzZXtjb25zdCBlPW4ua2V5LHQ9YS5mb2N1cy5rZXkscj1hLmdldE5vZGVzKCksaT1yLmxlbmd0aCxsPWEuaXNCYWNrd2FyZCgpLGM9bD9zOm8sdT1sP286cyxkPWw/dDplLGY9bD9lOnQ7bGV0IG09c2csaD0hMTtmb3IobGV0IGU9MDtlPGk7ZSsrKXtjb25zdCB0PXJbZV0sbj10LmdldFRleHRDb250ZW50U2l6ZSgpO2lmKGtiKHQpJiYwIT09biYmISgwPT09ZSYmdC5fX2tleT09PWQmJmM9PT1ufHxlPT09aS0xJiZ0Ll9fa2V5PT09ZiYmMD09PXUpJiYoaD0hMCxtJj10LmdldEZvcm1hdCgpLDA9PT1tKSlicmVha31hLmZvcm1hdD1oP206MH19UnkodCxlcCx2b2lkIDApfSkpfWZ1bmN0aW9uIEt2KGUpe2lmKCFlLmdldFRhcmdldFJhbmdlcylyZXR1cm4gbnVsbDtjb25zdCB0PWUuZ2V0VGFyZ2V0UmFuZ2VzKCk7cmV0dXJuIDA9PT10Lmxlbmd0aD9udWxsOnRbMF19ZnVuY3Rpb24gcXYoZSx0KXtjb25zdCBuPWUuX2NvbXBvc2l0aW9uS2V5O2lmKG55KG51bGwpLG51bGwhPT1uJiZudWxsIT10KXtpZihcIlwiPT09dCl7Y29uc3QgdD1veShuKSxyPUpnKGUuZ2V0RWxlbWVudEJ5S2V5KG4pKTtyZXR1cm4gdm9pZChudWxsIT09ciYmbnVsbCE9PXIubm9kZVZhbHVlJiZrYih0KSYmYnkodCxyLm5vZGVWYWx1ZSxudWxsLG51bGwsITApKX1pZihcIlxcblwiPT09dFt0Lmxlbmd0aC0xXSl7Y29uc3QgdD1IYigpO2lmKERiKHQpKXtjb25zdCBuPXQuZm9jdXM7cmV0dXJuIHQuYW5jaG9yLnNldChuLmtleSxuLm9mZnNldCxuLnR5cGUpLHZvaWQgUnkoZSx4cCxudWxsKX19fXZ5KCEwLGUsdCl9ZnVuY3Rpb24gR3YoZSl7bGV0IHQ9ZS5fX2xleGljYWxFdmVudEhhbmRsZXM7cmV0dXJuIHZvaWQgMD09PXQmJih0PVtdLGUuX19sZXhpY2FsRXZlbnRIYW5kbGVzPXQpLHR9Y29uc3QgWHY9bmV3IE1hcDtmdW5jdGlvbiBadihlKXtjb25zdCB0PWUudGFyZ2V0LG49VnkobnVsbD09dD9udWxsOjk9PT10Lm5vZGVUeXBlP3QuZGVmYXVsdFZpZXc6dC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KTtpZihudWxsPT09bilyZXR1cm47Y29uc3Qgcj1xZyhuLmFuY2hvck5vZGUpO2lmKG51bGw9PT1yKXJldHVybjtCdiYmKEJ2PSExLHd4KHIsKCgpPT57Y29uc3QgdD1LYigpLG89bi5hbmNob3JOb2RlO2lmKG51bGw9PT1vKXJldHVybjtjb25zdCBpPW8ubm9kZVR5cGU7aSE9PVpwJiZpIT09SnB8fGR5KFliKHQsbixyLGUpKX0pKSk7Y29uc3Qgbz1weShyKSxpPW9bby5sZW5ndGgtMV0scz1pLl9rZXksYT1Ydi5nZXQocyksbD1hfHxpO2whPT1yJiZIdihuLGwsITEpLEh2KG4sciwhMCksciE9PWk/WHYuc2V0KHMscik6YSYmWHYuZGVsZXRlKHMpfWZ1bmN0aW9uIEp2KGUpe2UuX2xleGljYWxIYW5kbGVkPSEwfWZ1bmN0aW9uIFF2KGUpe3JldHVybiEwPT09ZS5fbGV4aWNhbEhhbmRsZWR9ZnVuY3Rpb24gZWIoZSx0LG4pe2F4KCk7Y29uc3Qgcj1lLl9fa2V5LG89ZS5nZXRQYXJlbnQoKTtpZihudWxsPT09bylyZXR1cm47Y29uc3QgaT1mdW5jdGlvbihlKXtjb25zdCB0PUhiKCk7aWYoIURiKHQpfHwha3goZSkpcmV0dXJuIHQ7Y29uc3R7YW5jaG9yOm4sZm9jdXM6cn09dCxvPW4uZ2V0Tm9kZSgpLGk9ci5nZXROb2RlKCk7cmV0dXJuIEl5KG8sZSkmJm4uc2V0KGUuX19rZXksMCxcImVsZW1lbnRcIiksSXkoaSxlKSYmci5zZXQoZS5fX2tleSwwLFwiZWxlbWVudFwiKSx0fShlKTtsZXQgcz0hMTtpZihEYihpKSYmdCl7Y29uc3QgdD1pLmFuY2hvcixuPWkuZm9jdXM7dC5rZXk9PT1yJiYoWGIodCxlLG8sZS5nZXRQcmV2aW91c1NpYmxpbmcoKSxlLmdldE5leHRTaWJsaW5nKCkpLHM9ITApLG4ua2V5PT09ciYmKFhiKG4sZSxvLGUuZ2V0UHJldmlvdXNTaWJsaW5nKCksZS5nZXROZXh0U2libGluZygpKSxzPSEwKX1lbHNlIEFiKGkpJiZ0JiZlLmlzU2VsZWN0ZWQoKSYmZS5zZWxlY3RQcmV2aW91cygpO2lmKERiKGkpJiZ0JiYhcyl7Y29uc3QgdD1lLmdldEluZGV4V2l0aGluUGFyZW50KCk7ZXkoZSkscWIoaSxvLHQsLTEpfWVsc2UgZXkoZSk7bnx8Rnkobyl8fG8uY2FuQmVFbXB0eSgpfHwhby5pc0VtcHR5KCl8fGViKG8sdCksdCYmTngobykmJm8uaXNFbXB0eSgpJiZvLnNlbGVjdEVuZCgpfWNsYXNzIHRie3N0YXRpYyBnZXRUeXBlKCl7UGcoNjQsdGhpcy5uYW1lKX1zdGF0aWMgY2xvbmUoZSl7UGcoNjUsdGhpcy5uYW1lKX1hZnRlckNsb25lRnJvbShlKXt0aGlzLl9fcGFyZW50PWUuX19wYXJlbnQsdGhpcy5fX25leHQ9ZS5fX25leHQsdGhpcy5fX3ByZXY9ZS5fX3ByZXZ9Y29uc3RydWN0b3IoZSl7dGhpcy5fX3R5cGU9dGhpcy5jb25zdHJ1Y3Rvci5nZXRUeXBlKCksdGhpcy5fX3BhcmVudD1udWxsLHRoaXMuX19wcmV2PW51bGwsdGhpcy5fX25leHQ9bnVsbCxmdW5jdGlvbihlLHQpe2lmKG51bGwhPXQpcmV0dXJuIHZvaWQoZS5fX2tleT10KTtheCgpLGx4KCk7Y29uc3Qgbj11eCgpLHI9Y3goKSxvPVwiXCIrVWcrKztyLl9ub2RlTWFwLnNldChvLGUpLGt4KGUpP24uX2RpcnR5RWxlbWVudHMuc2V0KG8sITApOm4uX2RpcnR5TGVhdmVzLmFkZChvKSxuLl9jbG9uZU5vdE5lZWRlZC5hZGQobyksbi5fZGlydHlUeXBlPTEsZS5fX2tleT1vfSh0aGlzLGUpfWdldFR5cGUoKXtyZXR1cm4gdGhpcy5fX3R5cGV9aXNJbmxpbmUoKXtQZygxMzcsdGhpcy5jb25zdHJ1Y3Rvci5uYW1lKX1pc0F0dGFjaGVkKCl7bGV0IGU9dGhpcy5fX2tleTtmb3IoO251bGwhPT1lOyl7aWYoXCJyb290XCI9PT1lKXJldHVybiEwO2NvbnN0IHQ9b3koZSk7aWYobnVsbD09PXQpYnJlYWs7ZT10Ll9fcGFyZW50fXJldHVybiExfWlzU2VsZWN0ZWQoZSl7Y29uc3QgdD1lfHxIYigpO2lmKG51bGw9PXQpcmV0dXJuITE7Y29uc3Qgbj10LmdldE5vZGVzKCkuc29tZSgoZT0+ZS5fX2tleT09PXRoaXMuX19rZXkpKTtpZihrYih0aGlzKSlyZXR1cm4gbjtpZihEYih0KSYmXCJlbGVtZW50XCI9PT10LmFuY2hvci50eXBlJiZcImVsZW1lbnRcIj09PXQuZm9jdXMudHlwZSl7aWYodC5pc0NvbGxhcHNlZCgpKXJldHVybiExO2NvbnN0IGU9dGhpcy5nZXRQYXJlbnQoKTtpZihQeCh0aGlzKSYmdGhpcy5pc0lubGluZSgpJiZlKXtjb25zdCBuPXQuaXNCYWNrd2FyZCgpP3QuZm9jdXM6dC5hbmNob3Iscj1uLmdldE5vZGUoKTtpZihuLm9mZnNldD09PXIuZ2V0Q2hpbGRyZW5TaXplKCkmJnIuaXMoZSkmJnIuZ2V0TGFzdENoaWxkT3JUaHJvdygpLmlzKHRoaXMpKXJldHVybiExfX1yZXR1cm4gbn1nZXRLZXkoKXtyZXR1cm4gdGhpcy5fX2tleX1nZXRJbmRleFdpdGhpblBhcmVudCgpe2NvbnN0IGU9dGhpcy5nZXRQYXJlbnQoKTtpZihudWxsPT09ZSlyZXR1cm4tMTtsZXQgdD1lLmdldEZpcnN0Q2hpbGQoKSxuPTA7Zm9yKDtudWxsIT09dDspe2lmKHRoaXMuaXModCkpcmV0dXJuIG47bisrLHQ9dC5nZXROZXh0U2libGluZygpfXJldHVybi0xfWdldFBhcmVudCgpe2NvbnN0IGU9dGhpcy5nZXRMYXRlc3QoKS5fX3BhcmVudDtyZXR1cm4gbnVsbD09PWU/bnVsbDpveShlKX1nZXRQYXJlbnRPclRocm93KCl7Y29uc3QgZT10aGlzLmdldFBhcmVudCgpO3JldHVybiBudWxsPT09ZSYmUGcoNjYsdGhpcy5fX2tleSksZX1nZXRUb3BMZXZlbEVsZW1lbnQoKXtsZXQgZT10aGlzO2Zvcig7bnVsbCE9PWU7KXtjb25zdCB0PWUuZ2V0UGFyZW50KCk7aWYoRnkodCkpcmV0dXJuIGt4KGUpfHxlPT09dGhpcyYmUHgoZSl8fFBnKDE5NCksZTtlPXR9cmV0dXJuIG51bGx9Z2V0VG9wTGV2ZWxFbGVtZW50T3JUaHJvdygpe2NvbnN0IGU9dGhpcy5nZXRUb3BMZXZlbEVsZW1lbnQoKTtyZXR1cm4gbnVsbD09PWUmJlBnKDY3LHRoaXMuX19rZXkpLGV9Z2V0UGFyZW50cygpe2NvbnN0IGU9W107bGV0IHQ9dGhpcy5nZXRQYXJlbnQoKTtmb3IoO251bGwhPT10OyllLnB1c2godCksdD10LmdldFBhcmVudCgpO3JldHVybiBlfWdldFBhcmVudEtleXMoKXtjb25zdCBlPVtdO2xldCB0PXRoaXMuZ2V0UGFyZW50KCk7Zm9yKDtudWxsIT09dDspZS5wdXNoKHQuX19rZXkpLHQ9dC5nZXRQYXJlbnQoKTtyZXR1cm4gZX1nZXRQcmV2aW91c1NpYmxpbmcoKXtjb25zdCBlPXRoaXMuZ2V0TGF0ZXN0KCkuX19wcmV2O3JldHVybiBudWxsPT09ZT9udWxsOm95KGUpfWdldFByZXZpb3VzU2libGluZ3MoKXtjb25zdCBlPVtdLHQ9dGhpcy5nZXRQYXJlbnQoKTtpZihudWxsPT09dClyZXR1cm4gZTtsZXQgbj10LmdldEZpcnN0Q2hpbGQoKTtmb3IoO251bGwhPT1uJiYhbi5pcyh0aGlzKTspZS5wdXNoKG4pLG49bi5nZXROZXh0U2libGluZygpO3JldHVybiBlfWdldE5leHRTaWJsaW5nKCl7Y29uc3QgZT10aGlzLmdldExhdGVzdCgpLl9fbmV4dDtyZXR1cm4gbnVsbD09PWU/bnVsbDpveShlKX1nZXROZXh0U2libGluZ3MoKXtjb25zdCBlPVtdO2xldCB0PXRoaXMuZ2V0TmV4dFNpYmxpbmcoKTtmb3IoO251bGwhPT10OyllLnB1c2godCksdD10LmdldE5leHRTaWJsaW5nKCk7cmV0dXJuIGV9Z2V0Q29tbW9uQW5jZXN0b3IoZSl7Y29uc3QgdD10aGlzLmdldFBhcmVudHMoKSxuPWUuZ2V0UGFyZW50cygpO2t4KHRoaXMpJiZ0LnVuc2hpZnQodGhpcyksa3goZSkmJm4udW5zaGlmdChlKTtjb25zdCByPXQubGVuZ3RoLG89bi5sZW5ndGg7aWYoMD09PXJ8fDA9PT1vfHx0W3ItMV0hPT1uW28tMV0pcmV0dXJuIG51bGw7Y29uc3QgaT1uZXcgU2V0KG4pO2ZvcihsZXQgZT0wO2U8cjtlKyspe2NvbnN0IG49dFtlXTtpZihpLmhhcyhuKSlyZXR1cm4gbn1yZXR1cm4gbnVsbH1pcyhlKXtyZXR1cm4gbnVsbCE9ZSYmdGhpcy5fX2tleT09PWUuX19rZXl9aXNCZWZvcmUoZSl7aWYodGhpcz09PWUpcmV0dXJuITE7aWYoZS5pc1BhcmVudE9mKHRoaXMpKXJldHVybiEwO2lmKHRoaXMuaXNQYXJlbnRPZihlKSlyZXR1cm4hMTtjb25zdCB0PXRoaXMuZ2V0Q29tbW9uQW5jZXN0b3IoZSk7bGV0IG49MCxyPTAsbz10aGlzO2Zvcig7Oyl7Y29uc3QgZT1vLmdldFBhcmVudE9yVGhyb3coKTtpZihlPT09dCl7bj1vLmdldEluZGV4V2l0aGluUGFyZW50KCk7YnJlYWt9bz1lfWZvcihvPWU7Oyl7Y29uc3QgZT1vLmdldFBhcmVudE9yVGhyb3coKTtpZihlPT09dCl7cj1vLmdldEluZGV4V2l0aGluUGFyZW50KCk7YnJlYWt9bz1lfXJldHVybiBuPHJ9aXNQYXJlbnRPZihlKXtjb25zdCB0PXRoaXMuX19rZXk7aWYodD09PWUuX19rZXkpcmV0dXJuITE7bGV0IG49ZTtmb3IoO251bGwhPT1uOyl7aWYobi5fX2tleT09PXQpcmV0dXJuITA7bj1uLmdldFBhcmVudCgpfXJldHVybiExfWdldE5vZGVzQmV0d2VlbihlKXtjb25zdCB0PXRoaXMuaXNCZWZvcmUoZSksbj1bXSxyPW5ldyBTZXQ7bGV0IG89dGhpcztmb3IoO251bGwhPT1vOyl7Y29uc3QgaT1vLl9fa2V5O2lmKHIuaGFzKGkpfHwoci5hZGQoaSksbi5wdXNoKG8pKSxvPT09ZSlicmVhaztjb25zdCBzPWt4KG8pP3Q/by5nZXRGaXJzdENoaWxkKCk6by5nZXRMYXN0Q2hpbGQoKTpudWxsO2lmKG51bGwhPT1zKXtvPXM7Y29udGludWV9Y29uc3QgYT10P28uZ2V0TmV4dFNpYmxpbmcoKTpvLmdldFByZXZpb3VzU2libGluZygpO2lmKG51bGwhPT1hKXtvPWE7Y29udGludWV9Y29uc3QgbD1vLmdldFBhcmVudE9yVGhyb3coKTtpZihyLmhhcyhsLl9fa2V5KXx8bi5wdXNoKGwpLGw9PT1lKWJyZWFrO2xldCBjPW51bGwsdT1sO2Rve2lmKG51bGw9PT11JiZQZyg2OCksYz10P3UuZ2V0TmV4dFNpYmxpbmcoKTp1LmdldFByZXZpb3VzU2libGluZygpLHU9dS5nZXRQYXJlbnQoKSxudWxsPT09dSlicmVhaztudWxsIT09Y3x8ci5oYXModS5fX2tleSl8fG4ucHVzaCh1KX13aGlsZShudWxsPT09Yyk7bz1jfXJldHVybiB0fHxuLnJldmVyc2UoKSxufWlzRGlydHkoKXtjb25zdCBlPXV4KCkuX2RpcnR5TGVhdmVzO3JldHVybiBudWxsIT09ZSYmZS5oYXModGhpcy5fX2tleSl9Z2V0TGF0ZXN0KCl7Y29uc3QgZT1veSh0aGlzLl9fa2V5KTtyZXR1cm4gbnVsbD09PWUmJlBnKDExMyksZX1nZXRXcml0YWJsZSgpe2F4KCk7Y29uc3QgZT1jeCgpLHQ9dXgoKSxuPWUuX25vZGVNYXAscj10aGlzLl9fa2V5LG89dGhpcy5nZXRMYXRlc3QoKSxpPXQuX2Nsb25lTm90TmVlZGVkLHM9SGIoKTtpZihudWxsIT09cyYmcy5zZXRDYWNoZWROb2RlcyhudWxsKSxpLmhhcyhyKSlyZXR1cm4gdHkobyksbztjb25zdCBhPVh5KG8pO3JldHVybiBpLmFkZChyKSx0eShhKSxuLnNldChyLGEpLGF9Z2V0VGV4dENvbnRlbnQoKXtyZXR1cm5cIlwifWdldFRleHRDb250ZW50U2l6ZSgpe3JldHVybiB0aGlzLmdldFRleHRDb250ZW50KCkubGVuZ3RofWNyZWF0ZURPTShlLHQpe1BnKDcwKX11cGRhdGVET00oZSx0LG4pe1BnKDcxKX1leHBvcnRET00oZSl7cmV0dXJue2VsZW1lbnQ6dGhpcy5jcmVhdGVET00oZS5fY29uZmlnLGUpfX1leHBvcnRKU09OKCl7UGcoNzIpfXN0YXRpYyBpbXBvcnRKU09OKGUpe1BnKDE4LHRoaXMubmFtZSl9c3RhdGljIHRyYW5zZm9ybSgpe3JldHVybiBudWxsfXJlbW92ZShlKXtlYih0aGlzLCEwLGUpfXJlcGxhY2UoZSx0KXtheCgpO2xldCBuPUhiKCk7bnVsbCE9PW4mJihuPW4uY2xvbmUoKSksQnkodGhpcyxlKTtjb25zdCByPXRoaXMuZ2V0TGF0ZXN0KCksbz10aGlzLl9fa2V5LGk9ZS5fX2tleSxzPWUuZ2V0V3JpdGFibGUoKSxhPXRoaXMuZ2V0UGFyZW50T3JUaHJvdygpLmdldFdyaXRhYmxlKCksbD1hLl9fc2l6ZTtleShzKTtjb25zdCBjPXIuZ2V0UHJldmlvdXNTaWJsaW5nKCksdT1yLmdldE5leHRTaWJsaW5nKCksZD1yLl9fcHJldixmPXIuX19uZXh0LG09ci5fX3BhcmVudDtpZihlYihyLCExLCEwKSxudWxsPT09Yz9hLl9fZmlyc3Q9aTpjLmdldFdyaXRhYmxlKCkuX19uZXh0PWkscy5fX3ByZXY9ZCxudWxsPT09dT9hLl9fbGFzdD1pOnUuZ2V0V3JpdGFibGUoKS5fX3ByZXY9aSxzLl9fbmV4dD1mLHMuX19wYXJlbnQ9bSxhLl9fc2l6ZT1sLHQmJihreCh0aGlzKSYma3gocyl8fFBnKDEzOSksdGhpcy5nZXRDaGlsZHJlbigpLmZvckVhY2goKGU9PntzLmFwcGVuZChlKX0pKSksRGIobikpe2R5KG4pO2NvbnN0IGU9bi5hbmNob3IsdD1uLmZvY3VzO2Uua2V5PT09byYmVGIoZSxzKSx0LmtleT09PW8mJlRiKHQscyl9cmV0dXJuIHJ5KCk9PT1vJiZueShpKSxzfWluc2VydEFmdGVyKGUsdD0hMCl7YXgoKSxCeSh0aGlzLGUpO2NvbnN0IG49dGhpcy5nZXRXcml0YWJsZSgpLHI9ZS5nZXRXcml0YWJsZSgpLG89ci5nZXRQYXJlbnQoKSxpPUhiKCk7bGV0IHM9ITEsYT0hMTtpZihudWxsIT09byl7Y29uc3QgdD1lLmdldEluZGV4V2l0aGluUGFyZW50KCk7aWYoZXkociksRGIoaSkpe2NvbnN0IGU9by5fX2tleSxuPWkuYW5jaG9yLHI9aS5mb2N1cztzPVwiZWxlbWVudFwiPT09bi50eXBlJiZuLmtleT09PWUmJm4ub2Zmc2V0PT09dCsxLGE9XCJlbGVtZW50XCI9PT1yLnR5cGUmJnIua2V5PT09ZSYmci5vZmZzZXQ9PT10KzF9fWNvbnN0IGw9dGhpcy5nZXROZXh0U2libGluZygpLGM9dGhpcy5nZXRQYXJlbnRPclRocm93KCkuZ2V0V3JpdGFibGUoKSx1PXIuX19rZXksZD1uLl9fbmV4dDtpZihudWxsPT09bD9jLl9fbGFzdD11OmwuZ2V0V3JpdGFibGUoKS5fX3ByZXY9dSxjLl9fc2l6ZSsrLG4uX19uZXh0PXUsci5fX25leHQ9ZCxyLl9fcHJldj1uLl9fa2V5LHIuX19wYXJlbnQ9bi5fX3BhcmVudCx0JiZEYihpKSl7Y29uc3QgZT10aGlzLmdldEluZGV4V2l0aGluUGFyZW50KCk7cWIoaSxjLGUrMSk7Y29uc3QgdD1jLl9fa2V5O3MmJmkuYW5jaG9yLnNldCh0LGUrMixcImVsZW1lbnRcIiksYSYmaS5mb2N1cy5zZXQodCxlKzIsXCJlbGVtZW50XCIpfXJldHVybiBlfWluc2VydEJlZm9yZShlLHQ9ITApe2F4KCksQnkodGhpcyxlKTtjb25zdCBuPXRoaXMuZ2V0V3JpdGFibGUoKSxyPWUuZ2V0V3JpdGFibGUoKSxvPXIuX19rZXk7ZXkocik7Y29uc3QgaT10aGlzLmdldFByZXZpb3VzU2libGluZygpLHM9dGhpcy5nZXRQYXJlbnRPclRocm93KCkuZ2V0V3JpdGFibGUoKSxhPW4uX19wcmV2LGw9dGhpcy5nZXRJbmRleFdpdGhpblBhcmVudCgpO251bGw9PT1pP3MuX19maXJzdD1vOmkuZ2V0V3JpdGFibGUoKS5fX25leHQ9byxzLl9fc2l6ZSsrLG4uX19wcmV2PW8sci5fX3ByZXY9YSxyLl9fbmV4dD1uLl9fa2V5LHIuX19wYXJlbnQ9bi5fX3BhcmVudDtjb25zdCBjPUhiKCk7cmV0dXJuIHQmJkRiKGMpJiZxYihjLHRoaXMuZ2V0UGFyZW50T3JUaHJvdygpLGwpLGV9aXNQYXJlbnRSZXF1aXJlZCgpe3JldHVybiExfWNyZWF0ZVBhcmVudEVsZW1lbnROb2RlKCl7cmV0dXJuIEl4KCl9c2VsZWN0U3RhcnQoKXtyZXR1cm4gdGhpcy5zZWxlY3RQcmV2aW91cygpfXNlbGVjdEVuZCgpe3JldHVybiB0aGlzLnNlbGVjdE5leHQoMCwwKX1zZWxlY3RQcmV2aW91cyhlLHQpe2F4KCk7Y29uc3Qgbj10aGlzLmdldFByZXZpb3VzU2libGluZygpLHI9dGhpcy5nZXRQYXJlbnRPclRocm93KCk7aWYobnVsbD09PW4pcmV0dXJuIHIuc2VsZWN0KDAsMCk7aWYoa3gobikpcmV0dXJuIG4uc2VsZWN0KCk7aWYoIWtiKG4pKXtjb25zdCBlPW4uZ2V0SW5kZXhXaXRoaW5QYXJlbnQoKSsxO3JldHVybiByLnNlbGVjdChlLGUpfXJldHVybiBuLnNlbGVjdChlLHQpfXNlbGVjdE5leHQoZSx0KXtheCgpO2NvbnN0IG49dGhpcy5nZXROZXh0U2libGluZygpLHI9dGhpcy5nZXRQYXJlbnRPclRocm93KCk7aWYobnVsbD09PW4pcmV0dXJuIHIuc2VsZWN0KCk7aWYoa3gobikpcmV0dXJuIG4uc2VsZWN0KDAsMCk7aWYoIWtiKG4pKXtjb25zdCBlPW4uZ2V0SW5kZXhXaXRoaW5QYXJlbnQoKTtyZXR1cm4gci5zZWxlY3QoZSxlKX1yZXR1cm4gbi5zZWxlY3QoZSx0KX1tYXJrRGlydHkoKXt0aGlzLmdldFdyaXRhYmxlKCl9fWNsYXNzIG5iIGV4dGVuZHMgdGJ7c3RhdGljIGdldFR5cGUoKXtyZXR1cm5cImxpbmVicmVha1wifXN0YXRpYyBjbG9uZShlKXtyZXR1cm4gbmV3IG5iKGUuX19rZXkpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKGUpfWdldFRleHRDb250ZW50KCl7cmV0dXJuXCJcXG5cIn1jcmVhdGVET00oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJyXCIpfXVwZGF0ZURPTSgpe3JldHVybiExfXN0YXRpYyBpbXBvcnRET00oKXtyZXR1cm57YnI6ZT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnBhcmVudEVsZW1lbnQ7aWYobnVsbCE9PXQmJll5KHQpKXtjb25zdCBuPXQuZmlyc3RDaGlsZDtpZihuPT09ZXx8bi5uZXh0U2libGluZz09PWUmJnNiKG4pKXtjb25zdCBuPXQubGFzdENoaWxkO2lmKG49PT1lfHxuLnByZXZpb3VzU2libGluZz09PWUmJnNiKG4pKXJldHVybiEwfX1yZXR1cm4hMX0oZSl8fGZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5wYXJlbnRFbGVtZW50O2lmKG51bGwhPT10JiZZeSh0KSl7Y29uc3Qgbj10LmZpcnN0Q2hpbGQ7aWYobj09PWV8fG4ubmV4dFNpYmxpbmc9PT1lJiZzYihuKSlyZXR1cm4hMTtjb25zdCByPXQubGFzdENoaWxkO2lmKHI9PT1lfHxyLnByZXZpb3VzU2libGluZz09PWUmJnNiKHIpKXJldHVybiEwfXJldHVybiExfShlKT9udWxsOntjb252ZXJzaW9uOnJiLHByaW9yaXR5OjB9fX1zdGF0aWMgaW1wb3J0SlNPTihlKXtyZXR1cm4gb2IoKX1leHBvcnRKU09OKCl7cmV0dXJue3R5cGU6XCJsaW5lYnJlYWtcIix2ZXJzaW9uOjF9fX1mdW5jdGlvbiByYihlKXtyZXR1cm57bm9kZTpvYigpfX1mdW5jdGlvbiBvYigpe3JldHVybiB6eShuZXcgbmIpfWZ1bmN0aW9uIGliKGUpe3JldHVybiBlIGluc3RhbmNlb2YgbmJ9ZnVuY3Rpb24gc2IoZSl7cmV0dXJuIGUubm9kZVR5cGU9PT1KcCYmL14oIHxcXHR8XFxyP1xcbikrJC8udGVzdChlLnRleHRDb250ZW50fHxcIlwiKX1mdW5jdGlvbiBhYihlLHQpe3JldHVybiAxNiZ0P1wiY29kZVwiOjEyOCZ0P1wibWFya1wiOjMyJnQ/XCJzdWJcIjo2NCZ0P1wic3VwXCI6bnVsbH1mdW5jdGlvbiBsYihlLHQpe3JldHVybiAxJnQ/XCJzdHJvbmdcIjoyJnQ/XCJlbVwiOlwic3BhblwifWZ1bmN0aW9uIGNiKGUsdCxuLHIsbyl7Y29uc3QgaT1yLmNsYXNzTGlzdDtsZXQgcz1QeShvLFwiYmFzZVwiKTt2b2lkIDAhPT1zJiZpLmFkZCguLi5zKSxzPVB5KG8sXCJ1bmRlcmxpbmVTdHJpa2V0aHJvdWdoXCIpO2xldCBhPSExO2NvbnN0IGw9dCZpZyYmdCZvZzt2b2lkIDAhPT1zJiYobiZpZyYmbiZvZz8oYT0hMCxsfHxpLmFkZCguLi5zKSk6bCYmaS5yZW1vdmUoLi4ucykpO2Zvcihjb25zdCBlIGluIHhnKXtjb25zdCByPXhnW2VdO2lmKHM9UHkobyxlKSx2b2lkIDAhPT1zKWlmKG4mcil7aWYoYSYmKFwidW5kZXJsaW5lXCI9PT1lfHxcInN0cmlrZXRocm91Z2hcIj09PWUpKXt0JnImJmkucmVtb3ZlKC4uLnMpO2NvbnRpbnVlfXQmciYmKCFsfHxcInVuZGVybGluZVwiIT09ZSkmJlwic3RyaWtldGhyb3VnaFwiIT09ZXx8aS5hZGQoLi4ucyl9ZWxzZSB0JnImJmkucmVtb3ZlKC4uLnMpfX1mdW5jdGlvbiB1YihlLHQsbil7Y29uc3Qgcj10LmZpcnN0Q2hpbGQsbz1uLmlzQ29tcG9zaW5nKCksaT1lKyhvP21nOlwiXCIpO2lmKG51bGw9PXIpdC50ZXh0Q29udGVudD1pO2Vsc2V7Y29uc3QgZT1yLm5vZGVWYWx1ZTtpZihlIT09aSlpZihvfHxVcCl7Y29uc3RbdCxuLG9dPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1lLmxlbmd0aCxyPXQubGVuZ3RoO2xldCBvPTAsaT0wO2Zvcig7bzxuJiZvPHImJmVbb109PT10W29dOylvKys7Zm9yKDtpK288biYmaStvPHImJmVbbi1pLTFdPT09dFtyLWktMV07KWkrKztyZXR1cm5bbyxuLW8taSx0LnNsaWNlKG8sci1pKV19KGUsaSk7MCE9PW4mJnIuZGVsZXRlRGF0YSh0LG4pLHIuaW5zZXJ0RGF0YSh0LG8pfWVsc2Ugci5ub2RlVmFsdWU9aX19ZnVuY3Rpb24gZGIoZSx0LG4scixvLGkpe3ViKG8sZSx0KTtjb25zdCBzPWkudGhlbWUudGV4dDt2b2lkIDAhPT1zJiZjYigwLDAscixlLHMpfWZ1bmN0aW9uIGZiKGUsdCl7Y29uc3Qgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3JldHVybiBuLmFwcGVuZENoaWxkKGUpLG59Y2xhc3MgbWIgZXh0ZW5kcyB0YntzdGF0aWMgZ2V0VHlwZSgpe3JldHVyblwidGV4dFwifXN0YXRpYyBjbG9uZShlKXtyZXR1cm4gbmV3IG1iKGUuX190ZXh0LGUuX19rZXkpfWFmdGVyQ2xvbmVGcm9tKGUpe3N1cGVyLmFmdGVyQ2xvbmVGcm9tKGUpLHRoaXMuX19mb3JtYXQ9ZS5fX2Zvcm1hdCx0aGlzLl9fc3R5bGU9ZS5fX3N0eWxlLHRoaXMuX19tb2RlPWUuX19tb2RlLHRoaXMuX19kZXRhaWw9ZS5fX2RldGFpbH1jb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHQpLHRoaXMuX190ZXh0PWUsdGhpcy5fX2Zvcm1hdD0wLHRoaXMuX19zdHlsZT1cIlwiLHRoaXMuX19tb2RlPTAsdGhpcy5fX2RldGFpbD0wfWdldEZvcm1hdCgpe3JldHVybiB0aGlzLmdldExhdGVzdCgpLl9fZm9ybWF0fWdldERldGFpbCgpe3JldHVybiB0aGlzLmdldExhdGVzdCgpLl9fZGV0YWlsfWdldE1vZGUoKXtjb25zdCBlPXRoaXMuZ2V0TGF0ZXN0KCk7cmV0dXJuIENnW2UuX19tb2RlXX1nZXRTdHlsZSgpe3JldHVybiB0aGlzLmdldExhdGVzdCgpLl9fc3R5bGV9aXNUb2tlbigpe3JldHVybiAxPT09dGhpcy5nZXRMYXRlc3QoKS5fX21vZGV9aXNDb21wb3NpbmcoKXtyZXR1cm4gdGhpcy5fX2tleT09PXJ5KCl9aXNTZWdtZW50ZWQoKXtyZXR1cm4gMj09PXRoaXMuZ2V0TGF0ZXN0KCkuX19tb2RlfWlzRGlyZWN0aW9ubGVzcygpe3JldHVybiEhKDEmdGhpcy5nZXRMYXRlc3QoKS5fX2RldGFpbCl9aXNVbm1lcmdlYWJsZSgpe3JldHVybiEhKDImdGhpcy5nZXRMYXRlc3QoKS5fX2RldGFpbCl9aGFzRm9ybWF0KGUpe2NvbnN0IHQ9eGdbZV07cmV0dXJuISEodGhpcy5nZXRGb3JtYXQoKSZ0KX1pc1NpbXBsZVRleHQoKXtyZXR1cm5cInRleHRcIj09PXRoaXMuX190eXBlJiYwPT09dGhpcy5fX21vZGV9Z2V0VGV4dENvbnRlbnQoKXtyZXR1cm4gdGhpcy5nZXRMYXRlc3QoKS5fX3RleHR9Z2V0Rm9ybWF0RmxhZ3MoZSx0KXtyZXR1cm4gUWcodGhpcy5nZXRMYXRlc3QoKS5fX2Zvcm1hdCxlLHQpfWNhbkhhdmVGb3JtYXQoKXtyZXR1cm4hMH1jcmVhdGVET00oZSx0KXtjb25zdCBuPXRoaXMuX19mb3JtYXQscj1hYigwLG4pLG89bGIoMCxuKSxpPW51bGw9PT1yP286cixzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaSk7bGV0IGE9czt0aGlzLmhhc0Zvcm1hdChcImNvZGVcIikmJnMuc2V0QXR0cmlidXRlKFwic3BlbGxjaGVja1wiLFwiZmFsc2VcIiksbnVsbCE9PXImJihhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobykscy5hcHBlbmRDaGlsZChhKSksZGIoYSx0aGlzLDAsbix0aGlzLl9fdGV4dCxlKTtjb25zdCBsPXRoaXMuX19zdHlsZTtyZXR1cm5cIlwiIT09bCYmKHMuc3R5bGUuY3NzVGV4dD1sKSxzfXVwZGF0ZURPTShlLHQsbil7Y29uc3Qgcj10aGlzLl9fdGV4dCxvPWUuX19mb3JtYXQsaT10aGlzLl9fZm9ybWF0LHM9YWIoMCxvKSxhPWFiKDAsaSksbD1sYigwLG8pLGM9bGIoMCxpKTtpZigobnVsbD09PXM/bDpzKSE9PShudWxsPT09YT9jOmEpKXJldHVybiEwO2lmKHM9PT1hJiZsIT09Yyl7Y29uc3QgZT10LmZpcnN0Q2hpbGQ7bnVsbD09ZSYmUGcoNDgpO2NvbnN0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChjKTtyZXR1cm4gZGIobyx0aGlzLDAsaSxyLG4pLHQucmVwbGFjZUNoaWxkKG8sZSksITF9bGV0IHU9dDtudWxsIT09YSYmbnVsbCE9PXMmJih1PXQuZmlyc3RDaGlsZCxudWxsPT11JiZQZyg0OSkpLHViKHIsdSx0aGlzKTtjb25zdCBkPW4udGhlbWUudGV4dDt2b2lkIDAhPT1kJiZvIT09aSYmY2IoMCxvLGksdSxkKTtjb25zdCBmPWUuX19zdHlsZSxtPXRoaXMuX19zdHlsZTtyZXR1cm4gZiE9PW0mJih0LnN0eWxlLmNzc1RleHQ9bSksITF9c3RhdGljIGltcG9ydERPTSgpe3JldHVybntcIiN0ZXh0XCI6KCk9Pih7Y29udmVyc2lvbjp2Yixwcmlvcml0eTowfSksYjooKT0+KHtjb252ZXJzaW9uOnBiLHByaW9yaXR5OjB9KSxjb2RlOigpPT4oe2NvbnZlcnNpb246d2IscHJpb3JpdHk6MH0pLGVtOigpPT4oe2NvbnZlcnNpb246d2IscHJpb3JpdHk6MH0pLGk6KCk9Pih7Y29udmVyc2lvbjp3Yixwcmlvcml0eTowfSksczooKT0+KHtjb252ZXJzaW9uOndiLHByaW9yaXR5OjB9KSxzcGFuOigpPT4oe2NvbnZlcnNpb246aGIscHJpb3JpdHk6MH0pLHN0cm9uZzooKT0+KHtjb252ZXJzaW9uOndiLHByaW9yaXR5OjB9KSxzdWI6KCk9Pih7Y29udmVyc2lvbjp3Yixwcmlvcml0eTowfSksc3VwOigpPT4oe2NvbnZlcnNpb246d2IscHJpb3JpdHk6MH0pLHU6KCk9Pih7Y29udmVyc2lvbjp3Yixwcmlvcml0eTowfSl9fXN0YXRpYyBpbXBvcnRKU09OKGUpe2NvbnN0IHQ9U2IoZS50ZXh0KTtyZXR1cm4gdC5zZXRGb3JtYXQoZS5mb3JtYXQpLHQuc2V0RGV0YWlsKGUuZGV0YWlsKSx0LnNldE1vZGUoZS5tb2RlKSx0LnNldFN0eWxlKGUuc3R5bGUpLHR9ZXhwb3J0RE9NKGUpe2xldHtlbGVtZW50OnR9PXN1cGVyLmV4cG9ydERPTShlKTtyZXR1cm4gbnVsbCE9PXQmJlV5KHQpfHxQZygxMzIpLHQuc3R5bGUud2hpdGVTcGFjZT1cInByZS13cmFwXCIsdGhpcy5oYXNGb3JtYXQoXCJib2xkXCIpJiYodD1mYih0LFwiYlwiKSksdGhpcy5oYXNGb3JtYXQoXCJpdGFsaWNcIikmJih0PWZiKHQsXCJpXCIpKSx0aGlzLmhhc0Zvcm1hdChcInN0cmlrZXRocm91Z2hcIikmJih0PWZiKHQsXCJzXCIpKSx0aGlzLmhhc0Zvcm1hdChcInVuZGVybGluZVwiKSYmKHQ9ZmIodCxcInVcIikpLHtlbGVtZW50OnR9fWV4cG9ydEpTT04oKXtyZXR1cm57ZGV0YWlsOnRoaXMuZ2V0RGV0YWlsKCksZm9ybWF0OnRoaXMuZ2V0Rm9ybWF0KCksbW9kZTp0aGlzLmdldE1vZGUoKSxzdHlsZTp0aGlzLmdldFN0eWxlKCksdGV4dDp0aGlzLmdldFRleHRDb250ZW50KCksdHlwZTpcInRleHRcIix2ZXJzaW9uOjF9fXNlbGVjdGlvblRyYW5zZm9ybShlLHQpe31zZXRGb3JtYXQoZSl7Y29uc3QgdD10aGlzLmdldFdyaXRhYmxlKCk7cmV0dXJuIHQuX19mb3JtYXQ9XCJzdHJpbmdcIj09dHlwZW9mIGU/eGdbZV06ZSx0fXNldERldGFpbChlKXtjb25zdCB0PXRoaXMuZ2V0V3JpdGFibGUoKTtyZXR1cm4gdC5fX2RldGFpbD1cInN0cmluZ1wiPT10eXBlb2YgZT93Z1tlXTplLHR9c2V0U3R5bGUoZSl7Y29uc3QgdD10aGlzLmdldFdyaXRhYmxlKCk7cmV0dXJuIHQuX19zdHlsZT1lLHR9dG9nZ2xlRm9ybWF0KGUpe2NvbnN0IHQ9UWcodGhpcy5nZXRGb3JtYXQoKSxlLG51bGwpO3JldHVybiB0aGlzLnNldEZvcm1hdCh0KX10b2dnbGVEaXJlY3Rpb25sZXNzKCl7Y29uc3QgZT10aGlzLmdldFdyaXRhYmxlKCk7cmV0dXJuIGUuX19kZXRhaWxePTEsZX10b2dnbGVVbm1lcmdlYWJsZSgpe2NvbnN0IGU9dGhpcy5nZXRXcml0YWJsZSgpO3JldHVybiBlLl9fZGV0YWlsXj0yLGV9c2V0TW9kZShlKXtjb25zdCB0PUVnW2VdO2lmKHRoaXMuX19tb2RlPT09dClyZXR1cm4gdGhpcztjb25zdCBuPXRoaXMuZ2V0V3JpdGFibGUoKTtyZXR1cm4gbi5fX21vZGU9dCxufXNldFRleHRDb250ZW50KGUpe2lmKHRoaXMuX190ZXh0PT09ZSlyZXR1cm4gdGhpcztjb25zdCB0PXRoaXMuZ2V0V3JpdGFibGUoKTtyZXR1cm4gdC5fX3RleHQ9ZSx0fXNlbGVjdChlLHQpe2F4KCk7bGV0IG49ZSxyPXQ7Y29uc3Qgbz1IYigpLGk9dGhpcy5nZXRUZXh0Q29udGVudCgpLHM9dGhpcy5fX2tleTtpZihcInN0cmluZ1wiPT10eXBlb2YgaSl7Y29uc3QgZT1pLmxlbmd0aDt2b2lkIDA9PT1uJiYobj1lKSx2b2lkIDA9PT1yJiYocj1lKX1lbHNlIG49MCxyPTA7aWYoIURiKG8pKXJldHVybiBVYihzLG4scyxyLFwidGV4dFwiLFwidGV4dFwiKTt7Y29uc3QgZT1yeSgpO2UhPT1vLmFuY2hvci5rZXkmJmUhPT1vLmZvY3VzLmtleXx8bnkocyksby5zZXRUZXh0Tm9kZVJhbmdlKHRoaXMsbix0aGlzLHIpfXJldHVybiBvfXNlbGVjdFN0YXJ0KCl7cmV0dXJuIHRoaXMuc2VsZWN0KDAsMCl9c2VsZWN0RW5kKCl7Y29uc3QgZT10aGlzLmdldFRleHRDb250ZW50U2l6ZSgpO3JldHVybiB0aGlzLnNlbGVjdChlLGUpfXNwbGljZVRleHQoZSx0LG4scil7Y29uc3Qgbz10aGlzLmdldFdyaXRhYmxlKCksaT1vLl9fdGV4dCxzPW4ubGVuZ3RoO2xldCBhPWU7YTwwJiYoYT1zK2EsYTwwJiYoYT0wKSk7Y29uc3QgbD1IYigpO2lmKHImJkRiKGwpKXtjb25zdCB0PWUrcztsLnNldFRleHROb2RlUmFuZ2Uobyx0LG8sdCl9Y29uc3QgYz1pLnNsaWNlKDAsYSkrbitpLnNsaWNlKGErdCk7cmV0dXJuIG8uX190ZXh0PWMsb31jYW5JbnNlcnRUZXh0QmVmb3JlKCl7cmV0dXJuITB9Y2FuSW5zZXJ0VGV4dEFmdGVyKCl7cmV0dXJuITB9c3BsaXRUZXh0KC4uLmUpe2F4KCk7Y29uc3QgdD10aGlzLmdldExhdGVzdCgpLG49dC5nZXRUZXh0Q29udGVudCgpLHI9dC5fX2tleSxvPXJ5KCksaT1uZXcgU2V0KGUpLHM9W10sYT1uLmxlbmd0aDtsZXQgbD1cIlwiO2ZvcihsZXQgZT0wO2U8YTtlKyspXCJcIiE9PWwmJmkuaGFzKGUpJiYocy5wdXNoKGwpLGw9XCJcIiksbCs9bltlXTtcIlwiIT09bCYmcy5wdXNoKGwpO2NvbnN0IGM9cy5sZW5ndGg7aWYoMD09PWMpcmV0dXJuW107aWYoc1swXT09PW4pcmV0dXJuW3RdO2NvbnN0IHU9c1swXSxkPXQuZ2V0UGFyZW50KCk7bGV0IGY7Y29uc3QgbT10LmdldEZvcm1hdCgpLGg9dC5nZXRTdHlsZSgpLHA9dC5fX2RldGFpbDtsZXQgZz0hMTt0LmlzU2VnbWVudGVkKCk/KGY9U2IodSksZi5fX2Zvcm1hdD1tLGYuX19zdHlsZT1oLGYuX19kZXRhaWw9cCxnPSEwKTooZj10LmdldFdyaXRhYmxlKCksZi5fX3RleHQ9dSk7Y29uc3QgeT1IYigpLHY9W2ZdO2xldCBiPXUubGVuZ3RoO2ZvcihsZXQgZT0xO2U8YztlKyspe2NvbnN0IHQ9c1tlXSxuPXQubGVuZ3RoLGk9U2IodCkuZ2V0V3JpdGFibGUoKTtpLl9fZm9ybWF0PW0saS5fX3N0eWxlPWgsaS5fX2RldGFpbD1wO2NvbnN0IGE9aS5fX2tleSxsPWIrbjtpZihEYih5KSl7Y29uc3QgZT15LmFuY2hvcix0PXkuZm9jdXM7ZS5rZXk9PT1yJiZcInRleHRcIj09PWUudHlwZSYmZS5vZmZzZXQ+YiYmZS5vZmZzZXQ8PWwmJihlLmtleT1hLGUub2Zmc2V0LT1iLHkuZGlydHk9ITApLHQua2V5PT09ciYmXCJ0ZXh0XCI9PT10LnR5cGUmJnQub2Zmc2V0PmImJnQub2Zmc2V0PD1sJiYodC5rZXk9YSx0Lm9mZnNldC09Yix5LmRpcnR5PSEwKX1vPT09ciYmbnkoYSksYj1sLHYucHVzaChpKX1pZihudWxsIT09ZCl7IWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5nZXRQcmV2aW91c1NpYmxpbmcoKSxuPWUuZ2V0TmV4dFNpYmxpbmcoKTtudWxsIT09dCYmdHkodCksbnVsbCE9PW4mJnR5KG4pfSh0aGlzKTtjb25zdCBlPWQuZ2V0V3JpdGFibGUoKSx0PXRoaXMuZ2V0SW5kZXhXaXRoaW5QYXJlbnQoKTtnPyhlLnNwbGljZSh0LDAsdiksdGhpcy5yZW1vdmUoKSk6ZS5zcGxpY2UodCwxLHYpLERiKHkpJiZxYih5LGQsdCxjLTEpfXJldHVybiB2fW1lcmdlV2l0aFNpYmxpbmcoZSl7Y29uc3QgdD1lPT09dGhpcy5nZXRQcmV2aW91c1NpYmxpbmcoKTt0fHxlPT09dGhpcy5nZXROZXh0U2libGluZygpfHxQZyg1MCk7Y29uc3Qgbj10aGlzLl9fa2V5LHI9ZS5fX2tleSxvPXRoaXMuX190ZXh0LGk9by5sZW5ndGg7cnkoKT09PXImJm55KG4pO2NvbnN0IHM9SGIoKTtpZihEYihzKSl7Y29uc3Qgbz1zLmFuY2hvcixhPXMuZm9jdXM7bnVsbCE9PW8mJm8ua2V5PT09ciYmKFpiKG8sdCxuLGUsaSkscy5kaXJ0eT0hMCksbnVsbCE9PWEmJmEua2V5PT09ciYmKFpiKGEsdCxuLGUsaSkscy5kaXJ0eT0hMCl9Y29uc3QgYT1lLl9fdGV4dCxsPXQ/YStvOm8rYTt0aGlzLnNldFRleHRDb250ZW50KGwpO2NvbnN0IGM9dGhpcy5nZXRXcml0YWJsZSgpO3JldHVybiBlLnJlbW92ZSgpLGN9aXNUZXh0RW50aXR5KCl7cmV0dXJuITF9fWZ1bmN0aW9uIGhiKGUpe3JldHVybntmb3JDaGlsZDpFYihlLnN0eWxlKSxub2RlOm51bGx9fWZ1bmN0aW9uIHBiKGUpe2NvbnN0IHQ9ZSxuPVwibm9ybWFsXCI9PT10LnN0eWxlLmZvbnRXZWlnaHQ7cmV0dXJue2ZvckNoaWxkOkViKHQuc3R5bGUsbj92b2lkIDA6XCJib2xkXCIpLG5vZGU6bnVsbH19Y29uc3QgZ2I9bmV3IFdlYWtNYXA7ZnVuY3Rpb24geWIoZSl7cmV0dXJuXCJQUkVcIj09PWUubm9kZU5hbWV8fGUubm9kZVR5cGU9PT1acCYmdm9pZCAwIT09ZS5zdHlsZSYmdm9pZCAwIT09ZS5zdHlsZS53aGl0ZVNwYWNlJiZlLnN0eWxlLndoaXRlU3BhY2Uuc3RhcnRzV2l0aChcInByZVwiKX1mdW5jdGlvbiB2YihlKXtjb25zdCB0PWU7bnVsbD09PWUucGFyZW50RWxlbWVudCYmUGcoMTI5KTtsZXQgbj10LnRleHRDb250ZW50fHxcIlwiO2lmKG51bGwhPT1mdW5jdGlvbihlKXtsZXQgdCxuPWUucGFyZW50Tm9kZTtjb25zdCByPVtlXTtmb3IoO251bGwhPT1uJiZ2b2lkIDA9PT0odD1nYi5nZXQobikpJiYheWIobik7KXIucHVzaChuKSxuPW4ucGFyZW50Tm9kZTtjb25zdCBvPXZvaWQgMD09PXQ/bjp0O2ZvcihsZXQgZT0wO2U8ci5sZW5ndGg7ZSsrKWdiLnNldChyW2VdLG8pO3JldHVybiBvfSh0KSl7Y29uc3QgZT1uLnNwbGl0KC8oXFxyP1xcbnxcXHQpLyksdD1bXSxyPWUubGVuZ3RoO2ZvcihsZXQgbj0wO248cjtuKyspe2NvbnN0IHI9ZVtuXTtcIlxcblwiPT09cnx8XCJcXHJcXG5cIj09PXI/dC5wdXNoKG9iKCkpOlwiXFx0XCI9PT1yP3QucHVzaChfYigpKTpcIlwiIT09ciYmdC5wdXNoKFNiKHIpKX1yZXR1cm57bm9kZTp0fX1pZihuPW4ucmVwbGFjZSgvXFxyL2csXCJcIikucmVwbGFjZSgvWyBcXHRcXG5dKy9nLFwiIFwiKSxcIlwiPT09bilyZXR1cm57bm9kZTpudWxsfTtpZihcIiBcIj09PW5bMF0pe2xldCBlPXQscj0hMDtmb3IoO251bGwhPT1lJiZudWxsIT09KGU9YmIoZSwhMSkpOyl7Y29uc3QgdD1lLnRleHRDb250ZW50fHxcIlwiO2lmKHQubGVuZ3RoPjApey9bIFxcdFxcbl0kLy50ZXN0KHQpJiYobj1uLnNsaWNlKDEpKSxyPSExO2JyZWFrfX1yJiYobj1uLnNsaWNlKDEpKX1pZihcIiBcIj09PW5bbi5sZW5ndGgtMV0pe2xldCBlPXQscj0hMDtmb3IoO251bGwhPT1lJiZudWxsIT09KGU9YmIoZSwhMCkpOylpZigoZS50ZXh0Q29udGVudHx8XCJcIikucmVwbGFjZSgvXiggfFxcdHxcXHI/XFxuKSsvLFwiXCIpLmxlbmd0aD4wKXtyPSExO2JyZWFrfXImJihuPW4uc2xpY2UoMCxuLmxlbmd0aC0xKSl9cmV0dXJuXCJcIj09PW4/e25vZGU6bnVsbH06e25vZGU6U2Iobil9fWZ1bmN0aW9uIGJiKGUsdCl7bGV0IG49ZTtmb3IoOzspe2xldCBlO2Zvcig7bnVsbD09PShlPXQ/bi5uZXh0U2libGluZzpuLnByZXZpb3VzU2libGluZyk7KXtjb25zdCBlPW4ucGFyZW50RWxlbWVudDtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtuPWV9aWYobj1lLG4ubm9kZVR5cGU9PT1acCl7Y29uc3QgZT1uLnN0eWxlLmRpc3BsYXk7aWYoXCJcIj09PWUmJiEkeShuKXx8XCJcIiE9PWUmJiFlLnN0YXJ0c1dpdGgoXCJpbmxpbmVcIikpcmV0dXJuIG51bGx9bGV0IHI9bjtmb3IoO251bGwhPT0ocj10P24uZmlyc3RDaGlsZDpuLmxhc3RDaGlsZCk7KW49cjtpZihuLm5vZGVUeXBlPT09SnApcmV0dXJuIG47aWYoXCJCUlwiPT09bi5ub2RlTmFtZSlyZXR1cm4gbnVsbH19Y29uc3QgeGI9e2NvZGU6XCJjb2RlXCIsZW06XCJpdGFsaWNcIixpOlwiaXRhbGljXCIsczpcInN0cmlrZXRocm91Z2hcIixzdHJvbmc6XCJib2xkXCIsc3ViOlwic3Vic2NyaXB0XCIsc3VwOlwic3VwZXJzY3JpcHRcIix1OlwidW5kZXJsaW5lXCJ9O2Z1bmN0aW9uIHdiKGUpe2NvbnN0IHQ9eGJbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXTtyZXR1cm4gdm9pZCAwPT09dD97bm9kZTpudWxsfTp7Zm9yQ2hpbGQ6RWIoZS5zdHlsZSx0KSxub2RlOm51bGx9fWZ1bmN0aW9uIFNiKGU9XCJcIil7cmV0dXJuIHp5KG5ldyBtYihlKSl9ZnVuY3Rpb24ga2IoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBtYn1mdW5jdGlvbiBFYihlLHQpe2NvbnN0IG49ZS5mb250V2VpZ2h0LHI9ZS50ZXh0RGVjb3JhdGlvbi5zcGxpdChcIiBcIiksbz1cIjcwMFwiPT09bnx8XCJib2xkXCI9PT1uLGk9ci5pbmNsdWRlcyhcImxpbmUtdGhyb3VnaFwiKSxzPVwiaXRhbGljXCI9PT1lLmZvbnRTdHlsZSxhPXIuaW5jbHVkZXMoXCJ1bmRlcmxpbmVcIiksbD1lLnZlcnRpY2FsQWxpZ247cmV0dXJuIGU9PmtiKGUpPyhvJiYhZS5oYXNGb3JtYXQoXCJib2xkXCIpJiZlLnRvZ2dsZUZvcm1hdChcImJvbGRcIiksaSYmIWUuaGFzRm9ybWF0KFwic3RyaWtldGhyb3VnaFwiKSYmZS50b2dnbGVGb3JtYXQoXCJzdHJpa2V0aHJvdWdoXCIpLHMmJiFlLmhhc0Zvcm1hdChcIml0YWxpY1wiKSYmZS50b2dnbGVGb3JtYXQoXCJpdGFsaWNcIiksYSYmIWUuaGFzRm9ybWF0KFwidW5kZXJsaW5lXCIpJiZlLnRvZ2dsZUZvcm1hdChcInVuZGVybGluZVwiKSxcInN1YlwiIT09bHx8ZS5oYXNGb3JtYXQoXCJzdWJzY3JpcHRcIil8fGUudG9nZ2xlRm9ybWF0KFwic3Vic2NyaXB0XCIpLFwic3VwZXJcIiE9PWx8fGUuaGFzRm9ybWF0KFwic3VwZXJzY3JpcHRcIil8fGUudG9nZ2xlRm9ybWF0KFwic3VwZXJzY3JpcHRcIiksdCYmIWUuaGFzRm9ybWF0KHQpJiZlLnRvZ2dsZUZvcm1hdCh0KSxlKTplfWNsYXNzIENiIGV4dGVuZHMgbWJ7c3RhdGljIGdldFR5cGUoKXtyZXR1cm5cInRhYlwifXN0YXRpYyBjbG9uZShlKXtyZXR1cm4gbmV3IENiKGUuX19rZXkpfWFmdGVyQ2xvbmVGcm9tKGUpe3N1cGVyLmFmdGVyQ2xvbmVGcm9tKGUpLHRoaXMuX190ZXh0PWUuX190ZXh0fWNvbnN0cnVjdG9yKGUpe3N1cGVyKFwiXFx0XCIsZSksdGhpcy5fX2RldGFpbD0yfXN0YXRpYyBpbXBvcnRET00oKXtyZXR1cm4gbnVsbH1zdGF0aWMgaW1wb3J0SlNPTihlKXtjb25zdCB0PV9iKCk7cmV0dXJuIHQuc2V0Rm9ybWF0KGUuZm9ybWF0KSx0LnNldFN0eWxlKGUuc3R5bGUpLHR9ZXhwb3J0SlNPTigpe3JldHVybnsuLi5zdXBlci5leHBvcnRKU09OKCksdHlwZTpcInRhYlwiLHZlcnNpb246MX19c2V0VGV4dENvbnRlbnQoZSl7UGcoMTI2KX1zZXREZXRhaWwoZSl7UGcoMTI3KX1zZXRNb2RlKGUpe1BnKDEyOCl9Y2FuSW5zZXJ0VGV4dEJlZm9yZSgpe3JldHVybiExfWNhbkluc2VydFRleHRBZnRlcigpe3JldHVybiExfX1mdW5jdGlvbiBfYigpe3JldHVybiB6eShuZXcgQ2IpfWNsYXNzIFBie2NvbnN0cnVjdG9yKGUsdCxuKXt0aGlzLl9zZWxlY3Rpb249bnVsbCx0aGlzLmtleT1lLHRoaXMub2Zmc2V0PXQsdGhpcy50eXBlPW59aXMoZSl7cmV0dXJuIHRoaXMua2V5PT09ZS5rZXkmJnRoaXMub2Zmc2V0PT09ZS5vZmZzZXQmJnRoaXMudHlwZT09PWUudHlwZX1pc0JlZm9yZShlKXtsZXQgdD10aGlzLmdldE5vZGUoKSxuPWUuZ2V0Tm9kZSgpO2NvbnN0IHI9dGhpcy5vZmZzZXQsbz1lLm9mZnNldDtpZihreCh0KSl7Y29uc3QgZT10LmdldERlc2NlbmRhbnRCeUluZGV4KHIpO3Q9bnVsbCE9ZT9lOnR9aWYoa3gobikpe2NvbnN0IGU9bi5nZXREZXNjZW5kYW50QnlJbmRleChvKTtuPW51bGwhPWU/ZTpufXJldHVybiB0PT09bj9yPG86dC5pc0JlZm9yZShuKX1nZXROb2RlKCl7Y29uc3QgZT1veSh0aGlzLmtleSk7cmV0dXJuIG51bGw9PT1lJiZQZygyMCksZX1zZXQoZSx0LG4pe2NvbnN0IHI9dGhpcy5fc2VsZWN0aW9uLG89dGhpcy5rZXk7dGhpcy5rZXk9ZSx0aGlzLm9mZnNldD10LHRoaXMudHlwZT1uLHN4KCl8fChyeSgpPT09byYmbnkoZSksbnVsbCE9PXImJihyLnNldENhY2hlZE5vZGVzKG51bGwpLHIuZGlydHk9ITApKX19ZnVuY3Rpb24gT2IoZSx0LG4pe3JldHVybiBuZXcgUGIoZSx0LG4pfWZ1bmN0aW9uIE5iKGUsdCl7bGV0IG49dC5fX2tleSxyPWUub2Zmc2V0LG89XCJlbGVtZW50XCI7aWYoa2IodCkpe289XCJ0ZXh0XCI7Y29uc3QgZT10LmdldFRleHRDb250ZW50U2l6ZSgpO3I+ZSYmKHI9ZSl9ZWxzZSBpZigha3godCkpe2NvbnN0IGU9dC5nZXROZXh0U2libGluZygpO2lmKGtiKGUpKW49ZS5fX2tleSxyPTAsbz1cInRleHRcIjtlbHNle2NvbnN0IGU9dC5nZXRQYXJlbnQoKTtlJiYobj1lLl9fa2V5LHI9dC5nZXRJbmRleFdpdGhpblBhcmVudCgpKzEpfX1lLnNldChuLHIsbyl9ZnVuY3Rpb24gVGIoZSx0KXtpZihreCh0KSl7Y29uc3Qgbj10LmdldExhc3REZXNjZW5kYW50KCk7a3gobil8fGtiKG4pP05iKGUsbik6TmIoZSx0KX1lbHNlIE5iKGUsdCl9ZnVuY3Rpb24gTWIoZSx0LG4scil7ZS5rZXk9dCxlLm9mZnNldD1uLGUudHlwZT1yfWNsYXNzIFJie2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NhY2hlZE5vZGVzPW51bGwsdGhpcy5fbm9kZXM9ZSx0aGlzLmRpcnR5PSExfWdldENhY2hlZE5vZGVzKCl7cmV0dXJuIHRoaXMuX2NhY2hlZE5vZGVzfXNldENhY2hlZE5vZGVzKGUpe3RoaXMuX2NhY2hlZE5vZGVzPWV9aXMoZSl7aWYoIUFiKGUpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5fbm9kZXMsbj1lLl9ub2RlcztyZXR1cm4gdC5zaXplPT09bi5zaXplJiZBcnJheS5mcm9tKHQpLmV2ZXJ5KChlPT5uLmhhcyhlKSkpfWlzQ29sbGFwc2VkKCl7cmV0dXJuITF9aXNCYWNrd2FyZCgpe3JldHVybiExfWdldFN0YXJ0RW5kUG9pbnRzKCl7cmV0dXJuIG51bGx9YWRkKGUpe3RoaXMuZGlydHk9ITAsdGhpcy5fbm9kZXMuYWRkKGUpLHRoaXMuX2NhY2hlZE5vZGVzPW51bGx9ZGVsZXRlKGUpe3RoaXMuZGlydHk9ITAsdGhpcy5fbm9kZXMuZGVsZXRlKGUpLHRoaXMuX2NhY2hlZE5vZGVzPW51bGx9Y2xlYXIoKXt0aGlzLmRpcnR5PSEwLHRoaXMuX25vZGVzLmNsZWFyKCksdGhpcy5fY2FjaGVkTm9kZXM9bnVsbH1oYXMoZSl7cmV0dXJuIHRoaXMuX25vZGVzLmhhcyhlKX1jbG9uZSgpe3JldHVybiBuZXcgUmIobmV3IFNldCh0aGlzLl9ub2RlcykpfWV4dHJhY3QoKXtyZXR1cm4gdGhpcy5nZXROb2RlcygpfWluc2VydFJhd1RleHQoZSl7fWluc2VydFRleHQoKXt9aW5zZXJ0Tm9kZXMoZSl7Y29uc3QgdD10aGlzLmdldE5vZGVzKCksbj10Lmxlbmd0aCxyPXRbbi0xXTtsZXQgbztpZihrYihyKSlvPXIuc2VsZWN0KCk7ZWxzZXtjb25zdCBlPXIuZ2V0SW5kZXhXaXRoaW5QYXJlbnQoKSsxO289ci5nZXRQYXJlbnRPclRocm93KCkuc2VsZWN0KGUsZSl9by5pbnNlcnROb2RlcyhlKTtmb3IobGV0IGU9MDtlPG47ZSsrKXRbZV0ucmVtb3ZlKCl9Z2V0Tm9kZXMoKXtjb25zdCBlPXRoaXMuX2NhY2hlZE5vZGVzO2lmKG51bGwhPT1lKXJldHVybiBlO2NvbnN0IHQ9dGhpcy5fbm9kZXMsbj1bXTtmb3IoY29uc3QgZSBvZiB0KXtjb25zdCB0PW95KGUpO251bGwhPT10JiZuLnB1c2godCl9cmV0dXJuIHN4KCl8fCh0aGlzLl9jYWNoZWROb2Rlcz1uKSxufWdldFRleHRDb250ZW50KCl7Y29uc3QgZT10aGlzLmdldE5vZGVzKCk7bGV0IHQ9XCJcIjtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl0Kz1lW25dLmdldFRleHRDb250ZW50KCk7cmV0dXJuIHR9fWZ1bmN0aW9uIERiKGUpe3JldHVybiBlIGluc3RhbmNlb2YgamJ9Y2xhc3MgamJ7Y29uc3RydWN0b3IoZSx0LG4scil7dGhpcy5hbmNob3I9ZSx0aGlzLmZvY3VzPXQsZS5fc2VsZWN0aW9uPXRoaXMsdC5fc2VsZWN0aW9uPXRoaXMsdGhpcy5fY2FjaGVkTm9kZXM9bnVsbCx0aGlzLmZvcm1hdD1uLHRoaXMuc3R5bGU9cix0aGlzLmRpcnR5PSExfWdldENhY2hlZE5vZGVzKCl7cmV0dXJuIHRoaXMuX2NhY2hlZE5vZGVzfXNldENhY2hlZE5vZGVzKGUpe3RoaXMuX2NhY2hlZE5vZGVzPWV9aXMoZSl7cmV0dXJuISFEYihlKSYmdGhpcy5hbmNob3IuaXMoZS5hbmNob3IpJiZ0aGlzLmZvY3VzLmlzKGUuZm9jdXMpJiZ0aGlzLmZvcm1hdD09PWUuZm9ybWF0JiZ0aGlzLnN0eWxlPT09ZS5zdHlsZX1pc0NvbGxhcHNlZCgpe3JldHVybiB0aGlzLmFuY2hvci5pcyh0aGlzLmZvY3VzKX1nZXROb2Rlcygpe2NvbnN0IGU9dGhpcy5fY2FjaGVkTm9kZXM7aWYobnVsbCE9PWUpcmV0dXJuIGU7Y29uc3QgdD10aGlzLmFuY2hvcixuPXRoaXMuZm9jdXMscj10LmlzQmVmb3JlKG4pLG89cj90Om4saT1yP246dDtsZXQgcz1vLmdldE5vZGUoKSxhPWkuZ2V0Tm9kZSgpO2NvbnN0IGw9by5vZmZzZXQsYz1pLm9mZnNldDtpZihreChzKSl7Y29uc3QgZT1zLmdldERlc2NlbmRhbnRCeUluZGV4KGwpO3M9bnVsbCE9ZT9lOnN9aWYoa3goYSkpe2xldCBlPWEuZ2V0RGVzY2VuZGFudEJ5SW5kZXgoYyk7bnVsbCE9PWUmJmUhPT1zJiZhLmdldENoaWxkQXRJbmRleChjKT09PWUmJihlPWUuZ2V0UHJldmlvdXNTaWJsaW5nKCkpLGE9bnVsbCE9ZT9lOmF9bGV0IHU7cmV0dXJuIHU9cy5pcyhhKT9reChzKSYmcy5nZXRDaGlsZHJlblNpemUoKT4wP1tdOltzXTpzLmdldE5vZGVzQmV0d2VlbihhKSxzeCgpfHwodGhpcy5fY2FjaGVkTm9kZXM9dSksdX1zZXRUZXh0Tm9kZVJhbmdlKGUsdCxuLHIpe01iKHRoaXMuYW5jaG9yLGUuX19rZXksdCxcInRleHRcIiksTWIodGhpcy5mb2N1cyxuLl9fa2V5LHIsXCJ0ZXh0XCIpLHRoaXMuX2NhY2hlZE5vZGVzPW51bGwsdGhpcy5kaXJ0eT0hMH1nZXRUZXh0Q29udGVudCgpe2NvbnN0IGU9dGhpcy5nZXROb2RlcygpO2lmKDA9PT1lLmxlbmd0aClyZXR1cm5cIlwiO2NvbnN0IHQ9ZVswXSxuPWVbZS5sZW5ndGgtMV0scj10aGlzLmFuY2hvcixvPXRoaXMuZm9jdXMsaT1yLmlzQmVmb3JlKG8pLFtzLGFdPUxiKHRoaXMpO2xldCBsPVwiXCIsYz0hMDtmb3IobGV0IHU9MDt1PGUubGVuZ3RoO3UrKyl7Y29uc3QgZD1lW3VdO2lmKGt4KGQpJiYhZC5pc0lubGluZSgpKWN8fChsKz1cIlxcblwiKSxjPSFkLmlzRW1wdHkoKTtlbHNlIGlmKGM9ITEsa2IoZCkpe2xldCBlPWQuZ2V0VGV4dENvbnRlbnQoKTtkPT09dD9kPT09bj9cImVsZW1lbnRcIj09PXIudHlwZSYmXCJlbGVtZW50XCI9PT1vLnR5cGUmJm8ub2Zmc2V0IT09ci5vZmZzZXR8fChlPXM8YT9lLnNsaWNlKHMsYSk6ZS5zbGljZShhLHMpKTplPWk/ZS5zbGljZShzKTplLnNsaWNlKGEpOmQ9PT1uJiYoZT1pP2Uuc2xpY2UoMCxhKTplLnNsaWNlKDAscykpLGwrPWV9ZWxzZSFQeChkKSYmIWliKGQpfHxkPT09biYmdGhpcy5pc0NvbGxhcHNlZCgpfHwobCs9ZC5nZXRUZXh0Q29udGVudCgpKX1yZXR1cm4gbH1hcHBseURPTVJhbmdlKGUpe2NvbnN0IHQ9dXgoKSxuPXQuZ2V0RWRpdG9yU3RhdGUoKS5fc2VsZWN0aW9uLHI9VmIoZS5zdGFydENvbnRhaW5lcixlLnN0YXJ0T2Zmc2V0LGUuZW5kQ29udGFpbmVyLGUuZW5kT2Zmc2V0LHQsbik7aWYobnVsbD09PXIpcmV0dXJuO2NvbnN0W28saV09cjtNYih0aGlzLmFuY2hvcixvLmtleSxvLm9mZnNldCxvLnR5cGUpLE1iKHRoaXMuZm9jdXMsaS5rZXksaS5vZmZzZXQsaS50eXBlKSx0aGlzLl9jYWNoZWROb2Rlcz1udWxsfWNsb25lKCl7Y29uc3QgZT10aGlzLmFuY2hvcix0PXRoaXMuZm9jdXM7cmV0dXJuIG5ldyBqYihPYihlLmtleSxlLm9mZnNldCxlLnR5cGUpLE9iKHQua2V5LHQub2Zmc2V0LHQudHlwZSksdGhpcy5mb3JtYXQsdGhpcy5zdHlsZSl9dG9nZ2xlRm9ybWF0KGUpe3RoaXMuZm9ybWF0PVFnKHRoaXMuZm9ybWF0LGUsbnVsbCksdGhpcy5kaXJ0eT0hMH1zZXRTdHlsZShlKXt0aGlzLnN0eWxlPWUsdGhpcy5kaXJ0eT0hMH1oYXNGb3JtYXQoZSl7Y29uc3QgdD14Z1tlXTtyZXR1cm4hISh0aGlzLmZvcm1hdCZ0KX1pbnNlcnRSYXdUZXh0KGUpe2NvbnN0IHQ9ZS5zcGxpdCgvKFxccj9cXG58XFx0KS8pLG49W10scj10Lmxlbmd0aDtmb3IobGV0IGU9MDtlPHI7ZSsrKXtjb25zdCByPXRbZV07XCJcXG5cIj09PXJ8fFwiXFxyXFxuXCI9PT1yP24ucHVzaChvYigpKTpcIlxcdFwiPT09cj9uLnB1c2goX2IoKSk6bi5wdXNoKFNiKHIpKX10aGlzLmluc2VydE5vZGVzKG4pfWluc2VydFRleHQoZSl7Y29uc3QgdD10aGlzLmFuY2hvcixuPXRoaXMuZm9jdXMscj10aGlzLmZvcm1hdCxvPXRoaXMuc3R5bGU7bGV0IGk9dCxzPW47IXRoaXMuaXNDb2xsYXBzZWQoKSYmbi5pc0JlZm9yZSh0KSYmKGk9bixzPXQpLFwiZWxlbWVudFwiPT09aS50eXBlJiZmdW5jdGlvbihlLHQsbixyKXtjb25zdCBvPWUuZ2V0Tm9kZSgpLGk9by5nZXRDaGlsZEF0SW5kZXgoZS5vZmZzZXQpLHM9U2IoKSxhPU54KG8pP0l4KCkuYXBwZW5kKHMpOnM7cy5zZXRGb3JtYXQobikscy5zZXRTdHlsZShyKSxudWxsPT09aT9vLmFwcGVuZChhKTppLmluc2VydEJlZm9yZShhKSxlLmlzKHQpJiZ0LnNldChzLl9fa2V5LDAsXCJ0ZXh0XCIpLGUuc2V0KHMuX19rZXksMCxcInRleHRcIil9KGkscyxyLG8pO2NvbnN0IGE9aS5vZmZzZXQ7bGV0IGw9cy5vZmZzZXQ7Y29uc3QgYz10aGlzLmdldE5vZGVzKCksdT1jLmxlbmd0aDtsZXQgZD1jWzBdO2tiKGQpfHxQZygyNik7Y29uc3QgZj1kLmdldFRleHRDb250ZW50KCkubGVuZ3RoLG09ZC5nZXRQYXJlbnRPclRocm93KCk7bGV0IGg9Y1t1LTFdO2lmKDE9PT11JiZcImVsZW1lbnRcIj09PXMudHlwZSYmKGw9ZixzLnNldChpLmtleSxsLFwidGV4dFwiKSksdGhpcy5pc0NvbGxhcHNlZCgpJiZhPT09ZiYmKGQuaXNTZWdtZW50ZWQoKXx8ZC5pc1Rva2VuKCl8fCFkLmNhbkluc2VydFRleHRBZnRlcigpfHwhbS5jYW5JbnNlcnRUZXh0QWZ0ZXIoKSYmbnVsbD09PWQuZ2V0TmV4dFNpYmxpbmcoKSkpe2xldCB0PWQuZ2V0TmV4dFNpYmxpbmcoKTtpZihrYih0KSYmdC5jYW5JbnNlcnRUZXh0QmVmb3JlKCkmJiFYZyh0KXx8KHQ9U2IoKSx0LnNldEZvcm1hdChyKSx0LnNldFN0eWxlKG8pLG0uY2FuSW5zZXJ0VGV4dEFmdGVyKCk/ZC5pbnNlcnRBZnRlcih0KTptLmluc2VydEFmdGVyKHQpKSx0LnNlbGVjdCgwLDApLGQ9dCxcIlwiIT09ZSlyZXR1cm4gdm9pZCB0aGlzLmluc2VydFRleHQoZSl9ZWxzZSBpZih0aGlzLmlzQ29sbGFwc2VkKCkmJjA9PT1hJiYoZC5pc1NlZ21lbnRlZCgpfHxkLmlzVG9rZW4oKXx8IWQuY2FuSW5zZXJ0VGV4dEJlZm9yZSgpfHwhbS5jYW5JbnNlcnRUZXh0QmVmb3JlKCkmJm51bGw9PT1kLmdldFByZXZpb3VzU2libGluZygpKSl7bGV0IHQ9ZC5nZXRQcmV2aW91c1NpYmxpbmcoKTtpZihrYih0KSYmIVhnKHQpfHwodD1TYigpLHQuc2V0Rm9ybWF0KHIpLG0uY2FuSW5zZXJ0VGV4dEJlZm9yZSgpP2QuaW5zZXJ0QmVmb3JlKHQpOm0uaW5zZXJ0QmVmb3JlKHQpKSx0LnNlbGVjdCgpLGQ9dCxcIlwiIT09ZSlyZXR1cm4gdm9pZCB0aGlzLmluc2VydFRleHQoZSl9ZWxzZSBpZihkLmlzU2VnbWVudGVkKCkmJmEhPT1mKXtjb25zdCBlPVNiKGQuZ2V0VGV4dENvbnRlbnQoKSk7ZS5zZXRGb3JtYXQociksZC5yZXBsYWNlKGUpLGQ9ZX1lbHNlIGlmKCF0aGlzLmlzQ29sbGFwc2VkKCkmJlwiXCIhPT1lKXtjb25zdCB0PWguZ2V0UGFyZW50KCk7aWYoIW0uY2FuSW5zZXJ0VGV4dEJlZm9yZSgpfHwhbS5jYW5JbnNlcnRUZXh0QWZ0ZXIoKXx8a3godCkmJighdC5jYW5JbnNlcnRUZXh0QmVmb3JlKCl8fCF0LmNhbkluc2VydFRleHRBZnRlcigpKSlyZXR1cm4gdGhpcy5pbnNlcnRUZXh0KFwiXCIpLFdiKHRoaXMuYW5jaG9yLHRoaXMuZm9jdXMsbnVsbCksdm9pZCB0aGlzLmluc2VydFRleHQoZSl9aWYoMT09PXUpe2lmKGQuaXNUb2tlbigpKXtjb25zdCB0PVNiKGUpO3JldHVybiB0LnNlbGVjdCgpLHZvaWQgZC5yZXBsYWNlKHQpfWNvbnN0IHQ9ZC5nZXRGb3JtYXQoKSxuPWQuZ2V0U3R5bGUoKTtpZihhIT09bHx8dD09PXImJm49PT1vKXtpZihmdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIENifShkKSl7Y29uc3QgdD1TYihlKTtyZXR1cm4gdC5zZXRGb3JtYXQociksdC5zZXRTdHlsZShvKSx0LnNlbGVjdCgpLHZvaWQgZC5yZXBsYWNlKHQpfX1lbHNle2lmKFwiXCIhPT1kLmdldFRleHRDb250ZW50KCkpe2NvbnN0IHQ9U2IoZSk7aWYodC5zZXRGb3JtYXQociksdC5zZXRTdHlsZShvKSx0LnNlbGVjdCgpLDA9PT1hKWQuaW5zZXJ0QmVmb3JlKHQsITEpO2Vsc2V7Y29uc3RbZV09ZC5zcGxpdFRleHQoYSk7ZS5pbnNlcnRBZnRlcih0LCExKX1yZXR1cm4gdm9pZCh0LmlzQ29tcG9zaW5nKCkmJlwidGV4dFwiPT09dGhpcy5hbmNob3IudHlwZSYmKHRoaXMuYW5jaG9yLm9mZnNldC09ZS5sZW5ndGgpKX1kLnNldEZvcm1hdChyKSxkLnNldFN0eWxlKG8pfWNvbnN0IGk9bC1hO2Q9ZC5zcGxpY2VUZXh0KGEsaSxlLCEwKSxcIlwiPT09ZC5nZXRUZXh0Q29udGVudCgpP2QucmVtb3ZlKCk6XCJ0ZXh0XCI9PT10aGlzLmFuY2hvci50eXBlJiYoZC5pc0NvbXBvc2luZygpP3RoaXMuYW5jaG9yLm9mZnNldC09ZS5sZW5ndGg6KHRoaXMuZm9ybWF0PXQsdGhpcy5zdHlsZT1uKSl9ZWxzZXtjb25zdCB0PW5ldyBTZXQoWy4uLmQuZ2V0UGFyZW50S2V5cygpLC4uLmguZ2V0UGFyZW50S2V5cygpXSksbj1reChkKT9kOmQuZ2V0UGFyZW50T3JUaHJvdygpO2xldCByPWt4KGgpP2g6aC5nZXRQYXJlbnRPclRocm93KCksbz1oO2lmKCFuLmlzKHIpJiZyLmlzSW5saW5lKCkpZG97bz1yLHI9ci5nZXRQYXJlbnRPclRocm93KCl9d2hpbGUoci5pc0lubGluZSgpKTtpZihcInRleHRcIj09PXMudHlwZSYmKDAhPT1sfHxcIlwiPT09aC5nZXRUZXh0Q29udGVudCgpKXx8XCJlbGVtZW50XCI9PT1zLnR5cGUmJmguZ2V0SW5kZXhXaXRoaW5QYXJlbnQoKTxsKWlmKGtiKGgpJiYhaC5pc1Rva2VuKCkmJmwhPT1oLmdldFRleHRDb250ZW50U2l6ZSgpKXtpZihoLmlzU2VnbWVudGVkKCkpe2NvbnN0IGU9U2IoaC5nZXRUZXh0Q29udGVudCgpKTtoLnJlcGxhY2UoZSksaD1lfU54KHMuZ2V0Tm9kZSgpKXx8XCJ0ZXh0XCIhPT1zLnR5cGV8fChoPWguc3BsaWNlVGV4dCgwLGwsXCJcIikpLHQuYWRkKGguX19rZXkpfWVsc2V7Y29uc3QgZT1oLmdldFBhcmVudE9yVGhyb3coKTtlLmNhbkJlRW1wdHkoKXx8MSE9PWUuZ2V0Q2hpbGRyZW5TaXplKCk/aC5yZW1vdmUoKTplLnJlbW92ZSgpfWVsc2UgdC5hZGQoaC5fX2tleSk7Y29uc3QgaT1yLmdldENoaWxkcmVuKCksbT1uZXcgU2V0KGMpLHA9bi5pcyhyKSxnPW4uaXNJbmxpbmUoKSYmbnVsbD09PWQuZ2V0TmV4dFNpYmxpbmcoKT9uOmQ7Zm9yKGxldCBlPWkubGVuZ3RoLTE7ZT49MDtlLS0pe2NvbnN0IHQ9aVtlXTtpZih0LmlzKGQpfHxreCh0KSYmdC5pc1BhcmVudE9mKGQpKWJyZWFrO3QuaXNBdHRhY2hlZCgpJiYoIW0uaGFzKHQpfHx0LmlzKG8pP3B8fGcuaW5zZXJ0QWZ0ZXIodCwhMSk6dC5yZW1vdmUoKSl9aWYoIXApe2xldCBlPXIsbj1udWxsO2Zvcig7bnVsbCE9PWU7KXtjb25zdCByPWUuZ2V0Q2hpbGRyZW4oKSxvPXIubGVuZ3RoOygwPT09b3x8cltvLTFdLmlzKG4pKSYmKHQuZGVsZXRlKGUuX19rZXkpLG49ZSksZT1lLmdldFBhcmVudCgpfX1pZihkLmlzVG9rZW4oKSlpZihhPT09ZilkLnNlbGVjdCgpO2Vsc2V7Y29uc3QgdD1TYihlKTt0LnNlbGVjdCgpLGQucmVwbGFjZSh0KX1lbHNlIGQ9ZC5zcGxpY2VUZXh0KGEsZi1hLGUsITApLFwiXCI9PT1kLmdldFRleHRDb250ZW50KCk/ZC5yZW1vdmUoKTpkLmlzQ29tcG9zaW5nKCkmJlwidGV4dFwiPT09dGhpcy5hbmNob3IudHlwZSYmKHRoaXMuYW5jaG9yLm9mZnNldC09ZS5sZW5ndGgpO2ZvcihsZXQgZT0xO2U8dTtlKyspe2NvbnN0IG49Y1tlXSxyPW4uX19rZXk7dC5oYXMocil8fG4ucmVtb3ZlKCl9fX1yZW1vdmVUZXh0KCl7dGhpcy5pbnNlcnRUZXh0KFwiXCIpfWZvcm1hdFRleHQoZSl7aWYodGhpcy5pc0NvbGxhcHNlZCgpKXJldHVybiB0aGlzLnRvZ2dsZUZvcm1hdChlKSx2b2lkIG55KG51bGwpO2NvbnN0IHQ9dGhpcy5nZXROb2RlcygpLG49W107Zm9yKGNvbnN0IGUgb2YgdClrYihlKSYmbi5wdXNoKGUpO2NvbnN0IHI9bi5sZW5ndGg7aWYoMD09PXIpcmV0dXJuIHRoaXMudG9nZ2xlRm9ybWF0KGUpLHZvaWQgbnkobnVsbCk7Y29uc3Qgbz10aGlzLmFuY2hvcixpPXRoaXMuZm9jdXMscz10aGlzLmlzQmFja3dhcmQoKSxhPXM/aTpvLGw9cz9vOmk7bGV0IGM9MCx1PW5bMF0sZD1cImVsZW1lbnRcIj09PWEudHlwZT8wOmEub2Zmc2V0O2lmKFwidGV4dFwiPT09YS50eXBlJiZkPT09dS5nZXRUZXh0Q29udGVudFNpemUoKSYmKGM9MSx1PW5bMV0sZD0wKSxudWxsPT11KXJldHVybjtjb25zdCBmPXUuZ2V0Rm9ybWF0RmxhZ3MoZSxudWxsKSxtPXItMTtsZXQgaD1uW21dO2NvbnN0IHA9XCJ0ZXh0XCI9PT1sLnR5cGU/bC5vZmZzZXQ6aC5nZXRUZXh0Q29udGVudFNpemUoKTtpZih1LmlzKGgpKXtpZihkPT09cClyZXR1cm47aWYoWGcodSl8fDA9PT1kJiZwPT09dS5nZXRUZXh0Q29udGVudFNpemUoKSl1LnNldEZvcm1hdChmKTtlbHNle2NvbnN0IGU9dS5zcGxpdFRleHQoZCxwKSx0PTA9PT1kP2VbMF06ZVsxXTt0LnNldEZvcm1hdChmKSxcInRleHRcIj09PWEudHlwZSYmYS5zZXQodC5fX2tleSwwLFwidGV4dFwiKSxcInRleHRcIj09PWwudHlwZSYmbC5zZXQodC5fX2tleSxwLWQsXCJ0ZXh0XCIpfXJldHVybiB2b2lkKHRoaXMuZm9ybWF0PWYpfTA9PT1kfHxYZyh1KXx8KFssdV09dS5zcGxpdFRleHQoZCksZD0wKSx1LnNldEZvcm1hdChmKTtjb25zdCBnPWguZ2V0Rm9ybWF0RmxhZ3MoZSxmKTtwPjAmJihwPT09aC5nZXRUZXh0Q29udGVudFNpemUoKXx8WGcoaCl8fChbaF09aC5zcGxpdFRleHQocCkpLGguc2V0Rm9ybWF0KGcpKTtmb3IobGV0IHQ9YysxO3Q8bTt0Kyspe2NvbnN0IHI9blt0XSxvPXIuZ2V0Rm9ybWF0RmxhZ3MoZSxnKTtyLnNldEZvcm1hdChvKX1cInRleHRcIj09PWEudHlwZSYmYS5zZXQodS5fX2tleSxkLFwidGV4dFwiKSxcInRleHRcIj09PWwudHlwZSYmbC5zZXQoaC5fX2tleSxwLFwidGV4dFwiKSx0aGlzLmZvcm1hdD1mfGd9aW5zZXJ0Tm9kZXMoZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybjtpZihcInJvb3RcIj09PXRoaXMuYW5jaG9yLmtleSl7dGhpcy5pbnNlcnRQYXJhZ3JhcGgoKTtjb25zdCB0PUhiKCk7cmV0dXJuIERiKHQpfHxQZygxMzQpLHQuaW5zZXJ0Tm9kZXMoZSl9Y29uc3QgdD1LeSgodGhpcy5pc0JhY2t3YXJkKCk/dGhpcy5mb2N1czp0aGlzLmFuY2hvcikuZ2V0Tm9kZSgpLEh5KSxuPWVbZS5sZW5ndGgtMV07aWYoXCJfX2xhbmd1YWdlXCJpbiB0JiZreCh0KSl7aWYoXCJfX2xhbmd1YWdlXCJpbiBlWzBdKXRoaXMuaW5zZXJ0VGV4dChlWzBdLmdldFRleHRDb250ZW50KCkpO2Vsc2V7Y29uc3Qgcj1KYih0aGlzKTt0LnNwbGljZShyLDAsZSksbi5zZWxlY3RFbmQoKX1yZXR1cm59aWYoIWUuc29tZSgoZT0+KGt4KGUpfHxQeChlKSkmJiFlLmlzSW5saW5lKCkpKSl7a3godCl8fFBnKDEzNSk7Y29uc3Qgcj1KYih0aGlzKTtyZXR1cm4gdC5zcGxpY2UociwwLGUpLHZvaWQgbi5zZWxlY3RFbmQoKX1jb25zdCByPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9SXgoKTtsZXQgbj1udWxsO2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKXtjb25zdCBvPWVbcl0saT1pYihvKTtpZihpfHxQeChvKSYmby5pc0lubGluZSgpfHxreChvKSYmby5pc0lubGluZSgpfHxrYihvKXx8by5pc1BhcmVudFJlcXVpcmVkKCkpe2lmKG51bGw9PT1uJiYobj1vLmNyZWF0ZVBhcmVudEVsZW1lbnROb2RlKCksdC5hcHBlbmQobiksaSkpY29udGludWU7bnVsbCE9PW4mJm4uYXBwZW5kKG8pfWVsc2UgdC5hcHBlbmQobyksbj1udWxsfXJldHVybiB0fShlKSxvPXIuZ2V0TGFzdERlc2NlbmRhbnQoKSxpPXIuZ2V0Q2hpbGRyZW4oKSxzPWt4KHQpJiZ0LmlzRW1wdHkoKT9udWxsOnRoaXMuaW5zZXJ0UGFyYWdyYXBoKCksYT1pW2kubGVuZ3RoLTFdO2xldCBsPWlbMF07dmFyIGM7a3goYz1sKSYmSHkoYykmJiFjLmlzRW1wdHkoKSYma3godCkmJighdC5pc0VtcHR5KCl8fHQuY2FuTWVyZ2VXaGVuRW1wdHkoKSkmJihreCh0KXx8UGcoMTM1KSx0LmFwcGVuZCguLi5sLmdldENoaWxkcmVuKCkpLGw9aVsxXSksbCYmZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQuZ2V0UGFyZW50T3JUaHJvdygpLmdldExhc3RDaGlsZCgpO2xldCByPXQ7Y29uc3Qgbz1bdF07Zm9yKDtyIT09bjspci5nZXROZXh0U2libGluZygpfHxQZygxNDApLHI9ci5nZXROZXh0U2libGluZygpLG8ucHVzaChyKTtsZXQgaT1lO2Zvcihjb25zdCBlIG9mIG8paT1pLmluc2VydEFmdGVyKGUpfSh0LGwpO2NvbnN0IHU9S3kobyxIeSk7cyYma3godSkmJihzLmNhbk1lcmdlV2hlbkVtcHR5KCl8fEh5KGEpKSYmKHUuYXBwZW5kKC4uLnMuZ2V0Q2hpbGRyZW4oKSkscy5yZW1vdmUoKSksa3godCkmJnQuaXNFbXB0eSgpJiZ0LnJlbW92ZSgpLG8uc2VsZWN0RW5kKCk7Y29uc3QgZD1reCh0KT90LmdldExhc3RDaGlsZCgpOm51bGw7aWIoZCkmJnUhPT10JiZkLnJlbW92ZSgpfWluc2VydFBhcmFncmFwaCgpe2lmKFwicm9vdFwiPT09dGhpcy5hbmNob3Iua2V5KXtjb25zdCBlPUl4KCk7cmV0dXJuIGN5KCkuc3BsaWNlKHRoaXMuYW5jaG9yLm9mZnNldCwwLFtlXSksZS5zZWxlY3QoKSxlfWNvbnN0IGU9SmIodGhpcyksdD1LeSh0aGlzLmFuY2hvci5nZXROb2RlKCksSHkpO2t4KHQpfHxQZygxMzYpO2NvbnN0IG49dC5nZXRDaGlsZEF0SW5kZXgoZSkscj1uP1tuLC4uLm4uZ2V0TmV4dFNpYmxpbmdzKCldOltdLG89dC5pbnNlcnROZXdBZnRlcih0aGlzLCExKTtyZXR1cm4gbz8oby5hcHBlbmQoLi4uciksby5zZWxlY3RTdGFydCgpLG8pOm51bGx9aW5zZXJ0TGluZUJyZWFrKGUpe2NvbnN0IHQ9b2IoKTtpZih0aGlzLmluc2VydE5vZGVzKFt0XSksZSl7Y29uc3QgZT10LmdldFBhcmVudE9yVGhyb3coKSxuPXQuZ2V0SW5kZXhXaXRoaW5QYXJlbnQoKTtlLnNlbGVjdChuLG4pfX1leHRyYWN0KCl7Y29uc3QgZT10aGlzLmdldE5vZGVzKCksdD1lLmxlbmd0aCxuPXQtMSxyPXRoaXMuYW5jaG9yLG89dGhpcy5mb2N1cztsZXQgaT1lWzBdLHM9ZVtuXTtjb25zdFthLGxdPUxiKHRoaXMpO2lmKDA9PT10KXJldHVybltdO2lmKDE9PT10KXtpZihrYihpKSYmIXRoaXMuaXNDb2xsYXBzZWQoKSl7Y29uc3QgZT1hPmw/bDphLHQ9YT5sP2E6bCxuPWkuc3BsaXRUZXh0KGUsdCkscj0wPT09ZT9uWzBdOm5bMV07cmV0dXJuIG51bGwhPXI/W3JdOltdfXJldHVybltpXX1jb25zdCBjPXIuaXNCZWZvcmUobyk7aWYoa2IoaSkpe2NvbnN0IHQ9Yz9hOmw7dD09PWkuZ2V0VGV4dENvbnRlbnRTaXplKCk/ZS5zaGlmdCgpOjAhPT10JiYoWyxpXT1pLnNwbGl0VGV4dCh0KSxlWzBdPWkpfWlmKGtiKHMpKXtjb25zdCB0PXMuZ2V0VGV4dENvbnRlbnQoKS5sZW5ndGgscj1jP2w6YTswPT09cj9lLnBvcCgpOnIhPT10JiYoW3NdPXMuc3BsaXRUZXh0KHIpLGVbbl09cyl9cmV0dXJuIGV9bW9kaWZ5KGUsdCxuKXtjb25zdCByPXRoaXMuZm9jdXMsbz10aGlzLmFuY2hvcixpPVwibW92ZVwiPT09ZSxzPVR5KHIsdCk7aWYoUHgocykmJiFzLmlzSXNvbGF0ZWQoKSl7aWYoaSYmcy5pc0tleWJvYXJkU2VsZWN0YWJsZSgpKXtjb25zdCBlPSRiKCk7cmV0dXJuIGUuYWRkKHMuX19rZXkpLHZvaWQgZHkoZSl9Y29uc3QgZT10P3MuZ2V0UHJldmlvdXNTaWJsaW5nKCk6cy5nZXROZXh0U2libGluZygpO2lmKGtiKGUpKXtjb25zdCBuPWUuX19rZXkscz10P2UuZ2V0VGV4dENvbnRlbnQoKS5sZW5ndGg6MDtyZXR1cm4gci5zZXQobixzLFwidGV4dFwiKSx2b2lkKGkmJm8uc2V0KG4scyxcInRleHRcIikpfXtjb25zdCBuPXMuZ2V0UGFyZW50T3JUaHJvdygpO2xldCBhLGw7cmV0dXJuIGt4KGUpPyhsPWUuX19rZXksYT10P2UuZ2V0Q2hpbGRyZW5TaXplKCk6MCk6KGE9cy5nZXRJbmRleFdpdGhpblBhcmVudCgpLGw9bi5fX2tleSx0fHxhKyspLHIuc2V0KGwsYSxcImVsZW1lbnRcIiksdm9pZChpJiZvLnNldChsLGEsXCJlbGVtZW50XCIpKX19Y29uc3QgYT11eCgpLGw9VnkoYS5fd2luZG93KTtpZighbClyZXR1cm47Y29uc3QgYz1hLl9ibG9ja0N1cnNvckVsZW1lbnQsdT1hLl9yb290RWxlbWVudDtpZihudWxsPT09dXx8bnVsbD09PWN8fCFreChzKXx8cy5pc0lubGluZSgpfHxzLmNhbkJlRW1wdHkoKXx8X24oYyxhLHUpLGZ1bmN0aW9uKGUsdCxuLHIpe2UubW9kaWZ5KHQsbixyKX0obCxlLHQ/XCJiYWNrd2FyZFwiOlwiZm9yd2FyZFwiLG4pLGwucmFuZ2VDb3VudD4wKXtjb25zdCBlPWwuZ2V0UmFuZ2VBdCgwKSxuPXRoaXMuYW5jaG9yLmdldE5vZGUoKSxyPU54KG4pP246ZnVuY3Rpb24oZSl7bGV0IHQ9ZS5nZXRQYXJlbnRPclRocm93KCk7Zm9yKDtudWxsIT09dDspe2lmKEZ5KHQpKXJldHVybiB0O3Q9dC5nZXRQYXJlbnRPclRocm93KCl9cmV0dXJuIHR9KG4pO2lmKHRoaXMuYXBwbHlET01SYW5nZShlKSx0aGlzLmRpcnR5PSEwLCFpKXtjb25zdCBuPXRoaXMuZ2V0Tm9kZXMoKSxvPVtdO2xldCBpPSExO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKXtjb25zdCB0PW5bZV07SXkodCxyKT9vLnB1c2godCk6aT0hMH1pZihpJiZvLmxlbmd0aD4wKWlmKHQpe2NvbnN0IGU9b1swXTtreChlKT9lLnNlbGVjdFN0YXJ0KCk6ZS5nZXRQYXJlbnRPclRocm93KCkuc2VsZWN0U3RhcnQoKX1lbHNle2NvbnN0IGU9b1tvLmxlbmd0aC0xXTtreChlKT9lLnNlbGVjdEVuZCgpOmUuZ2V0UGFyZW50T3JUaHJvdygpLnNlbGVjdEVuZCgpfWwuYW5jaG9yTm9kZT09PWUuc3RhcnRDb250YWluZXImJmwuYW5jaG9yT2Zmc2V0PT09ZS5zdGFydE9mZnNldHx8ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLmZvY3VzLG49ZS5hbmNob3Iscj1uLmtleSxvPW4ub2Zmc2V0LGk9bi50eXBlO01iKG4sdC5rZXksdC5vZmZzZXQsdC50eXBlKSxNYih0LHIsbyxpKSxlLl9jYWNoZWROb2Rlcz1udWxsfSh0aGlzKX19fWZvcndhcmREZWxldGlvbihlLHQsbil7aWYoIW4mJihcImVsZW1lbnRcIj09PWUudHlwZSYma3godCkmJmUub2Zmc2V0PT09dC5nZXRDaGlsZHJlblNpemUoKXx8XCJ0ZXh0XCI9PT1lLnR5cGUmJmUub2Zmc2V0PT09dC5nZXRUZXh0Q29udGVudFNpemUoKSkpe2NvbnN0IGU9dC5nZXRQYXJlbnQoKSxuPXQuZ2V0TmV4dFNpYmxpbmcoKXx8KG51bGw9PT1lP251bGw6ZS5nZXROZXh0U2libGluZygpKTtpZihreChuKSYmbi5pc1NoYWRvd1Jvb3QoKSlyZXR1cm4hMH1yZXR1cm4hMX1kZWxldGVDaGFyYWN0ZXIoZSl7Y29uc3QgdD10aGlzLmlzQ29sbGFwc2VkKCk7aWYodGhpcy5pc0NvbGxhcHNlZCgpKXtjb25zdCB0PXRoaXMuYW5jaG9yO2xldCBuPXQuZ2V0Tm9kZSgpO2lmKHRoaXMuZm9yd2FyZERlbGV0aW9uKHQsbixlKSlyZXR1cm47Y29uc3Qgcj10aGlzLmZvY3VzLG89VHkocixlKTtpZihQeChvKSYmIW8uaXNJc29sYXRlZCgpKXtpZihvLmlzS2V5Ym9hcmRTZWxlY3RhYmxlKCkmJmt4KG4pJiYwPT09bi5nZXRDaGlsZHJlblNpemUoKSl7bi5yZW1vdmUoKTtjb25zdCBlPSRiKCk7ZS5hZGQoby5fX2tleSksZHkoZSl9ZWxzZSBvLnJlbW92ZSgpLHV4KCkuZGlzcGF0Y2hDb21tYW5kKGVwLHZvaWQgMCk7cmV0dXJufWlmKCFlJiZreChvKSYma3gobikmJm4uaXNFbXB0eSgpKXJldHVybiBuLnJlbW92ZSgpLHZvaWQgby5zZWxlY3RTdGFydCgpO2lmKHRoaXMubW9kaWZ5KFwiZXh0ZW5kXCIsZSxcImNoYXJhY3RlclwiKSx0aGlzLmlzQ29sbGFwc2VkKCkpe2lmKGUmJjA9PT10Lm9mZnNldCYmKFwiZWxlbWVudFwiPT09dC50eXBlP3QuZ2V0Tm9kZSgpOnQuZ2V0Tm9kZSgpLmdldFBhcmVudE9yVGhyb3coKSkuY29sbGFwc2VBdFN0YXJ0KHRoaXMpKXJldHVybn1lbHNle2NvbnN0IG89XCJ0ZXh0XCI9PT1yLnR5cGU/ci5nZXROb2RlKCk6bnVsbDtpZihuPVwidGV4dFwiPT09dC50eXBlP3QuZ2V0Tm9kZSgpOm51bGwsbnVsbCE9PW8mJm8uaXNTZWdtZW50ZWQoKSl7Y29uc3QgdD1yLm9mZnNldCxpPW8uZ2V0VGV4dENvbnRlbnRTaXplKCk7aWYoby5pcyhuKXx8ZSYmdCE9PWl8fCFlJiYwIT09dClyZXR1cm4gdm9pZCBGYihvLGUsdCl9ZWxzZSBpZihudWxsIT09biYmbi5pc1NlZ21lbnRlZCgpKXtjb25zdCByPXQub2Zmc2V0LGk9bi5nZXRUZXh0Q29udGVudFNpemUoKTtpZihuLmlzKG8pfHxlJiYwIT09cnx8IWUmJnIhPT1pKXJldHVybiB2b2lkIEZiKG4sZSxyKX0hZnVuY3Rpb24oZSx0KXtjb25zdCBuPWUuYW5jaG9yLHI9ZS5mb2N1cyxvPW4uZ2V0Tm9kZSgpO2lmKG89PT1yLmdldE5vZGUoKSYmXCJ0ZXh0XCI9PT1uLnR5cGUmJlwidGV4dFwiPT09ci50eXBlKXtjb25zdCBlPW4ub2Zmc2V0LGk9ci5vZmZzZXQscz1lPGksYT1zP2U6aSxsPXM/aTplLGM9bC0xO2EhPT1jJiYoaHkoby5nZXRUZXh0Q29udGVudCgpLnNsaWNlKGEsbCkpfHwodD9yLm9mZnNldD1jOm4ub2Zmc2V0PWMpKX19KHRoaXMsZSl9fWlmKHRoaXMucmVtb3ZlVGV4dCgpLGUmJiF0JiZ0aGlzLmlzQ29sbGFwc2VkKCkmJlwiZWxlbWVudFwiPT09dGhpcy5hbmNob3IudHlwZSYmMD09PXRoaXMuYW5jaG9yLm9mZnNldCl7Y29uc3QgZT10aGlzLmFuY2hvci5nZXROb2RlKCk7ZS5pc0VtcHR5KCkmJk54KGUuZ2V0UGFyZW50KCkpJiYwPT09ZS5nZXRJbmRleFdpdGhpblBhcmVudCgpJiZlLmNvbGxhcHNlQXRTdGFydCh0aGlzKX19ZGVsZXRlTGluZShlKXtpZih0aGlzLmlzQ29sbGFwc2VkKCkpe2NvbnN0IHQ9XCJlbGVtZW50XCI9PT10aGlzLmFuY2hvci50eXBlO2lmKHQmJnRoaXMuaW5zZXJ0VGV4dChcIiBcIiksdGhpcy5tb2RpZnkoXCJleHRlbmRcIixlLFwibGluZWJvdW5kYXJ5XCIpLDA9PT0oZT90aGlzLmZvY3VzOnRoaXMuYW5jaG9yKS5vZmZzZXQmJnRoaXMubW9kaWZ5KFwiZXh0ZW5kXCIsZSxcImNoYXJhY3RlclwiKSx0KXtjb25zdCB0PWU/dGhpcy5hbmNob3I6dGhpcy5mb2N1czt0LnNldCh0LmtleSx0Lm9mZnNldCsxLHQudHlwZSl9fXRoaXMucmVtb3ZlVGV4dCgpfWRlbGV0ZVdvcmQoZSl7aWYodGhpcy5pc0NvbGxhcHNlZCgpKXtjb25zdCB0PXRoaXMuYW5jaG9yLG49dC5nZXROb2RlKCk7aWYodGhpcy5mb3J3YXJkRGVsZXRpb24odCxuLGUpKXJldHVybjt0aGlzLm1vZGlmeShcImV4dGVuZFwiLGUsXCJ3b3JkXCIpfXRoaXMucmVtb3ZlVGV4dCgpfWlzQmFja3dhcmQoKXtyZXR1cm4gdGhpcy5mb2N1cy5pc0JlZm9yZSh0aGlzLmFuY2hvcil9Z2V0U3RhcnRFbmRQb2ludHMoKXtyZXR1cm5bdGhpcy5hbmNob3IsdGhpcy5mb2N1c119fWZ1bmN0aW9uIEFiKGUpe3JldHVybiBlIGluc3RhbmNlb2YgUmJ9ZnVuY3Rpb24gSWIoZSl7Y29uc3QgdD1lLm9mZnNldDtpZihcInRleHRcIj09PWUudHlwZSlyZXR1cm4gdDtjb25zdCBuPWUuZ2V0Tm9kZSgpO3JldHVybiB0PT09bi5nZXRDaGlsZHJlblNpemUoKT9uLmdldFRleHRDb250ZW50KCkubGVuZ3RoOjB9ZnVuY3Rpb24gTGIoZSl7Y29uc3QgdD1lLmdldFN0YXJ0RW5kUG9pbnRzKCk7aWYobnVsbD09PXQpcmV0dXJuWzAsMF07Y29uc3RbbixyXT10O3JldHVyblwiZWxlbWVudFwiPT09bi50eXBlJiZcImVsZW1lbnRcIj09PXIudHlwZSYmbi5rZXk9PT1yLmtleSYmbi5vZmZzZXQ9PT1yLm9mZnNldD9bMCwwXTpbSWIobiksSWIocildfWZ1bmN0aW9uIEZiKGUsdCxuKXtjb25zdCByPWUsbz1yLmdldFRleHRDb250ZW50KCkuc3BsaXQoLyg/PVxccykvZyksaT1vLmxlbmd0aDtsZXQgcz0wLGE9MDtmb3IobGV0IGU9MDtlPGk7ZSsrKXtjb25zdCByPWU9PT1pLTE7aWYoYT1zLHMrPW9bZV0ubGVuZ3RoLHQmJnM9PT1ufHxzPm58fHIpe28uc3BsaWNlKGUsMSksciYmKGE9dm9pZCAwKTticmVha319Y29uc3QgbD1vLmpvaW4oXCJcIikudHJpbSgpO1wiXCI9PT1sP3IucmVtb3ZlKCk6KHIuc2V0VGV4dENvbnRlbnQobCksci5zZWxlY3QoYSxhKSl9ZnVuY3Rpb24gemIoZSx0LG4scil7bGV0IG8saT10O2lmKGUubm9kZVR5cGU9PT1acCl7bGV0IHM9ITE7Y29uc3QgYT1lLmNoaWxkTm9kZXMsbD1hLmxlbmd0aCxjPXIuX2Jsb2NrQ3Vyc29yRWxlbWVudDtpPT09bCYmKHM9ITAsaT1sLTEpO2xldCB1PWFbaV0sZD0hMTtpZih1PT09Yyl1PWFbaSsxXSxkPSEwO2Vsc2UgaWYobnVsbCE9PWMpe2NvbnN0IG49Yy5wYXJlbnROb2RlO2U9PT1uJiZ0PkFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwobi5jaGlsZHJlbixjKSYmaS0tfWlmKG89ZnkodSksa2IobykpaT1teShvLHMpO2Vsc2V7bGV0IHI9ZnkoZSk7aWYobnVsbD09PXIpcmV0dXJuIG51bGw7aWYoa3gocikpe2k9TWF0aC5taW4oci5nZXRDaGlsZHJlblNpemUoKSxpKTtsZXQgZT1yLmdldENoaWxkQXRJbmRleChpKTtpZihreChlKSYmZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHI9ZS5nZXRQYXJlbnQoKTtyZXR1cm4gbnVsbD09PW58fG51bGw9PT1yfHwhci5jYW5CZUVtcHR5KCl8fHIhPT1uLmdldE5vZGUoKX0oZSwwLG4pKXtjb25zdCB0PXM/ZS5nZXRMYXN0RGVzY2VuZGFudCgpOmUuZ2V0Rmlyc3REZXNjZW5kYW50KCk7bnVsbD09PXQ/cj1lOihlPXQscj1reChlKT9lOmUuZ2V0UGFyZW50T3JUaHJvdygpKSxpPTB9a2IoZSk/KG89ZSxyPW51bGwsaT1teShlLHMpKTplIT09ciYmcyYmIWQmJmkrK31lbHNle2NvbnN0IG49ci5nZXRJbmRleFdpdGhpblBhcmVudCgpO2k9MD09PXQmJlB4KHIpJiZmeShlKT09PXI/bjpuKzEscj1yLmdldFBhcmVudE9yVGhyb3coKX1pZihreChyKSlyZXR1cm4gT2Ioci5fX2tleSxpLFwiZWxlbWVudFwiKX19ZWxzZSBvPWZ5KGUpO3JldHVybiBrYihvKT9PYihvLl9fa2V5LGksXCJ0ZXh0XCIpOm51bGx9ZnVuY3Rpb24gQmIoZSx0LG4pe2NvbnN0IHI9ZS5vZmZzZXQsbz1lLmdldE5vZGUoKTtpZigwPT09cil7Y29uc3Qgcj1vLmdldFByZXZpb3VzU2libGluZygpLGk9by5nZXRQYXJlbnQoKTtpZih0KXtpZigobnx8IXQpJiZudWxsPT09ciYma3goaSkmJmkuaXNJbmxpbmUoKSl7Y29uc3QgdD1pLmdldFByZXZpb3VzU2libGluZygpO2tiKHQpJiYoZS5rZXk9dC5fX2tleSxlLm9mZnNldD10LmdldFRleHRDb250ZW50KCkubGVuZ3RoKX19ZWxzZSBreChyKSYmIW4mJnIuaXNJbmxpbmUoKT8oZS5rZXk9ci5fX2tleSxlLm9mZnNldD1yLmdldENoaWxkcmVuU2l6ZSgpLGUudHlwZT1cImVsZW1lbnRcIik6a2IocikmJihlLmtleT1yLl9fa2V5LGUub2Zmc2V0PXIuZ2V0VGV4dENvbnRlbnQoKS5sZW5ndGgpfWVsc2UgaWYocj09PW8uZ2V0VGV4dENvbnRlbnQoKS5sZW5ndGgpe2NvbnN0IHI9by5nZXROZXh0U2libGluZygpLGk9by5nZXRQYXJlbnQoKTtpZih0JiZreChyKSYmci5pc0lubGluZSgpKWUua2V5PXIuX19rZXksZS5vZmZzZXQ9MCxlLnR5cGU9XCJlbGVtZW50XCI7ZWxzZSBpZigobnx8dCkmJm51bGw9PT1yJiZreChpKSYmaS5pc0lubGluZSgpJiYhaS5jYW5JbnNlcnRUZXh0QWZ0ZXIoKSl7Y29uc3QgdD1pLmdldE5leHRTaWJsaW5nKCk7a2IodCkmJihlLmtleT10Ll9fa2V5LGUub2Zmc2V0PTApfX19ZnVuY3Rpb24gV2IoZSx0LG4pe2lmKFwidGV4dFwiPT09ZS50eXBlJiZcInRleHRcIj09PXQudHlwZSl7Y29uc3Qgcj1lLmlzQmVmb3JlKHQpLG89ZS5pcyh0KTtCYihlLHIsbyksQmIodCwhcixvKSxvJiYodC5rZXk9ZS5rZXksdC5vZmZzZXQ9ZS5vZmZzZXQsdC50eXBlPWUudHlwZSk7Y29uc3QgaT11eCgpO2lmKGkuaXNDb21wb3NpbmcoKSYmaS5fY29tcG9zaXRpb25LZXkhPT1lLmtleSYmRGIobikpe2NvbnN0IHI9bi5hbmNob3Isbz1uLmZvY3VzO01iKGUsci5rZXksci5vZmZzZXQsci50eXBlKSxNYih0LG8ua2V5LG8ub2Zmc2V0LG8udHlwZSl9fX1mdW5jdGlvbiBWYihlLHQsbixyLG8saSl7aWYobnVsbD09PWV8fG51bGw9PT1ufHwhSGcobyxlLG4pKXJldHVybiBudWxsO2NvbnN0IHM9emIoZSx0LERiKGkpP2kuYW5jaG9yOm51bGwsbyk7aWYobnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3QgYT16YihuLHIsRGIoaSk/aS5mb2N1czpudWxsLG8pO2lmKG51bGw9PT1hKXJldHVybiBudWxsO2lmKFwiZWxlbWVudFwiPT09cy50eXBlJiZcImVsZW1lbnRcIj09PWEudHlwZSl7Y29uc3QgdD1meShlKSxyPWZ5KG4pO2lmKFB4KHQpJiZQeChyKSlyZXR1cm4gbnVsbH1yZXR1cm4gV2IocyxhLGkpLFtzLGFdfWZ1bmN0aW9uIFViKGUsdCxuLHIsbyxpKXtjb25zdCBzPWN4KCksYT1uZXcgamIoT2IoZSx0LG8pLE9iKG4scixpKSwwLFwiXCIpO3JldHVybiBhLmRpcnR5PSEwLHMuX3NlbGVjdGlvbj1hLGF9ZnVuY3Rpb24gJGIoKXtyZXR1cm4gbmV3IFJiKG5ldyBTZXQpfWZ1bmN0aW9uIFliKGUsdCxuLHIpe2NvbnN0IG89bi5fd2luZG93O2lmKG51bGw9PT1vKXJldHVybiBudWxsO2NvbnN0IGk9cnx8by5ldmVudCxzPWk/aS50eXBlOnZvaWQgMCxhPVwic2VsZWN0aW9uY2hhbmdlXCI9PT1zLGw9IVRnJiYoYXx8XCJiZWZvcmVpbnB1dFwiPT09c3x8XCJjb21wb3NpdGlvbnN0YXJ0XCI9PT1zfHxcImNvbXBvc2l0aW9uZW5kXCI9PT1zfHxcImNsaWNrXCI9PT1zJiZpJiYzPT09aS5kZXRhaWx8fFwiZHJvcFwiPT09c3x8dm9pZCAwPT09cyk7bGV0IGMsdSxkLGY7aWYoRGIoZSkmJiFsKXJldHVybiBlLmNsb25lKCk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7aWYoYz10LmFuY2hvck5vZGUsdT10LmZvY3VzTm9kZSxkPXQuYW5jaG9yT2Zmc2V0LGY9dC5mb2N1c09mZnNldCxhJiZEYihlKSYmIUhnKG4sYyx1KSlyZXR1cm4gZS5jbG9uZSgpO2NvbnN0IG09VmIoYyxkLHUsZixuLGUpO2lmKG51bGw9PT1tKXJldHVybiBudWxsO2NvbnN0W2gscF09bTtyZXR1cm4gbmV3IGpiKGgscCxEYihlKT9lLmZvcm1hdDowLERiKGUpP2Uuc3R5bGU6XCJcIil9ZnVuY3Rpb24gSGIoKXtyZXR1cm4gY3goKS5fc2VsZWN0aW9ufWZ1bmN0aW9uIEtiKCl7cmV0dXJuIHV4KCkuX2VkaXRvclN0YXRlLl9zZWxlY3Rpb259ZnVuY3Rpb24gcWIoZSx0LG4scj0xKXtjb25zdCBvPWUuYW5jaG9yLGk9ZS5mb2N1cyxzPW8uZ2V0Tm9kZSgpLGE9aS5nZXROb2RlKCk7aWYoIXQuaXMocykmJiF0LmlzKGEpKXJldHVybjtjb25zdCBsPXQuX19rZXk7aWYoZS5pc0NvbGxhcHNlZCgpKXtjb25zdCB0PW8ub2Zmc2V0O2lmKG48PXQmJnI+MHx8bjx0JiZyPDApe2NvbnN0IG49TWF0aC5tYXgoMCx0K3IpO28uc2V0KGwsbixcImVsZW1lbnRcIiksaS5zZXQobCxuLFwiZWxlbWVudFwiKSxHYihlKX19ZWxzZXtjb25zdCBzPWUuaXNCYWNrd2FyZCgpLGE9cz9pOm8sYz1hLmdldE5vZGUoKSx1PXM/bzppLGQ9dS5nZXROb2RlKCk7aWYodC5pcyhjKSl7Y29uc3QgZT1hLm9mZnNldDsobjw9ZSYmcj4wfHxuPGUmJnI8MCkmJmEuc2V0KGwsTWF0aC5tYXgoMCxlK3IpLFwiZWxlbWVudFwiKX1pZih0LmlzKGQpKXtjb25zdCBlPXUub2Zmc2V0OyhuPD1lJiZyPjB8fG48ZSYmcjwwKSYmdS5zZXQobCxNYXRoLm1heCgwLGUrciksXCJlbGVtZW50XCIpfX1HYihlKX1mdW5jdGlvbiBHYihlKXtjb25zdCB0PWUuYW5jaG9yLG49dC5vZmZzZXQscj1lLmZvY3VzLG89ci5vZmZzZXQsaT10LmdldE5vZGUoKSxzPXIuZ2V0Tm9kZSgpO2lmKGUuaXNDb2xsYXBzZWQoKSl7aWYoIWt4KGkpKXJldHVybjtjb25zdCBlPWkuZ2V0Q2hpbGRyZW5TaXplKCksbz1uPj1lLHM9bz9pLmdldENoaWxkQXRJbmRleChlLTEpOmkuZ2V0Q2hpbGRBdEluZGV4KG4pO2lmKGtiKHMpKXtsZXQgZT0wO28mJihlPXMuZ2V0VGV4dENvbnRlbnRTaXplKCkpLHQuc2V0KHMuX19rZXksZSxcInRleHRcIiksci5zZXQocy5fX2tleSxlLFwidGV4dFwiKX19ZWxzZXtpZihreChpKSl7Y29uc3QgZT1pLmdldENoaWxkcmVuU2l6ZSgpLHI9bj49ZSxvPXI/aS5nZXRDaGlsZEF0SW5kZXgoZS0xKTppLmdldENoaWxkQXRJbmRleChuKTtpZihrYihvKSl7bGV0IGU9MDtyJiYoZT1vLmdldFRleHRDb250ZW50U2l6ZSgpKSx0LnNldChvLl9fa2V5LGUsXCJ0ZXh0XCIpfX1pZihreChzKSl7Y29uc3QgZT1zLmdldENoaWxkcmVuU2l6ZSgpLHQ9bz49ZSxuPXQ/cy5nZXRDaGlsZEF0SW5kZXgoZS0xKTpzLmdldENoaWxkQXRJbmRleChvKTtpZihrYihuKSl7bGV0IGU9MDt0JiYoZT1uLmdldFRleHRDb250ZW50U2l6ZSgpKSxyLnNldChuLl9fa2V5LGUsXCJ0ZXh0XCIpfX19fWZ1bmN0aW9uIFhiKGUsdCxuLHIsbyl7bGV0IGk9bnVsbCxzPTAsYT1udWxsO251bGwhPT1yPyhpPXIuX19rZXksa2Iocik/KHM9ci5nZXRUZXh0Q29udGVudFNpemUoKSxhPVwidGV4dFwiKTpreChyKSYmKHM9ci5nZXRDaGlsZHJlblNpemUoKSxhPVwiZWxlbWVudFwiKSk6bnVsbCE9PW8mJihpPW8uX19rZXksa2Iobyk/YT1cInRleHRcIjpreChvKSYmKGE9XCJlbGVtZW50XCIpKSxudWxsIT09aSYmbnVsbCE9PWE/ZS5zZXQoaSxzLGEpOihzPXQuZ2V0SW5kZXhXaXRoaW5QYXJlbnQoKSwtMT09PXMmJihzPW4uZ2V0Q2hpbGRyZW5TaXplKCkpLGUuc2V0KG4uX19rZXkscyxcImVsZW1lbnRcIikpfWZ1bmN0aW9uIFpiKGUsdCxuLHIsbyl7XCJ0ZXh0XCI9PT1lLnR5cGU/KGUua2V5PW4sdHx8KGUub2Zmc2V0Kz1vKSk6ZS5vZmZzZXQ+ci5nZXRJbmRleFdpdGhpblBhcmVudCgpJiYoZS5vZmZzZXQtPTEpfWZ1bmN0aW9uIEpiKGUpe2xldCB0PWU7ZS5pc0NvbGxhcHNlZCgpfHx0LnJlbW92ZVRleHQoKTtjb25zdCBuPUhiKCk7RGIobikmJih0PW4pLERiKHQpfHxQZygxNjEpO2NvbnN0IHI9dC5hbmNob3I7bGV0IG89ci5nZXROb2RlKCksaT1yLm9mZnNldDtmb3IoOyFIeShvKTspW28saV09UWIobyxpKTtyZXR1cm4gaX1mdW5jdGlvbiBRYihlLHQpe2NvbnN0IG49ZS5nZXRQYXJlbnQoKTtpZighbil7Y29uc3QgZT1JeCgpO3JldHVybiBjeSgpLmFwcGVuZChlKSxlLnNlbGVjdCgpLFtjeSgpLDBdfWlmKGtiKGUpKXtjb25zdCByPWUuc3BsaXRUZXh0KHQpO2lmKDA9PT1yLmxlbmd0aClyZXR1cm5bbixlLmdldEluZGV4V2l0aGluUGFyZW50KCldO2NvbnN0IG89MD09PXQ/MDoxO3JldHVybltuLHJbMF0uZ2V0SW5kZXhXaXRoaW5QYXJlbnQoKStvXX1pZigha3goZSl8fDA9PT10KXJldHVybltuLGUuZ2V0SW5kZXhXaXRoaW5QYXJlbnQoKV07Y29uc3Qgcj1lLmdldENoaWxkQXRJbmRleCh0KTtpZihyKXtjb25zdCBuPW5ldyBqYihPYihlLl9fa2V5LHQsXCJlbGVtZW50XCIpLE9iKGUuX19rZXksdCxcImVsZW1lbnRcIiksMCxcIlwiKSxvPWUuaW5zZXJ0TmV3QWZ0ZXIobik7byYmby5hcHBlbmQociwuLi5yLmdldE5leHRTaWJsaW5ncygpKX1yZXR1cm5bbixlLmdldEluZGV4V2l0aGluUGFyZW50KCkrMV19bGV0IGV4PW51bGwsdHg9bnVsbCxueD0hMSxyeD0hMSxveD0wO2NvbnN0IGl4PXtjaGFyYWN0ZXJEYXRhOiEwLGNoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfTtmdW5jdGlvbiBzeCgpe3JldHVybiBueHx8bnVsbCE9PWV4JiZleC5fcmVhZE9ubHl9ZnVuY3Rpb24gYXgoKXtueCYmUGcoMTMpfWZ1bmN0aW9uIGx4KCl7b3g+OTkmJlBnKDE0KX1mdW5jdGlvbiBjeCgpe3JldHVybiBudWxsPT09ZXgmJlBnKDE5NSxkeCgpKSxleH1mdW5jdGlvbiB1eCgpe3JldHVybiBudWxsPT09dHgmJlBnKDE5NixkeCgpKSx0eH1mdW5jdGlvbiBkeCgpe2xldCBlPTA7Y29uc3QgdD1uZXcgU2V0LG49QngudmVyc2lvbjtpZihcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93KWZvcihjb25zdCByIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbY29udGVudGVkaXRhYmxlXVwiKSl7Y29uc3Qgbz1HZyhyKTtpZihLZyhvKSllKys7ZWxzZSBpZihvKXtsZXQgZT1TdHJpbmcoby5jb25zdHJ1Y3Rvci52ZXJzaW9ufHxcIjwwLjE3LjFcIik7ZT09PW4mJihlKz1cIiAoc2VwYXJhdGVseSBidWlsdCwgbGlrZWx5IGEgYnVuZGxlciBjb25maWd1cmF0aW9uIGlzc3VlKVwiKSx0LmFkZChlKX19bGV0IHI9YCBEZXRlY3RlZCBvbiB0aGUgcGFnZTogJHtlfSBjb21wYXRpYmxlIGVkaXRvcihzKSB3aXRoIHZlcnNpb24gJHtufWA7cmV0dXJuIHQuc2l6ZSYmKHIrPWAgYW5kIGluY29tcGF0aWJsZSBlZGl0b3JzIHdpdGggdmVyc2lvbnMgJHtBcnJheS5mcm9tKHQpLmpvaW4oXCIsIFwiKX1gKSxyfWZ1bmN0aW9uIGZ4KGUsdCxuKXtjb25zdCByPXQuX190eXBlLG89ZnVuY3Rpb24oZSx0KXtjb25zdCBuPWUuX25vZGVzLmdldCh0KTtyZXR1cm4gdm9pZCAwPT09biYmUGcoMzAsdCksbn0oZSxyKTtsZXQgaT1uLmdldChyKTt2b2lkIDA9PT1pJiYoaT1BcnJheS5mcm9tKG8udHJhbnNmb3Jtcyksbi5zZXQocixpKSk7Y29uc3Qgcz1pLmxlbmd0aDtmb3IobGV0IGU9MDtlPHMmJihpW2VdKHQpLHQuaXNBdHRhY2hlZCgpKTtlKyspO31mdW5jdGlvbiBteChlLHQpe3JldHVybiB2b2lkIDAhPT1lJiZlLl9fa2V5IT09dCYmZS5pc0F0dGFjaGVkKCl9ZnVuY3Rpb24gaHgoZSx0KXtjb25zdCBuPWUudHlwZSxyPXQuZ2V0KG4pO3ZvaWQgMD09PXImJlBnKDE3LG4pO2NvbnN0IG89ci5rbGFzcztlLnR5cGUhPT1vLmdldFR5cGUoKSYmUGcoMTgsby5uYW1lKTtjb25zdCBpPW8uaW1wb3J0SlNPTihlKSxzPWUuY2hpbGRyZW47aWYoa3goaSkmJkFycmF5LmlzQXJyYXkocykpZm9yKGxldCBlPTA7ZTxzLmxlbmd0aDtlKyspe2NvbnN0IG49aHgoc1tlXSx0KTtpLmFwcGVuZChuKX1yZXR1cm4gaX1mdW5jdGlvbiBweChlLHQsbil7Y29uc3Qgcj1leCxvPW54LGk9dHg7ZXg9dCxueD0hMCx0eD1lO3RyeXtyZXR1cm4gbigpfWZpbmFsbHl7ZXg9cixueD1vLHR4PWl9fWZ1bmN0aW9uIGd4KGUsdCl7Y29uc3Qgbj1lLl9wZW5kaW5nRWRpdG9yU3RhdGUscj1lLl9yb290RWxlbWVudCxvPWUuX2hlYWRsZXNzfHxudWxsPT09cjtpZihudWxsPT09bilyZXR1cm47Y29uc3QgaT1lLl9lZGl0b3JTdGF0ZSxzPWkuX3NlbGVjdGlvbixhPW4uX3NlbGVjdGlvbixsPWUuX2RpcnR5VHlwZSE9PVFwLGM9ZXgsdT1ueCxkPXR4LGY9ZS5fdXBkYXRpbmcsbT1lLl9vYnNlcnZlcjtsZXQgaD1udWxsO2lmKGUuX3BlbmRpbmdFZGl0b3JTdGF0ZT1udWxsLGUuX2VkaXRvclN0YXRlPW4sIW8mJmwmJm51bGwhPT1tKXt0eD1lLGV4PW4sbng9ITEsZS5fdXBkYXRpbmc9ITA7dHJ5e2NvbnN0IHQ9ZS5fZGlydHlUeXBlLHI9ZS5fZGlydHlFbGVtZW50cyxvPWUuX2RpcnR5TGVhdmVzO20uZGlzY29ubmVjdCgpLGg9ZnVuY3Rpb24oZSx0LG4scixvLGkpe2x2PVwiXCIsZnY9XCJcIixjdj1cIlwiLG12PXI9PT1lZyxwdj1udWxsLFF5PW4sSnk9bi5fY29uZmlnLGV2PW4uX25vZGVzLHR2PVF5Ll9saXN0ZW5lcnMubXV0YXRpb24sbnY9byxydj1pLG92PWUuX25vZGVNYXAsaXY9dC5fbm9kZU1hcCxodj10Ll9yZWFkT25seSxzdj1uZXcgTWFwKG4uX2tleVRvRE9NTWFwKTtjb25zdCBzPW5ldyBNYXA7cmV0dXJuIGF2PXMsT3YoXCJyb290XCIsbnVsbCksUXk9dm9pZCAwLGV2PXZvaWQgMCxudj12b2lkIDAscnY9dm9pZCAwLG92PXZvaWQgMCxpdj12b2lkIDAsSnk9dm9pZCAwLHN2PXZvaWQgMCxhdj12b2lkIDAsc30oaSxuLGUsdCxyLG8pfWNhdGNoKHQpe2lmKHQgaW5zdGFuY2VvZiBFcnJvciYmZS5fb25FcnJvcih0KSxyeCl0aHJvdyB0O3JldHVybiB6eChlLG51bGwscixuKSxGZyhlKSxlLl9kaXJ0eVR5cGU9ZWcscng9ITAsZ3goZSxpKSx2b2lkKHJ4PSExKX1maW5hbGx5e20ub2JzZXJ2ZShyLGl4KSxlLl91cGRhdGluZz1mLGV4PWMsbng9dSx0eD1kfX1uLl9yZWFkT25seXx8KG4uX3JlYWRPbmx5PSEwKTtjb25zdCBwPWUuX2RpcnR5TGVhdmVzLGc9ZS5fZGlydHlFbGVtZW50cyx5PWUuX25vcm1hbGl6ZWROb2Rlcyx2PWUuX3VwZGF0ZVRhZ3MsYj1lLl9kZWZlcnJlZDtsJiYoZS5fZGlydHlUeXBlPVFwLGUuX2Nsb25lTm90TmVlZGVkLmNsZWFyKCksZS5fZGlydHlMZWF2ZXM9bmV3IFNldCxlLl9kaXJ0eUVsZW1lbnRzPW5ldyBNYXAsZS5fbm9ybWFsaXplZE5vZGVzPW5ldyBTZXQsZS5fdXBkYXRlVGFncz1uZXcgU2V0KSxmdW5jdGlvbihlLHQpe2NvbnN0IG49ZS5fZGVjb3JhdG9ycztsZXQgcj1lLl9wZW5kaW5nRGVjb3JhdG9yc3x8bjtjb25zdCBvPXQuX25vZGVNYXA7bGV0IGk7Zm9yKGkgaW4gcilvLmhhcyhpKXx8KHI9PT1uJiYocj1heShlKSksZGVsZXRlIHJbaV0pfShlLG4pO2NvbnN0IHg9bz9udWxsOlZ5KGUuX3dpbmRvdyk7aWYoZS5fZWRpdGFibGUmJm51bGwhPT14JiYobHx8bnVsbD09PWF8fGEuZGlydHkpKXt0eD1lLGV4PW47dHJ5e2lmKG51bGwhPT1tJiZtLmRpc2Nvbm5lY3QoKSxsfHxudWxsPT09YXx8YS5kaXJ0eSl7Y29uc3QgdD1lLl9ibG9ja0N1cnNvckVsZW1lbnQ7bnVsbCE9PXQmJl9uKHQsZSxyKSxmdW5jdGlvbihlLHQsbixyLG8saSl7Y29uc3Qgcz1yLmFuY2hvck5vZGUsYT1yLmZvY3VzTm9kZSxsPXIuYW5jaG9yT2Zmc2V0LGM9ci5mb2N1c09mZnNldCx1PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoby5oYXMoXCJjb2xsYWJvcmF0aW9uXCIpJiZ1IT09aXx8bnVsbCE9PXUmJllnKHUpKXJldHVybjtpZighRGIodCkpcmV0dXJuIHZvaWQobnVsbCE9PWUmJkhnKG4scyxhKSYmci5yZW1vdmVBbGxSYW5nZXMoKSk7Y29uc3QgZD10LmFuY2hvcixmPXQuZm9jdXMsbT1kLmtleSxoPWYua2V5LHA9ankobixtKSxnPWp5KG4saCkseT1kLm9mZnNldCx2PWYub2Zmc2V0LGI9dC5mb3JtYXQseD10LnN0eWxlLHc9dC5pc0NvbGxhcHNlZCgpO2xldCBTPXAsaz1nLEU9ITE7aWYoXCJ0ZXh0XCI9PT1kLnR5cGUpe1M9SmcocCk7Y29uc3QgZT1kLmdldE5vZGUoKTtFPWUuZ2V0Rm9ybWF0KCkhPT1ifHxlLmdldFN0eWxlKCkhPT14fWVsc2UgRGIoZSkmJlwidGV4dFwiPT09ZS5hbmNob3IudHlwZSYmKEU9ITApO3ZhciBDLF8sUCxPLE47aWYoXCJ0ZXh0XCI9PT1mLnR5cGUmJihrPUpnKGcpKSxudWxsIT09UyYmbnVsbCE9PWsmJih3JiYobnVsbD09PWV8fEV8fERiKGUpJiYoZS5mb3JtYXQhPT1ifHxlLnN0eWxlIT09eCkpJiYoQz1iLF89eCxQPXksTz1tLE49cGVyZm9ybWFuY2Uubm93KCksVXY9W0MsXyxQLE8sTl0pLGwhPT15fHxjIT09dnx8cyE9PVN8fGEhPT1rfHxcIlJhbmdlXCI9PT1yLnR5cGUmJnd8fChudWxsIT09dSYmaS5jb250YWlucyh1KXx8aS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLFwiZWxlbWVudFwiPT09ZC50eXBlKSkpe3RyeXtyLnNldEJhc2VBbmRFeHRlbnQoUyx5LGssdil9Y2F0Y2goZSl7fWlmKCFvLmhhcyhcInNraXAtc2Nyb2xsLWludG8tdmlld1wiKSYmdC5pc0NvbGxhcHNlZCgpJiZudWxsIT09aSYmaT09PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpe2NvbnN0IGU9dCBpbnN0YW5jZW9mIGpiJiZcImVsZW1lbnRcIj09PXQuYW5jaG9yLnR5cGU/Uy5jaGlsZE5vZGVzW3ldfHxudWxsOnIucmFuZ2VDb3VudD4wP3IuZ2V0UmFuZ2VBdCgwKTpudWxsO2lmKG51bGwhPT1lKXtsZXQgdDtpZihlIGluc3RhbmNlb2YgVGV4dCl7Y29uc3Qgbj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO24uc2VsZWN0Tm9kZShlKSx0PW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9ZWxzZSB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7IWZ1bmN0aW9uKGUsdCxuKXtjb25zdCByPW4ub3duZXJEb2N1bWVudCxvPXIuZGVmYXVsdFZpZXc7aWYobnVsbD09PW8pcmV0dXJuO2xldHt0b3A6aSxib3R0b206c309dCxhPTAsbD0wLGM9bjtmb3IoO251bGwhPT1jOyl7Y29uc3QgdD1jPT09ci5ib2R5O2lmKHQpYT0wLGw9THkoZSkuaW5uZXJIZWlnaHQ7ZWxzZXtjb25zdCBlPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7YT1lLnRvcCxsPWUuYm90dG9tfWxldCBuPTA7aWYoaTxhP249LShhLWkpOnM+bCYmKG49cy1sKSwwIT09bilpZih0KW8uc2Nyb2xsQnkoMCxuKTtlbHNle2NvbnN0IGU9Yy5zY3JvbGxUb3A7Yy5zY3JvbGxUb3ArPW47Y29uc3QgdD1jLnNjcm9sbFRvcC1lO2ktPXQscy09dH1pZih0KWJyZWFrO2M9QXkoYyl9fShuLHQsaSl9fXp2PSEwfX0ocyxhLGUseCx2LHIpfShmdW5jdGlvbihlLHQsbil7bGV0IHI9ZS5fYmxvY2tDdXJzb3JFbGVtZW50O2lmKERiKG4pJiZuLmlzQ29sbGFwc2VkKCkmJlwiZWxlbWVudFwiPT09bi5hbmNob3IudHlwZSYmdC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSl7Y29uc3Qgbz1uLmFuY2hvcixpPW8uZ2V0Tm9kZSgpLHM9by5vZmZzZXQ7bGV0IGE9ITEsbD1udWxsO2lmKHM9PT1pLmdldENoaWxkcmVuU2l6ZSgpKVd5KGkuZ2V0Q2hpbGRBdEluZGV4KHMtMSkpJiYoYT0hMCk7ZWxzZXtjb25zdCB0PWkuZ2V0Q2hpbGRBdEluZGV4KHMpO2lmKFd5KHQpKXtjb25zdCBuPXQuZ2V0UHJldmlvdXNTaWJsaW5nKCk7KG51bGw9PT1ufHxXeShuKSkmJihhPSEwLGw9ZS5nZXRFbGVtZW50QnlLZXkodC5fX2tleSkpfX1pZihhKXtjb25zdCBuPWUuZ2V0RWxlbWVudEJ5S2V5KGkuX19rZXkpO3JldHVybiBudWxsPT09ciYmKGUuX2Jsb2NrQ3Vyc29yRWxlbWVudD1yPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS50aGVtZSxuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7bi5jb250ZW50RWRpdGFibGU9XCJmYWxzZVwiLG4uc2V0QXR0cmlidXRlKFwiZGF0YS1sZXhpY2FsLWN1cnNvclwiLFwidHJ1ZVwiKTtsZXQgcj10LmJsb2NrQ3Vyc29yO2lmKHZvaWQgMCE9PXIpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiByKXtjb25zdCBlPU9nKHIpO3I9dC5ibG9ja0N1cnNvcj1lfXZvaWQgMCE9PXImJm4uY2xhc3NMaXN0LmFkZCguLi5yKX1yZXR1cm4gbn0oZS5fY29uZmlnKSksdC5zdHlsZS5jYXJldENvbG9yPVwidHJhbnNwYXJlbnRcIix2b2lkKG51bGw9PT1sP24uYXBwZW5kQ2hpbGQocik6bi5pbnNlcnRCZWZvcmUocixsKSl9fW51bGwhPT1yJiZfbihyLGUsdCl9KShlLHIsYSksbnVsbCE9PW0mJm0ub2JzZXJ2ZShyLGl4KX1maW5hbGx5e3R4PWQsZXg9Y319bnVsbCE9PWgmJmZ1bmN0aW9uKGUsdCxuLHIsbyl7Y29uc3QgaT1BcnJheS5mcm9tKGUuX2xpc3RlbmVycy5tdXRhdGlvbikscz1pLmxlbmd0aDtmb3IobGV0IGU9MDtlPHM7ZSsrKXtjb25zdFtzLGFdPWlbZV0sbD10LmdldChhKTt2b2lkIDAhPT1sJiZzKGwse2RpcnR5TGVhdmVzOnIscHJldkVkaXRvclN0YXRlOm8sdXBkYXRlVGFnczpufSl9fShlLGgsdixwLGkpLERiKGEpfHxudWxsPT09YXx8bnVsbCE9PXMmJnMuaXMoYSl8fGUuZGlzcGF0Y2hDb21tYW5kKGVwLHZvaWQgMCk7Y29uc3Qgdz1lLl9wZW5kaW5nRGVjb3JhdG9ycztudWxsIT09dyYmKGUuX2RlY29yYXRvcnM9dyxlLl9wZW5kaW5nRGVjb3JhdG9ycz1udWxsLHl4KFwiZGVjb3JhdG9yXCIsZSwhMCx3KSksZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHI9bHkodCksbz1seShuKTtyIT09byYmeXgoXCJ0ZXh0Y29udGVudFwiLGUsITAsbyl9KGUsdHx8aSxuKSx5eChcInVwZGF0ZVwiLGUsITAse2RpcnR5RWxlbWVudHM6ZyxkaXJ0eUxlYXZlczpwLGVkaXRvclN0YXRlOm4sbm9ybWFsaXplZE5vZGVzOnkscHJldkVkaXRvclN0YXRlOnR8fGksdGFnczp2fSksZnVuY3Rpb24oZSx0KXtpZihlLl9kZWZlcnJlZD1bXSwwIT09dC5sZW5ndGgpe2NvbnN0IG49ZS5fdXBkYXRpbmc7ZS5fdXBkYXRpbmc9ITA7dHJ5e2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0oKX1maW5hbGx5e2UuX3VwZGF0aW5nPW59fX0oZSxiKSxmdW5jdGlvbihlKXtjb25zdCB0PWUuX3VwZGF0ZXM7aWYoMCE9PXQubGVuZ3RoKXtjb25zdCBuPXQuc2hpZnQoKTtpZihuKXtjb25zdFt0LHJdPW47eHgoZSx0LHIpfX19KGUpfWZ1bmN0aW9uIHl4KGUsdCxuLC4uLnIpe2NvbnN0IG89dC5fdXBkYXRpbmc7dC5fdXBkYXRpbmc9bjt0cnl7Y29uc3Qgbj1BcnJheS5mcm9tKHQuX2xpc3RlbmVyc1tlXSk7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKyspbltlXS5hcHBseShudWxsLHIpfWZpbmFsbHl7dC5fdXBkYXRpbmc9b319ZnVuY3Rpb24gdngoZSx0LG4pe2lmKCExPT09ZS5fdXBkYXRpbmd8fHR4IT09ZSl7bGV0IHI9ITE7cmV0dXJuIGUudXBkYXRlKCgoKT0+e3I9dngoZSx0LG4pfSkpLHJ9Y29uc3Qgcj1weShlKTtmb3IobGV0IG89NDtvPj0wO28tLSlmb3IobGV0IGk9MDtpPHIubGVuZ3RoO2krKyl7Y29uc3Qgcz1yW2ldLl9jb21tYW5kcy5nZXQodCk7aWYodm9pZCAwIT09cyl7Y29uc3QgdD1zW29dO2lmKHZvaWQgMCE9PXQpe2NvbnN0IHI9QXJyYXkuZnJvbSh0KSxvPXIubGVuZ3RoO2ZvcihsZXQgdD0wO3Q8bzt0KyspaWYoITA9PT1yW3RdKG4sZSkpcmV0dXJuITB9fX1yZXR1cm4hMX1mdW5jdGlvbiBieChlLHQpe2NvbnN0IG49ZS5fdXBkYXRlcztsZXQgcj10fHwhMTtmb3IoOzAhPT1uLmxlbmd0aDspe2NvbnN0IHQ9bi5zaGlmdCgpO2lmKHQpe2NvbnN0W24sb109dDtsZXQgaSxzO2lmKHZvaWQgMCE9PW8pe2lmKGk9by5vblVwZGF0ZSxzPW8udGFnLG8uc2tpcFRyYW5zZm9ybXMmJihyPSEwKSxvLmRpc2NyZXRlKXtjb25zdCB0PWUuX3BlbmRpbmdFZGl0b3JTdGF0ZTtudWxsPT09dCYmUGcoMTkxKSx0Ll9mbHVzaFN5bmM9ITB9aSYmZS5fZGVmZXJyZWQucHVzaChpKSxzJiZlLl91cGRhdGVUYWdzLmFkZChzKX1uKCl9fXJldHVybiByfWZ1bmN0aW9uIHh4KGUsdCxuKXtjb25zdCByPWUuX3VwZGF0ZVRhZ3M7bGV0IG8saSxzPSExLGE9ITE7dm9pZCAwIT09biYmKG89bi5vblVwZGF0ZSxpPW4udGFnLG51bGwhPWkmJnIuYWRkKGkpLHM9bi5za2lwVHJhbnNmb3Jtc3x8ITEsYT1uLmRpc2NyZXRlfHwhMSksbyYmZS5fZGVmZXJyZWQucHVzaChvKTtjb25zdCBsPWUuX2VkaXRvclN0YXRlO2xldCBjPWUuX3BlbmRpbmdFZGl0b3JTdGF0ZSx1PSExOyhudWxsPT09Y3x8Yy5fcmVhZE9ubHkpJiYoYz1lLl9wZW5kaW5nRWRpdG9yU3RhdGU9bmV3IFJ4KG5ldyBNYXAoKGN8fGwpLl9ub2RlTWFwKSksdT0hMCksYy5fZmx1c2hTeW5jPWE7Y29uc3QgZD1leCxmPW54LG09dHgsaD1lLl91cGRhdGluZztleD1jLG54PSExLGUuX3VwZGF0aW5nPSEwLHR4PWU7dHJ5e3UmJihlLl9oZWFkbGVzcz9udWxsIT09bC5fc2VsZWN0aW9uJiYoYy5fc2VsZWN0aW9uPWwuX3NlbGVjdGlvbi5jbG9uZSgpKTpjLl9zZWxlY3Rpb249ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLmdldEVkaXRvclN0YXRlKCkuX3NlbGVjdGlvbixuPVZ5KGUuX3dpbmRvdyk7cmV0dXJuIERiKHQpfHxudWxsPT10P1liKHQsbixlLG51bGwpOnQuY2xvbmUoKX0oZSkpO2NvbnN0IG49ZS5fY29tcG9zaXRpb25LZXk7dCgpLHM9YngoZSxzKSxmdW5jdGlvbihlLHQpe2NvbnN0IG49dC5nZXRFZGl0b3JTdGF0ZSgpLl9zZWxlY3Rpb24scj1lLl9zZWxlY3Rpb247aWYoRGIocikpe2NvbnN0IGU9ci5hbmNob3IsdD1yLmZvY3VzO2xldCBvO2lmKFwidGV4dFwiPT09ZS50eXBlJiYobz1lLmdldE5vZGUoKSxvLnNlbGVjdGlvblRyYW5zZm9ybShuLHIpKSxcInRleHRcIj09PXQudHlwZSl7Y29uc3QgZT10LmdldE5vZGUoKTtvIT09ZSYmZS5zZWxlY3Rpb25UcmFuc2Zvcm0obixyKX19fShjLGUpLGUuX2RpcnR5VHlwZSE9PVFwJiYocz9mdW5jdGlvbihlLHQpe2NvbnN0IG49dC5fZGlydHlMZWF2ZXMscj1lLl9ub2RlTWFwO2Zvcihjb25zdCBlIG9mIG4pe2NvbnN0IHQ9ci5nZXQoZSk7a2IodCkmJnQuaXNBdHRhY2hlZCgpJiZ0LmlzU2ltcGxlVGV4dCgpJiYhdC5pc1VubWVyZ2VhYmxlKCkmJldnKHQpfX0oYyxlKTpmdW5jdGlvbihlLHQpe2NvbnN0IG49dC5fZGlydHlMZWF2ZXMscj10Ll9kaXJ0eUVsZW1lbnRzLG89ZS5fbm9kZU1hcCxpPXJ5KCkscz1uZXcgTWFwO2xldCBhPW4sbD1hLnNpemUsYz1yLHU9Yy5zaXplO2Zvcig7bD4wfHx1PjA7KXtpZihsPjApe3QuX2RpcnR5TGVhdmVzPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgYSl7Y29uc3Qgcj1vLmdldChlKTtrYihyKSYmci5pc0F0dGFjaGVkKCkmJnIuaXNTaW1wbGVUZXh0KCkmJiFyLmlzVW5tZXJnZWFibGUoKSYmV2cociksdm9pZCAwIT09ciYmbXgocixpKSYmZngodCxyLHMpLG4uYWRkKGUpfWlmKGE9dC5fZGlydHlMZWF2ZXMsbD1hLnNpemUsbD4wKXtveCsrO2NvbnRpbnVlfX10Ll9kaXJ0eUxlYXZlcz1uZXcgU2V0LHQuX2RpcnR5RWxlbWVudHM9bmV3IE1hcDtmb3IoY29uc3QgZSBvZiBjKXtjb25zdCBuPWVbMF0sYT1lWzFdO2lmKFwicm9vdFwiIT09biYmIWEpY29udGludWU7Y29uc3QgbD1vLmdldChuKTt2b2lkIDAhPT1sJiZteChsLGkpJiZmeCh0LGwscyksci5zZXQobixhKX1hPXQuX2RpcnR5TGVhdmVzLGw9YS5zaXplLGM9dC5fZGlydHlFbGVtZW50cyx1PWMuc2l6ZSxveCsrfXQuX2RpcnR5TGVhdmVzPW4sdC5fZGlydHlFbGVtZW50cz1yfShjLGUpLGJ4KGUpLGZ1bmN0aW9uKGUsdCxuLHIpe2NvbnN0IG89ZS5fbm9kZU1hcCxpPXQuX25vZGVNYXAscz1bXTtmb3IoY29uc3RbZV1vZiByKXtjb25zdCB0PWkuZ2V0KGUpO3ZvaWQgMCE9PXQmJih0LmlzQXR0YWNoZWQoKXx8KGt4KHQpJiZaeSh0LGUsbyxpLHMsciksby5oYXMoZSl8fHIuZGVsZXRlKGUpLHMucHVzaChlKSkpfWZvcihjb25zdCBlIG9mIHMpaS5kZWxldGUoZSk7Zm9yKGNvbnN0IGUgb2Ygbil7Y29uc3QgdD1pLmdldChlKTt2b2lkIDA9PT10fHx0LmlzQXR0YWNoZWQoKXx8KG8uaGFzKGUpfHxuLmRlbGV0ZShlKSxpLmRlbGV0ZShlKSl9fShsLGMsZS5fZGlydHlMZWF2ZXMsZS5fZGlydHlFbGVtZW50cykpLG4hPT1lLl9jb21wb3NpdGlvbktleSYmKGMuX2ZsdXNoU3luYz0hMCk7Y29uc3Qgcj1jLl9zZWxlY3Rpb247aWYoRGIocikpe2NvbnN0IGU9Yy5fbm9kZU1hcCx0PXIuYW5jaG9yLmtleSxuPXIuZm9jdXMua2V5O3ZvaWQgMCE9PWUuZ2V0KHQpJiZ2b2lkIDAhPT1lLmdldChuKXx8UGcoMTkpfWVsc2UgQWIocikmJjA9PT1yLl9ub2Rlcy5zaXplJiYoYy5fc2VsZWN0aW9uPW51bGwpfWNhdGNoKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRXJyb3ImJmUuX29uRXJyb3IodCksZS5fcGVuZGluZ0VkaXRvclN0YXRlPWwsZS5fZGlydHlUeXBlPWVnLGUuX2Nsb25lTm90TmVlZGVkLmNsZWFyKCksZS5fZGlydHlMZWF2ZXM9bmV3IFNldCxlLl9kaXJ0eUVsZW1lbnRzLmNsZWFyKCksdm9pZCBneChlKX1maW5hbGx5e2V4PWQsbng9Zix0eD1tLGUuX3VwZGF0aW5nPWgsb3g9MH1jb25zdCBwPWUuX2RpcnR5VHlwZSE9PVFwfHxmdW5jdGlvbihlLHQpe2NvbnN0IG49dC5nZXRFZGl0b3JTdGF0ZSgpLl9zZWxlY3Rpb24scj1lLl9zZWxlY3Rpb247aWYobnVsbCE9PXIpe2lmKHIuZGlydHl8fCFyLmlzKG4pKXJldHVybiEwfWVsc2UgaWYobnVsbCE9PW4pcmV0dXJuITA7cmV0dXJuITF9KGMsZSk7cD9jLl9mbHVzaFN5bmM/KGMuX2ZsdXNoU3luYz0hMSxneChlKSk6dSYmJGcoKCgpPT57Z3goZSl9KSk6KGMuX2ZsdXNoU3luYz0hMSx1JiYoci5jbGVhcigpLGUuX2RlZmVycmVkPVtdLGUuX3BlbmRpbmdFZGl0b3JTdGF0ZT1udWxsKSl9ZnVuY3Rpb24gd3goZSx0LG4pe2UuX3VwZGF0aW5nP2UuX3VwZGF0ZXMucHVzaChbdCxuXSk6eHgoZSx0LG4pfWNsYXNzIFN4IGV4dGVuZHMgdGJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fX2ZpcnN0PW51bGwsdGhpcy5fX2xhc3Q9bnVsbCx0aGlzLl9fc2l6ZT0wLHRoaXMuX19mb3JtYXQ9MCx0aGlzLl9fc3R5bGU9XCJcIix0aGlzLl9faW5kZW50PTAsdGhpcy5fX2Rpcj1udWxsfWFmdGVyQ2xvbmVGcm9tKGUpe3N1cGVyLmFmdGVyQ2xvbmVGcm9tKGUpLHRoaXMuX19maXJzdD1lLl9fZmlyc3QsdGhpcy5fX2xhc3Q9ZS5fX2xhc3QsdGhpcy5fX3NpemU9ZS5fX3NpemUsdGhpcy5fX2luZGVudD1lLl9faW5kZW50LHRoaXMuX19mb3JtYXQ9ZS5fX2Zvcm1hdCx0aGlzLl9fc3R5bGU9ZS5fX3N0eWxlLHRoaXMuX19kaXI9ZS5fX2Rpcn1nZXRGb3JtYXQoKXtyZXR1cm4gdGhpcy5nZXRMYXRlc3QoKS5fX2Zvcm1hdH1nZXRGb3JtYXRUeXBlKCl7Y29uc3QgZT10aGlzLmdldEZvcm1hdCgpO3JldHVybiBrZ1tlXXx8XCJcIn1nZXRTdHlsZSgpe3JldHVybiB0aGlzLmdldExhdGVzdCgpLl9fc3R5bGV9Z2V0SW5kZW50KCl7cmV0dXJuIHRoaXMuZ2V0TGF0ZXN0KCkuX19pbmRlbnR9Z2V0Q2hpbGRyZW4oKXtjb25zdCBlPVtdO2xldCB0PXRoaXMuZ2V0Rmlyc3RDaGlsZCgpO2Zvcig7bnVsbCE9PXQ7KWUucHVzaCh0KSx0PXQuZ2V0TmV4dFNpYmxpbmcoKTtyZXR1cm4gZX1nZXRDaGlsZHJlbktleXMoKXtjb25zdCBlPVtdO2xldCB0PXRoaXMuZ2V0Rmlyc3RDaGlsZCgpO2Zvcig7bnVsbCE9PXQ7KWUucHVzaCh0Ll9fa2V5KSx0PXQuZ2V0TmV4dFNpYmxpbmcoKTtyZXR1cm4gZX1nZXRDaGlsZHJlblNpemUoKXtyZXR1cm4gdGhpcy5nZXRMYXRlc3QoKS5fX3NpemV9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5nZXRDaGlsZHJlblNpemUoKX1pc0RpcnR5KCl7Y29uc3QgZT11eCgpLl9kaXJ0eUVsZW1lbnRzO3JldHVybiBudWxsIT09ZSYmZS5oYXModGhpcy5fX2tleSl9aXNMYXN0Q2hpbGQoKXtjb25zdCBlPXRoaXMuZ2V0TGF0ZXN0KCksdD10aGlzLmdldFBhcmVudE9yVGhyb3coKS5nZXRMYXN0Q2hpbGQoKTtyZXR1cm4gbnVsbCE9PXQmJnQuaXMoZSl9Z2V0QWxsVGV4dE5vZGVzKCl7Y29uc3QgZT1bXTtsZXQgdD10aGlzLmdldEZpcnN0Q2hpbGQoKTtmb3IoO251bGwhPT10Oyl7aWYoa2IodCkmJmUucHVzaCh0KSxreCh0KSl7Y29uc3Qgbj10LmdldEFsbFRleHROb2RlcygpO2UucHVzaCguLi5uKX10PXQuZ2V0TmV4dFNpYmxpbmcoKX1yZXR1cm4gZX1nZXRGaXJzdERlc2NlbmRhbnQoKXtsZXQgZT10aGlzLmdldEZpcnN0Q2hpbGQoKTtmb3IoO2t4KGUpOyl7Y29uc3QgdD1lLmdldEZpcnN0Q2hpbGQoKTtpZihudWxsPT09dClicmVhaztlPXR9cmV0dXJuIGV9Z2V0TGFzdERlc2NlbmRhbnQoKXtsZXQgZT10aGlzLmdldExhc3RDaGlsZCgpO2Zvcig7a3goZSk7KXtjb25zdCB0PWUuZ2V0TGFzdENoaWxkKCk7aWYobnVsbD09PXQpYnJlYWs7ZT10fXJldHVybiBlfWdldERlc2NlbmRhbnRCeUluZGV4KGUpe2NvbnN0IHQ9dGhpcy5nZXRDaGlsZHJlbigpLG49dC5sZW5ndGg7aWYoZT49bil7Y29uc3QgZT10W24tMV07cmV0dXJuIGt4KGUpJiZlLmdldExhc3REZXNjZW5kYW50KCl8fGV8fG51bGx9Y29uc3Qgcj10W2VdO3JldHVybiBreChyKSYmci5nZXRGaXJzdERlc2NlbmRhbnQoKXx8cnx8bnVsbH1nZXRGaXJzdENoaWxkKCl7Y29uc3QgZT10aGlzLmdldExhdGVzdCgpLl9fZmlyc3Q7cmV0dXJuIG51bGw9PT1lP251bGw6b3koZSl9Z2V0Rmlyc3RDaGlsZE9yVGhyb3coKXtjb25zdCBlPXRoaXMuZ2V0Rmlyc3RDaGlsZCgpO3JldHVybiBudWxsPT09ZSYmUGcoNDUsdGhpcy5fX2tleSksZX1nZXRMYXN0Q2hpbGQoKXtjb25zdCBlPXRoaXMuZ2V0TGF0ZXN0KCkuX19sYXN0O3JldHVybiBudWxsPT09ZT9udWxsOm95KGUpfWdldExhc3RDaGlsZE9yVGhyb3coKXtjb25zdCBlPXRoaXMuZ2V0TGFzdENoaWxkKCk7cmV0dXJuIG51bGw9PT1lJiZQZyg5Nix0aGlzLl9fa2V5KSxlfWdldENoaWxkQXRJbmRleChlKXtjb25zdCB0PXRoaXMuZ2V0Q2hpbGRyZW5TaXplKCk7bGV0IG4scjtpZihlPHQvMil7Zm9yKG49dGhpcy5nZXRGaXJzdENoaWxkKCkscj0wO251bGwhPT1uJiZyPD1lOyl7aWYocj09PWUpcmV0dXJuIG47bj1uLmdldE5leHRTaWJsaW5nKCkscisrfXJldHVybiBudWxsfWZvcihuPXRoaXMuZ2V0TGFzdENoaWxkKCkscj10LTE7bnVsbCE9PW4mJnI+PWU7KXtpZihyPT09ZSlyZXR1cm4gbjtuPW4uZ2V0UHJldmlvdXNTaWJsaW5nKCksci0tfXJldHVybiBudWxsfWdldFRleHRDb250ZW50KCl7bGV0IGU9XCJcIjtjb25zdCB0PXRoaXMuZ2V0Q2hpbGRyZW4oKSxuPXQubGVuZ3RoO2ZvcihsZXQgcj0wO3I8bjtyKyspe2NvbnN0IG89dFtyXTtlKz1vLmdldFRleHRDb250ZW50KCksa3gobykmJnIhPT1uLTEmJiFvLmlzSW5saW5lKCkmJihlKz1oZyl9cmV0dXJuIGV9Z2V0VGV4dENvbnRlbnRTaXplKCl7bGV0IGU9MDtjb25zdCB0PXRoaXMuZ2V0Q2hpbGRyZW4oKSxuPXQubGVuZ3RoO2ZvcihsZXQgcj0wO3I8bjtyKyspe2NvbnN0IG89dFtyXTtlKz1vLmdldFRleHRDb250ZW50U2l6ZSgpLGt4KG8pJiZyIT09bi0xJiYhby5pc0lubGluZSgpJiYoZSs9aGcubGVuZ3RoKX1yZXR1cm4gZX1nZXREaXJlY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRMYXRlc3QoKS5fX2Rpcn1oYXNGb3JtYXQoZSl7aWYoXCJcIiE9PWUpe2NvbnN0IHQ9U2dbZV07cmV0dXJuISEodGhpcy5nZXRGb3JtYXQoKSZ0KX1yZXR1cm4hMX1zZWxlY3QoZSx0KXtheCgpO2NvbnN0IG49SGIoKTtsZXQgcj1lLG89dDtjb25zdCBpPXRoaXMuZ2V0Q2hpbGRyZW5TaXplKCk7aWYoIXRoaXMuY2FuQmVFbXB0eSgpKWlmKDA9PT1lJiYwPT09dCl7Y29uc3QgZT10aGlzLmdldEZpcnN0Q2hpbGQoKTtpZihrYihlKXx8a3goZSkpcmV0dXJuIGUuc2VsZWN0KDAsMCl9ZWxzZSBpZighKHZvaWQgMCE9PWUmJmUhPT1pfHx2b2lkIDAhPT10JiZ0IT09aSkpe2NvbnN0IGU9dGhpcy5nZXRMYXN0Q2hpbGQoKTtpZihrYihlKXx8a3goZSkpcmV0dXJuIGUuc2VsZWN0KCl9dm9pZCAwPT09ciYmKHI9aSksdm9pZCAwPT09byYmKG89aSk7Y29uc3Qgcz10aGlzLl9fa2V5O3JldHVybiBEYihuKT8obi5hbmNob3Iuc2V0KHMscixcImVsZW1lbnRcIiksbi5mb2N1cy5zZXQocyxvLFwiZWxlbWVudFwiKSxuLmRpcnR5PSEwLG4pOlViKHMscixzLG8sXCJlbGVtZW50XCIsXCJlbGVtZW50XCIpfXNlbGVjdFN0YXJ0KCl7Y29uc3QgZT10aGlzLmdldEZpcnN0RGVzY2VuZGFudCgpO3JldHVybiBlP2Uuc2VsZWN0U3RhcnQoKTp0aGlzLnNlbGVjdCgpfXNlbGVjdEVuZCgpe2NvbnN0IGU9dGhpcy5nZXRMYXN0RGVzY2VuZGFudCgpO3JldHVybiBlP2Uuc2VsZWN0RW5kKCk6dGhpcy5zZWxlY3QoKX1jbGVhcigpe2NvbnN0IGU9dGhpcy5nZXRXcml0YWJsZSgpO3JldHVybiB0aGlzLmdldENoaWxkcmVuKCkuZm9yRWFjaCgoZT0+ZS5yZW1vdmUoKSkpLGV9YXBwZW5kKC4uLmUpe3JldHVybiB0aGlzLnNwbGljZSh0aGlzLmdldENoaWxkcmVuU2l6ZSgpLDAsZSl9c2V0RGlyZWN0aW9uKGUpe2NvbnN0IHQ9dGhpcy5nZXRXcml0YWJsZSgpO3JldHVybiB0Ll9fZGlyPWUsdH1zZXRGb3JtYXQoZSl7cmV0dXJuIHRoaXMuZ2V0V3JpdGFibGUoKS5fX2Zvcm1hdD1cIlwiIT09ZT9TZ1tlXTowLHRoaXN9c2V0U3R5bGUoZSl7cmV0dXJuIHRoaXMuZ2V0V3JpdGFibGUoKS5fX3N0eWxlPWV8fFwiXCIsdGhpc31zZXRJbmRlbnQoZSl7cmV0dXJuIHRoaXMuZ2V0V3JpdGFibGUoKS5fX2luZGVudD1lLHRoaXN9c3BsaWNlKGUsdCxuKXtjb25zdCByPW4ubGVuZ3RoLG89dGhpcy5nZXRDaGlsZHJlblNpemUoKSxpPXRoaXMuZ2V0V3JpdGFibGUoKSxzPWkuX19rZXksYT1bXSxsPVtdLGM9dGhpcy5nZXRDaGlsZEF0SW5kZXgoZSt0KTtsZXQgdT1udWxsLGQ9by10K3I7aWYoMCE9PWUpaWYoZT09PW8pdT10aGlzLmdldExhc3RDaGlsZCgpO2Vsc2V7Y29uc3QgdD10aGlzLmdldENoaWxkQXRJbmRleChlKTtudWxsIT09dCYmKHU9dC5nZXRQcmV2aW91c1NpYmxpbmcoKSl9aWYodD4wKXtsZXQgZT1udWxsPT09dT90aGlzLmdldEZpcnN0Q2hpbGQoKTp1LmdldE5leHRTaWJsaW5nKCk7Zm9yKGxldCBuPTA7bjx0O24rKyl7bnVsbD09PWUmJlBnKDEwMCk7Y29uc3QgdD1lLmdldE5leHRTaWJsaW5nKCksbj1lLl9fa2V5O2V5KGUuZ2V0V3JpdGFibGUoKSksbC5wdXNoKG4pLGU9dH19bGV0IGY9dTtmb3IobGV0IGU9MDtlPHI7ZSsrKXtjb25zdCB0PW5bZV07bnVsbCE9PWYmJnQuaXMoZikmJih1PWY9Zi5nZXRQcmV2aW91c1NpYmxpbmcoKSk7Y29uc3Qgcj10LmdldFdyaXRhYmxlKCk7ci5fX3BhcmVudD09PXMmJmQtLSxleShyKTtjb25zdCBvPXQuX19rZXk7aWYobnVsbD09PWYpaS5fX2ZpcnN0PW8sci5fX3ByZXY9bnVsbDtlbHNle2NvbnN0IGU9Zi5nZXRXcml0YWJsZSgpO2UuX19uZXh0PW8sci5fX3ByZXY9ZS5fX2tleX10Ll9fa2V5PT09cyYmUGcoNzYpLHIuX19wYXJlbnQ9cyxhLnB1c2gobyksZj10fWlmKGUrdD09PW8pbnVsbCE9PWYmJihmLmdldFdyaXRhYmxlKCkuX19uZXh0PW51bGwsaS5fX2xhc3Q9Zi5fX2tleSk7ZWxzZSBpZihudWxsIT09Yyl7Y29uc3QgZT1jLmdldFdyaXRhYmxlKCk7aWYobnVsbCE9PWYpe2NvbnN0IHQ9Zi5nZXRXcml0YWJsZSgpO2UuX19wcmV2PWYuX19rZXksdC5fX25leHQ9Yy5fX2tleX1lbHNlIGUuX19wcmV2PW51bGx9aWYoaS5fX3NpemU9ZCxsLmxlbmd0aCl7Y29uc3QgZT1IYigpO2lmKERiKGUpKXtjb25zdCB0PW5ldyBTZXQobCksbj1uZXcgU2V0KGEpLHthbmNob3I6cixmb2N1czpvfT1lO0V4KHIsdCxuKSYmWGIocixyLmdldE5vZGUoKSx0aGlzLHUsYyksRXgobyx0LG4pJiZYYihvLG8uZ2V0Tm9kZSgpLHRoaXMsdSxjKSwwIT09ZHx8dGhpcy5jYW5CZUVtcHR5KCl8fEZ5KHRoaXMpfHx0aGlzLnJlbW92ZSgpfX1yZXR1cm4gaX1leHBvcnRKU09OKCl7cmV0dXJue2NoaWxkcmVuOltdLGRpcmVjdGlvbjp0aGlzLmdldERpcmVjdGlvbigpLGZvcm1hdDp0aGlzLmdldEZvcm1hdFR5cGUoKSxpbmRlbnQ6dGhpcy5nZXRJbmRlbnQoKSx0eXBlOlwiZWxlbWVudFwiLHZlcnNpb246MX19aW5zZXJ0TmV3QWZ0ZXIoZSx0KXtyZXR1cm4gbnVsbH1jYW5JbmRlbnQoKXtyZXR1cm4hMH1jb2xsYXBzZUF0U3RhcnQoZSl7cmV0dXJuITF9ZXhjbHVkZUZyb21Db3B5KGUpe3JldHVybiExfWNhblJlcGxhY2VXaXRoKGUpe3JldHVybiEwfWNhbkluc2VydEFmdGVyKGUpe3JldHVybiEwfWNhbkJlRW1wdHkoKXtyZXR1cm4hMH1jYW5JbnNlcnRUZXh0QmVmb3JlKCl7cmV0dXJuITB9Y2FuSW5zZXJ0VGV4dEFmdGVyKCl7cmV0dXJuITB9aXNJbmxpbmUoKXtyZXR1cm4hMX1pc1NoYWRvd1Jvb3QoKXtyZXR1cm4hMX1jYW5NZXJnZVdpdGgoZSl7cmV0dXJuITF9ZXh0cmFjdFdpdGhDaGlsZChlLHQsbil7cmV0dXJuITF9Y2FuTWVyZ2VXaGVuRW1wdHkoKXtyZXR1cm4hMX19ZnVuY3Rpb24ga3goZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBTeH1mdW5jdGlvbiBFeChlLHQsbil7bGV0IHI9ZS5nZXROb2RlKCk7Zm9yKDtyOyl7Y29uc3QgZT1yLl9fa2V5O2lmKHQuaGFzKGUpJiYhbi5oYXMoZSkpcmV0dXJuITA7cj1yLmdldFBhcmVudCgpfXJldHVybiExfWNsYXNzIEN4IGV4dGVuZHMgdGJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSl9ZGVjb3JhdGUoZSx0KXtQZyg0Nyl9aXNJc29sYXRlZCgpe3JldHVybiExfWlzSW5saW5lKCl7cmV0dXJuITB9aXNLZXlib2FyZFNlbGVjdGFibGUoKXtyZXR1cm4hMH19ZnVuY3Rpb24gUHgoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBDeH1jbGFzcyBPeCBleHRlbmRzIFN4e3N0YXRpYyBnZXRUeXBlKCl7cmV0dXJuXCJyb290XCJ9c3RhdGljIGNsb25lKCl7cmV0dXJuIG5ldyBPeH1jb25zdHJ1Y3Rvcigpe3N1cGVyKFwicm9vdFwiKSx0aGlzLl9fY2FjaGVkVGV4dD1udWxsfWdldFRvcExldmVsRWxlbWVudE9yVGhyb3coKXtQZyg1MSl9Z2V0VGV4dENvbnRlbnQoKXtjb25zdCBlPXRoaXMuX19jYWNoZWRUZXh0O3JldHVybiFzeCgpJiZ1eCgpLl9kaXJ0eVR5cGUhPT1RcHx8bnVsbD09PWU/c3VwZXIuZ2V0VGV4dENvbnRlbnQoKTplfXJlbW92ZSgpe1BnKDUyKX1yZXBsYWNlKGUpe1BnKDUzKX1pbnNlcnRCZWZvcmUoZSl7UGcoNTQpfWluc2VydEFmdGVyKGUpe1BnKDU1KX11cGRhdGVET00oZSx0KXtyZXR1cm4hMX1hcHBlbmQoLi4uZSl7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XTtreChuKXx8UHgobil8fFBnKDU2KX1yZXR1cm4gc3VwZXIuYXBwZW5kKC4uLmUpfXN0YXRpYyBpbXBvcnRKU09OKGUpe2NvbnN0IHQ9Y3koKTtyZXR1cm4gdC5zZXRGb3JtYXQoZS5mb3JtYXQpLHQuc2V0SW5kZW50KGUuaW5kZW50KSx0LnNldERpcmVjdGlvbihlLmRpcmVjdGlvbiksdH1leHBvcnRKU09OKCl7cmV0dXJue2NoaWxkcmVuOltdLGRpcmVjdGlvbjp0aGlzLmdldERpcmVjdGlvbigpLGZvcm1hdDp0aGlzLmdldEZvcm1hdFR5cGUoKSxpbmRlbnQ6dGhpcy5nZXRJbmRlbnQoKSx0eXBlOlwicm9vdFwiLHZlcnNpb246MX19Y29sbGFwc2VBdFN0YXJ0KCl7cmV0dXJuITB9fWZ1bmN0aW9uIE54KGUpe3JldHVybiBlIGluc3RhbmNlb2YgT3h9ZnVuY3Rpb24gVHgoKXtyZXR1cm4gbmV3IFJ4KG5ldyBNYXAoW1tcInJvb3RcIixuZXcgT3hdXSkpfWZ1bmN0aW9uIE14KGUpe2NvbnN0IHQ9ZS5leHBvcnRKU09OKCksbj1lLmNvbnN0cnVjdG9yO2lmKHQudHlwZSE9PW4uZ2V0VHlwZSgpJiZQZygxMzAsbi5uYW1lKSxreChlKSl7Y29uc3Qgcj10LmNoaWxkcmVuO0FycmF5LmlzQXJyYXkocil8fFBnKDU5LG4ubmFtZSk7Y29uc3Qgbz1lLmdldENoaWxkcmVuKCk7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IHQ9TXgob1tlXSk7ci5wdXNoKHQpfX1yZXR1cm4gdH1jbGFzcyBSeHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX25vZGVNYXA9ZSx0aGlzLl9zZWxlY3Rpb249dHx8bnVsbCx0aGlzLl9mbHVzaFN5bmM9ITEsdGhpcy5fcmVhZE9ubHk9ITF9aXNFbXB0eSgpe3JldHVybiAxPT09dGhpcy5fbm9kZU1hcC5zaXplJiZudWxsPT09dGhpcy5fc2VsZWN0aW9ufXJlYWQoZSx0KXtyZXR1cm4gcHgodCYmdC5lZGl0b3J8fG51bGwsdGhpcyxlKX1jbG9uZShlKXtjb25zdCB0PW5ldyBSeCh0aGlzLl9ub2RlTWFwLHZvaWQgMD09PWU/dGhpcy5fc2VsZWN0aW9uOmUpO3JldHVybiB0Ll9yZWFkT25seT0hMCx0fXRvSlNPTigpe3JldHVybiBweChudWxsLHRoaXMsKCgpPT4oe3Jvb3Q6TXgoY3koKSl9KSkpfX1jbGFzcyBEeCBleHRlbmRzIFN4e3N0YXRpYyBnZXRUeXBlKCl7cmV0dXJuXCJhcnRpZmljaWFsXCJ9Y3JlYXRlRE9NKGUpe3JldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpfX1jbGFzcyBqeCBleHRlbmRzIFN4e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX190ZXh0Rm9ybWF0PTAsdGhpcy5fX3RleHRTdHlsZT1cIlwifXN0YXRpYyBnZXRUeXBlKCl7cmV0dXJuXCJwYXJhZ3JhcGhcIn1nZXRUZXh0Rm9ybWF0KCl7cmV0dXJuIHRoaXMuZ2V0TGF0ZXN0KCkuX190ZXh0Rm9ybWF0fXNldFRleHRGb3JtYXQoZSl7Y29uc3QgdD10aGlzLmdldFdyaXRhYmxlKCk7cmV0dXJuIHQuX190ZXh0Rm9ybWF0PWUsdH1oYXNUZXh0Rm9ybWF0KGUpe2NvbnN0IHQ9eGdbZV07cmV0dXJuISEodGhpcy5nZXRUZXh0Rm9ybWF0KCkmdCl9Z2V0VGV4dFN0eWxlKCl7cmV0dXJuIHRoaXMuZ2V0TGF0ZXN0KCkuX190ZXh0U3R5bGV9c2V0VGV4dFN0eWxlKGUpe2NvbnN0IHQ9dGhpcy5nZXRXcml0YWJsZSgpO3JldHVybiB0Ll9fdGV4dFN0eWxlPWUsdH1zdGF0aWMgY2xvbmUoZSl7cmV0dXJuIG5ldyBqeChlLl9fa2V5KX1hZnRlckNsb25lRnJvbShlKXtzdXBlci5hZnRlckNsb25lRnJvbShlKSx0aGlzLl9fdGV4dEZvcm1hdD1lLl9fdGV4dEZvcm1hdCx0aGlzLl9fdGV4dFN0eWxlPWUuX190ZXh0U3R5bGV9Y3JlYXRlRE9NKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInBcIiksbj1QeShlLnRoZW1lLFwicGFyYWdyYXBoXCIpO3JldHVybiB2b2lkIDAhPT1uJiZ0LmNsYXNzTGlzdC5hZGQoLi4ubiksdH11cGRhdGVET00oZSx0LG4pe3JldHVybiExfXN0YXRpYyBpbXBvcnRET00oKXtyZXR1cm57cDplPT4oe2NvbnZlcnNpb246QXgscHJpb3JpdHk6MH0pfX1leHBvcnRET00oZSl7Y29uc3R7ZWxlbWVudDp0fT1zdXBlci5leHBvcnRET00oZSk7aWYodCYmVXkodCkpe3RoaXMuaXNFbXB0eSgpJiZ0LmFwcGVuZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnJcIikpO2NvbnN0IGU9dGhpcy5nZXRGb3JtYXRUeXBlKCk7dC5zdHlsZS50ZXh0QWxpZ249ZTtjb25zdCBuPXRoaXMuZ2V0RGlyZWN0aW9uKCk7biYmKHQuZGlyPW4pO2NvbnN0IHI9dGhpcy5nZXRJbmRlbnQoKTtyPjAmJih0LnN0eWxlLnRleHRJbmRlbnQ9MjAqcitcInB4XCIpfXJldHVybntlbGVtZW50OnR9fXN0YXRpYyBpbXBvcnRKU09OKGUpe2NvbnN0IHQ9SXgoKTtyZXR1cm4gdC5zZXRGb3JtYXQoZS5mb3JtYXQpLHQuc2V0SW5kZW50KGUuaW5kZW50KSx0LnNldERpcmVjdGlvbihlLmRpcmVjdGlvbiksdC5zZXRUZXh0Rm9ybWF0KGUudGV4dEZvcm1hdCksdH1leHBvcnRKU09OKCl7cmV0dXJuey4uLnN1cGVyLmV4cG9ydEpTT04oKSx0ZXh0Rm9ybWF0OnRoaXMuZ2V0VGV4dEZvcm1hdCgpLHRleHRTdHlsZTp0aGlzLmdldFRleHRTdHlsZSgpLHR5cGU6XCJwYXJhZ3JhcGhcIix2ZXJzaW9uOjF9fWluc2VydE5ld0FmdGVyKGUsdCl7Y29uc3Qgbj1JeCgpO24uc2V0VGV4dEZvcm1hdChlLmZvcm1hdCksbi5zZXRUZXh0U3R5bGUoZS5zdHlsZSk7Y29uc3Qgcj10aGlzLmdldERpcmVjdGlvbigpO3JldHVybiBuLnNldERpcmVjdGlvbihyKSxuLnNldEZvcm1hdCh0aGlzLmdldEZvcm1hdFR5cGUoKSksbi5zZXRTdHlsZSh0aGlzLmdldFRleHRTdHlsZSgpKSx0aGlzLmluc2VydEFmdGVyKG4sdCksbn1jb2xsYXBzZUF0U3RhcnQoKXtjb25zdCBlPXRoaXMuZ2V0Q2hpbGRyZW4oKTtpZigwPT09ZS5sZW5ndGh8fGtiKGVbMF0pJiZcIlwiPT09ZVswXS5nZXRUZXh0Q29udGVudCgpLnRyaW0oKSl7aWYobnVsbCE9PXRoaXMuZ2V0TmV4dFNpYmxpbmcoKSlyZXR1cm4gdGhpcy5zZWxlY3ROZXh0KCksdGhpcy5yZW1vdmUoKSwhMDtpZihudWxsIT09dGhpcy5nZXRQcmV2aW91c1NpYmxpbmcoKSlyZXR1cm4gdGhpcy5zZWxlY3RQcmV2aW91cygpLHRoaXMucmVtb3ZlKCksITB9cmV0dXJuITF9fWZ1bmN0aW9uIEF4KGUpe2NvbnN0IHQ9SXgoKTtpZihlLnN0eWxlKXt0LnNldEZvcm1hdChlLnN0eWxlLnRleHRBbGlnbik7Y29uc3Qgbj1wYXJzZUludChlLnN0eWxlLnRleHRJbmRlbnQsMTApLzIwO24+MCYmdC5zZXRJbmRlbnQobil9cmV0dXJue25vZGU6dH19ZnVuY3Rpb24gSXgoKXtyZXR1cm4genkobmV3IGp4KX1mdW5jdGlvbiBMeChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIGp4fWNvbnN0IEZ4PTE7ZnVuY3Rpb24gengoZSx0LG4scil7Y29uc3Qgbz1lLl9rZXlUb0RPTU1hcDtvLmNsZWFyKCksZS5fZWRpdG9yU3RhdGU9VHgoKSxlLl9wZW5kaW5nRWRpdG9yU3RhdGU9cixlLl9jb21wb3NpdGlvbktleT1udWxsLGUuX2RpcnR5VHlwZT1RcCxlLl9jbG9uZU5vdE5lZWRlZC5jbGVhcigpLGUuX2RpcnR5TGVhdmVzPW5ldyBTZXQsZS5fZGlydHlFbGVtZW50cy5jbGVhcigpLGUuX25vcm1hbGl6ZWROb2Rlcz1uZXcgU2V0LGUuX3VwZGF0ZVRhZ3M9bmV3IFNldCxlLl91cGRhdGVzPVtdLGUuX2Jsb2NrQ3Vyc29yRWxlbWVudD1udWxsO2NvbnN0IGk9ZS5fb2JzZXJ2ZXI7bnVsbCE9PWkmJihpLmRpc2Nvbm5lY3QoKSxlLl9vYnNlcnZlcj1udWxsKSxudWxsIT09dCYmKHQudGV4dENvbnRlbnQ9XCJcIiksbnVsbCE9PW4mJihuLnRleHRDb250ZW50PVwiXCIsby5zZXQoXCJyb290XCIsbikpfWNsYXNzIEJ4e2NvbnN0cnVjdG9yKGUsdCxuLHIsbyxpLHMpe3RoaXMuX3BhcmVudEVkaXRvcj10LHRoaXMuX3Jvb3RFbGVtZW50PW51bGwsdGhpcy5fZWRpdG9yU3RhdGU9ZSx0aGlzLl9wZW5kaW5nRWRpdG9yU3RhdGU9bnVsbCx0aGlzLl9jb21wb3NpdGlvbktleT1udWxsLHRoaXMuX2RlZmVycmVkPVtdLHRoaXMuX2tleVRvRE9NTWFwPW5ldyBNYXAsdGhpcy5fdXBkYXRlcz1bXSx0aGlzLl91cGRhdGluZz0hMSx0aGlzLl9saXN0ZW5lcnM9e2RlY29yYXRvcjpuZXcgU2V0LGVkaXRhYmxlOm5ldyBTZXQsbXV0YXRpb246bmV3IE1hcCxyb290Om5ldyBTZXQsdGV4dGNvbnRlbnQ6bmV3IFNldCx1cGRhdGU6bmV3IFNldH0sdGhpcy5fY29tbWFuZHM9bmV3IE1hcCx0aGlzLl9jb25maWc9cix0aGlzLl9ub2Rlcz1uLHRoaXMuX2RlY29yYXRvcnM9e30sdGhpcy5fcGVuZGluZ0RlY29yYXRvcnM9bnVsbCx0aGlzLl9kaXJ0eVR5cGU9UXAsdGhpcy5fY2xvbmVOb3ROZWVkZWQ9bmV3IFNldCx0aGlzLl9kaXJ0eUxlYXZlcz1uZXcgU2V0LHRoaXMuX2RpcnR5RWxlbWVudHM9bmV3IE1hcCx0aGlzLl9ub3JtYWxpemVkTm9kZXM9bmV3IFNldCx0aGlzLl91cGRhdGVUYWdzPW5ldyBTZXQsdGhpcy5fb2JzZXJ2ZXI9bnVsbCx0aGlzLl9rZXk9Z3koKSx0aGlzLl9vbkVycm9yPW8sdGhpcy5faHRtbENvbnZlcnNpb25zPWksdGhpcy5fZWRpdGFibGU9cyx0aGlzLl9oZWFkbGVzcz1udWxsIT09dCYmdC5faGVhZGxlc3MsdGhpcy5fd2luZG93PW51bGwsdGhpcy5fYmxvY2tDdXJzb3JFbGVtZW50PW51bGx9aXNDb21wb3NpbmcoKXtyZXR1cm4gbnVsbCE9dGhpcy5fY29tcG9zaXRpb25LZXl9cmVnaXN0ZXJVcGRhdGVMaXN0ZW5lcihlKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVycy51cGRhdGU7cmV0dXJuIHQuYWRkKGUpLCgpPT57dC5kZWxldGUoZSl9fXJlZ2lzdGVyRWRpdGFibGVMaXN0ZW5lcihlKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVycy5lZGl0YWJsZTtyZXR1cm4gdC5hZGQoZSksKCk9Pnt0LmRlbGV0ZShlKX19cmVnaXN0ZXJEZWNvcmF0b3JMaXN0ZW5lcihlKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVycy5kZWNvcmF0b3I7cmV0dXJuIHQuYWRkKGUpLCgpPT57dC5kZWxldGUoZSl9fXJlZ2lzdGVyVGV4dENvbnRlbnRMaXN0ZW5lcihlKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVycy50ZXh0Y29udGVudDtyZXR1cm4gdC5hZGQoZSksKCk9Pnt0LmRlbGV0ZShlKX19cmVnaXN0ZXJSb290TGlzdGVuZXIoZSl7Y29uc3QgdD10aGlzLl9saXN0ZW5lcnMucm9vdDtyZXR1cm4gZSh0aGlzLl9yb290RWxlbWVudCxudWxsKSx0LmFkZChlKSwoKT0+e2UobnVsbCx0aGlzLl9yb290RWxlbWVudCksdC5kZWxldGUoZSl9fXJlZ2lzdGVyQ29tbWFuZChlLHQsbil7dm9pZCAwPT09biYmUGcoMzUpO2NvbnN0IHI9dGhpcy5fY29tbWFuZHM7ci5oYXMoZSl8fHIuc2V0KGUsW25ldyBTZXQsbmV3IFNldCxuZXcgU2V0LG5ldyBTZXQsbmV3IFNldF0pO2NvbnN0IG89ci5nZXQoZSk7dm9pZCAwPT09byYmUGcoMzYsU3RyaW5nKGUpKTtjb25zdCBpPW9bbl07cmV0dXJuIGkuYWRkKHQpLCgpPT57aS5kZWxldGUodCksby5ldmVyeSgoZT0+MD09PWUuc2l6ZSkpJiZyLmRlbGV0ZShlKX19cmVnaXN0ZXJNdXRhdGlvbkxpc3RlbmVyKGUsdCxuKXtjb25zdCByPXRoaXMucmVzb2x2ZVJlZ2lzdGVyZWROb2RlQWZ0ZXJSZXBsYWNlbWVudHModGhpcy5nZXRSZWdpc3RlcmVkTm9kZShlKSkua2xhc3Msbz10aGlzLl9saXN0ZW5lcnMubXV0YXRpb247by5zZXQodCxyKTtjb25zdCBpPW4mJm4uc2tpcEluaXRpYWxpemF0aW9uO3JldHVybiB2b2lkIDA9PT1pfHxpfHx0aGlzLmluaXRpYWxpemVNdXRhdGlvbkxpc3RlbmVyKHQsciksKCk9PntvLmRlbGV0ZSh0KX19Z2V0UmVnaXN0ZXJlZE5vZGUoZSl7Y29uc3QgdD10aGlzLl9ub2Rlcy5nZXQoZS5nZXRUeXBlKCkpO3JldHVybiB2b2lkIDA9PT10JiZQZygzNyxlLm5hbWUpLHR9cmVzb2x2ZVJlZ2lzdGVyZWROb2RlQWZ0ZXJSZXBsYWNlbWVudHMoZSl7Zm9yKDtlLnJlcGxhY2VXaXRoS2xhc3M7KWU9dGhpcy5nZXRSZWdpc3RlcmVkTm9kZShlLnJlcGxhY2VXaXRoS2xhc3MpO3JldHVybiBlfWluaXRpYWxpemVNdXRhdGlvbkxpc3RlbmVyKGUsdCl7Y29uc3Qgbj10aGlzLl9lZGl0b3JTdGF0ZSxyPWZ1bmN0aW9uKGUpe2lmKCFlLl9yZWFkT25seSYmZS5pc0VtcHR5KCkpcmV0dXJuIEd5O2UuX3JlYWRPbmx5fHxQZygxOTIpO2xldCB0PXF5LmdldChlKTtpZighdCl7dD1uZXcgTWFwLHF5LnNldChlLHQpO2Zvcihjb25zdFtuLHJdb2YgZS5fbm9kZU1hcCl7Y29uc3QgZT1yLl9fdHlwZTtsZXQgbz10LmdldChlKTtvfHwobz1uZXcgTWFwLHQuc2V0KGUsbykpLG8uc2V0KG4scil9fXJldHVybiB0fShuKS5nZXQodC5nZXRUeXBlKCkpO2lmKCFyKXJldHVybjtjb25zdCBvPW5ldyBNYXA7Zm9yKGNvbnN0IGUgb2Ygci5rZXlzKCkpby5zZXQoZSxcImNyZWF0ZWRcIik7by5zaXplPjAmJmUobyx7ZGlydHlMZWF2ZXM6bmV3IFNldCxwcmV2RWRpdG9yU3RhdGU6bix1cGRhdGVUYWdzOm5ldyBTZXQoW1wicmVnaXN0ZXJNdXRhdGlvbkxpc3RlbmVyXCJdKX0pfXJlZ2lzdGVyTm9kZVRyYW5zZm9ybVRvS2xhc3MoZSx0KXtjb25zdCBuPXRoaXMuZ2V0UmVnaXN0ZXJlZE5vZGUoZSk7cmV0dXJuIG4udHJhbnNmb3Jtcy5hZGQodCksbn1yZWdpc3Rlck5vZGVUcmFuc2Zvcm0oZSx0KXtjb25zdCBuPXRoaXMucmVnaXN0ZXJOb2RlVHJhbnNmb3JtVG9LbGFzcyhlLHQpLHI9W25dLG89bi5yZXBsYWNlV2l0aEtsYXNzO2lmKG51bGwhPW8pe2NvbnN0IGU9dGhpcy5yZWdpc3Rlck5vZGVUcmFuc2Zvcm1Ub0tsYXNzKG8sdCk7ci5wdXNoKGUpfXZhciBpO3JldHVybiBpPWUuZ2V0VHlwZSgpLHd4KHRoaXMsKCgpPT57Y29uc3QgZT1jeCgpO2lmKGUuaXNFbXB0eSgpKXJldHVybjtpZihcInJvb3RcIj09PWkpcmV0dXJuIHZvaWQgY3koKS5tYXJrRGlydHkoKTtjb25zdCB0PWUuX25vZGVNYXA7Zm9yKGNvbnN0WyxlXW9mIHQpZS5tYXJrRGlydHkoKX0pLG51bGw9PT10aGlzLl9wZW5kaW5nRWRpdG9yU3RhdGU/e3RhZzpcImhpc3RvcnktbWVyZ2VcIn06dm9pZCAwKSwoKT0+e3IuZm9yRWFjaCgoZT0+ZS50cmFuc2Zvcm1zLmRlbGV0ZSh0KSkpfX1oYXNOb2RlKGUpe3JldHVybiB0aGlzLl9ub2Rlcy5oYXMoZS5nZXRUeXBlKCkpfWhhc05vZGVzKGUpe3JldHVybiBlLmV2ZXJ5KHRoaXMuaGFzTm9kZS5iaW5kKHRoaXMpKX1kaXNwYXRjaENvbW1hbmQoZSx0KXtyZXR1cm4gUnkodGhpcyxlLHQpfWdldERlY29yYXRvcnMoKXtyZXR1cm4gdGhpcy5fZGVjb3JhdG9yc31nZXRSb290RWxlbWVudCgpe3JldHVybiB0aGlzLl9yb290RWxlbWVudH1nZXRLZXkoKXtyZXR1cm4gdGhpcy5fa2V5fXNldFJvb3RFbGVtZW50KGUpe2NvbnN0IHQ9dGhpcy5fcm9vdEVsZW1lbnQ7aWYoZSE9PXQpe2NvbnN0IG49UHkodGhpcy5fY29uZmlnLnRoZW1lLFwicm9vdFwiKSxyPXRoaXMuX3BlbmRpbmdFZGl0b3JTdGF0ZXx8dGhpcy5fZWRpdG9yU3RhdGU7aWYodGhpcy5fcm9vdEVsZW1lbnQ9ZSx6eCh0aGlzLHQsZSxyKSxudWxsIT09dCYmKHRoaXMuX2NvbmZpZy5kaXNhYmxlRXZlbnRzfHxmdW5jdGlvbihlKXtjb25zdCB0PWUub3duZXJEb2N1bWVudCxuPUZ2LmdldCh0KTt2b2lkIDA9PT1uJiZQZygxNjIpO2NvbnN0IHI9bi0xO3I+PTB8fFBnKDE2NCksRnYuc2V0KHQsciksMD09PXImJnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNlbGVjdGlvbmNoYW5nZVwiLFp2KTtjb25zdCBvPUdnKGUpO0tnKG8pPyhmdW5jdGlvbihlKXtpZihudWxsIT09ZS5fcGFyZW50RWRpdG9yKXtjb25zdCB0PXB5KGUpLG49dFt0Lmxlbmd0aC0xXS5fa2V5O1h2LmdldChuKT09PWUmJlh2LmRlbGV0ZShuKX1lbHNlIFh2LmRlbGV0ZShlLl9rZXkpfShvKSxlLl9fbGV4aWNhbEVkaXRvcj1udWxsKTpvJiZQZygxOTgpO2NvbnN0IGk9R3YoZSk7Zm9yKGxldCBlPTA7ZTxpLmxlbmd0aDtlKyspaVtlXSgpO2UuX19sZXhpY2FsRXZlbnRIYW5kbGVzPVtdfSh0KSxudWxsIT1uJiZ0LmNsYXNzTGlzdC5yZW1vdmUoLi4ubikpLG51bGwhPT1lKXtjb25zdCB0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5vd25lckRvY3VtZW50O3JldHVybiB0JiZ0LmRlZmF1bHRWaWV3fHxudWxsfShlKSxyPWUuc3R5bGU7ci51c2VyU2VsZWN0PVwidGV4dFwiLHIud2hpdGVTcGFjZT1cInByZS13cmFwXCIsci53b3JkQnJlYWs9XCJicmVhay13b3JkXCIsZS5zZXRBdHRyaWJ1dGUoXCJkYXRhLWxleGljYWwtZWRpdG9yXCIsXCJ0cnVlXCIpLHRoaXMuX3dpbmRvdz10LHRoaXMuX2RpcnR5VHlwZT1lZyxGZyh0aGlzKSx0aGlzLl91cGRhdGVUYWdzLmFkZChcImhpc3RvcnktbWVyZ2VcIiksZ3godGhpcyksdGhpcy5fY29uZmlnLmRpc2FibGVFdmVudHN8fGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1lLm93bmVyRG9jdW1lbnQscj1Gdi5nZXQobik7KHZvaWQgMD09PXJ8fHI8MSkmJm4uYWRkRXZlbnRMaXN0ZW5lcihcInNlbGVjdGlvbmNoYW5nZVwiLFp2KSxGdi5zZXQobiwocnx8MCkrMSksZS5fX2xleGljYWxFZGl0b3I9dDtjb25zdCBvPUd2KGUpO2ZvcihsZXQgbj0wO248RHYubGVuZ3RoO24rKyl7Y29uc3RbcixpXT1EdltuXSxzPVwiZnVuY3Rpb25cIj09dHlwZW9mIGk/ZT0+e1F2KGUpfHwoSnYoZSksKHQuaXNFZGl0YWJsZSgpfHxcImNsaWNrXCI9PT1yKSYmaShlLHQpKX06ZT0+e2lmKFF2KGUpKXJldHVybjtKdihlKTtjb25zdCBuPXQuaXNFZGl0YWJsZSgpO3N3aXRjaChyKXtjYXNlXCJjdXRcIjpyZXR1cm4gbiYmUnkodCxNcCxlKTtjYXNlXCJjb3B5XCI6cmV0dXJuIFJ5KHQsVHAsZSk7Y2FzZVwicGFzdGVcIjpyZXR1cm4gbiYmUnkodCxzcCxlKTtjYXNlXCJkcmFnc3RhcnRcIjpyZXR1cm4gbiYmUnkodCxQcCxlKTtjYXNlXCJkcmFnb3ZlclwiOnJldHVybiBuJiZSeSh0LE9wLGUpO2Nhc2VcImRyYWdlbmRcIjpyZXR1cm4gbiYmUnkodCxOcCxlKTtjYXNlXCJmb2N1c1wiOnJldHVybiBuJiZSeSh0LExwLGUpO2Nhc2VcImJsdXJcIjpyZXR1cm4gbiYmUnkodCxGcCxlKTtjYXNlXCJkcm9wXCI6cmV0dXJuIG4mJlJ5KHQsX3AsZSl9fTtlLmFkZEV2ZW50TGlzdGVuZXIocixzKSxvLnB1c2goKCgpPT57ZS5yZW1vdmVFdmVudExpc3RlbmVyKHIscyl9KSl9fShlLHRoaXMpLG51bGwhPW4mJmUuY2xhc3NMaXN0LmFkZCguLi5uKX1lbHNlIHRoaXMuX2VkaXRvclN0YXRlPXIsdGhpcy5fcGVuZGluZ0VkaXRvclN0YXRlPW51bGwsdGhpcy5fd2luZG93PW51bGw7eXgoXCJyb290XCIsdGhpcywhMSxlLHQpfX1nZXRFbGVtZW50QnlLZXkoZSl7cmV0dXJuIHRoaXMuX2tleVRvRE9NTWFwLmdldChlKXx8bnVsbH1nZXRFZGl0b3JTdGF0ZSgpe3JldHVybiB0aGlzLl9lZGl0b3JTdGF0ZX1zZXRFZGl0b3JTdGF0ZShlLHQpe2UuaXNFbXB0eSgpJiZQZygzOCksTGcodGhpcyk7Y29uc3Qgbj10aGlzLl9wZW5kaW5nRWRpdG9yU3RhdGUscj10aGlzLl91cGRhdGVUYWdzLG89dm9pZCAwIT09dD90LnRhZzpudWxsO251bGw9PT1ufHxuLmlzRW1wdHkoKXx8KG51bGwhPW8mJnIuYWRkKG8pLGd4KHRoaXMpKSx0aGlzLl9wZW5kaW5nRWRpdG9yU3RhdGU9ZSx0aGlzLl9kaXJ0eVR5cGU9ZWcsdGhpcy5fZGlydHlFbGVtZW50cy5zZXQoXCJyb290XCIsITEpLHRoaXMuX2NvbXBvc2l0aW9uS2V5PW51bGwsbnVsbCE9byYmci5hZGQobyksZ3godGhpcyl9cGFyc2VFZGl0b3JTdGF0ZShlLHQpe3JldHVybiBmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1UeCgpLG89ZXgsaT1ueCxzPXR4LGE9dC5fZGlydHlFbGVtZW50cyxsPXQuX2RpcnR5TGVhdmVzLGM9dC5fY2xvbmVOb3ROZWVkZWQsdT10Ll9kaXJ0eVR5cGU7dC5fZGlydHlFbGVtZW50cz1uZXcgTWFwLHQuX2RpcnR5TGVhdmVzPW5ldyBTZXQsdC5fY2xvbmVOb3ROZWVkZWQ9bmV3IFNldCx0Ll9kaXJ0eVR5cGU9MCxleD1yLG54PSExLHR4PXQ7dHJ5e2NvbnN0IG89dC5fbm9kZXM7aHgoZS5yb290LG8pLG4mJm4oKSxyLl9yZWFkT25seT0hMH1jYXRjaChlKXtlIGluc3RhbmNlb2YgRXJyb3ImJnQuX29uRXJyb3IoZSl9ZmluYWxseXt0Ll9kaXJ0eUVsZW1lbnRzPWEsdC5fZGlydHlMZWF2ZXM9bCx0Ll9jbG9uZU5vdE5lZWRlZD1jLHQuX2RpcnR5VHlwZT11LGV4PW8sbng9aSx0eD1zfXJldHVybiByfShcInN0cmluZ1wiPT10eXBlb2YgZT9KU09OLnBhcnNlKGUpOmUsdGhpcyx0KX1yZWFkKGUpe3JldHVybiBneCh0aGlzKSx0aGlzLmdldEVkaXRvclN0YXRlKCkucmVhZChlLHtlZGl0b3I6dGhpc30pfXVwZGF0ZShlLHQpe3d4KHRoaXMsZSx0KX1mb2N1cyhlLHQ9e30pe2NvbnN0IG49dGhpcy5fcm9vdEVsZW1lbnQ7bnVsbCE9PW4mJihuLnNldEF0dHJpYnV0ZShcImF1dG9jYXBpdGFsaXplXCIsXCJvZmZcIiksd3godGhpcywoKCk9Pntjb25zdCBlPUhiKCksbj1jeSgpO251bGwhPT1lP2UuZGlydHk9ITA6MCE9PW4uZ2V0Q2hpbGRyZW5TaXplKCkmJihcInJvb3RTdGFydFwiPT09dC5kZWZhdWx0U2VsZWN0aW9uP24uc2VsZWN0U3RhcnQoKTpuLnNlbGVjdEVuZCgpKX0pLHtvblVwZGF0ZTooKT0+e24ucmVtb3ZlQXR0cmlidXRlKFwiYXV0b2NhcGl0YWxpemVcIiksZSYmZSgpfSx0YWc6XCJmb2N1c1wifSksbnVsbD09PXRoaXMuX3BlbmRpbmdFZGl0b3JTdGF0ZSYmbi5yZW1vdmVBdHRyaWJ1dGUoXCJhdXRvY2FwaXRhbGl6ZVwiKSl9Ymx1cigpe2NvbnN0IGU9dGhpcy5fcm9vdEVsZW1lbnQ7bnVsbCE9PWUmJmUuYmx1cigpO2NvbnN0IHQ9VnkodGhpcy5fd2luZG93KTtudWxsIT09dCYmdC5yZW1vdmVBbGxSYW5nZXMoKX1pc0VkaXRhYmxlKCl7cmV0dXJuIHRoaXMuX2VkaXRhYmxlfXNldEVkaXRhYmxlKGUpe3RoaXMuX2VkaXRhYmxlIT09ZSYmKHRoaXMuX2VkaXRhYmxlPWUseXgoXCJlZGl0YWJsZVwiLHRoaXMsITAsZSkpfXRvSlNPTigpe3JldHVybntlZGl0b3JTdGF0ZTp0aGlzLl9lZGl0b3JTdGF0ZS50b0pTT04oKX19fUJ4LnZlcnNpb249XCIwLjE3LjErcHJvZC5lc21cIjtjb25zdCBXeD1cInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnQmJnZvaWQgMCE9PXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50LFZ4PVd4P2EudXNlTGF5b3V0RWZmZWN0OmEudXNlRWZmZWN0LFV4PXt0YWc6XCJoaXN0b3J5LW1lcmdlXCJ9O2Z1bmN0aW9uICR4KHtpbml0aWFsQ29uZmlnOmUsY2hpbGRyZW46dH0pe2NvbnN0IG49KDAsYS51c2VNZW1vKSgoKCk9Pntjb25zdHt0aGVtZTp0LG5hbWVzcGFjZTpuLG5vZGVzOnIsb25FcnJvcjpvLGVkaXRvclN0YXRlOmksaHRtbDpzfT1lLGE9ZnVuY3Rpb24oZSx0KXtsZXQgbj1udWxsO3JldHVybntnZXRUaGVtZTpmdW5jdGlvbigpe3JldHVybiBudWxsIT10P3Q6bnVsbCE9bj9uLmdldFRoZW1lKCk6bnVsbH19fSgwLHQpLGw9ZnVuY3Rpb24oZSl7Y29uc3QgdD1lfHx7fSxuPXR4LHI9dC50aGVtZXx8e30sbz12b2lkIDA9PT1lP246dC5wYXJlbnRFZGl0b3J8fG51bGwsaT10LmRpc2FibGVFdmVudHN8fCExLHM9VHgoKSxhPXQubmFtZXNwYWNlfHwobnVsbCE9PW8/by5fY29uZmlnLm5hbWVzcGFjZTpneSgpKSxsPXQuZWRpdG9yU3RhdGUsYz1bT3gsbWIsbmIsQ2IsangsRHgsLi4udC5ub2Rlc3x8W11dLHtvbkVycm9yOnUsaHRtbDpkfT10LGY9dm9pZCAwPT09dC5lZGl0YWJsZXx8dC5lZGl0YWJsZTtsZXQgbTtpZih2b2lkIDA9PT1lJiZudWxsIT09biltPW4uX25vZGVzO2Vsc2V7bT1uZXcgTWFwO2ZvcihsZXQgZT0wO2U8Yy5sZW5ndGg7ZSsrKXtsZXQgdD1jW2VdLG49bnVsbCxyPW51bGw7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgdCl7Y29uc3QgZT10O3Q9ZS5yZXBsYWNlLG49ZS53aXRoLHI9ZS53aXRoS2xhc3N8fG51bGx9Y29uc3Qgbz10LmdldFR5cGUoKSxpPXQudHJhbnNmb3JtKCkscz1uZXcgU2V0O251bGwhPT1pJiZzLmFkZChpKSxtLnNldChvLHtleHBvcnRET006ZCYmZC5leHBvcnQ/ZC5leHBvcnQuZ2V0KHQpOnZvaWQgMCxrbGFzczp0LHJlcGxhY2U6bixyZXBsYWNlV2l0aEtsYXNzOnIsdHJhbnNmb3JtczpzfSl9fWNvbnN0IGg9bmV3IEJ4KHMsbyxtLHtkaXNhYmxlRXZlbnRzOmksbmFtZXNwYWNlOmEsdGhlbWU6cn0sdXx8Y29uc29sZS5lcnJvcixmdW5jdGlvbihlLHQpe2NvbnN0IG49bmV3IE1hcCxyPW5ldyBTZXQsbz1lPT57T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e2xldCByPW4uZ2V0KHQpO3ZvaWQgMD09PXImJihyPVtdLG4uc2V0KHQscikpLHIucHVzaChlW3RdKX0pKX07cmV0dXJuIGUuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9ZS5rbGFzcy5pbXBvcnRET007aWYobnVsbD09dHx8ci5oYXModCkpcmV0dXJuO3IuYWRkKHQpO2NvbnN0IG49dC5jYWxsKGUua2xhc3MpO251bGwhPT1uJiZvKG4pfSkpLHQmJm8odCksbn0obSxkP2QuaW1wb3J0OnZvaWQgMCksZik7cmV0dXJuIHZvaWQgMCE9PWwmJihoLl9wZW5kaW5nRWRpdG9yU3RhdGU9bCxoLl9kaXJ0eVR5cGU9ZWcpLGh9KHtlZGl0YWJsZTplLmVkaXRhYmxlLGh0bWw6cyxuYW1lc3BhY2U6bixub2RlczpyLG9uRXJyb3I6ZT0+byhlLGwpLHRoZW1lOnR9KTtyZXR1cm4gZnVuY3Rpb24oZSx0KXtpZihudWxsIT09dClpZih2b2lkIDA9PT10KWUudXBkYXRlKCgoKT0+e2NvbnN0IHQ9Y3koKTtpZih0LmlzRW1wdHkoKSl7Y29uc3Qgbj1JeCgpO3QuYXBwZW5kKG4pO2NvbnN0IHI9V3g/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDpudWxsOyhudWxsIT09SGIoKXx8bnVsbCE9PXImJnI9PT1lLmdldFJvb3RFbGVtZW50KCkpJiZuLnNlbGVjdCgpfX0pLFV4KTtlbHNlIGlmKG51bGwhPT10KXN3aXRjaCh0eXBlb2YgdCl7Y2FzZVwic3RyaW5nXCI6e2NvbnN0IG49ZS5wYXJzZUVkaXRvclN0YXRlKHQpO2Uuc2V0RWRpdG9yU3RhdGUobixVeCk7YnJlYWt9Y2FzZVwib2JqZWN0XCI6ZS5zZXRFZGl0b3JTdGF0ZSh0LFV4KTticmVhaztjYXNlXCJmdW5jdGlvblwiOmUudXBkYXRlKCgoKT0+e2N5KCkuaXNFbXB0eSgpJiZ0KGUpfSksVXgpfX0obCxpKSxbbCxhXX0pLFtdKTtyZXR1cm4gVngoKCgpPT57Y29uc3QgdD1lLmVkaXRhYmxlLFtyXT1uO3Iuc2V0RWRpdGFibGUodm9pZCAwPT09dHx8dCl9KSxbXSksKDAsbXUuanN4KShaaC5Qcm92aWRlcix7dmFsdWU6bixjaGlsZHJlbjp0fSl9Y29uc3QgWXg9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LmRvY3VtZW50JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudD9hLnVzZUxheW91dEVmZmVjdDphLnVzZUVmZmVjdDtmdW5jdGlvbiBIeChlKXtyZXR1cm57aW5pdGlhbFZhbHVlRm46KCk9PmUuaXNFZGl0YWJsZSgpLHN1YnNjcmliZTp0PT5lLnJlZ2lzdGVyRWRpdGFibGVMaXN0ZW5lcih0KX19ZnVuY3Rpb24gS3goZSl7cmV0dXJuKCk9PmZ1bmN0aW9uKGUpe2lmKCFmdW5jdGlvbihlLHQ9ITApe2lmKGUpcmV0dXJuITE7bGV0IG49Y3koKS5nZXRUZXh0Q29udGVudCgpO3JldHVybiB0JiYobj1uLnRyaW0oKSksXCJcIj09PW59KGUsITEpKXJldHVybiExO2NvbnN0IHQ9Y3koKS5nZXRDaGlsZHJlbigpLG49dC5sZW5ndGg7aWYobj4xKXJldHVybiExO2ZvcihsZXQgZT0wO2U8bjtlKyspe2NvbnN0IG49dFtlXTtpZihQeChuKSlyZXR1cm4hMTtpZihreChuKSl7aWYoIUx4KG4pKXJldHVybiExO2lmKDAhPT1uLl9faW5kZW50KXJldHVybiExO2NvbnN0IHQ9bi5nZXRDaGlsZHJlbigpLHI9dC5sZW5ndGg7Zm9yKGxldCBuPTA7bjxyO24rKylpZigha2IodFtlXSkpcmV0dXJuITF9fXJldHVybiEwfShlKX0hZnVuY3Rpb24oZSl7ZSYmZS5fX2VzTW9kdWxlJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxcImRlZmF1bHRcIil9KChmdW5jdGlvbihlKXtjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXM7dC5hcHBlbmQoXCJjb2RlXCIsZSk7Zm9yKGxldCBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0LmFwcGVuZChcInZcIixhcmd1bWVudHNbZV0pO3Rocm93IEVycm9yKGBNaW5pZmllZCBMZXhpY2FsIGVycm9yICMke2V9OyB2aXNpdCBodHRwczovL2xleGljYWwuZGV2L2RvY3MvZXJyb3I/JHt0fSBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzIGFuZCBhZGRpdGlvbmFsIGhlbHBmdWwgd2FybmluZ3MuYCl9KSksZnVuY3Rpb24oZSl7ZSYmZS5fX2VzTW9kdWxlJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxcImRlZmF1bHRcIil9KChmdW5jdGlvbihlKXtjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXM7dC5hcHBlbmQoXCJjb2RlXCIsZSk7Zm9yKGxldCBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0LmFwcGVuZChcInZcIixhcmd1bWVudHNbZV0pO3Rocm93IEVycm9yKGBNaW5pZmllZCBMZXhpY2FsIGVycm9yICMke2V9OyB2aXNpdCBodHRwczovL2xleGljYWwuZGV2L2RvY3MvZXJyb3I/JHt0fSBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzIGFuZCBhZGRpdGlvbmFsIGhlbHBmdWwgd2FybmluZ3MuYCl9KSk7Y29uc3QgcXg9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LmRvY3VtZW50JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCxHeD1xeCYmXCJkb2N1bWVudE1vZGVcImluIGRvY3VtZW50P2RvY3VtZW50LmRvY3VtZW50TW9kZTpudWxsO3F4JiYvTWFjfGlQb2R8aVBob25lfGlQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxxeCYmL14oPyEuKlNlYW1vbmtleSkoPz0uKkZpcmVmb3gpLiovaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLCEoIXF4fHwhKFwiSW5wdXRFdmVudFwiaW4gd2luZG93KXx8R3gpJiZuZXcgd2luZG93LklucHV0RXZlbnQoXCJpbnB1dFwiKSxxeCYmL1ZlcnNpb25cXC9bXFxkLl0rLipTYWZhcmkvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkscXgmJi9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiZ3aW5kb3cuTVNTdHJlYW0scXgmJi9BbmRyb2lkLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHF4JiYvXig/PS4qQ2hyb21lKS4qL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtmdW5jdGlvbiBYeCguLi5lKXtyZXR1cm4oKT0+e2ZvcihsZXQgdD1lLmxlbmd0aC0xO3Q+PTA7dC0tKWVbdF0oKTtlLmxlbmd0aD0wfX1mdW5jdGlvbiBaeChlLHQpe2NvbnN0IG49VHkoZS5mb2N1cyx0KTtyZXR1cm4gUHgobikmJiFuLmlzSXNvbGF0ZWQoKXx8a3gobikmJiFuLmlzSW5saW5lKCkmJiFuLmNhbkJlRW1wdHkoKX1mdW5jdGlvbiBKeChlLHQsbil7Y29uc3Qgcj1mdW5jdGlvbihlKXtjb25zdCB0PWUuYW5jaG9yLmdldE5vZGUoKTtyZXR1cm5cInJ0bFwiPT09KE54KHQpP3Q6dC5nZXRQYXJlbnRPclRocm93KCkpLmdldERpcmVjdGlvbigpfShlKTshZnVuY3Rpb24oZSx0LG4pe2UubW9kaWZ5KHQ/XCJleHRlbmRcIjpcIm1vdmVcIixuLFwiY2hhcmFjdGVyXCIpfShlLHQsbj8hcjpyKX1mdW5jdGlvbiBReChlLHQsbixyPW51bGwpe2xldCBvPW51bGw9PT1yfHx0LmlzU2VsZWN0ZWQocik7Y29uc3QgaT1reCh0KSYmdC5leGNsdWRlRnJvbUNvcHkoXCJodG1sXCIpO2xldCBzPXQ7aWYobnVsbCE9PXIpe2xldCBlPVh5KHQpO2U9a2IoZSkmJm51bGwhPT1yP2Z1bmN0aW9uKGUsdCl7Y29uc3Qgbj1lLmdldFN0YXJ0RW5kUG9pbnRzKCk7aWYodC5pc1NlbGVjdGVkKGUpJiYhdC5pc1NlZ21lbnRlZCgpJiYhdC5pc1Rva2VuKCkmJm51bGwhPT1uKXtjb25zdFtyLG9dPW4saT1lLmlzQmFja3dhcmQoKSxzPXIuZ2V0Tm9kZSgpLGE9by5nZXROb2RlKCksbD10LmlzKHMpLGM9dC5pcyhhKTtpZihsfHxjKXtjb25zdFtuLHJdPUxiKGUpLG89cy5pcyhhKSxsPXQuaXMoaT9hOnMpLGM9dC5pcyhpP3M6YSk7bGV0IHUsZD0wO3JldHVybiBvPyhkPW4+cj9yOm4sdT1uPnI/bjpyKTpsPyhkPWk/cjpuLHU9dm9pZCAwKTpjJiYoZD0wLHU9aT9uOnIpLHQuX190ZXh0PXQuX190ZXh0LnNsaWNlKGQsdSksdH19cmV0dXJuIHR9KHIsZSk6ZSxzPWV9Y29uc3QgYT1reChzKT9zLmdldENoaWxkcmVuKCk6W10sbD1lLl9ub2Rlcy5nZXQocy5nZXRUeXBlKCkpO2xldCBjO2M9bCYmdm9pZCAwIT09bC5leHBvcnRET00/bC5leHBvcnRET00oZSxzKTpzLmV4cG9ydERPTShlKTtjb25zdHtlbGVtZW50OnUsYWZ0ZXI6ZH09YztpZighdSlyZXR1cm4hMTtjb25zdCBmPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtmb3IobGV0IG49MDtuPGEubGVuZ3RoO24rKyl7Y29uc3QgaT1hW25dLHM9UXgoZSxpLGYscik7IW8mJmt4KHQpJiZzJiZ0LmV4dHJhY3RXaXRoQ2hpbGQoaSxyLFwiaHRtbFwiKSYmKG89ITApfWlmKG8mJiFpKXtpZihVeSh1KSYmdS5hcHBlbmQoZiksbi5hcHBlbmQodSksZCl7Y29uc3QgZT1kLmNhbGwocyx1KTtlJiZ1LnJlcGxhY2VXaXRoKGUpfX1lbHNlIG4uYXBwZW5kKGYpO3JldHVybiBvfXF4JiYvQXBwbGVXZWJLaXRcXC9bXFxkLl0rLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGZ1bmN0aW9uKGUpe2UmJmUuX19lc01vZHVsZSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsXCJkZWZhdWx0XCIpfSgoZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgVVJMU2VhcmNoUGFyYW1zO3QuYXBwZW5kKFwiY29kZVwiLGUpO2ZvcihsZXQgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdC5hcHBlbmQoXCJ2XCIsYXJndW1lbnRzW2VdKTt0aHJvdyBFcnJvcihgTWluaWZpZWQgTGV4aWNhbCBlcnJvciAjJHtlfTsgdmlzaXQgaHR0cHM6Ly9sZXhpY2FsLmRldi9kb2NzL2Vycm9yPyR7dH0gZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLmApfSkpLG5ldyBNYXAsbmV3IFNldChbXCJTVFlMRVwiLFwiU0NSSVBUXCJdKTt2YXIgZXc9ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsXCJkZWZhdWx0XCIpP2UuZGVmYXVsdDplfSgoZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgVVJMU2VhcmNoUGFyYW1zO3QuYXBwZW5kKFwiY29kZVwiLGUpO2ZvcihsZXQgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdC5hcHBlbmQoXCJ2XCIsYXJndW1lbnRzW2VdKTt0aHJvdyBFcnJvcihgTWluaWZpZWQgTGV4aWNhbCBlcnJvciAjJHtlfTsgdmlzaXQgaHR0cHM6Ly9sZXhpY2FsLmRldi9kb2NzL2Vycm9yPyR7dH0gZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLmApfSkpO2Z1bmN0aW9uIHR3KGUsdCl7Y29uc3Qgbj1lLmdldERhdGEoXCJ0ZXh0L3BsYWluXCIpfHxlLmdldERhdGEoXCJ0ZXh0L3VyaS1saXN0XCIpO251bGwhPW4mJnQuaW5zZXJ0UmF3VGV4dChuKX1cInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnQmJndpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50O2NvbnN0IG53PVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJnZvaWQgMCE9PXdpbmRvdy5kb2N1bWVudCYmdm9pZCAwIT09d2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQscnc9bncmJlwiZG9jdW1lbnRNb2RlXCJpbiBkb2N1bWVudD9kb2N1bWVudC5kb2N1bWVudE1vZGU6bnVsbCxvdz0hKCFud3x8IShcIklucHV0RXZlbnRcImluIHdpbmRvdyl8fHJ3KSYmXCJnZXRUYXJnZXRSYW5nZXNcImluIG5ldyB3aW5kb3cuSW5wdXRFdmVudChcImlucHV0XCIpLGl3PW53JiYvVmVyc2lvblxcL1tcXGQuXSsuKlNhZmFyaS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxzdz1udyYmL2lQYWR8aVBob25lfGlQb2QvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJiF3aW5kb3cuTVNTdHJlYW0sYXc9bncmJi9eKD89LipDaHJvbWUpLiovaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGx3PW53JiYvQXBwbGVXZWJLaXRcXC9bXFxkLl0rLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiYhYXc7ZnVuY3Rpb24gY3coZSx0KXt0LnVwZGF0ZSgoKCk9PntpZihudWxsIT09ZSl7Y29uc3Qgcj1mdW5jdGlvbihlLHQpe3JldHVybiBudWxsIT09ZSYmT2JqZWN0LmdldFByb3RvdHlwZU9mKGUpLmNvbnN0cnVjdG9yLm5hbWU9PT10Lm5hbWV9KGUsS2V5Ym9hcmRFdmVudCk/bnVsbDplLmNsaXBib2FyZERhdGEsbz1IYigpO2lmKG51bGwhPT1vJiZudWxsIT1yKXtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgaT1mdW5jdGlvbihlLHQ9SGIoKSl7cmV0dXJuIG51bGw9PXQmJmV3KDE2NiksRGIodCkmJnQuaXNDb2xsYXBzZWQoKXx8MD09PXQuZ2V0Tm9kZXMoKS5sZW5ndGg/XCJcIjpmdW5jdGlvbihlLHQpe2lmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBkb2N1bWVudHx8XCJ1bmRlZmluZWRcIj09dHlwZW9mIHdpbmRvdyYmdm9pZCAwPT09bi5nLndpbmRvdyl0aHJvdyBuZXcgRXJyb3IoXCJUbyB1c2UgJGdlbmVyYXRlSHRtbEZyb21Ob2RlcyBpbiBoZWFkbGVzcyBtb2RlIHBsZWFzZSBpbml0aWFsaXplIGEgaGVhZGxlc3MgYnJvd3NlciBpbXBsZW1lbnRhdGlvbiBzdWNoIGFzIEpTRG9tIGJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uXCIpO2NvbnN0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSxvPWN5KCkuZ2V0Q2hpbGRyZW4oKTtmb3IobGV0IG49MDtuPG8ubGVuZ3RoO24rKylReChlLG9bbl0scix0KTtyZXR1cm4gci5pbm5lckhUTUx9KGUsdCl9KHQpO251bGwhPT1pJiZyLnNldERhdGEoXCJ0ZXh0L2h0bWxcIixpKSxyLnNldERhdGEoXCJ0ZXh0L3BsYWluXCIsby5nZXRUZXh0Q29udGVudCgpKX19fSkpfWNvbnN0IHV3PVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJnZvaWQgMCE9PXdpbmRvdy5kb2N1bWVudCYmdm9pZCAwIT09d2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQ/YS51c2VMYXlvdXRFZmZlY3Q6YS51c2VFZmZlY3Q7ZnVuY3Rpb24gZHcoZSl7cmV0dXJuIGUuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKEt4KGUuaXNDb21wb3NpbmcoKSkpfWZ1bmN0aW9uIGZ3KHtjb250ZW50RWRpdGFibGU6ZSxwbGFjZWhvbGRlcjp0PW51bGwsRXJyb3JCb3VuZGFyeTpufSl7Y29uc3Rbcl09SmgoKSxvPWZ1bmN0aW9uKGUsdCl7Y29uc3RbbixyXT0oMCxhLnVzZVN0YXRlKSgoKCk9PmUuZ2V0RGVjb3JhdG9ycygpKSk7cmV0dXJuIHV3KCgoKT0+ZS5yZWdpc3RlckRlY29yYXRvckxpc3RlbmVyKChlPT57KDAsdG4uZmx1c2hTeW5jKSgoKCk9PntyKGUpfSkpfSkpKSxbZV0pLCgwLGEudXNlRWZmZWN0KSgoKCk9PntyKGUuZ2V0RGVjb3JhdG9ycygpKX0pLFtlXSksKDAsYS51c2VNZW1vKSgoKCk9Pntjb25zdCByPVtdLG89T2JqZWN0LmtleXMobik7Zm9yKGxldCBpPTA7aTxvLmxlbmd0aDtpKyspe2NvbnN0IHM9b1tpXSxsPSgwLG11LmpzeCkodCx7b25FcnJvcjp0PT5lLl9vbkVycm9yKHQpLGNoaWxkcmVuOigwLG11LmpzeCkoYS5TdXNwZW5zZSx7ZmFsbGJhY2s6bnVsbCxjaGlsZHJlbjpuW3NdfSl9KSxjPWUuZ2V0RWxlbWVudEJ5S2V5KHMpO251bGwhPT1jJiZyLnB1c2goKDAsdG4uY3JlYXRlUG9ydGFsKShsLGMscykpfXJldHVybiByfSksW3QsbixlXSl9KHIsbik7cmV0dXJuIGZ1bmN0aW9uKGUpe3V3KCgoKT0+WHgoZnVuY3Rpb24oZSl7cmV0dXJuIFh4KGUucmVnaXN0ZXJDb21tYW5kKG5wLChlPT57Y29uc3QgdD1IYigpO3JldHVybiEhRGIodCkmJih0LmRlbGV0ZUNoYXJhY3RlcihlKSwhMCl9KSwwKSxlLnJlZ2lzdGVyQ29tbWFuZChscCwoZT0+e2NvbnN0IHQ9SGIoKTtyZXR1cm4hIURiKHQpJiYodC5kZWxldGVXb3JkKGUpLCEwKX0pLDApLGUucmVnaXN0ZXJDb21tYW5kKGNwLChlPT57Y29uc3QgdD1IYigpO3JldHVybiEhRGIodCkmJih0LmRlbGV0ZUxpbmUoZSksITApfSksMCksZS5yZWdpc3RlckNvbW1hbmQoaXAsKGU9Pntjb25zdCB0PUhiKCk7aWYoIURiKHQpKXJldHVybiExO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXQuaW5zZXJ0VGV4dChlKTtlbHNle2NvbnN0IG49ZS5kYXRhVHJhbnNmZXI7aWYobnVsbCE9bil0dyhuLHQpO2Vsc2V7Y29uc3Qgbj1lLmRhdGE7biYmdC5pbnNlcnRUZXh0KG4pfX1yZXR1cm4hMH0pLDApLGUucmVnaXN0ZXJDb21tYW5kKGFwLCgoKT0+e2NvbnN0IGU9SGIoKTtyZXR1cm4hIURiKGUpJiYoZS5yZW1vdmVUZXh0KCksITApfSksMCksZS5yZWdpc3RlckNvbW1hbmQocnAsKGU9Pntjb25zdCB0PUhiKCk7cmV0dXJuISFEYih0KSYmKHQuaW5zZXJ0TGluZUJyZWFrKGUpLCEwKX0pLDApLGUucmVnaXN0ZXJDb21tYW5kKG9wLCgoKT0+e2NvbnN0IGU9SGIoKTtyZXR1cm4hIURiKGUpJiYoZS5pbnNlcnRMaW5lQnJlYWsoKSwhMCl9KSwwKSxlLnJlZ2lzdGVyQ29tbWFuZChncCwoZT0+e2NvbnN0IHQ9SGIoKTtpZighRGIodCkpcmV0dXJuITE7Y29uc3Qgbj1lLHI9bi5zaGlmdEtleTtyZXR1cm4hIVp4KHQsITApJiYobi5wcmV2ZW50RGVmYXVsdCgpLEp4KHQsciwhMCksITApfSksMCksZS5yZWdpc3RlckNvbW1hbmQoaHAsKGU9Pntjb25zdCB0PUhiKCk7aWYoIURiKHQpKXJldHVybiExO2NvbnN0IG49ZSxyPW4uc2hpZnRLZXk7cmV0dXJuISFaeCh0LCExKSYmKG4ucHJldmVudERlZmF1bHQoKSxKeCh0LHIsITEpLCEwKX0pLDApLGUucmVnaXN0ZXJDb21tYW5kKFNwLCh0PT4hIURiKEhiKCkpJiYodC5wcmV2ZW50RGVmYXVsdCgpLGUuZGlzcGF0Y2hDb21tYW5kKG5wLCEwKSkpLDApLGUucmVnaXN0ZXJDb21tYW5kKEVwLCh0PT4hIURiKEhiKCkpJiYodC5wcmV2ZW50RGVmYXVsdCgpLGUuZGlzcGF0Y2hDb21tYW5kKG5wLCExKSkpLDApLGUucmVnaXN0ZXJDb21tYW5kKHhwLCh0PT57aWYoIURiKEhiKCkpKXJldHVybiExO2lmKG51bGwhPT10KXtpZigoc3d8fGl3fHxsdykmJm93KXJldHVybiExO3QucHJldmVudERlZmF1bHQoKX1yZXR1cm4gZS5kaXNwYXRjaENvbW1hbmQocnAsITEpfSksMCksZS5yZWdpc3RlckNvbW1hbmQoUnAsKCgpPT4oZnVuY3Rpb24oKXtjb25zdCBlPWN5KCk7ZHkoZnVuY3Rpb24oZSl7cmV0dXJuIFZnKGUuYW5jaG9yKSxWZyhlLmZvY3VzKSxlfShlLnNlbGVjdCgwLGUuZ2V0Q2hpbGRyZW5TaXplKCkpKSl9KCksITApKSwwKSxlLnJlZ2lzdGVyQ29tbWFuZChUcCwodD0+ISFEYihIYigpKSYmKGN3KHQsZSksITApKSwwKSxlLnJlZ2lzdGVyQ29tbWFuZChNcCwodD0+ISFEYihIYigpKSYmKGZ1bmN0aW9uKGUsdCl7Y3coZSx0KSx0LnVwZGF0ZSgoKCk9Pntjb25zdCBlPUhiKCk7RGIoZSkmJmUucmVtb3ZlVGV4dCgpfSkpfSh0LGUpLCEwKSksMCksZS5yZWdpc3RlckNvbW1hbmQoc3AsKHQ9PiEhRGIoSGIoKSkmJihmdW5jdGlvbihlLHQpe2UucHJldmVudERlZmF1bHQoKSx0LnVwZGF0ZSgoKCk9Pntjb25zdCB0PUhiKCkse2NsaXBib2FyZERhdGE6bn09ZTtudWxsIT1uJiZEYih0KSYmdHcobix0KX0pLHt0YWc6XCJwYXN0ZVwifSl9KHQsZSksITApKSwwKSxlLnJlZ2lzdGVyQ29tbWFuZChfcCwoZT0+ISFEYihIYigpKSYmKGUucHJldmVudERlZmF1bHQoKSwhMCkpLDApLGUucmVnaXN0ZXJDb21tYW5kKFBwLChlPT4hIURiKEhiKCkpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLCEwKSksMCkpfShlKSxmdW5jdGlvbihlKXtjb25zdCB0PXdpbmRvdy5sb2NhdGlvbi5vcmlnaW4sbj1uPT57aWYobi5vcmlnaW4hPT10KXJldHVybjtjb25zdCByPWUuZ2V0Um9vdEVsZW1lbnQoKTtpZihkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09cilyZXR1cm47Y29uc3Qgbz1uLmRhdGE7aWYoXCJzdHJpbmdcIj09dHlwZW9mIG8pe2xldCB0O3RyeXt0PUpTT04ucGFyc2Uobyl9Y2F0Y2goZSl7cmV0dXJufWlmKHQmJlwibnVhbnJpYV9tZXNzYWdpbmdcIj09PXQucHJvdG9jb2wmJlwicmVxdWVzdFwiPT09dC50eXBlKXtjb25zdCByPXQucGF5bG9hZDtpZihyJiZcIm1ha2VDaGFuZ2VzXCI9PT1yLmZ1bmN0aW9uSWQpe2NvbnN0IHQ9ci5hcmdzO2lmKHQpe2NvbnN0W3IsbyxpLHMsYSxsXT10O2UudXBkYXRlKCgoKT0+e2NvbnN0IGU9SGIoKTtpZihEYihlKSl7Y29uc3QgdD1lLmFuY2hvcjtsZXQgbD10LmdldE5vZGUoKSxjPTAsdT0wO2lmKGtiKGwpJiZyPj0wJiZvPj0wJiYoYz1yLHU9citvLGUuc2V0VGV4dE5vZGVSYW5nZShsLGMsbCx1KSksYz09PXUmJlwiXCI9PT1pfHwoZS5pbnNlcnRSYXdUZXh0KGkpLGw9dC5nZXROb2RlKCkpLGtiKGwpKXtjPXMsdT1zK2E7Y29uc3QgdD1sLmdldFRleHRDb250ZW50U2l6ZSgpO2M9Yz50P3Q6Yyx1PXU+dD90OnUsZS5zZXRUZXh0Tm9kZVJhbmdlKGwsYyxsLHUpfW4uc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9fSkpfX19fX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLG4sITApLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsbiwhMCl9fShlKSkpLFtlXSl9KHIpLCgwLG11LmpzeHMpKG11LkZyYWdtZW50LHtjaGlsZHJlbjpbZSwoMCxtdS5qc3gpKG13LHtjb250ZW50OnR9KSxvXX0pfWZ1bmN0aW9uIG13KHtjb250ZW50OmV9KXtjb25zdFt0XT1KaCgpLG49ZnVuY3Rpb24oZSl7Y29uc3RbdCxuXT0oMCxhLnVzZVN0YXRlKSgoKCk9PmR3KGUpKSk7cmV0dXJuIHV3KCgoKT0+e2Z1bmN0aW9uIHQoKXtjb25zdCB0PWR3KGUpO24odCl9cmV0dXJuIHQoKSxYeChlLnJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIoKCgpPT57dCgpfSkpLGUucmVnaXN0ZXJFZGl0YWJsZUxpc3RlbmVyKCgoKT0+e3QoKX0pKSl9KSxbZV0pLHR9KHQpLHI9ZnVuY3Rpb24oZSl7Y29uc3RbdF09SmgoKSxuPSgwLGEudXNlTWVtbykoKCgpPT5lKHQpKSxbdCxlXSkscj0oMCxhLnVzZVJlZikobi5pbml0aWFsVmFsdWVGbigpKSxbbyxpXT0oMCxhLnVzZVN0YXRlKShyLmN1cnJlbnQpO3JldHVybiBZeCgoKCk9Pntjb25zdHtpbml0aWFsVmFsdWVGbjplLHN1YnNjcmliZTp0fT1uLG89ZSgpO3JldHVybiByLmN1cnJlbnQhPT1vJiYoci5jdXJyZW50PW8saShvKSksdCgoZT0+e3IuY3VycmVudD1lLGkoZSl9KSl9KSxbbixlXSksb30oSHgpO3JldHVybiBuP1wiZnVuY3Rpb25cIj09dHlwZW9mIGU/ZShyKTplOm51bGx9Y29uc3QgaHc9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LmRvY3VtZW50JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudD9hLnVzZUxheW91dEVmZmVjdDphLnVzZUVmZmVjdCxwdz0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbih7ZWRpdG9yOmUsYXJpYUFjdGl2ZURlc2NlbmRhbnQ6dCxhcmlhQXV0b0NvbXBsZXRlOm4sYXJpYUNvbnRyb2xzOnIsYXJpYURlc2NyaWJlZEJ5Om8sYXJpYUV4cGFuZGVkOmksYXJpYUxhYmVsOnMsYXJpYUxhYmVsbGVkQnk6bCxhcmlhTXVsdGlsaW5lOmMsYXJpYU93bnM6dSxhcmlhUmVxdWlyZWQ6ZCxhdXRvQ2FwaXRhbGl6ZTpmLGNsYXNzTmFtZTptLGlkOmgscm9sZTpwPVwidGV4dGJveFwiLHNwZWxsQ2hlY2s6Zz0hMCxzdHlsZTp5LHRhYkluZGV4OnYsXCJkYXRhLXRlc3RpZFwiOmIsLi4ueH0sdyl7Y29uc3RbUyxrXT0oMCxhLnVzZVN0YXRlKShlLmlzRWRpdGFibGUoKSksRT0oMCxhLnVzZUNhbGxiYWNrKSgodD0+e3QmJnQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3P2Uuc2V0Um9vdEVsZW1lbnQodCk6ZS5zZXRSb290RWxlbWVudChudWxsKX0pLFtlXSksQz0oMCxhLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oLi4uZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PntcImZ1bmN0aW9uXCI9PXR5cGVvZiBlP2UodCk6bnVsbCE9ZSYmKGUuY3VycmVudD10KX0pKX19KHcsRSkpLFtFLHddKTtyZXR1cm4gaHcoKCgpPT4oayhlLmlzRWRpdGFibGUoKSksZS5yZWdpc3RlckVkaXRhYmxlTGlzdGVuZXIoKGU9PntrKGUpfSkpKSksW2VdKSwoMCxtdS5qc3gpKFwiZGl2XCIsey4uLngsXCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnRcIjpTP3Q6dm9pZCAwLFwiYXJpYS1hdXRvY29tcGxldGVcIjpTP246XCJub25lXCIsXCJhcmlhLWNvbnRyb2xzXCI6Uz9yOnZvaWQgMCxcImFyaWEtZGVzY3JpYmVkYnlcIjpvLFwiYXJpYS1leHBhbmRlZFwiOlMmJlwiY29tYm9ib3hcIj09PXA/ISFpOnZvaWQgMCxcImFyaWEtbGFiZWxcIjpzLFwiYXJpYS1sYWJlbGxlZGJ5XCI6bCxcImFyaWEtbXVsdGlsaW5lXCI6YyxcImFyaWEtb3duc1wiOlM/dTp2b2lkIDAsXCJhcmlhLXJlYWRvbmx5XCI6IVN8fHZvaWQgMCxcImFyaWEtcmVxdWlyZWRcIjpkLGF1dG9DYXBpdGFsaXplOmYsY2xhc3NOYW1lOm0sY29udGVudEVkaXRhYmxlOlMsXCJkYXRhLXRlc3RpZFwiOmIsaWQ6aCxyZWY6Qyxyb2xlOlM/cDp2b2lkIDAsc3BlbGxDaGVjazpnLHN0eWxlOnksdGFiSW5kZXg6dn0pfSkpO2Z1bmN0aW9uIGd3KGUpe3JldHVybiBlLmdldEVkaXRvclN0YXRlKCkucmVhZChLeChlLmlzQ29tcG9zaW5nKCkpKX1jb25zdCB5dz0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0e3BsYWNlaG9sZGVyOm4sLi4ucn09ZSxbb109SmgoKTtyZXR1cm4oMCxtdS5qc3hzKShtdS5GcmFnbWVudCx7Y2hpbGRyZW46WygwLG11LmpzeCkocHcse2VkaXRvcjpvLC4uLnIscmVmOnR9KSxudWxsIT1uJiYoMCxtdS5qc3gpKHZ3LHtlZGl0b3I6byxjb250ZW50Om59KV19KX0pKTtmdW5jdGlvbiB2dyh7Y29udGVudDplLGVkaXRvcjp0fSl7Y29uc3Qgbj1mdW5jdGlvbihlKXtjb25zdFt0LG5dPSgwLGEudXNlU3RhdGUpKCgoKT0+Z3coZSkpKTtyZXR1cm4gaHcoKCgpPT57ZnVuY3Rpb24gdCgpe2NvbnN0IHQ9Z3coZSk7bih0KX1yZXR1cm4gdCgpLFh4KGUucmVnaXN0ZXJVcGRhdGVMaXN0ZW5lcigoKCk9Pnt0KCl9KSksZS5yZWdpc3RlckVkaXRhYmxlTGlzdGVuZXIoKCgpPT57dCgpfSkpKX0pLFtlXSksdH0odCksW3Isb109KDAsYS51c2VTdGF0ZSkodC5pc0VkaXRhYmxlKCkpO2lmKCgwLGEudXNlTGF5b3V0RWZmZWN0KSgoKCk9PihvKHQuaXNFZGl0YWJsZSgpKSx0LnJlZ2lzdGVyRWRpdGFibGVMaXN0ZW5lcigoZT0+e28oZSl9KSkpKSxbdF0pLCFuKXJldHVybiBudWxsO2xldCBpPW51bGw7cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgZT9pPWUocik6bnVsbCE9PWUmJihpPWUpLG51bGw9PT1pP251bGw6KDAsbXUuanN4KShcImRpdlwiLHtcImFyaWEtaGlkZGVuXCI6ITAsY2hpbGRyZW46aX0pfWNvbnN0IGJ3PTAseHc9MSx3dz0yLFN3PTAsa3c9MSxFdz0yLEN3PTMsX3c9NDtmdW5jdGlvbiBQdyhlKXtlLnVuZG9TdGFjaz1bXSxlLnJlZG9TdGFjaz1bXSxlLmN1cnJlbnQ9bnVsbH1mdW5jdGlvbiBPdyh7ZGVsYXk6ZSxleHRlcm5hbEhpc3RvcnlTdGF0ZTp0fSl7Y29uc3Rbbl09SmgoKTtyZXR1cm4gZnVuY3Rpb24oZSx0LG49MWUzKXtjb25zdCByPSgwLGEudXNlTWVtbykoKCgpPT50fHx7Y3VycmVudDpudWxsLHJlZG9TdGFjazpbXSx1bmRvU3RhY2s6W119KSxbdF0pOygwLGEudXNlRWZmZWN0KSgoKCk9PmZ1bmN0aW9uKGUsdCxuKXtjb25zdCByPWZ1bmN0aW9uKGUsdCl7bGV0IG49RGF0ZS5ub3coKSxyPVN3O3JldHVybihvLGkscyxhLGwsYyk9Pntjb25zdCB1PURhdGUubm93KCk7aWYoYy5oYXMoXCJoaXN0b3JpY1wiKSlyZXR1cm4gcj1TdyxuPXUsd3c7Y29uc3QgZD1mdW5jdGlvbihlLHQsbixyLG8pe2lmKG51bGw9PT1lfHwwPT09bi5zaXplJiYwPT09ci5zaXplJiYhbylyZXR1cm4gU3c7Y29uc3QgaT10Ll9zZWxlY3Rpb24scz1lLl9zZWxlY3Rpb247aWYobylyZXR1cm4ga3c7aWYoIShEYihpKSYmRGIocykmJnMuaXNDb2xsYXBzZWQoKSYmaS5pc0NvbGxhcHNlZCgpKSlyZXR1cm4gU3c7Y29uc3QgYT1mdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1lLl9ub2RlTWFwLG89W107Zm9yKGNvbnN0IGUgb2YgdCl7Y29uc3QgdD1yLmdldChlKTt2b2lkIDAhPT10JiZvLnB1c2godCl9Zm9yKGNvbnN0W2UsdF1vZiBuKXtpZighdCljb250aW51ZTtjb25zdCBuPXIuZ2V0KGUpO3ZvaWQgMD09PW58fE54KG4pfHxvLnB1c2gobil9cmV0dXJuIG99KHQsbixyKTtpZigwPT09YS5sZW5ndGgpcmV0dXJuIFN3O2lmKGEubGVuZ3RoPjEpe2NvbnN0IG49dC5fbm9kZU1hcCxyPW4uZ2V0KGkuYW5jaG9yLmtleSksbz1uLmdldChzLmFuY2hvci5rZXkpO3JldHVybiByJiZvJiYhZS5fbm9kZU1hcC5oYXMoci5fX2tleSkmJmtiKHIpJiYxPT09ci5fX3RleHQubGVuZ3RoJiYxPT09aS5hbmNob3Iub2Zmc2V0P0V3OlN3fWNvbnN0IGw9YVswXSxjPWUuX25vZGVNYXAuZ2V0KGwuX19rZXkpO2lmKCFrYihjKXx8IWtiKGwpfHxjLl9fbW9kZSE9PWwuX19tb2RlKXJldHVybiBTdztjb25zdCB1PWMuX190ZXh0LGQ9bC5fX3RleHQ7aWYodT09PWQpcmV0dXJuIFN3O2NvbnN0IGY9aS5hbmNob3IsbT1zLmFuY2hvcjtpZihmLmtleSE9PW0ua2V5fHxcInRleHRcIiE9PWYudHlwZSlyZXR1cm4gU3c7Y29uc3QgaD1mLm9mZnNldCxwPW0ub2Zmc2V0LGc9ZC5sZW5ndGgtdS5sZW5ndGg7cmV0dXJuIDE9PT1nJiZwPT09aC0xP0V3Oi0xPT09ZyYmcD09PWgrMT9DdzotMT09PWcmJnA9PT1oP193OlN3fShvLGksYSxsLGUuaXNDb21wb3NpbmcoKSksZj0oKCk9Pntjb25zdCBmPW51bGw9PT1zfHxzLmVkaXRvcj09PWUsbT1jLmhhcyhcImhpc3RvcnktcHVzaFwiKTtpZighbSYmZiYmYy5oYXMoXCJoaXN0b3J5LW1lcmdlXCIpKXJldHVybiBidztpZihudWxsPT09bylyZXR1cm4geHc7Y29uc3QgaD1pLl9zZWxlY3Rpb247cmV0dXJuIGEuc2l6ZT4wfHxsLnNpemU+MD8hMT09PW0mJmQhPT1TdyYmZD09PXImJnU8bit0JiZmfHwxPT09YS5zaXplJiZmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj10Ll9ub2RlTWFwLmdldChlKSxvPW4uX25vZGVNYXAuZ2V0KGUpLGk9dC5fc2VsZWN0aW9uLHM9bi5fc2VsZWN0aW9uO3JldHVybiEoRGIoaSkmJkRiKHMpJiZcImVsZW1lbnRcIj09PWkuYW5jaG9yLnR5cGUmJlwiZWxlbWVudFwiPT09aS5mb2N1cy50eXBlJiZcInRleHRcIj09PXMuYW5jaG9yLnR5cGUmJlwidGV4dFwiPT09cy5mb2N1cy50eXBlfHwha2Iocil8fCFrYihvKXx8ci5fX3BhcmVudCE9PW8uX19wYXJlbnQpJiZKU09OLnN0cmluZ2lmeSh0LnJlYWQoKCgpPT5yLmV4cG9ydEpTT04oKSkpKT09PUpTT04uc3RyaW5naWZ5KG4ucmVhZCgoKCk9Pm8uZXhwb3J0SlNPTigpKSkpfShBcnJheS5mcm9tKGEpWzBdLG8saSk/Ync6eHc6bnVsbCE9PWg/Ync6d3d9KSgpO3JldHVybiBuPXUscj1kLGZ9fShlLG4pLG89WHgoZS5yZWdpc3RlckNvbW1hbmQoZHAsKCgpPT4oZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQucmVkb1N0YWNrLHI9dC51bmRvU3RhY2s7aWYoMCE9PXIubGVuZ3RoKXtjb25zdCBvPXQuY3VycmVudCxpPXIucG9wKCk7bnVsbCE9PW8mJihuLnB1c2gobyksZS5kaXNwYXRjaENvbW1hbmQoQXAsITApKSwwPT09ci5sZW5ndGgmJmUuZGlzcGF0Y2hDb21tYW5kKElwLCExKSx0LmN1cnJlbnQ9aXx8bnVsbCxpJiZpLmVkaXRvci5zZXRFZGl0b3JTdGF0ZShpLmVkaXRvclN0YXRlLHt0YWc6XCJoaXN0b3JpY1wifSl9fShlLHQpLCEwKSksMCksZS5yZWdpc3RlckNvbW1hbmQoZnAsKCgpPT4oZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQucmVkb1N0YWNrLHI9dC51bmRvU3RhY2s7aWYoMCE9PW4ubGVuZ3RoKXtjb25zdCBvPXQuY3VycmVudDtudWxsIT09byYmKHIucHVzaChvKSxlLmRpc3BhdGNoQ29tbWFuZChJcCwhMCkpO2NvbnN0IGk9bi5wb3AoKTswPT09bi5sZW5ndGgmJmUuZGlzcGF0Y2hDb21tYW5kKEFwLCExKSx0LmN1cnJlbnQ9aXx8bnVsbCxpJiZpLmVkaXRvci5zZXRFZGl0b3JTdGF0ZShpLmVkaXRvclN0YXRlLHt0YWc6XCJoaXN0b3JpY1wifSl9fShlLHQpLCEwKSksMCksZS5yZWdpc3RlckNvbW1hbmQoRHAsKCgpPT4oUHcodCksITEpKSwwKSxlLnJlZ2lzdGVyQ29tbWFuZChqcCwoKCk9PihQdyh0KSxlLmRpc3BhdGNoQ29tbWFuZChBcCwhMSksZS5kaXNwYXRjaENvbW1hbmQoSXAsITEpLCEwKSksMCksZS5yZWdpc3RlclVwZGF0ZUxpc3RlbmVyKCgoe2VkaXRvclN0YXRlOm4scHJldkVkaXRvclN0YXRlOm8sZGlydHlMZWF2ZXM6aSxkaXJ0eUVsZW1lbnRzOnMsdGFnczphfSk9Pntjb25zdCBsPXQuY3VycmVudCxjPXQucmVkb1N0YWNrLHU9dC51bmRvU3RhY2ssZD1udWxsPT09bD9udWxsOmwuZWRpdG9yU3RhdGU7aWYobnVsbCE9PWwmJm49PT1kKXJldHVybjtjb25zdCBmPXIobyxuLGwsaSxzLGEpO2lmKGY9PT14dykwIT09Yy5sZW5ndGgmJih0LnJlZG9TdGFjaz1bXSxlLmRpc3BhdGNoQ29tbWFuZChBcCwhMSkpLG51bGwhPT1sJiYodS5wdXNoKHsuLi5sfSksZS5kaXNwYXRjaENvbW1hbmQoSXAsITApKTtlbHNlIGlmKGY9PT13dylyZXR1cm47dC5jdXJyZW50PXtlZGl0b3I6ZSxlZGl0b3JTdGF0ZTpufX0pKSk7cmV0dXJuIG99KGUscixuKSksW24sZSxyXSl9KG4sdCxlKSxudWxsfWZ1bmN0aW9uIE53KGUsdCl7cmV0dXJuIE53PU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuX19wcm90b19fPXQsZX0sTncoZSx0KX12YXIgVHc9e2Vycm9yOm51bGx9LE13PWZ1bmN0aW9uKGUpe3ZhciB0LG47ZnVuY3Rpb24gcigpe2Zvcih2YXIgdCxuPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkobiksbz0wO288bjtvKyspcltvXT1hcmd1bWVudHNbb107cmV0dXJuKHQ9ZS5jYWxsLmFwcGx5KGUsW3RoaXNdLmNvbmNhdChyKSl8fHRoaXMpLnN0YXRlPVR3LHQucmVzZXRFcnJvckJvdW5kYXJ5PWZ1bmN0aW9uKCl7Zm9yKHZhciBlLG49YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheShuKSxvPTA7bzxuO28rKylyW29dPWFyZ3VtZW50c1tvXTtudWxsPT10LnByb3BzLm9uUmVzZXR8fChlPXQucHJvcHMpLm9uUmVzZXQuYXBwbHkoZSxyKSx0LnJlc2V0KCl9LHR9bj1lLCh0PXIpLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4ucHJvdG90eXBlKSx0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10LE53KHQsbiksci5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I9ZnVuY3Rpb24oZSl7cmV0dXJue2Vycm9yOmV9fTt2YXIgbz1yLnByb3RvdHlwZTtyZXR1cm4gby5yZXNldD1mdW5jdGlvbigpe3RoaXMuc2V0U3RhdGUoVHcpfSxvLmNvbXBvbmVudERpZENhdGNoPWZ1bmN0aW9uKGUsdCl7dmFyIG4scjtudWxsPT0obj0ocj10aGlzLnByb3BzKS5vbkVycm9yKXx8bi5jYWxsKHIsZSx0KX0sby5jb21wb25lbnREaWRVcGRhdGU9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG8saSxzPXRoaXMuc3RhdGUuZXJyb3IsYT10aGlzLnByb3BzLnJlc2V0S2V5cztudWxsIT09cyYmbnVsbCE9PXQuZXJyb3ImJih2b2lkIDA9PT0obz1lLnJlc2V0S2V5cykmJihvPVtdKSx2b2lkIDA9PT0oaT1hKSYmKGk9W10pLG8ubGVuZ3RoIT09aS5sZW5ndGh8fG8uc29tZSgoZnVuY3Rpb24oZSx0KXtyZXR1cm4hT2JqZWN0LmlzKGUsaVt0XSl9KSkpJiYobnVsbD09KG49KHI9dGhpcy5wcm9wcykub25SZXNldEtleXNDaGFuZ2UpfHxuLmNhbGwocixlLnJlc2V0S2V5cyxhKSx0aGlzLnJlc2V0KCkpfSxvLnJlbmRlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXMuc3RhdGUuZXJyb3IsdD10aGlzLnByb3BzLG49dC5mYWxsYmFja1JlbmRlcixyPXQuRmFsbGJhY2tDb21wb25lbnQsbz10LmZhbGxiYWNrO2lmKG51bGwhPT1lKXt2YXIgaT17ZXJyb3I6ZSxyZXNldEVycm9yQm91bmRhcnk6dGhpcy5yZXNldEVycm9yQm91bmRhcnl9O2lmKGEuaXNWYWxpZEVsZW1lbnQobykpcmV0dXJuIG87aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgbilyZXR1cm4gbihpKTtpZihyKXJldHVybiBhLmNyZWF0ZUVsZW1lbnQocixpKTt0aHJvdyBuZXcgRXJyb3IoXCJyZWFjdC1lcnJvci1ib3VuZGFyeSByZXF1aXJlcyBlaXRoZXIgYSBmYWxsYmFjaywgZmFsbGJhY2tSZW5kZXIsIG9yIEZhbGxiYWNrQ29tcG9uZW50IHByb3BcIil9cmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW59LHJ9KGEuQ29tcG9uZW50KTtmdW5jdGlvbiBSdyh7Y2hpbGRyZW46ZSxvbkVycm9yOnR9KXtyZXR1cm4oMCxtdS5qc3gpKE13LHtmYWxsYmFjazooMCxtdS5qc3gpKFwiZGl2XCIse3N0eWxlOntib3JkZXI6XCIxcHggc29saWQgI2YwMFwiLGNvbG9yOlwiI2YwMFwiLHBhZGRpbmc6XCI4cHhcIn0sY2hpbGRyZW46XCJBbiBlcnJvciB3YXMgdGhyb3duLlwifSksb25FcnJvcjp0LGNoaWxkcmVuOmV9KX1jb25zdCBEdz1cInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnQmJnZvaWQgMCE9PXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50P2EudXNlTGF5b3V0RWZmZWN0OmEudXNlRWZmZWN0O2Z1bmN0aW9uIGp3KHtpZ25vcmVIaXN0b3J5TWVyZ2VUYWdDaGFuZ2U6ZT0hMCxpZ25vcmVTZWxlY3Rpb25DaGFuZ2U6dD0hMSxvbkNoYW5nZTpufSl7Y29uc3Rbcl09SmgoKTtyZXR1cm4gRHcoKCgpPT57aWYobilyZXR1cm4gci5yZWdpc3RlclVwZGF0ZUxpc3RlbmVyKCgoe2VkaXRvclN0YXRlOm8sZGlydHlFbGVtZW50czppLGRpcnR5TGVhdmVzOnMscHJldkVkaXRvclN0YXRlOmEsdGFnczpsfSk9Pnt0JiYwPT09aS5zaXplJiYwPT09cy5zaXplfHxlJiZsLmhhcyhcImhpc3RvcnktbWVyZ2VcIil8fGEuaXNFbXB0eSgpfHxuKG8scixsKX0pKX0pLFtyLGUsdCxuXSksbnVsbH1mdW5jdGlvbiBBdyh7ZWRpdG9yUmVmOmV9KXtjb25zdFt0XT1KaCgpO3JldHVybiBhLnVzZUVmZmVjdCgoKCk9PntcImZ1bmN0aW9uXCI9PXR5cGVvZiBlP2UodCk6XCJvYmplY3RcIj09dHlwZW9mIGUmJihlLmN1cnJlbnQ9dCl9KSxbdF0pLG51bGx9dmFyIEl3PXt4czpcInB5LTEgcHgtMiBwci0yIHJvdW5kZWQgWyZfLmVkaXRvci1jb250ZW50PnBdOnRleHQteHMgWyZfLmVkaXRvci1jb250ZW50PnBdOmZvbnQtbm9ybWFsIFsmXy5wb2ludGVyLWV2ZW50cy1ub25lXTp0ZXh0LXhzXCIsc206XCJweC0zIHB5LTIgcm91bmRlZCBbJl8uZWRpdG9yLWNvbnRlbnQ+cF06dGV4dC14cyBbJl8uZWRpdG9yLWNvbnRlbnQ+cF06Zm9udC1ub3JtYWwgWyZfLnBvaW50ZXItZXZlbnRzLW5vbmVdOnRleHQteHMgWyZfLnBvaW50ZXItZXZlbnRzLW5vbmVdOmZvbnQtbm9ybWFsXCIsbWQ6XCJweC0zLjUgcHktMi41IHJvdW5kZWQtbWQgWyZfLmVkaXRvci1jb250ZW50PnBdOnRleHQtc20gWyZfLmVkaXRvci1jb250ZW50PnBdOmZvbnQtbm9ybWFsIFsmXy5wb2ludGVyLWV2ZW50cy1ub25lXTp0ZXh0LXNtIFsmXy5wb2ludGVyLWV2ZW50cy1ub25lXTpmb250LW5vcm1hbFwiLGxnOlwicHgtNCBweS0zIHJvdW5kZWQtbWQgWyZfLmVkaXRvci1jb250ZW50PnBdOnRleHQtYmFzZSBbJl8uZWRpdG9yLWNvbnRlbnQ+cF06Zm9udC1ub3JtYWwgWyZfLnBvaW50ZXItZXZlbnRzLW5vbmVdOnRleHQtYmFzZSBbJl8ucG9pbnRlci1ldmVudHMtbm9uZV06Zm9udC1ub3JtYWxcIn0sTHc9e3hzOlwicC0xIHJvdW5kZWQtbWQgbWF4LWgtWzguNzVyZW1dXCIsc206XCJwLTEuNSByb3VuZGVkLW1kIG1heC1oLVsxMC43NXJlbV1cIixtZDpcInAtMiByb3VuZGVkLWxnIG1heC1oLVsxMy41cmVtXVwiLGxnOlwicC0yIHJvdW5kZWQtbGcgbWF4LWgtWzEzLjVyZW1dXCJ9LEZ3PXt4czpcInAtMSByb3VuZGVkIHRleHQteHMgbGVhZGluZy00IGZvbnQtbm9ybWFsXCIsc206XCJwLTEuNSByb3VuZGVkIHRleHQteHMgbGVhZGluZy01IGZvbnQtbm9ybWFsXCIsbWQ6XCJwLTIgcm91bmRlZC1tZCB0ZXh0LXNtIGxlYWRpbmctNiBmb250LW5vcm1hbFwiLGxnOlwicC0yIHJvdW5kZWQtbWQgdGV4dC1iYXNlIGxlYWRpbmctNiBmb250LW5vcm1hbFwifTtjb25zdCB6dz1cInN0YXJ0VHJhbnNpdGlvblwiLEJ3PVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJnZvaWQgMCE9PXdpbmRvdy5kb2N1bWVudCYmdm9pZCAwIT09d2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQ/YS51c2VMYXlvdXRFZmZlY3Q6YS51c2VFZmZlY3QsV3c9ZT0+e2NvbnN0IHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ0eXBlYWhlYWQtbWVudVwiKTtpZighdClyZXR1cm47Y29uc3Qgbj10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO24udG9wK24uaGVpZ2h0PndpbmRvdy5pbm5lckhlaWdodCYmdC5zY3JvbGxJbnRvVmlldyh7YmxvY2s6XCJjZW50ZXJcIn0pLG4udG9wPDAmJnQuc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOlwiY2VudGVyXCJ9KSxlLnNjcm9sbEludG9WaWV3KHtibG9jazpcIm5lYXJlc3RcIn0pfTtmdW5jdGlvbiBWdyhlLHQpe2NvbnN0IG49ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIG4udG9wPnIudG9wJiZuLnRvcDxyLmJvdHRvbX1jb25zdCBVdz17fTtmdW5jdGlvbiAkdyh7Y2xvc2U6ZSxlZGl0b3I6dCxhbmNob3JFbGVtZW50UmVmOm4scmVzb2x1dGlvbjpyLG9wdGlvbnM6byxtZW51UmVuZGVyRm46aSxvblNlbGVjdE9wdGlvbjpzLHNob3VsZFNwbGl0Tm9kZVdpdGhRdWVyeTpsPSExLGNvbW1hbmRQcmlvcml0eTpjPUZ4fSl7Y29uc3RbdSxkXT0oMCxhLnVzZVN0YXRlKShudWxsKSxmPXIubWF0Y2gmJnIubWF0Y2gubWF0Y2hpbmdTdHJpbmc7KDAsYS51c2VFZmZlY3QpKCgoKT0+e2QoMCl9KSxbZl0pO2NvbnN0IG09KDAsYS51c2VDYWxsYmFjaykoKG49Pnt0LnVwZGF0ZSgoKCk9Pntjb25zdCB0PW51bGwhPXIubWF0Y2gmJmw/ZnVuY3Rpb24oZSl7Y29uc3QgdD1IYigpO2lmKCFEYih0KXx8IXQuaXNDb2xsYXBzZWQoKSlyZXR1cm4gbnVsbDtjb25zdCBuPXQuYW5jaG9yO2lmKFwidGV4dFwiIT09bi50eXBlKXJldHVybiBudWxsO2NvbnN0IHI9bi5nZXROb2RlKCk7aWYoIXIuaXNTaW1wbGVUZXh0KCkpcmV0dXJuIG51bGw7Y29uc3Qgbz1uLm9mZnNldCxpPXIuZ2V0VGV4dENvbnRlbnQoKS5zbGljZSgwLG8pLHM9ZS5yZXBsYWNlYWJsZVN0cmluZy5sZW5ndGgsYT1vLWZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1uO2ZvcihsZXQgbj1yO248PXQubGVuZ3RoO24rKyllLnN1YnN0cigtbik9PT10LnN1YnN0cigwLG4pJiYocj1uKTtyZXR1cm4gcn0oaSxlLm1hdGNoaW5nU3RyaW5nLHMpO2lmKGE8MClyZXR1cm4gbnVsbDtsZXQgbDtyZXR1cm4gMD09PWE/W2xdPXIuc3BsaXRUZXh0KG8pOlssbF09ci5zcGxpdFRleHQoYSxvKSxsfShyLm1hdGNoKTpudWxsO3Mobix0LGUsci5tYXRjaD9yLm1hdGNoLm1hdGNoaW5nU3RyaW5nOlwiXCIpfSkpfSksW3QsbCxyLm1hdGNoLHMsZV0pLGg9KDAsYS51c2VDYWxsYmFjaykoKGU9Pntjb25zdCBuPXQuZ2V0Um9vdEVsZW1lbnQoKTtudWxsIT09biYmKG4uc2V0QXR0cmlidXRlKFwiYXJpYS1hY3RpdmVkZXNjZW5kYW50XCIsXCJ0eXBlYWhlYWQtaXRlbS1cIitlKSxkKGUpKX0pLFt0XSk7cmV0dXJuKDAsYS51c2VFZmZlY3QpKCgoKT0+KCk9Pntjb25zdCBlPXQuZ2V0Um9vdEVsZW1lbnQoKTtudWxsIT09ZSYmZS5yZW1vdmVBdHRyaWJ1dGUoXCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnRcIil9KSxbdF0pLEJ3KCgoKT0+e251bGw9PT1vP2QobnVsbCk6bnVsbD09PXUmJmgoMCl9KSxbbyx1LGhdKSwoMCxhLnVzZUVmZmVjdCkoKCgpPT5YeCh0LnJlZ2lzdGVyQ29tbWFuZChVdywoKHtvcHRpb246ZX0pPT4hKCFlLnJlZnx8bnVsbD09ZS5yZWYuY3VycmVudHx8KFd3KGUucmVmLmN1cnJlbnQpLDApKSksYykpKSxbdCxoLGNdKSwoMCxhLnVzZUVmZmVjdCkoKCgpPT5YeCh0LnJlZ2lzdGVyQ29tbWFuZChicCwoZT0+e2NvbnN0IG49ZTtpZihudWxsIT09byYmby5sZW5ndGgmJm51bGwhPT11KXtjb25zdCBlPXUhPT1vLmxlbmd0aC0xP3UrMTowO2goZSk7Y29uc3Qgcj1vW2VdO251bGwhPXIucmVmJiZyLnJlZi5jdXJyZW50JiZ0LmRpc3BhdGNoQ29tbWFuZChVdyx7aW5kZXg6ZSxvcHRpb246cn0pLG4ucHJldmVudERlZmF1bHQoKSxuLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfXJldHVybiEwfSksYyksdC5yZWdpc3RlckNvbW1hbmQodnAsKGU9Pntjb25zdCB0PWU7aWYobnVsbCE9PW8mJm8ubGVuZ3RoJiZudWxsIT09dSl7Y29uc3QgZT0wIT09dT91LTE6by5sZW5ndGgtMTtoKGUpO2NvbnN0IG49b1tlXTtudWxsIT1uLnJlZiYmbi5yZWYuY3VycmVudCYmV3cobi5yZWYuY3VycmVudCksdC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9cmV0dXJuITB9KSxjKSx0LnJlZ2lzdGVyQ29tbWFuZChrcCwodD0+e2NvbnN0IG49dDtyZXR1cm4gbi5wcmV2ZW50RGVmYXVsdCgpLG4uc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksZSgpLCEwfSksYyksdC5yZWdpc3RlckNvbW1hbmQoQ3AsKGU9Pntjb25zdCB0PWU7cmV0dXJuIG51bGwhPT1vJiZudWxsIT09dSYmbnVsbCE9b1t1XSYmKHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLG0ob1t1XSksITApfSksYyksdC5yZWdpc3RlckNvbW1hbmQoeHAsKGU9Pm51bGwhPT1vJiZudWxsIT09dSYmbnVsbCE9b1t1XSYmKG51bGwhPT1lJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpLG0ob1t1XSksITApKSxjKSkpLFttLGUsdCxvLHUsaCxjXSksaShuLCgwLGEudXNlTWVtbykoKCgpPT4oe29wdGlvbnM6byxzZWxlY3RPcHRpb25BbmRDbGVhblVwOm0sc2VsZWN0ZWRJbmRleDp1LHNldEhpZ2hsaWdodGVkSW5kZXg6ZH0pKSxbbSx1LG9dKSxyLm1hdGNoP3IubWF0Y2gubWF0Y2hpbmdTdHJpbmc6XCJcIil9ZnVuY3Rpb24gWXcoe29wdGlvbnM6ZSxvblF1ZXJ5Q2hhbmdlOnQsb25TZWxlY3RPcHRpb246bixvbk9wZW46cixvbkNsb3NlOm8sbWVudVJlbmRlckZuOmksdHJpZ2dlckZuOnMsYW5jaG9yQ2xhc3NOYW1lOmMsY29tbWFuZFByaW9yaXR5OnU9RngscGFyZW50OmR9KXtjb25zdFtmXT1KaCgpLFttLGhdPSgwLGEudXNlU3RhdGUpKG51bGwpLHA9ZnVuY3Rpb24oZSx0LG4scj1kb2N1bWVudC5ib2R5KXtjb25zdFtvXT1KaCgpLGk9KDAsYS51c2VSZWYpKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpLHM9KDAsYS51c2VDYWxsYmFjaykoKCgpPT57aS5jdXJyZW50LnN0eWxlLnRvcD1pLmN1cnJlbnQuc3R5bGUuYm90dG9tO2NvbnN0IHQ9by5nZXRSb290RWxlbWVudCgpLHM9aS5jdXJyZW50LGE9cy5maXJzdENoaWxkO2lmKG51bGwhPT10JiZudWxsIT09ZSl7Y29uc3R7bGVmdDpvLHRvcDpsLHdpZHRoOmMsaGVpZ2h0OnV9PWUuZ2V0UmVjdCgpLGQ9aS5jdXJyZW50Lm9mZnNldEhlaWdodDtpZihzLnN0eWxlLnRvcD1gJHtsK3dpbmRvdy5wYWdlWU9mZnNldCtkKzN9cHhgLHMuc3R5bGUubGVmdD1gJHtvK3dpbmRvdy5wYWdlWE9mZnNldH1weGAscy5zdHlsZS5oZWlnaHQ9YCR7dX1weGAscy5zdHlsZS53aWR0aD1gJHtjfXB4YCxudWxsIT09YSl7YS5zdHlsZS50b3A9YCR7bH1gO2NvbnN0IGU9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPWUuaGVpZ2h0LHI9ZS53aWR0aCxpPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bytyPmkucmlnaHQmJihzLnN0eWxlLmxlZnQ9YCR7aS5yaWdodC1yK3dpbmRvdy5wYWdlWE9mZnNldH1weGApLChsK24+d2luZG93LmlubmVySGVpZ2h0fHxsK24+aS5ib3R0b20pJiZsLWkudG9wPm4rdSYmKHMuc3R5bGUudG9wPWwtbit3aW5kb3cucGFnZVlPZmZzZXQtdStcInB4XCIpfXMuaXNDb25uZWN0ZWR8fChudWxsIT1uJiYocy5jbGFzc05hbWU9bikscy5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsXCJUeXBlYWhlYWQgbWVudVwiKSxzLnNldEF0dHJpYnV0ZShcImlkXCIsXCJ0eXBlYWhlYWQtbWVudVwiKSxzLnNldEF0dHJpYnV0ZShcInJvbGVcIixcImxpc3Rib3hcIikscy5zdHlsZS5kaXNwbGF5PVwiYmxvY2tcIixzLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixyLmFwcGVuZChzKSksaS5jdXJyZW50PXMsdC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWNvbnRyb2xzXCIsXCJ0eXBlYWhlYWQtbWVudVwiKX19KSxbbyxlLG4scl0pOygwLGEudXNlRWZmZWN0KSgoKCk9Pntjb25zdCB0PW8uZ2V0Um9vdEVsZW1lbnQoKTtpZihudWxsIT09ZSlyZXR1cm4gcygpLCgpPT57bnVsbCE9PXQmJnQucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1jb250cm9sc1wiKTtjb25zdCBlPWkuY3VycmVudDtudWxsIT09ZSYmZS5pc0Nvbm5lY3RlZCYmZS5yZW1vdmUoKX19KSxbbyxzLGVdKTtjb25zdCBsPSgwLGEudXNlQ2FsbGJhY2spKChuPT57bnVsbCE9PWUmJihufHx0KG51bGwpKX0pLFtlLHRdKTtyZXR1cm4gZnVuY3Rpb24oZSx0LG4scil7Y29uc3Rbb109SmgoKTsoMCxhLnVzZUVmZmVjdCkoKCgpPT57aWYobnVsbCE9dCYmbnVsbCE9ZSl7Y29uc3QgZT1vLmdldFJvb3RFbGVtZW50KCksaT1udWxsIT1lP2Z1bmN0aW9uKGUpe2xldCB0PWdldENvbXB1dGVkU3R5bGUoZSk7Y29uc3Qgbj1cImFic29sdXRlXCI9PT10LnBvc2l0aW9uLHI9LyhhdXRvfHNjcm9sbCkvO2lmKFwiZml4ZWRcIj09PXQucG9zaXRpb24pcmV0dXJuIGRvY3VtZW50LmJvZHk7Zm9yKGxldCBvPWU7bz1vLnBhcmVudEVsZW1lbnQ7KWlmKHQ9Z2V0Q29tcHV0ZWRTdHlsZShvKSwoIW58fFwic3RhdGljXCIhPT10LnBvc2l0aW9uKSYmci50ZXN0KHQub3ZlcmZsb3crdC5vdmVyZmxvd1krdC5vdmVyZmxvd1gpKXJldHVybiBvO3JldHVybiBkb2N1bWVudC5ib2R5fShlKTpkb2N1bWVudC5ib2R5O2xldCBzPSExLGE9VncodCxpKTtjb25zdCBsPWZ1bmN0aW9uKCl7c3x8KHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7bigpLHM9ITF9KSkscz0hMCk7Y29uc3QgZT1Wdyh0LGkpO2UhPT1hJiYoYT1lLG51bGwhPXImJnIoZSkpfSxjPW5ldyBSZXNpemVPYnNlcnZlcihuKTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIixuKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsbCx7Y2FwdHVyZTohMCxwYXNzaXZlOiEwfSksYy5vYnNlcnZlKHQpLCgpPT57Yy51bm9ic2VydmUodCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIixuKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsbCwhMCl9fX0pLFt0LG8scixuLGVdKX0oZSxpLmN1cnJlbnQscyxsKSxpfShtLGgsYyxkKSxnPSgwLGEudXNlQ2FsbGJhY2spKCgoKT0+e2gobnVsbCksbnVsbCE9byYmbnVsbCE9PW0mJm8oKX0pLFtvLG1dKSx5PSgwLGEudXNlQ2FsbGJhY2spKChlPT57aChlKSxudWxsIT1yJiZudWxsPT09bSYmcihlKX0pLFtyLG1dKTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT1mLnJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIoKCgpPT57Zi5nZXRFZGl0b3JTdGF0ZSgpLnJlYWQoKCgpPT57Y29uc3QgZT1mLl93aW5kb3d8fHdpbmRvdyxuPWUuZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxyPUhiKCksbz1mdW5jdGlvbihlKXtsZXQgdD1udWxsO3JldHVybiBlLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKCk9Pntjb25zdCBlPUhiKCk7RGIoZSkmJih0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5hbmNob3I7aWYoXCJ0ZXh0XCIhPT10LnR5cGUpcmV0dXJuIG51bGw7Y29uc3Qgbj10LmdldE5vZGUoKTtpZighbi5pc1NpbXBsZVRleHQoKSlyZXR1cm4gbnVsbDtjb25zdCByPXQub2Zmc2V0O3JldHVybiBuLmdldFRleHRDb250ZW50KCkuc2xpY2UoMCxyKX0oZSkpfSkpLHR9KGYpO2lmKCFEYihyKXx8IXIuaXNDb2xsYXBzZWQoKXx8bnVsbD09PW98fG51bGw9PT1uKXJldHVybiB2b2lkIGcoKTtjb25zdCBpPXMobyxmKTtpZih0KGk/aS5tYXRjaGluZ1N0cmluZzpudWxsKSxudWxsIT09aSYmIWZ1bmN0aW9uKGUsdCl7cmV0dXJuIDA9PT10JiZlLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKCk9Pntjb25zdCBlPUhiKCk7aWYoRGIoZSkpe2NvbnN0IHQ9ZS5hbmNob3IuZ2V0Tm9kZSgpLmdldFByZXZpb3VzU2libGluZygpO3JldHVybiBrYih0KSYmdC5pc1RleHRFbnRpdHkoKX1yZXR1cm4hMX0pKX0oZixpLmxlYWRPZmZzZXQpKXtjb25zdCB0PWZ1bmN0aW9uKGUsdCxuKXtjb25zdCByPW4uZ2V0U2VsZWN0aW9uKCk7aWYobnVsbD09PXJ8fCFyLmlzQ29sbGFwc2VkKXJldHVybiExO2NvbnN0IG89ci5hbmNob3JOb2RlLGk9ZSxzPXIuYW5jaG9yT2Zmc2V0O2lmKG51bGw9PW98fG51bGw9PXMpcmV0dXJuITE7dHJ5e3Quc2V0U3RhcnQobyxpKSx0LnNldEVuZChvLHMpfWNhdGNoKGUpe3JldHVybiExfXJldHVybiEwfShpLmxlYWRPZmZzZXQsbixlKTtpZihudWxsIT09dClyZXR1cm4gYT0oKT0+eSh7Z2V0UmVjdDooKT0+bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxtYXRjaDppfSksdm9pZCh6dyBpbiBsKCk/bCgpW3p3XShhKTphKCkpfXZhciBhO2coKX0pKX0pKTtyZXR1cm4oKT0+e2UoKX19KSxbZixzLHQsbSxnLHldKSxudWxsPT09bXx8bnVsbD09PWY/bnVsbDooMCxtdS5qc3gpKCR3LHtjbG9zZTpnLHJlc29sdXRpb246bSxlZGl0b3I6ZixhbmNob3JFbGVtZW50UmVmOnAsb3B0aW9uczplLG1lbnVSZW5kZXJGbjppLHNob3VsZFNwbGl0Tm9kZVdpdGhRdWVyeTohMCxvblNlbGVjdE9wdGlvbjpuLGNvbW1hbmRQcmlvcml0eTp1fSl9ZnVuY3Rpb24gSHcoZSl7cmV0dXJuIEh3PVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlP1wic3ltYm9sXCI6dHlwZW9mIGV9LEh3KGUpfWZ1bmN0aW9uIEt3KGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1BcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgcXc9ZnVuY3Rpb24oZSl7c3dpdGNoKGUpe2Nhc2VcInNtXCI6cmV0dXJuXCJ4c1wiO2Nhc2VcIm1kXCI6ZGVmYXVsdDpyZXR1cm5cInNtXCI7Y2FzZVwibGdcIjpyZXR1cm5cIm1kXCJ9fSxHdz1mdW5jdGlvbihlKXt2YXIgdD1lLmRhdGEsbj1lLmJ5LHI9ZS5zaXplLG89ZS5ub2RlS2V5LGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0oZSl8fGZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09ZT9udWxsOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVtcIkBAaXRlcmF0b3JcIl07aWYobnVsbCE9bil7dmFyIHIsbyxpLHMsYT1bXSxsPSEwLGM9ITE7dHJ5e2lmKGk9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtsPSExfWVsc2UgZm9yKDshKGw9KHI9aS5jYWxsKG4pKS5kb25lKSYmKGEucHVzaChyLnZhbHVlKSxhLmxlbmd0aCE9PXQpO2w9ITApO31jYXRjaChlKXtjPSEwLG89ZX1maW5hbGx5e3RyeXtpZighbCYmbnVsbCE9bi5yZXR1cm4mJihzPW4ucmV0dXJuKCksT2JqZWN0KHMpIT09cykpcmV0dXJufWZpbmFsbHl7aWYoYyl0aHJvdyBvfX1yZXR1cm4gYX19KGUsdCl8fGZ1bmN0aW9uKGUsdCl7aWYoZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpcmV0dXJuIEt3KGUsdCk7dmFyIG49e30udG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTtyZXR1cm5cIk9iamVjdFwiPT09biYmZS5jb25zdHJ1Y3RvciYmKG49ZS5jb25zdHJ1Y3Rvci5uYW1lKSxcIk1hcFwiPT09bnx8XCJTZXRcIj09PW4/QXJyYXkuZnJvbShlKTpcIkFyZ3VtZW50c1wiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/S3coZSx0KTp2b2lkIDB9fShlLHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIil9KCl9KEpoKCksMSlbMF0scz0haS5pc0VkaXRhYmxlKCksbD10O1wib2JqZWN0XCI9PT1Idyh0KSYmKGw9dFtuXSk7dmFyIGM9KDAsYS51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKGUpe3ZhciB0PW95KG8pO2lmKCF0fHwhdC5pc1NlbGVjdGVkKCkpcmV0dXJuITE7dmFyIG49ITEscj10LmdldFByZXZpb3VzU2libGluZygpO3JldHVybiBreChyKSYmKHIuc2VsZWN0RW5kKCksbj0hMCksa2IocikmJihyLnNlbGVjdCgpLG49ITApLFB4KHIpJiYoci5zZWxlY3ROZXh0KCksbj0hMCksbnVsbD09PXImJih0LnNlbGVjdFByZXZpb3VzKCksbj0hMCksbiYmZS5wcmV2ZW50RGVmYXVsdCgpLG59KSxbb10pLHU9KDAsYS51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKGUpe3ZhciB0PW95KG8pO2lmKCF0fHwhdC5pc1NlbGVjdGVkKCkpcmV0dXJuITE7dmFyIG49ITEscj10LmdldE5leHRTaWJsaW5nKCk7cmV0dXJuIGt4KHIpJiYoci5zZWxlY3RTdGFydCgpLG49ITApLGtiKHIpJiYoci5zZWxlY3QoMCwwKSxuPSEwKSxQeChyKSYmKHIuc2VsZWN0UHJldmlvdXMoKSxuPSEwKSxudWxsPT09ciYmKHQuc2VsZWN0TmV4dCgpLG49ITApLG4mJmUucHJldmVudERlZmF1bHQoKSxufSksW29dKTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKGZ1bmN0aW9uKCl7dmFyIGU9WHgoaS5yZWdpc3RlckNvbW1hbmQoZ3AsYyxGeCksaS5yZWdpc3RlckNvbW1hbmQoaHAsdSxGeCkpO3JldHVybiBmdW5jdGlvbigpe2UoKX19KSxbaSxjLHVdKSxSZWFjdC5jcmVhdGVFbGVtZW50KFpvLHtjbGFzc05hbWU6XCJpbmxpbmUtZmxleCBtci0wLjVcIix0eXBlOlwicm91bmRlZFwiLHNpemU6cXcociksbGFiZWw6bCxpY29uOm51bGwsY2xvc2FibGU6ITAsb25DbG9zZTpmdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbigpLGUucHJldmVudERlZmF1bHQoKSxzfHxpLnVwZGF0ZSgoZnVuY3Rpb24oKXt2YXIgZT1veShvKTtlJiZlLnJlbW92ZSgpfSkpfSxkaXNhYmxlZDpzfSl9O2Z1bmN0aW9uIFh3KGUpe3JldHVybiBYdz1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJlwic3ltYm9sXCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT9cInN5bWJvbFwiOnR5cGVvZiBlfSxYdyhlKX1mdW5jdGlvbiBadyhlLHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLFwidmFsdWVcImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyUyhyLmtleSkscil9fWZ1bmN0aW9uIEp3KGUsdCxuKXtyZXR1cm4gdD1lUyh0KSxmdW5jdGlvbihlLHQpe2lmKHQmJihcIm9iamVjdFwiPT1Ydyh0KXx8XCJmdW5jdGlvblwiPT10eXBlb2YgdCkpcmV0dXJuIHQ7aWYodm9pZCAwIT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiRGVyaXZlZCBjb25zdHJ1Y3RvcnMgbWF5IG9ubHkgcmV0dXJuIG9iamVjdCBvciB1bmRlZmluZWRcIik7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKHZvaWQgMD09PWUpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpO3JldHVybiBlfShlKX0oZSxRdygpP1JlZmxlY3QuY29uc3RydWN0KHQsbnx8W10sZVMoZSkuY29uc3RydWN0b3IpOnQuYXBwbHkoZSxuKSl9ZnVuY3Rpb24gUXcoKXt0cnl7dmFyIGU9IUJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLFtdLChmdW5jdGlvbigpe30pKSl9Y2F0Y2goZSl7fXJldHVybihRdz1mdW5jdGlvbigpe3JldHVybiEhZX0pKCl9ZnVuY3Rpb24gZVMoZSl7cmV0dXJuIGVTPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3QuZ2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGUpe3JldHVybiBlLl9fcHJvdG9fX3x8T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpfSxlUyhlKX1mdW5jdGlvbiB0UyhlLHQpe3JldHVybiB0Uz1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihlLHQpe3JldHVybiBlLl9fcHJvdG9fXz10LGV9LHRTKGUsdCl9ZnVuY3Rpb24gblMoZSx0LG4pe3JldHVybih0PXJTKHQpKWluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6bixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbdF09bixlfWZ1bmN0aW9uIHJTKGUpe3ZhciB0PWZ1bmN0aW9uKGUpe2lmKFwib2JqZWN0XCIhPVh3KGUpfHwhZSlyZXR1cm4gZTt2YXIgdD1lW1N5bWJvbC50b1ByaW1pdGl2ZV07aWYodm9pZCAwIT09dCl7dmFyIG49dC5jYWxsKGUsXCJzdHJpbmdcIik7aWYoXCJvYmplY3RcIiE9WHcobikpcmV0dXJuIG47dGhyb3cgbmV3IFR5cGVFcnJvcihcIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuXCIpfXJldHVybiBTdHJpbmcoZSl9KGUpO3JldHVyblwic3ltYm9sXCI9PVh3KHQpP3Q6dCtcIlwifXZhciBvUz1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUsbixyLG8pe3ZhciBpO3JldHVybiBmdW5jdGlvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9KHRoaXMsdCksblMoaT1Kdyh0aGlzLHQsW29dKSxcIl9fZGF0YVwiLHZvaWQgMCksblMoaSxcIl9fYnlcIix2b2lkIDApLG5TKGksXCJfX3NpemVcIix2b2lkIDApLGkuX19kYXRhPWUsaS5fX2J5PW4saS5fX3NpemU9cixpfXJldHVybiBmdW5jdGlvbihlLHQpe2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIHQmJm51bGwhPT10KXRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTtlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6ZSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJwcm90b3R5cGVcIix7d3JpdGFibGU6ITF9KSx0JiZ0UyhlLHQpfSh0LGUpLGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdCYmWncoZS5wcm90b3R5cGUsdCksbiYmWncoZSxuKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcInByb3RvdHlwZVwiLHt3cml0YWJsZTohMX0pLGV9KHQsW3trZXk6XCJjcmVhdGVET01cIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3BhblwiKX19LHtrZXk6XCJ1cGRhdGVET01cIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiExfX0se2tleTpcImV4cG9ydERPTVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue2VsZW1lbnQ6ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIil9fX0se2tleTpcImV4cG9ydEpTT05cIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybnt0eXBlOnQuZ2V0VHlwZSgpLGRhdGE6dGhpcy5fX2RhdGEsYnk6dGhpcy5fX2J5LHNpemU6dGhpcy5fX3NpemUsdmVyc2lvbjoxfX19LHtrZXk6XCJkZWNvcmF0ZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoR3cse2RhdGE6dGhpcy5fX2RhdGEsYnk6dGhpcy5fX2J5LHNpemU6dGhpcy5fX3NpemUsbm9kZUtleTp0aGlzLl9fa2V5fSl9fV0sW3trZXk6XCJnZXRUeXBlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm5cIm1lbnRpb25cIn19LHtrZXk6XCJjbG9uZVwiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgdChlLl9fZGF0YSxlLl9fYnksZS5fX3NpemUsZS5fX2tleSl9fSx7a2V5OlwiaW1wb3J0SlNPTlwiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBpUyhlLmRhdGEsZS5ieSxlLnNpemUpfX1dKX0oQ3gpLGlTPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbmV3IG9TKGUsdCxuKX0sc1M9b1M7ZnVuY3Rpb24gYVMoZSl7cmV0dXJuIGFTPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlP1wic3ltYm9sXCI6dHlwZW9mIGV9LGFTKGUpfWZ1bmN0aW9uIGxTKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsXCJ2YWx1ZVwiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGRTKHIua2V5KSxyKX19ZnVuY3Rpb24gY1MoZSx0LG4pe3JldHVybiB0JiZsUyhlLnByb3RvdHlwZSx0KSxuJiZsUyhlLG4pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwicHJvdG90eXBlXCIse3dyaXRhYmxlOiExfSksZX1mdW5jdGlvbiB1UyhlLHQsbil7cmV0dXJuKHQ9ZFModCkpaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1uLGV9ZnVuY3Rpb24gZFMoZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7aWYoXCJvYmplY3RcIiE9YVMoZSl8fCFlKXJldHVybiBlO3ZhciB0PWVbU3ltYm9sLnRvUHJpbWl0aXZlXTtpZih2b2lkIDAhPT10KXt2YXIgbj10LmNhbGwoZSxcInN0cmluZ1wiKTtpZihcIm9iamVjdFwiIT1hUyhuKSlyZXR1cm4gbjt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS5cIil9cmV0dXJuIFN0cmluZyhlKX0oZSk7cmV0dXJuXCJzeW1ib2xcIj09YVModCk/dDp0K1wiXCJ9dmFyIGZTPWNTKChmdW5jdGlvbiBlKHQpeyFmdW5jdGlvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9KHRoaXMsZSksdVModGhpcyxcImRhdGFcIix2b2lkIDApLHVTKHRoaXMsXCJyZWZcIix7Y3VycmVudDpudWxsfSksdGhpcy5kYXRhPXR9KSk7ZnVuY3Rpb24gbVMoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPUFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfXZhciBoUz1uZXcgTWFwLHBTPWZ1bmN0aW9uKGUsdCxuLHIpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dmFyIG89ZS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3ZhciBuO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXJldHVybiBlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModC50b0xvd2VyQ2FzZSgpKTt2YXIgbz1udWxsPT1lfHxudWxsPT09KG49ZVtyXSl8fHZvaWQgMD09PW4/dm9pZCAwOm4udG9TdHJpbmcoKTtyZXR1cm4hIW8mJm8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0LnRvTG93ZXJDYXNlKCkpfSkpO24obyl9KSw1MDApfSxnUz1mdW5jdGlvbihlLHQpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTpcIm5hbWVcIixyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDpcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbXCJAQGl0ZXJhdG9yXCJdO2lmKG51bGwhPW4pe3ZhciByLG8saSxzLGE9W10sbD0hMCxjPSExO3RyeXtpZihpPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47bD0hMX1lbHNlIGZvcig7IShsPShyPWkuY2FsbChuKSkuZG9uZSkmJihhLnB1c2goci52YWx1ZSksYS5sZW5ndGghPT10KTtsPSEwKTt9Y2F0Y2goZSl7Yz0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWwmJm51bGwhPW4ucmV0dXJuJiYocz1uLnJldHVybigpLE9iamVjdChzKSE9PXMpKXJldHVybn1maW5hbGx5e2lmKGMpdGhyb3cgb319cmV0dXJuIGF9fShlLHQpfHxmdW5jdGlvbihlLHQpe2lmKGUpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXJldHVybiBtUyhlLHQpO3ZhciBuPXt9LnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7cmV0dXJuXCJPYmplY3RcIj09PW4mJmUuY29uc3RydWN0b3ImJihuPWUuY29uc3RydWN0b3IubmFtZSksXCJNYXBcIj09PW58fFwiU2V0XCI9PT1uP0FycmF5LmZyb20oZSk6XCJBcmd1bWVudHNcIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP21TKGUsdCk6dm9pZCAwfX0oZSx0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpfSgpfSgoMCxhLnVzZVN0YXRlKShbXSksMiksbz1yWzBdLGk9clsxXTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKGZ1bmN0aW9uKCl7aWYobnVsbCE9PXQpe3ZhciByPWhTLmdldCh0KTtudWxsIT09ciYmKHZvaWQgMD09PXI/KGhTLnNldCh0LG51bGwpLHBTKGUsdCwoZnVuY3Rpb24oZSl7aFMuc2V0KHQsZSksaShlKX0pLG4pKTppKHIpKX1lbHNlIGkoW10pfSksW3RdKSxvfSx5Uz1bXCJzaXplXCIsXCJjaGlsZHJlblwiLFwic2VsZWN0ZWRcIixcImNsYXNzTmFtZVwiXTtmdW5jdGlvbiB2Uygpe3JldHVybiB2Uz1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LHZTLmFwcGx5KG51bGwsYXJndW1lbnRzKX12YXIgYlM9KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXt2YXIgbj1lLnNpemUscj1lLmNoaWxkcmVuLG89ZS5zZWxlY3RlZCxpPXZvaWQgMCE9PW8mJm8scz1lLmNsYXNzTmFtZSxhPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbixyLG89ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPXt9O2Zvcih2YXIgciBpbiBlKWlmKHt9Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSl7aWYodC5pbmNsdWRlcyhyKSljb250aW51ZTtuW3JdPWVbcl19cmV0dXJuIG59KGUsdCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKW49aVtyXSx0LmluY2x1ZGVzKG4pfHx7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsbikmJihvW25dPWVbbl0pfXJldHVybiBvfShlLHlTKTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImxpXCIsdlMoe3JvbGU6XCJvcHRpb25cIixyZWY6dCxjbGFzc05hbWU6b2UoXCJtLTAgdGV4dC10ZXh0LXByaW1hcnkgY3Vyc29yLXBvaW50ZXJcIixGd1tuXSxpJiZcImJnLWJ1dHRvbi10ZXJ0aWFyeS1ob3ZlclwiLHMpfSxhKSxyKX0pKTtiUy5kaXNwbGF5TmFtZT1cIkl0ZW1cIjt2YXIgeFM9T2JqZWN0LmFzc2lnbigoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zaXplLG49ZS5jbGFzc05hbWUscj1lLmNoaWxkcmVuO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwidWxcIix7cm9sZTpcIm1lbnVcIixjbGFzc05hbWU6b2UoXCJhYnNvbHV0ZSBpbnNldC14LTAgdG9wLWZ1bGwgbXQtMiBteC0wIG1iLTAgdy1mdWxsIGgtYXV0byBvdmVyZmxvdy15LWF1dG8gb3ZlcmZsb3cteC1oaWRkZW4gei0xMCBiZy1iYWNrZ3JvdW5kLXByaW1hcnkgYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItYm9yZGVyLXN1YnRsZSBzaGFkb3ctbGdcIixMd1t0XSxuKX0scil9KSx7SXRlbTpiU30pO2Z1bmN0aW9uIHdTKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDpcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbXCJAQGl0ZXJhdG9yXCJdO2lmKG51bGwhPW4pe3ZhciByLG8saSxzLGE9W10sbD0hMCxjPSExO3RyeXtpZihpPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47bD0hMX1lbHNlIGZvcig7IShsPShyPWkuY2FsbChuKSkuZG9uZSkmJihhLnB1c2goci52YWx1ZSksYS5sZW5ndGghPT10KTtsPSEwKTt9Y2F0Y2goZSl7Yz0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWwmJm51bGwhPW4ucmV0dXJuJiYocz1uLnJldHVybigpLE9iamVjdChzKSE9PXMpKXJldHVybn1maW5hbGx5e2lmKGMpdGhyb3cgb319cmV0dXJuIGF9fShlLHQpfHxmdW5jdGlvbihlLHQpe2lmKGUpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXJldHVybiBTUyhlLHQpO3ZhciBuPXt9LnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7cmV0dXJuXCJPYmplY3RcIj09PW4mJmUuY29uc3RydWN0b3ImJihuPWUuY29uc3RydWN0b3IubmFtZSksXCJNYXBcIj09PW58fFwiU2V0XCI9PT1uP0FycmF5LmZyb20oZSk6XCJBcmd1bWVudHNcIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP1NTKGUsdCk6dm9pZCAwfX0oZSx0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpfSgpfWZ1bmN0aW9uIFNTKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1BcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIga1M9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5vcHRpb25zQXJyYXksbj1lLmJ5LHI9dm9pZCAwPT09bj9cIm5hbWVcIjpuLG89ZS5zaXplLGk9dm9pZCAwPT09bz9cIm1kXCI6byxzPWUudHJpZ2dlcixsPXZvaWQgMD09PXM/XCJAXCI6cyxjPWUubWVudUNvbXBvbmVudCx1PXZvaWQgMD09PWM/eFM6YyxkPWUubWVudUl0ZW1Db21wb25lbnQsZj12b2lkIDA9PT1kP3hTLkl0ZW06ZCxtPWUuYXV0b1NwYWNlLGg9dm9pZCAwPT09bXx8bSxwPSgwLGEudXNlUmVmKSghMSksZz1cIlxcXFwuLFxcXFwrXFxcXCpcXFxcP1xcXFwkXFxcXEBcXFxcfCN7fVxcXFwoXFxcXClcXFxcXlxcXFwtXFxcXFtcXFxcXVxcXFxcXFxcLyElJ1xcXCJ+PTw+Xzo7XCIseT1bbF0uam9pbihcIlwiKSx2PVwiW15cIit5K2crXCJcXFxcc11cIixiPVwiKD86XFxcXC5bIHwkXXwgfFtcIitnK1wiXXwpXCIseD1uZXcgUmVnRXhwKFwiKF58XFxcXHN8XFxcXCgpKFtcIi5jb25jYXQoeSxcIl0oKD86XCIpLmNvbmNhdCh2KS5jb25jYXQoYixcIil7MCxcIikuY29uY2F0KDc1LFwifSkpJFwiKSksdz1uZXcgUmVnRXhwKFwiKF58XFxcXHN8XFxcXCgpKFtcIi5jb25jYXQoeSxcIl0oKD86XCIpLmNvbmNhdCh2LFwiKXswLFwiKS5jb25jYXQoNTAsXCJ9KSkkXCIpKSxTPXdTKEpoKCksMSlbMF0saz13UygoMCxhLnVzZVN0YXRlKShudWxsKSwyKSxFPWtbMF0sQz1rWzFdLF89Z1ModCxFLHIpLFA9KDAsYS51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKGUsdCxuKXtTLnVwZGF0ZSgoZnVuY3Rpb24oKXt2YXIgbz1pUyhlLmRhdGEscixpKTt0JiZ0LnJlcGxhY2UobyksbigpfSkpfSksW1NdKSxPPSgwLGEudXNlTWVtbykoKGZ1bmN0aW9uKCl7cmV0dXJuIF8ubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gbmV3IGZTKGUpfSkpfSksW1MsX10pLE49KDAsYS51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKGUpe2lmKCFoKXJldHVybiExO3ZhciB0PWUua2V5LG49ZS5jdHJsS2V5LHI9ZS5tZXRhS2V5O2lmKG58fHJ8fFwiIFwiPT09dHx8dC5sZW5ndGg+MXx8cC5jdXJyZW50KXJldHVybiBwLmN1cnJlbnQmJihwLmN1cnJlbnQ9ITEpLCExO3ZhciBvPUhiKCksaT1vLmZvY3VzLHM9by5hbmNob3IsYT13UyhvLmdldE5vZGVzKCksMSlbMF07aWYoIXN8fCFpfHwobnVsbD09cz92b2lkIDA6cy5rZXkpIT09KG51bGw9PWk/dm9pZCAwOmkua2V5KXx8KG51bGw9PXM/dm9pZCAwOnMub2Zmc2V0KSE9PShudWxsPT1pP3ZvaWQgMDppLm9mZnNldCl8fCFhKXJldHVybiExO2lmKGZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2Ygb1N9KGEpKXt2YXIgbD1TYihcIiBcIik7YS5pbnNlcnRBZnRlcihsKX19KSxbUyxsLGhdKSxUPSgwLGEudXNlQ2FsbGJhY2spKChmdW5jdGlvbihlKXtcIkJhY2tzcGFjZVwiPT09ZS5rZXkmJihwLmN1cnJlbnQ9ITApfSksW3BdKTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKGZ1bmN0aW9uKCl7aWYoUylyZXR1cm4gWHgoUy5yZWdpc3RlckNvbW1hbmQobXAsTixGeCksUy5yZWdpc3RlckNvbW1hbmQoU3AsVCxGeCkpfSksW1MsTl0pLFJlYWN0LmNyZWF0ZUVsZW1lbnQoWXcse29uUXVlcnlDaGFuZ2U6QyxvblNlbGVjdE9wdGlvbjpQLHRyaWdnZXJGbjpmdW5jdGlvbihlKXt2YXIgdD14LmV4ZWMoZSk7aWYobnVsbD09PXQmJih0PXcuZXhlYyhlKSksbnVsbCE9PXQpe3ZhciBuPXRbMV0scj10WzNdO2lmKHIubGVuZ3RoPj0wKXJldHVybntsZWFkT2Zmc2V0OnQuaW5kZXgrbi5sZW5ndGgsbWF0Y2hpbmdTdHJpbmc6cixyZXBsYWNlYWJsZVN0cmluZzp0WzJdfX1yZXR1cm4gbnVsbH0sb3B0aW9uczpPLG1lbnVSZW5kZXJGbjpmdW5jdGlvbihlLHQpe3ZhciBuPXQuc2VsZWN0ZWRJbmRleCxvPXQuc2VsZWN0T3B0aW9uQW5kQ2xlYW5VcCxzPXQuc2V0SGlnaGxpZ2h0ZWRJbmRleDtyZXR1cm4gZS5jdXJyZW50JiYhKG51bGw9PU98fCFPLmxlbmd0aCkmJlJlYWN0LmNyZWF0ZUVsZW1lbnQodSx7c2l6ZTppfSxPLm1hcCgoZnVuY3Rpb24oZSx0KXt2YXIgYTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChmLHtrZXk6dCxyZWY6ZS5yZWYsc2l6ZTppLHNlbGVjdGVkOnQ9PT1uLG9uTW91c2VFbnRlcjpmdW5jdGlvbigpe3ModCl9LG9uQ2xpY2s6ZnVuY3Rpb24oKXtyZXR1cm4gbyhlKX19LFwic3RyaW5nXCI9PXR5cGVvZiBlLmRhdGE/ZS5kYXRhOm51bGw9PT0oYT1lLmRhdGEpfHx2b2lkIDA9PT1hP3ZvaWQgMDphW3JdKX0pKSl9fSl9LEVTPXtsdHI6XCJsdHJcIixydGw6XCJydGxcIixwYXJhZ3JhcGg6XCJlZGl0b3ItcGFyYWdyYXBoXCIscXVvdGU6XCJlZGl0b3ItcXVvdGVcIixoZWFkaW5nOntoMTpcImVkaXRvci1oZWFkaW5nLWgxXCIsaDI6XCJlZGl0b3ItaGVhZGluZy1oMlwiLGgzOlwiZWRpdG9yLWhlYWRpbmctaDNcIixoNDpcImVkaXRvci1oZWFkaW5nLWg0XCIsaDU6XCJlZGl0b3ItaGVhZGluZy1oNVwiLGg2OlwiZWRpdG9yLWhlYWRpbmctaDZcIn0sbGlzdDp7bmVzdGVkOntsaXN0aXRlbTpcImVkaXRvci1uZXN0ZWQtbGlzdGl0ZW1cIn0sb2w6XCJlZGl0b3ItbGlzdC1vbFwiLHVsOlwiZWRpdG9yLWxpc3QtdWxcIixsaXN0aXRlbTpcImVkaXRvci1saXN0SXRlbVwiLGxpc3RpdGVtQ2hlY2tlZDpcImVkaXRvci1saXN0SXRlbUNoZWNrZWRcIixsaXN0aXRlbVVuY2hlY2tlZDpcImVkaXRvci1saXN0SXRlbVVuY2hlY2tlZFwifSxoYXNodGFnOlwiZWRpdG9yLWhhc2h0YWdcIixpbWFnZTpcImVkaXRvci1pbWFnZVwiLGxpbms6XCJlZGl0b3ItbGlua1wiLHRleHQ6e2JvbGQ6XCJlZGl0b3ItdGV4dEJvbGRcIixjb2RlOlwiZWRpdG9yLXRleHRDb2RlXCIsaXRhbGljOlwiZWRpdG9yLXRleHRJdGFsaWNcIixzdHJpa2V0aHJvdWdoOlwiZWRpdG9yLXRleHRTdHJpa2V0aHJvdWdoXCIsc3Vic2NyaXB0OlwiZWRpdG9yLXRleHRTdWJzY3JpcHRcIixzdXBlcnNjcmlwdDpcImVkaXRvci10ZXh0U3VwZXJzY3JpcHRcIix1bmRlcmxpbmU6XCJlZGl0b3ItdGV4dFVuZGVybGluZVwiLHVuZGVybGluZVN0cmlrZXRocm91Z2g6XCJlZGl0b3ItdGV4dFVuZGVybGluZVN0cmlrZXRocm91Z2hcIn0sY29kZTpcImVkaXRvci1jb2RlXCIsY29kZUhpZ2hsaWdodDp7YXRydWxlOlwiZWRpdG9yLXRva2VuQXR0clwiLGF0dHI6XCJlZGl0b3ItdG9rZW5BdHRyXCIsYm9vbGVhbjpcImVkaXRvci10b2tlblByb3BlcnR5XCIsYnVpbHRpbjpcImVkaXRvci10b2tlblNlbGVjdG9yXCIsY2RhdGE6XCJlZGl0b3ItdG9rZW5Db21tZW50XCIsY2hhcjpcImVkaXRvci10b2tlblNlbGVjdG9yXCIsY2xhc3M6XCJlZGl0b3ItdG9rZW5GdW5jdGlvblwiLFwiY2xhc3MtbmFtZVwiOlwiZWRpdG9yLXRva2VuRnVuY3Rpb25cIixjb21tZW50OlwiZWRpdG9yLXRva2VuQ29tbWVudFwiLGNvbnN0YW50OlwiZWRpdG9yLXRva2VuUHJvcGVydHlcIixkZWxldGVkOlwiZWRpdG9yLXRva2VuUHJvcGVydHlcIixkb2N0eXBlOlwiZWRpdG9yLXRva2VuQ29tbWVudFwiLGVudGl0eTpcImVkaXRvci10b2tlbk9wZXJhdG9yXCIsZnVuY3Rpb246XCJlZGl0b3ItdG9rZW5GdW5jdGlvblwiLGltcG9ydGFudDpcImVkaXRvci10b2tlblZhcmlhYmxlXCIsaW5zZXJ0ZWQ6XCJlZGl0b3ItdG9rZW5TZWxlY3RvclwiLGtleXdvcmQ6XCJlZGl0b3ItdG9rZW5BdHRyXCIsbmFtZXNwYWNlOlwiZWRpdG9yLXRva2VuVmFyaWFibGVcIixudW1iZXI6XCJlZGl0b3ItdG9rZW5Qcm9wZXJ0eVwiLG9wZXJhdG9yOlwiZWRpdG9yLXRva2VuT3BlcmF0b3JcIixwcm9sb2c6XCJlZGl0b3ItdG9rZW5Db21tZW50XCIscHJvcGVydHk6XCJlZGl0b3ItdG9rZW5Qcm9wZXJ0eVwiLHB1bmN0dWF0aW9uOlwiZWRpdG9yLXRva2VuUHVuY3R1YXRpb25cIixyZWdleDpcImVkaXRvci10b2tlblZhcmlhYmxlXCIsc2VsZWN0b3I6XCJlZGl0b3ItdG9rZW5TZWxlY3RvclwiLHN0cmluZzpcImVkaXRvci10b2tlblNlbGVjdG9yXCIsc3ltYm9sOlwiZWRpdG9yLXRva2VuUHJvcGVydHlcIix0YWc6XCJlZGl0b3ItdG9rZW5Qcm9wZXJ0eVwiLHVybDpcImVkaXRvci10b2tlbk9wZXJhdG9yXCIsdmFyaWFibGU6XCJlZGl0b3ItdG9rZW5WYXJpYWJsZVwifX0sQ1M9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jb250ZW50O3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcInBvaW50ZXItZXZlbnRzLW5vbmUgYWJzb2x1dGUgaW5zZXQtMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LXN0YXJ0IHRleHQtZmllbGQtcGxhY2Vob2xkZXJcIn0sdCl9O2Z1bmN0aW9uIF9TKGUpe2NvbnNvbGUuZXJyb3IoZSl9dmFyIFBTPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixvPWUuZGVmYXVsdFZhbHVlLGk9dm9pZCAwPT09bz9cIlwiOm8scz1lLnBsYWNlaG9sZGVyLGw9dm9pZCAwPT09cz9cIlByZXNzIEAgdG8gdmlldyB2YXJpYWJsZSBzdWdnZXN0aW9uc1wiOnMsYz1lLm9uQ2hhbmdlLHU9ZS5zaXplLGQ9dm9pZCAwPT09dT9cIm1kXCI6dSxmPWUuYXV0b0ZvY3VzLG09dm9pZCAwIT09ZiYmZixoPWUub3B0aW9ucyxwPXZvaWQgMD09PWg/W106aCxnPWUuYnkseT12b2lkIDA9PT1nP1wibmFtZVwiOmcsdj1lLnRyaWdnZXIsYj12b2lkIDA9PT12P1wiQFwiOnYseD1lLm1lbnVDb21wb25lbnQsdz1lLm1lbnVJdGVtQ29tcG9uZW50LFM9ZS5jbGFzc05hbWUsaz1lLndyYXBwZXJDbGFzc05hbWUsRT1lLmRpc2FibGVkLEM9dm9pZCAwIT09RSYmRSxfPWUuYXV0b1NwYWNlQWZ0ZXJNZW50aW9uLFA9dm9pZCAwIT09XyYmXyxPPXtuYW1lc3BhY2U6XCJFZGl0b3JcIixlZGl0b3JUaGVtZTpFUyxvbkVycm9yOl9TLG5vZGVzOltzU10sZWRpdG9yU3RhdGU6aXx8J3tcXG4gICAgXCJyb290XCI6IHtcXG4gICAgICAgIFwiY2hpbGRyZW5cIjogW1xcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgXCJjaGlsZHJlblwiOiBbXSxcXG4gICAgICAgICAgICAgICAgXCJkaXJlY3Rpb25cIjogbnVsbCxcXG4gICAgICAgICAgICAgICAgXCJmb3JtYXRcIjogXCJcIixcXG4gICAgICAgICAgICAgICAgXCJpbmRlbnRcIjogMCxcXG4gICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwicGFyYWdyYXBoXCIsXFxuICAgICAgICAgICAgICAgIFwidmVyc2lvblwiOiAxLFxcbiAgICAgICAgICAgICAgICBcInRleHRGb3JtYXRcIjogMCxcXG4gICAgICAgICAgICAgICAgXCJ0ZXh0U3R5bGVcIjogXCJcIlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIF0sXFxuICAgICAgICBcImRpcmVjdGlvblwiOiBudWxsLFxcbiAgICAgICAgXCJmb3JtYXRcIjogXCJcIixcXG4gICAgICAgIFwiaW5kZW50XCI6IDAsXFxuICAgICAgICBcInR5cGVcIjogXCJyb290XCIsXFxuICAgICAgICBcInZlcnNpb25cIjogMVxcbiAgICB9XFxufScsZWRpdGFibGU6IUN9O3JldHVybigwLGEuaXNWYWxpZEVsZW1lbnQpKHgpJiYobj14KSwoMCxhLmlzVmFsaWRFbGVtZW50KSh3KSYmKHI9dyksUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJyZWxhdGl2ZSB3LWZ1bGxcIixcImZvY3VzLXdpdGhpbjpyaW5nLTIgZm9jdXMtd2l0aGluOnJpbmctb2Zmc2V0LTIgaG92ZXI6Ym9yZGVyLWJvcmRlci1zdHJvbmcgZm9jdXMtd2l0aGluOiFib3JkZXItZm9jdXMtYm9yZGVyIGZvY3VzLXdpdGhpbjpyaW5nLWZvY3VzIHRyYW5zaXRpb24gZHVyYXRpb24tMTUwIGVhc2UtaW4tb3V0IG91dGxpbmUgb3V0bGluZS0xIG91dGxpbmUtZmllbGQtYm9yZGVyXCIsSXdbZF0sQyYmXCJiZy1maWVsZC1zZWNvbmRhcnktYmFja2dyb3VuZCBib3JkZXItZmllbGQtYm9yZGVyLWRpc2FibGVkIGhvdmVyOmJvcmRlci1maWVsZC1ib3JkZXItZGlzYWJsZWQgWyZfcF06dGV4dC1iYWRnZS1jb2xvci1kaXNhYmxlZCBjdXJzb3Itbm90LWFsbG93ZWRcIixrKX0sUmVhY3QuY3JlYXRlRWxlbWVudCgkeCx7aW5pdGlhbENvbmZpZzpPfSxSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcInJlbGF0aXZlIHctZnVsbCBbJl9wXTptLTBcIn0sUmVhY3QuY3JlYXRlRWxlbWVudChmdyx7Y29udGVudEVkaXRhYmxlOlJlYWN0LmNyZWF0ZUVsZW1lbnQoeXcse2NsYXNzTmFtZTpvZShcImVkaXRvci1jb250ZW50IGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIG91dGxpbmUtbm9uZVwiLFwidy1mdWxsIFsmPnBdOnctZnVsbCBbJj5wXTptLTBcIixTKX0pLHBsYWNlaG9sZGVyOlJlYWN0LmNyZWF0ZUVsZW1lbnQoQ1Mse2NvbnRlbnQ6bH0pLEVycm9yQm91bmRhcnk6Und9KSksUmVhY3QuY3JlYXRlRWxlbWVudChPdyxudWxsKSxSZWFjdC5jcmVhdGVFbGVtZW50KGtTLHttZW51Q29tcG9uZW50Om4sbWVudUl0ZW1Db21wb25lbnQ6cixzaXplOmQsYnk6eSxvcHRpb25zQXJyYXk6cCx0cmlnZ2VyOmIsYXV0b1NwYWNlOlB9KSxSZWFjdC5jcmVhdGVFbGVtZW50KGp3LHtvbkNoYW5nZTpmdW5jdGlvbihlLHQpe1wiZnVuY3Rpb25cIj09dHlwZW9mIGMmJmMoZSx0KX0saWdub3JlU2VsZWN0aW9uQ2hhbmdlOiEwfSksdCYmUmVhY3QuY3JlYXRlRWxlbWVudChBdyx7ZWRpdG9yUmVmOnR9KSxtJiZSZWFjdC5jcmVhdGVFbGVtZW50KFFoLG51bGwpKSl9LE9TPSgwLGEuZm9yd2FyZFJlZikoUFMpO09TLmRpc3BsYXlOYW1lPVwiRWRpdG9ySW5wdXRcIjt2YXIgTlM9T1M7Y29uc3QgVFM9a2UoXCJQbHVzXCIsW1tcInBhdGhcIix7ZDpcIk01IDEyaDE0XCIsa2V5OlwiMWF5czBoXCJ9XSxbXCJwYXRoXCIse2Q6XCJNMTIgNXYxNFwiLGtleTpcInM2OTlsZVwifV1dKTt2YXIgTVM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gb2UoXCJyb3VuZGVkLWZ1bGwgdGV4dC1icmFuZC1wcmltYXJ5LTYwMCB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0zMDBcIixlW3RdLmRvdCxlW3RdLnJpbmcpfSxSUz1bXCJ2YXJpYW50XCIsXCJzaXplXCIsXCJ0eXBlXCIsXCJjdXJyZW50U3RlcFwiLFwiY2hpbGRyZW5cIixcImNsYXNzTmFtZVwiLFwibGluZVByb3BzXCJdLERTPVtcImxhYmVsVGV4dFwiLFwiaWNvblwiLFwic3RlcENsYXNzZXNcIixcImlzQ3VycmVudFwiLFwiaXNDb21wbGV0ZWRcIixcImNsYXNzTmFtZVwiLFwidHlwZVwiLFwidmFyaWFudFwiLFwic2l6ZUNsYXNzZXNcIixcInNpemVcIixcImlzTGFzdFwiLFwiaW5kZXhcIixcImxpbmVQcm9wc1wiXTtmdW5jdGlvbiBqUygpe3JldHVybiBqUz1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LGpTLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBBUyhlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG4scixvPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbj17fTtmb3IodmFyIHIgaW4gZSlpZih7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikpe2lmKHQuaW5jbHVkZXMocikpY29udGludWU7bltyXT1lW3JdfXJldHVybiBufShlLHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKyluPWlbcl0sdC5pbmNsdWRlcyhuKXx8e30ucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLG4pJiYob1tuXT1lW25dKX1yZXR1cm4gb312YXIgSVM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS52YXJpYW50LG49dm9pZCAwPT09dD9cImRvdFwiOnQscj1lLnNpemUsbz12b2lkIDA9PT1yP1wic21cIjpyLGk9ZS50eXBlLHM9dm9pZCAwPT09aT9cImlubGluZVwiOmksYT1lLmN1cnJlbnRTdGVwLGM9dm9pZCAwPT09YT8xOmEsdT1lLmNoaWxkcmVuLGQ9ZS5jbGFzc05hbWUsZj1lLmxpbmVQcm9wcyxtPXZvaWQgMD09PWY/XCJtaW4tdy0xMFwiOmYsaD1BUyhlLFJTKSxwPWwoKS5DaGlsZHJlbi5jb3VudCh1KSxnPXtzbTp7ZG90Olwic2l6ZS0yLjVcIixyaW5nOlwic2l6ZS01XCIsbnVtYmVySWNvbjpcInNpemUtNSB0ZXh0LXRpbnlcIixpY29uOlwic2l6ZS01XCIsbGFiZWw6XCJ0ZXh0LXhzXCJ9LG1kOntkb3Q6XCJzaXplLTNcIixyaW5nOlwic2l6ZS02XCIsbnVtYmVySWNvbjpcInNpemUtNiB0ZXh0LXNtXCIsaWNvbjpcInNpemUtNlwiLGxhYmVsOlwidGV4dC1zbVwifSxsZzp7ZG90Olwic2l6ZS0zLjVcIixyaW5nOlwic2l6ZS03XCIsbnVtYmVySWNvbjpcInNpemUtNyB0ZXh0LW1kXCIsaWNvbjpcInNpemUtN1wiLGxhYmVsOlwidGV4dC1zbVwifX0seT1sKCkuQ2hpbGRyZW4ubWFwKHUsKGZ1bmN0aW9uKGUsdCl7dmFyIHI9e2lzQ29tcGxldGVkOnQrMTxjLGlzQ3VycmVudDp0KzE9PT1jLHNpemVDbGFzc2VzOmcsc2l6ZTpvLHZhcmlhbnQ6bix0eXBlOnMsaXNMYXN0OnQrMT09PXAsaW5kZXg6dCxsaW5lUHJvcHM6bX07cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KGwoKS5GcmFnbWVudCx7a2V5OnR9LGwoKS5jbG9uZUVsZW1lbnQoZSxyKSl9KSk7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIsalMoe2NsYXNzTmFtZTpvZShcImZsZXggdy1mdWxsXCIsZCxcImlubGluZVwiPT09cz9cIml0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIjpcIlwiKX0saCkseSl9LExTPWZ1bmN0aW9uKGUpe3ZhciB0PWUubGFiZWxUZXh0LG49dm9pZCAwPT09dD9cIlwiOnQscj1lLmljb24sbz12b2lkIDA9PT1yP2woKS5jcmVhdGVFbGVtZW50KFRTLG51bGwpOnIsaT0oZS5zdGVwQ2xhc3NlcyxlLmlzQ3VycmVudCkscz1lLmlzQ29tcGxldGVkLGE9ZS5jbGFzc05hbWUsYz1lLnR5cGUsdT1lLnZhcmlhbnQsZD1lLnNpemVDbGFzc2VzLGY9ZS5zaXplLG09ZS5pc0xhc3QsaD1lLmluZGV4LHA9ZS5saW5lUHJvcHMsZz1BUyhlLERTKSx5PUZTKHUscyxpLGQsZixvLGgpLHY9e2xnOlwibGVmdC1bY2FsYyg1MCUrMTRweCldIHJpZ2h0LVtjYWxjKC01MCUrMTRweCldXCIsbWQ6XCJsZWZ0LVtjYWxjKDUwJSsxMnB4KV0gcmlnaHQtW2NhbGMoLTUwJSsxMnB4KV1cIixzbTpcImxlZnQtW2NhbGMoNTAlKzEwcHgpXSByaWdodC1bY2FsYygtNTAlKzEwcHgpXVwifSxiPXtsZzpcInRvcC0zLjVcIixtZDpcInRvcC0zXCIsc206XCJ0b3AtMi41XCJ9LHg9ZnVuY3Rpb24oKXtpZihuKXt2YXIgZT1vZShkW2ZdLmxhYmVsLFwidGV4dC10ZXh0LXRlcnRpYXJ5XCIsaT9cInRleHQtYnJhbmQtcHJpbWFyeS02MDBcIjpcIlwiLFwiYnJlYWstd29yZFwiLFwic3RhY2tcIj09PWM/XCJtdC0yIHRyYW5zZm9ybSBtYXgtdy14c1wiOlwibXgtMiBtYXgtdy0zMlwiKTtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse2NsYXNzTmFtZTplfSxuKX1yZXR1cm4gbnVsbH0sdz1mdW5jdGlvbigpe2lmKCFtKXt2YXIgZT1vZShcImJsb2NrXCIscz9cImJvcmRlci1icmFuZC1wcmltYXJ5LTYwMFwiOlwiYm9yZGVyLWJvcmRlci1zdWJ0bGVcIixwKTtyZXR1cm5cInN0YWNrXCI9PT1jP2woKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcInJlbGF0aXZlXCIsXCJmbGV4XCIsXCJib3JkZXItc29saWRcIixcImJvcmRlci15XCIsXCJhYnNvbHV0ZVwiLHM/XCJib3JkZXItYnJhbmQtcHJpbWFyeS02MDBcIjpcImJvcmRlci1ib3JkZXItc3VidGxlXCIsYltmXSx2W2ZdKX0sbCgpLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse2NsYXNzTmFtZTpcImJsb2NrXCJ9KSk6bCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwiZmxleC0xXCJ9LGwoKS5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6b2UoZSxcIm1yLTIgYm9yZGVyLXkgYm9yZGVyLXNvbGlkXCIsIW4mJlwibWwtMlwiKX0pKX1yZXR1cm4gbnVsbH07cmV0dXJuXCJzdGFja1wiPT09Yz9sKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6XCJyZWxhdGl2ZSBmbGV4LTEganVzdGlmeS1jZW50ZXJcIn0sbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIixqUyh7Y2xhc3NOYW1lOm9lKFwiZmxleCBpdGVtcy1jZW50ZXIgZmxleC1jb2xcIixhKX0sZykseSx4KCkpLHcoKSk6bCgpLmNyZWF0ZUVsZW1lbnQobCgpLkZyYWdtZW50LG51bGwsbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIixqUyh7Y2xhc3NOYW1lOm9lKFwiZmxleCBpdGVtcy1jZW50ZXJcIixhKX0sZykseSx4KCkpLHcoKSl9O0xTLmRpc3BsYXlOYW1lPVwiUHJvZ3Jlc3NTdGVwcy5TdGVwXCI7dmFyIEZTPWZ1bmN0aW9uKGUsdCxuLHIsbyxpLHMpe2lmKHQpcmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KENlLHtjbGFzc05hbWU6TVMocixvKX0pO3ZhciBhPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gb2UoXCJyZWxhdGl2ZSBmbGV4IGl0ZW1zLWNlbnRlciByb3VuZGVkLWZ1bGwganVzdGlmeS1jZW50ZXIgdHJhbnNpdGlvbi1jb2xvcnMgei0xMCBkdXJhdGlvbi01MDAgcmluZy0xXCIsZT9cInJpbmctYnJhbmQtcHJpbWFyeS02MDBcIjpcInJpbmctYm9yZGVyLXN1YnRsZVwiLHRbbl0ucmluZyl9KG4scixvKSxjPWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPVwiYWJzb2x1dGUgcm91bmRlZC1mdWxsIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTUwMCBcIi5jb25jYXQobltyXS5kb3QpO3JldHVyblwiZG90XCI9PT1lP29lKG8sbltyXS5kb3QsdD9cImJnLWJyYW5kLXByaW1hcnktNjAwXCI6XCJiZy10ZXh0LXRlcnRpYXJ5XCIpOlwibnVtYmVyXCI9PT1lP29lKG8sbltyXS5kb3QsdD9cInRleHQtYnJhbmQtcHJpbWFyeS02MDBcIjpcInRleHQtdGV4dC10ZXJ0aWFyeVwiLFwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIik6XCJpY29uXCI9PT1lP29lKG8sdD9cInRleHQtYnJhbmQtcHJpbWFyeS02MDBcIjpcInRleHQtdGV4dC10ZXJ0aWFyeVwiLFwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIik6XCJcIn0oZSxuLHIsbyksdT1udWxsO3JldHVyblwibnVtYmVyXCI9PT1lP3U9cysxOlwiaWNvblwiPT09ZSYmaSYmKHU9aSksbCgpLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse2NsYXNzTmFtZTphfSxsKCkuY3JlYXRlRWxlbWVudChcInNwYW5cIix7Y2xhc3NOYW1lOmN9LHUpKX07SVMuU3RlcD1MUzt2YXIgelM9SVMsQlM9W1widmFyaWFudFwiLFwiY2xhc3NOYW1lXCJdO2Z1bmN0aW9uIFdTKCl7cmV0dXJuIFdTPU9iamVjdC5hc3NpZ24/T2JqZWN0LmFzc2lnbi5iaW5kKCk6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKSh7fSkuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiYoZVtyXT1uW3JdKX1yZXR1cm4gZX0sV1MuYXBwbHkobnVsbCxhcmd1bWVudHMpfXZhciBWUz1mdW5jdGlvbihlKXt2YXIgdCxuLHI9ZS52YXJpYW50LG89dm9pZCAwPT09cj9cInJlY3Rhbmd1bGFyXCI6cixpPWUuY2xhc3NOYW1lLHM9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuLHIsbz1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG49e307Zm9yKHZhciByIGluIGUpaWYoe30uaGFzT3duUHJvcGVydHkuY2FsbChlLHIpKXtpZih0LmluY2x1ZGVzKHIpKWNvbnRpbnVlO25bcl09ZVtyXX1yZXR1cm4gbn0oZSx0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO2ZvcihyPTA7cjxpLmxlbmd0aDtyKyspbj1pW3JdLHQuaW5jbHVkZXMobil8fHt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSxuKSYmKG9bbl09ZVtuXSl9cmV0dXJuIG99KGUsQlMpLGE9bnVsbD09PSh0PXtjaXJjdWxhcjpcInJvdW5kZWQtZnVsbCBiZy1ncmF5LTIwMCBcIixyZWN0YW5ndWxhcjpcInJvdW5kZWQtbWQgYmctZ3JheS0yMDBcIn0pfHx2b2lkIDA9PT10P3ZvaWQgMDp0W29dLGM9bnVsbD09PShuPXtjaXJjdWxhcjpcInNpemUtMTBcIixyZWN0YW5ndWxhcjpcInctOTYgaC0zXCJ9KXx8dm9pZCAwPT09bj92b2lkIDA6bltvXTtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIixXUyh7Y2xhc3NOYW1lOm9lKGEsXCJhbmltYXRlLXB1bHNlXCIsYyxpKX0scykpfTtmdW5jdGlvbiBVUyhlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlW1wiQEBpdGVyYXRvclwiXTtpZihudWxsIT1uKXt2YXIgcixvLGkscyxhPVtdLGw9ITAsYz0hMTt0cnl7aWYoaT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2w9ITF9ZWxzZSBmb3IoOyEobD0ocj1pLmNhbGwobikpLmRvbmUpJiYoYS5wdXNoKHIudmFsdWUpLGEubGVuZ3RoIT09dCk7bD0hMCk7fWNhdGNoKGUpe2M9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFsJiZudWxsIT1uLnJldHVybiYmKHM9bi5yZXR1cm4oKSxPYmplY3QocykhPT1zKSlyZXR1cm59ZmluYWxseXtpZihjKXRocm93IG99fXJldHVybiBhfX0oZSx0KXx8ZnVuY3Rpb24oZSx0KXtpZihlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSlyZXR1cm4gJFMoZSx0KTt2YXIgbj17fS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpO3JldHVyblwiT2JqZWN0XCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpLFwiTWFwXCI9PT1ufHxcIlNldFwiPT09bj9BcnJheS5mcm9tKGUpOlwiQXJndW1lbnRzXCI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT8kUyhlLHQpOnZvaWQgMH19KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKX1mdW5jdGlvbiAkUyhlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9QXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9dmFyIFlTPSgwLGEuY3JlYXRlQ29udGV4dCkoKSxIUz1mdW5jdGlvbigpe3JldHVybigwLGEudXNlQ29udGV4dCkoWVMpfSxLUz1mdW5jdGlvbihlKXt2YXIgdD1lLnNpemUsbj12b2lkIDA9PT10P1wibWRcIjp0LHI9ZS5jaGlsZHJlbixvPWUuY2xhc3NOYW1lO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChZUy5Qcm92aWRlcix7dmFsdWU6e3NpemU6bn19LGwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcImZsZXggZmxleC1jb2wgYmctYmFja2dyb3VuZC1wcmltYXJ5IHAtMlwiLG8pfSxyKSl9O0tTLmRpc3BsYXlOYW1lPVwiTWVudVwiO3ZhciBxUz1mdW5jdGlvbihlKXt2YXIgdCxuLHI9ZS5oZWFkaW5nLG89ZS5hcnJvdyxpPXZvaWQgMCE9PW8mJm8scz1lLnNob3dBcnJvd09uSG92ZXIsYz12b2lkIDA9PT1zfHxzLHU9ZS5vcGVuLGQ9dm9pZCAwPT09dXx8dSxmPWUub25DbGljayxtPWUuY2hpbGRyZW4saD1lLmNsYXNzTmFtZSxwPVVTKCgwLGEudXNlU3RhdGUpKGQpLDIpLGc9cFswXSx5PXBbMV0sdj1VUygoMCxhLnVzZVN0YXRlKSghMSksMiksYj12WzBdLHg9dlsxXSx3PUhTKCkuc2l6ZSxTPW51bGw9PT0odD17c206XCJ0ZXh0LXhzXCIsbWQ6XCJ0ZXh0LXNtXCJ9KXx8dm9pZCAwPT09dD92b2lkIDA6dFt3XSxrPW51bGw9PT0obj17c206XCJbJj5zdmddOnNpemUtNFwiLG1kOlwiWyY+c3ZnXTpzaXplLTVcIn0pfHx2b2lkIDA9PT1uP3ZvaWQgMDpuW3ddLEU9ZnVuY3Rpb24oKXt5KCFnKSxmJiZmKCFnKX07cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIsbnVsbCxsKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLHtyb2xlOlwiYnV0dG9uXCIsdGFiSW5kZXg6XCIwXCIsb25DbGljazpFLG9uS2V5RG93bjpmdW5jdGlvbihlKXtcIkVudGVyXCIhPT1lLmtleSYmXCIgXCIhPT1lLmtleXx8RSgpfSxvbk1vdXNlRW50ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gYyYmeCghMCl9LG9uTW91c2VMZWF2ZTpmdW5jdGlvbigpe3JldHVybiBjJiZ4KCExKX0sY2xhc3NOYW1lOm9lKFwidGV4dC10ZXh0LXByaW1hcnkgYmctdHJhbnNwYXJlbnQgY3Vyc29yLXBvaW50ZXIgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIGdhcC0xXCIsUyxyP1wicC0xXCI6XCJwLTBcIixoKSxcImFyaWEtZXhwYW5kZWRcIjpnfSxsKCkuY3JlYXRlRWxlbWVudChcInNwYW5cIix7Y2xhc3NOYW1lOlwidGV4dC10ZXh0LXRlcnRpYXJ5XCJ9LHIpLGkmJmwoKS5jcmVhdGVFbGVtZW50KGVtLnNwYW4se3ZhcmlhbnRzOntvcGVuOntyb3RhdGU6MTgwfSxjbG9zZWQ6e3JvdGF0ZTowfX0sYW5pbWF0ZTpnP1wib3BlblwiOlwiY2xvc2VkXCIsdHJhbnNpdGlvbjp7ZHVyYXRpb246LjE1fSxjbGFzc05hbWU6b2UoXCJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LWJvcmRlci1zdHJvbmdcIixrKX0sbCgpLmNyZWF0ZUVsZW1lbnQoZW0uZGl2LHtpbml0aWFsOlwiaGlkZGVuXCIsYW5pbWF0ZTpnfHxiP1widmlzaWJsZVwiOlwiaGlkZGVuXCIsZXhpdDpcImhpZGRlblwiLHZhcmlhbnRzOnt2aXNpYmxlOntvcGFjaXR5OjF9LGhpZGRlbjp7b3BhY2l0eTowfX0sdHJhbnNpdGlvbjp7ZHVyYXRpb246LjE1fX0sbCgpLmNyZWF0ZUVsZW1lbnQoY20sbnVsbCkpKSksbCgpLmNyZWF0ZUVsZW1lbnQob2gse2luaXRpYWw6ITF9LGcmJmwoKS5jcmVhdGVFbGVtZW50KGVtLnVsLHt2YXJpYW50czp7b3Blbjp7aGVpZ2h0OlwiYXV0b1wiLG9wYWNpdHk6MX0sY2xvc2VkOntoZWlnaHQ6MCxvcGFjaXR5OjB9fSxpbml0aWFsOlwiY2xvc2VkXCIsYW5pbWF0ZTpcIm9wZW5cIixleGl0OlwiY2xvc2VkXCIsdHJhbnNpdGlvbjp7ZHVyYXRpb246LjMsZWFzZTpcImVhc2VJbk91dFwifSxjbGFzc05hbWU6XCJvdmVyZmxvdyBmbGV4IGdhcC0wLjUgZmxleC1jb2wgbS0wIGJnLXdoaXRlIHJvdW5kZWQgcC0wXCJ9LG0pKSl9O3FTLmRpc3BsYXlOYW1lPVwiTWVudS5MaXN0XCI7dmFyIEdTPWZ1bmN0aW9uKGUpe3ZhciB0LG49ZS5kaXNhYmxlZCxyPXZvaWQgMCE9PW4mJm4sbz1lLmFjdGl2ZSxpPWUub25DbGljayxzPWUuY2hpbGRyZW4sYT1lLmNsYXNzTmFtZSxjPUhTKCkuc2l6ZSx1PW51bGw9PT0odD17c206XCJbJj5zdmddOnNpemUtNCBbJj5zdmddOm0tMSBbJj4qOm5vdChzdmcpXTpteC0xIFsmPio6bm90KHN2ZyldOm15LTAuNSB0ZXh0LXNtXCIsbWQ6XCJbJj5zdmddOnNpemUtNSBbJj5zdmddOm0tMS41IFsmPio6bm90KHN2ZyldOm0tMSB0ZXh0LWJhc2VcIn0pfHx2b2lkIDA9PT10P3ZvaWQgMDp0W2NdLGQ9cj9cInRleHQtdGV4dC1kaXNhYmxlZCBob3Zlcjp0ZXh0LXRleHQtZGlzYWJsZWQgY3Vyc29yLW5vdC1hbGxvd2VkIGhvdmVyOmJnLXRyYW5zcGFyZW50XCI6XCJcIixmPW8/XCJ0ZXh0LWljb24tcHJpbWFyeSBbJj5zdmddOnRleHQtaWNvbi1pbnRlcmFjdGl2ZSBiZy1iYWNrZ3JvdW5kLXNlY29uZGFyeVwiOlwiXCI7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KFwibGlcIix7cm9sZTpcIm1lbnVpdGVtXCIsdGFiSW5kZXg6XCIwXCIsb25DbGljazppLG9uS2V5RG93bjpmdW5jdGlvbihlKXtcIkVudGVyXCIhPT1lLmtleSYmXCIgXCIhPT1lLmtleXx8aSgpfSxjbGFzc05hbWU6b2UoXCJmbGV4IHAtMSBnYXAtMSBpdGVtcy1jZW50ZXIgYmctdHJhbnNwYXJlbnQgYm9yZGVyLW5vbmUgcm91bmRlZCB0ZXh0LXRleHQtc2Vjb25kYXJ5IGN1cnNvci1wb2ludGVyIG0tMFwiLHUsXCJob3ZlcjpiZy1iYWNrZ3JvdW5kLXNlY29uZGFyeSBob3Zlcjp0ZXh0LXRleHQtcHJpbWFyeVwiLGQsZixcInRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTMwMCBlYXNlLWluLW91dFwiLGEpfSxzKX07R1MuZGlzcGxheU5hbWU9XCJNZW51Lkl0ZW1cIjt2YXIgWFM9ZnVuY3Rpb24oZSl7dmFyIHQsbj1lLnZhcmlhbnQscj12b2lkIDA9PT1uP1wic29saWRcIjpuLG89ZS5jbGFzc05hbWUsaT1udWxsPT09KHQ9e3NvbGlkOlwiYm9yZGVyLXNvbGlkXCIsZGFzaGVkOlwiYm9yZGVyLWRhc2hlZFwiLGRvdHRlZDpcImJvcmRlci1kb3R0ZWRcIixkb3VibGU6XCJib3JkZXItZG91YmxlXCIsaGlkZGVuOlwiYm9yZGVyLWhpZGRlblwiLG5vbmU6XCJib3JkZXItbm9uZVwifSl8fHZvaWQgMD09PXQ/dm9pZCAwOnRbcl07cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KGwoKS5GcmFnbWVudCxudWxsLGwoKS5jcmVhdGVFbGVtZW50KFwiaHJcIix7Y2xhc3NOYW1lOm9lKFwidy1mdWxsIGJvcmRlci0wIGJvcmRlci10IGJvcmRlci1ib3JkZXItc3VidGxlXCIsaSxvKX0pKX07WFMuZGlzcGxheU5hbWU9XCJNZW51LlNlcGFyYXRvclwiO3ZhciBaUz1PYmplY3QuYXNzaWduKEtTLHtMaXN0OnFTLEl0ZW06R1MsU2VwYXJhdG9yOlhTfSk7Y29uc3QgSlM9a2UoXCJQYW5lbExlZnRPcGVuXCIsW1tcInJlY3RcIix7d2lkdGg6XCIxOFwiLGhlaWdodDpcIjE4XCIseDpcIjNcIix5OlwiM1wiLHJ4OlwiMlwiLGtleTpcImFmaXR2N1wifV0sW1wicGF0aFwiLHtkOlwiTTkgM3YxOFwiLGtleTpcImZoM2hxYVwifV0sW1wicGF0aFwiLHtkOlwibTE0IDkgMyAzLTMgM1wiLGtleTpcIjgwMTBlZVwifV1dKSxRUz1rZShcIlBhbmVsTGVmdENsb3NlXCIsW1tcInJlY3RcIix7d2lkdGg6XCIxOFwiLGhlaWdodDpcIjE4XCIseDpcIjNcIix5OlwiM1wiLHJ4OlwiMlwiLGtleTpcImFmaXR2N1wifV0sW1wicGF0aFwiLHtkOlwiTTkgM3YxOFwiLGtleTpcImZoM2hxYVwifV0sW1wicGF0aFwiLHtkOlwibTE2IDE1LTMtMyAzLTNcIixrZXk6XCIxNHk5OXpcIn1dXSk7dmFyIGVrPVtcImNoaWxkcmVuXCIsXCJjbGFzc05hbWVcIixcIm9uQ29sbGFwc2VDaGFuZ2VcIixcImNvbGxhcHNpYmxlXCIsXCJzY3JlZW5IZWlnaHRcIixcImJvcmRlck9uXCJdO2Z1bmN0aW9uIHRrKCl7cmV0dXJuIHRrPU9iamVjdC5hc3NpZ24/T2JqZWN0LmFzc2lnbi5iaW5kKCk6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKSh7fSkuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiYoZVtyXT1uW3JdKX1yZXR1cm4gZX0sdGsuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIG5rKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1BcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgcms9KDAsYS5jcmVhdGVDb250ZXh0KSgpLG9rPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2hpbGRyZW4sbj1lLmNsYXNzTmFtZSxyPWUub25Db2xsYXBzZUNoYW5nZSxvPWUuY29sbGFwc2libGUsaT12b2lkIDA9PT1vfHxvLHM9ZS5zY3JlZW5IZWlnaHQsYz12b2lkIDA9PT1zfHxzLHU9ZS5ib3JkZXJPbixkPXZvaWQgMD09PXV8fHUsZj1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG4scixvPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbj17fTtmb3IodmFyIHIgaW4gZSlpZih7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikpe2lmKHQuaW5jbHVkZXMocikpY29udGludWU7bltyXT1lW3JdfXJldHVybiBufShlLHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKyluPWlbcl0sdC5pbmNsdWRlcyhuKXx8e30ucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLG4pJiYob1tuXT1lW25dKX1yZXR1cm4gb30oZSxlayksbT0oMCxhLnVzZVJlZikobnVsbCksaD1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlW1wiQEBpdGVyYXRvclwiXTtpZihudWxsIT1uKXt2YXIgcixvLGkscyxhPVtdLGw9ITAsYz0hMTt0cnl7aWYoaT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2w9ITF9ZWxzZSBmb3IoOyEobD0ocj1pLmNhbGwobikpLmRvbmUpJiYoYS5wdXNoKHIudmFsdWUpLGEubGVuZ3RoIT09dCk7bD0hMCk7fWNhdGNoKGUpe2M9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFsJiZudWxsIT1uLnJldHVybiYmKHM9bi5yZXR1cm4oKSxPYmplY3QocykhPT1zKSlyZXR1cm59ZmluYWxseXtpZihjKXRocm93IG99fXJldHVybiBhfX0oZSx0KXx8ZnVuY3Rpb24oZSx0KXtpZihlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSlyZXR1cm4gbmsoZSx0KTt2YXIgbj17fS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpO3JldHVyblwiT2JqZWN0XCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpLFwiTWFwXCI9PT1ufHxcIlNldFwiPT09bj9BcnJheS5mcm9tKGUpOlwiQXJndW1lbnRzXCI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9uayhlLHQpOnZvaWQgMH19KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKX0oKDAsYS51c2VTdGF0ZSkoKGZ1bmN0aW9uKCl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJzaWRlYmFyLWNvbGxhcHNlZFwiKSx0PXdpbmRvdy5pbm5lcldpZHRoPDEyODA7cmV0dXJuIGU/SlNPTi5wYXJzZShlKTp0fSkpLDIpLHA9aFswXSxnPWhbMV07cmV0dXJuKDAsYS51c2VFZmZlY3QpKChmdW5jdGlvbigpe3ImJnIocCl9KSxbcCxyXSksKDAsYS51c2VFZmZlY3QpKChmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKCl7dmFyIGU9d2luZG93LmlubmVyV2lkdGg8MTI4MDtpZihpKWlmKGUpZyghMCksbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJzaWRlYmFyLWNvbGxhcHNlZFwiLEpTT04uc3RyaW5naWZ5KCEwKSk7ZWxzZXt2YXIgdD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInNpZGViYXItY29sbGFwc2VkXCIpO2coISF0JiZKU09OLnBhcnNlKHQpKX1lbHNlIGcoITEpLGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwic2lkZWJhci1jb2xsYXBzZWRcIik7bS5jdXJyZW50JiYobS5jdXJyZW50LnN0eWxlLmhlaWdodD1jP1wiXCIuY29uY2F0KHdpbmRvdy5pbm5lckhlaWdodCxcInB4XCIpOlwiYXV0b1wiKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsZSksZSgpLGZ1bmN0aW9uKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIixlKX19KSxbYyxpXSksbCgpLmNyZWF0ZUVsZW1lbnQocmsuUHJvdmlkZXIse3ZhbHVlOntpc0NvbGxhcHNlZDpwLHNldElzQ29sbGFwc2VkOmcsY29sbGFwc2libGU6aX19LGwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIsdGsoe3JlZjptLGNsYXNzTmFtZTpvZShcIm92ZXJmbG93LWF1dG8gdy03MiBweC00IHB5LTQgZ2FwLTQgZmxleCBmbGV4LWNvbCBiZy1iYWNrZ3JvdW5kLXByaW1hcnlcIixkJiZcImJvcmRlci0wIGJvcmRlci1yIGJvcmRlci1zb2xpZCBib3JkZXItYm9yZGVyLXN1YnRsZVwiLCEhYyYmXCJoLXNjcmVlblwiLFwidHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwXCIscCYmXCJ3LTE2IHB4LTJcIixuKX0sZiksdCkpfTtvay5kaXNwbGF5TmFtZT1cIlNpZGViYXJcIjt2YXIgaWs9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGlsZHJlbjtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwic3BhY2UteS0yXCJ9LHQpfTtpay5kaXNwbGF5TmFtZT1cIlNpZGViYXIuSGVhZGVyXCI7dmFyIHNrPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2hpbGRyZW47cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcInNwYWNlLXktNCBncm93IGl0ZW1zLXN0YXJ0XCIpfSx0KX07c2suZGlzcGxheU5hbWU9XCJTaWRlYmFyLkJvZHlcIjt2YXIgYWs9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGlsZHJlbixuPSgwLGEudXNlQ29udGV4dCkocmspLHI9bi5pc0NvbGxhcHNlZCxvPW4uc2V0SXNDb2xsYXBzZWQsaT1uLmNvbGxhcHNpYmxlO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6XCJzcGFjZS15LTRcIn0sdCxpJiZsKCkuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLHtjbGFzc05hbWU6b2UoXCJiZy10cmFuc3BhcmVudCB3LWZ1bGwgYm9yZGVyLTAgcC0wIG0tMCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LWJhc2UgY3Vyc29yLXBvaW50ZXJcIixyJiZcImp1c3RpZnktY2VudGVyXCIpLG9uQ2xpY2s6ZnVuY3Rpb24oKXtvKCFyKSxsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInNpZGViYXItY29sbGFwc2VkXCIsSlNPTi5zdHJpbmdpZnkoIXIpKX0sXCJhcmlhLWxhYmVsXCI6cj9cIkV4cGFuZCBzaWRlYmFyXCI6XCJDb2xsYXBzZSBzaWRlYmFyXCJ9LHI/bCgpLmNyZWF0ZUVsZW1lbnQobCgpLkZyYWdtZW50LG51bGwsbCgpLmNyZWF0ZUVsZW1lbnQoRG8se3RpdGxlOlwiRXhwYW5kXCIscGxhY2VtZW50OlwicmlnaHRcIn0sbCgpLmNyZWF0ZUVsZW1lbnQoSlMse2NsYXNzTmFtZTpcInNpemUtNVwifSkpKTpsKCkuY3JlYXRlRWxlbWVudChsKCkuRnJhZ21lbnQsbnVsbCxsKCkuY3JlYXRlRWxlbWVudChRUyx7Y2xhc3NOYW1lOlwic2l6ZS01XCJ9KSxcIiBDb2xsYXBzZVwiKSkpfTthay5kaXNwbGF5TmFtZT1cIlNpZGViYXIuRm9vdGVyXCI7dmFyIGxrPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2hpbGRyZW4sbj1lLmNsYXNzTmFtZTtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOm9lKFwidy1mdWxsXCIsbil9LHQpfTtsay5kaXNwbGF5TmFtZT1cIlNpZGViYXIuSXRlbVwiO3ZhciBjaz1PYmplY3QuYXNzaWduKG9rLHtIZWFkZXI6aWssQm9keTpzayxGb290ZXI6YWssSXRlbTpsa30pO2NvbnN0IHVrPWtlKFwiQ2hldnJvblJpZ2h0XCIsW1tcInBhdGhcIix7ZDpcIm05IDE4IDYtNi02LTZcIixrZXk6XCJtdGhod3FcIn1dXSksZGs9a2UoXCJFbGxpcHNpc1wiLFtbXCJjaXJjbGVcIix7Y3g6XCIxMlwiLGN5OlwiMTJcIixyOlwiMVwiLGtleTpcIjQxaGlsZlwifV0sW1wiY2lyY2xlXCIse2N4OlwiMTlcIixjeTpcIjEyXCIscjpcIjFcIixrZXk6XCIxd2psOGlcIn1dLFtcImNpcmNsZVwiLHtjeDpcIjVcIixjeTpcIjEyXCIscjpcIjFcIixrZXk6XCIxcGN6OGNcIn1dXSk7dmFyIGZrPVtcImhyZWZcIixcImNoaWxkcmVuXCIsXCJjbGFzc05hbWVcIixcImFzXCJdO2Z1bmN0aW9uIG1rKCl7cmV0dXJuIG1rPU9iamVjdC5hc3NpZ24/T2JqZWN0LmFzc2lnbi5iaW5kKCk6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKSh7fSkuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiYoZVtyXT1uW3JdKX1yZXR1cm4gZX0sbWsuYXBwbHkobnVsbCxhcmd1bWVudHMpfXZhciBoaz0oMCxhLmNyZWF0ZUNvbnRleHQpKCkscGs9e3NtOnt0ZXh0OlwidGV4dC1zbVwiLHNlcGFyYXRvcjpcInRleHQtc21cIixzZXBhcmF0b3JJY29uU2l6ZToxNn0sbWQ6e3RleHQ6XCJ0ZXh0LWJhc2VcIixzZXBhcmF0b3I6XCJ0ZXh0LWJhc2VcIixzZXBhcmF0b3JJY29uU2l6ZToxOH19LGdrPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2hpbGRyZW4sbj1lLnNpemUscj1wa1t2b2lkIDA9PT1uP1wic21cIjpuXXx8cGsuc207cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KGhrLlByb3ZpZGVyLHt2YWx1ZTp7c2l6ZXM6cn19LGwoKS5jcmVhdGVFbGVtZW50KFwibmF2XCIse2NsYXNzTmFtZTpcImZsZXggbS0wXCIsXCJhcmlhLWxhYmVsXCI6XCJCcmVhZGNydW1iXCJ9LGwoKS5jcmVhdGVFbGVtZW50KFwidWxcIix7Y2xhc3NOYW1lOlwibS0wIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTEgbWQ6c3BhY2UteC0xXCJ9LHQpKSl9O2drLmRpc3BsYXlOYW1lPVwiQnJlYWRjcnVtYlwiO3ZhciB5az1mdW5jdGlvbihlKXt2YXIgdD1lLmNoaWxkcmVuO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChsKCkuRnJhZ21lbnQsbnVsbCx0KX07eWsuZGlzcGxheU5hbWU9XCJCcmVhZGNydW1iLkxpc3RcIjt2YXIgdms9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGlsZHJlbjtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoXCJsaVwiLHtjbGFzc05hbWU6XCJtLTAgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCJ9LHQpfTt2ay5kaXNwbGF5TmFtZT1cIkJyZWFkY3J1bWIuSXRlbVwiO3ZhciBiaz1mdW5jdGlvbihlKXt2YXIgdD1lLmhyZWYsbj1lLmNoaWxkcmVuLHI9ZS5jbGFzc05hbWUsbz1lLmFzLGk9dm9pZCAwPT09bz9cImFcIjpvLHM9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuLHIsbz1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG49e307Zm9yKHZhciByIGluIGUpaWYoe30uaGFzT3duUHJvcGVydHkuY2FsbChlLHIpKXtpZih0LmluY2x1ZGVzKHIpKWNvbnRpbnVlO25bcl09ZVtyXX1yZXR1cm4gbn0oZSx0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO2ZvcihyPTA7cjxpLmxlbmd0aDtyKyspbj1pW3JdLHQuaW5jbHVkZXMobil8fHt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSxuKSYmKG9bbl09ZVtuXSl9cmV0dXJuIG99KGUsZmspLGM9KDAsYS51c2VDb250ZXh0KShoaykuc2l6ZXM7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KGksbWsoe2hyZWY6dCxjbGFzc05hbWU6b2UoYy50ZXh0LFwicHgtMSBmb250LW1lZGl1bSBuby11bmRlcmxpbmUgdGV4dC10ZXh0LXRlcnRpYXJ5IGhvdmVyOnRleHQtdGV4dC1wcmltYXJ5IGhvdmVyOnVuZGVybGluZVwiLFwiZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMSBmb2N1czpyaW5nLWJvcmRlci1pbnRlcmFjdGl2ZSBmb2N1czpib3JkZXItYm9yZGVyLWludGVyYWN0aXZlIGZvY3VzOnJvdW5kZWQtc21cIixcInRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMFwiLHIpfSxzKSxuKX07YmsuZGlzcGxheU5hbWU9XCJCcmVhZGNydW1iLkxpbmtcIjt2YXIgeGs9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50eXBlLG49KDAsYS51c2VDb250ZXh0KShoaykuc2l6ZXMscj17c2xhc2g6bCgpLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse2NsYXNzTmFtZTpvZShcIm14LTFcIixuLnNlcGFyYXRvcil9LFwiL1wiKSxhcnJvdzpsKCkuY3JlYXRlRWxlbWVudCh1ayx7c2l6ZTpuLnNlcGFyYXRvckljb25TaXplfSl9O3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChcInNwYW5cIix7Y2xhc3NOYW1lOlwiZmxleCBpdGVtcy1jZW50ZXIgdGV4dC10ZXh0LXRlcnRpYXJ5IG14LTJcIn0sclt0XXx8ci5hcnJvdyl9O3hrLmRpc3BsYXlOYW1lPVwiQnJlYWRjcnVtYi5TZXBhcmF0b3JcIjt2YXIgd2s9ZnVuY3Rpb24oKXt2YXIgZT0oMCxhLnVzZUNvbnRleHQpKGhrKS5zaXplcztyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoZGsse2NsYXNzTmFtZTpcIm10LVsycHhdIGN1cnNvci1wb2ludGVyIHRleHQtdGV4dC10ZXJ0aWFyeSBob3Zlcjp0ZXh0LXRleHQtcHJpbWFyeVwiLHNpemU6ZS5zZXBhcmF0b3JJY29uU2l6ZSs0fSl9O3drLmRpc3BsYXlOYW1lPVwiQnJlYWRjcnVtYi5FbGxpcHNpc1wiO3ZhciBTaz1mdW5jdGlvbihlKXt2YXIgdD1lLmNoaWxkcmVuLG49KDAsYS51c2VDb250ZXh0KShoaykuc2l6ZXM7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6b2Uobi50ZXh0LFwiZm9udC1tZWRpdW0gdGV4dC10ZXh0LXByaW1hcnlcIil9LHQpfTtTay5kaXNwbGF5TmFtZT1cIkJyZWFkY3J1bWIuUGFnZVwiO3ZhciBraz1PYmplY3QuYXNzaWduKGdrLHtMaXN0OnlrLEl0ZW06dmssTGluazpiayxTZXBhcmF0b3I6eGssRWxsaXBzaXM6d2ssUGFnZTpTa30pLEVrPVtcImNsYXNzTmFtZVwiXSxDaz1bXCJjaGlsZHJlblwiLFwiY2xhc3NOYW1lXCJdLF9rPVtcImNoaWxkcmVuXCIsXCJhc1wiLFwiY2xhc3NOYW1lXCJdLFBrPVtcImNoaWxkcmVuXCIsXCJhc1wiLFwiY2xhc3NOYW1lXCJdLE9rPVtcImNsYXNzTmFtZVwiXSxOaz1bXCJjaGlsZHJlblwiLFwiYXNcIl0sVGs9W1wiY2hpbGRyZW5cIixcImNsYXNzTmFtZVwiXTtmdW5jdGlvbiBNaygpe3JldHVybiBNaz1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LE1rLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBSayhlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG4scixvPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbj17fTtmb3IodmFyIHIgaW4gZSlpZih7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikpe2lmKHQuaW5jbHVkZXMocikpY29udGludWU7bltyXT1lW3JdfXJldHVybiBufShlLHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKyluPWlbcl0sdC5pbmNsdWRlcyhuKXx8e30ucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLG4pJiYob1tuXT1lW25dKX1yZXR1cm4gb31mdW5jdGlvbiBEayhlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9QXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9dmFyIGprPSgwLGEuY3JlYXRlQ29udGV4dCkoKSxBaz1mdW5jdGlvbigpe3JldHVybigwLGEudXNlQ29udGV4dCkoamspfSxJaz17b3Blbjp7b3BhY2l0eToxfSxleGl0OntvcGFjaXR5OjB9fSxMaz17ZHVyYXRpb246LjJ9LEZrPWZ1bmN0aW9uKGUpe3ZhciB0PWUub3BlbixuPWUuc2V0T3BlbixyPWUuY2hpbGRyZW4sbz1lLnRyaWdnZXIsaT1lLmNsYXNzTmFtZSxzPWUuZXhpdE9uQ2xpY2tPdXRzaWRlLGw9dm9pZCAwIT09cyYmcyxjPWUuZXhpdE9uRXNjLHU9dm9pZCAwPT09Y3x8YyxkPWUuZGVzaWduLGY9dm9pZCAwPT09ZD9cInNpbXBsZVwiOmQsbT1lLnNjcm9sbExvY2ssaD12b2lkIDA9PT1tfHxtLHA9dm9pZCAwIT09dCYmdm9pZCAwIT09bixnPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDpcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbXCJAQGl0ZXJhdG9yXCJdO2lmKG51bGwhPW4pe3ZhciByLG8saSxzLGE9W10sbD0hMCxjPSExO3RyeXtpZihpPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47bD0hMX1lbHNlIGZvcig7IShsPShyPWkuY2FsbChuKSkuZG9uZSkmJihhLnB1c2goci52YWx1ZSksYS5sZW5ndGghPT10KTtsPSEwKTt9Y2F0Y2goZSl7Yz0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWwmJm51bGwhPW4ucmV0dXJuJiYocz1uLnJldHVybigpLE9iamVjdChzKSE9PXMpKXJldHVybn1maW5hbGx5e2lmKGMpdGhyb3cgb319cmV0dXJuIGF9fShlLHQpfHxmdW5jdGlvbihlLHQpe2lmKGUpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXJldHVybiBEayhlLHQpO3ZhciBuPXt9LnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7cmV0dXJuXCJPYmplY3RcIj09PW4mJmUuY29uc3RydWN0b3ImJihuPWUuY29uc3RydWN0b3IubmFtZSksXCJNYXBcIj09PW58fFwiU2V0XCI9PT1uP0FycmF5LmZyb20oZSk6XCJBcmd1bWVudHNcIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP0RrKGUsdCk6dm9pZCAwfX0oZSx0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpfSgpfSgoMCxhLnVzZVN0YXRlKSghMSksMikseT1nWzBdLHY9Z1sxXSxiPSgwLGEudXNlUmVmKShudWxsKSx4PSgwLGEudXNlUmVmKShudWxsKSx3PSgwLGEudXNlTWVtbykoKGZ1bmN0aW9uKCl7cmV0dXJuIHA/dDp5fSksW3QseV0pLFM9KDAsYS51c2VNZW1vKSgoZnVuY3Rpb24oKXtyZXR1cm4gcD9uOnZ9KSxbdix2XSksaz1mdW5jdGlvbigpe3d8fFMoITApfSxFPWZ1bmN0aW9uKCl7dyYmUyghMSl9LEM9KDAsYS51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKCl7cmV0dXJuKDAsYS5pc1ZhbGlkRWxlbWVudCkobyk/KDAsYS5jbG9uZUVsZW1lbnQpKG8se29uQ2xpY2s6aWUoayxvLnByb3BzLm9uQ2xpY2spfSk6XCJmdW5jdGlvblwiPT10eXBlb2Ygbz9vKHtvbkNsaWNrOmt9KTpudWxsfSksW28sayxFXSksXz1mdW5jdGlvbihlKXtcIkVzY2FwZVwiPT09ZS5rZXkmJnUmJkUoKX0sUD1mdW5jdGlvbihlKXtsJiZiLmN1cnJlbnQmJiFiLmN1cnJlbnQuY29udGFpbnMoZS50YXJnZXQpJiZFKCl9O3JldHVybigwLGEudXNlRWZmZWN0KSgoZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsXyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLFApLGZ1bmN0aW9uKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsXyksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLFApfX0pLFt3XSksKDAsYS51c2VFZmZlY3QpKChmdW5jdGlvbigpe2lmKGgpcmV0dXJuIHcmJihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiaHRtbFwiKS5zdHlsZS5vdmVyZmxvdz1cImhpZGRlblwiKSxmdW5jdGlvbigpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJodG1sXCIpLnN0eWxlLm92ZXJmbG93PVwiXCJ9fSksW3ddKSxSZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LG51bGwsQygpLFJlYWN0LmNyZWF0ZUVsZW1lbnQoamsuUHJvdmlkZXIse3ZhbHVlOntvcGVuOncsc2V0T3BlbjpTLGhhbmRsZUNsb3NlOkUsZGVzaWduOmYsZGlhbG9nQ29udGFpbmVyUmVmOngsZGlhbG9nUmVmOmJ9fSxSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse3JlZjp4LGNsYXNzTmFtZTpvZShcImZpeGVkIHotOTk5OTk5IHctMCBoLTAgb3ZlcmZsb3ctdmlzaWJsZVwiLGkpfSxyKSkpfTtGay5kaXNwbGF5TmFtZT1cIkRpYWxvZ1wiO3ZhciB6az1mdW5jdGlvbihlKXt2YXIgdD1lLmNoaWxkcmVuLG49ZS5jbGFzc05hbWUscj1BaygpLG89ci5vcGVuLGk9ci5oYW5kbGVDbG9zZSxzPXIuZGlhbG9nUmVmO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KG9oLG51bGwsbyYmUmVhY3QuY3JlYXRlRWxlbWVudChlbS5kaXYse2NsYXNzTmFtZTpcImZpeGVkIGluc2V0LTAgb3ZlcmZsb3cteS1hdXRvXCIsaW5pdGlhbDpcImV4aXRcIixhbmltYXRlOlwib3BlblwiLGV4aXQ6XCJleGl0XCIsdmFyaWFudHM6SWsscm9sZTpcImRpYWxvZ1wiLHRyYW5zaXRpb246TGt9LFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbWluLWgtZnVsbFwifSxSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse3JlZjpzLGNsYXNzTmFtZTpvZShcImZsZXggZmxleC1jb2wgZ2FwLTUgdy0xMjAgaC1maXQgYmctYmFja2dyb3VuZC1wcmltYXJ5IGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWJvcmRlci1zdWJ0bGUgcm91bmRlZC14bCBzaGFkb3ctc29mdC1zaGFkb3ctMnhsIG15LTUgb3ZlcmZsb3ctaGlkZGVuXCIsbil9LFwiZnVuY3Rpb25cIj09dHlwZW9mIHQ/dCh7Y2xvc2U6aX0pOnQpKSkpfTt6ay5kaXNwbGF5TmFtZT1cIkRpYWxvZy5QYW5lbFwiO3ZhciBCaz1mdW5jdGlvbihlKXt2YXIgdD1lLmNsYXNzTmFtZSxuPVJrKGUsRWspLHI9QWsoKSxvPXIub3BlbixpPXIuZGlhbG9nQ29udGFpbmVyUmVmO3JldHVybiBpLmN1cnJlbnQmJigwLHRuLmNyZWF0ZVBvcnRhbCkoUmVhY3QuY3JlYXRlRWxlbWVudChvaCxudWxsLG8mJlJlYWN0LmNyZWF0ZUVsZW1lbnQoZW0uZGl2LE1rKHtjbGFzc05hbWU6b2UoXCJmaXhlZCBpbnNldC0wIC16LTEwIGJnLWJhY2tncm91bmQtaW52ZXJzZS85MCBiYWNrZHJvcC1ibHVyLXNtXCIsdCl9LG4se2luaXRpYWw6XCJleGl0XCIsYW5pbWF0ZTpcIm9wZW5cIixleGl0OlwiZXhpdFwiLHZhcmlhbnRzOklrLHRyYW5zaXRpb246TGt9KSkpLGkuY3VycmVudCl9O0JrLmRpc3BsYXlOYW1lPVwiRGlhbG9nLkJhY2tkcm9wXCI7dmFyIFdrPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2hpbGRyZW4sbj1lLmNsYXNzTmFtZSxyPVJrKGUsQ2spO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsTWsoe2NsYXNzTmFtZTpvZShcInNwYWNlLXktMiBweC01IHB0LTUgcGItMVwiLG4pfSxyKSx0KX07V2suZGlzcGxheU5hbWU9XCJEaWFsb2cuSGVhZGVyXCI7dmFyIFZrPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2hpbGRyZW4sbj1lLmFzLHI9dm9pZCAwPT09bj9cImgzXCI6bixvPWUuY2xhc3NOYW1lLGk9UmsoZSxfayk7cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQocixNayh7Y2xhc3NOYW1lOm9lKFwidGV4dC1iYXNlIGZvbnQtc2VtaWJvbGQgdGV4dC10ZXh0LXByaW1hcnkgbS0wIHAtMFwiLG8pfSxpKSx0KX07VmsuZGlzcGxheU5hbWU9XCJEaWFsb2cuVGl0bGVcIjt2YXIgVWs9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGlsZHJlbixuPWUuYXMscj12b2lkIDA9PT1uP1wicFwiOm4sbz1lLmNsYXNzTmFtZSxpPVJrKGUsUGspO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KHIsTWsoe2NsYXNzTmFtZTpvZShcInRleHQtc20gZm9udC1ub3JtYWwgdGV4dC10ZXh0LXNlY29uZGFyeSBteS0wIG1sLTAgbXItMSBwLTBcIixvKX0saSksdCl9O1VrLmRpc3BsYXlOYW1lPVwiRGlhbG9nLkRlc2NyaXB0aW9uXCI7dmFyICRrPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2xhc3NOYW1lLG49UmsoZSxPayk7cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIixNayh7Y2xhc3NOYW1lOm9lKFwiYmctdHJhbnNwYXJlbnQgaW5saW5lLWZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIGJvcmRlci0wIHAtMSBtLTAgY3Vyc29yLXBvaW50ZXIgZm9jdXM6b3V0bGluZS1ub25lIG91dGxpbmUtbm9uZSBzaGFkb3ctbm9uZVwiLHQpLFwiYXJpYS1sYWJlbFwiOlwiQ2xvc2UgZGlhbG9nXCJ9LG4pLFJlYWN0LmNyZWF0ZUVsZW1lbnQocW8se2NsYXNzTmFtZTpcInNpemUtNCB0ZXh0LXRleHQtcHJpbWFyeSBzaHJpbmstMFwifSkpfSxZaz1mdW5jdGlvbihlKXt2YXIgdD1lLmNoaWxkcmVuLG49ZS5hcyxyPXZvaWQgMD09PW4/YS5GcmFnbWVudDpuLG89UmsoZSxOayksaT1BaygpLmhhbmRsZUNsb3NlO3JldHVybigwLGEuaXNWYWxpZEVsZW1lbnQpKHQpJiZ0P3I9PT1hLkZyYWdtZW50P1wiZnVuY3Rpb25cIj09dHlwZW9mIHQ/dCh7Y2xvc2U6aX0pOigwLGEuY2xvbmVFbGVtZW50KSh0LHtvbkNsaWNrOml9KTpSZWFjdC5jcmVhdGVFbGVtZW50KHIsTWsoe30sbyx7b25DbGljazppfSksdCk6UmVhY3QuY3JlYXRlRWxlbWVudCgkayxNayh7b25DbGljazppfSxvKSl9O1lrLmRpc3BsYXlOYW1lPVwiRGlhbG9nLkNsb3NlQnV0dG9uXCI7dmFyIEhrPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2hpbGRyZW4sbj1lLmNsYXNzTmFtZSxyPVJrKGUsVGspO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsTWsoe2NsYXNzTmFtZTpvZShcInB4LTVcIixuKX0sciksdCl9O0hrLmRpc3BsYXlOYW1lPVwiRGlhbG9nLkJvZHlcIjt2YXIgS2s9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGlsZHJlbixuPWUuY2xhc3NOYW1lLHI9QWsoKSxvPXIuZGVzaWduLGk9ci5oYW5kbGVDbG9zZTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJwLTQgZmxleCBqdXN0aWZ5LWVuZCBnYXAtM1wiLHtcImJnLWJhY2tncm91bmQtc2Vjb25kYXJ5XCI6XCJmb290ZXItZGl2aWRlZFwiPT09b30sbil9LHQ/XCJmdW5jdGlvblwiPT10eXBlb2YgdD90KHtjbG9zZTppfSk6dDpudWxsKX07S2suZGlzcGxheU5hbWU9XCJEaWFsb2cuRm9vdGVyXCI7dmFyIHFrPU9iamVjdC5hc3NpZ24oRmsse1BhbmVsOnprLEJhY2tkcm9wOkJrLFRpdGxlOlZrLERlc2NyaXB0aW9uOlVrLENsb3NlQnV0dG9uOllrLEhlYWRlcjpXayxCb2R5OkhrLEZvb3RlcjpLa30pLEdrPVtcImNoaWxkcmVuXCIsXCJnYXBcIixcImNsYXNzTmFtZVwiXTtmdW5jdGlvbiBYaygpe3JldHVybiBYaz1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LFhrLmFwcGx5KG51bGwsYXJndW1lbnRzKX12YXIgWms9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGlsZHJlbixuPWUuZ2FwLHI9dm9pZCAwPT09bj9cImxnXCI6bixvPWUuY2xhc3NOYW1lLGk9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuLHIsbz1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG49e307Zm9yKHZhciByIGluIGUpaWYoe30uaGFzT3duUHJvcGVydHkuY2FsbChlLHIpKXtpZih0LmluY2x1ZGVzKHIpKWNvbnRpbnVlO25bcl09ZVtyXX1yZXR1cm4gbn0oZSx0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO2ZvcihyPTA7cjxpLmxlbmd0aDtyKyspbj1pW3JdLHQuaW5jbHVkZXMobil8fHt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSxuKSYmKG9bbl09ZVtuXSl9cmV0dXJuIG99KGUsR2spO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLFhrKHtjbGFzc05hbWU6b2UoXCJ3LWZ1bGwgYm94LWJvcmRlciBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gYmctYmFja2dyb3VuZC1wcmltYXJ5IHAtNSBtaW4taC0xNlwiLHNlKHIpLG8pfSxpKSx0KX07WmsuZGlzcGxheU5hbWU9XCJUb3BiYXJcIjt2YXIgSms9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nYXAsbj12b2lkIDA9PT10P1wic21cIjp0LHI9ZS5jaGlsZHJlbixvPWUuY2xhc3NOYW1lO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJmbGV4IGl0ZW1zLWNlbnRlclwiLHNlKG4pLG8pfSxyKX07SmsuZGlzcGxheU5hbWU9XCJUb3BiYXIuTGVmdFwiO3ZhciBRaz1mdW5jdGlvbihlKXt2YXIgdCxuPWUuZ2FwLHI9dm9pZCAwPT09bj9cIm1kXCI6bixvPWUuY2hpbGRyZW4saT1lLmFsaWduLHM9dm9pZCAwPT09aT9cImNlbnRlclwiOmksYT1lLmNsYXNzTmFtZSxjPW51bGw9PT0odD17bGVmdDpcImp1c3RpZnktc3RhcnRcIixjZW50ZXI6XCJqdXN0aWZ5LWNlbnRlclwiLHJpZ2h0OlwianVzdGlmeS1lbmRcIn0pfHx2b2lkIDA9PT10P3ZvaWQgMDp0W3NdO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJmbGV4IGl0ZW1zLWNlbnRlciBncm93XCIsc2UociksYyxhKX0sbyl9O1FrLmRpc3BsYXlOYW1lPVwiVG9wYmFyLk1pZGRsZVwiO3ZhciBlRT1mdW5jdGlvbihlKXt2YXIgdD1lLmdhcCxuPXZvaWQgMD09PXQ/XCJzbVwiOnQscj1lLmNoaWxkcmVuLG89ZS5jbGFzc05hbWU7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcImZsZXggaXRlbXMtY2VudGVyXCIsc2Uobiksbyl9LHIpfTtlRS5kaXNwbGF5TmFtZT1cIlRvcGJhci5SaWdodFwiO3ZhciB0RT1mdW5jdGlvbihlKXt2YXIgdD1lLmNoaWxkcmVuLG49ZS5jbGFzc05hbWU7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcImZsZXggaXRlbXMtY2VudGVyIFsmPnN2Z106YmxvY2sgaC1mdWxsXCIsbil9LHQpfTt0RS5kaXNwbGF5TmFtZT1cIlRvcGJhci5JdGVtXCI7dmFyIG5FPU9iamVjdC5hc3NpZ24oWmsse0xlZnQ6SmssTWlkZGxlOlFrLFJpZ2h0OmVFLEl0ZW06dEV9KSxyRT17c206XCJ0ZXh0LXhzIFsmPnN2Z106c2l6ZS00IHJvdW5kZWRcIixtZDpcInRleHQtc20gWyY+c3ZnXTpzaXplLTUgcm91bmRlZC1tZFwiLGxnOlwidGV4dC1iYXNlIFsmPnN2Z106c2l6ZS02IHJvdW5kZWQtbWRcIn0sb0U9e2lucHV0OntzbTpcInB5LTEuNSBweC0yIHJvdW5kZWRcIixtZDpcInAtMi41IHJvdW5kZWQtbWRcIixsZzpcInAtMyByb3VuZGVkLW1kXCJ9LGNvbnRlbnQ6e3NtOlwicC0xLjVcIixtZDpcInAtMS41XCIsbGc6XCJwLTJcIn0sdGl0bGU6e3NtOlwicC0yIHRleHQteHNcIixtZDpcInAtMiB0ZXh0LXNtXCIsbGc6XCJwLTIgdGV4dC1zbVwifSxpdGVtOntzbTpcInRleHQtc20gdGV4dC10ZXh0LXNlY29uZGFyeSByb3VuZGVkXCIsbWQ6XCJ0ZXh0LWJhc2UgdGV4dC10ZXh0LXNlY29uZGFyeSByb3VuZGVkLW1kXCIsbGc6XCJ0ZXh0LWJhc2UgdGV4dC10ZXh0LXNlY29uZGFyeSByb3VuZGVkLW1kXCJ9LGljb246e3NtOlwicC0xIHRleHQtc20gWyY+c3ZnXTpzaXplLTQgdGV4dC1pY29uLXNlY29uZGFyeVwiLG1kOlwicC0yIHRleHQtYmFzZSBbJj5zdmddOnNpemUtNSB0ZXh0LWljb24tc2Vjb25kYXJ5XCIsbGc6XCJwLTIgdGV4dC1iYXNlIFsmPnN2Z106c2l6ZS01IHRleHQtaWNvbi1zZWNvbmRhcnlcIn0sZGlhbG9nOntzbTpcIm10LTEgcm91bmRlZC1tZFwiLG1kOlwibXQtMS41IHJvdW5kZWQtbGdcIixsZzpcIm10LTEuNSByb3VuZGVkLWxnXCJ9LHNsYXNoSWNvbjp7c206XCJweC0yIHB5LTAuNVwiLG1kOlwicHgtMyBweS0xXCIsbGc6XCJweC0zLjUgcHktMVwifX0saUU9e3ByaW1hcnk6XCJiZy1maWVsZC1wcmltYXJ5LWJhY2tncm91bmQgb3V0bGluZSBvdXRsaW5lLTEgb3V0bGluZS1maWVsZC1ib3JkZXIgaG92ZXI6b3V0bGluZS1ib3JkZXItc3Ryb25nXCIsc2Vjb25kYXJ5OlwiYmctZmllbGQtc2Vjb25kYXJ5LWJhY2tncm91bmQgb3V0bGluZSBvdXRsaW5lLTEgb3V0bGluZS1maWVsZC1ib3JkZXIgaG92ZXI6b3V0bGluZS1ib3JkZXItc3Ryb25nXCIsZ2hvc3Q6XCJiZy1maWVsZC1zZWNvbmRhcnktYmFja2dyb3VuZCBvdXRsaW5lIG91dGxpbmUtMSBvdXRsaW5lLXRyYW5zcGFyZW50XCJ9LHNFPXtnaG9zdDpcImN1cnNvci1ub3QtYWxsb3dlZCB0ZXh0LXRleHQtZGlzYWJsZWQgcGxhY2Vob2xkZXI6dGV4dC10ZXh0LWRpc2FibGVkXCIscHJpbWFyeTpcImJvcmRlci1ib3JkZXItZGlzYWJsZWQgaG92ZXI6Ym9yZGVyLWJvcmRlci1kaXNhYmxlZCBiZy1maWVsZC1iYWNrZ3JvdW5kLWRpc2FibGVkIGN1cnNvci1ub3QtYWxsb3dlZCB0ZXh0LXRleHQtZGlzYWJsZWQgcGxhY2Vob2xkZXI6dGV4dC10ZXh0LWRpc2FibGVkXCIsc2Vjb25kYXJ5OlwiYm9yZGVyLWJvcmRlci1kaXNhYmxlZCBob3Zlcjpib3JkZXItYm9yZGVyLWRpc2FibGVkIGN1cnNvci1ub3QtYWxsb3dlZCB0ZXh0LXRleHQtZGlzYWJsZWQgcGxhY2Vob2xkZXI6dGV4dC10ZXh0LWRpc2FibGVkXCJ9O2Z1bmN0aW9uIGFFKGUpe3JldHVybiBhRT1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJlwic3ltYm9sXCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT9cInN5bWJvbFwiOnR5cGVvZiBlfSxhRShlKX12YXIgbEU9W1wiY2xhc3NOYW1lXCIsXCJzaXplXCIsXCJvcGVuXCIsXCJvbk9wZW5DaGFuZ2VcIixcImxvYWRpbmdcIl0sY0U9W1wiY2xhc3NOYW1lXCIsXCJ0eXBlXCIsXCJwbGFjZWhvbGRlclwiLFwidmFyaWFudFwiLFwiZGlzYWJsZWRcIixcIm9uQ2hhbmdlXCJdLHVFPVtcImNsYXNzTmFtZVwiLFwiZHJvcGRvd25Qb3J0YWxSb290XCIsXCJkcm9wZG93blBvcnRhbElkXCIsXCJjaGlsZHJlblwiXSxkRT1bXCJjbGFzc05hbWVcIixcImljb25cIixcImNoaWxkcmVuXCJdLGZFPVtcImNsYXNzTmFtZVwiXTtmdW5jdGlvbiBtRShlLHQpe3ZhciBuPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7dCYmKHI9ci5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCkuZW51bWVyYWJsZX0pKSksbi5wdXNoLmFwcGx5KG4scil9cmV0dXJuIG59ZnVuY3Rpb24gaEUoZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49bnVsbCE9YXJndW1lbnRzW3RdP2FyZ3VtZW50c1t0XTp7fTt0JTI/bUUoT2JqZWN0KG4pLCEwKS5mb3JFYWNoKChmdW5jdGlvbih0KXtwRShlLHQsblt0XSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhuKSk6bUUoT2JqZWN0KG4pKS5mb3JFYWNoKChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iobix0KSl9KSl9cmV0dXJuIGV9ZnVuY3Rpb24gcEUoZSx0LG4pe3JldHVybih0PWZ1bmN0aW9uKGUpe3ZhciB0PWZ1bmN0aW9uKGUpe2lmKFwib2JqZWN0XCIhPWFFKGUpfHwhZSlyZXR1cm4gZTt2YXIgdD1lW1N5bWJvbC50b1ByaW1pdGl2ZV07aWYodm9pZCAwIT09dCl7dmFyIG49dC5jYWxsKGUsXCJzdHJpbmdcIik7aWYoXCJvYmplY3RcIiE9YUUobikpcmV0dXJuIG47dGhyb3cgbmV3IFR5cGVFcnJvcihcIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuXCIpfXJldHVybiBTdHJpbmcoZSl9KGUpO3JldHVyblwic3ltYm9sXCI9PWFFKHQpP3Q6dCtcIlwifSh0KSlpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPW4sZX1mdW5jdGlvbiBnRSgpe3JldHVybiBnRT1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LGdFLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiB5RShlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlW1wiQEBpdGVyYXRvclwiXTtpZihudWxsIT1uKXt2YXIgcixvLGkscyxhPVtdLGw9ITAsYz0hMTt0cnl7aWYoaT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2w9ITF9ZWxzZSBmb3IoOyEobD0ocj1pLmNhbGwobikpLmRvbmUpJiYoYS5wdXNoKHIudmFsdWUpLGEubGVuZ3RoIT09dCk7bD0hMCk7fWNhdGNoKGUpe2M9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFsJiZudWxsIT1uLnJldHVybiYmKHM9bi5yZXR1cm4oKSxPYmplY3QocykhPT1zKSlyZXR1cm59ZmluYWxseXtpZihjKXRocm93IG99fXJldHVybiBhfX0oZSx0KXx8ZnVuY3Rpb24oZSx0KXtpZihlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSlyZXR1cm4gdkUoZSx0KTt2YXIgbj17fS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpO3JldHVyblwiT2JqZWN0XCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpLFwiTWFwXCI9PT1ufHxcIlNldFwiPT09bj9BcnJheS5mcm9tKGUpOlwiQXJndW1lbnRzXCI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT92RShlLHQpOnZvaWQgMH19KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKX1mdW5jdGlvbiB2RShlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9QXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gYkUoZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuLHIsbz1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG49e307Zm9yKHZhciByIGluIGUpaWYoe30uaGFzT3duUHJvcGVydHkuY2FsbChlLHIpKXtpZih0LmluY2x1ZGVzKHIpKWNvbnRpbnVlO25bcl09ZVtyXX1yZXR1cm4gbn0oZSx0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO2ZvcihyPTA7cjxpLmxlbmd0aDtyKyspbj1pW3JdLHQuaW5jbHVkZXMobil8fHt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSxuKSYmKG9bbl09ZVtuXSl9cmV0dXJuIG99dmFyIHhFPSgwLGEuY3JlYXRlQ29udGV4dCkoKSx3RT1mdW5jdGlvbigpe3JldHVybigwLGEudXNlQ29udGV4dCkoeEUpfSxTRT0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe3ZhciBuPWUuY2xhc3NOYW1lLHI9ZS5zaXplLG89dm9pZCAwPT09cj9cInNtXCI6cixpPWUub3BlbixzPXZvaWQgMCE9PWkmJmksbD1lLm9uT3BlbkNoYW5nZSxjPXZvaWQgMD09PWw/ZnVuY3Rpb24oKXt9OmwsdT1lLmxvYWRpbmcsZD12b2lkIDAhPT11JiZ1LGY9YkUoZSxsRSksbT15RSgoMCxhLnVzZVN0YXRlKShcIlwiKSwyKSxoPW1bMF0scD1tWzFdLGc9eUUoKDAsYS51c2VTdGF0ZSkobnVsbCE9ZCYmZCksMikseT1nWzBdLHY9Z1sxXSxiPVFyKHtvcGVuOnMsb25PcGVuQ2hhbmdlOmMscGxhY2VtZW50OlwiYm90dG9tLXN0YXJ0XCIsd2hpbGVFbGVtZW50c01vdW50ZWQ6Ym4sbWlkZGxld2FyZTpbRG4oXCJzbVwiPT09bz80OjYpLEFuKHtwYWRkaW5nOjEwfSksSW4oe2FwcGx5OmZ1bmN0aW9uKGUpe3ZhciB0PWUucmVjdHMsbj1lLmVsZW1lbnRzLHI9ZS5hdmFpbGFibGVIZWlnaHQ7bi5mbG9hdGluZy5zdHlsZS5tYXhIZWlnaHQ9XCJcIi5jb25jYXQocixcInB4XCIpLG4uZmxvYXRpbmcuc3R5bGUud2lkdGg9XCJcIi5jb25jYXQodC5yZWZlcmVuY2Uud2lkdGgsXCJweFwiKSxuLmZsb2F0aW5nLnN0eWxlLmZvbnRGYW1pbHk9d2luZG93LmdldENvbXB1dGVkU3R5bGUobi5yZWZlcmVuY2UpLmZvbnRGYW1pbHl9fSldfSkseD1iLnJlZnMsdz1iLmZsb2F0aW5nU3R5bGVzLFM9Yi5jb250ZXh0LGs9cm8oW0pyKFMpXSksRT1rLmdldFJlZmVyZW5jZVByb3BzLEM9ay5nZXRGbG9hdGluZ1Byb3BzO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KHhFLlByb3ZpZGVyLHt2YWx1ZTp7c2l6ZTpvLG9wZW46cyxvbk9wZW5DaGFuZ2U6YyxyZWZzOngsZmxvYXRpbmdTdHlsZXM6dyxjb250ZXh0OlMsZ2V0UmVmZXJlbmNlUHJvcHM6RSxnZXRGbG9hdGluZ1Byb3BzOkMsc2VhcmNoVGVybTpoLHNldFNlYXJjaFRlcm06cCxpc0xvYWRpbmc6eSxzZXRJc0xvYWRpbmc6dn19LFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIixnRSh7Y2xhc3NOYW1lOm9lKFwic2VhcmNoYm94LXdyYXBwZXIgYm94LWJvcmRlciByZWxhdGl2ZSB3LWZ1bGxcIixuKX0sZix7cmVmOnR9KSkpfSkpO1NFLmRpc3BsYXlOYW1lPVwiU2VhcmNoQm94XCI7dmFyIGtFPSgwLGEuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5jbGFzc05hbWUscj1lLnR5cGUsbz12b2lkIDA9PT1yP1widGV4dFwiOnIsaT1lLnBsYWNlaG9sZGVyLHM9dm9pZCAwPT09aT9cIlNlYXJjaC4uLlwiOmksYT1lLnZhcmlhbnQsbD12b2lkIDA9PT1hP1wicHJpbWFyeVwiOmEsYz1lLmRpc2FibGVkLHU9dm9pZCAwIT09YyYmYyxkPWUub25DaGFuZ2UsZj12b2lkIDA9PT1kP2Z1bmN0aW9uKCl7fTpkLG09YkUoZSxjRSksaD13RSgpLHA9aC5zaXplLGc9aC5vbk9wZW5DaGFuZ2UseT1oLnJlZnMsdj1oLmdldFJlZmVyZW5jZVByb3BzLGI9aC5zZWFyY2hUZXJtLHg9aC5zZXRTZWFyY2hUZXJtLHc9XCJsZ1wiPT09cD9cInNtXCI6XCJ4c1wiO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsZ0Uoe3RhYkluZGV4OjAscmVmOnkuc2V0UmVmZXJlbmNlLGNsYXNzTmFtZTpvZShcInctZnVsbCBncm91cCByZWxhdGl2ZSBmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBnYXAtMS41IGZvY3VzLXdpdGhpbjp6LTEwIHRyYW5zaXRpb24tY29sb3JzIGVhc2UtaW4tb3V0IGR1cmF0aW9uLTE1MFwiLGlFW2xdLG9FLmlucHV0W3BdLHU/c0VbbF06XCJmb2N1cy13aXRoaW46cmluZy0yIGZvY3VzLXdpdGhpbjpyaW5nLWZvY3VzIGZvY3VzLXdpdGhpbjpyaW5nLW9mZnNldC0yIGZvY3VzLXdpdGhpbjpib3JkZXItZm9jdXMtYm9yZGVyIGZvY3VzLXdpdGhpbjpob3Zlcjpib3JkZXItZm9jdXMtYm9yZGVyXCIpfSx2KSxSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6b2UockVbcF0sdT9cInRleHQtaWNvbi1kaXNhYmxlZFwiOlwidGV4dC1pY29uLXNlY29uZGFyeSBncm91cC1ob3Zlcjp0ZXh0LWljb24tcHJpbWFyeSBncm91cC1mb2N1cy13aXRoaW46dGV4dC1pY29uLXByaW1hcnlcIixcImZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCIpfSxSZWFjdC5jcmVhdGVFbGVtZW50KHVtLG51bGwpKSxSZWFjdC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIixnRSh7dHlwZTpvLHJlZjp0LGNsYXNzTmFtZTpvZShyRVtwXSxcImZsZXgtZ3JvdyBmb250LW1lZGl1bSBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSBvdXRsaW5lLW5vbmUgYm9yZGVyLXRyYW5zcGFyZW50IGZvY3VzOnJpbmctMCBweS0wXCIsdT9zRVtsXTpbXCJ0ZXh0LWZpZWxkLXBsYWNlaG9sZGVyIGZvY3VzLXdpdGhpbjp0ZXh0LWZpZWxkLWlucHV0IGdyb3VwLWhvdmVyOnRleHQtZmllbGQtaW5wdXRcIixcInBsYWNlaG9sZGVyOnRleHQtZmllbGQtcGxhY2Vob2xkZXJcIl0sbiksZGlzYWJsZWQ6dSx2YWx1ZTpiLG9uQ2hhbmdlOmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0LnZhbHVlO3godCksZih0KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBnJiYodC50cmltKCk/ZyghMCk6ZyghMSkpfSxwbGFjZWhvbGRlcjpzfSxtKSksUmVhY3QuY3JlYXRlRWxlbWVudChabyx7bGFiZWw6XCIvXCIsc2l6ZTp3LHR5cGU6XCJyb3VuZGVkXCIsdmFyaWFudDpcIm5ldXRyYWxcIn0pKX0pKTtrRS5kaXNwbGF5TmFtZT1cIlNlYXJjaEJveC5JbnB1dFwiO3ZhciBFRT1mdW5jdGlvbihlKXt2YXIgdD1lLmNsYXNzTmFtZSxuPWUuZHJvcGRvd25Qb3J0YWxSb290LHI9dm9pZCAwPT09bj9udWxsOm4sbz1lLmRyb3Bkb3duUG9ydGFsSWQsaT12b2lkIDA9PT1vP1wiXCI6byxzPWUuY2hpbGRyZW4sYT1iRShlLHVFKSxsPXdFKCksYz1sLnNpemUsdT1sLm9wZW4sZD1sLnJlZnMsZj1sLmZsb2F0aW5nU3R5bGVzLG09bC5nZXRGbG9hdGluZ1Byb3BzO3JldHVybiB1P1JlYWN0LmNyZWF0ZUVsZW1lbnQoSXIse2lkOmkscm9vdDpyfSxSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsZ0Uoe3JlZjpkLnNldEZsb2F0aW5nLHN0eWxlOmhFKHt9LGYpLGNsYXNzTmFtZTpvZShcImJnLWJhY2tncm91bmQtcHJpbWFyeSByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWJvcmRlci1zdWJ0bGUgc2hhZG93LXNvZnQtc2hhZG93LWxnIG92ZXJmbG93LXktYXV0byB0ZXh0LXdyYXBcIixvRS5kaWFsb2dbY10sdCl9LG0oKSxhKSxzKSk6bnVsbH07RUUuZGlzcGxheU5hbWU9XCJTZWFyY2hCb3guQ29udGVudFwiO3ZhciBDRT1mdW5jdGlvbihlKXt2YXIgdD1lLmZpbHRlcixuPXZvaWQgMD09PXR8fHQscj1lLmNoaWxkcmVuLG89d0UoKSxpPW8uc2VhcmNoVGVybSxzPW8uaXNMb2FkaW5nO2lmKCFuKXJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsbnVsbCxyKTt2YXIgbD1hLkNoaWxkcmVuLnRvQXJyYXkocikubWFwKChmdW5jdGlvbihlKXtpZihlLnR5cGU9PT1QRSl7dmFyIHQ9YS5DaGlsZHJlbi50b0FycmF5KGUucHJvcHMuY2hpbGRyZW4pLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUucHJvcHMuY2hpbGRyZW4udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhpLnRvTG93ZXJDYXNlKCkpfSkpO3JldHVybiB0Lmxlbmd0aD4wPygwLGEuY2xvbmVFbGVtZW50KShlLHtjaGlsZHJlbjp0fSk6bnVsbH1yZXR1cm4gZX0pKS5maWx0ZXIoQm9vbGVhbik7cmV0dXJuIHM/UmVhY3QuY3JlYXRlRWxlbWVudChORSxudWxsKTpSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsbnVsbCxsLnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGUhPT1URX0pKT9sOlJlYWN0LmNyZWF0ZUVsZW1lbnQoX0UsbnVsbCkpfTtDRS5kaXNwbGF5TmFtZT1cIlNlYXJjaEJveC5MaXN0XCI7dmFyIF9FPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2hpbGRyZW4sbj12b2lkIDA9PT10P1wiTm8gcmVzdWx0cyBmb3VuZC5cIjp0LHI9d0UoKS5zaXplO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcImZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCIsb0UuaXRlbVtyXSxcInRleHQtdGV4dC10ZXJ0aWFyeSBwLTRcIil9LG4pfTtfRS5kaXNwbGF5TmFtZT1cIlNlYXJjaEJveC5FbXB0eVwiO3ZhciBQRT1mdW5jdGlvbihlKXt2YXIgdD1lLmhlYWRpbmcsbj1lLmNoaWxkcmVuLHI9d0UoKS5zaXplO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShvRS5jb250ZW50W3JdLG9FLml0ZW1bcl0pfSx0JiZSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShvRS50aXRsZVtyXSxcInRleHQtdGV4dC1zZWNvbmRhcnlcIil9LHQpLG4pfTtQRS5kaXNwbGF5TmFtZT1cIlNlYXJjaEJveC5Hcm91cFwiO3ZhciBPRT0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe3ZhciBuPWUuY2xhc3NOYW1lLHI9ZS5pY29uLG89ZS5jaGlsZHJlbixpPWJFKGUsZEUpLHM9d0UoKS5zaXplO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsZ0Uoe3JlZjp0LGNsYXNzTmFtZTpvZShcImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktc3RhcnQgZ2FwLTEgcC0xIGhvdmVyOmJnLWJhY2tncm91bmQtc2Vjb25kYXJ5IGZvY3VzOmJnLWJhY2tncm91bmQtc2Vjb25kYXJ5IGN1cnNvci1wb2ludGVyXCIsb0UuaXRlbVtzXSl9LGkpLHImJlJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse2NsYXNzTmFtZTpvZShvRS5pY29uW3NdLFwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIil9LHIpLFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse2NsYXNzTmFtZTpvZShcImZsZXgtZ3JvdyBwLTEgZm9udC1ub3JtYWwgY3Vyc29yLXBvaW50ZXJcIixvRS5pdGVtW3NdLG4pfSxvKSl9KSk7T0UuZGlzcGxheU5hbWU9XCJTZWFyY2hCb3guSXRlbVwiO3ZhciBORT1mdW5jdGlvbihlKXt2YXIgdD1lLmxvYWRpbmdJY29uLG49dm9pZCAwPT09dD9SZWFjdC5jcmVhdGVFbGVtZW50KGJpLG51bGwpOnQscj13RSgpLnNpemUsbz0oMCxhLmNsb25lRWxlbWVudCkobix7c2l6ZTpyfSk7cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOm9lKFwiZmxleCBqdXN0aWZ5LWNlbnRlciBwLTRcIixyRVtyXSxvRS5pdGVtW3JdKX0sbyl9O05FLmRpc3BsYXlOYW1lPVwiU2VhcmNoQm94LkxvYWRpbmdcIjt2YXIgVEU9KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmNsYXNzTmFtZSxyPWJFKGUsZkUpO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiaHJcIixnRSh7cmVmOnQsY2xhc3NOYW1lOm9lKFwiYm9yZGVyLTAgYm9yZGVyLXQgYm9yZGVyLWJvcmRlci1zdWJ0bGUgYm9yZGVyLXNvbGlkIG0tMFwiLG4pfSxyKSl9KSk7VEUuZGlzcGxheU5hbWU9XCJTZWFyY2hCb3guU2VwYXJhdG9yXCIsU0UuSW5wdXQ9a0UsU0UuTG9hZGluZz1ORSxTRS5TZXBhcmF0b3I9VEUsU0UuQ29udGVudD1FRSxTRS5MaXN0PUNFLFNFLkVtcHR5PV9FLFNFLkdyb3VwPVBFLFNFLkl0ZW09T0U7dmFyIE1FPVNFO2Z1bmN0aW9uIFJFKGUpe3JldHVybiBSRT1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJlwic3ltYm9sXCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT9cInN5bWJvbFwiOnR5cGVvZiBlfSxSRShlKX12YXIgREU9W1wiY2hpbGRyZW5cIixcImNsYXNzTmFtZVwiXSxqRT1bXCJjaGlsZHJlblwiXSxBRT1bXCJjaGlsZHJlblwiLFwiYXNcIl07ZnVuY3Rpb24gSUUoZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuLHIsbz1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG49e307Zm9yKHZhciByIGluIGUpaWYoe30uaGFzT3duUHJvcGVydHkuY2FsbChlLHIpKXtpZih0LmluY2x1ZGVzKHIpKWNvbnRpbnVlO25bcl09ZVtyXX1yZXR1cm4gbn0oZSx0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO2ZvcihyPTA7cjxpLmxlbmd0aDtyKyspbj1pW3JdLHQuaW5jbHVkZXMobil8fHt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSxuKSYmKG9bbl09ZVtuXSl9cmV0dXJuIG99ZnVuY3Rpb24gTEUoZSx0KXt2YXIgbj1PYmplY3Qua2V5cyhlKTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO3QmJihyPXIuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSkpLG4ucHVzaC5hcHBseShuLHIpfXJldHVybiBufWZ1bmN0aW9uIEZFKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPW51bGwhPWFyZ3VtZW50c1t0XT9hcmd1bWVudHNbdF06e307dCUyP0xFKE9iamVjdChuKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7ekUoZSx0LG5bdF0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobikpOkxFKE9iamVjdChuKSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG4sdCkpfSkpfXJldHVybiBlfWZ1bmN0aW9uIHpFKGUsdCxuKXtyZXR1cm4odD1mdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlKXtpZihcIm9iamVjdFwiIT1SRShlKXx8IWUpcmV0dXJuIGU7dmFyIHQ9ZVtTeW1ib2wudG9QcmltaXRpdmVdO2lmKHZvaWQgMCE9PXQpe3ZhciBuPXQuY2FsbChlLFwic3RyaW5nXCIpO2lmKFwib2JqZWN0XCIhPVJFKG4pKXJldHVybiBuO3Rocm93IG5ldyBUeXBlRXJyb3IoXCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLlwiKX1yZXR1cm4gU3RyaW5nKGUpfShlKTtyZXR1cm5cInN5bWJvbFwiPT1SRSh0KT90OnQrXCJcIn0odCkpaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1uLGV9ZnVuY3Rpb24gQkUoKXtyZXR1cm4gQkU9T2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduLmJpbmQoKTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJihlW3JdPW5bcl0pfXJldHVybiBlfSxCRS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gV0UoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPUFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfXZhciBWRT0oMCxhLmNyZWF0ZUNvbnRleHQpKCksVUU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wbGFjZW1lbnQsbj12b2lkIDA9PT10P1wiYm90dG9tXCI6dCxyPWUub2Zmc2V0LG89dm9pZCAwPT09cj8xMDpyLGk9ZS5ib3VuZGFyeSxzPXZvaWQgMD09PWk/XCJjbGlwcGluZ0FuY2VzdG9yc1wiOmksYz1lLmRyb3Bkb3duUG9ydGFsUm9vdCx1PXZvaWQgMD09PWM/bnVsbDpjLGQ9ZS5kcm9wZG93blBvcnRhbElkLGY9dm9pZCAwPT09ZD9cIlwiOmQsbT1lLmNoaWxkcmVuLGg9ZS5jbGFzc05hbWUscD1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlW1wiQEBpdGVyYXRvclwiXTtpZihudWxsIT1uKXt2YXIgcixvLGkscyxhPVtdLGw9ITAsYz0hMTt0cnl7aWYoaT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2w9ITF9ZWxzZSBmb3IoOyEobD0ocj1pLmNhbGwobikpLmRvbmUpJiYoYS5wdXNoKHIudmFsdWUpLGEubGVuZ3RoIT09dCk7bD0hMCk7fWNhdGNoKGUpe2M9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFsJiZudWxsIT1uLnJldHVybiYmKHM9bi5yZXR1cm4oKSxPYmplY3QocykhPT1zKSlyZXR1cm59ZmluYWxseXtpZihjKXRocm93IG99fXJldHVybiBhfX0oZSx0KXx8ZnVuY3Rpb24oZSx0KXtpZihlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSlyZXR1cm4gV0UoZSx0KTt2YXIgbj17fS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpO3JldHVyblwiT2JqZWN0XCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpLFwiTWFwXCI9PT1ufHxcIlNldFwiPT09bj9BcnJheS5mcm9tKGUpOlwiQXJndW1lbnRzXCI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9XRShlLHQpOnZvaWQgMH19KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKX0oKDAsYS51c2VTdGF0ZSkoITEpLDIpLGc9cFswXSx5PXBbMV0sdj1Rcih7b3BlbjpnLG9uT3BlbkNoYW5nZTp5LHBsYWNlbWVudDpuLHN0cmF0ZWd5OlwiYWJzb2x1dGVcIixtaWRkbGV3YXJlOltEbihvKSxBbih7Ym91bmRhcnk6c30pLGpuKHtib3VuZGFyeTpzfSldLHdoaWxlRWxlbWVudHNNb3VudGVkOmJufSksYj12LnJlZnMseD12LmZsb2F0aW5nU3R5bGVzLHc9di5jb250ZXh0LFM9cm8oW3FyKHcpLEpyKHcpLGZvKHcse3JvbGU6XCJtZW51XCJ9KV0pLGs9Uy5nZXRSZWZlcmVuY2VQcm9wcyxFPVMuZ2V0RmxvYXRpbmdQcm9wcyxDPXBvKHcse2R1cmF0aW9uOjE1MCxpbml0aWFsOntvcGFjaXR5OjAsc2NhbGU6Ljk1fSxvcGVuOntvcGFjaXR5OjEsc2NhbGU6MX0sY2xvc2U6e29wYWNpdHk6MCxzY2FsZTouOTV9fSksXz1DLmlzTW91bnRlZCxQPUMuc3R5bGVzO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChWRS5Qcm92aWRlcix7dmFsdWU6e2hhbmRsZUNsb3NlOmZ1bmN0aW9uKCl7cmV0dXJuIHkoITEpfX19LGwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcInJlbGF0aXZlIGlubGluZS1ibG9ja1wiLGgpfSxsKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLEJFKHtyZWY6Yi5zZXRSZWZlcmVuY2Usb25DbGljazpmdW5jdGlvbigpe3JldHVybiB5KChmdW5jdGlvbihlKXtyZXR1cm4hZX0pKX0scm9sZTpcImJ1dHRvblwiLHRhYkluZGV4OjB9LGsoKSx7Y2xhc3NOYW1lOlwiY3Vyc29yLXBvaW50ZXJcIn0pLGwoKS5DaGlsZHJlbi5tYXAobSwoZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuXCJEcm9wZG93bk1lbnUuVHJpZ2dlclwiPT09KG51bGw9PT0odD1lLnR5cGUpfHx2b2lkIDA9PT10P3ZvaWQgMDp0LmRpc3BsYXlOYW1lKT9lOm51bGx9KSkpLF8mJmwoKS5jcmVhdGVFbGVtZW50KElyLHtpZDpmLHJvb3Q6dX0sbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIixCRSh7cmVmOmIuc2V0RmxvYXRpbmcsc3R5bGU6RkUoRkUoe30seCksUCl9LEUoKSksbCgpLkNoaWxkcmVuLm1hcChtLChmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm5cIkRyb3Bkb3duTWVudS5Db250ZW50XCI9PT0obnVsbD09PSh0PWUudHlwZSl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuZGlzcGxheU5hbWUpP2U6bnVsbH0pKSkpKSl9O1VFLmRpc3BsYXlOYW1lPVwiRHJvcGRvd25NZW51XCI7dmFyICRFPWwoKS5mb3J3YXJkUmVmKChmdW5jdGlvbihlLHQpe3ZhciBuPWUuY2hpbGRyZW4scj1lLmNsYXNzTmFtZTtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7cmVmOnQscm9sZTpcImJ1dHRvblwiLHRhYkluZGV4OjAsY2xhc3NOYW1lOnJ9LG4pfSkpOyRFLmRpc3BsYXlOYW1lPVwiRHJvcGRvd25NZW51LlRyaWdnZXJcIjt2YXIgWUU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGlsZHJlbixuPWUuY2xhc3NOYW1lLHI9SUUoZSxERSk7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcImJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWJvcmRlci1zdWJ0bGUgcm91bmRlZC1tZCBzaGFkb3ctbGcgb3ZlcmZsb3ctaGlkZGVuXCIsbil9LGwoKS5jcmVhdGVFbGVtZW50KFpTLHIsdCkpfTtZRS5kaXNwbGF5TmFtZT1cIkRyb3Bkb3duTWVudS5Db250ZW50XCI7dmFyIEhFPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2hpbGRyZW4sbj1JRShlLGpFKTtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoWlMuTGlzdCxuLHQpfTtIRS5kaXNwbGF5TmFtZT1cIkRyb3Bkb3duTWVudS5MaXN0XCI7dmFyIEtFPWZ1bmN0aW9uKGUpe3ZhciB0LG49ZS5jaGlsZHJlbixyPWUuYXMsbz12b2lkIDA9PT1yP1pTLkl0ZW06cixpPUlFKGUsQUUpLHM9KDAsYS51c2VDb250ZXh0KShWRSkuaGFuZGxlQ2xvc2U7cmV0dXJuIG4/bz09PWEuRnJhZ21lbnQ/KDAsYS5jbG9uZUVsZW1lbnQpKG4se29uQ2xpY2s6aWUobnVsbD09PSh0PW4ucHJvcHMpfHx2b2lkIDA9PT10P3ZvaWQgMDp0Lm9uQ2xpY2sscyl9KTpsKCkuY3JlYXRlRWxlbWVudChvLEJFKHt9LGkse2NsYXNzTmFtZTpcInB4LTJcIixvbkNsaWNrOmllKGkub25DbGljayxzKX0pLG4pOm51bGx9O0tFLmRpc3BsYXlOYW1lPVwiRHJvcGRvd25NZW51Lkl0ZW1cIjt2YXIgcUU9ZnVuY3Rpb24oZSl7dmFyIHQ9QkUoe30sKGZ1bmN0aW9uKGUpe2lmKG51bGw9PWUpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBkZXN0cnVjdHVyZSBcIitlKX0oZSksZSkpO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChaUy5TZXBhcmF0b3IsdCl9O3FFLmRpc3BsYXlOYW1lPVwiRHJvcGRvd25NZW51LlNlcGFyYXRvclwiO3ZhciBHRT1PYmplY3QuYXNzaWduKFVFLHtUcmlnZ2VyOiRFLENvbnRlbnQ6WUUsTGlzdDpIRSxJdGVtOktFLFNlcGFyYXRvcjpxRX0pO2Z1bmN0aW9uIFhFKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1BcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgWkU9KDAsYS5jcmVhdGVDb250ZXh0KSgpLEpFPWZ1bmN0aW9uKCl7cmV0dXJuKDAsYS51c2VDb250ZXh0KShaRSl9LFFFPU9iamVjdC5hc3NpZ24oKGZ1bmN0aW9uKGUpe3ZhciB0PWUub3BlbixuPWUuc2V0T3BlbixyPWUuY2hpbGRyZW4sbz1lLnRyaWdnZXIsaT1lLmNsYXNzTmFtZSxzPWUuZXhpdE9uQ2xpY2tPdXRzaWRlLGw9dm9pZCAwIT09cyYmcyxjPWUuZXhpdE9uRXNjLHU9dm9pZCAwPT09Y3x8YyxkPWUuZGVzaWduLGY9dm9pZCAwPT09ZD9cInNpbXBsZVwiOmQsbT1lLnBvc2l0aW9uLGg9dm9pZCAwPT09bT9cInJpZ2h0XCI6bSxwPWUudHJhbnNpdGlvbkR1cmF0aW9uLGc9dm9pZCAwPT09cD8uMjpwLHk9ZS5zY3JvbGxMb2NrLHY9dm9pZCAwPT09eXx8eSxiPXZvaWQgMCE9PXQmJnZvaWQgMCE9PW4seD1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlW1wiQEBpdGVyYXRvclwiXTtpZihudWxsIT1uKXt2YXIgcixvLGkscyxhPVtdLGw9ITAsYz0hMTt0cnl7aWYoaT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2w9ITF9ZWxzZSBmb3IoOyEobD0ocj1pLmNhbGwobikpLmRvbmUpJiYoYS5wdXNoKHIudmFsdWUpLGEubGVuZ3RoIT09dCk7bD0hMCk7fWNhdGNoKGUpe2M9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFsJiZudWxsIT1uLnJldHVybiYmKHM9bi5yZXR1cm4oKSxPYmplY3QocykhPT1zKSlyZXR1cm59ZmluYWxseXtpZihjKXRocm93IG99fXJldHVybiBhfX0oZSx0KXx8ZnVuY3Rpb24oZSx0KXtpZihlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSlyZXR1cm4gWEUoZSx0KTt2YXIgbj17fS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpO3JldHVyblwiT2JqZWN0XCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpLFwiTWFwXCI9PT1ufHxcIlNldFwiPT09bj9BcnJheS5mcm9tKGUpOlwiQXJndW1lbnRzXCI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9YRShlLHQpOnZvaWQgMH19KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKX0oKDAsYS51c2VTdGF0ZSkoITEpLDIpLHc9eFswXSxTPXhbMV0saz0oMCxhLnVzZVJlZikobnVsbCksRT0oMCxhLnVzZVJlZikobnVsbCksQz0oMCxhLnVzZU1lbW8pKChmdW5jdGlvbigpe3JldHVybiBiP3Q6d30pLFt0LHddKSxfPSgwLGEudXNlTWVtbykoKGZ1bmN0aW9uKCl7cmV0dXJuIGI/bjpTfSksW1MsU10pLFA9ZnVuY3Rpb24oKXtDfHxfKCEwKX0sTz1mdW5jdGlvbigpe0MmJl8oITEpfSxOPSgwLGEudXNlQ2FsbGJhY2spKChmdW5jdGlvbigpe3JldHVybigwLGEuaXNWYWxpZEVsZW1lbnQpKG8pPygwLGEuY2xvbmVFbGVtZW50KShvLHtvbkNsaWNrOmllKFAsby5wcm9wcy5vbkNsaWNrKX0pOlwiZnVuY3Rpb25cIj09dHlwZW9mIG8/byh7b25DbGljazpQfSk6bnVsbH0pLFtvLFAsT10pLFQ9ZnVuY3Rpb24oZSl7XCJFc2NhcGVcIj09PWUua2V5JiZ1JiZPKCl9LE09ZnVuY3Rpb24oZSl7bCYmay5jdXJyZW50JiYhay5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0KSYmTygpfTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKGZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLFQpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIixNKSxmdW5jdGlvbigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLFQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIixNKX19KSxbQ10pLCgwLGEudXNlRWZmZWN0KSgoZnVuY3Rpb24oKXtpZih2KXJldHVybiBDJiYoZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcImh0bWxcIikuc3R5bGUub3ZlcmZsb3c9XCJoaWRkZW5cIiksZnVuY3Rpb24oKXtkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiaHRtbFwiKS5zdHlsZS5vdmVyZmxvdz1cIlwifX0pLFtDXSksUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCxudWxsLE4oKSxSZWFjdC5jcmVhdGVFbGVtZW50KFpFLlByb3ZpZGVyLHt2YWx1ZTp7b3BlbjpDLHNldE9wZW46XyxoYW5kbGVDbG9zZTpPLGRlc2lnbjpmLHBvc2l0aW9uOmgsZHJhd2VyQ29udGFpbmVyUmVmOkUsZHJhd2VyUmVmOmssdHJhbnNpdGlvbkR1cmF0aW9uOntkdXJhdGlvbjpnfX19LFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOm9lKFwiZml4ZWQgei05OTk5OTkgdy0wIGgtMCBvdmVyZmxvdy12aXNpYmxlXCIsaSkscm9sZTpcImRpYWxvZ1wiLHJlZjpFfSxyKSkpfSkse2Rpc3BsYXlOYW1lOlwiRHJhd2VyXCJ9KSxlQz17bGVmdDp7b3Blbjp7eDowfSxleGl0Ont4OlwiLTEwMCVcIn19LHJpZ2h0OntvcGVuOnt4OjB9LGV4aXQ6e3g6XCIxMDAlXCJ9fX0sdEM9T2JqZWN0LmFzc2lnbigoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGlsZHJlbixuPWUuY2xhc3NOYW1lLHI9SkUoKSxvPXIub3BlbixpPXIucG9zaXRpb24scz1yLmhhbmRsZUNsb3NlLGE9ci5kcmF3ZXJSZWYsbD1yLnRyYW5zaXRpb25EdXJhdGlvbjtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChvaCxudWxsLG8mJlJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwiZml4ZWQgaW5zZXQtMFwifSxSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpvZShcImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGgtZnVsbFwiLHtcImp1c3RpZnktc3RhcnRcIjpcImxlZnRcIj09PWksXCJqdXN0aWZ5LWVuZFwiOlwicmlnaHRcIj09PWl9KX0sUmVhY3QuY3JlYXRlRWxlbWVudChlbS5kaXYse3JlZjphLGNsYXNzTmFtZTpvZShcImZsZXggZmxleC1jb2wgZ2FwLTUgdy0xMjAgaC1mdWxsIGJnLWJhY2tncm91bmQtcHJpbWFyeSBzaGFkb3ctMnhsIG15LTUgb3ZlcmZsb3ctaGlkZGVuXCIsbiksaW5pdGlhbDpcImV4aXRcIixhbmltYXRlOlwib3BlblwiLGV4aXQ6XCJleGl0XCIsdmFyaWFudHM6ZUNbaV0sdHJhbnNpdGlvbjpsfSxcImZ1bmN0aW9uXCI9PXR5cGVvZiB0P3Qoe2Nsb3NlOnN9KTp0KSkpKX0pLHtkaXNwbGF5TmFtZTpcIkRyYXdlci5QYW5lbFwifSksbkM9W1wiY2hpbGRyZW5cIixcImNsYXNzTmFtZVwiXTtmdW5jdGlvbiByQygpe3JldHVybiByQz1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LHJDLmFwcGx5KG51bGwsYXJndW1lbnRzKX12YXIgb0M9T2JqZWN0LmFzc2lnbigoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGlsZHJlbixuPWUuY2xhc3NOYW1lLHI9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuLHIsbz1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG49e307Zm9yKHZhciByIGluIGUpaWYoe30uaGFzT3duUHJvcGVydHkuY2FsbChlLHIpKXtpZih0LmluY2x1ZGVzKHIpKWNvbnRpbnVlO25bcl09ZVtyXX1yZXR1cm4gbn0oZSx0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO2ZvcihyPTA7cjxpLmxlbmd0aDtyKyspbj1pW3JdLHQuaW5jbHVkZXMobil8fHt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSxuKSYmKG9bbl09ZVtuXSl9cmV0dXJuIG99KGUsbkMpO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsckMoe2NsYXNzTmFtZTpvZShcInNwYWNlLXktMiBweC01IHB0LTUgcGItMVwiLG4pfSxyKSx0KX0pLHtkaXNwbGF5TmFtZTpcIkRyYXdlci5IZWFkZXJcIn0pLGlDPVtcImNoaWxkcmVuXCIsXCJhc1wiLFwiY2xhc3NOYW1lXCJdO2Z1bmN0aW9uIHNDKCl7cmV0dXJuIHNDPU9iamVjdC5hc3NpZ24/T2JqZWN0LmFzc2lnbi5iaW5kKCk6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKSh7fSkuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiYoZVtyXT1uW3JdKX1yZXR1cm4gZX0sc0MuYXBwbHkobnVsbCxhcmd1bWVudHMpfXZhciBhQz1PYmplY3QuYXNzaWduKChmdW5jdGlvbihlKXt2YXIgdD1lLmNoaWxkcmVuLG49ZS5hcyxyPXZvaWQgMD09PW4/XCJoM1wiOm4sbz1lLmNsYXNzTmFtZSxpPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbixyLG89ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPXt9O2Zvcih2YXIgciBpbiBlKWlmKHt9Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSl7aWYodC5pbmNsdWRlcyhyKSljb250aW51ZTtuW3JdPWVbcl19cmV0dXJuIG59KGUsdCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKW49aVtyXSx0LmluY2x1ZGVzKG4pfHx7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsbikmJihvW25dPWVbbl0pfXJldHVybiBvfShlLGlDKTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChyLHNDKHtjbGFzc05hbWU6b2UoXCJ0ZXh0LWJhc2UgZm9udC1zZW1pYm9sZCB0ZXh0LXRleHQtcHJpbWFyeSBtLTAgcC0wXCIsbyl9LGkpLHQpfSkse2Rpc3BsYXlOYW1lOlwiRHJhd2VyLlRpdGxlXCJ9KSxsQz1bXCJjaGlsZHJlblwiLFwiYXNcIixcImNsYXNzTmFtZVwiXTtmdW5jdGlvbiBjQygpe3JldHVybiBjQz1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LGNDLmFwcGx5KG51bGwsYXJndW1lbnRzKX12YXIgdUM9T2JqZWN0LmFzc2lnbigoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGlsZHJlbixuPWUuYXMscj12b2lkIDA9PT1uP1wicFwiOm4sbz1lLmNsYXNzTmFtZSxpPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbixyLG89ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPXt9O2Zvcih2YXIgciBpbiBlKWlmKHt9Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSl7aWYodC5pbmNsdWRlcyhyKSljb250aW51ZTtuW3JdPWVbcl19cmV0dXJuIG59KGUsdCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKW49aVtyXSx0LmluY2x1ZGVzKG4pfHx7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsbikmJihvW25dPWVbbl0pfXJldHVybiBvfShlLGxDKTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChyLGNDKHtjbGFzc05hbWU6b2UoXCJ0ZXh0LXNtIGZvbnQtbm9ybWFsIHRleHQtdGV4dC1zZWNvbmRhcnkgbXktMCBtbC0wIG1yLTEgcC0wXCIsbyl9LGkpLHQpfSkse2Rpc3BsYXlOYW1lOlwiRHJhd2VyLkRlc2NyaXB0aW9uXCJ9KSxkQz1bXCJjaGlsZHJlblwiLFwiY2xhc3NOYW1lXCJdO2Z1bmN0aW9uIGZDKCl7cmV0dXJuIGZDPU9iamVjdC5hc3NpZ24/T2JqZWN0LmFzc2lnbi5iaW5kKCk6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKSh7fSkuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiYoZVtyXT1uW3JdKX1yZXR1cm4gZX0sZkMuYXBwbHkobnVsbCxhcmd1bWVudHMpfXZhciBtQz1PYmplY3QuYXNzaWduKChmdW5jdGlvbihlKXt2YXIgdD1lLmNoaWxkcmVuLG49ZS5jbGFzc05hbWUscj1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG4scixvPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbj17fTtmb3IodmFyIHIgaW4gZSlpZih7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikpe2lmKHQuaW5jbHVkZXMocikpY29udGludWU7bltyXT1lW3JdfXJldHVybiBufShlLHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKyluPWlbcl0sdC5pbmNsdWRlcyhuKXx8e30ucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLG4pJiYob1tuXT1lW25dKX1yZXR1cm4gb30oZSxkQyk7cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIixmQyh7Y2xhc3NOYW1lOm9lKFwicHgtNSBmbGV4IGZsZXgtY29sIGZsZXgtMSBvdmVyZmxvdy15LWF1dG8gb3ZlcmZsb3cteC1oaWRkZW5cIixuKX0sciksdCl9KSx7ZGlzcGxheU5hbWU6XCJEcmF3ZXIuQm9keVwifSksaEM9T2JqZWN0LmFzc2lnbigoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jaGlsZHJlbixuPWUuY2xhc3NOYW1lLHI9SkUoKSxvPXIuZGVzaWduLGk9ci5oYW5kbGVDbG9zZTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6b2UoXCJwLTUgZmxleCBqdXN0aWZ5LWVuZCBnYXAtMyBtdC1hdXRvXCIse1wiYmctYmFja2dyb3VuZC1zZWNvbmRhcnlcIjpcImZvb3Rlci1kaXZpZGVkXCI9PT1vfSxuKX0sdD9cImZ1bmN0aW9uXCI9PXR5cGVvZiB0P3Qoe2Nsb3NlOml9KTp0Om51bGwpfSkse2Rpc3BsYXlOYW1lOlwiRHJhd2VyLkZvb3RlclwifSkscEM9W1wiY2xhc3NOYW1lXCJdLGdDPVtcImNoaWxkcmVuXCIsXCJhc1wiXTtmdW5jdGlvbiB5Qygpe3JldHVybiB5Qz1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LHlDLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiB2QyhlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG4scixvPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbj17fTtmb3IodmFyIHIgaW4gZSlpZih7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikpe2lmKHQuaW5jbHVkZXMocikpY29udGludWU7bltyXT1lW3JdfXJldHVybiBufShlLHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKyluPWlbcl0sdC5pbmNsdWRlcyhuKXx8e30ucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLG4pJiYob1tuXT1lW25dKX1yZXR1cm4gb312YXIgYkM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jbGFzc05hbWUsbj12QyhlLHBDKTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLHlDKHtjbGFzc05hbWU6b2UoXCJiZy10cmFuc3BhcmVudCBpbmxpbmUtZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgYm9yZGVyLTAgcC0xIG0tMCBjdXJzb3ItcG9pbnRlciBmb2N1czpvdXRsaW5lLW5vbmUgb3V0bGluZS1ub25lIHNoYWRvdy1ub25lXCIsdCksXCJhcmlhLWxhYmVsXCI6XCJDbG9zZSBkcmF3ZXJcIn0sbiksUmVhY3QuY3JlYXRlRWxlbWVudChxbyx7Y2xhc3NOYW1lOlwic2l6ZS00IHRleHQtdGV4dC1wcmltYXJ5IHNocmluay0wXCJ9KSl9LHhDPU9iamVjdC5hc3NpZ24oKGZ1bmN0aW9uKGUpe3ZhciB0PWUuY2hpbGRyZW4sbj1lLmFzLHI9dm9pZCAwPT09bj9hLkZyYWdtZW50Om4sbz12QyhlLGdDKSxpPUpFKCkuaGFuZGxlQ2xvc2U7cmV0dXJuKDAsYS5pc1ZhbGlkRWxlbWVudCkodCkmJnQ/cj09PWEuRnJhZ21lbnQ/XCJmdW5jdGlvblwiPT10eXBlb2YgdD90KHtjbG9zZTppfSk6KDAsYS5jbG9uZUVsZW1lbnQpKHQse29uQ2xpY2s6aX0pOlJlYWN0LmNyZWF0ZUVsZW1lbnQocix5Qyh7fSxvLHtvbkNsaWNrOml9KSx0KTpSZWFjdC5jcmVhdGVFbGVtZW50KGJDLHlDKHtvbkNsaWNrOml9LG8pKX0pLHtkaXNwbGF5TmFtZTpcIkRyYXdlci5DbG9zZUJ1dHRvblwifSksd0M9W1wiY2xhc3NOYW1lXCJdO2Z1bmN0aW9uIFNDKCl7cmV0dXJuIFNDPU9iamVjdC5hc3NpZ24/T2JqZWN0LmFzc2lnbi5iaW5kKCk6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKSh7fSkuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiYoZVtyXT1uW3JdKX1yZXR1cm4gZX0sU0MuYXBwbHkobnVsbCxhcmd1bWVudHMpfXZhciBrQz17b3Blbjp7b3BhY2l0eToxfSxleGl0OntvcGFjaXR5OjB9fSxFQz1PYmplY3QuYXNzaWduKChmdW5jdGlvbihlKXt2YXIgdD1lLmNsYXNzTmFtZSxuPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbixyLG89ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPXt9O2Zvcih2YXIgciBpbiBlKWlmKHt9Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSl7aWYodC5pbmNsdWRlcyhyKSljb250aW51ZTtuW3JdPWVbcl19cmV0dXJuIG59KGUsdCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKW49aVtyXSx0LmluY2x1ZGVzKG4pfHx7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsbikmJihvW25dPWVbbl0pfXJldHVybiBvfShlLHdDKSxyPUpFKCksbz1yLm9wZW4saT1yLmRyYXdlckNvbnRhaW5lclJlZixzPXIudHJhbnNpdGlvbkR1cmF0aW9uO3JldHVybiBpLmN1cnJlbnQmJigwLHRuLmNyZWF0ZVBvcnRhbCkoUmVhY3QuY3JlYXRlRWxlbWVudChvaCxudWxsLG8mJlJlYWN0LmNyZWF0ZUVsZW1lbnQoZW0uZGl2LFNDKHtjbGFzc05hbWU6b2UoXCJmaXhlZCBpbnNldC0wIC16LTEwIGJnLWJhY2tncm91bmQtaW52ZXJzZS85MCBiYWNrZHJvcC1ibHVyLXNtXCIsdCl9LG4se2luaXRpYWw6XCJleGl0XCIsYW5pbWF0ZTpcIm9wZW5cIixleGl0OlwiZXhpdFwiLHZhcmlhbnRzOmtDLHRyYW5zaXRpb246c30pKSksaS5jdXJyZW50KX0pLHtkaXNwbGF5TmFtZTpcIkRyYXdlci5CYWNrZHJvcFwifSksQ0M9T2JqZWN0LmFzc2lnbihRRSx7UGFuZWw6dEMsSGVhZGVyOm9DLFRpdGxlOmFDLERlc2NyaXB0aW9uOnVDLEJvZHk6bUMsQ2xvc2VCdXR0b246eEMsRm9vdGVyOmhDLEJhY2tkcm9wOkVDfSk7Y29uc3QgX0M9a2UoXCJDaGV2cm9uTGVmdFwiLFtbXCJwYXRoXCIse2Q6XCJtMTUgMTgtNi02IDYtNlwiLGtleTpcIjF3bmZnM1wifV1dKTt2YXIgUEM9e3hzOntnZW5lcmFsOlwicHgtMiB0ZXh0LXhzXCIsZWxsaXBzZTpcInB4LTEuNSB0ZXh0LXhzXCIsaWNvbjpcInB4LTEgdGV4dC14c1wifSxzbTp7Z2VuZXJhbDpcInB4LTMgdGV4dC14c1wiLGVsbGlwc2U6XCJweC0yLjUgdGV4dC14c1wiLGljb246XCJweC0yIHRleHQteHNcIn0sbWQ6e2dlbmVyYWw6XCJweC00IHRleHQtc21cIixlbGxpcHNlOlwicHgtMi41IHRleHQtc21cIixpY29uOlwicHgtMi41IHRleHQtc21cIn0sbGc6e2dlbmVyYWw6XCJweC01IHRleHQtYmFzZVwiLGVsbGlwc2U6XCJweC00IHRleHQtYmFzZVwiLGljb246XCJweC0zIHRleHQtYmFzZVwifX0sT0M9XCJncm91cCBkaXNhYmxlZDpib3JkZXItZmllbGQtYm9yZGVyLWRpc2FibGVkIG9wYWNpdHktNTBcIixOQz1bXCJzaXplXCIsXCJkaXNhYmxlZFwiLFwiY2hpbGRyZW5cIixcImNsYXNzTmFtZVwiXSxUQz1bXCJjbGFzc05hbWVcIl0sTUM9W1wiaXNBY3RpdmVcIixcImNsYXNzTmFtZVwiLFwiY2hpbGRyZW5cIl0sUkM9W1wiaWNvblwiLFwiaXNBY3RpdmVcIixcInRhZ1wiLFwiY2hpbGRyZW5cIixcImNsYXNzTmFtZVwiXSxEQz1bXCJpY29uXCJdLGpDPVtcImljb25cIl07ZnVuY3Rpb24gQUMoKXtyZXR1cm4gQUM9T2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduLmJpbmQoKTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJihlW3JdPW5bcl0pfXJldHVybiBlfSxBQy5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gSUMoZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuLHIsbz1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG49e307Zm9yKHZhciByIGluIGUpaWYoe30uaGFzT3duUHJvcGVydHkuY2FsbChlLHIpKXtpZih0LmluY2x1ZGVzKHIpKWNvbnRpbnVlO25bcl09ZVtyXX1yZXR1cm4gbn0oZSx0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO2ZvcihyPTA7cjxpLmxlbmd0aDtyKyspbj1pW3JdLHQuaW5jbHVkZXMobil8fHt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoZSxuKSYmKG9bbl09ZVtuXSl9cmV0dXJuIG99dmFyIExDPSgwLGEuY3JlYXRlQ29udGV4dCkoKSxGQz1mdW5jdGlvbigpe3JldHVybigwLGEudXNlQ29udGV4dCkoTEMpfSx6Qz1mdW5jdGlvbihlKXt2YXIgdD1lLnNpemUsbj12b2lkIDA9PT10P1wic21cIjp0LHI9ZS5kaXNhYmxlZCxvPXZvaWQgMCE9PXImJnIsaT1lLmNoaWxkcmVuLHM9ZS5jbGFzc05hbWUsYT1JQyhlLE5DKTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChMQy5Qcm92aWRlcix7dmFsdWU6e3NpemU6bixkaXNhYmxlZDpvfX0sUmVhY3QuY3JlYXRlRWxlbWVudChcIm5hdlwiLEFDKHtyb2xlOlwibmF2aWdhdGlvblwiLFwiYXJpYS1sYWJlbFwiOlwicGFnaW5hdGlvblwiLGNsYXNzTmFtZTpvZShcImZsZXggdy1mdWxsIGp1c3RpZnktY2VudGVyIGJveC1ib3JkZXIgbS0wXCIscyl9LGEpLGkpKX07ekMuZGlzcGxheU5hbWU9XCJQYWdpbmF0aW9uXCI7dmFyIEJDPSgwLGEuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5jbGFzc05hbWUscj1JQyhlLFRDKTtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcInVsXCIsQUMoe3JlZjp0LGNsYXNzTmFtZTpvZShcIm0tMCBwLTAgdy1mdWxsIGZsZXgganVzdGlmeS1jZW50ZXIgZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC0xXCIsXCJsaXN0LW5vbmVcIixuKX0scikpfSkpO0JDLmRpc3BsYXlOYW1lPVwiUGFnaW5hdGlvbi5Db250ZW50XCI7dmFyIFdDPSgwLGEuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5pc0FjdGl2ZSxyPXZvaWQgMCE9PW4mJm4sbz1lLmNsYXNzTmFtZSxpPWUuY2hpbGRyZW4scz1JQyhlLE1DKSxhPUZDKCkuZGlzYWJsZWQ7cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJsaVwiLHtyZWY6dCx0YWJJbmRleDowLGNsYXNzTmFtZTpvZShcImZsZXhcIixhJiZPQyl9LFJlYWN0LmNyZWF0ZUVsZW1lbnQoVkMsQUMoe2lzQWN0aXZlOnIsZGlzYWJsZWQ6YSxjbGFzc05hbWU6b30scyksaSkpfSkpO1dDLmRpc3BsYXlOYW1lPVwiUGFnaW5hdGlvbi5JdGVtXCI7dmFyIFZDPWZ1bmN0aW9uKGUpe3ZhciB0PWUuaWNvbixuPXZvaWQgMD09PXQ/bnVsbDp0LHI9ZS5pc0FjdGl2ZSxvPXZvaWQgMCE9PXImJnIsaT1lLnRhZyxzPXZvaWQgMD09PWk/XCJhXCI6aSxhPWUuY2hpbGRyZW4sbD1lLmNsYXNzTmFtZSxjPUlDKGUsUkMpLHU9RkMoKSxkPXUuc2l6ZSxmPXUuZGlzYWJsZWQ7cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoZGUsQUMoe3RhZzpzLHNpemU6ZCx2YXJpYW50OlwiZ2hvc3RcIixjbGFzc05hbWU6b2UoXCJuby11bmRlcmxpbmUgYmctdHJhbnNwYXJlbnQgcC0wIG0tMCBib3JkZXItbm9uZVwiLFwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgcm91bmRlZCB0ZXh0LWJ1dHRvbi1zZWNvbmRhcnlcIixcImZvY3VzOm91dGxpbmUgZm9jdXM6b3V0bGluZS0xIGZvY3VzOm91dGxpbmUtYm9yZGVyLXN1YnRsZSBmb2N1czpiZy1idXR0b24tdGVydGlhcnktaG92ZXJcIixQQ1tkXS5nZW5lcmFsLCFmJiZvJiZcInRleHQtYnV0dG9uLXByaW1hcnkgYWN0aXZlOnRleHQtYnV0dG9uLXByaW1hcnkgYmctYnJhbmQtYmFja2dyb3VuZC01MFwiLGYmJltPQyxcImdyb3VwLWRpc2FibGVkOnRleHQtaWNvbi1kaXNhYmxlZFwiLFwiZ3JvdXAtZGlzYWJsZWQ6dGV4dC1maWVsZC1jb2xvci1kaXNhYmxlZFwiLFwiZm9jdXM6cmluZy10cmFuc3BhcmVudCBjdXJzb3Itbm90LWFsbG93ZWRcIl0sbCksZGlzYWJsZWQ6ZixpY29uOm59LGMpLGEpfSxVQz1mdW5jdGlvbihlKXt2YXIgdD1lLmljb24sbj12b2lkIDA9PT10P1JlYWN0LmNyZWF0ZUVsZW1lbnQoX0MsbnVsbCk6dCxyPUlDKGUsREMpLG89RkMoKSxpPW8uc2l6ZSxzPW8uZGlzYWJsZWQ7cmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJsaVwiLHt0YWJJbmRleDowLGNsYXNzTmFtZTpvZShcImZsZXhcIixzJiZPQyl9LFJlYWN0LmNyZWF0ZUVsZW1lbnQoVkMsQUMoe2ljb246bixcImFyaWEtbGFiZWxcIjpcIkdvIHRvIHByZXZpb3VzIHBhZ2VcIixjbGFzc05hbWU6UENbaV0uaWNvbn0scikpKX07VUMuZGlzcGxheU5hbWU9XCJQYWdpbmF0aW9uLlByZXZpb3VzXCI7dmFyICRDPWZ1bmN0aW9uKGUpe3ZhciB0PWUuaWNvbixuPXZvaWQgMD09PXQ/UmVhY3QuY3JlYXRlRWxlbWVudCh1ayxudWxsKTp0LHI9SUMoZSxqQyksbz1GQygpLGk9by5zaXplLHM9by5kaXNhYmxlZDtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImxpXCIse3RhYkluZGV4OjAsY2xhc3NOYW1lOm9lKFwiZmxleFwiLHMmJk9DKX0sUmVhY3QuY3JlYXRlRWxlbWVudChWQyxBQyh7aWNvbjpuLFwiYXJpYS1sYWJlbFwiOlwiR28gdG8gbmV4dCBwYWdlXCIsY2xhc3NOYW1lOlBDW2ldLmljb259LHIpKSl9OyRDLmRpc3BsYXlOYW1lPVwiUGFnaW5hdGlvbi5OZXh0XCI7dmFyIFlDPWZ1bmN0aW9uKGUpe3ZhciB0PUZDKCksbj10LnNpemUscj10LmRpc2FibGVkO3JldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwibGlcIix7dGFiSW5kZXg6MCxjbGFzc05hbWU6b2UoXCJmbGV4XCIsciYmT0MpfSxSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLEFDKHtjbGFzc05hbWU6b2UoUENbbl0uZWxsaXBzZSxyJiZPQyl9LGUpLFwiLi4uXCIpKX07WUMuZGlzcGxheU5hbWU9XCJQYWdpbmF0aW9uLkVsbGlwc2lzXCIsekMuQ29udGVudD1CQyx6Qy5JdGVtPVdDLHpDLlByZXZpb3VzPVVDLHpDLk5leHQ9JEMsekMuRWxsaXBzaXM9WUM7dmFyIEhDLEtDLHFDLEdDPXpDO2Z1bmN0aW9uIFhDKGUpe3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIix7Li4uZX0pfWZ1bmN0aW9uIFpDKGUpe3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsey4uLmV9KX1mdW5jdGlvbiBKQyhlKXtjb25zdHtzaXplOnQ9MjQsb3JpZW50YXRpb246bj1cImxlZnRcIixjbGFzc05hbWU6cn09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KFwic3ZnXCIse2NsYXNzTmFtZTpyLHdpZHRoOnQsaGVpZ2h0OnQsdmlld0JveDpcIjAgMCAyNCAyNFwifSxcInVwXCI9PT1uJiZhLmNyZWF0ZUVsZW1lbnQoXCJwb2x5Z29uXCIse3BvaW50czpcIjYuNzcgMTcgMTIuNSAxMS40MyAxOC4yNCAxNyAyMCAxNS4yOCAxMi41IDggNSAxNS4yOFwifSksXCJkb3duXCI9PT1uJiZhLmNyZWF0ZUVsZW1lbnQoXCJwb2x5Z29uXCIse3BvaW50czpcIjYuNzcgOCAxMi41IDEzLjU3IDE4LjI0IDggMjAgOS43MiAxMi41IDE3IDUgOS43MlwifSksXCJsZWZ0XCI9PT1uJiZhLmNyZWF0ZUVsZW1lbnQoXCJwb2x5Z29uXCIse3BvaW50czpcIjE2IDE4LjExMiA5LjgxMTExMTExIDEyIDE2IDUuODc3MzMzMzMgMTQuMDg4ODg4OSA0IDYgMTIgMTQuMDg4ODg4OSAyMFwifSksXCJyaWdodFwiPT09biYmYS5jcmVhdGVFbGVtZW50KFwicG9seWdvblwiLHtwb2ludHM6XCI4IDE4LjYxMiAxNC4xODg4ODg5IDEyLjUgOCA2LjM3NzMzMzMzIDkuOTExMTExMTEgNC41IDE4IDEyLjUgOS45MTExMTExMSAyMC41XCJ9KSl9ZnVuY3Rpb24gUUMoZSl7Y29uc3R7ZGF5OnQsbW9kaWZpZXJzOm4sLi4ucn09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KFwidGRcIix7Li4ucn0pfWZ1bmN0aW9uIGVfKGUpe2NvbnN0e2RheTp0LG1vZGlmaWVyczpuLC4uLnJ9PWUsbz1hLnVzZVJlZihudWxsKTtyZXR1cm4gYS51c2VFZmZlY3QoKCgpPT57bi5mb2N1c2VkJiZvLmN1cnJlbnQ/LmZvY3VzKCl9KSxbbi5mb2N1c2VkXSksYS5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIse3JlZjpvLC4uLnJ9KX1mdW5jdGlvbiB0XyhlKXtjb25zdHtvcHRpb25zOnQsY2xhc3NOYW1lOm4sY29tcG9uZW50czpyLGNsYXNzTmFtZXM6bywuLi5pfT1lLHM9W29bSEMuRHJvcGRvd25dLG5dLmpvaW4oXCIgXCIpLGw9dD8uZmluZCgoKHt2YWx1ZTplfSk9PmU9PT1pLnZhbHVlKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChcInNwYW5cIix7XCJkYXRhLWRpc2FibGVkXCI6aS5kaXNhYmxlZCxjbGFzc05hbWU6b1tIQy5Ecm9wZG93blJvb3RdfSxhLmNyZWF0ZUVsZW1lbnQoci5TZWxlY3Qse2NsYXNzTmFtZTpzLC4uLml9LHQ/Lm1hcCgoKHt2YWx1ZTplLGxhYmVsOnQsZGlzYWJsZWQ6bn0pPT5hLmNyZWF0ZUVsZW1lbnQoci5PcHRpb24se2tleTplLHZhbHVlOmUsZGlzYWJsZWQ6bn0sdCkpKSksYS5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6b1tIQy5DYXB0aW9uTGFiZWxdLFwiYXJpYS1oaWRkZW5cIjohMH0sbD8ubGFiZWwsYS5jcmVhdGVFbGVtZW50KHIuQ2hldnJvbix7b3JpZW50YXRpb246XCJkb3duXCIsc2l6ZToxOCxjbGFzc05hbWU6b1tIQy5DaGV2cm9uXX0pKSl9ZnVuY3Rpb24gbl8oZSl7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChcImRpdlwiLHsuLi5lfSl9ZnVuY3Rpb24gcl8oZSl7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChcImRpdlwiLHsuLi5lfSl9ZnVuY3Rpb24gb18oZSl7Y29uc3R7Y2FsZW5kYXJNb250aDp0LGRpc3BsYXlJbmRleDpuLC4uLnJ9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChcImRpdlwiLHsuLi5yfSxlLmNoaWxkcmVuKX1mdW5jdGlvbiBpXyhlKXtjb25zdHtjYWxlbmRhck1vbnRoOnQsZGlzcGxheUluZGV4Om4sLi4ucn09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KFwiZGl2XCIsey4uLnJ9KX1mdW5jdGlvbiBzXyhlKXtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KFwidGFibGVcIix7Li4uZX0pfWZ1bmN0aW9uIGFfKGUpe3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Li4uZX0pfSFmdW5jdGlvbihlKXtlLlJvb3Q9XCJyb290XCIsZS5DaGV2cm9uPVwiY2hldnJvblwiLGUuRGF5PVwiZGF5XCIsZS5EYXlCdXR0b249XCJkYXlfYnV0dG9uXCIsZS5DYXB0aW9uTGFiZWw9XCJjYXB0aW9uX2xhYmVsXCIsZS5Ecm9wZG93bnM9XCJkcm9wZG93bnNcIixlLkRyb3Bkb3duPVwiZHJvcGRvd25cIixlLkRyb3Bkb3duUm9vdD1cImRyb3Bkb3duX3Jvb3RcIixlLkZvb3Rlcj1cImZvb3RlclwiLGUuTW9udGhHcmlkPVwibW9udGhfZ3JpZFwiLGUuTW9udGhDYXB0aW9uPVwibW9udGhfY2FwdGlvblwiLGUuTW9udGhzRHJvcGRvd249XCJtb250aHNfZHJvcGRvd25cIixlLk1vbnRoPVwibW9udGhcIixlLk1vbnRocz1cIm1vbnRoc1wiLGUuTmF2PVwibmF2XCIsZS5OZXh0TW9udGhCdXR0b249XCJidXR0b25fbmV4dFwiLGUuUHJldmlvdXNNb250aEJ1dHRvbj1cImJ1dHRvbl9wcmV2aW91c1wiLGUuV2Vlaz1cIndlZWtcIixlLldlZWtzPVwid2Vla3NcIixlLldlZWtkYXk9XCJ3ZWVrZGF5XCIsZS5XZWVrZGF5cz1cIndlZWtkYXlzXCIsZS5XZWVrTnVtYmVyPVwid2Vla19udW1iZXJcIixlLldlZWtOdW1iZXJIZWFkZXI9XCJ3ZWVrX251bWJlcl9oZWFkZXJcIixlLlllYXJzRHJvcGRvd249XCJ5ZWFyc19kcm9wZG93blwifShIQ3x8KEhDPXt9KSksZnVuY3Rpb24oZSl7ZS5kaXNhYmxlZD1cImRpc2FibGVkXCIsZS5oaWRkZW49XCJoaWRkZW5cIixlLm91dHNpZGU9XCJvdXRzaWRlXCIsZS5mb2N1c2VkPVwiZm9jdXNlZFwiLGUudG9kYXk9XCJ0b2RheVwifShLQ3x8KEtDPXt9KSksZnVuY3Rpb24oZSl7ZS5yYW5nZV9lbmQ9XCJyYW5nZV9lbmRcIixlLnJhbmdlX21pZGRsZT1cInJhbmdlX21pZGRsZVwiLGUucmFuZ2Vfc3RhcnQ9XCJyYW5nZV9zdGFydFwiLGUuc2VsZWN0ZWQ9XCJzZWxlY3RlZFwifShxQ3x8KHFDPXt9KSk7Y29uc3QgbF89KDAsYS5jcmVhdGVDb250ZXh0KSh2b2lkIDApO2Z1bmN0aW9uIGNfKCl7Y29uc3QgZT0oMCxhLnVzZUNvbnRleHQpKGxfKTtpZih2b2lkIDA9PT1lKXRocm93IG5ldyBFcnJvcihcInVzZURheVBpY2tlcigpIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBjdXN0b20gY29tcG9uZW50LlwiKTtyZXR1cm4gZX1mdW5jdGlvbiB1XyhlKXtjb25zdHtjb21wb25lbnRzOnR9PWNfKCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCh0LkRyb3Bkb3duLHsuLi5lfSl9ZnVuY3Rpb24gZF8oZSl7Y29uc3R7b25QcmV2aW91c0NsaWNrOnQsb25OZXh0Q2xpY2s6bixwcmV2aW91c01vbnRoOnIsbmV4dE1vbnRoOm8sLi4uaX09ZSx7Y29tcG9uZW50czpzLGNsYXNzTmFtZXM6bCxsYWJlbHM6e2xhYmVsUHJldmlvdXM6YyxsYWJlbE5leHQ6dX19PWNfKCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChcIm5hdlwiLHsuLi5pfSxhLmNyZWF0ZUVsZW1lbnQocy5QcmV2aW91c01vbnRoQnV0dG9uLHt0eXBlOlwiYnV0dG9uXCIsY2xhc3NOYW1lOmxbSEMuUHJldmlvdXNNb250aEJ1dHRvbl0sdGFiSW5kZXg6cj92b2lkIDA6LTEsZGlzYWJsZWQ6IXJ8fHZvaWQgMCxcImFyaWEtbGFiZWxcIjpjKHIpLG9uQ2xpY2s6ZS5vblByZXZpb3VzQ2xpY2t9LGEuY3JlYXRlRWxlbWVudChzLkNoZXZyb24se2Rpc2FibGVkOiFyfHx2b2lkIDAsY2xhc3NOYW1lOmxbSEMuQ2hldnJvbl0sb3JpZW50YXRpb246XCJsZWZ0XCJ9KSksYS5jcmVhdGVFbGVtZW50KHMuTmV4dE1vbnRoQnV0dG9uLHt0eXBlOlwiYnV0dG9uXCIsY2xhc3NOYW1lOmxbSEMuTmV4dE1vbnRoQnV0dG9uXSx0YWJJbmRleDpvP3ZvaWQgMDotMSxkaXNhYmxlZDohb3x8dm9pZCAwLFwiYXJpYS1sYWJlbFwiOnUobyksb25DbGljazplLm9uTmV4dENsaWNrfSxhLmNyZWF0ZUVsZW1lbnQocy5DaGV2cm9uLHtkaXNhYmxlZDohb3x8dm9pZCAwLG9yaWVudGF0aW9uOlwicmlnaHRcIixjbGFzc05hbWU6bFtIQy5DaGV2cm9uXX0pKSl9ZnVuY3Rpb24gZl8oZSl7Y29uc3R7Y29tcG9uZW50czp0fT1jXygpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQodC5CdXR0b24sey4uLmV9KX1mdW5jdGlvbiBtXyhlKXtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KFwib3B0aW9uXCIsey4uLmV9KX1mdW5jdGlvbiBoXyhlKXtjb25zdHtjb21wb25lbnRzOnR9PWNfKCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCh0LkJ1dHRvbix7Li4uZX0pfWZ1bmN0aW9uIHBfKGUpe3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Li4uZX0pfWZ1bmN0aW9uIGdfKGUpe3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoXCJzZWxlY3RcIix7Li4uZX0pfWZ1bmN0aW9uIHlfKGUpe2NvbnN0e3dlZWs6dCwuLi5ufT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoXCJ0clwiLHsuLi5ufSl9ZnVuY3Rpb24gdl8oZSl7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChcInRoXCIsey4uLmV9KX1mdW5jdGlvbiBiXyhlKXtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KFwidGhlYWRcIixudWxsLGEuY3JlYXRlRWxlbWVudChcInRyXCIsey4uLmV9KSl9ZnVuY3Rpb24geF8oZSl7Y29uc3R7d2Vlazp0LC4uLm59PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChcInRoXCIsey4uLm59KX1mdW5jdGlvbiB3XyhlKXtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KFwidGhcIix7Li4uZX0pfWZ1bmN0aW9uIFNfKGUpe3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoXCJ0Ym9keVwiLHsuLi5lfSl9ZnVuY3Rpb24ga18oZSl7Y29uc3R7Y29tcG9uZW50czp0fT1jXygpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQodC5Ecm9wZG93bix7Li4uZX0pfU1hdGgucG93KDEwLDgpO2NvbnN0IEVfPTYwNDhlNSxDXz04NjRlNSxQXz1TeW1ib2wuZm9yKFwiY29uc3RydWN0RGF0ZUZyb21cIik7ZnVuY3Rpb24gT18oZSx0KXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBlP2UodCk6ZSYmXCJvYmplY3RcIj09dHlwZW9mIGUmJlBfIGluIGU/ZVtQX10odCk6ZSBpbnN0YW5jZW9mIERhdGU/bmV3IGUuY29uc3RydWN0b3IodCk6bmV3IERhdGUodCl9ZnVuY3Rpb24gTl8oZSx0KXtyZXR1cm4gT18odHx8ZSxlKX1mdW5jdGlvbiBUXyhlLHQsbil7Y29uc3Qgcj1OXyhlLG4/LmluKTtyZXR1cm4gaXNOYU4odCk/T18obj8uaW58fGUsTmFOKTp0PyhyLnNldERhdGUoci5nZXREYXRlKCkrdCkscik6cn1mdW5jdGlvbiBNXyhlLHQsbil7Y29uc3Qgcj1OXyhlLG4/LmluKTtpZihpc05hTih0KSlyZXR1cm4gT18obj8uaW58fGUsTmFOKTtpZighdClyZXR1cm4gcjtjb25zdCBvPXIuZ2V0RGF0ZSgpLGk9T18obj8uaW58fGUsci5nZXRUaW1lKCkpO3JldHVybiBpLnNldE1vbnRoKHIuZ2V0TW9udGgoKSt0KzEsMCksbz49aS5nZXREYXRlKCk/aTooci5zZXRGdWxsWWVhcihpLmdldEZ1bGxZZWFyKCksaS5nZXRNb250aCgpLG8pLHIpfWZ1bmN0aW9uIFJfKGUsdCxuKXtyZXR1cm4gVF8oZSw3KnQsbil9ZnVuY3Rpb24gRF8oZSl7Y29uc3QgdD1OXyhlKSxuPW5ldyBEYXRlKERhdGUuVVRDKHQuZ2V0RnVsbFllYXIoKSx0LmdldE1vbnRoKCksdC5nZXREYXRlKCksdC5nZXRIb3VycygpLHQuZ2V0TWludXRlcygpLHQuZ2V0U2Vjb25kcygpLHQuZ2V0TWlsbGlzZWNvbmRzKCkpKTtyZXR1cm4gbi5zZXRVVENGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCkpLCtlLStufWZ1bmN0aW9uIGpfKGUsLi4udCl7Y29uc3Qgbj1PXy5iaW5kKG51bGwsZXx8dC5maW5kKChlPT5cIm9iamVjdFwiPT10eXBlb2YgZSkpKTtyZXR1cm4gdC5tYXAobil9ZnVuY3Rpb24gQV8oZSx0KXtjb25zdCBuPU5fKGUsdD8uaW4pO3JldHVybiBuLnNldEhvdXJzKDAsMCwwLDApLG59ZnVuY3Rpb24gSV8oZSx0LG4pe2NvbnN0W3Isb109al8obj8uaW4sZSx0KSxpPUFfKHIpLHM9QV8obyksYT0raS1EXyhpKSxsPStzLURfKHMpO3JldHVybiBNYXRoLnJvdW5kKChhLWwpL0NfKX1sZXQgTF89e307ZnVuY3Rpb24gRl8oKXtyZXR1cm4gTF99ZnVuY3Rpb24gel8oZSx0KXtjb25zdCBuPUZfKCkscj10Py53ZWVrU3RhcnRzT24/P3Q/LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz9uLndlZWtTdGFydHNPbj8/bi5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/MCxvPU5fKGUsdD8uaW4pLGk9by5nZXREYXkoKSxzPTYrKGk8cj8tNzowKS0oaS1yKTtyZXR1cm4gby5zZXREYXRlKG8uZ2V0RGF0ZSgpK3MpLG8uc2V0SG91cnMoMjMsNTksNTksOTk5KSxvfWZ1bmN0aW9uIEJfKGUsdCl7Y29uc3Qgbj1OXyhlLHQ/LmluKSxyPW4uZ2V0TW9udGgoKTtyZXR1cm4gbi5zZXRGdWxsWWVhcihuLmdldEZ1bGxZZWFyKCkscisxLDApLG4uc2V0SG91cnMoMjMsNTksNTksOTk5KSxufWNvbnN0IFdfPXtsZXNzVGhhblhTZWNvbmRzOntvbmU6XCJsZXNzIHRoYW4gYSBzZWNvbmRcIixvdGhlcjpcImxlc3MgdGhhbiB7e2NvdW50fX0gc2Vjb25kc1wifSx4U2Vjb25kczp7b25lOlwiMSBzZWNvbmRcIixvdGhlcjpcInt7Y291bnR9fSBzZWNvbmRzXCJ9LGhhbGZBTWludXRlOlwiaGFsZiBhIG1pbnV0ZVwiLGxlc3NUaGFuWE1pbnV0ZXM6e29uZTpcImxlc3MgdGhhbiBhIG1pbnV0ZVwiLG90aGVyOlwibGVzcyB0aGFuIHt7Y291bnR9fSBtaW51dGVzXCJ9LHhNaW51dGVzOntvbmU6XCIxIG1pbnV0ZVwiLG90aGVyOlwie3tjb3VudH19IG1pbnV0ZXNcIn0sYWJvdXRYSG91cnM6e29uZTpcImFib3V0IDEgaG91clwiLG90aGVyOlwiYWJvdXQge3tjb3VudH19IGhvdXJzXCJ9LHhIb3Vyczp7b25lOlwiMSBob3VyXCIsb3RoZXI6XCJ7e2NvdW50fX0gaG91cnNcIn0seERheXM6e29uZTpcIjEgZGF5XCIsb3RoZXI6XCJ7e2NvdW50fX0gZGF5c1wifSxhYm91dFhXZWVrczp7b25lOlwiYWJvdXQgMSB3ZWVrXCIsb3RoZXI6XCJhYm91dCB7e2NvdW50fX0gd2Vla3NcIn0seFdlZWtzOntvbmU6XCIxIHdlZWtcIixvdGhlcjpcInt7Y291bnR9fSB3ZWVrc1wifSxhYm91dFhNb250aHM6e29uZTpcImFib3V0IDEgbW9udGhcIixvdGhlcjpcImFib3V0IHt7Y291bnR9fSBtb250aHNcIn0seE1vbnRoczp7b25lOlwiMSBtb250aFwiLG90aGVyOlwie3tjb3VudH19IG1vbnRoc1wifSxhYm91dFhZZWFyczp7b25lOlwiYWJvdXQgMSB5ZWFyXCIsb3RoZXI6XCJhYm91dCB7e2NvdW50fX0geWVhcnNcIn0seFllYXJzOntvbmU6XCIxIHllYXJcIixvdGhlcjpcInt7Y291bnR9fSB5ZWFyc1wifSxvdmVyWFllYXJzOntvbmU6XCJvdmVyIDEgeWVhclwiLG90aGVyOlwib3ZlciB7e2NvdW50fX0geWVhcnNcIn0sYWxtb3N0WFllYXJzOntvbmU6XCJhbG1vc3QgMSB5ZWFyXCIsb3RoZXI6XCJhbG1vc3Qge3tjb3VudH19IHllYXJzXCJ9fTtmdW5jdGlvbiBWXyhlKXtyZXR1cm4odD17fSk9Pntjb25zdCBuPXQud2lkdGg/U3RyaW5nKHQud2lkdGgpOmUuZGVmYXVsdFdpZHRoO3JldHVybiBlLmZvcm1hdHNbbl18fGUuZm9ybWF0c1tlLmRlZmF1bHRXaWR0aF19fWNvbnN0IFVfPXtkYXRlOlZfKHtmb3JtYXRzOntmdWxsOlwiRUVFRSwgTU1NTSBkbywgeVwiLGxvbmc6XCJNTU1NIGRvLCB5XCIsbWVkaXVtOlwiTU1NIGQsIHlcIixzaG9ydDpcIk1NL2RkL3l5eXlcIn0sZGVmYXVsdFdpZHRoOlwiZnVsbFwifSksdGltZTpWXyh7Zm9ybWF0czp7ZnVsbDpcImg6bW06c3MgYSB6enp6XCIsbG9uZzpcImg6bW06c3MgYSB6XCIsbWVkaXVtOlwiaDptbTpzcyBhXCIsc2hvcnQ6XCJoOm1tIGFcIn0sZGVmYXVsdFdpZHRoOlwiZnVsbFwifSksZGF0ZVRpbWU6Vl8oe2Zvcm1hdHM6e2Z1bGw6XCJ7e2RhdGV9fSAnYXQnIHt7dGltZX19XCIsbG9uZzpcInt7ZGF0ZX19ICdhdCcge3t0aW1lfX1cIixtZWRpdW06XCJ7e2RhdGV9fSwge3t0aW1lfX1cIixzaG9ydDpcInt7ZGF0ZX19LCB7e3RpbWV9fVwifSxkZWZhdWx0V2lkdGg6XCJmdWxsXCJ9KX0sJF89e2xhc3RXZWVrOlwiJ2xhc3QnIGVlZWUgJ2F0JyBwXCIseWVzdGVyZGF5OlwiJ3llc3RlcmRheSBhdCcgcFwiLHRvZGF5OlwiJ3RvZGF5IGF0JyBwXCIsdG9tb3Jyb3c6XCIndG9tb3Jyb3cgYXQnIHBcIixuZXh0V2VlazpcImVlZWUgJ2F0JyBwXCIsb3RoZXI6XCJQXCJ9O2Z1bmN0aW9uIFlfKGUpe3JldHVybih0LG4pPT57bGV0IHI7aWYoXCJmb3JtYXR0aW5nXCI9PT0obj8uY29udGV4dD9TdHJpbmcobi5jb250ZXh0KTpcInN0YW5kYWxvbmVcIikmJmUuZm9ybWF0dGluZ1ZhbHVlcyl7Y29uc3QgdD1lLmRlZmF1bHRGb3JtYXR0aW5nV2lkdGh8fGUuZGVmYXVsdFdpZHRoLG89bj8ud2lkdGg/U3RyaW5nKG4ud2lkdGgpOnQ7cj1lLmZvcm1hdHRpbmdWYWx1ZXNbb118fGUuZm9ybWF0dGluZ1ZhbHVlc1t0XX1lbHNle2NvbnN0IHQ9ZS5kZWZhdWx0V2lkdGgsbz1uPy53aWR0aD9TdHJpbmcobi53aWR0aCk6ZS5kZWZhdWx0V2lkdGg7cj1lLnZhbHVlc1tvXXx8ZS52YWx1ZXNbdF19cmV0dXJuIHJbZS5hcmd1bWVudENhbGxiYWNrP2UuYXJndW1lbnRDYWxsYmFjayh0KTp0XX19Y29uc3QgSF89e29yZGluYWxOdW1iZXI6KGUsdCk9Pntjb25zdCBuPU51bWJlcihlKSxyPW4lMTAwO2lmKHI+MjB8fHI8MTApc3dpdGNoKHIlMTApe2Nhc2UgMTpyZXR1cm4gbitcInN0XCI7Y2FzZSAyOnJldHVybiBuK1wibmRcIjtjYXNlIDM6cmV0dXJuIG4rXCJyZFwifXJldHVybiBuK1widGhcIn0sZXJhOllfKHt2YWx1ZXM6e25hcnJvdzpbXCJCXCIsXCJBXCJdLGFiYnJldmlhdGVkOltcIkJDXCIsXCJBRFwiXSx3aWRlOltcIkJlZm9yZSBDaHJpc3RcIixcIkFubm8gRG9taW5pXCJdfSxkZWZhdWx0V2lkdGg6XCJ3aWRlXCJ9KSxxdWFydGVyOllfKHt2YWx1ZXM6e25hcnJvdzpbXCIxXCIsXCIyXCIsXCIzXCIsXCI0XCJdLGFiYnJldmlhdGVkOltcIlExXCIsXCJRMlwiLFwiUTNcIixcIlE0XCJdLHdpZGU6W1wiMXN0IHF1YXJ0ZXJcIixcIjJuZCBxdWFydGVyXCIsXCIzcmQgcXVhcnRlclwiLFwiNHRoIHF1YXJ0ZXJcIl19LGRlZmF1bHRXaWR0aDpcIndpZGVcIixhcmd1bWVudENhbGxiYWNrOmU9PmUtMX0pLG1vbnRoOllfKHt2YWx1ZXM6e25hcnJvdzpbXCJKXCIsXCJGXCIsXCJNXCIsXCJBXCIsXCJNXCIsXCJKXCIsXCJKXCIsXCJBXCIsXCJTXCIsXCJPXCIsXCJOXCIsXCJEXCJdLGFiYnJldmlhdGVkOltcIkphblwiLFwiRmViXCIsXCJNYXJcIixcIkFwclwiLFwiTWF5XCIsXCJKdW5cIixcIkp1bFwiLFwiQXVnXCIsXCJTZXBcIixcIk9jdFwiLFwiTm92XCIsXCJEZWNcIl0sd2lkZTpbXCJKYW51YXJ5XCIsXCJGZWJydWFyeVwiLFwiTWFyY2hcIixcIkFwcmlsXCIsXCJNYXlcIixcIkp1bmVcIixcIkp1bHlcIixcIkF1Z3VzdFwiLFwiU2VwdGVtYmVyXCIsXCJPY3RvYmVyXCIsXCJOb3ZlbWJlclwiLFwiRGVjZW1iZXJcIl19LGRlZmF1bHRXaWR0aDpcIndpZGVcIn0pLGRheTpZXyh7dmFsdWVzOntuYXJyb3c6W1wiU1wiLFwiTVwiLFwiVFwiLFwiV1wiLFwiVFwiLFwiRlwiLFwiU1wiXSxzaG9ydDpbXCJTdVwiLFwiTW9cIixcIlR1XCIsXCJXZVwiLFwiVGhcIixcIkZyXCIsXCJTYVwiXSxhYmJyZXZpYXRlZDpbXCJTdW5cIixcIk1vblwiLFwiVHVlXCIsXCJXZWRcIixcIlRodVwiLFwiRnJpXCIsXCJTYXRcIl0sd2lkZTpbXCJTdW5kYXlcIixcIk1vbmRheVwiLFwiVHVlc2RheVwiLFwiV2VkbmVzZGF5XCIsXCJUaHVyc2RheVwiLFwiRnJpZGF5XCIsXCJTYXR1cmRheVwiXX0sZGVmYXVsdFdpZHRoOlwid2lkZVwifSksZGF5UGVyaW9kOllfKHt2YWx1ZXM6e25hcnJvdzp7YW06XCJhXCIscG06XCJwXCIsbWlkbmlnaHQ6XCJtaVwiLG5vb246XCJuXCIsbW9ybmluZzpcIm1vcm5pbmdcIixhZnRlcm5vb246XCJhZnRlcm5vb25cIixldmVuaW5nOlwiZXZlbmluZ1wiLG5pZ2h0OlwibmlnaHRcIn0sYWJicmV2aWF0ZWQ6e2FtOlwiQU1cIixwbTpcIlBNXCIsbWlkbmlnaHQ6XCJtaWRuaWdodFwiLG5vb246XCJub29uXCIsbW9ybmluZzpcIm1vcm5pbmdcIixhZnRlcm5vb246XCJhZnRlcm5vb25cIixldmVuaW5nOlwiZXZlbmluZ1wiLG5pZ2h0OlwibmlnaHRcIn0sd2lkZTp7YW06XCJhLm0uXCIscG06XCJwLm0uXCIsbWlkbmlnaHQ6XCJtaWRuaWdodFwiLG5vb246XCJub29uXCIsbW9ybmluZzpcIm1vcm5pbmdcIixhZnRlcm5vb246XCJhZnRlcm5vb25cIixldmVuaW5nOlwiZXZlbmluZ1wiLG5pZ2h0OlwibmlnaHRcIn19LGRlZmF1bHRXaWR0aDpcIndpZGVcIixmb3JtYXR0aW5nVmFsdWVzOntuYXJyb3c6e2FtOlwiYVwiLHBtOlwicFwiLG1pZG5pZ2h0OlwibWlcIixub29uOlwiblwiLG1vcm5pbmc6XCJpbiB0aGUgbW9ybmluZ1wiLGFmdGVybm9vbjpcImluIHRoZSBhZnRlcm5vb25cIixldmVuaW5nOlwiaW4gdGhlIGV2ZW5pbmdcIixuaWdodDpcImF0IG5pZ2h0XCJ9LGFiYnJldmlhdGVkOnthbTpcIkFNXCIscG06XCJQTVwiLG1pZG5pZ2h0OlwibWlkbmlnaHRcIixub29uOlwibm9vblwiLG1vcm5pbmc6XCJpbiB0aGUgbW9ybmluZ1wiLGFmdGVybm9vbjpcImluIHRoZSBhZnRlcm5vb25cIixldmVuaW5nOlwiaW4gdGhlIGV2ZW5pbmdcIixuaWdodDpcImF0IG5pZ2h0XCJ9LHdpZGU6e2FtOlwiYS5tLlwiLHBtOlwicC5tLlwiLG1pZG5pZ2h0OlwibWlkbmlnaHRcIixub29uOlwibm9vblwiLG1vcm5pbmc6XCJpbiB0aGUgbW9ybmluZ1wiLGFmdGVybm9vbjpcImluIHRoZSBhZnRlcm5vb25cIixldmVuaW5nOlwiaW4gdGhlIGV2ZW5pbmdcIixuaWdodDpcImF0IG5pZ2h0XCJ9fSxkZWZhdWx0Rm9ybWF0dGluZ1dpZHRoOlwid2lkZVwifSl9O2Z1bmN0aW9uIEtfKGUpe3JldHVybih0LG49e30pPT57Y29uc3Qgcj1uLndpZHRoLG89ciYmZS5tYXRjaFBhdHRlcm5zW3JdfHxlLm1hdGNoUGF0dGVybnNbZS5kZWZhdWx0TWF0Y2hXaWR0aF0saT10Lm1hdGNoKG8pO2lmKCFpKXJldHVybiBudWxsO2NvbnN0IHM9aVswXSxhPXImJmUucGFyc2VQYXR0ZXJuc1tyXXx8ZS5wYXJzZVBhdHRlcm5zW2UuZGVmYXVsdFBhcnNlV2lkdGhdLGw9QXJyYXkuaXNBcnJheShhKT9mdW5jdGlvbihlKXtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylpZihlW3RdLnRlc3QocykpcmV0dXJuIHR9KGEpOmZ1bmN0aW9uKGUpe2Zvcihjb25zdCB0IGluIGUpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCkmJmVbdF0udGVzdChzKSlyZXR1cm4gdH0oYSk7bGV0IGM7cmV0dXJuIGM9ZS52YWx1ZUNhbGxiYWNrP2UudmFsdWVDYWxsYmFjayhsKTpsLGM9bi52YWx1ZUNhbGxiYWNrP24udmFsdWVDYWxsYmFjayhjKTpjLHt2YWx1ZTpjLHJlc3Q6dC5zbGljZShzLmxlbmd0aCl9fX1jb25zdCBxXz17b3JkaW5hbE51bWJlcjooR189e21hdGNoUGF0dGVybjovXihcXGQrKSh0aHxzdHxuZHxyZCk/L2kscGFyc2VQYXR0ZXJuOi9cXGQrL2ksdmFsdWVDYWxsYmFjazplPT5wYXJzZUludChlLDEwKX0sKGUsdD17fSk9Pntjb25zdCBuPWUubWF0Y2goR18ubWF0Y2hQYXR0ZXJuKTtpZighbilyZXR1cm4gbnVsbDtjb25zdCByPW5bMF0sbz1lLm1hdGNoKEdfLnBhcnNlUGF0dGVybik7aWYoIW8pcmV0dXJuIG51bGw7bGV0IGk9R18udmFsdWVDYWxsYmFjaz9HXy52YWx1ZUNhbGxiYWNrKG9bMF0pOm9bMF07cmV0dXJuIGk9dC52YWx1ZUNhbGxiYWNrP3QudmFsdWVDYWxsYmFjayhpKTppLHt2YWx1ZTppLHJlc3Q6ZS5zbGljZShyLmxlbmd0aCl9fSksZXJhOktfKHttYXRjaFBhdHRlcm5zOntuYXJyb3c6L14oYnxhKS9pLGFiYnJldmlhdGVkOi9eKGJcXC4/XFxzP2NcXC4/fGJcXC4/XFxzP2NcXC4/XFxzP2VcXC4/fGFcXC4/XFxzP2RcXC4/fGNcXC4/XFxzP2VcXC4/KS9pLHdpZGU6L14oYmVmb3JlIGNocmlzdHxiZWZvcmUgY29tbW9uIGVyYXxhbm5vIGRvbWluaXxjb21tb24gZXJhKS9pfSxkZWZhdWx0TWF0Y2hXaWR0aDpcIndpZGVcIixwYXJzZVBhdHRlcm5zOnthbnk6Wy9eYi9pLC9eKGF8YykvaV19LGRlZmF1bHRQYXJzZVdpZHRoOlwiYW55XCJ9KSxxdWFydGVyOktfKHttYXRjaFBhdHRlcm5zOntuYXJyb3c6L15bMTIzNF0vaSxhYmJyZXZpYXRlZDovXnFbMTIzNF0vaSx3aWRlOi9eWzEyMzRdKHRofHN0fG5kfHJkKT8gcXVhcnRlci9pfSxkZWZhdWx0TWF0Y2hXaWR0aDpcIndpZGVcIixwYXJzZVBhdHRlcm5zOnthbnk6Wy8xL2ksLzIvaSwvMy9pLC80L2ldfSxkZWZhdWx0UGFyc2VXaWR0aDpcImFueVwiLHZhbHVlQ2FsbGJhY2s6ZT0+ZSsxfSksbW9udGg6S18oe21hdGNoUGF0dGVybnM6e25hcnJvdzovXltqZm1hc29uZF0vaSxhYmJyZXZpYXRlZDovXihqYW58ZmVifG1hcnxhcHJ8bWF5fGp1bnxqdWx8YXVnfHNlcHxvY3R8bm92fGRlYykvaSx3aWRlOi9eKGphbnVhcnl8ZmVicnVhcnl8bWFyY2h8YXByaWx8bWF5fGp1bmV8anVseXxhdWd1c3R8c2VwdGVtYmVyfG9jdG9iZXJ8bm92ZW1iZXJ8ZGVjZW1iZXIpL2l9LGRlZmF1bHRNYXRjaFdpZHRoOlwid2lkZVwiLHBhcnNlUGF0dGVybnM6e25hcnJvdzpbL15qL2ksL15mL2ksL15tL2ksL15hL2ksL15tL2ksL15qL2ksL15qL2ksL15hL2ksL15zL2ksL15vL2ksL15uL2ksL15kL2ldLGFueTpbL15qYS9pLC9eZi9pLC9ebWFyL2ksL15hcC9pLC9ebWF5L2ksL15qdW4vaSwvXmp1bC9pLC9eYXUvaSwvXnMvaSwvXm8vaSwvXm4vaSwvXmQvaV19LGRlZmF1bHRQYXJzZVdpZHRoOlwiYW55XCJ9KSxkYXk6S18oe21hdGNoUGF0dGVybnM6e25hcnJvdzovXltzbXR3Zl0vaSxzaG9ydDovXihzdXxtb3x0dXx3ZXx0aHxmcnxzYSkvaSxhYmJyZXZpYXRlZDovXihzdW58bW9ufHR1ZXx3ZWR8dGh1fGZyaXxzYXQpL2ksd2lkZTovXihzdW5kYXl8bW9uZGF5fHR1ZXNkYXl8d2VkbmVzZGF5fHRodXJzZGF5fGZyaWRheXxzYXR1cmRheSkvaX0sZGVmYXVsdE1hdGNoV2lkdGg6XCJ3aWRlXCIscGFyc2VQYXR0ZXJuczp7bmFycm93OlsvXnMvaSwvXm0vaSwvXnQvaSwvXncvaSwvXnQvaSwvXmYvaSwvXnMvaV0sYW55OlsvXnN1L2ksL15tL2ksL150dS9pLC9edy9pLC9edGgvaSwvXmYvaSwvXnNhL2ldfSxkZWZhdWx0UGFyc2VXaWR0aDpcImFueVwifSksZGF5UGVyaW9kOktfKHttYXRjaFBhdHRlcm5zOntuYXJyb3c6L14oYXxwfG1pfG58KGluIHRoZXxhdCkgKG1vcm5pbmd8YWZ0ZXJub29ufGV2ZW5pbmd8bmlnaHQpKS9pLGFueTovXihbYXBdXFwuP1xccz9tXFwuP3xtaWRuaWdodHxub29ufChpbiB0aGV8YXQpIChtb3JuaW5nfGFmdGVybm9vbnxldmVuaW5nfG5pZ2h0KSkvaX0sZGVmYXVsdE1hdGNoV2lkdGg6XCJhbnlcIixwYXJzZVBhdHRlcm5zOnthbnk6e2FtOi9eYS9pLHBtOi9ecC9pLG1pZG5pZ2h0Oi9ebWkvaSxub29uOi9ebm8vaSxtb3JuaW5nOi9tb3JuaW5nL2ksYWZ0ZXJub29uOi9hZnRlcm5vb24vaSxldmVuaW5nOi9ldmVuaW5nL2ksbmlnaHQ6L25pZ2h0L2l9fSxkZWZhdWx0UGFyc2VXaWR0aDpcImFueVwifSl9O3ZhciBHXztjb25zdCBYXz17Y29kZTpcImVuLVVTXCIsZm9ybWF0RGlzdGFuY2U6KGUsdCxuKT0+e2xldCByO2NvbnN0IG89V19bZV07cmV0dXJuIHI9XCJzdHJpbmdcIj09dHlwZW9mIG8/bzoxPT09dD9vLm9uZTpvLm90aGVyLnJlcGxhY2UoXCJ7e2NvdW50fX1cIix0LnRvU3RyaW5nKCkpLG4/LmFkZFN1ZmZpeD9uLmNvbXBhcmlzb24mJm4uY29tcGFyaXNvbj4wP1wiaW4gXCIrcjpyK1wiIGFnb1wiOnJ9LGZvcm1hdExvbmc6VV8sZm9ybWF0UmVsYXRpdmU6KGUsdCxuLHIpPT4kX1tlXSxsb2NhbGl6ZTpIXyxtYXRjaDpxXyxvcHRpb25zOnt3ZWVrU3RhcnRzT246MCxmaXJzdFdlZWtDb250YWluc0RhdGU6MX19O2Z1bmN0aW9uIFpfKGUsdCl7Y29uc3Qgbj1OXyhlLHQ/LmluKTtyZXR1cm4gbi5zZXRGdWxsWWVhcihuLmdldEZ1bGxZZWFyKCksMCwxKSxuLnNldEhvdXJzKDAsMCwwLDApLG59ZnVuY3Rpb24gSl8oZSx0KXtjb25zdCBuPUZfKCkscj10Py53ZWVrU3RhcnRzT24/P3Q/LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz9uLndlZWtTdGFydHNPbj8/bi5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/MCxvPU5fKGUsdD8uaW4pLGk9by5nZXREYXkoKSxzPShpPHI/NzowKStpLXI7cmV0dXJuIG8uc2V0RGF0ZShvLmdldERhdGUoKS1zKSxvLnNldEhvdXJzKDAsMCwwLDApLG99ZnVuY3Rpb24gUV8oZSx0KXtyZXR1cm4gSl8oZSx7Li4udCx3ZWVrU3RhcnRzT246MX0pfWZ1bmN0aW9uIGVQKGUsdCl7Y29uc3Qgbj1OXyhlLHQ/LmluKSxyPW4uZ2V0RnVsbFllYXIoKSxvPU9fKG4sMCk7by5zZXRGdWxsWWVhcihyKzEsMCw0KSxvLnNldEhvdXJzKDAsMCwwLDApO2NvbnN0IGk9UV8obykscz1PXyhuLDApO3Muc2V0RnVsbFllYXIociwwLDQpLHMuc2V0SG91cnMoMCwwLDAsMCk7Y29uc3QgYT1RXyhzKTtyZXR1cm4gbi5nZXRUaW1lKCk+PWkuZ2V0VGltZSgpP3IrMTpuLmdldFRpbWUoKT49YS5nZXRUaW1lKCk/cjpyLTF9ZnVuY3Rpb24gdFAoZSx0KXtjb25zdCBuPU5fKGUsdD8uaW4pLHI9K1FfKG4pLStmdW5jdGlvbihlLHQpe2NvbnN0IG49ZVAoZSx0KSxyPU9fKHQ/LmlufHxlLDApO3JldHVybiByLnNldEZ1bGxZZWFyKG4sMCw0KSxyLnNldEhvdXJzKDAsMCwwLDApLFFfKHIpfShuKTtyZXR1cm4gTWF0aC5yb3VuZChyL0VfKSsxfWZ1bmN0aW9uIG5QKGUsdCl7Y29uc3Qgbj1OXyhlLHQ/LmluKSxyPW4uZ2V0RnVsbFllYXIoKSxvPUZfKCksaT10Py5maXJzdFdlZWtDb250YWluc0RhdGU/P3Q/LmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9vLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/by5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/MSxzPU9fKHQ/LmlufHxlLDApO3Muc2V0RnVsbFllYXIocisxLDAsaSkscy5zZXRIb3VycygwLDAsMCwwKTtjb25zdCBhPUpfKHMsdCksbD1PXyh0Py5pbnx8ZSwwKTtsLnNldEZ1bGxZZWFyKHIsMCxpKSxsLnNldEhvdXJzKDAsMCwwLDApO2NvbnN0IGM9Sl8obCx0KTtyZXR1cm4rbj49K2E/cisxOituPj0rYz9yOnItMX1mdW5jdGlvbiByUChlLHQpe2NvbnN0IG49Tl8oZSx0Py5pbikscj0rSl8obix0KS0rZnVuY3Rpb24oZSx0KXtjb25zdCBuPUZfKCkscj10Py5maXJzdFdlZWtDb250YWluc0RhdGU/P3Q/LmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9uLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/bi5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/MSxvPW5QKGUsdCksaT1PXyh0Py5pbnx8ZSwwKTtyZXR1cm4gaS5zZXRGdWxsWWVhcihvLDAsciksaS5zZXRIb3VycygwLDAsMCwwKSxKXyhpLHQpfShuLHQpO3JldHVybiBNYXRoLnJvdW5kKHIvRV8pKzF9ZnVuY3Rpb24gb1AoZSx0KXtyZXR1cm4oZTwwP1wiLVwiOlwiXCIpK01hdGguYWJzKGUpLnRvU3RyaW5nKCkucGFkU3RhcnQodCxcIjBcIil9Y29uc3QgaVA9e3koZSx0KXtjb25zdCBuPWUuZ2V0RnVsbFllYXIoKSxyPW4+MD9uOjEtbjtyZXR1cm4gb1AoXCJ5eVwiPT09dD9yJTEwMDpyLHQubGVuZ3RoKX0sTShlLHQpe2NvbnN0IG49ZS5nZXRNb250aCgpO3JldHVyblwiTVwiPT09dD9TdHJpbmcobisxKTpvUChuKzEsMil9LGQoZSx0KXtyZXR1cm4gb1AoZS5nZXREYXRlKCksdC5sZW5ndGgpfSxhKGUsdCl7Y29uc3Qgbj1lLmdldEhvdXJzKCkvMTI+PTE/XCJwbVwiOlwiYW1cIjtzd2l0Y2godCl7Y2FzZVwiYVwiOmNhc2VcImFhXCI6cmV0dXJuIG4udG9VcHBlckNhc2UoKTtjYXNlXCJhYWFcIjpyZXR1cm4gbjtjYXNlXCJhYWFhYVwiOnJldHVybiBuWzBdO2RlZmF1bHQ6cmV0dXJuXCJhbVwiPT09bj9cImEubS5cIjpcInAubS5cIn19LGgoZSx0KXtyZXR1cm4gb1AoZS5nZXRIb3VycygpJTEyfHwxMix0Lmxlbmd0aCl9LEgoZSx0KXtyZXR1cm4gb1AoZS5nZXRIb3VycygpLHQubGVuZ3RoKX0sbShlLHQpe3JldHVybiBvUChlLmdldE1pbnV0ZXMoKSx0Lmxlbmd0aCl9LHMoZSx0KXtyZXR1cm4gb1AoZS5nZXRTZWNvbmRzKCksdC5sZW5ndGgpfSxTKGUsdCl7Y29uc3Qgbj10Lmxlbmd0aCxyPWUuZ2V0TWlsbGlzZWNvbmRzKCk7cmV0dXJuIG9QKE1hdGgudHJ1bmMocipNYXRoLnBvdygxMCxuLTMpKSx0Lmxlbmd0aCl9fSxzUD17RzpmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1lLmdldEZ1bGxZZWFyKCk+MD8xOjA7c3dpdGNoKHQpe2Nhc2VcIkdcIjpjYXNlXCJHR1wiOmNhc2VcIkdHR1wiOnJldHVybiBuLmVyYShyLHt3aWR0aDpcImFiYnJldmlhdGVkXCJ9KTtjYXNlXCJHR0dHR1wiOnJldHVybiBuLmVyYShyLHt3aWR0aDpcIm5hcnJvd1wifSk7ZGVmYXVsdDpyZXR1cm4gbi5lcmEocix7d2lkdGg6XCJ3aWRlXCJ9KX19LHk6ZnVuY3Rpb24oZSx0LG4pe2lmKFwieW9cIj09PXQpe2NvbnN0IHQ9ZS5nZXRGdWxsWWVhcigpLHI9dD4wP3Q6MS10O3JldHVybiBuLm9yZGluYWxOdW1iZXIocix7dW5pdDpcInllYXJcIn0pfXJldHVybiBpUC55KGUsdCl9LFk6ZnVuY3Rpb24oZSx0LG4scil7Y29uc3Qgbz1uUChlLHIpLGk9bz4wP286MS1vO3JldHVyblwiWVlcIj09PXQ/b1AoaSUxMDAsMik6XCJZb1wiPT09dD9uLm9yZGluYWxOdW1iZXIoaSx7dW5pdDpcInllYXJcIn0pOm9QKGksdC5sZW5ndGgpfSxSOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG9QKGVQKGUpLHQubGVuZ3RoKX0sdTpmdW5jdGlvbihlLHQpe3JldHVybiBvUChlLmdldEZ1bGxZZWFyKCksdC5sZW5ndGgpfSxROmZ1bmN0aW9uKGUsdCxuKXtjb25zdCByPU1hdGguY2VpbCgoZS5nZXRNb250aCgpKzEpLzMpO3N3aXRjaCh0KXtjYXNlXCJRXCI6cmV0dXJuIFN0cmluZyhyKTtjYXNlXCJRUVwiOnJldHVybiBvUChyLDIpO2Nhc2VcIlFvXCI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcihyLHt1bml0OlwicXVhcnRlclwifSk7Y2FzZVwiUVFRXCI6cmV0dXJuIG4ucXVhcnRlcihyLHt3aWR0aDpcImFiYnJldmlhdGVkXCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pO2Nhc2VcIlFRUVFRXCI6cmV0dXJuIG4ucXVhcnRlcihyLHt3aWR0aDpcIm5hcnJvd1wiLGNvbnRleHQ6XCJmb3JtYXR0aW5nXCJ9KTtkZWZhdWx0OnJldHVybiBuLnF1YXJ0ZXIocix7d2lkdGg6XCJ3aWRlXCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pfX0scTpmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1NYXRoLmNlaWwoKGUuZ2V0TW9udGgoKSsxKS8zKTtzd2l0Y2godCl7Y2FzZVwicVwiOnJldHVybiBTdHJpbmcocik7Y2FzZVwicXFcIjpyZXR1cm4gb1AociwyKTtjYXNlXCJxb1wiOnJldHVybiBuLm9yZGluYWxOdW1iZXIocix7dW5pdDpcInF1YXJ0ZXJcIn0pO2Nhc2VcInFxcVwiOnJldHVybiBuLnF1YXJ0ZXIocix7d2lkdGg6XCJhYmJyZXZpYXRlZFwiLGNvbnRleHQ6XCJzdGFuZGFsb25lXCJ9KTtjYXNlXCJxcXFxcVwiOnJldHVybiBuLnF1YXJ0ZXIocix7d2lkdGg6XCJuYXJyb3dcIixjb250ZXh0Olwic3RhbmRhbG9uZVwifSk7ZGVmYXVsdDpyZXR1cm4gbi5xdWFydGVyKHIse3dpZHRoOlwid2lkZVwiLGNvbnRleHQ6XCJzdGFuZGFsb25lXCJ9KX19LE06ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHI9ZS5nZXRNb250aCgpO3N3aXRjaCh0KXtjYXNlXCJNXCI6Y2FzZVwiTU1cIjpyZXR1cm4gaVAuTShlLHQpO2Nhc2VcIk1vXCI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcihyKzEse3VuaXQ6XCJtb250aFwifSk7Y2FzZVwiTU1NXCI6cmV0dXJuIG4ubW9udGgocix7d2lkdGg6XCJhYmJyZXZpYXRlZFwiLGNvbnRleHQ6XCJmb3JtYXR0aW5nXCJ9KTtjYXNlXCJNTU1NTVwiOnJldHVybiBuLm1vbnRoKHIse3dpZHRoOlwibmFycm93XCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pO2RlZmF1bHQ6cmV0dXJuIG4ubW9udGgocix7d2lkdGg6XCJ3aWRlXCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pfX0sTDpmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1lLmdldE1vbnRoKCk7c3dpdGNoKHQpe2Nhc2VcIkxcIjpyZXR1cm4gU3RyaW5nKHIrMSk7Y2FzZVwiTExcIjpyZXR1cm4gb1AocisxLDIpO2Nhc2VcIkxvXCI6cmV0dXJuIG4ub3JkaW5hbE51bWJlcihyKzEse3VuaXQ6XCJtb250aFwifSk7Y2FzZVwiTExMXCI6cmV0dXJuIG4ubW9udGgocix7d2lkdGg6XCJhYmJyZXZpYXRlZFwiLGNvbnRleHQ6XCJzdGFuZGFsb25lXCJ9KTtjYXNlXCJMTExMTFwiOnJldHVybiBuLm1vbnRoKHIse3dpZHRoOlwibmFycm93XCIsY29udGV4dDpcInN0YW5kYWxvbmVcIn0pO2RlZmF1bHQ6cmV0dXJuIG4ubW9udGgocix7d2lkdGg6XCJ3aWRlXCIsY29udGV4dDpcInN0YW5kYWxvbmVcIn0pfX0sdzpmdW5jdGlvbihlLHQsbixyKXtjb25zdCBvPXJQKGUscik7cmV0dXJuXCJ3b1wiPT09dD9uLm9yZGluYWxOdW1iZXIobyx7dW5pdDpcIndlZWtcIn0pOm9QKG8sdC5sZW5ndGgpfSxJOmZ1bmN0aW9uKGUsdCxuKXtjb25zdCByPXRQKGUpO3JldHVyblwiSW9cIj09PXQ/bi5vcmRpbmFsTnVtYmVyKHIse3VuaXQ6XCJ3ZWVrXCJ9KTpvUChyLHQubGVuZ3RoKX0sZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuXCJkb1wiPT09dD9uLm9yZGluYWxOdW1iZXIoZS5nZXREYXRlKCkse3VuaXQ6XCJkYXRlXCJ9KTppUC5kKGUsdCl9LEQ6ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHI9ZnVuY3Rpb24oZSx0KXtjb25zdCBuPU5fKGUsdD8uaW4pO3JldHVybiBJXyhuLFpfKG4pKSsxfShlKTtyZXR1cm5cIkRvXCI9PT10P24ub3JkaW5hbE51bWJlcihyLHt1bml0OlwiZGF5T2ZZZWFyXCJ9KTpvUChyLHQubGVuZ3RoKX0sRTpmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1lLmdldERheSgpO3N3aXRjaCh0KXtjYXNlXCJFXCI6Y2FzZVwiRUVcIjpjYXNlXCJFRUVcIjpyZXR1cm4gbi5kYXkocix7d2lkdGg6XCJhYmJyZXZpYXRlZFwiLGNvbnRleHQ6XCJmb3JtYXR0aW5nXCJ9KTtjYXNlXCJFRUVFRVwiOnJldHVybiBuLmRheShyLHt3aWR0aDpcIm5hcnJvd1wiLGNvbnRleHQ6XCJmb3JtYXR0aW5nXCJ9KTtjYXNlXCJFRUVFRUVcIjpyZXR1cm4gbi5kYXkocix7d2lkdGg6XCJzaG9ydFwiLGNvbnRleHQ6XCJmb3JtYXR0aW5nXCJ9KTtkZWZhdWx0OnJldHVybiBuLmRheShyLHt3aWR0aDpcIndpZGVcIixjb250ZXh0OlwiZm9ybWF0dGluZ1wifSl9fSxlOmZ1bmN0aW9uKGUsdCxuLHIpe2NvbnN0IG89ZS5nZXREYXkoKSxpPShvLXIud2Vla1N0YXJ0c09uKzgpJTd8fDc7c3dpdGNoKHQpe2Nhc2VcImVcIjpyZXR1cm4gU3RyaW5nKGkpO2Nhc2VcImVlXCI6cmV0dXJuIG9QKGksMik7Y2FzZVwiZW9cIjpyZXR1cm4gbi5vcmRpbmFsTnVtYmVyKGkse3VuaXQ6XCJkYXlcIn0pO2Nhc2VcImVlZVwiOnJldHVybiBuLmRheShvLHt3aWR0aDpcImFiYnJldmlhdGVkXCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pO2Nhc2VcImVlZWVlXCI6cmV0dXJuIG4uZGF5KG8se3dpZHRoOlwibmFycm93XCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pO2Nhc2VcImVlZWVlZVwiOnJldHVybiBuLmRheShvLHt3aWR0aDpcInNob3J0XCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pO2RlZmF1bHQ6cmV0dXJuIG4uZGF5KG8se3dpZHRoOlwid2lkZVwiLGNvbnRleHQ6XCJmb3JtYXR0aW5nXCJ9KX19LGM6ZnVuY3Rpb24oZSx0LG4scil7Y29uc3Qgbz1lLmdldERheSgpLGk9KG8tci53ZWVrU3RhcnRzT24rOCklN3x8Nztzd2l0Y2godCl7Y2FzZVwiY1wiOnJldHVybiBTdHJpbmcoaSk7Y2FzZVwiY2NcIjpyZXR1cm4gb1AoaSx0Lmxlbmd0aCk7Y2FzZVwiY29cIjpyZXR1cm4gbi5vcmRpbmFsTnVtYmVyKGkse3VuaXQ6XCJkYXlcIn0pO2Nhc2VcImNjY1wiOnJldHVybiBuLmRheShvLHt3aWR0aDpcImFiYnJldmlhdGVkXCIsY29udGV4dDpcInN0YW5kYWxvbmVcIn0pO2Nhc2VcImNjY2NjXCI6cmV0dXJuIG4uZGF5KG8se3dpZHRoOlwibmFycm93XCIsY29udGV4dDpcInN0YW5kYWxvbmVcIn0pO2Nhc2VcImNjY2NjY1wiOnJldHVybiBuLmRheShvLHt3aWR0aDpcInNob3J0XCIsY29udGV4dDpcInN0YW5kYWxvbmVcIn0pO2RlZmF1bHQ6cmV0dXJuIG4uZGF5KG8se3dpZHRoOlwid2lkZVwiLGNvbnRleHQ6XCJzdGFuZGFsb25lXCJ9KX19LGk6ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHI9ZS5nZXREYXkoKSxvPTA9PT1yPzc6cjtzd2l0Y2godCl7Y2FzZVwiaVwiOnJldHVybiBTdHJpbmcobyk7Y2FzZVwiaWlcIjpyZXR1cm4gb1Aobyx0Lmxlbmd0aCk7Y2FzZVwiaW9cIjpyZXR1cm4gbi5vcmRpbmFsTnVtYmVyKG8se3VuaXQ6XCJkYXlcIn0pO2Nhc2VcImlpaVwiOnJldHVybiBuLmRheShyLHt3aWR0aDpcImFiYnJldmlhdGVkXCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pO2Nhc2VcImlpaWlpXCI6cmV0dXJuIG4uZGF5KHIse3dpZHRoOlwibmFycm93XCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pO2Nhc2VcImlpaWlpaVwiOnJldHVybiBuLmRheShyLHt3aWR0aDpcInNob3J0XCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pO2RlZmF1bHQ6cmV0dXJuIG4uZGF5KHIse3dpZHRoOlwid2lkZVwiLGNvbnRleHQ6XCJmb3JtYXR0aW5nXCJ9KX19LGE6ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHI9ZS5nZXRIb3VycygpLzEyPj0xP1wicG1cIjpcImFtXCI7c3dpdGNoKHQpe2Nhc2VcImFcIjpjYXNlXCJhYVwiOnJldHVybiBuLmRheVBlcmlvZChyLHt3aWR0aDpcImFiYnJldmlhdGVkXCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pO2Nhc2VcImFhYVwiOnJldHVybiBuLmRheVBlcmlvZChyLHt3aWR0aDpcImFiYnJldmlhdGVkXCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pLnRvTG93ZXJDYXNlKCk7Y2FzZVwiYWFhYWFcIjpyZXR1cm4gbi5kYXlQZXJpb2Qocix7d2lkdGg6XCJuYXJyb3dcIixjb250ZXh0OlwiZm9ybWF0dGluZ1wifSk7ZGVmYXVsdDpyZXR1cm4gbi5kYXlQZXJpb2Qocix7d2lkdGg6XCJ3aWRlXCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pfX0sYjpmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1lLmdldEhvdXJzKCk7bGV0IG87c3dpdGNoKG89MTI9PT1yP1wibm9vblwiOjA9PT1yP1wibWlkbmlnaHRcIjpyLzEyPj0xP1wicG1cIjpcImFtXCIsdCl7Y2FzZVwiYlwiOmNhc2VcImJiXCI6cmV0dXJuIG4uZGF5UGVyaW9kKG8se3dpZHRoOlwiYWJicmV2aWF0ZWRcIixjb250ZXh0OlwiZm9ybWF0dGluZ1wifSk7Y2FzZVwiYmJiXCI6cmV0dXJuIG4uZGF5UGVyaW9kKG8se3dpZHRoOlwiYWJicmV2aWF0ZWRcIixjb250ZXh0OlwiZm9ybWF0dGluZ1wifSkudG9Mb3dlckNhc2UoKTtjYXNlXCJiYmJiYlwiOnJldHVybiBuLmRheVBlcmlvZChvLHt3aWR0aDpcIm5hcnJvd1wiLGNvbnRleHQ6XCJmb3JtYXR0aW5nXCJ9KTtkZWZhdWx0OnJldHVybiBuLmRheVBlcmlvZChvLHt3aWR0aDpcIndpZGVcIixjb250ZXh0OlwiZm9ybWF0dGluZ1wifSl9fSxCOmZ1bmN0aW9uKGUsdCxuKXtjb25zdCByPWUuZ2V0SG91cnMoKTtsZXQgbztzd2l0Y2gobz1yPj0xNz9cImV2ZW5pbmdcIjpyPj0xMj9cImFmdGVybm9vblwiOnI+PTQ/XCJtb3JuaW5nXCI6XCJuaWdodFwiLHQpe2Nhc2VcIkJcIjpjYXNlXCJCQlwiOmNhc2VcIkJCQlwiOnJldHVybiBuLmRheVBlcmlvZChvLHt3aWR0aDpcImFiYnJldmlhdGVkXCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pO2Nhc2VcIkJCQkJCXCI6cmV0dXJuIG4uZGF5UGVyaW9kKG8se3dpZHRoOlwibmFycm93XCIsY29udGV4dDpcImZvcm1hdHRpbmdcIn0pO2RlZmF1bHQ6cmV0dXJuIG4uZGF5UGVyaW9kKG8se3dpZHRoOlwid2lkZVwiLGNvbnRleHQ6XCJmb3JtYXR0aW5nXCJ9KX19LGg6ZnVuY3Rpb24oZSx0LG4pe2lmKFwiaG9cIj09PXQpe2xldCB0PWUuZ2V0SG91cnMoKSUxMjtyZXR1cm4gMD09PXQmJih0PTEyKSxuLm9yZGluYWxOdW1iZXIodCx7dW5pdDpcImhvdXJcIn0pfXJldHVybiBpUC5oKGUsdCl9LEg6ZnVuY3Rpb24oZSx0LG4pe3JldHVyblwiSG9cIj09PXQ/bi5vcmRpbmFsTnVtYmVyKGUuZ2V0SG91cnMoKSx7dW5pdDpcImhvdXJcIn0pOmlQLkgoZSx0KX0sSzpmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1lLmdldEhvdXJzKCklMTI7cmV0dXJuXCJLb1wiPT09dD9uLm9yZGluYWxOdW1iZXIocix7dW5pdDpcImhvdXJcIn0pOm9QKHIsdC5sZW5ndGgpfSxrOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLmdldEhvdXJzKCk7cmV0dXJuIDA9PT1yJiYocj0yNCksXCJrb1wiPT09dD9uLm9yZGluYWxOdW1iZXIocix7dW5pdDpcImhvdXJcIn0pOm9QKHIsdC5sZW5ndGgpfSxtOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm5cIm1vXCI9PT10P24ub3JkaW5hbE51bWJlcihlLmdldE1pbnV0ZXMoKSx7dW5pdDpcIm1pbnV0ZVwifSk6aVAubShlLHQpfSxzOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm5cInNvXCI9PT10P24ub3JkaW5hbE51bWJlcihlLmdldFNlY29uZHMoKSx7dW5pdDpcInNlY29uZFwifSk6aVAucyhlLHQpfSxTOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGlQLlMoZSx0KX0sWDpmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1lLmdldFRpbWV6b25lT2Zmc2V0KCk7aWYoMD09PXIpcmV0dXJuXCJaXCI7c3dpdGNoKHQpe2Nhc2VcIlhcIjpyZXR1cm4gbFAocik7Y2FzZVwiWFhYWFwiOmNhc2VcIlhYXCI6cmV0dXJuIGNQKHIpO2RlZmF1bHQ6cmV0dXJuIGNQKHIsXCI6XCIpfX0seDpmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1lLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKHQpe2Nhc2VcInhcIjpyZXR1cm4gbFAocik7Y2FzZVwieHh4eFwiOmNhc2VcInh4XCI6cmV0dXJuIGNQKHIpO2RlZmF1bHQ6cmV0dXJuIGNQKHIsXCI6XCIpfX0sTzpmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1lLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKHQpe2Nhc2VcIk9cIjpjYXNlXCJPT1wiOmNhc2VcIk9PT1wiOnJldHVyblwiR01UXCIrYVAocixcIjpcIik7ZGVmYXVsdDpyZXR1cm5cIkdNVFwiK2NQKHIsXCI6XCIpfX0sejpmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1lLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKHQpe2Nhc2VcInpcIjpjYXNlXCJ6elwiOmNhc2VcInp6elwiOnJldHVyblwiR01UXCIrYVAocixcIjpcIik7ZGVmYXVsdDpyZXR1cm5cIkdNVFwiK2NQKHIsXCI6XCIpfX0sdDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIG9QKE1hdGgudHJ1bmMoK2UvMWUzKSx0Lmxlbmd0aCl9LFQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBvUCgrZSx0Lmxlbmd0aCl9fTtmdW5jdGlvbiBhUChlLHQ9XCJcIil7Y29uc3Qgbj1lPjA/XCItXCI6XCIrXCIscj1NYXRoLmFicyhlKSxvPU1hdGgudHJ1bmMoci82MCksaT1yJTYwO3JldHVybiAwPT09aT9uK1N0cmluZyhvKTpuK1N0cmluZyhvKSt0K29QKGksMil9ZnVuY3Rpb24gbFAoZSx0KXtyZXR1cm4gZSU2MD09MD8oZT4wP1wiLVwiOlwiK1wiKStvUChNYXRoLmFicyhlKS82MCwyKTpjUChlLHQpfWZ1bmN0aW9uIGNQKGUsdD1cIlwiKXtjb25zdCBuPWU+MD9cIi1cIjpcIitcIixyPU1hdGguYWJzKGUpO3JldHVybiBuK29QKE1hdGgudHJ1bmMoci82MCksMikrdCtvUChyJTYwLDIpfWNvbnN0IHVQPShlLHQpPT57c3dpdGNoKGUpe2Nhc2VcIlBcIjpyZXR1cm4gdC5kYXRlKHt3aWR0aDpcInNob3J0XCJ9KTtjYXNlXCJQUFwiOnJldHVybiB0LmRhdGUoe3dpZHRoOlwibWVkaXVtXCJ9KTtjYXNlXCJQUFBcIjpyZXR1cm4gdC5kYXRlKHt3aWR0aDpcImxvbmdcIn0pO2RlZmF1bHQ6cmV0dXJuIHQuZGF0ZSh7d2lkdGg6XCJmdWxsXCJ9KX19LGRQPShlLHQpPT57c3dpdGNoKGUpe2Nhc2VcInBcIjpyZXR1cm4gdC50aW1lKHt3aWR0aDpcInNob3J0XCJ9KTtjYXNlXCJwcFwiOnJldHVybiB0LnRpbWUoe3dpZHRoOlwibWVkaXVtXCJ9KTtjYXNlXCJwcHBcIjpyZXR1cm4gdC50aW1lKHt3aWR0aDpcImxvbmdcIn0pO2RlZmF1bHQ6cmV0dXJuIHQudGltZSh7d2lkdGg6XCJmdWxsXCJ9KX19LGZQPXtwOmRQLFA6KGUsdCk9Pntjb25zdCBuPWUubWF0Y2goLyhQKykocCspPy8pfHxbXSxyPW5bMV0sbz1uWzJdO2lmKCFvKXJldHVybiB1UChlLHQpO2xldCBpO3N3aXRjaChyKXtjYXNlXCJQXCI6aT10LmRhdGVUaW1lKHt3aWR0aDpcInNob3J0XCJ9KTticmVhaztjYXNlXCJQUFwiOmk9dC5kYXRlVGltZSh7d2lkdGg6XCJtZWRpdW1cIn0pO2JyZWFrO2Nhc2VcIlBQUFwiOmk9dC5kYXRlVGltZSh7d2lkdGg6XCJsb25nXCJ9KTticmVhaztkZWZhdWx0Omk9dC5kYXRlVGltZSh7d2lkdGg6XCJmdWxsXCJ9KX1yZXR1cm4gaS5yZXBsYWNlKFwie3tkYXRlfX1cIix1UChyLHQpKS5yZXBsYWNlKFwie3t0aW1lfX1cIixkUChvLHQpKX19LG1QPS9eRCskLyxoUD0vXlkrJC8scFA9W1wiRFwiLFwiRERcIixcIllZXCIsXCJZWVlZXCJdO2Z1bmN0aW9uIGdQKGUpe3JldHVybiBlIGluc3RhbmNlb2YgRGF0ZXx8XCJvYmplY3RcIj09dHlwZW9mIGUmJlwiW29iamVjdCBEYXRlXVwiPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfWNvbnN0IHlQPS9beVlRcU1Md0lkRGVjaWhIS2ttc11vfChcXHcpXFwxKnwnJ3wnKCcnfFteJ10pKygnfCQpfC4vZyx2UD0vUCtwK3xQK3xwK3wnJ3wnKCcnfFteJ10pKygnfCQpfC4vZyxiUD0vXicoW15dKj8pJz8kLyx4UD0vJycvZyx3UD0vW2EtekEtWl0vO2Z1bmN0aW9uIFNQKGUsdCxuKXtjb25zdCByPUZfKCksbz1uPy5sb2NhbGU/P3IubG9jYWxlPz9YXyxpPW4/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/bj8ubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/P3IuZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9yLmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8xLHM9bj8ud2Vla1N0YXJ0c09uPz9uPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/ci53ZWVrU3RhcnRzT24/P3IubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsYT1OXyhlLG4/LmluKTtpZighZnVuY3Rpb24oZSl7cmV0dXJuISghZ1AoZSkmJlwibnVtYmVyXCIhPXR5cGVvZiBlfHxpc05hTigrTl8oZSkpKX0oYSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnZhbGlkIHRpbWUgdmFsdWVcIik7bGV0IGw9dC5tYXRjaCh2UCkubWFwKChlPT57Y29uc3QgdD1lWzBdO3JldHVyblwicFwiPT09dHx8XCJQXCI9PT10PygwLGZQW3RdKShlLG8uZm9ybWF0TG9uZyk6ZX0pKS5qb2luKFwiXCIpLm1hdGNoKHlQKS5tYXAoKGU9PntpZihcIicnXCI9PT1lKXJldHVybntpc1Rva2VuOiExLHZhbHVlOlwiJ1wifTtjb25zdCB0PWVbMF07aWYoXCInXCI9PT10KXJldHVybntpc1Rva2VuOiExLHZhbHVlOmtQKGUpfTtpZihzUFt0XSlyZXR1cm57aXNUb2tlbjohMCx2YWx1ZTplfTtpZih0Lm1hdGNoKHdQKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkZvcm1hdCBzdHJpbmcgY29udGFpbnMgYW4gdW5lc2NhcGVkIGxhdGluIGFscGhhYmV0IGNoYXJhY3RlciBgXCIrdCtcImBcIik7cmV0dXJue2lzVG9rZW46ITEsdmFsdWU6ZX19KSk7by5sb2NhbGl6ZS5wcmVwcm9jZXNzb3ImJihsPW8ubG9jYWxpemUucHJlcHJvY2Vzc29yKGEsbCkpO2NvbnN0IGM9e2ZpcnN0V2Vla0NvbnRhaW5zRGF0ZTppLHdlZWtTdGFydHNPbjpzLGxvY2FsZTpvfTtyZXR1cm4gbC5tYXAoKHI9PntpZighci5pc1Rva2VuKXJldHVybiByLnZhbHVlO2NvbnN0IGk9ci52YWx1ZTtyZXR1cm4oIW4/LnVzZUFkZGl0aW9uYWxXZWVrWWVhclRva2VucyYmZnVuY3Rpb24oZSl7cmV0dXJuIGhQLnRlc3QoZSl9KGkpfHwhbj8udXNlQWRkaXRpb25hbERheU9mWWVhclRva2VucyYmZnVuY3Rpb24oZSl7cmV0dXJuIG1QLnRlc3QoZSl9KGkpKSYmZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHI9ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHI9XCJZXCI9PT1lWzBdP1wieWVhcnNcIjpcImRheXMgb2YgdGhlIG1vbnRoXCI7cmV0dXJuYFVzZSBcXGAke2UudG9Mb3dlckNhc2UoKX1cXGAgaW5zdGVhZCBvZiBcXGAke2V9XFxgIChpbiBcXGAke3R9XFxgKSBmb3IgZm9ybWF0dGluZyAke3J9IHRvIHRoZSBpbnB1dCBcXGAke259XFxgOyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VuaWNvZGVUb2tlbnMubWRgfShlLHQsbik7aWYoY29uc29sZS53YXJuKHIpLHBQLmluY2x1ZGVzKGUpKXRocm93IG5ldyBSYW5nZUVycm9yKHIpfShpLHQsU3RyaW5nKGUpKSwoMCxzUFtpWzBdXSkoYSxpLG8ubG9jYWxpemUsYyl9KSkuam9pbihcIlwiKX1mdW5jdGlvbiBrUChlKXtjb25zdCB0PWUubWF0Y2goYlApO3JldHVybiB0P3RbMV0ucmVwbGFjZSh4UCxcIidcIik6ZX1mdW5jdGlvbiBFUChlLHQpe2NvbnN0IG49Tl8oZSx0Py5pbik7cmV0dXJuIG4uc2V0RGF0ZSgxKSxuLnNldEhvdXJzKDAsMCwwLDApLG59Y29uc3QgQ1A9e2FkZERheXM6VF8sYWRkTW9udGhzOk1fLGFkZFdlZWtzOlJfLGFkZFllYXJzOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gTV8oZSwxMip0LG4pfSxkaWZmZXJlbmNlSW5DYWxlbmRhckRheXM6SV8sZGlmZmVyZW5jZUluQ2FsZW5kYXJNb250aHM6ZnVuY3Rpb24oZSx0LG4pe2NvbnN0W3Isb109al8obj8uaW4sZSx0KTtyZXR1cm4gMTIqKHIuZ2V0RnVsbFllYXIoKS1vLmdldEZ1bGxZZWFyKCkpKyhyLmdldE1vbnRoKCktby5nZXRNb250aCgpKX0sZW5kT2ZJU09XZWVrOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHpfKGUsey4uLnQsd2Vla1N0YXJ0c09uOjF9KX0sZW5kT2ZNb250aDpCXyxlbmRPZldlZWs6el8sZW5kT2ZZZWFyOmZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1OXyhlLHQ/LmluKSxyPW4uZ2V0RnVsbFllYXIoKTtyZXR1cm4gbi5zZXRGdWxsWWVhcihyKzEsMCwwKSxuLnNldEhvdXJzKDIzLDU5LDU5LDk5OSksbn0sZm9ybWF0OlNQLGdldElTT1dlZWs6dFAsZ2V0V2VlazpyUCxpc0FmdGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuK05fKGUpPitOXyh0KX0saXNCZWZvcmU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4rTl8oZSk8K05fKHQpfSxpc0RhdGU6Z1AsaXNTYW1lRGF5OmZ1bmN0aW9uKGUsdCxuKXtjb25zdFtyLG9dPWpfKG4/LmluLGUsdCk7cmV0dXJuK0FfKHIpPT0rQV8obyl9LGlzU2FtZU1vbnRoOmZ1bmN0aW9uKGUsdCxuKXtjb25zdFtyLG9dPWpfKG4/LmluLGUsdCk7cmV0dXJuIHIuZ2V0RnVsbFllYXIoKT09PW8uZ2V0RnVsbFllYXIoKSYmci5nZXRNb250aCgpPT09by5nZXRNb250aCgpfSxpc1NhbWVZZWFyOmZ1bmN0aW9uKGUsdCxuKXtjb25zdFtyLG9dPWpfKG4/LmluLGUsdCk7cmV0dXJuIHIuZ2V0RnVsbFllYXIoKT09PW8uZ2V0RnVsbFllYXIoKX0sbWF4OmZ1bmN0aW9uKGUsdCl7bGV0IG4scj10Py5pbjtyZXR1cm4gZS5mb3JFYWNoKChlPT57cnx8XCJvYmplY3RcIiE9dHlwZW9mIGV8fChyPU9fLmJpbmQobnVsbCxlKSk7Y29uc3QgdD1OXyhlLHIpOyghbnx8bjx0fHxpc05hTigrdCkpJiYobj10KX0pKSxPXyhyLG58fE5hTil9LG1pbjpmdW5jdGlvbihlLHQpe2xldCBuLHI9dD8uaW47cmV0dXJuIGUuZm9yRWFjaCgoZT0+e3J8fFwib2JqZWN0XCIhPXR5cGVvZiBlfHwocj1PXy5iaW5kKG51bGwsZSkpO2NvbnN0IHQ9Tl8oZSxyKTsoIW58fG4+dHx8aXNOYU4oK3QpKSYmKG49dCl9KSksT18ocixufHxOYU4pfSxzZXRNb250aDpmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1OXyhlLG4/LmluKSxvPXIuZ2V0RnVsbFllYXIoKSxpPXIuZ2V0RGF0ZSgpLHM9T18obj8uaW58fGUsMCk7cy5zZXRGdWxsWWVhcihvLHQsMTUpLHMuc2V0SG91cnMoMCwwLDAsMCk7Y29uc3QgYT1mdW5jdGlvbihlLHQpe2NvbnN0IG49Tl8oZSx0Py5pbikscj1uLmdldEZ1bGxZZWFyKCksbz1uLmdldE1vbnRoKCksaT1PXyhuLDApO3JldHVybiBpLnNldEZ1bGxZZWFyKHIsbysxLDApLGkuc2V0SG91cnMoMCwwLDAsMCksaS5nZXREYXRlKCl9KHMpO3JldHVybiByLnNldE1vbnRoKHQsTWF0aC5taW4oaSxhKSkscn0sc2V0WWVhcjpmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1OXyhlLG4/LmluKTtyZXR1cm4gaXNOYU4oK3IpP09fKG4/LmlufHxlLE5hTik6KHIuc2V0RnVsbFllYXIodCkscil9LHN0YXJ0T2ZEYXk6QV8sc3RhcnRPZklTT1dlZWs6UV8sc3RhcnRPZk1vbnRoOkVQLHN0YXJ0T2ZXZWVrOkpfLHN0YXJ0T2ZZZWFyOlpffTtmdW5jdGlvbiBfUCgpe2NvbnN0IGU9e307Zm9yKGNvbnN0IHQgaW4gSEMpZVtIQ1t0XV09YHJkcC0ke0hDW3RdfWA7Zm9yKGNvbnN0IHQgaW4gS0MpZVtLQ1t0XV09YHJkcC0ke0tDW3RdfWA7Zm9yKGNvbnN0IHQgaW4gcUMpZVtxQ1t0XV09YHJkcC0ke3FDW3RdfWA7cmV0dXJuIGV9U3ltYm9sLmZvcihcImNvbnN0cnVjdERhdGVGcm9tXCIpO2NvbnN0IFBQPXt9LE9QPXt9O2Z1bmN0aW9uIE5QKGUsdCl7dHJ5e2NvbnN0IG49KFBQW2VdfHw9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoXCJlbi1HQlwiLHt0aW1lWm9uZTplLGhvdXI6XCJudW1lcmljXCIsdGltZVpvbmVOYW1lOlwibG9uZ09mZnNldFwifSkuZm9ybWF0KSh0KS5zcGxpdChcIkdNVFwiKVsxXXx8XCJcIjtyZXR1cm4gbiBpbiBPUD9PUFtuXTpNUChuLG4uc3BsaXQoXCI6XCIpKX1jYXRjaHtpZihlIGluIE9QKXJldHVybiBPUFtlXTtjb25zdCB0PWU/Lm1hdGNoKFRQKTtyZXR1cm4gdD9NUChlLHQuc2xpY2UoMSkpOk5hTn19Y29uc3QgVFA9LyhbKy1dXFxkXFxkKTo/KFxcZFxcZCk/LztmdW5jdGlvbiBNUChlLHQpe2NvbnN0IG49K3RbMF0scj0rKHRbMV18fDApO3JldHVybiBPUFtlXT1uPjA/NjAqbityOjYwKm4tcn1jbGFzcyBSUCBleHRlbmRzIERhdGV7Y29uc3RydWN0b3IoLi4uZSl7c3VwZXIoKSxlLmxlbmd0aD4xJiZcInN0cmluZ1wiPT10eXBlb2YgZVtlLmxlbmd0aC0xXSYmKHRoaXMudGltZVpvbmU9ZS5wb3AoKSksdGhpcy5pbnRlcm5hbD1uZXcgRGF0ZSxpc05hTihOUCh0aGlzLnRpbWVab25lLHRoaXMpKT90aGlzLnNldFRpbWUoTmFOKTplLmxlbmd0aD9cIm51bWJlclwiPT10eXBlb2YgZVswXSYmKDE9PT1lLmxlbmd0aHx8Mj09PWUubGVuZ3RoJiZcIm51bWJlclwiIT10eXBlb2YgZVsxXSk/dGhpcy5zZXRUaW1lKGVbMF0pOlwic3RyaW5nXCI9PXR5cGVvZiBlWzBdP3RoaXMuc2V0VGltZSgrbmV3IERhdGUoZVswXSkpOmVbMF1pbnN0YW5jZW9mIERhdGU/dGhpcy5zZXRUaW1lKCtlWzBdKToodGhpcy5zZXRUaW1lKCtuZXcgRGF0ZSguLi5lKSksQVAodGhpcykpOnRoaXMuc2V0VGltZShEYXRlLm5vdygpKSxqUCh0aGlzKX1zdGF0aWMgdHooZSwuLi50KXtyZXR1cm4gdC5sZW5ndGg/bmV3IFJQKC4uLnQsZSk6bmV3IFJQKERhdGUubm93KCksZSl9d2l0aFRpbWVab25lKGUpe3JldHVybiBuZXcgUlAoK3RoaXMsZSl9Z2V0VGltZXpvbmVPZmZzZXQoKXtyZXR1cm4tTlAodGhpcy50aW1lWm9uZSx0aGlzKX1bU3ltYm9sLmZvcihcImNvbnN0cnVjdERhdGVGcm9tXCIpXShlKXtyZXR1cm4gbmV3IFJQKCtuZXcgRGF0ZShlKSx0aGlzLnRpbWVab25lKX19Y29uc3QgRFA9L14oZ2V0fHNldCkoPyFVVEMpLztmdW5jdGlvbiBqUChlKXtlLmludGVybmFsLnNldFRpbWUoK2UpLGUuaW50ZXJuYWwuc2V0VVRDTWludXRlcyhlLmludGVybmFsLmdldFVUQ01pbnV0ZXMoKS1lLmdldFRpbWV6b25lT2Zmc2V0KCkpfWZ1bmN0aW9uIEFQKGUpe2NvbnN0IHQ9TlAoZS50aW1lWm9uZSxlKSxuPW5ldyBEYXRlKCtlKTtuLnNldFVUQ0hvdXJzKG4uZ2V0VVRDSG91cnMoKS0xKTtjb25zdCByPS1uZXcgRGF0ZSgrZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSxvPXItIC1uZXcgRGF0ZSgrbikuZ2V0VGltZXpvbmVPZmZzZXQoKSxpPURhdGUucHJvdG90eXBlLmdldEhvdXJzLmFwcGx5KGUpIT09ZS5pbnRlcm5hbC5nZXRVVENIb3VycygpO28mJmkmJmUuaW50ZXJuYWwuc2V0VVRDTWludXRlcyhlLmludGVybmFsLmdldFVUQ01pbnV0ZXMoKStvKTtjb25zdCBzPXItdDtzJiZEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzLmNhbGwoZSxEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzLmNhbGwoZSkrcyk7Y29uc3QgYT1OUChlLnRpbWVab25lLGUpLGw9LW5ldyBEYXRlKCtlKS5nZXRUaW1lem9uZU9mZnNldCgpLWEtcztpZihhIT09dCYmbCl7RGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5jYWxsKGUsRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5jYWxsKGUpK2wpO2NvbnN0IHQ9YS1OUChlLnRpbWVab25lLGUpO3QmJihlLmludGVybmFsLnNldFVUQ01pbnV0ZXMoZS5pbnRlcm5hbC5nZXRVVENNaW51dGVzKCkrdCksRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcy5jYWxsKGUsRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcy5jYWxsKGUpK3QpKX19T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoRGF0ZS5wcm90b3R5cGUpLmZvckVhY2goKGU9PntpZighRFAudGVzdChlKSlyZXR1cm47Y29uc3QgdD1lLnJlcGxhY2UoRFAsXCIkMVVUQ1wiKTtSUC5wcm90b3R5cGVbdF0mJihlLnN0YXJ0c1dpdGgoXCJnZXRcIik/UlAucHJvdG90eXBlW2VdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW50ZXJuYWxbdF0oKX06KFJQLnByb3RvdHlwZVtlXT1mdW5jdGlvbigpe3ZhciBlO3JldHVybiBEYXRlLnByb3RvdHlwZVt0XS5hcHBseSh0aGlzLmludGVybmFsLGFyZ3VtZW50cyksZT10aGlzLERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyLmNhbGwoZSxlLmludGVybmFsLmdldFVUQ0Z1bGxZZWFyKCksZS5pbnRlcm5hbC5nZXRVVENNb250aCgpLGUuaW50ZXJuYWwuZ2V0VVRDRGF0ZSgpKSxEYXRlLnByb3RvdHlwZS5zZXRIb3Vycy5jYWxsKGUsZS5pbnRlcm5hbC5nZXRVVENIb3VycygpLGUuaW50ZXJuYWwuZ2V0VVRDTWludXRlcygpLGUuaW50ZXJuYWwuZ2V0VVRDU2Vjb25kcygpLGUuaW50ZXJuYWwuZ2V0VVRDTWlsbGlzZWNvbmRzKCkpLEFQKGUpLCt0aGlzfSxSUC5wcm90b3R5cGVbdF09ZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZS5wcm90b3R5cGVbdF0uYXBwbHkodGhpcyxhcmd1bWVudHMpLGpQKHRoaXMpLCt0aGlzfSkpfSkpO2NsYXNzIElQIGV4dGVuZHMgUlB7c3RhdGljIHR6KGUsLi4udCl7cmV0dXJuIHQubGVuZ3RoP25ldyBJUCguLi50LGUpOm5ldyBJUChEYXRlLm5vdygpLGUpfXRvSVNPU3RyaW5nKCl7Y29uc3RbZSx0LG5dPXRoaXMudHpDb21wb25lbnRzKCkscj1gJHtlfSR7dH06JHtufWA7cmV0dXJuIHRoaXMuaW50ZXJuYWwudG9JU09TdHJpbmcoKS5zbGljZSgwLC0xKStyfXRvU3RyaW5nKCl7cmV0dXJuYCR7dGhpcy50b0RhdGVTdHJpbmcoKX0gJHt0aGlzLnRvVGltZVN0cmluZygpfWB9dG9EYXRlU3RyaW5nKCl7Y29uc3RbZSx0LG4scl09dGhpcy5pbnRlcm5hbC50b1VUQ1N0cmluZygpLnNwbGl0KFwiIFwiKTtyZXR1cm5gJHtlPy5zbGljZSgwLC0xKX0gJHtufSAke3R9ICR7cn1gfXRvVGltZVN0cmluZygpe2NvbnN0IGU9dGhpcy5pbnRlcm5hbC50b1VUQ1N0cmluZygpLnNwbGl0KFwiIFwiKVs0XSxbdCxuLHJdPXRoaXMudHpDb21wb25lbnRzKCk7cmV0dXJuYCR7ZX0gR01UJHt0fSR7bn0ke3J9ICgke289dGhpcy50aW1lWm9uZSxpPXRoaXMsbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoXCJlbi1HQlwiLHt0aW1lWm9uZTpvLHRpbWVab25lTmFtZTpcImxvbmdcIn0pLmZvcm1hdChpKS5zbGljZSgxMil9KWA7dmFyIG8saX10b0xvY2FsZVN0cmluZyhlLHQpe3JldHVybiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKHRoaXMsZSx7Li4udCx0aW1lWm9uZTp0Py50aW1lWm9uZXx8dGhpcy50aW1lWm9uZX0pfXRvTG9jYWxlRGF0ZVN0cmluZyhlLHQpe3JldHVybiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcuY2FsbCh0aGlzLGUsey4uLnQsdGltZVpvbmU6dD8udGltZVpvbmV8fHRoaXMudGltZVpvbmV9KX10b0xvY2FsZVRpbWVTdHJpbmcoZSx0KXtyZXR1cm4gRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVUaW1lU3RyaW5nLmNhbGwodGhpcyxlLHsuLi50LHRpbWVab25lOnQ/LnRpbWVab25lfHx0aGlzLnRpbWVab25lfSl9dHpDb21wb25lbnRzKCl7Y29uc3QgZT10aGlzLmdldFRpbWV6b25lT2Zmc2V0KCk7cmV0dXJuW2U+MD9cIi1cIjpcIitcIixTdHJpbmcoTWF0aC5mbG9vcihNYXRoLmFicyhlKS82MCkpLnBhZFN0YXJ0KDIsXCIwXCIpLFN0cmluZyhNYXRoLmFicyhlKSU2MCkucGFkU3RhcnQoMixcIjBcIildfXdpdGhUaW1lWm9uZShlKXtyZXR1cm4gbmV3IElQKCt0aGlzLGUpfVtTeW1ib2wuZm9yKFwiY29uc3RydWN0RGF0ZUZyb21cIildKGUpe3JldHVybiBuZXcgSVAoK25ldyBEYXRlKGUpLHRoaXMudGltZVpvbmUpfX1mdW5jdGlvbiBMUChlLHQsbj1DUCl7cmV0dXJuIG4uZm9ybWF0KGUsXCJMTExMIHlcIix0KX1jb25zdCBGUD1MUDtmdW5jdGlvbiB6UChlLHQsbj1DUCl7cmV0dXJuIG4uZm9ybWF0KGUsXCJkXCIsdCl9ZnVuY3Rpb24gQlAoZSx0PVhfKXtyZXR1cm4gdC5sb2NhbGl6ZT8ubW9udGgoZSl9ZnVuY3Rpb24gV1AoZSl7cmV0dXJuIGU8MTA/YDAke2UudG9Mb2NhbGVTdHJpbmcoKX1gOmAke2UudG9Mb2NhbGVTdHJpbmcoKX1gfWZ1bmN0aW9uIFZQKCl7cmV0dXJuXCJcIn1mdW5jdGlvbiBVUChlLHQsbj1DUCl7cmV0dXJuIG4uZm9ybWF0KGUsXCJjY2NjY2NcIix0KX1mdW5jdGlvbiAkUChlKXtyZXR1cm4gZS50b1N0cmluZygpfWNvbnN0IFlQPSRQO2Z1bmN0aW9uIEhQKGUsdCxuPUNQKXtyZXR1cm4gbi5mb3JtYXQoZSxcIkxMTEwgeVwiLHQpfWNvbnN0IEtQPUhQO2Z1bmN0aW9uIHFQKGUsdCxuLHI9Q1Ape2xldCBvPXIuZm9ybWF0KGUsXCJQUFBQXCIsbik7cmV0dXJuIHQ/LnRvZGF5JiYobz1gVG9kYXksICR7b31gKSxvfWZ1bmN0aW9uIEdQKGUsdCxuLHI9Q1Ape2xldCBvPXIuZm9ybWF0KGUsXCJQUFBQXCIsbik7cmV0dXJuIHQudG9kYXkmJihvPWBUb2RheSwgJHtvfWApLHQuc2VsZWN0ZWQmJihvPWAke299LCBzZWxlY3RlZGApLG99Y29uc3QgWFA9R1A7ZnVuY3Rpb24gWlAoKXtyZXR1cm5cIlwifWZ1bmN0aW9uIEpQKGUpe3JldHVyblwiQ2hvb3NlIHRoZSBNb250aFwifWZ1bmN0aW9uIFFQKGUpe3JldHVyblwiR28gdG8gdGhlIE5leHQgTW9udGhcIn1mdW5jdGlvbiBlTyhlKXtyZXR1cm5cIkdvIHRvIHRoZSBQcmV2aW91cyBNb250aFwifWZ1bmN0aW9uIHRPKGUsdCxuPUNQKXtyZXR1cm4gbi5mb3JtYXQoZSxcImNjY2NcIix0KX1mdW5jdGlvbiBuTyhlLHQpe3JldHVybmBXZWVrICR7ZX1gfWZ1bmN0aW9uIHJPKGUpe3JldHVyblwiV2VlayBOdW1iZXJcIn1mdW5jdGlvbiBvTyhlKXtyZXR1cm5cIkNob29zZSB0aGUgWWVhclwifWNvbnN0IGlPPTQyO2Z1bmN0aW9uIHNPKGUsdCl7Y29uc3R7bW9udGg6bixkZWZhdWx0TW9udGg6cix0b2RheTpvPShlLnRpbWVab25lP0lQLnR6KGUudGltZVpvbmUpOnQuRGF0ZT9uZXcgdC5EYXRlOm5ldyBEYXRlKSxudW1iZXJPZk1vbnRoczppPTEsZW5kTW9udGg6cyxzdGFydE1vbnRoOmF9PWU7bGV0IGw9bnx8cnx8bztjb25zdHtkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRoczpjLGFkZE1vbnRoczp1LHN0YXJ0T2ZNb250aDpkfT10O3JldHVybiBzJiZjKHMsbCk8MCYmKGw9dShzLC0xKihpLTEpKSksYSYmYyhsLGEpPDAmJihsPWEpLGQobCl9Y2xhc3MgYU97Y29uc3RydWN0b3IoZSx0LG49Q1Ape3RoaXMuZGF0ZT1lLHRoaXMuZGlzcGxheU1vbnRoPXQsdGhpcy5vdXRzaWRlPUJvb2xlYW4odCYmIW4uaXNTYW1lTW9udGgoZSx0KSksdGhpcy5kYXRlTGliPW59aXNFcXVhbFRvKGUpe3JldHVybiB0aGlzLmRhdGVMaWIuaXNTYW1lRGF5KGUuZGF0ZSx0aGlzLmRhdGUpJiZ0aGlzLmRhdGVMaWIuaXNTYW1lTW9udGgoZS5kaXNwbGF5TW9udGgsdGhpcy5kaXNwbGF5TW9udGgpfX1jbGFzcyBsT3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZGF0ZT1lLHRoaXMud2Vla3M9dH19Y2xhc3MgY097Y29uc3RydWN0b3IoZSx0KXt0aGlzLmRheXM9dCx0aGlzLndlZWtOdW1iZXI9ZX19ZnVuY3Rpb24gdU8oZSx0KXtjb25zdFtuLHJdPSgwLGEudXNlU3RhdGUpKGUpO3JldHVyblt2b2lkIDA9PT10P246dCxyXX1mdW5jdGlvbiBkTyhlLHQsbj0hMSxyPUNQKXtsZXR7ZnJvbTpvLHRvOml9PWU7Y29uc3R7ZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzOnMsaXNTYW1lRGF5OmF9PXI7cmV0dXJuIG8mJmk/KHMoaSxvKTwwJiYoW28saV09W2ksb10pLHModCxvKT49KG4/MTowKSYmcyhpLHQpPj0obj8xOjApKTohbiYmaT9hKGksdCk6IShufHwhbykmJmEobyx0KX1mdW5jdGlvbiBmTyhlKXtyZXR1cm4gQm9vbGVhbihlJiZcIm9iamVjdFwiPT10eXBlb2YgZSYmXCJmcm9tXCJpbiBlKX1mdW5jdGlvbiBtTyhlLHQsbj1DUCl7Y29uc3Qgcj1BcnJheS5pc0FycmF5KHQpP3Q6W3RdLHtpc1NhbWVEYXk6byxkaWZmZXJlbmNlSW5DYWxlbmRhckRheXM6aSxpc0FmdGVyOnN9PW47cmV0dXJuIHIuc29tZSgodD0+e2lmKFwiYm9vbGVhblwiPT10eXBlb2YgdClyZXR1cm4gdDtpZihuLmlzRGF0ZSh0KSlyZXR1cm4gbyhlLHQpO2lmKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSkmJmUuZXZlcnkodC5pc0RhdGUpfSh0LG4pKXJldHVybiB0LmluY2x1ZGVzKGUpO2lmKGZPKHQpKXJldHVybiBkTyh0LGUsITEsbik7aWYocj10LEJvb2xlYW4ociYmXCJvYmplY3RcIj09dHlwZW9mIHImJlwiZGF5T2ZXZWVrXCJpbiByKSlyZXR1cm4gQXJyYXkuaXNBcnJheSh0LmRheU9mV2Vlayk/dC5kYXlPZldlZWsuaW5jbHVkZXMoZS5nZXREYXkoKSk6dC5kYXlPZldlZWs9PT1lLmdldERheSgpO3ZhciByO2lmKGZ1bmN0aW9uKGUpe3JldHVybiBCb29sZWFuKGUmJlwib2JqZWN0XCI9PXR5cGVvZiBlJiZcImJlZm9yZVwiaW4gZSYmXCJhZnRlclwiaW4gZSl9KHQpKXtjb25zdCBuPWkodC5iZWZvcmUsZSk+MCxyPWkodC5hZnRlcixlKTwwO3JldHVybiBzKHQuYmVmb3JlLHQuYWZ0ZXIpP3ImJm46bnx8cn1yZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIEJvb2xlYW4oZSYmXCJvYmplY3RcIj09dHlwZW9mIGUmJlwiYWZ0ZXJcImluIGUpfSh0KT9pKGUsdC5hZnRlcik+MDpmdW5jdGlvbihlKXtyZXR1cm4gQm9vbGVhbihlJiZcIm9iamVjdFwiPT10eXBlb2YgZSYmXCJiZWZvcmVcImluIGUpfSh0KT9pKHQuYmVmb3JlLGUpPjA6XCJmdW5jdGlvblwiPT10eXBlb2YgdCYmdChlKX0pKX1mdW5jdGlvbiBoTyhlLHQsbixyLG8saSxzLGE9MCl7aWYoYT4zNjUpcmV0dXJuO2NvbnN0IGw9ZnVuY3Rpb24oZSx0LG4scixvLGkscyl7Y29uc3R7d2Vla1N0YXJ0c09uOmEsbG9jYWxlOmwsSVNPV2VlazpjfT1pLHthZGREYXlzOnUsYWRkTW9udGhzOmQsYWRkWWVhcnM6ZixhZGRXZWVrczptLHN0YXJ0T2ZJU09XZWVrOmgsZW5kT2ZJU09XZWVrOnAsc3RhcnRPZldlZWs6ZyxlbmRPZldlZWs6eSxtYXg6dixtaW46Yn09cztsZXQgeD17ZGF5OnUsd2VlazptLG1vbnRoOmQseWVhcjpmLHN0YXJ0T2ZXZWVrOmU9PmM/aChlKTpnKGUse2xvY2FsZTpsLHdlZWtTdGFydHNPbjphfSksZW5kT2ZXZWVrOmU9PmM/cChlKTp5KGUse2xvY2FsZTpsLHdlZWtTdGFydHNPbjphfSl9W2VdKG4sXCJhZnRlclwiPT09dD8xOi0xKTtyZXR1cm5cImJlZm9yZVwiPT09dCYmcj94PXYoW3IseF0pOlwiYWZ0ZXJcIj09PXQmJm8mJih4PWIoW28seF0pKSx4fShlLHQsbi5kYXRlLHIsbyxpLHMpLGM9Qm9vbGVhbihpLmRpc2FibGVkJiZtTyhsLGkuZGlzYWJsZWQscykpLHU9Qm9vbGVhbihpLmhpZGRlbiYmbU8obCxpLmhpZGRlbixzKSksZD1uZXcgYU8obCxsLHMpO3JldHVybiBjfHx1P2hPKGUsdCxkLHIsbyxpLHMsYSsxKTpkfWZ1bmN0aW9uIHBPKGUsdCxuLHIsbyl7Y29uc3R7YXV0b0ZvY3VzOml9PWUsW3MsbF09KDAsYS51c2VTdGF0ZSkoKSxjPWZ1bmN0aW9uKGUsdCxuLHIpe2xldCBvLGk9MCxzPSExO2Zvcig7aTxlLmxlbmd0aCYmIXM7KXtjb25zdCBhPWVbaV0sbD10KGEpO2xbS0MuZGlzYWJsZWRdfHxsW0tDLmhpZGRlbl18fGxbS0Mub3V0c2lkZV18fChsW0tDLmZvY3VzZWRdfHxyPy5pc0VxdWFsVG8oYSl8fG4oYS5kYXRlKXx8bFtLQy50b2RheV0pJiYobz1hLHM9ITApLGkrK31yZXR1cm4gb3x8KG89ZS5maW5kKChlPT57Y29uc3Qgbj10KGUpO3JldHVybiFuW0tDLmRpc2FibGVkXSYmIW5bS0MuaGlkZGVuXSYmIW5bS0Mub3V0c2lkZV19KSkpLG99KHQuZGF5cyxuLHJ8fCgoKT0+ITEpLHMpLFt1LGRdPSgwLGEudXNlU3RhdGUpKGk/Yzp2b2lkIDApO3JldHVybntpc0ZvY3VzVGFyZ2V0OmU9PkJvb2xlYW4oYz8uaXNFcXVhbFRvKGUpKSxzZXRGb2N1c2VkOmQsZm9jdXNlZDp1LGJsdXI6KCk9PntsKHUpLGQodm9pZCAwKX0sbW92ZUZvY3VzOihuLHIpPT57aWYoIXUpcmV0dXJuO2NvbnN0IGk9aE8obixyLHUsdC5uYXZTdGFydCx0Lm5hdkVuZCxlLG8pO2kmJih0LmdvVG9EYXkoaSksZChpKSl9fX1mdW5jdGlvbiBnTyhlLHQpe2NvbnN0IG49ZnVuY3Rpb24oZSx0KXtjb25zdHtzZWxlY3RlZDpuLHJlcXVpcmVkOnIsb25TZWxlY3Q6b309ZSxbaSxzXT11TyhuLG8/bjp2b2lkIDApLGE9bz9uOmkse2lzU2FtZURheTpsfT10O3JldHVybntzZWxlY3RlZDphLHNlbGVjdDooZSx0LG4pPT57bGV0IGk9ZTtyZXR1cm4hciYmYSYmYSYmbChlLGEpJiYoaT12b2lkIDApLG98fHMoaSksbz8uKGksZSx0LG4pLGl9LGlzU2VsZWN0ZWQ6ZT0+ISFhJiZsKGEsZSl9fShlLHQpLHI9ZnVuY3Rpb24oZSx0KXtjb25zdHtzZWxlY3RlZDpuLHJlcXVpcmVkOnIsb25TZWxlY3Q6b309ZSxbaSxzXT11TyhuLG8/bjp2b2lkIDApLGE9bz9uOmkse2lzU2FtZURheTpsfT10LGM9ZT0+YT8uc29tZSgodD0+bCh0LGUpKSk/PyExLHttaW46dSxtYXg6ZH09ZTtyZXR1cm57c2VsZWN0ZWQ6YSxzZWxlY3Q6KGUsdCxuKT0+e2xldCBpPVsuLi5hPz9bXV07aWYoYyhlKSl7aWYoYT8ubGVuZ3RoPT09dSlyZXR1cm47aWYociYmMT09PWE/Lmxlbmd0aClyZXR1cm47aT1hPy5maWx0ZXIoKHQ9PiFsKHQsZSkpKX1lbHNlIGk9YT8ubGVuZ3RoPT09ZD9bZV06Wy4uLmksZV07cmV0dXJuIG98fHMoaSksbz8uKGksZSx0LG4pLGl9LGlzU2VsZWN0ZWQ6Y319KGUsdCksbz1mdW5jdGlvbihlLHQpe2NvbnN0e2Rpc2FibGVkOm4sZXhjbHVkZURpc2FibGVkOnIsc2VsZWN0ZWQ6byxyZXF1aXJlZDppLG9uU2VsZWN0OnN9PWUsW2EsbF09dU8obyxzP286dm9pZCAwKSxjPXM/bzphO3JldHVybntzZWxlY3RlZDpjLHNlbGVjdDoobyxhLHUpPT57Y29uc3R7bWluOmQsbWF4OmZ9PWUsbT1vP2Z1bmN0aW9uKGUsdCxuPTAscj0wLG89ITEsaT1DUCl7Y29uc3R7ZnJvbTpzLHRvOmF9PXR8fHt9LHtpc1NhbWVEYXk6bCxpc0FmdGVyOmMsaXNCZWZvcmU6dX09aTtsZXQgZDtpZihzfHxhKXtpZihzJiYhYSlkPWwocyxlKT9vP3tmcm9tOnMsdG86dm9pZCAwfTp2b2lkIDA6dShlLHMpP3tmcm9tOmUsdG86c306e2Zyb206cyx0bzplfTtlbHNlIGlmKHMmJmEpaWYobChzLGUpJiZsKGEsZSkpZD1vP3tmcm9tOnMsdG86YX06dm9pZCAwO2Vsc2UgaWYobChzLGUpKWQ9e2Zyb206cyx0bzpuPjA/dm9pZCAwOmV9O2Vsc2UgaWYobChhLGUpKWQ9e2Zyb206ZSx0bzpuPjA/dm9pZCAwOmV9O2Vsc2UgaWYodShlLHMpKWQ9e2Zyb206ZSx0bzphfTtlbHNlIGlmKGMoZSxzKSlkPXtmcm9tOnMsdG86ZX07ZWxzZXtpZighYyhlLGEpKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgcmFuZ2VcIik7ZD17ZnJvbTpzLHRvOmV9fX1lbHNlIGQ9e2Zyb206ZSx0bzpuPjA/dm9pZCAwOmV9O2lmKGQ/LmZyb20mJmQ/LnRvKXtjb25zdCB0PWkuZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKGQudG8sZC5mcm9tKTsocj4wJiZ0PnJ8fG4+MSYmdDxuKSYmKGQ9e2Zyb206ZSx0bzp2b2lkIDB9KX1yZXR1cm4gZH0obyxjLGQsZixpLHQpOnZvaWQgMDtpZihtPy5mcm9tJiZtLnRvKXtsZXQgZT1tLmZyb207Zm9yKDt0LmRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhtLnRvLGUpPjA7KWlmKGU9dC5hZGREYXlzKGUsMSksciYmbiYmbU8oZSxuLHQpKXttLmZyb209byxtLnRvPXZvaWQgMDticmVha319cmV0dXJuIHN8fGwobSkscz8uKG0sbyxhLHUpLG19LGlzU2VsZWN0ZWQ6ZT0+YyYmZE8oYyxlLCExLHQpfX0oZSx0KTtzd2l0Y2goZS5tb2RlKXtjYXNlXCJzaW5nbGVcIjpyZXR1cm4gbjtjYXNlXCJtdWx0aXBsZVwiOnJldHVybiByO2Nhc2VcInJhbmdlXCI6cmV0dXJuIG87ZGVmYXVsdDpyZXR1cm59fWZ1bmN0aW9uIHlPKGUpe2NvbnN0e2NvbXBvbmVudHM6dCxmb3JtYXR0ZXJzOm4sbGFiZWxzOnIsZGF0ZUxpYjpsLGxvY2FsZTpjLGNsYXNzTmFtZXM6dX09KDAsYS51c2VNZW1vKSgoKCk9PntyZXR1cm57ZGF0ZUxpYjoocj1lLmRhdGVMaWIsey4uLkNQLC4uLnJ9KSxjb21wb25lbnRzOihuPWUuY29tcG9uZW50cyx7Li4ubywuLi5ufSksZm9ybWF0dGVyczoodD1lLmZvcm1hdHRlcnMsdD8uZm9ybWF0TW9udGhDYXB0aW9uJiYhdC5mb3JtYXRDYXB0aW9uJiYodC5mb3JtYXRDYXB0aW9uPXQuZm9ybWF0TW9udGhDYXB0aW9uKSx0Py5mb3JtYXRZZWFyQ2FwdGlvbiYmIXQuZm9ybWF0WWVhckRyb3Bkb3duJiYodC5mb3JtYXRZZWFyRHJvcGRvd249dC5mb3JtYXRZZWFyQ2FwdGlvbiksey4uLmksLi4udH0pLGxhYmVsczp7Li4ucywuLi5lLmxhYmVsc30sbG9jYWxlOnsuLi5YXywuLi5lLmxvY2FsZX0sY2xhc3NOYW1lczp7Li4uX1AoKSwuLi5lLmNsYXNzTmFtZXN9fTt2YXIgdCxuLHJ9KSxbZS5jbGFzc05hbWVzLGUuY29tcG9uZW50cyxlLmRhdGVMaWIsZS5mb3JtYXR0ZXJzLGUubGFiZWxzLGUubG9jYWxlXSkse2NhcHRpb25MYXlvdXQ6ZCxmaXJzdFdlZWtDb250YWluc0RhdGU6Zixtb2RlOm0sb25EYXlCbHVyOmgsb25EYXlDbGljazpwLG9uRGF5Rm9jdXM6ZyxvbkRheUtleURvd246eSxvbkRheU1vdXNlRW50ZXI6dixvbkRheU1vdXNlTGVhdmU6Yixvbk5leHRDbGljazp4LG9uUHJldkNsaWNrOncsc2hvd1dlZWtOdW1iZXI6UyxzdHlsZXM6ayx1c2VBZGRpdGlvbmFsRGF5T2ZZZWFyVG9rZW5zOkUsdXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zOkMsd2Vla1N0YXJ0c09uOl99PWUsUD17bG9jYWxlOmMsd2Vla1N0YXJ0c09uOl8sZmlyc3RXZWVrQ29udGFpbnNEYXRlOmYsdXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zOkMsdXNlQWRkaXRpb25hbERheU9mWWVhclRva2VuczpFfSxPPVAse2Zvcm1hdENhcHRpb246Tixmb3JtYXREYXk6VCxmb3JtYXRNb250aERyb3Bkb3duOk0sZm9ybWF0V2Vla051bWJlcjpSLGZvcm1hdFdlZWtOdW1iZXJIZWFkZXI6RCxmb3JtYXRXZWVrZGF5TmFtZTpqLGZvcm1hdFllYXJEcm9wZG93bjpBfT1uLEk9ZnVuY3Rpb24oZSx0KXtjb25zdFtuLHJdPWZ1bmN0aW9uKGUsdCl7bGV0e3N0YXJ0TW9udGg6bixlbmRNb250aDpyfT1lO2NvbnN0e3N0YXJ0T2ZZZWFyOm8sc3RhcnRPZkRheTppLHN0YXJ0T2ZNb250aDpzLGVuZE9mTW9udGg6YSxhZGRZZWFyczpsLGVuZE9mWWVhcjpjfT10LHtmcm9tWWVhcjp1LHRvWWVhcjpkLGZyb21Nb250aDpmLHRvTW9udGg6bX09ZTshbiYmZiYmKG49ZiksIW4mJnUmJihuPW5ldyBEYXRlKHUsMCwxKSksIXImJm0mJihyPW0pLCFyJiZkJiYocj1uZXcgRGF0ZShkLDExLDMxKSk7Y29uc3QgaD1lLmNhcHRpb25MYXlvdXQ/LnN0YXJ0c1dpdGgoXCJkcm9wZG93blwiKTtyZXR1cm4gbj9uPXMobik6dT9uPW5ldyBEYXRlKHUsMCwxKTohbiYmaCYmKG49byhsKGUudG9kYXk/PyhlLnRpbWVab25lP0lQLnR6KGUudGltZVpvbmUpOnQuRGF0ZT9uZXcgdC5EYXRlOm5ldyBEYXRlKSwtMTAwKSkpLHI/cj1hKHIpOmQ/cj1uZXcgRGF0ZShkLDExLDMxKTohciYmaCYmKHI9YyhlLnRvZGF5Pz8oZS50aW1lWm9uZT9JUC50eihlLnRpbWVab25lKTp0LkRhdGU/bmV3IHQuRGF0ZTpuZXcgRGF0ZSkpKSxbbj9pKG4pOm4scj9pKHIpOnJdfShlLHQpLHtzdGFydE9mTW9udGg6byxlbmRPZk1vbnRoOml9PXQscz1zTyhlLHQpLFtsLGNdPXVPKHMsZS5tb250aD9vKGUubW9udGgpOnZvaWQgMCk7KDAsYS51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IG49c08oZSx0KTtjKG4pfSksW2UudGltZVpvbmVdKTtjb25zdCB1PWZ1bmN0aW9uKGUsdCxuLHIpe2NvbnN0e251bWJlck9mTW9udGhzOm89MX09bixpPVtdO2ZvcihsZXQgbj0wO248bztuKyspe2NvbnN0IG89ci5hZGRNb250aHMoZSxuKTtpZih0JiZvPnQpYnJlYWs7aS5wdXNoKG8pfXJldHVybiBpfShsLHIsZSx0KSxkPWZ1bmN0aW9uKGUsdCxuLHIpe2NvbnN0IG89ZVswXSxpPWVbZS5sZW5ndGgtMV0se0lTT1dlZWs6cyxmaXhlZFdlZWtzOmEsbG9jYWxlOmwsd2Vla1N0YXJ0c09uOmN9PW4/P3t9LHtzdGFydE9mV2Vlazp1LGVuZE9mV2VlazpkLHN0YXJ0T2ZJU09XZWVrOmYsZW5kT2ZJU09XZWVrOm0sYWRkRGF5czpoLGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5czpwLGRpZmZlcmVuY2VJbkNhbGVuZGFyTW9udGhzOmcsaXNBZnRlcjp5LGVuZE9mTW9udGg6dn09cixiPXM/ZihvKTp1KG8se3dlZWtTdGFydHNPbjpjLGxvY2FsZTpsfSkseD1wKHM/bSh2KGkpKTpkKHYoaSkse3dlZWtTdGFydHNPbjpjLGxvY2FsZTpsfSksYiksdz1nKGksbykrMSxTPVtdO2ZvcihsZXQgZT0wO2U8PXg7ZSsrKXtjb25zdCBuPWgoYixlKTtpZih0JiZ5KG4sdCkpYnJlYWs7Uy5wdXNoKG4pfWNvbnN0IGs9aU8qdztpZihhJiZTLmxlbmd0aDxrKWZvcihsZXQgZT0wO2U8NztlKyspe2NvbnN0IGU9aChTW1MubGVuZ3RoLTFdLDEpO1MucHVzaChlKX1yZXR1cm4gU30odSxlLmVuZE1vbnRoP2koZS5lbmRNb250aCk6dm9pZCAwLGUsdCksZj1mdW5jdGlvbihlLHQsbixyKXtjb25zdHtzdGFydE9mV2VlazpvLGVuZE9mV2VlazppLHN0YXJ0T2ZJU09XZWVrOnMsZW5kT2ZJU09XZWVrOmEsZW5kT2ZNb250aDpsLGFkZERheXM6YyxnZXRXZWVrOnUsZ2V0SVNPV2VlazpkfT1yLGY9ZS5yZWR1Y2UoKChlLGYpPT57Y29uc3QgbT1uLklTT1dlZWs/cyhmKTpvKGYse2xvY2FsZTpuLmxvY2FsZSx3ZWVrU3RhcnRzT246bi53ZWVrU3RhcnRzT259KSxoPW4uSVNPV2Vlaz9hKGwoZikpOmkobChmKSx7bG9jYWxlOm4ubG9jYWxlLHdlZWtTdGFydHNPbjpuLndlZWtTdGFydHNPbn0pLHA9dC5maWx0ZXIoKGU9PmU+PW0mJmU8PWgpKTtpZihuLmZpeGVkV2Vla3MmJnAubGVuZ3RoPDQyKXtjb25zdCBlPXQuZmlsdGVyKChlPT5lPmgmJmU8PWMoaCw3KSkpO3AucHVzaCguLi5lKX1jb25zdCBnPXAucmVkdWNlKCgoZSx0KT0+e2NvbnN0IG89bi5JU09XZWVrP2QodCk6dSh0LHtsb2NhbGU6bi5sb2NhbGUsd2Vla1N0YXJ0c09uOm4ud2Vla1N0YXJ0c09uLGZpcnN0V2Vla0NvbnRhaW5zRGF0ZTpuLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZX0pLGk9ZS5maW5kKChlPT5lLndlZWtOdW1iZXI9PT1vKSkscz1uZXcgYU8odCxmLHIpO3JldHVybiBpP2kuZGF5cy5wdXNoKHMpOmUucHVzaChuZXcgY08obyxbc10pKSxlfSksW10pLHk9bmV3IGxPKGYsZyk7cmV0dXJuIGUucHVzaCh5KSxlfSksW10pO3JldHVybiBuLnJldmVyc2VNb250aHM/Zi5yZXZlcnNlKCk6Zn0odSxkLGUsdCksbT1mdW5jdGlvbihlKXtyZXR1cm4gZS5yZWR1Y2UoKChlLHQpPT5bLi4uZSwuLi50LndlZWtzXSksW10pfShmKSxoPWYucmVkdWNlKCgoZSx0KT0+Wy4uLmUsLi4udC53ZWVrcy5yZWR1Y2UoKChlLHQpPT5bLi4uZSwuLi50LmRheXNdKSxbXSldKSxbXSkscD1mdW5jdGlvbihlLHQsbixyKXtpZihuLmRpc2FibGVOYXZpZ2F0aW9uKXJldHVybjtjb25zdHtwYWdlZE5hdmlnYXRpb246byxudW1iZXJPZk1vbnRoczppfT1uLHtzdGFydE9mTW9udGg6cyxhZGRNb250aHM6YSxkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRoczpsfT1yLGM9bz9pPz8xOjEsdT1zKGUpO3JldHVybiB0JiZsKHUsdCk8PTA/dm9pZCAwOmEodSwtYyl9KGwsbixlLHQpLGc9ZnVuY3Rpb24oZSx0LG4scil7aWYobi5kaXNhYmxlTmF2aWdhdGlvbilyZXR1cm47Y29uc3R7cGFnZWROYXZpZ2F0aW9uOm8sbnVtYmVyT2ZNb250aHM6aT0xfT1uLHtzdGFydE9mTW9udGg6cyxhZGRNb250aHM6YSxkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRoczpsfT1yLGM9bz9pOjEsdT1zKGUpO3JldHVybiB0JiZsKHQsZSk8aT92b2lkIDA6YSh1LGMpfShsLHIsZSx0KSx7ZGlzYWJsZU5hdmlnYXRpb246eSxvbk1vbnRoQ2hhbmdlOnZ9PWUsYj1lPT57aWYoeSlyZXR1cm47bGV0IHQ9byhlKTtuJiZ0PG8obikmJih0PW8obikpLHImJnQ+byhyKSYmKHQ9byhyKSksYyh0KSx2Py4odCl9O3JldHVybnttb250aHM6Zix3ZWVrczptLGRheXM6aCxuYXZTdGFydDpuLG5hdkVuZDpyLHByZXZpb3VzTW9udGg6cCxuZXh0TW9udGg6Zyxnb1RvTW9udGg6Yixnb1RvRGF5OmU9PnsoZT0+bS5zb21lKCh0PT50LmRheXMuc29tZSgodD0+dC5pc0VxdWFsVG8oZSkpKSkpKShlKXx8YihlLmRhdGUpfX19KGUsbCkse2RheXM6TCxtb250aHM6RixuYXZTdGFydDp6LG5hdkVuZDpCLHByZXZpb3VzTW9udGg6VyxuZXh0TW9udGg6Vixnb1RvTW9udGg6VX09SSwkPWZ1bmN0aW9uKGUsdCxuKXtjb25zdHtkaXNhYmxlZDpyLGhpZGRlbjpvLG1vZGlmaWVyczppLHNob3dPdXRzaWRlRGF5czpzLHRvZGF5OmF9PXQse2lzU2FtZURheTpsLGlzU2FtZU1vbnRoOmN9PW4sdT17W0tDLmZvY3VzZWRdOltdLFtLQy5vdXRzaWRlXTpbXSxbS0MuZGlzYWJsZWRdOltdLFtLQy5oaWRkZW5dOltdLFtLQy50b2RheV06W119LGQ9e30sZj17W3FDLnJhbmdlX2VuZF06W10sW3FDLnJhbmdlX21pZGRsZV06W10sW3FDLnJhbmdlX3N0YXJ0XTpbXSxbcUMuc2VsZWN0ZWRdOltdfTtmb3IoY29uc3QgZiBvZiBlKXtjb25zdHtkYXRlOmUsZGlzcGxheU1vbnRoOm19PWYsaD1Cb29sZWFuKG0mJiFjKGUsbSkpLHA9Qm9vbGVhbihyJiZtTyhlLHIsbikpLGc9Qm9vbGVhbihvJiZtTyhlLG8sbikpfHwhcyYmaCx5PWwoZSxhPz8odC50aW1lWm9uZT9JUC50eih0LnRpbWVab25lKTpuLkRhdGU/bmV3IG4uRGF0ZTpuZXcgRGF0ZSkpO2gmJnUub3V0c2lkZS5wdXNoKGYpLHAmJnUuZGlzYWJsZWQucHVzaChmKSxnJiZ1LmhpZGRlbi5wdXNoKGYpLHkmJnUudG9kYXkucHVzaChmKSxpJiZPYmplY3Qua2V5cyhpKS5mb3JFYWNoKCh0PT57Y29uc3Qgcj1pPy5bdF07ciYmbU8oZSxyLG4pJiYoZFt0XT9kW3RdLnB1c2goZik6ZFt0XT1bZl0pfSkpfXJldHVybiBlPT57Y29uc3QgdD17W0tDLmZvY3VzZWRdOiExLFtLQy5kaXNhYmxlZF06ITEsW0tDLmhpZGRlbl06ITEsW0tDLm91dHNpZGVdOiExLFtLQy50b2RheV06ITF9LG49e1txQy5yYW5nZV9lbmRdOiExLFtxQy5yYW5nZV9taWRkbGVdOiExLFtxQy5yYW5nZV9zdGFydF06ITEsW3FDLnNlbGVjdGVkXTohMX0scj17fTtmb3IoY29uc3QgbiBpbiB1KXtjb25zdCByPXVbbl07dFtuXT1yLnNvbWUoKHQ9PnQ9PT1lKSl9Zm9yKGNvbnN0IHQgaW4gZil7Y29uc3Qgcj1mW3RdO25bdF09ci5zb21lKCh0PT50PT09ZSkpfWZvcihjb25zdCB0IGluIGQpclt0XT1kW3RdLnNvbWUoKHQ9PnQ9PT1lKSk7cmV0dXJuey4uLm4sLi4udCwuLi5yfX19KEwsZSxsKSx7aXNTZWxlY3RlZDpZLHNlbGVjdDpILHNlbGVjdGVkOkt9PWdPKGUsbCk/P3t9LHtibHVyOnEsZm9jdXNlZDpHLGlzRm9jdXNUYXJnZXQ6WCxtb3ZlRm9jdXM6WixzZXRGb2N1c2VkOkp9PXBPKGUsSSwkLFk/PygoKT0+ITEpLGwpLHtsYWJlbERheUJ1dHRvbjpRLGxhYmVsR3JpZGNlbGw6ZWUsbGFiZWxHcmlkOnRlLGxhYmVsTW9udGhEcm9wZG93bjpuZSxsYWJlbE5hdjpyZSxsYWJlbFdlZWtkYXk6b2UsbGFiZWxXZWVrTnVtYmVyOmllLGxhYmVsV2Vla051bWJlckhlYWRlcjpzZSxsYWJlbFllYXJEcm9wZG93bjphZX09cixsZT0oMCxhLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSx0LG4scixvPUNQKXtjb25zdCBpPXI/SVAudHoocik6by5EYXRlP25ldyBvLkRhdGU6bmV3IERhdGUscz1uP28uc3RhcnRPZklTT1dlZWsoaSk6by5zdGFydE9mV2VlayhpLHtsb2NhbGU6ZSx3ZWVrU3RhcnRzT246dH0pLGE9W107Zm9yKGxldCBlPTA7ZTw3O2UrKyl7Y29uc3QgdD1vLmFkZERheXMocyxlKTthLnB1c2godCl9cmV0dXJuIGF9KGMsZS53ZWVrU3RhcnRzT24sZS5JU09XZWVrLGUudGltZVpvbmUsbCkpLFtsLGMsZS5JU09XZWVrLGUudGltZVpvbmUsZS53ZWVrU3RhcnRzT25dKSxjZT12b2lkIDAhPT1tfHx2b2lkIDAhPT1wLHVlPSgwLGEudXNlQ2FsbGJhY2spKCgoKT0+e1cmJihVKFcpLHc/LihXKSl9KSxbVyxVLHddKSxkZT0oMCxhLnVzZUNhbGxiYWNrKSgoKCk9PntWJiYoVShWKSx4Py4oVikpfSksW1UsVix4XSksZmU9KDAsYS51c2VDYWxsYmFjaykoKChlLHQpPT5uPT57bi5wcmV2ZW50RGVmYXVsdCgpLG4uc3RvcFByb3BhZ2F0aW9uKCksSihlKSxIPy4oZS5kYXRlLHQsbikscD8uKGUuZGF0ZSx0LG4pfSksW0gscCxKXSksbWU9KDAsYS51c2VDYWxsYmFjaykoKChlLHQpPT5uPT57SihlKSxnPy4oZS5kYXRlLHQsbil9KSxbZyxKXSksaGU9KDAsYS51c2VDYWxsYmFjaykoKChlLHQpPT5uPT57cSgpLGg/LihlLmRhdGUsdCxuKX0pLFtxLGhdKSxwZT0oMCxhLnVzZUNhbGxiYWNrKSgoKHQsbik9PnI9Pntjb25zdCBvPXtBcnJvd0xlZnQ6W1wiZGF5XCIsXCJydGxcIj09PWUuZGlyP1wiYWZ0ZXJcIjpcImJlZm9yZVwiXSxBcnJvd1JpZ2h0OltcImRheVwiLFwicnRsXCI9PT1lLmRpcj9cImJlZm9yZVwiOlwiYWZ0ZXJcIl0sQXJyb3dEb3duOltcIndlZWtcIixcImFmdGVyXCJdLEFycm93VXA6W1wid2Vla1wiLFwiYmVmb3JlXCJdLFBhZ2VVcDpbci5zaGlmdEtleT9cInllYXJcIjpcIm1vbnRoXCIsXCJiZWZvcmVcIl0sUGFnZURvd246W3Iuc2hpZnRLZXk/XCJ5ZWFyXCI6XCJtb250aFwiLFwiYWZ0ZXJcIl0sSG9tZTpbXCJzdGFydE9mV2Vla1wiLFwiYmVmb3JlXCJdLEVuZDpbXCJlbmRPZldlZWtcIixcImFmdGVyXCJdfTtpZihvW3Iua2V5XSl7ci5wcmV2ZW50RGVmYXVsdCgpLHIuc3RvcFByb3BhZ2F0aW9uKCk7Y29uc3RbZSx0XT1vW3Iua2V5XTtaKGUsdCl9eT8uKHQuZGF0ZSxuLHIpfSksW1oseSxlLmRpcl0pLGdlPSgwLGEudXNlQ2FsbGJhY2spKCgoZSx0KT0+bj0+e3Y/LihlLmRhdGUsdCxuKX0pLFt2XSkseWU9KDAsYS51c2VDYWxsYmFjaykoKChlLHQpPT5uPT57Yj8uKGUuZGF0ZSx0LG4pfSksW2JdKSx7Y2xhc3NOYW1lOnZlLHN0eWxlOmJlfT0oMCxhLnVzZU1lbW8pKCgoKT0+KHtjbGFzc05hbWU6W3VbSEMuUm9vdF0sZS5jbGFzc05hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKFwiIFwiKSxzdHlsZTp7Li4uaz8uW0hDLlJvb3RdLC4uLmUuc3R5bGV9fSkpLFt1LGUuY2xhc3NOYW1lLGUuc3R5bGUsa10pLHhlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9e1wiZGF0YS1tb2RlXCI6ZS5tb2RlPz92b2lkIDAsXCJkYXRhLXJlcXVpcmVkXCI6XCJyZXF1aXJlZFwiaW4gZT9lLnJlcXVpcmVkOnZvaWQgMCxcImRhdGEtbXVsdGlwbGUtbW9udGhzXCI6ZS5udW1iZXJPZk1vbnRocyYmZS5udW1iZXJPZk1vbnRocz4xfHx2b2lkIDAsXCJkYXRhLXdlZWstbnVtYmVyc1wiOmUuc2hvd1dlZWtOdW1iZXJ8fHZvaWQgMH07cmV0dXJuIE9iamVjdC5lbnRyaWVzKGUpLmZvckVhY2goKChbZSxuXSk9PntlLnN0YXJ0c1dpdGgoXCJkYXRhLVwiKSYmKHRbZV09bil9KSksdH0oZSksd2U9e3NlbGVjdGVkOkssc2VsZWN0OkgsaXNTZWxlY3RlZDpZLG1vbnRoczpGLG5leHRNb250aDpWLHByZXZpb3VzTW9udGg6Vyxnb1RvTW9udGg6VSxnZXRNb2RpZmllcnM6JCxjb21wb25lbnRzOnQsY2xhc3NOYW1lczp1LHN0eWxlczprLGxhYmVsczpyLGZvcm1hdHRlcnM6bn07cmV0dXJuIGEuY3JlYXRlRWxlbWVudChsXy5Qcm92aWRlcix7dmFsdWU6d2V9LGEuY3JlYXRlRWxlbWVudCh0LlJvb3Qse2NsYXNzTmFtZTp2ZSxzdHlsZTpiZSxkaXI6ZS5kaXIsaWQ6ZS5pZCxsYW5nOmUubGFuZyxub25jZTplLm5vbmNlLHRpdGxlOmUudGl0bGUsLi4ueGV9LGEuY3JlYXRlRWxlbWVudCh0Lk1vbnRocyx7Y2xhc3NOYW1lOnVbSEMuTW9udGhzXSxzdHlsZTprPy5bSEMuTW9udGhzXX0sIWUuaGlkZU5hdmlnYXRpb24mJmEuY3JlYXRlRWxlbWVudCh0Lk5hdix7Y2xhc3NOYW1lOnVbSEMuTmF2XSxzdHlsZTprPy5bSEMuTmF2XSxcImFyaWEtbGFiZWxcIjpyZSgpLG9uUHJldmlvdXNDbGljazp1ZSxvbk5leHRDbGljazpkZSxwcmV2aW91c01vbnRoOlcsbmV4dE1vbnRoOlZ9KSxGLm1hcCgoKHIsbyk9Pntjb25zdCBpPWZ1bmN0aW9uKGUsdCxuLHIsbyxpKXtpZighdClyZXR1cm47aWYoIW4pcmV0dXJuO2NvbnN0e2FkZE1vbnRoczpzLHN0YXJ0T2ZNb250aDphLGlzQmVmb3JlOmx9PWksYz1lLmdldEZ1bGxZZWFyKCksdT1bXTtsZXQgZD10O2Zvcig7dS5sZW5ndGg8MTImJmwoZCxzKG4sMSkpOyl1LnB1c2goZC5nZXRNb250aCgpKSxkPXMoZCwxKTtjb25zdCBmPXUuc29ydCgoKGUsdCk9PmUtdCkpLm1hcCgoZT0+e2NvbnN0IHM9ci5mb3JtYXRNb250aERyb3Bkb3duKGUsbyksbD1pLkRhdGU/bmV3IGkuRGF0ZShjLGUpOm5ldyBEYXRlKGMsZSk7cmV0dXJue3ZhbHVlOmUsbGFiZWw6cyxkaXNhYmxlZDp0JiZsPGEodCl8fG4mJmw+YShuKXx8ITF9fSkpO3JldHVybiBmfShyLmRhdGUseixCLG4sYyxsKSxzPWZ1bmN0aW9uKGUsdCxuLHIsbyl7aWYoIXQpcmV0dXJuO2lmKCFuKXJldHVybjtjb25zdHtzdGFydE9mTW9udGg6aSxzdGFydE9mWWVhcjpzLGVuZE9mWWVhcjphLGFkZFllYXJzOmwsaXNCZWZvcmU6Yyxpc1NhbWVZZWFyOnV9PW8sZD1lLmdldE1vbnRoKCksZj1zKHQpLG09YShuKSxoPVtdO2xldCBwPWY7Zm9yKDtjKHAsbSl8fHUocCxtKTspaC5wdXNoKHAuZ2V0RnVsbFllYXIoKSkscD1sKHAsMSk7cmV0dXJuIGgubWFwKChlPT57Y29uc3Qgcz1vLkRhdGU/bmV3IG8uRGF0ZShlLGQpOm5ldyBEYXRlKGUsZCksYT10JiZzPGkodCl8fGQmJm4mJnM+aShuKXx8ITE7cmV0dXJue3ZhbHVlOmUsbGFiZWw6ci5mb3JtYXRZZWFyRHJvcGRvd24oZSksZGlzYWJsZWQ6YX19KSl9KEZbMF0uZGF0ZSx6LEIsbixsKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KHQuTW9udGgse2NsYXNzTmFtZTp1W0hDLk1vbnRoXSxzdHlsZTprPy5bSEMuTW9udGhdLGtleTpvLGRpc3BsYXlJbmRleDpvLGNhbGVuZGFyTW9udGg6cn0sYS5jcmVhdGVFbGVtZW50KHQuTW9udGhDYXB0aW9uLHtjbGFzc05hbWU6dVtIQy5Nb250aENhcHRpb25dLHN0eWxlOms/LltIQy5Nb250aENhcHRpb25dLGNhbGVuZGFyTW9udGg6cixkaXNwbGF5SW5kZXg6b30sZD8uc3RhcnRzV2l0aChcImRyb3Bkb3duXCIpP2EuY3JlYXRlRWxlbWVudCh0LkRyb3Bkb3duTmF2LHtjbGFzc05hbWU6dVtIQy5Ecm9wZG93bnNdLHN0eWxlOms/LltIQy5Ecm9wZG93bnNdfSxcImRyb3Bkb3duXCI9PT1kfHxcImRyb3Bkb3duLW1vbnRoc1wiPT09ZD9hLmNyZWF0ZUVsZW1lbnQodC5Nb250aHNEcm9wZG93bix7Y2xhc3NOYW1lOnVbSEMuTW9udGhzRHJvcGRvd25dLFwiYXJpYS1sYWJlbFwiOm5lKCksY2xhc3NOYW1lczp1LGNvbXBvbmVudHM6dCxkaXNhYmxlZDpCb29sZWFuKGUuZGlzYWJsZU5hdmlnYXRpb24pLG9uQ2hhbmdlOmU9Pntjb25zdCB0PU51bWJlcihlLnRhcmdldC52YWx1ZSksbj1sLnNldE1vbnRoKGwuc3RhcnRPZk1vbnRoKHIuZGF0ZSksdCk7VShuKX0sb3B0aW9uczppLHN0eWxlOms/LltIQy5Ecm9wZG93bl0sdmFsdWU6ci5kYXRlLmdldE1vbnRoKCl9KTphLmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIse3JvbGU6XCJzdGF0dXNcIixcImFyaWEtbGl2ZVwiOlwicG9saXRlXCJ9LE0oci5kYXRlLmdldE1vbnRoKCkpKSxcImRyb3Bkb3duXCI9PT1kfHxcImRyb3Bkb3duLXllYXJzXCI9PT1kP2EuY3JlYXRlRWxlbWVudCh0LlllYXJzRHJvcGRvd24se2NsYXNzTmFtZTp1W0hDLlllYXJzRHJvcGRvd25dLFwiYXJpYS1sYWJlbFwiOmFlKE8pLGNsYXNzTmFtZXM6dSxjb21wb25lbnRzOnQsZGlzYWJsZWQ6Qm9vbGVhbihlLmRpc2FibGVOYXZpZ2F0aW9uKSxvbkNoYW5nZTplPT57Y29uc3QgdD1sLnNldFllYXIobC5zdGFydE9mTW9udGgoci5kYXRlKSxOdW1iZXIoZS50YXJnZXQudmFsdWUpKTtVKHQpfSxvcHRpb25zOnMsc3R5bGU6az8uW0hDLkRyb3Bkb3duXSx2YWx1ZTpyLmRhdGUuZ2V0RnVsbFllYXIoKX0pOmEuY3JlYXRlRWxlbWVudChcInNwYW5cIix7cm9sZTpcInN0YXR1c1wiLFwiYXJpYS1saXZlXCI6XCJwb2xpdGVcIn0sQShyLmRhdGUuZ2V0RnVsbFllYXIoKSkpKTphLmNyZWF0ZUVsZW1lbnQodC5DYXB0aW9uTGFiZWwse2NsYXNzTmFtZTp1W0hDLkNhcHRpb25MYWJlbF0scm9sZTpcInN0YXR1c1wiLFwiYXJpYS1saXZlXCI6XCJwb2xpdGVcIn0sTihyLmRhdGUsUCxsKSkpLGEuY3JlYXRlRWxlbWVudCh0Lk1vbnRoR3JpZCx7cm9sZTpcImdyaWRcIixcImFyaWEtbXVsdGlzZWxlY3RhYmxlXCI6XCJtdWx0aXBsZVwiPT09bXx8XCJyYW5nZVwiPT09bSxcImFyaWEtbGFiZWxcIjp0ZShyLmRhdGUsTyxsKXx8dm9pZCAwLGNsYXNzTmFtZTp1W0hDLk1vbnRoR3JpZF0sc3R5bGU6az8uW0hDLk1vbnRoR3JpZF19LCFlLmhpZGVXZWVrZGF5cyYmYS5jcmVhdGVFbGVtZW50KHQuV2Vla2RheXMse2NsYXNzTmFtZTp1W0hDLldlZWtkYXlzXSxzdHlsZTprPy5bSEMuV2Vla2RheXNdfSxTJiZhLmNyZWF0ZUVsZW1lbnQodC5XZWVrTnVtYmVySGVhZGVyLHtcImFyaWEtbGFiZWxcIjpzZShPKSxjbGFzc05hbWU6dVtIQy5XZWVrTnVtYmVySGVhZGVyXSxzdHlsZTprPy5bSEMuV2Vla051bWJlckhlYWRlcl0sc2NvcGU6XCJjb2xcIn0sRCgpKSxsZS5tYXAoKChlLG4pPT5hLmNyZWF0ZUVsZW1lbnQodC5XZWVrZGF5LHtcImFyaWEtbGFiZWxcIjpvZShlLE8sbCksY2xhc3NOYW1lOnVbSEMuV2Vla2RheV0sa2V5Om4sc3R5bGU6az8uW0hDLldlZWtkYXldLHNjb3BlOlwiY29sXCJ9LGooZSxQLGwpKSkpKSxhLmNyZWF0ZUVsZW1lbnQodC5XZWVrcyx7Y2xhc3NOYW1lOnVbSEMuV2Vla3NdLHN0eWxlOms/LltIQy5XZWVrc119LHIud2Vla3MubWFwKCgobixyKT0+YS5jcmVhdGVFbGVtZW50KHQuV2Vlayx7Y2xhc3NOYW1lOnVbSEMuV2Vla10sa2V5Om4ud2Vla051bWJlcixzdHlsZTprPy5bSEMuV2Vla10sd2VlazpufSxTJiZhLmNyZWF0ZUVsZW1lbnQodC5XZWVrTnVtYmVyLHt3ZWVrOm4sc3R5bGU6az8uW0hDLldlZWtOdW1iZXJdLFwiYXJpYS1sYWJlbFwiOmllKG4ud2Vla051bWJlcix7bG9jYWxlOmN9KSxjbGFzc05hbWU6dVtIQy5XZWVrTnVtYmVyXSxzY29wZTpcInJvd1wifSxSKG4ud2Vla051bWJlcikpLG4uZGF5cy5tYXAoKG49Pntjb25zdHtkYXRlOnJ9PW4sbz0kKG4pO2lmKG9bS0MuZm9jdXNlZF09IW8uaGlkZGVuJiZCb29sZWFuKEc/LmlzRXF1YWxUbyhuKSksb1txQy5zZWxlY3RlZF09IW8uZGlzYWJsZWQmJihZPy4ocil8fG8uc2VsZWN0ZWQpLGZPKEspKXtjb25zdHtmcm9tOmUsdG86dH09SztvW3FDLnJhbmdlX3N0YXJ0XT1Cb29sZWFuKGUmJnQmJmwuaXNTYW1lRGF5KHIsZSkpLG9bcUMucmFuZ2VfZW5kXT1Cb29sZWFuKGUmJnQmJmwuaXNTYW1lRGF5KHIsdCkpLG9bcUMucmFuZ2VfbWlkZGxlXT1kTyhLLHIsITAsbCl9Y29uc3QgaT1mdW5jdGlvbihlLHQ9e30sbj17fSl7bGV0IHI9ey4uLnQ/LltIQy5EYXldfTtyZXR1cm4gT2JqZWN0LmVudHJpZXMoZSkuZmlsdGVyKCgoWyxlXSk9PiEwPT09ZSkpLmZvckVhY2goKChbZV0pPT57cj17Li4uciwuLi5uPy5bZV19fSkpLHJ9KG8sayxlLm1vZGlmaWVyc1N0eWxlcykscz1mdW5jdGlvbihlLHQsbj17fSl7cmV0dXJuIE9iamVjdC5lbnRyaWVzKGUpLmZpbHRlcigoKFssZV0pPT4hMD09PWUpKS5yZWR1Y2UoKChlLFtyXSk9PihuW3JdP2UucHVzaChuW3JdKTp0W0tDW3JdXT9lLnB1c2godFtLQ1tyXV0pOnRbcUNbcl1dJiZlLnB1c2godFtxQ1tyXV0pLGUpKSxbdFtIQy5EYXldXSl9KG8sdSxlLm1vZGlmaWVyc0NsYXNzTmFtZXMpLGM9Y2U/dm9pZCAwOmVlKHIsbyxPLGwpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQodC5EYXkse2tleTpgJHtsLmZvcm1hdChyLFwieXl5eS1NTS1kZFwiKX1fJHtsLmZvcm1hdChuLmRpc3BsYXlNb250aCxcInl5eXktTU1cIil9YCxkYXk6bixtb2RpZmllcnM6byxjbGFzc05hbWU6cy5qb2luKFwiIFwiKSxzdHlsZTppLFwiYXJpYS1oaWRkZW5cIjpvLmhpZGRlbnx8dm9pZCAwLFwiYXJpYS1zZWxlY3RlZFwiOm8uc2VsZWN0ZWR8fHZvaWQgMCxcImFyaWEtbGFiZWxcIjpjLFwiZGF0YS1kYXlcIjpsLmZvcm1hdChyLFwieXl5eS1NTS1kZFwiKSxcImRhdGEtbW9udGhcIjpuLm91dHNpZGU/bC5mb3JtYXQocixcInl5eXktTU1cIik6dm9pZCAwLFwiZGF0YS1zZWxlY3RlZFwiOm8uc2VsZWN0ZWR8fHZvaWQgMCxcImRhdGEtZGlzYWJsZWRcIjpvLmRpc2FibGVkfHx2b2lkIDAsXCJkYXRhLWhpZGRlblwiOm8uaGlkZGVufHx2b2lkIDAsXCJkYXRhLW91dHNpZGVcIjpuLm91dHNpZGV8fHZvaWQgMCxcImRhdGEtZm9jdXNlZFwiOm8uZm9jdXNlZHx8dm9pZCAwLFwiZGF0YS10b2RheVwiOm8udG9kYXl8fHZvaWQgMH0sY2U/YS5jcmVhdGVFbGVtZW50KHQuRGF5QnV0dG9uLHtjbGFzc05hbWU6dVtIQy5EYXlCdXR0b25dLHN0eWxlOms/LltIQy5EYXlCdXR0b25dLHR5cGU6XCJidXR0b25cIixkYXk6bixtb2RpZmllcnM6byxkaXNhYmxlZDpvLmRpc2FibGVkfHx2b2lkIDAsdGFiSW5kZXg6WChuKT8wOi0xLFwiYXJpYS1sYWJlbFwiOlEocixvLE8sbCksb25DbGljazpmZShuLG8pLG9uQmx1cjpoZShuLG8pLG9uRm9jdXM6bWUobixvKSxvbktleURvd246cGUobixvKSxvbk1vdXNlRW50ZXI6Z2UobixvKSxvbk1vdXNlTGVhdmU6eWUobixvKX0sVChyLFAsbCkpOlQobi5kYXRlLFAsbCkpfSkpKSkpKSkpfSkpKSxlLmZvb3RlciYmYS5jcmVhdGVFbGVtZW50KHQuRm9vdGVyLHtjbGFzc05hbWU6dVtIQy5Gb290ZXJdLHN0eWxlOms/LltIQy5Gb290ZXJdLHJvbGU6XCJzdGF0dXNcIixcImFyaWEtbGl2ZVwiOlwicG9saXRlXCJ9LGUuZm9vdGVyKSkpfWZ1bmN0aW9uIHZPKGUsdCxuKXtyZXR1cm4gTV8oZSwtdCxuKX12YXIgYk89ZnVuY3Rpb24oKXtyZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIix7Y2xhc3NOYW1lOlwiYmctaWNvbi1pbnRlcmFjdGl2ZSBoLTEgdy0xIGFic29sdXRlIHJvdW5kZWQtZnVsbCBpbmxpbmUtYmxvY2sgYm90dG9tLTAgbGVmdC0xLzIgcmlnaHQtMS8yXCJ9KX0seE89ZnVuY3Rpb24oZSl7cmV0dXJuIFNQKGUsXCJFXCIpLnNsaWNlKDAsMSl9O2Z1bmN0aW9uIHdPKGUpe3JldHVybiB3Tz1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJlwic3ltYm9sXCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT9cInN5bWJvbFwiOnR5cGVvZiBlfSx3TyhlKX12YXIgU089W1wid2lkdGhcIixcImNsYXNzTmFtZVwiLFwiY2xhc3NOYW1lc1wiLFwic2VsZWN0ZWREYXRlc1wiLFwic2V0U2VsZWN0ZWREYXRlc1wiLFwic2hvd091dHNpZGVEYXlzXCIsXCJtb2RlXCIsXCJ2YXJpYW50XCIsXCJhbGlnbm1lbnRcIixcIm9uQmx1clwiLFwib25DaGFuZ2VcIl07ZnVuY3Rpb24ga08oZSx0KXt2YXIgbj1PYmplY3Qua2V5cyhlKTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO3QmJihyPXIuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSkpLG4ucHVzaC5hcHBseShuLHIpfXJldHVybiBufWZ1bmN0aW9uIEVPKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPW51bGwhPWFyZ3VtZW50c1t0XT9hcmd1bWVudHNbdF06e307dCUyP2tPKE9iamVjdChuKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7Q08oZSx0LG5bdF0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobikpOmtPKE9iamVjdChuKSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG4sdCkpfSkpfXJldHVybiBlfWZ1bmN0aW9uIENPKGUsdCxuKXtyZXR1cm4odD1mdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlKXtpZihcIm9iamVjdFwiIT13TyhlKXx8IWUpcmV0dXJuIGU7dmFyIHQ9ZVtTeW1ib2wudG9QcmltaXRpdmVdO2lmKHZvaWQgMCE9PXQpe3ZhciBuPXQuY2FsbChlLFwic3RyaW5nXCIpO2lmKFwib2JqZWN0XCIhPXdPKG4pKXJldHVybiBuO3Rocm93IG5ldyBUeXBlRXJyb3IoXCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLlwiKX1yZXR1cm4gU3RyaW5nKGUpfShlKTtyZXR1cm5cInN5bWJvbFwiPT13Tyh0KT90OnQrXCJcIn0odCkpaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1uLGV9ZnVuY3Rpb24gX08oKXtyZXR1cm4gX089T2JqZWN0LmFzc2lnbj9PYmplY3QuYXNzaWduLmJpbmQoKTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciByIGluIG4pKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJihlW3JdPW5bcl0pfXJldHVybiBlfSxfTy5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gUE8oZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0oZSl8fGZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09ZT9udWxsOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVtcIkBAaXRlcmF0b3JcIl07aWYobnVsbCE9bil7dmFyIHIsbyxpLHMsYT1bXSxsPSEwLGM9ITE7dHJ5e2lmKGk9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtsPSExfWVsc2UgZm9yKDshKGw9KHI9aS5jYWxsKG4pKS5kb25lKSYmKGEucHVzaChyLnZhbHVlKSxhLmxlbmd0aCE9PXQpO2w9ITApO31jYXRjaChlKXtjPSEwLG89ZX1maW5hbGx5e3RyeXtpZighbCYmbnVsbCE9bi5yZXR1cm4mJihzPW4ucmV0dXJuKCksT2JqZWN0KHMpIT09cykpcmV0dXJufWZpbmFsbHl7aWYoYyl0aHJvdyBvfX1yZXR1cm4gYX19KGUsdCl8fE9PKGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKX1mdW5jdGlvbiBPTyhlLHQpe2lmKGUpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXJldHVybiBOTyhlLHQpO3ZhciBuPXt9LnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7cmV0dXJuXCJPYmplY3RcIj09PW4mJmUuY29uc3RydWN0b3ImJihuPWUuY29uc3RydWN0b3IubmFtZSksXCJNYXBcIj09PW58fFwiU2V0XCI9PT1uP0FycmF5LmZyb20oZSk6XCJBcmd1bWVudHNcIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP05PKGUsdCk6dm9pZCAwfX1mdW5jdGlvbiBOTyhlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9QXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9dmFyIFRPPWZ1bmN0aW9uKGUpe3ZhciB0PWUud2lkdGgsbj1lLmNsYXNzTmFtZSxyPWUuY2xhc3NOYW1lcyxvPWUuc2VsZWN0ZWREYXRlcyxpPWUuc2V0U2VsZWN0ZWREYXRlcyxzPWUuc2hvd091dHNpZGVEYXlzLGM9dm9pZCAwPT09c3x8cyx1PWUubW9kZSxkPXZvaWQgMD09PXU/XCJzaW5nbGVcIjp1LGY9ZS52YXJpYW50LG09dm9pZCAwPT09Zj9cIm5vcm1hbFwiOmYsaD1lLmFsaWdubWVudCxwPXZvaWQgMD09PWg/XCJob3Jpem9udGFsXCI6aCxnPShlLm9uQmx1cixlLm9uQ2hhbmdlLGZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbixyLG89ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPXt9O2Zvcih2YXIgciBpbiBlKWlmKHt9Lmhhc093blByb3BlcnR5LmNhbGwoZSxyKSl7aWYodC5pbmNsdWRlcyhyKSljb250aW51ZTtuW3JdPWVbcl19cmV0dXJuIG59KGUsdCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKW49aVtyXSx0LmluY2x1ZGVzKG4pfHx7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsbikmJihvW25dPWVbbl0pfXJldHVybiBvfShlLFNPKSkseT1nLm51bWJlck9mTW9udGhzLHY9UE8oKDAsYS51c2VTdGF0ZSkoITEpLDIpLGI9dlswXSx4PXZbMV0sdz1QTygoMCxhLnVzZVN0YXRlKSghMSksMiksUz13WzBdLGs9d1sxXSxFPVBPKCgwLGEudXNlU3RhdGUpKChuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSksMiksQz1FWzBdLF89RVsxXSxQPVBPKCgwLGEudXNlU3RhdGUpKEMtQyUyNCksMiksTz1QWzBdLE49UFsxXTtudWxsPT1vJiYobz1cIm11bHRpcGxlXCI9PT1kP1tdOlwicmFuZ2VcIj09PWQ/e2Zyb206bnVsbCx0bzpudWxsfTpudWxsKTt2YXIgVD1mdW5jdGlvbihlKXt2YXIgdD1lLndlZWtkYXlzO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6XCJmbGV4IGp1c3RpZnktYmV0d2VlblwifSx0Lm1hcCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIix7a2V5OnQsY2xhc3NOYW1lOlwiaC0xMCB3LTEwIHB4LTEuNSBweS0yIHRleHQtY2VudGVyIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCB0ZXh0LVswLjhyZW1dIGZvbnQtbm9ybWFsIGNvbnRlbnQtY2VudGVyIGJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lXCJ9LGUpfSkpKX0sTT1mdW5jdGlvbihlKXt2YXIgdCxuPWUuZGF5LHI9ZS5tb2RpZmllcnMsaT1lLm9uU2VsZWN0LHM9ci5zZWxlY3RlZCxhPXIudG9kYXksdT1yLmRpc2FibGVkLGQ9ci5vdXRzaWRlLGY9ci5yYW5nZV9taWRkbGUsbT1yLnJhbmdlX3N0YXJ0LGg9ci5yYW5nZV9lbmQscD1tfHxofHxmLGc9bmV3IERhdGUseT1udWxsPT09KHQ9byl8fHZvaWQgMD09PXQ/dm9pZCAwOnQudG8sdj1TUChuLmRpc3BsYXlNb250aCxcInl5eXktTU1cIik9PT1TUChnLFwieXl5eS1NTVwiKSxiPXkmJlNQKHksXCJ5eXl5LU1NXCIpPT09U1Aobi5kYXRlLFwieXl5eS1NTVwiKSx4PXZPKGcsMSksdz1TUChuLmRhdGUsXCJ5eXl5LU1NXCIpPT09U1AoeCxcInl5eXktTU1cIiksUz12fHxifHxwLGs9IWMmJmQsRT1vZShcImgtMTAgdy0xMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0cmFuc2l0aW9uIHRleHQtdGV4dC1zZWNvbmRhcnkgcmVsYXRpdmVcIixcImJvcmRlci1ub25lIHJvdW5kZWRcIiwhcyYmIXB8fGQmJiF3P1wiYmctdHJhbnNwYXJlbnQgaG92ZXI6YmctYnV0dG9uLXRlcnRpYXJ5LWhvdmVyXCI6XCJiZy1iYWNrZ3JvdW5kLWJyYW5kIHRleHQtdGV4dC1vbi1jb2xvclwiLGYmJlMmJighZHx8cCk/XCJiZy1icmFuZC1iYWNrZ3JvdW5kLTUwIHRleHQtdGV4dC1zZWNvbmRhcnkgcm91bmRlZC1ub25lXCI6XCJcIix1P1wib3BhY2l0eS01MCBjdXJzb3Itbm90LWFsbG93ZWQgdGV4dC10ZXh0LWRpc2FibGVkXCI6XCJjdXJzb3ItcG9pbnRlclwiLGQmJiFwfHwhUyYmZHx8ZCYmIXc/XCJiZy10cmFuc3BlcmFudCBvcGFjaXR5LTUwIHRleHQtdGV4dC1kaXNhYmxlZCBjdXJzb3ItYXV0b1wiOlwiXCIpO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLHtvbkNsaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIXUmJmkobi5kYXRlKX0sY2xhc3NOYW1lOkUsZGlzYWJsZWQ6dXx8ZCxcImFyaWEtbGFiZWxcIjpTUChuLmRhdGUsXCJFRUVFLCBNTU1NIGRvLCB5eXl5XCIpfSwoIWt8fHAmJlMpJiZTUChuLmRhdGUsXCJkXCIpLGEmJmwoKS5jcmVhdGVFbGVtZW50KFwic3BhblwiLHtjbGFzc05hbWU6XCJhYnNvbHV0ZSBoLTEgdy0xIGJnLWJhY2tncm91bmQtYnJhbmQgcm91bmRlZC1mdWxsIGJvdHRvbS0xXCJ9KSl9LFI9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5kYXksbj1lLm1vZGlmaWVycyxyPWUuY2xhc3NOYW1lLG89ZS5vblNlbGVjdDtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoXCJ0ZFwiLHtjbGFzc05hbWU6cn0sbCgpLmNyZWF0ZUVsZW1lbnQoTSx7ZGF5OnQsbW9kaWZpZXJzOm4sb25TZWxlY3Q6b30pKX0sRD1mdW5jdGlvbihlKXt2YXIgdD1lLm1vbnRoR3JpZFByb3BzLG49ZS5vblNlbGVjdDtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwiZmxleCBmbGV4LWNvbFwifSx0LmNoaWxkcmVuWzFdLnByb3BzLmNoaWxkcmVuLm1hcCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7a2V5OnQsY2xhc3NOYW1lOlwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW5cIn0sZS5wcm9wcy5jaGlsZHJlblsxXS5tYXAoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2tleTp0LGNsYXNzTmFtZTpcImZsZXggZ2FwLTFcIn0sbCgpLmNyZWF0ZUVsZW1lbnQoTSxfTyh7fSxlLnByb3BzLHtvblNlbGVjdDpufSkpKX0pKSl9KSkpfSxqPWZ1bmN0aW9uKGUpe3ZhciB0O1wicmFuZ2VcIj09PWQ/IW8uZnJvbXx8by5mcm9tJiZvLnRvP2koe2Zyb206ZSx0bzpudWxsfSk6aSh7ZnJvbTpvLmZyb20sdG86ZX0pOlwibXVsdGlwbGVcIj09PWQ/by5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gU1AodCxcInl5eXktTU0tZGRcIik9PT1TUChlLFwieXl5eS1NTS1kZFwiKX0pKT9pKG8uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gU1AodCxcInl5eXktTU0tZGRcIikhPT1TUChlLFwieXl5eS1NTS1kZFwiKX0pKSk6aShbXS5jb25jYXQoZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gTk8oZSl9KHQ9byl8fGZ1bmN0aW9uKGUpe2lmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPWVbU3ltYm9sLml0ZXJhdG9yXXx8bnVsbCE9ZVtcIkBAaXRlcmF0b3JcIl0pcmV0dXJuIEFycmF5LmZyb20oZSl9KHQpfHxPTyh0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKSxbZV0pKTpcInNpbmdsZVwiPT09ZCYmaShbZV0pfSxBPW9lKFwicmVsYXRpdmUgYmctYmFja2dyb3VuZC1wcmltYXJ5IHNoYWRvdy1kYXRlcGlja2VyLXdyYXBwZXJcIix0LFwidmVydGljYWxcIj09PXA/XCJmbGV4IGZsZXgtY29sXCI6XCJmbGV4IGZsZXgtcm93ICBnYXAtM1wiLFwibm9ybWFsXCI9PT1tP1wicm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci1ib3JkZXItc3VidGxlXCI6XCJcIixcInByZXNldHNcIj09PW0/XCJyb3VuZGVkLXRyLW1kIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWJvcmRlci1zdWJ0bGVcIjpcIlwiLFwiZHVhbGRhdGVcIj09PW0/XCJyb3VuZGVkLXRyLW1kIHJvdW5kZWQtdGwtbWQgYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItYm9yZGVyLXN1YnRsZVwiOlwiXCIpO3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChsKCkuRnJhZ21lbnQsbnVsbCxsKCkuY3JlYXRlRWxlbWVudCh5TyxfTyh7bW9kZTpkLHNlbGVjdGVkOm8sb25TZWxlY3Q6aixoaWRlTmF2aWdhdGlvbjohMCxjYXB0aW9uTGF5b3V0OlwibGFiZWxcIixjbGFzc05hbWU6b2UobiksZm9ybWF0dGVyczp7Zm9ybWF0V2Vla2RheU5hbWU6eE99LHNob3dIZWFkOiExLGNsYXNzTmFtZXM6RU8oe21vbnRoczpBLG1vbnRoOlwiZmxleCBmbGV4LWNvbCBwLTIgZ2FwLTEgdGV4dC1jZW50ZXIgYm9yZGVyIGJvcmRlci1ib3JkZXItc3VidGxlIHJvdW5kZWQtbWQgdy1mdWxsXCIsY2FwdGlvbjpcInJlbGF0aXZlIGZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCIsdGFibGU6XCJ3LWZ1bGwgYm9yZGVyLXNlcGFyYXRlIGJvcmRlci1zcGFjaW5nLVswXzAuMjVyZW1dIGJvcmRlci1zcGFjaW5nLTBcIixoZWFkX3JvdzpcImZsZXggbWItMVwiLGhlYWRfY2VsbDpcInRleHQtbXV0ZWQtZm9yZWdyb3VuZCByb3VuZGVkLW1kIHctMTAgZm9udC1ub3JtYWwgdGV4dC1bMC44cmVtXVwiLHJvdzpcImZsZXggdy1mdWxsIG10LTJcIixjZWxsOlwiaC0xMCB3LTEwIHRleHQtY2VudGVyIHRleHQtc20gcC0wIHJlbGF0aXZlXCIsZGF5OlwiaC0xMCB3LTEwIHAtMCBmb250LW5vcm1hbCBiZy1iYWNrZ3JvdW5kLXByaW1hcnkgdGV4dC1jdXJyZW50XCJ9LHIpLGNvbXBvbmVudHM6e01vbnRoQ2FwdGlvbjpmdW5jdGlvbihlKXt2YXIgdD1jXygpLG49dC5nb1RvTW9udGgscj10Lm5leHRNb250aCxvPXQucHJldmlvdXNNb250aCxpPVNQKGUuY2FsZW5kYXJNb250aC5kYXRlLFwieXl5eVwiKSxzPVNQKGUuY2FsZW5kYXJNb250aC5kYXRlLFwiTU1NTVwiKSxhPW5ldyBEYXRlKGUuY2FsZW5kYXJNb250aC5kYXRlKTthLnNldERhdGUoYS5nZXREYXRlKCktYS5nZXREYXkoKSk7dmFyIGMsdT1BcnJheS5mcm9tKHtsZW5ndGg6N30sKGZ1bmN0aW9uKGUsdCl7dmFyIG49bmV3IERhdGUoYSk7cmV0dXJuIG4uc2V0RGF0ZShhLmdldERhdGUoKSt0KSx4TyhuKX0pKTtyZXR1cm4gYz1TP1wiXCIuY29uY2F0KE8sXCIgLSBcIikuY29uY2F0KE8rMjMpOmI/aTpcIlwiLmNvbmNhdChzLFwiIFwiKS5jb25jYXQoaSksbCgpLmNyZWF0ZUVsZW1lbnQobCgpLkZyYWdtZW50LG51bGwsbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwiZmxleCBqdXN0aWZ5LWJldHdlZW5cIn0sbCgpLmNyZWF0ZUVsZW1lbnQoZGUse3ZhcmlhbnQ6XCJnaG9zdFwiLG9uQ2xpY2s6ZnVuY3Rpb24oKXtpZihTKU4oTy0yNCk7ZWxzZSBpZihiKXt2YXIgdD1uZXcgRGF0ZShDLTEsZS5jYWxlbmRhck1vbnRoLmRhdGUuZ2V0TW9udGgoKSk7Xyh0LmdldEZ1bGxZZWFyKCkpLG4odCl9ZWxzZSBuKG8pfSxjbGFzc05hbWU6XCJiZy1iYWNrZ3JvdW5kLXByaW1hcnkgYm9yZGVyLW5vbmUgY3Vyc29yLXBvaW50ZXJcIn0sbCgpLmNyZWF0ZUVsZW1lbnQoX0Mse2NsYXNzTmFtZTpcImgtNCB3LTRcIn0pKSxsKCkuY3JlYXRlRWxlbWVudChkZSx7dmFyaWFudDpcImdob3N0XCIsb25DbGljazpmdW5jdGlvbigpe3k+MXx8KGI/KGsoITApLHgoITEpKTpTP2soITEpOngoIWIpKX19LGMpLGwoKS5jcmVhdGVFbGVtZW50KGRlLHt2YXJpYW50OlwiZ2hvc3RcIixvbkNsaWNrOmZ1bmN0aW9uKCl7aWYoUylOKE8rMjQpO2Vsc2UgaWYoYil7dmFyIHQ9bmV3IERhdGUoQysxLGUuY2FsZW5kYXJNb250aC5kYXRlLmdldE1vbnRoKCkpO18odC5nZXRGdWxsWWVhcigpKSxuKHQpfWVsc2UgbihyKX0sY2xhc3NOYW1lOlwiYmctYmFja2dyb3VuZC1wcmltYXJ5IGJvcmRlci1ub25lIGN1cnNvci1wb2ludGVyXCJ9LGwoKS5jcmVhdGVFbGVtZW50KHVrLHtjbGFzc05hbWU6XCJoLTQgdy00XCJ9KSkpLFMmJmwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcImdyaWQgZ3JpZC1jb2xzLTQgdy1mdWxsXCJ9LGZ1bmN0aW9uKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToyNDtyZXR1cm4gQXJyYXkuZnJvbSh7bGVuZ3RoOnR9LChmdW5jdGlvbih0LG4pe3JldHVybiBlK259KSl9KE8pLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KGRlLHtrZXk6dCx2YXJpYW50OlwiZ2hvc3RcIixvbkNsaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe18odCksayghMSkseCghMCksbihuZXcgRGF0ZSh0LGUuY2FsZW5kYXJNb250aC5kYXRlLmdldE1vbnRoKCkpKX0odCl9LGNsYXNzTmFtZTpvZShcImgtMTAgdy1mdWxsIHRleHQtY2VudGVyIGZvbnQtbm9ybWFsIHJlbGF0aXZlXCIsdD09PUMmJnQhPT0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCkmJlwiYmctYmFja2dyb3VuZC1icmFuZCB0ZXh0LXRleHQtb24tY29sb3IgaG92ZXI6YmctYmFja2dyb3VuZC1icmFuZCBob3Zlcjp0ZXh0LWJsYWNrXCIpfSx0LHQ9PT0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCkmJmJPKCkpfSkpKSxiJiYhUyYmbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwiZ3JpZCBncmlkLWNvbHMtNCBnYXAtMiBteS0xMlwifSxBcnJheS5mcm9tKHtsZW5ndGg6MTJ9LChmdW5jdGlvbih0LHIpe3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChkZSx7a2V5OnIsdmFyaWFudDpcImdob3N0XCIsb25DbGljazpmdW5jdGlvbigpe3goITEpLG4obmV3IERhdGUoQyxyKSl9LGNsYXNzTmFtZTpvZShcInB4LTEuNSBweS0yIGgtMTAgdy1bNC4zNzVyZW1dIHRleHQtY2VudGVyIGZvbnQtbm9ybWFsIHJlbGF0aXZlXCIscj09PWUuY2FsZW5kYXJNb250aC5kYXRlLmdldE1vbnRoKCkmJnIhPT0obmV3IERhdGUpLmdldE1vbnRoKCkmJkM9PT1lLmNhbGVuZGFyTW9udGguZGF0ZS5nZXRGdWxsWWVhcigpJiZlLmNhbGVuZGFyTW9udGguZGF0ZS5nZXRGdWxsWWVhcigpIT09KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpJiZcImJnLWJhY2tncm91bmQtYnJhbmQgdGV4dC10ZXh0LW9uLWNvbG9yIGhvdmVyOmJnLWJhY2tncm91bmQtYnJhbmQgaG92ZXI6dGV4dC1ibGFja1wiKX0sU1AobmV3IERhdGUoMCxyKSxcIk1NTVwiKSwobmV3IERhdGUpLmdldE1vbnRoKCk9PT1yJiYobmV3IERhdGUpLmdldEZ1bGxZZWFyKCk9PT1DJiZiTygpKX0pKSksIWImJiFTJiZsKCkuY3JlYXRlRWxlbWVudChULHt3ZWVrZGF5czp1fSkpfSxEYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KFIsX08oe30sZSx7b25TZWxlY3Q6an0pKX0sV2Vla2RheXM6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0sTW9udGhzOmZ1bmN0aW9uKGUpe3JldHVybiBsKCkuY3JlYXRlRWxlbWVudChsKCkuRnJhZ21lbnQsbnVsbCxsKCkuY3JlYXRlRWxlbWVudChcImRpdlwiLHtjbGFzc05hbWU6QX0sZS5jaGlsZHJlbi5tYXAoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU/bCgpLmNyZWF0ZUVsZW1lbnQobCgpLkZyYWdtZW50LHtrZXk6dH0sZS5tYXAoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KGwoKS5GcmFnbWVudCx7a2V5OnR9LHQ+MCYmbCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwiYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItYm9yZGVyLXN1YnRsZSBib3JkZXItbC0wXCJ9KSxlKX0pKSk6bnVsbH0pKSkpfSxNb250aEdyaWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIWImJiFTJiZsKCkuY3JlYXRlRWxlbWVudChELHttb250aEdyaWRQcm9wczplLG9uU2VsZWN0Omp9KX19fSxnKSkpfTtmdW5jdGlvbiBNTyhlKXtyZXR1cm4gQV8oRGF0ZS5ub3coKSxlKX1mdW5jdGlvbiBSTyhlKXtyZXR1cm4gT18oZSxEYXRlLm5vdygpKX1mdW5jdGlvbiBETyhlKXtjb25zdCB0PVJPKGU/LmluKSxuPXQuZ2V0RnVsbFllYXIoKSxyPXQuZ2V0TW9udGgoKSxvPXQuZ2V0RGF0ZSgpLGk9Uk8oZT8uaW4pO3JldHVybiBpLnNldEZ1bGxZZWFyKG4scixvLTEpLGkuc2V0SG91cnMoMCwwLDAsMCksaX1mdW5jdGlvbiBqTyhlLHQsbil7cmV0dXJuIFJfKGUsLXQsbil9dmFyIEFPPVtcInNlbGVjdGlvblR5cGVcIixcInZhcmlhbnRcIixcInByZXNldHNcIixcIm9uQ2FuY2VsXCIsXCJvbkFwcGx5XCIsXCJhcHBseUJ1dHRvblRleHRcIixcImNhbmNlbEJ1dHRvblRleHRcIixcInNob3dPdXRzaWRlRGF5c1wiXTtmdW5jdGlvbiBJTygpe3JldHVybiBJTz1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmKGVbcl09bltyXSl9cmV0dXJuIGV9LElPLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBMTyhlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9QXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9dmFyIEZPPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc2VsZWN0aW9uVHlwZSxuPXZvaWQgMD09PXQ/XCJzaW5nbGVcIjp0LHI9ZS52YXJpYW50LG89dm9pZCAwPT09cj9cIm5vcm1hbFwiOnIsaT1lLnByZXNldHMscz12b2lkIDA9PT1pP1tdOmksYz1lLm9uQ2FuY2VsLHU9ZS5vbkFwcGx5LGQ9ZS5hcHBseUJ1dHRvblRleHQsZj12b2lkIDA9PT1kP1wiQXBwbHlcIjpkLG09ZS5jYW5jZWxCdXR0b25UZXh0LGg9dm9pZCAwPT09bT9cIkNhbmNlbFwiOm0scD1lLnNob3dPdXRzaWRlRGF5cyxnPXZvaWQgMD09PXB8fHAseT1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307dmFyIG4scixvPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgbj17fTtmb3IodmFyIHIgaW4gZSlpZih7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikpe2lmKHQuaW5jbHVkZXMocikpY29udGludWU7bltyXT1lW3JdfXJldHVybiBufShlLHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKyluPWlbcl0sdC5pbmNsdWRlcyhuKXx8e30ucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLG4pJiYob1tuXT1lW25dKX1yZXR1cm4gb30oZSxBTyksdj1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlW1wiQEBpdGVyYXRvclwiXTtpZihudWxsIT1uKXt2YXIgcixvLGkscyxhPVtdLGw9ITAsYz0hMTt0cnl7aWYoaT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2w9ITF9ZWxzZSBmb3IoOyEobD0ocj1pLmNhbGwobikpLmRvbmUpJiYoYS5wdXNoKHIudmFsdWUpLGEubGVuZ3RoIT09dCk7bD0hMCk7fWNhdGNoKGUpe2M9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFsJiZudWxsIT1uLnJldHVybiYmKHM9bi5yZXR1cm4oKSxPYmplY3QocykhPT1zKSlyZXR1cm59ZmluYWxseXtpZihjKXRocm93IG99fXJldHVybiBhfX0oZSx0KXx8ZnVuY3Rpb24oZSx0KXtpZihlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSlyZXR1cm4gTE8oZSx0KTt2YXIgbj17fS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpO3JldHVyblwiT2JqZWN0XCI9PT1uJiZlLmNvbnN0cnVjdG9yJiYobj1lLmNvbnN0cnVjdG9yLm5hbWUpLFwiTWFwXCI9PT1ufHxcIlNldFwiPT09bj9BcnJheS5mcm9tKGUpOlwiQXJndW1lbnRzXCI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9MTyhlLHQpOnZvaWQgMH19KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKX0oKDAsYS51c2VTdGF0ZSkoKGZ1bmN0aW9uKCl7cmV0dXJuXCJtdWx0aXBsZVwiPT09bj9bXTpcInJhbmdlXCI9PT1uP3tmcm9tOm51bGwsdG86bnVsbH06bnVsbH0pKSwyKSxiPXZbMF0seD12WzFdLHc9W3tsYWJlbDpcIlRvZGF5XCIscmFuZ2U6e2Zyb206TU8oKSx0bzpNTygpfX0se2xhYmVsOlwiWWVzdGVyZGF5XCIscmFuZ2U6e2Zyb206RE8oKSx0bzpETygpfX0se2xhYmVsOlwiVGhpcyBXZWVrXCIscmFuZ2U6e2Zyb206Sl8obmV3IERhdGUse3dlZWtTdGFydHNPbjoxfSksdG86el8obmV3IERhdGUse3dlZWtTdGFydHNPbjoxfSl9fSx7bGFiZWw6XCJMYXN0IFdlZWtcIixyYW5nZTp7ZnJvbTpKXyhqTyhuZXcgRGF0ZSwxKSx7d2Vla1N0YXJ0c09uOjF9KSx0bzp6XyhqTyhuZXcgRGF0ZSwxKSx7d2Vla1N0YXJ0c09uOjF9KX19LHtsYWJlbDpcIlRoaXMgTW9udGhcIixyYW5nZTp7ZnJvbTpFUChuZXcgRGF0ZSksdG86Ql8obmV3IERhdGUpfX0se2xhYmVsOlwiTGFzdCBNb250aFwiLHJhbmdlOntmcm9tOkVQKHZPKG5ldyBEYXRlLDEpKSx0bzpCXyh2TyhuZXcgRGF0ZSwxKSl9fV0sUz1zLmxlbmd0aD4wP3M6dyxrPWZ1bmN0aW9uKCl7eChcIm11bHRpcGxlXCI9PT1uP1tdOntmcm9tOm51bGwsdG86bnVsbH0pLGMmJmMoKX0sRT1mdW5jdGlvbigpe3UmJnUoYil9O3JldHVyblwibm9ybWFsXCI9PT1vP2woKS5jcmVhdGVFbGVtZW50KFRPLElPKHt9LHkse21vZGU6bix2YXJpYW50Om8sd2lkdGg6XCJ3LVsxOC41cmVtXVwiLHNlbGVjdGVkRGF0ZXM6YixzaG93T3V0c2lkZURheXM6ZyxzZXRTZWxlY3RlZERhdGVzOnh9KSk6XCJkdWFsZGF0ZVwiPT09bz9sKCkuY3JlYXRlRWxlbWVudChUTyx7bW9kZTpuLG51bWJlck9mTW9udGhzOjIsYWxpZ25tZW50OlwiaG9yaXpvbnRhbFwiLHNlbGVjdGVkRGF0ZXM6YixzZXRTZWxlY3RlZERhdGVzOngsc2hvd091dHNpZGVEYXlzOmcsdmFyaWFudDpvLHdpZHRoOlwidy1hdXRvXCIsZm9vdGVyOmwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcImZsZXgganVzdGlmeS1lbmQgcC0yIGdhcC0zIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWJvcmRlci1zdWJ0bGUgYm9yZGVyLXQtMCByb3VuZGVkLW1kIHJvdW5kZWQtdGwtbm9uZSByb3VuZGVkLXRyLW5vbmVcIn0sbCgpLmNyZWF0ZUVsZW1lbnQoZGUse3ZhcmlhbnQ6XCJvdXRsaW5lXCIsb25DbGljazprfSxoKSxsKCkuY3JlYXRlRWxlbWVudChkZSx7b25DbGljazpFfSxmKSl9KTpcInByZXNldHNcIj09PW8/bCgpLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7Y2xhc3NOYW1lOlwiZmxleCBmbGV4LXJvdyBzaGFkb3ctZGF0ZXBpY2tlci13cmFwcGVyXCJ9LGwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcImZsZXggZmxleC1jb2wgZ2FwLTEgcC0zIGl0ZW1zLXN0YXJ0IGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWJvcmRlci1zdWJ0bGUgYm9yZGVyLXItMCByb3VuZGVkLXRsLW1kIHJvdW5kZWQtYmwtbWRcIn0sUy5tYXAoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGwoKS5jcmVhdGVFbGVtZW50KGRlLHtrZXk6dCxvbkNsaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIHQ9ZS5yYW5nZSx2b2lkIHgodCk7dmFyIHR9LHZhcmlhbnQ6XCJnaG9zdFwiLGNsYXNzTmFtZTpcImZvbnQtbWVkaXVtIHRleHQtc21cIn0sZS5sYWJlbCl9KSkpLGwoKS5jcmVhdGVFbGVtZW50KFRPLElPKHt9LHkse21vZGU6bixzZWxlY3RlZERhdGVzOmIsc2V0U2VsZWN0ZWREYXRlczp4LHZhcmlhbnQ6byxzaG93T3V0c2lkZURheXM6Zyx3aWR0aDpcInctYXV0b1wiLG51bWJlck9mTW9udGhzOjIsZm9vdGVyOmwoKS5jcmVhdGVFbGVtZW50KFwiZGl2XCIse2NsYXNzTmFtZTpcImZsZXgganVzdGlmeS1lbmQgcC0yIGdhcC0zIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWJvcmRlci1zdWJ0bGUgYm9yZGVyLXQtMCByb3VuZGVkLWJyLW1kXCJ9LGwoKS5jcmVhdGVFbGVtZW50KGRlLHt2YXJpYW50Olwib3V0bGluZVwiLG9uQ2xpY2s6a30saCksbCgpLmNyZWF0ZUVsZW1lbnQoZGUse29uQ2xpY2s6RX0sZikpfSkpKTp2b2lkIDB9O3JldHVybiByfSgpfSkpOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@bsf/force-ui/dist/force-ui.js\n"); - -/***/ }), - -/***/ "./src/App.js": -/*!********************!*\ - !*** ./src/App.js ***! - \********************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _fontsource_figtree__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @fontsource/figtree */ \"./node_modules/@fontsource/figtree/index.css\");\n/* harmony import */ var _fontsource_figtree_400_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @fontsource/figtree/400.css */ \"./node_modules/@fontsource/figtree/400.css\");\n/* harmony import */ var _fontsource_figtree_400_italic_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @fontsource/figtree/400-italic.css */ \"./node_modules/@fontsource/figtree/400-italic.css\");\n/* harmony import */ var _router_customRouter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./router/customRouter */ \"./src/router/customRouter.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _Components_UpgradeNotice__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Components/UpgradeNotice */ \"./src/Components/UpgradeNotice.jsx\");\n\n\n // Defaults to weight 400\n // Specify weight\n // Specify weight and style\n\n\n\nvar App = function App() {\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState, 2),\n loaded = _useState2[0],\n setLoaded = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState3, 2),\n showTopBar = _useState4[0],\n setShowTopBar = _useState4[1]; // State to manage the visibility of the top bar\n\n // scroll top on route change\n window.onhashchange = function () {\n window.scrollTo(0, 0);\n };\n\n // Simulate loading (replace with actual loading logic if needed)\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n setTimeout(function () {\n setLoaded(true);\n }, 1000); // Simulating a load delay of 1 second\n }, []);\n if (!loaded) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"loading-spinner flex items-center justify-center h-screen\",\n style: {\n background: \"#F9FAFB\"\n }\n }, /*#__PURE__*/React.createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__.Loader, {\n icon: null,\n size: \"lg\",\n variant: \"primary\"\n }));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"app-container font-figtree\"\n }, showTopBar && /*#__PURE__*/React.createElement(_Components_UpgradeNotice__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n onClose: function onClose() {\n return setShowTopBar(false);\n }\n }) // Pass a prop to handle closing\n , /*#__PURE__*/React.createElement(_router_customRouter__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (App);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQXBwLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUE0QztBQUNmLENBQUM7QUFDTyxDQUFDO0FBQ00sQ0FBQztBQUMxQjtBQUNvQjtBQUNuQjtBQUdwQixJQUFNSyxHQUFHLEdBQUcsU0FBTkEsR0FBR0EsQ0FBQSxFQUFTO0VBQ2QsSUFBQUMsU0FBQSxHQUE0Qk4sK0NBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQU8sVUFBQSxHQUFBQyxnRkFBQSxDQUFBRixTQUFBO0lBQXBDRyxNQUFNLEdBQUFGLFVBQUE7SUFBRUcsU0FBUyxHQUFBSCxVQUFBO0VBQ3hCLElBQUFJLFVBQUEsR0FBb0NYLCtDQUFRLENBQUMsSUFBSSxDQUFDO0lBQUFZLFVBQUEsR0FBQUosZ0ZBQUEsQ0FBQUcsVUFBQTtJQUEzQ0UsVUFBVSxHQUFBRCxVQUFBO0lBQUVFLGFBQWEsR0FBQUYsVUFBQSxJQUFtQixDQUFDOztFQUVwRDtFQUNBRyxNQUFNLENBQUNDLFlBQVksR0FBRyxZQUFNO0lBQ3hCRCxNQUFNLENBQUNFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0VBQ3pCLENBQUM7O0VBRUQ7RUFDQWhCLGdEQUFTLENBQUMsWUFBTTtJQUNaaUIsVUFBVSxDQUFDLFlBQU07TUFDYlIsU0FBUyxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztFQUNkLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFJLENBQUNELE1BQU0sRUFBRTtJQUNULG9CQUNJVSxLQUFBLENBQUFDLGFBQUE7TUFDSUMsU0FBUyxFQUFDLDJEQUEyRDtNQUNyRUMsS0FBSyxFQUFFO1FBQUVDLFVBQVUsRUFBRTtNQUFVO0lBQUUsZ0JBRWpDSixLQUFBLENBQUFDLGFBQUEsQ0FBQ2pCLGlEQUFNO01BQUNxQixJQUFJLEVBQUUsSUFBSztNQUFDQyxJQUFJLEVBQUMsSUFBSTtNQUFDQyxPQUFPLEVBQUM7SUFBUyxDQUFFLENBQ2hELENBQUM7RUFFZDtFQUVBLG9CQUNJUCxLQUFBLENBQUFDLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQTRCLEdBQ3RDUixVQUFVLGlCQUNQTSxLQUFBLENBQUFDLGFBQUEsQ0FBQ2hCLGlFQUFhO0lBQUN1QixPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtNQUFBLE9BQVFiLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFBQTtFQUFDLENBQUUsQ0FBQyxDQUFDO0VBQzFELGVBQ0RLLEtBQUEsQ0FBQUMsYUFBQSxDQUFDbEIsNERBQVksTUFBRSxDQUNkLENBQUM7QUFFZCxDQUFDO0FBRUQsaUVBQWVHLEdBQUciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL3NyYy9BcHAuanM/YmU5NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBcIkBmb250c291cmNlL2ZpZ3RyZWVcIjsgLy8gRGVmYXVsdHMgdG8gd2VpZ2h0IDQwMFxyXG5pbXBvcnQgXCJAZm9udHNvdXJjZS9maWd0cmVlLzQwMC5jc3NcIjsgLy8gU3BlY2lmeSB3ZWlnaHRcclxuaW1wb3J0IFwiQGZvbnRzb3VyY2UvZmlndHJlZS80MDAtaXRhbGljLmNzc1wiOyAvLyBTcGVjaWZ5IHdlaWdodCBhbmQgc3R5bGVcclxuaW1wb3J0IEN1c3RvbVJvdXRlciBmcm9tIFwicm91dGVyL2N1c3RvbVJvdXRlclwiO1xyXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tIFwiQGJzZi9mb3JjZS11aVwiO1xyXG5pbXBvcnQgVXBncmFkZU5vdGljZSBmcm9tIFwiQGNvbXBvbmVudHMvVXBncmFkZU5vdGljZVwiO1xyXG5cclxuXHJcbmNvbnN0IEFwcCA9ICgpID0+IHtcclxuICAgIGNvbnN0IFtsb2FkZWQsIHNldExvYWRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBbc2hvd1RvcEJhciwgc2V0U2hvd1RvcEJhcl0gPSB1c2VTdGF0ZSh0cnVlKTsgLy8gU3RhdGUgdG8gbWFuYWdlIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSB0b3AgYmFyXHJcblxyXG4gICAgLy8gc2Nyb2xsIHRvcCBvbiByb3V0ZSBjaGFuZ2VcclxuICAgIHdpbmRvdy5vbmhhc2hjaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyBTaW11bGF0ZSBsb2FkaW5nIChyZXBsYWNlIHdpdGggYWN0dWFsIGxvYWRpbmcgbG9naWMgaWYgbmVlZGVkKVxyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgc2V0TG9hZGVkKHRydWUpO1xyXG4gICAgICAgIH0sIDEwMDApOyAvLyBTaW11bGF0aW5nIGEgbG9hZCBkZWxheSBvZiAxIHNlY29uZFxyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIGlmICghbG9hZGVkKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibG9hZGluZy1zcGlubmVyIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGgtc2NyZWVuXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmQ6IFwiI0Y5RkFGQlwiIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxMb2FkZXIgaWNvbj17bnVsbH0gc2l6ZT1cImxnXCIgdmFyaWFudD1cInByaW1hcnlcIiAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhcHAtY29udGFpbmVyIGZvbnQtZmlndHJlZVwiPlxyXG4gICAgICAgICAgICB7c2hvd1RvcEJhciAmJiAoXHJcbiAgICAgICAgICAgICAgICA8VXBncmFkZU5vdGljZSBvbkNsb3NlPXsoKSA9PiBzZXRTaG93VG9wQmFyKGZhbHNlKX0gLz4gLy8gUGFzcyBhIHByb3AgdG8gaGFuZGxlIGNsb3NpbmdcclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPEN1c3RvbVJvdXRlciAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IEFwcDtcclxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiQ3VzdG9tUm91dGVyIiwiTG9hZGVyIiwiVXBncmFkZU5vdGljZSIsIkFwcCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImxvYWRlZCIsInNldExvYWRlZCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2hvd1RvcEJhciIsInNldFNob3dUb3BCYXIiLCJ3aW5kb3ciLCJvbmhhc2hjaGFuZ2UiLCJzY3JvbGxUbyIsInNldFRpbWVvdXQiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsImJhY2tncm91bmQiLCJpY29uIiwic2l6ZSIsInZhcmlhbnQiLCJvbkNsb3NlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/App.js\n"); - -/***/ }), - -/***/ "./src/Components/Compare/FreevsPro.jsx": -/*!**********************************************!*\ - !*** ./src/Components/Compare/FreevsPro.jsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/x.js\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n\nvar FreevsPro = function FreevsPro() {\n var sections = [{\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Content Widgets\", \"header-footer-elementor\"),\n items: [{\n id: 1,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Breadcrumbs\", \"header-footer-elementor\"),\n iconFree: true,\n iconPro: true\n }, {\n id: 2,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Price List\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 3,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Advanced Headings\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 4,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Toggle Button\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 5,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Business Hours\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 6,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Google Map\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 7,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Modal Popup\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 8,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Image Gallery\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 9,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Video Gallery\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }]\n }, {\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"SEO Widgets\", \"header-footer-elementor\"),\n items: [{\n id: 1,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Post Info\", \"header-footer-elementor\"),\n iconFree: true,\n iconPro: true\n }, {\n id: 2,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Business Reviews\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 3,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"How to\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 4,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"FAQ\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 5,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Table of Contents\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }]\n }, {\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Creative Features & Widgets\", \"header-footer-elementor\"),\n items: [{\n id: 1,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Scroll to Top\", \"header-footer-elementor\"),\n iconFree: true,\n iconPro: true\n }, {\n id: 2,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Image Hotspot\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 3,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Content Timeline\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 4,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Countdown Timer\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 5,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Cross-site Copy Paste\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 6,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Welcome Music\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 7,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Conditional Display\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }]\n }, {\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Form Integrations\", \"header-footer-elementor\"),\n items: [{\n id: 1,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Contact Form 7\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 2,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Gravity Forms\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 3,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"WP Fluent\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 4,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"WP Forms\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }]\n }, {\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Social Widgets\", \"header-footer-elementor\"),\n items: [{\n id: 1,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Instagram\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 2,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"X (Twitter)\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 3,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Social Share\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }]\n }, {\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"WooCommerce Widgets\", \"header-footer-elementor\"),\n items: [{\n id: 1,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Add To Cart\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 2,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Categories\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 3,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Checkout\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 4,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Mini Cart\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }, {\n id: 5,\n content: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Products\", \"header-footer-elementor\"),\n iconFree: false,\n iconPro: true\n }]\n }];\n var renderIcon = function renderIcon(isAvailable) {\n return isAvailable ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n color: \"#16A34A\"\n }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n color: \"#DC2626\"\n });\n };\n var renderItems = function renderItems(items) {\n return items.map(function (item) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n key: item.id,\n className: \"flex fle-row py-4 px-5 items-center h-4 justify-between rounded-lg shadow-container-item\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"text-sm text-text-secondary font-medium\"\n }, item.content), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"flex flex-row items-center\",\n style: {\n gap: \"12rem\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"text-sm text-text-primary font-medium\"\n }, renderIcon(item.iconFree)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"text-sm text-text-primary font-medium\",\n style: {\n marginRight: \"50px\"\n }\n }, renderIcon(item.iconPro))));\n });\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"rounded-lg bg-white w-full mb-6\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"flex items-center justify-between p-5\",\n style: {\n paddingBottom: \"0\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"flex flex-col\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"m-0 text-xl font-semibold pt-4 text-text-primary\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Free Vs Pro\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"m-0 text-sm font-normal pt-1 text-text-secondary\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"UAE Pro offers 50+ widgets and features!\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"m-0 text-sm font-normal pt-1 text-text-secondary\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Compare the popular features/widgets to find the best option for your website.\", \"header-footer-elementor\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"flex items-center gap-x-2 mr-7\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Button, {\n iconPosition: \"right\",\n variant: \"primary\",\n style: {\n color: \"white\",\n borderColor: \"#6005FF\",\n transition: \"color 0.3s ease, border-color 0.3s ease\",\n backgroundColor: \"#6005ff\"\n },\n className: \"hfe-remove-ring text-[#6005FF]\",\n onClick: function onClick() {\n window.open(\"https://ultimateelementor.com/pricing/?utm_source=uae-lite-FreevsPro&utm_medium=get-uae-pro&utm_campaign=uae-lite-upgrade\", \"_blank\");\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Get UAE Pro Now\", \"header-footer-elementor\")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"px-4\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"flex flex-col space-y-2 pt-5\"\n }, sections.map(function (section) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), {\n key: section.title\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"flex fle-row py-4 px-5 items-center h-4 justify-between rounded-lg shadow-container-item\",\n style: {\n backgroundColor: \"#F9FAFB\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"text-sm text-text-primary font-medium\"\n }, section.title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"flex flex-row items-center\",\n style: {\n gap: \"12rem\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"text-sm text-text-primary font-medium\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Free\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"text-sm text-text-primary font-medium\",\n style: {\n marginRight: \"50px\"\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Pro\", \"header-footer-elementor\")))), renderItems(section.items));\n }))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FreevsPro);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9Db21wYXJlL0ZyZWV2c1Byby5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQTBCO0FBQ3dCO0FBQ1Y7QUFDSDtBQUVyQyxJQUFNTSxTQUFTLEdBQUcsU0FBWkEsU0FBU0EsQ0FBQSxFQUFTO0VBQ3BCLElBQU1DLFFBQVEsR0FBRyxDQUNiO0lBQ0lDLEtBQUssRUFBRUgsbURBQUUsQ0FBQyxpQkFBaUIsRUFBRSx5QkFBeUIsQ0FBQztJQUN2REksS0FBSyxFQUFFLENBQ0g7TUFBRUMsRUFBRSxFQUFFLENBQUM7TUFBRUMsT0FBTyxFQUFFTixtREFBRSxDQUFDLGFBQWEsRUFBRSx5QkFBeUIsQ0FBQztNQUFFTyxRQUFRLEVBQUUsSUFBSTtNQUFFQyxPQUFPLEVBQUU7SUFBSyxDQUFDLEVBQy9GO01BQUVILEVBQUUsRUFBRSxDQUFDO01BQUVDLE9BQU8sRUFBRU4sbURBQUUsQ0FBQyxZQUFZLEVBQUUseUJBQXlCLENBQUM7TUFBRU8sUUFBUSxFQUFFLEtBQUs7TUFBRUMsT0FBTyxFQUFFO0lBQUssQ0FBQyxFQUMvRjtNQUFFSCxFQUFFLEVBQUUsQ0FBQztNQUFFQyxPQUFPLEVBQUVOLG1EQUFFLENBQUMsbUJBQW1CLEVBQUUseUJBQXlCLENBQUM7TUFBRU8sUUFBUSxFQUFFLEtBQUs7TUFBRUMsT0FBTyxFQUFFO0lBQUssQ0FBQyxFQUN0RztNQUFFSCxFQUFFLEVBQUUsQ0FBQztNQUFFQyxPQUFPLEVBQUVOLG1EQUFFLENBQUMsZUFBZSxFQUFFLHlCQUF5QixDQUFDO01BQUVPLFFBQVEsRUFBRSxLQUFLO01BQUVDLE9BQU8sRUFBRTtJQUFLLENBQUMsRUFDbEc7TUFBRUgsRUFBRSxFQUFFLENBQUM7TUFBRUMsT0FBTyxFQUFFTixtREFBRSxDQUFDLGdCQUFnQixFQUFFLHlCQUF5QixDQUFDO01BQUVPLFFBQVEsRUFBRSxLQUFLO01BQUVDLE9BQU8sRUFBRTtJQUFLLENBQUMsRUFDbkc7TUFBRUgsRUFBRSxFQUFFLENBQUM7TUFBRUMsT0FBTyxFQUFFTixtREFBRSxDQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBQztNQUFFTyxRQUFRLEVBQUUsS0FBSztNQUFFQyxPQUFPLEVBQUU7SUFBSyxDQUFDLEVBQy9GO01BQUVILEVBQUUsRUFBRSxDQUFDO01BQUVDLE9BQU8sRUFBRU4sbURBQUUsQ0FBQyxhQUFhLEVBQUUseUJBQXlCLENBQUM7TUFBRU8sUUFBUSxFQUFFLEtBQUs7TUFBRUMsT0FBTyxFQUFFO0lBQUssQ0FBQyxFQUNoRztNQUFFSCxFQUFFLEVBQUUsQ0FBQztNQUFFQyxPQUFPLEVBQUVOLG1EQUFFLENBQUMsZUFBZSxFQUFFLHlCQUF5QixDQUFDO01BQUVPLFFBQVEsRUFBRSxLQUFLO01BQUVDLE9BQU8sRUFBRTtJQUFLLENBQUMsRUFDbEc7TUFBRUgsRUFBRSxFQUFFLENBQUM7TUFBRUMsT0FBTyxFQUFFTixtREFBRSxDQUFDLGVBQWUsRUFBRSx5QkFBeUIsQ0FBQztNQUFFTyxRQUFRLEVBQUUsS0FBSztNQUFFQyxPQUFPLEVBQUU7SUFBSyxDQUFDO0VBRTFHLENBQUMsRUFDRDtJQUNJTCxLQUFLLEVBQUVILG1EQUFFLENBQUMsYUFBYSxFQUFFLHlCQUF5QixDQUFDO0lBQ25ESSxLQUFLLEVBQUUsQ0FDSDtNQUFFQyxFQUFFLEVBQUUsQ0FBQztNQUFFQyxPQUFPLEVBQUVOLG1EQUFFLENBQUMsV0FBVyxFQUFFLHlCQUF5QixDQUFDO01BQUVPLFFBQVEsRUFBRSxJQUFJO01BQUVDLE9BQU8sRUFBRTtJQUFLLENBQUMsRUFDN0Y7TUFBRUgsRUFBRSxFQUFFLENBQUM7TUFBRUMsT0FBTyxFQUFFTixtREFBRSxDQUFDLGtCQUFrQixFQUFFLHlCQUF5QixDQUFDO01BQUVPLFFBQVEsRUFBRSxLQUFLO01BQUVDLE9BQU8sRUFBRTtJQUFLLENBQUMsRUFDckc7TUFBRUgsRUFBRSxFQUFFLENBQUM7TUFBRUMsT0FBTyxFQUFFTixtREFBRSxDQUFDLFFBQVEsRUFBRSx5QkFBeUIsQ0FBQztNQUFFTyxRQUFRLEVBQUUsS0FBSztNQUFFQyxPQUFPLEVBQUU7SUFBSyxDQUFDLEVBQzNGO01BQUVILEVBQUUsRUFBRSxDQUFDO01BQUVDLE9BQU8sRUFBRU4sbURBQUUsQ0FBQyxLQUFLLEVBQUUseUJBQXlCLENBQUM7TUFBRU8sUUFBUSxFQUFFLEtBQUs7TUFBRUMsT0FBTyxFQUFFO0lBQUssQ0FBQyxFQUN4RjtNQUFFSCxFQUFFLEVBQUUsQ0FBQztNQUFFQyxPQUFPLEVBQUVOLG1EQUFFLENBQUMsbUJBQW1CLEVBQUUseUJBQXlCLENBQUM7TUFBRU8sUUFBUSxFQUFFLEtBQUs7TUFBRUMsT0FBTyxFQUFFO0lBQUssQ0FBQztFQUU5RyxDQUFDLEVBQ0Q7SUFDSUwsS0FBSyxFQUFFSCxtREFBRSxDQUFDLDZCQUE2QixFQUFFLHlCQUF5QixDQUFDO0lBQ25FSSxLQUFLLEVBQUUsQ0FDSDtNQUFFQyxFQUFFLEVBQUUsQ0FBQztNQUFFQyxPQUFPLEVBQUVOLG1EQUFFLENBQUMsZUFBZSxFQUFFLHlCQUF5QixDQUFDO01BQUVPLFFBQVEsRUFBRSxJQUFJO01BQUVDLE9BQU8sRUFBRTtJQUFLLENBQUMsRUFDakc7TUFBRUgsRUFBRSxFQUFFLENBQUM7TUFBRUMsT0FBTyxFQUFFTixtREFBRSxDQUFDLGVBQWUsRUFBRSx5QkFBeUIsQ0FBQztNQUFFTyxRQUFRLEVBQUUsS0FBSztNQUFFQyxPQUFPLEVBQUU7SUFBSyxDQUFDLEVBQ2xHO01BQUVILEVBQUUsRUFBRSxDQUFDO01BQUVDLE9BQU8sRUFBRU4sbURBQUUsQ0FBQyxrQkFBa0IsRUFBRSx5QkFBeUIsQ0FBQztNQUFFTyxRQUFRLEVBQUUsS0FBSztNQUFFQyxPQUFPLEVBQUU7SUFBSyxDQUFDLEVBQ3JHO01BQUVILEVBQUUsRUFBRSxDQUFDO01BQUVDLE9BQU8sRUFBRU4sbURBQUUsQ0FBQyxpQkFBaUIsRUFBRSx5QkFBeUIsQ0FBQztNQUFFTyxRQUFRLEVBQUUsS0FBSztNQUFFQyxPQUFPLEVBQUU7SUFBSyxDQUFDLEVBQ3BHO01BQUVILEVBQUUsRUFBRSxDQUFDO01BQUVDLE9BQU8sRUFBRU4sbURBQUUsQ0FBQyx1QkFBdUIsRUFBRSx5QkFBeUIsQ0FBQztNQUFFTyxRQUFRLEVBQUUsS0FBSztNQUFFQyxPQUFPLEVBQUU7SUFBSyxDQUFDLEVBQzFHO01BQUVILEVBQUUsRUFBRSxDQUFDO01BQUVDLE9BQU8sRUFBRU4sbURBQUUsQ0FBQyxlQUFlLEVBQUUseUJBQXlCLENBQUM7TUFBRU8sUUFBUSxFQUFFLEtBQUs7TUFBRUMsT0FBTyxFQUFFO0lBQUssQ0FBQyxFQUNsRztNQUFFSCxFQUFFLEVBQUUsQ0FBQztNQUFFQyxPQUFPLEVBQUVOLG1EQUFFLENBQUMscUJBQXFCLEVBQUUseUJBQXlCLENBQUM7TUFBRU8sUUFBUSxFQUFFLEtBQUs7TUFBRUMsT0FBTyxFQUFFO0lBQUssQ0FBQztFQUVoSCxDQUFDLEVBQ0Q7SUFDSUwsS0FBSyxFQUFFSCxtREFBRSxDQUFDLG1CQUFtQixFQUFFLHlCQUF5QixDQUFDO0lBQ3pESSxLQUFLLEVBQUUsQ0FDSDtNQUFFQyxFQUFFLEVBQUUsQ0FBQztNQUFFQyxPQUFPLEVBQUVOLG1EQUFFLENBQUMsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUM7TUFBRU8sUUFBUSxFQUFFLEtBQUs7TUFBRUMsT0FBTyxFQUFFO0lBQUssQ0FBQyxFQUNuRztNQUFFSCxFQUFFLEVBQUUsQ0FBQztNQUFFQyxPQUFPLEVBQUVOLG1EQUFFLENBQUMsZUFBZSxFQUFFLHlCQUF5QixDQUFDO01BQUVPLFFBQVEsRUFBRSxLQUFLO01BQUVDLE9BQU8sRUFBRTtJQUFLLENBQUMsRUFDbEc7TUFBRUgsRUFBRSxFQUFFLENBQUM7TUFBRUMsT0FBTyxFQUFFTixtREFBRSxDQUFDLFdBQVcsRUFBRSx5QkFBeUIsQ0FBQztNQUFFTyxRQUFRLEVBQUUsS0FBSztNQUFFQyxPQUFPLEVBQUU7SUFBSyxDQUFDLEVBQzlGO01BQUVILEVBQUUsRUFBRSxDQUFDO01BQUVDLE9BQU8sRUFBRU4sbURBQUUsQ0FBQyxVQUFVLEVBQUUseUJBQXlCLENBQUM7TUFBRU8sUUFBUSxFQUFFLEtBQUs7TUFBRUMsT0FBTyxFQUFFO0lBQUssQ0FBQztFQUVyRyxDQUFDLEVBQ0Q7SUFDSUwsS0FBSyxFQUFFSCxtREFBRSxDQUFDLGdCQUFnQixFQUFFLHlCQUF5QixDQUFDO0lBQ3RESSxLQUFLLEVBQUUsQ0FDSDtNQUFFQyxFQUFFLEVBQUUsQ0FBQztNQUFFQyxPQUFPLEVBQUVOLG1EQUFFLENBQUMsV0FBVyxFQUFFLHlCQUF5QixDQUFDO01BQUVPLFFBQVEsRUFBRSxLQUFLO01BQUVDLE9BQU8sRUFBRTtJQUFLLENBQUMsRUFDOUY7TUFBRUgsRUFBRSxFQUFFLENBQUM7TUFBRUMsT0FBTyxFQUFFTixtREFBRSxDQUFDLGFBQWEsRUFBRSx5QkFBeUIsQ0FBQztNQUFFTyxRQUFRLEVBQUUsS0FBSztNQUFFQyxPQUFPLEVBQUU7SUFBSyxDQUFDLEVBQ2hHO01BQUVILEVBQUUsRUFBRSxDQUFDO01BQUVDLE9BQU8sRUFBRU4sbURBQUUsQ0FBQyxjQUFjLEVBQUUseUJBQXlCLENBQUM7TUFBRU8sUUFBUSxFQUFFLEtBQUs7TUFBRUMsT0FBTyxFQUFFO0lBQUssQ0FBQztFQUV6RyxDQUFDLEVBQ0Q7SUFDSUwsS0FBSyxFQUFFSCxtREFBRSxDQUFDLHFCQUFxQixFQUFFLHlCQUF5QixDQUFDO0lBQzNESSxLQUFLLEVBQUUsQ0FDSDtNQUFFQyxFQUFFLEVBQUUsQ0FBQztNQUFFQyxPQUFPLEVBQUVOLG1EQUFFLENBQUMsYUFBYSxFQUFFLHlCQUF5QixDQUFDO01BQUVPLFFBQVEsRUFBRSxLQUFLO01BQUVDLE9BQU8sRUFBRTtJQUFLLENBQUMsRUFDaEc7TUFBRUgsRUFBRSxFQUFFLENBQUM7TUFBRUMsT0FBTyxFQUFFTixtREFBRSxDQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBQztNQUFFTyxRQUFRLEVBQUUsS0FBSztNQUFFQyxPQUFPLEVBQUU7SUFBSyxDQUFDLEVBQy9GO01BQUVILEVBQUUsRUFBRSxDQUFDO01BQUVDLE9BQU8sRUFBRU4sbURBQUUsQ0FBQyxVQUFVLEVBQUUseUJBQXlCLENBQUM7TUFBRU8sUUFBUSxFQUFFLEtBQUs7TUFBRUMsT0FBTyxFQUFFO0lBQUssQ0FBQyxFQUM3RjtNQUFFSCxFQUFFLEVBQUUsQ0FBQztNQUFFQyxPQUFPLEVBQUVOLG1EQUFFLENBQUMsV0FBVyxFQUFFLHlCQUF5QixDQUFDO01BQUVPLFFBQVEsRUFBRSxLQUFLO01BQUVDLE9BQU8sRUFBRTtJQUFLLENBQUMsRUFDOUY7TUFBRUgsRUFBRSxFQUFFLENBQUM7TUFBRUMsT0FBTyxFQUFFTixtREFBRSxDQUFDLFVBQVUsRUFBRSx5QkFBeUIsQ0FBQztNQUFFTyxRQUFRLEVBQUUsS0FBSztNQUFFQyxPQUFPLEVBQUU7SUFBSyxDQUFDO0VBRXJHLENBQUMsQ0FDSjtFQUVELElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJQyxXQUFXO0lBQUEsT0FDM0JBLFdBQVcsZ0JBQUdmLDBEQUFBLENBQUNHLG9EQUFLO01BQUNjLEtBQUssRUFBQztJQUFTLENBQUUsQ0FBQyxnQkFBR2pCLDBEQUFBLENBQUNJLG9EQUFDO01BQUNhLEtBQUssRUFBQztJQUFTLENBQUUsQ0FBQztFQUFBO0VBRW5FLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJVCxLQUFLO0lBQUEsT0FDdEJBLEtBQUssQ0FBQ1UsR0FBRyxDQUFDLFVBQUNDLElBQUk7TUFBQSxvQkFDWHBCLDBEQUFBO1FBQ0lxQixHQUFHLEVBQUVELElBQUksQ0FBQ1YsRUFBRztRQUNiWSxTQUFTLEVBQUM7TUFBMEYsZ0JBRXBHdEIsMERBQUE7UUFBR3NCLFNBQVMsRUFBQztNQUF5QyxHQUNqREYsSUFBSSxDQUFDVCxPQUNQLENBQUMsZUFDSlgsMERBQUE7UUFBS3NCLFNBQVMsRUFBQyw0QkFBNEI7UUFBQ0MsS0FBSyxFQUFFO1VBQUVDLEdBQUcsRUFBRTtRQUFRO01BQUUsZ0JBQ2hFeEIsMERBQUE7UUFBR3NCLFNBQVMsRUFBQztNQUF1QyxHQUMvQ1IsVUFBVSxDQUFDTSxJQUFJLENBQUNSLFFBQVEsQ0FDMUIsQ0FBQyxlQUNKWiwwREFBQTtRQUNJc0IsU0FBUyxFQUFDLHVDQUF1QztRQUNqREMsS0FBSyxFQUFFO1VBQUVFLFdBQVcsRUFBRTtRQUFPO01BQUUsR0FFOUJYLFVBQVUsQ0FBQ00sSUFBSSxDQUFDUCxPQUFPLENBQ3pCLENBQ0YsQ0FDSixDQUFDO0lBQUEsQ0FDVCxDQUFDO0VBQUE7RUFFTixvQkFDSWIsMERBQUE7SUFBS3NCLFNBQVMsRUFBQztFQUFpQyxnQkFDNUN0QiwwREFBQTtJQUNJc0IsU0FBUyxFQUFDLHVDQUF1QztJQUNqREMsS0FBSyxFQUFFO01BQUVHLGFBQWEsRUFBRTtJQUFJO0VBQUUsZ0JBRTlCMUIsMERBQUE7SUFBS3NCLFNBQVMsRUFBQztFQUFlLGdCQUMxQnRCLDBEQUFBO0lBQUdzQixTQUFTLEVBQUM7RUFBa0QsR0FDMURqQixtREFBRSxDQUFDLGFBQWEsRUFBRSx5QkFBeUIsQ0FDN0MsQ0FBQyxlQUNKTCwwREFBQTtJQUFHc0IsU0FBUyxFQUFDO0VBQWtELEdBQzFEakIsbURBQUUsQ0FBQywwQ0FBMEMsRUFBRSx5QkFBeUIsQ0FDMUUsQ0FBQyxlQUNKTCwwREFBQTtJQUFHc0IsU0FBUyxFQUFDO0VBQWtELEdBQzFEakIsbURBQUUsQ0FDQyxnRkFBZ0YsRUFDaEYseUJBQ0osQ0FDRCxDQUNGLENBQUMsZUFDTkwsMERBQUE7SUFBS3NCLFNBQVMsRUFBQztFQUFnQyxnQkFDM0N0QiwwREFBQSxDQUFDRSxpREFBTTtJQUNIeUIsWUFBWSxFQUFDLE9BQU87SUFDcEJDLE9BQU8sRUFBQyxTQUFTO0lBQ2pCTCxLQUFLLEVBQUU7TUFDSE4sS0FBSyxFQUFFLE9BQU87TUFDZFksV0FBVyxFQUFFLFNBQVM7TUFDdEJDLFVBQVUsRUFBRSx5Q0FBeUM7TUFDckRDLGVBQWUsRUFBRTtJQUNyQixDQUFFO0lBQ0ZULFNBQVMsRUFBQyxnQ0FBZ0M7SUFDMUNVLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7TUFDWEMsTUFBTSxDQUFDQyxJQUFJLENBQ1AsMkhBQTJILEVBQzNILFFBQ0osQ0FBQztJQUNMO0VBQUUsR0FFRDdCLG1EQUFFLENBQUMsaUJBQWlCLEVBQUUseUJBQXlCLENBQzVDLENBQ1AsQ0FDSixDQUFDLGVBQ05MLDBEQUFBO0lBQUtzQixTQUFTLEVBQUM7RUFBTSxnQkFDakJ0QiwwREFBQTtJQUFLc0IsU0FBUyxFQUFDO0VBQThCLEdBQ3hDZixRQUFRLENBQUNZLEdBQUcsQ0FBQyxVQUFDZ0IsT0FBTztJQUFBLG9CQUNsQm5DLDBEQUFBLENBQUNBLHVEQUFjO01BQUNxQixHQUFHLEVBQUVjLE9BQU8sQ0FBQzNCO0lBQU0sZ0JBQy9CUiwwREFBQTtNQUNJc0IsU0FBUyxFQUFDLDBGQUEwRjtNQUNwR0MsS0FBSyxFQUFFO1FBQUVRLGVBQWUsRUFBRTtNQUFVO0lBQUUsZ0JBRXRDL0IsMERBQUE7TUFBR3NCLFNBQVMsRUFBQztJQUF1QyxHQUMvQ2EsT0FBTyxDQUFDM0IsS0FDVixDQUFDLGVBQ0pSLDBEQUFBO01BQ0lzQixTQUFTLEVBQUMsNEJBQTRCO01BQ3RDQyxLQUFLLEVBQUU7UUFBRUMsR0FBRyxFQUFFO01BQVE7SUFBRSxnQkFFeEJ4QiwwREFBQTtNQUFHc0IsU0FBUyxFQUFDO0lBQXVDLEdBQy9DakIsbURBQUUsQ0FBQyxNQUFNLEVBQUUseUJBQXlCLENBQ3RDLENBQUMsZUFDSkwsMERBQUE7TUFDSXNCLFNBQVMsRUFBQyx1Q0FBdUM7TUFDakRDLEtBQUssRUFBRTtRQUFFRSxXQUFXLEVBQUU7TUFBTztJQUFFLEdBRTlCcEIsbURBQUUsQ0FBQyxLQUFLLEVBQUUseUJBQXlCLENBQ3JDLENBQ0YsQ0FDSixDQUFDLEVBQ0xhLFdBQVcsQ0FBQ2lCLE9BQU8sQ0FBQzFCLEtBQUssQ0FDZCxDQUFDO0VBQUEsQ0FDcEIsQ0FDQSxDQUNKLENBQ0osQ0FBQztBQUVkLENBQUM7QUFFRCxpRUFBZUgsU0FBUyIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vc3JjL0NvbXBvbmVudHMvQ29tcGFyZS9GcmVldnNQcm8uanN4PzQwMDEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBDb250YWluZXIsIEJ1dHRvbiB9IGZyb20gXCJAYnNmL2ZvcmNlLXVpXCI7XHJcbmltcG9ydCB7IENoZWNrLCBYIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiO1xyXG5pbXBvcnQgeyBfXyB9IGZyb20gXCJAd29yZHByZXNzL2kxOG5cIjtcclxuXHJcbmNvbnN0IEZyZWV2c1BybyA9ICgpID0+IHtcclxuICAgIGNvbnN0IHNlY3Rpb25zID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6IF9fKFwiQ29udGVudCBXaWRnZXRzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksXHJcbiAgICAgICAgICAgIGl0ZW1zOiBbXHJcbiAgICAgICAgICAgICAgICB7IGlkOiAxLCBjb250ZW50OiBfXyhcIkJyZWFkY3J1bWJzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiB0cnVlLCBpY29uUHJvOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICB7IGlkOiAyLCBjb250ZW50OiBfXyhcIlByaWNlIExpc3RcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSwgaWNvbkZyZWU6IGZhbHNlLCBpY29uUHJvOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICB7IGlkOiAzLCBjb250ZW50OiBfXyhcIkFkdmFuY2VkIEhlYWRpbmdzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiBmYWxzZSwgaWNvblBybzogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBpZDogNCwgY29udGVudDogX18oXCJUb2dnbGUgQnV0dG9uXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiBmYWxzZSwgaWNvblBybzogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBpZDogNSwgY29udGVudDogX18oXCJCdXNpbmVzcyBIb3Vyc1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLCBpY29uRnJlZTogZmFsc2UsIGljb25Qcm86IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIHsgaWQ6IDYsIGNvbnRlbnQ6IF9fKFwiR29vZ2xlIE1hcFwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLCBpY29uRnJlZTogZmFsc2UsIGljb25Qcm86IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIHsgaWQ6IDcsIGNvbnRlbnQ6IF9fKFwiTW9kYWwgUG9wdXBcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSwgaWNvbkZyZWU6IGZhbHNlLCBpY29uUHJvOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICB7IGlkOiA4LCBjb250ZW50OiBfXyhcIkltYWdlIEdhbGxlcnlcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSwgaWNvbkZyZWU6IGZhbHNlLCBpY29uUHJvOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICB7IGlkOiA5LCBjb250ZW50OiBfXyhcIlZpZGVvIEdhbGxlcnlcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSwgaWNvbkZyZWU6IGZhbHNlLCBpY29uUHJvOiB0cnVlIH0sXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBfXyhcIlNFTyBXaWRnZXRzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksXHJcbiAgICAgICAgICAgIGl0ZW1zOiBbXHJcbiAgICAgICAgICAgICAgICB7IGlkOiAxLCBjb250ZW50OiBfXyhcIlBvc3QgSW5mb1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLCBpY29uRnJlZTogdHJ1ZSwgaWNvblBybzogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBpZDogMiwgY29udGVudDogX18oXCJCdXNpbmVzcyBSZXZpZXdzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiBmYWxzZSwgaWNvblBybzogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBpZDogMywgY29udGVudDogX18oXCJIb3cgdG9cIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSwgaWNvbkZyZWU6IGZhbHNlLCBpY29uUHJvOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICB7IGlkOiA0LCBjb250ZW50OiBfXyhcIkZBUVwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLCBpY29uRnJlZTogZmFsc2UsIGljb25Qcm86IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIHsgaWQ6IDUsIGNvbnRlbnQ6IF9fKFwiVGFibGUgb2YgQ29udGVudHNcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSwgaWNvbkZyZWU6IGZhbHNlLCBpY29uUHJvOiB0cnVlIH0sXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBfXyhcIkNyZWF0aXZlIEZlYXR1cmVzICYgV2lkZ2V0c1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG4gICAgICAgICAgICBpdGVtczogW1xyXG4gICAgICAgICAgICAgICAgeyBpZDogMSwgY29udGVudDogX18oXCJTY3JvbGwgdG8gVG9wXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiB0cnVlLCBpY29uUHJvOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICB7IGlkOiAyLCBjb250ZW50OiBfXyhcIkltYWdlIEhvdHNwb3RcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSwgaWNvbkZyZWU6IGZhbHNlLCBpY29uUHJvOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICB7IGlkOiAzLCBjb250ZW50OiBfXyhcIkNvbnRlbnQgVGltZWxpbmVcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSwgaWNvbkZyZWU6IGZhbHNlLCBpY29uUHJvOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICB7IGlkOiA0LCBjb250ZW50OiBfXyhcIkNvdW50ZG93biBUaW1lclwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLCBpY29uRnJlZTogZmFsc2UsIGljb25Qcm86IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIHsgaWQ6IDUsIGNvbnRlbnQ6IF9fKFwiQ3Jvc3Mtc2l0ZSBDb3B5IFBhc3RlXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiBmYWxzZSwgaWNvblBybzogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBpZDogNiwgY29udGVudDogX18oXCJXZWxjb21lIE11c2ljXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiBmYWxzZSwgaWNvblBybzogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBpZDogNywgY29udGVudDogX18oXCJDb25kaXRpb25hbCBEaXNwbGF5XCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiBmYWxzZSwgaWNvblBybzogdHJ1ZSB9LFxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogX18oXCJGb3JtIEludGVncmF0aW9uc1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG4gICAgICAgICAgICBpdGVtczogW1xyXG4gICAgICAgICAgICAgICAgeyBpZDogMSwgY29udGVudDogX18oXCJDb250YWN0IEZvcm0gN1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLCBpY29uRnJlZTogZmFsc2UsIGljb25Qcm86IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIHsgaWQ6IDIsIGNvbnRlbnQ6IF9fKFwiR3Jhdml0eSBGb3Jtc1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLCBpY29uRnJlZTogZmFsc2UsIGljb25Qcm86IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIHsgaWQ6IDMsIGNvbnRlbnQ6IF9fKFwiV1AgRmx1ZW50XCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiBmYWxzZSwgaWNvblBybzogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBpZDogNCwgY29udGVudDogX18oXCJXUCBGb3Jtc1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLCBpY29uRnJlZTogZmFsc2UsIGljb25Qcm86IHRydWUgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6IF9fKFwiU29jaWFsIFdpZGdldHNcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSxcclxuICAgICAgICAgICAgaXRlbXM6IFtcclxuICAgICAgICAgICAgICAgIHsgaWQ6IDEsIGNvbnRlbnQ6IF9fKFwiSW5zdGFncmFtXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiBmYWxzZSwgaWNvblBybzogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBpZDogMiwgY29udGVudDogX18oXCJYIChUd2l0dGVyKVwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLCBpY29uRnJlZTogZmFsc2UsIGljb25Qcm86IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIHsgaWQ6IDMsIGNvbnRlbnQ6IF9fKFwiU29jaWFsIFNoYXJlXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiBmYWxzZSwgaWNvblBybzogdHJ1ZSB9LFxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogX18oXCJXb29Db21tZXJjZSBXaWRnZXRzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksXHJcbiAgICAgICAgICAgIGl0ZW1zOiBbXHJcbiAgICAgICAgICAgICAgICB7IGlkOiAxLCBjb250ZW50OiBfXyhcIkFkZCBUbyBDYXJ0XCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiBmYWxzZSwgaWNvblBybzogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBpZDogMiwgY29udGVudDogX18oXCJDYXRlZ29yaWVzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiBmYWxzZSwgaWNvblBybzogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBpZDogMywgY29udGVudDogX18oXCJDaGVja291dFwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLCBpY29uRnJlZTogZmFsc2UsIGljb25Qcm86IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIHsgaWQ6IDQsIGNvbnRlbnQ6IF9fKFwiTWluaSBDYXJ0XCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksIGljb25GcmVlOiBmYWxzZSwgaWNvblBybzogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBpZDogNSwgY29udGVudDogX18oXCJQcm9kdWN0c1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLCBpY29uRnJlZTogZmFsc2UsIGljb25Qcm86IHRydWUgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICB9LFxyXG4gICAgXTtcclxuXHJcbiAgICBjb25zdCByZW5kZXJJY29uID0gKGlzQXZhaWxhYmxlKSA9PlxyXG4gICAgICAgIGlzQXZhaWxhYmxlID8gPENoZWNrIGNvbG9yPVwiIzE2QTM0QVwiIC8+IDogPFggY29sb3I9XCIjREMyNjI2XCIgLz47XHJcblxyXG4gICAgY29uc3QgcmVuZGVySXRlbXMgPSAoaXRlbXMpID0+XHJcbiAgICAgICAgaXRlbXMubWFwKChpdGVtKSA9PiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggZmxlLXJvdyBweS00IHB4LTUgaXRlbXMtY2VudGVyIGgtNCBqdXN0aWZ5LWJldHdlZW4gcm91bmRlZC1sZyBzaGFkb3ctY29udGFpbmVyLWl0ZW1cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtdGV4dC1zZWNvbmRhcnkgZm9udC1tZWRpdW1cIj5cclxuICAgICAgICAgICAgICAgICAgICB7aXRlbS5jb250ZW50fVxyXG4gICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtcm93IGl0ZW1zLWNlbnRlclwiIHN0eWxlPXt7IGdhcDogXCIxMnJlbVwiIH19PlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC10ZXh0LXByaW1hcnkgZm9udC1tZWRpdW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3JlbmRlckljb24oaXRlbS5pY29uRnJlZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC10ZXh0LXByaW1hcnkgZm9udC1tZWRpdW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5SaWdodDogXCI1MHB4XCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtyZW5kZXJJY29uKGl0ZW0uaWNvblBybyl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICkpO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3VuZGVkLWxnIGJnLXdoaXRlIHctZnVsbCBtYi02XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBwLTVcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgcGFkZGluZ0JvdHRvbTogXCIwXCIgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibS0wIHRleHQteGwgZm9udC1zZW1pYm9sZCBwdC00IHRleHQtdGV4dC1wcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtfXyhcIkZyZWUgVnMgUHJvXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm0tMCB0ZXh0LXNtIGZvbnQtbm9ybWFsIHB0LTEgdGV4dC10ZXh0LXNlY29uZGFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7X18oXCJVQUUgUHJvIG9mZmVycyA1MCsgd2lkZ2V0cyBhbmQgZmVhdHVyZXMhXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm0tMCB0ZXh0LXNtIGZvbnQtbm9ybWFsIHB0LTEgdGV4dC10ZXh0LXNlY29uZGFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7X18oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkNvbXBhcmUgdGhlIHBvcHVsYXIgZmVhdHVyZXMvd2lkZ2V0cyB0byBmaW5kIHRoZSBiZXN0IG9wdGlvbiBmb3IgeW91ciB3ZWJzaXRlLlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC14LTIgbXItN1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogXCJ3aGl0ZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IFwiIzYwMDVGRlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogXCJjb2xvciAwLjNzIGVhc2UsIGJvcmRlci1jb2xvciAwLjNzIGVhc2VcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjNjAwNWZmXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImhmZS1yZW1vdmUtcmluZyB0ZXh0LVsjNjAwNUZGXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaHR0cHM6Ly91bHRpbWF0ZWVsZW1lbnRvci5jb20vcHJpY2luZy8/dXRtX3NvdXJjZT11YWUtbGl0ZS1GcmVldnNQcm8mdXRtX21lZGl1bT1nZXQtdWFlLXBybyZ1dG1fY2FtcGFpZ249dWFlLWxpdGUtdXBncmFkZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiX2JsYW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7X18oXCJHZXQgVUFFIFBybyBOb3dcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgc3BhY2UteS0yIHB0LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICB7c2VjdGlvbnMubWFwKChzZWN0aW9uKSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e3NlY3Rpb24udGl0bGV9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggZmxlLXJvdyBweS00IHB4LTUgaXRlbXMtY2VudGVyIGgtNCBqdXN0aWZ5LWJldHdlZW4gcm91bmRlZC1sZyBzaGFkb3ctY29udGFpbmVyLWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogXCIjRjlGQUZCXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtdGV4dC1wcmltYXJ5IGZvbnQtbWVkaXVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzZWN0aW9uLnRpdGxlfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgZ2FwOiBcIjEycmVtXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC10ZXh0LXByaW1hcnkgZm9udC1tZWRpdW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfXyhcIkZyZWVcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LXRleHQtcHJpbWFyeSBmb250LW1lZGl1bVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5SaWdodDogXCI1MHB4XCIgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge19fKFwiUHJvXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3JlbmRlckl0ZW1zKHNlY3Rpb24uaXRlbXMpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IEZyZWV2c1BybztcclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiQ29udGFpbmVyIiwiQnV0dG9uIiwiQ2hlY2siLCJYIiwiX18iLCJGcmVldnNQcm8iLCJzZWN0aW9ucyIsInRpdGxlIiwiaXRlbXMiLCJpZCIsImNvbnRlbnQiLCJpY29uRnJlZSIsImljb25Qcm8iLCJyZW5kZXJJY29uIiwiaXNBdmFpbGFibGUiLCJjcmVhdGVFbGVtZW50IiwiY29sb3IiLCJyZW5kZXJJdGVtcyIsIm1hcCIsIml0ZW0iLCJrZXkiLCJjbGFzc05hbWUiLCJzdHlsZSIsImdhcCIsIm1hcmdpblJpZ2h0IiwicGFkZGluZ0JvdHRvbSIsImljb25Qb3NpdGlvbiIsInZhcmlhbnQiLCJib3JkZXJDb2xvciIsInRyYW5zaXRpb24iLCJiYWNrZ3JvdW5kQ29sb3IiLCJvbkNsaWNrIiwid2luZG93Iiwib3BlbiIsInNlY3Rpb24iLCJGcmFnbWVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Components/Compare/FreevsPro.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Compare/UltimateCompare.jsx": -/*!****************************************************!*\ - !*** ./src/Components/Compare/UltimateCompare.jsx ***! - \****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/zap.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n\nvar UltimateCompare = function UltimateCompare() {\n var featureData = [{\n id: 1,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Modal Popup\", \"header-footer-elementor\")\n }, {\n id: 2,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Advanced Heading\", \"header-footer-elementor\")\n }, {\n id: 3,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Post Layouts\", \"header-footer-elementor\")\n }, {\n id: 4,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Info Box\", \"header-footer-elementor\")\n }, {\n id: 5,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Pricing Cards\", \"header-footer-elementor\")\n }, {\n id: 6,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Form Stylers and more...\", \"header-footer-elementor\")\n }];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"\",\n style: {\n paddingBottom: '16px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container, {\n className: \"bg-background-primary gap-1 p-4 border-[0.5px] border-subtle rounded-xl shadow-sm\",\n containerType: \"flex\",\n direction: \"column\",\n justify: \"between\",\n gap: \"xs\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n className: \"flex flex-col justify-center items-center\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n src: \"\".concat(hfeSettingsData.column_url),\n alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Column Showcase\", \"header-footer-elementor\"),\n className: \"h-auto rounded w-1/2\"\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n className: \"flex flex-col justify-between\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Title, {\n description: \"\",\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null),\n iconPosition: \"left\",\n size: \"xs\",\n tag: \"h6\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Unlock Ultimate Features\", \"header-footer-elementor\"),\n className: \"text-xs font-semibold text-brand-primary-600\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Title, {\n description: \"\",\n icon: \"\",\n iconPosition: \"left\",\n tag: \"h6\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Create Ultimate Designs with Addons Pro!\", \"header-footer-elementor\"),\n className: \"py-1 text-sm\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"text-md m-0 text-text-secondary\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Get access to advanced widgets and features to create the website that stands out!', 'header-footer-elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"grid grid-cols-2 grid-flow-row gap-1 my-4\"\n }, featureData.map(function (feature) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Title, {\n key: feature.id,\n description: \"\",\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"text-brand-primary-600 mr-1 h-3 w-3\"\n }),\n iconPosition: \"left\",\n size: \"xs\",\n tag: \"h6\",\n title: feature.title,\n className: \"text-md m-0 text-text-secondary hfe-compare-section\"\n });\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Button, {\n iconPosition: \"right\",\n variant: \"secondary\",\n className: \"hfe-remove-ring\",\n style: {\n width: \"100%\"\n },\n onClick: function onClick() {\n window.open(\"https://ultimateelementor.com/pricing/?utm_source=uae-lite-free-vs-pro&utm_medium=My-accounts&utm_campaign=uae-lite-upgrade\", '_blank');\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Upgrade Now', 'header-footer-elementor'))))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UltimateCompare);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9Db21wYXJlL1VsdGltYXRlQ29tcGFyZS5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQTBCO0FBQytCO0FBQ2Y7QUFDTDtBQUVyQyxJQUFNTyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUEsRUFBUztFQUUxQixJQUFNQyxXQUFXLEdBQUcsQ0FDaEI7SUFDSUMsRUFBRSxFQUFFLENBQUM7SUFDTEMsSUFBSSxFQUFFLEVBQUU7SUFDUkMsS0FBSyxFQUFFTCxtREFBRSxDQUFDLGFBQWEsRUFBRSx5QkFBeUI7RUFDdEQsQ0FBQyxFQUNEO0lBQ0lHLEVBQUUsRUFBRSxDQUFDO0lBQ0xDLElBQUksRUFBRSxFQUFFO0lBQ1JDLEtBQUssRUFBRUwsbURBQUUsQ0FBQyxrQkFBa0IsRUFBRSx5QkFBeUI7RUFDM0QsQ0FBQyxFQUNEO0lBQ0lHLEVBQUUsRUFBRSxDQUFDO0lBQ0xDLElBQUksRUFBRSxFQUFFO0lBQ1JDLEtBQUssRUFBRUwsbURBQUUsQ0FBQyxjQUFjLEVBQUUseUJBQXlCO0VBQ3ZELENBQUMsRUFDRDtJQUNJRyxFQUFFLEVBQUUsQ0FBQztJQUNMQyxJQUFJLEVBQUUsRUFBRTtJQUNSQyxLQUFLLEVBQUVMLG1EQUFFLENBQUMsVUFBVSxFQUFFLHlCQUF5QjtFQUNuRCxDQUFDLEVBQ0Q7SUFDSUcsRUFBRSxFQUFFLENBQUM7SUFDTEMsSUFBSSxFQUFFLEVBQUU7SUFDUkMsS0FBSyxFQUFFTCxtREFBRSxDQUFDLGVBQWUsRUFBRSx5QkFBeUI7RUFDeEQsQ0FBQyxFQUNEO0lBQ0lHLEVBQUUsRUFBRSxDQUFDO0lBQ0xDLElBQUksRUFBRSxFQUFFO0lBQ1JDLEtBQUssRUFBRUwsbURBQUUsQ0FBQywwQkFBMEIsRUFBRSx5QkFBeUI7RUFDbkUsQ0FBQyxDQUNKO0VBRUQsb0JBRUlOLDBEQUFBO0lBQUthLFNBQVMsRUFBQyxFQUFFO0lBQUNDLEtBQUssRUFBRTtNQUFFQyxhQUFhLEVBQUU7SUFBTztFQUFFLGdCQUMvQ2YsMERBQUEsQ0FBQ0Msb0RBQVM7SUFDTlksU0FBUyxFQUFDLG1GQUFtRjtJQUM3RkcsYUFBYSxFQUFDLE1BQU07SUFDcEJDLFNBQVMsRUFBQyxRQUFRO0lBQ2xCQyxPQUFPLEVBQUMsU0FBUztJQUNqQkMsR0FBRyxFQUFDO0VBQUksZ0JBR1JuQiwwREFBQSxDQUFDQyxvREFBUyxDQUFDbUIsSUFBSTtJQUFDUCxTQUFTLEVBQUM7RUFBMkMsZ0JBQ2pFYiwwREFBQTtJQUNJcUIsR0FBRyxLQUFBQyxNQUFBLENBQUtDLGVBQWUsQ0FBQ0MsVUFBVSxDQUFHO0lBQ3JDQyxHQUFHLEVBQUVuQixtREFBRSxDQUFDLGlCQUFpQixFQUFFLHlCQUF5QixDQUFFO0lBQ3RETyxTQUFTLEVBQUM7RUFBc0IsQ0FDbkMsQ0FDVyxDQUFDLGVBRWpCYiwwREFBQSxDQUFDQyxvREFBUyxDQUFDbUIsSUFBSTtJQUFDUCxTQUFTLEVBQUM7RUFBK0IsZ0JBQ3JEYiwwREFBQSwyQkFDSUEsMERBQUEsQ0FBQ0UsZ0RBQUs7SUFDRndCLFdBQVcsRUFBQyxFQUFFO0lBQ2RoQixJQUFJLGVBQUVWLDBEQUFBLENBQUNJLG9EQUFHLE1BQUUsQ0FBRTtJQUNkdUIsWUFBWSxFQUFDLE1BQU07SUFDbkJDLElBQUksRUFBQyxJQUFJO0lBQ1RDLEdBQUcsRUFBQyxJQUFJO0lBQ1JsQixLQUFLLEVBQUVMLG1EQUFFLENBQUMsMEJBQTBCLEVBQUUseUJBQXlCLENBQUU7SUFDakVPLFNBQVMsRUFBQztFQUE4QyxDQUMzRCxDQUFDLGVBQ0ZiLDBEQUFBLENBQUNFLGdEQUFLO0lBQ0Z3QixXQUFXLEVBQUMsRUFBRTtJQUNkaEIsSUFBSSxFQUFFLEVBQUc7SUFDVGlCLFlBQVksRUFBQyxNQUFNO0lBQ25CRSxHQUFHLEVBQUMsSUFBSTtJQUNSbEIsS0FBSyxFQUFFTCxtREFBRSxDQUFDLDBDQUEwQyxFQUFFLHlCQUF5QixDQUFFO0lBQ2pGTyxTQUFTLEVBQUM7RUFBYyxDQUMzQixDQUFDLGVBQ0ZiLDBEQUFBO0lBQUdhLFNBQVMsRUFBQztFQUFpQyxHQUN6Q1AsbURBQUUsQ0FBQyxvRkFBb0YsRUFBRSx5QkFBeUIsQ0FDcEgsQ0FDRixDQUFDLGVBQ05OLDBEQUFBO0lBQUthLFNBQVMsRUFBQztFQUEyQyxHQUNyREwsV0FBVyxDQUFDc0IsR0FBRyxDQUFDLFVBQUNDLE9BQU87SUFBQSxvQkFDckIvQiwwREFBQSxDQUFDRSxnREFBSztNQUNGOEIsR0FBRyxFQUFFRCxPQUFPLENBQUN0QixFQUFHO01BQ2hCaUIsV0FBVyxFQUFDLEVBQUU7TUFDZGhCLElBQUksZUFDQVYsMERBQUEsQ0FBQ0ssb0RBQUs7UUFBQ1EsU0FBUyxFQUFDO01BQXFDLENBQUUsQ0FDM0Q7TUFDRGMsWUFBWSxFQUFDLE1BQU07TUFDbkJDLElBQUksRUFBQyxJQUFJO01BQ1RDLEdBQUcsRUFBQyxJQUFJO01BQ1JsQixLQUFLLEVBQUVvQixPQUFPLENBQUNwQixLQUFNO01BQ3JCRSxTQUFTLEVBQUM7SUFBcUQsQ0FDbEUsQ0FBQztFQUFBLENBQ0wsQ0FDQSxDQUFDLGVBQ05iLDBEQUFBO0lBQUthLFNBQVMsRUFBQztFQUFFLGdCQUNiYiwwREFBQSxDQUFDRyxpREFBTTtJQUNId0IsWUFBWSxFQUFDLE9BQU87SUFDcEJNLE9BQU8sRUFBQyxXQUFXO0lBQ25CcEIsU0FBUyxFQUFDLGlCQUFpQjtJQUMzQkMsS0FBSyxFQUFFO01BQUVvQixLQUFLLEVBQUU7SUFBTyxDQUFFO0lBQ3pCQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFRO01BQ1hDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLDZIQUE2SCxFQUFFLFFBQVEsQ0FBQztJQUN4SjtFQUFFLEdBRUQvQixtREFBRSxDQUFDLGFBQWEsRUFBRSx5QkFBeUIsQ0FDeEMsQ0FDUCxDQUNPLENBQ1QsQ0FDVixDQUFDO0FBRWQsQ0FBQztBQUVELGlFQUFlQyxlQUFlIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9zcmMvQ29tcG9uZW50cy9Db21wYXJlL1VsdGltYXRlQ29tcGFyZS5qc3g/MmMzZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IENvbnRhaW5lciwgVGl0bGUsIEJ1dHRvbiB9IGZyb20gXCJAYnNmL2ZvcmNlLXVpXCI7XHJcbmltcG9ydCB7IFphcCwgQ2hlY2sgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XHJcbmltcG9ydCB7IF9fIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcclxuXHJcbmNvbnN0IFVsdGltYXRlQ29tcGFyZSA9ICgpID0+IHtcclxuXHJcbiAgICBjb25zdCBmZWF0dXJlRGF0YSA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGlkOiAxLFxyXG4gICAgICAgICAgICBpY29uOiBcIlwiLFxyXG4gICAgICAgICAgICB0aXRsZTogX18oXCJNb2RhbCBQb3B1cFwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpZDogMixcclxuICAgICAgICAgICAgaWNvbjogXCJcIixcclxuICAgICAgICAgICAgdGl0bGU6IF9fKFwiQWR2YW5jZWQgSGVhZGluZ1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpZDogMyxcclxuICAgICAgICAgICAgaWNvbjogXCJcIixcclxuICAgICAgICAgICAgdGl0bGU6IF9fKFwiUG9zdCBMYXlvdXRzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGlkOiA0LFxyXG4gICAgICAgICAgICBpY29uOiBcIlwiLFxyXG4gICAgICAgICAgICB0aXRsZTogX18oXCJJbmZvIEJveFwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpZDogNSxcclxuICAgICAgICAgICAgaWNvbjogXCJcIixcclxuICAgICAgICAgICAgdGl0bGU6IF9fKFwiUHJpY2luZyBDYXJkc1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpZDogNixcclxuICAgICAgICAgICAgaWNvbjogXCJcIixcclxuICAgICAgICAgICAgdGl0bGU6IF9fKFwiRm9ybSBTdHlsZXJzIGFuZCBtb3JlLi4uXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksXHJcbiAgICAgICAgfSxcclxuICAgIF07XHJcblxyXG4gICAgcmV0dXJuIChcclxuXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIiBzdHlsZT17eyBwYWRkaW5nQm90dG9tOiAnMTZweCcgfX0+XHJcbiAgICAgICAgICAgIDxDb250YWluZXJcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJnLWJhY2tncm91bmQtcHJpbWFyeSBnYXAtMSBwLTQgYm9yZGVyLVswLjVweF0gYm9yZGVyLXN1YnRsZSByb3VuZGVkLXhsIHNoYWRvdy1zbVwiXHJcbiAgICAgICAgICAgICAgICBjb250YWluZXJUeXBlPVwiZmxleFwiXHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgICAganVzdGlmeT1cImJldHdlZW5cIlxyXG4gICAgICAgICAgICAgICAgZ2FwPVwieHNcIlxyXG4gICAgICAgICAgICA+XHJcblxyXG4gICAgICAgICAgICAgICAgPENvbnRhaW5lci5JdGVtIGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9e2Ake2hmZVNldHRpbmdzRGF0YS5jb2x1bW5fdXJsfWB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsdD17X18oXCJDb2x1bW4gU2hvd2Nhc2VcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC1hdXRvIHJvdW5kZWQgdy0xLzJcIlxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8L0NvbnRhaW5lci5JdGVtPlxyXG5cclxuICAgICAgICAgICAgICAgIDxDb250YWluZXIuSXRlbSBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxUaXRsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj17PFphcCAvPn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25Qb3NpdGlvbj1cImxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZz1cImg2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPXtfXyhcIlVubG9jayBVbHRpbWF0ZSBGZWF0dXJlc1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LXNlbWlib2xkIHRleHQtYnJhbmQtcHJpbWFyeS02MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VGl0bGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249e1wiXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZz1cImg2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPXtfXyhcIkNyZWF0ZSBVbHRpbWF0ZSBEZXNpZ25zIHdpdGggQWRkb25zIFBybyFcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInB5LTEgdGV4dC1zbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbWQgbS0wIHRleHQtdGV4dC1zZWNvbmRhcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfXygnR2V0IGFjY2VzcyB0byBhZHZhbmNlZCB3aWRnZXRzIGFuZCBmZWF0dXJlcyB0byBjcmVhdGUgdGhlIHdlYnNpdGUgdGhhdCBzdGFuZHMgb3V0IScsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0yIGdyaWQtZmxvdy1yb3cgZ2FwLTEgbXktNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7ZmVhdHVyZURhdGEubWFwKChmZWF0dXJlKSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGl0bGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2ZlYXR1cmUuaWR9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hlY2sgY2xhc3NOYW1lPVwidGV4dC1icmFuZC1wcmltYXJ5LTYwMCBtci0xIGgtMyB3LTNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwieHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZz1cImg2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT17ZmVhdHVyZS50aXRsZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LW1kIG0tMCB0ZXh0LXRleHQtc2Vjb25kYXJ5IGhmZS1jb21wYXJlLXNlY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJoZmUtcmVtb3ZlLXJpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oXCJodHRwczovL3VsdGltYXRlZWxlbWVudG9yLmNvbS9wcmljaW5nLz91dG1fc291cmNlPXVhZS1saXRlLWZyZWUtdnMtcHJvJnV0bV9tZWRpdW09TXktYWNjb3VudHMmdXRtX2NhbXBhaWduPXVhZS1saXRlLXVwZ3JhZGVcIiwgJ19ibGFuaycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge19fKCdVcGdyYWRlIE5vdycsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyLkl0ZW0+XHJcbiAgICAgICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgKVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBVbHRpbWF0ZUNvbXBhcmU7XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkNvbnRhaW5lciIsIlRpdGxlIiwiQnV0dG9uIiwiWmFwIiwiQ2hlY2siLCJfXyIsIlVsdGltYXRlQ29tcGFyZSIsImZlYXR1cmVEYXRhIiwiaWQiLCJpY29uIiwidGl0bGUiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic3R5bGUiLCJwYWRkaW5nQm90dG9tIiwiY29udGFpbmVyVHlwZSIsImRpcmVjdGlvbiIsImp1c3RpZnkiLCJnYXAiLCJJdGVtIiwic3JjIiwiY29uY2F0IiwiaGZlU2V0dGluZ3NEYXRhIiwiY29sdW1uX3VybCIsImFsdCIsImRlc2NyaXB0aW9uIiwiaWNvblBvc2l0aW9uIiwic2l6ZSIsInRhZyIsIm1hcCIsImZlYXR1cmUiLCJrZXkiLCJ2YXJpYW50Iiwid2lkdGgiLCJvbkNsaWNrIiwid2luZG93Iiwib3BlbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Components/Compare/UltimateCompare.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Compare/Upgrade.jsx": -/*!********************************************!*\ - !*** ./src/Components/Compare/Upgrade.jsx ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Dashboard_ExtendWebsite__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Dashboard/ExtendWebsite */ \"./src/Components/Dashboard/ExtendWebsite.jsx\");\n/* harmony import */ var _Dashboard_QuickAccess__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Dashboard/QuickAccess */ \"./src/Components/Dashboard/QuickAccess.js\");\n/* harmony import */ var _NavMenu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../NavMenu */ \"./src/Components/NavMenu.js\");\n/* harmony import */ var _UpgradeNotice__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../UpgradeNotice */ \"./src/Components/UpgradeNotice.jsx\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _FreevsPro__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./FreevsPro */ \"./src/Components/Compare/FreevsPro.jsx\");\n/* harmony import */ var _UltimateCompare__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./UltimateCompare */ \"./src/Components/Compare/UltimateCompare.jsx\");\n\n\n\n\n\n\n\n\nvar Upgrade = function Upgrade() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement((react__WEBPACK_IMPORTED_MODULE_5___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_NavMenu__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_0__.Container, {\n align: \"stretch\",\n className: \"p-6 flex-col lg:flex-row box-border\",\n containerType: \"flex\",\n direction: \"row\",\n gap: \"sm\",\n justify: \"start\",\n style: {\n width: \"100%\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_0__.Container.Item, {\n className: \"p-2 hfe-65-width\",\n alignSelf: \"auto\",\n order: \"none\",\n shrink: 0\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_FreevsPro__WEBPACK_IMPORTED_MODULE_6__[\"default\"], null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_0__.Container.Item, {\n className: \"p-2 w-full hfe-35-width\",\n shrink: 1\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_UltimateCompare__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_Dashboard_ExtendWebsite__WEBPACK_IMPORTED_MODULE_1__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_Dashboard_QuickAccess__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null)))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Upgrade);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9Db21wYXJlL1VwZ3JhZGUuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQTBDO0FBQ3RCO0FBQ0Y7QUFDSjtBQUNNO0FBQ0s7QUFDVztBQUNZO0FBR2hELElBQU1RLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFBLEVBQVM7RUFDbEIsb0JBQ0lILDBEQUFBLENBQUFBLHVEQUFBLHFCQUNJQSwwREFBQSxDQUFDRixnREFBTyxNQUFFLENBQUMsZUFDWEUsMERBQUEsMkJBQ0lBLDBEQUFBLENBQUNMLG9EQUFTO0lBQ05XLEtBQUssRUFBQyxTQUFTO0lBQ2ZDLFNBQVMsRUFBQyxxQ0FBcUM7SUFDL0NDLGFBQWEsRUFBQyxNQUFNO0lBQ3BCQyxTQUFTLEVBQUMsS0FBSztJQUNmQyxHQUFHLEVBQUMsSUFBSTtJQUNSQyxPQUFPLEVBQUMsT0FBTztJQUNmQyxLQUFLLEVBQUU7TUFDSEMsS0FBSyxFQUFFO0lBQ1g7RUFBRSxnQkFFRmIsMERBQUEsQ0FBQ0wsb0RBQVMsQ0FBQ21CLElBQUk7SUFDWFAsU0FBUyxFQUFDLGtCQUFrQjtJQUM1QlEsU0FBUyxFQUFDLE1BQU07SUFDaEJDLEtBQUssRUFBQyxNQUFNO0lBQ1pDLE1BQU0sRUFBRTtFQUFFLGdCQUVWakIsMERBQUEsQ0FBQ0Msa0RBQVMsTUFBRSxDQUNBLENBQUMsZUFDakJELDBEQUFBLENBQUNMLG9EQUFTLENBQUNtQixJQUFJO0lBQ1hQLFNBQVMsRUFBQyx5QkFBeUI7SUFDbkNVLE1BQU0sRUFBRTtFQUFFLGdCQUVWakIsMERBQUEsQ0FBQ0Usd0RBQWUsTUFBRSxDQUFDLGVBQ25CRiwwREFBQSxDQUFDSixnRUFBYSxNQUFFLENBQUMsZUFDakJJLDBEQUFBLENBQUNILDhEQUFXLE1BQUUsQ0FDRixDQUNULENBQ1YsQ0FDUCxDQUFDO0FBRVgsQ0FBQztBQUVELGlFQUFlTSxPQUFPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9zcmMvQ29tcG9uZW50cy9Db21wYXJlL1VwZ3JhZGUuanN4P2I2OTEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIkBic2YvZm9yY2UtdWlcIjtcclxuaW1wb3J0IEV4dGVuZFdlYnNpdGUgZnJvbSBcIkBjb21wb25lbnRzL0Rhc2hib2FyZC9FeHRlbmRXZWJzaXRlXCI7XHJcbmltcG9ydCBRdWlja0FjY2VzcyBmcm9tIFwiQGNvbXBvbmVudHMvRGFzaGJvYXJkL1F1aWNrQWNjZXNzXCI7XHJcbmltcG9ydCBOYXZNZW51IGZyb20gXCJAY29tcG9uZW50cy9OYXZNZW51XCI7XHJcbmltcG9ydCBVcGdyYWRlTm90aWNlIGZyb20gXCJAY29tcG9uZW50cy9VcGdyYWRlTm90aWNlXCI7XHJcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcclxuaW1wb3J0IEZyZWV2c1BybyBmcm9tIFwiLi9GcmVldnNQcm9cIjtcclxuaW1wb3J0IFVsdGltYXRlQ29tcGFyZSBmcm9tIFwiLi9VbHRpbWF0ZUNvbXBhcmVcIjtcclxuXHJcblxyXG5jb25zdCBVcGdyYWRlID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAgICA8TmF2TWVudSAvPlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPENvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduPVwic3RyZXRjaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicC02IGZsZXgtY29sIGxnOmZsZXgtcm93IGJveC1ib3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclR5cGU9XCJmbGV4XCJcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxyXG4gICAgICAgICAgICAgICAgICAgIGdhcD1cInNtXCJcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5PVwic3RhcnRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxDb250YWluZXIuSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwLTIgaGZlLTY1LXdpZHRoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25TZWxmPVwiYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNocmluaz17MH1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxGcmVldnNQcm8gLz5cclxuICAgICAgICAgICAgICAgICAgICA8L0NvbnRhaW5lci5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDxDb250YWluZXIuSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwLTIgdy1mdWxsIGhmZS0zNS13aWR0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNocmluaz17MX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxVbHRpbWF0ZUNvbXBhcmUgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPEV4dGVuZFdlYnNpdGUgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFF1aWNrQWNjZXNzIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Db250YWluZXIuSXRlbT5cclxuICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8Lz5cclxuICAgIClcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgVXBncmFkZVxyXG4iXSwibmFtZXMiOlsiQ29udGFpbmVyIiwiRXh0ZW5kV2Vic2l0ZSIsIlF1aWNrQWNjZXNzIiwiTmF2TWVudSIsIlVwZ3JhZGVOb3RpY2UiLCJSZWFjdCIsIkZyZWV2c1BybyIsIlVsdGltYXRlQ29tcGFyZSIsIlVwZ3JhZGUiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJhbGlnbiIsImNsYXNzTmFtZSIsImNvbnRhaW5lclR5cGUiLCJkaXJlY3Rpb24iLCJnYXAiLCJqdXN0aWZ5Iiwic3R5bGUiLCJ3aWR0aCIsIkl0ZW0iLCJhbGlnblNlbGYiLCJvcmRlciIsInNocmluayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Components/Compare/Upgrade.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Dashboard/Dashboard.jsx": -/*!************************************************!*\ - !*** ./src/Components/Dashboard/Dashboard.jsx ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _NavMenu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../NavMenu */ \"./src/Components/NavMenu.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Widgets__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Widgets */ \"./src/Components/Dashboard/Widgets.jsx\");\n/* harmony import */ var _TemplateSection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TemplateSection */ \"./src/Components/Dashboard/TemplateSection.js\");\n/* harmony import */ var _QuickAccess__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./QuickAccess */ \"./src/Components/Dashboard/QuickAccess.js\");\n/* harmony import */ var _WelcomeContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./WelcomeContainer */ \"./src/Components/Dashboard/WelcomeContainer.js\");\n/* harmony import */ var _UltimateFeatures__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./UltimateFeatures */ \"./src/Components/Dashboard/UltimateFeatures.js\");\n/* harmony import */ var _ExtendWebsite__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ExtendWebsite */ \"./src/Components/Dashboard/ExtendWebsite.jsx\");\n\n\n\n\n\n\n\n\n\nvar Dashboard = function Dashboard() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_NavMenu__WEBPACK_IMPORTED_MODULE_1__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_0__.Container, {\n align: \"stretch\",\n className: \"p-6 flex-col lg:flex-row box-border\",\n containerType: \"flex\",\n direction: \"row\",\n gap: \"sm\",\n justify: \"start\",\n style: {\n width: \"100%\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_0__.Container.Item, {\n className: \"p-2 hfe-65-width\",\n alignSelf: \"auto\",\n order: \"none\",\n shrink: 0\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_WelcomeContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Widgets__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_UltimateFeatures__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_0__.Container.Item, {\n className: \"p-2 w-full hfe-35-width\",\n shrink: 1\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_ExtendWebsite__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_TemplateSection__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_QuickAccess__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null)))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Dashboard);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9EYXNoYm9hcmQvRGFzaGJvYXJkLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBMEM7QUFDNUI7QUFDVztBQUNYO0FBQ1E7QUFDSjtBQUNLO0FBQ0E7QUFDSDtBQUVwQixJQUFNUyxTQUFTLEdBQUcsU0FBWkEsU0FBU0EsQ0FBQSxFQUFTO0VBQ3BCLG9CQUNJUCwwREFBQSxDQUFBQSx1REFBQSxxQkFDSUEsMERBQUEsQ0FBQ0QsZ0RBQU8sTUFBRSxDQUFDLGVBQ1hDLDBEQUFBLDJCQUNJQSwwREFBQSxDQUFDRixvREFBUztJQUNOWSxLQUFLLEVBQUMsU0FBUztJQUNmQyxTQUFTLEVBQUMscUNBQXFDO0lBQy9DQyxhQUFhLEVBQUMsTUFBTTtJQUNwQkMsU0FBUyxFQUFDLEtBQUs7SUFDZkMsR0FBRyxFQUFDLElBQUk7SUFDUkMsT0FBTyxFQUFDLE9BQU87SUFDZkMsS0FBSyxFQUFFO01BQ0hDLEtBQUssRUFBRTtJQUNYO0VBQUUsZ0JBRUZqQiwwREFBQSxDQUFDRixvREFBUyxDQUFDb0IsSUFBSTtJQUNYUCxTQUFTLEVBQUMsa0JBQWtCO0lBQzVCUSxTQUFTLEVBQUMsTUFBTTtJQUNoQkMsS0FBSyxFQUFDLE1BQU07SUFDWkMsTUFBTSxFQUFFO0VBQUUsZ0JBRVZyQiwwREFBQSxDQUFDSSx5REFBZ0IsTUFBRSxDQUFDLGVBQ3BCSiwwREFBQSxDQUFDQyxnREFBTyxNQUFFLENBQUMsZUFDWEQsMERBQUEsQ0FBQ0sseURBQWdCLE1BQUUsQ0FDUCxDQUFDLGVBQ2pCTCwwREFBQSxDQUFDRixvREFBUyxDQUFDb0IsSUFBSTtJQUNYUCxTQUFTLEVBQUMseUJBQXlCO0lBQ25DVSxNQUFNLEVBQUU7RUFBRSxnQkFFVnJCLDBEQUFBLENBQUNNLHNEQUFhLE1BQUUsQ0FBQyxlQUNqQk4sMERBQUEsQ0FBQ0Usd0RBQWUsTUFBRSxDQUFDLGVBQ25CRiwwREFBQSxDQUFDRyxvREFBVyxNQUFFLENBQ0YsQ0FDVCxDQUNWLENBQ1AsQ0FBQztBQUVYLENBQUM7QUFFRCxpRUFBZUksU0FBUyIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vc3JjL0NvbXBvbmVudHMvRGFzaGJvYXJkL0Rhc2hib2FyZC5qc3g/ZTk3MCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiQGJzZi9mb3JjZS11aVwiO1xyXG5pbXBvcnQgTmF2TWVudSBmcm9tICdAY29tcG9uZW50cy9OYXZNZW51J1xyXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXHJcbmltcG9ydCBXaWRnZXRzIGZyb20gJy4vV2lkZ2V0cydcclxuaW1wb3J0IFRlbXBsYXRlU2VjdGlvbiBmcm9tICcuL1RlbXBsYXRlU2VjdGlvbidcclxuaW1wb3J0IFF1aWNrQWNjZXNzIGZyb20gJy4vUXVpY2tBY2Nlc3MnXHJcbmltcG9ydCBXZWxjb21lQ29udGFpbmVyIGZyb20gJy4vV2VsY29tZUNvbnRhaW5lcidcclxuaW1wb3J0IFVsdGltYXRlRmVhdHVyZXMgZnJvbSAnLi9VbHRpbWF0ZUZlYXR1cmVzJ1xyXG5pbXBvcnQgRXh0ZW5kV2Vic2l0ZSBmcm9tICcuL0V4dGVuZFdlYnNpdGUnXHJcblxyXG5jb25zdCBEYXNoYm9hcmQgPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICAgIDxOYXZNZW51IC8+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8Q29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ249XCJzdHJldGNoXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwLTYgZmxleC1jb2wgbGc6ZmxleC1yb3cgYm94LWJvcmRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyVHlwZT1cImZsZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwPVwic21cIlxyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnk9XCJzdGFydFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPENvbnRhaW5lci5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInAtMiBoZmUtNjUtd2lkdGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnblNlbGY9XCJhdXRvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2hyaW5rPXswfVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFdlbGNvbWVDb250YWluZXIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFdpZGdldHMgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFVsdGltYXRlRmVhdHVyZXMgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L0NvbnRhaW5lci5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDxDb250YWluZXIuSXRlbSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicC0yIHctZnVsbCBoZmUtMzUtd2lkdGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaHJpbms9ezF9XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RXh0ZW5kV2Vic2l0ZSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VGVtcGxhdGVTZWN0aW9uIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxRdWlja0FjY2VzcyAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC8+XHJcbiAgICApXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IERhc2hib2FyZFxyXG4iXSwibmFtZXMiOlsiQ29udGFpbmVyIiwiTmF2TWVudSIsIlJlYWN0IiwiV2lkZ2V0cyIsIlRlbXBsYXRlU2VjdGlvbiIsIlF1aWNrQWNjZXNzIiwiV2VsY29tZUNvbnRhaW5lciIsIlVsdGltYXRlRmVhdHVyZXMiLCJFeHRlbmRXZWJzaXRlIiwiRGFzaGJvYXJkIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiYWxpZ24iLCJjbGFzc05hbWUiLCJjb250YWluZXJUeXBlIiwiZGlyZWN0aW9uIiwiZ2FwIiwianVzdGlmeSIsInN0eWxlIiwid2lkdGgiLCJJdGVtIiwiYWxpZ25TZWxmIiwib3JkZXIiLCJzaHJpbmsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/Components/Dashboard/Dashboard.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Dashboard/ExtendWebsite.jsx": -/*!****************************************************!*\ - !*** ./src/Components/Dashboard/ExtendWebsite.jsx ***! - \****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"@babel/runtime/regenerator\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _ExtendWebsiteWidget__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ExtendWebsiteWidget */ \"./src/Components/Dashboard/ExtendWebsiteWidget.jsx\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__);\n\n\n\n\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\n\n\n\n\n\n\nvar ExtendWebsite = function ExtendWebsite() {\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)([]),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_useState, 2),\n plugins = _useState2[0],\n setPlugins = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(true),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_useState3, 2),\n loading = _useState4[0],\n setLoading = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(0),\n _useState6 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_useState5, 2),\n updateCounter = _useState6[0],\n setUpdateCounter = _useState6[1];\n var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(false),\n _useState8 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_useState7, 2),\n allInstalled = _useState8[0],\n setAllInstalled = _useState8[1];\n (0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {\n var fetchSettings = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee() {\n var data, pluginsData, areAllInstalled;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n setLoading(true);\n _context.prev = 1;\n _context.next = 4;\n return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_8___default()({\n path: '/hfe/v1/plugins',\n headers: {\n 'Content-Type': 'application/json',\n 'X-WP-Nonce': hfeSettingsData.hfe_nonce_action\n }\n });\n case 4:\n data = _context.sent;\n pluginsData = convertToPluginsArray(data);\n setPlugins(pluginsData);\n\n // Check if all plugins are installed\n areAllInstalled = pluginsData.every(function (plugin) {\n return plugin.is_installed;\n });\n setAllInstalled(areAllInstalled);\n _context.next = 14;\n break;\n case 11:\n _context.prev = 11;\n _context.t0 = _context[\"catch\"](1);\n console.error(\"Error fetching plugins:\", _context.t0);\n case 14:\n _context.prev = 14;\n setLoading(false);\n return _context.finish(14);\n case 17:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[1, 11, 14, 17]]);\n }));\n return function fetchSettings() {\n return _ref.apply(this, arguments);\n };\n }();\n fetchSettings();\n }, [updateCounter]);\n function convertToPluginsArray(data) {\n return Object.keys(data).map(function (key) {\n return _objectSpread({\n path: key\n }, data[key]);\n });\n }\n\n // If all plugins are installed, don't render the component\n if (allInstalled) {\n return null;\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"div\", {\n className: \"rounded-lg bg-white w-full mb-6\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"div\", {\n className: \"flex items-center justify-between p-4\",\n style: {\n paddingBottom: '0'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"p\", {\n className: \"m-0 text-sm font-semibold text-text-primary\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)(\"Extend Your Website\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"div\", {\n className: \"flex items-center gap-x-2 mr-7\"\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"div\", {\n className: \"flex flex-col rounded-lg p-4\",\n style: {\n backgroundColor: \"#F9FAFB\"\n }\n }, loading ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_7__.Container, {\n align: \"stretch\",\n className: \"gap-1 p-1 grid grid-cols-1 md:grid-cols-2\",\n containerType: \"grid\",\n justify: \"start\"\n }, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Array(2)).map(function (_, index) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_7__.Container.Item, {\n key: index,\n alignSelf: \"auto\",\n style: {\n height: '150px'\n },\n className: \"text-wrap rounded-md shadow-container-item bg-background-primary p-4\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"div\", {\n className: \"flex flex-col gap-6\",\n style: {\n marginTop: '40px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_7__.Skeleton, {\n className: \"w-12 h-2 rounded-md\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_7__.Skeleton, {\n className: \"w-16 h-2 rounded-md\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_7__.Skeleton, {\n className: \"w-12 h-2 rounded-md\"\n })));\n })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_7__.Container, {\n align: \"stretch\",\n className: \"gap-1 p-1 grid grid-cols-1 md:grid-cols-2\",\n containerType: \"grid\",\n justify: \"start\"\n }, plugins.slice(0, 4).map(function (plugin) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_7__.Container.Item, {\n key: plugin.slug,\n alignSelf: \"auto\",\n className: \"text-wrap rounded-md shadow-container-item bg-background-primary p-4\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ExtendWebsiteWidget__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n plugin: plugin,\n setUpdateCounter: setUpdateCounter\n }));\n }))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ExtendWebsite);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9EYXNoYm9hcmQvRXh0ZW5kV2Vic2l0ZS5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBa0Q7QUFDeEI7QUFDMEI7QUFDUjtBQUNQO0FBRXJDLElBQU1RLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBQSxFQUFTO0VBRXhCLElBQUFDLFNBQUEsR0FBOEJSLCtDQUFRLENBQUMsRUFBRSxDQUFDO0lBQUFTLFVBQUEsR0FBQUMsZ0ZBQUEsQ0FBQUYsU0FBQTtJQUFuQ0csT0FBTyxHQUFBRixVQUFBO0lBQUVHLFVBQVUsR0FBQUgsVUFBQTtFQUMxQixJQUFBSSxVQUFBLEdBQThCYiwrQ0FBUSxDQUFDLElBQUksQ0FBQztJQUFBYyxVQUFBLEdBQUFKLGdGQUFBLENBQUFHLFVBQUE7SUFBckNFLE9BQU8sR0FBQUQsVUFBQTtJQUFFRSxVQUFVLEdBQUFGLFVBQUE7RUFDMUIsSUFBQUcsVUFBQSxHQUEwQ2pCLCtDQUFRLENBQUMsQ0FBQyxDQUFDO0lBQUFrQixVQUFBLEdBQUFSLGdGQUFBLENBQUFPLFVBQUE7SUFBOUNFLGFBQWEsR0FBQUQsVUFBQTtJQUFFRSxnQkFBZ0IsR0FBQUYsVUFBQTtFQUN0QyxJQUFBRyxVQUFBLEdBQXdDckIsK0NBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXNCLFVBQUEsR0FBQVosZ0ZBQUEsQ0FBQVcsVUFBQTtJQUFoREUsWUFBWSxHQUFBRCxVQUFBO0lBQUVFLGVBQWUsR0FBQUYsVUFBQTtFQUVwQ3JCLGdEQUFTLENBQUMsWUFBTTtJQUNaLElBQU13QixhQUFhO01BQUEsSUFBQUMsSUFBQSxHQUFBQyxtRkFBQSxjQUFBQyxzRUFBQSxDQUFHLFNBQUFFLFFBQUE7UUFBQSxJQUFBQyxJQUFBLEVBQUFDLFdBQUEsRUFBQUMsZUFBQTtRQUFBLE9BQUFMLHNFQUFBLFVBQUFPLFNBQUFDLFFBQUE7VUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtZ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QUFFO01BQVEsQ0FBRTtNQUMzQmIsU0FBUyxFQUFDO0lBQXNFLGdCQUVoRjlELDBEQUFBO01BQUs4RCxTQUFTLEVBQUMscUJBQXFCO01BQUNDLEtBQUssRUFBRTtRQUFFYSxTQUFTLEVBQUU7TUFBTztJQUFFLGdCQUM5RDVFLDBEQUFBLENBQUNLLG1EQUFRO01BQUN5RCxTQUFTLEVBQUM7SUFBcUIsQ0FBRSxDQUFDLGVBQzVDOUQsMERBQUEsQ0FBQ0ssbURBQVE7TUFBQ3lELFNBQVMsRUFBQztJQUFxQixDQUFFLENBQUMsZUFDNUM5RCwwREFBQSxDQUFDSyxtREFBUTtNQUFDeUQsU0FBUyxFQUFDO0lBQXFCLENBQUUsQ0FDMUMsQ0FDTyxDQUFDO0VBQUEsQ0FDcEIsQ0FDTSxDQUFDLGdCQUVaOUQsMERBQUEsQ0FBQ0ksb0RBQVM7SUFDTjhELEtBQUssRUFBQyxTQUFTO0lBQ2ZKLFNBQVMsRUFBQywyQ0FBMkM7SUFDckRLLGFBQWEsRUFBQyxNQUFNO0lBQ3BCQyxPQUFPLEVBQUM7RUFBTyxHQUVkeEQsT0FBTyxDQUFDaUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQ25CLEdBQUcsQ0FBQyxVQUFDWCxNQUFNO0lBQUEsb0JBQzVCL0MsMERBQUEsQ0FBQ0ksb0RBQVMsQ0FBQ3FFLElBQUk7TUFDWGQsR0FBRyxFQUFFWixNQUFNLENBQUMrQixJQUFLO01BQ2pCSixTQUFTLEVBQUMsTUFBTTtNQUNoQlosU0FBUyxFQUFDO0lBQXNFLGdCQUVoRjlELDBEQUFBLENBQUNHLDREQUFtQjtNQUFDNEMsTUFBTSxFQUFFQSxNQUFPO01BQUMxQixnQkFBZ0IsRUFBRUE7SUFBaUIsQ0FBRSxDQUM5RCxDQUFDO0VBQUEsQ0FDcEIsQ0FDTSxDQUVkLENBQ0osQ0FBQztBQUVkLENBQUM7QUFFRCxpRUFBZWIsYUFBYSIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vc3JjL0NvbXBvbmVudHMvRGFzaGJvYXJkL0V4dGVuZFdlYnNpdGUuanN4PzVkMWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcclxuaW1wb3J0IEV4dGVuZFdlYnNpdGVXaWRnZXQgZnJvbSAnLi9FeHRlbmRXZWJzaXRlV2lkZ2V0JztcclxuaW1wb3J0IHsgQ29udGFpbmVyLCBTa2VsZXRvbiB9IGZyb20gXCJAYnNmL2ZvcmNlLXVpXCI7XHJcbmltcG9ydCBhcGlGZXRjaCBmcm9tICdAd29yZHByZXNzL2FwaS1mZXRjaCc7XHJcbmltcG9ydCB7IF9fIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcclxuXHJcbmNvbnN0IEV4dGVuZFdlYnNpdGUgPSAoKSA9PiB7XHJcblxyXG4gICAgY29uc3QgW3BsdWdpbnMsIHNldFBsdWdpbnNdID0gdXNlU3RhdGUoW10pO1xyXG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XHJcbiAgICBjb25zdCBbdXBkYXRlQ291bnRlciwgc2V0VXBkYXRlQ291bnRlcl0gPSB1c2VTdGF0ZSgwKTtcclxuICAgIGNvbnN0IFthbGxJbnN0YWxsZWQsIHNldEFsbEluc3RhbGxlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcblxyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBmZXRjaFNldHRpbmdzID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgICBzZXRMb2FkaW5nKHRydWUpO1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGFwaUZldGNoKHtcclxuICAgICAgICAgICAgICAgICAgICBwYXRoOiAnL2hmZS92MS9wbHVnaW5zJyxcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdYLVdQLU5vbmNlJzogaGZlU2V0dGluZ3NEYXRhLmhmZV9ub25jZV9hY3Rpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGx1Z2luc0RhdGEgPSBjb252ZXJ0VG9QbHVnaW5zQXJyYXkoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICBzZXRQbHVnaW5zKHBsdWdpbnNEYXRhKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiBhbGwgcGx1Z2lucyBhcmUgaW5zdGFsbGVkXHJcbiAgICAgICAgICAgICAgICBjb25zdCBhcmVBbGxJbnN0YWxsZWQgPSBwbHVnaW5zRGF0YS5ldmVyeShwbHVnaW4gPT4gcGx1Z2luLmlzX2luc3RhbGxlZCk7XHJcbiAgICAgICAgICAgICAgICBzZXRBbGxJbnN0YWxsZWQoYXJlQWxsSW5zdGFsbGVkKTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgZmV0Y2hpbmcgcGx1Z2luczpcIiwgZXJyKTtcclxuICAgICAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgZmV0Y2hTZXR0aW5ncygpO1xyXG4gICAgfSwgW3VwZGF0ZUNvdW50ZXJdKTtcclxuXHJcbiAgICBmdW5jdGlvbiBjb252ZXJ0VG9QbHVnaW5zQXJyYXkoZGF0YSkge1xyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhkYXRhKS5tYXAoKGtleSkgPT4gKHtcclxuICAgICAgICAgICAgcGF0aDoga2V5LFxyXG4gICAgICAgICAgICAuLi5kYXRhW2tleV0sXHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIGFsbCBwbHVnaW5zIGFyZSBpbnN0YWxsZWQsIGRvbid0IHJlbmRlciB0aGUgY29tcG9uZW50XHJcbiAgICBpZiAoYWxsSW5zdGFsbGVkKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdW5kZWQtbGcgYmctd2hpdGUgdy1mdWxsIG1iLTZcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcC00XCIgc3R5bGU9e3sgcGFkZGluZ0JvdHRvbTogJzAnIH19PlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibS0wIHRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LXRleHQtcHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHtfXyhcIkV4dGVuZCBZb3VyIFdlYnNpdGVcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtMiBtci03XCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgcm91bmRlZC1sZyBwLTRcIiBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IFwiI0Y5RkFGQlwiIH19PlxyXG4gICAgICAgICAgICAgICAge2xvYWRpbmcgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgPENvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbj1cInN0cmV0Y2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJnYXAtMSBwLTEgZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclR5cGU9XCJncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeT1cInN0YXJ0XCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtbLi4uQXJyYXkoMildLm1hcCgoXywgaW5kZXgpID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDb250YWluZXIuSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25TZWxmPVwiYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgaGVpZ2h0OiAnMTUwcHgnIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC13cmFwIHJvdW5kZWQtbWQgc2hhZG93LWNvbnRhaW5lci1pdGVtIGJnLWJhY2tncm91bmQtcHJpbWFyeSBwLTRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBnYXAtNlwiIHN0eWxlPXt7IG1hcmdpblRvcDogJzQwcHgnIH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2tlbGV0b24gY2xhc3NOYW1lPVwidy0xMiBoLTIgcm91bmRlZC1tZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTa2VsZXRvbiBjbGFzc05hbWU9XCJ3LTE2IGgtMiByb3VuZGVkLW1kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNrZWxldG9uIGNsYXNzTmFtZT1cInctMTIgaC0yIHJvdW5kZWQtbWRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Db250YWluZXIuSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgIDxDb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ249XCJzdHJldGNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ2FwLTEgcC0xIGdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJUeXBlPVwiZ3JpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnk9XCJzdGFydFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7cGx1Z2lucy5zbGljZSgwLCA0KS5tYXAoKHBsdWdpbikgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENvbnRhaW5lci5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtwbHVnaW4uc2x1Z31cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnblNlbGY9XCJhdXRvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXdyYXAgcm91bmRlZC1tZCBzaGFkb3ctY29udGFpbmVyLWl0ZW0gYmctYmFja2dyb3VuZC1wcmltYXJ5IHAtNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEV4dGVuZFdlYnNpdGVXaWRnZXQgcGx1Z2luPXtwbHVnaW59IHNldFVwZGF0ZUNvdW50ZXI9e3NldFVwZGF0ZUNvdW50ZXJ9IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NvbnRhaW5lci5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgKVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBFeHRlbmRXZWJzaXRlO1xyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIkV4dGVuZFdlYnNpdGVXaWRnZXQiLCJDb250YWluZXIiLCJTa2VsZXRvbiIsImFwaUZldGNoIiwiX18iLCJFeHRlbmRXZWJzaXRlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwicGx1Z2lucyIsInNldFBsdWdpbnMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJ1cGRhdGVDb3VudGVyIiwic2V0VXBkYXRlQ291bnRlciIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiYWxsSW5zdGFsbGVkIiwic2V0QWxsSW5zdGFsbGVkIiwiZmV0Y2hTZXR0aW5ncyIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImRhdGEiLCJwbHVnaW5zRGF0YSIsImFyZUFsbEluc3RhbGxlZCIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJwYXRoIiwiaGVhZGVycyIsImhmZVNldHRpbmdzRGF0YSIsImhmZV9ub25jZV9hY3Rpb24iLCJzZW50IiwiY29udmVydFRvUGx1Z2luc0FycmF5IiwiZXZlcnkiLCJwbHVnaW4iLCJpc19pbnN0YWxsZWQiLCJ0MCIsImNvbnNvbGUiLCJlcnJvciIsImZpbmlzaCIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsIk9iamVjdCIsImtleXMiLCJtYXAiLCJrZXkiLCJfb2JqZWN0U3ByZWFkIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInN0eWxlIiwicGFkZGluZ0JvdHRvbSIsImJhY2tncm91bmRDb2xvciIsImFsaWduIiwiY29udGFpbmVyVHlwZSIsImp1c3RpZnkiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJBcnJheSIsIl8iLCJpbmRleCIsIkl0ZW0iLCJhbGlnblNlbGYiLCJoZWlnaHQiLCJtYXJnaW5Ub3AiLCJzbGljZSIsInNsdWciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/Components/Dashboard/ExtendWebsite.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Dashboard/ExtendWebsiteWidget.jsx": -/*!**********************************************************!*\ - !*** ./src/Components/Dashboard/ExtendWebsiteWidget.jsx ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\nvar ExtendWebsiteWidget = function ExtendWebsiteWidget(_ref) {\n var plugin = _ref.plugin,\n setUpdateCounter = _ref.setUpdateCounter;\n var path = plugin.path,\n slug = plugin.slug,\n siteUrl = plugin.siteUrl,\n icon = plugin.icon,\n type = plugin.type,\n name = plugin.name,\n zipUrl = plugin.zipUrl,\n desc = plugin.desc,\n wporg = plugin.wporg,\n isFree = plugin.isFree,\n action = plugin.action,\n status = plugin.status,\n settings_url = plugin.settings_url;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState, 2),\n isDialogOpen = _useState2[0],\n setIsDialogOpen = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState3, 2),\n pluginData = _useState4[0],\n setPluginData = _useState4[1];\n var getAction = function getAction(status) {\n if (status === 'Activated') {\n return 'site_redirect';\n } else if (status === 'Installed') {\n return 'hfe_recommended_plugin_activate';\n }\n return 'hfe_recommended_plugin_install';\n };\n var handlePluginAction = function handlePluginAction(e) {\n var action = e.currentTarget.dataset.action;\n var formData = new window.FormData();\n var currentPluginData = {\n init: e.currentTarget.dataset.init,\n type: e.currentTarget.dataset.type,\n slug: e.currentTarget.dataset.slug,\n name: e.currentTarget.dataset.pluginname\n };\n switch (action) {\n case 'hfe_recommended_plugin_activate':\n // Confirmation only for theme activation\n if (currentPluginData.type === 'theme') {\n // Show dialog for confirmation\n setPluginData(currentPluginData);\n setIsDialogOpen(true);\n } else {\n // Directly activate for non-theme plugins\n activatePlugin(currentPluginData);\n }\n break;\n case 'hfe_recommended_plugin_install':\n // Installation process without any confirmation\n formData.append('action', currentPluginData.type === 'theme' ? 'hfe_recommended_theme_install' : 'hfe_recommended_plugin_install');\n formData.append('_ajax_nonce', hfe_admin_data.installer_nonce);\n formData.append('slug', currentPluginData.slug);\n e.target.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Installing..', 'header-footer-elementor');\n _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default()({\n url: hfe_admin_data.ajax_url,\n method: 'POST',\n body: formData\n }).then(function (data) {\n if (data.success || data.errorCode === 'folder_exists') {\n e.target.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Installed', 'header-footer-elementor');\n callAnalyticsWebhook(currentPluginData);\n if (currentPluginData.type === 'theme') {\n // Change button state to \"Activate\" after successful installation\n var buttonElement = document.querySelector(\"[data-slug=\\\"\".concat(currentPluginData.slug, \"\\\"]\"));\n buttonElement.dataset.action = 'hfe_recommended_plugin_activate';\n e.target.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Activate', 'header-footer-elementor');\n } else {\n activatePlugin(currentPluginData);\n }\n } else {\n e.target.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Install', 'header-footer-elementor');\n alert(currentPluginData.type === 'theme' ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Theme Installation failed, Please try again later.', 'header-footer-elementor') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Plugin Installation failed, Please try again later.', 'header-footer-elementor'));\n }\n });\n break;\n case 'site_redirect':\n window.open(siteUrl, '_blank'); // Open siteUrl in a new tab\n break;\n default:\n // Do nothing.\n break;\n }\n };\n var callAnalyticsWebhook = function callAnalyticsWebhook(pluginData) {\n var webhookUrl = 'https://webhook.suretriggers.com/suretriggers/a7ac4b20-18f9-4ec6-9813-dfac83328d00';\n var today = new Date().toISOString().split('T')[0];\n var params = new URLSearchParams({\n source: 'UAE Lite',\n target_plugin: pluginData.name,\n date: today // Add today's date\n });\n fetch(\"\".concat(webhookUrl, \"?\").concat(params.toString()), {\n method: 'GET'\n }).then(function (response) {\n return response.json();\n }).then(function (data) {\n // console.log('Webhook call successful:', data);\n })[\"catch\"](function (error) {\n // console.error('Error calling webhook:', error);\n });\n };\n var activatePlugin = function activatePlugin(pluginData) {\n setIsDialogOpen(false);\n var formData = new window.FormData();\n formData.append('action', 'hfe_recommended_plugin_activate');\n formData.append('nonce', hfe_admin_data.nonce);\n formData.append('plugin', pluginData.init);\n formData.append('type', pluginData.type);\n formData.append('slug', pluginData.slug);\n var buttonElement = document.querySelector(\"[data-slug=\\\"\".concat(pluginData.slug, \"\\\"]\"));\n var spanElement = buttonElement.querySelector('span');\n spanElement.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Activating..', 'header-footer-elementor');\n _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default()({\n url: hfe_admin_data.ajax_url,\n method: 'POST',\n body: formData\n }).then(function (data) {\n if (data.success) {\n if (spanElement) {\n // Check if spanElement is not null\n buttonElement.style.color = '#16A34A';\n buttonElement.dataset.action = 'site_redirect';\n buttonElement.classList.add('hfe-plugin-activated');\n spanElement.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Activated', 'header-footer-elementor');\n window.open(settings_url, '_blank');\n setTimeout(function () {\n // Reload the section or recall the REST API\n setUpdateCounter(function (prev) {\n return prev + 1;\n });\n }, 5000);\n }\n } else {\n if ('theme' == pluginData.type) {\n // console.log(__(`Theme Activation failed, Please try again later.`, 'header-footer-elementor'));\n } else {\n // console.log(__(`Plugin Activation failed, Please try again later.`, 'header-footer-elementor'));\n }\n var _buttonElement = document.querySelector(\"[data-slug=\\\"\".concat(pluginData.slug, \"\\\"]\"));\n if (_buttonElement) {\n // Check if buttonElement is not null\n var _spanElement = _buttonElement.querySelector('span');\n if (_spanElement) {\n // Check if spanElement is not null\n _spanElement.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Activate', 'header-footer-elementor');\n }\n }\n }\n });\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Container, {\n align: \"center\",\n containerType: \"flex\",\n direction: \"column\",\n justify: \"between\",\n gap: \"lg\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex items-center justify-between w-full\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"h-5 w-5\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"img\", {\n src: icon,\n alt: \"Recommended Plugins/Themes\",\n className: \"w-full h-auto rounded\",\n style: {\n width: \"24px\",\n height: \"24px\"\n }\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex items-center gap-x-2\"\n }, isFree && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Badge, {\n label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Free\", \"header-footer-elementor\"),\n size: \"xs\",\n type: \"pill\",\n variant: \"green\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {\n size: \"xs\",\n variant: \"link\",\n className: \"cursor-pointer hfe-remove-ring\",\n onClick: handlePluginAction // Trigger action on click\n ,\n \"data-plugin\": zipUrl,\n \"data-type\": type,\n \"data-pluginname\": name,\n \"data-slug\": slug,\n \"data-site\": siteUrl,\n \"data-init\": path,\n \"data-action\": getAction(status),\n style: {\n color: status === 'Activated' ? '#16A34A' : '#6005FF'\n }\n }, status === 'Activated' ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Visit Site', 'header-footer-elementor') : 'Installed' === status ? 'Activate' : status), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog, {\n design: \"simple\",\n open: isDialogOpen,\n setOpen: setIsDialogOpen\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog.Backdrop, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog.Panel, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog.Header, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex items-center justify-between\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog.Title, null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Activate Theme', 'header-footer-elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog.Description, null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Are you sure you want to switch your current theme to Astra?', 'header-footer-elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog.Footer, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: function onClick() {\n return activatePlugin(pluginData);\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Yes', 'header-footer-elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"outline\",\n onClick: function onClick() {\n return setIsDialogOpen(false);\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Close', 'header-footer-elementor'))))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex flex-col w-full pb-4\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"p\", {\n className: \"text-sm font-medium text-text-primary pb-1 m-0 cursor-pointer\",\n onClick: function onClick() {\n return window.open(plugin.siteurl, '_blank');\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(name, 'header-footer-elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"p\", {\n className: \"text-sm font-medium text-text-tertiary m-0\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(desc, 'header-footer-elementor'))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ExtendWebsiteWidget);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9EYXNoYm9hcmQvRXh0ZW5kV2Vic2l0ZVdpZGdldC5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBd0M7QUFDeUI7QUFDckI7QUFDUDtBQUVyQyxJQUFNUSxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFBQyxJQUFBLEVBR25CO0VBQUEsSUFGRkMsTUFBTSxHQUFBRCxJQUFBLENBQU5DLE1BQU07SUFDTkMsZ0JBQWdCLEdBQUFGLElBQUEsQ0FBaEJFLGdCQUFnQjtFQUVoQixJQUNJQyxJQUFJLEdBYUpGLE1BQU0sQ0FiTkUsSUFBSTtJQUNKQyxJQUFJLEdBWUpILE1BQU0sQ0FaTkcsSUFBSTtJQUNKQyxPQUFPLEdBV1BKLE1BQU0sQ0FYTkksT0FBTztJQUNQQyxJQUFJLEdBVUpMLE1BQU0sQ0FWTkssSUFBSTtJQUNKQyxJQUFJLEdBU0pOLE1BQU0sQ0FUTk0sSUFBSTtJQUNKQyxJQUFJLEdBUUpQLE1BQU0sQ0FSTk8sSUFBSTtJQUNKQyxNQUFNLEdBT05SLE1BQU0sQ0FQTlEsTUFBTTtJQUNOQyxJQUFJLEdBTUpULE1BQU0sQ0FOTlMsSUFBSTtJQUNKQyxLQUFLLEdBS0xWLE1BQU0sQ0FMTlUsS0FBSztJQUNMQyxNQUFNLEdBSU5YLE1BQU0sQ0FKTlcsTUFBTTtJQUNOQyxNQUFNLEdBR05aLE1BQU0sQ0FITlksTUFBTTtJQUNOQyxNQUFNLEdBRU5iLE1BQU0sQ0FGTmEsTUFBTTtJQUNOQyxZQUFZLEdBQ1pkLE1BQU0sQ0FETmMsWUFBWTtFQUVoQixJQUFBQyxTQUFBLEdBQXdDeEIsK0NBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXlCLFVBQUEsR0FBQUMsZ0ZBQUEsQ0FBQUYsU0FBQTtJQUFoREcsWUFBWSxHQUFBRixVQUFBO0lBQUVHLGVBQWUsR0FBQUgsVUFBQTtFQUNwQyxJQUFBSSxVQUFBLEdBQW9DN0IsK0NBQVEsQ0FBQyxJQUFJLENBQUM7SUFBQThCLFVBQUEsR0FBQUosZ0ZBQUEsQ0FBQUcsVUFBQTtJQUEz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QUFLK0YsU0FBUyxFQUFDO0VBQTJCLGdCQUN0Qy9GLDBEQUFBO0lBQ0krRixTQUFTLEVBQUMsK0RBQStEO0lBQ3pFUSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtNQUFBLE9BQVEvRCxNQUFNLENBQUN5QixJQUFJLENBQUN2RCxNQUFNLENBQUNzRyxPQUFPLEVBQUUsUUFBUSxDQUFDO0lBQUE7RUFBQyxHQUN2RHpHLG1EQUFFLENBQUNVLElBQUksRUFBRSx5QkFBeUIsQ0FBSyxDQUFDLGVBQzFDakIsMERBQUE7SUFBRytGLFNBQVMsRUFBQztFQUE0QyxHQUFFeEYsbURBQUUsQ0FBQ1ksSUFBSSxFQUFFLHlCQUF5QixDQUFLLENBQ2pHLENBQ0UsQ0FBQztBQUVwQixDQUFDO0FBRUQsaUVBQWVYLG1CQUFtQiIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vc3JjL0NvbXBvbmVudHMvRGFzaGJvYXJkL0V4dGVuZFdlYnNpdGVXaWRnZXQuanN4PzkwNjAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDb250YWluZXIsIEJ1dHRvbiwgQmFkZ2UsIERpYWxvZyB9IGZyb20gXCJAYnNmL2ZvcmNlLXVpXCI7XHJcbmltcG9ydCBhcGlGZXRjaCBmcm9tICdAd29yZHByZXNzL2FwaS1mZXRjaCc7XHJcbmltcG9ydCB7IF9fIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcclxuXHJcbmNvbnN0IEV4dGVuZFdlYnNpdGVXaWRnZXQgPSAoe1xyXG4gICAgcGx1Z2luLFxyXG4gICAgc2V0VXBkYXRlQ291bnRlciAvLyBSZWNlaXZlIHNldFVwZGF0ZUNvdW50ZXIgYXMgYSBwcm9wXHJcbn0pID0+IHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgICBwYXRoLFxyXG4gICAgICAgIHNsdWcsXHJcbiAgICAgICAgc2l0ZVVybCxcclxuICAgICAgICBpY29uLFxyXG4gICAgICAgIHR5cGUsXHJcbiAgICAgICAgbmFtZSxcclxuICAgICAgICB6aXBVcmwsXHJcbiAgICAgICAgZGVzYyxcclxuICAgICAgICB3cG9yZyxcclxuICAgICAgICBpc0ZyZWUsXHJcbiAgICAgICAgYWN0aW9uLFxyXG4gICAgICAgIHN0YXR1cyxcclxuICAgICAgICBzZXR0aW5nc191cmxcclxuICAgIH0gPSBwbHVnaW5cclxuICAgIGNvbnN0IFtpc0RpYWxvZ09wZW4sIHNldElzRGlhbG9nT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBbcGx1Z2luRGF0YSwgc2V0UGx1Z2luRGF0YV0gPSB1c2VTdGF0ZShudWxsKTtcclxuXHJcbiAgICBjb25zdCBnZXRBY3Rpb24gPSAoc3RhdHVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gJ0FjdGl2YXRlZCcpIHtcclxuICAgICAgICAgICAgcmV0dXJuICdzaXRlX3JlZGlyZWN0JztcclxuICAgICAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gJ0luc3RhbGxlZCcpIHtcclxuICAgICAgICAgICAgcmV0dXJuICdoZmVfcmVjb21tZW5kZWRfcGx1Z2luX2FjdGl2YXRlJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICdoZmVfcmVjb21tZW5kZWRfcGx1Z2luX2luc3RhbGwnO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBoYW5kbGVQbHVnaW5BY3Rpb24gPSAoZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IGUuY3VycmVudFRhcmdldC5kYXRhc2V0LmFjdGlvbjtcclxuICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyB3aW5kb3cuRm9ybURhdGEoKTtcclxuICAgICAgICBjb25zdCBjdXJyZW50UGx1Z2luRGF0YSA9IHtcclxuICAgICAgICAgICAgaW5pdDogZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaW5pdCxcclxuICAgICAgICAgICAgdHlwZTogZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQudHlwZSxcclxuICAgICAgICAgICAgc2x1ZzogZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuc2x1ZyxcclxuICAgICAgICAgICAgbmFtZTogZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQucGx1Z2lubmFtZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBzd2l0Y2ggKGFjdGlvbikge1xyXG4gICAgICAgICAgICBjYXNlICdoZmVfcmVjb21tZW5kZWRfcGx1Z2luX2FjdGl2YXRlJzpcclxuICAgICAgICAgICAgICAgIC8vIENvbmZpcm1hdGlvbiBvbmx5IGZvciB0aGVtZSBhY3RpdmF0aW9uXHJcbiAgICAgICAgICAgICAgICBpZiAoY3VycmVudFBsdWdpbkRhdGEudHlwZSA9PT0gJ3RoZW1lJykge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFNob3cgZGlhbG9nIGZvciBjb25maXJtYXRpb25cclxuICAgICAgICAgICAgICAgICAgICBzZXRQbHVnaW5EYXRhKGN1cnJlbnRQbHVnaW5EYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICBzZXRJc0RpYWxvZ09wZW4odHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERpcmVjdGx5IGFjdGl2YXRlIGZvciBub24tdGhlbWUgcGx1Z2luc1xyXG4gICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlUGx1Z2luKGN1cnJlbnRQbHVnaW5EYXRhKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSAnaGZlX3JlY29tbWVuZGVkX3BsdWdpbl9pbnN0YWxsJzpcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBJbnN0YWxsYXRpb24gcHJvY2VzcyB3aXRob3V0IGFueSBjb25maXJtYXRpb25cclxuICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChcclxuICAgICAgICAgICAgICAgICAgICAnYWN0aW9uJyxcclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50UGx1Z2luRGF0YS50eXBlID09PSAndGhlbWUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ2hmZV9yZWNvbW1lbmRlZF90aGVtZV9pbnN0YWxsJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICdoZmVfcmVjb21tZW5kZWRfcGx1Z2luX2luc3RhbGwnXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdfYWpheF9ub25jZScsIGhmZV9hZG1pbl9kYXRhLmluc3RhbGxlcl9ub25jZSk7XHJcbiAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ3NsdWcnLCBjdXJyZW50UGx1Z2luRGF0YS5zbHVnKTtcclxuXHJcbiAgICAgICAgICAgICAgICBlLnRhcmdldC5pbm5lclRleHQgPSBfXygnSW5zdGFsbGluZy4uJywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgYXBpRmV0Y2goe1xyXG4gICAgICAgICAgICAgICAgICAgIHVybDogaGZlX2FkbWluX2RhdGEuYWpheF91cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgICAgICAgICAgICAgYm9keTogZm9ybURhdGEsXHJcbiAgICAgICAgICAgICAgICB9KS50aGVuKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuc3VjY2VzcyB8fCBkYXRhLmVycm9yQ29kZSA9PT0gJ2ZvbGRlcl9leGlzdHMnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LmlubmVyVGV4dCA9IF9fKCdJbnN0YWxsZWQnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbEFuYWx5dGljc1dlYmhvb2soY3VycmVudFBsdWdpbkRhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiggY3VycmVudFBsdWdpbkRhdGEudHlwZSA9PT0gJ3RoZW1lJyApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENoYW5nZSBidXR0b24gc3RhdGUgdG8gXCJBY3RpdmF0ZVwiIGFmdGVyIHN1Y2Nlc3NmdWwgaW5zdGFsbGF0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBidXR0b25FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEtc2x1Zz1cIiR7Y3VycmVudFBsdWdpbkRhdGEuc2x1Z31cIl1gKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbkVsZW1lbnQuZGF0YXNldC5hY3Rpb24gPSAnaGZlX3JlY29tbWVuZGVkX3BsdWdpbl9hY3RpdmF0ZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnRhcmdldC5pbm5lclRleHQgPSBfXygnQWN0aXZhdGUnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlUGx1Z2luKGN1cnJlbnRQbHVnaW5EYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LmlubmVyVGV4dCA9IF9fKCdJbnN0YWxsJywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsZXJ0KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFBsdWdpbkRhdGEudHlwZSA9PT0gJ3RoZW1lJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX18oJ1RoZW1lIEluc3RhbGxhdGlvbiBmYWlsZWQsIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fKCdQbHVnaW4gSW5zdGFsbGF0aW9uIGZhaWxlZCwgUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4nLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlICdzaXRlX3JlZGlyZWN0JzpcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKHNpdGVVcmwsICdfYmxhbmsnKTsgLy8gT3BlbiBzaXRlVXJsIGluIGEgbmV3IHRhYlxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgLy8gRG8gbm90aGluZy5cclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY2FsbEFuYWx5dGljc1dlYmhvb2sgPSAocGx1Z2luRGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHdlYmhvb2tVcmwgPSAnaHR0cHM6Ly93ZWJob29rLnN1cmV0cmlnZ2Vycy5jb20vc3VyZXRyaWdnZXJzL2E3YWM0YjIwLTE4ZjktNGVjNi05ODEzLWRmYWM4MzMyOGQwMCc7XHJcbiAgICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTtcclxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcclxuICAgICAgICAgICAgc291cmNlOiAnVUFFIExpdGUnLFxyXG4gICAgICAgICAgICB0YXJnZXRfcGx1Z2luOiBwbHVnaW5EYXRhLm5hbWUsXHJcbiAgICAgICAgICAgIGRhdGU6IHRvZGF5LCAvLyBBZGQgdG9kYXkncyBkYXRlXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGZldGNoKGAke3dlYmhvb2tVcmx9PyR7cGFyYW1zLnRvU3RyaW5nKCl9YCwge1xyXG4gICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKVxyXG4gICAgICAgIC50aGVuKGRhdGEgPT4ge1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnV2ViaG9vayBjYWxsIHN1Y2Nlc3NmdWw6JywgZGF0YSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvciBjYWxsaW5nIHdlYmhvb2s6JywgZXJyb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGFjdGl2YXRlUGx1Z2luID0gKHBsdWdpbkRhdGEpID0+IHtcclxuICAgICAgICBzZXRJc0RpYWxvZ09wZW4oZmFsc2UpO1xyXG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IHdpbmRvdy5Gb3JtRGF0YSgpO1xyXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnYWN0aW9uJywgJ2hmZV9yZWNvbW1lbmRlZF9wbHVnaW5fYWN0aXZhdGUnKTtcclxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ25vbmNlJywgaGZlX2FkbWluX2RhdGEubm9uY2UpO1xyXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgncGx1Z2luJywgcGx1Z2luRGF0YS5pbml0KTtcclxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ3R5cGUnLCBwbHVnaW5EYXRhLnR5cGUpO1xyXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnc2x1ZycsIHBsdWdpbkRhdGEuc2x1Zyk7XHJcblxyXG4gICAgICAgIGNvbnN0IGJ1dHRvbkVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1zbHVnPVwiJHtwbHVnaW5EYXRhLnNsdWd9XCJdYCk7XHJcbiAgICAgICAgY29uc3Qgc3BhbkVsZW1lbnQgPSBidXR0b25FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4nKTtcclxuXHJcbiAgICAgICAgc3BhbkVsZW1lbnQuaW5uZXJUZXh0ID0gX18oJ0FjdGl2YXRpbmcuLicsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpO1xyXG5cclxuICAgICAgICBhcGlGZXRjaCh7XHJcbiAgICAgICAgICAgIHVybDogaGZlX2FkbWluX2RhdGEuYWpheF91cmwsXHJcbiAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAgICAgICBib2R5OiBmb3JtRGF0YSxcclxuICAgICAgICB9KS50aGVuKChkYXRhKSA9PiB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmIChkYXRhLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgIGlmIChzcGFuRWxlbWVudCkgeyAvLyBDaGVjayBpZiBzcGFuRWxlbWVudCBpcyBub3QgbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbkVsZW1lbnQuc3R5bGUuY29sb3IgPSAnIzE2QTM0QSc7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uRWxlbWVudC5kYXRhc2V0LmFjdGlvbiA9ICdzaXRlX3JlZGlyZWN0JztcclxuICAgICAgICAgICAgICAgICAgICBidXR0b25FbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2hmZS1wbHVnaW4tYWN0aXZhdGVkJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbkVsZW1lbnQuaW5uZXJUZXh0ID0gX18oJ0FjdGl2YXRlZCcsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKHNldHRpbmdzX3VybCwgJ19ibGFuaycpO1xyXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWxvYWQgdGhlIHNlY3Rpb24gb3IgcmVjYWxsIHRoZSBSRVNUIEFQSVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRVcGRhdGVDb3VudGVyKHByZXYgPT4gcHJldiArIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIDUwMDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKCd0aGVtZScgPT0gcGx1Z2luRGF0YS50eXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coX18oYFRoZW1lIEFjdGl2YXRpb24gZmFpbGVkLCBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLmAsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coX18oYFBsdWdpbiBBY3RpdmF0aW9uIGZhaWxlZCwgUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci5gLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCBidXR0b25FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEtc2x1Zz1cIiR7cGx1Z2luRGF0YS5zbHVnfVwiXWApO1xyXG4gICAgICAgICAgICAgICAgaWYgKGJ1dHRvbkVsZW1lbnQpIHsgLy8gQ2hlY2sgaWYgYnV0dG9uRWxlbWVudCBpcyBub3QgbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwYW5FbGVtZW50ID0gYnV0dG9uRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNwYW5FbGVtZW50KSB7IC8vIENoZWNrIGlmIHNwYW5FbGVtZW50IGlzIG5vdCBudWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW5FbGVtZW50LmlubmVyVGV4dCA9IF9fKCdBY3RpdmF0ZScsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxDb250YWluZXIgYWxpZ249XCJjZW50ZXJcIlxyXG4gICAgICAgICAgICBjb250YWluZXJUeXBlPVwiZmxleFwiXHJcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cImNvbHVtblwiXHJcbiAgICAgICAgICAgIGp1c3RpZnk9XCJiZXR3ZWVuXCJcclxuICAgICAgICAgICAgZ2FwPVwibGdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2ZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiB3LWZ1bGwnPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2gtNSB3LTUnPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtpY29ufVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJSZWNvbW1lbmRlZCBQbHVnaW5zL1RoZW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCBoLWF1dG8gcm91bmRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBcIjI0cHhcIiwgaGVpZ2h0OiBcIjI0cHhcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtMic+XHJcbiAgICAgICAgICAgICAgICAgICAge2lzRnJlZSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCYWRnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e19fKFwiRnJlZVwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJwaWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJncmVlblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJ4c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJsaW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY3Vyc29yLXBvaW50ZXIgaGZlLXJlbW92ZS1yaW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlUGx1Z2luQWN0aW9ufSAvLyBUcmlnZ2VyIGFjdGlvbiBvbiBjbGlja1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBsdWdpbj17emlwVXJsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXR5cGU9e3R5cGV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGx1Z2lubmFtZT17bmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1zbHVnPXtzbHVnfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXNpdGU9e3NpdGVVcmx9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaW5pdD17cGF0aH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hY3Rpb249e2dldEFjdGlvbihzdGF0dXMpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHN0YXR1cyA9PT0gJ0FjdGl2YXRlZCcgPyAnIzE2QTM0QScgOiAnIzYwMDVGRicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7c3RhdHVzID09PSAnQWN0aXZhdGVkJyA/IF9fKCdWaXNpdCBTaXRlJywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJykgOiAoJ0luc3RhbGxlZCcgPT09IHN0YXR1cyA/ICdBY3RpdmF0ZScgOiBzdGF0dXMpfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RGlhbG9nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNpZ249XCJzaW1wbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Blbj17aXNEaWFsb2dPcGVufVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0T3Blbj17c2V0SXNEaWFsb2dPcGVufVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGlhbG9nLkJhY2tkcm9wIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGlhbG9nLlBhbmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEaWFsb2cuSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERpYWxvZy5UaXRsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfXygnQWN0aXZhdGUgVGhlbWUnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRGlhbG9nLlRpdGxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERpYWxvZy5EZXNjcmlwdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfXygnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHN3aXRjaCB5b3VyIGN1cnJlbnQgdGhlbWUgdG8gQXN0cmE/JywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJyl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRGlhbG9nLkRlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRGlhbG9nLkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGlhbG9nLkZvb3Rlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBhY3RpdmF0ZVBsdWdpbihwbHVnaW5EYXRhKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7X18oJ1llcycsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PSdvdXRsaW5lJyBvbkNsaWNrPXsoKSA9PiBzZXRJc0RpYWxvZ09wZW4oZmFsc2UpfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfXygnQ2xvc2UnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9EaWFsb2cuRm9vdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9EaWFsb2cuUGFuZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRGlhbG9nPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2ZsZXggZmxleC1jb2wgdy1mdWxsIHBiLTQnPlxyXG4gICAgICAgICAgICAgICAgPHBcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9J3RleHQtc20gZm9udC1tZWRpdW0gdGV4dC10ZXh0LXByaW1hcnkgcGItMSBtLTAgY3Vyc29yLXBvaW50ZXInXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gd2luZG93Lm9wZW4ocGx1Z2luLnNpdGV1cmwsICdfYmxhbmsnKX1cclxuICAgICAgICAgICAgICAgID57X18obmFtZSwgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJyl9PC9wPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPSd0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtdGV4dC10ZXJ0aWFyeSBtLTAnPntfXyhkZXNjLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX08L3A+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgKVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBFeHRlbmRXZWJzaXRlV2lkZ2V0XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiQ29udGFpbmVyIiwiQnV0dG9uIiwiQmFkZ2UiLCJEaWFsb2ciLCJhcGlGZXRjaCIsIl9fIiwiRXh0ZW5kV2Vic2l0ZVdpZGdldCIsIl9yZWYiLCJwbHVnaW4iLCJzZXRVcGRhdGVDb3VudGVyIiwicGF0aCIsInNsdWciLCJzaXRlVXJsIiwiaWNvbiIsInR5cGUiLCJuYW1lIiwiemlwVXJsIiwiZGVzYyIsIndwb3JnIiwiaXNGcmVlIiwiYWN0aW9uIiwic3RhdHVzIiwic2V0dGluZ3NfdXJsIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNEaWFsb2dPcGVuIiwic2V0SXNEaWFsb2dPcGVuIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJwbHVnaW5EYXRhIiwic2V0UGx1Z2luRGF0YSIsImdldEFjdGlvbiIsImhhbmRsZVBsdWdpbkFjdGlvbiIsImUiLCJjdXJyZW50VGFyZ2V0IiwiZGF0YXNldCIsImZvcm1EYXRhIiwid2luZG93IiwiRm9ybURhdGEiLCJjdXJyZW50UGx1Z2luRGF0YSIsImluaXQiLCJwbHVnaW5uYW1lIiwiYWN0aXZhdGVQbHVnaW4iLCJhcHBlbmQiLCJoZmVfYWRtaW5fZGF0YSIsImluc3RhbGxlcl9ub25jZSIsInRhcmdldCIsImlubmVyVGV4dCIsInVybCIsImFqYXhfdXJsIiwibWV0aG9kIiwiYm9keSIsInRoZW4iLCJkYXRhIiwic3VjY2VzcyIsImVycm9yQ29kZSIsImNhbGxBbmFseXRpY3NXZWJob29rIiwiYnV0dG9uRWxlbWVudCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImNvbmNhdCIsImFsZXJ0Iiwib3BlbiIsIndlYmhvb2tVcmwiLCJ0b2RheSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInNwbGl0IiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwic291cmNlIiwidGFyZ2V0X3BsdWdpbiIsImRhdGUiLCJmZXRjaCIsInRvU3RyaW5nIiwicmVzcG9uc2UiLCJqc29uIiwiZXJyb3IiLCJub25jZSIsInNwYW5FbGVtZW50Iiwic3R5bGUiLCJjb2xvciIsImNsYXNzTGlzdCIsImFkZCIsInNldFRpbWVvdXQiLCJwcmV2IiwiY3JlYXRlRWxlbWVudCIsImFsaWduIiwiY29udGFpbmVyVHlwZSIsImRpcmVjdGlvbiIsImp1c3RpZnkiLCJnYXAiLCJjbGFzc05hbWUiLCJzcmMiLCJhbHQiLCJ3aWR0aCIsImhlaWdodCIsImxhYmVsIiwic2l6ZSIsInZhcmlhbnQiLCJvbkNsaWNrIiwiZGVzaWduIiwic2V0T3BlbiIsIkJhY2tkcm9wIiwiUGFuZWwiLCJIZWFkZXIiLCJUaXRsZSIsIkRlc2NyaXB0aW9uIiwiRm9vdGVyIiwic2l0ZXVybCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Components/Dashboard/ExtendWebsiteWidget.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Dashboard/MyAccount.jsx": -/*!************************************************!*\ - !*** ./src/Components/Dashboard/MyAccount.jsx ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/arrow-up-right.js\");\n\n\n\n\nvar MyAccount = function MyAccount() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Title, {\n description: \"\",\n icon: null,\n iconPosition: \"right\",\n size: \"sm\",\n tag: \"h2\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('My Account', 'header-footer-elementor')\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Container, {\n align: \"stretch\",\n className: \"bg-background-primary p-6 rounded-lg\",\n containerType: \"flex\",\n direction: \"column\",\n gap: \"sm\",\n justify: \"start\",\n style: {\n marginTop: \"24px\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Container.Item, {\n className: \"flex flex-col space-y-2\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"text-base font-semibold m-0\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('License Key', 'header-footer-elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"text-sm font-normal m-0\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('You are using UAE Free version, no license key needed. '))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"flex items-center justify-between px-4 rounded-xl\",\n style: {\n paddingTop: '6px',\n paddingBottom: '6px',\n backgroundColor: \"#F3F0FF\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"flex items-center gap-x-2 text-base font-semibold\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Unlock Pro Features', 'header-footer-elementor'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"text-base font-normal\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Get access to advanced blocks and premium features.', 'header-footer-elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null),\n iconPosition: \"right\",\n variant: \"link\",\n style: {\n color: '#6005FF',\n borderColor: '#6005FF',\n transition: 'color 0.3s ease, border-color 0.3s ease',\n fontSize: '16px'\n },\n className: \"hfe-remove-ring text-[#6005FF]\",\n onClick: function onClick() {\n window.open(\"https://ultimateelementor.com/pricing/?utm_source=uae-lite-settings&utm_medium=My-accounts&utm_campaign=uae-lite-upgrade\", '_blank');\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Upgrade Now', 'header-footer-elementor')))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MyAccount);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9EYXNoYm9hcmQvTXlBY2NvdW50LmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUF3QztBQUNIO0FBQ29CO0FBQ2I7QUFFNUMsSUFBTU8sU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUEsRUFBUztFQUVwQixvQkFDSVAsMERBQUEsQ0FBQUEsdURBQUEscUJBQ0lBLDBEQUFBLENBQUNJLGdEQUFLO0lBQ0ZNLFdBQVcsRUFBQyxFQUFFO0lBQ2RDLElBQUksRUFBRSxJQUFLO0lBQ1hDLFlBQVksRUFBQyxPQUFPO0lBQ3BCQyxJQUFJLEVBQUMsSUFBSTtJQUNUQyxHQUFHLEVBQUMsSUFBSTtJQUNSQyxLQUFLLEVBQUViLG1EQUFFLENBQUMsWUFBWSxFQUFFLHlCQUF5QjtFQUFFLENBQ3RELENBQUMsZUFDRkYsMERBQUEsQ0FBQ0csb0RBQVM7SUFDTmEsS0FBSyxFQUFDLFNBQVM7SUFDZkMsU0FBUyxFQUFDLHNDQUFzQztJQUNoREMsYUFBYSxFQUFDLE1BQU07SUFDcEJDLFNBQVMsRUFBQyxRQUFRO0lBQ2xCQyxHQUFHLEVBQUMsSUFBSTtJQUNSQyxPQUFPLEVBQUMsT0FBTztJQUNmQyxLQUFLLEVBQUU7TUFDSEMsU0FBUyxFQUFFO0lBQ2Y7RUFBRSxnQkFFRnZCLDBEQUFBLENBQUNHLG9EQUFTLENBQUNxQixJQUFJO0lBQUNQLFNBQVMsRUFBQztFQUF5QixnQkFDL0NqQiwwREFBQTtJQUFHaUIsU0FBUyxFQUFDO0VBQTZCLEdBQUVmLG1EQUFFLENBQUMsYUFBYSxFQUFFLHlCQUF5QixDQUFLLENBQUMsZUFDN0ZGLDBEQUFBO0lBQUdpQixTQUFTLEVBQUM7RUFBeUIsR0FBRWYsbURBQUUsQ0FBQyx5REFBeUQsQ0FBSyxDQUM3RixDQUFDLGVBQ2pCRiwwREFBQTtJQUFLaUIsU0FBUyxFQUFDLG1EQUFtRDtJQUFDSyxLQUFLLEVBQUU7TUFBQ0csVUFBVSxFQUFFLEtBQUs7TUFBR0MsYUFBYSxFQUFFLEtBQUs7TUFBRUMsZUFBZSxFQUFFO0lBQVM7RUFBRSxnQkFDN0kzQiwwREFBQTtJQUFNaUIsU0FBUyxFQUFDO0VBQW1ELEdBQzlEZixtREFBRSxDQUFDLHFCQUFxQixFQUFFLHlCQUF5QixDQUFDLGVBQ3JERiwwREFBQTtJQUFHaUIsU0FBUyxFQUFDO0VBQXVCLEdBQUVmLG1EQUFFLENBQUMscURBQXFELEVBQUUseUJBQXlCLENBQUssQ0FDNUgsQ0FBQyxlQUNQRiwwREFBQSxDQUFDSyxpREFBTTtJQUNDTSxJQUFJLGVBQUVYLDBEQUFBLENBQUNNLG9EQUFZLE1BQUUsQ0FBRTtJQUN2Qk0sWUFBWSxFQUFDLE9BQU87SUFDcEJnQixPQUFPLEVBQUMsTUFBTTtJQUNkTixLQUFLLEVBQUU7TUFDSE8sS0FBSyxFQUFFLFNBQVM7TUFDaEJDLFdBQVcsRUFBRSxTQUFTO01BQ3RCQyxVQUFVLEVBQUUseUNBQXlDO01BQ3JEQyxRQUFRLEVBQUU7SUFDZCxDQUFFO0lBQ0ZmLFNBQVMsRUFBQyxnQ0FBZ0M7SUFDMUNnQixPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFRO01BQ1hDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLDBIQUEwSCxFQUFFLFFBQVEsQ0FBQztJQUNySjtFQUFFLEdBRURqQyxtREFBRSxDQUFDLGFBQWEsRUFBRSx5QkFBeUIsQ0FDeEMsQ0FDWCxDQUNFLENBQ2IsQ0FBQztBQUVYLENBQUM7QUFFRCxpRUFBZUssU0FBUyIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vc3JjL0NvbXBvbmVudHMvRGFzaGJvYXJkL015QWNjb3VudC5qc3g/OTNhMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IF9fIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcclxuaW1wb3J0IHsgQ29udGFpbmVyLCBUaXRsZSwgQnV0dG9uIH0gZnJvbSBcIkBic2YvZm9yY2UtdWlcIjtcclxuaW1wb3J0IHsgQXJyb3dVcFJpZ2h0IH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiO1xyXG5cclxuY29uc3QgTXlBY2NvdW50ID0gKCkgPT4ge1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPD5cclxuICAgICAgICAgICAgPFRpdGxlXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj1cIlwiXHJcbiAgICAgICAgICAgICAgICBpY29uPXtudWxsfVxyXG4gICAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgIHRhZz1cImgyXCJcclxuICAgICAgICAgICAgICAgIHRpdGxlPXtfXygnTXkgQWNjb3VudCcsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8Q29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICBhbGlnbj1cInN0cmV0Y2hcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYmctYmFja2dyb3VuZC1wcmltYXJ5IHAtNiByb3VuZGVkLWxnXCJcclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclR5cGU9XCJmbGV4XCJcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgICBnYXA9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5PVwic3RhcnRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6IFwiMjRweFwiLFxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPENvbnRhaW5lci5JdGVtIGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgc3BhY2UteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPSd0ZXh0LWJhc2UgZm9udC1zZW1pYm9sZCBtLTAnPntfXygnTGljZW5zZSBLZXknLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPSd0ZXh0LXNtIGZvbnQtbm9ybWFsIG0tMCc+e19fKCdZb3UgYXJlIHVzaW5nIFVBRSBGcmVlIHZlcnNpb24sIG5vIGxpY2Vuc2Uga2V5IG5lZWRlZC4gJyl9PC9wPlxyXG4gICAgICAgICAgICAgICAgPC9Db250YWluZXIuSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNCByb3VuZGVkLXhsJyBzdHlsZT17e3BhZGRpbmdUb3A6ICc2cHgnICwgcGFkZGluZ0JvdHRvbTogJzZweCcsIGJhY2tncm91bmRDb2xvcjogXCIjRjNGMEZGXCJ9fT5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC0yIHRleHQtYmFzZSBmb250LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtfXygnVW5sb2NrIFBybyBGZWF0dXJlcycsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9J3RleHQtYmFzZSBmb250LW5vcm1hbCc+e19fKCdHZXQgYWNjZXNzIHRvIGFkdmFuY2VkIGJsb2NrcyBhbmQgcHJlbWl1bSBmZWF0dXJlcy4nLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249ezxBcnJvd1VwUmlnaHQgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uUG9zaXRpb249XCJyaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwibGlua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzYwMDVGRicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjNjAwNUZGJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnY29sb3IgMC4zcyBlYXNlLCBib3JkZXItY29sb3IgMC4zcyBlYXNlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJzE2cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImhmZS1yZW1vdmUtcmluZyB0ZXh0LVsjNjAwNUZGXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oXCJodHRwczovL3VsdGltYXRlZWxlbWVudG9yLmNvbS9wcmljaW5nLz91dG1fc291cmNlPXVhZS1saXRlLXNldHRpbmdzJnV0bV9tZWRpdW09TXktYWNjb3VudHMmdXRtX2NhbXBhaWduPXVhZS1saXRlLXVwZ3JhZGVcIiwgJ19ibGFuaycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge19fKCdVcGdyYWRlIE5vdycsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgICAgICA8Lz5cclxuICAgICk7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBNeUFjY291bnQ7XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiX18iLCJDb250YWluZXIiLCJUaXRsZSIsIkJ1dHRvbiIsIkFycm93VXBSaWdodCIsIk15QWNjb3VudCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsImRlc2NyaXB0aW9uIiwiaWNvbiIsImljb25Qb3NpdGlvbiIsInNpemUiLCJ0YWciLCJ0aXRsZSIsImFsaWduIiwiY2xhc3NOYW1lIiwiY29udGFpbmVyVHlwZSIsImRpcmVjdGlvbiIsImdhcCIsImp1c3RpZnkiLCJzdHlsZSIsIm1hcmdpblRvcCIsIkl0ZW0iLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSIsImJhY2tncm91bmRDb2xvciIsInZhcmlhbnQiLCJjb2xvciIsImJvcmRlckNvbG9yIiwidHJhbnNpdGlvbiIsImZvbnRTaXplIiwib25DbGljayIsIndpbmRvdyIsIm9wZW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/Components/Dashboard/MyAccount.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Dashboard/QuickAccess.js": -/*!*************************************************!*\ - !*** ./src/Components/Dashboard/QuickAccess.js ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/headphones.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/star.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/circle-help.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/notepad-text.js\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n\nvar QuickAccess = function QuickAccess() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"box-border hfe-dashboard-quick-access p-4 bg-white rounded-lg shadow-md\",\n style: {\n width: \"-webkit-fill-available\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Title, {\n className: \"mb-2\",\n icon: null,\n iconPosition: \"right\",\n size: \"xs\",\n tag: \"h3\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Quick Access\", \"header-footer-elementor\")\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container, {\n align: \"stretch\",\n className: \"p-1 rounded-lg gap-1\",\n containerType: \"flex\",\n direction: \"column\",\n gap: \"\",\n justify: \"start\",\n style: {\n width: \"100%\",\n backgroundColor: \"#F9FAFB\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n alignSelf: \"auto\",\n className: \"p-4 bg-white rounded-lg shadow-container-item\",\n order: \"none\",\n shrink: 1\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Button, {\n className: \"text-black hfe-remove-ring\",\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null),\n iconPosition: \"left\",\n variant: \"link\",\n onClick: function onClick() {\n window.open(\"https://ultimateelementor.com/contact/\", \"_blank\");\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Contact Us\", \"header-footer-elementor\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n className: \"p-4 bg-white rounded-lg shadow-container-item\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Button, {\n className: \"text-black hfe-remove-ring\",\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null),\n iconPosition: \"left\",\n variant: \"link\",\n onClick: function onClick() {\n window.open(\"https://wordpress.org/support/plugin/header-footer-elementor/reviews/#new-post\", \"_blank\");\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Rate Us\", \"header-footer-elementor\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n className: \"p-4 bg-white rounded-lg shadow-container-item\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Button, {\n className: \"text-black hfe-remove-ring\",\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null),\n iconPosition: \"left\",\n variant: \"link\",\n onClick: function onClick() {\n window.open(\"https://ultimateelementor.com/docs/\", \"_blank\");\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Help Centre\", \"header-footer-elementor\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n className: \"p-4 bg-white rounded-lg shadow-container-item\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Button, {\n className: \"text-black hfe-remove-ring\",\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], null),\n iconPosition: \"left\",\n variant: \"link\",\n onClick: function onClick() {\n window.open(\"https://ideas.ultimateelementor.com/boards/feature-requests\", \"_blank\");\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)(\"Request a Feature\", \"header-footer-elementor\")))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (QuickAccess);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9EYXNoYm9hcmQvUXVpY2tBY2Nlc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBMEI7QUFDK0I7QUFDb0I7QUFDeEM7QUFFckMsSUFBTVMsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUEsRUFBUztFQUN6QixvQkFDQ1QsMERBQUE7SUFDQ1csU0FBUyxFQUFDLHlFQUF5RTtJQUNuRkMsS0FBSyxFQUFFO01BQ05DLEtBQUssRUFBRTtJQUNSO0VBQUUsZ0JBRUZiLDBEQUFBLENBQUNDLGdEQUFLO0lBQ0xVLFNBQVMsRUFBQyxNQUFNO0lBQ2hCRyxJQUFJLEVBQUUsSUFBSztJQUNYQyxZQUFZLEVBQUMsT0FBTztJQUNwQkMsSUFBSSxFQUFDLElBQUk7SUFDVEMsR0FBRyxFQUFDLElBQUk7SUFDUkMsS0FBSyxFQUFFVixtREFBRSxDQUFDLGNBQWMsRUFBRSx5QkFBeUI7RUFBRSxDQUNyRCxDQUFDLGVBRUZSLDBEQUFBLENBQUNFLG9EQUFTO0lBQ1RpQixLQUFLLEVBQUMsU0FBUztJQUNmUixTQUFTLEVBQUMsc0JBQXNCO0lBQ2hDUyxhQUFhLEVBQUMsTUFBTTtJQUNwQkMsU0FBUyxFQUFDLFFBQVE7SUFDbEJDLEdBQUcsRUFBQyxFQUFFO0lBQ05DLE9BQU8sRUFBQyxPQUFPO0lBQ2ZYLEtBQUssRUFBRTtNQUNOQyxLQUFLLEVBQUUsTUFBTTtNQUNiVyxlQUFlLEVBQUU7SUFDbEI7RUFBRSxnQkFFRnhCLDBEQUFBLENBQUNFLG9EQUFTLENBQUN1QixJQUFJO0lBQ2RDLFNBQVMsRUFBQyxNQUFNO0lBQ2hCZixTQUFTLEVBQUMsK0NBQStDO0lBQ3pEZ0IsS0FBSyxFQUFDLE1BQU07SUFDWkMsTUFBTSxFQUFFO0VBQUUsZ0JBRVY1QiwwREFBQSxDQUFDRyxpREFBTTtJQUNOUSxTQUFTLEVBQUMsNEJBQTRCO0lBQ3RDRyxJQUFJLGVBQUVkLDBEQUFBLENBQUNJLG9EQUFVLE1BQUUsQ0FBRTtJQUNyQlcsWUFBWSxFQUFDLE1BQU07SUFDbkJjLE9BQU8sRUFBQyxNQUFNO0lBQ2RDLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7TUFDZEMsTUFBTSxDQUFDQyxJQUFJLENBQ1Ysd0NBQXdDLEVBQ3hDLFFBQ0QsQ0FBQztJQUNGO0VBQUUsR0FFRHhCLG1EQUFFLENBQUMsWUFBWSxFQUFFLHlCQUF5QixDQUNwQyxDQUNPLENBQUMsZUFDakJSLDBEQUFBLENBQUNFLG9EQUFTLENBQUN1QixJQUFJO0lBQUNkLFNBQVMsRUFBQztFQUErQyxnQkFDeEVYLDBEQUFBLENBQUNHLGlEQUFNO0lBQ05RLFNBQVMsRUFBQyw0QkFBNEI7SUFDdENHLElBQUksZUFBRWQsMERBQUEsQ0FBQ00sb0RBQVEsTUFBRSxDQUFFO0lBQ25CUyxZQUFZLEVBQUMsTUFBTTtJQUNuQmMsT0FBTyxFQUFDLE1BQU07SUFDZEMsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUEsRUFBUTtNQUNkQyxNQUFNLENBQUNDLElBQUksQ0FDVixnRkFBZ0YsRUFDaEYsUUFDRCxDQUFDO0lBQ0Y7RUFBRSxHQUVEeEIsbURBQUUsQ0FBQyxTQUFTLEVBQUUseUJBQXlCLENBQ2pDLENBQ08sQ0FBQyxlQUNqQlIsMERBQUEsQ0FBQ0Usb0RBQVMsQ0FBQ3VCLElBQUk7SUFBQ2QsU0FBUyxFQUFDO0VBQStDLGdCQUN4RVgsMERBQUEsQ0FBQ0csaURBQU07SUFDTlEsU0FBUyxFQUFDLDRCQUE0QjtJQUN0Q0csSUFBSSxlQUFFZCwwREFBQSxDQUFDSyxvREFBVSxNQUFFLENBQUU7SUFDckJVLFlBQVksRUFBQyxNQUFNO0lBQ25CYyxPQUFPLEVBQUMsTUFBTTtJQUNkQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFRO01BQ2RDLE1BQU0sQ0FBQ0MsSUFBSSxDQUNWLHFDQUFxQyxFQUNyQyxRQUNELENBQUM7SUFDRjtFQUFFLEdBRUR4QixtREFBRSxDQUFDLGFBQWEsRUFBRSx5QkFBeUIsQ0FDckMsQ0FDTyxDQUFDLGVBQ2pCUiwwREFBQSxDQUFDRSxvREFBUyxDQUFDdUIsSUFBSTtJQUFDZCxTQUFTLEVBQUM7RUFBK0MsZ0JBQ3hFWCwwREFBQSxDQUFDRyxpREFBTTtJQUNOUSxTQUFTLEVBQUMsNEJBQTRCO0lBQ3RDRyxJQUFJLGVBQUVkLDBEQUFBLENBQUNPLG9EQUFXLE1BQUUsQ0FBRTtJQUN0QlEsWUFBWSxFQUFDLE1BQU07SUFDbkJjLE9BQU8sRUFBQyxNQUFNO0lBQ2RDLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7TUFDZEMsTUFBTSxDQUFDQyxJQUFJLENBQ1YsNkRBQTZELEVBQzdELFFBQ0QsQ0FBQztJQUNGO0VBQUUsR0FFRHhCLG1EQUFFLENBQUMsbUJBQW1CLEVBQUUseUJBQXlCLENBQzNDLENBQ08sQ0FpQk4sQ0FDUCxDQUFDO0FBRVIsQ0FBQztBQUVELGlFQUFlQyxXQUFXIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9zcmMvQ29tcG9uZW50cy9EYXNoYm9hcmQvUXVpY2tBY2Nlc3MuanM/ODAyMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFRpdGxlLCBDb250YWluZXIsIEJ1dHRvbiB9IGZyb20gXCJAYnNmL2ZvcmNlLXVpXCI7XHJcbmltcG9ydCB7IEhlYWRwaG9uZXMsIEhlbHBDaXJjbGUsIFN0YXJJY29uLCBOb3RlcGFkVGV4dCB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcclxuaW1wb3J0IHsgX18gfSBmcm9tIFwiQHdvcmRwcmVzcy9pMThuXCI7XHJcblxyXG5jb25zdCBRdWlja0FjY2VzcyA9ICgpID0+IHtcclxuXHRyZXR1cm4gKFxyXG5cdFx0PGRpdlxyXG5cdFx0XHRjbGFzc05hbWU9XCJib3gtYm9yZGVyIGhmZS1kYXNoYm9hcmQtcXVpY2stYWNjZXNzIHAtNCBiZy13aGl0ZSByb3VuZGVkLWxnIHNoYWRvdy1tZFwiXHJcblx0XHRcdHN0eWxlPXt7XHJcblx0XHRcdFx0d2lkdGg6IFwiLXdlYmtpdC1maWxsLWF2YWlsYWJsZVwiLFxyXG5cdFx0XHR9fVxyXG5cdFx0PlxyXG5cdFx0XHQ8VGl0bGVcclxuXHRcdFx0XHRjbGFzc05hbWU9XCJtYi0yXCJcclxuXHRcdFx0XHRpY29uPXtudWxsfVxyXG5cdFx0XHRcdGljb25Qb3NpdGlvbj1cInJpZ2h0XCJcclxuXHRcdFx0XHRzaXplPVwieHNcIlxyXG5cdFx0XHRcdHRhZz1cImgzXCJcclxuXHRcdFx0XHR0aXRsZT17X18oXCJRdWljayBBY2Nlc3NcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuXHRcdFx0Lz5cclxuXHJcblx0XHRcdDxDb250YWluZXJcclxuXHRcdFx0XHRhbGlnbj1cInN0cmV0Y2hcIlxyXG5cdFx0XHRcdGNsYXNzTmFtZT1cInAtMSByb3VuZGVkLWxnIGdhcC0xXCJcclxuXHRcdFx0XHRjb250YWluZXJUeXBlPVwiZmxleFwiXHJcblx0XHRcdFx0ZGlyZWN0aW9uPVwiY29sdW1uXCJcclxuXHRcdFx0XHRnYXA9XCJcIlxyXG5cdFx0XHRcdGp1c3RpZnk9XCJzdGFydFwiXHJcblx0XHRcdFx0c3R5bGU9e3tcclxuXHRcdFx0XHRcdHdpZHRoOiBcIjEwMCVcIixcclxuXHRcdFx0XHRcdGJhY2tncm91bmRDb2xvcjogXCIjRjlGQUZCXCIsXHJcblx0XHRcdFx0fX1cclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxDb250YWluZXIuSXRlbVxyXG5cdFx0XHRcdFx0YWxpZ25TZWxmPVwiYXV0b1wiXHJcblx0XHRcdFx0XHRjbGFzc05hbWU9XCJwLTQgYmctd2hpdGUgcm91bmRlZC1sZyBzaGFkb3ctY29udGFpbmVyLWl0ZW1cIlxyXG5cdFx0XHRcdFx0b3JkZXI9XCJub25lXCJcclxuXHRcdFx0XHRcdHNocmluaz17MX1cclxuXHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8QnV0dG9uXHJcblx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cInRleHQtYmxhY2sgaGZlLXJlbW92ZS1yaW5nXCJcclxuXHRcdFx0XHRcdFx0aWNvbj17PEhlYWRwaG9uZXMgLz59XHJcblx0XHRcdFx0XHRcdGljb25Qb3NpdGlvbj1cImxlZnRcIlxyXG5cdFx0XHRcdFx0XHR2YXJpYW50PVwibGlua1wiXHJcblx0XHRcdFx0XHRcdG9uQ2xpY2s9eygpID0+IHtcclxuXHRcdFx0XHRcdFx0XHR3aW5kb3cub3BlbihcclxuXHRcdFx0XHRcdFx0XHRcdFwiaHR0cHM6Ly91bHRpbWF0ZWVsZW1lbnRvci5jb20vY29udGFjdC9cIixcclxuXHRcdFx0XHRcdFx0XHRcdFwiX2JsYW5rXCJcclxuXHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHR9fVxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHR7X18oXCJDb250YWN0IFVzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcblx0XHRcdFx0XHQ8L0J1dHRvbj5cclxuXHRcdFx0XHQ8L0NvbnRhaW5lci5JdGVtPlxyXG5cdFx0XHRcdDxDb250YWluZXIuSXRlbSBjbGFzc05hbWU9XCJwLTQgYmctd2hpdGUgcm91bmRlZC1sZyBzaGFkb3ctY29udGFpbmVyLWl0ZW1cIj5cclxuXHRcdFx0XHRcdDxCdXR0b25cclxuXHRcdFx0XHRcdFx0Y2xhc3NOYW1lPVwidGV4dC1ibGFjayBoZmUtcmVtb3ZlLXJpbmdcIlxyXG5cdFx0XHRcdFx0XHRpY29uPXs8U3Rhckljb24gLz59XHJcblx0XHRcdFx0XHRcdGljb25Qb3NpdGlvbj1cImxlZnRcIlxyXG5cdFx0XHRcdFx0XHR2YXJpYW50PVwibGlua1wiXHJcblx0XHRcdFx0XHRcdG9uQ2xpY2s9eygpID0+IHtcclxuXHRcdFx0XHRcdFx0XHR3aW5kb3cub3BlbihcclxuXHRcdFx0XHRcdFx0XHRcdFwiaHR0cHM6Ly93b3JkcHJlc3Mub3JnL3N1cHBvcnQvcGx1Z2luL2hlYWRlci1mb290ZXItZWxlbWVudG9yL3Jldmlld3MvI25ldy1wb3N0XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcIl9ibGFua1wiXHJcblx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0fX1cclxuXHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0e19fKFwiUmF0ZSBVc1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG5cdFx0XHRcdFx0PC9CdXR0b24+XHJcblx0XHRcdFx0PC9Db250YWluZXIuSXRlbT5cclxuXHRcdFx0XHQ8Q29udGFpbmVyLkl0ZW0gY2xhc3NOYW1lPVwicC00IGJnLXdoaXRlIHJvdW5kZWQtbGcgc2hhZG93LWNvbnRhaW5lci1pdGVtXCI+XHJcblx0XHRcdFx0XHQ8QnV0dG9uXHJcblx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cInRleHQtYmxhY2sgaGZlLXJlbW92ZS1yaW5nXCJcclxuXHRcdFx0XHRcdFx0aWNvbj17PEhlbHBDaXJjbGUgLz59XHJcblx0XHRcdFx0XHRcdGljb25Qb3NpdGlvbj1cImxlZnRcIlxyXG5cdFx0XHRcdFx0XHR2YXJpYW50PVwibGlua1wiXHJcblx0XHRcdFx0XHRcdG9uQ2xpY2s9eygpID0+IHtcclxuXHRcdFx0XHRcdFx0XHR3aW5kb3cub3BlbihcclxuXHRcdFx0XHRcdFx0XHRcdFwiaHR0cHM6Ly91bHRpbWF0ZWVsZW1lbnRvci5jb20vZG9jcy9cIixcclxuXHRcdFx0XHRcdFx0XHRcdFwiX2JsYW5rXCJcclxuXHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHR9fVxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHR7X18oXCJIZWxwIENlbnRyZVwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG5cdFx0XHRcdFx0PC9CdXR0b24+XHJcblx0XHRcdFx0PC9Db250YWluZXIuSXRlbT5cclxuXHRcdFx0XHQ8Q29udGFpbmVyLkl0ZW0gY2xhc3NOYW1lPVwicC00IGJnLXdoaXRlIHJvdW5kZWQtbGcgc2hhZG93LWNvbnRhaW5lci1pdGVtXCI+XHJcblx0XHRcdFx0XHQ8QnV0dG9uXHJcblx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cInRleHQtYmxhY2sgaGZlLXJlbW92ZS1yaW5nXCJcclxuXHRcdFx0XHRcdFx0aWNvbj17PE5vdGVwYWRUZXh0IC8+fVxyXG5cdFx0XHRcdFx0XHRpY29uUG9zaXRpb249XCJsZWZ0XCJcclxuXHRcdFx0XHRcdFx0dmFyaWFudD1cImxpbmtcIlxyXG5cdFx0XHRcdFx0XHRvbkNsaWNrPXsoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0d2luZG93Lm9wZW4oXHJcblx0XHRcdFx0XHRcdFx0XHRcImh0dHBzOi8vaWRlYXMudWx0aW1hdGVlbGVtZW50b3IuY29tL2JvYXJkcy9mZWF0dXJlLXJlcXVlc3RzXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcIl9ibGFua1wiXHJcblx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0fX1cclxuXHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0e19fKFwiUmVxdWVzdCBhIEZlYXR1cmVcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuXHRcdFx0XHRcdDwvQnV0dG9uPlxyXG5cdFx0XHRcdDwvQ29udGFpbmVyLkl0ZW0+XHJcblx0XHRcdFx0ey8qIDxDb250YWluZXIuSXRlbSBjbGFzc05hbWU9XCJwLTQgYmctd2hpdGUgcm91bmRlZC1sZyBzaGFkb3ctY29udGFpbmVyLWl0ZW1cIj5cclxuXHRcdFx0XHRcdDxCdXR0b25cclxuXHRcdFx0XHRcdFx0Y2xhc3NOYW1lPVwidGV4dC1ibGFjayBoZmUtcmVtb3ZlLXJpbmdcIlxyXG5cdFx0XHRcdFx0XHRpY29uPXs8TWVzc2FnZXNTcXVhcmVJY29uIC8+fVxyXG5cdFx0XHRcdFx0XHRpY29uUG9zaXRpb249XCJsZWZ0XCJcclxuXHRcdFx0XHRcdFx0dmFyaWFudD1cImxpbmtcIlxyXG5cdFx0XHRcdFx0XHRvbkNsaWNrPXsoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0d2luZG93Lm9wZW4oXHJcblx0XHRcdFx0XHRcdFx0XHRcImh0dHBzOi8vbWFrZS53b3JkcHJlc3Mub3JnL1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XCJfYmxhbmtcIlxyXG5cdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdH19XHJcblx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdHtfXyhcIkpvaW4gdGhlIENvbW11bml0eVwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG5cdFx0XHRcdFx0PC9CdXR0b24+XHJcblx0XHRcdFx0PC9Db250YWluZXIuSXRlbT4gKi99XHJcblx0XHRcdDwvQ29udGFpbmVyPlxyXG5cdFx0PC9kaXY+XHJcblx0KTtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IFF1aWNrQWNjZXNzO1xyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJUaXRsZSIsIkNvbnRhaW5lciIsIkJ1dHRvbiIsIkhlYWRwaG9uZXMiLCJIZWxwQ2lyY2xlIiwiU3Rhckljb24iLCJOb3RlcGFkVGV4dCIsIl9fIiwiUXVpY2tBY2Nlc3MiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic3R5bGUiLCJ3aWR0aCIsImljb24iLCJpY29uUG9zaXRpb24iLCJzaXplIiwidGFnIiwidGl0bGUiLCJhbGlnbiIsImNvbnRhaW5lclR5cGUiLCJkaXJlY3Rpb24iLCJnYXAiLCJqdXN0aWZ5IiwiYmFja2dyb3VuZENvbG9yIiwiSXRlbSIsImFsaWduU2VsZiIsIm9yZGVyIiwic2hyaW5rIiwidmFyaWFudCIsIm9uQ2xpY2siLCJ3aW5kb3ciLCJvcGVuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/Components/Dashboard/QuickAccess.js\n"); - -/***/ }), - -/***/ "./src/Components/Dashboard/TemplateSection.js": -/*!*****************************************************!*\ - !*** ./src/Components/Dashboard/TemplateSection.js ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _router_index__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../router/index */ \"./src/router/index.js\");\n/* harmony import */ var _admin_settings_routes__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../admin/settings/routes */ \"./src/admin/settings/routes.js\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\n // Import the custom Link component\n // Import the routes object\n\nvar TemplateSection = function TemplateSection() {\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState, 2),\n loading = _useState2[0],\n setLoading = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState3, 2),\n templatesStatus = _useState4[0],\n setTemplatesStatus = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null),\n _useState6 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState5, 2),\n redirectUrl = _useState6[0],\n setRedirectUrl = _useState6[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n var fetchSettings = function fetchSettings() {\n setLoading(true);\n _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_6___default()({\n path: '/hfe/v1/templates',\n headers: {\n 'Content-Type': 'application/json',\n 'X-WP-Nonce': hfeSettingsData.uael_nonce_action // Use the correct nonce\n }\n }).then(function (data) {\n setTemplatesStatus(data.templates_status);\n if (data.redirect_url) {\n setRedirectUrl(data.redirect_url); // Save URL in state variable\n }\n setLoading(false); // Stop loading\n })[\"catch\"](function (err) {\n setLoading(false); // Stop loading\n });\n };\n fetchSettings();\n }, []);\n var handleButtonClick = function handleButtonClick(e) {\n if ('Activated' === templatesStatus && redirectUrl) {\n window.open(redirectUrl, '_blank');\n }\n };\n if (loading) {\n return;\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"box-border hfe-dashboard-templates p-4 bg-white rounded-lg shadow-md mb-6 hfe-subheading\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"mb-4\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"img\", {\n src: \"\".concat(hfeSettingsData.templates_url),\n alt: \"Template Showcase\",\n className: \"w-full h-auto rounded\"\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Title, {\n className: \"mt-2\",\n icon: null,\n iconPosition: \"right\",\n size: \"xs\",\n tag: \"h2\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Build Websites 10x Faster with Templates\", \"header-footer-elementor\")\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"p\", {\n className: \"text-text-secondary text-text-tertiary mt-2 mb-2 text-sm\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Choose from our professionally designed websites to build your site faster, with easy customization options.\", \"header-footer-elementor\")), 'Activated' !== templatesStatus ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_router_index__WEBPACK_IMPORTED_MODULE_4__.Link, {\n to: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_5__.routes.templates.path,\n className: \"w-full\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {\n className: \"w-full mt-4\",\n icon: null,\n iconPosition: \"left\",\n size: \"md\",\n variant: \"secondary\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('View Templates', 'header-footer-elementor'))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {\n className: \"w-full mt-4\",\n icon: null,\n iconPosition: \"left\",\n size: \"md\",\n variant: \"secondary\",\n onClick: handleButtonClick\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('View Templates', 'header-footer-elementor')));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TemplateSection);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9EYXNoYm9hcmQvVGVtcGxhdGVTZWN0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBbUQ7QUFDTDtBQUNUO0FBQ0ssQ0FBQztBQUNJLENBQUM7QUFDSjtBQUU1QyxJQUFNUyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUEsRUFBUztFQUU3QixJQUFBQyxTQUFBLEdBQThCVCwrQ0FBUSxDQUFDLElBQUksQ0FBQztJQUFBVSxVQUFBLEdBQUFDLGdGQUFBLENBQUFGLFNBQUE7SUFBckNHLE9BQU8sR0FBQUYsVUFBQTtJQUFFRyxVQUFVLEdBQUFILFVBQUE7RUFDMUIsSUFBQUksVUFBQSxHQUE4Q2QsK0NBQVEsQ0FBQyxJQUFJLENBQUM7SUFBQWUsVUFBQSxHQUFBSixnRkFBQSxDQUFBRyxVQUFBO0lBQXJERSxlQUFlLEdBQUFELFVBQUE7SUFBRUUsa0JBQWtCLEdBQUFGLFVBQUE7RUFDdkMsSUFBQUcsVUFBQSxHQUFzQ2xCLCtDQUFRLENBQUMsSUFBSSxDQUFDO0lBQUFtQixVQUFBLEdBQUFSLGdGQUFBLENBQUFPLFVBQUE7SUFBN0NFLFdBQVcsR0FBQUQsVUFBQTtJQUFFRSxjQUFjLEdBQUFGLFVBQUE7RUFFckNsQixnREFBUyxDQUFDLFlBQU07SUFDVCxJQUFNcUIsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFBLEVBQVM7TUFDeEJULFVBQVUsQ0FBQyxJQUFJLENBQUM7TUFDaEJOLDJEQUFRLENBQUM7UUFDTGdCLElBQUksRUFBRSxtQkFBbUI7UUFDekJDLE9BQU8sRUFBRTtVQUNMLGNBQWMsRUFBRSxrQkFBa0I7VUFDbEMsWUFBWSxFQUFFQyxlQUFlLENBQUNDLGlCQUFpQixDQUFFO1FBQ3JEO01BQ0osQ0FBQyxDQUFDLENBQ0dDLElBQUksQ0FBQyxVQUFDQyxJQUFJLEVBQUs7UUFDWlgsa0JBQWtCLENBQUNXLElBQUksQ0FBQ0MsZ0JBQWdCLENBQUM7UUFDekMsSUFBSUQsSUFBSSxDQUFDRSxZQUFZLEVBQUU7VUFDbkJULGNBQWMsQ0FBQ08sSUFBSSxDQUFDRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDO1FBQ0FqQixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztNQUN2QixDQUFDLENBQUMsU0FDSSxDQUFDLFVBQUNrQixHQUFHLEVBQUs7UUFDWmxCLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO01BQ3ZCLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRFMsYUFBYSxDQUFDLENBQUM7RUFDbkIsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU1VLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlDLENBQUMsRUFBSztJQUM3QixJQUFJLFdBQVcsS0FBS2pCLGVBQWUsSUFBSUksV0FBVyxFQUFHO01BQ2pEYyxNQUFNLENBQUNDLElBQUksQ0FBRWYsV0FBVyxFQUFFLFFBQVMsQ0FBQztJQUN4QztFQUNKLENBQUM7RUFFSixJQUFJUixPQUFPLEVBQUc7SUFDYjtFQUNEO0VBRUEsb0JBQ0NiLDBEQUFBO0lBQUtzQyxTQUFTLEVBQUM7RUFBMEYsZ0JBQ3hHdEMsMERBQUE7SUFBS3NDLFNBQVMsRUFBQztFQUFNLGdCQUNwQnRDLDBEQUFBO0lBQ0N1QyxHQUFHLEtBQUFDLE1BQUEsQ0FBS2QsZUFBZSxDQUFDZSxhQUFhLENBQUc7SUFDeENDLEdBQUcsRUFBQyxtQkFBbUI7SUFDdkJKLFNBQVMsRUFBQztFQUF1QixDQUNqQyxDQUNHLENBQUMsZUFDTnRDLDBEQUFBLENBQUNHLGdEQUFLO0lBQ0xtQyxTQUFTLEVBQUMsTUFBTTtJQUNoQkssSUFBSSxFQUFFLElBQUs7SUFDWEMsWUFBWSxFQUFDLE9BQU87SUFDcEJDLElBQUksRUFBQyxJQUFJO0lBQ1RDLEdBQUcsRUFBQyxJQUFJO0lBQ1JDLEtBQUssRUFBRTFDLG1EQUFFLENBQ1IsMENBQTBDLEVBQzFDLHlCQUNEO0VBQUUsQ0FDRixDQUFDLGVBQ0ZMLDBEQUFBO0lBQUdzQyxTQUFTLEVBQUM7RUFBMEQsR0FDckVqQyxtREFBRSxDQUNGLDhHQUE4RyxFQUM5Ryx5QkFDRCxDQUNFLENBQUMsRUFFUyxXQUFXLEtBQUtZLGVBQWUsZ0JBQzNCakIsMERBQUEsQ0FBQ00sK0NBQUk7SUFBQzBDLEVBQUUsRUFBRXpDLDBEQUFNLENBQUMwQyxTQUFTLENBQUN6QixJQUFLO0lBQUNjLFNBQVMsRUFBQztFQUFRLGdCQUMvQ3RDLDBEQUFBLENBQUNJLGlEQUFNO0lBQ0hrQyxTQUFTLEVBQUMsYUFBYTtJQUN2QkssSUFBSSxFQUFFLElBQUs7SUFDWEMsWUFBWSxFQUFDLE1BQU07SUFDbkJDLElBQUksRUFBQyxJQUFJO0lBQ1RLLE9BQU8sRUFBQztFQUFXLEdBRWxCN0MsbURBQUUsQ0FBQyxnQkFBZ0IsRUFBRSx5QkFBeUIsQ0FDM0MsQ0FDTixDQUFDLGdCQUV2QkwsMERBQUEsQ0FBQ0ksaURBQU07SUFDTmtDLFNBQVMsRUFBQyxhQUFhO0lBQ3ZCSyxJQUFJLEVBQUUsSUFBSztJQUNYQyxZQUFZLEVBQUMsTUFBTTtJQUNuQkMsSUFBSSxFQUFDLElBQUk7SUFDVEssT0FBTyxFQUFDLFdBQVc7SUFDbkJDLE9BQU8sRUFBRWxCO0VBQWtCLEdBRTFCNUIsbURBQUUsQ0FBQyxnQkFBZ0IsRUFBRSx5QkFBeUIsQ0FDeEMsQ0FFTCxDQUFDO0FBRVIsQ0FBQztBQUVELGlFQUFlSSxlQUFlIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9zcmMvQ29tcG9uZW50cy9EYXNoYm9hcmQvVGVtcGxhdGVTZWN0aW9uLmpzP2MwZmUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IFRpdGxlLCBCdXR0b24gfSBmcm9tIFwiQGJzZi9mb3JjZS11aVwiO1xyXG5pbXBvcnQgeyBfXyB9IGZyb20gXCJAd29yZHByZXNzL2kxOG5cIjtcclxuaW1wb3J0IHsgTGluayB9IGZyb20gXCIuLi8uLi9yb3V0ZXIvaW5kZXhcIjsgLy8gSW1wb3J0IHRoZSBjdXN0b20gTGluayBjb21wb25lbnRcclxuaW1wb3J0IHsgcm91dGVzIH0gZnJvbSBcImFkbWluL3NldHRpbmdzL3JvdXRlc1wiOyAvLyBJbXBvcnQgdGhlIHJvdXRlcyBvYmplY3RcclxuaW1wb3J0IGFwaUZldGNoIGZyb20gJ0B3b3JkcHJlc3MvYXBpLWZldGNoJztcclxuXHJcbmNvbnN0IFRlbXBsYXRlU2VjdGlvbiA9ICgpID0+IHtcclxuXHJcblx0Y29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XHJcblx0Y29uc3QgW3RlbXBsYXRlc1N0YXR1cywgc2V0VGVtcGxhdGVzU3RhdHVzXSA9IHVzZVN0YXRlKG51bGwpOyBcclxuICAgIGNvbnN0IFtyZWRpcmVjdFVybCwgc2V0UmVkaXJlY3RVcmxdID0gdXNlU3RhdGUobnVsbCk7IFxyXG5cclxuXHR1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZldGNoU2V0dGluZ3MgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHNldExvYWRpbmcodHJ1ZSk7XHJcbiAgICAgICAgICAgIGFwaUZldGNoKHtcclxuICAgICAgICAgICAgICAgIHBhdGg6ICcvaGZlL3YxL3RlbXBsYXRlcycsXHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgICAgICAgICAnWC1XUC1Ob25jZSc6IGhmZVNldHRpbmdzRGF0YS51YWVsX25vbmNlX2FjdGlvbiwgLy8gVXNlIHRoZSBjb3JyZWN0IG5vbmNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUZW1wbGF0ZXNTdGF0dXMoZGF0YS50ZW1wbGF0ZXNfc3RhdHVzKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5yZWRpcmVjdF91cmwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0UmVkaXJlY3RVcmwoZGF0YS5yZWRpcmVjdF91cmwpOyAvLyBTYXZlIFVSTCBpbiBzdGF0ZSB2YXJpYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTsgLy8gU3RvcCBsb2FkaW5nXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTsgLy8gU3RvcCBsb2FkaW5nXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBmZXRjaFNldHRpbmdzKCk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgY29uc3QgaGFuZGxlQnV0dG9uQ2xpY2sgPSAoZSkgPT4ge1xyXG4gICAgICAgIGlmKCAnQWN0aXZhdGVkJyA9PT0gdGVtcGxhdGVzU3RhdHVzICYmIHJlZGlyZWN0VXJsICkge1xyXG4gICAgICAgICAgICB3aW5kb3cub3BlbiggcmVkaXJlY3RVcmwsICdfYmxhbmsnICk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcblx0aWYoIGxvYWRpbmcgKSB7XHJcblx0XHRyZXR1cm47XHJcblx0fVxyXG5cclxuXHRyZXR1cm4gKFxyXG5cdFx0PGRpdiBjbGFzc05hbWU9XCJib3gtYm9yZGVyIGhmZS1kYXNoYm9hcmQtdGVtcGxhdGVzIHAtNCBiZy13aGl0ZSByb3VuZGVkLWxnIHNoYWRvdy1tZCBtYi02IGhmZS1zdWJoZWFkaW5nXCI+XHJcblx0XHRcdDxkaXYgY2xhc3NOYW1lPVwibWItNFwiPlxyXG5cdFx0XHRcdDxpbWdcclxuXHRcdFx0XHRcdHNyYz17YCR7aGZlU2V0dGluZ3NEYXRhLnRlbXBsYXRlc191cmx9YH1cclxuXHRcdFx0XHRcdGFsdD1cIlRlbXBsYXRlIFNob3djYXNlXCJcclxuXHRcdFx0XHRcdGNsYXNzTmFtZT1cInctZnVsbCBoLWF1dG8gcm91bmRlZFwiXHJcblx0XHRcdFx0Lz5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxUaXRsZVxyXG5cdFx0XHRcdGNsYXNzTmFtZT1cIm10LTJcIlxyXG5cdFx0XHRcdGljb249e251bGx9XHJcblx0XHRcdFx0aWNvblBvc2l0aW9uPVwicmlnaHRcIlxyXG5cdFx0XHRcdHNpemU9XCJ4c1wiXHJcblx0XHRcdFx0dGFnPVwiaDJcIlxyXG5cdFx0XHRcdHRpdGxlPXtfXyhcclxuXHRcdFx0XHRcdFwiQnVpbGQgV2Vic2l0ZXMgMTB4IEZhc3RlciB3aXRoIFRlbXBsYXRlc1wiLFxyXG5cdFx0XHRcdFx0XCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiXHJcblx0XHRcdFx0KX1cclxuXHRcdFx0Lz5cclxuXHRcdFx0PHAgY2xhc3NOYW1lPVwidGV4dC10ZXh0LXNlY29uZGFyeSB0ZXh0LXRleHQtdGVydGlhcnkgbXQtMiBtYi0yIHRleHQtc21cIj5cclxuXHRcdFx0XHR7X18oXHJcblx0XHRcdFx0XHRcIkNob29zZSBmcm9tIG91ciBwcm9mZXNzaW9uYWxseSBkZXNpZ25lZCB3ZWJzaXRlcyB0byBidWlsZCB5b3VyIHNpdGUgZmFzdGVyLCB3aXRoIGVhc3kgY3VzdG9taXphdGlvbiBvcHRpb25zLlwiLFxyXG5cdFx0XHRcdFx0XCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiXHJcblx0XHRcdFx0KX1cclxuXHRcdFx0PC9wPlxyXG5cdFx0XHR7XHJcbiAgICAgICAgICAgICAgICAnQWN0aXZhdGVkJyAhPT0gdGVtcGxhdGVzU3RhdHVzID8gKFxyXG4gICAgICAgICAgICAgICAgICAgIDxMaW5rIHRvPXtyb3V0ZXMudGVtcGxhdGVzLnBhdGh9IGNsYXNzTmFtZT1cInctZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgbXQtNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPXtudWxsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfXygnVmlldyBUZW1wbGF0ZXMnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG5cdFx0XHQpIDogKFxyXG5cdFx0XHRcdDxCdXR0b25cclxuXHRcdFx0XHRcdGNsYXNzTmFtZT1cInctZnVsbCBtdC00XCJcclxuXHRcdFx0XHRcdGljb249e251bGx9XHJcblx0XHRcdFx0XHRpY29uUG9zaXRpb249XCJsZWZ0XCJcclxuXHRcdFx0XHRcdHNpemU9XCJtZFwiXHJcblx0XHRcdFx0XHR2YXJpYW50PVwic2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdG9uQ2xpY2s9e2hhbmRsZUJ1dHRvbkNsaWNrfVxyXG5cdFx0XHRcdD5cclxuXHRcdFx0XHRcdHtfXygnVmlldyBUZW1wbGF0ZXMnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX1cclxuXHRcdFx0XHQ8L0J1dHRvbj5cclxuXHRcdFx0KX1cclxuXHRcdDwvZGl2PlxyXG5cdCk7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBUZW1wbGF0ZVNlY3Rpb247XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiVGl0bGUiLCJCdXR0b24iLCJfXyIsIkxpbmsiLCJyb3V0ZXMiLCJhcGlGZXRjaCIsIlRlbXBsYXRlU2VjdGlvbiIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJ0ZW1wbGF0ZXNTdGF0dXMiLCJzZXRUZW1wbGF0ZXNTdGF0dXMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInJlZGlyZWN0VXJsIiwic2V0UmVkaXJlY3RVcmwiLCJmZXRjaFNldHRpbmdzIiwicGF0aCIsImhlYWRlcnMiLCJoZmVTZXR0aW5nc0RhdGEiLCJ1YWVsX25vbmNlX2FjdGlvbiIsInRoZW4iLCJkYXRhIiwidGVtcGxhdGVzX3N0YXR1cyIsInJlZGlyZWN0X3VybCIsImVyciIsImhhbmRsZUJ1dHRvbkNsaWNrIiwiZSIsIndpbmRvdyIsIm9wZW4iLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic3JjIiwiY29uY2F0IiwidGVtcGxhdGVzX3VybCIsImFsdCIsImljb24iLCJpY29uUG9zaXRpb24iLCJzaXplIiwidGFnIiwidGl0bGUiLCJ0byIsInRlbXBsYXRlcyIsInZhcmlhbnQiLCJvbkNsaWNrIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/Components/Dashboard/TemplateSection.js\n"); - -/***/ }), - -/***/ "./src/Components/Dashboard/UltimateFeatures.js": -/*!******************************************************!*\ - !*** ./src/Components/Dashboard/UltimateFeatures.js ***! - \******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/zap.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _router_index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../router/index */ \"./src/router/index.js\");\n/* harmony import */ var _admin_settings_routes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../admin/settings/routes */ \"./src/admin/settings/routes.js\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\nvar UltimateFeatures = function UltimateFeatures() {\n var featureData = [{\n id: 1,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Modal Popup\", \"header-footer-elementor\")\n }, {\n id: 2,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Advanced Heading\", \"header-footer-elementor\")\n }, {\n id: 3,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Post Layouts\", \"header-footer-elementor\")\n }, {\n id: 4,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Info Box\", \"header-footer-elementor\")\n }, {\n id: 5,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Pricing Cards\", \"header-footer-elementor\")\n }, {\n id: 6,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Form Stylers and more...\", \"header-footer-elementor\")\n }];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container, {\n className: \"bg-background-primary p-4 border-[0.5px] border-subtle rounded-xl shadow-sm\",\n containerType: \"flex\",\n direction: \"row\",\n justify: \"between\",\n gap: \"xs\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n className: \"flex flex-col pt-6 pb-3 justify-between\",\n style: {\n width: \"65%\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Title, {\n description: \"\",\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null),\n iconPosition: \"left\",\n size: \"xs\",\n tag: \"h6\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Unlock Ultimate Features\", \"header-footer-elementor\"),\n className: \"text-xs font-semibold text-brand-primary-600\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Title, {\n description: \"\",\n icon: \"\",\n iconPosition: \"left\",\n tag: \"h6\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Create Ultimate Designs with Addons Pro!\", \"header-footer-elementor\"),\n className: \"py-1 text-[12px]\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"text-sm m-0 text-text-secondary\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Get access to advanced widgets and features to create the website that stands out!\", \"header-footer-elementor\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"grid grid-cols-2 grid-flow-row gap-1 my-4\"\n }, featureData.map(function (feature) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Title, {\n key: feature.id,\n description: \"\",\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"text-brand-primary-600 mr-1 h-3 w-3\"\n }),\n iconPosition: \"left\",\n size: \"xs\",\n tag: \"h6\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(feature.title, \"header-footer-elementor\"),\n className: \"text-[14px]\"\n });\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"flex items-center pb-3 gap-4\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Button, {\n variant: \"secondary\",\n className: \"hfe-remove-ring\",\n onClick: function onClick() {\n window.open(\"https://ultimateelementor.com/pricing/?utm_source=uae-lite-dashboard&utm_medium=unlock-ultimate-feature&utm_campaign=uae-lite-upgrade\", \"_blank\");\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Upgrade Now\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_router_index__WEBPACK_IMPORTED_MODULE_2__.Link, {\n className: \"text-black cursor-pointer\",\n to: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_3__.routes.upgrade.path\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Compare Free vs Pro\", \"header-footer-elementor\")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n className: \"flex justify-center items-center\",\n style: {\n width: \"34%\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n src: \"\".concat(hfeSettingsData.column_url),\n alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Column Showcase\", \"header-footer-elementor\"),\n className: \"w-full h-auto rounded\"\n }))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UltimateFeatures);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9EYXNoYm9hcmQvVWx0aW1hdGVGZWF0dXJlcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUEwQjtBQUMrQjtBQUNmO0FBQ0E7QUFDVztBQUNoQjtBQUVyQyxJQUFNUyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFBLEVBQVM7RUFDOUIsSUFBTUMsV0FBVyxHQUFHLENBQ25CO0lBQ0NDLEVBQUUsRUFBRSxDQUFDO0lBQ0xDLElBQUksRUFBRSxFQUFFO0lBQ1JDLEtBQUssRUFBRUwsbURBQUUsQ0FBQyxhQUFhLEVBQUUseUJBQXlCO0VBQ25ELENBQUMsRUFDRDtJQUNDRyxFQUFFLEVBQUUsQ0FBQztJQUNMQyxJQUFJLEVBQUUsRUFBRTtJQUNSQyxLQUFLLEVBQUVMLG1EQUFFLENBQUMsa0JBQWtCLEVBQUUseUJBQXlCO0VBQ3hELENBQUMsRUFDRDtJQUNDRyxFQUFFLEVBQUUsQ0FBQztJQUNMQyxJQUFJLEVBQUUsRUFBRTtJQUNSQyxLQUFLLEVBQUVMLG1EQUFFLENBQUMsY0FBYyxFQUFFLHlCQUF5QjtFQUNwRCxDQUFDLEVBQ0Q7SUFDQ0csRUFBRSxFQUFFLENBQUM7SUFDTEMsSUFBSSxFQUFFLEVBQUU7SUFDUkMsS0FBSyxFQUFFTCxtREFBRSxDQUFDLFVBQVUsRUFBRSx5QkFBeUI7RUFDaEQsQ0FBQyxFQUNEO0lBQ0NHLEVBQUUsRUFBRSxDQUFDO0lBQ0xDLElBQUksRUFBRSxFQUFFO0lBQ1JDLEtBQUssRUFBRUwsbURBQUUsQ0FBQyxlQUFlLEVBQUUseUJBQXlCO0VBQ3JELENBQUMsRUFDRDtJQUNDRyxFQUFFLEVBQUUsQ0FBQztJQUNMQyxJQUFJLEVBQUUsRUFBRTtJQUNSQyxLQUFLLEVBQUVMLG1EQUFFLENBQUMsMEJBQTBCLEVBQUUseUJBQXlCO0VBQ2hFLENBQUMsQ0FDRDtFQUVELG9CQUNDUiwwREFBQSwyQkFDQ0EsMERBQUEsQ0FBQ0Msb0RBQVM7SUFDVGMsU0FBUyxFQUFDLDZFQUE2RTtJQUN2RkMs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Q1AsQ0FBQztBQUVSLENBQUM7QUFFRCxpRUFBZU4sZ0JBQWdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9zcmMvQ29tcG9uZW50cy9EYXNoYm9hcmQvVWx0aW1hdGVGZWF0dXJlcy5qcz8zMGUzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgQ29udGFpbmVyLCBUaXRsZSwgQnV0dG9uIH0gZnJvbSBcIkBic2YvZm9yY2UtdWlcIjtcclxuaW1wb3J0IHsgWmFwLCBDaGVjayB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcclxuaW1wb3J0IHsgTGluayB9IGZyb20gXCIuLi8uLi9yb3V0ZXIvaW5kZXhcIjtcclxuaW1wb3J0IHsgcm91dGVzIH0gZnJvbSBcIi4uLy4uL2FkbWluL3NldHRpbmdzL3JvdXRlc1wiO1xyXG5pbXBvcnQgeyBfXyB9IGZyb20gXCJAd29yZHByZXNzL2kxOG5cIjtcclxuXHJcbmNvbnN0IFVsdGltYXRlRmVhdHVyZXMgPSAoKSA9PiB7XHJcblx0Y29uc3QgZmVhdHVyZURhdGEgPSBbXHJcblx0XHR7XHJcblx0XHRcdGlkOiAxLFxyXG5cdFx0XHRpY29uOiBcIlwiLFxyXG5cdFx0XHR0aXRsZTogX18oXCJNb2RhbCBQb3B1cFwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG5cdFx0fSxcclxuXHRcdHtcclxuXHRcdFx0aWQ6IDIsXHJcblx0XHRcdGljb246IFwiXCIsXHJcblx0XHRcdHRpdGxlOiBfXyhcIkFkdmFuY2VkIEhlYWRpbmdcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSxcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdGlkOiAzLFxyXG5cdFx0XHRpY29uOiBcIlwiLFxyXG5cdFx0XHR0aXRsZTogX18oXCJQb3N0IExheW91dHNcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSxcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdGlkOiA0LFxyXG5cdFx0XHRpY29uOiBcIlwiLFxyXG5cdFx0XHR0aXRsZTogX18oXCJJbmZvIEJveFwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG5cdFx0fSxcclxuXHRcdHtcclxuXHRcdFx0aWQ6IDUsXHJcblx0XHRcdGljb246IFwiXCIsXHJcblx0XHRcdHRpdGxlOiBfXyhcIlByaWNpbmcgQ2FyZHNcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSxcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdGlkOiA2LFxyXG5cdFx0XHRpY29uOiBcIlwiLFxyXG5cdFx0XHR0aXRsZTogX18oXCJGb3JtIFN0eWxlcnMgYW5kIG1vcmUuLi5cIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSxcclxuXHRcdH0sXHJcblx0XTtcclxuXHJcblx0cmV0dXJuIChcclxuXHRcdDxkaXY+XHJcblx0XHRcdDxDb250YWluZXJcclxuXHRcdFx0XHRjbGFzc05hbWU9XCJiZy1iYWNrZ3JvdW5kLXByaW1hcnkgcC00IGJvcmRlci1bMC41cHhdIGJvcmRlci1zdWJ0bGUgcm91bmRlZC14bCBzaGFkb3ctc21cIlxyXG5cdFx0XHRcdGNvbnRhaW5lclR5cGU9XCJmbGV4XCJcclxuXHRcdFx0XHRkaXJlY3Rpb249XCJyb3dcIlxyXG5cdFx0XHRcdGp1c3RpZnk9XCJiZXR3ZWVuXCJcclxuXHRcdFx0XHRnYXA9XCJ4c1wiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8Q29udGFpbmVyLkl0ZW1cclxuXHRcdFx0XHRcdGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgcHQtNiBwYi0zIGp1c3RpZnktYmV0d2VlblwiXHJcblx0XHRcdFx0XHRzdHlsZT17eyB3aWR0aDogXCI2NSVcIiB9fVxyXG5cdFx0XHRcdD5cclxuXHRcdFx0XHRcdDxkaXY+XHJcblx0XHRcdFx0XHRcdDxUaXRsZVxyXG5cdFx0XHRcdFx0XHRcdGRlc2NyaXB0aW9uPVwiXCJcclxuXHRcdFx0XHRcdFx0XHRpY29uPXs8WmFwIC8+fVxyXG5cdFx0XHRcdFx0XHRcdGljb25Qb3NpdGlvbj1cImxlZnRcIlxyXG5cdFx0XHRcdFx0XHRcdHNpemU9XCJ4c1wiXHJcblx0XHRcdFx0XHRcdFx0dGFnPVwiaDZcIlxyXG5cdFx0XHRcdFx0XHRcdHRpdGxlPXtfXyhcclxuXHRcdFx0XHRcdFx0XHRcdFwiVW5sb2NrIFVsdGltYXRlIEZlYXR1cmVzXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCJcclxuXHRcdFx0XHRcdFx0XHQpfVxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LWJyYW5kLXByaW1hcnktNjAwXCJcclxuXHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0PFRpdGxlXHJcblx0XHRcdFx0XHRcdFx0ZGVzY3JpcHRpb249XCJcIlxyXG5cdFx0XHRcdFx0XHRcdGljb249e1wiXCJ9XHJcblx0XHRcdFx0XHRcdFx0aWNvblBvc2l0aW9uPVwibGVmdFwiXHJcblx0XHRcdFx0XHRcdFx0dGFnPVwiaDZcIlxyXG5cdFx0XHRcdFx0XHRcdHRpdGxlPXtfXyhcclxuXHRcdFx0XHRcdFx0XHRcdFwiQ3JlYXRlIFVsdGltYXRlIERlc2lnbnMgd2l0aCBBZGRvbnMgUHJvIVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiXHJcblx0XHRcdFx0XHRcdFx0KX1cclxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJweS0xIHRleHQtWzEycHhdXCJcclxuXHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0PHAgY2xhc3NOYW1lPVwidGV4dC1zbSBtLTAgdGV4dC10ZXh0LXNlY29uZGFyeVwiPlxyXG5cdFx0XHRcdFx0XHRcdHtfXyhcclxuXHRcdFx0XHRcdFx0XHRcdFwiR2V0IGFjY2VzcyB0byBhZHZhbmNlZCB3aWRnZXRzIGFuZCBmZWF0dXJlcyB0byBjcmVhdGUgdGhlIHdlYnNpdGUgdGhhdCBzdGFuZHMgb3V0IVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiXHJcblx0XHRcdFx0XHRcdFx0KX1cclxuXHRcdFx0XHRcdFx0PC9wPlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTIgZ3JpZC1mbG93LXJvdyBnYXAtMSBteS00XCI+XHJcblx0XHRcdFx0XHRcdHtmZWF0dXJlRGF0YS5tYXAoKGZlYXR1cmUpID0+IChcclxuXHRcdFx0XHRcdFx0XHQ8VGl0bGVcclxuXHRcdFx0XHRcdFx0XHRcdGtleT17ZmVhdHVyZS5pZH1cclxuXHRcdFx0XHRcdFx0XHRcdGRlc2NyaXB0aW9uPVwiXCJcclxuXHRcdFx0XHRcdFx0XHRcdGljb249e1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8Q2hlY2sgY2xhc3NOYW1lPVwidGV4dC1icmFuZC1wcmltYXJ5LTYwMCBtci0xIGgtMyB3LTNcIiAvPlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvblBvc2l0aW9uPVwibGVmdFwiXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwieHNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dGFnPVwiaDZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU9e19fKFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRmZWF0dXJlLnRpdGxlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCJcclxuXHRcdFx0XHRcdFx0XHRcdCl9XHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJ0ZXh0LVsxNHB4XVwiXHJcblx0XHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0KSl9XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgcGItMyBnYXAtNFwiPlxyXG5cdFx0XHRcdFx0XHQ8QnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0dmFyaWFudD1cInNlY29uZGFyeVwiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lPVwiaGZlLXJlbW92ZS1yaW5nXCJcclxuXHRcdFx0XHRcdFx0XHRvbkNsaWNrPXsoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHR3aW5kb3cub3BlbihcclxuXHRcdFx0XHRcdFx0XHRcdFx0XCJodHRwczovL3VsdGltYXRlZWxlbWVudG9yLmNvbS9wcmljaW5nLz91dG1fc291cmNlPXVhZS1saXRlLWRhc2hib2FyZCZ1dG1fbWVkaXVtPXVubG9jay11bHRpbWF0ZS1mZWF0dXJlJnV0bV9jYW1wYWlnbj11YWUtbGl0ZS11cGdyYWRlXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFwiX2JsYW5rXCJcclxuXHRcdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0fX1cclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdHtfXyhcIlVwZ3JhZGUgTm93XCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcblx0XHRcdFx0XHRcdDwvQnV0dG9uPlxyXG5cdFx0XHRcdFx0XHQ8TGlua1xyXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cInRleHQtYmxhY2sgY3Vyc29yLXBvaW50ZXJcIlxyXG5cdFx0XHRcdFx0XHRcdHRvPXtyb3V0ZXMudXBncmFkZS5wYXRofVxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0e19fKFxyXG5cdFx0XHRcdFx0XHRcdFx0XCJDb21wYXJlIEZyZWUgdnMgUHJvXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCJcclxuXHRcdFx0XHRcdFx0XHQpfVxyXG5cdFx0XHRcdFx0XHQ8L0xpbms+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L0NvbnRhaW5lci5JdGVtPlxyXG5cdFx0XHRcdDxDb250YWluZXIuSXRlbVxyXG5cdFx0XHRcdFx0Y2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIlxyXG5cdFx0XHRcdFx0c3R5bGU9e3sgd2lkdGg6IFwiMzQlXCIgfX1cclxuXHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8aW1nXHJcblx0XHRcdFx0XHRcdHNyYz17YCR7aGZlU2V0dGluZ3NEYXRhLmNvbHVtbl91cmx9YH1cclxuXHRcdFx0XHRcdFx0YWx0PXtfXyhcIkNvbHVtbiBTaG93Y2FzZVwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG5cdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJ3LWZ1bGwgaC1hdXRvIHJvdW5kZWRcIlxyXG5cdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHQ8L0NvbnRhaW5lci5JdGVtPlxyXG5cdFx0XHQ8L0NvbnRhaW5lcj5cclxuXHRcdDwvZGl2PlxyXG5cdCk7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBVbHRpbWF0ZUZlYXR1cmVzO1xyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb250YWluZXIiLCJUaXRsZSIsIkJ1dHRvbiIsIlphcCIsIkNoZWNrIiwiTGluayIsInJvdXRlcyIsIl9fIiwiVWx0aW1hdGVGZWF0dXJlcyIsImZlYXR1cmVEYXRhIiwiaWQiLCJpY29uIiwidGl0bGUiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiY29udGFpbmVyVHlwZSIsImRpcmVjdGlvbiIsImp1c3RpZnkiLCJnYXAiLCJJdGVtIiwic3R5bGUiLCJ3aWR0aCIsImRlc2NyaXB0aW9uIiwiaWNvblBvc2l0aW9uIiwic2l6ZSIsInRhZyIsIm1hcCIsImZlYXR1cmUiLCJrZXkiLCJ2YXJpYW50Iiwib25DbGljayIsIndpbmRvdyIsIm9wZW4iLCJ0byIsInVwZ3JhZGUiLCJwYXRoIiwic3JjIiwiY29uY2F0IiwiaGZlU2V0dGluZ3NEYXRhIiwiY29sdW1uX3VybCIsImFsdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Components/Dashboard/UltimateFeatures.js\n"); - -/***/ }), - -/***/ "./src/Components/Dashboard/WelcomeContainer.js": -/*!******************************************************!*\ - !*** ./src/Components/Dashboard/WelcomeContainer.js ***! - \******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/plus.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/external-link.js\");\n/* harmony import */ var _HeaderLine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../HeaderLine */ \"./src/Components/HeaderLine.js\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n\nvar WelcomeContainer = function WelcomeContainer() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container, {\n align: \"center\",\n className: \"bg-background-primary border-[0.5px] border-subtle rounded-xl shadow-sm mb-6 p-8 flex flex-col lg:flex-row\",\n containerType: \"flex\",\n direction: \"row\",\n gap: \"sm\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n shrink: 1\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Title, {\n description: \"\",\n icon: null,\n iconPosition: \"right\",\n className: \"max-w-lg\",\n size: \"lg\",\n tag: \"h3\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Welcome to Ultimate Addons for Elementor!\", \"header-footer-elementor\")\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_HeaderLine__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"text-sm font-medium text-text-tertiary m-0 mt-2\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"We're excited to help you supercharge your website-building experience.Effortlessly design stunning websites with our comprehensive range of free and premium widgets and features.\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"flex items-center pt-6 gap-2\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Button, {\n iconPosition: \"right\",\n variant: \"primary\",\n className: \"bg-[#6005FF] hfe-remove-ring\",\n style: {\n backgroundColor: \"#6005FF\",\n transition: \"background-color 0.3s ease\"\n },\n onMouseEnter: function onMouseEnter(e) {\n return e.currentTarget.style.backgroundColor = \"#4B00CC\";\n },\n onMouseLeave: function onMouseLeave(e) {\n return e.currentTarget.style.backgroundColor = \"#6005FF\";\n },\n onClick: function onClick() {\n window.open(hfeSettingsData.hfe_post_url, \"_blank\");\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Create Header/Footer\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Button, {\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null),\n iconPosition: \"right\",\n variant: \"outline\",\n className: \"hfe-remove-ring\",\n style: {\n color: \"#7D4CDB\",\n borderColor: \"#E9DFFC\"\n },\n onMouseEnter: function onMouseEnter(e) {\n return e.currentTarget.style.color = \"#000000\";\n },\n onMouseLeave: function onMouseLeave(e) {\n return (e.currentTarget.style.color = \"#7D4CDB\") && (e.currentTarget.style.borderColor = \"#E9DFFC\");\n },\n onClick: function onClick() {\n window.open(hfeSettingsData.elementor_page_url, \"_blank\");\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Create New Page\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n color: \"black\",\n background: \"none\",\n border: \"none\",\n padding: 0,\n cursor: \"pointer\"\n },\n onMouseEnter: function onMouseEnter(e) {\n return e.currentTarget.style.color = \"#6005ff\";\n },\n onMouseLeave: function onMouseLeave(e) {\n return e.currentTarget.style.color = \"black\";\n },\n onClick: function onClick() {\n window.open(\"https://ultimateelementor.com/docs/getting-started-with-ultimate-addons-for-elementor-lite/\", \"_blank\");\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Button, {\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null),\n iconPosition: \"right\",\n variant: \"link\",\n className: \"hfe-remove-ring text-black\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Read full guide\", \"header-footer-elementor\")))))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (WelcomeContainer);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9EYXNoYm9hcmQvV2VsY29tZUNvbnRhaW5lci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQTBCO0FBQytCO0FBQ1A7QUFDakM7QUFDb0I7QUFFckMsSUFBTVEsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBQSxFQUFTO0VBQzlCLG9CQUNDUiwwREFBQSwyQkFDQ0EsMERBQUEsQ0FBQ0Msb0RBQVM7SUFDVFMsS0FBSyxFQUFDLFFBQVE7SUFDZEMsU0FBUyxFQUFDLDRHQUE0RztJQUN0SEMsYUFBYSxFQUFDLE1BQU07SUFDcEJDLFNBQVMsRUFBQyxLQUFLO0lBQ2ZDLEdBQUcsRUFBQztFQUFJLGdCQUVSZCwwREFBQSxDQUFDQyxvREFBUyxDQUFDYyxJQUFJO0lBQUNDLE1BQU0sRUFBRTtFQUFFLGdCQUN6QmhCLDBEQUFBLENBQUNFLGdEQUFLO0lBQ0xlLFdBQVcsRUFBQyxFQUFFO0lBQ2RDLElBQUksRUFBRSxJQUFLO0lBQ1hDLFlBQVksRUFBQyxPQUFPO0lBQ3BCUixTQUFTLEVBQUMsVUFBVTtJQUNwQlMsSUFBSSxFQUFDLElBQUk7SUFDVEMsR0FBRyxFQUFDLElBQUk7SUFDUkMsS0FBSyxFQUFFZixtREFBRSxDQUFDLDJDQUEyQyxFQUFFLHlCQUF5QjtFQUFFLENBQ2xGLENBQUMsZUFDVVAsMERBQUEsQ0FBQ00sbURBQVUsTUFBRSxDQUFDLGVBQzFCTiwwREFBQTtJQUFHVyxTQUFTLEVBQUM7RUFBaUQsR0FDNURKLG1EQUFFLENBQ0YscUxBQXFMLEVBQ3JMLHlCQUNELENBQ0UsQ0FBQyxlQUNKUCwwREFBQTtJQUFLVyxTQUFTLEVBQUM7RUFBOEIsZ0JBQzVDWCwwREFBQSxDQUFDRyxpREFBTTtJQUNOZ0IsWUFBWSxFQUFDLE9BQU87SUFDcEJJLE9BQU8sRUFBQyxTQUFTO0lBQ2pCWixTQUFTLEVBQUMsOEJBQThCO0lBQ3hDYSxLQUFLLEVBQUU7TUFDTkMsZUFBZSxFQUFFLFNBQVM7TUFDMUJDLFVBQVUsRUFBRTtJQUNiLENBQUU7SUFDRkMsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUdDLENBQUM7TUFBQSxPQUNkQSxDQUFDLENBQUNDLGFBQWEsQ0FBQ0wsS0FBSyxDQUFDQyxlQUFlLEdBQ3JDLFNBQVM7SUFBQSxDQUNWO0lBQ0RLLFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFHRixDQUFDO01BQUEsT0FDZEEsQ0FBQyxDQUFDQyxhQUFhLENBQUNMLEtBQUssQ0FBQ0MsZUFBZSxHQUNyQyxTQUFTO0lBQUEsQ0FDVjtJQUNETSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFRO01BQ2RDLE1BQU0sQ0FBQ0MsSUFBSSxDQUNWQyxlQUFlLENBQUNDLFlBQVksRUFDNUIsUUFDRCxDQUFDO0lBQ0Y7RUFBRSxHQUVENUIsbURBQUUsQ0FBQyxzQkFBc0IsRUFBRSx5QkFBeUIsQ0FDOUMsQ0FBQyxlQUNUUCwwREFBQSxDQUFDRyxpREFBTTtJQUNOZSxJQUFJLGVBQUVsQiwwREFBQSxDQUFDSyxvREFBSSxNQUFFLENBQUU7SUFDZmMsWUFBWSxFQUFDLE9BQU87SUFDcEJJLE9BQU8sRUFBQyxTQUFTO0lBQ2pCWixTQUFTLEVBQUMsaUJBQWlCO0lBQzNCYSxLQUFLLEVBQUU7TUFDTlksS0FBSyxFQUFFLFNBQVM7TUFDaEJDLFdBQVcsRUFBRTtJQUNkLENBQUU7SUFDRlYsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUdDLENBQUM7TUFBQSxPQUNkQSxDQUFDLENBQUNDLGFBQWEsQ0FBQ0wsS0FBSyxDQUFDWSxLQUFLLEdBQzNCLFNBQVM7SUFBQSxDQUNWO0lBQ0ROLFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFHRixDQUFDO01BQUEsT0FDZixDQUFDQSxDQUFDLENBQUNDLGFBQWEsQ0FBQ0wsS0FBSyxDQUFDWSxLQUFLLEdBQzNCLFNBQVMsTUFDVFIsQ0FBQyxDQUFDQyxhQUFhLENBQUNMLEtBQUssQ0FBQ2EsV0FBVyxHQUNqQyxTQUFTLENBQUM7SUFBQSxDQUNYO0lBQ0ROLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7TUFDZEMsTUFBTSxDQUFDQyxJQUFJLENBQ1ZDLGVBQWUsQ0FBQ0ksa0JBQWtCLEVBQ2xDLFFBQ0QsQ0FBQztJQUNGO0VBQUUsR0FFRC9CLG1EQUFFLENBQUMsaUJBQWlCLEVBQUUseUJBQXlCLENBQ3pDLENBQUMsZUFDVFAsMERBQUE7SUFDQ3dCLEtBQUssRUFBRTtNQUNOWSxLQUFLLEVBQUUsT0FBTztNQUNkRyxVQUFVLEVBQUUsTUFBTTtNQUNsQkMsTUFBTSxFQUFFLE1BQU07TUFDZEMsT0FBTyxFQUFFLENBQUM7TUFDVkMsTUFBTSxFQUFFO0lBQ1QsQ0FBRTtJQUNGZixZQUFZLEVBQUUsU0FBZEEsWUFBWUEsQ0FBR0MsQ0FBQztNQUFBLE9BQ2RBLENBQUMsQ0FBQ0MsYUFBYSxDQUFDTCxLQUFLLENBQUNZLEtBQUssR0FBRyxTQUFTO0lBQUEsQ0FDeEM7SUFDRE4sWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUdGLENBQUM7TUFBQSxPQUNkQSxDQUFDLENBQUNDLGFBQWEsQ0FBQ0wsS0FBSyxDQUFDWSxLQUFLLEdBQUcsT0FBTztJQUFBLENBQ3RDO0lBQ0RMLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7TUFDZEMsTUFBTSxDQUFDQyxJQUFJLENBQ1YsNkZBQTZGLEVBQzdGLFFBQ0QsQ0FBQztJQUNGO0VBQUUsZ0JBRUZqQywwREFBQSxDQUFDRyxpREFBTTtJQUNOZSxJQUFJLGVBQUVsQiwwREFBQSxDQUFDSSxvREFBWSxNQUFFLENBQUU7SUFDdkJlLFlBQVksRUFBQyxPQUFPO0lBQ3BCSSxPQUFPLEVBQUMsTUFBTTtJQUNkWixTQUFTLEVBQUM7RUFBNEIsR0FFckNKLG1EQUFFLENBQUMsaUJBQWlCLEVBQUUseUJBQXlCLENBQ3pDLENBQ0osQ0FDRCxDQUNVLENBWU4sQ0FDUCxDQUFDO0FBRVIsQ0FBQztBQUNELGlFQUFlQyxnQkFBZ0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL3NyYy9Db21wb25lbnRzL0Rhc2hib2FyZC9XZWxjb21lQ29udGFpbmVyLmpzPzAwYjQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBDb250YWluZXIsIFRpdGxlLCBCdXR0b24gfSBmcm9tIFwiQGJzZi9mb3JjZS11aVwiO1xyXG5pbXBvcnQgeyBFeHRlcm5hbExpbmssIFBsdXMgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XHJcbmltcG9ydCBIZWFkZXJMaW5lIGZyb20gJ0Bjb21wb25lbnRzL0hlYWRlckxpbmUnXHJcbmltcG9ydCB7IF9fIH0gZnJvbSBcIkB3b3JkcHJlc3MvaTE4blwiO1xyXG5cclxuY29uc3QgV2VsY29tZUNvbnRhaW5lciA9ICgpID0+IHtcclxuXHRyZXR1cm4gKFxyXG5cdFx0PGRpdj5cclxuXHRcdFx0PENvbnRhaW5lclxyXG5cdFx0XHRcdGFsaWduPVwiY2VudGVyXCJcclxuXHRcdFx0XHRjbGFzc05hbWU9XCJiZy1iYWNrZ3JvdW5kLXByaW1hcnkgYm9yZGVyLVswLjVweF0gYm9yZGVyLXN1YnRsZSByb3VuZGVkLXhsIHNoYWRvdy1zbSBtYi02IHAtOCBmbGV4IGZsZXgtY29sIGxnOmZsZXgtcm93XCJcclxuXHRcdFx0XHRjb250YWluZXJUeXBlPVwiZmxleFwiXHJcblx0XHRcdFx0ZGlyZWN0aW9uPVwicm93XCJcclxuXHRcdFx0XHRnYXA9XCJzbVwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8Q29udGFpbmVyLkl0ZW0gc2hyaW5rPXsxfT5cclxuXHRcdFx0XHRcdDxUaXRsZVxyXG5cdFx0XHRcdFx0XHRkZXNjcmlwdGlvbj1cIlwiXHJcblx0XHRcdFx0XHRcdGljb249e251bGx9XHJcblx0XHRcdFx0XHRcdGljb25Qb3NpdGlvbj1cInJpZ2h0XCJcclxuXHRcdFx0XHRcdFx0Y2xhc3NOYW1lPVwibWF4LXctbGdcIlxyXG5cdFx0XHRcdFx0XHRzaXplPVwibGdcIlxyXG5cdFx0XHRcdFx0XHR0YWc9XCJoM1wiXHJcblx0XHRcdFx0XHRcdHRpdGxlPXtfXyhcIldlbGNvbWUgdG8gVWx0aW1hdGUgQWRkb25zIGZvciBFbGVtZW50b3IhXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcblx0XHRcdFx0XHQvPlxyXG4gICAgICAgICAgICAgICAgXHQ8SGVhZGVyTGluZSAvPlxyXG5cdFx0XHRcdFx0PHAgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXRleHQtdGVydGlhcnkgbS0wIG10LTJcIj5cclxuXHRcdFx0XHRcdFx0e19fKFxyXG5cdFx0XHRcdFx0XHRcdFwiV2UncmUgZXhjaXRlZCB0byBoZWxwIHlvdSBzdXBlcmNoYXJnZSB5b3VyIHdlYnNpdGUtYnVpbGRpbmcgZXhwZXJpZW5jZS5FZmZvcnRsZXNzbHkgZGVzaWduIHN0dW5uaW5nIHdlYnNpdGVzIHdpdGggb3VyIGNvbXByZWhlbnNpdmUgcmFuZ2Ugb2YgZnJlZSBhbmQgcHJlbWl1bSB3aWRnZXRzIGFuZCBmZWF0dXJlcy5cIixcclxuXHRcdFx0XHRcdFx0XHRcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCJcclxuXHRcdFx0XHRcdFx0KX1cclxuXHRcdFx0XHRcdDwvcD5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgcHQtNiBnYXAtMlwiPlxyXG5cdFx0XHRcdFx0XHQ8QnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0aWNvblBvc2l0aW9uPVwicmlnaHRcIlxyXG5cdFx0XHRcdFx0XHRcdHZhcmlhbnQ9XCJwcmltYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJiZy1bIzYwMDVGRl0gaGZlLXJlbW92ZS1yaW5nXCJcclxuXHRcdFx0XHRcdFx0XHRzdHlsZT17e1xyXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZENvbG9yOiBcIiM2MDA1RkZcIixcclxuXHRcdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IFwiYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2VcIixcclxuXHRcdFx0XHRcdFx0XHR9fVxyXG5cdFx0XHRcdFx0XHRcdG9uTW91c2VFbnRlcj17KGUpID0+XHJcblx0XHRcdFx0XHRcdFx0XHQoZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmRDb2xvciA9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFwiIzRCMDBDQ1wiKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRvbk1vdXNlTGVhdmU9eyhlKSA9PlxyXG5cdFx0XHRcdFx0XHRcdFx0KGUuY3VycmVudFRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcIiM2MDA1RkZcIilcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0b25DbGljaz17KCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0d2luZG93Lm9wZW4oXHJcblx0XHRcdFx0XHRcdFx0XHRcdGhmZVNldHRpbmdzRGF0YS5oZmVfcG9zdF91cmwsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFwiX2JsYW5rXCJcclxuXHRcdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0fX1cclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdHtfXyhcIkNyZWF0ZSBIZWFkZXIvRm9vdGVyXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcblx0XHRcdFx0XHRcdDwvQnV0dG9uPlxyXG5cdFx0XHRcdFx0XHQ8QnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0aWNvbj17PFBsdXMgLz59XHJcblx0XHRcdFx0XHRcdFx0aWNvblBvc2l0aW9uPVwicmlnaHRcIlxyXG5cdFx0XHRcdFx0XHRcdHZhcmlhbnQ9XCJvdXRsaW5lXCJcclxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJoZmUtcmVtb3ZlLXJpbmdcIlxyXG5cdFx0XHRcdFx0XHRcdHN0eWxlPXt7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogXCIjN0Q0Q0RCXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRib3JkZXJDb2xvcjogXCIjRTlERkZDXCIsXHJcblx0XHRcdFx0XHRcdFx0fX1cclxuXHRcdFx0XHRcdFx0XHRvbk1vdXNlRW50ZXI9eyhlKSA9PlxyXG5cdFx0XHRcdFx0XHRcdFx0KGUuY3VycmVudFRhcmdldC5zdHlsZS5jb2xvciA9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFwiIzAwMDAwMFwiKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRvbk1vdXNlTGVhdmU9eyhlKSA9PlxyXG5cdFx0XHRcdFx0XHRcdFx0KGUuY3VycmVudFRhcmdldC5zdHlsZS5jb2xvciA9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFwiIzdENENEQlwiKSAmJlxyXG5cdFx0XHRcdFx0XHRcdFx0KGUuY3VycmVudFRhcmdldC5zdHlsZS5ib3JkZXJDb2xvciA9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFwiI0U5REZGQ1wiKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRvbkNsaWNrPXsoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHR3aW5kb3cub3BlbihcclxuXHRcdFx0XHRcdFx0XHRcdFx0aGZlU2V0dGluZ3NEYXRhLmVsZW1lbnRvcl9wYWdlX3VybCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XCJfYmxhbmtcIlxyXG5cdFx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0XHR9fVxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0e19fKFwiQ3JlYXRlIE5ldyBQYWdlXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcblx0XHRcdFx0XHRcdDwvQnV0dG9uPlxyXG5cdFx0XHRcdFx0XHQ8ZGl2XHJcblx0XHRcdFx0XHRcdFx0c3R5bGU9e3tcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiBcImJsYWNrXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdFx0XHRcdGJvcmRlcjogXCJub25lXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y3Vyc29yOiBcInBvaW50ZXJcIixcclxuXHRcdFx0XHRcdFx0XHR9fVxyXG5cdFx0XHRcdFx0XHRcdG9uTW91c2VFbnRlcj17KGUpID0+XHJcblx0XHRcdFx0XHRcdFx0XHQoZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmNvbG9yID0gXCIjNjAwNWZmXCIpXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdG9uTW91c2VMZWF2ZT17KGUpID0+XHJcblx0XHRcdFx0XHRcdFx0XHQoZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmNvbG9yID0gXCJibGFja1wiKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRvbkNsaWNrPXsoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHR3aW5kb3cub3BlbihcclxuXHRcdFx0XHRcdFx0XHRcdFx0XCJodHRwczovL3VsdGltYXRlZWxlbWVudG9yLmNvbS9kb2NzL2dldHRpbmctc3RhcnRlZC13aXRoLXVsdGltYXRlLWFkZG9ucy1mb3ItZWxlbWVudG9yLWxpdGUvXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFwiX2JsYW5rXCJcclxuXHRcdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0fX1cclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDxCdXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdGljb249ezxFeHRlcm5hbExpbmsgLz59XHJcblx0XHRcdFx0XHRcdFx0XHRpY29uUG9zaXRpb249XCJyaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0XHR2YXJpYW50PVwibGlua1wiXHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJoZmUtcmVtb3ZlLXJpbmcgdGV4dC1ibGFja1wiXHJcblx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdFx0e19fKFwiUmVhZCBmdWxsIGd1aWRlXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcblx0XHRcdFx0XHRcdFx0PC9CdXR0b24+XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9Db250YWluZXIuSXRlbT5cclxuXHRcdFx0XHR7LyogPENvbnRhaW5lci5JdGVtIGNsYXNzTmFtZT1cIm1kOm10LTAgbXQtNFwiPlxyXG5cdFx0XHRcdDxpZnJhbWVcclxuXHRcdFx0XHRcdFx0d2lkdGg9XCIyODBcIlxyXG5cdFx0XHRcdFx0XHRoZWlnaHQ9XCIxNjBcIlxyXG5cdFx0XHRcdFx0XHRzcmM9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9aZW9nT3hxZEtKSVwiXHJcblx0XHRcdFx0XHRcdGZyYW1lQm9yZGVyPVwiMFwiXHJcblx0XHRcdFx0XHRcdHN0eWxlPXt7IGJvcmRlclJhZGl1czogXCI4cHhcIiB9fVxyXG5cdFx0XHRcdFx0XHRhbGxvdz1cImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmVcIlxyXG5cdFx0XHRcdFx0XHRhbGxvd0Z1bGxTY3JlZW5cclxuXHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0PC9Db250YWluZXIuSXRlbT4gKi99XHJcblx0XHRcdDwvQ29udGFpbmVyPlxyXG5cdFx0PC9kaXY+XHJcblx0KTtcclxufTtcclxuZXhwb3J0IGRlZmF1bHQgV2VsY29tZUNvbnRhaW5lcjtcclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiQ29udGFpbmVyIiwiVGl0bGUiLCJCdXR0b24iLCJFeHRlcm5hbExpbmsiLCJQbHVzIiwiSGVhZGVyTGluZSIsIl9fIiwiV2VsY29tZUNvbnRhaW5lciIsImNyZWF0ZUVsZW1lbnQiLCJhbGlnbiIsImNsYXNzTmFtZSIsImNvbnRhaW5lclR5cGUiLCJkaXJlY3Rpb24iLCJnYXAiLCJJdGVtIiwic2hyaW5rIiwiZGVzY3JpcHRpb24iLCJpY29uIiwiaWNvblBvc2l0aW9uIiwic2l6ZSIsInRhZyIsInRpdGxlIiwidmFyaWFudCIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwidHJhbnNpdGlvbiIsIm9uTW91c2VFbnRlciIsImUiLCJjdXJyZW50VGFyZ2V0Iiwib25Nb3VzZUxlYXZlIiwib25DbGljayIsIndpbmRvdyIsIm9wZW4iLCJoZmVTZXR0aW5nc0RhdGEiLCJoZmVfcG9zdF91cmwiLCJjb2xvciIsImJvcmRlckNvbG9yIiwiZWxlbWVudG9yX3BhZ2VfdXJsIiwiYmFja2dyb3VuZCIsImJvcmRlciIsInBhZGRpbmciLCJjdXJzb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/Components/Dashboard/WelcomeContainer.js\n"); - -/***/ }), - -/***/ "./src/Components/Dashboard/WidgetItem.jsx": -/*!*************************************************!*\ - !*** ./src/Components/Dashboard/WidgetItem.jsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/file-text.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/info.js\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n\n// Create a queue to manage AJAX requests\nvar requestQueue = [];\nvar processQueue = function processQueue() {\n if (requestQueue.length === 0) return;\n\n // Take the first item from the queue and run it\n var currentRequest = requestQueue.shift();\n currentRequest();\n};\nvar WidgetItem = function WidgetItem(_ref) {\n var widget = _ref.widget,\n updateCounter = _ref.updateCounter;\n var id = widget.id,\n icon = widget.icon,\n title = widget.title,\n infoText = widget.infoText,\n is_pro = widget.is_pro,\n is_active = widget.is_active,\n slug = widget.slug,\n demo_url = widget.demo_url,\n doc_url = widget.doc_url,\n description = widget.description,\n is_new = widget.is_new;\n\n // Track the active state of the widget using React state\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(widget.is_active),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState, 2),\n isActive = _useState2[0],\n setIsActive = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState3, 2),\n isLoading = _useState4[0],\n setIsLoading = _useState4[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n // Update local state when the widget prop changes\n setIsActive(widget.is_active);\n }, [widget.is_active, updateCounter]);\n var apiCall = function apiCall(activateWidget) {\n var action = activateWidget ? 'hfe_deactivate_widget' : 'hfe_activate_widget';\n var formData = new window.FormData();\n formData.append('action', action);\n formData.append('nonce', hfe_admin_data.nonce);\n formData.append('module_id', id);\n formData.append('is_pro', is_pro);\n try {\n var data = _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default()({\n url: hfe_admin_data.ajax_url,\n method: 'POST',\n body: formData\n });\n if (data.success) {\n setIsActive(isActive); // Update the active state after the request\n } else if (data.error) {}\n } catch (err) {} finally {\n setIsLoading(false); // Always stop the loading spinner\n processQueue();\n }\n };\n var handleSwitchChange = function handleSwitchChange() {\n if (isLoading) return;\n setIsLoading(true);\n if (isActive) {\n // Add the request to the queue\n setIsActive(false);\n requestQueue.push(function () {\n return apiCall(isActive);\n });\n } else {\n // Add the request to the queue\n setIsActive(true);\n requestQueue.push(function () {\n return apiCall(isActive);\n });\n }\n if (requestQueue.length === 1) {\n // Start processing the queue if no other request is being processed\n processQueue();\n }\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Container, {\n align: \"center\",\n containerType: \"flex\",\n direction: \"column\",\n justify: \"between\",\n gap: \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex items-center justify-between w-full\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"h-10 w-10 mb-5 \".concat(icon === null || icon === void 0 ? void 0 : icon.props),\n style: {\n fontSize: '22px'\n }\n }, icon), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex items-center gap-x-2\",\n style: {\n marginBottom: '15px'\n }\n }, is_pro && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Badge, {\n label: \"PRO\",\n size: \"xs\",\n type: \"pill\",\n variant: \"inverse\"\n }), !is_pro && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Switch, {\n onChange: handleSwitchChange // Updated to use the new function\n ,\n size: \"sm\",\n value: isActive,\n className: \"hfe-remove-ring\"\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex flex-col w-full\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"p\", {\n className: \"text-sm font-medium text-text-primary pt-3 m-0 pb-1\"\n }, title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex items-center justify-between w-full\"\n }, demo_url && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"a\", {\n href: demo_url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"text-sm text-text-tertiary m-0 mb-1 hfe-remove-ring\",\n style: {\n textDecoration: 'none',\n lineHeight: '1.5rem'\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('View Demo', 'header-footer-elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"\".concat(!demo_url ? 'hfe-tooltip-wrap' : '')\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Tooltip, {\n arrow: true,\n content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"font-semibold block mb-2\"\n }, title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", {\n className: \"block mb-2\"\n }, description), doc_url && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"a\", {\n href: doc_url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"cursor-pointer\",\n style: {\n color: '#6005ff',\n textDecoration: 'none'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n style: {\n color: '#6005ff',\n width: '11px',\n height: '11px',\n marginRight: '3px'\n }\n }), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Read Documentation', 'header-footer-elementor'))),\n placement: \"bottom\",\n title: \"\",\n triggers: ['click'],\n variant: \"dark\",\n size: \"xs\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-5 w-5\",\n size: 18,\n color: \"#A0A5B2\"\n }))))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (WidgetItem);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9EYXNoYm9hcmQvV2lkZ2V0SXRlbS5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFrRDtBQUNnQjtBQUNoQjtBQUNOO0FBQ1A7O0FBRXJDO0FBQ0EsSUFBTVcsWUFBWSxHQUFHLEVBQUU7QUFFdkIsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztFQUN2QixJQUFJRCxZQUFZLENBQUNFLE1BQU0sS0FBSyxDQUFDLEVBQUU7O0VBRS9CO0VBQ0EsSUFBTUMsY0FBYyxHQUFHSCxZQUFZLENBQUNJLEtBQUssQ0FBQyxDQUFDO0VBQzNDRCxjQUFjLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBRUQsSUFBTUUsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUFDLElBQUEsRUFHVjtFQUFBLElBRkZDLE1BQU0sR0FBQUQsSUFBQSxDQUFOQyxNQUFNO0lBQ05DLGFBQWEsR0FBQUYsSUFBQSxDQUFiRSxhQUFhO0VBRWIsSUFDSUMsRUFBRSxHQVdGRixNQUFNLENBWE5FLEVBQUU7SUFDRkMsSUFBSSxHQVVKSCxNQUFNLENBVk5HLElBQUk7SUFDSkMsS0FBSyxHQVNMSixNQUFNLENBVE5JLEtBQUs7SUFDTEMsUUFBUSxHQVFSTCxNQUFNLENBUk5LLFFBQVE7SUFDUkMsTUFBTSxHQU9OTixNQUFNLENBUE5NLE1BQU07SUFDTkMsU0FBUyxHQU1UUCxNQUFNLENBTk5PLFNBQVM7SUFDVEMsSUFBSSxHQUtKUixNQUFNLENBTE5RLElBQUk7SUFDSkMsUUFBUSxHQUlSVCxNQUFNLENBSk5TLFFBQVE7SUFDUkMsT0FBTyxHQUdQVixNQUFNLENBSE5VLE9BQU87SUFDUEMsV0FBVyxHQUVYWCxNQUFNLENBRk5XLFdBQVc7SUFDWEMsTUFBTSxHQUNOWixNQUFNLENBRE5ZLE1BQU07O0VBR1Y7RUFDQSxJQUFBQyxTQUFBLEdBQWdDN0IsK0NBQVEsQ0FBQ2dCLE1BQU0sQ0FBQ08sU0FBUyxDQUFDO0lBQUFPLFVBQUEsR0FBQUMsZ0ZB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QUEsMkJBQ0lBLDBEQUFBO01BQU1pRSxTQUFTLEVBQUM7SUFBMEIsR0FBRTNDLEtBQVksQ0FBQyxlQUN6RHRCLDBEQUFBO01BQU1pRSxTQUFTLEVBQUM7SUFBWSxHQUFFcEMsV0FBa0IsQ0FBQyxFQUNoREQsT0FBTyxpQkFDSjVCLDBEQUFBO01BQUc2RSxJQUFJLEVBQUVqRCxPQUFRO01BQUNrRCxNQUFNLEVBQUMsUUFBUTtNQUFDQyxHQUFHLEVBQUMscUJBQXFCO01BQUNkLFNBQVMsRUFBQyxnQkFBZ0I7TUFBQ0csS0FBSyxFQUFFO1FBQUVnQixLQUFLLEVBQUUsU0FBUztRQUFFSixjQUFjLEVBQUU7TUFBTztJQUFFLGdCQUN2SWhGLDBEQUFBLENBQUNRLG9EQUFRO01BQUM0RCxLQUFLLEVBQUU7UUFBRWdCLEtBQUssRUFBRSxTQUFTO1FBQUVDLEtBQUssRUFBRSxNQUFNO1FBQUVDLE1BQU0sRUFBRSxNQUFNO1FBQUVDLFdBQVcsRUFBRTtNQUFNO0lBQUUsQ0FBRSxDQUFDLEVBQzNGN0UsbURBQUUsQ0FBQyxvQkFBb0IsRUFBRSx5QkFBeUIsQ0FDcEQsQ0FFTixDQUNSO0lBQ0Q4RSxTQUFTLEVBQUMsUUFBUTtJQUNsQmxFLEtBQUssRUFBQyxFQUFFO0lBQ1JtRSxRQUFRLEVBQUUsQ0FDTixPQUFPLENBQ1Q7SUFDRmYsT0FBTyxFQUFDLE1BQU07SUFDZEYsSUFBSSxFQUFDO0VBQUksZ0JBRVR4RSwwREFBQSxDQUFDTyxvREFBUTtJQUFDMEQsU0FBUyxFQUFDLFNBQVM7SUFBQ08sSUFBSSxFQUFFLEVBQUc7SUFBQ1ksS0FBSyxFQUFDO0VBQVMsQ0FBRSxDQUNwRCxDQUNSLENBQ0osQ0FDSixDQUNFLENBQUM7QUFFcEIsQ0FBQztBQUVELGlFQUFlcEUsVUFBVSIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vc3JjL0NvbXBvbmVudHMvRGFzaGJvYXJkL1dpZGdldEl0ZW0uanN4PzkxMDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcclxuaW1wb3J0IHsgQ29udGFpbmVyLCBTd2l0Y2gsIFRvb2x0aXAsIEJhZGdlIH0gZnJvbSBcIkBic2YvZm9yY2UtdWlcIjtcclxuaW1wb3J0IHsgSW5mb0ljb24sIEZpbGVUZXh0IH0gZnJvbSAnbHVjaWRlLXJlYWN0JztcclxuaW1wb3J0IGFwaUZldGNoIGZyb20gJ0B3b3JkcHJlc3MvYXBpLWZldGNoJztcclxuaW1wb3J0IHsgX18gfSBmcm9tICdAd29yZHByZXNzL2kxOG4nO1xyXG5cclxuLy8gQ3JlYXRlIGEgcXVldWUgdG8gbWFuYWdlIEFKQVggcmVxdWVzdHNcclxuY29uc3QgcmVxdWVzdFF1ZXVlID0gW107XHJcblxyXG5jb25zdCBwcm9jZXNzUXVldWUgPSAoKSA9PiB7XHJcbiAgICBpZiAocmVxdWVzdFF1ZXVlLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG5cclxuICAgIC8vIFRha2UgdGhlIGZpcnN0IGl0ZW0gZnJvbSB0aGUgcXVldWUgYW5kIHJ1biBpdFxyXG4gICAgY29uc3QgY3VycmVudFJlcXVlc3QgPSByZXF1ZXN0UXVldWUuc2hpZnQoKTtcclxuICAgIGN1cnJlbnRSZXF1ZXN0KCk7XHJcbn07XHJcblxyXG5jb25zdCBXaWRnZXRJdGVtID0gKHtcclxuICAgIHdpZGdldCxcclxuICAgIHVwZGF0ZUNvdW50ZXJcclxufSkgPT4ge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICAgIGlkLFxyXG4gICAgICAgIGljb24sXHJcbiAgICAgICAgdGl0bGUsXHJcbiAgICAgICAgaW5mb1RleHQsXHJcbiAgICAgICAgaXNfcHJvLFxyXG4gICAgICAgIGlzX2FjdGl2ZSxcclxuICAgICAgICBzbHVnLFxyXG4gICAgICAgIGRlbW9fdXJsLFxyXG4gICAgICAgIGRvY191cmwsXHJcbiAgICAgICAgZGVzY3JpcHRpb24sXHJcbiAgICAgICAgaXNfbmV3XHJcbiAgICB9ID0gd2lkZ2V0XHJcblxyXG4gICAgLy8gVHJhY2sgdGhlIGFjdGl2ZSBzdGF0ZSBvZiB0aGUgd2lkZ2V0IHVzaW5nIFJlYWN0IHN0YXRlXHJcbiAgICBjb25zdCBbaXNBY3RpdmUsIHNldElzQWN0aXZlXSA9IHVzZVN0YXRlKHdpZGdldC5pc19hY3RpdmUpO1xyXG4gICAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuXHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIC8vIFVwZGF0ZSBsb2NhbCBzdGF0ZSB3aGVuIHRoZSB3aWRnZXQgcHJvcCBjaGFuZ2VzXHJcbiAgICAgICAgc2V0SXNBY3RpdmUod2lkZ2V0LmlzX2FjdGl2ZSk7XHJcbiAgICB9LCBbd2lkZ2V0LmlzX2FjdGl2ZSwgdXBkYXRlQ291bnRlcl0pO1xyXG5cclxuICAgIGNvbnN0IGFwaUNhbGwgPSAoYWN0aXZhdGVXaWRnZXQpID0+IHtcclxuICAgICAgICBjb25zdCBhY3Rpb24gPSBhY3RpdmF0ZVdpZGdldCA/ICdoZmVfZGVhY3RpdmF0ZV93aWRnZXQnIDogJ2hmZV9hY3RpdmF0ZV93aWRnZXQnO1xyXG5cclxuICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyB3aW5kb3cuRm9ybURhdGEoKTtcclxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2FjdGlvbicsIGFjdGlvbik7XHJcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdub25jZScsIGhmZV9hZG1pbl9kYXRhLm5vbmNlKTtcclxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ21vZHVsZV9pZCcsIGlkKTtcclxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2lzX3BybycsIGlzX3Bybyk7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhcGlGZXRjaCh7XHJcbiAgICAgICAgICAgICAgICB1cmw6IGhmZV9hZG1pbl9kYXRhLmFqYXhfdXJsLFxyXG4gICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgICAgICAgICBib2R5OiBmb3JtRGF0YSxcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBpZiAoZGF0YS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICBzZXRJc0FjdGl2ZShpc0FjdGl2ZSk7ICAvLyBVcGRhdGUgdGhlIGFjdGl2ZSBzdGF0ZSBhZnRlciB0aGUgcmVxdWVzdFxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEuZXJyb3IpIHtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpOyAgLy8gQWx3YXlzIHN0b3AgdGhlIGxvYWRpbmcgc3Bpbm5lclxyXG4gICAgICAgICAgICBwcm9jZXNzUXVldWUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaGFuZGxlU3dpdGNoQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIGlmIChpc0xvYWRpbmcpIHJldHVybjtcclxuXHJcbiAgICAgICAgc2V0SXNMb2FkaW5nKHRydWUpO1xyXG5cclxuICAgICAgICBpZiAoaXNBY3RpdmUpIHtcclxuICAgICAgICAgICAgLy8gQWRkIHRoZSByZXF1ZXN0IHRvIHRoZSBxdWV1ZVxyXG4gICAgICAgICAgICBzZXRJc0FjdGl2ZShmYWxzZSk7XHJcbiAgICAgICAgICAgIHJlcXVlc3RRdWV1ZS5wdXNoKCgpID0+IGFwaUNhbGwoaXNBY3RpdmUpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBBZGQgdGhlIHJlcXVlc3QgdG8gdGhlIHF1ZXVlXHJcbiAgICAgICAgICAgIHNldElzQWN0aXZlKHRydWUpO1xyXG4gICAgICAgICAgICByZXF1ZXN0UXVldWUucHVzaCgoKSA9PiBhcGlDYWxsKGlzQWN0aXZlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChyZXF1ZXN0UXVldWUubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICAgIC8vIFN0YXJ0IHByb2Nlc3NpbmcgdGhlIHF1ZXVlIGlmIG5vIG90aGVyIHJlcXVlc3QgaXMgYmVpbmcgcHJvY2Vzc2VkXHJcbiAgICAgICAgICAgIHByb2Nlc3NRdWV1ZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8Q29udGFpbmVyIGFsaWduPVwiY2VudGVyXCJcclxuICAgICAgICAgICAgY29udGFpbmVyVHlwZT1cImZsZXhcIlxyXG4gICAgICAgICAgICBkaXJlY3Rpb249XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICBqdXN0aWZ5PVwiYmV0d2VlblwiXHJcbiAgICAgICAgICAgIGdhcD1cIlwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHctZnVsbCc+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YGgtMTAgdy0xMCBtYi01ICR7aWNvbj8ucHJvcHN9YH0gc3R5bGU9e3sgZm9udFNpemU6ICcyMnB4JyB9fT5cclxuICAgICAgICAgICAgICAgICAgICB7aWNvbn1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC0yJyBzdHlsZT17eyBtYXJnaW5Cb3R0b206ICcxNXB4JyB9fT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAge2lzX3BybyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCYWRnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJQUk9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJwaWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJpbnZlcnNlXCJcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+KX1cclxuICAgICAgICAgICAgICAgICAgICB7IWlzX3BybyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVTd2l0Y2hDaGFuZ2V9IC8vIFVwZGF0ZWQgdG8gdXNlIHRoZSBuZXcgZnVuY3Rpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9J3NtJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2lzQWN0aXZlfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaGZlLXJlbW92ZS1yaW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgLz4pfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nZmxleCBmbGV4LWNvbCB3LWZ1bGwnPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPSd0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtdGV4dC1wcmltYXJ5IHB0LTMgbS0wIHBiLTEnPnt0aXRsZX08L3A+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHctZnVsbCc+XHJcbiAgICAgICAgICAgICAgICAgICAge2RlbW9fdXJsICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj17ZGVtb191cmx9IHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiBjbGFzc05hbWU9J3RleHQtc20gdGV4dC10ZXh0LXRlcnRpYXJ5IG0tMCBtYi0xIGhmZS1yZW1vdmUtcmluZycgc3R5bGU9e3sgdGV4dERlY29yYXRpb246ICdub25lJywgbGluZUhlaWdodDogJzEuNXJlbScgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7X18oJ1ZpZXcgRGVtbycsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7IWRlbW9fdXJsID8gJ2hmZS10b29sdGlwLXdyYXAnIDogJyd9YH0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxUb29sdGlwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvd1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudD17XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSdmb250LXNlbWlib2xkIGJsb2NrIG1iLTInPnt0aXRsZX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nYmxvY2sgbWItMic+e2Rlc2NyaXB0aW9ufTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2RvY191cmwgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj17ZG9jX3VybH0gdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiIGNsYXNzTmFtZT0nY3Vyc29yLXBvaW50ZXInIHN0eWxlPXt7IGNvbG9yOiAnIzYwMDVmZicsIHRleHREZWNvcmF0aW9uOiAnbm9uZScgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpbGVUZXh0IHN0eWxlPXt7IGNvbG9yOiAnIzYwMDVmZicsIHdpZHRoOiAnMTFweCcsIGhlaWdodDogJzExcHgnLCBtYXJnaW5SaWdodDogJzNweCcgfX0gLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7X18oJ1JlYWQgRG9jdW1lbnRhdGlvbicsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJzPXtbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NsaWNrJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJ4c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbmZvSWNvbiBjbGFzc05hbWU9J2gtNSB3LTUnIHNpemU9ezE4fSBjb2xvcj1cIiNBMEE1QjJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICApXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IFdpZGdldEl0ZW1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJDb250YWluZXIiLCJTd2l0Y2giLCJUb29sdGlwIiwiQmFkZ2UiLCJJbmZvSWNvbiIsIkZpbGVUZXh0IiwiYXBpRmV0Y2giLCJfXyIsInJlcXVlc3RRdWV1ZSIsInByb2Nlc3NRdWV1ZSIsImxlbmd0aCIsImN1cnJlbnRSZXF1ZXN0Iiwic2hpZnQiLCJXaWRnZXRJdGVtIiwiX3JlZiIsIndpZGdldCIsInVwZGF0ZUNvdW50ZXIiLCJpZCIsImljb24iLCJ0aXRsZSIsImluZm9UZXh0IiwiaXNfcHJvIiwiaXNfYWN0aXZlIiwic2x1ZyIsImRlbW9fdXJsIiwiZG9jX3VybCIsImRlc2NyaXB0aW9uIiwiaXNfbmV3IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNBY3RpdmUiLCJzZXRJc0FjdGl2ZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiYXBpQ2FsbCIsImFjdGl2YXRlV2lkZ2V0IiwiYWN0aW9uIiwiZm9ybURhdGEiLCJ3aW5kb3ciLCJGb3JtRGF0YSIsImFwcGVuZCIsImhmZV9hZG1pbl9kYXRhIiwibm9uY2UiLCJkYXRhIiwidXJsIiwiYWpheF91cmwiLCJtZXRob2QiLCJib2R5Iiwic3VjY2VzcyIsImVycm9yIiwiZXJyIiwiaGFuZGxlU3dpdGNoQ2hhbmdlIiwicHVzaCIsImNyZWF0ZUVsZW1lbnQiLCJhbGlnbiIsImNvbnRhaW5lclR5cGUiLCJkaXJlY3Rpb24iLCJqdXN0aWZ5IiwiZ2FwIiwiY2xhc3NOYW1lIiwiY29uY2F0IiwicHJvcHMiLCJzdHlsZSIsImZvbnRTaXplIiwibWFyZ2luQm90dG9tIiwibGFiZWwiLCJzaXplIiwidHlwZSIsInZhcmlhbnQiLCJvbkNoYW5nZSIsInZhbHVlIiwiaHJlZiIsInRhcmdldCIsInJlbCIsInRleHREZWNvcmF0aW9uIiwibGluZUhlaWdodCIsImFycm93IiwiY29udGVudCIsImNvbG9yIiwid2lkdGgiLCJoZWlnaHQiLCJtYXJnaW5SaWdodCIsInBsYWNlbWVudCIsInRyaWdnZXJzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/Components/Dashboard/WidgetItem.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Dashboard/Widgets.jsx": -/*!**********************************************!*\ - !*** ./src/Components/Dashboard/Widgets.jsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _WidgetItem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./WidgetItem */ \"./src/Components/Dashboard/WidgetItem.jsx\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/arrow-up-right.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _admin_settings_routes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../admin/settings/routes */ \"./src/admin/settings/routes.js\");\n/* harmony import */ var _router_index__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../router/index */ \"./src/router/index.js\");\n\n\n\n\n\n\n\n\n\n\nvar Widgets = function Widgets() {\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(null),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState, 2),\n allWidgetsData = _useState2[0],\n setAllWidgetsData = _useState2[1]; // Initialize state.\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(true),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState3, 2),\n loading = _useState4[0],\n setLoading = _useState4[1];\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {\n var fetchSettings = function fetchSettings() {\n setLoading(true);\n _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_5___default()({\n path: '/hfe/v1/widgets',\n headers: {\n 'Content-Type': 'application/json',\n 'X-WP-Nonce': hfeSettingsData.hfe_nonce_action // Use the correct nonce\n }\n }).then(function (data) {\n var widgetsData = convertToWidgetsArray(data);\n setAllWidgetsData(widgetsData);\n setLoading(false); // Stop loading\n })[\"catch\"](function (err) {\n setLoading(false); // Stop loading\n });\n };\n fetchSettings();\n }, []);\n function convertToWidgetsArray(data) {\n var widgets = [];\n for (var key in data) {\n if (data.hasOwnProperty(key)) {\n var widget = data[key];\n widgets.push({\n id: key,\n // Using the key as 'widgetTitle'\n slug: widget.slug,\n title: widget.title,\n keywords: widget.keywords,\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"i\", {\n className: widget.icon\n }),\n title_url: widget.title_url,\n \"default\": widget[\"default\"],\n doc_url: widget.doc_url,\n is_pro: widget.is_pro,\n description: widget.description,\n is_active: widget.is_activate !== undefined ? widget.is_activate : true,\n // Check if is_activate is set\n demo_url: widget.demo_url !== undefined ? widget.demo_url : widget.doc_url\n });\n }\n }\n return widgets;\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"rounded-lg bg-white w-full mb-6\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"flex items-center justify-between p-4\",\n style: {\n paddingBottom: '0'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"p\", {\n className: \"m-0 text-sm font-semibold text-text-primary\"\n }, \"Widgets / Features\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"flex items-center gap-x-2 mr-7\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_router_index__WEBPACK_IMPORTED_MODULE_8__.Link, {\n to: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_7__.routes.widgets.path,\n className: \"text-sm text-text-primary cursor-pointer\",\n style: {\n lineHeight: '1rem'\n }\n }, \"View All\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"ml-1\",\n size: 13\n })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: \"flex bg-black flex-col rounded-lg p-4\"\n }, loading ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__.Container, {\n align: \"stretch\",\n className: \"p-2 gap-1.5 grid grid-cols-2 md:grid-cols-4\",\n style: {\n backgroundColor: \"#F9FAFB\"\n },\n containerType: \"grid\",\n gap: \"\",\n justify: \"start\"\n }, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Array(16)).map(function (_, index) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__.Container.Item, {\n key: index,\n alignSelf: \"auto\",\n className: \"text-wrap rounded-md shadow-container-item bg-background-primary p-6 space-y-2\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__.Skeleton, {\n className: \"w-12 h-2 rounded-md\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__.Skeleton, {\n className: \"w-16 h-2 rounded-md\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__.Skeleton, {\n className: \"w-12 h-2 rounded-md\"\n }));\n })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__.Container, {\n align: \"stretch\",\n className: \"p-2 gap-1.5 grid grid-cols-2 md:grid-cols-4\",\n style: {\n backgroundColor: \"#F9FAFB\"\n },\n containerType: \"grid\",\n gap: \"\",\n justify: \"start\"\n }, allWidgetsData === null || allWidgetsData === void 0 ? void 0 : allWidgetsData.slice(0, 16).map(function (widget) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__.Container.Item, {\n key: widget.id,\n alignSelf: \"auto\",\n className: \"text-wrap rounded-md shadow-container-item bg-background-primary p-4\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_WidgetItem__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n widget: widget,\n key: widget.id,\n updateCounter: 0\n }));\n }))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Widgets);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FBRSxDQUFDLGVBQzVDMUMsMERBQUEsQ0FBQ00sbURBQVE7TUFBQ29DLFNBQVMsRUFBQztJQUFxQixDQUFFLENBQUMsZUFDNUMxQywwREFBQSxDQUFDTSxtREFBUTtNQUFDb0MsU0FBUyxFQUFDO0lBQXFCLENBQUUsQ0FDL0IsQ0FBQztFQUFBLENBQ3BCLENBQ00sQ0FBQyxnQkFFWjFDLDBEQUFBLENBQUNLLG9EQUFTO0lBQ05tRCxLQUFLLEVBQUMsU0FBUztJQUNmZCxTQUFTLEVBQUMsNkNBQTZDO0lBQ3ZEUyxLQUFLLEVBQUU7TUFDSE0sZUFBZSxFQUFFO0lBQ3JCLENBQUU7SUFDRkMsYUFBYSxFQUFDLE1BQU07SUFDcEJDLEdBQUcsRUFBQyxFQUFFO0lBQ05DLE9BQU8sRUFBQztFQUFPLEdBRWQ3QyxjQUFjLGFBQWRBLGNBQWMsdUJBQWRBLGNBQWMsQ0FBRXFELEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUNMLEdBQUcsQ0FBQyxVQUFDN0IsTUFBTTtJQUFBLG9CQUNyQ2xDLDBEQUFBLENBQUNLLG9EQUFTLENBQUM2RCxJQUFJO01BQ1hsQyxHQUFHLEVBQUVFLE1BQU0sQ0FBQ0UsRUFBRztNQUNmK0IsU0FBUyxFQUFDLE1BQU07TUFDaEJ6QixTQUFTLEVBQUM7SUFBc0UsZ0JBRWhGMUMsMERBQUEsQ0FBQ0csbURBQVU7TUFBQytCLE1BQU0sRUFBRUEsTUFBTztNQUFDRixHQUFHLEVBQUVFLE1BQU0sQ0FBQ0UsRUFBRztNQUFDaUMsYUFBYSxFQUFFO0lBQUUsQ0FBRSxDQUNuRCxDQUFDO0VBQUEsQ0FDcEIsQ0FDTSxDQUVkLENBQ0osQ0FBQztBQUVkLENBQUM7QUFFRCxpRUFBZTFELE9BQU8iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL3NyYy9Db21wb25lbnRzL0Rhc2hib2FyZC9XaWRnZXRzLmpzeD83NjAxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgV2lkZ2V0SXRlbSBmcm9tICcuL1dpZGdldEl0ZW0nXHJcbmltcG9ydCB7IEFycm93VXBSaWdodCB9IGZyb20gJ2x1Y2lkZS1yZWFjdCc7XHJcbmltcG9ydCB7IENvbnRhaW5lciwgU2tlbGV0b24gfSBmcm9tIFwiQGJzZi9mb3JjZS11aVwiO1xyXG5pbXBvcnQgYXBpRmV0Y2ggZnJvbSAnQHdvcmRwcmVzcy9hcGktZmV0Y2gnO1xyXG5pbXBvcnQgeyBfXyB9IGZyb20gJ0B3b3JkcHJlc3MvaTE4bic7XHJcbmltcG9ydCB7IHJvdXRlcyB9IGZyb20gJy4uLy4uL2FkbWluL3NldHRpbmdzL3JvdXRlcyc7XHJcbmltcG9ydCB7IExpbmsgfSBmcm9tIFwiLi4vLi4vcm91dGVyL2luZGV4XCI7XHJcblxyXG5jb25zdCBXaWRnZXRzID0gKCkgPT4ge1xyXG5cclxuICAgIGNvbnN0IFthbGxXaWRnZXRzRGF0YSwgc2V0QWxsV2lkZ2V0c0RhdGFdID0gdXNlU3RhdGUobnVsbCk7IC8vIEluaXRpYWxpemUgc3RhdGUuXHJcbiAgICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKTtcclxuXHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZldGNoU2V0dGluZ3MgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHNldExvYWRpbmcodHJ1ZSk7XHJcbiAgICAgICAgICAgIGFwaUZldGNoKHtcclxuICAgICAgICAgICAgICAgIHBhdGg6ICcvaGZlL3YxL3dpZGdldHMnLFxyXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgJ1gtV1AtTm9uY2UnOiBoZmVTZXR0aW5nc0RhdGEuaGZlX25vbmNlX2FjdGlvbiwgLy8gVXNlIHRoZSBjb3JyZWN0IG5vbmNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB3aWRnZXRzRGF0YSA9IGNvbnZlcnRUb1dpZGdldHNBcnJheShkYXRhKVxyXG4gICAgICAgICAgICAgICAgICAgIHNldEFsbFdpZGdldHNEYXRhKHdpZGdldHNEYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTsgLy8gU3RvcCBsb2FkaW5nXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTsgLy8gU3RvcCBsb2FkaW5nXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBmZXRjaFNldHRpbmdzKCk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgZnVuY3Rpb24gY29udmVydFRvV2lkZ2V0c0FycmF5KGRhdGEpIHtcclxuICAgICAgICBjb25zdCB3aWRnZXRzID0gW107XHJcblxyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGRhdGEpIHtcclxuICAgICAgICAgICAgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkZ2V0ID0gZGF0YVtrZXldO1xyXG4gICAgICAgICAgICAgICAgd2lkZ2V0cy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBpZDoga2V5LCAvLyBVc2luZyB0aGUga2V5IGFzICd3aWRnZXRUaXRsZSdcclxuICAgICAgICAgICAgICAgICAgICBzbHVnOiB3aWRnZXQuc2x1ZyxcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogd2lkZ2V0LnRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIGtleXdvcmRzOiB3aWRnZXQua2V5d29yZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogPGkgY2xhc3NOYW1lPXt3aWRnZXQuaWNvbn0+PC9pPixcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZV91cmw6IHdpZGdldC50aXRsZV91cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogd2lkZ2V0LmRlZmF1bHQsXHJcbiAgICAgICAgICAgICAgICAgICAgZG9jX3VybDogd2lkZ2V0LmRvY191cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNfcHJvOiB3aWRnZXQuaXNfcHJvLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB3aWRnZXQuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgaXNfYWN0aXZlOiB3aWRnZXQuaXNfYWN0aXZhdGUgIT09IHVuZGVmaW5lZCA/IHdpZGdldC5pc19hY3RpdmF0ZSA6IHRydWUsIC8vIENoZWNrIGlmIGlzX2FjdGl2YXRlIGlzIHNldFxyXG4gICAgICAgICAgICAgICAgICAgIGRlbW9fdXJsOiB3aWRnZXQuZGVtb191cmwgIT09IHVuZGVmaW5lZCA/IHdpZGdldC5kZW1vX3VybCA6IHdpZGdldC5kb2NfdXJsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHdpZGdldHM7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm91bmRlZC1sZyBiZy13aGl0ZSB3LWZ1bGwgbWItNic+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcC00JyBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZ0JvdHRvbTogJzAnLFxyXG4gICAgICAgICAgICB9fT5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT0nbS0wIHRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LXRleHQtcHJpbWFyeSc+V2lkZ2V0cyAvIEZlYXR1cmVzPC9wPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2ZsZXggaXRlbXMtY2VudGVyIGdhcC14LTIgbXItNyc+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qIDxwIGNsYXNzTmFtZT0nbS0wIHRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LXRleHQtcHJpbWFyeSc+VmlldyBBbGw8L3A+ICovfVxyXG4gICAgICAgICAgICAgICAgICAgIHsvKiA8TW9yZUhvcml6b250YWxJY29uIC8+ICovfVxyXG4gICAgICAgICAgICAgICAgICAgIDxMaW5rIHRvPXtyb3V0ZXMud2lkZ2V0cy5wYXRofSBjbGFzc05hbWU9J3RleHQtc20gdGV4dC10ZXh0LXByaW1hcnkgY3Vyc29yLXBvaW50ZXInIHN0eWxlPXt7IGxpbmVIZWlnaHQ6ICcxcmVtJyB9fT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgVmlldyBBbGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEFycm93VXBSaWdodCBjbGFzc05hbWU9J21sLTEnIHNpemU9ezEzfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2ZsZXggYmctYmxhY2sgZmxleC1jb2wgcm91bmRlZC1sZyBwLTQnPlxyXG4gICAgICAgICAgICAgICAge2xvYWRpbmcgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgPENvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbj1cInN0cmV0Y2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwLTIgZ2FwLTEuNSBncmlkIGdyaWQtY29scy0yIG1kOmdyaWQtY29scy00XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjRjlGQUZCXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyVHlwZT1cImdyaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBnYXA9XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5PVwic3RhcnRcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAge1suLi5BcnJheSgxNildLm1hcCgoXywgaW5kZXgpID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDb250YWluZXIuSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25TZWxmPVwiYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC13cmFwIHJvdW5kZWQtbWQgc2hhZG93LWNvbnRhaW5lci1pdGVtIGJnLWJhY2tncm91bmQtcHJpbWFyeSBwLTYgc3BhY2UteS0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2tlbGV0b24gY2xhc3NOYW1lPSd3LTEyIGgtMiByb3VuZGVkLW1kJyAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTa2VsZXRvbiBjbGFzc05hbWU9J3ctMTYgaC0yIHJvdW5kZWQtbWQnIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNrZWxldG9uIGNsYXNzTmFtZT0ndy0xMiBoLTIgcm91bmRlZC1tZCcgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICA8Q29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduPVwic3RyZXRjaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInAtMiBnYXAtMS41IGdyaWQgZ3JpZC1jb2xzLTIgbWQ6Z3JpZC1jb2xzLTRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNGOUZBRkJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJUeXBlPVwiZ3JpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhcD1cIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnk9XCJzdGFydFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7YWxsV2lkZ2V0c0RhdGE/LnNsaWNlKDAsIDE2KS5tYXAoKHdpZGdldCkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENvbnRhaW5lci5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXt3aWRnZXQuaWR9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25TZWxmPVwiYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC13cmFwIHJvdW5kZWQtbWQgc2hhZG93LWNvbnRhaW5lci1pdGVtIGJnLWJhY2tncm91bmQtcHJpbWFyeSBwLTRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaWRnZXRJdGVtIHdpZGdldD17d2lkZ2V0fSBrZXk9e3dpZGdldC5pZH0gdXBkYXRlQ291bnRlcj17MH0gLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICApXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IFdpZGdldHNcclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJXaWRnZXRJdGVtIiwiQXJyb3dVcFJpZ2h0IiwiQ29udGFpbmVyIiwiU2tlbGV0b24iLCJhcGlGZXRjaCIsIl9fIiwicm91dGVzIiwiTGluayIsIldpZGdldHMiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJhbGxXaWRnZXRzRGF0YSIsInNldEFsbFdpZGdldHNEYXRhIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsImZldGNoU2V0dGluZ3MiLCJwYXRoIiwiaGVhZGVycyIsImhmZVNldHRpbmdzRGF0YSIsImhmZV9ub25jZV9hY3Rpb24iLCJ0aGVuIiwiZGF0YSIsIndpZGdldHNEYXRhIiwiY29udmVydFRvV2lkZ2V0c0FycmF5IiwiZXJyIiwid2lkZ2V0cyIsImtleSIsImhhc093blByb3BlcnR5Iiwid2lkZ2V0IiwicHVzaCIsImlkIiwic2x1ZyIsInRpdGxlIiwia2V5d29yZHMiLCJpY29uIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInRpdGxlX3VybCIsImRvY191cmwiLCJpc19wcm8iLCJkZXNjcmlwdGlvbiIsImlzX2FjdGl2ZSIsImlzX2FjdGl2YXRlIiwidW5kZWZpbmVkIiwiZGVtb191cmwiLCJzdHlsZSIsInBhZGRpbmdCb3R0b20iLCJ0byIsImxpbmVIZWlnaHQiLCJzaXplIiwiYWxpZ24iLCJiYWNrZ3JvdW5kQ29sb3IiLCJjb250YWluZXJUeXBlIiwiZ2FwIiwianVzdGlmeSIsIl90b0NvbnN1bWFibGVBcnJheSIsIkFycmF5IiwibWFwIiwiXyIsImluZGV4IiwiSXRlbSIsImFsaWduU2VsZiIsInNsaWNlIiwidXBkYXRlQ291bnRlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Components/Dashboard/Widgets.jsx\n"); - -/***/ }), - -/***/ "./src/Components/HeaderLine.js": -/*!**************************************!*\ - !*** ./src/Components/HeaderLine.js ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nvar HeaderLine = function HeaderLine() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Title, {\n className: \"hfe-header-title my-4\",\n description: \"\",\n icon: null,\n iconPosition: \"right\",\n size: \"xs\",\n tag: \"h6\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Formerly Elementor Header & Footer Builder', 'header-footer-elementor')\n });\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HeaderLine);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9IZWFkZXJMaW5lLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBMEI7QUFHSDtBQUNjO0FBRXJDLElBQU1HLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFBLEVBQVM7RUFDeEIsb0JBQ09ILDBEQUFBLENBQUNDLGdEQUFLO0lBQ0ZJLFNBQVMsRUFBQyx1QkFBdUI7SUFDakNDLFdBQVcsRUFBQyxFQUFFO0lBQ2RDLElBQUksRUFBRSxJQUFLO0lBQ1hDLFlBQVksRUFBQyxPQUFPO0lBQ3BCQyxJQUFJLEVBQUMsSUFBSTtJQUNUQyxHQUFHLEVBQUMsSUFBSTtJQUNSQyxLQUFLLEVBQUVULG1EQUFFLENBQUMsNENBQTRDLEVBQUUseUJBQXlCO0VBQUUsQ0FDdEYsQ0FBQztBQUVWLENBQUM7QUFFRCxpRUFBZUMsVUFBVSIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vc3JjL0NvbXBvbmVudHMvSGVhZGVyTGluZS5qcz82ZTFmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7XHJcbiAgICBUaXRsZVxyXG59IGZyb20gJ0Bic2YvZm9yY2UtdWknO1xyXG5pbXBvcnQgeyBfXyB9IGZyb20gJ0B3b3JkcHJlc3MvaTE4bic7IFxyXG5cclxuY29uc3QgSGVhZGVyTGluZSA9ICgpID0+IHtcclxuXHRyZXR1cm4gKFxyXG4gICAgICAgIDxUaXRsZVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJoZmUtaGVhZGVyLXRpdGxlIG15LTRcIlxyXG4gICAgICAgICAgICBkZXNjcmlwdGlvbj1cIlwiXHJcbiAgICAgICAgICAgIGljb249e251bGx9XHJcbiAgICAgICAgICAgIGljb25Qb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgc2l6ZT1cInhzXCJcclxuICAgICAgICAgICAgdGFnPVwiaDZcIlxyXG4gICAgICAgICAgICB0aXRsZT17X18oJ0Zvcm1lcmx5IEVsZW1lbnRvciBIZWFkZXIgJiBGb290ZXIgQnVpbGRlcicsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpfVxyXG4gICAgICAgIC8+XHJcblx0KTtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IEhlYWRlckxpbmU7XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlRpdGxlIiwiX18iLCJIZWFkZXJMaW5lIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImRlc2NyaXB0aW9uIiwiaWNvbiIsImljb25Qb3NpdGlvbiIsInNpemUiLCJ0YWciLCJ0aXRsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Components/HeaderLine.js\n"); - -/***/ }), - -/***/ "./src/Components/NavMenu.js": -/*!***********************************!*\ - !*** ./src/Components/NavMenu.js ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/arrow-up-right.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/circle-help.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/file-text.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/headset.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _admin_settings_routes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../admin/settings/routes */ \"./src/admin/settings/routes.js\");\n/* harmony import */ var _router_index__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../router/index */ \"./src/router/index.js\");\n/* harmony import */ var whats_new_rss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! whats-new-rss */ \"./node_modules/whats-new-rss/dist/react/useWhatsNewRSS.js\");\n\n\n\n\n\n\n\n\nfunction updateNavMenuActiveState() {\n var currentPath = window.location.hash;\n var menuItems = document.querySelectorAll(\"#adminmenu #toplevel_page_hfe a\");\n menuItems.forEach(function (item) {\n var href = item.getAttribute(\"href\");\n var parentLi = item.closest(\"li\");\n var itemText = item.textContent.trim();\n if (href && (currentPath.includes(href.split(\"#\")[1]) || \"#dashboard\" === currentPath && itemText === \"Dashboard\")) {\n parentLi.classList.add(\"current\");\n } else {\n parentLi.classList.remove(\"current\");\n }\n });\n}\nvar NavMenu = function NavMenu() {\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState, 2),\n isDropdownOpen = _useState2[0],\n setIsDropdownOpen = _useState2[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n updateNavMenuActiveState();\n window.addEventListener(\"hashchange\", updateNavMenuActiveState);\n return function () {\n window.removeEventListener(\"hashchange\", updateNavMenuActiveState);\n };\n }, []);\n\n // Get the current URL's hash part (after the #).\n var currentPath = window.location.hash;\n var isActive = function isActive(path) {\n return currentPath.includes(path);\n };\n var linkStyle = function linkStyle(path) {\n return {\n color: isActive(path) ? \"#111827\" : \"#4B5563\",\n borderBottom: isActive(path) ? \"2px solid #6005FF\" : \"none\",\n paddingBottom: \"22px\",\n marginBottom: \"-16px\"\n };\n };\n var handleRedirect = function handleRedirect(url) {\n window.open(url, \"_blank\");\n setIsDropdownOpen(false);\n };\n (0,whats_new_rss__WEBPACK_IMPORTED_MODULE_6__[\"default\"])({\n rssFeedURL: \"https://ultimateelementor.com/whats-new/feed/\",\n selector: \"#hfe-whats-new\",\n triggerButton: {\n beforeBtn: '
',\n icon: '',\n afterBtn: \"
\"\n },\n flyout: {\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"What's New?\", \"astra-sites\"),\n formatDate: function formatDate(date) {\n var dayOfWeek = date.toLocaleDateString(\"en-US\", {\n weekday: \"long\"\n });\n var month = date.toLocaleDateString(\"en-US\", {\n month: \"long\"\n });\n var day = date.getDate();\n var year = date.getFullYear();\n return \"\".concat(dayOfWeek, \" \").concat(month, \" \").concat(day, \", \").concat(year);\n }\n }\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Topbar, {\n className: \"hfe-nav-menu relative\",\n style: {\n width: \"unset\",\n padding: \"0.5rem\",\n zIndex: \"9\",\n paddingTop: \"1rem\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex flex-col lg:flex-row items-start md:items-center w-full\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex flex-row md:items-center md:gap-8 w-full\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Topbar.Left, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Topbar.Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_router_index__WEBPACK_IMPORTED_MODULE_5__.Link, {\n to: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_4__.routes.dashboard.path\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"img\", {\n src: \"\".concat(hfeSettingsData.icon_url),\n alt: \"Icon\",\n className: \"ml-4 cursor-pointer\",\n style: {\n height: \"35px\",\n width: \"35px\"\n }\n })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Topbar.Middle, {\n className: \"flex-grow\",\n align: \"left\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Topbar.Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"nav\", {\n className: \"flex flex-wrap gap-6 mt-2 md:mt-0 cursor-pointer\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_router_index__WEBPACK_IMPORTED_MODULE_5__.Link, {\n to: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_4__.routes.dashboard.path,\n className: \"\".concat(isActive(\"dashboard\") ? \"active-link\" : \"\"),\n style: linkStyle(\"dashboard\")\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Dashboard\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_router_index__WEBPACK_IMPORTED_MODULE_5__.Link, {\n to: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_4__.routes.widgets.path,\n className: \"\".concat(isActive(\"widgets\") ? \"active-link\" : \"\"),\n style: linkStyle(\"widgets\")\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Widgets / Features\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_router_index__WEBPACK_IMPORTED_MODULE_5__.Link, {\n to: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_4__.routes.templates.path,\n className: \"\".concat(isActive(\"templates\") ? \"active-link\" : \"\"),\n style: linkStyle(\"templates\")\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Templates\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_router_index__WEBPACK_IMPORTED_MODULE_5__.Link, {\n to: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_4__.routes.settings.path,\n className: \"\".concat(isActive(\"settings\") ? \"active-link\" : \"\"),\n style: linkStyle(\"settings\")\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Settings\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_router_index__WEBPACK_IMPORTED_MODULE_5__.Link, {\n to: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_4__.routes.upgrade.path,\n className: \"\".concat(isActive(\"upgrade\") ? \"active-link\" : \"\"),\n style: linkStyle(\"upgrade\")\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Free vs Pro\", \"header-footer-elementor\")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Topbar.Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null),\n iconPosition: \"right\",\n variant: \"ghost\",\n className: \"hfe-remove-ring mb-2\",\n style: {\n color: \"#6005FF\",\n // paddingBottom: \"10px\",\n background: \"none\",\n border: \"none\",\n padding: 0,\n cursor: \"pointer\"\n },\n onClick: function onClick() {\n return handleRedirect(\"https://ultimateelementor.com/pricing/?utm_source=uae-lite-dashboard&utm_medium=navigation-bar&utm_campaign=uae-lite-upgrade\");\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Get Ultimate Elementor\", \"header-footer-elementor\")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Topbar.Right, {\n className: \"gap-4\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Topbar.Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu, {\n placement: \"bottom-start\",\n isOpen: isDropdownOpen,\n onOpenChange: setIsDropdownOpen\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.Trigger, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Badge, {\n label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Free\", \"header-footer-elementor\"),\n size: \"xs\",\n variant: \"neutral\"\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.Content, {\n className: \"w-52\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.List, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.Item, null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Version\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex justify-between w-full\"\n }, \"\".concat(hfeSettingsData.uaelite_current_version), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Badge, {\n label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Core\", \"header-footer-elementor\"),\n size: \"xs\",\n variant: \"neutral\"\n }))))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Topbar.Item, {\n className: \"gap-4 cursor-pointer\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu, {\n placement: \"bottom-start\",\n isOpen: isDropdownOpen,\n onOpenChange: setIsDropdownOpen\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.Trigger, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.Content, {\n className: \"w-60\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.List, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.Item, null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Useful Resources\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.Item, {\n className: \"text-text-primary\",\n style: {\n color: \"black\"\n },\n onClick: function onClick() {\n return handleRedirect(\"https://ultimateelementor.com/docs/getting-started-with-ultimate-addons-for-elementor-lite/\");\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n style: {\n color: \"black\"\n }\n }), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Getting Started\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.Item, {\n onClick: function onClick() {\n return handleRedirect(\"https://ultimateelementor.com/docs-category/widgets/\");\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], null), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"How to use widgets\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.Item, {\n onClick: function onClick() {\n return handleRedirect(\"https://ultimateelementor.com/docs-category/features/\");\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], null), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"How to use features\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.Item, {\n onClick: function onClick() {\n return handleRedirect(\"https://ultimateelementor.com/docs-category/templates/\");\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], null), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"How to use templates\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu.Item, {\n onClick: function onClick() {\n return handleRedirect(\"https://ultimateelementor.com/contact/\");\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], null), (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Contact us\", \"header-footer-elementor\"))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"pb-1\",\n id: \"hfe-whats-new\"\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_router_index__WEBPACK_IMPORTED_MODULE_5__.Link, {\n to: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_4__.routes.settings.path\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"cursor-pointer hfe-user-icon\",\n style: {\n color: \"black\"\n }\n }))))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NavMenu);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFFdkUsMERBQU0sQ0FBQ2tGLFFBQVEsQ0FBQ2hEO0VBQUssZ0JBQzlCL0MsMERBQUEsQ0FBQ1cscURBQUk7SUFDSmlFLFNBQVMsRUFBQyw4QkFBOEI7SUFDeENDLEtBQUssRUFBRTtNQUFFNUIsS0FBSyxFQUFFO0lBQVE7RUFBRSxDQUMxQixDQUNJLENBQ08sQ0FDVixDQUNELENBQ0UsQ0FBQztBQUVYLENBQUM7QUFFRCxpRUFBZVgsT0FBTyIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vc3JjL0NvbXBvbmVudHMvTmF2TWVudS5qcz9lYzIzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFRvcGJhciwgQnV0dG9uLCBCYWRnZSwgRHJvcGRvd25NZW51IH0gZnJvbSBcIkBic2YvZm9yY2UtdWlcIjtcclxuaW1wb3J0IHtcclxuXHRBcnJvd1VwUmlnaHQsXHJcblx0Q2lyY2xlSGVscCxcclxuXHRGaWxlVGV4dCxcclxuXHRIZWFkc2V0LFxyXG5cdFVzZXIsXHJcbn0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiO1xyXG5pbXBvcnQgeyBfXyB9IGZyb20gXCJAd29yZHByZXNzL2kxOG5cIjtcclxuaW1wb3J0IHsgcm91dGVzIH0gZnJvbSBcIi4uL2FkbWluL3NldHRpbmdzL3JvdXRlc1wiO1xyXG5pbXBvcnQgeyBMaW5rIH0gZnJvbSBcIi4uL3JvdXRlci9pbmRleFwiO1xyXG5pbXBvcnQgdXNlV2hhdHNOZXdSU1MgZnJvbSBcIndoYXRzLW5ldy1yc3NcIjtcclxuXHJcbmZ1bmN0aW9uIHVwZGF0ZU5hdk1lbnVBY3RpdmVTdGF0ZSgpIHtcclxuXHRjb25zdCBjdXJyZW50UGF0aCA9IHdpbmRvdy5sb2NhdGlvbi5oYXNoO1xyXG5cdGNvbnN0IG1lbnVJdGVtcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXHJcblx0XHRcIiNhZG1pbm1lbnUgI3RvcGxldmVsX3BhZ2VfaGZlIGFcIlxyXG5cdCk7XHJcblxyXG5cdG1lbnVJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcblx0XHRjb25zdCBocmVmID0gaXRlbS5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpO1xyXG5cdFx0Y29uc3QgcGFyZW50TGkgPSBpdGVtLmNsb3Nlc3QoXCJsaVwiKTtcclxuXHRcdGNvbnN0IGl0ZW1UZXh0ID0gaXRlbS50ZXh0Q29udGVudC50cmltKCk7XHJcblxyXG5cdFx0aWYgKFxyXG5cdFx0XHRocmVmICYmXHJcblx0XHRcdChjdXJyZW50UGF0aC5pbmNsdWRlcyhocmVmLnNwbGl0KFwiI1wiKVsxXSkgfHxcclxuXHRcdFx0XHQoXCIjZGFzaGJvYXJkXCIgPT09IGN1cnJlbnRQYXRoICYmIGl0ZW1UZXh0ID09PSBcIkRhc2hib2FyZFwiKSlcclxuXHRcdCkge1xyXG5cdFx0XHRwYXJlbnRMaS5jbGFzc0xpc3QuYWRkKFwiY3VycmVudFwiKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHBhcmVudExpLmNsYXNzTGlzdC5yZW1vdmUoXCJjdXJyZW50XCIpO1xyXG5cdFx0fVxyXG5cdH0pO1xyXG59XHJcblxyXG5jb25zdCBOYXZNZW51ID0gKCkgPT4ge1xyXG5cdGNvbnN0IFtpc0Ryb3Bkb3duT3Blbiwgc2V0SXNEcm9wZG93bk9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xyXG5cclxuXHR1c2VFZmZlY3QoKCkgPT4ge1xyXG5cdFx0dXBkYXRlTmF2TWVudUFjdGl2ZVN0YXRlKCk7XHJcblx0XHR3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImhhc2hjaGFuZ2VcIiwgdXBkYXRlTmF2TWVudUFjdGl2ZVN0YXRlKTtcclxuXHJcblx0XHRyZXR1cm4gKCkgPT4ge1xyXG5cdFx0XHR3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImhhc2hjaGFuZ2VcIiwgdXBkYXRlTmF2TWVudUFjdGl2ZVN0YXRlKTtcclxuXHRcdH07XHJcblx0fSwgW10pO1xyXG5cclxuXHQvLyBHZXQgdGhlIGN1cnJlbnQgVVJMJ3MgaGFzaCBwYXJ0IChhZnRlciB0aGUgIykuXHJcblx0Y29uc3QgY3VycmVudFBhdGggPSB3aW5kb3cubG9jYXRpb24uaGFzaDtcclxuXHJcblx0Y29uc3QgaXNBY3RpdmUgPSAocGF0aCkgPT4gY3VycmVudFBhdGguaW5jbHVkZXMocGF0aCk7XHJcblxyXG5cdGNvbnN0IGxpbmtTdHlsZSA9IChwYXRoKSA9PiAoe1xyXG5cdFx0Y29sb3I6IGlzQWN0aXZlKHBhdGgpID8gXCIjMTExODI3XCIgOiBcIiM0QjU1NjNcIixcclxuXHRcdGJvcmRlckJvdHRvbTogaXNBY3RpdmUocGF0aCkgPyBcIjJweCBzb2xpZCAjNjAwNUZGXCIgOiBcIm5vbmVcIixcclxuXHRcdHBhZGRpbmdCb3R0b206IFwiMjJweFwiLFxyXG5cdFx0bWFyZ2luQm90dG9tOiBcIi0xNnB4XCIsXHJcblx0fSk7XHJcblxyXG5cdGNvbnN0IGhhbmRsZVJlZGlyZWN0ID0gKHVybCkgPT4ge1xyXG5cdFx0d2luZG93Lm9wZW4odXJsLCBcIl9ibGFua1wiKTtcclxuXHRcdHNldElzRHJvcGRvd25PcGVuKGZhbHNlKTtcclxuXHR9O1xyXG5cclxuXHR1c2VXaGF0c05ld1JTUyh7XHJcblx0XHRyc3NGZWVkVVJMOiBcImh0dHBzOi8vdWx0aW1hdGVlbGVtZW50b3IuY29tL3doYXRzLW5ldy9mZWVkL1wiLFxyXG5cdFx0c2VsZWN0b3I6IFwiI2hmZS13aGF0cy1uZXdcIixcclxuXHRcdHRyaWdnZXJCdXR0b246IHtcclxuXHRcdFx0YmVmb3JlQnRuOlxyXG5cdFx0XHRcdCc8ZGl2IGNsYXNzPVwidy00IHNtOnctOCBoLTggc206aC0xMCBmbGV4IGl0ZW1zLWNlbnRlciB3aGl0ZXNwYWNlLW5vd3JhcCBqdXN0aWZ5LWNlbnRlciBjdXJzb3ItcG9pbnRlciByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDBcIj4nLFxyXG5cdFx0XHRpY29uOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiIzQzNDE0MVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBjbGFzcz1cImx1Y2lkZSBsdWNpZGUtbWVnYXBob25lXCI+PHBhdGggZD1cIm0zIDExIDE4LTV2MTJMMyAxNHYtM3pcIj48L3BhdGg+PHBhdGggZD1cIk0xMS42IDE2LjhhMyAzIDAgMSAxLTUuOC0xLjZcIj48L3BhdGg+PC9zdmc+JyxcclxuXHRcdFx0YWZ0ZXJCdG46IFwiPC9kaXY+XCIsXHJcblx0XHR9LFxyXG5cdFx0Zmx5b3V0OiB7XHJcblx0XHRcdHRpdGxlOiBfXyhcIldoYXQncyBOZXc/XCIsIFwiYXN0cmEtc2l0ZXNcIiksXHJcblx0XHRcdGZvcm1hdERhdGU6IChkYXRlKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgZGF5T2ZXZWVrID0gZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoXCJlbi1VU1wiLCB7XHJcblx0XHRcdFx0XHR3ZWVrZGF5OiBcImxvbmdcIixcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRjb25zdCBtb250aCA9IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKFwiZW4tVVNcIiwge1xyXG5cdFx0XHRcdFx0bW9udGg6IFwibG9uZ1wiLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdGNvbnN0IGRheSA9IGRhdGUuZ2V0RGF0ZSgpO1xyXG5cdFx0XHRcdGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcblxyXG5cdFx0XHRcdHJldHVybiBgJHtkYXlPZldlZWt9ICR7bW9udGh9ICR7ZGF5fSwgJHt5ZWFyfWA7XHJcblx0XHRcdH0sXHJcblx0XHR9LFxyXG5cdH0pO1xyXG5cclxuXHRyZXR1cm4gKFxyXG5cdFx0PFRvcGJhclxyXG5cdFx0XHRjbGFzc05hbWU9XCJoZmUtbmF2LW1lbnUgcmVsYXRpdmVcIlxyXG5cdFx0XHRzdHlsZT17eyB3aWR0aDogXCJ1bnNldFwiLCBwYWRkaW5nOiBcIjAuNXJlbVwiLCB6SW5kZXg6IFwiOVwiLCBwYWRkaW5nVG9wOiBcIjFyZW1cIiB9fVxyXG5cdFx0PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgbGc6ZmxleC1yb3cgaXRlbXMtc3RhcnQgbWQ6aXRlbXMtY2VudGVyIHctZnVsbFwiPlxyXG5cdFx0XHRcdHsvKiBUb3Agcm93IG9uIG1vYmlsZTogTG9nbyBhbmQgTmF2IG1lbnUgKi99XHJcblx0XHRcdFx0PGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtcm93IG1kOml0ZW1zLWNlbnRlciBtZDpnYXAtOCB3LWZ1bGxcIj5cclxuXHRcdFx0XHRcdDxUb3BiYXIuTGVmdD5cclxuXHRcdFx0XHRcdFx0PFRvcGJhci5JdGVtPlxyXG5cdFx0XHRcdFx0XHRcdDxMaW5rIHRvPXtyb3V0ZXMuZGFzaGJvYXJkLnBhdGh9PlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltZ1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRzcmM9e2Ake2hmZVNldHRpbmdzRGF0YS5pY29uX3VybH1gfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRhbHQ9XCJJY29uXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lPVwibWwtNCBjdXJzb3ItcG9pbnRlclwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlPXt7IGhlaWdodDogXCIzNXB4XCIsIHdpZHRoOiBcIjM1cHhcIiB9fVxyXG5cdFx0XHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0XHQ8L0xpbms+XHJcblx0XHRcdFx0XHRcdDwvVG9wYmFyLkl0ZW0+XHJcblx0XHRcdFx0XHQ8L1RvcGJhci5MZWZ0PlxyXG5cdFx0XHRcdFx0PFRvcGJhci5NaWRkbGUgY2xhc3NOYW1lPVwiZmxleC1ncm93XCIgYWxpZ249XCJsZWZ0XCI+XHJcblx0XHRcdFx0XHRcdDxUb3BiYXIuSXRlbT5cclxuXHRcdFx0XHRcdFx0XHQ8bmF2IGNsYXNzTmFtZT1cImZsZXggZmxleC13cmFwIGdhcC02IG10LTIgbWQ6bXQtMCBjdXJzb3ItcG9pbnRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PExpbmtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dG89e3JvdXRlcy5kYXNoYm9hcmQucGF0aH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lPXtgJHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc0FjdGl2ZShcImRhc2hib2FyZFwiKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PyBcImFjdGl2ZS1saW5rXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDogXCJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9YH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9e2xpbmtTdHlsZShcImRhc2hib2FyZFwiKX1cclxuXHRcdFx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0e19fKFwiRGFzaGJvYXJkXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcblx0XHRcdFx0XHRcdFx0XHQ8L0xpbms+XHJcblx0XHRcdFx0XHRcdFx0XHQ8TGlua1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0bz17cm91dGVzLndpZGdldHMucGF0aH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lPXtgJHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc0FjdGl2ZShcIndpZGdldHNcIikgPyBcImFjdGl2ZS1saW5rXCIgOiBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1gfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT17bGlua1N0eWxlKFwid2lkZ2V0c1wiKX1cclxuXHRcdFx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0e19fKFwiV2lkZ2V0cyAvIEZlYXR1cmVzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcblx0XHRcdFx0XHRcdFx0XHQ8L0xpbms+XHJcblx0XHRcdFx0XHRcdFx0XHQ8TGlua1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0bz17cm91dGVzLnRlbXBsYXRlcy5wYXRofVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU9e2Ake1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlzQWN0aXZlKFwidGVtcGxhdGVzXCIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ/IFwiYWN0aXZlLWxpbmtcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0OiBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1gfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT17bGlua1N0eWxlKFwidGVtcGxhdGVzXCIpfVxyXG5cdFx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7X18oXCJUZW1wbGF0ZXNcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvTGluaz5cclxuXHRcdFx0XHRcdFx0XHRcdDxMaW5rXHJcblx0XHRcdFx0XHRcdFx0XHRcdHRvPXtyb3V0ZXMuc2V0dGluZ3MucGF0aH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lPXtgJHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc0FjdGl2ZShcInNldHRpbmdzXCIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ/IFwiYWN0aXZlLWxpbmtcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0OiBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1gfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT17bGlua1N0eWxlKFwic2V0dGluZ3NcIil9XHJcblx0XHRcdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdHtfXyhcIlNldHRpbmdzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcblx0XHRcdFx0XHRcdFx0XHQ8L0xpbms+XHJcblx0XHRcdFx0XHRcdFx0XHQ8TGlua1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0bz17cm91dGVzLnVwZ3JhZGUucGF0aH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lPXtgJHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc0FjdGl2ZShcInVwZ3JhZGVcIilcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdD8gXCJhY3RpdmUtbGlua1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ6IFwiXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0fWB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlPXtsaW5rU3R5bGUoXCJ1cGdyYWRlXCIpfVxyXG5cdFx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7X18oXCJGcmVlIHZzIFByb1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG5cdFx0XHRcdFx0XHRcdFx0PC9MaW5rPlxyXG5cdFx0XHRcdFx0XHRcdDwvbmF2PlxyXG5cdFx0XHRcdFx0XHQ8L1RvcGJhci5JdGVtPlxyXG5cdFx0XHRcdFx0XHQ8VG9wYmFyLkl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PEJ1dHRvblxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbj17PEFycm93VXBSaWdodCAvPn1cclxuXHRcdFx0XHRcdFx0XHRcdGljb25Qb3NpdGlvbj1cInJpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRcdHZhcmlhbnQ9XCJnaG9zdFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJoZmUtcmVtb3ZlLXJpbmcgbWItMlwiXHJcblx0XHRcdFx0XHRcdFx0XHRzdHlsZT17e1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogXCIjNjAwNUZGXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHBhZGRpbmdCb3R0b206IFwiMTBweFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y3Vyc29yOiBcInBvaW50ZXJcIixcclxuXHRcdFx0XHRcdFx0XHRcdH19XHJcblx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrPXsoKSA9PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRoYW5kbGVSZWRpcmVjdChcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcImh0dHBzOi8vdWx0aW1hdGVlbGVtZW50b3IuY29tL3ByaWNpbmcvP3V0bV9zb3VyY2U9dWFlLWxpdGUtZGFzaGJvYXJkJnV0bV9tZWRpdW09bmF2aWdhdGlvbi1iYXImdXRtX2NhbXBhaWduPXVhZS1saXRlLXVwZ3JhZGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdFx0e19fKFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcIkdldCBVbHRpbWF0ZSBFbGVtZW50b3JcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiXHJcblx0XHRcdFx0XHRcdFx0XHQpfVxyXG5cdFx0XHRcdFx0XHRcdDwvQnV0dG9uPlxyXG5cdFx0XHRcdFx0XHQ8L1RvcGJhci5JdGVtPlxyXG5cdFx0XHRcdFx0PC9Ub3BiYXIuTWlkZGxlPlxyXG5cdFx0XHRcdFx0PFRvcGJhci5SaWdodCBjbGFzc05hbWU9XCJnYXAtNFwiPlxyXG5cdFx0XHRcdFx0XHQ8VG9wYmFyLkl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PERyb3Bkb3duTWVudVxyXG5cdFx0XHRcdFx0XHRcdFx0cGxhY2VtZW50PVwiYm90dG9tLXN0YXJ0XCJcclxuXHRcdFx0XHRcdFx0XHRcdGlzT3Blbj17aXNEcm9wZG93bk9wZW59XHJcblx0XHRcdFx0XHRcdFx0XHRvbk9wZW5DaGFuZ2U9e3NldElzRHJvcGRvd25PcGVufVxyXG5cdFx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHRcdDxEcm9wZG93bk1lbnUuVHJpZ2dlcj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PEJhZGdlXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGFiZWw9e19fKFwiRnJlZVwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHNpemU9XCJ4c1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyaWFudD1cIm5ldXRyYWxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC9Ecm9wZG93bk1lbnUuVHJpZ2dlcj5cclxuXHRcdFx0XHRcdFx0XHRcdDxEcm9wZG93bk1lbnUuQ29udGVudCBjbGFzc05hbWU9XCJ3LTUyXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxEcm9wZG93bk1lbnUuTGlzdD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8RHJvcGRvd25NZW51Lkl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7X18oXCJWZXJzaW9uXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC9Ecm9wZG93bk1lbnUuSXRlbT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8RHJvcGRvd25NZW51Lkl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHctZnVsbFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7YCR7aGZlU2V0dGluZ3NEYXRhLnVhZWxpdGVfY3VycmVudF92ZXJzaW9ufWB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxCYWRnZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGxhYmVsPXtfXyhcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwiQ29yZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzaXplPVwieHNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhcmlhbnQ9XCJuZXV0cmFsXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvRHJvcGRvd25NZW51Lkl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvRHJvcGRvd25NZW51Lkxpc3Q+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L0Ryb3Bkb3duTWVudS5Db250ZW50PlxyXG5cdFx0XHRcdFx0XHRcdDwvRHJvcGRvd25NZW51PlxyXG5cdFx0XHRcdFx0XHQ8L1RvcGJhci5JdGVtPlxyXG5cdFx0XHRcdFx0XHQ8VG9wYmFyLkl0ZW0gY2xhc3NOYW1lPVwiZ2FwLTQgY3Vyc29yLXBvaW50ZXJcIj5cclxuXHRcdFx0XHRcdFx0XHQ8RHJvcGRvd25NZW51XHJcblx0XHRcdFx0XHRcdFx0XHRwbGFjZW1lbnQ9XCJib3R0b20tc3RhcnRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0aXNPcGVuPXtpc0Ryb3Bkb3duT3Blbn1cclxuXHRcdFx0XHRcdFx0XHRcdG9uT3BlbkNoYW5nZT17c2V0SXNEcm9wZG93bk9wZW59XHJcblx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdFx0PERyb3Bkb3duTWVudS5UcmlnZ2VyPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8Q2lyY2xlSGVscCAvPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC9Ecm9wZG93bk1lbnUuVHJpZ2dlcj5cclxuXHRcdFx0XHRcdFx0XHRcdDxEcm9wZG93bk1lbnUuQ29udGVudCBjbGFzc05hbWU9XCJ3LTYwXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxEcm9wZG93bk1lbnUuTGlzdD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8RHJvcGRvd25NZW51Lkl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7X18oXCJVc2VmdWwgUmVzb3VyY2VzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC9Ecm9wZG93bk1lbnUuSXRlbT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8RHJvcGRvd25NZW51Lkl0ZW1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cInRleHQtdGV4dC1wcmltYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlPXt7IGNvbG9yOiBcImJsYWNrXCIgfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s9eygpID0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhhbmRsZVJlZGlyZWN0KFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwiaHR0cHM6Ly91bHRpbWF0ZWVsZW1lbnRvci5jb20vZG9jcy9nZXR0aW5nLXN0YXJ0ZWQtd2l0aC11bHRpbWF0ZS1hZGRvbnMtZm9yLWVsZW1lbnRvci1saXRlL1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8RmlsZVRleHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9e3sgY29sb3I6IFwiYmxhY2tcIiB9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHtfXyhcIkdldHRpbmcgU3RhcnRlZFwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvRHJvcGRvd25NZW51Lkl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PERyb3Bkb3duTWVudS5JdGVtXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrPXsoKSA9PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRoYW5kbGVSZWRpcmVjdChcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcImh0dHBzOi8vdWx0aW1hdGVlbGVtZW50b3IuY29tL2RvY3MtY2F0ZWdvcnkvd2lkZ2V0cy9cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PEZpbGVUZXh0IC8+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7X18oXCJIb3cgdG8gdXNlIHdpZGdldHNcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L0Ryb3Bkb3duTWVudS5JdGVtPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxEcm9wZG93bk1lbnUuSXRlbVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljaz17KCkgPT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aGFuZGxlUmVkaXJlY3QoXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCJodHRwczovL3VsdGltYXRlZWxlbWVudG9yLmNvbS9kb2NzLWNhdGVnb3J5L2ZlYXR1cmVzL1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8RmlsZVRleHQgLz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHtfXyhcIkhvdyB0byB1c2UgZmVhdHVyZXNcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L0Ryb3Bkb3duTWVudS5JdGVtPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxEcm9wZG93bk1lbnUuSXRlbVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljaz17KCkgPT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aGFuZGxlUmVkaXJlY3QoXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCJodHRwczovL3VsdGltYXRlZWxlbWVudG9yLmNvbS9kb2NzLWNhdGVnb3J5L3RlbXBsYXRlcy9cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PEZpbGVUZXh0IC8+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7X18oXCJIb3cgdG8gdXNlIHRlbXBsYXRlc1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvRHJvcGRvd25NZW51Lkl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PERyb3Bkb3duTWVudS5JdGVtXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrPXsoKSA9PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRoYW5kbGVSZWRpcmVjdChcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcImh0dHBzOi8vdWx0aW1hdGVlbGVtZW50b3IuY29tL2NvbnRhY3QvXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxIZWFkc2V0IC8+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7X18oXCJDb250YWN0IHVzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC9Ecm9wZG93bk1lbnUuSXRlbT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC9Ecm9wZG93bk1lbnUuTGlzdD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvRHJvcGRvd25NZW51LkNvbnRlbnQ+XHJcblx0XHRcdFx0XHRcdFx0PC9Ecm9wZG93bk1lbnU+XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzc05hbWU9XCJwYi0xXCIgaWQ9XCJoZmUtd2hhdHMtbmV3XCI+PC9kaXY+XHJcblx0XHRcdFx0XHRcdDwvVG9wYmFyLkl0ZW0+XHJcblx0XHRcdFx0XHRcdDxMaW5rIHRvPXtyb3V0ZXMuc2V0dGluZ3MucGF0aH0+XHJcblx0XHRcdFx0XHRcdFx0PFVzZXJcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cImN1cnNvci1wb2ludGVyIGhmZS11c2VyLWljb25cIlxyXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU9e3sgY29sb3I6IFwiYmxhY2tcIiB9fVxyXG5cdFx0XHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHRcdDwvTGluaz5cclxuXHRcdFx0XHRcdDwvVG9wYmFyLlJpZ2h0PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvVG9wYmFyPlxyXG5cdCk7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBOYXZNZW51O1xyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlRvcGJhciIsIkJ1dHRvbiIsIkJhZGdlIiwiRHJvcGRvd25NZW51IiwiQXJyb3dVcFJpZ2h0IiwiQ2lyY2xlSGVscCIsIkZpbGVUZXh0IiwiSGVhZHNldCIsIlVzZXIiLCJfXyIsInJvdXRlcyIsIkxpbmsiLCJ1c2VXaGF0c05ld1JTUyIsInVwZGF0ZU5hdk1lbnVBY3RpdmVTdGF0ZSIsImN1cnJlbnRQYXRoIiwid2luZG93IiwibG9jYXRpb24iLCJoYXNoIiwibWVudUl0ZW1zIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsIml0ZW0iLCJocmVmIiwiZ2V0QXR0cmlidXRlIiwicGFyZW50TGkiLCJjbG9zZXN0IiwiaXRlbVRleHQiLCJ0ZXh0Q29udGVudCIsInRyaW0iLCJpbmNsdWRlcyIsInNwbGl0IiwiY2xhc3NMaXN0IiwiYWRkIiwicmVtb3ZlIiwiTmF2TWVudSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzRHJvcGRvd25PcGVuIiwic2V0SXNEcm9wZG93bk9wZW4iLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImlzQWN0aXZlIiwicGF0aCIsImxpbmtTdHlsZSIsImNvbG9yIiwiYm9yZGVyQm90dG9tIiwicGFkZGluZ0JvdHRvbSIsIm1hcmdpbkJvdHRvbSIsImhhbmRsZVJlZGlyZWN0IiwidXJsIiwib3BlbiIsInJzc0ZlZWRVUkwiLCJzZWxlY3RvciIsInRyaWdnZXJCdXR0b24iLCJiZWZvcmVCdG4iLCJpY29uIiwiYWZ0ZXJCdG4iLCJmbHlvdXQiLCJ0aXRsZSIsImZvcm1hdERhdGUiLCJkYXRlIiwiZGF5T2ZXZWVrIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwid2Vla2RheSIsIm1vbnRoIiwiZGF5IiwiZ2V0RGF0ZSIsInllYXIiLCJnZXRGdWxsWWVhciIsImNvbmNhdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsIndpZHRoIiwicGFkZGluZyIsInpJbmRleCIsInBhZGRpbmdUb3AiLCJMZWZ0IiwiSXRlbSIsInRvIiwiZGFzaGJvYXJkIiwic3JjIiwiaGZlU2V0dGluZ3NEYXRhIiwiaWNvbl91cmwiLCJhbHQiLCJoZWlnaHQiLCJNaWRkbGUiLCJhbGlnbiIsIndpZGdldHMiLCJ0ZW1wbGF0ZXMiLCJzZXR0aW5ncyIsInVwZ3JhZGUiLCJpY29uUG9zaXRpb24iLCJ2YXJpYW50IiwiYmFja2dyb3VuZCIsImJvcmRlciIsImN1cnNvciIsIm9uQ2xpY2siLCJSaWdodCIsInBsYWNlbWVudCIsImlzT3BlbiIsIm9uT3BlbkNoYW5nZSIsIlRyaWdnZXIiLCJsYWJlbCIsInNpemUiLCJDb250ZW50IiwiTGlzdCIsInVhZWxpdGVfY3VycmVudF92ZXJzaW9uIiwiaWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/Components/NavMenu.js\n"); - -/***/ }), - -/***/ "./src/Components/Settings/Content.jsx": -/*!*********************************************!*\ - !*** ./src/Components/Settings/Content.jsx ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nvar Content = function Content(_ref) {\n var selectedItem = _ref.selectedItem;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"p-6\",\n style: {\n marginLeft: '4px'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.content));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Content);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9TZXR0aW5ncy9Db250ZW50LmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBeUI7QUFFekIsSUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQU9BLENBQUFDLElBQUEsRUFBeUI7RUFBQSxJQUFuQkMsWUFBWSxHQUFBRCxJQUFBLENBQVpDLFlBQVk7RUFDN0Isb0JBQ0VILDBEQUFBO0lBQUtLLFNBQVMsRUFBQyxLQUFLO0lBQUNDLEtBQUssRUFBRTtNQUFFQyxVQUFVLEVBQUU7SUFBTTtFQUFFLGdCQUNoRFAsMERBQUEsY0FBTUcsWUFBWSxhQUFaQSxZQUFZLHVCQUFaQSxZQUFZLENBQUVLLE9BQWEsQ0FDOUIsQ0FBQztBQUVWLENBQUM7QUFFRCxpRUFBZVAsT0FBTyIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vc3JjL0NvbXBvbmVudHMvU2V0dGluZ3MvQ29udGVudC5qc3g/OTcwZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXHJcblxyXG5jb25zdCBDb250ZW50ID0gKHsgc2VsZWN0ZWRJdGVtIH0pID0+IHtcclxuICByZXR1cm4gKFxyXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwLTZcIiBzdHlsZT17eyBtYXJnaW5MZWZ0OiAnNHB4JyB9fT5cclxuICAgICAgPGRpdj57c2VsZWN0ZWRJdGVtPy5jb250ZW50fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgKVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBDb250ZW50XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkNvbnRlbnQiLCJfcmVmIiwic2VsZWN0ZWRJdGVtIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInN0eWxlIiwibWFyZ2luTGVmdCIsImNvbnRlbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/Components/Settings/Content.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Settings/Settings.jsx": -/*!**********************************************!*\ - !*** ./src/Components/Settings/Settings.jsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Sidebar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Sidebar */ \"./src/Components/Settings/Sidebar.jsx\");\n/* harmony import */ var _Content__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Content */ \"./src/Components/Settings/Content.jsx\");\n/* harmony import */ var _NavMenu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../NavMenu */ \"./src/Components/NavMenu.js\");\n/* harmony import */ var _ThemeSupport__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ThemeSupport */ \"./src/Components/Settings/ThemeSupport.jsx\");\n/* harmony import */ var _VersionControl__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./VersionControl */ \"./src/Components/Settings/VersionControl.jsx\");\n/* harmony import */ var _Dashboard_MyAccount__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Dashboard/MyAccount */ \"./src/Components/Dashboard/MyAccount.jsx\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__);\n\n\n\n\n\n\n\n\n\n\nvar Settings = function Settings() {\n var items = [{\n id: 1,\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"img\", {\n src: \"\".concat(hfeSettingsData.user_url),\n alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)(\"Custom SVG\", \"header-footer-elementor\"),\n className: \"object-contain\"\n }),\n selected: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"img\", {\n src: \"\".concat(hfeSettingsData.user__selected_url),\n alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)(\"Custom SVG\", \"header-footer-elementor\"),\n className: \"object-contain\"\n }),\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)(\"My Account\", \"header-footer-elementor\"),\n content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_Dashboard_MyAccount__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null)\n }, {\n id: 2,\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"img\", {\n src: \"\".concat(hfeSettingsData.theme_url),\n alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)(\"Custom SVG\", \"header-footer-elementor\"),\n className: \"object-contain\"\n }),\n selected: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"img\", {\n src: \"\".concat(hfeSettingsData.theme_url_selected),\n alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)(\"Custom SVG\", \"header-footer-elementor\"),\n className: \"object-contain\"\n }),\n main: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)(\"Editor\", \"header-footer-elementor\"),\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)(\"Theme Support\", \"header-footer-elementor\"),\n content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_ThemeSupport__WEBPACK_IMPORTED_MODULE_6__[\"default\"], null)\n }, {\n id: 3,\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"img\", {\n src: \"\".concat(hfeSettingsData.version_url),\n alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)(\"Custom SVG\", \"header-footer-elementor\"),\n className: \"object-contain\"\n }),\n selected: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"img\", {\n src: \"\".concat(hfeSettingsData.version__selected_url),\n alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)(\"Custom SVG\", \"header-footer-elementor\"),\n className: \"object-contain\"\n }),\n main: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)(\"Utilities\", \"header-footer-elementor\"),\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)(\"Version Control\", \"header-footer-elementor\"),\n content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_VersionControl__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null)\n }].filter(function (item) {\n if (\"no\" === hfeSettingsData.show_theme_support && item.id === 2) {\n return false;\n }\n return true;\n });\n\n // Default state: Set 'My Account' (first item) as the default when the settings tab is clicked\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(function () {\n var savedItemId = localStorage.getItem(\"hfeSelectedItemId\");\n var savedItem = items.find(function (item) {\n return item.id === Number(savedItemId);\n });\n return savedItem || items[0]; // Default to the first item if no saved item is found\n }),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState, 2),\n selectedItem = _useState2[0],\n setSelectedItem = _useState2[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n // Store selectedItemId in localStorage (or other persistent storage) to retain selection\n localStorage.setItem(\"hfeSelectedItemId\", selectedItem.id.toString());\n }, [selectedItem]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n var params = new URLSearchParams(window.location.search);\n var tab = params.get(\"tab\");\n if (tab) {\n var itemId = Number(tab);\n var item = items.find(function (item) {\n return item.id === itemId;\n });\n if (item) {\n setSelectedItem(item);\n }\n }\n }, []);\n var handleSelectItem = function handleSelectItem(item) {\n setSelectedItem(item);\n };\n var handleSettingsTabClick = function handleSettingsTabClick() {\n setSelectedItem(items[0]); // Set \"My Account\" as the default item when settings tab is clicked\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_NavMenu__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n onSettingsTabClick: handleSettingsTabClick\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Container, {\n align: \"stretch\",\n className: \"p-1 flex-col lg:flex-row hfe-settings-page\",\n containerType: \"flex\",\n direction: \"row\",\n gap: \"sm\",\n justify: \"start\",\n style: {\n height: \"100%\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Container.Item, {\n className: \"p-2 hfe-sticky-outer-wrapper\",\n alignSelf: \"auto\",\n order: \"none\",\n shrink: 1,\n style: {\n backgroundColor: \"#ffffff\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"hfe-sticky-sidebar\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_Sidebar__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n items: items,\n onSelectItem: handleSelectItem,\n selectedItemId: selectedItem.id\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Container.Item, {\n className: \"p-2 flex w-full justify-center items-start hfe-hide-scrollbar\",\n alignSelf: \"auto\",\n order: \"none\",\n shrink: 1,\n style: {\n height: \"calc(100vh - 1px)\",\n overflowY: \"auto\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"hfe-78-width\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_Content__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n selectedItem: selectedItem\n }))))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Settings);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9TZXR0aW5ncy9TZXR0aW5ncy5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQW1EO0FBQ1Q7QUFDVjtBQUNBO0FBQ2xCO0FBQzRCO0FBQ0k7QUFDOUI7QUFDcUI7QUFFckMsSUFBTVcsUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUEsRUFBUztFQUNuQixJQUFNQyxLQUFLLEdBQUcsQ0FDVjtJQUNJQyxFQUFFLEVBQUUsQ0FBQztJQUNMQyxJQUFJLGVBQ0FkLDBEQUFBO01BQ0lnQixHQUFHLEtBQUFDLE1BQUEsQ0FBS0MsZUFBZSxDQUFDQyxRQUFRLENBQUc7TUFDbkNDLEdBQUcsRUFBRVYsbURBQUUsQ0FBQyxZQUFZLEVBQUUseUJBQXlCLENBQUU7TUFDakRXLFNBQVMsRUFBQztJQUFnQixDQUM3QixDQUNKO0lBQ0RDLFFBQVEsZUFDSnRCLDBEQUFBO01BQ0lnQixHQUFHLEtBQUFDLE1BQUEsQ0FBS0MsZUFBZSxDQUFDSyxrQkFBa0IsQ0FBRztNQUM3Q0gsR0FBRyxFQUFFVixtREFBRSxDQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBRTtNQUNqRFcsU0FBUyxFQUFDO0lBQWdCLENBQzdCLENBQ0o7SUFDREcsS0FBSyxFQUFFZCxtREFBRSxDQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBQztJQUNsRGUsT0FBTyxlQUFFekIsMERBQUEsQ0FBQ1MsNERBQVMsTUFBRTtFQUN6QixDQUFDLEVBQ0Q7SUFDSUksRUFBRSxFQUFFLENBQUM7SUFDTEMsSUFBSSxlQUNBZCwwREFBQTtNQUNJZ0IsR0FBRyxLQUFBQyxNQUFBLENBQUtDLGVBQWUsQ0FBQ1EsU0FBUyxDQUFHO01BQ3BDTixHQUFHLEVBQUVWLG1EQUFFLENBQUMsWUFBWSxFQUFFLHlCQUF5QixDQUFFO01BQ2pEVyxTQUFTLEVBQUM7SUFBZ0IsQ0FDN0IsQ0FDSjtJQUNEQyxRQUFRLGVBQ0p0QiwwREFBQTtNQUNJZ0IsR0FBRyxLQUFBQyxNQUFBLENBQUtDLGVBQWUsQ0FB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WUFBWSxDQUFDOUI7RUFBRyxDQUNuQyxDQUNBLENBQ08sQ0FBQyxlQUNqQmIsMERBQUEsQ0FBQ0csb0RBQVMsQ0FBQytELElBQUk7SUFDWDdDLFNBQVMsRUFBQywrREFBK0Q7SUFDekU4QyxTQUFTLEVBQUMsTUFBTTtJQUNoQkMsS0FBSyxFQUFDLE1BQU07SUFDWkMsTUFBTSxFQUFFLENBQUU7SUFDVkwsS0FBSyxFQUFFO01BQ0hDLE1BQU0sRUFBRSxtQkFBbUI7TUFDM0JRLFNBQVMsRUFBRTtJQUNmO0VBQUUsZ0JBRUZ6RSwwREFBQTtJQUFLcUIsU0FBUyxFQUFDO0VBQWMsZ0JBQ3pCckIsMERBQUEsQ0FBQ0ssZ0RBQU87SUFBQ3NDLFlBQVksRUFBRUE7RUFBYSxDQUFFLENBQ3JDLENBQ08sQ0FDVCxDQUNWLENBQ1AsQ0FBQztBQUVYLENBQUM7QUFFRCxpRUFBZWhDLFFBQVEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL3NyYy9Db21wb25lbnRzL1NldHRpbmdzL1NldHRpbmdzLmpzeD9mODZlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCJAYnNmL2ZvcmNlLXVpXCI7XHJcbmltcG9ydCBTaWRlYmFyIGZyb20gXCIuL1NpZGViYXJcIjtcclxuaW1wb3J0IENvbnRlbnQgZnJvbSBcIi4vQ29udGVudFwiO1xyXG5pbXBvcnQgTmF2TWVudSBmcm9tIFwiQGNvbXBvbmVudHMvTmF2TWVudVwiO1xyXG5pbXBvcnQgVGhlbWVTdXBwb3J0IGZyb20gXCIuL1RoZW1lU3VwcG9ydFwiO1xyXG5pbXBvcnQgVmVyc2lvbkNvbnRyb2wgZnJvbSBcIi4vVmVyc2lvbkNvbnRyb2xcIjtcclxuaW1wb3J0IE15QWNjb3VudCBmcm9tIFwiQGNvbXBvbmVudHMvRGFzaGJvYXJkL015QWNjb3VudFwiO1xyXG5pbXBvcnQgeyBfXyB9IGZyb20gXCJAd29yZHByZXNzL2kxOG5cIjtcclxuXHJcbmNvbnN0IFNldHRpbmdzID0gKCkgPT4ge1xyXG4gICAgY29uc3QgaXRlbXMgPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpZDogMSxcclxuICAgICAgICAgICAgaWNvbjogKFxyXG4gICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICAgIHNyYz17YCR7aGZlU2V0dGluZ3NEYXRhLnVzZXJfdXJsfWB9XHJcbiAgICAgICAgICAgICAgICAgICAgYWx0PXtfXyhcIkN1c3RvbSBTVkdcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJvYmplY3QtY29udGFpblwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBzZWxlY3RlZDogKFxyXG4gICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICAgIHNyYz17YCR7aGZlU2V0dGluZ3NEYXRhLnVzZXJfX3NlbGVjdGVkX3VybH1gfVxyXG4gICAgICAgICAgICAgICAgICAgIGFsdD17X18oXCJDdXN0b20gU1ZHXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwib2JqZWN0LWNvbnRhaW5cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgdGl0bGU6IF9fKFwiTXkgQWNjb3VudFwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG4gICAgICAgICAgICBjb250ZW50OiA8TXlBY2NvdW50IC8+LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpZDogMixcclxuICAgICAgICAgICAgaWNvbjogKFxyXG4gICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICAgIHNyYz17YCR7aGZlU2V0dGluZ3NEYXRhLnRoZW1lX3VybH1gfVxyXG4gICAgICAgICAgICAgICAgICAgIGFsdD17X18oXCJDdXN0b20gU1ZHXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwib2JqZWN0LWNvbnRhaW5cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgc2VsZWN0ZWQ6IChcclxuICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICBzcmM9e2Ake2hmZVNldHRpbmdzRGF0YS50aGVtZV91cmxfc2VsZWN0ZWR9YH1cclxuICAgICAgICAgICAgICAgICAgICBhbHQ9e19fKFwiQ3VzdG9tIFNWR1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm9iamVjdC1jb250YWluXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIG1haW46IF9fKFwiRWRpdG9yXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksXHJcbiAgICAgICAgICAgIHRpdGxlOiBfXyhcIlRoZW1lIFN1cHBvcnRcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKSxcclxuICAgICAgICAgICAgY29udGVudDogPFRoZW1lU3VwcG9ydCAvPixcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgaWQ6IDMsXHJcbiAgICAgICAgICAgIGljb246IChcclxuICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICBzcmM9e2Ake2hmZVNldHRpbmdzRGF0YS52ZXJzaW9uX3VybH1gfVxyXG4gICAgICAgICAgICAgICAgICAgIGFsdD17X18oXCJDdXN0b20gU1ZHXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwib2JqZWN0LWNvbnRhaW5cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgc2VsZWN0ZWQ6IChcclxuICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICBzcmM9e2Ake2hmZVNldHRpbmdzRGF0YS52ZXJzaW9uX19zZWxlY3RlZF91cmx9YH1cclxuICAgICAgICAgICAgICAgICAgICBhbHQ9e19fKFwiQ3VzdG9tIFNWR1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm9iamVjdC1jb250YWluXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIG1haW46IF9fKFwiVXRpbGl0aWVzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksXHJcbiAgICAgICAgICAgIHRpdGxlOiBfXyhcIlZlcnNpb24gQ29udHJvbFwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG4gICAgICAgICAgICBjb250ZW50OiA8VmVyc2lvbkNvbnRyb2wgLz4sXHJcbiAgICAgICAgfSxcclxuICAgIF0uZmlsdGVyKChpdGVtKSA9PiB7XHJcbiAgICAgICAgaWYgKFwibm9cIiA9PT0gaGZlU2V0dGluZ3NEYXRhLnNob3dfdGhlbWVfc3VwcG9ydCAmJiBpdGVtLmlkID09PSAyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gRGVmYXVsdCBzdGF0ZTogU2V0ICdNeSBBY2NvdW50JyAoZmlyc3QgaXRlbSkgYXMgdGhlIGRlZmF1bHQgd2hlbiB0aGUgc2V0dGluZ3MgdGFiIGlzIGNsaWNrZWRcclxuICAgIGNvbnN0IFtzZWxlY3RlZEl0ZW0sIHNldFNlbGVjdGVkSXRlbV0gPSB1c2VTdGF0ZSgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc2F2ZWRJdGVtSWQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhmZVNlbGVjdGVkSXRlbUlkXCIpO1xyXG4gICAgICAgIGNvbnN0IHNhdmVkSXRlbSA9IGl0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IE51bWJlcihzYXZlZEl0ZW1JZCkpO1xyXG4gICAgICAgIHJldHVybiBzYXZlZEl0ZW0gfHwgaXRlbXNbMF07IC8vIERlZmF1bHQgdG8gdGhlIGZpcnN0IGl0ZW0gaWYgbm8gc2F2ZWQgaXRlbSBpcyBmb3VuZFxyXG4gICAgfSk7XHJcblxyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICAvLyBTdG9yZSBzZWxlY3RlZEl0ZW1JZCBpbiBsb2NhbFN0b3JhZ2UgKG9yIG90aGVyIHBlcnNpc3RlbnQgc3RvcmFnZSkgdG8gcmV0YWluIHNlbGVjdGlvblxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiaGZlU2VsZWN0ZWRJdGVtSWRcIiwgc2VsZWN0ZWRJdGVtLmlkLnRvU3RyaW5nKCkpO1xyXG4gICAgfSwgW3NlbGVjdGVkSXRlbV0pO1xyXG5cclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcclxuICAgICAgICBjb25zdCB0YWIgPSBwYXJhbXMuZ2V0KFwidGFiXCIpO1xyXG4gICAgICAgIGlmICh0YWIpIHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbUlkID0gTnVtYmVyKHRhYik7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBpdGVtSWQpO1xyXG4gICAgICAgICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRJdGVtKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIGNvbnN0IGhhbmRsZVNlbGVjdEl0ZW0gPSAoaXRlbSkgPT4ge1xyXG4gICAgICAgIHNldFNlbGVjdGVkSXRlbShpdGVtKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgaGFuZGxlU2V0dGluZ3NUYWJDbGljayA9ICgpID0+IHtcclxuICAgICAgICBzZXRTZWxlY3RlZEl0ZW0oaXRlbXNbMF0pOyAvLyBTZXQgXCJNeSBBY2NvdW50XCIgYXMgdGhlIGRlZmF1bHQgaXRlbSB3aGVuIHNldHRpbmdzIHRhYiBpcyBjbGlja2VkXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPD5cclxuICAgICAgICAgICAgPE5hdk1lbnUgb25TZXR0aW5nc1RhYkNsaWNrPXtoYW5kbGVTZXR0aW5nc1RhYkNsaWNrfSAvPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPENvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduPVwic3RyZXRjaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicC0xIGZsZXgtY29sIGxnOmZsZXgtcm93IGhmZS1zZXR0aW5ncy1wYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJUeXBlPVwiZmxleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcclxuICAgICAgICAgICAgICAgICAgICBnYXA9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeT1cInN0YXJ0XCJcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBoZWlnaHQ6IFwiMTAwJVwiIH19XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPENvbnRhaW5lci5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInAtMiBoZmUtc3RpY2t5LW91dGVyLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnblNlbGY9XCJhdXRvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2hyaW5rPXsxfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZmZmZlwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhmZS1zdGlja3ktc2lkZWJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNpZGViYXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcz17aXRlbXN9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25TZWxlY3RJdGVtPXtoYW5kbGVTZWxlY3RJdGVtfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbUlkPXtzZWxlY3RlZEl0ZW0uaWR9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L0NvbnRhaW5lci5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDxDb250YWluZXIuSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwLTIgZmxleCB3LWZ1bGwganVzdGlmeS1jZW50ZXIgaXRlbXMtc3RhcnQgaGZlLWhpZGUtc2Nyb2xsYmFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25TZWxmPVwiYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNocmluaz17MX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCJjYWxjKDEwMHZoIC0gMXB4KVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiBcImF1dG9cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGZlLTc4LXdpZHRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q29udGVudCBzZWxlY3RlZEl0ZW09e3NlbGVjdGVkSXRlbX0gLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Db250YWluZXIuSXRlbT5cclxuICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8Lz5cclxuICAgICk7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBTZXR0aW5ncztcclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJDb250YWluZXIiLCJTaWRlYmFyIiwiQ29udGVudCIsIk5hdk1lbnUiLCJUaGVtZVN1cHBvcnQiLCJWZXJzaW9uQ29udHJvbCIsIk15QWNjb3VudCIsIl9fIiwiU2V0dGluZ3MiLCJpdGVtcyIsImlkIiwiaWNvbiIsImNyZWF0ZUVsZW1lbnQiLCJzcmMiLCJjb25jYXQiLCJoZmVTZXR0aW5nc0RhdGEiLCJ1c2VyX3VybCIsImFsdCIsImNsYXNzTmFtZSIsInNlbGVjdGVkIiwidXNlcl9fc2VsZWN0ZWRfdXJsIiwidGl0bGUiLCJjb250ZW50IiwidGhlbWVfdXJsIiwidGhlbWVfdXJsX3NlbGVjdGVkIiwibWFpbiIsInZlcnNpb25fdXJsIiwidmVyc2lvbl9fc2VsZWN0ZWRfdXJsIiwiZmlsdGVyIiwiaXRlbSIsInNob3dfdGhlbWVfc3VwcG9ydCIsIl91c2VTdGF0ZSIsInNhdmVkSXRlbUlkIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInNhdmVkSXRlbSIsImZpbmQiLCJOdW1iZXIiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZWxlY3RlZEl0ZW0iLCJzZXRTZWxlY3RlZEl0ZW0iLCJzZXRJdGVtIiwidG9TdHJpbmciLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInNlYXJjaCIsInRhYiIsImdldCIsIml0ZW1JZCIsImhhbmRsZVNlbGVjdEl0ZW0iLCJoYW5kbGVTZXR0aW5nc1RhYkNsaWNrIiwiRnJhZ21lbnQiLCJvblNldHRpbmdzVGFiQ2xpY2siLCJhbGlnbiIsImNvbnRhaW5lclR5cGUiLCJkaXJlY3Rpb24iLCJnYXAiLCJqdXN0aWZ5Iiwic3R5bGUiLCJoZWlnaHQiLCJJdGVtIiwiYWxpZ25TZWxmIiwib3JkZXIiLCJzaHJpbmsiLCJiYWNrZ3JvdW5kQ29sb3IiLCJvblNlbGVjdEl0ZW0iLCJzZWxlY3RlZEl0ZW1JZCIsIm92ZXJmbG93WSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Components/Settings/Settings.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Settings/Sidebar.jsx": -/*!*********************************************!*\ - !*** ./src/Components/Settings/Sidebar.jsx ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar Sidebar = function Sidebar(_ref) {\n var items = _ref.items,\n onSelectItem = _ref.onSelectItem;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState, 2),\n selectedItemId = _useState2[0],\n setSelectedItemId = _useState2[1]; // State to track selected item\n\n var handleSelectItem = function handleSelectItem(item) {\n setSelectedItemId(item.id); // Update selected item\n onSelectItem(item); // Trigger onSelectItem callback\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n style: {\n padding: \"1rem\",\n width: \"100%\"\n }\n }, items.map(function (item) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n key: item.id,\n className: \"mb-2\"\n }, item.main && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"p\", {\n className: \"text-sm text-text-tertiary font-normal mb-2\"\n }, item.main), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"h-10 flex items-center justify-start gap-2 px-2 rounded-md cursor-pointer \".concat(selectedItemId === item.id ? 'bg-gray-100' : 'bg-background-primary'),\n style: {\n backgroundColor: selectedItemId === item.id ? '#F9FAFB' : '' // Apply background color when selected\n },\n onClick: function onClick() {\n return handleSelectItem(item);\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", null, selectedItemId === item.id ? item.selected : item.icon), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"p\", {\n className: \"m-0 text-base font-normal\"\n }, item.title)));\n }));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Sidebar);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9TZXR0aW5ncy9TaWRlYmFyLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUF1QztBQUV2QyxJQUFNRSxPQUFPLEdBQUcsU0FBVkEsT0FBT0EsQ0FBQUMsSUFBQSxFQUFnQztFQUFBLElBQTFCQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FBSztJQUFFQyxZQUFZLEdBQUFGLElBQUEsQ0FBWkUsWUFBWTtFQUNwQyxJQUFBQyxTQUFBLEdBQTRDTCwrQ0FBUSxDQUFDLElBQUksQ0FBQztJQUFBTSxVQUFBLEdBQUFDLGdGQUFBLENBQUFGLFNBQUE7SUFBbkRHLGNBQWMsR0FBQUYsVUFBQTtJQUFFRyxpQkFBaUIsR0FBQUgsVUFBQSxJQUFtQixDQUFDOztFQUU1RCxJQUFNSSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFJQyxJQUFJLEVBQUs7SUFDakNGLGlCQUFpQixDQUFDRSxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUJSLFlBQVksQ0FBQ08sSUFBSSxDQUFDLENBQUMsQ0FBQztFQUN0QixDQUFDO0VBRUQsb0JBQ0VaLDBEQUFBO0lBQUtlLEtBQUssRUFBRTtNQUFFQyxPQUFPLEVBQUUsTUFBTTtNQUFFQyxLQUFLLEVBQUU7SUFBTztFQUFFLEdBRTVDYixLQUFLLENBQUNjLEdBQUcsQ0FBQyxVQUFDTixJQUFJO0lBQUEsb0JBQ2RaLDBEQUFBO01BQUttQixHQUFHLEVBQUVQLElBQUksQ0FBQ0MsRUFBRztNQUFDTyxTQUFTLEVBQUM7SUFBTSxHQUVoQ1IsSUFBSSxDQUFDUyxJQUFJLGlCQUNSckIsMERBQUE7TUFBR29CLFNBQVMsRUFBQztJQUE2QyxHQUN2RFIsSUFBSSxDQUFDUyxJQUNMLENBQ0osZUFHRHJCLDBEQUFBO01BQ0VvQixTQUFTLCtFQUFBRSxNQUFBLENBQStFYixjQUFjLEtBQUtHLElBQUksQ0FBQ0MsRUFBRSxHQUFHLGFBQWEsR0FBRyx1QkFBdUIsQ0FBRztNQUMvSkUsS0FBSyxFQUFFO1FBQ0xRLGVBQWUsRUFBRWQsY0FBYyxLQUFLRyxJQUFJLENBQUNDLEVBQUUsR0FBRyxTQUFTLEdBQUcsRUFBRSxDQUFFO01BQ2hFLENBQUU7TUFDRlcsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7UUFBQSxPQUFRYixnQkFBZ0IsQ0FBQ0MsSUFBSSxDQUFDO01BQUE7SUFBQyxnQkFFdENaLDBEQUFBLGVBQ0dTLGNBQWMsS0FBS0csSUFBSSxDQUFDQyxFQUFFLEdBQUdELElBQUksQ0FBQ2EsUUFBUSxHQUFHYixJQUFJLENBQUNjLElBQy9DLENBQUMsZUFDUDFCLDBEQUFBO01BQUdvQixTQUFTLEVBQUM7SUFBMkIsR0FBRVIsSUFBSSxDQUFDZSxLQUFTLENBQ3JELENBQ0YsQ0FBQztFQUFBLENBQ1AsQ0FDRSxDQUFDO0FBRVYsQ0FBQztBQUVELGlFQUFlekIsT0FBTyIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vc3JjL0NvbXBvbmVudHMvU2V0dGluZ3MvU2lkZWJhci5qc3g/ZmNlMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcclxuXHJcbmNvbnN0IFNpZGViYXIgPSAoeyBpdGVtcywgb25TZWxlY3RJdGVtIH0pID0+IHtcclxuICBjb25zdCBbc2VsZWN0ZWRJdGVtSWQsIHNldFNlbGVjdGVkSXRlbUlkXSA9IHVzZVN0YXRlKG51bGwpOyAvLyBTdGF0ZSB0byB0cmFjayBzZWxlY3RlZCBpdGVtXHJcblxyXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEl0ZW0gPSAoaXRlbSkgPT4ge1xyXG4gICAgc2V0U2VsZWN0ZWRJdGVtSWQoaXRlbS5pZCk7IC8vIFVwZGF0ZSBzZWxlY3RlZCBpdGVtXHJcbiAgICBvblNlbGVjdEl0ZW0oaXRlbSk7IC8vIFRyaWdnZXIgb25TZWxlY3RJdGVtIGNhbGxiYWNrXHJcbiAgfTtcclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgc3R5bGU9e3sgcGFkZGluZzogXCIxcmVtXCIsIHdpZHRoOiBcIjEwMCVcIiB9fT5cclxuICAgICAgey8qIExvb3AgdGhyb3VnaCBpdGVtcyB0byByZW5kZXIgbWFpbiB0aXRsZSwgaWNvbiwgYW5kIHRpdGxlICovfVxyXG4gICAgICB7aXRlbXMubWFwKChpdGVtKSA9PiAoXHJcbiAgICAgICAgPGRpdiBrZXk9e2l0ZW0uaWR9IGNsYXNzTmFtZT1cIm1iLTJcIj5cclxuICAgICAgICAgIHsvKiBNYWluIFRpdGxlIGZvciBlYWNoIHNlY3Rpb24gKi99XHJcbiAgICAgICAgICB7aXRlbS5tYWluICYmIChcclxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LXRleHQtdGVydGlhcnkgZm9udC1ub3JtYWwgbWItMlwiPlxyXG4gICAgICAgICAgICAgIHtpdGVtLm1haW59XHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICl9XHJcblxyXG4gICAgICAgICAgey8qIEVhY2ggaXRlbSB3aXRoIGljb24gYW5kIHRpdGxlICovfVxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2BoLTEwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktc3RhcnQgZ2FwLTIgcHgtMiByb3VuZGVkLW1kIGN1cnNvci1wb2ludGVyICR7c2VsZWN0ZWRJdGVtSWQgPT09IGl0ZW0uaWQgPyAnYmctZ3JheS0xMDAnIDogJ2JnLWJhY2tncm91bmQtcHJpbWFyeSd9YH1cclxuICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHNlbGVjdGVkSXRlbUlkID09PSBpdGVtLmlkID8gJyNGOUZBRkInIDogJycsIC8vIEFwcGx5IGJhY2tncm91bmQgY29sb3Igd2hlbiBzZWxlY3RlZFxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVTZWxlY3RJdGVtKGl0ZW0pfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICB7c2VsZWN0ZWRJdGVtSWQgPT09IGl0ZW0uaWQgPyBpdGVtLnNlbGVjdGVkIDogaXRlbS5pY29ufVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm0tMCB0ZXh0LWJhc2UgZm9udC1ub3JtYWxcIj57aXRlbS50aXRsZX08L3A+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKSl9XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgU2lkZWJhcjtcclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJTaWRlYmFyIiwiX3JlZiIsIml0ZW1zIiwib25TZWxlY3RJdGVtIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2VsZWN0ZWRJdGVtSWQiLCJzZXRTZWxlY3RlZEl0ZW1JZCIsImhhbmRsZVNlbGVjdEl0ZW0iLCJpdGVtIiwiaWQiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJwYWRkaW5nIiwid2lkdGgiLCJtYXAiLCJrZXkiLCJjbGFzc05hbWUiLCJtYWluIiwiY29uY2F0IiwiYmFja2dyb3VuZENvbG9yIiwib25DbGljayIsInNlbGVjdGVkIiwiaWNvbiIsInRpdGxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/Components/Settings/Sidebar.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Settings/ThemeSupport.jsx": -/*!**************************************************!*\ - !*** ./src/Components/Settings/ThemeSupport.jsx ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"@babel/runtime/regenerator\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var react_hot_toast__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-hot-toast */ \"./node_modules/react-hot-toast/dist/index.mjs\");\n\n\n\n\n\n\n\nvar radioData = [{\n id: \"1\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Option 1 (Recommended)', 'header-footer-elementor'),\n description: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)(\"This option will automatically replace your theme's header and footer files with custom templates from the plugin. It works with most themes and is selected by default.\", \"header-footer-elementor\"),\n value: \"1\"\n}, {\n id: \"2\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Option 2', 'header-footer-elementor'),\n description: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)(\"This option will automatically replace your theme's header and footer files with custom templates from the plugin. It works with most themes and is selected by default.\", \"header-footer-elementor\"),\n value: \"2\"\n}];\nvar ThemeSupport = function ThemeSupport() {\n if (\"no\" === hfeSettingsData.show_theme_support) {\n return null;\n }\n\n // State to store the selected radio option\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(hfeSettingsData.theme_option),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState, 2),\n selectedOption = _useState2[0],\n setSelectedOption = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(true),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useState3, 2),\n isInitialLoad = _useState4[0],\n setIsInitialLoad = _useState4[1];\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(function () {\n setIsInitialLoad(false);\n }, []);\n var handleRadioChange = function handleRadioChange(event) {\n var newValue = event.target.value;\n setSelectedOption(newValue); // Update the selected option in state.\n\n // Only send the AJAX call if this is not the initial load.\n if (!isInitialLoad) {\n saveOption(newValue);\n }\n };\n\n // Function to save the selected option.\n var saveOption = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().mark(function _callee(option) {\n var response, result;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return fetch(hfe_admin_data.ajax_url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n body: new URLSearchParams({\n action: 'save_theme_compatibility_option',\n // WordPress action for your AJAX handler.\n hfe_compatibility_option: option,\n nonce: hfe_admin_data.nonce // Nonce for security.\n })\n });\n case 3:\n response = _context.sent;\n _context.next = 6;\n return response.json();\n case 6:\n result = _context.sent;\n if (result.success) {\n react_hot_toast__WEBPACK_IMPORTED_MODULE_6__[\"default\"].success((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Settings saved successfully!', 'header-footer-elementor'));\n } else {\n react_hot_toast__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Failed to save settings!', 'header-footer-elementor'));\n }\n _context.next = 13;\n break;\n case 10:\n _context.prev = 10;\n _context.t0 = _context[\"catch\"](0);\n react_hot_toast__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Failed to save settings!', 'header-footer-elementor'));\n case 13:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[0, 10]]);\n }));\n return function saveOption(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement((react__WEBPACK_IMPORTED_MODULE_3___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__.Title, {\n description: \"\",\n icon: null,\n iconPosition: \"right\",\n size: \"sm\",\n tag: \"h2\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Theme Support', 'header-footer-elementor')\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__.Container, {\n align: \"stretch\",\n className: \"bg-background-primary p-6 rounded-lg\",\n containerType: \"flex\",\n direction: \"column\",\n gap: \"sm\",\n justify: \"start\",\n style: {\n marginTop: \"24px\",\n maxWidth: \"696px\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__.Container.Item, {\n className: \"flex flex-col space-y-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"p\", {\n className: \"text-base font-semibold m-0\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Select Option to Add Theme Support', 'header-footer-elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"p\", {\n className: \"text-sm font-normal m-0\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)(\"To ensure compatibility between the header/footer and your theme, please choose one of the following options to enable theme support:\", 'header-footer-elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__.Container.Item, {\n className: \"p-2 space-y-4\",\n alignSelf: \"auto\",\n order: \"none\"\n }, radioData.map(function (item) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n key: item.id,\n className: \"flex items-start gap-1 justify-center cursor-pointer\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"input\", {\n id: item.id,\n value: item.value,\n type: \"radio\",\n className: \"mt-1 cursor-pointer hfe-radio-field\",\n name: \"theme-support-option\" // Group radio buttons\n ,\n onChange: handleRadioChange // Track the change\n ,\n checked: selectedOption === item.value // Controlled input\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"flex flex-col cursor-pointer\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_4__.Label, {\n size: \"sm\",\n variant: \"neutral\",\n className: \"text-sm font-semibold text-text-secondary cursor-pointer flex flex-col items-start justify-start\",\n htmlFor: item.id\n }, item.title, \":\", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"p\", {\n className: \"m-0 text-sm font-normal text-text-secondary cursor-pointer\"\n }, item.description))));\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", {\n className: \"flex items-center p-4 border rounded-lg text-start\",\n style: {\n paddingTop: '16px',\n paddingBottom: '16px',\n backgroundColor: \"#F3F0FF\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"p\", {\n className: \"m-0 text-sm\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"strong\", null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Note:', 'header-footer-elementor')), \" \", (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('If neither option works, please contact your theme author to add support for this plugin.', 'header-footer-elementor')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(react_hot_toast__WEBPACK_IMPORTED_MODULE_6__.Toaster, {\n position: \"top-right\",\n reverseOrder: false,\n gutter: 8,\n containerStyle: {\n top: 20,\n right: 20,\n marginTop: '80px'\n },\n toastOptions: {\n duration: 5000,\n style: {\n background: 'white'\n },\n success: {\n duration: 3000,\n style: {\n color: ''\n },\n iconTheme: {\n primary: '#6005ff',\n secondary: '#fff'\n }\n }\n }\n }));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ThemeSupport);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9TZXR0aW5ncy9UaGVtZVN1cHBvcnQuanN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFtRDtBQUNLO0FBQ25CO0FBQ1k7QUFFakQsSUFBTVMsU0FBUyxHQUFHLENBQ2Q7RUFDSUMsRUFBRSxFQUFFLEdBQUc7RUFDUEMsS0FBSyxFQUFFTCxtREFBRSxDQUFDLHdCQUF3QixFQUFFLHlCQUF5QixDQUFDO0VBQzlETSxXQUFXLEVBQUVOLG1EQUFFLENBQUMsMEtBQTBLLEVBQUUseUJBQXlCLENBQUM7RUFDdE5PLEtBQUssRUFBRTtBQUNYLENBQUMsRUFDRDtFQUNJSCxFQUFFLEVBQUUsR0FBRztFQUNQQyxLQUFLLEVBQUVMLG1EQUFFLENBQUMsVUFBVSxFQUFFLHlCQUF5QixDQUFDO0VBQ2hETSxXQUFXLEVBQUVOLG1EQUFFLENBQUMsMEtBQTBLLEVBQUUseUJBQXlCLENBQUM7RUFDdE5PLEtBQUssRUFBRTtBQUNYLENBQUMsQ0FDSjtBQUVELElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBLEVBQVM7RUFFdkIsSUFBSSxJQUFJLEtBQUtDLGVBQWUsQ0FBQ0Msa0JBQWtCLEVBQUU7SUFDN0MsT0FBTyxJQUFJO0VBQ2Y7O0VBRUE7RUFDQSxJQUFBQyxTQUFBLEdBQTRDaEIsK0NBQVEsQ0FBQ2MsZUFBZSxDQUFDRyxZQUFZLENBQUM7SUFBQUMsVUFBQSxHQUFBQyxnRkFBQSxDQUFBSCxTQUFBO0lBQTNFSSxjQUFjLEdBQUFGLFVBQUE7SUFBRUcsaUJBQWlCLEdBQUFILFVBQUE7RUFDeEMsSUFBQUksVUFBQSxHQUEwQ3RCLCtDQUFRLENBQUMsSUFBSSxDQUFDO0lBQUF1QixVQUFBLEdBQUFKLGdGQUFBLENBQUFHLFVBQUE7SUFBakRFLGFBQWEsR0FBQUQsVUFBQTtJQUFFRSxnQkFBZ0IsR0FBQUYsVUFBQTtFQUV0Q3RCLGdEQUFTLENBQUMsWUFBTTtJQUNad0IsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0VBQzNCLENB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ZTVGLFlBQVkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL3NyYy9Db21wb25lbnRzL1NldHRpbmdzL1RoZW1lU3VwcG9ydC5qc3g/YTE5YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgQ29udGFpbmVyLCBUaXRsZSwgTGFiZWwgfSBmcm9tIFwiQGJzZi9mb3JjZS11aVwiO1xyXG5pbXBvcnQgeyBfXyB9IGZyb20gJ0B3b3JkcHJlc3MvaTE4bic7XHJcbmltcG9ydCB0b2FzdCwgeyBUb2FzdGVyIH0gZnJvbSAncmVhY3QtaG90LXRvYXN0JztcclxuXHJcbmNvbnN0IHJhZGlvRGF0YSA9IFtcclxuICAgIHtcclxuICAgICAgICBpZDogXCIxXCIsXHJcbiAgICAgICAgdGl0bGU6IF9fKCdPcHRpb24gMSAoUmVjb21tZW5kZWQpJywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJyksXHJcbiAgICAgICAgZGVzY3JpcHRpb246IF9fKFwiVGhpcyBvcHRpb24gd2lsbCBhdXRvbWF0aWNhbGx5IHJlcGxhY2UgeW91ciB0aGVtZSdzIGhlYWRlciBhbmQgZm9vdGVyIGZpbGVzIHdpdGggY3VzdG9tIHRlbXBsYXRlcyBmcm9tIHRoZSBwbHVnaW4uIEl0IHdvcmtzIHdpdGggbW9zdCB0aGVtZXMgYW5kIGlzIHNlbGVjdGVkIGJ5IGRlZmF1bHQuXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksXHJcbiAgICAgICAgdmFsdWU6IFwiMVwiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIGlkOiBcIjJcIixcclxuICAgICAgICB0aXRsZTogX18oJ09wdGlvbiAyJywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJyksXHJcbiAgICAgICAgZGVzY3JpcHRpb246IF9fKFwiVGhpcyBvcHRpb24gd2lsbCBhdXRvbWF0aWNhbGx5IHJlcGxhY2UgeW91ciB0aGVtZSdzIGhlYWRlciBhbmQgZm9vdGVyIGZpbGVzIHdpdGggY3VzdG9tIHRlbXBsYXRlcyBmcm9tIHRoZSBwbHVnaW4uIEl0IHdvcmtzIHdpdGggbW9zdCB0aGVtZXMgYW5kIGlzIHNlbGVjdGVkIGJ5IGRlZmF1bHQuXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksXHJcbiAgICAgICAgdmFsdWU6IFwiMlwiXHJcbiAgICB9XHJcbl07XHJcblxyXG5jb25zdCBUaGVtZVN1cHBvcnQgPSAoKSA9PiB7XHJcblxyXG4gICAgaWYgKFwibm9cIiA9PT0gaGZlU2V0dGluZ3NEYXRhLnNob3dfdGhlbWVfc3VwcG9ydCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFN0YXRlIHRvIHN0b3JlIHRoZSBzZWxlY3RlZCByYWRpbyBvcHRpb25cclxuICAgIGNvbnN0IFtzZWxlY3RlZE9wdGlvbiwgc2V0U2VsZWN0ZWRPcHRpb25dID0gdXNlU3RhdGUoaGZlU2V0dGluZ3NEYXRhLnRoZW1lX29wdGlvbik7XHJcbiAgICBjb25zdCBbaXNJbml0aWFsTG9hZCwgc2V0SXNJbml0aWFsTG9hZF0gPSB1c2VTdGF0ZSh0cnVlKTtcclxuXHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIHNldElzSW5pdGlhbExvYWQoZmFsc2UpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIGNvbnN0IGhhbmRsZVJhZGlvQ2hhbmdlID0gKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24obmV3VmFsdWUpOyAvLyBVcGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbiBpbiBzdGF0ZS5cclxuXHJcbiAgICAgICAgLy8gT25seSBzZW5kIHRoZSBBSkFYIGNhbGwgaWYgdGhpcyBpcyBub3QgdGhlIGluaXRpYWwgbG9hZC5cclxuICAgICAgICBpZiAoIWlzSW5pdGlhbExvYWQpIHtcclxuICAgICAgICAgICAgc2F2ZU9wdGlvbihuZXdWYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBGdW5jdGlvbiB0byBzYXZlIHRoZSBzZWxlY3RlZCBvcHRpb24uXHJcbiAgICBjb25zdCBzYXZlT3B0aW9uID0gYXN5bmMgKG9wdGlvbikgPT4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goaGZlX2FkbWluX2RhdGEuYWpheF91cmwsIHtcclxuICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBib2R5OiBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcclxuICAgICAgICAgICAgICAgICAgICBhY3Rpb246ICdzYXZlX3RoZW1lX2NvbXBhdGliaWxpdHlfb3B0aW9uJywgLy8gV29yZFByZXNzIGFjdGlvbiBmb3IgeW91ciBBSkFYIGhhbmRsZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgaGZlX2NvbXBhdGliaWxpdHlfb3B0aW9uOiBvcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgbm9uY2U6IGhmZV9hZG1pbl9kYXRhLm5vbmNlIC8vIE5vbmNlIGZvciBzZWN1cml0eS5cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICB0b2FzdC5zdWNjZXNzKF9fKCdTZXR0aW5ncyBzYXZlZCBzdWNjZXNzZnVsbHkhJywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJykpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdG9hc3QuZXJyb3IoX18oJ0ZhaWxlZCB0byBzYXZlIHNldHRpbmdzIScsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKF9fKCdGYWlsZWQgdG8gc2F2ZSBzZXR0aW5ncyEnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICAgIDxUaXRsZVxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb249XCJcIlxyXG4gICAgICAgICAgICAgICAgaWNvbj17bnVsbH1cclxuICAgICAgICAgICAgICAgIGljb25Qb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICB0YWc9XCJoMlwiXHJcbiAgICAgICAgICAgICAgICB0aXRsZT17X18oJ1RoZW1lIFN1cHBvcnQnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPENvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgYWxpZ249XCJzdHJldGNoXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJnLWJhY2tncm91bmQtcHJpbWFyeSBwLTYgcm91bmRlZC1sZ1wiXHJcbiAgICAgICAgICAgICAgICBjb250YWluZXJUeXBlPVwiZmxleFwiXHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgICAgZ2FwPVwic21cIlxyXG4gICAgICAgICAgICAgICAganVzdGlmeT1cInN0YXJ0XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luVG9wOiBcIjI0cHhcIixcclxuICAgICAgICAgICAgICAgICAgICBtYXhXaWR0aDogXCI2OTZweFwiLFxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPENvbnRhaW5lci5JdGVtIGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgc3BhY2UteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPSd0ZXh0LWJhc2UgZm9udC1zZW1pYm9sZCBtLTAnPntfXygnU2VsZWN0IE9wdGlvbiB0byBBZGQgVGhlbWUgU3VwcG9ydCcsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpfTwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9J3RleHQtc20gZm9udC1ub3JtYWwgbS0wJz5cclxuICAgICAgICAgICAgICAgICAgICAgICAge19fKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYFRvIGVuc3VyZSBjb21wYXRpYmlsaXR5IGJldHdlZW4gdGhlIGhlYWRlci9mb290ZXIgYW5kIHlvdXIgdGhlbWUsIHBsZWFzZSBjaG9vc2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgb3B0aW9ucyB0byBlbmFibGUgdGhlbWUgc3VwcG9ydDpgLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8Q29udGFpbmVyLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwLTIgc3BhY2UteS00XCJcclxuICAgICAgICAgICAgICAgICAgICBhbGlnblNlbGY9XCJhdXRvXCJcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcj1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHtyYWRpb0RhdGEubWFwKChpdGVtKSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtpdGVtLmlkfSBjbGFzc05hbWU9J2ZsZXggaXRlbXMtc3RhcnQgZ2FwLTEganVzdGlmeS1jZW50ZXIgY3Vyc29yLXBvaW50ZXInPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2l0ZW0udmFsdWV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ncmFkaW8nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtdC0xIGN1cnNvci1wb2ludGVyIGhmZS1yYWRpby1maWVsZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwidGhlbWUtc3VwcG9ydC1vcHRpb25cIiAvLyBHcm91cCByYWRpbyBidXR0b25zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVJhZGlvQ2hhbmdlfSAvLyBUcmFjayB0aGUgY2hhbmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZD17c2VsZWN0ZWRPcHRpb24gPT09IGl0ZW0udmFsdWV9IC8vIENvbnRyb2xsZWQgaW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nZmxleCBmbGV4LWNvbCBjdXJzb3ItcG9pbnRlcic+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJuZXV0cmFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPSd0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC10ZXh0LXNlY29uZGFyeSBjdXJzb3ItcG9pbnRlciBmbGV4IGZsZXgtY29sIGl0ZW1zLXN0YXJ0IGp1c3RpZnktc3RhcnQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9e2l0ZW0uaWR9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS50aXRsZX06XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT0nbS0wIHRleHQtc20gZm9udC1ub3JtYWwgdGV4dC10ZXh0LXNlY29uZGFyeSBjdXJzb3ItcG9pbnRlcic+e2l0ZW0uZGVzY3JpcHRpb259PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICAgICAgICA8L0NvbnRhaW5lci5JdGVtPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdmbGV4IGl0ZW1zLWNlbnRlciBwLTQgYm9yZGVyIHJvdW5kZWQtbGcgdGV4dC1zdGFydCcgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiAnMTZweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZ0JvdHRvbTogJzE2cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjRjNGMEZGXCIsXHJcbiAgICAgICAgICAgICAgICB9fT5cclxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9J20tMCB0ZXh0LXNtJz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57X18oJ05vdGU6JywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJyl9PC9zdHJvbmc+IHtfXygnSWYgbmVpdGhlciBvcHRpb24gd29ya3MsIHBsZWFzZSBjb250YWN0IHlvdXIgdGhlbWUgYXV0aG9yIHRvIGFkZCBzdXBwb3J0IGZvciB0aGlzIHBsdWdpbi4nLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX1cclxuICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9Db250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8VG9hc3RlclxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb249XCJ0b3AtcmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgcmV2ZXJzZU9yZGVyPXtmYWxzZX1cclxuICAgICAgICAgICAgICAgIGd1dHRlcj17OH1cclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAyMCxcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMjAsXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luVG9wOiAnODBweCcsXHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgdG9hc3RPcHRpb25zPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDUwMDAsXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3doaXRlJyxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDMwMDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb25UaGVtZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWFyeTogJyM2MDA1ZmYnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAnI2ZmZicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgPC8+XHJcbiAgICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgVGhlbWVTdXBwb3J0O1xyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIkNvbnRhaW5lciIsIlRpdGxlIiwiTGFiZWwiLCJfXyIsInRvYXN0IiwiVG9hc3RlciIsInJhZGlvRGF0YSIsImlkIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInZhbHVlIiwiVGhlbWVTdXBwb3J0IiwiaGZlU2V0dGluZ3NEYXRhIiwic2hvd190aGVtZV9zdXBwb3J0IiwiX3VzZVN0YXRlIiwidGhlbWVfb3B0aW9uIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2VsZWN0ZWRPcHRpb24iLCJzZXRTZWxlY3RlZE9wdGlvbiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNJbml0aWFsTG9hZCIsInNldElzSW5pdGlhbExvYWQiLCJoYW5kbGVSYWRpb0NoYW5nZSIsImV2ZW50IiwibmV3VmFsdWUiLCJ0YXJnZXQiLCJzYXZlT3B0aW9uIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwib3B0aW9uIiwicmVzcG9uc2UiLCJyZXN1bHQiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiZmV0Y2giLCJoZmVfYWRtaW5fZGF0YSIsImFqYXhfdXJsIiwibWV0aG9kIiwiaGVhZGVycyIsImJvZHkiLCJVUkxTZWFyY2hQYXJhbXMiLCJhY3Rpb24iLCJoZmVfY29tcGF0aWJpbGl0eV9vcHRpb24iLCJub25jZSIsInNlbnQiLCJqc29uIiwic3VjY2VzcyIsImVycm9yIiwidDAiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsImljb24iLCJpY29uUG9zaXRpb24iLCJzaXplIiwidGFnIiwiYWxpZ24iLCJjbGFzc05hbWUiLCJjb250YWluZXJUeXBlIiwiZGlyZWN0aW9uIiwiZ2FwIiwianVzdGlmeSIsInN0eWxlIiwibWFyZ2luVG9wIiwibWF4V2lkdGgiLCJJdGVtIiwiYWxpZ25TZWxmIiwib3JkZXIiLCJtYXAiLCJpdGVtIiwia2V5IiwidHlwZSIsIm5hbWUiLCJvbkNoYW5nZSIsImNoZWNrZWQiLCJ2YXJpYW50IiwiaHRtbEZvciIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIiwiYmFja2dyb3VuZENvbG9yIiwicG9zaXRpb24iLCJyZXZlcnNlT3JkZXIiLCJndXR0ZXIiLCJjb250YWluZXJTdHlsZSIsInRvcCIsInJpZ2h0IiwidG9hc3RPcHRpb25zIiwiZHVyYXRpb24iLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJpY29uVGhlbWUiLCJwcmltYXJ5Iiwic2Vjb25kYXJ5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/Components/Settings/ThemeSupport.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Settings/VersionControl.jsx": -/*!****************************************************!*\ - !*** ./src/Components/Settings/VersionControl.jsx ***! - \****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\nvar VersionControl = function VersionControl() {\n var previousLiteVersions = hfeSettingsData.uaelite_versions;\n var liteVersionRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(previousLiteVersions ? previousLiteVersions[0].value : '');\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(previousLiteVersions ? previousLiteVersions[0].value : ''),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState, 2),\n liteVersionSelect = _useState2[0],\n setLiteVersionSelect = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)('elementor-header-footer'),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState3, 2),\n freeproductSelect = _useState4[0],\n setFreeproductSelect = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),\n _useState6 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState5, 2),\n openLitePopup = _useState6[0],\n setOpenLitePopup = _useState6[1];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {}, [openLitePopup]);\n var onLiteCancelClick = function onLiteCancelClick() {\n setOpenLitePopup(false);\n };\n var onLiteContinueClick = function onLiteContinueClick() {\n var rollbackUrl = hfeSettingsData.uaelite_rollback_url.replace('VERSION', liteVersionSelect);\n setOpenLitePopup(false);\n window.location.href = rollbackUrl;\n };\n var handleLiteVersionChange = function handleLiteVersionChange(event) {\n setLiteVersionSelect(event.target.value);\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Title, {\n description: \"\",\n icon: null,\n iconPosition: \"right\",\n size: \"sm\",\n tag: \"h2\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Version Control', 'header-footer-elementor')\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"box-border bg-background-primary p-6 rounded-lg\",\n style: {\n marginTop: \"24px\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Container, {\n align: \"center\",\n className: \"flex flex-col lg:flex-row\",\n containerType: \"flex\",\n direction: \"column\",\n gap: \"sm\",\n justify: \"start\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Container.Item, {\n className: \"shrink flex flex-col space-y-1\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"p\", {\n className: \"text-base font-semibold m-0\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Rollback to Previous Version\", 'header-footer-elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"p\", {\n className: \"text-sm font-normal m-0\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Experiencing an issue with current version? Roll back to a previous version to help troubleshoot the issue.', 'header-footer-elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Container.Item, {\n className: \"p-2 flex space-y-4\",\n alignSelf: \"auto\",\n order: \"none\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"bsf-rollback-version\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"input\", {\n type: \"hidden\",\n name: \"product-name\",\n id: \"bsf-product-name\",\n value: 'header-footer-elementor'\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"select\", {\n id: \"uaeliteVersionRollback\",\n ref: liteVersionRef,\n onBlur: function onBlur() {\n setFreeproductSelect('elementor-header-footer');\n },\n onChange: handleLiteVersionChange,\n style: {\n padding: '8px',\n marginRight: '10px',\n marginTop: '16px',\n cursor: 'pointer',\n borderRadius: '4px',\n height: '40px',\n width: '100px',\n outline: 'none',\n // Removes the default outline\n boxShadow: 'none'\n // marginTop: '16px' // Removes the default box shadow\n },\n onFocus: function onFocus(e) {\n return e.target.style.borderColor = '#6005FF';\n } // Apply focus color\n }, previousLiteVersions.map(function (version) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"option\", {\n key: version.value,\n value: version.value\n }, version.label);\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex flex-col cursor-pointer\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog, {\n design: \"simple\",\n exitOnEsc: true,\n scrollLock: true,\n open: openLitePopup // Ensure Dialog is controlled by state\n ,\n setOpen: setOpenLitePopup // Synchronize state\n ,\n trigger: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {\n style: {\n backgroundColor: '#6005ff'\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Rollback', 'header-footer-elementor'))\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog.Backdrop, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog.Panel, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog.Header, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex items-center justify-between\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog.Title, null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Rollback to Previous Version', 'header-footer-elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog.CloseButton, null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog.Body, null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)(\"Are you sure you want to rollback to UAE Lite v\".concat(liteVersionSelect, \"?\"), 'header-footer-elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Dialog.Footer, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: onLiteContinueClick\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Rollback', 'header-footer-elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {\n onClick: onLiteCancelClick\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Cancel', 'header-footer-elementor'))))))))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VersionControl);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9TZXR0aW5ncy9WZXJzaW9uQ29udHJvbC5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQTJEO0FBQ007QUFDNUI7QUFFckMsSUFBTVMsY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFBLEVBQVM7RUFFekIsSUFBTUMsb0JBQW9CLEdBQUdDLGVBQWUsQ0FBQ0MsZ0JBQWdCO0VBRTdELElBQU1DLGNBQWMsR0FBR1YsNkNBQU0sQ0FBQ08sb0JBQW9CLEdBQUdBLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDSSxLQUFLLEdBQUcsRUFBRSxDQUFDO0VBRXhGLElBQUFDLFNBQUEsR0FBa0RkLCtDQUFRLENBQUNTLG9CQUFvQixHQUFHQSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQ0ksS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUFBRSxVQUFBLEdBQUFDLGdGQUFBLENBQUFGLFNBQUE7SUFBOUdHLGlCQUFpQixHQUFBRixVQUFBO0lBQUVHLG9CQUFvQixHQUFBSCxVQUFBO0VBRTlDLElBQUFJLFVBQUEsR0FBa0RuQiwrQ0FBUSxDQUFDLHlCQUF5QixDQUFDO0lBQUFvQixVQUFBLEdBQUFKLGdGQUFBLENBQUFHLFVBQUE7SUFBOUVFLGlCQUFpQixHQUFBRCxVQUFBO0lBQUVFLG9CQUFvQixHQUFBRixVQUFBO0VBRTlDLElBQUFHLFVBQUEsR0FBMEN2QiwrQ0FBUSxDQUFDLEtBQUssQ0FBQztJQUFBd0IsVUFBQSxHQUFBUixnRkFBQSxDQUFBTyxVQUFBO0lBQWxERSxhQUFhLEdBQUFELFVBQUE7SUFBRUUsZ0JBQWdCLEdBQUFGLFVBQUE7RUFFdEN2QixnREFBUyxDQUFDLFlBQU0sQ0FDaEIsQ0FBQyxFQUFFLENBQUN3QixhQUFhLENBQUMsQ0FBQztFQUVuQixJQUFNRSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFBLEVBQVM7SUFDNUJELGdCQUFnQixDQUFDLEtBQUssQ0FBQztFQUMzQixDQUFDO0VBRUQsSUFBTUUsbUJBQW1C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Q0FBQ3FGLE1BQU0scUJBQ1Y1RiwwREFBQSxDQUFDTSxpREFBTTtJQUFDdUYsT0FBTyxFQUFFaEU7RUFBb0IsR0FDaENyQixtREFBRSxDQUFDLFVBQVUsRUFBRSx5QkFBeUIsQ0FDckMsQ0FBQyxlQUNUUiwwREFBQSxDQUFDTSxpREFBTTtJQUFDdUYsT0FBTyxFQUFFakU7RUFBa0IsR0FDOUJwQixtREFBRSxDQUFDLFFBQVEsRUFBRSx5QkFBeUIsQ0FDbkMsQ0FDRyxDQUNMLENBQ1YsQ0FDUCxDQUNPLENBQ1QsQ0FFVixDQUNQLENBQUM7QUFFWCxDQUFDO0FBRUQsaUVBQWVDLGNBQWMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL3NyYy9Db21wb25lbnRzL1NldHRpbmdzL1ZlcnNpb25Db250cm9sLmpzeD85Yzc4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENvbnRhaW5lciwgVGl0bGUsIEJ1dHRvbiwgRGlhbG9nIH0gZnJvbSBcIkBic2YvZm9yY2UtdWlcIjtcclxuaW1wb3J0IHsgX18gfSBmcm9tICdAd29yZHByZXNzL2kxOG4nO1xyXG5cclxuY29uc3QgVmVyc2lvbkNvbnRyb2wgPSAoKSA9PiB7XHJcblxyXG4gICAgY29uc3QgcHJldmlvdXNMaXRlVmVyc2lvbnMgPSBoZmVTZXR0aW5nc0RhdGEudWFlbGl0ZV92ZXJzaW9ucztcclxuXHJcbiAgICBjb25zdCBsaXRlVmVyc2lvblJlZiA9IHVzZVJlZihwcmV2aW91c0xpdGVWZXJzaW9ucyA/IHByZXZpb3VzTGl0ZVZlcnNpb25zWzBdLnZhbHVlIDogJycpO1xyXG5cclxuICAgIGNvbnN0IFtsaXRlVmVyc2lvblNlbGVjdCwgc2V0TGl0ZVZlcnNpb25TZWxlY3RdID0gdXNlU3RhdGUocHJldmlvdXNMaXRlVmVyc2lvbnMgPyBwcmV2aW91c0xpdGVWZXJzaW9uc1swXS52YWx1ZSA6ICcnKTtcclxuXHJcbiAgICBjb25zdCBbZnJlZXByb2R1Y3RTZWxlY3QsIHNldEZyZWVwcm9kdWN0U2VsZWN0XSA9IHVzZVN0YXRlKCdlbGVtZW50b3ItaGVhZGVyLWZvb3RlcicpO1xyXG5cclxuICAgIGNvbnN0IFtvcGVuTGl0ZVBvcHVwLCBzZXRPcGVuTGl0ZVBvcHVwXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuXHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgfSwgW29wZW5MaXRlUG9wdXBdKTtcclxuXHJcbiAgICBjb25zdCBvbkxpdGVDYW5jZWxDbGljayA9ICgpID0+IHtcclxuICAgICAgICBzZXRPcGVuTGl0ZVBvcHVwKGZhbHNlKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb25MaXRlQ29udGludWVDbGljayA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCByb2xsYmFja1VybCA9IGhmZVNldHRpbmdzRGF0YS51YWVsaXRlX3JvbGxiYWNrX3VybC5yZXBsYWNlKFxyXG4gICAgICAgICAgICAnVkVSU0lPTicsXHJcbiAgICAgICAgICAgIGxpdGVWZXJzaW9uU2VsZWN0XHJcbiAgICAgICAgKTtcclxuICAgICAgICBzZXRPcGVuTGl0ZVBvcHVwKGZhbHNlKTtcclxuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHJvbGxiYWNrVXJsO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBoYW5kbGVMaXRlVmVyc2lvbkNoYW5nZSA9IChldmVudCkgPT4ge1xyXG4gICAgICAgIHNldExpdGVWZXJzaW9uU2VsZWN0KGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAgICA8VGl0bGVcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPVwiXCJcclxuICAgICAgICAgICAgICAgIGljb249e251bGx9XHJcbiAgICAgICAgICAgICAgICBpY29uUG9zaXRpb249XCJyaWdodFwiXHJcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICAgICAgdGFnPVwiaDJcIlxyXG4gICAgICAgICAgICAgICAgdGl0bGU9e19fKCdWZXJzaW9uIENvbnRyb2wnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYm94LWJvcmRlciBiZy1iYWNrZ3JvdW5kLXByaW1hcnkgcC02IHJvdW5kZWQtbGdcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6IFwiMjRweFwiLFxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPENvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduPVwiY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGxnOmZsZXgtcm93XCJcclxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJUeXBlPVwiZmxleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICAgICAgICBnYXA9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeT1cInN0YXJ0XCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8Q29udGFpbmVyLkl0ZW0gY2xhc3NOYW1lPVwic2hyaW5rIGZsZXggZmxleC1jb2wgc3BhY2UteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtYmFzZSBmb250LXNlbWlib2xkIG0tMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge19fKGBSb2xsYmFjayB0byBQcmV2aW91cyBWZXJzaW9uYCwgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJyl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW5vcm1hbCBtLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfXygnRXhwZXJpZW5jaW5nIGFuIGlzc3VlIHdpdGggY3VycmVudCB2ZXJzaW9uPyBSb2xsIGJhY2sgdG8gYSBwcmV2aW91cyB2ZXJzaW9uIHRvIGhlbHAgdHJvdWJsZXNob290IHRoZSBpc3N1ZS4nLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgPENvbnRhaW5lci5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInAtMiBmbGV4IHNwYWNlLXktNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduU2VsZj1cImF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcj1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJic2Ytcm9sbGJhY2stdmVyc2lvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwicHJvZHVjdC1uYW1lXCIgaWQ9XCJic2YtcHJvZHVjdC1uYW1lXCIgdmFsdWU9eydoZWFkZXItZm9vdGVyLWVsZW1lbnRvcid9IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ1YWVsaXRlVmVyc2lvblJvbGxiYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2xpdGVWZXJzaW9uUmVmfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cj17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRGcmVlcHJvZHVjdFNlbGVjdCgnZWxlbWVudG9yLWhlYWRlci1mb290ZXInKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVMaXRlVmVyc2lvbkNoYW5nZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnOHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICcxMHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luVG9wOiAnMTZweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICc0MHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDBweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGxpbmU6ICdub25lJywgICAgICAgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBvdXRsaW5lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveFNoYWRvdzogJ25vbmUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW5Ub3A6ICcxNnB4JyAgICAgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBib3ggc2hhZG93XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZSkgPT4gZS50YXJnZXQuc3R5bGUuYm9yZGVyQ29sb3IgPSAnIzYwMDVGRid9IC8vIEFwcGx5IGZvY3VzIGNvbG9yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ByZXZpb3VzTGl0ZVZlcnNpb25zLm1hcCgodmVyc2lvbikgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIGtleT17dmVyc2lvbi52YWx1ZX0gdmFsdWU9e3ZlcnNpb24udmFsdWV9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZlcnNpb24ubGFiZWx9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGlhbG9nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzaWduPVwic2ltcGxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGl0T25Fc2NcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxMb2NrXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Blbj17b3BlbkxpdGVQb3B1cH0gLy8gRW5zdXJlIERpYWxvZyBpcyBjb250cm9sbGVkIGJ5IHN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0T3Blbj17c2V0T3BlbkxpdGVQb3B1cH0gLy8gU3luY2hyb25pemUgc3RhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyPXs8QnV0dG9uIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogJyM2MDA1ZmYnIH19PntfXygnUm9sbGJhY2snLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX08L0J1dHRvbj59XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERpYWxvZy5CYWNrZHJvcCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEaWFsb2cuUGFuZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEaWFsb2cuSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGlhbG9nLlRpdGxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7X18oJ1JvbGxiYWNrIHRvIFByZXZpb3VzIFZlcnNpb24nLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0RpYWxvZy5UaXRsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGlhbG9nLkNsb3NlQnV0dG9uIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9EaWFsb2cuSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGlhbG9nLkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7X18oYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByb2xsYmFjayB0byBVQUUgTGl0ZSB2JHtsaXRlVmVyc2lvblNlbGVjdH0/YCwgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJyl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRGlhbG9nLkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEaWFsb2cuRm9vdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtvbkxpdGVDb250aW51ZUNsaWNrfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7X18oJ1JvbGxiYWNrJywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJyl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gb25DbGljaz17b25MaXRlQ2FuY2VsQ2xpY2t9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfXygnQ2FuY2VsJywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJyl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9EaWFsb2cuRm9vdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRGlhbG9nLlBhbmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9EaWFsb2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8L0NvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvPlxyXG4gICAgKTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgVmVyc2lvbkNvbnRyb2w7XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlUmVmIiwiQ29udGFpbmVyIiwiVGl0bGUiLCJCdXR0b24iLCJEaWFsb2ciLCJfXyIsIlZlcnNpb25Db250cm9sIiwicHJldmlvdXNMaXRlVmVyc2lvbnMiLCJoZmVTZXR0aW5nc0RhdGEiLCJ1YWVsaXRlX3ZlcnNpb25zIiwibGl0ZVZlcnNpb25SZWYiLCJ2YWx1ZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImxpdGVWZXJzaW9uU2VsZWN0Iiwic2V0TGl0ZVZlcnNpb25TZWxlY3QiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImZyZWVwcm9kdWN0U2VsZWN0Iiwic2V0RnJlZXByb2R1Y3RTZWxlY3QiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsIm9wZW5MaXRlUG9wdXAiLCJzZXRPcGVuTGl0ZVBvcHVwIiwib25MaXRlQ2FuY2VsQ2xpY2siLCJvbkxpdGVDb250aW51ZUNsaWNrIiwicm9sbGJhY2tVcmwiLCJ1YWVsaXRlX3JvbGxiYWNrX3VybCIsInJlcGxhY2UiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJoYW5kbGVMaXRlVmVyc2lvbkNoYW5nZSIsImV2ZW50IiwidGFyZ2V0IiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiZGVzY3JpcHRpb24iLCJpY29uIiwiaWNvblBvc2l0aW9uIiwic2l6ZSIsInRhZyIsInRpdGxlIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJtYXJnaW5Ub3AiLCJhbGlnbiIsImNvbnRhaW5lclR5cGUiLCJkaXJlY3Rpb24iLCJnYXAiLCJqdXN0aWZ5IiwiSXRlbSIsImFsaWduU2VsZiIsIm9yZGVyIiwidHlwZSIsIm5hbWUiLCJpZCIsInJlZiIsIm9uQmx1ciIsIm9uQ2hhbmdlIiwicGFkZGluZyIsIm1hcmdpblJpZ2h0IiwiY3Vyc29yIiwiYm9yZGVyUmFkaXVzIiwiaGVpZ2h0Iiwid2lkdGgiLCJvdXRsaW5lIiwiYm94U2hhZG93Iiwib25Gb2N1cyIsImUiLCJib3JkZXJDb2xvciIsIm1hcCIsInZlcnNpb24iLCJrZXkiLCJsYWJlbCIsImRlc2lnbiIsImV4aXRPbkVzYyIsInNjcm9sbExvY2siLCJvcGVuIiwic2V0T3BlbiIsInRyaWdnZXIiLCJiYWNrZ3JvdW5kQ29sb3IiLCJCYWNrZHJvcCIsIlBhbmVsIiwiSGVhZGVyIiwiQ2xvc2VCdXR0b24iLCJCb2R5IiwiY29uY2F0IiwiRm9vdGVyIiwib25DbGljayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Components/Settings/VersionControl.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Templates/ExploreTemplates.jsx": -/*!*******************************************************!*\ - !*** ./src/Components/Templates/ExploreTemplates.jsx ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/zap.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/plus.js\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\nvar ExploreTemplates = function ExploreTemplates() {\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState, 2),\n loading = _useState2[0],\n setLoading = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState3, 2),\n templatesStatus = _useState4[0],\n setTemplatesStatus = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null),\n _useState6 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_useState5, 2),\n redirectUrl = _useState6[0],\n setRedirectUrl = _useState6[1];\n var templateData = [{\n id: 1,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"250+ templates for every niche\", \"header-footer-elementor\")\n }, {\n id: 2,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Modern, timeless designs\", \"header-footer-elementor\")\n }, {\n id: 3,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Full design flexibility for easy customization\", \"header-footer-elementor\")\n }, {\n id: 4,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"100% responsive across all devices\", \"header-footer-elementor\")\n }];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n var fetchSettings = function fetchSettings() {\n setLoading(true);\n _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default()({\n path: '/hfe/v1/templates',\n headers: {\n 'Content-Type': 'application/json',\n 'X-WP-Nonce': hfeSettingsData.hfe_nonce_action // Use the correct nonce\n }\n }).then(function (data) {\n setTemplatesStatus(data.templates_status);\n if (data.redirect_url) {\n setRedirectUrl(data.redirect_url); // Save URL in state variable\n }\n setLoading(false); // Stop loading\n })[\"catch\"](function (err) {\n setLoading(false); // Stop loading\n });\n };\n fetchSettings();\n }, []);\n if (loading) {\n return;\n }\n var button_text = 'Install' === templatesStatus ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Install Starter Templates', 'header-footer-elementor') : true ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Activate Starter Templates', 'header-footer-elementor') : 0;\n var handleButtonClick = function handleButtonClick(e) {\n if (redirectUrl) {\n window.open(redirectUrl, '_blank');\n } else {\n var buttonElement = document.querySelector('.hfe-starter-template-button span');\n var formData = new window.FormData();\n formData.append('action', 'hfe_recommended_plugin_install');\n formData.append('_ajax_nonce', hfe_admin_data.installer_nonce);\n formData.append('slug', 'astra-sites');\n if (buttonElement && templatesStatus === 'Install') {\n buttonElement.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Installing Starter Templates...', 'header-footer-elementor');\n\n // AJAX call to install the starter template.\n _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default()({\n url: hfe_admin_data.ajax_url,\n method: 'POST',\n body: formData\n }).then(function (data) {\n if (data.success || data.errorCode === 'folder_exists') {\n buttonElement.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Installed Starter Templates', 'header-footer-elementor');\n callAnalyticsWebhook();\n activatePlugin();\n } else {\n buttonElement.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Install Starter Templates', 'header-footer-elementor');\n }\n });\n }\n if (buttonElement && templatesStatus === 'Installed') {\n buttonElement.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Activating Starter Templates...', 'header-footer-elementor');\n activatePlugin();\n }\n }\n };\n var callAnalyticsWebhook = function callAnalyticsWebhook() {\n var webhookUrl = 'https://webhook.suretriggers.com/suretriggers/a7ac4b20-18f9-4ec6-9813-dfac83328d00';\n var today = new Date().toISOString().split('T')[0];\n var params = new URLSearchParams({\n source: 'UAE Lite',\n target_plugin: 'Starter Templates',\n date: today // Add today's date\n });\n fetch(\"\".concat(webhookUrl, \"?\").concat(params.toString()), {\n method: 'GET'\n }).then(function (response) {\n return response.json();\n }).then(function (data) {\n // console.log('Webhook call successful:', data);\n })[\"catch\"](function (error) {\n // console.error('Error calling webhook:', error);\n });\n };\n var activatePlugin = function activatePlugin() {\n var formData = new window.FormData();\n var st_pro_status = hfeSettingsData.st_pro_status;\n var plugin_file = 'astra-sites/astra-sites.php';\n var plugin_slug = 'astra-sites';\n if ('Installed' === st_pro_status && ('Install' === hfeSettingsData.st_status || 'Installed' === hfeSettingsData.st_status)) {\n plugin_file = 'astra-pro-sites/astra-pro-sites.php';\n plugin_slug = 'astra-pro-sites';\n }\n formData.append('action', 'hfe_recommended_plugin_activate');\n formData.append('nonce', hfe_admin_data.nonce);\n formData.append('plugin', plugin_file);\n formData.append('type', 'plugin');\n formData.append('slug', plugin_slug);\n _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_3___default()({\n url: hfe_admin_data.ajax_url,\n method: 'POST',\n body: formData\n }).then(function (data) {\n if (data.success) {\n var buttonElement = document.querySelector('.hfe-starter-template-button');\n if (buttonElement) {\n // Check if buttonElement is not null\n var spanElement = buttonElement.querySelector('span');\n if (spanElement) {\n // Check if spanElement is not null\n spanElement.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Activating Starter Templates...', 'header-footer-elementor');\n buttonElement.classList.add('hfe-plugin-activated');\n spanElement.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Activated Starter Templates', 'header-footer-elementor');\n location.reload();\n }\n }\n } else {\n var _buttonElement = document.querySelector('.hfe-starter-template-button');\n if (_buttonElement) {\n // Check if buttonElement is not null\n var _spanElement = _buttonElement.querySelector('span');\n if (_spanElement) {\n // Check if spanElement is not null\n _spanElement.innerText = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Activate Starter Templates', 'header-footer-elementor');\n }\n }\n }\n });\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Container, {\n className: \"flex gap-2 flex-col md:flex-row bg-background-primary p-6 md:p-10 border-[0.5px] border-subtle rounded-xl shadow-sm flex-col-reverse\",\n containerType: \"flex\",\n gap: \"xs\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Container.Item, {\n className: \"flex flex-col justify-between w-full mt-4 md:w-1/2 mb-4 md:mb-0\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Title, {\n description: \"\",\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null),\n iconPosition: \"left\",\n size: \"xs\",\n tag: \"h6\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Design Your Website in Minutes\", \"header-footer-elementor\"),\n className: \"text-xs font-semibold text-brand-primary-600 mb-2\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Title, {\n description: \"\",\n icon: \"\",\n iconPosition: \"left\",\n tag: \"h6\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Build your website faster using our prebuilt templates\", \"header-footer-elementor\"),\n className: \"py-1 text-sm mb-2\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"p\", {\n className: \"text-sm md:text-md m-0 text-text-secondary text-text-tertiary\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Stop building your site from scratch. Use our professional templates for your stunning website.It is easy to customize and completely responsive. Explore hundreds of designs and bring your vision to life in no time.', 'header-footer-elementor'))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"grid grid-cols-1 gap-1 my-4\"\n }, templateData.map(function (template) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Title, {\n key: template.id,\n description: \"\",\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"text-brand-primary-600 mr-1 h-3 w-3\"\n }),\n iconPosition: \"left\",\n size: \"xs\",\n tag: \"h6\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(template.title, 'header-footer-elementor'),\n className: \"\"\n });\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", {\n className: \"flex flex-col md:flex-row items-center pb-3 gap-4\",\n style: {\n marginTop: \"15px\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null),\n iconPosition: \"right\",\n variant: \"secondary\",\n style: {\n backgroundColor: \"#6005FF\",\n outlineWidth: \"0px\"\n },\n className: \"w-auto hfe-starter-template-button hfe-remove-ring cursor-pointer\",\n onClick: handleButtonClick\n }, 'Activated' === templatesStatus ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Explore Templates', 'header-footer-elementor') : button_text), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Button, {\n icon: \"\",\n iconPosition: \"right\",\n variant: \"ghost\",\n className: \"w-auto hfe-link-color hfe-remove-ring\",\n onClick: function onClick() {\n window.open('https://startertemplates.com/', '_blank');\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Learn More', 'header-footer-elementor')))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_2__.Container.Item, {\n className: \"flex justify-center md:justify-end w-full md:w-1/2\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"img\", {\n src: \"\".concat(hfeSettingsData.template_url),\n alt: \"Column Showcase\",\n className: \"object-contain w-full md:w-5/6\"\n }))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ExploreTemplates);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9UZW1wbGF0ZXMvRXhwbG9yZVRlbXBsYXRlcy5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBbUQ7QUFDTTtBQUNUO0FBQ0o7QUFDUDtBQUVyQyxJQUFNVyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFBLEVBQVM7RUFFOUIsSUFBQUMsU0FBQSxHQUE4QlgsK0NBQVEsQ0FBQyxJQUFJLENBQUM7SUFBQVksVUFBQSxHQUFBQyxnRkFBQSxDQUFBRixTQUFBO0lBQXJDRyxPQUFPLEdBQUFGLFVBQUE7SUFBRUcsVUFBVSxHQUFBSCxVQUFBO0VBQzFCLElBQUFJLFVBQUEsR0FBOENoQiwrQ0FBUSxDQUFDLElBQUksQ0FBQztJQUFBaUIsVUFBQSxHQUFBSixnRkFBQSxDQUFBRyxVQUFBO0lBQXJERSxlQUFlLEdBQUFELFVBQUE7SUFBRUUsa0JBQWtCLEdBQUFGLFVBQUE7RUFDdkMsSUFBQUcsVUFBQSxHQUFzQ3BCLCtDQUFRLENBQUMsSUFBSSxDQUFDO0lBQUFxQixVQUFBLEdBQUFSLGdGQUFBLENBQUFPLFVBQUE7SUFBN0NFLFdBQVcsR0FBQUQsVUFBQTtJQUFFRSxjQUFjLEdBQUFGLFVBQUE7RUFFckMsSUFBTUcsWUFBWSxHQUFHLENBQ3BCO0lBQ0NDLEVBQUUsRUFBRSxDQUFDO0lBQ0xDLElBQUksRUFBRSxFQUFFO0lBQ1JDLEtBQUssRUFBRWxCLG1EQUFFLENBQUUsZ0NBQWdDLEVBQUUseUJBQTBCO0VBQ3hFLENBQUMsRUFDRDtJQUNDZ0IsRUFBRSxFQUFFLENBQUM7SUFDTEMsSUFBSSxFQUFFLEVBQUU7SUFDUkMsS0FBSyxFQUFFbEIsbURBQUUsQ0FBRSwwQkFBMEIsRUFBRSx5QkFBMEI7RUFDbEUsQ0FBQyxFQUNEO0lBQ0NnQixFQUFFLEVBQUUsQ0FBQztJQUNMQyxJQUFJLEVBQUUsRUFBRTtJQUNSQyxLQUFLLEVBQUVsQixtREFBRSxDQUFFLGdEQUFnRCxFQUFFLHlCQUEwQjtFQUN4RixDQUFDLEVBQ0Q7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QUFXO0lBQ25CRixLQUFLLEVBQUU7TUFBRUcsZUFBZSxFQUFFLFNBQVM7TUFBRUMsWUFBWSxFQUFFO0lBQU0sQ0FBRTtJQUMzRGYsU0FBUyxFQUFDLG1FQUFtRTtJQUM3RWdCLE9BQU8sRUFBRWhFO0VBQWtCLEdBRXZCLFdBQVcsS0FBS3JCLGVBQWUsR0FBS1QsbURBQUUsQ0FBQyxtQkFBbUIsRUFBRSx5QkFBeUIsQ0FBQyxHQUFHNkIsV0FDdEYsQ0FBQyxlQUNUdkMsMERBQUEsQ0FBQ0ssaURBQU07SUFDTnNCLElBQUksRUFBQyxFQUFFO0lBQ1BrRSxZQUFZLEVBQUMsT0FBTztJQUNwQlEsT0FBTyxFQUFDLE9BQU87SUFDZmIsU0FBUyxFQUFDLHVDQUF1QztJQUNqRGdCLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7TUFDVTlELE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLCtCQUErQixFQUFFLFFBQVEsQ0FBQztJQUMxRDtFQUFFLEdBRXRCakMsbURBQUUsQ0FBQyxZQUFZLEVBQUUseUJBQXlCLENBQ3BDLENBQ0osQ0FDVSxDQUFDLGVBR2pCViwwREFBQSxDQUFDRyxvREFBUyxDQUFDd0YsSUFBSTtJQUFDSCxTQUFTLEVBQUM7RUFBb0QsZ0JBQzdFeEYsMERBQUE7SUFDQ3lHLEdBQUcsS0FBQWpDLE1BQUEsQ0FBS3hDLGVBQWUsQ0FBQzBFLFlBQVksQ0FBRztJQUN2Q0MsR0FBRyxFQUFDLGlCQUFpQjtJQUNyQm5CLFNBQVMsRUFBQztFQUFnQyxDQUMxQyxDQUNjLENBQ04sQ0FDUCxDQUFDO0FBR1IsQ0FBQztBQUVELGlFQUFlN0UsZ0JBQWdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9zcmMvQ29tcG9uZW50cy9UZW1wbGF0ZXMvRXhwbG9yZVRlbXBsYXRlcy5qc3g/ZWM3MCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgQ29udGFpbmVyLCBUaXRsZSwgQnV0dG9uIH0gZnJvbSBcIkBic2YvZm9yY2UtdWlcIjtcclxuaW1wb3J0IHsgWmFwLCBQbHVzLCBDaGVjayB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcclxuaW1wb3J0IGFwaUZldGNoIGZyb20gJ0B3b3JkcHJlc3MvYXBpLWZldGNoJztcclxuaW1wb3J0IHsgX18gfSBmcm9tIFwiQHdvcmRwcmVzcy9pMThuXCI7XHJcblxyXG5jb25zdCBFeHBsb3JlVGVtcGxhdGVzID0gKCkgPT4ge1xyXG5cclxuXHRjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKTtcclxuXHRjb25zdCBbdGVtcGxhdGVzU3RhdHVzLCBzZXRUZW1wbGF0ZXNTdGF0dXNdID0gdXNlU3RhdGUobnVsbCk7IFxyXG4gICAgY29uc3QgW3JlZGlyZWN0VXJsLCBzZXRSZWRpcmVjdFVybF0gPSB1c2VTdGF0ZShudWxsKTsgXHJcblxyXG5cdGNvbnN0IHRlbXBsYXRlRGF0YSA9IFtcclxuXHRcdHtcclxuXHRcdFx0aWQ6IDEsXHJcblx0XHRcdGljb246IFwiXCIsXHJcblx0XHRcdHRpdGxlOiBfXyggXCIyNTArIHRlbXBsYXRlcyBmb3IgZXZlcnkgbmljaGVcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiICksXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRpZDogMixcclxuXHRcdFx0aWNvbjogXCJcIixcclxuXHRcdFx0dGl0bGU6IF9fKCBcIk1vZGVybiwgdGltZWxlc3MgZGVzaWduc1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIgKSxcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdGlkOiAzLFxyXG5cdFx0XHRpY29uOiBcIlwiLFxyXG5cdFx0XHR0aXRsZTogX18oIFwiRnVsbCBkZXNpZ24gZmxleGliaWxpdHkgZm9yIGVhc3kgY3VzdG9taXphdGlvblwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIgKSxcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdGlkOiA0LFxyXG5cdFx0XHRpY29uOiBcIlwiLFxyXG5cdFx0XHR0aXRsZTogX18oIFwiMTAwJSByZXNwb25zaXZlIGFjcm9zcyBhbGwgZGV2aWNlc1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIgKSxcclxuXHRcdH1cclxuXHRdO1xyXG5cclxuXHR1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZldGNoU2V0dGluZ3MgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHNldExvYWRpbmcodHJ1ZSk7XHJcbiAgICAgICAgICAgIGFwaUZldGNoKHtcclxuICAgICAgICAgICAgICAgIHBhdGg6ICcvaGZlL3YxL3RlbXBsYXRlcycsXHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgICAgICAgICAnWC1XUC1Ob25jZSc6IGhmZVNldHRpbmdzRGF0YS5oZmVfbm9uY2VfYWN0aW9uLCAvLyBVc2UgdGhlIGNvcnJlY3Qgbm9uY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xyXG5cdFx0XHRcdFx0c2V0VGVtcGxhdGVzU3RhdHVzKGRhdGEudGVtcGxhdGVzX3N0YXR1cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEucmVkaXJlY3RfdXJsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFJlZGlyZWN0VXJsKGRhdGEucmVkaXJlY3RfdXJsKTsgLy8gU2F2ZSBVUkwgaW4gc3RhdGUgdmFyaWFibGVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7IC8vIFN0b3AgbG9hZGluZ1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7IC8vIFN0b3AgbG9hZGluZ1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgZmV0Y2hTZXR0aW5ncygpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuXHRpZiggbG9hZGluZyApIHtcclxuXHRcdHJldHVybjtcclxuXHR9XHJcblxyXG5cdGNvbnN0IGJ1dHRvbl90ZXh0ID0gJ0luc3RhbGwnID09PSB0ZW1wbGF0ZXNTdGF0dXMgPyBfXygnSW5zdGFsbCBTdGFydGVyIFRlbXBsYXRlcycsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpIDogKCAnSW5zdGFsbGVkJyA/IF9fKCdBY3RpdmF0ZSBTdGFydGVyIFRlbXBsYXRlcycsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpIDogJycpO1xyXG5cclxuXHRjb25zdCBoYW5kbGVCdXR0b25DbGljayA9IChlKSA9PiB7XHJcblxyXG5cdFx0aWYgIChyZWRpcmVjdFVybCApIHtcclxuXHRcdFx0d2luZG93Lm9wZW4ocmVkaXJlY3RVcmwsICdfYmxhbmsnKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGNvbnN0IGJ1dHRvbkVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaGZlLXN0YXJ0ZXItdGVtcGxhdGUtYnV0dG9uIHNwYW4nKTtcclxuXHJcblx0XHRcdGNvbnN0IGZvcm1EYXRhID0gbmV3IHdpbmRvdy5Gb3JtRGF0YSgpO1xyXG5cdFx0XHRmb3JtRGF0YS5hcHBlbmQoICdhY3Rpb24nLCAnaGZlX3JlY29tbWVuZGVkX3BsdWdpbl9pbnN0YWxsJyApO1xyXG5cdFx0XHRmb3JtRGF0YS5hcHBlbmQoICdfYWpheF9ub25jZScsIGhmZV9hZG1pbl9kYXRhLmluc3RhbGxlcl9ub25jZSApO1xyXG5cdFx0XHRmb3JtRGF0YS5hcHBlbmQoICdzbHVnJywgJ2FzdHJhLXNpdGVzJyApO1xyXG5cdFx0XHRcclxuXHRcdFx0aWYoIGJ1dHRvbkVsZW1lbnQgJiYgdGVtcGxhdGVzU3RhdHVzID09PSAnSW5zdGFsbCcgKSB7XHJcblxyXG5cdFx0XHRcdGJ1dHRvbkVsZW1lbnQuaW5uZXJUZXh0ID0gX18oJ0luc3RhbGxpbmcgU3RhcnRlciBUZW1wbGF0ZXMuLi4nLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKTtcclxuXHJcblx0XHRcdFx0Ly8gQUpBWCBjYWxsIHRvIGluc3RhbGwgdGhlIHN0YXJ0ZXIgdGVtcGxhdGUuXHJcblx0XHRcdFx0YXBpRmV0Y2goe1xyXG5cdFx0XHRcdFx0dXJsOiBoZmVfYWRtaW5fZGF0YS5hamF4X3VybCxcclxuXHRcdFx0XHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0XHRcdFx0Ym9keTogZm9ybURhdGEsXHJcblx0XHRcdFx0fSkudGhlbigoZGF0YSkgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKGRhdGEuc3VjY2VzcyB8fCBkYXRhLmVycm9yQ29kZSA9PT0gJ2ZvbGRlcl9leGlzdHMnICkge1xyXG5cdFx0XHRcdFx0XHRidXR0b25FbGVtZW50LmlubmVyVGV4dCA9IF9fKCdJbnN0YWxsZWQgU3RhcnRlciBUZW1wbGF0ZXMnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKTtcclxuXHRcdFx0XHRcdFx0Y2FsbEFuYWx5dGljc1dlYmhvb2soKTtcclxuXHRcdFx0XHRcdFx0YWN0aXZhdGVQbHVnaW4oKTtcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdGJ1dHRvbkVsZW1lbnQuaW5uZXJUZXh0ID0gX18oJ0luc3RhbGwgU3RhcnRlciBUZW1wbGF0ZXMnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYoIGJ1dHRvbkVsZW1lbnQgJiYgdGVtcGxhdGVzU3RhdHVzID09PSAnSW5zdGFsbGVkJyApIHtcclxuXHRcdFx0XHRidXR0b25FbGVtZW50LmlubmVyVGV4dCA9IF9fKCdBY3RpdmF0aW5nIFN0YXJ0ZXIgVGVtcGxhdGVzLi4uJywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJyk7XHJcblx0XHRcdFx0YWN0aXZhdGVQbHVnaW4oKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH07XHJcblxyXG5cdGNvbnN0IGNhbGxBbmFseXRpY3NXZWJob29rID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHdlYmhvb2tVcmwgPSAnaHR0cHM6Ly93ZWJob29rLnN1cmV0cmlnZ2Vycy5jb20vc3VyZXRyaWdnZXJzL2E3YWM0YjIwLTE4ZjktNGVjNi05ODEzLWRmYWM4MzMyOGQwMCc7XHJcbiAgICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTtcclxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcclxuICAgICAgICAgICAgc291cmNlOiAnVUFFIExpdGUnLFxyXG4gICAgICAgICAgICB0YXJnZXRfcGx1Z2luOiAnU3RhcnRlciBUZW1wbGF0ZXMnLFxyXG4gICAgICAgICAgICBkYXRlOiB0b2RheSwgLy8gQWRkIHRvZGF5J3MgZGF0ZVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBmZXRjaChgJHt3ZWJob29rVXJsfT8ke3BhcmFtcy50b1N0cmluZygpfWAsIHtcclxuICAgICAgICAgICAgbWV0aG9kOiAnR0VUJyxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmpzb24oKSlcclxuICAgICAgICAudGhlbihkYXRhID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ1dlYmhvb2sgY2FsbCBzdWNjZXNzZnVsOicsIGRhdGEpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5lcnJvcignRXJyb3IgY2FsbGluZyB3ZWJob29rOicsIGVycm9yKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblx0Y29uc3QgYWN0aXZhdGVQbHVnaW4gPSAoKSA9PiB7XHJcblxyXG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IHdpbmRvdy5Gb3JtRGF0YSgpO1xyXG5cclxuXHRcdGNvbnN0IHN0X3Byb19zdGF0dXMgPSBoZmVTZXR0aW5nc0RhdGEuc3RfcHJvX3N0YXR1cztcclxuXHRcdHZhciBwbHVnaW5fZmlsZSA9ICdhc3RyYS1zaXRlcy9hc3RyYS1zaXRlcy5waHAnO1xyXG5cdFx0dmFyIHBsdWdpbl9zbHVnID0gJ2FzdHJhLXNpdGVzJztcclxuXHJcblx0XHRpZiggJ0luc3RhbGxlZCcgPT09IHN0X3Byb19zdGF0dXMgJiYgKCAnSW5zdGFsbCcgPT09IGhmZVNldHRpbmdzRGF0YS5zdF9zdGF0dXMgfHwgJ0luc3RhbGxlZCcgPT09IGhmZVNldHRpbmdzRGF0YS5zdF9zdGF0dXMgKSApIHtcclxuXHRcdFx0cGx1Z2luX2ZpbGUgPSAnYXN0cmEtcHJvLXNpdGVzL2FzdHJhLXByby1zaXRlcy5waHAnO1xyXG5cdFx0XHRwbHVnaW5fc2x1ZyA9ICdhc3RyYS1wcm8tc2l0ZXMnO1xyXG5cdFx0fVxyXG5cclxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2FjdGlvbicsICdoZmVfcmVjb21tZW5kZWRfcGx1Z2luX2FjdGl2YXRlJyk7XHJcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdub25jZScsIGhmZV9hZG1pbl9kYXRhLm5vbmNlKTtcclxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ3BsdWdpbicsIHBsdWdpbl9maWxlICk7XHJcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCd0eXBlJywgJ3BsdWdpbicpO1xyXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnc2x1ZycsIHBsdWdpbl9zbHVnKTtcclxuXHJcbiAgICAgICAgYXBpRmV0Y2goe1xyXG4gICAgICAgICAgICB1cmw6IGhmZV9hZG1pbl9kYXRhLmFqYXhfdXJsLFxyXG4gICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgICAgICAgICAgYm9keTogZm9ybURhdGEsXHJcbiAgICAgICAgfSkudGhlbigoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZGF0YS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBidXR0b25FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmhmZS1zdGFydGVyLXRlbXBsYXRlLWJ1dHRvbicpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGJ1dHRvbkVsZW1lbnQpIHsgLy8gQ2hlY2sgaWYgYnV0dG9uRWxlbWVudCBpcyBub3QgbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwYW5FbGVtZW50ID0gYnV0dG9uRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNwYW5FbGVtZW50KSB7IC8vIENoZWNrIGlmIHNwYW5FbGVtZW50IGlzIG5vdCBudWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW5FbGVtZW50LmlubmVyVGV4dCA9IF9fKCdBY3RpdmF0aW5nIFN0YXJ0ZXIgVGVtcGxhdGVzLi4uJywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbkVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnaGZlLXBsdWdpbi1hY3RpdmF0ZWQnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbkVsZW1lbnQuaW5uZXJUZXh0ID0gX18oJ0FjdGl2YXRlZCBTdGFydGVyIFRlbXBsYXRlcycsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBidXR0b25FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmhmZS1zdGFydGVyLXRlbXBsYXRlLWJ1dHRvbicpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGJ1dHRvbkVsZW1lbnQpIHsgLy8gQ2hlY2sgaWYgYnV0dG9uRWxlbWVudCBpcyBub3QgbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwYW5FbGVtZW50ID0gYnV0dG9uRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNwYW5FbGVtZW50KSB7IC8vIENoZWNrIGlmIHNwYW5FbGVtZW50IGlzIG5vdCBudWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW5FbGVtZW50LmlubmVyVGV4dCA9IF9fKCdBY3RpdmF0ZSBTdGFydGVyIFRlbXBsYXRlcycsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcblx0cmV0dXJuIChcclxuXHRcdDxkaXY+XHJcblx0XHRcdDxDb250YWluZXJcclxuXHRcdFx0XHRjbGFzc05hbWU9XCJmbGV4IGdhcC0yIGZsZXgtY29sIG1kOmZsZXgtcm93IGJnLWJhY2tncm91bmQtcHJpbWFyeSBwLTYgbWQ6cC0xMCBib3JkZXItWzAuNXB4XSBib3JkZXItc3VidGxlIHJvdW5kZWQteGwgc2hhZG93LXNtIGZsZXgtY29sLXJldmVyc2VcIlxyXG5cdFx0XHRcdGNvbnRhaW5lclR5cGU9XCJmbGV4XCJcclxuXHRcdFx0XHRnYXA9XCJ4c1wiXHJcblx0XHRcdD5cclxuXHRcdFx0XHR7LyogTGVmdCBDb2x1bW4gKi99XHJcblx0XHRcdFx0PENvbnRhaW5lci5JdGVtIGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuIHctZnVsbCBtdC00ICBtZDp3LTEvMiBtYi00IG1kOm1iLTBcIj5cclxuXHRcdFx0XHRcdDxkaXY+XHJcblx0XHRcdFx0XHRcdHsvKiBNYWluIFRpdGxlICovfVxyXG5cdFx0XHRcdFx0XHQ8VGl0bGVcclxuXHRcdFx0XHRcdFx0XHRkZXNjcmlwdGlvbj1cIlwiXHJcblx0XHRcdFx0XHRcdFx0aWNvbj17PFphcCAvPn1cclxuXHRcdFx0XHRcdFx0XHRpY29uUG9zaXRpb249XCJsZWZ0XCJcclxuXHRcdFx0XHRcdFx0XHRzaXplPVwieHNcIlxyXG5cdFx0XHRcdFx0XHRcdHRhZz1cImg2XCJcclxuXHRcdFx0XHRcdFx0XHR0aXRsZT17X18oXCJEZXNpZ24gWW91ciBXZWJzaXRlIGluIE1pbnV0ZXNcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1icmFuZC1wcmltYXJ5LTYwMCBtYi0yXCJcclxuXHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0ey8qIFN1YnRpdGxlICovfVxyXG5cdFx0XHRcdFx0XHQ8VGl0bGVcclxuXHRcdFx0XHRcdFx0XHRkZXNjcmlwdGlvbj1cIlwiXHJcblx0XHRcdFx0XHRcdFx0aWNvbj1cIlwiXHJcblx0XHRcdFx0XHRcdFx0aWNvblBvc2l0aW9uPVwibGVmdFwiXHJcblx0XHRcdFx0XHRcdFx0dGFnPVwiaDZcIlxyXG5cdFx0XHRcdFx0XHRcdHRpdGxlPXtfXyhcIkJ1aWxkIHlvdXIgd2Vic2l0ZSBmYXN0ZXIgdXNpbmcgb3VyIHByZWJ1aWx0IHRlbXBsYXRlc1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cInB5LTEgdGV4dC1zbSBtYi0yXCJcclxuXHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0ey8qIFBhcmFncmFwaCBEZXNjcmlwdGlvbiAqL31cclxuXHRcdFx0XHRcdFx0PHAgY2xhc3NOYW1lPVwidGV4dC1zbSBtZDp0ZXh0LW1kIG0tMCB0ZXh0LXRleHQtc2Vjb25kYXJ5IHRleHQtdGV4dC10ZXJ0aWFyeVwiPlxyXG5cdFx0XHRcdFx0XHRcdHtfXygnU3RvcCBidWlsZGluZyB5b3VyIHNpdGUgZnJvbSBzY3JhdGNoLiBVc2Ugb3VyIHByb2Zlc3Npb25hbCB0ZW1wbGF0ZXMgZm9yIHlvdXIgc3R1bm5pbmcgd2Vic2l0ZS5JdCBpcyBlYXN5IHRvIGN1c3RvbWl6ZSBhbmQgY29tcGxldGVseSByZXNwb25zaXZlLiBFeHBsb3JlIGh1bmRyZWRzIG9mIGRlc2lnbnMgYW5kIGJyaW5nIHlvdXIgdmlzaW9uIHRvIGxpZmUgaW4gbm8gdGltZS4nLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX1cclxuXHRcdFx0XHRcdFx0PC9wPlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHR7LyogVGVtcGxhdGUgTGlzdCAqL31cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtMSBteS00XCI+XHJcblx0XHRcdFx0XHRcdHt0ZW1wbGF0ZURhdGEubWFwKCh0ZW1wbGF0ZSkgPT4gKFxyXG5cdFx0XHRcdFx0XHRcdDxUaXRsZVxyXG5cdFx0XHRcdFx0XHRcdFx0a2V5PXt0ZW1wbGF0ZS5pZH1cclxuXHRcdFx0XHRcdFx0XHRcdGRlc2NyaXB0aW9uPVwiXCJcclxuXHRcdFx0XHRcdFx0XHRcdGljb249ezxDaGVjayBjbGFzc05hbWU9XCJ0ZXh0LWJyYW5kLXByaW1hcnktNjAwIG1yLTEgaC0zIHctM1wiIC8+fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvblBvc2l0aW9uPVwibGVmdFwiXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwieHNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dGFnPVwiaDZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU9e19fKHRlbXBsYXRlLnRpdGxlLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX1cclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cIlwiXHJcblx0XHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0KSl9XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdHsvKiBCdXR0b25zICovfVxyXG5cdFx0XHRcdFx0PGRpdlxyXG5cdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IGl0ZW1zLWNlbnRlciBwYi0zIGdhcC00XCJcclxuXHRcdFx0XHRcdFx0c3R5bGU9e3tcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW5Ub3A6IFwiMTVweFwiLFxyXG5cdFx0XHRcdFx0XHR9fVxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHQ8QnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0aWNvbj17PFBsdXMgLz59XHJcblx0XHRcdFx0XHRcdFx0aWNvblBvc2l0aW9uPVwicmlnaHRcIlxyXG5cdFx0XHRcdFx0XHRcdHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxyXG5cdFx0XHRcdFx0XHRcdHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogXCIjNjAwNUZGXCIsIG91dGxpbmVXaWR0aDogXCIwcHhcIiB9fVxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cInctYXV0byBoZmUtc3RhcnRlci10ZW1wbGF0ZS1idXR0b24gaGZlLXJlbW92ZS1yaW5nIGN1cnNvci1wb2ludGVyXCJcclxuXHRcdFx0XHRcdFx0XHRvbkNsaWNrPXtoYW5kbGVCdXR0b25DbGlja31cclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdHsgKCAnQWN0aXZhdGVkJyA9PT0gdGVtcGxhdGVzU3RhdHVzICkgPyBfXygnRXhwbG9yZSBUZW1wbGF0ZXMnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKSA6IGJ1dHRvbl90ZXh0IH1cclxuXHRcdFx0XHRcdFx0PC9CdXR0b24+XHJcblx0XHRcdFx0XHRcdDxCdXR0b25cclxuXHRcdFx0XHRcdFx0XHRpY29uPVwiXCJcclxuXHRcdFx0XHRcdFx0XHRpY29uUG9zaXRpb249XCJyaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0dmFyaWFudD1cImdob3N0XCJcclxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJ3LWF1dG8gaGZlLWxpbmstY29sb3IgaGZlLXJlbW92ZS1yaW5nXCJcclxuXHRcdFx0XHRcdFx0XHRvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oJ2h0dHBzOi8vc3RhcnRlcnRlbXBsYXRlcy5jb20vJywgJ19ibGFuaycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdHtfXygnTGVhcm4gTW9yZScsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpfVxyXG5cdFx0XHRcdFx0XHQ8L0J1dHRvbj5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvQ29udGFpbmVyLkl0ZW0+XHJcblxyXG5cdFx0XHRcdHsvKiBSaWdodCBDb2x1bW4gd2l0aCBJbWFnZSAqL31cclxuXHRcdFx0XHQ8Q29udGFpbmVyLkl0ZW0gY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBtZDpqdXN0aWZ5LWVuZCB3LWZ1bGwgbWQ6dy0xLzJcIj5cclxuXHRcdFx0XHRcdDxpbWdcclxuXHRcdFx0XHRcdFx0c3JjPXtgJHtoZmVTZXR0aW5nc0RhdGEudGVtcGxhdGVfdXJsfWB9XHJcblx0XHRcdFx0XHRcdGFsdD1cIkNvbHVtbiBTaG93Y2FzZVwiXHJcblx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cIm9iamVjdC1jb250YWluIHctZnVsbCBtZDp3LTUvNlwiXHJcblx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdDwvQ29udGFpbmVyLkl0ZW0+XHJcblx0XHRcdDwvQ29udGFpbmVyPlxyXG5cdFx0PC9kaXY+XHJcblxyXG5cdClcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgRXhwbG9yZVRlbXBsYXRlc1xyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIkNvbnRhaW5lciIsIlRpdGxlIiwiQnV0dG9uIiwiWmFwIiwiUGx1cyIsIkNoZWNrIiwiYXBpRmV0Y2giLCJfXyIsIkV4cGxvcmVUZW1wbGF0ZXMiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwidGVtcGxhdGVzU3RhdHVzIiwic2V0VGVtcGxhdGVzU3RhdHVzIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJyZWRpcmVjdFVybCIsInNldFJlZGlyZWN0VXJsIiwidGVtcGxhdGVEYXRhIiwiaWQiLCJpY29uIiwidGl0bGUiLCJmZXRjaFNldHRpbmdzIiwicGF0aCIsImhlYWRlcnMiLCJoZmVTZXR0aW5nc0RhdGEiLCJoZmVfbm9uY2VfYWN0aW9uIiwidGhlbiIsImRhdGEiLCJ0ZW1wbGF0ZXNfc3RhdHVzIiwicmVkaXJlY3RfdXJsIiwiZXJyIiwiYnV0dG9uX3RleHQiLCJoYW5kbGVCdXR0b25DbGljayIsImUiLCJ3aW5kb3ciLCJvcGVuIiwiYnV0dG9uRWxlbWVudCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImZvcm1EYXRhIiwiRm9ybURhdGEiLCJhcHBlbmQiLCJoZmVfYWRtaW5fZGF0YSIsImluc3RhbGxlcl9ub25jZSIsImlubmVyVGV4dCIsInVybCIsImFqYXhfdXJsIiwibWV0aG9kIiwiYm9keSIsInN1Y2Nlc3MiLCJlcnJvckNvZGUiLCJjYWxsQW5hbHl0aWNzV2ViaG9vayIsImFjdGl2YXRlUGx1Z2luIiwid2ViaG9va1VybCIsInRvZGF5IiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwic3BsaXQiLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJzb3VyY2UiLCJ0YXJnZXRfcGx1Z2luIiwiZGF0ZSIsImZldGNoIiwiY29uY2F0IiwidG9TdHJpbmciLCJyZXNwb25zZSIsImpzb24iLCJlcnJvciIsInN0X3Byb19zdGF0dXMiLCJwbHVnaW5fZmlsZSIsInBsdWdpbl9zbHVnIiwic3Rfc3RhdHVzIiwibm9uY2UiLCJzcGFuRWxlbWVudCIsImNsYXNzTGlzdCIsImFkZCIsImxvY2F0aW9uIiwicmVsb2FkIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImNvbnRhaW5lclR5cGUiLCJnYXAiLCJJdGVtIiwiZGVzY3JpcHRpb24iLCJpY29uUG9zaXRpb24iLCJzaXplIiwidGFnIiwibWFwIiwidGVtcGxhdGUiLCJrZXkiLCJzdHlsZSIsIm1hcmdpblRvcCIsInZhcmlhbnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJvdXRsaW5lV2lkdGgiLCJvbkNsaWNrIiwic3JjIiwidGVtcGxhdGVfdXJsIiwiYWx0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/Components/Templates/ExploreTemplates.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Templates/Templates.jsx": -/*!************************************************!*\ - !*** ./src/Components/Templates/Templates.jsx ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _NavMenu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../NavMenu */ \"./src/Components/NavMenu.js\");\n/* harmony import */ var _ExploreTemplates__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ExploreTemplates */ \"./src/Components/Templates/ExploreTemplates.jsx\");\n\n\n\n\nvar Templates = function Templates() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_NavMenu__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container, {\n align: \"stretch\",\n className: \"p-2\",\n containerType: \"flex\",\n direction: \"row\",\n gap: \"sm\",\n justify: \"center\",\n style: {\n width: \"100%\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n className: \"p-2\",\n alignSelf: \"auto\",\n order: \"none\",\n shrink: 1,\n style: {\n width: \"90%\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_ExploreTemplates__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null)))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Templates);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9UZW1wbGF0ZXMvVGVtcGxhdGVzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQXlCO0FBQ2lCO0FBQzVCO0FBQ1M7QUFFdkIsSUFBTUksU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUEsRUFBUztFQUNwQixvQkFDSUosMERBQUEsQ0FBQUEsdURBQUEscUJBQ0lBLDBEQUFBLENBQUNFLGdEQUFPLE1BQUUsQ0FBQyxlQUNYRiwwREFBQTtJQUFLTyxTQUFTLEVBQUM7RUFBRSxnQkFDYlAsMERBQUEsQ0FBQ0Msb0RBQVM7SUFDTk8sS0FBSyxFQUFDLFNBQVM7SUFDZkQsU0FBUyxFQUFDLEtBQUs7SUFDZkUsYUFBYSxFQUFDLE1BQU07SUFDcEJDLFNBQVMsRUFBQyxLQUFLO0lBQ2ZDLEdBQUcsRUFBQyxJQUFJO0lBQ1JDLE9BQU8sRUFBQyxRQUFRO0lBQ2hCQyxLQUFLLEVBQUU7TUFDSEMsS0FBSyxFQUFFO0lBQ1g7RUFBRSxnQkFFRmQsMERBQUEsQ0FBQ0Msb0RBQVMsQ0FBQ2MsSUFBSTtJQUNYUixTQUFTLEVBQUMsS0FBSztJQUNmUyxTQUFTLEVBQUMsTUFBTTtJQUNoQkMsS0FBSyxFQUFDLE1BQU07SUFDWkMsTUFBTSxFQUFFLENBQUU7SUFDVkwsS0FBSyxFQUFFO01BQ0hDLEtBQUssRUFBRTtJQUNYO0VBQUUsZ0JBSUZkLDBEQUFBLENBQUNHLHlEQUFnQixNQUFFLENBQ1AsQ0FDVCxDQUNWLENBQ1AsQ0FBQztBQUVYLENBQUM7QUFFRCxpRUFBZUMsU0FBUyIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vc3JjL0NvbXBvbmVudHMvVGVtcGxhdGVzL1RlbXBsYXRlcy5qc3g/ZGQ1NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCJAYnNmL2ZvcmNlLXVpXCI7XHJcbmltcG9ydCBOYXZNZW51IGZyb20gJ0Bjb21wb25lbnRzL05hdk1lbnUnO1xyXG5pbXBvcnQgRXhwbG9yZVRlbXBsYXRlcyBmcm9tICcuL0V4cGxvcmVUZW1wbGF0ZXMnO1xyXG5cclxuY29uc3QgVGVtcGxhdGVzID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAgICA8TmF2TWVudSAvPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPENvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduPVwic3RyZXRjaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicC0yXCJcclxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJUeXBlPVwiZmxleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcclxuICAgICAgICAgICAgICAgICAgICBnYXA9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeT1cImNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPENvbnRhaW5lci5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInAtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduU2VsZj1cImF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcj1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaHJpbms9ezF9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCI5MCVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHsvKiA8V2VsY29tZUNvbnRhaW5lciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8V2lkZ2V0cyAvPiAqL31cclxuICAgICAgICAgICAgICAgICAgICAgICAgPEV4cGxvcmVUZW1wbGF0ZXMgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L0NvbnRhaW5lci5JdGVtPlxyXG4gICAgICAgICAgICAgICAgPC9Db250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvPlxyXG4gICAgKVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBUZW1wbGF0ZXNcclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiQ29udGFpbmVyIiwiTmF2TWVudSIsIkV4cGxvcmVUZW1wbGF0ZXMiLCJUZW1wbGF0ZXMiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJjbGFzc05hbWUiLCJhbGlnbiIsImNvbnRhaW5lclR5cGUiLCJkaXJlY3Rpb24iLCJnYXAiLCJqdXN0aWZ5Iiwic3R5bGUiLCJ3aWR0aCIsIkl0ZW0iLCJhbGlnblNlbGYiLCJvcmRlciIsInNocmluayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Components/Templates/Templates.jsx\n"); - -/***/ }), - -/***/ "./src/Components/UpgradeNotice.jsx": -/*!******************************************!*\ - !*** ./src/Components/UpgradeNotice.jsx ***! - \******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar UpgradeNotice = function UpgradeNotice(_ref) {\n var onClose = _ref.onClose;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"uae-upgrade p-3 d font-medium\",\n style: {\n backgroundColor: \"#E9E4FF\",\n textAlign: \"center\",\n fontSize: \"0.82rem\",\n zIndex: \"9\",\n position: \"relative\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n onClick: onClose // Call the passed onClose function when clicked\n ,\n style: {\n position: \"absolute\",\n top: \"5px\",\n right: \"10px\",\n background: \"none\",\n border: \"none\",\n fontSize: \"24px\",\n cursor: \"pointer\",\n color: \"#000\",\n width: \"32px\",\n // Explicit width\n height: \"32px\",\n // Explicit height for square dimensions\n display: \"flex\",\n // Flexbox for centering\n alignItems: \"center\",\n // Vertical centering\n justifyContent: \"center\" // Horizontal centering\n },\n \"aria-label\": (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)(\"Close Upgrade Notice\", \"header-footer-elementor\")\n }, \"\\xD7\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"strong\", null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)(\"Unlock Ultimate Addons For Elementor! \", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)(\"Get exclusive features and unbeatable performance. \", \"header-footer-elementor\"), \" \", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"a\", {\n href: \"https://ultimateelementor.com/pricing/?utm_source=uae-lite-navbar&utm_medium=upgrade-now&utm_campaign=uae-lite-upgrade\",\n target: \"_blank\",\n style: {\n color: \"#000000\"\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)(\"Upgrade now\", \"header-footer-elementor\"))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UpgradeNotice);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9VcGdyYWRlTm90aWNlLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUEwQjtBQUNXO0FBRXJDLElBQU1FLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBQUMsSUFBQSxFQUFvQjtFQUFBLElBQWRDLE9BQU8sR0FBQUQsSUFBQSxDQUFQQyxPQUFPO0VBQzVCLG9CQUNJSiwwREFBQTtJQUNJTSxTQUFTLEVBQUMsK0JBQStCO0lBQ3pDQyxLQUFLLEVBQUU7TUFDSEMsZUFBZSxFQUFFLFNBQVM7TUFDMUJDLFNBQVMsRUFBRSxRQUFRO01BQ25CQyxRQUFRLEVBQUUsU0FBUztNQUNuQkMsTUFBTSxFQUFFLEdBQUc7TUFDWEMsUUFBUSxFQUFFO0lBQ2Q7RUFBRSxnQkFFRlosMERBQUE7SUFDSWEsT0FBTyxFQUFFVCxPQUFRLENBQUM7SUFBQTtJQUNsQkcsS0FBSyxFQUFFO01BQ0hLLFFBQVEsRUFBRSxVQUFVO01BQ3BCRSxHQUFHLEVBQUUsS0FBSztNQUNWQyxLQUFLLEVBQUUsTUFBTTtNQUNiQyxVQUFVLEVBQUUsTUFBTTtNQUNsQkMsTUFBTSxFQUFFLE1BQU07TUFDZFAsUUFBUSxFQUFFLE1BQU07TUFDaEJRLE1BQU0sRUFBRSxTQUFTO01BQ2pCQyxLQUFLLEVBQUUsTUFBTTtNQUNiQyxLQUFLLEVBQUUsTUFBTTtNQUFFO01BQ2ZDLE1BQU0sRUFBRSxNQUFNO01BQUU7TUFDaEJDLE9BQU8sRUFBRSxNQUFNO01BQUU7TUFDakJDLFVBQVUsRUFBRSxRQUFRO01BQUU7TUFDdEJDLGNBQWMsRUFBRSxRQUFRLENBQUU7SUFDOUIsQ0FBRTtJQUNGLGNBQVl2QixtREFBRSxDQUFDLHNCQUFzQixFQUFFLHlCQUF5QjtFQUFFLEdBQ3JFLE1BRU8sQ0FBQyxlQUNURCwwREFBQSxpQkFDS0MsbURBQUUsQ0FDQyx5Q0FBeUMsRUFDekMseUJBQ0osQ0FDSSxDQUFDLGVBQ1RELDBEQUFBLGVBQ0tDLG1EQUFFLENBQ0Msc0RBQXNELEVBQ3RELHlCQUNKLENBQUMsRUFBRSxHQUFHLGVBQ05ELDBEQUFBO0lBQ0l5QixJQUFJLEVBQUMsd0hBQXdIO0lBQzdIQyxNQUFNLEVBQUMsUUFBUTtJQUNmbkIsS0FBSyxFQUFFO01BQUVZLEtBQUssRUFBRTtJQUFVO0VBQUUsR0FFM0JsQixtREFBRSxDQUFDLGFBQWEsRUFBRSx5QkFBeUIsQ0FDN0MsQ0FDRCxDQUNMLENBQUM7QUFFZCxDQUFDO0FBRUQsaUVBQWVDLGFBQWEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL3NyYy9Db21wb25lbnRzL1VwZ3JhZGVOb3RpY2UuanN4Pzc2YjciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBfXyB9IGZyb20gXCJAd29yZHByZXNzL2kxOG5cIjtcclxuXHJcbmNvbnN0IFVwZ3JhZGVOb3RpY2UgPSAoeyBvbkNsb3NlIH0pID0+IHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ1YWUtdXBncmFkZSBwLTMgZCBmb250LW1lZGl1bVwiXHJcbiAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI0U5RTRGRlwiLFxyXG4gICAgICAgICAgICAgICAgdGV4dEFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMC44MnJlbVwiLFxyXG4gICAgICAgICAgICAgICAgekluZGV4OiBcIjlcIixcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNsb3NlfSAvLyBDYWxsIHRoZSBwYXNzZWQgb25DbG9zZSBmdW5jdGlvbiB3aGVuIGNsaWNrZWRcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IFwiNXB4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IFwiMTBweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IFwibm9uZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogXCJub25lXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjRweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogXCJwb2ludGVyXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IFwiIzAwMFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjMycHhcIiwgLy8gRXhwbGljaXQgd2lkdGhcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMzJweFwiLCAvLyBFeHBsaWNpdCBoZWlnaHQgZm9yIHNxdWFyZSBkaW1lbnNpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsIC8vIEZsZXhib3ggZm9yIGNlbnRlcmluZ1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsIC8vIFZlcnRpY2FsIGNlbnRlcmluZ1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLCAvLyBIb3Jpem9udGFsIGNlbnRlcmluZ1xyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e19fKFwiQ2xvc2UgVXBncmFkZSBOb3RpY2VcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgJnRpbWVzO1xyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPHN0cm9uZz5cclxuICAgICAgICAgICAgICAgIHtfXyhcclxuICAgICAgICAgICAgICAgICAgICBcIlVubG9jayBVbHRpbWF0ZSBBZGRvbnMgRm9yIEVsZW1lbnRvciEgIFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC9zdHJvbmc+XHJcbiAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAge19fKFxyXG4gICAgICAgICAgICAgICAgICAgIFwiR2V0IGV4Y2x1c2l2ZSBmZWF0dXJlcyBhbmQgdW5iZWF0YWJsZSBwZXJmb3JtYW5jZS4gIFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIlxyXG4gICAgICAgICAgICAgICAgKX17XCIgXCJ9XHJcbiAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3VsdGltYXRlZWxlbWVudG9yLmNvbS9wcmljaW5nLz91dG1fc291cmNlPXVhZS1saXRlLW5hdmJhciZ1dG1fbWVkaXVtPXVwZ3JhZGUtbm93JnV0bV9jYW1wYWlnbj11YWUtbGl0ZS11cGdyYWRlXCJcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBcIiMwMDAwMDBcIiB9fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHtfXyhcIlVwZ3JhZGUgbm93XCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICk7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBVcGdyYWRlTm90aWNlO1xyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJfXyIsIlVwZ3JhZGVOb3RpY2UiLCJfcmVmIiwib25DbG9zZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsImJhY2tncm91bmRDb2xvciIsInRleHRBbGlnbiIsImZvbnRTaXplIiwiekluZGV4IiwicG9zaXRpb24iLCJvbkNsaWNrIiwidG9wIiwicmlnaHQiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyIiwiY3Vyc29yIiwiY29sb3IiLCJ3aWR0aCIsImhlaWdodCIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJocmVmIiwidGFyZ2V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/Components/UpgradeNotice.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Widgets/Features.jsx": -/*!*********************************************!*\ - !*** ./src/Components/Widgets/Features.jsx ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _NavMenu__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../NavMenu */ \"./src/Components/NavMenu.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Dashboard_ExtendWebsite__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Dashboard/ExtendWebsite */ \"./src/Components/Dashboard/ExtendWebsite.jsx\");\n/* harmony import */ var _Dashboard_TemplateSection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Dashboard/TemplateSection */ \"./src/Components/Dashboard/TemplateSection.js\");\n/* harmony import */ var _Dashboard_QuickAccess__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Dashboard/QuickAccess */ \"./src/Components/Dashboard/QuickAccess.js\");\n/* harmony import */ var _UltimateWidgets__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./UltimateWidgets */ \"./src/Components/Widgets/UltimateWidgets.jsx\");\n/* harmony import */ var _Features_FeatureWidgets__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Features/FeatureWidgets */ \"./src/Components/Widgets/Features/FeatureWidgets.jsx\");\n\n\n\n\n\n\n\n\nvar Features = function Features() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_NavMenu__WEBPACK_IMPORTED_MODULE_0__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container, {\n align: \"stretch\",\n className: \"p-6 flex flex-col lg:flex-row box-border\",\n containerType: \"flex\",\n direction: \"row\",\n gap: \"sm\",\n justify: \"start\",\n style: {\n width: \"100%\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n className: \"p-2 hfe-65-width\",\n alignSelf: \"auto\",\n order: \"none\",\n shrink: 1\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Features_FeatureWidgets__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n className: \"p-2 hfe-35-width\",\n shrink: 1\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Dashboard_ExtendWebsite__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Dashboard_TemplateSection__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Dashboard_QuickAccess__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_UltimateWidgets__WEBPACK_IMPORTED_MODULE_6__[\"default\"], null)))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Features);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9XaWRnZXRzL0ZlYXR1cmVzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFjO0FBQzRCO0FBQ2pCO0FBQ0w7QUFDRTtBQUNKO0FBQ0k7QUFDRDtBQUVyQixJQUFNUSxRQUFRLEdBQUcsU0FBWEEsUUFBUUEsQ0FBQSxFQUFTO0VBQ25CLG9CQUNJTiwwREFBQSxDQUFBQSx1REFBQSxxQkFDSUEsMERBQUEsQ0FBQ0YsZ0RBQU8sTUFBRSxDQUFDLGVBQ1hFLDBEQUFBLDJCQUNJQSwwREFBQSxDQUFDRCxvREFBUztJQUNOVSxLQUFLLEVBQUMsU0FBUztJQUNmQyxTQUFTLEVBQUMsMENBQTBDO0lBQ3BEQyxhQUFhLEVBQUMsTUFBTTtJQUNwQkMsU0FBUyxFQUFDLEtBQUs7SUFDZkMsR0FBRyxFQUFDLElBQUk7SUFDUkMsT0FBTyxFQUFDLE9BQU87SUFDZkMsS0FBSyxFQUFFO01BQ0hDLEtBQUssRUFBRTtJQUNYO0VBQUUsZ0JBRUZoQiwwREFBQSxDQUFDRCxvREFBUyxDQUFDa0IsSUFBSTtJQUNYUCxTQUFTLEVBQUMsa0JBQWtCO0lBQzVCUSxTQUFTLEVBQUMsTUFBTTtJQUNoQkMsS0FBSyxFQUFDLE1BQU07SUFDWkMsTUFBTSxFQUFFO0VBQUUsZ0JBRVZwQiwwREFBQSxDQUFDSyxnRUFBYyxNQUFFLENBQ0wsQ0FBQyxlQUNqQkwsMERBQUEsQ0FBQ0Qsb0RBQVMsQ0FBQ2tCLElBQUk7SUFDWFAsU0FBUyxFQUFDLGtCQUFrQjtJQUM1QlUsTUFBTSxFQUFFO0VBQUUsZ0JBRVZwQiwwREFBQSxDQUFDQyxnRUFBYSxNQUFFLENBQUMsZUFDakJELDBEQUFBLENBQUNFLGtFQUFlLE1BQUUsQ0FBQyxlQUNuQkYsMERBQUEsQ0FBQ0csOERBQVcsTUFBRSxDQUFDLGVBQ2ZILDBEQUFBLENBQUNJLHdEQUFlLE1BQUUsQ0FDTixDQUNULENBQ1YsQ0FDUCxDQUFDO0FBRVgsQ0FBQztBQUVELGlFQUFlRSxRQUFRIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9zcmMvQ29tcG9uZW50cy9XaWRnZXRzL0ZlYXR1cmVzLmpzeD85MDg2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBOYXZNZW51IGZyb20gJ0Bjb21wb25lbnRzL05hdk1lbnUnXHJcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCJAYnNmL2ZvcmNlLXVpXCI7XHJcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcclxuaW1wb3J0IEV4dGVuZFdlYnNpdGUgZnJvbSAnQGNvbXBvbmVudHMvRGFzaGJvYXJkL0V4dGVuZFdlYnNpdGUnO1xyXG5pbXBvcnQgVGVtcGxhdGVTZWN0aW9uIGZyb20gJ0Bjb21wb25lbnRzL0Rhc2hib2FyZC9UZW1wbGF0ZVNlY3Rpb24nO1xyXG5pbXBvcnQgUXVpY2tBY2Nlc3MgZnJvbSAnQGNvbXBvbmVudHMvRGFzaGJvYXJkL1F1aWNrQWNjZXNzJztcclxuaW1wb3J0IFVsdGltYXRlV2lkZ2V0cyBmcm9tICcuL1VsdGltYXRlV2lkZ2V0cyc7XHJcbmltcG9ydCBGZWF0dXJlV2lkZ2V0cyBmcm9tICcuL0ZlYXR1cmVzL0ZlYXR1cmVXaWRnZXRzJ1xyXG5cclxuY29uc3QgRmVhdHVyZXMgPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICAgIDxOYXZNZW51IC8+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8Q29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ249XCJzdHJldGNoXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwLTYgZmxleCBmbGV4LWNvbCBsZzpmbGV4LXJvdyBib3gtYm9yZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJUeXBlPVwiZmxleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcclxuICAgICAgICAgICAgICAgICAgICBnYXA9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeT1cInN0YXJ0XCJcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8Q29udGFpbmVyLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicC0yIGhmZS02NS13aWR0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduU2VsZj1cImF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcj1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaHJpbms9ezF9XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RmVhdHVyZVdpZGdldHMgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L0NvbnRhaW5lci5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDxDb250YWluZXIuSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwLTIgaGZlLTM1LXdpZHRoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2hyaW5rPXsxfVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPEV4dGVuZFdlYnNpdGUgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFRlbXBsYXRlU2VjdGlvbiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8UXVpY2tBY2Nlc3MgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFVsdGltYXRlV2lkZ2V0cyAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC8+XHJcbiAgICApXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IEZlYXR1cmVzIl0sIm5hbWVzIjpbIk5hdk1lbnUiLCJDb250YWluZXIiLCJSZWFjdCIsIkV4dGVuZFdlYnNpdGUiLCJUZW1wbGF0ZVNlY3Rpb24iLCJRdWlja0FjY2VzcyIsIlVsdGltYXRlV2lkZ2V0cyIsIkZlYXR1cmVXaWRnZXRzIiwiRmVhdHVyZXMiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJhbGlnbiIsImNsYXNzTmFtZSIsImNvbnRhaW5lclR5cGUiLCJkaXJlY3Rpb24iLCJnYXAiLCJqdXN0aWZ5Iiwic3R5bGUiLCJ3aWR0aCIsIkl0ZW0iLCJhbGlnblNlbGYiLCJvcmRlciIsInNocmluayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Components/Widgets/Features.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Widgets/Features/FeatureWidgets.jsx": -/*!************************************************************!*\ - !*** ./src/Components/Widgets/Features/FeatureWidgets.jsx ***! - \************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"@babel/runtime/regenerator\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/search.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* harmony import */ var _Dashboard_WidgetItem__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Dashboard/WidgetItem */ \"./src/Components/Dashboard/WidgetItem.jsx\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/api-fetch */ \"@wordpress/api-fetch\");\n/* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__);\n\n\n\n\n\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\n\n\n\n\n\n\nvar FeatureWidgets = function FeatureWidgets() {\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(null),\n _useState2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_useState, 2),\n allWidgetsData = _useState2[0],\n setAllWidgetsData = _useState2[1]; // Initialize state.\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(''),\n _useState4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_useState3, 2),\n searchTerm = _useState4[0],\n setSearchTerm = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(false),\n _useState6 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_useState5, 2),\n loadingActivate = _useState6[0],\n setLoadingActivate = _useState6[1]; // Loading state for activate button\n var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(false),\n _useState8 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_useState7, 2),\n loadingDeactivate = _useState8[0],\n setLoadingDeactivate = _useState8[1];\n var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(true),\n _useState10 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_useState9, 2),\n loading = _useState10[0],\n setLoading = _useState10[1];\n var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(0),\n _useState12 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_useState11, 2),\n updateCounter = _useState12[0],\n setUpdateCounter = _useState12[1];\n (0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {\n var fetchSettings = function fetchSettings() {\n setLoading(true);\n _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_8___default()({\n path: '/hfe/v1/widgets',\n headers: {\n 'Content-Type': 'application/json',\n 'X-WP-Nonce': hfeSettingsData.hfe_nonce_action // Use the correct nonce\n }\n }).then(function (data) {\n var widgetsData = convertToWidgetsArray(data);\n setAllWidgetsData(widgetsData);\n setLoading(false); // Stop loading\n })[\"catch\"](function (err) {\n setLoading(false); // Stop loading\n });\n };\n fetchSettings();\n }, []);\n\n // New function to handle search input change\n var handleSearchChange = function handleSearchChange(event) {\n setSearchTerm(event.target.value.toLowerCase());\n };\n\n // Filter widgets based on search term\n var filteredWidgets = allWidgetsData === null || allWidgetsData === void 0 ? void 0 : allWidgetsData.filter(function (widget) {\n var _widget$keywords;\n return widget.title.toLowerCase().includes(searchTerm) || ((_widget$keywords = widget.keywords) === null || _widget$keywords === void 0 ? void 0 : _widget$keywords.some(function (keyword) {\n return keyword.toLowerCase().includes(searchTerm);\n }));\n });\n var handleActivateAll = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee() {\n var formData;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n setLoadingActivate(true);\n formData = new window.FormData();\n formData.append('action', 'hfe_bulk_activate_widgets');\n formData.append('nonce', hfe_admin_data.nonce);\n _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_8___default()({\n url: hfe_admin_data.ajax_url,\n method: 'POST',\n body: formData\n }).then(function (data) {\n setLoadingActivate(false);\n if (data.success) {\n setAllWidgetsData(function (prevWidgets) {\n return prevWidgets.map(function (widget) {\n return _objectSpread(_objectSpread({}, widget), {}, {\n is_active: true\n });\n });\n });\n setUpdateCounter(function (prev) {\n return prev + 1;\n });\n } else if (data.error) {\n setLoadingActivate(false);\n console.error('Error during AJAX request:', error);\n }\n })[\"catch\"](function (error) {\n setLoadingActivate(false);\n console.error('Error during AJAX request:', error);\n });\n case 5:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function handleActivateAll() {\n return _ref.apply(this, arguments);\n };\n }();\n var handleDeactivateAll = /*#__PURE__*/function () {\n var _ref2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee2() {\n var formData;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n setLoadingDeactivate(true);\n formData = new window.FormData();\n formData.append('action', 'hfe_bulk_deactivate_widgets');\n formData.append('nonce', hfe_admin_data.nonce);\n _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_8___default()({\n url: hfe_admin_data.ajax_url,\n method: 'POST',\n body: formData\n }).then(function (data) {\n setLoadingDeactivate(false);\n if (data.success) {\n setAllWidgetsData(function (prevWidgets) {\n return prevWidgets.map(function (widget) {\n return _objectSpread(_objectSpread({}, widget), {}, {\n is_active: false\n });\n });\n });\n setUpdateCounter(function (prev) {\n return prev + 1;\n });\n } else if (data.error) {\n console.error('AJAX request failed:', data.error);\n }\n })[\"catch\"](function (error) {\n setLoadingDeactivate(false);\n console.error('Error during AJAX request:', error);\n });\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function handleDeactivateAll() {\n return _ref2.apply(this, arguments);\n };\n }();\n function convertToWidgetsArray(data) {\n var widgets = [];\n for (var key in data) {\n if (data.hasOwnProperty(key)) {\n var widget = data[key];\n widgets.push({\n id: key,\n // Using the key as 'widgetTitle'\n slug: widget.slug,\n title: widget.title,\n keywords: widget.keywords,\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"i\", {\n className: widget.icon\n }),\n title_url: widget.title_url,\n \"default\": widget[\"default\"],\n doc_url: widget.doc_url,\n is_pro: widget.is_pro,\n description: widget.description,\n is_active: widget.is_activate !== undefined ? widget.is_activate : true,\n // Check if is_activate is set\n demo_url: widget.demo_url !== undefined ? widget.demo_url : widget.doc_url\n });\n }\n }\n return widgets;\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"div\", {\n className: \"rounded-lg bg-white w-full mb-4\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"div\", {\n className: \"flex flex-col md:flex-row md:items-center md:justify-between p-4\",\n style: {\n paddingBottom: '0'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"p\", {\n className: \"m-0 text-sm font-semibold text-text-primary mb-2 md:mb-0\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)(\"Widgets / Features\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"div\", {\n className: \"flex flex-col md:flex-row items-center gap-y-2 md:gap-x-2 md:mr-7 relative\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"absolute top-1/2 transform -translate-y-1/2 text-gray-400\",\n style: {\n backgroundColor: '#F9FAFB',\n left: '2%',\n width: '18px',\n height: '18px'\n }\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"input\", {\n type: \"search\",\n placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)('Search...', 'header-footer-elementor'),\n className: \"mr-2 pl-10 w-full md:w-auto\",\n style: {\n height: '40px',\n borderColor: '#e0e0e0',\n // Default border color\n outline: 'none',\n // Removes the default outline\n boxShadow: 'none',\n backgroundColor: '#F9FAFB' // Removes the default box shadow\n },\n onFocus: function onFocus(e) {\n return e.target.style.borderColor = '#6005FF';\n } // Apply focus color\n ,\n onBlur: function onBlur(e) {\n return e.target.style.borderColor = '#e0e0e0';\n } // Revert to default color\n ,\n onChange: handleSearchChange\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"div\", {\n className: \"flex flex-row gap-2 w-full md:w-auto\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__.Button, {\n icon: loadingActivate ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"animate-spin\"\n }) : null,\n iconPosition: \"left\",\n variant: \"outline\",\n className: \"hfe-bulk-action-button\",\n onClick: handleActivateAll // Attach the onClick event.\n ,\n disabled: !!searchTerm\n }, loadingActivate ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)('Activating...', 'header-footer-elementor') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)('Activate All', 'header-footer-elementor')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__.Button, {\n icon: loadingDeactivate ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"animate-spin\"\n }) : null // Loader for deactivate button.\n ,\n iconPosition: \"left\",\n variant: \"outline\",\n onClick: handleDeactivateAll,\n className: \"hfe-bulk-action-button\",\n disabled: !!searchTerm\n }, loadingDeactivate ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)('Deactivating...', 'header-footer-elementor') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)('Deactivate All', 'header-footer-elementor'))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(\"div\", {\n className: \"flex bg-black flex-col rounded-lg p-4\",\n style: {\n minHeight: \"800px\"\n }\n }, loading ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__.Container, {\n align: \"stretch\",\n className: \"p-2 gap-1.5 grid grid-cols-2 md:grid-cols-4\",\n style: {\n backgroundColor: \"#F9FAFB\"\n },\n containerType: \"grid\",\n gap: \"\",\n justify: \"start\"\n }, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Array(30)).map(function (_, index) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__.Container.Item, {\n key: index,\n alignSelf: \"auto\",\n className: \"text-wrap rounded-md shadow-container-item bg-background-primary p-6 space-y-2\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__.Skeleton, {\n className: \"w-12 h-2 rounded-md\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__.Skeleton, {\n className: \"w-16 h-2 rounded-md\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__.Skeleton, {\n className: \"w-12 h-2 rounded-md\"\n }));\n })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__.Container, {\n align: \"stretch\",\n className: \"p-1 gap-1.5 grid-cols-2 md:grid-cols-4\",\n containerType: \"grid\",\n gap: \"\",\n justify: \"start\",\n style: {\n backgroundColor: '#F9FAFB'\n }\n }, filteredWidgets === null || filteredWidgets === void 0 ? void 0 : filteredWidgets.map(function (widget) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_6__.Container.Item, {\n key: widget.id,\n alignSelf: \"auto\",\n className: \"text-wrap rounded-md shadow-container-item bg-background-primary p-4\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_Dashboard_WidgetItem__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n widget: _objectSpread(_objectSpread({}, widget), {}, {\n updateCounter: updateCounter\n }),\n key: widget.id,\n updateCounter: updateCounter\n }));\n }))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FeatureWidgets);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9XaWRnZXRzL0ZlYXR1cmVzL0ZlYXR1cmVXaWRnZXRzLmpzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQW1EO0FBQ1M7QUFDSjtBQUN2QztBQUMyQjtBQUNQO0FBRXJDLElBQU1XLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBQSxFQUFTO0VBRXpCLElBQUFDLFNBQUEsR0FBNENYLCtDQUFRLENBQUMsSUFBSSxDQUFDO0lBQUFZLFVBQUEsR0FBQUMsZ0ZBQUEsQ0FBQUYsU0FBQTtJQUFuREcsY0FBYyxHQUFBRixVQUFBO0lBQUVHLGlCQUFpQixHQUFBSCxVQUFBLElBQW1CLENBQUM7RUFDNUQsSUFBQUksVUFBQSxHQUFvQ2hCLCtDQUFRLENBQUMsRUFBRSxDQUFDO0lBQUFpQixVQUFBLEdBQUFKLGdGQUFBLENBQUFHLFVBQUE7SUFBekNFLFVBQVUsR0FBQUQsVUFBQTtJQUFFRSxhQUFhLEdBQUFGLFVBQUE7RUFDaEMsSUFBQUcsVUFBQSxHQUE4Q3BCLCtDQUFRLENBQUMsS0FBSyxDQUFDO0lBQUFxQixVQUFBLEdBQUFSLGdGQUFBLENBQUFPLFVBQUE7SUFBdERFLGVBQWUsR0FBQUQsVUFBQTtJQUFFRSxrQkFBa0IsR0FBQUYsVUFBQSxJQUFvQixDQUFDO0VBQy9ELElBQUFHLFVBQUEsR0FBa0R4QiwrQ0FBUSxDQUFDLEtBQUssQ0FBQztJQUFBeUIsVUFBQSxHQUFBWixnRkFBQSxDQUFBVyxVQUFBO0lBQTFERSxpQkFBaUIsR0FBQUQsVUFBQTtJQUFFRSxvQkFBb0IsR0FBQUYsVUFBQTtFQUM5QyxJQUFBRyxVQUFBLEdBQThCNUIsK0NBQVEsQ0FBQyxJQUFJLENBQUM7SUFBQTZCLFdBQUEsR0FBQWhCLGdGQUFBLENBQUFlLFVBQUE7SUFBckNFLE9BQU8sR0FBQUQsV0FBQTtJQUFFRSxVQUFVLEdBQUFGLFdBQUE7RUFDMUIsSUFBQUcsV0FBQSxHQUEwQ2hDLCtDQUFRLENBQUMsQ0FBQyxDQUFDO0lB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USw2REFBVTtNQUFDOEMsTUFBTSxFQUFBK0IsYUFBQSxDQUFBQSxhQUFBLEtBQU8vQixNQUFNO1FBQUVuQixhQUFhLEVBQWJBO01BQWEsRUFBRztNQUFDK0QsR0FBRyxFQUFFNUMsTUFBTSxDQUFDK0MsRUFBRztNQUFDbEUsYUFBYSxFQUFFQTtJQUFjLENBQUUsQ0FDckYsQ0FBQztFQUFBLENBQ3BCLENBQ00sQ0FFZCxDQUNKLENBQUM7QUFFZCxDQUFDO0FBRUQsaUVBQWV4QixjQUFjIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9zcmMvQ29tcG9uZW50cy9XaWRnZXRzL0ZlYXR1cmVzL0ZlYXR1cmVXaWRnZXRzLmpzeD8wYTI3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDb250YWluZXIsIEJ1dHRvbiwgU2tlbGV0b24gfSBmcm9tIFwiQGJzZi9mb3JjZS11aVwiO1xyXG5pbXBvcnQgeyBMb2FkZXJDaXJjbGUsIFNlYXJjaEljb24gfSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XHJcbmltcG9ydCBXaWRnZXRJdGVtIGZyb20gJ0Bjb21wb25lbnRzL0Rhc2hib2FyZC9XaWRnZXRJdGVtJztcclxuaW1wb3J0IGFwaUZldGNoIGZyb20gJ0B3b3JkcHJlc3MvYXBpLWZldGNoJztcclxuaW1wb3J0IHsgX18gfSBmcm9tIFwiQHdvcmRwcmVzcy9pMThuXCI7XHJcblxyXG5jb25zdCBGZWF0dXJlV2lkZ2V0cyA9ICgpID0+IHtcclxuXHJcbiAgICBjb25zdCBbYWxsV2lkZ2V0c0RhdGEsIHNldEFsbFdpZGdldHNEYXRhXSA9IHVzZVN0YXRlKG51bGwpOyAvLyBJbml0aWFsaXplIHN0YXRlLlxyXG4gICAgY29uc3QgW3NlYXJjaFRlcm0sIHNldFNlYXJjaFRlcm1dID0gdXNlU3RhdGUoJycpO1xyXG4gICAgY29uc3QgW2xvYWRpbmdBY3RpdmF0ZSwgc2V0TG9hZGluZ0FjdGl2YXRlXSA9IHVzZVN0YXRlKGZhbHNlKTsgLy8gTG9hZGluZyBzdGF0ZSBmb3IgYWN0aXZhdGUgYnV0dG9uXHJcbiAgICBjb25zdCBbbG9hZGluZ0RlYWN0aXZhdGUsIHNldExvYWRpbmdEZWFjdGl2YXRlXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xyXG4gICAgY29uc3QgW3VwZGF0ZUNvdW50ZXIsIHNldFVwZGF0ZUNvdW50ZXJdID0gdXNlU3RhdGUoMCk7XHJcblxyXG5cclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZmV0Y2hTZXR0aW5ncyA9ICgpID0+IHtcclxuICAgICAgICAgICAgc2V0TG9hZGluZyh0cnVlKTtcclxuICAgICAgICAgICAgYXBpRmV0Y2goe1xyXG4gICAgICAgICAgICAgICAgcGF0aDogJy9oZmUvdjEvd2lkZ2V0cycsXHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgICAgICAgICAnWC1XUC1Ob25jZSc6IGhmZVNldHRpbmdzRGF0YS5oZmVfbm9uY2VfYWN0aW9uLCAvLyBVc2UgdGhlIGNvcnJlY3Qgbm9uY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHdpZGdldHNEYXRhID0gY29udmVydFRvV2lkZ2V0c0FycmF5KGRhdGEpXHJcbiAgICAgICAgICAgICAgICAgICAgc2V0QWxsV2lkZ2V0c0RhdGEod2lkZ2V0c0RhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpOyAvLyBTdG9wIGxvYWRpbmdcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpOyAvLyBTdG9wIGxvYWRpbmdcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGZldGNoU2V0dGluZ3MoKTtcclxuICAgIH0sIFtdKTtcclxuXHJcbiAgICAvLyBOZXcgZnVuY3Rpb24gdG8gaGFuZGxlIHNlYXJjaCBpbnB1dCBjaGFuZ2VcclxuICAgIGNvbnN0IGhhbmRsZVNlYXJjaENoYW5nZSA9IChldmVudCkgPT4ge1xyXG4gICAgICAgIHNldFNlYXJjaFRlcm0oZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyBGaWx0ZXIgd2lkZ2V0cyBiYXNlZCBvbiBzZWFyY2ggdGVybVxyXG4gICAgY29uc3QgZmlsdGVyZWRXaWRnZXRzID0gYWxsV2lkZ2V0c0RhdGE/LmZpbHRlcih3aWRnZXQgPT5cclxuICAgICAgICB3aWRnZXQudGl0bGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKSB8fFxyXG4gICAgICAgIHdpZGdldC5rZXl3b3Jkcz8uc29tZShrZXl3b3JkID0+IGtleXdvcmQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKSlcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgaGFuZGxlQWN0aXZhdGVBbGwgPSBhc3luYyAoKSA9PiB7XHJcblxyXG4gICAgICAgIHNldExvYWRpbmdBY3RpdmF0ZSh0cnVlKTtcclxuXHJcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgd2luZG93LkZvcm1EYXRhKCk7XHJcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdhY3Rpb24nLCAnaGZlX2J1bGtfYWN0aXZhdGVfd2lkZ2V0cycpO1xyXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnbm9uY2UnLCBoZmVfYWRtaW5fZGF0YS5ub25jZSk7XHJcblxyXG4gICAgICAgIGFwaUZldGNoKHtcclxuICAgICAgICAgICAgdXJsOiBoZmVfYWRtaW5fZGF0YS5hamF4X3VybCxcclxuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgICAgIGJvZHk6IGZvcm1EYXRhLFxyXG4gICAgICAgIH0pLnRoZW4oKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgc2V0TG9hZGluZ0FjdGl2YXRlKGZhbHNlKTtcclxuICAgICAgICAgICAgaWYgKGRhdGEuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgc2V0QWxsV2lkZ2V0c0RhdGEocHJldldpZGdldHMgPT5cclxuICAgICAgICAgICAgICAgICAgICBwcmV2V2lkZ2V0cy5tYXAod2lkZ2V0ID0+ICh7IC4uLndpZGdldCwgaXNfYWN0aXZlOiB0cnVlIH0pKVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIHNldFVwZGF0ZUNvdW50ZXIocHJldiA9PiBwcmV2ICsgMSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5lcnJvcikge1xyXG4gICAgICAgICAgICAgICAgc2V0TG9hZGluZ0FjdGl2YXRlKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGR1cmluZyBBSkFYIHJlcXVlc3Q6JywgZXJyb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgIHNldExvYWRpbmdBY3RpdmF0ZShmYWxzZSk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGR1cmluZyBBSkFYIHJlcXVlc3Q6JywgZXJyb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBoYW5kbGVEZWFjdGl2YXRlQWxsID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHNldExvYWRpbmdEZWFjdGl2YXRlKHRydWUpO1xyXG5cclxuICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyB3aW5kb3cuRm9ybURhdGEoKTtcclxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2FjdGlvbicsICdoZmVfYnVsa19kZWFjdGl2YXRlX3dpZGdldHMnKTtcclxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ25vbmNlJywgaGZlX2FkbWluX2RhdGEubm9uY2UpO1xyXG5cclxuICAgICAgICBhcGlGZXRjaCh7XHJcbiAgICAgICAgICAgIHVybDogaGZlX2FkbWluX2RhdGEuYWpheF91cmwsXHJcbiAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAgICAgICBib2R5OiBmb3JtRGF0YSxcclxuICAgICAgICB9KS50aGVuKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIHNldExvYWRpbmdEZWFjdGl2YXRlKGZhbHNlKTtcclxuICAgICAgICAgICAgaWYgKGRhdGEuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgc2V0QWxsV2lkZ2V0c0RhdGEocHJldldpZGdldHMgPT5cclxuICAgICAgICAgICAgICAgICAgICBwcmV2V2lkZ2V0cy5tYXAod2lkZ2V0ID0+ICh7IC4uLndpZGdldCwgaXNfYWN0aXZlOiBmYWxzZSB9KSlcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBzZXRVcGRhdGVDb3VudGVyKHByZXYgPT4gcHJldiArIDEpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEuZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0FKQVggcmVxdWVzdCBmYWlsZWQ6JywgZGF0YS5lcnJvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgc2V0TG9hZGluZ0RlYWN0aXZhdGUoZmFsc2UpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBkdXJpbmcgQUpBWCByZXF1ZXN0OicsIGVycm9yKTtcclxuICAgICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgZnVuY3Rpb24gY29udmVydFRvV2lkZ2V0c0FycmF5KGRhdGEpIHtcclxuICAgICAgICBjb25zdCB3aWRnZXRzID0gW107XHJcblxyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGRhdGEpIHtcclxuICAgICAgICAgICAgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkZ2V0ID0gZGF0YVtrZXldO1xyXG4gICAgICAgICAgICAgICAgd2lkZ2V0cy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBpZDoga2V5LCAvLyBVc2luZyB0aGUga2V5IGFzICd3aWRnZXRUaXRsZSdcclxuICAgICAgICAgICAgICAgICAgICBzbHVnOiB3aWRnZXQuc2x1ZyxcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogd2lkZ2V0LnRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIGtleXdvcmRzOiB3aWRnZXQua2V5d29yZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogPGkgY2xhc3NOYW1lPXt3aWRnZXQuaWNvbn0+PC9pPixcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZV91cmw6IHdpZGdldC50aXRsZV91cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogd2lkZ2V0LmRlZmF1bHQsXHJcbiAgICAgICAgICAgICAgICAgICAgZG9jX3VybDogd2lkZ2V0LmRvY191cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNfcHJvOiB3aWRnZXQuaXNfcHJvLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB3aWRnZXQuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgaXNfYWN0aXZlOiB3aWRnZXQuaXNfYWN0aXZhdGUgIT09IHVuZGVmaW5lZCA/IHdpZGdldC5pc19hY3RpdmF0ZSA6IHRydWUsIC8vIENoZWNrIGlmIGlzX2FjdGl2YXRlIGlzIHNldFxyXG4gICAgICAgICAgICAgICAgICAgIGRlbW9fdXJsOiB3aWRnZXQuZGVtb191cmwgIT09IHVuZGVmaW5lZCA/IHdpZGdldC5kZW1vX3VybCA6IHdpZGdldC5kb2NfdXJsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHdpZGdldHM7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm91bmRlZC1sZyBiZy13aGl0ZSB3LWZ1bGwgbWItNCc+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IG1kOml0ZW1zLWNlbnRlciBtZDpqdXN0aWZ5LWJldHdlZW4gcC00J1xyXG4gICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZ0JvdHRvbTogJzAnXHJcbiAgICAgICAgICAgIH19PlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPSdtLTAgdGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtdGV4dC1wcmltYXJ5IG1iLTIgbWQ6bWItMCc+e19fKFwiV2lkZ2V0cyAvIEZlYXR1cmVzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9PC9wPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2ZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC15LTIgbWQ6Z2FwLXgtMiBtZDptci03IHJlbGF0aXZlJz5cclxuICAgICAgICAgICAgICAgICAgICA8U2VhcmNoSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSB0b3AtMS8yIHRyYW5zZm9ybSAtdHJhbnNsYXRlLXktMS8yIHRleHQtZ3JheS00MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0Y5RkFGQicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAnMiUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxOHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzE4cHgnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17X18oJ1NlYXJjaC4uLicsICdoZWFkZXItZm9vdGVyLWVsZW1lbnRvcicpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtci0yIHBsLTEwIHctZnVsbCBtZDp3LWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnNDBweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyNlMGUwZTAnLCAvLyBEZWZhdWx0IGJvcmRlciBjb2xvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogJ25vbmUnLCAgICAgICAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG91dGxpbmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveFNoYWRvdzogJ25vbmUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0Y5RkFGQicsICAgIC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgYm94IHNoYWRvd1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXsoZSkgPT4gZS50YXJnZXQuc3R5bGUuYm9yZGVyQ29sb3IgPSAnIzYwMDVGRid9IC8vIEFwcGx5IGZvY3VzIGNvbG9yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cj17KGUpID0+IGUudGFyZ2V0LnN0eWxlLmJvcmRlckNvbG9yID0gJyNlMGUwZTAnfSAgLy8gUmV2ZXJ0IHRvIGRlZmF1bHQgY29sb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVNlYXJjaENoYW5nZX1cclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXJvdyBnYXAtMiB3LWZ1bGwgbWQ6dy1hdXRvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249e2xvYWRpbmdBY3RpdmF0ZSA/IDxMb2FkZXJDaXJjbGUgY2xhc3NOYW1lPVwiYW5pbWF0ZS1zcGluXCIgLz4gOiBudWxsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJoZmUtYnVsay1hY3Rpb24tYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUFjdGl2YXRlQWxsfSAvLyBBdHRhY2ggdGhlIG9uQ2xpY2sgZXZlbnQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ISFzZWFyY2hUZXJtfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bG9hZGluZ0FjdGl2YXRlID8gX18oJ0FjdGl2YXRpbmcuLi4nLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKSA6IF9fKCdBY3RpdmF0ZSBBbGwnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPXtsb2FkaW5nRGVhY3RpdmF0ZSA/IDxMb2FkZXJDaXJjbGUgY2xhc3NOYW1lPVwiYW5pbWF0ZS1zcGluXCIgLz4gOiBudWxsfSAvLyBMb2FkZXIgZm9yIGRlYWN0aXZhdGUgYnV0dG9uLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVEZWFjdGl2YXRlQWxsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaGZlLWJ1bGstYWN0aW9uLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ISFzZWFyY2hUZXJtfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bG9hZGluZ0RlYWN0aXZhdGUgPyBfXygnRGVhY3RpdmF0aW5nLi4uJywgJ2hlYWRlci1mb290ZXItZWxlbWVudG9yJykgOiBfXygnRGVhY3RpdmF0ZSBBbGwnLCAnaGVhZGVyLWZvb3Rlci1lbGVtZW50b3InKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdmbGV4IGJnLWJsYWNrIGZsZXgtY29sIHJvdW5kZWQtbGcgcC00JyBzdHlsZT17eyBtaW5IZWlnaHQ6IFwiODAwcHhcIiB9fT5cclxuICAgICAgICAgICAgICAgIHtsb2FkaW5nID8gKFxyXG4gICAgICAgICAgICAgICAgICAgIDxDb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ249XCJzdHJldGNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicC0yIGdhcC0xLjUgZ3JpZCBncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI0Y5RkFGQlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclR5cGU9XCJncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeT1cInN0YXJ0XCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtbLi4uQXJyYXkoMzApXS5tYXAoKF8sIGluZGV4KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q29udGFpbmVyLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduU2VsZj1cImF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtd3JhcCByb3VuZGVkLW1kIHNoYWRvdy1jb250YWluZXItaXRlbSBiZy1iYWNrZ3JvdW5kLXByaW1hcnkgcC02IHNwYWNlLXktMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNrZWxldG9uIGNsYXNzTmFtZT0ndy0xMiBoLTIgcm91bmRlZC1tZCcgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2tlbGV0b24gY2xhc3NOYW1lPSd3LTE2IGgtMiByb3VuZGVkLW1kJyAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTa2VsZXRvbiBjbGFzc05hbWU9J3ctMTIgaC0yIHJvdW5kZWQtbWQnIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NvbnRhaW5lci5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPENvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbj1cInN0cmV0Y2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwLTEgZ2FwLTEuNSBncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclR5cGU9XCJncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeT1cInN0YXJ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNGOUZBRkInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7ZmlsdGVyZWRXaWRnZXRzPy5tYXAoKHdpZGdldCkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENvbnRhaW5lci5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXt3aWRnZXQuaWR9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25TZWxmPVwiYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC13cmFwIHJvdW5kZWQtbWQgc2hhZG93LWNvbnRhaW5lci1pdGVtIGJnLWJhY2tncm91bmQtcHJpbWFyeSBwLTRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaWRnZXRJdGVtIHdpZGdldD17eyAuLi53aWRnZXQsIHVwZGF0ZUNvdW50ZXIgfX0ga2V5PXt3aWRnZXQuaWR9IHVwZGF0ZUNvdW50ZXI9e3VwZGF0ZUNvdW50ZXJ9IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NvbnRhaW5lci5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgICAgICA8L0NvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgKVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBGZWF0dXJlV2lkZ2V0c1xyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIkNvbnRhaW5lciIsIkJ1dHRvbiIsIlNrZWxldG9uIiwiTG9hZGVyQ2lyY2xlIiwiU2VhcmNoSWNvbiIsIldpZGdldEl0ZW0iLCJhcGlGZXRjaCIsIl9fIiwiRmVhdHVyZVdpZGdldHMiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJhbGxXaWRnZXRzRGF0YSIsInNldEFsbFdpZGdldHNEYXRhIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWFyY2hUZXJtIiwic2V0U2VhcmNoVGVybSIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwibG9hZGluZ0FjdGl2YXRlIiwic2V0TG9hZGluZ0FjdGl2YXRlIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJsb2FkaW5nRGVhY3RpdmF0ZSIsInNldExvYWRpbmdEZWFjdGl2YXRlIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwibG9hZGluZyIsInNldExvYWRpbmciLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwidXBkYXRlQ291bnRlciIsInNldFVwZGF0ZUNvdW50ZXIiLCJmZXRjaFNldHRpbmdzIiwicGF0aCIsImhlYWRlcnMiLCJoZmVTZXR0aW5nc0RhdGEiLCJoZmVfbm9uY2VfYWN0aW9uIiwidGhlbiIsImRhdGEiLCJ3aWRnZXRzRGF0YSIsImNvbnZlcnRUb1dpZGdldHNBcnJheSIsImVyciIsImhhbmRsZVNlYXJjaENoYW5nZSIsImV2ZW50IiwidGFyZ2V0IiwidmFsdWUiLCJ0b0xvd2VyQ2FzZSIsImZpbHRlcmVkV2lkZ2V0cyIsImZpbHRlciIsIndpZGdldCIsIl93aWRnZXQka2V5d29yZHMiLCJ0aXRsZSIsImluY2x1ZGVzIiwia2V5d29yZHMiLCJzb21lIiwia2V5d29yZCIsImhhbmRsZUFjdGl2YXRlQWxsIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiZm9ybURhdGEiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0Iiwid2luZG93IiwiRm9ybURhdGEiLCJhcHBlbmQiLCJoZmVfYWRtaW5fZGF0YSIsIm5vbmNlIiwidXJsIiwiYWpheF91cmwiLCJtZXRob2QiLCJib2R5Iiwic3VjY2VzcyIsInByZXZXaWRnZXRzIiwibWFwIiwiX29iamVjdFNwcmVhZCIsImlzX2FjdGl2ZSIsImVycm9yIiwiY29uc29sZSIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZURlYWN0aXZhdGVBbGwiLCJfcmVmMiIsIl9jYWxsZWUyIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwid2lkZ2V0cyIsImtleSIsImhhc093blByb3BlcnR5IiwicHVzaCIsImlkIiwic2x1ZyIsImljb24iLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwidGl0bGVfdXJsIiwiZG9jX3VybCIsImlzX3BybyIsImRlc2NyaXB0aW9uIiwiaXNfYWN0aXZhdGUiLCJ1bmRlZmluZWQiLCJkZW1vX3VybCIsInN0eWxlIiwicGFkZGluZ0JvdHRvbSIsImJhY2tncm91bmRDb2xvciIsImxlZnQiLCJ3aWR0aCIsImhlaWdodCIsInR5cGUiLCJwbGFjZWhvbGRlciIsImJvcmRlckNvbG9yIiwib3V0bGluZSIsImJveFNoYWRvdyIsIm9uRm9jdXMiLCJlIiwib25CbHVyIiwib25DaGFuZ2UiLCJpY29uUG9zaXRpb24iLCJ2YXJpYW50Iiwib25DbGljayIsImRpc2FibGVkIiwibWluSGVpZ2h0IiwiYWxpZ24iLCJjb250YWluZXJUeXBlIiwiZ2FwIiwianVzdGlmeSIsIl90b0NvbnN1bWFibGVBcnJheSIsIkFycmF5IiwiXyIsImluZGV4IiwiSXRlbSIsImFsaWduU2VsZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Components/Widgets/Features/FeatureWidgets.jsx\n"); - -/***/ }), - -/***/ "./src/Components/Widgets/UltimateWidgets.jsx": -/*!****************************************************!*\ - !*** ./src/Components/Widgets/UltimateWidgets.jsx ***! - \****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @bsf/force-ui */ \"./node_modules/@bsf/force-ui/dist/force-ui.js\");\n/* harmony import */ var _bsf_force_ui__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/zap.js\");\n/* harmony import */ var lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lucide-react */ \"./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _router_index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../router/index */ \"./src/router/index.js\");\n/* harmony import */ var _admin_settings_routes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../admin/settings/routes */ \"./src/admin/settings/routes.js\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ \"@wordpress/i18n\");\n/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\nvar UltimateWidgets = function UltimateWidgets() {\n var featureData = [{\n id: 1,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Modal Popup\", \"header-footer-elementor\")\n }, {\n id: 2,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Advanced Heading\", \"header-footer-elementor\")\n }, {\n id: 1,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Post Layouts\", \"header-footer-elementor\")\n }, {\n id: 1,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Info Box\", \"header-footer-elementor\")\n }, {\n id: 1,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Pricing Cards\", \"header-footer-elementor\")\n }, {\n id: 1,\n icon: \"\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Form Stylers and more...\", \"header-footer-elementor\")\n }];\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"py-4\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container, {\n className: \"bg-background-primary gap-1 p-4 border-[0.5px] border-subtle rounded-xl shadow-sm\",\n containerType: \"flex\",\n direction: \"column\",\n justify: \"between\",\n gap: \"xs\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n className: \"flex flex-col justify-center items-center\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"img\", {\n src: \"\".concat(hfeSettingsData.column_url),\n alt: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Column Showcase\", \"header-footer-elementor\"),\n className: \"h-auto rounded w-1/2\"\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Container.Item, {\n className: \"flex flex-col justify-between\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Title, {\n description: \"\",\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null),\n iconPosition: \"left\",\n size: \"xs\",\n tag: \"h6\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Unlock Ultimate Features\", \"header-footer-elementor\"),\n className: \"text-xs font-semibold text-brand-primary-600\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Title, {\n description: \"\",\n icon: \"\",\n iconPosition: \"left\",\n tag: \"h6\",\n title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Create Ultimate Designs with Addons Pro!\", \"header-footer-elementor\"),\n className: \"py-1 text-sm\"\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n className: \"text-md m-0 text-text-secondary\"\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Get access to advanced widgets and features to create the website that stands out!\", \"header-footer-elementor\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"grid grid-cols-2 grid-flow-row gap-1 my-4\"\n }, featureData.map(function (feature) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Title, {\n key: feature.id,\n description: \"\",\n icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"text-brand-primary-600 mr-1 h-3 w-3\"\n }),\n iconPosition: \"left\",\n size: \"xxs\",\n tag: \"h6\",\n title: feature.title,\n className: \"text-md m-0 text-text-secondary hfe-compare-section\"\n });\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"flex items-center pb-3 gap-4\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_bsf_force_ui__WEBPACK_IMPORTED_MODULE_1__.Button, {\n iconPosition: \"right\",\n variant: \"secondary\",\n className: \"hfe-remove-ring\",\n onClick: function onClick() {\n window.open(\"https://ultimateelementor.com/pricing/?utm_source=uae-lite-FreevsPro&utm_medium=unlock-ultimate-feature&utm_campaign=uae-lite-upgrade\", \"_blank\");\n }\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Upgrade Now\", \"header-footer-elementor\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_router_index__WEBPACK_IMPORTED_MODULE_2__.Link, {\n className: \"text-black cursor-pointer\",\n to: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_3__.routes.upgrade.path\n }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)(\"Compare Free vs Pro\", \"header-footer-elementor\"))))));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UltimateWidgets);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvQ29tcG9uZW50cy9XaWRnZXRzL1VsdGltYXRlV2lkZ2V0cy5qc3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBMEI7QUFDK0I7QUFDZjtBQUNBO0FBQ1c7QUFDaEI7QUFFckMsSUFBTVMsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFBLEVBQVM7RUFDMUIsSUFBTUMsV0FBVyxHQUFHLENBQ2hCO0lBQ0lDLEVBQUUsRUFBRSxDQUFDO0lBQ0xDLElBQUksRUFBRSxFQUFFO0lBQ1JDLEtBQUssRUFBRUwsbURBQUUsQ0FBQyxhQUFhLEVBQUUseUJBQXlCO0VBQ3RELENBQUMsRUFDRDtJQUNJRyxFQUFFLEVBQUUsQ0FBQztJQUNMQyxJQUFJLEVBQUUsRUFBRTtJQUNSQyxLQUFLLEVBQUVMLG1EQUFFLENBQUMsa0JBQWtCLEVBQUUseUJBQXlCO0VBQzNELENBQUMsRUFDRDtJQUNJRyxFQUFFLEVBQUUsQ0FBQztJQUNMQyxJQUFJLEVBQUUsRUFBRTtJQUNSQyxLQUFLLEVBQUVMLG1EQUFFLENBQUMsY0FBYyxFQUFFLHlCQUF5QjtFQUN2RCxDQUFDLEVBQ0Q7SUFDSUcsRUFBRSxFQUFFLENBQUM7SUFDTEMsSUFBSSxFQUFFLEVBQUU7SUFDUkMsS0FBSyxFQUFFTCxtREFBRSxDQUFDLFVBQVUsRUFBRSx5QkFBeUI7RUFDbkQsQ0FBQyxFQUNEO0lBQ0lHLEVBQUUsRUFBRSxDQUFDO0lBQ0xDLElBQUksRUFBRSxFQUFFO0lBQ1JDLEtBQUssRUFBRUwsbURBQUUsQ0FBQyxlQUFlLEVBQUUseUJBQXlCO0VBQ3hELENBQUMsRUFDRDtJQUNJRyxFQUFFLEVBQUUsQ0FBQztJQUNMQyxJQUFJLEVBQUUsRUFBRTtJQUNSQyxLQUFLLEVBQUVMLG1EQUFFLENBQUMsMEJBQTBCLEVBQUUseUJBQXlCO0VBQ25FLENBQUMsQ0FDSjtFQUVELG9CQUNJUiwwREFBQTtJQUFLZSxTQUFTLEVBQUM7RUFBTSxnQkFDakJmLDBEQUFBLENBQUNDLG9EQUFTO0lBQ05jLFNBQVMsRUFB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bGVtZW50b3IvLi9zcmMvQ29tcG9uZW50cy9XaWRnZXRzL1VsdGltYXRlV2lkZ2V0cy5qc3g/ZjBkNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IENvbnRhaW5lciwgVGl0bGUsIEJ1dHRvbiB9IGZyb20gXCJAYnNmL2ZvcmNlLXVpXCI7XHJcbmltcG9ydCB7IFphcCwgQ2hlY2sgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XHJcbmltcG9ydCB7IExpbmsgfSBmcm9tIFwiLi4vLi4vcm91dGVyL2luZGV4XCI7XHJcbmltcG9ydCB7IHJvdXRlcyB9IGZyb20gXCIuLi8uLi9hZG1pbi9zZXR0aW5ncy9yb3V0ZXNcIjtcclxuaW1wb3J0IHsgX18gfSBmcm9tIFwiQHdvcmRwcmVzcy9pMThuXCI7XHJcblxyXG5jb25zdCBVbHRpbWF0ZVdpZGdldHMgPSAoKSA9PiB7XHJcbiAgICBjb25zdCBmZWF0dXJlRGF0YSA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGlkOiAxLFxyXG4gICAgICAgICAgICBpY29uOiBcIlwiLFxyXG4gICAgICAgICAgICB0aXRsZTogX18oXCJNb2RhbCBQb3B1cFwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpZDogMixcclxuICAgICAgICAgICAgaWNvbjogXCJcIixcclxuICAgICAgICAgICAgdGl0bGU6IF9fKFwiQWR2YW5jZWQgSGVhZGluZ1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpZDogMSxcclxuICAgICAgICAgICAgaWNvbjogXCJcIixcclxuICAgICAgICAgICAgdGl0bGU6IF9fKFwiUG9zdCBMYXlvdXRzXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGlkOiAxLFxyXG4gICAgICAgICAgICBpY29uOiBcIlwiLFxyXG4gICAgICAgICAgICB0aXRsZTogX18oXCJJbmZvIEJveFwiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpZDogMSxcclxuICAgICAgICAgICAgaWNvbjogXCJcIixcclxuICAgICAgICAgICAgdGl0bGU6IF9fKFwiUHJpY2luZyBDYXJkc1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBpZDogMSxcclxuICAgICAgICAgICAgaWNvbjogXCJcIixcclxuICAgICAgICAgICAgdGl0bGU6IF9fKFwiRm9ybSBTdHlsZXJzIGFuZCBtb3JlLi4uXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIiksXHJcbiAgICAgICAgfSxcclxuICAgIF07XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInB5LTRcIj5cclxuICAgICAgICAgICAgPENvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYmctYmFja2dyb3VuZC1wcmltYXJ5IGdhcC0xIHAtNCBib3JkZXItWzAuNXB4XSBib3JkZXItc3VidGxlIHJvdW5kZWQteGwgc2hhZG93LXNtXCJcclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lclR5cGU9XCJmbGV4XCJcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5PVwiYmV0d2VlblwiXHJcbiAgICAgICAgICAgICAgICBnYXA9XCJ4c1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxDb250YWluZXIuSXRlbSBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtgJHtoZmVTZXR0aW5nc0RhdGEuY29sdW1uX3VybH1gfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbHQ9e19fKFwiQ29sdW1uIFNob3djYXNlXCIsIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtYXV0byByb3VuZGVkIHctMS8yXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPC9Db250YWluZXIuSXRlbT5cclxuXHJcbiAgICAgICAgICAgICAgICA8Q29udGFpbmVyLkl0ZW0gY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VGl0bGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249ezxaYXAgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJ4c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWc9XCJoNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT17X18oXCJVbmxvY2sgVWx0aW1hdGUgRmVhdHVyZXNcIiwgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LWJyYW5kLXByaW1hcnktNjAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFRpdGxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj1cIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPXtcIlwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWc9XCJoNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT17X18oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJDcmVhdGUgVWx0aW1hdGUgRGVzaWducyB3aXRoIEFkZG9ucyBQcm8hXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWFkZXItZm9vdGVyLWVsZW1lbnRvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicHktMSB0ZXh0LXNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1tZCBtLTAgdGV4dC10ZXh0LXNlY29uZGFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge19fKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiR2V0IGFjY2VzcyB0byBhZHZhbmNlZCB3aWRnZXRzIGFuZCBmZWF0dXJlcyB0byBjcmVhdGUgdGhlIHdlYnNpdGUgdGhhdCBzdGFuZHMgb3V0IVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaGVhZGVyLWZvb3Rlci1lbGVtZW50b3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMiBncmlkLWZsb3ctcm93IGdhcC0xIG15LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge2ZlYXR1cmVEYXRhLm1hcCgoZmVhdHVyZSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRpdGxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtmZWF0dXJlLmlkfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrIGNsYXNzTmFtZT1cInRleHQtYnJhbmQtcHJpbWFyeS02MDAgbXItMSBoLTMgdy0zXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnPVwiaDZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPXtmZWF0dXJlLnRpdGxlfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtbWQgbS0wIHRleHQtdGV4dC1zZWNvbmRhcnkgaGZlLWNvbXBhcmUtc2VjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIHBiLTMgZ2FwLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJoZmUtcmVtb3ZlLXJpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImh0dHBzOi8vdWx0aW1hdGVlbGVtZW50b3IuY29tL3ByaWNpbmcvP3V0bV9zb3VyY2U9dWFlLWxpdGUtRnJlZXZzUHJvJnV0bV9tZWRpdW09dW5sb2NrLXVsdGltYXRlLWZlYXR1cmUmdXRtX2NhbXBhaWduPXVhZS1saXRlLXVwZ3JhZGVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJfYmxhbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7X18oXCJVcGdyYWRlIE5vd1wiLCBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgY2xhc3NOYW1lPVwidGV4dC1ibGFjayBjdXJzb3ItcG9pbnRlclwiIHRvPXtyb3V0ZXMudXBncmFkZS5wYXRofT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfXyhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkNvbXBhcmUgRnJlZSB2cyBQcm9cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImhlYWRlci1mb290ZXItZWxlbWVudG9yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvQ29udGFpbmVyLkl0ZW0+XHJcbiAgICAgICAgICAgIDwvQ29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IFVsdGltYXRlV2lkZ2V0cztcclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiQ29udGFpbmVyIiwiVGl0bGUiLCJCdXR0b24iLCJaYXAiLCJDaGVjayIsIkxpbmsiLCJyb3V0ZXMiLCJfXyIsIlVsdGltYXRlV2lkZ2V0cyIsImZlYXR1cmVEYXRhIiwiaWQiLCJpY29uIiwidGl0bGUiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiY29udGFpbmVyVHlwZSIsImRpcmVjdGlvbiIsImp1c3RpZnkiLCJnYXAiLCJJdGVtIiwic3JjIiwiY29uY2F0IiwiaGZlU2V0dGluZ3NEYXRhIiwiY29sdW1uX3VybCIsImFsdCIsImRlc2NyaXB0aW9uIiwiaWNvblBvc2l0aW9uIiwic2l6ZSIsInRhZyIsIm1hcCIsImZlYXR1cmUiLCJrZXkiLCJ2YXJpYW50Iiwib25DbGljayIsIndpbmRvdyIsIm9wZW4iLCJ0byIsInVwZ3JhZGUiLCJwYXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/Components/Widgets/UltimateWidgets.jsx\n"); - -/***/ }), - -/***/ "./src/admin/settings/routes.js": -/*!**************************************!*\ - !*** ./src/admin/settings/routes.js ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ routes: () => (/* binding */ routes)\n/* harmony export */ });\nvar routes = {\n dashboard: {\n path: \"dashboard\"\n },\n widgets: {\n path: \"widgets\"\n },\n templates: {\n path: \"templates\"\n },\n settings: {\n path: \"settings\"\n },\n upgrade: {\n path: \"upgrade\"\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvYWRtaW4vc2V0dGluZ3Mvcm91dGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTyxJQUFNQSxNQUFNLEdBQUc7RUFDbEJDLFNBQVMsRUFBRTtJQUNQQyxJQUFJLEVBQUU7RUFDVixDQUFDO0VBQ0RDLE9BQU8sRUFBRTtJQUNMRCxJQUFJLEVBQUU7RUFDVixDQUFDO0VBQ0RFLFNBQVMsRUFBRTtJQUNQRixJQUFJLEVBQUU7RUFDVixDQUFDO0VBQ0RHLFFBQVEsRUFBRTtJQUNOSCxJQUFJLEVBQUU7RUFDVixDQUFDO0VBQ0RJLE9BQU8sRUFBRTtJQUNMSixJQUFJLEVBQUU7RUFDVjtBQUNKLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL3NyYy9hZG1pbi9zZXR0aW5ncy9yb3V0ZXMuanM/ZWYzNCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgcm91dGVzID0ge1xyXG4gICAgZGFzaGJvYXJkOiB7XHJcbiAgICAgICAgcGF0aDogXCJkYXNoYm9hcmRcIixcclxuICAgIH0sXHJcbiAgICB3aWRnZXRzOiB7XHJcbiAgICAgICAgcGF0aDogXCJ3aWRnZXRzXCIsXHJcbiAgICB9LFxyXG4gICAgdGVtcGxhdGVzOiB7XHJcbiAgICAgICAgcGF0aDogXCJ0ZW1wbGF0ZXNcIixcclxuICAgIH0sXHJcbiAgICBzZXR0aW5nczoge1xyXG4gICAgICAgIHBhdGg6IFwic2V0dGluZ3NcIixcclxuICAgIH0sXHJcbiAgICB1cGdyYWRlOiB7XHJcbiAgICAgICAgcGF0aDogXCJ1cGdyYWRlXCIsXHJcbiAgICB9XHJcbn0iXSwibmFtZXMiOlsicm91dGVzIiwiZGFzaGJvYXJkIiwicGF0aCIsIndpZGdldHMiLCJ0ZW1wbGF0ZXMiLCJzZXR0aW5ncyIsInVwZ3JhZGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/admin/settings/routes.js\n"); - -/***/ }), - -/***/ "./src/index.js": -/*!**********************!*\ - !*** ./src/index.js ***! - \**********************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom/client */ \"./node_modules/react-dom/client.js\");\n/* harmony import */ var _wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/dom-ready */ \"@wordpress/dom-ready\");\n/* harmony import */ var _wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _App__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./App */ \"./src/App.js\");\n/* harmony import */ var _styles_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./styles.css */ \"./src/styles.css\");\n // Import from react-dom/client for React 18\n\n\n\n_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_1___default()(function () {\n var rootElement = document.getElementById(\"hfe-settings-app\");\n if (rootElement) {\n var root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_0__.createRoot)(rootElement); // Use createRoot() for React 18\n root.render(/*#__PURE__*/React.createElement(_App__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null));\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQThDLENBQUM7QUFDSDtBQUNwQjtBQUNGO0FBRXRCQywyREFBUSxDQUFDLFlBQU07RUFDZCxJQUFNRSxXQUFXLEdBQUdDLFFBQVEsQ0FBQ0MsY0FBYyxDQUFDLGtCQUFrQixDQUFDO0VBQy9ELElBQUlGLFdBQVcsRUFBRTtJQUNoQixJQUFNRyxJQUFJLEdBQUdOLDREQUFVLENBQUNHLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDdENHLElBQUksQ0FBQ0MsTUFBTSxjQUFDQyxLQUFBLENBQUFDLGFBQUEsQ0FBQ1AsNENBQUcsTUFBRSxDQUFDLENBQUM7RUFDckI7QUFDRCxDQUFDLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL3NyYy9pbmRleC5qcz9iNjM1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJvb3QgfSBmcm9tIFwicmVhY3QtZG9tL2NsaWVudFwiOyAvLyBJbXBvcnQgZnJvbSByZWFjdC1kb20vY2xpZW50IGZvciBSZWFjdCAxOFxyXG5pbXBvcnQgZG9tUmVhZHkgZnJvbSBcIkB3b3JkcHJlc3MvZG9tLXJlYWR5XCI7XHJcbmltcG9ydCBBcHAgZnJvbSBcIi4vQXBwXCI7XHJcbmltcG9ydCBcIi4vc3R5bGVzLmNzc1wiO1xyXG5cclxuZG9tUmVhZHkoKCkgPT4ge1xyXG5cdGNvbnN0IHJvb3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJoZmUtc2V0dGluZ3MtYXBwXCIpO1xyXG5cdGlmIChyb290RWxlbWVudCkge1xyXG5cdFx0Y29uc3Qgcm9vdCA9IGNyZWF0ZVJvb3Qocm9vdEVsZW1lbnQpOyAvLyBVc2UgY3JlYXRlUm9vdCgpIGZvciBSZWFjdCAxOFxyXG5cdFx0cm9vdC5yZW5kZXIoPEFwcCAvPik7XHJcblx0fVxyXG59KTtcclxuIl0sIm5hbWVzIjpbImNyZWF0ZVJvb3QiLCJkb21SZWFkeSIsIkFwcCIsInJvb3RFbGVtZW50IiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsInJvb3QiLCJyZW5kZXIiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/index.js\n"); - -/***/ }), - -/***/ "./src/router/context.js": -/*!*******************************!*\ - !*** ./src/router/context.js ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RouterContext: () => (/* binding */ RouterContext),\n/* harmony export */ history: () => (/* binding */ history)\n/* harmony export */ });\n/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! history */ \"./node_modules/history/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./src/router/utils.js\");\n\n\nvar history = (0,history__WEBPACK_IMPORTED_MODULE_1__.createBrowserHistory)();\nvar RouterContext = wp.element.createContext({\n route: (0,_utils__WEBPACK_IMPORTED_MODULE_0__.locationToRoute)(history.location)\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvcm91dGVyL2NvbnRleHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUErQztBQUNMO0FBRW5DLElBQU1FLE9BQU8sR0FBR0YsNkRBQW9CLENBQUMsQ0FBQztBQUN0QyxJQUFNRyxhQUFhLEdBQUdDLEVBQUUsQ0FBQ0MsT0FBTyxDQUFDQyxhQUFhLENBQUM7RUFDcERDLEtBQUssRUFBRU4sdURBQWUsQ0FBQ0MsT0FBTyxDQUFDTSxRQUFRO0FBQ3pDLENBQUMsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vc3JjL3JvdXRlci9jb250ZXh0LmpzPzAzMDUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQnJvd3Nlckhpc3RvcnkgfSBmcm9tIFwiaGlzdG9yeVwiO1xyXG5pbXBvcnQgeyBsb2NhdGlvblRvUm91dGUgfSBmcm9tIFwiLi91dGlsc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGhpc3RvcnkgPSBjcmVhdGVCcm93c2VySGlzdG9yeSgpO1xyXG5leHBvcnQgY29uc3QgUm91dGVyQ29udGV4dCA9IHdwLmVsZW1lbnQuY3JlYXRlQ29udGV4dCh7XHJcbiAgcm91dGU6IGxvY2F0aW9uVG9Sb3V0ZShoaXN0b3J5LmxvY2F0aW9uKSxcclxufSk7XHJcbiJdLCJuYW1lcyI6WyJjcmVhdGVCcm93c2VySGlzdG9yeSIsImxvY2F0aW9uVG9Sb3V0ZSIsImhpc3RvcnkiLCJSb3V0ZXJDb250ZXh0Iiwid3AiLCJlbGVtZW50IiwiY3JlYXRlQ29udGV4dCIsInJvdXRlIiwibG9jYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/router/context.js\n"); - -/***/ }), - -/***/ "./src/router/customRouter.js": -/*!************************************!*\ - !*** ./src/router/customRouter.js ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index */ \"./src/router/index.js\");\n/* harmony import */ var _Components_Dashboard_Dashboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Components/Dashboard/Dashboard */ \"./src/Components/Dashboard/Dashboard.jsx\");\n/* harmony import */ var _Components_Widgets_Features__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Components/Widgets/Features */ \"./src/Components/Widgets/Features.jsx\");\n/* harmony import */ var _Components_Templates_Templates__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Components/Templates/Templates */ \"./src/Components/Templates/Templates.jsx\");\n/* harmony import */ var _Components_Settings_Settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Components/Settings/Settings */ \"./src/Components/Settings/Settings.jsx\");\n/* harmony import */ var _admin_settings_routes__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../admin/settings/routes */ \"./src/admin/settings/routes.js\");\n/* harmony import */ var _Components_Compare_Upgrade__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Components/Compare/Upgrade */ \"./src/Components/Compare/Upgrade.jsx\");\n\n\n\n\n\n\n\nvar CustomRouter = function CustomRouter() {\n var _routes$dashboard;\n return /*#__PURE__*/React.createElement(_index__WEBPACK_IMPORTED_MODULE_0__.Router, {\n routes: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_5__.routes,\n defaultRoute: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_5__.routes === null || _admin_settings_routes__WEBPACK_IMPORTED_MODULE_5__.routes === void 0 || (_routes$dashboard = _admin_settings_routes__WEBPACK_IMPORTED_MODULE_5__.routes.dashboard) === null || _routes$dashboard === void 0 ? void 0 : _routes$dashboard.path\n }, /*#__PURE__*/React.createElement(_index__WEBPACK_IMPORTED_MODULE_0__.Route, {\n path: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_5__.routes.dashboard.path\n }, /*#__PURE__*/React.createElement(_Components_Dashboard_Dashboard__WEBPACK_IMPORTED_MODULE_1__[\"default\"], null)), /*#__PURE__*/React.createElement(_index__WEBPACK_IMPORTED_MODULE_0__.Route, {\n path: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_5__.routes.widgets.path\n }, /*#__PURE__*/React.createElement(_Components_Widgets_Features__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null)), /*#__PURE__*/React.createElement(_index__WEBPACK_IMPORTED_MODULE_0__.Route, {\n path: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_5__.routes.templates.path\n }, /*#__PURE__*/React.createElement(_Components_Templates_Templates__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null)), /*#__PURE__*/React.createElement(_index__WEBPACK_IMPORTED_MODULE_0__.Route, {\n path: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_5__.routes.settings.path\n }, /*#__PURE__*/React.createElement(_Components_Settings_Settings__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null)), /*#__PURE__*/React.createElement(_index__WEBPACK_IMPORTED_MODULE_0__.Route, {\n path: _admin_settings_routes__WEBPACK_IMPORTED_MODULE_5__.routes.upgrade.path\n }, /*#__PURE__*/React.createElement(_Components_Compare_Upgrade__WEBPACK_IMPORTED_MODULE_6__[\"default\"], null)));\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CustomRouter);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvcm91dGVyL2N1c3RvbVJvdXRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUE0QjtBQUNaO0FBQ0Q7QUFDQztBQUNEO0FBQ0E7QUFDRDtBQUVkLElBQU1TLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBO0VBQUEsSUFBQUMsaUJBQUE7RUFBQSxvQkFDaEJDLEtBQUEsQ0FBQUMsYUFBQSxDQUFDWiwwQ0FBTTtJQUFDTyxNQUFNLEVBQUVBLDBEQUFPO0lBQUNNLFlBQVksRUFBRU4sMERBQU0sYUFBTkEsMERBQU0sZ0JBQUFHLGlCQUFBLEdBQU5ILDBEQUFNLENBQUVPLFNBQVMsY0FBQUosaUJBQUEsdUJBQWpCQSxpQkFBQSxDQUFtQks7RUFBSyxnQkFDNURKLEtBQUEsQ0FBQUMsYUFBQSxDQUFDWCx5Q0FBSztJQUFDYyxJQUFJLEVBQUVSLDBEQUFNLENBQUNPLFNBQVMsQ0FBQ0M7RUFBSyxnQkFBQ0osS0FBQSxDQUFBQyxhQUFBLENBQUNULHVFQUFTLE1BQUUsQ0FBUSxDQUFDLGVBQ3pEUSxLQUFBLENBQUFDLGFBQUEsQ0FBQ1gseUNBQUs7SUFBQ2MsSUFBSSxFQUFFUiwwREFBTSxDQUFDUyxPQUFPLENBQUNEO0VBQUssZ0JBQUNKLEtBQUEsQ0FBQUMsYUFBQSxDQUFDUixvRUFBUSxNQUFFLENBQVEsQ0FBQyxlQUN0RE8sS0FBQSxDQUFBQyxhQUFBLENBQUNYLHlDQUFLO0lBQUNjLElBQUksRUFBRVIsMERBQU0sQ0FBQ1UsU0FBUyxDQUFDRjtFQUFLLGdCQUFDSixLQUFBLENBQUFDLGFBQUEsQ0FBQ1AsdUVBQVMsTUFBRSxDQUFRLENBQUMsZUFDekRNLEtBQUEsQ0FBQUMsYUFBQSxDQUFDWCx5Q0FBSztJQUFDYyxJQUFJLEVBQUVSLDBEQUFNLENBQUNXLFFBQVEsQ0FBQ0g7RUFBSyxnQkFBQ0osS0FBQSxDQUFBQyxhQUFBLENBQUNOLHFFQUFRLE1BQUUsQ0FBUSxDQUFDLGVBQ3ZESyxLQUFBLENBQUFDLGFBQUEsQ0FBQ1gseUNBQUs7SUFBQ2MsSUFBSSxFQUFFUiwwREFBTSxDQUFDWSxPQUFPLENBQUNKO0VBQUssZ0JBQUNKLEtBQUEsQ0FBQUMsYUFBQSxDQUFDSixtRUFBTyxNQUFFLENBQVEsQ0FDOUMsQ0FBQztBQUFBLENBQ1Y7QUFFRCxpRUFBZUMsWUFBWSIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vc3JjL3JvdXRlci9jdXN0b21Sb3V0ZXIuanM/ZDY3YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIsIFJvdXRlLCBMaW5rIH0gZnJvbSAnLi9pbmRleCc7XHJcbmltcG9ydCBEYXNoYm9hcmQgZnJvbSAnQGNvbXBvbmVudHMvRGFzaGJvYXJkL0Rhc2hib2FyZCc7XHJcbmltcG9ydCBGZWF0dXJlcyBmcm9tICdAY29tcG9uZW50cy9XaWRnZXRzL0ZlYXR1cmVzJztcclxuaW1wb3J0IFRlbXBsYXRlcyBmcm9tICdAY29tcG9uZW50cy9UZW1wbGF0ZXMvVGVtcGxhdGVzJztcclxuaW1wb3J0IFNldHRpbmdzIGZyb20gJ0Bjb21wb25lbnRzL1NldHRpbmdzL1NldHRpbmdzJztcclxuaW1wb3J0IHsgcm91dGVzIH0gZnJvbSAnYWRtaW4vc2V0dGluZ3Mvcm91dGVzJztcclxuaW1wb3J0IFVwZ3JhZGUgZnJvbSAnQGNvbXBvbmVudHMvQ29tcGFyZS9VcGdyYWRlJztcclxuXHJcbmNvbnN0IEN1c3RvbVJvdXRlciA9ICgpID0+IChcclxuICA8Um91dGVyIHJvdXRlcz17cm91dGVzfSBkZWZhdWx0Um91dGU9e3JvdXRlcz8uZGFzaGJvYXJkPy5wYXRofT5cclxuICAgIDxSb3V0ZSBwYXRoPXtyb3V0ZXMuZGFzaGJvYXJkLnBhdGh9PjxEYXNoYm9hcmQgLz48L1JvdXRlPlxyXG4gICAgPFJvdXRlIHBhdGg9e3JvdXRlcy53aWRnZXRzLnBhdGh9PjxGZWF0dXJlcyAvPjwvUm91dGU+XHJcbiAgICA8Um91dGUgcGF0aD17cm91dGVzLnRlbXBsYXRlcy5wYXRofT48VGVtcGxhdGVzIC8+PC9Sb3V0ZT5cclxuICAgIDxSb3V0ZSBwYXRoPXtyb3V0ZXMuc2V0dGluZ3MucGF0aH0+PFNldHRpbmdzIC8+PC9Sb3V0ZT5cclxuICAgIDxSb3V0ZSBwYXRoPXtyb3V0ZXMudXBncmFkZS5wYXRofT48VXBncmFkZSAvPjwvUm91dGU+XHJcbiAgPC9Sb3V0ZXI+XHJcbik7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBDdXN0b21Sb3V0ZXI7XHJcbiJdLCJuYW1lcyI6WyJSb3V0ZXIiLCJSb3V0ZSIsIkxpbmsiLCJEYXNoYm9hcmQiLCJGZWF0dXJlcyIsIlRlbXBsYXRlcyIsIlNldHRpbmdzIiwicm91dGVzIiwiVXBncmFkZSIsIkN1c3RvbVJvdXRlciIsIl9yb3V0ZXMkZGFzaGJvYXJkIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiZGVmYXVsdFJvdXRlIiwiZGFzaGJvYXJkIiwicGF0aCIsIndpZGdldHMiLCJ0ZW1wbGF0ZXMiLCJzZXR0aW5ncyIsInVwZ3JhZGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/router/customRouter.js\n"); - -/***/ }), - -/***/ "./src/router/index.js": -/*!*****************************!*\ - !*** ./src/router/index.js ***! - \*****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Link: () => (/* reexport safe */ _link__WEBPACK_IMPORTED_MODULE_10__.Link),\n/* harmony export */ Route: () => (/* reexport safe */ _route__WEBPACK_IMPORTED_MODULE_9__.Route),\n/* harmony export */ Router: () => (/* binding */ Router),\n/* harmony export */ RouterContext: () => (/* reexport safe */ _context__WEBPACK_IMPORTED_MODULE_8__.RouterContext),\n/* harmony export */ history: () => (/* reexport safe */ _context__WEBPACK_IMPORTED_MODULE_8__.history)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/esm/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/esm/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils */ \"./src/router/utils.js\");\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./context */ \"./src/router/context.js\");\n/* harmony import */ var _route__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./route */ \"./src/router/route.js\");\n/* harmony import */ var _link__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./link */ \"./src/router/link.js\");\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! path-to-regexp */ \"./node_modules/path-to-regexp/dist/index.js\");\n\n\n\n\n\n\nfunction _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\n\n\n\n\n\n\nvar Router = /*#__PURE__*/function (_Component) {\n function Router(props) {\n var _this;\n (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, Router);\n _this = _callSuper(this, Router, [props]);\n\n // Convert our routes into an array for easy 404 checking\n (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_this, \"handleRouteChange\", function (location) {\n localStorage.setItem('hfeSelectedItemId', '1');\n var route = (0,_utils__WEBPACK_IMPORTED_MODULE_7__.locationToRoute)(location === null || location === void 0 ? void 0 : location.location);\n _this.setState({\n route: route\n });\n });\n _this.routes = Object.keys(props.routes).map(function (key) {\n return props.routes[key].path;\n });\n\n // Listen for path changes from the history API\n _this.unlisten = _context__WEBPACK_IMPORTED_MODULE_8__.history.listen(_this.handleRouteChange);\n var _route = (0,_utils__WEBPACK_IMPORTED_MODULE_7__.locationToRoute)(_context__WEBPACK_IMPORTED_MODULE_8__.history.location);\n var search = _context__WEBPACK_IMPORTED_MODULE_8__.history.location.search;\n\n // Define the initial RouterContext value\n _this.state = {\n route: _route,\n defaultRoute: props !== null && props !== void 0 && props.defaultRoute ? \"\".concat(search, \"#\").concat(props === null || props === void 0 ? void 0 : props.defaultRoute) : \"\".concat(search, \"#/\")\n };\n return _this;\n }\n (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(Router, _Component);\n return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Router, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n // Stop listening for changes if the Router component unmounts\n this.unlisten();\n }\n }, {\n key: \"render\",\n value: function render() {\n // Define our variables\n var _this$props = this.props,\n children = _this$props.children,\n NotFound = _this$props.NotFound;\n var _this$state = this.state,\n route = _this$state.route,\n defaultRoute = _this$state.defaultRoute;\n if (!route.hash) {\n _context__WEBPACK_IMPORTED_MODULE_8__.history.push(defaultRoute);\n return /*#__PURE__*/React.createElement(\"div\", null);\n }\n var matched = false;\n // match route\n (this.routes || []).forEach(function (name) {\n var checkMatch = (0,path_to_regexp__WEBPACK_IMPORTED_MODULE_11__.match)(route.hash.substr(1));\n var isMatched = checkMatch(\"\".concat(route.hash.substr(1)));\n if (!isMatched) {\n return;\n }\n matched = {\n name: name,\n data: isMatched\n };\n });\n var routerContextValue = {\n route: route,\n matched: matched\n };\n\n // Check if 404 if no route matched\n var is404 = !matched;\n return /*#__PURE__*/React.createElement(_context__WEBPACK_IMPORTED_MODULE_8__.RouterContext.Provider, {\n value: routerContextValue\n }, is404 ? /*#__PURE__*/React.createElement(\"div\", null, \"Not found\") : children);\n }\n }]);\n}(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__.Component);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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VUFBVSxHQUFHMUMsc0RBQUssQ0FBQ1csS0FBSyxDQUFDd0IsSUFBSSxDQUFDUSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBTUMsU0FBUyxHQUFHRixVQUFVLElBQUFqQixNQUFBLENBQUlkLEtBQUssQ0FBQ3dCLElBQUksQ0FBQ1EsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDQyxTQUFTLEVBQUU7VUFDZDtRQUNGO1FBQ0FMLE9BQU8sR0FBRztVQUNSRSxJQUFJLEVBQUpBLElBQUk7VUFDSkksSUFBSSxFQUFFRDtRQUNSLENBQUM7TUFDSCxDQUFDLENBQUM7TUFFRixJQUFNRSxrQkFBa0IsR0FBRztRQUFFbkMsS0FBSyxFQUFMQSxLQUFLO1FBQUU0QixPQUFPLEVBQVBBO01BQVEsQ0FBQzs7TUFFN0M7TUFDQSxJQUFNUSxLQUFLLEdBQUcsQ0FBQ1IsT0FBTztNQUV0QixvQkFDRUYsS0FBQSxDQUFBQyxhQUFBLENBQUN6QyxtREFBYSxDQUFDbUQsUUFBUTtRQUFDcEIsS0FBSyxFQUFFa0I7TUFBbUIsR0FDL0NDLEtBQUssZ0JBQUdWLEtBQUEsQ0FBQUMsYUFBQSxjQUFLLFdBQWMsQ0FBQyxHQUFHTixRQUNWLENBQUM7SUFFN0I7RUFBQztBQUFBLEVBckVrQnRDLHlEQUFTIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9zcmMvcm91dGVyL2luZGV4LmpzP2ExOGMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkB3b3JkcHJlc3MvZWxlbWVudFwiO1xyXG5pbXBvcnQgeyBsb2NhdGlvblRvUm91dGUgfSBmcm9tIFwiLi91dGlsc1wiO1xyXG5pbXBvcnQgeyBoaXN0b3J5LCBSb3V0ZXJDb250ZXh0IH0gZnJvbSBcIi4vY29udGV4dFwiO1xyXG5pbXBvcnQgeyBSb3V0ZSB9IGZyb20gXCIuL3JvdXRlXCI7XHJcbmltcG9ydCB7IExpbmsgfSBmcm9tIFwiLi9saW5rXCI7XHJcbmltcG9ydCB7IG1hdGNoIH0gZnJvbSBcInBhdGgtdG8tcmVnZXhwXCI7XHJcblxyXG5jbGFzcyBSb3V0ZXIgZXh0ZW5kcyBDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcblxyXG4gICAgLy8gQ29udmVydCBvdXIgcm91dGVzIGludG8gYW4gYXJyYXkgZm9yIGVhc3kgNDA0IGNoZWNraW5nXHJcbiAgICB0aGlzLnJvdXRlcyA9IE9iamVjdC5rZXlzKHByb3BzLnJvdXRlcykubWFwKFxyXG4gICAgICAoa2V5KSA9PiBwcm9wcy5yb3V0ZXNba2V5XS5wYXRoXHJcbiAgICApO1xyXG5cclxuICAgIC8vIExpc3RlbiBmb3IgcGF0aCBjaGFuZ2VzIGZyb20gdGhlIGhpc3RvcnkgQVBJXHJcbiAgICB0aGlzLnVubGlzdGVuID0gaGlzdG9yeS5saXN0ZW4odGhpcy5oYW5kbGVSb3V0ZUNoYW5nZSk7XHJcblxyXG4gICAgY29uc3Qgcm91dGUgPSBsb2NhdGlvblRvUm91dGUoaGlzdG9yeS5sb2NhdGlvbik7XHJcbiAgICBjb25zdCB7IHNlYXJjaCB9ID0gaGlzdG9yeS5sb2NhdGlvbjtcclxuXHJcbiAgICAvLyBEZWZpbmUgdGhlIGluaXRpYWwgUm91dGVyQ29udGV4dCB2YWx1ZVxyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgcm91dGUsXHJcbiAgICAgIGRlZmF1bHRSb3V0ZTogcHJvcHM/LmRlZmF1bHRSb3V0ZVxyXG4gICAgICAgID8gYCR7c2VhcmNofSMke3Byb3BzPy5kZWZhdWx0Um91dGV9YFxyXG4gICAgICAgIDogYCR7c2VhcmNofSMvYCxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIC8vIFN0b3AgbGlzdGVuaW5nIGZvciBjaGFuZ2VzIGlmIHRoZSBSb3V0ZXIgY29tcG9uZW50IHVubW91bnRzXHJcbiAgICB0aGlzLnVubGlzdGVuKCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVSb3V0ZUNoYW5nZSA9IChsb2NhdGlvbikgPT4ge1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2hmZVNlbGVjdGVkSXRlbUlkJywgJzEnKTtcclxuICAgIGNvbnN0IHJvdXRlID0gbG9jYXRpb25Ub1JvdXRlKGxvY2F0aW9uPy5sb2NhdGlvbik7XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgcm91dGU6IHJvdXRlIH0pO1xyXG4gIH07XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIC8vIERlZmluZSBvdXIgdmFyaWFibGVzXHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBOb3RGb3VuZCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgcm91dGUsIGRlZmF1bHRSb3V0ZSB9ID0gdGhpcy5zdGF0ZTtcclxuXHJcbiAgICBpZiAoIXJvdXRlLmhhc2gpIHtcclxuICAgICAgaGlzdG9yeS5wdXNoKGRlZmF1bHRSb3V0ZSk7XHJcbiAgICAgIHJldHVybiA8ZGl2PjwvZGl2PjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbWF0Y2hlZCA9IGZhbHNlO1xyXG4gICAgLy8gbWF0Y2ggcm91dGVcclxuICAgICh0aGlzLnJvdXRlcyB8fCBbXSkuZm9yRWFjaCgobmFtZSkgPT4ge1xyXG4gICAgICBjb25zdCBjaGVja01hdGNoID0gbWF0Y2gocm91dGUuaGFzaC5zdWJzdHIoMSkpO1xyXG4gICAgICBjb25zdCBpc01hdGNoZWQgPSBjaGVja01hdGNoKGAke3JvdXRlLmhhc2guc3Vic3RyKDEpfWApO1xyXG4gICAgICBpZiAoIWlzTWF0Y2hlZCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBtYXRjaGVkID0ge1xyXG4gICAgICAgIG5hbWUsXHJcbiAgICAgICAgZGF0YTogaXNNYXRjaGVkLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3Qgcm91dGVyQ29udGV4dFZhbHVlID0geyByb3V0ZSwgbWF0Y2hlZCB9O1xyXG5cclxuICAgIC8vIENoZWNrIGlmIDQwNCBpZiBubyByb3V0ZSBtYXRjaGVkXHJcbiAgICBjb25zdCBpczQwNCA9ICFtYXRjaGVkO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxSb3V0ZXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtyb3V0ZXJDb250ZXh0VmFsdWV9PlxyXG4gICAgICAgIHtpczQwNCA/IDxkaXY+Tm90IGZvdW5kPC9kaXY+IDogY2hpbGRyZW59XHJcbiAgICAgIDwvUm91dGVyQ29udGV4dC5Qcm92aWRlcj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCB7IGhpc3RvcnksIFJvdXRlckNvbnRleHQsIFJvdXRlciwgUm91dGUsIExpbmsgfTtcclxuIl0sIm5hbWVzIjpbIkNvbXBvbmVudCIsImxvY2F0aW9uVG9Sb3V0ZSIsImhpc3RvcnkiLCJSb3V0ZXJDb250ZXh0IiwiUm91dGUiLCJMaW5rIiwibWF0Y2giLCJSb3V0ZXIiLCJfQ29tcG9uZW50IiwicHJvcHMiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9jYWxsU3VwZXIiLCJfZGVmaW5lUHJvcGVydHkiLCJsb2NhdGlvbiIsImxvY2FsU3RvcmFnZSIsInNldEl0ZW0iLCJyb3V0ZSIsInNldFN0YXRlIiwicm91dGVzIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsInBhdGgiLCJ1bmxpc3RlbiIsImxpc3RlbiIsImhhbmRsZVJvdXRlQ2hhbmdlIiwic2VhcmNoIiwic3RhdGUiLCJkZWZhdWx0Um91dGUiLCJjb25jYXQiLCJfaW5oZXJpdHMiLCJfY3JlYXRlQ2xhc3MiLCJ2YWx1ZSIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwicmVuZGVyIiwiX3RoaXMkcHJvcHMiLCJjaGlsZHJlbiIsIk5vdEZvdW5kIiwiX3RoaXMkc3RhdGUiLCJoYXNoIiwicHVzaCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIm1hdGNoZWQiLCJmb3JFYWNoIiwibmFtZSIsImNoZWNrTWF0Y2giLCJzdWJzdHIiLCJpc01hdGNoZWQiLCJkYXRhIiwicm91dGVyQ29udGV4dFZhbHVlIiwiaXM0MDQiLCJQcm92aWRlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/router/index.js\n"); - -/***/ }), - -/***/ "./src/router/link.js": -/*!****************************!*\ - !*** ./src/router/link.js ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Link: () => (/* binding */ Link)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./context */ \"./src/router/context.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! path-to-regexp */ \"./node_modules/path-to-regexp/dist/index.js\");\n\n\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nvar useContext = wp.element.useContext;\n\n\n\nfunction Link(props) {\n var to = props.to,\n onClick = props.onClick,\n children = props.children,\n activeClassName = props.activeClassName;\n var _useContext = useContext(_context__WEBPACK_IMPORTED_MODULE_2__.RouterContext),\n route = _useContext.route;\n var state = _objectSpread({}, props);\n delete state.activeClassName;\n var isActive = function isActive() {\n var checkMatch = (0,path_to_regexp__WEBPACK_IMPORTED_MODULE_4__.match)(\"\".concat(to));\n return checkMatch(\"\".concat(route.hash.substr(1)));\n };\n var handleClick = function handleClick(e) {\n e.preventDefault();\n if (route.path === to && !e.target.classList.contains('hfe-user-icon')) {\n return;\n }\n // Trigger onClick prop manually.\n if (onClick) {\n onClick(e);\n }\n var search = _context__WEBPACK_IMPORTED_MODULE_2__.history.location.search;\n if (!to.includes('settings')) {\n // Remove &tab from the URL.\n var newSearch = search.replace(/&tab=[^&]*/, '');\n // Use history API to navigate page.\n _context__WEBPACK_IMPORTED_MODULE_2__.history.push(\"\".concat(newSearch, \"#\").concat(to));\n } else {\n var changeSearch = search + '&tab=1';\n if (e.target.classList.contains('hfe-user-icon') && window.location.hash.includes('settings')) {\n window.location.href = \"\".concat(changeSearch, \"#\").concat(to);\n } else {\n // Use history API to navigate page.\n _context__WEBPACK_IMPORTED_MODULE_2__.history.push(\"\".concat(search, \"#\").concat(to));\n }\n }\n };\n return /*#__PURE__*/React.createElement(\"a\", (0,_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, state, {\n className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, activeClassName, isActive()), props.className),\n onClick: handleClick\n }), children);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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ZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL3NyYy9yb3V0ZXIvbGluay5qcz82ZjBlIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHsgdXNlQ29udGV4dCB9ID0gd3AuZWxlbWVudDtcclxuaW1wb3J0IHsgUm91dGVyQ29udGV4dCwgaGlzdG9yeSB9IGZyb20gXCIuL2NvbnRleHRcIjtcclxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHsgbWF0Y2ggfSBmcm9tIFwicGF0aC10by1yZWdleHBcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBMaW5rKHByb3BzKSB7XHJcbiAgY29uc3QgeyB0bywgb25DbGljaywgY2hpbGRyZW4sIGFjdGl2ZUNsYXNzTmFtZSB9ID0gcHJvcHM7XHJcbiAgY29uc3QgeyByb3V0ZSB9ID0gdXNlQ29udGV4dChSb3V0ZXJDb250ZXh0KTtcclxuXHJcbiAgbGV0IHN0YXRlID0geyAuLi5wcm9wcyB9O1xyXG4gIGRlbGV0ZSBzdGF0ZS5hY3RpdmVDbGFzc05hbWU7XHJcblxyXG4gIGNvbnN0IGlzQWN0aXZlID0gKCkgPT4ge1xyXG4gICAgY29uc3QgY2hlY2tNYXRjaCA9IG1hdGNoKGAke3RvfWApO1xyXG4gICAgcmV0dXJuIGNoZWNrTWF0Y2goYCR7cm91dGUuaGFzaC5zdWJzdHIoMSl9YCk7XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZSkgPT4ge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgXHJcbiAgICBpZiAocm91dGUucGF0aCA9PT0gdG8gJiYgISBlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2hmZS11c2VyLWljb24nKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAvLyBUcmlnZ2VyIG9uQ2xpY2sgcHJvcCBtYW51YWxseS5cclxuICAgIGlmIChvbkNsaWNrKSB7XHJcbiAgICAgIG9uQ2xpY2soZSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBzZWFyY2ggfSA9IGhpc3RvcnkubG9jYXRpb247XHJcblxyXG4gICAgaWYgKCF0by5pbmNsdWRlcygnc2V0dGluZ3MnKSkge1xyXG4gICAgICAvLyBSZW1vdmUgJnRhYiBmcm9tIHRoZSBVUkwuXHJcbiAgICAgIGNvbnN0IG5ld1NlYXJjaCA9IHNlYXJjaC5yZXBsYWNlKC8mdGFiPVteJl0qLywgJycpO1xyXG4gICAgICAvLyBVc2UgaGlzdG9yeSBBUEkgdG8gbmF2aWdhdGUgcGFnZS5cclxuICAgICAgaGlzdG9yeS5wdXNoKGAke25ld1NlYXJjaH0jJHt0b31gKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGNoYW5nZVNlYXJjaCA9IHNlYXJjaCArICcmdGFiPTEnO1xyXG5cclxuICAgICAgaWYgKGUudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnaGZlLXVzZXItaWNvbicpICYmIHdpbmRvdy5sb2NhdGlvbi5oYXNoLmluY2x1ZGVzKCdzZXR0aW5ncycpKSB7XHJcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgJHtjaGFuZ2VTZWFyY2h9IyR7dG99YDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBVc2UgaGlzdG9yeSBBUEkgdG8gbmF2aWdhdGUgcGFnZS5cclxuICAgICAgICBoaXN0b3J5LnB1c2goYCR7c2VhcmNofSMke3RvfWApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH07XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8YVxyXG4gICAgICB7Li4uc3RhdGV9XHJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyh7IFthY3RpdmVDbGFzc05hbWVdOiBpc0FjdGl2ZSgpIH0sIHByb3BzLmNsYXNzTmFtZSl9XHJcbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxyXG4gICAgPlxyXG4gICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L2E+XHJcbiAgKTtcclxufVxyXG4iXSwibmFtZXMiOlsidXNlQ29udGV4dCIsIndwIiwiZWxlbWVudCIsIlJvdXRlckNvbnRleHQiLCJoaXN0b3J5IiwiY2xhc3NOYW1lcyIsIm1hdGNoIiwiTGluayIsInByb3BzIiwidG8iLCJvbkNsaWNrIiwiY2hpbGRyZW4iLCJhY3RpdmVDbGFzc05hbWUiLCJfdXNlQ29udGV4dCIsInJvdXRlIiwic3RhdGUiLCJfb2JqZWN0U3ByZWFkIiwiaXNBY3RpdmUiLCJjaGVja01hdGNoIiwiY29uY2F0IiwiaGFzaCIsInN1YnN0ciIsImhhbmRsZUNsaWNrIiwiZSIsInByZXZlbnREZWZhdWx0IiwicGF0aCIsInRhcmdldCIsImNsYXNzTGlzdCIsImNvbnRhaW5zIiwic2VhcmNoIiwibG9jYXRpb24iLCJpbmNsdWRlcyIsIm5ld1NlYXJjaCIsInJlcGxhY2UiLCJwdXNoIiwiY2hhbmdlU2VhcmNoIiwid2luZG93IiwiaHJlZiIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiY2xhc3NOYW1lIiwiX2RlZmluZVByb3BlcnR5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/router/link.js\n"); - -/***/ }), - -/***/ "./src/router/route.js": -/*!*****************************!*\ - !*** ./src/router/route.js ***! - \*****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Route: () => (/* binding */ Route)\n/* harmony export */ });\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./context */ \"./src/router/context.js\");\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! path-to-regexp */ \"./node_modules/path-to-regexp/dist/index.js\");\n\nvar useContext = wp.element.useContext;\n\nvar prev = \"\";\nfunction Route(_ref) {\n var path = _ref.path,\n onRoute = _ref.onRoute,\n children = _ref.children;\n // Extract route from RouterContext\n var _useContext = useContext(_context__WEBPACK_IMPORTED_MODULE_0__.RouterContext),\n route = _useContext.route;\n var checkMatch = (0,path_to_regexp__WEBPACK_IMPORTED_MODULE_1__.match)(\"\".concat(path));\n var matched = checkMatch(\"\".concat(route.hash.substr(1)));\n if (!matched) {\n return null;\n }\n if (onRoute) {\n if (prev !== matched.path) {\n onRoute();\n }\n prev = matched.path;\n }\n return /*#__PURE__*/React.createElement(\"div\", null, wp.element.cloneElement(children, {\n route: matched\n }));\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvcm91dGVyL3JvdXRlLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUEwQztBQUMxQyxJQUFRQyxVQUFVLEdBQUtDLEVBQUUsQ0FBQ0MsT0FBTyxDQUF6QkYsVUFBVTtBQUNxQjtBQUN2QyxJQUFJSSxJQUFJLEdBQUcsRUFBRTtBQUVOLFNBQVNDLEtBQUtBLENBQUFDLElBQUEsRUFBOEI7RUFBQSxJQUEzQkMsSUFBSSxHQUFBRCxJQUFBLENBQUpDLElBQUk7SUFBRUMsT0FBTyxHQUFBRixJQUFBLENBQVBFLE9BQU87SUFBRUMsUUFBUSxHQUFBSCxJQUFBLENBQVJHLFFBQVE7RUFDN0M7RUFDQSxJQUFBQyxXQUFBLEdBQWtCVixVQUFVLENBQUNELG1EQUFhLENBQUM7SUFBbkNZLEtBQUssR0FBQUQsV0FBQSxDQUFMQyxLQUFLO0VBRWIsSUFBTUMsVUFBVSxHQUFHVCxxREFBSyxJQUFBVSxNQUFBLENBQUlOLElBQUksQ0FBRSxDQUFDO0VBQ25DLElBQU1PLE9BQU8sR0FBR0YsVUFBVSxJQUFBQyxNQUFBLENBQUlGLEtBQUssQ0FBQ0ksSUFBSSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQztFQUVyRCxJQUFJLENBQUNGLE9BQU8sRUFBRTtJQUNaLE9BQU8sSUFBSTtFQUNiO0VBRUEsSUFBSU4sT0FBTyxFQUFFO0lBQ1gsSUFBSUosSUFBSSxLQUFLVSxPQUFPLENBQUNQLElBQUksRUFBRTtNQUN6QkMsT0FBTyxDQUFDLENBQUM7SUFDWDtJQUNBSixJQUFJLEdBQUdVLE9BQU8sQ0FBQ1AsSUFBSTtFQUNyQjtFQUVBLG9CQUFPVSxLQUFBLENBQUFDLGFBQUEsY0FBTWpCLEVBQUUsQ0FBQ0MsT0FBTyxDQUFDaUIsWUFBWSxDQUFDVixRQUFRLEVBQUU7SUFBRUUsS0FBSyxFQUFFRztFQUFRLENBQUMsQ0FBTyxDQUFDO0FBQzNFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9zcmMvcm91dGVyL3JvdXRlLmpzP2JiNDUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHRcIjtcclxuY29uc3QgeyB1c2VDb250ZXh0IH0gPSB3cC5lbGVtZW50O1xyXG5pbXBvcnQgeyBtYXRjaCB9IGZyb20gXCJwYXRoLXRvLXJlZ2V4cFwiO1xyXG5sZXQgcHJldiA9IFwiXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gUm91dGUoeyBwYXRoLCBvblJvdXRlLCBjaGlsZHJlbiB9KSB7XHJcbiAgLy8gRXh0cmFjdCByb3V0ZSBmcm9tIFJvdXRlckNvbnRleHRcclxuICBjb25zdCB7IHJvdXRlIH0gPSB1c2VDb250ZXh0KFJvdXRlckNvbnRleHQpO1xyXG5cclxuICBjb25zdCBjaGVja01hdGNoID0gbWF0Y2goYCR7cGF0aH1gKTtcclxuICBjb25zdCBtYXRjaGVkID0gY2hlY2tNYXRjaChgJHtyb3V0ZS5oYXNoLnN1YnN0cigxKX1gKTtcclxuXHJcbiAgaWYgKCFtYXRjaGVkKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGlmIChvblJvdXRlKSB7XHJcbiAgICBpZiAocHJldiAhPT0gbWF0Y2hlZC5wYXRoKSB7XHJcbiAgICAgIG9uUm91dGUoKTtcclxuICAgIH1cclxuICAgIHByZXYgPSBtYXRjaGVkLnBhdGg7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gPGRpdj57d3AuZWxlbWVudC5jbG9uZUVsZW1lbnQoY2hpbGRyZW4sIHsgcm91dGU6IG1hdGNoZWQgfSl9PC9kaXY+O1xyXG59XHJcbiJdLCJuYW1lcyI6WyJSb3V0ZXJDb250ZXh0IiwidXNlQ29udGV4dCIsIndwIiwiZWxlbWVudCIsIm1hdGNoIiwicHJldiIsIlJvdXRlIiwiX3JlZiIsInBhdGgiLCJvblJvdXRlIiwiY2hpbGRyZW4iLCJfdXNlQ29udGV4dCIsInJvdXRlIiwiY2hlY2tNYXRjaCIsImNvbmNhdCIsIm1hdGNoZWQiLCJoYXNoIiwic3Vic3RyIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiY2xvbmVFbGVtZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/router/route.js\n"); - -/***/ }), - -/***/ "./src/router/utils.js": -/*!*****************************!*\ - !*** ./src/router/utils.js ***! - \*****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ locationToRoute: () => (/* binding */ locationToRoute)\n/* harmony export */ });\n/* harmony import */ var querystringify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! querystringify */ \"./node_modules/querystringify/index.js\");\n\nfunction locationToRoute(location) {\n // location comes from the history package\n return {\n path: location.pathname,\n hash: location.hash,\n query: querystringify__WEBPACK_IMPORTED_MODULE_0__.parse(location.search)\n };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvcm91dGVyL3V0aWxzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWdDO0FBQ3pCLFNBQVNDLGVBQWVBLENBQUNDLFFBQVEsRUFBRTtFQUN4QztFQUNBLE9BQU87SUFDTEMsSUFBSSxFQUFFRCxRQUFRLENBQUNFLFFBQVE7SUFDdkJDLElBQUksRUFBRUgsUUFBUSxDQUFDRyxJQUFJO0lBQ25CQyxLQUFLLEVBQUVOLGlEQUFRLENBQUNFLFFBQVEsQ0FBQ00sTUFBTTtFQUNqQyxDQUFDO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL3NyYy9yb3V0ZXIvdXRpbHMuanM/Y2FlOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcXMgZnJvbSBcInF1ZXJ5c3RyaW5naWZ5XCI7XHJcbmV4cG9ydCBmdW5jdGlvbiBsb2NhdGlvblRvUm91dGUobG9jYXRpb24pIHtcclxuICAvLyBsb2NhdGlvbiBjb21lcyBmcm9tIHRoZSBoaXN0b3J5IHBhY2thZ2VcclxuICByZXR1cm4ge1xyXG4gICAgcGF0aDogbG9jYXRpb24ucGF0aG5hbWUsXHJcbiAgICBoYXNoOiBsb2NhdGlvbi5oYXNoLFxyXG4gICAgcXVlcnk6IHFzLnBhcnNlKGxvY2F0aW9uLnNlYXJjaCksXHJcbiAgfTtcclxufVxyXG4iXSwibmFtZXMiOlsicXMiLCJsb2NhdGlvblRvUm91dGUiLCJsb2NhdGlvbiIsInBhdGgiLCJwYXRobmFtZSIsImhhc2giLCJxdWVyeSIsInBhcnNlIiwic2VhcmNoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/router/utils.js\n"); - -/***/ }), - -/***/ "./node_modules/history/index.js": -/*!***************************************!*\ - !*** ./node_modules/history/index.js ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Action: () => (/* binding */ Action),\n/* harmony export */ createBrowserHistory: () => (/* binding */ createBrowserHistory),\n/* harmony export */ createHashHistory: () => (/* binding */ createHashHistory),\n/* harmony export */ createMemoryHistory: () => (/* binding */ createMemoryHistory),\n/* harmony export */ createPath: () => (/* binding */ createPath),\n/* harmony export */ parsePath: () => (/* binding */ parsePath)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n /**\r\n * A POP indicates a change to an arbitrary index in the history stack, such\r\n * as a back or forward navigation. It does not describe the direction of the\r\n * navigation, only that the current index changed.\r\n *\r\n * Note: This is the default action for newly created history objects.\r\n */\n Action[\"Pop\"] = \"POP\";\n /**\r\n * A PUSH indicates a new entry being added to the history stack, such as when\r\n * a link is clicked and a new page loads. When this happens, all subsequent\r\n * entries in the stack are lost.\r\n */\n\n Action[\"Push\"] = \"PUSH\";\n /**\r\n * A REPLACE indicates the entry at the current index in the history stack\r\n * being replaced by a new one.\r\n */\n\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = true ? function (obj) {\n return Object.freeze(obj);\n} : 0;\n\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== 'undefined') console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$window = _options.window,\n window = _options$window === void 0 ? document.defaultView : _options$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation[0],\n nextLocation = _getIndexAndLocation[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n true ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better what\n // is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop);\n var action = Action.Pop;\n\n var _getIndexAndLocation2 = getIndexAndLocation(),\n index = _getIndexAndLocation2[0],\n location = _getIndexAndLocation2[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n } // state defaults to `null` because `window.history.state` does\n\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation3 = getIndexAndLocation();\n\n index = _getIndexAndLocation3[0];\n location = _getIndexAndLocation3[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr[0],\n url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr2[0],\n url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options2 = options,\n _options2$window = _options2.window,\n window = _options2$window === void 0 ? document.defaultView : _options2$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _parsePath = parsePath(window.location.hash.substr(1)),\n _parsePath$pathname = _parsePath.pathname,\n pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n _parsePath$search = _parsePath.search,\n search = _parsePath$search === void 0 ? '' : _parsePath$search,\n _parsePath$hash = _parsePath.hash,\n hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation4 = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation4[0],\n nextLocation = _getIndexAndLocation4[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n true ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better\n // what is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n window.addEventListener(HashChangeEventType, function () {\n var _getIndexAndLocation5 = getIndexAndLocation(),\n nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n if (createPath(nextLocation) !== createPath(location)) {\n handlePop();\n }\n });\n var action = Action.Pop;\n\n var _getIndexAndLocation6 = getIndexAndLocation(),\n index = _getIndexAndLocation6[0],\n location = _getIndexAndLocation6[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function getBaseHref() {\n var base = document.querySelector('base');\n var href = '';\n\n if (base && base.getAttribute('href')) {\n var url = window.location.href;\n var hashIndex = url.indexOf('#');\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href;\n }\n\n function createHref(to) {\n return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation7 = getIndexAndLocation();\n\n index = _getIndexAndLocation7[0];\n location = _getIndexAndLocation7[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n true ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr3[0],\n url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n true ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr4[0],\n url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options3 = options,\n _options3$initialEntr = _options3.initialEntries,\n initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n initialIndex = _options3.initialIndex;\n var entries = initialEntries.map(function (entry) {\n var location = readOnly((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n pathname: '/',\n search: '',\n hash: '',\n state: null,\n key: createKey()\n }, typeof entry === 'string' ? parsePath(entry) : entry));\n true ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : 0;\n return location;\n });\n var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n var action = Action.Pop;\n var location = entries[index];\n var listeners = createEvents();\n var blockers = createEvents();\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n pathname: location.pathname,\n search: '',\n hash: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction, nextLocation) {\n action = nextAction;\n location = nextLocation;\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n true ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n applyTx(nextAction, nextLocation);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n true ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n entries[index] = nextLocation;\n applyTx(nextAction, nextLocation);\n }\n }\n\n function go(delta) {\n var nextIndex = clamp(index + delta, 0, entries.length - 1);\n var nextAction = Action.Pop;\n var nextLocation = entries[nextIndex];\n\n function retry() {\n go(delta);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index = nextIndex;\n applyTx(nextAction, nextLocation);\n }\n }\n\n var history = {\n get index() {\n return index;\n },\n\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n return blockers.push(blocker);\n }\n };\n return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n // Cancel the event.\n event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n event.returnValue = '';\n}\n\nfunction createEvents() {\n var handlers = [];\n return {\n get length() {\n return handlers.length;\n },\n\n push: function push(fn) {\n handlers.push(fn);\n return function () {\n handlers = handlers.filter(function (handler) {\n return handler !== fn;\n });\n };\n },\n call: function call(arg) {\n handlers.forEach(function (fn) {\n return fn && fn(arg);\n });\n }\n };\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n var _ref$pathname = _ref.pathname,\n pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n _ref$search = _ref.search,\n search = _ref$search === void 0 ? '' : _ref$search,\n _ref$hash = _ref.hash,\n hash = _ref$hash === void 0 ? '' : _ref$hash;\n if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n var parsedPath = {};\n\n if (path) {\n var hashIndex = path.indexOf('#');\n\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n var searchIndex = path.indexOf('?');\n\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\n\n//# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvaGlzdG9yeS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQTBEOztBQUUxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQyx3QkFBd0I7O0FBRXpCLGVBQWUsS0FBcUM7QUFDcEQ7QUFDQSxFQUFFLEVBQUUsQ0FFSDs7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEMsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsVUFBVSxLQUFxQztBQUMvQztBQUNBO0FBQ0Esc1VBQXNVLENBQU07QUFDNVU7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsK0JBQStCLDhFQUFRLEdBQUc7QUFDMUM7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9CQUFvQiw4RUFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDOzs7QUFHQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQzs7O0FBRzNDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FB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OztBQUVMO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMEJBQTBCOztBQUUxQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFdUc7QUFDdkciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9oaXN0b3J5L2luZGV4LmpzPzI1MTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9leHRlbmRzIGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2V4dGVuZHMnO1xuXG4vKipcclxuICogQWN0aW9ucyByZXByZXNlbnQgdGhlIHR5cGUgb2YgY2hhbmdlIHRvIGEgbG9jYXRpb24gdmFsdWUuXHJcbiAqXHJcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3JlbWl4LXJ1bi9oaXN0b3J5L3RyZWUvbWFpbi9kb2NzL2FwaS1yZWZlcmVuY2UubWQjYWN0aW9uXHJcbiAqL1xudmFyIEFjdGlvbjtcblxuKGZ1bmN0aW9uIChBY3Rpb24pIHtcbiAgLyoqXHJcbiAgICogQSBQT1AgaW5kaWNhdGVzIGEgY2hhbmdlIHRvIGFuIGFyYml0cmFyeSBpbmRleCBpbiB0aGUgaGlzdG9yeSBzdGFjaywgc3VjaFxyXG4gICAqIGFzIGEgYmFjayBvciBmb3J3YXJkIG5hdmlnYXRpb24uIEl0IGRvZXMgbm90IGRlc2NyaWJlIHRoZSBkaXJlY3Rpb24gb2YgdGhlXHJcbiAgICogbmF2aWdhdGlvbiwgb25seSB0aGF0IHRoZSBjdXJyZW50IGluZGV4IGNoYW5nZWQuXHJcbiAgICpcclxuICAgKiBOb3RlOiBUaGlzIGlzIHRoZSBkZWZhdWx0IGFjdGlvbiBmb3IgbmV3bHkgY3JlYXRlZCBoaXN0b3J5IG9iamVjdHMuXHJcbiAgICovXG4gIEFjdGlvbltcIlBvcFwiXSA9IFwiUE9QXCI7XG4gIC8qKlxyXG4gICAqIEEgUFVTSCBpbmRpY2F0ZXMgYSBuZXcgZW50cnkgYmVpbmcgYWRkZWQgdG8gdGhlIGhpc3Rvcnkgc3RhY2ssIHN1Y2ggYXMgd2hlblxyXG4gICAqIGEgbGluayBpcyBjbGlja2VkIGFuZCBhIG5ldyBwYWdlIGxvYWRzLiBXaGVuIHRoaXMgaGFwcGVucywgYWxsIHN1YnNlcXVlbnRcclxuICAgKiBlbnRyaWVzIGluIHRoZSBzdGFjayBhcmUgbG9zdC5cclxuICAgKi9cblxuICBBY3Rpb25bXCJQdXNoXCJdID0gXCJQVVNIXCI7XG4gIC8qKlxyXG4gICAqIEEgUkVQTEFDRSBpbmRpY2F0ZXMgdGhlIGVudHJ5IGF0IHRoZSBjdXJyZW50IGluZGV4IGluIHRoZSBoaXN0b3J5IHN0YWNrXHJcbiAgICogYmVpbmcgcmVwbGFjZWQgYnkgYSBuZXcgb25lLlxyXG4gICAqL1xuXG4gIEFjdGlvbltcIlJlcGxhY2VcIl0gPSBcIlJFUExBQ0VcIjtcbn0pKEFjdGlvbiB8fCAoQWN0aW9uID0ge30pKTtcblxudmFyIHJlYWRPbmx5ID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gZnVuY3Rpb24gKG9iaikge1xuICByZXR1cm4gT2JqZWN0LmZyZWV6ZShvYmopO1xufSA6IGZ1bmN0aW9uIChvYmopIHtcbiAgcmV0dXJuIG9iajtcbn07XG5cbmZ1bmN0aW9uIHdhcm5pbmcoY29uZCwgbWVzc2FnZSkge1xuICBpZiAoIWNvbmQpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIGNvbnNvbGUud2FybihtZXNzYWdlKTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBXZWxjb21lIHRvIGRlYnVnZ2luZyBoaXN0b3J5IVxuICAgICAgLy9cbiAgICAgIC8vIFRoaXMgZXJyb3IgaXMgdGhyb3duIGFzIGEgY29udmVuaWVuY2Ugc28geW91IGNhbiBtb3JlIGVhc2lseVxuICAgICAgLy8gZmluZCB0aGUgc291cmNlIGZvciBhIHdhcm5pbmcgdGhhdCBhcHBlYXJzIGluIHRoZSBjb25zb2xlIGJ5XG4gICAgICAvLyBlbmFibGluZyBcInBhdXNlIG9uIGV4Y2VwdGlvbnNcIiBpbiB5b3VyIEphdmFTY3JpcHQgZGVidWdnZXIuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eVxuICAgIH0gY2F0Y2ggKGUpIHt9XG4gIH1cbn1cblxudmFyIEJlZm9yZVVubG9hZEV2ZW50VHlwZSA9ICdiZWZvcmV1bmxvYWQnO1xudmFyIEhhc2hDaGFuZ2VFdmVudFR5cGUgPSAnaGFzaGNoYW5nZSc7XG52YXIgUG9wU3RhdGVFdmVudFR5cGUgPSAncG9wc3RhdGUnO1xuLyoqXHJcbiAqIEJyb3dzZXIgaGlzdG9yeSBzdG9yZXMgdGhlIGxvY2F0aW9uIGluIHJlZ3VsYXIgVVJMcy4gVGhpcyBpcyB0aGUgc3RhbmRhcmQgZm9yXHJcbiAqIG1vc3Qgd2ViIGFwcHMsIGJ1dCBpdCByZXF1aXJlcyBzb21lIGNvbmZpZ3VyYXRpb24gb24gdGhlIHNlcnZlciB0byBlbnN1cmUgeW91XHJcbiAqIHNlcnZlIHRoZSBzYW1lIGFwcCBhdCBtdWx0aXBsZSBVUkxzLlxyXG4gKlxyXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9yZW1peC1ydW4vaGlzdG9yeS90cmVlL21haW4vZG9jcy9hcGktcmVmZXJlbmNlLm1kI2NyZWF0ZWJyb3dzZXJoaXN0b3J5XHJcbiAqL1xuXG5mdW5jdGlvbiBjcmVhdGVCcm93c2VySGlzdG9yeShvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cblxuICB2YXIgX29wdGlvbnMgPSBvcHRpb25zLFxuICAgICAgX29wdGlvbnMkd2luZG93ID0gX29wdGlvbnMud2luZG93LFxuICAgICAgd2luZG93ID0gX29wdGlvbnMkd2luZG93ID09PSB2b2lkIDAgPyBkb2N1bWVudC5kZWZhdWx0VmlldyA6IF9vcHRpb25zJHdpbmRvdztcbiAgdmFyIGdsb2JhbEhpc3RvcnkgPSB3aW5kb3cuaGlzdG9yeTtcblxuICBmdW5jdGlvbiBnZXRJbmRleEFuZExvY2F0aW9uKCkge1xuICAgIHZhciBfd2luZG93JGxvY2F0aW9uID0gd2luZG93LmxvY2F0aW9uLFxuICAgICAgICBwYXRobmFtZSA9IF93aW5kb3ckbG9jYXRpb24ucGF0aG5hbWUsXG4gICAgICAgIHNlYXJjaCA9IF93aW5kb3ckbG9jYXRpb24uc2VhcmNoLFxuICAgICAgICBoYXNoID0gX3dpbmRvdyRsb2NhdGlvbi5oYXNoO1xuICAgIHZhciBzdGF0ZSA9IGdsb2JhbEhpc3Rvcnkuc3RhdGUgfHwge307XG4gICAgcmV0dXJuIFtzdGF0ZS5pZHgsIHJlYWRPbmx5KHtcbiAgICAgIHBhdGhuYW1lOiBwYXRobmFtZSxcbiAgICAgIHNlYXJjaDogc2VhcmNoLFxuICAgICAgaGFzaDogaGFzaCxcbiAgICAgIHN0YXRlOiBzdGF0ZS51c3IgfHwgbnVsbCxcbiAgICAgIGtleTogc3RhdGUua2V5IHx8ICdkZWZhdWx0J1xuICAgIH0pXTtcbiAgfVxuXG4gIHZhciBibG9ja2VkUG9wVHggPSBudWxsO1xuXG4gIGZ1bmN0aW9uIGhhbmRsZVBvcCgpIHtcbiAgICBpZiAoYmxvY2tlZFBvcFR4KSB7XG4gICAgICBibG9ja2Vycy5jYWxsKGJsb2NrZWRQb3BUeCk7XG4gICAgICBibG9ja2VkUG9wVHggPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgbmV4dEFjdGlvbiA9IEFjdGlvbi5Qb3A7XG5cbiAgICAgIHZhciBfZ2V0SW5kZXhBbmRMb2NhdGlvbiA9IGdldEluZGV4QW5kTG9jYXRpb24oKSxcbiAgICAgICAgICBuZXh0SW5kZXggPSBfZ2V0SW5kZXhBbmRMb2NhdGlvblswXSxcbiAgICAgICAgICBuZXh0TG9jYXRpb24gPSBfZ2V0SW5kZXhBbmRMb2NhdGlvblsxXTtcblxuICAgICAgaWYgKGJsb2NrZXJzLmxlbmd0aCkge1xuICAgICAgICBpZiAobmV4dEluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgICB2YXIgZGVsdGEgPSBpbmRleCAtIG5leHRJbmRleDtcblxuICAgICAgICAgIGlmIChkZWx0YSkge1xuICAgICAgICAgICAgLy8gUmV2ZXJ0IHRoZSBQT1BcbiAgICAgICAgICAgIGJsb2NrZWRQb3BUeCA9IHtcbiAgICAgICAgICAgICAgYWN0aW9uOiBuZXh0QWN0aW9uLFxuICAgICAgICAgICAgICBsb2NhdGlvbjogbmV4dExvY2F0aW9uLFxuICAgICAgICAgICAgICByZXRyeTogZnVuY3Rpb24gcmV0cnkoKSB7XG4gICAgICAgICAgICAgICAgZ28oZGVsdGEgKiAtMSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBnbyhkZWx0YSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRyeWluZyB0byBQT1AgdG8gYSBsb2NhdGlvbiB3aXRoIG5vIGluZGV4LiBXZSBkaWQgbm90IGNyZWF0ZVxuICAgICAgICAgIC8vIHRoaXMgbG9jYXRpb24sIHNvIHdlIGNhbid0IGVmZmVjdGl2ZWx5IGJsb2NrIHRoZSBuYXZpZ2F0aW9uLlxuICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHdhcm5pbmcoZmFsc2UsIC8vIFRPRE86IFdyaXRlIHVwIGEgZG9jIHRoYXQgZXhwbGFpbnMgb3VyIGJsb2NraW5nIHN0cmF0ZWd5IGluXG4gICAgICAgICAgLy8gZGV0YWlsIGFuZCBsaW5rIHRvIGl0IGhlcmUgc28gcGVvcGxlIGNhbiB1bmRlcnN0YW5kIGJldHRlciB3aGF0XG4gICAgICAgICAgLy8gaXMgZ29pbmcgb24gYW5kIGhvdyB0byBhdm9pZCBpdC5cbiAgICAgICAgICBcIllvdSBhcmUgdHJ5aW5nIHRvIGJsb2NrIGEgUE9QIG5hdmlnYXRpb24gdG8gYSBsb2NhdGlvbiB0aGF0IHdhcyBub3QgXCIgKyBcImNyZWF0ZWQgYnkgdGhlIGhpc3RvcnkgbGlicmFyeS4gVGhlIGJsb2NrIHdpbGwgZmFpbCBzaWxlbnRseSBpbiBcIiArIFwicHJvZHVjdGlvbiwgYnV0IGluIGdlbmVyYWwgeW91IHNob3VsZCBkbyBhbGwgbmF2aWdhdGlvbiB3aXRoIHRoZSBcIiArIFwiaGlzdG9yeSBsaWJyYXJ5IChpbnN0ZWFkIG9mIHVzaW5nIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSBkaXJlY3RseSkgXCIgKyBcInRvIGF2b2lkIHRoaXMgc2l0dWF0aW9uLlwiKSA6IHZvaWQgMDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXBwbHlUeChuZXh0QWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihQb3BTdGF0ZUV2ZW50VHlwZSwgaGFuZGxlUG9wKTtcbiAgdmFyIGFjdGlvbiA9IEFjdGlvbi5Qb3A7XG5cbiAgdmFyIF9nZXRJbmRleEFuZExvY2F0aW9uMiA9IGdldEluZGV4QW5kTG9jYXRpb24oKSxcbiAgICAgIGluZGV4ID0gX2dldEluZGV4QW5kTG9jYXRpb24yWzBdLFxuICAgICAgbG9jYXRpb24gPSBfZ2V0SW5kZXhBbmRMb2NhdGlvbjJbMV07XG5cbiAgdmFyIGxpc3RlbmVycyA9IGNyZWF0ZUV2ZW50cygpO1xuICB2YXIgYmxvY2tlcnMgPSBjcmVhdGVFdmVudHMoKTtcblxuICBpZiAoaW5kZXggPT0gbnVsbCkge1xuICAgIGluZGV4ID0gMDtcbiAgICBnbG9iYWxIaXN0b3J5LnJlcGxhY2VTdGF0ZShfZXh0ZW5kcyh7fSwgZ2xvYmFsSGlzdG9yeS5zdGF0ZSwge1xuICAgICAgaWR4OiBpbmRleFxuICAgIH0pLCAnJyk7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVIcmVmKHRvKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB0byA9PT0gJ3N0cmluZycgPyB0byA6IGNyZWF0ZVBhdGgodG8pO1xuICB9IC8vIHN0YXRlIGRlZmF1bHRzIHRvIGBudWxsYCBiZWNhdXNlIGB3aW5kb3cuaGlzdG9yeS5zdGF0ZWAgZG9lc1xuXG5cbiAgZnVuY3Rpb24gZ2V0TmV4dExvY2F0aW9uKHRvLCBzdGF0ZSkge1xuICAgIGlmIChzdGF0ZSA9PT0gdm9pZCAwKSB7XG4gICAgICBzdGF0ZSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlYWRPbmx5KF9leHRlbmRzKHtcbiAgICAgIHBhdGhuYW1lOiBsb2NhdGlvbi5wYXRobmFtZSxcbiAgICAgIGhhc2g6ICcnLFxuICAgICAgc2VhcmNoOiAnJ1xuICAgIH0sIHR5cGVvZiB0byA9PT0gJ3N0cmluZycgPyBwYXJzZVBhdGgodG8pIDogdG8sIHtcbiAgICAgIHN0YXRlOiBzdGF0ZSxcbiAgICAgIGtleTogY3JlYXRlS2V5KClcbiAgICB9KSk7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRIaXN0b3J5U3RhdGVBbmRVcmwobmV4dExvY2F0aW9uLCBpbmRleCkge1xuICAgIHJldHVybiBbe1xuICAgICAgdXNyOiBuZXh0TG9jYXRpb24uc3RhdGUsXG4gICAgICBrZXk6IG5leHRMb2NhdGlvbi5rZXksXG4gICAgICBpZHg6IGluZGV4XG4gICAgfSwgY3JlYXRlSHJlZihuZXh0TG9jYXRpb24pXTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGFsbG93VHgoYWN0aW9uLCBsb2NhdGlvbiwgcmV0cnkpIHtcbiAgICByZXR1cm4gIWJsb2NrZXJzLmxlbmd0aCB8fCAoYmxvY2tlcnMuY2FsbCh7XG4gICAgICBhY3Rpb246IGFjdGlvbixcbiAgICAgIGxvY2F0aW9uOiBsb2NhdGlvbixcbiAgICAgIHJldHJ5OiByZXRyeVxuICAgIH0pLCBmYWxzZSk7XG4gIH1cblxuICBmdW5jdGlvbiBhcHBseVR4KG5leHRBY3Rpb24pIHtcbiAgICBhY3Rpb24gPSBuZXh0QWN0aW9uO1xuXG4gICAgdmFyIF9nZXRJbmRleEFuZExvY2F0aW9uMyA9IGdldEluZGV4QW5kTG9jYXRpb24oKTtcblxuICAgIGluZGV4ID0gX2dldEluZGV4QW5kTG9jYXRpb24zWzBdO1xuICAgIGxvY2F0aW9uID0gX2dldEluZGV4QW5kTG9jYXRpb24zWzFdO1xuICAgIGxpc3RlbmVycy5jYWxsKHtcbiAgICAgIGFjdGlvbjogYWN0aW9uLFxuICAgICAgbG9jYXRpb246IGxvY2F0aW9uXG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBwdXNoKHRvLCBzdGF0ZSkge1xuICAgIHZhciBuZXh0QWN0aW9uID0gQWN0aW9uLlB1c2g7XG4gICAgdmFyIG5leHRMb2NhdGlvbiA9IGdldE5leHRMb2NhdGlvbih0bywgc3RhdGUpO1xuXG4gICAgZnVuY3Rpb24gcmV0cnkoKSB7XG4gICAgICBwdXNoKHRvLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgaWYgKGFsbG93VHgobmV4dEFjdGlvbiwgbmV4dExvY2F0aW9uLCByZXRyeSkpIHtcbiAgICAgIHZhciBfZ2V0SGlzdG9yeVN0YXRlQW5kVXIgPSBnZXRIaXN0b3J5U3RhdGVBbmRVcmwobmV4dExvY2F0aW9uLCBpbmRleCArIDEpLFxuICAgICAgICAgIGhpc3RvcnlTdGF0ZSA9IF9nZXRIaXN0b3J5U3RhdGVBbmRVclswXSxcbiAgICAgICAgICB1cmwgPSBfZ2V0SGlzdG9yeVN0YXRlQW5kVXJbMV07IC8vIFRPRE86IFN1cHBvcnQgZm9yY2VkIHJlbG9hZGluZ1xuICAgICAgLy8gdHJ5Li4uY2F0Y2ggYmVjYXVzZSBpT1MgbGltaXRzIHVzIHRvIDEwMCBwdXNoU3RhdGUgY2FsbHMgOi9cblxuXG4gICAgICB0cnkge1xuICAgICAgICBnbG9iYWxIaXN0b3J5LnB1c2hTdGF0ZShoaXN0b3J5U3RhdGUsICcnLCB1cmwpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgLy8gVGhleSBhcmUgZ29pbmcgdG8gbG9zZSBzdGF0ZSBoZXJlLCBidXQgdGhlcmUgaXMgbm8gcmVhbFxuICAgICAgICAvLyB3YXkgdG8gd2FybiB0aGVtIGFib3V0IGl0IHNpbmNlIHRoZSBwYWdlIHdpbGwgcmVmcmVzaC4uLlxuICAgICAgICB3aW5kb3cubG9jYXRpb24uYXNzaWduKHVybCk7XG4gICAgICB9XG5cbiAgICAgIGFwcGx5VHgobmV4dEFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcmVwbGFjZSh0bywgc3RhdGUpIHtcbiAgICB2YXIgbmV4dEFjdGlvbiA9IEFjdGlvbi5SZXBsYWNlO1xuICAgIHZhciBuZXh0TG9jYXRpb24gPSBnZXROZXh0TG9jYXRpb24odG8sIHN0YXRlKTtcblxuICAgIGZ1bmN0aW9uIHJldHJ5KCkge1xuICAgICAgcmVwbGFjZSh0bywgc3RhdGUpO1xuICAgIH1cblxuICAgIGlmIChhbGxvd1R4KG5leHRBY3Rpb24sIG5leHRMb2NhdGlvbiwgcmV0cnkpKSB7XG4gICAgICB2YXIgX2dldEhpc3RvcnlTdGF0ZUFuZFVyMiA9IGdldEhpc3RvcnlTdGF0ZUFuZFVybChuZXh0TG9jYXRpb24sIGluZGV4KSxcbiAgICAgICAgICBoaXN0b3J5U3RhdGUgPSBfZ2V0SGlzdG9yeVN0YXRlQW5kVXIyWzBdLFxuICAgICAgICAgIHVybCA9IF9nZXRIaXN0b3J5U3RhdGVBbmRVcjJbMV07IC8vIFRPRE86IFN1cHBvcnQgZm9yY2VkIHJlbG9hZGluZ1xuXG5cbiAgICAgIGdsb2JhbEhpc3RvcnkucmVwbGFjZVN0YXRlKGhpc3RvcnlTdGF0ZSwgJycsIHVybCk7XG4gICAgICBhcHBseVR4KG5leHRBY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGdvKGRlbHRhKSB7XG4gICAgZ2xvYmFsSGlzdG9yeS5nbyhkZWx0YSk7XG4gIH1cblxuICB2YXIgaGlzdG9yeSA9IHtcbiAgICBnZXQgYWN0aW9uKCkge1xuICAgICAgcmV0dXJuIGFjdGlvbjtcbiAgICB9LFxuXG4gICAgZ2V0IGxvY2F0aW9uKCkge1xuICAgICAgcmV0dXJuIGxvY2F0aW9uO1xuICAgIH0sXG5cbiAgICBjcmVhdGVIcmVmOiBjcmVhdGVIcmVmLFxuICAgIHB1c2g6IHB1c2gsXG4gICAgcmVwbGFjZTogcmVwbGFjZSxcbiAgICBnbzogZ28sXG4gICAgYmFjazogZnVuY3Rpb24gYmFjaygpIHtcbiAgICAgIGdvKC0xKTtcbiAgICB9LFxuICAgIGZvcndhcmQ6IGZ1bmN0aW9uIGZvcndhcmQoKSB7XG4gICAgICBnbygxKTtcbiAgICB9LFxuICAgIGxpc3RlbjogZnVuY3Rpb24gbGlzdGVuKGxpc3RlbmVyKSB7XG4gICAgICByZXR1cm4gbGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuICAgIH0sXG4gICAgYmxvY2s6IGZ1bmN0aW9uIGJsb2NrKGJsb2NrZXIpIHtcbiAgICAgIHZhciB1bmJsb2NrID0gYmxvY2tlcnMucHVzaChibG9ja2VyKTtcblxuICAgICAgaWYgKGJsb2NrZXJzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihCZWZvcmVVbmxvYWRFdmVudFR5cGUsIHByb21wdEJlZm9yZVVubG9hZCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHVuYmxvY2soKTsgLy8gUmVtb3ZlIHRoZSBiZWZvcmV1bmxvYWQgbGlzdGVuZXIgc28gdGhlIGRvY3VtZW50IG1heVxuICAgICAgICAvLyBzdGlsbCBiZSBzYWx2YWdlYWJsZSBpbiB0aGUgcGFnZWhpZGUgZXZlbnQuXG4gICAgICAgIC8vIFNlZSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyN1bmxvYWRpbmctZG9jdW1lbnRzXG5cbiAgICAgICAgaWYgKCFibG9ja2Vycy5sZW5ndGgpIHtcbiAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihCZWZvcmVVbmxvYWRFdmVudFR5cGUsIHByb21wdEJlZm9yZVVubG9hZCk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9O1xuICByZXR1cm4gaGlzdG9yeTtcbn1cbi8qKlxyXG4gKiBIYXNoIGhpc3Rvcnkgc3RvcmVzIHRoZSBsb2NhdGlvbiBpbiB3aW5kb3cubG9jYXRpb24uaGFzaC4gVGhpcyBtYWtlcyBpdCBpZGVhbFxyXG4gKiBmb3Igc2l0dWF0aW9ucyB3aGVyZSB5b3UgZG9uJ3Qgd2FudCB0byBzZW5kIHRoZSBsb2NhdGlvbiB0byB0aGUgc2VydmVyIGZvclxyXG4gKiBzb21lIHJlYXNvbiwgZWl0aGVyIGJlY2F1c2UgeW91IGRvIGNhbm5vdCBjb25maWd1cmUgaXQgb3IgdGhlIFVSTCBzcGFjZSBpc1xyXG4gKiByZXNlcnZlZCBmb3Igc29tZXRoaW5nIGVsc2UuXHJcbiAqXHJcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3JlbWl4LXJ1bi9oaXN0b3J5L3RyZWUvbWFpbi9kb2NzL2FwaS1yZWZlcmVuY2UubWQjY3JlYXRlaGFzaGhpc3RvcnlcclxuICovXG5cbmZ1bmN0aW9uIGNyZWF0ZUhhc2hIaXN0b3J5KG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuXG4gIHZhciBfb3B0aW9uczIgPSBvcHRpb25zLFxuICAgICAgX29wdGlvbnMyJHdpbmRvdyA9IF9vcHRpb25zMi53aW5kb3csXG4gICAgICB3aW5kb3cgPSBfb3B0aW9uczIkd2luZG93ID09PSB2b2lkIDAgPyBkb2N1bWVudC5kZWZhdWx0VmlldyA6IF9vcHRpb25zMiR3aW5kb3c7XG4gIHZhciBnbG9iYWxIaXN0b3J5ID0gd2luZG93Lmhpc3Rvcnk7XG5cbiAgZnVuY3Rpb24gZ2V0SW5kZXhBbmRMb2NhdGlvbigpIHtcbiAgICB2YXIgX3BhcnNlUGF0aCA9IHBhcnNlUGF0aCh3aW5kb3cubG9jYXRpb24uaGFzaC5zdWJzdHIoMSkpLFxuICAgICAgICBfcGFyc2VQYXRoJHBhdGhuYW1lID0gX3BhcnNlUGF0aC5wYXRobmFtZSxcbiAgICAgICAgcGF0aG5hbWUgPSBfcGFyc2VQYXRoJHBhdGhuYW1lID09PSB2b2lkIDAgPyAnLycgOiBfcGFyc2VQYXRoJHBhdGhuYW1lLFxuICAgICAgICBfcGFyc2VQYXRoJHNlYXJjaCA9IF9wYXJzZVBhdGguc2VhcmNoLFxuICAgICAgICBzZWFyY2ggPSBfcGFyc2VQYXRoJHNlYXJjaCA9PT0gdm9pZCAwID8gJycgOiBfcGFyc2VQYXRoJHNlYXJjaCxcbiAgICAgICAgX3BhcnNlUGF0aCRoYXNoID0gX3BhcnNlUGF0aC5oYXNoLFxuICAgICAgICBoYXNoID0gX3BhcnNlUGF0aCRoYXNoID09PSB2b2lkIDAgPyAnJyA6IF9wYXJzZVBhdGgkaGFzaDtcblxuICAgIHZhciBzdGF0ZSA9IGdsb2JhbEhpc3Rvcnkuc3RhdGUgfHwge307XG4gICAgcmV0dXJuIFtzdGF0ZS5pZHgsIHJlYWRPbmx5KHtcbiAgICAgIHBhdGhuYW1lOiBwYXRobmFtZSxcbiAgICAgIHNlYXJjaDogc2VhcmNoLFxuICAgICAgaGFzaDogaGFzaCxcbiAgICAgIHN0YXRlOiBzdGF0ZS51c3IgfHwgbnVsbCxcbiAgICAgIGtleTogc3RhdGUua2V5IHx8ICdkZWZhdWx0J1xuICAgIH0pXTtcbiAgfVxuXG4gIHZhciBibG9ja2VkUG9wVHggPSBudWxsO1xuXG4gIGZ1bmN0aW9uIGhhbmRsZVBvcCgpIHtcbiAgICBpZiAoYmxvY2tlZFBvcFR4KSB7XG4gICAgICBibG9ja2Vycy5jYWxsKGJsb2NrZWRQb3BUeCk7XG4gICAgICBibG9ja2VkUG9wVHggPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgbmV4dEFjdGlvbiA9IEFjdGlvbi5Qb3A7XG5cbiAgICAgIHZhciBfZ2V0SW5kZXhBbmRMb2NhdGlvbjQgPSBnZXRJbmRleEFuZExvY2F0aW9uKCksXG4gICAgICAgICAgbmV4dEluZGV4ID0gX2dldEluZGV4QW5kTG9jYXRpb240WzBdLFxuICAgICAgICAgIG5leHRMb2NhdGlvbiA9IF9nZXRJbmRleEFuZExvY2F0aW9uNFsxXTtcblxuICAgICAgaWYgKGJsb2NrZXJzLmxlbmd0aCkge1xuICAgICAgICBpZiAobmV4dEluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgICB2YXIgZGVsdGEgPSBpbmRleCAtIG5leHRJbmRleDtcblxuICAgICAgICAgIGlmIChkZWx0YSkge1xuICAgICAgICAgICAgLy8gUmV2ZXJ0IHRoZSBQT1BcbiAgICAgICAgICAgIGJsb2NrZWRQb3BUeCA9IHtcbiAgICAgICAgICAgICAgYWN0aW9uOiBuZXh0QWN0aW9uLFxuICAgICAgICAgICAgICBsb2NhdGlvbjogbmV4dExvY2F0aW9uLFxuICAgICAgICAgICAgICByZXRyeTogZnVuY3Rpb24gcmV0cnkoKSB7XG4gICAgICAgICAgICAgICAgZ28oZGVsdGEgKiAtMSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBnbyhkZWx0YSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRyeWluZyB0byBQT1AgdG8gYSBsb2NhdGlvbiB3aXRoIG5vIGluZGV4LiBXZSBkaWQgbm90IGNyZWF0ZVxuICAgICAgICAgIC8vIHRoaXMgbG9jYXRpb24sIHNvIHdlIGNhbid0IGVmZmVjdGl2ZWx5IGJsb2NrIHRoZSBuYXZpZ2F0aW9uLlxuICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHdhcm5pbmcoZmFsc2UsIC8vIFRPRE86IFdyaXRlIHVwIGEgZG9jIHRoYXQgZXhwbGFpbnMgb3VyIGJsb2NraW5nIHN0cmF0ZWd5IGluXG4gICAgICAgICAgLy8gZGV0YWlsIGFuZCBsaW5rIHRvIGl0IGhlcmUgc28gcGVvcGxlIGNhbiB1bmRlcnN0YW5kIGJldHRlclxuICAgICAgICAgIC8vIHdoYXQgaXMgZ29pbmcgb24gYW5kIGhvdyB0byBhdm9pZCBpdC5cbiAgICAgICAgICBcIllvdSBhcmUgdHJ5aW5nIHRvIGJsb2NrIGEgUE9QIG5hdmlnYXRpb24gdG8gYSBsb2NhdGlvbiB0aGF0IHdhcyBub3QgXCIgKyBcImNyZWF0ZWQgYnkgdGhlIGhpc3RvcnkgbGlicmFyeS4gVGhlIGJsb2NrIHdpbGwgZmFpbCBzaWxlbnRseSBpbiBcIiArIFwicHJvZHVjdGlvbiwgYnV0IGluIGdlbmVyYWwgeW91IHNob3VsZCBkbyBhbGwgbmF2aWdhdGlvbiB3aXRoIHRoZSBcIiArIFwiaGlzdG9yeSBsaWJyYXJ5IChpbnN0ZWFkIG9mIHVzaW5nIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSBkaXJlY3RseSkgXCIgKyBcInRvIGF2b2lkIHRoaXMgc2l0dWF0aW9uLlwiKSA6IHZvaWQgMDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXBwbHlUeChuZXh0QWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihQb3BTdGF0ZUV2ZW50VHlwZSwgaGFuZGxlUG9wKTsgLy8gcG9wc3RhdGUgZG9lcyBub3QgZmlyZSBvbiBoYXNoY2hhbmdlIGluIElFIDExIGFuZCBvbGQgKHRyaWRlbnQpIEVkZ2VcbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZGUvZG9jcy9XZWIvQVBJL1dpbmRvdy9wb3BzdGF0ZV9ldmVudFxuXG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKEhhc2hDaGFuZ2VFdmVudFR5cGUsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgX2dldEluZGV4QW5kTG9jYXRpb241ID0gZ2V0SW5kZXhBbmRMb2NhdGlvbigpLFxuICAgICAgICBuZXh0TG9jYXRpb24gPSBfZ2V0SW5kZXhBbmRMb2NhdGlvbjVbMV07IC8vIElnbm9yZSBleHRyYW5lb3VzIGhhc2hjaGFuZ2UgZXZlbnRzLlxuXG5cbiAgICBpZiAoY3JlYXRlUGF0aChuZXh0TG9jYXRpb24pICE9PSBjcmVhdGVQYXRoKGxvY2F0aW9uKSkge1xuICAgICAgaGFuZGxlUG9wKCk7XG4gICAgfVxuICB9KTtcbiAgdmFyIGFjdGlvbiA9IEFjdGlvbi5Qb3A7XG5cbiAgdmFyIF9nZXRJbmRleEFuZExvY2F0aW9uNiA9IGdldEluZGV4QW5kTG9jYXRpb24oKSxcbiAgICAgIGluZGV4ID0gX2dldEluZGV4QW5kTG9jYXRpb242WzBdLFxuICAgICAgbG9jYXRpb24gPSBfZ2V0SW5kZXhBbmRMb2NhdGlvbjZbMV07XG5cbiAgdmFyIGxpc3RlbmVycyA9IGNyZWF0ZUV2ZW50cygpO1xuICB2YXIgYmxvY2tlcnMgPSBjcmVhdGVFdmVudHMoKTtcblxuICBpZiAoaW5kZXggPT0gbnVsbCkge1xuICAgIGluZGV4ID0gMDtcbiAgICBnbG9iYWxIaXN0b3J5LnJlcGxhY2VTdGF0ZShfZXh0ZW5kcyh7fSwgZ2xvYmFsSGlzdG9yeS5zdGF0ZSwge1xuICAgICAgaWR4OiBpbmRleFxuICAgIH0pLCAnJyk7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRCYXNlSHJlZigpIHtcbiAgICB2YXIgYmFzZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Jhc2UnKTtcbiAgICB2YXIgaHJlZiA9ICcnO1xuXG4gICAgaWYgKGJhc2UgJiYgYmFzZS5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSkge1xuICAgICAgdmFyIHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICAgICAgdmFyIGhhc2hJbmRleCA9IHVybC5pbmRleE9mKCcjJyk7XG4gICAgICBocmVmID0gaGFzaEluZGV4ID09PSAtMSA/IHVybCA6IHVybC5zbGljZSgwLCBoYXNoSW5kZXgpO1xuICAgIH1cblxuICAgIHJldHVybiBocmVmO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlSHJlZih0bykge1xuICAgIHJldHVybiBnZXRCYXNlSHJlZigpICsgJyMnICsgKHR5cGVvZiB0byA9PT0gJ3N0cmluZycgPyB0byA6IGNyZWF0ZVBhdGgodG8pKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGdldE5leHRMb2NhdGlvbih0bywgc3RhdGUpIHtcbiAgICBpZiAoc3RhdGUgPT09IHZvaWQgMCkge1xuICAgICAgc3RhdGUgPSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiByZWFkT25seShfZXh0ZW5kcyh7XG4gICAgICBwYXRobmFtZTogbG9jYXRpb24ucGF0aG5hbWUsXG4gICAgICBoYXNoOiAnJyxcbiAgICAgIHNlYXJjaDogJydcbiAgICB9LCB0eXBlb2YgdG8gPT09ICdzdHJpbmcnID8gcGFyc2VQYXRoKHRvKSA6IHRvLCB7XG4gICAgICBzdGF0ZTogc3RhdGUsXG4gICAgICBrZXk6IGNyZWF0ZUtleSgpXG4gICAgfSkpO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0SGlzdG9yeVN0YXRlQW5kVXJsKG5leHRMb2NhdGlvbiwgaW5kZXgpIHtcbiAgICByZXR1cm4gW3tcbiAgICAgIHVzcjogbmV4dExvY2F0aW9uLnN0YXRlLFxuICAgICAga2V5OiBuZXh0TG9jYXRpb24ua2V5LFxuICAgICAgaWR4OiBpbmRleFxuICAgIH0sIGNyZWF0ZUhyZWYobmV4dExvY2F0aW9uKV07XG4gIH1cblxuICBmdW5jdGlvbiBhbGxvd1R4KGFjdGlvbiwgbG9jYXRpb24sIHJldHJ5KSB7XG4gICAgcmV0dXJuICFibG9ja2Vycy5sZW5ndGggfHwgKGJsb2NrZXJzLmNhbGwoe1xuICAgICAgYWN0aW9uOiBhY3Rpb24sXG4gICAgICBsb2NhdGlvbjogbG9jYXRpb24sXG4gICAgICByZXRyeTogcmV0cnlcbiAgICB9KSwgZmFsc2UpO1xuICB9XG5cbiAgZnVuY3Rpb24gYXBwbHlUeChuZXh0QWN0aW9uKSB7XG4gICAgYWN0aW9uID0gbmV4dEFjdGlvbjtcblxuICAgIHZhciBfZ2V0SW5kZXhBbmRMb2NhdGlvbjcgPSBnZXRJbmRleEFuZExvY2F0aW9uKCk7XG5cbiAgICBpbmRleCA9IF9nZXRJbmRleEFuZExvY2F0aW9uN1swXTtcbiAgICBsb2NhdGlvbiA9IF9nZXRJbmRleEFuZExvY2F0aW9uN1sxXTtcbiAgICBsaXN0ZW5lcnMuY2FsbCh7XG4gICAgICBhY3Rpb246IGFjdGlvbixcbiAgICAgIGxvY2F0aW9uOiBsb2NhdGlvblxuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gcHVzaCh0bywgc3RhdGUpIHtcbiAgICB2YXIgbmV4dEFjdGlvbiA9IEFjdGlvbi5QdXNoO1xuICAgIHZhciBuZXh0TG9jYXRpb24gPSBnZXROZXh0TG9jYXRpb24odG8sIHN0YXRlKTtcblxuICAgIGZ1bmN0aW9uIHJldHJ5KCkge1xuICAgICAgcHVzaCh0bywgc3RhdGUpO1xuICAgIH1cblxuICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHdhcm5pbmcobmV4dExvY2F0aW9uLnBhdGhuYW1lLmNoYXJBdCgwKSA9PT0gJy8nLCBcIlJlbGF0aXZlIHBhdGhuYW1lcyBhcmUgbm90IHN1cHBvcnRlZCBpbiBoYXNoIGhpc3RvcnkucHVzaChcIiArIEpTT04uc3RyaW5naWZ5KHRvKSArIFwiKVwiKSA6IHZvaWQgMDtcblxuICAgIGlmIChhbGxvd1R4KG5leHRBY3Rpb24sIG5leHRMb2NhdGlvbiwgcmV0cnkpKSB7XG4gICAgICB2YXIgX2dldEhpc3RvcnlTdGF0ZUFuZFVyMyA9IGdldEhpc3RvcnlTdGF0ZUFuZFVybChuZXh0TG9jYXRpb24sIGluZGV4ICsgMSksXG4gICAgICAgICAgaGlzdG9yeVN0YXRlID0gX2dldEhpc3RvcnlTdGF0ZUFuZFVyM1swXSxcbiAgICAgICAgICB1cmwgPSBfZ2V0SGlzdG9yeVN0YXRlQW5kVXIzWzFdOyAvLyBUT0RPOiBTdXBwb3J0IGZvcmNlZCByZWxvYWRpbmdcbiAgICAgIC8vIHRyeS4uLmNhdGNoIGJlY2F1c2UgaU9TIGxpbWl0cyB1cyB0byAxMDAgcHVzaFN0YXRlIGNhbGxzIDovXG5cblxuICAgICAgdHJ5IHtcbiAgICAgICAgZ2xvYmFsSGlzdG9yeS5wdXNoU3RhdGUoaGlzdG9yeVN0YXRlLCAnJywgdXJsKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIFRoZXkgYXJlIGdvaW5nIHRvIGxvc2Ugc3RhdGUgaGVyZSwgYnV0IHRoZXJlIGlzIG5vIHJlYWxcbiAgICAgICAgLy8gd2F5IHRvIHdhcm4gdGhlbSBhYm91dCBpdCBzaW5jZSB0aGUgcGFnZSB3aWxsIHJlZnJlc2guLi5cbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmFzc2lnbih1cmwpO1xuICAgICAgfVxuXG4gICAgICBhcHBseVR4KG5leHRBY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHJlcGxhY2UodG8sIHN0YXRlKSB7XG4gICAgdmFyIG5leHRBY3Rpb24gPSBBY3Rpb24uUmVwbGFjZTtcbiAgICB2YXIgbmV4dExvY2F0aW9uID0gZ2V0TmV4dExvY2F0aW9uKHRvLCBzdGF0ZSk7XG5cbiAgICBmdW5jdGlvbiByZXRyeSgpIHtcbiAgICAgIHJlcGxhY2UodG8sIHN0YXRlKTtcbiAgICB9XG5cbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB3YXJuaW5nKG5leHRMb2NhdGlvbi5wYXRobmFtZS5jaGFyQXQoMCkgPT09ICcvJywgXCJSZWxhdGl2ZSBwYXRobmFtZXMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gaGFzaCBoaXN0b3J5LnJlcGxhY2UoXCIgKyBKU09OLnN0cmluZ2lmeSh0bykgKyBcIilcIikgOiB2b2lkIDA7XG5cbiAgICBpZiAoYWxsb3dUeChuZXh0QWN0aW9uLCBuZXh0TG9jYXRpb24sIHJldHJ5KSkge1xuICAgICAgdmFyIF9nZXRIaXN0b3J5U3RhdGVBbmRVcjQgPSBnZXRIaXN0b3J5U3RhdGVBbmRVcmwobmV4dExvY2F0aW9uLCBpbmRleCksXG4gICAgICAgICAgaGlzdG9yeVN0YXRlID0gX2dldEhpc3RvcnlTdGF0ZUFuZFVyNFswXSxcbiAgICAgICAgICB1cmwgPSBfZ2V0SGlzdG9yeVN0YXRlQW5kVXI0WzFdOyAvLyBUT0RPOiBTdXBwb3J0IGZvcmNlZCByZWxvYWRpbmdcblxuXG4gICAgICBnbG9iYWxIaXN0b3J5LnJlcGxhY2VTdGF0ZShoaXN0b3J5U3RhdGUsICcnLCB1cmwpO1xuICAgICAgYXBwbHlUeChuZXh0QWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBnbyhkZWx0YSkge1xuICAgIGdsb2JhbEhpc3RvcnkuZ28oZGVsdGEpO1xuICB9XG5cbiAgdmFyIGhpc3RvcnkgPSB7XG4gICAgZ2V0IGFjdGlvbigpIHtcbiAgICAgIHJldHVybiBhY3Rpb247XG4gICAgfSxcblxuICAgIGdldCBsb2NhdGlvbigpIHtcbiAgICAgIHJldHVybiBsb2NhdGlvbjtcbiAgICB9LFxuXG4gICAgY3JlYXRlSHJlZjogY3JlYXRlSHJlZixcbiAgICBwdXNoOiBwdXNoLFxuICAgIHJlcGxhY2U6IHJlcGxhY2UsXG4gICAgZ286IGdvLFxuICAgIGJhY2s6IGZ1bmN0aW9uIGJhY2soKSB7XG4gICAgICBnbygtMSk7XG4gICAgfSxcbiAgICBmb3J3YXJkOiBmdW5jdGlvbiBmb3J3YXJkKCkge1xuICAgICAgZ28oMSk7XG4gICAgfSxcbiAgICBsaXN0ZW46IGZ1bmN0aW9uIGxpc3RlbihsaXN0ZW5lcikge1xuICAgICAgcmV0dXJuIGxpc3RlbmVycy5wdXNoKGxpc3RlbmVyKTtcbiAgICB9LFxuICAgIGJsb2NrOiBmdW5jdGlvbiBibG9jayhibG9ja2VyKSB7XG4gICAgICB2YXIgdW5ibG9jayA9IGJsb2NrZXJzLnB1c2goYmxvY2tlcik7XG5cbiAgICAgIGlmIChibG9ja2Vycy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoQmVmb3JlVW5sb2FkRXZlbnRUeXBlLCBwcm9tcHRCZWZvcmVVbmxvYWQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICB1bmJsb2NrKCk7IC8vIFJlbW92ZSB0aGUgYmVmb3JldW5sb2FkIGxpc3RlbmVyIHNvIHRoZSBkb2N1bWVudCBtYXlcbiAgICAgICAgLy8gc3RpbGwgYmUgc2FsdmFnZWFibGUgaW4gdGhlIHBhZ2VoaWRlIGV2ZW50LlxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdW5sb2FkaW5nLWRvY3VtZW50c1xuXG4gICAgICAgIGlmICghYmxvY2tlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoQmVmb3JlVW5sb2FkRXZlbnRUeXBlLCBwcm9tcHRCZWZvcmVVbmxvYWQpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIGhpc3Rvcnk7XG59XG4vKipcclxuICogTWVtb3J5IGhpc3Rvcnkgc3RvcmVzIHRoZSBjdXJyZW50IGxvY2F0aW9uIGluIG1lbW9yeS4gSXQgaXMgZGVzaWduZWQgZm9yIHVzZVxyXG4gKiBpbiBzdGF0ZWZ1bCBub24tYnJvd3NlciBlbnZpcm9ubWVudHMgbGlrZSB0ZXN0cyBhbmQgUmVhY3QgTmF0aXZlLlxyXG4gKlxyXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9yZW1peC1ydW4vaGlzdG9yeS90cmVlL21haW4vZG9jcy9hcGktcmVmZXJlbmNlLm1kI2NyZWF0ZW1lbW9yeWhpc3RvcnlcclxuICovXG5cbmZ1bmN0aW9uIGNyZWF0ZU1lbW9yeUhpc3Rvcnkob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG5cbiAgdmFyIF9vcHRpb25zMyA9IG9wdGlvbnMsXG4gICAgICBfb3B0aW9uczMkaW5pdGlhbEVudHIgPSBfb3B0aW9uczMuaW5pdGlhbEVudHJpZXMsXG4gICAgICBpbml0aWFsRW50cmllcyA9IF9vcHRpb25zMyRpbml0aWFsRW50ciA9PT0gdm9pZCAwID8gWycvJ10gOiBfb3B0aW9uczMkaW5pdGlhbEVudHIsXG4gICAgICBpbml0aWFsSW5kZXggPSBfb3B0aW9uczMuaW5pdGlhbEluZGV4O1xuICB2YXIgZW50cmllcyA9IGluaXRpYWxFbnRyaWVzLm1hcChmdW5jdGlvbiAoZW50cnkpIHtcbiAgICB2YXIgbG9jYXRpb24gPSByZWFkT25seShfZXh0ZW5kcyh7XG4gICAgICBwYXRobmFtZTogJy8nLFxuICAgICAgc2VhcmNoOiAnJyxcbiAgICAgIGhhc2g6ICcnLFxuICAgICAgc3RhdGU6IG51bGwsXG4gICAgICBrZXk6IGNyZWF0ZUtleSgpXG4gICAgfSwgdHlwZW9mIGVudHJ5ID09PSAnc3RyaW5nJyA/IHBhcnNlUGF0aChlbnRyeSkgOiBlbnRyeSkpO1xuICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IHdhcm5pbmcobG9jYXRpb24ucGF0aG5hbWUuY2hhckF0KDApID09PSAnLycsIFwiUmVsYXRpdmUgcGF0aG5hbWVzIGFyZSBub3Qgc3VwcG9ydGVkIGluIGNyZWF0ZU1lbW9yeUhpc3RvcnkoeyBpbml0aWFsRW50cmllcyB9KSAoaW52YWxpZCBlbnRyeTogXCIgKyBKU09OLnN0cmluZ2lmeShlbnRyeSkgKyBcIilcIikgOiB2b2lkIDA7XG4gICAgcmV0dXJuIGxvY2F0aW9uO1xuICB9KTtcbiAgdmFyIGluZGV4ID0gY2xhbXAoaW5pdGlhbEluZGV4ID09IG51bGwgPyBlbnRyaWVzLmxlbmd0aCAtIDEgOiBpbml0aWFsSW5kZXgsIDAsIGVudHJpZXMubGVuZ3RoIC0gMSk7XG4gIHZhciBhY3Rpb24gPSBBY3Rpb24uUG9wO1xuICB2YXIgbG9jYXRpb24gPSBlbnRyaWVzW2luZGV4XTtcbiAgdmFyIGxpc3RlbmVycyA9IGNyZWF0ZUV2ZW50cygpO1xuICB2YXIgYmxvY2tlcnMgPSBjcmVhdGVFdmVudHMoKTtcblxuICBmdW5jdGlvbiBjcmVhdGVIcmVmKHRvKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB0byA9PT0gJ3N0cmluZycgPyB0byA6IGNyZWF0ZVBhdGgodG8pO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0TmV4dExvY2F0aW9uKHRvLCBzdGF0ZSkge1xuICAgIGlmIChzdGF0ZSA9PT0gdm9pZCAwKSB7XG4gICAgICBzdGF0ZSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlYWRPbmx5KF9leHRlbmRzKHtcbiAgICAgIHBhdGhuYW1lOiBsb2NhdGlvbi5wYXRobmFtZSxcbiAgICAgIHNlYXJjaDogJycsXG4gICAgICBoYXNoOiAnJ1xuICAgIH0sIHR5cGVvZiB0byA9PT0gJ3N0cmluZycgPyBwYXJzZVBhdGgodG8pIDogdG8sIHtcbiAgICAgIHN0YXRlOiBzdGF0ZSxcbiAgICAgIGtleTogY3JlYXRlS2V5KClcbiAgICB9KSk7XG4gIH1cblxuICBmdW5jdGlvbiBhbGxvd1R4KGFjdGlvbiwgbG9jYXRpb24sIHJldHJ5KSB7XG4gICAgcmV0dXJuICFibG9ja2Vycy5sZW5ndGggfHwgKGJsb2NrZXJzLmNhbGwoe1xuICAgICAgYWN0aW9uOiBhY3Rpb24sXG4gICAgICBsb2NhdGlvbjogbG9jYXRpb24sXG4gICAgICByZXRyeTogcmV0cnlcbiAgICB9KSwgZmFsc2UpO1xuICB9XG5cbiAgZnVuY3Rpb24gYXBwbHlUeChuZXh0QWN0aW9uLCBuZXh0TG9jYXRpb24pIHtcbiAgICBhY3Rpb24gPSBuZXh0QWN0aW9uO1xuICAgIGxvY2F0aW9uID0gbmV4dExvY2F0aW9uO1xuICAgIGxpc3RlbmVycy5jYWxsKHtcbiAgICAgIGFjdGlvbjogYWN0aW9uLFxuICAgICAgbG9jYXRpb246IGxvY2F0aW9uXG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBwdXNoKHRvLCBzdGF0ZSkge1xuICAgIHZhciBuZXh0QWN0aW9uID0gQWN0aW9uLlB1c2g7XG4gICAgdmFyIG5leHRMb2NhdGlvbiA9IGdldE5leHRMb2NhdGlvbih0bywgc3RhdGUpO1xuXG4gICAgZnVuY3Rpb24gcmV0cnkoKSB7XG4gICAgICBwdXNoKHRvLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gd2FybmluZyhsb2NhdGlvbi5wYXRobmFtZS5jaGFyQXQoMCkgPT09ICcvJywgXCJSZWxhdGl2ZSBwYXRobmFtZXMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gbWVtb3J5IGhpc3RvcnkucHVzaChcIiArIEpTT04uc3RyaW5naWZ5KHRvKSArIFwiKVwiKSA6IHZvaWQgMDtcblxuICAgIGlmIChhbGxvd1R4KG5leHRBY3Rpb24sIG5leHRMb2NhdGlvbiwgcmV0cnkpKSB7XG4gICAgICBpbmRleCArPSAxO1xuICAgICAgZW50cmllcy5zcGxpY2UoaW5kZXgsIGVudHJpZXMubGVuZ3RoLCBuZXh0TG9jYXRpb24pO1xuICAgICAgYXBwbHlUeChuZXh0QWN0aW9uLCBuZXh0TG9jYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHJlcGxhY2UodG8sIHN0YXRlKSB7XG4gICAgdmFyIG5leHRBY3Rpb24gPSBBY3Rpb24uUmVwbGFjZTtcbiAgICB2YXIgbmV4dExvY2F0aW9uID0gZ2V0TmV4dExvY2F0aW9uKHRvLCBzdGF0ZSk7XG5cbiAgICBmdW5jdGlvbiByZXRyeSgpIHtcbiAgICAgIHJlcGxhY2UodG8sIHN0YXRlKTtcbiAgICB9XG5cbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyB3YXJuaW5nKGxvY2F0aW9uLnBhdGhuYW1lLmNoYXJBdCgwKSA9PT0gJy8nLCBcIlJlbGF0aXZlIHBhdGhuYW1lcyBhcmUgbm90IHN1cHBvcnRlZCBpbiBtZW1vcnkgaGlzdG9yeS5yZXBsYWNlKFwiICsgSlNPTi5zdHJpbmdpZnkodG8pICsgXCIpXCIpIDogdm9pZCAwO1xuXG4gICAgaWYgKGFsbG93VHgobmV4dEFjdGlvbiwgbmV4dExvY2F0aW9uLCByZXRyeSkpIHtcbiAgICAgIGVudHJpZXNbaW5kZXhdID0gbmV4dExvY2F0aW9uO1xuICAgICAgYXBwbHlUeChuZXh0QWN0aW9uLCBuZXh0TG9jYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGdvKGRlbHRhKSB7XG4gICAgdmFyIG5leHRJbmRleCA9IGNsYW1wKGluZGV4ICsgZGVsdGEsIDAsIGVudHJpZXMubGVuZ3RoIC0gMSk7XG4gICAgdmFyIG5leHRBY3Rpb24gPSBBY3Rpb24uUG9wO1xuICAgIHZhciBuZXh0TG9jYXRpb24gPSBlbnRyaWVzW25leHRJbmRleF07XG5cbiAgICBmdW5jdGlvbiByZXRyeSgpIHtcbiAgICAgIGdvKGRlbHRhKTtcbiAgICB9XG5cbiAgICBpZiAoYWxsb3dUeChuZXh0QWN0aW9uLCBuZXh0TG9jYXRpb24sIHJldHJ5KSkge1xuICAgICAgaW5kZXggPSBuZXh0SW5kZXg7XG4gICAgICBhcHBseVR4KG5leHRBY3Rpb24sIG5leHRMb2NhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgdmFyIGhpc3RvcnkgPSB7XG4gICAgZ2V0IGluZGV4KCkge1xuICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH0sXG5cbiAgICBnZXQgYWN0aW9uKCkge1xuICAgICAgcmV0dXJuIGFjdGlvbjtcbiAgICB9LFxuXG4gICAgZ2V0IGxvY2F0aW9uKCkge1xuICAgICAgcmV0dXJuIGxvY2F0aW9uO1xuICAgIH0sXG5cbiAgICBjcmVhdGVIcmVmOiBjcmVhdGVIcmVmLFxuICAgIHB1c2g6IHB1c2gsXG4gICAgcmVwbGFjZTogcmVwbGFjZSxcbiAgICBnbzogZ28sXG4gICAgYmFjazogZnVuY3Rpb24gYmFjaygpIHtcbiAgICAgIGdvKC0xKTtcbiAgICB9LFxuICAgIGZvcndhcmQ6IGZ1bmN0aW9uIGZvcndhcmQoKSB7XG4gICAgICBnbygxKTtcbiAgICB9LFxuICAgIGxpc3RlbjogZnVuY3Rpb24gbGlzdGVuKGxpc3RlbmVyKSB7XG4gICAgICByZXR1cm4gbGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuICAgIH0sXG4gICAgYmxvY2s6IGZ1bmN0aW9uIGJsb2NrKGJsb2NrZXIpIHtcbiAgICAgIHJldHVybiBibG9ja2Vycy5wdXNoKGJsb2NrZXIpO1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIGhpc3Rvcnk7XG59IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBVVElMU1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuZnVuY3Rpb24gY2xhbXAobiwgbG93ZXJCb3VuZCwgdXBwZXJCb3VuZCkge1xuICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgobiwgbG93ZXJCb3VuZCksIHVwcGVyQm91bmQpO1xufVxuXG5mdW5jdGlvbiBwcm9tcHRCZWZvcmVVbmxvYWQoZXZlbnQpIHtcbiAgLy8gQ2FuY2VsIHRoZSBldmVudC5cbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gQ2hyb21lIChhbmQgbGVnYWN5IElFKSByZXF1aXJlcyByZXR1cm5WYWx1ZSB0byBiZSBzZXQuXG5cbiAgZXZlbnQucmV0dXJuVmFsdWUgPSAnJztcbn1cblxuZnVuY3Rpb24gY3JlYXRlRXZlbnRzKCkge1xuICB2YXIgaGFuZGxlcnMgPSBbXTtcbiAgcmV0dXJuIHtcbiAgICBnZXQgbGVuZ3RoKCkge1xuICAgICAgcmV0dXJuIGhhbmRsZXJzLmxlbmd0aDtcbiAgICB9LFxuXG4gICAgcHVzaDogZnVuY3Rpb24gcHVzaChmbikge1xuICAgICAgaGFuZGxlcnMucHVzaChmbik7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICBoYW5kbGVycyA9IGhhbmRsZXJzLmZpbHRlcihmdW5jdGlvbiAoaGFuZGxlcikge1xuICAgICAgICAgIHJldHVybiBoYW5kbGVyICE9PSBmbjtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0sXG4gICAgY2FsbDogZnVuY3Rpb24gY2FsbChhcmcpIHtcbiAgICAgIGhhbmRsZXJzLmZvckVhY2goZnVuY3Rpb24gKGZuKSB7XG4gICAgICAgIHJldHVybiBmbiAmJiBmbihhcmcpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVLZXkoKSB7XG4gIHJldHVybiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiwgOCk7XG59XG4vKipcclxuICogQ3JlYXRlcyBhIHN0cmluZyBVUkwgcGF0aCBmcm9tIHRoZSBnaXZlbiBwYXRobmFtZSwgc2VhcmNoLCBhbmQgaGFzaCBjb21wb25lbnRzLlxyXG4gKlxyXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9yZW1peC1ydW4vaGlzdG9yeS90cmVlL21haW4vZG9jcy9hcGktcmVmZXJlbmNlLm1kI2NyZWF0ZXBhdGhcclxuICovXG5cblxuZnVuY3Rpb24gY3JlYXRlUGF0aChfcmVmKSB7XG4gIHZhciBfcmVmJHBhdGhuYW1lID0gX3JlZi5wYXRobmFtZSxcbiAgICAgIHBhdGhuYW1lID0gX3JlZiRwYXRobmFtZSA9PT0gdm9pZCAwID8gJy8nIDogX3JlZiRwYXRobmFtZSxcbiAgICAgIF9yZWYkc2VhcmNoID0gX3JlZi5zZWFyY2gsXG4gICAgICBzZWFyY2ggPSBfcmVmJHNlYXJjaCA9PT0gdm9pZCAwID8gJycgOiBfcmVmJHNlYXJjaCxcbiAgICAgIF9yZWYkaGFzaCA9IF9yZWYuaGFzaCxcbiAgICAgIGhhc2ggPSBfcmVmJGhhc2ggPT09IHZvaWQgMCA/ICcnIDogX3JlZiRoYXNoO1xuICBpZiAoc2VhcmNoICYmIHNlYXJjaCAhPT0gJz8nKSBwYXRobmFtZSArPSBzZWFyY2guY2hhckF0KDApID09PSAnPycgPyBzZWFyY2ggOiAnPycgKyBzZWFyY2g7XG4gIGlmIChoYXNoICYmIGhhc2ggIT09ICcjJykgcGF0aG5hbWUgKz0gaGFzaC5jaGFyQXQoMCkgPT09ICcjJyA/IGhhc2ggOiAnIycgKyBoYXNoO1xuICByZXR1cm4gcGF0aG5hbWU7XG59XG4vKipcclxuICogUGFyc2VzIGEgc3RyaW5nIFVSTCBwYXRoIGludG8gaXRzIHNlcGFyYXRlIHBhdGhuYW1lLCBzZWFyY2gsIGFuZCBoYXNoIGNvbXBvbmVudHMuXHJcbiAqXHJcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3JlbWl4LXJ1bi9oaXN0b3J5L3RyZWUvbWFpbi9kb2NzL2FwaS1yZWZlcmVuY2UubWQjcGFyc2VwYXRoXHJcbiAqL1xuXG5mdW5jdGlvbiBwYXJzZVBhdGgocGF0aCkge1xuICB2YXIgcGFyc2VkUGF0aCA9IHt9O1xuXG4gIGlmIChwYXRoKSB7XG4gICAgdmFyIGhhc2hJbmRleCA9IHBhdGguaW5kZXhPZignIycpO1xuXG4gICAgaWYgKGhhc2hJbmRleCA+PSAwKSB7XG4gICAgICBwYXJzZWRQYXRoLmhhc2ggPSBwYXRoLnN1YnN0cihoYXNoSW5kZXgpO1xuICAgICAgcGF0aCA9IHBhdGguc3Vic3RyKDAsIGhhc2hJbmRleCk7XG4gICAgfVxuXG4gICAgdmFyIHNlYXJjaEluZGV4ID0gcGF0aC5pbmRleE9mKCc/Jyk7XG5cbiAgICBpZiAoc2VhcmNoSW5kZXggPj0gMCkge1xuICAgICAgcGFyc2VkUGF0aC5zZWFyY2ggPSBwYXRoLnN1YnN0cihzZWFyY2hJbmRleCk7XG4gICAgICBwYXRoID0gcGF0aC5zdWJzdHIoMCwgc2VhcmNoSW5kZXgpO1xuICAgIH1cblxuICAgIGlmIChwYXRoKSB7XG4gICAgICBwYXJzZWRQYXRoLnBhdGhuYW1lID0gcGF0aDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcGFyc2VkUGF0aDtcbn1cblxuZXhwb3J0IHsgQWN0aW9uLCBjcmVhdGVCcm93c2VySGlzdG9yeSwgY3JlYXRlSGFzaEhpc3RvcnksIGNyZWF0ZU1lbW9yeUhpc3RvcnksIGNyZWF0ZVBhdGgsIHBhcnNlUGF0aCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/history/index.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/Icon.js": -/*!****************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/Icon.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Icon)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _defaultAttributes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaultAttributes.js */ \"./node_modules/lucide-react/dist/esm/defaultAttributes.js\");\n/* harmony import */ var _shared_src_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared/src/utils.js */ \"./node_modules/lucide-react/dist/esm/shared/src/utils.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\n\n\nconst Icon = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(\n \"svg\",\n {\n ref,\n ..._defaultAttributes_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: (0,_shared_src_utils_js__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(\"lucide\", className),\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n );\n }\n);\n\n\n//# sourceMappingURL=Icon.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL0ljb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWtEO0FBQ0s7QUFDRjs7QUFFckQsYUFBYSxpREFBVTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsV0FBVyxvREFBYTtBQUN4QjtBQUNBO0FBQ0E7QUFDQSxXQUFXLDZEQUFpQjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixrRUFBWTtBQUMvQjtBQUNBLE9BQU87QUFDUDtBQUNBLDBDQUEwQyxvREFBYTtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUUyQjtBQUMzQiIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL2x1Y2lkZS1yZWFjdC9kaXN0L2VzbS9JY29uLmpzP2NlZDciXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDQ2LjAgLSBJU0NcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS5cbiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbmltcG9ydCB7IGZvcndhcmRSZWYsIGNyZWF0ZUVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgZGVmYXVsdEF0dHJpYnV0ZXMgZnJvbSAnLi9kZWZhdWx0QXR0cmlidXRlcy5qcyc7XG5pbXBvcnQgeyBtZXJnZUNsYXNzZXMgfSBmcm9tICcuL3NoYXJlZC9zcmMvdXRpbHMuanMnO1xuXG5jb25zdCBJY29uID0gZm9yd2FyZFJlZihcbiAgKHtcbiAgICBjb2xvciA9IFwiY3VycmVudENvbG9yXCIsXG4gICAgc2l6ZSA9IDI0LFxuICAgIHN0cm9rZVdpZHRoID0gMixcbiAgICBhYnNvbHV0ZVN0cm9rZVdpZHRoLFxuICAgIGNsYXNzTmFtZSA9IFwiXCIsXG4gICAgY2hpbGRyZW4sXG4gICAgaWNvbk5vZGUsXG4gICAgLi4ucmVzdFxuICB9LCByZWYpID0+IHtcbiAgICByZXR1cm4gY3JlYXRlRWxlbWVudChcbiAgICAgIFwic3ZnXCIsXG4gICAgICB7XG4gICAgICAgIHJlZixcbiAgICAgICAgLi4uZGVmYXVsdEF0dHJpYnV0ZXMsXG4gICAgICAgIHdpZHRoOiBzaXplLFxuICAgICAgICBoZWlnaHQ6IHNpemUsXG4gICAgICAgIHN0cm9rZTogY29sb3IsXG4gICAgICAgIHN0cm9rZVdpZHRoOiBhYnNvbHV0ZVN0cm9rZVdpZHRoID8gTnVtYmVyKHN0cm9rZVdpZHRoKSAqIDI0IC8gTnVtYmVyKHNpemUpIDogc3Ryb2tlV2lkdGgsXG4gICAgICAgIGNsYXNzTmFtZTogbWVyZ2VDbGFzc2VzKFwibHVjaWRlXCIsIGNsYXNzTmFtZSksXG4gICAgICAgIC4uLnJlc3RcbiAgICAgIH0sXG4gICAgICBbXG4gICAgICAgIC4uLmljb25Ob2RlLm1hcCgoW3RhZywgYXR0cnNdKSA9PiBjcmVhdGVFbGVtZW50KHRhZywgYXR0cnMpKSxcbiAgICAgICAgLi4uQXJyYXkuaXNBcnJheShjaGlsZHJlbikgPyBjaGlsZHJlbiA6IFtjaGlsZHJlbl1cbiAgICAgIF1cbiAgICApO1xuICB9XG4pO1xuXG5leHBvcnQgeyBJY29uIGFzIGRlZmF1bHQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUljb24uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/Icon.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/createLucideIcon.js": -/*!****************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/createLucideIcon.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ createLucideIcon)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _shared_src_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared/src/utils.js */ \"./node_modules/lucide-react/dist/esm/shared/src/utils.js\");\n/* harmony import */ var _Icon_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Icon.js */ \"./node_modules/lucide-react/dist/esm/Icon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\n\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(\n ({ className, ...props }, ref) => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_Icon_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n ref,\n iconNode,\n className: (0,_shared_src_utils_js__WEBPACK_IMPORTED_MODULE_2__.mergeClasses)(`lucide-${(0,_shared_src_utils_js__WEBPACK_IMPORTED_MODULE_2__.toKebabCase)(iconName)}`, className),\n ...props\n })\n );\n Component.displayName = `${iconName}`;\n return Component;\n};\n\n\n//# sourceMappingURL=createLucideIcon.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2NyZWF0ZUx1Y2lkZUljb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWtEO0FBQ2dCO0FBQ3JDOztBQUU3QjtBQUNBLG9CQUFvQixpREFBVTtBQUM5QixPQUFPLHFCQUFxQixVQUFVLG9EQUFhLENBQUMsZ0RBQUk7QUFDeEQ7QUFDQTtBQUNBLGlCQUFpQixrRUFBWSxXQUFXLGlFQUFXLFdBQVc7QUFDOUQ7QUFDQSxLQUFLO0FBQ0w7QUFDQSw2QkFBNkIsU0FBUztBQUN0QztBQUNBOztBQUV1QztBQUN2QyIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL2x1Y2lkZS1yZWFjdC9kaXN0L2VzbS9jcmVhdGVMdWNpZGVJY29uLmpzP2U3NjkiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDQ2LjAgLSBJU0NcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS5cbiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbmltcG9ydCB7IGZvcndhcmRSZWYsIGNyZWF0ZUVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBtZXJnZUNsYXNzZXMsIHRvS2ViYWJDYXNlIH0gZnJvbSAnLi9zaGFyZWQvc3JjL3V0aWxzLmpzJztcbmltcG9ydCBJY29uIGZyb20gJy4vSWNvbi5qcyc7XG5cbmNvbnN0IGNyZWF0ZUx1Y2lkZUljb24gPSAoaWNvbk5hbWUsIGljb25Ob2RlKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudCA9IGZvcndhcmRSZWYoXG4gICAgKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+IGNyZWF0ZUVsZW1lbnQoSWNvbiwge1xuICAgICAgcmVmLFxuICAgICAgaWNvbk5vZGUsXG4gICAgICBjbGFzc05hbWU6IG1lcmdlQ2xhc3NlcyhgbHVjaWRlLSR7dG9LZWJhYkNhc2UoaWNvbk5hbWUpfWAsIGNsYXNzTmFtZSksXG4gICAgICAuLi5wcm9wc1xuICAgIH0pXG4gICk7XG4gIENvbXBvbmVudC5kaXNwbGF5TmFtZSA9IGAke2ljb25OYW1lfWA7XG4gIHJldHVybiBDb21wb25lbnQ7XG59O1xuXG5leHBvcnQgeyBjcmVhdGVMdWNpZGVJY29uIGFzIGRlZmF1bHQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZUx1Y2lkZUljb24uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/createLucideIcon.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/defaultAttributes.js": -/*!*****************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/defaultAttributes.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ defaultAttributes)\n/* harmony export */ });\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\n\n//# sourceMappingURL=defaultAttributes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2RlZmF1bHRBdHRyaWJ1dGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFd0M7QUFDeEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vZGVmYXVsdEF0dHJpYnV0ZXMuanM/MmM1ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NDYuMCAtIElTQ1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLlxuICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxudmFyIGRlZmF1bHRBdHRyaWJ1dGVzID0ge1xuICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICB3aWR0aDogMjQsXG4gIGhlaWdodDogMjQsXG4gIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXG4gIGZpbGw6IFwibm9uZVwiLFxuICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXG4gIHN0cm9rZVdpZHRoOiAyLFxuICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCJcbn07XG5cbmV4cG9ydCB7IGRlZmF1bHRBdHRyaWJ1dGVzIGFzIGRlZmF1bHQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRlZmF1bHRBdHRyaWJ1dGVzLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/defaultAttributes.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/arrow-up-right.js": -/*!********************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/arrow-up-right.js ***! - \********************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ArrowUpRight)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst ArrowUpRight = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"ArrowUpRight\", [\n [\"path\", { d: \"M7 7h10v10\", key: \"1tivn9\" }],\n [\"path\", { d: \"M7 17 17 7\", key: \"1vkiza\" }]\n]);\n\n\n//# sourceMappingURL=arrow-up-right.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLXJpZ2h0LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVzRDs7QUFFdEQscUJBQXFCLGdFQUFnQjtBQUNyQyxhQUFhLGdDQUFnQztBQUM3QyxhQUFhLGdDQUFnQztBQUM3Qzs7QUFFbUM7QUFDbkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvYXJyb3ctdXAtcmlnaHQuanM/ZDU0ZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NDYuMCAtIElTQ1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLlxuICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbi5qcyc7XG5cbmNvbnN0IEFycm93VXBSaWdodCA9IGNyZWF0ZUx1Y2lkZUljb24oXCJBcnJvd1VwUmlnaHRcIiwgW1xuICBbXCJwYXRoXCIsIHsgZDogXCJNNyA3aDEwdjEwXCIsIGtleTogXCIxdGl2bjlcIiB9XSxcbiAgW1wicGF0aFwiLCB7IGQ6IFwiTTcgMTcgMTcgN1wiLCBrZXk6IFwiMXZraXphXCIgfV1cbl0pO1xuXG5leHBvcnQgeyBBcnJvd1VwUmlnaHQgYXMgZGVmYXVsdCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXJyb3ctdXAtcmlnaHQuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/arrow-up-right.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/check.js": -/*!***********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/check.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Check)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst Check = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Check\", [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]]);\n\n\n//# sourceMappingURL=check.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2NoZWNrLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVzRDs7QUFFdEQsY0FBYyxnRUFBZ0Isc0JBQXNCLHFDQUFxQzs7QUFFN0Q7QUFDNUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvY2hlY2suanM/MTI2ZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NDYuMCAtIElTQ1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLlxuICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbi5qcyc7XG5cbmNvbnN0IENoZWNrID0gY3JlYXRlTHVjaWRlSWNvbihcIkNoZWNrXCIsIFtbXCJwYXRoXCIsIHsgZDogXCJNMjAgNiA5IDE3bC01LTVcIiwga2V5OiBcIjFnbWYyY1wiIH1dXSk7XG5cbmV4cG9ydCB7IENoZWNrIGFzIGRlZmF1bHQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNoZWNrLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/check.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/circle-help.js": -/*!*****************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/circle-help.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CircleHelp)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst CircleHelp = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"CircleHelp\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\", key: \"1u773s\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n]);\n\n\n//# sourceMappingURL=circle-help.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1oZWxwLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVzRDs7QUFFdEQsbUJBQW1CLGdFQUFnQjtBQUNuQyxlQUFlLDRDQUE0QztBQUMzRCxhQUFhLDBEQUEwRDtBQUN2RSxhQUFhLGdDQUFnQztBQUM3Qzs7QUFFaUM7QUFDakMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWhlbHAuanM/YjEyMyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NDYuMCAtIElTQ1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLlxuICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbi5qcyc7XG5cbmNvbnN0IENpcmNsZUhlbHAgPSBjcmVhdGVMdWNpZGVJY29uKFwiQ2lyY2xlSGVscFwiLCBbXG4gIFtcImNpcmNsZVwiLCB7IGN4OiBcIjEyXCIsIGN5OiBcIjEyXCIsIHI6IFwiMTBcIiwga2V5OiBcIjFtZ2xheVwiIH1dLFxuICBbXCJwYXRoXCIsIHsgZDogXCJNOS4wOSA5YTMgMyAwIDAgMSA1LjgzIDFjMCAyLTMgMy0zIDNcIiwga2V5OiBcIjF1Nzczc1wiIH1dLFxuICBbXCJwYXRoXCIsIHsgZDogXCJNMTIgMTdoLjAxXCIsIGtleTogXCJwMzJwMDVcIiB9XVxuXSk7XG5cbmV4cG9ydCB7IENpcmNsZUhlbHAgYXMgZGVmYXVsdCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y2lyY2xlLWhlbHAuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/circle-help.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/external-link.js": -/*!*******************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/external-link.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ExternalLink)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst ExternalLink = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"ExternalLink\", [\n [\"path\", { d: \"M15 3h6v6\", key: \"1q9fwt\" }],\n [\"path\", { d: \"M10 14 21 3\", key: \"gplh6r\" }],\n [\"path\", { d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\", key: \"a6xqqp\" }]\n]);\n\n\n//# sourceMappingURL=external-link.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2V4dGVybmFsLWxpbmsuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNEOztBQUV0RCxxQkFBcUIsZ0VBQWdCO0FBQ3JDLGFBQWEsK0JBQStCO0FBQzVDLGFBQWEsaUNBQWlDO0FBQzlDLGFBQWEsOEVBQThFO0FBQzNGOztBQUVtQztBQUNuQyIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL2x1Y2lkZS1yZWFjdC9kaXN0L2VzbS9pY29ucy9leHRlcm5hbC1saW5rLmpzPzQ1M2QiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDQ2LjAgLSBJU0NcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS5cbiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbmltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24uanMnO1xuXG5jb25zdCBFeHRlcm5hbExpbmsgPSBjcmVhdGVMdWNpZGVJY29uKFwiRXh0ZXJuYWxMaW5rXCIsIFtcbiAgW1wicGF0aFwiLCB7IGQ6IFwiTTE1IDNoNnY2XCIsIGtleTogXCIxcTlmd3RcIiB9XSxcbiAgW1wicGF0aFwiLCB7IGQ6IFwiTTEwIDE0IDIxIDNcIiwga2V5OiBcImdwbGg2clwiIH1dLFxuICBbXCJwYXRoXCIsIHsgZDogXCJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNlwiLCBrZXk6IFwiYTZ4cXFwXCIgfV1cbl0pO1xuXG5leHBvcnQgeyBFeHRlcm5hbExpbmsgYXMgZGVmYXVsdCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXh0ZXJuYWwtbGluay5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/external-link.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/file-text.js": -/*!***************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/file-text.js ***! - \***************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ FileText)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst FileText = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"FileText\", [\n [\"path\", { d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\", key: \"1rqfz7\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n]);\n\n\n//# sourceMappingURL=file-text.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2ZpbGUtdGV4dC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFc0Q7O0FBRXRELGlCQUFpQixnRUFBZ0I7QUFDakMsYUFBYSxnRkFBZ0Y7QUFDN0YsYUFBYSw2Q0FBNkM7QUFDMUQsYUFBYSw2QkFBNkI7QUFDMUMsYUFBYSw4QkFBOEI7QUFDM0MsYUFBYSw4QkFBOEI7QUFDM0M7O0FBRStCO0FBQy9CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2ZpbGUtdGV4dC5qcz80YjM4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ0Ni4wIC0gSVNDXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuXG4gKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5pbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uLmpzJztcblxuY29uc3QgRmlsZVRleHQgPSBjcmVhdGVMdWNpZGVJY29uKFwiRmlsZVRleHRcIiwgW1xuICBbXCJwYXRoXCIsIHsgZDogXCJNMTUgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjdaXCIsIGtleTogXCIxcnFmejdcIiB9XSxcbiAgW1wicGF0aFwiLCB7IGQ6IFwiTTE0IDJ2NGEyIDIgMCAwIDAgMiAyaDRcIiwga2V5OiBcInRucXJsYlwiIH1dLFxuICBbXCJwYXRoXCIsIHsgZDogXCJNMTAgOUg4XCIsIGtleTogXCJiMW1ybHJcIiB9XSxcbiAgW1wicGF0aFwiLCB7IGQ6IFwiTTE2IDEzSDhcIiwga2V5OiBcInQ0ZTAwMlwiIH1dLFxuICBbXCJwYXRoXCIsIHsgZDogXCJNMTYgMTdIOFwiLCBrZXk6IFwiejF1aDNhXCIgfV1cbl0pO1xuXG5leHBvcnQgeyBGaWxlVGV4dCBhcyBkZWZhdWx0IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1maWxlLXRleHQuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/file-text.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/headphones.js": -/*!****************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/headphones.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Headphones)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst Headphones = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Headphones\", [\n [\n \"path\",\n {\n d: \"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3\",\n key: \"1xhozi\"\n }\n ]\n]);\n\n\n//# sourceMappingURL=headphones.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2hlYWRwaG9uZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNEOztBQUV0RCxtQkFBbUIsZ0VBQWdCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWlDO0FBQ2pDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2hlYWRwaG9uZXMuanM/ZGVhNyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NDYuMCAtIElTQ1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLlxuICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbi5qcyc7XG5cbmNvbnN0IEhlYWRwaG9uZXMgPSBjcmVhdGVMdWNpZGVJY29uKFwiSGVhZHBob25lc1wiLCBbXG4gIFtcbiAgICBcInBhdGhcIixcbiAgICB7XG4gICAgICBkOiBcIk0zIDE0aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi03YTkgOSAwIDAgMSAxOCAwdjdhMiAyIDAgMCAxLTIgMmgtMWEyIDIgMCAwIDEtMi0ydi0zYTIgMiAwIDAgMSAyLTJoM1wiLFxuICAgICAga2V5OiBcIjF4aG96aVwiXG4gICAgfVxuICBdXG5dKTtcblxuZXhwb3J0IHsgSGVhZHBob25lcyBhcyBkZWZhdWx0IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFkcGhvbmVzLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/headphones.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/headset.js": -/*!*************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/headset.js ***! - \*************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Headset)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst Headset = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Headset\", [\n [\n \"path\",\n {\n d: \"M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z\",\n key: \"12oyoe\"\n }\n ],\n [\"path\", { d: \"M21 16v2a4 4 0 0 1-4 4h-5\", key: \"1x7m43\" }]\n]);\n\n\n//# sourceMappingURL=headset.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2hlYWRzZXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNEOztBQUV0RCxnQkFBZ0IsZ0VBQWdCO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSwrQ0FBK0M7QUFDNUQ7O0FBRThCO0FBQzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2hlYWRzZXQuanM/NGNkMyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NDYuMCAtIElTQ1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLlxuICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbi5qcyc7XG5cbmNvbnN0IEhlYWRzZXQgPSBjcmVhdGVMdWNpZGVJY29uKFwiSGVhZHNldFwiLCBbXG4gIFtcbiAgICBcInBhdGhcIixcbiAgICB7XG4gICAgICBkOiBcIk0zIDExaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi01Wm0wIDBhOSA5IDAgMSAxIDE4IDBtMCAwdjVhMiAyIDAgMCAxLTIgMmgtMWEyIDIgMCAwIDEtMi0ydi0zYTIgMiAwIDAgMSAyLTJoM1pcIixcbiAgICAgIGtleTogXCIxMm95b2VcIlxuICAgIH1cbiAgXSxcbiAgW1wicGF0aFwiLCB7IGQ6IFwiTTIxIDE2djJhNCA0IDAgMCAxLTQgNGgtNVwiLCBrZXk6IFwiMXg3bTQzXCIgfV1cbl0pO1xuXG5leHBvcnQgeyBIZWFkc2V0IGFzIGRlZmF1bHQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlYWRzZXQuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/headset.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/info.js": -/*!**********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/info.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Info)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst Info = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Info\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 16v-4\", key: \"1dtifu\" }],\n [\"path\", { d: \"M12 8h.01\", key: \"e9boi3\" }]\n]);\n\n\n//# sourceMappingURL=info.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2luZm8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNEOztBQUV0RCxhQUFhLGdFQUFnQjtBQUM3QixlQUFlLDRDQUE0QztBQUMzRCxhQUFhLCtCQUErQjtBQUM1QyxhQUFhLCtCQUErQjtBQUM1Qzs7QUFFMkI7QUFDM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvaW5mby5qcz8xZWZiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ0Ni4wIC0gSVNDXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuXG4gKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5pbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uLmpzJztcblxuY29uc3QgSW5mbyA9IGNyZWF0ZUx1Y2lkZUljb24oXCJJbmZvXCIsIFtcbiAgW1wiY2lyY2xlXCIsIHsgY3g6IFwiMTJcIiwgY3k6IFwiMTJcIiwgcjogXCIxMFwiLCBrZXk6IFwiMW1nbGF5XCIgfV0sXG4gIFtcInBhdGhcIiwgeyBkOiBcIk0xMiAxNnYtNFwiLCBrZXk6IFwiMWR0aWZ1XCIgfV0sXG4gIFtcInBhdGhcIiwgeyBkOiBcIk0xMiA4aC4wMVwiLCBrZXk6IFwiZTlib2kzXCIgfV1cbl0pO1xuXG5leHBvcnQgeyBJbmZvIGFzIGRlZmF1bHQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZm8uanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/info.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/loader-circle.js": -/*!*******************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/loader-circle.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LoaderCircle)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst LoaderCircle = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"LoaderCircle\", [\n [\"path\", { d: \"M21 12a9 9 0 1 1-6.219-8.56\", key: \"13zald\" }]\n]);\n\n\n//# sourceMappingURL=loader-circle.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2xvYWRlci1jaXJjbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNEOztBQUV0RCxxQkFBcUIsZ0VBQWdCO0FBQ3JDLGFBQWEsaURBQWlEO0FBQzlEOztBQUVtQztBQUNuQyIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL2x1Y2lkZS1yZWFjdC9kaXN0L2VzbS9pY29ucy9sb2FkZXItY2lyY2xlLmpzP2VmYzYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDQ2LjAgLSBJU0NcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS5cbiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbmltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24uanMnO1xuXG5jb25zdCBMb2FkZXJDaXJjbGUgPSBjcmVhdGVMdWNpZGVJY29uKFwiTG9hZGVyQ2lyY2xlXCIsIFtcbiAgW1wicGF0aFwiLCB7IGQ6IFwiTTIxIDEyYTkgOSAwIDEgMS02LjIxOS04LjU2XCIsIGtleTogXCIxM3phbGRcIiB9XVxuXSk7XG5cbmV4cG9ydCB7IExvYWRlckNpcmNsZSBhcyBkZWZhdWx0IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1sb2FkZXItY2lyY2xlLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/loader-circle.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/notepad-text.js": -/*!******************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/notepad-text.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ NotepadText)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst NotepadText = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"NotepadText\", [\n [\"path\", { d: \"M8 2v4\", key: \"1cmpym\" }],\n [\"path\", { d: \"M12 2v4\", key: \"3427ic\" }],\n [\"path\", { d: \"M16 2v4\", key: \"4m81vk\" }],\n [\"rect\", { width: \"16\", height: \"18\", x: \"4\", y: \"4\", rx: \"2\", key: \"1u9h20\" }],\n [\"path\", { d: \"M8 10h6\", key: \"3oa6kw\" }],\n [\"path\", { d: \"M8 14h8\", key: \"1fgep2\" }],\n [\"path\", { d: \"M8 18h5\", key: \"17enja\" }]\n]);\n\n\n//# sourceMappingURL=notepad-text.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL25vdGVwYWQtdGV4dC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFc0Q7O0FBRXRELG9CQUFvQixnRUFBZ0I7QUFDcEMsYUFBYSw0QkFBNEI7QUFDekMsYUFBYSw2QkFBNkI7QUFDMUMsYUFBYSw2QkFBNkI7QUFDMUMsYUFBYSxtRUFBbUU7QUFDaEYsYUFBYSw2QkFBNkI7QUFDMUMsYUFBYSw2QkFBNkI7QUFDMUMsYUFBYSw2QkFBNkI7QUFDMUM7O0FBRWtDO0FBQ2xDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL25vdGVwYWQtdGV4dC5qcz8wOGRjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ0Ni4wIC0gSVNDXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuXG4gKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5pbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uLmpzJztcblxuY29uc3QgTm90ZXBhZFRleHQgPSBjcmVhdGVMdWNpZGVJY29uKFwiTm90ZXBhZFRleHRcIiwgW1xuICBbXCJwYXRoXCIsIHsgZDogXCJNOCAydjRcIiwga2V5OiBcIjFjbXB5bVwiIH1dLFxuICBbXCJwYXRoXCIsIHsgZDogXCJNMTIgMnY0XCIsIGtleTogXCIzNDI3aWNcIiB9XSxcbiAgW1wicGF0aFwiLCB7IGQ6IFwiTTE2IDJ2NFwiLCBrZXk6IFwiNG04MXZrXCIgfV0sXG4gIFtcInJlY3RcIiwgeyB3aWR0aDogXCIxNlwiLCBoZWlnaHQ6IFwiMThcIiwgeDogXCI0XCIsIHk6IFwiNFwiLCByeDogXCIyXCIsIGtleTogXCIxdTloMjBcIiB9XSxcbiAgW1wicGF0aFwiLCB7IGQ6IFwiTTggMTBoNlwiLCBrZXk6IFwiM29hNmt3XCIgfV0sXG4gIFtcInBhdGhcIiwgeyBkOiBcIk04IDE0aDhcIiwga2V5OiBcIjFmZ2VwMlwiIH1dLFxuICBbXCJwYXRoXCIsIHsgZDogXCJNOCAxOGg1XCIsIGtleTogXCIxN2VuamFcIiB9XVxuXSk7XG5cbmV4cG9ydCB7IE5vdGVwYWRUZXh0IGFzIGRlZmF1bHQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vdGVwYWQtdGV4dC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/notepad-text.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/plus.js": -/*!**********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/plus.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Plus)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst Plus = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Plus\", [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }]\n]);\n\n\n//# sourceMappingURL=plus.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3BsdXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNEOztBQUV0RCxhQUFhLGdFQUFnQjtBQUM3QixhQUFhLDhCQUE4QjtBQUMzQyxhQUFhLDhCQUE4QjtBQUMzQzs7QUFFMkI7QUFDM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvcGx1cy5qcz9jOGMwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ0Ni4wIC0gSVNDXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuXG4gKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5pbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uLmpzJztcblxuY29uc3QgUGx1cyA9IGNyZWF0ZUx1Y2lkZUljb24oXCJQbHVzXCIsIFtcbiAgW1wicGF0aFwiLCB7IGQ6IFwiTTUgMTJoMTRcIiwga2V5OiBcIjFheXMwaFwiIH1dLFxuICBbXCJwYXRoXCIsIHsgZDogXCJNMTIgNXYxNFwiLCBrZXk6IFwiczY5OWxlXCIgfV1cbl0pO1xuXG5leHBvcnQgeyBQbHVzIGFzIGRlZmF1bHQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBsdXMuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/plus.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/search.js": -/*!************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/search.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Search)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst Search = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Search\", [\n [\"circle\", { cx: \"11\", cy: \"11\", r: \"8\", key: \"4ej97u\" }],\n [\"path\", { d: \"m21 21-4.3-4.3\", key: \"1qie3q\" }]\n]);\n\n\n//# sourceMappingURL=search.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3NlYXJjaC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFc0Q7O0FBRXRELGVBQWUsZ0VBQWdCO0FBQy9CLGVBQWUsMkNBQTJDO0FBQzFELGFBQWEsb0NBQW9DO0FBQ2pEOztBQUU2QjtBQUM3QiIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL2x1Y2lkZS1yZWFjdC9kaXN0L2VzbS9pY29ucy9zZWFyY2guanM/ZTk3MCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIGx1Y2lkZS1yZWFjdCB2MC40NDYuMCAtIElTQ1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLlxuICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbi5qcyc7XG5cbmNvbnN0IFNlYXJjaCA9IGNyZWF0ZUx1Y2lkZUljb24oXCJTZWFyY2hcIiwgW1xuICBbXCJjaXJjbGVcIiwgeyBjeDogXCIxMVwiLCBjeTogXCIxMVwiLCByOiBcIjhcIiwga2V5OiBcIjRlajk3dVwiIH1dLFxuICBbXCJwYXRoXCIsIHsgZDogXCJtMjEgMjEtNC4zLTQuM1wiLCBrZXk6IFwiMXFpZTNxXCIgfV1cbl0pO1xuXG5leHBvcnQgeyBTZWFyY2ggYXMgZGVmYXVsdCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VhcmNoLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/search.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/star.js": -/*!**********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/star.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Star)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst Star = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Star\", [\n [\n \"polygon\",\n {\n points: \"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\",\n key: \"8f66p6\"\n }\n ]\n]);\n\n\n//# sourceMappingURL=star.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3N0YXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNEOztBQUV0RCxhQUFhLGdFQUFnQjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUUyQjtBQUMzQiIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL2x1Y2lkZS1yZWFjdC9kaXN0L2VzbS9pY29ucy9zdGFyLmpzPzY5N2UiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBsdWNpZGUtcmVhY3QgdjAuNDQ2LjAgLSBJU0NcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS5cbiAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbmltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24uanMnO1xuXG5jb25zdCBTdGFyID0gY3JlYXRlTHVjaWRlSWNvbihcIlN0YXJcIiwgW1xuICBbXG4gICAgXCJwb2x5Z29uXCIsXG4gICAge1xuICAgICAgcG9pbnRzOiBcIjEyIDIgMTUuMDkgOC4yNiAyMiA5LjI3IDE3IDE0LjE0IDE4LjE4IDIxLjAyIDEyIDE3Ljc3IDUuODIgMjEuMDIgNyAxNC4xNCAyIDkuMjcgOC45MSA4LjI2IDEyIDJcIixcbiAgICAgIGtleTogXCI4ZjY2cDZcIlxuICAgIH1cbiAgXVxuXSk7XG5cbmV4cG9ydCB7IFN0YXIgYXMgZGVmYXVsdCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3Rhci5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/star.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/user.js": -/*!**********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/user.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ User)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst User = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"User\", [\n [\"path\", { d: \"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\", key: \"975kel\" }],\n [\"circle\", { cx: \"12\", cy: \"7\", r: \"4\", key: \"17ys0d\" }]\n]);\n\n\n//# sourceMappingURL=user.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3VzZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNEOztBQUV0RCxhQUFhLGdFQUFnQjtBQUM3QixhQUFhLCtEQUErRDtBQUM1RSxlQUFlLDBDQUEwQztBQUN6RDs7QUFFMkI7QUFDM0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMvdXNlci5qcz9mMzBkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ0Ni4wIC0gSVNDXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuXG4gKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5pbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uLmpzJztcblxuY29uc3QgVXNlciA9IGNyZWF0ZUx1Y2lkZUljb24oXCJVc2VyXCIsIFtcbiAgW1wicGF0aFwiLCB7IGQ6IFwiTTE5IDIxdi0yYTQgNCAwIDAgMC00LTRIOWE0IDQgMCAwIDAtNCA0djJcIiwga2V5OiBcIjk3NWtlbFwiIH1dLFxuICBbXCJjaXJjbGVcIiwgeyBjeDogXCIxMlwiLCBjeTogXCI3XCIsIHI6IFwiNFwiLCBrZXk6IFwiMTd5czBkXCIgfV1cbl0pO1xuXG5leHBvcnQgeyBVc2VyIGFzIGRlZmF1bHQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZXIuanMubWFwXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/user.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/x.js": -/*!*******************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/x.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ X)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst X = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"X\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\n\n//# sourceMappingURL=x.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3guanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNEOztBQUV0RCxVQUFVLGdFQUFnQjtBQUMxQixhQUFhLGdDQUFnQztBQUM3QyxhQUFhLGdDQUFnQztBQUM3Qzs7QUFFd0I7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vaWNvbnMveC5qcz8yMjEwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ0Ni4wIC0gSVNDXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuXG4gKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5pbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uLmpzJztcblxuY29uc3QgWCA9IGNyZWF0ZUx1Y2lkZUljb24oXCJYXCIsIFtcbiAgW1wicGF0aFwiLCB7IGQ6IFwiTTE4IDYgNiAxOFwiLCBrZXk6IFwiMWJsNWY4XCIgfV0sXG4gIFtcInBhdGhcIiwgeyBkOiBcIm02IDYgMTIgMTJcIiwga2V5OiBcImQ4Yms2dlwiIH1dXG5dKTtcblxuZXhwb3J0IHsgWCBhcyBkZWZhdWx0IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD14LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/x.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/icons/zap.js": -/*!*********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/zap.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Zap)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\n\n\nconst Zap = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Zap\", [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n]);\n\n\n//# sourceMappingURL=zap.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3phcC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFc0Q7O0FBRXRELFlBQVksZ0VBQWdCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRTBCO0FBQzFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3phcC5qcz8wN2ZjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ0Ni4wIC0gSVNDXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuXG4gKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5pbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uLmpzJztcblxuY29uc3QgWmFwID0gY3JlYXRlTHVjaWRlSWNvbihcIlphcFwiLCBbXG4gIFtcbiAgICBcInBhdGhcIixcbiAgICB7XG4gICAgICBkOiBcIk00IDE0YTEgMSAwIDAgMS0uNzgtMS42M2w5LjktMTAuMmEuNS41IDAgMCAxIC44Ni40NmwtMS45MiA2LjAyQTEgMSAwIDAgMCAxMyAxMGg3YTEgMSAwIDAgMSAuNzggMS42M2wtOS45IDEwLjJhLjUuNSAwIDAgMS0uODYtLjQ2bDEuOTItNi4wMkExIDEgMCAwIDAgMTEgMTR6XCIsXG4gICAgICBrZXk6IFwiMXhxMmRiXCJcbiAgICB9XG4gIF1cbl0pO1xuXG5leHBvcnQgeyBaYXAgYXMgZGVmYXVsdCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9emFwLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/icons/zap.js\n"); - -/***/ }), - -/***/ "./node_modules/lucide-react/dist/esm/shared/src/utils.js": -/*!****************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/shared/src/utils.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mergeClasses: () => (/* binding */ mergeClasses),\n/* harmony export */ toKebabCase: () => (/* binding */ toKebabCase)\n/* harmony export */ });\n/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && array.indexOf(className) === index;\n}).join(\" \");\n\n\n//# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL3NoYXJlZC9zcmMvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFb0M7QUFDckMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9sdWNpZGUtcmVhY3QvZGlzdC9lc20vc2hhcmVkL3NyYy91dGlscy5qcz9iYmI2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgbHVjaWRlLXJlYWN0IHYwLjQ0Ni4wIC0gSVNDXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuXG4gKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5jb25zdCB0b0tlYmFiQ2FzZSA9IChzdHJpbmcpID0+IHN0cmluZy5yZXBsYWNlKC8oW2EtejAtOV0pKFtBLVpdKS9nLCBcIiQxLSQyXCIpLnRvTG93ZXJDYXNlKCk7XG5jb25zdCBtZXJnZUNsYXNzZXMgPSAoLi4uY2xhc3NlcykgPT4gY2xhc3Nlcy5maWx0ZXIoKGNsYXNzTmFtZSwgaW5kZXgsIGFycmF5KSA9PiB7XG4gIHJldHVybiBCb29sZWFuKGNsYXNzTmFtZSkgJiYgYXJyYXkuaW5kZXhPZihjbGFzc05hbWUpID09PSBpbmRleDtcbn0pLmpvaW4oXCIgXCIpO1xuXG5leHBvcnQgeyBtZXJnZUNsYXNzZXMsIHRvS2ViYWJDYXNlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXBcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/lucide-react/dist/esm/shared/src/utils.js\n"); - -/***/ }), - -/***/ "./node_modules/@fontsource/figtree/400-italic.css": -/*!*********************************************************!*\ - !*** ./node_modules/@fontsource/figtree/400-italic.css ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGZvbnRzb3VyY2UvZmlndHJlZS80MDAtaXRhbGljLmNzcyIsIm1hcHBpbmdzIjoiO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9AZm9udHNvdXJjZS9maWd0cmVlLzQwMC1pdGFsaWMuY3NzPzc5MmUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5leHBvcnQge307Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@fontsource/figtree/400-italic.css\n"); - -/***/ }), - -/***/ "./node_modules/@fontsource/figtree/400.css": -/*!**************************************************!*\ - !*** ./node_modules/@fontsource/figtree/400.css ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGZvbnRzb3VyY2UvZmlndHJlZS80MDAuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL0Bmb250c291cmNlL2ZpZ3RyZWUvNDAwLmNzcz84ZWY5Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxuZXhwb3J0IHt9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@fontsource/figtree/400.css\n"); - -/***/ }), - -/***/ "./node_modules/@fontsource/figtree/index.css": -/*!****************************************************!*\ - !*** ./node_modules/@fontsource/figtree/index.css ***! - \****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGZvbnRzb3VyY2UvZmlndHJlZS9pbmRleC5jc3MiLCJtYXBwaW5ncyI6IjtBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvQGZvbnRzb3VyY2UvZmlndHJlZS9pbmRleC5jc3M/NzU2OSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@fontsource/figtree/index.css\n"); - -/***/ }), - -/***/ "./src/styles.css": -/*!************************!*\ - !*** ./src/styles.css ***! - \************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc3R5bGVzLmNzcyIsIm1hcHBpbmdzIjoiO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL3NyYy9zdHlsZXMuY3NzPzUyMzEiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5leHBvcnQge307Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/styles.css\n"); - -/***/ }), - -/***/ "./node_modules/path-to-regexp/dist/index.js": -/*!***************************************************!*\ - !*** ./node_modules/path-to-regexp/dist/index.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TokenData = void 0;\nexports.parse = parse;\nexports.compile = compile;\nexports.match = match;\nexports.pathToRegexp = pathToRegexp;\nexports.stringify = stringify;\nconst DEFAULT_DELIMITER = \"/\";\nconst NOOP_VALUE = (value) => value;\nconst ID_START = /^[$_\\p{ID_Start}]$/u;\nconst ID_CONTINUE = /^[$\\u200c\\u200d\\p{ID_Continue}]$/u;\nconst DEBUG_URL = \"https://git.new/pathToRegexpError\";\nconst SIMPLE_TOKENS = {\n // Groups.\n \"{\": \"{\",\n \"}\": \"}\",\n // Reserved.\n \"(\": \"(\",\n \")\": \")\",\n \"[\": \"[\",\n \"]\": \"]\",\n \"+\": \"+\",\n \"?\": \"?\",\n \"!\": \"!\",\n};\n/**\n * Escape text for stringify to path.\n */\nfunction escapeText(str) {\n return str.replace(/[{}()\\[\\]+?!:*]/g, \"\\\\$&\");\n}\n/**\n * Escape a regular expression string.\n */\nfunction escape(str) {\n return str.replace(/[.+*?^${}()[\\]|/\\\\]/g, \"\\\\$&\");\n}\n/**\n * Tokenize input string.\n */\nfunction* lexer(str) {\n const chars = [...str];\n let i = 0;\n function name() {\n let value = \"\";\n if (ID_START.test(chars[++i])) {\n value += chars[i];\n while (ID_CONTINUE.test(chars[++i])) {\n value += chars[i];\n }\n }\n else if (chars[i] === '\"') {\n let pos = i;\n while (i < chars.length) {\n if (chars[++i] === '\"') {\n i++;\n pos = 0;\n break;\n }\n if (chars[i] === \"\\\\\") {\n value += chars[++i];\n }\n else {\n value += chars[i];\n }\n }\n if (pos) {\n throw new TypeError(`Unterminated quote at ${pos}: ${DEBUG_URL}`);\n }\n }\n if (!value) {\n throw new TypeError(`Missing parameter name at ${i}: ${DEBUG_URL}`);\n }\n return value;\n }\n while (i < chars.length) {\n const value = chars[i];\n const type = SIMPLE_TOKENS[value];\n if (type) {\n yield { type, index: i++, value };\n }\n else if (value === \"\\\\\") {\n yield { type: \"ESCAPED\", index: i++, value: chars[i++] };\n }\n else if (value === \":\") {\n const value = name();\n yield { type: \"PARAM\", index: i, value };\n }\n else if (value === \"*\") {\n const value = name();\n yield { type: \"WILDCARD\", index: i, value };\n }\n else {\n yield { type: \"CHAR\", index: i, value: chars[i++] };\n }\n }\n return { type: \"END\", index: i, value: \"\" };\n}\nclass Iter {\n constructor(tokens) {\n this.tokens = tokens;\n }\n peek() {\n if (!this._peek) {\n const next = this.tokens.next();\n this._peek = next.value;\n }\n return this._peek;\n }\n tryConsume(type) {\n const token = this.peek();\n if (token.type !== type)\n return;\n this._peek = undefined; // Reset after consumed.\n return token.value;\n }\n consume(type) {\n const value = this.tryConsume(type);\n if (value !== undefined)\n return value;\n const { type: nextType, index } = this.peek();\n throw new TypeError(`Unexpected ${nextType} at ${index}, expected ${type}: ${DEBUG_URL}`);\n }\n text() {\n let result = \"\";\n let value;\n while ((value = this.tryConsume(\"CHAR\") || this.tryConsume(\"ESCAPED\"))) {\n result += value;\n }\n return result;\n }\n}\n/**\n * Tokenized path instance.\n */\nclass TokenData {\n constructor(tokens) {\n this.tokens = tokens;\n }\n}\nexports.TokenData = TokenData;\n/**\n * Parse a string for the raw tokens.\n */\nfunction parse(str, options = {}) {\n const { encodePath = NOOP_VALUE } = options;\n const it = new Iter(lexer(str));\n function consume(endType) {\n const tokens = [];\n while (true) {\n const path = it.text();\n if (path)\n tokens.push({ type: \"text\", value: encodePath(path) });\n const param = it.tryConsume(\"PARAM\");\n if (param) {\n tokens.push({\n type: \"param\",\n name: param,\n });\n continue;\n }\n const wildcard = it.tryConsume(\"WILDCARD\");\n if (wildcard) {\n tokens.push({\n type: \"wildcard\",\n name: wildcard,\n });\n continue;\n }\n const open = it.tryConsume(\"{\");\n if (open) {\n tokens.push({\n type: \"group\",\n tokens: consume(\"}\"),\n });\n continue;\n }\n it.consume(endType);\n return tokens;\n }\n }\n const tokens = consume(\"END\");\n return new TokenData(tokens);\n}\n/**\n * Compile a string to a template function for the path.\n */\nfunction compile(path, options = {}) {\n const { encode = encodeURIComponent, delimiter = DEFAULT_DELIMITER } = options;\n const data = path instanceof TokenData ? path : parse(path, options);\n const fn = tokensToFunction(data.tokens, delimiter, encode);\n return function path(data = {}) {\n const [path, ...missing] = fn(data);\n if (missing.length) {\n throw new TypeError(`Missing parameters: ${missing.join(\", \")}`);\n }\n return path;\n };\n}\nfunction tokensToFunction(tokens, delimiter, encode) {\n const encoders = tokens.map((token) => tokenToFunction(token, delimiter, encode));\n return (data) => {\n const result = [\"\"];\n for (const encoder of encoders) {\n const [value, ...extras] = encoder(data);\n result[0] += value;\n result.push(...extras);\n }\n return result;\n };\n}\n/**\n * Convert a single token into a path building function.\n */\nfunction tokenToFunction(token, delimiter, encode) {\n if (token.type === \"text\")\n return () => [token.value];\n if (token.type === \"group\") {\n const fn = tokensToFunction(token.tokens, delimiter, encode);\n return (data) => {\n const [value, ...missing] = fn(data);\n if (!missing.length)\n return [value];\n return [\"\"];\n };\n }\n const encodeValue = encode || NOOP_VALUE;\n if (token.type === \"wildcard\" && encode !== false) {\n return (data) => {\n const value = data[token.name];\n if (value == null)\n return [\"\", token.name];\n if (!Array.isArray(value) || value.length === 0) {\n throw new TypeError(`Expected \"${token.name}\" to be a non-empty array`);\n }\n return [\n value\n .map((value, index) => {\n if (typeof value !== \"string\") {\n throw new TypeError(`Expected \"${token.name}/${index}\" to be a string`);\n }\n return encodeValue(value);\n })\n .join(delimiter),\n ];\n };\n }\n return (data) => {\n const value = data[token.name];\n if (value == null)\n return [\"\", token.name];\n if (typeof value !== \"string\") {\n throw new TypeError(`Expected \"${token.name}\" to be a string`);\n }\n return [encodeValue(value)];\n };\n}\n/**\n * Transform a path into a match function.\n */\nfunction match(path, options = {}) {\n const { decode = decodeURIComponent, delimiter = DEFAULT_DELIMITER } = options;\n const { regexp, keys } = pathToRegexp(path, options);\n const decoders = keys.map((key) => {\n if (decode === false)\n return NOOP_VALUE;\n if (key.type === \"param\")\n return decode;\n return (value) => value.split(delimiter).map(decode);\n });\n return function match(input) {\n const m = regexp.exec(input);\n if (!m)\n return false;\n const path = m[0];\n const params = Object.create(null);\n for (let i = 1; i < m.length; i++) {\n if (m[i] === undefined)\n continue;\n const key = keys[i - 1];\n const decoder = decoders[i - 1];\n params[key.name] = decoder(m[i]);\n }\n return { path, params };\n };\n}\nfunction pathToRegexp(path, options = {}) {\n const { delimiter = DEFAULT_DELIMITER, end = true, sensitive = false, trailing = true, } = options;\n const keys = [];\n const sources = [];\n const flags = sensitive ? \"\" : \"i\";\n const paths = Array.isArray(path) ? path : [path];\n const items = paths.map((path) => path instanceof TokenData ? path : parse(path, options));\n for (const { tokens } of items) {\n for (const seq of flatten(tokens, 0, [])) {\n const regexp = sequenceToRegExp(seq, delimiter, keys);\n sources.push(regexp);\n }\n }\n let pattern = `^(?:${sources.join(\"|\")})`;\n if (trailing)\n pattern += `(?:${escape(delimiter)}$)?`;\n pattern += end ? \"$\" : `(?=${escape(delimiter)}|$)`;\n const regexp = new RegExp(pattern, flags);\n return { regexp, keys };\n}\n/**\n * Generate a flat list of sequence tokens from the given tokens.\n */\nfunction* flatten(tokens, index, init) {\n if (index === tokens.length) {\n return yield init;\n }\n const token = tokens[index];\n if (token.type === \"group\") {\n const fork = init.slice();\n for (const seq of flatten(token.tokens, 0, fork)) {\n yield* flatten(tokens, index + 1, seq);\n }\n }\n else {\n init.push(token);\n }\n yield* flatten(tokens, index + 1, init);\n}\n/**\n * Transform a flat sequence of tokens into a regular expression.\n */\nfunction sequenceToRegExp(tokens, delimiter, keys) {\n let result = \"\";\n let backtrack = \"\";\n let isSafeSegmentParam = true;\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.type === \"text\") {\n result += escape(token.value);\n backtrack += token.value;\n isSafeSegmentParam || (isSafeSegmentParam = token.value.includes(delimiter));\n continue;\n }\n if (token.type === \"param\" || token.type === \"wildcard\") {\n if (!isSafeSegmentParam && !backtrack) {\n throw new TypeError(`Missing text after \"${token.name}\": ${DEBUG_URL}`);\n }\n if (token.type === \"param\") {\n result += `(${negate(delimiter, isSafeSegmentParam ? \"\" : backtrack)}+)`;\n }\n else {\n result += `([\\\\s\\\\S]+)`;\n }\n keys.push(token);\n backtrack = \"\";\n isSafeSegmentParam = false;\n continue;\n }\n }\n return result;\n}\nfunction negate(delimiter, backtrack) {\n if (backtrack.length < 2) {\n if (delimiter.length < 2)\n return `[^${escape(delimiter + backtrack)}]`;\n return `(?:(?!${escape(delimiter)})[^${escape(backtrack)}])`;\n }\n if (delimiter.length < 2) {\n return `(?:(?!${escape(backtrack)})[^${escape(delimiter)}])`;\n }\n return `(?:(?!${escape(backtrack)}|${escape(delimiter)})[\\\\s\\\\S])`;\n}\n/**\n * Stringify token data into a path string.\n */\nfunction stringify(data) {\n return data.tokens\n .map(function stringifyToken(token, index, tokens) {\n if (token.type === \"text\")\n return escapeText(token.value);\n if (token.type === \"group\") {\n return `{${token.tokens.map(stringifyToken).join(\"\")}}`;\n }\n const isSafe = isNameSafe(token.name) && isNextNameSafe(tokens[index + 1]);\n const key = isSafe ? token.name : JSON.stringify(token.name);\n if (token.type === \"param\")\n return `:${key}`;\n if (token.type === \"wildcard\")\n return `*${key}`;\n throw new TypeError(`Unexpected token: ${token}`);\n })\n .join(\"\");\n}\nfunction isNameSafe(name) {\n const [first, ...rest] = name;\n if (!ID_START.test(first))\n return false;\n return rest.every((char) => ID_CONTINUE.test(char));\n}\nfunction isNextNameSafe(token) {\n if ((token === null || token === void 0 ? void 0 : token.type) !== \"text\")\n return true;\n return !ID_CONTINUE.test(token.value[0]);\n}\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcGF0aC10by1yZWdleHAvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxpQkFBaUI7QUFDakIsYUFBYTtBQUNiLGVBQWU7QUFDZixhQUFhO0FBQ2Isb0JBQW9CO0FBQ3BCLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0EseUJBQXlCLFNBQVM7QUFDbEMsdUNBQXVDLFlBQVk7QUFDbkQ7QUFDQTtBQUNBO0FBQ0EsTUFBTSxLQUFLO0FBQ1gsTUFBTSxLQUFLO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RCxJQUFJLElBQUksVUFBVTtBQUMvRTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQsRUFBRSxJQUFJLFVBQVU7QUFDN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNB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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsRUFBRSwyQ0FBMkM7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsSUFBSTtBQUMzQjtBQUNBLHVCQUF1QixJQUFJO0FBQzNCLGlEQUFpRCxNQUFNO0FBQ3ZELEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvcGF0aC10by1yZWdleHAvZGlzdC9pbmRleC5qcz8wZmQyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5Ub2tlbkRhdGEgPSB2b2lkIDA7XG5leHBvcnRzLnBhcnNlID0gcGFyc2U7XG5leHBvcnRzLmNvbXBpbGUgPSBjb21waWxlO1xuZXhwb3J0cy5tYXRjaCA9IG1hdGNoO1xuZXhwb3J0cy5wYXRoVG9SZWdleHAgPSBwYXRoVG9SZWdleHA7XG5leHBvcnRzLnN0cmluZ2lmeSA9IHN0cmluZ2lmeTtcbmNvbnN0IERFRkFVTFRfREVMSU1JVEVSID0gXCIvXCI7XG5jb25zdCBOT09QX1ZBTFVFID0gKHZhbHVlKSA9PiB2YWx1ZTtcbmNvbnN0IElEX1NUQVJUID0gL15bJF9cXHB7SURfU3RhcnR9XSQvdTtcbmNvbnN0IElEX0NPTlRJTlVFID0gL15bJFxcdTIwMGNcXHUyMDBkXFxwe0lEX0NvbnRpbnVlfV0kL3U7XG5jb25zdCBERUJVR19VUkwgPSBcImh0dHBzOi8vZ2l0Lm5ldy9wYXRoVG9SZWdleHBFcnJvclwiO1xuY29uc3QgU0lNUExFX1RPS0VOUyA9IHtcbiAgICAvLyBHcm91cHMuXG4gICAgXCJ7XCI6IFwie1wiLFxuICAgIFwifVwiOiBcIn1cIixcbiAgICAvLyBSZXNlcnZlZC5cbiAgICBcIihcIjogXCIoXCIsXG4gICAgXCIpXCI6IFwiKVwiLFxuICAgIFwiW1wiOiBcIltcIixcbiAgICBcIl1cIjogXCJdXCIsXG4gICAgXCIrXCI6IFwiK1wiLFxuICAgIFwiP1wiOiBcIj9cIixcbiAgICBcIiFcIjogXCIhXCIsXG59O1xuLyoqXG4gKiBFc2NhcGUgdGV4dCBmb3Igc3RyaW5naWZ5IHRvIHBhdGguXG4gKi9cbmZ1bmN0aW9uIGVzY2FwZVRleHQoc3RyKSB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9be30oKVxcW1xcXSs/IToqXS9nLCBcIlxcXFwkJlwiKTtcbn1cbi8qKlxuICogRXNjYXBlIGEgcmVndWxhciBleHByZXNzaW9uIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gZXNjYXBlKHN0cikge1xuICAgIHJldHVybiBzdHIucmVwbGFjZSgvWy4rKj9eJHt9KClbXFxdfC9cXFxcXS9nLCBcIlxcXFwkJlwiKTtcbn1cbi8qKlxuICogVG9rZW5pemUgaW5wdXQgc3RyaW5nLlxuICovXG5mdW5jdGlvbiogbGV4ZXIoc3RyKSB7XG4gICAgY29uc3QgY2hhcnMgPSBbLi4uc3RyXTtcbiAgICBsZXQgaSA9IDA7XG4gICAgZnVuY3Rpb24gbmFtZSgpIHtcbiAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcbiAgICAgICAgaWYgKElEX1NUQVJULnRlc3QoY2hhcnNbKytpXSkpIHtcbiAgICAgICAgICAgIHZhbHVlICs9IGNoYXJzW2ldO1xuICAgICAgICAgICAgd2hpbGUgKElEX0NPTlRJTlVFLnRlc3QoY2hhcnNbKytpXSkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSArPSBjaGFyc1tpXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChjaGFyc1tpXSA9PT0gJ1wiJykge1xuICAgICAgICAgICAgbGV0IHBvcyA9IGk7XG4gICAgICAgICAgICB3aGlsZSAoaSA8IGNoYXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGlmIChjaGFyc1srK2ldID09PSAnXCInKSB7XG4gICAgICAgICAgICAgICAgICAgIGkrKztcbiAgICAgICAgICAgICAgICAgICAgcG9zID0gMDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjaGFyc1tpXSA9PT0gXCJcXFxcXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgKz0gY2hhcnNbKytpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlICs9IGNoYXJzW2ldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwb3MpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBVbnRlcm1pbmF0ZWQgcXVvdGUgYXQgJHtwb3N9OiAke0RFQlVHX1VSTH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBNaXNzaW5nIHBhcmFtZXRlciBuYW1lIGF0ICR7aX06ICR7REVCVUdfVVJMfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgd2hpbGUgKGkgPCBjaGFycy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjaGFyc1tpXTtcbiAgICAgICAgY29uc3QgdHlwZSA9IFNJTVBMRV9UT0tFTlNbdmFsdWVdO1xuICAgICAgICBpZiAodHlwZSkge1xuICAgICAgICAgICAgeWllbGQgeyB0eXBlLCBpbmRleDogaSsrLCB2YWx1ZSB9O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHZhbHVlID09PSBcIlxcXFxcIikge1xuICAgICAgICAgICAgeWllbGQgeyB0eXBlOiBcIkVTQ0FQRURcIiwgaW5kZXg6IGkrKywgdmFsdWU6IGNoYXJzW2krK10gfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWx1ZSA9PT0gXCI6XCIpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gbmFtZSgpO1xuICAgICAgICAgICAgeWllbGQgeyB0eXBlOiBcIlBBUkFNXCIsIGluZGV4OiBpLCB2YWx1ZSB9O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHZhbHVlID09PSBcIipcIikge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBuYW1lKCk7XG4gICAgICAgICAgICB5aWVsZCB7IHR5cGU6IFwiV0lMRENBUkRcIiwgaW5kZXg6IGksIHZhbHVlIH07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB5aWVsZCB7IHR5cGU6IFwiQ0hBUlwiLCBpbmRleDogaSwgdmFsdWU6IGNoYXJzW2krK10gfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyB0eXBlOiBcIkVORFwiLCBpbmRleDogaSwgdmFsdWU6IFwiXCIgfTtcbn1cbmNsYXNzIEl0ZXIge1xuICAgIGNvbnN0cnVjdG9yKHRva2Vucykge1xuICAgICAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgICB9XG4gICAgcGVlaygpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9wZWVrKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gdGhpcy50b2tlbnMubmV4dCgpO1xuICAgICAgICAgICAgdGhpcy5fcGVlayA9IG5leHQudmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3BlZWs7XG4gICAgfVxuICAgIHRyeUNvbnN1bWUodHlwZSkge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMucGVlaygpO1xuICAgICAgICBpZiAodG9rZW4udHlwZSAhPT0gdHlwZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgdGhpcy5fcGVlayA9IHVuZGVmaW5lZDsgLy8gUmVzZXQgYWZ0ZXIgY29uc3VtZWQuXG4gICAgICAgIHJldHVybiB0b2tlbi52YWx1ZTtcbiAgICB9XG4gICAgY29uc3VtZSh0eXBlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy50cnlDb25zdW1lKHR5cGUpO1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgY29uc3QgeyB0eXBlOiBuZXh0VHlwZSwgaW5kZXggfSA9IHRoaXMucGVlaygpO1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBVbmV4cGVjdGVkICR7bmV4dFR5cGV9IGF0ICR7aW5kZXh9LCBleHBlY3RlZCAke3R5cGV9OiAke0RFQlVHX1VSTH1gKTtcbiAgICB9XG4gICAgdGV4dCgpIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IFwiXCI7XG4gICAgICAgIGxldCB2YWx1ZTtcbiAgICAgICAgd2hpbGUgKCh2YWx1ZSA9IHRoaXMudHJ5Q29uc3VtZShcIkNIQVJcIikgfHwgdGhpcy50cnlDb25zdW1lKFwiRVNDQVBFRFwiKSkpIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbi8qKlxuICogVG9rZW5pemVkIHBhdGggaW5zdGFuY2UuXG4gKi9cbmNsYXNzIFRva2VuRGF0YSB7XG4gICAgY29uc3RydWN0b3IodG9rZW5zKSB7XG4gICAgICAgIHRoaXMudG9rZW5zID0gdG9rZW5zO1xuICAgIH1cbn1cbmV4cG9ydHMuVG9rZW5EYXRhID0gVG9rZW5EYXRhO1xuLyoqXG4gKiBQYXJzZSBhIHN0cmluZyBmb3IgdGhlIHJhdyB0b2tlbnMuXG4gKi9cbmZ1bmN0aW9uIHBhcnNlKHN0ciwgb3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgeyBlbmNvZGVQYXRoID0gTk9PUF9WQUxVRSB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBpdCA9IG5ldyBJdGVyKGxleGVyKHN0cikpO1xuICAgIGZ1bmN0aW9uIGNvbnN1bWUoZW5kVHlwZSkge1xuICAgICAgICBjb25zdCB0b2tlbnMgPSBbXTtcbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBpdC50ZXh0KCk7XG4gICAgICAgICAgICBpZiAocGF0aClcbiAgICAgICAgICAgICAgICB0b2tlbnMucHVzaCh7IHR5cGU6IFwidGV4dFwiLCB2YWx1ZTogZW5jb2RlUGF0aChwYXRoKSB9KTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtID0gaXQudHJ5Q29uc3VtZShcIlBBUkFNXCIpO1xuICAgICAgICAgICAgaWYgKHBhcmFtKSB7XG4gICAgICAgICAgICAgICAgdG9rZW5zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInBhcmFtXCIsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHBhcmFtLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgd2lsZGNhcmQgPSBpdC50cnlDb25zdW1lKFwiV0lMRENBUkRcIik7XG4gICAgICAgICAgICBpZiAod2lsZGNhcmQpIHtcbiAgICAgICAgICAgICAgICB0b2tlbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwid2lsZGNhcmRcIixcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogd2lsZGNhcmQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBvcGVuID0gaXQudHJ5Q29uc3VtZShcIntcIik7XG4gICAgICAgICAgICBpZiAob3Blbikge1xuICAgICAgICAgICAgICAgIHRva2Vucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJncm91cFwiLFxuICAgICAgICAgICAgICAgICAgICB0b2tlbnM6IGNvbnN1bWUoXCJ9XCIpLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXQuY29uc3VtZShlbmRUeXBlKTtcbiAgICAgICAgICAgIHJldHVybiB0b2tlbnM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgdG9rZW5zID0gY29uc3VtZShcIkVORFwiKTtcbiAgICByZXR1cm4gbmV3IFRva2VuRGF0YSh0b2tlbnMpO1xufVxuLyoqXG4gKiBDb21waWxlIGEgc3RyaW5nIHRvIGEgdGVtcGxhdGUgZnVuY3Rpb24gZm9yIHRoZSBwYXRoLlxuICovXG5mdW5jdGlvbiBjb21waWxlKHBhdGgsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHsgZW5jb2RlID0gZW5jb2RlVVJJQ29tcG9uZW50LCBkZWxpbWl0ZXIgPSBERUZBVUxUX0RFTElNSVRFUiB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBkYXRhID0gcGF0aCBpbnN0YW5jZW9mIFRva2VuRGF0YSA/IHBhdGggOiBwYXJzZShwYXRoLCBvcHRpb25zKTtcbiAgICBjb25zdCBmbiA9IHRva2Vuc1RvRnVuY3Rpb24oZGF0YS50b2tlbnMsIGRlbGltaXRlciwgZW5jb2RlKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gcGF0aChkYXRhID0ge30pIHtcbiAgICAgICAgY29uc3QgW3BhdGgsIC4uLm1pc3NpbmddID0gZm4oZGF0YSk7XG4gICAgICAgIGlmIChtaXNzaW5nLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgTWlzc2luZyBwYXJhbWV0ZXJzOiAke21pc3Npbmcuam9pbihcIiwgXCIpfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH07XG59XG5mdW5jdGlvbiB0b2tlbnNUb0Z1bmN0aW9uKHRva2VucywgZGVsaW1pdGVyLCBlbmNvZGUpIHtcbiAgICBjb25zdCBlbmNvZGVycyA9IHRva2Vucy5tYXAoKHRva2VuKSA9PiB0b2tlblRvRnVuY3Rpb24odG9rZW4sIGRlbGltaXRlciwgZW5jb2RlKSk7XG4gICAgcmV0dXJuIChkYXRhKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtcIlwiXTtcbiAgICAgICAgZm9yIChjb25zdCBlbmNvZGVyIG9mIGVuY29kZXJzKSB7XG4gICAgICAgICAgICBjb25zdCBbdmFsdWUsIC4uLmV4dHJhc10gPSBlbmNvZGVyKGRhdGEpO1xuICAgICAgICAgICAgcmVzdWx0WzBdICs9IHZhbHVlO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4uZXh0cmFzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG59XG4vKipcbiAqIENvbnZlcnQgYSBzaW5nbGUgdG9rZW4gaW50byBhIHBhdGggYnVpbGRpbmcgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIHRva2VuVG9GdW5jdGlvbih0b2tlbiwgZGVsaW1pdGVyLCBlbmNvZGUpIHtcbiAgICBpZiAodG9rZW4udHlwZSA9PT0gXCJ0ZXh0XCIpXG4gICAgICAgIHJldHVybiAoKSA9PiBbdG9rZW4udmFsdWVdO1xuICAgIGlmICh0b2tlbi50eXBlID09PSBcImdyb3VwXCIpIHtcbiAgICAgICAgY29uc3QgZm4gPSB0b2tlbnNUb0Z1bmN0aW9uKHRva2VuLnRva2VucywgZGVsaW1pdGVyLCBlbmNvZGUpO1xuICAgICAgICByZXR1cm4gKGRhdGEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IFt2YWx1ZSwgLi4ubWlzc2luZ10gPSBmbihkYXRhKTtcbiAgICAgICAgICAgIGlmICghbWlzc2luZy5sZW5ndGgpXG4gICAgICAgICAgICAgICAgcmV0dXJuIFt2YWx1ZV07XG4gICAgICAgICAgICByZXR1cm4gW1wiXCJdO1xuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBlbmNvZGVWYWx1ZSA9IGVuY29kZSB8fCBOT09QX1ZBTFVFO1xuICAgIGlmICh0b2tlbi50eXBlID09PSBcIndpbGRjYXJkXCIgJiYgZW5jb2RlICE9PSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gKGRhdGEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZGF0YVt0b2tlbi5uYW1lXTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKVxuICAgICAgICAgICAgICAgIHJldHVybiBbXCJcIiwgdG9rZW4ubmFtZV07XG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIFwiJHt0b2tlbi5uYW1lfVwiIHRvIGJlIGEgbm9uLWVtcHR5IGFycmF5YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBcIiR7dG9rZW4ubmFtZX0vJHtpbmRleH1cIiB0byBiZSBhIHN0cmluZ2ApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbmNvZGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oZGVsaW1pdGVyKSxcbiAgICAgICAgICAgIF07XG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiAoZGF0YSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGRhdGFbdG9rZW4ubmFtZV07XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIFtcIlwiLCB0b2tlbi5uYW1lXTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXCIke3Rva2VuLm5hbWV9XCIgdG8gYmUgYSBzdHJpbmdgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2VuY29kZVZhbHVlKHZhbHVlKV07XG4gICAgfTtcbn1cbi8qKlxuICogVHJhbnNmb3JtIGEgcGF0aCBpbnRvIGEgbWF0Y2ggZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIG1hdGNoKHBhdGgsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHsgZGVjb2RlID0gZGVjb2RlVVJJQ29tcG9uZW50LCBkZWxpbWl0ZXIgPSBERUZBVUxUX0RFTElNSVRFUiB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB7IHJlZ2V4cCwga2V5cyB9ID0gcGF0aFRvUmVnZXhwKHBhdGgsIG9wdGlvbnMpO1xuICAgIGNvbnN0IGRlY29kZXJzID0ga2V5cy5tYXAoKGtleSkgPT4ge1xuICAgICAgICBpZiAoZGVjb2RlID09PSBmYWxzZSlcbiAgICAgICAgICAgIHJldHVybiBOT09QX1ZBTFVFO1xuICAgICAgICBpZiAoa2V5LnR5cGUgPT09IFwicGFyYW1cIilcbiAgICAgICAgICAgIHJldHVybiBkZWNvZGU7XG4gICAgICAgIHJldHVybiAodmFsdWUpID0+IHZhbHVlLnNwbGl0KGRlbGltaXRlcikubWFwKGRlY29kZSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIG1hdGNoKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IG0gPSByZWdleHAuZXhlYyhpbnB1dCk7XG4gICAgICAgIGlmICghbSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgY29uc3QgcGF0aCA9IG1bMF07XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgbS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKG1baV0gPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGtleXNbaSAtIDFdO1xuICAgICAgICAgICAgY29uc3QgZGVjb2RlciA9IGRlY29kZXJzW2kgLSAxXTtcbiAgICAgICAgICAgIHBhcmFtc1trZXkubmFtZV0gPSBkZWNvZGVyKG1baV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHBhdGgsIHBhcmFtcyB9O1xuICAgIH07XG59XG5mdW5jdGlvbiBwYXRoVG9SZWdleHAocGF0aCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgeyBkZWxpbWl0ZXIgPSBERUZBVUxUX0RFTElNSVRFUiwgZW5kID0gdHJ1ZSwgc2Vuc2l0aXZlID0gZmFsc2UsIHRyYWlsaW5nID0gdHJ1ZSwgfSA9IG9wdGlvbnM7XG4gICAgY29uc3Qga2V5cyA9IFtdO1xuICAgIGNvbnN0IHNvdXJjZXMgPSBbXTtcbiAgICBjb25zdCBmbGFncyA9IHNlbnNpdGl2ZSA/IFwiXCIgOiBcImlcIjtcbiAgICBjb25zdCBwYXRocyA9IEFycmF5LmlzQXJyYXkocGF0aCkgPyBwYXRoIDogW3BhdGhdO1xuICAgIGNvbnN0IGl0ZW1zID0gcGF0aHMubWFwKChwYXRoKSA9PiBwYXRoIGluc3RhbmNlb2YgVG9rZW5EYXRhID8gcGF0aCA6IHBhcnNlKHBhdGgsIG9wdGlvbnMpKTtcbiAgICBmb3IgKGNvbnN0IHsgdG9rZW5zIH0gb2YgaXRlbXMpIHtcbiAgICAgICAgZm9yIChjb25zdCBzZXEgb2YgZmxhdHRlbih0b2tlbnMsIDAsIFtdKSkge1xuICAgICAgICAgICAgY29uc3QgcmVnZXhwID0gc2VxdWVuY2VUb1JlZ0V4cChzZXEsIGRlbGltaXRlciwga2V5cyk7XG4gICAgICAgICAgICBzb3VyY2VzLnB1c2gocmVnZXhwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsZXQgcGF0dGVybiA9IGBeKD86JHtzb3VyY2VzLmpvaW4oXCJ8XCIpfSlgO1xuICAgIGlmICh0cmFpbGluZylcbiAgICAgICAgcGF0dGVybiArPSBgKD86JHtlc2NhcGUoZGVsaW1pdGVyKX0kKT9gO1xuICAgIHBhdHRlcm4gKz0gZW5kID8gXCIkXCIgOiBgKD89JHtlc2NhcGUoZGVsaW1pdGVyKX18JClgO1xuICAgIGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAocGF0dGVybiwgZmxhZ3MpO1xuICAgIHJldHVybiB7IHJlZ2V4cCwga2V5cyB9O1xufVxuLyoqXG4gKiBHZW5lcmF0ZSBhIGZsYXQgbGlzdCBvZiBzZXF1ZW5jZSB0b2tlbnMgZnJvbSB0aGUgZ2l2ZW4gdG9rZW5zLlxuICovXG5mdW5jdGlvbiogZmxhdHRlbih0b2tlbnMsIGluZGV4LCBpbml0KSB7XG4gICAgaWYgKGluZGV4ID09PSB0b2tlbnMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB5aWVsZCBpbml0O1xuICAgIH1cbiAgICBjb25zdCB0b2tlbiA9IHRva2Vuc1tpbmRleF07XG4gICAgaWYgKHRva2VuLnR5cGUgPT09IFwiZ3JvdXBcIikge1xuICAgICAgICBjb25zdCBmb3JrID0gaW5pdC5zbGljZSgpO1xuICAgICAgICBmb3IgKGNvbnN0IHNlcSBvZiBmbGF0dGVuKHRva2VuLnRva2VucywgMCwgZm9yaykpIHtcbiAgICAgICAgICAgIHlpZWxkKiBmbGF0dGVuKHRva2VucywgaW5kZXggKyAxLCBzZXEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBpbml0LnB1c2godG9rZW4pO1xuICAgIH1cbiAgICB5aWVsZCogZmxhdHRlbih0b2tlbnMsIGluZGV4ICsgMSwgaW5pdCk7XG59XG4vKipcbiAqIFRyYW5zZm9ybSBhIGZsYXQgc2VxdWVuY2Ugb2YgdG9rZW5zIGludG8gYSByZWd1bGFyIGV4cHJlc3Npb24uXG4gKi9cbmZ1bmN0aW9uIHNlcXVlbmNlVG9SZWdFeHAodG9rZW5zLCBkZWxpbWl0ZXIsIGtleXMpIHtcbiAgICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgICBsZXQgYmFja3RyYWNrID0gXCJcIjtcbiAgICBsZXQgaXNTYWZlU2VnbWVudFBhcmFtID0gdHJ1ZTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRva2Vuc1tpXTtcbiAgICAgICAgaWYgKHRva2VuLnR5cGUgPT09IFwidGV4dFwiKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gZXNjYXBlKHRva2VuLnZhbHVlKTtcbiAgICAgICAgICAgIGJhY2t0cmFjayArPSB0b2tlbi52YWx1ZTtcbiAgICAgICAgICAgIGlzU2FmZVNlZ21lbnRQYXJhbSB8fCAoaXNTYWZlU2VnbWVudFBhcmFtID0gdG9rZW4udmFsdWUuaW5jbHVkZXMoZGVsaW1pdGVyKSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gXCJwYXJhbVwiIHx8IHRva2VuLnR5cGUgPT09IFwid2lsZGNhcmRcIikge1xuICAgICAgICAgICAgaWYgKCFpc1NhZmVTZWdtZW50UGFyYW0gJiYgIWJhY2t0cmFjaykge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE1pc3NpbmcgdGV4dCBhZnRlciBcIiR7dG9rZW4ubmFtZX1cIjogJHtERUJVR19VUkx9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gXCJwYXJhbVwiKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IGAoJHtuZWdhdGUoZGVsaW1pdGVyLCBpc1NhZmVTZWdtZW50UGFyYW0gPyBcIlwiIDogYmFja3RyYWNrKX0rKWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gYChbXFxcXHNcXFxcU10rKWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBrZXlzLnB1c2godG9rZW4pO1xuICAgICAgICAgICAgYmFja3RyYWNrID0gXCJcIjtcbiAgICAgICAgICAgIGlzU2FmZVNlZ21lbnRQYXJhbSA9IGZhbHNlO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIG5lZ2F0ZShkZWxpbWl0ZXIsIGJhY2t0cmFjaykge1xuICAgIGlmIChiYWNrdHJhY2subGVuZ3RoIDwgMikge1xuICAgICAgICBpZiAoZGVsaW1pdGVyLmxlbmd0aCA8IDIpXG4gICAgICAgICAgICByZXR1cm4gYFteJHtlc2NhcGUoZGVsaW1pdGVyICsgYmFja3RyYWNrKX1dYDtcbiAgICAgICAgcmV0dXJuIGAoPzooPyEke2VzY2FwZShkZWxpbWl0ZXIpfSlbXiR7ZXNjYXBlKGJhY2t0cmFjayl9XSlgO1xuICAgIH1cbiAgICBpZiAoZGVsaW1pdGVyLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgcmV0dXJuIGAoPzooPyEke2VzY2FwZShiYWNrdHJhY2spfSlbXiR7ZXNjYXBlKGRlbGltaXRlcil9XSlgO1xuICAgIH1cbiAgICByZXR1cm4gYCg/Oig/ISR7ZXNjYXBlKGJhY2t0cmFjayl9fCR7ZXNjYXBlKGRlbGltaXRlcil9KVtcXFxcc1xcXFxTXSlgO1xufVxuLyoqXG4gKiBTdHJpbmdpZnkgdG9rZW4gZGF0YSBpbnRvIGEgcGF0aCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIHN0cmluZ2lmeShkYXRhKSB7XG4gICAgcmV0dXJuIGRhdGEudG9rZW5zXG4gICAgICAgIC5tYXAoZnVuY3Rpb24gc3RyaW5naWZ5VG9rZW4odG9rZW4sIGluZGV4LCB0b2tlbnMpIHtcbiAgICAgICAgaWYgKHRva2VuLnR5cGUgPT09IFwidGV4dFwiKVxuICAgICAgICAgICAgcmV0dXJuIGVzY2FwZVRleHQodG9rZW4udmFsdWUpO1xuICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gXCJncm91cFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gYHske3Rva2VuLnRva2Vucy5tYXAoc3RyaW5naWZ5VG9rZW4pLmpvaW4oXCJcIil9fWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNTYWZlID0gaXNOYW1lU2FmZSh0b2tlbi5uYW1lKSAmJiBpc05leHROYW1lU2FmZSh0b2tlbnNbaW5kZXggKyAxXSk7XG4gICAgICAgIGNvbnN0IGtleSA9IGlzU2FmZSA/IHRva2VuLm5hbWUgOiBKU09OLnN0cmluZ2lmeSh0b2tlbi5uYW1lKTtcbiAgICAgICAgaWYgKHRva2VuLnR5cGUgPT09IFwicGFyYW1cIilcbiAgICAgICAgICAgIHJldHVybiBgOiR7a2V5fWA7XG4gICAgICAgIGlmICh0b2tlbi50eXBlID09PSBcIndpbGRjYXJkXCIpXG4gICAgICAgICAgICByZXR1cm4gYCoke2tleX1gO1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBVbmV4cGVjdGVkIHRva2VuOiAke3Rva2VufWApO1xuICAgIH0pXG4gICAgICAgIC5qb2luKFwiXCIpO1xufVxuZnVuY3Rpb24gaXNOYW1lU2FmZShuYW1lKSB7XG4gICAgY29uc3QgW2ZpcnN0LCAuLi5yZXN0XSA9IG5hbWU7XG4gICAgaWYgKCFJRF9TVEFSVC50ZXN0KGZpcnN0KSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiByZXN0LmV2ZXJ5KChjaGFyKSA9PiBJRF9DT05USU5VRS50ZXN0KGNoYXIpKTtcbn1cbmZ1bmN0aW9uIGlzTmV4dE5hbWVTYWZlKHRva2VuKSB7XG4gICAgaWYgKCh0b2tlbiA9PT0gbnVsbCB8fCB0b2tlbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogdG9rZW4udHlwZSkgIT09IFwidGV4dFwiKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICByZXR1cm4gIUlEX0NPTlRJTlVFLnRlc3QodG9rZW4udmFsdWVbMF0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/path-to-regexp/dist/index.js\n"); - -/***/ }), - -/***/ "./node_modules/querystringify/index.js": -/*!**********************************************!*\ - !*** ./node_modules/querystringify/index.js ***! - \**********************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\n\nvar has = Object.prototype.hasOwnProperty\n , undef;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String|Null} The decoded string.\n * @api private\n */\nfunction decode(input) {\n try {\n return decodeURIComponent(input.replace(/\\+/g, ' '));\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Attempts to encode a given input.\n *\n * @param {String} input The string that needs to be encoded.\n * @returns {String|Null} The encoded string.\n * @api private\n */\nfunction encode(input) {\n try {\n return encodeURIComponent(input);\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n var parser = /([^=?#&]+)=?([^&]*)/g\n , result = {}\n , part;\n\n while (part = parser.exec(query)) {\n var key = decode(part[1])\n , value = decode(part[2]);\n\n //\n // Prevent overriding of existing properties. This ensures that build-in\n // methods like `toString` or __proto__ are not overriden by malicious\n // querystrings.\n //\n // In the case if failed decoding, we want to omit the key/value pairs\n // from the result.\n //\n if (key === null || value === null || key in result) continue;\n result[key] = value;\n }\n\n return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n prefix = prefix || '';\n\n var pairs = []\n , value\n , key;\n\n //\n // Optionally prefix with a '?' if needed\n //\n if ('string' !== typeof prefix) prefix = '?';\n\n for (key in obj) {\n if (has.call(obj, key)) {\n value = obj[key];\n\n //\n // Edge cases where we actually want to encode the value to an empty\n // string instead of the stringified value.\n //\n if (!value && (value === null || value === undef || isNaN(value))) {\n value = '';\n }\n\n key = encode(key);\n value = encode(value);\n\n //\n // If we failed to encode the strings, we should bail out as we don't\n // want to add invalid strings to the query.\n //\n if (key === null || value === null) continue;\n pairs.push(key +'='+ value);\n }\n }\n\n return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcXVlcnlzdHJpbmdpZnkvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsYUFBYSxhQUFhO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixhQUFhLGFBQWE7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixhQUFhIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvcXVlcnlzdHJpbmdpZnkvaW5kZXguanM/OWM1OSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciBoYXMgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5XG4gICwgdW5kZWY7XG5cbi8qKlxuICogRGVjb2RlIGEgVVJJIGVuY29kZWQgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBpbnB1dCBUaGUgVVJJIGVuY29kZWQgc3RyaW5nLlxuICogQHJldHVybnMge1N0cmluZ3xOdWxsfSBUaGUgZGVjb2RlZCBzdHJpbmcuXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gZGVjb2RlKGlucHV0KSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChpbnB1dC5yZXBsYWNlKC9cXCsvZywgJyAnKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vKipcbiAqIEF0dGVtcHRzIHRvIGVuY29kZSBhIGdpdmVuIGlucHV0LlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBpbnB1dCBUaGUgc3RyaW5nIHRoYXQgbmVlZHMgdG8gYmUgZW5jb2RlZC5cbiAqIEByZXR1cm5zIHtTdHJpbmd8TnVsbH0gVGhlIGVuY29kZWQgc3RyaW5nLlxuICogQGFwaSBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGVuY29kZShpbnB1dCkge1xuICB0cnkge1xuICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoaW5wdXQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBTaW1wbGUgcXVlcnkgc3RyaW5nIHBhcnNlci5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gcXVlcnkgVGhlIHF1ZXJ5IHN0cmluZyB0aGF0IG5lZWRzIHRvIGJlIHBhcnNlZC5cbiAqIEByZXR1cm5zIHtPYmplY3R9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5mdW5jdGlvbiBxdWVyeXN0cmluZyhxdWVyeSkge1xuICB2YXIgcGFyc2VyID0gLyhbXj0/IyZdKyk9PyhbXiZdKikvZ1xuICAgICwgcmVzdWx0ID0ge31cbiAgICAsIHBhcnQ7XG5cbiAgd2hpbGUgKHBhcnQgPSBwYXJzZXIuZXhlYyhxdWVyeSkpIHtcbiAgICB2YXIga2V5ID0gZGVjb2RlKHBhcnRbMV0pXG4gICAgICAsIHZhbHVlID0gZGVjb2RlKHBhcnRbMl0pO1xuXG4gICAgLy9cbiAgICAvLyBQcmV2ZW50IG92ZXJyaWRpbmcgb2YgZXhpc3RpbmcgcHJvcGVydGllcy4gVGhpcyBlbnN1cmVzIHRoYXQgYnVpbGQtaW5cbiAgICAvLyBtZXRob2RzIGxpa2UgYHRvU3RyaW5nYCBvciBfX3Byb3RvX18gYXJlIG5vdCBvdmVycmlkZW4gYnkgbWFsaWNpb3VzXG4gICAgLy8gcXVlcnlzdHJpbmdzLlxuICAgIC8vXG4gICAgLy8gSW4gdGhlIGNhc2UgaWYgZmFpbGVkIGRlY29kaW5nLCB3ZSB3YW50IHRvIG9taXQgdGhlIGtleS92YWx1ZSBwYWlyc1xuICAgIC8vIGZyb20gdGhlIHJlc3VsdC5cbiAgICAvL1xuICAgIGlmIChrZXkgPT09IG51bGwgfHwgdmFsdWUgPT09IG51bGwgfHwga2V5IGluIHJlc3VsdCkgY29udGludWU7XG4gICAgcmVzdWx0W2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogVHJhbnNmb3JtIGEgcXVlcnkgc3RyaW5nIHRvIGFuIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqIE9iamVjdCB0aGF0IHNob3VsZCBiZSB0cmFuc2Zvcm1lZC5cbiAqIEBwYXJhbSB7U3RyaW5nfSBwcmVmaXggT3B0aW9uYWwgcHJlZml4LlxuICogQHJldHVybnMge1N0cmluZ31cbiAqIEBhcGkgcHVibGljXG4gKi9cbmZ1bmN0aW9uIHF1ZXJ5c3RyaW5naWZ5KG9iaiwgcHJlZml4KSB7XG4gIHByZWZpeCA9IHByZWZpeCB8fCAnJztcblxuICB2YXIgcGFpcnMgPSBbXVxuICAgICwgdmFsdWVcbiAgICAsIGtleTtcblxuICAvL1xuICAvLyBPcHRpb25hbGx5IHByZWZpeCB3aXRoIGEgJz8nIGlmIG5lZWRlZFxuICAvL1xuICBpZiAoJ3N0cmluZycgIT09IHR5cGVvZiBwcmVmaXgpIHByZWZpeCA9ICc/JztcblxuICBmb3IgKGtleSBpbiBvYmopIHtcbiAgICBpZiAoaGFzLmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICB2YWx1ZSA9IG9ialtrZXldO1xuXG4gICAgICAvL1xuICAgICAgLy8gRWRnZSBjYXNlcyB3aGVyZSB3ZSBhY3R1YWxseSB3YW50IHRvIGVuY29kZSB0aGUgdmFsdWUgdG8gYW4gZW1wdHlcbiAgICAgIC8vIHN0cmluZyBpbnN0ZWFkIG9mIHRoZSBzdHJpbmdpZmllZCB2YWx1ZS5cbiAgICAgIC8vXG4gICAgICBpZiAoIXZhbHVlICYmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWYgfHwgaXNOYU4odmFsdWUpKSkge1xuICAgICAgICB2YWx1ZSA9ICcnO1xuICAgICAgfVxuXG4gICAgICBrZXkgPSBlbmNvZGUoa2V5KTtcbiAgICAgIHZhbHVlID0gZW5jb2RlKHZhbHVlKTtcblxuICAgICAgLy9cbiAgICAgIC8vIElmIHdlIGZhaWxlZCB0byBlbmNvZGUgdGhlIHN0cmluZ3MsIHdlIHNob3VsZCBiYWlsIG91dCBhcyB3ZSBkb24ndFxuICAgICAgLy8gd2FudCB0byBhZGQgaW52YWxpZCBzdHJpbmdzIHRvIHRoZSBxdWVyeS5cbiAgICAgIC8vXG4gICAgICBpZiAoa2V5ID09PSBudWxsIHx8IHZhbHVlID09PSBudWxsKSBjb250aW51ZTtcbiAgICAgIHBhaXJzLnB1c2goa2V5ICsnPScrIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcGFpcnMubGVuZ3RoID8gcHJlZml4ICsgcGFpcnMuam9pbignJicpIDogJyc7XG59XG5cbi8vXG4vLyBFeHBvc2UgdGhlIG1vZHVsZS5cbi8vXG5leHBvcnRzLnN0cmluZ2lmeSA9IHF1ZXJ5c3RyaW5naWZ5O1xuZXhwb3J0cy5wYXJzZSA9IHF1ZXJ5c3RyaW5nO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/querystringify/index.js\n"); - -/***/ }), - -/***/ "./node_modules/react-dom/client.js": -/*!******************************************!*\ - !*** ./node_modules/react-dom/client.js ***! - \******************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\n\nvar m = __webpack_require__(/*! react-dom */ \"react-dom\");\nif (false) {} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2NsaWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixRQUFRLG1CQUFPLENBQUMsNEJBQVc7QUFDM0IsSUFBSSxLQUFxQyxFQUFFLEVBRzFDLENBQUM7QUFDRjtBQUNBLEVBQUUsa0JBQWtCO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxFQUFFLG1CQUFtQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9yZWFjdC1kb20vY2xpZW50LmpzPzExYjEiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgbSA9IHJlcXVpcmUoJ3JlYWN0LWRvbScpO1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgZXhwb3J0cy5jcmVhdGVSb290ID0gbS5jcmVhdGVSb290O1xuICBleHBvcnRzLmh5ZHJhdGVSb290ID0gbS5oeWRyYXRlUm9vdDtcbn0gZWxzZSB7XG4gIHZhciBpID0gbS5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcbiAgZXhwb3J0cy5jcmVhdGVSb290ID0gZnVuY3Rpb24oYywgbykge1xuICAgIGkudXNpbmdDbGllbnRFbnRyeVBvaW50ID0gdHJ1ZTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG0uY3JlYXRlUm9vdChjLCBvKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaS51c2luZ0NsaWVudEVudHJ5UG9pbnQgPSBmYWxzZTtcbiAgICB9XG4gIH07XG4gIGV4cG9ydHMuaHlkcmF0ZVJvb3QgPSBmdW5jdGlvbihjLCBoLCBvKSB7XG4gICAgaS51c2luZ0NsaWVudEVudHJ5UG9pbnQgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbS5oeWRyYXRlUm9vdChjLCBoLCBvKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaS51c2luZ0NsaWVudEVudHJ5UG9pbnQgPSBmYWxzZTtcbiAgICB9XG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/react-dom/client.js\n"); - -/***/ }), - -/***/ "./node_modules/whats-new-rss/dist/react/useWhatsNewRSS.js": -/*!*****************************************************************!*\ - !*** ./node_modules/whats-new-rss/dist/react/useWhatsNewRSS.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/**\r\n * === Whats New RSS ===\r\n *\r\n * Version: 1.0.6\r\n * Generated on: 25th June, 2024\r\n * Documentation: https://github.com/brainstormforce/whats-new-rss/blob/master/README.md\r\n */\r\n\r\n\r\nvar __assign = (undefined && undefined.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar WhatsNewRSSDefaultArgs = {\r\n rssFeedURL: '',\r\n selector: '',\r\n loaderIcon: \"\\n\\t\\n\\t\\t\\n\\t\\n\\t\",\r\n viewAll: {\r\n link: '',\r\n label: 'View All',\r\n },\r\n triggerButton: {\r\n icon: \"\",\r\n beforeBtn: '',\r\n afterBtn: '',\r\n className: '',\r\n onClick: function () { },\r\n },\r\n notification: {\r\n setLastPostUnixTime: null,\r\n getLastPostUnixTime: null\r\n },\r\n flyout: {\r\n title: \"What's New?\",\r\n innerContent: {\r\n titleLink: true,\r\n additionalClasses: []\r\n },\r\n excerpt: {\r\n wordLimit: 500,\r\n moreSymbol: '…',\r\n readMore: {\r\n label: 'Read More',\r\n className: '',\r\n }\r\n },\r\n className: '',\r\n closeOnEsc: true,\r\n closeOnOverlayClick: true,\r\n closeBtnIcon: \"\",\r\n formatDate: null,\r\n onOpen: function () { },\r\n onClose: function () { },\r\n onReady: function () { },\r\n }\r\n};\r\nvar WhatsNewRSS = /** @class */ (function () {\r\n /**\r\n * Initialize our class.\r\n *\r\n * @param {ConstructorArgs} args\r\n */\r\n function WhatsNewRSS(args) {\r\n this.rssFeedURLs = [];\r\n /**\r\n * UnixTime stamp of the last seen or read post.\r\n */\r\n this.lastPostUnixTime = 0;\r\n /**\r\n * UnixTime stamp of the last seen or read post for multi feeds by feed key.\r\n */\r\n this.multiLastPostUnixTime = {};\r\n /**\r\n * Total number of new notification counts.\r\n */\r\n this.notificationsCount = 0;\r\n /**\r\n * Notification counts for multi feeds by feed key.\r\n */\r\n this.multiNotificationCount = {};\r\n /**\r\n * Check if has new feeds.\r\n */\r\n this.hasNewFeeds = false;\r\n /**\r\n * Check if has new feeds in multi feeds mode.\r\n */\r\n this.multiHasNewFeeds = {};\r\n this.validateArgs(args);\r\n this.parseDefaults(args);\r\n this.setElement();\r\n if (!this.getElement()) {\r\n console.warn('WNR: Cannot find element with', this.getArgs().selector);\r\n return;\r\n }\r\n this.setID();\r\n this.setRSSFeedURLs();\r\n WhatsNewRSSCacheUtils.setInstanceID(this.getID());\r\n this.RSS_Fetch_Instance = new WhatsNewRSSFetch(this);\r\n this.RSS_View_Instance = new WhatsNewRSSView(this);\r\n this.setNotificationsCount();\r\n this.setTriggers();\r\n }\r\n ;\r\n /**\r\n * Validate the passed arguments in constructor.\r\n *\r\n * @param {ConstructorArgs} args\r\n */\r\n WhatsNewRSS.prototype.validateArgs = function (args) {\r\n [\"rssFeedURL\", \"selector\"].map(function (requiredArg) {\r\n if (!args[requiredArg]) {\r\n throw new Error(\"\".concat(requiredArg, \" is a required argument. It cannot be empty or undefined.\"));\r\n }\r\n switch (requiredArg) {\r\n case 'rssFeedURL':\r\n var arg = args[requiredArg];\r\n if (Array.isArray(arg)) {\r\n arg.forEach(function (rssFeedURL) {\r\n if (!(rssFeedURL === null || rssFeedURL === void 0 ? void 0 : rssFeedURL.key)) {\r\n throw new Error(\"The parameter \\\"key\\\" is required for \\\"\".concat(requiredArg, \"\\\" parameter in multi-feed mode.\"));\r\n }\r\n if (rssFeedURL.key.includes(' ')) {\r\n throw new Error(\"The parameter \\\"key\\\" cannot have spaces for \\\"\".concat(requiredArg, \"\\\" parameter in multi-feed mode. Ref Key: \\\"\").concat(rssFeedURL.key, \"\\\"\"));\r\n }\r\n });\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n };\r\n /**\r\n * Parse the arguments passed by the user with the defaults.\r\n *\r\n * @param {ConstructorArgs} args\r\n */\r\n WhatsNewRSS.prototype.parseDefaults = function (args) {\r\n var _a, _b;\r\n this.args = __assign(__assign(__assign({}, WhatsNewRSSDefaultArgs), args), { viewAll: __assign(__assign({}, WhatsNewRSSDefaultArgs.viewAll), args === null || args === void 0 ? void 0 : args.viewAll), triggerButton: __assign(__assign({}, WhatsNewRSSDefaultArgs.triggerButton), args === null || args === void 0 ? void 0 : args.triggerButton), flyout: __assign(__assign(__assign({}, WhatsNewRSSDefaultArgs.flyout), args === null || args === void 0 ? void 0 : args.flyout), { innerContent: __assign(__assign({}, WhatsNewRSSDefaultArgs.flyout.innerContent), (_a = args === null || args === void 0 ? void 0 : args.flyout) === null || _a === void 0 ? void 0 : _a.innerContent), excerpt: __assign(__assign({}, WhatsNewRSSDefaultArgs.flyout.excerpt), (_b = args === null || args === void 0 ? void 0 : args.flyout) === null || _b === void 0 ? void 0 : _b.excerpt) }) });\r\n };\r\n /**\r\n * Returns parsed args.\r\n *\r\n * @returns {ConstructorArgs}\r\n */\r\n WhatsNewRSS.prototype.getArgs = function () {\r\n return this.args;\r\n };\r\n /**\r\n * Sets the HTML element queried using passed selector.\r\n */\r\n WhatsNewRSS.prototype.setElement = function () {\r\n this.element = document.querySelector(this.args.selector);\r\n };\r\n /**\r\n * Returns the html element according to the selector.\r\n *\r\n * @returns {HTMLElement}\r\n */\r\n WhatsNewRSS.prototype.getElement = function () {\r\n return this.element;\r\n };\r\n /**\r\n * Creates unique ID for current instance, that can be used by the library elements.\r\n */\r\n WhatsNewRSS.prototype.setID = function () {\r\n var data = [this.getArgs().selector];\r\n var rssFeedURL = this.getArgs().rssFeedURL;\r\n if (Array.isArray(rssFeedURL)) {\r\n rssFeedURL.forEach(function (_rssFeedURL) {\r\n data.push(_rssFeedURL.key);\r\n });\r\n }\r\n else {\r\n data.push(rssFeedURL);\r\n }\r\n this.ID = btoa(data.join('-')).slice(-12).replace(/=/g, '');\r\n };\r\n /**\r\n * Whether or not multiple feed urls is provided or not.\r\n *\r\n * @returns {boolean}\r\n */\r\n WhatsNewRSS.prototype.isMultiFeedRSS = function () {\r\n return 'string' !== typeof this.getArgs().rssFeedURL;\r\n };\r\n WhatsNewRSS.prototype.setRSSFeedURLs = function () {\r\n var _this = this;\r\n var rssFeedURL = this.getArgs().rssFeedURL;\r\n if (!this.isMultiFeedRSS()) {\r\n this.rssFeedURLs.push({\r\n key: null,\r\n label: '',\r\n url: rssFeedURL.toString(),\r\n });\r\n }\r\n else {\r\n if (Array.isArray(rssFeedURL)) {\r\n rssFeedURL.forEach(function (_item) {\r\n _this.rssFeedURLs.push(_item);\r\n });\r\n }\r\n }\r\n };\r\n WhatsNewRSS.prototype.getRSSFeedURLs = function () {\r\n return this.rssFeedURLs;\r\n };\r\n /**\r\n * Returns the current instance unique ID.\r\n *\r\n * @returns {string}\r\n */\r\n WhatsNewRSS.prototype.getID = function () {\r\n return this.ID;\r\n };\r\n /**\r\n * Checks and counts new notification for the notification badge.\r\n */\r\n WhatsNewRSS.prototype.setNotificationsCount = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, Promise.all(this.getRSSFeedURLs().map(function (_a) {\r\n var key = _a.key;\r\n return __awaiter(_this, void 0, void 0, function () {\r\n var lastPostUnixTime;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n lastPostUnixTime = 0;\r\n if (!('function' === typeof this.getArgs().notification.getLastPostUnixTime)) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.getArgs().notification.getLastPostUnixTime(key, this)];\r\n case 1:\r\n lastPostUnixTime = _b.sent();\r\n return [3 /*break*/, 3];\r\n case 2:\r\n lastPostUnixTime = WhatsNewRSSCacheUtils.getLastPostUnixTime(key);\r\n _b.label = 3;\r\n case 3:\r\n if (this.isMultiFeedRSS()) {\r\n this.multiLastPostUnixTime[key] = +lastPostUnixTime;\r\n }\r\n else {\r\n this.lastPostUnixTime = +lastPostUnixTime;\r\n }\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n }))];\r\n case 1:\r\n _a.sent();\r\n return [4 /*yield*/, this.RSS_Fetch_Instance.fetchData()\r\n .then(function (res) {\r\n Object.keys(res).forEach(function (key) {\r\n var data = res[key];\r\n if (!data.length) {\r\n return;\r\n }\r\n _this.multiNotificationCount[key] = 0;\r\n var currentPostUnixTime = +data[0].date;\r\n var lastPostUnixTime = _this.isMultiFeedRSS() ? _this.multiLastPostUnixTime[key] : _this.lastPostUnixTime;\r\n if (currentPostUnixTime > lastPostUnixTime) {\r\n data.forEach(function (item) {\r\n if (item.date > lastPostUnixTime) {\r\n if (_this.isMultiFeedRSS()) {\r\n _this.multiNotificationCount[key]++;\r\n _this.multiHasNewFeeds[key] = true;\r\n }\r\n // Keep a record of total notifications even in multi-feed mode.\r\n _this.notificationsCount++;\r\n _this.hasNewFeeds = true;\r\n }\r\n });\r\n _this.RSS_View_Instance.setNotification(_this.notificationsCount);\r\n }\r\n });\r\n })];\r\n case 2:\r\n _a.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Returns total number of new notifications.\r\n *\r\n * @returns {number}\r\n */\r\n WhatsNewRSS.prototype.getNotificationsCount = function () {\r\n return this.notificationsCount;\r\n };\r\n /**\r\n * Sets the triggers for the library, eg: close, open, fetch.\r\n */\r\n WhatsNewRSS.prototype.setTriggers = function () {\r\n var _this = this;\r\n var triggerButton = document.getElementById(this.RSS_View_Instance.getTriggerButtonID());\r\n var flyout = document.getElementById(this.RSS_View_Instance.getFlyoutID());\r\n var flyoutInner = flyout.querySelector('.whats-new-rss-flyout-inner-content');\r\n var flyoutCloseBtn = document.getElementById(this.RSS_View_Instance.getFlyoutCloseBtnID());\r\n var multiFeedNav = document.getElementById(this.RSS_View_Instance.getFlyoutMultiFeedNavID());\r\n var injectContents = function (key) {\r\n /**\r\n * Fetch data on flyout open.\r\n */\r\n _this.RSS_Fetch_Instance.fetchData()\r\n .then(function (res) {\r\n flyoutInner.innerHTML = '';\r\n var data = res[key];\r\n if (!data.length) {\r\n return;\r\n }\r\n var currentPostUnixTime = +data[0].date;\r\n var lastPostUnixTime = _this.isMultiFeedRSS() ? _this.multiLastPostUnixTime[key] : _this.lastPostUnixTime;\r\n data.forEach(function (item) {\r\n var isNewPost = !!lastPostUnixTime ? item.date > lastPostUnixTime : false;\r\n var contentTitle = _this.getArgs().flyout.innerContent.titleLink ?\r\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t

\").concat(item.title, \"

\\n\\t\\t\\t\\t\\t\\t\\t
\")\r\n :\r\n \"

\".concat(item.title, \"

\");\r\n var innerContent = \"\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t

\".concat(_this.RSS_View_Instance.formatDate(new Date(item.date)), \"

\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\").concat(contentTitle, \"\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t\\t\\t\").concat(_this.RSS_View_Instance.createExcerpt(item.description, item.postLink, _this.getArgs().flyout.excerpt), \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\").concat(_this.RSS_View_Instance.listChildrenPosts(item.children), \"\\n\\t\\t\\t\\t\\t\\t\\t\");\r\n var additionalClasses = _this.getArgs().flyout.innerContent.additionalClasses;\r\n if (!!key) {\r\n additionalClasses.push('`inner-content-item-feed-key-${key}`');\r\n }\r\n flyoutInner.innerHTML += _this.RSS_View_Instance.innerContentWrapper(innerContent, isNewPost, additionalClasses.join(' '));\r\n });\r\n if (_this.getArgs().viewAll.link) {\r\n // If we have link provided for the view all button then append a view all button at the end of the contents.\r\n flyoutInner.innerHTML += _this.RSS_View_Instance.innerContentWrapper(\"\\n\\t\\t\\t\\t\\t\\t\\t\").concat(_this.getArgs().viewAll.label, \"\\n\\t\\t\\t\\t\\t\\t\\t\"));\r\n }\r\n _this.RSS_View_Instance.setIsLoading(false);\r\n flyout.classList.add('ready');\r\n _this.getArgs().flyout.onReady(_this);\r\n /**\r\n * Change focus to flyout on flyout ready.\r\n */\r\n flyout.focus();\r\n // Set the last latest post date for notification handling.\r\n if (!_this.isMultiFeedRSS()) {\r\n _this.lastPostUnixTime = currentPostUnixTime;\r\n if (_this.hasNewFeeds) {\r\n if ('function' === typeof _this.getArgs().notification.setLastPostUnixTime) {\r\n _this.getArgs().notification.setLastPostUnixTime(currentPostUnixTime, key);\r\n }\r\n else {\r\n WhatsNewRSSCacheUtils.setLastPostUnixTime(currentPostUnixTime, key);\r\n }\r\n }\r\n }\r\n });\r\n };\r\n /**\r\n * Open flyout on trigger button click.\r\n * Flyout has three states: `closed | open | ready`\r\n */\r\n triggerButton.addEventListener(\"click\", function (e) {\r\n e.preventDefault();\r\n _this.getArgs().triggerButton.onClick(_this);\r\n _this.RSS_View_Instance.setIsLoading(true);\r\n flyout.classList.remove('closed');\r\n flyout.classList.add('open');\r\n document.body.classList.add('whats-new-rss-is-active');\r\n _this.getArgs().flyout.onOpen(_this);\r\n if (!_this.isMultiFeedRSS()) {\r\n return injectContents(null);\r\n }\r\n var navBtns = multiFeedNav.querySelectorAll('button');\r\n navBtns.forEach(function (navBtn) {\r\n _this.RSS_View_Instance.setMultiFeedTabNotificationCount(navBtn.dataset.feedKey, _this.multiNotificationCount[navBtn.dataset.feedKey]);\r\n navBtn.addEventListener('click', function (e) {\r\n e.preventDefault();\r\n var currentFeedKey = navBtn.dataset.feedKey;\r\n _this.multiNotificationCount[currentFeedKey] = 0;\r\n _this.RSS_Fetch_Instance.fetchData()\r\n .then(function (res) {\r\n var currentPostUnixTime = res[currentFeedKey][0].date;\r\n _this.multiLastPostUnixTime[currentFeedKey] = currentPostUnixTime;\r\n if (true === _this.multiHasNewFeeds[currentFeedKey]) {\r\n if ('function' === typeof _this.getArgs().notification.setLastPostUnixTime) {\r\n _this.getArgs().notification.setLastPostUnixTime(currentPostUnixTime, currentFeedKey);\r\n }\r\n else {\r\n WhatsNewRSSCacheUtils.setLastPostUnixTime(currentPostUnixTime, currentFeedKey);\r\n }\r\n }\r\n _this.multiHasNewFeeds[currentFeedKey] = false;\r\n });\r\n navBtns.forEach(function (navBtn) {\r\n navBtn.classList.remove('selected');\r\n var feedKey = navBtn.dataset.feedKey;\r\n var innerContentClassName = \".inner-content-item-feed-key-\".concat(feedKey);\r\n document.querySelectorAll(innerContentClassName).forEach(function (item) {\r\n if (currentFeedKey !== feedKey) {\r\n item.classList.add('hidden');\r\n }\r\n else {\r\n item.classList.remove('hidden');\r\n }\r\n });\r\n });\r\n navBtn.classList.add('selected');\r\n injectContents(currentFeedKey);\r\n });\r\n });\r\n navBtns[0].click();\r\n });\r\n /**\r\n * Handle events for the closing of the flyout.\r\n */\r\n var handleFlyoutClose = function () {\r\n flyout.classList.add('closed');\r\n flyout.classList.remove('open');\r\n flyout.classList.remove('ready');\r\n document.body.classList.remove('whats-new-rss-is-active');\r\n if (_this.isMultiFeedRSS()) {\r\n _this.RSS_View_Instance.setNotification(Object.values(_this.multiNotificationCount).filter(Boolean).length);\r\n }\r\n else {\r\n _this.hasNewFeeds = false;\r\n _this.RSS_View_Instance.setNotification(false);\r\n }\r\n flyoutInner.innerHTML = '';\r\n _this.getArgs().flyout.onClose(_this);\r\n /**\r\n * Change focus back to trigger button after flyout close.\r\n */\r\n triggerButton.focus();\r\n };\r\n if (this.getArgs().flyout.closeOnEsc) {\r\n document.addEventListener('keydown', function (e) {\r\n if ('Escape' !== e.key)\r\n return;\r\n if (!flyout.classList.contains('open'))\r\n return;\r\n handleFlyoutClose();\r\n });\r\n }\r\n if (this.getArgs().flyout.closeOnOverlayClick) {\r\n flyout.querySelector('.whats-new-rss-flyout-overlay').addEventListener('click', handleFlyoutClose);\r\n }\r\n flyoutCloseBtn.addEventListener('click', handleFlyoutClose);\r\n };\r\n return WhatsNewRSS;\r\n}());\r\nvar WhatsNewRSSCacheUtils = /** @class */ (function () {\r\n function WhatsNewRSSCacheUtils() {\r\n }\r\n WhatsNewRSSCacheUtils.setInstanceID = function (instanceID) {\r\n if (!this.instanceID) {\r\n this.instanceID = instanceID;\r\n }\r\n };\r\n WhatsNewRSSCacheUtils.prefixer = function (key, prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n if (!this.instanceID) {\r\n throw new Error('Instance ID not set.');\r\n }\r\n return !!prefixKey ? \"\".concat(this.keys[key], \"-\").concat(this.instanceID, \"-\").concat(prefixKey) : \"\".concat(this.keys[key], \"-\").concat(this.instanceID);\r\n };\r\n WhatsNewRSSCacheUtils._setDataExpiry = function (prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n var expiryInSeconds = 86400; // Defaults to 24 hours.\r\n var now = new Date();\r\n var expiry = now.getTime() + (expiryInSeconds * 1000);\r\n sessionStorage.setItem(this.prefixer('SESSION_DATA_EXPIRY', prefixKey), JSON.stringify(expiry));\r\n };\r\n WhatsNewRSSCacheUtils._isDataExpired = function (prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n var key = this.prefixer('SESSION_DATA_EXPIRY', prefixKey);\r\n var value = window.sessionStorage.getItem(key);\r\n if (!value) {\r\n return true;\r\n }\r\n var expiry = JSON.parse(value);\r\n var now = new Date();\r\n if (now.getTime() > expiry) {\r\n window.sessionStorage.removeItem(key);\r\n return true;\r\n }\r\n return false;\r\n };\r\n WhatsNewRSSCacheUtils.setSessionData = function (data, prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n this._setDataExpiry(prefixKey);\r\n return window.sessionStorage.setItem(this.prefixer('SESSION', prefixKey), data);\r\n };\r\n WhatsNewRSSCacheUtils.getSessionData = function (prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n if (!this._isDataExpired(prefixKey)) {\r\n return window.sessionStorage.getItem(this.prefixer('SESSION', prefixKey));\r\n }\r\n return '{}';\r\n };\r\n WhatsNewRSSCacheUtils.setLastPostUnixTime = function (unixTime, prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n return window.localStorage.setItem(this.prefixer('LAST_LATEST_POST', prefixKey), unixTime.toString());\r\n };\r\n WhatsNewRSSCacheUtils.getLastPostUnixTime = function (prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n return +window.localStorage.getItem(this.prefixer('LAST_LATEST_POST', prefixKey));\r\n };\r\n WhatsNewRSSCacheUtils.keys = {\r\n SESSION_DATA_EXPIRY: \"whats-new-cache-expiry\",\r\n LAST_LATEST_POST: \"whats-new-last-unixtime\",\r\n SESSION: \"whats-new-cache\"\r\n };\r\n return WhatsNewRSSCacheUtils;\r\n}());\r\n/**\r\n * Class for handling the data fetching.\r\n * It also handles the session caching of the fetched data internally.\r\n */\r\nvar WhatsNewRSSFetch = /** @class */ (function () {\r\n function WhatsNewRSSFetch(RSS) {\r\n var _this = this;\r\n this.data = {};\r\n this.RSS = RSS;\r\n this.RSS.getRSSFeedURLs().forEach(function (feed) {\r\n var sessionCache = JSON.parse(WhatsNewRSSCacheUtils.getSessionData(feed.key));\r\n if (sessionCache && sessionCache.length) {\r\n _this.data[feed.key] = sessionCache;\r\n }\r\n });\r\n }\r\n WhatsNewRSSFetch.prototype.fetchData = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var fetchPromises;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (Object.keys(this.data).length) {\r\n return [2 /*return*/, this.data];\r\n }\r\n fetchPromises = this.RSS.getRSSFeedURLs().map(function (feed) { return __awaiter(_this, void 0, void 0, function () {\r\n var res, data, parser, xmlDoc, items;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.data[feed.key] = [];\r\n return [4 /*yield*/, fetch(feed.url)];\r\n case 1:\r\n res = _a.sent();\r\n return [4 /*yield*/, res.text()];\r\n case 2:\r\n data = _a.sent();\r\n /**\r\n * There was an issue with the xml content parse\r\n * And during parse we were getting \"\" because of the ‘raquo’ entity.\r\n */\r\n data = data.replace(/»/g, '&raquo;');\r\n parser = new DOMParser();\r\n xmlDoc = parser.parseFromString(data, 'text/xml');\r\n items = xmlDoc.querySelectorAll('item');\r\n items.forEach(function (item) {\r\n var _a;\r\n var title = item.querySelector('title').textContent;\r\n var link = item.querySelector('link').textContent;\r\n var contentEncoded = item.querySelector('content\\\\:encoded, encoded');\r\n var content = contentEncoded ? contentEncoded.textContent : '';\r\n var rssDate = item.querySelector('pubDate').innerHTML;\r\n _this.data[feed.key].push({\r\n title: title,\r\n date: !!rssDate ? +new Date(rssDate) : null,\r\n postLink: link,\r\n description: content.replace(/])*)>/g, '').replace(/

\\s*<\\/p>/g, ''),\r\n children: JSON.parse(((_a = item.querySelector('children')) === null || _a === void 0 ? void 0 : _a.innerHTML) || '{}')\r\n });\r\n });\r\n WhatsNewRSSCacheUtils.setSessionData(JSON.stringify(this.data[feed.key]), feed.key);\r\n return [2 /*return*/];\r\n }\r\n });\r\n }); });\r\n return [4 /*yield*/, Promise.all(fetchPromises)];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/, this.data];\r\n }\r\n });\r\n });\r\n };\r\n return WhatsNewRSSFetch;\r\n}());\r\n/**\r\n * The class for handling library trigger button and flyout elements.\r\n * It also provides some necessary methods that can be used during development.\r\n */\r\nvar WhatsNewRSSView = /** @class */ (function () {\r\n function WhatsNewRSSView(RSS) {\r\n this.RSS = RSS;\r\n this.createTriggerButton();\r\n this.createFlyOut();\r\n }\r\n WhatsNewRSSView.prototype.getTriggerButtonID = function () {\r\n return \"whats-new-rss-btn-\".concat(this.RSS.getID());\r\n };\r\n WhatsNewRSSView.prototype.getFlyoutID = function () {\r\n return \"whats-new-rss-flyout-\".concat(this.RSS.getID());\r\n };\r\n WhatsNewRSSView.prototype.getFlyoutCloseBtnID = function () {\r\n return \"whats-new-rss-flyout-close-\".concat(this.RSS.getID());\r\n };\r\n WhatsNewRSSView.prototype.getFlyoutMultiFeedNavID = function () {\r\n return \"whats-new-rss-flyout-multi-feed-nav-\".concat(this.RSS.getID());\r\n };\r\n WhatsNewRSSView.prototype.setIsLoading = function (isLoading) {\r\n if (isLoading === void 0) { isLoading = false; }\r\n var flyoutWrapper = document.getElementById(this.getFlyoutID());\r\n if (isLoading) {\r\n flyoutWrapper.classList.add('is-loading');\r\n }\r\n else {\r\n flyoutWrapper.classList.remove('is-loading');\r\n }\r\n };\r\n WhatsNewRSSView.prototype.setNotification = function (notificationsCount) {\r\n var notificationBadge = document.querySelector(\"#\".concat(this.getTriggerButtonID(), \" .whats-new-rss-notification-badge\"));\r\n if (!!notificationsCount) {\r\n if (this.RSS.isMultiFeedRSS()) {\r\n notificationBadge.innerHTML = '';\r\n notificationBadge.classList.add('is-multi-feed');\r\n }\r\n else {\r\n notificationBadge.innerHTML = notificationsCount > 9 ? \"9+\" : notificationsCount.toString();\r\n }\r\n notificationBadge.classList.remove('hide');\r\n }\r\n else {\r\n notificationBadge.classList.add('hide');\r\n }\r\n };\r\n WhatsNewRSSView.prototype.createTriggerButton = function () {\r\n var button = \"\\n\\t\\t\".concat(this.RSS.getArgs().triggerButton.beforeBtn, \"\\n\\t\\t\\n\\t\\t\\t\").concat(this.RSS.getArgs().triggerButton.icon, \"\\n\\t\\t\\t

\\n\\t\\t\\n\\t\\t\").concat(this.RSS.getArgs().triggerButton.afterBtn, \"\\n\\t\\t\");\r\n this.RSS.getElement().innerHTML += button;\r\n };\r\n WhatsNewRSSView.prototype.createFlyOut = function () {\r\n var wrapperClasses = [\r\n 'whats-new-rss-flyout',\r\n 'closed',\r\n ];\r\n if (this.RSS.getArgs().flyout.className) {\r\n wrapperClasses.push(this.RSS.getArgs().flyout.className);\r\n }\r\n var multiFeedNav = [];\r\n if (this.RSS.isMultiFeedRSS()) {\r\n multiFeedNav.push(\"');\r\n }\r\n var flyoutWrapper = document.createElement('div');\r\n flyoutWrapper.setAttribute('id', this.getFlyoutID());\r\n flyoutWrapper.setAttribute('class', wrapperClasses.join(' '));\r\n flyoutWrapper.setAttribute('role', 'dialog');\r\n flyoutWrapper.innerHTML = \"\\n\\t\\t
\\n\\n\\t\\t\\t
\\n\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t

\".concat(this.RSS.getArgs().flyout.title, \"

\\n\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\").concat(this.RSS.getArgs().loaderIcon, \"\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\n\\t\\t\\t\\t\\n\\t\\t\\t
\\n\\n\\t\\t\\t\").concat(multiFeedNav.join(''), \"\\n\\n\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\n\\t\\t
\\n\\n\\t\\t
\\n\\t\\t\");\r\n document.body.appendChild(flyoutWrapper);\r\n };\r\n WhatsNewRSSView.prototype.setMultiFeedTabNotificationCount = function (key, notificationCount) {\r\n if (notificationCount === void 0) { notificationCount = 0; }\r\n var tabBtn = document.querySelector(\"#\".concat(this.getFlyoutMultiFeedNavID(), \" button[data-feed-key=\\\"\").concat(key, \"\\\"]\"));\r\n if (!tabBtn) {\r\n return;\r\n }\r\n var el = tabBtn.querySelector('.new-notification-count');\r\n if (notificationCount) {\r\n var _count = notificationCount > 9 ? '9+' : notificationCount;\r\n el.innerHTML = _count.toString();\r\n }\r\n else {\r\n el.innerHTML = '';\r\n }\r\n };\r\n WhatsNewRSSView.prototype.innerContentWrapper = function (content, isNewPost, additionalClasses) {\r\n if (isNewPost === void 0) { isNewPost = false; }\r\n if (additionalClasses === void 0) { additionalClasses = ''; }\r\n var classes = ['whats-new-rss-flyout-inner-content-item'];\r\n if (isNewPost) {\r\n classes.push('rss-new-post');\r\n }\r\n if (!!additionalClasses) {\r\n classes.push(additionalClasses);\r\n }\r\n return \"\\n\\t\\t
\\n\\t\\t\\t\").concat(isNewPost ? 'New ✨' : '', \"\\n\\t\\t\\t\").concat(content, \"\\n\\t\\t
\\n\\t\\t\");\r\n };\r\n WhatsNewRSSView.prototype.createExcerpt = function (content, readMoreLink, options) {\r\n var wordLimit = options.wordLimit, moreSymbol = options.moreSymbol, readMore = options.readMore;\r\n if (!wordLimit) {\r\n return content;\r\n }\r\n var plainText = content.replace(/<[^>]*>/g, '');\r\n var words = plainText.split(/\\s+/);\r\n var rawExcerpt = words.slice(0, wordLimit).join(' ');\r\n if (moreSymbol) {\r\n rawExcerpt += moreSymbol;\r\n }\r\n if (wordLimit > words.length) {\r\n return content;\r\n }\r\n if (!!readMoreLink && !!(readMore === null || readMore === void 0 ? void 0 : readMore.label)) {\r\n return \"

\".concat(rawExcerpt, \" \").concat(readMore.label, \"

\");\r\n }\r\n return \"

\".concat(rawExcerpt, \"

\");\r\n };\r\n WhatsNewRSSView.prototype.listChildrenPosts = function (children) {\r\n var _this = this;\r\n var _children = Object.values(children);\r\n if (!_children.length)\r\n return '';\r\n var details = document.createElement('details');\r\n var summary = document.createElement('summary');\r\n var itemsWrapper = document.createElement('div');\r\n _children.forEach(function (child) {\r\n var postContentDoc = new DOMParser().parseFromString(child.post_content, 'text/html');\r\n var itemDiv = document.createElement('div');\r\n itemDiv.classList.add('sub-version-item');\r\n itemDiv.innerHTML = \"\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t

\".concat(child.post_title, \"

\\n\\t\\t\\t\\t\\t\").concat(_this.formatDate(new Date(child.post_date)), \"\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\").concat(postContentDoc.documentElement.textContent, \"
\\n\\t\\t\\t\");\r\n itemsWrapper.appendChild(itemDiv);\r\n });\r\n summary.innerHTML = '

See More

See Less

';\r\n details.appendChild(summary);\r\n details.appendChild(itemsWrapper);\r\n itemsWrapper.classList.add('sub-version-items-wrapper');\r\n details.classList.add('whats-new-rss-sub-version-details');\r\n return details.outerHTML;\r\n };\r\n WhatsNewRSSView.prototype.formatDate = function (date) {\r\n if ('function' === typeof this.RSS.getArgs().flyout.formatDate) {\r\n return this.RSS.getArgs().flyout.formatDate(date);\r\n }\r\n var currentDate = new Date();\r\n var timestamp = date.getTime();\r\n var currentTimestamp = currentDate.getTime();\r\n var difference = currentTimestamp - timestamp;\r\n // Define time intervals in milliseconds\r\n var minute = 60 * 1000;\r\n var hour = minute * 60;\r\n var day = hour * 24;\r\n var week = day * 7;\r\n var month = day * 30; // Rough estimate, assuming 30 days in a month\r\n if (difference < minute) {\r\n return 'Just now';\r\n }\r\n else if (difference < hour) {\r\n var minutes = Math.floor(difference / minute);\r\n return \"\".concat(minutes, \" minute\").concat(minutes > 1 ? 's' : '', \" ago\");\r\n }\r\n else if (difference < day) {\r\n var hours = Math.floor(difference / hour);\r\n return \"\".concat(hours, \" hour\").concat(hours > 1 ? 's' : '', \" ago\");\r\n }\r\n else if (difference < week) {\r\n var days = Math.floor(difference / day);\r\n return \"\".concat(days, \" day\").concat(days > 1 ? 's' : '', \" ago\");\r\n }\r\n else if (difference < month) {\r\n var weeks = Math.floor(difference / week);\r\n return \"\".concat(weeks, \" week\").concat(weeks > 1 ? 's' : '', \" ago\");\r\n }\r\n else {\r\n // Handle months and years accordingly\r\n // This is a rough estimate and may not be accurate in all cases\r\n var months = Math.floor(difference / month);\r\n return \"\".concat(months, \" month\").concat(months > 1 ? 's' : '', \" ago\");\r\n }\r\n };\r\n return WhatsNewRSSView;\r\n}());\r\n\r\nasync function getCSS() {\r\n return `.whats-new-rss-is-active{overflow:hidden}.whats-new-rss-trigger-button{display:flex;align-items:center;position:relative;width:auto;padding:5px;cursor:pointer}.whats-new-rss-trigger-button .whats-new-rss-notification-badge{position:absolute;top:-8px;right:-5px;width:20px;font-size:10px;line-height:20px;text-align:center;border-radius:10px;color:#fff;background:red;transition:transform .2s ease-in-out}.whats-new-rss-trigger-button .whats-new-rss-notification-badge.is-multi-feed{top:-2px;right:-2px;font-size:0;width:10px;height:10px}.whats-new-rss-trigger-button .whats-new-rss-notification-badge.hide{display:none}.whats-new-rss-trigger-button:hover .whats-new-rss-notification-badge{transform:scale(1.2)}.whats-new-rss-flyout{position:fixed;top:0;right:0;bottom:0;width:100%;z-index:99999;transition:visibility .3s ease-in-out;font-family:Arial,Helvetica,sans-serif}.whats-new-rss-flyout .lightbox-trigger,.whats-new-rss-flyout.hidden{display:none}.whats-new-rss-flyout.is-loading .whats-new-rss-flyout-inner-header__loading-icon{display:block;margin:auto}.whats-new-rss-flyout.is-loading .whats-new-rss-flyout-inner-header__loading-icon svg{display:block;background:0 0;width:25px;height:25px}.whats-new-rss-flyout .whats-new-rss-flyout-contents{position:fixed;display:flex;right:0;width:30%;height:100%;flex-direction:column;background-color:#fff;transition:transform .3s ease-in-out;z-index:9999}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 16px 24px;border-bottom:1px solid #ccc}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-header button{border:none;background:0 0;font-size:30px;cursor:pointer;color:#94a3b8;padding:0;margin:0;box-shadow:none}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-header .whats-new-rss-flyout-inner-header__title-icon-wrapper{display:flex;gap:10px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-header .whats-new-rss-flyout-inner-header__title-icon-wrapper h3{margin:0;padding:0;color:#0f172a;font-weight:600;font-size:16px;line-height:24px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav{display:flex;padding:0 30px;border-bottom:1px solid #ccc;gap:2em;overflow:auto;white-space:nowrap}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button{position:relative;background:0 0;color:inherit;padding:15px 0;border-bottom:2px solid transparent}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button:focus,.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button:hover{border-color:inherit}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button.selected{border-color:#5d5d5d}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button .new-notification-count{position:absolute;top:0;right:-10px;width:20px;font-size:10px;line-height:20px;text-align:center;border-radius:10px;color:#fff;background:red}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content{flex:1;overflow-y:auto}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .skeleton-container{margin:30px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item{border-bottom:1px solid #d8dfe9;padding:30px 24px;color:#475569;font-weight:400;font-size:14px;line-height:20px;display:flex;flex-direction:column;gap:13px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item>*{margin:0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item.skeleton-row{height:25vh;margin:40px 0;background:linear-gradient(90deg,#eee 25%,#ddd 50%,#eee 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item.rss-new-post{position:relative}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item.rss-new-post .new-post-badge{background:#ff3d3d;border-radius:5px;position:absolute;right:45px;padding:0 5px;color:#fff}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item .rss-content-header{display:flex;flex-direction:column;gap:15px;padding:0 0 8px 0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item .rss-content-header p{color:#94a3b8;margin:0;padding:0;font-weight:600;font-size:14px;line-height:16px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item .rss-content-header h2{margin:0;color:#0f172a;font-weight:700;line-height:28px;font-size:20px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h2{font-weight:700;font-size:18px;line-height:24px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h3{font-weight:700;font-size:16px;line-height:22px;margin-top:12px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h4{font-weight:700;font-size:15px;line-height:20px;margin-top:12px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h5{font-weight:700;font-size:14px;line-height:18px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h6{font-weight:700;font-size:13px;line-height:16px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item p{padding:0;font-size:14px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item p:last-child{margin-bottom:0;padding-bottom:0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item a{color:#1170ff;text-decoration:none}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item figure{margin:10px 0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item figure.wp-block-embed.is-type-video{position:relative;width:100%;height:0;padding-bottom:56.25%}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item figure iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item video{vertical-align:middle;width:100%}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item strong{font-weight:600}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ol,.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ul{padding-inline-start:20px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ol li,.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ul li{margin-bottom:5px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ul{list-style-type:disc}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ol{list-style-type:decimal}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details{line-height:20px;font-size:.9em;margin:10px 0;background:#f9fafb}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details summary{display:flex;justify-content:space-between;cursor:pointer;padding:20px 15px;height:1em;line-height:20px;font-weight:800}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details summary::after{content:'⌃';font-size:20px;transform:rotateX(180deg);font-weight:800}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details summary .text-see-more{display:block}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details summary .text-see-less{display:none}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details[open] summary{border-bottom:1px solid #e2e8f0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details[open] summary::after{transform:rotateX(45deg)}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details[open] summary .text-see-more{display:none}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details[open] summary .text-see-less{display:block}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details .sub-version-item{position:relative;padding:1em;border-bottom:1px solid #e2e8f0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details .sub-version-item .sub-version-header{display:flex;justify-content:space-between}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details .sub-version-item .sub-version-content{margin-top:1em}.whats-new-rss-flyout .whats-new-rss-flyout-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);transition:all .3s ease-in-out}.whats-new-rss-flyout.closed{visibility:hidden}.whats-new-rss-flyout.closed .whats-new-rss-flyout-overlay{opacity:0;visibility:hidden}.whats-new-rss-flyout.closed .whats-new-rss-flyout-contents{transform:translateX(100%)}.whats-new-rss-flyout .whats-new-rss-flyout-inner-header__loading-icon{display:none}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}@media screen and (max-width:1024px){.whats-new-rss-flyout .whats-new-rss-flyout-contents{width:40%}}@media screen and (max-width:768px){.whats-new-rss-flyout .whats-new-rss-flyout-contents{width:85%}}`;\r\n}\r\n\r\nasync function addStyleIfNotExists() {\r\n const styleId = 'whats-new-rss-styles';\r\n if (!document.getElementById(styleId)) {\r\n const style = document.createElement('style');\r\n style.id = styleId;\r\n style.innerHTML = await getCSS();\r\n document.head.appendChild(style);\r\n }\r\n}\r\n\r\n\r\nfunction createWhatsNewRSSInstance(args) {\r\n return new WhatsNewRSS(args);\r\n}\r\n\r\nfunction useWhatsNewRSS({ selector, ...rest }) {\r\n const instanceRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\r\n\r\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\r\n addStyleIfNotExists();\r\n\r\n if (!instanceRef.current) {\r\n instanceRef.current = createWhatsNewRSSInstance({ selector, ...rest });\r\n }\r\n\r\n // Cleanup function\r\n return () => {\r\n if (instanceRef.current && typeof instanceRef.current.destroy === 'function') {\r\n instanceRef.current.destroy();\r\n }\r\n };\r\n }, [selector, ...Object.values(rest)]); // Adjust dependencies as needed\r\n\r\n return instanceRef.current;\r\n}\r\n\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useWhatsNewRSS);\r\n\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvd2hhdHMtbmV3LXJzcy9kaXN0L3JlYWN0L3VzZVdoYXRzTmV3UlNTLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDMEM7QUFDMUMsZ0JBQWdCLFNBQUksSUFBSSxTQUFJO0FBQzVCO0FBQ0EsaURBQWlELE9BQU87QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFJLElBQUksU0FBSTtBQUM3Qiw0QkFBNEIsK0RBQStELGlCQUFpQjtBQUM1RztBQUNBLG9DQUFvQyxNQUFNLCtCQUErQixZQUFZO0FBQ3JGLG1DQUFtQyxNQUFNLG1DQUFtQyxZQUFZO0FBQ3hGLGdDQUFnQztBQUNoQztBQUNBLEtBQUs7QUFDTDtBQUNBLG1CQUFtQixTQUFJLElBQUksU0FBSTtBQUMvQixjQUFjLDZCQUE2QiwwQkFBMEIsY0FBYyxxQkFBcUI7QUFDeEcsaUJBQWlCLG9EQUFvRCxxRUFBcUUsY0FBYztBQUN4Six1QkFBdUIsc0JBQXNCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QyxtQ0FBbUMsU0FBUztBQUM1QyxtQ0FBbUMsV0FBVyxVQUFVO0FBQ3hELDBDQUEwQyxjQUFjO0FBQ3hEO0FBQ0EsOEdBQThHLE9BQU87QUFDckgsaUZBQWlGLGlCQUFpQjtBQUNsRyx5REFBeUQsZ0JBQWdCLFFBQVE7QUFDakYsK0NBQStDLGdCQUFnQixnQkFBZ0I7QUFDL0U7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBLFVBQVUsWUFBWSxhQUFhLFNBQVMsVUFBVTtBQUN0RCxvQ0FBb0MsU0FBUztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb2JBQW9iLHlCQUF5QjtBQUM3YztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQyxLQUFLO0FB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Q0EsOERBQThELG1CQUFtQjtBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyx1Q0FBdUM7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpRUFBZSxjQUFjLEVBQUM7QUFDOUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy93aGF0cy1uZXctcnNzL2Rpc3QvcmVhY3QvdXNlV2hhdHNOZXdSU1MuanM/ODMyOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogPT09IFdoYXRzIE5ldyBSU1MgPT09XHJcbiAqXHJcbiAqIFZlcnNpb246IDEuMC42XHJcbiAqIEdlbmVyYXRlZCBvbjogMjV0aCBKdW5lLCAyMDI0XHJcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZ2l0aHViLmNvbS9icmFpbnN0b3JtZm9yY2Uvd2hhdHMtbmV3LXJzcy9ibG9iL21hc3Rlci9SRUFETUUubWRcclxuICovXHJcblxyXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xyXG52YXIgX19hc3NpZ24gPSAodGhpcyAmJiB0aGlzLl9fYXNzaWduKSB8fCBmdW5jdGlvbiAoKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpXHJcbiAgICAgICAgICAgICAgICB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn07XHJcbnZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufTtcclxudmFyIF9fZ2VuZXJhdG9yID0gKHRoaXMgJiYgdGhpcy5fX2dlbmVyYXRvcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoZyAmJiAoZyA9IDAsIG9wWzBdICYmIChfID0gMCkpLCBfKSB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5W1wicmV0dXJuXCJdIDogb3BbMF0gPyB5W1widGhyb3dcIl0gfHwgKCh0ID0geVtcInJldHVyblwiXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XHJcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcclxuICAgICAgICAgICAgc3dpdGNoIChvcFswXSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xyXG4gICAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XHJcbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XHJcbiAgICB9XHJcbn07XHJcbnZhciBXaGF0c05ld1JTU0RlZmF1bHRBcmdzID0ge1xyXG4gICAgcnNzRmVlZFVSTDogJycsXHJcbiAgICBzZWxlY3RvcjogJycsXHJcbiAgICBsb2FkZXJJY29uOiBcIjxzdmcgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB4bWxuczp4bGluaz1cXFwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1xcXCIgdmlld0JveD1cXFwiMCAwIDEwMCAxMDBcXFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XFxcInhNaWRZTWlkXFxcIj5cXG5cXHQ8Y2lyY2xlIGN4PVxcXCI1MFxcXCIgY3k9XFxcIjUwXFxcIiBmaWxsPVxcXCJub25lXFxcIiBzdHJva2U9XFxcIiM5ZjlmOWZcXFwiIHN0cm9rZS13aWR0aD1cXFwiMTBcXFwiIHI9XFxcIjM1XFxcIiBzdHJva2UtZGFzaGFycmF5PVxcXCIxNjQuOTMzNjE0MzEzNDY0MTUgNTYuOTc3ODcxNDM3ODIxMzhcXFwiPlxcblxcdFxcdDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9XFxcInRyYW5zZm9ybVxcXCIgdHlwZT1cXFwicm90YXRlXFxcIiByZXBlYXRDb3VudD1cXFwiaW5kZWZpbml0ZVxcXCIgZHVyPVxcXCIxc1xcXCIgdmFsdWVzPVxcXCIwIDUwIDUwOzM2MCA1MCA1MFxcXCIga2V5VGltZXM9XFxcIjA7MVxcXCI+PC9hbmltYXRlVHJhbnNmb3JtPlxcblxcdDwvY2lyY2xlPlxcblxcdDwvc3ZnPlwiLFxyXG4gICAgdmlld0FsbDoge1xyXG4gICAgICAgIGxpbms6ICcnLFxyXG4gICAgICAgIGxhYmVsOiAnVmlldyBBbGwnLFxyXG4gICAgfSxcclxuICAgIHRyaWdnZXJCdXR0b246IHtcclxuICAgICAgICBpY29uOiBcIjxzdmcgd2lkdGg9XFxcIjIwXFxcIiBoZWlnaHQ9XFxcIjIwXFxcIiB2aWV3Qm94PVxcXCIwIDAgMjAgMjBcXFwiIGZpbGw9XFxcIm5vbmVcXFwiIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCI+PHBhdGggZD1cXFwiTTguNjE3MDMgMTMuMTk5OEM4LjA0Mjk0IDEzLjE1MDMgNy40NjE5MiAxMy4xMjUgNi44NzUgMTMuMTI1SDYuMjVDNC4xNzg5MyAxMy4xMjUgMi41IDExLjQ0NjEgMi41IDkuMzc1QzIuNSA3LjMwMzkzIDQuMTc4OTMgNS42MjUgNi4yNSA1LjYyNUg2Ljg3NUM3LjQ2MTkyIDUuNjI1IDguMDQyOTQgNS41OTk3MiA4LjYxNzAzIDUuNTUwMThNOC42MTcwMyAxMy4xOTk4QzguODI3NzQgMTQuMDAxMiA5LjEwMzEgMTQuNzc2NCA5LjQzNzE5IDE1LjUxOTVDOS42NDM0MSAxNS45NzgyIDkuNDg2ODUgMTYuNTI3MyA5LjA1MTM0IDE2Ljc3ODdMOC41MDQ0MSAxNy4wOTQ1QzguMDQ0OTIgMTcuMzU5OCA3LjQ1NDY2IDE3LjE5MjEgNy4yMzIwMSAxNi43MTA2QzYuNzA5ODMgMTUuNTgxMSA2LjMwNDUxIDE0LjM4NjYgNi4wMzE1NSAxMy4xNDI1TTguNjE3MDMgMTMuMTk5OEM4LjI5NTk4IDExLjk3ODcgOC4xMjUgMTAuNjk2OCA4LjEyNSA5LjM3NUM4LjEyNSA4LjA1MzE2IDguMjk1OTggNi43NzEyNSA4LjYxNzAzIDUuNTUwMThNOC42MTcwMyAxMy4xOTk4QzExLjI1IDEzLjQyNyAxMy43MzcgMTQuMTY0MyAxNS45Nzg5IDE1LjMxMjRNOC42MTcwMyA1LjU1MDE4QzExLjI1IDUuMzIzIDEzLjczNyA0LjU4NTY5IDE1Ljk3ODkgMy40Mzc1N00xNS45Nzg5IDMuNDM3NTdDMTUuODgwOCAzLjEyMTYyIDE1Ljc3NTEgMi44MDkwMyAxNS42NjIgMi41TTE1Ljk3ODkgMy40Mzc1N0MxNi40MjQ3IDQuODczNTYgMTYuNzEzMSA2LjM3ODg1IDE2LjgyMzggNy45MzMyNk0xNS45Nzg5IDE1LjMxMjRDMTUuODgwOCAxNS42Mjg0IDE1Ljc3NTEgMTUuOTQxIDE1LjY2MiAxNi4yNU0xNS45Nzg5IDE1LjMxMjRDMTYuNDI0NyAxMy44NzY0IDE2LjcxMzEgMTIuMzcxMSAxNi44MjM4IDEwLjgxNjdNMTYuODIzOCA3LjkzMzI2QzE3LjIzNyA4LjI3NzIgMTcuNSA4Ljc5NTM5IDE3LjUgOS4zNzVDMTcuNSA5Ljk1NDYxIDE3LjIzNyAxMC40NzI4IDE2LjgyMzggMTAuODE2N00xNi44MjM4IDcuOTMzMjZDMTYuODU3OCA4LjQwOTQyIDE2Ljg3NSA4Ljg5MDIgMTYuODc1IDkuMzc1QzE2Ljg3NSA5Ljg1OTggMTYuODU3OCAxMC4zNDA2IDE2LjgyMzggMTAuODE2N1xcXCIgc3Ryb2tlPVxcXCIjOTRBM0I4XFxcIiBzdHJva2Utd2lkdGg9XFxcIjEuNVxcXCIgc3Ryb2tlLWxpbmVjYXA9XFxcInJvdW5kXFxcIiBzdHJva2UtbGluZWpvaW49XFxcInJvdW5kXFxcIi8+PC9zdmc+XCIsXHJcbiAgICAgICAgYmVmb3JlQnRuOiAnJyxcclxuICAgICAgICBhZnRlckJ0bjogJycsXHJcbiAgICAgICAgY2xhc3NOYW1lOiAnJyxcclxuICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiAoKSB7IH0sXHJcbiAgICB9LFxyXG4gICAgbm90aWZpY2F0aW9uOiB7XHJcbiAgICAgICAgc2V0TGFzdFBvc3RVbml4VGltZTogbnVsbCxcclxuICAgICAgICBnZXRMYXN0UG9zdFVuaXhUaW1lOiBudWxsXHJcbiAgICB9LFxyXG4gICAgZmx5b3V0OiB7XHJcbiAgICAgICAgdGl0bGU6IFwiV2hhdCdzIE5ldz9cIixcclxuICAgICAgICBpbm5lckNvbnRlbnQ6IHtcclxuICAgICAgICAgICAgdGl0bGVMaW5rOiB0cnVlLFxyXG4gICAgICAgICAgICBhZGRpdGlvbmFsQ2xhc3NlczogW11cclxuICAgICAgICB9LFxyXG4gICAgICAgIGV4Y2VycHQ6IHtcclxuICAgICAgICAgICAgd29yZExpbWl0OiA1MDAsXHJcbiAgICAgICAgICAgIG1vcmVTeW1ib2w6ICcmaGVsbGlwOycsXHJcbiAgICAgICAgICAgIHJlYWRNb3JlOiB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbDogJ1JlYWQgTW9yZScsXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICcnLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjbGFzc05hbWU6ICcnLFxyXG4gICAgICAgIGNsb3NlT25Fc2M6IHRydWUsXHJcbiAgICAgICAgY2xvc2VPbk92ZXJsYXlDbGljazogdHJ1ZSxcclxuICAgICAgICBjbG9zZUJ0bkljb246IFwiPHN2ZyB3aWR0aD1cXFwiMjRcXFwiIGhlaWdodD1cXFwiMjRcXFwiIHZpZXdCb3g9XFxcIjAgMCAyNCAyNFxcXCIgZmlsbD1cXFwibm9uZVxcXCIgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIj48cGF0aCBkPVxcXCJNNiAxOEwxOCA2TTYgNkwxOCAxOFxcXCIgc3Ryb2tlPVxcXCIjOTRBM0I4XFxcIiBzdHJva2Utd2lkdGg9XFxcIjEuNVxcXCIgc3Ryb2tlLWxpbmVjYXA9XFxcInJvdW5kXFxcIiBzdHJva2UtbGluZWpvaW49XFxcInJvdW5kXFxcIi8+PC9zdmc+XCIsXHJcbiAgICAgICAgZm9ybWF0RGF0ZTogbnVsbCxcclxuICAgICAgICBvbk9wZW46IGZ1bmN0aW9uICgpIHsgfSxcclxuICAgICAgICBvbkNsb3NlOiBmdW5jdGlvbiAoKSB7IH0sXHJcbiAgICAgICAgb25SZWFkeTogZnVuY3Rpb24gKCkgeyB9LFxyXG4gICAgfVxyXG59O1xyXG52YXIgV2hhdHNOZXdSU1MgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemUgb3VyIGNsYXNzLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7Q29uc3RydWN0b3JBcmdzfSBhcmdzXHJcbiAgICAgKi9cclxuICAgIGZ1bmN0aW9uIFdoYXRzTmV3UlNTKGFyZ3MpIHtcclxuICAgICAgICB0aGlzLnJzc0ZlZWRVUkxzID0gW107XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogVW5peFRpbWUgc3RhbXAgb2YgdGhlIGxhc3Qgc2VlbiBvciByZWFkIHBvc3QuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgdGhpcy5sYXN0UG9zdFVuaXhUaW1lID0gMDtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBVbml4VGltZSBzdGFtcCBvZiB0aGUgbGFzdCBzZWVuIG9yIHJlYWQgcG9zdCBmb3IgbXVsdGkgZmVlZHMgYnkgZmVlZCBrZXkuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgdGhpcy5tdWx0aUxhc3RQb3N0VW5peFRpbWUgPSB7fTtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBUb3RhbCBudW1iZXIgb2YgbmV3IG5vdGlmaWNhdGlvbiBjb3VudHMuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zQ291bnQgPSAwO1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIE5vdGlmaWNhdGlvbiBjb3VudHMgZm9yIG11bHRpIGZlZWRzIGJ5IGZlZWQga2V5LlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHRoaXMubXVsdGlOb3RpZmljYXRpb25Db3VudCA9IHt9O1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIENoZWNrIGlmIGhhcyBuZXcgZmVlZHMuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgdGhpcy5oYXNOZXdGZWVkcyA9IGZhbHNlO1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIENoZWNrIGlmIGhhcyBuZXcgZmVlZHMgaW4gbXVsdGkgZmVlZHMgbW9kZS5cclxuICAgICAgICAgKi9cclxuICAgICAgICB0aGlzLm11bHRpSGFzTmV3RmVlZHMgPSB7fTtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlQXJncyhhcmdzKTtcclxuICAgICAgICB0aGlzLnBhcnNlRGVmYXVsdHMoYXJncyk7XHJcbiAgICAgICAgdGhpcy5zZXRFbGVtZW50KCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmdldEVsZW1lbnQoKSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1dOUjogQ2Fubm90IGZpbmQgZWxlbWVudCB3aXRoJywgdGhpcy5nZXRBcmdzKCkuc2VsZWN0b3IpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0SUQoKTtcclxuICAgICAgICB0aGlzLnNldFJTU0ZlZWRVUkxzKCk7XHJcbiAgICAgICAgV2hhdHNOZXdSU1NDYWNoZVV0aWxzLnNldEluc3RhbmNlSUQodGhpcy5nZXRJRCgpKTtcclxuICAgICAgICB0aGlzLlJTU19GZXRjaF9JbnN0YW5jZSA9IG5ldyBXaGF0c05ld1JTU0ZldGNoKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuUlNTX1ZpZXdfSW5zdGFuY2UgPSBuZXcgV2hhdHNOZXdSU1NWaWV3KHRoaXMpO1xyXG4gICAgICAgIHRoaXMuc2V0Tm90aWZpY2F0aW9uc0NvdW50KCk7XHJcbiAgICAgICAgdGhpcy5zZXRUcmlnZ2VycygpO1xyXG4gICAgfVxyXG4gICAgO1xyXG4gICAgLyoqXHJcbiAgICAgKiBWYWxpZGF0ZSB0aGUgcGFzc2VkIGFyZ3VtZW50cyBpbiBjb25zdHJ1Y3Rvci5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge0NvbnN0cnVjdG9yQXJnc30gYXJnc1xyXG4gICAgICovXHJcbiAgICBXaGF0c05ld1JTUy5wcm90b3R5cGUudmFsaWRhdGVBcmdzID0gZnVuY3Rpb24gKGFyZ3MpIHtcclxuICAgICAgICBbXCJyc3NGZWVkVVJMXCIsIFwic2VsZWN0b3JcIl0ubWFwKGZ1bmN0aW9uIChyZXF1aXJlZEFyZykge1xyXG4gICAgICAgICAgICBpZiAoIWFyZ3NbcmVxdWlyZWRBcmddKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJcIi5jb25jYXQocmVxdWlyZWRBcmcsIFwiIGlzIGEgcmVxdWlyZWQgYXJndW1lbnQuIEl0IGNhbm5vdCBiZSBlbXB0eSBvciB1bmRlZmluZWQuXCIpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzd2l0Y2ggKHJlcXVpcmVkQXJnKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdyc3NGZWVkVVJMJzpcclxuICAgICAgICAgICAgICAgICAgICB2YXIgYXJnID0gYXJnc1tyZXF1aXJlZEFyZ107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXJnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmcuZm9yRWFjaChmdW5jdGlvbiAocnNzRmVlZFVSTCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEocnNzRmVlZFVSTCA9PT0gbnVsbCB8fCByc3NGZWVkVVJMID09PSB2b2lkIDAgPyB2b2lkIDAgOiByc3NGZWVkVVJMLmtleSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgcGFyYW1ldGVyIFxcXCJrZXlcXFwiIGlzIHJlcXVpcmVkIGZvciBcXFwiXCIuY29uY2F0KHJlcXVpcmVkQXJnLCBcIlxcXCIgcGFyYW1ldGVyIGluIG11bHRpLWZlZWQgbW9kZS5cIikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJzc0ZlZWRVUkwua2V5LmluY2x1ZGVzKCcgJykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgcGFyYW1ldGVyIFxcXCJrZXlcXFwiIGNhbm5vdCBoYXZlIHNwYWNlcyBmb3IgXFxcIlwiLmNvbmNhdChyZXF1aXJlZEFyZywgXCJcXFwiIHBhcmFtZXRlciBpbiBtdWx0aS1mZWVkIG1vZGUuIFJlZiBLZXk6IFxcXCJcIikuY29uY2F0KHJzc0ZlZWRVUkwua2V5LCBcIlxcXCJcIikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBQYXJzZSB0aGUgYXJndW1lbnRzIHBhc3NlZCBieSB0aGUgdXNlciB3aXRoIHRoZSBkZWZhdWx0cy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge0NvbnN0cnVjdG9yQXJnc30gYXJnc1xyXG4gICAgICovXHJcbiAgICBXaGF0c05ld1JTUy5wcm90b3R5cGUucGFyc2VEZWZhdWx0cyA9IGZ1bmN0aW9uIChhcmdzKSB7XHJcbiAgICAgICAgdmFyIF9hLCBfYjtcclxuICAgICAgICB0aGlzLmFyZ3MgPSBfX2Fzc2lnbihfX2Fzc2lnbihfX2Fzc2lnbih7fSwgV2hhdHNOZXdSU1NEZWZhdWx0QXJncyksIGFyZ3MpLCB7IHZpZXdBbGw6IF9fYXNzaWduKF9fYXNzaWduKHt9LCBXaGF0c05ld1JTU0RlZmF1bHRBcmdzLnZpZXdBbGwpLCBhcmdzID09PSBudWxsIHx8IGFyZ3MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFyZ3Mudmlld0FsbCksIHRyaWdnZXJCdXR0b246IF9fYXNzaWduKF9fYXNzaWduKHt9LCBXaGF0c05ld1JTU0RlZmF1bHRBcmdzLnRyaWdnZXJCdXR0b24pLCBhcmdzID09PSBudWxsIHx8IGFyZ3MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFyZ3MudHJpZ2dlckJ1dHRvbiksIGZseW91dDogX19hc3NpZ24oX19hc3NpZ24oX19hc3NpZ24oe30sIFdoYXRzTmV3UlNTRGVmYXVsdEFyZ3MuZmx5b3V0KSwgYXJncyA9PT0gbnVsbCB8fCBhcmdzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBhcmdzLmZseW91dCksIHsgaW5uZXJDb250ZW50OiBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgV2hhdHNOZXdSU1NEZWZhdWx0QXJncy5mbHlvdXQuaW5uZXJDb250ZW50KSwgKF9hID0gYXJncyA9PT0gbnVsbCB8fCBhcmdzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBhcmdzLmZseW91dCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmlubmVyQ29udGVudCksIGV4Y2VycHQ6IF9fYXNzaWduKF9fYXNzaWduKHt9LCBXaGF0c05ld1JTU0RlZmF1bHRBcmdzLmZseW91dC5leGNlcnB0KSwgKF9iID0gYXJncyA9PT0gbnVsbCB8fCBhcmdzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBhcmdzLmZseW91dCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmV4Y2VycHQpIH0pIH0pO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBwYXJzZWQgYXJncy5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7Q29uc3RydWN0b3JBcmdzfVxyXG4gICAgICovXHJcbiAgICBXaGF0c05ld1JTUy5wcm90b3R5cGUuZ2V0QXJncyA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcmdzO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgSFRNTCBlbGVtZW50IHF1ZXJpZWQgdXNpbmcgcGFzc2VkIHNlbGVjdG9yLlxyXG4gICAgICovXHJcbiAgICBXaGF0c05ld1JTUy5wcm90b3R5cGUuc2V0RWxlbWVudCA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuYXJncy5zZWxlY3Rvcik7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBodG1sIGVsZW1lbnQgYWNjb3JkaW5nIHRvIHRoZSBzZWxlY3Rvci5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7SFRNTEVsZW1lbnR9XHJcbiAgICAgKi9cclxuICAgIFdoYXRzTmV3UlNTLnByb3RvdHlwZS5nZXRFbGVtZW50ID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQ7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIHVuaXF1ZSBJRCBmb3IgY3VycmVudCBpbnN0YW5jZSwgdGhhdCBjYW4gYmUgdXNlZCBieSB0aGUgbGlicmFyeSBlbGVtZW50cy5cclxuICAgICAqL1xyXG4gICAgV2hhdHNOZXdSU1MucHJvdG90eXBlLnNldElEID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBkYXRhID0gW3RoaXMuZ2V0QXJncygpLnNlbGVjdG9yXTtcclxuICAgICAgICB2YXIgcnNzRmVlZFVSTCA9IHRoaXMuZ2V0QXJncygpLnJzc0ZlZWRVUkw7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocnNzRmVlZFVSTCkpIHtcclxuICAgICAgICAgICAgcnNzRmVlZFVSTC5mb3JFYWNoKGZ1bmN0aW9uIChfcnNzRmVlZFVSTCkge1xyXG4gICAgICAgICAgICAgICAgZGF0YS5wdXNoKF9yc3NGZWVkVVJMLmtleSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgZGF0YS5wdXNoKHJzc0ZlZWRVUkwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLklEID0gYnRvYShkYXRhLmpvaW4oJy0nKSkuc2xpY2UoLTEyKS5yZXBsYWNlKC89L2csICcnKTtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFdoZXRoZXIgb3Igbm90IG11bHRpcGxlIGZlZWQgdXJscyBpcyBwcm92aWRlZCBvciBub3QuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59XHJcbiAgICAgKi9cclxuICAgIFdoYXRzTmV3UlNTLnByb3RvdHlwZS5pc011bHRpRmVlZFJTUyA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICByZXR1cm4gJ3N0cmluZycgIT09IHR5cGVvZiB0aGlzLmdldEFyZ3MoKS5yc3NGZWVkVVJMO1xyXG4gICAgfTtcclxuICAgIFdoYXRzTmV3UlNTLnByb3RvdHlwZS5zZXRSU1NGZWVkVVJMcyA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xyXG4gICAgICAgIHZhciByc3NGZWVkVVJMID0gdGhpcy5nZXRBcmdzKCkucnNzRmVlZFVSTDtcclxuICAgICAgICBpZiAoIXRoaXMuaXNNdWx0aUZlZWRSU1MoKSkge1xyXG4gICAgICAgICAgICB0aGlzLnJzc0ZlZWRVUkxzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAga2V5OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6ICcnLFxyXG4gICAgICAgICAgICAgICAgdXJsOiByc3NGZWVkVVJMLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocnNzRmVlZFVSTCkpIHtcclxuICAgICAgICAgICAgICAgIHJzc0ZlZWRVUkwuZm9yRWFjaChmdW5jdGlvbiAoX2l0ZW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBfdGhpcy5yc3NGZWVkVVJMcy5wdXNoKF9pdGVtKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIFdoYXRzTmV3UlNTLnByb3RvdHlwZS5nZXRSU1NGZWVkVVJMcyA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yc3NGZWVkVVJMcztcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdW5pcXVlIElELlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9XHJcbiAgICAgKi9cclxuICAgIFdoYXRzTmV3UlNTLnByb3RvdHlwZS5nZXRJRCA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5JRDtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyBhbmQgY291bnRzIG5ldyBub3RpZmljYXRpb24gZm9yIHRoZSBub3RpZmljYXRpb24gYmFkZ2UuXHJcbiAgICAgKi9cclxuICAgIFdoYXRzTmV3UlNTLnByb3RvdHlwZS5zZXROb3RpZmljYXRpb25zQ291bnQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xyXG4gICAgICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKF9hLmxhYmVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAwOiByZXR1cm4gWzQgLyp5aWVsZCovLCBQcm9taXNlLmFsbCh0aGlzLmdldFJTU0ZlZWRVUkxzKCkubWFwKGZ1bmN0aW9uIChfYSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGtleSA9IF9hLmtleTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIoX3RoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxhc3RQb3N0VW5peFRpbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKF9iLmxhYmVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFBvc3RVbml4VGltZSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoJ2Z1bmN0aW9uJyA9PT0gdHlwZW9mIHRoaXMuZ2V0QXJncygpLm5vdGlmaWNhdGlvbi5nZXRMYXN0UG9zdFVuaXhUaW1lKSkgcmV0dXJuIFszIC8qYnJlYWsqLywgMl07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgdGhpcy5nZXRBcmdzKCkubm90aWZpY2F0aW9uLmdldExhc3RQb3N0VW5peFRpbWUoa2V5LCB0aGlzKV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFBvc3RVbml4VGltZSA9IF9iLnNlbnQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCAzXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0UG9zdFVuaXhUaW1lID0gV2hhdHNOZXdSU1NDYWNoZVV0aWxzLmdldExhc3RQb3N0VW5peFRpbWUoa2V5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYi5sYWJlbCA9IDM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNNdWx0aUZlZWRSU1MoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm11bHRpTGFzdFBvc3RVbml4VGltZVtrZXldID0gK2xhc3RQb3N0VW5peFRpbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RQb3N0VW5peFRpbWUgPSArbGFzdFBvc3RVbml4VGltZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi9dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF9hLnNlbnQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgdGhpcy5SU1NfRmV0Y2hfSW5zdGFuY2UuZmV0Y2hEYXRhKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMocmVzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGEgPSByZXNba2V5XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFkYXRhLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLm11bHRpTm90aWZpY2F0aW9uQ291bnRba2V5XSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdXJyZW50UG9zdFVuaXhUaW1lID0gK2RhdGFbMF0uZGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxhc3RQb3N0VW5peFRpbWUgPSBfdGhpcy5pc011bHRpRmVlZFJTUygpID8gX3RoaXMubXVsdGlMYXN0UG9zdFVuaXhUaW1lW2tleV0gOiBfdGhpcy5sYXN0UG9zdFVuaXhUaW1lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudFBvc3RVbml4VGltZSA+IGxhc3RQb3N0VW5peFRpbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmRhdGUgPiBsYXN0UG9zdFVuaXhUaW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfdGhpcy5pc011bHRpRmVlZFJTUygpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5tdWx0aU5vdGlmaWNhdGlvbkNvdW50W2tleV0rKztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLm11bHRpSGFzTmV3RmVlZHNba2V5XSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gS2VlcCBhIHJlY29yZCBvZiB0b3RhbCBub3RpZmljYXRpb25zIGV2ZW4gaW4gbXVsdGktZmVlZCBtb2RlLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5ub3RpZmljYXRpb25zQ291bnQrKztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuaGFzTmV3RmVlZHMgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuUlNTX1ZpZXdfSW5zdGFuY2Uuc2V0Tm90aWZpY2F0aW9uKF90aGlzLm5vdGlmaWNhdGlvbnNDb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF9hLnNlbnQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi9dO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdG90YWwgbnVtYmVyIG9mIG5ldyBub3RpZmljYXRpb25zLlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9XHJcbiAgICAgKi9cclxuICAgIFdoYXRzTmV3UlNTLnByb3RvdHlwZS5nZXROb3RpZmljYXRpb25zQ291bnQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubm90aWZpY2F0aW9uc0NvdW50O1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgdHJpZ2dlcnMgZm9yIHRoZSBsaWJyYXJ5LCBlZzogY2xvc2UsIG9wZW4sIGZldGNoLlxyXG4gICAgICovXHJcbiAgICBXaGF0c05ld1JTUy5wcm90b3R5cGUuc2V0VHJpZ2dlcnMgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgICAgICB2YXIgdHJpZ2dlckJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuUlNTX1ZpZXdfSW5zdGFuY2UuZ2V0VHJpZ2dlckJ1dHRvbklEKCkpO1xyXG4gICAgICAgIHZhciBmbHlvdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLlJTU19WaWV3X0luc3RhbmNlLmdldEZseW91dElEKCkpO1xyXG4gICAgICAgIHZhciBmbHlvdXRJbm5lciA9IGZseW91dC5xdWVyeVNlbGVjdG9yKCcud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudCcpO1xyXG4gICAgICAgIHZhciBmbHlvdXRDbG9zZUJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuUlNTX1ZpZXdfSW5zdGFuY2UuZ2V0Rmx5b3V0Q2xvc2VCdG5JRCgpKTtcclxuICAgICAgICB2YXIgbXVsdGlGZWVkTmF2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5SU1NfVmlld19JbnN0YW5jZS5nZXRGbHlvdXRNdWx0aUZlZWROYXZJRCgpKTtcclxuICAgICAgICB2YXIgaW5qZWN0Q29udGVudHMgPSBmdW5jdGlvbiAoa2V5KSB7XHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKiBGZXRjaCBkYXRhIG9uIGZseW91dCBvcGVuLlxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgX3RoaXMuUlNTX0ZldGNoX0luc3RhbmNlLmZldGNoRGF0YSgpXHJcbiAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAgICAgICAgICAgICBmbHlvdXRJbm5lci5pbm5lckhUTUwgPSAnJztcclxuICAgICAgICAgICAgICAgIHZhciBkYXRhID0gcmVzW2tleV07XHJcbiAgICAgICAgICAgICAgICBpZiAoIWRhdGEubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRQb3N0VW5peFRpbWUgPSArZGF0YVswXS5kYXRlO1xyXG4gICAgICAgICAgICAgICAgdmFyIGxhc3RQb3N0VW5peFRpbWUgPSBfdGhpcy5pc011bHRpRmVlZFJTUygpID8gX3RoaXMubXVsdGlMYXN0UG9zdFVuaXhUaW1lW2tleV0gOiBfdGhpcy5sYXN0UG9zdFVuaXhUaW1lO1xyXG4gICAgICAgICAgICAgICAgZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGlzTmV3UG9zdCA9ICEhbGFzdFBvc3RVbml4VGltZSA/IGl0ZW0uZGF0ZSA+IGxhc3RQb3N0VW5peFRpbWUgOiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgY29udGVudFRpdGxlID0gX3RoaXMuZ2V0QXJncygpLmZseW91dC5pbm5lckNvbnRlbnQudGl0bGVMaW5rID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgXCI8YSBocmVmPVxcXCJcIi5jb25jYXQoaXRlbS5wb3N0TGluaywgXCJcXFwiIHRhcmdldD1cXFwiX2JsYW5rXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8aDI+XCIpLmNvbmNhdChpdGVtLnRpdGxlLCBcIjwvaDI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9hPlwiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIjxoMj5cIi5jb25jYXQoaXRlbS50aXRsZSwgXCI8L2gyPlwiKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgaW5uZXJDb250ZW50ID0gXCJcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJyc3MtY29udGVudC1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxwPlwiLmNvbmNhdChfdGhpcy5SU1NfVmlld19JbnN0YW5jZS5mb3JtYXREYXRlKG5ldyBEYXRlKGl0ZW0uZGF0ZSkpLCBcIjwvcD5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcIikuY29uY2F0KGNvbnRlbnRUaXRsZSwgXCJcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcIikuY29uY2F0KF90aGlzLlJTU19WaWV3X0luc3RhbmNlLmNyZWF0ZUV4Y2VycHQoaXRlbS5kZXNjcmlwdGlvbiwgaXRlbS5wb3N0TGluaywgX3RoaXMuZ2V0QXJncygpLmZseW91dC5leGNlcnB0KSwgXCJcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcIikuY29uY2F0KF90aGlzLlJTU19WaWV3X0luc3RhbmNlLmxpc3RDaGlsZHJlblBvc3RzKGl0ZW0uY2hpbGRyZW4pLCBcIlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFwiKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgYWRkaXRpb25hbENsYXNzZXMgPSBfdGhpcy5nZXRBcmdzKCkuZmx5b3V0LmlubmVyQ29udGVudC5hZGRpdGlvbmFsQ2xhc3NlcztcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISFrZXkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbENsYXNzZXMucHVzaCgnYGlubmVyLWNvbnRlbnQtaXRlbS1mZWVkLWtleS0ke2tleX1gJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGZseW91dElubmVyLmlubmVySFRNTCArPSBfdGhpcy5SU1NfVmlld19JbnN0YW5jZS5pbm5lckNvbnRlbnRXcmFwcGVyKGlubmVyQ29udGVudCwgaXNOZXdQb3N0LCBhZGRpdGlvbmFsQ2xhc3Nlcy5qb2luKCcgJykpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoX3RoaXMuZ2V0QXJncygpLnZpZXdBbGwubGluaykge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgbGluayBwcm92aWRlZCBmb3IgdGhlIHZpZXcgYWxsIGJ1dHRvbiB0aGVuIGFwcGVuZCBhIHZpZXcgYWxsIGJ1dHRvbiBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50cy5cclxuICAgICAgICAgICAgICAgICAgICBmbHlvdXRJbm5lci5pbm5lckhUTUwgKz0gX3RoaXMuUlNTX1ZpZXdfSW5zdGFuY2UuaW5uZXJDb250ZW50V3JhcHBlcihcIlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcIlwiLmNvbmNhdChfdGhpcy5nZXRBcmdzKCkudmlld0FsbC5saW5rLCBcIlxcXCIgY2xhc3M9XFxcImJ1dHRvbiB2aWV3LWFsbFxcXCI+XCIpLmNvbmNhdChfdGhpcy5nZXRBcmdzKCkudmlld0FsbC5sYWJlbCwgXCI8L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XCIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF90aGlzLlJTU19WaWV3X0luc3RhbmNlLnNldElzTG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICBmbHlvdXQuY2xhc3NMaXN0LmFkZCgncmVhZHknKTtcclxuICAgICAgICAgICAgICAgIF90aGlzLmdldEFyZ3MoKS5mbHlvdXQub25SZWFkeShfdGhpcyk7XHJcbiAgICAgICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICAgICAqIENoYW5nZSBmb2N1cyB0byBmbHlvdXQgb24gZmx5b3V0IHJlYWR5LlxyXG4gICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICBmbHlvdXQuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgIC8vIFNldCB0aGUgbGFzdCBsYXRlc3QgcG9zdCBkYXRlIGZvciBub3RpZmljYXRpb24gaGFuZGxpbmcuXHJcbiAgICAgICAgICAgICAgICBpZiAoIV90aGlzLmlzTXVsdGlGZWVkUlNTKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBfdGhpcy5sYXN0UG9zdFVuaXhUaW1lID0gY3VycmVudFBvc3RVbml4VGltZTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoX3RoaXMuaGFzTmV3RmVlZHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCdmdW5jdGlvbicgPT09IHR5cGVvZiBfdGhpcy5nZXRBcmdzKCkubm90aWZpY2F0aW9uLnNldExhc3RQb3N0VW5peFRpbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmdldEFyZ3MoKS5ub3RpZmljYXRpb24uc2V0TGFzdFBvc3RVbml4VGltZShjdXJyZW50UG9zdFVuaXhUaW1lLCBrZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hhdHNOZXdSU1NDYWNoZVV0aWxzLnNldExhc3RQb3N0VW5peFRpbWUoY3VycmVudFBvc3RVbml4VGltZSwga2V5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBPcGVuIGZseW91dCBvbiB0cmlnZ2VyIGJ1dHRvbiBjbGljay5cclxuICAgICAgICAgKiBGbHlvdXQgaGFzIHRocmVlIHN0YXRlczogYGNsb3NlZCB8IG9wZW4gfCByZWFkeWBcclxuICAgICAgICAgKi9cclxuICAgICAgICB0cmlnZ2VyQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIF90aGlzLmdldEFyZ3MoKS50cmlnZ2VyQnV0dG9uLm9uQ2xpY2soX3RoaXMpO1xyXG4gICAgICAgICAgICBfdGhpcy5SU1NfVmlld19JbnN0YW5jZS5zZXRJc0xvYWRpbmcodHJ1ZSk7XHJcbiAgICAgICAgICAgIGZseW91dC5jbGFzc0xpc3QucmVtb3ZlKCdjbG9zZWQnKTtcclxuICAgICAgICAgICAgZmx5b3V0LmNsYXNzTGlzdC5hZGQoJ29wZW4nKTtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCd3aGF0cy1uZXctcnNzLWlzLWFjdGl2ZScpO1xyXG4gICAgICAgICAgICBfdGhpcy5nZXRBcmdzKCkuZmx5b3V0Lm9uT3BlbihfdGhpcyk7XHJcbiAgICAgICAgICAgIGlmICghX3RoaXMuaXNNdWx0aUZlZWRSU1MoKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGluamVjdENvbnRlbnRzKG51bGwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHZhciBuYXZCdG5zID0gbXVsdGlGZWVkTmF2LnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbicpO1xyXG4gICAgICAgICAgICBuYXZCdG5zLmZvckVhY2goZnVuY3Rpb24gKG5hdkJ0bikge1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuUlNTX1ZpZXdfSW5zdGFuY2Uuc2V0TXVsdGlGZWVkVGFiTm90aWZpY2F0aW9uQ291bnQobmF2QnRuLmRhdGFzZXQuZmVlZEtleSwgX3RoaXMubXVsdGlOb3RpZmljYXRpb25Db3VudFtuYXZCdG4uZGF0YXNldC5mZWVkS2V5XSk7XHJcbiAgICAgICAgICAgICAgICBuYXZCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgY3VycmVudEZlZWRLZXkgPSBuYXZCdG4uZGF0YXNldC5mZWVkS2V5O1xyXG4gICAgICAgICAgICAgICAgICAgIF90aGlzLm11bHRpTm90aWZpY2F0aW9uQ291bnRbY3VycmVudEZlZWRLZXldID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBfdGhpcy5SU1NfRmV0Y2hfSW5zdGFuY2UuZmV0Y2hEYXRhKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3VycmVudFBvc3RVbml4VGltZSA9IHJlc1tjdXJyZW50RmVlZEtleV1bMF0uZGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMubXVsdGlMYXN0UG9zdFVuaXhUaW1lW2N1cnJlbnRGZWVkS2V5XSA9IGN1cnJlbnRQb3N0VW5peFRpbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0cnVlID09PSBfdGhpcy5tdWx0aUhhc05ld0ZlZWRzW2N1cnJlbnRGZWVkS2V5XSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCdmdW5jdGlvbicgPT09IHR5cGVvZiBfdGhpcy5nZXRBcmdzKCkubm90aWZpY2F0aW9uLnNldExhc3RQb3N0VW5peFRpbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5nZXRBcmdzKCkubm90aWZpY2F0aW9uLnNldExhc3RQb3N0VW5peFRpbWUoY3VycmVudFBvc3RVbml4VGltZSwgY3VycmVudEZlZWRLZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hhdHNOZXdSU1NDYWNoZVV0aWxzLnNldExhc3RQb3N0VW5peFRpbWUoY3VycmVudFBvc3RVbml4VGltZSwgY3VycmVudEZlZWRLZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLm11bHRpSGFzTmV3RmVlZHNbY3VycmVudEZlZWRLZXldID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbmF2QnRucy5mb3JFYWNoKGZ1bmN0aW9uIChuYXZCdG4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmF2QnRuLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmZWVkS2V5ID0gbmF2QnRuLmRhdGFzZXQuZmVlZEtleTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlubmVyQ29udGVudENsYXNzTmFtZSA9IFwiLmlubmVyLWNvbnRlbnQtaXRlbS1mZWVkLWtleS1cIi5jb25jYXQoZmVlZEtleSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoaW5uZXJDb250ZW50Q2xhc3NOYW1lKS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudEZlZWRLZXkgIT09IGZlZWRLZXkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbmF2QnRuLmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGVkJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5qZWN0Q29udGVudHMoY3VycmVudEZlZWRLZXkpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBuYXZCdG5zWzBdLmNsaWNrKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogSGFuZGxlIGV2ZW50cyBmb3IgdGhlIGNsb3Npbmcgb2YgdGhlIGZseW91dC5cclxuICAgICAgICAgKi9cclxuICAgICAgICB2YXIgaGFuZGxlRmx5b3V0Q2xvc2UgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGZseW91dC5jbGFzc0xpc3QuYWRkKCdjbG9zZWQnKTtcclxuICAgICAgICAgICAgZmx5b3V0LmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTtcclxuICAgICAgICAgICAgZmx5b3V0LmNsYXNzTGlzdC5yZW1vdmUoJ3JlYWR5Jyk7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnd2hhdHMtbmV3LXJzcy1pcy1hY3RpdmUnKTtcclxuICAgICAgICAgICAgaWYgKF90aGlzLmlzTXVsdGlGZWVkUlNTKCkpIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLlJTU19WaWV3X0luc3RhbmNlLnNldE5vdGlmaWNhdGlvbihPYmplY3QudmFsdWVzKF90aGlzLm11bHRpTm90aWZpY2F0aW9uQ291bnQpLmZpbHRlcihCb29sZWFuKS5sZW5ndGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuaGFzTmV3RmVlZHMgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIF90aGlzLlJTU19WaWV3X0luc3RhbmNlLnNldE5vdGlmaWNhdGlvbihmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZmx5b3V0SW5uZXIuaW5uZXJIVE1MID0gJyc7XHJcbiAgICAgICAgICAgIF90aGlzLmdldEFyZ3MoKS5mbHlvdXQub25DbG9zZShfdGhpcyk7XHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKiBDaGFuZ2UgZm9jdXMgYmFjayB0byB0cmlnZ2VyIGJ1dHRvbiBhZnRlciBmbHlvdXQgY2xvc2UuXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICB0cmlnZ2VyQnV0dG9uLmZvY3VzKCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAodGhpcy5nZXRBcmdzKCkuZmx5b3V0LmNsb3NlT25Fc2MpIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoJ0VzY2FwZScgIT09IGUua2V5KVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIGlmICghZmx5b3V0LmNsYXNzTGlzdC5jb250YWlucygnb3BlbicpKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIGhhbmRsZUZseW91dENsb3NlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5nZXRBcmdzKCkuZmx5b3V0LmNsb3NlT25PdmVybGF5Q2xpY2spIHtcclxuICAgICAgICAgICAgZmx5b3V0LnF1ZXJ5U2VsZWN0b3IoJy53aGF0cy1uZXctcnNzLWZseW91dC1vdmVybGF5JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVGbHlvdXRDbG9zZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZseW91dENsb3NlQnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgaGFuZGxlRmx5b3V0Q2xvc2UpO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBXaGF0c05ld1JTUztcclxufSgpKTtcclxudmFyIFdoYXRzTmV3UlNTQ2FjaGVVdGlscyA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcclxuICAgIGZ1bmN0aW9uIFdoYXRzTmV3UlNTQ2FjaGVVdGlscygpIHtcclxuICAgIH1cclxuICAgIFdoYXRzTmV3UlNTQ2FjaGVVdGlscy5zZXRJbnN0YW5jZUlEID0gZnVuY3Rpb24gKGluc3RhbmNlSUQpIHtcclxuICAgICAgICBpZiAoIXRoaXMuaW5zdGFuY2VJRCkge1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlSUQgPSBpbnN0YW5jZUlEO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICBXaGF0c05ld1JTU0NhY2hlVXRpbHMucHJlZml4ZXIgPSBmdW5jdGlvbiAoa2V5LCBwcmVmaXhLZXkpIHtcclxuICAgICAgICBpZiAocHJlZml4S2V5ID09PSB2b2lkIDApIHsgcHJlZml4S2V5ID0gJyc7IH1cclxuICAgICAgICBpZiAoIXRoaXMuaW5zdGFuY2VJRCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0luc3RhbmNlIElEIG5vdCBzZXQuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAhIXByZWZpeEtleSA/IFwiXCIuY29uY2F0KHRoaXMua2V5c1trZXldLCBcIi1cIikuY29uY2F0KHRoaXMuaW5zdGFuY2VJRCwgXCItXCIpLmNvbmNhdChwcmVmaXhLZXkpIDogXCJcIi5jb25jYXQodGhpcy5rZXlzW2tleV0sIFwiLVwiKS5jb25jYXQodGhpcy5pbnN0YW5jZUlEKTtcclxuICAgIH07XHJcbiAgICBXaGF0c05ld1JTU0NhY2hlVXRpbHMuX3NldERhdGFFeHBpcnkgPSBmdW5jdGlvbiAocHJlZml4S2V5KSB7XHJcbiAgICAgICAgaWYgKHByZWZpeEtleSA9PT0gdm9pZCAwKSB7IHByZWZpeEtleSA9ICcnOyB9XHJcbiAgICAgICAgdmFyIGV4cGlyeUluU2Vjb25kcyA9IDg2NDAwOyAvLyBEZWZhdWx0cyB0byAyNCBob3Vycy5cclxuICAgICAgICB2YXIgbm93ID0gbmV3IERhdGUoKTtcclxuICAgICAgICB2YXIgZXhwaXJ5ID0gbm93LmdldFRpbWUoKSArIChleHBpcnlJblNlY29uZHMgKiAxMDAwKTtcclxuICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMucHJlZml4ZXIoJ1NFU1NJT05fREFUQV9FWFBJUlknLCBwcmVmaXhLZXkpLCBKU09OLnN0cmluZ2lmeShleHBpcnkpKTtcclxuICAgIH07XHJcbiAgICBXaGF0c05ld1JTU0NhY2hlVXRpbHMuX2lzRGF0YUV4cGlyZWQgPSBmdW5jdGlvbiAocHJlZml4S2V5KSB7XHJcbiAgICAgICAgaWYgKHByZWZpeEtleSA9PT0gdm9pZCAwKSB7IHByZWZpeEtleSA9ICcnOyB9XHJcbiAgICAgICAgdmFyIGtleSA9IHRoaXMucHJlZml4ZXIoJ1NFU1NJT05fREFUQV9FWFBJUlknLCBwcmVmaXhLZXkpO1xyXG4gICAgICAgIHZhciB2YWx1ZSA9IHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIGV4cGlyeSA9IEpTT04ucGFyc2UodmFsdWUpO1xyXG4gICAgICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIGlmIChub3cuZ2V0VGltZSgpID4gZXhwaXJ5KSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9O1xyXG4gICAgV2hhdHNOZXdSU1NDYWNoZVV0aWxzLnNldFNlc3Npb25EYXRhID0gZnVuY3Rpb24gKGRhdGEsIHByZWZpeEtleSkge1xyXG4gICAgICAgIGlmIChwcmVmaXhLZXkgPT09IHZvaWQgMCkgeyBwcmVmaXhLZXkgPSAnJzsgfVxyXG4gICAgICAgIHRoaXMuX3NldERhdGFFeHBpcnkocHJlZml4S2V5KTtcclxuICAgICAgICByZXR1cm4gd2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5wcmVmaXhlcignU0VTU0lPTicsIHByZWZpeEtleSksIGRhdGEpO1xyXG4gICAgfTtcclxuICAgIFdoYXRzTmV3UlNTQ2FjaGVVdGlscy5nZXRTZXNzaW9uRGF0YSA9IGZ1bmN0aW9uIChwcmVmaXhLZXkpIHtcclxuICAgICAgICBpZiAocHJlZml4S2V5ID09PSB2b2lkIDApIHsgcHJlZml4S2V5ID0gJyc7IH1cclxuICAgICAgICBpZiAoIXRoaXMuX2lzRGF0YUV4cGlyZWQocHJlZml4S2V5KSkge1xyXG4gICAgICAgICAgICByZXR1cm4gd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5wcmVmaXhlcignU0VTU0lPTicsIHByZWZpeEtleSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJ3t9JztcclxuICAgIH07XHJcbiAgICBXaGF0c05ld1JTU0NhY2hlVXRpbHMuc2V0TGFzdFBvc3RVbml4VGltZSA9IGZ1bmN0aW9uICh1bml4VGltZSwgcHJlZml4S2V5KSB7XHJcbiAgICAgICAgaWYgKHByZWZpeEtleSA9PT0gdm9pZCAwKSB7IHByZWZpeEtleSA9ICcnOyB9XHJcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnByZWZpeGVyKCdMQVNUX0xBVEVTVF9QT1NUJywgcHJlZml4S2V5KSwgdW5peFRpbWUudG9TdHJpbmcoKSk7XHJcbiAgICB9O1xyXG4gICAgV2hhdHNOZXdSU1NDYWNoZVV0aWxzLmdldExhc3RQb3N0VW5peFRpbWUgPSBmdW5jdGlvbiAocHJlZml4S2V5KSB7XHJcbiAgICAgICAgaWYgKHByZWZpeEtleSA9PT0gdm9pZCAwKSB7IHByZWZpeEtleSA9ICcnOyB9XHJcbiAgICAgICAgcmV0dXJuICt3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5wcmVmaXhlcignTEFTVF9MQVRFU1RfUE9TVCcsIHByZWZpeEtleSkpO1xyXG4gICAgfTtcclxuICAgIFdoYXRzTmV3UlNTQ2FjaGVVdGlscy5rZXlzID0ge1xyXG4gICAgICAgIFNFU1NJT05fREFUQV9FWFBJUlk6IFwid2hhdHMtbmV3LWNhY2hlLWV4cGlyeVwiLFxyXG4gICAgICAgIExBU1RfTEFURVNUX1BPU1Q6IFwid2hhdHMtbmV3LWxhc3QtdW5peHRpbWVcIixcclxuICAgICAgICBTRVNTSU9OOiBcIndoYXRzLW5ldy1jYWNoZVwiXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIFdoYXRzTmV3UlNTQ2FjaGVVdGlscztcclxufSgpKTtcclxuLyoqXHJcbiAqIENsYXNzIGZvciBoYW5kbGluZyB0aGUgZGF0YSBmZXRjaGluZy5cclxuICogSXQgYWxzbyBoYW5kbGVzIHRoZSBzZXNzaW9uIGNhY2hpbmcgb2YgdGhlIGZldGNoZWQgZGF0YSBpbnRlcm5hbGx5LlxyXG4gKi9cclxudmFyIFdoYXRzTmV3UlNTRmV0Y2ggPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XHJcbiAgICBmdW5jdGlvbiBXaGF0c05ld1JTU0ZldGNoKFJTUykge1xyXG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgdGhpcy5kYXRhID0ge307XHJcbiAgICAgICAgdGhpcy5SU1MgPSBSU1M7XHJcbiAgICAgICAgdGhpcy5SU1MuZ2V0UlNTRmVlZFVSTHMoKS5mb3JFYWNoKGZ1bmN0aW9uIChmZWVkKSB7XHJcbiAgICAgICAgICAgIHZhciBzZXNzaW9uQ2FjaGUgPSBKU09OLnBhcnNlKFdoYXRzTmV3UlNTQ2FjaGVVdGlscy5nZXRTZXNzaW9uRGF0YShmZWVkLmtleSkpO1xyXG4gICAgICAgICAgICBpZiAoc2Vzc2lvbkNhY2hlICYmIHNlc3Npb25DYWNoZS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLmRhdGFbZmVlZC5rZXldID0gc2Vzc2lvbkNhY2hlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBXaGF0c05ld1JTU0ZldGNoLnByb3RvdHlwZS5mZXRjaERhdGEgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgZmV0Y2hQcm9taXNlcztcclxuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgICAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYSkge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChfYS5sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuZGF0YSkubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qLywgdGhpcy5kYXRhXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmZXRjaFByb21pc2VzID0gdGhpcy5SU1MuZ2V0UlNTRmVlZFVSTHMoKS5tYXAoZnVuY3Rpb24gKGZlZWQpIHsgcmV0dXJuIF9fYXdhaXRlcihfdGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXMsIGRhdGEsIHBhcnNlciwgeG1sRG9jLCBpdGVtcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChfYS5sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFbZmVlZC5rZXldID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCBmZXRjaChmZWVkLnVybCldO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBfYS5zZW50KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCByZXMudGV4dCgpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IF9hLnNlbnQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogVGhlcmUgd2FzIGFuIGlzc3VlIHdpdGggdGhlIHhtbCBjb250ZW50IHBhcnNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBBbmQgZHVyaW5nIHBhcnNlIHdlIHdlcmUgZ2V0dGluZyBcIjxwYXJzZXJlcnJvcj5cIiBiZWNhdXNlIG9mIHRoZSDigJhyYXF1b+KAmSBlbnRpdHkuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBkYXRhLnJlcGxhY2UoLyZyYXF1bzsvZywgJyZhbXA7cmFxdW87Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxEb2MgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKGRhdGEsICd0ZXh0L3htbCcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSB4bWxEb2MucXVlcnlTZWxlY3RvckFsbCgnaXRlbScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSBpdGVtLnF1ZXJ5U2VsZWN0b3IoJ3RpdGxlJykudGV4dENvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxpbmsgPSBpdGVtLnF1ZXJ5U2VsZWN0b3IoJ2xpbmsnKS50ZXh0Q29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY29udGVudEVuY29kZWQgPSBpdGVtLnF1ZXJ5U2VsZWN0b3IoJ2NvbnRlbnRcXFxcOmVuY29kZWQsIGVuY29kZWQnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY29udGVudCA9IGNvbnRlbnRFbmNvZGVkID8gY29udGVudEVuY29kZWQudGV4dENvbnRlbnQgOiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcnNzRGF0ZSA9IGl0ZW0ucXVlcnlTZWxlY3RvcigncHViRGF0ZScpLmlubmVySFRNTDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5kYXRhW2ZlZWQua2V5XS5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlOiAhIXJzc0RhdGUgPyArbmV3IERhdGUocnNzRGF0ZSkgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3N0TGluazogbGluayxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGNvbnRlbnQucmVwbGFjZSgvPGFcXGIoKD86KD8hdGFyZ2V0PSlbXj5dKSopPi9nLCAnPGEkMSB0YXJnZXQ9XCJfYmxhbmtcIj4nKS5yZXBsYWNlKC88cD5cXHMqPFxcL3A+L2csICcnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IEpTT04ucGFyc2UoKChfYSA9IGl0ZW0ucXVlcnlTZWxlY3RvcignY2hpbGRyZW4nKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmlubmVySFRNTCkgfHwgJ3t9JylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hhdHNOZXdSU1NDYWNoZVV0aWxzLnNldFNlc3Npb25EYXRhKEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YVtmZWVkLmtleV0pLCBmZWVkLmtleSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qL107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pOyB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgUHJvbWlzZS5hbGwoZmV0Y2hQcm9taXNlcyldO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgX2Euc2VudCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qLywgdGhpcy5kYXRhXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIFdoYXRzTmV3UlNTRmV0Y2g7XHJcbn0oKSk7XHJcbi8qKlxyXG4gKiBUaGUgY2xhc3MgZm9yIGhhbmRsaW5nIGxpYnJhcnkgdHJpZ2dlciBidXR0b24gYW5kIGZseW91dCBlbGVtZW50cy5cclxuICogSXQgYWxzbyBwcm92aWRlcyBzb21lIG5lY2Vzc2FyeSBtZXRob2RzIHRoYXQgY2FuIGJlIHVzZWQgZHVyaW5nIGRldmVsb3BtZW50LlxyXG4gKi9cclxudmFyIFdoYXRzTmV3UlNTVmlldyA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcclxuICAgIGZ1bmN0aW9uIFdoYXRzTmV3UlNTVmlldyhSU1MpIHtcclxuICAgICAgICB0aGlzLlJTUyA9IFJTUztcclxuICAgICAgICB0aGlzLmNyZWF0ZVRyaWdnZXJCdXR0b24oKTtcclxuICAgICAgICB0aGlzLmNyZWF0ZUZseU91dCgpO1xyXG4gICAgfVxyXG4gICAgV2hhdHNOZXdSU1NWaWV3LnByb3RvdHlwZS5nZXRUcmlnZ2VyQnV0dG9uSUQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIFwid2hhdHMtbmV3LXJzcy1idG4tXCIuY29uY2F0KHRoaXMuUlNTLmdldElEKCkpO1xyXG4gICAgfTtcclxuICAgIFdoYXRzTmV3UlNTVmlldy5wcm90b3R5cGUuZ2V0Rmx5b3V0SUQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIFwid2hhdHMtbmV3LXJzcy1mbHlvdXQtXCIuY29uY2F0KHRoaXMuUlNTLmdldElEKCkpO1xyXG4gICAgfTtcclxuICAgIFdoYXRzTmV3UlNTVmlldy5wcm90b3R5cGUuZ2V0Rmx5b3V0Q2xvc2VCdG5JRCA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICByZXR1cm4gXCJ3aGF0cy1uZXctcnNzLWZseW91dC1jbG9zZS1cIi5jb25jYXQodGhpcy5SU1MuZ2V0SUQoKSk7XHJcbiAgICB9O1xyXG4gICAgV2hhdHNOZXdSU1NWaWV3LnByb3RvdHlwZS5nZXRGbHlvdXRNdWx0aUZlZWROYXZJRCA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICByZXR1cm4gXCJ3aGF0cy1uZXctcnNzLWZseW91dC1tdWx0aS1mZWVkLW5hdi1cIi5jb25jYXQodGhpcy5SU1MuZ2V0SUQoKSk7XHJcbiAgICB9O1xyXG4gICAgV2hhdHNOZXdSU1NWaWV3LnByb3RvdHlwZS5zZXRJc0xvYWRpbmcgPSBmdW5jdGlvbiAoaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgaWYgKGlzTG9hZGluZyA9PT0gdm9pZCAwKSB7IGlzTG9hZGluZyA9IGZhbHNlOyB9XHJcbiAgICAgICAgdmFyIGZseW91dFdyYXBwZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmdldEZseW91dElEKCkpO1xyXG4gICAgICAgIGlmIChpc0xvYWRpbmcpIHtcclxuICAgICAgICAgICAgZmx5b3V0V3JhcHBlci5jbGFzc0xpc3QuYWRkKCdpcy1sb2FkaW5nJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBmbHlvdXRXcmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoJ2lzLWxvYWRpbmcnKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgV2hhdHNOZXdSU1NWaWV3LnByb3RvdHlwZS5zZXROb3RpZmljYXRpb24gPSBmdW5jdGlvbiAobm90aWZpY2F0aW9uc0NvdW50KSB7XHJcbiAgICAgICAgdmFyIG5vdGlmaWNhdGlvbkJhZGdlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIiNcIi5jb25jYXQodGhpcy5nZXRUcmlnZ2VyQnV0dG9uSUQoKSwgXCIgLndoYXRzLW5ldy1yc3Mtbm90aWZpY2F0aW9uLWJhZGdlXCIpKTtcclxuICAgICAgICBpZiAoISFub3RpZmljYXRpb25zQ291bnQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuUlNTLmlzTXVsdGlGZWVkUlNTKCkpIHtcclxuICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbkJhZGdlLmlubmVySFRNTCA9ICcnO1xyXG4gICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uQmFkZ2UuY2xhc3NMaXN0LmFkZCgnaXMtbXVsdGktZmVlZCcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uQmFkZ2UuaW5uZXJIVE1MID0gbm90aWZpY2F0aW9uc0NvdW50ID4gOSA/IFwiOStcIiA6IG5vdGlmaWNhdGlvbnNDb3VudC50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbkJhZGdlLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGUnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbkJhZGdlLmNsYXNzTGlzdC5hZGQoJ2hpZGUnKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgV2hhdHNOZXdSU1NWaWV3LnByb3RvdHlwZS5jcmVhdGVUcmlnZ2VyQnV0dG9uID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBidXR0b24gPSBcIlxcblxcdFxcdFwiLmNvbmNhdCh0aGlzLlJTUy5nZXRBcmdzKCkudHJpZ2dlckJ1dHRvbi5iZWZvcmVCdG4sIFwiXFxuXFx0XFx0PGEgY2xhc3M9XFxcIndoYXRzLW5ldy1yc3MtdHJpZ2dlci1idXR0b25cXFwiIGlkPVxcXCJcIikuY29uY2F0KHRoaXMuZ2V0VHJpZ2dlckJ1dHRvbklEKCksIFwiXFxcIj5cXG5cXHRcXHRcXHRcIikuY29uY2F0KHRoaXMuUlNTLmdldEFyZ3MoKS50cmlnZ2VyQnV0dG9uLmljb24sIFwiXFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwid2hhdHMtbmV3LXJzcy1ub3RpZmljYXRpb24tYmFkZ2UgaGlkZVxcXCI+MDwvZGl2PlxcblxcdFxcdDwvYT5cXG5cXHRcXHRcIikuY29uY2F0KHRoaXMuUlNTLmdldEFyZ3MoKS50cmlnZ2VyQnV0dG9uLmFmdGVyQnRuLCBcIlxcblxcdFxcdFwiKTtcclxuICAgICAgICB0aGlzLlJTUy5nZXRFbGVtZW50KCkuaW5uZXJIVE1MICs9IGJ1dHRvbjtcclxuICAgIH07XHJcbiAgICBXaGF0c05ld1JTU1ZpZXcucHJvdG90eXBlLmNyZWF0ZUZseU91dCA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgd3JhcHBlckNsYXNzZXMgPSBbXHJcbiAgICAgICAgICAgICd3aGF0cy1uZXctcnNzLWZseW91dCcsXHJcbiAgICAgICAgICAgICdjbG9zZWQnLFxyXG4gICAgICAgIF07XHJcbiAgICAgICAgaWYgKHRoaXMuUlNTLmdldEFyZ3MoKS5mbHlvdXQuY2xhc3NOYW1lKSB7XHJcbiAgICAgICAgICAgIHdyYXBwZXJDbGFzc2VzLnB1c2godGhpcy5SU1MuZ2V0QXJncygpLmZseW91dC5jbGFzc05hbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgbXVsdGlGZWVkTmF2ID0gW107XHJcbiAgICAgICAgaWYgKHRoaXMuUlNTLmlzTXVsdGlGZWVkUlNTKCkpIHtcclxuICAgICAgICAgICAgbXVsdGlGZWVkTmF2LnB1c2goXCI8bmF2IGlkPVxcXCJcIi5jb25jYXQodGhpcy5nZXRGbHlvdXRNdWx0aUZlZWROYXZJRCgpLCBcIlxcXCIgY2xhc3M9XFxcIndoYXRzLW5ldy1yc3MtbXVsdGktZmVlZC1uYXZcXFwiPlwiKSk7XHJcbiAgICAgICAgICAgIHRoaXMuUlNTLmdldFJTU0ZlZWRVUkxzKCkuZm9yRWFjaChmdW5jdGlvbiAoZmVlZCkge1xyXG4gICAgICAgICAgICAgICAgbXVsdGlGZWVkTmF2LnB1c2goXCI8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgZGF0YS1mZWVkLWtleT1cXFwiXCIuY29uY2F0KGZlZWQua2V5LCBcIlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XCIpLmNvbmNhdChmZWVkLmxhYmVsLCBcIlxcblxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIm5ldy1ub3RpZmljYXRpb24tY291bnRcXFwiPjwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdDwvYnV0dG9uPlxcblxcdFxcdFxcdFxcdFxcdFwiKSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBtdWx0aUZlZWROYXYucHVzaCgnPC9uYXY+Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZhciBmbHlvdXRXcmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgZmx5b3V0V3JhcHBlci5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5nZXRGbHlvdXRJRCgpKTtcclxuICAgICAgICBmbHlvdXRXcmFwcGVyLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCB3cmFwcGVyQ2xhc3Nlcy5qb2luKCcgJykpO1xyXG4gICAgICAgIGZseW91dFdyYXBwZXIuc2V0QXR0cmlidXRlKCdyb2xlJywgJ2RpYWxvZycpO1xyXG4gICAgICAgIGZseW91dFdyYXBwZXIuaW5uZXJIVE1MID0gXCJcXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCJ3aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50c1xcXCI+XFxuXFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwid2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItaGVhZGVyXFxcIj5cXG5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJ3aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1oZWFkZXJfX3RpdGxlLWljb24td3JhcHBlclxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGgzPlwiLmNvbmNhdCh0aGlzLlJTUy5nZXRBcmdzKCkuZmx5b3V0LnRpdGxlLCBcIjwvaDM+XFxuXFxuXFx0XFx0XFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWhlYWRlcl9fbG9hZGluZy1pY29uXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcIikuY29uY2F0KHRoaXMuUlNTLmdldEFyZ3MoKS5sb2FkZXJJY29uLCBcIlxcblxcdFxcdFxcdFxcdFxcdDwvc3Bhbj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHRcXHRcXHQ8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgaWQ9XFxcIlwiKS5jb25jYXQodGhpcy5nZXRGbHlvdXRDbG9zZUJ0bklEKCksIFwiXFxcIj5cIikuY29uY2F0KHRoaXMuUlNTLmdldEFyZ3MoKS5mbHlvdXQuY2xvc2VCdG5JY29uLCBcIjwvYnV0dG9uPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdFwiKS5jb25jYXQobXVsdGlGZWVkTmF2LmpvaW4oJycpLCBcIlxcblxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcInNrZWxldG9uLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwic2tlbGV0b24tcm93IHdoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQtaXRlbVxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwic2tlbGV0b24tcm93IHdoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQtaXRlbVxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwic2tlbGV0b24tcm93IHdoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQtaXRlbVxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwid2hhdHMtbmV3LXJzcy1mbHlvdXQtb3ZlcmxheVxcXCI+PC9kaXY+XFxuXFx0XFx0XCIpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZmx5b3V0V3JhcHBlcik7XHJcbiAgICB9O1xyXG4gICAgV2hhdHNOZXdSU1NWaWV3LnByb3RvdHlwZS5zZXRNdWx0aUZlZWRUYWJOb3RpZmljYXRpb25Db3VudCA9IGZ1bmN0aW9uIChrZXksIG5vdGlmaWNhdGlvbkNvdW50KSB7XHJcbiAgICAgICAgaWYgKG5vdGlmaWNhdGlvbkNvdW50ID09PSB2b2lkIDApIHsgbm90aWZpY2F0aW9uQ291bnQgPSAwOyB9XHJcbiAgICAgICAgdmFyIHRhYkJ0biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjXCIuY29uY2F0KHRoaXMuZ2V0Rmx5b3V0TXVsdGlGZWVkTmF2SUQoKSwgXCIgYnV0dG9uW2RhdGEtZmVlZC1rZXk9XFxcIlwiKS5jb25jYXQoa2V5LCBcIlxcXCJdXCIpKTtcclxuICAgICAgICBpZiAoIXRhYkJ0bikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZhciBlbCA9IHRhYkJ0bi5xdWVyeVNlbGVjdG9yKCcubmV3LW5vdGlmaWNhdGlvbi1jb3VudCcpO1xyXG4gICAgICAgIGlmIChub3RpZmljYXRpb25Db3VudCkge1xyXG4gICAgICAgICAgICB2YXIgX2NvdW50ID0gbm90aWZpY2F0aW9uQ291bnQgPiA5ID8gJzkrJyA6IG5vdGlmaWNhdGlvbkNvdW50O1xyXG4gICAgICAgICAgICBlbC5pbm5lckhUTUwgPSBfY291bnQudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGVsLmlubmVySFRNTCA9ICcnO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICBXaGF0c05ld1JTU1ZpZXcucHJvdG90eXBlLmlubmVyQ29udGVudFdyYXBwZXIgPSBmdW5jdGlvbiAoY29udGVudCwgaXNOZXdQb3N0LCBhZGRpdGlvbmFsQ2xhc3Nlcykge1xyXG4gICAgICAgIGlmIChpc05ld1Bvc3QgPT09IHZvaWQgMCkgeyBpc05ld1Bvc3QgPSBmYWxzZTsgfVxyXG4gICAgICAgIGlmIChhZGRpdGlvbmFsQ2xhc3NlcyA9PT0gdm9pZCAwKSB7IGFkZGl0aW9uYWxDbGFzc2VzID0gJyc7IH1cclxuICAgICAgICB2YXIgY2xhc3NlcyA9IFsnd2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudC1pdGVtJ107XHJcbiAgICAgICAgaWYgKGlzTmV3UG9zdCkge1xyXG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3Jzcy1uZXctcG9zdCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoISFhZGRpdGlvbmFsQ2xhc3Nlcykge1xyXG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goYWRkaXRpb25hbENsYXNzZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gXCJcXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCJcIi5jb25jYXQoY2xhc3Nlcy5qb2luKCcgJyksIFwiXFxcIj5cXG5cXHRcXHRcXHRcIikuY29uY2F0KGlzTmV3UG9zdCA/ICc8c21hbGwgY2xhc3M9XCJuZXctcG9zdC1iYWRnZVwiPk5ldyDinKg8L3NtYWxsPicgOiAnJywgXCJcXG5cXHRcXHRcXHRcIikuY29uY2F0KGNvbnRlbnQsIFwiXFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0XCIpO1xyXG4gICAgfTtcclxuICAgIFdoYXRzTmV3UlNTVmlldy5wcm90b3R5cGUuY3JlYXRlRXhjZXJwdCA9IGZ1bmN0aW9uIChjb250ZW50LCByZWFkTW9yZUxpbmssIG9wdGlvbnMpIHtcclxuICAgICAgICB2YXIgd29yZExpbWl0ID0gb3B0aW9ucy53b3JkTGltaXQsIG1vcmVTeW1ib2wgPSBvcHRpb25zLm1vcmVTeW1ib2wsIHJlYWRNb3JlID0gb3B0aW9ucy5yZWFkTW9yZTtcclxuICAgICAgICBpZiAoIXdvcmRMaW1pdCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIHBsYWluVGV4dCA9IGNvbnRlbnQucmVwbGFjZSgvPFtePl0qPi9nLCAnJyk7XHJcbiAgICAgICAgdmFyIHdvcmRzID0gcGxhaW5UZXh0LnNwbGl0KC9cXHMrLyk7XHJcbiAgICAgICAgdmFyIHJhd0V4Y2VycHQgPSB3b3Jkcy5zbGljZSgwLCB3b3JkTGltaXQpLmpvaW4oJyAnKTtcclxuICAgICAgICBpZiAobW9yZVN5bWJvbCkge1xyXG4gICAgICAgICAgICByYXdFeGNlcnB0ICs9IG1vcmVTeW1ib2w7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh3b3JkTGltaXQgPiB3b3Jkcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghIXJlYWRNb3JlTGluayAmJiAhIShyZWFkTW9yZSA9PT0gbnVsbCB8fCByZWFkTW9yZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVhZE1vcmUubGFiZWwpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBcIjxwPlwiLmNvbmNhdChyYXdFeGNlcnB0LCBcIiA8YSBocmVmPVxcXCJcIikuY29uY2F0KHJlYWRNb3JlTGluaywgXCJcXFwiIHRhcmdldD1cXFwiX2JsYW5rXFxcIiBjbGFzcz1cXFwiXCIpLmNvbmNhdChyZWFkTW9yZS5jbGFzc05hbWUsIFwiXFxcIj5cIikuY29uY2F0KHJlYWRNb3JlLmxhYmVsLCBcIjwvYT48L3A+XCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gXCI8cD5cIi5jb25jYXQocmF3RXhjZXJwdCwgXCI8L3A+XCIpO1xyXG4gICAgfTtcclxuICAgIFdoYXRzTmV3UlNTVmlldy5wcm90b3R5cGUubGlzdENoaWxkcmVuUG9zdHMgPSBmdW5jdGlvbiAoY2hpbGRyZW4pIHtcclxuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xyXG4gICAgICAgIHZhciBfY2hpbGRyZW4gPSBPYmplY3QudmFsdWVzKGNoaWxkcmVuKTtcclxuICAgICAgICBpZiAoIV9jaGlsZHJlbi5sZW5ndGgpXHJcbiAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB2YXIgZGV0YWlscyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RldGFpbHMnKTtcclxuICAgICAgICB2YXIgc3VtbWFyeSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N1bW1hcnknKTtcclxuICAgICAgICB2YXIgaXRlbXNXcmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgX2NoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkKSB7XHJcbiAgICAgICAgICAgIHZhciBwb3N0Q29udGVudERvYyA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoY2hpbGQucG9zdF9jb250ZW50LCAndGV4dC9odG1sJyk7XHJcbiAgICAgICAgICAgIHZhciBpdGVtRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICAgIGl0ZW1EaXYuY2xhc3NMaXN0LmFkZCgnc3ViLXZlcnNpb24taXRlbScpO1xyXG4gICAgICAgICAgICBpdGVtRGl2LmlubmVySFRNTCA9IFwiXFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwic3ViLXZlcnNpb24taGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aDQgY2xhc3M9XFxcInN1Yi12ZXJzaW9uLXRpdGxlXFxcIj5cIi5jb25jYXQoY2hpbGQucG9zdF90aXRsZSwgXCI8L2g0PlxcblxcdFxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCJzdWItdmVyc2lvbi1kYXRlXFxcIj5cIikuY29uY2F0KF90aGlzLmZvcm1hdERhdGUobmV3IERhdGUoY2hpbGQucG9zdF9kYXRlKSksIFwiPC9zcGFuPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcInN1Yi12ZXJzaW9uLWNvbnRlbnRcXFwiPlwiKS5jb25jYXQocG9zdENvbnRlbnREb2MuZG9jdW1lbnRFbGVtZW50LnRleHRDb250ZW50LCBcIjwvZGl2PlxcblxcdFxcdFxcdFwiKTtcclxuICAgICAgICAgICAgaXRlbXNXcmFwcGVyLmFwcGVuZENoaWxkKGl0ZW1EaXYpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHN1bW1hcnkuaW5uZXJIVE1MID0gJzxwIGNsYXNzPVwidGV4dC1zZWUtbW9yZVwiPlNlZSBNb3JlPC9wPjxwIGNsYXNzPVwidGV4dC1zZWUtbGVzc1wiPlNlZSBMZXNzPC9wPic7XHJcbiAgICAgICAgZGV0YWlscy5hcHBlbmRDaGlsZChzdW1tYXJ5KTtcclxuICAgICAgICBkZXRhaWxzLmFwcGVuZENoaWxkKGl0ZW1zV3JhcHBlcik7XHJcbiAgICAgICAgaXRlbXNXcmFwcGVyLmNsYXNzTGlzdC5hZGQoJ3N1Yi12ZXJzaW9uLWl0ZW1zLXdyYXBwZXInKTtcclxuICAgICAgICBkZXRhaWxzLmNsYXNzTGlzdC5hZGQoJ3doYXRzLW5ldy1yc3Mtc3ViLXZlcnNpb24tZGV0YWlscycpO1xyXG4gICAgICAgIHJldHVybiBkZXRhaWxzLm91dGVySFRNTDtcclxuICAgIH07XHJcbiAgICBXaGF0c05ld1JTU1ZpZXcucHJvdG90eXBlLmZvcm1hdERhdGUgPSBmdW5jdGlvbiAoZGF0ZSkge1xyXG4gICAgICAgIGlmICgnZnVuY3Rpb24nID09PSB0eXBlb2YgdGhpcy5SU1MuZ2V0QXJncygpLmZseW91dC5mb3JtYXREYXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLlJTUy5nZXRBcmdzKCkuZmx5b3V0LmZvcm1hdERhdGUoZGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZhciBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgdmFyIHRpbWVzdGFtcCA9IGRhdGUuZ2V0VGltZSgpO1xyXG4gICAgICAgIHZhciBjdXJyZW50VGltZXN0YW1wID0gY3VycmVudERhdGUuZ2V0VGltZSgpO1xyXG4gICAgICAgIHZhciBkaWZmZXJlbmNlID0gY3VycmVudFRpbWVzdGFtcCAtIHRpbWVzdGFtcDtcclxuICAgICAgICAvLyBEZWZpbmUgdGltZSBpbnRlcnZhbHMgaW4gbWlsbGlzZWNvbmRzXHJcbiAgICAgICAgdmFyIG1pbnV0ZSA9IDYwICogMTAwMDtcclxuICAgICAgICB2YXIgaG91ciA9IG1pbnV0ZSAqIDYwO1xyXG4gICAgICAgIHZhciBkYXkgPSBob3VyICogMjQ7XHJcbiAgICAgICAgdmFyIHdlZWsgPSBkYXkgKiA3O1xyXG4gICAgICAgIHZhciBtb250aCA9IGRheSAqIDMwOyAvLyBSb3VnaCBlc3RpbWF0ZSwgYXNzdW1pbmcgMzAgZGF5cyBpbiBhIG1vbnRoXHJcbiAgICAgICAgaWYgKGRpZmZlcmVuY2UgPCBtaW51dGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuICdKdXN0IG5vdyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGRpZmZlcmVuY2UgPCBob3VyKSB7XHJcbiAgICAgICAgICAgIHZhciBtaW51dGVzID0gTWF0aC5mbG9vcihkaWZmZXJlbmNlIC8gbWludXRlKTtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCIuY29uY2F0KG1pbnV0ZXMsIFwiIG1pbnV0ZVwiKS5jb25jYXQobWludXRlcyA+IDEgPyAncycgOiAnJywgXCIgYWdvXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChkaWZmZXJlbmNlIDwgZGF5KSB7XHJcbiAgICAgICAgICAgIHZhciBob3VycyA9IE1hdGguZmxvb3IoZGlmZmVyZW5jZSAvIGhvdXIpO1xyXG4gICAgICAgICAgICByZXR1cm4gXCJcIi5jb25jYXQoaG91cnMsIFwiIGhvdXJcIikuY29uY2F0KGhvdXJzID4gMSA/ICdzJyA6ICcnLCBcIiBhZ29cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGRpZmZlcmVuY2UgPCB3ZWVrKSB7XHJcbiAgICAgICAgICAgIHZhciBkYXlzID0gTWF0aC5mbG9vcihkaWZmZXJlbmNlIC8gZGF5KTtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCIuY29uY2F0KGRheXMsIFwiIGRheVwiKS5jb25jYXQoZGF5cyA+IDEgPyAncycgOiAnJywgXCIgYWdvXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChkaWZmZXJlbmNlIDwgbW9udGgpIHtcclxuICAgICAgICAgICAgdmFyIHdlZWtzID0gTWF0aC5mbG9vcihkaWZmZXJlbmNlIC8gd2Vlayk7XHJcbiAgICAgICAgICAgIHJldHVybiBcIlwiLmNvbmNhdCh3ZWVrcywgXCIgd2Vla1wiKS5jb25jYXQod2Vla3MgPiAxID8gJ3MnIDogJycsIFwiIGFnb1wiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIEhhbmRsZSBtb250aHMgYW5kIHllYXJzIGFjY29yZGluZ2x5XHJcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSByb3VnaCBlc3RpbWF0ZSBhbmQgbWF5IG5vdCBiZSBhY2N1cmF0ZSBpbiBhbGwgY2FzZXNcclxuICAgICAgICAgICAgdmFyIG1vbnRocyA9IE1hdGguZmxvb3IoZGlmZmVyZW5jZSAvIG1vbnRoKTtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCIuY29uY2F0KG1vbnRocywgXCIgbW9udGhcIikuY29uY2F0KG1vbnRocyA+IDEgPyAncycgOiAnJywgXCIgYWdvXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gV2hhdHNOZXdSU1NWaWV3O1xyXG59KCkpO1xyXG5cclxuYXN5bmMgZnVuY3Rpb24gZ2V0Q1NTKCkge1xyXG4gICAgcmV0dXJuIGAud2hhdHMtbmV3LXJzcy1pcy1hY3RpdmV7b3ZlcmZsb3c6aGlkZGVufS53aGF0cy1uZXctcnNzLXRyaWdnZXItYnV0dG9ue2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6YXV0bztwYWRkaW5nOjVweDtjdXJzb3I6cG9pbnRlcn0ud2hhdHMtbmV3LXJzcy10cmlnZ2VyLWJ1dHRvbiAud2hhdHMtbmV3LXJzcy1ub3RpZmljYXRpb24tYmFkZ2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOi04cHg7cmlnaHQ6LTVweDt3aWR0aDoyMHB4O2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLXJhZGl1czoxMHB4O2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZWQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0fS53aGF0cy1uZXctcnNzLXRyaWdnZXItYnV0dG9uIC53aGF0cy1uZXctcnNzLW5vdGlmaWNhdGlvbi1iYWRnZS5pcy1tdWx0aS1mZWVke3RvcDotMnB4O3JpZ2h0Oi0ycHg7Zm9udC1zaXplOjA7d2lkdGg6MTBweDtoZWlnaHQ6MTBweH0ud2hhdHMtbmV3LXJzcy10cmlnZ2VyLWJ1dHRvbiAud2hhdHMtbmV3LXJzcy1ub3RpZmljYXRpb24tYmFkZ2UuaGlkZXtkaXNwbGF5Om5vbmV9LndoYXRzLW5ldy1yc3MtdHJpZ2dlci1idXR0b246aG92ZXIgLndoYXRzLW5ldy1yc3Mtbm90aWZpY2F0aW9uLWJhZGdle3RyYW5zZm9ybTpzY2FsZSgxLjIpfS53aGF0cy1uZXctcnNzLWZseW91dHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2JvdHRvbTowO3dpZHRoOjEwMCU7ei1pbmRleDo5OTk5OTt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzIGVhc2UtaW4tb3V0O2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmfS53aGF0cy1uZXctcnNzLWZseW91dCAubGlnaHRib3gtdHJpZ2dlciwud2hhdHMtbmV3LXJzcy1mbHlvdXQuaGlkZGVue2Rpc3BsYXk6bm9uZX0ud2hhdHMtbmV3LXJzcy1mbHlvdXQuaXMtbG9hZGluZyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItaGVhZGVyX19sb2FkaW5nLWljb257ZGlzcGxheTpibG9jazttYXJnaW46YXV0b30ud2hhdHMtbmV3LXJzcy1mbHlvdXQuaXMtbG9hZGluZyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItaGVhZGVyX19sb2FkaW5nLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDowIDA7d2lkdGg6MjVweDtoZWlnaHQ6MjVweH0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRze3Bvc2l0aW9uOmZpeGVkO2Rpc3BsYXk6ZmxleDtyaWdodDowO3dpZHRoOjMwJTtoZWlnaHQ6MTAwJTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YmFja2dyb3VuZC1jb2xvcjojZmZmO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBlYXNlLWluLW91dDt6LWluZGV4Ojk5OTl9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItaGVhZGVye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoxNnB4IDIwcHggMTZweCAyNHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjY2N9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItaGVhZGVyIGJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOjAgMDtmb250LXNpemU6MzBweDtjdXJzb3I6cG9pbnRlcjtjb2xvcjojOTRhM2I4O3BhZGRpbmc6MDttYXJnaW46MDtib3gtc2hhZG93Om5vbmV9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItaGVhZGVyIC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1oZWFkZXJfX3RpdGxlLWljb24td3JhcHBlcntkaXNwbGF5OmZsZXg7Z2FwOjEwcHh9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItaGVhZGVyIC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1oZWFkZXJfX3RpdGxlLWljb24td3JhcHBlciBoM3ttYXJnaW46MDtwYWRkaW5nOjA7Y29sb3I6IzBmMTcyYTtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweH0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLW11bHRpLWZlZWQtbmF2e2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjAgMzBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjO2dhcDoyZW07b3ZlcmZsb3c6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1tdWx0aS1mZWVkLW5hdiBidXR0b257cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDowIDA7Y29sb3I6aW5oZXJpdDtwYWRkaW5nOjE1cHggMDtib3JkZXItYm90dG9tOjJweCBzb2xpZCB0cmFuc3BhcmVudH0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLW11bHRpLWZlZWQtbmF2IGJ1dHRvbjpmb2N1cywud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLW11bHRpLWZlZWQtbmF2IGJ1dHRvbjpob3Zlcntib3JkZXItY29sb3I6aW5oZXJpdH0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLW11bHRpLWZlZWQtbmF2IGJ1dHRvbi5zZWxlY3RlZHtib3JkZXItY29sb3I6IzVkNWQ1ZH0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLW11bHRpLWZlZWQtbmF2IGJ1dHRvbiAubmV3LW5vdGlmaWNhdGlvbi1jb3VudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDotMTBweDt3aWR0aDoyMHB4O2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLXJhZGl1czoxMHB4O2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZWR9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudHtmbGV4OjE7b3ZlcmZsb3cteTphdXRvfS53aGF0cy1uZXctcnNzLWZseW91dCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHMgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQgLnNrZWxldG9uLWNvbnRhaW5lcnttYXJnaW46MzBweH0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50IC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50LWl0ZW17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q4ZGZlOTtwYWRkaW5nOjMwcHggMjRweDtjb2xvcjojNDc1NTY5O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEzcHh9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudC1pdGVtPip7bWFyZ2luOjB9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudC1pdGVtLnNrZWxldG9uLXJvd3toZWlnaHQ6MjV2aDttYXJnaW46NDBweCAwO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNlZWUgMjUlLCNkZGQgNTAlLCNlZWUgNzUlKTtiYWNrZ3JvdW5kLXNpemU6MjAwJSAxMDAlO2FuaW1hdGlvbjpzaGltbWVyIDEuNXMgaW5maW5pdGV9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudC1pdGVtLnJzcy1uZXctcG9zdHtwb3NpdGlvbjpyZWxhdGl2ZX0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50IC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50LWl0ZW0ucnNzLW5ldy1wb3N0IC5uZXctcG9zdC1iYWRnZXtiYWNrZ3JvdW5kOiNmZjNkM2Q7Ym9yZGVyLXJhZGl1czo1cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6NDVweDtwYWRkaW5nOjAgNXB4O2NvbG9yOiNmZmZ9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudC1pdGVtIC5yc3MtY29udGVudC1oZWFkZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTVweDtwYWRkaW5nOjAgMCA4cHggMH0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50IC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50LWl0ZW0gLnJzcy1jb250ZW50LWhlYWRlciBwe2NvbG9yOiM5NGEzYjg7bWFyZ2luOjA7cGFkZGluZzowO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxNnB4fS53aGF0cy1uZXctcnNzLWZseW91dCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHMgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQtaXRlbSAucnNzLWNvbnRlbnQtaGVhZGVyIGgye21hcmdpbjowO2NvbG9yOiMwZjE3MmE7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjI4cHg7Zm9udC1zaXplOjIwcHh9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudC1pdGVtIGgye2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoyNHB4fS53aGF0cy1uZXctcnNzLWZseW91dCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHMgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQtaXRlbSBoM3tmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjJweDttYXJnaW4tdG9wOjEycHh9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudC1pdGVtIGg0e2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoyMHB4O21hcmdpbi10b3A6MTJweH0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50IC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50LWl0ZW0gaDV7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjE4cHh9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudC1pdGVtIGg2e2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxNnB4fS53aGF0cy1uZXctcnNzLWZseW91dCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHMgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQtaXRlbSBwe3BhZGRpbmc6MDtmb250LXNpemU6MTRweH0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50IC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50LWl0ZW0gcDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MDtwYWRkaW5nLWJvdHRvbTowfS53aGF0cy1uZXctcnNzLWZseW91dCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHMgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQtaXRlbSBhe2NvbG9yOiMxMTcwZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudC1pdGVtIGZpZ3VyZXttYXJnaW46MTBweCAwfS53aGF0cy1uZXctcnNzLWZseW91dCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHMgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQtaXRlbSBmaWd1cmUud3AtYmxvY2stZW1iZWQuaXMtdHlwZS12aWRlb3twb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDowO3BhZGRpbmctYm90dG9tOjU2LjI1JX0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50IC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50LWl0ZW0gZmlndXJlIGlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6MH0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50IC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50LWl0ZW0gaW1ne2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6YXV0bzttYXgtd2lkdGg6MTAwJTt2ZXJ0aWNhbC1hbGlnbjpib3R0b219LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudC1pdGVtIHZpZGVve3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxMDAlfS53aGF0cy1uZXctcnNzLWZseW91dCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHMgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQtaXRlbSBzdHJvbmd7Zm9udC13ZWlnaHQ6NjAwfS53aGF0cy1uZXctcnNzLWZseW91dCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHMgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQtaXRlbSBvbCwud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50IC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50LWl0ZW0gdWx7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweH0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50IC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50LWl0ZW0gb2wgbGksLndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtaW5uZXItY29udGVudC1pdGVtIHVsIGxpe21hcmdpbi1ib3R0b206NXB4fS53aGF0cy1uZXctcnNzLWZseW91dCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHMgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWlubmVyLWNvbnRlbnQtaXRlbSB1bHtsaXN0LXN0eWxlLXR5cGU6ZGlzY30ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50IC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1jb250ZW50LWl0ZW0gb2x7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1zdWItdmVyc2lvbi1kZXRhaWxze2xpbmUtaGVpZ2h0OjIwcHg7Zm9udC1zaXplOi45ZW07bWFyZ2luOjEwcHggMDtiYWNrZ3JvdW5kOiNmOWZhZmJ9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1zdWItdmVyc2lvbi1kZXRhaWxzIHN1bW1hcnl7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MjBweCAxNXB4O2hlaWdodDoxZW07bGluZS1oZWlnaHQ6MjBweDtmb250LXdlaWdodDo4MDB9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1zdWItdmVyc2lvbi1kZXRhaWxzIHN1bW1hcnk6OmFmdGVye2NvbnRlbnQ6J+KMgyc7Zm9udC1zaXplOjIwcHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKTtmb250LXdlaWdodDo4MDB9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1zdWItdmVyc2lvbi1kZXRhaWxzIHN1bW1hcnkgLnRleHQtc2VlLW1vcmV7ZGlzcGxheTpibG9ja30ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLXN1Yi12ZXJzaW9uLWRldGFpbHMgc3VtbWFyeSAudGV4dC1zZWUtbGVzc3tkaXNwbGF5Om5vbmV9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50cyAud2hhdHMtbmV3LXJzcy1zdWItdmVyc2lvbi1kZXRhaWxzW29wZW5dIHN1bW1hcnl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2UyZThmMH0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLXN1Yi12ZXJzaW9uLWRldGFpbHNbb3Blbl0gc3VtbWFyeTo6YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZVgoNDVkZWcpfS53aGF0cy1uZXctcnNzLWZseW91dCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHMgLndoYXRzLW5ldy1yc3Mtc3ViLXZlcnNpb24tZGV0YWlsc1tvcGVuXSBzdW1tYXJ5IC50ZXh0LXNlZS1tb3Jle2Rpc3BsYXk6bm9uZX0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLXN1Yi12ZXJzaW9uLWRldGFpbHNbb3Blbl0gc3VtbWFyeSAudGV4dC1zZWUtbGVzc3tkaXNwbGF5OmJsb2NrfS53aGF0cy1uZXctcnNzLWZseW91dCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHMgLndoYXRzLW5ldy1yc3Mtc3ViLXZlcnNpb24tZGV0YWlscyAuc3ViLXZlcnNpb24taXRlbXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjFlbTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTJlOGYwfS53aGF0cy1uZXctcnNzLWZseW91dCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHMgLndoYXRzLW5ldy1yc3Mtc3ViLXZlcnNpb24tZGV0YWlscyAuc3ViLXZlcnNpb24taXRlbSAuc3ViLXZlcnNpb24taGVhZGVye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ud2hhdHMtbmV3LXJzcy1mbHlvdXQgLndoYXRzLW5ldy1yc3MtZmx5b3V0LWNvbnRlbnRzIC53aGF0cy1uZXctcnNzLXN1Yi12ZXJzaW9uLWRldGFpbHMgLnN1Yi12ZXJzaW9uLWl0ZW0gLnN1Yi12ZXJzaW9uLWNvbnRlbnR7bWFyZ2luLXRvcDoxZW19LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS53aGF0cy1uZXctcnNzLWZseW91dC5jbG9zZWR7dmlzaWJpbGl0eTpoaWRkZW59LndoYXRzLW5ldy1yc3MtZmx5b3V0LmNsb3NlZCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtb3ZlcmxheXtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59LndoYXRzLW5ldy1yc3MtZmx5b3V0LmNsb3NlZCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHN7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1pbm5lci1oZWFkZXJfX2xvYWRpbmctaWNvbntkaXNwbGF5Om5vbmV9QGtleWZyYW1lcyBzaGltbWVyezAle2JhY2tncm91bmQtcG9zaXRpb246LTIwMCUgMH0xMDAle2JhY2tncm91bmQtcG9zaXRpb246MjAwJSAwfX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEwMjRweCl7LndoYXRzLW5ldy1yc3MtZmx5b3V0IC53aGF0cy1uZXctcnNzLWZseW91dC1jb250ZW50c3t3aWR0aDo0MCV9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY4cHgpey53aGF0cy1uZXctcnNzLWZseW91dCAud2hhdHMtbmV3LXJzcy1mbHlvdXQtY29udGVudHN7d2lkdGg6ODUlfX1gO1xyXG59XHJcblxyXG5hc3luYyBmdW5jdGlvbiBhZGRTdHlsZUlmTm90RXhpc3RzKCkge1xyXG4gICAgY29uc3Qgc3R5bGVJZCA9ICd3aGF0cy1uZXctcnNzLXN0eWxlcyc7XHJcbiAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHN0eWxlSWQpKSB7XHJcbiAgICAgICAgY29uc3Qgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xyXG4gICAgICAgIHN0eWxlLmlkID0gc3R5bGVJZDtcclxuICAgICAgICBzdHlsZS5pbm5lckhUTUwgPSBhd2FpdCBnZXRDU1MoKTtcclxuICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZVdoYXRzTmV3UlNTSW5zdGFuY2UoYXJncykge1xyXG4gICAgcmV0dXJuIG5ldyBXaGF0c05ld1JTUyhhcmdzKTtcclxufVxyXG5cclxuZnVuY3Rpb24gdXNlV2hhdHNOZXdSU1MoeyBzZWxlY3RvciwgLi4ucmVzdCB9KSB7XHJcbiAgICBjb25zdCBpbnN0YW5jZVJlZiA9IHVzZVJlZihudWxsKTtcclxuXHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGFkZFN0eWxlSWZOb3RFeGlzdHMoKTtcclxuXHJcbiAgICAgICAgaWYgKCFpbnN0YW5jZVJlZi5jdXJyZW50KSB7XHJcbiAgICAgICAgICAgIGluc3RhbmNlUmVmLmN1cnJlbnQgPSBjcmVhdGVXaGF0c05ld1JTU0luc3RhbmNlKHsgc2VsZWN0b3IsIC4uLnJlc3QgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDbGVhbnVwIGZ1bmN0aW9uXHJcbiAgICAgICAgcmV0dXJuICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKGluc3RhbmNlUmVmLmN1cnJlbnQgJiYgdHlwZW9mIGluc3RhbmNlUmVmLmN1cnJlbnQuZGVzdHJveSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICAgICAgaW5zdGFuY2VSZWYuY3VycmVudC5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgfSwgW3NlbGVjdG9yLCAuLi5PYmplY3QudmFsdWVzKHJlc3QpXSk7IC8vIEFkanVzdCBkZXBlbmRlbmNpZXMgYXMgbmVlZGVkXHJcblxyXG4gICAgcmV0dXJuIGluc3RhbmNlUmVmLmN1cnJlbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IHVzZVdoYXRzTmV3UlNTO1xyXG5cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/whats-new-rss/dist/react/useWhatsNewRSS.js\n"); - -/***/ }), - -/***/ "react": -/*!************************!*\ - !*** external "React" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = window["React"]; - -/***/ }), - -/***/ "react-dom": -/*!***************************!*\ - !*** external "ReactDOM" ***! - \***************************/ -/***/ ((module) => { - -"use strict"; -module.exports = window["ReactDOM"]; - -/***/ }), - -/***/ "@babel/runtime/regenerator": -/*!*************************************!*\ - !*** external "regeneratorRuntime" ***! - \*************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = window["regeneratorRuntime"]; - -/***/ }), - -/***/ "@wordpress/api-fetch": -/*!**********************************!*\ - !*** external ["wp","apiFetch"] ***! - \**********************************/ -/***/ ((module) => { - -"use strict"; -module.exports = window["wp"]["apiFetch"]; - -/***/ }), - -/***/ "@wordpress/dom-ready": -/*!**********************************!*\ - !*** external ["wp","domReady"] ***! - \**********************************/ -/***/ ((module) => { - -"use strict"; -module.exports = window["wp"]["domReady"]; - -/***/ }), - -/***/ "@wordpress/element": -/*!*********************************!*\ - !*** external ["wp","element"] ***! - \*********************************/ -/***/ ((module) => { - -"use strict"; -module.exports = window["wp"]["element"]; - -/***/ }), - -/***/ "@wordpress/i18n": -/*!******************************!*\ - !*** external ["wp","i18n"] ***! - \******************************/ -/***/ ((module) => { - -"use strict"; -module.exports = window["wp"]["i18n"]; - -/***/ }), - -/***/ "./node_modules/classnames/index.js": -/*!******************************************!*\ - !*** ./node_modules/classnames/index.js ***! - \******************************************/ -/***/ ((module, exports) => { - -eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif ( true && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn classNames;\n\t\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n}());\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2xhc3NuYW1lcy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxnQkFBZ0I7O0FBRWhCO0FBQ0E7O0FBRUEsa0JBQWtCLHNCQUFzQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsS0FBSyxLQUE2QjtBQUNsQztBQUNBO0FBQ0EsR0FBRyxTQUFTLElBQTRFO0FBQ3hGO0FBQ0EsRUFBRSxpQ0FBcUIsRUFBRSxtQ0FBRTtBQUMzQjtBQUNBLEdBQUc7QUFBQSxrR0FBQztBQUNKLEdBQUcsS0FBSyxFQUVOO0FBQ0YsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL2NsYXNzbmFtZXMvaW5kZXguanM/YzBkYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcblx0Q29weXJpZ2h0IChjKSAyMDE4IEplZCBXYXRzb24uXG5cdExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAoTUlUKSwgc2VlXG5cdGh0dHA6Ly9qZWR3YXRzb24uZ2l0aHViLmlvL2NsYXNzbmFtZXNcbiovXG4vKiBnbG9iYWwgZGVmaW5lICovXG5cbihmdW5jdGlvbiAoKSB7XG5cdCd1c2Ugc3RyaWN0JztcblxuXHR2YXIgaGFzT3duID0ge30uaGFzT3duUHJvcGVydHk7XG5cblx0ZnVuY3Rpb24gY2xhc3NOYW1lcyAoKSB7XG5cdFx0dmFyIGNsYXNzZXMgPSAnJztcblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgYXJnID0gYXJndW1lbnRzW2ldO1xuXHRcdFx0aWYgKGFyZykge1xuXHRcdFx0XHRjbGFzc2VzID0gYXBwZW5kQ2xhc3MoY2xhc3NlcywgcGFyc2VWYWx1ZShhcmcpKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gY2xhc3Nlcztcblx0fVxuXG5cdGZ1bmN0aW9uIHBhcnNlVmFsdWUgKGFyZykge1xuXHRcdGlmICh0eXBlb2YgYXJnID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgYXJnID09PSAnbnVtYmVyJykge1xuXHRcdFx0cmV0dXJuIGFyZztcblx0XHR9XG5cblx0XHRpZiAodHlwZW9mIGFyZyAhPT0gJ29iamVjdCcpIHtcblx0XHRcdHJldHVybiAnJztcblx0XHR9XG5cblx0XHRpZiAoQXJyYXkuaXNBcnJheShhcmcpKSB7XG5cdFx0XHRyZXR1cm4gY2xhc3NOYW1lcy5hcHBseShudWxsLCBhcmcpO1xuXHRcdH1cblxuXHRcdGlmIChhcmcudG9TdHJpbmcgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgJiYgIWFyZy50b1N0cmluZy50b1N0cmluZygpLmluY2x1ZGVzKCdbbmF0aXZlIGNvZGVdJykpIHtcblx0XHRcdHJldHVybiBhcmcudG9TdHJpbmcoKTtcblx0XHR9XG5cblx0XHR2YXIgY2xhc3NlcyA9ICcnO1xuXG5cdFx0Zm9yICh2YXIga2V5IGluIGFyZykge1xuXHRcdFx0aWYgKGhhc093bi5jYWxsKGFyZywga2V5KSAmJiBhcmdba2V5XSkge1xuXHRcdFx0XHRjbGFzc2VzID0gYXBwZW5kQ2xhc3MoY2xhc3Nlcywga2V5KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gY2xhc3Nlcztcblx0fVxuXG5cdGZ1bmN0aW9uIGFwcGVuZENsYXNzICh2YWx1ZSwgbmV3Q2xhc3MpIHtcblx0XHRpZiAoIW5ld0NsYXNzKSB7XG5cdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0fVxuXHRcblx0XHRpZiAodmFsdWUpIHtcblx0XHRcdHJldHVybiB2YWx1ZSArICcgJyArIG5ld0NsYXNzO1xuXHRcdH1cblx0XG5cdFx0cmV0dXJuIHZhbHVlICsgbmV3Q2xhc3M7XG5cdH1cblxuXHRpZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpIHtcblx0XHRjbGFzc05hbWVzLmRlZmF1bHQgPSBjbGFzc05hbWVzO1xuXHRcdG1vZHVsZS5leHBvcnRzID0gY2xhc3NOYW1lcztcblx0fSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBkZWZpbmUuYW1kID09PSAnb2JqZWN0JyAmJiBkZWZpbmUuYW1kKSB7XG5cdFx0Ly8gcmVnaXN0ZXIgYXMgJ2NsYXNzbmFtZXMnLCBjb25zaXN0ZW50IHdpdGggbnBtIHBhY2thZ2UgbmFtZVxuXHRcdGRlZmluZSgnY2xhc3NuYW1lcycsIFtdLCBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZXR1cm4gY2xhc3NOYW1lcztcblx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHR3aW5kb3cuY2xhc3NOYW1lcyA9IGNsYXNzTmFtZXM7XG5cdH1cbn0oKSk7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/classnames/index.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayLikeToArray)\n/* harmony export */ });\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXJyYXlMaWtlVG9BcnJheS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLGdDQUFnQyxPQUFPO0FBQ3ZDO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hcnJheUxpa2VUb0FycmF5LmpzP2NlNmUiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2FycmF5TGlrZVRvQXJyYXkociwgYSkge1xuICAobnVsbCA9PSBhIHx8IGEgPiByLmxlbmd0aCkgJiYgKGEgPSByLmxlbmd0aCk7XG4gIGZvciAodmFyIGUgPSAwLCBuID0gQXJyYXkoYSk7IGUgPCBhOyBlKyspIG5bZV0gPSByW2VdO1xuICByZXR1cm4gbjtcbn1cbmV4cG9ydCB7IF9hcnJheUxpa2VUb0FycmF5IGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayWithHoles)\n/* harmony export */ });\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXJyYXlXaXRoSG9sZXMuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2FycmF5V2l0aEhvbGVzLmpzPzY2YTkiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKHIpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkocikpIHJldHVybiByO1xufVxuZXhwb3J0IHsgX2FycmF5V2l0aEhvbGVzIGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _arrayWithoutHoles)\n/* harmony export */ });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXJyYXlXaXRob3V0SG9sZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBcUQ7QUFDckQ7QUFDQSwrQkFBK0IsZ0VBQWdCO0FBQy9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXJyYXlXaXRob3V0SG9sZXMuanM/NWUwOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXJyYXlMaWtlVG9BcnJheSBmcm9tIFwiLi9hcnJheUxpa2VUb0FycmF5LmpzXCI7XG5mdW5jdGlvbiBfYXJyYXlXaXRob3V0SG9sZXMocikge1xuICBpZiAoQXJyYXkuaXNBcnJheShyKSkgcmV0dXJuIGFycmF5TGlrZVRvQXJyYXkocik7XG59XG5leHBvcnQgeyBfYXJyYXlXaXRob3V0SG9sZXMgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _assertThisInitialized)\n/* harmony export */ });\nfunction _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXNzZXJ0VGhpc0luaXRpYWxpemVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2Fzc2VydFRoaXNJbml0aWFsaXplZC5qcz82NTZlIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoZSkge1xuICBpZiAodm9pZCAwID09PSBlKSB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7XG4gIHJldHVybiBlO1xufVxuZXhwb3J0IHsgX2Fzc2VydFRoaXNJbml0aWFsaXplZCBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _asyncToGenerator)\n/* harmony export */ });\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcz83NDZjIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGFzeW5jR2VuZXJhdG9yU3RlcChuLCB0LCBlLCByLCBvLCBhLCBjKSB7XG4gIHRyeSB7XG4gICAgdmFyIGkgPSBuW2FdKGMpLFxuICAgICAgdSA9IGkudmFsdWU7XG4gIH0gY2F0Y2ggKG4pIHtcbiAgICByZXR1cm4gdm9pZCBlKG4pO1xuICB9XG4gIGkuZG9uZSA/IHQodSkgOiBQcm9taXNlLnJlc29sdmUodSkudGhlbihyLCBvKTtcbn1cbmZ1bmN0aW9uIF9hc3luY1RvR2VuZXJhdG9yKG4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgdCA9IHRoaXMsXG4gICAgICBlID0gYXJndW1lbnRzO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAociwgbykge1xuICAgICAgdmFyIGEgPSBuLmFwcGx5KHQsIGUpO1xuICAgICAgZnVuY3Rpb24gX25leHQobikge1xuICAgICAgICBhc3luY0dlbmVyYXRvclN0ZXAoYSwgciwgbywgX25leHQsIF90aHJvdywgXCJuZXh0XCIsIG4pO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gX3Rocm93KG4pIHtcbiAgICAgICAgYXN5bmNHZW5lcmF0b3JTdGVwKGEsIHIsIG8sIF9uZXh0LCBfdGhyb3csIFwidGhyb3dcIiwgbik7XG4gICAgICB9XG4gICAgICBfbmV4dCh2b2lkIDApO1xuICAgIH0pO1xuICB9O1xufVxuZXhwb3J0IHsgX2FzeW5jVG9HZW5lcmF0b3IgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _classCallCheck)\n/* harmony export */ });\nfunction _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vY2xhc3NDYWxsQ2hlY2suanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NsYXNzQ2FsbENoZWNrLmpzP2Y0YWIiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGEsIG4pIHtcbiAgaWYgKCEoYSBpbnN0YW5jZW9mIG4pKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpO1xufVxuZXhwb3J0IHsgX2NsYXNzQ2FsbENoZWNrIGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js": -/*!****************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _createClass)\n/* harmony export */ });\n/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ \"./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js\");\n\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vY3JlYXRlQ2xhc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBK0M7QUFDL0M7QUFDQSxrQkFBa0IsY0FBYztBQUNoQztBQUNBLHdIQUF3SCw2REFBYTtBQUNySTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vY3JlYXRlQ2xhc3MuanM/MmVhOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9Qcm9wZXJ0eUtleSBmcm9tIFwiLi90b1Byb3BlcnR5S2V5LmpzXCI7XG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyhlLCByKSB7XG4gIGZvciAodmFyIHQgPSAwOyB0IDwgci5sZW5ndGg7IHQrKykge1xuICAgIHZhciBvID0gclt0XTtcbiAgICBvLmVudW1lcmFibGUgPSBvLmVudW1lcmFibGUgfHwgITEsIG8uY29uZmlndXJhYmxlID0gITAsIFwidmFsdWVcIiBpbiBvICYmIChvLndyaXRhYmxlID0gITApLCBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwgdG9Qcm9wZXJ0eUtleShvLmtleSksIG8pO1xuICB9XG59XG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoZSwgciwgdCkge1xuICByZXR1cm4gciAmJiBfZGVmaW5lUHJvcGVydGllcyhlLnByb3RvdHlwZSwgciksIHQgJiYgX2RlZmluZVByb3BlcnRpZXMoZSwgdCksIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCBcInByb3RvdHlwZVwiLCB7XG4gICAgd3JpdGFibGU6ICExXG4gIH0pLCBlO1xufVxuZXhwb3J0IHsgX2NyZWF0ZUNsYXNzIGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/createClass.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _defineProperty)\n/* harmony export */ });\n/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ \"./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js\");\n\nfunction _defineProperty(e, r, t) {\n return (r = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZGVmaW5lUHJvcGVydHkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBK0M7QUFDL0M7QUFDQSxjQUFjLDZEQUFhO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZGVmaW5lUHJvcGVydHkuanM/YzFiNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9Qcm9wZXJ0eUtleSBmcm9tIFwiLi90b1Byb3BlcnR5S2V5LmpzXCI7XG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkoZSwgciwgdCkge1xuICByZXR1cm4gKHIgPSB0b1Byb3BlcnR5S2V5KHIpKSBpbiBlID8gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIHIsIHtcbiAgICB2YWx1ZTogdCxcbiAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICBjb25maWd1cmFibGU6ICEwLFxuICAgIHdyaXRhYmxlOiAhMFxuICB9KSA6IGVbcl0gPSB0LCBlO1xufVxuZXhwb3J0IHsgX2RlZmluZVByb3BlcnR5IGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/extends.js": -/*!************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/extends.js ***! - \************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _extends)\n/* harmony export */ });\nfunction _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZXh0ZW5kcy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2V4dGVuZHMuanM/ZjRiYSJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZXh0ZW5kcygpIHtcbiAgcmV0dXJuIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiA/IE9iamVjdC5hc3NpZ24uYmluZCgpIDogZnVuY3Rpb24gKG4pIHtcbiAgICBmb3IgKHZhciBlID0gMTsgZSA8IGFyZ3VtZW50cy5sZW5ndGg7IGUrKykge1xuICAgICAgdmFyIHQgPSBhcmd1bWVudHNbZV07XG4gICAgICBmb3IgKHZhciByIGluIHQpICh7fSkuaGFzT3duUHJvcGVydHkuY2FsbCh0LCByKSAmJiAobltyXSA9IHRbcl0pO1xuICAgIH1cbiAgICByZXR1cm4gbjtcbiAgfSwgX2V4dGVuZHMuYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcbn1cbmV4cG9ydCB7IF9leHRlbmRzIGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/extends.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _getPrototypeOf)\n/* harmony export */ });\nfunction _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZ2V0UHJvdG90eXBlT2YuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2dldFByb3RvdHlwZU9mLmpzPzFkYTIiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKHQpIHtcbiAgcmV0dXJuIF9nZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZi5iaW5kKCkgOiBmdW5jdGlvbiAodCkge1xuICAgIHJldHVybiB0Ll9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk7XG4gIH0sIF9nZXRQcm90b3R5cGVPZih0KTtcbn1cbmV4cG9ydCB7IF9nZXRQcm90b3R5cGVPZiBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/inherits.js": -/*!*************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/inherits.js ***! - \*************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _inherits)\n/* harmony export */ });\n/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ \"./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js\");\n\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && (0,_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(t, e);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaW5oZXJpdHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBaUQ7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUcsUUFBUSw4REFBYztBQUN6QiIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2luaGVyaXRzLmpzPzkzMzEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNldFByb3RvdHlwZU9mIGZyb20gXCIuL3NldFByb3RvdHlwZU9mLmpzXCI7XG5mdW5jdGlvbiBfaW5oZXJpdHModCwgZSkge1xuICBpZiAoXCJmdW5jdGlvblwiICE9IHR5cGVvZiBlICYmIG51bGwgIT09IGUpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvblwiKTtcbiAgdC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUgJiYgZS5wcm90b3R5cGUsIHtcbiAgICBjb25zdHJ1Y3Rvcjoge1xuICAgICAgdmFsdWU6IHQsXG4gICAgICB3cml0YWJsZTogITAsXG4gICAgICBjb25maWd1cmFibGU6ICEwXG4gICAgfVxuICB9KSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIFwicHJvdG90eXBlXCIsIHtcbiAgICB3cml0YWJsZTogITFcbiAgfSksIGUgJiYgc2V0UHJvdG90eXBlT2YodCwgZSk7XG59XG5leHBvcnQgeyBfaW5oZXJpdHMgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/inherits.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js": -/*!********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _iterableToArray)\n/* harmony export */ });\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaXRlcmFibGVUb0FycmF5LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pdGVyYWJsZVRvQXJyYXkuanM/YjVjNSJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5KHIpIHtcbiAgaWYgKFwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIFN5bWJvbCAmJiBudWxsICE9IHJbU3ltYm9sLml0ZXJhdG9yXSB8fCBudWxsICE9IHJbXCJAQGl0ZXJhdG9yXCJdKSByZXR1cm4gQXJyYXkuZnJvbShyKTtcbn1cbmV4cG9ydCB7IF9pdGVyYWJsZVRvQXJyYXkgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _iterableToArrayLimit)\n/* harmony export */ });\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaXRlcmFibGVUb0FycmF5TGltaXQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLFlBQVksa0VBQWtFO0FBQ3RGLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2l0ZXJhYmxlVG9BcnJheUxpbWl0LmpzPzhmYmIiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheUxpbWl0KHIsIGwpIHtcbiAgdmFyIHQgPSBudWxsID09IHIgPyBudWxsIDogXCJ1bmRlZmluZWRcIiAhPSB0eXBlb2YgU3ltYm9sICYmIHJbU3ltYm9sLml0ZXJhdG9yXSB8fCByW1wiQEBpdGVyYXRvclwiXTtcbiAgaWYgKG51bGwgIT0gdCkge1xuICAgIHZhciBlLFxuICAgICAgbixcbiAgICAgIGksXG4gICAgICB1LFxuICAgICAgYSA9IFtdLFxuICAgICAgZiA9ICEwLFxuICAgICAgbyA9ICExO1xuICAgIHRyeSB7XG4gICAgICBpZiAoaSA9ICh0ID0gdC5jYWxsKHIpKS5uZXh0LCAwID09PSBsKSB7XG4gICAgICAgIGlmIChPYmplY3QodCkgIT09IHQpIHJldHVybjtcbiAgICAgICAgZiA9ICExO1xuICAgICAgfSBlbHNlIGZvciAoOyAhKGYgPSAoZSA9IGkuY2FsbCh0KSkuZG9uZSkgJiYgKGEucHVzaChlLnZhbHVlKSwgYS5sZW5ndGggIT09IGwpOyBmID0gITApO1xuICAgIH0gY2F0Y2ggKHIpIHtcbiAgICAgIG8gPSAhMCwgbiA9IHI7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmICghZiAmJiBudWxsICE9IHRbXCJyZXR1cm5cIl0gJiYgKHUgPSB0W1wicmV0dXJuXCJdKCksIE9iamVjdCh1KSAhPT0gdSkpIHJldHVybjtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlmIChvKSB0aHJvdyBuO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYTtcbiAgfVxufVxuZXhwb3J0IHsgX2l0ZXJhYmxlVG9BcnJheUxpbWl0IGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js": -/*!********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _nonIterableRest)\n/* harmony export */ });\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vbm9uSXRlcmFibGVSZXN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9ub25JdGVyYWJsZVJlc3QuanM/NmQyMyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfbm9uSXRlcmFibGVSZXN0KCkge1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpO1xufVxuZXhwb3J0IHsgX25vbkl0ZXJhYmxlUmVzdCBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _nonIterableSpread)\n/* harmony export */ });\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vbm9uSXRlcmFibGVTcHJlYWQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL25vbkl0ZXJhYmxlU3ByZWFkLmpzPzU3ZGUiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX25vbkl0ZXJhYmxlU3ByZWFkKCkge1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTtcbn1cbmV4cG9ydCB7IF9ub25JdGVyYWJsZVNwcmVhZCBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js": -/*!******************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***! - \******************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _possibleConstructorReturn)\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ \"./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\");\n\n\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return (0,_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(t);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vcG9zc2libGVDb25zdHJ1Y3RvclJldHVybi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBa0M7QUFDNkI7QUFDL0Q7QUFDQSx3QkFBd0Isc0RBQU87QUFDL0I7QUFDQSxTQUFTLHFFQUFxQjtBQUM5QiIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4uanM/MWE3MSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX3R5cGVvZiBmcm9tIFwiLi90eXBlb2YuanNcIjtcbmltcG9ydCBhc3NlcnRUaGlzSW5pdGlhbGl6ZWQgZnJvbSBcIi4vYXNzZXJ0VGhpc0luaXRpYWxpemVkLmpzXCI7XG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0LCBlKSB7XG4gIGlmIChlICYmIChcIm9iamVjdFwiID09IF90eXBlb2YoZSkgfHwgXCJmdW5jdGlvblwiID09IHR5cGVvZiBlKSkgcmV0dXJuIGU7XG4gIGlmICh2b2lkIDAgIT09IGUpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJEZXJpdmVkIGNvbnN0cnVjdG9ycyBtYXkgb25seSByZXR1cm4gb2JqZWN0IG9yIHVuZGVmaW5lZFwiKTtcbiAgcmV0dXJuIGFzc2VydFRoaXNJbml0aWFsaXplZCh0KTtcbn1cbmV4cG9ydCB7IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIGFzIGRlZmF1bHQgfTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _setPrototypeOf)\n/* harmony export */ });\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vc2V0UHJvdG90eXBlT2YuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3NldFByb3RvdHlwZU9mLmpzPzE0ODMiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKHQsIGUpIHtcbiAgcmV0dXJuIF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCkgOiBmdW5jdGlvbiAodCwgZSkge1xuICAgIHJldHVybiB0Ll9fcHJvdG9fXyA9IGUsIHQ7XG4gIH0sIF9zZXRQcm90b3R5cGVPZih0LCBlKTtcbn1cbmV4cG9ydCB7IF9zZXRQcm90b3R5cGVPZiBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js": -/*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _slicedToArray)\n/* harmony export */ });\n/* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\");\n/* harmony import */ var _iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArrayLimit.js */ \"./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js\");\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n/* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ \"./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\");\n\n\n\n\nfunction _slicedToArray(r, e) {\n return (0,_arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r) || (0,_iterableToArrayLimit_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(r, e) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(r, e) || (0,_nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vc2xpY2VkVG9BcnJheS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFpRDtBQUNZO0FBQ1k7QUFDdEI7QUFDbkQ7QUFDQSxTQUFTLDhEQUFjLE9BQU8sb0VBQW9CLFVBQVUsMEVBQTBCLFVBQVUsK0RBQWU7QUFDL0ciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zbGljZWRUb0FycmF5LmpzPzZkYzgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFycmF5V2l0aEhvbGVzIGZyb20gXCIuL2FycmF5V2l0aEhvbGVzLmpzXCI7XG5pbXBvcnQgaXRlcmFibGVUb0FycmF5TGltaXQgZnJvbSBcIi4vaXRlcmFibGVUb0FycmF5TGltaXQuanNcIjtcbmltcG9ydCB1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSBmcm9tIFwiLi91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheS5qc1wiO1xuaW1wb3J0IG5vbkl0ZXJhYmxlUmVzdCBmcm9tIFwiLi9ub25JdGVyYWJsZVJlc3QuanNcIjtcbmZ1bmN0aW9uIF9zbGljZWRUb0FycmF5KHIsIGUpIHtcbiAgcmV0dXJuIGFycmF5V2l0aEhvbGVzKHIpIHx8IGl0ZXJhYmxlVG9BcnJheUxpbWl0KHIsIGUpIHx8IHVuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KHIsIGUpIHx8IG5vbkl0ZXJhYmxlUmVzdCgpO1xufVxuZXhwb3J0IHsgX3NsaWNlZFRvQXJyYXkgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _toConsumableArray)\n/* harmony export */ });\n/* harmony import */ var _arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithoutHoles.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\");\n/* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\");\n/* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\");\n/* harmony import */ var _nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableSpread.js */ \"./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\");\n\n\n\n\nfunction _toConsumableArray(r) {\n return (0,_arrayWithoutHoles_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r) || (0,_iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(r) || (0,_unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(r) || (0,_nonIterableSpread_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Db25zdW1hYmxlQXJyYXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBdUQ7QUFDSjtBQUNzQjtBQUNsQjtBQUN2RDtBQUNBLFNBQVMsaUVBQWlCLE9BQU8sK0RBQWUsT0FBTywwRUFBMEIsT0FBTyxpRUFBaUI7QUFDekciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b0NvbnN1bWFibGVBcnJheS5qcz9kMmZlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhcnJheVdpdGhvdXRIb2xlcyBmcm9tIFwiLi9hcnJheVdpdGhvdXRIb2xlcy5qc1wiO1xuaW1wb3J0IGl0ZXJhYmxlVG9BcnJheSBmcm9tIFwiLi9pdGVyYWJsZVRvQXJyYXkuanNcIjtcbmltcG9ydCB1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSBmcm9tIFwiLi91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheS5qc1wiO1xuaW1wb3J0IG5vbkl0ZXJhYmxlU3ByZWFkIGZyb20gXCIuL25vbkl0ZXJhYmxlU3ByZWFkLmpzXCI7XG5mdW5jdGlvbiBfdG9Db25zdW1hYmxlQXJyYXkocikge1xuICByZXR1cm4gYXJyYXlXaXRob3V0SG9sZXMocikgfHwgaXRlcmFibGVUb0FycmF5KHIpIHx8IHVuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KHIpIHx8IG5vbkl0ZXJhYmxlU3ByZWFkKCk7XG59XG5leHBvcnQgeyBfdG9Db25zdW1hYmxlQXJyYXkgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js": -/*!****************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ toPrimitive)\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n\nfunction toPrimitive(t, r) {\n if (\"object\" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9QcmltaXRpdmUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBa0M7QUFDbEM7QUFDQSxrQkFBa0Isc0RBQU87QUFDekI7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHNEQUFPO0FBQzNCO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9QcmltaXRpdmUuanM/YTkzYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX3R5cGVvZiBmcm9tIFwiLi90eXBlb2YuanNcIjtcbmZ1bmN0aW9uIHRvUHJpbWl0aXZlKHQsIHIpIHtcbiAgaWYgKFwib2JqZWN0XCIgIT0gX3R5cGVvZih0KSB8fCAhdCkgcmV0dXJuIHQ7XG4gIHZhciBlID0gdFtTeW1ib2wudG9QcmltaXRpdmVdO1xuICBpZiAodm9pZCAwICE9PSBlKSB7XG4gICAgdmFyIGkgPSBlLmNhbGwodCwgciB8fCBcImRlZmF1bHRcIik7XG4gICAgaWYgKFwib2JqZWN0XCIgIT0gX3R5cGVvZihpKSkgcmV0dXJuIGk7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuXCIpO1xuICB9XG4gIHJldHVybiAoXCJzdHJpbmdcIiA9PT0gciA/IFN0cmluZyA6IE51bWJlcikodCk7XG59XG5leHBvcnQgeyB0b1ByaW1pdGl2ZSBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/toPrimitive.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": -/*!******************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ toPropertyKey)\n/* harmony export */ });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ \"./node_modules/@babel/runtime/helpers/esm/toPrimitive.js\");\n\n\nfunction toPropertyKey(t) {\n var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(t, \"string\");\n return \"symbol\" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(i) ? i : i + \"\";\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Qcm9wZXJ0eUtleS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBa0M7QUFDUztBQUMzQztBQUNBLFVBQVUsMkRBQVc7QUFDckIscUJBQXFCLHNEQUFPO0FBQzVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Qcm9wZXJ0eUtleS5qcz8wYTA1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfdHlwZW9mIGZyb20gXCIuL3R5cGVvZi5qc1wiO1xuaW1wb3J0IHRvUHJpbWl0aXZlIGZyb20gXCIuL3RvUHJpbWl0aXZlLmpzXCI7XG5mdW5jdGlvbiB0b1Byb3BlcnR5S2V5KHQpIHtcbiAgdmFyIGkgPSB0b1ByaW1pdGl2ZSh0LCBcInN0cmluZ1wiKTtcbiAgcmV0dXJuIFwic3ltYm9sXCIgPT0gX3R5cGVvZihpKSA/IGkgOiBpICsgXCJcIjtcbn1cbmV4cG9ydCB7IHRvUHJvcGVydHlLZXkgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js": -/*!***********************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _typeof)\n/* harmony export */ });\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdHlwZW9mLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxHQUFHO0FBQ0giLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9oZWFkZXItZm9vdGVyLWVsZW1lbnRvci8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90eXBlb2YuanM/ZWU5MCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfdHlwZW9mKG8pIHtcbiAgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiO1xuXG4gIHJldHVybiBfdHlwZW9mID0gXCJmdW5jdGlvblwiID09IHR5cGVvZiBTeW1ib2wgJiYgXCJzeW1ib2xcIiA9PSB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID8gZnVuY3Rpb24gKG8pIHtcbiAgICByZXR1cm4gdHlwZW9mIG87XG4gIH0gOiBmdW5jdGlvbiAobykge1xuICAgIHJldHVybiBvICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgU3ltYm9sICYmIG8uY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvO1xuICB9LCBfdHlwZW9mKG8pO1xufVxuZXhwb3J0IHsgX3R5cGVvZiBhcyBkZWZhdWx0IH07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/typeof.js\n"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! - \*******************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ _unsupportedIterableToArray)\n/* harmony export */ });\n/* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? (0,_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r, a) : void 0;\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBcUQ7QUFDckQ7QUFDQTtBQUNBLHFDQUFxQyxnRUFBZ0I7QUFDckQsY0FBYztBQUNkLCtMQUErTCxnRUFBZ0I7QUFDL007QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5LmpzPzFhNjQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFycmF5TGlrZVRvQXJyYXkgZnJvbSBcIi4vYXJyYXlMaWtlVG9BcnJheS5qc1wiO1xuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KHIsIGEpIHtcbiAgaWYgKHIpIHtcbiAgICBpZiAoXCJzdHJpbmdcIiA9PSB0eXBlb2YgcikgcmV0dXJuIGFycmF5TGlrZVRvQXJyYXkociwgYSk7XG4gICAgdmFyIHQgPSB7fS50b1N0cmluZy5jYWxsKHIpLnNsaWNlKDgsIC0xKTtcbiAgICByZXR1cm4gXCJPYmplY3RcIiA9PT0gdCAmJiByLmNvbnN0cnVjdG9yICYmICh0ID0gci5jb25zdHJ1Y3Rvci5uYW1lKSwgXCJNYXBcIiA9PT0gdCB8fCBcIlNldFwiID09PSB0ID8gQXJyYXkuZnJvbShyKSA6IFwiQXJndW1lbnRzXCIgPT09IHQgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QodCkgPyBhcnJheUxpa2VUb0FycmF5KHIsIGEpIDogdm9pZCAwO1xuICB9XG59XG5leHBvcnQgeyBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkgYXMgZGVmYXVsdCB9OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\n"); - -/***/ }), - -/***/ "./node_modules/goober/dist/goober.modern.js": -/*!***************************************************!*\ - !*** ./node_modules/goober/dist/goober.modern.js ***! - \***************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ css: () => (/* binding */ u),\n/* harmony export */ extractCss: () => (/* binding */ r),\n/* harmony export */ glob: () => (/* binding */ b),\n/* harmony export */ keyframes: () => (/* binding */ h),\n/* harmony export */ setup: () => (/* binding */ m),\n/* harmony export */ styled: () => (/* binding */ j)\n/* harmony export */ });\nlet e={data:\"\"},t=t=>\"object\"==typeof window?((t?t.querySelector(\"#_goober\"):window._goober)||Object.assign((t||document.head).appendChild(document.createElement(\"style\")),{innerHTML:\" \",id:\"_goober\"})).firstChild:t||e,r=e=>{let r=t(e),l=r.data;return r.data=\"\",l},l=/(?:([\\u0080-\\uFFFF\\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\\s*)/g,a=/\\/\\*[^]*?\\*\\/| +/g,n=/\\n+/g,o=(e,t)=>{let r=\"\",l=\"\",a=\"\";for(let n in e){let c=e[n];\"@\"==n[0]?\"i\"==n[1]?r=n+\" \"+c+\";\":l+=\"f\"==n[1]?o(c,n):n+\"{\"+o(c,\"k\"==n[1]?\"\":t)+\"}\":\"object\"==typeof c?l+=o(c,t?t.replace(/([^,])+/g,e=>n.replace(/([^,]*:\\S+\\([^)]*\\))|([^,])+/g,t=>/&/.test(t)?t.replace(/&/g,e):e?e+\" \"+t:t)):n):null!=c&&(n=/^--/.test(n)?n:n.replace(/[A-Z]/g,\"-$&\").toLowerCase(),a+=o.p?o.p(n,c):n+\":\"+c+\";\")}return r+(t&&a?t+\"{\"+a+\"}\":a)+l},c={},s=e=>{if(\"object\"==typeof e){let t=\"\";for(let r in e)t+=r+s(e[r]);return t}return e},i=(e,t,r,i,p)=>{let u=s(e),d=c[u]||(c[u]=(e=>{let t=0,r=11;for(;t>>0;return\"go\"+r})(u));if(!c[d]){let t=u!==e?e:(e=>{let t,r,o=[{}];for(;t=l.exec(e.replace(a,\"\"));)t[4]?o.shift():t[3]?(r=t[3].replace(n,\" \").trim(),o.unshift(o[0][r]=o[0][r]||{})):o[0][t[1]]=t[2].replace(n,\" \").trim();return o[0]})(e);c[d]=o(p?{[\"@keyframes \"+d]:t}:t,r?\"\":\".\"+d)}let f=r&&c.g?c.g:null;return r&&(c.g=c[d]),((e,t,r,l)=>{l?t.data=t.data.replace(l,e):-1===t.data.indexOf(e)&&(t.data=r?e+t.data:t.data+e)})(c[d],t,i,f),d},p=(e,t,r)=>e.reduce((e,l,a)=>{let n=t[a];if(n&&n.call){let e=n(r),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;n=t?\".\"+t:e&&\"object\"==typeof e?e.props?\"\":o(e,\"\"):!1===e?\"\":e}return e+l+(null==n?\"\":n)},\"\");function u(e){let r=this||{},l=e.call?e(r.p):e;return i(l.unshift?l.raw?p(l,[].slice.call(arguments,1),r.p):l.reduce((e,t)=>Object.assign(e,t&&t.call?t(r.p):t),{}):l,t(r.target),r.g,r.o,r.k)}let d,f,g,b=u.bind({g:1}),h=u.bind({k:1});function m(e,t,r,l){o.p=t,d=e,f=r,g=l}function j(e,t){let r=this||{};return function(){let l=arguments;function a(n,o){let c=Object.assign({},n),s=c.className||a.className;r.p=Object.assign({theme:f&&f()},c),r.o=/ *go\\d+/.test(s),c.className=u.apply(r,l)+(s?\" \"+s:\"\"),t&&(c.ref=o);let i=e;return e[0]&&(i=c.as||e,delete c.as),g&&i[0]&&g(c),d(i,c)}return t?t(a):a}}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvZ29vYmVyL2Rpc3QvZ29vYmVyLm1vZGVybi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLFFBQVEsOEpBQThKLDJCQUEyQix5QkFBeUIsb0JBQW9CLG1CQUFtQix5Q0FBeUMsS0FBSyxPQUFPLE9BQU8sSUFBSSxpREFBaUQsbUJBQW1CLGdCQUFnQixXQUFXLGdDQUFnQywwQkFBMEIsd0JBQXdCLGdQQUFnUCxHQUFHLG1CQUFtQixNQUFNLE9BQU8sS0FBSyxPQUFPLHVCQUF1QixTQUFTLDRCQUE0QixTQUFTLFNBQVMsaUJBQWlCLDhCQUE4QixhQUFhLEtBQUssV0FBVywrQkFBK0IsYUFBYSxNQUFNLFVBQVUsbUJBQW1CLGFBQWEsRUFBRSxLQUFLLDBCQUEwQixnRkFBZ0YseUNBQXlDLFlBQVksS0FBSyxVQUFVLG9CQUFvQixlQUFlLHNCQUFzQixrQ0FBa0Msa0ZBQWtGLGdCQUFnQiwrQkFBK0IsV0FBVyxjQUFjLDZEQUE2RCwrREFBK0QsMEJBQTBCLEtBQUssY0FBYyxjQUFjLG1CQUFtQixtSEFBbUgsNkJBQTZCLG9CQUFvQixJQUFJLFlBQVksSUFBSSxFQUFFLG9CQUFvQixrQkFBa0IsZ0JBQWdCLGVBQWUsa0JBQWtCLGdCQUFnQixnQkFBZ0Isc0JBQXNCLCtCQUErQixtQkFBbUIsYUFBYSw2RUFBNkUsUUFBUSwwREFBMEQsaUJBQWtHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaGVhZGVyLWZvb3Rlci1lbGVtZW50b3IvLi9ub2RlX21vZHVsZXMvZ29vYmVyL2Rpc3QvZ29vYmVyLm1vZGVybi5qcz9iMzg1Il0sInNvdXJjZXNDb250ZW50IjpbImxldCBlPXtkYXRhOlwiXCJ9LHQ9dD0+XCJvYmplY3RcIj09dHlwZW9mIHdpbmRvdz8oKHQ/dC5xdWVyeVNlbGVjdG9yKFwiI19nb29iZXJcIik6d2luZG93Ll9nb29iZXIpfHxPYmplY3QuYXNzaWduKCh0fHxkb2N1bWVudC5oZWFkKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIikpLHtpbm5lckhUTUw6XCIgXCIsaWQ6XCJfZ29vYmVyXCJ9KSkuZmlyc3RDaGlsZDp0fHxlLHI9ZT0+e2xldCByPXQoZSksbD1yLmRhdGE7cmV0dXJuIHIuZGF0YT1cIlwiLGx9LGw9Lyg/OihbXFx1MDA4MC1cXHVGRkZGXFx3LSVAXSspICo6PyAqKFteeztdKz8pO3woW147fXtdKj8pICp7KXwofVxccyopL2csYT0vXFwvXFwqW15dKj9cXCpcXC98ICArL2csbj0vXFxuKy9nLG89KGUsdCk9PntsZXQgcj1cIlwiLGw9XCJcIixhPVwiXCI7Zm9yKGxldCBuIGluIGUpe2xldCBjPWVbbl07XCJAXCI9PW5bMF0/XCJpXCI9PW5bMV0/cj1uK1wiIFwiK2MrXCI7XCI6bCs9XCJmXCI9PW5bMV0/byhjLG4pOm4rXCJ7XCIrbyhjLFwia1wiPT1uWzFdP1wiXCI6dCkrXCJ9XCI6XCJvYmplY3RcIj09dHlwZW9mIGM/bCs9byhjLHQ/dC5yZXBsYWNlKC8oW14sXSkrL2csZT0+bi5yZXBsYWNlKC8oW14sXSo6XFxTK1xcKFteKV0qXFwpKXwoW14sXSkrL2csdD0+LyYvLnRlc3QodCk/dC5yZXBsYWNlKC8mL2csZSk6ZT9lK1wiIFwiK3Q6dCkpOm4pOm51bGwhPWMmJihuPS9eLS0vLnRlc3Qobik/bjpuLnJlcGxhY2UoL1tBLVpdL2csXCItJCZcIikudG9Mb3dlckNhc2UoKSxhKz1vLnA/by5wKG4sYyk6bitcIjpcIitjK1wiO1wiKX1yZXR1cm4gcisodCYmYT90K1wie1wiK2ErXCJ9XCI6YSkrbH0sYz17fSxzPWU9PntpZihcIm9iamVjdFwiPT10eXBlb2YgZSl7bGV0IHQ9XCJcIjtmb3IobGV0IHIgaW4gZSl0Kz1yK3MoZVtyXSk7cmV0dXJuIHR9cmV0dXJuIGV9LGk9KGUsdCxyLGkscCk9PntsZXQgdT1zKGUpLGQ9Y1t1XXx8KGNbdV09KGU9PntsZXQgdD0wLHI9MTE7Zm9yKDt0PGUubGVuZ3RoOylyPTEwMSpyK2UuY2hhckNvZGVBdCh0KyspPj4+MDtyZXR1cm5cImdvXCIrcn0pKHUpKTtpZighY1tkXSl7bGV0IHQ9dSE9PWU/ZTooZT0+e2xldCB0LHIsbz1be31dO2Zvcig7dD1sLmV4ZWMoZS5yZXBsYWNlKGEsXCJcIikpOyl0WzRdP28uc2hpZnQoKTp0WzNdPyhyPXRbM10ucmVwbGFjZShuLFwiIFwiKS50cmltKCksby51bnNoaWZ0KG9bMF1bcl09b1swXVtyXXx8e30pKTpvWzBdW3RbMV1dPXRbMl0ucmVwbGFjZShuLFwiIFwiKS50cmltKCk7cmV0dXJuIG9bMF19KShlKTtjW2RdPW8ocD97W1wiQGtleWZyYW1lcyBcIitkXTp0fTp0LHI/XCJcIjpcIi5cIitkKX1sZXQgZj1yJiZjLmc/Yy5nOm51bGw7cmV0dXJuIHImJihjLmc9Y1tkXSksKChlLHQscixsKT0+e2w/dC5kYXRhPXQuZGF0YS5yZXBsYWNlKGwsZSk6LTE9PT10LmRhdGEuaW5kZXhPZihlKSYmKHQuZGF0YT1yP2UrdC5kYXRhOnQuZGF0YStlKX0pKGNbZF0sdCxpLGYpLGR9LHA9KGUsdCxyKT0+ZS5yZWR1Y2UoKGUsbCxhKT0+e2xldCBuPXRbYV07aWYobiYmbi5jYWxsKXtsZXQgZT1uKHIpLHQ9ZSYmZS5wcm9wcyYmZS5wcm9wcy5jbGFzc05hbWV8fC9eZ28vLnRlc3QoZSkmJmU7bj10P1wiLlwiK3Q6ZSYmXCJvYmplY3RcIj09dHlwZW9mIGU/ZS5wcm9wcz9cIlwiOm8oZSxcIlwiKTohMT09PWU/XCJcIjplfXJldHVybiBlK2wrKG51bGw9PW4/XCJcIjpuKX0sXCJcIik7ZnVuY3Rpb24gdShlKXtsZXQgcj10aGlzfHx7fSxsPWUuY2FsbD9lKHIucCk6ZTtyZXR1cm4gaShsLnVuc2hpZnQ/bC5yYXc/cChsLFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLHIucCk6bC5yZWR1Y2UoKGUsdCk9Pk9iamVjdC5hc3NpZ24oZSx0JiZ0LmNhbGw/dChyLnApOnQpLHt9KTpsLHQoci50YXJnZXQpLHIuZyxyLm8sci5rKX1sZXQgZCxmLGcsYj11LmJpbmQoe2c6MX0pLGg9dS5iaW5kKHtrOjF9KTtmdW5jdGlvbiBtKGUsdCxyLGwpe28ucD10LGQ9ZSxmPXIsZz1sfWZ1bmN0aW9uIGooZSx0KXtsZXQgcj10aGlzfHx7fTtyZXR1cm4gZnVuY3Rpb24oKXtsZXQgbD1hcmd1bWVudHM7ZnVuY3Rpb24gYShuLG8pe2xldCBjPU9iamVjdC5hc3NpZ24oe30sbikscz1jLmNsYXNzTmFtZXx8YS5jbGFzc05hbWU7ci5wPU9iamVjdC5hc3NpZ24oe3RoZW1lOmYmJmYoKX0sYyksci5vPS8gKmdvXFxkKy8udGVzdChzKSxjLmNsYXNzTmFtZT11LmFwcGx5KHIsbCkrKHM/XCIgXCIrczpcIlwiKSx0JiYoYy5yZWY9byk7bGV0IGk9ZTtyZXR1cm4gZVswXSYmKGk9Yy5hc3x8ZSxkZWxldGUgYy5hcyksZyYmaVswXSYmZyhjKSxkKGksYyl9cmV0dXJuIHQ/dChhKTphfX1leHBvcnR7dSBhcyBjc3MsciBhcyBleHRyYWN0Q3NzLGIgYXMgZ2xvYixoIGFzIGtleWZyYW1lcyxtIGFzIHNldHVwLGogYXMgc3R5bGVkfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/goober/dist/goober.modern.js\n"); - -/***/ }), - -/***/ "./node_modules/react-hot-toast/dist/index.mjs": -/*!*****************************************************!*\ - !*** ./node_modules/react-hot-toast/dist/index.mjs ***! - \*****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CheckmarkIcon: () => (/* binding */ w),\n/* harmony export */ ErrorIcon: () => (/* binding */ _),\n/* harmony export */ LoaderIcon: () => (/* binding */ V),\n/* harmony export */ ToastBar: () => (/* binding */ F),\n/* harmony export */ ToastIcon: () => (/* binding */ M),\n/* harmony export */ Toaster: () => (/* binding */ Ie),\n/* harmony export */ \"default\": () => (/* binding */ _t),\n/* harmony export */ resolveValue: () => (/* binding */ T),\n/* harmony export */ toast: () => (/* binding */ n),\n/* harmony export */ useToaster: () => (/* binding */ D),\n/* harmony export */ useToasterStore: () => (/* binding */ I)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var goober__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! goober */ \"./node_modules/goober/dist/goober.modern.js\");\n\"use client\";\nvar W=e=>typeof e==\"function\",T=(e,t)=>W(e)?e(t):e;var U=(()=>{let e=0;return()=>(++e).toString()})(),b=(()=>{let e;return()=>{if(e===void 0&&typeof window<\"u\"){let t=matchMedia(\"(prefers-reduced-motion: reduce)\");e=!t||t.matches}return e}})();var Q=20;var S=new Map,X=1e3,$=e=>{if(S.has(e))return;let t=setTimeout(()=>{S.delete(e),u({type:4,toastId:e})},X);S.set(e,t)},J=e=>{let t=S.get(e);t&&clearTimeout(t)},v=(e,t)=>{switch(t.type){case 0:return{...e,toasts:[t.toast,...e.toasts].slice(0,Q)};case 1:return t.toast.id&&J(t.toast.id),{...e,toasts:e.toasts.map(r=>r.id===t.toast.id?{...r,...t.toast}:r)};case 2:let{toast:o}=t;return e.toasts.find(r=>r.id===o.id)?v(e,{type:1,toast:o}):v(e,{type:0,toast:o});case 3:let{toastId:s}=t;return s?$(s):e.toasts.forEach(r=>{$(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===s||s===void 0?{...r,visible:!1}:r)};case 4:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==t.toastId)};case 5:return{...e,pausedAt:t.time};case 6:let a=t.time-(e.pausedAt||0);return{...e,pausedAt:void 0,toasts:e.toasts.map(r=>({...r,pauseDuration:r.pauseDuration+a}))}}},A=[],P={toasts:[],pausedAt:void 0},u=e=>{P=v(P,e),A.forEach(t=>{t(P)})},Y={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},I=(e={})=>{let[t,o]=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(P);(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>(A.push(o),()=>{let a=A.indexOf(o);a>-1&&A.splice(a,1)}),[t]);let s=t.toasts.map(a=>{var r,c;return{...e,...e[a.type],...a,duration:a.duration||((r=e[a.type])==null?void 0:r.duration)||(e==null?void 0:e.duration)||Y[a.type],style:{...e.style,...(c=e[a.type])==null?void 0:c.style,...a.style}}});return{...t,toasts:s}};var G=(e,t=\"blank\",o)=>({createdAt:Date.now(),visible:!0,type:t,ariaProps:{role:\"status\",\"aria-live\":\"polite\"},message:e,pauseDuration:0,...o,id:(o==null?void 0:o.id)||U()}),h=e=>(t,o)=>{let s=G(t,e,o);return u({type:2,toast:s}),s.id},n=(e,t)=>h(\"blank\")(e,t);n.error=h(\"error\");n.success=h(\"success\");n.loading=h(\"loading\");n.custom=h(\"custom\");n.dismiss=e=>{u({type:3,toastId:e})};n.remove=e=>u({type:4,toastId:e});n.promise=(e,t,o)=>{let s=n.loading(t.loading,{...o,...o==null?void 0:o.loading});return e.then(a=>(n.success(T(t.success,a),{id:s,...o,...o==null?void 0:o.success}),a)).catch(a=>{n.error(T(t.error,a),{id:s,...o,...o==null?void 0:o.error})}),e};var Z=(e,t)=>{u({type:1,toast:{id:e,height:t}})},ee=()=>{u({type:5,time:Date.now()})},D=e=>{let{toasts:t,pausedAt:o}=I(e);(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{if(o)return;let r=Date.now(),c=t.map(i=>{if(i.duration===1/0)return;let d=(i.duration||0)+i.pauseDuration-(r-i.createdAt);if(d<0){i.visible&&n.dismiss(i.id);return}return setTimeout(()=>n.dismiss(i.id),d)});return()=>{c.forEach(i=>i&&clearTimeout(i))}},[t,o]);let s=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{o&&u({type:6,time:Date.now()})},[o]),a=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((r,c)=>{let{reverseOrder:i=!1,gutter:d=8,defaultPosition:p}=c||{},g=t.filter(m=>(m.position||p)===(r.position||p)&&m.height),E=g.findIndex(m=>m.id===r.id),x=g.filter((m,R)=>Rm.visible).slice(...i?[x+1]:[0,x]).reduce((m,R)=>m+(R.height||0)+d,0)},[t]);return{toasts:t,handlers:{updateHeight:Z,startPause:ee,endPause:s,calculateOffset:a}}};var oe=(0,goober__WEBPACK_IMPORTED_MODULE_1__.keyframes)`\nfrom {\n transform: scale(0) rotate(45deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(45deg);\n opacity: 1;\n}`,re=(0,goober__WEBPACK_IMPORTED_MODULE_1__.keyframes)`\nfrom {\n transform: scale(0);\n opacity: 0;\n}\nto {\n transform: scale(1);\n opacity: 1;\n}`,se=(0,goober__WEBPACK_IMPORTED_MODULE_1__.keyframes)`\nfrom {\n transform: scale(0) rotate(90deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(90deg);\n\topacity: 1;\n}`,_=(0,goober__WEBPACK_IMPORTED_MODULE_1__.styled)(\"div\")`\n width: 20px;\n opacity: 0;\n height: 20px;\n border-radius: 10px;\n background: ${e=>e.primary||\"#ff4b4b\"};\n position: relative;\n transform: rotate(45deg);\n\n animation: ${oe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n animation-delay: 100ms;\n\n &:after,\n &:before {\n content: '';\n animation: ${re} 0.15s ease-out forwards;\n animation-delay: 150ms;\n position: absolute;\n border-radius: 3px;\n opacity: 0;\n background: ${e=>e.secondary||\"#fff\"};\n bottom: 9px;\n left: 4px;\n height: 2px;\n width: 12px;\n }\n\n &:before {\n animation: ${se} 0.15s ease-out forwards;\n animation-delay: 180ms;\n transform: rotate(90deg);\n }\n`;var ne=(0,goober__WEBPACK_IMPORTED_MODULE_1__.keyframes)`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`,V=(0,goober__WEBPACK_IMPORTED_MODULE_1__.styled)(\"div\")`\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border: 2px solid;\n border-radius: 100%;\n border-color: ${e=>e.secondary||\"#e0e0e0\"};\n border-right-color: ${e=>e.primary||\"#616161\"};\n animation: ${ne} 1s linear infinite;\n`;var pe=(0,goober__WEBPACK_IMPORTED_MODULE_1__.keyframes)`\nfrom {\n transform: scale(0) rotate(45deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(45deg);\n\topacity: 1;\n}`,de=(0,goober__WEBPACK_IMPORTED_MODULE_1__.keyframes)`\n0% {\n\theight: 0;\n\twidth: 0;\n\topacity: 0;\n}\n40% {\n height: 0;\n\twidth: 6px;\n\topacity: 1;\n}\n100% {\n opacity: 1;\n height: 10px;\n}`,w=(0,goober__WEBPACK_IMPORTED_MODULE_1__.styled)(\"div\")`\n width: 20px;\n opacity: 0;\n height: 20px;\n border-radius: 10px;\n background: ${e=>e.primary||\"#61d345\"};\n position: relative;\n transform: rotate(45deg);\n\n animation: ${pe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n animation-delay: 100ms;\n &:after {\n content: '';\n box-sizing: border-box;\n animation: ${de} 0.2s ease-out forwards;\n opacity: 0;\n animation-delay: 200ms;\n position: absolute;\n border-right: 2px solid;\n border-bottom: 2px solid;\n border-color: ${e=>e.secondary||\"#fff\"};\n bottom: 6px;\n left: 6px;\n height: 10px;\n width: 6px;\n }\n`;var ue=(0,goober__WEBPACK_IMPORTED_MODULE_1__.styled)(\"div\")`\n position: absolute;\n`,le=(0,goober__WEBPACK_IMPORTED_MODULE_1__.styled)(\"div\")`\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: 20px;\n min-height: 20px;\n`,Te=(0,goober__WEBPACK_IMPORTED_MODULE_1__.keyframes)`\nfrom {\n transform: scale(0.6);\n opacity: 0.4;\n}\nto {\n transform: scale(1);\n opacity: 1;\n}`,fe=(0,goober__WEBPACK_IMPORTED_MODULE_1__.styled)(\"div\")`\n position: relative;\n transform: scale(0.6);\n opacity: 0.4;\n min-width: 20px;\n animation: ${Te} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n`,M=({toast:e})=>{let{icon:t,type:o,iconTheme:s}=e;return t!==void 0?typeof t==\"string\"?react__WEBPACK_IMPORTED_MODULE_0__.createElement(fe,null,t):t:o===\"blank\"?null:react__WEBPACK_IMPORTED_MODULE_0__.createElement(le,null,react__WEBPACK_IMPORTED_MODULE_0__.createElement(V,{...s}),o!==\"loading\"&&react__WEBPACK_IMPORTED_MODULE_0__.createElement(ue,null,o===\"error\"?react__WEBPACK_IMPORTED_MODULE_0__.createElement(_,{...s}):react__WEBPACK_IMPORTED_MODULE_0__.createElement(w,{...s})))};var ye=e=>`\n0% {transform: translate3d(0,${e*-200}%,0) scale(.6); opacity:.5;}\n100% {transform: translate3d(0,0,0) scale(1); opacity:1;}\n`,ge=e=>`\n0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}\n100% {transform: translate3d(0,${e*-150}%,-1px) scale(.6); opacity:0;}\n`,he=\"0%{opacity:0;} 100%{opacity:1;}\",xe=\"0%{opacity:1;} 100%{opacity:0;}\",be=(0,goober__WEBPACK_IMPORTED_MODULE_1__.styled)(\"div\")`\n display: flex;\n align-items: center;\n background: #fff;\n color: #363636;\n line-height: 1.3;\n will-change: transform;\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05);\n max-width: 350px;\n pointer-events: auto;\n padding: 8px 10px;\n border-radius: 8px;\n`,Se=(0,goober__WEBPACK_IMPORTED_MODULE_1__.styled)(\"div\")`\n display: flex;\n justify-content: center;\n margin: 4px 10px;\n color: inherit;\n flex: 1 1 auto;\n white-space: pre-line;\n`,Ae=(e,t)=>{let s=e.includes(\"top\")?1:-1,[a,r]=b()?[he,xe]:[ye(s),ge(s)];return{animation:t?`${(0,goober__WEBPACK_IMPORTED_MODULE_1__.keyframes)(a)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${(0,goober__WEBPACK_IMPORTED_MODULE_1__.keyframes)(r)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}},F=react__WEBPACK_IMPORTED_MODULE_0__.memo(({toast:e,position:t,style:o,children:s})=>{let a=e.height?Ae(e.position||t||\"top-center\",e.visible):{opacity:0},r=react__WEBPACK_IMPORTED_MODULE_0__.createElement(M,{toast:e}),c=react__WEBPACK_IMPORTED_MODULE_0__.createElement(Se,{...e.ariaProps},T(e.message,e));return react__WEBPACK_IMPORTED_MODULE_0__.createElement(be,{className:e.className,style:{...a,...o,...e.style}},typeof s==\"function\"?s({icon:r,message:c}):react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment,null,r,c))});(0,goober__WEBPACK_IMPORTED_MODULE_1__.setup)(react__WEBPACK_IMPORTED_MODULE_0__.createElement);var Ee=({id:e,className:t,style:o,onHeightUpdate:s,children:a})=>{let r=react__WEBPACK_IMPORTED_MODULE_0__.useCallback(c=>{if(c){let i=()=>{let d=c.getBoundingClientRect().height;s(e,d)};i(),new MutationObserver(i).observe(c,{subtree:!0,childList:!0,characterData:!0})}},[e,s]);return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\",{ref:r,className:t,style:o},a)},Re=(e,t)=>{let o=e.includes(\"top\"),s=o?{top:0}:{bottom:0},a=e.includes(\"center\")?{justifyContent:\"center\"}:e.includes(\"right\")?{justifyContent:\"flex-end\"}:{};return{left:0,right:0,display:\"flex\",position:\"absolute\",transition:b()?void 0:\"all 230ms cubic-bezier(.21,1.02,.73,1)\",transform:`translateY(${t*(o?1:-1)}px)`,...s,...a}},ve=(0,goober__WEBPACK_IMPORTED_MODULE_1__.css)`\n z-index: 9999;\n > * {\n pointer-events: auto;\n }\n`,O=16,Ie=({reverseOrder:e,position:t=\"top-center\",toastOptions:o,gutter:s,children:a,containerStyle:r,containerClassName:c})=>{let{toasts:i,handlers:d}=D(o);return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\",{style:{position:\"fixed\",zIndex:9999,top:O,left:O,right:O,bottom:O,pointerEvents:\"none\",...r},className:c,onMouseEnter:d.startPause,onMouseLeave:d.endPause},i.map(p=>{let g=p.position||t,E=d.calculateOffset(p,{reverseOrder:e,gutter:s,defaultPosition:t}),x=Re(g,E);return react__WEBPACK_IMPORTED_MODULE_0__.createElement(Ee,{id:p.id,key:p.id,onHeightUpdate:d.updateHeight,className:p.visible?ve:\"\",style:x},p.type===\"custom\"?T(p.message,p):a?a(p):react__WEBPACK_IMPORTED_MODULE_0__.createElement(F,{toast:p,position:g}))}))};var _t=n;\n//# sourceMappingURL=index.mjs.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtaG90LXRvYXN0L2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBLG1EQUFtRCxZQUFZLFFBQVEsMkJBQTJCLFlBQVksTUFBTSxXQUFXLGtDQUFrQyxxREFBcUQsZ0JBQWdCLFVBQVUsSUFBb0QsU0FBUywwQkFBMEIsbUJBQW1CLHNCQUFzQixlQUFlLGlCQUFpQixFQUFFLElBQUksV0FBVyxPQUFPLGVBQWUsbUJBQW1CLFdBQVcsZUFBZSxjQUFjLDhDQUE4Qyx5Q0FBeUMsK0NBQStDLGdCQUFnQixLQUFLLFdBQVcsUUFBUSxHQUFHLDBDQUEwQyxlQUFlLE9BQU8sZUFBZSxFQUFFLFdBQVcsVUFBVSxHQUFHLG1DQUFtQyxRQUFRLEdBQUcsa0RBQWtELGdCQUFnQixLQUFLLGtDQUFrQyxlQUFlLEVBQUUsa0RBQWtELGNBQWMsc0JBQXNCLG9DQUFvQyxPQUFPLDhDQUE4QyxxQ0FBcUMsS0FBSyxTQUFTLDBCQUEwQixPQUFPLHVCQUF1QixLQUFLLEVBQUUsSUFBSSx1REFBdUQsUUFBUSxJQUFJLFNBQVMsK0NBQUMsSUFBSSxnREFBQyxxQkFBcUIsbUJBQW1CLG9CQUFvQixPQUFPLHVCQUF1QixRQUFRLE9BQU8sbUlBQW1JLDhEQUE4RCxFQUFFLE9BQU8sZ0JBQWdCLHlCQUF5QixrREFBa0QsbUNBQW1DLDhEQUE4RCxlQUFlLGVBQWUsVUFBVSxlQUFlLE9BQU8sMEJBQTBCLG1CQUFtQix1QkFBdUIsdUJBQXVCLHFCQUFxQixjQUFjLEdBQUcsaUJBQWlCLEdBQUcsZUFBZSxpQkFBaUIsRUFBRSxvQkFBb0IsMkJBQTJCLGlDQUFpQyxFQUFFLDRDQUE0QyxzQ0FBc0MsZ0JBQWdCLHNCQUFzQixvQ0FBb0MsRUFBRSxLQUF3RCxjQUFjLEdBQUcsY0FBYyxlQUFlLEVBQUUsU0FBUyxHQUFHLHVCQUF1QixFQUFFLE9BQU8sSUFBSSxvQkFBb0IsTUFBTSxnREFBQyxNQUFNLFlBQVksNkJBQTZCLDJC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QUUsZ0RBQWUsQ0FBQywyQ0FBVSxZQUFZLEVBQW9FLDZDQUFFLENBQUMsZ0RBQWUsRUFBRSxTQUFTLHFEQUFxRCxJQUFJLE1BQU0sOENBQWEsS0FBSyxNQUFNLFdBQVcsdUNBQXVDLFFBQVEsdUNBQXVDLHlDQUF5QyxHQUFHLFFBQVEsT0FBTyxnREFBZSxRQUFRLDBCQUEwQixJQUFJLFlBQVksNkJBQTZCLE1BQU0sRUFBRSxTQUFTLHlCQUF5Qix3QkFBd0Isc0JBQXNCLDBCQUEwQixJQUFJLE9BQU8seUlBQXlJLFdBQVcsZ0JBQWdCLElBQUksMkNBQUU7QUFDanhDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxnSEFBZ0gsSUFBSSxJQUFJLG9CQUFvQixNQUFNLE9BQU8sZ0RBQWUsUUFBUSxPQUFPLHFGQUFxRiwrREFBK0QsV0FBVywyQ0FBMkMsMENBQTBDLFlBQVksT0FBTyxnREFBZSxLQUFLLGlGQUFpRix5Q0FBeUMsZ0RBQWUsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLFNBQThMO0FBQ24wQiIsInNvdXJjZXMiOlsid2VicGFjazovL2hlYWRlci1mb290ZXItZWxlbWVudG9yLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWhvdC10b2FzdC9kaXN0L2luZGV4Lm1qcz81MDZkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xudmFyIFc9ZT0+dHlwZW9mIGU9PVwiZnVuY3Rpb25cIixUPShlLHQpPT5XKGUpP2UodCk6ZTt2YXIgVT0oKCk9PntsZXQgZT0wO3JldHVybigpPT4oKytlKS50b1N0cmluZygpfSkoKSxiPSgoKT0+e2xldCBlO3JldHVybigpPT57aWYoZT09PXZvaWQgMCYmdHlwZW9mIHdpbmRvdzxcInVcIil7bGV0IHQ9bWF0Y2hNZWRpYShcIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpXCIpO2U9IXR8fHQubWF0Y2hlc31yZXR1cm4gZX19KSgpO2ltcG9ydHt1c2VFZmZlY3QgYXMgSCx1c2VTdGF0ZSBhcyBqfWZyb21cInJlYWN0XCI7dmFyIFE9MjA7dmFyIFM9bmV3IE1hcCxYPTFlMywkPWU9PntpZihTLmhhcyhlKSlyZXR1cm47bGV0IHQ9c2V0VGltZW91dCgoKT0+e1MuZGVsZXRlKGUpLHUoe3R5cGU6NCx0b2FzdElkOmV9KX0sWCk7Uy5zZXQoZSx0KX0sSj1lPT57bGV0IHQ9Uy5nZXQoZSk7dCYmY2xlYXJUaW1lb3V0KHQpfSx2PShlLHQpPT57c3dpdGNoKHQudHlwZSl7Y2FzZSAwOnJldHVybnsuLi5lLHRvYXN0czpbdC50b2FzdCwuLi5lLnRvYXN0c10uc2xpY2UoMCxRKX07Y2FzZSAxOnJldHVybiB0LnRvYXN0LmlkJiZKKHQudG9hc3QuaWQpLHsuLi5lLHRvYXN0czplLnRvYXN0cy5tYXAocj0+ci5pZD09PXQudG9hc3QuaWQ/ey4uLnIsLi4udC50b2FzdH06cil9O2Nhc2UgMjpsZXR7dG9hc3Q6b309dDtyZXR1cm4gZS50b2FzdHMuZmluZChyPT5yLmlkPT09by5pZCk/dihlLHt0eXBlOjEsdG9hc3Q6b30pOnYoZSx7dHlwZTowLHRvYXN0Om99KTtjYXNlIDM6bGV0e3RvYXN0SWQ6c309dDtyZXR1cm4gcz8kKHMpOmUudG9hc3RzLmZvckVhY2gocj0+eyQoci5pZCl9KSx7Li4uZSx0b2FzdHM6ZS50b2FzdHMubWFwKHI9PnIuaWQ9PT1zfHxzPT09dm9pZCAwP3suLi5yLHZpc2libGU6ITF9OnIpfTtjYXNlIDQ6cmV0dXJuIHQudG9hc3RJZD09PXZvaWQgMD97Li4uZSx0b2FzdHM6W119OnsuLi5lLHRvYXN0czplLnRvYXN0cy5maWx0ZXIocj0+ci5pZCE9PXQudG9hc3RJZCl9O2Nhc2UgNTpyZXR1cm57Li4uZSxwYXVzZWRBdDp0LnRpbWV9O2Nhc2UgNjpsZXQgYT10LnRpbWUtKGUucGF1c2VkQXR8fDApO3JldHVybnsuLi5lLHBhdXNlZEF0OnZvaWQgMCx0b2FzdHM6ZS50b2FzdHMubWFwKHI9Pih7Li4ucixwYXVzZUR1cmF0aW9uOnIucGF1c2VEdXJhdGlvbithfSkpfX19LEE9W10sUD17dG9hc3RzOltdLHBhdXNlZEF0OnZvaWQgMH0sdT1lPT57UD12KFAsZSksQS5mb3JFYWNoKHQ9Pnt0KFApfSl9LFk9e2JsYW5rOjRlMyxlcnJvcjo0ZTMsc3VjY2VzczoyZTMsbG9hZGluZzoxLzAsY3VzdG9tOjRlM30sST0oZT17fSk9PntsZXRbdCxvXT1qKFApO0goKCk9PihBLnB1c2gobyksKCk9PntsZXQgYT1BLmluZGV4T2Yobyk7YT4tMSYmQS5zcGxpY2UoYSwxKX0pLFt0XSk7bGV0IHM9dC50b2FzdHMubWFwKGE9Pnt2YXIgcixjO3JldHVybnsuLi5lLC4uLmVbYS50eXBlXSwuLi5hLGR1cmF0aW9uOmEuZHVyYXRpb258fCgocj1lW2EudHlwZV0pPT1udWxsP3ZvaWQgMDpyLmR1cmF0aW9uKXx8KGU9PW51bGw/dm9pZCAwOmUuZHVyYXRpb24pfHxZW2EudHlwZV0sc3R5bGU6ey4uLmUuc3R5bGUsLi4uKGM9ZVthLnR5cGVdKT09bnVsbD92b2lkIDA6Yy5zdHlsZSwuLi5hLnN0eWxlfX19KTtyZXR1cm57Li4udCx0b2FzdHM6c319O3ZhciBHPShlLHQ9XCJibGFua1wiLG8pPT4oe2NyZWF0ZWRBdDpEYXRlLm5vdygpLHZpc2libGU6ITAsdHlwZTp0LGFyaWFQcm9wczp7cm9sZTpcInN0YXR1c1wiLFwiYXJpYS1saXZlXCI6XCJwb2xpdGVcIn0sbWVzc2FnZTplLHBhdXNlRHVyYXRpb246MCwuLi5vLGlkOihvPT1udWxsP3ZvaWQgMDpvLmlkKXx8VSgpfSksaD1lPT4odCxvKT0+e2xldCBzPUcodCxlLG8pO3JldHVybiB1KHt0eXBlOjIsdG9hc3Q6c30pLHMuaWR9LG49KGUsdCk9PmgoXCJibGFua1wiKShlLHQpO24uZXJyb3I9aChcImVycm9yXCIpO24uc3VjY2Vzcz1oKFwic3VjY2Vzc1wiKTtuLmxvYWRpbmc9aChcImxvYWRpbmdcIik7bi5jdXN0b209aChcImN1c3RvbVwiKTtuLmRpc21pc3M9ZT0+e3Uoe3R5cGU6Myx0b2FzdElkOmV9KX07bi5yZW1vdmU9ZT0+dSh7dHlwZTo0LHRvYXN0SWQ6ZX0pO24ucHJvbWlzZT0oZSx0LG8pPT57bGV0IHM9bi5sb2FkaW5nKHQubG9hZGluZyx7Li4ubywuLi5vPT1udWxsP3ZvaWQgMDpvLmxvYWRpbmd9KTtyZXR1cm4gZS50aGVuKGE9PihuLnN1Y2Nlc3MoVCh0LnN1Y2Nlc3MsYSkse2lkOnMsLi4ubywuLi5vPT1udWxsP3ZvaWQgMDpvLnN1Y2Nlc3N9KSxhKSkuY2F0Y2goYT0+e24uZXJyb3IoVCh0LmVycm9yLGEpLHtpZDpzLC4uLm8sLi4ubz09bnVsbD92b2lkIDA6by5lcnJvcn0pfSksZX07aW1wb3J0e3VzZUVmZmVjdCBhcyBLLHVzZUNhbGxiYWNrIGFzIEx9ZnJvbVwicmVhY3RcIjt2YXIgWj0oZSx0KT0+e3Uoe3R5cGU6MSx0b2FzdDp7aWQ6ZSxoZWlnaHQ6dH19KX0sZWU9KCk9Pnt1KHt0eXBlOjUsdGltZTpEYXRlLm5vdygpfSl9LEQ9ZT0+e2xldHt0b2FzdHM6dCxwYXVzZWRBdDpvfT1JKGUpO0soKCk9PntpZihvKXJldHVybjtsZXQgcj1EYXRlLm5vdygpLGM9dC5tYXAoaT0+e2lmKGkuZHVyYXRpb249PT0xLzApcmV0dXJuO2xldCBkPShpLmR1cmF0aW9ufHwwKStpLnBhdXNlRHVyYXRpb24tKHItaS5jcmVhdGVkQXQpO2lmKGQ8MCl7aS52aXNpYmxlJiZuLmRpc21pc3MoaS5pZCk7cmV0dXJufXJldHVybiBzZXRUaW1lb3V0KCgpPT5uLmRpc21pc3MoaS5pZCksZCl9KTtyZXR1cm4oKT0+e2MuZm9yRWFjaChpPT5pJiZjbGVhclRpbWVvdXQoaSkpfX0sW3Qsb10pO2xldCBzPUwoKCk9PntvJiZ1KHt0eXBlOjYsdGltZTpEYXRlLm5vdygpfSl9LFtvXSksYT1MKChyLGMpPT57bGV0e3JldmVyc2VPcmRlcjppPSExLGd1dHRlcjpkPTgsZGVmYXVsdFBvc2l0aW9uOnB9PWN8fHt9LGc9dC5maWx0ZXIobT0+KG0ucG9zaXRpb258fHApPT09KHIucG9zaXRpb258fHApJiZtLmhlaWdodCksRT1nLmZpbmRJbmRleChtPT5tLmlkPT09ci5pZCkseD1nLmZpbHRlcigobSxSKT0+UjxFJiZtLnZpc2libGUpLmxlbmd0aDtyZXR1cm4gZy5maWx0ZXIobT0+bS52aXNpYmxlKS5zbGljZSguLi5pP1t4KzFdOlswLHhdKS5yZWR1Y2UoKG0sUik9Pm0rKFIuaGVpZ2h0fHwwKStkLDApfSxbdF0pO3JldHVybnt0b2FzdHM6dCxoYW5kbGVyczp7dXBkYXRlSGVpZ2h0Olosc3RhcnRQYXVzZTplZSxlbmRQYXVzZTpzLGNhbGN1bGF0ZU9mZnNldDphfX19O2ltcG9ydCphcyBsIGZyb21cInJlYWN0XCI7aW1wb3J0e3N0eWxlZCBhcyBCLGtleWZyYW1lcyBhcyB6fWZyb21cImdvb2JlclwiO2ltcG9ydCphcyB5IGZyb21cInJlYWN0XCI7aW1wb3J0e3N0eWxlZCBhcyBDLGtleWZyYW1lcyBhcyBtZX1mcm9tXCJnb29iZXJcIjtpbXBvcnR7c3R5bGVkIGFzIHRlLGtleWZyYW1lcyBhcyBrfWZyb21cImdvb2JlclwiO3ZhciBvZT1rYFxuZnJvbSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCkgcm90YXRlKDQ1ZGVnKTtcblx0b3BhY2l0eTogMDtcbn1cbnRvIHtcbiB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSg0NWRlZyk7XG4gIG9wYWNpdHk6IDE7XG59YCxyZT1rYFxuZnJvbSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIG9wYWNpdHk6IDA7XG59XG50byB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7XG59YCxzZT1rYFxuZnJvbSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCkgcm90YXRlKDkwZGVnKTtcblx0b3BhY2l0eTogMDtcbn1cbnRvIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoOTBkZWcpO1xuXHRvcGFjaXR5OiAxO1xufWAsXz10ZShcImRpdlwiKWBcbiAgd2lkdGg6IDIwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogJHtlPT5lLnByaW1hcnl8fFwiI2ZmNGI0YlwifTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgYW5pbWF0aW9uOiAke29lfSAwLjNzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KVxuICAgIGZvcndhcmRzO1xuICBhbmltYXRpb24tZGVsYXk6IDEwMG1zO1xuXG4gICY6YWZ0ZXIsXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBhbmltYXRpb246ICR7cmV9IDAuMTVzIGVhc2Utb3V0IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMTUwbXM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6ICR7ZT0+ZS5zZWNvbmRhcnl8fFwiI2ZmZlwifTtcbiAgICBib3R0b206IDlweDtcbiAgICBsZWZ0OiA0cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDEycHg7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgYW5pbWF0aW9uOiAke3NlfSAwLjE1cyBlYXNlLW91dCBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tZGVsYXk6IDE4MG1zO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxuYDtpbXBvcnR7c3R5bGVkIGFzIGFlLGtleWZyYW1lcyBhcyBpZX1mcm9tXCJnb29iZXJcIjt2YXIgbmU9aWVgXG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG5gLFY9YWUoXCJkaXZcIilgXG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMnB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3JkZXItY29sb3I6ICR7ZT0+ZS5zZWNvbmRhcnl8fFwiI2UwZTBlMFwifTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAke2U9PmUucHJpbWFyeXx8XCIjNjE2MTYxXCJ9O1xuICBhbmltYXRpb246ICR7bmV9IDFzIGxpbmVhciBpbmZpbml0ZTtcbmA7aW1wb3J0e3N0eWxlZCBhcyBjZSxrZXlmcmFtZXMgYXMgTn1mcm9tXCJnb29iZXJcIjt2YXIgcGU9TmBcbmZyb20ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDApIHJvdGF0ZSg0NWRlZyk7XG5cdG9wYWNpdHk6IDA7XG59XG50byB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDQ1ZGVnKTtcblx0b3BhY2l0eTogMTtcbn1gLGRlPU5gXG4wJSB7XG5cdGhlaWdodDogMDtcblx0d2lkdGg6IDA7XG5cdG9wYWNpdHk6IDA7XG59XG40MCUge1xuICBoZWlnaHQ6IDA7XG5cdHdpZHRoOiA2cHg7XG5cdG9wYWNpdHk6IDE7XG59XG4xMDAlIHtcbiAgb3BhY2l0eTogMTtcbiAgaGVpZ2h0OiAxMHB4O1xufWAsdz1jZShcImRpdlwiKWBcbiAgd2lkdGg6IDIwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogJHtlPT5lLnByaW1hcnl8fFwiIzYxZDM0NVwifTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgYW5pbWF0aW9uOiAke3BlfSAwLjNzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KVxuICAgIGZvcndhcmRzO1xuICBhbmltYXRpb24tZGVsYXk6IDEwMG1zO1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGFuaW1hdGlvbjogJHtkZX0gMC4ycyBlYXNlLW91dCBmb3J3YXJkcztcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMjAwbXM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR7ZT0+ZS5zZWNvbmRhcnl8fFwiI2ZmZlwifTtcbiAgICBib3R0b206IDZweDtcbiAgICBsZWZ0OiA2cHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiA2cHg7XG4gIH1cbmA7dmFyIHVlPUMoXCJkaXZcIilgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbmAsbGU9QyhcImRpdlwiKWBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLXdpZHRoOiAyMHB4O1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuYCxUZT1tZWBcbmZyb20ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gIG9wYWNpdHk6IDAuNDtcbn1cbnRvIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTtcbn1gLGZlPUMoXCJkaXZcIilgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICBvcGFjaXR5OiAwLjQ7XG4gIG1pbi13aWR0aDogMjBweDtcbiAgYW5pbWF0aW9uOiAke1RlfSAwLjNzIDAuMTJzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KVxuICAgIGZvcndhcmRzO1xuYCxNPSh7dG9hc3Q6ZX0pPT57bGV0e2ljb246dCx0eXBlOm8saWNvblRoZW1lOnN9PWU7cmV0dXJuIHQhPT12b2lkIDA/dHlwZW9mIHQ9PVwic3RyaW5nXCI/eS5jcmVhdGVFbGVtZW50KGZlLG51bGwsdCk6dDpvPT09XCJibGFua1wiP251bGw6eS5jcmVhdGVFbGVtZW50KGxlLG51bGwseS5jcmVhdGVFbGVtZW50KFYsey4uLnN9KSxvIT09XCJsb2FkaW5nXCImJnkuY3JlYXRlRWxlbWVudCh1ZSxudWxsLG89PT1cImVycm9yXCI/eS5jcmVhdGVFbGVtZW50KF8sey4uLnN9KTp5LmNyZWF0ZUVsZW1lbnQodyx7Li4uc30pKSl9O3ZhciB5ZT1lPT5gXG4wJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCR7ZSotMjAwfSUsMCkgc2NhbGUoLjYpOyBvcGFjaXR5Oi41O31cbjEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlKDEpOyBvcGFjaXR5OjE7fVxuYCxnZT1lPT5gXG4wJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsLTFweCkgc2NhbGUoMSk7IG9wYWNpdHk6MTt9XG4xMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsJHtlKi0xNTB9JSwtMXB4KSBzY2FsZSguNik7IG9wYWNpdHk6MDt9XG5gLGhlPVwiMCV7b3BhY2l0eTowO30gMTAwJXtvcGFjaXR5OjE7fVwiLHhlPVwiMCV7b3BhY2l0eToxO30gMTAwJXtvcGFjaXR5OjA7fVwiLGJlPUIoXCJkaXZcIilgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMzYzNjM2O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIG1heC13aWR0aDogMzUwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuYCxTZT1CKFwiZGl2XCIpYFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiA0cHggMTBweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG5gLEFlPShlLHQpPT57bGV0IHM9ZS5pbmNsdWRlcyhcInRvcFwiKT8xOi0xLFthLHJdPWIoKT9baGUseGVdOlt5ZShzKSxnZShzKV07cmV0dXJue2FuaW1hdGlvbjp0P2Ake3ooYSl9IDAuMzVzIGN1YmljLWJlemllciguMjEsMS4wMiwuNzMsMSkgZm9yd2FyZHNgOmAke3oocil9IDAuNHMgZm9yd2FyZHMgY3ViaWMtYmV6aWVyKC4wNiwuNzEsLjU1LDEpYH19LEY9bC5tZW1vKCh7dG9hc3Q6ZSxwb3NpdGlvbjp0LHN0eWxlOm8sY2hpbGRyZW46c30pPT57bGV0IGE9ZS5oZWlnaHQ/QWUoZS5wb3NpdGlvbnx8dHx8XCJ0b3AtY2VudGVyXCIsZS52aXNpYmxlKTp7b3BhY2l0eTowfSxyPWwuY3JlYXRlRWxlbWVudChNLHt0b2FzdDplfSksYz1sLmNyZWF0ZUVsZW1lbnQoU2Usey4uLmUuYXJpYVByb3BzfSxUKGUubWVzc2FnZSxlKSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudChiZSx7Y2xhc3NOYW1lOmUuY2xhc3NOYW1lLHN0eWxlOnsuLi5hLC4uLm8sLi4uZS5zdHlsZX19LHR5cGVvZiBzPT1cImZ1bmN0aW9uXCI/cyh7aWNvbjpyLG1lc3NhZ2U6Y30pOmwuY3JlYXRlRWxlbWVudChsLkZyYWdtZW50LG51bGwscixjKSl9KTtpbXBvcnR7Y3NzIGFzIFBlLHNldHVwIGFzIE9lfWZyb21cImdvb2JlclwiO2ltcG9ydCphcyBmIGZyb21cInJlYWN0XCI7T2UoZi5jcmVhdGVFbGVtZW50KTt2YXIgRWU9KHtpZDplLGNsYXNzTmFtZTp0LHN0eWxlOm8sb25IZWlnaHRVcGRhdGU6cyxjaGlsZHJlbjphfSk9PntsZXQgcj1mLnVzZUNhbGxiYWNrKGM9PntpZihjKXtsZXQgaT0oKT0+e2xldCBkPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O3MoZSxkKX07aSgpLG5ldyBNdXRhdGlvbk9ic2VydmVyKGkpLm9ic2VydmUoYyx7c3VidHJlZTohMCxjaGlsZExpc3Q6ITAsY2hhcmFjdGVyRGF0YTohMH0pfX0sW2Usc10pO3JldHVybiBmLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7cmVmOnIsY2xhc3NOYW1lOnQsc3R5bGU6b30sYSl9LFJlPShlLHQpPT57bGV0IG89ZS5pbmNsdWRlcyhcInRvcFwiKSxzPW8/e3RvcDowfTp7Ym90dG9tOjB9LGE9ZS5pbmNsdWRlcyhcImNlbnRlclwiKT97anVzdGlmeUNvbnRlbnQ6XCJjZW50ZXJcIn06ZS5pbmNsdWRlcyhcInJpZ2h0XCIpP3tqdXN0aWZ5Q29udGVudDpcImZsZXgtZW5kXCJ9Ont9O3JldHVybntsZWZ0OjAscmlnaHQ6MCxkaXNwbGF5OlwiZmxleFwiLHBvc2l0aW9uOlwiYWJzb2x1dGVcIix0cmFuc2l0aW9uOmIoKT92b2lkIDA6XCJhbGwgMjMwbXMgY3ViaWMtYmV6aWVyKC4yMSwxLjAyLC43MywxKVwiLHRyYW5zZm9ybTpgdHJhbnNsYXRlWSgke3QqKG8/MTotMSl9cHgpYCwuLi5zLC4uLmF9fSx2ZT1QZWBcbiAgei1pbmRleDogOTk5OTtcbiAgPiAqIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuYCxPPTE2LEllPSh7cmV2ZXJzZU9yZGVyOmUscG9zaXRpb246dD1cInRvcC1jZW50ZXJcIix0b2FzdE9wdGlvbnM6byxndXR0ZXI6cyxjaGlsZHJlbjphLGNvbnRhaW5lclN0eWxlOnIsY29udGFpbmVyQ2xhc3NOYW1lOmN9KT0+e2xldHt0b2FzdHM6aSxoYW5kbGVyczpkfT1EKG8pO3JldHVybiBmLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7c3R5bGU6e3Bvc2l0aW9uOlwiZml4ZWRcIix6SW5kZXg6OTk5OSx0b3A6TyxsZWZ0Ok8scmlnaHQ6Tyxib3R0b206Tyxwb2ludGVyRXZlbnRzOlwibm9uZVwiLC4uLnJ9LGNsYXNzTmFtZTpjLG9uTW91c2VFbnRlcjpkLnN0YXJ0UGF1c2Usb25Nb3VzZUxlYXZlOmQuZW5kUGF1c2V9LGkubWFwKHA9PntsZXQgZz1wLnBvc2l0aW9ufHx0LEU9ZC5jYWxjdWxhdGVPZmZzZXQocCx7cmV2ZXJzZU9yZGVyOmUsZ3V0dGVyOnMsZGVmYXVsdFBvc2l0aW9uOnR9KSx4PVJlKGcsRSk7cmV0dXJuIGYuY3JlYXRlRWxlbWVudChFZSx7aWQ6cC5pZCxrZXk6cC5pZCxvbkhlaWdodFVwZGF0ZTpkLnVwZGF0ZUhlaWdodCxjbGFzc05hbWU6cC52aXNpYmxlP3ZlOlwiXCIsc3R5bGU6eH0scC50eXBlPT09XCJjdXN0b21cIj9UKHAubWVzc2FnZSxwKTphP2EocCk6Zi5jcmVhdGVFbGVtZW50KEYse3RvYXN0OnAscG9zaXRpb246Z30pKX0pKX07dmFyIF90PW47ZXhwb3J0e3cgYXMgQ2hlY2ttYXJrSWNvbixfIGFzIEVycm9ySWNvbixWIGFzIExvYWRlckljb24sRiBhcyBUb2FzdEJhcixNIGFzIFRvYXN0SWNvbixJZSBhcyBUb2FzdGVyLF90IGFzIGRlZmF1bHQsVCBhcyByZXNvbHZlVmFsdWUsbiBhcyB0b2FzdCxEIGFzIHVzZVRvYXN0ZXIsSSBhcyB1c2VUb2FzdGVyU3RvcmV9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/react-hot-toast/dist/index.mjs\n"); - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/************************************************************************/ -/******/ -/******/ // startup -/******/ // Load entry module and return exports -/******/ // This entry module can't be inlined because the eval-source-map devtool is used. -/******/ var __webpack_exports__ = __webpack_require__("./src/index.js"); -/******/ -/******/ })() -; \ No newline at end of file +/*! For license information please see main.js.LICENSE.txt */ +(()=>{var e={282:function(e){"undefined"!=typeof self&&self,e.exports=function(){"use strict";var e={316:function(e,t,n){n.d(t,{A:function(){return o}});var r=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,o=function(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}((function(e){return r.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91}))},20:function(e,t,n){var r=n(609),o=Symbol.for("react.element"),i=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,i={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)a.call(t,r)&&!l.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===i[r]&&(i[r]=t[r]);return{$$typeof:o,type:e,key:c,ref:u,props:i,_owner:s.current}}t.Fragment=i,t.jsx=c,t.jsxs=c},848:function(e,t,n){e.exports=n(20)},609:function(e){e.exports=window.React}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};n.r(r),n.d(r,{Alert:function(){return dh},Avatar:function(){return Uo},Badge:function(){return Fo},Breadcrumb:function(){return vE},Button:function(){return ue},ButtonGroup:function(){return ui},Checkbox:function(){return Pe},Container:function(){return uh},DatePicker:function(){return TN},Dialog:function(){return UE},Drawer:function(){return wS},DropdownMenu:function(){return $_},EditorInput:function(){return Sx},Input:function(){return Xo},Label:function(){return ei},Loader:function(){return ri},Menu:function(){return Yx},Pagination:function(){return $S},ProgressBar:function(){return oi},ProgressSteps:function(){return Ax},RadioButton:function(){return Ao},SearchBox:function(){return C_},Select:function(){return Yf},Sidebar:function(){return oE},Skeleton:function(){return Fx},Switch:function(){return ye},Tabs:function(){return Sf},TextArea:function(){return Vo},Title:function(){return ti},Toaster:function(){return Tm},Tooltip:function(){return xo},Topbar:function(){return ZE},toast:function(){return lm}});var o={};n.r(o),n.d(o,{Button:function(){return HS},CaptionLabel:function(){return YS},Chevron:function(){return qS},Day:function(){return KS},DayButton:function(){return GS},Dropdown:function(){return XS},DropdownNav:function(){return ZS},Footer:function(){return JS},Month:function(){return QS},MonthCaption:function(){return ek},MonthGrid:function(){return tk},Months:function(){return nk},MonthsDropdown:function(){return ik},Nav:function(){return ak},NextMonthButton:function(){return sk},Option:function(){return lk},PreviousMonthButton:function(){return ck},Root:function(){return uk},Select:function(){return dk},Week:function(){return fk},WeekNumber:function(){return pk},WeekNumberHeader:function(){return gk},Weekday:function(){return mk},Weekdays:function(){return hk},Weeks:function(){return yk},YearsDropdown:function(){return vk}});var i={};n.r(i),n.d(i,{formatCaption:function(){return OC},formatDay:function(){return RC},formatMonthCaption:function(){return MC},formatMonthDropdown:function(){return DC},formatWeekNumber:function(){return AC},formatWeekNumberHeader:function(){return jC},formatWeekdayName:function(){return IC},formatYearCaption:function(){return LC},formatYearDropdown:function(){return FC}});var a={};n.r(a),n.d(a,{labelCaption:function(){return BC},labelDay:function(){return UC},labelDayButton:function(){return VC},labelGrid:function(){return zC},labelGridcell:function(){return WC},labelMonthDropdown:function(){return HC},labelNav:function(){return $C},labelNext:function(){return YC},labelPrevious:function(){return qC},labelWeekNumber:function(){return GC},labelWeekNumberHeader:function(){return XC},labelWeekday:function(){return KC},labelYearDropdown:function(){return ZC}});var s=n(609),l=n.n(s);const c=e=>{const t=m(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{const n=e.split("-");return""===n[0]&&1!==n.length&&n.shift(),u(n,t)||f(e)},getConflictingClassGroupIds:(e,t)=>{const o=n[e]||[];return t&&r[e]?[...o,...r[e]]:o}}},u=(e,t)=>{if(0===e.length)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),o=r?u(e.slice(1),r):void 0;if(o)return o;if(0===t.validators.length)return;const i=e.join("-");return t.validators.find((({validator:e})=>e(i)))?.classGroupId},d=/^\[(.+)\]$/,f=e=>{if(d.test(e)){const t=d.exec(e)[1],n=t?.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},m=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return y(Object.entries(e.classGroups),n).forEach((([e,n])=>{h(n,r,e,t)})),r},h=(e,t,n,r)=>{e.forEach((e=>{if("string"!=typeof e){if("function"==typeof e)return g(e)?void h(e(r),t,n,r):void t.validators.push({validator:e,classGroupId:n});Object.entries(e).forEach((([e,o])=>{h(o,p(t,e),n,r)}))}else(""===e?t:p(t,e)).classGroupId=n}))},p=(e,t)=>{let n=e;return t.split("-").forEach((e=>{n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)})),n},g=e=>e.isThemeGetter,y=(e,t)=>t?e.map((([e,n])=>[e,n.map((e=>"string"==typeof e?t+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map((([e,n])=>[t+e,n]))):e))])):e,v=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const o=(o,i)=>{n.set(o,i),t++,t>e&&(t=0,r=n,n=new Map)};return{get(e){let t=n.get(e);return void 0!==t?t:void 0!==(t=r.get(e))?(o(e,t),t):void 0},set(e,t){n.has(e)?n.set(e,t):o(e,t)}}},b=e=>{const{separator:t,experimentalParseClassName:n}=e,r=1===t.length,o=t[0],i=t.length,a=e=>{const n=[];let a,s=0,l=0;for(let c=0;cl?a-l:void 0}};return n?e=>n({className:e,parseClassName:a}):a},w=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach((e=>{"["===e[0]?(t.push(...n.sort(),e),n=[]):n.push(e)})),t.push(...n.sort()),t},x=/\s+/;function E(){let e,t,n=0,r="";for(;n{if("string"==typeof e)return e;let t,n="";for(let r=0;r{const t=t=>t[e]||[];return t.isThemeGetter=!0,t},k=/^\[(?:([a-z-]+):)?(.+)\]$/i,C=/^\d+\/\d+$/,N=new Set(["px","full","screen"]),P=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,T=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,O=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,M=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,R=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,D=e=>j(e)||N.has(e)||C.test(e),A=e=>K(e,"length",G),j=e=>Boolean(e)&&!Number.isNaN(Number(e)),I=e=>K(e,"number",j),F=e=>Boolean(e)&&Number.isInteger(Number(e)),L=e=>e.endsWith("%")&&j(e.slice(0,-1)),z=e=>k.test(e),B=e=>P.test(e),W=new Set(["length","size","percentage"]),V=e=>K(e,W,X),U=e=>K(e,"position",X),$=new Set(["image","url"]),H=e=>K(e,$,J),Y=e=>K(e,"",Z),q=()=>!0,K=(e,t,n)=>{const r=k.exec(e);return!!r&&(r[1]?"string"==typeof t?r[1]===t:t.has(r[1]):n(r[2]))},G=e=>T.test(e)&&!O.test(e),X=()=>!1,Z=e=>M.test(e),J=e=>R.test(e),Q=(Symbol.toStringTag,()=>{const e=S("colors"),t=S("spacing"),n=S("blur"),r=S("brightness"),o=S("borderColor"),i=S("borderRadius"),a=S("borderSpacing"),s=S("borderWidth"),l=S("contrast"),c=S("grayscale"),u=S("hueRotate"),d=S("invert"),f=S("gap"),m=S("gradientColorStops"),h=S("gradientColorStopPositions"),p=S("inset"),g=S("margin"),y=S("opacity"),v=S("padding"),b=S("saturate"),w=S("scale"),x=S("sepia"),E=S("skew"),_=S("space"),k=S("translate"),C=()=>["auto",z,t],N=()=>[z,t],P=()=>["",D,A],T=()=>["auto",j,z],O=()=>["","0",z],M=()=>[j,z];return{cacheSize:500,separator:":",theme:{colors:[q],spacing:[D,A],blur:["none","",B,z],brightness:M(),borderColor:[e],borderRadius:["none","","full",B,z],borderSpacing:N(),borderWidth:P(),contrast:M(),grayscale:O(),hueRotate:M(),invert:O(),gap:N(),gradientColorStops:[e],gradientColorStopPositions:[L,A],inset:C(),margin:C(),opacity:M(),padding:N(),saturate:M(),scale:M(),sepia:O(),skew:M(),space:N(),translate:N()},classGroups:{aspect:[{aspect:["auto","square","video",z]}],container:["container"],columns:[{columns:[B]}],"break-after":[{"break-after":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-before":[{"break-before":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top",z]}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}],"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}],"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}],overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{"overscroll-y":["auto","contain","none"]}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[p]}],"inset-x":[{"inset-x":[p]}],"inset-y":[{"inset-y":[p]}],start:[{start:[p]}],end:[{end:[p]}],top:[{top:[p]}],right:[{right:[p]}],bottom:[{bottom:[p]}],left:[{left:[p]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",F,z]}],basis:[{basis:C()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",z]}],grow:[{grow:O()}],shrink:[{shrink:O()}],order:[{order:["first","last","none",F,z]}],"grid-cols":[{"grid-cols":[q]}],"col-start-end":[{col:["auto",{span:["full",F,z]},z]}],"col-start":[{"col-start":T()}],"col-end":[{"col-end":T()}],"grid-rows":[{"grid-rows":[q]}],"row-start-end":[{row:["auto",{span:[F,z]},z]}],"row-start":[{"row-start":T()}],"row-end":[{"row-end":T()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",z]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",z]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:["normal","start","end","center","between","around","evenly","stretch"]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal","start","end","center","between","around","evenly","stretch","baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":["start","end","center","between","around","evenly","stretch","baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[_]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[_]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",z,t]}],"min-w":[{"min-w":[z,t,"min","max","fit"]}],"max-w":[{"max-w":[z,t,"none","full","min","max","fit","prose",{screen:[B]},B]}],h:[{h:[z,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[z,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[z,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[z,t,"auto","min","max","fit"]}],"font-size":[{text:["base",B,A]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",I]}],"font-family":[{font:[q]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",z]}],"line-clamp":[{"line-clamp":["none",j,I]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",D,z]}],"list-image":[{"list-image":["none",z]}],"list-style-type":[{list:["none","disc","decimal",z]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[y]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[y]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:["solid","dashed","dotted","double","none","wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",D,A]}],"underline-offset":[{"underline-offset":["auto",D,z]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:N()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",z]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",z]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[y]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top",U]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",V]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},H]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[h]}],"gradient-via-pos":[{via:[h]}],"gradient-to-pos":[{to:[h]}],"gradient-from":[{from:[m]}],"gradient-via":[{via:[m]}],"gradient-to":[{to:[m]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[y]}],"border-style":[{border:["solid","dashed","dotted","double","none","hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[y]}],"divide-style":[{divide:["solid","dashed","dotted","double","none"]}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["","solid","dashed","dotted","double","none"]}],"outline-offset":[{"outline-offset":[D,z]}],"outline-w":[{outline:[D,A]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:P()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[y]}],"ring-offset-w":[{"ring-offset":[D,A]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",B,Y]}],"shadow-color":[{shadow:[q]}],opacity:[{opacity:[y]}],"mix-blend":[{"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",B,z]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[b]}],sepia:[{sepia:[x]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[y]}],"backdrop-saturate":[{"backdrop-saturate":[b]}],"backdrop-sepia":[{"backdrop-sepia":[x]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",z]}],duration:[{duration:M()}],ease:[{ease:["linear","in","out","in-out",z]}],delay:[{delay:M()}],animate:[{animate:["none","spin","ping","pulse","bounce",z]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[w]}],"scale-x":[{"scale-x":[w]}],"scale-y":[{"scale-y":[w]}],rotate:[{rotate:[F,z]}],"translate-x":[{"translate-x":[k]}],"translate-y":[{"translate-y":[k]}],"skew-x":[{"skew-x":[E]}],"skew-y":[{"skew-y":[E]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",z]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",z]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":N()}],"scroll-mx":[{"scroll-mx":N()}],"scroll-my":[{"scroll-my":N()}],"scroll-ms":[{"scroll-ms":N()}],"scroll-me":[{"scroll-me":N()}],"scroll-mt":[{"scroll-mt":N()}],"scroll-mr":[{"scroll-mr":N()}],"scroll-mb":[{"scroll-mb":N()}],"scroll-ml":[{"scroll-ml":N()}],"scroll-p":[{"scroll-p":N()}],"scroll-px":[{"scroll-px":N()}],"scroll-py":[{"scroll-py":N()}],"scroll-ps":[{"scroll-ps":N()}],"scroll-pe":[{"scroll-pe":N()}],"scroll-pt":[{"scroll-pt":N()}],"scroll-pr":[{"scroll-pr":N()}],"scroll-pb":[{"scroll-pb":N()}],"scroll-pl":[{"scroll-pl":N()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",z]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[D,A,I]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}}),ee=function(e,...t){let n,r,o,i=function(s){const l=t.reduce(((e,t)=>t(e)),e());return n=(e=>({cache:v(e.cacheSize),parseClassName:b(e),...c(e)}))(l),r=n.cache.get,o=n.cache.set,i=a,a(s)};function a(e){const t=r(e);if(t)return t;const i=((e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,i=[],a=e.trim().split(x);let s="";for(let e=a.length-1;e>=0;e-=1){const t=a[e],{modifiers:l,hasImportantModifier:c,baseClassName:u,maybePostfixModifierPosition:d}=n(t);let f=Boolean(d),m=r(f?u.substring(0,d):u);if(!m){if(!f){s=t+(s.length>0?" "+s:s);continue}if(m=r(u),!m){s=t+(s.length>0?" "+s:s);continue}f=!1}const h=w(l).join(":"),p=c?h+"!":h,g=p+m;if(i.includes(g))continue;i.push(g);const y=o(m,f);for(let e=0;e0?" "+s:s)}return s})(e,n);return o(e,i),i}return function(){return i(E.apply(null,arguments))}}(Q);function te(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;tsvg]:size-4",sm:"p-2 rounded [&>svg]:size-4 gap-0.5",md:"p-2.5 rounded-md text-sm [&>svg]:size-5 gap-1",lg:"p-3 rounded-lg text-base [&>svg]:size-6 gap-1"})||void 0===o?void 0:o[u],R=null,D="";E&&(D="flex items-center justify-center","left"===S?i=E:R=E);var A=h;return l().createElement(A,le({ref:t,type:f,className:re(D,"outline outline-1 border-none cursor-pointer transition-colors duration-300 ease-in-out text-xs font-semibold focus:ring-2 focus:ring-toggle-on focus:ring-offset-2 disabled:text-text-disabled",M,T,O,P,p),disabled:v},N),i,l().createElement("span",{className:"px-1"},g),R)})),ue=ce;let de=(e=21)=>{let t="",n=crypto.getRandomValues(new Uint8Array(e));for(;e--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&n[e]];return t};var fe=["id","onChange","value","defaultValue","size","disabled","label","name","className"];function me(){return me=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.filter(((e,t,n)=>Boolean(e)&&n.indexOf(e)===t)).join(" ");var be={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const we=(0,s.forwardRef)((({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:o="",children:i,iconNode:a,...l},c)=>(0,s.createElement)("svg",{ref:c,...be,width:t,height:t,stroke:e,strokeWidth:r?24*Number(n)/Number(t):n,className:ve("lucide",o),...l},[...a.map((([e,t])=>(0,s.createElement)(e,t))),...Array.isArray(i)?i:[i]]))),xe=(e,t)=>{const n=(0,s.forwardRef)((({className:n,...r},o)=>{return(0,s.createElement)(we,{ref:o,iconNode:t,className:ve(`lucide-${i=e,i.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,n),...r});var i}));return n.displayName=`${e}`,n},Ee=xe("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]),_e=xe("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);var Se=["id","label","defaultChecked","checked","onChange","value","indeterminate","disabled","size"];function ke(){return ke=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:size-4",sm:"py-1 px-1.5 text-base gap-1 [&>svg]:size-4",md:"py-2 px-2.5 text-base gap-1 [&>svg]:size-5",lg:"py-2.5 px-3 text-base gap-1 [&>svg]:size-6"};function Ae(e){return Fe(e)?(e.nodeName||"").toLowerCase():"#document"}function je(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function Ie(e){var t;return null==(t=(Fe(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function Fe(e){return e instanceof Node||e instanceof je(e).Node}function Le(e){return e instanceof Element||e instanceof je(e).Element}function ze(e){return e instanceof HTMLElement||e instanceof je(e).HTMLElement}function Be(e){return"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof je(e).ShadowRoot)}function We(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=qe(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function Ve(e){return["table","td","th"].includes(Ae(e))}function Ue(e){return[":popover-open",":modal"].some((t=>{try{return e.matches(t)}catch(e){return!1}}))}function $e(e){const t=He(),n=Le(e)?qe(e):e;return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some((e=>(n.willChange||"").includes(e)))||["paint","layout","strict","content"].some((e=>(n.contain||"").includes(e)))}function He(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function Ye(e){return["html","body","#document"].includes(Ae(e))}function qe(e){return je(e).getComputedStyle(e)}function Ke(e){return Le(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ge(e){if("html"===Ae(e))return e;const t=e.assignedSlot||e.parentNode||Be(e)&&e.host||Ie(e);return Be(t)?t.host:t}function Xe(e){const t=Ge(e);return Ye(t)?e.ownerDocument?e.ownerDocument.body:e.body:ze(t)&&We(t)?t:Xe(t)}function Ze(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);const o=Xe(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=je(o);if(i){const e=Je(a);return t.concat(a,a.visualViewport||[],We(o)?o:[],e&&n?Ze(e):[])}return t.concat(o,Ze(o,[],n))}function Je(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Qe(e){let t=e.activeElement;for(;null!=(null==(n=t)||null==(n=n.shadowRoot)?void 0:n.activeElement);){var n;t=t.shadowRoot.activeElement}return t}function et(e,t){if(!e||!t)return!1;const n=null==t.getRootNode?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&Be(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function tt(){const e=navigator.userAgentData;return null!=e&&e.platform?e.platform:navigator.platform}function nt(){const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map((e=>{let{brand:t,version:n}=e;return t+"/"+n})).join(" "):navigator.userAgent}function rt(e){return!(0!==e.mozInputSource||!e.isTrusted)||(at()&&e.pointerType?"click"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType)}function ot(e){return!nt().includes("jsdom/")&&(!at()&&0===e.width&&0===e.height||at()&&1===e.width&&1===e.height&&0===e.pressure&&0===e.detail&&"mouse"===e.pointerType||e.width<1&&e.height<1&&0===e.pressure&&0===e.detail&&"touch"===e.pointerType)}function it(){return/apple/i.test(navigator.vendor)}function at(){const e=/android/i;return e.test(tt())||e.test(nt())}function st(){return tt().toLowerCase().startsWith("mac")&&!navigator.maxTouchPoints}function lt(e,t){const n=["mouse","pen"];return t||n.push("",void 0),n.includes(e)}function ct(e){return(null==e?void 0:e.ownerDocument)||document}function ut(e,t){if(null==t)return!1;if("composedPath"in e)return e.composedPath().includes(t);const n=e;return null!=n.target&&t.contains(n.target)}function dt(e){return"composedPath"in e?e.composedPath()[0]:e.target}function ft(e){return ze(e)&&e.matches("input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])")}function mt(e){e.preventDefault(),e.stopPropagation()}function ht(e){return!!e&&"combobox"===e.getAttribute("role")&&ft(e)}const pt=Math.min,gt=Math.max,yt=Math.round,vt=Math.floor,bt=e=>({x:e,y:e}),wt={left:"right",right:"left",bottom:"top",top:"bottom"},xt={start:"end",end:"start"};function Et(e,t,n){return gt(e,pt(t,n))}function _t(e,t){return"function"==typeof e?e(t):e}function St(e){return e.split("-")[0]}function kt(e){return e.split("-")[1]}function Ct(e){return"x"===e?"y":"x"}function Nt(e){return"y"===e?"height":"width"}function Pt(e){return["top","bottom"].includes(St(e))?"y":"x"}function Tt(e){return Ct(Pt(e))}function Ot(e){return e.replace(/start|end/g,(e=>xt[e]))}function Mt(e){return e.replace(/left|right|bottom|top/g,(e=>wt[e]))}function Rt(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function Dt(e){const{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}var At=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"].join(","),jt="undefined"==typeof Element,It=jt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ft=!jt&&Element.prototype.getRootNode?function(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}:function(e){return null==e?void 0:e.ownerDocument},Lt=function e(t,n){var r;void 0===n&&(n=!0);var o=null==t||null===(r=t.getAttribute)||void 0===r?void 0:r.call(t,"inert");return""===o||"true"===o||n&&t&&e(t.parentNode)},zt=function e(t,n,r){for(var o=[],i=Array.from(t);i.length;){var a=i.shift();if(!Lt(a,!1))if("SLOT"===a.tagName){var s=a.assignedElements(),l=e(s.length?s:a.children,!0,r);r.flatten?o.push.apply(o,l):o.push({scopeParent:a,candidates:l})}else{It.call(a,At)&&r.filter(a)&&(n||!t.includes(a))&&o.push(a);var c=a.shadowRoot||"function"==typeof r.getShadowRoot&&r.getShadowRoot(a),u=!Lt(c,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(a));if(c&&u){var d=e(!0===c?a.children:c.children,!0,r);r.flatten?o.push.apply(o,d):o.push({scopeParent:a,candidates:d})}else i.unshift.apply(i,a.children)}}return o},Bt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},Wt=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||function(e){var t,n=null==e||null===(t=e.getAttribute)||void 0===t?void 0:t.call(e,"contenteditable");return""===n||"true"===n}(e))&&!Bt(e)?0:e.tabIndex},Vt=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Ut=function(e){return"INPUT"===e.tagName},$t=function(e){var t=e.getBoundingClientRect(),n=t.width,r=t.height;return 0===n&&0===r},Ht=function(e,t){return!(function(e){return function(e){return Ut(e)&&"radio"===e.type}(e)&&!function(e){if(!e.name)return!0;var t,n=e.form||Ft(e),r=function(e){return n.querySelectorAll('input[type="radio"][name="'+e+'"]')};if("undefined"!=typeof window&&void 0!==window.CSS&&"function"==typeof window.CSS.escape)t=r(window.CSS.escape(e.name));else try{t=r(e.name)}catch(e){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",e.message),!1}var o=function(e,t){for(var n=0;nsummary:first-of-type")?e.parentElement:e;if(It.call(o,"details:not([open]) *"))return!0;if(n&&"full"!==n&&"legacy-full"!==n){if("non-zero-area"===n)return $t(e)}else{if("function"==typeof r){for(var i=e;e;){var a=e.parentElement,s=Ft(e);if(a&&!a.shadowRoot&&!0===r(a))return $t(e);e=e.assignedSlot?e.assignedSlot:a||s===e.ownerDocument?a:s.host}e=i}if(function(e){var t,n,r,o,i=e&&Ft(e),a=null===(t=i)||void 0===t?void 0:t.host,s=!1;if(i&&i!==e)for(s=!!(null!==(n=a)&&void 0!==n&&null!==(r=n.ownerDocument)&&void 0!==r&&r.contains(a)||null!=e&&null!==(o=e.ownerDocument)&&void 0!==o&&o.contains(e));!s&&a;){var l,c,u;s=!(null===(c=a=null===(l=i=Ft(a))||void 0===l?void 0:l.host)||void 0===c||null===(u=c.ownerDocument)||void 0===u||!u.contains(a))}return s}(e))return!e.getClientRects().length;if("legacy-full"!==n)return!0}return!1}(t,e)||function(e){return"DETAILS"===e.tagName&&Array.prototype.slice.apply(e.children).some((function(e){return"SUMMARY"===e.tagName}))}(t)||function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if("FIELDSET"===t.tagName&&t.disabled){for(var n=0;n=0)},qt=function e(t){var n=[],r=[];return t.forEach((function(t,o){var i=!!t.scopeParent,a=i?t.scopeParent:t,s=function(e,t){var n=Wt(e);return n<0&&t&&!Bt(e)?0:n}(a,i),l=i?e(t.candidates):a;0===s?i?n.push.apply(n,l):n.push(a):r.push({documentOrder:o,tabIndex:s,item:t,isScope:i,content:l})})),r.sort(Vt).reduce((function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e}),[]).concat(n)},Kt=function(e,t){var n;return n=(t=t||{}).getShadowRoot?zt([e],t.includeContainer,{filter:Ht.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:Yt}):function(e,t,n){if(Lt(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(At));return t&&It.call(e,At)&&r.unshift(e),r.filter(n)}(e,t.includeContainer,Ht.bind(null,t)),qt(n)},Gt=window.ReactDOM;function Xt(e,t,n){let{reference:r,floating:o}=e;const i=Pt(t),a=Tt(t),s=Nt(a),l=St(t),c="y"===i,u=r.x+r.width/2-o.width/2,d=r.y+r.height/2-o.height/2,f=r[s]/2-o[s]/2;let m;switch(l){case"top":m={x:u,y:r.y-o.height};break;case"bottom":m={x:u,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:d};break;case"left":m={x:r.x-o.width,y:d};break;default:m={x:r.x,y:r.y}}switch(kt(t)){case"start":m[a]-=f*(n&&c?-1:1);break;case"end":m[a]+=f*(n&&c?-1:1)}return m}async function Zt(e,t){var n;void 0===t&&(t={});const{x:r,y:o,platform:i,rects:a,elements:s,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:f=!1,padding:m=0}=_t(t,e),h=Rt(m),p=s[f?"floating"===d?"reference":"floating":d],g=Dt(await i.getClippingRect({element:null==(n=await(null==i.isElement?void 0:i.isElement(p)))||n?p:p.contextElement||await(null==i.getDocumentElement?void 0:i.getDocumentElement(s.floating)),boundary:c,rootBoundary:u,strategy:l})),y="floating"===d?{x:r,y:o,width:a.floating.width,height:a.floating.height}:a.reference,v=await(null==i.getOffsetParent?void 0:i.getOffsetParent(s.floating)),b=await(null==i.isElement?void 0:i.isElement(v))&&await(null==i.getScale?void 0:i.getScale(v))||{x:1,y:1},w=Dt(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:y,offsetParent:v,strategy:l}):y);return{top:(g.top-w.top+h.top)/b.y,bottom:(w.bottom-g.bottom+h.bottom)/b.y,left:(g.left-w.left+h.left)/b.x,right:(w.right-g.right+h.right)/b.x}}function Jt(e){const t=qe(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=ze(e),i=o?e.offsetWidth:n,a=o?e.offsetHeight:r,s=yt(n)!==i||yt(r)!==a;return s&&(n=i,r=a),{width:n,height:r,$:s}}function Qt(e){return Le(e)?e:e.contextElement}function en(e){const t=Qt(e);if(!ze(t))return bt(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:i}=Jt(t);let a=(i?yt(n.width):n.width)/r,s=(i?yt(n.height):n.height)/o;return a&&Number.isFinite(a)||(a=1),s&&Number.isFinite(s)||(s=1),{x:a,y:s}}const tn=bt(0);function nn(e){const t=je(e);return He()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:tn}function rn(e,t,n,r){void 0===t&&(t=!1),void 0===n&&(n=!1);const o=e.getBoundingClientRect(),i=Qt(e);let a=bt(1);t&&(r?Le(r)&&(a=en(r)):a=en(e));const s=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==je(e))&&t}(i,n,r)?nn(i):bt(0);let l=(o.left+s.x)/a.x,c=(o.top+s.y)/a.y,u=o.width/a.x,d=o.height/a.y;if(i){const e=je(i),t=r&&Le(r)?je(r):r;let n=e,o=Je(n);for(;o&&r&&t!==n;){const e=en(o),t=o.getBoundingClientRect(),r=qe(o),i=t.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,a=t.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;l*=e.x,c*=e.y,u*=e.x,d*=e.y,l+=i,c+=a,n=je(o),o=Je(n)}}return Dt({width:u,height:d,x:l,y:c})}function on(e){return rn(Ie(e)).left+Ke(e).scrollLeft}function an(e,t,n){let r;if("viewport"===t)r=function(e,t){const n=je(e),r=Ie(e),o=n.visualViewport;let i=r.clientWidth,a=r.clientHeight,s=0,l=0;if(o){i=o.width,a=o.height;const e=He();(!e||e&&"fixed"===t)&&(s=o.offsetLeft,l=o.offsetTop)}return{width:i,height:a,x:s,y:l}}(e,n);else if("document"===t)r=function(e){const t=Ie(e),n=Ke(e),r=e.ownerDocument.body,o=gt(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=gt(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let a=-n.scrollLeft+on(e);const s=-n.scrollTop;return"rtl"===qe(r).direction&&(a+=gt(t.clientWidth,r.clientWidth)-o),{width:o,height:i,x:a,y:s}}(Ie(e));else if(Le(t))r=function(e,t){const n=rn(e,!0,"fixed"===t),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=ze(e)?en(e):bt(1);return{width:e.clientWidth*i.x,height:e.clientHeight*i.y,x:o*i.x,y:r*i.y}}(t,n);else{const n=nn(e);r={...t,x:t.x-n.x,y:t.y-n.y}}return Dt(r)}function sn(e,t){const n=Ge(e);return!(n===t||!Le(n)||Ye(n))&&("fixed"===qe(n).position||sn(n,t))}function ln(e,t,n){const r=ze(t),o=Ie(t),i="fixed"===n,a=rn(e,!0,i,t);let s={scrollLeft:0,scrollTop:0};const l=bt(0);if(r||!r&&!i)if(("body"!==Ae(t)||We(o))&&(s=Ke(t)),r){const e=rn(t,!0,i,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else o&&(l.x=on(o));return{x:a.left+s.scrollLeft-l.x,y:a.top+s.scrollTop-l.y,width:a.width,height:a.height}}function cn(e){return"static"===qe(e).position}function un(e,t){return ze(e)&&"fixed"!==qe(e).position?t?t(e):e.offsetParent:null}function dn(e,t){const n=je(e);if(Ue(e))return n;if(!ze(e)){let t=Ge(e);for(;t&&!Ye(t);){if(Le(t)&&!cn(t))return t;t=Ge(t)}return n}let r=un(e,t);for(;r&&Ve(r)&&cn(r);)r=un(r,t);return r&&Ye(r)&&cn(r)&&!$e(r)?n:r||function(e){let t=Ge(e);for(;ze(t)&&!Ye(t);){if($e(t))return t;if(Ue(t))return null;t=Ge(t)}return null}(e)||n}const fn={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const i="fixed"===o,a=Ie(r),s=!!t&&Ue(t.floating);if(r===a||s&&i)return n;let l={scrollLeft:0,scrollTop:0},c=bt(1);const u=bt(0),d=ze(r);if((d||!d&&!i)&&(("body"!==Ae(r)||We(a))&&(l=Ke(r)),ze(r))){const e=rn(r);c=en(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+u.x,y:n.y*c.y-l.scrollTop*c.y+u.y}},getDocumentElement:Ie,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const i=[..."clippingAncestors"===n?Ue(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let r=Ze(e,[],!1).filter((e=>Le(e)&&"body"!==Ae(e))),o=null;const i="fixed"===qe(e).position;let a=i?Ge(e):e;for(;Le(a)&&!Ye(a);){const t=qe(a),n=$e(a);n||"fixed"!==t.position||(o=null),(i?!n&&!o:!n&&"static"===t.position&&o&&["absolute","fixed"].includes(o.position)||We(a)&&!n&&sn(e,a))?r=r.filter((e=>e!==a)):o=t,a=Ge(a)}return t.set(e,r),r}(t,this._c):[].concat(n),r],a=i[0],s=i.reduce(((e,n)=>{const r=an(t,n,o);return e.top=gt(r.top,e.top),e.right=pt(r.right,e.right),e.bottom=pt(r.bottom,e.bottom),e.left=gt(r.left,e.left),e}),an(t,a,o));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:dn,getElementRects:async function(e){const t=this.getOffsetParent||dn,n=this.getDimensions,r=await n(e.floating);return{reference:ln(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=Jt(e);return{width:t,height:n}},getScale:en,isElement:Le,isRTL:function(e){return"rtl"===qe(e).direction}};function mn(e,t,n,r){void 0===r&&(r={});const{ancestorScroll:o=!0,ancestorResize:i=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:l=!1}=r,c=Qt(e),u=o||i?[...c?Ze(c):[],...Ze(t)]:[];u.forEach((e=>{o&&e.addEventListener("scroll",n,{passive:!0}),i&&e.addEventListener("resize",n)}));const d=c&&s?function(e,t){let n,r=null;const o=Ie(e);function i(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return function a(s,l){void 0===s&&(s=!1),void 0===l&&(l=1),i();const{left:c,top:u,width:d,height:f}=e.getBoundingClientRect();if(s||t(),!d||!f)return;const m={rootMargin:-vt(u)+"px "+-vt(o.clientWidth-(c+d))+"px "+-vt(o.clientHeight-(u+f))+"px "+-vt(c)+"px",threshold:gt(0,pt(1,l))||1};let h=!0;function p(e){const t=e[0].intersectionRatio;if(t!==l){if(!h)return a();t?a(!1,t):n=setTimeout((()=>{a(!1,1e-7)}),1e3)}h=!1}try{r=new IntersectionObserver(p,{...m,root:o.ownerDocument})}catch(e){r=new IntersectionObserver(p,m)}r.observe(e)}(!0),i}(c,n):null;let f,m=-1,h=null;a&&(h=new ResizeObserver((e=>{let[r]=e;r&&r.target===c&&h&&(h.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame((()=>{var e;null==(e=h)||e.observe(t)}))),n()})),c&&!l&&h.observe(c),h.observe(t));let p=l?rn(e):null;return l&&function t(){const r=rn(e);!p||r.x===p.x&&r.y===p.y&&r.width===p.width&&r.height===p.height||n(),p=r,f=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach((e=>{o&&e.removeEventListener("scroll",n),i&&e.removeEventListener("resize",n)})),null==d||d(),null==(e=h)||e.disconnect(),h=null,l&&cancelAnimationFrame(f)}}const hn=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:o,y:i,placement:a,middlewareData:s}=t,l=await async function(e,t){const{placement:n,platform:r,elements:o}=e,i=await(null==r.isRTL?void 0:r.isRTL(o.floating)),a=St(n),s=kt(n),l="y"===Pt(n),c=["left","top"].includes(a)?-1:1,u=i&&l?-1:1,d=_t(t,e);let{mainAxis:f,crossAxis:m,alignmentAxis:h}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...d};return s&&"number"==typeof h&&(m="end"===s?-1*h:h),l?{x:m*u,y:f*c}:{x:f*c,y:m*u}}(t,e);return a===(null==(n=s.offset)?void 0:n.placement)&&null!=(r=s.arrow)&&r.alignmentOffset?{}:{x:o+l.x,y:i+l.y,data:{...l,placement:a}}}}},pn=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:i=!0,crossAxis:a=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=_t(e,t),c={x:n,y:r},u=await Zt(t,l),d=Pt(St(o)),f=Ct(d);let m=c[f],h=c[d];if(i){const e="y"===f?"bottom":"right";m=Et(m+u["y"===f?"top":"left"],m,m-u[e])}if(a){const e="y"===d?"bottom":"right";h=Et(h+u["y"===d?"top":"left"],h,h-u[e])}const p=s.fn({...t,[f]:m,[d]:h});return{...p,data:{x:p.x-n,y:p.y-r}}}}},gn=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:o,middlewareData:i,rects:a,initialPlacement:s,platform:l,elements:c}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:f,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:p=!0,...g}=_t(e,t);if(null!=(n=i.arrow)&&n.alignmentOffset)return{};const y=St(o),v=Pt(s),b=St(s)===s,w=await(null==l.isRTL?void 0:l.isRTL(c.floating)),x=f||(b||!p?[Mt(s)]:function(e){const t=Mt(e);return[Ot(e),t,Ot(t)]}(s)),E="none"!==h;!f&&E&&x.push(...function(e,t,n,r){const o=kt(e);let i=function(e,t,n){const r=["left","right"],o=["right","left"],i=["top","bottom"],a=["bottom","top"];switch(e){case"top":case"bottom":return n?t?o:r:t?r:o;case"left":case"right":return t?i:a;default:return[]}}(St(e),"start"===n,r);return o&&(i=i.map((e=>e+"-"+o)),t&&(i=i.concat(i.map(Ot)))),i}(s,p,h,w));const _=[s,...x],S=await Zt(t,g),k=[];let C=(null==(r=i.flip)?void 0:r.overflows)||[];if(u&&k.push(S[y]),d){const e=function(e,t,n){void 0===n&&(n=!1);const r=kt(e),o=Tt(e),i=Nt(o);let a="x"===o?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[i]>t.floating[i]&&(a=Mt(a)),[a,Mt(a)]}(o,a,w);k.push(S[e[0]],S[e[1]])}if(C=[...C,{placement:o,overflows:k}],!k.every((e=>e<=0))){var N,P;const e=((null==(N=i.flip)?void 0:N.index)||0)+1,t=_[e];if(t)return{data:{index:e,overflows:C},reset:{placement:t}};let n=null==(P=C.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:P.placement;if(!n)switch(m){case"bestFit":{var T;const e=null==(T=C.filter((e=>{if(E){const t=Pt(e.placement);return t===v||"y"===t}return!0})).map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:T[0];e&&(n=e);break}case"initialPlacement":n=s}if(o!==n)return{reset:{placement:n}}}return{}}}},yn=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:i}=t,{apply:a=()=>{},...s}=_t(e,t),l=await Zt(t,s),c=St(n),u=kt(n),d="y"===Pt(n),{width:f,height:m}=r.floating;let h,p;"top"===c||"bottom"===c?(h=c,p=u===(await(null==o.isRTL?void 0:o.isRTL(i.floating))?"start":"end")?"left":"right"):(p=c,h="end"===u?"top":"bottom");const g=m-l.top-l.bottom,y=f-l.left-l.right,v=pt(m-l[h],g),b=pt(f-l[p],y),w=!t.middlewareData.shift;let x=v,E=b;if(d?E=u||w?pt(b,y):y:x=u||w?pt(v,g):g,w&&!u){const e=gt(l.left,0),t=gt(l.right,0),n=gt(l.top,0),r=gt(l.bottom,0);d?E=f-2*(0!==e||0!==t?e+t:gt(l.left,l.right)):x=m-2*(0!==n||0!==r?n+r:gt(l.top,l.bottom))}await a({...t,availableWidth:E,availableHeight:x});const _=await o.getDimensions(i.floating);return f!==_.width||m!==_.height?{reset:{rects:!0}}:{}}}},vn=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:i,platform:a,elements:s,middlewareData:l}=t,{element:c,padding:u=0}=_t(e,t)||{};if(null==c)return{};const d=Rt(u),f={x:n,y:r},m=Tt(o),h=Nt(m),p=await a.getDimensions(c),g="y"===m,y=g?"top":"left",v=g?"bottom":"right",b=g?"clientHeight":"clientWidth",w=i.reference[h]+i.reference[m]-f[m]-i.floating[h],x=f[m]-i.reference[m],E=await(null==a.getOffsetParent?void 0:a.getOffsetParent(c));let _=E?E[b]:0;_&&await(null==a.isElement?void 0:a.isElement(E))||(_=s.floating[b]||i.floating[h]);const S=w/2-x/2,k=_/2-p[h]/2-1,C=pt(d[y],k),N=pt(d[v],k),P=C,T=_-p[h]-N,O=_/2-p[h]/2+S,M=Et(P,O,T),R=!l.arrow&&null!=kt(o)&&O!==M&&i.reference[h]/2-(O{t.current=e})),t}const Sn=e=>({name:"arrow",options:e,fn(t){const{element:n,padding:r}="function"==typeof e?e(t):e;return n&&(o=n,{}.hasOwnProperty.call(o,"current"))?null!=n.current?vn({element:n.current,padding:r}).fn(t):{}:n?vn({element:n,padding:r}).fn(t):{};var o}}),kn=(e,t)=>({...hn(e),options:[e,t]}),Cn=(e,t)=>({...pn(e),options:[e,t]}),Nn=(e,t)=>({...gn(e),options:[e,t]}),Pn=(e,t)=>({...yn(e),options:[e,t]}),Tn={...s},On=Tn.useInsertionEffect||(e=>e());function Mn(e){const t=s.useRef((()=>{}));return On((()=>{t.current=e})),s.useCallback((function(){for(var e=arguments.length,n=new Array(e),r=0;r=e.current.length}function Ln(e,t){return Bn(e,{disabledIndices:t})}function zn(e,t){return Bn(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function Bn(e,t){let{startingIndex:n=-1,decrement:r=!1,disabledIndices:o,amount:i=1}=void 0===t?{}:t;const a=e.current;let s=n;do{s+=r?-i:i}while(s>=0&&s<=a.length-1&&Un(a,s,o));return s}function Wn(e,t,n,r,o){if(-1===e)return-1;const i=n.indexOf(e),a=t[e];switch(o){case"tl":return i;case"tr":return a?i+a.width-1:i;case"bl":return a?i+(a.height-1)*r:i;case"br":return n.lastIndexOf(e)}}function Vn(e,t){return t.flatMap(((t,n)=>e.includes(t)?[n]:[]))}function Un(e,t,n){if(n)return n.includes(t);const r=e[t];return null==r||r.hasAttribute("disabled")||"true"===r.getAttribute("aria-disabled")}let $n=0;function Hn(e,t){void 0===t&&(t={});const{preventScroll:n=!1,cancelPrevious:r=!0,sync:o=!1}=t;r&&cancelAnimationFrame($n);const i=()=>null==e?void 0:e.focus({preventScroll:n});o?i():$n=requestAnimationFrame(i)}var Yn="undefined"!=typeof document?s.useLayoutEffect:s.useEffect;function qn(){return qn=Object.assign?Object.assign.bind():function(e){for(var t=1;t"floating-ui-"+Math.random().toString(36).slice(2,6)+Gn++,Zn=Tn.useId||function(){const[e,t]=s.useState((()=>Kn?Xn():void 0));return Yn((()=>{null==e&&t(Xn())}),[]),s.useEffect((()=>{Kn=!0}),[]),e},Jn=s.forwardRef((function(e,t){const{context:{placement:n,elements:{floating:r},middlewareData:{arrow:o,shift:i}},width:a=14,height:l=7,tipRadius:c=0,strokeWidth:u=0,staticOffset:d,stroke:f,d:m,style:{transform:h,...p}={},...g}=e,y=Zn(),[v,b]=s.useState(!1);if(Yn((()=>{r&&"rtl"===qe(r).direction&&b(!0)}),[r]),!r)return null;const[w,x]=n.split("-"),E="top"===w||"bottom"===w;let _=d;(E&&null!=i&&i.x||!E&&null!=i&&i.y)&&(_=null);const S=2*u,k=S/2,C=a/2*(c/-8+1),N=l/2*c/4,P=!!m,T=_&&"end"===x?"bottom":"top";let O=_&&"end"===x?"right":"left";_&&v&&(O="end"===x?"left":"right");const M=null!=(null==o?void 0:o.x)?_||o.x:"",R=null!=(null==o?void 0:o.y)?_||o.y:"",D=m||"M0,0 H"+a+" L"+(a-C)+","+(l-N)+" Q"+a/2+","+l+" "+C+","+(l-N)+" Z",A={top:P?"rotate(180deg)":"",left:P?"rotate(90deg)":"rotate(-90deg)",bottom:P?"":"rotate(180deg)",right:P?"rotate(-90deg)":"rotate(90deg)"}[w];return s.createElement("svg",qn({},g,{"aria-hidden":!0,ref:t,width:P?a:a+S,height:a,viewBox:"0 0 "+a+" "+(l>a?l:a),style:{position:"absolute",pointerEvents:"none",[O]:M,[T]:R,[w]:E||P?"100%":"calc(100% - "+S/2+"px)",transform:""+A+(null!=h?h:""),...p}}),S>0&&s.createElement("path",{clipPath:"url(#"+y+")",fill:"none",stroke:f,strokeWidth:S+(m?0:1),d:D}),s.createElement("path",{stroke:S&&!m?g.fill:"none",d:D}),s.createElement("clipPath",{id:y},s.createElement("rect",{x:-k,y:k*(P?-1:1),width:a+S,height:a})))})),Qn=s.createContext(null),er=s.createContext(null),tr=()=>{var e;return(null==(e=s.useContext(Qn))?void 0:e.id)||null},nr=()=>s.useContext(er);function rr(e){return"data-floating-ui-"+e}function or(e){const t=(0,s.useRef)(e);return Yn((()=>{t.current=e})),t}const ir=rr("safe-polygon");function ar(e,t,n){return n&&!lt(n)?0:"number"==typeof e?e:null==e?void 0:e[t]}function sr(e,t){let n=e.filter((e=>{var n;return e.parentId===t&&(null==(n=e.context)?void 0:n.open)})),r=n;for(;r.length;)r=e.filter((e=>{var t;return null==(t=r)?void 0:t.some((t=>{var n;return e.parentId===t.id&&(null==(n=e.context)?void 0:n.open)}))})),n=n.concat(r);return n}let lr=new WeakMap,cr=new WeakSet,ur={},dr=0;const fr=e=>e&&(e.host||fr(e.parentNode));function mr(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);const r=ct(e[0]).body;return function(e,t,n,r){const o="data-floating-ui-inert",i=r?"inert":n?"aria-hidden":null,a=((e,t)=>t.map((t=>{if(e.contains(t))return t;const n=fr(t);return e.contains(n)?n:null})).filter((e=>null!=e)))(t,e),s=new Set,l=new Set(a),c=[];ur[o]||(ur[o]=new WeakMap);const u=ur[o];return a.forEach((function e(t){t&&!s.has(t)&&(s.add(t),t.parentNode&&e(t.parentNode))})),function e(t){t&&!l.has(t)&&[].forEach.call(t.children,(t=>{if("script"!==Ae(t))if(s.has(t))e(t);else{const e=i?t.getAttribute(i):null,n=null!==e&&"false"!==e,r=(lr.get(t)||0)+1,a=(u.get(t)||0)+1;lr.set(t,r),u.set(t,a),c.push(t),1===r&&n&&cr.add(t),1===a&&t.setAttribute(o,""),!n&&i&&t.setAttribute(i,"true")}}))}(t),s.clear(),dr++,()=>{c.forEach((e=>{const t=(lr.get(e)||0)-1,n=(u.get(e)||0)-1;lr.set(e,t),u.set(e,n),t||(!cr.has(e)&&i&&e.removeAttribute(i),cr.delete(e)),n||e.removeAttribute(o)})),dr--,dr||(lr=new WeakMap,lr=new WeakMap,cr=new WeakSet,ur={})}}(e.concat(Array.from(r.querySelectorAll("[aria-live]"))),r,t,n)}const hr=()=>({getShadowRoot:!0,displayCheck:"function"==typeof ResizeObserver&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function pr(e,t){const n=Kt(e,hr());"prev"===t&&n.reverse();const r=n.indexOf(Qe(ct(e)));return n.slice(r+1)[0]}function gr(){return pr(document.body,"next")}function yr(){return pr(document.body,"prev")}function vr(e,t){const n=t||e.currentTarget,r=e.relatedTarget;return!r||!et(n,r)}function br(e){Kt(e,hr()).forEach((e=>{e.dataset.tabindex=e.getAttribute("tabindex")||"",e.setAttribute("tabindex","-1")}))}function wr(e){e.querySelectorAll("[data-tabindex]").forEach((e=>{const t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute("tabindex",t):e.removeAttribute("tabindex")}))}const xr={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"fixed",whiteSpace:"nowrap",width:"1px",top:0,left:0};function Er(e){"Tab"===e.key&&(e.target,clearTimeout(void 0))}const _r=s.forwardRef((function(e,t){const[n,r]=s.useState();Yn((()=>(it()&&r("button"),document.addEventListener("keydown",Er),()=>{document.removeEventListener("keydown",Er)})),[]);const o={ref:t,tabIndex:0,role:n,"aria-hidden":!n||void 0,[rr("focus-guard")]:"",style:xr};return s.createElement("span",qn({},e,o))})),Sr=s.createContext(null),kr=rr("portal");function Cr(e){const{children:t,id:n,root:r=null,preserveTabOrder:o=!0}=e,i=function(e){void 0===e&&(e={});const{id:t,root:n}=e,r=Zn(),o=Nr(),[i,a]=s.useState(null),l=s.useRef(null);return Yn((()=>()=>{null==i||i.remove(),queueMicrotask((()=>{l.current=null}))}),[i]),Yn((()=>{if(!r)return;if(l.current)return;const e=t?document.getElementById(t):null;if(!e)return;const n=document.createElement("div");n.id=r,n.setAttribute(kr,""),e.appendChild(n),l.current=n,a(n)}),[t,r]),Yn((()=>{if(!r)return;if(l.current)return;let e=n||(null==o?void 0:o.portalNode);e&&!Le(e)&&(e=e.current),e=e||document.body;let i=null;t&&(i=document.createElement("div"),i.id=t,e.appendChild(i));const s=document.createElement("div");s.id=r,s.setAttribute(kr,""),e=i||e,e.appendChild(s),l.current=s,a(s)}),[t,n,r,o]),i}({id:n,root:r}),[a,l]=s.useState(null),c=s.useRef(null),u=s.useRef(null),d=s.useRef(null),f=s.useRef(null),m=null==a?void 0:a.modal,h=null==a?void 0:a.open,p=!!a&&!a.modal&&a.open&&o&&!(!r&&!i);return s.useEffect((()=>{if(i&&o&&!m)return i.addEventListener("focusin",e,!0),i.addEventListener("focusout",e,!0),()=>{i.removeEventListener("focusin",e,!0),i.removeEventListener("focusout",e,!0)};function e(e){i&&vr(e)&&("focusin"===e.type?wr:br)(i)}}),[i,o,m]),s.useEffect((()=>{i&&(h||wr(i))}),[h,i]),s.createElement(Sr.Provider,{value:s.useMemo((()=>({preserveTabOrder:o,beforeOutsideRef:c,afterOutsideRef:u,beforeInsideRef:d,afterInsideRef:f,portalNode:i,setFocusManagerState:l})),[o,i])},p&&i&&s.createElement(_r,{"data-type":"outside",ref:c,onFocus:e=>{if(vr(e,i)){var t;null==(t=d.current)||t.focus()}else{const e=yr()||(null==a?void 0:a.refs.domReference.current);null==e||e.focus()}}}),p&&i&&s.createElement("span",{"aria-owns":i.id,style:xr}),i&&Gt.createPortal(t,i),p&&i&&s.createElement(_r,{"data-type":"outside",ref:u,onFocus:e=>{if(vr(e,i)){var t;null==(t=f.current)||t.focus()}else{const t=gr()||(null==a?void 0:a.refs.domReference.current);null==t||t.focus(),(null==a?void 0:a.closeOnFocusOut)&&(null==a||a.onOpenChange(!1,e.nativeEvent,"focus-out"))}}}))}const Nr=()=>s.useContext(Sr),Pr="data-floating-ui-focusable";function Tr(e){return e?e.hasAttribute(Pr)?e:e.querySelector("["+Pr+"]")||e:null}let Or=[];function Mr(e){Or=Or.filter((e=>e.isConnected));let t=e;if(t&&"body"!==Ae(t)){if(!function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==It.call(e,At)&&Ht(t,e)}(t,hr())){const e=Kt(t,hr())[0];e&&(t=e)}Or.push(t),Or.length>20&&(Or=Or.slice(-20))}}function Rr(){return Or.slice().reverse().find((e=>e.isConnected))}const Dr=s.forwardRef((function(e,t){return s.createElement("button",qn({},e,{type:"button",ref:t,tabIndex:-1,style:xr}))}));function Ar(e){const{context:t,children:n,disabled:r=!1,order:o=["content"],guards:i=!0,initialFocus:a=0,returnFocus:l=!0,restoreFocus:c=!1,modal:u=!0,visuallyHiddenDismiss:d=!1,closeOnFocusOut:f=!0}=e,{open:m,refs:h,nodeId:p,onOpenChange:g,events:y,dataRef:v,floatingId:b,elements:{domReference:w,floating:x}}=t,E="number"==typeof a&&a<0,_=ht(w)&&E,S=!("undefined"!=typeof HTMLElement&&"inert"in HTMLElement.prototype)||i,k=or(o),C=or(a),N=or(l),P=nr(),T=Nr(),O=s.useRef(null),M=s.useRef(null),R=s.useRef(!1),D=s.useRef(!1),A=s.useRef(-1),j=null!=T,I=Tr(x),F=Mn((function(e){return void 0===e&&(e=I),e?Kt(e,hr()):[]})),L=Mn((e=>{const t=F(e);return k.current.map((e=>w&&"reference"===e?w:I&&"floating"===e?I:t)).filter(Boolean).flat()}));function z(e){return!r&&d&&u?s.createElement(Dr,{ref:"start"===e?O:M,onClick:e=>g(!1,e.nativeEvent)},"string"==typeof d?d:"Dismiss"):null}s.useEffect((()=>{R.current=!1}),[r]),s.useEffect((()=>{if(r)return;if(!u)return;function e(e){if("Tab"===e.key){et(I,Qe(ct(I)))&&0===F().length&&!_&&mt(e);const t=L(),n=dt(e);"reference"===k.current[0]&&n===w&&(mt(e),e.shiftKey?Hn(t[t.length-1]):Hn(t[1])),"floating"===k.current[1]&&n===I&&e.shiftKey&&(mt(e),Hn(t[0]))}}const t=ct(I);return t.addEventListener("keydown",e),()=>{t.removeEventListener("keydown",e)}}),[r,w,I,u,k,_,F,L]),s.useEffect((()=>{if(!r&&x)return x.addEventListener("focusin",e),()=>{x.removeEventListener("focusin",e)};function e(e){const t=dt(e),n=F().indexOf(t);-1!==n&&(A.current=n)}}),[r,x,F]),s.useEffect((()=>{if(!r&&f)return x&&ze(w)?(w.addEventListener("focusout",t),w.addEventListener("pointerdown",e),x.addEventListener("focusout",t),()=>{w.removeEventListener("focusout",t),w.removeEventListener("pointerdown",e),x.removeEventListener("focusout",t)}):void 0;function e(){D.current=!0,setTimeout((()=>{D.current=!1}))}function t(e){const t=e.relatedTarget;queueMicrotask((()=>{const n=!(et(w,t)||et(x,t)||et(t,x)||et(null==T?void 0:T.portalNode,t)||null!=t&&t.hasAttribute(rr("focus-guard"))||P&&(sr(P.nodesRef.current,p).find((e=>{var n,r;return et(null==(n=e.context)?void 0:n.elements.floating,t)||et(null==(r=e.context)?void 0:r.elements.domReference,t)}))||function(e,t){var n;let r=[],o=null==(n=e.find((e=>e.id===t)))?void 0:n.parentId;for(;o;){const t=e.find((e=>e.id===o));o=null==t?void 0:t.parentId,t&&(r=r.concat(t))}return r}(P.nodesRef.current,p).find((e=>{var n,r;return(null==(n=e.context)?void 0:n.elements.floating)===t||(null==(r=e.context)?void 0:r.elements.domReference)===t}))));if(c&&n&&Qe(ct(I))===ct(I).body){ze(I)&&I.focus();const e=A.current,t=F(),n=t[e]||t[t.length-1]||I;ze(n)&&n.focus()}!_&&u||!t||!n||D.current||t===Rr()||(R.current=!0,g(!1,e,"focus-out"))}))}}),[r,w,x,I,u,p,P,T,g,f,c,F,_]),s.useEffect((()=>{var e;if(r)return;const t=Array.from((null==T||null==(e=T.portalNode)?void 0:e.querySelectorAll("["+rr("portal")+"]"))||[]);if(x){const e=[x,...t,O.current,M.current,k.current.includes("reference")||_?w:null].filter((e=>null!=e)),n=u||_?mr(e,S,!S):mr(e);return()=>{n()}}}),[r,w,x,u,k,T,_,S]),Yn((()=>{if(r||!ze(I))return;const e=Qe(ct(I));queueMicrotask((()=>{const t=L(I),n=C.current,r=("number"==typeof n?t[n]:n.current)||I,o=et(I,e);E||o||!m||Hn(r,{preventScroll:r===I})}))}),[r,m,I,E,L,C]),Yn((()=>{if(r||!I)return;let e=!1;const t=ct(I),n=Qe(t);let o=v.current.openEvent;const i=h.domReference.current;function a(t){let{open:n,reason:r,event:i,nested:a}=t;n&&(o=i),"escape-key"===r&&h.domReference.current&&Mr(h.domReference.current),"hover"===r&&"mouseleave"===i.type&&(R.current=!0),"outside-press"===r&&(a?(R.current=!1,e=!0):R.current=!(rt(i)||ot(i)))}return Mr(n),y.on("openchange",a),()=>{y.off("openchange",a);const r=Qe(t),s=et(x,r)||P&&sr(P.nodesRef.current,p).some((e=>{var t;return et(null==(t=e.context)?void 0:t.elements.floating,r)}));(s||o&&["click","mousedown"].includes(o.type))&&h.domReference.current&&Mr(h.domReference.current);const l=i||n,c=Kt(ct(l).body,hr());queueMicrotask((()=>{let n=Rr();!n&&ze(l)&&x&&(n=function(e,t,n){const r=e.indexOf(t);function o(t){const o=rr("focus-guard");let i=r+(t?1:0),a=e[i];for(;a&&(!a.isConnected||a.hasAttribute(o)||et(n,a));)t?i++:i--,a=e[i];return a}return o(!0)||o(!1)}(c,l,x)),N.current&&!R.current&&ze(n)&&(n===r||r===t.body||s)&&n.focus({preventScroll:e})}))}}),[r,x,I,N,v,h,y,P,p]),Yn((()=>{if(!r&&T)return T.setFocusManagerState({modal:u,closeOnFocusOut:f,open:m,onOpenChange:g,refs:h}),()=>{T.setFocusManagerState(null)}}),[r,T,u,m,g,h,f]),Yn((()=>{if(r)return;if(!I)return;if("function"!=typeof MutationObserver)return;if(E)return;const e=()=>{const e=I.getAttribute("tabindex"),t=F(),n=Qe(ct(x)),r=t.indexOf(n);-1!==r&&(A.current=r),k.current.includes("floating")||n!==h.domReference.current&&0===t.length?"0"!==e&&I.setAttribute("tabindex","0"):"-1"!==e&&I.setAttribute("tabindex","-1")};e();const t=new MutationObserver(e);return t.observe(I,{childList:!0,subtree:!0,attributes:!0}),()=>{t.disconnect()}}),[r,x,I,h,k,F,E]);const B=!r&&S&&(!u||!_)&&(j||u);return s.createElement(s.Fragment,null,B&&s.createElement(_r,{"data-type":"inside",ref:null==T?void 0:T.beforeInsideRef,onFocus:e=>{if(u){const e=L();Hn("reference"===o[0]?e[0]:e[e.length-1])}else if(null!=T&&T.preserveTabOrder&&T.portalNode)if(R.current=!1,vr(e,T.portalNode)){const e=gr()||w;null==e||e.focus()}else{var t;null==(t=T.beforeOutsideRef.current)||t.focus()}}}),!_&&z("start"),n,z("end"),B&&s.createElement(_r,{"data-type":"inside",ref:null==T?void 0:T.afterInsideRef,onFocus:e=>{if(u)Hn(L()[0]);else if(null!=T&&T.preserveTabOrder&&T.portalNode)if(f&&(R.current=!0),vr(e,T.portalNode)){const e=yr()||w;null==e||e.focus()}else{var t;null==(t=T.afterOutsideRef.current)||t.focus()}}}))}function jr(e){return ze(e.target)&&"BUTTON"===e.target.tagName}function Ir(e){return ft(e)}function Fr(e,t){void 0===t&&(t={});const{open:n,onOpenChange:r,dataRef:o,elements:{domReference:i}}=e,{enabled:a=!0,event:l="click",toggle:c=!0,ignoreMouse:u=!1,keyboardHandlers:d=!0}=t,f=s.useRef(),m=s.useRef(!1),h=s.useMemo((()=>({onPointerDown(e){f.current=e.pointerType},onMouseDown(e){const t=f.current;0===e.button&&"click"!==l&&(lt(t,!0)&&u||(!n||!c||o.current.openEvent&&"mousedown"!==o.current.openEvent.type?(e.preventDefault(),r(!0,e.nativeEvent,"click")):r(!1,e.nativeEvent,"click")))},onClick(e){const t=f.current;"mousedown"===l&&f.current?f.current=void 0:lt(t,!0)&&u||(!n||!c||o.current.openEvent&&"click"!==o.current.openEvent.type?r(!0,e.nativeEvent,"click"):r(!1,e.nativeEvent,"click"))},onKeyDown(e){f.current=void 0,e.defaultPrevented||!d||jr(e)||(" "!==e.key||Ir(i)||(e.preventDefault(),m.current=!0),"Enter"===e.key&&r(!n||!c,e.nativeEvent,"click"))},onKeyUp(e){e.defaultPrevented||!d||jr(e)||Ir(i)||" "===e.key&&m.current&&(m.current=!1,r(!n||!c,e.nativeEvent,"click"))}})),[o,i,l,u,d,r,n,c]);return s.useMemo((()=>a?{reference:h}:{}),[a,h])}const Lr={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},zr={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},Br=e=>{var t,n;return{escapeKey:"boolean"==typeof e?e:null!=(t=null==e?void 0:e.escapeKey)&&t,outsidePress:"boolean"==typeof e?e:null==(n=null==e?void 0:e.outsidePress)||n}};function Wr(e,t){void 0===t&&(t={});const{open:n,onOpenChange:r,elements:o,dataRef:i}=e,{enabled:a=!0,escapeKey:l=!0,outsidePress:c=!0,outsidePressEvent:u="pointerdown",referencePress:d=!1,referencePressEvent:f="pointerdown",ancestorScroll:m=!1,bubbles:h,capture:p}=t,g=nr(),y=Mn("function"==typeof c?c:()=>!1),v="function"==typeof c?y:c,b=s.useRef(!1),w=s.useRef(!1),{escapeKey:x,outsidePress:E}=Br(h),{escapeKey:_,outsidePress:S}=Br(p),k=Mn((e=>{var t;if(!n||!a||!l||"Escape"!==e.key)return;const o=null==(t=i.current.floatingContext)?void 0:t.nodeId,s=g?sr(g.nodesRef.current,o):[];if(!x&&(e.stopPropagation(),s.length>0)){let e=!0;if(s.forEach((t=>{var n;null==(n=t.context)||!n.open||t.context.dataRef.current.__escapeKeyBubbles||(e=!1)})),!e)return}r(!1,function(e){return"nativeEvent"in e}(e)?e.nativeEvent:e,"escape-key")})),C=Mn((e=>{var t;const n=()=>{var t;k(e),null==(t=dt(e))||t.removeEventListener("keydown",n)};null==(t=dt(e))||t.addEventListener("keydown",n)})),N=Mn((e=>{var t;const n=b.current;b.current=!1;const a=w.current;if(w.current=!1,"click"===u&&a)return;if(n)return;if("function"==typeof v&&!v(e))return;const s=dt(e),l="["+rr("inert")+"]",c=ct(o.floating).querySelectorAll(l);let d=Le(s)?s:null;for(;d&&!Ye(d);){const e=Ge(d);if(Ye(e)||!Le(e))break;d=e}if(c.length&&Le(s)&&!s.matches("html,body")&&!et(s,o.floating)&&Array.from(c).every((e=>!et(d,e))))return;if(ze(s)&&O){const t=s.clientWidth>0&&s.scrollWidth>s.clientWidth,n=s.clientHeight>0&&s.scrollHeight>s.clientHeight;let r=n&&e.offsetX>s.clientWidth;if(n&&"rtl"===qe(s).direction&&(r=e.offsetX<=s.offsetWidth-s.clientWidth),r||t&&e.offsetY>s.clientHeight)return}const f=null==(t=i.current.floatingContext)?void 0:t.nodeId,m=g&&sr(g.nodesRef.current,f).some((t=>{var n;return ut(e,null==(n=t.context)?void 0:n.elements.floating)}));if(ut(e,o.floating)||ut(e,o.domReference)||m)return;const h=g?sr(g.nodesRef.current,f):[];if(h.length>0){let e=!0;if(h.forEach((t=>{var n;null==(n=t.context)||!n.open||t.context.dataRef.current.__outsidePressBubbles||(e=!1)})),!e)return}r(!1,e,"outside-press")})),P=Mn((e=>{var t;const n=()=>{var t;N(e),null==(t=dt(e))||t.removeEventListener(u,n)};null==(t=dt(e))||t.addEventListener(u,n)}));s.useEffect((()=>{if(!n||!a)return;function e(e){r(!1,e,"ancestor-scroll")}i.current.__escapeKeyBubbles=x,i.current.__outsidePressBubbles=E;const t=ct(o.floating);l&&t.addEventListener("keydown",_?C:k,_),v&&t.addEventListener(u,S?P:N,S);let s=[];return m&&(Le(o.domReference)&&(s=Ze(o.domReference)),Le(o.floating)&&(s=s.concat(Ze(o.floating))),!Le(o.reference)&&o.reference&&o.reference.contextElement&&(s=s.concat(Ze(o.reference.contextElement)))),s=s.filter((e=>{var n;return e!==(null==(n=t.defaultView)?void 0:n.visualViewport)})),s.forEach((t=>{t.addEventListener("scroll",e,{passive:!0})})),()=>{l&&t.removeEventListener("keydown",_?C:k,_),v&&t.removeEventListener(u,S?P:N,S),s.forEach((t=>{t.removeEventListener("scroll",e)}))}}),[i,o,l,v,u,n,r,m,a,x,E,k,_,C,N,S,P]),s.useEffect((()=>{b.current=!1}),[v,u]);const T=s.useMemo((()=>({onKeyDown:k,[Lr[f]]:e=>{d&&r(!1,e.nativeEvent,"reference-press")}})),[k,r,d,f]),O=s.useMemo((()=>({onKeyDown:k,onMouseDown(){w.current=!0},onMouseUp(){w.current=!0},[zr[u]]:()=>{b.current=!0}})),[k,u]);return s.useMemo((()=>a?{reference:T,floating:O}:{}),[a,T,O])}function Vr(e){void 0===e&&(e={});const{nodeId:t}=e,n=function(e){const{open:t=!1,onOpenChange:n,elements:r}=e,o=Zn(),i=s.useRef({}),[a]=s.useState((()=>function(){const e=new Map;return{emit(t,n){var r;null==(r=e.get(t))||r.forEach((e=>e(n)))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){var r;e.set(t,(null==(r=e.get(t))?void 0:r.filter((e=>e!==n)))||[])}}}())),l=null!=tr(),[c,u]=s.useState(r.reference),d=Mn(((e,t,r)=>{i.current.openEvent=e?t:void 0,a.emit("openchange",{open:e,event:t,reason:r,nested:l}),null==n||n(e,t,r)})),f=s.useMemo((()=>({setPositionReference:u})),[]),m=s.useMemo((()=>({reference:c||r.reference||null,floating:r.floating||null,domReference:r.reference})),[c,r.reference,r.floating]);return s.useMemo((()=>({dataRef:i,open:t,onOpenChange:d,elements:m,events:a,floatingId:o,refs:f})),[t,d,m,a,o,f])}({...e,elements:{reference:null,floating:null,...e.elements}}),r=e.rootContext||n,o=r.elements,[i,a]=s.useState(null),[l,c]=s.useState(null),u=(null==o?void 0:o.reference)||i,d=s.useRef(null),f=nr();Yn((()=>{u&&(d.current=u)}),[u]);const m=function(e){void 0===e&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:i,floating:a}={},transform:l=!0,whileElementsMounted:c,open:u}=e,[d,f]=s.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,h]=s.useState(r);wn(m,r)||h(r);const[p,g]=s.useState(null),[y,v]=s.useState(null),b=s.useCallback((e=>{e!==_.current&&(_.current=e,g(e))}),[]),w=s.useCallback((e=>{e!==S.current&&(S.current=e,v(e))}),[]),x=i||p,E=a||y,_=s.useRef(null),S=s.useRef(null),k=s.useRef(d),C=null!=c,N=_n(c),P=_n(o),T=s.useCallback((()=>{if(!_.current||!S.current)return;const e={placement:t,strategy:n,middleware:m};P.current&&(e.platform=P.current),((e,t,n)=>{const r=new Map,o={platform:fn,...n},i={...o.platform,_c:r};return(async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:a}=n,s=i.filter(Boolean),l=await(null==a.isRTL?void 0:a.isRTL(t));let c=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:d}=Xt(c,r,l),f=r,m={},h=0;for(let n=0;n{const t={...e,isPositioned:!0};O.current&&!wn(k.current,t)&&(k.current=t,Gt.flushSync((()=>{f(t)})))}))}),[m,t,n,P]);bn((()=>{!1===u&&k.current.isPositioned&&(k.current.isPositioned=!1,f((e=>({...e,isPositioned:!1}))))}),[u]);const O=s.useRef(!1);bn((()=>(O.current=!0,()=>{O.current=!1})),[]),bn((()=>{if(x&&(_.current=x),E&&(S.current=E),x&&E){if(N.current)return N.current(x,E,T);T()}}),[x,E,T,N,C]);const M=s.useMemo((()=>({reference:_,floating:S,setReference:b,setFloating:w})),[b,w]),R=s.useMemo((()=>({reference:x,floating:E})),[x,E]),D=s.useMemo((()=>{const e={position:n,left:0,top:0};if(!R.floating)return e;const t=En(R.floating,d.x),r=En(R.floating,d.y);return l?{...e,transform:"translate("+t+"px, "+r+"px)",...xn(R.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}}),[n,l,R.floating,d.x,d.y]);return s.useMemo((()=>({...d,update:T,refs:M,elements:R,floatingStyles:D})),[d,T,M,R,D])}({...e,elements:{...o,...l&&{reference:l}}}),h=s.useCallback((e=>{const t=Le(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),contextElement:e}:e;c(t),m.refs.setReference(t)}),[m.refs]),p=s.useCallback((e=>{(Le(e)||null===e)&&(d.current=e,a(e)),(Le(m.refs.reference.current)||null===m.refs.reference.current||null!==e&&!Le(e))&&m.refs.setReference(e)}),[m.refs]),g=s.useMemo((()=>({...m.refs,setReference:p,setPositionReference:h,domReference:d})),[m.refs,p,h]),y=s.useMemo((()=>({...m.elements,domReference:u})),[m.elements,u]),v=s.useMemo((()=>({...m,...r,refs:g,elements:y,nodeId:t})),[m,g,y,t,r]);return Yn((()=>{r.dataRef.current.floatingContext=v;const e=null==f?void 0:f.nodesRef.current.find((e=>e.id===t));e&&(e.context=v)})),s.useMemo((()=>({...m,context:v,refs:g,elements:y})),[m,g,y,v])}const Ur="active",$r="selected";function Hr(e,t,n){const r=new Map,o="item"===n;let i=e;if(o&&e){const{[Ur]:t,[$r]:n,...r}=e;i=r}return{..."floating"===n&&{tabIndex:-1,[Pr]:""},...i,...t.map((t=>{const r=t?t[n]:null;return"function"==typeof r?e?r(e):null:r})).concat(e).reduce(((e,t)=>t?(Object.entries(t).forEach((t=>{let[n,i]=t;var a;o&&[Ur,$r].includes(n)||(0===n.indexOf("on")?(r.has(n)||r.set(n,[]),"function"==typeof i&&(null==(a=r.get(n))||a.push(i),e[n]=function(){for(var e,t=arguments.length,o=new Array(t),i=0;ie(...o))).find((e=>void 0!==e))})):e[n]=i)})),e):e),{})}}function Yr(e){void 0===e&&(e=[]);const t=e.map((e=>null==e?void 0:e.reference)),n=e.map((e=>null==e?void 0:e.floating)),r=e.map((e=>null==e?void 0:e.item)),o=s.useCallback((t=>Hr(t,e,"reference")),t),i=s.useCallback((t=>Hr(t,e,"floating")),n),a=s.useCallback((t=>Hr(t,e,"item")),r);return s.useMemo((()=>({getReferenceProps:o,getFloatingProps:i,getItemProps:a})),[o,i,a])}let qr=!1;function Kr(e,t,n){switch(e){case"vertical":return t;case"horizontal":return n;default:return t||n}}function Gr(e,t){return Kr(t,e===Rn||e===Dn,e===An||e===jn)}function Xr(e,t,n){return Kr(t,e===Dn,n?e===An:e===jn)||"Enter"===e||" "===e||""===e}function Zr(e,t,n){return Kr(t,n?e===jn:e===An,e===Rn)}const Jr=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function Qr(e,t){var n;void 0===t&&(t={});const{open:r,floatingId:o}=e,{enabled:i=!0,role:a="dialog"}=t,l=null!=(n=Jr.get(a))?n:a,c=Zn(),u=null!=tr(),d=s.useMemo((()=>"tooltip"===l||"label"===a?{["aria-"+("label"===a?"labelledby":"describedby")]:r?o:void 0}:{"aria-expanded":r?"true":"false","aria-haspopup":"alertdialog"===l?"dialog":l,"aria-controls":r?o:void 0,..."listbox"===l&&{role:"combobox"},..."menu"===l&&{id:c},..."menu"===l&&u&&{role:"menuitem"},..."select"===a&&{"aria-autocomplete":"none"},..."combobox"===a&&{"aria-autocomplete":"list"}}),[l,o,u,r,c,a]),f=s.useMemo((()=>{const e={id:o,...l&&{role:l}};return"tooltip"===l||"label"===a?e:{...e,..."menu"===l&&{"aria-labelledby":c}}}),[l,o,c,a]),m=s.useCallback((e=>{let{active:t,selected:n}=e;const r={role:"option",...t&&{id:o+"-option"}};switch(a){case"select":return{...r,"aria-selected":t&&n};case"combobox":return{...r,...t&&{"aria-selected":!0}}}return{}}),[o,a]);return s.useMemo((()=>i?{reference:d,floating:f,item:m}:{}),[i,d,f,m])}const eo=e=>e.replace(/[A-Z]+(?![a-z])|[A-Z]/g,((e,t)=>(t?"-":"")+e.toLowerCase()));function to(e,t){return"function"==typeof e?e(t):e}function no(e,t){void 0===t&&(t={});const{initial:n={opacity:0},open:r,close:o,common:i,duration:a=250}=t,l=e.placement,c=l.split("-")[0],u=s.useMemo((()=>({side:c,placement:l})),[c,l]),d="number"==typeof a,f=(d?a:a.open)||0,m=(d?a:a.close)||0,[h,p]=s.useState((()=>({...to(i,u),...to(n,u)}))),{isMounted:g,status:y}=function(e,t){void 0===t&&(t={});const{open:n,elements:{floating:r}}=e,{duration:o=250}=t,i=("number"==typeof o?o:o.close)||0,[a,l]=s.useState("unmounted"),c=function(e,t){const[n,r]=s.useState(e);return e&&!n&&r(!0),s.useEffect((()=>{if(!e&&n){const e=setTimeout((()=>r(!1)),t);return()=>clearTimeout(e)}}),[e,n,t]),n}(n,i);return c||"close"!==a||l("unmounted"),Yn((()=>{if(r){if(n){l("initial");const e=requestAnimationFrame((()=>{l("open")}));return()=>{cancelAnimationFrame(e)}}l("close")}}),[n,r]),{isMounted:c,status:a}}(e,{duration:a}),v=or(n),b=or(r),w=or(o),x=or(i);return Yn((()=>{const e=to(v.current,u),t=to(w.current,u),n=to(x.current,u),r=to(b.current,u)||Object.keys(e).reduce(((e,t)=>(e[t]="",e)),{});if("initial"===y&&p((t=>({transitionProperty:t.transitionProperty,...n,...e}))),"open"===y&&p({transitionProperty:Object.keys(r).map(eo).join(","),transitionDuration:f+"ms",...n,...r}),"close"===y){const r=t||e;p({transitionProperty:Object.keys(r).map(eo).join(","),transitionDuration:m+"ms",...n,...r})}}),[m,w,v,b,x,f,y,u]),{isMounted:g,styles:h}}function ro(e,t){const[n,r]=e;let o=!1;const i=t.length;for(let e=0,a=i-1;e=r!=c>=r&&n<=(l-i)*(r-s)/(c-s)+i&&(o=!o)}return o}function oo(e){void 0===e&&(e={});const{buffer:t=.5,blockPointerEvents:n=!1,requireIntent:r=!0}=e;let o,i=!1,a=null,s=null,l=performance.now();const c=e=>{let{x:n,y:c,placement:u,elements:d,onClose:f,nodeId:m,tree:h}=e;return function(e){function p(){clearTimeout(o),f()}if(clearTimeout(o),!d.domReference||!d.floating||null==u||null==n||null==c)return;const{clientX:g,clientY:y}=e,v=[g,y],b=dt(e),w="mouseleave"===e.type,x=et(d.floating,b),E=et(d.domReference,b),_=d.domReference.getBoundingClientRect(),S=d.floating.getBoundingClientRect(),k=u.split("-")[0],C=n>S.right-S.width/2,N=c>S.bottom-S.height/2,P=function(e,t){return e[0]>=t.x&&e[0]<=t.x+t.width&&e[1]>=t.y&&e[1]<=t.y+t.height}(v,_),T=S.width>_.width,O=S.height>_.height,M=(T?_:S).left,R=(T?_:S).right,D=(O?_:S).top,A=(O?_:S).bottom;if(x&&(i=!0,!w))return;if(E&&(i=!1),E&&!w)return void(i=!0);if(w&&Le(e.relatedTarget)&&et(d.floating,e.relatedTarget))return;if(h&&sr(h.nodesRef.current,m).some((e=>{let{context:t}=e;return null==t?void 0:t.open})))return;if("top"===k&&c>=_.bottom-1||"bottom"===k&&c<=_.top+1||"left"===k&&n>=_.right-1||"right"===k&&n<=_.left+1)return p();let j=[];switch(k){case"top":j=[[M,_.top+1],[M,S.bottom-1],[R,S.bottom-1],[R,_.top+1]];break;case"bottom":j=[[M,S.top+1],[M,_.bottom-1],[R,_.bottom-1],[R,S.top+1]];break;case"left":j=[[S.right-1,A],[S.right-1,D],[_.left+1,D],[_.left+1,A]];break;case"right":j=[[_.right-1,A],[_.right-1,D],[S.left+1,D],[S.left+1,A]]}if(!ro([g,y],j)){if(i&&!P)return p();if(!w&&r){const t=function(e,t){const n=performance.now(),r=n-l;if(null===a||null===s||0===r)return a=e,s=t,l=n,null;const o=e-a,i=t-s,c=Math.sqrt(o*o+i*i);return a=e,s=t,l=n,c/r}(e.clientX,e.clientY);if(null!==t&&t<.1)return p()}ro([g,y],function(e){let[n,r]=e;switch(k){case"top":return[[T?n+t/2:C?n+4*t:n-4*t,r+t+1],[T?n-t/2:C?n+4*t:n-4*t,r+t+1],[S.left,C||T?S.bottom-t:S.top],[S.right,C?T?S.bottom-t:S.top:S.bottom-t]];case"bottom":return[[T?n+t/2:C?n+4*t:n-4*t,r-t],[T?n-t/2:C?n+4*t:n-4*t,r-t],[S.left,C||T?S.top+t:S.bottom],[S.right,C?T?S.top+t:S.bottom:S.top+t]];case"left":{const e=[n+t+1,O?r+t/2:N?r+4*t:r-4*t],o=[n+t+1,O?r-t/2:N?r+4*t:r-4*t];return[[N||O?S.right-t:S.left,S.top],[N?O?S.right-t:S.left:S.right-t,S.bottom],e,o]}case"right":return[[n-t,O?r+t/2:N?r+4*t:r-4*t],[n-t,O?r-t/2:N?r+4*t:r-4*t],[N||O?S.left+t:S.right,S.top],[N?O?S.left+t:S.right:S.left+t,S.bottom]]}}([n,c]))?!i&&r&&(o=window.setTimeout(p,40)):p()}}};return c.__options={blockPointerEvents:n},c}const io=xe("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),ao=xe("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);var so="light",lo="neutral",co=function(e){var t=e.icon,n=void 0===t?null:t,r=e.theme,o=void 0===r?so:r,i=e.variant,a=void 0===i?lo:i,l="[&>svg]:h-5 [&>svg]:w-5",c=function(e){var t=e.theme,n=void 0===t?so:t,r=e.variant;return{info:"light"===n?"text-support-info":"text-support-info-inverse",success:"light"===n?"text-support-success":"text-support-success-inverse",warning:"light"===n?"text-support-warning":"text-support-warning-inverse",error:"light"===n?"text-support-error":"text-support-error-inverse"}[void 0===r?lo:r]||("light"===n?"text-icon-secondary":"text-icon-inverse")}({theme:o,variant:a});if(n&&(0,s.isValidElement)(n))return(0,s.cloneElement)(n,{className:re(l,c,n.props.className)});var u={neutral:React.createElement(Te,{className:re(l,c)}),info:React.createElement(Te,{className:re(l,c)}),success:React.createElement(_e,{className:re(l,c)}),warning:React.createElement(io,{className:re(l,c)}),error:React.createElement(ao,{className:re(l,c)})};return u[a]||u.neutral},uo=function(e){var t=e.actionType,n=void 0===t?"button":t,r=e.onAction,o=void 0===r?function(){}:r,i=e.actionLabel,a=void 0===i?"":i,s=e.theme,l=void 0===s?so:s,c="focus:ring-0 focus:ring-offset-0 ring-offset-0 focus:outline-none",u="text-button-primary border-button-primary hover:border-button-primary hover:text-button-primary-hover";switch("dark"===l&&(u="text-text-inverse border-text-inverse hover:border-text-inverse hover:text-text-inverse"),n){case"button":return React.createElement(ue,{variant:"outline",size:"xs",onClick:o,className:re("rounded",c,u,"dark"===l?"bg-transparent hover:bg-transparent":"bg-white hover:bg-white")},a);case"link":return React.createElement(ue,{variant:"link",size:"xs",onClick:o,className:re(c,u)},a);default:return null}},fo=function(e){var t=e.theme,n=void 0===t?so:t,r=e.title,o=void 0===r?"":r;return!o&&isNaN(o)?null:React.createElement("span",{className:re("block",{light:"text-text-primary",dark:"text-text-inverse"}[n],"text-sm leading-5 font-semibold")},o)},mo=function(e){var t=e.theme,n=void 0===t?so:t,r=e.content,o=void 0===r?"":r;return!o&&isNaN(o)?null:React.createElement("span",{className:re({light:"text-text-primary",dark:"text-text-inverse"}[n],"block text-sm [&_*]:text-sm leading-5 [&_*]:leading-5 font-normal")},o)},ho=function(){for(var e=arguments.length,t=new Array(e),n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n{})),C=s.useCallback((()=>{var e;const t=null==(e=o.current.openEvent)?void 0:e.type;return(null==t?void 0:t.includes("mouse"))&&"mousedown"!==t}),[o]);s.useEffect((()=>{if(l)return i.on("openchange",e),()=>{i.off("openchange",e)};function e(e){let{open:t}=e;t||(clearTimeout(w.current),clearTimeout(E.current),_.current=!0)}}),[l,i]),s.useEffect((()=>{if(!l)return;if(!g.current)return;if(!n)return;function e(e){C()&&r(!1,e,"hover")}const t=ct(a.floating).documentElement;return t.addEventListener("mouseleave",e),()=>{t.removeEventListener("mouseleave",e)}}),[a.floating,n,r,l,g,C]);const N=s.useCallback((function(e,t,n){void 0===t&&(t=!0),void 0===n&&(n="hover");const o=ar(y.current,"close",b.current);o&&!x.current?(clearTimeout(w.current),w.current=window.setTimeout((()=>r(!1,e,n)),o)):t&&(clearTimeout(w.current),r(!1,e,n))}),[y,r]),P=Mn((()=>{k.current(),x.current=void 0})),T=Mn((()=>{if(S.current){const e=ct(a.floating).body;e.style.pointerEvents="",e.removeAttribute(ir),S.current=!1}}));s.useEffect((()=>{if(l&&Le(a.domReference)){var e;const t=a.domReference;return n&&t.addEventListener("mouseleave",c),null==(e=a.floating)||e.addEventListener("mouseleave",c),m&&t.addEventListener("mousemove",i,{once:!0}),t.addEventListener("mouseenter",i),t.addEventListener("mouseleave",s),()=>{var e;n&&t.removeEventListener("mouseleave",c),null==(e=a.floating)||e.removeEventListener("mouseleave",c),m&&t.removeEventListener("mousemove",i),t.removeEventListener("mouseenter",i),t.removeEventListener("mouseleave",s)}}function t(){return!!o.current.openEvent&&["click","mousedown"].includes(o.current.openEvent.type)}function i(e){if(clearTimeout(w.current),_.current=!1,d&&!lt(b.current)||f>0&&!ar(y.current,"open"))return;const t=ar(y.current,"open",b.current);t?w.current=window.setTimeout((()=>{v.current||r(!0,e,"hover")}),t):r(!0,e,"hover")}function s(e){if(t())return;k.current();const r=ct(a.floating);if(clearTimeout(E.current),g.current&&o.current.floatingContext){n||clearTimeout(w.current),x.current=g.current({...o.current.floatingContext,tree:h,x:e.clientX,y:e.clientY,onClose(){T(),P(),N(e,!0,"safe-polygon")}});const t=x.current;return r.addEventListener("mousemove",t),void(k.current=()=>{r.removeEventListener("mousemove",t)})}("touch"!==b.current||!et(a.floating,e.relatedTarget))&&N(e)}function c(e){t()||o.current.floatingContext&&(null==g.current||g.current({...o.current.floatingContext,tree:h,x:e.clientX,y:e.clientY,onClose(){T(),P(),N(e)}})(e))}}),[a,l,e,d,f,m,N,P,T,r,n,v,h,y,g,o]),Yn((()=>{var e;if(l&&n&&null!=(e=g.current)&&e.__options.blockPointerEvents&&C()){S.current=!0;const e=a.floating;if(Le(a.domReference)&&e){var t;const n=ct(a.floating).body;n.setAttribute(ir,"");const r=a.domReference,o=null==h||null==(t=h.nodesRef.current.find((e=>e.id===p)))||null==(t=t.context)?void 0:t.elements.floating;return o&&(o.style.pointerEvents=""),n.style.pointerEvents="none",r.style.pointerEvents="auto",e.style.pointerEvents="auto",()=>{n.style.pointerEvents="",r.style.pointerEvents="",e.style.pointerEvents=""}}}}),[l,n,p,a,h,g,C]),Yn((()=>{n||(b.current=void 0,P(),T())}),[n,P,T]),s.useEffect((()=>()=>{P(),clearTimeout(w.current),clearTimeout(E.current),T()}),[l,a.domReference,P,T]);const O=s.useMemo((()=>{function e(e){b.current=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){const{nativeEvent:t}=e;function o(){_.current||v.current||r(!0,t,"hover")}d&&!lt(b.current)||n||0===f||(clearTimeout(E.current),"touch"===b.current?o():E.current=window.setTimeout(o,f))}}}),[d,r,n,v,f]),M=s.useMemo((()=>({onMouseEnter(){clearTimeout(w.current)},onMouseLeave(e){N(e.nativeEvent,!1)}})),[N]);return s.useMemo((()=>l?{reference:O,floating:M}:{}),[l,O,M])}(W,vo({move:!1,enabled:!D&&O.includes("hover")},R&&{handleClose:oo()})),$=function(e,t){void 0===t&&(t={});const{open:n,onOpenChange:r,events:o,dataRef:i,elements:a}=e,{enabled:l=!0,visibleOnly:c=!0}=t,u=s.useRef(!1),d=s.useRef(),f=s.useRef(!0);s.useEffect((()=>{if(!l)return;const e=je(a.domReference);function t(){!n&&ze(a.domReference)&&a.domReference===Qe(ct(a.domReference))&&(u.current=!0)}function r(){f.current=!0}return e.addEventListener("blur",t),e.addEventListener("keydown",r,!0),()=>{e.removeEventListener("blur",t),e.removeEventListener("keydown",r,!0)}}),[a.domReference,n,l]),s.useEffect((()=>{if(l)return o.on("openchange",e),()=>{o.off("openchange",e)};function e(e){let{reason:t}=e;"reference-press"!==t&&"escape-key"!==t||(u.current=!0)}}),[o,l]),s.useEffect((()=>()=>{clearTimeout(d.current)}),[]);const m=s.useMemo((()=>({onPointerDown(e){ot(e.nativeEvent)||(f.current=!1)},onMouseLeave(){u.current=!1},onFocus(e){if(u.current)return;const t=dt(e.nativeEvent);if(c&&Le(t))try{if(it()&&st())throw Error();if(!t.matches(":focus-visible"))return}catch(e){if(!f.current&&!ft(t))return}r(!0,e.nativeEvent,"focus")},onBlur(e){u.current=!1;const t=e.relatedTarget,n=e.nativeEvent,o=Le(t)&&t.hasAttribute(rr("focus-guard"))&&"outside"===t.getAttribute("data-type");d.current=window.setTimeout((()=>{var e;const s=Qe(a.domReference?a.domReference.ownerDocument:document);(t||s!==a.domReference)&&(et(null==(e=i.current.floatingContext)?void 0:e.refs.floating.current,s)||et(a.domReference,s)||o||r(!1,n,"focus"))}))}})),[i,a.domReference,r,c]);return s.useMemo((()=>l?{reference:m}:{}),[l,m])}(W,{enabled:!D&&O.includes("focus")}),H=Yr([V,U,$,Wr(W),Qr(W,{role:"tooltip"})]),Y=H.getReferenceProps,q=H.getFloatingProps,K=no(W,{duration:150,initial:{opacity:0},open:{opacity:1},close:{opacity:0}}),G=K.isMounted,X=K.styles,Z=null===(t={light:"bg-tooltip-background-light text-text-primary",dark:"bg-tooltip-background-dark text-text-on-color"})||void 0===t?void 0:t[i],J="dark"===i?"text-tooltip-background-dark":"text-tooltip-background-light";return l().createElement(l().Fragment,null,(0,s.isValidElement)(y)&&(0,s.cloneElement)(y,vo(vo({},y.props),{},{ref:ho(y.ref,z.setReference),className:re(y.props.className)},Y())),l().createElement(Cr,{id:E,root:w},G&&l().createElement("div",go({className:re("absolute z-20 py-2 px-3 rounded-md text-xs leading-4 shadow-soft-shadow-lg",Z,"max-w-80 w-fit",v),ref:z.setFloating,style:vo(vo({},B),X)},q()),l().createElement("div",null,!!d&&l().createElement("span",{className:"font-semibold"},d),!!f&&l().createElement("div",{className:"font-normal"},f)),h&&l().createElement(Jn,{ref:F,context:W,placement:c,className:re("fill-current",J)}))))},Eo=["id","label","value","children","disabled","icon","inlineIcon","hideSelection","reversePosition","borderOn","borderOnActive","badgeItem","useSwitch","info","minWidth"],_o=["id","children","value","disabled","size"];function So(){return So=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:size-3",xs:"[&>svg]:size-3",sm:"[&>svg]:size-3",md:"[&>svg]:size-4",lg:"[&>svg]:size-5"};return p?(_=E.disabled,S+=" cursor-not-allowed disabled"):_=E[d],r?React.createElement("span",{className:re("font-medium border-badge-border-gray flex items-center justify-center border border-solid box-border",{xxs:"py-0.5 px-0.5 text-xs h-4",xs:"py-0.5 px-1 text-xs h-5",sm:"py-1 px-1.5 text-xs h-6",md:"py-1 px-1.5 text-sm h-7",lg:"py-1 px-1.5 text-base h-8"}[i],{pill:"rounded-full",rounded:"rounded"}[c],"gap-0.5",_,s),ref:t},m?React.createElement("span",{className:re("justify-center flex items-center",k[i])},m):null,React.createElement("span",{className:"px-1"},r),b&&React.createElement("span",{className:re(S,k[i]),onClick:p?null:y,onMouseDown:x,role:"button",tabIndex:0},React.createElement("span",{className:"sr-only"},"Remove ".concat(r)),React.createElement(jo,null),React.createElement("span",{className:"absolute -inset-1"}))):null}));Io.displayName="Badge";var Fo=Io,Lo=["id","defaultValue","value","size","className","disabled","onChange","error","onError"];function zo(){return zo=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:size-3 text-xs",xs:"size-6 [&>svg]:size-4 text-sm",sm:"size-8 [&>svg]:size-5 text-base",md:"size-10 [&>svg]:size-6 text-lg",lg:"size-12 [&>svg]:size-12 text-lg"})||void 0===n?void 0:n[l],y=null===(r={none:"",subtle:"ring-1 ring-border-transparent-subtle",ring:"ring ring-border-subtle"})||void 0===r?void 0:r[f&&"none"===u?"subtle":u],v=f?"bg-cover bg-center":"";return React.createElement("div",{className:re("rounded-full overflow-hidden flex items-center justify-center",!f&&p,g,y,v,h),style:f?{backgroundImage:"url(".concat(f,")")}:{}},m?"string"==typeof m?null==m||null===(o=m[0])||void 0===o?void 0:o.toUpperCase():m:null)};const $o=xe("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);var Ho=["id","type","defaultValue","value","size","className","disabled","onChange","error","onError","prefix","suffix","label"];function Yo(){return Yo=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0?I(t[0].name):I(null):t=e.target.value,O||"file"===o||D(t),"function"==typeof g&&g(t))},z=function(){I(null),P.current&&(P.current.value=null),g(null)},B="bg-field-secondary-background font-normal placeholder-text-tertiary text-text-primary w-full outline outline-1 outline-border-subtle border-none",W={xs:"px-2 py-1 rounded",sm:"p-3 py-2 rounded",md:"p-3.5 py-2.5 rounded-md",lg:"p-4 py-3 rounded-lg"},V={xs:"text-xs font-medium",sm:"text-sm font-medium",md:"text-sm font-medium",lg:"text-base font-medium"},U={xs:"text-xs",sm:"text-xs",md:"text-sm",lg:"text-base"},$={sm:E?"pl-8":"",md:E?"pl-9":"",lg:E?"pl-10":""},H={sm:S?"pr-8":"",md:S?"pr-9":"",lg:S?"pr-10":""},Y=h?"hover:outline-border-disabled":"hover:outline-border-strong",q="focus:outline-focus-border focus:ring-2 focus:ring-toggle-on focus:ring-offset-2",K=v?"focus:outline-focus-error-border focus:ring-field-color-error outline-focus-error-border":"",G=v?"focus:outline-focus-error-border focus:ring-field-color-error outline-focus-error-border":"",X=h?"outline-border-disabled bg-field-background-disabled cursor-not-allowed text-text-disabled":"",Z=h?"outline-border-disabled cursor-not-allowed text-text-disabled file:text-text-tertiary":"",J="font-normal placeholder-text-tertiary text-text-primary pointer-events-none absolute inset-y-0 flex flex-1 items-center [&>svg]:h-4 [&>svg]:w-4",Q=h?"font-normal placeholder-text-tertiary text-icon-disabled pointer-events-none absolute inset-y-0 flex flex-1 items-center":"font-normal placeholder-text-tertiary text-field-placeholder pointer-events-none absolute inset-y-0 flex flex-1 items-center",ee={xs:"[&>svg]:size-4",sm:"[&>svg]:size-4",md:"[&>svg]:size-5",lg:"[&>svg]:size-6"},te=j?"file:border-0 file:bg-transparent pr-10":"text-text-tertiary file:border-0 file:bg-transparent pr-10";return"file"===o?React.createElement("div",{className:"flex flex-col items-start gap-1.5 [&_*]:box-border box-border"},React.createElement("label",{className:re(V[u],"text-field-label"),htmlFor:T},C),React.createElement("div",{className:re("w-full relative flex focus-within:z-10",f)},React.createElement("input",Yo({ref:t,id:T,type:"file",className:re(B,Z,W[u],U[u],q,Y,G,te),disabled:h,onChange:L,onInvalid:w},N)),React.createElement("div",{className:re(Q,"right-0 pr-3",ee[u])},React.createElement($o,null)))):React.createElement("div",{className:"flex flex-col items-start gap-1.5 [&_*]:box-border box-border"},React.createElement("label",{className:re(V[u],"text-field-label"),htmlFor:T},C),React.createElement("div",{className:re("w-full relative flex focus-within:z-10",f)},E?React.createElement("div",{className:re(J,"left-0 pl-3",U[u])},E):null,React.createElement("input",Yo({ref:P,id:T,type:o,className:re(B,X,W[u],U[u],$[u],H[u],q,Y,K),disabled:h,onChange:L,onInvalid:w,value:F()},N)),"file"===o?j?React.createElement("div",{className:re(Q,"right-0 pr-3 cursor-pointer z-20 pointer-events-auto",ee[u]),onClick:z,role:"button",tabIndex:0,onKeyDown:function(e){"Enter"!==e.key&&" "!==e.key||z()}},React.createElement(jo,null)):React.createElement("div",{className:re(Q,"right-0 pr-3",ee[u])},React.createElement($o,null)):S?React.createElement("div",{className:re(J,"right-0 pr-3",U[u])},S):null))}));Go.displayName="Input";var Xo=Go,Zo=["children","tag","size","className","variant","required"];function Jo(){return Jo=Object.assign?Object.assign.bind():function(e){for(var t=1;t*]:text-xs [&>svg]:h-3 [&>svg]:w-3",sm:"text-sm [&>*]:text-sm [&>svg]:h-4 [&>svg]:w-4",md:"text-base [&>*]:text-base [&>svg]:h-5 [&>svg]:w-5"}[s],{neutral:"text-field-label [&>*]:text-field-label",help:"text-field-helper [&>*]:text-field-helper",error:"text-support-error [&>*]:text-support-error",disabled:"text-field-color-disabled disabled cursor-not-allowed [&>*]:text-field-color-disabled"}[f],g,u)},p),r)})),ei=Qo,ti=function(e){var t=e.title,n=void 0===t?null:t,r=e.description,o=void 0===r?null:r,i=e.icon,a=void 0===i?null:i,s=e.iconPosition,l=void 0===s?"right":s,c=e.tag,u=void 0===c?"h2":c,d=e.size,f=void 0===d?"sm":d,m=e.className,h=void 0===m?"":m,p={xs:"gap-1 [&>svg]:size-3.5",sm:"gap-1 [&>svg]:size-4",md:"gap-1.5 [&>svg]:size-5",lg:"gap-1.5 [&>svg]:size-5"};if(!n)return null;var g=function(){var e=u;return React.createElement(e,{className:re("font-semibold p-0 m-0",{xs:"text-base [&>*]:text-base gap-1",sm:"text-lg [&>*]:text-lg gap-1",md:"text-xl [&>*]:text-xl gap-1.5",lg:"text-2xl [&>*]:text-2xl gap-1.5"}[f])},n)};return o?React.createElement("div",{className:h},React.createElement("div",null,a&&"left"===l&&React.createElement("div",{className:re("flex items-center",p[f])},a,g()),a&&"right"===l&&React.createElement("div",{className:re("flex items-center",p[f])},g(),a),!a&&g()),React.createElement("p",{className:re("text-text-secondary font-normal my-0",{xs:"text-sm",sm:"text-sm",md:"text-base",lg:"text-base"}[f])},o)):React.createElement("div",{className:h},a&&"left"===l&&React.createElement("div",{className:re("flex items-center",p[f])},a,g()),a&&"right"===l&&React.createElement("div",{className:re("flex items-center",p[f])},g(),a),!a&&g())};const ni=xe("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);var ri=function(e){var t,n,r=e.variant,o=void 0===r?"primary":r,i=e.size,a=void 0===i?"md":i,s=e.icon,l=void 0===s?null:s,c=e.className,u=void 0===c?"":c,d=null===(t={primary:"text-brand-primary-600 bg-background-primary",secondary:"text-background-primary bg-brand-primary-600"})||void 0===t?void 0:t[o],f=null===(n={sm:"[&>svg]:h-4 [&>svg]:w-4",md:"[&>svg]:h-5 [&>svg]:w-5",lg:"[&>svg]:h-6 [&>svg]:w-6",xl:"[&>svg]:h-8 [&>svg]:w-8"})||void 0===n?void 0:n[a];return React.createElement("span",{className:re("flex",f,d,u)},l||React.createElement(ni,{className:"animate-spin"}))},oi=function(e){var t=e.progress,n=void 0===t?0:t,r=e.speed,o=void 0===r?200:r,i=e.className,a=void 0===i?"":i;if(!n)return null;var s=n;n<0&&(s=0),n>100&&(s=100);var l="translateX(-".concat(100-s,"%)"),c="h-2 rounded-full bg-background-brand absolute left-0 top-0 w-full bottom-0 origin-left transition-transform duration-".concat(o," ease-linear");return React.createElement("div",{className:re("h-2 rounded-full bg-misc-progress-background overflow-hidden relative",a),role:"progressbar","aria-valuenow":s,"aria-valuemin":"0","aria-valuemax":"100"},React.createElement("div",{className:c,style:{transform:l}}))},ii=["slug","text","icon","className","disabled","isFirstChild","isLastChild"];function ai(){return ai=Object.assign?Object.assign.bind():function(e){for(var t=1;tsvg]:size-4",sm:"py-2 px-2 text-base gap-1 [&>svg]:size-4",md:"py-2.5 px-2.5 text-base gap-1 [&>svg]:size-5"}[g],"border-0 border-r border-border-subtle border-solid",h===r?"bg-button-disabled":"",d?"rounded-tl rounded-bl border-0 border-r border-border-subtle":"",f?"rounded-tr rounded-br border-0":"",a);return l().createElement("button",ai({ref:t,className:v,disabled:u,onClick:function(e){p(e,{slug:r,text:o})}},m),"left"===y&&i&&l().createElement("span",{className:"mr-1"},i),o,"right"===y&&i&&l().createElement("span",{className:"ml-1"},i))}));li.displayName="Button";var ci={Group:function(e){var t=e.children,n=e.activeItem,r=void 0===n?null:n,o=e.onChange,i=e.className,a=e.size,c=void 0===a?"md":a,u=e.iconPosition,d=void 0===u?"left":u,f=(0,s.useCallback)((function(e,t){o&&o({event:e,value:t})}),[o]),m=re("box-border flex border border-border-subtle border-solid rounded",i);return l().createElement("div",{className:m},l().createElement(si.Provider,{value:{activeItem:r,onChange:f,size:c,iconPosition:d}},l().Children.map(t,(function(e,n){if(!(0,s.isValidElement)(e))return null;var r=0===n,o=n===l().Children.count(t)-1;return l().cloneElement(e,{index:n,isFirstChild:r,isLastChild:o})}))))},Button:li},ui=ci;function di(e){return null!==e&&"object"==typeof e&&"function"==typeof e.start}const fi=e=>Array.isArray(e);function mi(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;r{t[0][n]=e.get(),t[1][n]=e.getVelocity()})),t}function gi(e,t,n,r){if("function"==typeof t){const[o,i]=pi(r);t=t(void 0!==n?n:e.custom,o,i)}if("string"==typeof t&&(t=e.variants&&e.variants[t]),"function"==typeof t){const[o,i]=pi(r);t=t(void 0!==n?n:e.custom,o,i)}return t}function yi(e,t,n){const r=e.getProps();return gi(r,t,void 0!==n?n:r.custom,e)}const vi=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],bi=["initial",...vi],wi=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],xi=new Set(wi),Ei=e=>1e3*e,_i=e=>e/1e3,Si={type:"spring",stiffness:500,damping:25,restSpeed:10},ki={type:"keyframes",duration:.8},Ci={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Ni=(e,{keyframes:t})=>t.length>2?ki:xi.has(e)?e.startsWith("scale")?{type:"spring",stiffness:550,damping:0===t[1]?2*Math.sqrt(550):30,restSpeed:10}:Si:Ci;function Pi(e,t){return e[t]||e.default||e}const Ti=e=>null!==e;function Oi(e,{repeat:t,repeatType:n="loop"},r){const o=e.filter(Ti),i=t&&"loop"!==n&&t%2==1?0:o.length-1;return i&&void 0!==r?r:o[i]}const Mi=e=>e,Ri=["read","resolveKeyframes","update","preRender","render","postRender"];function Di(e,t){let n=!1,r=!0;const o={delta:0,timestamp:0,isProcessing:!1},i=()=>n=!0,a=Ri.reduce(((e,t)=>(e[t]=function(e){let t=new Set,n=new Set,r=!1,o=!1;const i=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function s(t){i.has(t)&&(l.schedule(t),e()),t(a)}const l={schedule:(e,o=!1,a=!1)=>{const s=a&&r?t:n;return o&&i.add(e),s.has(e)||s.add(e),e},cancel:e=>{n.delete(e),i.delete(e)},process:e=>{a=e,r?o=!0:(r=!0,[t,n]=[n,t],n.clear(),t.forEach(s),r=!1,o&&(o=!1,l.process(e)))}};return l}(i),e)),{}),{read:s,resolveKeyframes:l,update:c,preRender:u,render:d,postRender:f}=a,m=()=>{const i=performance.now();n=!1,o.delta=r?1e3/60:Math.max(Math.min(i-o.timestamp,40),1),o.timestamp=i,o.isProcessing=!0,s.process(o),l.process(o),c.process(o),u.process(o),d.process(o),f.process(o),o.isProcessing=!1,n&&t&&(r=!1,e(m))};return{schedule:Ri.reduce(((t,i)=>{const s=a[i];return t[i]=(t,i=!1,a=!1)=>(n||(n=!0,r=!0,o.isProcessing||e(m)),s.schedule(t,i,a)),t}),{}),cancel:e=>{for(let t=0;t/^0[^.\s]+$/u.test(e);let zi=Mi,Bi=Mi;const Wi=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),Vi=e=>t=>"string"==typeof t&&t.startsWith(e),Ui=Vi("--"),$i=Vi("var(--"),Hi=e=>!!$i(e)&&Yi.test(e.split("/*")[0].trim()),Yi=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,qi=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Ki(e,t,n=1){Bi(n<=4,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`);const[r,o]=function(e){const t=qi.exec(e);if(!t)return[,];const[,n,r,o]=t;return[`--${null!=n?n:r}`,o]}(e);if(!r)return;const i=window.getComputedStyle(t).getPropertyValue(r);if(i){const e=i.trim();return Wi(e)?parseFloat(e):e}return Hi(o)?Ki(o,t,n+1):o}const Gi=(e,t,n)=>n>t?t:n"number"==typeof e,parse:parseFloat,transform:e=>e},Zi={...Xi,transform:e=>Gi(0,1,e)},Ji={...Xi,default:1},Qi=e=>Math.round(1e5*e)/1e5,ea=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu,ta=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu,na=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;function ra(e){return"string"==typeof e}const oa=e=>({test:t=>ra(t)&&t.endsWith(e)&&1===t.split(" ").length,parse:parseFloat,transform:t=>`${t}${e}`}),ia=oa("deg"),aa=oa("%"),sa=oa("px"),la=oa("vh"),ca=oa("vw"),ua={...aa,parse:e=>aa.parse(e)/100,transform:e=>aa.transform(100*e)},da=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),fa=e=>e===Xi||e===sa,ma=(e,t)=>parseFloat(e.split(", ")[t]),ha=(e,t)=>(n,{transform:r})=>{if("none"===r||!r)return 0;const o=r.match(/^matrix3d\((.+)\)$/u);if(o)return ma(o[1],t);{const t=r.match(/^matrix\((.+)\)$/u);return t?ma(t[1],e):0}},pa=new Set(["x","y","z"]),ga=wi.filter((e=>!pa.has(e))),ya={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:ha(4,13),y:ha(5,14)};ya.translateX=ya.x,ya.translateY=ya.y;const va=e=>t=>t.test(e),ba=[Xi,sa,aa,ia,ca,la,{test:e=>"auto"===e,parse:e=>e}],wa=e=>ba.find(va(e)),xa=new Set;let Ea=!1,_a=!1;function Sa(){if(_a){const e=Array.from(xa).filter((e=>e.needsMeasurement)),t=new Set(e.map((e=>e.element))),n=new Map;t.forEach((e=>{const t=function(e){const t=[];return ga.forEach((n=>{const r=e.getValue(n);void 0!==r&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))})),t}(e);t.length&&(n.set(e,t),e.render())})),e.forEach((e=>e.measureInitialState())),t.forEach((e=>{e.render();const t=n.get(e);t&&t.forEach((([t,n])=>{var r;null===(r=e.getValue(t))||void 0===r||r.set(n)}))})),e.forEach((e=>e.measureEndState())),e.forEach((e=>{void 0!==e.suspendedScrollY&&window.scrollTo(0,e.suspendedScrollY)}))}_a=!1,Ea=!1,xa.forEach((e=>e.complete())),xa.clear()}function ka(){xa.forEach((e=>{e.readKeyframes(),e.needsMeasurement&&(_a=!0)}))}class Ca{constructor(e,t,n,r,o,i=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=o,this.isAsync=i}scheduleResolve(){this.isScheduled=!0,this.isAsync?(xa.add(this),Ea||(Ea=!0,Ai.read(ka),Ai.resolveKeyframes(Sa))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;for(let o=0;on=>Boolean(ra(n)&&na.test(n)&&n.startsWith(e)||t&&!function(e){return null==e}(n)&&Object.prototype.hasOwnProperty.call(n,t)),Pa=(e,t,n)=>r=>{if(!ra(r))return r;const[o,i,a,s]=r.match(ea);return{[e]:parseFloat(o),[t]:parseFloat(i),[n]:parseFloat(a),alpha:void 0!==s?parseFloat(s):1}},Ta={...Xi,transform:e=>Math.round((e=>Gi(0,255,e))(e))},Oa={test:Na("rgb","red"),parse:Pa("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+Ta.transform(e)+", "+Ta.transform(t)+", "+Ta.transform(n)+", "+Qi(Zi.transform(r))+")"},Ma={test:Na("#"),parse:function(e){let t="",n="",r="",o="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),o=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),o=e.substring(4,5),t+=t,n+=n,r+=r,o+=o),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:o?parseInt(o,16)/255:1}},transform:Oa.transform},Ra={test:Na("hsl","hue"),parse:Pa("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+aa.transform(Qi(t))+", "+aa.transform(Qi(n))+", "+Qi(Zi.transform(r))+")"},Da={test:e=>Oa.test(e)||Ma.test(e)||Ra.test(e),parse:e=>Oa.test(e)?Oa.parse(e):Ra.test(e)?Ra.parse(e):Ma.parse(e),transform:e=>ra(e)?e:e.hasOwnProperty("red")?Oa.transform(e):Ra.transform(e)},Aa="number",ja="color",Ia=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Fa(e){const t=e.toString(),n=[],r={color:[],number:[],var:[]},o=[];let i=0;const a=t.replace(Ia,(e=>(Da.test(e)?(r.color.push(i),o.push(ja),n.push(Da.parse(e))):e.startsWith("var(")?(r.var.push(i),o.push("var"),n.push(e)):(r.number.push(i),o.push(Aa),n.push(parseFloat(e))),++i,"${}"))).split("${}");return{values:n,split:a,indexes:r,types:o}}function La(e){return Fa(e).values}function za(e){const{split:t,types:n}=Fa(e),r=t.length;return e=>{let o="";for(let i=0;i"number"==typeof e?0:e,Wa={test:function(e){var t,n;return isNaN(e)&&ra(e)&&((null===(t=e.match(ea))||void 0===t?void 0:t.length)||0)+((null===(n=e.match(ta))||void 0===n?void 0:n.length)||0)>0},parse:La,createTransformer:za,getAnimatableNone:function(e){const t=La(e);return za(e)(t.map(Ba))}},Va=new Set(["brightness","contrast","saturate","opacity"]);function Ua(e){const[t,n]=e.slice(0,-1).split("(");if("drop-shadow"===t)return e;const[r]=n.match(ea)||[];if(!r)return e;const o=n.replace(r,"");let i=Va.has(t)?1:0;return r!==n&&(i*=100),t+"("+i+o+")"}const $a=/\b([a-z-]*)\(.*?\)/gu,Ha={...Wa,getAnimatableNone:e=>{const t=e.match($a);return t?t.map(Ua).join(" "):e}},Ya={...Xi,transform:Math.round},qa={borderWidth:sa,borderTopWidth:sa,borderRightWidth:sa,borderBottomWidth:sa,borderLeftWidth:sa,borderRadius:sa,radius:sa,borderTopLeftRadius:sa,borderTopRightRadius:sa,borderBottomRightRadius:sa,borderBottomLeftRadius:sa,width:sa,maxWidth:sa,height:sa,maxHeight:sa,size:sa,top:sa,right:sa,bottom:sa,left:sa,padding:sa,paddingTop:sa,paddingRight:sa,paddingBottom:sa,paddingLeft:sa,margin:sa,marginTop:sa,marginRight:sa,marginBottom:sa,marginLeft:sa,rotate:ia,rotateX:ia,rotateY:ia,rotateZ:ia,scale:Ji,scaleX:Ji,scaleY:Ji,scaleZ:Ji,skew:ia,skewX:ia,skewY:ia,distance:sa,translateX:sa,translateY:sa,translateZ:sa,x:sa,y:sa,z:sa,perspective:sa,transformPerspective:sa,opacity:Zi,originX:ua,originY:ua,originZ:sa,zIndex:Ya,backgroundPositionX:sa,backgroundPositionY:sa,fillOpacity:Zi,strokeOpacity:Zi,numOctaves:Ya},Ka={...qa,color:Da,backgroundColor:Da,outlineColor:Da,fill:Da,stroke:Da,borderColor:Da,borderTopColor:Da,borderRightColor:Da,borderBottomColor:Da,borderLeftColor:Da,filter:Ha,WebkitFilter:Ha},Ga=e=>Ka[e];function Xa(e,t){let n=Ga(e);return n!==Ha&&(n=Wa),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const Za=new Set(["auto","none","0"]);class Ja extends Ca{constructor(e,t,n,r,o){super(e,t,n,r,o,!0)}readKeyframes(){const{unresolvedKeyframes:e,element:t,name:n}=this;if(!t||!t.current)return;super.readKeyframes();for(let n=0;n{t.getValue(e).set(n)})),this.resolveNoneKeyframes()}}function Qa(e){let t;return()=>(void 0===t&&(t=e()),t)}let es;function ts(){es=void 0}const ns={now:()=>(void 0===es&&ns.set(Ii.isProcessing?Ii.timestamp:performance.now()),es),set:e=>{es=e,queueMicrotask(ts)}},rs=(e,t)=>!("zIndex"===t||"number"!=typeof e&&!Array.isArray(e)&&("string"!=typeof e||!Wa.test(e)&&"0"!==e||e.startsWith("url(")));class os{constructor({autoplay:e=!0,delay:t=0,type:n="keyframes",repeat:r=0,repeatDelay:o=0,repeatType:i="loop",...a}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=ns.now(),this.options={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:o,repeatType:i,...a},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt}get resolved(){return this._resolved||this.hasAttemptedResolve||(ka(),Sa()),this._resolved}onKeyframesResolved(e,t){this.resolvedAt=ns.now(),this.hasAttemptedResolve=!0;const{name:n,type:r,velocity:o,delay:i,onComplete:a,onUpdate:s,isGenerator:l}=this.options;if(!l&&!function(e,t,n,r){const o=e[0];if(null===o)return!1;if("display"===t||"visibility"===t)return!0;const i=e[e.length-1],a=rs(o,t),s=rs(i,t);return zi(a===s,`You are trying to animate ${t} from "${o}" to "${i}". ${o} is not an animatable value - to enable this animation set ${o} to a value animatable to ${i} via the \`style\` property.`),!(!a||!s)&&(function(e){const t=e[0];if(1===e.length)return!0;for(let n=0;n{this.resolveFinishedPromise=e}))}}function is(e,t){return t?e*(1e3/t):0}function as(e,t,n){const r=Math.max(t-5,0);return is(n-e(r),t-r)}const ss=.001;function ls(e,t){return e*Math.sqrt(1-t*t)}const cs=["duration","bounce"],us=["stiffness","damping","mass"];function ds(e,t){return t.some((t=>void 0!==e[t]))}function fs({keyframes:e,restDelta:t,restSpeed:n,...r}){const o=e[0],i=e[e.length-1],a={done:!1,value:o},{stiffness:s,damping:l,mass:c,duration:u,velocity:d,isResolvedFromDuration:f}=function(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!ds(e,us)&&ds(e,cs)){const n=function({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let o,i;zi(e<=Ei(10),"Spring duration must be 10 seconds or less");let a=1-t;a=Gi(.05,1,a),e=Gi(.01,10,_i(e)),a<1?(o=t=>{const r=t*a,o=r*e,i=r-n,s=ls(t,a),l=Math.exp(-o);return ss-i/s*l},i=t=>{const r=t*a*e,i=r*n+n,s=Math.pow(a,2)*Math.pow(t,2)*e,l=Math.exp(-r),c=ls(Math.pow(t,2),a);return(-o(t)+ss>0?-1:1)*((i-s)*l)/c}):(o=t=>Math.exp(-t*e)*((t-n)*e+1)-ss,i=t=>Math.exp(-t*e)*(e*e*(n-t)));const s=function(e,t,n){let r=n;for(let n=1;n<12;n++)r-=e(r)/t(r);return r}(o,i,5/e);if(e=Ei(e),isNaN(s))return{stiffness:100,damping:10,duration:e};{const t=Math.pow(s,2)*r;return{stiffness:t,damping:2*a*Math.sqrt(r*t),duration:e}}}(e);t={...t,...n,mass:1},t.isResolvedFromDuration=!0}return t}({...r,velocity:-_i(r.velocity||0)}),m=d||0,h=l/(2*Math.sqrt(s*c)),p=i-o,g=_i(Math.sqrt(s/c)),y=Math.abs(p)<5;let v;if(n||(n=y?.01:2),t||(t=y?.005:.5),h<1){const e=ls(g,h);v=t=>{const n=Math.exp(-h*g*t);return i-n*((m+h*g*p)/e*Math.sin(e*t)+p*Math.cos(e*t))}}else if(1===h)v=e=>i-Math.exp(-g*e)*(p+(m+g*p)*e);else{const e=g*Math.sqrt(h*h-1);v=t=>{const n=Math.exp(-h*g*t),r=Math.min(e*t,300);return i-n*((m+h*g*p)*Math.sinh(r)+e*p*Math.cosh(r))/e}}return{calculatedDuration:f&&u||null,next:e=>{const r=v(e);if(f)a.done=e>=u;else{let o=0;h<1&&(o=0===e?Ei(m):as(v,e,r));const s=Math.abs(o)<=n,l=Math.abs(i-r)<=t;a.done=s&&l}return a.value=a.done?i:r,a}}}function ms({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:o=10,bounceStiffness:i=500,modifyTarget:a,min:s,max:l,restDelta:c=.5,restSpeed:u}){const d=e[0],f={done:!1,value:d},m=e=>void 0===s?l:void 0===l||Math.abs(s-e)-h*Math.exp(-e/r),v=e=>g+y(e),b=e=>{const t=y(e),n=v(e);f.done=Math.abs(t)<=c,f.value=f.done?g:n};let w,x;const E=e=>{(e=>void 0!==s&&el)(f.value)&&(w=e,x=fs({keyframes:[f.value,m(f.value)],velocity:as(v,e,f.value),damping:o,stiffness:i,restDelta:c,restSpeed:u}))};return E(0),{calculatedDuration:null,next:e=>{let t=!1;return x||void 0!==w||(t=!0,b(e),E(e)),void 0!==w&&e>=w?x.next(e-w):(!t&&b(e),f)}}}const hs=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e;function ps(e,t,n,r){return e===t&&n===r?Mi:o=>0===o||1===o?o:hs(function(e,t,n,r,o){let i,a,s=0;do{a=t+(n-t)/2,i=hs(a,r,o)-e,i>0?n=a:t=a}while(Math.abs(i)>1e-7&&++s<12);return a}(o,0,1,e,n),t,r)}const gs=ps(.42,0,1,1),ys=ps(0,0,.58,1),vs=ps(.42,0,.58,1),bs=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,ws=e=>t=>1-e(1-t),xs=e=>1-Math.sin(Math.acos(e)),Es=ws(xs),_s=bs(xs),Ss=ps(.33,1.53,.69,.99),ks=ws(Ss),Cs=bs(ks),Ns={linear:Mi,easeIn:gs,easeInOut:vs,easeOut:ys,circIn:xs,circInOut:_s,circOut:Es,backIn:ks,backInOut:Cs,backOut:Ss,anticipate:e=>(e*=2)<1?.5*ks(e):.5*(2-Math.pow(2,-10*(e-1)))},Ps=e=>{if(Array.isArray(e)){Bi(4===e.length,"Cubic bezier arrays must contain four numerical values.");const[t,n,r,o]=e;return ps(t,n,r,o)}return"string"==typeof e?(Bi(void 0!==Ns[e],`Invalid easing type '${e}'`),Ns[e]):e},Ts=(e,t)=>n=>t(e(n)),Os=(...e)=>e.reduce(Ts),Ms=(e,t,n)=>{const r=t-e;return 0===r?1:(n-e)/r},Rs=(e,t,n)=>e+(t-e)*n;function Ds(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function As(e,t){return n=>n>0?t:e}const js=(e,t,n)=>{const r=e*e,o=n*(t*t-r)+r;return o<0?0:Math.sqrt(o)},Is=[Ma,Oa,Ra];function Fs(e){const t=(e=>Is.find((t=>t.test(e))))(e);if(zi(Boolean(t),`'${e}' is not an animatable color. Use the equivalent color code instead.`),!Boolean(t))return!1;let n=t.parse(e);return t===Ra&&(n=function({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,n/=100;let o=0,i=0,a=0;if(t/=100){const r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;o=Ds(s,r,e+1/3),i=Ds(s,r,e),a=Ds(s,r,e-1/3)}else o=i=a=n;return{red:Math.round(255*o),green:Math.round(255*i),blue:Math.round(255*a),alpha:r}}(n)),n}const Ls=(e,t)=>{const n=Fs(e),r=Fs(t);if(!n||!r)return As(e,t);const o={...n};return e=>(o.red=js(n.red,r.red,e),o.green=js(n.green,r.green,e),o.blue=js(n.blue,r.blue,e),o.alpha=Rs(n.alpha,r.alpha,e),Oa.transform(o))},zs=new Set(["none","hidden"]);function Bs(e,t){return n=>Rs(e,t,n)}function Ws(e){return"number"==typeof e?Bs:"string"==typeof e?Hi(e)?As:Da.test(e)?Ls:$s:Array.isArray(e)?Vs:"object"==typeof e?Da.test(e)?Ls:Us:As}function Vs(e,t){const n=[...e],r=n.length,o=e.map(((e,n)=>Ws(e)(e,t[n])));return e=>{for(let t=0;t{for(const t in r)n[t]=r[t](e);return n}}const $s=(e,t)=>{const n=Wa.createTransformer(t),r=Fa(e),o=Fa(t);return r.indexes.var.length===o.indexes.var.length&&r.indexes.color.length===o.indexes.color.length&&r.indexes.number.length>=o.indexes.number.length?zs.has(e)&&!o.values.length||zs.has(t)&&!r.values.length?function(e,t){return zs.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}(e,t):Os(Vs(function(e,t){var n;const r=[],o={color:0,var:0,number:0};for(let i=0;iArray.isArray(e)&&"number"!=typeof e[0])(r)?r.map(Ps):Ps(r),i={done:!1,value:t[0]},a=function(e,t){return e.map((e=>e*t))}(n&&n.length===t.length?n:function(e){const t=[0];return function(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const o=Ms(0,t,r);e.push(Rs(n,1,o))}}(t,e.length-1),t}(t),e),s=function(e,t,{clamp:n=!0,ease:r,mixer:o}={}){const i=e.length;if(Bi(i===t.length,"Both input and output ranges must be the same length"),1===i)return()=>t[0];if(2===i&&e[0]===e[1])return()=>t[1];e[0]>e[i-1]&&(e=[...e].reverse(),t=[...t].reverse());const a=function(e,t,n){const r=[],o=n||Hs,i=e.length-1;for(let n=0;n{let n=0;if(s>1)for(;nl(Gi(e[0],e[i-1],t)):l}(a,t,{ease:Array.isArray(o)?o:(l=t,c=o,l.map((()=>c||vs)).splice(0,l.length-1))});var l,c;return{calculatedDuration:e,next:t=>(i.value=s(t),i.done=t>=e,i)}}const qs=e=>{const t=({timestamp:t})=>e(t);return{start:()=>Ai.update(t,!0),stop:()=>ji(t),now:()=>Ii.isProcessing?Ii.timestamp:ns.now()}},Ks={decay:ms,inertia:ms,tween:Ys,keyframes:Ys,spring:fs},Gs=e=>e/100;class Xs extends os{constructor(e){super(e),this.holdTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState="running",this.startTime=null,this.state="idle",this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,"idle"===this.state)return;this.teardown();const{onStop:e}=this.options;e&&e()};const{name:t,motionValue:n,element:r,keyframes:o}=this.options,i=(null==r?void 0:r.KeyframeResolver)||Ca;this.resolver=new i(o,((e,t)=>this.onKeyframesResolved(e,t)),t,n,r),this.resolver.scheduleResolve()}initPlayback(e){const{type:t="keyframes",repeat:n=0,repeatDelay:r=0,repeatType:o,velocity:i=0}=this.options,a=Ks[t]||Ys;let s,l;a!==Ys&&"number"!=typeof e[0]&&(s=Os(Gs,Hs(e[0],e[1])),e=[0,100]);const c=a({...this.options,keyframes:e});"mirror"===o&&(l=a({...this.options,keyframes:[...e].reverse(),velocity:-i})),null===c.calculatedDuration&&(c.calculatedDuration=function(e){let t=0,n=e.next(t);for(;!n.done&&t<2e4;)t+=50,n=e.next(t);return t>=2e4?1/0:t}(c));const{calculatedDuration:u}=c,d=u+r;return{generator:c,mirroredGenerator:l,mapPercentToKeyframes:s,calculatedDuration:u,resolvedDuration:d,totalDuration:d*(n+1)-r}}onPostResolved(){const{autoplay:e=!0}=this.options;this.play(),"paused"!==this.pendingPlayState&&e?this.state=this.pendingPlayState:this.pause()}tick(e,t=!1){const{resolved:n}=this;if(!n){const{keyframes:e}=this.options;return{done:!0,value:e[e.length-1]}}const{finalKeyframe:r,generator:o,mirroredGenerator:i,mapPercentToKeyframes:a,keyframes:s,calculatedDuration:l,totalDuration:c,resolvedDuration:u}=n;if(null===this.startTime)return o.next(0);const{delay:d,repeat:f,repeatType:m,repeatDelay:h,onUpdate:p}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-c/this.speed,this.startTime)),t?this.currentTime=e:null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=Math.round(e-this.startTime)*this.speed;const g=this.currentTime-d*(this.speed>=0?1:-1),y=this.speed>=0?g<0:g>c;this.currentTime=Math.max(g,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=c);let v=this.currentTime,b=o;if(f){const e=Math.min(this.currentTime,c)/u;let t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),1===n&&t--,t=Math.min(t,f+1),Boolean(t%2)&&("reverse"===m?(n=1-n,h&&(n-=h/u)):"mirror"===m&&(b=i)),v=Gi(0,1,n)*u}const w=y?{done:!1,value:s[0]}:b.next(v);a&&(w.value=a(w.value));let{done:x}=w;y||null===l||(x=this.speed>=0?this.currentTime>=c:this.currentTime<=0);const E=null===this.holdTime&&("finished"===this.state||"running"===this.state&&x);return E&&void 0!==r&&(w.value=Oi(s,this.options,r)),p&&p(w.value),E&&this.finish(),w}get duration(){const{resolved:e}=this;return e?_i(e.calculatedDuration):0}get time(){return _i(this.currentTime)}set time(e){e=Ei(e),this.currentTime=e,null!==this.holdTime||0===this.speed?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.speed)}get speed(){return this.playbackSpeed}set speed(e){const t=this.playbackSpeed!==e;this.playbackSpeed=e,t&&(this.time=_i(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved)return void(this.pendingPlayState="running");if(this.isStopped)return;const{driver:e=qs,onPlay:t,startTime:n}=this.options;this.driver||(this.driver=e((e=>this.tick(e)))),t&&t();const r=this.driver.now();null!==this.holdTime?this.startTime=r-this.holdTime:this.startTime?"finished"===this.state&&(this.startTime=r):this.startTime=null!=n?n:this.calcStartTime(),"finished"===this.state&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state="running",this.driver.start()}pause(){var e;this._resolved?(this.state="paused",this.holdTime=null!==(e=this.currentTime)&&void 0!==e?e:0):this.pendingPlayState="paused"}complete(){"running"!==this.state&&this.play(),this.pendingPlayState=this.state="finished",this.holdTime=null}finish(){this.teardown(),this.state="finished";const{onComplete:e}=this.options;e&&e()}cancel(){null!==this.cancelTime&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state="idle",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}}const Zs=new Set(["opacity","clipPath","filter","transform"]),Js=e=>Array.isArray(e)&&"number"==typeof e[0];function Qs(e){return Boolean(!e||"string"==typeof e&&e in tl||Js(e)||Array.isArray(e)&&e.every(Qs))}const el=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,tl={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:el([0,.65,.55,1]),circOut:el([.55,0,1,.45]),backIn:el([.31,.01,.66,-.59]),backOut:el([.33,1.53,.69,.99])};function nl(e){return rl(e)||tl.easeOut}function rl(e){return e?Js(e)?el(e):Array.isArray(e)?e.map(nl):tl[e]:void 0}const ol=Qa((()=>Object.hasOwnProperty.call(Element.prototype,"animate")));class il extends os{constructor(e){super(e);const{name:t,motionValue:n,element:r,keyframes:o}=this.options;this.resolver=new Ja(o,((e,t)=>this.onKeyframesResolved(e,t)),t,n,r),this.resolver.scheduleResolve()}initPlayback(e,t){var n;let{duration:r=300,times:o,ease:i,type:a,motionValue:s,name:l,startTime:c}=this.options;if(!(null===(n=s.owner)||void 0===n?void 0:n.current))return!1;if("spring"===(u=this.options).type||!Qs(u.ease)){const{onComplete:t,onUpdate:n,motionValue:s,element:l,...c}=this.options,u=function(e,t){const n=new Xs({...t,keyframes:e,repeat:0,delay:0,isGenerator:!0});let r={done:!1,value:e[0]};const o=[];let i=0;for(;!r.done&&i<2e4;)r=n.sample(i),o.push(r.value),i+=10;return{times:void 0,keyframes:o,duration:i-10,ease:"linear"}}(e,c);1===(e=u.keyframes).length&&(e[1]=e[0]),r=u.duration,o=u.times,i=u.ease,a="keyframes"}var u;const d=function(e,t,n,{delay:r=0,duration:o=300,repeat:i=0,repeatType:a="loop",ease:s,times:l}={}){const c={[t]:n};l&&(c.offset=l);const u=rl(s);return Array.isArray(u)&&(c.easing=u),e.animate(c,{delay:r,duration:o,easing:Array.isArray(u)?"linear":u,fill:"both",iterations:i+1,direction:"reverse"===a?"alternate":"normal"})}(s.owner.current,l,e,{...this.options,duration:r,times:o,ease:i});return d.startTime=null!=c?c:this.calcStartTime(),this.pendingTimeline?(d.timeline=this.pendingTimeline,this.pendingTimeline=void 0):d.onfinish=()=>{const{onComplete:n}=this.options;s.set(Oi(e,this.options,t)),n&&n(),this.cancel(),this.resolveFinishedPromise()},{animation:d,duration:r,times:o,type:a,ease:i,keyframes:e}}get duration(){const{resolved:e}=this;if(!e)return 0;const{duration:t}=e;return _i(t)}get time(){const{resolved:e}=this;if(!e)return 0;const{animation:t}=e;return _i(t.currentTime||0)}set time(e){const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.currentTime=Ei(e)}get speed(){const{resolved:e}=this;if(!e)return 1;const{animation:t}=e;return t.playbackRate}set speed(e){const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.playbackRate=e}get state(){const{resolved:e}=this;if(!e)return"idle";const{animation:t}=e;return t.playState}get startTime(){const{resolved:e}=this;if(!e)return null;const{animation:t}=e;return t.startTime}attachTimeline(e){if(this._resolved){const{resolved:t}=this;if(!t)return Mi;const{animation:n}=t;n.timeline=e,n.onfinish=null}else this.pendingTimeline=e;return Mi}play(){if(this.isStopped)return;const{resolved:e}=this;if(!e)return;const{animation:t}=e;"finished"===t.playState&&this.updateFinishedPromise(),t.play()}pause(){const{resolved:e}=this;if(!e)return;const{animation:t}=e;t.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,"idle"===this.state)return;this.resolveFinishedPromise(),this.updateFinishedPromise();const{resolved:e}=this;if(!e)return;const{animation:t,keyframes:n,duration:r,type:o,ease:i,times:a}=e;if("idle"===t.playState||"finished"===t.playState)return;if(this.time){const{motionValue:e,onUpdate:t,onComplete:s,element:l,...c}=this.options,u=new Xs({...c,keyframes:n,duration:r,type:o,ease:i,times:a,isGenerator:!0}),d=Ei(this.time);e.setWithVelocity(u.sample(d-10).value,u.sample(d).value,10)}const{onStop:s}=this.options;s&&s(),this.cancel()}complete(){const{resolved:e}=this;e&&e.animation.finish()}cancel(){const{resolved:e}=this;e&&e.animation.cancel()}static supports(e){const{motionValue:t,name:n,repeatDelay:r,repeatType:o,damping:i,type:a}=e;return ol()&&n&&Zs.has(n)&&t&&t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate&&!r&&"mirror"!==o&&0!==i&&"inertia"!==a}}const al=Qa((()=>void 0!==window.ScrollTimeline));class sl{constructor(e){this.stop=()=>this.runAll("stop"),this.animations=e.filter(Boolean)}then(e,t){return Promise.all(this.animations).then(e).catch(t)}getAll(e){return this.animations[0][e]}setAll(e,t){for(let n=0;n{if(!al()||!t.attachTimeline)return t.pause(),function(e,n){let r;const o=()=>{const{currentTime:e}=n,o=(null===e?0:e.value)/100;r!==o&&(e=>{t.time=t.duration*e})(o),r=o};return Ai.update(o,!0),()=>ji(o)}(0,e);t.attachTimeline(e)}));return()=>{t.forEach(((e,t)=>{e&&e(),this.animations[t].stop()}))}}get time(){return this.getAll("time")}set time(e){this.setAll("time",e)}get speed(){return this.getAll("speed")}set speed(e){this.setAll("speed",e)}get startTime(){return this.getAll("startTime")}get duration(){let e=0;for(let t=0;tt[e]()))}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}const ll=(e,t,n,r={},o,i,a)=>s=>{const l=Pi(r,e)||{},c=l.delay||r.delay||0;let{elapsed:u=0}=r;u-=Ei(c);let d={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...l,delay:-u,onUpdate:e=>{t.set(e),l.onUpdate&&l.onUpdate(e)},onComplete:()=>{s(),l.onComplete&&l.onComplete(),a&&a()},onStop:a,name:e,motionValue:t,element:i?void 0:o};(function({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:o,repeat:i,repeatType:a,repeatDelay:s,from:l,elapsed:c,...u}){return!!Object.keys(u).length})(l)||(d={...d,...Ni(e,d)}),d.duration&&(d.duration=Ei(d.duration)),d.repeatDelay&&(d.repeatDelay=Ei(d.repeatDelay)),void 0!==d.from&&(d.keyframes[0]=d.from);let f=!1;if((!1===d.type||0===d.duration&&!d.repeatDelay)&&(d.duration=0,0===d.delay&&(f=!0)),f&&!i&&void 0!==t.get()){const e=Oi(d.keyframes,l);if(void 0!==e)return Ai.update((()=>{d.onUpdate(e),d.onComplete()})),new sl([])}return!i&&il.supports(d)?new il(d):new Xs(d)},cl=e=>fi(e)?e[e.length-1]||0:e;function ul(e,t){-1===e.indexOf(t)&&e.push(t)}function dl(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class fl{constructor(){this.subscriptions=[]}add(e){return ul(this.subscriptions,e),()=>dl(this.subscriptions,e)}notify(e,t,n){const r=this.subscriptions.length;if(r)if(1===r)this.subscriptions[0](e,t,n);else for(let o=0;o{const n=ns.now();this.updatedAt!==n&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),t&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){var t;this.current=e,this.updatedAt=ns.now(),null===this.canTrackVelocity&&void 0!==e&&(this.canTrackVelocity=(t=this.current,!isNaN(parseFloat(t))))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on("change",e)}on(e,t){this.events[e]||(this.events[e]=new fl);const n=this.events[e].add(t);return"change"===e?()=>{n(),Ai.read((()=>{this.events.change.getSize()||this.stop()}))}:n}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e,t=!0){t&&this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e,t)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return ml.current&&ml.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){const e=ns.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||e-this.updatedAt>30)return 0;const t=Math.min(this.updatedAt-this.prevUpdatedAt,30);return is(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise((t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()})).then((()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()}))}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function pl(e,t){return new hl(e,t)}function gl(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,pl(n))}const yl=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),vl="data-"+yl("framerAppearId");function bl(e){return e.props[vl]}function wl(e){return xi.has(e)?"transform":Zs.has(e)?yl(e):void 0}class xl extends hl{constructor(){super(...arguments),this.output=[],this.counts=new Map}add(e){const t=wl(e);if(!t)return;const n=this.counts.get(t)||0;this.counts.set(t,n+1),0===n&&(this.output.push(t),this.update());let r=!1;return()=>{if(r)return;r=!0;const e=this.counts.get(t)-1;this.counts.set(t,e),0===e&&(dl(this.output,t),this.update())}}update(){this.set(this.output.length?this.output.join(", "):"auto")}}const El=e=>Boolean(e&&e.getVelocity);function _l(e,t){var n;if(!e.applyWillChange)return;let r=e.getValue("willChange");return r||(null===(n=e.props.style)||void 0===n?void 0:n.willChange)||(r=new xl("auto"),e.addValue("willChange",r)),o=r,Boolean(El(o)&&o.add)?r.add(t):void 0;var o}function Sl({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&!0!==t[n];return t[n]=!1,r}function kl(e,t,{delay:n=0,transitionOverride:r,type:o}={}){var i;let{transition:a=e.getDefaultTransition(),transitionEnd:s,...l}=t;r&&(a=r);const c=[],u=o&&e.animationState&&e.animationState.getState()[o];for(const t in l){const r=e.getValue(t,null!==(i=e.latestValues[t])&&void 0!==i?i:null),o=l[t];if(void 0===o||u&&Sl(u,t))continue;const s={delay:n,...Pi(a||{},t)};let d=!1;if(window.MotionHandoffAnimation){const n=bl(e);if(n){const e=window.MotionHandoffAnimation(n,t,Ai);null!==e&&(s.startTime=e,d=!0)}}r.start(ll(t,r,o,e.shouldReduceMotion&&xi.has(t)?{type:!1}:s,e,d,_l(e,t)));const f=r.animation;f&&c.push(f)}return s&&Promise.all(c).then((()=>{Ai.update((()=>{s&&function(e,t){const n=yi(e,t);let{transitionEnd:r={},transition:o={},...i}=n||{};i={...i,...r};for(const t in i)gl(e,t,cl(i[t]))}(e,s)}))})),c}function Cl(e,t,n={}){var r;const o=yi(e,t,"exit"===n.type?null===(r=e.presenceContext)||void 0===r?void 0:r.custom:void 0);let{transition:i=e.getDefaultTransition()||{}}=o||{};n.transitionOverride&&(i=n.transitionOverride);const a=o?()=>Promise.all(kl(e,o,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(r=0)=>{const{delayChildren:o=0,staggerChildren:a,staggerDirection:s}=i;return function(e,t,n=0,r=0,o=1,i){const a=[],s=(e.variantChildren.size-1)*r,l=1===o?(e=0)=>e*r:(e=0)=>s-e*r;return Array.from(e.variantChildren).sort(Nl).forEach(((e,r)=>{e.notify("AnimationStart",t),a.push(Cl(e,t,{...i,delay:n+l(r)}).then((()=>e.notify("AnimationComplete",t))))})),Promise.all(a)}(e,t,o+r,a,s,n)}:()=>Promise.resolve(),{when:l}=i;if(l){const[e,t]="beforeChildren"===l?[a,s]:[s,a];return e().then((()=>t()))}return Promise.all([a(),s(n.delay)])}function Nl(e,t){return e.sortNodePosition(t)}const Pl=[...vi].reverse(),Tl=vi.length;function Ol(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Ml(){return{animate:Ol(!0),whileInView:Ol(),whileHover:Ol(),whileTap:Ol(),whileDrag:Ol(),whileFocus:Ol(),exit:Ol()}}class Rl{constructor(e){this.isMounted=!1,this.node=e}update(){}}let Dl=0;const Al={animation:{Feature:class extends Rl{constructor(e){super(e),e.animationState||(e.animationState=function(e){let t=function(e){return t=>Promise.all(t.map((({animation:t,options:n})=>function(e,t,n={}){let r;if(e.notify("AnimationStart",t),Array.isArray(t)){const o=t.map((t=>Cl(e,t,n)));r=Promise.all(o)}else if("string"==typeof t)r=Cl(e,t,n);else{const o="function"==typeof t?yi(e,t,n.custom):t;r=Promise.all(kl(e,o,n))}return r.then((()=>{e.notify("AnimationComplete",t)}))}(e,t,n))))}(e),n=Ml(),r=!0;const o=t=>(n,r)=>{var o;const i=yi(e,r,"exit"===t?null===(o=e.presenceContext)||void 0===o?void 0:o.custom:void 0);if(i){const{transition:e,transitionEnd:t,...r}=i;n={...n,...r,...t}}return n};function i(i){const a=e.getProps(),s=e.getVariantContext(!0)||{},l=[],c=new Set;let u={},d=1/0;for(let t=0;td&&y),x=!1;const E=Array.isArray(g)?g:[g];let _=E.reduce(o(h),{});!1===v&&(_={});const{prevResolvedValues:S={}}=p,k={...S,..._},C=t=>{w=!0,c.has(t)&&(x=!0,c.delete(t)),p.needsAnimating[t]=!0;const n=e.getValue(t);n&&(n.liveStyle=!1)};for(const e in k){const t=_[e],n=S[e];if(u.hasOwnProperty(e))continue;let r=!1;r=fi(t)&&fi(n)?!mi(t,n):t!==n,r?null!=t?C(e):c.add(e):void 0!==t&&c.has(e)?C(e):p.protectedKeys[e]=!0}p.prevProp=g,p.prevResolvedValues=_,p.isActive&&(u={...u,..._}),r&&e.blockInitialAnimation&&(w=!1),!w||b&&!x||l.push(...E.map((e=>({animation:e,options:{type:h}}))))}var f,m;if(c.size){const t={};c.forEach((n=>{const r=e.getBaseTarget(n),o=e.getValue(n);o&&(o.liveStyle=!0),t[n]=null!=r?r:null})),l.push({animation:t})}let h=Boolean(l.length);return!r||!1!==a.initial&&a.initial!==a.animate||e.manuallyAnimateOnMount||(h=!1),r=!1,h?t(l):Promise.resolve()}return{animateChanges:i,setActive:function(t,r){var o;if(n[t].isActive===r)return Promise.resolve();null===(o=e.variantChildren)||void 0===o||o.forEach((e=>{var n;return null===(n=e.animationState)||void 0===n?void 0:n.setActive(t,r)})),n[t].isActive=r;const a=i(t);for(const e in n)n[e].protectedKeys={};return a},setAnimateFunction:function(n){t=n(e)},getState:()=>n,reset:()=>{n=Ml(),r=!0}}}(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();di(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){var e;this.node.animationState.reset(),null===(e=this.unmountControls)||void 0===e||e.call(this)}}},exit:{Feature:class extends Rl{constructor(){super(...arguments),this.id=Dl++}update(){if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;const r=this.node.animationState.setActive("exit",!e);t&&!e&&r.then((()=>t(this.id)))}mount(){const{register:e}=this.node.presenceContext||{};e&&(this.unmount=e(this.id))}unmount(){}}}},jl=e=>"mouse"===e.pointerType?"number"!=typeof e.button||e.button<=0:!1!==e.isPrimary;function Il(e,t="page"){return{point:{x:e[`${t}X`],y:e[`${t}Y`]}}}function Fl(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}function Ll(e,t,n,r){return Fl(e,t,(e=>t=>jl(t)&&e(t,Il(t)))(n),r)}const zl=(e,t)=>Math.abs(e-t);class Bl{constructor(e,t,{transformPagePoint:n,contextWindow:r,dragSnapToOrigin:o=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!this.lastMoveEvent||!this.lastMoveEventInfo)return;const e=Ul(this.lastMoveEventInfo,this.history),t=null!==this.startEvent,n=function(e,t){const n=zl(e.x,t.x),r=zl(e.y,t.y);return Math.sqrt(n**2+r**2)}(e.offset,{x:0,y:0})>=3;if(!t&&!n)return;const{point:r}=e,{timestamp:o}=Ii;this.history.push({...r,timestamp:o});const{onStart:i,onMove:a}=this.handlers;t||(i&&i(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),a&&a(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastMoveEventInfo=Wl(t,this.transformPagePoint),Ai.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();const{onEnd:n,onSessionEnd:r,resumeAnimation:o}=this.handlers;if(this.dragSnapToOrigin&&o&&o(),!this.lastMoveEvent||!this.lastMoveEventInfo)return;const i=Ul("pointercancel"===e.type?this.lastMoveEventInfo:Wl(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,i),r&&r(e,i)},!jl(e))return;this.dragSnapToOrigin=o,this.handlers=t,this.transformPagePoint=n,this.contextWindow=r||window;const i=Wl(Il(e),this.transformPagePoint),{point:a}=i,{timestamp:s}=Ii;this.history=[{...a,timestamp:s}];const{onSessionStart:l}=t;l&&l(e,Ul(i,this.history)),this.removeListeners=Os(Ll(this.contextWindow,"pointermove",this.handlePointerMove),Ll(this.contextWindow,"pointerup",this.handlePointerUp),Ll(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),ji(this.updatePoint)}}function Wl(e,t){return t?{point:t(e.point)}:e}function Vl(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Ul({point:e},t){return{point:e,delta:Vl(e,Hl(t)),offset:Vl(e,$l(t)),velocity:Yl(t,.1)}}function $l(e){return e[0]}function Hl(e){return e[e.length-1]}function Yl(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const o=Hl(e);for(;n>=0&&(r=e[n],!(o.timestamp-r.timestamp>Ei(t)));)n--;if(!r)return{x:0,y:0};const i=_i(o.timestamp-r.timestamp);if(0===i)return{x:0,y:0};const a={x:(o.x-r.x)/i,y:(o.y-r.y)/i};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function ql(e){let t=null;return()=>null===t&&(t=e,()=>{t=null})}const Kl=ql("dragHorizontal"),Gl=ql("dragVertical");function Xl(e){let t=!1;if("y"===e)t=Gl();else if("x"===e)t=Kl();else{const e=Kl(),n=Gl();e&&n?t=()=>{e(),n()}:(e&&e(),n&&n())}return t}function Zl(){const e=Xl(!0);return!e||(e(),!1)}function Jl(e){return e&&"object"==typeof e&&Object.prototype.hasOwnProperty.call(e,"current")}function Ql(e){return e.max-e.min}function ec(e,t,n,r=.5){e.origin=r,e.originPoint=Rs(t.min,t.max,e.origin),e.scale=Ql(n)/Ql(t),e.translate=Rs(n.min,n.max,e.origin)-e.originPoint,(e.scale>=.9999&&e.scale<=1.0001||isNaN(e.scale))&&(e.scale=1),(e.translate>=-.01&&e.translate<=.01||isNaN(e.translate))&&(e.translate=0)}function tc(e,t,n,r){ec(e.x,t.x,n.x,r?r.originX:void 0),ec(e.y,t.y,n.y,r?r.originY:void 0)}function nc(e,t,n){e.min=n.min+t.min,e.max=e.min+Ql(t)}function rc(e,t,n){e.min=t.min-n.min,e.max=e.min+Ql(t)}function oc(e,t,n){rc(e.x,t.x,n.x),rc(e.y,t.y,n.y)}function ic(e,t,n){return{min:void 0!==t?e.min+t:void 0,max:void 0!==n?e.max+n-(e.max-e.min):void 0}}function ac(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min({x:{min:0,max:0},y:{min:0,max:0}});function dc(e){return[e("x"),e("y")]}function fc({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function mc(e){return void 0===e||1===e}function hc({scale:e,scaleX:t,scaleY:n}){return!mc(e)||!mc(t)||!mc(n)}function pc(e){return hc(e)||gc(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function gc(e){return yc(e.x)||yc(e.y)}function yc(e){return e&&"0%"!==e}function vc(e,t,n){return n+t*(e-n)}function bc(e,t,n,r,o){return void 0!==o&&(e=vc(e,o,r)),vc(e,n,r)+t}function wc(e,t=0,n=1,r,o){e.min=bc(e.min,t,n,r,o),e.max=bc(e.max,t,n,r,o)}function xc(e,{x:t,y:n}){wc(e.x,t.translate,t.scale,t.originPoint),wc(e.y,n.translate,n.scale,n.originPoint)}const Ec=.999999999999,_c=1.0000000000001;function Sc(e,t){e.min=e.min+t,e.max=e.max+t}function kc(e,t,n,r,o=.5){wc(e,t,n,Rs(e.min,e.max,o),r)}function Cc(e,t){kc(e.x,t.x,t.scaleX,t.scale,t.originX),kc(e.y,t.y,t.scaleY,t.scale,t.originY)}function Nc(e,t){return fc(function(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}(e.getBoundingClientRect(),t))}const Pc=({current:e})=>e?e.ownerDocument.defaultView:null,Tc=new WeakMap;class Oc{constructor(e){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic={x:{min:0,max:0},y:{min:0,max:0}},this.visualElement=e}start(e,{snapToCursor:t=!1}={}){const{presenceContext:n}=this.visualElement;if(n&&!1===n.isPresent)return;const{dragSnapToOrigin:r}=this.getProps();this.panSession=new Bl(e,{onSessionStart:e=>{const{dragSnapToOrigin:n}=this.getProps();n?this.pauseAnimation():this.stopAnimation(),t&&this.snapToCursor(Il(e,"page").point)},onStart:(e,t)=>{var n;const{drag:r,dragPropagation:o,onDragStart:i}=this.getProps();if(r&&!o&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=Xl(r),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),dc((e=>{let t=this.getAxisMotionValue(e).get()||0;if(aa.test(t)){const{projection:n}=this.visualElement;if(n&&n.layout){const r=n.layout.layoutBox[e];r&&(t=Ql(r)*(parseFloat(t)/100))}}this.originPoint[e]=t})),i&&Ai.postRender((()=>i(e,t))),null===(n=this.removeWillChange)||void 0===n||n.call(this),this.removeWillChange=_l(this.visualElement,"transform");const{animationState:a}=this.visualElement;a&&a.setActive("whileDrag",!0)},onMove:(e,t)=>{const{dragPropagation:n,dragDirectionLock:r,onDirectionLock:o,onDrag:i}=this.getProps();if(!n&&!this.openGlobalLock)return;const{offset:a}=t;if(r&&null===this.currentDirection)return this.currentDirection=function(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}(a),void(null!==this.currentDirection&&o&&o(this.currentDirection));this.updateAxis("x",t.point,a),this.updateAxis("y",t.point,a),this.visualElement.render(),i&&i(e,t)},onSessionEnd:(e,t)=>this.stop(e,t),resumeAnimation:()=>dc((e=>{var t;return"paused"===this.getAnimationState(e)&&(null===(t=this.getAxisMotionValue(e).animation)||void 0===t?void 0:t.play())}))},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:r,contextWindow:Pc(this.visualElement)})}stop(e,t){var n;null===(n=this.removeWillChange)||void 0===n||n.call(this);const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:o}=t;this.startAnimation(o);const{onDragEnd:i}=this.getProps();i&&Ai.postRender((()=>i(e,t)))}cancel(){this.isDragging=!1;const{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:n}=this.getProps();!n&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),t&&t.setActive("whileDrag",!1)}updateAxis(e,t,n){const{drag:r}=this.getProps();if(!n||!Mc(e,r,this.currentDirection))return;const o=this.getAxisMotionValue(e);let i=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(i=function(e,{min:t,max:n},r){return void 0!==t&&en&&(e=r?Rs(n,e,r.max):Math.min(e,n)),e}(i,this.constraints[e],this.elastic[e])),o.set(i)}resolveConstraints(){var e;const{dragConstraints:t,dragElastic:n}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):null===(e=this.visualElement.projection)||void 0===e?void 0:e.layout,o=this.constraints;t&&Jl(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):this.constraints=!(!t||!r)&&function(e,{top:t,left:n,bottom:r,right:o}){return{x:ic(e.x,n,o),y:ic(e.y,t,r)}}(r.layoutBox,t),this.elastic=function(e=sc){return!1===e?e=0:!0===e&&(e=sc),{x:lc(e,"left","right"),y:lc(e,"top","bottom")}}(n),o!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&dc((e=>{!1!==this.constraints&&this.getAxisMotionValue(e)&&(this.constraints[e]=function(e,t){const n={};return void 0!==t.min&&(n.min=t.min-e.min),void 0!==t.max&&(n.max=t.max-e.min),n}(r.layoutBox[e],this.constraints[e]))}))}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!Jl(e))return!1;const n=e.current;Bi(null!==n,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.");const{projection:r}=this.visualElement;if(!r||!r.layout)return!1;const o=function(e,t,n){const r=Nc(e,n),{scroll:o}=t;return o&&(Sc(r.x,o.offset.x),Sc(r.y,o.offset.y)),r}(n,r.root,this.visualElement.getTransformPagePoint());let i=function(e,t){return{x:ac(e.x,t.x),y:ac(e.y,t.y)}}(r.layout.layoutBox,o);if(t){const e=t(function({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}(i));this.hasMutatedConstraints=!!e,e&&(i=fc(e))}return i}startAnimation(e){const{drag:t,dragMomentum:n,dragElastic:r,dragTransition:o,dragSnapToOrigin:i,onDragTransitionEnd:a}=this.getProps(),s=this.constraints||{},l=dc((a=>{if(!Mc(a,t,this.currentDirection))return;let l=s&&s[a]||{};i&&(l={min:0,max:0});const c=r?200:1e6,u=r?40:1e7,d={type:"inertia",velocity:n?e[a]:0,bounceStiffness:c,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...o,...l};return this.startAxisValueAnimation(a,d)}));return Promise.all(l).then(a)}startAxisValueAnimation(e,t){const n=this.getAxisMotionValue(e);return n.start(ll(e,n,0,t,this.visualElement,!1,_l(this.visualElement,e)))}stopAnimation(){dc((e=>this.getAxisMotionValue(e).stop()))}pauseAnimation(){dc((e=>{var t;return null===(t=this.getAxisMotionValue(e).animation)||void 0===t?void 0:t.pause()}))}getAnimationState(e){var t;return null===(t=this.getAxisMotionValue(e).animation)||void 0===t?void 0:t.state}getAxisMotionValue(e){const t=`_drag${e.toUpperCase()}`,n=this.visualElement.getProps();return n[t]||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){dc((t=>{const{drag:n}=this.getProps();if(!Mc(t,n,this.currentDirection))return;const{projection:r}=this.visualElement,o=this.getAxisMotionValue(t);if(r&&r.layout){const{min:n,max:i}=r.layout.layoutBox[t];o.set(e[t]-Rs(n,i,.5))}}))}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!Jl(t)||!n||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};dc((e=>{const t=this.getAxisMotionValue(e);if(t&&!1!==this.constraints){const n=t.get();r[e]=function(e,t){let n=.5;const r=Ql(e),o=Ql(t);return o>r?n=Ms(t.min,t.max-r,e.min):r>o&&(n=Ms(e.min,e.max-o,t.min)),Gi(0,1,n)}({min:n,max:n},this.constraints[e])}}));const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",n.root&&n.root.updateScroll(),n.updateLayout(),this.resolveConstraints(),dc((t=>{if(!Mc(t,e,null))return;const n=this.getAxisMotionValue(t),{min:o,max:i}=this.constraints[t];n.set(Rs(o,i,r[t]))}))}addListeners(){if(!this.visualElement.current)return;Tc.set(this.visualElement,this);const e=Ll(this.visualElement.current,"pointerdown",(e=>{const{drag:t,dragListener:n=!0}=this.getProps();t&&n&&this.start(e)})),t=()=>{const{dragConstraints:e}=this.getProps();Jl(e)&&e.current&&(this.constraints=this.resolveRefConstraints())},{projection:n}=this.visualElement,r=n.addEventListener("measure",t);n&&!n.layout&&(n.root&&n.root.updateScroll(),n.updateLayout()),Ai.read(t);const o=Fl(window,"resize",(()=>this.scalePositionWithinConstraints())),i=n.addEventListener("didUpdate",(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(dc((t=>{const n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))})),this.visualElement.render())}));return()=>{o(),e(),r(),i&&i()}}getProps(){const e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:o=!1,dragElastic:i=sc,dragMomentum:a=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:o,dragElastic:i,dragMomentum:a}}}function Mc(e,t,n){return!(!0!==t&&t!==e||null!==n&&n!==e)}const Rc=e=>(t,n)=>{e&&Ai.postRender((()=>e(t,n)))};var Dc=n(848);const Ac=(0,s.createContext)(null),jc=(0,s.createContext)({}),Ic=(0,s.createContext)({}),Fc={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function Lc(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const zc={correct:(e,t)=>{if(!t.target)return e;if("string"==typeof e){if(!sa.test(e))return e;e=parseFloat(e)}return`${Lc(e,t.target.x)}% ${Lc(e,t.target.y)}%`}},Bc={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,o=Wa.parse(e);if(o.length>5)return r;const i=Wa.createTransformer(e),a="number"!=typeof o[0]?1:0,s=n.x.scale*t.x,l=n.y.scale*t.y;o[0+a]/=s,o[1+a]/=l;const c=Rs(s,l,.5);return"number"==typeof o[2+a]&&(o[2+a]/=c),"number"==typeof o[3+a]&&(o[3+a]/=c),i(o)}},Wc={},{schedule:Vc,cancel:Uc}=Di(queueMicrotask,!1);class $c extends s.Component{componentDidMount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:o}=e;var i;i=Yc,Object.assign(Wc,i),o&&(t.group&&t.group.add(o),n&&n.register&&r&&n.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",(()=>{this.safeToRemove()})),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),Fc.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:t,visualElement:n,drag:r,isPresent:o}=this.props,i=n.projection;return i?(i.isPresent=o,r||e.layoutDependency!==t||void 0===t?i.willUpdate():this.safeToRemove(),e.isPresent!==o&&(o?i.promote():i.relegate()||Ai.postRender((()=>{const e=i.getStack();e&&e.members.length||this.safeToRemove()}))),null):null}componentDidUpdate(){const{projection:e}=this.props.visualElement;e&&(e.root.didUpdate(),Vc.postRender((()=>{!e.currentAnimation&&e.isLead()&&this.safeToRemove()})))}componentWillUnmount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function Hc(e){const[t,n]=function(){const e=(0,s.useContext)(Ac);if(null===e)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,o=(0,s.useId)();(0,s.useEffect)((()=>r(o)),[]);const i=(0,s.useCallback)((()=>n&&n(o)),[o,n]);return!t&&n?[!1,i]:[!0]}(),r=(0,s.useContext)(jc);return(0,Dc.jsx)($c,{...e,layoutGroup:r,switchLayoutGroup:(0,s.useContext)(Ic),isPresent:t,safeToRemove:n})}const Yc={borderRadius:{...zc,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:zc,borderTopRightRadius:zc,borderBottomLeftRadius:zc,borderBottomRightRadius:zc,boxShadow:Bc},qc=["TopLeft","TopRight","BottomLeft","BottomRight"],Kc=qc.length,Gc=e=>"string"==typeof e?parseFloat(e):e,Xc=e=>"number"==typeof e||sa.test(e);function Zc(e,t){return void 0!==e[t]?e[t]:e.borderRadius}const Jc=eu(0,.5,Es),Qc=eu(.5,.95,Mi);function eu(e,t,n){return r=>rt?1:n(Ms(e,t,r))}function tu(e,t){e.min=t.min,e.max=t.max}function nu(e,t){tu(e.x,t.x),tu(e.y,t.y)}function ru(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function ou(e,t,n,r,o){return e=vc(e-=t,1/n,r),void 0!==o&&(e=vc(e,1/o,r)),e}function iu(e,t,[n,r,o],i,a){!function(e,t=0,n=1,r=.5,o,i=e,a=e){if(aa.test(t)&&(t=parseFloat(t),t=Rs(a.min,a.max,t/100)-a.min),"number"!=typeof t)return;let s=Rs(i.min,i.max,r);e===i&&(s-=t),e.min=ou(e.min,t,n,s,o),e.max=ou(e.max,t,n,s,o)}(e,t[n],t[r],t[o],t.scale,i,a)}const au=["x","scaleX","originX"],su=["y","scaleY","originY"];function lu(e,t,n,r){iu(e.x,t,au,n?n.x:void 0,r?r.x:void 0),iu(e.y,t,su,n?n.y:void 0,r?r.y:void 0)}function cu(e){return 0===e.translate&&1===e.scale}function uu(e){return cu(e.x)&&cu(e.y)}function du(e,t){return e.min===t.min&&e.max===t.max}function fu(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function mu(e,t){return fu(e.x,t.x)&&fu(e.y,t.y)}function hu(e){return Ql(e.x)/Ql(e.y)}function pu(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class gu{constructor(){this.members=[]}add(e){ul(this.members,e),e.scheduleRender()}remove(e){if(dl(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){const t=this.members.findIndex((t=>e===t));if(0===t)return!1;let n;for(let e=t;e>=0;e--){const t=this.members[e];if(!1!==t.isPresent){n=t;break}}return!!n&&(this.promote(n),!0)}promote(e,t){const n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.instance&&n.scheduleRender(),e.scheduleRender(),e.resumeFrom=n,t&&(e.resumeFrom.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root&&e.root.isUpdating&&(e.isLayoutDirty=!0);const{crossfade:r}=e.options;!1===r&&n.hide()}}exitAnimationComplete(){this.members.forEach((e=>{const{options:t,resumingFrom:n}=e;t.onExitComplete&&t.onExitComplete(),n&&n.options.onExitComplete&&n.options.onExitComplete()}))}scheduleRender(){this.members.forEach((e=>{e.instance&&e.scheduleRender(!1)}))}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}const yu=(e,t)=>e.depth-t.depth;class vu{constructor(){this.children=[],this.isDirty=!1}add(e){ul(this.children,e),this.isDirty=!0}remove(e){dl(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(yu),this.isDirty=!1,this.children.forEach(e)}}function bu(e){const t=El(e)?e.get():e;return(e=>Boolean(e&&"object"==typeof e&&e.mix&&e.toValue))(t)?t.toValue():t}const wu={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},xu="undefined"!=typeof window&&void 0!==window.MotionDebug,Eu=["","X","Y","Z"],_u={visibility:"hidden"};let Su=0;function ku(e,t,n,r){const{latestValues:o}=t;o[e]&&(n[e]=o[e],t.setStaticValue(e,0),r&&(r[e]=0))}function Cu(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=bl(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:t,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",Ai,!(t||r))}const{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&Cu(r)}function Nu({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:o}){return class{constructor(e={},n=(null==t?void 0:t())){this.id=Su++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,xu&&(wu.totalNodes=wu.resolvedTargetDeltas=wu.recalculatedProjection=0),this.nodes.forEach(Ou),this.nodes.forEach(Fu),this.nodes.forEach(Lu),this.nodes.forEach(Mu),xu&&window.MotionDebug.record(wu)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=n?n.root||n:this,this.path=n?[...n.path,n]:[],this.parent=n,this.depth=n?n.depth+1:0;for(let e=0;ethis.root.updateBlockedByResize=!1;e(t,(()=>{this.root.updateBlockedByResize=!0,n&&n(),n=function(e){const t=ns.now(),n=({timestamp:r})=>{const o=r-t;o>=250&&(ji(n),e(o-250))};return Ai.read(n,!0),()=>ji(n)}(r),Fc.hasAnimatedSinceResize&&(Fc.hasAnimatedSinceResize=!1,this.nodes.forEach(Iu))}))}o&&this.root.registerSharedNode(o,this),!1!==this.options.animate&&a&&(o||i)&&this.addEventListener("didUpdate",(({delta:e,hasLayoutChanged:t,hasRelativeTargetChanged:n,layout:r})=>{if(this.isTreeAnimationBlocked())return this.target=void 0,void(this.relativeTarget=void 0);const o=this.options.transition||a.getDefaultTransition()||$u,{onLayoutAnimationStart:i,onLayoutAnimationComplete:s}=a.getProps(),l=!this.targetLayout||!mu(this.targetLayout,r)||n,c=!t&&n;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||c||t&&(l||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(e,c);const t={...Pi(o,"layout"),onPlay:i,onComplete:s};(a.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t)}else t||Iu(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r}))}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,ji(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(zu),this.animationId++)}getTransformTemplate(){const{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked())return void(this.options.onExitComplete&&this.options.onExitComplete());if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Cu(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()}))}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure())}updateLayout(){if(!this.instance)return;if(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead()||this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;eEc&&(t.x=1),t.y<_c&&t.y>Ec&&(t.y=1)}(this.layoutCorrected,this.treeScale,this.path,n),!t.layout||t.target||1===this.treeScale.x&&1===this.treeScale.y||(t.target=t.layout.layoutBox,t.targetWithTransforms={x:{min:0,max:0},y:{min:0,max:0}});const{target:l}=t;l?(this.projectionDelta&&this.prevProjectionDelta?(ru(this.prevProjectionDelta.x,this.projectionDelta.x),ru(this.prevProjectionDelta.y,this.projectionDelta.y)):this.createProjectionDeltas(),tc(this.projectionDelta,this.layoutCorrected,l,this.latestValues),this.treeScale.x===a&&this.treeScale.y===s&&pu(this.projectionDelta.x,this.prevProjectionDelta.x)&&pu(this.projectionDelta.y,this.prevProjectionDelta.y)||(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",l)),xu&&wu.recalculatedProjection++):this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender())}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){var t;if(null===(t=this.options.visualElement)||void 0===t||t.scheduleRender(),e){const e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}},this.projectionDelta={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}},this.projectionDeltaWithTransform={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}}}setAnimationOrigin(e,t=!1){const n=this.snapshot,r=n?n.latestValues:{},o={...this.latestValues},i={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}};this.relativeParent&&this.relativeParent.options.layoutRoot||(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;const a={x:{min:0,max:0},y:{min:0,max:0}},s=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),l=this.getStack(),c=!l||l.members.length<=1,u=Boolean(s&&!c&&!0===this.options.crossfade&&!this.path.some(Uu));let d;this.animationProgress=0,this.mixTargetDelta=t=>{const n=t/1e3;var l,f,m,h,p,g;Wu(i.x,e.x,n),Wu(i.y,e.y,n),this.setTargetDelta(i),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(oc(a,this.layout.layoutBox,this.relativeParent.layout.layoutBox),m=this.relativeTarget,h=this.relativeTargetOrigin,p=a,g=n,Vu(m.x,h.x,p.x,g),Vu(m.y,h.y,p.y,g),d&&(l=this.relativeTarget,f=d,du(l.x,f.x)&&du(l.y,f.y))&&(this.isProjectionDirty=!1),d||(d={x:{min:0,max:0},y:{min:0,max:0}}),nu(d,this.relativeTarget)),s&&(this.animationValues=o,function(e,t,n,r,o,i){o?(e.opacity=Rs(0,void 0!==n.opacity?n.opacity:1,Jc(r)),e.opacityExit=Rs(void 0!==t.opacity?t.opacity:1,0,Qc(r))):i&&(e.opacity=Rs(void 0!==t.opacity?t.opacity:1,void 0!==n.opacity?n.opacity:1,r));for(let o=0;o{Fc.hasAnimatedSinceResize=!0,this.currentAnimation=function(e,t,n){const r=El(0)?0:pl(0);return r.start(ll("",r,1e3,n)),r.animation}(0,0,{...e,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onComplete:()=>{e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0}))}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const e=this.getLead();let{targetWithTransforms:t,target:n,layout:r,latestValues:o}=e;if(t&&n&&r){if(this!==e&&this.layout&&r&&Ku(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||{x:{min:0,max:0},y:{min:0,max:0}};const t=Ql(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;const r=Ql(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}nu(t,n),Cc(t,o),tc(this.projectionDeltaWithTransform,this.layoutCorrected,t,o)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new gu),this.sharedNodes.get(e).add(t);const n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){const e=this.getStack();return!e||e.lead===this}getLead(){var e;const{layoutId:t}=this.options;return t&&(null===(e=this.getStack())||void 0===e?void 0:e.lead)||this}getPrevLead(){var e;const{layoutId:t}=this.options;return t?null===(e=this.getStack())||void 0===e?void 0:e.prevLead:void 0}getStack(){const{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){const r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){const e=this.getStack();return!!e&&e.relegate(this)}resetSkewAndRotation(){const{visualElement:e}=this.options;if(!e)return;let t=!1;const{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;const r={};n.z&&ku("z",e,r,this.animationValues);for(let t=0;t{var t;return null===(t=e.currentAnimation)||void 0===t?void 0:t.stop()})),this.root.nodes.forEach(Du),this.root.sharedNodes.clear()}}}function Pu(e){e.updateLayout()}function Tu(e){var t;const n=(null===(t=e.resumeFrom)||void 0===t?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:t,measuredBox:r}=e.layout,{animationType:o}=e.options,i=n.source!==e.layout.source;"size"===o?dc((e=>{const r=i?n.measuredBox[e]:n.layoutBox[e],o=Ql(r);r.min=t[e].min,r.max=r.min+o})):Ku(o,n.layoutBox,t)&&dc((r=>{const o=i?n.measuredBox[r]:n.layoutBox[r],a=Ql(t[r]);o.max=o.min+a,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+a)}));const a={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}};tc(a,t,n.layoutBox);const s={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}};i?tc(s,e.applyTransform(r,!0),n.measuredBox):tc(s,t,n.layoutBox);const l=!uu(a);let c=!1;if(!e.resumeFrom){const r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){const{snapshot:o,layout:i}=r;if(o&&i){const a={x:{min:0,max:0},y:{min:0,max:0}};oc(a,n.layoutBox,o.layoutBox);const s={x:{min:0,max:0},y:{min:0,max:0}};oc(s,t,i.layoutBox),mu(a,s)||(c=!0),r.options.layoutRoot&&(e.relativeTarget=s,e.relativeTargetOrigin=a,e.relativeParent=r)}}}e.notifyListeners("didUpdate",{layout:t,snapshot:n,delta:s,layoutDelta:a,hasLayoutChanged:l,hasRelativeTargetChanged:c})}else if(e.isLead()){const{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function Ou(e){xu&&wu.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=Boolean(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function Mu(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Ru(e){e.clearSnapshot()}function Du(e){e.clearMeasurements()}function Au(e){e.isLayoutDirty=!1}function ju(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function Iu(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Fu(e){e.resolveTargetDelta()}function Lu(e){e.calcProjection()}function zu(e){e.resetSkewAndRotation()}function Bu(e){e.removeLeadSnapshot()}function Wu(e,t,n){e.translate=Rs(t.translate,0,n),e.scale=Rs(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function Vu(e,t,n,r){e.min=Rs(t.min,n.min,r),e.max=Rs(t.max,n.max,r)}function Uu(e){return e.animationValues&&void 0!==e.animationValues.opacityExit}const $u={duration:.45,ease:[.4,0,.1,1]},Hu=e=>"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),Yu=Hu("applewebkit/")&&!Hu("chrome/")?Math.round:Mi;function qu(e){e.min=Yu(e.min),e.max=Yu(e.max)}function Ku(e,t,n){return"position"===e||"preserve-aspect"===e&&(r=hu(t),o=hu(n),!(Math.abs(r-o)<=.2));var r,o}function Gu(e){var t;return e!==e.root&&(null===(t=e.scroll)||void 0===t?void 0:t.wasRoot)}const Xu=Nu({attachResizeListener:(e,t)=>Fl(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),Zu={current:void 0},Ju=Nu({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!Zu.current){const e=new Xu({});e.mount(window),e.setOptions({layoutScroll:!0}),Zu.current=e}return Zu.current},resetTransform:(e,t)=>{e.style.transform=void 0!==t?t:"none"},checkIsScrollRoot:e=>Boolean("fixed"===window.getComputedStyle(e).position)}),Qu={pan:{Feature:class extends Rl{constructor(){super(...arguments),this.removePointerDownListener=Mi}onPointerDown(e){this.session=new Bl(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Pc(this.node)})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:Rc(e),onStart:Rc(t),onMove:n,onEnd:(e,t)=>{delete this.session,r&&Ai.postRender((()=>r(e,t)))}}}mount(){this.removePointerDownListener=Ll(this.node.current,"pointerdown",(e=>this.onPointerDown(e)))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}},drag:{Feature:class extends Rl{constructor(e){super(e),this.removeGroupControls=Mi,this.removeListeners=Mi,this.controls=new Oc(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Mi}unmount(){this.removeGroupControls(),this.removeListeners()}},ProjectionNode:Ju,MeasureLayout:Hc}};function ed(e,t){const n=t?"pointerenter":"pointerleave",r=t?"onHoverStart":"onHoverEnd";return Ll(e.current,n,((n,o)=>{if("touch"===n.pointerType||Zl())return;const i=e.getProps();e.animationState&&i.whileHover&&e.animationState.setActive("whileHover",t);const a=i[r];a&&Ai.postRender((()=>a(n,o)))}),{passive:!e.getProps()[r]})}const td=(e,t)=>!!t&&(e===t||td(e,t.parentElement));function nd(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,Il(n))}const rd=new WeakMap,od=new WeakMap,id=e=>{const t=rd.get(e.target);t&&t(e)},ad=e=>{e.forEach(id)},sd={some:0,all:1},ld={inView:{Feature:class extends Rl{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:e={}}=this.node.getProps(),{root:t,margin:n,amount:r="some",once:o}=e,i={root:t?t.current:void 0,rootMargin:n,threshold:"number"==typeof r?r:sd[r]};return function(e,t,n){const r=function({root:e,...t}){const n=e||document;od.has(n)||od.set(n,{});const r=od.get(n),o=JSON.stringify(t);return r[o]||(r[o]=new IntersectionObserver(ad,{root:e,...t})),r[o]}(t);return rd.set(e,n),r.observe(e),()=>{rd.delete(e),r.unobserve(e)}}(this.node.current,i,(e=>{const{isIntersecting:t}=e;if(this.isInView===t)return;if(this.isInView=t,o&&!t&&this.hasEnteredView)return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",t);const{onViewportEnter:n,onViewportLeave:r}=this.node.getProps(),i=t?n:r;i&&i(e)}))}mount(){this.startObserver()}update(){if("undefined"==typeof IntersectionObserver)return;const{props:e,prevProps:t}=this.node;["amount","margin","root"].some(function({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}(e,t))&&this.startObserver()}unmount(){}}},tap:{Feature:class extends Rl{constructor(){super(...arguments),this.removeStartListeners=Mi,this.removeEndListeners=Mi,this.removeAccessibleListeners=Mi,this.startPointerPress=(e,t)=>{if(this.isPressing)return;this.removeEndListeners();const n=this.node.getProps(),r=Ll(window,"pointerup",((e,t)=>{if(!this.checkPressEnd())return;const{onTap:n,onTapCancel:r,globalTapTarget:o}=this.node.getProps(),i=o||td(this.node.current,e.target)?n:r;i&&Ai.update((()=>i(e,t)))}),{passive:!(n.onTap||n.onPointerUp)}),o=Ll(window,"pointercancel",((e,t)=>this.cancelPress(e,t)),{passive:!(n.onTapCancel||n.onPointerCancel)});this.removeEndListeners=Os(r,o),this.startPress(e,t)},this.startAccessiblePress=()=>{const e=Fl(this.node.current,"keydown",(e=>{"Enter"!==e.key||this.isPressing||(this.removeEndListeners(),this.removeEndListeners=Fl(this.node.current,"keyup",(e=>{"Enter"===e.key&&this.checkPressEnd()&&nd("up",((e,t)=>{const{onTap:n}=this.node.getProps();n&&Ai.postRender((()=>n(e,t)))}))})),nd("down",((e,t)=>{this.startPress(e,t)})))})),t=Fl(this.node.current,"blur",(()=>{this.isPressing&&nd("cancel",((e,t)=>this.cancelPress(e,t)))}));this.removeAccessibleListeners=Os(e,t)}}startPress(e,t){this.isPressing=!0;const{onTapStart:n,whileTap:r}=this.node.getProps();r&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),n&&Ai.postRender((()=>n(e,t)))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!Zl()}cancelPress(e,t){if(!this.checkPressEnd())return;const{onTapCancel:n}=this.node.getProps();n&&Ai.postRender((()=>n(e,t)))}mount(){const e=this.node.getProps(),t=Ll(e.globalTapTarget?window:this.node.current,"pointerdown",this.startPointerPress,{passive:!(e.onTapStart||e.onPointerStart)}),n=Fl(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Os(t,n)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}},focus:{Feature:class extends Rl{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch(t){e=!0}e&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Os(Fl(this.node.current,"focus",(()=>this.onFocus())),Fl(this.node.current,"blur",(()=>this.onBlur())))}unmount(){}}},hover:{Feature:class extends Rl{mount(){this.unmount=Os(ed(this.node,!0),ed(this.node,!1))}unmount(){}}}},cd={layout:{ProjectionNode:Ju,MeasureLayout:Hc}},ud=(0,s.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),dd=(0,s.createContext)({}),fd="undefined"!=typeof window,md=fd?s.useLayoutEffect:s.useEffect,hd=(0,s.createContext)({strict:!1});let pd=!1;function gd(e,t,n,r,o){var i;const{visualElement:a}=(0,s.useContext)(dd),l=(0,s.useContext)(hd),c=(0,s.useContext)(Ac),u=(0,s.useContext)(ud).reducedMotion,d=(0,s.useRef)();r=r||l.renderer,!d.current&&r&&(d.current=r(e,{visualState:t,parent:a,props:n,presenceContext:c,blockInitialAnimation:!!c&&!1===c.initial,reducedMotionConfig:u}));const f=d.current,m=(0,s.useContext)(Ic);!f||f.projection||!o||"html"!==f.type&&"svg"!==f.type||function(e,t,n,r){const{layoutId:o,layout:i,drag:a,dragConstraints:s,layoutScroll:l,layoutRoot:c}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:vd(e.parent)),e.projection.setOptions({layoutId:o,layout:i,alwaysMeasureLayout:Boolean(a)||s&&Jl(s),visualElement:e,animationType:"string"==typeof i?i:"both",initialPromotionConfig:r,layoutScroll:l,layoutRoot:c})}(d.current,n,o,m),(0,s.useInsertionEffect)((()=>{f&&f.update(n,c)}));const h=n[vl],p=(0,s.useRef)(Boolean(h)&&!window.MotionHandoffIsComplete&&(null===(i=window.MotionHasOptimisedAnimation)||void 0===i?void 0:i.call(window,h)));return md((()=>{f&&(f.updateFeatures(),Vc.render(f.render),p.current&&f.animationState&&f.animationState.animateChanges())})),(0,s.useEffect)((()=>{f&&(!p.current&&f.animationState&&f.animationState.animateChanges(),p.current=!1,pd||(pd=!0,queueMicrotask(yd)))})),f}function yd(){window.MotionHandoffIsComplete=!0}function vd(e){if(e)return!1!==e.options.allowProjection?e.projection:vd(e.parent)}function bd(e,t,n){return(0,s.useCallback)((r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&("function"==typeof n?n(r):Jl(n)&&(n.current=r))}),[t])}function wd(e){return di(e.animate)||bi.some((t=>hi(e[t])))}function xd(e){return Boolean(wd(e)||e.variants)}function Ed(e){return Array.isArray(e)?e.join(" "):e}const _d={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Sd={};for(const e in _d)Sd[e]={isEnabled:t=>_d[e].some((e=>!!t[e]))};const kd=Symbol.for("motionComponentSymbol");function Cd({layoutId:e}){const t=(0,s.useContext)(jc).id;return t&&void 0!==e?t+"-"+e:e}const Nd=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function Pd(e){return"string"==typeof e&&!e.includes("-")&&!!(Nd.indexOf(e)>-1||/[A-Z]/u.test(e))}function Td(e,{style:t,vars:n},r,o){Object.assign(e.style,t,o&&o.getProjectionStyles(r));for(const t in n)e.style.setProperty(t,n[t])}const Od=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function Md(e,t,n,r){Td(e,t,void 0,r);for(const n in t.attrs)e.setAttribute(Od.has(n)?n:yl(n),t.attrs[n])}function Rd(e,{layout:t,layoutId:n}){return xi.has(e)||e.startsWith("origin")||(t||void 0!==n)&&(!!Wc[e]||"opacity"===e)}function Dd(e,t,n){var r;const{style:o}=e,i={};for(const a in o)(El(o[a])||t.style&&El(t.style[a])||Rd(a,e)||void 0!==(null===(r=null==n?void 0:n.getValue(a))||void 0===r?void 0:r.liveStyle))&&(i[a]=o[a]);return n&&o&&"string"==typeof o.willChange&&(n.applyWillChange=!1),i}function Ad(e,t,n){const r=Dd(e,t,n);for(const n in e)(El(e[n])||El(t[n]))&&(r[-1!==wi.indexOf(n)?"attr"+n.charAt(0).toUpperCase()+n.substring(1):n]=e[n]);return r}function jd(e){const t=(0,s.useRef)(null);return null===t.current&&(t.current=e()),t.current}const Id=e=>(t,n)=>{const r=(0,s.useContext)(dd),o=(0,s.useContext)(Ac),i=()=>function({applyWillChange:e=!1,scrapeMotionValuesFromProps:t,createRenderState:n,onMount:r},o,i,a,s){const l={latestValues:zd(o,i,a,!s&&e,t),renderState:n()};return r&&(l.mount=e=>r(o,e,l)),l}(e,t,r,o,n);return n?i():jd(i)};function Fd(e,t){const n=wl(t);n&&ul(e,n)}function Ld(e,t,n){const r=Array.isArray(t)?t:[t];for(let t=0;t{for(const t in e){let n=e[t];Array.isArray(n)&&(n=n[h?n.length-1:0]),null!==n&&(a[t]=n)}for(const e in t)a[e]=t[e]})),l&&(d&&!1!==u&&!di(d)&&Ld(e,d,(e=>{for(const t in e)Fd(s,t)})),s.length&&(a.willChange=s.join(","))),a}const Bd=()=>({style:{},transform:{},transformOrigin:{},vars:{}}),Wd=()=>({style:{},transform:{},transformOrigin:{},vars:{},attrs:{}}),Vd=(e,t)=>t&&"number"==typeof e?t.transform(e):e,Ud={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},$d=wi.length;function Hd(e,t,n){const{style:r,vars:o,transformOrigin:i}=e;let a=!1,s=!1;for(const e in t){const n=t[e];if(xi.has(e))a=!0;else if(Ui(e))o[e]=n;else{const t=Vd(n,qa[e]);e.startsWith("origin")?(s=!0,i[e]=t):r[e]=t}}if(t.transform||(a||n?r.transform=function(e,t,n){let r="",o=!0;for(let i=0;i<$d;i++){const a=wi[i],s=e[a];if(void 0===s)continue;let l=!0;if(l="number"==typeof s?s===(a.startsWith("scale")?1:0):0===parseFloat(s),!l||n){const e=Vd(s,qa[a]);l||(o=!1,r+=`${Ud[a]||a}(${e}) `),n&&(t[a]=e)}}return r=r.trim(),n?r=n(t,o?"":r):o&&(r="none"),r}(t,e.transform,n):r.transform&&(r.transform="none")),s){const{originX:e="50%",originY:t="50%",originZ:n=0}=i;r.transformOrigin=`${e} ${t} ${n}`}}function Yd(e,t,n){return"string"==typeof e?e:sa.transform(t+n*e)}const qd={offset:"stroke-dashoffset",array:"stroke-dasharray"},Kd={offset:"strokeDashoffset",array:"strokeDasharray"};function Gd(e,{attrX:t,attrY:n,attrScale:r,originX:o,originY:i,pathLength:a,pathSpacing:s=1,pathOffset:l=0,...c},u,d){if(Hd(e,c,d),u)return void(e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox));e.attrs=e.style,e.style={};const{attrs:f,style:m,dimensions:h}=e;f.transform&&(h&&(m.transform=f.transform),delete f.transform),h&&(void 0!==o||void 0!==i||m.transform)&&(m.transformOrigin=function(e,t,n){return`${Yd(t,e.x,e.width)} ${Yd(n,e.y,e.height)}`}(h,void 0!==o?o:.5,void 0!==i?i:.5)),void 0!==t&&(f.x=t),void 0!==n&&(f.y=n),void 0!==r&&(f.scale=r),void 0!==a&&function(e,t,n=1,r=0,o=!0){e.pathLength=1;const i=o?qd:Kd;e[i.offset]=sa.transform(-r);const a=sa.transform(t),s=sa.transform(n);e[i.array]=`${a} ${s}`}(f,a,s,l,!1)}const Xd=e=>"string"==typeof e&&"svg"===e.toLowerCase(),Zd={useVisualState:Id({scrapeMotionValuesFromProps:Ad,createRenderState:Wd,onMount:(e,t,{renderState:n,latestValues:r})=>{Ai.read((()=>{try{n.dimensions="function"==typeof t.getBBox?t.getBBox():t.getBoundingClientRect()}catch(e){n.dimensions={x:0,y:0,width:0,height:0}}})),Ai.render((()=>{Gd(n,r,Xd(t.tagName),e.transformTemplate),Md(t,n)}))}})},Jd={useVisualState:Id({applyWillChange:!0,scrapeMotionValuesFromProps:Dd,createRenderState:Bd})};function Qd(e,t,n){for(const r in t)El(t[r])||Rd(r,n)||(e[r]=t[r])}function ef(e,t){const n={},r=function(e,t){const n={};return Qd(n,e.style||{},e),Object.assign(n,function({transformTemplate:e},t){return(0,s.useMemo)((()=>{const n={style:{},transform:{},transformOrigin:{},vars:{}};return Hd(n,t,e),Object.assign({},n.vars,n.style)}),[t])}(e,t)),n}(e,t);return e.drag&&!1!==e.dragListener&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=!0===e.drag?"none":"pan-"+("x"===e.drag?"y":"x")),void 0===e.tabIndex&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}const tf=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function nf(e){return e.startsWith("while")||e.startsWith("drag")&&"draggable"!==e||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||tf.has(e)}let rf=e=>!nf(e);try{(of=n(316).A)&&(rf=e=>e.startsWith("on")?!nf(e):of(e))}catch(e){}var of;function af(e,t,n,r){const o=(0,s.useMemo)((()=>{const n={style:{},transform:{},transformOrigin:{},vars:{},attrs:{}};return Gd(n,t,Xd(r),e.transformTemplate),{...n.attrs,style:{...n.style}}}),[t]);if(e.style){const t={};Qd(t,e.style,e),o.style={...t,...o.style}}return o}function sf(e=!1){return(t,n,r,{latestValues:o},i)=>{const a=(Pd(t)?af:ef)(n,o,i,t),l=function(e,t,n){const r={};for(const o in e)"values"===o&&"object"==typeof e.values||(rf(o)||!0===n&&nf(o)||!t&&!nf(o)||e.draggable&&o.startsWith("onDrag"))&&(r[o]=e[o]);return r}(n,"string"==typeof t,e),c=t!==s.Fragment?{...l,...a,ref:r}:{},{children:u}=n,d=(0,s.useMemo)((()=>El(u)?u.get():u),[u]);return(0,s.createElement)(t,{...c,children:d})}}const lf={current:null},cf={current:!1},uf=new WeakMap,df=[...ba,Da,Wa],ff=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],mf=bi.length;class hf{scrapeMotionValuesFromProps(e,t,n){return{}}constructor({parent:e,props:t,presenceContext:n,reducedMotionConfig:r,blockInitialAnimation:o,visualState:i},a={}){this.applyWillChange=!1,this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=Ca,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.isRenderScheduled=!1,this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.isRenderScheduled=!1,this.scheduleRender=()=>{this.isRenderScheduled||(this.isRenderScheduled=!0,Ai.render(this.render,!1,!0))};const{latestValues:s,renderState:l}=i;this.latestValues=s,this.baseTarget={...s},this.initialValues=t.initial?{...s}:{},this.renderState=l,this.parent=e,this.props=t,this.presenceContext=n,this.depth=e?e.depth+1:0,this.reducedMotionConfig=r,this.options=a,this.blockInitialAnimation=Boolean(o),this.isControllingVariants=wd(t),this.isVariantNode=xd(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(e&&e.current);const{willChange:c,...u}=this.scrapeMotionValuesFromProps(t,{},this);for(const e in u){const t=u[e];void 0!==s[e]&&El(t)&&t.set(s[e],!1)}}mount(e){this.current=e,uf.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach(((e,t)=>this.bindToMotionValue(t,e))),cf.current||function(){if(cf.current=!0,fd)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>lf.current=e.matches;e.addListener(t),t()}else lf.current=!1}(),this.shouldReduceMotion="never"!==this.reducedMotionConfig&&("always"===this.reducedMotionConfig||lf.current),this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){uf.delete(this.current),this.projection&&this.projection.unmount(),ji(this.notifyUpdate),ji(this.render),this.valueSubscriptions.forEach((e=>e())),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const e in this.events)this.events[e].clear();for(const e in this.features){const t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}bindToMotionValue(e,t){this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)();const n=xi.has(e),r=t.on("change",(t=>{this.latestValues[e]=t,this.props.onUpdate&&Ai.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0)})),o=t.on("renderRequest",this.scheduleRender);let i;window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,e,t)),this.valueSubscriptions.set(e,(()=>{r(),o(),i&&i(),t.owner&&t.stop()}))}sortNodePosition(e){return this.current&&this.sortInstanceNodePosition&&this.type===e.type?this.sortInstanceNodePosition(this.current,e.current):0}updateFeatures(){let e="animation";for(e in Sd){const t=Sd[e];if(!t)continue;const{isEnabled:n,Feature:r}=t;if(!this.features[e]&&r&&n(this.props)&&(this.features[e]=new r(this)),this.features[e]){const t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):{x:{min:0,max:0},y:{min:0,max:0}}}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let t=0;tt.variantChildren.delete(e)}addValue(e,t){const n=this.values.get(e);t!==n&&(n&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get())}removeValue(e){this.values.delete(e);const t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);return void 0===n&&void 0!==t&&(n=pl(null===t?void 0:t,{owner:this}),this.addValue(e,n)),n}readValue(e,t){var n;let r=void 0===this.latestValues[e]&&this.current?null!==(n=this.getBaseTargetFromProps(this.props,e))&&void 0!==n?n:this.readValueFromInstance(this.current,e,this.options):this.latestValues[e];return null!=r&&("string"==typeof r&&(Wi(r)||Li(r))?r=parseFloat(r):!(e=>df.find(va(e)))(r)&&Wa.test(t)&&(r=Xa(e,t)),this.setBaseTarget(e,El(r)?r.get():r)),El(r)?r.get():r}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){var t;const{initial:n}=this.props;let r;if("string"==typeof n||"object"==typeof n){const o=gi(this.props,n,null===(t=this.presenceContext)||void 0===t?void 0:t.custom);o&&(r=o[e])}if(n&&void 0!==r)return r;const o=this.getBaseTargetFromProps(this.props,e);return void 0===o||El(o)?void 0!==this.initialValues[e]&&void 0===r?void 0:this.baseTarget[e]:o}on(e,t){return this.events[e]||(this.events[e]=new fl),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}}class pf extends hf{constructor(){super(...arguments),this.KeyframeResolver=Ja}sortInstanceNodePosition(e,t){return 2&e.compareDocumentPosition(t)?1:-1}getBaseTargetFromProps(e,t){return e.style?e.style[t]:void 0}removeValueFromRenderState(e,{vars:t,style:n}){delete t[e],delete n[e]}}class gf extends pf{constructor(){super(...arguments),this.type="html",this.applyWillChange=!0,this.renderInstance=Td}readValueFromInstance(e,t){if(xi.has(t)){const e=Ga(t);return e&&e.default||0}{const r=(n=e,window.getComputedStyle(n)),o=(Ui(t)?r.getPropertyValue(t):r[t])||0;return"string"==typeof o?o.trim():o}var n}measureInstanceViewportBox(e,{transformPagePoint:t}){return Nc(e,t)}build(e,t,n){Hd(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return Dd(e,t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:e}=this.props;El(e)&&(this.childSubscription=e.on("change",(e=>{this.current&&(this.current.textContent=`${e}`)})))}}class yf extends pf{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=uc}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(xi.has(t)){const e=Ga(t);return e&&e.default||0}return t=Od.has(t)?t:yl(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return Ad(e,t,n)}build(e,t,n){Gd(e,t,this.isSVGTag,n.transformTemplate)}renderInstance(e,t,n,r){Md(e,t,0,r)}mount(e){this.isSVGTag=Xd(e.tagName),super.mount(e)}}const vf=function(e){if("undefined"==typeof Proxy)return e;const t=new Map;return new Proxy(e,{get:(n,r)=>(t.has(r)||t.set(r,e(r)),t.get(r))})}(function(e,t){return function(n,{forwardMotionProps:r}={forwardMotionProps:!1}){return function({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:o}){e&&function(e){for(const t in e)Sd[t]={...Sd[t],...e[t]}}(e);const i=(0,s.forwardRef)((function(e,i){let a;const l={...(0,s.useContext)(ud),...e,layoutId:Cd(e)},{isStatic:c}=l,u=function(e){const{initial:t,animate:n}=function(e,t){if(wd(e)){const{initial:t,animate:n}=e;return{initial:!1===t||hi(t)?t:void 0,animate:hi(n)?n:void 0}}return!1!==e.inherit?t:{}}(e,(0,s.useContext)(dd));return(0,s.useMemo)((()=>({initial:t,animate:n})),[Ed(t),Ed(n)])}(e),d=r(e,c);if(!c&&fd){(0,s.useContext)(hd).strict;const e=function(e){const{drag:t,layout:n}=Sd;if(!t&&!n)return{};const r={...t,...n};return{MeasureLayout:(null==t?void 0:t.isEnabled(e))||(null==n?void 0:n.isEnabled(e))?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}(l);a=e.MeasureLayout,u.visualElement=gd(o,d,l,t,e.ProjectionNode)}return(0,Dc.jsxs)(dd.Provider,{value:u,children:[a&&u.visualElement?(0,Dc.jsx)(a,{visualElement:u.visualElement,...l}):null,n(o,e,bd(d,u.visualElement,i),d,c,u.visualElement)]})}));return i[kd]=o,i}({...Pd(n)?Zd:Jd,preloadedFeatures:e,useRender:sf(r),createVisualElement:t,Component:n})}}({...Al,...ld,...Qu,...cd},((e,t)=>Pd(e)?new yf(t):new gf(t,{allowProjection:e!==s.Fragment}))));var bf=["slug","text","icon","className","disabled","badge"];function wf(){return wf=Object.assign?Object.assign.bind():function(e){for(var t=1;t*]:box-border flex items-center ".concat("full"===v?"w-full":""," ").concat(_),k=re(S,w,x,t,E,"underline"!==h?"bg-tab-background":"",a);return l().createElement("div",{className:k},l().createElement(xf.Provider,{value:{activeItem:o,onChange:b,size:u,variant:h,orientation:f,iconPosition:g,width:v}},l().Children.map(n,(function(e){return(0,s.isValidElement)(e)?l().cloneElement(e):null}))))};Ef.displayName="Tabs.Group";var _f=(0,s.forwardRef)((function(e,t){var n=(0,s.useContext)(xf),r=e.slug,o=e.text,i=e.icon,a=e.className,c=e.disabled,u=void 0!==c&&c,d=e.badge,f=void 0===d?null:d,m=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;rsvg]:size-4",searchIcon:"[&>svg]:size-4",selectButton:"px-2.5 py-2 rounded text-sm font-medium leading-4 min-h-[2rem]",multiSelect:"pl-2 pr-2 py-1.5",displaySelected:"text-sm font-normal",dropdown:"rounded-md",dropdownItemsWrapper:"p-1.5",searchbarWrapper:"p-3 flex items-center gap-0.5",searchbar:"font-medium text-sm",searchbarIcon:"[&>svg]:size-4",label:"text-sm font-medium"},md:{icon:"[&>svg]:size-5",searchIcon:"[&>svg]:size-5",selectButton:"px-3.5 py-2.5 rounded-md text-xs font-medium leading-4 min-h-[2.5rem]",multiSelect:"pl-2 pr-2.5 py-2",displaySelected:"text-sm font-normal",dropdown:"rounded-lg",dropdownItemsWrapper:"p-2",searchbarWrapper:"p-2.5 flex items-center gap-1",searchbar:"font-medium text-sm",searchbarIcon:"[&>svg]:size-5",label:"text-sm font-medium"},lg:{icon:"[&>svg]:size-6",searchIcon:"[&>svg]:size-5",selectButton:"px-4 py-3 rounded-lg text-sm font-medium leading-5 min-h-[3rem]",multiSelect:"pl-2.5 pr-3 py-2.5",displaySelected:"text-base font-normal",dropdown:"rounded-lg",dropdownItemsWrapper:"p-2",searchbarWrapper:"p-2.5 flex items-center gap-1",searchbar:"font-medium text-sm",searchbarIcon:"[&>svg]:size-5",label:"text-base font-medium"}},Tf="group-disabled:text-field-color-disabled",Of=["value","selected","children","className"];function Mf(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(e,t)||Af(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Rf(){return Rf=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:shrink-0",Pf[y].icon)},M())))}function Uf(e){var t=e.children,n=e.searchBy,r=void 0===n?"id":n,o=e.searchPlaceholder,i=void 0===o?"Search...":o,a=e.dropdownPortalRoot,l=void 0===a?null:a,c=e.dropdownPortalId,u=void 0===c?"":c,d=e.className,f=Wf(),m=f.isOpen,h=f.context,p=f.refs,g=f.combobox,y=f.floatingStyles,v=f.getFloatingProps,b=f.sizeValue,w=f.setSearchKeyword,x=f.setActiveIndex,E=f.setSelectedIndex,_=f.value,S=f.selected,k=f.getValues,C=f.searchKeyword,N=f.listContentRef,P=f.by,T=(0,s.useMemo)((function(){var e=k(),n=0;return e&&(n=s.Children.toArray(t).findIndex((function(t){return"object"===If(t.props.value)?t.props.value[P]===e[P]:t.props.value===e}))),-1===n?0:n}),[_,S,t]);(0,s.useLayoutEffect)((function(){x(T),E(T)}),[]);var O=(0,s.useMemo)((function(){return s.Children.map(t,(function(e,t){if(!(0,s.isValidElement)(e))return null;if(C){var n=e.props.value;if("object"===If(n)){if(-1===n[r].toLowerCase().indexOf(C.toLowerCase()))return null}else if(-1===n.toLowerCase().indexOf(C.toLowerCase()))return null}return(0,s.cloneElement)(e,Lf(Lf({},e.props),{},{index:t}))}))}),[C,_,S,t]),M=s.Children.count(O);return(0,s.useEffect)((function(){N.current=[],s.Children.forEach(t,(function(e){if((0,s.isValidElement)(e)&&e.props.value){if(C){var t=e.props.value;if("object"===If(t)){if(-1===t[r].toLowerCase().indexOf(C.toLowerCase()))return}else if(-1===t.toLowerCase().indexOf(C.toLowerCase()))return}N.current.push(e.props.value)}}))}),[C]),React.createElement(React.Fragment,null,m&&React.createElement(Cr,{id:u,root:l},React.createElement(Ar,{context:h,modal:!1},React.createElement("div",Rf({ref:p.setFloating,className:re("box-border [&_*]:box-border w-full bg-white outline-none shadow-lg outline outline-1 outline-border-subtle",g&&"grid grid-cols-1 grid-rows-[auto_1fr] divide-y divide-x-0 divide-solid divide-border-subtle",Pf[b].dropdown,!g&&"h-auto",g?"overflow-hidden":"overflow-y-auto",d),style:Lf({},y)},v()),g&&React.createElement("div",{className:re(Pf[b].searchbarWrapper)},React.createElement(Nf,{className:re("text-icon-secondary shrink-0",Pf[b].searchbarIcon)}),React.createElement("input",{className:re("px-1 w-full placeholder:text-field-placeholder border-0 focus:outline-none focus:shadow-none",Pf[b].searchbar),type:"search",name:"keyword",placeholder:i,onChange:function(e){return w(e.target.value)},autoComplete:"off"})),React.createElement("div",{className:re("overflow-y-auto",!g&&"w-full h-full",Pf[b].dropdownItemsWrapper)},!!M&&O,!M&&React.createElement("div",{className:"p-2 text-center text-base font-medium text-field-placeholder"},"No items found"))))))}function $f(e){var t=e.value,n=e.selected,r=e.children,o=e.className,i=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r{},enabled:c=!0,selectedIndex:u=null,allowEscape:d=!1,loop:f=!1,nested:m=!1,rtl:h=!1,virtual:p=!1,focusItemOnOpen:g="auto",focusItemOnHover:y=!0,openOnArrowKeyDown:v=!0,disabledIndices:b,orientation:w="vertical",cols:x=1,scrollItemIntoView:E=!0,virtualItemRef:_,itemSizes:S,dense:k=!1}=t,C=or(Tr(o.floating)),N=tr(),P=nr(),T=Mn(l),O=s.useRef(g),M=s.useRef(null!=u?u:-1),R=s.useRef(null),D=s.useRef(!0),A=s.useRef(T),j=s.useRef(!!o.floating),I=s.useRef(n),F=s.useRef(!1),L=s.useRef(!1),z=or(b),B=or(n),W=or(E),V=or(u),[U,$]=s.useState(),[H,Y]=s.useState(),q=Mn((function(e,t,n){function r(e){p?($(e.id),null==P||P.events.emit("virtualfocus",e),_&&(_.current=e)):Hn(e,{preventScroll:!0,sync:!(!st()||!it())&&(qr||F.current)})}void 0===n&&(n=!1);const o=e.current[t.current];o&&r(o),requestAnimationFrame((()=>{const i=e.current[t.current]||o;if(!i)return;o||r(i);const a=W.current;a&&G&&(n||!D.current)&&(null==i.scrollIntoView||i.scrollIntoView("boolean"==typeof a?{block:"nearest",inline:"nearest"}:a))}))}));Yn((()=>{document.createElement("div").focus({get preventScroll(){return qr=!0,!1}})}),[]),Yn((()=>{c&&(n&&o.floating?O.current&&null!=u&&(L.current=!0,M.current=u,T(u)):j.current&&(M.current=-1,A.current(null)))}),[c,n,o.floating,u,T]),Yn((()=>{if(c&&n&&o.floating)if(null==a){if(F.current=!1,null!=V.current)return;if(j.current&&(M.current=-1,q(i,M)),(!I.current||!j.current)&&O.current&&(null!=R.current||!0===O.current&&null==R.current)){let e=0;const t=()=>{null==i.current[0]?(e<2&&(e?requestAnimationFrame:queueMicrotask)(t),e++):(M.current=null==R.current||Xr(R.current,w,h)||m?Ln(i,z.current):zn(i,z.current),R.current=null,T(M.current))};t()}}else Fn(i,a)||(M.current=a,q(i,M,L.current),L.current=!1)}),[c,n,o.floating,a,V,m,i,w,h,T,q,z]),Yn((()=>{var e;if(!c||o.floating||!P||p||!j.current)return;const t=P.nodesRef.current,n=null==(e=t.find((e=>e.id===N)))||null==(e=e.context)?void 0:e.elements.floating,r=Qe(ct(o.floating)),i=t.some((e=>e.context&&et(e.context.elements.floating,r)));n&&!i&&D.current&&n.focus({preventScroll:!0})}),[c,o.floating,P,N,p]),Yn((()=>{if(c&&P&&p&&!N)return P.events.on("virtualfocus",e),()=>{P.events.off("virtualfocus",e)};function e(e){Y(e.id),_&&(_.current=e)}}),[c,P,p,N,_]),Yn((()=>{A.current=T,j.current=!!o.floating})),Yn((()=>{n||(R.current=null)}),[n]),Yn((()=>{I.current=n}),[n]);const K=null!=a,G=s.useMemo((()=>{function e(e){if(!n)return;const t=i.current.indexOf(e);-1!==t&&T(t)}return{onFocus(t){let{currentTarget:n}=t;e(n)},onClick:e=>{let{currentTarget:t}=e;return t.focus({preventScroll:!0})},...y&&{onMouseMove(t){let{currentTarget:n}=t;e(n)},onPointerLeave(e){let{pointerType:t}=e;D.current&&"touch"!==t&&(M.current=-1,q(i,M),T(null),p||Hn(C.current,{preventScroll:!0}))}}}}),[n,C,q,y,i,T,p]),X=Mn((e=>{if(D.current=!1,F.current=!0,!B.current&&e.currentTarget===C.current)return;if(m&&Zr(e.key,w,h))return mt(e),r(!1,e.nativeEvent,"list-navigation"),void(ze(o.domReference)&&!p&&o.domReference.focus());const t=M.current,a=Ln(i,b),s=zn(i,b);if("Home"===e.key&&(mt(e),M.current=a,T(M.current)),"End"===e.key&&(mt(e),M.current=s,T(M.current)),x>1){const t=S||Array.from({length:i.current.length},(()=>({width:1,height:1}))),n=function(e,t,n){const r=[];let o=0;return e.forEach(((e,i)=>{let{width:a,height:s}=e,l=!1;for(n&&(o=0);!l;){const e=[];for(let n=0;nnull==r[e]))?(e.forEach((e=>{r[e]=i})),l=!0):o++}})),[...r]}(t,x,k),r=n.findIndex((e=>null!=e&&!Un(i.current,e,b))),o=n.reduce(((e,t,n)=>null==t||Un(i.current,t,b)?e:n),-1),l=n[function(e,t){let{event:n,orientation:r,loop:o,cols:i,disabledIndices:a,minIndex:s,maxIndex:l,prevIndex:c,stopEvent:u=!1}=t,d=c;if(n.key===Rn){if(u&&mt(n),-1===c)d=l;else if(d=Bn(e,{startingIndex:d,amount:i,decrement:!0,disabledIndices:a}),o&&(c-ie?n:n-i}Fn(e,d)&&(d=c)}if(n.key===Dn&&(u&&mt(n),-1===c?d=s:(d=Bn(e,{startingIndex:c,amount:i,disabledIndices:a}),o&&c+i>l&&(d=Bn(e,{startingIndex:c%i-i,amount:i,disabledIndices:a}))),Fn(e,d)&&(d=c)),"both"===r){const t=vt(c/i);n.key===jn&&(u&&mt(n),c%i!=i-1?(d=Bn(e,{startingIndex:c,disabledIndices:a}),o&&In(d,i,t)&&(d=Bn(e,{startingIndex:c-c%i-1,disabledIndices:a}))):o&&(d=Bn(e,{startingIndex:c-c%i-1,disabledIndices:a})),In(d,i,t)&&(d=c)),n.key===An&&(u&&mt(n),c%i!=0?(d=Bn(e,{startingIndex:c,decrement:!0,disabledIndices:a}),o&&In(d,i,t)&&(d=Bn(e,{startingIndex:c+(i-c%i),decrement:!0,disabledIndices:a}))):o&&(d=Bn(e,{startingIndex:c+(i-c%i),decrement:!0,disabledIndices:a})),In(d,i,t)&&(d=c));const r=vt(l/i)===t;Fn(e,d)&&(d=o&&r?n.key===An?l:Bn(e,{startingIndex:c-c%i-1,disabledIndices:a}):c)}return d}({current:n.map((e=>null!=e?i.current[e]:null))},{event:e,orientation:w,loop:f,cols:x,disabledIndices:Vn([...b||i.current.map(((e,t)=>Un(i.current,t)?t:void 0)),void 0],n),minIndex:r,maxIndex:o,prevIndex:Wn(M.current>s?a:M.current,t,n,x,e.key===Dn?"bl":e.key===jn?"tr":"tl"),stopEvent:!0})];if(null!=l&&(M.current=l,T(M.current)),"both"===w)return}if(Gr(e.key,w)){if(mt(e),n&&!p&&Qe(e.currentTarget.ownerDocument)===e.currentTarget)return M.current=Xr(e.key,w,h)?a:s,void T(M.current);Xr(e.key,w,h)?M.current=f?t>=s?d&&t!==i.current.length?-1:a:Bn(i,{startingIndex:t,disabledIndices:b}):Math.min(s,Bn(i,{startingIndex:t,disabledIndices:b})):M.current=f?t<=a?d&&-1!==t?i.current.length:s:Bn(i,{startingIndex:t,decrement:!0,disabledIndices:b}):Math.max(a,Bn(i,{startingIndex:t,decrement:!0,disabledIndices:b})),Fn(i,M.current)?T(null):T(M.current)}})),Z=s.useMemo((()=>p&&n&&K&&{"aria-activedescendant":H||U}),[p,n,K,H,U]),J=s.useMemo((()=>({"aria-orientation":"both"===w?void 0:w,...!ht(o.domReference)&&Z,onKeyDown:X,onPointerMove(){D.current=!0}})),[Z,X,o.domReference,w]),Q=s.useMemo((()=>{function e(e){"auto"===g&&rt(e.nativeEvent)&&(O.current=!0)}return{...Z,onKeyDown(e){D.current=!1;const t=0===e.key.indexOf("Arrow"),o=function(e,t,n){return Kr(t,n?e===An:e===jn,e===Dn)}(e.key,w,h),a=Zr(e.key,w,h),s=Gr(e.key,w),l=(m?o:s)||"Enter"===e.key||""===e.key.trim();if(p&&n){const n=null==P?void 0:P.nodesRef.current.find((e=>null==e.parentId)),r=P&&n?function(e,t){let n,r=-1;return function t(o,i){i>r&&(n=o,r=i),sr(e,o).forEach((e=>{t(e.id,i+1)}))}(t,0),e.find((e=>e.id===n))}(P.nodesRef.current,n.id):null;if(t&&r&&_){const t=new KeyboardEvent("keydown",{key:e.key,bubbles:!0});if(o||a){var c,d;const n=(null==(c=r.context)?void 0:c.elements.domReference)===e.currentTarget,s=a&&!n?null==(d=r.context)?void 0:d.elements.domReference:o?i.current.find((e=>(null==e?void 0:e.id)===U)):null;s&&(mt(e),s.dispatchEvent(t),Y(void 0))}var f;if(s&&r.context&&r.context.open&&r.parentId&&e.currentTarget!==r.context.elements.domReference)return mt(e),void(null==(f=r.context.elements.domReference)||f.dispatchEvent(t))}return X(e)}(n||v||!t)&&(l&&(R.current=m&&s?null:e.key),m?o&&(mt(e),n?(M.current=Ln(i,z.current),T(M.current)):r(!0,e.nativeEvent,"list-navigation")):s&&(null!=u&&(M.current=u),mt(e),!n&&v?r(!0,e.nativeEvent,"list-navigation"):X(e),n&&T(M.current)))},onFocus(){n&&!p&&T(null)},onPointerDown:function(e){O.current=g,"auto"===g&&ot(e.nativeEvent)&&(O.current=!0)},onMouseDown:e,onClick:e}}),[U,Z,X,z,g,i,m,T,r,n,v,w,h,u,P,p,_]);return s.useMemo((()=>c?{reference:Q,floating:J,item:G}:{}),[c,Q,J,G])}(z,{listRef:B,activeIndex:O,selectedIndex:D,onNavigate:M,loop:!0}),q=function(e,t){var n;const{open:r,dataRef:o}=e,{listRef:i,activeIndex:a,onMatch:l,onTypingChange:c,enabled:u=!0,findMatch:d=null,resetMs:f=750,ignoreKeys:m=[],selectedIndex:h=null}=t,p=s.useRef(),g=s.useRef(""),y=s.useRef(null!=(n=null!=h?h:a)?n:-1),v=s.useRef(null),b=Mn(l),w=Mn(c),x=or(d),E=or(m);Yn((()=>{r&&(clearTimeout(p.current),v.current=null,g.current="")}),[r]),Yn((()=>{var e;r&&""===g.current&&(y.current=null!=(e=null!=h?h:a)?e:-1)}),[r,h,a]);const _=Mn((e=>{e?o.current.typing||(o.current.typing=e,w(e)):o.current.typing&&(o.current.typing=e,w(e))})),S=Mn((e=>{function t(e,t,n){const r=x.current?x.current(t,n):t.find((e=>0===(null==e?void 0:e.toLocaleLowerCase().indexOf(n.toLocaleLowerCase()))));return r?e.indexOf(r):-1}const n=i.current;if(g.current.length>0&&" "!==g.current[0]&&(-1===t(n,n,g.current)?_(!1):" "===e.key&&mt(e)),null==n||E.current.includes(e.key)||1!==e.key.length||e.ctrlKey||e.metaKey||e.altKey)return;r&&" "!==e.key&&(mt(e),_(!0)),n.every((e=>{var t,n;return!e||(null==(t=e[0])?void 0:t.toLocaleLowerCase())!==(null==(n=e[1])?void 0:n.toLocaleLowerCase())}))&&g.current===e.key&&(g.current="",y.current=v.current),g.current+=e.key,clearTimeout(p.current),p.current=setTimeout((()=>{g.current="",y.current=v.current,_(!1)}),f);const o=y.current,a=t(n,[...n.slice((o||0)+1),...n.slice(0,(o||0)+1)],g.current);-1!==a?(b(a),v.current=a):" "!==e.key&&(g.current="",_(!1))})),k=s.useMemo((()=>({onKeyDown:S})),[S]),C=s.useMemo((()=>({onKeyDown:S,onKeyUp(e){" "===e.key&&_(!1)}})),[S,_]);return s.useMemo((()=>u?{reference:k,floating:C}:{}),[u,k,C])}(z,{listRef:W,activeIndex:O,selectedIndex:D,onMatch:N?M:A,onTypingChange:function(e){V.current=e}}),K=Yr([$,H,Y,U].concat(Df(h?[]:[q]))),G=K.getReferenceProps,X=K.getFloatingProps,Z=K.getItemProps,J=function(e,t){if(f)return function(e,t){var n,r=Df(null!==(n=k())&&void 0!==n?n:[]);-1===r.findIndex((function(e){return"object"===If(e)?e[c]===t[c]:e===t}))&&(r.push(t),v||x(r),A(e),F.reference.current.focus(),P(!1),S(""),"function"==typeof a&&a(r))}(e,t);A(e),v||x(t),F.reference.current.focus(),P(!1),S(""),"function"==typeof a&&a(t)},Q=(0,s.useCallback)((function(e,t){B.current[e]=t}),[]);return React.createElement(Bf.Provider,{value:{selectedIndex:D,setSelectedIndex:A,activeIndex:O,setActiveIndex:M,selected:w,setSelected:x,handleSelect:J,combobox:h,sizeValue:r,multiple:f,onChange:a,isTypingRef:V,getItemProps:Z,onClickItem:function(e,t){J(e,t)},onKeyDownItem:function(e,t,n){"Enter"===e.key&&(e.preventDefault(),J(t,n))," "!==e.key||V.current||(e.preventDefault(),J(t,n))},getValues:k,selectId:y,getReferenceProps:G,isOpen:N,value:o,updateListRef:Q,refs:F,listContentRef:W,by:c,getFloatingProps:X,floatingStyles:L,context:z,searchKeyword:_,setSearchKeyword:S,disabled:g}},u)};Vf.displayName="Select.Button",Uf.displayName="Select.Options",$f.displayName="Select.Item",Hf.Button=Vf,Hf.Options=Uf,Hf.Option=$f;var Yf=Hf,qf=["id","message","jsx"];function Kf(e){return Kf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Kf(e)}function Gf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xf(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Xf({message:e,type:"neutral"},t))}},{key:"success",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Xf({message:e,type:"success"},t))}},{key:"error",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Xf({message:e,type:"error"},t))}},{key:"warning",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Xf({message:e,type:"warning"},t))}},{key:"info",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Xf({message:e,type:"info"},t))}},{key:"custom",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Xf({jsx:e,type:"custom"},t))}}],t&&function(e,t){for(var n=0;n{const{width:e,height:a,top:s,left:l}=o.current;if(t||!r.current||!e||!a)return;r.current.dataset.motionPopId=n;const c=document.createElement("style");return i&&(c.nonce=i),document.head.appendChild(c),c.sheet&&c.sheet.insertRule(`\n [data-motion-pop-id="${n}"] {\n position: absolute !important;\n width: ${e}px !important;\n height: ${a}px !important;\n top: ${s}px !important;\n left: ${l}px !important;\n }\n `),()=>{document.head.removeChild(c)}}),[t]),(0,Dc.jsx)(hm,{isPresent:t,childRef:r,sizeRef:o,children:s.cloneElement(e,{ref:r})})}const gm=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:o,presenceAffectsLayout:i,mode:a})=>{const l=jd(ym),c=(0,s.useId)(),u=(0,s.useMemo)((()=>({id:c,initial:t,isPresent:n,custom:o,onExitComplete:e=>{l.set(e,!0);for(const e of l.values())if(!e)return;r&&r()},register:e=>(l.set(e,!1),()=>l.delete(e))})),i?[Math.random()]:[n]);return(0,s.useMemo)((()=>{l.forEach(((e,t)=>l.set(t,!1)))}),[n]),s.useEffect((()=>{!n&&!l.size&&r&&r()}),[n]),"popLayout"===a&&(e=(0,Dc.jsx)(pm,{isPresent:n,children:e})),(0,Dc.jsx)(Ac.Provider,{value:u,children:e})};function ym(){return new Map}const vm=e=>e.key||"";function bm(e){const t=[];return s.Children.forEach(e,(e=>{(0,s.isValidElement)(e)&&t.push(e)})),t}const wm=({children:e,exitBeforeEnter:t,custom:n,initial:r=!0,onExitComplete:o,presenceAffectsLayout:i=!0,mode:a="sync"})=>{Bi(!t,"Replace exitBeforeEnter with mode='wait'");const l=(0,s.useMemo)((()=>bm(e)),[e]),c=l.map(vm),u=(0,s.useRef)(!0),d=(0,s.useRef)(l),f=jd((()=>new Map)),[m,h]=(0,s.useState)(l),[p,g]=(0,s.useState)(l);md((()=>{u.current=!1,d.current=l;for(let e=0;e{const t=vm(e),s=l===p||c.includes(t);return(0,Dc.jsx)(gm,{isPresent:s,initial:!(u.current&&!r)&&void 0,custom:s?void 0:n,presenceAffectsLayout:i,mode:a,onExitComplete:s?void 0:()=>{if(!f.has(t))return;f.set(t,!0);let e=!0;f.forEach((t=>{t||(e=!1)})),e&&(null==v||v(),g(d.current),o&&o())},children:e},t)}))})};function xm(e){return xm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xm(e)}function Em(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _m(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&void 0!==arguments[1]?arguments[1]:u;if(l&&!(u<0))return w.current=(new Date).getTime(),setTimeout((function(){b(e.id)}),t)};(0,s.useEffect)((function(){var e=u;return E.current=_(t,e),function(){clearTimeout(E.current)}}),[]),(0,s.useEffect)((function(){null!=t&&t.dismiss&&b(t.id)}),[t]);var S,k,C,N,P,T,O,M,R,D,A=function(){var e,n;null==t||null===(e=t.action)||void 0===e||null===(n=e.onClick)||void 0===n||n.call(e,(function(){return b(t.id)}))},j=null;return"stack"===h&&(j=React.createElement("div",{className:re("flex items-center justify-start p-4 gap-2 relative border border-solid rounded-md shadow-lg","dark"===f?fm:null===(S=dm)||void 0===S?void 0:S[v],"w-[22.5rem]"),onMouseEnter:function(){clearTimeout(E.current),x.current=(new Date).getTime()},onMouseLeave:function(){E.current=_(t,u-(x.current-w.current))}},"custom"!==t.type?React.createElement(React.Fragment,null,React.createElement("div",{className:"self-start flex items-center justify-center [&_svg]:size-5 shrink-0"},co({variant:v,icon:g,theme:f})),React.createElement("div",{className:"flex flex-col items-start justify-start gap-0.5"},fo({title:r,theme:f}),mo({content:i,theme:f}),(null==t||null===(k=t.action)||void 0===k?void 0:k.label)&&"function"==typeof(null==t||null===(C=t.action)||void 0===C?void 0:C.onClick)&&React.createElement("div",{className:"mt-2.5"},uo({actionLabel:null==t||null===(N=t.action)||void 0===N?void 0:N.label,actionType:null!==(P=null==t||null===(T=t.action)||void 0===T?void 0:T.type)&&void 0!==P?P:"button",onAction:A,theme:f}))),React.createElement("div",{className:"absolute right-4 top-4 [&_svg]:size-5"},React.createElement("button",{className:re("bg-transparent m-0 p-0 border-none focus:outline-none active:outline-none cursor-pointer",null!==(O=mm[f])&&void 0!==O?O:mm.light),onClick:function(){return b(t.id)}},React.createElement(jo,null)))):null==t||null===(M=t.jsx)||void 0===M?void 0:M.call(t,{close:function(){return b(t.id)},action:null!=t&&t.action?_m(_m({},null==t?void 0:t.action),{},{onClick:A}):null}))),"inline"===h&&(j=React.createElement("div",{className:re("flex items-center justify-start p-3 gap-2 relative border border-solid rounded-md shadow-lg","dark"===f?fm:null===(R=dm)||void 0===R?void 0:R[v],"lg:w-[47.5rem] w-full")},React.createElement("div",{className:"self-start flex items-center justify-center [&_svg]:size-5 shrink-0"},co({variant:v,icon:g,theme:f})),React.createElement("div",{className:"flex items-start justify-start gap-1 mr-10 [&>span:first-child]:shrink-0"},fo({title:r,theme:f}),mo({content:i,theme:f})),React.createElement("div",{className:"absolute right-3 top-3 [&_svg]:size-5"},React.createElement("button",{className:re("bg-transparent m-0 p-0 border-none focus:outline-none active:outline-none cursor-pointer",null!==(D=mm[f])&&void 0!==D?D:mm.light),onClick:function(){return b(t.id)}},React.createElement(jo,null))))),j},Tm=(Nm=function(e){var t,n,r=e.position,o=void 0===r?"top-right":r,i=e.design,a=void 0===i?"stack":i,l=e.theme,c=void 0===l?"light":l,u=e.className,d=void 0===u?"":u,f=e.autoDismiss,m=void 0===f||f,h=e.dismissAfter,p=void 0===h?5e3:h,g=function(e){if(Array.isArray(e))return e}(n=(0,s.useState)([]))||function(e){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,r,o,i,a=[],s=!0,l=!1;try{for(o=(t=t.call(e)).next,!2;!(s=(n=o.call(t)).done)&&(a.push(n.value),2!==a.length);s=!0);}catch(e){l=!0,r=e}finally{try{if(!s&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(l)throw r}}return a}}(n)||km(n,2)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),y=g[0],v=g[1];(0,s.useEffect)((function(){sm.subscribe((function(e){null!=e&&e.dismiss?v((function(t){return t.map((function(t){return t.id===e.id?_m(_m({},t),{},{dismiss:!0}):t}))})):setTimeout((function(){(0,Gt.flushSync)((function(){return v((function(t){return-1!==t.findIndex((function(t){return t.id===e.id}))?t.map((function(t){return t.id===e.id?_m(_m({},t),e):t})):[].concat(function(e){return function(e){if(Array.isArray(e))return Cm(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||km(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t),[e])}))}))}))}))}),[]);var b=function(e){v((function(t){return t.filter((function(t){return t.id!==e}))}))};return React.createElement("ul",{className:re("fixed flex flex-col list-none z-20 p-10 pointer-events-none [&>li]:pointer-events-auto gap-3",null!==(t=um[o])&&void 0!==t?t:um["top-right"],d)},React.createElement(wm,{initial:!1},y.map((function(e){var t,n,r,o,i;return React.createElement(vf.li,{key:e.id,positionTransition:!0,initial:{opacity:0,y:50,scale:.7},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.6,transition:{duration:.15}},layoutId:"toast-".concat(e.id)},React.createElement(Pm,{toastItem:e,title:e.title,content:null==e?void 0:e.description,icon:null!==(t=null==e?void 0:e.icon)&&void 0!==t?t:null,design:null!==(n=null==e?void 0:e.design)&&void 0!==n?n:a,autoDismiss:null!==(r=null==e?void 0:e.autoDismiss)&&void 0!==r?r:m,dismissAfter:null!==(o=null==e?void 0:e.dismissAfter)&&void 0!==o?o:p,removeToast:b,variant:e.type,theme:null!==(i=null==e?void 0:e.theme)&&void 0!==i?i:c}))}))))},(0,s.memo)((function(e){var t=e.singleTon;return cm&&t?null:(cm=!0,React.createElement(Nm,e))}))),Om={sm:{1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6",7:"grid-cols-7",8:"grid-cols-8",9:"grid-cols-9",10:"grid-cols-10",11:"grid-cols-11",12:"grid-cols-12"},md:{1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3",4:"md:grid-cols-4",5:"md:grid-cols-5",6:"md:grid-cols-6",7:"md:grid-cols-7",8:"md:grid-cols-8",9:"md:grid-cols-9",10:"md:grid-cols-10",11:"md:grid-cols-11",12:"md:grid-cols-12"},lg:{1:"lg:grid-cols-1",2:"lg:grid-cols-2",3:"lg:grid-cols-3",4:"lg:grid-cols-4",5:"lg:grid-cols-5",6:"lg:grid-cols-6",7:"lg:grid-cols-7",8:"lg:grid-cols-8",9:"lg:grid-cols-9",10:"lg:grid-cols-10",11:"lg:grid-cols-11",12:"lg:grid-cols-12"}},Mm={sm:{xs:"gap-2",sm:"gap-4",md:"gap-5",lg:"gap-6",xl:"gap-6","2xl":"gap-8"},md:{xs:"md:gap-2",sm:"md:gap-4",md:"md:gap-5",lg:"md:gap-6",xl:"md:gap-6","2xl":"md:gap-8"},lg:{xs:"lg:gap-2",sm:"lg:gap-4",md:"lg:gap-5",lg:"lg:gap-6",xl:"lg:gap-6","2xl":"lg:gap-8"}},Rm={sm:{xs:"gap-x-2",sm:"gap-x-4",md:"gap-x-5",lg:"gap-x-6",xl:"gap-x-6","2xl":"gap-x-8"},md:{xs:"md:gap-x-2",sm:"md:gap-x-4",md:"md:gap-x-5",lg:"md:gap-x-6",xl:"md:gap-x-6","2xl":"md:gap-x-8"},lg:{xs:"lg:gap-x-2",sm:"lg:gap-x-4",md:"lg:gap-x-5",lg:"lg:gap-x-6",xl:"lg:gap-x-6","2xl":"lg:gap-x-8"}},Dm={sm:{xs:"gap-y-2",sm:"gap-y-4",md:"gap-y-5",lg:"gap-y-6",xl:"gap-y-6","2xl":"gap-y-8"},md:{xs:"md:gap-y-2",sm:"md:gap-y-4",md:"md:gap-y-5",lg:"md:gap-y-6",xl:"md:gap-y-6","2xl":"md:gap-y-8"},lg:{xs:"lg:gap-y-2",sm:"lg:gap-y-4",md:"lg:gap-y-5",lg:"lg:gap-y-6",xl:"lg:gap-y-6","2xl":"lg:gap-y-8"}},Am={sm:{1:"col-span-1",2:"col-span-2",3:"col-span-3",4:"col-span-4",5:"col-span-5",6:"col-span-6",7:"col-span-7",8:"col-span-8",9:"col-span-9",10:"col-span-10",11:"col-span-11",12:"col-span-12"},md:{1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3",4:"md:col-span-4",5:"md:col-span-5",6:"md:col-span-6",7:"md:col-span-7",8:"md:col-span-8",9:"md:col-span-9",10:"md:col-span-10",11:"md:col-span-11",12:"md:col-span-12"},lg:{1:"lg:col-span-1",2:"lg:col-span-2",3:"lg:col-span-3",4:"lg:col-span-4",5:"lg:col-span-5",6:"lg:col-span-6",7:"lg:col-span-7",8:"lg:col-span-8",9:"lg:col-span-9",10:"lg:col-span-10",11:"lg:col-span-11",12:"lg:col-span-12"}},jm={sm:{1:"col-start-1",2:"col-start-2",3:"col-start-3",4:"col-start-4",5:"col-start-5",6:"col-start-6",7:"col-start-7",8:"col-start-8",9:"col-start-9",10:"col-start-10",11:"col-start-11",12:"col-start-12"},md:{1:"md:col-start-1",2:"md:col-start-2",3:"md:col-start-3",4:"md:col-start-4",5:"md:col-start-5",6:"md:col-start-6",7:"md:col-start-7",8:"md:col-start-8",9:"md:col-start-9",10:"md:col-start-10",11:"md:col-start-11",12:"md:col-start-12"},lg:{1:"lg:col-start-1",2:"lg:col-start-2",3:"lg:col-start-3",4:"lg:col-start-4",5:"lg:col-start-5",6:"lg:col-start-6",7:"lg:col-start-7",8:"lg:col-start-8",9:"lg:col-start-9",10:"lg:col-start-10",11:"lg:col-start-11",12:"lg:col-start-12"}},Im={sm:{row:"grid-flow-row",column:"grid-flow-col","row-dense":"grid-flow-row-dense","column-dense":"grid-flow-col-dense"},md:{row:"md:grid-flow-row",column:"md:grid-flow-col","row-dense":"md:grid-flow-row-dense","column-dense":"md:grid-flow-col-dense"},lg:{row:"lg:grid-flow-row",column:"lg:grid-flow-col","row-dense":"lg:grid-flow-row-dense","column-dense":"lg:grid-flow-col-dense"}},Fm={sm:{normal:"justify-normal",start:"justify-start",end:"justify-end",center:"justify-center",between:"justify-between",around:"justify-around",evenly:"justify-evenly",stretch:"justify-stretch"},md:{normal:"md:justify-normal",start:"md:justify-start",end:"md:justify-end",center:"md:justify-center",between:"md:justify-between",around:"md:justify-around",evenly:"md:justify-evenly",stretch:"md:justify-stretch"},lg:{normal:"lg:justify-normal",start:"lg:justify-start",end:"lg:justify-end",center:"lg:justify-center",between:"lg:justify-between",around:"lg:justify-around",evenly:"lg:justify-evenly",stretch:"lg:justify-stretch"}},Lm={sm:{start:"items-start",end:"items-end",center:"items-center",baseline:"items-baseline",stretch:"items-stretch"},md:{start:"md:items-start",end:"md:items-end",center:"md:items-center",baseline:"md:items-baseline",stretch:"md:items-stretch"},lg:{start:"lg:items-start",end:"lg:items-end",center:"lg:items-center",baseline:"lg:items-baseline",stretch:"lg:items-stretch"}},zm={sm:{start:"self-start",end:"self-end",center:"self-center",baseline:"self-baseline",stretch:"self-stretch"},md:{start:"md:self-start",end:"md:self-end",center:"md:self-center",baseline:"md:self-baseline",stretch:"md:self-stretch"},lg:{start:"lg:self-start",end:"lg:self-end",center:"lg:self-center",baseline:"lg:self-baseline",stretch:"lg:self-stretch"}},Bm={sm:{auto:"justify-self-auto",start:"justify-self-start",end:"justify-self-end",center:"justify-self-center",baseline:"justify-self-baseline",stretch:"justify-self-stretch"},md:{auto:"md:justify-self-auto",start:"md:justify-self-start",end:"md:justify-self-end",center:"md:justify-self-center",baseline:"md:justify-self-baseline",stretch:"md:justify-self-stretch"},lg:{auto:"lg:justify-self-auto",start:"lg:justify-self-start",end:"lg:justify-self-end",center:"lg:justify-self-center",baseline:"lg:justify-self-baseline",stretch:"lg:justify-self-stretch"}},Wm={sm:{row:"flex-row","row-reverse":"flex-row-reverse",column:"flex-col","column-reverse":"flex-col-reverse"},md:{row:"md:flex-row","row-reverse":"md:flex-row-reverse",column:"md:flex-col","column-reverse":"md:flex-col-reverse"},lg:{row:"lg:flex-row","row-reverse":"lg:flex-row-reverse",column:"lg:flex-col","column-reverse":"lg:flex-col-reverse"}},Vm={sm:{wrap:"flex-wrap","wrap-reverse":"flex-wrap-reverse",nowrap:"flex-nowrap"},md:{wrap:"md:flex-wrap","wrap-reverse":"md:flex-wrap-reverse",nowrap:"md:flex-nowrap"},lg:{wrap:"lg:flex-wrap","wrap-reverse":"lg:flex-wrap-reverse",nowrap:"lg:flex-nowrap"}},Um={sm:{1:"w-full",2:"w-1/2",3:"w-1/3",4:"w-1/4",5:"w-1/5",6:"w-1/6",7:"w-1/7",8:"w-1/8",9:"w-1/9",10:"w-1/10",11:"w-1/11",12:"w-1/12"},md:{1:"md:w-full",2:"md:w-1/2",3:"md:w-1/3",4:"md:w-1/4",5:"md:w-1/5",6:"md:w-1/6",7:"md:w-1/7",8:"md:w-1/8",9:"md:w-1/9",10:"md:w-1/10",11:"md:w-1/11",12:"md:w-1/12"},lg:{1:"lg:w-full",2:"lg:w-1/2",3:"lg:w-1/3",4:"lg:w-1/4",5:"lg:w-1/5",6:"lg:w-1/6",7:"lg:w-1/7",8:"lg:w-1/8",9:"lg:w-1/9",10:"lg:w-1/10",11:"lg:w-1/11",12:"lg:w-1/12"}},$m={sm:{1:"order-1",2:"order-2",3:"order-3",4:"order-4",5:"order-5",6:"order-6",7:"order-7",8:"order-8",9:"order-9",10:"order-10",11:"order-11",12:"order-12",first:"order-first",last:"order-last",none:"order-none"},md:{1:"md:order-1",2:"md:order-2",3:"md:order-3",4:"md:order-4",5:"md:order-5",6:"md:order-6",7:"md:order-7",8:"md:order-8",9:"md:order-9",10:"md:order-10",11:"md:order-11",12:"md:order-12",first:"md:order-first",last:"md:order-last",none:"md:order-none"},lg:{1:"lg:order-1",2:"lg:order-2",3:"lg:order-3",4:"lg:order-4",5:"lg:order-5",6:"lg:order-6",7:"lg:order-7",8:"lg:order-8",9:"lg:order-9",10:"lg:order-10",11:"lg:order-11",12:"lg:order-12",first:"lg:order-first",last:"lg:order-last",none:"lg:order-none"}},Hm={sm:{0:"grow-0",1:"grow"},md:{0:"md:grow-0",1:"md:grow"},lg:{0:"lg:grow-0",1:"lg:grow"}},Ym={sm:{0:"shrink-0",1:"shrink"},md:{0:"md:shrink-0",1:"md:shrink"},lg:{0:"lg:shrink-0",1:"lg:shrink"}};function qm(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n3&&void 0!==arguments[3]?arguments[3]:"sm",d=[];switch(Km(e)){case"object":for(var f=0,m=Object.entries(e);fspan:first-child]:shrink-0 px-1"},fo({title:g,theme:u}),mo({content:v,theme:u}))),React.createElement("div",{className:"flex items-center justify-start gap-4 [&_svg]:size-4"},(null==S?void 0:S.label)&&"function"==typeof(null==S?void 0:S.onClick)&&React.createElement("div",{className:"flex h-5"},uo({actionLabel:null==S?void 0:S.label,actionType:null!==(n=null==S?void 0:S.type)&&void 0!==n?n:"button",onAction:T,theme:u})),React.createElement("button",{className:re("bg-transparent m-0 border-none p-0.5 focus:outline-none active:outline-none cursor-pointer size-5",null!==(r=P[u])&&void 0!==r?r:P.light),onClick:function(){return k()}},React.createElement(jo,null))))},fh=(ch=function(e){const t=new URLSearchParams;t.append("code",e);for(let e=1;e{t.focus((()=>{const e=document.activeElement,n=t.getRootElement();null===n||null!==e&&n.contains(e)||n.focus({preventScroll:!0})}),{defaultSelection:e})}),[e,t]),null}const gh={},yh={},vh={},bh={},wh={},xh={},Eh={},_h={},Sh={},kh={},Ch={},Nh={},Ph={},Th={},Oh={},Mh={},Rh={},Dh={},Ah={},jh={},Ih={},Fh={},Lh={},zh={},Bh={},Wh={},Vh={},Uh={},$h={},Hh={},Yh={},qh={},Kh={},Gh={},Xh={},Zh={},Jh={},Qh={},ep={},tp={},np="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,rp=np&&"documentMode"in document?document.documentMode:null,op=np&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),ip=np&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),ap=!(!np||!("InputEvent"in window)||rp)&&"getTargetRanges"in new window.InputEvent("input"),sp=np&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),lp=np&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,cp=np&&/Android/.test(navigator.userAgent),up=np&&/^(?=.*Chrome).*/i.test(navigator.userAgent),dp=np&&cp&&up,fp=np&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!up,mp=0,hp=1,pp=2,gp=1,yp=2,vp=3,bp=4,wp=5,xp=6,Ep=sp||lp||fp?" ":"​",_p="\n\n",Sp=ip?" ":Ep,kp="֑-߿יִ-﷽ﹰ-ﻼ",Cp="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿",Np=new RegExp("^[^"+Cp+"]*["+kp+"]"),Pp=new RegExp("^[^"+kp+"]*["+Cp+"]"),Tp={bold:1,code:16,highlight:128,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},Op={directionless:1,unmergeable:2},Mp={center:2,end:6,justify:4,left:1,right:3,start:5},Rp={[yp]:"center",[xp]:"end",[bp]:"justify",[gp]:"left",[vp]:"right",[wp]:"start"},Dp={normal:0,segmented:2,token:1},Ap={[mp]:"normal",[pp]:"segmented",[hp]:"token"};var jp,Ip=(jp=function(e){const t=new URLSearchParams;t.append("code",e);for(let e=1;e100;try{Ob(e,(()=>{const o=tb()||function(e){return e.getEditorState().read((()=>{const e=tb();return null!==e?e.clone():null}))}(e),i=new Map,a=e.getRootElement(),s=e._editorState,l=e._blockCursorElement;let c=!1,u="";for(let n=0;n0){let t=0;for(let o=0;o0)for(const[t,n]of i)if(Rb(n)){const r=n.getChildrenKeys();let o=t.firstChild;for(let n=0;n0){for(let t=0;t{$p(e,t,n)}))}function qp(e,t){const n=e.__mode,r=e.__format,o=e.__style,i=t.__mode,a=t.__format,s=t.__style;return!(null!==n&&n!==i||null!==r&&r!==a||null!==o&&o!==s)}function Kp(e,t){const n=e.mergeWithSibling(t),r=bb()._normalizedNodes;return r.add(e.__key),r.add(t.__key),n}function Gp(e){let t,n,r=e;if(""!==r.__text||!r.isSimpleText()||r.isUnmergeable()){for(;null!==(t=r.getPreviousSibling())&&Rv(t)&&t.isSimpleText()&&!t.isUnmergeable();){if(""!==t.__text){if(qp(t,r)){r=Kp(t,r);break}break}t.remove()}for(;null!==(n=r.getNextSibling())&&Rv(n)&&n.isSimpleText()&&!n.isUnmergeable();){if(""!==n.__text){if(qp(r,n)){r=Kp(r,n);break}break}n.remove()}}else r.remove()}function Xp(e){for(;"element"===e.type;){const t=e.getNode(),n=e.offset;let r,o;if(n===t.getChildrenSize()?(r=t.getChildAtIndex(n-1),o=!0):(r=t.getChildAtIndex(n),o=!1),Rv(r)){e.set(r.__key,o?r.getTextContentSize():0,"text");break}if(!Rb(r))break;e.set(r.__key,o?r.getChildrenSize():0,"element")}}let Zp=1;const Jp="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)};function Qp(e){const t=document.activeElement;if(null===t)return!1;const n=t.nodeName;return jb(hg(e))&&("INPUT"===n||"TEXTAREA"===n||"true"===t.contentEditable&&null==rg(t))}function eg(e,t,n){const r=e.getRootElement();try{return null!==r&&r.contains(t)&&r.contains(n)&&null!==t&&!Qp(t)&&ng(t)===e}catch(e){return!1}}function tg(e){return e instanceof qb}function ng(e){let t=e;for(;null!=t;){const e=rg(t);if(tg(e))return e;t=Ug(t)}return null}function rg(e){return e?e.__lexicalEditor:null}function og(e){return e.isToken()||e.isSegmented()}function ig(e){return 3===e.nodeType}function ag(e){let t=e;for(;null!=t;){if(ig(t))return t;t=t.firstChild}return null}function sg(e,t,n){const r=Tp[t];if(null!==n&&(e&r)==(n&r))return e;let o=e^r;return"subscript"===t?o&=~Tp.superscript:"superscript"===t&&(o&=~Tp.subscript),o}function lg(e){const t=e.getParent();if(null!==t){const n=e.getWritable(),r=t.getWritable(),o=e.getPreviousSibling(),i=e.getNextSibling();if(null===o)if(null!==i){const e=i.getWritable();r.__first=i.__key,e.__prev=null}else r.__first=null;else{const e=o.getWritable();if(null!==i){const t=i.getWritable();t.__prev=e.__key,e.__next=t.__key}else e.__next=null;n.__prev=null}if(null===i)if(null!==o){const e=o.getWritable();r.__last=o.__key,e.__next=null}else r.__last=null;else{const e=i.getWritable();if(null!==o){const t=o.getWritable();t.__next=e.__key,e.__prev=t.__key}else e.__prev=null;n.__next=null}r.__size--,n.__parent=null}}function cg(e){yb();const t=e.getLatest(),n=t.__parent,r=vb(),o=bb(),i=r._nodeMap,a=o._dirtyElements;null!==n&&function(e,t,n){let r=e;for(;null!==r;){if(n.has(r))return;const e=t.get(r);if(void 0===e)break;n.set(r,!1),r=e.__parent}}(n,i,a);const s=t.__key;o._dirtyType=1,Rb(e)?a.set(s,!0):o._dirtyLeaves.add(s)}function ug(e){gb();const t=bb(),n=t._compositionKey;if(e!==n){if(t._compositionKey=e,null!==n){const e=fg(n);null!==e&&e.getWritable()}if(null!==e){const t=fg(e);null!==t&&t.getWritable()}}}function dg(){return pb()?null:bb()._compositionKey}function fg(e,t){const n=(t||vb())._nodeMap.get(e);return void 0===n?null:n}function mg(e,t){const n=e[`__lexicalKey_${bb()._key}`];return void 0!==n?fg(n,t):null}function hg(e,t){let n=e;for(;null!=n;){const e=mg(n,t);if(null!==e)return e;n=Ug(n)}return null}function pg(e){const t=e._decorators,n=Object.assign({},t);return e._pendingDecorators=n,n}function gg(e){return e.read((()=>yg().getTextContent()))}function yg(){return vg(vb())}function vg(e){return e._nodeMap.get("root")}function bg(e){gb();const t=vb();null!==e&&(e.dirty=!0,e.setCachedNodes(null)),t._selection=e}function wg(e){const t=bb(),n=function(e,t){let n=e;for(;null!=n;){const e=n[`__lexicalKey_${t._key}`];if(void 0!==e)return e;n=Ug(n)}return null}(e,t);return null===n?e===t.getRootElement()?fg("root"):null:fg(n)}function xg(e,t){return t?e.getTextContentSize():0}function Eg(e){return/[\uD800-\uDBFF][\uDC00-\uDFFF]/g.test(e)}function _g(e){const t=[];let n=e;for(;null!==n;)t.push(n),n=n._parentEditor;return t}function Sg(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)}function kg(e){return 3===e.nodeType?e.nodeValue:null}function Cg(e,t,n){const r=Zg(t._window);if(null===r)return;const o=r.anchorNode;let{anchorOffset:i,focusOffset:a}=r;if(null!==o){let t=kg(o);const r=hg(o);if(null!==t&&Rv(r)){if(t===Ep&&n){const e=n.length;t=n,i=e,a=e}null!==t&&Ng(r,t,i,a,e)}}}function Ng(e,t,n,r,o){let i=e;if(i.isAttached()&&(o||!i.isDirty())){const a=i.isComposing();let s=t;(a||o)&&t[t.length-1]===Ep&&(s=t.slice(0,-1));const l=i.getTextContent();if(o||s!==l){if(""===s){if(ug(null),sp||lp||fp)i.remove();else{const e=bb();setTimeout((()=>{e.update((()=>{i.isAttached()&&i.remove()}))}),20)}return}const t=i.getParent(),o=nb(),l=i.getTextContentSize(),c=dg(),u=i.getKey();if(i.isToken()||null!==c&&u===c&&!a||Vv(o)&&(null!==t&&!t.canInsertTextBefore()&&0===o.anchor.offset||o.anchor.key===e.__key&&0===o.anchor.offset&&!i.canInsertTextBefore()&&!a||o.focus.key===e.__key&&o.focus.offset===l&&!i.canInsertTextAfter()&&!a))return void i.markDirty();const d=tb();if(!Vv(d)||null===n||null===r)return void i.setTextContent(s);if(d.setTextNodeRange(i,n,i,r),i.isSegmented()){const e=Mv(i.getTextContent());i.replace(e),i=e}i.setTextContent(s)}}}function Pg(e){return"ArrowLeft"===e}function Tg(e){return"ArrowRight"===e}function Og(e,t){return op?e:t}function Mg(e){return"Enter"===e}function Rg(e){return"Backspace"===e}function Dg(e){return"Delete"===e}function Ag(e,t,n){return"a"===e.toLowerCase()&&Og(t,n)}function jg(e,t){void 0===e.__lexicalClassNameCache&&(e.__lexicalClassNameCache={});const n=e.__lexicalClassNameCache,r=n[t];if(void 0!==r)return r;const o=e[t];if("string"==typeof o){const e=Fp(o);return n[t]=e,e}return o}function Ig(e,t,n,r,o){if(0===n.size)return;const i=r.__type,a=r.__key,s=t.get(i);void 0===s&&Ip(33,i);const l=s.klass;let c=e.get(l);void 0===c&&(c=new Map,e.set(l,c));const u=c.get(a),d="destroyed"===u&&"created"===o;(void 0===u||d)&&c.set(a,d?"updated":o)}function Fg(e,t,n){const r=e.getParent();let o=n,i=e;return null!==r&&(t&&0===n?(o=i.getIndexWithinParent(),i=r):t||n!==i.getChildrenSize()||(o=i.getIndexWithinParent()+1,i=r)),i.getChildAtIndex(t?o-1:o)}function Lg(e,t){const n=e.offset;if("element"===e.type)return Fg(e.getNode(),t,n);{const r=e.getNode();if(t&&0===n||!t&&n===r.getTextContentSize()){const e=t?r.getPreviousSibling():r.getNextSibling();return null===e?Fg(r.getParentOrThrow(),t,r.getIndexWithinParent()+(t?0:1)):e}}return null}function zg(e){const t=Hg(e).event,n=t&&t.inputType;return"insertFromPaste"===n||"insertFromPasteAsQuotation"===n}function Bg(e,t,n){return Nb(e,t,n)}function Wg(e){return!Fb(e)&&!e.isLastChild()&&!e.isInline()}function Vg(e,t){const n=e._keyToDOMMap.get(t);return void 0===n&&Ip(75,t),n}function Ug(e){const t=e.assignedSlot||e.parentElement;return null!==t&&11===t.nodeType?t.host:t}function $g(e,t){let n=e.getParent();for(;null!==n;){if(n.is(t))return!0;n=n.getParent()}return!1}function Hg(e){const t=e._window;return null===t&&Ip(78),t}function Yg(e){return Fb(e)||Rb(e)&&e.isShadowRoot()}function qg(e){const t=bb(),n=e.constructor.getType(),r=t._nodes.get(n);void 0===r&&Ip(97);const o=r.replace;if(null!==o){const t=o(e);return t instanceof e.constructor||Ip(98),t}return e}function Kg(e,t){!Fb(e.getParent())||Rb(t)||jb(t)||Ip(99)}function Gg(e){return(jb(e)||Rb(e)&&!e.canBeEmpty())&&!e.isInline()}function Xg(e,t,n){n.style.removeProperty("caret-color"),t._blockCursorElement=null;const r=e.parentElement;null!==r&&r.removeChild(e)}function Zg(e){return np?(e||window).getSelection():null}function Jg(e){return 1===e.nodeType}function Qg(e){const t=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var|#text)$/,"i");return null!==e.nodeName.match(t)}function ey(e){const t=new RegExp(/^(address|article|aside|blockquote|canvas|dd|div|dl|dt|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hr|li|main|nav|noscript|ol|p|pre|section|table|td|tfoot|ul|video)$/,"i");return null!==e.nodeName.match(t)}function ty(e){if(Fb(e)||jb(e)&&!e.isInline())return!0;if(!Rb(e)||Yg(e))return!1;const t=e.getFirstChild(),n=null===t||hv(t)||Rv(t)||t.isInline();return!e.isInline()&&!1!==e.canBeEmpty()&&n}function ny(e,t){let n=e;for(;null!==n&&null!==n.getParent()&&!t(n);)n=n.getParentOrThrow();return t(n)?n:null}const ry=new WeakMap,oy=new Map;function iy(e){const t=e.constructor.clone(e);return t.afterCloneFrom(e),t}function ay(e,t,n,r,o,i){let a=e.getFirstChild();for(;null!==a;){const e=a.__key;a.__parent===t&&(Rb(a)&&ay(a,e,n,r,o,i),n.has(e)||i.delete(e),o.push(e)),a=a.getNextSibling()}}let sy,ly,cy,uy,dy,fy,my,hy,py,gy,yy="",vy="",by=null,wy="",xy="",Ey=!1,_y=!1,Sy=null;function ky(e,t){const n=my.get(e);if(null!==t){const n=By(e);n.parentNode===t&&t.removeChild(n)}if(hy.has(e)||ly._keyToDOMMap.delete(e),Rb(n)){const e=Iy(n,my);Cy(e,0,e.length-1,null)}void 0!==n&&Ig(gy,cy,uy,n,"destroyed")}function Cy(e,t,n,r){let o=t;for(;o<=n;++o){const t=e[o];void 0!==t&&ky(t,r)}}function Ny(e,t){e.setProperty("text-align",t)}const Py="40px";function Ty(e,t){const n=sy.theme.indent;if("string"==typeof n){const r=e.classList.contains(n);t>0&&!r?e.classList.add(n):t<1&&r&&e.classList.remove(n)}const r=getComputedStyle(e).getPropertyValue("--lexical-indent-base-value")||Py;e.style.setProperty("padding-inline-start",0===t?"":`calc(${t} * ${r})`)}function Oy(e,t){const n=e.style;0===t?Ny(n,""):1===t?Ny(n,"left"):2===t?Ny(n,"center"):3===t?Ny(n,"right"):4===t?Ny(n,"justify"):5===t?Ny(n,"start"):6===t&&Ny(n,"end")}function My(e,t,n){const r=hy.get(e);void 0===r&&Ip(60);const o=r.createDOM(sy,ly);if(function(e,t,n){const r=n._keyToDOMMap;t["__lexicalKey_"+n._key]=e,r.set(e,t)}(e,o,ly),Rv(r)?o.setAttribute("data-lexical-text","true"):jb(r)&&o.setAttribute("data-lexical-decorator","true"),Rb(r)){const e=r.__indent,t=r.__size;if(0!==e&&Ty(o,e),0!==t){const e=t-1;!function(e,t,n,r){const o=vy;vy="",Ry(e,n,0,t,r,null),jy(n,r),vy=o}(Iy(r,hy),e,r,o)}const n=r.__format;0!==n&&Oy(o,n),r.isInline()||Ay(null,r,o),Wg(r)&&(yy+=_p,xy+=_p)}else{const t=r.getTextContent();if(jb(r)){const t=r.decorate(ly,sy);null!==t&&Ly(e,t),o.contentEditable="false"}else Rv(r)&&(r.isDirectionless()||(vy+=t));yy+=t,xy+=t}if(null!==t)if(null!=n)t.insertBefore(o,n);else{const e=t.__lexicalLineBreak;null!=e?t.insertBefore(o,e):t.appendChild(o)}return Ig(gy,cy,uy,r,"created"),o}function Ry(e,t,n,r,o,i){const a=yy;yy="";let s=n;for(;s<=r;++s){My(e[s],o,i);const t=hy.get(e[s]);null!==t&&Rv(t)&&(null===by&&(by=t.getFormat()),""===wy&&(wy=t.getStyle()))}Wg(t)&&(yy+=_p),o.__lexicalTextContent=yy,yy=a+yy}function Dy(e,t){const n=t.get(e);return hv(n)||jb(n)&&n.isInline()}function Ay(e,t,n){const r=null!==e&&(0===e.__size||Dy(e.__last,my)),o=0===t.__size||Dy(t.__last,hy);if(r){if(!o){const e=n.__lexicalLineBreak;if(null!=e)try{n.removeChild(e)}catch(t){if("object"==typeof t&&null!=t){const r=`${t.toString()} Parent: ${n.tagName}, child: ${e.tagName}.`;throw new Error(r)}throw t}n.__lexicalLineBreak=null}}else if(o){const e=document.createElement("br");n.__lexicalLineBreak=e,n.appendChild(e)}}function jy(e,t){const n=t.__lexicalDirTextContent,r=t.__lexicalDir;if(n!==vy||r!==Sy){const n=""===vy,i=n?Sy:(o=vy,Np.test(o)?"rtl":Pp.test(o)?"ltr":null);if(i!==r){const o=t.classList,a=sy.theme;let s=null!==r?a[r]:void 0,l=null!==i?a[i]:void 0;if(void 0!==s){if("string"==typeof s){const e=Fp(s);s=a[r]=e}o.remove(...s)}if(null===i||n&&"ltr"===i)t.removeAttribute("dir");else{if(void 0!==l){if("string"==typeof l){const e=Fp(l);l=a[i]=e}void 0!==l&&o.add(...l)}t.dir=i}_y||(e.getWritable().__dir=i)}Sy=i,t.__lexicalDirTextContent=vy,t.__lexicalDir=i}var o}function Iy(e,t){const n=[];let r=e.__first;for(;null!==r;){const e=t.get(r);void 0===e&&Ip(101),n.push(r),r=e.__next}return n}function Fy(e,t){const n=my.get(e);let r=hy.get(e);void 0!==n&&void 0!==r||Ip(61);const o=Ey||fy.has(e)||dy.has(e),i=Vg(ly,e);if(n===r&&!o){if(Rb(n)){const e=i.__lexicalTextContent;void 0!==e&&(yy+=e,xy+=e);const t=i.__lexicalDirTextContent;void 0!==t&&(vy+=t)}else{const e=n.getTextContent();Rv(n)&&!n.isDirectionless()&&(vy+=e),xy+=e,yy+=e}return i}if(n!==r&&o&&Ig(gy,cy,uy,r,"updated"),r.updateDOM(n,i,sy)){const n=My(e,null,null);return null===t&&Ip(62),t.replaceChild(n,i),ky(e,null),n}if(Rb(n)&&Rb(r)){const e=r.__indent;e!==n.__indent&&Ty(i,e);const t=r.__format;t!==n.__format&&Oy(i,t),o&&(function(e,t,n){const r=vy;var o;vy="",by=null,wy="",function(e,t,n){const r=yy,o=e.__size,i=t.__size;if(yy="",1===o&&1===i){const r=e.__first,o=t.__first;if(r===o)Fy(r,n);else{const e=By(r),t=My(o,null,null);try{n.replaceChild(t,e)}catch(i){if("object"==typeof i&&null!=i){const a=`${i.toString()} Parent: ${n.tagName}, new child: {tag: ${t.tagName} key: ${o}}, old child: {tag: ${e.tagName}, key: ${r}}.`;throw new Error(a)}throw i}ky(r,null)}const a=hy.get(o);Rv(a)&&(null===by&&(by=a.getFormat()),""===wy&&(wy=a.getStyle()))}else{const r=Iy(e,my),a=Iy(t,hy);if(0===o)0!==i&&Ry(a,t,0,i-1,n,null);else if(0===i){if(0!==o){const e=null==n.__lexicalLineBreak;Cy(r,0,o-1,e?null:n),e&&(n.textContent="")}}else!function(e,t,n,r,o,i){const a=r-1,s=o-1;let l,c,u=i.firstChild,d=0,f=0;for(;d<=a&&f<=s;){const e=t[d],r=n[f];if(e===r)u=zy(Fy(r,i)),d++,f++;else{void 0===l&&(l=new Set(t)),void 0===c&&(c=new Set(n));const o=c.has(e),a=l.has(r);if(o)if(a){const e=Vg(ly,r);e===u?u=zy(Fy(r,i)):(null!=u?i.insertBefore(e,u):i.appendChild(e),Fy(r,i)),d++,f++}else My(r,i,u),f++;else u=zy(By(e)),ky(e,i),d++}const o=hy.get(r);null!==o&&Rv(o)&&(null===by&&(by=o.getFormat()),""===wy&&(wy=o.getStyle()))}const m=d>a,h=f>s;if(m&&!h){const t=n[s+1];Ry(n,e,f,s,i,void 0===t?null:ly.getElementByKey(t))}else h&&!m&&Cy(t,d,a,i)}(t,r,a,o,i,n)}Wg(t)&&(yy+=_p),n.__lexicalTextContent=yy,yy=r+yy}(e,t,n),jy(t,n),Hb(o=t)&&null!=by&&by!==o.__textFormat&&!_y&&(o.setTextFormat(by),o.setTextStyle(wy)),function(e){Hb(e)&&""!==wy&&wy!==e.__textStyle&&!_y&&e.setTextStyle(wy)}(t),vy=r}(n,r,i),Fb(r)||r.isInline()||Ay(n,r,i)),Wg(r)&&(yy+=_p,xy+=_p)}else{const t=r.getTextContent();if(jb(r)){const t=r.decorate(ly,sy);null!==t&&Ly(e,t)}else Rv(r)&&!r.isDirectionless()&&(vy+=t);yy+=t,xy+=t}if(!_y&&Fb(r)&&r.__cachedText!==xy){const e=r.getWritable();e.__cachedText=xy,r=e}return i}function Ly(e,t){let n=ly._pendingDecorators;const r=ly._decorators;if(null===n){if(r[e]===t)return;n=pg(ly)}n[e]=t}function zy(e){let t=e.nextSibling;return null!==t&&t===ly._blockCursorElement&&(t=t.nextSibling),t}function By(e){const t=py.get(e);return void 0===t&&Ip(75,e),t}const Wy=Object.freeze({}),Vy=[["keydown",function(e,t){if(Uy=e.timeStamp,$y=e.key,t.isComposing())return;const{key:n,shiftKey:r,ctrlKey:o,metaKey:i,altKey:a}=e;Bg(t,Th,e)||null!=n&&(function(e,t,n,r){return Tg(e)&&!t&&!r&&!n}(n,o,a,i)?Bg(t,Oh,e):function(e,t,n,r,o){return Tg(e)&&!r&&!n&&(t||o)}(n,o,r,a,i)?Bg(t,Mh,e):function(e,t,n,r){return Pg(e)&&!t&&!r&&!n}(n,o,a,i)?Bg(t,Rh,e):function(e,t,n,r,o){return Pg(e)&&!r&&!n&&(t||o)}(n,o,r,a,i)?Bg(t,Dh,e):function(e,t,n){return function(e){return"ArrowUp"===e}(e)&&!t&&!n}(n,o,i)?Bg(t,Ah,e):function(e,t,n){return function(e){return"ArrowDown"===e}(e)&&!t&&!n}(n,o,i)?Bg(t,jh,e):function(e,t){return Mg(e)&&t}(n,r)?(Xy=!0,Bg(t,Ih,e)):function(e){return" "===e}(n)?Bg(t,Fh,e):function(e,t){return op&&t&&"o"===e.toLowerCase()}(n,o)?(e.preventDefault(),Xy=!0,Bg(t,bh,!0)):function(e,t){return Mg(e)&&!t}(n,r)?(Xy=!1,Bg(t,Ih,e)):function(e,t,n,r){return op?!t&&!n&&(Rg(e)||"h"===e.toLowerCase()&&r):!(r||t||n)&&Rg(e)}(n,a,i,o)?Rg(n)?Bg(t,Lh,e):(e.preventDefault(),Bg(t,vh,!0)):function(e){return"Escape"===e}(n)?Bg(t,zh,e):function(e,t,n,r,o){return op?!(n||r||o)&&(Dg(e)||"d"===e.toLowerCase()&&t):!(t||r||o)&&Dg(e)}(n,o,r,a,i)?Dg(n)?Bg(t,Bh,e):(e.preventDefault(),Bg(t,vh,!1)):function(e,t,n){return Rg(e)&&(op?t:n)}(n,a,o)?(e.preventDefault(),Bg(t,Sh,!0)):function(e,t,n){return Dg(e)&&(op?t:n)}(n,a,o)?(e.preventDefault(),Bg(t,Sh,!1)):function(e,t){return op&&t&&Rg(e)}(n,i)?(e.preventDefault(),Bg(t,kh,!0)):function(e,t){return op&&t&&Dg(e)}(n,i)?(e.preventDefault(),Bg(t,kh,!1)):function(e,t,n,r){return"b"===e.toLowerCase()&&!t&&Og(n,r)}(n,a,i,o)?(e.preventDefault(),Bg(t,Ch,"bold")):function(e,t,n,r){return"u"===e.toLowerCase()&&!t&&Og(n,r)}(n,a,i,o)?(e.preventDefault(),Bg(t,Ch,"underline")):function(e,t,n,r){return"i"===e.toLowerCase()&&!t&&Og(n,r)}(n,a,i,o)?(e.preventDefault(),Bg(t,Ch,"italic")):function(e,t,n,r){return"Tab"===e&&!t&&!n&&!r}(n,a,o,i)?Bg(t,Wh,e):function(e,t,n,r){return"z"===e.toLowerCase()&&!t&&Og(n,r)}(n,r,i,o)?(e.preventDefault(),Bg(t,Nh,void 0)):function(e,t,n,r){return op?"z"===e.toLowerCase()&&n&&t:"y"===e.toLowerCase()&&r||"z"===e.toLowerCase()&&r&&t}(n,r,i,o)?(e.preventDefault(),Bg(t,Ph,void 0)):$v(t._editorState._selection)?function(e,t,n,r){return!t&&"c"===e.toLowerCase()&&(op?n:r)}(n,r,i,o)?(e.preventDefault(),Bg(t,Yh,e)):function(e,t,n,r){return!t&&"x"===e.toLowerCase()&&(op?n:r)}(n,r,i,o)?(e.preventDefault(),Bg(t,qh,e)):Ag(n,i,o)&&(e.preventDefault(),Bg(t,Kh,e)):!ip&&Ag(n,i,o)&&(e.preventDefault(),Bg(t,Kh,e)),function(e,t,n,r){return e||t||n||r}(o,r,a,i)&&Bg(t,tp,e))}],["pointerdown",function(e,t){const n=e.target,r=e.pointerType;n instanceof Node&&"touch"!==r&&Ob(t,(()=>{jb(hg(n))||(Gy=!0)}))}],["compositionstart",function(e,t){Ob(t,(()=>{const n=tb();if(Vv(n)&&!t.isComposing()){const r=n.anchor,o=n.anchor.getNode();ug(r.key),(e.timeStamp{rv(t,e.data)}))}],["input",function(e,t){e.stopPropagation(),Ob(t,(()=>{const n=tb(),r=e.data,o=nv(e);if(null!=r&&Vv(n)&&Qy(n,o,r,e.timeStamp,!1)){Zy&&(rv(t,r),Zy=!1);const o=n.anchor.getNode(),i=Zg(t._window);if(null===i)return;const a=n.isBackward(),s=a?n.anchor.offset:n.focus.offset,l=a?n.focus.offset:n.anchor.offset;ap&&!n.isCollapsed()&&Rv(o)&&null!==i.anchorNode&&o.getTextContent().slice(0,s)+r+o.getTextContent().slice(s+l)===kg(i.anchorNode)||Bg(t,xh,r);const c=r.length;ip&&c>1&&"insertCompositionText"===e.inputType&&!t.isComposing()&&(n.anchor.offset-=c),sp||lp||fp||!t.isComposing()||(Uy=0,ug(null))}else Cg(!1,t,null!==r?r:void 0),Zy&&(rv(t,r||void 0),Zy=!1);gb(),Hp(bb())})),Yy=null}],["click",function(e,t){Ob(t,(()=>{const n=tb(),r=Zg(t._window),o=nb();if(r)if(Vv(n)){const t=n.anchor,i=t.getNode();"element"===t.type&&0===t.offset&&n.isCollapsed()&&!Fb(i)&&1===yg().getChildrenSize()&&i.getTopLevelElementOrThrow().isEmpty()&&null!==o&&n.is(o)?(r.removeAllRanges(),n.dirty=!0):3!==e.detail||n.isCollapsed()||i!==n.focus.getNode()&&(Rb(i)?i.select(0):i.getParentOrThrow().select(0))}else if("touch"===e.pointerType){const n=r.anchorNode;if(null!==n){const i=n.nodeType;1!==i&&3!==i||bg(eb(o,r,t,e))}}Bg(t,yh,e)}))}],["cut",Wy],["copy",Wy],["dragstart",Wy],["dragover",Wy],["dragend",Wy],["paste",Wy],["focus",Wy],["blur",Wy],["drop",Wy]];ap&&Vy.push(["beforeinput",(e,t)=>function(e,t){const n=e.inputType,r=nv(e);"deleteCompositionText"===n||ip&&zg(t)||"insertCompositionText"!==n&&Ob(t,(()=>{const o=tb();if("deleteContentBackward"===n){if(null===o){const e=nb();if(!Vv(e))return;bg(e.clone())}if(Vv(o)){const n=o.anchor.key===o.focus.key;if(i=e.timeStamp,"MediaLast"===$y&&i{Ob(t,(()=>{ug(null)}))}),30),Vv(o)){const e=o.anchor.getNode();e.markDirty(),o.format=e.getFormat(),Rv(e)||Ip(142),o.style=e.getStyle()}}else{ug(null),e.preventDefault();const r=o.anchor.getNode().getTextContent(),i=0===o.anchor.offset&&o.focus.offset===r.length;dp&&n&&!i||Bg(t,vh,!0)}return}}var i;if(!Vv(o))return;const a=e.data;null!==Yy&&Cg(!1,t,Yy),o.dirty&&null===Yy||!o.isCollapsed()||Fb(o.anchor.getNode())||null===r||o.applyDOMRange(r),Yy=null;const s=o.anchor,l=o.focus,c=s.getNode(),u=l.getNode();if("insertText"!==n&&"insertTranspose"!==n)switch(e.preventDefault(),n){case"insertFromYank":case"insertFromDrop":case"insertReplacementText":Bg(t,xh,e);break;case"insertFromComposition":ug(null),Bg(t,xh,e);break;case"insertLineBreak":ug(null),Bg(t,bh,!1);break;case"insertParagraph":ug(null),Xy&&!lp?(Xy=!1,Bg(t,bh,!1)):Bg(t,wh,void 0);break;case"insertFromPaste":case"insertFromPasteAsQuotation":Bg(t,Eh,e);break;case"deleteByComposition":(function(e,t){return e!==t||Rb(e)||Rb(t)||!e.isToken()||!t.isToken()})(c,u)&&Bg(t,_h,e);break;case"deleteByDrag":case"deleteByCut":Bg(t,_h,e);break;case"deleteContent":Bg(t,vh,!1);break;case"deleteWordBackward":Bg(t,Sh,!0);break;case"deleteWordForward":Bg(t,Sh,!1);break;case"deleteHardLineBackward":case"deleteSoftLineBackward":Bg(t,kh,!0);break;case"deleteContentForward":case"deleteHardLineForward":case"deleteSoftLineForward":Bg(t,kh,!1);break;case"formatStrikeThrough":Bg(t,Ch,"strikethrough");break;case"formatBold":Bg(t,Ch,"bold");break;case"formatItalic":Bg(t,Ch,"italic");break;case"formatUnderline":Bg(t,Ch,"underline");break;case"historyUndo":Bg(t,Nh,void 0);break;case"historyRedo":Bg(t,Ph,void 0)}else{if("\n"===a)e.preventDefault(),Bg(t,bh,!1);else if(a===_p)e.preventDefault(),Bg(t,wh,void 0);else if(null==a&&e.dataTransfer){const t=e.dataTransfer.getData("text/plain");e.preventDefault(),o.insertRawText(t)}else null!=a&&Qy(o,r,a,e.timeStamp,!0)?(e.preventDefault(),Bg(t,xh,a)):Yy=a;Hy=e.timeStamp}}))}(e,t)]);let Uy=0,$y=null,Hy=0,Yy=null;const qy=new WeakMap;let Ky=!1,Gy=!1,Xy=!1,Zy=!1,Jy=[0,"",0,"root",0];function Qy(e,t,n,r,o){const i=e.anchor,a=e.focus,s=i.getNode(),l=bb(),c=Zg(l._window),u=null!==c?c.anchorNode:null,d=i.key,f=l.getElementByKey(d),m=n.length;return d!==a.key||!Rv(s)||(!o&&(!ap||Hy1||(o||!ap)&&null!==f&&!s.isComposing()&&u!==ag(f)||null!==c&&null!==t&&(!t.collapsed||t.startContainer!==c.anchorNode||t.startOffset!==c.anchorOffset)||s.getFormat()!==e.format||s.getStyle()!==e.style||function(e,t){if(t.isSegmented())return!0;if(!e.isCollapsed())return!1;const n=e.anchor.offset,r=t.getParentOrThrow(),o=t.isToken();return 0===n?!t.canInsertTextBefore()||!r.canInsertTextBefore()&&!t.isComposing()||o||function(e){const t=e.getPreviousSibling();return(Rv(t)||Rb(t)&&t.isInline())&&!t.canInsertTextAfter()}(t):n===t.getTextContentSize()&&(!t.canInsertTextAfter()||!r.canInsertTextAfter()&&!t.isComposing()||o)}(e,s)}function ev(e,t){return null!==e&&null!==e.nodeValue&&3===e.nodeType&&0!==t&&t!==e.nodeValue.length}function tv(e,t,n){const{anchorNode:r,anchorOffset:o,focusNode:i,focusOffset:a}=e;Ky&&(Ky=!1,ev(r,o)&&ev(i,a))||Ob(t,(()=>{if(!n)return void bg(null);if(!eg(t,r,i))return;const s=tb();if(Vv(s)){const n=s.anchor,r=n.getNode();if(s.isCollapsed()){"Range"===e.type&&e.anchorNode===e.focusNode&&(s.dirty=!0);const o=Hg(t).event,i=o?o.timeStamp:performance.now(),[a,l,c,u,d]=Jy,f=yg(),m=!1===t.isComposing()&&""===f.getTextContent();if(i{const t=nb(),o=n.anchorNode;if(null===o)return;const i=o.nodeType;1!==i&&3!==i||bg(eb(t,n,r,e))})));const o=_g(r),i=o[o.length-1],a=i._key,s=iv.get(a),l=s||i;l!==r&&tv(n,l,!1),tv(n,r,!0),r!==i?iv.set(a,r):s&&iv.delete(a)}function sv(e){e._lexicalHandled=!0}function lv(e){return!0===e._lexicalHandled}function cv(e,t,n){gb();const r=e.__key,o=e.getParent();if(null===o)return;const i=function(e){const t=tb();if(!Vv(t)||!Rb(e))return t;const{anchor:n,focus:r}=t,o=n.getNode(),i=r.getNode();return $g(o,e)&&n.set(e.__key,0,"element"),$g(i,e)&&r.set(e.__key,0,"element"),t}(e);let a=!1;if(Vv(i)&&t){const t=i.anchor,n=i.focus;t.key===r&&(ib(t,e,o,e.getPreviousSibling(),e.getNextSibling()),a=!0),n.key===r&&(ib(n,e,o,e.getPreviousSibling(),e.getNextSibling()),a=!0)}else $v(i)&&t&&e.isSelected()&&e.selectPrevious();if(Vv(i)&&t&&!a){const t=e.getIndexWithinParent();lg(e),rb(i,o,t,-1)}else lg(e);n||Yg(o)||o.canBeEmpty()||!o.isEmpty()||cv(o,t),t&&Fb(o)&&o.isEmpty()&&o.selectEnd()}class uv{static getType(){Ip(64,this.name)}static clone(e){Ip(65,this.name)}afterCloneFrom(e){this.__parent=e.__parent,this.__next=e.__next,this.__prev=e.__prev}constructor(e){this.__type=this.constructor.getType(),this.__parent=null,this.__prev=null,this.__next=null,function(e,t){if(null!=t)return void(e.__key=t);gb(),yb();const n=bb(),r=vb(),o=""+Zp++;r._nodeMap.set(o,e),Rb(e)?n._dirtyElements.set(o,!0):n._dirtyLeaves.add(o),n._cloneNotNeeded.add(o),n._dirtyType=1,e.__key=o}(this,e)}getType(){return this.__type}isInline(){Ip(137,this.constructor.name)}isAttached(){let e=this.__key;for(;null!==e;){if("root"===e)return!0;const t=fg(e);if(null===t)break;e=t.__parent}return!1}isSelected(e){const t=e||tb();if(null==t)return!1;const n=t.getNodes().some((e=>e.__key===this.__key));if(Rv(this))return n;if(Vv(t)&&"element"===t.anchor.type&&"element"===t.focus.type){if(t.isCollapsed())return!1;const e=this.getParent();if(jb(this)&&this.isInline()&&e){const n=t.isBackward()?t.focus:t.anchor,r=n.getNode();if(n.offset===r.getChildrenSize()&&r.is(e)&&r.getLastChildOrThrow().is(this))return!1}}return n}getKey(){return this.__key}getIndexWithinParent(){const e=this.getParent();if(null===e)return-1;let t=e.getFirstChild(),n=0;for(;null!==t;){if(this.is(t))return n;n++,t=t.getNextSibling()}return-1}getParent(){const e=this.getLatest().__parent;return null===e?null:fg(e)}getParentOrThrow(){const e=this.getParent();return null===e&&Ip(66,this.__key),e}getTopLevelElement(){let e=this;for(;null!==e;){const t=e.getParent();if(Yg(t))return Rb(e)||e===this&&jb(e)||Ip(194),e;e=t}return null}getTopLevelElementOrThrow(){const e=this.getTopLevelElement();return null===e&&Ip(67,this.__key),e}getParents(){const e=[];let t=this.getParent();for(;null!==t;)e.push(t),t=t.getParent();return e}getParentKeys(){const e=[];let t=this.getParent();for(;null!==t;)e.push(t.__key),t=t.getParent();return e}getPreviousSibling(){const e=this.getLatest().__prev;return null===e?null:fg(e)}getPreviousSiblings(){const e=[],t=this.getParent();if(null===t)return e;let n=t.getFirstChild();for(;null!==n&&!n.is(this);)e.push(n),n=n.getNextSibling();return e}getNextSibling(){const e=this.getLatest().__next;return null===e?null:fg(e)}getNextSiblings(){const e=[];let t=this.getNextSibling();for(;null!==t;)e.push(t),t=t.getNextSibling();return e}getCommonAncestor(e){const t=this.getParents(),n=e.getParents();Rb(this)&&t.unshift(this),Rb(e)&&n.unshift(e);const r=t.length,o=n.length;if(0===r||0===o||t[r-1]!==n[o-1])return null;const i=new Set(n);for(let e=0;e{a.append(e)}))),Vv(n)){bg(n);const e=n.anchor,t=n.focus;e.key===o&&zv(e,a),t.key===o&&zv(t,a)}return dg()===o&&ug(i),a}insertAfter(e,t=!0){gb(),Kg(this,e);const n=this.getWritable(),r=e.getWritable(),o=r.getParent(),i=tb();let a=!1,s=!1;if(null!==o){const t=e.getIndexWithinParent();if(lg(r),Vv(i)){const e=o.__key,n=i.anchor,r=i.focus;a="element"===n.type&&n.key===e&&n.offset===t+1,s="element"===r.type&&r.key===e&&r.offset===t+1}}const l=this.getNextSibling(),c=this.getParentOrThrow().getWritable(),u=r.__key,d=n.__next;if(null===l?c.__last=u:l.getWritable().__prev=u,c.__size++,n.__next=u,r.__next=d,r.__prev=n.__key,r.__parent=n.__parent,t&&Vv(i)){const e=this.getIndexWithinParent();rb(i,c,e+1);const t=c.__key;a&&i.anchor.set(t,e+2,"element"),s&&i.focus.set(t,e+2,"element")}return e}insertBefore(e,t=!0){gb(),Kg(this,e);const n=this.getWritable(),r=e.getWritable(),o=r.__key;lg(r);const i=this.getPreviousSibling(),a=this.getParentOrThrow().getWritable(),s=n.__prev,l=this.getIndexWithinParent();null===i?a.__first=o:i.getWritable().__next=o,a.__size++,n.__prev=o,r.__prev=s,r.__next=n.__key,r.__parent=n.__parent;const c=tb();return t&&Vv(c)&&rb(c,this.getParentOrThrow(),l),e}isParentRequired(){return!1}createParentElementNode(){return $b()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(e,t){gb();const n=this.getPreviousSibling(),r=this.getParentOrThrow();if(null===n)return r.select(0,0);if(Rb(n))return n.select();if(!Rv(n)){const e=n.getIndexWithinParent()+1;return r.select(e,e)}return n.select(e,t)}selectNext(e,t){gb();const n=this.getNextSibling(),r=this.getParentOrThrow();if(null===n)return r.select();if(Rb(n))return n.select(0,0);if(!Rv(n)){const e=n.getIndexWithinParent();return r.select(e,e)}return n.select(e,t)}markDirty(){this.getWritable()}}class dv extends uv{static getType(){return"linebreak"}static clone(e){return new dv(e.__key)}constructor(e){super(e)}getTextContent(){return"\n"}createDOM(){return document.createElement("br")}updateDOM(){return!1}static importDOM(){return{br:e=>function(e){const t=e.parentElement;if(null!==t&&ey(t)){const n=t.firstChild;if(n===e||n.nextSibling===e&&pv(n)){const n=t.lastChild;if(n===e||n.previousSibling===e&&pv(n))return!0}}return!1}(e)||function(e){const t=e.parentElement;if(null!==t&&ey(t)){const n=t.firstChild;if(n===e||n.nextSibling===e&&pv(n))return!1;const r=t.lastChild;if(r===e||r.previousSibling===e&&pv(r))return!0}return!1}(e)?null:{conversion:fv,priority:0}}}static importJSON(e){return mv()}exportJSON(){return{type:"linebreak",version:1}}}function fv(e){return{node:mv()}}function mv(){return qg(new dv)}function hv(e){return e instanceof dv}function pv(e){return 3===e.nodeType&&/^( |\t|\r?\n)+$/.test(e.textContent||"")}function gv(e,t){return 16&t?"code":128&t?"mark":32&t?"sub":64&t?"sup":null}function yv(e,t){return 1&t?"strong":2&t?"em":"span"}function vv(e,t,n,r,o){const i=r.classList;let a=jg(o,"base");void 0!==a&&i.add(...a),a=jg(o,"underlineStrikethrough");let s=!1;const l=8&t&&4&t;void 0!==a&&(8&n&&4&n?(s=!0,l||i.add(...a)):l&&i.remove(...a));for(const e in Tp){const r=Tp[e];if(a=jg(o,e),void 0!==a)if(n&r){if(s&&("underline"===e||"strikethrough"===e)){t&r&&i.remove(...a);continue}t&r&&(!l||"underline"!==e)&&"strikethrough"!==e||i.add(...a)}else t&r&&i.remove(...a)}}function bv(e,t,n){const r=t.firstChild,o=n.isComposing(),i=e+(o?Ep:"");if(null==r)t.textContent=i;else{const e=r.nodeValue;if(e!==i)if(o||ip){const[t,n,o]=function(e,t){const n=e.length,r=t.length;let o=0,i=0;for(;o({conversion:Nv,priority:0}),b:()=>({conversion:Sv,priority:0}),code:()=>({conversion:Ov,priority:0}),em:()=>({conversion:Ov,priority:0}),i:()=>({conversion:Ov,priority:0}),s:()=>({conversion:Ov,priority:0}),span:()=>({conversion:_v,priority:0}),strong:()=>({conversion:Ov,priority:0}),sub:()=>({conversion:Ov,priority:0}),sup:()=>({conversion:Ov,priority:0}),u:()=>({conversion:Ov,priority:0})}}static importJSON(e){const t=Mv(e.text);return t.setFormat(e.format),t.setDetail(e.detail),t.setMode(e.mode),t.setStyle(e.style),t}exportDOM(e){let{element:t}=super.exportDOM(e);return null!==t&&Jg(t)||Ip(132),t.style.whiteSpace="pre-wrap",this.hasFormat("bold")&&(t=xv(t,"b")),this.hasFormat("italic")&&(t=xv(t,"i")),this.hasFormat("strikethrough")&&(t=xv(t,"s")),this.hasFormat("underline")&&(t=xv(t,"u")),{element:t}}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:"text",version:1}}selectionTransform(e,t){}setFormat(e){const t=this.getWritable();return t.__format="string"==typeof e?Tp[e]:e,t}setDetail(e){const t=this.getWritable();return t.__detail="string"==typeof e?Op[e]:e,t}setStyle(e){const t=this.getWritable();return t.__style=e,t}toggleFormat(e){const t=sg(this.getFormat(),e,null);return this.setFormat(t)}toggleDirectionless(){const e=this.getWritable();return e.__detail^=1,e}toggleUnmergeable(){const e=this.getWritable();return e.__detail^=2,e}setMode(e){const t=Dp[e];if(this.__mode===t)return this;const n=this.getWritable();return n.__mode=t,n}setTextContent(e){if(this.__text===e)return this;const t=this.getWritable();return t.__text=e,t}select(e,t){gb();let n=e,r=t;const o=tb(),i=this.getTextContent(),a=this.__key;if("string"==typeof i){const e=i.length;void 0===n&&(n=e),void 0===r&&(r=e)}else n=0,r=0;if(!Vv(o))return Jv(a,n,a,r,"text","text");{const e=dg();e!==o.anchor.key&&e!==o.focus.key||ug(a),o.setTextNodeRange(this,n,this,r)}return o}selectStart(){return this.select(0,0)}selectEnd(){const e=this.getTextContentSize();return this.select(e,e)}spliceText(e,t,n,r){const o=this.getWritable(),i=o.__text,a=n.length;let s=e;s<0&&(s=a+s,s<0&&(s=0));const l=tb();if(r&&Vv(l)){const t=e+a;l.setTextNodeRange(o,t,o,t)}const c=i.slice(0,s)+n+i.slice(s+t);return o.__text=c,o}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...e){gb();const t=this.getLatest(),n=t.getTextContent(),r=t.__key,o=dg(),i=new Set(e),a=[],s=n.length;let l="";for(let e=0;eb&&e.offset<=l&&(e.key=s,e.offset-=b,y.dirty=!0),t.key===r&&"text"===t.type&&t.offset>b&&t.offset<=l&&(t.key=s,t.offset-=b,y.dirty=!0)}o===r&&ug(s),b=l,v.push(i)}if(null!==d){!function(e){const t=e.getPreviousSibling(),n=e.getNextSibling();null!==t&&cg(t),null!==n&&cg(n)}(this);const e=d.getWritable(),t=this.getIndexWithinParent();g?(e.splice(t,0,v),this.remove()):e.splice(t,1,v),Vv(y)&&rb(y,d,t,c-1)}return v}mergeWithSibling(e){const t=e===this.getPreviousSibling();t||e===this.getNextSibling()||Ip(50);const n=this.__key,r=e.__key,o=this.__text,i=o.length;dg()===r&&ug(n);const a=tb();if(Vv(a)){const o=a.anchor,s=a.focus;null!==o&&o.key===r&&(ab(o,t,n,e,i),a.dirty=!0),null!==s&&s.key===r&&(ab(s,t,n,e,i),a.dirty=!0)}const s=e.__text,l=t?s+o:o+s;this.setTextContent(l);const c=this.getWritable();return e.remove(),c}isTextEntity(){return!1}}function _v(e){return{forChild:Dv(e.style),node:null}}function Sv(e){const t=e,n="normal"===t.style.fontWeight;return{forChild:Dv(t.style,n?void 0:"bold"),node:null}}const kv=new WeakMap;function Cv(e){return"PRE"===e.nodeName||1===e.nodeType&&void 0!==e.style&&void 0!==e.style.whiteSpace&&e.style.whiteSpace.startsWith("pre")}function Nv(e){const t=e;null===e.parentElement&&Ip(129);let n=t.textContent||"";if(null!==function(e){let t,n=e.parentNode;const r=[e];for(;null!==n&&void 0===(t=kv.get(n))&&!Cv(n);)r.push(n),n=n.parentNode;const o=void 0===t?n:t;for(let e=0;e0){/[ \t\n]$/.test(t)&&(n=n.slice(1)),r=!1;break}}r&&(n=n.slice(1))}if(" "===n[n.length-1]){let e=t,r=!0;for(;null!==e&&null!==(e=Pv(e,!0));)if((e.textContent||"").replace(/^( |\t|\r?\n)+/,"").length>0){r=!1;break}r&&(n=n.slice(0,n.length-1))}return""===n?{node:null}:{node:Mv(n)}}function Pv(e,t){let n=e;for(;;){let e;for(;null===(e=t?n.nextSibling:n.previousSibling);){const e=n.parentElement;if(null===e)return null;n=e}if(n=e,1===n.nodeType){const e=n.style.display;if(""===e&&!Qg(n)||""!==e&&!e.startsWith("inline"))return null}let r=n;for(;null!==(r=t?n.firstChild:n.lastChild);)n=r;if(3===n.nodeType)return n;if("BR"===n.nodeName)return null}}const Tv={code:"code",em:"italic",i:"italic",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function Ov(e){const t=Tv[e.nodeName.toLowerCase()];return void 0===t?{node:null}:{forChild:Dv(e.style,t),node:null}}function Mv(e=""){return qg(new Ev(e))}function Rv(e){return e instanceof Ev}function Dv(e,t){const n=e.fontWeight,r=e.textDecoration.split(" "),o="700"===n||"bold"===n,i=r.includes("line-through"),a="italic"===e.fontStyle,s=r.includes("underline"),l=e.verticalAlign;return e=>Rv(e)?(o&&!e.hasFormat("bold")&&e.toggleFormat("bold"),i&&!e.hasFormat("strikethrough")&&e.toggleFormat("strikethrough"),a&&!e.hasFormat("italic")&&e.toggleFormat("italic"),s&&!e.hasFormat("underline")&&e.toggleFormat("underline"),"sub"!==l||e.hasFormat("subscript")||e.toggleFormat("subscript"),"super"!==l||e.hasFormat("superscript")||e.toggleFormat("superscript"),t&&!e.hasFormat(t)&&e.toggleFormat(t),e):e}class Av extends Ev{static getType(){return"tab"}static clone(e){return new Av(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__text=e.__text}constructor(e){super("\t",e),this.__detail=2}static importDOM(){return null}static importJSON(e){const t=jv();return t.setFormat(e.format),t.setStyle(e.style),t}exportJSON(){return{...super.exportJSON(),type:"tab",version:1}}setTextContent(e){Ip(126)}setDetail(e){Ip(127)}setMode(e){Ip(128)}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}function jv(){return qg(new Av)}class Iv{constructor(e,t,n){this._selection=null,this.key=e,this.offset=t,this.type=n}is(e){return this.key===e.key&&this.offset===e.offset&&this.type===e.type}isBefore(e){let t=this.getNode(),n=e.getNode();const r=this.offset,o=e.offset;if(Rb(t)){const e=t.getDescendantByIndex(r);t=null!=e?e:t}if(Rb(n)){const e=n.getDescendantByIndex(o);n=null!=e?e:n}return t===n?re&&(r=e)}else if(!Rb(t)){const e=t.getNextSibling();if(Rv(e))n=e.__key,r=0,o="text";else{const e=t.getParent();e&&(n=e.__key,r=t.getIndexWithinParent()+1)}}e.set(n,r,o)}function zv(e,t){if(Rb(t)){const n=t.getLastDescendant();Rb(n)||Rv(n)?Lv(e,n):Lv(e,t)}else Lv(e,t)}function Bv(e,t,n,r){e.key=t,e.offset=n,e.type=r}class Wv{constructor(e){this._cachedNodes=null,this._nodes=e,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){if(!$v(e))return!1;const t=this._nodes,n=e._nodes;return t.size===n.size&&Array.from(t).every((e=>n.has(e)))}isCollapsed(){return!1}isBackward(){return!1}getStartEndPoints(){return null}add(e){this.dirty=!0,this._nodes.add(e),this._cachedNodes=null}delete(e){this.dirty=!0,this._nodes.delete(e),this._cachedNodes=null}clear(){this.dirty=!0,this._nodes.clear(),this._cachedNodes=null}has(e){return this._nodes.has(e)}clone(){return new Wv(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(e){}insertText(){}insertNodes(e){const t=this.getNodes(),n=t.length,r=t[n-1];let o;if(Rv(r))o=r.select();else{const e=r.getIndexWithinParent()+1;o=r.getParentOrThrow().select(e,e)}o.insertNodes(e);for(let e=0;e0?[]:[a]:a.getNodesBetween(s),pb()||(this._cachedNodes=u),u}setTextNodeRange(e,t,n,r){Bv(this.anchor,e.__key,t,"text"),Bv(this.focus,n.__key,r,"text"),this._cachedNodes=null,this.dirty=!0}getTextContent(){const e=this.getNodes();if(0===e.length)return"";const t=e[0],n=e[e.length-1],r=this.anchor,o=this.focus,i=r.isBefore(o),[a,s]=Yv(this);let l="",c=!0;for(let u=0;u=0;e--){const t=i[e];if(t.is(d)||Rb(t)&&t.isParentOf(d))break;t.isAttached()&&(!m.has(t)||t.is(o)?p||g.insertAfter(t,!1):t.remove())}if(!p){let e=r,n=null;for(;null!==e;){const r=e.getChildren(),o=r.length;(0===o||r[o-1].is(n))&&(t.delete(e.__key),n=e),e=e.getParent()}}if(d.isToken())if(s===f)d.select();else{const t=Mv(e);t.select(),d.replace(t)}else d=d.spliceText(s,f-s,e,!0),""===d.getTextContent()?d.remove():d.isComposing()&&"text"===this.anchor.type&&(this.anchor.offset-=e.length);for(let e=1;e0&&(p===h.getTextContentSize()||og(h)||([h]=h.splitText(p)),h.setFormat(g));for(let t=c+1;t(Rb(e)||jb(e))&&!e.isInline()))){Rb(t)||Ip(135);const r=sb(this);return t.splice(r,0,e),void n.selectEnd()}const r=function(e){const t=$b();let n=null;for(let r=0;rl?l:s,t=s>l?s:l,n=i.splitText(e,t),r=0===e?n[0]:n[1];return null!=r?[r]:[]}return[i]}const c=r.isBefore(o);if(Rv(i)){const t=c?s:l;t===i.getTextContentSize()?e.shift():0!==t&&([,i]=i.splitText(t),e[0]=i)}if(Rv(a)){const t=a.getTextContent().length,r=c?l:s;0===r?e.pop():r!==t&&([a]=a.splitText(r),e[n]=a)}return e}modify(e,t,n){const r=this.focus,o=this.anchor,i="move"===e,a=Lg(r,t);if(jb(a)&&!a.isIsolated()){if(i&&a.isKeyboardSelectable()){const e=Qv();return e.add(a.__key),void bg(e)}const e=t?a.getPreviousSibling():a.getNextSibling();if(Rv(e)){const n=e.__key,a=t?e.getTextContent().length:0;return r.set(n,a,"text"),void(i&&o.set(n,a,"text"))}{const n=a.getParentOrThrow();let s,l;return Rb(e)?(l=e.__key,s=t?e.getChildrenSize():0):(s=a.getIndexWithinParent(),l=n.__key,t||s++),r.set(l,s,"element"),void(i&&o.set(l,s,"element"))}}const s=bb(),l=Zg(s._window);if(!l)return;const c=s._blockCursorElement,u=s._rootElement;if(null===u||null===c||!Rb(a)||a.isInline()||a.canBeEmpty()||Xg(c,s,u),function(e,t,n,r){e.modify(t,n,r)}(l,e,t?"backward":"forward",n),l.rangeCount>0){const e=l.getRangeAt(0),n=this.anchor.getNode(),r=Fb(n)?n:function(e){let t=e.getParentOrThrow();for(;null!==t;){if(Yg(t))return t;t=t.getParentOrThrow()}return t}(n);if(this.applyDOMRange(e),this.dirty=!0,!i){const n=this.getNodes(),o=[];let i=!1;for(let e=0;e0)if(t){const e=o[0];Rb(e)?e.selectStart():e.getParentOrThrow().selectStart()}else{const e=o[o.length-1];Rb(e)?e.selectEnd():e.getParentOrThrow().selectEnd()}l.anchorNode===e.startContainer&&l.anchorOffset===e.startOffset||function(e){const t=e.focus,n=e.anchor,r=n.key,o=n.offset,i=n.type;Bv(n,t.key,t.offset,t.type),Bv(t,r,o,i),e._cachedNodes=null}(this)}}}forwardDeletion(e,t,n){if(!n&&("element"===e.type&&Rb(t)&&e.offset===t.getChildrenSize()||"text"===e.type&&e.offset===t.getTextContentSize())){const e=t.getParent(),n=t.getNextSibling()||(null===e?null:e.getNextSibling());if(Rb(n)&&n.isShadowRoot())return!0}return!1}deleteCharacter(e){const t=this.isCollapsed();if(this.isCollapsed()){const t=this.anchor;let n=t.getNode();if(this.forwardDeletion(t,n,e))return;const r=this.focus,o=Lg(r,e);if(jb(o)&&!o.isIsolated()){if(o.isKeyboardSelectable()&&Rb(n)&&0===n.getChildrenSize()){n.remove();const e=Qv();e.add(o.__key),bg(e)}else o.remove(),bb().dispatchCommand(gh,void 0);return}if(!e&&Rb(o)&&Rb(n)&&n.isEmpty())return n.remove(),void o.selectStart();if(this.modify("extend",e,"character"),this.isCollapsed()){if(e&&0===t.offset&&("element"===t.type?t.getNode():t.getNode().getParentOrThrow()).collapseAtStart(this))return}else{const o="text"===r.type?r.getNode():null;if(n="text"===t.type?t.getNode():null,null!==o&&o.isSegmented()){const t=r.offset,i=o.getTextContentSize();if(o.is(n)||e&&t!==i||!e&&0!==t)return void qv(o,e,t)}else if(null!==n&&n.isSegmented()){const r=t.offset,i=n.getTextContentSize();if(n.is(o)||e&&0!==r||!e&&r!==i)return void qv(n,e,r)}!function(e,t){const n=e.anchor,r=e.focus,o=n.getNode();if(o===r.getNode()&&"text"===n.type&&"text"===r.type){const e=n.offset,i=r.offset,a=en||r){o.splice(e,1),r&&(s=void 0);break}}const l=o.join("").trim();""===l?r.remove():(r.setTextContent(l),r.select(s,s))}function Kv(e,t,n,r){let o,i=t;if(1===e.nodeType){let a=!1;const s=e.childNodes,l=s.length,c=r._blockCursorElement;i===l&&(a=!0,i=l-1);let u=s[i],d=!1;if(u===c)u=s[i+1],d=!0;else if(null!==c){const n=c.parentNode;e===n&&t>Array.prototype.indexOf.call(n.children,c)&&i--}if(o=wg(u),Rv(o))i=xg(o,a);else{let r=wg(e);if(null===r)return null;if(Rb(r)){i=Math.min(r.getChildrenSize(),i);let e=r.getChildAtIndex(i);if(Rb(e)&&function(e,t,n){const r=e.getParent();return null===n||null===r||!r.canBeEmpty()||r!==n.getNode()}(e,0,n)){const t=a?e.getLastDescendant():e.getFirstDescendant();null===t?r=e:(e=t,r=Rb(e)?e:e.getParentOrThrow()),i=0}Rv(e)?(o=e,r=null,i=xg(e,a)):e!==r&&a&&!d&&i++}else{const n=r.getIndexWithinParent();i=0===t&&jb(r)&&wg(e)===r?n:n+1,r=r.getParentOrThrow()}if(Rb(r))return Fv(r.__key,i,"element")}}else o=wg(e);return Rv(o)?Fv(o.__key,i,"text"):null}function Gv(e,t,n){const r=e.offset,o=e.getNode();if(0===r){const r=o.getPreviousSibling(),i=o.getParent();if(t){if((n||!t)&&null===r&&Rb(i)&&i.isInline()){const t=i.getPreviousSibling();Rv(t)&&(e.key=t.__key,e.offset=t.getTextContent().length)}}else Rb(r)&&!n&&r.isInline()?(e.key=r.__key,e.offset=r.getChildrenSize(),e.type="element"):Rv(r)&&(e.key=r.__key,e.offset=r.getTextContent().length)}else if(r===o.getTextContent().length){const r=o.getNextSibling(),i=o.getParent();if(t&&Rb(r)&&r.isInline())e.key=r.__key,e.offset=0,e.type="element";else if((n||t)&&null===r&&Rb(i)&&i.isInline()&&!i.canInsertTextAfter()){const t=i.getNextSibling();Rv(t)&&(e.key=t.__key,e.offset=0)}}}function Xv(e,t,n){if("text"===e.type&&"text"===t.type){const r=e.isBefore(t),o=e.is(t);Gv(e,r,o),Gv(t,!r,o),o&&(t.key=e.key,t.offset=e.offset,t.type=e.type);const i=bb();if(i.isComposing()&&i._compositionKey!==e.key&&Vv(n)){const r=n.anchor,o=n.focus;Bv(e,r.key,r.offset,r.type),Bv(t,o.key,o.offset,o.type)}}}function Zv(e,t,n,r,o,i){if(null===e||null===n||!eg(o,e,n))return null;const a=Kv(e,t,Vv(i)?i.anchor:null,o);if(null===a)return null;const s=Kv(n,r,Vv(i)?i.focus:null,o);if(null===s)return null;if("element"===a.type&&"element"===s.type){const t=wg(e),r=wg(n);if(jb(t)&&jb(r))return null}return Xv(a,s,i),[a,s]}function Jv(e,t,n,r,o,i){const a=vb(),s=new Uv(Fv(e,t,o),Fv(n,r,i),0,"");return s.dirty=!0,a._selection=s,s}function Qv(){return new Wv(new Set)}function eb(e,t,n,r){const o=n._window;if(null===o)return null;const i=r||o.event,a=i?i.type:void 0,s="selectionchange"===a,l=!Lp&&(s||"beforeinput"===a||"compositionstart"===a||"compositionend"===a||"click"===a&&i&&3===i.detail||"drop"===a||void 0===a);let c,u,d,f;if(Vv(e)&&!l)return e.clone();if(null===t)return null;if(c=t.anchorNode,u=t.focusNode,d=t.anchorOffset,f=t.focusOffset,s&&Vv(e)&&!eg(n,c,u))return e.clone();const m=Zv(c,d,u,f,n,e);if(null===m)return null;const[h,p]=m;return new Uv(h,p,Vv(e)?e.format:0,Vv(e)?e.style:"")}function tb(){return vb()._selection}function nb(){return bb()._editorState._selection}function rb(e,t,n,r=1){const o=e.anchor,i=e.focus,a=o.getNode(),s=i.getNode();if(!t.is(a)&&!t.is(s))return;const l=t.__key;if(e.isCollapsed()){const t=o.offset;if(n<=t&&r>0||n0||n0||n=e,a=o?i.getChildAtIndex(e-1):i.getChildAtIndex(n);if(Rv(a)){let e=0;o&&(e=a.getTextContentSize()),t.set(a.__key,e,"text"),r.set(a.__key,e,"text")}}else{if(Rb(i)){const e=i.getChildrenSize(),r=n>=e,o=r?i.getChildAtIndex(e-1):i.getChildAtIndex(n);if(Rv(o)){let e=0;r&&(e=o.getTextContentSize()),t.set(o.__key,e,"text")}}if(Rb(a)){const e=a.getChildrenSize(),t=o>=e,n=t?a.getChildAtIndex(e-1):a.getChildAtIndex(o);if(Rv(n)){let e=0;t&&(e=n.getTextContentSize()),r.set(n.__key,e,"text")}}}}function ib(e,t,n,r,o){let i=null,a=0,s=null;null!==r?(i=r.__key,Rv(r)?(a=r.getTextContentSize(),s="text"):Rb(r)&&(a=r.getChildrenSize(),s="element")):null!==o&&(i=o.__key,Rv(o)?s="text":Rb(o)&&(s="element")),null!==i&&null!==s?e.set(i,a,s):(a=t.getIndexWithinParent(),-1===a&&(a=n.getChildrenSize()),e.set(n.__key,a,"element"))}function ab(e,t,n,r,o){"text"===e.type?(e.key=n,t||(e.offset+=o)):e.offset>r.getIndexWithinParent()&&(e.offset-=1)}function sb(e){let t=e;e.isCollapsed()||t.removeText();const n=tb();Vv(n)&&(t=n),Vv(t)||Ip(161);const r=t.anchor;let o=r.getNode(),i=r.offset;for(;!ty(o);)[o,i]=lb(o,i);return i}function lb(e,t){const n=e.getParent();if(!n){const e=$b();return yg().append(e),e.select(),[yg(),0]}if(Rv(e)){const r=e.splitText(t);if(0===r.length)return[n,e.getIndexWithinParent()];const o=0===t?0:1;return[n,r[0].getIndexWithinParent()+o]}if(!Rb(e)||0===t)return[n,e.getIndexWithinParent()];const r=e.getChildAtIndex(t);if(r){const n=new Uv(Fv(e.__key,t,"element"),Fv(e.__key,t,"element"),0,""),o=e.insertNewAfter(n);o&&o.append(r,...r.getNextSiblings())}return[n,e.getIndexWithinParent()+1]}let cb=null,ub=null,db=!1,fb=!1,mb=0;const hb={characterData:!0,childList:!0,subtree:!0};function pb(){return db||null!==cb&&cb._readOnly}function gb(){db&&Ip(13)}function yb(){mb>99&&Ip(14)}function vb(){return null===cb&&Ip(195,wb()),cb}function bb(){return null===ub&&Ip(196,wb()),ub}function wb(){let e=0;const t=new Set,n=qb.version;if("undefined"!=typeof window)for(const r of document.querySelectorAll("[contenteditable]")){const o=rg(r);if(tg(o))e++;else if(o){let e=String(o.constructor.version||"<0.17.1");e===n&&(e+=" (separately built, likely a bundler configuration issue)"),t.add(e)}}let r=` Detected on the page: ${e} compatible editor(s) with version ${n}`;return t.size&&(r+=` and incompatible editors with versions ${Array.from(t).join(", ")}`),r}function xb(e,t,n){const r=t.__type,o=function(e,t){const n=e._nodes.get(t);return void 0===n&&Ip(30,t),n}(e,r);let i=n.get(r);void 0===i&&(i=Array.from(o.transforms),n.set(r,i));const a=i.length;for(let e=0;e0?r.getRangeAt(0):null;if(null!==e){let t;if(e instanceof Text){const n=document.createRange();n.selectNode(e),t=n.getBoundingClientRect()}else t=e.getBoundingClientRect();!function(e,t,n){const r=n.ownerDocument,o=r.defaultView;if(null===o)return;let{top:i,bottom:a}=t,s=0,l=0,c=n;for(;null!==c;){const t=c===r.body;if(t)s=0,l=Hg(e).innerHeight;else{const e=c.getBoundingClientRect();s=e.top,l=e.bottom}let n=0;if(il&&(n=a-l),0!==n)if(t)o.scrollBy(0,n);else{const e=c.scrollTop;c.scrollTop+=n;const t=c.scrollTop-e;i-=t,a-=t}if(t)break;c=Ug(c)}}(n,t,i)}}Ky=!0}}(a,s,e,w,v,r)}(function(e,t,n){let r=e._blockCursorElement;if(Vv(n)&&n.isCollapsed()&&"element"===n.anchor.type&&t.contains(document.activeElement)){const o=n.anchor,i=o.getNode(),a=o.offset;let s=!1,l=null;if(a===i.getChildrenSize())Gg(i.getChildAtIndex(a-1))&&(s=!0);else{const t=i.getChildAtIndex(a);if(Gg(t)){const n=t.getPreviousSibling();(null===n||Gg(n))&&(s=!0,l=e.getElementByKey(t.__key))}}if(s){const n=e.getElementByKey(i.__key);return null===r&&(e._blockCursorElement=r=function(e){const t=e.theme,n=document.createElement("div");n.contentEditable="false",n.setAttribute("data-lexical-cursor","true");let r=t.blockCursor;if(void 0!==r){if("string"==typeof r){const e=Fp(r);r=t.blockCursor=e}void 0!==r&&n.classList.add(...r)}return n}(e._config)),t.style.caretColor="transparent",void(null===l?n.appendChild(r):n.insertBefore(r,l))}}null!==r&&Xg(r,e,t)})(e,r,s),null!==m&&m.observe(r,hb)}finally{ub=d,cb=c}}null!==h&&function(e,t,n,r,o){const i=Array.from(e._listeners.mutation),a=i.length;for(let e=0;e{r=Nb(e,t,n)})),r}const r=_g(e);for(let o=4;o>=0;o--)for(let i=0;i0||u>0;){if(l>0){t._dirtyLeaves=new Set;for(const e of s){const r=o.get(e);Rv(r)&&r.isAttached()&&r.isSimpleText()&&!r.isUnmergeable()&&Gp(r),void 0!==r&&Eb(r,i)&&xb(t,r,a),n.add(e)}if(s=t._dirtyLeaves,l=s.size,l>0){mb++;continue}}t._dirtyLeaves=new Set,t._dirtyElements=new Map;for(const e of c){const n=e[0],s=e[1];if("root"!==n&&!s)continue;const l=o.get(n);void 0!==l&&Eb(l,i)&&xb(t,l,a),r.set(n,s)}s=t._dirtyLeaves,l=s.size,c=t._dirtyElements,u=c.size,mb++}t._dirtyLeaves=n,t._dirtyElements=r}(c,e),Pb(e),function(e,t,n,r){const o=e._nodeMap,i=t._nodeMap,a=[];for(const[e]of r){const t=i.get(e);void 0!==t&&(t.isAttached()||(Rb(t)&&ay(t,e,o,i,a,r),o.has(e)||r.delete(e),a.push(e)))}for(const e of a)i.delete(e);for(const e of n){const t=i.get(e);void 0===t||t.isAttached()||(o.has(e)||n.delete(e),i.delete(e))}}(l,c,e._dirtyLeaves,e._dirtyElements)),n!==e._compositionKey&&(c._flushSync=!0);const r=c._selection;if(Vv(r)){const e=c._nodeMap,t=r.anchor.key,n=r.focus.key;void 0!==e.get(t)&&void 0!==e.get(n)||Ip(19)}else $v(r)&&0===r._nodes.size&&(c._selection=null)}catch(t){return t instanceof Error&&e._onError(t),e._pendingEditorState=l,e._dirtyType=2,e._cloneNotNeeded.clear(),e._dirtyLeaves=new Set,e._dirtyElements.clear(),void kb(e)}finally{cb=d,db=f,ub=m,e._updating=h,mb=0}const p=0!==e._dirtyType||function(e,t){const n=t.getEditorState()._selection,r=e._selection;if(null!==r){if(r.dirty||!r.is(n))return!0}else if(null!==n)return!0;return!1}(c,e);p?c._flushSync?(c._flushSync=!1,kb(e)):u&&Jp((()=>{kb(e)})):(c._flushSync=!1,u&&(r.clear(),e._deferred=[],e._pendingEditorState=null))}function Ob(e,t,n){e._updating?e._updates.push([t,n]):Tb(e,t,n)}class Mb extends uv{constructor(e){super(e),this.__first=null,this.__last=null,this.__size=0,this.__format=0,this.__style="",this.__indent=0,this.__dir=null}afterCloneFrom(e){super.afterCloneFrom(e),this.__first=e.__first,this.__last=e.__last,this.__size=e.__size,this.__indent=e.__indent,this.__format=e.__format,this.__style=e.__style,this.__dir=e.__dir}getFormat(){return this.getLatest().__format}getFormatType(){const e=this.getFormat();return Rp[e]||""}getStyle(){return this.getLatest().__style}getIndent(){return this.getLatest().__indent}getChildren(){const e=[];let t=this.getFirstChild();for(;null!==t;)e.push(t),t=t.getNextSibling();return e}getChildrenKeys(){const e=[];let t=this.getFirstChild();for(;null!==t;)e.push(t.__key),t=t.getNextSibling();return e}getChildrenSize(){return this.getLatest().__size}isEmpty(){return 0===this.getChildrenSize()}isDirty(){const e=bb()._dirtyElements;return null!==e&&e.has(this.__key)}isLastChild(){const e=this.getLatest(),t=this.getParentOrThrow().getLastChild();return null!==t&&t.is(e)}getAllTextNodes(){const e=[];let t=this.getFirstChild();for(;null!==t;){if(Rv(t)&&e.push(t),Rb(t)){const n=t.getAllTextNodes();e.push(...n)}t=t.getNextSibling()}return e}getFirstDescendant(){let e=this.getFirstChild();for(;Rb(e);){const t=e.getFirstChild();if(null===t)break;e=t}return e}getLastDescendant(){let e=this.getLastChild();for(;Rb(e);){const t=e.getLastChild();if(null===t)break;e=t}return e}getDescendantByIndex(e){const t=this.getChildren(),n=t.length;if(e>=n){const e=t[n-1];return Rb(e)&&e.getLastDescendant()||e||null}const r=t[e];return Rb(r)&&r.getFirstDescendant()||r||null}getFirstChild(){const e=this.getLatest().__first;return null===e?null:fg(e)}getFirstChildOrThrow(){const e=this.getFirstChild();return null===e&&Ip(45,this.__key),e}getLastChild(){const e=this.getLatest().__last;return null===e?null:fg(e)}getLastChildOrThrow(){const e=this.getLastChild();return null===e&&Ip(96,this.__key),e}getChildAtIndex(e){const t=this.getChildrenSize();let n,r;if(e=e;){if(r===e)return n;n=n.getPreviousSibling(),r--}return null}getTextContent(){let e="";const t=this.getChildren(),n=t.length;for(let r=0;re.remove())),e}append(...e){return this.splice(this.getChildrenSize(),0,e)}setDirection(e){const t=this.getWritable();return t.__dir=e,t}setFormat(e){return this.getWritable().__format=""!==e?Mp[e]:0,this}setStyle(e){return this.getWritable().__style=e||"",this}setIndent(e){return this.getWritable().__indent=e,this}splice(e,t,n){const r=n.length,o=this.getChildrenSize(),i=this.getWritable(),a=i.__key,s=[],l=[],c=this.getChildAtIndex(e+t);let u=null,d=o-t+r;if(0!==e)if(e===o)u=this.getLastChild();else{const t=this.getChildAtIndex(e);null!==t&&(u=t.getPreviousSibling())}if(t>0){let e=null===u?this.getFirstChild():u.getNextSibling();for(let n=0;n({root:zb(yg())})))}}class Wb extends Mb{static getType(){return"artificial"}createDOM(e){return document.createElement("div")}}class Vb extends Mb{constructor(e){super(e),this.__textFormat=0,this.__textStyle=""}static getType(){return"paragraph"}getTextFormat(){return this.getLatest().__textFormat}setTextFormat(e){const t=this.getWritable();return t.__textFormat=e,t}hasTextFormat(e){const t=Tp[e];return!!(this.getTextFormat()&t)}getTextStyle(){return this.getLatest().__textStyle}setTextStyle(e){const t=this.getWritable();return t.__textStyle=e,t}static clone(e){return new Vb(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__textFormat=e.__textFormat,this.__textStyle=e.__textStyle}createDOM(e){const t=document.createElement("p"),n=jg(e.theme,"paragraph");return void 0!==n&&t.classList.add(...n),t}updateDOM(e,t,n){return!1}static importDOM(){return{p:e=>({conversion:Ub,priority:0})}}exportDOM(e){const{element:t}=super.exportDOM(e);if(t&&Jg(t)){this.isEmpty()&&t.append(document.createElement("br"));const e=this.getFormatType();t.style.textAlign=e;const n=this.getDirection();n&&(t.dir=n);const r=this.getIndent();r>0&&(t.style.textIndent=20*r+"px")}return{element:t}}static importJSON(e){const t=$b();return t.setFormat(e.format),t.setIndent(e.indent),t.setDirection(e.direction),t.setTextFormat(e.textFormat),t}exportJSON(){return{...super.exportJSON(),textFormat:this.getTextFormat(),textStyle:this.getTextStyle(),type:"paragraph",version:1}}insertNewAfter(e,t){const n=$b();n.setTextFormat(e.format),n.setTextStyle(e.style);const r=this.getDirection();return n.setDirection(r),n.setFormat(this.getFormatType()),n.setStyle(this.getTextStyle()),this.insertAfter(n,t),n}collapseAtStart(){const e=this.getChildren();if(0===e.length||Rv(e[0])&&""===e[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Ub(e){const t=$b();if(e.style){t.setFormat(e.style.textAlign);const n=parseInt(e.style.textIndent,10)/20;n>0&&t.setIndent(n)}return{node:t}}function $b(){return qg(new Vb)}function Hb(e){return e instanceof Vb}function Yb(e,t,n,r){const o=e._keyToDOMMap;o.clear(),e._editorState=Lb(),e._pendingEditorState=r,e._compositionKey=null,e._dirtyType=0,e._cloneNotNeeded.clear(),e._dirtyLeaves=new Set,e._dirtyElements.clear(),e._normalizedNodes=new Set,e._updateTags=new Set,e._updates=[],e._blockCursorElement=null;const i=e._observer;null!==i&&(i.disconnect(),e._observer=null),null!==t&&(t.textContent=""),null!==n&&(n.textContent="",o.set("root",n))}class qb{constructor(e,t,n,r,o,i,a){this._parentEditor=t,this._rootElement=null,this._editorState=e,this._pendingEditorState=null,this._compositionKey=null,this._deferred=[],this._keyToDOMMap=new Map,this._updates=[],this._updating=!1,this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set},this._commands=new Map,this._config=r,this._nodes=n,this._decorators={},this._pendingDecorators=null,this._dirtyType=0,this._cloneNotNeeded=new Set,this._dirtyLeaves=new Set,this._dirtyElements=new Map,this._normalizedNodes=new Set,this._updateTags=new Set,this._observer=null,this._key=Sg(),this._onError=o,this._htmlConversions=i,this._editable=a,this._headless=null!==t&&t._headless,this._window=null,this._blockCursorElement=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(e){const t=this._listeners.update;return t.add(e),()=>{t.delete(e)}}registerEditableListener(e){const t=this._listeners.editable;return t.add(e),()=>{t.delete(e)}}registerDecoratorListener(e){const t=this._listeners.decorator;return t.add(e),()=>{t.delete(e)}}registerTextContentListener(e){const t=this._listeners.textcontent;return t.add(e),()=>{t.delete(e)}}registerRootListener(e){const t=this._listeners.root;return e(this._rootElement,null),t.add(e),()=>{e(null,this._rootElement),t.delete(e)}}registerCommand(e,t,n){void 0===n&&Ip(35);const r=this._commands;r.has(e)||r.set(e,[new Set,new Set,new Set,new Set,new Set]);const o=r.get(e);void 0===o&&Ip(36,String(e));const i=o[n];return i.add(t),()=>{i.delete(t),o.every((e=>0===e.size))&&r.delete(e)}}registerMutationListener(e,t,n){const r=this.resolveRegisteredNodeAfterReplacements(this.getRegisteredNode(e)).klass,o=this._listeners.mutation;o.set(t,r);const i=n&&n.skipInitialization;return void 0===i||i||this.initializeMutationListener(t,r),()=>{o.delete(t)}}getRegisteredNode(e){const t=this._nodes.get(e.getType());return void 0===t&&Ip(37,e.name),t}resolveRegisteredNodeAfterReplacements(e){for(;e.replaceWithKlass;)e=this.getRegisteredNode(e.replaceWithKlass);return e}initializeMutationListener(e,t){const n=this._editorState,r=function(e){if(!e._readOnly&&e.isEmpty())return oy;e._readOnly||Ip(192);let t=ry.get(e);if(!t){t=new Map,ry.set(e,t);for(const[n,r]of e._nodeMap){const e=r.__type;let o=t.get(e);o||(o=new Map,t.set(e,o)),o.set(n,r)}}return t}(n).get(t.getType());if(!r)return;const o=new Map;for(const e of r.keys())o.set(e,"created");o.size>0&&e(o,{dirtyLeaves:new Set,prevEditorState:n,updateTags:new Set(["registerMutationListener"])})}registerNodeTransformToKlass(e,t){const n=this.getRegisteredNode(e);return n.transforms.add(t),n}registerNodeTransform(e,t){const n=this.registerNodeTransformToKlass(e,t),r=[n],o=n.replaceWithKlass;if(null!=o){const e=this.registerNodeTransformToKlass(o,t);r.push(e)}var i;return i=e.getType(),Ob(this,(()=>{const e=vb();if(e.isEmpty())return;if("root"===i)return void yg().markDirty();const t=e._nodeMap;for(const[,e]of t)e.markDirty()}),null===this._pendingEditorState?{tag:"history-merge"}:void 0),()=>{r.forEach((e=>e.transforms.delete(t)))}}hasNode(e){return this._nodes.has(e.getType())}hasNodes(e){return e.every(this.hasNode.bind(this))}dispatchCommand(e,t){return Bg(this,e,t)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(e){const t=this._rootElement;if(e!==t){const n=jg(this._config.theme,"root"),r=this._pendingEditorState||this._editorState;if(this._rootElement=e,Yb(this,t,e,r),null!==t&&(this._config.disableEvents||function(e){const t=e.ownerDocument,n=qy.get(t);void 0===n&&Ip(162);const r=n-1;r>=0||Ip(164),qy.set(t,r),0===r&&t.removeEventListener("selectionchange",av);const o=rg(e);tg(o)?(function(e){if(null!==e._parentEditor){const t=_g(e),n=t[t.length-1]._key;iv.get(n)===e&&iv.delete(n)}else iv.delete(e._key)}(o),e.__lexicalEditor=null):o&&Ip(198);const i=ov(e);for(let e=0;e{lv(e)||(sv(e),(t.isEditable()||"click"===r)&&i(e,t))}:e=>{if(lv(e))return;sv(e);const n=t.isEditable();switch(r){case"cut":return n&&Bg(t,qh,e);case"copy":return Bg(t,Yh,e);case"paste":return n&&Bg(t,Eh,e);case"dragstart":return n&&Bg(t,Uh,e);case"dragover":return n&&Bg(t,$h,e);case"dragend":return n&&Bg(t,Hh,e);case"focus":return n&&Bg(t,Qh,e);case"blur":return n&&Bg(t,ep,e);case"drop":return n&&Bg(t,Vh,e)}};e.addEventListener(r,a),o.push((()=>{e.removeEventListener(r,a)}))}}(e,this),null!=n&&e.classList.add(...n)}else this._editorState=r,this._pendingEditorState=null,this._window=null;Cb("root",this,!1,e,t)}}getElementByKey(e){return this._keyToDOMMap.get(e)||null}getEditorState(){return this._editorState}setEditorState(e,t){e.isEmpty()&&Ip(38),Hp(this);const n=this._pendingEditorState,r=this._updateTags,o=void 0!==t?t.tag:null;null===n||n.isEmpty()||(null!=o&&r.add(o),kb(this)),this._pendingEditorState=e,this._dirtyType=2,this._dirtyElements.set("root",!1),this._compositionKey=null,null!=o&&r.add(o),kb(this)}parseEditorState(e,t){return function(e,t,n){const r=Lb(),o=cb,i=db,a=ub,s=t._dirtyElements,l=t._dirtyLeaves,c=t._cloneNotNeeded,u=t._dirtyType;t._dirtyElements=new Map,t._dirtyLeaves=new Set,t._cloneNotNeeded=new Set,t._dirtyType=0,cb=r,db=!1,ub=t;try{const o=t._nodes;_b(e.root,o),n&&n(),r._readOnly=!0}catch(e){e instanceof Error&&t._onError(e)}finally{t._dirtyElements=s,t._dirtyLeaves=l,t._cloneNotNeeded=c,t._dirtyType=u,cb=o,db=i,ub=a}return r}("string"==typeof e?JSON.parse(e):e,this,t)}read(e){return kb(this),this.getEditorState().read(e,{editor:this})}update(e,t){Ob(this,e,t)}focus(e,t={}){const n=this._rootElement;null!==n&&(n.setAttribute("autocapitalize","off"),Ob(this,(()=>{const e=tb(),n=yg();null!==e?e.dirty=!0:0!==n.getChildrenSize()&&("rootStart"===t.defaultSelection?n.selectStart():n.selectEnd())}),{onUpdate:()=>{n.removeAttribute("autocapitalize"),e&&e()},tag:"focus"}),null===this._pendingEditorState&&n.removeAttribute("autocapitalize"))}blur(){const e=this._rootElement;null!==e&&e.blur();const t=Zg(this._window);null!==t&&t.removeAllRanges()}isEditable(){return this._editable}setEditable(e){this._editable!==e&&(this._editable=e,Cb("editable",this,!0,e))}toJSON(){return{editorState:this._editorState.toJSON()}}}qb.version="0.17.1+prod.esm";const Kb="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Gb=Kb?s.useLayoutEffect:s.useEffect,Xb={tag:"history-merge"};function Zb({initialConfig:e,children:t}){const n=(0,s.useMemo)((()=>{const{theme:t,namespace:n,nodes:r,onError:o,editorState:i,html:a}=e,s=function(e,t){return{getTheme:function(){return null!=t?t:null}}}(0,t),l=function(e){const t=e||{},n=ub,r=t.theme||{},o=void 0===e?n:t.parentEditor||null,i=t.disableEvents||!1,a=Lb(),s=t.namespace||(null!==o?o._config.namespace:Sg()),l=t.editorState,c=[Ib,Ev,dv,Av,Vb,Wb,...t.nodes||[]],{onError:u,html:d}=t,f=void 0===t.editable||t.editable;let m;if(void 0===e&&null!==n)m=n._nodes;else{m=new Map;for(let e=0;e{Object.keys(e).forEach((t=>{let r=n.get(t);void 0===r&&(r=[],n.set(t,r)),r.push(e[t])}))};return e.forEach((e=>{const t=e.klass.importDOM;if(null==t||r.has(t))return;r.add(t);const n=t.call(e.klass);null!==n&&o(n)})),t&&o(t),n}(m,d?d.import:void 0),f);return void 0!==l&&(h._pendingEditorState=l,h._dirtyType=2),h}({editable:e.editable,html:a,namespace:n,nodes:r,onError:e=>o(e,l),theme:t});return function(e,t){if(null!==t)if(void 0===t)e.update((()=>{const t=yg();if(t.isEmpty()){const n=$b();t.append(n);const r=Kb?document.activeElement:null;(null!==tb()||null!==r&&r===e.getRootElement())&&n.select()}}),Xb);else if(null!==t)switch(typeof t){case"string":{const n=e.parseEditorState(t);e.setEditorState(n,Xb);break}case"object":e.setEditorState(t,Xb);break;case"function":e.update((()=>{yg().isEmpty()&&t(e)}),Xb)}}(l,i),[l,s]}),[]);return Gb((()=>{const t=e.editable,[r]=n;r.setEditable(void 0===t||t)}),[]),(0,Dc.jsx)(mh.Provider,{value:n,children:t})}const Jb="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?s.useLayoutEffect:s.useEffect;function Qb(e){return{initialValueFn:()=>e.isEditable(),subscribe:t=>e.registerEditableListener(t)}}function ew(e){return()=>function(e){if(!function(e,t=!0){if(e)return!1;let n=yg().getTextContent();return t&&(n=n.trim()),""===n}(e,!1))return!1;const t=yg().getChildren(),n=t.length;if(n>1)return!1;for(let e=0;e{for(let t=e.length-1;t>=0;t--)e[t]();e.length=0}}function ow(e,t){const n=Lg(e.focus,t);return jb(n)&&!n.isIsolated()||Rb(n)&&!n.isInline()&&!n.canBeEmpty()}function iw(e,t,n){const r=function(e){const t=e.anchor.getNode();return"rtl"===(Fb(t)?t:t.getParentOrThrow()).getDirection()}(e);!function(e,t,n){e.modify(t?"extend":"move",n,"character")}(e,t,n?!r:r)}function aw(e,t,n,r=null){let o=null===r||t.isSelected(r);const i=Rb(t)&&t.excludeFromCopy("html");let a=t;if(null!==r){let e=iy(t);e=Rv(e)&&null!==r?function(e,t){const n=e.getStartEndPoints();if(t.isSelected(e)&&!t.isSegmented()&&!t.isToken()&&null!==n){const[r,o]=n,i=e.isBackward(),a=r.getNode(),s=o.getNode(),l=t.is(a),c=t.is(s);if(l||c){const[n,r]=Yv(e),o=a.is(s),l=t.is(i?s:a),c=t.is(i?a:s);let u,d=0;return o?(d=n>r?r:n,u=n>r?n:r):l?(d=i?r:n,u=void 0):c&&(d=0,u=i?n:r),t.__text=t.__text.slice(d,u),t}}return t}(r,e):e,a=e}const s=Rb(a)?a.getChildren():[],l=e._nodes.get(a.getType());let c;c=l&&void 0!==l.exportDOM?l.exportDOM(e,a):a.exportDOM(e);const{element:u,after:d}=c;if(!u)return!1;const f=document.createDocumentFragment();for(let n=0;n{if(null!==e){const r=function(e,t){return null!==e&&Object.getPrototypeOf(e).constructor.name===t.name}(e,KeyboardEvent)?null:e.clipboardData,o=tb();if(null!==o&&null!=r){e.preventDefault();const i=function(e,t=tb()){return null==t&&sw(166),Vv(t)&&t.isCollapsed()||0===t.getNodes().length?"":function(e,t){if("undefined"==typeof document||"undefined"==typeof window&&void 0===n.g.window)throw new Error("To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.");const r=document.createElement("div"),o=yg().getChildren();for(let n=0;ne.getDecorators()));return yw((()=>e.registerDecoratorListener((e=>{(0,Gt.flushSync)((()=>{r(e)}))}))),[e]),(0,s.useEffect)((()=>{r(e.getDecorators())}),[e]),(0,s.useMemo)((()=>{const r=[],o=Object.keys(n);for(let i=0;ie._onError(t),children:(0,Dc.jsx)(s.Suspense,{fallback:null,children:n[a]})}),c=e.getElementByKey(a);null!==c&&r.push((0,Gt.createPortal)(l,c,a))}return r}),[t,n,e])}(r,n);return function(e){yw((()=>rw(function(e){return rw(e.registerCommand(vh,(e=>{const t=tb();return!!Vv(t)&&(t.deleteCharacter(e),!0)}),0),e.registerCommand(Sh,(e=>{const t=tb();return!!Vv(t)&&(t.deleteWord(e),!0)}),0),e.registerCommand(kh,(e=>{const t=tb();return!!Vv(t)&&(t.deleteLine(e),!0)}),0),e.registerCommand(xh,(e=>{const t=tb();if(!Vv(t))return!1;if("string"==typeof e)t.insertText(e);else{const n=e.dataTransfer;if(null!=n)lw(n,t);else{const n=e.data;n&&t.insertText(n)}}return!0}),0),e.registerCommand(_h,(()=>{const e=tb();return!!Vv(e)&&(e.removeText(),!0)}),0),e.registerCommand(bh,(e=>{const t=tb();return!!Vv(t)&&(t.insertLineBreak(e),!0)}),0),e.registerCommand(wh,(()=>{const e=tb();return!!Vv(e)&&(e.insertLineBreak(),!0)}),0),e.registerCommand(Rh,(e=>{const t=tb();if(!Vv(t))return!1;const n=e,r=n.shiftKey;return!!ow(t,!0)&&(n.preventDefault(),iw(t,r,!0),!0)}),0),e.registerCommand(Oh,(e=>{const t=tb();if(!Vv(t))return!1;const n=e,r=n.shiftKey;return!!ow(t,!1)&&(n.preventDefault(),iw(t,r,!1),!0)}),0),e.registerCommand(Lh,(t=>!!Vv(tb())&&(t.preventDefault(),e.dispatchCommand(vh,!0))),0),e.registerCommand(Bh,(t=>!!Vv(tb())&&(t.preventDefault(),e.dispatchCommand(vh,!1))),0),e.registerCommand(Ih,(t=>{if(!Vv(tb()))return!1;if(null!==t){if((mw||fw||pw)&&dw)return!1;t.preventDefault()}return e.dispatchCommand(bh,!1)}),0),e.registerCommand(Kh,(()=>(function(){const e=yg();bg(function(e){return Xp(e.anchor),Xp(e.focus),e}(e.select(0,e.getChildrenSize())))}(),!0)),0),e.registerCommand(Yh,(t=>!!Vv(tb())&&(gw(t,e),!0)),0),e.registerCommand(qh,(t=>!!Vv(tb())&&(function(e,t){gw(e,t),t.update((()=>{const e=tb();Vv(e)&&e.removeText()}))}(t,e),!0)),0),e.registerCommand(Eh,(t=>!!Vv(tb())&&(function(e,t){e.preventDefault(),t.update((()=>{const t=tb(),{clipboardData:n}=e;null!=n&&Vv(t)&&lw(n,t)}),{tag:"paste"})}(t,e),!0)),0),e.registerCommand(Vh,(e=>!!Vv(tb())&&(e.preventDefault(),!0)),0),e.registerCommand(Uh,(e=>!!Vv(tb())&&(e.preventDefault(),!0)),0))}(e),function(e){const t=window.location.origin,n=n=>{if(n.origin!==t)return;const r=e.getRootElement();if(document.activeElement!==r)return;const o=n.data;if("string"==typeof o){let t;try{t=JSON.parse(o)}catch(e){return}if(t&&"nuanria_messaging"===t.protocol&&"request"===t.type){const r=t.payload;if(r&&"makeChanges"===r.functionId){const t=r.args;if(t){const[r,o,i,a,s,l]=t;e.update((()=>{const e=tb();if(Vv(e)){const t=e.anchor;let l=t.getNode(),c=0,u=0;if(Rv(l)&&r>=0&&o>=0&&(c=r,u=r+o,e.setTextNodeRange(l,c,l,u)),c===u&&""===i||(e.insertRawText(i),l=t.getNode()),Rv(l)){c=a,u=a+s;const t=l.getTextContentSize();c=c>t?t:c,u=u>t?t:u,e.setTextNodeRange(l,c,l,u)}n.stopImmediatePropagation()}}))}}}}};return window.addEventListener("message",n,!0),()=>{window.removeEventListener("message",n,!0)}}(e))),[e])}(r),(0,Dc.jsxs)(Dc.Fragment,{children:[e,(0,Dc.jsx)(ww,{content:t}),o]})}function ww({content:e}){const[t]=hh(),n=function(e){const[t,n]=(0,s.useState)((()=>vw(e)));return yw((()=>{function t(){const t=vw(e);n(t)}return t(),rw(e.registerUpdateListener((()=>{t()})),e.registerEditableListener((()=>{t()})))}),[e]),t}(t),r=function(e){const[t]=hh(),n=(0,s.useMemo)((()=>e(t)),[t,e]),r=(0,s.useRef)(n.initialValueFn()),[o,i]=(0,s.useState)(r.current);return Jb((()=>{const{initialValueFn:e,subscribe:t}=n,o=e();return r.current!==o&&(r.current=o,i(o)),t((e=>{r.current=e,i(e)}))}),[n,e]),o}(Qb);return n?"function"==typeof e?e(r):e:null}const xw="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?s.useLayoutEffect:s.useEffect,Ew=(0,s.forwardRef)((function({editor:e,ariaActiveDescendant:t,ariaAutoComplete:n,ariaControls:r,ariaDescribedBy:o,ariaExpanded:i,ariaLabel:a,ariaLabelledBy:l,ariaMultiline:c,ariaOwns:u,ariaRequired:d,autoCapitalize:f,className:m,id:h,role:p="textbox",spellCheck:g=!0,style:y,tabIndex:v,"data-testid":b,...w},x){const[E,_]=(0,s.useState)(e.isEditable()),S=(0,s.useCallback)((t=>{t&&t.ownerDocument&&t.ownerDocument.defaultView?e.setRootElement(t):e.setRootElement(null)}),[e]),k=(0,s.useMemo)((()=>function(...e){return t=>{e.forEach((e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)}))}}(x,S)),[S,x]);return xw((()=>(_(e.isEditable()),e.registerEditableListener((e=>{_(e)})))),[e]),(0,Dc.jsx)("div",{...w,"aria-activedescendant":E?t:void 0,"aria-autocomplete":E?n:"none","aria-controls":E?r:void 0,"aria-describedby":o,"aria-expanded":E&&"combobox"===p?!!i:void 0,"aria-label":a,"aria-labelledby":l,"aria-multiline":c,"aria-owns":E?u:void 0,"aria-readonly":!E||void 0,"aria-required":d,autoCapitalize:f,className:m,contentEditable:E,"data-testid":b,id:h,ref:k,role:E?p:void 0,spellCheck:g,style:y,tabIndex:v})}));function _w(e){return e.getEditorState().read(ew(e.isComposing()))}const Sw=(0,s.forwardRef)((function(e,t){const{placeholder:n,...r}=e,[o]=hh();return(0,Dc.jsxs)(Dc.Fragment,{children:[(0,Dc.jsx)(Ew,{editor:o,...r,ref:t}),null!=n&&(0,Dc.jsx)(kw,{editor:o,content:n})]})}));function kw({content:e,editor:t}){const n=function(e){const[t,n]=(0,s.useState)((()=>_w(e)));return xw((()=>{function t(){const t=_w(e);n(t)}return t(),rw(e.registerUpdateListener((()=>{t()})),e.registerEditableListener((()=>{t()})))}),[e]),t}(t),[r,o]=(0,s.useState)(t.isEditable());if((0,s.useLayoutEffect)((()=>(o(t.isEditable()),t.registerEditableListener((e=>{o(e)})))),[t]),!n)return null;let i=null;return"function"==typeof e?i=e(r):null!==e&&(i=e),null===i?null:(0,Dc.jsx)("div",{"aria-hidden":!0,children:i})}function Cw(e){e.undoStack=[],e.redoStack=[],e.current=null}function Nw({delay:e,externalHistoryState:t}){const[n]=hh();return function(e,t,n=1e3){const r=(0,s.useMemo)((()=>t||{current:null,redoStack:[],undoStack:[]}),[t]);(0,s.useEffect)((()=>function(e,t,n){const r=function(e,t){let n=Date.now(),r=0;return(o,i,a,s,l,c)=>{const u=Date.now();if(c.has("historic"))return r=0,n=u,2;const d=function(e,t,n,r,o){if(null===e||0===n.size&&0===r.size&&!o)return 0;const i=t._selection,a=e._selection;if(o)return 1;if(!(Vv(i)&&Vv(a)&&a.isCollapsed()&&i.isCollapsed()))return 0;const s=function(e,t,n){const r=e._nodeMap,o=[];for(const e of t){const t=r.get(e);void 0!==t&&o.push(t)}for(const[e,t]of n){if(!t)continue;const n=r.get(e);void 0===n||Fb(n)||o.push(n)}return o}(t,n,r);if(0===s.length)return 0;if(s.length>1){const n=t._nodeMap,r=n.get(i.anchor.key),o=n.get(a.anchor.key);return r&&o&&!e._nodeMap.has(r.__key)&&Rv(r)&&1===r.__text.length&&1===i.anchor.offset?2:0}const l=s[0],c=e._nodeMap.get(l.__key);if(!Rv(c)||!Rv(l)||c.__mode!==l.__mode)return 0;const u=c.__text,d=l.__text;if(u===d)return 0;const f=i.anchor,m=a.anchor;if(f.key!==m.key||"text"!==f.type)return 0;const h=f.offset,p=m.offset,g=d.length-u.length;return 1===g&&p===h-1?2:-1===g&&p===h+1?3:-1===g&&p===h?4:0}(o,i,s,l,e.isComposing()),f=(()=>{const f=null===a||a.editor===e,m=c.has("history-push");if(!m&&f&&c.has("history-merge"))return 0;if(null===o)return 1;const h=i._selection;return s.size>0||l.size>0?!1===m&&0!==d&&d===r&&ur.exportJSON())))===JSON.stringify(n.read((()=>o.exportJSON())))}(Array.from(s)[0],o,i)?0:1:null!==h?0:2})();return n=u,r=d,f}}(e,n),o=rw(e.registerCommand(Nh,(()=>(function(e,t){const n=t.redoStack,r=t.undoStack;if(0!==r.length){const o=t.current,i=r.pop();null!==o&&(n.push(o),e.dispatchCommand(Zh,!0)),0===r.length&&e.dispatchCommand(Jh,!1),t.current=i||null,i&&i.editor.setEditorState(i.editorState,{tag:"historic"})}}(e,t),!0)),0),e.registerCommand(Ph,(()=>(function(e,t){const n=t.redoStack,r=t.undoStack;if(0!==n.length){const o=t.current;null!==o&&(r.push(o),e.dispatchCommand(Jh,!0));const i=n.pop();0===n.length&&e.dispatchCommand(Zh,!1),t.current=i||null,i&&i.editor.setEditorState(i.editorState,{tag:"historic"})}}(e,t),!0)),0),e.registerCommand(Gh,(()=>(Cw(t),!1)),0),e.registerCommand(Xh,(()=>(Cw(t),e.dispatchCommand(Zh,!1),e.dispatchCommand(Jh,!1),!0)),0),e.registerUpdateListener((({editorState:n,prevEditorState:o,dirtyLeaves:i,dirtyElements:a,tags:s})=>{const l=t.current,c=t.redoStack,u=t.undoStack,d=null===l?null:l.editorState;if(null!==l&&n===d)return;const f=r(o,n,l,i,a,s);if(1===f)0!==c.length&&(t.redoStack=[],e.dispatchCommand(Zh,!1)),null!==l&&(u.push({...l}),e.dispatchCommand(Jh,!0));else if(2===f)return;t.current={editor:e,editorState:n}})));return o}(e,r,n)),[n,e,r])}(n,t,e),null}function Pw(e,t){return Pw=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Pw(e,t)}var Tw={error:null},Ow=function(e){var t,n;function r(){for(var t,n=arguments.length,r=new Array(n),o=0;o{if(n)return r.registerUpdateListener((({editorState:o,dirtyElements:i,dirtyLeaves:a,prevEditorState:s,tags:l})=>{t&&0===i.size&&0===a.size||e&&l.has("history-merge")||s.isEmpty()||n(o,r,l)}))}),[r,e,t,n]),null}function Aw({editorRef:e}){const[t]=hh();return s.useEffect((()=>{"function"==typeof e?e(t):"object"==typeof e&&(e.current=t)}),[t]),null}var jw={xs:"py-1 px-2 pr-2 rounded [&_.editor-content>p]:text-xs [&_.editor-content>p]:font-normal [&_.pointer-events-none]:text-xs",sm:"px-3 py-2 rounded [&_.editor-content>p]:text-xs [&_.editor-content>p]:font-normal [&_.pointer-events-none]:text-xs [&_.pointer-events-none]:font-normal",md:"px-3.5 py-2.5 rounded-md [&_.editor-content>p]:text-sm [&_.editor-content>p]:font-normal [&_.pointer-events-none]:text-sm [&_.pointer-events-none]:font-normal",lg:"px-4 py-3 rounded-md [&_.editor-content>p]:text-base [&_.editor-content>p]:font-normal [&_.pointer-events-none]:text-base [&_.pointer-events-none]:font-normal"},Iw={xs:"p-1 rounded-md max-h-[8.75rem]",sm:"p-1.5 rounded-md max-h-[10.75rem]",md:"p-2 rounded-lg max-h-[13.5rem]",lg:"p-2 rounded-lg max-h-[13.5rem]"},Fw={xs:"p-1 rounded text-xs leading-4 font-normal",sm:"p-1.5 rounded text-xs leading-5 font-normal",md:"p-2 rounded-md text-sm leading-6 font-normal",lg:"p-2 rounded-md text-base leading-6 font-normal"};const Lw="startTransition",zw="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?s.useLayoutEffect:s.useEffect,Bw=e=>{const t=document.getElementById("typeahead-menu");if(!t)return;const n=t.getBoundingClientRect();n.top+n.height>window.innerHeight&&t.scrollIntoView({block:"center"}),n.top<0&&t.scrollIntoView({block:"center"}),e.scrollIntoView({block:"nearest"})};function Ww(e,t){const n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.top>r.top&&n.top{d(0)}),[f]);const m=(0,s.useCallback)((n=>{t.update((()=>{const t=null!=r.match&&l?function(e){const t=tb();if(!Vv(t)||!t.isCollapsed())return null;const n=t.anchor;if("text"!==n.type)return null;const r=n.getNode();if(!r.isSimpleText())return null;const o=n.offset,i=r.getTextContent().slice(0,o),a=e.replaceableString.length,s=o-function(e,t,n){let r=n;for(let n=r;n<=t.length;n++)e.substr(-n)===t.substr(0,n)&&(r=n);return r}(i,e.matchingString,a);if(s<0)return null;let l;return 0===s?[l]=r.splitText(o):[,l]=r.splitText(s,o),l}(r.match):null;a(n,t,e,r.match?r.match.matchingString:"")}))}),[t,l,r.match,a,e]),h=(0,s.useCallback)((e=>{const n=t.getRootElement();null!==n&&(n.setAttribute("aria-activedescendant","typeahead-item-"+e),d(e))}),[t]);return(0,s.useEffect)((()=>()=>{const e=t.getRootElement();null!==e&&e.removeAttribute("aria-activedescendant")}),[t]),zw((()=>{null===o?d(null):null===u&&h(0)}),[o,u,h]),(0,s.useEffect)((()=>rw(t.registerCommand(Vw,(({option:e})=>!(!e.ref||null==e.ref.current||(Bw(e.ref.current),0))),c))),[t,h,c]),(0,s.useEffect)((()=>rw(t.registerCommand(jh,(e=>{const n=e;if(null!==o&&o.length&&null!==u){const e=u!==o.length-1?u+1:0;h(e);const r=o[e];null!=r.ref&&r.ref.current&&t.dispatchCommand(Vw,{index:e,option:r}),n.preventDefault(),n.stopImmediatePropagation()}return!0}),c),t.registerCommand(Ah,(e=>{const t=e;if(null!==o&&o.length&&null!==u){const e=0!==u?u-1:o.length-1;h(e);const n=o[e];null!=n.ref&&n.ref.current&&Bw(n.ref.current),t.preventDefault(),t.stopImmediatePropagation()}return!0}),c),t.registerCommand(zh,(t=>{const n=t;return n.preventDefault(),n.stopImmediatePropagation(),e(),!0}),c),t.registerCommand(Wh,(e=>{const t=e;return null!==o&&null!==u&&null!=o[u]&&(t.preventDefault(),t.stopImmediatePropagation(),m(o[u]),!0)}),c),t.registerCommand(Ih,(e=>null!==o&&null!==u&&null!=o[u]&&(null!==e&&(e.preventDefault(),e.stopImmediatePropagation()),m(o[u]),!0)),c))),[m,e,t,o,u,h,c]),i(n,(0,s.useMemo)((()=>({options:o,selectOptionAndCleanUp:m,selectedIndex:u,setHighlightedIndex:d})),[m,u,o]),r.match?r.match.matchingString:"")}function $w({options:e,onQueryChange:t,onSelectOption:n,onOpen:r,onClose:o,menuRenderFn:i,triggerFn:a,anchorClassName:c,commandPriority:u=1,parent:d}){const[f]=hh(),[m,h]=(0,s.useState)(null),p=function(e,t,n,r=document.body){const[o]=hh(),i=(0,s.useRef)(document.createElement("div")),a=(0,s.useCallback)((()=>{i.current.style.top=i.current.style.bottom;const t=o.getRootElement(),a=i.current,s=a.firstChild;if(null!==t&&null!==e){const{left:o,top:l,width:c,height:u}=e.getRect(),d=i.current.offsetHeight;if(a.style.top=`${l+window.pageYOffset+d+3}px`,a.style.left=`${o+window.pageXOffset}px`,a.style.height=`${u}px`,a.style.width=`${c}px`,null!==s){s.style.top=`${l}`;const e=s.getBoundingClientRect(),n=e.height,r=e.width,i=t.getBoundingClientRect();o+r>i.right&&(a.style.left=`${i.right-r+window.pageXOffset}px`),(l+n>window.innerHeight||l+n>i.bottom)&&l-i.top>n+u&&(a.style.top=l-n+window.pageYOffset-u+"px")}a.isConnected||(null!=n&&(a.className=n),a.setAttribute("aria-label","Typeahead menu"),a.setAttribute("id","typeahead-menu"),a.setAttribute("role","listbox"),a.style.display="block",a.style.position="absolute",r.append(a)),i.current=a,t.setAttribute("aria-controls","typeahead-menu")}}),[o,e,n,r]);(0,s.useEffect)((()=>{const t=o.getRootElement();if(null!==e)return a(),()=>{null!==t&&t.removeAttribute("aria-controls");const e=i.current;null!==e&&e.isConnected&&e.remove()}}),[o,a,e]);const l=(0,s.useCallback)((n=>{null!==e&&(n||t(null))}),[e,t]);return function(e,t,n,r){const[o]=hh();(0,s.useEffect)((()=>{if(null!=t&&null!=e){const e=o.getRootElement(),i=null!=e?function(e){let t=getComputedStyle(e);const n="absolute"===t.position,r=/(auto|scroll)/;if("fixed"===t.position)return document.body;for(let o=e;o=o.parentElement;)if(t=getComputedStyle(o),(!n||"static"!==t.position)&&r.test(t.overflow+t.overflowY+t.overflowX))return o;return document.body}(e):document.body;let a=!1,s=Ww(t,i);const l=function(){a||(window.requestAnimationFrame((function(){n(),a=!1})),a=!0);const e=Ww(t,i);e!==s&&(s=e,null!=r&&r(e))},c=new ResizeObserver(n);return window.addEventListener("resize",n),document.addEventListener("scroll",l,{capture:!0,passive:!0}),c.observe(t),()=>{c.unobserve(t),window.removeEventListener("resize",n),document.removeEventListener("scroll",l,!0)}}}),[t,o,r,n,e])}(e,i.current,a,l),i}(m,h,c,d),g=(0,s.useCallback)((()=>{h(null),null!=o&&null!==m&&o()}),[o,m]),y=(0,s.useCallback)((e=>{h(e),null!=r&&null===m&&r(e)}),[r,m]);return(0,s.useEffect)((()=>{const e=f.registerUpdateListener((()=>{f.getEditorState().read((()=>{const e=f._window||window,n=e.document.createRange(),r=tb(),o=function(e){let t=null;return e.getEditorState().read((()=>{const e=tb();Vv(e)&&(t=function(e){const t=e.anchor;if("text"!==t.type)return null;const n=t.getNode();if(!n.isSimpleText())return null;const r=t.offset;return n.getTextContent().slice(0,r)}(e))})),t}(f);if(!Vv(r)||!r.isCollapsed()||null===o||null===n)return void g();const i=a(o,f);if(t(i?i.matchingString:null),null!==i&&!function(e,t){return 0===t&&e.getEditorState().read((()=>{const e=tb();if(Vv(e)){const t=e.anchor.getNode().getPreviousSibling();return Rv(t)&&t.isTextEntity()}return!1}))}(f,i.leadOffset)){const t=function(e,t,n){const r=n.getSelection();if(null===r||!r.isCollapsed)return!1;const o=r.anchorNode,i=e,a=r.anchorOffset;if(null==o||null==a)return!1;try{t.setStart(o,i),t.setEnd(o,a)}catch(e){return!1}return!0}(i.leadOffset,n,e);if(null!==t)return s=()=>y({getRect:()=>n.getBoundingClientRect(),match:i}),void(Lw in l()?l()[Lw](s):s())}var s;g()}))}));return()=>{e()}}),[f,a,t,m,g,y]),null===m||null===f?null:(0,Dc.jsx)(Uw,{close:g,resolution:m,editor:f,anchorElementRef:p,options:e,menuRenderFn:i,shouldSplitNodeWithQuery:!0,onSelectOption:n,commandPriority:u})}function Hw(e){return Hw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hw(e)}function Yw(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n2&&void 0!==arguments[2]?arguments[2]:"name",r=function(e){return function(e){if(Array.isArray(e))return e}(e)||function(e){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,r,o,i,a=[],s=!0,l=!1;try{for(o=(t=t.call(e)).next,!2;!(s=(n=o.call(t)).done)&&(a.push(n.value),2!==a.length);s=!0);}catch(e){l=!0,r=e}finally{try{if(!s&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(l)throw r}}return a}}(e)||function(e){if(e){if("string"==typeof e)return ux(e,2);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?ux(e,2):void 0}}(e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((0,s.useState)([])),o=r[0],i=r[1];return(0,s.useEffect)((function(){if(null!==t){var r=dx.get(t);null!==r&&(void 0===r?(dx.set(t,null),function(e,t,n,r){setTimeout((function(){var o=e.filter((function(e){var n;if("string"==typeof e)return e.toLowerCase().includes(t.toLowerCase());var o=null==e||null===(n=e[r])||void 0===n?void 0:n.toString();return!!o&&o.toLowerCase().includes(t.toLowerCase())}));n(o)}),500)}(e,t,(function(e){dx.set(t,e),i(e)}),n)):i(r))}else i([])}),[t]),o},mx=["size","children","selected","className"];function hx(){return hx=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n_:;",y=[l].join(""),v="[^"+y+g+"\\s]",b="(?:\\.[ |$]| |["+g+"]|)",w=new RegExp("(^|\\s|\\()([".concat(y,"]((?:").concat(v).concat(b,"){0,").concat(75,"}))$")),x=new RegExp("(^|\\s|\\()([".concat(y,"]((?:").concat(v,"){0,").concat(50,"}))$")),E=yx(hh(),1)[0],_=yx((0,s.useState)(null),2),S=_[0],k=_[1],C=fx(t,S,r),N=(0,s.useCallback)((function(e,t,n){E.update((function(){var o=rx(e.data,r,i);t&&t.replace(o),n()}))}),[E]),P=(0,s.useMemo)((function(){return C.map((function(e){return new cx(e)}))}),[E,C]),T=(0,s.useCallback)((function(e){if(!h)return!1;var t=e.key,n=e.ctrlKey,r=e.metaKey;if(n||r||" "===t||t.length>1||p.current)return p.current&&(p.current=!1),!1;var o=tb(),i=o.focus,a=o.anchor,s=yx(o.getNodes(),1)[0];if(!a||!i||(null==a?void 0:a.key)!==(null==i?void 0:i.key)||(null==a?void 0:a.offset)!==(null==i?void 0:i.offset)||!s)return!1;if(function(e){return e instanceof nx}(s)){var l=Mv(" ");s.insertAfter(l)}}),[E,l,h]),O=(0,s.useCallback)((function(e){"Backspace"===e.key&&(p.current=!0)}),[p]);return(0,s.useEffect)((function(){if(E)return rw(E.registerCommand(Th,T,1),E.registerCommand(Lh,O,1))}),[E,T]),React.createElement($w,{onQueryChange:k,onSelectOption:N,triggerFn:function(e){var t=w.exec(e);if(null===t&&(t=x.exec(e)),null!==t){var n=t[1],r=t[3];if(r.length>=0)return{leadOffset:t.index+n.length,matchingString:r,replaceableString:t[2]}}return null},options:P,menuRenderFn:function(e,t){var n=t.selectedIndex,o=t.selectOptionAndCleanUp,a=t.setHighlightedIndex;return e.current&&!(null==P||!P.length)&&React.createElement(u,{size:i},P.map((function(e,t){var s;return React.createElement(f,{key:t,ref:e.ref,size:i,selected:t===n,onMouseEnter:function(){a(t)},onClick:function(){return o(e)}},"string"==typeof e.data?e.data:null===(s=e.data)||void 0===s?void 0:s[r])})))}})},wx={ltr:"ltr",rtl:"rtl",paragraph:"editor-paragraph",quote:"editor-quote",heading:{h1:"editor-heading-h1",h2:"editor-heading-h2",h3:"editor-heading-h3",h4:"editor-heading-h4",h5:"editor-heading-h5",h6:"editor-heading-h6"},list:{nested:{listitem:"editor-nested-listitem"},ol:"editor-list-ol",ul:"editor-list-ul",listitem:"editor-listItem",listitemChecked:"editor-listItemChecked",listitemUnchecked:"editor-listItemUnchecked"},hashtag:"editor-hashtag",image:"editor-image",link:"editor-link",text:{bold:"editor-textBold",code:"editor-textCode",italic:"editor-textItalic",strikethrough:"editor-textStrikethrough",subscript:"editor-textSubscript",superscript:"editor-textSuperscript",underline:"editor-textUnderline",underlineStrikethrough:"editor-textUnderlineStrikethrough"},code:"editor-code",codeHighlight:{atrule:"editor-tokenAttr",attr:"editor-tokenAttr",boolean:"editor-tokenProperty",builtin:"editor-tokenSelector",cdata:"editor-tokenComment",char:"editor-tokenSelector",class:"editor-tokenFunction","class-name":"editor-tokenFunction",comment:"editor-tokenComment",constant:"editor-tokenProperty",deleted:"editor-tokenProperty",doctype:"editor-tokenComment",entity:"editor-tokenOperator",function:"editor-tokenFunction",important:"editor-tokenVariable",inserted:"editor-tokenSelector",keyword:"editor-tokenAttr",namespace:"editor-tokenVariable",number:"editor-tokenProperty",operator:"editor-tokenOperator",prolog:"editor-tokenComment",property:"editor-tokenProperty",punctuation:"editor-tokenPunctuation",regex:"editor-tokenVariable",selector:"editor-tokenSelector",string:"editor-tokenSelector",symbol:"editor-tokenProperty",tag:"editor-tokenProperty",url:"editor-tokenOperator",variable:"editor-tokenVariable"}},xx=function(e){var t=e.content;return React.createElement("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-start text-field-placeholder"},t)};function Ex(e){console.error(e)}var _x=(0,s.forwardRef)((function(e,t){var n,r,o=e.defaultValue,i=void 0===o?"":o,a=e.placeholder,l=void 0===a?"Press @ to view variable suggestions":a,c=e.onChange,u=e.size,d=void 0===u?"md":u,f=e.autoFocus,m=void 0!==f&&f,h=e.options,p=void 0===h?[]:h,g=e.by,y=void 0===g?"name":g,v=e.trigger,b=void 0===v?"@":v,w=e.menuComponent,x=e.menuItemComponent,E=e.className,_=e.wrapperClassName,S=e.disabled,k=void 0!==S&&S,C=e.autoSpaceAfterMention,N=void 0!==C&&C,P={namespace:"Editor",editorTheme:wx,onError:Ex,nodes:[ox],editorState:i||'{\n "root": {\n "children": [\n {\n "children": [],\n "direction": null,\n "format": "",\n "indent": 0,\n "type": "paragraph",\n "version": 1,\n "textFormat": 0,\n "textStyle": ""\n }\n ],\n "direction": null,\n "format": "",\n "indent": 0,\n "type": "root",\n "version": 1\n }\n}',editable:!k};return(0,s.isValidElement)(w)&&(n=w),(0,s.isValidElement)(x)&&(r=x),React.createElement("div",{className:re("relative w-full","focus-within:ring-2 focus-within:ring-offset-2 hover:border-border-strong focus-within:!border-focus-border focus-within:ring-focus transition duration-150 ease-in-out outline outline-1 outline-field-border",jw[d],k&&"bg-field-secondary-background border-field-border-disabled hover:border-field-border-disabled [&_p]:text-badge-color-disabled cursor-not-allowed",_)},React.createElement(Zb,{initialConfig:P},React.createElement("div",{className:"relative w-full [&_p]:m-0"},React.createElement(bw,{contentEditable:React.createElement(Sw,{className:re("editor-content focus-visible:outline-none outline-none","w-full [&>p]:w-full [&>p]:m-0",E)}),placeholder:React.createElement(xx,{content:l}),ErrorBoundary:Mw})),React.createElement(Nw,null),React.createElement(bx,{menuComponent:n,menuItemComponent:r,size:d,by:y,optionsArray:p,trigger:b,autoSpace:N}),React.createElement(Dw,{onChange:function(e,t){"function"==typeof c&&c(e,t)},ignoreSelectionChange:!0}),t&&React.createElement(Aw,{editorRef:t}),m&&React.createElement(ph,null)))}));_x.displayName="EditorInput";var Sx=_x;const kx=xe("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var Cx=function(e,t){return re("rounded-full text-brand-primary-600 transition-colors duration-300",e[t].dot,e[t].ring)},Nx=["variant","size","type","currentStep","children","className","lineProps"],Px=["labelText","icon","stepClasses","isCurrent","isCompleted","className","type","variant","sizeClasses","size","isLast","index","lineProps"];function Tx(){return Tx=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:size-4",md:"[&>svg]:size-5"})||void 0===n?void 0:n[x],S=function(){y(!g),f&&f(!g)};return l().createElement("div",null,l().createElement("div",{role:"button",tabIndex:"0",onClick:S,onKeyDown:function(e){"Enter"!==e.key&&" "!==e.key||S()},onMouseEnter:function(){return c&&w(!0)},onMouseLeave:function(){return c&&w(!1)},className:re("text-text-primary bg-transparent cursor-pointer flex justify-between items-center gap-1",E,r?"p-1":"p-0",h),"aria-expanded":g},l().createElement("span",{className:"text-text-tertiary"},r),i&&l().createElement(vf.span,{variants:{open:{rotate:180},closed:{rotate:0}},animate:g?"open":"closed",transition:{duration:.15},className:re("flex items-center text-border-strong",_)},l().createElement(vf.div,{initial:"hidden",animate:g||b?"visible":"hidden",exit:"hidden",variants:{visible:{opacity:1},hidden:{opacity:0}},transition:{duration:.15}},l().createElement(Cf,null)))),l().createElement(wm,{initial:!1},g&&l().createElement(vf.ul,{variants:{open:{height:"auto",opacity:1},closed:{height:0,opacity:0}},initial:"closed",animate:"open",exit:"closed",transition:{duration:.3,ease:"easeInOut"},className:"overflow flex gap-0.5 flex-col m-0 bg-white rounded p-0"},m)))};Ux.displayName="Menu.List";var $x=function(e){var t,n=e.disabled,r=void 0!==n&&n,o=e.active,i=e.onClick,a=e.children,s=e.className,c=Wx().size,u=null===(t={sm:"[&>svg]:size-4 [&>svg]:m-1 [&>*:not(svg)]:mx-1 [&>*:not(svg)]:my-0.5 text-sm",md:"[&>svg]:size-5 [&>svg]:m-1.5 [&>*:not(svg)]:m-1 text-base"})||void 0===t?void 0:t[c],d=r?"text-text-disabled hover:text-text-disabled cursor-not-allowed hover:bg-transparent":"",f=o?"text-icon-primary [&>svg]:text-icon-interactive bg-background-secondary":"";return l().createElement("li",{role:"menuitem",tabIndex:"0",onClick:i,onKeyDown:function(e){"Enter"!==e.key&&" "!==e.key||i()},className:re("flex p-1 gap-1 items-center bg-transparent border-none rounded text-text-secondary cursor-pointer m-0",u,"hover:bg-background-secondary hover:text-text-primary",d,f,"transition-colors duration-300 ease-in-out",s)},a)};$x.displayName="Menu.Item";var Hx=function(e){var t,n=e.variant,r=void 0===n?"solid":n,o=e.className,i=null===(t={solid:"border-solid",dashed:"border-dashed",dotted:"border-dotted",double:"border-double",hidden:"border-hidden",none:"border-none"})||void 0===t?void 0:t[r];return l().createElement(l().Fragment,null,l().createElement("hr",{className:re("w-full border-0 border-t border-border-subtle",i,o)}))};Hx.displayName="Menu.Separator";var Yx=Object.assign(Vx,{List:Ux,Item:$x,Separator:Hx});const qx=xe("PanelLeftOpen",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]),Kx=xe("PanelLeftClose",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);var Gx=["children","className","onCollapseChange","collapsible","screenHeight","borderOn"];function Xx(){return Xx=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:block h-full",n)},t)};XE.displayName="Topbar.Item";var ZE=Object.assign(YE,{Left:qE,Middle:KE,Right:GE,Item:XE}),JE={sm:"text-xs [&>svg]:size-4 rounded",md:"text-sm [&>svg]:size-5 rounded-md",lg:"text-base [&>svg]:size-6 rounded-md"},QE={input:{sm:"py-1.5 px-2 rounded",md:"p-2.5 rounded-md",lg:"p-3 rounded-md"},content:{sm:"p-1.5",md:"p-1.5",lg:"p-2"},title:{sm:"p-2 text-xs",md:"p-2 text-sm",lg:"p-2 text-sm"},item:{sm:"text-sm text-text-secondary rounded",md:"text-base text-text-secondary rounded-md",lg:"text-base text-text-secondary rounded-md"},icon:{sm:"p-1 text-sm [&>svg]:size-4 text-icon-secondary",md:"p-2 text-base [&>svg]:size-5 text-icon-secondary",lg:"p-2 text-base [&>svg]:size-5 text-icon-secondary"},dialog:{sm:"mt-1 rounded-md",md:"mt-1.5 rounded-lg",lg:"mt-1.5 rounded-lg"},slashIcon:{sm:"px-2 py-0.5",md:"px-3 py-1",lg:"px-3.5 py-1"}},e_={primary:"bg-field-primary-background outline outline-1 outline-field-border hover:outline-border-strong",secondary:"bg-field-secondary-background outline outline-1 outline-field-border hover:outline-border-strong",ghost:"bg-field-secondary-background outline outline-1 outline-transparent"},t_={ghost:"cursor-not-allowed text-text-disabled placeholder:text-text-disabled",primary:"border-border-disabled hover:border-border-disabled bg-field-background-disabled cursor-not-allowed text-text-disabled placeholder:text-text-disabled",secondary:"border-border-disabled hover:border-border-disabled cursor-not-allowed text-text-disabled placeholder:text-text-disabled"};function n_(e){return n_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n_(e)}var r_=["className","size","open","onOpenChange","loading"],o_=["className","type","placeholder","variant","disabled","onChange"],i_=["className","dropdownPortalRoot","dropdownPortalId","children"],a_=["className","icon","children"],s_=["className"];function l_(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c_(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0?(0,s.cloneElement)(e,{children:t}):null}return e})).filter(Boolean);return a?React.createElement(S_,null):React.createElement("div",null,l.some((function(e){return e.type!==k_}))?l:React.createElement(x_,null))};w_.displayName="SearchBox.List";var x_=function(e){var t=e.children,n=void 0===t?"No results found.":t,r=g_().size;return React.createElement("div",{className:re("flex justify-center items-center",QE.item[r],"text-text-tertiary p-4")},n)};x_.displayName="SearchBox.Empty";var E_=function(e){var t=e.heading,n=e.children,r=g_().size;return React.createElement("div",{className:re(QE.content[r],QE.item[r])},t&&React.createElement("div",{className:re(QE.title[r],"text-text-secondary")},t),n)};E_.displayName="SearchBox.Group";var __=(0,s.forwardRef)((function(e,t){var n=e.className,r=e.icon,o=e.children,i=h_(e,a_),a=g_().size;return React.createElement("div",d_({ref:t,className:re("flex items-center justify-start gap-1 p-1 hover:bg-background-secondary focus:bg-background-secondary cursor-pointer",QE.item[a])},i),r&&React.createElement("span",{className:re(QE.icon[a],"flex items-center justify-center")},r),React.createElement("span",{className:re("flex-grow p-1 font-normal cursor-pointer",QE.item[a],n)},o))}));__.displayName="SearchBox.Item";var S_=function(e){var t=e.loadingIcon,n=void 0===t?React.createElement(ri,null):t,r=g_().size,o=(0,s.cloneElement)(n,{size:r});return React.createElement("div",{className:re("flex justify-center p-4",JE[r],QE.item[r])},o)};S_.displayName="SearchBox.Loading";var k_=(0,s.forwardRef)((function(e,t){var n=e.className,r=h_(e,s_);return React.createElement("hr",d_({ref:t,className:re("border-0 border-t border-border-subtle border-solid m-0",n)},r))}));k_.displayName="SearchBox.Separator",y_.Input=v_,y_.Loading=S_,y_.Separator=k_,y_.Content=b_,y_.List=w_,y_.Empty=x_,y_.Group=E_,y_.Item=__;var C_=y_;function N_(e){return N_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},N_(e)}var P_=["children","className"],T_=["children"],O_=["children","as"];function M_(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;re.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n{n.focused&&o.current?.focus()}),[n.focused]),s.createElement("button",{ref:o,...r})}function XS(e){const{options:t,className:n,components:r,classNames:o,...i}=e,a=[o[WS.Dropdown],n].join(" "),l=t?.find((({value:e})=>e===i.value));return s.createElement("span",{"data-disabled":i.disabled,className:o[WS.DropdownRoot]},s.createElement(r.Select,{className:a,...i},t?.map((({value:e,label:t,disabled:n})=>s.createElement(r.Option,{key:e,value:e,disabled:n},t)))),s.createElement("span",{className:o[WS.CaptionLabel],"aria-hidden":!0},l?.label,s.createElement(r.Chevron,{orientation:"down",size:18,className:o[WS.Chevron]})))}function ZS(e){return s.createElement("div",{...e})}function JS(e){return s.createElement("div",{...e})}function QS(e){const{calendarMonth:t,displayIndex:n,...r}=e;return s.createElement("div",{...r},e.children)}function ek(e){const{calendarMonth:t,displayIndex:n,...r}=e;return s.createElement("div",{...r})}function tk(e){return s.createElement("table",{...e})}function nk(e){return s.createElement("div",{...e})}!function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"}(WS||(WS={})),function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"}(VS||(VS={})),function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"}(US||(US={}));const rk=(0,s.createContext)(void 0);function ok(){const e=(0,s.useContext)(rk);if(void 0===e)throw new Error("useDayPicker() must be used within a custom component.");return e}function ik(e){const{components:t}=ok();return s.createElement(t.Dropdown,{...e})}function ak(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:o,...i}=e,{components:a,classNames:l,labels:{labelPrevious:c,labelNext:u}}=ok();return s.createElement("nav",{...i},s.createElement(a.PreviousMonthButton,{type:"button",className:l[WS.PreviousMonthButton],tabIndex:r?void 0:-1,disabled:!r||void 0,"aria-label":c(r),onClick:e.onPreviousClick},s.createElement(a.Chevron,{disabled:!r||void 0,className:l[WS.Chevron],orientation:"left"})),s.createElement(a.NextMonthButton,{type:"button",className:l[WS.NextMonthButton],tabIndex:o?void 0:-1,disabled:!o||void 0,"aria-label":u(o),onClick:e.onNextClick},s.createElement(a.Chevron,{disabled:!o||void 0,orientation:"right",className:l[WS.Chevron]})))}function sk(e){const{components:t}=ok();return s.createElement(t.Button,{...e})}function lk(e){return s.createElement("option",{...e})}function ck(e){const{components:t}=ok();return s.createElement(t.Button,{...e})}function uk(e){return s.createElement("div",{...e})}function dk(e){return s.createElement("select",{...e})}function fk(e){const{week:t,...n}=e;return s.createElement("tr",{...n})}function mk(e){return s.createElement("th",{...e})}function hk(e){return s.createElement("thead",null,s.createElement("tr",{...e}))}function pk(e){const{week:t,...n}=e;return s.createElement("th",{...n})}function gk(e){return s.createElement("th",{...e})}function yk(e){return s.createElement("tbody",{...e})}function vk(e){const{components:t}=ok();return s.createElement(t.Dropdown,{...e})}Math.pow(10,8);const bk=6048e5,wk=Symbol.for("constructDateFrom");function xk(e,t){return"function"==typeof e?e(t):e&&"object"==typeof e&&wk in e?e[wk](t):e instanceof Date?new e.constructor(t):new Date(t)}function Ek(e,t){return xk(t||e,e)}function _k(e,t,n){const r=Ek(e,n?.in);return isNaN(t)?xk(n?.in||e,NaN):t?(r.setDate(r.getDate()+t),r):r}function Sk(e,t,n){const r=Ek(e,n?.in);if(isNaN(t))return xk(n?.in||e,NaN);if(!t)return r;const o=r.getDate(),i=xk(n?.in||e,r.getTime());return i.setMonth(r.getMonth()+t+1,0),o>=i.getDate()?i:(r.setFullYear(i.getFullYear(),i.getMonth(),o),r)}function kk(e,t,n){return _k(e,7*t,n)}function Ck(e){const t=Ek(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Nk(e,...t){const n=xk.bind(null,e||t.find((e=>"object"==typeof e)));return t.map(n)}function Pk(e,t){const n=Ek(e,t?.in);return n.setHours(0,0,0,0),n}function Tk(e,t,n){const[r,o]=Nk(n?.in,e,t),i=Pk(r),a=Pk(o),s=+i-Ck(i),l=+a-Ck(a);return Math.round((s-l)/864e5)}let Ok={};function Mk(){return Ok}function Rk(e,t){const n=Mk(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=Ek(e,t?.in),i=o.getDay(),a=6+(i{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Ik={date:jk({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:jk({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:jk({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},Fk={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function Lk(e){return(t,n)=>{let r;if("formatting"===(n?.context?String(n.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,o=n?.width?String(n.width):t;r=e.formattingValues[o]||e.formattingValues[t]}else{const t=e.defaultWidth,o=n?.width?String(n.width):e.defaultWidth;r=e.values[o]||e.values[t]}return r[e.argumentCallback?e.argumentCallback(t):t]}}const zk={ordinalNumber:(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:Lk({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:Lk({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:Lk({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:Lk({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:Lk({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function Bk(e){return(t,n={})=>{const r=n.width,o=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],i=t.match(o);if(!i)return null;const a=i[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(s)?function(e){for(let t=0;tparseInt(e,10)},(e,t={})=>{const n=e.match(Vk.matchPattern);if(!n)return null;const r=n[0],o=e.match(Vk.parsePattern);if(!o)return null;let i=Vk.valueCallback?Vk.valueCallback(o[0]):o[0];return i=t.valueCallback?t.valueCallback(i):i,{value:i,rest:e.slice(r.length)}}),era:Bk({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:Bk({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:Bk({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:Bk({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:Bk({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};var Vk;const Uk={code:"en-US",formatDistance:(e,t,n)=>{let r;const o=Ak[e];return r="string"==typeof o?o:1===t?o.one:o.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r},formatLong:Ik,formatRelative:(e,t,n,r)=>Fk[e],localize:zk,match:Wk,options:{weekStartsOn:0,firstWeekContainsDate:1}};function $k(e,t){const n=Ek(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Hk(e,t){const n=Mk(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=Ek(e,t?.in),i=o.getDay(),a=(i=i.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function Kk(e,t){const n=Ek(e,t?.in),r=+Yk(n)-+function(e,t){const n=qk(e,t),r=xk(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Yk(r)}(n);return Math.round(r/bk)+1}function Gk(e,t){const n=Ek(e,t?.in),r=n.getFullYear(),o=Mk(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,a=xk(t?.in||e,0);a.setFullYear(r+1,0,i),a.setHours(0,0,0,0);const s=Hk(a,t),l=xk(t?.in||e,0);l.setFullYear(r,0,i),l.setHours(0,0,0,0);const c=Hk(l,t);return+n>=+s?r+1:+n>=+c?r:r-1}function Xk(e,t){const n=Ek(e,t?.in),r=+Hk(n,t)-+function(e,t){const n=Mk(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,o=Gk(e,t),i=xk(t?.in||e,0);return i.setFullYear(o,0,r),i.setHours(0,0,0,0),Hk(i,t)}(n,t);return Math.round(r/bk)+1}function Zk(e,t){return(e<0?"-":"")+Math.abs(e).toString().padStart(t,"0")}const Jk={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return Zk("yy"===t?r%100:r,t.length)},M(e,t){const n=e.getMonth();return"M"===t?String(n+1):Zk(n+1,2)},d:(e,t)=>Zk(e.getDate(),t.length),a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:(e,t)=>Zk(e.getHours()%12||12,t.length),H:(e,t)=>Zk(e.getHours(),t.length),m:(e,t)=>Zk(e.getMinutes(),t.length),s:(e,t)=>Zk(e.getSeconds(),t.length),S(e,t){const n=t.length,r=e.getMilliseconds();return Zk(Math.trunc(r*Math.pow(10,n-3)),t.length)}},Qk={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if("yo"===t){const t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:"year"})}return Jk.y(e,t)},Y:function(e,t,n,r){const o=Gk(e,r),i=o>0?o:1-o;return"YY"===t?Zk(i%100,2):"Yo"===t?n.ordinalNumber(i,{unit:"year"}):Zk(i,t.length)},R:function(e,t){return Zk(qk(e),t.length)},u:function(e,t){return Zk(e.getFullYear(),t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return Zk(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return Zk(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return Jk.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return Zk(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const o=Xk(e,r);return"wo"===t?n.ordinalNumber(o,{unit:"week"}):Zk(o,t.length)},I:function(e,t,n){const r=Kk(e);return"Io"===t?n.ordinalNumber(r,{unit:"week"}):Zk(r,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getDate(),{unit:"date"}):Jk.d(e,t)},D:function(e,t,n){const r=function(e){const t=Ek(e,undefined);return Tk(t,$k(t))+1}(e);return"Do"===t?n.ordinalNumber(r,{unit:"dayOfYear"}):Zk(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const o=e.getDay(),i=(o-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(i);case"ee":return Zk(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(o,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(o,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(o,{width:"short",context:"formatting"});default:return n.day(o,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const o=e.getDay(),i=(o-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(i);case"cc":return Zk(i,t.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(o,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(o,{width:"narrow",context:"standalone"});case"cccccc":return n.day(o,{width:"short",context:"standalone"});default:return n.day(o,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),o=0===r?7:r;switch(t){case"i":return String(o);case"ii":return Zk(o,t.length);case"io":return n.ordinalNumber(o,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let o;switch(o=12===r?"noon":0===r?"midnight":r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(o,{width:"narrow",context:"formatting"});default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let o;switch(o=r>=17?"evening":r>=12?"afternoon":r>=4?"morning":"night",t){case"B":case"BB":case"BBB":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(o,{width:"narrow",context:"formatting"});default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:"hour"})}return Jk.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getHours(),{unit:"hour"}):Jk.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return"Ko"===t?n.ordinalNumber(r,{unit:"hour"}):Zk(r,t.length)},k:function(e,t,n){let r=e.getHours();return 0===r&&(r=24),"ko"===t?n.ordinalNumber(r,{unit:"hour"}):Zk(r,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Jk.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Jk.s(e,t)},S:function(e,t){return Jk.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(0===r)return"Z";switch(t){case"X":return tC(r);case"XXXX":case"XX":return nC(r);default:return nC(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return tC(r);case"xxxx":case"xx":return nC(r);default:return nC(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+eC(r,":");default:return"GMT"+nC(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+eC(r,":");default:return"GMT"+nC(r,":")}},t:function(e,t,n){return Zk(Math.trunc(+e/1e3),t.length)},T:function(e,t,n){return Zk(+e,t.length)}};function eC(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),o=Math.trunc(r/60),i=r%60;return 0===i?n+String(o):n+String(o)+t+Zk(i,2)}function tC(e,t){return e%60==0?(e>0?"-":"+")+Zk(Math.abs(e)/60,2):nC(e,t)}function nC(e,t=""){const n=e>0?"-":"+",r=Math.abs(e);return n+Zk(Math.trunc(r/60),2)+t+Zk(r%60,2)}const rC=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},oC=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},iC={p:oC,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],o=n[2];if(!o)return rC(e,t);let i;switch(r){case"P":i=t.dateTime({width:"short"});break;case"PP":i=t.dateTime({width:"medium"});break;case"PPP":i=t.dateTime({width:"long"});break;default:i=t.dateTime({width:"full"})}return i.replace("{{date}}",rC(r,t)).replace("{{time}}",oC(o,t))}},aC=/^D+$/,sC=/^Y+$/,lC=["D","DD","YY","YYYY"];function cC(e){return e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e)}const uC=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,dC=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,fC=/^'([^]*?)'?$/,mC=/''/g,hC=/[a-zA-Z]/;function pC(e,t,n){const r=Mk(),o=n?.locale??r.locale??Uk,i=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=Ek(e,n?.in);if(!function(e){return!(!cC(e)&&"number"!=typeof e||isNaN(+Ek(e)))}(s))throw new RangeError("Invalid time value");let l=t.match(dC).map((e=>{const t=e[0];return"p"===t||"P"===t?(0,iC[t])(e,o.formatLong):e})).join("").match(uC).map((e=>{if("''"===e)return{isToken:!1,value:"'"};const t=e[0];if("'"===t)return{isToken:!1,value:gC(e)};if(Qk[t])return{isToken:!0,value:e};if(t.match(hC))throw new RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}}));o.localize.preprocessor&&(l=o.localize.preprocessor(s,l));const c={firstWeekContainsDate:i,weekStartsOn:a,locale:o};return l.map((r=>{if(!r.isToken)return r.value;const i=r.value;return(!n?.useAdditionalWeekYearTokens&&function(e){return sC.test(e)}(i)||!n?.useAdditionalDayOfYearTokens&&function(e){return aC.test(e)}(i))&&function(e,t,n){const r=function(e,t,n){const r="Y"===e[0]?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(r),lC.includes(e))throw new RangeError(r)}(i,t,String(e)),(0,Qk[i[0]])(s,i,o.localize,c)})).join("")}function gC(e){const t=e.match(fC);return t?t[1].replace(mC,"'"):e}function yC(e,t){const n=Ek(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}const vC={addDays:_k,addMonths:Sk,addWeeks:kk,addYears:function(e,t,n){return Sk(e,12*t,n)},differenceInCalendarDays:Tk,differenceInCalendarMonths:function(e,t,n){const[r,o]=Nk(n?.in,e,t);return 12*(r.getFullYear()-o.getFullYear())+(r.getMonth()-o.getMonth())},endOfISOWeek:function(e,t){return Rk(e,{...t,weekStartsOn:1})},endOfMonth:Dk,endOfWeek:Rk,endOfYear:function(e,t){const n=Ek(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n},format:pC,getISOWeek:Kk,getWeek:Xk,isAfter:function(e,t){return+Ek(e)>+Ek(t)},isBefore:function(e,t){return+Ek(e)<+Ek(t)},isDate:cC,isSameDay:function(e,t,n){const[r,o]=Nk(n?.in,e,t);return+Pk(r)==+Pk(o)},isSameMonth:function(e,t,n){const[r,o]=Nk(n?.in,e,t);return r.getFullYear()===o.getFullYear()&&r.getMonth()===o.getMonth()},isSameYear:function(e,t,n){const[r,o]=Nk(n?.in,e,t);return r.getFullYear()===o.getFullYear()},max:function(e,t){let n,r=t?.in;return e.forEach((e=>{r||"object"!=typeof e||(r=xk.bind(null,e));const t=Ek(e,r);(!n||n{r||"object"!=typeof e||(r=xk.bind(null,e));const t=Ek(e,r);(!n||n>t||isNaN(+t))&&(n=t)})),xk(r,n||NaN)},setMonth:function(e,t,n){const r=Ek(e,n?.in),o=r.getFullYear(),i=r.getDate(),a=xk(n?.in||e,0);a.setFullYear(o,t,15),a.setHours(0,0,0,0);const s=function(e){const t=Ek(e,undefined),n=t.getFullYear(),r=t.getMonth(),o=xk(t,0);return o.setFullYear(n,r+1,0),o.setHours(0,0,0,0),o.getDate()}(a);return r.setMonth(t,Math.min(i,s)),r},setYear:function(e,t,n){const r=Ek(e,n?.in);return isNaN(+r)?xk(n?.in||e,NaN):(r.setFullYear(t),r)},startOfDay:Pk,startOfISOWeek:Yk,startOfMonth:yC,startOfWeek:Hk,startOfYear:$k};function bC(){const e={};for(const t in WS)e[WS[t]]=`rdp-${WS[t]}`;for(const t in VS)e[VS[t]]=`rdp-${VS[t]}`;for(const t in US)e[US[t]]=`rdp-${US[t]}`;return e}Symbol.for("constructDateFrom");const wC={},xC={};function EC(e,t){try{const n=(wC[e]||=new Intl.DateTimeFormat("en-GB",{timeZone:e,hour:"numeric",timeZoneName:"longOffset"}).format)(t).split("GMT")[1]||"";return n in xC?xC[n]:SC(n,n.split(":"))}catch{if(e in xC)return xC[e];const t=e?.match(_C);return t?SC(e,t.slice(1)):NaN}}const _C=/([+-]\d\d):?(\d\d)?/;function SC(e,t){const n=+t[0],r=+(t[1]||0);return xC[e]=n>0?60*n+r:60*n-r}class kC extends Date{constructor(...e){super(),e.length>1&&"string"==typeof e[e.length-1]&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(EC(this.timeZone,this))?this.setTime(NaN):e.length?"number"==typeof e[0]&&(1===e.length||2===e.length&&"number"!=typeof e[1])?this.setTime(e[0]):"string"==typeof e[0]?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),PC(this)):this.setTime(Date.now()),NC(this)}static tz(e,...t){return t.length?new kC(...t,e):new kC(Date.now(),e)}withTimeZone(e){return new kC(+this,e)}getTimezoneOffset(){return-EC(this.timeZone,this)}[Symbol.for("constructDateFrom")](e){return new kC(+new Date(e),this.timeZone)}}const CC=/^(get|set)(?!UTC)/;function NC(e){e.internal.setTime(+e),e.internal.setUTCMinutes(e.internal.getUTCMinutes()-e.getTimezoneOffset())}function PC(e){const t=EC(e.timeZone,e),n=new Date(+e);n.setUTCHours(n.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),o=r- -new Date(+n).getTimezoneOffset(),i=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();o&&i&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+o);const a=r-t;a&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+a);const s=EC(e.timeZone,e),l=-new Date(+e).getTimezoneOffset()-s-a;if(s!==t&&l){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+l);const t=s-EC(e.timeZone,e);t&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+t),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+t))}}Object.getOwnPropertyNames(Date.prototype).forEach((e=>{if(!CC.test(e))return;const t=e.replace(CC,"$1UTC");kC.prototype[t]&&(e.startsWith("get")?kC.prototype[e]=function(){return this.internal[t]()}:(kC.prototype[e]=function(){var e;return Date.prototype[t].apply(this.internal,arguments),e=this,Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),PC(e),+this},kC.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),NC(this),+this}))}));class TC extends kC{static tz(e,...t){return t.length?new TC(...t,e):new TC(Date.now(),e)}toISOString(){const[e,t,n]=this.tzComponents(),r=`${e}${t}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[e,t,n,r]=this.internal.toUTCString().split(" ");return`${e?.slice(0,-1)} ${n} ${t} ${r}`}toTimeString(){const e=this.internal.toUTCString().split(" ")[4],[t,n,r]=this.tzComponents();return`${e} GMT${t}${n}${r} (${o=this.timeZone,new Intl.DateTimeFormat("en-GB",{timeZone:o,timeZoneName:"long"}).format(this).slice(12)})`;var o}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){const e=this.getTimezoneOffset();return[e>0?"-":"+",String(Math.floor(Math.abs(e)/60)).padStart(2,"0"),String(Math.abs(e)%60).padStart(2,"0")]}withTimeZone(e){return new TC(+this,e)}[Symbol.for("constructDateFrom")](e){return new TC(+new Date(e),this.timeZone)}}function OC(e,t,n=vC){return n.format(e,"LLLL y",t)}const MC=OC;function RC(e,t,n=vC){return n.format(e,"d",t)}function DC(e,t=Uk){return t.localize?.month(e)}function AC(e){return e<10?`0${e.toLocaleString()}`:`${e.toLocaleString()}`}function jC(){return""}function IC(e,t,n=vC){return n.format(e,"cccccc",t)}function FC(e){return e.toString()}const LC=FC;function zC(e,t,n=vC){return n.format(e,"LLLL y",t)}const BC=zC;function WC(e,t,n,r=vC){let o=r.format(e,"PPPP",n);return t?.today&&(o=`Today, ${o}`),o}function VC(e,t,n,r=vC){let o=r.format(e,"PPPP",n);return t.today&&(o=`Today, ${o}`),t.selected&&(o=`${o}, selected`),o}const UC=VC;function $C(){return""}function HC(e){return"Choose the Month"}function YC(e){return"Go to the Next Month"}function qC(e){return"Go to the Previous Month"}function KC(e,t,n=vC){return n.format(e,"cccc",t)}function GC(e,t){return`Week ${e}`}function XC(e){return"Week Number"}function ZC(e){return"Choose the Year"}function JC(e,t){const{month:n,defaultMonth:r,today:o=(e.timeZone?TC.tz(e.timeZone):t.Date?new t.Date:new Date),numberOfMonths:i=1,endMonth:a,startMonth:s}=e;let l=n||r||o;const{differenceInCalendarMonths:c,addMonths:u,startOfMonth:d}=t;return a&&c(a,l)<0&&(l=u(a,-1*(i-1))),s&&c(l,s)<0&&(l=s),d(l)}class QC{constructor(e,t,n=vC){this.date=e,this.displayMonth=t,this.outside=Boolean(t&&!n.isSameMonth(e,t)),this.dateLib=n}isEqualTo(e){return this.dateLib.isSameDay(e.date,this.date)&&this.dateLib.isSameMonth(e.displayMonth,this.displayMonth)}}class eN{constructor(e,t){this.date=e,this.weeks=t}}class tN{constructor(e,t){this.days=t,this.weekNumber=e}}function nN(e,t){const[n,r]=(0,s.useState)(e);return[void 0===t?n:t,r]}function rN(e,t,n=!1,r=vC){let{from:o,to:i}=e;const{differenceInCalendarDays:a,isSameDay:s}=r;return o&&i?(a(i,o)<0&&([o,i]=[i,o]),a(t,o)>=(n?1:0)&&a(i,t)>=(n?1:0)):!n&&i?s(i,t):!(n||!o)&&s(o,t)}function oN(e){return Boolean(e&&"object"==typeof e&&"from"in e)}function iN(e,t,n=vC){const r=Array.isArray(t)?t:[t],{isSameDay:o,differenceInCalendarDays:i,isAfter:a}=n;return r.some((t=>{if("boolean"==typeof t)return t;if(n.isDate(t))return o(e,t);if(function(e,t){return Array.isArray(e)&&e.every(t.isDate)}(t,n))return t.includes(e);if(oN(t))return rN(t,e,!1,n);if(r=t,Boolean(r&&"object"==typeof r&&"dayOfWeek"in r))return Array.isArray(t.dayOfWeek)?t.dayOfWeek.includes(e.getDay()):t.dayOfWeek===e.getDay();var r;if(function(e){return Boolean(e&&"object"==typeof e&&"before"in e&&"after"in e)}(t)){const n=i(t.before,e)>0,r=i(t.after,e)<0;return a(t.before,t.after)?r&&n:n||r}return function(e){return Boolean(e&&"object"==typeof e&&"after"in e)}(t)?i(e,t.after)>0:function(e){return Boolean(e&&"object"==typeof e&&"before"in e)}(t)?i(t.before,e)>0:"function"==typeof t&&t(e)}))}function aN(e,t,n,r,o,i,a,s=0){if(s>365)return;const l=function(e,t,n,r,o,i,a){const{weekStartsOn:s,locale:l,ISOWeek:c}=i,{addDays:u,addMonths:d,addYears:f,addWeeks:m,startOfISOWeek:h,endOfISOWeek:p,startOfWeek:g,endOfWeek:y,max:v,min:b}=a;let w={day:u,week:m,month:d,year:f,startOfWeek:e=>c?h(e):g(e,{locale:l,weekStartsOn:s}),endOfWeek:e=>c?p(e):y(e,{locale:l,weekStartsOn:s})}[e](n,"after"===t?1:-1);return"before"===t&&r?w=v([r,w]):"after"===t&&o&&(w=b([o,w])),w}(e,t,n.date,r,o,i,a),c=Boolean(i.disabled&&iN(l,i.disabled,a)),u=Boolean(i.hidden&&iN(l,i.hidden,a)),d=new QC(l,l,a);return c||u?aN(e,t,d,r,o,i,a,s+1):d}function sN(e,t,n,r,o){const{autoFocus:i}=e,[a,l]=(0,s.useState)(),c=function(e,t,n,r){let o,i=0,a=!1;for(;i{const n=t(e);return!n[VS.disabled]&&!n[VS.hidden]&&!n[VS.outside]}))),o}(t.days,n,r||(()=>!1),a),[u,d]=(0,s.useState)(i?c:void 0);return{isFocusTarget:e=>Boolean(c?.isEqualTo(e)),setFocused:d,focused:u,blur:()=>{l(u),d(void 0)},moveFocus:(n,r)=>{if(!u)return;const i=aN(n,r,u,t.navStart,t.navEnd,e,o);i&&(t.goToDay(i),d(i))}}}function lN(e){const{components:t,formatters:n,labels:r,dateLib:l,locale:c,classNames:u}=(0,s.useMemo)((()=>{return{dateLib:(r=e.dateLib,{...vC,...r}),components:(n=e.components,{...o,...n}),formatters:(t=e.formatters,t?.formatMonthCaption&&!t.formatCaption&&(t.formatCaption=t.formatMonthCaption),t?.formatYearCaption&&!t.formatYearDropdown&&(t.formatYearDropdown=t.formatYearCaption),{...i,...t}),labels:{...a,...e.labels},locale:{...Uk,...e.locale},classNames:{...bC(),...e.classNames}};var t,n,r}),[e.classNames,e.components,e.dateLib,e.formatters,e.labels,e.locale]),{captionLayout:d,firstWeekContainsDate:f,mode:m,onDayBlur:h,onDayClick:p,onDayFocus:g,onDayKeyDown:y,onDayMouseEnter:v,onDayMouseLeave:b,onNextClick:w,onPrevClick:x,showWeekNumber:E,styles:_,useAdditionalDayOfYearTokens:S,useAdditionalWeekYearTokens:k,weekStartsOn:C}=e,N={locale:c,weekStartsOn:C,firstWeekContainsDate:f,useAdditionalWeekYearTokens:k,useAdditionalDayOfYearTokens:S},P=N,{formatCaption:T,formatDay:O,formatMonthDropdown:M,formatWeekNumber:R,formatWeekNumberHeader:D,formatWeekdayName:A,formatYearDropdown:j}=n,I=function(e,t){const[n,r]=function(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:o,startOfDay:i,startOfMonth:a,endOfMonth:s,addYears:l,endOfYear:c}=t,{fromYear:u,toYear:d,fromMonth:f,toMonth:m}=e;!n&&f&&(n=f),!n&&u&&(n=new Date(u,0,1)),!r&&m&&(r=m),!r&&d&&(r=new Date(d,11,31));const h=e.captionLayout?.startsWith("dropdown");return n?n=a(n):u?n=new Date(u,0,1):!n&&h&&(n=o(l(e.today??(e.timeZone?TC.tz(e.timeZone):t.Date?new t.Date:new Date),-100))),r?r=s(r):d?r=new Date(d,11,31):!r&&h&&(r=c(e.today??(e.timeZone?TC.tz(e.timeZone):t.Date?new t.Date:new Date))),[n?i(n):n,r?i(r):r]}(e,t),{startOfMonth:o,endOfMonth:i}=t,a=JC(e,t),[l,c]=nN(a,e.month?o(e.month):void 0);(0,s.useEffect)((()=>{const n=JC(e,t);c(n)}),[e.timeZone]);const u=function(e,t,n,r){const{numberOfMonths:o=1}=n,i=[];for(let n=0;nt)break;i.push(o)}return i}(l,r,e,t),d=function(e,t,n,r){const o=e[0],i=e[e.length-1],{ISOWeek:a,fixedWeeks:s,locale:l,weekStartsOn:c}=n??{},{startOfWeek:u,endOfWeek:d,startOfISOWeek:f,endOfISOWeek:m,addDays:h,differenceInCalendarDays:p,differenceInCalendarMonths:g,isAfter:y,endOfMonth:v}=r,b=a?f(o):u(o,{weekStartsOn:c,locale:l}),w=p(a?m(v(i)):d(v(i),{weekStartsOn:c,locale:l}),b),x=g(i,o)+1,E=[];for(let e=0;e<=w;e++){const n=h(b,e);if(t&&y(n,t))break;E.push(n)}const _=42*x;if(s&&E.length<_)for(let e=0;e<7;e++){const e=h(E[E.length-1],1);E.push(e)}return E}(u,e.endMonth?i(e.endMonth):void 0,e,t),f=function(e,t,n,r){const{startOfWeek:o,endOfWeek:i,startOfISOWeek:a,endOfISOWeek:s,endOfMonth:l,addDays:c,getWeek:u,getISOWeek:d}=r,f=e.reduce(((e,f)=>{const m=n.ISOWeek?a(f):o(f,{locale:n.locale,weekStartsOn:n.weekStartsOn}),h=n.ISOWeek?s(l(f)):i(l(f),{locale:n.locale,weekStartsOn:n.weekStartsOn}),p=t.filter((e=>e>=m&&e<=h));if(n.fixedWeeks&&p.length<42){const e=t.filter((e=>e>h&&e<=c(h,7)));p.push(...e)}const g=p.reduce(((e,t)=>{const o=n.ISOWeek?d(t):u(t,{locale:n.locale,weekStartsOn:n.weekStartsOn,firstWeekContainsDate:n.firstWeekContainsDate}),i=e.find((e=>e.weekNumber===o)),a=new QC(t,f,r);return i?i.days.push(a):e.push(new tN(o,[a])),e}),[]),y=new eN(f,g);return e.push(y),e}),[]);return n.reverseMonths?f.reverse():f}(u,d,e,t),m=function(e){return e.reduce(((e,t)=>[...e,...t.weeks]),[])}(f),h=f.reduce(((e,t)=>[...e,...t.weeks.reduce(((e,t)=>[...e,...t.days]),[])]),[]),p=function(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:o,numberOfMonths:i}=n,{startOfMonth:a,addMonths:s,differenceInCalendarMonths:l}=r,c=o?i??1:1,u=a(e);return t&&l(u,t)<=0?void 0:s(u,-c)}(l,n,e,t),g=function(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:o,numberOfMonths:i=1}=n,{startOfMonth:a,addMonths:s,differenceInCalendarMonths:l}=r,c=o?i:1,u=a(e);return t&&l(t,e){if(y)return;let t=o(e);n&&to(r)&&(t=o(r)),c(t),v?.(t)};return{months:f,weeks:m,days:h,navStart:n,navEnd:r,previousMonth:p,nextMonth:g,goToMonth:b,goToDay:e=>{(e=>m.some((t=>t.days.some((t=>t.isEqualTo(e))))))(e)||b(e.date)}}}(e,l),{days:F,months:L,navStart:z,navEnd:B,previousMonth:W,nextMonth:V,goToMonth:U}=I,$=function(e,t,n){const{disabled:r,hidden:o,modifiers:i,showOutsideDays:a,today:s}=t,{isSameDay:l,isSameMonth:c}=n,u={[VS.focused]:[],[VS.outside]:[],[VS.disabled]:[],[VS.hidden]:[],[VS.today]:[]},d={},f={[US.range_end]:[],[US.range_middle]:[],[US.range_start]:[],[US.selected]:[]};for(const f of e){const{date:e,displayMonth:m}=f,h=Boolean(m&&!c(e,m)),p=Boolean(r&&iN(e,r,n)),g=Boolean(o&&iN(e,o,n))||!a&&h,y=l(e,s??(t.timeZone?TC.tz(t.timeZone):n.Date?new n.Date:new Date));h&&u.outside.push(f),p&&u.disabled.push(f),g&&u.hidden.push(f),y&&u.today.push(f),i&&Object.keys(i).forEach((t=>{const r=i?.[t];r&&iN(e,r,n)&&(d[t]?d[t].push(f):d[t]=[f])}))}return e=>{const t={[VS.focused]:!1,[VS.disabled]:!1,[VS.hidden]:!1,[VS.outside]:!1,[VS.today]:!1},n={[US.range_end]:!1,[US.range_middle]:!1,[US.range_start]:!1,[US.selected]:!1},r={};for(const n in u){const r=u[n];t[n]=r.some((t=>t===e))}for(const t in f){const r=f[t];n[t]=r.some((t=>t===e))}for(const t in d)r[t]=d[t].some((t=>t===e));return{...n,...t,...r}}}(F,e,l),{isSelected:H,select:Y,selected:q}=function(e,t){const n=function(e,t){const{selected:n,required:r,onSelect:o}=e,[i,a]=nN(n,o?n:void 0),s=o?n:i,{isSameDay:l}=t;return{selected:s,select:(e,t,n)=>{let i=e;return!r&&s&&s&&l(e,s)&&(i=void 0),o||a(i),o?.(i,e,t,n),i},isSelected:e=>!!s&&l(s,e)}}(e,t),r=function(e,t){const{selected:n,required:r,onSelect:o}=e,[i,a]=nN(n,o?n:void 0),s=o?n:i,{isSameDay:l}=t,c=e=>s?.some((t=>l(t,e)))??!1,{min:u,max:d}=e;return{selected:s,select:(e,t,n)=>{let i=[...s??[]];if(c(e)){if(s?.length===u)return;if(r&&1===s?.length)return;i=s?.filter((t=>!l(t,e)))}else i=s?.length===d?[e]:[...i,e];return o||a(i),o?.(i,e,t,n),i},isSelected:c}}(e,t),o=function(e,t){const{disabled:n,excludeDisabled:r,selected:o,required:i,onSelect:a}=e,[s,l]=nN(o,a?o:void 0),c=a?o:s;return{selected:c,select:(o,s,u)=>{const{min:d,max:f}=e,m=o?function(e,t,n=0,r=0,o=!1,i=vC){const{from:a,to:s}=t||{},{isSameDay:l,isAfter:c,isBefore:u}=i;let d;if(a||s){if(a&&!s)d=l(a,e)?o?{from:a,to:void 0}:void 0:u(e,a)?{from:e,to:a}:{from:a,to:e};else if(a&&s)if(l(a,e)&&l(s,e))d=o?{from:a,to:s}:void 0;else if(l(a,e))d={from:a,to:n>0?void 0:e};else if(l(s,e))d={from:e,to:n>0?void 0:e};else if(u(e,a))d={from:e,to:s};else if(c(e,a))d={from:a,to:e};else{if(!c(e,s))throw new Error("Invalid range");d={from:a,to:e}}}else d={from:e,to:n>0?void 0:e};if(d?.from&&d?.to){const t=i.differenceInCalendarDays(d.to,d.from);(r>0&&t>r||n>1&&t0;)if(e=t.addDays(e,1),r&&n&&iN(e,n,t)){m.from=o,m.to=void 0;break}}return a||l(m),a?.(m,o,s,u),m},isSelected:e=>c&&rN(c,e,!1,t)}}(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return o;default:return}}(e,l)??{},{blur:K,focused:G,isFocusTarget:X,moveFocus:Z,setFocused:J}=sN(e,I,$,H??(()=>!1),l),{labelDayButton:Q,labelGridcell:ee,labelGrid:te,labelMonthDropdown:ne,labelNav:re,labelWeekday:oe,labelWeekNumber:ie,labelWeekNumberHeader:ae,labelYearDropdown:se}=r,le=(0,s.useMemo)((()=>function(e,t,n,r,o=vC){const i=r?TC.tz(r):o.Date?new o.Date:new Date,a=n?o.startOfISOWeek(i):o.startOfWeek(i,{locale:e,weekStartsOn:t}),s=[];for(let e=0;e<7;e++){const t=o.addDays(a,e);s.push(t)}return s}(c,e.weekStartsOn,e.ISOWeek,e.timeZone,l)),[l,c,e.ISOWeek,e.timeZone,e.weekStartsOn]),ce=void 0!==m||void 0!==p,ue=(0,s.useCallback)((()=>{W&&(U(W),x?.(W))}),[W,U,x]),de=(0,s.useCallback)((()=>{V&&(U(V),w?.(V))}),[U,V,w]),fe=(0,s.useCallback)(((e,t)=>n=>{n.preventDefault(),n.stopPropagation(),J(e),Y?.(e.date,t,n),p?.(e.date,t,n)}),[Y,p,J]),me=(0,s.useCallback)(((e,t)=>n=>{J(e),g?.(e.date,t,n)}),[g,J]),he=(0,s.useCallback)(((e,t)=>n=>{K(),h?.(e.date,t,n)}),[K,h]),pe=(0,s.useCallback)(((t,n)=>r=>{const o={ArrowLeft:["day","rtl"===e.dir?"after":"before"],ArrowRight:["day","rtl"===e.dir?"before":"after"],ArrowDown:["week","after"],ArrowUp:["week","before"],PageUp:[r.shiftKey?"year":"month","before"],PageDown:[r.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(o[r.key]){r.preventDefault(),r.stopPropagation();const[e,t]=o[r.key];Z(e,t)}y?.(t.date,n,r)}),[Z,y,e.dir]),ge=(0,s.useCallback)(((e,t)=>n=>{v?.(e.date,t,n)}),[v]),ye=(0,s.useCallback)(((e,t)=>n=>{b?.(e.date,t,n)}),[b]),{className:ve,style:be}=(0,s.useMemo)((()=>({className:[u[WS.Root],e.className].filter(Boolean).join(" "),style:{..._?.[WS.Root],...e.style}})),[u,e.className,e.style,_]),we=function(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0};return Object.entries(e).forEach((([e,n])=>{e.startsWith("data-")&&(t[e]=n)})),t}(e),xe={selected:q,select:Y,isSelected:H,months:L,nextMonth:V,previousMonth:W,goToMonth:U,getModifiers:$,components:t,classNames:u,styles:_,labels:r,formatters:n};return s.createElement(rk.Provider,{value:xe},s.createElement(t.Root,{className:ve,style:be,dir:e.dir,id:e.id,lang:e.lang,nonce:e.nonce,title:e.title,...we},s.createElement(t.Months,{className:u[WS.Months],style:_?.[WS.Months]},!e.hideNavigation&&s.createElement(t.Nav,{className:u[WS.Nav],style:_?.[WS.Nav],"aria-label":re(),onPreviousClick:ue,onNextClick:de,previousMonth:W,nextMonth:V}),L.map(((r,o)=>{const i=function(e,t,n,r,o,i){if(!t)return;if(!n)return;const{addMonths:a,startOfMonth:s,isBefore:l}=i,c=e.getFullYear(),u=[];let d=t;for(;u.length<12&&l(d,a(n,1));)u.push(d.getMonth()),d=a(d,1);const f=u.sort(((e,t)=>e-t)).map((e=>{const a=r.formatMonthDropdown(e,o),l=i.Date?new i.Date(c,e):new Date(c,e);return{value:e,label:a,disabled:t&&ls(n)||!1}}));return f}(r.date,z,B,n,c,l),a=function(e,t,n,r,o){if(!t)return;if(!n)return;const{startOfMonth:i,startOfYear:a,endOfYear:s,addYears:l,isBefore:c,isSameYear:u}=o,d=e.getMonth(),f=a(t),m=s(n),h=[];let p=f;for(;c(p,m)||u(p,m);)h.push(p.getFullYear()),p=l(p,1);return h.map((e=>{const a=o.Date?new o.Date(e,d):new Date(e,d),s=t&&ai(n)||!1;return{value:e,label:r.formatYearDropdown(e),disabled:s}}))}(L[0].date,z,B,n,l);return s.createElement(t.Month,{className:u[WS.Month],style:_?.[WS.Month],key:o,displayIndex:o,calendarMonth:r},s.createElement(t.MonthCaption,{className:u[WS.MonthCaption],style:_?.[WS.MonthCaption],calendarMonth:r,displayIndex:o},d?.startsWith("dropdown")?s.createElement(t.DropdownNav,{className:u[WS.Dropdowns],style:_?.[WS.Dropdowns]},"dropdown"===d||"dropdown-months"===d?s.createElement(t.MonthsDropdown,{className:u[WS.MonthsDropdown],"aria-label":ne(),classNames:u,components:t,disabled:Boolean(e.disableNavigation),onChange:e=>{const t=Number(e.target.value),n=l.setMonth(l.startOfMonth(r.date),t);U(n)},options:i,style:_?.[WS.Dropdown],value:r.date.getMonth()}):s.createElement("span",{role:"status","aria-live":"polite"},M(r.date.getMonth())),"dropdown"===d||"dropdown-years"===d?s.createElement(t.YearsDropdown,{className:u[WS.YearsDropdown],"aria-label":se(P),classNames:u,components:t,disabled:Boolean(e.disableNavigation),onChange:e=>{const t=l.setYear(l.startOfMonth(r.date),Number(e.target.value));U(t)},options:a,style:_?.[WS.Dropdown],value:r.date.getFullYear()}):s.createElement("span",{role:"status","aria-live":"polite"},j(r.date.getFullYear()))):s.createElement(t.CaptionLabel,{className:u[WS.CaptionLabel],role:"status","aria-live":"polite"},T(r.date,N,l))),s.createElement(t.MonthGrid,{role:"grid","aria-multiselectable":"multiple"===m||"range"===m,"aria-label":te(r.date,P,l)||void 0,className:u[WS.MonthGrid],style:_?.[WS.MonthGrid]},!e.hideWeekdays&&s.createElement(t.Weekdays,{className:u[WS.Weekdays],style:_?.[WS.Weekdays]},E&&s.createElement(t.WeekNumberHeader,{"aria-label":ae(P),className:u[WS.WeekNumberHeader],style:_?.[WS.WeekNumberHeader],scope:"col"},D()),le.map(((e,n)=>s.createElement(t.Weekday,{"aria-label":oe(e,P,l),className:u[WS.Weekday],key:n,style:_?.[WS.Weekday],scope:"col"},A(e,N,l))))),s.createElement(t.Weeks,{className:u[WS.Weeks],style:_?.[WS.Weeks]},r.weeks.map(((n,r)=>s.createElement(t.Week,{className:u[WS.Week],key:n.weekNumber,style:_?.[WS.Week],week:n},E&&s.createElement(t.WeekNumber,{week:n,style:_?.[WS.WeekNumber],"aria-label":ie(n.weekNumber,{locale:c}),className:u[WS.WeekNumber],scope:"row"},R(n.weekNumber)),n.days.map((n=>{const{date:r}=n,o=$(n);if(o[VS.focused]=!o.hidden&&Boolean(G?.isEqualTo(n)),o[US.selected]=!o.disabled&&(H?.(r)||o.selected),oN(q)){const{from:e,to:t}=q;o[US.range_start]=Boolean(e&&t&&l.isSameDay(r,e)),o[US.range_end]=Boolean(e&&t&&l.isSameDay(r,t)),o[US.range_middle]=rN(q,r,!0,l)}const i=function(e,t={},n={}){let r={...t?.[WS.Day]};return Object.entries(e).filter((([,e])=>!0===e)).forEach((([e])=>{r={...r,...n?.[e]}})),r}(o,_,e.modifiersStyles),a=function(e,t,n={}){return Object.entries(e).filter((([,e])=>!0===e)).reduce(((e,[r])=>(n[r]?e.push(n[r]):t[VS[r]]?e.push(t[VS[r]]):t[US[r]]&&e.push(t[US[r]]),e)),[t[WS.Day]])}(o,u,e.modifiersClassNames),c=ce?void 0:ee(r,o,P,l);return s.createElement(t.Day,{key:`${l.format(r,"yyyy-MM-dd")}_${l.format(n.displayMonth,"yyyy-MM")}`,day:n,modifiers:o,className:a.join(" "),style:i,"aria-hidden":o.hidden||void 0,"aria-selected":o.selected||void 0,"aria-label":c,"data-day":l.format(r,"yyyy-MM-dd"),"data-month":n.outside?l.format(r,"yyyy-MM"):void 0,"data-selected":o.selected||void 0,"data-disabled":o.disabled||void 0,"data-hidden":o.hidden||void 0,"data-outside":n.outside||void 0,"data-focused":o.focused||void 0,"data-today":o.today||void 0},ce?s.createElement(t.DayButton,{className:u[WS.DayButton],style:_?.[WS.DayButton],type:"button",day:n,modifiers:o,disabled:o.disabled||void 0,tabIndex:X(n)?0:-1,"aria-label":Q(r,o,P,l),onClick:fe(n,o),onBlur:he(n,o),onFocus:me(n,o),onKeyDown:pe(n,o),onMouseEnter:ge(n,o),onMouseLeave:ye(n,o)},O(r,N,l)):O(n.date,N,l))}))))))))}))),e.footer&&s.createElement(t.Footer,{className:u[WS.Footer],style:_?.[WS.Footer],role:"status","aria-live":"polite"},e.footer)))}function cN(e,t,n){return Sk(e,-t,n)}var uN=function(){return React.createElement("span",{className:"bg-icon-interactive h-1 w-1 absolute rounded-full inline-block bottom-0 left-1/2 right-1/2"})},dN=function(e){return pC(e,"E").slice(0,1)};function fN(e){return fN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fN(e)}var mN=["width","className","classNames","selectedDates","setSelectedDates","showOutsideDays","mode","variant","alignment","onBlur","onChange"];function hN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pN(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n1||(b?(_(!0),w(!1)):E?_(!1):w(!b))}},c),l().createElement(ue,{variant:"ghost",onClick:function(){if(E)T(P+24);else if(b){var t=new Date(k+1,e.calendarMonth.date.getMonth());C(t.getFullYear()),n(t)}else n(r)},className:"bg-background-primary border-none cursor-pointer"},l().createElement(iE,{className:"h-4 w-4"}))),E&&l().createElement("div",{className:"grid grid-cols-4 w-full"},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:24;return Array.from({length:t},(function(t,n){return e+n}))}(P).map((function(t){return l().createElement(ue,{key:t,variant:"ghost",onClick:function(){return function(t){C(t),_(!1),w(!0),n(new Date(t,e.calendarMonth.date.getMonth()))}(t)},className:re("h-10 w-full text-center font-normal relative",t===k&&t!==(new Date).getFullYear()&&"bg-background-brand text-text-on-color hover:bg-background-brand hover:text-black")},t,t===(new Date).getFullYear()&&uN())}))),b&&!E&&l().createElement("div",{className:"grid grid-cols-4 gap-2 my-12"},Array.from({length:12},(function(t,r){return l().createElement(ue,{key:r,variant:"ghost",onClick:function(){w(!1),n(new Date(k,r))},className:re("px-1.5 py-2 h-10 w-[4.375rem] text-center font-normal relative",r===e.calendarMonth.date.getMonth()&&r!==(new Date).getMonth()&&k===e.calendarMonth.date.getFullYear()&&e.calendarMonth.date.getFullYear()!==(new Date).getFullYear()&&"bg-background-brand text-text-on-color hover:bg-background-brand hover:text-black")},pC(new Date(0,r),"MMM"),(new Date).getMonth()===r&&(new Date).getFullYear()===k&&uN())}))),!b&&!E&&l().createElement(O,{weekdays:u}))},Day:function(e){return l().createElement(R,yN({},e,{onSelect:A}))},Weekdays:function(){return null},Months:function(e){return l().createElement(l().Fragment,null,l().createElement("div",{className:j},e.children.map((function(e,t){return e?l().createElement(l().Fragment,{key:t},e.map((function(e,t){return l().createElement(l().Fragment,{key:t},t>0&&l().createElement("div",{className:"border border-solid border-border-subtle border-l-0"}),e)}))):null}))))},MonthGrid:function(e){return!b&&!E&&l().createElement(D,{monthGridProps:e,onSelect:A})}}},g)))};function EN(e){return Pk(Date.now(),e)}function _N(e){return xk(e,Date.now())}function SN(e){const t=_N(e?.in),n=t.getFullYear(),r=t.getMonth(),o=t.getDate(),i=_N(e?.in);return i.setFullYear(n,r,o-1),i.setHours(0,0,0,0),i}function kN(e,t,n){return kk(e,-t,n)}var CN=["selectionType","variant","presets","onCancel","onApply","applyButtonText","cancelButtonText","showOutsideDays"];function NN(){return NN=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0?a:x,_=function(){w("multiple"===n?[]:{from:null,to:null}),c&&c()},S=function(){u&&u(b)};return"normal"===o?l().createElement(xN,NN({},y,{mode:n,variant:o,width:"w-[18.5rem]",selectedDates:b,showOutsideDays:g,setSelectedDates:w})):"dualdate"===o?l().createElement(xN,{mode:n,numberOfMonths:2,alignment:"horizontal",selectedDates:b,setSelectedDates:w,showOutsideDays:g,variant:o,width:"w-auto",footer:l().createElement("div",{className:"flex justify-end p-2 gap-3 border border-solid border-border-subtle border-t-0 rounded-md rounded-tl-none rounded-tr-none"},l().createElement(ue,{variant:"outline",onClick:_},h),l().createElement(ue,{onClick:S},f))}):"presets"===o?l().createElement("div",{className:"flex flex-row shadow-datepicker-wrapper"},l().createElement("div",{className:"flex flex-col gap-1 p-3 items-start border border-solid border-border-subtle border-r-0 rounded-tl-md rounded-bl-md"},E.map((function(e,t){return l().createElement(ue,{key:t,onClick:function(){return t=e.range,void w(t);var t},variant:"ghost",className:"font-medium text-sm"},e.label)}))),l().createElement(xN,NN({},y,{mode:n,selectedDates:b,setSelectedDates:w,variant:o,showOutsideDays:g,width:"w-auto",numberOfMonths:2,footer:l().createElement("div",{className:"flex justify-end p-2 gap-3 border border-solid border-border-subtle border-t-0 rounded-br-md"},l().createElement(ue,{variant:"outline",onClick:_},h),l().createElement(ue,{onClick:S},f))}))):void 0};return r}()},67:(e,t)=>{"use strict";t.YW=function(e,t={}){const{decode:m=decodeURIComponent,delimiter:h=n}=t,{regexp:p,keys:g}=function(e,t={}){const{delimiter:m=n,end:h=!0,sensitive:p=!1,trailing:g=!0}=t,y=[],v=[],b=p?"":"i",w=(Array.isArray(e)?e:[e]).map((e=>e instanceof u?e:function(e,t={}){const{encodePath:n=r}=t,l=new c(function*(e){const t=[...e];let n=0;function r(){let e="";if(o.test(t[++n]))for(e+=t[n];i.test(t[++n]);)e+=t[n];else if('"'===t[n]){let r=n;for(;n!1===m?r:"param"===e.type?m:e=>e.split(h).map(m)));return function(e){const t=p.exec(e);if(!t)return!1;const n=t[0],r=Object.create(null);for(let e=1;ee,o=/^[$_\p{ID_Start}]$/u,i=/^[$\u200c\u200d\p{ID_Continue}]$/u,a="https://git.new/pathToRegexpError",s={"{":"{","}":"}","(":"(",")":")","[":"[","]":"]","+":"+","?":"?","!":"!"};function l(e){return e.replace(/[.+*?^${}()[\]|/\\]/g,"\\$&")}class c{constructor(e){this.tokens=e}peek(){if(!this._peek){const e=this.tokens.next();this._peek=e.value}return this._peek}tryConsume(e){const t=this.peek();if(t.type===e)return this._peek=void 0,t.value}consume(e){const t=this.tryConsume(e);if(void 0!==t)return t;const{type:n,index:r}=this.peek();throw new TypeError(`Unexpected ${n} at ${r}, expected ${e}: ${a}`)}text(){let e,t="";for(;e=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)t+=e;return t}}class u{constructor(e){this.tokens=e}}function*d(e,t,n){if(t===e.length)return yield n;const r=e[t];if("group"===r.type){const o=n.slice();for(const n of d(r.tokens,0,o))yield*d(e,t+1,n)}else n.push(r);yield*d(e,t+1,n)}function f(e,t,n){let r="",o="",i=!0;for(let s=0;s{"use strict";var n=Object.prototype.hasOwnProperty;function r(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}function o(e){try{return encodeURIComponent(e)}catch(e){return null}}t.stringify=function(e,t){t=t||"";var r,i,a=[];for(i in"string"!=typeof t&&(t="?"),e)if(n.call(e,i)){if((r=e[i])||null!=r&&!isNaN(r)||(r=""),i=o(i),r=o(r),null===i||null===r)continue;a.push(i+"="+r)}return a.length?t+a.join("&"):""},t.parse=function(e){for(var t,n=/([^=?#&]+)=?([^&]*)/g,o={};t=n.exec(e);){var i=r(t[1]),a=r(t[2]);null===i||null===a||i in o||(o[i]=a)}return o}},338:(e,t,n)=>{"use strict";var r=n(795);t.H=r.createRoot,r.hydrateRoot},795:e=>{"use strict";e.exports=window.ReactDOM},942:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e="",t=0;t{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";var e=n(338);const t=window.wp.domReady;var r=n.n(t);function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}(e):e,{state:t,key:Math.random().toString(36).substr(2,8)})}function h(e,t){return[{usr:e.state,key:e.key,idx:t},f(e)]}function p(e,t,n){return!d.length||(d.call({action:e,location:t,retry:n}),!1)}function y(e){a=e;var t=o();l=t[0],c=t[1],u.call({action:a,location:c})}function v(e){r.go(e)}return null==l&&(l=0,r.replaceState(b({},r.state,{idx:l}),"")),{get action(){return a},get location(){return c},createHref:f,push:function e(t,o){var i=g.Push,a=m(t,o);if(p(i,a,(function(){e(t,o)}))){var s=h(a,l+1),c=s[0],u=s[1];try{r.pushState(c,"",u)}catch(e){n.location.assign(u)}y(i)}},replace:function e(t,n){var o=g.Replace,i=m(t,n);if(p(o,i,(function(){e(t,n)}))){var a=h(i,l),s=a[0],c=a[1];r.replaceState(s,"",c),y(o)}},go:v,back:function(){v(-1)},forward:function(){v(1)},listen:function(e){return u.push(e)},block:function(e){var t=d.push(e);return 1===d.length&&n.addEventListener(w,x),function(){t(),d.length||n.removeEventListener(w,x)}}}}(),S=wp.element.createContext({route:v(_.location)}),k=n(67),C=wp.element.useContext,N="";function P(e){var t=e.path,n=e.onRoute,r=e.children,o=C(S).route,i=(0,k.YW)("".concat(t))("".concat(o.hash.substr(1)));return i?(n&&(N!==i.path&&n(),N=i.path),React.createElement("div",null,wp.element.cloneElement(r,{route:i}))):null}var T=n(942),O=n.n(T);function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var R=wp.element.useContext;function D(e){var t=e.to,n=e.onClick,r=e.children,o=e.activeClassName,i=R(S).route,a=function(e){for(var t=1;te.filter(((e,t,n)=>Boolean(e)&&n.indexOf(e)===t)).join(" ");var L={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const z=(0,s.forwardRef)((({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:o="",children:i,iconNode:a,...l},c)=>(0,s.createElement)("svg",{ref:c,...L,width:t,height:t,stroke:e,strokeWidth:r?24*Number(n)/Number(t):n,className:F("lucide",o),...l},[...a.map((([e,t])=>(0,s.createElement)(e,t))),...Array.isArray(i)?i:[i]]))),B=(e,t)=>{const n=(0,s.forwardRef)((({className:n,...r},o)=>{return(0,s.createElement)(z,{ref:o,iconNode:t,className:F(`lucide-${i=e,i.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,n),...r});var i}));return n.displayName=`${e}`,n},W=B("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]),V=B("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),U=B("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),$=B("Headset",[["path",{d:"M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z",key:"12oyoe"}],["path",{d:"M21 16v2a4 4 0 0 1-4 4h-5",key:"1x7m43"}]]),H=B("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),Y=window.wp.i18n;var q={dashboard:{path:"dashboard"},widgets:{path:"widgets"},templates:{path:"templates"},settings:{path:"settings"},upgrade:{path:"upgrade"}},K=function(){return K=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]\n\t\n\t\t\n\t\n\t',viewAll:{link:"",label:"View All"},triggerButton:{icon:'',beforeBtn:"",afterBtn:"",className:"",onClick:function(){}},notification:{setLastPostUnixTime:null,getLastPostUnixTime:null},flyout:{title:"What's New?",innerContent:{titleLink:!0,additionalClasses:[]},excerpt:{wordLimit:500,moreSymbol:"…",readMore:{label:"Read More",className:""}},className:"",closeOnEsc:!0,closeOnOverlayClick:!0,closeBtnIcon:'',formatDate:null,onOpen:function(){},onClose:function(){},onReady:function(){}}},J=function(){function e(e){this.rssFeedURLs=[],this.lastPostUnixTime=0,this.multiLastPostUnixTime={},this.notificationsCount=0,this.multiNotificationCount={},this.hasNewFeeds=!1,this.multiHasNewFeeds={},this.validateArgs(e),this.parseDefaults(e),this.setElement(),this.getElement()?(this.setID(),this.setRSSFeedURLs(),Q.setInstanceID(this.getID()),this.RSS_Fetch_Instance=new ee(this),this.RSS_View_Instance=new te(this),this.setNotificationsCount(),this.setTriggers()):console.warn("WNR: Cannot find element with",this.getArgs().selector)}return e.prototype.validateArgs=function(e){["rssFeedURL","selector"].map((function(t){if(!e[t])throw new Error("".concat(t," is a required argument. It cannot be empty or undefined."));if("rssFeedURL"===t){var n=e[t];Array.isArray(n)&&n.forEach((function(e){if(!(null==e?void 0:e.key))throw new Error('The parameter "key" is required for "'.concat(t,'" parameter in multi-feed mode.'));if(e.key.includes(" "))throw new Error('The parameter "key" cannot have spaces for "'.concat(t,'" parameter in multi-feed mode. Ref Key: "').concat(e.key,'"'))}))}}))},e.prototype.parseDefaults=function(e){var t,n;this.args=K(K(K({},Z),e),{viewAll:K(K({},Z.viewAll),null==e?void 0:e.viewAll),triggerButton:K(K({},Z.triggerButton),null==e?void 0:e.triggerButton),flyout:K(K(K({},Z.flyout),null==e?void 0:e.flyout),{innerContent:K(K({},Z.flyout.innerContent),null===(t=null==e?void 0:e.flyout)||void 0===t?void 0:t.innerContent),excerpt:K(K({},Z.flyout.excerpt),null===(n=null==e?void 0:e.flyout)||void 0===n?void 0:n.excerpt)})})},e.prototype.getArgs=function(){return this.args},e.prototype.setElement=function(){this.element=document.querySelector(this.args.selector)},e.prototype.getElement=function(){return this.element},e.prototype.setID=function(){var e=[this.getArgs().selector],t=this.getArgs().rssFeedURL;Array.isArray(t)?t.forEach((function(t){e.push(t.key)})):e.push(t),this.ID=btoa(e.join("-")).slice(-12).replace(/=/g,"")},e.prototype.isMultiFeedRSS=function(){return"string"!=typeof this.getArgs().rssFeedURL},e.prototype.setRSSFeedURLs=function(){var e=this,t=this.getArgs().rssFeedURL;this.isMultiFeedRSS()?Array.isArray(t)&&t.forEach((function(t){e.rssFeedURLs.push(t)})):this.rssFeedURLs.push({key:null,label:"",url:t.toString()})},e.prototype.getRSSFeedURLs=function(){return this.rssFeedURLs},e.prototype.getID=function(){return this.ID},e.prototype.setNotificationsCount=function(){return G(this,void 0,void 0,(function(){var e=this;return X(this,(function(t){switch(t.label){case 0:return[4,Promise.all(this.getRSSFeedURLs().map((function(t){var n=t.key;return G(e,void 0,void 0,(function(){var e;return X(this,(function(t){switch(t.label){case 0:return e=0,"function"!=typeof this.getArgs().notification.getLastPostUnixTime?[3,2]:[4,this.getArgs().notification.getLastPostUnixTime(n,this)];case 1:return e=t.sent(),[3,3];case 2:e=Q.getLastPostUnixTime(n),t.label=3;case 3:return this.isMultiFeedRSS()?this.multiLastPostUnixTime[n]=+e:this.lastPostUnixTime=+e,[2]}}))}))})))];case 1:return t.sent(),[4,this.RSS_Fetch_Instance.fetchData().then((function(t){Object.keys(t).forEach((function(n){var r=t[n];if(r.length){e.multiNotificationCount[n]=0;var o=+r[0].date,i=e.isMultiFeedRSS()?e.multiLastPostUnixTime[n]:e.lastPostUnixTime;o>i&&(r.forEach((function(t){t.date>i&&(e.isMultiFeedRSS()&&(e.multiNotificationCount[n]++,e.multiHasNewFeeds[n]=!0),e.notificationsCount++,e.hasNewFeeds=!0)})),e.RSS_View_Instance.setNotification(e.notificationsCount))}}))}))];case 2:return t.sent(),[2]}}))}))},e.prototype.getNotificationsCount=function(){return this.notificationsCount},e.prototype.setTriggers=function(){var e=this,t=document.getElementById(this.RSS_View_Instance.getTriggerButtonID()),n=document.getElementById(this.RSS_View_Instance.getFlyoutID()),r=n.querySelector(".whats-new-rss-flyout-inner-content"),o=document.getElementById(this.RSS_View_Instance.getFlyoutCloseBtnID()),i=document.getElementById(this.RSS_View_Instance.getFlyoutMultiFeedNavID()),a=function(t){e.RSS_Fetch_Instance.fetchData().then((function(o){r.innerHTML="";var i=o[t];if(i.length){var a=+i[0].date,s=e.isMultiFeedRSS()?e.multiLastPostUnixTime[t]:e.lastPostUnixTime;i.forEach((function(n){var o=!!s&&n.date>s,i=e.getArgs().flyout.innerContent.titleLink?'\n\t\t\t\t\t\t\t\t

').concat(n.title,"

\n\t\t\t\t\t\t\t
"):"

".concat(n.title,"

"),a='\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

'.concat(e.RSS_View_Instance.formatDate(new Date(n.date)),"

\n\t\t\t\t\t\t\t\t\t").concat(i,"\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t").concat(e.RSS_View_Instance.createExcerpt(n.description,n.postLink,e.getArgs().flyout.excerpt),"\n\t\t\t\t\t\t\t\t").concat(e.RSS_View_Instance.listChildrenPosts(n.children),"\n\t\t\t\t\t\t\t"),l=e.getArgs().flyout.innerContent.additionalClasses;t&&l.push("`inner-content-item-feed-key-${key}`"),r.innerHTML+=e.RSS_View_Instance.innerContentWrapper(a,o,l.join(" "))})),e.getArgs().viewAll.link&&(r.innerHTML+=e.RSS_View_Instance.innerContentWrapper('\n\t\t\t\t\t\t\t').concat(e.getArgs().viewAll.label,"\n\t\t\t\t\t\t\t"))),e.RSS_View_Instance.setIsLoading(!1),n.classList.add("ready"),e.getArgs().flyout.onReady(e),n.focus(),e.isMultiFeedRSS()||(e.lastPostUnixTime=a,e.hasNewFeeds&&("function"==typeof e.getArgs().notification.setLastPostUnixTime?e.getArgs().notification.setLastPostUnixTime(a,t):Q.setLastPostUnixTime(a,t)))}}))};t.addEventListener("click",(function(t){if(t.preventDefault(),e.getArgs().triggerButton.onClick(e),e.RSS_View_Instance.setIsLoading(!0),n.classList.remove("closed"),n.classList.add("open"),document.body.classList.add("whats-new-rss-is-active"),e.getArgs().flyout.onOpen(e),!e.isMultiFeedRSS())return a(null);var r=i.querySelectorAll("button");r.forEach((function(t){e.RSS_View_Instance.setMultiFeedTabNotificationCount(t.dataset.feedKey,e.multiNotificationCount[t.dataset.feedKey]),t.addEventListener("click",(function(n){n.preventDefault();var o=t.dataset.feedKey;e.multiNotificationCount[o]=0,e.RSS_Fetch_Instance.fetchData().then((function(t){var n=t[o][0].date;e.multiLastPostUnixTime[o]=n,!0===e.multiHasNewFeeds[o]&&("function"==typeof e.getArgs().notification.setLastPostUnixTime?e.getArgs().notification.setLastPostUnixTime(n,o):Q.setLastPostUnixTime(n,o)),e.multiHasNewFeeds[o]=!1})),r.forEach((function(e){e.classList.remove("selected");var t=e.dataset.feedKey,n=".inner-content-item-feed-key-".concat(t);document.querySelectorAll(n).forEach((function(e){o!==t?e.classList.add("hidden"):e.classList.remove("hidden")}))})),t.classList.add("selected"),a(o)}))})),r[0].click()}));var s=function(){n.classList.add("closed"),n.classList.remove("open"),n.classList.remove("ready"),document.body.classList.remove("whats-new-rss-is-active"),e.isMultiFeedRSS()?e.RSS_View_Instance.setNotification(Object.values(e.multiNotificationCount).filter(Boolean).length):(e.hasNewFeeds=!1,e.RSS_View_Instance.setNotification(!1)),r.innerHTML="",e.getArgs().flyout.onClose(e),t.focus()};this.getArgs().flyout.closeOnEsc&&document.addEventListener("keydown",(function(e){"Escape"===e.key&&n.classList.contains("open")&&s()})),this.getArgs().flyout.closeOnOverlayClick&&n.querySelector(".whats-new-rss-flyout-overlay").addEventListener("click",s),o.addEventListener("click",s)},e}(),Q=function(){function e(){}return e.setInstanceID=function(e){this.instanceID||(this.instanceID=e)},e.prefixer=function(e,t){if(void 0===t&&(t=""),!this.instanceID)throw new Error("Instance ID not set.");return t?"".concat(this.keys[e],"-").concat(this.instanceID,"-").concat(t):"".concat(this.keys[e],"-").concat(this.instanceID)},e._setDataExpiry=function(e){void 0===e&&(e="");var t=(new Date).getTime()+864e5;sessionStorage.setItem(this.prefixer("SESSION_DATA_EXPIRY",e),JSON.stringify(t))},e._isDataExpired=function(e){void 0===e&&(e="");var t=this.prefixer("SESSION_DATA_EXPIRY",e),n=window.sessionStorage.getItem(t);if(!n)return!0;var r=JSON.parse(n);return(new Date).getTime()>r&&(window.sessionStorage.removeItem(t),!0)},e.setSessionData=function(e,t){return void 0===t&&(t=""),this._setDataExpiry(t),window.sessionStorage.setItem(this.prefixer("SESSION",t),e)},e.getSessionData=function(e){return void 0===e&&(e=""),this._isDataExpired(e)?"{}":window.sessionStorage.getItem(this.prefixer("SESSION",e))},e.setLastPostUnixTime=function(e,t){return void 0===t&&(t=""),window.localStorage.setItem(this.prefixer("LAST_LATEST_POST",t),e.toString())},e.getLastPostUnixTime=function(e){return void 0===e&&(e=""),+window.localStorage.getItem(this.prefixer("LAST_LATEST_POST",e))},e.keys={SESSION_DATA_EXPIRY:"whats-new-cache-expiry",LAST_LATEST_POST:"whats-new-last-unixtime",SESSION:"whats-new-cache"},e}(),ee=function(){function e(e){var t=this;this.data={},this.RSS=e,this.RSS.getRSSFeedURLs().forEach((function(e){var n=JSON.parse(Q.getSessionData(e.key));n&&n.length&&(t.data[e.key]=n)}))}return e.prototype.fetchData=function(){return G(this,void 0,void 0,(function(){var e,t=this;return X(this,(function(n){switch(n.label){case 0:return Object.keys(this.data).length?[2,this.data]:(e=this.RSS.getRSSFeedURLs().map((function(e){return G(t,void 0,void 0,(function(){var t,n,r=this;return X(this,(function(o){switch(o.label){case 0:return this.data[e.key]=[],[4,fetch(e.url)];case 1:return[4,o.sent().text()];case 2:return t=(t=o.sent()).replace(/»/g,"&raquo;"),n=new DOMParser,n.parseFromString(t,"text/xml").querySelectorAll("item").forEach((function(t){var n,o=t.querySelector("title").textContent,i=t.querySelector("link").textContent,a=t.querySelector("content\\:encoded, encoded"),s=a?a.textContent:"",l=t.querySelector("pubDate").innerHTML;r.data[e.key].push({title:o,date:l?+new Date(l):null,postLink:i,description:s.replace(/])*)>/g,'').replace(/

\s*<\/p>/g,""),children:JSON.parse((null===(n=t.querySelector("children"))||void 0===n?void 0:n.innerHTML)||"{}")})})),Q.setSessionData(JSON.stringify(this.data[e.key]),e.key),[2]}}))}))})),[4,Promise.all(e)]);case 1:return n.sent(),[2,this.data]}}))}))},e}(),te=function(){function e(e){this.RSS=e,this.createTriggerButton(),this.createFlyOut()}return e.prototype.getTriggerButtonID=function(){return"whats-new-rss-btn-".concat(this.RSS.getID())},e.prototype.getFlyoutID=function(){return"whats-new-rss-flyout-".concat(this.RSS.getID())},e.prototype.getFlyoutCloseBtnID=function(){return"whats-new-rss-flyout-close-".concat(this.RSS.getID())},e.prototype.getFlyoutMultiFeedNavID=function(){return"whats-new-rss-flyout-multi-feed-nav-".concat(this.RSS.getID())},e.prototype.setIsLoading=function(e){void 0===e&&(e=!1);var t=document.getElementById(this.getFlyoutID());e?t.classList.add("is-loading"):t.classList.remove("is-loading")},e.prototype.setNotification=function(e){var t=document.querySelector("#".concat(this.getTriggerButtonID()," .whats-new-rss-notification-badge"));e?(this.RSS.isMultiFeedRSS()?(t.innerHTML="",t.classList.add("is-multi-feed")):t.innerHTML=e>9?"9+":e.toString(),t.classList.remove("hide")):t.classList.add("hide")},e.prototype.createTriggerButton=function(){var e="\n\t\t".concat(this.RSS.getArgs().triggerButton.beforeBtn,'\n\t\t\n\t\t\t').concat(this.RSS.getArgs().triggerButton.icon,'\n\t\t\t

\n\t\t\n\t\t').concat(this.RSS.getArgs().triggerButton.afterBtn,"\n\t\t");this.RSS.getElement().innerHTML+=e},e.prototype.createFlyOut=function(){var e=["whats-new-rss-flyout","closed"];this.RSS.getArgs().flyout.className&&e.push(this.RSS.getArgs().flyout.className);var t=[];this.RSS.isMultiFeedRSS()&&(t.push('"));var n=document.createElement("div");n.setAttribute("id",this.getFlyoutID()),n.setAttribute("class",e.join(" ")),n.setAttribute("role","dialog"),n.innerHTML='\n\t\t
\n\n\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

'.concat(this.RSS.getArgs().flyout.title,'

\n\n\t\t\t\t\t\n\t\t\t\t\t').concat(this.RSS.getArgs().loaderIcon,'\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t
\n\n\t\t\t").concat(t.join(""),'\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\n\t\t
\n\t\t'),document.body.appendChild(n)},e.prototype.setMultiFeedTabNotificationCount=function(e,t){void 0===t&&(t=0);var n=document.querySelector("#".concat(this.getFlyoutMultiFeedNavID(),' button[data-feed-key="').concat(e,'"]'));if(n){var r=n.querySelector(".new-notification-count");if(t){var o=t>9?"9+":t;r.innerHTML=o.toString()}else r.innerHTML=""}},e.prototype.innerContentWrapper=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n="");var r=["whats-new-rss-flyout-inner-content-item"];return t&&r.push("rss-new-post"),n&&r.push(n),'\n\t\t
\n\t\t\t').concat(t?'New ✨':"","\n\t\t\t").concat(e,"\n\t\t
\n\t\t")},e.prototype.createExcerpt=function(e,t,n){var r=n.wordLimit,o=n.moreSymbol,i=n.readMore;if(!r)return e;var a=e.replace(/<[^>]*>/g,"").split(/\s+/),s=a.slice(0,r).join(" ");return o&&(s+=o),r>a.length?e:t&&(null==i?void 0:i.label)?"

".concat(s,' ').concat(i.label,"

"):"

".concat(s,"

")},e.prototype.listChildrenPosts=function(e){var t=this,n=Object.values(e);if(!n.length)return"";var r=document.createElement("details"),o=document.createElement("summary"),i=document.createElement("div");return n.forEach((function(e){var n=(new DOMParser).parseFromString(e.post_content,"text/html"),r=document.createElement("div");r.classList.add("sub-version-item"),r.innerHTML='\n\t\t\t\t
\n\t\t\t\t\t

'.concat(e.post_title,'

\n\t\t\t\t\t').concat(t.formatDate(new Date(e.post_date)),'\n\t\t\t\t
\n\t\t\t\t
').concat(n.documentElement.textContent,"
\n\t\t\t"),i.appendChild(r)})),o.innerHTML='

See More

See Less

',r.appendChild(o),r.appendChild(i),i.classList.add("sub-version-items-wrapper"),r.classList.add("whats-new-rss-sub-version-details"),r.outerHTML},e.prototype.formatDate=function(e){if("function"==typeof this.RSS.getArgs().flyout.formatDate)return this.RSS.getArgs().flyout.formatDate(e);var t=new Date,n=e.getTime(),r=t.getTime()-n,o=36e5,i=24*o,a=7*i,s=30*i;if(r<6e4)return"Just now";if(r1?"s":""," ago")}if(r1?"s":""," ago")}if(r1?"s":""," ago")}if(r1?"s":""," ago")}var f=Math.floor(r/s);return"".concat(f," month").concat(f>1?"s":""," ago")},e}();function ne(){var e=window.location.hash;document.querySelectorAll("#adminmenu #toplevel_page_hfe a").forEach((function(t){var n=t.getAttribute("href"),r=t.closest("li"),o=t.textContent.trim();n&&(e.includes(n.split("#")[1])||"#dashboard"===e&&"Dashboard"===o)?r.classList.add("current"):r.classList.remove("current")}))}const re=function(){var e=a((0,s.useState)(!1),2),t=e[0],n=e[1];(0,s.useEffect)((function(){return ne(),window.addEventListener("hashchange",ne),function(){window.removeEventListener("hashchange",ne)}}),[]);var r=window.location.hash,o=function(e){return r.includes(e)},i=function(e){return{color:o(e)?"#111827":"#4B5563",borderBottom:o(e)?"2px solid #6005FF":"none",paddingBottom:"22px",marginBottom:"-16px"}},c=function(e){window.open(e,"_blank"),n(!1)};return function({selector:e,...t}){const n=(0,s.useRef)(null);(0,s.useEffect)((()=>{var r;return async function(){const e="whats-new-rss-styles";if(!document.getElementById(e)){const t=document.createElement("style");t.id=e,t.innerHTML=await async function(){return".whats-new-rss-is-active{overflow:hidden}.whats-new-rss-trigger-button{display:flex;align-items:center;position:relative;width:auto;padding:5px;cursor:pointer}.whats-new-rss-trigger-button .whats-new-rss-notification-badge{position:absolute;top:-8px;right:-5px;width:20px;font-size:10px;line-height:20px;text-align:center;border-radius:10px;color:#fff;background:red;transition:transform .2s ease-in-out}.whats-new-rss-trigger-button .whats-new-rss-notification-badge.is-multi-feed{top:-2px;right:-2px;font-size:0;width:10px;height:10px}.whats-new-rss-trigger-button .whats-new-rss-notification-badge.hide{display:none}.whats-new-rss-trigger-button:hover .whats-new-rss-notification-badge{transform:scale(1.2)}.whats-new-rss-flyout{position:fixed;top:0;right:0;bottom:0;width:100%;z-index:99999;transition:visibility .3s ease-in-out;font-family:Arial,Helvetica,sans-serif}.whats-new-rss-flyout .lightbox-trigger,.whats-new-rss-flyout.hidden{display:none}.whats-new-rss-flyout.is-loading .whats-new-rss-flyout-inner-header__loading-icon{display:block;margin:auto}.whats-new-rss-flyout.is-loading .whats-new-rss-flyout-inner-header__loading-icon svg{display:block;background:0 0;width:25px;height:25px}.whats-new-rss-flyout .whats-new-rss-flyout-contents{position:fixed;display:flex;right:0;width:30%;height:100%;flex-direction:column;background-color:#fff;transition:transform .3s ease-in-out;z-index:9999}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 16px 24px;border-bottom:1px solid #ccc}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-header button{border:none;background:0 0;font-size:30px;cursor:pointer;color:#94a3b8;padding:0;margin:0;box-shadow:none}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-header .whats-new-rss-flyout-inner-header__title-icon-wrapper{display:flex;gap:10px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-header .whats-new-rss-flyout-inner-header__title-icon-wrapper h3{margin:0;padding:0;color:#0f172a;font-weight:600;font-size:16px;line-height:24px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav{display:flex;padding:0 30px;border-bottom:1px solid #ccc;gap:2em;overflow:auto;white-space:nowrap}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button{position:relative;background:0 0;color:inherit;padding:15px 0;border-bottom:2px solid transparent}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button:focus,.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button:hover{border-color:inherit}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button.selected{border-color:#5d5d5d}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button .new-notification-count{position:absolute;top:0;right:-10px;width:20px;font-size:10px;line-height:20px;text-align:center;border-radius:10px;color:#fff;background:red}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content{flex:1;overflow-y:auto}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .skeleton-container{margin:30px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item{border-bottom:1px solid #d8dfe9;padding:30px 24px;color:#475569;font-weight:400;font-size:14px;line-height:20px;display:flex;flex-direction:column;gap:13px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item>*{margin:0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item.skeleton-row{height:25vh;margin:40px 0;background:linear-gradient(90deg,#eee 25%,#ddd 50%,#eee 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item.rss-new-post{position:relative}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item.rss-new-post .new-post-badge{background:#ff3d3d;border-radius:5px;position:absolute;right:45px;padding:0 5px;color:#fff}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item .rss-content-header{display:flex;flex-direction:column;gap:15px;padding:0 0 8px 0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item .rss-content-header p{color:#94a3b8;margin:0;padding:0;font-weight:600;font-size:14px;line-height:16px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item .rss-content-header h2{margin:0;color:#0f172a;font-weight:700;line-height:28px;font-size:20px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h2{font-weight:700;font-size:18px;line-height:24px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h3{font-weight:700;font-size:16px;line-height:22px;margin-top:12px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h4{font-weight:700;font-size:15px;line-height:20px;margin-top:12px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h5{font-weight:700;font-size:14px;line-height:18px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h6{font-weight:700;font-size:13px;line-height:16px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item p{padding:0;font-size:14px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item p:last-child{margin-bottom:0;padding-bottom:0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item a{color:#1170ff;text-decoration:none}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item figure{margin:10px 0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item figure.wp-block-embed.is-type-video{position:relative;width:100%;height:0;padding-bottom:56.25%}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item figure iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item video{vertical-align:middle;width:100%}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item strong{font-weight:600}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ol,.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ul{padding-inline-start:20px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ol li,.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ul li{margin-bottom:5px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ul{list-style-type:disc}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ol{list-style-type:decimal}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details{line-height:20px;font-size:.9em;margin:10px 0;background:#f9fafb}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details summary{display:flex;justify-content:space-between;cursor:pointer;padding:20px 15px;height:1em;line-height:20px;font-weight:800}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details summary::after{content:'⌃';font-size:20px;transform:rotateX(180deg);font-weight:800}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details summary .text-see-more{display:block}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details summary .text-see-less{display:none}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details[open] summary{border-bottom:1px solid #e2e8f0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details[open] summary::after{transform:rotateX(45deg)}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details[open] summary .text-see-more{display:none}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details[open] summary .text-see-less{display:block}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details .sub-version-item{position:relative;padding:1em;border-bottom:1px solid #e2e8f0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details .sub-version-item .sub-version-header{display:flex;justify-content:space-between}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details .sub-version-item .sub-version-content{margin-top:1em}.whats-new-rss-flyout .whats-new-rss-flyout-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);transition:all .3s ease-in-out}.whats-new-rss-flyout.closed{visibility:hidden}.whats-new-rss-flyout.closed .whats-new-rss-flyout-overlay{opacity:0;visibility:hidden}.whats-new-rss-flyout.closed .whats-new-rss-flyout-contents{transform:translateX(100%)}.whats-new-rss-flyout .whats-new-rss-flyout-inner-header__loading-icon{display:none}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}@media screen and (max-width:1024px){.whats-new-rss-flyout .whats-new-rss-flyout-contents{width:40%}}@media screen and (max-width:768px){.whats-new-rss-flyout .whats-new-rss-flyout-contents{width:85%}}"}(),document.head.appendChild(t)}}(),n.current||(n.current=(r={selector:e,...t},new J(r))),()=>{n.current&&"function"==typeof n.current.destroy&&n.current.destroy()}}),[e,...Object.values(t)]),n.current}({rssFeedURL:"https://ultimateelementor.com/whats-new/feed/",selector:"#hfe-whats-new",triggerButton:{beforeBtn:'
',icon:'',afterBtn:"
"},flyout:{title:(0,Y.__)("What's New?","astra-sites"),formatDate:function(e){var t=e.toLocaleDateString("en-US",{weekday:"long"}),n=e.toLocaleDateString("en-US",{month:"long"}),r=e.getDate(),o=e.getFullYear();return"".concat(t," ").concat(n," ").concat(r,", ").concat(o)}}}),l().createElement(I.Topbar,{className:"hfe-nav-menu relative",style:{width:"unset",padding:"0.5rem",zIndex:"9",paddingTop:"1rem"}},l().createElement("div",{className:"flex flex-col lg:flex-row items-start md:items-center w-full"},l().createElement("div",{className:"flex flex-row md:items-center md:gap-8 w-full"},l().createElement(I.Topbar.Left,null,l().createElement(I.Topbar.Item,null,l().createElement(D,{to:q.dashboard.path},l().createElement("img",{src:"".concat(hfeSettingsData.icon_url),alt:"Icon",className:"ml-4 cursor-pointer",style:{height:"35px",width:"35px"}})))),l().createElement(I.Topbar.Middle,{className:"flex-grow",align:"left"},l().createElement(I.Topbar.Item,null,l().createElement("nav",{className:"flex flex-wrap gap-6 mt-2 md:mt-0 cursor-pointer"},l().createElement(D,{to:q.dashboard.path,className:"".concat(o("dashboard")?"active-link":""),style:i("dashboard")},(0,Y.__)("Dashboard","header-footer-elementor")),l().createElement(D,{to:q.widgets.path,className:"".concat(o("widgets")?"active-link":""),style:i("widgets")},(0,Y.__)("Widgets / Features","header-footer-elementor")),l().createElement(D,{to:q.templates.path,className:"".concat(o("templates")?"active-link":""),style:i("templates")},(0,Y.__)("Templates","header-footer-elementor")),l().createElement(D,{to:q.settings.path,className:"".concat(o("settings")?"active-link":""),style:i("settings")},(0,Y.__)("Settings","header-footer-elementor")),l().createElement(D,{to:q.upgrade.path,className:"".concat(o("upgrade")?"active-link":""),style:i("upgrade")},(0,Y.__)("Free vs Pro","header-footer-elementor")))),l().createElement(I.Topbar.Item,null,l().createElement(I.Button,{icon:l().createElement(W,null),iconPosition:"right",variant:"ghost",className:"hfe-remove-ring mb-2",style:{color:"#6005FF",background:"none",border:"none",padding:0,cursor:"pointer"},onClick:function(){return c("https://ultimateelementor.com/pricing/?utm_source=uae-lite-dashboard&utm_medium=navigation-bar&utm_campaign=uae-lite-upgrade")}},(0,Y.__)("Get Ultimate Elementor","header-footer-elementor")))),l().createElement(I.Topbar.Right,{className:"gap-4"},l().createElement(I.Topbar.Item,null,l().createElement(I.DropdownMenu,{placement:"bottom-start",isOpen:t,onOpenChange:n},l().createElement(I.DropdownMenu.Trigger,null,l().createElement(I.Badge,{label:(0,Y.__)("Free","header-footer-elementor"),size:"xs",variant:"neutral"})),l().createElement(I.DropdownMenu.Content,{className:"w-52"},l().createElement(I.DropdownMenu.List,null,l().createElement(I.DropdownMenu.Item,null,(0,Y.__)("Version","header-footer-elementor")),l().createElement(I.DropdownMenu.Item,null,l().createElement("div",{className:"flex justify-between w-full"},"".concat(hfeSettingsData.uaelite_current_version),l().createElement(I.Badge,{label:(0,Y.__)("Core","header-footer-elementor"),size:"xs",variant:"neutral"}))))))),l().createElement(I.Topbar.Item,{className:"gap-4 cursor-pointer"},l().createElement(I.DropdownMenu,{placement:"bottom-start",isOpen:t,onOpenChange:n},l().createElement(I.DropdownMenu.Trigger,null,l().createElement(V,null)),l().createElement(I.DropdownMenu.Content,{className:"w-60"},l().createElement(I.DropdownMenu.List,null,l().createElement(I.DropdownMenu.Item,null,(0,Y.__)("Useful Resources","header-footer-elementor")),l().createElement(I.DropdownMenu.Item,{className:"text-text-primary",style:{color:"black"},onClick:function(){return c("https://ultimateelementor.com/docs/getting-started-with-ultimate-addons-for-elementor-lite/")}},l().createElement(U,{style:{color:"black"}}),(0,Y.__)("Getting Started","header-footer-elementor")),l().createElement(I.DropdownMenu.Item,{onClick:function(){return c("https://ultimateelementor.com/docs-category/widgets/")}},l().createElement(U,null),(0,Y.__)("How to use widgets","header-footer-elementor")),l().createElement(I.DropdownMenu.Item,{onClick:function(){return c("https://ultimateelementor.com/docs-category/features/")}},l().createElement(U,null),(0,Y.__)("How to use features","header-footer-elementor")),l().createElement(I.DropdownMenu.Item,{onClick:function(){return c("https://ultimateelementor.com/docs-category/templates/")}},l().createElement(U,null),(0,Y.__)("How to use templates","header-footer-elementor")),l().createElement(I.DropdownMenu.Item,{onClick:function(){return c("https://ultimateelementor.com/contact/")}},l().createElement($,null),(0,Y.__)("Contact us","header-footer-elementor"))))),l().createElement("div",{className:"pb-1",id:"hfe-whats-new"})),l().createElement(D,{to:q.settings.path},l().createElement(H,{className:"cursor-pointer hfe-user-icon",style:{color:"black"}}))))))};function oe(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||i(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const ie=B("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),ae=window.wp.apiFetch;var se=n.n(ae),le=[],ce=function(){0!==le.length&&le.shift()()};const ue=function(e){var t=e.widget,n=e.updateCounter,r=t.id,o=t.icon,i=t.title,c=(t.infoText,t.is_pro),u=(t.is_active,t.slug,t.demo_url),d=t.doc_url,f=t.description,m=(t.is_new,a((0,s.useState)(t.is_active),2)),h=m[0],p=m[1],g=a((0,s.useState)(!1),2),y=g[0],v=g[1];(0,s.useEffect)((function(){p(t.is_active)}),[t.is_active,n]);var b=function(e){var t=e?"hfe_deactivate_widget":"hfe_activate_widget",n=new window.FormData;n.append("action",t),n.append("nonce",hfe_admin_data.nonce),n.append("module_id",r),n.append("is_pro",c);try{var o=se()({url:hfe_admin_data.ajax_url,method:"POST",body:n});o.success?p(h):o.error}catch(e){}finally{v(!1),ce()}};return l().createElement(I.Container,{align:"center",containerType:"flex",direction:"column",justify:"between",gap:""},l().createElement("div",{className:"flex items-center justify-between w-full"},l().createElement("div",{className:"h-10 w-10 mb-5 ".concat(null==o?void 0:o.props),style:{fontSize:"22px"}},o),l().createElement("div",{className:"flex items-center gap-x-2",style:{marginBottom:"15px"}},c&&l().createElement(I.Badge,{label:"PRO",size:"xs",type:"pill",variant:"inverse"}),!c&&l().createElement(I.Switch,{onChange:function(){y||(v(!0),h?(p(!1),le.push((function(){return b(h)}))):(p(!0),le.push((function(){return b(h)}))),1===le.length&&ce())},size:"sm",value:h,className:"hfe-remove-ring"}))),l().createElement("div",{className:"flex flex-col w-full"},l().createElement("p",{className:"text-sm font-medium text-text-primary pt-3 m-0 pb-1"},i),l().createElement("div",{className:"flex items-center justify-between w-full"},u&&l().createElement("a",{href:u,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-text-tertiary m-0 mb-1 hfe-remove-ring",style:{textDecoration:"none",lineHeight:"1.5rem"}},(0,Y.__)("View Demo","header-footer-elementor")),l().createElement("div",{className:"".concat(u?"":"hfe-tooltip-wrap")},l().createElement(I.Tooltip,{arrow:!0,content:l().createElement("div",null,l().createElement("span",{className:"font-semibold block mb-2"},i),l().createElement("span",{className:"block mb-2"},f),d&&l().createElement("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:"cursor-pointer",style:{color:"#6005ff",textDecoration:"none"}},l().createElement(U,{style:{color:"#6005ff",width:"11px",height:"11px",marginRight:"3px"}}),(0,Y.__)("Read Documentation","header-footer-elementor"))),placement:"bottom",title:"",triggers:["click"],variant:"dark",size:"xs"},l().createElement(ie,{className:"h-5 w-5",size:18,color:"#A0A5B2"}))))))},de=function(){var e=a((0,s.useState)(null),2),t=e[0],n=e[1],r=a((0,s.useState)(!0),2),o=r[0],i=r[1];return(0,s.useEffect)((function(){i(!0),se()({path:"/hfe/v1/widgets",headers:{"Content-Type":"application/json","X-WP-Nonce":hfeSettingsData.hfe_nonce_action}}).then((function(e){var t=function(e){var t=[];for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];t.push({id:n,slug:r.slug,title:r.title,keywords:r.keywords,icon:l().createElement("i",{className:r.icon}),title_url:r.title_url,default:r.default,doc_url:r.doc_url,is_pro:r.is_pro,description:r.description,is_active:void 0===r.is_activate||r.is_activate,demo_url:void 0!==r.demo_url?r.demo_url:r.doc_url})}return t}(e);n(t),i(!1)})).catch((function(e){i(!1)}))}),[]),l().createElement("div",{className:"rounded-lg bg-white w-full mb-6"},l().createElement("div",{className:"flex items-center justify-between p-4",style:{paddingBottom:"0"}},l().createElement("p",{className:"m-0 text-sm font-semibold text-text-primary"},"Widgets / Features"),l().createElement("div",{className:"flex items-center gap-x-2 mr-7"},l().createElement(D,{to:q.widgets.path,className:"text-sm text-text-primary cursor-pointer",style:{lineHeight:"1rem"}},"View All",l().createElement(W,{className:"ml-1",size:13})))),l().createElement("div",{className:"flex bg-black flex-col rounded-lg p-4"},o?l().createElement(I.Container,{align:"stretch",className:"p-2 gap-1.5 grid grid-cols-2 md:grid-cols-4",style:{backgroundColor:"#F9FAFB"},containerType:"grid",gap:"",justify:"start"},oe(Array(16)).map((function(e,t){return l().createElement(I.Container.Item,{key:t,alignSelf:"auto",className:"text-wrap rounded-md shadow-container-item bg-background-primary p-6 space-y-2"},l().createElement(I.Skeleton,{className:"w-12 h-2 rounded-md"}),l().createElement(I.Skeleton,{className:"w-16 h-2 rounded-md"}),l().createElement(I.Skeleton,{className:"w-12 h-2 rounded-md"}))}))):l().createElement(I.Container,{align:"stretch",className:"p-2 gap-1.5 grid grid-cols-2 md:grid-cols-4",style:{backgroundColor:"#F9FAFB"},containerType:"grid",gap:"",justify:"start"},null==t?void 0:t.slice(0,16).map((function(e){return l().createElement(I.Container.Item,{key:e.id,alignSelf:"auto",className:"text-wrap rounded-md shadow-container-item bg-background-primary p-4"},l().createElement(ue,{widget:e,key:e.id,updateCounter:0}))})))))},fe=function(){var e=a((0,s.useState)(!0),2),t=e[0],n=e[1],r=a((0,s.useState)(null),2),o=r[0],i=r[1],c=a((0,s.useState)(null),2),u=c[0],d=c[1];if((0,s.useEffect)((function(){n(!0),se()({path:"/hfe/v1/templates",headers:{"Content-Type":"application/json","X-WP-Nonce":hfeSettingsData.uael_nonce_action}}).then((function(e){i(e.templates_status),e.redirect_url&&d(e.redirect_url),n(!1)})).catch((function(e){n(!1)}))}),[]),!t)return l().createElement("div",{className:"box-border hfe-dashboard-templates p-4 bg-white rounded-lg shadow-md mb-6 hfe-subheading"},l().createElement("div",{className:"mb-4"},l().createElement("img",{src:"".concat(hfeSettingsData.templates_url),alt:"Template Showcase",className:"w-full h-auto rounded"})),l().createElement(I.Title,{className:"mt-2",icon:null,iconPosition:"right",size:"xs",tag:"h2",title:(0,Y.__)("Build Websites 10x Faster with Templates","header-footer-elementor")}),l().createElement("p",{className:"text-text-secondary text-text-tertiary mt-2 mb-2 text-sm"},(0,Y.__)("Choose from our professionally designed websites to build your site faster, with easy customization options.","header-footer-elementor")),"Activated"!==o?l().createElement(D,{to:q.templates.path,className:"w-full"},l().createElement(I.Button,{className:"w-full mt-4",icon:null,iconPosition:"left",size:"md",variant:"secondary"},(0,Y.__)("View Templates","header-footer-elementor"))):l().createElement(I.Button,{className:"w-full mt-4",icon:null,iconPosition:"left",size:"md",variant:"secondary",onClick:function(e){"Activated"===o&&u&&window.open(u,"_blank")}},(0,Y.__)("View Templates","header-footer-elementor")))},me=B("Headphones",[["path",{d:"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3",key:"1xhozi"}]]),he=B("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]),pe=B("NotepadText",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"16",height:"18",x:"4",y:"4",rx:"2",key:"1u9h20"}],["path",{d:"M8 10h6",key:"3oa6kw"}],["path",{d:"M8 14h8",key:"1fgep2"}],["path",{d:"M8 18h5",key:"17enja"}]]),ge=function(){return l().createElement("div",{className:"box-border hfe-dashboard-quick-access p-4 bg-white rounded-lg shadow-md",style:{width:"-webkit-fill-available"}},l().createElement(I.Title,{className:"mb-2",icon:null,iconPosition:"right",size:"xs",tag:"h3",title:(0,Y.__)("Quick Access","header-footer-elementor")}),l().createElement(I.Container,{align:"stretch",className:"p-1 rounded-lg gap-1",containerType:"flex",direction:"column",gap:"",justify:"start",style:{width:"100%",backgroundColor:"#F9FAFB"}},l().createElement(I.Container.Item,{alignSelf:"auto",className:"p-4 bg-white rounded-lg shadow-container-item",order:"none",shrink:1},l().createElement(I.Button,{className:"text-black hfe-remove-ring",icon:l().createElement(me,null),iconPosition:"left",variant:"link",onClick:function(){window.open("https://ultimateelementor.com/contact/","_blank")}},(0,Y.__)("Contact Us","header-footer-elementor"))),l().createElement(I.Container.Item,{className:"p-4 bg-white rounded-lg shadow-container-item"},l().createElement(I.Button,{className:"text-black hfe-remove-ring",icon:l().createElement(he,null),iconPosition:"left",variant:"link",onClick:function(){window.open("https://wordpress.org/support/plugin/header-footer-elementor/reviews/#new-post","_blank")}},(0,Y.__)("Rate Us","header-footer-elementor"))),l().createElement(I.Container.Item,{className:"p-4 bg-white rounded-lg shadow-container-item"},l().createElement(I.Button,{className:"text-black hfe-remove-ring",icon:l().createElement(V,null),iconPosition:"left",variant:"link",onClick:function(){window.open("https://ultimateelementor.com/docs/","_blank")}},(0,Y.__)("Help Centre","header-footer-elementor"))),l().createElement(I.Container.Item,{className:"p-4 bg-white rounded-lg shadow-container-item"},l().createElement(I.Button,{className:"text-black hfe-remove-ring",icon:l().createElement(pe,null),iconPosition:"left",variant:"link",onClick:function(){window.open("https://ideas.ultimateelementor.com/boards/feature-requests","_blank")}},(0,Y.__)("Request a Feature","header-footer-elementor")))))},ye=B("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),ve=B("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),be=function(){return l().createElement(I.Title,{className:"hfe-header-title my-4",description:"",icon:null,iconPosition:"right",size:"xs",tag:"h6",title:(0,Y.__)("Formerly Elementor Header & Footer Builder","header-footer-elementor")})},we=function(){return l().createElement("div",null,l().createElement(I.Container,{align:"center",className:"bg-background-primary border-[0.5px] border-subtle rounded-xl shadow-sm mb-6 p-8 flex flex-col lg:flex-row",containerType:"flex",direction:"row",gap:"sm"},l().createElement(I.Container.Item,{shrink:1},l().createElement(I.Title,{description:"",icon:null,iconPosition:"right",className:"max-w-lg",size:"lg",tag:"h3",title:(0,Y.__)("Welcome to Ultimate Addons for Elementor!","header-footer-elementor")}),l().createElement(be,null),l().createElement("p",{className:"text-sm font-medium text-text-tertiary m-0 mt-2"},(0,Y.__)("We're excited to help you supercharge your website-building experience.Effortlessly design stunning websites with our comprehensive range of free and premium widgets and features.","header-footer-elementor")),l().createElement("div",{className:"flex items-center pt-6 gap-2"},l().createElement(I.Button,{iconPosition:"right",variant:"primary",className:"bg-[#6005FF] hfe-remove-ring",style:{backgroundColor:"#6005FF",transition:"background-color 0.3s ease"},onMouseEnter:function(e){return e.currentTarget.style.backgroundColor="#4B00CC"},onMouseLeave:function(e){return e.currentTarget.style.backgroundColor="#6005FF"},onClick:function(){window.open(hfeSettingsData.hfe_post_url,"_blank")}},(0,Y.__)("Create Header/Footer","header-footer-elementor")),l().createElement(I.Button,{icon:l().createElement(ye,null),iconPosition:"right",variant:"outline",className:"hfe-remove-ring",style:{color:"#7D4CDB",borderColor:"#E9DFFC"},onMouseEnter:function(e){return e.currentTarget.style.color="#000000"},onMouseLeave:function(e){return(e.currentTarget.style.color="#7D4CDB")&&(e.currentTarget.style.borderColor="#E9DFFC")},onClick:function(){window.open(hfeSettingsData.elementor_page_url,"_blank")}},(0,Y.__)("Create New Page","header-footer-elementor")),l().createElement("div",{style:{color:"black",background:"none",border:"none",padding:0,cursor:"pointer"},onMouseEnter:function(e){return e.currentTarget.style.color="#6005ff"},onMouseLeave:function(e){return e.currentTarget.style.color="black"},onClick:function(){window.open("https://ultimateelementor.com/docs/getting-started-with-ultimate-addons-for-elementor-lite/","_blank")}},l().createElement(I.Button,{icon:l().createElement(ve,null),iconPosition:"right",variant:"link",className:"hfe-remove-ring text-black"},(0,Y.__)("Read full guide","header-footer-elementor")))))))},xe=B("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Ee=B("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),_e=function(){var e=[{id:1,icon:"",title:(0,Y.__)("Modal Popup","header-footer-elementor")},{id:2,icon:"",title:(0,Y.__)("Advanced Heading","header-footer-elementor")},{id:3,icon:"",title:(0,Y.__)("Post Layouts","header-footer-elementor")},{id:4,icon:"",title:(0,Y.__)("Info Box","header-footer-elementor")},{id:5,icon:"",title:(0,Y.__)("Pricing Cards","header-footer-elementor")},{id:6,icon:"",title:(0,Y.__)("Form Stylers and more...","header-footer-elementor")}];return l().createElement("div",null,l().createElement(I.Container,{className:"bg-background-primary p-4 border-[0.5px] border-subtle rounded-xl shadow-sm",containerType:"flex",direction:"row",justify:"between",gap:"xs"},l().createElement(I.Container.Item,{className:"flex flex-col pt-6 pb-3 justify-between",style:{width:"65%"}},l().createElement("div",null,l().createElement(I.Title,{description:"",icon:l().createElement(xe,null),iconPosition:"left",size:"xs",tag:"h6",title:(0,Y.__)("Unlock Ultimate Features","header-footer-elementor"),className:"text-xs font-semibold text-brand-primary-600"}),l().createElement(I.Title,{description:"",icon:"",iconPosition:"left",tag:"h6",title:(0,Y.__)("Create Ultimate Designs with Addons Pro!","header-footer-elementor"),className:"py-1 text-[12px]"}),l().createElement("p",{className:"text-sm m-0 text-text-secondary"},(0,Y.__)("Get access to advanced widgets and features to create the website that stands out!","header-footer-elementor"))),l().createElement("div",{className:"grid grid-cols-2 grid-flow-row gap-1 my-4"},e.map((function(e){return l().createElement(I.Title,{key:e.id,description:"",icon:l().createElement(Ee,{className:"text-brand-primary-600 mr-1 h-3 w-3"}),iconPosition:"left",size:"xs",tag:"h6",title:(0,Y.__)(e.title,"header-footer-elementor"),className:"text-[14px]"})}))),l().createElement("div",{className:"flex items-center pb-3 gap-4"},l().createElement(I.Button,{variant:"secondary",className:"hfe-remove-ring",onClick:function(){window.open("https://ultimateelementor.com/pricing/?utm_source=uae-lite-dashboard&utm_medium=unlock-ultimate-feature&utm_campaign=uae-lite-upgrade","_blank")}},(0,Y.__)("Upgrade Now","header-footer-elementor")),l().createElement(D,{className:"text-black cursor-pointer",to:q.upgrade.path},(0,Y.__)("Compare Free vs Pro","header-footer-elementor")))),l().createElement(I.Container.Item,{className:"flex justify-center items-center",style:{width:"34%"}},l().createElement("img",{src:"".concat(hfeSettingsData.column_url),alt:(0,Y.__)("Column Showcase","header-footer-elementor"),className:"w-full h-auto rounded"}))))};function Se(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function ke(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Se(i,r,o,a,s,"next",e)}function s(e){Se(i,r,o,a,s,"throw",e)}a(void 0)}))}}const Ce=window.regeneratorRuntime;var Ne=n.n(Ce);const Pe=function(e){var t=e.plugin,n=e.setUpdateCounter,r=t.path,o=t.slug,i=t.siteUrl,c=t.icon,u=t.type,d=t.name,f=t.zipUrl,m=t.desc,h=(t.wporg,t.isFree),p=(t.action,t.status),g=t.settings_url,y=a((0,s.useState)(!1),2),v=y[0],b=y[1],w=a((0,s.useState)(null),2),x=w[0],E=w[1],_=function(e){b(!1);var t=new window.FormData;t.append("action","hfe_recommended_plugin_activate"),t.append("nonce",hfe_admin_data.nonce),t.append("plugin",e.init),t.append("type",e.type),t.append("slug",e.slug);var r=document.querySelector('[data-slug="'.concat(e.slug,'"]')),o=r.querySelector("span");o.innerText=(0,Y.__)("Activating..","header-footer-elementor"),se()({url:hfe_admin_data.ajax_url,method:"POST",body:t}).then((function(t){if(t.success)o&&(r.style.color="#16A34A",r.dataset.action="site_redirect",r.classList.add("hfe-plugin-activated"),o.innerText=(0,Y.__)("Activated","header-footer-elementor"),window.open(g,"_blank"),setTimeout((function(){n((function(e){return e+1}))}),5e3));else{e.type;var i=document.querySelector('[data-slug="'.concat(e.slug,'"]'));if(i){var a=i.querySelector("span");a&&(a.innerText=(0,Y.__)("Activate","header-footer-elementor"))}}}))};return l().createElement(I.Container,{align:"center",containerType:"flex",direction:"column",justify:"between",gap:"lg"},l().createElement("div",{className:"flex items-center justify-between w-full"},l().createElement("div",{className:"h-5 w-5"},l().createElement("img",{src:c,alt:"Recommended Plugins/Themes",className:"w-full h-auto rounded",style:{width:"24px",height:"24px"}})),l().createElement("div",{className:"flex items-center gap-x-2"},h&&l().createElement(I.Badge,{label:(0,Y.__)("Free","header-footer-elementor"),size:"xs",type:"pill",variant:"green"}),l().createElement(I.Button,{size:"xs",variant:"link",className:"cursor-pointer hfe-remove-ring",onClick:function(e){var t=e.currentTarget.dataset.action,n=new window.FormData,r={init:e.currentTarget.dataset.init,type:e.currentTarget.dataset.type,slug:e.currentTarget.dataset.slug,name:e.currentTarget.dataset.pluginname};switch(t){case"hfe_recommended_plugin_activate":"theme"===r.type?(E(r),b(!0)):_(r);break;case"hfe_recommended_plugin_install":n.append("action","theme"===r.type?"hfe_recommended_theme_install":"hfe_recommended_plugin_install"),n.append("_ajax_nonce",hfe_admin_data.installer_nonce),n.append("slug",r.slug),e.target.innerText=(0,Y.__)("Installing..","header-footer-elementor"),se()({url:hfe_admin_data.ajax_url,method:"POST",body:n}).then((function(t){t.success||"folder_exists"===t.errorCode?(e.target.innerText=(0,Y.__)("Installed","header-footer-elementor"),function(e){var t=(new Date).toISOString().split("T")[0],n=new URLSearchParams({source:"UAE Lite",target_plugin:e.name,date:t});fetch("".concat("https://webhook.suretriggers.com/suretriggers/a7ac4b20-18f9-4ec6-9813-dfac83328d00","?").concat(n.toString()),{method:"GET"}).then((function(e){return e.json()})).then((function(e){})).catch((function(e){}))}(r),"theme"===r.type?(document.querySelector('[data-slug="'.concat(r.slug,'"]')).dataset.action="hfe_recommended_plugin_activate",e.target.innerText=(0,Y.__)("Activate","header-footer-elementor")):_(r)):(e.target.innerText=(0,Y.__)("Install","header-footer-elementor"),alert("theme"===r.type?(0,Y.__)("Theme Installation failed, Please try again later.","header-footer-elementor"):(0,Y.__)("Plugin Installation failed, Please try again later.","header-footer-elementor")))}));break;case"site_redirect":window.open(i,"_blank")}},"data-plugin":f,"data-type":u,"data-pluginname":d,"data-slug":o,"data-site":i,"data-init":r,"data-action":function(e){return"Activated"===e?"site_redirect":"Installed"===e?"hfe_recommended_plugin_activate":"hfe_recommended_plugin_install"}(p),style:{color:"Activated"===p?"#16A34A":"#6005FF"}},"Activated"===p?(0,Y.__)("Visit Site","header-footer-elementor"):"Installed"===p?"Activate":p),l().createElement(I.Dialog,{design:"simple",open:v,setOpen:b},l().createElement(I.Dialog.Backdrop,null),l().createElement(I.Dialog.Panel,null,l().createElement(I.Dialog.Header,null,l().createElement("div",{className:"flex items-center justify-between"},l().createElement(I.Dialog.Title,null,(0,Y.__)("Activate Theme","header-footer-elementor"))),l().createElement(I.Dialog.Description,null,(0,Y.__)("Are you sure you want to switch your current theme to Astra?","header-footer-elementor"))),l().createElement(I.Dialog.Footer,null,l().createElement(I.Button,{onClick:function(){return _(x)}},(0,Y.__)("Yes","header-footer-elementor")),l().createElement(I.Button,{variant:"outline",onClick:function(){return b(!1)}},(0,Y.__)("Close","header-footer-elementor"))))))),l().createElement("div",{className:"flex flex-col w-full pb-4"},l().createElement("p",{className:"text-sm font-medium text-text-primary pb-1 m-0 cursor-pointer",onClick:function(){return window.open(t.siteurl,"_blank")}},(0,Y.__)(d,"header-footer-elementor")),l().createElement("p",{className:"text-sm font-medium text-text-tertiary m-0"},(0,Y.__)(m,"header-footer-elementor"))))};function Te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}const Oe=function(){var e=a((0,s.useState)([]),2),t=e[0],n=e[1],r=a((0,s.useState)(!0),2),o=r[0],i=r[1],c=a((0,s.useState)(0),2),u=c[0],d=c[1],f=a((0,s.useState)(!1),2),m=f[0],p=f[1];function g(e){return Object.keys(e).map((function(t){return function(e){for(var t=1;t"object"==typeof window?((e?e.querySelector("#_goober"):window._goober)||Object.assign((e||document.head).appendChild(document.createElement("style")),{innerHTML:" ",id:"_goober"})).firstChild:e||Ue,He=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,Ye=/\/\*[^]*?\*\/| +/g,qe=/\n+/g,Ke=(e,t)=>{let n="",r="",o="";for(let i in e){let a=e[i];"@"==i[0]?"i"==i[1]?n=i+" "+a+";":r+="f"==i[1]?Ke(a,i):i+"{"+Ke(a,"k"==i[1]?"":t)+"}":"object"==typeof a?r+=Ke(a,t?t.replace(/([^,])+/g,(e=>i.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g,(t=>/&/.test(t)?t.replace(/&/g,e):e?e+" "+t:t)))):i):null!=a&&(i=/^--/.test(i)?i:i.replace(/[A-Z]/g,"-$&").toLowerCase(),o+=Ke.p?Ke.p(i,a):i+":"+a+";")}return n+(t&&o?t+"{"+o+"}":o)+r},Ge={},Xe=e=>{if("object"==typeof e){let t="";for(let n in e)t+=n+Xe(e[n]);return t}return e},Ze=(e,t,n,r,o)=>{let i=Xe(e),a=Ge[i]||(Ge[i]=(e=>{let t=0,n=11;for(;t>>0;return"go"+n})(i));if(!Ge[a]){let t=i!==e?e:(e=>{let t,n,r=[{}];for(;t=He.exec(e.replace(Ye,""));)t[4]?r.shift():t[3]?(n=t[3].replace(qe," ").trim(),r.unshift(r[0][n]=r[0][n]||{})):r[0][t[1]]=t[2].replace(qe," ").trim();return r[0]})(e);Ge[a]=Ke(o?{["@keyframes "+a]:t}:t,n?"":"."+a)}let s=n&&Ge.g?Ge.g:null;return n&&(Ge.g=Ge[a]),((e,t,n,r)=>{r?t.data=t.data.replace(r,e):-1===t.data.indexOf(e)&&(t.data=n?e+t.data:t.data+e)})(Ge[a],t,r,s),a};function Je(e){let t=this||{},n=e.call?e(t.p):e;return Ze(n.unshift?n.raw?((e,t,n)=>e.reduce(((e,r,o)=>{let i=t[o];if(i&&i.call){let e=i(n),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;i=t?"."+t:e&&"object"==typeof e?e.props?"":Ke(e,""):!1===e?"":e}return e+r+(null==i?"":i)}),""))(n,[].slice.call(arguments,1),t.p):n.reduce(((e,n)=>Object.assign(e,n&&n.call?n(t.p):n)),{}):n,$e(t.target),t.g,t.o,t.k)}Je.bind({g:1});let Qe,et,tt,nt=Je.bind({k:1});function rt(e,t){let n=this||{};return function(){let r=arguments;function o(i,a){let s=Object.assign({},i),l=s.className||o.className;n.p=Object.assign({theme:et&&et()},s),n.o=/ *go\d+/.test(l),s.className=Je.apply(n,r)+(l?" "+l:""),t&&(s.ref=a);let c=e;return e[0]&&(c=s.as||e,delete s.as),tt&&c[0]&&tt(s),Qe(c,s)}return t?t(o):o}}var ot=(e,t)=>(e=>"function"==typeof e)(e)?e(t):e,it=(()=>{let e=0;return()=>(++e).toString()})(),at=(()=>{let e;return()=>{if(void 0===e&&typeof window<"u"){let t=matchMedia("(prefers-reduced-motion: reduce)");e=!t||t.matches}return e}})(),st=new Map,lt=e=>{if(st.has(e))return;let t=setTimeout((()=>{st.delete(e),ft({type:4,toastId:e})}),1e3);st.set(e,t)},ct=(e,t)=>{switch(t.type){case 0:return{...e,toasts:[t.toast,...e.toasts].slice(0,20)};case 1:return t.toast.id&&(e=>{let t=st.get(e);t&&clearTimeout(t)})(t.toast.id),{...e,toasts:e.toasts.map((e=>e.id===t.toast.id?{...e,...t.toast}:e))};case 2:let{toast:n}=t;return e.toasts.find((e=>e.id===n.id))?ct(e,{type:1,toast:n}):ct(e,{type:0,toast:n});case 3:let{toastId:r}=t;return r?lt(r):e.toasts.forEach((e=>{lt(e.id)})),{...e,toasts:e.toasts.map((e=>e.id===r||void 0===r?{...e,visible:!1}:e))};case 4:return void 0===t.toastId?{...e,toasts:[]}:{...e,toasts:e.toasts.filter((e=>e.id!==t.toastId))};case 5:return{...e,pausedAt:t.time};case 6:let o=t.time-(e.pausedAt||0);return{...e,pausedAt:void 0,toasts:e.toasts.map((e=>({...e,pauseDuration:e.pauseDuration+o})))}}},ut=[],dt={toasts:[],pausedAt:void 0},ft=e=>{dt=ct(dt,e),ut.forEach((e=>{e(dt)}))},mt={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},ht=e=>(t,n)=>{let r=((e,t="blank",n)=>({createdAt:Date.now(),visible:!0,type:t,ariaProps:{role:"status","aria-live":"polite"},message:e,pauseDuration:0,...n,id:(null==n?void 0:n.id)||it()}))(t,e,n);return ft({type:2,toast:r}),r.id},pt=(e,t)=>ht("blank")(e,t);pt.error=ht("error"),pt.success=ht("success"),pt.loading=ht("loading"),pt.custom=ht("custom"),pt.dismiss=e=>{ft({type:3,toastId:e})},pt.remove=e=>ft({type:4,toastId:e}),pt.promise=(e,t,n)=>{let r=pt.loading(t.loading,{...n,...null==n?void 0:n.loading});return e.then((e=>(pt.success(ot(t.success,e),{id:r,...n,...null==n?void 0:n.success}),e))).catch((e=>{pt.error(ot(t.error,e),{id:r,...n,...null==n?void 0:n.error})})),e};var gt=(e,t)=>{ft({type:1,toast:{id:e,height:t}})},yt=()=>{ft({type:5,time:Date.now()})},vt=nt` +from { + transform: scale(0) rotate(45deg); + opacity: 0; +} +to { + transform: scale(1) rotate(45deg); + opacity: 1; +}`,bt=nt` +from { + transform: scale(0); + opacity: 0; +} +to { + transform: scale(1); + opacity: 1; +}`,wt=nt` +from { + transform: scale(0) rotate(90deg); + opacity: 0; +} +to { + transform: scale(1) rotate(90deg); + opacity: 1; +}`,xt=rt("div")` + width: 20px; + opacity: 0; + height: 20px; + border-radius: 10px; + background: ${e=>e.primary||"#ff4b4b"}; + position: relative; + transform: rotate(45deg); + + animation: ${vt} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) + forwards; + animation-delay: 100ms; + + &:after, + &:before { + content: ''; + animation: ${bt} 0.15s ease-out forwards; + animation-delay: 150ms; + position: absolute; + border-radius: 3px; + opacity: 0; + background: ${e=>e.secondary||"#fff"}; + bottom: 9px; + left: 4px; + height: 2px; + width: 12px; + } + + &:before { + animation: ${wt} 0.15s ease-out forwards; + animation-delay: 180ms; + transform: rotate(90deg); + } +`,Et=nt` + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +`,_t=rt("div")` + width: 12px; + height: 12px; + box-sizing: border-box; + border: 2px solid; + border-radius: 100%; + border-color: ${e=>e.secondary||"#e0e0e0"}; + border-right-color: ${e=>e.primary||"#616161"}; + animation: ${Et} 1s linear infinite; +`,St=nt` +from { + transform: scale(0) rotate(45deg); + opacity: 0; +} +to { + transform: scale(1) rotate(45deg); + opacity: 1; +}`,kt=nt` +0% { + height: 0; + width: 0; + opacity: 0; +} +40% { + height: 0; + width: 6px; + opacity: 1; +} +100% { + opacity: 1; + height: 10px; +}`,Ct=rt("div")` + width: 20px; + opacity: 0; + height: 20px; + border-radius: 10px; + background: ${e=>e.primary||"#61d345"}; + position: relative; + transform: rotate(45deg); + + animation: ${St} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) + forwards; + animation-delay: 100ms; + &:after { + content: ''; + box-sizing: border-box; + animation: ${kt} 0.2s ease-out forwards; + opacity: 0; + animation-delay: 200ms; + position: absolute; + border-right: 2px solid; + border-bottom: 2px solid; + border-color: ${e=>e.secondary||"#fff"}; + bottom: 6px; + left: 6px; + height: 10px; + width: 6px; + } +`,Nt=rt("div")` + position: absolute; +`,Pt=rt("div")` + position: relative; + display: flex; + justify-content: center; + align-items: center; + min-width: 20px; + min-height: 20px; +`,Tt=nt` +from { + transform: scale(0.6); + opacity: 0.4; +} +to { + transform: scale(1); + opacity: 1; +}`,Ot=rt("div")` + position: relative; + transform: scale(0.6); + opacity: 0.4; + min-width: 20px; + animation: ${Tt} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275) + forwards; +`,Mt=({toast:e})=>{let{icon:t,type:n,iconTheme:r}=e;return void 0!==t?"string"==typeof t?s.createElement(Ot,null,t):t:"blank"===n?null:s.createElement(Pt,null,s.createElement(_t,{...r}),"loading"!==n&&s.createElement(Nt,null,"error"===n?s.createElement(xt,{...r}):s.createElement(Ct,{...r})))},Rt=e=>`\n0% {transform: translate3d(0,${-200*e}%,0) scale(.6); opacity:.5;}\n100% {transform: translate3d(0,0,0) scale(1); opacity:1;}\n`,Dt=e=>`\n0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}\n100% {transform: translate3d(0,${-150*e}%,-1px) scale(.6); opacity:0;}\n`,At=rt("div")` + display: flex; + align-items: center; + background: #fff; + color: #363636; + line-height: 1.3; + will-change: transform; + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05); + max-width: 350px; + pointer-events: auto; + padding: 8px 10px; + border-radius: 8px; +`,jt=rt("div")` + display: flex; + justify-content: center; + margin: 4px 10px; + color: inherit; + flex: 1 1 auto; + white-space: pre-line; +`,It=s.memo((({toast:e,position:t,style:n,children:r})=>{let o=e.height?((e,t)=>{let n=e.includes("top")?1:-1,[r,o]=at()?["0%{opacity:0;} 100%{opacity:1;}","0%{opacity:1;} 100%{opacity:0;}"]:[Rt(n),Dt(n)];return{animation:t?`${nt(r)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${nt(o)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}})(e.position||t||"top-center",e.visible):{opacity:0},i=s.createElement(Mt,{toast:e}),a=s.createElement(jt,{...e.ariaProps},ot(e.message,e));return s.createElement(At,{className:e.className,style:{...o,...n,...e.style}},"function"==typeof r?r({icon:i,message:a}):s.createElement(s.Fragment,null,i,a))}));!function(e){Ke.p=void 0,Qe=e,et=void 0,tt=void 0}(s.createElement);var Ft=({id:e,className:t,style:n,onHeightUpdate:r,children:o})=>{let i=s.useCallback((t=>{if(t){let n=()=>{let n=t.getBoundingClientRect().height;r(e,n)};n(),new MutationObserver(n).observe(t,{subtree:!0,childList:!0,characterData:!0})}}),[e,r]);return s.createElement("div",{ref:i,className:t,style:n},o)},Lt=Je` + z-index: 9999; + > * { + pointer-events: auto; + } +`,zt=({reverseOrder:e,position:t="top-center",toastOptions:n,gutter:r,children:o,containerStyle:i,containerClassName:a})=>{let{toasts:l,handlers:c}=(e=>{let{toasts:t,pausedAt:n}=((e={})=>{let[t,n]=(0,s.useState)(dt);(0,s.useEffect)((()=>(ut.push(n),()=>{let e=ut.indexOf(n);e>-1&&ut.splice(e,1)})),[t]);let r=t.toasts.map((t=>{var n,r;return{...e,...e[t.type],...t,duration:t.duration||(null==(n=e[t.type])?void 0:n.duration)||(null==e?void 0:e.duration)||mt[t.type],style:{...e.style,...null==(r=e[t.type])?void 0:r.style,...t.style}}}));return{...t,toasts:r}})(e);(0,s.useEffect)((()=>{if(n)return;let e=Date.now(),r=t.map((t=>{if(t.duration===1/0)return;let n=(t.duration||0)+t.pauseDuration-(e-t.createdAt);if(!(n<0))return setTimeout((()=>pt.dismiss(t.id)),n);t.visible&&pt.dismiss(t.id)}));return()=>{r.forEach((e=>e&&clearTimeout(e)))}}),[t,n]);let r=(0,s.useCallback)((()=>{n&&ft({type:6,time:Date.now()})}),[n]),o=(0,s.useCallback)(((e,n)=>{let{reverseOrder:r=!1,gutter:o=8,defaultPosition:i}=n||{},a=t.filter((t=>(t.position||i)===(e.position||i)&&t.height)),s=a.findIndex((t=>t.id===e.id)),l=a.filter(((e,t)=>te.visible)).slice(...r?[l+1]:[0,l]).reduce(((e,t)=>e+(t.height||0)+o),0)}),[t]);return{toasts:t,handlers:{updateHeight:gt,startPause:yt,endPause:r,calculateOffset:o}}})(n);return s.createElement("div",{style:{position:"fixed",zIndex:9999,top:16,left:16,right:16,bottom:16,pointerEvents:"none",...i},className:a,onMouseEnter:c.startPause,onMouseLeave:c.endPause},l.map((n=>{let i=n.position||t,a=((e,t)=>{let n=e.includes("top"),r=n?{top:0}:{bottom:0},o=e.includes("center")?{justifyContent:"center"}:e.includes("right")?{justifyContent:"flex-end"}:{};return{left:0,right:0,display:"flex",position:"absolute",transition:at()?void 0:"all 230ms cubic-bezier(.21,1.02,.73,1)",transform:`translateY(${t*(n?1:-1)}px)`,...r,...o}})(i,c.calculateOffset(n,{reverseOrder:e,gutter:r,defaultPosition:t}));return s.createElement(Ft,{id:n.id,key:n.id,onHeightUpdate:c.updateHeight,className:n.visible?Lt:"",style:a},"custom"===n.type?ot(n.message,n):o?o(n):s.createElement(It,{toast:n,position:i}))})))},Bt=pt,Wt=[{id:"1",title:(0,Y.__)("Option 1 (Recommended)","header-footer-elementor"),description:(0,Y.__)("This option will automatically replace your theme's header and footer files with custom templates from the plugin. It works with most themes and is selected by default.","header-footer-elementor"),value:"1"},{id:"2",title:(0,Y.__)("Option 2","header-footer-elementor"),description:(0,Y.__)("This option will automatically replace your theme's header and footer files with custom templates from the plugin. It works with most themes and is selected by default.","header-footer-elementor"),value:"2"}];const Vt=function(){if("no"===hfeSettingsData.show_theme_support)return null;var e=a((0,s.useState)(hfeSettingsData.theme_option),2),t=e[0],n=e[1],r=a((0,s.useState)(!0),2),o=r[0],i=r[1];(0,s.useEffect)((function(){i(!1)}),[]);var c=function(e){var t=e.target.value;n(t),o||u(t)},u=function(){var e=ke(Ne().mark((function e(t){var n;return Ne().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch(hfe_admin_data.ajax_url,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({action:"save_theme_compatibility_option",hfe_compatibility_option:t,nonce:hfe_admin_data.nonce})});case 3:return n=e.sent,e.next=6,n.json();case 6:e.sent.success?Bt.success((0,Y.__)("Settings saved successfully!","header-footer-elementor")):Bt.error((0,Y.__)("Failed to save settings!","header-footer-elementor")),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(0),Bt.error((0,Y.__)("Failed to save settings!","header-footer-elementor"));case 13:case"end":return e.stop()}}),e,null,[[0,10]])})));return function(t){return e.apply(this,arguments)}}();return l().createElement(l().Fragment,null,l().createElement(I.Title,{description:"",icon:null,iconPosition:"right",size:"sm",tag:"h2",title:(0,Y.__)("Theme Support","header-footer-elementor")}),l().createElement(I.Container,{align:"stretch",className:"bg-background-primary p-6 rounded-lg",containerType:"flex",direction:"column",gap:"sm",justify:"start",style:{marginTop:"24px",maxWidth:"696px"}},l().createElement(I.Container.Item,{className:"flex flex-col space-y-1"},l().createElement("p",{className:"text-base font-semibold m-0"},(0,Y.__)("Select Option to Add Theme Support","header-footer-elementor")),l().createElement("p",{className:"text-sm font-normal m-0"},(0,Y.__)("To ensure compatibility between the header/footer and your theme, please choose one of the following options to enable theme support:","header-footer-elementor"))),l().createElement(I.Container.Item,{className:"p-2 space-y-4",alignSelf:"auto",order:"none"},Wt.map((function(e){return l().createElement("div",{key:e.id,className:"flex items-start gap-1 justify-center cursor-pointer"},l().createElement("input",{id:e.id,value:e.value,type:"radio",className:"mt-1 cursor-pointer hfe-radio-field",name:"theme-support-option",onChange:c,checked:t===e.value}),l().createElement("div",{className:"flex flex-col cursor-pointer"},l().createElement(I.Label,{size:"sm",variant:"neutral",className:"text-sm font-semibold text-text-secondary cursor-pointer flex flex-col items-start justify-start",htmlFor:e.id},e.title,":",l().createElement("p",{className:"m-0 text-sm font-normal text-text-secondary cursor-pointer"},e.description))))}))),l().createElement("div",{className:"flex items-center p-4 border rounded-lg text-start",style:{paddingTop:"16px",paddingBottom:"16px",backgroundColor:"#F3F0FF"}},l().createElement("p",{className:"m-0 text-sm"},l().createElement("strong",null,(0,Y.__)("Note:","header-footer-elementor"))," ",(0,Y.__)("If neither option works, please contact your theme author to add support for this plugin.","header-footer-elementor")))),l().createElement(zt,{position:"top-right",reverseOrder:!1,gutter:8,containerStyle:{top:20,right:20,marginTop:"80px"},toastOptions:{duration:5e3,style:{background:"white"},success:{duration:3e3,style:{color:""},iconTheme:{primary:"#6005ff",secondary:"#fff"}}}}))},Ut=function(){var e=hfeSettingsData.uaelite_versions,t=(0,s.useRef)(e?e[0].value:""),n=a((0,s.useState)(e?e[0].value:""),2),r=n[0],o=n[1],i=a((0,s.useState)("elementor-header-footer"),2),c=(i[0],i[1]),u=a((0,s.useState)(!1),2),d=u[0],f=u[1];return(0,s.useEffect)((function(){}),[d]),l().createElement(l().Fragment,null,l().createElement(I.Title,{description:"",icon:null,iconPosition:"right",size:"sm",tag:"h2",title:(0,Y.__)("Version Control","header-footer-elementor")}),l().createElement("div",{className:"box-border bg-background-primary p-6 rounded-lg",style:{marginTop:"24px"}},l().createElement(I.Container,{align:"center",className:"flex flex-col lg:flex-row",containerType:"flex",direction:"column",gap:"sm",justify:"start"},l().createElement(I.Container.Item,{className:"shrink flex flex-col space-y-1"},l().createElement("p",{className:"text-base font-semibold m-0"},(0,Y.__)("Rollback to Previous Version","header-footer-elementor")),l().createElement("p",{className:"text-sm font-normal m-0"},(0,Y.__)("Experiencing an issue with current version? Roll back to a previous version to help troubleshoot the issue.","header-footer-elementor"))),l().createElement(I.Container.Item,{className:"p-2 flex space-y-4",alignSelf:"auto",order:"none"},l().createElement("div",{className:"bsf-rollback-version"},l().createElement("input",{type:"hidden",name:"product-name",id:"bsf-product-name",value:"header-footer-elementor"}),l().createElement("select",{id:"uaeliteVersionRollback",ref:t,onBlur:function(){c("elementor-header-footer")},onChange:function(e){o(e.target.value)},style:{padding:"8px",marginRight:"10px",marginTop:"16px",cursor:"pointer",borderRadius:"4px",height:"40px",width:"100px",outline:"none",boxShadow:"none"},onFocus:function(e){return e.target.style.borderColor="#6005FF"}},e.map((function(e){return l().createElement("option",{key:e.value,value:e.value},e.label)})))),l().createElement("div",{className:"flex flex-col cursor-pointer"},l().createElement(I.Dialog,{design:"simple",exitOnEsc:!0,scrollLock:!0,open:d,setOpen:f,trigger:l().createElement(I.Button,{style:{backgroundColor:"#6005ff"}},(0,Y.__)("Rollback","header-footer-elementor"))},l().createElement(I.Dialog.Backdrop,null),l().createElement(I.Dialog.Panel,null,l().createElement(I.Dialog.Header,null,l().createElement("div",{className:"flex items-center justify-between"},l().createElement(I.Dialog.Title,null,(0,Y.__)("Rollback to Previous Version","header-footer-elementor")),l().createElement(I.Dialog.CloseButton,null))),l().createElement(I.Dialog.Body,null,(0,Y.__)("Are you sure you want to rollback to UAE Lite v".concat(r,"?"),"header-footer-elementor")),l().createElement(I.Dialog.Footer,null,l().createElement(I.Button,{onClick:function(){var e=hfeSettingsData.uaelite_rollback_url.replace("VERSION",r);f(!1),window.location.href=e}},(0,Y.__)("Rollback","header-footer-elementor")),l().createElement(I.Button,{onClick:function(){f(!1)}},(0,Y.__)("Cancel","header-footer-elementor"))))))))))},$t=function(){return l().createElement(l().Fragment,null,l().createElement(I.Title,{description:"",icon:null,iconPosition:"right",size:"sm",tag:"h2",title:(0,Y.__)("My Account","header-footer-elementor")}),l().createElement(I.Container,{align:"stretch",className:"bg-background-primary p-6 rounded-lg",containerType:"flex",direction:"column",gap:"sm",justify:"start",style:{marginTop:"24px"}},l().createElement(I.Container.Item,{className:"flex flex-col space-y-2"},l().createElement("p",{className:"text-base font-semibold m-0"},(0,Y.__)("License Key","header-footer-elementor")),l().createElement("p",{className:"text-sm font-normal m-0"},(0,Y.__)("You are using UAE Free version, no license key needed. "))),l().createElement("div",{className:"flex items-center justify-between px-4 rounded-xl",style:{paddingTop:"6px",paddingBottom:"6px",backgroundColor:"#F3F0FF"}},l().createElement("span",{className:"flex items-center gap-x-2 text-base font-semibold"},(0,Y.__)("Unlock Pro Features","header-footer-elementor"),l().createElement("p",{className:"text-base font-normal"},(0,Y.__)("Get access to advanced blocks and premium features.","header-footer-elementor"))),l().createElement(I.Button,{icon:l().createElement(W,null),iconPosition:"right",variant:"link",style:{color:"#6005FF",borderColor:"#6005FF",transition:"color 0.3s ease, border-color 0.3s ease",fontSize:"16px"},className:"hfe-remove-ring text-[#6005FF]",onClick:function(){window.open("https://ultimateelementor.com/pricing/?utm_source=uae-lite-settings&utm_medium=My-accounts&utm_campaign=uae-lite-upgrade","_blank")}},(0,Y.__)("Upgrade Now","header-footer-elementor")))))},Ht=function(){var e=[{id:1,icon:l().createElement("img",{src:"".concat(hfeSettingsData.user_url),alt:(0,Y.__)("Custom SVG","header-footer-elementor"),className:"object-contain"}),selected:l().createElement("img",{src:"".concat(hfeSettingsData.user__selected_url),alt:(0,Y.__)("Custom SVG","header-footer-elementor"),className:"object-contain"}),title:(0,Y.__)("My Account","header-footer-elementor"),content:l().createElement($t,null)},{id:2,icon:l().createElement("img",{src:"".concat(hfeSettingsData.theme_url),alt:(0,Y.__)("Custom SVG","header-footer-elementor"),className:"object-contain"}),selected:l().createElement("img",{src:"".concat(hfeSettingsData.theme_url_selected),alt:(0,Y.__)("Custom SVG","header-footer-elementor"),className:"object-contain"}),main:(0,Y.__)("Editor","header-footer-elementor"),title:(0,Y.__)("Theme Support","header-footer-elementor"),content:l().createElement(Vt,null)},{id:3,icon:l().createElement("img",{src:"".concat(hfeSettingsData.version_url),alt:(0,Y.__)("Custom SVG","header-footer-elementor"),className:"object-contain"}),selected:l().createElement("img",{src:"".concat(hfeSettingsData.version__selected_url),alt:(0,Y.__)("Custom SVG","header-footer-elementor"),className:"object-contain"}),main:(0,Y.__)("Utilities","header-footer-elementor"),title:(0,Y.__)("Version Control","header-footer-elementor"),content:l().createElement(Ut,null)}].filter((function(e){return"no"!==hfeSettingsData.show_theme_support||2!==e.id})),t=a((0,s.useState)((function(){var t=localStorage.getItem("hfeSelectedItemId");return e.find((function(e){return e.id===Number(t)}))||e[0]})),2),n=t[0],r=t[1];return(0,s.useEffect)((function(){localStorage.setItem("hfeSelectedItemId",n.id.toString())}),[n]),(0,s.useEffect)((function(){var t=new URLSearchParams(window.location.search).get("tab");if(t){var n=Number(t),o=e.find((function(e){return e.id===n}));o&&r(o)}}),[]),l().createElement(l().Fragment,null,l().createElement(re,{onSettingsTabClick:function(){r(e[0])}}),l().createElement("div",{className:""},l().createElement(I.Container,{align:"stretch",className:"p-1 flex-col lg:flex-row hfe-settings-page",containerType:"flex",direction:"row",gap:"sm",justify:"start",style:{height:"100%"}},l().createElement(I.Container.Item,{className:"p-2 hfe-sticky-outer-wrapper",alignSelf:"auto",order:"none",shrink:1,style:{backgroundColor:"#ffffff"}},l().createElement("div",{className:"hfe-sticky-sidebar"},l().createElement(We,{items:e,onSelectItem:function(e){r(e)},selectedItemId:n.id}))),l().createElement(I.Container.Item,{className:"p-2 flex w-full justify-center items-start hfe-hide-scrollbar",alignSelf:"auto",order:"none",shrink:1,style:{height:"calc(100vh - 1px)",overflowY:"auto"}},l().createElement("div",{className:"hfe-78-width"},l().createElement(Ve,{selectedItem:n}))))))},Yt=function(e){var t=e.onClose;return l().createElement("div",{className:"uae-upgrade p-3 d font-medium",style:{backgroundColor:"#E9E4FF",textAlign:"center",fontSize:"0.82rem",zIndex:"9",position:"relative"}},l().createElement("button",{onClick:t,style:{position:"absolute",top:"5px",right:"10px",background:"none",border:"none",fontSize:"24px",cursor:"pointer",color:"#000",width:"32px",height:"32px",display:"flex",alignItems:"center",justifyContent:"center"},"aria-label":(0,Y.__)("Close Upgrade Notice","header-footer-elementor")},"×"),l().createElement("strong",null,(0,Y.__)("Unlock Ultimate Addons For Elementor! ","header-footer-elementor")),l().createElement("span",null,(0,Y.__)("Get exclusive features and unbeatable performance. ","header-footer-elementor")," ",l().createElement("a",{href:"https://ultimateelementor.com/pricing/?utm_source=uae-lite-navbar&utm_medium=upgrade-now&utm_campaign=uae-lite-upgrade",target:"_blank",style:{color:"#000000"}},(0,Y.__)("Upgrade now","header-footer-elementor"))))},qt=B("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Kt=function(){var e=[{title:(0,Y.__)("Content Widgets","header-footer-elementor"),items:[{id:1,content:(0,Y.__)("Breadcrumbs","header-footer-elementor"),iconFree:!0,iconPro:!0},{id:2,content:(0,Y.__)("Price List","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:3,content:(0,Y.__)("Advanced Headings","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:4,content:(0,Y.__)("Toggle Button","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:5,content:(0,Y.__)("Business Hours","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:6,content:(0,Y.__)("Google Map","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:7,content:(0,Y.__)("Modal Popup","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:8,content:(0,Y.__)("Image Gallery","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:9,content:(0,Y.__)("Video Gallery","header-footer-elementor"),iconFree:!1,iconPro:!0}]},{title:(0,Y.__)("SEO Widgets","header-footer-elementor"),items:[{id:1,content:(0,Y.__)("Post Info","header-footer-elementor"),iconFree:!0,iconPro:!0},{id:2,content:(0,Y.__)("Business Reviews","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:3,content:(0,Y.__)("How to","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:4,content:(0,Y.__)("FAQ","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:5,content:(0,Y.__)("Table of Contents","header-footer-elementor"),iconFree:!1,iconPro:!0}]},{title:(0,Y.__)("Creative Features & Widgets","header-footer-elementor"),items:[{id:1,content:(0,Y.__)("Scroll to Top","header-footer-elementor"),iconFree:!0,iconPro:!0},{id:2,content:(0,Y.__)("Image Hotspot","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:3,content:(0,Y.__)("Content Timeline","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:4,content:(0,Y.__)("Countdown Timer","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:5,content:(0,Y.__)("Cross-site Copy Paste","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:6,content:(0,Y.__)("Welcome Music","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:7,content:(0,Y.__)("Conditional Display","header-footer-elementor"),iconFree:!1,iconPro:!0}]},{title:(0,Y.__)("Form Integrations","header-footer-elementor"),items:[{id:1,content:(0,Y.__)("Contact Form 7","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:2,content:(0,Y.__)("Gravity Forms","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:3,content:(0,Y.__)("WP Fluent","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:4,content:(0,Y.__)("WP Forms","header-footer-elementor"),iconFree:!1,iconPro:!0}]},{title:(0,Y.__)("Social Widgets","header-footer-elementor"),items:[{id:1,content:(0,Y.__)("Instagram","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:2,content:(0,Y.__)("X (Twitter)","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:3,content:(0,Y.__)("Social Share","header-footer-elementor"),iconFree:!1,iconPro:!0}]},{title:(0,Y.__)("WooCommerce Widgets","header-footer-elementor"),items:[{id:1,content:(0,Y.__)("Add To Cart","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:2,content:(0,Y.__)("Categories","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:3,content:(0,Y.__)("Checkout","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:4,content:(0,Y.__)("Mini Cart","header-footer-elementor"),iconFree:!1,iconPro:!0},{id:5,content:(0,Y.__)("Products","header-footer-elementor"),iconFree:!1,iconPro:!0}]}],t=function(e){return e?l().createElement(Ee,{color:"#16A34A"}):l().createElement(qt,{color:"#DC2626"})};return l().createElement("div",{className:"rounded-lg bg-white w-full mb-6"},l().createElement("div",{className:"flex items-center justify-between p-5",style:{paddingBottom:"0"}},l().createElement("div",{className:"flex flex-col"},l().createElement("p",{className:"m-0 text-xl font-semibold pt-4 text-text-primary"},(0,Y.__)("Free Vs Pro","header-footer-elementor")),l().createElement("p",{className:"m-0 text-sm font-normal pt-1 text-text-secondary"},(0,Y.__)("UAE Pro offers 50+ widgets and features!","header-footer-elementor")),l().createElement("p",{className:"m-0 text-sm font-normal pt-1 text-text-secondary"},(0,Y.__)("Compare the popular features/widgets to find the best option for your website.","header-footer-elementor"))),l().createElement("div",{className:"flex items-center gap-x-2 mr-7"},l().createElement(I.Button,{iconPosition:"right",variant:"primary",style:{color:"white",borderColor:"#6005FF",transition:"color 0.3s ease, border-color 0.3s ease",backgroundColor:"#6005ff"},className:"hfe-remove-ring text-[#6005FF]",onClick:function(){window.open("https://ultimateelementor.com/pricing/?utm_source=uae-lite-FreevsPro&utm_medium=get-uae-pro&utm_campaign=uae-lite-upgrade","_blank")}},(0,Y.__)("Get UAE Pro Now","header-footer-elementor")))),l().createElement("div",{className:"px-4"},l().createElement("div",{className:"flex flex-col space-y-2 pt-5"},e.map((function(e){return l().createElement(l().Fragment,{key:e.title},l().createElement("div",{className:"flex fle-row py-4 px-5 items-center h-4 justify-between rounded-lg shadow-container-item",style:{backgroundColor:"#F9FAFB"}},l().createElement("p",{className:"text-sm text-text-primary font-medium"},e.title),l().createElement("div",{className:"flex flex-row items-center",style:{gap:"12rem"}},l().createElement("p",{className:"text-sm text-text-primary font-medium"},(0,Y.__)("Free","header-footer-elementor")),l().createElement("p",{className:"text-sm text-text-primary font-medium",style:{marginRight:"50px"}},(0,Y.__)("Pro","header-footer-elementor")))),e.items.map((function(e){return l().createElement("div",{key:e.id,className:"flex fle-row py-4 px-5 items-center h-4 justify-between rounded-lg shadow-container-item"},l().createElement("p",{className:"text-sm text-text-secondary font-medium"},e.content),l().createElement("div",{className:"flex flex-row items-center",style:{gap:"12rem"}},l().createElement("p",{className:"text-sm text-text-primary font-medium"},t(e.iconFree)),l().createElement("p",{className:"text-sm text-text-primary font-medium",style:{marginRight:"50px"}},t(e.iconPro))))})))})))))},Gt=function(){var e=[{id:1,icon:"",title:(0,Y.__)("Modal Popup","header-footer-elementor")},{id:2,icon:"",title:(0,Y.__)("Advanced Heading","header-footer-elementor")},{id:3,icon:"",title:(0,Y.__)("Post Layouts","header-footer-elementor")},{id:4,icon:"",title:(0,Y.__)("Info Box","header-footer-elementor")},{id:5,icon:"",title:(0,Y.__)("Pricing Cards","header-footer-elementor")},{id:6,icon:"",title:(0,Y.__)("Form Stylers and more...","header-footer-elementor")}];return l().createElement("div",{className:"",style:{paddingBottom:"16px"}},l().createElement(I.Container,{className:"bg-background-primary gap-1 p-4 border-[0.5px] border-subtle rounded-xl shadow-sm",containerType:"flex",direction:"column",justify:"between",gap:"xs"},l().createElement(I.Container.Item,{className:"flex flex-col justify-center items-center"},l().createElement("img",{src:"".concat(hfeSettingsData.column_url),alt:(0,Y.__)("Column Showcase","header-footer-elementor"),className:"h-auto rounded w-1/2"})),l().createElement(I.Container.Item,{className:"flex flex-col justify-between"},l().createElement("div",null,l().createElement(I.Title,{description:"",icon:l().createElement(xe,null),iconPosition:"left",size:"xs",tag:"h6",title:(0,Y.__)("Unlock Ultimate Features","header-footer-elementor"),className:"text-xs font-semibold text-brand-primary-600"}),l().createElement(I.Title,{description:"",icon:"",iconPosition:"left",tag:"h6",title:(0,Y.__)("Create Ultimate Designs with Addons Pro!","header-footer-elementor"),className:"py-1 text-sm"}),l().createElement("p",{className:"text-md m-0 text-text-secondary"},(0,Y.__)("Get access to advanced widgets and features to create the website that stands out!","header-footer-elementor"))),l().createElement("div",{className:"grid grid-cols-2 grid-flow-row gap-1 my-4"},e.map((function(e){return l().createElement(I.Title,{key:e.id,description:"",icon:l().createElement(Ee,{className:"text-brand-primary-600 mr-1 h-3 w-3"}),iconPosition:"left",size:"xs",tag:"h6",title:e.title,className:"text-md m-0 text-text-secondary hfe-compare-section"})}))),l().createElement("div",{className:""},l().createElement(I.Button,{iconPosition:"right",variant:"secondary",className:"hfe-remove-ring",style:{width:"100%"},onClick:function(){window.open("https://ultimateelementor.com/pricing/?utm_source=uae-lite-free-vs-pro&utm_medium=My-accounts&utm_campaign=uae-lite-upgrade","_blank")}},(0,Y.__)("Upgrade Now","header-footer-elementor"))))))},Xt=function(){return l().createElement(l().Fragment,null,l().createElement(re,null),l().createElement("div",null,l().createElement(I.Container,{align:"stretch",className:"p-6 flex-col lg:flex-row box-border",containerType:"flex",direction:"row",gap:"sm",justify:"start",style:{width:"100%"}},l().createElement(I.Container.Item,{className:"p-2 hfe-65-width",alignSelf:"auto",order:"none",shrink:0},l().createElement(Kt,null)),l().createElement(I.Container.Item,{className:"p-2 w-full hfe-35-width",shrink:1},l().createElement(Gt,null),l().createElement(Oe,null),l().createElement(ge,null)))))},Zt=function(){var e;return React.createElement(j,{routes:q,defaultRoute:null==q||null===(e=q.dashboard)||void 0===e?void 0:e.path},React.createElement(P,{path:q.dashboard.path},React.createElement(Me,null)),React.createElement(P,{path:q.widgets.path},React.createElement(Le,null)),React.createElement(P,{path:q.templates.path},React.createElement(Be,null)),React.createElement(P,{path:q.settings.path},React.createElement(Ht,null)),React.createElement(P,{path:q.upgrade.path},React.createElement(Xt,null)))},Jt=function(){var e=a((0,s.useState)(!1),2),t=e[0],n=e[1],r=a((0,s.useState)(!0),2),o=r[0],i=r[1];return window.onhashchange=function(){window.scrollTo(0,0)},(0,s.useEffect)((function(){setTimeout((function(){n(!0)}),1e3)}),[]),t?React.createElement("div",{className:"app-container font-figtree"},o&&React.createElement(Yt,{onClose:function(){return i(!1)}}),React.createElement(Zt,null)):React.createElement("div",{className:"loading-spinner flex items-center justify-center h-screen",style:{background:"#F9FAFB"}},React.createElement(I.Loader,{icon:null,size:"lg",variant:"primary"}))};r()((function(){var t=document.getElementById("hfe-settings-app");t&&(0,e.H)(t).render(React.createElement(Jt,null))}))})()})(); +//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/build/main.js.LICENSE.txt b/build/main.js.LICENSE.txt new file mode 100644 index 00000000..f9c3cd05 --- /dev/null +++ b/build/main.js.LICENSE.txt @@ -0,0 +1,12 @@ +/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ + +/** + * @license lucide-react v0.446.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ diff --git a/build/main.js.map b/build/main.js.map new file mode 100644 index 00000000..c865194a --- /dev/null +++ b/build/main.js.map @@ -0,0 +1 @@ +{"version":3,"file":"main.js","mappings":"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","sources":["webpack://header-footer-elementor/./node_modules/@bsf/force-ui/dist/force-ui.js","webpack://header-footer-elementor/./node_modules/path-to-regexp/dist/index.js","webpack://header-footer-elementor/./node_modules/querystringify/index.js","webpack://header-footer-elementor/./node_modules/react-dom/client.js","webpack://header-footer-elementor/external window \"ReactDOM\"","webpack://header-footer-elementor/./node_modules/classnames/index.js","webpack://header-footer-elementor/webpack/bootstrap","webpack://header-footer-elementor/webpack/runtime/compat get default export","webpack://header-footer-elementor/webpack/runtime/define property getters","webpack://header-footer-elementor/webpack/runtime/hasOwnProperty shorthand","webpack://header-footer-elementor/external window [\"wp\",\"domReady\"]","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://header-footer-elementor/external window \"React\"","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://header-footer-elementor/external window [\"wp\",\"element\"]","webpack://header-footer-elementor/./node_modules/history/index.js","webpack://header-footer-elementor/./src/router/utils.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://header-footer-elementor/./src/router/context.js","webpack://header-footer-elementor/./src/router/route.js","webpack://header-footer-elementor/./src/router/link.js","webpack://header-footer-elementor/./src/router/index.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/shared/src/utils.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/defaultAttributes.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/Icon.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/createLucideIcon.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/arrow-up-right.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/circle-help.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/file-text.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/headset.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/user.js","webpack://header-footer-elementor/external window [\"wp\",\"i18n\"]","webpack://header-footer-elementor/./src/admin/settings/routes.js","webpack://header-footer-elementor/./node_modules/whats-new-rss/dist/react/useWhatsNewRSS.js","webpack://header-footer-elementor/./src/Components/NavMenu.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/info.js","webpack://header-footer-elementor/external window [\"wp\",\"apiFetch\"]","webpack://header-footer-elementor/./src/Components/Dashboard/WidgetItem.jsx","webpack://header-footer-elementor/./src/Components/Dashboard/Widgets.jsx","webpack://header-footer-elementor/./src/Components/Dashboard/TemplateSection.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/headphones.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/star.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/notepad-text.js","webpack://header-footer-elementor/./src/Components/Dashboard/QuickAccess.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/plus.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/external-link.js","webpack://header-footer-elementor/./src/Components/HeaderLine.js","webpack://header-footer-elementor/./src/Components/Dashboard/WelcomeContainer.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/zap.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/check.js","webpack://header-footer-elementor/./src/Components/Dashboard/UltimateFeatures.js","webpack://header-footer-elementor/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://header-footer-elementor/external window \"regeneratorRuntime\"","webpack://header-footer-elementor/./src/Components/Dashboard/ExtendWebsiteWidget.jsx","webpack://header-footer-elementor/./src/Components/Dashboard/ExtendWebsite.jsx","webpack://header-footer-elementor/./src/Components/Dashboard/Dashboard.jsx","webpack://header-footer-elementor/./src/Components/Widgets/UltimateWidgets.jsx","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/search.js","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/loader-circle.js","webpack://header-footer-elementor/./src/Components/Widgets/Features/FeatureWidgets.jsx","webpack://header-footer-elementor/./src/Components/Widgets/Features.jsx","webpack://header-footer-elementor/./src/Components/Templates/ExploreTemplates.jsx","webpack://header-footer-elementor/./src/Components/Templates/Templates.jsx","webpack://header-footer-elementor/./src/Components/Settings/Sidebar.jsx","webpack://header-footer-elementor/./src/Components/Settings/Content.jsx","webpack://header-footer-elementor/./node_modules/goober/dist/goober.modern.js","webpack://header-footer-elementor/./node_modules/react-hot-toast/dist/index.mjs","webpack://header-footer-elementor/./src/Components/Settings/ThemeSupport.jsx","webpack://header-footer-elementor/./src/Components/Settings/VersionControl.jsx","webpack://header-footer-elementor/./src/Components/Dashboard/MyAccount.jsx","webpack://header-footer-elementor/./src/Components/Settings/Settings.jsx","webpack://header-footer-elementor/./src/Components/UpgradeNotice.jsx","webpack://header-footer-elementor/./node_modules/lucide-react/dist/esm/icons/x.js","webpack://header-footer-elementor/./src/Components/Compare/FreevsPro.jsx","webpack://header-footer-elementor/./src/Components/Compare/UltimateCompare.jsx","webpack://header-footer-elementor/./src/Components/Compare/Upgrade.jsx","webpack://header-footer-elementor/./src/router/customRouter.js","webpack://header-footer-elementor/./src/App.js","webpack://header-footer-elementor/./src/index.js"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports[\"force-ui.[file].js\"]=t():e[\"force-ui.[file].js\"]=t()}(\"undefined\"!=typeof self?self:this,(function(){return function(){\"use strict\";var e={316:function(e,t,n){function r(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}n.d(t,{A:function(){return i}});var o=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,i=r((function(e){return o.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91}))},20:function(e,t,n){var r=n(609),o=Symbol.for(\"react.element\"),i=Symbol.for(\"react.fragment\"),s=Object.prototype.hasOwnProperty,a=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,i={},c=null,u=null;for(r in void 0!==n&&(c=\"\"+n),void 0!==t.key&&(c=\"\"+t.key),void 0!==t.ref&&(u=t.ref),t)s.call(t,r)&&!l.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===i[r]&&(i[r]=t[r]);return{$$typeof:o,type:e,key:c,ref:u,props:i,_owner:a.current}}t.Fragment=i,t.jsx=c,t.jsxs=c},848:function(e,t,n){e.exports=n(20)},609:function(e){e.exports=window.React}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var r={};n.r(r),n.d(r,{Alert:function(){return Gh},Avatar:function(){return oi},Badge:function(){return Zo},Breadcrumb:function(){return kk},Button:function(){return de},ButtonGroup:function(){return Pi},Checkbox:function(){return Me},Container:function(){return qh},DatePicker:function(){return FO},Dialog:function(){return qk},Drawer:function(){return CC},DropdownMenu:function(){return GE},EditorInput:function(){return NS},Input:function(){return fi},Label:function(){return gi},Loader:function(){return bi},Menu:function(){return ZS},Pagination:function(){return GC},ProgressBar:function(){return xi},ProgressSteps:function(){return zS},RadioButton:function(){return Ko},SearchBox:function(){return ME},Select:function(){return Nm},Sidebar:function(){return ck},Skeleton:function(){return VS},Switch:function(){return be},Tabs:function(){return am},TextArea:function(){return ri},Title:function(){return yi},Toaster:function(){return mh},Tooltip:function(){return Do},Topbar:function(){return nE},toast:function(){return Hm}});var o={};n.r(o),n.d(o,{Button:function(){return XC},CaptionLabel:function(){return ZC},Chevron:function(){return JC},Day:function(){return QC},DayButton:function(){return e_},Dropdown:function(){return t_},DropdownNav:function(){return n_},Footer:function(){return r_},Month:function(){return o_},MonthCaption:function(){return i_},MonthGrid:function(){return s_},Months:function(){return a_},MonthsDropdown:function(){return u_},Nav:function(){return d_},NextMonthButton:function(){return f_},Option:function(){return m_},PreviousMonthButton:function(){return h_},Root:function(){return p_},Select:function(){return g_},Week:function(){return y_},WeekNumber:function(){return x_},WeekNumberHeader:function(){return w_},Weekday:function(){return v_},Weekdays:function(){return b_},Weeks:function(){return S_},YearsDropdown:function(){return k_}});var i={};n.r(i),n.d(i,{formatCaption:function(){return LP},formatDay:function(){return zP},formatMonthCaption:function(){return FP},formatMonthDropdown:function(){return BP},formatWeekNumber:function(){return WP},formatWeekNumberHeader:function(){return VP},formatWeekdayName:function(){return UP},formatYearCaption:function(){return YP},formatYearDropdown:function(){return $P}});var s={};n.r(s),n.d(s,{labelCaption:function(){return KP},labelDay:function(){return XP},labelDayButton:function(){return GP},labelGrid:function(){return HP},labelGridcell:function(){return qP},labelMonthDropdown:function(){return JP},labelNav:function(){return ZP},labelNext:function(){return QP},labelPrevious:function(){return eO},labelWeekNumber:function(){return nO},labelWeekNumberHeader:function(){return rO},labelWeekday:function(){return tO},labelYearDropdown:function(){return oO}});var a=n(609),l=n.n(a);const c=e=>{const t=m(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{const n=e.split(\"-\");return\"\"===n[0]&&1!==n.length&&n.shift(),u(n,t)||f(e)},getConflictingClassGroupIds:(e,t)=>{const o=n[e]||[];return t&&r[e]?[...o,...r[e]]:o}}},u=(e,t)=>{if(0===e.length)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),o=r?u(e.slice(1),r):void 0;if(o)return o;if(0===t.validators.length)return;const i=e.join(\"-\");return t.validators.find((({validator:e})=>e(i)))?.classGroupId},d=/^\\[(.+)\\]$/,f=e=>{if(d.test(e)){const t=d.exec(e)[1],n=t?.substring(0,t.indexOf(\":\"));if(n)return\"arbitrary..\"+n}},m=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return y(Object.entries(e.classGroups),n).forEach((([e,n])=>{h(n,r,e,t)})),r},h=(e,t,n,r)=>{e.forEach((e=>{if(\"string\"!=typeof e){if(\"function\"==typeof e)return g(e)?void h(e(r),t,n,r):void t.validators.push({validator:e,classGroupId:n});Object.entries(e).forEach((([e,o])=>{h(o,p(t,e),n,r)}))}else(\"\"===e?t:p(t,e)).classGroupId=n}))},p=(e,t)=>{let n=e;return t.split(\"-\").forEach((e=>{n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)})),n},g=e=>e.isThemeGetter,y=(e,t)=>t?e.map((([e,n])=>[e,n.map((e=>\"string\"==typeof e?t+e:\"object\"==typeof e?Object.fromEntries(Object.entries(e).map((([e,n])=>[t+e,n]))):e))])):e,v=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const o=(o,i)=>{n.set(o,i),t++,t>e&&(t=0,r=n,n=new Map)};return{get(e){let t=n.get(e);return void 0!==t?t:void 0!==(t=r.get(e))?(o(e,t),t):void 0},set(e,t){n.has(e)?n.set(e,t):o(e,t)}}},b=e=>{const{separator:t,experimentalParseClassName:n}=e,r=1===t.length,o=t[0],i=t.length,s=e=>{const n=[];let s,a=0,l=0;for(let c=0;cl?s-l:void 0}};return n?e=>n({className:e,parseClassName:s}):s},x=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach((e=>{\"[\"===e[0]?(t.push(...n.sort(),e),n=[]):n.push(e)})),t.push(...n.sort()),t},w=/\\s+/;function S(){let e,t,n=0,r=\"\";for(;n{if(\"string\"==typeof e)return e;let t,n=\"\";for(let r=0;rt(e)),e());return n=(e=>({cache:v(e.cacheSize),parseClassName:b(e),...c(e)}))(l),r=n.cache.get,o=n.cache.set,i=s,s(a)};function s(e){const t=r(e);if(t)return t;const i=((e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,i=[],s=e.trim().split(w);let a=\"\";for(let e=s.length-1;e>=0;e-=1){const t=s[e],{modifiers:l,hasImportantModifier:c,baseClassName:u,maybePostfixModifierPosition:d}=n(t);let f=Boolean(d),m=r(f?u.substring(0,d):u);if(!m){if(!f){a=t+(a.length>0?\" \"+a:a);continue}if(m=r(u),!m){a=t+(a.length>0?\" \"+a:a);continue}f=!1}const h=x(l).join(\":\"),p=c?h+\"!\":h,g=p+m;if(i.includes(g))continue;i.push(g);const y=o(m,f);for(let e=0;e0?\" \"+a:a)}return a})(e,n);return o(e,i),i}return function(){return i(S.apply(null,arguments))}}const C=e=>{const t=t=>t[e]||[];return t.isThemeGetter=!0,t},_=/^\\[(?:([a-z-]+):)?(.+)\\]$/i,P=/^\\d+\\/\\d+$/,O=new Set([\"px\",\"full\",\"screen\"]),N=/^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/,T=/\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/,M=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/,R=/^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/,D=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/,j=e=>I(e)||O.has(e)||P.test(e),A=e=>G(e,\"length\",X),I=e=>Boolean(e)&&!Number.isNaN(Number(e)),L=e=>G(e,\"number\",I),F=e=>Boolean(e)&&Number.isInteger(Number(e)),z=e=>e.endsWith(\"%\")&&I(e.slice(0,-1)),B=e=>_.test(e),W=e=>N.test(e),V=new Set([\"length\",\"size\",\"percentage\"]),U=e=>G(e,V,Z),$=e=>G(e,\"position\",Z),Y=new Set([\"image\",\"url\"]),H=e=>G(e,Y,Q),K=e=>G(e,\"\",J),q=()=>!0,G=(e,t,n)=>{const r=_.exec(e);return!!r&&(r[1]?\"string\"==typeof t?r[1]===t:t.has(r[1]):n(r[2]))},X=e=>T.test(e)&&!M.test(e),Z=()=>!1,J=e=>R.test(e),Q=e=>D.test(e),ee=(Symbol.toStringTag,()=>{const e=C(\"colors\"),t=C(\"spacing\"),n=C(\"blur\"),r=C(\"brightness\"),o=C(\"borderColor\"),i=C(\"borderRadius\"),s=C(\"borderSpacing\"),a=C(\"borderWidth\"),l=C(\"contrast\"),c=C(\"grayscale\"),u=C(\"hueRotate\"),d=C(\"invert\"),f=C(\"gap\"),m=C(\"gradientColorStops\"),h=C(\"gradientColorStopPositions\"),p=C(\"inset\"),g=C(\"margin\"),y=C(\"opacity\"),v=C(\"padding\"),b=C(\"saturate\"),x=C(\"scale\"),w=C(\"sepia\"),S=C(\"skew\"),k=C(\"space\"),E=C(\"translate\"),_=()=>[\"auto\",B,t],P=()=>[B,t],O=()=>[\"\",j,A],N=()=>[\"auto\",I,B],T=()=>[\"\",\"0\",B],M=()=>[I,B];return{cacheSize:500,separator:\":\",theme:{colors:[q],spacing:[j,A],blur:[\"none\",\"\",W,B],brightness:M(),borderColor:[e],borderRadius:[\"none\",\"\",\"full\",W,B],borderSpacing:P(),borderWidth:O(),contrast:M(),grayscale:T(),hueRotate:M(),invert:T(),gap:P(),gradientColorStops:[e],gradientColorStopPositions:[z,A],inset:_(),margin:_(),opacity:M(),padding:P(),saturate:M(),scale:M(),sepia:T(),skew:M(),space:P(),translate:P()},classGroups:{aspect:[{aspect:[\"auto\",\"square\",\"video\",B]}],container:[\"container\"],columns:[{columns:[W]}],\"break-after\":[{\"break-after\":[\"auto\",\"avoid\",\"all\",\"avoid-page\",\"page\",\"left\",\"right\",\"column\"]}],\"break-before\":[{\"break-before\":[\"auto\",\"avoid\",\"all\",\"avoid-page\",\"page\",\"left\",\"right\",\"column\"]}],\"break-inside\":[{\"break-inside\":[\"auto\",\"avoid\",\"avoid-page\",\"avoid-column\"]}],\"box-decoration\":[{\"box-decoration\":[\"slice\",\"clone\"]}],box:[{box:[\"border\",\"content\"]}],display:[\"block\",\"inline-block\",\"inline\",\"flex\",\"inline-flex\",\"table\",\"inline-table\",\"table-caption\",\"table-cell\",\"table-column\",\"table-column-group\",\"table-footer-group\",\"table-header-group\",\"table-row-group\",\"table-row\",\"flow-root\",\"grid\",\"inline-grid\",\"contents\",\"list-item\",\"hidden\"],float:[{float:[\"right\",\"left\",\"none\",\"start\",\"end\"]}],clear:[{clear:[\"left\",\"right\",\"both\",\"none\",\"start\",\"end\"]}],isolation:[\"isolate\",\"isolation-auto\"],\"object-fit\":[{object:[\"contain\",\"cover\",\"fill\",\"none\",\"scale-down\"]}],\"object-position\":[{object:[\"bottom\",\"center\",\"left\",\"left-bottom\",\"left-top\",\"right\",\"right-bottom\",\"right-top\",\"top\",B]}],overflow:[{overflow:[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"]}],\"overflow-x\":[{\"overflow-x\":[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"]}],\"overflow-y\":[{\"overflow-y\":[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"]}],overscroll:[{overscroll:[\"auto\",\"contain\",\"none\"]}],\"overscroll-x\":[{\"overscroll-x\":[\"auto\",\"contain\",\"none\"]}],\"overscroll-y\":[{\"overscroll-y\":[\"auto\",\"contain\",\"none\"]}],position:[\"static\",\"fixed\",\"absolute\",\"relative\",\"sticky\"],inset:[{inset:[p]}],\"inset-x\":[{\"inset-x\":[p]}],\"inset-y\":[{\"inset-y\":[p]}],start:[{start:[p]}],end:[{end:[p]}],top:[{top:[p]}],right:[{right:[p]}],bottom:[{bottom:[p]}],left:[{left:[p]}],visibility:[\"visible\",\"invisible\",\"collapse\"],z:[{z:[\"auto\",F,B]}],basis:[{basis:_()}],\"flex-direction\":[{flex:[\"row\",\"row-reverse\",\"col\",\"col-reverse\"]}],\"flex-wrap\":[{flex:[\"wrap\",\"wrap-reverse\",\"nowrap\"]}],flex:[{flex:[\"1\",\"auto\",\"initial\",\"none\",B]}],grow:[{grow:T()}],shrink:[{shrink:T()}],order:[{order:[\"first\",\"last\",\"none\",F,B]}],\"grid-cols\":[{\"grid-cols\":[q]}],\"col-start-end\":[{col:[\"auto\",{span:[\"full\",F,B]},B]}],\"col-start\":[{\"col-start\":N()}],\"col-end\":[{\"col-end\":N()}],\"grid-rows\":[{\"grid-rows\":[q]}],\"row-start-end\":[{row:[\"auto\",{span:[F,B]},B]}],\"row-start\":[{\"row-start\":N()}],\"row-end\":[{\"row-end\":N()}],\"grid-flow\":[{\"grid-flow\":[\"row\",\"col\",\"dense\",\"row-dense\",\"col-dense\"]}],\"auto-cols\":[{\"auto-cols\":[\"auto\",\"min\",\"max\",\"fr\",B]}],\"auto-rows\":[{\"auto-rows\":[\"auto\",\"min\",\"max\",\"fr\",B]}],gap:[{gap:[f]}],\"gap-x\":[{\"gap-x\":[f]}],\"gap-y\":[{\"gap-y\":[f]}],\"justify-content\":[{justify:[\"normal\",\"start\",\"end\",\"center\",\"between\",\"around\",\"evenly\",\"stretch\"]}],\"justify-items\":[{\"justify-items\":[\"start\",\"end\",\"center\",\"stretch\"]}],\"justify-self\":[{\"justify-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],\"align-content\":[{content:[\"normal\",\"start\",\"end\",\"center\",\"between\",\"around\",\"evenly\",\"stretch\",\"baseline\"]}],\"align-items\":[{items:[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"align-self\":[{self:[\"auto\",\"start\",\"end\",\"center\",\"stretch\",\"baseline\"]}],\"place-content\":[{\"place-content\":[\"start\",\"end\",\"center\",\"between\",\"around\",\"evenly\",\"stretch\",\"baseline\"]}],\"place-items\":[{\"place-items\":[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"place-self\":[{\"place-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],\"space-x\":[{\"space-x\":[k]}],\"space-x-reverse\":[\"space-x-reverse\"],\"space-y\":[{\"space-y\":[k]}],\"space-y-reverse\":[\"space-y-reverse\"],w:[{w:[\"auto\",\"min\",\"max\",\"fit\",\"svw\",\"lvw\",\"dvw\",B,t]}],\"min-w\":[{\"min-w\":[B,t,\"min\",\"max\",\"fit\"]}],\"max-w\":[{\"max-w\":[B,t,\"none\",\"full\",\"min\",\"max\",\"fit\",\"prose\",{screen:[W]},W]}],h:[{h:[B,t,\"auto\",\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"min-h\":[{\"min-h\":[B,t,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"max-h\":[{\"max-h\":[B,t,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],size:[{size:[B,t,\"auto\",\"min\",\"max\",\"fit\"]}],\"font-size\":[{text:[\"base\",W,A]}],\"font-smoothing\":[\"antialiased\",\"subpixel-antialiased\"],\"font-style\":[\"italic\",\"not-italic\"],\"font-weight\":[{font:[\"thin\",\"extralight\",\"light\",\"normal\",\"medium\",\"semibold\",\"bold\",\"extrabold\",\"black\",L]}],\"font-family\":[{font:[q]}],\"fvn-normal\":[\"normal-nums\"],\"fvn-ordinal\":[\"ordinal\"],\"fvn-slashed-zero\":[\"slashed-zero\"],\"fvn-figure\":[\"lining-nums\",\"oldstyle-nums\"],\"fvn-spacing\":[\"proportional-nums\",\"tabular-nums\"],\"fvn-fraction\":[\"diagonal-fractions\",\"stacked-fractons\"],tracking:[{tracking:[\"tighter\",\"tight\",\"normal\",\"wide\",\"wider\",\"widest\",B]}],\"line-clamp\":[{\"line-clamp\":[\"none\",I,L]}],leading:[{leading:[\"none\",\"tight\",\"snug\",\"normal\",\"relaxed\",\"loose\",j,B]}],\"list-image\":[{\"list-image\":[\"none\",B]}],\"list-style-type\":[{list:[\"none\",\"disc\",\"decimal\",B]}],\"list-style-position\":[{list:[\"inside\",\"outside\"]}],\"placeholder-color\":[{placeholder:[e]}],\"placeholder-opacity\":[{\"placeholder-opacity\":[y]}],\"text-alignment\":[{text:[\"left\",\"center\",\"right\",\"justify\",\"start\",\"end\"]}],\"text-color\":[{text:[e]}],\"text-opacity\":[{\"text-opacity\":[y]}],\"text-decoration\":[\"underline\",\"overline\",\"line-through\",\"no-underline\"],\"text-decoration-style\":[{decoration:[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\",\"wavy\"]}],\"text-decoration-thickness\":[{decoration:[\"auto\",\"from-font\",j,A]}],\"underline-offset\":[{\"underline-offset\":[\"auto\",j,B]}],\"text-decoration-color\":[{decoration:[e]}],\"text-transform\":[\"uppercase\",\"lowercase\",\"capitalize\",\"normal-case\"],\"text-overflow\":[\"truncate\",\"text-ellipsis\",\"text-clip\"],\"text-wrap\":[{text:[\"wrap\",\"nowrap\",\"balance\",\"pretty\"]}],indent:[{indent:P()}],\"vertical-align\":[{align:[\"baseline\",\"top\",\"middle\",\"bottom\",\"text-top\",\"text-bottom\",\"sub\",\"super\",B]}],whitespace:[{whitespace:[\"normal\",\"nowrap\",\"pre\",\"pre-line\",\"pre-wrap\",\"break-spaces\"]}],break:[{break:[\"normal\",\"words\",\"all\",\"keep\"]}],hyphens:[{hyphens:[\"none\",\"manual\",\"auto\"]}],content:[{content:[\"none\",B]}],\"bg-attachment\":[{bg:[\"fixed\",\"local\",\"scroll\"]}],\"bg-clip\":[{\"bg-clip\":[\"border\",\"padding\",\"content\",\"text\"]}],\"bg-opacity\":[{\"bg-opacity\":[y]}],\"bg-origin\":[{\"bg-origin\":[\"border\",\"padding\",\"content\"]}],\"bg-position\":[{bg:[\"bottom\",\"center\",\"left\",\"left-bottom\",\"left-top\",\"right\",\"right-bottom\",\"right-top\",\"top\",$]}],\"bg-repeat\":[{bg:[\"no-repeat\",{repeat:[\"\",\"x\",\"y\",\"round\",\"space\"]}]}],\"bg-size\":[{bg:[\"auto\",\"cover\",\"contain\",U]}],\"bg-image\":[{bg:[\"none\",{\"gradient-to\":[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"]},H]}],\"bg-color\":[{bg:[e]}],\"gradient-from-pos\":[{from:[h]}],\"gradient-via-pos\":[{via:[h]}],\"gradient-to-pos\":[{to:[h]}],\"gradient-from\":[{from:[m]}],\"gradient-via\":[{via:[m]}],\"gradient-to\":[{to:[m]}],rounded:[{rounded:[i]}],\"rounded-s\":[{\"rounded-s\":[i]}],\"rounded-e\":[{\"rounded-e\":[i]}],\"rounded-t\":[{\"rounded-t\":[i]}],\"rounded-r\":[{\"rounded-r\":[i]}],\"rounded-b\":[{\"rounded-b\":[i]}],\"rounded-l\":[{\"rounded-l\":[i]}],\"rounded-ss\":[{\"rounded-ss\":[i]}],\"rounded-se\":[{\"rounded-se\":[i]}],\"rounded-ee\":[{\"rounded-ee\":[i]}],\"rounded-es\":[{\"rounded-es\":[i]}],\"rounded-tl\":[{\"rounded-tl\":[i]}],\"rounded-tr\":[{\"rounded-tr\":[i]}],\"rounded-br\":[{\"rounded-br\":[i]}],\"rounded-bl\":[{\"rounded-bl\":[i]}],\"border-w\":[{border:[a]}],\"border-w-x\":[{\"border-x\":[a]}],\"border-w-y\":[{\"border-y\":[a]}],\"border-w-s\":[{\"border-s\":[a]}],\"border-w-e\":[{\"border-e\":[a]}],\"border-w-t\":[{\"border-t\":[a]}],\"border-w-r\":[{\"border-r\":[a]}],\"border-w-b\":[{\"border-b\":[a]}],\"border-w-l\":[{\"border-l\":[a]}],\"border-opacity\":[{\"border-opacity\":[y]}],\"border-style\":[{border:[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\",\"hidden\"]}],\"divide-x\":[{\"divide-x\":[a]}],\"divide-x-reverse\":[\"divide-x-reverse\"],\"divide-y\":[{\"divide-y\":[a]}],\"divide-y-reverse\":[\"divide-y-reverse\"],\"divide-opacity\":[{\"divide-opacity\":[y]}],\"divide-style\":[{divide:[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\"]}],\"border-color\":[{border:[o]}],\"border-color-x\":[{\"border-x\":[o]}],\"border-color-y\":[{\"border-y\":[o]}],\"border-color-t\":[{\"border-t\":[o]}],\"border-color-r\":[{\"border-r\":[o]}],\"border-color-b\":[{\"border-b\":[o]}],\"border-color-l\":[{\"border-l\":[o]}],\"divide-color\":[{divide:[o]}],\"outline-style\":[{outline:[\"\",\"solid\",\"dashed\",\"dotted\",\"double\",\"none\"]}],\"outline-offset\":[{\"outline-offset\":[j,B]}],\"outline-w\":[{outline:[j,A]}],\"outline-color\":[{outline:[e]}],\"ring-w\":[{ring:O()}],\"ring-w-inset\":[\"ring-inset\"],\"ring-color\":[{ring:[e]}],\"ring-opacity\":[{\"ring-opacity\":[y]}],\"ring-offset-w\":[{\"ring-offset\":[j,A]}],\"ring-offset-color\":[{\"ring-offset\":[e]}],shadow:[{shadow:[\"\",\"inner\",\"none\",W,K]}],\"shadow-color\":[{shadow:[q]}],opacity:[{opacity:[y]}],\"mix-blend\":[{\"mix-blend\":[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\",\"plus-lighter\",\"plus-darker\"]}],\"bg-blend\":[{\"bg-blend\":[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\"]}],filter:[{filter:[\"\",\"none\"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],\"drop-shadow\":[{\"drop-shadow\":[\"\",\"none\",W,B]}],grayscale:[{grayscale:[c]}],\"hue-rotate\":[{\"hue-rotate\":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[b]}],sepia:[{sepia:[w]}],\"backdrop-filter\":[{\"backdrop-filter\":[\"\",\"none\"]}],\"backdrop-blur\":[{\"backdrop-blur\":[n]}],\"backdrop-brightness\":[{\"backdrop-brightness\":[r]}],\"backdrop-contrast\":[{\"backdrop-contrast\":[l]}],\"backdrop-grayscale\":[{\"backdrop-grayscale\":[c]}],\"backdrop-hue-rotate\":[{\"backdrop-hue-rotate\":[u]}],\"backdrop-invert\":[{\"backdrop-invert\":[d]}],\"backdrop-opacity\":[{\"backdrop-opacity\":[y]}],\"backdrop-saturate\":[{\"backdrop-saturate\":[b]}],\"backdrop-sepia\":[{\"backdrop-sepia\":[w]}],\"border-collapse\":[{border:[\"collapse\",\"separate\"]}],\"border-spacing\":[{\"border-spacing\":[s]}],\"border-spacing-x\":[{\"border-spacing-x\":[s]}],\"border-spacing-y\":[{\"border-spacing-y\":[s]}],\"table-layout\":[{table:[\"auto\",\"fixed\"]}],caption:[{caption:[\"top\",\"bottom\"]}],transition:[{transition:[\"none\",\"all\",\"\",\"colors\",\"opacity\",\"shadow\",\"transform\",B]}],duration:[{duration:M()}],ease:[{ease:[\"linear\",\"in\",\"out\",\"in-out\",B]}],delay:[{delay:M()}],animate:[{animate:[\"none\",\"spin\",\"ping\",\"pulse\",\"bounce\",B]}],transform:[{transform:[\"\",\"gpu\",\"none\"]}],scale:[{scale:[x]}],\"scale-x\":[{\"scale-x\":[x]}],\"scale-y\":[{\"scale-y\":[x]}],rotate:[{rotate:[F,B]}],\"translate-x\":[{\"translate-x\":[E]}],\"translate-y\":[{\"translate-y\":[E]}],\"skew-x\":[{\"skew-x\":[S]}],\"skew-y\":[{\"skew-y\":[S]}],\"transform-origin\":[{origin:[\"center\",\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\",\"top-left\",B]}],accent:[{accent:[\"auto\",e]}],appearance:[{appearance:[\"none\",\"auto\"]}],cursor:[{cursor:[\"auto\",\"default\",\"pointer\",\"wait\",\"text\",\"move\",\"help\",\"not-allowed\",\"none\",\"context-menu\",\"progress\",\"cell\",\"crosshair\",\"vertical-text\",\"alias\",\"copy\",\"no-drop\",\"grab\",\"grabbing\",\"all-scroll\",\"col-resize\",\"row-resize\",\"n-resize\",\"e-resize\",\"s-resize\",\"w-resize\",\"ne-resize\",\"nw-resize\",\"se-resize\",\"sw-resize\",\"ew-resize\",\"ns-resize\",\"nesw-resize\",\"nwse-resize\",\"zoom-in\",\"zoom-out\",B]}],\"caret-color\":[{caret:[e]}],\"pointer-events\":[{\"pointer-events\":[\"none\",\"auto\"]}],resize:[{resize:[\"none\",\"y\",\"x\",\"\"]}],\"scroll-behavior\":[{scroll:[\"auto\",\"smooth\"]}],\"scroll-m\":[{\"scroll-m\":P()}],\"scroll-mx\":[{\"scroll-mx\":P()}],\"scroll-my\":[{\"scroll-my\":P()}],\"scroll-ms\":[{\"scroll-ms\":P()}],\"scroll-me\":[{\"scroll-me\":P()}],\"scroll-mt\":[{\"scroll-mt\":P()}],\"scroll-mr\":[{\"scroll-mr\":P()}],\"scroll-mb\":[{\"scroll-mb\":P()}],\"scroll-ml\":[{\"scroll-ml\":P()}],\"scroll-p\":[{\"scroll-p\":P()}],\"scroll-px\":[{\"scroll-px\":P()}],\"scroll-py\":[{\"scroll-py\":P()}],\"scroll-ps\":[{\"scroll-ps\":P()}],\"scroll-pe\":[{\"scroll-pe\":P()}],\"scroll-pt\":[{\"scroll-pt\":P()}],\"scroll-pr\":[{\"scroll-pr\":P()}],\"scroll-pb\":[{\"scroll-pb\":P()}],\"scroll-pl\":[{\"scroll-pl\":P()}],\"snap-align\":[{snap:[\"start\",\"end\",\"center\",\"align-none\"]}],\"snap-stop\":[{snap:[\"normal\",\"always\"]}],\"snap-type\":[{snap:[\"none\",\"x\",\"y\",\"both\"]}],\"snap-strictness\":[{snap:[\"mandatory\",\"proximity\"]}],touch:[{touch:[\"auto\",\"none\",\"manipulation\"]}],\"touch-x\":[{\"touch-pan\":[\"x\",\"left\",\"right\"]}],\"touch-y\":[{\"touch-pan\":[\"y\",\"up\",\"down\"]}],\"touch-pz\":[\"touch-pinch-zoom\"],select:[{select:[\"none\",\"text\",\"all\",\"auto\"]}],\"will-change\":[{\"will-change\":[\"auto\",\"scroll\",\"contents\",\"transform\",B]}],fill:[{fill:[e,\"none\"]}],\"stroke-w\":[{stroke:[j,A,L]}],stroke:[{stroke:[e,\"none\"]}],sr:[\"sr-only\",\"not-sr-only\"],\"forced-color-adjust\":[{\"forced-color-adjust\":[\"auto\",\"none\"]}]},conflictingClassGroups:{overflow:[\"overflow-x\",\"overflow-y\"],overscroll:[\"overscroll-x\",\"overscroll-y\"],inset:[\"inset-x\",\"inset-y\",\"start\",\"end\",\"top\",\"right\",\"bottom\",\"left\"],\"inset-x\":[\"right\",\"left\"],\"inset-y\":[\"top\",\"bottom\"],flex:[\"basis\",\"grow\",\"shrink\"],gap:[\"gap-x\",\"gap-y\"],p:[\"px\",\"py\",\"ps\",\"pe\",\"pt\",\"pr\",\"pb\",\"pl\"],px:[\"pr\",\"pl\"],py:[\"pt\",\"pb\"],m:[\"mx\",\"my\",\"ms\",\"me\",\"mt\",\"mr\",\"mb\",\"ml\"],mx:[\"mr\",\"ml\"],my:[\"mt\",\"mb\"],size:[\"w\",\"h\"],\"font-size\":[\"leading\"],\"fvn-normal\":[\"fvn-ordinal\",\"fvn-slashed-zero\",\"fvn-figure\",\"fvn-spacing\",\"fvn-fraction\"],\"fvn-ordinal\":[\"fvn-normal\"],\"fvn-slashed-zero\":[\"fvn-normal\"],\"fvn-figure\":[\"fvn-normal\"],\"fvn-spacing\":[\"fvn-normal\"],\"fvn-fraction\":[\"fvn-normal\"],\"line-clamp\":[\"display\",\"overflow\"],rounded:[\"rounded-s\",\"rounded-e\",\"rounded-t\",\"rounded-r\",\"rounded-b\",\"rounded-l\",\"rounded-ss\",\"rounded-se\",\"rounded-ee\",\"rounded-es\",\"rounded-tl\",\"rounded-tr\",\"rounded-br\",\"rounded-bl\"],\"rounded-s\":[\"rounded-ss\",\"rounded-es\"],\"rounded-e\":[\"rounded-se\",\"rounded-ee\"],\"rounded-t\":[\"rounded-tl\",\"rounded-tr\"],\"rounded-r\":[\"rounded-tr\",\"rounded-br\"],\"rounded-b\":[\"rounded-br\",\"rounded-bl\"],\"rounded-l\":[\"rounded-tl\",\"rounded-bl\"],\"border-spacing\":[\"border-spacing-x\",\"border-spacing-y\"],\"border-w\":[\"border-w-s\",\"border-w-e\",\"border-w-t\",\"border-w-r\",\"border-w-b\",\"border-w-l\"],\"border-w-x\":[\"border-w-r\",\"border-w-l\"],\"border-w-y\":[\"border-w-t\",\"border-w-b\"],\"border-color\":[\"border-color-t\",\"border-color-r\",\"border-color-b\",\"border-color-l\"],\"border-color-x\":[\"border-color-r\",\"border-color-l\"],\"border-color-y\":[\"border-color-t\",\"border-color-b\"],\"scroll-m\":[\"scroll-mx\",\"scroll-my\",\"scroll-ms\",\"scroll-me\",\"scroll-mt\",\"scroll-mr\",\"scroll-mb\",\"scroll-ml\"],\"scroll-mx\":[\"scroll-mr\",\"scroll-ml\"],\"scroll-my\":[\"scroll-mt\",\"scroll-mb\"],\"scroll-p\":[\"scroll-px\",\"scroll-py\",\"scroll-ps\",\"scroll-pe\",\"scroll-pt\",\"scroll-pr\",\"scroll-pb\",\"scroll-pl\"],\"scroll-px\":[\"scroll-pr\",\"scroll-pl\"],\"scroll-py\":[\"scroll-pt\",\"scroll-pb\"],touch:[\"touch-x\",\"touch-y\",\"touch-pz\"],\"touch-x\":[\"touch\"],\"touch-y\":[\"touch\"],\"touch-pz\":[\"touch\"]},conflictingClassGroupModifiers:{\"font-size\":[\"leading\"]}}}),te=E(ee);function ne(e){var t,n,r=\"\";if(\"string\"==typeof e||\"number\"==typeof e)r+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;tsvg]:size-4\",sm:\"p-2 rounded [&>svg]:size-4 gap-0.5\",md:\"p-2.5 rounded-md text-sm [&>svg]:size-5 gap-1\",lg:\"p-3 rounded-lg text-base [&>svg]:size-6 gap-1\"})||void 0===o?void 0:o[u],R=null,D=\"\";S&&(D=\"flex items-center justify-center\",\"left\"===E?i=S:R=S);var j=h;return l().createElement(j,ce({ref:t,type:f,className:oe(D,\"outline outline-1 border-none cursor-pointer transition-colors duration-300 ease-in-out text-xs font-semibold focus:ring-2 focus:ring-toggle-on focus:ring-offset-2 disabled:text-text-disabled\",M,N,T,O,p),disabled:v},P),i,l().createElement(\"span\",{className:\"px-1\"},g),R)})),de=ue;let fe=(e=21)=>{let t=\"\",n=crypto.getRandomValues(new Uint8Array(e));for(;e--;)t+=\"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\"[63&n[e]];return t};var me=[\"id\",\"onChange\",\"value\",\"defaultValue\",\"size\",\"disabled\",\"label\",\"name\",\"className\"];function he(){return he=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.filter(((e,t,n)=>Boolean(e)&&n.indexOf(e)===t)).join(\" \");var we={xmlns:\"http://www.w3.org/2000/svg\",width:24,height:24,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\"};const Se=(0,a.forwardRef)((({color:e=\"currentColor\",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:o=\"\",children:i,iconNode:s,...l},c)=>(0,a.createElement)(\"svg\",{ref:c,...we,width:t,height:t,stroke:e,strokeWidth:r?24*Number(n)/Number(t):n,className:xe(\"lucide\",o),...l},[...s.map((([e,t])=>(0,a.createElement)(e,t))),...Array.isArray(i)?i:[i]]))),ke=(e,t)=>{const n=(0,a.forwardRef)((({className:n,...r},o)=>{return(0,a.createElement)(Se,{ref:o,iconNode:t,className:xe(`lucide-${i=e,i.replace(/([a-z0-9])([A-Z])/g,\"$1-$2\").toLowerCase()}`,n),...r});var i}));return n.displayName=`${e}`,n},Ee=ke(\"Minus\",[[\"path\",{d:\"M5 12h14\",key:\"1ays0h\"}]]),Ce=ke(\"Check\",[[\"path\",{d:\"M20 6 9 17l-5-5\",key:\"1gmf2c\"}]]);var _e=[\"id\",\"label\",\"defaultChecked\",\"checked\",\"onChange\",\"value\",\"indeterminate\",\"disabled\",\"size\"];function Pe(){return Pe=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:size-4\",sm:\"py-1 px-1.5 text-base gap-1 [&>svg]:size-4\",md:\"py-2 px-2.5 text-base gap-1 [&>svg]:size-5\",lg:\"py-2.5 px-3 text-base gap-1 [&>svg]:size-6\"};function Le(e){return Be(e)?(e.nodeName||\"\").toLowerCase():\"#document\"}function Fe(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function ze(e){var t;return null==(t=(Be(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function Be(e){return e instanceof Node||e instanceof Fe(e).Node}function We(e){return e instanceof Element||e instanceof Fe(e).Element}function Ve(e){return e instanceof HTMLElement||e instanceof Fe(e).HTMLElement}function Ue(e){return\"undefined\"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof Fe(e).ShadowRoot)}function $e(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=Xe(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&![\"inline\",\"contents\"].includes(o)}function Ye(e){return[\"table\",\"td\",\"th\"].includes(Le(e))}function He(e){return[\":popover-open\",\":modal\"].some((t=>{try{return e.matches(t)}catch(e){return!1}}))}function Ke(e){const t=qe(),n=We(e)?Xe(e):e;return\"none\"!==n.transform||\"none\"!==n.perspective||!!n.containerType&&\"normal\"!==n.containerType||!t&&!!n.backdropFilter&&\"none\"!==n.backdropFilter||!t&&!!n.filter&&\"none\"!==n.filter||[\"transform\",\"perspective\",\"filter\"].some((e=>(n.willChange||\"\").includes(e)))||[\"paint\",\"layout\",\"strict\",\"content\"].some((e=>(n.contain||\"\").includes(e)))}function qe(){return!(\"undefined\"==typeof CSS||!CSS.supports)&&CSS.supports(\"-webkit-backdrop-filter\",\"none\")}function Ge(e){return[\"html\",\"body\",\"#document\"].includes(Le(e))}function Xe(e){return Fe(e).getComputedStyle(e)}function Ze(e){return We(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Je(e){if(\"html\"===Le(e))return e;const t=e.assignedSlot||e.parentNode||Ue(e)&&e.host||ze(e);return Ue(t)?t.host:t}function Qe(e){const t=Je(e);return Ge(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ve(t)&&$e(t)?t:Qe(t)}function et(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);const o=Qe(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),s=Fe(o);if(i){const e=tt(s);return t.concat(s,s.visualViewport||[],$e(o)?o:[],e&&n?et(e):[])}return t.concat(o,et(o,[],n))}function tt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function nt(e){let t=e.activeElement;for(;null!=(null==(n=t)||null==(n=n.shadowRoot)?void 0:n.activeElement);){var n;t=t.shadowRoot.activeElement}return t}function rt(e,t){if(!e||!t)return!1;const n=null==t.getRootNode?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&Ue(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function ot(){const e=navigator.userAgentData;return null!=e&&e.platform?e.platform:navigator.platform}function it(){const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map((e=>{let{brand:t,version:n}=e;return t+\"/\"+n})).join(\" \"):navigator.userAgent}function st(e){return!(0!==e.mozInputSource||!e.isTrusted)||(ct()&&e.pointerType?\"click\"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType)}function at(e){return!it().includes(\"jsdom/\")&&(!ct()&&0===e.width&&0===e.height||ct()&&1===e.width&&1===e.height&&0===e.pressure&&0===e.detail&&\"mouse\"===e.pointerType||e.width<1&&e.height<1&&0===e.pressure&&0===e.detail&&\"touch\"===e.pointerType)}function lt(){return/apple/i.test(navigator.vendor)}function ct(){const e=/android/i;return e.test(ot())||e.test(it())}function ut(){return ot().toLowerCase().startsWith(\"mac\")&&!navigator.maxTouchPoints}function dt(e,t){const n=[\"mouse\",\"pen\"];return t||n.push(\"\",void 0),n.includes(e)}function ft(e){return(null==e?void 0:e.ownerDocument)||document}function mt(e,t){if(null==t)return!1;if(\"composedPath\"in e)return e.composedPath().includes(t);const n=e;return null!=n.target&&t.contains(n.target)}function ht(e){return\"composedPath\"in e?e.composedPath()[0]:e.target}const pt=\"input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";function gt(e){return Ve(e)&&e.matches(pt)}function yt(e){e.preventDefault(),e.stopPropagation()}function vt(e){return!!e&&\"combobox\"===e.getAttribute(\"role\")&>(e)}const bt=Math.min,xt=Math.max,wt=Math.round,St=Math.floor,kt=e=>({x:e,y:e}),Et={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"},Ct={start:\"end\",end:\"start\"};function _t(e,t,n){return xt(e,bt(t,n))}function Pt(e,t){return\"function\"==typeof e?e(t):e}function Ot(e){return e.split(\"-\")[0]}function Nt(e){return e.split(\"-\")[1]}function Tt(e){return\"x\"===e?\"y\":\"x\"}function Mt(e){return\"y\"===e?\"height\":\"width\"}function Rt(e){return[\"top\",\"bottom\"].includes(Ot(e))?\"y\":\"x\"}function Dt(e){return Tt(Rt(e))}function jt(e){return e.replace(/start|end/g,(e=>Ct[e]))}function At(e){return e.replace(/left|right|bottom|top/g,(e=>Et[e]))}function It(e){return\"number\"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function Lt(e){const{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}var Ft=[\"input:not([inert])\",\"select:not([inert])\",\"textarea:not([inert])\",\"a[href]:not([inert])\",\"button:not([inert])\",\"[tabindex]:not(slot):not([inert])\",\"audio[controls]:not([inert])\",\"video[controls]:not([inert])\",'[contenteditable]:not([contenteditable=\"false\"]):not([inert])',\"details>summary:first-of-type:not([inert])\",\"details:not([inert])\"].join(\",\"),zt=\"undefined\"==typeof Element,Bt=zt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Wt=!zt&&Element.prototype.getRootNode?function(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}:function(e){return null==e?void 0:e.ownerDocument},Vt=function e(t,n){var r;void 0===n&&(n=!0);var o=null==t||null===(r=t.getAttribute)||void 0===r?void 0:r.call(t,\"inert\");return\"\"===o||\"true\"===o||n&&t&&e(t.parentNode)},Ut=function e(t,n,r){for(var o=[],i=Array.from(t);i.length;){var s=i.shift();if(!Vt(s,!1))if(\"SLOT\"===s.tagName){var a=s.assignedElements(),l=e(a.length?a:s.children,!0,r);r.flatten?o.push.apply(o,l):o.push({scopeParent:s,candidates:l})}else{Bt.call(s,Ft)&&r.filter(s)&&(n||!t.includes(s))&&o.push(s);var c=s.shadowRoot||\"function\"==typeof r.getShadowRoot&&r.getShadowRoot(s),u=!Vt(c,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(s));if(c&&u){var d=e(!0===c?s.children:c.children,!0,r);r.flatten?o.push.apply(o,d):o.push({scopeParent:s,candidates:d})}else i.unshift.apply(i,s.children)}}return o},$t=function(e){return!isNaN(parseInt(e.getAttribute(\"tabindex\"),10))},Yt=function(e){if(!e)throw new Error(\"No node provided\");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||function(e){var t,n=null==e||null===(t=e.getAttribute)||void 0===t?void 0:t.call(e,\"contenteditable\");return\"\"===n||\"true\"===n}(e))&&!$t(e)?0:e.tabIndex},Ht=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Kt=function(e){return\"INPUT\"===e.tagName},qt=function(e){var t=e.getBoundingClientRect(),n=t.width,r=t.height;return 0===n&&0===r},Gt=function(e,t){return!(t.disabled||Vt(t)||function(e){return Kt(e)&&\"hidden\"===e.type}(t)||function(e,t){var n=t.displayCheck,r=t.getShadowRoot;if(\"hidden\"===getComputedStyle(e).visibility)return!0;var o=Bt.call(e,\"details>summary:first-of-type\")?e.parentElement:e;if(Bt.call(o,\"details:not([open]) *\"))return!0;if(n&&\"full\"!==n&&\"legacy-full\"!==n){if(\"non-zero-area\"===n)return qt(e)}else{if(\"function\"==typeof r){for(var i=e;e;){var s=e.parentElement,a=Wt(e);if(s&&!s.shadowRoot&&!0===r(s))return qt(e);e=e.assignedSlot?e.assignedSlot:s||a===e.ownerDocument?s:a.host}e=i}if(function(e){var t,n,r,o,i=e&&Wt(e),s=null===(t=i)||void 0===t?void 0:t.host,a=!1;if(i&&i!==e)for(a=!!(null!==(n=s)&&void 0!==n&&null!==(r=n.ownerDocument)&&void 0!==r&&r.contains(s)||null!=e&&null!==(o=e.ownerDocument)&&void 0!==o&&o.contains(e));!a&&s;){var l,c,u;a=!(null===(c=s=null===(l=i=Wt(s))||void 0===l?void 0:l.host)||void 0===c||null===(u=c.ownerDocument)||void 0===u||!u.contains(s))}return a}(e))return!e.getClientRects().length;if(\"legacy-full\"!==n)return!0}return!1}(t,e)||function(e){return\"DETAILS\"===e.tagName&&Array.prototype.slice.apply(e.children).some((function(e){return\"SUMMARY\"===e.tagName}))}(t)||function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(\"FIELDSET\"===t.tagName&&t.disabled){for(var n=0;n=0)},Jt=function e(t){var n=[],r=[];return t.forEach((function(t,o){var i=!!t.scopeParent,s=i?t.scopeParent:t,a=function(e,t){var n=Yt(e);return n<0&&t&&!$t(e)?0:n}(s,i),l=i?e(t.candidates):s;0===a?i?n.push.apply(n,l):n.push(s):r.push({documentOrder:o,tabIndex:a,item:t,isScope:i,content:l})})),r.sort(Ht).reduce((function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e}),[]).concat(n)},Qt=function(e,t){var n;return n=(t=t||{}).getShadowRoot?Ut([e],t.includeContainer,{filter:Xt.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:Zt}):function(e,t,n){if(Vt(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(Ft));return t&&Bt.call(e,Ft)&&r.unshift(e),r.filter(n)}(e,t.includeContainer,Xt.bind(null,t)),Jt(n)},en=function(e,t){if(t=t||{},!e)throw new Error(\"No node provided\");return!1!==Bt.call(e,Ft)&&Xt(t,e)},tn=window.ReactDOM;function nn(e,t,n){let{reference:r,floating:o}=e;const i=Rt(t),s=Dt(t),a=Mt(s),l=Ot(t),c=\"y\"===i,u=r.x+r.width/2-o.width/2,d=r.y+r.height/2-o.height/2,f=r[a]/2-o[a]/2;let m;switch(l){case\"top\":m={x:u,y:r.y-o.height};break;case\"bottom\":m={x:u,y:r.y+r.height};break;case\"right\":m={x:r.x+r.width,y:d};break;case\"left\":m={x:r.x-o.width,y:d};break;default:m={x:r.x,y:r.y}}switch(Nt(t)){case\"start\":m[s]-=f*(n&&c?-1:1);break;case\"end\":m[s]+=f*(n&&c?-1:1)}return m}async function rn(e,t){var n;void 0===t&&(t={});const{x:r,y:o,platform:i,rects:s,elements:a,strategy:l}=e,{boundary:c=\"clippingAncestors\",rootBoundary:u=\"viewport\",elementContext:d=\"floating\",altBoundary:f=!1,padding:m=0}=Pt(t,e),h=It(m),p=a[f?\"floating\"===d?\"reference\":\"floating\":d],g=Lt(await i.getClippingRect({element:null==(n=await(null==i.isElement?void 0:i.isElement(p)))||n?p:p.contextElement||await(null==i.getDocumentElement?void 0:i.getDocumentElement(a.floating)),boundary:c,rootBoundary:u,strategy:l})),y=\"floating\"===d?{x:r,y:o,width:s.floating.width,height:s.floating.height}:s.reference,v=await(null==i.getOffsetParent?void 0:i.getOffsetParent(a.floating)),b=await(null==i.isElement?void 0:i.isElement(v))&&await(null==i.getScale?void 0:i.getScale(v))||{x:1,y:1},x=Lt(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:y,offsetParent:v,strategy:l}):y);return{top:(g.top-x.top+h.top)/b.y,bottom:(x.bottom-g.bottom+h.bottom)/b.y,left:(g.left-x.left+h.left)/b.x,right:(x.right-g.right+h.right)/b.x}}function on(e){const t=Xe(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Ve(e),i=o?e.offsetWidth:n,s=o?e.offsetHeight:r,a=wt(n)!==i||wt(r)!==s;return a&&(n=i,r=s),{width:n,height:r,$:a}}function sn(e){return We(e)?e:e.contextElement}function an(e){const t=sn(e);if(!Ve(t))return kt(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:i}=on(t);let s=(i?wt(n.width):n.width)/r,a=(i?wt(n.height):n.height)/o;return s&&Number.isFinite(s)||(s=1),a&&Number.isFinite(a)||(a=1),{x:s,y:a}}const ln=kt(0);function cn(e){const t=Fe(e);return qe()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:ln}function un(e,t,n,r){void 0===t&&(t=!1),void 0===n&&(n=!1);const o=e.getBoundingClientRect(),i=sn(e);let s=kt(1);t&&(r?We(r)&&(s=an(r)):s=an(e));const a=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==Fe(e))&&t}(i,n,r)?cn(i):kt(0);let l=(o.left+a.x)/s.x,c=(o.top+a.y)/s.y,u=o.width/s.x,d=o.height/s.y;if(i){const e=Fe(i),t=r&&We(r)?Fe(r):r;let n=e,o=tt(n);for(;o&&r&&t!==n;){const e=an(o),t=o.getBoundingClientRect(),r=Xe(o),i=t.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,s=t.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;l*=e.x,c*=e.y,u*=e.x,d*=e.y,l+=i,c+=s,n=Fe(o),o=tt(n)}}return Lt({width:u,height:d,x:l,y:c})}function dn(e){return un(ze(e)).left+Ze(e).scrollLeft}function fn(e,t,n){let r;if(\"viewport\"===t)r=function(e,t){const n=Fe(e),r=ze(e),o=n.visualViewport;let i=r.clientWidth,s=r.clientHeight,a=0,l=0;if(o){i=o.width,s=o.height;const e=qe();(!e||e&&\"fixed\"===t)&&(a=o.offsetLeft,l=o.offsetTop)}return{width:i,height:s,x:a,y:l}}(e,n);else if(\"document\"===t)r=function(e){const t=ze(e),n=Ze(e),r=e.ownerDocument.body,o=xt(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=xt(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let s=-n.scrollLeft+dn(e);const a=-n.scrollTop;return\"rtl\"===Xe(r).direction&&(s+=xt(t.clientWidth,r.clientWidth)-o),{width:o,height:i,x:s,y:a}}(ze(e));else if(We(t))r=function(e,t){const n=un(e,!0,\"fixed\"===t),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=Ve(e)?an(e):kt(1);return{width:e.clientWidth*i.x,height:e.clientHeight*i.y,x:o*i.x,y:r*i.y}}(t,n);else{const n=cn(e);r={...t,x:t.x-n.x,y:t.y-n.y}}return Lt(r)}function mn(e,t){const n=Je(e);return!(n===t||!We(n)||Ge(n))&&(\"fixed\"===Xe(n).position||mn(n,t))}function hn(e,t,n){const r=Ve(t),o=ze(t),i=\"fixed\"===n,s=un(e,!0,i,t);let a={scrollLeft:0,scrollTop:0};const l=kt(0);if(r||!r&&!i)if((\"body\"!==Le(t)||$e(o))&&(a=Ze(t)),r){const e=un(t,!0,i,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else o&&(l.x=dn(o));return{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function pn(e){return\"static\"===Xe(e).position}function gn(e,t){return Ve(e)&&\"fixed\"!==Xe(e).position?t?t(e):e.offsetParent:null}function yn(e,t){const n=Fe(e);if(He(e))return n;if(!Ve(e)){let t=Je(e);for(;t&&!Ge(t);){if(We(t)&&!pn(t))return t;t=Je(t)}return n}let r=gn(e,t);for(;r&&Ye(r)&&pn(r);)r=gn(r,t);return r&&Ge(r)&&pn(r)&&!Ke(r)?n:r||function(e){let t=Je(e);for(;Ve(t)&&!Ge(t);){if(Ke(t))return t;if(He(t))return null;t=Je(t)}return null}(e)||n}const vn={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const i=\"fixed\"===o,s=ze(r),a=!!t&&He(t.floating);if(r===s||a&&i)return n;let l={scrollLeft:0,scrollTop:0},c=kt(1);const u=kt(0),d=Ve(r);if((d||!d&&!i)&&((\"body\"!==Le(r)||$e(s))&&(l=Ze(r)),Ve(r))){const e=un(r);c=an(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+u.x,y:n.y*c.y-l.scrollTop*c.y+u.y}},getDocumentElement:ze,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const i=[...\"clippingAncestors\"===n?He(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let r=et(e,[],!1).filter((e=>We(e)&&\"body\"!==Le(e))),o=null;const i=\"fixed\"===Xe(e).position;let s=i?Je(e):e;for(;We(s)&&!Ge(s);){const t=Xe(s),n=Ke(s);n||\"fixed\"!==t.position||(o=null),(i?!n&&!o:!n&&\"static\"===t.position&&o&&[\"absolute\",\"fixed\"].includes(o.position)||$e(s)&&!n&&mn(e,s))?r=r.filter((e=>e!==s)):o=t,s=Je(s)}return t.set(e,r),r}(t,this._c):[].concat(n),r],s=i[0],a=i.reduce(((e,n)=>{const r=fn(t,n,o);return e.top=xt(r.top,e.top),e.right=bt(r.right,e.right),e.bottom=bt(r.bottom,e.bottom),e.left=xt(r.left,e.left),e}),fn(t,s,o));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}},getOffsetParent:yn,getElementRects:async function(e){const t=this.getOffsetParent||yn,n=this.getDimensions,r=await n(e.floating);return{reference:hn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=on(e);return{width:t,height:n}},getScale:an,isElement:We,isRTL:function(e){return\"rtl\"===Xe(e).direction}};function bn(e,t,n,r){void 0===r&&(r={});const{ancestorScroll:o=!0,ancestorResize:i=!0,elementResize:s=\"function\"==typeof ResizeObserver,layoutShift:a=\"function\"==typeof IntersectionObserver,animationFrame:l=!1}=r,c=sn(e),u=o||i?[...c?et(c):[],...et(t)]:[];u.forEach((e=>{o&&e.addEventListener(\"scroll\",n,{passive:!0}),i&&e.addEventListener(\"resize\",n)}));const d=c&&a?function(e,t){let n,r=null;const o=ze(e);function i(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return function s(a,l){void 0===a&&(a=!1),void 0===l&&(l=1),i();const{left:c,top:u,width:d,height:f}=e.getBoundingClientRect();if(a||t(),!d||!f)return;const m={rootMargin:-St(u)+\"px \"+-St(o.clientWidth-(c+d))+\"px \"+-St(o.clientHeight-(u+f))+\"px \"+-St(c)+\"px\",threshold:xt(0,bt(1,l))||1};let h=!0;function p(e){const t=e[0].intersectionRatio;if(t!==l){if(!h)return s();t?s(!1,t):n=setTimeout((()=>{s(!1,1e-7)}),1e3)}h=!1}try{r=new IntersectionObserver(p,{...m,root:o.ownerDocument})}catch(e){r=new IntersectionObserver(p,m)}r.observe(e)}(!0),i}(c,n):null;let f,m=-1,h=null;s&&(h=new ResizeObserver((e=>{let[r]=e;r&&r.target===c&&h&&(h.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame((()=>{var e;null==(e=h)||e.observe(t)}))),n()})),c&&!l&&h.observe(c),h.observe(t));let p=l?un(e):null;return l&&function t(){const r=un(e);!p||r.x===p.x&&r.y===p.y&&r.width===p.width&&r.height===p.height||n(),p=r,f=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach((e=>{o&&e.removeEventListener(\"scroll\",n),i&&e.removeEventListener(\"resize\",n)})),null==d||d(),null==(e=h)||e.disconnect(),h=null,l&&cancelAnimationFrame(f)}}const xn=function(e){return void 0===e&&(e=0),{name:\"offset\",options:e,async fn(t){var n,r;const{x:o,y:i,placement:s,middlewareData:a}=t,l=await async function(e,t){const{placement:n,platform:r,elements:o}=e,i=await(null==r.isRTL?void 0:r.isRTL(o.floating)),s=Ot(n),a=Nt(n),l=\"y\"===Rt(n),c=[\"left\",\"top\"].includes(s)?-1:1,u=i&&l?-1:1,d=Pt(t,e);let{mainAxis:f,crossAxis:m,alignmentAxis:h}=\"number\"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...d};return a&&\"number\"==typeof h&&(m=\"end\"===a?-1*h:h),l?{x:m*u,y:f*c}:{x:f*c,y:m*u}}(t,e);return s===(null==(n=a.offset)?void 0:n.placement)&&null!=(r=a.arrow)&&r.alignmentOffset?{}:{x:o+l.x,y:i+l.y,data:{...l,placement:s}}}}},wn=function(e){return void 0===e&&(e={}),{name:\"shift\",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:i=!0,crossAxis:s=!1,limiter:a={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Pt(e,t),c={x:n,y:r},u=await rn(t,l),d=Rt(Ot(o)),f=Tt(d);let m=c[f],h=c[d];if(i){const e=\"y\"===f?\"bottom\":\"right\";m=_t(m+u[\"y\"===f?\"top\":\"left\"],m,m-u[e])}if(s){const e=\"y\"===d?\"bottom\":\"right\";h=_t(h+u[\"y\"===d?\"top\":\"left\"],h,h-u[e])}const p=a.fn({...t,[f]:m,[d]:h});return{...p,data:{x:p.x-n,y:p.y-r}}}}},Sn=function(e){return void 0===e&&(e={}),{name:\"flip\",options:e,async fn(t){var n,r;const{placement:o,middlewareData:i,rects:s,initialPlacement:a,platform:l,elements:c}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:f,fallbackStrategy:m=\"bestFit\",fallbackAxisSideDirection:h=\"none\",flipAlignment:p=!0,...g}=Pt(e,t);if(null!=(n=i.arrow)&&n.alignmentOffset)return{};const y=Ot(o),v=Rt(a),b=Ot(a)===a,x=await(null==l.isRTL?void 0:l.isRTL(c.floating)),w=f||(b||!p?[At(a)]:function(e){const t=At(e);return[jt(e),t,jt(t)]}(a)),S=\"none\"!==h;!f&&S&&w.push(...function(e,t,n,r){const o=Nt(e);let i=function(e,t,n){const r=[\"left\",\"right\"],o=[\"right\",\"left\"],i=[\"top\",\"bottom\"],s=[\"bottom\",\"top\"];switch(e){case\"top\":case\"bottom\":return n?t?o:r:t?r:o;case\"left\":case\"right\":return t?i:s;default:return[]}}(Ot(e),\"start\"===n,r);return o&&(i=i.map((e=>e+\"-\"+o)),t&&(i=i.concat(i.map(jt)))),i}(a,p,h,x));const k=[a,...w],E=await rn(t,g),C=[];let _=(null==(r=i.flip)?void 0:r.overflows)||[];if(u&&C.push(E[y]),d){const e=function(e,t,n){void 0===n&&(n=!1);const r=Nt(e),o=Dt(e),i=Mt(o);let s=\"x\"===o?r===(n?\"end\":\"start\")?\"right\":\"left\":\"start\"===r?\"bottom\":\"top\";return t.reference[i]>t.floating[i]&&(s=At(s)),[s,At(s)]}(o,s,x);C.push(E[e[0]],E[e[1]])}if(_=[..._,{placement:o,overflows:C}],!C.every((e=>e<=0))){var P,O;const e=((null==(P=i.flip)?void 0:P.index)||0)+1,t=k[e];if(t)return{data:{index:e,overflows:_},reset:{placement:t}};let n=null==(O=_.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:O.placement;if(!n)switch(m){case\"bestFit\":{var N;const e=null==(N=_.filter((e=>{if(S){const t=Rt(e.placement);return t===v||\"y\"===t}return!0})).map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:N[0];e&&(n=e);break}case\"initialPlacement\":n=a}if(o!==n)return{reset:{placement:n}}}return{}}}},kn=function(e){return void 0===e&&(e={}),{name:\"size\",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:i}=t,{apply:s=()=>{},...a}=Pt(e,t),l=await rn(t,a),c=Ot(n),u=Nt(n),d=\"y\"===Rt(n),{width:f,height:m}=r.floating;let h,p;\"top\"===c||\"bottom\"===c?(h=c,p=u===(await(null==o.isRTL?void 0:o.isRTL(i.floating))?\"start\":\"end\")?\"left\":\"right\"):(p=c,h=\"end\"===u?\"top\":\"bottom\");const g=m-l.top-l.bottom,y=f-l.left-l.right,v=bt(m-l[h],g),b=bt(f-l[p],y),x=!t.middlewareData.shift;let w=v,S=b;if(d?S=u||x?bt(b,y):y:w=u||x?bt(v,g):g,x&&!u){const e=xt(l.left,0),t=xt(l.right,0),n=xt(l.top,0),r=xt(l.bottom,0);d?S=f-2*(0!==e||0!==t?e+t:xt(l.left,l.right)):w=m-2*(0!==n||0!==r?n+r:xt(l.top,l.bottom))}await s({...t,availableWidth:S,availableHeight:w});const k=await o.getDimensions(i.floating);return f!==k.width||m!==k.height?{reset:{rects:!0}}:{}}}},En=e=>({name:\"arrow\",options:e,async fn(t){const{x:n,y:r,placement:o,rects:i,platform:s,elements:a,middlewareData:l}=t,{element:c,padding:u=0}=Pt(e,t)||{};if(null==c)return{};const d=It(u),f={x:n,y:r},m=Dt(o),h=Mt(m),p=await s.getDimensions(c),g=\"y\"===m,y=g?\"top\":\"left\",v=g?\"bottom\":\"right\",b=g?\"clientHeight\":\"clientWidth\",x=i.reference[h]+i.reference[m]-f[m]-i.floating[h],w=f[m]-i.reference[m],S=await(null==s.getOffsetParent?void 0:s.getOffsetParent(c));let k=S?S[b]:0;k&&await(null==s.isElement?void 0:s.isElement(S))||(k=a.floating[b]||i.floating[h]);const E=x/2-w/2,C=k/2-p[h]/2-1,_=bt(d[y],C),P=bt(d[v],C),O=_,N=k-p[h]-P,T=k/2-p[h]/2+E,M=_t(O,T,N),R=!l.arrow&&null!=Nt(o)&&T!==M&&i.reference[h]/2-(T{const r=new Map,o={platform:vn,...n},i={...o.platform,_c:r};return(async(e,t,n)=>{const{placement:r=\"bottom\",strategy:o=\"absolute\",middleware:i=[],platform:s}=n,a=i.filter(Boolean),l=await(null==s.isRTL?void 0:s.isRTL(t));let c=await s.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:d}=nn(c,r,l),f=r,m={},h=0;for(let n=0;n{t.current=e})),t}const Rn=e=>({name:\"arrow\",options:e,fn(t){const{element:n,padding:r}=\"function\"==typeof e?e(t):e;return n&&(o=n,{}.hasOwnProperty.call(o,\"current\"))?null!=n.current?En({element:n.current,padding:r}).fn(t):{}:n?En({element:n,padding:r}).fn(t):{};var o}}),Dn=(e,t)=>({...xn(e),options:[e,t]}),jn=(e,t)=>({...wn(e),options:[e,t]}),An=(e,t)=>({...Sn(e),options:[e,t]}),In=(e,t)=>({...kn(e),options:[e,t]}),Ln={...a},Fn=Ln.useInsertionEffect||(e=>e());function zn(e){const t=a.useRef((()=>{}));return Fn((()=>{t.current=e})),a.useCallback((function(){for(var e=arguments.length,n=new Array(e),r=0;r=e.current.length}function Hn(e,t){return qn(e,{disabledIndices:t})}function Kn(e,t){return qn(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function qn(e,t){let{startingIndex:n=-1,decrement:r=!1,disabledIndices:o,amount:i=1}=void 0===t?{}:t;const s=e.current;let a=n;do{a+=r?-i:i}while(a>=0&&a<=s.length-1&&Zn(s,a,o));return a}function Gn(e,t,n,r,o){if(-1===e)return-1;const i=n.indexOf(e),s=t[e];switch(o){case\"tl\":return i;case\"tr\":return s?i+s.width-1:i;case\"bl\":return s?i+(s.height-1)*r:i;case\"br\":return n.lastIndexOf(e)}}function Xn(e,t){return t.flatMap(((t,n)=>e.includes(t)?[n]:[]))}function Zn(e,t,n){if(n)return n.includes(t);const r=e[t];return null==r||r.hasAttribute(\"disabled\")||\"true\"===r.getAttribute(\"aria-disabled\")}let Jn=0;function Qn(e,t){void 0===t&&(t={});const{preventScroll:n=!1,cancelPrevious:r=!0,sync:o=!1}=t;r&&cancelAnimationFrame(Jn);const i=()=>null==e?void 0:e.focus({preventScroll:n});o?i():Jn=requestAnimationFrame(i)}var er=\"undefined\"!=typeof document?a.useLayoutEffect:a.useEffect;function tr(){return tr=Object.assign?Object.assign.bind():function(e){for(var t=1;t\"floating-ui-\"+Math.random().toString(36).slice(2,6)+rr++,ir=Ln.useId||function(){const[e,t]=a.useState((()=>nr?or():void 0));return er((()=>{null==e&&t(or())}),[]),a.useEffect((()=>{nr=!0}),[]),e},sr=a.forwardRef((function(e,t){const{context:{placement:n,elements:{floating:r},middlewareData:{arrow:o,shift:i}},width:s=14,height:l=7,tipRadius:c=0,strokeWidth:u=0,staticOffset:d,stroke:f,d:m,style:{transform:h,...p}={},...g}=e,y=ir(),[v,b]=a.useState(!1);if(er((()=>{r&&\"rtl\"===Xe(r).direction&&b(!0)}),[r]),!r)return null;const[x,w]=n.split(\"-\"),S=\"top\"===x||\"bottom\"===x;let k=d;(S&&null!=i&&i.x||!S&&null!=i&&i.y)&&(k=null);const E=2*u,C=E/2,_=s/2*(c/-8+1),P=l/2*c/4,O=!!m,N=k&&\"end\"===w?\"bottom\":\"top\";let T=k&&\"end\"===w?\"right\":\"left\";k&&v&&(T=\"end\"===w?\"left\":\"right\");const M=null!=(null==o?void 0:o.x)?k||o.x:\"\",R=null!=(null==o?void 0:o.y)?k||o.y:\"\",D=m||\"M0,0 H\"+s+\" L\"+(s-_)+\",\"+(l-P)+\" Q\"+s/2+\",\"+l+\" \"+_+\",\"+(l-P)+\" Z\",j={top:O?\"rotate(180deg)\":\"\",left:O?\"rotate(90deg)\":\"rotate(-90deg)\",bottom:O?\"\":\"rotate(180deg)\",right:O?\"rotate(-90deg)\":\"rotate(90deg)\"}[x];return a.createElement(\"svg\",tr({},g,{\"aria-hidden\":!0,ref:t,width:O?s:s+E,height:s,viewBox:\"0 0 \"+s+\" \"+(l>s?l:s),style:{position:\"absolute\",pointerEvents:\"none\",[T]:M,[N]:R,[x]:S||O?\"100%\":\"calc(100% - \"+E/2+\"px)\",transform:\"\"+j+(null!=h?h:\"\"),...p}}),E>0&&a.createElement(\"path\",{clipPath:\"url(#\"+y+\")\",fill:\"none\",stroke:f,strokeWidth:E+(m?0:1),d:D}),a.createElement(\"path\",{stroke:E&&!m?g.fill:\"none\",d:D}),a.createElement(\"clipPath\",{id:y},a.createElement(\"rect\",{x:-C,y:C*(O?-1:1),width:s+E,height:s})))}));const ar=a.createContext(null),lr=a.createContext(null),cr=()=>{var e;return(null==(e=a.useContext(ar))?void 0:e.id)||null},ur=()=>a.useContext(lr);function dr(e){return\"data-floating-ui-\"+e}function fr(e){const t=(0,a.useRef)(e);return er((()=>{t.current=e})),t}const mr=dr(\"safe-polygon\");function hr(e,t,n){return n&&!dt(n)?0:\"number\"==typeof e?e:null==e?void 0:e[t]}function pr(e,t){let n=e.filter((e=>{var n;return e.parentId===t&&(null==(n=e.context)?void 0:n.open)})),r=n;for(;r.length;)r=e.filter((e=>{var t;return null==(t=r)?void 0:t.some((t=>{var n;return e.parentId===t.id&&(null==(n=e.context)?void 0:n.open)}))})),n=n.concat(r);return n}let gr=new WeakMap,yr=new WeakSet,vr={},br=0;const xr=()=>\"undefined\"!=typeof HTMLElement&&\"inert\"in HTMLElement.prototype,wr=e=>e&&(e.host||wr(e.parentNode)),Sr=(e,t)=>t.map((t=>{if(e.contains(t))return t;const n=wr(t);return e.contains(n)?n:null})).filter((e=>null!=e));function kr(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);const r=ft(e[0]).body;return function(e,t,n,r){const o=\"data-floating-ui-inert\",i=r?\"inert\":n?\"aria-hidden\":null,s=Sr(t,e),a=new Set,l=new Set(s),c=[];vr[o]||(vr[o]=new WeakMap);const u=vr[o];return s.forEach((function e(t){t&&!a.has(t)&&(a.add(t),t.parentNode&&e(t.parentNode))})),function e(t){t&&!l.has(t)&&[].forEach.call(t.children,(t=>{if(\"script\"!==Le(t))if(a.has(t))e(t);else{const e=i?t.getAttribute(i):null,n=null!==e&&\"false\"!==e,r=(gr.get(t)||0)+1,s=(u.get(t)||0)+1;gr.set(t,r),u.set(t,s),c.push(t),1===r&&n&&yr.add(t),1===s&&t.setAttribute(o,\"\"),!n&&i&&t.setAttribute(i,\"true\")}}))}(t),a.clear(),br++,()=>{c.forEach((e=>{const t=(gr.get(e)||0)-1,n=(u.get(e)||0)-1;gr.set(e,t),u.set(e,n),t||(!yr.has(e)&&i&&e.removeAttribute(i),yr.delete(e)),n||e.removeAttribute(o)})),br--,br||(gr=new WeakMap,gr=new WeakMap,yr=new WeakSet,vr={})}}(e.concat(Array.from(r.querySelectorAll(\"[aria-live]\"))),r,t,n)}const Er=()=>({getShadowRoot:!0,displayCheck:\"function\"==typeof ResizeObserver&&ResizeObserver.toString().includes(\"[native code]\")?\"full\":\"none\"});function Cr(e,t){const n=Qt(e,Er());\"prev\"===t&&n.reverse();const r=n.indexOf(nt(ft(e)));return n.slice(r+1)[0]}function _r(){return Cr(document.body,\"next\")}function Pr(){return Cr(document.body,\"prev\")}function Or(e,t){const n=t||e.currentTarget,r=e.relatedTarget;return!r||!rt(n,r)}function Nr(e){Qt(e,Er()).forEach((e=>{e.dataset.tabindex=e.getAttribute(\"tabindex\")||\"\",e.setAttribute(\"tabindex\",\"-1\")}))}function Tr(e){e.querySelectorAll(\"[data-tabindex]\").forEach((e=>{const t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute(\"tabindex\",t):e.removeAttribute(\"tabindex\")}))}const Mr={border:0,clip:\"rect(0 0 0 0)\",height:\"1px\",margin:\"-1px\",overflow:\"hidden\",padding:0,position:\"fixed\",whiteSpace:\"nowrap\",width:\"1px\",top:0,left:0};function Rr(e){\"Tab\"===e.key&&(e.target,clearTimeout(void 0))}const Dr=a.forwardRef((function(e,t){const[n,r]=a.useState();er((()=>(lt()&&r(\"button\"),document.addEventListener(\"keydown\",Rr),()=>{document.removeEventListener(\"keydown\",Rr)})),[]);const o={ref:t,tabIndex:0,role:n,\"aria-hidden\":!n||void 0,[dr(\"focus-guard\")]:\"\",style:Mr};return a.createElement(\"span\",tr({},e,o))})),jr=a.createContext(null),Ar=dr(\"portal\");function Ir(e){const{children:t,id:n,root:r=null,preserveTabOrder:o=!0}=e,i=function(e){void 0===e&&(e={});const{id:t,root:n}=e,r=ir(),o=Lr(),[i,s]=a.useState(null),l=a.useRef(null);return er((()=>()=>{null==i||i.remove(),queueMicrotask((()=>{l.current=null}))}),[i]),er((()=>{if(!r)return;if(l.current)return;const e=t?document.getElementById(t):null;if(!e)return;const n=document.createElement(\"div\");n.id=r,n.setAttribute(Ar,\"\"),e.appendChild(n),l.current=n,s(n)}),[t,r]),er((()=>{if(!r)return;if(l.current)return;let e=n||(null==o?void 0:o.portalNode);e&&!We(e)&&(e=e.current),e=e||document.body;let i=null;t&&(i=document.createElement(\"div\"),i.id=t,e.appendChild(i));const a=document.createElement(\"div\");a.id=r,a.setAttribute(Ar,\"\"),e=i||e,e.appendChild(a),l.current=a,s(a)}),[t,n,r,o]),i}({id:n,root:r}),[s,l]=a.useState(null),c=a.useRef(null),u=a.useRef(null),d=a.useRef(null),f=a.useRef(null),m=null==s?void 0:s.modal,h=null==s?void 0:s.open,p=!!s&&!s.modal&&s.open&&o&&!(!r&&!i);return a.useEffect((()=>{if(i&&o&&!m)return i.addEventListener(\"focusin\",e,!0),i.addEventListener(\"focusout\",e,!0),()=>{i.removeEventListener(\"focusin\",e,!0),i.removeEventListener(\"focusout\",e,!0)};function e(e){i&&Or(e)&&(\"focusin\"===e.type?Tr:Nr)(i)}}),[i,o,m]),a.useEffect((()=>{i&&(h||Tr(i))}),[h,i]),a.createElement(jr.Provider,{value:a.useMemo((()=>({preserveTabOrder:o,beforeOutsideRef:c,afterOutsideRef:u,beforeInsideRef:d,afterInsideRef:f,portalNode:i,setFocusManagerState:l})),[o,i])},p&&i&&a.createElement(Dr,{\"data-type\":\"outside\",ref:c,onFocus:e=>{if(Or(e,i)){var t;null==(t=d.current)||t.focus()}else{const e=Pr()||(null==s?void 0:s.refs.domReference.current);null==e||e.focus()}}}),p&&i&&a.createElement(\"span\",{\"aria-owns\":i.id,style:Mr}),i&&tn.createPortal(t,i),p&&i&&a.createElement(Dr,{\"data-type\":\"outside\",ref:u,onFocus:e=>{if(Or(e,i)){var t;null==(t=f.current)||t.focus()}else{const t=_r()||(null==s?void 0:s.refs.domReference.current);null==t||t.focus(),(null==s?void 0:s.closeOnFocusOut)&&(null==s||s.onOpenChange(!1,e.nativeEvent,\"focus-out\"))}}}))}const Lr=()=>a.useContext(jr),Fr=\"data-floating-ui-focusable\";function zr(e){return e?e.hasAttribute(Fr)?e:e.querySelector(\"[\"+Fr+\"]\")||e:null}const Br=20;let Wr=[];function Vr(e){Wr=Wr.filter((e=>e.isConnected));let t=e;if(t&&\"body\"!==Le(t)){if(!en(t,Er())){const e=Qt(t,Er())[0];e&&(t=e)}Wr.push(t),Wr.length>Br&&(Wr=Wr.slice(-Br))}}function Ur(){return Wr.slice().reverse().find((e=>e.isConnected))}const $r=a.forwardRef((function(e,t){return a.createElement(\"button\",tr({},e,{type:\"button\",ref:t,tabIndex:-1,style:Mr}))}));function Yr(e){const{context:t,children:n,disabled:r=!1,order:o=[\"content\"],guards:i=!0,initialFocus:s=0,returnFocus:l=!0,restoreFocus:c=!1,modal:u=!0,visuallyHiddenDismiss:d=!1,closeOnFocusOut:f=!0}=e,{open:m,refs:h,nodeId:p,onOpenChange:g,events:y,dataRef:v,floatingId:b,elements:{domReference:x,floating:w}}=t,S=\"number\"==typeof s&&s<0,k=vt(x)&&S,E=!xr()||i,C=fr(o),_=fr(s),P=fr(l),O=ur(),N=Lr(),T=a.useRef(null),M=a.useRef(null),R=a.useRef(!1),D=a.useRef(!1),j=a.useRef(-1),A=null!=N,I=zr(w),L=zn((function(e){return void 0===e&&(e=I),e?Qt(e,Er()):[]})),F=zn((e=>{const t=L(e);return C.current.map((e=>x&&\"reference\"===e?x:I&&\"floating\"===e?I:t)).filter(Boolean).flat()}));function z(e){return!r&&d&&u?a.createElement($r,{ref:\"start\"===e?T:M,onClick:e=>g(!1,e.nativeEvent)},\"string\"==typeof d?d:\"Dismiss\"):null}a.useEffect((()=>{R.current=!1}),[r]),a.useEffect((()=>{if(r)return;if(!u)return;function e(e){if(\"Tab\"===e.key){rt(I,nt(ft(I)))&&0===L().length&&!k&&yt(e);const t=F(),n=ht(e);\"reference\"===C.current[0]&&n===x&&(yt(e),e.shiftKey?Qn(t[t.length-1]):Qn(t[1])),\"floating\"===C.current[1]&&n===I&&e.shiftKey&&(yt(e),Qn(t[0]))}}const t=ft(I);return t.addEventListener(\"keydown\",e),()=>{t.removeEventListener(\"keydown\",e)}}),[r,x,I,u,C,k,L,F]),a.useEffect((()=>{if(!r&&w)return w.addEventListener(\"focusin\",e),()=>{w.removeEventListener(\"focusin\",e)};function e(e){const t=ht(e),n=L().indexOf(t);-1!==n&&(j.current=n)}}),[r,w,L]),a.useEffect((()=>{if(!r&&f)return w&&Ve(x)?(x.addEventListener(\"focusout\",t),x.addEventListener(\"pointerdown\",e),w.addEventListener(\"focusout\",t),()=>{x.removeEventListener(\"focusout\",t),x.removeEventListener(\"pointerdown\",e),w.removeEventListener(\"focusout\",t)}):void 0;function e(){D.current=!0,setTimeout((()=>{D.current=!1}))}function t(e){const t=e.relatedTarget;queueMicrotask((()=>{const n=!(rt(x,t)||rt(w,t)||rt(t,w)||rt(null==N?void 0:N.portalNode,t)||null!=t&&t.hasAttribute(dr(\"focus-guard\"))||O&&(pr(O.nodesRef.current,p).find((e=>{var n,r;return rt(null==(n=e.context)?void 0:n.elements.floating,t)||rt(null==(r=e.context)?void 0:r.elements.domReference,t)}))||function(e,t){var n;let r=[],o=null==(n=e.find((e=>e.id===t)))?void 0:n.parentId;for(;o;){const t=e.find((e=>e.id===o));o=null==t?void 0:t.parentId,t&&(r=r.concat(t))}return r}(O.nodesRef.current,p).find((e=>{var n,r;return(null==(n=e.context)?void 0:n.elements.floating)===t||(null==(r=e.context)?void 0:r.elements.domReference)===t}))));if(c&&n&&nt(ft(I))===ft(I).body){Ve(I)&&I.focus();const e=j.current,t=L(),n=t[e]||t[t.length-1]||I;Ve(n)&&n.focus()}!k&&u||!t||!n||D.current||t===Ur()||(R.current=!0,g(!1,e,\"focus-out\"))}))}}),[r,x,w,I,u,p,O,N,g,f,c,L,k]),a.useEffect((()=>{var e;if(r)return;const t=Array.from((null==N||null==(e=N.portalNode)?void 0:e.querySelectorAll(\"[\"+dr(\"portal\")+\"]\"))||[]);if(w){const e=[w,...t,T.current,M.current,C.current.includes(\"reference\")||k?x:null].filter((e=>null!=e)),n=u||k?kr(e,E,!E):kr(e);return()=>{n()}}}),[r,x,w,u,C,N,k,E]),er((()=>{if(r||!Ve(I))return;const e=nt(ft(I));queueMicrotask((()=>{const t=F(I),n=_.current,r=(\"number\"==typeof n?t[n]:n.current)||I,o=rt(I,e);S||o||!m||Qn(r,{preventScroll:r===I})}))}),[r,m,I,S,F,_]),er((()=>{if(r||!I)return;let e=!1;const t=ft(I),n=nt(t);let o=v.current.openEvent;const i=h.domReference.current;function s(t){let{open:n,reason:r,event:i,nested:s}=t;n&&(o=i),\"escape-key\"===r&&h.domReference.current&&Vr(h.domReference.current),\"hover\"===r&&\"mouseleave\"===i.type&&(R.current=!0),\"outside-press\"===r&&(s?(R.current=!1,e=!0):R.current=!(st(i)||at(i)))}return Vr(n),y.on(\"openchange\",s),()=>{y.off(\"openchange\",s);const r=nt(t),a=rt(w,r)||O&&pr(O.nodesRef.current,p).some((e=>{var t;return rt(null==(t=e.context)?void 0:t.elements.floating,r)}));(a||o&&[\"click\",\"mousedown\"].includes(o.type))&&h.domReference.current&&Vr(h.domReference.current);const l=i||n,c=Qt(ft(l).body,Er());queueMicrotask((()=>{let n=Ur();!n&&Ve(l)&&w&&(n=function(e,t,n){const r=e.indexOf(t);function o(t){const o=dr(\"focus-guard\");let i=r+(t?1:0),s=e[i];for(;s&&(!s.isConnected||s.hasAttribute(o)||rt(n,s));)t?i++:i--,s=e[i];return s}return o(!0)||o(!1)}(c,l,w)),P.current&&!R.current&&Ve(n)&&(n===r||r===t.body||a)&&n.focus({preventScroll:e})}))}}),[r,w,I,P,v,h,y,O,p]),er((()=>{if(!r&&N)return N.setFocusManagerState({modal:u,closeOnFocusOut:f,open:m,onOpenChange:g,refs:h}),()=>{N.setFocusManagerState(null)}}),[r,N,u,m,g,h,f]),er((()=>{if(r)return;if(!I)return;if(\"function\"!=typeof MutationObserver)return;if(S)return;const e=()=>{const e=I.getAttribute(\"tabindex\"),t=L(),n=nt(ft(w)),r=t.indexOf(n);-1!==r&&(j.current=r),C.current.includes(\"floating\")||n!==h.domReference.current&&0===t.length?\"0\"!==e&&I.setAttribute(\"tabindex\",\"0\"):\"-1\"!==e&&I.setAttribute(\"tabindex\",\"-1\")};e();const t=new MutationObserver(e);return t.observe(I,{childList:!0,subtree:!0,attributes:!0}),()=>{t.disconnect()}}),[r,w,I,h,C,L,S]);const B=!r&&E&&(!u||!k)&&(A||u);return a.createElement(a.Fragment,null,B&&a.createElement(Dr,{\"data-type\":\"inside\",ref:null==N?void 0:N.beforeInsideRef,onFocus:e=>{if(u){const e=F();Qn(\"reference\"===o[0]?e[0]:e[e.length-1])}else if(null!=N&&N.preserveTabOrder&&N.portalNode)if(R.current=!1,Or(e,N.portalNode)){const e=_r()||x;null==e||e.focus()}else{var t;null==(t=N.beforeOutsideRef.current)||t.focus()}}}),!k&&z(\"start\"),n,z(\"end\"),B&&a.createElement(Dr,{\"data-type\":\"inside\",ref:null==N?void 0:N.afterInsideRef,onFocus:e=>{if(u)Qn(F()[0]);else if(null!=N&&N.preserveTabOrder&&N.portalNode)if(f&&(R.current=!0),Or(e,N.portalNode)){const e=Pr()||x;null==e||e.focus()}else{var t;null==(t=N.afterOutsideRef.current)||t.focus()}}}))}function Hr(e){return Ve(e.target)&&\"BUTTON\"===e.target.tagName}function Kr(e){return gt(e)}function qr(e,t){void 0===t&&(t={});const{open:n,onOpenChange:r,dataRef:o,elements:{domReference:i}}=e,{enabled:s=!0,event:l=\"click\",toggle:c=!0,ignoreMouse:u=!1,keyboardHandlers:d=!0}=t,f=a.useRef(),m=a.useRef(!1),h=a.useMemo((()=>({onPointerDown(e){f.current=e.pointerType},onMouseDown(e){const t=f.current;0===e.button&&\"click\"!==l&&(dt(t,!0)&&u||(!n||!c||o.current.openEvent&&\"mousedown\"!==o.current.openEvent.type?(e.preventDefault(),r(!0,e.nativeEvent,\"click\")):r(!1,e.nativeEvent,\"click\")))},onClick(e){const t=f.current;\"mousedown\"===l&&f.current?f.current=void 0:dt(t,!0)&&u||(!n||!c||o.current.openEvent&&\"click\"!==o.current.openEvent.type?r(!0,e.nativeEvent,\"click\"):r(!1,e.nativeEvent,\"click\"))},onKeyDown(e){f.current=void 0,e.defaultPrevented||!d||Hr(e)||(\" \"!==e.key||Kr(i)||(e.preventDefault(),m.current=!0),\"Enter\"===e.key&&r(!n||!c,e.nativeEvent,\"click\"))},onKeyUp(e){e.defaultPrevented||!d||Hr(e)||Kr(i)||\" \"===e.key&&m.current&&(m.current=!1,r(!n||!c,e.nativeEvent,\"click\"))}})),[o,i,l,u,d,r,n,c]);return a.useMemo((()=>s?{reference:h}:{}),[s,h])}const Gr={pointerdown:\"onPointerDown\",mousedown:\"onMouseDown\",click:\"onClick\"},Xr={pointerdown:\"onPointerDownCapture\",mousedown:\"onMouseDownCapture\",click:\"onClickCapture\"},Zr=e=>{var t,n;return{escapeKey:\"boolean\"==typeof e?e:null!=(t=null==e?void 0:e.escapeKey)&&t,outsidePress:\"boolean\"==typeof e?e:null==(n=null==e?void 0:e.outsidePress)||n}};function Jr(e,t){void 0===t&&(t={});const{open:n,onOpenChange:r,elements:o,dataRef:i}=e,{enabled:s=!0,escapeKey:l=!0,outsidePress:c=!0,outsidePressEvent:u=\"pointerdown\",referencePress:d=!1,referencePressEvent:f=\"pointerdown\",ancestorScroll:m=!1,bubbles:h,capture:p}=t,g=ur(),y=zn(\"function\"==typeof c?c:()=>!1),v=\"function\"==typeof c?y:c,b=a.useRef(!1),x=a.useRef(!1),{escapeKey:w,outsidePress:S}=Zr(h),{escapeKey:k,outsidePress:E}=Zr(p),C=zn((e=>{var t;if(!n||!s||!l||\"Escape\"!==e.key)return;const o=null==(t=i.current.floatingContext)?void 0:t.nodeId,a=g?pr(g.nodesRef.current,o):[];if(!w&&(e.stopPropagation(),a.length>0)){let e=!0;if(a.forEach((t=>{var n;null==(n=t.context)||!n.open||t.context.dataRef.current.__escapeKeyBubbles||(e=!1)})),!e)return}r(!1,function(e){return\"nativeEvent\"in e}(e)?e.nativeEvent:e,\"escape-key\")})),_=zn((e=>{var t;const n=()=>{var t;C(e),null==(t=ht(e))||t.removeEventListener(\"keydown\",n)};null==(t=ht(e))||t.addEventListener(\"keydown\",n)})),P=zn((e=>{var t;const n=b.current;b.current=!1;const s=x.current;if(x.current=!1,\"click\"===u&&s)return;if(n)return;if(\"function\"==typeof v&&!v(e))return;const a=ht(e),l=\"[\"+dr(\"inert\")+\"]\",c=ft(o.floating).querySelectorAll(l);let d=We(a)?a:null;for(;d&&!Ge(d);){const e=Je(d);if(Ge(e)||!We(e))break;d=e}if(c.length&&We(a)&&!a.matches(\"html,body\")&&!rt(a,o.floating)&&Array.from(c).every((e=>!rt(d,e))))return;if(Ve(a)&&T){const t=a.clientWidth>0&&a.scrollWidth>a.clientWidth,n=a.clientHeight>0&&a.scrollHeight>a.clientHeight;let r=n&&e.offsetX>a.clientWidth;if(n&&\"rtl\"===Xe(a).direction&&(r=e.offsetX<=a.offsetWidth-a.clientWidth),r||t&&e.offsetY>a.clientHeight)return}const f=null==(t=i.current.floatingContext)?void 0:t.nodeId,m=g&&pr(g.nodesRef.current,f).some((t=>{var n;return mt(e,null==(n=t.context)?void 0:n.elements.floating)}));if(mt(e,o.floating)||mt(e,o.domReference)||m)return;const h=g?pr(g.nodesRef.current,f):[];if(h.length>0){let e=!0;if(h.forEach((t=>{var n;null==(n=t.context)||!n.open||t.context.dataRef.current.__outsidePressBubbles||(e=!1)})),!e)return}r(!1,e,\"outside-press\")})),O=zn((e=>{var t;const n=()=>{var t;P(e),null==(t=ht(e))||t.removeEventListener(u,n)};null==(t=ht(e))||t.addEventListener(u,n)}));a.useEffect((()=>{if(!n||!s)return;function e(e){r(!1,e,\"ancestor-scroll\")}i.current.__escapeKeyBubbles=w,i.current.__outsidePressBubbles=S;const t=ft(o.floating);l&&t.addEventListener(\"keydown\",k?_:C,k),v&&t.addEventListener(u,E?O:P,E);let a=[];return m&&(We(o.domReference)&&(a=et(o.domReference)),We(o.floating)&&(a=a.concat(et(o.floating))),!We(o.reference)&&o.reference&&o.reference.contextElement&&(a=a.concat(et(o.reference.contextElement)))),a=a.filter((e=>{var n;return e!==(null==(n=t.defaultView)?void 0:n.visualViewport)})),a.forEach((t=>{t.addEventListener(\"scroll\",e,{passive:!0})})),()=>{l&&t.removeEventListener(\"keydown\",k?_:C,k),v&&t.removeEventListener(u,E?O:P,E),a.forEach((t=>{t.removeEventListener(\"scroll\",e)}))}}),[i,o,l,v,u,n,r,m,s,w,S,C,k,_,P,E,O]),a.useEffect((()=>{b.current=!1}),[v,u]);const N=a.useMemo((()=>({onKeyDown:C,[Gr[f]]:e=>{d&&r(!1,e.nativeEvent,\"reference-press\")}})),[C,r,d,f]),T=a.useMemo((()=>({onKeyDown:C,onMouseDown(){x.current=!0},onMouseUp(){x.current=!0},[Xr[u]]:()=>{b.current=!0}})),[C,u]);return a.useMemo((()=>s?{reference:N,floating:T}:{}),[s,N,T])}function Qr(e){void 0===e&&(e={});const{nodeId:t}=e,n=function(e){const{open:t=!1,onOpenChange:n,elements:r}=e,o=ir(),i=a.useRef({}),[s]=a.useState((()=>function(){const e=new Map;return{emit(t,n){var r;null==(r=e.get(t))||r.forEach((e=>e(n)))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){var r;e.set(t,(null==(r=e.get(t))?void 0:r.filter((e=>e!==n)))||[])}}}())),l=null!=cr(),[c,u]=a.useState(r.reference),d=zn(((e,t,r)=>{i.current.openEvent=e?t:void 0,s.emit(\"openchange\",{open:e,event:t,reason:r,nested:l}),null==n||n(e,t,r)})),f=a.useMemo((()=>({setPositionReference:u})),[]),m=a.useMemo((()=>({reference:c||r.reference||null,floating:r.floating||null,domReference:r.reference})),[c,r.reference,r.floating]);return a.useMemo((()=>({dataRef:i,open:t,onOpenChange:d,elements:m,events:s,floatingId:o,refs:f})),[t,d,m,s,o,f])}({...e,elements:{reference:null,floating:null,...e.elements}}),r=e.rootContext||n,o=r.elements,[i,s]=a.useState(null),[l,c]=a.useState(null),u=(null==o?void 0:o.reference)||i,d=a.useRef(null),f=ur();er((()=>{u&&(d.current=u)}),[u]);const m=function(e){void 0===e&&(e={});const{placement:t=\"bottom\",strategy:n=\"absolute\",middleware:r=[],platform:o,elements:{reference:i,floating:s}={},transform:l=!0,whileElementsMounted:c,open:u}=e,[d,f]=a.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,h]=a.useState(r);On(m,r)||h(r);const[p,g]=a.useState(null),[y,v]=a.useState(null),b=a.useCallback((e=>{e!==k.current&&(k.current=e,g(e))}),[]),x=a.useCallback((e=>{e!==E.current&&(E.current=e,v(e))}),[]),w=i||p,S=s||y,k=a.useRef(null),E=a.useRef(null),C=a.useRef(d),_=null!=c,P=Mn(c),O=Mn(o),N=a.useCallback((()=>{if(!k.current||!E.current)return;const e={placement:t,strategy:n,middleware:m};O.current&&(e.platform=O.current),Cn(k.current,E.current,e).then((e=>{const t={...e,isPositioned:!0};T.current&&!On(C.current,t)&&(C.current=t,tn.flushSync((()=>{f(t)})))}))}),[m,t,n,O]);Pn((()=>{!1===u&&C.current.isPositioned&&(C.current.isPositioned=!1,f((e=>({...e,isPositioned:!1}))))}),[u]);const T=a.useRef(!1);Pn((()=>(T.current=!0,()=>{T.current=!1})),[]),Pn((()=>{if(w&&(k.current=w),S&&(E.current=S),w&&S){if(P.current)return P.current(w,S,N);N()}}),[w,S,N,P,_]);const M=a.useMemo((()=>({reference:k,floating:E,setReference:b,setFloating:x})),[b,x]),R=a.useMemo((()=>({reference:w,floating:S})),[w,S]),D=a.useMemo((()=>{const e={position:n,left:0,top:0};if(!R.floating)return e;const t=Tn(R.floating,d.x),r=Tn(R.floating,d.y);return l?{...e,transform:\"translate(\"+t+\"px, \"+r+\"px)\",...Nn(R.floating)>=1.5&&{willChange:\"transform\"}}:{position:n,left:t,top:r}}),[n,l,R.floating,d.x,d.y]);return a.useMemo((()=>({...d,update:N,refs:M,elements:R,floatingStyles:D})),[d,N,M,R,D])}({...e,elements:{...o,...l&&{reference:l}}}),h=a.useCallback((e=>{const t=We(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),contextElement:e}:e;c(t),m.refs.setReference(t)}),[m.refs]),p=a.useCallback((e=>{(We(e)||null===e)&&(d.current=e,s(e)),(We(m.refs.reference.current)||null===m.refs.reference.current||null!==e&&!We(e))&&m.refs.setReference(e)}),[m.refs]),g=a.useMemo((()=>({...m.refs,setReference:p,setPositionReference:h,domReference:d})),[m.refs,p,h]),y=a.useMemo((()=>({...m.elements,domReference:u})),[m.elements,u]),v=a.useMemo((()=>({...m,...r,refs:g,elements:y,nodeId:t})),[m,g,y,t,r]);return er((()=>{r.dataRef.current.floatingContext=v;const e=null==f?void 0:f.nodesRef.current.find((e=>e.id===t));e&&(e.context=v)})),a.useMemo((()=>({...m,context:v,refs:g,elements:y})),[m,g,y,v])}const eo=\"active\",to=\"selected\";function no(e,t,n){const r=new Map,o=\"item\"===n;let i=e;if(o&&e){const{[eo]:t,[to]:__,...n}=e;i=n}return{...\"floating\"===n&&{tabIndex:-1,[Fr]:\"\"},...i,...t.map((t=>{const r=t?t[n]:null;return\"function\"==typeof r?e?r(e):null:r})).concat(e).reduce(((e,t)=>t?(Object.entries(t).forEach((t=>{let[n,i]=t;var s;o&&[eo,to].includes(n)||(0===n.indexOf(\"on\")?(r.has(n)||r.set(n,[]),\"function\"==typeof i&&(null==(s=r.get(n))||s.push(i),e[n]=function(){for(var e,t=arguments.length,o=new Array(t),i=0;ie(...o))).find((e=>void 0!==e))})):e[n]=i)})),e):e),{})}}function ro(e){void 0===e&&(e=[]);const t=e.map((e=>null==e?void 0:e.reference)),n=e.map((e=>null==e?void 0:e.floating)),r=e.map((e=>null==e?void 0:e.item)),o=a.useCallback((t=>no(t,e,\"reference\")),t),i=a.useCallback((t=>no(t,e,\"floating\")),n),s=a.useCallback((t=>no(t,e,\"item\")),r);return a.useMemo((()=>({getReferenceProps:o,getFloatingProps:i,getItemProps:s})),[o,i,s])}let oo=!1;function io(e,t,n){switch(e){case\"vertical\":return t;case\"horizontal\":return n;default:return t||n}}function so(e,t){return io(t,e===Bn||e===Wn,e===Vn||e===Un)}function ao(e,t,n){return io(t,e===Wn,n?e===Vn:e===Un)||\"Enter\"===e||\" \"===e||\"\"===e}function lo(e,t,n){return io(t,n?e===Un:e===Vn,e===Bn)}function co(e,t){const{open:n,onOpenChange:r,elements:o}=e,{listRef:i,activeIndex:s,onNavigate:l=()=>{},enabled:c=!0,selectedIndex:u=null,allowEscape:d=!1,loop:f=!1,nested:m=!1,rtl:h=!1,virtual:p=!1,focusItemOnOpen:g=\"auto\",focusItemOnHover:y=!0,openOnArrowKeyDown:v=!0,disabledIndices:b,orientation:x=\"vertical\",cols:w=1,scrollItemIntoView:S=!0,virtualItemRef:k,itemSizes:E,dense:C=!1}=t,_=fr(zr(o.floating)),P=cr(),O=ur(),N=zn(l),T=a.useRef(g),M=a.useRef(null!=u?u:-1),R=a.useRef(null),D=a.useRef(!0),j=a.useRef(N),A=a.useRef(!!o.floating),I=a.useRef(n),L=a.useRef(!1),F=a.useRef(!1),z=fr(b),B=fr(n),W=fr(S),V=fr(u),[U,$]=a.useState(),[Y,H]=a.useState(),K=zn((function(e,t,n){function r(e){p?($(e.id),null==O||O.events.emit(\"virtualfocus\",e),k&&(k.current=e)):Qn(e,{preventScroll:!0,sync:!(!ut()||!lt())&&(oo||L.current)})}void 0===n&&(n=!1);const o=e.current[t.current];o&&r(o),requestAnimationFrame((()=>{const i=e.current[t.current]||o;if(!i)return;o||r(i);const s=W.current;s&&G&&(n||!D.current)&&(null==i.scrollIntoView||i.scrollIntoView(\"boolean\"==typeof s?{block:\"nearest\",inline:\"nearest\"}:s))}))}));er((()=>{document.createElement(\"div\").focus({get preventScroll(){return oo=!0,!1}})}),[]),er((()=>{c&&(n&&o.floating?T.current&&null!=u&&(F.current=!0,M.current=u,N(u)):A.current&&(M.current=-1,j.current(null)))}),[c,n,o.floating,u,N]),er((()=>{if(c&&n&&o.floating)if(null==s){if(L.current=!1,null!=V.current)return;if(A.current&&(M.current=-1,K(i,M)),(!I.current||!A.current)&&T.current&&(null!=R.current||!0===T.current&&null==R.current)){let e=0;const t=()=>{null==i.current[0]?(e<2&&(e?requestAnimationFrame:queueMicrotask)(t),e++):(M.current=null==R.current||ao(R.current,x,h)||m?Hn(i,z.current):Kn(i,z.current),R.current=null,N(M.current))};t()}}else Yn(i,s)||(M.current=s,K(i,M,F.current),F.current=!1)}),[c,n,o.floating,s,V,m,i,x,h,N,K,z]),er((()=>{var e;if(!c||o.floating||!O||p||!A.current)return;const t=O.nodesRef.current,n=null==(e=t.find((e=>e.id===P)))||null==(e=e.context)?void 0:e.elements.floating,r=nt(ft(o.floating)),i=t.some((e=>e.context&&rt(e.context.elements.floating,r)));n&&!i&&D.current&&n.focus({preventScroll:!0})}),[c,o.floating,O,P,p]),er((()=>{if(c&&O&&p&&!P)return O.events.on(\"virtualfocus\",e),()=>{O.events.off(\"virtualfocus\",e)};function e(e){H(e.id),k&&(k.current=e)}}),[c,O,p,P,k]),er((()=>{j.current=N,A.current=!!o.floating})),er((()=>{n||(R.current=null)}),[n]),er((()=>{I.current=n}),[n]);const q=null!=s,G=a.useMemo((()=>{function e(e){if(!n)return;const t=i.current.indexOf(e);-1!==t&&N(t)}return{onFocus(t){let{currentTarget:n}=t;e(n)},onClick:e=>{let{currentTarget:t}=e;return t.focus({preventScroll:!0})},...y&&{onMouseMove(t){let{currentTarget:n}=t;e(n)},onPointerLeave(e){let{pointerType:t}=e;D.current&&\"touch\"!==t&&(M.current=-1,K(i,M),N(null),p||Qn(_.current,{preventScroll:!0}))}}}}),[n,_,K,y,i,N,p]),X=zn((e=>{if(D.current=!1,L.current=!0,!B.current&&e.currentTarget===_.current)return;if(m&&lo(e.key,x,h))return yt(e),r(!1,e.nativeEvent,\"list-navigation\"),void(Ve(o.domReference)&&!p&&o.domReference.focus());const t=M.current,s=Hn(i,b),a=Kn(i,b);if(\"Home\"===e.key&&(yt(e),M.current=s,N(M.current)),\"End\"===e.key&&(yt(e),M.current=a,N(M.current)),w>1){const t=E||Array.from({length:i.current.length},(()=>({width:1,height:1}))),n=function(e,t,n){const r=[];let o=0;return e.forEach(((e,i)=>{let{width:s,height:a}=e,l=!1;for(n&&(o=0);!l;){const e=[];for(let n=0;nnull==r[e]))?(e.forEach((e=>{r[e]=i})),l=!0):o++}})),[...r]}(t,w,C),r=n.findIndex((e=>null!=e&&!Zn(i.current,e,b))),o=n.reduce(((e,t,n)=>null==t||Zn(i.current,t,b)?e:n),-1),l=n[function(e,t){let{event:n,orientation:r,loop:o,cols:i,disabledIndices:s,minIndex:a,maxIndex:l,prevIndex:c,stopEvent:u=!1}=t,d=c;if(n.key===Bn){if(u&&yt(n),-1===c)d=l;else if(d=qn(e,{startingIndex:d,amount:i,decrement:!0,disabledIndices:s}),o&&(c-ie?n:n-i}Yn(e,d)&&(d=c)}if(n.key===Wn&&(u&&yt(n),-1===c?d=a:(d=qn(e,{startingIndex:c,amount:i,disabledIndices:s}),o&&c+i>l&&(d=qn(e,{startingIndex:c%i-i,amount:i,disabledIndices:s}))),Yn(e,d)&&(d=c)),\"both\"===r){const t=St(c/i);n.key===Un&&(u&&yt(n),c%i!=i-1?(d=qn(e,{startingIndex:c,disabledIndices:s}),o&&$n(d,i,t)&&(d=qn(e,{startingIndex:c-c%i-1,disabledIndices:s}))):o&&(d=qn(e,{startingIndex:c-c%i-1,disabledIndices:s})),$n(d,i,t)&&(d=c)),n.key===Vn&&(u&&yt(n),c%i!=0?(d=qn(e,{startingIndex:c,decrement:!0,disabledIndices:s}),o&&$n(d,i,t)&&(d=qn(e,{startingIndex:c+(i-c%i),decrement:!0,disabledIndices:s}))):o&&(d=qn(e,{startingIndex:c+(i-c%i),decrement:!0,disabledIndices:s})),$n(d,i,t)&&(d=c));const r=St(l/i)===t;Yn(e,d)&&(d=o&&r?n.key===Vn?l:qn(e,{startingIndex:c-c%i-1,disabledIndices:s}):c)}return d}({current:n.map((e=>null!=e?i.current[e]:null))},{event:e,orientation:x,loop:f,cols:w,disabledIndices:Xn([...b||i.current.map(((e,t)=>Zn(i.current,t)?t:void 0)),void 0],n),minIndex:r,maxIndex:o,prevIndex:Gn(M.current>a?s:M.current,t,n,w,e.key===Wn?\"bl\":e.key===Un?\"tr\":\"tl\"),stopEvent:!0})];if(null!=l&&(M.current=l,N(M.current)),\"both\"===x)return}if(so(e.key,x)){if(yt(e),n&&!p&&nt(e.currentTarget.ownerDocument)===e.currentTarget)return M.current=ao(e.key,x,h)?s:a,void N(M.current);ao(e.key,x,h)?M.current=f?t>=a?d&&t!==i.current.length?-1:s:qn(i,{startingIndex:t,disabledIndices:b}):Math.min(a,qn(i,{startingIndex:t,disabledIndices:b})):M.current=f?t<=s?d&&-1!==t?i.current.length:a:qn(i,{startingIndex:t,decrement:!0,disabledIndices:b}):Math.max(s,qn(i,{startingIndex:t,decrement:!0,disabledIndices:b})),Yn(i,M.current)?N(null):N(M.current)}})),Z=a.useMemo((()=>p&&n&&q&&{\"aria-activedescendant\":Y||U}),[p,n,q,Y,U]),J=a.useMemo((()=>({\"aria-orientation\":\"both\"===x?void 0:x,...!vt(o.domReference)&&Z,onKeyDown:X,onPointerMove(){D.current=!0}})),[Z,X,o.domReference,x]),Q=a.useMemo((()=>{function e(e){\"auto\"===g&&st(e.nativeEvent)&&(T.current=!0)}return{...Z,onKeyDown(e){D.current=!1;const t=0===e.key.indexOf(\"Arrow\"),o=function(e,t,n){return io(t,n?e===Vn:e===Un,e===Wn)}(e.key,x,h),s=lo(e.key,x,h),a=so(e.key,x),l=(m?o:a)||\"Enter\"===e.key||\"\"===e.key.trim();if(p&&n){const n=null==O?void 0:O.nodesRef.current.find((e=>null==e.parentId)),r=O&&n?function(e,t){let n,r=-1;return function t(o,i){i>r&&(n=o,r=i),pr(e,o).forEach((e=>{t(e.id,i+1)}))}(t,0),e.find((e=>e.id===n))}(O.nodesRef.current,n.id):null;if(t&&r&&k){const t=new KeyboardEvent(\"keydown\",{key:e.key,bubbles:!0});if(o||s){var c,d;const n=(null==(c=r.context)?void 0:c.elements.domReference)===e.currentTarget,a=s&&!n?null==(d=r.context)?void 0:d.elements.domReference:o?i.current.find((e=>(null==e?void 0:e.id)===U)):null;a&&(yt(e),a.dispatchEvent(t),H(void 0))}var f;if(a&&r.context&&r.context.open&&r.parentId&&e.currentTarget!==r.context.elements.domReference)return yt(e),void(null==(f=r.context.elements.domReference)||f.dispatchEvent(t))}return X(e)}(n||v||!t)&&(l&&(R.current=m&&a?null:e.key),m?o&&(yt(e),n?(M.current=Hn(i,z.current),N(M.current)):r(!0,e.nativeEvent,\"list-navigation\")):a&&(null!=u&&(M.current=u),yt(e),!n&&v?r(!0,e.nativeEvent,\"list-navigation\"):X(e),n&&N(M.current)))},onFocus(){n&&!p&&N(null)},onPointerDown:function(e){T.current=g,\"auto\"===g&&at(e.nativeEvent)&&(T.current=!0)},onMouseDown:e,onClick:e}}),[U,Z,X,z,g,i,m,N,r,n,v,x,h,u,O,p,k]);return a.useMemo((()=>c?{reference:Q,floating:J,item:G}:{}),[c,Q,J,G])}const uo=new Map([[\"select\",\"listbox\"],[\"combobox\",\"listbox\"],[\"label\",!1]]);function fo(e,t){var n;void 0===t&&(t={});const{open:r,floatingId:o}=e,{enabled:i=!0,role:s=\"dialog\"}=t,l=null!=(n=uo.get(s))?n:s,c=ir(),u=null!=cr(),d=a.useMemo((()=>\"tooltip\"===l||\"label\"===s?{[\"aria-\"+(\"label\"===s?\"labelledby\":\"describedby\")]:r?o:void 0}:{\"aria-expanded\":r?\"true\":\"false\",\"aria-haspopup\":\"alertdialog\"===l?\"dialog\":l,\"aria-controls\":r?o:void 0,...\"listbox\"===l&&{role:\"combobox\"},...\"menu\"===l&&{id:c},...\"menu\"===l&&u&&{role:\"menuitem\"},...\"select\"===s&&{\"aria-autocomplete\":\"none\"},...\"combobox\"===s&&{\"aria-autocomplete\":\"list\"}}),[l,o,u,r,c,s]),f=a.useMemo((()=>{const e={id:o,...l&&{role:l}};return\"tooltip\"===l||\"label\"===s?e:{...e,...\"menu\"===l&&{\"aria-labelledby\":c}}}),[l,o,c,s]),m=a.useCallback((e=>{let{active:t,selected:n}=e;const r={role:\"option\",...t&&{id:o+\"-option\"}};switch(s){case\"select\":return{...r,\"aria-selected\":t&&n};case\"combobox\":return{...r,...t&&{\"aria-selected\":!0}}}return{}}),[o,s]);return a.useMemo((()=>i?{reference:d,floating:f,item:m}:{}),[i,d,f,m])}const mo=e=>e.replace(/[A-Z]+(?![a-z])|[A-Z]/g,((e,t)=>(t?\"-\":\"\")+e.toLowerCase()));function ho(e,t){return\"function\"==typeof e?e(t):e}function po(e,t){void 0===t&&(t={});const{initial:n={opacity:0},open:r,close:o,common:i,duration:s=250}=t,l=e.placement,c=l.split(\"-\")[0],u=a.useMemo((()=>({side:c,placement:l})),[c,l]),d=\"number\"==typeof s,f=(d?s:s.open)||0,m=(d?s:s.close)||0,[h,p]=a.useState((()=>({...ho(i,u),...ho(n,u)}))),{isMounted:g,status:y}=function(e,t){void 0===t&&(t={});const{open:n,elements:{floating:r}}=e,{duration:o=250}=t,i=(\"number\"==typeof o?o:o.close)||0,[s,l]=a.useState(\"unmounted\"),c=function(e,t){const[n,r]=a.useState(e);return e&&!n&&r(!0),a.useEffect((()=>{if(!e&&n){const e=setTimeout((()=>r(!1)),t);return()=>clearTimeout(e)}}),[e,n,t]),n}(n,i);return c||\"close\"!==s||l(\"unmounted\"),er((()=>{if(r){if(n){l(\"initial\");const e=requestAnimationFrame((()=>{l(\"open\")}));return()=>{cancelAnimationFrame(e)}}l(\"close\")}}),[n,r]),{isMounted:c,status:s}}(e,{duration:s}),v=fr(n),b=fr(r),x=fr(o),w=fr(i);return er((()=>{const e=ho(v.current,u),t=ho(x.current,u),n=ho(w.current,u),r=ho(b.current,u)||Object.keys(e).reduce(((e,t)=>(e[t]=\"\",e)),{});if(\"initial\"===y&&p((t=>({transitionProperty:t.transitionProperty,...n,...e}))),\"open\"===y&&p({transitionProperty:Object.keys(r).map(mo).join(\",\"),transitionDuration:f+\"ms\",...n,...r}),\"close\"===y){const r=t||e;p({transitionProperty:Object.keys(r).map(mo).join(\",\"),transitionDuration:m+\"ms\",...n,...r})}}),[m,x,v,b,w,f,y,u]),{isMounted:g,styles:h}}function go(e,t){const[n,r]=e;let o=!1;const i=t.length;for(let e=0,s=i-1;e=r!=c>=r&&n<=(l-i)*(r-a)/(c-a)+i&&(o=!o)}return o}function yo(e){void 0===e&&(e={});const{buffer:t=.5,blockPointerEvents:n=!1,requireIntent:r=!0}=e;let o,i=!1,s=null,a=null,l=performance.now();const c=e=>{let{x:n,y:c,placement:u,elements:d,onClose:f,nodeId:m,tree:h}=e;return function(e){function p(){clearTimeout(o),f()}if(clearTimeout(o),!d.domReference||!d.floating||null==u||null==n||null==c)return;const{clientX:g,clientY:y}=e,v=[g,y],b=ht(e),x=\"mouseleave\"===e.type,w=rt(d.floating,b),S=rt(d.domReference,b),k=d.domReference.getBoundingClientRect(),E=d.floating.getBoundingClientRect(),C=u.split(\"-\")[0],_=n>E.right-E.width/2,P=c>E.bottom-E.height/2,O=function(e,t){return e[0]>=t.x&&e[0]<=t.x+t.width&&e[1]>=t.y&&e[1]<=t.y+t.height}(v,k),N=E.width>k.width,T=E.height>k.height,M=(N?k:E).left,R=(N?k:E).right,D=(T?k:E).top,j=(T?k:E).bottom;if(w&&(i=!0,!x))return;if(S&&(i=!1),S&&!x)return void(i=!0);if(x&&We(e.relatedTarget)&&rt(d.floating,e.relatedTarget))return;if(h&&pr(h.nodesRef.current,m).some((e=>{let{context:t}=e;return null==t?void 0:t.open})))return;if(\"top\"===C&&c>=k.bottom-1||\"bottom\"===C&&c<=k.top+1||\"left\"===C&&n>=k.right-1||\"right\"===C&&n<=k.left+1)return p();let A=[];switch(C){case\"top\":A=[[M,k.top+1],[M,E.bottom-1],[R,E.bottom-1],[R,k.top+1]];break;case\"bottom\":A=[[M,E.top+1],[M,k.bottom-1],[R,k.bottom-1],[R,E.top+1]];break;case\"left\":A=[[E.right-1,j],[E.right-1,D],[k.left+1,D],[k.left+1,j]];break;case\"right\":A=[[k.right-1,j],[k.right-1,D],[E.left+1,D],[E.left+1,j]]}if(!go([g,y],A)){if(i&&!O)return p();if(!x&&r){const t=function(e,t){const n=performance.now(),r=n-l;if(null===s||null===a||0===r)return s=e,a=t,l=n,null;const o=e-s,i=t-a,c=Math.sqrt(o*o+i*i);return s=e,a=t,l=n,c/r}(e.clientX,e.clientY);if(null!==t&&t<.1)return p()}go([g,y],function(e){let[n,r]=e;switch(C){case\"top\":return[[N?n+t/2:_?n+4*t:n-4*t,r+t+1],[N?n-t/2:_?n+4*t:n-4*t,r+t+1],[E.left,_||N?E.bottom-t:E.top],[E.right,_?N?E.bottom-t:E.top:E.bottom-t]];case\"bottom\":return[[N?n+t/2:_?n+4*t:n-4*t,r-t],[N?n-t/2:_?n+4*t:n-4*t,r-t],[E.left,_||N?E.top+t:E.bottom],[E.right,_?N?E.top+t:E.bottom:E.top+t]];case\"left\":{const e=[n+t+1,T?r+t/2:P?r+4*t:r-4*t],o=[n+t+1,T?r-t/2:P?r+4*t:r-4*t];return[[P||T?E.right-t:E.left,E.top],[P?T?E.right-t:E.left:E.right-t,E.bottom],e,o]}case\"right\":return[[n-t,T?r+t/2:P?r+4*t:r-4*t],[n-t,T?r-t/2:P?r+4*t:r-4*t],[P||T?E.left+t:E.right,E.top],[P?T?E.left+t:E.right:E.left+t,E.bottom]]}}([n,c]))?!i&&r&&(o=window.setTimeout(p,40)):p()}}};return c.__options={blockPointerEvents:n},c}const vo=ke(\"TriangleAlert\",[[\"path\",{d:\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\",key:\"wmoenq\"}],[\"path\",{d:\"M12 9v4\",key:\"juzpu7\"}],[\"path\",{d:\"M12 17h.01\",key:\"p32p05\"}]]),bo=ke(\"Trash2\",[[\"path\",{d:\"M3 6h18\",key:\"d0wm0j\"}],[\"path\",{d:\"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6\",key:\"4alrt4\"}],[\"path\",{d:\"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2\",key:\"v07s0e\"}],[\"line\",{x1:\"10\",x2:\"10\",y1:\"11\",y2:\"17\",key:\"1uufr5\"}],[\"line\",{x1:\"14\",x2:\"14\",y1:\"11\",y2:\"17\",key:\"xtxkd\"}]]);var xo=\"light\",wo=\"neutral\",So=function(e){var t=e.icon,n=void 0===t?null:t,r=e.theme,o=void 0===r?xo:r,i=e.variant,s=void 0===i?wo:i,l=\"[&>svg]:h-5 [&>svg]:w-5\",c=function(e){var t=e.theme,n=void 0===t?xo:t,r=e.variant;return{info:\"light\"===n?\"text-support-info\":\"text-support-info-inverse\",success:\"light\"===n?\"text-support-success\":\"text-support-success-inverse\",warning:\"light\"===n?\"text-support-warning\":\"text-support-warning-inverse\",error:\"light\"===n?\"text-support-error\":\"text-support-error-inverse\"}[void 0===r?wo:r]||(\"light\"===n?\"text-icon-secondary\":\"text-icon-inverse\")}({theme:o,variant:s});if(n&&(0,a.isValidElement)(n))return(0,a.cloneElement)(n,{className:oe(l,c,n.props.className)});var u={neutral:React.createElement(Re,{className:oe(l,c)}),info:React.createElement(Re,{className:oe(l,c)}),success:React.createElement(Ce,{className:oe(l,c)}),warning:React.createElement(vo,{className:oe(l,c)}),error:React.createElement(bo,{className:oe(l,c)})};return u[s]||u.neutral},ko=function(e){var t=e.actionType,n=void 0===t?\"button\":t,r=e.onAction,o=void 0===r?function(){}:r,i=e.actionLabel,s=void 0===i?\"\":i,a=e.theme,l=void 0===a?xo:a,c=\"focus:ring-0 focus:ring-offset-0 ring-offset-0 focus:outline-none\",u=\"text-button-primary border-button-primary hover:border-button-primary hover:text-button-primary-hover\";switch(\"dark\"===l&&(u=\"text-text-inverse border-text-inverse hover:border-text-inverse hover:text-text-inverse\"),n){case\"button\":return React.createElement(de,{variant:\"outline\",size:\"xs\",onClick:o,className:oe(\"rounded\",c,u,\"dark\"===l?\"bg-transparent hover:bg-transparent\":\"bg-white hover:bg-white\")},s);case\"link\":return React.createElement(de,{variant:\"link\",size:\"xs\",onClick:o,className:oe(c,u)},s);default:return null}},Eo=function(e){var t=e.theme,n=void 0===t?xo:t,r=e.title,o=void 0===r?\"\":r;return!o&&isNaN(o)?null:React.createElement(\"span\",{className:oe(\"block\",{light:\"text-text-primary\",dark:\"text-text-inverse\"}[n],\"text-sm leading-5 font-semibold\")},o)},Co=function(e){var t=e.theme,n=void 0===t?xo:t,r=e.content,o=void 0===r?\"\":r;return!o&&isNaN(o)?null:React.createElement(\"span\",{className:oe({light:\"text-text-primary\",dark:\"text-text-inverse\"}[n],\"block text-sm [&_*]:text-sm leading-5 [&_*]:leading-5 font-normal\")},o)},_o=function(){for(var e=arguments.length,t=new Array(e),n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n{})),_=a.useCallback((()=>{var e;const t=null==(e=o.current.openEvent)?void 0:e.type;return(null==t?void 0:t.includes(\"mouse\"))&&\"mousedown\"!==t}),[o]);a.useEffect((()=>{if(l)return i.on(\"openchange\",e),()=>{i.off(\"openchange\",e)};function e(e){let{open:t}=e;t||(clearTimeout(x.current),clearTimeout(S.current),k.current=!0)}}),[l,i]),a.useEffect((()=>{if(!l)return;if(!g.current)return;if(!n)return;function e(e){_()&&r(!1,e,\"hover\")}const t=ft(s.floating).documentElement;return t.addEventListener(\"mouseleave\",e),()=>{t.removeEventListener(\"mouseleave\",e)}}),[s.floating,n,r,l,g,_]);const P=a.useCallback((function(e,t,n){void 0===t&&(t=!0),void 0===n&&(n=\"hover\");const o=hr(y.current,\"close\",b.current);o&&!w.current?(clearTimeout(x.current),x.current=window.setTimeout((()=>r(!1,e,n)),o)):t&&(clearTimeout(x.current),r(!1,e,n))}),[y,r]),O=zn((()=>{C.current(),w.current=void 0})),N=zn((()=>{if(E.current){const e=ft(s.floating).body;e.style.pointerEvents=\"\",e.removeAttribute(mr),E.current=!1}}));a.useEffect((()=>{if(l&&We(s.domReference)){var e;const t=s.domReference;return n&&t.addEventListener(\"mouseleave\",c),null==(e=s.floating)||e.addEventListener(\"mouseleave\",c),m&&t.addEventListener(\"mousemove\",i,{once:!0}),t.addEventListener(\"mouseenter\",i),t.addEventListener(\"mouseleave\",a),()=>{var e;n&&t.removeEventListener(\"mouseleave\",c),null==(e=s.floating)||e.removeEventListener(\"mouseleave\",c),m&&t.removeEventListener(\"mousemove\",i),t.removeEventListener(\"mouseenter\",i),t.removeEventListener(\"mouseleave\",a)}}function t(){return!!o.current.openEvent&&[\"click\",\"mousedown\"].includes(o.current.openEvent.type)}function i(e){if(clearTimeout(x.current),k.current=!1,d&&!dt(b.current)||f>0&&!hr(y.current,\"open\"))return;const t=hr(y.current,\"open\",b.current);t?x.current=window.setTimeout((()=>{v.current||r(!0,e,\"hover\")}),t):r(!0,e,\"hover\")}function a(e){if(t())return;C.current();const r=ft(s.floating);if(clearTimeout(S.current),g.current&&o.current.floatingContext){n||clearTimeout(x.current),w.current=g.current({...o.current.floatingContext,tree:h,x:e.clientX,y:e.clientY,onClose(){N(),O(),P(e,!0,\"safe-polygon\")}});const t=w.current;return r.addEventListener(\"mousemove\",t),void(C.current=()=>{r.removeEventListener(\"mousemove\",t)})}(\"touch\"!==b.current||!rt(s.floating,e.relatedTarget))&&P(e)}function c(e){t()||o.current.floatingContext&&(null==g.current||g.current({...o.current.floatingContext,tree:h,x:e.clientX,y:e.clientY,onClose(){N(),O(),P(e)}})(e))}}),[s,l,e,d,f,m,P,O,N,r,n,v,h,y,g,o]),er((()=>{var e;if(l&&n&&null!=(e=g.current)&&e.__options.blockPointerEvents&&_()){E.current=!0;const e=s.floating;if(We(s.domReference)&&e){var t;const n=ft(s.floating).body;n.setAttribute(mr,\"\");const r=s.domReference,o=null==h||null==(t=h.nodesRef.current.find((e=>e.id===p)))||null==(t=t.context)?void 0:t.elements.floating;return o&&(o.style.pointerEvents=\"\"),n.style.pointerEvents=\"none\",r.style.pointerEvents=\"auto\",e.style.pointerEvents=\"auto\",()=>{n.style.pointerEvents=\"\",r.style.pointerEvents=\"\",e.style.pointerEvents=\"\"}}}}),[l,n,p,s,h,g,_]),er((()=>{n||(b.current=void 0,O(),N())}),[n,O,N]),a.useEffect((()=>()=>{O(),clearTimeout(x.current),clearTimeout(S.current),N()}),[l,s.domReference,O,N]);const T=a.useMemo((()=>{function e(e){b.current=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){const{nativeEvent:t}=e;function o(){k.current||v.current||r(!0,t,\"hover\")}d&&!dt(b.current)||n||0===f||(clearTimeout(S.current),\"touch\"===b.current?o():S.current=window.setTimeout(o,f))}}}),[d,r,n,v,f]),M=a.useMemo((()=>({onMouseEnter(){clearTimeout(x.current)},onMouseLeave(e){P(e.nativeEvent,!1)}})),[P]);return a.useMemo((()=>l?{reference:T,floating:M}:{}),[l,T,M])}(V,To({move:!1,enabled:!j&&M.includes(\"hover\")},D&&{handleClose:yo()})),Y=function(e,t){void 0===t&&(t={});const{open:n,onOpenChange:r,events:o,dataRef:i,elements:s}=e,{enabled:l=!0,visibleOnly:c=!0}=t,u=a.useRef(!1),d=a.useRef(),f=a.useRef(!0);a.useEffect((()=>{if(!l)return;const e=Fe(s.domReference);function t(){!n&&Ve(s.domReference)&&s.domReference===nt(ft(s.domReference))&&(u.current=!0)}function r(){f.current=!0}return e.addEventListener(\"blur\",t),e.addEventListener(\"keydown\",r,!0),()=>{e.removeEventListener(\"blur\",t),e.removeEventListener(\"keydown\",r,!0)}}),[s.domReference,n,l]),a.useEffect((()=>{if(l)return o.on(\"openchange\",e),()=>{o.off(\"openchange\",e)};function e(e){let{reason:t}=e;\"reference-press\"!==t&&\"escape-key\"!==t||(u.current=!0)}}),[o,l]),a.useEffect((()=>()=>{clearTimeout(d.current)}),[]);const m=a.useMemo((()=>({onPointerDown(e){at(e.nativeEvent)||(f.current=!1)},onMouseLeave(){u.current=!1},onFocus(e){if(u.current)return;const t=ht(e.nativeEvent);if(c&&We(t))try{if(lt()&&ut())throw Error();if(!t.matches(\":focus-visible\"))return}catch(e){if(!f.current&&!gt(t))return}r(!0,e.nativeEvent,\"focus\")},onBlur(e){u.current=!1;const t=e.relatedTarget,n=e.nativeEvent,o=We(t)&&t.hasAttribute(dr(\"focus-guard\"))&&\"outside\"===t.getAttribute(\"data-type\");d.current=window.setTimeout((()=>{var e;const a=nt(s.domReference?s.domReference.ownerDocument:document);(t||a!==s.domReference)&&(rt(null==(e=i.current.floatingContext)?void 0:e.refs.floating.current,a)||rt(s.domReference,a)||o||r(!1,n,\"focus\"))}))}})),[i,s.domReference,r,c]);return a.useMemo((()=>l?{reference:m}:{}),[l,m])}(V,{enabled:!j&&M.includes(\"focus\")}),H=ro([U,$,Y,Jr(V),fo(V,{role:\"tooltip\"})]),K=H.getReferenceProps,q=H.getFloatingProps,G=po(V,{duration:150,initial:{opacity:0},open:{opacity:1},close:{opacity:0}}),X=G.isMounted,Z=G.styles,J=null===(t={light:\"bg-tooltip-background-light text-text-primary\",dark:\"bg-tooltip-background-dark text-text-on-color\"})||void 0===t?void 0:t[s],Q=\"dark\"===s?\"text-tooltip-background-dark\":\"text-tooltip-background-light\";return l().createElement(l().Fragment,null,(0,a.isValidElement)(v)&&(0,a.cloneElement)(v,To(To({},v.props),{},{ref:_o(v.ref,B.setReference),className:oe(v.props.className)},K())),l().createElement(Ir,{id:k,root:w},X&&l().createElement(\"div\",Oo({className:oe(\"absolute z-20 py-2 px-3 rounded-md text-xs leading-4 shadow-soft-shadow-lg\",J,\"max-w-80 w-fit\",b),ref:B.setFloating,style:To(To({},W),Z)},q()),l().createElement(\"div\",null,!!f&&l().createElement(\"span\",{className:\"font-semibold\"},f),!!m&&l().createElement(\"div\",{className:\"font-normal\"},m)),p&&l().createElement(sr,{ref:F,context:V,placement:u,className:oe(\"fill-current\",Q)}))))},jo=[\"id\",\"label\",\"value\",\"children\",\"disabled\",\"icon\",\"inlineIcon\",\"hideSelection\",\"reversePosition\",\"borderOn\",\"borderOnActive\",\"badgeItem\",\"useSwitch\",\"info\",\"minWidth\"],Ao=[\"id\",\"children\",\"value\",\"disabled\",\"size\"];function Io(){return Io=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:size-3\",xs:\"[&>svg]:size-3\",sm:\"[&>svg]:size-3\",md:\"[&>svg]:size-4\",lg:\"[&>svg]:size-5\"};return p?(k=S.disabled,E+=\" cursor-not-allowed disabled\"):k=S[d],r?React.createElement(\"span\",{className:oe(\"font-medium border-badge-border-gray flex items-center justify-center border border-solid box-border\",{xxs:\"py-0.5 px-0.5 text-xs h-4\",xs:\"py-0.5 px-1 text-xs h-5\",sm:\"py-1 px-1.5 text-xs h-6\",md:\"py-1 px-1.5 text-sm h-7\",lg:\"py-1 px-1.5 text-base h-8\"}[i],{pill:\"rounded-full\",rounded:\"rounded\"}[c],\"gap-0.5\",k,a),ref:t},m?React.createElement(\"span\",{className:oe(\"justify-center flex items-center\",C[i])},m):null,React.createElement(\"span\",{className:\"px-1\"},r),b&&React.createElement(\"span\",{className:oe(E,C[i]),onClick:p?null:y,onMouseDown:w,role:\"button\",tabIndex:0},React.createElement(\"span\",{className:\"sr-only\"},\"Remove \".concat(r)),React.createElement(qo,null),React.createElement(\"span\",{className:\"absolute -inset-1\"}))):null},Xo=(0,a.forwardRef)(Go);Xo.displayName=\"Badge\";var Zo=Xo,Jo=[\"id\",\"defaultValue\",\"value\",\"size\",\"className\",\"disabled\",\"onChange\",\"error\",\"onError\"];function Qo(){return Qo=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:size-3 text-xs\",xs:\"size-6 [&>svg]:size-4 text-sm\",sm:\"size-8 [&>svg]:size-5 text-base\",md:\"size-10 [&>svg]:size-6 text-lg\",lg:\"size-12 [&>svg]:size-12 text-lg\"})||void 0===n?void 0:n[l],y=null===(r={none:\"\",subtle:\"ring-1 ring-border-transparent-subtle\",ring:\"ring ring-border-subtle\"})||void 0===r?void 0:r[f&&\"none\"===u?\"subtle\":u],v=f?\"bg-cover bg-center\":\"\";return React.createElement(\"div\",{className:oe(\"rounded-full overflow-hidden flex items-center justify-center\",!f&&p,g,y,v,h),style:f?{backgroundImage:\"url(\".concat(f,\")\")}:{}},m?\"string\"==typeof m?null==m||null===(o=m[0])||void 0===o?void 0:o.toUpperCase():m:null)};const ii=ke(\"Upload\",[[\"path\",{d:\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\",key:\"ih7n3h\"}],[\"polyline\",{points:\"17 8 12 3 7 8\",key:\"t8dd8p\"}],[\"line\",{x1:\"12\",x2:\"12\",y1:\"3\",y2:\"15\",key:\"widbto\"}]]);var si=[\"id\",\"type\",\"defaultValue\",\"value\",\"size\",\"className\",\"disabled\",\"onChange\",\"error\",\"onError\",\"prefix\",\"suffix\",\"label\"];function ai(){return ai=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0?I(t[0].name):I(null):t=e.target.value,T||\"file\"===o||D(t),\"function\"==typeof g&&g(t))},z=function(){I(null),O.current&&(O.current.value=null),g(null)},B=\"bg-field-secondary-background font-normal placeholder-text-tertiary text-text-primary w-full outline outline-1 outline-border-subtle border-none\",W={xs:\"px-2 py-1 rounded\",sm:\"p-3 py-2 rounded\",md:\"p-3.5 py-2.5 rounded-md\",lg:\"p-4 py-3 rounded-lg\"},V={xs:\"text-xs font-medium\",sm:\"text-sm font-medium\",md:\"text-sm font-medium\",lg:\"text-base font-medium\"},U={xs:\"text-xs\",sm:\"text-xs\",md:\"text-sm\",lg:\"text-base\"},$={sm:S?\"pl-8\":\"\",md:S?\"pl-9\":\"\",lg:S?\"pl-10\":\"\"},Y={sm:E?\"pr-8\":\"\",md:E?\"pr-9\":\"\",lg:E?\"pr-10\":\"\"},H=h?\"hover:outline-border-disabled\":\"hover:outline-border-strong\",K=\"focus:outline-focus-border focus:ring-2 focus:ring-toggle-on focus:ring-offset-2\",q=v?\"focus:outline-focus-error-border focus:ring-field-color-error outline-focus-error-border\":\"\",G=v?\"focus:outline-focus-error-border focus:ring-field-color-error outline-focus-error-border\":\"\",X=h?\"outline-border-disabled bg-field-background-disabled cursor-not-allowed text-text-disabled\":\"\",Z=h?\"outline-border-disabled cursor-not-allowed text-text-disabled file:text-text-tertiary\":\"\",J=\"font-normal placeholder-text-tertiary text-text-primary pointer-events-none absolute inset-y-0 flex flex-1 items-center [&>svg]:h-4 [&>svg]:w-4\",Q=h?\"font-normal placeholder-text-tertiary text-icon-disabled pointer-events-none absolute inset-y-0 flex flex-1 items-center\":\"font-normal placeholder-text-tertiary text-field-placeholder pointer-events-none absolute inset-y-0 flex flex-1 items-center\",ee={xs:\"[&>svg]:size-4\",sm:\"[&>svg]:size-4\",md:\"[&>svg]:size-5\",lg:\"[&>svg]:size-6\"},te=A?\"file:border-0 file:bg-transparent pr-10\":\"text-text-tertiary file:border-0 file:bg-transparent pr-10\";return\"file\"===o?React.createElement(\"div\",{className:\"flex flex-col items-start gap-1.5 [&_*]:box-border box-border\"},React.createElement(\"label\",{className:oe(V[u],\"text-field-label\"),htmlFor:N},_),React.createElement(\"div\",{className:oe(\"w-full relative flex focus-within:z-10\",f)},React.createElement(\"input\",ai({ref:t,id:N,type:\"file\",className:oe(B,Z,W[u],U[u],K,H,G,te),disabled:h,onChange:F,onInvalid:x},P)),React.createElement(\"div\",{className:oe(Q,\"right-0 pr-3\",ee[u])},React.createElement(ii,null)))):React.createElement(\"div\",{className:\"flex flex-col items-start gap-1.5 [&_*]:box-border box-border\"},React.createElement(\"label\",{className:oe(V[u],\"text-field-label\"),htmlFor:N},_),React.createElement(\"div\",{className:oe(\"w-full relative flex focus-within:z-10\",f)},S?React.createElement(\"div\",{className:oe(J,\"left-0 pl-3\",U[u])},S):null,React.createElement(\"input\",ai({ref:O,id:N,type:o,className:oe(B,X,W[u],U[u],$[u],Y[u],K,H,q),disabled:h,onChange:F,onInvalid:x,value:L()},P)),\"file\"===o?A?React.createElement(\"div\",{className:oe(Q,\"right-0 pr-3 cursor-pointer z-20 pointer-events-auto\",ee[u]),onClick:z,role:\"button\",tabIndex:0,onKeyDown:function(e){\"Enter\"!==e.key&&\" \"!==e.key||z()}},React.createElement(qo,null)):React.createElement(\"div\",{className:oe(Q,\"right-0 pr-3\",ee[u])},React.createElement(ii,null)):E?React.createElement(\"div\",{className:oe(J,\"right-0 pr-3\",U[u])},E):null))},di=(0,a.forwardRef)(ui);di.displayName=\"Input\";var fi=di,mi=[\"children\",\"tag\",\"size\",\"className\",\"variant\",\"required\"];function hi(){return hi=Object.assign?Object.assign.bind():function(e){for(var t=1;t*]:text-xs [&>svg]:h-3 [&>svg]:w-3\",sm:\"text-sm [&>*]:text-sm [&>svg]:h-4 [&>svg]:w-4\",md:\"text-base [&>*]:text-base [&>svg]:h-5 [&>svg]:w-5\"}[a],{neutral:\"text-field-label [&>*]:text-field-label\",help:\"text-field-helper [&>*]:text-field-helper\",error:\"text-support-error [&>*]:text-support-error\",disabled:\"text-field-color-disabled disabled cursor-not-allowed [&>*]:text-field-color-disabled\"}[f],g,u)},p),r)})),gi=pi,yi=function(e){var t=e.title,n=void 0===t?null:t,r=e.description,o=void 0===r?null:r,i=e.icon,s=void 0===i?null:i,a=e.iconPosition,l=void 0===a?\"right\":a,c=e.tag,u=void 0===c?\"h2\":c,d=e.size,f=void 0===d?\"sm\":d,m=e.className,h=void 0===m?\"\":m,p={xs:\"gap-1 [&>svg]:size-3.5\",sm:\"gap-1 [&>svg]:size-4\",md:\"gap-1.5 [&>svg]:size-5\",lg:\"gap-1.5 [&>svg]:size-5\"};if(!n)return null;var g=function(){var e=u;return React.createElement(e,{className:oe(\"font-semibold p-0 m-0\",{xs:\"text-base [&>*]:text-base gap-1\",sm:\"text-lg [&>*]:text-lg gap-1\",md:\"text-xl [&>*]:text-xl gap-1.5\",lg:\"text-2xl [&>*]:text-2xl gap-1.5\"}[f])},n)};return o?React.createElement(\"div\",{className:h},React.createElement(\"div\",null,s&&\"left\"===l&&React.createElement(\"div\",{className:oe(\"flex items-center\",p[f])},s,g()),s&&\"right\"===l&&React.createElement(\"div\",{className:oe(\"flex items-center\",p[f])},g(),s),!s&&g()),React.createElement(\"p\",{className:oe(\"text-text-secondary font-normal my-0\",{xs:\"text-sm\",sm:\"text-sm\",md:\"text-base\",lg:\"text-base\"}[f])},o)):React.createElement(\"div\",{className:h},s&&\"left\"===l&&React.createElement(\"div\",{className:oe(\"flex items-center\",p[f])},s,g()),s&&\"right\"===l&&React.createElement(\"div\",{className:oe(\"flex items-center\",p[f])},g(),s),!s&&g())};const vi=ke(\"LoaderCircle\",[[\"path\",{d:\"M21 12a9 9 0 1 1-6.219-8.56\",key:\"13zald\"}]]);var bi=function(e){var t,n,r=e.variant,o=void 0===r?\"primary\":r,i=e.size,s=void 0===i?\"md\":i,a=e.icon,l=void 0===a?null:a,c=e.className,u=void 0===c?\"\":c,d=null===(t={primary:\"text-brand-primary-600 bg-background-primary\",secondary:\"text-background-primary bg-brand-primary-600\"})||void 0===t?void 0:t[o],f=null===(n={sm:\"[&>svg]:h-4 [&>svg]:w-4\",md:\"[&>svg]:h-5 [&>svg]:w-5\",lg:\"[&>svg]:h-6 [&>svg]:w-6\",xl:\"[&>svg]:h-8 [&>svg]:w-8\"})||void 0===n?void 0:n[s];return React.createElement(\"span\",{className:oe(\"flex\",f,d,u)},l||React.createElement(vi,{className:\"animate-spin\"}))},xi=function(e){var t=e.progress,n=void 0===t?0:t,r=e.speed,o=void 0===r?200:r,i=e.className,s=void 0===i?\"\":i;if(!n)return null;var a=n;n<0&&(a=0),n>100&&(a=100);var l=\"translateX(-\".concat(100-a,\"%)\"),c=\"h-2 rounded-full bg-background-brand absolute left-0 top-0 w-full bottom-0 origin-left transition-transform duration-\".concat(o,\" ease-linear\");return React.createElement(\"div\",{className:oe(\"h-2 rounded-full bg-misc-progress-background overflow-hidden relative\",s),role:\"progressbar\",\"aria-valuenow\":a,\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"},React.createElement(\"div\",{className:c,style:{transform:l}}))},wi=[\"slug\",\"text\",\"icon\",\"className\",\"disabled\",\"isFirstChild\",\"isLastChild\"];function Si(){return Si=Object.assign?Object.assign.bind():function(e){for(var t=1;tsvg]:size-4\",sm:\"py-2 px-2 text-base gap-1 [&>svg]:size-4\",md:\"py-2.5 px-2.5 text-base gap-1 [&>svg]:size-5\"}[g],\"border-0 border-r border-border-subtle border-solid\",h===r?\"bg-button-disabled\":\"\",d?\"rounded-tl rounded-bl border-0 border-r border-border-subtle\":\"\",f?\"rounded-tr rounded-br border-0\":\"\",s);return l().createElement(\"button\",Si({ref:t,className:v,disabled:u,onClick:function(e){p(e,{slug:r,text:o})}},m),\"left\"===y&&i&&l().createElement(\"span\",{className:\"mr-1\"},i),o,\"right\"===y&&i&&l().createElement(\"span\",{className:\"ml-1\"},i))},Ci=(0,a.forwardRef)(Ei);Ci.displayName=\"Button\";var _i={Group:function(e){var t=e.children,n=e.activeItem,r=void 0===n?null:n,o=e.onChange,i=e.className,s=e.size,c=void 0===s?\"md\":s,u=e.iconPosition,d=void 0===u?\"left\":u,f=(0,a.useCallback)((function(e,t){o&&o({event:e,value:t})}),[o]),m=oe(\"box-border flex border border-border-subtle border-solid rounded\",i);return l().createElement(\"div\",{className:m},l().createElement(ki.Provider,{value:{activeItem:r,onChange:f,size:c,iconPosition:d}},l().Children.map(t,(function(e,n){if(!(0,a.isValidElement)(e))return null;var r=0===n,o=n===l().Children.count(t)-1;return l().cloneElement(e,{index:n,isFirstChild:r,isLastChild:o})}))))},Button:Ci},Pi=_i;function Oi(e){if(\"undefined\"==typeof Proxy)return e;const t=new Map;return new Proxy(e,{get:(n,r)=>(t.has(r)||t.set(r,e(r)),t.get(r))})}function Ni(e){return null!==e&&\"object\"==typeof e&&\"function\"==typeof e.start}const Ti=e=>Array.isArray(e);function Mi(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;r{t[0][n]=e.get(),t[1][n]=e.getVelocity()})),t}function ji(e,t,n,r){if(\"function\"==typeof t){const[o,i]=Di(r);t=t(void 0!==n?n:e.custom,o,i)}if(\"string\"==typeof t&&(t=e.variants&&e.variants[t]),\"function\"==typeof t){const[o,i]=Di(r);t=t(void 0!==n?n:e.custom,o,i)}return t}function Ai(e,t,n){const r=e.getProps();return ji(r,t,void 0!==n?n:r.custom,e)}const Ii=[\"animate\",\"whileInView\",\"whileFocus\",\"whileHover\",\"whileTap\",\"whileDrag\",\"exit\"],Li=[\"initial\",...Ii],Fi=[\"transformPerspective\",\"x\",\"y\",\"z\",\"translateX\",\"translateY\",\"translateZ\",\"scale\",\"scaleX\",\"scaleY\",\"rotate\",\"rotateX\",\"rotateY\",\"rotateZ\",\"skew\",\"skewX\",\"skewY\"],zi=new Set(Fi),Bi=e=>1e3*e,Wi=e=>e/1e3,Vi={type:\"spring\",stiffness:500,damping:25,restSpeed:10},Ui={type:\"keyframes\",duration:.8},$i={type:\"keyframes\",ease:[.25,.1,.35,1],duration:.3},Yi=(e,{keyframes:t})=>t.length>2?Ui:zi.has(e)?e.startsWith(\"scale\")?{type:\"spring\",stiffness:550,damping:0===t[1]?2*Math.sqrt(550):30,restSpeed:10}:Vi:$i;function Hi(e,t){return e[t]||e.default||e}const Ki=e=>null!==e;function qi(e,{repeat:t,repeatType:n=\"loop\"},r){const o=e.filter(Ki),i=t&&\"loop\"!==n&&t%2==1?0:o.length-1;return i&&void 0!==r?r:o[i]}const Gi=e=>e,Xi=[\"read\",\"resolveKeyframes\",\"update\",\"preRender\",\"render\",\"postRender\"];function Zi(e,t){let n=!1,r=!0;const o={delta:0,timestamp:0,isProcessing:!1},i=()=>n=!0,s=Xi.reduce(((e,t)=>(e[t]=function(e){let t=new Set,n=new Set,r=!1,o=!1;const i=new WeakSet;let s={delta:0,timestamp:0,isProcessing:!1};function a(t){i.has(t)&&(l.schedule(t),e()),t(s)}const l={schedule:(e,o=!1,s=!1)=>{const a=s&&r?t:n;return o&&i.add(e),a.has(e)||a.add(e),e},cancel:e=>{n.delete(e),i.delete(e)},process:e=>{s=e,r?o=!0:(r=!0,[t,n]=[n,t],n.clear(),t.forEach(a),r=!1,o&&(o=!1,l.process(e)))}};return l}(i),e)),{}),{read:a,resolveKeyframes:l,update:c,preRender:u,render:d,postRender:f}=s,m=()=>{const i=performance.now();n=!1,o.delta=r?1e3/60:Math.max(Math.min(i-o.timestamp,40),1),o.timestamp=i,o.isProcessing=!0,a.process(o),l.process(o),c.process(o),u.process(o),d.process(o),f.process(o),o.isProcessing=!1,n&&t&&(r=!1,e(m))};return{schedule:Xi.reduce(((t,i)=>{const a=s[i];return t[i]=(t,i=!1,s=!1)=>(n||(n=!0,r=!0,o.isProcessing||e(m)),a.schedule(t,i,s)),t}),{}),cancel:e=>{for(let t=0;t/^0[^.\\s]+$/u.test(e);let rs=Gi,os=Gi;const is=e=>/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)$/u.test(e),ss=e=>t=>\"string\"==typeof t&&t.startsWith(e),as=ss(\"--\"),ls=ss(\"var(--\"),cs=e=>!!ls(e)&&us.test(e.split(\"/*\")[0].trim()),us=/var\\(--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)$/iu,ds=/^var\\(--(?:([\\w-]+)|([\\w-]+), ?([a-zA-Z\\d ()%#.,-]+))\\)/u;function fs(e,t,n=1){os(n<=4,`Max CSS variable fallback depth detected in property \"${e}\". This may indicate a circular fallback dependency.`);const[r,o]=function(e){const t=ds.exec(e);if(!t)return[,];const[,n,r,o]=t;return[`--${null!=n?n:r}`,o]}(e);if(!r)return;const i=window.getComputedStyle(t).getPropertyValue(r);if(i){const e=i.trim();return is(e)?parseFloat(e):e}return cs(o)?fs(o,t,n+1):o}const ms=(e,t,n)=>n>t?t:n\"number\"==typeof e,parse:parseFloat,transform:e=>e},ps={...hs,transform:e=>ms(0,1,e)},gs={...hs,default:1},ys=e=>Math.round(1e5*e)/1e5,vs=/-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/gu,bs=/(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))/giu,xs=/^(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))$/iu;function ws(e){return\"string\"==typeof e}const Ss=e=>({test:t=>ws(t)&&t.endsWith(e)&&1===t.split(\" \").length,parse:parseFloat,transform:t=>`${t}${e}`}),ks=Ss(\"deg\"),Es=Ss(\"%\"),Cs=Ss(\"px\"),_s=Ss(\"vh\"),Ps=Ss(\"vw\"),Os={...Es,parse:e=>Es.parse(e)/100,transform:e=>Es.transform(100*e)},Ns=new Set([\"width\",\"height\",\"top\",\"left\",\"right\",\"bottom\",\"x\",\"y\",\"translateX\",\"translateY\"]),Ts=e=>e===hs||e===Cs,Ms=(e,t)=>parseFloat(e.split(\", \")[t]),Rs=(e,t)=>(n,{transform:r})=>{if(\"none\"===r||!r)return 0;const o=r.match(/^matrix3d\\((.+)\\)$/u);if(o)return Ms(o[1],t);{const t=r.match(/^matrix\\((.+)\\)$/u);return t?Ms(t[1],e):0}},Ds=new Set([\"x\",\"y\",\"z\"]),js=Fi.filter((e=>!Ds.has(e))),As={width:({x:e},{paddingLeft:t=\"0\",paddingRight:n=\"0\"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t=\"0\",paddingBottom:n=\"0\"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:Rs(4,13),y:Rs(5,14)};As.translateX=As.x,As.translateY=As.y;const Is=e=>t=>t.test(e),Ls=[hs,Cs,Es,ks,Ps,_s,{test:e=>\"auto\"===e,parse:e=>e}],Fs=e=>Ls.find(Is(e)),zs=new Set;let Bs=!1,Ws=!1;function Vs(){if(Ws){const e=Array.from(zs).filter((e=>e.needsMeasurement)),t=new Set(e.map((e=>e.element))),n=new Map;t.forEach((e=>{const t=function(e){const t=[];return js.forEach((n=>{const r=e.getValue(n);void 0!==r&&(t.push([n,r.get()]),r.set(n.startsWith(\"scale\")?1:0))})),t}(e);t.length&&(n.set(e,t),e.render())})),e.forEach((e=>e.measureInitialState())),t.forEach((e=>{e.render();const t=n.get(e);t&&t.forEach((([t,n])=>{var r;null===(r=e.getValue(t))||void 0===r||r.set(n)}))})),e.forEach((e=>e.measureEndState())),e.forEach((e=>{void 0!==e.suspendedScrollY&&window.scrollTo(0,e.suspendedScrollY)}))}Ws=!1,Bs=!1,zs.forEach((e=>e.complete())),zs.clear()}function Us(){zs.forEach((e=>{e.readKeyframes(),e.needsMeasurement&&(Ws=!0)}))}class $s{constructor(e,t,n,r,o,i=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=o,this.isAsync=i}scheduleResolve(){this.isScheduled=!0,this.isAsync?(zs.add(this),Bs||(Bs=!0,Ji.read(Us),Ji.resolveKeyframes(Vs))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;for(let o=0;on=>Boolean(ws(n)&&xs.test(n)&&n.startsWith(e)||t&&!function(e){return null==e}(n)&&Object.prototype.hasOwnProperty.call(n,t)),Hs=(e,t,n)=>r=>{if(!ws(r))return r;const[o,i,s,a]=r.match(vs);return{[e]:parseFloat(o),[t]:parseFloat(i),[n]:parseFloat(s),alpha:void 0!==a?parseFloat(a):1}},Ks={...hs,transform:e=>Math.round((e=>ms(0,255,e))(e))},qs={test:Ys(\"rgb\",\"red\"),parse:Hs(\"red\",\"green\",\"blue\"),transform:({red:e,green:t,blue:n,alpha:r=1})=>\"rgba(\"+Ks.transform(e)+\", \"+Ks.transform(t)+\", \"+Ks.transform(n)+\", \"+ys(ps.transform(r))+\")\"},Gs={test:Ys(\"#\"),parse:function(e){let t=\"\",n=\"\",r=\"\",o=\"\";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),o=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),o=e.substring(4,5),t+=t,n+=n,r+=r,o+=o),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:o?parseInt(o,16)/255:1}},transform:qs.transform},Xs={test:Ys(\"hsl\",\"hue\"),parse:Hs(\"hue\",\"saturation\",\"lightness\"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>\"hsla(\"+Math.round(e)+\", \"+Es.transform(ys(t))+\", \"+Es.transform(ys(n))+\", \"+ys(ps.transform(r))+\")\"},Zs={test:e=>qs.test(e)||Gs.test(e)||Xs.test(e),parse:e=>qs.test(e)?qs.parse(e):Xs.test(e)?Xs.parse(e):Gs.parse(e),transform:e=>ws(e)?e:e.hasOwnProperty(\"red\")?qs.transform(e):Xs.transform(e)},Js=\"number\",Qs=\"color\",ea=\"var\",ta=\"var(\",na=\"${}\",ra=/var\\s*\\(\\s*--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)|#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\)|-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/giu;function oa(e){const t=e.toString(),n=[],r={color:[],number:[],var:[]},o=[];let i=0;const s=t.replace(ra,(e=>(Zs.test(e)?(r.color.push(i),o.push(Qs),n.push(Zs.parse(e))):e.startsWith(ta)?(r.var.push(i),o.push(ea),n.push(e)):(r.number.push(i),o.push(Js),n.push(parseFloat(e))),++i,na))).split(na);return{values:n,split:s,indexes:r,types:o}}function ia(e){return oa(e).values}function sa(e){const{split:t,types:n}=oa(e),r=t.length;return e=>{let o=\"\";for(let i=0;i\"number\"==typeof e?0:e,la={test:function(e){var t,n;return isNaN(e)&&ws(e)&&((null===(t=e.match(vs))||void 0===t?void 0:t.length)||0)+((null===(n=e.match(bs))||void 0===n?void 0:n.length)||0)>0},parse:ia,createTransformer:sa,getAnimatableNone:function(e){const t=ia(e);return sa(e)(t.map(aa))}},ca=new Set([\"brightness\",\"contrast\",\"saturate\",\"opacity\"]);function ua(e){const[t,n]=e.slice(0,-1).split(\"(\");if(\"drop-shadow\"===t)return e;const[r]=n.match(vs)||[];if(!r)return e;const o=n.replace(r,\"\");let i=ca.has(t)?1:0;return r!==n&&(i*=100),t+\"(\"+i+o+\")\"}const da=/\\b([a-z-]*)\\(.*?\\)/gu,fa={...la,getAnimatableNone:e=>{const t=e.match(da);return t?t.map(ua).join(\" \"):e}},ma={...hs,transform:Math.round},ha={borderWidth:Cs,borderTopWidth:Cs,borderRightWidth:Cs,borderBottomWidth:Cs,borderLeftWidth:Cs,borderRadius:Cs,radius:Cs,borderTopLeftRadius:Cs,borderTopRightRadius:Cs,borderBottomRightRadius:Cs,borderBottomLeftRadius:Cs,width:Cs,maxWidth:Cs,height:Cs,maxHeight:Cs,size:Cs,top:Cs,right:Cs,bottom:Cs,left:Cs,padding:Cs,paddingTop:Cs,paddingRight:Cs,paddingBottom:Cs,paddingLeft:Cs,margin:Cs,marginTop:Cs,marginRight:Cs,marginBottom:Cs,marginLeft:Cs,rotate:ks,rotateX:ks,rotateY:ks,rotateZ:ks,scale:gs,scaleX:gs,scaleY:gs,scaleZ:gs,skew:ks,skewX:ks,skewY:ks,distance:Cs,translateX:Cs,translateY:Cs,translateZ:Cs,x:Cs,y:Cs,z:Cs,perspective:Cs,transformPerspective:Cs,opacity:ps,originX:Os,originY:Os,originZ:Cs,zIndex:ma,backgroundPositionX:Cs,backgroundPositionY:Cs,fillOpacity:ps,strokeOpacity:ps,numOctaves:ma},pa={...ha,color:Zs,backgroundColor:Zs,outlineColor:Zs,fill:Zs,stroke:Zs,borderColor:Zs,borderTopColor:Zs,borderRightColor:Zs,borderBottomColor:Zs,borderLeftColor:Zs,filter:fa,WebkitFilter:fa},ga=e=>pa[e];function ya(e,t){let n=ga(e);return n!==fa&&(n=la),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const va=new Set([\"auto\",\"none\",\"0\"]);class ba extends $s{constructor(e,t,n,r,o){super(e,t,n,r,o,!0)}readKeyframes(){const{unresolvedKeyframes:e,element:t,name:n}=this;if(!t||!t.current)return;super.readKeyframes();for(let n=0;n{t.getValue(e).set(n)})),this.resolveNoneKeyframes()}}function xa(e){let t;return()=>(void 0===t&&(t=e()),t)}let wa;function Sa(){wa=void 0}const ka={now:()=>(void 0===wa&&ka.set(es.isProcessing?es.timestamp:performance.now()),wa),set:e=>{wa=e,queueMicrotask(Sa)}},Ea=(e,t)=>!(\"zIndex\"===t||\"number\"!=typeof e&&!Array.isArray(e)&&(\"string\"!=typeof e||!la.test(e)&&\"0\"!==e||e.startsWith(\"url(\")));class Ca{constructor({autoplay:e=!0,delay:t=0,type:n=\"keyframes\",repeat:r=0,repeatDelay:o=0,repeatType:i=\"loop\",...s}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=ka.now(),this.options={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:o,repeatType:i,...s},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt}get resolved(){return this._resolved||this.hasAttemptedResolve||(Us(),Vs()),this._resolved}onKeyframesResolved(e,t){this.resolvedAt=ka.now(),this.hasAttemptedResolve=!0;const{name:n,type:r,velocity:o,delay:i,onComplete:s,onUpdate:a,isGenerator:l}=this.options;if(!l&&!function(e,t,n,r){const o=e[0];if(null===o)return!1;if(\"display\"===t||\"visibility\"===t)return!0;const i=e[e.length-1],s=Ea(o,t),a=Ea(i,t);return rs(s===a,`You are trying to animate ${t} from \"${o}\" to \"${i}\". ${o} is not an animatable value - to enable this animation set ${o} to a value animatable to ${i} via the \\`style\\` property.`),!(!s||!a)&&(function(e){const t=e[0];if(1===e.length)return!0;for(let n=0;n{this.resolveFinishedPromise=e}))}}function _a(e,t){return t?e*(1e3/t):0}const Pa=5;function Oa(e,t,n){const r=Math.max(t-Pa,0);return _a(n-e(r),t-r)}const Na=.001,Ta=.01,Ma=10,Ra=.05,Da=1;const ja=12;function Aa(e,t){return e*Math.sqrt(1-t*t)}const Ia=[\"duration\",\"bounce\"],La=[\"stiffness\",\"damping\",\"mass\"];function Fa(e,t){return t.some((t=>void 0!==e[t]))}function za({keyframes:e,restDelta:t,restSpeed:n,...r}){const o=e[0],i=e[e.length-1],s={done:!1,value:o},{stiffness:a,damping:l,mass:c,duration:u,velocity:d,isResolvedFromDuration:f}=function(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!Fa(e,La)&&Fa(e,Ia)){const n=function({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let o,i;rs(e<=Bi(Ma),\"Spring duration must be 10 seconds or less\");let s=1-t;s=ms(Ra,Da,s),e=ms(Ta,Ma,Wi(e)),s<1?(o=t=>{const r=t*s,o=r*e,i=r-n,a=Aa(t,s),l=Math.exp(-o);return Na-i/a*l},i=t=>{const r=t*s*e,i=r*n+n,a=Math.pow(s,2)*Math.pow(t,2)*e,l=Math.exp(-r),c=Aa(Math.pow(t,2),s);return(-o(t)+Na>0?-1:1)*((i-a)*l)/c}):(o=t=>Math.exp(-t*e)*((t-n)*e+1)-Na,i=t=>Math.exp(-t*e)*(e*e*(n-t)));const a=function(e,t,n){let r=n;for(let n=1;n{const n=Math.exp(-h*g*t);return i-n*((m+h*g*p)/e*Math.sin(e*t)+p*Math.cos(e*t))}}else if(1===h)v=e=>i-Math.exp(-g*e)*(p+(m+g*p)*e);else{const e=g*Math.sqrt(h*h-1);v=t=>{const n=Math.exp(-h*g*t),r=Math.min(e*t,300);return i-n*((m+h*g*p)*Math.sinh(r)+e*p*Math.cosh(r))/e}}return{calculatedDuration:f&&u||null,next:e=>{const r=v(e);if(f)s.done=e>=u;else{let o=0;h<1&&(o=0===e?Bi(m):Oa(v,e,r));const a=Math.abs(o)<=n,l=Math.abs(i-r)<=t;s.done=a&&l}return s.value=s.done?i:r,s}}}function Ba({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:o=10,bounceStiffness:i=500,modifyTarget:s,min:a,max:l,restDelta:c=.5,restSpeed:u}){const d=e[0],f={done:!1,value:d},m=e=>void 0===a?l:void 0===l||Math.abs(a-e)-h*Math.exp(-e/r),v=e=>g+y(e),b=e=>{const t=y(e),n=v(e);f.done=Math.abs(t)<=c,f.value=f.done?g:n};let x,w;const S=e=>{(e=>void 0!==a&&el)(f.value)&&(x=e,w=za({keyframes:[f.value,m(f.value)],velocity:Oa(v,e,f.value),damping:o,stiffness:i,restDelta:c,restSpeed:u}))};return S(0),{calculatedDuration:null,next:e=>{let t=!1;return w||void 0!==x||(t=!0,b(e),S(e)),void 0!==x&&e>=x?w.next(e-x):(!t&&b(e),f)}}}const Wa=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e;function Va(e,t,n,r){if(e===t&&n===r)return Gi;return o=>0===o||1===o?o:Wa(function(e,t,n,r,o){let i,s,a=0;do{s=t+(n-t)/2,i=Wa(s,r,o)-e,i>0?n=s:t=s}while(Math.abs(i)>1e-7&&++a<12);return s}(o,0,1,e,n),t,r)}const Ua=Va(.42,0,1,1),$a=Va(0,0,.58,1),Ya=Va(.42,0,.58,1),Ha=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Ka=e=>t=>1-e(1-t),qa=e=>1-Math.sin(Math.acos(e)),Ga=Ka(qa),Xa=Ha(qa),Za=Va(.33,1.53,.69,.99),Ja=Ka(Za),Qa=Ha(Ja),el={linear:Gi,easeIn:Ua,easeInOut:Ya,easeOut:$a,circIn:qa,circInOut:Xa,circOut:Ga,backIn:Ja,backInOut:Qa,backOut:Za,anticipate:e=>(e*=2)<1?.5*Ja(e):.5*(2-Math.pow(2,-10*(e-1)))},tl=e=>{if(Array.isArray(e)){os(4===e.length,\"Cubic bezier arrays must contain four numerical values.\");const[t,n,r,o]=e;return Va(t,n,r,o)}return\"string\"==typeof e?(os(void 0!==el[e],`Invalid easing type '${e}'`),el[e]):e},nl=(e,t)=>n=>t(e(n)),rl=(...e)=>e.reduce(nl),ol=(e,t,n)=>{const r=t-e;return 0===r?1:(n-e)/r},il=(e,t,n)=>e+(t-e)*n;function sl(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function al(e,t){return n=>n>0?t:e}const ll=(e,t,n)=>{const r=e*e,o=n*(t*t-r)+r;return o<0?0:Math.sqrt(o)},cl=[Gs,qs,Xs];function ul(e){const t=(e=>cl.find((t=>t.test(e))))(e);if(rs(Boolean(t),`'${e}' is not an animatable color. Use the equivalent color code instead.`),!Boolean(t))return!1;let n=t.parse(e);return t===Xs&&(n=function({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,n/=100;let o=0,i=0,s=0;if(t/=100){const r=n<.5?n*(1+t):n+t-n*t,a=2*n-r;o=sl(a,r,e+1/3),i=sl(a,r,e),s=sl(a,r,e-1/3)}else o=i=s=n;return{red:Math.round(255*o),green:Math.round(255*i),blue:Math.round(255*s),alpha:r}}(n)),n}const dl=(e,t)=>{const n=ul(e),r=ul(t);if(!n||!r)return al(e,t);const o={...n};return e=>(o.red=ll(n.red,r.red,e),o.green=ll(n.green,r.green,e),o.blue=ll(n.blue,r.blue,e),o.alpha=il(n.alpha,r.alpha,e),qs.transform(o))},fl=new Set([\"none\",\"hidden\"]);function ml(e,t){return n=>il(e,t,n)}function hl(e){return\"number\"==typeof e?ml:\"string\"==typeof e?cs(e)?al:Zs.test(e)?dl:yl:Array.isArray(e)?pl:\"object\"==typeof e?Zs.test(e)?dl:gl:al}function pl(e,t){const n=[...e],r=n.length,o=e.map(((e,n)=>hl(e)(e,t[n])));return e=>{for(let t=0;t{for(const t in r)n[t]=r[t](e);return n}}const yl=(e,t)=>{const n=la.createTransformer(t),r=oa(e),o=oa(t);return r.indexes.var.length===o.indexes.var.length&&r.indexes.color.length===o.indexes.color.length&&r.indexes.number.length>=o.indexes.number.length?fl.has(e)&&!o.values.length||fl.has(t)&&!r.values.length?function(e,t){return fl.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}(e,t):rl(pl(function(e,t){var n;const r=[],o={color:0,var:0,number:0};for(let i=0;iArray.isArray(e)&&\"number\"!=typeof e[0])(r)?r.map(tl):tl(r),i={done:!1,value:t[0]},s=function(e,t){return e.map((e=>e*t))}(n&&n.length===t.length?n:function(e){const t=[0];return function(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const o=ol(0,t,r);e.push(il(n,1,o))}}(t,e.length-1),t}(t),e),a=function(e,t,{clamp:n=!0,ease:r,mixer:o}={}){const i=e.length;if(os(i===t.length,\"Both input and output ranges must be the same length\"),1===i)return()=>t[0];if(2===i&&e[0]===e[1])return()=>t[1];e[0]>e[i-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=function(e,t,n){const r=[],o=n||vl,i=e.length-1;for(let n=0;n{let n=0;if(a>1)for(;nl(ms(e[0],e[i-1],t)):l}(s,t,{ease:Array.isArray(o)?o:(l=t,c=o,l.map((()=>c||Ya)).splice(0,l.length-1))});var l,c;return{calculatedDuration:e,next:t=>(i.value=a(t),i.done=t>=e,i)}}const xl=e=>{const t=({timestamp:t})=>e(t);return{start:()=>Ji.update(t,!0),stop:()=>Qi(t),now:()=>es.isProcessing?es.timestamp:ka.now()}},wl={decay:Ba,inertia:Ba,tween:bl,keyframes:bl,spring:za},Sl=e=>e/100;class kl extends Ca{constructor(e){super(e),this.holdTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState=\"running\",this.startTime=null,this.state=\"idle\",this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,\"idle\"===this.state)return;this.teardown();const{onStop:e}=this.options;e&&e()};const{name:t,motionValue:n,element:r,keyframes:o}=this.options,i=(null==r?void 0:r.KeyframeResolver)||$s;this.resolver=new i(o,((e,t)=>this.onKeyframesResolved(e,t)),t,n,r),this.resolver.scheduleResolve()}initPlayback(e){const{type:t=\"keyframes\",repeat:n=0,repeatDelay:r=0,repeatType:o,velocity:i=0}=this.options,s=wl[t]||bl;let a,l;s!==bl&&\"number\"!=typeof e[0]&&(a=rl(Sl,vl(e[0],e[1])),e=[0,100]);const c=s({...this.options,keyframes:e});\"mirror\"===o&&(l=s({...this.options,keyframes:[...e].reverse(),velocity:-i})),null===c.calculatedDuration&&(c.calculatedDuration=function(e){let t=0,n=e.next(t);for(;!n.done&&t<2e4;)t+=50,n=e.next(t);return t>=2e4?1/0:t}(c));const{calculatedDuration:u}=c,d=u+r;return{generator:c,mirroredGenerator:l,mapPercentToKeyframes:a,calculatedDuration:u,resolvedDuration:d,totalDuration:d*(n+1)-r}}onPostResolved(){const{autoplay:e=!0}=this.options;this.play(),\"paused\"!==this.pendingPlayState&&e?this.state=this.pendingPlayState:this.pause()}tick(e,t=!1){const{resolved:n}=this;if(!n){const{keyframes:e}=this.options;return{done:!0,value:e[e.length-1]}}const{finalKeyframe:r,generator:o,mirroredGenerator:i,mapPercentToKeyframes:s,keyframes:a,calculatedDuration:l,totalDuration:c,resolvedDuration:u}=n;if(null===this.startTime)return o.next(0);const{delay:d,repeat:f,repeatType:m,repeatDelay:h,onUpdate:p}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-c/this.speed,this.startTime)),t?this.currentTime=e:null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=Math.round(e-this.startTime)*this.speed;const g=this.currentTime-d*(this.speed>=0?1:-1),y=this.speed>=0?g<0:g>c;this.currentTime=Math.max(g,0),\"finished\"===this.state&&null===this.holdTime&&(this.currentTime=c);let v=this.currentTime,b=o;if(f){const e=Math.min(this.currentTime,c)/u;let t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),1===n&&t--,t=Math.min(t,f+1),Boolean(t%2)&&(\"reverse\"===m?(n=1-n,h&&(n-=h/u)):\"mirror\"===m&&(b=i)),v=ms(0,1,n)*u}const x=y?{done:!1,value:a[0]}:b.next(v);s&&(x.value=s(x.value));let{done:w}=x;y||null===l||(w=this.speed>=0?this.currentTime>=c:this.currentTime<=0);const S=null===this.holdTime&&(\"finished\"===this.state||\"running\"===this.state&&w);return S&&void 0!==r&&(x.value=qi(a,this.options,r)),p&&p(x.value),S&&this.finish(),x}get duration(){const{resolved:e}=this;return e?Wi(e.calculatedDuration):0}get time(){return Wi(this.currentTime)}set time(e){e=Bi(e),this.currentTime=e,null!==this.holdTime||0===this.speed?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.speed)}get speed(){return this.playbackSpeed}set speed(e){const t=this.playbackSpeed!==e;this.playbackSpeed=e,t&&(this.time=Wi(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved)return void(this.pendingPlayState=\"running\");if(this.isStopped)return;const{driver:e=xl,onPlay:t,startTime:n}=this.options;this.driver||(this.driver=e((e=>this.tick(e)))),t&&t();const r=this.driver.now();null!==this.holdTime?this.startTime=r-this.holdTime:this.startTime?\"finished\"===this.state&&(this.startTime=r):this.startTime=null!=n?n:this.calcStartTime(),\"finished\"===this.state&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state=\"running\",this.driver.start()}pause(){var e;this._resolved?(this.state=\"paused\",this.holdTime=null!==(e=this.currentTime)&&void 0!==e?e:0):this.pendingPlayState=\"paused\"}complete(){\"running\"!==this.state&&this.play(),this.pendingPlayState=this.state=\"finished\",this.holdTime=null}finish(){this.teardown(),this.state=\"finished\";const{onComplete:e}=this.options;e&&e()}cancel(){null!==this.cancelTime&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state=\"idle\",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}}const El=new Set([\"opacity\",\"clipPath\",\"filter\",\"transform\"]),Cl=e=>Array.isArray(e)&&\"number\"==typeof e[0];function _l(e){return Boolean(!e||\"string\"==typeof e&&e in Ol||Cl(e)||Array.isArray(e)&&e.every(_l))}const Pl=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,Ol={linear:\"linear\",ease:\"ease\",easeIn:\"ease-in\",easeOut:\"ease-out\",easeInOut:\"ease-in-out\",circIn:Pl([0,.65,.55,1]),circOut:Pl([.55,0,1,.45]),backIn:Pl([.31,.01,.66,-.59]),backOut:Pl([.33,1.53,.69,.99])};function Nl(e){return Tl(e)||Ol.easeOut}function Tl(e){return e?Cl(e)?Pl(e):Array.isArray(e)?e.map(Nl):Ol[e]:void 0}const Ml=xa((()=>Object.hasOwnProperty.call(Element.prototype,\"animate\")));class Rl extends Ca{constructor(e){super(e);const{name:t,motionValue:n,element:r,keyframes:o}=this.options;this.resolver=new ba(o,((e,t)=>this.onKeyframesResolved(e,t)),t,n,r),this.resolver.scheduleResolve()}initPlayback(e,t){var n;let{duration:r=300,times:o,ease:i,type:s,motionValue:a,name:l,startTime:c}=this.options;if(!(null===(n=a.owner)||void 0===n?void 0:n.current))return!1;if(\"spring\"===(u=this.options).type||!_l(u.ease)){const{onComplete:t,onUpdate:n,motionValue:a,element:l,...c}=this.options,u=function(e,t){const n=new kl({...t,keyframes:e,repeat:0,delay:0,isGenerator:!0});let r={done:!1,value:e[0]};const o=[];let i=0;for(;!r.done&&i<2e4;)r=n.sample(i),o.push(r.value),i+=10;return{times:void 0,keyframes:o,duration:i-10,ease:\"linear\"}}(e,c);1===(e=u.keyframes).length&&(e[1]=e[0]),r=u.duration,o=u.times,i=u.ease,s=\"keyframes\"}var u;const d=function(e,t,n,{delay:r=0,duration:o=300,repeat:i=0,repeatType:s=\"loop\",ease:a,times:l}={}){const c={[t]:n};l&&(c.offset=l);const u=Tl(a);return Array.isArray(u)&&(c.easing=u),e.animate(c,{delay:r,duration:o,easing:Array.isArray(u)?\"linear\":u,fill:\"both\",iterations:i+1,direction:\"reverse\"===s?\"alternate\":\"normal\"})}(a.owner.current,l,e,{...this.options,duration:r,times:o,ease:i});return d.startTime=null!=c?c:this.calcStartTime(),this.pendingTimeline?(d.timeline=this.pendingTimeline,this.pendingTimeline=void 0):d.onfinish=()=>{const{onComplete:n}=this.options;a.set(qi(e,this.options,t)),n&&n(),this.cancel(),this.resolveFinishedPromise()},{animation:d,duration:r,times:o,type:s,ease:i,keyframes:e}}get duration(){const{resolved:e}=this;if(!e)return 0;const{duration:t}=e;return Wi(t)}get time(){const{resolved:e}=this;if(!e)return 0;const{animation:t}=e;return Wi(t.currentTime||0)}set time(e){const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.currentTime=Bi(e)}get speed(){const{resolved:e}=this;if(!e)return 1;const{animation:t}=e;return t.playbackRate}set speed(e){const{resolved:t}=this;if(!t)return;const{animation:n}=t;n.playbackRate=e}get state(){const{resolved:e}=this;if(!e)return\"idle\";const{animation:t}=e;return t.playState}get startTime(){const{resolved:e}=this;if(!e)return null;const{animation:t}=e;return t.startTime}attachTimeline(e){if(this._resolved){const{resolved:t}=this;if(!t)return Gi;const{animation:n}=t;n.timeline=e,n.onfinish=null}else this.pendingTimeline=e;return Gi}play(){if(this.isStopped)return;const{resolved:e}=this;if(!e)return;const{animation:t}=e;\"finished\"===t.playState&&this.updateFinishedPromise(),t.play()}pause(){const{resolved:e}=this;if(!e)return;const{animation:t}=e;t.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,\"idle\"===this.state)return;this.resolveFinishedPromise(),this.updateFinishedPromise();const{resolved:e}=this;if(!e)return;const{animation:t,keyframes:n,duration:r,type:o,ease:i,times:s}=e;if(\"idle\"===t.playState||\"finished\"===t.playState)return;if(this.time){const{motionValue:e,onUpdate:t,onComplete:a,element:l,...c}=this.options,u=new kl({...c,keyframes:n,duration:r,type:o,ease:i,times:s,isGenerator:!0}),d=Bi(this.time);e.setWithVelocity(u.sample(d-10).value,u.sample(d).value,10)}const{onStop:a}=this.options;a&&a(),this.cancel()}complete(){const{resolved:e}=this;e&&e.animation.finish()}cancel(){const{resolved:e}=this;e&&e.animation.cancel()}static supports(e){const{motionValue:t,name:n,repeatDelay:r,repeatType:o,damping:i,type:s}=e;return Ml()&&n&&El.has(n)&&t&&t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate&&!r&&\"mirror\"!==o&&0!==i&&\"inertia\"!==s}}const Dl=xa((()=>void 0!==window.ScrollTimeline));class jl{constructor(e){this.stop=()=>this.runAll(\"stop\"),this.animations=e.filter(Boolean)}then(e,t){return Promise.all(this.animations).then(e).catch(t)}getAll(e){return this.animations[0][e]}setAll(e,t){for(let n=0;n{if(!Dl()||!t.attachTimeline)return t.pause(),function(e,n){let r;const o=()=>{const{currentTime:e}=n,o=(null===e?0:e.value)/100;r!==o&&(e=>{t.time=t.duration*e})(o),r=o};return Ji.update(o,!0),()=>Qi(o)}(0,e);t.attachTimeline(e)}));return()=>{t.forEach(((e,t)=>{e&&e(),this.animations[t].stop()}))}}get time(){return this.getAll(\"time\")}set time(e){this.setAll(\"time\",e)}get speed(){return this.getAll(\"speed\")}set speed(e){this.setAll(\"speed\",e)}get startTime(){return this.getAll(\"startTime\")}get duration(){let e=0;for(let t=0;tt[e]()))}play(){this.runAll(\"play\")}pause(){this.runAll(\"pause\")}cancel(){this.runAll(\"cancel\")}complete(){this.runAll(\"complete\")}}const Al=(e,t,n,r={},o,i,s)=>a=>{const l=Hi(r,e)||{},c=l.delay||r.delay||0;let{elapsed:u=0}=r;u-=Bi(c);let d={keyframes:Array.isArray(n)?n:[null,n],ease:\"easeOut\",velocity:t.getVelocity(),...l,delay:-u,onUpdate:e=>{t.set(e),l.onUpdate&&l.onUpdate(e)},onComplete:()=>{a(),l.onComplete&&l.onComplete(),s&&s()},onStop:s,name:e,motionValue:t,element:i?void 0:o};(function({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:o,repeat:i,repeatType:s,repeatDelay:a,from:l,elapsed:c,...u}){return!!Object.keys(u).length})(l)||(d={...d,...Yi(e,d)}),d.duration&&(d.duration=Bi(d.duration)),d.repeatDelay&&(d.repeatDelay=Bi(d.repeatDelay)),void 0!==d.from&&(d.keyframes[0]=d.from);let f=!1;if((!1===d.type||0===d.duration&&!d.repeatDelay)&&(d.duration=0,0===d.delay&&(f=!0)),f&&!i&&void 0!==t.get()){const e=qi(d.keyframes,l);if(void 0!==e)return Ji.update((()=>{d.onUpdate(e),d.onComplete()})),new jl([])}return!i&&Rl.supports(d)?new Rl(d):new kl(d)},Il=e=>Boolean(e&&\"object\"==typeof e&&e.mix&&e.toValue),Ll=e=>Ti(e)?e[e.length-1]||0:e;function Fl(e,t){-1===e.indexOf(t)&&e.push(t)}function zl(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class Bl{constructor(){this.subscriptions=[]}add(e){return Fl(this.subscriptions,e),()=>zl(this.subscriptions,e)}notify(e,t,n){const r=this.subscriptions.length;if(r)if(1===r)this.subscriptions[0](e,t,n);else for(let o=0;o{const n=ka.now();this.updatedAt!==n&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),t&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){var t;this.current=e,this.updatedAt=ka.now(),null===this.canTrackVelocity&&void 0!==e&&(this.canTrackVelocity=(t=this.current,!isNaN(parseFloat(t))))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on(\"change\",e)}on(e,t){this.events[e]||(this.events[e]=new Bl);const n=this.events[e].add(t);return\"change\"===e?()=>{n(),Ji.read((()=>{this.events.change.getSize()||this.stop()}))}:n}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e,t=!0){t&&this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e,t)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return Wl.current&&Wl.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){const e=ka.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||e-this.updatedAt>30)return 0;const t=Math.min(this.updatedAt-this.prevUpdatedAt,30);return _a(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise((t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()})).then((()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()}))}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Ul(e,t){return new Vl(e,t)}function $l(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Ul(n))}const Yl=e=>e.replace(/([a-z])([A-Z])/gu,\"$1-$2\").toLowerCase(),Hl=\"data-\"+Yl(\"framerAppearId\");function Kl(e){return e.props[Hl]}function ql(e){return zi.has(e)?\"transform\":El.has(e)?Yl(e):void 0}class Gl extends Vl{constructor(){super(...arguments),this.output=[],this.counts=new Map}add(e){const t=ql(e);if(!t)return;const n=this.counts.get(t)||0;this.counts.set(t,n+1),0===n&&(this.output.push(t),this.update());let r=!1;return()=>{if(r)return;r=!0;const e=this.counts.get(t)-1;this.counts.set(t,e),0===e&&(zl(this.output,t),this.update())}}update(){this.set(this.output.length?this.output.join(\", \"):\"auto\")}}const Xl=e=>Boolean(e&&e.getVelocity);function Zl(e,t){var n;if(!e.applyWillChange)return;let r=e.getValue(\"willChange\");return r||(null===(n=e.props.style)||void 0===n?void 0:n.willChange)||(r=new Gl(\"auto\"),e.addValue(\"willChange\",r)),o=r,Boolean(Xl(o)&&o.add)?r.add(t):void 0;var o}function Jl({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&!0!==t[n];return t[n]=!1,r}function Ql(e,t,{delay:n=0,transitionOverride:r,type:o}={}){var i;let{transition:s=e.getDefaultTransition(),transitionEnd:a,...l}=t;r&&(s=r);const c=[],u=o&&e.animationState&&e.animationState.getState()[o];for(const t in l){const r=e.getValue(t,null!==(i=e.latestValues[t])&&void 0!==i?i:null),o=l[t];if(void 0===o||u&&Jl(u,t))continue;const a={delay:n,...Hi(s||{},t)};let d=!1;if(window.MotionHandoffAnimation){const n=Kl(e);if(n){const e=window.MotionHandoffAnimation(n,t,Ji);null!==e&&(a.startTime=e,d=!0)}}r.start(Al(t,r,o,e.shouldReduceMotion&&zi.has(t)?{type:!1}:a,e,d,Zl(e,t)));const f=r.animation;f&&c.push(f)}return a&&Promise.all(c).then((()=>{Ji.update((()=>{a&&function(e,t){const n=Ai(e,t);let{transitionEnd:r={},transition:o={},...i}=n||{};i={...i,...r};for(const t in i)$l(e,t,Ll(i[t]))}(e,a)}))})),c}function ec(e,t,n={}){var r;const o=Ai(e,t,\"exit\"===n.type?null===(r=e.presenceContext)||void 0===r?void 0:r.custom:void 0);let{transition:i=e.getDefaultTransition()||{}}=o||{};n.transitionOverride&&(i=n.transitionOverride);const s=o?()=>Promise.all(Ql(e,o,n)):()=>Promise.resolve(),a=e.variantChildren&&e.variantChildren.size?(r=0)=>{const{delayChildren:o=0,staggerChildren:s,staggerDirection:a}=i;return function(e,t,n=0,r=0,o=1,i){const s=[],a=(e.variantChildren.size-1)*r,l=1===o?(e=0)=>e*r:(e=0)=>a-e*r;return Array.from(e.variantChildren).sort(tc).forEach(((e,r)=>{e.notify(\"AnimationStart\",t),s.push(ec(e,t,{...i,delay:n+l(r)}).then((()=>e.notify(\"AnimationComplete\",t))))})),Promise.all(s)}(e,t,o+r,s,a,n)}:()=>Promise.resolve(),{when:l}=i;if(l){const[e,t]=\"beforeChildren\"===l?[s,a]:[a,s];return e().then((()=>t()))}return Promise.all([s(),a(n.delay)])}function tc(e,t){return e.sortNodePosition(t)}const nc=[...Ii].reverse(),rc=Ii.length;function oc(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function ic(){return{animate:oc(!0),whileInView:oc(),whileHover:oc(),whileTap:oc(),whileDrag:oc(),whileFocus:oc(),exit:oc()}}class sc{constructor(e){this.isMounted=!1,this.node=e}update(){}}let ac=0;const lc={animation:{Feature:class extends sc{constructor(e){super(e),e.animationState||(e.animationState=function(e){let t=function(e){return t=>Promise.all(t.map((({animation:t,options:n})=>function(e,t,n={}){let r;if(e.notify(\"AnimationStart\",t),Array.isArray(t)){const o=t.map((t=>ec(e,t,n)));r=Promise.all(o)}else if(\"string\"==typeof t)r=ec(e,t,n);else{const o=\"function\"==typeof t?Ai(e,t,n.custom):t;r=Promise.all(Ql(e,o,n))}return r.then((()=>{e.notify(\"AnimationComplete\",t)}))}(e,t,n))))}(e),n=ic(),r=!0;const o=t=>(n,r)=>{var o;const i=Ai(e,r,\"exit\"===t?null===(o=e.presenceContext)||void 0===o?void 0:o.custom:void 0);if(i){const{transition:e,transitionEnd:t,...r}=i;n={...n,...r,...t}}return n};function i(i){const s=e.getProps(),a=e.getVariantContext(!0)||{},l=[],c=new Set;let u={},d=1/0;for(let t=0;td&&y),w=!1;const S=Array.isArray(g)?g:[g];let k=S.reduce(o(h),{});!1===v&&(k={});const{prevResolvedValues:E={}}=p,C={...E,...k},_=t=>{x=!0,c.has(t)&&(w=!0,c.delete(t)),p.needsAnimating[t]=!0;const n=e.getValue(t);n&&(n.liveStyle=!1)};for(const e in C){const t=k[e],n=E[e];if(u.hasOwnProperty(e))continue;let r=!1;r=Ti(t)&&Ti(n)?!Mi(t,n):t!==n,r?null!=t?_(e):c.add(e):void 0!==t&&c.has(e)?_(e):p.protectedKeys[e]=!0}p.prevProp=g,p.prevResolvedValues=k,p.isActive&&(u={...u,...k}),r&&e.blockInitialAnimation&&(x=!1),!x||b&&!w||l.push(...S.map((e=>({animation:e,options:{type:h}}))))}var f,m;if(c.size){const t={};c.forEach((n=>{const r=e.getBaseTarget(n),o=e.getValue(n);o&&(o.liveStyle=!0),t[n]=null!=r?r:null})),l.push({animation:t})}let h=Boolean(l.length);return!r||!1!==s.initial&&s.initial!==s.animate||e.manuallyAnimateOnMount||(h=!1),r=!1,h?t(l):Promise.resolve()}return{animateChanges:i,setActive:function(t,r){var o;if(n[t].isActive===r)return Promise.resolve();null===(o=e.variantChildren)||void 0===o||o.forEach((e=>{var n;return null===(n=e.animationState)||void 0===n?void 0:n.setActive(t,r)})),n[t].isActive=r;const s=i(t);for(const e in n)n[e].protectedKeys={};return s},setAnimateFunction:function(n){t=n(e)},getState:()=>n,reset:()=>{n=ic(),r=!0}}}(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();Ni(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){var e;this.node.animationState.reset(),null===(e=this.unmountControls)||void 0===e||e.call(this)}}},exit:{Feature:class extends sc{constructor(){super(...arguments),this.id=ac++}update(){if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;const r=this.node.animationState.setActive(\"exit\",!e);t&&!e&&r.then((()=>t(this.id)))}mount(){const{register:e}=this.node.presenceContext||{};e&&(this.unmount=e(this.id))}unmount(){}}}},cc=e=>\"mouse\"===e.pointerType?\"number\"!=typeof e.button||e.button<=0:!1!==e.isPrimary;function uc(e,t=\"page\"){return{point:{x:e[`${t}X`],y:e[`${t}Y`]}}}const dc=e=>t=>cc(t)&&e(t,uc(t));function fc(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}function mc(e,t,n,r){return fc(e,t,dc(n),r)}const hc=(e,t)=>Math.abs(e-t);class pc{constructor(e,t,{transformPagePoint:n,contextWindow:r,dragSnapToOrigin:o=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!this.lastMoveEvent||!this.lastMoveEventInfo)return;const e=vc(this.lastMoveEventInfo,this.history),t=null!==this.startEvent,n=function(e,t){const n=hc(e.x,t.x),r=hc(e.y,t.y);return Math.sqrt(n**2+r**2)}(e.offset,{x:0,y:0})>=3;if(!t&&!n)return;const{point:r}=e,{timestamp:o}=es;this.history.push({...r,timestamp:o});const{onStart:i,onMove:s}=this.handlers;t||(i&&i(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),s&&s(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastMoveEventInfo=gc(t,this.transformPagePoint),Ji.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();const{onEnd:n,onSessionEnd:r,resumeAnimation:o}=this.handlers;if(this.dragSnapToOrigin&&o&&o(),!this.lastMoveEvent||!this.lastMoveEventInfo)return;const i=vc(\"pointercancel\"===e.type?this.lastMoveEventInfo:gc(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,i),r&&r(e,i)},!cc(e))return;this.dragSnapToOrigin=o,this.handlers=t,this.transformPagePoint=n,this.contextWindow=r||window;const i=gc(uc(e),this.transformPagePoint),{point:s}=i,{timestamp:a}=es;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=t;l&&l(e,vc(i,this.history)),this.removeListeners=rl(mc(this.contextWindow,\"pointermove\",this.handlePointerMove),mc(this.contextWindow,\"pointerup\",this.handlePointerUp),mc(this.contextWindow,\"pointercancel\",this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),Qi(this.updatePoint)}}function gc(e,t){return t?{point:t(e.point)}:e}function yc(e,t){return{x:e.x-t.x,y:e.y-t.y}}function vc({point:e},t){return{point:e,delta:yc(e,xc(t)),offset:yc(e,bc(t)),velocity:wc(t,.1)}}function bc(e){return e[0]}function xc(e){return e[e.length-1]}function wc(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const o=xc(e);for(;n>=0&&(r=e[n],!(o.timestamp-r.timestamp>Bi(t)));)n--;if(!r)return{x:0,y:0};const i=Wi(o.timestamp-r.timestamp);if(0===i)return{x:0,y:0};const s={x:(o.x-r.x)/i,y:(o.y-r.y)/i};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Sc(e){let t=null;return()=>null===t&&(t=e,()=>{t=null})}const kc=Sc(\"dragHorizontal\"),Ec=Sc(\"dragVertical\");function Cc(e){let t=!1;if(\"y\"===e)t=Ec();else if(\"x\"===e)t=kc();else{const e=kc(),n=Ec();e&&n?t=()=>{e(),n()}:(e&&e(),n&&n())}return t}function _c(){const e=Cc(!0);return!e||(e(),!1)}function Pc(e){return e&&\"object\"==typeof e&&Object.prototype.hasOwnProperty.call(e,\"current\")}const Oc=.9999,Nc=1.0001,Tc=-.01,Mc=.01;function Rc(e){return e.max-e.min}function Dc(e,t,n,r=.5){e.origin=r,e.originPoint=il(t.min,t.max,e.origin),e.scale=Rc(n)/Rc(t),e.translate=il(n.min,n.max,e.origin)-e.originPoint,(e.scale>=Oc&&e.scale<=Nc||isNaN(e.scale))&&(e.scale=1),(e.translate>=Tc&&e.translate<=Mc||isNaN(e.translate))&&(e.translate=0)}function jc(e,t,n,r){Dc(e.x,t.x,n.x,r?r.originX:void 0),Dc(e.y,t.y,n.y,r?r.originY:void 0)}function Ac(e,t,n){e.min=n.min+t.min,e.max=e.min+Rc(t)}function Ic(e,t,n){e.min=t.min-n.min,e.max=e.min+Rc(t)}function Lc(e,t,n){Ic(e.x,t.x,n.x),Ic(e.y,t.y,n.y)}function Fc(e,t,n){return{min:void 0!==t?e.min+t:void 0,max:void 0!==n?e.max+n-(e.max-e.min):void 0}}function zc(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min({x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}}),$c=()=>({x:{min:0,max:0},y:{min:0,max:0}});function Yc(e){return[e(\"x\"),e(\"y\")]}function Hc({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function Kc(e){return void 0===e||1===e}function qc({scale:e,scaleX:t,scaleY:n}){return!Kc(e)||!Kc(t)||!Kc(n)}function Gc(e){return qc(e)||Xc(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Xc(e){return Zc(e.x)||Zc(e.y)}function Zc(e){return e&&\"0%\"!==e}function Jc(e,t,n){return n+t*(e-n)}function Qc(e,t,n,r,o){return void 0!==o&&(e=Jc(e,o,r)),Jc(e,n,r)+t}function eu(e,t=0,n=1,r,o){e.min=Qc(e.min,t,n,r,o),e.max=Qc(e.max,t,n,r,o)}function tu(e,{x:t,y:n}){eu(e.x,t.translate,t.scale,t.originPoint),eu(e.y,n.translate,n.scale,n.originPoint)}const nu=.999999999999,ru=1.0000000000001;function ou(e,t){e.min=e.min+t,e.max=e.max+t}function iu(e,t,n,r,o=.5){eu(e,t,n,il(e.min,e.max,o),r)}function su(e,t){iu(e.x,t.x,t.scaleX,t.scale,t.originX),iu(e.y,t.y,t.scaleY,t.scale,t.originY)}function au(e,t){return Hc(function(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}(e.getBoundingClientRect(),t))}const lu=({current:e})=>e?e.ownerDocument.defaultView:null,cu=new WeakMap;class uu{constructor(e){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=$c(),this.visualElement=e}start(e,{snapToCursor:t=!1}={}){const{presenceContext:n}=this.visualElement;if(n&&!1===n.isPresent)return;const{dragSnapToOrigin:r}=this.getProps();this.panSession=new pc(e,{onSessionStart:e=>{const{dragSnapToOrigin:n}=this.getProps();n?this.pauseAnimation():this.stopAnimation(),t&&this.snapToCursor(uc(e,\"page\").point)},onStart:(e,t)=>{var n;const{drag:r,dragPropagation:o,onDragStart:i}=this.getProps();if(r&&!o&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=Cc(r),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Yc((e=>{let t=this.getAxisMotionValue(e).get()||0;if(Es.test(t)){const{projection:n}=this.visualElement;if(n&&n.layout){const r=n.layout.layoutBox[e];r&&(t=Rc(r)*(parseFloat(t)/100))}}this.originPoint[e]=t})),i&&Ji.postRender((()=>i(e,t))),null===(n=this.removeWillChange)||void 0===n||n.call(this),this.removeWillChange=Zl(this.visualElement,\"transform\");const{animationState:s}=this.visualElement;s&&s.setActive(\"whileDrag\",!0)},onMove:(e,t)=>{const{dragPropagation:n,dragDirectionLock:r,onDirectionLock:o,onDrag:i}=this.getProps();if(!n&&!this.openGlobalLock)return;const{offset:s}=t;if(r&&null===this.currentDirection)return this.currentDirection=function(e,t=10){let n=null;return Math.abs(e.y)>t?n=\"y\":Math.abs(e.x)>t&&(n=\"x\"),n}(s),void(null!==this.currentDirection&&o&&o(this.currentDirection));this.updateAxis(\"x\",t.point,s),this.updateAxis(\"y\",t.point,s),this.visualElement.render(),i&&i(e,t)},onSessionEnd:(e,t)=>this.stop(e,t),resumeAnimation:()=>Yc((e=>{var t;return\"paused\"===this.getAnimationState(e)&&(null===(t=this.getAxisMotionValue(e).animation)||void 0===t?void 0:t.play())}))},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:r,contextWindow:lu(this.visualElement)})}stop(e,t){var n;null===(n=this.removeWillChange)||void 0===n||n.call(this);const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:o}=t;this.startAnimation(o);const{onDragEnd:i}=this.getProps();i&&Ji.postRender((()=>i(e,t)))}cancel(){this.isDragging=!1;const{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:n}=this.getProps();!n&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),t&&t.setActive(\"whileDrag\",!1)}updateAxis(e,t,n){const{drag:r}=this.getProps();if(!n||!du(e,r,this.currentDirection))return;const o=this.getAxisMotionValue(e);let i=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(i=function(e,{min:t,max:n},r){return void 0!==t&&en&&(e=r?il(n,e,r.max):Math.min(e,n)),e}(i,this.constraints[e],this.elastic[e])),o.set(i)}resolveConstraints(){var e;const{dragConstraints:t,dragElastic:n}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):null===(e=this.visualElement.projection)||void 0===e?void 0:e.layout,o=this.constraints;t&&Pc(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):this.constraints=!(!t||!r)&&function(e,{top:t,left:n,bottom:r,right:o}){return{x:Fc(e.x,n,o),y:Fc(e.y,t,r)}}(r.layoutBox,t),this.elastic=function(e=Bc){return!1===e?e=0:!0===e&&(e=Bc),{x:Wc(e,\"left\",\"right\"),y:Wc(e,\"top\",\"bottom\")}}(n),o!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Yc((e=>{!1!==this.constraints&&this.getAxisMotionValue(e)&&(this.constraints[e]=function(e,t){const n={};return void 0!==t.min&&(n.min=t.min-e.min),void 0!==t.max&&(n.max=t.max-e.min),n}(r.layoutBox[e],this.constraints[e]))}))}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!Pc(e))return!1;const n=e.current;os(null!==n,\"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.\");const{projection:r}=this.visualElement;if(!r||!r.layout)return!1;const o=function(e,t,n){const r=au(e,n),{scroll:o}=t;return o&&(ou(r.x,o.offset.x),ou(r.y,o.offset.y)),r}(n,r.root,this.visualElement.getTransformPagePoint());let i=function(e,t){return{x:zc(e.x,t.x),y:zc(e.y,t.y)}}(r.layout.layoutBox,o);if(t){const e=t(function({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}(i));this.hasMutatedConstraints=!!e,e&&(i=Hc(e))}return i}startAnimation(e){const{drag:t,dragMomentum:n,dragElastic:r,dragTransition:o,dragSnapToOrigin:i,onDragTransitionEnd:s}=this.getProps(),a=this.constraints||{},l=Yc((s=>{if(!du(s,t,this.currentDirection))return;let l=a&&a[s]||{};i&&(l={min:0,max:0});const c=r?200:1e6,u=r?40:1e7,d={type:\"inertia\",velocity:n?e[s]:0,bounceStiffness:c,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...o,...l};return this.startAxisValueAnimation(s,d)}));return Promise.all(l).then(s)}startAxisValueAnimation(e,t){const n=this.getAxisMotionValue(e);return n.start(Al(e,n,0,t,this.visualElement,!1,Zl(this.visualElement,e)))}stopAnimation(){Yc((e=>this.getAxisMotionValue(e).stop()))}pauseAnimation(){Yc((e=>{var t;return null===(t=this.getAxisMotionValue(e).animation)||void 0===t?void 0:t.pause()}))}getAnimationState(e){var t;return null===(t=this.getAxisMotionValue(e).animation)||void 0===t?void 0:t.state}getAxisMotionValue(e){const t=`_drag${e.toUpperCase()}`,n=this.visualElement.getProps();return n[t]||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){Yc((t=>{const{drag:n}=this.getProps();if(!du(t,n,this.currentDirection))return;const{projection:r}=this.visualElement,o=this.getAxisMotionValue(t);if(r&&r.layout){const{min:n,max:i}=r.layout.layoutBox[t];o.set(e[t]-il(n,i,.5))}}))}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!Pc(t)||!n||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};Yc((e=>{const t=this.getAxisMotionValue(e);if(t&&!1!==this.constraints){const n=t.get();r[e]=function(e,t){let n=.5;const r=Rc(e),o=Rc(t);return o>r?n=ol(t.min,t.max-r,e.min):r>o&&(n=ol(e.min,e.max-o,t.min)),ms(0,1,n)}({min:n,max:n},this.constraints[e])}}));const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},\"\"):\"none\",n.root&&n.root.updateScroll(),n.updateLayout(),this.resolveConstraints(),Yc((t=>{if(!du(t,e,null))return;const n=this.getAxisMotionValue(t),{min:o,max:i}=this.constraints[t];n.set(il(o,i,r[t]))}))}addListeners(){if(!this.visualElement.current)return;cu.set(this.visualElement,this);const e=mc(this.visualElement.current,\"pointerdown\",(e=>{const{drag:t,dragListener:n=!0}=this.getProps();t&&n&&this.start(e)})),t=()=>{const{dragConstraints:e}=this.getProps();Pc(e)&&e.current&&(this.constraints=this.resolveRefConstraints())},{projection:n}=this.visualElement,r=n.addEventListener(\"measure\",t);n&&!n.layout&&(n.root&&n.root.updateScroll(),n.updateLayout()),Ji.read(t);const o=fc(window,\"resize\",(()=>this.scalePositionWithinConstraints())),i=n.addEventListener(\"didUpdate\",(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(Yc((t=>{const n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))})),this.visualElement.render())}));return()=>{o(),e(),r(),i&&i()}}getProps(){const e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:o=!1,dragElastic:i=Bc,dragMomentum:s=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:o,dragElastic:i,dragMomentum:s}}}function du(e,t,n){return!(!0!==t&&t!==e||null!==n&&n!==e)}const fu=e=>(t,n)=>{e&&Ji.postRender((()=>e(t,n)))};var mu=n(848);const hu=(0,a.createContext)(null),pu=(0,a.createContext)({}),gu=(0,a.createContext)({}),yu={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function vu(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const bu={correct:(e,t)=>{if(!t.target)return e;if(\"string\"==typeof e){if(!Cs.test(e))return e;e=parseFloat(e)}return`${vu(e,t.target.x)}% ${vu(e,t.target.y)}%`}},xu={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,o=la.parse(e);if(o.length>5)return r;const i=la.createTransformer(e),s=\"number\"!=typeof o[0]?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;o[0+s]/=a,o[1+s]/=l;const c=il(a,l,.5);return\"number\"==typeof o[2+s]&&(o[2+s]/=c),\"number\"==typeof o[3+s]&&(o[3+s]/=c),i(o)}},wu={},{schedule:Su,cancel:ku}=Zi(queueMicrotask,!1);class Eu extends a.Component{componentDidMount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:o}=e;var i;i=_u,Object.assign(wu,i),o&&(t.group&&t.group.add(o),n&&n.register&&r&&n.register(o),o.root.didUpdate(),o.addEventListener(\"animationComplete\",(()=>{this.safeToRemove()})),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),yu.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:t,visualElement:n,drag:r,isPresent:o}=this.props,i=n.projection;return i?(i.isPresent=o,r||e.layoutDependency!==t||void 0===t?i.willUpdate():this.safeToRemove(),e.isPresent!==o&&(o?i.promote():i.relegate()||Ji.postRender((()=>{const e=i.getStack();e&&e.members.length||this.safeToRemove()}))),null):null}componentDidUpdate(){const{projection:e}=this.props.visualElement;e&&(e.root.didUpdate(),Su.postRender((()=>{!e.currentAnimation&&e.isLead()&&this.safeToRemove()})))}componentWillUnmount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function Cu(e){const[t,n]=function(){const e=(0,a.useContext)(hu);if(null===e)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,o=(0,a.useId)();(0,a.useEffect)((()=>r(o)),[]);const i=(0,a.useCallback)((()=>n&&n(o)),[o,n]);return!t&&n?[!1,i]:[!0]}(),r=(0,a.useContext)(pu);return(0,mu.jsx)(Eu,{...e,layoutGroup:r,switchLayoutGroup:(0,a.useContext)(gu),isPresent:t,safeToRemove:n})}const _u={borderRadius:{...bu,applyTo:[\"borderTopLeftRadius\",\"borderTopRightRadius\",\"borderBottomLeftRadius\",\"borderBottomRightRadius\"]},borderTopLeftRadius:bu,borderTopRightRadius:bu,borderBottomLeftRadius:bu,borderBottomRightRadius:bu,boxShadow:xu},Pu=[\"TopLeft\",\"TopRight\",\"BottomLeft\",\"BottomRight\"],Ou=Pu.length,Nu=e=>\"string\"==typeof e?parseFloat(e):e,Tu=e=>\"number\"==typeof e||Cs.test(e);function Mu(e,t){return void 0!==e[t]?e[t]:e.borderRadius}const Ru=ju(0,.5,Ga),Du=ju(.5,.95,Gi);function ju(e,t,n){return r=>rt?1:n(ol(e,t,r))}function Au(e,t){e.min=t.min,e.max=t.max}function Iu(e,t){Au(e.x,t.x),Au(e.y,t.y)}function Lu(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function Fu(e,t,n,r,o){return e=Jc(e-=t,1/n,r),void 0!==o&&(e=Jc(e,1/o,r)),e}function zu(e,t,[n,r,o],i,s){!function(e,t=0,n=1,r=.5,o,i=e,s=e){if(Es.test(t)&&(t=parseFloat(t),t=il(s.min,s.max,t/100)-s.min),\"number\"!=typeof t)return;let a=il(i.min,i.max,r);e===i&&(a-=t),e.min=Fu(e.min,t,n,a,o),e.max=Fu(e.max,t,n,a,o)}(e,t[n],t[r],t[o],t.scale,i,s)}const Bu=[\"x\",\"scaleX\",\"originX\"],Wu=[\"y\",\"scaleY\",\"originY\"];function Vu(e,t,n,r){zu(e.x,t,Bu,n?n.x:void 0,r?r.x:void 0),zu(e.y,t,Wu,n?n.y:void 0,r?r.y:void 0)}function Uu(e){return 0===e.translate&&1===e.scale}function $u(e){return Uu(e.x)&&Uu(e.y)}function Yu(e,t){return e.min===t.min&&e.max===t.max}function Hu(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function Ku(e,t){return Hu(e.x,t.x)&&Hu(e.y,t.y)}function qu(e){return Rc(e.x)/Rc(e.y)}function Gu(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class Xu{constructor(){this.members=[]}add(e){Fl(this.members,e),e.scheduleRender()}remove(e){if(zl(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){const t=this.members.findIndex((t=>e===t));if(0===t)return!1;let n;for(let e=t;e>=0;e--){const t=this.members[e];if(!1!==t.isPresent){n=t;break}}return!!n&&(this.promote(n),!0)}promote(e,t){const n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.instance&&n.scheduleRender(),e.scheduleRender(),e.resumeFrom=n,t&&(e.resumeFrom.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root&&e.root.isUpdating&&(e.isLayoutDirty=!0);const{crossfade:r}=e.options;!1===r&&n.hide()}}exitAnimationComplete(){this.members.forEach((e=>{const{options:t,resumingFrom:n}=e;t.onExitComplete&&t.onExitComplete(),n&&n.options.onExitComplete&&n.options.onExitComplete()}))}scheduleRender(){this.members.forEach((e=>{e.instance&&e.scheduleRender(!1)}))}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}const Zu=(e,t)=>e.depth-t.depth;class Ju{constructor(){this.children=[],this.isDirty=!1}add(e){Fl(this.children,e),this.isDirty=!0}remove(e){zl(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(Zu),this.isDirty=!1,this.children.forEach(e)}}function Qu(e){const t=Xl(e)?e.get():e;return Il(t)?t.toValue():t}const ed={type:\"projectionFrame\",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},td=\"undefined\"!=typeof window&&void 0!==window.MotionDebug,nd=[\"\",\"X\",\"Y\",\"Z\"],rd={visibility:\"hidden\"};let od=0;function id(e,t,n,r){const{latestValues:o}=t;o[e]&&(n[e]=o[e],t.setStaticValue(e,0),r&&(r[e]=0))}function sd(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=Kl(t);if(window.MotionHasOptimisedAnimation(n,\"transform\")){const{layout:t,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,\"transform\",Ji,!(t||r))}const{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&sd(r)}function ad({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:o}){return class{constructor(e={},n=(null==t?void 0:t())){this.id=od++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,td&&(ed.totalNodes=ed.resolvedTargetDeltas=ed.recalculatedProjection=0),this.nodes.forEach(ud),this.nodes.forEach(yd),this.nodes.forEach(vd),this.nodes.forEach(dd),td&&window.MotionDebug.record(ed)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=n?n.root||n:this,this.path=n?[...n.path,n]:[],this.parent=n,this.depth=n?n.depth+1:0;for(let e=0;ethis.root.updateBlockedByResize=!1;e(t,(()=>{this.root.updateBlockedByResize=!0,n&&n(),n=function(e){const t=ka.now(),n=({timestamp:r})=>{const o=r-t;o>=250&&(Qi(n),e(o-250))};return Ji.read(n,!0),()=>Qi(n)}(r),yu.hasAnimatedSinceResize&&(yu.hasAnimatedSinceResize=!1,this.nodes.forEach(gd))}))}o&&this.root.registerSharedNode(o,this),!1!==this.options.animate&&s&&(o||i)&&this.addEventListener(\"didUpdate\",(({delta:e,hasLayoutChanged:t,hasRelativeTargetChanged:n,layout:r})=>{if(this.isTreeAnimationBlocked())return this.target=void 0,void(this.relativeTarget=void 0);const o=this.options.transition||s.getDefaultTransition()||Ed,{onLayoutAnimationStart:i,onLayoutAnimationComplete:a}=s.getProps(),l=!this.targetLayout||!Ku(this.targetLayout,r)||n,c=!t&&n;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||c||t&&(l||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(e,c);const t={...Hi(o,\"layout\"),onPlay:i,onComplete:a};(s.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t)}else t||gd(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r}))}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Qi(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(bd),this.animationId++)}getTransformTemplate(){const{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked())return void(this.options.onExitComplete&&this.options.onExitComplete());if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&sd(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()}))}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure())}updateLayout(){if(!this.instance)return;if(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead()||this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;enu&&(t.x=1),t.ynu&&(t.y=1)}(this.layoutCorrected,this.treeScale,this.path,n),!t.layout||t.target||1===this.treeScale.x&&1===this.treeScale.y||(t.target=t.layout.layoutBox,t.targetWithTransforms=$c());const{target:l}=t;l?(this.projectionDelta&&this.prevProjectionDelta?(Lu(this.prevProjectionDelta.x,this.projectionDelta.x),Lu(this.prevProjectionDelta.y,this.projectionDelta.y)):this.createProjectionDeltas(),jc(this.projectionDelta,this.layoutCorrected,l,this.latestValues),this.treeScale.x===s&&this.treeScale.y===a&&Gu(this.projectionDelta.x,this.prevProjectionDelta.x)&&Gu(this.projectionDelta.y,this.prevProjectionDelta.y)||(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners(\"projectionUpdate\",l)),td&&ed.recalculatedProjection++):this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender())}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){var t;if(null===(t=this.options.visualElement)||void 0===t||t.scheduleRender(),e){const e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=Uc(),this.projectionDelta=Uc(),this.projectionDeltaWithTransform=Uc()}setAnimationOrigin(e,t=!1){const n=this.snapshot,r=n?n.latestValues:{},o={...this.latestValues},i=Uc();this.relativeParent&&this.relativeParent.options.layoutRoot||(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;const s=$c(),a=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),l=this.getStack(),c=!l||l.members.length<=1,u=Boolean(a&&!c&&!0===this.options.crossfade&&!this.path.some(kd));let d;this.animationProgress=0,this.mixTargetDelta=t=>{const n=t/1e3;var l,f,m,h,p,g;wd(i.x,e.x,n),wd(i.y,e.y,n),this.setTargetDelta(i),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Lc(s,this.layout.layoutBox,this.relativeParent.layout.layoutBox),m=this.relativeTarget,h=this.relativeTargetOrigin,p=s,g=n,Sd(m.x,h.x,p.x,g),Sd(m.y,h.y,p.y,g),d&&(l=this.relativeTarget,f=d,Yu(l.x,f.x)&&Yu(l.y,f.y))&&(this.isProjectionDirty=!1),d||(d=$c()),Iu(d,this.relativeTarget)),a&&(this.animationValues=o,function(e,t,n,r,o,i){o?(e.opacity=il(0,void 0!==n.opacity?n.opacity:1,Ru(r)),e.opacityExit=il(void 0!==t.opacity?t.opacity:1,0,Du(r))):i&&(e.opacity=il(void 0!==t.opacity?t.opacity:1,void 0!==n.opacity?n.opacity:1,r));for(let o=0;o{yu.hasAnimatedSinceResize=!0,this.currentAnimation=function(e,t,n){const r=Xl(0)?0:Ul(0);return r.start(Al(\"\",r,1e3,n)),r.animation}(0,0,{...e,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onComplete:()=>{e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0}))}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners(\"animationComplete\")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const e=this.getLead();let{targetWithTransforms:t,target:n,layout:r,latestValues:o}=e;if(t&&n&&r){if(this!==e&&this.layout&&r&&Od(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||$c();const t=Rc(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;const r=Rc(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}Iu(t,n),su(t,o),jc(this.projectionDeltaWithTransform,this.layoutCorrected,t,o)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new Xu),this.sharedNodes.get(e).add(t);const n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){const e=this.getStack();return!e||e.lead===this}getLead(){var e;const{layoutId:t}=this.options;return t&&(null===(e=this.getStack())||void 0===e?void 0:e.lead)||this}getPrevLead(){var e;const{layoutId:t}=this.options;return t?null===(e=this.getStack())||void 0===e?void 0:e.prevLead:void 0}getStack(){const{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){const r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){const e=this.getStack();return!!e&&e.relegate(this)}resetSkewAndRotation(){const{visualElement:e}=this.options;if(!e)return;let t=!1;const{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;const r={};n.z&&id(\"z\",e,r,this.animationValues);for(let t=0;t{var t;return null===(t=e.currentAnimation)||void 0===t?void 0:t.stop()})),this.root.nodes.forEach(md),this.root.sharedNodes.clear()}}}function ld(e){e.updateLayout()}function cd(e){var t;const n=(null===(t=e.resumeFrom)||void 0===t?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners(\"didUpdate\")){const{layoutBox:t,measuredBox:r}=e.layout,{animationType:o}=e.options,i=n.source!==e.layout.source;\"size\"===o?Yc((e=>{const r=i?n.measuredBox[e]:n.layoutBox[e],o=Rc(r);r.min=t[e].min,r.max=r.min+o})):Od(o,n.layoutBox,t)&&Yc((r=>{const o=i?n.measuredBox[r]:n.layoutBox[r],s=Rc(t[r]);o.max=o.min+s,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+s)}));const s=Uc();jc(s,t,n.layoutBox);const a=Uc();i?jc(a,e.applyTransform(r,!0),n.measuredBox):jc(a,t,n.layoutBox);const l=!$u(s);let c=!1;if(!e.resumeFrom){const r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){const{snapshot:o,layout:i}=r;if(o&&i){const s=$c();Lc(s,n.layoutBox,o.layoutBox);const a=$c();Lc(a,t,i.layoutBox),Ku(s,a)||(c=!0),r.options.layoutRoot&&(e.relativeTarget=a,e.relativeTargetOrigin=s,e.relativeParent=r)}}}e.notifyListeners(\"didUpdate\",{layout:t,snapshot:n,delta:a,layoutDelta:s,hasLayoutChanged:l,hasRelativeTargetChanged:c})}else if(e.isLead()){const{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function ud(e){td&&ed.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=Boolean(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function dd(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function fd(e){e.clearSnapshot()}function md(e){e.clearMeasurements()}function hd(e){e.isLayoutDirty=!1}function pd(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify(\"BeforeLayoutMeasure\"),e.resetTransform()}function gd(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function yd(e){e.resolveTargetDelta()}function vd(e){e.calcProjection()}function bd(e){e.resetSkewAndRotation()}function xd(e){e.removeLeadSnapshot()}function wd(e,t,n){e.translate=il(t.translate,0,n),e.scale=il(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function Sd(e,t,n,r){e.min=il(t.min,n.min,r),e.max=il(t.max,n.max,r)}function kd(e){return e.animationValues&&void 0!==e.animationValues.opacityExit}const Ed={duration:.45,ease:[.4,0,.1,1]},Cd=e=>\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),_d=Cd(\"applewebkit/\")&&!Cd(\"chrome/\")?Math.round:Gi;function Pd(e){e.min=_d(e.min),e.max=_d(e.max)}function Od(e,t,n){return\"position\"===e||\"preserve-aspect\"===e&&(r=qu(t),o=qu(n),!(Math.abs(r-o)<=.2));var r,o}function Nd(e){var t;return e!==e.root&&(null===(t=e.scroll)||void 0===t?void 0:t.wasRoot)}const Td=ad({attachResizeListener:(e,t)=>fc(e,\"resize\",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),Md={current:void 0},Rd=ad({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!Md.current){const e=new Td({});e.mount(window),e.setOptions({layoutScroll:!0}),Md.current=e}return Md.current},resetTransform:(e,t)=>{e.style.transform=void 0!==t?t:\"none\"},checkIsScrollRoot:e=>Boolean(\"fixed\"===window.getComputedStyle(e).position)}),Dd={pan:{Feature:class extends sc{constructor(){super(...arguments),this.removePointerDownListener=Gi}onPointerDown(e){this.session=new pc(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:lu(this.node)})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:fu(e),onStart:fu(t),onMove:n,onEnd:(e,t)=>{delete this.session,r&&Ji.postRender((()=>r(e,t)))}}}mount(){this.removePointerDownListener=mc(this.node.current,\"pointerdown\",(e=>this.onPointerDown(e)))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}},drag:{Feature:class extends sc{constructor(e){super(e),this.removeGroupControls=Gi,this.removeListeners=Gi,this.controls=new uu(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Gi}unmount(){this.removeGroupControls(),this.removeListeners()}},ProjectionNode:Rd,MeasureLayout:Cu}};function jd(e,t){const n=t?\"pointerenter\":\"pointerleave\",r=t?\"onHoverStart\":\"onHoverEnd\";return mc(e.current,n,((n,o)=>{if(\"touch\"===n.pointerType||_c())return;const i=e.getProps();e.animationState&&i.whileHover&&e.animationState.setActive(\"whileHover\",t);const s=i[r];s&&Ji.postRender((()=>s(n,o)))}),{passive:!e.getProps()[r]})}const Ad=(e,t)=>!!t&&(e===t||Ad(e,t.parentElement));function Id(e,t){if(!t)return;const n=new PointerEvent(\"pointer\"+e);t(n,uc(n))}const Ld=new WeakMap,Fd=new WeakMap,zd=e=>{const t=Ld.get(e.target);t&&t(e)},Bd=e=>{e.forEach(zd)};const Wd={some:0,all:1},Vd={inView:{Feature:class extends sc{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:e={}}=this.node.getProps(),{root:t,margin:n,amount:r=\"some\",once:o}=e,i={root:t?t.current:void 0,rootMargin:n,threshold:\"number\"==typeof r?r:Wd[r]};return function(e,t,n){const r=function({root:e,...t}){const n=e||document;Fd.has(n)||Fd.set(n,{});const r=Fd.get(n),o=JSON.stringify(t);return r[o]||(r[o]=new IntersectionObserver(Bd,{root:e,...t})),r[o]}(t);return Ld.set(e,n),r.observe(e),()=>{Ld.delete(e),r.unobserve(e)}}(this.node.current,i,(e=>{const{isIntersecting:t}=e;if(this.isInView===t)return;if(this.isInView=t,o&&!t&&this.hasEnteredView)return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(\"whileInView\",t);const{onViewportEnter:n,onViewportLeave:r}=this.node.getProps(),i=t?n:r;i&&i(e)}))}mount(){this.startObserver()}update(){if(\"undefined\"==typeof IntersectionObserver)return;const{props:e,prevProps:t}=this.node;[\"amount\",\"margin\",\"root\"].some(function({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}(e,t))&&this.startObserver()}unmount(){}}},tap:{Feature:class extends sc{constructor(){super(...arguments),this.removeStartListeners=Gi,this.removeEndListeners=Gi,this.removeAccessibleListeners=Gi,this.startPointerPress=(e,t)=>{if(this.isPressing)return;this.removeEndListeners();const n=this.node.getProps(),r=mc(window,\"pointerup\",((e,t)=>{if(!this.checkPressEnd())return;const{onTap:n,onTapCancel:r,globalTapTarget:o}=this.node.getProps(),i=o||Ad(this.node.current,e.target)?n:r;i&&Ji.update((()=>i(e,t)))}),{passive:!(n.onTap||n.onPointerUp)}),o=mc(window,\"pointercancel\",((e,t)=>this.cancelPress(e,t)),{passive:!(n.onTapCancel||n.onPointerCancel)});this.removeEndListeners=rl(r,o),this.startPress(e,t)},this.startAccessiblePress=()=>{const e=fc(this.node.current,\"keydown\",(e=>{\"Enter\"!==e.key||this.isPressing||(this.removeEndListeners(),this.removeEndListeners=fc(this.node.current,\"keyup\",(e=>{\"Enter\"===e.key&&this.checkPressEnd()&&Id(\"up\",((e,t)=>{const{onTap:n}=this.node.getProps();n&&Ji.postRender((()=>n(e,t)))}))})),Id(\"down\",((e,t)=>{this.startPress(e,t)})))})),t=fc(this.node.current,\"blur\",(()=>{this.isPressing&&Id(\"cancel\",((e,t)=>this.cancelPress(e,t)))}));this.removeAccessibleListeners=rl(e,t)}}startPress(e,t){this.isPressing=!0;const{onTapStart:n,whileTap:r}=this.node.getProps();r&&this.node.animationState&&this.node.animationState.setActive(\"whileTap\",!0),n&&Ji.postRender((()=>n(e,t)))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive(\"whileTap\",!1),!_c()}cancelPress(e,t){if(!this.checkPressEnd())return;const{onTapCancel:n}=this.node.getProps();n&&Ji.postRender((()=>n(e,t)))}mount(){const e=this.node.getProps(),t=mc(e.globalTapTarget?window:this.node.current,\"pointerdown\",this.startPointerPress,{passive:!(e.onTapStart||e.onPointerStart)}),n=fc(this.node.current,\"focus\",this.startAccessiblePress);this.removeStartListeners=rl(t,n)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}},focus:{Feature:class extends sc{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(\":focus-visible\")}catch(t){e=!0}e&&this.node.animationState&&(this.node.animationState.setActive(\"whileFocus\",!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive(\"whileFocus\",!1),this.isActive=!1)}mount(){this.unmount=rl(fc(this.node.current,\"focus\",(()=>this.onFocus())),fc(this.node.current,\"blur\",(()=>this.onBlur())))}unmount(){}}},hover:{Feature:class extends sc{mount(){this.unmount=rl(jd(this.node,!0),jd(this.node,!1))}unmount(){}}}},Ud={layout:{ProjectionNode:Rd,MeasureLayout:Cu}},$d=(0,a.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:\"never\"}),Yd=(0,a.createContext)({}),Hd=\"undefined\"!=typeof window,Kd=Hd?a.useLayoutEffect:a.useEffect,qd=(0,a.createContext)({strict:!1});let Gd=!1;function Xd(e,t,n,r,o){var i;const{visualElement:s}=(0,a.useContext)(Yd),l=(0,a.useContext)(qd),c=(0,a.useContext)(hu),u=(0,a.useContext)($d).reducedMotion,d=(0,a.useRef)();r=r||l.renderer,!d.current&&r&&(d.current=r(e,{visualState:t,parent:s,props:n,presenceContext:c,blockInitialAnimation:!!c&&!1===c.initial,reducedMotionConfig:u}));const f=d.current,m=(0,a.useContext)(gu);!f||f.projection||!o||\"html\"!==f.type&&\"svg\"!==f.type||function(e,t,n,r){const{layoutId:o,layout:i,drag:s,dragConstraints:a,layoutScroll:l,layoutRoot:c}=t;e.projection=new n(e.latestValues,t[\"data-framer-portal-id\"]?void 0:Jd(e.parent)),e.projection.setOptions({layoutId:o,layout:i,alwaysMeasureLayout:Boolean(s)||a&&Pc(a),visualElement:e,animationType:\"string\"==typeof i?i:\"both\",initialPromotionConfig:r,layoutScroll:l,layoutRoot:c})}(d.current,n,o,m),(0,a.useInsertionEffect)((()=>{f&&f.update(n,c)}));const h=n[Hl],p=(0,a.useRef)(Boolean(h)&&!window.MotionHandoffIsComplete&&(null===(i=window.MotionHasOptimisedAnimation)||void 0===i?void 0:i.call(window,h)));return Kd((()=>{f&&(f.updateFeatures(),Su.render(f.render),p.current&&f.animationState&&f.animationState.animateChanges())})),(0,a.useEffect)((()=>{f&&(!p.current&&f.animationState&&f.animationState.animateChanges(),p.current=!1,Gd||(Gd=!0,queueMicrotask(Zd)))})),f}function Zd(){window.MotionHandoffIsComplete=!0}function Jd(e){if(e)return!1!==e.options.allowProjection?e.projection:Jd(e.parent)}function Qd(e,t,n){return(0,a.useCallback)((r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(\"function\"==typeof n?n(r):Pc(n)&&(n.current=r))}),[t])}function ef(e){return Ni(e.animate)||Li.some((t=>Ri(e[t])))}function tf(e){return Boolean(ef(e)||e.variants)}function nf(e){return Array.isArray(e)?e.join(\" \"):e}const rf={animation:[\"animate\",\"variants\",\"whileHover\",\"whileTap\",\"exit\",\"whileInView\",\"whileFocus\",\"whileDrag\"],exit:[\"exit\"],drag:[\"drag\",\"dragControls\"],focus:[\"whileFocus\"],hover:[\"whileHover\",\"onHoverStart\",\"onHoverEnd\"],tap:[\"whileTap\",\"onTap\",\"onTapStart\",\"onTapCancel\"],pan:[\"onPan\",\"onPanStart\",\"onPanSessionStart\",\"onPanEnd\"],inView:[\"whileInView\",\"onViewportEnter\",\"onViewportLeave\"],layout:[\"layout\",\"layoutId\"]},of={};for(const e in rf)of[e]={isEnabled:t=>rf[e].some((e=>!!t[e]))};const sf=Symbol.for(\"motionComponentSymbol\");function af({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:o}){e&&function(e){for(const t in e)of[t]={...of[t],...e[t]}}(e);const i=(0,a.forwardRef)((function(e,i){let s;const l={...(0,a.useContext)($d),...e,layoutId:lf(e)},{isStatic:c}=l,u=function(e){const{initial:t,animate:n}=function(e,t){if(ef(e)){const{initial:t,animate:n}=e;return{initial:!1===t||Ri(t)?t:void 0,animate:Ri(n)?n:void 0}}return!1!==e.inherit?t:{}}(e,(0,a.useContext)(Yd));return(0,a.useMemo)((()=>({initial:t,animate:n})),[nf(t),nf(n)])}(e),d=r(e,c);if(!c&&Hd){(0,a.useContext)(qd).strict;const e=function(e){const{drag:t,layout:n}=of;if(!t&&!n)return{};const r={...t,...n};return{MeasureLayout:(null==t?void 0:t.isEnabled(e))||(null==n?void 0:n.isEnabled(e))?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}(l);s=e.MeasureLayout,u.visualElement=Xd(o,d,l,t,e.ProjectionNode)}return(0,mu.jsxs)(Yd.Provider,{value:u,children:[s&&u.visualElement?(0,mu.jsx)(s,{visualElement:u.visualElement,...l}):null,n(o,e,Qd(d,u.visualElement,i),d,c,u.visualElement)]})}));return i[sf]=o,i}function lf({layoutId:e}){const t=(0,a.useContext)(pu).id;return t&&void 0!==e?t+\"-\"+e:e}const cf=[\"animate\",\"circle\",\"defs\",\"desc\",\"ellipse\",\"g\",\"image\",\"line\",\"filter\",\"marker\",\"mask\",\"metadata\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"rect\",\"stop\",\"switch\",\"symbol\",\"svg\",\"text\",\"tspan\",\"use\",\"view\"];function uf(e){return\"string\"==typeof e&&!e.includes(\"-\")&&!!(cf.indexOf(e)>-1||/[A-Z]/u.test(e))}function df(e,{style:t,vars:n},r,o){Object.assign(e.style,t,o&&o.getProjectionStyles(r));for(const t in n)e.style.setProperty(t,n[t])}const ff=new Set([\"baseFrequency\",\"diffuseConstant\",\"kernelMatrix\",\"kernelUnitLength\",\"keySplines\",\"keyTimes\",\"limitingConeAngle\",\"markerHeight\",\"markerWidth\",\"numOctaves\",\"targetX\",\"targetY\",\"surfaceScale\",\"specularConstant\",\"specularExponent\",\"stdDeviation\",\"tableValues\",\"viewBox\",\"gradientTransform\",\"pathLength\",\"startOffset\",\"textLength\",\"lengthAdjust\"]);function mf(e,t,n,r){df(e,t,void 0,r);for(const n in t.attrs)e.setAttribute(ff.has(n)?n:Yl(n),t.attrs[n])}function hf(e,{layout:t,layoutId:n}){return zi.has(e)||e.startsWith(\"origin\")||(t||void 0!==n)&&(!!wu[e]||\"opacity\"===e)}function pf(e,t,n){var r;const{style:o}=e,i={};for(const s in o)(Xl(o[s])||t.style&&Xl(t.style[s])||hf(s,e)||void 0!==(null===(r=null==n?void 0:n.getValue(s))||void 0===r?void 0:r.liveStyle))&&(i[s]=o[s]);return n&&o&&\"string\"==typeof o.willChange&&(n.applyWillChange=!1),i}function gf(e,t,n){const r=pf(e,t,n);for(const n in e)(Xl(e[n])||Xl(t[n]))&&(r[-1!==Fi.indexOf(n)?\"attr\"+n.charAt(0).toUpperCase()+n.substring(1):n]=e[n]);return r}function yf(e){const t=(0,a.useRef)(null);return null===t.current&&(t.current=e()),t.current}const vf=e=>(t,n)=>{const r=(0,a.useContext)(Yd),o=(0,a.useContext)(hu),i=()=>function({applyWillChange:e=!1,scrapeMotionValuesFromProps:t,createRenderState:n,onMount:r},o,i,s,a){const l={latestValues:wf(o,i,s,!a&&e,t),renderState:n()};return r&&(l.mount=e=>r(o,e,l)),l}(e,t,r,o,n);return n?i():yf(i)};function bf(e,t){const n=ql(t);n&&Fl(e,n)}function xf(e,t,n){const r=Array.isArray(t)?t:[t];for(let t=0;t{for(const t in e){let n=e[t];Array.isArray(n)&&(n=n[h?n.length-1:0]),null!==n&&(s[t]=n)}for(const e in t)s[e]=t[e]})),l&&(d&&!1!==u&&!Ni(d)&&xf(e,d,(e=>{for(const t in e)bf(a,t)})),a.length&&(s.willChange=a.join(\",\"))),s}const Sf=()=>({style:{},transform:{},transformOrigin:{},vars:{}}),kf=()=>({...Sf(),attrs:{}}),Ef=(e,t)=>t&&\"number\"==typeof e?t.transform(e):e,Cf={x:\"translateX\",y:\"translateY\",z:\"translateZ\",transformPerspective:\"perspective\"},_f=Fi.length;function Pf(e,t,n){const{style:r,vars:o,transformOrigin:i}=e;let s=!1,a=!1;for(const e in t){const n=t[e];if(zi.has(e))s=!0;else if(as(e))o[e]=n;else{const t=Ef(n,ha[e]);e.startsWith(\"origin\")?(a=!0,i[e]=t):r[e]=t}}if(t.transform||(s||n?r.transform=function(e,t,n){let r=\"\",o=!0;for(let i=0;i<_f;i++){const s=Fi[i],a=e[s];if(void 0===a)continue;let l=!0;if(l=\"number\"==typeof a?a===(s.startsWith(\"scale\")?1:0):0===parseFloat(a),!l||n){const e=Ef(a,ha[s]);l||(o=!1,r+=`${Cf[s]||s}(${e}) `),n&&(t[s]=e)}}return r=r.trim(),n?r=n(t,o?\"\":r):o&&(r=\"none\"),r}(t,e.transform,n):r.transform&&(r.transform=\"none\")),a){const{originX:e=\"50%\",originY:t=\"50%\",originZ:n=0}=i;r.transformOrigin=`${e} ${t} ${n}`}}function Of(e,t,n){return\"string\"==typeof e?e:Cs.transform(t+n*e)}const Nf={offset:\"stroke-dashoffset\",array:\"stroke-dasharray\"},Tf={offset:\"strokeDashoffset\",array:\"strokeDasharray\"};function Mf(e,{attrX:t,attrY:n,attrScale:r,originX:o,originY:i,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...c},u,d){if(Pf(e,c,d),u)return void(e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox));e.attrs=e.style,e.style={};const{attrs:f,style:m,dimensions:h}=e;f.transform&&(h&&(m.transform=f.transform),delete f.transform),h&&(void 0!==o||void 0!==i||m.transform)&&(m.transformOrigin=function(e,t,n){return`${Of(t,e.x,e.width)} ${Of(n,e.y,e.height)}`}(h,void 0!==o?o:.5,void 0!==i?i:.5)),void 0!==t&&(f.x=t),void 0!==n&&(f.y=n),void 0!==r&&(f.scale=r),void 0!==s&&function(e,t,n=1,r=0,o=!0){e.pathLength=1;const i=o?Nf:Tf;e[i.offset]=Cs.transform(-r);const s=Cs.transform(t),a=Cs.transform(n);e[i.array]=`${s} ${a}`}(f,s,a,l,!1)}const Rf=e=>\"string\"==typeof e&&\"svg\"===e.toLowerCase(),Df={useVisualState:vf({scrapeMotionValuesFromProps:gf,createRenderState:kf,onMount:(e,t,{renderState:n,latestValues:r})=>{Ji.read((()=>{try{n.dimensions=\"function\"==typeof t.getBBox?t.getBBox():t.getBoundingClientRect()}catch(e){n.dimensions={x:0,y:0,width:0,height:0}}})),Ji.render((()=>{Mf(n,r,Rf(t.tagName),e.transformTemplate),mf(t,n)}))}})},jf={useVisualState:vf({applyWillChange:!0,scrapeMotionValuesFromProps:pf,createRenderState:Sf})};function Af(e,t,n){for(const r in t)Xl(t[r])||hf(r,n)||(e[r]=t[r])}function If(e,t){const n={},r=function(e,t){const n={};return Af(n,e.style||{},e),Object.assign(n,function({transformTemplate:e},t){return(0,a.useMemo)((()=>{const n=Sf();return Pf(n,t,e),Object.assign({},n.vars,n.style)}),[t])}(e,t)),n}(e,t);return e.drag&&!1!==e.dragListener&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout=\"none\",r.touchAction=!0===e.drag?\"none\":\"pan-\"+(\"x\"===e.drag?\"y\":\"x\")),void 0===e.tabIndex&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}const Lf=new Set([\"animate\",\"exit\",\"variants\",\"initial\",\"style\",\"values\",\"variants\",\"transition\",\"transformTemplate\",\"custom\",\"inherit\",\"onBeforeLayoutMeasure\",\"onAnimationStart\",\"onAnimationComplete\",\"onUpdate\",\"onDragStart\",\"onDrag\",\"onDragEnd\",\"onMeasureDragConstraints\",\"onDirectionLock\",\"onDragTransitionEnd\",\"_dragX\",\"_dragY\",\"onHoverStart\",\"onHoverEnd\",\"onViewportEnter\",\"onViewportLeave\",\"globalTapTarget\",\"ignoreStrict\",\"viewport\"]);function Ff(e){return e.startsWith(\"while\")||e.startsWith(\"drag\")&&\"draggable\"!==e||e.startsWith(\"layout\")||e.startsWith(\"onTap\")||e.startsWith(\"onPan\")||e.startsWith(\"onLayout\")||Lf.has(e)}let zf=e=>!Ff(e);try{(Bf=n(316).A)&&(zf=e=>e.startsWith(\"on\")?!Ff(e):Bf(e))}catch(e){}var Bf;function Wf(e,t,n,r){const o=(0,a.useMemo)((()=>{const n=kf();return Mf(n,t,Rf(r),e.transformTemplate),{...n.attrs,style:{...n.style}}}),[t]);if(e.style){const t={};Af(t,e.style,e),o.style={...t,...o.style}}return o}function Vf(e=!1){return(t,n,r,{latestValues:o},i)=>{const s=(uf(t)?Wf:If)(n,o,i,t),l=function(e,t,n){const r={};for(const o in e)\"values\"===o&&\"object\"==typeof e.values||(zf(o)||!0===n&&Ff(o)||!t&&!Ff(o)||e.draggable&&o.startsWith(\"onDrag\"))&&(r[o]=e[o]);return r}(n,\"string\"==typeof t,e),c=t!==a.Fragment?{...l,...s,ref:r}:{},{children:u}=n,d=(0,a.useMemo)((()=>Xl(u)?u.get():u),[u]);return(0,a.createElement)(t,{...c,children:d})}}function Uf(e,t){return function(n,{forwardMotionProps:r}={forwardMotionProps:!1}){return af({...uf(n)?Df:jf,preloadedFeatures:e,useRender:Vf(r),createVisualElement:t,Component:n})}}const $f={current:null},Yf={current:!1},Hf=new WeakMap,Kf=[...Ls,Zs,la],qf=[\"AnimationStart\",\"AnimationComplete\",\"Update\",\"BeforeLayoutMeasure\",\"LayoutMeasure\",\"LayoutAnimationStart\",\"LayoutAnimationComplete\"],Gf=Li.length;class Xf{scrapeMotionValuesFromProps(e,t,n){return{}}constructor({parent:e,props:t,presenceContext:n,reducedMotionConfig:r,blockInitialAnimation:o,visualState:i},s={}){this.applyWillChange=!1,this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=$s,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify(\"Update\",this.latestValues),this.render=()=>{this.isRenderScheduled=!1,this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.isRenderScheduled=!1,this.scheduleRender=()=>{this.isRenderScheduled||(this.isRenderScheduled=!0,Ji.render(this.render,!1,!0))};const{latestValues:a,renderState:l}=i;this.latestValues=a,this.baseTarget={...a},this.initialValues=t.initial?{...a}:{},this.renderState=l,this.parent=e,this.props=t,this.presenceContext=n,this.depth=e?e.depth+1:0,this.reducedMotionConfig=r,this.options=s,this.blockInitialAnimation=Boolean(o),this.isControllingVariants=ef(t),this.isVariantNode=tf(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(e&&e.current);const{willChange:c,...u}=this.scrapeMotionValuesFromProps(t,{},this);for(const e in u){const t=u[e];void 0!==a[e]&&Xl(t)&&t.set(a[e],!1)}}mount(e){this.current=e,Hf.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach(((e,t)=>this.bindToMotionValue(t,e))),Yf.current||function(){if(Yf.current=!0,Hd)if(window.matchMedia){const e=window.matchMedia(\"(prefers-reduced-motion)\"),t=()=>$f.current=e.matches;e.addListener(t),t()}else $f.current=!1}(),this.shouldReduceMotion=\"never\"!==this.reducedMotionConfig&&(\"always\"===this.reducedMotionConfig||$f.current),this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){Hf.delete(this.current),this.projection&&this.projection.unmount(),Qi(this.notifyUpdate),Qi(this.render),this.valueSubscriptions.forEach((e=>e())),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const e in this.events)this.events[e].clear();for(const e in this.features){const t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}bindToMotionValue(e,t){this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)();const n=zi.has(e),r=t.on(\"change\",(t=>{this.latestValues[e]=t,this.props.onUpdate&&Ji.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0)})),o=t.on(\"renderRequest\",this.scheduleRender);let i;window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,e,t)),this.valueSubscriptions.set(e,(()=>{r(),o(),i&&i(),t.owner&&t.stop()}))}sortNodePosition(e){return this.current&&this.sortInstanceNodePosition&&this.type===e.type?this.sortInstanceNodePosition(this.current,e.current):0}updateFeatures(){let e=\"animation\";for(e in of){const t=of[e];if(!t)continue;const{isEnabled:n,Feature:r}=t;if(!this.features[e]&&r&&n(this.props)&&(this.features[e]=new r(this)),this.features[e]){const t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):$c()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let t=0;tt.variantChildren.delete(e)}addValue(e,t){const n=this.values.get(e);t!==n&&(n&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get())}removeValue(e){this.values.delete(e);const t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);return void 0===n&&void 0!==t&&(n=Ul(null===t?void 0:t,{owner:this}),this.addValue(e,n)),n}readValue(e,t){var n;let r=void 0===this.latestValues[e]&&this.current?null!==(n=this.getBaseTargetFromProps(this.props,e))&&void 0!==n?n:this.readValueFromInstance(this.current,e,this.options):this.latestValues[e];return null!=r&&(\"string\"==typeof r&&(is(r)||ns(r))?r=parseFloat(r):!(e=>Kf.find(Is(e)))(r)&&la.test(t)&&(r=ya(e,t)),this.setBaseTarget(e,Xl(r)?r.get():r)),Xl(r)?r.get():r}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){var t;const{initial:n}=this.props;let r;if(\"string\"==typeof n||\"object\"==typeof n){const o=ji(this.props,n,null===(t=this.presenceContext)||void 0===t?void 0:t.custom);o&&(r=o[e])}if(n&&void 0!==r)return r;const o=this.getBaseTargetFromProps(this.props,e);return void 0===o||Xl(o)?void 0!==this.initialValues[e]&&void 0===r?void 0:this.baseTarget[e]:o}on(e,t){return this.events[e]||(this.events[e]=new Bl),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}}class Zf extends Xf{constructor(){super(...arguments),this.KeyframeResolver=ba}sortInstanceNodePosition(e,t){return 2&e.compareDocumentPosition(t)?1:-1}getBaseTargetFromProps(e,t){return e.style?e.style[t]:void 0}removeValueFromRenderState(e,{vars:t,style:n}){delete t[e],delete n[e]}}class Jf extends Zf{constructor(){super(...arguments),this.type=\"html\",this.applyWillChange=!0,this.renderInstance=df}readValueFromInstance(e,t){if(zi.has(t)){const e=ga(t);return e&&e.default||0}{const r=(n=e,window.getComputedStyle(n)),o=(as(t)?r.getPropertyValue(t):r[t])||0;return\"string\"==typeof o?o.trim():o}var n}measureInstanceViewportBox(e,{transformPagePoint:t}){return au(e,t)}build(e,t,n){Pf(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return pf(e,t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:e}=this.props;Xl(e)&&(this.childSubscription=e.on(\"change\",(e=>{this.current&&(this.current.textContent=`${e}`)})))}}class Qf extends Zf{constructor(){super(...arguments),this.type=\"svg\",this.isSVGTag=!1,this.measureInstanceViewportBox=$c}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(zi.has(t)){const e=ga(t);return e&&e.default||0}return t=ff.has(t)?t:Yl(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return gf(e,t,n)}build(e,t,n){Mf(e,t,this.isSVGTag,n.transformTemplate)}renderInstance(e,t,n,r){mf(e,t,0,r)}mount(e){this.isSVGTag=Rf(e.tagName),super.mount(e)}}const em=Oi(Uf({...lc,...Vd,...Dd,...Ud},((e,t)=>uf(e)?new Qf(t):new Jf(t,{allowProjection:e!==a.Fragment}))));var tm=[\"slug\",\"text\",\"icon\",\"className\",\"disabled\",\"badge\"];function nm(){return nm=Object.assign?Object.assign.bind():function(e){for(var t=1;t*]:box-border flex items-center \".concat(\"full\"===v?\"w-full\":\"\",\" \").concat(k),C=oe(E,x,w,t,S,\"underline\"!==h?\"bg-tab-background\":\"\",s);return l().createElement(\"div\",{className:C},l().createElement(rm.Provider,{value:{activeItem:o,onChange:b,size:u,variant:h,orientation:f,iconPosition:g,width:v}},l().Children.map(n,(function(e){return(0,a.isValidElement)(e)?l().cloneElement(e):null}))))};om.displayName=\"Tabs.Group\";var im=function(e,t){var n=(0,a.useContext)(rm),r=e.slug,o=e.text,i=e.icon,s=e.className,c=e.disabled,u=void 0!==c&&c,d=e.badge,f=void 0===d?null:d,m=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;rsvg]:size-4\",searchIcon:\"[&>svg]:size-4\",selectButton:\"px-2.5 py-2 rounded text-sm font-medium leading-4 min-h-[2rem]\",multiSelect:\"pl-2 pr-2 py-1.5\",displaySelected:\"text-sm font-normal\",dropdown:\"rounded-md\",dropdownItemsWrapper:\"p-1.5\",searchbarWrapper:\"p-3 flex items-center gap-0.5\",searchbar:\"font-medium text-sm\",searchbarIcon:\"[&>svg]:size-4\",label:\"text-sm font-medium\"},md:{icon:\"[&>svg]:size-5\",searchIcon:\"[&>svg]:size-5\",selectButton:\"px-3.5 py-2.5 rounded-md text-xs font-medium leading-4 min-h-[2.5rem]\",multiSelect:\"pl-2 pr-2.5 py-2\",displaySelected:\"text-sm font-normal\",dropdown:\"rounded-lg\",dropdownItemsWrapper:\"p-2\",searchbarWrapper:\"p-2.5 flex items-center gap-1\",searchbar:\"font-medium text-sm\",searchbarIcon:\"[&>svg]:size-5\",label:\"text-sm font-medium\"},lg:{icon:\"[&>svg]:size-6\",searchIcon:\"[&>svg]:size-5\",selectButton:\"px-4 py-3 rounded-lg text-sm font-medium leading-5 min-h-[3rem]\",multiSelect:\"pl-2.5 pr-3 py-2.5\",displaySelected:\"text-base font-normal\",dropdown:\"rounded-lg\",dropdownItemsWrapper:\"p-2\",searchbarWrapper:\"p-2.5 flex items-center gap-1\",searchbar:\"font-medium text-sm\",searchbarIcon:\"[&>svg]:size-5\",label:\"text-base font-medium\"}},fm=\"group-disabled:text-field-color-disabled\",mm=[\"value\",\"selected\",\"children\",\"className\"];function hm(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,o,i,s,a=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(e,t)||ym(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function pm(){return pm=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:shrink-0\",dm[y].icon)},M())))}function _m(e){var t=e.children,n=e.searchBy,r=void 0===n?\"id\":n,o=e.searchPlaceholder,i=void 0===o?\"Search...\":o,s=e.dropdownPortalRoot,l=void 0===s?null:s,c=e.dropdownPortalId,u=void 0===c?\"\":c,d=e.className,f=Em(),m=f.isOpen,h=f.context,p=f.refs,g=f.combobox,y=f.floatingStyles,v=f.getFloatingProps,b=f.sizeValue,x=f.setSearchKeyword,w=f.setActiveIndex,S=f.setSelectedIndex,k=f.value,E=f.selected,C=f.getValues,_=f.searchKeyword,P=f.listContentRef,O=f.by,N=(0,a.useMemo)((function(){var e=C(),n=0;return e&&(n=a.Children.toArray(t).findIndex((function(t){return\"object\"===bm(t.props.value)?t.props.value[O]===e[O]:t.props.value===e}))),-1===n?0:n}),[k,E,t]);(0,a.useLayoutEffect)((function(){w(N),S(N)}),[]);var T=(0,a.useMemo)((function(){return a.Children.map(t,(function(e,t){if(!(0,a.isValidElement)(e))return null;if(_){var n=e.props.value;if(\"object\"===bm(n)){if(-1===n[r].toLowerCase().indexOf(_.toLowerCase()))return null}else if(-1===n.toLowerCase().indexOf(_.toLowerCase()))return null}return(0,a.cloneElement)(e,wm(wm({},e.props),{},{index:t}))}))}),[_,k,E,t]),M=a.Children.count(T);return(0,a.useEffect)((function(){P.current=[],a.Children.forEach(t,(function(e){if((0,a.isValidElement)(e)&&e.props.value){if(_){var t=e.props.value;if(\"object\"===bm(t)){if(-1===t[r].toLowerCase().indexOf(_.toLowerCase()))return}else if(-1===t.toLowerCase().indexOf(_.toLowerCase()))return}P.current.push(e.props.value)}}))}),[_]),React.createElement(React.Fragment,null,m&&React.createElement(Ir,{id:u,root:l},React.createElement(Yr,{context:h,modal:!1},React.createElement(\"div\",pm({ref:p.setFloating,className:oe(\"box-border [&_*]:box-border w-full bg-white outline-none shadow-lg outline outline-1 outline-border-subtle\",g&&\"grid grid-cols-1 grid-rows-[auto_1fr] divide-y divide-x-0 divide-solid divide-border-subtle\",dm[b].dropdown,!g&&\"h-auto\",g?\"overflow-hidden\":\"overflow-y-auto\",d),style:wm({},y)},v()),g&&React.createElement(\"div\",{className:oe(dm[b].searchbarWrapper)},React.createElement(um,{className:oe(\"text-icon-secondary shrink-0\",dm[b].searchbarIcon)}),React.createElement(\"input\",{className:oe(\"px-1 w-full placeholder:text-field-placeholder border-0 focus:outline-none focus:shadow-none\",dm[b].searchbar),type:\"search\",name:\"keyword\",placeholder:i,onChange:function(e){return x(e.target.value)},autoComplete:\"off\"})),React.createElement(\"div\",{className:oe(\"overflow-y-auto\",!g&&\"w-full h-full\",dm[b].dropdownItemsWrapper)},!!M&&T,!M&&React.createElement(\"div\",{className:\"p-2 text-center text-base font-medium text-field-placeholder\"},\"No items found\"))))))}function Pm(e){var t=e.value,n=e.selected,r=e.children,o=e.className,i=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r{r&&(clearTimeout(p.current),v.current=null,g.current=\"\")}),[r]),er((()=>{var e;r&&\"\"===g.current&&(y.current=null!=(e=null!=h?h:s)?e:-1)}),[r,h,s]);const k=zn((e=>{e?o.current.typing||(o.current.typing=e,x(e)):o.current.typing&&(o.current.typing=e,x(e))})),E=zn((e=>{function t(e,t,n){const r=w.current?w.current(t,n):t.find((e=>0===(null==e?void 0:e.toLocaleLowerCase().indexOf(n.toLocaleLowerCase()))));return r?e.indexOf(r):-1}const n=i.current;if(g.current.length>0&&\" \"!==g.current[0]&&(-1===t(n,n,g.current)?k(!1):\" \"===e.key&&yt(e)),null==n||S.current.includes(e.key)||1!==e.key.length||e.ctrlKey||e.metaKey||e.altKey)return;r&&\" \"!==e.key&&(yt(e),k(!0)),n.every((e=>{var t,n;return!e||(null==(t=e[0])?void 0:t.toLocaleLowerCase())!==(null==(n=e[1])?void 0:n.toLocaleLowerCase())}))&&g.current===e.key&&(g.current=\"\",y.current=v.current),g.current+=e.key,clearTimeout(p.current),p.current=setTimeout((()=>{g.current=\"\",y.current=v.current,k(!1)}),f);const o=y.current,s=t(n,[...n.slice((o||0)+1),...n.slice(0,(o||0)+1)],g.current);-1!==s?(b(s),v.current=s):\" \"!==e.key&&(g.current=\"\",k(!1))})),C=a.useMemo((()=>({onKeyDown:E})),[E]),_=a.useMemo((()=>({onKeyDown:E,onKeyUp(e){\" \"===e.key&&k(!1)}})),[E,k]);return a.useMemo((()=>u?{reference:C,floating:_}:{}),[u,C,_])}(z,{listRef:W,activeIndex:T,selectedIndex:D,onMatch:P?M:j,onTypingChange:function(e){V.current=e}}),q=ro([$,Y,H,U].concat(gm(h?[]:[K]))),G=q.getReferenceProps,X=q.getFloatingProps,Z=q.getItemProps,J=function(e,t){if(f)return function(e,t){var n,r=gm(null!==(n=C())&&void 0!==n?n:[]);-1===r.findIndex((function(e){return\"object\"===bm(e)?e[c]===t[c]:e===t}))&&(r.push(t),v||w(r),j(e),L.reference.current.focus(),O(!1),E(\"\"),\"function\"==typeof s&&s(r))}(e,t);j(e),v||w(t),L.reference.current.focus(),O(!1),E(\"\"),\"function\"==typeof s&&s(t)},Q=(0,a.useCallback)((function(e,t){B.current[e]=t}),[]);return React.createElement(km.Provider,{value:{selectedIndex:D,setSelectedIndex:j,activeIndex:T,setActiveIndex:M,selected:x,setSelected:w,handleSelect:J,combobox:h,sizeValue:r,multiple:f,onChange:s,isTypingRef:V,getItemProps:Z,onClickItem:function(e,t){J(e,t)},onKeyDownItem:function(e,t,n){\"Enter\"===e.key&&(e.preventDefault(),J(t,n)),\" \"!==e.key||V.current||(e.preventDefault(),J(t,n))},getValues:C,selectId:y,getReferenceProps:G,isOpen:P,value:o,updateListRef:Q,refs:L,listContentRef:W,by:c,getFloatingProps:X,floatingStyles:F,context:z,searchKeyword:k,setSearchKeyword:E,disabled:g}},u)};Cm.displayName=\"Select.Button\",_m.displayName=\"Select.Options\",Pm.displayName=\"Select.Item\",Om.Button=Cm,Om.Options=_m,Om.Option=Pm;var Nm=Om,Tm=[\"id\",\"message\",\"jsx\"];function Mm(e){return Mm=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Mm(e)}function Rm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Dm(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Dm({message:e,type:\"neutral\"},t))}},{key:\"success\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Dm({message:e,type:\"success\"},t))}},{key:\"error\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Dm({message:e,type:\"error\"},t))}},{key:\"warning\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Dm({message:e,type:\"warning\"},t))}},{key:\"info\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Dm({message:e,type:\"info\"},t))}},{key:\"custom\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.create(Dm({jsx:e,type:\"custom\"},t))}}],t&&Am(e.prototype,t),Object.defineProperty(e,\"prototype\",{writable:!1}),e;var e,t}(),Ym=new $m,Hm=Object.seal(Object.assign((function(e,t){return Ym.default(e,t)}),{success:Ym.success.bind(Ym),error:Ym.error.bind(Ym),warning:Ym.warning.bind(Ym),info:Ym.info.bind(Ym),custom:Ym.custom.bind(Ym),dismiss:Ym.dismiss.bind(Ym),update:Ym.update.bind(Ym)},{getHistory:Ym.history.bind(Ym)})),Km=!1,qm={\"top-left\":\"top-0 bottom-0 left-0 justify-start items-start\",\"top-right\":\"top-0 bottom-0 right-0 justify-start items-end\",\"bottom-left\":\"top-0 bottom-0 left-0 justify-end items-start\",\"bottom-right\":\"top-0 bottom-0 right-0 justify-end items-end\"},Gm={neutral:\"border-alert-border-neutral bg-alert-background-neutral\",custom:\"border-alert-border-neutral bg-alert-background-neutral\",info:\"border-alert-border-info bg-alert-background-info\",success:\"border-alert-border-green bg-alert-background-green\",warning:\"border-alert-border-warning bg-alert-background-warning\",error:\"border-alert-border-danger bg-alert-background-danger\"},Xm=\"bg-background-inverse border-background-inverse\",Zm={light:\"text-icon-secondary\",dark:\"text-icon-inverse\"};class Jm extends a.Component{getSnapshotBeforeUpdate(e){const t=this.props.childRef.current;if(t&&e.isPresent&&!this.props.isPresent){const e=this.props.sizeRef.current;e.height=t.offsetHeight||0,e.width=t.offsetWidth||0,e.top=t.offsetTop,e.left=t.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function Qm({children:e,isPresent:t}){const n=(0,a.useId)(),r=(0,a.useRef)(null),o=(0,a.useRef)({width:0,height:0,top:0,left:0}),{nonce:i}=(0,a.useContext)($d);return(0,a.useInsertionEffect)((()=>{const{width:e,height:s,top:a,left:l}=o.current;if(t||!r.current||!e||!s)return;r.current.dataset.motionPopId=n;const c=document.createElement(\"style\");return i&&(c.nonce=i),document.head.appendChild(c),c.sheet&&c.sheet.insertRule(`\\n [data-motion-pop-id=\"${n}\"] {\\n position: absolute !important;\\n width: ${e}px !important;\\n height: ${s}px !important;\\n top: ${a}px !important;\\n left: ${l}px !important;\\n }\\n `),()=>{document.head.removeChild(c)}}),[t]),(0,mu.jsx)(Jm,{isPresent:t,childRef:r,sizeRef:o,children:a.cloneElement(e,{ref:r})})}const eh=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:o,presenceAffectsLayout:i,mode:s})=>{const l=yf(th),c=(0,a.useId)(),u=(0,a.useMemo)((()=>({id:c,initial:t,isPresent:n,custom:o,onExitComplete:e=>{l.set(e,!0);for(const e of l.values())if(!e)return;r&&r()},register:e=>(l.set(e,!1),()=>l.delete(e))})),i?[Math.random()]:[n]);return(0,a.useMemo)((()=>{l.forEach(((e,t)=>l.set(t,!1)))}),[n]),a.useEffect((()=>{!n&&!l.size&&r&&r()}),[n]),\"popLayout\"===s&&(e=(0,mu.jsx)(Qm,{isPresent:n,children:e})),(0,mu.jsx)(hu.Provider,{value:u,children:e})};function th(){return new Map}const nh=e=>e.key||\"\";function rh(e){const t=[];return a.Children.forEach(e,(e=>{(0,a.isValidElement)(e)&&t.push(e)})),t}const oh=({children:e,exitBeforeEnter:t,custom:n,initial:r=!0,onExitComplete:o,presenceAffectsLayout:i=!0,mode:s=\"sync\"})=>{os(!t,\"Replace exitBeforeEnter with mode='wait'\");const l=(0,a.useMemo)((()=>rh(e)),[e]),c=l.map(nh),u=(0,a.useRef)(!0),d=(0,a.useRef)(l),f=yf((()=>new Map)),[m,h]=(0,a.useState)(l),[p,g]=(0,a.useState)(l);Kd((()=>{u.current=!1,d.current=l;for(let e=0;e{const t=nh(e),a=l===p||c.includes(t);return(0,mu.jsx)(eh,{isPresent:a,initial:!(u.current&&!r)&&void 0,custom:a?void 0:n,presenceAffectsLayout:i,mode:s,onExitComplete:a?void 0:()=>{if(!f.has(t))return;f.set(t,!0);let e=!0;f.forEach((t=>{t||(e=!1)})),e&&(null==v||v(),g(d.current),o&&o())},children:e},t)}))})};function ih(e){return ih=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},ih(e)}function sh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ah(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&void 0!==arguments[1]?arguments[1]:u;if(l&&!(u<0))return x.current=(new Date).getTime(),setTimeout((function(){b(e.id)}),t)};(0,a.useEffect)((function(){var e=u;return S.current=k(t,e),function(){clearTimeout(S.current)}}),[]),(0,a.useEffect)((function(){null!=t&&t.dismiss&&b(t.id)}),[t]);var E,C,_,P,O,N,T,M,R,D,j=function(){var e,n;null==t||null===(e=t.action)||void 0===e||null===(n=e.onClick)||void 0===n||n.call(e,(function(){return b(t.id)}))},A=null;return\"stack\"===h&&(A=React.createElement(\"div\",{className:oe(\"flex items-center justify-start p-4 gap-2 relative border border-solid rounded-md shadow-lg\",\"dark\"===f?Xm:null===(E=Gm)||void 0===E?void 0:E[v],\"w-[22.5rem]\"),onMouseEnter:function(){clearTimeout(S.current),w.current=(new Date).getTime()},onMouseLeave:function(){S.current=k(t,u-(w.current-x.current))}},\"custom\"!==t.type?React.createElement(React.Fragment,null,React.createElement(\"div\",{className:\"self-start flex items-center justify-center [&_svg]:size-5 shrink-0\"},So({variant:v,icon:g,theme:f})),React.createElement(\"div\",{className:\"flex flex-col items-start justify-start gap-0.5\"},Eo({title:r,theme:f}),Co({content:i,theme:f}),(null==t||null===(C=t.action)||void 0===C?void 0:C.label)&&\"function\"==typeof(null==t||null===(_=t.action)||void 0===_?void 0:_.onClick)&&React.createElement(\"div\",{className:\"mt-2.5\"},ko({actionLabel:null==t||null===(P=t.action)||void 0===P?void 0:P.label,actionType:null!==(O=null==t||null===(N=t.action)||void 0===N?void 0:N.type)&&void 0!==O?O:\"button\",onAction:j,theme:f}))),React.createElement(\"div\",{className:\"absolute right-4 top-4 [&_svg]:size-5\"},React.createElement(\"button\",{className:oe(\"bg-transparent m-0 p-0 border-none focus:outline-none active:outline-none cursor-pointer\",null!==(T=Zm[f])&&void 0!==T?T:Zm.light),onClick:function(){return b(t.id)}},React.createElement(qo,null)))):null==t||null===(M=t.jsx)||void 0===M?void 0:M.call(t,{close:function(){return b(t.id)},action:null!=t&&t.action?ah(ah({},null==t?void 0:t.action),{},{onClick:j}):null}))),\"inline\"===h&&(A=React.createElement(\"div\",{className:oe(\"flex items-center justify-start p-3 gap-2 relative border border-solid rounded-md shadow-lg\",\"dark\"===f?Xm:null===(R=Gm)||void 0===R?void 0:R[v],\"lg:w-[47.5rem] w-full\")},React.createElement(\"div\",{className:\"self-start flex items-center justify-center [&_svg]:size-5 shrink-0\"},So({variant:v,icon:g,theme:f})),React.createElement(\"div\",{className:\"flex items-start justify-start gap-1 mr-10 [&>span:first-child]:shrink-0\"},Eo({title:r,theme:f}),Co({content:i,theme:f})),React.createElement(\"div\",{className:\"absolute right-3 top-3 [&_svg]:size-5\"},React.createElement(\"button\",{className:oe(\"bg-transparent m-0 p-0 border-none focus:outline-none active:outline-none cursor-pointer\",null!==(D=Zm[f])&&void 0!==D?D:Zm.light),onClick:function(){return b(t.id)}},React.createElement(qo,null))))),A},mh=(dh=function(e){var t,n,r,o=e.position,i=void 0===o?\"top-right\":o,s=e.design,l=void 0===s?\"stack\":s,c=e.theme,u=void 0===c?\"light\":c,d=e.className,f=void 0===d?\"\":d,m=e.autoDismiss,h=void 0===m||m,p=e.dismissAfter,g=void 0===p?5e3:p,y=(n=(0,a.useState)([]),r=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,o,i,s,a=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||ch(n,r)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()),v=y[0],b=y[1];(0,a.useEffect)((function(){Ym.subscribe((function(e){null!=e&&e.dismiss?b((function(t){return t.map((function(t){return t.id===e.id?ah(ah({},t),{},{dismiss:!0}):t}))})):setTimeout((function(){(0,tn.flushSync)((function(){return b((function(t){return-1!==t.findIndex((function(t){return t.id===e.id}))?t.map((function(t){return t.id===e.id?ah(ah({},t),e):t})):[].concat(function(e){return function(e){if(Array.isArray(e))return uh(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||ch(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}(t),[e])}))}))}))}))}),[]);var x=function(e){b((function(t){return t.filter((function(t){return t.id!==e}))}))};return React.createElement(\"ul\",{className:oe(\"fixed flex flex-col list-none z-20 p-10 pointer-events-none [&>li]:pointer-events-auto gap-3\",null!==(t=qm[i])&&void 0!==t?t:qm[\"top-right\"],f)},React.createElement(oh,{initial:!1},v.map((function(e){var t,n,r,o,i;return React.createElement(em.li,{key:e.id,positionTransition:!0,initial:{opacity:0,y:50,scale:.7},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.6,transition:{duration:.15}},layoutId:\"toast-\".concat(e.id)},React.createElement(fh,{toastItem:e,title:e.title,content:null==e?void 0:e.description,icon:null!==(t=null==e?void 0:e.icon)&&void 0!==t?t:null,design:null!==(n=null==e?void 0:e.design)&&void 0!==n?n:l,autoDismiss:null!==(r=null==e?void 0:e.autoDismiss)&&void 0!==r?r:h,dismissAfter:null!==(o=null==e?void 0:e.dismissAfter)&&void 0!==o?o:g,removeToast:x,variant:e.type,theme:null!==(i=null==e?void 0:e.theme)&&void 0!==i?i:u}))}))))},(0,a.memo)((function(e){var t=e.singleTon;return Km&&t?null:(Km=!0,React.createElement(dh,e))}))),hh={sm:{1:\"grid-cols-1\",2:\"grid-cols-2\",3:\"grid-cols-3\",4:\"grid-cols-4\",5:\"grid-cols-5\",6:\"grid-cols-6\",7:\"grid-cols-7\",8:\"grid-cols-8\",9:\"grid-cols-9\",10:\"grid-cols-10\",11:\"grid-cols-11\",12:\"grid-cols-12\"},md:{1:\"md:grid-cols-1\",2:\"md:grid-cols-2\",3:\"md:grid-cols-3\",4:\"md:grid-cols-4\",5:\"md:grid-cols-5\",6:\"md:grid-cols-6\",7:\"md:grid-cols-7\",8:\"md:grid-cols-8\",9:\"md:grid-cols-9\",10:\"md:grid-cols-10\",11:\"md:grid-cols-11\",12:\"md:grid-cols-12\"},lg:{1:\"lg:grid-cols-1\",2:\"lg:grid-cols-2\",3:\"lg:grid-cols-3\",4:\"lg:grid-cols-4\",5:\"lg:grid-cols-5\",6:\"lg:grid-cols-6\",7:\"lg:grid-cols-7\",8:\"lg:grid-cols-8\",9:\"lg:grid-cols-9\",10:\"lg:grid-cols-10\",11:\"lg:grid-cols-11\",12:\"lg:grid-cols-12\"}},ph={sm:{xs:\"gap-2\",sm:\"gap-4\",md:\"gap-5\",lg:\"gap-6\",xl:\"gap-6\",\"2xl\":\"gap-8\"},md:{xs:\"md:gap-2\",sm:\"md:gap-4\",md:\"md:gap-5\",lg:\"md:gap-6\",xl:\"md:gap-6\",\"2xl\":\"md:gap-8\"},lg:{xs:\"lg:gap-2\",sm:\"lg:gap-4\",md:\"lg:gap-5\",lg:\"lg:gap-6\",xl:\"lg:gap-6\",\"2xl\":\"lg:gap-8\"}},gh={sm:{xs:\"gap-x-2\",sm:\"gap-x-4\",md:\"gap-x-5\",lg:\"gap-x-6\",xl:\"gap-x-6\",\"2xl\":\"gap-x-8\"},md:{xs:\"md:gap-x-2\",sm:\"md:gap-x-4\",md:\"md:gap-x-5\",lg:\"md:gap-x-6\",xl:\"md:gap-x-6\",\"2xl\":\"md:gap-x-8\"},lg:{xs:\"lg:gap-x-2\",sm:\"lg:gap-x-4\",md:\"lg:gap-x-5\",lg:\"lg:gap-x-6\",xl:\"lg:gap-x-6\",\"2xl\":\"lg:gap-x-8\"}},yh={sm:{xs:\"gap-y-2\",sm:\"gap-y-4\",md:\"gap-y-5\",lg:\"gap-y-6\",xl:\"gap-y-6\",\"2xl\":\"gap-y-8\"},md:{xs:\"md:gap-y-2\",sm:\"md:gap-y-4\",md:\"md:gap-y-5\",lg:\"md:gap-y-6\",xl:\"md:gap-y-6\",\"2xl\":\"md:gap-y-8\"},lg:{xs:\"lg:gap-y-2\",sm:\"lg:gap-y-4\",md:\"lg:gap-y-5\",lg:\"lg:gap-y-6\",xl:\"lg:gap-y-6\",\"2xl\":\"lg:gap-y-8\"}},vh={sm:{1:\"col-span-1\",2:\"col-span-2\",3:\"col-span-3\",4:\"col-span-4\",5:\"col-span-5\",6:\"col-span-6\",7:\"col-span-7\",8:\"col-span-8\",9:\"col-span-9\",10:\"col-span-10\",11:\"col-span-11\",12:\"col-span-12\"},md:{1:\"md:col-span-1\",2:\"md:col-span-2\",3:\"md:col-span-3\",4:\"md:col-span-4\",5:\"md:col-span-5\",6:\"md:col-span-6\",7:\"md:col-span-7\",8:\"md:col-span-8\",9:\"md:col-span-9\",10:\"md:col-span-10\",11:\"md:col-span-11\",12:\"md:col-span-12\"},lg:{1:\"lg:col-span-1\",2:\"lg:col-span-2\",3:\"lg:col-span-3\",4:\"lg:col-span-4\",5:\"lg:col-span-5\",6:\"lg:col-span-6\",7:\"lg:col-span-7\",8:\"lg:col-span-8\",9:\"lg:col-span-9\",10:\"lg:col-span-10\",11:\"lg:col-span-11\",12:\"lg:col-span-12\"}},bh={sm:{1:\"col-start-1\",2:\"col-start-2\",3:\"col-start-3\",4:\"col-start-4\",5:\"col-start-5\",6:\"col-start-6\",7:\"col-start-7\",8:\"col-start-8\",9:\"col-start-9\",10:\"col-start-10\",11:\"col-start-11\",12:\"col-start-12\"},md:{1:\"md:col-start-1\",2:\"md:col-start-2\",3:\"md:col-start-3\",4:\"md:col-start-4\",5:\"md:col-start-5\",6:\"md:col-start-6\",7:\"md:col-start-7\",8:\"md:col-start-8\",9:\"md:col-start-9\",10:\"md:col-start-10\",11:\"md:col-start-11\",12:\"md:col-start-12\"},lg:{1:\"lg:col-start-1\",2:\"lg:col-start-2\",3:\"lg:col-start-3\",4:\"lg:col-start-4\",5:\"lg:col-start-5\",6:\"lg:col-start-6\",7:\"lg:col-start-7\",8:\"lg:col-start-8\",9:\"lg:col-start-9\",10:\"lg:col-start-10\",11:\"lg:col-start-11\",12:\"lg:col-start-12\"}},xh={sm:{row:\"grid-flow-row\",column:\"grid-flow-col\",\"row-dense\":\"grid-flow-row-dense\",\"column-dense\":\"grid-flow-col-dense\"},md:{row:\"md:grid-flow-row\",column:\"md:grid-flow-col\",\"row-dense\":\"md:grid-flow-row-dense\",\"column-dense\":\"md:grid-flow-col-dense\"},lg:{row:\"lg:grid-flow-row\",column:\"lg:grid-flow-col\",\"row-dense\":\"lg:grid-flow-row-dense\",\"column-dense\":\"lg:grid-flow-col-dense\"}},wh={sm:{normal:\"justify-normal\",start:\"justify-start\",end:\"justify-end\",center:\"justify-center\",between:\"justify-between\",around:\"justify-around\",evenly:\"justify-evenly\",stretch:\"justify-stretch\"},md:{normal:\"md:justify-normal\",start:\"md:justify-start\",end:\"md:justify-end\",center:\"md:justify-center\",between:\"md:justify-between\",around:\"md:justify-around\",evenly:\"md:justify-evenly\",stretch:\"md:justify-stretch\"},lg:{normal:\"lg:justify-normal\",start:\"lg:justify-start\",end:\"lg:justify-end\",center:\"lg:justify-center\",between:\"lg:justify-between\",around:\"lg:justify-around\",evenly:\"lg:justify-evenly\",stretch:\"lg:justify-stretch\"}},Sh={sm:{start:\"items-start\",end:\"items-end\",center:\"items-center\",baseline:\"items-baseline\",stretch:\"items-stretch\"},md:{start:\"md:items-start\",end:\"md:items-end\",center:\"md:items-center\",baseline:\"md:items-baseline\",stretch:\"md:items-stretch\"},lg:{start:\"lg:items-start\",end:\"lg:items-end\",center:\"lg:items-center\",baseline:\"lg:items-baseline\",stretch:\"lg:items-stretch\"}},kh={sm:{start:\"self-start\",end:\"self-end\",center:\"self-center\",baseline:\"self-baseline\",stretch:\"self-stretch\"},md:{start:\"md:self-start\",end:\"md:self-end\",center:\"md:self-center\",baseline:\"md:self-baseline\",stretch:\"md:self-stretch\"},lg:{start:\"lg:self-start\",end:\"lg:self-end\",center:\"lg:self-center\",baseline:\"lg:self-baseline\",stretch:\"lg:self-stretch\"}},Eh={sm:{auto:\"justify-self-auto\",start:\"justify-self-start\",end:\"justify-self-end\",center:\"justify-self-center\",baseline:\"justify-self-baseline\",stretch:\"justify-self-stretch\"},md:{auto:\"md:justify-self-auto\",start:\"md:justify-self-start\",end:\"md:justify-self-end\",center:\"md:justify-self-center\",baseline:\"md:justify-self-baseline\",stretch:\"md:justify-self-stretch\"},lg:{auto:\"lg:justify-self-auto\",start:\"lg:justify-self-start\",end:\"lg:justify-self-end\",center:\"lg:justify-self-center\",baseline:\"lg:justify-self-baseline\",stretch:\"lg:justify-self-stretch\"}},Ch={sm:{row:\"flex-row\",\"row-reverse\":\"flex-row-reverse\",column:\"flex-col\",\"column-reverse\":\"flex-col-reverse\"},md:{row:\"md:flex-row\",\"row-reverse\":\"md:flex-row-reverse\",column:\"md:flex-col\",\"column-reverse\":\"md:flex-col-reverse\"},lg:{row:\"lg:flex-row\",\"row-reverse\":\"lg:flex-row-reverse\",column:\"lg:flex-col\",\"column-reverse\":\"lg:flex-col-reverse\"}},_h={sm:{wrap:\"flex-wrap\",\"wrap-reverse\":\"flex-wrap-reverse\",nowrap:\"flex-nowrap\"},md:{wrap:\"md:flex-wrap\",\"wrap-reverse\":\"md:flex-wrap-reverse\",nowrap:\"md:flex-nowrap\"},lg:{wrap:\"lg:flex-wrap\",\"wrap-reverse\":\"lg:flex-wrap-reverse\",nowrap:\"lg:flex-nowrap\"}},Ph={sm:{1:\"w-full\",2:\"w-1/2\",3:\"w-1/3\",4:\"w-1/4\",5:\"w-1/5\",6:\"w-1/6\",7:\"w-1/7\",8:\"w-1/8\",9:\"w-1/9\",10:\"w-1/10\",11:\"w-1/11\",12:\"w-1/12\"},md:{1:\"md:w-full\",2:\"md:w-1/2\",3:\"md:w-1/3\",4:\"md:w-1/4\",5:\"md:w-1/5\",6:\"md:w-1/6\",7:\"md:w-1/7\",8:\"md:w-1/8\",9:\"md:w-1/9\",10:\"md:w-1/10\",11:\"md:w-1/11\",12:\"md:w-1/12\"},lg:{1:\"lg:w-full\",2:\"lg:w-1/2\",3:\"lg:w-1/3\",4:\"lg:w-1/4\",5:\"lg:w-1/5\",6:\"lg:w-1/6\",7:\"lg:w-1/7\",8:\"lg:w-1/8\",9:\"lg:w-1/9\",10:\"lg:w-1/10\",11:\"lg:w-1/11\",12:\"lg:w-1/12\"}},Oh={sm:{1:\"order-1\",2:\"order-2\",3:\"order-3\",4:\"order-4\",5:\"order-5\",6:\"order-6\",7:\"order-7\",8:\"order-8\",9:\"order-9\",10:\"order-10\",11:\"order-11\",12:\"order-12\",first:\"order-first\",last:\"order-last\",none:\"order-none\"},md:{1:\"md:order-1\",2:\"md:order-2\",3:\"md:order-3\",4:\"md:order-4\",5:\"md:order-5\",6:\"md:order-6\",7:\"md:order-7\",8:\"md:order-8\",9:\"md:order-9\",10:\"md:order-10\",11:\"md:order-11\",12:\"md:order-12\",first:\"md:order-first\",last:\"md:order-last\",none:\"md:order-none\"},lg:{1:\"lg:order-1\",2:\"lg:order-2\",3:\"lg:order-3\",4:\"lg:order-4\",5:\"lg:order-5\",6:\"lg:order-6\",7:\"lg:order-7\",8:\"lg:order-8\",9:\"lg:order-9\",10:\"lg:order-10\",11:\"lg:order-11\",12:\"lg:order-12\",first:\"lg:order-first\",last:\"lg:order-last\",none:\"lg:order-none\"}},Nh={sm:{0:\"grow-0\",1:\"grow\"},md:{0:\"md:grow-0\",1:\"md:grow\"},lg:{0:\"lg:grow-0\",1:\"lg:grow\"}},Th={sm:{0:\"shrink-0\",1:\"shrink\"},md:{0:\"md:shrink-0\",1:\"md:shrink\"},lg:{0:\"lg:shrink-0\",1:\"lg:shrink\"}};function Mh(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n3&&void 0!==arguments[3]?arguments[3]:\"sm\",f=[];switch(Rh(e)){case\"object\":for(var m=0,h=Object.entries(e);mspan:first-child]:shrink-0 px-1\"},Eo({title:g,theme:u}),Co({content:v,theme:u}))),React.createElement(\"div\",{className:\"flex items-center justify-start gap-4 [&_svg]:size-4\"},(null==E?void 0:E.label)&&\"function\"==typeof(null==E?void 0:E.onClick)&&React.createElement(\"div\",{className:\"flex h-5\"},ko({actionLabel:null==E?void 0:E.label,actionType:null!==(n=null==E?void 0:E.type)&&void 0!==n?n:\"button\",onAction:N,theme:u})),React.createElement(\"button\",{className:oe(\"bg-transparent m-0 border-none p-0.5 focus:outline-none active:outline-none cursor-pointer size-5\",null!==(r=O[u])&&void 0!==r?r:O.light),onClick:function(){return C()}},React.createElement(qo,null))))},Xh=(Kh=function(e){const t=new URLSearchParams;t.append(\"code\",e);for(let e=1;e{t.focus((()=>{const e=document.activeElement,n=t.getRootElement();null===n||null!==e&&n.contains(e)||n.focus({preventScroll:!0})}),{defaultSelection:e})}),[e,t]),null}const ep={},tp={},np={},rp={},op={},ip={},sp={},ap={},lp={},cp={},up={},dp={},fp={},mp={},hp={},pp={},gp={},yp={},vp={},bp={},xp={},wp={},Sp={},kp={},Ep={},Cp={},_p={},Pp={},Op={},Np={},Tp={},Mp={},Rp={},Dp={},jp={},Ap={},Ip={},Lp={},Fp={},zp={},Bp=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Wp=Bp&&\"documentMode\"in document?document.documentMode:null,Vp=Bp&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Up=Bp&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),$p=!(!Bp||!(\"InputEvent\"in window)||Wp)&&\"getTargetRanges\"in new window.InputEvent(\"input\"),Yp=Bp&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Hp=Bp&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,Kp=Bp&&/Android/.test(navigator.userAgent),qp=Bp&&/^(?=.*Chrome).*/i.test(navigator.userAgent),Gp=Bp&&Kp&&qp,Xp=Bp&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&!qp,Zp=1,Jp=3,Qp=0,eg=2,tg=0,ng=1,rg=2,og=4,ig=8,sg=3|og|ig|240,ag=1,lg=2,cg=3,ug=4,dg=5,fg=6,mg=Yp||Hp||Xp?\" \":\"​\",hg=\"\\n\\n\",pg=Up?\" \":mg,gg=\"֑-߿יִ-﷽ﹰ-ﻼ\",yg=\"A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿\",vg=new RegExp(\"^[^\"+yg+\"]*[\"+gg+\"]\"),bg=new RegExp(\"^[^\"+gg+\"]*[\"+yg+\"]\"),xg={bold:1,code:16,highlight:128,italic:2,strikethrough:og,subscript:32,superscript:64,underline:ig},wg={directionless:1,unmergeable:2},Sg={center:lg,end:fg,justify:ug,left:ag,right:cg,start:dg},kg={[lg]:\"center\",[fg]:\"end\",[ug]:\"justify\",[ag]:\"left\",[cg]:\"right\",[dg]:\"start\"},Eg={normal:0,segmented:2,token:1},Cg={[tg]:\"normal\",[rg]:\"segmented\",[ng]:\"token\"};var _g,Pg=(_g=function(e){const t=new URLSearchParams;t.append(\"code\",e);for(let e=1;eNg;try{wx(e,(()=>{const o=Hb()||function(e){return e.getEditorState().read((()=>{const e=Hb();return null!==e?e.clone():null}))}(e),i=new Map,s=e.getRootElement(),a=e._editorState,l=e._blockCursorElement;let c=!1,u=\"\";for(let n=0;n0){let t=0;for(let o=0;o0)for(const[t,n]of i)if(kx(n)){const r=n.getChildrenKeys();let o=t.firstChild;for(let n=0;n0){for(let t=0;t{Ig(e,t,n)}))}function zg(e,t){const n=e.__mode,r=e.__format,o=e.__style,i=t.__mode,s=t.__format,a=t.__style;return!(null!==n&&n!==i||null!==r&&r!==s||null!==o&&o!==a)}function Bg(e,t){const n=e.mergeWithSibling(t),r=ux()._normalizedNodes;return r.add(e.__key),r.add(t.__key),n}function Wg(e){let t,n,r=e;if(\"\"!==r.__text||!r.isSimpleText()||r.isUnmergeable()){for(;null!==(t=r.getPreviousSibling())&&kb(t)&&t.isSimpleText()&&!t.isUnmergeable();){if(\"\"!==t.__text){if(zg(t,r)){r=Bg(t,r);break}break}t.remove()}for(;null!==(n=r.getNextSibling())&&kb(n)&&n.isSimpleText()&&!n.isUnmergeable();){if(\"\"!==n.__text){if(zg(r,n)){r=Bg(r,n);break}break}n.remove()}}else r.remove()}function Vg(e){for(;\"element\"===e.type;){const t=e.getNode(),n=e.offset;let r,o;if(n===t.getChildrenSize()?(r=t.getChildAtIndex(n-1),o=!0):(r=t.getChildAtIndex(n),o=!1),kb(r)){e.set(r.__key,o?r.getTextContentSize():0,\"text\");break}if(!kx(r))break;e.set(r.__key,o?r.getChildrenSize():0,\"element\")}}let Ug=1;const $g=\"function\"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)};function Yg(e){const t=document.activeElement;if(null===t)return!1;const n=t.nodeName;return Px(sy(e))&&(\"INPUT\"===n||\"TEXTAREA\"===n||\"true\"===t.contentEditable&&null==Gg(t))}function Hg(e,t,n){const r=e.getRootElement();try{return null!==r&&r.contains(t)&&r.contains(n)&&null!==t&&!Yg(t)&&qg(t)===e}catch(e){return!1}}function Kg(e){return e instanceof Bx}function qg(e){let t=e;for(;null!=t;){const e=Gg(t);if(Kg(e))return e;t=Ay(t)}return null}function Gg(e){return e?e.__lexicalEditor:null}function Xg(e){return e.isToken()||e.isSegmented()}function Zg(e){return e.nodeType===Jp}function Jg(e){let t=e;for(;null!=t;){if(Zg(t))return t;t=t.firstChild}return null}function Qg(e,t,n){const r=xg[t];if(null!==n&&(e&r)==(n&r))return e;let o=e^r;return\"subscript\"===t?o&=~xg.superscript:\"superscript\"===t&&(o&=~xg.subscript),o}function ey(e){const t=e.getParent();if(null!==t){const n=e.getWritable(),r=t.getWritable(),o=e.getPreviousSibling(),i=e.getNextSibling();if(null===o)if(null!==i){const e=i.getWritable();r.__first=i.__key,e.__prev=null}else r.__first=null;else{const e=o.getWritable();if(null!==i){const t=i.getWritable();t.__prev=e.__key,e.__next=t.__key}else e.__next=null;n.__prev=null}if(null===i)if(null!==o){const e=o.getWritable();r.__last=o.__key,e.__next=null}else r.__last=null;else{const e=i.getWritable();if(null!==o){const t=o.getWritable();t.__next=e.__key,e.__prev=t.__key}else e.__prev=null;n.__next=null}r.__size--,n.__parent=null}}function ty(e){lx();const t=e.getLatest(),n=t.__parent,r=cx(),o=ux(),i=r._nodeMap,s=o._dirtyElements;null!==n&&function(e,t,n){let r=e;for(;null!==r;){if(n.has(r))return;const e=t.get(r);if(void 0===e)break;n.set(r,!1),r=e.__parent}}(n,i,s);const a=t.__key;o._dirtyType=1,kx(e)?s.set(a,!0):o._dirtyLeaves.add(a)}function ny(e){ax();const t=ux(),n=t._compositionKey;if(e!==n){if(t._compositionKey=e,null!==n){const e=oy(n);null!==e&&e.getWritable()}if(null!==e){const t=oy(e);null!==t&&t.getWritable()}}}function ry(){return sx()?null:ux()._compositionKey}function oy(e,t){const n=(t||cx())._nodeMap.get(e);return void 0===n?null:n}function iy(e,t){const n=e[`__lexicalKey_${ux()._key}`];return void 0!==n?oy(n,t):null}function sy(e,t){let n=e;for(;null!=n;){const e=iy(n,t);if(null!==e)return e;n=Ay(n)}return null}function ay(e){const t=e._decorators,n=Object.assign({},t);return e._pendingDecorators=n,n}function ly(e){return e.read((()=>cy().getTextContent()))}function cy(){return uy(cx())}function uy(e){return e._nodeMap.get(\"root\")}function dy(e){ax();const t=cx();null!==e&&(e.dirty=!0,e.setCachedNodes(null)),t._selection=e}function fy(e){const t=ux(),n=function(e,t){let n=e;for(;null!=n;){const e=n[`__lexicalKey_${t._key}`];if(void 0!==e)return e;n=Ay(n)}return null}(e,t);return null===n?e===t.getRootElement()?oy(\"root\"):null:oy(n)}function my(e,t){return t?e.getTextContentSize():0}function hy(e){return/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g.test(e)}function py(e){const t=[];let n=e;for(;null!==n;)t.push(n),n=n._parentEditor;return t}function gy(){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,5)}function yy(e){return e.nodeType===Jp?e.nodeValue:null}function vy(e,t,n){const r=Vy(t._window);if(null===r)return;const o=r.anchorNode;let{anchorOffset:i,focusOffset:s}=r;if(null!==o){let t=yy(o);const r=sy(o);if(null!==t&&kb(r)){if(t===mg&&n){const e=n.length;t=n,i=e,s=e}null!==t&&by(r,t,i,s,e)}}}function by(e,t,n,r,o){let i=e;if(i.isAttached()&&(o||!i.isDirty())){const s=i.isComposing();let a=t;(s||o)&&t[t.length-1]===mg&&(a=t.slice(0,-1));const l=i.getTextContent();if(o||a!==l){if(\"\"===a){if(ny(null),Yp||Hp||Xp)i.remove();else{const e=ux();setTimeout((()=>{e.update((()=>{i.isAttached()&&i.remove()}))}),20)}return}const t=i.getParent(),o=Kb(),l=i.getTextContentSize(),c=ry(),u=i.getKey();if(i.isToken()||null!==c&&u===c&&!s||Db(o)&&(null!==t&&!t.canInsertTextBefore()&&0===o.anchor.offset||o.anchor.key===e.__key&&0===o.anchor.offset&&!i.canInsertTextBefore()&&!s||o.focus.key===e.__key&&o.focus.offset===l&&!i.canInsertTextAfter()&&!s))return void i.markDirty();const d=Hb();if(!Db(d)||null===n||null===r)return void i.setTextContent(a);if(d.setTextNodeRange(i,n,i,r),i.isSegmented()){const e=Sb(i.getTextContent());i.replace(e),i=e}i.setTextContent(a)}}}function xy(e){return\"ArrowLeft\"===e}function wy(e){return\"ArrowRight\"===e}function Sy(e,t){return Vp?e:t}function ky(e){return\"Enter\"===e}function Ey(e){return\"Backspace\"===e}function Cy(e){return\"Delete\"===e}function _y(e,t,n){return\"a\"===e.toLowerCase()&&Sy(t,n)}function Py(e,t){void 0===e.__lexicalClassNameCache&&(e.__lexicalClassNameCache={});const n=e.__lexicalClassNameCache,r=n[t];if(void 0!==r)return r;const o=e[t];if(\"string\"==typeof o){const e=Og(o);return n[t]=e,e}return o}function Oy(e,t,n,r,o){if(0===n.size)return;const i=r.__type,s=r.__key,a=t.get(i);void 0===a&&Pg(33,i);const l=a.klass;let c=e.get(l);void 0===c&&(c=new Map,e.set(l,c));const u=c.get(s),d=\"destroyed\"===u&&\"created\"===o;(void 0===u||d)&&c.set(s,d?\"updated\":o)}function Ny(e,t,n){const r=e.getParent();let o=n,i=e;return null!==r&&(t&&0===n?(o=i.getIndexWithinParent(),i=r):t||n!==i.getChildrenSize()||(o=i.getIndexWithinParent()+1,i=r)),i.getChildAtIndex(t?o-1:o)}function Ty(e,t){const n=e.offset;if(\"element\"===e.type)return Ny(e.getNode(),t,n);{const r=e.getNode();if(t&&0===n||!t&&n===r.getTextContentSize()){const e=t?r.getPreviousSibling():r.getNextSibling();return null===e?Ny(r.getParentOrThrow(),t,r.getIndexWithinParent()+(t?0:1)):e}}return null}function My(e){const t=Ly(e).event,n=t&&t.inputType;return\"insertFromPaste\"===n||\"insertFromPasteAsQuotation\"===n}function Ry(e,t,n){return vx(e,t,n)}function Dy(e){return!Nx(e)&&!e.isLastChild()&&!e.isInline()}function jy(e,t){const n=e._keyToDOMMap.get(t);return void 0===n&&Pg(75,t),n}function Ay(e){const t=e.assignedSlot||e.parentElement;return null!==t&&11===t.nodeType?t.host:t}function Iy(e,t){let n=e.getParent();for(;null!==n;){if(n.is(t))return!0;n=n.getParent()}return!1}function Ly(e){const t=e._window;return null===t&&Pg(78),t}function Fy(e){return Nx(e)||kx(e)&&e.isShadowRoot()}function zy(e){const t=ux(),n=e.constructor.getType(),r=t._nodes.get(n);void 0===r&&Pg(97);const o=r.replace;if(null!==o){const t=o(e);return t instanceof e.constructor||Pg(98),t}return e}function By(e,t){!Nx(e.getParent())||kx(t)||Px(t)||Pg(99)}function Wy(e){return(Px(e)||kx(e)&&!e.canBeEmpty())&&!e.isInline()}function _n(e,t,n){n.style.removeProperty(\"caret-color\"),t._blockCursorElement=null;const r=e.parentElement;null!==r&&r.removeChild(e)}function Vy(e){return Bp?(e||window).getSelection():null}function Uy(e){return 1===e.nodeType}function $y(e){const t=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var|#text)$/,\"i\");return null!==e.nodeName.match(t)}function Yy(e){const t=new RegExp(/^(address|article|aside|blockquote|canvas|dd|div|dl|dt|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hr|li|main|nav|noscript|ol|p|pre|section|table|td|tfoot|ul|video)$/,\"i\");return null!==e.nodeName.match(t)}function Hy(e){if(Nx(e)||Px(e)&&!e.isInline())return!0;if(!kx(e)||Fy(e))return!1;const t=e.getFirstChild(),n=null===t||ib(t)||kb(t)||t.isInline();return!e.isInline()&&!1!==e.canBeEmpty()&&n}function Ky(e,t){let n=e;for(;null!==n&&null!==n.getParent()&&!t(n);)n=n.getParentOrThrow();return t(n)?n:null}const qy=new WeakMap,Gy=new Map;function Xy(e){const t=e.constructor.clone(e);return t.afterCloneFrom(e),t}function Zy(e,t,n,r,o,i){let s=e.getFirstChild();for(;null!==s;){const e=s.__key;s.__parent===t&&(kx(s)&&Zy(s,e,n,r,o,i),n.has(e)||i.delete(e),o.push(e)),s=s.getNextSibling()}}let Jy,Qy,ev,tv,nv,rv,ov,iv,sv,av,lv=\"\",cv=\"\",uv=null,dv=\"\",fv=\"\",mv=!1,hv=!1,pv=null;function gv(e,t){const n=ov.get(e);if(null!==t){const n=Mv(e);n.parentNode===t&&t.removeChild(n)}if(iv.has(e)||Qy._keyToDOMMap.delete(e),kx(n)){const e=Pv(n,ov);yv(e,0,e.length-1,null)}void 0!==n&&Oy(av,ev,tv,n,\"destroyed\")}function yv(e,t,n,r){let o=t;for(;o<=n;++o){const t=e[o];void 0!==t&&gv(t,r)}}function vv(e,t){e.setProperty(\"text-align\",t)}const bv=\"40px\";function xv(e,t){const n=Jy.theme.indent;if(\"string\"==typeof n){const r=e.classList.contains(n);t>0&&!r?e.classList.add(n):t<1&&r&&e.classList.remove(n)}const r=getComputedStyle(e).getPropertyValue(\"--lexical-indent-base-value\")||bv;e.style.setProperty(\"padding-inline-start\",0===t?\"\":`calc(${t} * ${r})`)}function wv(e,t){const n=e.style;0===t?vv(n,\"\"):t===ag?vv(n,\"left\"):t===lg?vv(n,\"center\"):t===cg?vv(n,\"right\"):t===ug?vv(n,\"justify\"):t===dg?vv(n,\"start\"):t===fg&&vv(n,\"end\")}function Sv(e,t,n){const r=iv.get(e);void 0===r&&Pg(60);const o=r.createDOM(Jy,Qy);if(function(e,t,n){const r=n._keyToDOMMap;t[\"__lexicalKey_\"+n._key]=e,r.set(e,t)}(e,o,Qy),kb(r)?o.setAttribute(\"data-lexical-text\",\"true\"):Px(r)&&o.setAttribute(\"data-lexical-decorator\",\"true\"),kx(r)){const e=r.__indent,t=r.__size;if(0!==e&&xv(o,e),0!==t){const e=t-1;!function(e,t,n,r){const o=cv;cv=\"\",kv(e,n,0,t,r,null),_v(n,r),cv=o}(Pv(r,iv),e,r,o)}const n=r.__format;0!==n&&wv(o,n),r.isInline()||Cv(null,r,o),Dy(r)&&(lv+=hg,fv+=hg)}else{const t=r.getTextContent();if(Px(r)){const t=r.decorate(Qy,Jy);null!==t&&Nv(e,t),o.contentEditable=\"false\"}else kb(r)&&(r.isDirectionless()||(cv+=t));lv+=t,fv+=t}if(null!==t)if(null!=n)t.insertBefore(o,n);else{const e=t.__lexicalLineBreak;null!=e?t.insertBefore(o,e):t.appendChild(o)}return Oy(av,ev,tv,r,\"created\"),o}function kv(e,t,n,r,o,i){const s=lv;lv=\"\";let a=n;for(;a<=r;++a){Sv(e[a],o,i);const t=iv.get(e[a]);null!==t&&kb(t)&&(null===uv&&(uv=t.getFormat()),\"\"===dv&&(dv=t.getStyle()))}Dy(t)&&(lv+=hg),o.__lexicalTextContent=lv,lv=s+lv}function Ev(e,t){const n=t.get(e);return ib(n)||Px(n)&&n.isInline()}function Cv(e,t,n){const r=null!==e&&(0===e.__size||Ev(e.__last,ov)),o=0===t.__size||Ev(t.__last,iv);if(r){if(!o){const e=n.__lexicalLineBreak;if(null!=e)try{n.removeChild(e)}catch(t){if(\"object\"==typeof t&&null!=t){const r=`${t.toString()} Parent: ${n.tagName}, child: ${e.tagName}.`;throw new Error(r)}throw t}n.__lexicalLineBreak=null}}else if(o){const e=document.createElement(\"br\");n.__lexicalLineBreak=e,n.appendChild(e)}}function _v(e,t){const n=t.__lexicalDirTextContent,r=t.__lexicalDir;if(n!==cv||r!==pv){const n=\"\"===cv,i=n?pv:(o=cv,vg.test(o)?\"rtl\":bg.test(o)?\"ltr\":null);if(i!==r){const o=t.classList,s=Jy.theme;let a=null!==r?s[r]:void 0,l=null!==i?s[i]:void 0;if(void 0!==a){if(\"string\"==typeof a){const e=Og(a);a=s[r]=e}o.remove(...a)}if(null===i||n&&\"ltr\"===i)t.removeAttribute(\"dir\");else{if(void 0!==l){if(\"string\"==typeof l){const e=Og(l);l=s[i]=e}void 0!==l&&o.add(...l)}t.dir=i}hv||(e.getWritable().__dir=i)}pv=i,t.__lexicalDirTextContent=cv,t.__lexicalDir=i}var o}function Pv(e,t){const n=[];let r=e.__first;for(;null!==r;){const e=t.get(r);void 0===e&&Pg(101),n.push(r),r=e.__next}return n}function Ov(e,t){const n=ov.get(e);let r=iv.get(e);void 0!==n&&void 0!==r||Pg(61);const o=mv||rv.has(e)||nv.has(e),i=jy(Qy,e);if(n===r&&!o){if(kx(n)){const e=i.__lexicalTextContent;void 0!==e&&(lv+=e,fv+=e);const t=i.__lexicalDirTextContent;void 0!==t&&(cv+=t)}else{const e=n.getTextContent();kb(n)&&!n.isDirectionless()&&(cv+=e),fv+=e,lv+=e}return i}if(n!==r&&o&&Oy(av,ev,tv,r,\"updated\"),r.updateDOM(n,i,Jy)){const n=Sv(e,null,null);return null===t&&Pg(62),t.replaceChild(n,i),gv(e,null),n}if(kx(n)&&kx(r)){const e=r.__indent;e!==n.__indent&&xv(i,e);const t=r.__format;t!==n.__format&&wv(i,t),o&&(function(e,t,n){const r=cv;var o;cv=\"\",uv=null,dv=\"\",function(e,t,n){const r=lv,o=e.__size,i=t.__size;if(lv=\"\",1===o&&1===i){const r=e.__first,o=t.__first;if(r===o)Ov(r,n);else{const e=Mv(r),t=Sv(o,null,null);try{n.replaceChild(t,e)}catch(i){if(\"object\"==typeof i&&null!=i){const s=`${i.toString()} Parent: ${n.tagName}, new child: {tag: ${t.tagName} key: ${o}}, old child: {tag: ${e.tagName}, key: ${r}}.`;throw new Error(s)}throw i}gv(r,null)}const s=iv.get(o);kb(s)&&(null===uv&&(uv=s.getFormat()),\"\"===dv&&(dv=s.getStyle()))}else{const r=Pv(e,ov),s=Pv(t,iv);if(0===o)0!==i&&kv(s,t,0,i-1,n,null);else if(0===i){if(0!==o){const e=null==n.__lexicalLineBreak;yv(r,0,o-1,e?null:n),e&&(n.textContent=\"\")}}else!function(e,t,n,r,o,i){const s=r-1,a=o-1;let l,c,u=i.firstChild,d=0,f=0;for(;d<=s&&f<=a;){const e=t[d],r=n[f];if(e===r)u=Tv(Ov(r,i)),d++,f++;else{void 0===l&&(l=new Set(t)),void 0===c&&(c=new Set(n));const o=c.has(e),s=l.has(r);if(o)if(s){const e=jy(Qy,r);e===u?u=Tv(Ov(r,i)):(null!=u?i.insertBefore(e,u):i.appendChild(e),Ov(r,i)),d++,f++}else Sv(r,i,u),f++;else u=Tv(Mv(e)),gv(e,i),d++}const o=iv.get(r);null!==o&&kb(o)&&(null===uv&&(uv=o.getFormat()),\"\"===dv&&(dv=o.getStyle()))}const m=d>s,h=f>a;if(m&&!h){const t=n[a+1];kv(n,e,f,a,i,void 0===t?null:Qy.getElementByKey(t))}else h&&!m&&yv(t,d,s,i)}(t,r,s,o,i,n)}Dy(t)&&(lv+=hg),n.__lexicalTextContent=lv,lv=r+lv}(e,t,n),_v(t,n),Lx(o=t)&&null!=uv&&uv!==o.__textFormat&&!hv&&(o.setTextFormat(uv),o.setTextStyle(dv)),function(e){Lx(e)&&\"\"!==dv&&dv!==e.__textStyle&&!hv&&e.setTextStyle(dv)}(t),cv=r}(n,r,i),Nx(r)||r.isInline()||Cv(n,r,i)),Dy(r)&&(lv+=hg,fv+=hg)}else{const t=r.getTextContent();if(Px(r)){const t=r.decorate(Qy,Jy);null!==t&&Nv(e,t)}else kb(r)&&!r.isDirectionless()&&(cv+=t);lv+=t,fv+=t}if(!hv&&Nx(r)&&r.__cachedText!==fv){const e=r.getWritable();e.__cachedText=fv,r=e}return i}function Nv(e,t){let n=Qy._pendingDecorators;const r=Qy._decorators;if(null===n){if(r[e]===t)return;n=ay(Qy)}n[e]=t}function Tv(e){let t=e.nextSibling;return null!==t&&t===Qy._blockCursorElement&&(t=t.nextSibling),t}function Mv(e){const t=sv.get(e);return void 0===t&&Pg(75,e),t}const Rv=Object.freeze({}),Dv=[[\"keydown\",function(e,t){if(jv=e.timeStamp,Av=e.key,t.isComposing())return;const{key:n,shiftKey:r,ctrlKey:o,metaKey:i,altKey:s}=e;Ry(t,mp,e)||null!=n&&(function(e,t,n,r){return wy(e)&&!t&&!r&&!n}(n,o,s,i)?Ry(t,hp,e):function(e,t,n,r,o){return wy(e)&&!r&&!n&&(t||o)}(n,o,r,s,i)?Ry(t,pp,e):function(e,t,n,r){return xy(e)&&!t&&!r&&!n}(n,o,s,i)?Ry(t,gp,e):function(e,t,n,r,o){return xy(e)&&!r&&!n&&(t||o)}(n,o,r,s,i)?Ry(t,yp,e):function(e,t,n){return function(e){return\"ArrowUp\"===e}(e)&&!t&&!n}(n,o,i)?Ry(t,vp,e):function(e,t,n){return function(e){return\"ArrowDown\"===e}(e)&&!t&&!n}(n,o,i)?Ry(t,bp,e):function(e,t){return ky(e)&&t}(n,r)?(Wv=!0,Ry(t,xp,e)):function(e){return\" \"===e}(n)?Ry(t,wp,e):function(e,t){return Vp&&t&&\"o\"===e.toLowerCase()}(n,o)?(e.preventDefault(),Wv=!0,Ry(t,rp,!0)):function(e,t){return ky(e)&&!t}(n,r)?(Wv=!1,Ry(t,xp,e)):function(e,t,n,r){return Vp?!t&&!n&&(Ey(e)||\"h\"===e.toLowerCase()&&r):!(r||t||n)&&Ey(e)}(n,s,i,o)?Ey(n)?Ry(t,Sp,e):(e.preventDefault(),Ry(t,np,!0)):function(e){return\"Escape\"===e}(n)?Ry(t,kp,e):function(e,t,n,r,o){return Vp?!(n||r||o)&&(Cy(e)||\"d\"===e.toLowerCase()&&t):!(t||r||o)&&Cy(e)}(n,o,r,s,i)?Cy(n)?Ry(t,Ep,e):(e.preventDefault(),Ry(t,np,!1)):function(e,t,n){return Ey(e)&&(Vp?t:n)}(n,s,o)?(e.preventDefault(),Ry(t,lp,!0)):function(e,t,n){return Cy(e)&&(Vp?t:n)}(n,s,o)?(e.preventDefault(),Ry(t,lp,!1)):function(e,t){return Vp&&t&&Ey(e)}(n,i)?(e.preventDefault(),Ry(t,cp,!0)):function(e,t){return Vp&&t&&Cy(e)}(n,i)?(e.preventDefault(),Ry(t,cp,!1)):function(e,t,n,r){return\"b\"===e.toLowerCase()&&!t&&Sy(n,r)}(n,s,i,o)?(e.preventDefault(),Ry(t,up,\"bold\")):function(e,t,n,r){return\"u\"===e.toLowerCase()&&!t&&Sy(n,r)}(n,s,i,o)?(e.preventDefault(),Ry(t,up,\"underline\")):function(e,t,n,r){return\"i\"===e.toLowerCase()&&!t&&Sy(n,r)}(n,s,i,o)?(e.preventDefault(),Ry(t,up,\"italic\")):function(e,t,n,r){return\"Tab\"===e&&!t&&!n&&!r}(n,s,o,i)?Ry(t,Cp,e):function(e,t,n,r){return\"z\"===e.toLowerCase()&&!t&&Sy(n,r)}(n,r,i,o)?(e.preventDefault(),Ry(t,dp,void 0)):function(e,t,n,r){return Vp?\"z\"===e.toLowerCase()&&n&&t:\"y\"===e.toLowerCase()&&r||\"z\"===e.toLowerCase()&&r&&t}(n,r,i,o)?(e.preventDefault(),Ry(t,fp,void 0)):Ab(t._editorState._selection)?function(e,t,n,r){return!t&&\"c\"===e.toLowerCase()&&(Vp?n:r)}(n,r,i,o)?(e.preventDefault(),Ry(t,Tp,e)):function(e,t,n,r){return!t&&\"x\"===e.toLowerCase()&&(Vp?n:r)}(n,r,i,o)?(e.preventDefault(),Ry(t,Mp,e)):_y(n,i,o)&&(e.preventDefault(),Ry(t,Rp,e)):!Up&&_y(n,i,o)&&(e.preventDefault(),Ry(t,Rp,e)),function(e,t,n,r){return e||t||n||r}(o,r,s,i)&&Ry(t,zp,e))}],[\"pointerdown\",function(e,t){const n=e.target,r=e.pointerType;n instanceof Node&&\"touch\"!==r&&wx(t,(()=>{Px(sy(n))||(Bv=!0)}))}],[\"compositionstart\",function(e,t){wx(t,(()=>{const n=Hb();if(Db(n)&&!t.isComposing()){const r=n.anchor,o=n.anchor.getNode();ny(r.key),(e.timeStamp{qv(t,e.data)}))}],[\"input\",function(e,t){e.stopPropagation(),wx(t,(()=>{const n=Hb(),r=e.data,o=Kv(e);if(null!=r&&Db(n)&&$v(n,o,r,e.timeStamp,!1)){Vv&&(qv(t,r),Vv=!1);const o=n.anchor.getNode(),i=Vy(t._window);if(null===i)return;const s=n.isBackward(),a=s?n.anchor.offset:n.focus.offset,l=s?n.focus.offset:n.anchor.offset;$p&&!n.isCollapsed()&&kb(o)&&null!==i.anchorNode&&o.getTextContent().slice(0,a)+r+o.getTextContent().slice(a+l)===yy(i.anchorNode)||Ry(t,ip,r);const c=r.length;Up&&c>1&&\"insertCompositionText\"===e.inputType&&!t.isComposing()&&(n.anchor.offset-=c),Yp||Hp||Xp||!t.isComposing()||(jv=0,ny(null))}else vy(!1,t,null!==r?r:void 0),Vv&&(qv(t,r||void 0),Vv=!1);ax(),Lg(ux())})),Lv=null}],[\"click\",function(e,t){wx(t,(()=>{const n=Hb(),r=Vy(t._window),o=Kb();if(r)if(Db(n)){const t=n.anchor,i=t.getNode();\"element\"===t.type&&0===t.offset&&n.isCollapsed()&&!Nx(i)&&1===cy().getChildrenSize()&&i.getTopLevelElementOrThrow().isEmpty()&&null!==o&&n.is(o)?(r.removeAllRanges(),n.dirty=!0):3!==e.detail||n.isCollapsed()||i!==n.focus.getNode()&&(kx(i)?i.select(0):i.getParentOrThrow().select(0))}else if(\"touch\"===e.pointerType){const n=r.anchorNode;if(null!==n){const i=n.nodeType;i!==Zp&&i!==Jp||dy(Yb(o,r,t,e))}}Ry(t,tp,e)}))}],[\"cut\",Rv],[\"copy\",Rv],[\"dragstart\",Rv],[\"dragover\",Rv],[\"dragend\",Rv],[\"paste\",Rv],[\"focus\",Rv],[\"blur\",Rv],[\"drop\",Rv]];$p&&Dv.push([\"beforeinput\",(e,t)=>function(e,t){const n=e.inputType,r=Kv(e);\"deleteCompositionText\"===n||Up&&My(t)||\"insertCompositionText\"!==n&&wx(t,(()=>{const o=Hb();if(\"deleteContentBackward\"===n){if(null===o){const e=Kb();if(!Db(e))return;dy(e.clone())}if(Db(o)){const n=o.anchor.key===o.focus.key;if(i=e.timeStamp,\"MediaLast\"===Av&&i{wx(t,(()=>{ny(null)}))}),30),Db(o)){const e=o.anchor.getNode();e.markDirty(),o.format=e.getFormat(),kb(e)||Pg(142),o.style=e.getStyle()}}else{ny(null),e.preventDefault();const r=o.anchor.getNode().getTextContent(),i=0===o.anchor.offset&&o.focus.offset===r.length;Gp&&n&&!i||Ry(t,np,!0)}return}}var i;if(!Db(o))return;const s=e.data;null!==Lv&&vy(!1,t,Lv),o.dirty&&null===Lv||!o.isCollapsed()||Nx(o.anchor.getNode())||null===r||o.applyDOMRange(r),Lv=null;const a=o.anchor,l=o.focus,c=a.getNode(),u=l.getNode();if(\"insertText\"!==n&&\"insertTranspose\"!==n)switch(e.preventDefault(),n){case\"insertFromYank\":case\"insertFromDrop\":case\"insertReplacementText\":Ry(t,ip,e);break;case\"insertFromComposition\":ny(null),Ry(t,ip,e);break;case\"insertLineBreak\":ny(null),Ry(t,rp,!1);break;case\"insertParagraph\":ny(null),Wv&&!Hp?(Wv=!1,Ry(t,rp,!1)):Ry(t,op,void 0);break;case\"insertFromPaste\":case\"insertFromPasteAsQuotation\":Ry(t,sp,e);break;case\"deleteByComposition\":(function(e,t){return e!==t||kx(e)||kx(t)||!e.isToken()||!t.isToken()})(c,u)&&Ry(t,ap,e);break;case\"deleteByDrag\":case\"deleteByCut\":Ry(t,ap,e);break;case\"deleteContent\":Ry(t,np,!1);break;case\"deleteWordBackward\":Ry(t,lp,!0);break;case\"deleteWordForward\":Ry(t,lp,!1);break;case\"deleteHardLineBackward\":case\"deleteSoftLineBackward\":Ry(t,cp,!0);break;case\"deleteContentForward\":case\"deleteHardLineForward\":case\"deleteSoftLineForward\":Ry(t,cp,!1);break;case\"formatStrikeThrough\":Ry(t,up,\"strikethrough\");break;case\"formatBold\":Ry(t,up,\"bold\");break;case\"formatItalic\":Ry(t,up,\"italic\");break;case\"formatUnderline\":Ry(t,up,\"underline\");break;case\"historyUndo\":Ry(t,dp,void 0);break;case\"historyRedo\":Ry(t,fp,void 0)}else{if(\"\\n\"===s)e.preventDefault(),Ry(t,rp,!1);else if(s===hg)e.preventDefault(),Ry(t,op,void 0);else if(null==s&&e.dataTransfer){const t=e.dataTransfer.getData(\"text/plain\");e.preventDefault(),o.insertRawText(t)}else null!=s&&$v(o,r,s,e.timeStamp,!0)?(e.preventDefault(),Ry(t,ip,s)):Lv=s;Iv=e.timeStamp}}))}(e,t)]);let jv=0,Av=null,Iv=0,Lv=null;const Fv=new WeakMap;let zv=!1,Bv=!1,Wv=!1,Vv=!1,Uv=[0,\"\",0,\"root\",0];function $v(e,t,n,r,o){const i=e.anchor,s=e.focus,a=i.getNode(),l=ux(),c=Vy(l._window),u=null!==c?c.anchorNode:null,d=i.key,f=l.getElementByKey(d),m=n.length;return d!==s.key||!kb(a)||(!o&&(!$p||Iv1||(o||!$p)&&null!==f&&!a.isComposing()&&u!==Jg(f)||null!==c&&null!==t&&(!t.collapsed||t.startContainer!==c.anchorNode||t.startOffset!==c.anchorOffset)||a.getFormat()!==e.format||a.getStyle()!==e.style||function(e,t){if(t.isSegmented())return!0;if(!e.isCollapsed())return!1;const n=e.anchor.offset,r=t.getParentOrThrow(),o=t.isToken();return 0===n?!t.canInsertTextBefore()||!r.canInsertTextBefore()&&!t.isComposing()||o||function(e){const t=e.getPreviousSibling();return(kb(t)||kx(t)&&t.isInline())&&!t.canInsertTextAfter()}(t):n===t.getTextContentSize()&&(!t.canInsertTextAfter()||!r.canInsertTextAfter()&&!t.isComposing()||o)}(e,a)}function Yv(e,t){return null!==e&&null!==e.nodeValue&&e.nodeType===Jp&&0!==t&&t!==e.nodeValue.length}function Hv(e,t,n){const{anchorNode:r,anchorOffset:o,focusNode:i,focusOffset:s}=e;zv&&(zv=!1,Yv(r,o)&&Yv(i,s))||wx(t,(()=>{if(!n)return void dy(null);if(!Hg(t,r,i))return;const a=Hb();if(Db(a)){const n=a.anchor,r=n.getNode();if(a.isCollapsed()){\"Range\"===e.type&&e.anchorNode===e.focusNode&&(a.dirty=!0);const o=Ly(t).event,i=o?o.timeStamp:performance.now(),[s,l,c,u,d]=Uv,f=cy(),m=!1===t.isComposing()&&\"\"===f.getTextContent();if(i{const t=Kb(),o=n.anchorNode;if(null===o)return;const i=o.nodeType;i!==Zp&&i!==Jp||dy(Yb(t,n,r,e))})));const o=py(r),i=o[o.length-1],s=i._key,a=Xv.get(s),l=a||i;l!==r&&Hv(n,l,!1),Hv(n,r,!0),r!==i?Xv.set(s,r):a&&Xv.delete(s)}function Jv(e){e._lexicalHandled=!0}function Qv(e){return!0===e._lexicalHandled}function eb(e,t,n){ax();const r=e.__key,o=e.getParent();if(null===o)return;const i=function(e){const t=Hb();if(!Db(t)||!kx(e))return t;const{anchor:n,focus:r}=t,o=n.getNode(),i=r.getNode();return Iy(o,e)&&n.set(e.__key,0,\"element\"),Iy(i,e)&&r.set(e.__key,0,\"element\"),t}(e);let s=!1;if(Db(i)&&t){const t=i.anchor,n=i.focus;t.key===r&&(Xb(t,e,o,e.getPreviousSibling(),e.getNextSibling()),s=!0),n.key===r&&(Xb(n,e,o,e.getPreviousSibling(),e.getNextSibling()),s=!0)}else Ab(i)&&t&&e.isSelected()&&e.selectPrevious();if(Db(i)&&t&&!s){const t=e.getIndexWithinParent();ey(e),qb(i,o,t,-1)}else ey(e);n||Fy(o)||o.canBeEmpty()||!o.isEmpty()||eb(o,t),t&&Nx(o)&&o.isEmpty()&&o.selectEnd()}class tb{static getType(){Pg(64,this.name)}static clone(e){Pg(65,this.name)}afterCloneFrom(e){this.__parent=e.__parent,this.__next=e.__next,this.__prev=e.__prev}constructor(e){this.__type=this.constructor.getType(),this.__parent=null,this.__prev=null,this.__next=null,function(e,t){if(null!=t)return void(e.__key=t);ax(),lx();const n=ux(),r=cx(),o=\"\"+Ug++;r._nodeMap.set(o,e),kx(e)?n._dirtyElements.set(o,!0):n._dirtyLeaves.add(o),n._cloneNotNeeded.add(o),n._dirtyType=1,e.__key=o}(this,e)}getType(){return this.__type}isInline(){Pg(137,this.constructor.name)}isAttached(){let e=this.__key;for(;null!==e;){if(\"root\"===e)return!0;const t=oy(e);if(null===t)break;e=t.__parent}return!1}isSelected(e){const t=e||Hb();if(null==t)return!1;const n=t.getNodes().some((e=>e.__key===this.__key));if(kb(this))return n;if(Db(t)&&\"element\"===t.anchor.type&&\"element\"===t.focus.type){if(t.isCollapsed())return!1;const e=this.getParent();if(Px(this)&&this.isInline()&&e){const n=t.isBackward()?t.focus:t.anchor,r=n.getNode();if(n.offset===r.getChildrenSize()&&r.is(e)&&r.getLastChildOrThrow().is(this))return!1}}return n}getKey(){return this.__key}getIndexWithinParent(){const e=this.getParent();if(null===e)return-1;let t=e.getFirstChild(),n=0;for(;null!==t;){if(this.is(t))return n;n++,t=t.getNextSibling()}return-1}getParent(){const e=this.getLatest().__parent;return null===e?null:oy(e)}getParentOrThrow(){const e=this.getParent();return null===e&&Pg(66,this.__key),e}getTopLevelElement(){let e=this;for(;null!==e;){const t=e.getParent();if(Fy(t))return kx(e)||e===this&&Px(e)||Pg(194),e;e=t}return null}getTopLevelElementOrThrow(){const e=this.getTopLevelElement();return null===e&&Pg(67,this.__key),e}getParents(){const e=[];let t=this.getParent();for(;null!==t;)e.push(t),t=t.getParent();return e}getParentKeys(){const e=[];let t=this.getParent();for(;null!==t;)e.push(t.__key),t=t.getParent();return e}getPreviousSibling(){const e=this.getLatest().__prev;return null===e?null:oy(e)}getPreviousSiblings(){const e=[],t=this.getParent();if(null===t)return e;let n=t.getFirstChild();for(;null!==n&&!n.is(this);)e.push(n),n=n.getNextSibling();return e}getNextSibling(){const e=this.getLatest().__next;return null===e?null:oy(e)}getNextSiblings(){const e=[];let t=this.getNextSibling();for(;null!==t;)e.push(t),t=t.getNextSibling();return e}getCommonAncestor(e){const t=this.getParents(),n=e.getParents();kx(this)&&t.unshift(this),kx(e)&&n.unshift(e);const r=t.length,o=n.length;if(0===r||0===o||t[r-1]!==n[o-1])return null;const i=new Set(n);for(let e=0;e{s.append(e)}))),Db(n)){dy(n);const e=n.anchor,t=n.focus;e.key===o&&Tb(e,s),t.key===o&&Tb(t,s)}return ry()===o&&ny(i),s}insertAfter(e,t=!0){ax(),By(this,e);const n=this.getWritable(),r=e.getWritable(),o=r.getParent(),i=Hb();let s=!1,a=!1;if(null!==o){const t=e.getIndexWithinParent();if(ey(r),Db(i)){const e=o.__key,n=i.anchor,r=i.focus;s=\"element\"===n.type&&n.key===e&&n.offset===t+1,a=\"element\"===r.type&&r.key===e&&r.offset===t+1}}const l=this.getNextSibling(),c=this.getParentOrThrow().getWritable(),u=r.__key,d=n.__next;if(null===l?c.__last=u:l.getWritable().__prev=u,c.__size++,n.__next=u,r.__next=d,r.__prev=n.__key,r.__parent=n.__parent,t&&Db(i)){const e=this.getIndexWithinParent();qb(i,c,e+1);const t=c.__key;s&&i.anchor.set(t,e+2,\"element\"),a&&i.focus.set(t,e+2,\"element\")}return e}insertBefore(e,t=!0){ax(),By(this,e);const n=this.getWritable(),r=e.getWritable(),o=r.__key;ey(r);const i=this.getPreviousSibling(),s=this.getParentOrThrow().getWritable(),a=n.__prev,l=this.getIndexWithinParent();null===i?s.__first=o:i.getWritable().__next=o,s.__size++,n.__prev=o,r.__prev=a,r.__next=n.__key,r.__parent=n.__parent;const c=Hb();return t&&Db(c)&&qb(c,this.getParentOrThrow(),l),e}isParentRequired(){return!1}createParentElementNode(){return Ix()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(e,t){ax();const n=this.getPreviousSibling(),r=this.getParentOrThrow();if(null===n)return r.select(0,0);if(kx(n))return n.select();if(!kb(n)){const e=n.getIndexWithinParent()+1;return r.select(e,e)}return n.select(e,t)}selectNext(e,t){ax();const n=this.getNextSibling(),r=this.getParentOrThrow();if(null===n)return r.select();if(kx(n))return n.select(0,0);if(!kb(n)){const e=n.getIndexWithinParent();return r.select(e,e)}return n.select(e,t)}markDirty(){this.getWritable()}}class nb extends tb{static getType(){return\"linebreak\"}static clone(e){return new nb(e.__key)}constructor(e){super(e)}getTextContent(){return\"\\n\"}createDOM(){return document.createElement(\"br\")}updateDOM(){return!1}static importDOM(){return{br:e=>function(e){const t=e.parentElement;if(null!==t&&Yy(t)){const n=t.firstChild;if(n===e||n.nextSibling===e&&sb(n)){const n=t.lastChild;if(n===e||n.previousSibling===e&&sb(n))return!0}}return!1}(e)||function(e){const t=e.parentElement;if(null!==t&&Yy(t)){const n=t.firstChild;if(n===e||n.nextSibling===e&&sb(n))return!1;const r=t.lastChild;if(r===e||r.previousSibling===e&&sb(r))return!0}return!1}(e)?null:{conversion:rb,priority:0}}}static importJSON(e){return ob()}exportJSON(){return{type:\"linebreak\",version:1}}}function rb(e){return{node:ob()}}function ob(){return zy(new nb)}function ib(e){return e instanceof nb}function sb(e){return e.nodeType===Jp&&/^( |\\t|\\r?\\n)+$/.test(e.textContent||\"\")}function ab(e,t){return 16&t?\"code\":128&t?\"mark\":32&t?\"sub\":64&t?\"sup\":null}function lb(e,t){return 1&t?\"strong\":2&t?\"em\":\"span\"}function cb(e,t,n,r,o){const i=r.classList;let s=Py(o,\"base\");void 0!==s&&i.add(...s),s=Py(o,\"underlineStrikethrough\");let a=!1;const l=t&ig&&t&og;void 0!==s&&(n&ig&&n&og?(a=!0,l||i.add(...s)):l&&i.remove(...s));for(const e in xg){const r=xg[e];if(s=Py(o,e),void 0!==s)if(n&r){if(a&&(\"underline\"===e||\"strikethrough\"===e)){t&r&&i.remove(...s);continue}t&r&&(!l||\"underline\"!==e)&&\"strikethrough\"!==e||i.add(...s)}else t&r&&i.remove(...s)}}function ub(e,t,n){const r=t.firstChild,o=n.isComposing(),i=e+(o?mg:\"\");if(null==r)t.textContent=i;else{const e=r.nodeValue;if(e!==i)if(o||Up){const[t,n,o]=function(e,t){const n=e.length,r=t.length;let o=0,i=0;for(;o({conversion:vb,priority:0}),b:()=>({conversion:pb,priority:0}),code:()=>({conversion:wb,priority:0}),em:()=>({conversion:wb,priority:0}),i:()=>({conversion:wb,priority:0}),s:()=>({conversion:wb,priority:0}),span:()=>({conversion:hb,priority:0}),strong:()=>({conversion:wb,priority:0}),sub:()=>({conversion:wb,priority:0}),sup:()=>({conversion:wb,priority:0}),u:()=>({conversion:wb,priority:0})}}static importJSON(e){const t=Sb(e.text);return t.setFormat(e.format),t.setDetail(e.detail),t.setMode(e.mode),t.setStyle(e.style),t}exportDOM(e){let{element:t}=super.exportDOM(e);return null!==t&&Uy(t)||Pg(132),t.style.whiteSpace=\"pre-wrap\",this.hasFormat(\"bold\")&&(t=fb(t,\"b\")),this.hasFormat(\"italic\")&&(t=fb(t,\"i\")),this.hasFormat(\"strikethrough\")&&(t=fb(t,\"s\")),this.hasFormat(\"underline\")&&(t=fb(t,\"u\")),{element:t}}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:\"text\",version:1}}selectionTransform(e,t){}setFormat(e){const t=this.getWritable();return t.__format=\"string\"==typeof e?xg[e]:e,t}setDetail(e){const t=this.getWritable();return t.__detail=\"string\"==typeof e?wg[e]:e,t}setStyle(e){const t=this.getWritable();return t.__style=e,t}toggleFormat(e){const t=Qg(this.getFormat(),e,null);return this.setFormat(t)}toggleDirectionless(){const e=this.getWritable();return e.__detail^=1,e}toggleUnmergeable(){const e=this.getWritable();return e.__detail^=2,e}setMode(e){const t=Eg[e];if(this.__mode===t)return this;const n=this.getWritable();return n.__mode=t,n}setTextContent(e){if(this.__text===e)return this;const t=this.getWritable();return t.__text=e,t}select(e,t){ax();let n=e,r=t;const o=Hb(),i=this.getTextContent(),s=this.__key;if(\"string\"==typeof i){const e=i.length;void 0===n&&(n=e),void 0===r&&(r=e)}else n=0,r=0;if(!Db(o))return Ub(s,n,s,r,\"text\",\"text\");{const e=ry();e!==o.anchor.key&&e!==o.focus.key||ny(s),o.setTextNodeRange(this,n,this,r)}return o}selectStart(){return this.select(0,0)}selectEnd(){const e=this.getTextContentSize();return this.select(e,e)}spliceText(e,t,n,r){const o=this.getWritable(),i=o.__text,s=n.length;let a=e;a<0&&(a=s+a,a<0&&(a=0));const l=Hb();if(r&&Db(l)){const t=e+s;l.setTextNodeRange(o,t,o,t)}const c=i.slice(0,a)+n+i.slice(a+t);return o.__text=c,o}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...e){ax();const t=this.getLatest(),n=t.getTextContent(),r=t.__key,o=ry(),i=new Set(e),s=[],a=n.length;let l=\"\";for(let e=0;eb&&e.offset<=l&&(e.key=a,e.offset-=b,y.dirty=!0),t.key===r&&\"text\"===t.type&&t.offset>b&&t.offset<=l&&(t.key=a,t.offset-=b,y.dirty=!0)}o===r&&ny(a),b=l,v.push(i)}if(null!==d){!function(e){const t=e.getPreviousSibling(),n=e.getNextSibling();null!==t&&ty(t),null!==n&&ty(n)}(this);const e=d.getWritable(),t=this.getIndexWithinParent();g?(e.splice(t,0,v),this.remove()):e.splice(t,1,v),Db(y)&&qb(y,d,t,c-1)}return v}mergeWithSibling(e){const t=e===this.getPreviousSibling();t||e===this.getNextSibling()||Pg(50);const n=this.__key,r=e.__key,o=this.__text,i=o.length;ry()===r&&ny(n);const s=Hb();if(Db(s)){const o=s.anchor,a=s.focus;null!==o&&o.key===r&&(Zb(o,t,n,e,i),s.dirty=!0),null!==a&&a.key===r&&(Zb(a,t,n,e,i),s.dirty=!0)}const a=e.__text,l=t?a+o:o+a;this.setTextContent(l);const c=this.getWritable();return e.remove(),c}isTextEntity(){return!1}}function hb(e){return{forChild:Eb(e.style),node:null}}function pb(e){const t=e,n=\"normal\"===t.style.fontWeight;return{forChild:Eb(t.style,n?void 0:\"bold\"),node:null}}const gb=new WeakMap;function yb(e){return\"PRE\"===e.nodeName||e.nodeType===Zp&&void 0!==e.style&&void 0!==e.style.whiteSpace&&e.style.whiteSpace.startsWith(\"pre\")}function vb(e){const t=e;null===e.parentElement&&Pg(129);let n=t.textContent||\"\";if(null!==function(e){let t,n=e.parentNode;const r=[e];for(;null!==n&&void 0===(t=gb.get(n))&&!yb(n);)r.push(n),n=n.parentNode;const o=void 0===t?n:t;for(let e=0;e0){/[ \\t\\n]$/.test(t)&&(n=n.slice(1)),r=!1;break}}r&&(n=n.slice(1))}if(\" \"===n[n.length-1]){let e=t,r=!0;for(;null!==e&&null!==(e=bb(e,!0));)if((e.textContent||\"\").replace(/^( |\\t|\\r?\\n)+/,\"\").length>0){r=!1;break}r&&(n=n.slice(0,n.length-1))}return\"\"===n?{node:null}:{node:Sb(n)}}function bb(e,t){let n=e;for(;;){let e;for(;null===(e=t?n.nextSibling:n.previousSibling);){const e=n.parentElement;if(null===e)return null;n=e}if(n=e,n.nodeType===Zp){const e=n.style.display;if(\"\"===e&&!$y(n)||\"\"!==e&&!e.startsWith(\"inline\"))return null}let r=n;for(;null!==(r=t?n.firstChild:n.lastChild);)n=r;if(n.nodeType===Jp)return n;if(\"BR\"===n.nodeName)return null}}const xb={code:\"code\",em:\"italic\",i:\"italic\",s:\"strikethrough\",strong:\"bold\",sub:\"subscript\",sup:\"superscript\",u:\"underline\"};function wb(e){const t=xb[e.nodeName.toLowerCase()];return void 0===t?{node:null}:{forChild:Eb(e.style,t),node:null}}function Sb(e=\"\"){return zy(new mb(e))}function kb(e){return e instanceof mb}function Eb(e,t){const n=e.fontWeight,r=e.textDecoration.split(\" \"),o=\"700\"===n||\"bold\"===n,i=r.includes(\"line-through\"),s=\"italic\"===e.fontStyle,a=r.includes(\"underline\"),l=e.verticalAlign;return e=>kb(e)?(o&&!e.hasFormat(\"bold\")&&e.toggleFormat(\"bold\"),i&&!e.hasFormat(\"strikethrough\")&&e.toggleFormat(\"strikethrough\"),s&&!e.hasFormat(\"italic\")&&e.toggleFormat(\"italic\"),a&&!e.hasFormat(\"underline\")&&e.toggleFormat(\"underline\"),\"sub\"!==l||e.hasFormat(\"subscript\")||e.toggleFormat(\"subscript\"),\"super\"!==l||e.hasFormat(\"superscript\")||e.toggleFormat(\"superscript\"),t&&!e.hasFormat(t)&&e.toggleFormat(t),e):e}class Cb extends mb{static getType(){return\"tab\"}static clone(e){return new Cb(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__text=e.__text}constructor(e){super(\"\\t\",e),this.__detail=2}static importDOM(){return null}static importJSON(e){const t=_b();return t.setFormat(e.format),t.setStyle(e.style),t}exportJSON(){return{...super.exportJSON(),type:\"tab\",version:1}}setTextContent(e){Pg(126)}setDetail(e){Pg(127)}setMode(e){Pg(128)}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}function _b(){return zy(new Cb)}class Pb{constructor(e,t,n){this._selection=null,this.key=e,this.offset=t,this.type=n}is(e){return this.key===e.key&&this.offset===e.offset&&this.type===e.type}isBefore(e){let t=this.getNode(),n=e.getNode();const r=this.offset,o=e.offset;if(kx(t)){const e=t.getDescendantByIndex(r);t=null!=e?e:t}if(kx(n)){const e=n.getDescendantByIndex(o);n=null!=e?e:n}return t===n?re&&(r=e)}else if(!kx(t)){const e=t.getNextSibling();if(kb(e))n=e.__key,r=0,o=\"text\";else{const e=t.getParent();e&&(n=e.__key,r=t.getIndexWithinParent()+1)}}e.set(n,r,o)}function Tb(e,t){if(kx(t)){const n=t.getLastDescendant();kx(n)||kb(n)?Nb(e,n):Nb(e,t)}else Nb(e,t)}function Mb(e,t,n,r){e.key=t,e.offset=n,e.type=r}class Rb{constructor(e){this._cachedNodes=null,this._nodes=e,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){if(!Ab(e))return!1;const t=this._nodes,n=e._nodes;return t.size===n.size&&Array.from(t).every((e=>n.has(e)))}isCollapsed(){return!1}isBackward(){return!1}getStartEndPoints(){return null}add(e){this.dirty=!0,this._nodes.add(e),this._cachedNodes=null}delete(e){this.dirty=!0,this._nodes.delete(e),this._cachedNodes=null}clear(){this.dirty=!0,this._nodes.clear(),this._cachedNodes=null}has(e){return this._nodes.has(e)}clone(){return new Rb(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(e){}insertText(){}insertNodes(e){const t=this.getNodes(),n=t.length,r=t[n-1];let o;if(kb(r))o=r.select();else{const e=r.getIndexWithinParent()+1;o=r.getParentOrThrow().select(e,e)}o.insertNodes(e);for(let e=0;e0?[]:[s]:s.getNodesBetween(a),sx()||(this._cachedNodes=u),u}setTextNodeRange(e,t,n,r){Mb(this.anchor,e.__key,t,\"text\"),Mb(this.focus,n.__key,r,\"text\"),this._cachedNodes=null,this.dirty=!0}getTextContent(){const e=this.getNodes();if(0===e.length)return\"\";const t=e[0],n=e[e.length-1],r=this.anchor,o=this.focus,i=r.isBefore(o),[s,a]=Lb(this);let l=\"\",c=!0;for(let u=0;u=0;e--){const t=i[e];if(t.is(d)||kx(t)&&t.isParentOf(d))break;t.isAttached()&&(!m.has(t)||t.is(o)?p||g.insertAfter(t,!1):t.remove())}if(!p){let e=r,n=null;for(;null!==e;){const r=e.getChildren(),o=r.length;(0===o||r[o-1].is(n))&&(t.delete(e.__key),n=e),e=e.getParent()}}if(d.isToken())if(a===f)d.select();else{const t=Sb(e);t.select(),d.replace(t)}else d=d.spliceText(a,f-a,e,!0),\"\"===d.getTextContent()?d.remove():d.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=e.length);for(let e=1;e0&&(p===h.getTextContentSize()||Xg(h)||([h]=h.splitText(p)),h.setFormat(g));for(let t=c+1;t(kx(e)||Px(e))&&!e.isInline()))){kx(t)||Pg(135);const r=Jb(this);return t.splice(r,0,e),void n.selectEnd()}const r=function(e){const t=Ix();let n=null;for(let r=0;rl?l:a,t=a>l?a:l,n=i.splitText(e,t),r=0===e?n[0]:n[1];return null!=r?[r]:[]}return[i]}const c=r.isBefore(o);if(kb(i)){const t=c?a:l;t===i.getTextContentSize()?e.shift():0!==t&&([,i]=i.splitText(t),e[0]=i)}if(kb(s)){const t=s.getTextContent().length,r=c?l:a;0===r?e.pop():r!==t&&([s]=s.splitText(r),e[n]=s)}return e}modify(e,t,n){const r=this.focus,o=this.anchor,i=\"move\"===e,s=Ty(r,t);if(Px(s)&&!s.isIsolated()){if(i&&s.isKeyboardSelectable()){const e=$b();return e.add(s.__key),void dy(e)}const e=t?s.getPreviousSibling():s.getNextSibling();if(kb(e)){const n=e.__key,s=t?e.getTextContent().length:0;return r.set(n,s,\"text\"),void(i&&o.set(n,s,\"text\"))}{const n=s.getParentOrThrow();let a,l;return kx(e)?(l=e.__key,a=t?e.getChildrenSize():0):(a=s.getIndexWithinParent(),l=n.__key,t||a++),r.set(l,a,\"element\"),void(i&&o.set(l,a,\"element\"))}}const a=ux(),l=Vy(a._window);if(!l)return;const c=a._blockCursorElement,u=a._rootElement;if(null===u||null===c||!kx(s)||s.isInline()||s.canBeEmpty()||_n(c,a,u),function(e,t,n,r){e.modify(t,n,r)}(l,e,t?\"backward\":\"forward\",n),l.rangeCount>0){const e=l.getRangeAt(0),n=this.anchor.getNode(),r=Nx(n)?n:function(e){let t=e.getParentOrThrow();for(;null!==t;){if(Fy(t))return t;t=t.getParentOrThrow()}return t}(n);if(this.applyDOMRange(e),this.dirty=!0,!i){const n=this.getNodes(),o=[];let i=!1;for(let e=0;e0)if(t){const e=o[0];kx(e)?e.selectStart():e.getParentOrThrow().selectStart()}else{const e=o[o.length-1];kx(e)?e.selectEnd():e.getParentOrThrow().selectEnd()}l.anchorNode===e.startContainer&&l.anchorOffset===e.startOffset||function(e){const t=e.focus,n=e.anchor,r=n.key,o=n.offset,i=n.type;Mb(n,t.key,t.offset,t.type),Mb(t,r,o,i),e._cachedNodes=null}(this)}}}forwardDeletion(e,t,n){if(!n&&(\"element\"===e.type&&kx(t)&&e.offset===t.getChildrenSize()||\"text\"===e.type&&e.offset===t.getTextContentSize())){const e=t.getParent(),n=t.getNextSibling()||(null===e?null:e.getNextSibling());if(kx(n)&&n.isShadowRoot())return!0}return!1}deleteCharacter(e){const t=this.isCollapsed();if(this.isCollapsed()){const t=this.anchor;let n=t.getNode();if(this.forwardDeletion(t,n,e))return;const r=this.focus,o=Ty(r,e);if(Px(o)&&!o.isIsolated()){if(o.isKeyboardSelectable()&&kx(n)&&0===n.getChildrenSize()){n.remove();const e=$b();e.add(o.__key),dy(e)}else o.remove(),ux().dispatchCommand(ep,void 0);return}if(!e&&kx(o)&&kx(n)&&n.isEmpty())return n.remove(),void o.selectStart();if(this.modify(\"extend\",e,\"character\"),this.isCollapsed()){if(e&&0===t.offset&&(\"element\"===t.type?t.getNode():t.getNode().getParentOrThrow()).collapseAtStart(this))return}else{const o=\"text\"===r.type?r.getNode():null;if(n=\"text\"===t.type?t.getNode():null,null!==o&&o.isSegmented()){const t=r.offset,i=o.getTextContentSize();if(o.is(n)||e&&t!==i||!e&&0!==t)return void Fb(o,e,t)}else if(null!==n&&n.isSegmented()){const r=t.offset,i=n.getTextContentSize();if(n.is(o)||e&&0!==r||!e&&r!==i)return void Fb(n,e,r)}!function(e,t){const n=e.anchor,r=e.focus,o=n.getNode();if(o===r.getNode()&&\"text\"===n.type&&\"text\"===r.type){const e=n.offset,i=r.offset,s=en||r){o.splice(e,1),r&&(a=void 0);break}}const l=o.join(\"\").trim();\"\"===l?r.remove():(r.setTextContent(l),r.select(a,a))}function zb(e,t,n,r){let o,i=t;if(e.nodeType===Zp){let s=!1;const a=e.childNodes,l=a.length,c=r._blockCursorElement;i===l&&(s=!0,i=l-1);let u=a[i],d=!1;if(u===c)u=a[i+1],d=!0;else if(null!==c){const n=c.parentNode;e===n&&t>Array.prototype.indexOf.call(n.children,c)&&i--}if(o=fy(u),kb(o))i=my(o,s);else{let r=fy(e);if(null===r)return null;if(kx(r)){i=Math.min(r.getChildrenSize(),i);let e=r.getChildAtIndex(i);if(kx(e)&&function(e,t,n){const r=e.getParent();return null===n||null===r||!r.canBeEmpty()||r!==n.getNode()}(e,0,n)){const t=s?e.getLastDescendant():e.getFirstDescendant();null===t?r=e:(e=t,r=kx(e)?e:e.getParentOrThrow()),i=0}kb(e)?(o=e,r=null,i=my(e,s)):e!==r&&s&&!d&&i++}else{const n=r.getIndexWithinParent();i=0===t&&Px(r)&&fy(e)===r?n:n+1,r=r.getParentOrThrow()}if(kx(r))return Ob(r.__key,i,\"element\")}}else o=fy(e);return kb(o)?Ob(o.__key,i,\"text\"):null}function Bb(e,t,n){const r=e.offset,o=e.getNode();if(0===r){const r=o.getPreviousSibling(),i=o.getParent();if(t){if((n||!t)&&null===r&&kx(i)&&i.isInline()){const t=i.getPreviousSibling();kb(t)&&(e.key=t.__key,e.offset=t.getTextContent().length)}}else kx(r)&&!n&&r.isInline()?(e.key=r.__key,e.offset=r.getChildrenSize(),e.type=\"element\"):kb(r)&&(e.key=r.__key,e.offset=r.getTextContent().length)}else if(r===o.getTextContent().length){const r=o.getNextSibling(),i=o.getParent();if(t&&kx(r)&&r.isInline())e.key=r.__key,e.offset=0,e.type=\"element\";else if((n||t)&&null===r&&kx(i)&&i.isInline()&&!i.canInsertTextAfter()){const t=i.getNextSibling();kb(t)&&(e.key=t.__key,e.offset=0)}}}function Wb(e,t,n){if(\"text\"===e.type&&\"text\"===t.type){const r=e.isBefore(t),o=e.is(t);Bb(e,r,o),Bb(t,!r,o),o&&(t.key=e.key,t.offset=e.offset,t.type=e.type);const i=ux();if(i.isComposing()&&i._compositionKey!==e.key&&Db(n)){const r=n.anchor,o=n.focus;Mb(e,r.key,r.offset,r.type),Mb(t,o.key,o.offset,o.type)}}}function Vb(e,t,n,r,o,i){if(null===e||null===n||!Hg(o,e,n))return null;const s=zb(e,t,Db(i)?i.anchor:null,o);if(null===s)return null;const a=zb(n,r,Db(i)?i.focus:null,o);if(null===a)return null;if(\"element\"===s.type&&\"element\"===a.type){const t=fy(e),r=fy(n);if(Px(t)&&Px(r))return null}return Wb(s,a,i),[s,a]}function Ub(e,t,n,r,o,i){const s=cx(),a=new jb(Ob(e,t,o),Ob(n,r,i),0,\"\");return a.dirty=!0,s._selection=a,a}function $b(){return new Rb(new Set)}function Yb(e,t,n,r){const o=n._window;if(null===o)return null;const i=r||o.event,s=i?i.type:void 0,a=\"selectionchange\"===s,l=!Tg&&(a||\"beforeinput\"===s||\"compositionstart\"===s||\"compositionend\"===s||\"click\"===s&&i&&3===i.detail||\"drop\"===s||void 0===s);let c,u,d,f;if(Db(e)&&!l)return e.clone();if(null===t)return null;if(c=t.anchorNode,u=t.focusNode,d=t.anchorOffset,f=t.focusOffset,a&&Db(e)&&!Hg(n,c,u))return e.clone();const m=Vb(c,d,u,f,n,e);if(null===m)return null;const[h,p]=m;return new jb(h,p,Db(e)?e.format:0,Db(e)?e.style:\"\")}function Hb(){return cx()._selection}function Kb(){return ux()._editorState._selection}function qb(e,t,n,r=1){const o=e.anchor,i=e.focus,s=o.getNode(),a=i.getNode();if(!t.is(s)&&!t.is(a))return;const l=t.__key;if(e.isCollapsed()){const t=o.offset;if(n<=t&&r>0||n0||n0||n=e,s=o?i.getChildAtIndex(e-1):i.getChildAtIndex(n);if(kb(s)){let e=0;o&&(e=s.getTextContentSize()),t.set(s.__key,e,\"text\"),r.set(s.__key,e,\"text\")}}else{if(kx(i)){const e=i.getChildrenSize(),r=n>=e,o=r?i.getChildAtIndex(e-1):i.getChildAtIndex(n);if(kb(o)){let e=0;r&&(e=o.getTextContentSize()),t.set(o.__key,e,\"text\")}}if(kx(s)){const e=s.getChildrenSize(),t=o>=e,n=t?s.getChildAtIndex(e-1):s.getChildAtIndex(o);if(kb(n)){let e=0;t&&(e=n.getTextContentSize()),r.set(n.__key,e,\"text\")}}}}function Xb(e,t,n,r,o){let i=null,s=0,a=null;null!==r?(i=r.__key,kb(r)?(s=r.getTextContentSize(),a=\"text\"):kx(r)&&(s=r.getChildrenSize(),a=\"element\")):null!==o&&(i=o.__key,kb(o)?a=\"text\":kx(o)&&(a=\"element\")),null!==i&&null!==a?e.set(i,s,a):(s=t.getIndexWithinParent(),-1===s&&(s=n.getChildrenSize()),e.set(n.__key,s,\"element\"))}function Zb(e,t,n,r,o){\"text\"===e.type?(e.key=n,t||(e.offset+=o)):e.offset>r.getIndexWithinParent()&&(e.offset-=1)}function Jb(e){let t=e;e.isCollapsed()||t.removeText();const n=Hb();Db(n)&&(t=n),Db(t)||Pg(161);const r=t.anchor;let o=r.getNode(),i=r.offset;for(;!Hy(o);)[o,i]=Qb(o,i);return i}function Qb(e,t){const n=e.getParent();if(!n){const e=Ix();return cy().append(e),e.select(),[cy(),0]}if(kb(e)){const r=e.splitText(t);if(0===r.length)return[n,e.getIndexWithinParent()];const o=0===t?0:1;return[n,r[0].getIndexWithinParent()+o]}if(!kx(e)||0===t)return[n,e.getIndexWithinParent()];const r=e.getChildAtIndex(t);if(r){const n=new jb(Ob(e.__key,t,\"element\"),Ob(e.__key,t,\"element\"),0,\"\"),o=e.insertNewAfter(n);o&&o.append(r,...r.getNextSiblings())}return[n,e.getIndexWithinParent()+1]}let ex=null,tx=null,nx=!1,rx=!1,ox=0;const ix={characterData:!0,childList:!0,subtree:!0};function sx(){return nx||null!==ex&&ex._readOnly}function ax(){nx&&Pg(13)}function lx(){ox>99&&Pg(14)}function cx(){return null===ex&&Pg(195,dx()),ex}function ux(){return null===tx&&Pg(196,dx()),tx}function dx(){let e=0;const t=new Set,n=Bx.version;if(\"undefined\"!=typeof window)for(const r of document.querySelectorAll(\"[contenteditable]\")){const o=Gg(r);if(Kg(o))e++;else if(o){let e=String(o.constructor.version||\"<0.17.1\");e===n&&(e+=\" (separately built, likely a bundler configuration issue)\"),t.add(e)}}let r=` Detected on the page: ${e} compatible editor(s) with version ${n}`;return t.size&&(r+=` and incompatible editors with versions ${Array.from(t).join(\", \")}`),r}function fx(e,t,n){const r=t.__type,o=function(e,t){const n=e._nodes.get(t);return void 0===n&&Pg(30,t),n}(e,r);let i=n.get(r);void 0===i&&(i=Array.from(o.transforms),n.set(r,i));const s=i.length;for(let e=0;e0?r.getRangeAt(0):null;if(null!==e){let t;if(e instanceof Text){const n=document.createRange();n.selectNode(e),t=n.getBoundingClientRect()}else t=e.getBoundingClientRect();!function(e,t,n){const r=n.ownerDocument,o=r.defaultView;if(null===o)return;let{top:i,bottom:s}=t,a=0,l=0,c=n;for(;null!==c;){const t=c===r.body;if(t)a=0,l=Ly(e).innerHeight;else{const e=c.getBoundingClientRect();a=e.top,l=e.bottom}let n=0;if(il&&(n=s-l),0!==n)if(t)o.scrollBy(0,n);else{const e=c.scrollTop;c.scrollTop+=n;const t=c.scrollTop-e;i-=t,s-=t}if(t)break;c=Ay(c)}}(n,t,i)}}zv=!0}}(s,a,e,x,v,r)}(function(e,t,n){let r=e._blockCursorElement;if(Db(n)&&n.isCollapsed()&&\"element\"===n.anchor.type&&t.contains(document.activeElement)){const o=n.anchor,i=o.getNode(),s=o.offset;let a=!1,l=null;if(s===i.getChildrenSize())Wy(i.getChildAtIndex(s-1))&&(a=!0);else{const t=i.getChildAtIndex(s);if(Wy(t)){const n=t.getPreviousSibling();(null===n||Wy(n))&&(a=!0,l=e.getElementByKey(t.__key))}}if(a){const n=e.getElementByKey(i.__key);return null===r&&(e._blockCursorElement=r=function(e){const t=e.theme,n=document.createElement(\"div\");n.contentEditable=\"false\",n.setAttribute(\"data-lexical-cursor\",\"true\");let r=t.blockCursor;if(void 0!==r){if(\"string\"==typeof r){const e=Og(r);r=t.blockCursor=e}void 0!==r&&n.classList.add(...r)}return n}(e._config)),t.style.caretColor=\"transparent\",void(null===l?n.appendChild(r):n.insertBefore(r,l))}}null!==r&&_n(r,e,t)})(e,r,a),null!==m&&m.observe(r,ix)}finally{tx=d,ex=c}}null!==h&&function(e,t,n,r,o){const i=Array.from(e._listeners.mutation),s=i.length;for(let e=0;e{r=vx(e,t,n)})),r}const r=py(e);for(let o=4;o>=0;o--)for(let i=0;i0||u>0;){if(l>0){t._dirtyLeaves=new Set;for(const e of a){const r=o.get(e);kb(r)&&r.isAttached()&&r.isSimpleText()&&!r.isUnmergeable()&&Wg(r),void 0!==r&&mx(r,i)&&fx(t,r,s),n.add(e)}if(a=t._dirtyLeaves,l=a.size,l>0){ox++;continue}}t._dirtyLeaves=new Set,t._dirtyElements=new Map;for(const e of c){const n=e[0],a=e[1];if(\"root\"!==n&&!a)continue;const l=o.get(n);void 0!==l&&mx(l,i)&&fx(t,l,s),r.set(n,a)}a=t._dirtyLeaves,l=a.size,c=t._dirtyElements,u=c.size,ox++}t._dirtyLeaves=n,t._dirtyElements=r}(c,e),bx(e),function(e,t,n,r){const o=e._nodeMap,i=t._nodeMap,s=[];for(const[e]of r){const t=i.get(e);void 0!==t&&(t.isAttached()||(kx(t)&&Zy(t,e,o,i,s,r),o.has(e)||r.delete(e),s.push(e)))}for(const e of s)i.delete(e);for(const e of n){const t=i.get(e);void 0===t||t.isAttached()||(o.has(e)||n.delete(e),i.delete(e))}}(l,c,e._dirtyLeaves,e._dirtyElements)),n!==e._compositionKey&&(c._flushSync=!0);const r=c._selection;if(Db(r)){const e=c._nodeMap,t=r.anchor.key,n=r.focus.key;void 0!==e.get(t)&&void 0!==e.get(n)||Pg(19)}else Ab(r)&&0===r._nodes.size&&(c._selection=null)}catch(t){return t instanceof Error&&e._onError(t),e._pendingEditorState=l,e._dirtyType=eg,e._cloneNotNeeded.clear(),e._dirtyLeaves=new Set,e._dirtyElements.clear(),void gx(e)}finally{ex=d,nx=f,tx=m,e._updating=h,ox=0}const p=e._dirtyType!==Qp||function(e,t){const n=t.getEditorState()._selection,r=e._selection;if(null!==r){if(r.dirty||!r.is(n))return!0}else if(null!==n)return!0;return!1}(c,e);p?c._flushSync?(c._flushSync=!1,gx(e)):u&&$g((()=>{gx(e)})):(c._flushSync=!1,u&&(r.clear(),e._deferred=[],e._pendingEditorState=null))}function wx(e,t,n){e._updating?e._updates.push([t,n]):xx(e,t,n)}class Sx extends tb{constructor(e){super(e),this.__first=null,this.__last=null,this.__size=0,this.__format=0,this.__style=\"\",this.__indent=0,this.__dir=null}afterCloneFrom(e){super.afterCloneFrom(e),this.__first=e.__first,this.__last=e.__last,this.__size=e.__size,this.__indent=e.__indent,this.__format=e.__format,this.__style=e.__style,this.__dir=e.__dir}getFormat(){return this.getLatest().__format}getFormatType(){const e=this.getFormat();return kg[e]||\"\"}getStyle(){return this.getLatest().__style}getIndent(){return this.getLatest().__indent}getChildren(){const e=[];let t=this.getFirstChild();for(;null!==t;)e.push(t),t=t.getNextSibling();return e}getChildrenKeys(){const e=[];let t=this.getFirstChild();for(;null!==t;)e.push(t.__key),t=t.getNextSibling();return e}getChildrenSize(){return this.getLatest().__size}isEmpty(){return 0===this.getChildrenSize()}isDirty(){const e=ux()._dirtyElements;return null!==e&&e.has(this.__key)}isLastChild(){const e=this.getLatest(),t=this.getParentOrThrow().getLastChild();return null!==t&&t.is(e)}getAllTextNodes(){const e=[];let t=this.getFirstChild();for(;null!==t;){if(kb(t)&&e.push(t),kx(t)){const n=t.getAllTextNodes();e.push(...n)}t=t.getNextSibling()}return e}getFirstDescendant(){let e=this.getFirstChild();for(;kx(e);){const t=e.getFirstChild();if(null===t)break;e=t}return e}getLastDescendant(){let e=this.getLastChild();for(;kx(e);){const t=e.getLastChild();if(null===t)break;e=t}return e}getDescendantByIndex(e){const t=this.getChildren(),n=t.length;if(e>=n){const e=t[n-1];return kx(e)&&e.getLastDescendant()||e||null}const r=t[e];return kx(r)&&r.getFirstDescendant()||r||null}getFirstChild(){const e=this.getLatest().__first;return null===e?null:oy(e)}getFirstChildOrThrow(){const e=this.getFirstChild();return null===e&&Pg(45,this.__key),e}getLastChild(){const e=this.getLatest().__last;return null===e?null:oy(e)}getLastChildOrThrow(){const e=this.getLastChild();return null===e&&Pg(96,this.__key),e}getChildAtIndex(e){const t=this.getChildrenSize();let n,r;if(e=e;){if(r===e)return n;n=n.getPreviousSibling(),r--}return null}getTextContent(){let e=\"\";const t=this.getChildren(),n=t.length;for(let r=0;re.remove())),e}append(...e){return this.splice(this.getChildrenSize(),0,e)}setDirection(e){const t=this.getWritable();return t.__dir=e,t}setFormat(e){return this.getWritable().__format=\"\"!==e?Sg[e]:0,this}setStyle(e){return this.getWritable().__style=e||\"\",this}setIndent(e){return this.getWritable().__indent=e,this}splice(e,t,n){const r=n.length,o=this.getChildrenSize(),i=this.getWritable(),s=i.__key,a=[],l=[],c=this.getChildAtIndex(e+t);let u=null,d=o-t+r;if(0!==e)if(e===o)u=this.getLastChild();else{const t=this.getChildAtIndex(e);null!==t&&(u=t.getPreviousSibling())}if(t>0){let e=null===u?this.getFirstChild():u.getNextSibling();for(let n=0;n({root:Mx(cy())})))}}class Dx extends Sx{static getType(){return\"artificial\"}createDOM(e){return document.createElement(\"div\")}}class jx extends Sx{constructor(e){super(e),this.__textFormat=0,this.__textStyle=\"\"}static getType(){return\"paragraph\"}getTextFormat(){return this.getLatest().__textFormat}setTextFormat(e){const t=this.getWritable();return t.__textFormat=e,t}hasTextFormat(e){const t=xg[e];return!!(this.getTextFormat()&t)}getTextStyle(){return this.getLatest().__textStyle}setTextStyle(e){const t=this.getWritable();return t.__textStyle=e,t}static clone(e){return new jx(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__textFormat=e.__textFormat,this.__textStyle=e.__textStyle}createDOM(e){const t=document.createElement(\"p\"),n=Py(e.theme,\"paragraph\");return void 0!==n&&t.classList.add(...n),t}updateDOM(e,t,n){return!1}static importDOM(){return{p:e=>({conversion:Ax,priority:0})}}exportDOM(e){const{element:t}=super.exportDOM(e);if(t&&Uy(t)){this.isEmpty()&&t.append(document.createElement(\"br\"));const e=this.getFormatType();t.style.textAlign=e;const n=this.getDirection();n&&(t.dir=n);const r=this.getIndent();r>0&&(t.style.textIndent=20*r+\"px\")}return{element:t}}static importJSON(e){const t=Ix();return t.setFormat(e.format),t.setIndent(e.indent),t.setDirection(e.direction),t.setTextFormat(e.textFormat),t}exportJSON(){return{...super.exportJSON(),textFormat:this.getTextFormat(),textStyle:this.getTextStyle(),type:\"paragraph\",version:1}}insertNewAfter(e,t){const n=Ix();n.setTextFormat(e.format),n.setTextStyle(e.style);const r=this.getDirection();return n.setDirection(r),n.setFormat(this.getFormatType()),n.setStyle(this.getTextStyle()),this.insertAfter(n,t),n}collapseAtStart(){const e=this.getChildren();if(0===e.length||kb(e[0])&&\"\"===e[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Ax(e){const t=Ix();if(e.style){t.setFormat(e.style.textAlign);const n=parseInt(e.style.textIndent,10)/20;n>0&&t.setIndent(n)}return{node:t}}function Ix(){return zy(new jx)}function Lx(e){return e instanceof jx}const Fx=1;function zx(e,t,n,r){const o=e._keyToDOMMap;o.clear(),e._editorState=Tx(),e._pendingEditorState=r,e._compositionKey=null,e._dirtyType=Qp,e._cloneNotNeeded.clear(),e._dirtyLeaves=new Set,e._dirtyElements.clear(),e._normalizedNodes=new Set,e._updateTags=new Set,e._updates=[],e._blockCursorElement=null;const i=e._observer;null!==i&&(i.disconnect(),e._observer=null),null!==t&&(t.textContent=\"\"),null!==n&&(n.textContent=\"\",o.set(\"root\",n))}class Bx{constructor(e,t,n,r,o,i,s){this._parentEditor=t,this._rootElement=null,this._editorState=e,this._pendingEditorState=null,this._compositionKey=null,this._deferred=[],this._keyToDOMMap=new Map,this._updates=[],this._updating=!1,this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set},this._commands=new Map,this._config=r,this._nodes=n,this._decorators={},this._pendingDecorators=null,this._dirtyType=Qp,this._cloneNotNeeded=new Set,this._dirtyLeaves=new Set,this._dirtyElements=new Map,this._normalizedNodes=new Set,this._updateTags=new Set,this._observer=null,this._key=gy(),this._onError=o,this._htmlConversions=i,this._editable=s,this._headless=null!==t&&t._headless,this._window=null,this._blockCursorElement=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(e){const t=this._listeners.update;return t.add(e),()=>{t.delete(e)}}registerEditableListener(e){const t=this._listeners.editable;return t.add(e),()=>{t.delete(e)}}registerDecoratorListener(e){const t=this._listeners.decorator;return t.add(e),()=>{t.delete(e)}}registerTextContentListener(e){const t=this._listeners.textcontent;return t.add(e),()=>{t.delete(e)}}registerRootListener(e){const t=this._listeners.root;return e(this._rootElement,null),t.add(e),()=>{e(null,this._rootElement),t.delete(e)}}registerCommand(e,t,n){void 0===n&&Pg(35);const r=this._commands;r.has(e)||r.set(e,[new Set,new Set,new Set,new Set,new Set]);const o=r.get(e);void 0===o&&Pg(36,String(e));const i=o[n];return i.add(t),()=>{i.delete(t),o.every((e=>0===e.size))&&r.delete(e)}}registerMutationListener(e,t,n){const r=this.resolveRegisteredNodeAfterReplacements(this.getRegisteredNode(e)).klass,o=this._listeners.mutation;o.set(t,r);const i=n&&n.skipInitialization;return void 0===i||i||this.initializeMutationListener(t,r),()=>{o.delete(t)}}getRegisteredNode(e){const t=this._nodes.get(e.getType());return void 0===t&&Pg(37,e.name),t}resolveRegisteredNodeAfterReplacements(e){for(;e.replaceWithKlass;)e=this.getRegisteredNode(e.replaceWithKlass);return e}initializeMutationListener(e,t){const n=this._editorState,r=function(e){if(!e._readOnly&&e.isEmpty())return Gy;e._readOnly||Pg(192);let t=qy.get(e);if(!t){t=new Map,qy.set(e,t);for(const[n,r]of e._nodeMap){const e=r.__type;let o=t.get(e);o||(o=new Map,t.set(e,o)),o.set(n,r)}}return t}(n).get(t.getType());if(!r)return;const o=new Map;for(const e of r.keys())o.set(e,\"created\");o.size>0&&e(o,{dirtyLeaves:new Set,prevEditorState:n,updateTags:new Set([\"registerMutationListener\"])})}registerNodeTransformToKlass(e,t){const n=this.getRegisteredNode(e);return n.transforms.add(t),n}registerNodeTransform(e,t){const n=this.registerNodeTransformToKlass(e,t),r=[n],o=n.replaceWithKlass;if(null!=o){const e=this.registerNodeTransformToKlass(o,t);r.push(e)}var i;return i=e.getType(),wx(this,(()=>{const e=cx();if(e.isEmpty())return;if(\"root\"===i)return void cy().markDirty();const t=e._nodeMap;for(const[,e]of t)e.markDirty()}),null===this._pendingEditorState?{tag:\"history-merge\"}:void 0),()=>{r.forEach((e=>e.transforms.delete(t)))}}hasNode(e){return this._nodes.has(e.getType())}hasNodes(e){return e.every(this.hasNode.bind(this))}dispatchCommand(e,t){return Ry(this,e,t)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(e){const t=this._rootElement;if(e!==t){const n=Py(this._config.theme,\"root\"),r=this._pendingEditorState||this._editorState;if(this._rootElement=e,zx(this,t,e,r),null!==t&&(this._config.disableEvents||function(e){const t=e.ownerDocument,n=Fv.get(t);void 0===n&&Pg(162);const r=n-1;r>=0||Pg(164),Fv.set(t,r),0===r&&t.removeEventListener(\"selectionchange\",Zv);const o=Gg(e);Kg(o)?(function(e){if(null!==e._parentEditor){const t=py(e),n=t[t.length-1]._key;Xv.get(n)===e&&Xv.delete(n)}else Xv.delete(e._key)}(o),e.__lexicalEditor=null):o&&Pg(198);const i=Gv(e);for(let e=0;e{Qv(e)||(Jv(e),(t.isEditable()||\"click\"===r)&&i(e,t))}:e=>{if(Qv(e))return;Jv(e);const n=t.isEditable();switch(r){case\"cut\":return n&&Ry(t,Mp,e);case\"copy\":return Ry(t,Tp,e);case\"paste\":return n&&Ry(t,sp,e);case\"dragstart\":return n&&Ry(t,Pp,e);case\"dragover\":return n&&Ry(t,Op,e);case\"dragend\":return n&&Ry(t,Np,e);case\"focus\":return n&&Ry(t,Lp,e);case\"blur\":return n&&Ry(t,Fp,e);case\"drop\":return n&&Ry(t,_p,e)}};e.addEventListener(r,s),o.push((()=>{e.removeEventListener(r,s)}))}}(e,this),null!=n&&e.classList.add(...n)}else this._editorState=r,this._pendingEditorState=null,this._window=null;yx(\"root\",this,!1,e,t)}}getElementByKey(e){return this._keyToDOMMap.get(e)||null}getEditorState(){return this._editorState}setEditorState(e,t){e.isEmpty()&&Pg(38),Lg(this);const n=this._pendingEditorState,r=this._updateTags,o=void 0!==t?t.tag:null;null===n||n.isEmpty()||(null!=o&&r.add(o),gx(this)),this._pendingEditorState=e,this._dirtyType=eg,this._dirtyElements.set(\"root\",!1),this._compositionKey=null,null!=o&&r.add(o),gx(this)}parseEditorState(e,t){return function(e,t,n){const r=Tx(),o=ex,i=nx,s=tx,a=t._dirtyElements,l=t._dirtyLeaves,c=t._cloneNotNeeded,u=t._dirtyType;t._dirtyElements=new Map,t._dirtyLeaves=new Set,t._cloneNotNeeded=new Set,t._dirtyType=0,ex=r,nx=!1,tx=t;try{const o=t._nodes;hx(e.root,o),n&&n(),r._readOnly=!0}catch(e){e instanceof Error&&t._onError(e)}finally{t._dirtyElements=a,t._dirtyLeaves=l,t._cloneNotNeeded=c,t._dirtyType=u,ex=o,nx=i,tx=s}return r}(\"string\"==typeof e?JSON.parse(e):e,this,t)}read(e){return gx(this),this.getEditorState().read(e,{editor:this})}update(e,t){wx(this,e,t)}focus(e,t={}){const n=this._rootElement;null!==n&&(n.setAttribute(\"autocapitalize\",\"off\"),wx(this,(()=>{const e=Hb(),n=cy();null!==e?e.dirty=!0:0!==n.getChildrenSize()&&(\"rootStart\"===t.defaultSelection?n.selectStart():n.selectEnd())}),{onUpdate:()=>{n.removeAttribute(\"autocapitalize\"),e&&e()},tag:\"focus\"}),null===this._pendingEditorState&&n.removeAttribute(\"autocapitalize\"))}blur(){const e=this._rootElement;null!==e&&e.blur();const t=Vy(this._window);null!==t&&t.removeAllRanges()}isEditable(){return this._editable}setEditable(e){this._editable!==e&&(this._editable=e,yx(\"editable\",this,!0,e))}toJSON(){return{editorState:this._editorState.toJSON()}}}Bx.version=\"0.17.1+prod.esm\";const Wx=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Vx=Wx?a.useLayoutEffect:a.useEffect,Ux={tag:\"history-merge\"};function $x({initialConfig:e,children:t}){const n=(0,a.useMemo)((()=>{const{theme:t,namespace:n,nodes:r,onError:o,editorState:i,html:s}=e,a=function(e,t){let n=null;return{getTheme:function(){return null!=t?t:null!=n?n.getTheme():null}}}(0,t),l=function(e){const t=e||{},n=tx,r=t.theme||{},o=void 0===e?n:t.parentEditor||null,i=t.disableEvents||!1,s=Tx(),a=t.namespace||(null!==o?o._config.namespace:gy()),l=t.editorState,c=[Ox,mb,nb,Cb,jx,Dx,...t.nodes||[]],{onError:u,html:d}=t,f=void 0===t.editable||t.editable;let m;if(void 0===e&&null!==n)m=n._nodes;else{m=new Map;for(let e=0;e{Object.keys(e).forEach((t=>{let r=n.get(t);void 0===r&&(r=[],n.set(t,r)),r.push(e[t])}))};return e.forEach((e=>{const t=e.klass.importDOM;if(null==t||r.has(t))return;r.add(t);const n=t.call(e.klass);null!==n&&o(n)})),t&&o(t),n}(m,d?d.import:void 0),f);return void 0!==l&&(h._pendingEditorState=l,h._dirtyType=eg),h}({editable:e.editable,html:s,namespace:n,nodes:r,onError:e=>o(e,l),theme:t});return function(e,t){if(null!==t)if(void 0===t)e.update((()=>{const t=cy();if(t.isEmpty()){const n=Ix();t.append(n);const r=Wx?document.activeElement:null;(null!==Hb()||null!==r&&r===e.getRootElement())&&n.select()}}),Ux);else if(null!==t)switch(typeof t){case\"string\":{const n=e.parseEditorState(t);e.setEditorState(n,Ux);break}case\"object\":e.setEditorState(t,Ux);break;case\"function\":e.update((()=>{cy().isEmpty()&&t(e)}),Ux)}}(l,i),[l,a]}),[]);return Vx((()=>{const t=e.editable,[r]=n;r.setEditable(void 0===t||t)}),[]),(0,mu.jsx)(Zh.Provider,{value:n,children:t})}const Yx=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?a.useLayoutEffect:a.useEffect;function Hx(e){return{initialValueFn:()=>e.isEditable(),subscribe:t=>e.registerEditableListener(t)}}function Kx(e){return()=>function(e){if(!function(e,t=!0){if(e)return!1;let n=cy().getTextContent();return t&&(n=n.trim()),\"\"===n}(e,!1))return!1;const t=cy().getChildren(),n=t.length;if(n>1)return!1;for(let e=0;e{for(let t=e.length-1;t>=0;t--)e[t]();e.length=0}}function Zx(e,t){const n=Ty(e.focus,t);return Px(n)&&!n.isIsolated()||kx(n)&&!n.isInline()&&!n.canBeEmpty()}function Jx(e,t,n){const r=function(e){const t=e.anchor.getNode();return\"rtl\"===(Nx(t)?t:t.getParentOrThrow()).getDirection()}(e);!function(e,t,n){e.modify(t?\"extend\":\"move\",n,\"character\")}(e,t,n?!r:r)}function Qx(e,t,n,r=null){let o=null===r||t.isSelected(r);const i=kx(t)&&t.excludeFromCopy(\"html\");let s=t;if(null!==r){let e=Xy(t);e=kb(e)&&null!==r?function(e,t){const n=e.getStartEndPoints();if(t.isSelected(e)&&!t.isSegmented()&&!t.isToken()&&null!==n){const[r,o]=n,i=e.isBackward(),s=r.getNode(),a=o.getNode(),l=t.is(s),c=t.is(a);if(l||c){const[n,r]=Lb(e),o=s.is(a),l=t.is(i?a:s),c=t.is(i?s:a);let u,d=0;return o?(d=n>r?r:n,u=n>r?n:r):l?(d=i?r:n,u=void 0):c&&(d=0,u=i?n:r),t.__text=t.__text.slice(d,u),t}}return t}(r,e):e,s=e}const a=kx(s)?s.getChildren():[],l=e._nodes.get(s.getType());let c;c=l&&void 0!==l.exportDOM?l.exportDOM(e,s):s.exportDOM(e);const{element:u,after:d}=c;if(!u)return!1;const f=document.createDocumentFragment();for(let n=0;n{if(null!==e){const r=function(e,t){return null!==e&&Object.getPrototypeOf(e).constructor.name===t.name}(e,KeyboardEvent)?null:e.clipboardData,o=Hb();if(null!==o&&null!=r){e.preventDefault();const i=function(e,t=Hb()){return null==t&&ew(166),Db(t)&&t.isCollapsed()||0===t.getNodes().length?\"\":function(e,t){if(\"undefined\"==typeof document||\"undefined\"==typeof window&&void 0===n.g.window)throw new Error(\"To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.\");const r=document.createElement(\"div\"),o=cy().getChildren();for(let n=0;ne.getDecorators()));return uw((()=>e.registerDecoratorListener((e=>{(0,tn.flushSync)((()=>{r(e)}))}))),[e]),(0,a.useEffect)((()=>{r(e.getDecorators())}),[e]),(0,a.useMemo)((()=>{const r=[],o=Object.keys(n);for(let i=0;ie._onError(t),children:(0,mu.jsx)(a.Suspense,{fallback:null,children:n[s]})}),c=e.getElementByKey(s);null!==c&&r.push((0,tn.createPortal)(l,c,s))}return r}),[t,n,e])}(r,n);return function(e){uw((()=>Xx(function(e){return Xx(e.registerCommand(np,(e=>{const t=Hb();return!!Db(t)&&(t.deleteCharacter(e),!0)}),0),e.registerCommand(lp,(e=>{const t=Hb();return!!Db(t)&&(t.deleteWord(e),!0)}),0),e.registerCommand(cp,(e=>{const t=Hb();return!!Db(t)&&(t.deleteLine(e),!0)}),0),e.registerCommand(ip,(e=>{const t=Hb();if(!Db(t))return!1;if(\"string\"==typeof e)t.insertText(e);else{const n=e.dataTransfer;if(null!=n)tw(n,t);else{const n=e.data;n&&t.insertText(n)}}return!0}),0),e.registerCommand(ap,(()=>{const e=Hb();return!!Db(e)&&(e.removeText(),!0)}),0),e.registerCommand(rp,(e=>{const t=Hb();return!!Db(t)&&(t.insertLineBreak(e),!0)}),0),e.registerCommand(op,(()=>{const e=Hb();return!!Db(e)&&(e.insertLineBreak(),!0)}),0),e.registerCommand(gp,(e=>{const t=Hb();if(!Db(t))return!1;const n=e,r=n.shiftKey;return!!Zx(t,!0)&&(n.preventDefault(),Jx(t,r,!0),!0)}),0),e.registerCommand(hp,(e=>{const t=Hb();if(!Db(t))return!1;const n=e,r=n.shiftKey;return!!Zx(t,!1)&&(n.preventDefault(),Jx(t,r,!1),!0)}),0),e.registerCommand(Sp,(t=>!!Db(Hb())&&(t.preventDefault(),e.dispatchCommand(np,!0))),0),e.registerCommand(Ep,(t=>!!Db(Hb())&&(t.preventDefault(),e.dispatchCommand(np,!1))),0),e.registerCommand(xp,(t=>{if(!Db(Hb()))return!1;if(null!==t){if((sw||iw||lw)&&ow)return!1;t.preventDefault()}return e.dispatchCommand(rp,!1)}),0),e.registerCommand(Rp,(()=>(function(){const e=cy();dy(function(e){return Vg(e.anchor),Vg(e.focus),e}(e.select(0,e.getChildrenSize())))}(),!0)),0),e.registerCommand(Tp,(t=>!!Db(Hb())&&(cw(t,e),!0)),0),e.registerCommand(Mp,(t=>!!Db(Hb())&&(function(e,t){cw(e,t),t.update((()=>{const e=Hb();Db(e)&&e.removeText()}))}(t,e),!0)),0),e.registerCommand(sp,(t=>!!Db(Hb())&&(function(e,t){e.preventDefault(),t.update((()=>{const t=Hb(),{clipboardData:n}=e;null!=n&&Db(t)&&tw(n,t)}),{tag:\"paste\"})}(t,e),!0)),0),e.registerCommand(_p,(e=>!!Db(Hb())&&(e.preventDefault(),!0)),0),e.registerCommand(Pp,(e=>!!Db(Hb())&&(e.preventDefault(),!0)),0))}(e),function(e){const t=window.location.origin,n=n=>{if(n.origin!==t)return;const r=e.getRootElement();if(document.activeElement!==r)return;const o=n.data;if(\"string\"==typeof o){let t;try{t=JSON.parse(o)}catch(e){return}if(t&&\"nuanria_messaging\"===t.protocol&&\"request\"===t.type){const r=t.payload;if(r&&\"makeChanges\"===r.functionId){const t=r.args;if(t){const[r,o,i,s,a,l]=t;e.update((()=>{const e=Hb();if(Db(e)){const t=e.anchor;let l=t.getNode(),c=0,u=0;if(kb(l)&&r>=0&&o>=0&&(c=r,u=r+o,e.setTextNodeRange(l,c,l,u)),c===u&&\"\"===i||(e.insertRawText(i),l=t.getNode()),kb(l)){c=s,u=s+a;const t=l.getTextContentSize();c=c>t?t:c,u=u>t?t:u,e.setTextNodeRange(l,c,l,u)}n.stopImmediatePropagation()}}))}}}}};return window.addEventListener(\"message\",n,!0),()=>{window.removeEventListener(\"message\",n,!0)}}(e))),[e])}(r),(0,mu.jsxs)(mu.Fragment,{children:[e,(0,mu.jsx)(mw,{content:t}),o]})}function mw({content:e}){const[t]=Jh(),n=function(e){const[t,n]=(0,a.useState)((()=>dw(e)));return uw((()=>{function t(){const t=dw(e);n(t)}return t(),Xx(e.registerUpdateListener((()=>{t()})),e.registerEditableListener((()=>{t()})))}),[e]),t}(t),r=function(e){const[t]=Jh(),n=(0,a.useMemo)((()=>e(t)),[t,e]),r=(0,a.useRef)(n.initialValueFn()),[o,i]=(0,a.useState)(r.current);return Yx((()=>{const{initialValueFn:e,subscribe:t}=n,o=e();return r.current!==o&&(r.current=o,i(o)),t((e=>{r.current=e,i(e)}))}),[n,e]),o}(Hx);return n?\"function\"==typeof e?e(r):e:null}const hw=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?a.useLayoutEffect:a.useEffect,pw=(0,a.forwardRef)((function({editor:e,ariaActiveDescendant:t,ariaAutoComplete:n,ariaControls:r,ariaDescribedBy:o,ariaExpanded:i,ariaLabel:s,ariaLabelledBy:l,ariaMultiline:c,ariaOwns:u,ariaRequired:d,autoCapitalize:f,className:m,id:h,role:p=\"textbox\",spellCheck:g=!0,style:y,tabIndex:v,\"data-testid\":b,...x},w){const[S,k]=(0,a.useState)(e.isEditable()),E=(0,a.useCallback)((t=>{t&&t.ownerDocument&&t.ownerDocument.defaultView?e.setRootElement(t):e.setRootElement(null)}),[e]),C=(0,a.useMemo)((()=>function(...e){return t=>{e.forEach((e=>{\"function\"==typeof e?e(t):null!=e&&(e.current=t)}))}}(w,E)),[E,w]);return hw((()=>(k(e.isEditable()),e.registerEditableListener((e=>{k(e)})))),[e]),(0,mu.jsx)(\"div\",{...x,\"aria-activedescendant\":S?t:void 0,\"aria-autocomplete\":S?n:\"none\",\"aria-controls\":S?r:void 0,\"aria-describedby\":o,\"aria-expanded\":S&&\"combobox\"===p?!!i:void 0,\"aria-label\":s,\"aria-labelledby\":l,\"aria-multiline\":c,\"aria-owns\":S?u:void 0,\"aria-readonly\":!S||void 0,\"aria-required\":d,autoCapitalize:f,className:m,contentEditable:S,\"data-testid\":b,id:h,ref:C,role:S?p:void 0,spellCheck:g,style:y,tabIndex:v})}));function gw(e){return e.getEditorState().read(Kx(e.isComposing()))}const yw=(0,a.forwardRef)((function(e,t){const{placeholder:n,...r}=e,[o]=Jh();return(0,mu.jsxs)(mu.Fragment,{children:[(0,mu.jsx)(pw,{editor:o,...r,ref:t}),null!=n&&(0,mu.jsx)(vw,{editor:o,content:n})]})}));function vw({content:e,editor:t}){const n=function(e){const[t,n]=(0,a.useState)((()=>gw(e)));return hw((()=>{function t(){const t=gw(e);n(t)}return t(),Xx(e.registerUpdateListener((()=>{t()})),e.registerEditableListener((()=>{t()})))}),[e]),t}(t),[r,o]=(0,a.useState)(t.isEditable());if((0,a.useLayoutEffect)((()=>(o(t.isEditable()),t.registerEditableListener((e=>{o(e)})))),[t]),!n)return null;let i=null;return\"function\"==typeof e?i=e(r):null!==e&&(i=e),null===i?null:(0,mu.jsx)(\"div\",{\"aria-hidden\":!0,children:i})}const bw=0,xw=1,ww=2,Sw=0,kw=1,Ew=2,Cw=3,_w=4;function Pw(e){e.undoStack=[],e.redoStack=[],e.current=null}function Ow({delay:e,externalHistoryState:t}){const[n]=Jh();return function(e,t,n=1e3){const r=(0,a.useMemo)((()=>t||{current:null,redoStack:[],undoStack:[]}),[t]);(0,a.useEffect)((()=>function(e,t,n){const r=function(e,t){let n=Date.now(),r=Sw;return(o,i,s,a,l,c)=>{const u=Date.now();if(c.has(\"historic\"))return r=Sw,n=u,ww;const d=function(e,t,n,r,o){if(null===e||0===n.size&&0===r.size&&!o)return Sw;const i=t._selection,s=e._selection;if(o)return kw;if(!(Db(i)&&Db(s)&&s.isCollapsed()&&i.isCollapsed()))return Sw;const a=function(e,t,n){const r=e._nodeMap,o=[];for(const e of t){const t=r.get(e);void 0!==t&&o.push(t)}for(const[e,t]of n){if(!t)continue;const n=r.get(e);void 0===n||Nx(n)||o.push(n)}return o}(t,n,r);if(0===a.length)return Sw;if(a.length>1){const n=t._nodeMap,r=n.get(i.anchor.key),o=n.get(s.anchor.key);return r&&o&&!e._nodeMap.has(r.__key)&&kb(r)&&1===r.__text.length&&1===i.anchor.offset?Ew:Sw}const l=a[0],c=e._nodeMap.get(l.__key);if(!kb(c)||!kb(l)||c.__mode!==l.__mode)return Sw;const u=c.__text,d=l.__text;if(u===d)return Sw;const f=i.anchor,m=s.anchor;if(f.key!==m.key||\"text\"!==f.type)return Sw;const h=f.offset,p=m.offset,g=d.length-u.length;return 1===g&&p===h-1?Ew:-1===g&&p===h+1?Cw:-1===g&&p===h?_w:Sw}(o,i,a,l,e.isComposing()),f=(()=>{const f=null===s||s.editor===e,m=c.has(\"history-push\");if(!m&&f&&c.has(\"history-merge\"))return bw;if(null===o)return xw;const h=i._selection;return a.size>0||l.size>0?!1===m&&d!==Sw&&d===r&&ur.exportJSON())))===JSON.stringify(n.read((()=>o.exportJSON())))}(Array.from(a)[0],o,i)?bw:xw:null!==h?bw:ww})();return n=u,r=d,f}}(e,n),o=Xx(e.registerCommand(dp,(()=>(function(e,t){const n=t.redoStack,r=t.undoStack;if(0!==r.length){const o=t.current,i=r.pop();null!==o&&(n.push(o),e.dispatchCommand(Ap,!0)),0===r.length&&e.dispatchCommand(Ip,!1),t.current=i||null,i&&i.editor.setEditorState(i.editorState,{tag:\"historic\"})}}(e,t),!0)),0),e.registerCommand(fp,(()=>(function(e,t){const n=t.redoStack,r=t.undoStack;if(0!==n.length){const o=t.current;null!==o&&(r.push(o),e.dispatchCommand(Ip,!0));const i=n.pop();0===n.length&&e.dispatchCommand(Ap,!1),t.current=i||null,i&&i.editor.setEditorState(i.editorState,{tag:\"historic\"})}}(e,t),!0)),0),e.registerCommand(Dp,(()=>(Pw(t),!1)),0),e.registerCommand(jp,(()=>(Pw(t),e.dispatchCommand(Ap,!1),e.dispatchCommand(Ip,!1),!0)),0),e.registerUpdateListener((({editorState:n,prevEditorState:o,dirtyLeaves:i,dirtyElements:s,tags:a})=>{const l=t.current,c=t.redoStack,u=t.undoStack,d=null===l?null:l.editorState;if(null!==l&&n===d)return;const f=r(o,n,l,i,s,a);if(f===xw)0!==c.length&&(t.redoStack=[],e.dispatchCommand(Ap,!1)),null!==l&&(u.push({...l}),e.dispatchCommand(Ip,!0));else if(f===ww)return;t.current={editor:e,editorState:n}})));return o}(e,r,n)),[n,e,r])}(n,t,e),null}function Nw(e,t){return Nw=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Nw(e,t)}var Tw={error:null},Mw=function(e){var t,n;function r(){for(var t,n=arguments.length,r=new Array(n),o=0;o{if(n)return r.registerUpdateListener((({editorState:o,dirtyElements:i,dirtyLeaves:s,prevEditorState:a,tags:l})=>{t&&0===i.size&&0===s.size||e&&l.has(\"history-merge\")||a.isEmpty()||n(o,r,l)}))}),[r,e,t,n]),null}function Aw({editorRef:e}){const[t]=Jh();return a.useEffect((()=>{\"function\"==typeof e?e(t):\"object\"==typeof e&&(e.current=t)}),[t]),null}var Iw={xs:\"py-1 px-2 pr-2 rounded [&_.editor-content>p]:text-xs [&_.editor-content>p]:font-normal [&_.pointer-events-none]:text-xs\",sm:\"px-3 py-2 rounded [&_.editor-content>p]:text-xs [&_.editor-content>p]:font-normal [&_.pointer-events-none]:text-xs [&_.pointer-events-none]:font-normal\",md:\"px-3.5 py-2.5 rounded-md [&_.editor-content>p]:text-sm [&_.editor-content>p]:font-normal [&_.pointer-events-none]:text-sm [&_.pointer-events-none]:font-normal\",lg:\"px-4 py-3 rounded-md [&_.editor-content>p]:text-base [&_.editor-content>p]:font-normal [&_.pointer-events-none]:text-base [&_.pointer-events-none]:font-normal\"},Lw={xs:\"p-1 rounded-md max-h-[8.75rem]\",sm:\"p-1.5 rounded-md max-h-[10.75rem]\",md:\"p-2 rounded-lg max-h-[13.5rem]\",lg:\"p-2 rounded-lg max-h-[13.5rem]\"},Fw={xs:\"p-1 rounded text-xs leading-4 font-normal\",sm:\"p-1.5 rounded text-xs leading-5 font-normal\",md:\"p-2 rounded-md text-sm leading-6 font-normal\",lg:\"p-2 rounded-md text-base leading-6 font-normal\"};const zw=\"startTransition\",Bw=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?a.useLayoutEffect:a.useEffect,Ww=e=>{const t=document.getElementById(\"typeahead-menu\");if(!t)return;const n=t.getBoundingClientRect();n.top+n.height>window.innerHeight&&t.scrollIntoView({block:\"center\"}),n.top<0&&t.scrollIntoView({block:\"center\"}),e.scrollIntoView({block:\"nearest\"})};function Vw(e,t){const n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.top>r.top&&n.top{d(0)}),[f]);const m=(0,a.useCallback)((n=>{t.update((()=>{const t=null!=r.match&&l?function(e){const t=Hb();if(!Db(t)||!t.isCollapsed())return null;const n=t.anchor;if(\"text\"!==n.type)return null;const r=n.getNode();if(!r.isSimpleText())return null;const o=n.offset,i=r.getTextContent().slice(0,o),s=e.replaceableString.length,a=o-function(e,t,n){let r=n;for(let n=r;n<=t.length;n++)e.substr(-n)===t.substr(0,n)&&(r=n);return r}(i,e.matchingString,s);if(a<0)return null;let l;return 0===a?[l]=r.splitText(o):[,l]=r.splitText(a,o),l}(r.match):null;s(n,t,e,r.match?r.match.matchingString:\"\")}))}),[t,l,r.match,s,e]),h=(0,a.useCallback)((e=>{const n=t.getRootElement();null!==n&&(n.setAttribute(\"aria-activedescendant\",\"typeahead-item-\"+e),d(e))}),[t]);return(0,a.useEffect)((()=>()=>{const e=t.getRootElement();null!==e&&e.removeAttribute(\"aria-activedescendant\")}),[t]),Bw((()=>{null===o?d(null):null===u&&h(0)}),[o,u,h]),(0,a.useEffect)((()=>Xx(t.registerCommand(Uw,(({option:e})=>!(!e.ref||null==e.ref.current||(Ww(e.ref.current),0))),c))),[t,h,c]),(0,a.useEffect)((()=>Xx(t.registerCommand(bp,(e=>{const n=e;if(null!==o&&o.length&&null!==u){const e=u!==o.length-1?u+1:0;h(e);const r=o[e];null!=r.ref&&r.ref.current&&t.dispatchCommand(Uw,{index:e,option:r}),n.preventDefault(),n.stopImmediatePropagation()}return!0}),c),t.registerCommand(vp,(e=>{const t=e;if(null!==o&&o.length&&null!==u){const e=0!==u?u-1:o.length-1;h(e);const n=o[e];null!=n.ref&&n.ref.current&&Ww(n.ref.current),t.preventDefault(),t.stopImmediatePropagation()}return!0}),c),t.registerCommand(kp,(t=>{const n=t;return n.preventDefault(),n.stopImmediatePropagation(),e(),!0}),c),t.registerCommand(Cp,(e=>{const t=e;return null!==o&&null!==u&&null!=o[u]&&(t.preventDefault(),t.stopImmediatePropagation(),m(o[u]),!0)}),c),t.registerCommand(xp,(e=>null!==o&&null!==u&&null!=o[u]&&(null!==e&&(e.preventDefault(),e.stopImmediatePropagation()),m(o[u]),!0)),c))),[m,e,t,o,u,h,c]),i(n,(0,a.useMemo)((()=>({options:o,selectOptionAndCleanUp:m,selectedIndex:u,setHighlightedIndex:d})),[m,u,o]),r.match?r.match.matchingString:\"\")}function Yw({options:e,onQueryChange:t,onSelectOption:n,onOpen:r,onClose:o,menuRenderFn:i,triggerFn:s,anchorClassName:c,commandPriority:u=Fx,parent:d}){const[f]=Jh(),[m,h]=(0,a.useState)(null),p=function(e,t,n,r=document.body){const[o]=Jh(),i=(0,a.useRef)(document.createElement(\"div\")),s=(0,a.useCallback)((()=>{i.current.style.top=i.current.style.bottom;const t=o.getRootElement(),s=i.current,a=s.firstChild;if(null!==t&&null!==e){const{left:o,top:l,width:c,height:u}=e.getRect(),d=i.current.offsetHeight;if(s.style.top=`${l+window.pageYOffset+d+3}px`,s.style.left=`${o+window.pageXOffset}px`,s.style.height=`${u}px`,s.style.width=`${c}px`,null!==a){a.style.top=`${l}`;const e=a.getBoundingClientRect(),n=e.height,r=e.width,i=t.getBoundingClientRect();o+r>i.right&&(s.style.left=`${i.right-r+window.pageXOffset}px`),(l+n>window.innerHeight||l+n>i.bottom)&&l-i.top>n+u&&(s.style.top=l-n+window.pageYOffset-u+\"px\")}s.isConnected||(null!=n&&(s.className=n),s.setAttribute(\"aria-label\",\"Typeahead menu\"),s.setAttribute(\"id\",\"typeahead-menu\"),s.setAttribute(\"role\",\"listbox\"),s.style.display=\"block\",s.style.position=\"absolute\",r.append(s)),i.current=s,t.setAttribute(\"aria-controls\",\"typeahead-menu\")}}),[o,e,n,r]);(0,a.useEffect)((()=>{const t=o.getRootElement();if(null!==e)return s(),()=>{null!==t&&t.removeAttribute(\"aria-controls\");const e=i.current;null!==e&&e.isConnected&&e.remove()}}),[o,s,e]);const l=(0,a.useCallback)((n=>{null!==e&&(n||t(null))}),[e,t]);return function(e,t,n,r){const[o]=Jh();(0,a.useEffect)((()=>{if(null!=t&&null!=e){const e=o.getRootElement(),i=null!=e?function(e){let t=getComputedStyle(e);const n=\"absolute\"===t.position,r=/(auto|scroll)/;if(\"fixed\"===t.position)return document.body;for(let o=e;o=o.parentElement;)if(t=getComputedStyle(o),(!n||\"static\"!==t.position)&&r.test(t.overflow+t.overflowY+t.overflowX))return o;return document.body}(e):document.body;let s=!1,a=Vw(t,i);const l=function(){s||(window.requestAnimationFrame((function(){n(),s=!1})),s=!0);const e=Vw(t,i);e!==a&&(a=e,null!=r&&r(e))},c=new ResizeObserver(n);return window.addEventListener(\"resize\",n),document.addEventListener(\"scroll\",l,{capture:!0,passive:!0}),c.observe(t),()=>{c.unobserve(t),window.removeEventListener(\"resize\",n),document.removeEventListener(\"scroll\",l,!0)}}}),[t,o,r,n,e])}(e,i.current,s,l),i}(m,h,c,d),g=(0,a.useCallback)((()=>{h(null),null!=o&&null!==m&&o()}),[o,m]),y=(0,a.useCallback)((e=>{h(e),null!=r&&null===m&&r(e)}),[r,m]);return(0,a.useEffect)((()=>{const e=f.registerUpdateListener((()=>{f.getEditorState().read((()=>{const e=f._window||window,n=e.document.createRange(),r=Hb(),o=function(e){let t=null;return e.getEditorState().read((()=>{const e=Hb();Db(e)&&(t=function(e){const t=e.anchor;if(\"text\"!==t.type)return null;const n=t.getNode();if(!n.isSimpleText())return null;const r=t.offset;return n.getTextContent().slice(0,r)}(e))})),t}(f);if(!Db(r)||!r.isCollapsed()||null===o||null===n)return void g();const i=s(o,f);if(t(i?i.matchingString:null),null!==i&&!function(e,t){return 0===t&&e.getEditorState().read((()=>{const e=Hb();if(Db(e)){const t=e.anchor.getNode().getPreviousSibling();return kb(t)&&t.isTextEntity()}return!1}))}(f,i.leadOffset)){const t=function(e,t,n){const r=n.getSelection();if(null===r||!r.isCollapsed)return!1;const o=r.anchorNode,i=e,s=r.anchorOffset;if(null==o||null==s)return!1;try{t.setStart(o,i),t.setEnd(o,s)}catch(e){return!1}return!0}(i.leadOffset,n,e);if(null!==t)return a=()=>y({getRect:()=>n.getBoundingClientRect(),match:i}),void(zw in l()?l()[zw](a):a())}var a;g()}))}));return()=>{e()}}),[f,s,t,m,g,y]),null===m||null===f?null:(0,mu.jsx)($w,{close:g,resolution:m,editor:f,anchorElementRef:p,options:e,menuRenderFn:i,shouldSplitNodeWithQuery:!0,onSelectOption:n,commandPriority:u})}function Hw(e){return Hw=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Hw(e)}function Kw(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n2&&void 0!==arguments[2]?arguments[2]:\"name\",r=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,o,i,s,a=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(e,t)||function(e,t){if(e){if(\"string\"==typeof e)return mS(e,t);var n={}.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mS(e,t):void 0}}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}((0,a.useState)([]),2),o=r[0],i=r[1];return(0,a.useEffect)((function(){if(null!==t){var r=hS.get(t);null!==r&&(void 0===r?(hS.set(t,null),pS(e,t,(function(e){hS.set(t,e),i(e)}),n)):i(r))}else i([])}),[t]),o},yS=[\"size\",\"children\",\"selected\",\"className\"];function vS(){return vS=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n_:;\",y=[l].join(\"\"),v=\"[^\"+y+g+\"\\\\s]\",b=\"(?:\\\\.[ |$]| |[\"+g+\"]|)\",x=new RegExp(\"(^|\\\\s|\\\\()([\".concat(y,\"]((?:\").concat(v).concat(b,\"){0,\").concat(75,\"}))$\")),w=new RegExp(\"(^|\\\\s|\\\\()([\".concat(y,\"]((?:\").concat(v,\"){0,\").concat(50,\"}))$\")),S=wS(Jh(),1)[0],k=wS((0,a.useState)(null),2),E=k[0],C=k[1],_=gS(t,E,r),P=(0,a.useCallback)((function(e,t,n){S.update((function(){var o=iS(e.data,r,i);t&&t.replace(o),n()}))}),[S]),O=(0,a.useMemo)((function(){return _.map((function(e){return new fS(e)}))}),[S,_]),N=(0,a.useCallback)((function(e){if(!h)return!1;var t=e.key,n=e.ctrlKey,r=e.metaKey;if(n||r||\" \"===t||t.length>1||p.current)return p.current&&(p.current=!1),!1;var o=Hb(),i=o.focus,s=o.anchor,a=wS(o.getNodes(),1)[0];if(!s||!i||(null==s?void 0:s.key)!==(null==i?void 0:i.key)||(null==s?void 0:s.offset)!==(null==i?void 0:i.offset)||!a)return!1;if(function(e){return e instanceof oS}(a)){var l=Sb(\" \");a.insertAfter(l)}}),[S,l,h]),T=(0,a.useCallback)((function(e){\"Backspace\"===e.key&&(p.current=!0)}),[p]);return(0,a.useEffect)((function(){if(S)return Xx(S.registerCommand(mp,N,Fx),S.registerCommand(Sp,T,Fx))}),[S,N]),React.createElement(Yw,{onQueryChange:C,onSelectOption:P,triggerFn:function(e){var t=x.exec(e);if(null===t&&(t=w.exec(e)),null!==t){var n=t[1],r=t[3];if(r.length>=0)return{leadOffset:t.index+n.length,matchingString:r,replaceableString:t[2]}}return null},options:O,menuRenderFn:function(e,t){var n=t.selectedIndex,o=t.selectOptionAndCleanUp,s=t.setHighlightedIndex;return e.current&&!(null==O||!O.length)&&React.createElement(u,{size:i},O.map((function(e,t){var a;return React.createElement(f,{key:t,ref:e.ref,size:i,selected:t===n,onMouseEnter:function(){s(t)},onClick:function(){return o(e)}},\"string\"==typeof e.data?e.data:null===(a=e.data)||void 0===a?void 0:a[r])})))}})},ES={ltr:\"ltr\",rtl:\"rtl\",paragraph:\"editor-paragraph\",quote:\"editor-quote\",heading:{h1:\"editor-heading-h1\",h2:\"editor-heading-h2\",h3:\"editor-heading-h3\",h4:\"editor-heading-h4\",h5:\"editor-heading-h5\",h6:\"editor-heading-h6\"},list:{nested:{listitem:\"editor-nested-listitem\"},ol:\"editor-list-ol\",ul:\"editor-list-ul\",listitem:\"editor-listItem\",listitemChecked:\"editor-listItemChecked\",listitemUnchecked:\"editor-listItemUnchecked\"},hashtag:\"editor-hashtag\",image:\"editor-image\",link:\"editor-link\",text:{bold:\"editor-textBold\",code:\"editor-textCode\",italic:\"editor-textItalic\",strikethrough:\"editor-textStrikethrough\",subscript:\"editor-textSubscript\",superscript:\"editor-textSuperscript\",underline:\"editor-textUnderline\",underlineStrikethrough:\"editor-textUnderlineStrikethrough\"},code:\"editor-code\",codeHighlight:{atrule:\"editor-tokenAttr\",attr:\"editor-tokenAttr\",boolean:\"editor-tokenProperty\",builtin:\"editor-tokenSelector\",cdata:\"editor-tokenComment\",char:\"editor-tokenSelector\",class:\"editor-tokenFunction\",\"class-name\":\"editor-tokenFunction\",comment:\"editor-tokenComment\",constant:\"editor-tokenProperty\",deleted:\"editor-tokenProperty\",doctype:\"editor-tokenComment\",entity:\"editor-tokenOperator\",function:\"editor-tokenFunction\",important:\"editor-tokenVariable\",inserted:\"editor-tokenSelector\",keyword:\"editor-tokenAttr\",namespace:\"editor-tokenVariable\",number:\"editor-tokenProperty\",operator:\"editor-tokenOperator\",prolog:\"editor-tokenComment\",property:\"editor-tokenProperty\",punctuation:\"editor-tokenPunctuation\",regex:\"editor-tokenVariable\",selector:\"editor-tokenSelector\",string:\"editor-tokenSelector\",symbol:\"editor-tokenProperty\",tag:\"editor-tokenProperty\",url:\"editor-tokenOperator\",variable:\"editor-tokenVariable\"}},CS=function(e){var t=e.content;return React.createElement(\"div\",{className:\"pointer-events-none absolute inset-0 flex items-center justify-start text-field-placeholder\"},t)};function _S(e){console.error(e)}var PS=function(e,t){var n,r,o=e.defaultValue,i=void 0===o?\"\":o,s=e.placeholder,l=void 0===s?\"Press @ to view variable suggestions\":s,c=e.onChange,u=e.size,d=void 0===u?\"md\":u,f=e.autoFocus,m=void 0!==f&&f,h=e.options,p=void 0===h?[]:h,g=e.by,y=void 0===g?\"name\":g,v=e.trigger,b=void 0===v?\"@\":v,x=e.menuComponent,w=e.menuItemComponent,S=e.className,k=e.wrapperClassName,E=e.disabled,C=void 0!==E&&E,_=e.autoSpaceAfterMention,P=void 0!==_&&_,O={namespace:\"Editor\",editorTheme:ES,onError:_S,nodes:[sS],editorState:i||'{\\n \"root\": {\\n \"children\": [\\n {\\n \"children\": [],\\n \"direction\": null,\\n \"format\": \"\",\\n \"indent\": 0,\\n \"type\": \"paragraph\",\\n \"version\": 1,\\n \"textFormat\": 0,\\n \"textStyle\": \"\"\\n }\\n ],\\n \"direction\": null,\\n \"format\": \"\",\\n \"indent\": 0,\\n \"type\": \"root\",\\n \"version\": 1\\n }\\n}',editable:!C};return(0,a.isValidElement)(x)&&(n=x),(0,a.isValidElement)(w)&&(r=w),React.createElement(\"div\",{className:oe(\"relative w-full\",\"focus-within:ring-2 focus-within:ring-offset-2 hover:border-border-strong focus-within:!border-focus-border focus-within:ring-focus transition duration-150 ease-in-out outline outline-1 outline-field-border\",Iw[d],C&&\"bg-field-secondary-background border-field-border-disabled hover:border-field-border-disabled [&_p]:text-badge-color-disabled cursor-not-allowed\",k)},React.createElement($x,{initialConfig:O},React.createElement(\"div\",{className:\"relative w-full [&_p]:m-0\"},React.createElement(fw,{contentEditable:React.createElement(yw,{className:oe(\"editor-content focus-visible:outline-none outline-none\",\"w-full [&>p]:w-full [&>p]:m-0\",S)}),placeholder:React.createElement(CS,{content:l}),ErrorBoundary:Rw})),React.createElement(Ow,null),React.createElement(kS,{menuComponent:n,menuItemComponent:r,size:d,by:y,optionsArray:p,trigger:b,autoSpace:P}),React.createElement(jw,{onChange:function(e,t){\"function\"==typeof c&&c(e,t)},ignoreSelectionChange:!0}),t&&React.createElement(Aw,{editorRef:t}),m&&React.createElement(Qh,null)))},OS=(0,a.forwardRef)(PS);OS.displayName=\"EditorInput\";var NS=OS;const TS=ke(\"Plus\",[[\"path\",{d:\"M5 12h14\",key:\"1ays0h\"}],[\"path\",{d:\"M12 5v14\",key:\"s699le\"}]]);var MS=function(e,t){return oe(\"rounded-full text-brand-primary-600 transition-colors duration-300\",e[t].dot,e[t].ring)},RS=[\"variant\",\"size\",\"type\",\"currentStep\",\"children\",\"className\",\"lineProps\"],DS=[\"labelText\",\"icon\",\"stepClasses\",\"isCurrent\",\"isCompleted\",\"className\",\"type\",\"variant\",\"sizeClasses\",\"size\",\"isLast\",\"index\",\"lineProps\"];function jS(){return jS=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:size-4\",md:\"[&>svg]:size-5\"})||void 0===n?void 0:n[w],E=function(){y(!g),f&&f(!g)};return l().createElement(\"div\",null,l().createElement(\"div\",{role:\"button\",tabIndex:\"0\",onClick:E,onKeyDown:function(e){\"Enter\"!==e.key&&\" \"!==e.key||E()},onMouseEnter:function(){return c&&x(!0)},onMouseLeave:function(){return c&&x(!1)},className:oe(\"text-text-primary bg-transparent cursor-pointer flex justify-between items-center gap-1\",S,r?\"p-1\":\"p-0\",h),\"aria-expanded\":g},l().createElement(\"span\",{className:\"text-text-tertiary\"},r),i&&l().createElement(em.span,{variants:{open:{rotate:180},closed:{rotate:0}},animate:g?\"open\":\"closed\",transition:{duration:.15},className:oe(\"flex items-center text-border-strong\",k)},l().createElement(em.div,{initial:\"hidden\",animate:g||b?\"visible\":\"hidden\",exit:\"hidden\",variants:{visible:{opacity:1},hidden:{opacity:0}},transition:{duration:.15}},l().createElement(cm,null)))),l().createElement(oh,{initial:!1},g&&l().createElement(em.ul,{variants:{open:{height:\"auto\",opacity:1},closed:{height:0,opacity:0}},initial:\"closed\",animate:\"open\",exit:\"closed\",transition:{duration:.3,ease:\"easeInOut\"},className:\"overflow flex gap-0.5 flex-col m-0 bg-white rounded p-0\"},m)))};qS.displayName=\"Menu.List\";var GS=function(e){var t,n=e.disabled,r=void 0!==n&&n,o=e.active,i=e.onClick,s=e.children,a=e.className,c=HS().size,u=null===(t={sm:\"[&>svg]:size-4 [&>svg]:m-1 [&>*:not(svg)]:mx-1 [&>*:not(svg)]:my-0.5 text-sm\",md:\"[&>svg]:size-5 [&>svg]:m-1.5 [&>*:not(svg)]:m-1 text-base\"})||void 0===t?void 0:t[c],d=r?\"text-text-disabled hover:text-text-disabled cursor-not-allowed hover:bg-transparent\":\"\",f=o?\"text-icon-primary [&>svg]:text-icon-interactive bg-background-secondary\":\"\";return l().createElement(\"li\",{role:\"menuitem\",tabIndex:\"0\",onClick:i,onKeyDown:function(e){\"Enter\"!==e.key&&\" \"!==e.key||i()},className:oe(\"flex p-1 gap-1 items-center bg-transparent border-none rounded text-text-secondary cursor-pointer m-0\",u,\"hover:bg-background-secondary hover:text-text-primary\",d,f,\"transition-colors duration-300 ease-in-out\",a)},s)};GS.displayName=\"Menu.Item\";var XS=function(e){var t,n=e.variant,r=void 0===n?\"solid\":n,o=e.className,i=null===(t={solid:\"border-solid\",dashed:\"border-dashed\",dotted:\"border-dotted\",double:\"border-double\",hidden:\"border-hidden\",none:\"border-none\"})||void 0===t?void 0:t[r];return l().createElement(l().Fragment,null,l().createElement(\"hr\",{className:oe(\"w-full border-0 border-t border-border-subtle\",i,o)}))};XS.displayName=\"Menu.Separator\";var ZS=Object.assign(KS,{List:qS,Item:GS,Separator:XS});const JS=ke(\"PanelLeftOpen\",[[\"rect\",{width:\"18\",height:\"18\",x:\"3\",y:\"3\",rx:\"2\",key:\"afitv7\"}],[\"path\",{d:\"M9 3v18\",key:\"fh3hqa\"}],[\"path\",{d:\"m14 9 3 3-3 3\",key:\"8010ee\"}]]),QS=ke(\"PanelLeftClose\",[[\"rect\",{width:\"18\",height:\"18\",x:\"3\",y:\"3\",rx:\"2\",key:\"afitv7\"}],[\"path\",{d:\"M9 3v18\",key:\"fh3hqa\"}],[\"path\",{d:\"m16 15-3-3 3-3\",key:\"14y99z\"}]]);var ek=[\"children\",\"className\",\"onCollapseChange\",\"collapsible\",\"screenHeight\",\"borderOn\"];function tk(){return tk=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);nsvg]:block h-full\",n)},t)};tE.displayName=\"Topbar.Item\";var nE=Object.assign(Zk,{Left:Jk,Middle:Qk,Right:eE,Item:tE}),rE={sm:\"text-xs [&>svg]:size-4 rounded\",md:\"text-sm [&>svg]:size-5 rounded-md\",lg:\"text-base [&>svg]:size-6 rounded-md\"},oE={input:{sm:\"py-1.5 px-2 rounded\",md:\"p-2.5 rounded-md\",lg:\"p-3 rounded-md\"},content:{sm:\"p-1.5\",md:\"p-1.5\",lg:\"p-2\"},title:{sm:\"p-2 text-xs\",md:\"p-2 text-sm\",lg:\"p-2 text-sm\"},item:{sm:\"text-sm text-text-secondary rounded\",md:\"text-base text-text-secondary rounded-md\",lg:\"text-base text-text-secondary rounded-md\"},icon:{sm:\"p-1 text-sm [&>svg]:size-4 text-icon-secondary\",md:\"p-2 text-base [&>svg]:size-5 text-icon-secondary\",lg:\"p-2 text-base [&>svg]:size-5 text-icon-secondary\"},dialog:{sm:\"mt-1 rounded-md\",md:\"mt-1.5 rounded-lg\",lg:\"mt-1.5 rounded-lg\"},slashIcon:{sm:\"px-2 py-0.5\",md:\"px-3 py-1\",lg:\"px-3.5 py-1\"}},iE={primary:\"bg-field-primary-background outline outline-1 outline-field-border hover:outline-border-strong\",secondary:\"bg-field-secondary-background outline outline-1 outline-field-border hover:outline-border-strong\",ghost:\"bg-field-secondary-background outline outline-1 outline-transparent\"},sE={ghost:\"cursor-not-allowed text-text-disabled placeholder:text-text-disabled\",primary:\"border-border-disabled hover:border-border-disabled bg-field-background-disabled cursor-not-allowed text-text-disabled placeholder:text-text-disabled\",secondary:\"border-border-disabled hover:border-border-disabled cursor-not-allowed text-text-disabled placeholder:text-text-disabled\"};function aE(e){return aE=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},aE(e)}var lE=[\"className\",\"size\",\"open\",\"onOpenChange\",\"loading\"],cE=[\"className\",\"type\",\"placeholder\",\"variant\",\"disabled\",\"onChange\"],uE=[\"className\",\"dropdownPortalRoot\",\"dropdownPortalId\",\"children\"],dE=[\"className\",\"icon\",\"children\"],fE=[\"className\"];function mE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function hE(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0?(0,a.cloneElement)(e,{children:t}):null}return e})).filter(Boolean);return s?React.createElement(NE,null):React.createElement(\"div\",null,l.some((function(e){return e.type!==TE}))?l:React.createElement(_E,null))};CE.displayName=\"SearchBox.List\";var _E=function(e){var t=e.children,n=void 0===t?\"No results found.\":t,r=wE().size;return React.createElement(\"div\",{className:oe(\"flex justify-center items-center\",oE.item[r],\"text-text-tertiary p-4\")},n)};_E.displayName=\"SearchBox.Empty\";var PE=function(e){var t=e.heading,n=e.children,r=wE().size;return React.createElement(\"div\",{className:oe(oE.content[r],oE.item[r])},t&&React.createElement(\"div\",{className:oe(oE.title[r],\"text-text-secondary\")},t),n)};PE.displayName=\"SearchBox.Group\";var OE=(0,a.forwardRef)((function(e,t){var n=e.className,r=e.icon,o=e.children,i=bE(e,dE),s=wE().size;return React.createElement(\"div\",gE({ref:t,className:oe(\"flex items-center justify-start gap-1 p-1 hover:bg-background-secondary focus:bg-background-secondary cursor-pointer\",oE.item[s])},i),r&&React.createElement(\"span\",{className:oe(oE.icon[s],\"flex items-center justify-center\")},r),React.createElement(\"span\",{className:oe(\"flex-grow p-1 font-normal cursor-pointer\",oE.item[s],n)},o))}));OE.displayName=\"SearchBox.Item\";var NE=function(e){var t=e.loadingIcon,n=void 0===t?React.createElement(bi,null):t,r=wE().size,o=(0,a.cloneElement)(n,{size:r});return React.createElement(\"div\",{className:oe(\"flex justify-center p-4\",rE[r],oE.item[r])},o)};NE.displayName=\"SearchBox.Loading\";var TE=(0,a.forwardRef)((function(e,t){var n=e.className,r=bE(e,fE);return React.createElement(\"hr\",gE({ref:t,className:oe(\"border-0 border-t border-border-subtle border-solid m-0\",n)},r))}));TE.displayName=\"SearchBox.Separator\",SE.Input=kE,SE.Loading=NE,SE.Separator=TE,SE.Content=EE,SE.List=CE,SE.Empty=_E,SE.Group=PE,SE.Item=OE;var ME=SE;function RE(e){return RE=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},RE(e)}var DE=[\"children\",\"className\"],jE=[\"children\"],AE=[\"children\",\"as\"];function IE(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;re.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n{n.focused&&o.current?.focus()}),[n.focused]),a.createElement(\"button\",{ref:o,...r})}function t_(e){const{options:t,className:n,components:r,classNames:o,...i}=e,s=[o[HC.Dropdown],n].join(\" \"),l=t?.find((({value:e})=>e===i.value));return a.createElement(\"span\",{\"data-disabled\":i.disabled,className:o[HC.DropdownRoot]},a.createElement(r.Select,{className:s,...i},t?.map((({value:e,label:t,disabled:n})=>a.createElement(r.Option,{key:e,value:e,disabled:n},t)))),a.createElement(\"span\",{className:o[HC.CaptionLabel],\"aria-hidden\":!0},l?.label,a.createElement(r.Chevron,{orientation:\"down\",size:18,className:o[HC.Chevron]})))}function n_(e){return a.createElement(\"div\",{...e})}function r_(e){return a.createElement(\"div\",{...e})}function o_(e){const{calendarMonth:t,displayIndex:n,...r}=e;return a.createElement(\"div\",{...r},e.children)}function i_(e){const{calendarMonth:t,displayIndex:n,...r}=e;return a.createElement(\"div\",{...r})}function s_(e){return a.createElement(\"table\",{...e})}function a_(e){return a.createElement(\"div\",{...e})}!function(e){e.Root=\"root\",e.Chevron=\"chevron\",e.Day=\"day\",e.DayButton=\"day_button\",e.CaptionLabel=\"caption_label\",e.Dropdowns=\"dropdowns\",e.Dropdown=\"dropdown\",e.DropdownRoot=\"dropdown_root\",e.Footer=\"footer\",e.MonthGrid=\"month_grid\",e.MonthCaption=\"month_caption\",e.MonthsDropdown=\"months_dropdown\",e.Month=\"month\",e.Months=\"months\",e.Nav=\"nav\",e.NextMonthButton=\"button_next\",e.PreviousMonthButton=\"button_previous\",e.Week=\"week\",e.Weeks=\"weeks\",e.Weekday=\"weekday\",e.Weekdays=\"weekdays\",e.WeekNumber=\"week_number\",e.WeekNumberHeader=\"week_number_header\",e.YearsDropdown=\"years_dropdown\"}(HC||(HC={})),function(e){e.disabled=\"disabled\",e.hidden=\"hidden\",e.outside=\"outside\",e.focused=\"focused\",e.today=\"today\"}(KC||(KC={})),function(e){e.range_end=\"range_end\",e.range_middle=\"range_middle\",e.range_start=\"range_start\",e.selected=\"selected\"}(qC||(qC={}));const l_=(0,a.createContext)(void 0);function c_(){const e=(0,a.useContext)(l_);if(void 0===e)throw new Error(\"useDayPicker() must be used within a custom component.\");return e}function u_(e){const{components:t}=c_();return a.createElement(t.Dropdown,{...e})}function d_(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:o,...i}=e,{components:s,classNames:l,labels:{labelPrevious:c,labelNext:u}}=c_();return a.createElement(\"nav\",{...i},a.createElement(s.PreviousMonthButton,{type:\"button\",className:l[HC.PreviousMonthButton],tabIndex:r?void 0:-1,disabled:!r||void 0,\"aria-label\":c(r),onClick:e.onPreviousClick},a.createElement(s.Chevron,{disabled:!r||void 0,className:l[HC.Chevron],orientation:\"left\"})),a.createElement(s.NextMonthButton,{type:\"button\",className:l[HC.NextMonthButton],tabIndex:o?void 0:-1,disabled:!o||void 0,\"aria-label\":u(o),onClick:e.onNextClick},a.createElement(s.Chevron,{disabled:!o||void 0,orientation:\"right\",className:l[HC.Chevron]})))}function f_(e){const{components:t}=c_();return a.createElement(t.Button,{...e})}function m_(e){return a.createElement(\"option\",{...e})}function h_(e){const{components:t}=c_();return a.createElement(t.Button,{...e})}function p_(e){return a.createElement(\"div\",{...e})}function g_(e){return a.createElement(\"select\",{...e})}function y_(e){const{week:t,...n}=e;return a.createElement(\"tr\",{...n})}function v_(e){return a.createElement(\"th\",{...e})}function b_(e){return a.createElement(\"thead\",null,a.createElement(\"tr\",{...e}))}function x_(e){const{week:t,...n}=e;return a.createElement(\"th\",{...n})}function w_(e){return a.createElement(\"th\",{...e})}function S_(e){return a.createElement(\"tbody\",{...e})}function k_(e){const{components:t}=c_();return a.createElement(t.Dropdown,{...e})}Math.pow(10,8);const E_=6048e5,C_=864e5,P_=Symbol.for(\"constructDateFrom\");function O_(e,t){return\"function\"==typeof e?e(t):e&&\"object\"==typeof e&&P_ in e?e[P_](t):e instanceof Date?new e.constructor(t):new Date(t)}function N_(e,t){return O_(t||e,e)}function T_(e,t,n){const r=N_(e,n?.in);return isNaN(t)?O_(n?.in||e,NaN):t?(r.setDate(r.getDate()+t),r):r}function M_(e,t,n){const r=N_(e,n?.in);if(isNaN(t))return O_(n?.in||e,NaN);if(!t)return r;const o=r.getDate(),i=O_(n?.in||e,r.getTime());return i.setMonth(r.getMonth()+t+1,0),o>=i.getDate()?i:(r.setFullYear(i.getFullYear(),i.getMonth(),o),r)}function R_(e,t,n){return T_(e,7*t,n)}function D_(e){const t=N_(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function j_(e,...t){const n=O_.bind(null,e||t.find((e=>\"object\"==typeof e)));return t.map(n)}function A_(e,t){const n=N_(e,t?.in);return n.setHours(0,0,0,0),n}function I_(e,t,n){const[r,o]=j_(n?.in,e,t),i=A_(r),s=A_(o),a=+i-D_(i),l=+s-D_(s);return Math.round((a-l)/C_)}let L_={};function F_(){return L_}function z_(e,t){const n=F_(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=N_(e,t?.in),i=o.getDay(),s=6+(i{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const U_={date:V_({formats:{full:\"EEEE, MMMM do, y\",long:\"MMMM do, y\",medium:\"MMM d, y\",short:\"MM/dd/yyyy\"},defaultWidth:\"full\"}),time:V_({formats:{full:\"h:mm:ss a zzzz\",long:\"h:mm:ss a z\",medium:\"h:mm:ss a\",short:\"h:mm a\"},defaultWidth:\"full\"}),dateTime:V_({formats:{full:\"{{date}} 'at' {{time}}\",long:\"{{date}} 'at' {{time}}\",medium:\"{{date}}, {{time}}\",short:\"{{date}}, {{time}}\"},defaultWidth:\"full\"})},$_={lastWeek:\"'last' eeee 'at' p\",yesterday:\"'yesterday at' p\",today:\"'today at' p\",tomorrow:\"'tomorrow at' p\",nextWeek:\"eeee 'at' p\",other:\"P\"};function Y_(e){return(t,n)=>{let r;if(\"formatting\"===(n?.context?String(n.context):\"standalone\")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,o=n?.width?String(n.width):t;r=e.formattingValues[o]||e.formattingValues[t]}else{const t=e.defaultWidth,o=n?.width?String(n.width):e.defaultWidth;r=e.values[o]||e.values[t]}return r[e.argumentCallback?e.argumentCallback(t):t]}}const H_={ordinalNumber:(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+\"st\";case 2:return n+\"nd\";case 3:return n+\"rd\"}return n+\"th\"},era:Y_({values:{narrow:[\"B\",\"A\"],abbreviated:[\"BC\",\"AD\"],wide:[\"Before Christ\",\"Anno Domini\"]},defaultWidth:\"wide\"}),quarter:Y_({values:{narrow:[\"1\",\"2\",\"3\",\"4\"],abbreviated:[\"Q1\",\"Q2\",\"Q3\",\"Q4\"],wide:[\"1st quarter\",\"2nd quarter\",\"3rd quarter\",\"4th quarter\"]},defaultWidth:\"wide\",argumentCallback:e=>e-1}),month:Y_({values:{narrow:[\"J\",\"F\",\"M\",\"A\",\"M\",\"J\",\"J\",\"A\",\"S\",\"O\",\"N\",\"D\"],abbreviated:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],wide:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"]},defaultWidth:\"wide\"}),day:Y_({values:{narrow:[\"S\",\"M\",\"T\",\"W\",\"T\",\"F\",\"S\"],short:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],abbreviated:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],wide:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"]},defaultWidth:\"wide\"}),dayPeriod:Y_({values:{narrow:{am:\"a\",pm:\"p\",midnight:\"mi\",noon:\"n\",morning:\"morning\",afternoon:\"afternoon\",evening:\"evening\",night:\"night\"},abbreviated:{am:\"AM\",pm:\"PM\",midnight:\"midnight\",noon:\"noon\",morning:\"morning\",afternoon:\"afternoon\",evening:\"evening\",night:\"night\"},wide:{am:\"a.m.\",pm:\"p.m.\",midnight:\"midnight\",noon:\"noon\",morning:\"morning\",afternoon:\"afternoon\",evening:\"evening\",night:\"night\"}},defaultWidth:\"wide\",formattingValues:{narrow:{am:\"a\",pm:\"p\",midnight:\"mi\",noon:\"n\",morning:\"in the morning\",afternoon:\"in the afternoon\",evening:\"in the evening\",night:\"at night\"},abbreviated:{am:\"AM\",pm:\"PM\",midnight:\"midnight\",noon:\"noon\",morning:\"in the morning\",afternoon:\"in the afternoon\",evening:\"in the evening\",night:\"at night\"},wide:{am:\"a.m.\",pm:\"p.m.\",midnight:\"midnight\",noon:\"noon\",morning:\"in the morning\",afternoon:\"in the afternoon\",evening:\"in the evening\",night:\"at night\"}},defaultFormattingWidth:\"wide\"})};function K_(e){return(t,n={})=>{const r=n.width,o=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],i=t.match(o);if(!i)return null;const s=i[0],a=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(a)?function(e){for(let t=0;tparseInt(e,10)},(e,t={})=>{const n=e.match(G_.matchPattern);if(!n)return null;const r=n[0],o=e.match(G_.parsePattern);if(!o)return null;let i=G_.valueCallback?G_.valueCallback(o[0]):o[0];return i=t.valueCallback?t.valueCallback(i):i,{value:i,rest:e.slice(r.length)}}),era:K_({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:\"wide\",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:\"any\"}),quarter:K_({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:\"wide\",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:\"any\",valueCallback:e=>e+1}),month:K_({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:\"wide\",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:\"any\"}),day:K_({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:\"wide\",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:\"any\"}),dayPeriod:K_({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:\"any\",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:\"any\"})};var G_;const X_={code:\"en-US\",formatDistance:(e,t,n)=>{let r;const o=W_[e];return r=\"string\"==typeof o?o:1===t?o.one:o.other.replace(\"{{count}}\",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?\"in \"+r:r+\" ago\":r},formatLong:U_,formatRelative:(e,t,n,r)=>$_[e],localize:H_,match:q_,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Z_(e,t){const n=N_(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function J_(e,t){const n=F_(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=N_(e,t?.in),i=o.getDay(),s=(i=i.getTime()?r+1:n.getTime()>=a.getTime()?r:r-1}function tP(e,t){const n=N_(e,t?.in),r=+Q_(n)-+function(e,t){const n=eP(e,t),r=O_(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Q_(r)}(n);return Math.round(r/E_)+1}function nP(e,t){const n=N_(e,t?.in),r=n.getFullYear(),o=F_(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,s=O_(t?.in||e,0);s.setFullYear(r+1,0,i),s.setHours(0,0,0,0);const a=J_(s,t),l=O_(t?.in||e,0);l.setFullYear(r,0,i),l.setHours(0,0,0,0);const c=J_(l,t);return+n>=+a?r+1:+n>=+c?r:r-1}function rP(e,t){const n=N_(e,t?.in),r=+J_(n,t)-+function(e,t){const n=F_(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,o=nP(e,t),i=O_(t?.in||e,0);return i.setFullYear(o,0,r),i.setHours(0,0,0,0),J_(i,t)}(n,t);return Math.round(r/E_)+1}function oP(e,t){return(e<0?\"-\":\"\")+Math.abs(e).toString().padStart(t,\"0\")}const iP={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return oP(\"yy\"===t?r%100:r,t.length)},M(e,t){const n=e.getMonth();return\"M\"===t?String(n+1):oP(n+1,2)},d(e,t){return oP(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?\"pm\":\"am\";switch(t){case\"a\":case\"aa\":return n.toUpperCase();case\"aaa\":return n;case\"aaaaa\":return n[0];default:return\"am\"===n?\"a.m.\":\"p.m.\"}},h(e,t){return oP(e.getHours()%12||12,t.length)},H(e,t){return oP(e.getHours(),t.length)},m(e,t){return oP(e.getMinutes(),t.length)},s(e,t){return oP(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds();return oP(Math.trunc(r*Math.pow(10,n-3)),t.length)}},sP={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case\"G\":case\"GG\":case\"GGG\":return n.era(r,{width:\"abbreviated\"});case\"GGGGG\":return n.era(r,{width:\"narrow\"});default:return n.era(r,{width:\"wide\"})}},y:function(e,t,n){if(\"yo\"===t){const t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:\"year\"})}return iP.y(e,t)},Y:function(e,t,n,r){const o=nP(e,r),i=o>0?o:1-o;return\"YY\"===t?oP(i%100,2):\"Yo\"===t?n.ordinalNumber(i,{unit:\"year\"}):oP(i,t.length)},R:function(e,t){return oP(eP(e),t.length)},u:function(e,t){return oP(e.getFullYear(),t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case\"Q\":return String(r);case\"QQ\":return oP(r,2);case\"Qo\":return n.ordinalNumber(r,{unit:\"quarter\"});case\"QQQ\":return n.quarter(r,{width:\"abbreviated\",context:\"formatting\"});case\"QQQQQ\":return n.quarter(r,{width:\"narrow\",context:\"formatting\"});default:return n.quarter(r,{width:\"wide\",context:\"formatting\"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case\"q\":return String(r);case\"qq\":return oP(r,2);case\"qo\":return n.ordinalNumber(r,{unit:\"quarter\"});case\"qqq\":return n.quarter(r,{width:\"abbreviated\",context:\"standalone\"});case\"qqqqq\":return n.quarter(r,{width:\"narrow\",context:\"standalone\"});default:return n.quarter(r,{width:\"wide\",context:\"standalone\"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case\"M\":case\"MM\":return iP.M(e,t);case\"Mo\":return n.ordinalNumber(r+1,{unit:\"month\"});case\"MMM\":return n.month(r,{width:\"abbreviated\",context:\"formatting\"});case\"MMMMM\":return n.month(r,{width:\"narrow\",context:\"formatting\"});default:return n.month(r,{width:\"wide\",context:\"formatting\"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case\"L\":return String(r+1);case\"LL\":return oP(r+1,2);case\"Lo\":return n.ordinalNumber(r+1,{unit:\"month\"});case\"LLL\":return n.month(r,{width:\"abbreviated\",context:\"standalone\"});case\"LLLLL\":return n.month(r,{width:\"narrow\",context:\"standalone\"});default:return n.month(r,{width:\"wide\",context:\"standalone\"})}},w:function(e,t,n,r){const o=rP(e,r);return\"wo\"===t?n.ordinalNumber(o,{unit:\"week\"}):oP(o,t.length)},I:function(e,t,n){const r=tP(e);return\"Io\"===t?n.ordinalNumber(r,{unit:\"week\"}):oP(r,t.length)},d:function(e,t,n){return\"do\"===t?n.ordinalNumber(e.getDate(),{unit:\"date\"}):iP.d(e,t)},D:function(e,t,n){const r=function(e,t){const n=N_(e,t?.in);return I_(n,Z_(n))+1}(e);return\"Do\"===t?n.ordinalNumber(r,{unit:\"dayOfYear\"}):oP(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case\"E\":case\"EE\":case\"EEE\":return n.day(r,{width:\"abbreviated\",context:\"formatting\"});case\"EEEEE\":return n.day(r,{width:\"narrow\",context:\"formatting\"});case\"EEEEEE\":return n.day(r,{width:\"short\",context:\"formatting\"});default:return n.day(r,{width:\"wide\",context:\"formatting\"})}},e:function(e,t,n,r){const o=e.getDay(),i=(o-r.weekStartsOn+8)%7||7;switch(t){case\"e\":return String(i);case\"ee\":return oP(i,2);case\"eo\":return n.ordinalNumber(i,{unit:\"day\"});case\"eee\":return n.day(o,{width:\"abbreviated\",context:\"formatting\"});case\"eeeee\":return n.day(o,{width:\"narrow\",context:\"formatting\"});case\"eeeeee\":return n.day(o,{width:\"short\",context:\"formatting\"});default:return n.day(o,{width:\"wide\",context:\"formatting\"})}},c:function(e,t,n,r){const o=e.getDay(),i=(o-r.weekStartsOn+8)%7||7;switch(t){case\"c\":return String(i);case\"cc\":return oP(i,t.length);case\"co\":return n.ordinalNumber(i,{unit:\"day\"});case\"ccc\":return n.day(o,{width:\"abbreviated\",context:\"standalone\"});case\"ccccc\":return n.day(o,{width:\"narrow\",context:\"standalone\"});case\"cccccc\":return n.day(o,{width:\"short\",context:\"standalone\"});default:return n.day(o,{width:\"wide\",context:\"standalone\"})}},i:function(e,t,n){const r=e.getDay(),o=0===r?7:r;switch(t){case\"i\":return String(o);case\"ii\":return oP(o,t.length);case\"io\":return n.ordinalNumber(o,{unit:\"day\"});case\"iii\":return n.day(r,{width:\"abbreviated\",context:\"formatting\"});case\"iiiii\":return n.day(r,{width:\"narrow\",context:\"formatting\"});case\"iiiiii\":return n.day(r,{width:\"short\",context:\"formatting\"});default:return n.day(r,{width:\"wide\",context:\"formatting\"})}},a:function(e,t,n){const r=e.getHours()/12>=1?\"pm\":\"am\";switch(t){case\"a\":case\"aa\":return n.dayPeriod(r,{width:\"abbreviated\",context:\"formatting\"});case\"aaa\":return n.dayPeriod(r,{width:\"abbreviated\",context:\"formatting\"}).toLowerCase();case\"aaaaa\":return n.dayPeriod(r,{width:\"narrow\",context:\"formatting\"});default:return n.dayPeriod(r,{width:\"wide\",context:\"formatting\"})}},b:function(e,t,n){const r=e.getHours();let o;switch(o=12===r?\"noon\":0===r?\"midnight\":r/12>=1?\"pm\":\"am\",t){case\"b\":case\"bb\":return n.dayPeriod(o,{width:\"abbreviated\",context:\"formatting\"});case\"bbb\":return n.dayPeriod(o,{width:\"abbreviated\",context:\"formatting\"}).toLowerCase();case\"bbbbb\":return n.dayPeriod(o,{width:\"narrow\",context:\"formatting\"});default:return n.dayPeriod(o,{width:\"wide\",context:\"formatting\"})}},B:function(e,t,n){const r=e.getHours();let o;switch(o=r>=17?\"evening\":r>=12?\"afternoon\":r>=4?\"morning\":\"night\",t){case\"B\":case\"BB\":case\"BBB\":return n.dayPeriod(o,{width:\"abbreviated\",context:\"formatting\"});case\"BBBBB\":return n.dayPeriod(o,{width:\"narrow\",context:\"formatting\"});default:return n.dayPeriod(o,{width:\"wide\",context:\"formatting\"})}},h:function(e,t,n){if(\"ho\"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:\"hour\"})}return iP.h(e,t)},H:function(e,t,n){return\"Ho\"===t?n.ordinalNumber(e.getHours(),{unit:\"hour\"}):iP.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return\"Ko\"===t?n.ordinalNumber(r,{unit:\"hour\"}):oP(r,t.length)},k:function(e,t,n){let r=e.getHours();return 0===r&&(r=24),\"ko\"===t?n.ordinalNumber(r,{unit:\"hour\"}):oP(r,t.length)},m:function(e,t,n){return\"mo\"===t?n.ordinalNumber(e.getMinutes(),{unit:\"minute\"}):iP.m(e,t)},s:function(e,t,n){return\"so\"===t?n.ordinalNumber(e.getSeconds(),{unit:\"second\"}):iP.s(e,t)},S:function(e,t){return iP.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(0===r)return\"Z\";switch(t){case\"X\":return lP(r);case\"XXXX\":case\"XX\":return cP(r);default:return cP(r,\":\")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case\"x\":return lP(r);case\"xxxx\":case\"xx\":return cP(r);default:return cP(r,\":\")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case\"O\":case\"OO\":case\"OOO\":return\"GMT\"+aP(r,\":\");default:return\"GMT\"+cP(r,\":\")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case\"z\":case\"zz\":case\"zzz\":return\"GMT\"+aP(r,\":\");default:return\"GMT\"+cP(r,\":\")}},t:function(e,t,n){return oP(Math.trunc(+e/1e3),t.length)},T:function(e,t,n){return oP(+e,t.length)}};function aP(e,t=\"\"){const n=e>0?\"-\":\"+\",r=Math.abs(e),o=Math.trunc(r/60),i=r%60;return 0===i?n+String(o):n+String(o)+t+oP(i,2)}function lP(e,t){return e%60==0?(e>0?\"-\":\"+\")+oP(Math.abs(e)/60,2):cP(e,t)}function cP(e,t=\"\"){const n=e>0?\"-\":\"+\",r=Math.abs(e);return n+oP(Math.trunc(r/60),2)+t+oP(r%60,2)}const uP=(e,t)=>{switch(e){case\"P\":return t.date({width:\"short\"});case\"PP\":return t.date({width:\"medium\"});case\"PPP\":return t.date({width:\"long\"});default:return t.date({width:\"full\"})}},dP=(e,t)=>{switch(e){case\"p\":return t.time({width:\"short\"});case\"pp\":return t.time({width:\"medium\"});case\"ppp\":return t.time({width:\"long\"});default:return t.time({width:\"full\"})}},fP={p:dP,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],o=n[2];if(!o)return uP(e,t);let i;switch(r){case\"P\":i=t.dateTime({width:\"short\"});break;case\"PP\":i=t.dateTime({width:\"medium\"});break;case\"PPP\":i=t.dateTime({width:\"long\"});break;default:i=t.dateTime({width:\"full\"})}return i.replace(\"{{date}}\",uP(r,t)).replace(\"{{time}}\",dP(o,t))}},mP=/^D+$/,hP=/^Y+$/,pP=[\"D\",\"DD\",\"YY\",\"YYYY\"];function gP(e){return e instanceof Date||\"object\"==typeof e&&\"[object Date]\"===Object.prototype.toString.call(e)}const yP=/[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g,vP=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,bP=/^'([^]*?)'?$/,xP=/''/g,wP=/[a-zA-Z]/;function SP(e,t,n){const r=F_(),o=n?.locale??r.locale??X_,i=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,s=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,a=N_(e,n?.in);if(!function(e){return!(!gP(e)&&\"number\"!=typeof e||isNaN(+N_(e)))}(a))throw new RangeError(\"Invalid time value\");let l=t.match(vP).map((e=>{const t=e[0];return\"p\"===t||\"P\"===t?(0,fP[t])(e,o.formatLong):e})).join(\"\").match(yP).map((e=>{if(\"''\"===e)return{isToken:!1,value:\"'\"};const t=e[0];if(\"'\"===t)return{isToken:!1,value:kP(e)};if(sP[t])return{isToken:!0,value:e};if(t.match(wP))throw new RangeError(\"Format string contains an unescaped latin alphabet character `\"+t+\"`\");return{isToken:!1,value:e}}));o.localize.preprocessor&&(l=o.localize.preprocessor(a,l));const c={firstWeekContainsDate:i,weekStartsOn:s,locale:o};return l.map((r=>{if(!r.isToken)return r.value;const i=r.value;return(!n?.useAdditionalWeekYearTokens&&function(e){return hP.test(e)}(i)||!n?.useAdditionalDayOfYearTokens&&function(e){return mP.test(e)}(i))&&function(e,t,n){const r=function(e,t,n){const r=\"Y\"===e[0]?\"years\":\"days of the month\";return`Use \\`${e.toLowerCase()}\\` instead of \\`${e}\\` (in \\`${t}\\`) for formatting ${r} to the input \\`${n}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(r),pP.includes(e))throw new RangeError(r)}(i,t,String(e)),(0,sP[i[0]])(a,i,o.localize,c)})).join(\"\")}function kP(e){const t=e.match(bP);return t?t[1].replace(xP,\"'\"):e}function EP(e,t){const n=N_(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}const CP={addDays:T_,addMonths:M_,addWeeks:R_,addYears:function(e,t,n){return M_(e,12*t,n)},differenceInCalendarDays:I_,differenceInCalendarMonths:function(e,t,n){const[r,o]=j_(n?.in,e,t);return 12*(r.getFullYear()-o.getFullYear())+(r.getMonth()-o.getMonth())},endOfISOWeek:function(e,t){return z_(e,{...t,weekStartsOn:1})},endOfMonth:B_,endOfWeek:z_,endOfYear:function(e,t){const n=N_(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n},format:SP,getISOWeek:tP,getWeek:rP,isAfter:function(e,t){return+N_(e)>+N_(t)},isBefore:function(e,t){return+N_(e)<+N_(t)},isDate:gP,isSameDay:function(e,t,n){const[r,o]=j_(n?.in,e,t);return+A_(r)==+A_(o)},isSameMonth:function(e,t,n){const[r,o]=j_(n?.in,e,t);return r.getFullYear()===o.getFullYear()&&r.getMonth()===o.getMonth()},isSameYear:function(e,t,n){const[r,o]=j_(n?.in,e,t);return r.getFullYear()===o.getFullYear()},max:function(e,t){let n,r=t?.in;return e.forEach((e=>{r||\"object\"!=typeof e||(r=O_.bind(null,e));const t=N_(e,r);(!n||n{r||\"object\"!=typeof e||(r=O_.bind(null,e));const t=N_(e,r);(!n||n>t||isNaN(+t))&&(n=t)})),O_(r,n||NaN)},setMonth:function(e,t,n){const r=N_(e,n?.in),o=r.getFullYear(),i=r.getDate(),s=O_(n?.in||e,0);s.setFullYear(o,t,15),s.setHours(0,0,0,0);const a=function(e,t){const n=N_(e,t?.in),r=n.getFullYear(),o=n.getMonth(),i=O_(n,0);return i.setFullYear(r,o+1,0),i.setHours(0,0,0,0),i.getDate()}(s);return r.setMonth(t,Math.min(i,a)),r},setYear:function(e,t,n){const r=N_(e,n?.in);return isNaN(+r)?O_(n?.in||e,NaN):(r.setFullYear(t),r)},startOfDay:A_,startOfISOWeek:Q_,startOfMonth:EP,startOfWeek:J_,startOfYear:Z_};function _P(){const e={};for(const t in HC)e[HC[t]]=`rdp-${HC[t]}`;for(const t in KC)e[KC[t]]=`rdp-${KC[t]}`;for(const t in qC)e[qC[t]]=`rdp-${qC[t]}`;return e}Symbol.for(\"constructDateFrom\");const PP={},OP={};function NP(e,t){try{const n=(PP[e]||=new Intl.DateTimeFormat(\"en-GB\",{timeZone:e,hour:\"numeric\",timeZoneName:\"longOffset\"}).format)(t).split(\"GMT\")[1]||\"\";return n in OP?OP[n]:MP(n,n.split(\":\"))}catch{if(e in OP)return OP[e];const t=e?.match(TP);return t?MP(e,t.slice(1)):NaN}}const TP=/([+-]\\d\\d):?(\\d\\d)?/;function MP(e,t){const n=+t[0],r=+(t[1]||0);return OP[e]=n>0?60*n+r:60*n-r}class RP extends Date{constructor(...e){super(),e.length>1&&\"string\"==typeof e[e.length-1]&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(NP(this.timeZone,this))?this.setTime(NaN):e.length?\"number\"==typeof e[0]&&(1===e.length||2===e.length&&\"number\"!=typeof e[1])?this.setTime(e[0]):\"string\"==typeof e[0]?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),AP(this)):this.setTime(Date.now()),jP(this)}static tz(e,...t){return t.length?new RP(...t,e):new RP(Date.now(),e)}withTimeZone(e){return new RP(+this,e)}getTimezoneOffset(){return-NP(this.timeZone,this)}[Symbol.for(\"constructDateFrom\")](e){return new RP(+new Date(e),this.timeZone)}}const DP=/^(get|set)(?!UTC)/;function jP(e){e.internal.setTime(+e),e.internal.setUTCMinutes(e.internal.getUTCMinutes()-e.getTimezoneOffset())}function AP(e){const t=NP(e.timeZone,e),n=new Date(+e);n.setUTCHours(n.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),o=r- -new Date(+n).getTimezoneOffset(),i=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();o&&i&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+o);const s=r-t;s&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+s);const a=NP(e.timeZone,e),l=-new Date(+e).getTimezoneOffset()-a-s;if(a!==t&&l){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+l);const t=a-NP(e.timeZone,e);t&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+t),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+t))}}Object.getOwnPropertyNames(Date.prototype).forEach((e=>{if(!DP.test(e))return;const t=e.replace(DP,\"$1UTC\");RP.prototype[t]&&(e.startsWith(\"get\")?RP.prototype[e]=function(){return this.internal[t]()}:(RP.prototype[e]=function(){var e;return Date.prototype[t].apply(this.internal,arguments),e=this,Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),AP(e),+this},RP.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),jP(this),+this}))}));class IP extends RP{static tz(e,...t){return t.length?new IP(...t,e):new IP(Date.now(),e)}toISOString(){const[e,t,n]=this.tzComponents(),r=`${e}${t}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[e,t,n,r]=this.internal.toUTCString().split(\" \");return`${e?.slice(0,-1)} ${n} ${t} ${r}`}toTimeString(){const e=this.internal.toUTCString().split(\" \")[4],[t,n,r]=this.tzComponents();return`${e} GMT${t}${n}${r} (${o=this.timeZone,i=this,new Intl.DateTimeFormat(\"en-GB\",{timeZone:o,timeZoneName:\"long\"}).format(i).slice(12)})`;var o,i}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){const e=this.getTimezoneOffset();return[e>0?\"-\":\"+\",String(Math.floor(Math.abs(e)/60)).padStart(2,\"0\"),String(Math.abs(e)%60).padStart(2,\"0\")]}withTimeZone(e){return new IP(+this,e)}[Symbol.for(\"constructDateFrom\")](e){return new IP(+new Date(e),this.timeZone)}}function LP(e,t,n=CP){return n.format(e,\"LLLL y\",t)}const FP=LP;function zP(e,t,n=CP){return n.format(e,\"d\",t)}function BP(e,t=X_){return t.localize?.month(e)}function WP(e){return e<10?`0${e.toLocaleString()}`:`${e.toLocaleString()}`}function VP(){return\"\"}function UP(e,t,n=CP){return n.format(e,\"cccccc\",t)}function $P(e){return e.toString()}const YP=$P;function HP(e,t,n=CP){return n.format(e,\"LLLL y\",t)}const KP=HP;function qP(e,t,n,r=CP){let o=r.format(e,\"PPPP\",n);return t?.today&&(o=`Today, ${o}`),o}function GP(e,t,n,r=CP){let o=r.format(e,\"PPPP\",n);return t.today&&(o=`Today, ${o}`),t.selected&&(o=`${o}, selected`),o}const XP=GP;function ZP(){return\"\"}function JP(e){return\"Choose the Month\"}function QP(e){return\"Go to the Next Month\"}function eO(e){return\"Go to the Previous Month\"}function tO(e,t,n=CP){return n.format(e,\"cccc\",t)}function nO(e,t){return`Week ${e}`}function rO(e){return\"Week Number\"}function oO(e){return\"Choose the Year\"}const iO=42;function sO(e,t){const{month:n,defaultMonth:r,today:o=(e.timeZone?IP.tz(e.timeZone):t.Date?new t.Date:new Date),numberOfMonths:i=1,endMonth:s,startMonth:a}=e;let l=n||r||o;const{differenceInCalendarMonths:c,addMonths:u,startOfMonth:d}=t;return s&&c(s,l)<0&&(l=u(s,-1*(i-1))),a&&c(l,a)<0&&(l=a),d(l)}class aO{constructor(e,t,n=CP){this.date=e,this.displayMonth=t,this.outside=Boolean(t&&!n.isSameMonth(e,t)),this.dateLib=n}isEqualTo(e){return this.dateLib.isSameDay(e.date,this.date)&&this.dateLib.isSameMonth(e.displayMonth,this.displayMonth)}}class lO{constructor(e,t){this.date=e,this.weeks=t}}class cO{constructor(e,t){this.days=t,this.weekNumber=e}}function uO(e,t){const[n,r]=(0,a.useState)(e);return[void 0===t?n:t,r]}function dO(e,t,n=!1,r=CP){let{from:o,to:i}=e;const{differenceInCalendarDays:s,isSameDay:a}=r;return o&&i?(s(i,o)<0&&([o,i]=[i,o]),s(t,o)>=(n?1:0)&&s(i,t)>=(n?1:0)):!n&&i?a(i,t):!(n||!o)&&a(o,t)}function fO(e){return Boolean(e&&\"object\"==typeof e&&\"from\"in e)}function mO(e,t,n=CP){const r=Array.isArray(t)?t:[t],{isSameDay:o,differenceInCalendarDays:i,isAfter:s}=n;return r.some((t=>{if(\"boolean\"==typeof t)return t;if(n.isDate(t))return o(e,t);if(function(e,t){return Array.isArray(e)&&e.every(t.isDate)}(t,n))return t.includes(e);if(fO(t))return dO(t,e,!1,n);if(r=t,Boolean(r&&\"object\"==typeof r&&\"dayOfWeek\"in r))return Array.isArray(t.dayOfWeek)?t.dayOfWeek.includes(e.getDay()):t.dayOfWeek===e.getDay();var r;if(function(e){return Boolean(e&&\"object\"==typeof e&&\"before\"in e&&\"after\"in e)}(t)){const n=i(t.before,e)>0,r=i(t.after,e)<0;return s(t.before,t.after)?r&&n:n||r}return function(e){return Boolean(e&&\"object\"==typeof e&&\"after\"in e)}(t)?i(e,t.after)>0:function(e){return Boolean(e&&\"object\"==typeof e&&\"before\"in e)}(t)?i(t.before,e)>0:\"function\"==typeof t&&t(e)}))}function hO(e,t,n,r,o,i,s,a=0){if(a>365)return;const l=function(e,t,n,r,o,i,s){const{weekStartsOn:a,locale:l,ISOWeek:c}=i,{addDays:u,addMonths:d,addYears:f,addWeeks:m,startOfISOWeek:h,endOfISOWeek:p,startOfWeek:g,endOfWeek:y,max:v,min:b}=s;let x={day:u,week:m,month:d,year:f,startOfWeek:e=>c?h(e):g(e,{locale:l,weekStartsOn:a}),endOfWeek:e=>c?p(e):y(e,{locale:l,weekStartsOn:a})}[e](n,\"after\"===t?1:-1);return\"before\"===t&&r?x=v([r,x]):\"after\"===t&&o&&(x=b([o,x])),x}(e,t,n.date,r,o,i,s),c=Boolean(i.disabled&&mO(l,i.disabled,s)),u=Boolean(i.hidden&&mO(l,i.hidden,s)),d=new aO(l,l,s);return c||u?hO(e,t,d,r,o,i,s,a+1):d}function pO(e,t,n,r,o){const{autoFocus:i}=e,[s,l]=(0,a.useState)(),c=function(e,t,n,r){let o,i=0,s=!1;for(;i{const n=t(e);return!n[KC.disabled]&&!n[KC.hidden]&&!n[KC.outside]}))),o}(t.days,n,r||(()=>!1),s),[u,d]=(0,a.useState)(i?c:void 0);return{isFocusTarget:e=>Boolean(c?.isEqualTo(e)),setFocused:d,focused:u,blur:()=>{l(u),d(void 0)},moveFocus:(n,r)=>{if(!u)return;const i=hO(n,r,u,t.navStart,t.navEnd,e,o);i&&(t.goToDay(i),d(i))}}}function gO(e,t){const n=function(e,t){const{selected:n,required:r,onSelect:o}=e,[i,s]=uO(n,o?n:void 0),a=o?n:i,{isSameDay:l}=t;return{selected:a,select:(e,t,n)=>{let i=e;return!r&&a&&a&&l(e,a)&&(i=void 0),o||s(i),o?.(i,e,t,n),i},isSelected:e=>!!a&&l(a,e)}}(e,t),r=function(e,t){const{selected:n,required:r,onSelect:o}=e,[i,s]=uO(n,o?n:void 0),a=o?n:i,{isSameDay:l}=t,c=e=>a?.some((t=>l(t,e)))??!1,{min:u,max:d}=e;return{selected:a,select:(e,t,n)=>{let i=[...a??[]];if(c(e)){if(a?.length===u)return;if(r&&1===a?.length)return;i=a?.filter((t=>!l(t,e)))}else i=a?.length===d?[e]:[...i,e];return o||s(i),o?.(i,e,t,n),i},isSelected:c}}(e,t),o=function(e,t){const{disabled:n,excludeDisabled:r,selected:o,required:i,onSelect:s}=e,[a,l]=uO(o,s?o:void 0),c=s?o:a;return{selected:c,select:(o,a,u)=>{const{min:d,max:f}=e,m=o?function(e,t,n=0,r=0,o=!1,i=CP){const{from:s,to:a}=t||{},{isSameDay:l,isAfter:c,isBefore:u}=i;let d;if(s||a){if(s&&!a)d=l(s,e)?o?{from:s,to:void 0}:void 0:u(e,s)?{from:e,to:s}:{from:s,to:e};else if(s&&a)if(l(s,e)&&l(a,e))d=o?{from:s,to:a}:void 0;else if(l(s,e))d={from:s,to:n>0?void 0:e};else if(l(a,e))d={from:e,to:n>0?void 0:e};else if(u(e,s))d={from:e,to:a};else if(c(e,s))d={from:s,to:e};else{if(!c(e,a))throw new Error(\"Invalid range\");d={from:s,to:e}}}else d={from:e,to:n>0?void 0:e};if(d?.from&&d?.to){const t=i.differenceInCalendarDays(d.to,d.from);(r>0&&t>r||n>1&&t0;)if(e=t.addDays(e,1),r&&n&&mO(e,n,t)){m.from=o,m.to=void 0;break}}return s||l(m),s?.(m,o,a,u),m},isSelected:e=>c&&dO(c,e,!1,t)}}(e,t);switch(e.mode){case\"single\":return n;case\"multiple\":return r;case\"range\":return o;default:return}}function yO(e){const{components:t,formatters:n,labels:r,dateLib:l,locale:c,classNames:u}=(0,a.useMemo)((()=>{return{dateLib:(r=e.dateLib,{...CP,...r}),components:(n=e.components,{...o,...n}),formatters:(t=e.formatters,t?.formatMonthCaption&&!t.formatCaption&&(t.formatCaption=t.formatMonthCaption),t?.formatYearCaption&&!t.formatYearDropdown&&(t.formatYearDropdown=t.formatYearCaption),{...i,...t}),labels:{...s,...e.labels},locale:{...X_,...e.locale},classNames:{..._P(),...e.classNames}};var t,n,r}),[e.classNames,e.components,e.dateLib,e.formatters,e.labels,e.locale]),{captionLayout:d,firstWeekContainsDate:f,mode:m,onDayBlur:h,onDayClick:p,onDayFocus:g,onDayKeyDown:y,onDayMouseEnter:v,onDayMouseLeave:b,onNextClick:x,onPrevClick:w,showWeekNumber:S,styles:k,useAdditionalDayOfYearTokens:E,useAdditionalWeekYearTokens:C,weekStartsOn:_}=e,P={locale:c,weekStartsOn:_,firstWeekContainsDate:f,useAdditionalWeekYearTokens:C,useAdditionalDayOfYearTokens:E},O=P,{formatCaption:N,formatDay:T,formatMonthDropdown:M,formatWeekNumber:R,formatWeekNumberHeader:D,formatWeekdayName:j,formatYearDropdown:A}=n,I=function(e,t){const[n,r]=function(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:o,startOfDay:i,startOfMonth:s,endOfMonth:a,addYears:l,endOfYear:c}=t,{fromYear:u,toYear:d,fromMonth:f,toMonth:m}=e;!n&&f&&(n=f),!n&&u&&(n=new Date(u,0,1)),!r&&m&&(r=m),!r&&d&&(r=new Date(d,11,31));const h=e.captionLayout?.startsWith(\"dropdown\");return n?n=s(n):u?n=new Date(u,0,1):!n&&h&&(n=o(l(e.today??(e.timeZone?IP.tz(e.timeZone):t.Date?new t.Date:new Date),-100))),r?r=a(r):d?r=new Date(d,11,31):!r&&h&&(r=c(e.today??(e.timeZone?IP.tz(e.timeZone):t.Date?new t.Date:new Date))),[n?i(n):n,r?i(r):r]}(e,t),{startOfMonth:o,endOfMonth:i}=t,s=sO(e,t),[l,c]=uO(s,e.month?o(e.month):void 0);(0,a.useEffect)((()=>{const n=sO(e,t);c(n)}),[e.timeZone]);const u=function(e,t,n,r){const{numberOfMonths:o=1}=n,i=[];for(let n=0;nt)break;i.push(o)}return i}(l,r,e,t),d=function(e,t,n,r){const o=e[0],i=e[e.length-1],{ISOWeek:s,fixedWeeks:a,locale:l,weekStartsOn:c}=n??{},{startOfWeek:u,endOfWeek:d,startOfISOWeek:f,endOfISOWeek:m,addDays:h,differenceInCalendarDays:p,differenceInCalendarMonths:g,isAfter:y,endOfMonth:v}=r,b=s?f(o):u(o,{weekStartsOn:c,locale:l}),x=p(s?m(v(i)):d(v(i),{weekStartsOn:c,locale:l}),b),w=g(i,o)+1,S=[];for(let e=0;e<=x;e++){const n=h(b,e);if(t&&y(n,t))break;S.push(n)}const k=iO*w;if(a&&S.length{const m=n.ISOWeek?s(f):o(f,{locale:n.locale,weekStartsOn:n.weekStartsOn}),h=n.ISOWeek?a(l(f)):i(l(f),{locale:n.locale,weekStartsOn:n.weekStartsOn}),p=t.filter((e=>e>=m&&e<=h));if(n.fixedWeeks&&p.length<42){const e=t.filter((e=>e>h&&e<=c(h,7)));p.push(...e)}const g=p.reduce(((e,t)=>{const o=n.ISOWeek?d(t):u(t,{locale:n.locale,weekStartsOn:n.weekStartsOn,firstWeekContainsDate:n.firstWeekContainsDate}),i=e.find((e=>e.weekNumber===o)),s=new aO(t,f,r);return i?i.days.push(s):e.push(new cO(o,[s])),e}),[]),y=new lO(f,g);return e.push(y),e}),[]);return n.reverseMonths?f.reverse():f}(u,d,e,t),m=function(e){return e.reduce(((e,t)=>[...e,...t.weeks]),[])}(f),h=f.reduce(((e,t)=>[...e,...t.weeks.reduce(((e,t)=>[...e,...t.days]),[])]),[]),p=function(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:o,numberOfMonths:i}=n,{startOfMonth:s,addMonths:a,differenceInCalendarMonths:l}=r,c=o?i??1:1,u=s(e);return t&&l(u,t)<=0?void 0:a(u,-c)}(l,n,e,t),g=function(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:o,numberOfMonths:i=1}=n,{startOfMonth:s,addMonths:a,differenceInCalendarMonths:l}=r,c=o?i:1,u=s(e);return t&&l(t,e){if(y)return;let t=o(e);n&&to(r)&&(t=o(r)),c(t),v?.(t)};return{months:f,weeks:m,days:h,navStart:n,navEnd:r,previousMonth:p,nextMonth:g,goToMonth:b,goToDay:e=>{(e=>m.some((t=>t.days.some((t=>t.isEqualTo(e))))))(e)||b(e.date)}}}(e,l),{days:L,months:F,navStart:z,navEnd:B,previousMonth:W,nextMonth:V,goToMonth:U}=I,$=function(e,t,n){const{disabled:r,hidden:o,modifiers:i,showOutsideDays:s,today:a}=t,{isSameDay:l,isSameMonth:c}=n,u={[KC.focused]:[],[KC.outside]:[],[KC.disabled]:[],[KC.hidden]:[],[KC.today]:[]},d={},f={[qC.range_end]:[],[qC.range_middle]:[],[qC.range_start]:[],[qC.selected]:[]};for(const f of e){const{date:e,displayMonth:m}=f,h=Boolean(m&&!c(e,m)),p=Boolean(r&&mO(e,r,n)),g=Boolean(o&&mO(e,o,n))||!s&&h,y=l(e,a??(t.timeZone?IP.tz(t.timeZone):n.Date?new n.Date:new Date));h&&u.outside.push(f),p&&u.disabled.push(f),g&&u.hidden.push(f),y&&u.today.push(f),i&&Object.keys(i).forEach((t=>{const r=i?.[t];r&&mO(e,r,n)&&(d[t]?d[t].push(f):d[t]=[f])}))}return e=>{const t={[KC.focused]:!1,[KC.disabled]:!1,[KC.hidden]:!1,[KC.outside]:!1,[KC.today]:!1},n={[qC.range_end]:!1,[qC.range_middle]:!1,[qC.range_start]:!1,[qC.selected]:!1},r={};for(const n in u){const r=u[n];t[n]=r.some((t=>t===e))}for(const t in f){const r=f[t];n[t]=r.some((t=>t===e))}for(const t in d)r[t]=d[t].some((t=>t===e));return{...n,...t,...r}}}(L,e,l),{isSelected:Y,select:H,selected:K}=gO(e,l)??{},{blur:q,focused:G,isFocusTarget:X,moveFocus:Z,setFocused:J}=pO(e,I,$,Y??(()=>!1),l),{labelDayButton:Q,labelGridcell:ee,labelGrid:te,labelMonthDropdown:ne,labelNav:re,labelWeekday:oe,labelWeekNumber:ie,labelWeekNumberHeader:se,labelYearDropdown:ae}=r,le=(0,a.useMemo)((()=>function(e,t,n,r,o=CP){const i=r?IP.tz(r):o.Date?new o.Date:new Date,s=n?o.startOfISOWeek(i):o.startOfWeek(i,{locale:e,weekStartsOn:t}),a=[];for(let e=0;e<7;e++){const t=o.addDays(s,e);a.push(t)}return a}(c,e.weekStartsOn,e.ISOWeek,e.timeZone,l)),[l,c,e.ISOWeek,e.timeZone,e.weekStartsOn]),ce=void 0!==m||void 0!==p,ue=(0,a.useCallback)((()=>{W&&(U(W),w?.(W))}),[W,U,w]),de=(0,a.useCallback)((()=>{V&&(U(V),x?.(V))}),[U,V,x]),fe=(0,a.useCallback)(((e,t)=>n=>{n.preventDefault(),n.stopPropagation(),J(e),H?.(e.date,t,n),p?.(e.date,t,n)}),[H,p,J]),me=(0,a.useCallback)(((e,t)=>n=>{J(e),g?.(e.date,t,n)}),[g,J]),he=(0,a.useCallback)(((e,t)=>n=>{q(),h?.(e.date,t,n)}),[q,h]),pe=(0,a.useCallback)(((t,n)=>r=>{const o={ArrowLeft:[\"day\",\"rtl\"===e.dir?\"after\":\"before\"],ArrowRight:[\"day\",\"rtl\"===e.dir?\"before\":\"after\"],ArrowDown:[\"week\",\"after\"],ArrowUp:[\"week\",\"before\"],PageUp:[r.shiftKey?\"year\":\"month\",\"before\"],PageDown:[r.shiftKey?\"year\":\"month\",\"after\"],Home:[\"startOfWeek\",\"before\"],End:[\"endOfWeek\",\"after\"]};if(o[r.key]){r.preventDefault(),r.stopPropagation();const[e,t]=o[r.key];Z(e,t)}y?.(t.date,n,r)}),[Z,y,e.dir]),ge=(0,a.useCallback)(((e,t)=>n=>{v?.(e.date,t,n)}),[v]),ye=(0,a.useCallback)(((e,t)=>n=>{b?.(e.date,t,n)}),[b]),{className:ve,style:be}=(0,a.useMemo)((()=>({className:[u[HC.Root],e.className].filter(Boolean).join(\" \"),style:{...k?.[HC.Root],...e.style}})),[u,e.className,e.style,k]),xe=function(e){const t={\"data-mode\":e.mode??void 0,\"data-required\":\"required\"in e?e.required:void 0,\"data-multiple-months\":e.numberOfMonths&&e.numberOfMonths>1||void 0,\"data-week-numbers\":e.showWeekNumber||void 0};return Object.entries(e).forEach((([e,n])=>{e.startsWith(\"data-\")&&(t[e]=n)})),t}(e),we={selected:K,select:H,isSelected:Y,months:F,nextMonth:V,previousMonth:W,goToMonth:U,getModifiers:$,components:t,classNames:u,styles:k,labels:r,formatters:n};return a.createElement(l_.Provider,{value:we},a.createElement(t.Root,{className:ve,style:be,dir:e.dir,id:e.id,lang:e.lang,nonce:e.nonce,title:e.title,...xe},a.createElement(t.Months,{className:u[HC.Months],style:k?.[HC.Months]},!e.hideNavigation&&a.createElement(t.Nav,{className:u[HC.Nav],style:k?.[HC.Nav],\"aria-label\":re(),onPreviousClick:ue,onNextClick:de,previousMonth:W,nextMonth:V}),F.map(((r,o)=>{const i=function(e,t,n,r,o,i){if(!t)return;if(!n)return;const{addMonths:s,startOfMonth:a,isBefore:l}=i,c=e.getFullYear(),u=[];let d=t;for(;u.length<12&&l(d,s(n,1));)u.push(d.getMonth()),d=s(d,1);const f=u.sort(((e,t)=>e-t)).map((e=>{const s=r.formatMonthDropdown(e,o),l=i.Date?new i.Date(c,e):new Date(c,e);return{value:e,label:s,disabled:t&&la(n)||!1}}));return f}(r.date,z,B,n,c,l),s=function(e,t,n,r,o){if(!t)return;if(!n)return;const{startOfMonth:i,startOfYear:s,endOfYear:a,addYears:l,isBefore:c,isSameYear:u}=o,d=e.getMonth(),f=s(t),m=a(n),h=[];let p=f;for(;c(p,m)||u(p,m);)h.push(p.getFullYear()),p=l(p,1);return h.map((e=>{const s=o.Date?new o.Date(e,d):new Date(e,d),a=t&&si(n)||!1;return{value:e,label:r.formatYearDropdown(e),disabled:a}}))}(F[0].date,z,B,n,l);return a.createElement(t.Month,{className:u[HC.Month],style:k?.[HC.Month],key:o,displayIndex:o,calendarMonth:r},a.createElement(t.MonthCaption,{className:u[HC.MonthCaption],style:k?.[HC.MonthCaption],calendarMonth:r,displayIndex:o},d?.startsWith(\"dropdown\")?a.createElement(t.DropdownNav,{className:u[HC.Dropdowns],style:k?.[HC.Dropdowns]},\"dropdown\"===d||\"dropdown-months\"===d?a.createElement(t.MonthsDropdown,{className:u[HC.MonthsDropdown],\"aria-label\":ne(),classNames:u,components:t,disabled:Boolean(e.disableNavigation),onChange:e=>{const t=Number(e.target.value),n=l.setMonth(l.startOfMonth(r.date),t);U(n)},options:i,style:k?.[HC.Dropdown],value:r.date.getMonth()}):a.createElement(\"span\",{role:\"status\",\"aria-live\":\"polite\"},M(r.date.getMonth())),\"dropdown\"===d||\"dropdown-years\"===d?a.createElement(t.YearsDropdown,{className:u[HC.YearsDropdown],\"aria-label\":ae(O),classNames:u,components:t,disabled:Boolean(e.disableNavigation),onChange:e=>{const t=l.setYear(l.startOfMonth(r.date),Number(e.target.value));U(t)},options:s,style:k?.[HC.Dropdown],value:r.date.getFullYear()}):a.createElement(\"span\",{role:\"status\",\"aria-live\":\"polite\"},A(r.date.getFullYear()))):a.createElement(t.CaptionLabel,{className:u[HC.CaptionLabel],role:\"status\",\"aria-live\":\"polite\"},N(r.date,P,l))),a.createElement(t.MonthGrid,{role:\"grid\",\"aria-multiselectable\":\"multiple\"===m||\"range\"===m,\"aria-label\":te(r.date,O,l)||void 0,className:u[HC.MonthGrid],style:k?.[HC.MonthGrid]},!e.hideWeekdays&&a.createElement(t.Weekdays,{className:u[HC.Weekdays],style:k?.[HC.Weekdays]},S&&a.createElement(t.WeekNumberHeader,{\"aria-label\":se(O),className:u[HC.WeekNumberHeader],style:k?.[HC.WeekNumberHeader],scope:\"col\"},D()),le.map(((e,n)=>a.createElement(t.Weekday,{\"aria-label\":oe(e,O,l),className:u[HC.Weekday],key:n,style:k?.[HC.Weekday],scope:\"col\"},j(e,P,l))))),a.createElement(t.Weeks,{className:u[HC.Weeks],style:k?.[HC.Weeks]},r.weeks.map(((n,r)=>a.createElement(t.Week,{className:u[HC.Week],key:n.weekNumber,style:k?.[HC.Week],week:n},S&&a.createElement(t.WeekNumber,{week:n,style:k?.[HC.WeekNumber],\"aria-label\":ie(n.weekNumber,{locale:c}),className:u[HC.WeekNumber],scope:\"row\"},R(n.weekNumber)),n.days.map((n=>{const{date:r}=n,o=$(n);if(o[KC.focused]=!o.hidden&&Boolean(G?.isEqualTo(n)),o[qC.selected]=!o.disabled&&(Y?.(r)||o.selected),fO(K)){const{from:e,to:t}=K;o[qC.range_start]=Boolean(e&&t&&l.isSameDay(r,e)),o[qC.range_end]=Boolean(e&&t&&l.isSameDay(r,t)),o[qC.range_middle]=dO(K,r,!0,l)}const i=function(e,t={},n={}){let r={...t?.[HC.Day]};return Object.entries(e).filter((([,e])=>!0===e)).forEach((([e])=>{r={...r,...n?.[e]}})),r}(o,k,e.modifiersStyles),s=function(e,t,n={}){return Object.entries(e).filter((([,e])=>!0===e)).reduce(((e,[r])=>(n[r]?e.push(n[r]):t[KC[r]]?e.push(t[KC[r]]):t[qC[r]]&&e.push(t[qC[r]]),e)),[t[HC.Day]])}(o,u,e.modifiersClassNames),c=ce?void 0:ee(r,o,O,l);return a.createElement(t.Day,{key:`${l.format(r,\"yyyy-MM-dd\")}_${l.format(n.displayMonth,\"yyyy-MM\")}`,day:n,modifiers:o,className:s.join(\" \"),style:i,\"aria-hidden\":o.hidden||void 0,\"aria-selected\":o.selected||void 0,\"aria-label\":c,\"data-day\":l.format(r,\"yyyy-MM-dd\"),\"data-month\":n.outside?l.format(r,\"yyyy-MM\"):void 0,\"data-selected\":o.selected||void 0,\"data-disabled\":o.disabled||void 0,\"data-hidden\":o.hidden||void 0,\"data-outside\":n.outside||void 0,\"data-focused\":o.focused||void 0,\"data-today\":o.today||void 0},ce?a.createElement(t.DayButton,{className:u[HC.DayButton],style:k?.[HC.DayButton],type:\"button\",day:n,modifiers:o,disabled:o.disabled||void 0,tabIndex:X(n)?0:-1,\"aria-label\":Q(r,o,O,l),onClick:fe(n,o),onBlur:he(n,o),onFocus:me(n,o),onKeyDown:pe(n,o),onMouseEnter:ge(n,o),onMouseLeave:ye(n,o)},T(r,P,l)):T(n.date,P,l))}))))))))}))),e.footer&&a.createElement(t.Footer,{className:u[HC.Footer],style:k?.[HC.Footer],role:\"status\",\"aria-live\":\"polite\"},e.footer)))}function vO(e,t,n){return M_(e,-t,n)}var bO=function(){return React.createElement(\"span\",{className:\"bg-icon-interactive h-1 w-1 absolute rounded-full inline-block bottom-0 left-1/2 right-1/2\"})},xO=function(e){return SP(e,\"E\").slice(0,1)};function wO(e){return wO=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},wO(e)}var SO=[\"width\",\"className\",\"classNames\",\"selectedDates\",\"setSelectedDates\",\"showOutsideDays\",\"mode\",\"variant\",\"alignment\",\"onBlur\",\"onChange\"];function kO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function EO(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n1||(b?(k(!0),x(!1)):S?k(!1):x(!b))}},c),l().createElement(de,{variant:\"ghost\",onClick:function(){if(S)N(O+24);else if(b){var t=new Date(C+1,e.calendarMonth.date.getMonth());_(t.getFullYear()),n(t)}else n(r)},className:\"bg-background-primary border-none cursor-pointer\"},l().createElement(uk,{className:\"h-4 w-4\"}))),S&&l().createElement(\"div\",{className:\"grid grid-cols-4 w-full\"},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:24;return Array.from({length:t},(function(t,n){return e+n}))}(O).map((function(t){return l().createElement(de,{key:t,variant:\"ghost\",onClick:function(){return function(t){_(t),k(!1),x(!0),n(new Date(t,e.calendarMonth.date.getMonth()))}(t)},className:oe(\"h-10 w-full text-center font-normal relative\",t===C&&t!==(new Date).getFullYear()&&\"bg-background-brand text-text-on-color hover:bg-background-brand hover:text-black\")},t,t===(new Date).getFullYear()&&bO())}))),b&&!S&&l().createElement(\"div\",{className:\"grid grid-cols-4 gap-2 my-12\"},Array.from({length:12},(function(t,r){return l().createElement(de,{key:r,variant:\"ghost\",onClick:function(){x(!1),n(new Date(C,r))},className:oe(\"px-1.5 py-2 h-10 w-[4.375rem] text-center font-normal relative\",r===e.calendarMonth.date.getMonth()&&r!==(new Date).getMonth()&&C===e.calendarMonth.date.getFullYear()&&e.calendarMonth.date.getFullYear()!==(new Date).getFullYear()&&\"bg-background-brand text-text-on-color hover:bg-background-brand hover:text-black\")},SP(new Date(0,r),\"MMM\"),(new Date).getMonth()===r&&(new Date).getFullYear()===C&&bO())}))),!b&&!S&&l().createElement(T,{weekdays:u}))},Day:function(e){return l().createElement(R,_O({},e,{onSelect:j}))},Weekdays:function(){return null},Months:function(e){return l().createElement(l().Fragment,null,l().createElement(\"div\",{className:A},e.children.map((function(e,t){return e?l().createElement(l().Fragment,{key:t},e.map((function(e,t){return l().createElement(l().Fragment,{key:t},t>0&&l().createElement(\"div\",{className:\"border border-solid border-border-subtle border-l-0\"}),e)}))):null}))))},MonthGrid:function(e){return!b&&!S&&l().createElement(D,{monthGridProps:e,onSelect:j})}}},g)))};function MO(e){return A_(Date.now(),e)}function RO(e){return O_(e,Date.now())}function DO(e){const t=RO(e?.in),n=t.getFullYear(),r=t.getMonth(),o=t.getDate(),i=RO(e?.in);return i.setFullYear(n,r,o-1),i.setHours(0,0,0,0),i}function jO(e,t,n){return R_(e,-t,n)}var AO=[\"selectionType\",\"variant\",\"presets\",\"onCancel\",\"onApply\",\"applyButtonText\",\"cancelButtonText\",\"showOutsideDays\"];function IO(){return IO=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0?s:w,k=function(){x(\"multiple\"===n?[]:{from:null,to:null}),c&&c()},E=function(){u&&u(b)};return\"normal\"===o?l().createElement(TO,IO({},y,{mode:n,variant:o,width:\"w-[18.5rem]\",selectedDates:b,showOutsideDays:g,setSelectedDates:x})):\"dualdate\"===o?l().createElement(TO,{mode:n,numberOfMonths:2,alignment:\"horizontal\",selectedDates:b,setSelectedDates:x,showOutsideDays:g,variant:o,width:\"w-auto\",footer:l().createElement(\"div\",{className:\"flex justify-end p-2 gap-3 border border-solid border-border-subtle border-t-0 rounded-md rounded-tl-none rounded-tr-none\"},l().createElement(de,{variant:\"outline\",onClick:k},h),l().createElement(de,{onClick:E},f))}):\"presets\"===o?l().createElement(\"div\",{className:\"flex flex-row shadow-datepicker-wrapper\"},l().createElement(\"div\",{className:\"flex flex-col gap-1 p-3 items-start border border-solid border-border-subtle border-r-0 rounded-tl-md rounded-bl-md\"},S.map((function(e,t){return l().createElement(de,{key:t,onClick:function(){return t=e.range,void x(t);var t},variant:\"ghost\",className:\"font-medium text-sm\"},e.label)}))),l().createElement(TO,IO({},y,{mode:n,selectedDates:b,setSelectedDates:x,variant:o,showOutsideDays:g,width:\"w-auto\",numberOfMonths:2,footer:l().createElement(\"div\",{className:\"flex justify-end p-2 gap-3 border border-solid border-border-subtle border-t-0 rounded-br-md\"},l().createElement(de,{variant:\"outline\",onClick:k},h),l().createElement(de,{onClick:E},f))}))):void 0};return r}()}));","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TokenData = void 0;\nexports.parse = parse;\nexports.compile = compile;\nexports.match = match;\nexports.pathToRegexp = pathToRegexp;\nexports.stringify = stringify;\nconst DEFAULT_DELIMITER = \"/\";\nconst NOOP_VALUE = (value) => value;\nconst ID_START = /^[$_\\p{ID_Start}]$/u;\nconst ID_CONTINUE = /^[$\\u200c\\u200d\\p{ID_Continue}]$/u;\nconst DEBUG_URL = \"https://git.new/pathToRegexpError\";\nconst SIMPLE_TOKENS = {\n // Groups.\n \"{\": \"{\",\n \"}\": \"}\",\n // Reserved.\n \"(\": \"(\",\n \")\": \")\",\n \"[\": \"[\",\n \"]\": \"]\",\n \"+\": \"+\",\n \"?\": \"?\",\n \"!\": \"!\",\n};\n/**\n * Escape text for stringify to path.\n */\nfunction escapeText(str) {\n return str.replace(/[{}()\\[\\]+?!:*]/g, \"\\\\$&\");\n}\n/**\n * Escape a regular expression string.\n */\nfunction escape(str) {\n return str.replace(/[.+*?^${}()[\\]|/\\\\]/g, \"\\\\$&\");\n}\n/**\n * Tokenize input string.\n */\nfunction* lexer(str) {\n const chars = [...str];\n let i = 0;\n function name() {\n let value = \"\";\n if (ID_START.test(chars[++i])) {\n value += chars[i];\n while (ID_CONTINUE.test(chars[++i])) {\n value += chars[i];\n }\n }\n else if (chars[i] === '\"') {\n let pos = i;\n while (i < chars.length) {\n if (chars[++i] === '\"') {\n i++;\n pos = 0;\n break;\n }\n if (chars[i] === \"\\\\\") {\n value += chars[++i];\n }\n else {\n value += chars[i];\n }\n }\n if (pos) {\n throw new TypeError(`Unterminated quote at ${pos}: ${DEBUG_URL}`);\n }\n }\n if (!value) {\n throw new TypeError(`Missing parameter name at ${i}: ${DEBUG_URL}`);\n }\n return value;\n }\n while (i < chars.length) {\n const value = chars[i];\n const type = SIMPLE_TOKENS[value];\n if (type) {\n yield { type, index: i++, value };\n }\n else if (value === \"\\\\\") {\n yield { type: \"ESCAPED\", index: i++, value: chars[i++] };\n }\n else if (value === \":\") {\n const value = name();\n yield { type: \"PARAM\", index: i, value };\n }\n else if (value === \"*\") {\n const value = name();\n yield { type: \"WILDCARD\", index: i, value };\n }\n else {\n yield { type: \"CHAR\", index: i, value: chars[i++] };\n }\n }\n return { type: \"END\", index: i, value: \"\" };\n}\nclass Iter {\n constructor(tokens) {\n this.tokens = tokens;\n }\n peek() {\n if (!this._peek) {\n const next = this.tokens.next();\n this._peek = next.value;\n }\n return this._peek;\n }\n tryConsume(type) {\n const token = this.peek();\n if (token.type !== type)\n return;\n this._peek = undefined; // Reset after consumed.\n return token.value;\n }\n consume(type) {\n const value = this.tryConsume(type);\n if (value !== undefined)\n return value;\n const { type: nextType, index } = this.peek();\n throw new TypeError(`Unexpected ${nextType} at ${index}, expected ${type}: ${DEBUG_URL}`);\n }\n text() {\n let result = \"\";\n let value;\n while ((value = this.tryConsume(\"CHAR\") || this.tryConsume(\"ESCAPED\"))) {\n result += value;\n }\n return result;\n }\n}\n/**\n * Tokenized path instance.\n */\nclass TokenData {\n constructor(tokens) {\n this.tokens = tokens;\n }\n}\nexports.TokenData = TokenData;\n/**\n * Parse a string for the raw tokens.\n */\nfunction parse(str, options = {}) {\n const { encodePath = NOOP_VALUE } = options;\n const it = new Iter(lexer(str));\n function consume(endType) {\n const tokens = [];\n while (true) {\n const path = it.text();\n if (path)\n tokens.push({ type: \"text\", value: encodePath(path) });\n const param = it.tryConsume(\"PARAM\");\n if (param) {\n tokens.push({\n type: \"param\",\n name: param,\n });\n continue;\n }\n const wildcard = it.tryConsume(\"WILDCARD\");\n if (wildcard) {\n tokens.push({\n type: \"wildcard\",\n name: wildcard,\n });\n continue;\n }\n const open = it.tryConsume(\"{\");\n if (open) {\n tokens.push({\n type: \"group\",\n tokens: consume(\"}\"),\n });\n continue;\n }\n it.consume(endType);\n return tokens;\n }\n }\n const tokens = consume(\"END\");\n return new TokenData(tokens);\n}\n/**\n * Compile a string to a template function for the path.\n */\nfunction compile(path, options = {}) {\n const { encode = encodeURIComponent, delimiter = DEFAULT_DELIMITER } = options;\n const data = path instanceof TokenData ? path : parse(path, options);\n const fn = tokensToFunction(data.tokens, delimiter, encode);\n return function path(data = {}) {\n const [path, ...missing] = fn(data);\n if (missing.length) {\n throw new TypeError(`Missing parameters: ${missing.join(\", \")}`);\n }\n return path;\n };\n}\nfunction tokensToFunction(tokens, delimiter, encode) {\n const encoders = tokens.map((token) => tokenToFunction(token, delimiter, encode));\n return (data) => {\n const result = [\"\"];\n for (const encoder of encoders) {\n const [value, ...extras] = encoder(data);\n result[0] += value;\n result.push(...extras);\n }\n return result;\n };\n}\n/**\n * Convert a single token into a path building function.\n */\nfunction tokenToFunction(token, delimiter, encode) {\n if (token.type === \"text\")\n return () => [token.value];\n if (token.type === \"group\") {\n const fn = tokensToFunction(token.tokens, delimiter, encode);\n return (data) => {\n const [value, ...missing] = fn(data);\n if (!missing.length)\n return [value];\n return [\"\"];\n };\n }\n const encodeValue = encode || NOOP_VALUE;\n if (token.type === \"wildcard\" && encode !== false) {\n return (data) => {\n const value = data[token.name];\n if (value == null)\n return [\"\", token.name];\n if (!Array.isArray(value) || value.length === 0) {\n throw new TypeError(`Expected \"${token.name}\" to be a non-empty array`);\n }\n return [\n value\n .map((value, index) => {\n if (typeof value !== \"string\") {\n throw new TypeError(`Expected \"${token.name}/${index}\" to be a string`);\n }\n return encodeValue(value);\n })\n .join(delimiter),\n ];\n };\n }\n return (data) => {\n const value = data[token.name];\n if (value == null)\n return [\"\", token.name];\n if (typeof value !== \"string\") {\n throw new TypeError(`Expected \"${token.name}\" to be a string`);\n }\n return [encodeValue(value)];\n };\n}\n/**\n * Transform a path into a match function.\n */\nfunction match(path, options = {}) {\n const { decode = decodeURIComponent, delimiter = DEFAULT_DELIMITER } = options;\n const { regexp, keys } = pathToRegexp(path, options);\n const decoders = keys.map((key) => {\n if (decode === false)\n return NOOP_VALUE;\n if (key.type === \"param\")\n return decode;\n return (value) => value.split(delimiter).map(decode);\n });\n return function match(input) {\n const m = regexp.exec(input);\n if (!m)\n return false;\n const path = m[0];\n const params = Object.create(null);\n for (let i = 1; i < m.length; i++) {\n if (m[i] === undefined)\n continue;\n const key = keys[i - 1];\n const decoder = decoders[i - 1];\n params[key.name] = decoder(m[i]);\n }\n return { path, params };\n };\n}\nfunction pathToRegexp(path, options = {}) {\n const { delimiter = DEFAULT_DELIMITER, end = true, sensitive = false, trailing = true, } = options;\n const keys = [];\n const sources = [];\n const flags = sensitive ? \"\" : \"i\";\n const paths = Array.isArray(path) ? path : [path];\n const items = paths.map((path) => path instanceof TokenData ? path : parse(path, options));\n for (const { tokens } of items) {\n for (const seq of flatten(tokens, 0, [])) {\n const regexp = sequenceToRegExp(seq, delimiter, keys);\n sources.push(regexp);\n }\n }\n let pattern = `^(?:${sources.join(\"|\")})`;\n if (trailing)\n pattern += `(?:${escape(delimiter)}$)?`;\n pattern += end ? \"$\" : `(?=${escape(delimiter)}|$)`;\n const regexp = new RegExp(pattern, flags);\n return { regexp, keys };\n}\n/**\n * Generate a flat list of sequence tokens from the given tokens.\n */\nfunction* flatten(tokens, index, init) {\n if (index === tokens.length) {\n return yield init;\n }\n const token = tokens[index];\n if (token.type === \"group\") {\n const fork = init.slice();\n for (const seq of flatten(token.tokens, 0, fork)) {\n yield* flatten(tokens, index + 1, seq);\n }\n }\n else {\n init.push(token);\n }\n yield* flatten(tokens, index + 1, init);\n}\n/**\n * Transform a flat sequence of tokens into a regular expression.\n */\nfunction sequenceToRegExp(tokens, delimiter, keys) {\n let result = \"\";\n let backtrack = \"\";\n let isSafeSegmentParam = true;\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.type === \"text\") {\n result += escape(token.value);\n backtrack += token.value;\n isSafeSegmentParam || (isSafeSegmentParam = token.value.includes(delimiter));\n continue;\n }\n if (token.type === \"param\" || token.type === \"wildcard\") {\n if (!isSafeSegmentParam && !backtrack) {\n throw new TypeError(`Missing text after \"${token.name}\": ${DEBUG_URL}`);\n }\n if (token.type === \"param\") {\n result += `(${negate(delimiter, isSafeSegmentParam ? \"\" : backtrack)}+)`;\n }\n else {\n result += `([\\\\s\\\\S]+)`;\n }\n keys.push(token);\n backtrack = \"\";\n isSafeSegmentParam = false;\n continue;\n }\n }\n return result;\n}\nfunction negate(delimiter, backtrack) {\n if (backtrack.length < 2) {\n if (delimiter.length < 2)\n return `[^${escape(delimiter + backtrack)}]`;\n return `(?:(?!${escape(delimiter)})[^${escape(backtrack)}])`;\n }\n if (delimiter.length < 2) {\n return `(?:(?!${escape(backtrack)})[^${escape(delimiter)}])`;\n }\n return `(?:(?!${escape(backtrack)}|${escape(delimiter)})[\\\\s\\\\S])`;\n}\n/**\n * Stringify token data into a path string.\n */\nfunction stringify(data) {\n return data.tokens\n .map(function stringifyToken(token, index, tokens) {\n if (token.type === \"text\")\n return escapeText(token.value);\n if (token.type === \"group\") {\n return `{${token.tokens.map(stringifyToken).join(\"\")}}`;\n }\n const isSafe = isNameSafe(token.name) && isNextNameSafe(tokens[index + 1]);\n const key = isSafe ? token.name : JSON.stringify(token.name);\n if (token.type === \"param\")\n return `:${key}`;\n if (token.type === \"wildcard\")\n return `*${key}`;\n throw new TypeError(`Unexpected token: ${token}`);\n })\n .join(\"\");\n}\nfunction isNameSafe(name) {\n const [first, ...rest] = name;\n if (!ID_START.test(first))\n return false;\n return rest.every((char) => ID_CONTINUE.test(char));\n}\nfunction isNextNameSafe(token) {\n if ((token === null || token === void 0 ? void 0 : token.type) !== \"text\")\n return true;\n return !ID_CONTINUE.test(token.value[0]);\n}\n//# sourceMappingURL=index.js.map","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , undef;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String|Null} The decoded string.\n * @api private\n */\nfunction decode(input) {\n try {\n return decodeURIComponent(input.replace(/\\+/g, ' '));\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Attempts to encode a given input.\n *\n * @param {String} input The string that needs to be encoded.\n * @returns {String|Null} The encoded string.\n * @api private\n */\nfunction encode(input) {\n try {\n return encodeURIComponent(input);\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n var parser = /([^=?#&]+)=?([^&]*)/g\n , result = {}\n , part;\n\n while (part = parser.exec(query)) {\n var key = decode(part[1])\n , value = decode(part[2]);\n\n //\n // Prevent overriding of existing properties. This ensures that build-in\n // methods like `toString` or __proto__ are not overriden by malicious\n // querystrings.\n //\n // In the case if failed decoding, we want to omit the key/value pairs\n // from the result.\n //\n if (key === null || value === null || key in result) continue;\n result[key] = value;\n }\n\n return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n prefix = prefix || '';\n\n var pairs = []\n , value\n , key;\n\n //\n // Optionally prefix with a '?' if needed\n //\n if ('string' !== typeof prefix) prefix = '?';\n\n for (key in obj) {\n if (has.call(obj, key)) {\n value = obj[key];\n\n //\n // Edge cases where we actually want to encode the value to an empty\n // string instead of the stringified value.\n //\n if (!value && (value === null || value === undef || isNaN(value))) {\n value = '';\n }\n\n key = encode(key);\n value = encode(value);\n\n //\n // If we failed to encode the strings, we should bail out as we don't\n // want to add invalid strings to the query.\n //\n if (key === null || value === null) continue;\n pairs.push(key +'='+ value);\n }\n }\n\n return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","module.exports = window[\"ReactDOM\"];","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"domReady\"];","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"React\"];","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"element\"];","import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n /**\r\n * A POP indicates a change to an arbitrary index in the history stack, such\r\n * as a back or forward navigation. It does not describe the direction of the\r\n * navigation, only that the current index changed.\r\n *\r\n * Note: This is the default action for newly created history objects.\r\n */\n Action[\"Pop\"] = \"POP\";\n /**\r\n * A PUSH indicates a new entry being added to the history stack, such as when\r\n * a link is clicked and a new page loads. When this happens, all subsequent\r\n * entries in the stack are lost.\r\n */\n\n Action[\"Push\"] = \"PUSH\";\n /**\r\n * A REPLACE indicates the entry at the current index in the history stack\r\n * being replaced by a new one.\r\n */\n\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n return Object.freeze(obj);\n} : function (obj) {\n return obj;\n};\n\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== 'undefined') console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$window = _options.window,\n window = _options$window === void 0 ? document.defaultView : _options$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation[0],\n nextLocation = _getIndexAndLocation[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better what\n // is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop);\n var action = Action.Pop;\n\n var _getIndexAndLocation2 = getIndexAndLocation(),\n index = _getIndexAndLocation2[0],\n location = _getIndexAndLocation2[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n } // state defaults to `null` because `window.history.state` does\n\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation3 = getIndexAndLocation();\n\n index = _getIndexAndLocation3[0];\n location = _getIndexAndLocation3[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr[0],\n url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr2[0],\n url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options2 = options,\n _options2$window = _options2.window,\n window = _options2$window === void 0 ? document.defaultView : _options2$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _parsePath = parsePath(window.location.hash.substr(1)),\n _parsePath$pathname = _parsePath.pathname,\n pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n _parsePath$search = _parsePath.search,\n search = _parsePath$search === void 0 ? '' : _parsePath$search,\n _parsePath$hash = _parsePath.hash,\n hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation4 = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation4[0],\n nextLocation = _getIndexAndLocation4[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better\n // what is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n window.addEventListener(HashChangeEventType, function () {\n var _getIndexAndLocation5 = getIndexAndLocation(),\n nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n if (createPath(nextLocation) !== createPath(location)) {\n handlePop();\n }\n });\n var action = Action.Pop;\n\n var _getIndexAndLocation6 = getIndexAndLocation(),\n index = _getIndexAndLocation6[0],\n location = _getIndexAndLocation6[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function getBaseHref() {\n var base = document.querySelector('base');\n var href = '';\n\n if (base && base.getAttribute('href')) {\n var url = window.location.href;\n var hashIndex = url.indexOf('#');\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href;\n }\n\n function createHref(to) {\n return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation7 = getIndexAndLocation();\n\n index = _getIndexAndLocation7[0];\n location = _getIndexAndLocation7[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr3[0],\n url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr4[0],\n url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options3 = options,\n _options3$initialEntr = _options3.initialEntries,\n initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n initialIndex = _options3.initialIndex;\n var entries = initialEntries.map(function (entry) {\n var location = readOnly(_extends({\n pathname: '/',\n search: '',\n hash: '',\n state: null,\n key: createKey()\n }, typeof entry === 'string' ? parsePath(entry) : entry));\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n return location;\n });\n var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n var action = Action.Pop;\n var location = entries[index];\n var listeners = createEvents();\n var blockers = createEvents();\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n search: '',\n hash: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction, nextLocation) {\n action = nextAction;\n location = nextLocation;\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n applyTx(nextAction, nextLocation);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n entries[index] = nextLocation;\n applyTx(nextAction, nextLocation);\n }\n }\n\n function go(delta) {\n var nextIndex = clamp(index + delta, 0, entries.length - 1);\n var nextAction = Action.Pop;\n var nextLocation = entries[nextIndex];\n\n function retry() {\n go(delta);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index = nextIndex;\n applyTx(nextAction, nextLocation);\n }\n }\n\n var history = {\n get index() {\n return index;\n },\n\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n return blockers.push(blocker);\n }\n };\n return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n // Cancel the event.\n event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n event.returnValue = '';\n}\n\nfunction createEvents() {\n var handlers = [];\n return {\n get length() {\n return handlers.length;\n },\n\n push: function push(fn) {\n handlers.push(fn);\n return function () {\n handlers = handlers.filter(function (handler) {\n return handler !== fn;\n });\n };\n },\n call: function call(arg) {\n handlers.forEach(function (fn) {\n return fn && fn(arg);\n });\n }\n };\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n var _ref$pathname = _ref.pathname,\n pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n _ref$search = _ref.search,\n search = _ref$search === void 0 ? '' : _ref$search,\n _ref$hash = _ref.hash,\n hash = _ref$hash === void 0 ? '' : _ref$hash;\n if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n var parsedPath = {};\n\n if (path) {\n var hashIndex = path.indexOf('#');\n\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n var searchIndex = path.indexOf('?');\n\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\n","import qs from \"querystringify\";\r\nexport function locationToRoute(location) {\r\n // location comes from the history package\r\n return {\r\n path: location.pathname,\r\n hash: location.hash,\r\n query: qs.parse(location.search),\r\n };\r\n}\r\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import { createBrowserHistory } from \"history\";\r\nimport { locationToRoute } from \"./utils\";\r\n\r\nexport const history = createBrowserHistory();\r\nexport const RouterContext = wp.element.createContext({\r\n route: locationToRoute(history.location),\r\n});\r\n","import { RouterContext } from \"./context\";\r\nconst { useContext } = wp.element;\r\nimport { match } from \"path-to-regexp\";\r\nlet prev = \"\";\r\n\r\nexport function Route({ path, onRoute, children }) {\r\n // Extract route from RouterContext\r\n const { route } = useContext(RouterContext);\r\n\r\n const checkMatch = match(`${path}`);\r\n const matched = checkMatch(`${route.hash.substr(1)}`);\r\n\r\n if (!matched) {\r\n return null;\r\n }\r\n\r\n if (onRoute) {\r\n if (prev !== matched.path) {\r\n onRoute();\r\n }\r\n prev = matched.path;\r\n }\r\n\r\n return
{wp.element.cloneElement(children, { route: matched })}
;\r\n}\r\n","const { useContext } = wp.element;\r\nimport { RouterContext, history } from \"./context\";\r\nimport classNames from \"classnames\";\r\nimport { match } from \"path-to-regexp\";\r\n\r\nexport function Link(props) {\r\n const { to, onClick, children, activeClassName } = props;\r\n const { route } = useContext(RouterContext);\r\n\r\n let state = { ...props };\r\n delete state.activeClassName;\r\n\r\n const isActive = () => {\r\n const checkMatch = match(`${to}`);\r\n return checkMatch(`${route.hash.substr(1)}`);\r\n };\r\n\r\n const handleClick = (e) => {\r\n e.preventDefault();\r\n \r\n if (route.path === to && ! e.target.classList.contains('hfe-user-icon')) {\r\n return;\r\n }\r\n // Trigger onClick prop manually.\r\n if (onClick) {\r\n onClick(e);\r\n }\r\n\r\n const { search } = history.location;\r\n\r\n if (!to.includes('settings')) {\r\n // Remove &tab from the URL.\r\n const newSearch = search.replace(/&tab=[^&]*/, '');\r\n // Use history API to navigate page.\r\n history.push(`${newSearch}#${to}`);\r\n } else {\r\n const changeSearch = search + '&tab=1';\r\n\r\n if (e.target.classList.contains('hfe-user-icon') && window.location.hash.includes('settings')) {\r\n window.location.href = `${changeSearch}#${to}`;\r\n } else {\r\n // Use history API to navigate page.\r\n history.push(`${search}#${to}`);\r\n }\r\n }\r\n\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import { Component } from \"@wordpress/element\";\r\nimport { locationToRoute } from \"./utils\";\r\nimport { history, RouterContext } from \"./context\";\r\nimport { Route } from \"./route\";\r\nimport { Link } from \"./link\";\r\nimport { match } from \"path-to-regexp\";\r\n\r\nclass Router extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n // Convert our routes into an array for easy 404 checking\r\n this.routes = Object.keys(props.routes).map(\r\n (key) => props.routes[key].path\r\n );\r\n\r\n // Listen for path changes from the history API\r\n this.unlisten = history.listen(this.handleRouteChange);\r\n\r\n const route = locationToRoute(history.location);\r\n const { search } = history.location;\r\n\r\n // Define the initial RouterContext value\r\n this.state = {\r\n route,\r\n defaultRoute: props?.defaultRoute\r\n ? `${search}#${props?.defaultRoute}`\r\n : `${search}#/`,\r\n };\r\n }\r\n\r\n componentWillUnmount() {\r\n // Stop listening for changes if the Router component unmounts\r\n this.unlisten();\r\n }\r\n\r\n handleRouteChange = (location) => {\r\n localStorage.setItem('hfeSelectedItemId', '1');\r\n const route = locationToRoute(location?.location);\r\n this.setState({ route: route });\r\n };\r\n\r\n render() {\r\n // Define our variables\r\n const { children, NotFound } = this.props;\r\n const { route, defaultRoute } = this.state;\r\n\r\n if (!route.hash) {\r\n history.push(defaultRoute);\r\n return
;\r\n }\r\n\r\n let matched = false;\r\n // match route\r\n (this.routes || []).forEach((name) => {\r\n const checkMatch = match(route.hash.substr(1));\r\n const isMatched = checkMatch(`${route.hash.substr(1)}`);\r\n if (!isMatched) {\r\n return;\r\n }\r\n matched = {\r\n name,\r\n data: isMatched,\r\n };\r\n });\r\n\r\n const routerContextValue = { route, matched };\r\n\r\n // Check if 404 if no route matched\r\n const is404 = !matched;\r\n\r\n return (\r\n \r\n {is404 ?
Not found
: children}\r\n
\r\n );\r\n }\r\n}\r\nexport { history, RouterContext, Router, Route, Link };\r\n","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && array.indexOf(className) === index;\n}).join(\" \");\n\nexport { mergeClasses, toKebabCase };\n//# sourceMappingURL=utils.js.map\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.js';\nimport { mergeClasses } from './shared/src/utils.js';\n\nconst Icon = forwardRef(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => {\n return createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: mergeClasses(\"lucide\", className),\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n );\n }\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport { mergeClasses, toKebabCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),\n ...props\n })\n );\n Component.displayName = `${iconName}`;\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ArrowUpRight = createLucideIcon(\"ArrowUpRight\", [\n [\"path\", { d: \"M7 7h10v10\", key: \"1tivn9\" }],\n [\"path\", { d: \"M7 17 17 7\", key: \"1vkiza\" }]\n]);\n\nexport { ArrowUpRight as default };\n//# sourceMappingURL=arrow-up-right.js.map\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CircleHelp = createLucideIcon(\"CircleHelp\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\", key: \"1u773s\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n]);\n\nexport { CircleHelp as default };\n//# sourceMappingURL=circle-help.js.map\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileText = createLucideIcon(\"FileText\", [\n [\"path\", { d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\", key: \"1rqfz7\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n]);\n\nexport { FileText as default };\n//# sourceMappingURL=file-text.js.map\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Headset = createLucideIcon(\"Headset\", [\n [\n \"path\",\n {\n d: \"M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z\",\n key: \"12oyoe\"\n }\n ],\n [\"path\", { d: \"M21 16v2a4 4 0 0 1-4 4h-5\", key: \"1x7m43\" }]\n]);\n\nexport { Headset as default };\n//# sourceMappingURL=headset.js.map\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst User = createLucideIcon(\"User\", [\n [\"path\", { d: \"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\", key: \"975kel\" }],\n [\"circle\", { cx: \"12\", cy: \"7\", r: \"4\", key: \"17ys0d\" }]\n]);\n\nexport { User as default };\n//# sourceMappingURL=user.js.map\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"i18n\"];","export const routes = {\r\n dashboard: {\r\n path: \"dashboard\",\r\n },\r\n widgets: {\r\n path: \"widgets\",\r\n },\r\n templates: {\r\n path: \"templates\",\r\n },\r\n settings: {\r\n path: \"settings\",\r\n },\r\n upgrade: {\r\n path: \"upgrade\",\r\n }\r\n}","/**\r\n * === Whats New RSS ===\r\n *\r\n * Version: 1.0.6\r\n * Generated on: 25th June, 2024\r\n * Documentation: https://github.com/brainstormforce/whats-new-rss/blob/master/README.md\r\n */\r\n\r\nimport { useEffect, useRef } from \"react\";\r\nvar __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar WhatsNewRSSDefaultArgs = {\r\n rssFeedURL: '',\r\n selector: '',\r\n loaderIcon: \"\\n\\t\\n\\t\\t\\n\\t\\n\\t\",\r\n viewAll: {\r\n link: '',\r\n label: 'View All',\r\n },\r\n triggerButton: {\r\n icon: \"\",\r\n beforeBtn: '',\r\n afterBtn: '',\r\n className: '',\r\n onClick: function () { },\r\n },\r\n notification: {\r\n setLastPostUnixTime: null,\r\n getLastPostUnixTime: null\r\n },\r\n flyout: {\r\n title: \"What's New?\",\r\n innerContent: {\r\n titleLink: true,\r\n additionalClasses: []\r\n },\r\n excerpt: {\r\n wordLimit: 500,\r\n moreSymbol: '…',\r\n readMore: {\r\n label: 'Read More',\r\n className: '',\r\n }\r\n },\r\n className: '',\r\n closeOnEsc: true,\r\n closeOnOverlayClick: true,\r\n closeBtnIcon: \"\",\r\n formatDate: null,\r\n onOpen: function () { },\r\n onClose: function () { },\r\n onReady: function () { },\r\n }\r\n};\r\nvar WhatsNewRSS = /** @class */ (function () {\r\n /**\r\n * Initialize our class.\r\n *\r\n * @param {ConstructorArgs} args\r\n */\r\n function WhatsNewRSS(args) {\r\n this.rssFeedURLs = [];\r\n /**\r\n * UnixTime stamp of the last seen or read post.\r\n */\r\n this.lastPostUnixTime = 0;\r\n /**\r\n * UnixTime stamp of the last seen or read post for multi feeds by feed key.\r\n */\r\n this.multiLastPostUnixTime = {};\r\n /**\r\n * Total number of new notification counts.\r\n */\r\n this.notificationsCount = 0;\r\n /**\r\n * Notification counts for multi feeds by feed key.\r\n */\r\n this.multiNotificationCount = {};\r\n /**\r\n * Check if has new feeds.\r\n */\r\n this.hasNewFeeds = false;\r\n /**\r\n * Check if has new feeds in multi feeds mode.\r\n */\r\n this.multiHasNewFeeds = {};\r\n this.validateArgs(args);\r\n this.parseDefaults(args);\r\n this.setElement();\r\n if (!this.getElement()) {\r\n console.warn('WNR: Cannot find element with', this.getArgs().selector);\r\n return;\r\n }\r\n this.setID();\r\n this.setRSSFeedURLs();\r\n WhatsNewRSSCacheUtils.setInstanceID(this.getID());\r\n this.RSS_Fetch_Instance = new WhatsNewRSSFetch(this);\r\n this.RSS_View_Instance = new WhatsNewRSSView(this);\r\n this.setNotificationsCount();\r\n this.setTriggers();\r\n }\r\n ;\r\n /**\r\n * Validate the passed arguments in constructor.\r\n *\r\n * @param {ConstructorArgs} args\r\n */\r\n WhatsNewRSS.prototype.validateArgs = function (args) {\r\n [\"rssFeedURL\", \"selector\"].map(function (requiredArg) {\r\n if (!args[requiredArg]) {\r\n throw new Error(\"\".concat(requiredArg, \" is a required argument. It cannot be empty or undefined.\"));\r\n }\r\n switch (requiredArg) {\r\n case 'rssFeedURL':\r\n var arg = args[requiredArg];\r\n if (Array.isArray(arg)) {\r\n arg.forEach(function (rssFeedURL) {\r\n if (!(rssFeedURL === null || rssFeedURL === void 0 ? void 0 : rssFeedURL.key)) {\r\n throw new Error(\"The parameter \\\"key\\\" is required for \\\"\".concat(requiredArg, \"\\\" parameter in multi-feed mode.\"));\r\n }\r\n if (rssFeedURL.key.includes(' ')) {\r\n throw new Error(\"The parameter \\\"key\\\" cannot have spaces for \\\"\".concat(requiredArg, \"\\\" parameter in multi-feed mode. Ref Key: \\\"\").concat(rssFeedURL.key, \"\\\"\"));\r\n }\r\n });\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n };\r\n /**\r\n * Parse the arguments passed by the user with the defaults.\r\n *\r\n * @param {ConstructorArgs} args\r\n */\r\n WhatsNewRSS.prototype.parseDefaults = function (args) {\r\n var _a, _b;\r\n this.args = __assign(__assign(__assign({}, WhatsNewRSSDefaultArgs), args), { viewAll: __assign(__assign({}, WhatsNewRSSDefaultArgs.viewAll), args === null || args === void 0 ? void 0 : args.viewAll), triggerButton: __assign(__assign({}, WhatsNewRSSDefaultArgs.triggerButton), args === null || args === void 0 ? void 0 : args.triggerButton), flyout: __assign(__assign(__assign({}, WhatsNewRSSDefaultArgs.flyout), args === null || args === void 0 ? void 0 : args.flyout), { innerContent: __assign(__assign({}, WhatsNewRSSDefaultArgs.flyout.innerContent), (_a = args === null || args === void 0 ? void 0 : args.flyout) === null || _a === void 0 ? void 0 : _a.innerContent), excerpt: __assign(__assign({}, WhatsNewRSSDefaultArgs.flyout.excerpt), (_b = args === null || args === void 0 ? void 0 : args.flyout) === null || _b === void 0 ? void 0 : _b.excerpt) }) });\r\n };\r\n /**\r\n * Returns parsed args.\r\n *\r\n * @returns {ConstructorArgs}\r\n */\r\n WhatsNewRSS.prototype.getArgs = function () {\r\n return this.args;\r\n };\r\n /**\r\n * Sets the HTML element queried using passed selector.\r\n */\r\n WhatsNewRSS.prototype.setElement = function () {\r\n this.element = document.querySelector(this.args.selector);\r\n };\r\n /**\r\n * Returns the html element according to the selector.\r\n *\r\n * @returns {HTMLElement}\r\n */\r\n WhatsNewRSS.prototype.getElement = function () {\r\n return this.element;\r\n };\r\n /**\r\n * Creates unique ID for current instance, that can be used by the library elements.\r\n */\r\n WhatsNewRSS.prototype.setID = function () {\r\n var data = [this.getArgs().selector];\r\n var rssFeedURL = this.getArgs().rssFeedURL;\r\n if (Array.isArray(rssFeedURL)) {\r\n rssFeedURL.forEach(function (_rssFeedURL) {\r\n data.push(_rssFeedURL.key);\r\n });\r\n }\r\n else {\r\n data.push(rssFeedURL);\r\n }\r\n this.ID = btoa(data.join('-')).slice(-12).replace(/=/g, '');\r\n };\r\n /**\r\n * Whether or not multiple feed urls is provided or not.\r\n *\r\n * @returns {boolean}\r\n */\r\n WhatsNewRSS.prototype.isMultiFeedRSS = function () {\r\n return 'string' !== typeof this.getArgs().rssFeedURL;\r\n };\r\n WhatsNewRSS.prototype.setRSSFeedURLs = function () {\r\n var _this = this;\r\n var rssFeedURL = this.getArgs().rssFeedURL;\r\n if (!this.isMultiFeedRSS()) {\r\n this.rssFeedURLs.push({\r\n key: null,\r\n label: '',\r\n url: rssFeedURL.toString(),\r\n });\r\n }\r\n else {\r\n if (Array.isArray(rssFeedURL)) {\r\n rssFeedURL.forEach(function (_item) {\r\n _this.rssFeedURLs.push(_item);\r\n });\r\n }\r\n }\r\n };\r\n WhatsNewRSS.prototype.getRSSFeedURLs = function () {\r\n return this.rssFeedURLs;\r\n };\r\n /**\r\n * Returns the current instance unique ID.\r\n *\r\n * @returns {string}\r\n */\r\n WhatsNewRSS.prototype.getID = function () {\r\n return this.ID;\r\n };\r\n /**\r\n * Checks and counts new notification for the notification badge.\r\n */\r\n WhatsNewRSS.prototype.setNotificationsCount = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, Promise.all(this.getRSSFeedURLs().map(function (_a) {\r\n var key = _a.key;\r\n return __awaiter(_this, void 0, void 0, function () {\r\n var lastPostUnixTime;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n lastPostUnixTime = 0;\r\n if (!('function' === typeof this.getArgs().notification.getLastPostUnixTime)) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.getArgs().notification.getLastPostUnixTime(key, this)];\r\n case 1:\r\n lastPostUnixTime = _b.sent();\r\n return [3 /*break*/, 3];\r\n case 2:\r\n lastPostUnixTime = WhatsNewRSSCacheUtils.getLastPostUnixTime(key);\r\n _b.label = 3;\r\n case 3:\r\n if (this.isMultiFeedRSS()) {\r\n this.multiLastPostUnixTime[key] = +lastPostUnixTime;\r\n }\r\n else {\r\n this.lastPostUnixTime = +lastPostUnixTime;\r\n }\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n }))];\r\n case 1:\r\n _a.sent();\r\n return [4 /*yield*/, this.RSS_Fetch_Instance.fetchData()\r\n .then(function (res) {\r\n Object.keys(res).forEach(function (key) {\r\n var data = res[key];\r\n if (!data.length) {\r\n return;\r\n }\r\n _this.multiNotificationCount[key] = 0;\r\n var currentPostUnixTime = +data[0].date;\r\n var lastPostUnixTime = _this.isMultiFeedRSS() ? _this.multiLastPostUnixTime[key] : _this.lastPostUnixTime;\r\n if (currentPostUnixTime > lastPostUnixTime) {\r\n data.forEach(function (item) {\r\n if (item.date > lastPostUnixTime) {\r\n if (_this.isMultiFeedRSS()) {\r\n _this.multiNotificationCount[key]++;\r\n _this.multiHasNewFeeds[key] = true;\r\n }\r\n // Keep a record of total notifications even in multi-feed mode.\r\n _this.notificationsCount++;\r\n _this.hasNewFeeds = true;\r\n }\r\n });\r\n _this.RSS_View_Instance.setNotification(_this.notificationsCount);\r\n }\r\n });\r\n })];\r\n case 2:\r\n _a.sent();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Returns total number of new notifications.\r\n *\r\n * @returns {number}\r\n */\r\n WhatsNewRSS.prototype.getNotificationsCount = function () {\r\n return this.notificationsCount;\r\n };\r\n /**\r\n * Sets the triggers for the library, eg: close, open, fetch.\r\n */\r\n WhatsNewRSS.prototype.setTriggers = function () {\r\n var _this = this;\r\n var triggerButton = document.getElementById(this.RSS_View_Instance.getTriggerButtonID());\r\n var flyout = document.getElementById(this.RSS_View_Instance.getFlyoutID());\r\n var flyoutInner = flyout.querySelector('.whats-new-rss-flyout-inner-content');\r\n var flyoutCloseBtn = document.getElementById(this.RSS_View_Instance.getFlyoutCloseBtnID());\r\n var multiFeedNav = document.getElementById(this.RSS_View_Instance.getFlyoutMultiFeedNavID());\r\n var injectContents = function (key) {\r\n /**\r\n * Fetch data on flyout open.\r\n */\r\n _this.RSS_Fetch_Instance.fetchData()\r\n .then(function (res) {\r\n flyoutInner.innerHTML = '';\r\n var data = res[key];\r\n if (!data.length) {\r\n return;\r\n }\r\n var currentPostUnixTime = +data[0].date;\r\n var lastPostUnixTime = _this.isMultiFeedRSS() ? _this.multiLastPostUnixTime[key] : _this.lastPostUnixTime;\r\n data.forEach(function (item) {\r\n var isNewPost = !!lastPostUnixTime ? item.date > lastPostUnixTime : false;\r\n var contentTitle = _this.getArgs().flyout.innerContent.titleLink ?\r\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t

\").concat(item.title, \"

\\n\\t\\t\\t\\t\\t\\t\\t
\")\r\n :\r\n \"

\".concat(item.title, \"

\");\r\n var innerContent = \"\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t

\".concat(_this.RSS_View_Instance.formatDate(new Date(item.date)), \"

\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\").concat(contentTitle, \"\\n\\t\\t\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t\\t\\t\").concat(_this.RSS_View_Instance.createExcerpt(item.description, item.postLink, _this.getArgs().flyout.excerpt), \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\").concat(_this.RSS_View_Instance.listChildrenPosts(item.children), \"\\n\\t\\t\\t\\t\\t\\t\\t\");\r\n var additionalClasses = _this.getArgs().flyout.innerContent.additionalClasses;\r\n if (!!key) {\r\n additionalClasses.push('`inner-content-item-feed-key-${key}`');\r\n }\r\n flyoutInner.innerHTML += _this.RSS_View_Instance.innerContentWrapper(innerContent, isNewPost, additionalClasses.join(' '));\r\n });\r\n if (_this.getArgs().viewAll.link) {\r\n // If we have link provided for the view all button then append a view all button at the end of the contents.\r\n flyoutInner.innerHTML += _this.RSS_View_Instance.innerContentWrapper(\"\\n\\t\\t\\t\\t\\t\\t\\t\").concat(_this.getArgs().viewAll.label, \"\\n\\t\\t\\t\\t\\t\\t\\t\"));\r\n }\r\n _this.RSS_View_Instance.setIsLoading(false);\r\n flyout.classList.add('ready');\r\n _this.getArgs().flyout.onReady(_this);\r\n /**\r\n * Change focus to flyout on flyout ready.\r\n */\r\n flyout.focus();\r\n // Set the last latest post date for notification handling.\r\n if (!_this.isMultiFeedRSS()) {\r\n _this.lastPostUnixTime = currentPostUnixTime;\r\n if (_this.hasNewFeeds) {\r\n if ('function' === typeof _this.getArgs().notification.setLastPostUnixTime) {\r\n _this.getArgs().notification.setLastPostUnixTime(currentPostUnixTime, key);\r\n }\r\n else {\r\n WhatsNewRSSCacheUtils.setLastPostUnixTime(currentPostUnixTime, key);\r\n }\r\n }\r\n }\r\n });\r\n };\r\n /**\r\n * Open flyout on trigger button click.\r\n * Flyout has three states: `closed | open | ready`\r\n */\r\n triggerButton.addEventListener(\"click\", function (e) {\r\n e.preventDefault();\r\n _this.getArgs().triggerButton.onClick(_this);\r\n _this.RSS_View_Instance.setIsLoading(true);\r\n flyout.classList.remove('closed');\r\n flyout.classList.add('open');\r\n document.body.classList.add('whats-new-rss-is-active');\r\n _this.getArgs().flyout.onOpen(_this);\r\n if (!_this.isMultiFeedRSS()) {\r\n return injectContents(null);\r\n }\r\n var navBtns = multiFeedNav.querySelectorAll('button');\r\n navBtns.forEach(function (navBtn) {\r\n _this.RSS_View_Instance.setMultiFeedTabNotificationCount(navBtn.dataset.feedKey, _this.multiNotificationCount[navBtn.dataset.feedKey]);\r\n navBtn.addEventListener('click', function (e) {\r\n e.preventDefault();\r\n var currentFeedKey = navBtn.dataset.feedKey;\r\n _this.multiNotificationCount[currentFeedKey] = 0;\r\n _this.RSS_Fetch_Instance.fetchData()\r\n .then(function (res) {\r\n var currentPostUnixTime = res[currentFeedKey][0].date;\r\n _this.multiLastPostUnixTime[currentFeedKey] = currentPostUnixTime;\r\n if (true === _this.multiHasNewFeeds[currentFeedKey]) {\r\n if ('function' === typeof _this.getArgs().notification.setLastPostUnixTime) {\r\n _this.getArgs().notification.setLastPostUnixTime(currentPostUnixTime, currentFeedKey);\r\n }\r\n else {\r\n WhatsNewRSSCacheUtils.setLastPostUnixTime(currentPostUnixTime, currentFeedKey);\r\n }\r\n }\r\n _this.multiHasNewFeeds[currentFeedKey] = false;\r\n });\r\n navBtns.forEach(function (navBtn) {\r\n navBtn.classList.remove('selected');\r\n var feedKey = navBtn.dataset.feedKey;\r\n var innerContentClassName = \".inner-content-item-feed-key-\".concat(feedKey);\r\n document.querySelectorAll(innerContentClassName).forEach(function (item) {\r\n if (currentFeedKey !== feedKey) {\r\n item.classList.add('hidden');\r\n }\r\n else {\r\n item.classList.remove('hidden');\r\n }\r\n });\r\n });\r\n navBtn.classList.add('selected');\r\n injectContents(currentFeedKey);\r\n });\r\n });\r\n navBtns[0].click();\r\n });\r\n /**\r\n * Handle events for the closing of the flyout.\r\n */\r\n var handleFlyoutClose = function () {\r\n flyout.classList.add('closed');\r\n flyout.classList.remove('open');\r\n flyout.classList.remove('ready');\r\n document.body.classList.remove('whats-new-rss-is-active');\r\n if (_this.isMultiFeedRSS()) {\r\n _this.RSS_View_Instance.setNotification(Object.values(_this.multiNotificationCount).filter(Boolean).length);\r\n }\r\n else {\r\n _this.hasNewFeeds = false;\r\n _this.RSS_View_Instance.setNotification(false);\r\n }\r\n flyoutInner.innerHTML = '';\r\n _this.getArgs().flyout.onClose(_this);\r\n /**\r\n * Change focus back to trigger button after flyout close.\r\n */\r\n triggerButton.focus();\r\n };\r\n if (this.getArgs().flyout.closeOnEsc) {\r\n document.addEventListener('keydown', function (e) {\r\n if ('Escape' !== e.key)\r\n return;\r\n if (!flyout.classList.contains('open'))\r\n return;\r\n handleFlyoutClose();\r\n });\r\n }\r\n if (this.getArgs().flyout.closeOnOverlayClick) {\r\n flyout.querySelector('.whats-new-rss-flyout-overlay').addEventListener('click', handleFlyoutClose);\r\n }\r\n flyoutCloseBtn.addEventListener('click', handleFlyoutClose);\r\n };\r\n return WhatsNewRSS;\r\n}());\r\nvar WhatsNewRSSCacheUtils = /** @class */ (function () {\r\n function WhatsNewRSSCacheUtils() {\r\n }\r\n WhatsNewRSSCacheUtils.setInstanceID = function (instanceID) {\r\n if (!this.instanceID) {\r\n this.instanceID = instanceID;\r\n }\r\n };\r\n WhatsNewRSSCacheUtils.prefixer = function (key, prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n if (!this.instanceID) {\r\n throw new Error('Instance ID not set.');\r\n }\r\n return !!prefixKey ? \"\".concat(this.keys[key], \"-\").concat(this.instanceID, \"-\").concat(prefixKey) : \"\".concat(this.keys[key], \"-\").concat(this.instanceID);\r\n };\r\n WhatsNewRSSCacheUtils._setDataExpiry = function (prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n var expiryInSeconds = 86400; // Defaults to 24 hours.\r\n var now = new Date();\r\n var expiry = now.getTime() + (expiryInSeconds * 1000);\r\n sessionStorage.setItem(this.prefixer('SESSION_DATA_EXPIRY', prefixKey), JSON.stringify(expiry));\r\n };\r\n WhatsNewRSSCacheUtils._isDataExpired = function (prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n var key = this.prefixer('SESSION_DATA_EXPIRY', prefixKey);\r\n var value = window.sessionStorage.getItem(key);\r\n if (!value) {\r\n return true;\r\n }\r\n var expiry = JSON.parse(value);\r\n var now = new Date();\r\n if (now.getTime() > expiry) {\r\n window.sessionStorage.removeItem(key);\r\n return true;\r\n }\r\n return false;\r\n };\r\n WhatsNewRSSCacheUtils.setSessionData = function (data, prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n this._setDataExpiry(prefixKey);\r\n return window.sessionStorage.setItem(this.prefixer('SESSION', prefixKey), data);\r\n };\r\n WhatsNewRSSCacheUtils.getSessionData = function (prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n if (!this._isDataExpired(prefixKey)) {\r\n return window.sessionStorage.getItem(this.prefixer('SESSION', prefixKey));\r\n }\r\n return '{}';\r\n };\r\n WhatsNewRSSCacheUtils.setLastPostUnixTime = function (unixTime, prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n return window.localStorage.setItem(this.prefixer('LAST_LATEST_POST', prefixKey), unixTime.toString());\r\n };\r\n WhatsNewRSSCacheUtils.getLastPostUnixTime = function (prefixKey) {\r\n if (prefixKey === void 0) { prefixKey = ''; }\r\n return +window.localStorage.getItem(this.prefixer('LAST_LATEST_POST', prefixKey));\r\n };\r\n WhatsNewRSSCacheUtils.keys = {\r\n SESSION_DATA_EXPIRY: \"whats-new-cache-expiry\",\r\n LAST_LATEST_POST: \"whats-new-last-unixtime\",\r\n SESSION: \"whats-new-cache\"\r\n };\r\n return WhatsNewRSSCacheUtils;\r\n}());\r\n/**\r\n * Class for handling the data fetching.\r\n * It also handles the session caching of the fetched data internally.\r\n */\r\nvar WhatsNewRSSFetch = /** @class */ (function () {\r\n function WhatsNewRSSFetch(RSS) {\r\n var _this = this;\r\n this.data = {};\r\n this.RSS = RSS;\r\n this.RSS.getRSSFeedURLs().forEach(function (feed) {\r\n var sessionCache = JSON.parse(WhatsNewRSSCacheUtils.getSessionData(feed.key));\r\n if (sessionCache && sessionCache.length) {\r\n _this.data[feed.key] = sessionCache;\r\n }\r\n });\r\n }\r\n WhatsNewRSSFetch.prototype.fetchData = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var fetchPromises;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (Object.keys(this.data).length) {\r\n return [2 /*return*/, this.data];\r\n }\r\n fetchPromises = this.RSS.getRSSFeedURLs().map(function (feed) { return __awaiter(_this, void 0, void 0, function () {\r\n var res, data, parser, xmlDoc, items;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.data[feed.key] = [];\r\n return [4 /*yield*/, fetch(feed.url)];\r\n case 1:\r\n res = _a.sent();\r\n return [4 /*yield*/, res.text()];\r\n case 2:\r\n data = _a.sent();\r\n /**\r\n * There was an issue with the xml content parse\r\n * And during parse we were getting \"\" because of the ‘raquo’ entity.\r\n */\r\n data = data.replace(/»/g, '&raquo;');\r\n parser = new DOMParser();\r\n xmlDoc = parser.parseFromString(data, 'text/xml');\r\n items = xmlDoc.querySelectorAll('item');\r\n items.forEach(function (item) {\r\n var _a;\r\n var title = item.querySelector('title').textContent;\r\n var link = item.querySelector('link').textContent;\r\n var contentEncoded = item.querySelector('content\\\\:encoded, encoded');\r\n var content = contentEncoded ? contentEncoded.textContent : '';\r\n var rssDate = item.querySelector('pubDate').innerHTML;\r\n _this.data[feed.key].push({\r\n title: title,\r\n date: !!rssDate ? +new Date(rssDate) : null,\r\n postLink: link,\r\n description: content.replace(/])*)>/g, '').replace(/

\\s*<\\/p>/g, ''),\r\n children: JSON.parse(((_a = item.querySelector('children')) === null || _a === void 0 ? void 0 : _a.innerHTML) || '{}')\r\n });\r\n });\r\n WhatsNewRSSCacheUtils.setSessionData(JSON.stringify(this.data[feed.key]), feed.key);\r\n return [2 /*return*/];\r\n }\r\n });\r\n }); });\r\n return [4 /*yield*/, Promise.all(fetchPromises)];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/, this.data];\r\n }\r\n });\r\n });\r\n };\r\n return WhatsNewRSSFetch;\r\n}());\r\n/**\r\n * The class for handling library trigger button and flyout elements.\r\n * It also provides some necessary methods that can be used during development.\r\n */\r\nvar WhatsNewRSSView = /** @class */ (function () {\r\n function WhatsNewRSSView(RSS) {\r\n this.RSS = RSS;\r\n this.createTriggerButton();\r\n this.createFlyOut();\r\n }\r\n WhatsNewRSSView.prototype.getTriggerButtonID = function () {\r\n return \"whats-new-rss-btn-\".concat(this.RSS.getID());\r\n };\r\n WhatsNewRSSView.prototype.getFlyoutID = function () {\r\n return \"whats-new-rss-flyout-\".concat(this.RSS.getID());\r\n };\r\n WhatsNewRSSView.prototype.getFlyoutCloseBtnID = function () {\r\n return \"whats-new-rss-flyout-close-\".concat(this.RSS.getID());\r\n };\r\n WhatsNewRSSView.prototype.getFlyoutMultiFeedNavID = function () {\r\n return \"whats-new-rss-flyout-multi-feed-nav-\".concat(this.RSS.getID());\r\n };\r\n WhatsNewRSSView.prototype.setIsLoading = function (isLoading) {\r\n if (isLoading === void 0) { isLoading = false; }\r\n var flyoutWrapper = document.getElementById(this.getFlyoutID());\r\n if (isLoading) {\r\n flyoutWrapper.classList.add('is-loading');\r\n }\r\n else {\r\n flyoutWrapper.classList.remove('is-loading');\r\n }\r\n };\r\n WhatsNewRSSView.prototype.setNotification = function (notificationsCount) {\r\n var notificationBadge = document.querySelector(\"#\".concat(this.getTriggerButtonID(), \" .whats-new-rss-notification-badge\"));\r\n if (!!notificationsCount) {\r\n if (this.RSS.isMultiFeedRSS()) {\r\n notificationBadge.innerHTML = '';\r\n notificationBadge.classList.add('is-multi-feed');\r\n }\r\n else {\r\n notificationBadge.innerHTML = notificationsCount > 9 ? \"9+\" : notificationsCount.toString();\r\n }\r\n notificationBadge.classList.remove('hide');\r\n }\r\n else {\r\n notificationBadge.classList.add('hide');\r\n }\r\n };\r\n WhatsNewRSSView.prototype.createTriggerButton = function () {\r\n var button = \"\\n\\t\\t\".concat(this.RSS.getArgs().triggerButton.beforeBtn, \"\\n\\t\\t\\n\\t\\t\\t\").concat(this.RSS.getArgs().triggerButton.icon, \"\\n\\t\\t\\t

\\n\\t\\t\\n\\t\\t\").concat(this.RSS.getArgs().triggerButton.afterBtn, \"\\n\\t\\t\");\r\n this.RSS.getElement().innerHTML += button;\r\n };\r\n WhatsNewRSSView.prototype.createFlyOut = function () {\r\n var wrapperClasses = [\r\n 'whats-new-rss-flyout',\r\n 'closed',\r\n ];\r\n if (this.RSS.getArgs().flyout.className) {\r\n wrapperClasses.push(this.RSS.getArgs().flyout.className);\r\n }\r\n var multiFeedNav = [];\r\n if (this.RSS.isMultiFeedRSS()) {\r\n multiFeedNav.push(\"');\r\n }\r\n var flyoutWrapper = document.createElement('div');\r\n flyoutWrapper.setAttribute('id', this.getFlyoutID());\r\n flyoutWrapper.setAttribute('class', wrapperClasses.join(' '));\r\n flyoutWrapper.setAttribute('role', 'dialog');\r\n flyoutWrapper.innerHTML = \"\\n\\t\\t
\\n\\n\\t\\t\\t
\\n\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t

\".concat(this.RSS.getArgs().flyout.title, \"

\\n\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\").concat(this.RSS.getArgs().loaderIcon, \"\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\n\\t\\t\\t\\t\\n\\t\\t\\t
\\n\\n\\t\\t\\t\").concat(multiFeedNav.join(''), \"\\n\\n\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\n\\t\\t
\\n\\n\\t\\t
\\n\\t\\t\");\r\n document.body.appendChild(flyoutWrapper);\r\n };\r\n WhatsNewRSSView.prototype.setMultiFeedTabNotificationCount = function (key, notificationCount) {\r\n if (notificationCount === void 0) { notificationCount = 0; }\r\n var tabBtn = document.querySelector(\"#\".concat(this.getFlyoutMultiFeedNavID(), \" button[data-feed-key=\\\"\").concat(key, \"\\\"]\"));\r\n if (!tabBtn) {\r\n return;\r\n }\r\n var el = tabBtn.querySelector('.new-notification-count');\r\n if (notificationCount) {\r\n var _count = notificationCount > 9 ? '9+' : notificationCount;\r\n el.innerHTML = _count.toString();\r\n }\r\n else {\r\n el.innerHTML = '';\r\n }\r\n };\r\n WhatsNewRSSView.prototype.innerContentWrapper = function (content, isNewPost, additionalClasses) {\r\n if (isNewPost === void 0) { isNewPost = false; }\r\n if (additionalClasses === void 0) { additionalClasses = ''; }\r\n var classes = ['whats-new-rss-flyout-inner-content-item'];\r\n if (isNewPost) {\r\n classes.push('rss-new-post');\r\n }\r\n if (!!additionalClasses) {\r\n classes.push(additionalClasses);\r\n }\r\n return \"\\n\\t\\t
\\n\\t\\t\\t\").concat(isNewPost ? 'New ✨' : '', \"\\n\\t\\t\\t\").concat(content, \"\\n\\t\\t
\\n\\t\\t\");\r\n };\r\n WhatsNewRSSView.prototype.createExcerpt = function (content, readMoreLink, options) {\r\n var wordLimit = options.wordLimit, moreSymbol = options.moreSymbol, readMore = options.readMore;\r\n if (!wordLimit) {\r\n return content;\r\n }\r\n var plainText = content.replace(/<[^>]*>/g, '');\r\n var words = plainText.split(/\\s+/);\r\n var rawExcerpt = words.slice(0, wordLimit).join(' ');\r\n if (moreSymbol) {\r\n rawExcerpt += moreSymbol;\r\n }\r\n if (wordLimit > words.length) {\r\n return content;\r\n }\r\n if (!!readMoreLink && !!(readMore === null || readMore === void 0 ? void 0 : readMore.label)) {\r\n return \"

\".concat(rawExcerpt, \" \").concat(readMore.label, \"

\");\r\n }\r\n return \"

\".concat(rawExcerpt, \"

\");\r\n };\r\n WhatsNewRSSView.prototype.listChildrenPosts = function (children) {\r\n var _this = this;\r\n var _children = Object.values(children);\r\n if (!_children.length)\r\n return '';\r\n var details = document.createElement('details');\r\n var summary = document.createElement('summary');\r\n var itemsWrapper = document.createElement('div');\r\n _children.forEach(function (child) {\r\n var postContentDoc = new DOMParser().parseFromString(child.post_content, 'text/html');\r\n var itemDiv = document.createElement('div');\r\n itemDiv.classList.add('sub-version-item');\r\n itemDiv.innerHTML = \"\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t

\".concat(child.post_title, \"

\\n\\t\\t\\t\\t\\t\").concat(_this.formatDate(new Date(child.post_date)), \"\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\").concat(postContentDoc.documentElement.textContent, \"
\\n\\t\\t\\t\");\r\n itemsWrapper.appendChild(itemDiv);\r\n });\r\n summary.innerHTML = '

See More

See Less

';\r\n details.appendChild(summary);\r\n details.appendChild(itemsWrapper);\r\n itemsWrapper.classList.add('sub-version-items-wrapper');\r\n details.classList.add('whats-new-rss-sub-version-details');\r\n return details.outerHTML;\r\n };\r\n WhatsNewRSSView.prototype.formatDate = function (date) {\r\n if ('function' === typeof this.RSS.getArgs().flyout.formatDate) {\r\n return this.RSS.getArgs().flyout.formatDate(date);\r\n }\r\n var currentDate = new Date();\r\n var timestamp = date.getTime();\r\n var currentTimestamp = currentDate.getTime();\r\n var difference = currentTimestamp - timestamp;\r\n // Define time intervals in milliseconds\r\n var minute = 60 * 1000;\r\n var hour = minute * 60;\r\n var day = hour * 24;\r\n var week = day * 7;\r\n var month = day * 30; // Rough estimate, assuming 30 days in a month\r\n if (difference < minute) {\r\n return 'Just now';\r\n }\r\n else if (difference < hour) {\r\n var minutes = Math.floor(difference / minute);\r\n return \"\".concat(minutes, \" minute\").concat(minutes > 1 ? 's' : '', \" ago\");\r\n }\r\n else if (difference < day) {\r\n var hours = Math.floor(difference / hour);\r\n return \"\".concat(hours, \" hour\").concat(hours > 1 ? 's' : '', \" ago\");\r\n }\r\n else if (difference < week) {\r\n var days = Math.floor(difference / day);\r\n return \"\".concat(days, \" day\").concat(days > 1 ? 's' : '', \" ago\");\r\n }\r\n else if (difference < month) {\r\n var weeks = Math.floor(difference / week);\r\n return \"\".concat(weeks, \" week\").concat(weeks > 1 ? 's' : '', \" ago\");\r\n }\r\n else {\r\n // Handle months and years accordingly\r\n // This is a rough estimate and may not be accurate in all cases\r\n var months = Math.floor(difference / month);\r\n return \"\".concat(months, \" month\").concat(months > 1 ? 's' : '', \" ago\");\r\n }\r\n };\r\n return WhatsNewRSSView;\r\n}());\r\n\r\nasync function getCSS() {\r\n return `.whats-new-rss-is-active{overflow:hidden}.whats-new-rss-trigger-button{display:flex;align-items:center;position:relative;width:auto;padding:5px;cursor:pointer}.whats-new-rss-trigger-button .whats-new-rss-notification-badge{position:absolute;top:-8px;right:-5px;width:20px;font-size:10px;line-height:20px;text-align:center;border-radius:10px;color:#fff;background:red;transition:transform .2s ease-in-out}.whats-new-rss-trigger-button .whats-new-rss-notification-badge.is-multi-feed{top:-2px;right:-2px;font-size:0;width:10px;height:10px}.whats-new-rss-trigger-button .whats-new-rss-notification-badge.hide{display:none}.whats-new-rss-trigger-button:hover .whats-new-rss-notification-badge{transform:scale(1.2)}.whats-new-rss-flyout{position:fixed;top:0;right:0;bottom:0;width:100%;z-index:99999;transition:visibility .3s ease-in-out;font-family:Arial,Helvetica,sans-serif}.whats-new-rss-flyout .lightbox-trigger,.whats-new-rss-flyout.hidden{display:none}.whats-new-rss-flyout.is-loading .whats-new-rss-flyout-inner-header__loading-icon{display:block;margin:auto}.whats-new-rss-flyout.is-loading .whats-new-rss-flyout-inner-header__loading-icon svg{display:block;background:0 0;width:25px;height:25px}.whats-new-rss-flyout .whats-new-rss-flyout-contents{position:fixed;display:flex;right:0;width:30%;height:100%;flex-direction:column;background-color:#fff;transition:transform .3s ease-in-out;z-index:9999}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 16px 24px;border-bottom:1px solid #ccc}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-header button{border:none;background:0 0;font-size:30px;cursor:pointer;color:#94a3b8;padding:0;margin:0;box-shadow:none}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-header .whats-new-rss-flyout-inner-header__title-icon-wrapper{display:flex;gap:10px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-header .whats-new-rss-flyout-inner-header__title-icon-wrapper h3{margin:0;padding:0;color:#0f172a;font-weight:600;font-size:16px;line-height:24px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav{display:flex;padding:0 30px;border-bottom:1px solid #ccc;gap:2em;overflow:auto;white-space:nowrap}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button{position:relative;background:0 0;color:inherit;padding:15px 0;border-bottom:2px solid transparent}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button:focus,.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button:hover{border-color:inherit}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button.selected{border-color:#5d5d5d}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-multi-feed-nav button .new-notification-count{position:absolute;top:0;right:-10px;width:20px;font-size:10px;line-height:20px;text-align:center;border-radius:10px;color:#fff;background:red}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content{flex:1;overflow-y:auto}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .skeleton-container{margin:30px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item{border-bottom:1px solid #d8dfe9;padding:30px 24px;color:#475569;font-weight:400;font-size:14px;line-height:20px;display:flex;flex-direction:column;gap:13px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item>*{margin:0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item.skeleton-row{height:25vh;margin:40px 0;background:linear-gradient(90deg,#eee 25%,#ddd 50%,#eee 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item.rss-new-post{position:relative}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item.rss-new-post .new-post-badge{background:#ff3d3d;border-radius:5px;position:absolute;right:45px;padding:0 5px;color:#fff}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item .rss-content-header{display:flex;flex-direction:column;gap:15px;padding:0 0 8px 0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item .rss-content-header p{color:#94a3b8;margin:0;padding:0;font-weight:600;font-size:14px;line-height:16px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item .rss-content-header h2{margin:0;color:#0f172a;font-weight:700;line-height:28px;font-size:20px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h2{font-weight:700;font-size:18px;line-height:24px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h3{font-weight:700;font-size:16px;line-height:22px;margin-top:12px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h4{font-weight:700;font-size:15px;line-height:20px;margin-top:12px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h5{font-weight:700;font-size:14px;line-height:18px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item h6{font-weight:700;font-size:13px;line-height:16px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item p{padding:0;font-size:14px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item p:last-child{margin-bottom:0;padding-bottom:0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item a{color:#1170ff;text-decoration:none}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item figure{margin:10px 0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item figure.wp-block-embed.is-type-video{position:relative;width:100%;height:0;padding-bottom:56.25%}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item figure iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item video{vertical-align:middle;width:100%}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item strong{font-weight:600}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ol,.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ul{padding-inline-start:20px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ol li,.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ul li{margin-bottom:5px}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ul{list-style-type:disc}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-flyout-inner-content .whats-new-rss-flyout-inner-content-item ol{list-style-type:decimal}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details{line-height:20px;font-size:.9em;margin:10px 0;background:#f9fafb}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details summary{display:flex;justify-content:space-between;cursor:pointer;padding:20px 15px;height:1em;line-height:20px;font-weight:800}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details summary::after{content:'⌃';font-size:20px;transform:rotateX(180deg);font-weight:800}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details summary .text-see-more{display:block}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details summary .text-see-less{display:none}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details[open] summary{border-bottom:1px solid #e2e8f0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details[open] summary::after{transform:rotateX(45deg)}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details[open] summary .text-see-more{display:none}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details[open] summary .text-see-less{display:block}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details .sub-version-item{position:relative;padding:1em;border-bottom:1px solid #e2e8f0}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details .sub-version-item .sub-version-header{display:flex;justify-content:space-between}.whats-new-rss-flyout .whats-new-rss-flyout-contents .whats-new-rss-sub-version-details .sub-version-item .sub-version-content{margin-top:1em}.whats-new-rss-flyout .whats-new-rss-flyout-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);transition:all .3s ease-in-out}.whats-new-rss-flyout.closed{visibility:hidden}.whats-new-rss-flyout.closed .whats-new-rss-flyout-overlay{opacity:0;visibility:hidden}.whats-new-rss-flyout.closed .whats-new-rss-flyout-contents{transform:translateX(100%)}.whats-new-rss-flyout .whats-new-rss-flyout-inner-header__loading-icon{display:none}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}@media screen and (max-width:1024px){.whats-new-rss-flyout .whats-new-rss-flyout-contents{width:40%}}@media screen and (max-width:768px){.whats-new-rss-flyout .whats-new-rss-flyout-contents{width:85%}}`;\r\n}\r\n\r\nasync function addStyleIfNotExists() {\r\n const styleId = 'whats-new-rss-styles';\r\n if (!document.getElementById(styleId)) {\r\n const style = document.createElement('style');\r\n style.id = styleId;\r\n style.innerHTML = await getCSS();\r\n document.head.appendChild(style);\r\n }\r\n}\r\n\r\n\r\nfunction createWhatsNewRSSInstance(args) {\r\n return new WhatsNewRSS(args);\r\n}\r\n\r\nfunction useWhatsNewRSS({ selector, ...rest }) {\r\n const instanceRef = useRef(null);\r\n\r\n useEffect(() => {\r\n addStyleIfNotExists();\r\n\r\n if (!instanceRef.current) {\r\n instanceRef.current = createWhatsNewRSSInstance({ selector, ...rest });\r\n }\r\n\r\n // Cleanup function\r\n return () => {\r\n if (instanceRef.current && typeof instanceRef.current.destroy === 'function') {\r\n instanceRef.current.destroy();\r\n }\r\n };\r\n }, [selector, ...Object.values(rest)]); // Adjust dependencies as needed\r\n\r\n return instanceRef.current;\r\n}\r\n\r\nexport default useWhatsNewRSS;\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Topbar, Button, Badge, DropdownMenu } from \"@bsf/force-ui\";\r\nimport {\r\n\tArrowUpRight,\r\n\tCircleHelp,\r\n\tFileText,\r\n\tHeadset,\r\n\tUser,\r\n} from \"lucide-react\";\r\nimport { __ } from \"@wordpress/i18n\";\r\nimport { routes } from \"../admin/settings/routes\";\r\nimport { Link } from \"../router/index\";\r\nimport useWhatsNewRSS from \"whats-new-rss\";\r\n\r\nfunction updateNavMenuActiveState() {\r\n\tconst currentPath = window.location.hash;\r\n\tconst menuItems = document.querySelectorAll(\r\n\t\t\"#adminmenu #toplevel_page_hfe a\"\r\n\t);\r\n\r\n\tmenuItems.forEach((item) => {\r\n\t\tconst href = item.getAttribute(\"href\");\r\n\t\tconst parentLi = item.closest(\"li\");\r\n\t\tconst itemText = item.textContent.trim();\r\n\r\n\t\tif (\r\n\t\t\thref &&\r\n\t\t\t(currentPath.includes(href.split(\"#\")[1]) ||\r\n\t\t\t\t(\"#dashboard\" === currentPath && itemText === \"Dashboard\"))\r\n\t\t) {\r\n\t\t\tparentLi.classList.add(\"current\");\r\n\t\t} else {\r\n\t\t\tparentLi.classList.remove(\"current\");\r\n\t\t}\r\n\t});\r\n}\r\n\r\nconst NavMenu = () => {\r\n\tconst [isDropdownOpen, setIsDropdownOpen] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tupdateNavMenuActiveState();\r\n\t\twindow.addEventListener(\"hashchange\", updateNavMenuActiveState);\r\n\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener(\"hashchange\", updateNavMenuActiveState);\r\n\t\t};\r\n\t}, []);\r\n\r\n\t// Get the current URL's hash part (after the #).\r\n\tconst currentPath = window.location.hash;\r\n\r\n\tconst isActive = (path) => currentPath.includes(path);\r\n\r\n\tconst linkStyle = (path) => ({\r\n\t\tcolor: isActive(path) ? \"#111827\" : \"#4B5563\",\r\n\t\tborderBottom: isActive(path) ? \"2px solid #6005FF\" : \"none\",\r\n\t\tpaddingBottom: \"22px\",\r\n\t\tmarginBottom: \"-16px\",\r\n\t});\r\n\r\n\tconst handleRedirect = (url) => {\r\n\t\twindow.open(url, \"_blank\");\r\n\t\tsetIsDropdownOpen(false);\r\n\t};\r\n\r\n\tuseWhatsNewRSS({\r\n\t\trssFeedURL: \"https://ultimateelementor.com/whats-new/feed/\",\r\n\t\tselector: \"#hfe-whats-new\",\r\n\t\ttriggerButton: {\r\n\t\t\tbeforeBtn:\r\n\t\t\t\t'
',\r\n\t\t\ticon: '',\r\n\t\t\tafterBtn: \"
\",\r\n\t\t},\r\n\t\tflyout: {\r\n\t\t\ttitle: __(\"What's New?\", \"astra-sites\"),\r\n\t\t\tformatDate: (date) => {\r\n\t\t\t\tconst dayOfWeek = date.toLocaleDateString(\"en-US\", {\r\n\t\t\t\t\tweekday: \"long\",\r\n\t\t\t\t});\r\n\t\t\t\tconst month = date.toLocaleDateString(\"en-US\", {\r\n\t\t\t\t\tmonth: \"long\",\r\n\t\t\t\t});\r\n\t\t\t\tconst day = date.getDate();\r\n\t\t\t\tconst year = date.getFullYear();\r\n\r\n\t\t\t\treturn `${dayOfWeek} ${month} ${day}, ${year}`;\r\n\t\t\t},\r\n\t\t},\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{/* Top row on mobile: Logo and Nav menu */}\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\ticonPosition=\"right\"\r\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\r\n\t\t\t\t\t\t\t\tclassName=\"hfe-remove-ring mb-2\"\r\n\t\t\t\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\t\t\t\tcolor: \"#6005FF\",\r\n\t\t\t\t\t\t\t\t\t// paddingBottom: \"10px\",\r\n\t\t\t\t\t\t\t\t\tbackground: \"none\",\r\n\t\t\t\t\t\t\t\t\tborder: \"none\",\r\n\t\t\t\t\t\t\t\t\tpadding: 0,\r\n\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonClick={() =>\r\n\t\t\t\t\t\t\t\t\thandleRedirect(\r\n\t\t\t\t\t\t\t\t\t\t\"https://ultimateelementor.com/pricing/?utm_source=uae-lite-dashboard&utm_medium=navigation-bar&utm_campaign=uae-lite-upgrade\"\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{__(\r\n\t\t\t\t\t\t\t\t\t\"Get Ultimate Elementor\",\r\n\t\t\t\t\t\t\t\t\t\"header-footer-elementor\"\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{__(\"Version\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{`${hfeSettingsData.uaelite_current_version}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{__(\"Useful Resources\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\thandleRedirect(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"https://ultimateelementor.com/docs/getting-started-with-ultimate-addons-for-elementor-lite/\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{__(\"Getting Started\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\thandleRedirect(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"https://ultimateelementor.com/docs-category/widgets/\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{__(\"How to use widgets\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\thandleRedirect(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"https://ultimateelementor.com/docs-category/features/\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{__(\"How to use features\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\thandleRedirect(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"https://ultimateelementor.com/docs-category/templates/\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{__(\"How to use templates\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\thandleRedirect(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"https://ultimateelementor.com/contact/\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{__(\"Contact us\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default NavMenu;\r\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Info = createLucideIcon(\"Info\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 16v-4\", key: \"1dtifu\" }],\n [\"path\", { d: \"M12 8h.01\", key: \"e9boi3\" }]\n]);\n\nexport { Info as default };\n//# sourceMappingURL=info.js.map\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"apiFetch\"];","import React, { useEffect, useState } from 'react'\r\nimport { Container, Switch, Tooltip, Badge } from \"@bsf/force-ui\";\r\nimport { InfoIcon, FileText } from 'lucide-react';\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport { __ } from '@wordpress/i18n';\r\n\r\n// Create a queue to manage AJAX requests\r\nconst requestQueue = [];\r\n\r\nconst processQueue = () => {\r\n if (requestQueue.length === 0) return;\r\n\r\n // Take the first item from the queue and run it\r\n const currentRequest = requestQueue.shift();\r\n currentRequest();\r\n};\r\n\r\nconst WidgetItem = ({\r\n widget,\r\n updateCounter\r\n}) => {\r\n const {\r\n id,\r\n icon,\r\n title,\r\n infoText,\r\n is_pro,\r\n is_active,\r\n slug,\r\n demo_url,\r\n doc_url,\r\n description,\r\n is_new\r\n } = widget\r\n\r\n // Track the active state of the widget using React state\r\n const [isActive, setIsActive] = useState(widget.is_active);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n // Update local state when the widget prop changes\r\n setIsActive(widget.is_active);\r\n }, [widget.is_active, updateCounter]);\r\n\r\n const apiCall = (activateWidget) => {\r\n const action = activateWidget ? 'hfe_deactivate_widget' : 'hfe_activate_widget';\r\n\r\n const formData = new window.FormData();\r\n formData.append('action', action);\r\n formData.append('nonce', hfe_admin_data.nonce);\r\n formData.append('module_id', id);\r\n formData.append('is_pro', is_pro);\r\n\r\n try {\r\n const data = apiFetch({\r\n url: hfe_admin_data.ajax_url,\r\n method: 'POST',\r\n body: formData,\r\n });\r\n\r\n if (data.success) {\r\n setIsActive(isActive); // Update the active state after the request\r\n } else if (data.error) {\r\n }\r\n } catch (err) {\r\n \r\n } finally {\r\n setIsLoading(false); // Always stop the loading spinner\r\n processQueue();\r\n }\r\n }\r\n\r\n const handleSwitchChange = () => {\r\n if (isLoading) return;\r\n\r\n setIsLoading(true);\r\n\r\n if (isActive) {\r\n // Add the request to the queue\r\n setIsActive(false);\r\n requestQueue.push(() => apiCall(isActive));\r\n } else {\r\n // Add the request to the queue\r\n setIsActive(true);\r\n requestQueue.push(() => apiCall(isActive));\r\n }\r\n if (requestQueue.length === 1) {\r\n // Start processing the queue if no other request is being processed\r\n processQueue();\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n {icon}\r\n
\r\n\r\n
\r\n\r\n {is_pro && (\r\n )}\r\n {!is_pro && (\r\n )}\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n

{title}

\r\n
\r\n {demo_url && (\r\n \r\n {__('View Demo', 'header-footer-elementor')}\r\n \r\n )}\r\n
\r\n \r\n {title}\r\n {description}\r\n {doc_url && (\r\n \r\n \r\n {__('Read Documentation', 'header-footer-elementor')}\r\n \r\n )}\r\n
\r\n }\r\n placement=\"bottom\"\r\n title=\"\"\r\n triggers={[\r\n 'click'\r\n ]}\r\n variant=\"dark\"\r\n size=\"xs\"\r\n >\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default WidgetItem\r\n","import React, { useState, useEffect } from 'react';\r\nimport WidgetItem from './WidgetItem'\r\nimport { ArrowUpRight } from 'lucide-react';\r\nimport { Container, Skeleton } from \"@bsf/force-ui\";\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport { __ } from '@wordpress/i18n';\r\nimport { routes } from '../../admin/settings/routes';\r\nimport { Link } from \"../../router/index\";\r\n\r\nconst Widgets = () => {\r\n\r\n const [allWidgetsData, setAllWidgetsData] = useState(null); // Initialize state.\r\n const [loading, setLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n const fetchSettings = () => {\r\n setLoading(true);\r\n apiFetch({\r\n path: '/hfe/v1/widgets',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-WP-Nonce': hfeSettingsData.hfe_nonce_action, // Use the correct nonce\r\n },\r\n })\r\n .then((data) => {\r\n const widgetsData = convertToWidgetsArray(data)\r\n setAllWidgetsData(widgetsData);\r\n setLoading(false); // Stop loading\r\n })\r\n .catch((err) => {\r\n setLoading(false); // Stop loading\r\n });\r\n };\r\n\r\n fetchSettings();\r\n }, []);\r\n\r\n function convertToWidgetsArray(data) {\r\n const widgets = [];\r\n\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n const widget = data[key];\r\n widgets.push({\r\n id: key, // Using the key as 'widgetTitle'\r\n slug: widget.slug,\r\n title: widget.title,\r\n keywords: widget.keywords,\r\n icon: ,\r\n title_url: widget.title_url,\r\n default: widget.default,\r\n doc_url: widget.doc_url,\r\n is_pro: widget.is_pro,\r\n description: widget.description,\r\n is_active: widget.is_activate !== undefined ? widget.is_activate : true, // Check if is_activate is set\r\n demo_url: widget.demo_url !== undefined ? widget.demo_url : widget.doc_url\r\n });\r\n }\r\n }\r\n\r\n return widgets;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

Widgets / Features

\r\n
\r\n {/*

View All

*/}\r\n {/* */}\r\n \r\n View All\r\n \r\n \r\n
\r\n
\r\n
\r\n {loading ? (\r\n \r\n {[...Array(16)].map((_, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n {allWidgetsData?.slice(0, 16).map((widget) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n )}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Widgets\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Title, Button } from \"@bsf/force-ui\";\r\nimport { __ } from \"@wordpress/i18n\";\r\nimport { Link } from \"../../router/index\"; // Import the custom Link component\r\nimport { routes } from \"admin/settings/routes\"; // Import the routes object\r\nimport apiFetch from '@wordpress/api-fetch';\r\n\r\nconst TemplateSection = () => {\r\n\r\n\tconst [loading, setLoading] = useState(true);\r\n\tconst [templatesStatus, setTemplatesStatus] = useState(null); \r\n const [redirectUrl, setRedirectUrl] = useState(null); \r\n\r\n\tuseEffect(() => {\r\n const fetchSettings = () => {\r\n setLoading(true);\r\n apiFetch({\r\n path: '/hfe/v1/templates',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-WP-Nonce': hfeSettingsData.uael_nonce_action, // Use the correct nonce\r\n },\r\n })\r\n .then((data) => {\r\n setTemplatesStatus(data.templates_status);\r\n if (data.redirect_url) {\r\n setRedirectUrl(data.redirect_url); // Save URL in state variable\r\n }\r\n setLoading(false); // Stop loading\r\n })\r\n .catch((err) => {\r\n setLoading(false); // Stop loading\r\n });\r\n };\r\n\r\n fetchSettings();\r\n }, []);\r\n\r\n const handleButtonClick = (e) => {\r\n if( 'Activated' === templatesStatus && redirectUrl ) {\r\n window.open( redirectUrl, '_blank' );\r\n }\r\n };\r\n\r\n\tif( loading ) {\r\n\t\treturn;\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t

\r\n\t\t\t\t{__(\r\n\t\t\t\t\t\"Choose from our professionally designed websites to build your site faster, with easy customization options.\",\r\n\t\t\t\t\t\"header-footer-elementor\"\r\n\t\t\t\t)}\r\n\t\t\t

\r\n\t\t\t{\r\n 'Activated' !== templatesStatus ? (\r\n \r\n \r\n {__('View Templates', 'header-footer-elementor')}\r\n \r\n \r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t{__('View Templates', 'header-footer-elementor')}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default TemplateSection;\r\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Headphones = createLucideIcon(\"Headphones\", [\n [\n \"path\",\n {\n d: \"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3\",\n key: \"1xhozi\"\n }\n ]\n]);\n\nexport { Headphones as default };\n//# sourceMappingURL=headphones.js.map\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Star = createLucideIcon(\"Star\", [\n [\n \"polygon\",\n {\n points: \"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\",\n key: \"8f66p6\"\n }\n ]\n]);\n\nexport { Star as default };\n//# sourceMappingURL=star.js.map\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst NotepadText = createLucideIcon(\"NotepadText\", [\n [\"path\", { d: \"M8 2v4\", key: \"1cmpym\" }],\n [\"path\", { d: \"M12 2v4\", key: \"3427ic\" }],\n [\"path\", { d: \"M16 2v4\", key: \"4m81vk\" }],\n [\"rect\", { width: \"16\", height: \"18\", x: \"4\", y: \"4\", rx: \"2\", key: \"1u9h20\" }],\n [\"path\", { d: \"M8 10h6\", key: \"3oa6kw\" }],\n [\"path\", { d: \"M8 14h8\", key: \"1fgep2\" }],\n [\"path\", { d: \"M8 18h5\", key: \"17enja\" }]\n]);\n\nexport { NotepadText as default };\n//# sourceMappingURL=notepad-text.js.map\n","import React from \"react\";\r\nimport { Title, Container, Button } from \"@bsf/force-ui\";\r\nimport { Headphones, HelpCircle, StarIcon, NotepadText } from \"lucide-react\";\r\nimport { __ } from \"@wordpress/i18n\";\r\n\r\nconst QuickAccess = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\ticonPosition=\"left\"\r\n\t\t\t\t\t\tvariant=\"link\"\r\n\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\twindow.open(\r\n\t\t\t\t\t\t\t\t\"https://ultimateelementor.com/contact/\",\r\n\t\t\t\t\t\t\t\t\"_blank\"\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{__(\"Contact Us\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\ticonPosition=\"left\"\r\n\t\t\t\t\t\tvariant=\"link\"\r\n\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\twindow.open(\r\n\t\t\t\t\t\t\t\t\"https://wordpress.org/support/plugin/header-footer-elementor/reviews/#new-post\",\r\n\t\t\t\t\t\t\t\t\"_blank\"\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{__(\"Rate Us\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\ticonPosition=\"left\"\r\n\t\t\t\t\t\tvariant=\"link\"\r\n\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\twindow.open(\r\n\t\t\t\t\t\t\t\t\"https://ultimateelementor.com/docs/\",\r\n\t\t\t\t\t\t\t\t\"_blank\"\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{__(\"Help Centre\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\ticonPosition=\"left\"\r\n\t\t\t\t\t\tvariant=\"link\"\r\n\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\twindow.open(\r\n\t\t\t\t\t\t\t\t\"https://ideas.ultimateelementor.com/boards/feature-requests\",\r\n\t\t\t\t\t\t\t\t\"_blank\"\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{__(\"Request a Feature\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{/* \r\n\t\t\t\t\t}\r\n\t\t\t\t\t\ticonPosition=\"left\"\r\n\t\t\t\t\t\tvariant=\"link\"\r\n\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\twindow.open(\r\n\t\t\t\t\t\t\t\t\"https://make.wordpress.org/\",\r\n\t\t\t\t\t\t\t\t\"_blank\"\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{__(\"Join the Community\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\r\n\t\t\t\t */}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default QuickAccess;\r\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Plus = createLucideIcon(\"Plus\", [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }]\n]);\n\nexport { Plus as default };\n//# sourceMappingURL=plus.js.map\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ExternalLink = createLucideIcon(\"ExternalLink\", [\n [\"path\", { d: \"M15 3h6v6\", key: \"1q9fwt\" }],\n [\"path\", { d: \"M10 14 21 3\", key: \"gplh6r\" }],\n [\"path\", { d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\", key: \"a6xqqp\" }]\n]);\n\nexport { ExternalLink as default };\n//# sourceMappingURL=external-link.js.map\n","import React from 'react';\r\nimport {\r\n Title\r\n} from '@bsf/force-ui';\r\nimport { __ } from '@wordpress/i18n'; \r\n\r\nconst HeaderLine = () => {\r\n\treturn (\r\n \r\n\t);\r\n};\r\n\r\nexport default HeaderLine;\r\n","import React from \"react\";\r\nimport { Container, Title, Button } from \"@bsf/force-ui\";\r\nimport { ExternalLink, Plus } from \"lucide-react\";\r\nimport HeaderLine from '@components/HeaderLine'\r\nimport { __ } from \"@wordpress/i18n\";\r\n\r\nconst WelcomeContainer = () => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n \t\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{__(\r\n\t\t\t\t\t\t\t\"We're excited to help you supercharge your website-building experience.Effortlessly design stunning websites with our comprehensive range of free and premium widgets and features.\",\r\n\t\t\t\t\t\t\t\"header-footer-elementor\"\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t(e.currentTarget.style.backgroundColor =\r\n\t\t\t\t\t\t\t\t\t\"#4B00CC\")\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tonMouseLeave={(e) =>\r\n\t\t\t\t\t\t\t\t(e.currentTarget.style.backgroundColor =\r\n\t\t\t\t\t\t\t\t\t\"#6005FF\")\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\t\twindow.open(\r\n\t\t\t\t\t\t\t\t\thfeSettingsData.hfe_post_url,\r\n\t\t\t\t\t\t\t\t\t\"_blank\"\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{__(\"Create Header/Footer\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ticonPosition=\"right\"\r\n\t\t\t\t\t\t\tvariant=\"outline\"\r\n\t\t\t\t\t\t\tclassName=\"hfe-remove-ring\"\r\n\t\t\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\t\t\tcolor: \"#7D4CDB\",\r\n\t\t\t\t\t\t\t\tborderColor: \"#E9DFFC\",\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonMouseEnter={(e) =>\r\n\t\t\t\t\t\t\t\t(e.currentTarget.style.color =\r\n\t\t\t\t\t\t\t\t\t\"#000000\")\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tonMouseLeave={(e) =>\r\n\t\t\t\t\t\t\t\t(e.currentTarget.style.color =\r\n\t\t\t\t\t\t\t\t\t\"#7D4CDB\") &&\r\n\t\t\t\t\t\t\t\t(e.currentTarget.style.borderColor =\r\n\t\t\t\t\t\t\t\t\t\"#E9DFFC\")\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\t\twindow.open(\r\n\t\t\t\t\t\t\t\t\thfeSettingsData.elementor_page_url,\r\n\t\t\t\t\t\t\t\t\t\"_blank\"\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{__(\"Create New Page\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t(e.currentTarget.style.color = \"#6005ff\")\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tonMouseLeave={(e) =>\r\n\t\t\t\t\t\t\t\t(e.currentTarget.style.color = \"black\")\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\t\twindow.open(\r\n\t\t\t\t\t\t\t\t\t\"https://ultimateelementor.com/docs/getting-started-with-ultimate-addons-for-elementor-lite/\",\r\n\t\t\t\t\t\t\t\t\t\"_blank\"\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\ticonPosition=\"right\"\r\n\t\t\t\t\t\t\t\tvariant=\"link\"\r\n\t\t\t\t\t\t\t\tclassName=\"hfe-remove-ring text-black\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{__(\"Read full guide\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t{/* \r\n\t\t\t\t\r\n\t\t\t\t */}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\nexport default WelcomeContainer;\r\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Zap = createLucideIcon(\"Zap\", [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n]);\n\nexport { Zap as default };\n//# sourceMappingURL=zap.js.map\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Check = createLucideIcon(\"Check\", [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]]);\n\nexport { Check as default };\n//# sourceMappingURL=check.js.map\n","import React from \"react\";\r\nimport { Container, Title, Button } from \"@bsf/force-ui\";\r\nimport { Zap, Check } from \"lucide-react\";\r\nimport { Link } from \"../../router/index\";\r\nimport { routes } from \"../../admin/settings/routes\";\r\nimport { __ } from \"@wordpress/i18n\";\r\n\r\nconst UltimateFeatures = () => {\r\n\tconst featureData = [\r\n\t\t{\r\n\t\t\tid: 1,\r\n\t\t\ticon: \"\",\r\n\t\t\ttitle: __(\"Modal Popup\", \"header-footer-elementor\"),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 2,\r\n\t\t\ticon: \"\",\r\n\t\t\ttitle: __(\"Advanced Heading\", \"header-footer-elementor\"),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 3,\r\n\t\t\ticon: \"\",\r\n\t\t\ttitle: __(\"Post Layouts\", \"header-footer-elementor\"),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 4,\r\n\t\t\ticon: \"\",\r\n\t\t\ttitle: __(\"Info Box\", \"header-footer-elementor\"),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 5,\r\n\t\t\ticon: \"\",\r\n\t\t\ttitle: __(\"Pricing Cards\", \"header-footer-elementor\"),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 6,\r\n\t\t\ticon: \"\",\r\n\t\t\ttitle: __(\"Form Stylers and more...\", \"header-footer-elementor\"),\r\n\t\t},\r\n\t];\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ticonPosition=\"left\"\r\n\t\t\t\t\t\t\tsize=\"xs\"\r\n\t\t\t\t\t\t\ttag=\"h6\"\r\n\t\t\t\t\t\t\ttitle={__(\r\n\t\t\t\t\t\t\t\t\"Unlock Ultimate Features\",\r\n\t\t\t\t\t\t\t\t\"header-footer-elementor\"\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\tclassName=\"text-xs font-semibold text-brand-primary-600\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{__(\r\n\t\t\t\t\t\t\t\t\"Get access to advanced widgets and features to create the website that stands out!\",\r\n\t\t\t\t\t\t\t\t\"header-footer-elementor\"\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{featureData.map((feature) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\ticonPosition=\"left\"\r\n\t\t\t\t\t\t\t\tsize=\"xs\"\r\n\t\t\t\t\t\t\t\ttag=\"h6\"\r\n\t\t\t\t\t\t\t\ttitle={__(\r\n\t\t\t\t\t\t\t\t\tfeature.title,\r\n\t\t\t\t\t\t\t\t\t\"header-footer-elementor\"\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tclassName=\"text-[14px]\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\twindow.open(\r\n\t\t\t\t\t\t\t\t\t\"https://ultimateelementor.com/pricing/?utm_source=uae-lite-dashboard&utm_medium=unlock-ultimate-feature&utm_campaign=uae-lite-upgrade\",\r\n\t\t\t\t\t\t\t\t\t\"_blank\"\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{__(\"Upgrade Now\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{__(\r\n\t\t\t\t\t\t\t\t\"Compare Free vs Pro\",\r\n\t\t\t\t\t\t\t\t\"header-footer-elementor\"\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default UltimateFeatures;\r\n","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"regeneratorRuntime\"];","import React, { useState } from 'react';\r\nimport { Container, Button, Badge, Dialog } from \"@bsf/force-ui\";\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport { __ } from '@wordpress/i18n';\r\n\r\nconst ExtendWebsiteWidget = ({\r\n plugin,\r\n setUpdateCounter // Receive setUpdateCounter as a prop\r\n}) => {\r\n const {\r\n path,\r\n slug,\r\n siteUrl,\r\n icon,\r\n type,\r\n name,\r\n zipUrl,\r\n desc,\r\n wporg,\r\n isFree,\r\n action,\r\n status,\r\n settings_url\r\n } = plugin\r\n const [isDialogOpen, setIsDialogOpen] = useState(false);\r\n const [pluginData, setPluginData] = useState(null);\r\n\r\n const getAction = (status) => {\r\n if (status === 'Activated') {\r\n return 'site_redirect';\r\n } else if (status === 'Installed') {\r\n return 'hfe_recommended_plugin_activate';\r\n }\r\n return 'hfe_recommended_plugin_install';\r\n };\r\n\r\n const handlePluginAction = (e) => {\r\n const action = e.currentTarget.dataset.action;\r\n const formData = new window.FormData();\r\n const currentPluginData = {\r\n init: e.currentTarget.dataset.init,\r\n type: e.currentTarget.dataset.type,\r\n slug: e.currentTarget.dataset.slug,\r\n name: e.currentTarget.dataset.pluginname,\r\n };\r\n\r\n switch (action) {\r\n case 'hfe_recommended_plugin_activate':\r\n // Confirmation only for theme activation\r\n if (currentPluginData.type === 'theme') {\r\n // Show dialog for confirmation\r\n setPluginData(currentPluginData);\r\n setIsDialogOpen(true);\r\n } else {\r\n // Directly activate for non-theme plugins\r\n activatePlugin(currentPluginData);\r\n }\r\n break;\r\n\r\n case 'hfe_recommended_plugin_install':\r\n\r\n // Installation process without any confirmation\r\n formData.append(\r\n 'action',\r\n currentPluginData.type === 'theme'\r\n ? 'hfe_recommended_theme_install'\r\n : 'hfe_recommended_plugin_install'\r\n );\r\n formData.append('_ajax_nonce', hfe_admin_data.installer_nonce);\r\n formData.append('slug', currentPluginData.slug);\r\n\r\n e.target.innerText = __('Installing..', 'header-footer-elementor');\r\n\r\n apiFetch({\r\n url: hfe_admin_data.ajax_url,\r\n method: 'POST',\r\n body: formData,\r\n }).then((data) => {\r\n if (data.success || data.errorCode === 'folder_exists') {\r\n e.target.innerText = __('Installed', 'header-footer-elementor');\r\n callAnalyticsWebhook(currentPluginData);\r\n if( currentPluginData.type === 'theme' ) {\r\n // Change button state to \"Activate\" after successful installation\r\n const buttonElement = document.querySelector(`[data-slug=\"${currentPluginData.slug}\"]`);\r\n buttonElement.dataset.action = 'hfe_recommended_plugin_activate';\r\n e.target.innerText = __('Activate', 'header-footer-elementor');\r\n } else {\r\n activatePlugin(currentPluginData);\r\n }\r\n } else {\r\n e.target.innerText = __('Install', 'header-footer-elementor');\r\n alert(\r\n currentPluginData.type === 'theme'\r\n ? __('Theme Installation failed, Please try again later.', 'header-footer-elementor')\r\n : __('Plugin Installation failed, Please try again later.', 'header-footer-elementor')\r\n );\r\n }\r\n });\r\n break;\r\n\r\n case 'site_redirect':\r\n window.open(siteUrl, '_blank'); // Open siteUrl in a new tab\r\n break;\r\n\r\n default:\r\n // Do nothing.\r\n break;\r\n }\r\n };\r\n\r\n const callAnalyticsWebhook = (pluginData) => {\r\n const webhookUrl = 'https://webhook.suretriggers.com/suretriggers/a7ac4b20-18f9-4ec6-9813-dfac83328d00';\r\n const today = new Date().toISOString().split('T')[0];\r\n const params = new URLSearchParams({\r\n source: 'UAE Lite',\r\n target_plugin: pluginData.name,\r\n date: today, // Add today's date\r\n });\r\n\r\n fetch(`${webhookUrl}?${params.toString()}`, {\r\n method: 'GET',\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n // console.log('Webhook call successful:', data);\r\n })\r\n .catch(error => {\r\n // console.error('Error calling webhook:', error);\r\n });\r\n }\r\n\r\n const activatePlugin = (pluginData) => {\r\n setIsDialogOpen(false);\r\n const formData = new window.FormData();\r\n formData.append('action', 'hfe_recommended_plugin_activate');\r\n formData.append('nonce', hfe_admin_data.nonce);\r\n formData.append('plugin', pluginData.init);\r\n formData.append('type', pluginData.type);\r\n formData.append('slug', pluginData.slug);\r\n\r\n const buttonElement = document.querySelector(`[data-slug=\"${pluginData.slug}\"]`);\r\n const spanElement = buttonElement.querySelector('span');\r\n\r\n spanElement.innerText = __('Activating..', 'header-footer-elementor');\r\n\r\n apiFetch({\r\n url: hfe_admin_data.ajax_url,\r\n method: 'POST',\r\n body: formData,\r\n }).then((data) => { \r\n if (data.success) {\r\n if (spanElement) { // Check if spanElement is not null\r\n buttonElement.style.color = '#16A34A';\r\n buttonElement.dataset.action = 'site_redirect';\r\n buttonElement.classList.add('hfe-plugin-activated');\r\n spanElement.innerText = __('Activated', 'header-footer-elementor');\r\n window.open(settings_url, '_blank');\r\n setTimeout(() => {\r\n // Reload the section or recall the REST API\r\n setUpdateCounter(prev => prev + 1);\r\n }, 5000);\r\n }\r\n } else {\r\n if ('theme' == pluginData.type) {\r\n // console.log(__(`Theme Activation failed, Please try again later.`, 'header-footer-elementor'));\r\n } else {\r\n // console.log(__(`Plugin Activation failed, Please try again later.`, 'header-footer-elementor'));\r\n }\r\n const buttonElement = document.querySelector(`[data-slug=\"${pluginData.slug}\"]`);\r\n if (buttonElement) { // Check if buttonElement is not null\r\n const spanElement = buttonElement.querySelector('span');\r\n if (spanElement) { // Check if spanElement is not null\r\n spanElement.innerText = __('Activate', 'header-footer-elementor');\r\n }\r\n }\r\n }\r\n });\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {isFree && (\r\n \r\n )}\r\n \r\n {status === 'Activated' ? __('Visit Site', 'header-footer-elementor') : ('Installed' === status ? 'Activate' : status)}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {__('Activate Theme', 'header-footer-elementor')}\r\n \r\n
\r\n \r\n {__('Are you sure you want to switch your current theme to Astra?', 'header-footer-elementor')}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n window.open(plugin.siteurl, '_blank')}\r\n >{__(name, 'header-footer-elementor')}

\r\n

{__(desc, 'header-footer-elementor')}

\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ExtendWebsiteWidget\r\n","import React, { useState, useEffect } from 'react'\r\nimport ExtendWebsiteWidget from './ExtendWebsiteWidget';\r\nimport { Container, Skeleton } from \"@bsf/force-ui\";\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport { __ } from '@wordpress/i18n';\r\n\r\nconst ExtendWebsite = () => {\r\n\r\n const [plugins, setPlugins] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const [updateCounter, setUpdateCounter] = useState(0);\r\n const [allInstalled, setAllInstalled] = useState(false);\r\n\r\n useEffect(() => {\r\n const fetchSettings = async () => {\r\n setLoading(true);\r\n try {\r\n const data = await apiFetch({\r\n path: '/hfe/v1/plugins',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-WP-Nonce': hfeSettingsData.hfe_nonce_action,\r\n },\r\n });\r\n const pluginsData = convertToPluginsArray(data);\r\n setPlugins(pluginsData);\r\n\r\n // Check if all plugins are installed\r\n const areAllInstalled = pluginsData.every(plugin => plugin.is_installed);\r\n setAllInstalled(areAllInstalled);\r\n } catch (err) {\r\n console.error(\"Error fetching plugins:\", err);\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n fetchSettings();\r\n }, [updateCounter]);\r\n\r\n function convertToPluginsArray(data) {\r\n return Object.keys(data).map((key) => ({\r\n path: key,\r\n ...data[key],\r\n }));\r\n }\r\n\r\n // If all plugins are installed, don't render the component\r\n if (allInstalled) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

\r\n {__(\"Extend Your Website\", \"header-footer-elementor\")}\r\n

\r\n
\r\n
\r\n
\r\n {loading ? (\r\n \r\n {[...Array(2)].map((_, index) => (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n {plugins.slice(0, 4).map((plugin) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n )}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ExtendWebsite;\r\n","import { Container } from \"@bsf/force-ui\";\r\nimport NavMenu from '@components/NavMenu'\r\nimport React from 'react'\r\nimport Widgets from './Widgets'\r\nimport TemplateSection from './TemplateSection'\r\nimport QuickAccess from './QuickAccess'\r\nimport WelcomeContainer from './WelcomeContainer'\r\nimport UltimateFeatures from './UltimateFeatures'\r\nimport ExtendWebsite from './ExtendWebsite'\r\n\r\nconst Dashboard = () => {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Dashboard\r\n","import React from \"react\";\r\nimport { Container, Title, Button } from \"@bsf/force-ui\";\r\nimport { Zap, Check } from \"lucide-react\";\r\nimport { Link } from \"../../router/index\";\r\nimport { routes } from \"../../admin/settings/routes\";\r\nimport { __ } from \"@wordpress/i18n\";\r\n\r\nconst UltimateWidgets = () => {\r\n const featureData = [\r\n {\r\n id: 1,\r\n icon: \"\",\r\n title: __(\"Modal Popup\", \"header-footer-elementor\"),\r\n },\r\n {\r\n id: 2,\r\n icon: \"\",\r\n title: __(\"Advanced Heading\", \"header-footer-elementor\"),\r\n },\r\n {\r\n id: 1,\r\n icon: \"\",\r\n title: __(\"Post Layouts\", \"header-footer-elementor\"),\r\n },\r\n {\r\n id: 1,\r\n icon: \"\",\r\n title: __(\"Info Box\", \"header-footer-elementor\"),\r\n },\r\n {\r\n id: 1,\r\n icon: \"\",\r\n title: __(\"Pricing Cards\", \"header-footer-elementor\"),\r\n },\r\n {\r\n id: 1,\r\n icon: \"\",\r\n title: __(\"Form Stylers and more...\", \"header-footer-elementor\"),\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n }\r\n iconPosition=\"left\"\r\n size=\"xs\"\r\n tag=\"h6\"\r\n title={__(\"Unlock Ultimate Features\", \"header-footer-elementor\")}\r\n className=\"text-xs font-semibold text-brand-primary-600\"\r\n />\r\n \r\n

\r\n {__(\r\n \"Get access to advanced widgets and features to create the website that stands out!\",\r\n \"header-footer-elementor\"\r\n )}\r\n

\r\n
\r\n
\r\n {featureData.map((feature) => (\r\n \r\n }\r\n iconPosition=\"left\"\r\n size=\"xxs\"\r\n tag=\"h6\"\r\n title={feature.title}\r\n className=\"text-md m-0 text-text-secondary hfe-compare-section\"\r\n />\r\n ))}\r\n
\r\n
\r\n {\r\n window.open(\r\n \"https://ultimateelementor.com/pricing/?utm_source=uae-lite-FreevsPro&utm_medium=unlock-ultimate-feature&utm_campaign=uae-lite-upgrade\",\r\n \"_blank\"\r\n );\r\n }}\r\n >\r\n {__(\"Upgrade Now\", \"header-footer-elementor\")}\r\n \r\n \r\n {__(\r\n \"Compare Free vs Pro\",\r\n \"header-footer-elementor\"\r\n )}\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default UltimateWidgets;\r\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Search = createLucideIcon(\"Search\", [\n [\"circle\", { cx: \"11\", cy: \"11\", r: \"8\", key: \"4ej97u\" }],\n [\"path\", { d: \"m21 21-4.3-4.3\", key: \"1qie3q\" }]\n]);\n\nexport { Search as default };\n//# sourceMappingURL=search.js.map\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst LoaderCircle = createLucideIcon(\"LoaderCircle\", [\n [\"path\", { d: \"M21 12a9 9 0 1 1-6.219-8.56\", key: \"13zald\" }]\n]);\n\nexport { LoaderCircle as default };\n//# sourceMappingURL=loader-circle.js.map\n","import React, { useState, useEffect } from 'react';\r\nimport { Container, Button, Skeleton } from \"@bsf/force-ui\";\r\nimport { LoaderCircle, SearchIcon } from \"lucide-react\";\r\nimport WidgetItem from '@components/Dashboard/WidgetItem';\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport { __ } from \"@wordpress/i18n\";\r\n\r\nconst FeatureWidgets = () => {\r\n\r\n const [allWidgetsData, setAllWidgetsData] = useState(null); // Initialize state.\r\n const [searchTerm, setSearchTerm] = useState('');\r\n const [loadingActivate, setLoadingActivate] = useState(false); // Loading state for activate button\r\n const [loadingDeactivate, setLoadingDeactivate] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [updateCounter, setUpdateCounter] = useState(0);\r\n\r\n\r\n useEffect(() => {\r\n const fetchSettings = () => {\r\n setLoading(true);\r\n apiFetch({\r\n path: '/hfe/v1/widgets',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-WP-Nonce': hfeSettingsData.hfe_nonce_action, // Use the correct nonce\r\n },\r\n })\r\n .then((data) => {\r\n const widgetsData = convertToWidgetsArray(data)\r\n setAllWidgetsData(widgetsData);\r\n setLoading(false); // Stop loading\r\n })\r\n .catch((err) => {\r\n setLoading(false); // Stop loading\r\n });\r\n };\r\n\r\n fetchSettings();\r\n }, []);\r\n\r\n // New function to handle search input change\r\n const handleSearchChange = (event) => {\r\n setSearchTerm(event.target.value.toLowerCase());\r\n };\r\n\r\n // Filter widgets based on search term\r\n const filteredWidgets = allWidgetsData?.filter(widget =>\r\n widget.title.toLowerCase().includes(searchTerm) ||\r\n widget.keywords?.some(keyword => keyword.toLowerCase().includes(searchTerm))\r\n );\r\n\r\n const handleActivateAll = async () => {\r\n\r\n setLoadingActivate(true);\r\n\r\n const formData = new window.FormData();\r\n formData.append('action', 'hfe_bulk_activate_widgets');\r\n formData.append('nonce', hfe_admin_data.nonce);\r\n\r\n apiFetch({\r\n url: hfe_admin_data.ajax_url,\r\n method: 'POST',\r\n body: formData,\r\n }).then((data) => {\r\n setLoadingActivate(false);\r\n if (data.success) {\r\n setAllWidgetsData(prevWidgets =>\r\n prevWidgets.map(widget => ({ ...widget, is_active: true }))\r\n );\r\n setUpdateCounter(prev => prev + 1);\r\n } else if (data.error) {\r\n setLoadingActivate(false);\r\n console.error('Error during AJAX request:', error);\r\n }\r\n }).catch((error) => {\r\n setLoadingActivate(false);\r\n console.error('Error during AJAX request:', error);\r\n });\r\n };\r\n\r\n const handleDeactivateAll = async () => {\r\n setLoadingDeactivate(true);\r\n\r\n const formData = new window.FormData();\r\n formData.append('action', 'hfe_bulk_deactivate_widgets');\r\n formData.append('nonce', hfe_admin_data.nonce);\r\n\r\n apiFetch({\r\n url: hfe_admin_data.ajax_url,\r\n method: 'POST',\r\n body: formData,\r\n }).then((data) => {\r\n setLoadingDeactivate(false);\r\n if (data.success) {\r\n setAllWidgetsData(prevWidgets =>\r\n prevWidgets.map(widget => ({ ...widget, is_active: false }))\r\n );\r\n setUpdateCounter(prev => prev + 1);\r\n } else if (data.error) {\r\n console.error('AJAX request failed:', data.error);\r\n }\r\n }).catch((error) => {\r\n setLoadingDeactivate(false);\r\n console.error('Error during AJAX request:', error);\r\n });\r\n };\r\n\r\n function convertToWidgetsArray(data) {\r\n const widgets = [];\r\n\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n const widget = data[key];\r\n widgets.push({\r\n id: key, // Using the key as 'widgetTitle'\r\n slug: widget.slug,\r\n title: widget.title,\r\n keywords: widget.keywords,\r\n icon: ,\r\n title_url: widget.title_url,\r\n default: widget.default,\r\n doc_url: widget.doc_url,\r\n is_pro: widget.is_pro,\r\n description: widget.description,\r\n is_active: widget.is_activate !== undefined ? widget.is_activate : true, // Check if is_activate is set\r\n demo_url: widget.demo_url !== undefined ? widget.demo_url : widget.doc_url\r\n });\r\n }\r\n }\r\n\r\n return widgets;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

{__(\"Widgets / Features\", \"header-footer-elementor\")}

\r\n
\r\n \r\n e.target.style.borderColor = '#6005FF'} // Apply focus color\r\n onBlur={(e) => e.target.style.borderColor = '#e0e0e0'} // Revert to default color\r\n onChange={handleSearchChange}\r\n />\r\n
\r\n : null}\r\n iconPosition=\"left\"\r\n variant=\"outline\"\r\n className=\"hfe-bulk-action-button\"\r\n onClick={handleActivateAll} // Attach the onClick event.\r\n disabled={!!searchTerm}\r\n >\r\n {loadingActivate ? __('Activating...', 'header-footer-elementor') : __('Activate All', 'header-footer-elementor')}\r\n \r\n\r\n : null} // Loader for deactivate button.\r\n iconPosition=\"left\"\r\n variant=\"outline\"\r\n onClick={handleDeactivateAll}\r\n className=\"hfe-bulk-action-button\"\r\n disabled={!!searchTerm}\r\n >\r\n {loadingDeactivate ? __('Deactivating...', 'header-footer-elementor') : __('Deactivate All', 'header-footer-elementor')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {loading ? (\r\n \r\n {[...Array(30)].map((_, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n {filteredWidgets?.map((widget) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n )}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default FeatureWidgets\r\n","import NavMenu from '@components/NavMenu'\r\nimport { Container } from \"@bsf/force-ui\";\r\nimport React from 'react'\r\nimport ExtendWebsite from '@components/Dashboard/ExtendWebsite';\r\nimport TemplateSection from '@components/Dashboard/TemplateSection';\r\nimport QuickAccess from '@components/Dashboard/QuickAccess';\r\nimport UltimateWidgets from './UltimateWidgets';\r\nimport FeatureWidgets from './Features/FeatureWidgets'\r\n\r\nconst Features = () => {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Features","import React, { useState, useEffect } from 'react';\r\nimport { Container, Title, Button } from \"@bsf/force-ui\";\r\nimport { Zap, Plus, Check } from \"lucide-react\";\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport { __ } from \"@wordpress/i18n\";\r\n\r\nconst ExploreTemplates = () => {\r\n\r\n\tconst [loading, setLoading] = useState(true);\r\n\tconst [templatesStatus, setTemplatesStatus] = useState(null); \r\n const [redirectUrl, setRedirectUrl] = useState(null); \r\n\r\n\tconst templateData = [\r\n\t\t{\r\n\t\t\tid: 1,\r\n\t\t\ticon: \"\",\r\n\t\t\ttitle: __( \"250+ templates for every niche\", \"header-footer-elementor\" ),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 2,\r\n\t\t\ticon: \"\",\r\n\t\t\ttitle: __( \"Modern, timeless designs\", \"header-footer-elementor\" ),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 3,\r\n\t\t\ticon: \"\",\r\n\t\t\ttitle: __( \"Full design flexibility for easy customization\", \"header-footer-elementor\" ),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 4,\r\n\t\t\ticon: \"\",\r\n\t\t\ttitle: __( \"100% responsive across all devices\", \"header-footer-elementor\" ),\r\n\t\t}\r\n\t];\r\n\r\n\tuseEffect(() => {\r\n const fetchSettings = () => {\r\n setLoading(true);\r\n apiFetch({\r\n path: '/hfe/v1/templates',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-WP-Nonce': hfeSettingsData.hfe_nonce_action, // Use the correct nonce\r\n },\r\n })\r\n .then((data) => {\r\n\t\t\t\t\tsetTemplatesStatus(data.templates_status);\r\n if (data.redirect_url) {\r\n setRedirectUrl(data.redirect_url); // Save URL in state variable\r\n }\r\n setLoading(false); // Stop loading\r\n })\r\n .catch((err) => {\r\n setLoading(false); // Stop loading\r\n });\r\n };\r\n\r\n fetchSettings();\r\n }, []);\r\n\r\n\tif( loading ) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst button_text = 'Install' === templatesStatus ? __('Install Starter Templates', 'header-footer-elementor') : ( 'Installed' ? __('Activate Starter Templates', 'header-footer-elementor') : '');\r\n\r\n\tconst handleButtonClick = (e) => {\r\n\r\n\t\tif (redirectUrl ) {\r\n\t\t\twindow.open(redirectUrl, '_blank');\r\n\t\t} else {\r\n\t\t\tconst buttonElement = document.querySelector('.hfe-starter-template-button span');\r\n\r\n\t\t\tconst formData = new window.FormData();\r\n\t\t\tformData.append( 'action', 'hfe_recommended_plugin_install' );\r\n\t\t\tformData.append( '_ajax_nonce', hfe_admin_data.installer_nonce );\r\n\t\t\tformData.append( 'slug', 'astra-sites' );\r\n\t\t\t\r\n\t\t\tif( buttonElement && templatesStatus === 'Install' ) {\r\n\r\n\t\t\t\tbuttonElement.innerText = __('Installing Starter Templates...', 'header-footer-elementor');\r\n\r\n\t\t\t\t// AJAX call to install the starter template.\r\n\t\t\t\tapiFetch({\r\n\t\t\t\t\turl: hfe_admin_data.ajax_url,\r\n\t\t\t\t\tmethod: 'POST',\r\n\t\t\t\t\tbody: formData,\r\n\t\t\t\t}).then((data) => {\r\n\t\t\t\t\tif (data.success || data.errorCode === 'folder_exists' ) {\r\n\t\t\t\t\t\tbuttonElement.innerText = __('Installed Starter Templates', 'header-footer-elementor');\r\n\t\t\t\t\t\tcallAnalyticsWebhook();\r\n\t\t\t\t\t\tactivatePlugin();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tbuttonElement.innerText = __('Install Starter Templates', 'header-footer-elementor');\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif( buttonElement && templatesStatus === 'Installed' ) {\r\n\t\t\t\tbuttonElement.innerText = __('Activating Starter Templates...', 'header-footer-elementor');\r\n\t\t\t\tactivatePlugin();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst callAnalyticsWebhook = () => {\r\n const webhookUrl = 'https://webhook.suretriggers.com/suretriggers/a7ac4b20-18f9-4ec6-9813-dfac83328d00';\r\n const today = new Date().toISOString().split('T')[0];\r\n const params = new URLSearchParams({\r\n source: 'UAE Lite',\r\n target_plugin: 'Starter Templates',\r\n date: today, // Add today's date\r\n });\r\n\r\n fetch(`${webhookUrl}?${params.toString()}`, {\r\n method: 'GET',\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n // console.log('Webhook call successful:', data);\r\n })\r\n .catch(error => {\r\n // console.error('Error calling webhook:', error);\r\n });\r\n }\r\n\r\n\tconst activatePlugin = () => {\r\n\r\n const formData = new window.FormData();\r\n\r\n\t\tconst st_pro_status = hfeSettingsData.st_pro_status;\r\n\t\tvar plugin_file = 'astra-sites/astra-sites.php';\r\n\t\tvar plugin_slug = 'astra-sites';\r\n\r\n\t\tif( 'Installed' === st_pro_status && ( 'Install' === hfeSettingsData.st_status || 'Installed' === hfeSettingsData.st_status ) ) {\r\n\t\t\tplugin_file = 'astra-pro-sites/astra-pro-sites.php';\r\n\t\t\tplugin_slug = 'astra-pro-sites';\r\n\t\t}\r\n\r\n formData.append('action', 'hfe_recommended_plugin_activate');\r\n formData.append('nonce', hfe_admin_data.nonce);\r\n formData.append('plugin', plugin_file );\r\n formData.append('type', 'plugin');\r\n formData.append('slug', plugin_slug);\r\n\r\n apiFetch({\r\n url: hfe_admin_data.ajax_url,\r\n method: 'POST',\r\n body: formData,\r\n }).then((data) => {\r\n if (data.success) {\r\n const buttonElement = document.querySelector('.hfe-starter-template-button');\r\n if (buttonElement) { // Check if buttonElement is not null\r\n const spanElement = buttonElement.querySelector('span');\r\n if (spanElement) { // Check if spanElement is not null\r\n spanElement.innerText = __('Activating Starter Templates...', 'header-footer-elementor');\r\n buttonElement.classList.add('hfe-plugin-activated');\r\n spanElement.innerText = __('Activated Starter Templates', 'header-footer-elementor');\r\n location.reload();\r\n }\r\n }\r\n } else {\r\n const buttonElement = document.querySelector('.hfe-starter-template-button');\r\n if (buttonElement) { // Check if buttonElement is not null\r\n const spanElement = buttonElement.querySelector('span');\r\n if (spanElement) { // Check if spanElement is not null\r\n spanElement.innerText = __('Activate Starter Templates', 'header-footer-elementor');\r\n }\r\n }\r\n }\r\n });\r\n };\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{/* Left Column */}\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{/* Main Title */}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ticonPosition=\"left\"\r\n\t\t\t\t\t\t\tsize=\"xs\"\r\n\t\t\t\t\t\t\ttag=\"h6\"\r\n\t\t\t\t\t\t\ttitle={__(\"Design Your Website in Minutes\", \"header-footer-elementor\")}\r\n\t\t\t\t\t\t\tclassName=\"text-xs font-semibold text-brand-primary-600 mb-2\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t{/* Subtitle */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* Paragraph Description */}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{__('Stop building your site from scratch. Use our professional templates for your stunning website.It is easy to customize and completely responsive. Explore hundreds of designs and bring your vision to life in no time.', 'header-footer-elementor')}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{/* Template List */}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{templateData.map((template) => (\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\ticonPosition=\"left\"\r\n\t\t\t\t\t\t\t\tsize=\"xs\"\r\n\t\t\t\t\t\t\t\ttag=\"h6\"\r\n\t\t\t\t\t\t\t\ttitle={__(template.title, 'header-footer-elementor')}\r\n\t\t\t\t\t\t\t\tclassName=\"\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{/* Buttons */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ticonPosition=\"right\"\r\n\t\t\t\t\t\t\tvariant=\"secondary\"\r\n\t\t\t\t\t\t\tstyle={{ backgroundColor: \"#6005FF\", outlineWidth: \"0px\" }}\r\n\t\t\t\t\t\t\tclassName=\"w-auto hfe-starter-template-button hfe-remove-ring cursor-pointer\"\r\n\t\t\t\t\t\t\tonClick={handleButtonClick}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{ ( 'Activated' === templatesStatus ) ? __('Explore Templates', 'header-footer-elementor') : button_text }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n window.open('https://startertemplates.com/', '_blank');\r\n }}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{__('Learn More', 'header-footer-elementor')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\r\n\t\t\t\t{/* Right Column with Image */}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t)\r\n}\r\n\r\nexport default ExploreTemplates\r\n","import React from 'react'\r\nimport { Container } from \"@bsf/force-ui\";\r\nimport NavMenu from '@components/NavMenu';\r\nimport ExploreTemplates from './ExploreTemplates';\r\n\r\nconst Templates = () => {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n {/* \r\n */}\r\n \r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Templates\r\n","import React, { useState } from 'react'\r\n\r\nconst Sidebar = ({ items, onSelectItem }) => {\r\n const [selectedItemId, setSelectedItemId] = useState(null); // State to track selected item\r\n\r\n const handleSelectItem = (item) => {\r\n setSelectedItemId(item.id); // Update selected item\r\n onSelectItem(item); // Trigger onSelectItem callback\r\n };\r\n\r\n return (\r\n
\r\n {/* Loop through items to render main title, icon, and title */}\r\n {items.map((item) => (\r\n
\r\n {/* Main Title for each section */}\r\n {item.main && (\r\n

\r\n {item.main}\r\n

\r\n )}\r\n\r\n {/* Each item with icon and title */}\r\n handleSelectItem(item)}\r\n >\r\n \r\n {selectedItemId === item.id ? item.selected : item.icon}\r\n \r\n

{item.title}

\r\n
\r\n
\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default Sidebar;\r\n","import React from 'react'\r\n\r\nconst Content = ({ selectedItem }) => {\r\n return (\r\n
\r\n
{selectedItem?.content}
\r\n
\r\n )\r\n}\r\n\r\nexport default Content\r\n","let e={data:\"\"},t=t=>\"object\"==typeof window?((t?t.querySelector(\"#_goober\"):window._goober)||Object.assign((t||document.head).appendChild(document.createElement(\"style\")),{innerHTML:\" \",id:\"_goober\"})).firstChild:t||e,r=e=>{let r=t(e),l=r.data;return r.data=\"\",l},l=/(?:([\\u0080-\\uFFFF\\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\\s*)/g,a=/\\/\\*[^]*?\\*\\/| +/g,n=/\\n+/g,o=(e,t)=>{let r=\"\",l=\"\",a=\"\";for(let n in e){let c=e[n];\"@\"==n[0]?\"i\"==n[1]?r=n+\" \"+c+\";\":l+=\"f\"==n[1]?o(c,n):n+\"{\"+o(c,\"k\"==n[1]?\"\":t)+\"}\":\"object\"==typeof c?l+=o(c,t?t.replace(/([^,])+/g,e=>n.replace(/([^,]*:\\S+\\([^)]*\\))|([^,])+/g,t=>/&/.test(t)?t.replace(/&/g,e):e?e+\" \"+t:t)):n):null!=c&&(n=/^--/.test(n)?n:n.replace(/[A-Z]/g,\"-$&\").toLowerCase(),a+=o.p?o.p(n,c):n+\":\"+c+\";\")}return r+(t&&a?t+\"{\"+a+\"}\":a)+l},c={},s=e=>{if(\"object\"==typeof e){let t=\"\";for(let r in e)t+=r+s(e[r]);return t}return e},i=(e,t,r,i,p)=>{let u=s(e),d=c[u]||(c[u]=(e=>{let t=0,r=11;for(;t>>0;return\"go\"+r})(u));if(!c[d]){let t=u!==e?e:(e=>{let t,r,o=[{}];for(;t=l.exec(e.replace(a,\"\"));)t[4]?o.shift():t[3]?(r=t[3].replace(n,\" \").trim(),o.unshift(o[0][r]=o[0][r]||{})):o[0][t[1]]=t[2].replace(n,\" \").trim();return o[0]})(e);c[d]=o(p?{[\"@keyframes \"+d]:t}:t,r?\"\":\".\"+d)}let f=r&&c.g?c.g:null;return r&&(c.g=c[d]),((e,t,r,l)=>{l?t.data=t.data.replace(l,e):-1===t.data.indexOf(e)&&(t.data=r?e+t.data:t.data+e)})(c[d],t,i,f),d},p=(e,t,r)=>e.reduce((e,l,a)=>{let n=t[a];if(n&&n.call){let e=n(r),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;n=t?\".\"+t:e&&\"object\"==typeof e?e.props?\"\":o(e,\"\"):!1===e?\"\":e}return e+l+(null==n?\"\":n)},\"\");function u(e){let r=this||{},l=e.call?e(r.p):e;return i(l.unshift?l.raw?p(l,[].slice.call(arguments,1),r.p):l.reduce((e,t)=>Object.assign(e,t&&t.call?t(r.p):t),{}):l,t(r.target),r.g,r.o,r.k)}let d,f,g,b=u.bind({g:1}),h=u.bind({k:1});function m(e,t,r,l){o.p=t,d=e,f=r,g=l}function j(e,t){let r=this||{};return function(){let l=arguments;function a(n,o){let c=Object.assign({},n),s=c.className||a.className;r.p=Object.assign({theme:f&&f()},c),r.o=/ *go\\d+/.test(s),c.className=u.apply(r,l)+(s?\" \"+s:\"\"),t&&(c.ref=o);let i=e;return e[0]&&(i=c.as||e,delete c.as),g&&i[0]&&g(c),d(i,c)}return t?t(a):a}}export{u as css,r as extractCss,b as glob,h as keyframes,m as setup,j as styled};\n","\"use client\";\nvar W=e=>typeof e==\"function\",T=(e,t)=>W(e)?e(t):e;var U=(()=>{let e=0;return()=>(++e).toString()})(),b=(()=>{let e;return()=>{if(e===void 0&&typeof window<\"u\"){let t=matchMedia(\"(prefers-reduced-motion: reduce)\");e=!t||t.matches}return e}})();import{useEffect as H,useState as j}from\"react\";var Q=20;var S=new Map,X=1e3,$=e=>{if(S.has(e))return;let t=setTimeout(()=>{S.delete(e),u({type:4,toastId:e})},X);S.set(e,t)},J=e=>{let t=S.get(e);t&&clearTimeout(t)},v=(e,t)=>{switch(t.type){case 0:return{...e,toasts:[t.toast,...e.toasts].slice(0,Q)};case 1:return t.toast.id&&J(t.toast.id),{...e,toasts:e.toasts.map(r=>r.id===t.toast.id?{...r,...t.toast}:r)};case 2:let{toast:o}=t;return e.toasts.find(r=>r.id===o.id)?v(e,{type:1,toast:o}):v(e,{type:0,toast:o});case 3:let{toastId:s}=t;return s?$(s):e.toasts.forEach(r=>{$(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===s||s===void 0?{...r,visible:!1}:r)};case 4:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==t.toastId)};case 5:return{...e,pausedAt:t.time};case 6:let a=t.time-(e.pausedAt||0);return{...e,pausedAt:void 0,toasts:e.toasts.map(r=>({...r,pauseDuration:r.pauseDuration+a}))}}},A=[],P={toasts:[],pausedAt:void 0},u=e=>{P=v(P,e),A.forEach(t=>{t(P)})},Y={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},I=(e={})=>{let[t,o]=j(P);H(()=>(A.push(o),()=>{let a=A.indexOf(o);a>-1&&A.splice(a,1)}),[t]);let s=t.toasts.map(a=>{var r,c;return{...e,...e[a.type],...a,duration:a.duration||((r=e[a.type])==null?void 0:r.duration)||(e==null?void 0:e.duration)||Y[a.type],style:{...e.style,...(c=e[a.type])==null?void 0:c.style,...a.style}}});return{...t,toasts:s}};var G=(e,t=\"blank\",o)=>({createdAt:Date.now(),visible:!0,type:t,ariaProps:{role:\"status\",\"aria-live\":\"polite\"},message:e,pauseDuration:0,...o,id:(o==null?void 0:o.id)||U()}),h=e=>(t,o)=>{let s=G(t,e,o);return u({type:2,toast:s}),s.id},n=(e,t)=>h(\"blank\")(e,t);n.error=h(\"error\");n.success=h(\"success\");n.loading=h(\"loading\");n.custom=h(\"custom\");n.dismiss=e=>{u({type:3,toastId:e})};n.remove=e=>u({type:4,toastId:e});n.promise=(e,t,o)=>{let s=n.loading(t.loading,{...o,...o==null?void 0:o.loading});return e.then(a=>(n.success(T(t.success,a),{id:s,...o,...o==null?void 0:o.success}),a)).catch(a=>{n.error(T(t.error,a),{id:s,...o,...o==null?void 0:o.error})}),e};import{useEffect as K,useCallback as L}from\"react\";var Z=(e,t)=>{u({type:1,toast:{id:e,height:t}})},ee=()=>{u({type:5,time:Date.now()})},D=e=>{let{toasts:t,pausedAt:o}=I(e);K(()=>{if(o)return;let r=Date.now(),c=t.map(i=>{if(i.duration===1/0)return;let d=(i.duration||0)+i.pauseDuration-(r-i.createdAt);if(d<0){i.visible&&n.dismiss(i.id);return}return setTimeout(()=>n.dismiss(i.id),d)});return()=>{c.forEach(i=>i&&clearTimeout(i))}},[t,o]);let s=L(()=>{o&&u({type:6,time:Date.now()})},[o]),a=L((r,c)=>{let{reverseOrder:i=!1,gutter:d=8,defaultPosition:p}=c||{},g=t.filter(m=>(m.position||p)===(r.position||p)&&m.height),E=g.findIndex(m=>m.id===r.id),x=g.filter((m,R)=>Rm.visible).slice(...i?[x+1]:[0,x]).reduce((m,R)=>m+(R.height||0)+d,0)},[t]);return{toasts:t,handlers:{updateHeight:Z,startPause:ee,endPause:s,calculateOffset:a}}};import*as l from\"react\";import{styled as B,keyframes as z}from\"goober\";import*as y from\"react\";import{styled as C,keyframes as me}from\"goober\";import{styled as te,keyframes as k}from\"goober\";var oe=k`\nfrom {\n transform: scale(0) rotate(45deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(45deg);\n opacity: 1;\n}`,re=k`\nfrom {\n transform: scale(0);\n opacity: 0;\n}\nto {\n transform: scale(1);\n opacity: 1;\n}`,se=k`\nfrom {\n transform: scale(0) rotate(90deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(90deg);\n\topacity: 1;\n}`,_=te(\"div\")`\n width: 20px;\n opacity: 0;\n height: 20px;\n border-radius: 10px;\n background: ${e=>e.primary||\"#ff4b4b\"};\n position: relative;\n transform: rotate(45deg);\n\n animation: ${oe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n animation-delay: 100ms;\n\n &:after,\n &:before {\n content: '';\n animation: ${re} 0.15s ease-out forwards;\n animation-delay: 150ms;\n position: absolute;\n border-radius: 3px;\n opacity: 0;\n background: ${e=>e.secondary||\"#fff\"};\n bottom: 9px;\n left: 4px;\n height: 2px;\n width: 12px;\n }\n\n &:before {\n animation: ${se} 0.15s ease-out forwards;\n animation-delay: 180ms;\n transform: rotate(90deg);\n }\n`;import{styled as ae,keyframes as ie}from\"goober\";var ne=ie`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`,V=ae(\"div\")`\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border: 2px solid;\n border-radius: 100%;\n border-color: ${e=>e.secondary||\"#e0e0e0\"};\n border-right-color: ${e=>e.primary||\"#616161\"};\n animation: ${ne} 1s linear infinite;\n`;import{styled as ce,keyframes as N}from\"goober\";var pe=N`\nfrom {\n transform: scale(0) rotate(45deg);\n\topacity: 0;\n}\nto {\n transform: scale(1) rotate(45deg);\n\topacity: 1;\n}`,de=N`\n0% {\n\theight: 0;\n\twidth: 0;\n\topacity: 0;\n}\n40% {\n height: 0;\n\twidth: 6px;\n\topacity: 1;\n}\n100% {\n opacity: 1;\n height: 10px;\n}`,w=ce(\"div\")`\n width: 20px;\n opacity: 0;\n height: 20px;\n border-radius: 10px;\n background: ${e=>e.primary||\"#61d345\"};\n position: relative;\n transform: rotate(45deg);\n\n animation: ${pe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n animation-delay: 100ms;\n &:after {\n content: '';\n box-sizing: border-box;\n animation: ${de} 0.2s ease-out forwards;\n opacity: 0;\n animation-delay: 200ms;\n position: absolute;\n border-right: 2px solid;\n border-bottom: 2px solid;\n border-color: ${e=>e.secondary||\"#fff\"};\n bottom: 6px;\n left: 6px;\n height: 10px;\n width: 6px;\n }\n`;var ue=C(\"div\")`\n position: absolute;\n`,le=C(\"div\")`\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n min-width: 20px;\n min-height: 20px;\n`,Te=me`\nfrom {\n transform: scale(0.6);\n opacity: 0.4;\n}\nto {\n transform: scale(1);\n opacity: 1;\n}`,fe=C(\"div\")`\n position: relative;\n transform: scale(0.6);\n opacity: 0.4;\n min-width: 20px;\n animation: ${Te} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275)\n forwards;\n`,M=({toast:e})=>{let{icon:t,type:o,iconTheme:s}=e;return t!==void 0?typeof t==\"string\"?y.createElement(fe,null,t):t:o===\"blank\"?null:y.createElement(le,null,y.createElement(V,{...s}),o!==\"loading\"&&y.createElement(ue,null,o===\"error\"?y.createElement(_,{...s}):y.createElement(w,{...s})))};var ye=e=>`\n0% {transform: translate3d(0,${e*-200}%,0) scale(.6); opacity:.5;}\n100% {transform: translate3d(0,0,0) scale(1); opacity:1;}\n`,ge=e=>`\n0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}\n100% {transform: translate3d(0,${e*-150}%,-1px) scale(.6); opacity:0;}\n`,he=\"0%{opacity:0;} 100%{opacity:1;}\",xe=\"0%{opacity:1;} 100%{opacity:0;}\",be=B(\"div\")`\n display: flex;\n align-items: center;\n background: #fff;\n color: #363636;\n line-height: 1.3;\n will-change: transform;\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05);\n max-width: 350px;\n pointer-events: auto;\n padding: 8px 10px;\n border-radius: 8px;\n`,Se=B(\"div\")`\n display: flex;\n justify-content: center;\n margin: 4px 10px;\n color: inherit;\n flex: 1 1 auto;\n white-space: pre-line;\n`,Ae=(e,t)=>{let s=e.includes(\"top\")?1:-1,[a,r]=b()?[he,xe]:[ye(s),ge(s)];return{animation:t?`${z(a)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${z(r)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}},F=l.memo(({toast:e,position:t,style:o,children:s})=>{let a=e.height?Ae(e.position||t||\"top-center\",e.visible):{opacity:0},r=l.createElement(M,{toast:e}),c=l.createElement(Se,{...e.ariaProps},T(e.message,e));return l.createElement(be,{className:e.className,style:{...a,...o,...e.style}},typeof s==\"function\"?s({icon:r,message:c}):l.createElement(l.Fragment,null,r,c))});import{css as Pe,setup as Oe}from\"goober\";import*as f from\"react\";Oe(f.createElement);var Ee=({id:e,className:t,style:o,onHeightUpdate:s,children:a})=>{let r=f.useCallback(c=>{if(c){let i=()=>{let d=c.getBoundingClientRect().height;s(e,d)};i(),new MutationObserver(i).observe(c,{subtree:!0,childList:!0,characterData:!0})}},[e,s]);return f.createElement(\"div\",{ref:r,className:t,style:o},a)},Re=(e,t)=>{let o=e.includes(\"top\"),s=o?{top:0}:{bottom:0},a=e.includes(\"center\")?{justifyContent:\"center\"}:e.includes(\"right\")?{justifyContent:\"flex-end\"}:{};return{left:0,right:0,display:\"flex\",position:\"absolute\",transition:b()?void 0:\"all 230ms cubic-bezier(.21,1.02,.73,1)\",transform:`translateY(${t*(o?1:-1)}px)`,...s,...a}},ve=Pe`\n z-index: 9999;\n > * {\n pointer-events: auto;\n }\n`,O=16,Ie=({reverseOrder:e,position:t=\"top-center\",toastOptions:o,gutter:s,children:a,containerStyle:r,containerClassName:c})=>{let{toasts:i,handlers:d}=D(o);return f.createElement(\"div\",{style:{position:\"fixed\",zIndex:9999,top:O,left:O,right:O,bottom:O,pointerEvents:\"none\",...r},className:c,onMouseEnter:d.startPause,onMouseLeave:d.endPause},i.map(p=>{let g=p.position||t,E=d.calculateOffset(p,{reverseOrder:e,gutter:s,defaultPosition:t}),x=Re(g,E);return f.createElement(Ee,{id:p.id,key:p.id,onHeightUpdate:d.updateHeight,className:p.visible?ve:\"\",style:x},p.type===\"custom\"?T(p.message,p):a?a(p):f.createElement(F,{toast:p,position:g}))}))};var _t=n;export{w as CheckmarkIcon,_ as ErrorIcon,V as LoaderIcon,F as ToastBar,M as ToastIcon,Ie as Toaster,_t as default,T as resolveValue,n as toast,D as useToaster,I as useToasterStore};\n//# sourceMappingURL=index.mjs.map","import React, { useState, useEffect } from 'react';\r\nimport { Container, Title, Label } from \"@bsf/force-ui\";\r\nimport { __ } from '@wordpress/i18n';\r\nimport toast, { Toaster } from 'react-hot-toast';\r\n\r\nconst radioData = [\r\n {\r\n id: \"1\",\r\n title: __('Option 1 (Recommended)', 'header-footer-elementor'),\r\n description: __(\"This option will automatically replace your theme's header and footer files with custom templates from the plugin. It works with most themes and is selected by default.\", \"header-footer-elementor\"),\r\n value: \"1\"\r\n },\r\n {\r\n id: \"2\",\r\n title: __('Option 2', 'header-footer-elementor'),\r\n description: __(\"This option will automatically replace your theme's header and footer files with custom templates from the plugin. It works with most themes and is selected by default.\", \"header-footer-elementor\"),\r\n value: \"2\"\r\n }\r\n];\r\n\r\nconst ThemeSupport = () => {\r\n\r\n if (\"no\" === hfeSettingsData.show_theme_support) {\r\n return null;\r\n }\r\n\r\n // State to store the selected radio option\r\n const [selectedOption, setSelectedOption] = useState(hfeSettingsData.theme_option);\r\n const [isInitialLoad, setIsInitialLoad] = useState(true);\r\n\r\n useEffect(() => {\r\n setIsInitialLoad(false);\r\n }, []);\r\n\r\n const handleRadioChange = (event) => {\r\n const newValue = event.target.value;\r\n setSelectedOption(newValue); // Update the selected option in state.\r\n\r\n // Only send the AJAX call if this is not the initial load.\r\n if (!isInitialLoad) {\r\n saveOption(newValue);\r\n }\r\n };\r\n\r\n // Function to save the selected option.\r\n const saveOption = async (option) => {\r\n try {\r\n const response = await fetch(hfe_admin_data.ajax_url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n },\r\n body: new URLSearchParams({\r\n action: 'save_theme_compatibility_option', // WordPress action for your AJAX handler.\r\n hfe_compatibility_option: option,\r\n nonce: hfe_admin_data.nonce // Nonce for security.\r\n })\r\n });\r\n\r\n const result = await response.json();\r\n\r\n if (result.success) {\r\n toast.success(__('Settings saved successfully!', 'header-footer-elementor'));\r\n } else {\r\n toast.error(__('Failed to save settings!', 'header-footer-elementor'));\r\n }\r\n } catch (error) {\r\n toast.error(__('Failed to save settings!', 'header-footer-elementor'));\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n

{__('Select Option to Add Theme Support', 'header-footer-elementor')}

\r\n

\r\n {__(\r\n `To ensure compatibility between the header/footer and your theme, please choose one of the following options to enable theme support:`,\r\n 'header-footer-elementor'\r\n )}\r\n

\r\n
\r\n \r\n {radioData.map((item) => (\r\n
\r\n \r\n
\r\n \r\n {item.title}:\r\n

{item.description}

\r\n \r\n
\r\n
\r\n ))}\r\n \r\n\r\n
\r\n

\r\n {__('Note:', 'header-footer-elementor')} {__('If neither option works, please contact your theme author to add support for this plugin.', 'header-footer-elementor')}\r\n

\r\n
\r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ThemeSupport;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport { Container, Title, Button, Dialog } from \"@bsf/force-ui\";\r\nimport { __ } from '@wordpress/i18n';\r\n\r\nconst VersionControl = () => {\r\n\r\n const previousLiteVersions = hfeSettingsData.uaelite_versions;\r\n\r\n const liteVersionRef = useRef(previousLiteVersions ? previousLiteVersions[0].value : '');\r\n\r\n const [liteVersionSelect, setLiteVersionSelect] = useState(previousLiteVersions ? previousLiteVersions[0].value : '');\r\n\r\n const [freeproductSelect, setFreeproductSelect] = useState('elementor-header-footer');\r\n\r\n const [openLitePopup, setOpenLitePopup] = useState(false);\r\n\r\n useEffect(() => {\r\n }, [openLitePopup]);\r\n\r\n const onLiteCancelClick = () => {\r\n setOpenLitePopup(false);\r\n };\r\n\r\n const onLiteContinueClick = () => {\r\n const rollbackUrl = hfeSettingsData.uaelite_rollback_url.replace(\r\n 'VERSION',\r\n liteVersionSelect\r\n );\r\n setOpenLitePopup(false);\r\n window.location.href = rollbackUrl;\r\n };\r\n\r\n const handleLiteVersionChange = (event) => {\r\n setLiteVersionSelect(event.target.value);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n

\r\n {__(`Rollback to Previous Version`, 'header-footer-elementor')}\r\n

\r\n

\r\n {__('Experiencing an issue with current version? Roll back to a previous version to help troubleshoot the issue.', 'header-footer-elementor')}\r\n

\r\n
\r\n \r\n
\r\n \r\n {\r\n setFreeproductSelect('elementor-header-footer');\r\n }}\r\n onChange={handleLiteVersionChange}\r\n style={{\r\n padding: '8px',\r\n marginRight: '10px',\r\n marginTop: '16px',\r\n cursor: 'pointer',\r\n borderRadius: '4px',\r\n height: '40px',\r\n width: '100px',\r\n outline: 'none', // Removes the default outline\r\n boxShadow: 'none',\r\n // marginTop: '16px' // Removes the default box shadow\r\n }}\r\n onFocus={(e) => e.target.style.borderColor = '#6005FF'} // Apply focus color\r\n >\r\n {previousLiteVersions.map((version) => (\r\n \r\n ))}\r\n \r\n
\r\n\r\n
\r\n {__('Rollback', 'header-footer-elementor')}}\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n {__('Rollback to Previous Version', 'header-footer-elementor')}\r\n \r\n \r\n
\r\n
\r\n \r\n {__(`Are you sure you want to rollback to UAE Lite v${liteVersionSelect}?`, 'header-footer-elementor')}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n );\r\n}\r\n\r\nexport default VersionControl;\r\n","import React, { useState } from 'react';\r\nimport { __ } from '@wordpress/i18n';\r\nimport { Container, Title, Button } from \"@bsf/force-ui\";\r\nimport { ArrowUpRight } from \"lucide-react\";\r\n\r\nconst MyAccount = () => {\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n

{__('License Key', 'header-footer-elementor')}

\r\n

{__('You are using UAE Free version, no license key needed. ')}

\r\n
\r\n
\r\n \r\n {__('Unlock Pro Features', 'header-footer-elementor')}\r\n

{__('Get access to advanced blocks and premium features.', 'header-footer-elementor')}

\r\n
\r\n }\r\n iconPosition=\"right\"\r\n variant=\"link\"\r\n style={{\r\n color: '#6005FF',\r\n borderColor: '#6005FF',\r\n transition: 'color 0.3s ease, border-color 0.3s ease',\r\n fontSize: '16px',\r\n }}\r\n className=\"hfe-remove-ring text-[#6005FF]\"\r\n onClick={() => {\r\n window.open(\"https://ultimateelementor.com/pricing/?utm_source=uae-lite-settings&utm_medium=My-accounts&utm_campaign=uae-lite-upgrade\", '_blank');\r\n }}\r\n >\r\n {__('Upgrade Now', 'header-footer-elementor')}\r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default MyAccount;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Container } from \"@bsf/force-ui\";\r\nimport Sidebar from \"./Sidebar\";\r\nimport Content from \"./Content\";\r\nimport NavMenu from \"@components/NavMenu\";\r\nimport ThemeSupport from \"./ThemeSupport\";\r\nimport VersionControl from \"./VersionControl\";\r\nimport MyAccount from \"@components/Dashboard/MyAccount\";\r\nimport { __ } from \"@wordpress/i18n\";\r\n\r\nconst Settings = () => {\r\n const items = [\r\n {\r\n id: 1,\r\n icon: (\r\n \r\n ),\r\n selected: (\r\n \r\n ),\r\n title: __(\"My Account\", \"header-footer-elementor\"),\r\n content: ,\r\n },\r\n {\r\n id: 2,\r\n icon: (\r\n \r\n ),\r\n selected: (\r\n \r\n ),\r\n main: __(\"Editor\", \"header-footer-elementor\"),\r\n title: __(\"Theme Support\", \"header-footer-elementor\"),\r\n content: ,\r\n },\r\n {\r\n id: 3,\r\n icon: (\r\n \r\n ),\r\n selected: (\r\n \r\n ),\r\n main: __(\"Utilities\", \"header-footer-elementor\"),\r\n title: __(\"Version Control\", \"header-footer-elementor\"),\r\n content: ,\r\n },\r\n ].filter((item) => {\r\n if (\"no\" === hfeSettingsData.show_theme_support && item.id === 2) {\r\n return false;\r\n }\r\n\r\n return true;\r\n });\r\n\r\n // Default state: Set 'My Account' (first item) as the default when the settings tab is clicked\r\n const [selectedItem, setSelectedItem] = useState(() => {\r\n const savedItemId = localStorage.getItem(\"hfeSelectedItemId\");\r\n const savedItem = items.find((item) => item.id === Number(savedItemId));\r\n return savedItem || items[0]; // Default to the first item if no saved item is found\r\n });\r\n\r\n useEffect(() => {\r\n // Store selectedItemId in localStorage (or other persistent storage) to retain selection\r\n localStorage.setItem(\"hfeSelectedItemId\", selectedItem.id.toString());\r\n }, [selectedItem]);\r\n\r\n useEffect(() => {\r\n const params = new URLSearchParams(window.location.search);\r\n const tab = params.get(\"tab\");\r\n if (tab) {\r\n const itemId = Number(tab);\r\n const item = items.find((item) => item.id === itemId);\r\n if (item) {\r\n setSelectedItem(item);\r\n }\r\n }\r\n }, []);\r\n\r\n const handleSelectItem = (item) => {\r\n setSelectedItem(item);\r\n };\r\n\r\n const handleSettingsTabClick = () => {\r\n setSelectedItem(items[0]); // Set \"My Account\" as the default item when settings tab is clicked\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Settings;\r\n","import React from \"react\";\r\nimport { __ } from \"@wordpress/i18n\";\r\n\r\nconst UpgradeNotice = ({ onClose }) => {\r\n return (\r\n \r\n \r\n ×\r\n \r\n \r\n {__(\r\n \"Unlock Ultimate Addons For Elementor! \",\r\n \"header-footer-elementor\"\r\n )}\r\n \r\n \r\n {__(\r\n \"Get exclusive features and unbeatable performance. \",\r\n \"header-footer-elementor\"\r\n )}{\" \"}\r\n \r\n {__(\"Upgrade now\", \"header-footer-elementor\")}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default UpgradeNotice;\r\n","/**\n * @license lucide-react v0.446.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst X = createLucideIcon(\"X\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n","import React from \"react\";\r\nimport { Container, Button } from \"@bsf/force-ui\";\r\nimport { Check, X } from \"lucide-react\";\r\nimport { __ } from \"@wordpress/i18n\";\r\n\r\nconst FreevsPro = () => {\r\n const sections = [\r\n {\r\n title: __(\"Content Widgets\", \"header-footer-elementor\"),\r\n items: [\r\n { id: 1, content: __(\"Breadcrumbs\", \"header-footer-elementor\"), iconFree: true, iconPro: true },\r\n { id: 2, content: __(\"Price List\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 3, content: __(\"Advanced Headings\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 4, content: __(\"Toggle Button\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 5, content: __(\"Business Hours\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 6, content: __(\"Google Map\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 7, content: __(\"Modal Popup\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 8, content: __(\"Image Gallery\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 9, content: __(\"Video Gallery\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n ],\r\n },\r\n {\r\n title: __(\"SEO Widgets\", \"header-footer-elementor\"),\r\n items: [\r\n { id: 1, content: __(\"Post Info\", \"header-footer-elementor\"), iconFree: true, iconPro: true },\r\n { id: 2, content: __(\"Business Reviews\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 3, content: __(\"How to\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 4, content: __(\"FAQ\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 5, content: __(\"Table of Contents\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n ],\r\n },\r\n {\r\n title: __(\"Creative Features & Widgets\", \"header-footer-elementor\"),\r\n items: [\r\n { id: 1, content: __(\"Scroll to Top\", \"header-footer-elementor\"), iconFree: true, iconPro: true },\r\n { id: 2, content: __(\"Image Hotspot\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 3, content: __(\"Content Timeline\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 4, content: __(\"Countdown Timer\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 5, content: __(\"Cross-site Copy Paste\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 6, content: __(\"Welcome Music\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 7, content: __(\"Conditional Display\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n ],\r\n },\r\n {\r\n title: __(\"Form Integrations\", \"header-footer-elementor\"),\r\n items: [\r\n { id: 1, content: __(\"Contact Form 7\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 2, content: __(\"Gravity Forms\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 3, content: __(\"WP Fluent\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 4, content: __(\"WP Forms\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n ],\r\n },\r\n {\r\n title: __(\"Social Widgets\", \"header-footer-elementor\"),\r\n items: [\r\n { id: 1, content: __(\"Instagram\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 2, content: __(\"X (Twitter)\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 3, content: __(\"Social Share\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n ],\r\n },\r\n {\r\n title: __(\"WooCommerce Widgets\", \"header-footer-elementor\"),\r\n items: [\r\n { id: 1, content: __(\"Add To Cart\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 2, content: __(\"Categories\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 3, content: __(\"Checkout\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 4, content: __(\"Mini Cart\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n { id: 5, content: __(\"Products\", \"header-footer-elementor\"), iconFree: false, iconPro: true },\r\n ],\r\n },\r\n ];\r\n\r\n const renderIcon = (isAvailable) =>\r\n isAvailable ? : ;\r\n\r\n const renderItems = (items) =>\r\n items.map((item) => (\r\n \r\n

\r\n {item.content}\r\n

\r\n
\r\n

\r\n {renderIcon(item.iconFree)}\r\n

\r\n \r\n {renderIcon(item.iconPro)}\r\n

\r\n
\r\n \r\n ));\r\n\r\n return (\r\n
\r\n \r\n
\r\n

\r\n {__(\"Free Vs Pro\", \"header-footer-elementor\")}\r\n

\r\n

\r\n {__(\"UAE Pro offers 50+ widgets and features!\", \"header-footer-elementor\")}\r\n

\r\n

\r\n {__(\r\n \"Compare the popular features/widgets to find the best option for your website.\",\r\n \"header-footer-elementor\"\r\n )}\r\n

\r\n
\r\n
\r\n {\r\n window.open(\r\n \"https://ultimateelementor.com/pricing/?utm_source=uae-lite-FreevsPro&utm_medium=get-uae-pro&utm_campaign=uae-lite-upgrade\",\r\n \"_blank\"\r\n );\r\n }}\r\n >\r\n {__(\"Get UAE Pro Now\", \"header-footer-elementor\")}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {sections.map((section) => (\r\n \r\n \r\n

\r\n {section.title}\r\n

\r\n \r\n

\r\n {__(\"Free\", \"header-footer-elementor\")}\r\n

\r\n \r\n {__(\"Pro\", \"header-footer-elementor\")}\r\n

\r\n
\r\n
\r\n {renderItems(section.items)}\r\n \r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FreevsPro;\r\n","import React from \"react\";\r\nimport { Container, Title, Button } from \"@bsf/force-ui\";\r\nimport { Zap, Check } from \"lucide-react\";\r\nimport { __ } from '@wordpress/i18n';\r\n\r\nconst UltimateCompare = () => {\r\n\r\n const featureData = [\r\n {\r\n id: 1,\r\n icon: \"\",\r\n title: __(\"Modal Popup\", \"header-footer-elementor\"),\r\n },\r\n {\r\n id: 2,\r\n icon: \"\",\r\n title: __(\"Advanced Heading\", \"header-footer-elementor\"),\r\n },\r\n {\r\n id: 3,\r\n icon: \"\",\r\n title: __(\"Post Layouts\", \"header-footer-elementor\"),\r\n },\r\n {\r\n id: 4,\r\n icon: \"\",\r\n title: __(\"Info Box\", \"header-footer-elementor\"),\r\n },\r\n {\r\n id: 5,\r\n icon: \"\",\r\n title: __(\"Pricing Cards\", \"header-footer-elementor\"),\r\n },\r\n {\r\n id: 6,\r\n icon: \"\",\r\n title: __(\"Form Stylers and more...\", \"header-footer-elementor\"),\r\n },\r\n ];\r\n\r\n return (\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n }\r\n iconPosition=\"left\"\r\n size=\"xs\"\r\n tag=\"h6\"\r\n title={__(\"Unlock Ultimate Features\", \"header-footer-elementor\")}\r\n className=\"text-xs font-semibold text-brand-primary-600\"\r\n />\r\n \r\n

\r\n {__('Get access to advanced widgets and features to create the website that stands out!', 'header-footer-elementor')}\r\n

\r\n
\r\n
\r\n {featureData.map((feature) => (\r\n \r\n }\r\n iconPosition=\"left\"\r\n size=\"xs\"\r\n tag=\"h6\"\r\n title={feature.title}\r\n className=\"text-md m-0 text-text-secondary hfe-compare-section\"\r\n />\r\n ))}\r\n
\r\n
\r\n {\r\n window.open(\"https://ultimateelementor.com/pricing/?utm_source=uae-lite-free-vs-pro&utm_medium=My-accounts&utm_campaign=uae-lite-upgrade\", '_blank');\r\n }}\r\n >\r\n {__('Upgrade Now', 'header-footer-elementor')}\r\n \r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default UltimateCompare;\r\n","import { Container } from \"@bsf/force-ui\";\r\nimport ExtendWebsite from \"@components/Dashboard/ExtendWebsite\";\r\nimport QuickAccess from \"@components/Dashboard/QuickAccess\";\r\nimport NavMenu from \"@components/NavMenu\";\r\nimport UpgradeNotice from \"@components/UpgradeNotice\";\r\nimport React from 'react'\r\nimport FreevsPro from \"./FreevsPro\";\r\nimport UltimateCompare from \"./UltimateCompare\";\r\n\r\n\r\nconst Upgrade = () => {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Upgrade\r\n","import { Router, Route, Link } from './index';\r\nimport Dashboard from '@components/Dashboard/Dashboard';\r\nimport Features from '@components/Widgets/Features';\r\nimport Templates from '@components/Templates/Templates';\r\nimport Settings from '@components/Settings/Settings';\r\nimport { routes } from 'admin/settings/routes';\r\nimport Upgrade from '@components/Compare/Upgrade';\r\n\r\nconst CustomRouter = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default CustomRouter;\r\n","import { useState, useEffect } from \"react\";\r\nimport \"@fontsource/figtree\"; // Defaults to weight 400\r\nimport \"@fontsource/figtree/400.css\"; // Specify weight\r\nimport \"@fontsource/figtree/400-italic.css\"; // Specify weight and style\r\nimport CustomRouter from \"router/customRouter\";\r\nimport { Loader } from \"@bsf/force-ui\";\r\nimport UpgradeNotice from \"@components/UpgradeNotice\";\r\n\r\n\r\nconst App = () => {\r\n const [loaded, setLoaded] = useState(false);\r\n const [showTopBar, setShowTopBar] = useState(true); // State to manage the visibility of the top bar\r\n\r\n // scroll top on route change\r\n window.onhashchange = () => {\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n // Simulate loading (replace with actual loading logic if needed)\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoaded(true);\r\n }, 1000); // Simulating a load delay of 1 second\r\n }, []);\r\n\r\n if (!loaded) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n
\r\n {showTopBar && (\r\n setShowTopBar(false)} /> // Pass a prop to handle closing\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default App;\r\n","import { createRoot } from \"react-dom/client\"; // Import from react-dom/client for React 18\r\nimport domReady from \"@wordpress/dom-ready\";\r\nimport App from \"./App\";\r\nimport \"./styles.css\";\r\n\r\ndomReady(() => {\r\n\tconst rootElement = document.getElementById(\"hfe-settings-app\");\r\n\tif (rootElement) {\r\n\t\tconst root = createRoot(rootElement); // Use createRoot() for React 18\r\n\t\troot.render();\r\n\t}\r\n});\r\n"],"names":["self","module","exports","e","t","n","d","A","i","o","Object","create","r","test","charCodeAt","Symbol","for","s","prototype","hasOwnProperty","a","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","l","key","ref","__self","__source","c","u","call","defaultProps","$$typeof","type","props","_owner","current","Fragment","jsx","jsxs","window","React","__esModule","default","defineProperty","enumerable","get","g","globalThis","this","Function","toStringTag","value","Alert","Gh","Avatar","oi","Badge","Zo","Breadcrumb","kk","Button","de","ButtonGroup","Pi","Checkbox","Me","Container","qh","DatePicker","FO","Dialog","qk","Drawer","CC","DropdownMenu","GE","EditorInput","NS","Input","fi","Label","gi","Loader","bi","Menu","ZS","Pagination","GC","ProgressBar","xi","ProgressSteps","zS","RadioButton","Ko","SearchBox","ME","Select","Nm","Sidebar","ck","Skeleton","VS","Switch","be","Tabs","am","TextArea","ri","Title","yi","Toaster","mh","Tooltip","Do","Topbar","nE","toast","Hm","XC","CaptionLabel","ZC","Chevron","JC","Day","QC","DayButton","e_","Dropdown","t_","DropdownNav","n_","Footer","r_","Month","o_","MonthCaption","i_","MonthGrid","s_","Months","a_","MonthsDropdown","u_","Nav","d_","NextMonthButton","f_","Option","m_","PreviousMonthButton","h_","Root","p_","g_","Week","y_","WeekNumber","x_","WeekNumberHeader","w_","Weekday","v_","Weekdays","b_","Weeks","S_","YearsDropdown","k_","formatCaption","LP","formatDay","zP","formatMonthCaption","FP","formatMonthDropdown","BP","formatWeekNumber","WP","formatWeekNumberHeader","VP","formatWeekdayName","UP","formatYearCaption","YP","formatYearDropdown","$P","labelCaption","KP","labelDay","XP","labelDayButton","GP","labelGrid","HP","labelGridcell","qP","labelMonthDropdown","JP","labelNav","ZP","labelNext","QP","labelPrevious","eO","labelWeekNumber","nO","labelWeekNumberHeader","rO","labelWeekday","tO","labelYearDropdown","oO","m","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","split","length","shift","f","getConflictingClassGroupIds","classGroupId","nextPart","slice","validators","join","find","validator","exec","substring","indexOf","theme","prefix","Map","y","entries","classGroups","forEach","h","push","p","has","set","isThemeGetter","map","fromEntries","v","b","separator","experimentalParseClassName","startsWith","modifiers","hasImportantModifier","baseClassName","maybePostfixModifierPosition","className","parseClassName","x","sort","w","S","arguments","k","C","_","P","O","Set","N","T","M","R","D","j","I","G","X","Boolean","Number","isNaN","L","F","isInteger","z","endsWith","B","W","V","U","Z","$","Y","H","Q","K","J","q","ee","E","cacheSize","colors","spacing","blur","brightness","borderColor","borderRadius","borderSpacing","borderWidth","contrast","grayscale","hueRotate","invert","gap","gradientColorStops","gradientColorStopPositions","inset","margin","opacity","padding","saturate","scale","sepia","skew","space","translate","aspect","container","columns","box","display","float","clear","isolation","object","overflow","overscroll","position","start","end","top","right","bottom","left","visibility","basis","flex","grow","shrink","order","col","span","row","justify","content","items","px","py","ps","pe","pt","pr","pb","pl","mx","my","ms","me","mt","mr","mb","ml","screen","size","text","font","tracking","leading","list","placeholder","decoration","indent","align","whitespace","break","hyphens","bg","repeat","from","via","to","rounded","border","divide","outline","ring","shadow","filter","table","caption","transition","duration","ease","delay","animate","transform","rotate","origin","accent","appearance","cursor","caret","resize","scroll","snap","touch","select","fill","stroke","sr","te","reduce","cache","trim","includes","apply","ne","Array","isArray","re","oe","ie","se","xxs","xs","sm","md","lg","xl","ae","le","ce","assign","bind","ue","forwardRef","variant","tag","children","disabled","destructive","icon","iconPosition","loading","getOwnPropertySymbols","propertyIsEnumerable","primary","secondary","ghost","link","createElement","fe","crypto","getRandomValues","Uint8Array","he","ge","label","switchId","isValidElement","heading","description","htmlFor","ve","id","onChange","defaultValue","name","useMemo","concat","useState","iterator","next","done","return","toString","constructor","TypeError","useCallback","input","toggleDial","checked","target","displayName","xe","we","xmlns","width","height","viewBox","strokeWidth","strokeLinecap","strokeLinejoin","Se","color","absoluteStrokeWidth","iconNode","ke","replace","toLowerCase","Ee","Ce","_e","Pe","Oe","Te","defaultChecked","indeterminate","checkbox","Re","cx","cy","De","je","Ae","info","Ie","Le","Be","nodeName","Fe","ownerDocument","defaultView","ze","document","documentElement","Node","We","Element","Ve","HTMLElement","Ue","ShadowRoot","$e","overflowX","overflowY","Xe","Ye","He","some","matches","Ke","qe","perspective","containerType","backdropFilter","willChange","contain","CSS","supports","Ge","getComputedStyle","Ze","scrollLeft","scrollTop","scrollX","scrollY","Je","assignedSlot","parentNode","host","Qe","body","et","tt","visualViewport","parent","getPrototypeOf","frameElement","nt","activeElement","shadowRoot","rt","getRootNode","contains","ot","navigator","userAgentData","platform","it","brands","brand","version","userAgent","st","mozInputSource","isTrusted","ct","pointerType","buttons","detail","at","pressure","lt","vendor","ut","maxTouchPoints","dt","ft","composedPath","ht","gt","yt","preventDefault","stopPropagation","vt","getAttribute","bt","Math","min","xt","max","wt","round","St","floor","kt","Et","Ct","_t","Pt","Ot","Nt","Tt","Mt","Rt","Dt","jt","At","It","Lt","Ft","zt","Bt","msMatchesSelector","webkitMatchesSelector","Wt","Vt","Ut","tagName","assignedElements","flatten","scopeParent","candidates","getShadowRoot","shadowRootFilter","unshift","$t","parseInt","Yt","Error","tabIndex","Ht","documentOrder","Kt","qt","getBoundingClientRect","Xt","form","querySelectorAll","escape","console","error","message","displayCheck","parentElement","getClientRects","item","Gt","Zt","Jt","isScope","Qt","includeContainer","tn","ReactDOM","nn","reference","floating","async","rn","rects","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","getClippingRect","element","isElement","contextElement","getDocumentElement","getOffsetParent","getScale","convertOffsetParentRelativeRectToViewportRelativeRect","rect","offsetParent","on","parseFloat","offsetWidth","offsetHeight","sn","an","isFinite","ln","cn","offsetLeft","offsetTop","un","clientLeft","paddingLeft","clientTop","paddingTop","dn","fn","clientWidth","clientHeight","scrollWidth","scrollHeight","direction","mn","hn","pn","gn","yn","vn","_c","getElementRects","getDimensions","isRTL","bn","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","addEventListener","passive","clearTimeout","disconnect","rootMargin","threshold","intersectionRatio","setTimeout","root","observe","unobserve","cancelAnimationFrame","requestAnimationFrame","removeEventListener","xn","options","placement","middlewareData","mainAxis","crossAxis","alignmentAxis","offset","arrow","alignmentOffset","data","wn","limiter","Sn","initialPlacement","fallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","flip","overflows","every","index","reset","kn","availableWidth","availableHeight","En","centerOffset","Pn","useLayoutEffect","useEffect","On","keys","Nn","devicePixelRatio","Tn","Mn","useRef","Rn","Dn","jn","An","In","Ln","Fn","useInsertionEffect","zn","Bn","Wn","Vn","Un","$n","Yn","Hn","qn","disabledIndices","Kn","decrement","startingIndex","amount","Zn","Gn","lastIndexOf","Xn","flatMap","hasAttribute","Jn","Qn","preventScroll","cancelPrevious","sync","focus","er","tr","nr","rr","or","random","ir","useId","context","tipRadius","staticOffset","style","pointerEvents","clipPath","ar","createContext","lr","cr","useContext","ur","dr","fr","hr","parentId","open","gr","WeakMap","yr","WeakSet","vr","br","wr","kr","Sr","add","setAttribute","removeAttribute","delete","Er","Cr","reverse","_r","Pr","Or","currentTarget","relatedTarget","Nr","dataset","tabindex","Tr","Mr","clip","whiteSpace","Rr","Dr","role","jr","Ar","Ir","preserveTabOrder","Lr","remove","queueMicrotask","getElementById","appendChild","portalNode","modal","Provider","beforeOutsideRef","afterOutsideRef","beforeInsideRef","afterInsideRef","setFocusManagerState","onFocus","refs","domReference","createPortal","closeOnFocusOut","onOpenChange","nativeEvent","Fr","zr","querySelector","Wr","Vr","isConnected","en","Ur","$r","Yr","guards","initialFocus","returnFocus","restoreFocus","visuallyHiddenDismiss","nodeId","events","dataRef","floatingId","flat","onClick","shiftKey","nodesRef","openEvent","reason","event","nested","off","MutationObserver","childList","subtree","attributes","Hr","Kr","qr","enabled","toggle","ignoreMouse","keyboardHandlers","onPointerDown","onMouseDown","button","onKeyDown","defaultPrevented","onKeyUp","Gr","pointerdown","mousedown","click","Xr","Zr","escapeKey","outsidePress","Jr","outsidePressEvent","referencePress","referencePressEvent","bubbles","capture","floatingContext","__escapeKeyBubbles","offsetX","offsetY","__outsidePressBubbles","onMouseUp","Qr","emit","setPositionReference","rootContext","middleware","whileElementsMounted","isPositioned","Cn","then","flushSync","setReference","setFloating","update","floatingStyles","eo","no","__","ro","getReferenceProps","getFloatingProps","getItemProps","oo","io","so","ao","lo","uo","fo","active","selected","mo","ho","po","initial","close","common","side","isMounted","status","transitionProperty","transitionDuration","styles","go","yo","buffer","blockPointerEvents","requireIntent","performance","now","onClose","tree","clientX","clientY","sqrt","__options","vo","bo","x1","x2","y1","y2","xo","wo","So","success","warning","cloneElement","neutral","ko","actionType","onAction","actionLabel","Eo","title","light","dark","Co","_o","Po","Oo","No","getOwnPropertyDescriptor","To","Mo","getOwnPropertyDescriptors","defineProperties","toPrimitive","String","configurable","writable","Ro","setOpen","tooltipPortalRoot","tooltipPortalId","triggers","interactive","undefined","handleClose","mouseOnly","restMs","move","once","onPointerEnter","onMouseMove","onMouseEnter","onMouseLeave","visibleOnly","onBlur","jo","Ao","Io","Lo","Fo","zo","Bo","Wo","Vo","Uo","by","as","disableGroup","vertical","multiSelection","gapClassname","isControlled","disableAll","Children","Yo","inlineIcon","hideSelection","reversePosition","borderOn","borderOnActive","badgeItem","useSwitch","minWidth","buttonWrapperClasses","Ho","Group","qo","Xo","closable","red","yellow","green","blue","inverse","pill","Jo","Qo","ei","ni","onError","onInvalid","url","white","gray","primaryLight","none","subtle","backgroundImage","toUpperCase","ii","points","si","ai","li","ci","di","suffix","files","mi","hi","pi","required","help","vi","progress","speed","wi","Si","ki","Ci","slug","isFirstChild","isLastChild","activeItem","_i","count","Ni","Ti","Mi","Ri","Di","values","getVelocity","ji","custom","variants","Ai","getProps","Ii","Li","Fi","zi","Bi","Wi","Vi","stiffness","damping","restSpeed","Ui","$i","Yi","keyframes","Hi","Ki","qi","repeatType","Gi","Xi","Zi","delta","timestamp","isProcessing","schedule","cancel","process","read","resolveKeyframes","preRender","render","postRender","state","steps","Ji","Qi","es","ts","ns","rs","os","is","ss","ls","cs","us","ds","fs","getPropertyValue","hs","parse","gs","ys","vs","bs","ws","Ss","ks","Es","Cs","_s","Ps","Os","Ns","Ts","Ms","Rs","match","Ds","js","As","paddingRight","paddingBottom","translateX","translateY","Is","Ls","Fs","zs","Bs","Ws","Vs","needsMeasurement","getValue","measureInitialState","measureEndState","suspendedScrollY","scrollTo","complete","Us","readKeyframes","$s","isComplete","isAsync","isScheduled","unresolvedKeyframes","onComplete","motionValue","scheduleResolve","readValue","setFinalKeyframe","renderEndStyles","finalKeyframe","resume","Ys","Hs","alpha","Ks","qs","Gs","Xs","hue","saturation","lightness","Zs","Js","Qs","ra","oa","number","var","indexes","types","ia","sa","aa","la","createTransformer","getAnimatableNone","ca","ua","da","fa","ma","ha","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","radius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","maxWidth","maxHeight","marginTop","marginRight","marginBottom","marginLeft","rotateX","rotateY","rotateZ","scaleX","scaleY","scaleZ","skewX","skewY","distance","translateZ","transformPerspective","originX","originY","originZ","zIndex","backgroundPositionX","backgroundPositionY","fillOpacity","strokeOpacity","numOctaves","pa","backgroundColor","outlineColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","WebkitFilter","ga","ya","va","ba","super","resolveNoneKeyframes","pageYOffset","measuredOrigin","measureViewportBox","jump","removedTransforms","xa","wa","Sa","ka","Ea","Ca","autoplay","repeatDelay","isStopped","hasAttemptedResolve","createdAt","updateFinishedPromise","calcStartTime","resolvedAt","resolved","_resolved","onKeyframesResolved","velocity","onUpdate","isGenerator","resolveFinishedPromise","initPlayback","onPostResolved","currentFinishedPromise","Promise","_a","Oa","Na","Aa","Ia","La","Fa","za","restDelta","mass","isResolvedFromDuration","bounce","exp","pow","abs","sin","cos","sinh","cosh","calculatedDuration","Ba","power","timeConstant","bounceDamping","bounceStiffness","modifyTarget","Wa","Va","Ua","$a","Ya","Ha","Ka","qa","acos","Ga","Xa","Za","Ja","Qa","el","linear","easeIn","easeInOut","easeOut","circIn","circInOut","circOut","backIn","backInOut","backOut","anticipate","tl","nl","rl","ol","il","sl","al","ll","cl","ul","dl","fl","hl","yl","gl","vl","bl","times","clamp","mixer","splice","stop","wl","decay","inertia","tween","spring","Sl","kl","holdTime","cancelTime","currentTime","playbackSpeed","pendingPlayState","startTime","resolver","teardown","onStop","KeyframeResolver","generator","mirroredGenerator","mapPercentToKeyframes","resolvedDuration","totalDuration","play","pause","tick","finish","time","driver","onPlay","stopDriver","sample","El","Cl","_l","Ol","Pl","Nl","Tl","Ml","Rl","owner","easing","iterations","pendingTimeline","timeline","onfinish","animation","playbackRate","playState","attachTimeline","setWithVelocity","Dl","ScrollTimeline","jl","runAll","animations","all","catch","getAll","setAll","Al","elapsed","when","delayChildren","staggerChildren","staggerDirection","Ll","Fl","zl","Bl","subscriptions","notify","getSize","Wl","Vl","canTrackVelocity","updateAndNotify","updatedAt","setPrevFrameValue","prev","setCurrent","change","renderRequest","hasAnimated","prevFrameValue","prevUpdatedAt","clearListeners","attach","passiveEffect","stopPassiveEffect","getPrevious","animationStart","animationComplete","clearAnimation","animationCancel","isAnimating","destroy","Ul","$l","hasValue","addValue","Yl","Hl","Kl","ql","Gl","output","counts","Xl","Zl","applyWillChange","Jl","protectedKeys","needsAnimating","Ql","transitionOverride","getDefaultTransition","transitionEnd","animationState","getState","latestValues","MotionHandoffAnimation","shouldReduceMotion","ec","presenceContext","resolve","variantChildren","tc","sortNodePosition","nc","rc","oc","isActive","prevResolvedValues","ic","whileInView","whileHover","whileTap","whileDrag","whileFocus","exit","sc","node","ac","lc","Feature","getVariantContext","manuallyAnimateOnMount","prevProp","liveStyle","blockInitialAnimation","getBaseTarget","animateChanges","setActive","setAnimateFunction","updateAnimationControlsSubscription","unmountControls","subscribe","mount","prevProps","unmount","isPresent","onExitComplete","prevPresenceContext","register","cc","isPrimary","uc","point","fc","mc","dc","hc","pc","transformPagePoint","contextWindow","dragSnapToOrigin","startEvent","lastMoveEvent","lastMoveEventInfo","handlers","updatePoint","vc","history","onStart","onMove","handlePointerMove","gc","handlePointerUp","onEnd","onSessionEnd","resumeAnimation","onSessionStart","removeListeners","updateHandlers","yc","xc","bc","wc","Sc","kc","Ec","Cc","Pc","Rc","Dc","originPoint","jc","Ac","Ic","Lc","Fc","zc","Bc","Wc","Vc","$c","Yc","Hc","Kc","qc","Gc","Xc","Zc","Jc","Qc","eu","tu","nu","ru","ou","iu","su","au","lu","cu","uu","openGlobalLock","isDragging","currentDirection","constraints","hasMutatedConstraints","elastic","visualElement","snapToCursor","panSession","pauseAnimation","stopAnimation","drag","dragPropagation","onDragStart","resolveConstraints","projection","isAnimationBlocked","getAxisMotionValue","layout","layoutBox","removeWillChange","dragDirectionLock","onDirectionLock","onDrag","updateAxis","getAnimationState","getTransformPagePoint","startAnimation","onDragEnd","du","dragConstraints","dragElastic","measure","resolveRefConstraints","onMeasureDragConstraints","dragMomentum","dragTransition","onDragTransitionEnd","startAxisValueAnimation","scalePositionWithinConstraints","transformTemplate","updateScroll","updateLayout","addListeners","dragListener","hasLayoutChanged","fu","mu","hu","pu","gu","yu","hasAnimatedSinceResize","hasEverUpdated","vu","bu","correct","xu","treeScale","projectionDelta","wu","Su","ku","Eu","Component","componentDidMount","layoutGroup","switchLayoutGroup","layoutId","_u","group","didUpdate","safeToRemove","setOptions","getSnapshotBeforeUpdate","layoutDependency","willUpdate","promote","relegate","getStack","members","componentDidUpdate","currentAnimation","isLead","componentWillUnmount","scheduleCheckAfterUnmount","deregister","Cu","applyTo","boxShadow","Pu","Ou","Nu","Tu","Mu","Ru","ju","Du","Au","Iu","Lu","Fu","zu","Bu","Wu","Vu","Uu","$u","Yu","Hu","Ku","qu","Gu","Xu","scheduleRender","prevLead","lead","findIndex","show","instance","resumeFrom","preserveOpacity","snapshot","animationValues","isUpdating","isLayoutDirty","crossfade","hide","exitAnimationComplete","resumingFrom","removeLeadSnapshot","Zu","depth","Ju","isDirty","Qu","mix","toValue","Il","ed","totalNodes","resolvedTargetDeltas","recalculatedProjection","td","MotionDebug","nd","rd","od","setStaticValue","sd","hasCheckedOptimisedAppear","MotionHasOptimisedAnimation","MotionCancelOptimisedAnimation","ad","attachResizeListener","defaultParent","measureScroll","checkIsScrollRoot","resetTransform","animationId","isTreeAnimating","isProjectionDirty","isSharedProjectionDirty","isTransformDirty","updateManuallyBlocked","updateBlockedByResize","isSVG","needsReset","shouldResetTransform","eventHandlers","hasTreeAnimated","updateScheduled","scheduleUpdate","projectionUpdateScheduled","checkUpdateFailed","clearAllSnapshots","updateProjection","nodes","ud","yd","vd","dd","record","resolvedRelativeTargetAt","hasProjected","isVisible","animationProgress","sharedNodes","path","notifyListeners","hasListeners","SVGElement","gd","registerSharedNode","hasRelativeTargetChanged","isTreeAnimationBlocked","relativeTarget","Ed","onLayoutAnimationStart","onLayoutAnimationComplete","targetLayout","layoutRoot","setAnimationOrigin","blockUpdate","unblockUpdate","isUpdateBlocked","startUpdate","bd","getTransformTemplate","prevTransformTemplateValue","updateSnapshot","hd","pd","ld","cd","fd","xd","scheduleUpdateProjection","alwaysMeasureLayout","layoutCorrected","layoutScroll","phase","isRoot","wasRoot","measurePageBox","removeElementScroll","removeTransform","Pd","measuredBox","source","Nd","applyTransform","setTargetDelta","targetDelta","clearMeasurements","forceRelativeParentToResolveTarget","relativeParent","resolveTargetDelta","getLead","attemptToResolveRelativeTarget","getClosestProjectingParent","relativeTargetOrigin","targetWithTransforms","isProjecting","calcProjection","pendingAnimation","prevProjectionDelta","createProjectionDeltas","projectionDeltaWithTransform","kd","mixTargetDelta","wd","Sd","opacityExit","completeAnimation","finishAnimation","applyTransformsToTarget","Od","animationType","initialPromotionConfig","preserveFollowOpacity","shouldPreserveFollowOpacity","getPrevLead","resetSkewAndRotation","getProjectionStyles","transformOrigin","clearSnapshot","resetTree","layoutDelta","onBeforeLayoutMeasure","Cd","_d","Td","Md","Rd","Dd","pan","removePointerDownListener","session","createPanHandlers","onPanSessionStart","onPanStart","onPan","onPanEnd","removeGroupControls","controls","dragControls","ProjectionNode","MeasureLayout","jd","Ad","Id","PointerEvent","Ld","Fd","zd","Bd","Wd","Vd","inView","hasEnteredView","isInView","startObserver","viewport","JSON","stringify","isIntersecting","onViewportEnter","onViewportLeave","tap","removeStartListeners","removeEndListeners","removeAccessibleListeners","startPointerPress","isPressing","checkPressEnd","onTap","onTapCancel","globalTapTarget","onPointerUp","cancelPress","onPointerCancel","startPress","startAccessiblePress","onTapStart","onPointerStart","hover","Ud","$d","isStatic","reducedMotion","Yd","Hd","Kd","qd","strict","Gd","Xd","renderer","visualState","reducedMotionConfig","Jd","MotionHandoffIsComplete","updateFeatures","Zd","allowProjection","Qd","ef","tf","nf","rf","of","isEnabled","sf","lf","cf","uf","df","vars","setProperty","ff","mf","attrs","hf","pf","gf","charAt","yf","vf","scrapeMotionValuesFromProps","createRenderState","onMount","wf","renderState","bf","xf","inherit","Sf","kf","Ef","Cf","_f","Pf","Of","Nf","array","Tf","Mf","attrX","attrY","attrScale","pathLength","pathSpacing","pathOffset","dimensions","Rf","Df","useVisualState","getBBox","jf","Af","If","draggable","userSelect","WebkitUserSelect","WebkitTouchCallout","touchAction","Lf","Ff","zf","Bf","Wf","Vf","$f","Yf","Hf","Kf","qf","Gf","Xf","isVariantNode","isControllingVariants","features","valueSubscriptions","prevMotionValues","propEventSubscriptions","notifyUpdate","isRenderScheduled","triggerBuild","renderInstance","baseTarget","initialValues","removeFromVariantTree","addVariantChild","bindToMotionValue","matchMedia","addListener","MotionCheckAppearSync","sortInstanceNodePosition","build","measureInstanceViewportBox","getStaticValue","removeValue","handleChildMotionValue","getVariant","getClosestVariantNode","removeValueFromRenderState","getBaseTargetFromProps","readValueFromInstance","setBaseTarget","Zf","compareDocumentPosition","Jf","childSubscription","textContent","Qf","isSVGTag","em","Proxy","Oi","forwardMotionProps","preloadedFeatures","createVisualElement","useRender","af","Uf","tm","nm","rm","om","orientation","badge","Tab","lm","cm","um","dm","searchIcon","selectButton","multiSelect","displaySelected","dropdown","dropdownItemsWrapper","searchbarWrapper","searchbar","searchbarIcon","fm","mm","hm","ym","pm","gm","vm","bm","xm","wm","Sm","km","Em","Cm","optionIcon","displayBy","sizeValue","getValues","selectId","isOpen","multiple","combobox","setSelected","_m","searchBy","searchPlaceholder","dropdownPortalRoot","dropdownPortalId","setSearchKeyword","setActiveIndex","setSelectedIndex","searchKeyword","listContentRef","toArray","autoComplete","Pm","onKeyDownItem","onClickItem","activeIndex","selectedIndex","updateListRef","Om","listRef","onNavigate","allowEscape","loop","rtl","virtual","focusItemOnOpen","focusItemOnHover","openOnArrowKeyDown","cols","scrollItemIntoView","virtualItemRef","itemSizes","dense","scrollIntoView","block","inline","onPointerLeave","minIndex","maxIndex","prevIndex","stopEvent","onPointerMove","KeyboardEvent","dispatchEvent","co","onMatch","onTypingChange","findMatch","resetMs","ignoreKeys","typing","toLocaleLowerCase","ctrlKey","metaKey","altKey","handleSelect","isTypingRef","Options","Tm","Mm","Rm","Dm","jm","Im","Lm","Fm","Bm","zm","Wm","Vm","Um","$m","publish","dismiss","Am","Ym","seal","getHistory","Km","qm","Gm","Xm","Zm","Jm","childRef","sizeRef","Qm","nonce","motionPopId","head","sheet","insertRule","removeChild","eh","presenceAffectsLayout","mode","th","nh","rh","oh","exitBeforeEnter","forceRender","ih","sh","ah","lh","ch","uh","dh","fh","toastItem","autoDismiss","dismissAfter","design","removeToast","Date","getTime","action","positionTransition","memo","singleTon","hh","ph","gh","yh","vh","bh","xh","column","wh","normal","center","between","around","evenly","stretch","Sh","baseline","kh","Eh","auto","Ch","_h","wrap","nowrap","Ph","Oh","first","last","Nh","Th","Mh","Rh","Dh","jh","Ah","Ih","Lh","Fh","gapX","gapY","gridFlow","colsSubGrid","rowsSubGrid","autoRows","autoCols","Item","colSpan","colStart","alignSelf","justifySelf","zh","Bh","Wh","Vh","Uh","$h","Yh","Hh","Kh","Xh","URLSearchParams","append","Zh","Jh","Qh","defaultSelection","getRootElement","ep","tp","np","rp","op","ip","sp","ap","lp","cp","up","dp","fp","mp","hp","pp","gp","yp","vp","bp","xp","wp","Sp","kp","Ep","Cp","_p","Pp","Op","Np","Tp","Mp","Rp","Dp","jp","Ap","Ip","Lp","Fp","zp","Bp","Wp","documentMode","Vp","Up","$p","InputEvent","Yp","Hp","MSStream","Kp","qp","Gp","Xp","tg","ng","rg","ag","cg","ug","dg","fg","mg","hg","pg","gg","yg","vg","RegExp","xg","bold","code","highlight","italic","strikethrough","subscript","superscript","underline","wg","directionless","unmergeable","Sg","kg","Eg","segmented","token","Cg","_g","Pg","Og","matchAll","Tg","Mg","Rg","timeStamp","Dg","__lexicalLineBreak","_key","jg","Vy","_window","anchorNode","anchorOffset","focusOffset","nodeValue","Ag","Db","anchor","getNode","format","getFormat","nodeType","isAttached","Ig","wx","Hb","getEditorState","clone","_editorState","_blockCursorElement","sy","Px","kb","addedNodes","iy","innerText","removedNodes","uy","kx","getChildrenKeys","firstChild","getElementByKey","replaceChild","nextSibling","markDirty","takeRecords","dirty","dy","My","insertRawText","Lg","_observer","Fg","Ly","zg","__mode","__format","__style","Bg","mergeWithSibling","ux","_normalizedNodes","__key","Wg","__text","isSimpleText","isUnmergeable","getPreviousSibling","getNextSibling","Vg","getChildrenSize","getChildAtIndex","getTextContentSize","Ug","$g","Yg","contentEditable","Gg","Hg","qg","Kg","Bx","Ay","__lexicalEditor","Xg","isToken","isSegmented","Zg","Jg","Qg","ey","getParent","getWritable","__first","__prev","__next","__last","__size","__parent","ty","lx","getLatest","_nodeMap","_dirtyElements","_dirtyType","_dirtyLeaves","ny","ax","_compositionKey","oy","ry","sx","ay","_decorators","_pendingDecorators","ly","getTextContent","setCachedNodes","_selection","fy","hy","_parentEditor","gy","substr","yy","vy","isComposing","Kb","getKey","canInsertTextBefore","canInsertTextAfter","setTextContent","setTextNodeRange","Sb","xy","wy","Sy","ky","Ey","Cy","_y","Py","__lexicalClassNameCache","Oy","__type","klass","Ny","getIndexWithinParent","Ty","getParentOrThrow","inputType","Ry","vx","Dy","Nx","isInline","jy","_keyToDOMMap","Iy","Fy","isShadowRoot","zy","getType","_nodes","By","Wy","canBeEmpty","_n","removeProperty","getSelection","Uy","$y","Yy","Hy","getFirstChild","ib","Ky","qy","Gy","Xy","afterCloneFrom","Zy","Jy","Qy","ev","tv","nv","rv","ov","iv","sv","av","lv","cv","uv","dv","fv","mv","hv","pv","gv","Mv","Pv","yv","vv","bv","xv","classList","wv","Sv","createDOM","__indent","kv","_v","Cv","decorate","Nv","isDirectionless","insertBefore","getStyle","__lexicalTextContent","Ev","__lexicalDirTextContent","__lexicalDir","dir","__dir","Ov","updateDOM","Tv","Lx","__textFormat","setTextFormat","setTextStyle","__textStyle","__cachedText","Rv","freeze","Dv","jv","Av","Wv","Ab","Bv","isCollapsed","Vv","qv","Kv","$v","isBackward","Lv","getTopLevelElementOrThrow","isEmpty","removeAllRanges","Yb","applyDOMRange","dataTransfer","getData","Iv","Fv","zv","Uv","collapsed","startContainer","startOffset","Yv","Hv","focusNode","jx","getTextFormat","getTextStyle","getNodes","getTargetRanges","Gv","__lexicalEventHandles","Xv","Zv","Jv","_lexicalHandled","Qv","eb","Xb","isSelected","selectPrevious","qb","selectEnd","tb","_cloneNotNeeded","getLastChildOrThrow","getTopLevelElement","getParents","getParentKeys","getPreviousSiblings","getNextSiblings","getCommonAncestor","isBefore","isParentOf","getNodesBetween","getLastChild","exportDOM","_config","exportJSON","importJSON","getChildren","Tb","insertAfter","isParentRequired","createParentElementNode","Ix","selectStart","selectNext","nb","importDOM","sb","lastChild","previousSibling","conversion","rb","priority","ob","ab","lb","cb","ub","deleteData","insertData","db","fb","__detail","getDetail","getMode","hasFormat","getFormatFlags","canHaveFormat","cssText","vb","wb","hb","strong","sub","sup","setFormat","setDetail","setMode","setStyle","selectionTransform","toggleFormat","toggleDirectionless","toggleUnmergeable","Ub","spliceText","splitText","Zb","isTextEntity","forChild","Eb","fontWeight","gb","yb","_b","bb","xb","textDecoration","fontStyle","verticalAlign","Cb","Pb","getDescendantByIndex","Ob","Nb","getLastDescendant","Mb","Rb","_cachedNodes","getCachedNodes","getStartEndPoints","extract","insertText","insertNodes","jb","Lb","Vb","endContainer","endOffset","Wb","removeText","formatText","insertParagraph","Jb","canMergeWhenEmpty","insertNewAfter","insertLineBreak","pop","modify","isIsolated","isKeyboardSelectable","$b","_rootElement","rangeCount","getRangeAt","forwardDeletion","deleteCharacter","dispatchCommand","collapseAtStart","Fb","deleteLine","deleteWord","Ib","zb","childNodes","getFirstDescendant","Bb","Gb","Qb","ex","tx","nx","rx","ox","ix","characterData","_readOnly","dx","fx","transforms","hx","gx","_pendingEditorState","_headless","_updating","_listeners","mutation","_onError","zx","_updateTags","_deferred","_editable","setBaseAndExtent","Text","createRange","selectNode","innerHeight","scrollBy","blockCursor","caretColor","dirtyLeaves","prevEditorState","updateTags","yx","dirtyElements","editorState","normalizedNodes","tags","_updates","xx","_commands","bx","skipTransforms","discrete","_flushSync","Rx","Sx","getFormatType","getIndent","getAllTextNodes","getFirstChildOrThrow","getDirection","setDirection","setIndent","Ex","canIndent","excludeFromCopy","canReplaceWith","canInsertAfter","canMergeWith","extractWithChild","Cx","Ox","Tx","Mx","editor","toJSON","Dx","hasTextFormat","Ax","textAlign","textIndent","textFormat","textStyle","decorator","editable","textcontent","_htmlConversions","registerUpdateListener","registerEditableListener","registerDecoratorListener","registerTextContentListener","registerRootListener","registerCommand","registerMutationListener","resolveRegisteredNodeAfterReplacements","getRegisteredNode","skipInitialization","initializeMutationListener","replaceWithKlass","registerNodeTransformToKlass","registerNodeTransform","hasNode","hasNodes","getDecorators","setRootElement","disableEvents","wordBreak","isEditable","setEditorState","parseEditorState","setEditable","Wx","Vx","Ux","$x","initialConfig","namespace","html","getTheme","parentEditor","with","withKlass","export","import","Yx","Hx","initialValueFn","Kx","qx","Gx","Xx","Zx","Jx","Qx","after","createDocumentFragment","replaceWith","ew","tw","nw","rw","ow","iw","sw","aw","lw","cw","clipboardData","innerHTML","setData","uw","dw","fw","ErrorBoundary","Suspense","fallback","location","protocol","payload","functionId","args","stopImmediatePropagation","mw","hw","pw","ariaActiveDescendant","ariaAutoComplete","ariaControls","ariaDescribedBy","ariaExpanded","ariaLabel","ariaLabelledBy","ariaMultiline","ariaOwns","ariaRequired","autoCapitalize","spellCheck","gw","yw","vw","Pw","undoStack","redoStack","Ow","externalHistoryState","Nw","setPrototypeOf","__proto__","Tw","Mw","resetErrorBoundary","onReset","getDerivedStateFromError","setState","componentDidCatch","resetKeys","onResetKeysChange","fallbackRender","FallbackComponent","Rw","Dw","jw","ignoreHistoryMergeTagChange","ignoreSelectionChange","Aw","editorRef","Iw","Lw","Fw","zw","Bw","Ww","Vw","Uw","$w","anchorElementRef","resolution","menuRenderFn","onSelectOption","shouldSplitNodeWithQuery","commandPriority","matchingString","replaceableString","option","selectOptionAndCleanUp","setHighlightedIndex","Yw","onQueryChange","onOpen","triggerFn","anchorClassName","getRect","pageXOffset","leadOffset","setStart","setEnd","Hw","Kw","qw","Gw","nodeKey","Xw","Zw","rS","Qw","valueOf","Reflect","construct","eS","tS","nS","oS","ReferenceError","Jw","__data","__by","iS","sS","aS","lS","dS","uS","fS","cS","mS","hS","gS","pS","yS","vS","bS","xS","wS","SS","kS","optionsArray","trigger","menuComponent","menuItemComponent","autoSpace","ES","ltr","paragraph","quote","h1","h2","h3","h4","h5","h6","listitem","listitemChecked","listitemUnchecked","hashtag","image","underlineStrikethrough","codeHighlight","atrule","attr","boolean","builtin","cdata","char","class","comment","constant","deleted","doctype","entity","function","important","inserted","keyword","operator","prolog","property","punctuation","regex","selector","string","symbol","variable","CS","_S","OS","autoFocus","wrapperClassName","autoSpaceAfterMention","editorTheme","TS","MS","dot","RS","DS","jS","AS","IS","currentStep","lineProps","numberIcon","isCompleted","isCurrent","sizeClasses","isLast","LS","labelText","stepClasses","FS","Step","BS","WS","circular","rectangular","US","$S","YS","HS","KS","qS","showArrowOnHover","closed","div","visible","hidden","GS","XS","solid","dashed","dotted","double","List","Separator","JS","QS","ek","tk","nk","rk","ok","onCollapseChange","collapsible","screenHeight","localStorage","getItem","innerWidth","setItem","removeItem","setIsCollapsed","ik","sk","ak","lk","Header","Body","uk","dk","fk","mk","hk","pk","separatorIconSize","gk","sizes","yk","vk","bk","href","xk","slash","wk","Sk","Link","Ellipsis","Page","Ek","Ck","_k","Pk","Ok","Nk","Tk","Mk","Rk","Dk","jk","Ak","Ik","Lk","Fk","exitOnClickOutside","exitOnEsc","scrollLock","dialogContainerRef","dialogRef","zk","Bk","Wk","Vk","Uk","$k","Yk","Hk","Kk","Panel","Backdrop","Description","CloseButton","Gk","Xk","Zk","Jk","Qk","eE","tE","Left","Middle","Right","rE","oE","dialog","slashIcon","iE","sE","aE","lE","cE","uE","dE","fE","mE","hE","pE","gE","yE","vE","bE","xE","wE","SE","fontFamily","searchTerm","setSearchTerm","isLoading","setIsLoading","kE","EE","CE","PE","NE","TE","_E","OE","loadingIcon","Loading","Content","Empty","RE","DE","jE","AE","IE","LE","FE","zE","BE","WE","VE","UE","$E","YE","HE","KE","qE","Trigger","XE","ZE","JE","QE","drawerContainerRef","drawerRef","eC","tC","nC","rC","oC","iC","sC","aC","lC","cC","uC","dC","fC","mC","hC","pC","gC","yC","vC","bC","xC","wC","SC","kC","EC","_C","PC","general","ellipse","OC","NC","TC","MC","RC","DC","jC","AC","IC","LC","FC","zC","BC","WC","VC","UC","$C","YC","Previous","Next","HC","KC","qC","day","focused","components","classNames","DropdownRoot","calendarMonth","displayIndex","Dropdowns","outside","today","range_end","range_middle","range_start","l_","c_","onPreviousClick","onNextClick","previousMonth","nextMonth","labels","week","E_","P_","O_","N_","T_","in","NaN","setDate","getDate","M_","setMonth","getMonth","setFullYear","getFullYear","R_","D_","UTC","getHours","getMinutes","getSeconds","getMilliseconds","setUTCFullYear","j_","A_","setHours","I_","L_","F_","z_","weekStartsOn","locale","getDay","B_","W_","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","V_","defaultWidth","formats","U_","date","full","long","medium","short","dateTime","$_","lastWeek","yesterday","tomorrow","nextWeek","Y_","formattingValues","defaultFormattingWidth","argumentCallback","H_","ordinalNumber","era","narrow","abbreviated","wide","quarter","month","dayPeriod","midnight","noon","morning","afternoon","evening","night","K_","matchPatterns","defaultMatchWidth","parsePatterns","defaultParseWidth","valueCallback","rest","q_","G_","matchPattern","parsePattern","any","X_","formatDistance","addSuffix","comparison","formatLong","formatRelative","localize","firstWeekContainsDate","Z_","J_","Q_","eP","tP","nP","rP","oP","padStart","iP","trunc","sP","unit","ceil","getTimezoneOffset","lP","cP","aP","uP","dP","fP","mP","hP","pP","gP","yP","vP","bP","xP","wP","SP","RangeError","kP","preprocessor","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","warn","EP","CP","addDays","addMonths","addWeeks","addYears","differenceInCalendarDays","differenceInCalendarMonths","endOfISOWeek","endOfMonth","endOfWeek","endOfYear","getISOWeek","getWeek","isAfter","isDate","isSameDay","isSameMonth","isSameYear","setYear","startOfDay","startOfISOWeek","startOfMonth","startOfWeek","startOfYear","_P","PP","OP","NP","Intl","DateTimeFormat","timeZone","hour","timeZoneName","MP","TP","RP","internal","setTime","AP","jP","tz","withTimeZone","DP","setUTCMinutes","getUTCMinutes","setUTCHours","getUTCHours","getOwnPropertyNames","getUTCFullYear","getUTCMonth","getUTCDate","getUTCSeconds","getUTCMilliseconds","IP","toISOString","tzComponents","toDateString","toTimeString","toUTCString","toLocaleString","toLocaleDateString","toLocaleTimeString","sO","defaultMonth","numberOfMonths","endMonth","startMonth","aO","displayMonth","dateLib","isEqualTo","lO","weeks","cO","days","weekNumber","uO","dO","fO","mO","dayOfWeek","before","hO","ISOWeek","year","pO","isFocusTarget","setFocused","moveFocus","navStart","navEnd","goToDay","yO","formatters","captionLayout","onDayBlur","onDayClick","onDayFocus","onDayKeyDown","onDayMouseEnter","onDayMouseLeave","onPrevClick","showWeekNumber","fromYear","toYear","fromMonth","toMonth","fixedWeeks","reverseMonths","disableNavigation","pagedNavigation","onMonthChange","months","goToMonth","showOutsideDays","onSelect","excludeDisabled","gO","ArrowLeft","ArrowRight","ArrowDown","ArrowUp","PageUp","PageDown","Home","End","ye","getModifiers","lang","hideNavigation","hideWeekdays","scope","modifiersStyles","modifiersClassNames","footer","vO","bO","xO","wO","SO","kO","EO","CO","_O","PO","OO","NO","TO","selectedDates","setSelectedDates","alignment","weekdays","monthGridProps","showHead","head_row","head_cell","cell","MO","RO","DO","jO","AO","IO","LO","selectionType","presets","onCancel","onApply","applyButtonText","cancelButtonText","range","decode","decodeURIComponent","delimiter","DEFAULT_DELIMITER","regexp","sensitive","trailing","sources","flags","TokenData","str","encodePath","NOOP_VALUE","Iter","chars","ID_START","ID_CONTINUE","pos","DEBUG_URL","SIMPLE_TOKENS","lexer","tokens","consume","endType","param","tryConsume","wildcard","seq","sequenceToRegExp","pattern","pathToRegexp","decoders","params","decoder","peek","_peek","nextType","result","init","fork","backtrack","isSafeSegmentParam","negate","encode","encodeURIComponent","obj","pairs","query","part","parser","createRoot","hydrateRoot","hasOwn","classes","arg","appendClass","parseValue","newClass","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","prop","_arrayLikeToArray","_unsupportedIterableToArray","_slicedToArray","_typeof","toPropertyKey","_defineProperties","_getPrototypeOf","_setPrototypeOf","_defineProperty","Action","locationToRoute","pathname","hash","search","BeforeUnloadEventType","promptBeforeUnload","returnValue","createEvents","handler","_options$window","globalHistory","getIndexAndLocation","_window$location","idx","usr","blockedPopTx","blockers","nextAction","Pop","_getIndexAndLocation","nextIndex","nextLocation","retry","applyTx","_getIndexAndLocation2","listeners","createHref","_ref$pathname","_ref","_ref$search","_ref$hash","getNextLocation","parsedPath","hashIndex","searchIndex","parsePath","getHistoryStateAndUrl","allowTx","_getIndexAndLocation3","replaceState","Push","_getHistoryStateAndUr","historyState","pushState","Replace","_getHistoryStateAndUr2","back","forward","listen","listener","blocker","unblock","createBrowserHistory","RouterContext","route","Route","onRoute","matched","checkMatch","activeClassName","_objectSpread","_extends","changeSearch","newSearch","Router","_Component","_this","_classCallCheck","_callSuper","routes","unlisten","handleRouteChange","defaultRoute","_inherits","_createClass","_this$props","_this$state","NotFound","isMatched","routerContextValue","is404","mergeClasses","defaultAttributes","Icon","createLucideIcon","iconName","ArrowUpRight","CircleHelp","FileText","Headset","User","dashboard","widgets","templates","settings","upgrade","__assign","__awaiter","thisArg","_arguments","reject","fulfilled","step","rejected","__generator","sent","trys","ops","verb","WhatsNewRSSDefaultArgs","rssFeedURL","loaderIcon","viewAll","triggerButton","beforeBtn","afterBtn","notification","setLastPostUnixTime","getLastPostUnixTime","flyout","innerContent","titleLink","additionalClasses","excerpt","wordLimit","moreSymbol","readMore","closeOnEsc","closeOnOverlayClick","closeBtnIcon","formatDate","onReady","WhatsNewRSS","rssFeedURLs","lastPostUnixTime","multiLastPostUnixTime","notificationsCount","multiNotificationCount","hasNewFeeds","multiHasNewFeeds","validateArgs","parseDefaults","setElement","getElement","setID","setRSSFeedURLs","WhatsNewRSSCacheUtils","setInstanceID","getID","RSS_Fetch_Instance","WhatsNewRSSFetch","RSS_View_Instance","WhatsNewRSSView","setNotificationsCount","setTriggers","getArgs","requiredArg","_rssFeedURL","ID","btoa","isMultiFeedRSS","_item","getRSSFeedURLs","fetchData","res","currentPostUnixTime","setNotification","getNotificationsCount","getTriggerButtonID","getFlyoutID","flyoutInner","flyoutCloseBtn","getFlyoutCloseBtnID","multiFeedNav","getFlyoutMultiFeedNavID","injectContents","isNewPost","contentTitle","postLink","createExcerpt","listChildrenPosts","innerContentWrapper","navBtns","navBtn","setMultiFeedTabNotificationCount","feedKey","currentFeedKey","innerContentClassName","handleFlyoutClose","instanceID","prefixer","prefixKey","_setDataExpiry","expiry","sessionStorage","_isDataExpired","setSessionData","getSessionData","unixTime","SESSION_DATA_EXPIRY","LAST_LATEST_POST","SESSION","RSS","feed","sessionCache","fetchPromises","fetch","DOMParser","parseFromString","contentEncoded","rssDate","createTriggerButton","createFlyOut","flyoutWrapper","notificationBadge","wrapperClasses","notificationCount","tabBtn","_count","readMoreLink","words","rawExcerpt","_children","details","summary","itemsWrapper","child","postContentDoc","post_content","itemDiv","post_title","post_date","outerHTML","currentDate","difference","minute","minutes","hours","updateNavMenuActiveState","currentPath","parentLi","closest","itemText","_useState2","isDropdownOpen","setIsDropdownOpen","linkStyle","borderBottom","handleRedirect","instanceRef","styleId","getCSS","addStyleIfNotExists","useWhatsNewRSS","weekday","src","hfeSettingsData","icon_url","alt","background","uaelite_current_version","_toConsumableArray","Info","requestQueue","processQueue","currentRequest","widget","updateCounter","is_pro","infoText","demo_url","is_active","doc_url","is_new","setIsActive","_useState4","apiCall","activateWidget","formData","FormData","hfe_admin_data","apiFetch","ajax_url","method","err","fontSize","rel","lineHeight","InfoIcon","allWidgetsData","setAllWidgetsData","setLoading","headers","hfe_nonce_action","widgetsData","keywords","title_url","is_activate","convertToWidgetsArray","WidgetItem","templatesStatus","setTemplatesStatus","_useState6","redirectUrl","setRedirectUrl","uael_nonce_action","templates_status","redirect_url","templates_url","Headphones","Star","NotepadText","StarIcon","HelpCircle","Plus","ExternalLink","HeaderLine","hfe_post_url","elementor_page_url","Zap","Check","featureData","feature","column_url","asyncGeneratorStep","_asyncToGenerator","_next","_throw","plugin","setUpdateCounter","siteUrl","zipUrl","desc","isFree","wporg","settings_url","isDialogOpen","setIsDialogOpen","pluginData","setPluginData","activatePlugin","buttonElement","spanElement","currentPluginData","pluginname","installer_nonce","errorCode","target_plugin","response","json","callAnalyticsWebhook","alert","getAction","siteurl","plugins","setPlugins","_useState8","allInstalled","setAllInstalled","convertToPluginsArray","fetchSettings","_regeneratorRuntime","_callee","pluginsData","areAllInstalled","_context","is_installed","t0","ExtendWebsiteWidget","NavMenu","WelcomeContainer","Widgets","UltimateFeatures","ExtendWebsite","TemplateSection","QuickAccess","Search","LoaderCircle","loadingActivate","setLoadingActivate","loadingDeactivate","setLoadingDeactivate","_useState10","_useState12","filteredWidgets","_widget$keywords","handleActivateAll","prevWidgets","handleDeactivateAll","_ref2","_callee2","_context2","SearchIcon","minHeight","FeatureWidgets","UltimateWidgets","templateData","button_text","plugin_file","plugin_slug","st_pro_status","st_status","reload","template","outlineWidth","template_url","ExploreTemplates","onSelectItem","selectedItemId","setSelectedItemId","main","handleSelectItem","selectedItem","_goober","raw","toastId","toasts","pausedAt","pauseDuration","blank","ariaProps","promise","iconTheme","onHeightUpdate","reverseOrder","toastOptions","gutter","containerStyle","containerClassName","defaultPosition","updateHeight","startPause","endPause","calculateOffset","justifyContent","radioData","show_theme_support","theme_option","selectedOption","setSelectedOption","isInitialLoad","setIsInitialLoad","handleRadioChange","newValue","saveOption","hfe_compatibility_option","_x","previousLiteVersions","uaelite_versions","liteVersionRef","liteVersionSelect","setLiteVersionSelect","setFreeproductSelect","openLitePopup","setOpenLitePopup","rollbackUrl","uaelite_rollback_url","user_url","user__selected_url","MyAccount","theme_url","theme_url_selected","ThemeSupport","version_url","version__selected_url","VersionControl","savedItemId","setSelectedItem","tab","itemId","onSettingsTabClick","alignItems","sections","iconFree","iconPro","renderIcon","isAvailable","section","FreevsPro","UltimateCompare","_routes$dashboard","Dashboard","Features","Templates","Settings","Upgrade","loaded","setLoaded","showTopBar","setShowTopBar","onhashchange","UpgradeNotice","CustomRouter","domReady","rootElement","App"],"sourceRoot":""} \ No newline at end of file diff --git a/header-footer-elementor.php b/header-footer-elementor.php index 5b2b37d2..32a63c6b 100644 --- a/header-footer-elementor.php +++ b/header-footer-elementor.php @@ -7,14 +7,14 @@ * Author URI: https://www.brainstormforce.com/ * Text Domain: header-footer-elementor * Domain Path: /languages - * Version: 2.0.0 + * Version: 2.0.1 * Elementor tested up to: 3.25 * Elementor Pro tested up to: 3.25 * * @package header-footer-elementor */ -define( 'HFE_VER', '2.0.0' ); +define( 'HFE_VER', '2.0.1' ); define( 'HFE_FILE', __FILE__ ); define( 'HFE_DIR', plugin_dir_path( __FILE__ ) ); define( 'HFE_URL', plugins_url( '/', __FILE__ ) ); diff --git a/package.json b/package.json index 5bfefb0e..9798d02f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "header-footer-elementor", - "version": "2.0.0", + "version": "2.0.1", "main": "index.js", "author": "Nikhil Chavan", "volta": { diff --git a/readme.txt b/readme.txt index 8009778e..8e680b4a 100644 --- a/readme.txt +++ b/readme.txt @@ -1,10 +1,10 @@ === Ultimate Addons for Elementor Lite (UAE Lite) === Contributors: @brainstormforce, @nikschavan, @pratikchaskar -Tags: elementor, header footer builder, breadcrumbs, post meta, widgets, scroll to top +Tags: elementor, header footer builder, breadcrumbs, post meta, widgets Requires at least: 4.4 Requires PHP: 7.4 Tested up to: 6.7 -Stable tag: 2.0.0 +Stable tag: 2.0.1 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html @@ -141,6 +141,9 @@ Absolutely! You can design custom headers, footers, and other sections for WooCo == Changelog == += 2.0.1 = +- Fix: Conflict with site customizer style. + = 2.0.0 = - New Feature: Scroll to Top Button. Add a dynamic "Scroll to Top" button to enhance navigation and improve user experience on long pages.