diff --git a/css/custom_theme.css.php b/css/custom_theme.css.php index 556aa53eda..d214bdfc08 100644 --- a/css/custom_theme.css.php +++ b/css/custom_theme.css.php @@ -599,6 +599,19 @@ } +.with_frm_style .frm_inline_submit_button{ + position: relative; +} + +.with_frm_style .frm_inline_submit_button .frm_submit{ + position: absolute; + bottom: 0; +} + +.with_frm_style .frm_inline_submit_button .frm_submit .frm_button_submit{ + margin-bottom: 0; +} + .with_frm_style .frm_submit{ clear:both; } diff --git a/js/formidable-settings-components.js.map b/js/formidable-settings-components.js.map index 1d130995f9..3985126577 100644 --- a/js/formidable-settings-components.js.map +++ b/js/formidable-settings-components.js.map @@ -1 +1 @@ -{"version":3,"file":"formidable-settings-components.js","mappings":";;;;;;;;;;;;;;AAAA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY;AACZ;AACe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,iC;;;;;;;;;;;;;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AALA,IAMqBA,iCAAiC;EACrD;AACD;AACA;AACA;AACA;EACC,SAAAA,kCAAaC,SAAS,EAAG;IAAAC,eAAA,OAAAF,iCAAA;IACxB,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI;MACH,IAAME,cAAc,GAAGC,IAAI,CAACC,KAAK,CAAE,IAAI,CAACJ,SAAS,CAACK,OAAO,CAACC,UAAW,CAAC;MACtE,IAAI,CAACC,IAAI,GAAG;QACXC,eAAe,EAAE,IAAI,CAACC,mBAAmB,CAAEP,cAAe,CAAC;QAC3DQ,WAAW,EAAE,IAAIC,KAAK,CAAE,QAAQ,EAAE;UAAEC,OAAO,EAAE;QAAK,CAAE;MACrD,CAAC;IACF,CAAC,CAAC,OAAQC,KAAK,EAAG;MACjBC,OAAO,CAACD,KAAK,CAAE,uDAAuD,EAAEA,KAAM,CAAC;IAChF;EACD;;EAEA;AACD;AACA;AACA;AACA;AACA;AACA;EANC,OAAAE,YAAA,CAAAhB,iCAAA;IAAAiB,GAAA;IAAAC,KAAA,EAOA,SAAAR,mBAAmBA,CAAES,UAAU,EAAG;MACjC,IAAMC,IAAI,GAAG,EAAE;MACfD,UAAU,CAACE,OAAO,CAAE,UAAAC,IAAI,EAAI;QAC3B,IAAMC,KAAK,GAAGC,QAAQ,CAACC,aAAa,iBAAAC,MAAA,CAAkBJ,IAAI,QAAM,CAAC;QACjE,IAAK,IAAI,KAAKC,KAAK,EAAG;UACrBH,IAAI,CAACO,IAAI,CAAEJ,KAAM,CAAC;QACnB;MACD,CAAE,CAAC;MACH,OAAOH,IAAI;IACZ;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAAH,GAAA;IAAAC,KAAA,EAKA,SAAAU,0BAA0BA,CAAEV,KAAK,EAAG;MACnC,IAAI,CAACV,IAAI,CAACC,eAAe,CAACY,OAAO,CAAE,UAAAE,KAAK,EAAI;QAC3CA,KAAK,CAACL,KAAK,GAAGA,KAAK;MACpB,CAAE,CAAC;MACH,IAAI,CAACV,IAAI,CAACC,eAAe,CAAE,CAAC,CAAE,CAACoB,aAAa,CAAE,IAAI,CAACrB,IAAI,CAACG,WAAY,CAAC;IACtE;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;ACrDK,IAAMoB,gBAAgB;EAC5B,SAAAA,iBAAaC,OAAO,EAAG;IAAA9B,eAAA,OAAA6B,gBAAA;IACtB,IAAK,WAAW,KAAK,OAAOC,OAAO,EAAG;MACrC;IACD;IAEA,IAAI,CAACA,OAAO,GAAGA,OAAO,YAAYC,OAAO,GAAGD,OAAO,GAAGR,QAAQ,CAACC,aAAa,CAAEO,OAAQ,CAAC;IAEvF,IAAK,IAAI,KAAK,IAAI,CAACA,OAAO,EAAG;MAC5B;IACD;IAEA,IAAI,CAACE,gBAAgB,GAAG,MAAM;IAC9B,IAAI,CAACC,IAAI,GAAG,IAAI,CAACH,OAAO,CAACI,gBAAgB,CAAE,wBAAyB,CAAC;IACrE,IAAI,CAACC,cAAc,GAAG,IAAI,CAACL,OAAO,CAACP,aAAa,CAAE,4BAA6B,CAAC;IAChF,IAAI,CAACa,UAAU,GAAG,IAAI,CAACN,OAAO,CAACP,aAAa,CAAE,uBAAwB,CAAC;IACvE,IAAI,CAACc,MAAM,GAAG,IAAI,CAACP,OAAO,CAACI,gBAAgB,CAAE,6BAA8B,CAAC;IAC5E,IAAI,CAACI,KAAK,GAAGhB,QAAQ,CAACiB,eAAe,CAACC,GAAG,KAAK,KAAK,IAAIlB,QAAQ,CAACmB,IAAI,CAACD,GAAG,KAAK,KAAK;IAClF,IAAI,CAACE,cAAc,GAAG,IAAI;IAE1B,IAAI,CAACC,IAAI,CAAC,CAAC;EACZ;EAAC,OAAA7B,YAAA,CAAAe,gBAAA;IAAAd,GAAA;IAAAC,KAAA,EAED,SAAA2B,IAAIA,CAAA,EAAG;MAAA,IAAAC,KAAA;MACN,IAAK,IAAI,KAAK,IAAI,CAACd,OAAO,IAAI,CAAE,IAAI,CAACG,IAAI,CAACY,MAAM,IAAI,IAAI,KAAK,IAAI,CAACV,cAAc,IAAI,IAAI,KAAK,IAAI,CAACC,UAAU,IAAI,CAAE,IAAI,CAACC,MAAM,CAACQ,MAAM,EAAG;QACtI;MACD;MAEA,IAAI,CAACC,4BAA4B,CAAC,CAAC;MACnC,IAAI,CAACb,IAAI,CAACd,OAAO,CAAE,UAAE4B,GAAG,EAAEC,KAAK,EAAM;QACpCD,GAAG,CAACE,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK;UAAA,OAAIN,KAAI,CAACO,UAAU,CAAED,KAAK,EAAEF,KAAM,CAAC;QAAA,CAAC,CAAC;MAC1E,CAAE,CAAC;MAEH,IAAI,CAACI,sBAAsB,CAAC,CAAC;MAC7B;MACAC,MAAM,CAACJ,gBAAgB,CAAE,cAAc,EAAE,IAAI,CAACK,gBAAiB,CAAC;IACjE;EAAC;IAAAvC,GAAA;IAAAC,KAAA,EAED,SAAAmC,UAAUA,CAAED,KAAK,EAAEF,KAAK,EAAG;MAC1B,IAAMO,OAAO,GAAGL,KAAK,CAACM,aAAa;MAEnCN,KAAK,CAACO,cAAc,CAAC,CAAC;MAEtB,IAAI,CAACC,6BAA6B,CAAC,CAAC;MACpCH,OAAO,CAACI,SAAS,CAACC,GAAG,CAAE,YAAa,CAAC;MACrC,IAAI,CAACC,uBAAuB,CAAEN,OAAO,EAAEP,KAAM,CAAC;MAC9C,IAAI,CAACc,WAAW,CAAEd,KAAM,CAAC;;MAEzB;MACA,IAAMe,OAAO,GAAGR,OAAO,CAAChC,aAAa,CAAE,GAAI,CAAC;MAC5C,IAAKwC,OAAO,IAAIA,OAAO,CAACC,EAAE,KAAK,uBAAuB,IAAI,CAAED,OAAO,CAACE,OAAO,CAAE,eAAgB,CAAC,EAAG;QAAA,IAAAC,qBAAA,EAAAC,sBAAA;QAChG,CAAAD,qBAAA,GAAAb,MAAM,CAACe,aAAa,cAAAF,qBAAA,gBAAAC,sBAAA,GAApBD,qBAAA,CAAsBG,gBAAgB,cAAAF,sBAAA,eAAtCA,sBAAA,CAAAG,IAAA,CAAAJ,qBAAyC,CAAC;MAC3C;IACD;EAAC;IAAAnD,GAAA;IAAAC,KAAA,EAED,SAAA8B,4BAA4BA,CAAA,EAAG;MAC9B,IAAK,CAAE,IAAI,CAACX,cAAc,CAAC/B,OAAO,CAACmE,YAAY,EAAG;QACjD;MACD;MACA,IAAI,CAACpC,cAAc,CAACqC,KAAK,CAACC,KAAK,MAAAjD,MAAA,CAAO,IAAI,CAACW,cAAc,CAAC/B,OAAO,CAACmE,YAAY,OAAK;IACpF;EAAC;IAAAxD,GAAA;IAAAC,KAAA,EACD,SAAA6C,uBAAuBA,CAAEd,GAAG,EAAEC,KAAK,EAAG;MACrC,IAAI,CAACb,cAAc,CAACwB,SAAS,CAACe,MAAM,CAAE,WAAW,EAAE,UAAW,CAAC;MAC/D,IAAMC,SAAS,GAAG,WAAW,KAAK,OAAO5B,GAAG,GAAGA,GAAG,GAAG,IAAI,CAACd,IAAI,CAAC2C,MAAM,CAAE,UAAA7B,GAAG;QAAA,OAAIA,GAAG,CAACY,SAAS,CAACkB,QAAQ,CAAE,YAAa,CAAC;MAAA,CAAC,CAAC;MACtH,IAAI,CAACC,0BAA0B,CAAEH,SAAU,CAAC;IAC7C;;IAEA;AACD;AACA;AACA;EAHC;IAAA5D,GAAA;IAAAC,KAAA,EAIA,SAAAoC,sBAAsBA,CAAA,EAAG;MAAA,IAAA2B,MAAA;MACxB,IAAMC,gBAAgB,GAAG,IAAI,CAAClD,OAAO,CAACmC,OAAO,CAAE,wBAAyB,CAAC;MAEzE,IAAK,CAAEe,gBAAgB,IAAI,EAAI,gBAAgB,IAAI3B,MAAM,CAAE,EAAG;QAC7D;MACD;MAEA,IAAI,CAACX,cAAc,GAAG,IAAIuC,cAAc,CAAE,YAAM;QAC/C,IAAMN,SAAS,GAAGI,MAAI,CAACjD,OAAO,CAACP,aAAa,CAAE,mCAAoC,CAAC;QACnF,IAAKoD,SAAS,EAAG;UAChBI,MAAI,CAACD,0BAA0B,CAAEH,SAAU,CAAC;QAC7C;MACD,CAAE,CAAC;MAEH,IAAI,CAACjC,cAAc,CAACwC,OAAO,CAAEF,gBAAiB,CAAC;IAChD;;IAEA;AACD;AACA;EAFC;IAAAjE,GAAA;IAAAC,KAAA,EAGA,SAAAsC,gBAAgBA,CAAA,EAAG;MAClB,IAAK,IAAI,CAACZ,cAAc,EAAG;QAC1B,IAAI,CAACA,cAAc,CAACyC,UAAU,CAAC,CAAC;QAChC,IAAI,CAACzC,cAAc,GAAG,IAAI;MAC3B;IACD;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAA3B,GAAA;IAAAC,KAAA,EAKA,SAAA8D,0BAA0BA,CAAEH,SAAS,EAAG;MAAA,IAAAS,MAAA;MACvCC,qBAAqB,CAAE,YAAM;QAC5B,IAAMC,QAAQ,GAAGF,MAAI,CAAC9C,KAAK,GACxB,EAAGqC,SAAS,CAACY,aAAa,CAACC,WAAW,GAAGb,SAAS,CAACc,UAAU,GAAGd,SAAS,CAACa,WAAW,CAAE,GACvFb,SAAS,CAACc,UAAU;QAEvBL,MAAI,CAACjD,cAAc,CAACqC,KAAK,CAACkB,SAAS,iBAAAlE,MAAA,CAAkB8D,QAAQ,QAAM;QACnEF,MAAI,CAACjD,cAAc,CAACqC,KAAK,CAACC,KAAK,GAAGE,SAAS,CAACgB,WAAW,GAAG,IAAI;MAC/D,CAAE,CAAC;IACJ;EAAC;IAAA5E,GAAA;IAAAC,KAAA,EAED,SAAA8C,WAAWA,CAAEd,KAAK,EAAG;MACpB,IAAI,CAAC4C,+BAA+B,CAAC,CAAC;MACtC,IAAMC,SAAS,GAAG7C,KAAK,IAAI,CAAC,GAAG,KAAK,cAAAxB,MAAA,CAAiBwB,KAAK,GAAG,GAAG,UAAAxB,MAAA,CAAWsE,QAAQ,CAAE,IAAI,CAAC9D,gBAAgB,EAAE,EAAG,CAAC,GAAGgB,KAAK,aAAAxB,MAAA,CAAY,IAAI,CAACc,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,OAAK;MAC5J,IAAK,KAAK,KAAKuD,SAAS,EAAG;QAC1B,IAAI,CAACzD,UAAU,CAACoC,KAAK,CAACkB,SAAS,iBAAAlE,MAAA,CAAkBqE,SAAS,MAAI;MAC/D,CAAC,MAAM;QACN,IAAI,CAACzD,UAAU,CAACoC,KAAK,CAACuB,cAAc,CAAE,WAAY,CAAC;MACpD;MACA,IAAK/C,KAAK,IAAI,IAAI,CAACX,MAAM,EAAG;QAC3B,IAAI,CAACA,MAAM,CAAEW,KAAK,CAAE,CAACW,SAAS,CAACC,GAAG,CAAE,YAAa,CAAC;MACnD;IACD;EAAC;IAAA7C,GAAA;IAAAC,KAAA,EAED,SAAA4E,+BAA+BA,CAAA,EAAG;MACjC,IAAI,CAACvD,MAAM,CAAClB,OAAO,CAAE,UAAA6E,KAAK;QAAA,OAAIA,KAAK,CAACrC,SAAS,CAACe,MAAM,CAAE,YAAa,CAAC;MAAA,CAAC,CAAC;IACvE;EAAC;IAAA3D,GAAA;IAAAC,KAAA,EAED,SAAA0C,6BAA6BA,CAAA,EAAG;MAC/B,IAAI,CAACzB,IAAI,CAACd,OAAO,CAAE,UAAA4B,GAAG;QAAA,OAAIA,GAAG,CAACY,SAAS,CAACe,MAAM,CAAE,YAAa,CAAC;MAAA,CAAC,CAAC;IACjE;EAAC;AAAA,I;;;;;;;;;;;;;;;;;;;;;;ACrIK,IAAAuB,iBAAA,GAAmC5C,MAAM,CAAC6C,SAAS;EAAtCC,UAAU,GAAAF,iBAAA,CAAfG,GAAG;EAAcC,KAAK,GAAAJ,iBAAA,CAALI,KAAK;AAAsB;AACpD,IAAMC,YAAY,GAAG,YAAY;AACjC,IAAMC,cAAc,GAAG,cAAc;AACrC,IAAMC,aAAa,GAAG,aAAa;AACnC,IAAMC,aAAa,GAAG,aAAa;AACnC,IAAMC,aAAa,GAAG,aAAa;AACnC,IAAMC,qBAAqB,GAAG,qBAAqB;AAEnD,IAAMC,KAAK,GAAG;EACpBC,mBAAmB,EAAE;AACtB,CAAC,C;;;;;;;;;;;;;;;;;;;;ACVM,IAAMC,UAAU;EACtB;AACD;AACA;AACA;AACA;AACA;EACC,SAAAA,WAAaC,QAAQ,EAAqB;IAAA,IAAnBC,IAAI,GAAAC,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,SAAS;IAAAjH,eAAA,OAAA8G,UAAA;IACtC,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAEhB,IAAI,CAACG,eAAe,CAAC,CAAC;EACvB;;EAEA;AACD;AACA;AACA;AACA;EAJC,OAAArG,YAAA,CAAAgG,UAAA;IAAA/F,GAAA;IAAAC,KAAA,EAKA,SAAAoG,MAAMA,CAAA,EAAG;MAAA,IAAAxE,KAAA;MACR,IAAI,CAACyE,oBAAoB,CAAE,UAAAC,OAAO,EAAI;QACrCA,OAAO,CAAC3D,SAAS,CAACC,GAAG,CAAE,eAAgB,CAAC;QAExC0D,OAAO,CAACrE,gBAAgB,CAAE,cAAc,EAAE,YAAM;UAC/CL,KAAI,CAAC2E,YAAY,CAAC,CAAC;UACnBD,OAAO,CAAC3D,SAAS,CAACe,MAAM,CAAE,eAAgB,CAAC;QAC5C,CAAC,EAAE;UAAE8C,IAAI,EAAE;QAAK,CAAE,CAAC;MACpB,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EAPC;IAAAzG,GAAA;IAAAC,KAAA,EAQA,SAAAyG,aAAaA,CAAA,EAAiB;MAAA,IAAA1C,MAAA;MAAA,IAAf2C,KAAK,GAAAT,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;MAC1BU,UAAU,CAAE,YAAM;QACjB5C,MAAI,CAACsC,oBAAoB,CAAE,UAAEC,OAAO,EAAEtE,KAAK,EAAM;UAChDsE,OAAO,CAAC3D,SAAS,CAACe,MAAM,CAAE,aAAc,CAAC;UACzC4C,OAAO,CAAC9C,KAAK,CAACoD,eAAe,GAAK,CAAE5E,KAAK,GAAG,CAAC,IAAK0E,KAAK,GAAK,GAAG;QAChE,CAAE,CAAC;MACJ,CAAC,EAAE,GAAI,CAAC;IACT;EAAC;IAAA3G,GAAA;IAAAC,KAAA,EAED,SAAAmG,eAAeA,CAAA,EAAG;MAAA,IAAA/B,MAAA;MACjB,IAAI,CAACiC,oBAAoB,CAAE,UAAAC,OAAO,EAAI;QACrC,IAAK,SAAS,KAAKlC,MAAI,CAAC4B,IAAI,EAAG;UAC9BM,OAAO,CAAC9C,KAAK,CAACqD,OAAO,GAAG,KAAK;QAC9B;QACA,IAAK,SAAS,KAAKzC,MAAI,CAAC4B,IAAI,EAAG;UAC9BM,OAAO,CAAC3D,SAAS,CAACC,GAAG,CAAE,4BAA6B,CAAC;QACtD;QACA,IAAK,YAAY,KAAKwB,MAAI,CAAC4B,IAAI,EAAG;UACjCM,OAAO,CAAC3D,SAAS,CAACC,GAAG,CAAE,oBAAqB,CAAC;QAC9C;QACA0D,OAAO,CAAC3D,SAAS,CAACC,GAAG,CAAE,aAAc,CAAC;MACvC,CAAE,CAAC;IACJ;EAAC;IAAA7C,GAAA;IAAAC,KAAA,EAED,SAAAuG,YAAYA,CAAA,EAAG;MACd,IAAI,CAACF,oBAAoB,CAAE,UAAAC,OAAO;QAAA,OAAIA,OAAO,CAAC9C,KAAK,CAACqD,OAAO,GAAG,KAAK;MAAA,CAAC,CAAC;IACtE;EAAC;IAAA9G,GAAA;IAAAC,KAAA,EAED,SAAAqG,oBAAoBA,CAAES,QAAQ,EAAG;MAChC,IAAK,IAAI,CAACf,QAAQ,YAAYhF,OAAO,EAAG;QACvC+F,QAAQ,CAAE,IAAI,CAACf,QAAQ,EAAE,CAAE,CAAC;QAC5B;MACD;MACA,IAAK,CAAC,GAAG,IAAI,CAACA,QAAQ,CAAClE,MAAM,EAAG;QAC/B,IAAI,CAACkE,QAAQ,CAAC5F,OAAO,CAAE,UAAEmG,OAAO,EAAEtE,KAAK;UAAA,OAAM8E,QAAQ,CAAER,OAAO,EAAEtE,KAAM,CAAC;QAAA,CAAC,CAAC;MAC1E;IACD;EAAC;AAAA,I;;;;;;;;;;;;;;AC1EF;AACA,IAAI+E,WAAW,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,IAAI;EAAA,OAAIJ,WAAW,GAAGA,WAAW,CAACK,IAAI,CAAED,IAAK,CAAC,CAACE,KAAK,CAAEF,IAAK,CAAC;AAAA,E;;;;;;;;;;;;;;;ACT7F;AACA;AACA;AAC+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMK,aAAa,GAAG,SAAhBA,aAAaA,CAAKC,OAAO,EAAEC,OAAO,EAAE1B,IAAI,EAAE2B,OAAO,EAAM;EACnE,IAAMC,YAAY,GAAGtH,QAAQ,CAACC,aAAa,CAAEkH,OAAQ,CAAC;EACtD,IAAMI,YAAY,GAAGvH,QAAQ,CAACC,aAAa,CAAEmH,OAAQ,CAAC;EAEtD,IAAK,CAAEE,YAAY,IAAI,CAAEC,YAAY,EAAG;IACvChI,OAAO,CAACiI,IAAI,CAAE,uDAAwD,CAAC;IACvE;EACD;;EAEA;EACA,IAAKH,OAAO,EAAG;IACd,IAAMI,IAAI,GAAGF,YAAY,CAACtH,aAAa,qBAAAC,MAAA,CAAsBwF,IAAI,QAAM,CAAC;IACxE,IAAK+B,IAAI,EAAG;MACXA,IAAI,CAACC,WAAW,GAAGL,OAAO;IAC3B;EACD;;EAEA;EACAE,YAAY,CAACI,YAAY,CAAE,WAAW,EAAEjC,IAAK,CAAC;EAC9CuB,uCAAI,CAAEM,YAAa,CAAC;;EAEpB;EACAD,YAAY,CAAC3F,gBAAgB,CAAE,OAAO,EAAE,YAAM;IAC7CqF,uCAAI,CAAEO,YAAa,CAAC;EACrB,CAAC,EAAE;IAAErB,IAAI,EAAE;EAAK,CAAE,CAAC;AACpB,CAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCD,IAAA0B,OAAA,GAAwCC,MAAM;EAAtCC,GAAG,GAAAF,OAAA,CAAHE,GAAG;EAAEL,IAAI,GAAAG,OAAA,CAAJH,IAAI;EAAEM,GAAG,GAAAH,OAAA,CAAHG,GAAG;EAAEC,CAAC,GAAAJ,OAAA,CAADI,CAAC;EAAEC,GAAG,GAAAL,OAAA,CAAHK,GAAG;EAAEC,GAAG,GAAAN,OAAA,CAAHM,GAAG;AACnC,IAAAC,aAAA,GAA2CN,MAAM,CAACO,KAAK;EAA/CC,gBAAgB,GAAAF,aAAA,CAAhBE,gBAAgB;EAAEC,YAAY,GAAAH,aAAA,CAAZG,YAAY;AACtC,IAAAC,YAAA,GAA8CV,MAAM,CAACW,IAAI;EAAjDC,qBAAqB,GAAAF,YAAA,CAArBE,qBAAqB;EAAEC,UAAU,GAAAH,YAAA,CAAVG,UAAU;AACzC,IAAQC,UAAU,GAAKd,MAAM,CAACe,IAAI,CAA1BD,UAAU;AAClB,IAAME,CAAC,GAAG,SAAJA,CAACA,CAAGC,IAAI;EAAA,OAAIf,GAAG,CAAE,GAAG,EAAEe,IAAK,CAAC;AAAA;AAClC,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAGD,IAAI;EAAA,OAAIf,GAAG,CAAE,QAAQ,EAAEe,IAAK,CAAC;AAAA;AAC1C,IAAME,MAAM,GAAG,SAATA,MAAMA,CAAGF,IAAI;EAAA,OAAIf,GAAG,CAAE,QAAQ,EAAEe,IAAK,CAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNhB;AACJ;AACA;AACQ;AACV;AACO;;;;;;;;;;;;;;;;;;;;;;;ACL7B;AACA;AACA;AACA,IAAMhE,GAAG,GAAG,IAAImE,GAAG,CAAElH,MAAM,CAACmH,QAAQ,CAACC,IAAK,CAAC;AAC3C,IAAMC,SAAS,GAAGtE,GAAG,CAACuE,YAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,SAAS;EAAA,OAAIH,SAAS,CAACI,GAAG,CAAED,SAAU,CAAC;AAAA;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACO,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGF,SAAS,EAAI;EAC5CH,SAAS,CAACM,MAAM,CAAEH,SAAU,CAAC;EAC7BzE,GAAG,CAAC6E,MAAM,GAAGP,SAAS,CAACQ,QAAQ,CAAC,CAAC;EACjC,OAAO9E,GAAG,CAAC8E,QAAQ,CAAC,CAAC;AACtB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAKN,SAAS,EAAEO,UAAU,EAAkC;EAAA,IAAhCC,YAAY,GAAApE,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,WAAW;EAC/EyD,SAAS,CAACY,GAAG,CAAET,SAAS,EAAEO,UAAW,CAAC;EACtChF,GAAG,CAAC6E,MAAM,GAAGP,SAAS,CAACQ,QAAQ,CAAC,CAAC;EAEjC,IAAK,CAAE,WAAW,EAAE,cAAc,CAAE,CAACK,QAAQ,CAAEF,YAAa,CAAC,EAAG;IAC/D,IAAMG,KAAK,GAAAC,eAAA,KAAOZ,SAAS,EAAIO,UAAU,CAAE;IAC3C/H,MAAM,CAACqI,OAAO,CAAEL,YAAY,CAAE,CAAEG,KAAK,EAAE,EAAE,EAAEpF,GAAI,CAAC;EACjD;EAEA,OAAOA,GAAG,CAAC8E,QAAQ,CAAC,CAAC;AACtB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,IAAMS,aAAa,GAAG,SAAhBA,aAAaA,CAAGd,SAAS;EAAA,OAAIH,SAAS,CAACkB,GAAG,CAAEf,SAAU,CAAC;AAAA;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACO,IAAMgB,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGhB,SAAS;EAAA,OAC9Ca,OAAO,CAACI,YAAY,CAAE,CAAC,CAAC,EAAE,EAAE,EAAEf,gBAAgB,CAAEF,SAAU,CAAE,CAAC;AAAA,E;;;;;;;;;;;;;;;;AC7D9D;AACA;AACA;AACA;AACA;AACA;AACO,IAAMkB,YAAY,GAAG,SAAfA,YAAYA,CAAGC,KAAK;EAAA,OAChC,OAAOA,KAAK,KAAK,QAAQ,GAAG,yJAAyJ,CAACC,IAAI,CAAED,KAAM,CAAC,GAAG,KAAK;AAAA;;AAE5M;AACA;AACA;AACA;AACA;AACA;AACO,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAG5E,OAAO;EAAA,OAAIA,OAAO,YAAY6E,WAAW,IAAItL,OAAO,CAACiI,IAAI,CAAE,8DAA+D,CAAC,IAAI,KAAK;AAAA;;AAEjK;AACA;AACA;AACA;AACA;AACA;AACO,IAAMsD,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,GAAG;EAAA,OAAIC,MAAM,CAACC,IAAI,CAAEF,GAAI,CAAC,CAACxJ,MAAM,KAAK,CAAC,IAAIwJ,GAAG,CAACG,WAAW,KAAKF,MAAM;AAAA,E;;;;;;;;;;;;;;;;;;;ACvBjG;AACA;AACA;AAC8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACO,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAG1F,QAAQ;EAAA,IAAA2F,WAAA;EAAA,QAAAA,WAAA,GACnCC,KAAK,CAACC,IAAI,CAAE7F,QAAS,CAAC,cAAA2F,WAAA,uBAAtBA,WAAA,CAAwBvL,OAAO,CAAE,UAAAmG,OAAO;IAAA,OAAIiB,IAAI,CAAEjB,OAAQ,CAAC;EAAA,CAAC,CAAC;AAAA;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACO,IAAMuF,YAAY,GAAG,SAAfA,YAAYA,CAAG9F,QAAQ;EAAA,IAAA+F,YAAA;EAAA,QAAAA,YAAA,GACnCH,KAAK,CAACC,IAAI,CAAE7F,QAAS,CAAC,cAAA+F,YAAA,uBAAtBA,YAAA,CAAwB3L,OAAO,CAAE,UAAAmG,OAAO;IAAA,OAAIgB,IAAI,CAAEhB,OAAQ,CAAC;EAAA,CAAC,CAAC;AAAA;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACO,IAAMiB,IAAI,GAAG,SAAPA,IAAIA,CAAGjB,OAAO;EAAA,OAAIA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE3D,SAAS,CAACe,MAAM,CAAE4B,wDAAa,CAAC;AAAA;;AAExE;AACA;AACA;AACA;AACA;AACA;AACO,IAAMgC,IAAI,GAAG,SAAPA,IAAIA,CAAGhB,OAAO;EAAA,OAAIA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE3D,SAAS,CAACC,GAAG,CAAE0C,wDAAa,CAAC;AAAA;;AAErE;AACA;AACA;AACA;AACA;AACA;AACO,IAAMyG,SAAS,GAAG,SAAZA,SAASA,CAAGzF,OAAO,EAAI;EACnC,IAAM0F,MAAM,GAAG3J,MAAM,CAAC4J,gBAAgB,CAAE3F,OAAQ,CAAC;EACjD,OAAO0F,MAAM,CAACE,gBAAgB,CAAE,SAAU,CAAC,KAAK,MAAM;AACvD,CAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;AChDgE;AACE;AACJ;AACjC;AACC;;;;;;;;;;;;;;;;;;;;;;;ACJ/B;AACA;AACA;AAC8C;AACK;;AAEnD;AACA;AACA;AACA;AACA;AAJA,IAKqBC,iBAAiB;EACrC,SAAAA,kBAAA,EAAc;IAAA,IAAAvK,KAAA;IAAA5C,eAAA,OAAAmN,iBAAA;IACb,IAAI,CAACG,aAAa,GAAGhM,QAAQ,CAACY,gBAAgB,CAAE,0CAA2C,CAAC;IAC5F,IAAI,CAACqL,SAAS,GAAG,IAAIC,GAAG,CAAC,CAAC;IAC1B,IAAK,CAAC,GAAG,IAAI,CAACF,aAAa,CAACzK,MAAM,EAAG;MACpC,IAAI,CAACF,IAAI,CAAC,CAAC;IACZ;;IAEA;AACF;AACA;AACA;AACA;AACA;IACErB,QAAQ,CAAC2B,gBAAgB,CAAE,iBAAiB,EAAE,UAAAwK,IAAA;MAAA,IAAIC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;MAAA,OACzD9K,KAAI,CAAC+K,0BAA0B,CAAED,QAAQ,CAACtN,OAAO,CAACwN,GAAI,CAAC;IAAA,CACxD,CAAC;;IAED;AACF;AACA;AACA;AACA;AACA;IACEtM,QAAQ,CAAC2B,gBAAgB,CAAE,uBAAuB,EAAE,UAAA4K,KAAA;MAAA,IAAIC,SAAS,GAAAD,KAAA,CAATC,SAAS;MAAA,OAChEA,SAAS,CAAC3M,OAAO,CAAE,UAAA4M,KAAK;QAAA,OAAInL,KAAI,CAAC+K,0BAA0B,CAAEI,KAAK,CAAC/J,EAAG,CAAC;MAAA,CAAC,CAAC;IAAA,CAC1E,CAAC;;IAED;IACAX,MAAM,CAACJ,gBAAgB,CAAE,cAAc,EAAE;MAAA,OAAML,KAAI,CAACU,gBAAgB,CAAC,CAAC;IAAA,CAAC,CAAC;;IAExE;IACA,IAAI,CAAC0K,aAAa,GAAG,IAAI;IACzB3K,MAAM,CAACJ,gBAAgB,CAAE,QAAQ,EAAE;MAAA,OAAML,KAAI,CAACqL,0BAA0B,CAAC,CAAC;IAAA,CAAC,CAAC;EAC7E;;EAEA;AACD;AACA;EAFC,OAAAnN,YAAA,CAAAqM,iBAAA;IAAApM,GAAA;IAAAC,KAAA,EAGA,SAAA2B,IAAIA,CAAA,EAAG;MACN,IAAI,CAACuL,SAAS,CAAC,CAAC;MAChB,IAAI,CAACC,2BAA2B,CAAC,CAAC;IACnC;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAApN,GAAA;IAAAC,KAAA,EAMA,SAAA2M,0BAA0BA,CAAES,OAAO,EAAG;MACrC,IAAMC,cAAc,GAAG/M,QAAQ,CAACgN,cAAc,wBAAA9M,MAAA,CAA0B4M,OAAO,CAAI,CAAC;MAEpF,IAAK,CAAEC,cAAc,EAAG;QACvB,MAAM,IAAIE,KAAK,4CAAA/M,MAAA,CAA8C4M,OAAO,CAAI,CAAC;MAC1E;MAEA,IAAI,CAACd,aAAa,GAAGe,cAAc,CAACnM,gBAAgB,CAAE,0CAA2C,CAAC;MAClG,IAAI,CAACgM,SAAS,CAAC,CAAC;IACjB;;IAEA;AACD;AACA;EAFC;IAAAnN,GAAA;IAAAC,KAAA,EAGA,SAAAkN,SAASA,CAAA,EAAG;MAAA,IAAAnJ,MAAA;MACX,IAAI,CAACuI,aAAa,CAACnM,OAAO,CAAE,UAAAmG,OAAO,EAAI;QACtCvC,MAAI,CAACyJ,iBAAiB,CAAElH,OAAQ,CAAC;QACjCvC,MAAI,CAAC0J,sBAAsB,CAAEnH,OAAQ,CAAC;MACvC,CAAE,CAAC;IACJ;EAAC;IAAAvG,GAAA;IAAAC,KAAA,EAED,SAAAmN,2BAA2BA,CAAA,EAAG;MAAA,IAAA/I,MAAA;MAC7B,IAAMsJ,cAAc,GAAGpN,QAAQ,CAACY,gBAAgB,CAAE,0CAA2C,CAAC;MAE9FwM,cAAc,CAACvN,OAAO,CAAE,UAAAwN,aAAa,EAAI;QACxCA,aAAa,CAAC1L,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK,EAAI;UACjD,IAAMpB,OAAO,GAAGoB,KAAK,CAAC0L,MAAM,CAAC3K,OAAO,CAAE,oBAAqB,CAAC;UAC5D,IAAM4K,YAAY,GAAG/M,OAAO,CAACI,gBAAgB,CAAE,sEAAuE,CAAC;UAEvH2M,YAAY,CAAC1N,OAAO,CAAE,UAAA2N,KAAK,EAAI;YAC9BnH,UAAU,CAAE;cAAA,OAAMvC,MAAI,CAAC2J,aAAa,CAAED,KAAM,CAAC;YAAA,GAAE,GAAI,CAAC;UACrD,CAAE,CAAC;QACJ,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAA/N,GAAA;IAAAC,KAAA,EAKA,SAAAwN,iBAAiBA,CAAEQ,YAAY,EAAG;MAAA,IAAAC,MAAA;MACjCD,YAAY,CAAC9M,gBAAgB,CAAE,qBAAsB,CAAC,CAACf,OAAO,CAAE,UAAA2N,KAAK,EAAI;QACxE,IAAKA,KAAK,CAACI,OAAO,EAAG;UACpBD,MAAI,CAACF,aAAa,CAAED,KAAM,CAAC;QAC5B;QACAA,KAAK,CAAC7L,gBAAgB,CAAE,QAAQ,EAAE,UAAAC,KAAK,EAAI;UAC1C+L,MAAI,CAACF,aAAa,CAAE7L,KAAK,CAAC0L,MAAO,CAAC;QACnC,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAA7N,GAAA;IAAAC,KAAA,EAKA,SAAA+N,aAAaA,CAAEH,MAAM,EAAG;MACvB,IAAM9M,OAAO,GAAG8M,MAAM,CAAC3K,OAAO,CAAE,0CAA2C,CAAC;MAC5E,IAAMkL,UAAU,GAAGrN,OAAO,CAACP,aAAa,CAAE,qCAAsC,CAAC;MAEjF,IAAK,IAAI,KAAK4N,UAAU,EAAG;QAC1B;MACD;MAEA,IAAI,CAACC,WAAW,CAAED,UAAU,EAAErN,OAAQ,CAAC;MACvC,IAAI,CAACuN,iBAAiB,CAAET,MAAO,CAAC;MAChC,IAAI,CAACU,sBAAsB,CAAEV,MAAO,CAAC;IACtC;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAA7N,GAAA;IAAAC,KAAA,EAKA,SAAAsO,sBAAsBA,CAAER,KAAK,EAAG;MAC/B,IAAMS,WAAW,GAAGT,KAAK,CAACU,YAAY,CAAE,uBAAwB,CAAC;MACjE,IAAK,IAAI,KAAKD,WAAW,EAAG;QAC3B;MACD;MAEA,IAAMxI,QAAQ,GAAGzF,QAAQ,CAACY,gBAAgB,2BAAAV,MAAA,CAA4B+N,WAAW,QAAM,CAAC;MAExF,IAAK,CAAC,KAAKxI,QAAQ,CAAClE,MAAM,EAAG;QAC5B;MACD;MAEAkE,QAAQ,CAAC5F,OAAO,CAAE,UAAAmG,OAAO,EAAI;QAC5BiB,gDAAI,CAAEjB,OAAQ,CAAC;QACfA,OAAO,CAAC3D,SAAS,CAACC,GAAG,CAAE,wBAAyB,CAAC;MAClD,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAA7C,GAAA;IAAAC,KAAA,EAKA,SAAAiN,0BAA0BA,CAAA,EAAG;MAAA,IAAAwB,MAAA;MAC5B,IAAK,IAAI,CAACzB,aAAa,EAAG;QACzB;MACD;MACA,IAAI,CAACA,aAAa,GAAG3I,qBAAqB,CAAE,YAAM;QACjDoK,MAAI,CAACzB,aAAa,GAAG,IAAI;QACzB1M,QAAQ,CAACY,gBAAgB,CAAE,kDAAmD,CAAC,CAACf,OAAO,CAAE,UAAA2N,KAAK,EAAI;UACjG,IAAMhN,OAAO,GAAGgN,KAAK,CAAC7K,OAAO,CAAE,sBAAuB,CAAC;UACvD,IAAKnC,OAAO,IAAIA,OAAO,CAAC0D,WAAW,GAAG,CAAC,EAAG;YACzCiK,MAAI,CAACV,aAAa,CAAED,KAAM,CAAC;UAC5B;QACD,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAA/N,GAAA;IAAAC,KAAA,EAMA,SAAAyN,sBAAsBA,CAAEnH,OAAO,EAAG;MAAA,IAAAoI,MAAA;MACjC,IAAK,IAAI,CAACnC,SAAS,CAAC3B,GAAG,CAAEtE,OAAQ,CAAC,EAAG;QACpC,IAAI,CAACiG,SAAS,CAACzC,GAAG,CAAExD,OAAQ,CAAC,CAACnC,UAAU,CAAC,CAAC;MAC3C;MAEA,IAAMwK,QAAQ,GAAG,IAAIC,gBAAgB,CAAE,YAAM;QAC5C;QACA,IAAK7C,qDAAS,CAAEzF,OAAQ,CAAC,EAAG;UAC3B,IAAMwH,KAAK,GAAGxH,OAAO,CAAC/F,aAAa,CAAE,6BAA8B,CAAC;UACpE,IAAKuN,KAAK,EAAG;YACZY,MAAI,CAACX,aAAa,CAAED,KAAM,CAAC;UAC5B;QACD;MACD,CAAE,CAAC;MAEH,IAAI,CAACvB,SAAS,CAACjC,GAAG,CAAEhE,OAAO,EAAEqI,QAAS,CAAC;;MAEvC;MACAA,QAAQ,CAACzK,OAAO,CAAEoC,OAAO,EAAE;QAC1BuI,UAAU,EAAE,IAAI;QAChBC,eAAe,EAAE,CAAE,OAAO,EAAE,OAAO;MACpC,CAAE,CAAC;;MAEH;MACA,IAAIC,MAAM,GAAGzI,OAAO,CAAC/B,aAAa;MAClC,KAAM,IAAIyK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,IAAID,MAAM,EAAEC,CAAC,EAAE,EAAG;QACvCL,QAAQ,CAACzK,OAAO,CAAE6K,MAAM,EAAE;UACzBF,UAAU,EAAE,IAAI;UAChBC,eAAe,EAAE,CAAE,OAAO,EAAE,OAAO;QACpC,CAAE,CAAC;QACHC,MAAM,GAAGA,MAAM,CAACxK,aAAa;MAC9B;IACD;;IAEA;AACD;AACA;EAFC;IAAAxE,GAAA;IAAAC,KAAA,EAGA,SAAAsC,gBAAgBA,CAAA,EAAG;MAClB,IAAI,CAACiK,SAAS,CAACpM,OAAO,CAAE,UAAAwO,QAAQ,EAAI;QACnCA,QAAQ,CAACxK,UAAU,CAAC,CAAC;MACtB,CAAE,CAAC;MAEH,IAAI,CAACoI,SAAS,CAAC0C,KAAK,CAAC,CAAC;IACvB;;IAEA;AACD;AACA;EAFC;IAAAlP,GAAA;IAAAC,KAAA,EAGA,SAAAqO,iBAAiBA,CAAA,EAAG;MACnB,IAAMtI,QAAQ,GAAGzF,QAAQ,CAACY,gBAAgB,CAAE,yBAA0B,CAAC;MACvE,IAAK,CAAC,KAAK6E,QAAQ,CAAClE,MAAM,EAAG;QAC5B;MACD;MACAkE,QAAQ,CAAC5F,OAAO,CAAE,UAAAmG,OAAO,EAAI;QAC5BA,OAAO,CAAC3D,SAAS,CAACe,MAAM,CAAE,wBAAyB,CAAC;QACpD4C,OAAO,CAAC3D,SAAS,CAACC,GAAG,CAAE0C,wDAAa,CAAC;QACrCgC,gDAAI,CAAEhB,OAAQ,CAAC;MAChB,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAAvG,GAAA;IAAAC,KAAA,EAMA,SAAAoO,WAAWA,CAAED,UAAU,EAAErN,OAAO,EAAG;MAClC,IAAMoO,MAAM,GAAGf,UAAU,CAAC1J,UAAU;MACpC,IAAMhB,KAAK,GAAG0K,UAAU,CAAC3J,WAAW;MACpC,IAAM2K,OAAO,GAAGrO,OAAO,CAACP,aAAa,CAAE,2BAA4B,CAAC;MAEpE4O,OAAO,CAAC3L,KAAK,CAAC4L,IAAI,GAAG,CAAC;MACtBD,OAAO,CAAC3L,KAAK,CAACC,KAAK,MAAAjD,MAAA,CAAOiD,KAAK,OAAK;MACpC0L,OAAO,CAAC3L,KAAK,CAACkB,SAAS,iBAAAlE,MAAA,CAAkB0O,MAAM,QAAM;IACtD;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;AC7PF;AACA;AACA;AAC8C;AACgD;;AAE9F;AACA;AACA;AACA;AACA;AAJA,IAKqB9C,kBAAkB;EACtC,SAAAA,mBAAA,EAAkD;IAAA,IAAAxK,KAAA;IAAA,IAArC0N,cAAc,GAAArJ,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,EAAE;IAAA,IAAEsJ,QAAQ,GAAAtJ,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC,CAAC;IAAAjH,eAAA,OAAAoN,kBAAA;IAC9C,IAAI,CAACoD,oBAAoB,GAAGF,cAAc,CAACzN,MAAM,GAAG,CAAC;IACrD,IAAI,CAACyN,cAAc,GAAGA,cAAc,CAACzN,MAAM,GAAG,CAAC,GAAGyN,cAAc,GAAGhP,QAAQ,CAACY,gBAAgB,CAAE,uBAAwB,CAAC;IACvH,IAAI,CAACqO,QAAQ,GAAGA,QAAQ;IAExB,IAAK,CAAC,KAAK,IAAI,CAACD,cAAc,CAACzN,MAAM,EAAG;MACvC;IACD;;IAEA;IACA,IAAI,CAAC4N,iBAAiB,GAAG,EAAE;IAC3B,IAAI,CAACC,iBAAiB,GAAG,CAAC;IAC1B,IAAI,CAACC,YAAY,GAAG,EAAE;IAEtB,IAAQC,QAAQ,GAAKzH,MAAM,CAACW,IAAI,CAAxB8G,QAAQ;IAChB,IAAI,CAACC,oBAAoB,GAAGD,QAAQ,CAAE,UAAA5N,KAAK;MAAA,OAAIJ,KAAI,CAACkO,kBAAkB,CAAE9N,KAAM,CAAC;IAAA,GAAE,EAAG,CAAC;IAErF,IAAI,CAAC+N,WAAW,CAAC,CAAC;IAClB,IAAI,CAACpO,IAAI,CAAC,CAAC;EACZ;;EAEA;AACD;AACA;EAFC,OAAA7B,YAAA,CAAAsM,kBAAA;IAAArM,GAAA;IAAAC,KAAA,EAGA,SAAA+P,WAAWA,CAAA,EAAG;MAAA,IAAAhM,MAAA;MACb,IAAI,CAACiM,OAAO,GAAG,EAAE;MACjB,IAAI,CAACV,cAAc,CAACnP,OAAO,CAAE,UAAEmG,OAAO,EAAEtE,KAAK,EAAM;QAClD,IAAMiO,aAAa,GAAG3J,OAAO,CAAC3D,SAAS,CAACkB,QAAQ,CAAE,yBAA0B,CAAC,GAAGyC,OAAO,CAACrD,OAAO,CAAE,sBAAuB,CAAC,GAAGqD,OAAO;QACnI,IAAM4J,KAAK,GAAGnM,MAAI,CAACwL,QAAQ,CAACW,KAAK,KAAM5J,OAAO,CAAClH,OAAO,CAAC8Q,KAAK,GAAGhR,IAAI,CAACC,KAAK,CAAEmH,OAAO,CAAClH,OAAO,CAAC8Q,KAAM,CAAC,GAAG,IAAI,CAAE;QAC3GnM,MAAI,CAACiM,OAAO,CAACvP,IAAI,CAAE;UAClB0P,QAAQ,EAAE,KAAK;UACfC,MAAM,EAAE,CAAC;UACTC,UAAU,EAAE,CAAC;UACbC,QAAQ,EAAExL,QAAQ,CAAEwB,OAAO,CAAClH,OAAO,CAACkR,QAAQ,EAAE,EAAG,CAAC;UAClDhK,OAAO,EAAEA,OAAO;UAChBtE,KAAK,EAAEA,KAAK;UACZhC,KAAK,EAAE,CAAC;UACRkQ,KAAK,EAAEA,KAAK;UACZK,gBAAgB,EAAEN,aAAa,CAACtN,SAAS,CAACkB,QAAQ,CAAE,uCAAwC,CAAC,GAAG,IAAIwL,qFAA4B,CAAEY,aAAc,CAAC,GAAG;QACrJ,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;EAFC;IAAAlQ,GAAA;IAAAC,KAAA,EAGA,SAAA2B,IAAIA,CAAA,EAAG;MACN,IAAI,CAAC6O,aAAa,CAAC,CAAC;MAEpB,IAAK,IAAI,CAAChB,oBAAoB,EAAG;QAChC,IAAI,CAACiB,qCAAqC,CAAC,CAAC;QAC5C;MACD;MAEA,IAAI,CAACC,mBAAmB,CAAC,CAAC;IAC3B;;IAEA;AACD;AACA;EAFC;IAAA3Q,GAAA;IAAAC,KAAA,EAGA,SAAAwQ,aAAaA,CAAA,EAAG;MAAA,IAAApM,MAAA;MACf,IAAI,CAACkL,cAAc,CAACnP,OAAO,CAAE,UAAEmG,OAAO,EAAEtE,KAAK,EAAM;QAClDoC,MAAI,CAACuL,YAAY,CAAE3N,KAAK,CAAE,GAAG,IAAItC,KAAK,CAAE,QAAQ,EAAE;UACjDC,OAAO,EAAE,IAAI;UACbgR,UAAU,EAAE;QACb,CAAE,CAAC;QACH,IAAMC,eAAe,GAAGtK,OAAO,CAAC/F,aAAa,CAAE,oBAAqB,CAAC;QACrE,IAAMsQ,UAAU,GAAGvK,OAAO,CAAC/F,aAAa,CAAE,sCAAuC,CAAC;QAElFsQ,UAAU,CAAC5O,gBAAgB,CAAE,QAAQ,EAAE,UAAAC,KAAK,EAAI;UAC/C,IAAM4O,IAAI,GAAGxK,OAAO,CAAC/F,aAAa,CAAE,QAAS,CAAC,CAACP,KAAK;UAEpD,IAAKoE,MAAI,CAAC2M,WAAW,CAAED,IAAI,EAAE9O,KAAM,CAAC,GAAG8C,QAAQ,CAAE5C,KAAK,CAAC0L,MAAM,CAAC5N,KAAK,EAAE,EAAG,CAAC,EAAG;YAC3E;UACD;UAEAoE,MAAI,CAAC4M,eAAe,CAAE1K,OAAQ,CAAC;UAC/BlC,MAAI,CAAC4L,OAAO,CAAEhO,KAAK,CAAE,CAACiP,SAAS,GAAG7M,MAAI,CAAC8M,WAAW,CAAE5K,OAAO,EAAEuK,UAAU,CAAC7Q,KAAK,GAAG8Q,IAAK,CAAC;UACtF1M,MAAI,CAAC0L,kBAAkB,CAAE9N,KAAM,CAAC;QACjC,CAAE,CAAC;QAEHoC,MAAI,CAAC+M,iBAAiB,CAAE7K,OAAQ,CAAC;QACjClC,MAAI,CAACgN,kBAAkB,CAAE9K,OAAO,EAAEuK,UAAU,EAAE7O,KAAM,CAAC;QACrDoC,MAAI,CAACiN,2BAA2B,CAAE/K,OAAO,EAAEuK,UAAU,EAAE7O,KAAM,CAAC;QAC9DoK,kBAAkB,CAACkF,wBAAwB,CAAEhL,OAAQ,CAAC;QAEtDsK,eAAe,CAAC3O,gBAAgB,CAAE,WAAW,EAAE,UAAAC,KAAK,EAAI;UACvDA,KAAK,CAACO,cAAc,CAAC,CAAC;UACtBP,KAAK,CAACqP,eAAe,CAAC,CAAC;UACvB,IAAKjL,OAAO,CAAC3D,SAAS,CAACkB,QAAQ,CAAE,cAAe,CAAC,EAAG;YACnD;UACD;UACAO,MAAI,CAACoN,cAAc,CAAEtP,KAAK,EAAEF,KAAM,CAAC;UAEnC,IAAMyP,WAAW,GAAG,SAAdA,WAAWA,CAAGC,SAAS;YAAA,OAAItN,MAAI,CAACgK,WAAW,CAAEsD,SAAS,EAAE1P,KAAM,CAAC;UAAA;UAErE,IAAM2P,UAAS,GAAG,SAAZA,SAASA,CAAA,EAAS;YACvBvN,MAAI,CAACwN,eAAe,CAAE5P,KAAM,CAAC;YAC7B1B,QAAQ,CAACuR,mBAAmB,CAAE,WAAW,EAAEJ,WAAY,CAAC;YACxDnR,QAAQ,CAACuR,mBAAmB,CAAE,SAAS,EAAEF,UAAU,CAAC;UACrD,CAAC;UAEDrR,QAAQ,CAAC2B,gBAAgB,CAAE,WAAW,EAAEwP,WAAY,CAAC;UACrDnR,QAAQ,CAAC2B,gBAAgB,CAAE,SAAS,EAAE0P,UAAU,CAAC;QAClD,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;EAAC;IAAA5R,GAAA;IAAAC,KAAA,EAED,SAAAmR,iBAAiBA,CAAE7K,OAAO,EAAG;MAC5B,IAAMwL,OAAO,GAAGxL,OAAO,CAAC/F,aAAa,CAAE,SAAU,CAAC;MAElD,IAAK,WAAW,KAAK,OAAO+F,OAAO,CAAClH,OAAO,CAAC2S,cAAc,IAAI,IAAI,KAAKD,OAAO,EAAG;QAChF;MACD;MAEA,IAAME,gBAAgB,GAAG,IAAI,CAACC,mBAAmB,CAAE3L,OAAQ,CAAC;MAC5DwL,OAAO,CAAC7P,gBAAgB,CAAE,OAAO,EAAE,YAAO;QACzC+P,gBAAgB,CAAC7R,OAAO,CAAE,UAAA+R,IAAI,EAAI;UACjCA,IAAI,CAACvP,SAAS,CAACwP,MAAM,CAAE7M,wDAAa,CAAC;QACtC,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;EAAC;IAAAvF,GAAA;IAAAC,KAAA,EAED,SAAAoR,kBAAkBA,CAAE9K,OAAO,EAAEuK,UAAU,EAAE7O,KAAK,EAAG;MAAA,IAAAiM,MAAA;MAChD3H,OAAO,CAAC/F,aAAa,CAAE,QAAS,CAAC,CAAC0B,gBAAgB,CAAE,QAAQ,EAAE,UAAAC,KAAK,EAAI;QACtE,IAAM4O,IAAI,GAAG5O,KAAK,CAAC0L,MAAM,CAAC5N,KAAK,CAACoS,WAAW,CAAC,CAAC;QAE7C,IAAK,EAAE,KAAKtB,IAAI,EAAG;UAClBxK,OAAO,CAAC3D,SAAS,CAACC,GAAG,CAAE,cAAc,EAAE,WAAY,CAAC;UACpD;QACD;QAEA,IAAK,MAAM,KAAKkO,IAAI,EAAG;UACtBxK,OAAO,CAAC3D,SAAS,CAACC,GAAG,CAAE,cAAe,CAAC;UACvCqL,MAAI,CAACiD,WAAW,CAAE5K,OAAO,EAAE,MAAO,CAAC;UACnC2H,MAAI,CAAC6B,kBAAkB,CAAE9N,KAAM,CAAC;UAEhC;QACD;QAEAsE,OAAO,CAAC3D,SAAS,CAACe,MAAM,CAAE,cAAc,EAAE,WAAY,CAAC;QACvDuK,MAAI,CAAC+B,OAAO,CAAEhO,KAAK,CAAE,CAACiP,SAAS,GAAGJ,UAAU,CAAC7Q,KAAK,GAAG8Q,IAAI;QACzD7C,MAAI,CAACiD,WAAW,CAAE5K,OAAO,EAAE2H,MAAI,CAAC+B,OAAO,CAAEhO,KAAK,CAAE,CAACiP,SAAU,CAAC;QAC5DhD,MAAI,CAAC6B,kBAAkB,CAAE9N,KAAM,CAAC;MACjC,CAAE,CAAC;IACJ;EAAC;IAAAjC,GAAA;IAAAC,KAAA,EAED,SAAAqR,2BAA2BA,CAAE/K,OAAO,EAAEuK,UAAU,EAAE7O,KAAK,EAAG;MAAA,IAAAyM,MAAA;MACzD,IAAM4D,SAAS,GAAG/L,OAAO,CAAC/F,aAAa,CAAE,aAAc,CAAC;MACxD,IAAM+R,WAAW,GAAG,IAAI5S,KAAK,CAAE,QAAQ,EAAE;QACxCC,OAAO,EAAE,IAAI;QACbgR,UAAU,EAAE;MACb,CAAE,CAAC;MAEH0B,SAAS,CAACpQ,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK,EAAI;QAC7C,IAAKoE,OAAO,CAAC3D,SAAS,CAACkB,QAAQ,CAAE,cAAe,CAAC,EAAG;UACnD;QACD;QAEA3B,KAAK,CAACO,cAAc,CAAC,CAAC;QACtBP,KAAK,CAACqP,eAAe,CAAC,CAAC;QAEvB,IAAK,CAAErP,KAAK,CAAC0L,MAAM,CAACjL,SAAS,CAACkB,QAAQ,CAAE,YAAa,CAAC,IAAI,CAAE3B,KAAK,CAAC0L,MAAM,CAACjL,SAAS,CAACkB,QAAQ,CAAE,yBAA0B,CAAC,EAAG;UAC1H;QACD;QAEA,IAAM0O,WAAW,GAAGF,SAAS,CAAC7N,WAAW,GAAGiK,MAAI,CAACgB,iBAAiB;QAClE,IAAM+C,UAAU,GAAGH,SAAS,CAACI,qBAAqB,CAAC,CAAC;QACpD,IAAMC,MAAM,GAAGxQ,KAAK,CAACyQ,OAAO,GAAGH,UAAU,CAACpD,IAAI,GAAGX,MAAI,CAACgB,iBAAiB;QACvE,IAAMqB,IAAI,GAAGxK,OAAO,CAAC/F,aAAa,CAAE,QAAS,CAAC,CAACP,KAAK;QACpD,IAAMA,KAAK,GAAGoM,kBAAkB,CAACwG,cAAc,CAAEL,WAAW,EAAEG,MAAM,EAAEjE,MAAI,CAACsC,WAAW,CAAED,IAAI,EAAE9O,KAAM,CAAC,EAAEyM,MAAI,CAACuB,OAAO,CAAEhO,KAAK,CAAE,CAACkO,KAAM,CAAC;QAEpI,IAAKlQ,KAAK,GAAG,CAAC,EAAG;UAChB;QACD;QAEAyO,MAAI,CAACuB,OAAO,CAAEhO,KAAK,CAAE,CAACiP,SAAS,GAAGxC,MAAI,CAACyC,WAAW,CAAE5K,OAAO,EAAEtG,KAAK,GAAG8Q,IAAK,CAAC;QAC3ErC,MAAI,CAACoE,qBAAqB,CAAEvM,OAAO,EAAEoM,MAAM,EAAE1Q,KAAK,EAAEhC,KAAK,GAAG8Q,IAAK,CAAC;QAElED,UAAU,CAAC7Q,KAAK,GAAGA,KAAK;QACxB6Q,UAAU,CAAClQ,aAAa,CAAE2R,WAAY,CAAC;MACxC,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAAvS,GAAA;IAAAC,KAAA;IAkBA;AACD;AACA;AACA;AACA;AACA;IACC,SAAAiS,mBAAmBA,CAAE3L,OAAO,EAAG;MAC9B,IAAK,WAAW,KAAK,OAAOA,OAAO,CAAClH,OAAO,CAAC2S,cAAc,EAAG;QAC5D,OAAO,EAAE;MACV;MACA,IAAMe,YAAY,GAAGxM,OAAO,CAAClH,OAAO,CAAC2S,cAAc,CAACgB,KAAK,CAAE,GAAI,CAAC;MAChE,IAAMC,KAAK,GAAGF,YAAY,CAACG,GAAG,CAAE,UAAAf,IAAI,EAAI;QACvC,4CAAA1R,MAAA,CAA4C0R,IAAI;MACjD,CAAE,CAAC,CAACgB,IAAI,CAAE,IAAK,CAAC;MAEhB,OAAO5M,OAAO,CAACrD,OAAO,CAAE,sBAAuB,CAAC,CAAC/B,gBAAgB,CAAE8R,KAAM,CAAC;IAC3E;EAAC;IAAAjT,GAAA;IAAAC,KAAA,EAED,SAAAyQ,qCAAqCA,CAAA,EAAG;MAAA,IAAA/B,MAAA;MACvC,IAAI,CAACY,cAAc,CAACnP,OAAO,CAAE,UAAEmG,OAAO,EAAEtE,KAAK,EAAM;QAClD0M,MAAI,CAACsC,eAAe,CAAE1K,OAAO,EAAEtE,KAAM,CAAC;MACvC,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;EAFC;IAAAjC,GAAA;IAAAC,KAAA,EAGA,SAAA0Q,mBAAmBA,CAAA,EAAG;MAAA,IAAAyC,MAAA;MACrB,IAAMzF,cAAc,GAAGpN,QAAQ,CAACY,gBAAgB,CAAE,0CAA2C,CAAC;MAC9F,IAAMkS,aAAa,GAAG9S,QAAQ,CAACC,aAAa,CAAE,qBAAsB,CAAC;MACrE,IAAM8S,eAAe,GAAG/S,QAAQ,CAACC,aAAa,CAAE,yBAA0B,CAAC;;MAE3E;MACA+S,EAAE,CAACC,KAAK,CAACC,SAAS,CAAE,4BAA4B,EAAE,YAAY,EAAE,UAAAtR,KAAK,EAAI;QACxE,IAAMuR,4BAA4B,GAAGvR,KAAK,CAACe,OAAO,CAAE,4BAA6B,CAAC,CAAC1C,aAAa,CAAE,8BAA+B,CAAC;QAClI4S,MAAI,CAACO,gBAAgB,CAAED,4BAA6B,CAAC;MACtD,CAAE,CAAC;;MAEH;MACA,IAAK,IAAI,KAAKL,aAAa,EAAG;QAC7B,IAAI,CAACM,gBAAgB,CAAEN,aAAc,CAAC;MACvC;;MAEA;MACA,IAAK,IAAI,KAAKC,eAAe,EAAG;QAC/B,IAAI,CAACK,gBAAgB,CAAEL,eAAgB,CAAC;MACzC;;MAEA;MACA3F,cAAc,CAACvN,OAAO,CAAE,UAAA+R,IAAI,EAAI;QAC/BA,IAAI,CAACjQ,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK,EAAI;UACxCiR,MAAI,CAACO,gBAAgB,CAAExR,KAAK,CAAC0L,MAAM,CAAC3K,OAAO,CAAE,oBAAqB,CAAE,CAAC;QACtE,CAAE,CAAC;MACJ,CAAE,CAAC;MAEH,IAAI,CAAC0Q,oCAAoC,CAAC,CAAC;IAC5C;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAA5T,GAAA;IAAAC,KAAA,EAKA,SAAA2T,oCAAoCA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACtC,IAAMC,cAAc,GAAGvT,QAAQ,CAACC,aAAa,CAAE,sCAAuC,CAAC;MAEvF,IAAK,IAAI,KAAKsT,cAAc,EAAG;QAC9B;MACD;MAEA,IAAMhG,YAAY,GAAGgG,cAAc,CAAC3S,gBAAgB,CAAE,qBAAsB,CAAC;MAC7E2M,YAAY,CAAC1N,OAAO,CAAE,UAAA2N,KAAK,EAAI;QAC9BA,KAAK,CAAC7L,gBAAgB,CAAE,QAAQ,EAAE,UAAAC,KAAK,EAAI;UAC1C,IAAKA,KAAK,CAAC0L,MAAM,CAACM,OAAO,IAAI,gBAAgB,KAAKhM,KAAK,CAAC0L,MAAM,CAAC5N,KAAK,EAAG;YACtE,IAAM8T,MAAM,GAAGxT,QAAQ,CAACC,aAAa,CAAE,yEAA0E,CAAC;YAClHqT,MAAI,CAAC5C,eAAe,CAAE8C,MAAO,CAAC;UAC/B;QACD,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAA/T,GAAA;IAAAC,KAAA,EAMA,SAAA0T,gBAAgBA,CAAEK,OAAO,EAAG;MAAA,IAAAC,MAAA;MAC3B,IAAMC,OAAO,GAAGF,OAAO,CAAC7S,gBAAgB,CAAE,uBAAwB,CAAC;MACnE+S,OAAO,CAAC9T,OAAO,CAAE,UAAA2T,MAAM,EAAI;QAC1BnN,UAAU,CAAE,YAAM;UACjBqN,MAAI,CAAChD,eAAe,CAAE8C,MAAO,CAAC;QAC/B,CAAC,EAAE,GAAI,CAAC;MACT,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;EANC;IAAA/T,GAAA;IAAAC,KAAA,EAOA,SAAAgR,eAAeA,CAAE8C,MAAM,EAAuB;MAAA,IAArBI,WAAW,GAAAjO,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;MAC1C,IAAK6N,MAAM,CAACnR,SAAS,CAACkB,QAAQ,CAAE,cAAe,CAAC,EAAG;QAClD;MACD;MACA,IAAM7B,KAAK,GAAGkS,WAAW,KAAK,IAAI,GAAGA,WAAW,GAAG,IAAI,CAACC,cAAc,CAAEL,MAAO,CAAC;MAChF,IAAMvB,WAAW,GAAGuB,MAAM,CAACvT,aAAa,CAAE,aAAc,CAAC,CAACiE,WAAW,GAAG,IAAI,CAACiL,iBAAiB;MAC9F,IAAMzP,KAAK,GAAG8E,QAAQ,CAAEgP,MAAM,CAACvT,aAAa,CAAE,sCAAuC,CAAC,CAACP,KAAK,EAAE,EAAG,CAAC;MAClG,IAAM8Q,IAAI,GAAGgD,MAAM,CAACvT,aAAa,CAAE,QAAS,CAAC,CAACP,KAAK;MACnD,IAAMkQ,KAAK,GAAG,IAAI,CAACF,OAAO,CAAEhO,KAAK,CAAE,CAACkO,KAAK;MACzC,IAAIwC,MAAM,GAAG0B,IAAI,CAACC,IAAI,CAAIrU,KAAK,GAAG,IAAI,CAACgQ,OAAO,CAAEhO,KAAK,CAAE,CAACsO,QAAQ,GAAKiC,WAAY,CAAC;MAElF,IAAK,GAAG,KAAKzB,IAAI,EAAG;QACnB4B,MAAM,GAAG0B,IAAI,CAACE,KAAK,CAAE/B,WAAW,GAAGvS,KAAK,GAAG,GAAI,CAAC;MACjD,CAAC,MAAM,IAAKkQ,KAAK,IAAIA,KAAK,CAACrO,MAAM,GAAG,CAAC,EAAG;QACvC6Q,MAAM,GAAGtG,kBAAkB,CAACmI,wBAAwB,CAAEvU,KAAK,EAAEkQ,KAAK,EAAEqC,WAAY,CAAC;MAClF;MAEAuB,MAAM,CAACvT,aAAa,CAAE,0BAA2B,CAAC,CAACiD,KAAK,CAACC,KAAK,MAAAjD,MAAA,CAAOkS,MAAM,OAAK;MAChF,IAAI,CAAC1C,OAAO,CAAEhO,KAAK,CAAE,CAACqO,UAAU,GAAGqC,MAAM;MACzC,IAAI,CAAC1C,OAAO,CAAEhO,KAAK,CAAE,CAAChC,KAAK,GAAGA,KAAK,GAAG8Q,IAAI;IAC3C;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EAPC;IAAA/Q,GAAA;IAAAC,KAAA;IAmBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACC,SAAA6S,qBAAqBA,CAAEiB,MAAM,EAAErQ,KAAK,EAAEzB,KAAK,EAAEhC,KAAK,EAAG;MAAA,IAAAwU,MAAA;MACpD,IAAK,CAAEV,MAAM,CAACnR,SAAS,CAACkB,QAAQ,CAAE,4BAA6B,CAAC,IAAI,CAAEiQ,MAAM,CAACnR,SAAS,CAACkB,QAAQ,CAAE,yBAA0B,CAAC,EAAG;QAC9H;MACD;MACA,IAAM4Q,YAAY,GAAGX,MAAM,CAACnR,SAAS,CAACkB,QAAQ,CAAE,4BAA6B,CAAC,GAAGiQ,MAAM,CAAC5S,gBAAgB,CAAE,+BAAgC,CAAC,GAAG,IAAI,CAAC+Q,mBAAmB,CAAE6B,MAAO,CAAC;MAEhLW,YAAY,CAACtU,OAAO,CAAE,UAAE+R,IAAI,EAAEwC,UAAU,EAAM;QAC7CxC,IAAI,CAAC3R,aAAa,CAAE,0BAA2B,CAAC,CAACiD,KAAK,CAACC,KAAK,MAAAjD,MAAA,CAAOiD,KAAK,OAAK;QAC7E+Q,MAAI,CAACxE,OAAO,CAAEhO,KAAK,GAAG0S,UAAU,GAAG,CAAC,CAAE,CAACrE,UAAU,GAAG5M,KAAK;QACzD+Q,MAAI,CAACxE,OAAO,CAAEhO,KAAK,GAAG0S,UAAU,GAAG,CAAC,CAAE,CAAC1U,KAAK,GAAGA,KAAK;MACrD,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAAD,GAAA;IAAAC,KAAA,EAMA,SAAAmU,cAAcA,CAAEL,MAAM,EAAG;MACxB,OAAO,IAAI,CAAC9D,OAAO,CAACpM,MAAM,CAAE,UAAA+Q,MAAM,EAAI;QACrC,OAAOA,MAAM,CAACrO,OAAO,KAAKwN,MAAM;MACjC,CAAE,CAAC,CAAE,CAAC,CAAE,CAAC9R,KAAK;IACf;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;EANC;IAAAjC,GAAA;IAAAC,KAAA,EAOA,SAAAoO,WAAWA,CAAElM,KAAK,EAAEF,KAAK,EAAG;MAC3B,IAAK,CAAE,IAAI,CAACgO,OAAO,CAAEhO,KAAK,CAAE,CAACmO,QAAQ,EAAG;QACvC;MACD;MACA,IAAIuC,MAAM,GAAGxQ,KAAK,CAACyQ,OAAO,GAAG,IAAI,CAAC3C,OAAO,CAAEhO,KAAK,CAAE,CAACoO,MAAM;MACzD,IAAM9J,OAAO,GAAG,IAAI,CAACgJ,cAAc,CAAEtN,KAAK,CAAE;MAC5C,IAAMuQ,WAAW,GAAGjM,OAAO,CAAC/F,aAAa,CAAE,aAAc,CAAC,CAACiE,WAAW,GAAG,IAAI,CAACiL,iBAAiB;;MAE/F;MACAiD,MAAM,GAAG0B,IAAI,CAACQ,GAAG,CAAElC,MAAM,EAAE,CAAE,CAAC;MAC9BA,MAAM,GAAG0B,IAAI,CAACS,GAAG,CAAEnC,MAAM,EAAEH,WAAY,CAAC;MACxC,IAAMzB,IAAI,GAAGxK,OAAO,CAAC/F,aAAa,CAAE,QAAS,CAAC,CAACP,KAAK;MACpD,IAAMA,KAAK,GAAGoM,kBAAkB,CAACwG,cAAc,CAAEL,WAAW,EAAEG,MAAM,EAAE,IAAI,CAAC3B,WAAW,CAAED,IAAI,EAAE9O,KAAM,CAAC,EAAE,IAAI,CAACgO,OAAO,CAAEhO,KAAK,CAAE,CAACkO,KAAM,CAAC;MAEpI5J,OAAO,CAAC/F,aAAa,CAAE,sCAAuC,CAAC,CAACP,KAAK,GAAGA,KAAK;MAC7EsG,OAAO,CAAC/F,aAAa,CAAE,4CAA6C,CAAC,CAACuU,SAAS,GAAG9U,KAAK;MACvFsG,OAAO,CAAC/F,aAAa,CAAE,0BAA2B,CAAC,CAACiD,KAAK,CAACC,KAAK,MAAAjD,MAAA,CAAOkS,MAAM,OAAK;MACjF,IAAI,CAACG,qBAAqB,CAAEvM,OAAO,EAAEoM,MAAM,EAAE1Q,KAAK,EAAEhC,KAAK,GAAG8Q,IAAK,CAAC;MAElE,IAAI,CAACd,OAAO,CAAEhO,KAAK,CAAE,CAACqO,UAAU,GAAGqC,MAAM;MACzC,IAAI,CAAC1C,OAAO,CAAEhO,KAAK,CAAE,CAAChC,KAAK,GAAGA,KAAK,GAAG8Q,IAAI;MAC1C,IAAI,CAACd,OAAO,CAAEhO,KAAK,CAAE,CAACiP,SAAS,GAAG,IAAI,CAACC,WAAW,CAAE5K,OAAO,EAAE,IAAI,CAAC0J,OAAO,CAAEhO,KAAK,CAAE,CAAChC,KAAM,CAAC;MAC1F,IAAI,CAAC6P,oBAAoB,CAAE7N,KAAM,CAAC;IACnC;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;EANC;IAAAjC,GAAA;IAAAC,KAAA,EAOA,SAAA+Q,WAAWA,CAAED,IAAI,EAAE9O,KAAK,EAAG;MAC1B,OAAO,GAAG,KAAK8O,IAAI,GAAG,GAAG,GAAG,IAAI,CAACd,OAAO,CAAEhO,KAAK,CAAE,CAACsO,QAAQ;IAC3D;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAAvQ,GAAA;IAAAC,KAAA,EAMA,SAAAwR,cAAcA,CAAEtP,KAAK,EAAEF,KAAK,EAAG;MAC9BE,KAAK,CAAC0L,MAAM,CAACjL,SAAS,CAACC,GAAG,CAAE,cAAe,CAAC;MAC5C,IAAI,CAACoN,OAAO,CAAEhO,KAAK,CAAE,CAACmO,QAAQ,GAAG,IAAI;MACrC,IAAI,CAACH,OAAO,CAAEhO,KAAK,CAAE,CAACoO,MAAM,GAAGlO,KAAK,CAACyQ,OAAO,GAAG,IAAI,CAAC3C,OAAO,CAAEhO,KAAK,CAAE,CAACqO,UAAU;IAChF;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAAtQ,GAAA;IAAAC,KAAA,EAKA,SAAA4R,eAAeA,CAAE5P,KAAK,EAAG;MACxB,IAAK,KAAK,KAAK,IAAI,CAACgO,OAAO,CAAEhO,KAAK,CAAE,CAACmO,QAAQ,EAAG;QAC/C;MACD;MACA,IAAMS,eAAe,GAAG,IAAI,CAACtB,cAAc,CAAEtN,KAAK,CAAE,CAACzB,aAAa,CAAE,oBAAqB,CAAC;MAC1FqQ,eAAe,CAACjO,SAAS,CAACe,MAAM,CAAE,cAAe,CAAC;MAClD,IAAI,CAACsM,OAAO,CAAEhO,KAAK,CAAE,CAACmO,QAAQ,GAAG,KAAK;MACtC,IAAI,CAACL,kBAAkB,CAAE9N,KAAM,CAAC;IACjC;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAAjC,GAAA;IAAAC,KAAA,EAKA,SAAA8P,kBAAkBA,CAAE9N,KAAK,EAAG;MAAA,IAAA+S,MAAA;MAC3B,IAAK,IAAI,KAAK,IAAI,CAAC/E,OAAO,CAAEhO,KAAK,CAAE,CAACuO,gBAAgB,EAAG;QACtD,IAAI,CAACP,OAAO,CAAEhO,KAAK,CAAE,CAACuO,gBAAgB,CAAC7P,0BAA0B,CAAE,IAAI,CAACsP,OAAO,CAAEhO,KAAK,CAAE,CAACiP,SAAU,CAAC;QACpG;MACD;MAEA,IAAM5Q,KAAK,GAAG,IAAI,CAACiP,cAAc,CAAEtN,KAAK,CAAE,CAACW,SAAS,CAACkB,QAAQ,CAAE,yBAA0B,CAAC,GAAG,IAAI,CAACyL,cAAc,CAAEtN,KAAK,CAAE,CAACiB,OAAO,CAAE,sBAAuB,CAAC,CAAC1C,aAAa,CAAE,sBAAuB,CAAC,GAAG,IAAI,CAAC+O,cAAc,CAAEtN,KAAK,CAAE,CAACd,gBAAgB,CAAE,wCAAyC,CAAC;MAC/R,IAAKb,KAAK,YAAY2U,QAAQ,EAAG;QAChC3U,KAAK,CAACF,OAAO,CAAE,UAAA+R,IAAI,EAAI;UACtBA,IAAI,CAACvR,aAAa,CAAEoU,MAAI,CAACpF,YAAY,CAAE3N,KAAK,CAAG,CAAC;QACjD,CAAE,CAAC;QACH;MACD;MACA3B,KAAK,CAACM,aAAa,CAAE,IAAI,CAACgP,YAAY,CAAE3N,KAAK,CAAG,CAAC;IAClD;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EARC;IAAAjC,GAAA;IAAAC,KAAA;IA8CA;AACD;AACA;AACA;AACA;AACA;AACA;IACC,SAAAkR,WAAWA,CAAE5K,OAAO,EAAEtG,KAAK,EAAG;MAAA,IAAAiV,OAAA;MAC7B;MACA;MACA,IAAK3O,OAAO,CAAC3D,SAAS,CAACkB,QAAQ,CAAE,oBAAqB,CAAC,EAAG;QACzD,IAAMqR,qBAAqB,GAAG5U,QAAQ,CAACC,aAAa,CAAE,mEAAoE,CAAC;QAC3H,IAAK,IAAI,KAAK2U,qBAAqB,EAAG;UACrCA,qBAAqB,CAAClV,KAAK,GAAG,MAAM;QACrC;MACD;MACA,IAAKsG,OAAO,CAAC3D,SAAS,CAACkB,QAAQ,CAAE,yBAA0B,CAAC,EAAG;QAC9D,IAAMxD,KAAK,GAAGiG,OAAO,CAACrD,OAAO,CAAE,sBAAuB,CAAC,CAAC1C,aAAa,CAAE,sBAAuB,CAAC;QAC/F,IAAM4U,UAAU,GAAG9U,KAAK,CAACL,KAAK,CAAC+S,KAAK,CAAE,GAAI,CAAC;QAC3C,IAAM/M,IAAI,GAAGM,OAAO,CAAClH,OAAO,CAAC4G,IAAI;QAEjC,IAAK,CAAEmP,UAAU,CAAE,CAAC,CAAE,EAAG;UACxBA,UAAU,CAAE,CAAC,CAAE,GAAG,KAAK;QACxB;QAEA,IAAK,CAAEA,UAAU,CAAE,CAAC,CAAE,EAAG;UACxBA,UAAU,CAAE,CAAC,CAAE,GAAG,KAAK;QACxB;QAEA,QAASnP,IAAI;UACZ,KAAK,UAAU;YACdmP,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvBmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvB;UAED,KAAK,YAAY;YAChBmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvBmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvB;UAED,KAAK,KAAK;YACTmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvB;UAED,KAAK,QAAQ;YACZmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvB;UAED,KAAK,MAAM;YACVmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvB;UAED,KAAK,OAAO;YACXmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvB;QACF;QAEA,IAAMoV,QAAQ,GAAGD,UAAU,CAACjC,IAAI,CAAE,GAAI,CAAC;QACvC7S,KAAK,CAACL,KAAK,GAAGoV,QAAQ;QAEtB,IAAMC,iBAAiB,GAAG,IAAI,CAACpD,mBAAmB,CAAE3L,OAAQ,CAAC;QAC7D+O,iBAAiB,CAAClV,OAAO,CAAE,UAAA2T,MAAM,EAAI;UACpC,IAAMwB,WAAW,GAAGL,OAAI,CAACM,uBAAuB,CAAEvV,KAAM,CAAC;UACzD8T,MAAM,CAACvT,aAAa,CAAE,sCAAuC,CAAC,CAACP,KAAK,GAAG8E,QAAQ,CAAE9E,KAAK,EAAE,EAAG,CAAC;UAC5F8T,MAAM,CAACvT,aAAa,CAAE,QAAS,CAAC,CAACP,KAAK,GAAGsV,WAAW;QACrD,CAAE,CAAC;QAEH,OAAOF,QAAQ;MAChB;MAEA,IAAK9O,OAAO,CAAC3D,SAAS,CAACkB,QAAQ,CAAE,4BAA6B,CAAC,EAAG;QACjE,IAAM2R,WAAW,GAAGlP,OAAO,CAACpF,gBAAgB,CAAE,wCAAyC,CAAC;QACxF,IAAMuU,aAAa,GAAGnP,OAAO,CAACpF,gBAAgB,CAAE,sCAAuC,CAAC;QACxFsU,WAAW,CAACrV,OAAO,CAAE,UAAEE,KAAK,EAAE2B,KAAK,EAAM;UACxC3B,KAAK,CAACL,KAAK,GAAGA,KAAK;UACnByV,aAAa,CAAEzT,KAAK,GAAG,CAAC,CAAE,CAAChC,KAAK,GAAG8E,QAAQ,CAAE9E,KAAK,EAAE,EAAG,CAAC;QACzD,CAAE,CAAC;QAEH,OAAOA,KAAK;MACb;MAEAsG,OAAO,CAAC/F,aAAa,CAAE,wCAAyC,CAAC,CAACP,KAAK,GAAGA,KAAK;MAC/E,OAAOA,KAAK;IACb;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAAD,GAAA;IAAAC,KAAA,EAMA,SAAAuV,uBAAuBA,CAAEvV,KAAK,EAAG;MAChC,OAAO,CAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAE,CAAC0V,IAAI,CAAE,UAAA5E,IAAI;QAAA,OAAI9Q,KAAK,CAACuK,QAAQ,CAAEuG,IAAK,CAAC;MAAA,CAAC,CAAC,IAAI,EAAE;IACxE;EAAC;IAAA/Q,GAAA;IAAAC,KAAA,EApaD,SAAOsR,wBAAwBA,CAAEhL,OAAO,EAAG;MAC1C,IAAMqP,MAAM,GAAGrP,OAAO,CAAC/F,aAAa,CAAE,QAAS,CAAC;MAChD,IAAK,CAAEoV,MAAM,EAAG;QACf;MACD;MAEA,IAAM3F,OAAO,GAAGrE,KAAK,CAACC,IAAI,CAAE+J,MAAM,CAAC3F,OAAQ,CAAC,CAACpM,MAAM,CAAE,UAAA+Q,MAAM;QAAA,OAAI,EAAE,KAAKA,MAAM,CAAC3U,KAAK;MAAA,CAAC,CAAC;MACpF,IAAK,CAAC,IAAIgQ,OAAO,CAACnO,MAAM,EAAG;QAC1B8T,MAAM,CAAChT,SAAS,CAACC,GAAG,CAAE,iBAAkB,CAAC;QACzC+S,MAAM,CAAC1T,gBAAgB,CAAE,WAAW,EAAE,UAAAC,KAAK;UAAA,OAAIA,KAAK,CAACO,cAAc,CAAC,CAAC;QAAA,CAAC,CAAC;MACxE;IACD;EAAC;IAAA1C,GAAA;IAAAC,KAAA,EAuID,SAAOuU,wBAAwBA,CAAEvU,KAAK,EAAEkQ,KAAK,EAAEqC,WAAW,EAAG;MAC5D,IAAMqD,SAAS,GAAG1F,KAAK,CAAC2F,OAAO,CAAE7V,KAAM,CAAC;MACxC,IAAK,CAAC,CAAC,KAAK4V,SAAS,EAAG;QACvB;QACA,IAAME,YAAY,GAAG1J,kBAAkB,CAAC2J,UAAU,CAAE/V,KAAK,EAAEkQ,KAAM,CAAC;QAClE,IAAM8F,YAAY,GAAG9F,KAAK,CAAC2F,OAAO,CAAEC,YAAa,CAAC;QAClD,OAAO1B,IAAI,CAACE,KAAK,CAAI0B,YAAY,IAAK9F,KAAK,CAACrO,MAAM,GAAG,CAAC,CAAE,GAAK0Q,WAAY,CAAC;MAC3E;MACA,OAAO6B,IAAI,CAACE,KAAK,CAAIsB,SAAS,IAAK1F,KAAK,CAACrO,MAAM,GAAG,CAAC,CAAE,GAAK0Q,WAAY,CAAC;IACxE;EAAC;IAAAxS,GAAA;IAAAC,KAAA,EAuID,SAAO4S,cAAcA,CAAEnP,KAAK,EAAEiP,MAAM,EAAEpC,QAAQ,EAAiB;MAAA,IAAfJ,KAAK,GAAAjK,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;MAC3D,IAAKiK,KAAK,IAAIA,KAAK,CAACrO,MAAM,GAAG,CAAC,EAAG;QAChC;QACA,IAAMyC,QAAQ,GAAGoO,MAAM,GAAGjP,KAAK;QAC/B,IAAMmS,SAAS,GAAGxB,IAAI,CAACE,KAAK,CAAEhQ,QAAQ,IAAK4L,KAAK,CAACrO,MAAM,GAAG,CAAC,CAAG,CAAC;QAC/D,IAAMoU,YAAY,GAAG7B,IAAI,CAACQ,GAAG,CAAE,CAAC,EAAER,IAAI,CAACS,GAAG,CAAEe,SAAS,EAAE1F,KAAK,CAACrO,MAAM,GAAG,CAAE,CAAE,CAAC;QAC3E,OAAOqO,KAAK,CAAE+F,YAAY,CAAE;MAC7B;;MAEA;MACA,IAAMjW,KAAK,GAAGoU,IAAI,CAACE,KAAK,CAAI5B,MAAM,GAAGjP,KAAK,GAAK6M,QAAS,CAAC;MAEzD,OAAO8D,IAAI,CAACS,GAAG,CAAE7U,KAAK,EAAEsQ,QAAS,CAAC;IACnC;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;EANC;IAAAvQ,GAAA;IAAAC,KAAA,EAOA,SAAO+V,UAAUA,CAAE/V,KAAK,EAAEkQ,KAAK,EAAG;MACjC,IAAIgG,OAAO,GAAGhG,KAAK,CAAE,CAAC,CAAE;MACxB,IAAIiG,OAAO,GAAG/B,IAAI,CAACgC,GAAG,CAAEpW,KAAK,GAAGkW,OAAQ,CAAC;MAEzC,KAAM,IAAIlH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkB,KAAK,CAACrO,MAAM,EAAEmN,CAAC,EAAE,EAAG;QACxC,IAAMqH,IAAI,GAAGjC,IAAI,CAACgC,GAAG,CAAEpW,KAAK,GAAGkQ,KAAK,CAAElB,CAAC,CAAG,CAAC;QAC3C,IAAKqH,IAAI,GAAGF,OAAO,EAAG;UACrBA,OAAO,GAAGE,IAAI;UACdH,OAAO,GAAGhG,KAAK,CAAElB,CAAC,CAAE;QACrB;MACD;MAEA,OAAOkH,OAAO;IACf;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;AC/gBuE;AACzE;AACA;AACA;AACA;AACA;AAJA,IAKqB7J,gBAAgB;EACpC,SAAAA,iBAAA,EAAc;IAAArN,eAAA,OAAAqN,gBAAA;IACb,IAAI,CAACtG,QAAQ,GAAGzF,QAAQ,CAACY,gBAAgB,CAAE,yBAA0B,CAAC;IACtE,IAAK,CAAC,GAAG,IAAI,CAAC6E,QAAQ,CAAClE,MAAM,EAAG;MAC/B,IAAI,CAACF,IAAI,CAAC,CAAC;IACZ;EACD;;EAEA;AACD;AACA;EAFC,OAAA7B,YAAA,CAAAuM,gBAAA;IAAAtM,GAAA;IAAAC,KAAA,EAGA,SAAA2B,IAAIA,CAAA,EAAG;MACN,IAAI,CAACoE,QAAQ,CAAC5F,OAAO,CAAE,UAAAmG,OAAO,EAAI;QACjC,IAAIzF,8EAAgB,CAAEyF,OAAQ,CAAC;MAChC,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAAvG,GAAA;IAAAC,KAAA,EAKA,SAAAsW,cAAcA,CAAExV,OAAO,EAAG;MAAA,IAAAc,KAAA;MACzB,IAAI,CAAC2U,yBAAyB,CAAEzV,OAAQ,CAAC;MACzCA,OAAO,CAACI,gBAAgB,CAAE,eAAgB,CAAC,CAACf,OAAO,CAAE,UAAAqW,GAAG,EAAI;QAC3DA,GAAG,CAACvU,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK,EAAI;UACvCN,KAAI,CAAC6U,UAAU,CAAEvU,KAAK,CAAC0L,MAAM,CAAC3K,OAAO,CAAE,mBAAoB,CAAE,CAAC;QAC/D,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEnCF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACwC;AAC6C;;AAErF;AACA;AACA;AACA;AACA;AACA,IAAMyT,WAAW,GAAG;EACnBC,YAAY,EAAE,kBAAkB;EAChCC,YAAY,EAAE;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,IAAMC,eAAe,GAAG;EACvBC,UAAU,EAAE,iBAAiB;EAC7BC,IAAI,EAAE,WAAW;EACjBC,OAAO,EAAE,cAAc;EACvBC,MAAM,EAAE;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,SAASC,yBAAyBA,CAAA,EAAG;EACpCC,iBAAiB,CAAC,CAAC;EACnBC,iBAAiB,CAAC,CAAC;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASD,iBAAiBA,CAAA,EAAG;EAC5B,IAAME,YAAY,GAAG/W,QAAQ,CAACY,gBAAgB,KAAAV,MAAA,CAAOkW,WAAW,CAACC,YAAY,CAAI,CAAC;EAElF,IAAK,CAAEU,YAAY,CAACxV,MAAM,EAAG;IAC5B;EACD;EAEAwV,YAAY,CAAClX,OAAO,CAAE,UAAAmX,WAAW,EAAI;IACpC,IAAMC,YAAY,GAAGD,WAAW,CAAC/W,aAAa,KAAAC,MAAA,CAAOqW,eAAe,CAACC,UAAU,cAAa,CAAC;IAC7F,IAAK,CAAES,YAAY,EAAG;MACrB;IACD;IAEAC,gBAAgB,CAAED,YAAY,EAAED,WAAY,CAAC;EAC9C,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASF,iBAAiBA,CAAA,EAAG;EAC5BpO,sDAAU,CAAE,QAAQ,MAAAxI,MAAA,CAAOkW,WAAW,CAACC,YAAY,QAAAnW,MAAA,CAAOqW,eAAe,CAACC,UAAU,QAAMW,iBAAkB,CAAC;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,iBAAiBA,CAAEvV,KAAK,EAAG;EACnC,IAAMqV,YAAY,GAAGrV,KAAK,CAAC0L,MAAM;EACjC,IAAM0J,WAAW,GAAGC,YAAY,CAACtU,OAAO,KAAAzC,MAAA,CAAOkW,WAAW,CAACC,YAAY,CAAI,CAAC;EAE5E,IAAK,CAAEW,WAAW,EAAG;IACpB;EACD;EAEAE,gBAAgB,CAAED,YAAY,EAAED,WAAY,CAAC;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,gBAAgBA,CAAED,YAAY,EAAED,WAAW,EAAG;EAAA,IAAAI,oBAAA;EACtD,IAAMtK,OAAO,GAAG,EAAAsK,oBAAA,GAAAJ,WAAW,CAACrU,OAAO,KAAAzC,MAAA,CAAOmF,iEAAqB,CAAI,CAAC,cAAA+R,oBAAA,uBAApDA,oBAAA,CAAsDtY,OAAO,CAACwN,GAAG,KAChF0K,WAAW,CAAClY,OAAO,CAACwN,GAAG;EAExB,IAAM+K,SAAS,GAAGJ,YAAY,CAACrJ,OAAO;;EAEtC;EACA,IAAM0J,aAAa,GAAGL,YAAY,CAAC/I,YAAY,CAAEqI,eAAe,CAACE,IAAK,CAAC;EACvE,IAAKa,aAAa,EAAG;IACpBtX,QAAQ,CAACY,gBAAgB,CAAE2W,iBAAiB,CAAED,aAAa,EAAExK,OAAQ,CAAE,CAAC,CACtEjN,OAAO,CAAE,UAAAmG,OAAO;MAAA,OAAIA,OAAO,CAAC3D,SAAS,CAACwP,MAAM,CAAE7M,wDAAY,EAAE,CAAEqS,SAAU,CAAC;IAAA,CAAC,CAAC;EAC9E;;EAEA;EACA,IAAMG,gBAAgB,GAAGP,YAAY,CAAC/I,YAAY,CAAEqI,eAAe,CAACG,OAAQ,CAAC;EAC7E,IAAKc,gBAAgB,EAAG;IACvBxX,QAAQ,CAACY,gBAAgB,CAAE2W,iBAAiB,CAAEC,gBAAgB,EAAE1K,OAAQ,CAAE,CAAC,CACzEjN,OAAO,CAAE,UAAAmG,OAAO,EAAI;MACpBA,OAAO,CAAC3D,SAAS,CAACwP,MAAM,CAAE5M,0DAAc,EAAEoS,SAAU,CAAC;MACrDrR,OAAO,CAACpF,gBAAgB,CAAE,yBAA0B,CAAC,CAACf,OAAO,CAC5D,UAAA4X,WAAW;QAAA,OAAIA,WAAW,CAACC,QAAQ,GAAGL,SAAS;MAAA,CAChD,CAAC;MACDrR,OAAO,CAACpF,gBAAgB,CAAE,kCAAmC,CAAC,CAACf,OAAO,CACrE,UAAA8X,WAAW;QAAA,OAAIA,WAAW,CAACC,QAAQ,GAAGP,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;MAAA,CACzD,CAAC;IACF,CAAE,CAAC;EACL;;EAEA;EACA,IAAMQ,eAAe,GAAGZ,YAAY,CAAC/I,YAAY,CAAEqI,eAAe,CAACI,MAAO,CAAC;EAC3E,IAAKkB,eAAe,EAAG;IACtB7X,QAAQ,CAACY,gBAAgB,CAAE2W,iBAAiB,CAAEM,eAAe,EAAE/K,OAAQ,CAAE,CAAC,CACxEjN,OAAO,CAAE,UAAAmG,OAAO;MAAA,OAAIA,OAAO,CAAC3D,SAAS,CAACwP,MAAM,CAAE5M,0DAAc,EAAE,CAAEoS,SAAU,CAAC;IAAA,CAAC,CAAC;EAChF;;EAEA;EACA,IAAMS,kBAAkB,GAAGb,YAAY,CAACtU,OAAO,KAAAzC,MAAA,CAAOkW,WAAW,CAACE,YAAY,CAAI,CAAC;EACnFjL,KAAK,CAACC,IAAI,CAAE0L,WAAW,CAACpW,gBAAgB,KAAAV,MAAA,CAAOkW,WAAW,CAACE,YAAY,CAAI,CAAE,CAAC,CAC5EhT,MAAM,CAAE,UAAAyU,WAAW;IAAA,OAAIA,WAAW,KAAKD,kBAAkB;EAAA,CAAC,CAAC,CAC3DjY,OAAO,CAAE,UAAAkY,WAAW,EAAI;IACxBA,WAAW,CAAC1V,SAAS,CAACwP,MAAM,CAAE5M,0DAAc,EAAEoS,SAAU,CAAC;;IAEzD;IACA,IAAMxF,MAAM,GAAGkG,WAAW,CAAC9X,aAAa,CAAE,aAAc,CAAC;IACzD4R,MAAM,CAAC+F,QAAQ,GAAGP,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;IACpCxF,MAAM,CAAClK,YAAY,CAAE,eAAe,EAAE0P,SAAU,CAAC;EAClD,CAAE,CAAC;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,iBAAiBA,CAAES,QAAQ,EAAElL,OAAO,EAAG;EAC/C,OAAOkL,QAAQ,CAACC,OAAO,CAAE,OAAO,EAAEnL,OAAQ,CAAC;AAC5C;;;;;;;;;;;;;;;;;;ACnKA;AACA;AACA;AACA;AACA;;AAEO,IAAMsJ,WAAW,GAAG;EAC1B8B,SAAS,EAAE,qBAAqB;EAChCC,cAAc,EAAE,YAAY;EAC5BC,KAAK,EAAE,WAAW;EAClBC,WAAW,EAAE,iBAAiB;EAC9BC,YAAY,EAAE,kBAAkB;EAChCC,iBAAiB,EAAE,uBAAuB;EAC1CC,iBAAiB,EAAE,uBAAuB;EAC1CC,eAAe,EAAE;AAClB,CAAC;AAEM,IAAMC,IAAI,GAAG;EACnBC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,GAAG;EACVC,GAAG,EAAE,KAAK;EACVC,SAAS,EAAE;AACZ,CAAC;AAEM,IAAMC,kBAAkB,GAAG,EAAE;AAC7B,IAAMC,SAAS,GAAG,CAAC,C;;;;;;;;;;;;;;;;;AC1B1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACgD;AACkC;AACtB;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASnC,iBAAiBA,CAAErK,KAAK,EAAE6M,UAAU,EAAEC,aAAa,EAAG;EACrE;EACAC,MAAM,CAAE/M,KAAM,CAAC,CAACgN,EAAE,CAAE,QAAQ,EAAE;IAAA,OAAML,wEAAwB,CAAE3M,KAAK,CAAC/M,KAAK,EAAE4Z,UAAU,EAAEC,aAAc,CAAC;EAAA,CAAC,CAAC;EAExGD,UAAU,CAAC3X,gBAAgB,CAAE,SAAS,EAAE,UAAAC,KAAK;IAAA,OAAI8X,mBAAmB,CAAE9X,KAAK,EAAE6K,KAAK,EAAE6M,UAAU,EAAEC,aAAc,CAAC;EAAA,CAAC,CAAC;EACjHD,UAAU,CAAC3X,gBAAgB,CAAE,MAAM,EAAE;IAAA,OAAMuX,wDAAQ,CAAEI,UAAU,CAAC5Z,KAAK,CAACia,IAAI,CAAC,CAAC,EAAElN,KAAK,EAAE6M,UAAW,CAAC;EAAA,CAAC,CAAC;EAEnGC,aAAa,CAAC5X,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK;IAAA,OAAIgY,kBAAkB,CAAEhY,KAAK,EAAE6K,KAAK,EAAE6M,UAAW,CAAC;EAAA,CAAC,CAAC;AACnG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,mBAAmBA,CAAE9X,KAAK,EAAE6K,KAAK,EAAE6M,UAAU,EAAEC,aAAa,EAAG;EACvE,IAAQ9Z,GAAG,GAAKmC,KAAK,CAAbnC,GAAG;EACX,IAAMC,KAAK,GAAG4Z,UAAU,CAAC5Z,KAAK,CAACia,IAAI,CAAC,CAAC;EAErC,QAASla,GAAG;IACX;IACA,KAAKiZ,4CAAI,CAACK,SAAS;MAClB,IAAK,CAAErZ,KAAK,EAAG;QACdkC,KAAK,CAACO,cAAc,CAAC,CAAC;QACtB,IAAM0X,SAAS,GAAGN,aAAa,CAACtZ,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAACgC,KAAK,gBAAe,CAAC;QACrFe,2DAAW,CAAEU,SAAS,EAAEpN,KAAK,EAAE6M,UAAW,CAAC;MAC5C;MACA;;IAED;IACA,KAAKZ,4CAAI,CAACC,KAAK;IACf,KAAKD,4CAAI,CAACG,KAAK;IACf,KAAKH,4CAAI,CAACE,KAAK;MACdhX,KAAK,CAACO,cAAc,CAAC,CAAC;MACtB+W,wDAAQ,CAAExZ,KAAK,EAAE+M,KAAK,EAAE6M,UAAW,CAAC;MACpC;EACF;EAEAD,yEAAqB,CAAEC,UAAU,EAAEC,aAAc,CAAC;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,kBAAkBA,CAAEhY,KAAK,EAAE6K,KAAK,EAAE6M,UAAU,EAAG;EACvD,IAAMQ,YAAY,GAAGlY,KAAK,CAAC0L,MAAM,CAAC3K,OAAO,KAAAzC,MAAA,CAAOkW,mDAAW,CAACkC,YAAY,CAAI,CAAC;EAC7E,IAAK,CAAEwB,YAAY,EAAG;IACrB;EACD;EAEA,IAAMC,KAAK,GAAGD,YAAY,CAACnX,OAAO,KAAAzC,MAAA,CAAOkW,mDAAW,CAACgC,KAAK,CAAI,CAAC;EAC/D,IAAK,CAAE2B,KAAK,EAAG;IACd;EACD;EAEA,IAAMR,aAAa,GAAGQ,KAAK,CAAC9V,aAAa;EAEzCkV,2DAAW,CAAEY,KAAK,EAAEtN,KAAK,EAAE6M,UAAW,CAAC;EACvCD,yEAAqB,CAAEC,UAAU,EAAEC,aAAc,CAAC;AACnD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE7FA;AACA;AACA;AACA;AACA;;AAEyE;;AAEzE;AACA;AACA;AACA;AACA;AACO,SAASS,yBAAyBA,CAAA,EAAG;EAC3Cha,QAAQ,CAACY,gBAAgB,KAAAV,MAAA,CAAOkW,mDAAW,CAAC8B,SAAS,CAAI,CAAC,CAACrY,OAAO,CAAE,UAAAoa,SAAS;IAAA,OAC5EZ,qBAAqB,CACpBY,SAAS,CAACha,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAACoC,iBAAiB,CAAI,CAAC,EAChEyB,SAAS,CAACha,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAAC+B,cAAc,CAAI,CAC7D,CAAC;EAAA,CACF,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASkB,qBAAqBA,CAAEC,UAAU,EAAEC,aAAa,EAAG;EAClE,IAAK,CAAED,UAAU,IAAI,CAAEC,aAAa,EAAG;IACtC;EACD;EAEA,IAAMW,MAAM,GAAGX,aAAa,CAAC3Y,gBAAgB,KAAAV,MAAA,CAAOkW,mDAAW,CAACgC,KAAK,CAAI,CAAC;EAC1E,IAAM+B,SAAS,GAAGD,MAAM,CAAC3Y,MAAM,GAAG,CAAC;;EAEnC;EACA,IAAK,CAAE4Y,SAAS,EAAG;IAClBb,UAAU,CAACpW,KAAK,CAACkX,WAAW,GAAG,EAAE;IACjCd,UAAU,CAACpW,KAAK,CAACmX,UAAU,GAAG,EAAE;IAChCf,UAAU,CAACpW,KAAK,CAACoX,MAAM,GAAG,EAAE;IAC5B;EACD;EAEA,IAAMC,mBAAmB,GAAGhB,aAAa,CAACiB,YAAY;;EAEtD;EACA,IAAMC,OAAO,GAAG3G,IAAI,CAACQ,GAAG,CAAE,CAAC,EAAER,IAAI,CAACC,IAAI,CAAEwG,mBAAmB,GAAGvB,0DAAmB,CAAE,CAAC;EAEpF,IAAKyB,OAAO,GAAG,CAAC,EAAG;IAClB;IACA,IAAMC,YAAY,GAAGC,qBAAqB,CAAEC,gBAAgB,CAAEV,MAAO,CAAE,CAAC;IAExEZ,UAAU,CAACpW,KAAK,CAACoX,MAAM,MAAApa,MAAA,CAAOqa,mBAAmB,OAAK;IACtDjB,UAAU,CAACpW,KAAK,CAACmX,UAAU,MAAAna,MAAA,CAAOqa,mBAAmB,GAAGvB,0DAAkB,GAAGC,iDAAS,OAAK;IAC3FK,UAAU,CAACpW,KAAK,CAACkX,WAAW,GAAGM,YAAY,MAAAxa,MAAA,CAAOwa,YAAY,GAAKzB,iDAAS,GAAG,CAAG,UAAQ,EAAE;EAC7F,CAAC,MAAM;IACN;IACAK,UAAU,CAACpW,KAAK,CAACoX,MAAM,GAAG,EAAE;IAC5BhB,UAAU,CAACpW,KAAK,CAACmX,UAAU,GAAG,EAAE;IAChCf,UAAU,CAACpW,KAAK,CAACkX,WAAW,MAAAla,MAAA,CAAOqZ,aAAa,CAACrV,WAAW,GAAG+U,iDAAS,OAAK;EAC9E;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS2B,gBAAgBA,CAAEV,MAAM,EAAG;EACnC,IAAK,CAAEA,MAAM,CAAC3Y,MAAM,EAAG;IACtB,OAAO,EAAE;EACV;EAEA,IAAMsZ,WAAW,GAAGxP,KAAK,CAACC,IAAI,CAAE4O,MAAO,CAAC;EACxC,IAAIY,QAAQ,GAAG,CAAC,CAAC;EAEjBD,WAAW,CAAChb,OAAO,CAAE,UAAAka,KAAK,EAAI;IAC7B,IAAMgB,SAAS,GAAGhB,KAAK,CAAC5H,qBAAqB,CAAC,CAAC;IAC/C,IAAM6I,WAAW,GAAGD,SAAS,CAACE,MAAM;IAEpC,IAAKD,WAAW,GAAGF,QAAQ,EAAG;MAC7BA,QAAQ,GAAGE,WAAW;IACvB;EACD,CAAE,CAAC;EAEH,IAAME,SAAS,GAAGjC,iDAAS,GAAG,CAAC;EAC/B,OAAO4B,WAAW,CAACvX,MAAM,CAAE,UAAAyW,KAAK,EAAI;IACnC,IAAMgB,SAAS,GAAGhB,KAAK,CAAC5H,qBAAqB,CAAC,CAAC;IAC/C,OAAO2B,IAAI,CAACgC,GAAG,CAAEiF,SAAS,CAACE,MAAM,GAAGH,QAAS,CAAC,IAAII,SAAS;EAC5D,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASP,qBAAqBA,CAAEQ,aAAa,EAAG;EAC/C,IAAK,CAAEA,aAAa,CAAC5Z,MAAM,EAAG;IAC7B,OAAO,CAAC;EACT;EAEA,IAAI6Z,UAAU,GAAG,CAAC;EAElBD,aAAa,CAACtb,OAAO,CAAE,UAAAka,KAAK,EAAI;IAC/BqB,UAAU,IAAIrB,KAAK,CAAC7V,WAAW;EAChC,CAAE,CAAC;EAEHkX,UAAU,IAAI,CAAED,aAAa,CAAC5Z,MAAM,GAAG,CAAC,IAAK0X,iDAAS;EAEtD,OAAOmC,UAAU,GAAGnC,iDAAS;AAC9B,C;;;;;;;;;;;;;;;;;;;;;;ACnHA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAC0C;AACkB;AACN;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,wBAAwBA,CAAE1Z,KAAK,EAAE4Z,UAAU,EAAEC,aAAa,EAAG;EAC5E,IAAK,CAAE7Z,KAAK,IAAI,CAAE6Z,aAAa,IAAI,CAAED,UAAU,EAAG;IACjD;EACD;;EAEA;EACAC,aAAa,CAAC+B,SAAS,GAAG,EAAE;EAC5BC,WAAW,CAAE7b,KAAM,CAAC,CAACG,OAAO,CAAE,UAAAka,KAAK;IAAA,OAAIsB,mEAAkB,CAAEtB,KAAK,EAAER,aAAc,CAAC;EAAA,CAAC,CAAC;EAEnFF,yEAAqB,CAAEC,UAAU,EAAEC,aAAc,CAAC;EAElDD,UAAU,CAACkC,KAAK,CAAC,CAAC;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAStC,QAAQA,CAAEuC,UAAU,EAAEhP,KAAK,EAAE6M,UAAU,EAAG;EACzD,IAAK,CAAEmC,UAAU,IAAI,CAAEhP,KAAK,IAAI,CAAE6M,UAAU,EAAG;IAC9C,OAAO,KAAK;EACb;;EAEA;EACA,IAAMY,MAAM,GAAGqB,WAAW,CAAE9O,KAAK,CAAC/M,KAAM,CAAC;;EAEzC;EACA,IAAKwa,MAAM,CAACjQ,QAAQ,CAAEwR,UAAW,CAAC,EAAG;IACpCC,eAAe,CAAEpC,UAAW,CAAC;IAC7B,OAAO,KAAK;EACb;;EAEA;EACAY,MAAM,CAAC/Z,IAAI,CAAEsb,UAAW,CAAC;EACzBE,gBAAgB,CAAElP,KAAK,EAAEyN,MAAO,CAAC;EACjCwB,eAAe,CAAEpC,UAAW,CAAC;EAC7B,OAAO,IAAI;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASH,WAAWA,CAAEY,KAAK,EAAEtN,KAAK,EAAE6M,UAAU,EAAG;EACvD,IAAK,CAAES,KAAK,IAAI,CAAEtN,KAAK,IAAI,CAAE6M,UAAU,EAAG;IACzC;EACD;EAEA,IAAM5Z,KAAK,GAAGqa,KAAK,CAAC9Z,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAACiC,WAAW,CAAI,CAAC,CAAC3Q,WAAW;;EAEhF;EACA,IAAMwS,MAAM,GAAGqB,WAAW,CAAE9O,KAAK,CAAC/M,KAAM,CAAC,CAAC4D,MAAM,CAAE,UAAAmY,UAAU;IAAA,OAAIA,UAAU,KAAK/b,KAAK;EAAA,CAAC,CAAC;EACtFic,gBAAgB,CAAElP,KAAK,EAAEyN,MAAO,CAAC;;EAEjC;EACAH,KAAK,CAAC3W,MAAM,CAAC,CAAC;EAEdkW,UAAU,CAACkC,KAAK,CAAC,CAAC;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASD,WAAWA,CAAA,EAAe;EAAA,IAAb7b,KAAK,GAAAiG,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,EAAE;EACtCjG,KAAK,GAAGA,KAAK,CAACia,IAAI,CAAC,CAAC;EAEpB,IAAK,CAAEja,KAAK,EAAG;IACd,OAAO,EAAE;EACV;EAEA,OAAOA,KAAK,CAAC+S,KAAK,CAAE,KAAM,CAAC,CAACnP,MAAM,CAAEsY,OAAQ,CAAC;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASD,gBAAgBA,CAAElP,KAAK,EAAgB;EAAA,IAAdyN,MAAM,GAAAvU,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,EAAE;EACnD,IAAK,CAAE8G,KAAK,EAAG;IACd;EACD;EAEAA,KAAK,CAAC/M,KAAK,GAAGwa,MAAM,CAACtH,IAAI,CAAE,GAAI,CAAC;EAChC4G,MAAM,CAAE/M,KAAM,CAAC,CAACoP,OAAO,CAAE,QAAS,CAAC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASH,eAAeA,CAAEpC,UAAU,EAAG;EAC7C,IAAK,CAAEA,UAAU,EAAG;IACnB;EACD;EAEAA,UAAU,CAAC5Z,KAAK,GAAG,EAAE;EACrB4Z,UAAU,CAACkC,KAAK,CAAC,CAAC;AACnB,C;;;;;;;;;;;;;;;;;ACtIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAC8C;AACJ;AAE1C,IAAAM,cAAA,GAA2B/Z,MAAM,CAAC8F,MAAM;EAAhCJ,IAAI,GAAAqU,cAAA,CAAJrU,IAAI;EAAES,GAAG,GAAA4T,cAAA,CAAH5T,GAAG;EAAEH,GAAG,GAAA+T,cAAA,CAAH/T,GAAG;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACO,SAASgU,2BAA2BA,CAAEtP,KAAK,EAAG;EACpD;EACA,IAAMwN,SAAS,GAAGxN,KAAK,CAAC9J,OAAO,KAAAzC,MAAA,CAAOkW,mDAAW,CAACqC,eAAe,CAAI,CAAC;EAEtE,IAAKwB,SAAS,CAACha,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAAC+B,cAAc,CAAI,CAAC,EAAG;IACpE,OAAO,IAAI;EACZ;EAEA8B,SAAS,CAAC5X,SAAS,CAACC,GAAG,CAAE8T,mDAAW,CAAC8B,SAAU,CAAC;EAEhD,IAAMqB,aAAa,GAAG9R,IAAI,CAAE;IAC3BuU,SAAS,EAAE5F,mDAAW,CAAC+B;EACxB,CAAE,CAAC;EAEH8B,SAAS,CAACgC,YAAY,CAAE1C,aAAa,EAAEU,SAAS,CAACiC,UAAW,CAAC;EAE7D,IAAM5C,UAAU,GAAGvR,GAAG,CAAE,OAAO,EAAE;IAChCiU,SAAS,EAAE5F,mDAAW,CAACoC,iBAAiB;IACxC9V,EAAE,KAAAxC,MAAA,CAAMuM,KAAK,CAAC/J,EAAE;EACjB,CAAE,CAAC;EAEH4W,UAAU,CAAC5T,IAAI,GAAG,MAAM;;EAExB;EACA+G,KAAK,CAAC0P,UAAU,CAACF,YAAY,CAAE3C,UAAU,EAAE7M,KAAK,CAAC2P,WAAY,CAAC;EAC9D3P,KAAK,CAACpK,SAAS,CAACC,GAAG,CAAE0C,wDAAa,CAAC;EAEnC,OAAOiV,SAAS;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASoB,kBAAkBA,CAAE3b,KAAK,EAAE6Z,aAAa,EAAG;EAC1D,IAAM8C,YAAY,GAAG5U,IAAI,CAAE;IAC1BuU,SAAS,EAAE5F,mDAAW,CAACgC,KAAK;IAC5BkE,QAAQ,EAAE,CACT7U,IAAI,CAAE;MACL8U,IAAI,EAAE7c,KAAK;MACXsc,SAAS,EAAE5F,mDAAW,CAACiC;IACxB,CAAE,CAAC,EACH5Q,IAAI,CAAE;MACLuU,SAAS,EAAE5F,mDAAW,CAACkC,YAAY;MACnCkE,KAAK,EAAEtU,GAAG,CAAE;QAAEiB,IAAI,EAAE;MAAkB,CAAE;IACzC,CAAE,CAAC;EAEL,CAAE,CAAC;EAEHoQ,aAAa,CAACkD,MAAM,CAAEJ,YAAa,CAAC;AACrC,C;;;;;;;;;;;;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACuC;AACG;AACqB;AACJ;AACK;AACX;;AAErD;AACA;AACA;AACA;AACA;AACA,SAASK,oBAAoBA,CAAA,EAAG;EAC/BC,4BAA4B,CAAC,CAAC;;EAE9B;AACD;AACA;AACA;AACA;AACA;EACC3c,QAAQ,CAAC2B,gBAAgB,CAAE,iBAAiB,EAAE,UAAAwK,IAAA;IAAA,IAAIC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAA,OACzDuQ,4BAA4B,CAAEvQ,QAAQ,CAACtN,OAAO,CAACwN,GAAI,CAAC;EAAA,CACrD,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;EACCtM,QAAQ,CAAC2B,gBAAgB,CAAE,uBAAuB,EAAE,UAAA4K,KAAA;IAAA,IAAIC,SAAS,GAAAD,KAAA,CAATC,SAAS;IAAA,OAChEA,SAAS,CAAC3M,OAAO,CAAE,UAAA4M,KAAK;MAAA,OAAIkQ,4BAA4B,CAAElQ,KAAK,CAAC/J,EAAG,CAAC;IAAA,CAAC,CAAC;EAAA,CACvE,CAAC;;EAED;EACAsQ,EAAE,CAACC,KAAK,CAACC,SAAS,CAAE5N,iDAAK,CAACC,mBAAmB,EAAE,wBAAwB,EAAEyU,yEAA0B,CAAC;AACrG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS2C,4BAA4BA,CAAE7P,OAAO,EAAG;EAChD,IAAMmN,SAAS,GAAGnN,OAAO,GAAG9M,QAAQ,CAACgN,cAAc,wBAAA9M,MAAA,CAA0B4M,OAAO,CAAI,CAAC,GAAG9M,QAAQ,CAACmB,IAAI;EACzG,IAAMyb,gBAAgB,GAAG3C,SAAS,CAACrZ,gBAAgB,KAAAV,MAAA,CAAOkW,mDAAW,CAACmC,iBAAiB,CAAI,CAAC;EAC5F,IAAK,CAAEqE,gBAAgB,CAACrb,MAAM,EAAG;IAChC;EACD;;EAEA;EACA,IAAMsb,eAAe,GAAG,IAAIC,GAAG,CAAC,CAAC;EACjCF,gBAAgB,CAAC/c,OAAO,CAAE,UAAA4M,KAAK,EAAI;IAClC,IAAK,CAAEoQ,eAAe,CAACvS,GAAG,CAAEmC,KAAK,CAAC/J,EAAG,CAAC,EAAG;MACxCqa,eAAe,CAAEtQ,KAAM,CAAC;MACxBoQ,eAAe,CAACva,GAAG,CAAEmK,KAAK,CAAC/J,EAAG,CAAC;IAChC;EACD,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASqa,eAAeA,CAAEtQ,KAAK,EAAG;EACjC,IAAMwN,SAAS,GAAG8B,4EAA2B,CAAEtP,KAAM,CAAC;EACtD,IAAK,CAAEwN,SAAS,EAAG;IAClB;EACD;EAEA,IAAMX,UAAU,GAAGW,SAAS,CAACha,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAACoC,iBAAiB,CAAI,CAAC;EACnF,IAAMe,aAAa,GAAGU,SAAS,CAACha,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAAC+B,cAAc,CAAI,CAAC;EAEnFiB,wEAAwB,CAAE3M,KAAK,CAAC/M,KAAK,EAAE4Z,UAAU,EAAEC,aAAc,CAAC;EAClEzC,kEAAiB,CAAErK,KAAK,EAAE6M,UAAU,EAAEC,aAAc,CAAC;AACtD;;;;;;;;;;;;;;;;AC1FA;AACA;AACA;AACwC;;AAExC;AACA;AACA;AACA;AACA;AACO,SAASyD,sBAAsBA,CAAA,EAAG;EACxCtU,sDAAU,CAAE,QAAQ,EAAE,yCAAyC,EAAEuU,iBAAkB,CAAC;EACpFvU,sDAAU,CAAE,QAAQ,EAAE,wBAAwB,EAAEuU,iBAAkB,CAAC;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,iBAAiBA,CAAErb,KAAK,EAAG;EACnC,IAAMsb,SAAS,GAAGtb,KAAK,CAAC0L,MAAM,CAAC3K,OAAO,CAAE,iBAAkB,CAAC;EAC3D,IAAMwa,OAAO,GAAGD,SAAS,CAACjd,aAAa,CAAE,yBAA0B,CAAC;EACpE,IAAMuQ,IAAI,GAAG0M,SAAS,CAACjd,aAAa,CAAE,QAAS,CAAC,CAACP,KAAK;;EAEtD;EACA,IAAKkC,KAAK,CAAC0L,MAAM,CAAC8P,OAAO,CAAE,QAAS,CAAC,EAAG;IACvCD,OAAO,CAACzX,IAAI,GAAG,EAAE,KAAK8K,IAAI,GAAG,MAAM,GAAG,QAAQ;EAC/C;;EAEA;EACA,IAAMqE,UAAU,GAAGsI,OAAO,CAACzd,KAAK,CAACia,IAAI,CAAC,CAAC;EACvCuD,SAAS,CAACjd,aAAa,CAAE,sBAAuB,CAAC,CAACP,KAAK,GAAG,EAAE,KAAKmV,UAAU,GAAGA,UAAU,GAAGrE,IAAI,GAAG,EAAE;AACrG,C;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAM6M,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAA,EAAS;EAAA,IAAAC,qBAAA;EACxC,CAAAA,qBAAA,GAAAtd,QAAQ,CAACgN,cAAc,CAAE,oBAAqB,CAAC,cAAAsQ,qBAAA,eAA/CA,qBAAA,CAAiD3b,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK,EAAI;IAAA,IAAA2b,qBAAA;IACpF3b,KAAK,CAACO,cAAc,CAAC,CAAC;IACtB,CAAAob,qBAAA,GAAAvd,QAAQ,CAACC,aAAa,CAAE,wDAAyD,CAAC,cAAAsd,qBAAA,eAAlFA,qBAAA,CAAoFC,KAAK,CAAC,CAAC;EAC5F,CAAE,CAAC;AACJ,CAAC;AAED,iEAAeH,0BAA0B,E;;;;;;;;;;;;;;;;;;;;;UEjBzC;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;;;ACNA;AACA;AACA;AAC4C;;AAE5C;AACA;AACA;AACsD;AAQhC;AAEtBI,gEAAQ,CAAE,YAAM;EACf,IAAI5R,0DAAiB,CAAC,CAAC;EACvB,IAAIC,2DAAkB,CAAC,CAAC;EACxB,IAAIC,yDAAgB,CAAC,CAAC;EACtBsR,mEAA0B,CAAC,CAAC;EAC5BX,iEAAoB,CAAC,CAAC;EACtB9F,sEAAyB,CAAC,CAAC;EAC3BoG,mEAAsB,CAAC,CAAC;AACzB,CAAE,CAAC,C","sources":["webpack://formidable/./node_modules/@wordpress/dom-ready/build-module/index.js","webpack://formidable/./js/src/admin/components/dependent-updater-component.js","webpack://formidable/./js/src/components/class-tabs-navigator.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/./js/src/settings-components/components/index.js","webpack://formidable/./js/src/settings-components/components/radio-component.js","webpack://formidable/./js/src/settings-components/components/slider-component.js","webpack://formidable/./js/src/settings-components/components/tabs-component.js","webpack://formidable/./js/src/settings-components/components/toggle-group/index.js","webpack://formidable/./js/src/settings-components/components/toggle-group/toggle-group.js","webpack://formidable/./js/src/settings-components/components/token-input/constants.js","webpack://formidable/./js/src/settings-components/components/token-input/event-handlers.js","webpack://formidable/./js/src/settings-components/components/token-input/index.js","webpack://formidable/./js/src/settings-components/components/token-input/proxy-input-style.js","webpack://formidable/./js/src/settings-components/components/token-input/token-actions.js","webpack://formidable/./js/src/settings-components/components/token-input/token-elements.js","webpack://formidable/./js/src/settings-components/components/token-input/token-input.js","webpack://formidable/./js/src/settings-components/components/unit-input.js","webpack://formidable/./js/src/settings-components/events/add-fields-button-handler.js","webpack://formidable/./js/src/settings-components/events/index.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/settings-components/index.js"],"sourcesContent":["/**\n * @typedef {() => void} Callback\n *\n * TODO: Remove this typedef and inline `() => void` type.\n *\n * This typedef is used so that a descriptive type is provided in our\n * automatically generated documentation.\n *\n * An in-line type `() => void` would be preferable, but the generated\n * documentation is `null` in that case.\n *\n * @see https://github.com/WordPress/gutenberg/issues/18045\n */\n\n/**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @param {Callback} callback A function to execute after the DOM is ready.\n *\n * @example\n * ```js\n * import domReady from '@wordpress/dom-ready';\n *\n * domReady( function() {\n * \t//do something after DOM loads.\n * } );\n * ```\n *\n * @return {void}\n */\nexport default function domReady(callback) {\n if (typeof document === 'undefined') {\n return;\n }\n\n if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.\n document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.\n ) {\n return void callback();\n } // DOMContentLoaded has not fired yet, delay callback until then.\n\n\n document.addEventListener('DOMContentLoaded', callback);\n}\n//# sourceMappingURL=index.js.map","/**\n * This component updates the dependent style element's values and triggers a custom change event for each style element, initiating the style preview.\n * The names of the elements that will be updated are specified using the \"will-change\" attribute.\n * It is primarily used in components from Style/Quick Settings.\n * For instance, when the \"FrmPrimaryColorStyleComponent\" is changed, it simultaneously updates various style elements like border color, text color, and button backgrounds.\n */\nexport default class frmStyleDependentUpdaterComponent {\n\t/**\n\t * Creates an instance of frmStyleDependentUpdaterComponent.\n\t *\n\t * @param {HTMLElement} component - The component element.\n\t */\n\tconstructor( component ) {\n\t\tthis.component = component;\n\t\ttry {\n\t\t\tconst willChangeData = JSON.parse( this.component.dataset.willChange );\n\t\t\tthis.data = {\n\t\t\t\tpropagateInputs: this.initPropagationList( willChangeData ),\n\t\t\t\tchangeEvent: new Event( 'change', { bubbles: true } )\n\t\t\t};\n\t\t} catch ( error ) {\n\t\t\tconsole.error( 'Error parsing JSON data from \"will-change\" attribute.', error );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes the list of inputs to propagate changes to.\n\t * The selection is made by provided input's names list in \"will-change\" attribute.\n\t *\n\t * @param {string[]} inputNames - The names of the inputs to propagate changes to.\n\t * @return {HTMLElement[]} - The list of inputs to propagate changes to.\n\t */\n\tinitPropagationList( inputNames ) {\n\t\tconst list = [];\n\t\tinputNames.forEach( name => {\n\t\t\tconst input = document.querySelector( `input[name=\"${ name }\"]` );\n\t\t\tif ( null !== input ) {\n\t\t\t\tlist.push( input );\n\t\t\t}\n\t\t} );\n\t\treturn list;\n\t}\n\n\t/**\n\t * Updates all dependent elements with the given value.\n\t *\n\t * @param {string} value - The value to update the dependent elements with.\n\t */\n\tupdateAllDependentElements( value ) {\n\t\tthis.data.propagateInputs.forEach( input => {\n\t\t\tinput.value = value;\n\t\t} );\n\t\tthis.data.propagateInputs[ 0 ].dispatchEvent( this.data.changeEvent );\n\t}\n}\n","export class frmTabsNavigator {\n\tconstructor( wrapper ) {\n\t\tif ( 'undefined' === typeof wrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.wrapper = wrapper instanceof Element ? wrapper : document.querySelector( wrapper );\n\n\t\tif ( null === this.wrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.flexboxSlidesGap = '16px';\n\t\tthis.navs = this.wrapper.querySelectorAll( '.frm-tabs-navs ul > li' );\n\t\tthis.slideTrackLine = this.wrapper.querySelector( '.frm-tabs-active-underline' );\n\t\tthis.slideTrack = this.wrapper.querySelector( '.frm-tabs-slide-track' );\n\t\tthis.slides = this.wrapper.querySelectorAll( '.frm-tabs-slide-track > div' );\n\t\tthis.isRTL = document.documentElement.dir === 'rtl' || document.body.dir === 'rtl';\n\t\tthis.resizeObserver = null;\n\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tif ( null === this.wrapper || ! this.navs.length || null === this.slideTrackLine || null === this.slideTrack || ! this.slides.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.initDefaultSlideTrackerWidth();\n\t\tthis.navs.forEach( ( nav, index ) => {\n\t\t\tnav.addEventListener( 'click', event => this.onNavClick( event, index ) );\n\t\t} );\n\n\t\tthis.setupScrollbarObserver();\n\t\t// Cleanup observers when page unloads to prevent memory leaks\n\t\twindow.addEventListener( 'beforeunload', this.cleanupObservers );\n\t}\n\n\tonNavClick( event, index ) {\n\t\tconst navItem = event.currentTarget;\n\n\t\tevent.preventDefault();\n\n\t\tthis.removeActiveClassnameFromNavs();\n\t\tnavItem.classList.add( 'frm-active' );\n\t\tthis.initSlideTrackUnderline( navItem, index );\n\t\tthis.changeSlide( index );\n\n\t\t// Handle special case for frm_insert_fields_tab\n\t\tconst navLink = navItem.querySelector( 'a' );\n\t\tif ( navLink && navLink.id === 'frm_insert_fields_tab' && ! navLink.closest( '#frm_adv_info' ) ) {\n\t\t\twindow.frmAdminBuild?.clearSettingsBox?.();\n\t\t}\n\t}\n\n\tinitDefaultSlideTrackerWidth() {\n\t\tif ( ! this.slideTrackLine.dataset.initialWidth ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.slideTrackLine.style.width = `${ this.slideTrackLine.dataset.initialWidth }px`;\n\t}\n\tinitSlideTrackUnderline( nav, index ) {\n\t\tthis.slideTrackLine.classList.remove( 'frm-first', 'frm-last' );\n\t\tconst activeNav = 'undefined' !== typeof nav ? nav : this.navs.filter( nav => nav.classList.contains( 'frm-active' ) );\n\t\tthis.positionUnderlineIndicator( activeNav );\n\t}\n\n\t/**\n\t * Sets up a ResizeObserver to watch for scrollbar changes in the parent container.\n\t * Automatically repositions the underline indicator when layout changes occur.\n\t */\n\tsetupScrollbarObserver() {\n\t\tconst scrollbarWrapper = this.wrapper.closest( '.frm-scrollbar-wrapper' );\n\n\t\tif ( ! scrollbarWrapper || ! ( 'ResizeObserver' in window ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.resizeObserver = new ResizeObserver( () => {\n\t\t\tconst activeNav = this.wrapper.querySelector( '.frm-tabs-navs ul > li.frm-active' );\n\t\t\tif ( activeNav ) {\n\t\t\t\tthis.positionUnderlineIndicator( activeNav );\n\t\t\t}\n\t\t} );\n\n\t\tthis.resizeObserver.observe( scrollbarWrapper );\n\t}\n\n\t/**\n\t * Cleans up observers to prevent memory leaks.\n\t */\n\tcleanupObservers() {\n\t\tif ( this.resizeObserver ) {\n\t\t\tthis.resizeObserver.disconnect();\n\t\t\tthis.resizeObserver = null;\n\t\t}\n\t}\n\n\t/**\n\t * Positions the underline indicator based on the active navigation element.\n\t *\n\t * @param {HTMLElement} activeNav The active navigation element to position the underline under\n\t */\n\tpositionUnderlineIndicator( activeNav ) {\n\t\trequestAnimationFrame( () => {\n\t\t\tconst position = this.isRTL\n\t\t\t\t? -( activeNav.parentElement.offsetWidth - activeNav.offsetLeft - activeNav.offsetWidth )\n\t\t\t\t: activeNav.offsetLeft;\n\n\t\t\tthis.slideTrackLine.style.transform = `translateX(${ position }px)`;\n\t\t\tthis.slideTrackLine.style.width = activeNav.clientWidth + 'px';\n\t\t} );\n\t}\n\n\tchangeSlide( index ) {\n\t\tthis.removeActiveClassnameFromSlides();\n\t\tconst translate = index == 0 ? '0px' : `calc( ( ${ ( index * 100 ) }% + ${ parseInt( this.flexboxSlidesGap, 10 ) * index }px ) * ${ this.isRTL ? 1 : -1 } )`;\n\t\tif ( '0px' !== translate ) {\n\t\t\tthis.slideTrack.style.transform = `translateX(${ translate })`;\n\t\t} else {\n\t\t\tthis.slideTrack.style.removeProperty( 'transform' );\n\t\t}\n\t\tif ( index in this.slides ) {\n\t\t\tthis.slides[ index ].classList.add( 'frm-active' );\n\t\t}\n\t}\n\n\tremoveActiveClassnameFromSlides() {\n\t\tthis.slides.forEach( slide => slide.classList.remove( 'frm-active' ) );\n\t}\n\n\tremoveActiveClassnameFromNavs() {\n\t\tthis.navs.forEach( nav => nav.classList.remove( 'frm-active' ) );\n\t}\n}\n","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @return {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @return {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @return {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @return {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @return {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @return {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @return {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @return {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @return {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @return {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @return {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @return {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @return {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @return {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @return {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","export { default as frmRadioComponent } from './radio-component';\nexport { default as frmSliderComponent } from './slider-component';\nexport { default as frmTabsComponent } from './tabs-component';\nexport * from './token-input';\nexport * from './toggle-group';\nexport * from './unit-input';\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\nimport { show, hide, isVisible } from 'core/utils';\n\n/**\n * Represents a radio component.\n *\n * @class\n */\nexport default class frmRadioComponent {\n\tconstructor() {\n\t\tthis.radioElements = document.querySelectorAll( '.frm-style-component.frm-radio-component' );\n\t\tthis.observers = new Map();\n\t\tif ( 0 < this.radioElements.length ) {\n\t\t\tthis.init();\n\t\t}\n\n\t\t/**\n\t\t * Handles the addition of new fields.\n\t\t *\n\t\t * @param {Event} event The frm_added_field event.\n\t\t * @param {HTMLElement} event.frmField The added field object being destructured from the event.\n\t\t */\n\t\tdocument.addEventListener( 'frm_added_field', ( { frmField } ) =>\n\t\t\tthis.discoverAndInitFieldRadios( frmField.dataset.fid )\n\t\t);\n\n\t\t/**\n\t\t * Handles the addition of new fields via AJAX.\n\t\t *\n\t\t * @param {Event} event The frm_ajax_loaded_field event.\n\t\t * @param {HTMLElement} event.frmFields The added field objects being destructured from the event.\n\t\t */\n\t\tdocument.addEventListener( 'frm_ajax_loaded_field', ( { frmFields } ) =>\n\t\t\tfrmFields.forEach( field => this.discoverAndInitFieldRadios( field.id ) )\n\t\t);\n\n\t\t// Cleanup observers when page unloads to prevent memory leaks\n\t\twindow.addEventListener( 'beforeunload', () => this.cleanupObservers() );\n\n\t\t// Handle window resize with throttling\n\t\tthis.resizeTimeout = null;\n\t\twindow.addEventListener( 'resize', () => this.throttledUpdateAllTrackers() );\n\t}\n\n\t/**\n\t * Initializes the radio component.\n\t */\n\tinit() {\n\t\tthis.initRadio();\n\t\tthis.initTrackerOnAccordionClick();\n\t}\n\n\t/**\n\t * Discovers and initializes radio components for a specific field.\n\t *\n\t * @param {string|number} fieldId The unique identifier of the field whose radio components should be discovered and initialized\n\t * @throws {Error} Throws an error if the field container is not found in the DOM\n\t */\n\tdiscoverAndInitFieldRadios( fieldId ) {\n\t\tconst fieldContainer = document.getElementById( `frm-single-settings-${ fieldId }` );\n\n\t\tif ( ! fieldContainer ) {\n\t\t\tthrow new Error( `Field container not found for field ID: ${ fieldId }` );\n\t\t}\n\n\t\tthis.radioElements = fieldContainer.querySelectorAll( '.frm-style-component.frm-radio-component' );\n\t\tthis.initRadio();\n\t}\n\n\t/**\n\t * Initializes the radio component.\n\t */\n\tinitRadio() {\n\t\tthis.radioElements.forEach( element => {\n\t\t\tthis.initOnRadioChange( element );\n\t\t\tthis.initVisibilityObserver( element );\n\t\t} );\n\t}\n\n\tinitTrackerOnAccordionClick() {\n\t\tconst accordionitems = document.querySelectorAll( '#frm_style_sidebar .accordion-section h3' );\n\n\t\taccordionitems.forEach( accordionitem => {\n\t\t\taccordionitem.addEventListener( 'click', event => {\n\t\t\t\tconst wrapper = event.target.closest( '.accordion-section' );\n\t\t\t\tconst radioButtons = wrapper.querySelectorAll( '.frm-style-component.frm-radio-component input[type=\"radio\"]:checked' );\n\n\t\t\t\tradioButtons.forEach( radio => {\n\t\t\t\t\tsetTimeout( () => this.onRadioChange( radio ), 200 );\n\t\t\t\t} );\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the onRadioChange event for the given wrapper.\n\t *\n\t * @param {HTMLElement} radioElement - The radio element.\n\t */\n\tinitOnRadioChange( radioElement ) {\n\t\tradioElement.querySelectorAll( 'input[type=\"radio\"]' ).forEach( radio => {\n\t\t\tif ( radio.checked ) {\n\t\t\t\tthis.onRadioChange( radio );\n\t\t\t}\n\t\t\tradio.addEventListener( 'change', event => {\n\t\t\t\tthis.onRadioChange( event.target );\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Handles the onRadioChange event for the given wrapper.\n\t *\n\t * @param {HTMLElement} target - The active radio button.\n\t */\n\tonRadioChange( target ) {\n\t\tconst wrapper = target.closest( '.frm-style-component.frm-radio-component' );\n\t\tconst activeItem = wrapper.querySelector( 'input[type=\"radio\"]:checked + label' );\n\n\t\tif ( null === activeItem ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.moveTracker( activeItem, wrapper );\n\t\tthis.hideExtraElements( target );\n\t\tthis.maybeShowExtraElements( target );\n\t}\n\n\t/**\n\t * Display additional elements related to the selected radio option.\n\t *\n\t * @param {HTMLElement} radio - The radio button element.\n\t */\n\tmaybeShowExtraElements( radio ) {\n\t\tconst elementAttr = radio.getAttribute( 'data-frm-show-element' );\n\t\tif ( null === elementAttr ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elements = document.querySelectorAll( `div[data-frm-element=\"${ elementAttr }\"]` );\n\n\t\tif ( 0 === elements.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\telements.forEach( element => {\n\t\t\tshow( element );\n\t\t\telement.classList.add( 'frm-element-is-visible' );\n\t\t} );\n\t}\n\n\t/**\n\t * Throttled update of all radio trackers on window resize.\n\t *\n\t * @return {void}\n\t */\n\tthrottledUpdateAllTrackers() {\n\t\tif ( this.resizeTimeout ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.resizeTimeout = requestAnimationFrame( () => {\n\t\t\tthis.resizeTimeout = null;\n\t\t\tdocument.querySelectorAll( '.frm-radio-component input[type=\"radio\"]:checked' ).forEach( radio => {\n\t\t\t\tconst wrapper = radio.closest( '.frm-radio-component' );\n\t\t\t\tif ( wrapper && wrapper.offsetWidth > 0 ) {\n\t\t\t\t\tthis.onRadioChange( radio );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes visibility observer for the radio component. This handles cases when components are conditionally shown.\n\t *\n\t * @param {HTMLElement} element The radio component element\n\t * @return {void}\n\t */\n\tinitVisibilityObserver( element ) {\n\t\tif ( this.observers.has( element ) ) {\n\t\t\tthis.observers.get( element ).disconnect();\n\t\t}\n\n\t\tconst observer = new MutationObserver( () => {\n\t\t\t// Check if element is now visible\n\t\t\tif ( isVisible( element ) ) {\n\t\t\t\tconst radio = element.querySelector( 'input[type=\"radio\"]:checked' );\n\t\t\t\tif ( radio ) {\n\t\t\t\t\tthis.onRadioChange( radio );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\tthis.observers.set( element, observer );\n\n\t\t// Observe for attribute changes on the component and its ancestors\n\t\tobserver.observe( element, {\n\t\t\tattributes: true,\n\t\t\tattributeFilter: [ 'class', 'style' ]\n\t\t} );\n\n\t\t// Also observe parent elements up to a reasonable depth\n\t\tlet parent = element.parentElement;\n\t\tfor ( let i = 0; i < 7 && parent; i++ ) {\n\t\t\tobserver.observe( parent, {\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: [ 'class', 'style' ]\n\t\t\t} );\n\t\t\tparent = parent.parentElement;\n\t\t}\n\t}\n\n\t/**\n\t * Cleanup all observers to prevent memory leaks.\n\t */\n\tcleanupObservers() {\n\t\tthis.observers.forEach( observer => {\n\t\t\tobserver.disconnect();\n\t\t} );\n\n\t\tthis.observers.clear();\n\t}\n\n\t/**\n\t * Hide the possible opepend extra elements.\n\t */\n\thideExtraElements() {\n\t\tconst elements = document.querySelectorAll( '.frm-element-is-visible' );\n\t\tif ( 0 === elements.length ) {\n\t\t\treturn;\n\t\t}\n\t\telements.forEach( element => {\n\t\t\telement.classList.remove( 'frm-element-is-visible' );\n\t\t\telement.classList.add( HIDDEN_CLASS );\n\t\t\thide( element );\n\t\t} );\n\t}\n\n\t/**\n\t * Moves the tracker to the active item.\n\t *\n\t * @param {HTMLElement} activeItem - The active item element.\n\t * @param {HTMLElement} wrapper - The wrapper element.\n\t */\n\tmoveTracker( activeItem, wrapper ) {\n\t\tconst offset = activeItem.offsetLeft;\n\t\tconst width = activeItem.offsetWidth;\n\t\tconst tracker = wrapper.querySelector( '.frm-radio-active-tracker' );\n\n\t\ttracker.style.left = 0;\n\t\ttracker.style.width = `${ width }px`;\n\t\ttracker.style.transform = `translateX(${ offset }px)`;\n\t}\n}\n","\n/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\nimport frmDependentUpdaterComponent from '../../admin/components/dependent-updater-component';\n\n/**\n * Represents a slider component.\n *\n * @class frmSliderComponent\n */\nexport default class frmSliderComponent {\n\tconstructor( sliderElements = [], settings = {} ) {\n\t\tthis.loadedByWebComponent = sliderElements.length > 0;\n\t\tthis.sliderElements = sliderElements.length > 0 ? sliderElements : document.querySelectorAll( '.frm-slider-component' );\n\t\tthis.settings = settings;\n\n\t\tif ( 0 === this.sliderElements.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The slider bullet point width in pixels. Used in value calculation on drag event.\n\t\tthis.sliderBulletWidth = 16;\n\t\tthis.sliderMarginRight = 5;\n\t\tthis.eventsChange = [];\n\n\t\tconst { debounce } = frmDom.util;\n\t\tthis.valueChangeDebouncer = debounce( index => this.triggerValueChange( index ), 25 );\n\n\t\tthis.initOptions();\n\t\tthis.init();\n\t}\n\n\t/**\n\t * Initializes the options for the slider component.\n\t */\n\tinitOptions() {\n\t\tthis.options = [];\n\t\tthis.sliderElements.forEach( ( element, index ) => {\n\t\t\tconst parentWrapper = element.classList.contains( 'frm-has-multiple-values' ) ? element.closest( '.frm-style-component' ) : element;\n\t\t\tconst steps = this.settings.steps || ( element.dataset.steps ? JSON.parse( element.dataset.steps ) : null );\n\t\t\tthis.options.push( {\n\t\t\t\tdragging: false,\n\t\t\t\tstartX: 0,\n\t\t\t\ttranslateX: 0,\n\t\t\t\tmaxValue: parseInt( element.dataset.maxValue, 10 ),\n\t\t\t\telement: element,\n\t\t\t\tindex: index,\n\t\t\t\tvalue: 0,\n\t\t\t\tsteps: steps,\n\t\t\t\tdependentUpdater: parentWrapper.classList.contains( 'frm-style-dependent-updater-component' ) ? new frmDependentUpdaterComponent( parentWrapper ) : null\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the slider component.\n\t */\n\tinit() {\n\t\tthis.initDraggable();\n\n\t\tif ( this.loadedByWebComponent ) {\n\t\t\tthis.initSlidersPositionInsideWebComponent();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.initSlidersPosition();\n\t}\n\n\t/**\n\t * Initializes the draggable functionality for the slider component.\n\t */\n\tinitDraggable() {\n\t\tthis.sliderElements.forEach( ( element, index ) => {\n\t\t\tthis.eventsChange[ index ] = new Event( 'change', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true\n\t\t\t} );\n\t\t\tconst draggableBullet = element.querySelector( '.frm-slider-bullet' );\n\t\t\tconst valueInput = element.querySelector( '.frm-slider-value input[type=\"text\"]' );\n\n\t\t\tvalueInput.addEventListener( 'change', event => {\n\t\t\t\tconst unit = element.querySelector( 'select' ).value;\n\n\t\t\t\tif ( this.getMaxValue( unit, index ) < parseInt( event.target.value, 10 ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.initSliderWidth( element );\n\t\t\t\tthis.options[ index ].fullValue = this.updateValue( element, valueInput.value + unit );\n\t\t\t\tthis.triggerValueChange( index );\n\t\t\t} );\n\n\t\t\tthis.expandSliderGroup( element );\n\t\t\tthis.updateOnUnitChange( element, valueInput, index );\n\t\t\tthis.changeSliderPositionOnClick( element, valueInput, index );\n\t\t\tfrmSliderComponent.maybeDisableUnitDropdown( element );\n\n\t\t\tdraggableBullet.addEventListener( 'mousedown', event => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.enableDragging( event, index );\n\n\t\t\t\tconst onMouseMove = moveEvent => this.moveTracker( moveEvent, index );\n\n\t\t\t\tconst onMouseUp = () => {\n\t\t\t\t\tthis.disableDragging( index );\n\t\t\t\t\tdocument.removeEventListener( 'mousemove', onMouseMove );\n\t\t\t\t\tdocument.removeEventListener( 'mouseup', onMouseUp );\n\t\t\t\t};\n\n\t\t\t\tdocument.addEventListener( 'mousemove', onMouseMove );\n\t\t\t\tdocument.addEventListener( 'mouseup', onMouseUp );\n\t\t\t} );\n\t\t} );\n\t}\n\n\texpandSliderGroup( element ) {\n\t\tconst svgIcon = element.querySelector( '.frmsvg' );\n\n\t\tif ( 'undefined' === typeof element.dataset.displaySliders || null === svgIcon ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sliderGroupItems = this.getSliderGroupItems( element );\n\t\tsvgIcon.addEventListener( 'click', ( ) => {\n\t\t\tsliderGroupItems.forEach( item => {\n\t\t\t\titem.classList.toggle( HIDDEN_CLASS );\n\t\t\t} );\n\t\t} );\n\t}\n\n\tupdateOnUnitChange( element, valueInput, index ) {\n\t\telement.querySelector( 'select' ).addEventListener( 'change', event => {\n\t\t\tconst unit = event.target.value.toLowerCase();\n\n\t\t\tif ( '' === unit ) {\n\t\t\t\telement.classList.add( 'frm-disabled', 'frm-empty' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( 'auto' === unit ) {\n\t\t\t\telement.classList.add( 'frm-disabled' );\n\t\t\t\tthis.updateValue( element, 'auto' );\n\t\t\t\tthis.triggerValueChange( index );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telement.classList.remove( 'frm-disabled', 'frm-empty' );\n\t\t\tthis.options[ index ].fullValue = valueInput.value + unit;\n\t\t\tthis.updateValue( element, this.options[ index ].fullValue );\n\t\t\tthis.triggerValueChange( index );\n\t\t} );\n\t}\n\n\tchangeSliderPositionOnClick( element, valueInput, index ) {\n\t\tconst frmSlider = element.querySelector( '.frm-slider' );\n\t\tconst customEvent = new Event( 'change', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true\n\t\t} );\n\n\t\tfrmSlider.addEventListener( 'click', event => {\n\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\n\t\t\tif ( ! event.target.classList.contains( 'frm-slider' ) && ! event.target.classList.contains( 'frm-slider-active-track' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst sliderWidth = frmSlider.offsetWidth - this.sliderBulletWidth;\n\t\t\tconst sliderRect = frmSlider.getBoundingClientRect();\n\t\t\tconst deltaX = event.clientX - sliderRect.left - this.sliderBulletWidth;\n\t\t\tconst unit = element.querySelector( 'select' ).value;\n\t\t\tconst value = frmSliderComponent.calculateValue( sliderWidth, deltaX, this.getMaxValue( unit, index ), this.options[ index ].steps );\n\n\t\t\tif ( value < 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.options[ index ].fullValue = this.updateValue( element, value + unit );\n\t\t\tthis.initChildSlidersWidth( element, deltaX, index, value + unit );\n\n\t\t\tvalueInput.value = value;\n\t\t\tvalueInput.dispatchEvent( customEvent );\n\t\t} );\n\t}\n\n\t/**\n\t * Disables the unit dropdown if there is only a single unit option.\n\t *\n\t * @param {HTMLElement} element - The slider element.\n\t */\n\tstatic maybeDisableUnitDropdown( element ) {\n\t\tconst select = element.querySelector( 'select' );\n\t\tif ( ! select ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = Array.from( select.options ).filter( option => '' !== option.value );\n\t\tif ( 1 >= options.length ) {\n\t\t\tselect.classList.add( 'frm-single-unit' );\n\t\t\tselect.addEventListener( 'mousedown', event => event.preventDefault() );\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves an array of slider group items based on the provided element.\n\t *\n\t * @param {HTMLElement} element - The element to retrieve slider group items from.\n\t * @return {NodeList} - An array-like object containing the slider group items.\n\t */\n\tgetSliderGroupItems( element ) {\n\t\tif ( 'undefined' === typeof element.dataset.displaySliders ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst slidersGroup = element.dataset.displaySliders.split( ',' );\n\t\tconst query = slidersGroup.map( item => {\n\t\t\treturn `.frm-slider-component[data-type=\"${ item }\"]`;\n\t\t} ).join( ', ' );\n\n\t\treturn element.closest( '.frm-style-component' ).querySelectorAll( query );\n\t}\n\n\tinitSlidersPositionInsideWebComponent() {\n\t\tthis.sliderElements.forEach( ( element, index ) => {\n\t\t\tthis.initSliderWidth( element, index );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the position of sliders when a accordion section is opened.\n\t */\n\tinitSlidersPosition() {\n\t\tconst accordionitems = document.querySelectorAll( '#frm_style_sidebar .accordion-section h3' );\n\t\tconst quickSettings = document.querySelector( '.frm-quick-settings' );\n\t\tconst openedAccordion = document.querySelector( '.accordion-section.open' );\n\n\t\t// Detect if upload background image upload has triggered and initialize the \"Image Opacity\" slider width.\n\t\twp.hooks.addAction( 'frm_pro_on_bg_image_upload', 'formidable', event => {\n\t\t\tconst imageBackgroundOpacitySlider = event.closest( '.accordion-section-content' ).querySelector( '#frm-bg-image-opacity-slider' );\n\t\t\tthis.initSlidersWidth( imageBackgroundOpacitySlider );\n\t\t} );\n\n\t\t// init the sliders width from \"Quick Settings\" page.\n\t\tif ( null !== quickSettings ) {\n\t\t\tthis.initSlidersWidth( quickSettings );\n\t\t}\n\n\t\t// Init the sliders width in opened accordion section from \"Advanced Settings\" page.\n\t\tif ( null !== openedAccordion ) {\n\t\t\tthis.initSlidersWidth( openedAccordion );\n\t\t}\n\n\t\t// init the sliders width everytime when an accordion section is opened from \"Advanced Settings\" page.\n\t\taccordionitems.forEach( item => {\n\t\t\titem.addEventListener( 'click', event => {\n\t\t\t\tthis.initSlidersWidth( event.target.closest( '.accordion-section' ) );\n\t\t\t} );\n\t\t} );\n\n\t\tthis.initSliderPositionOnFieldShapeChange();\n\t}\n\n\t/**\n\t * Initializes the width of \"Corner Radius\" slider that is dynamically is displayed on \"Field Shape\" option change from \"Quick Settings\".\n\t *\n\t * @return {void}\n\t */\n\tinitSliderPositionOnFieldShapeChange() {\n\t\tconst fieldShapeType = document.querySelector( '.frm-style-component.frm-field-shape' );\n\n\t\tif ( null === fieldShapeType ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst radioButtons = fieldShapeType.querySelectorAll( 'input[type=\"radio\"]' );\n\t\tradioButtons.forEach( radio => {\n\t\t\tradio.addEventListener( 'change', event => {\n\t\t\t\tif ( event.target.checked && 'rounded-corner' === event.target.value ) {\n\t\t\t\t\tconst slider = document.querySelector( 'div[data-frm-element=\"field-shape-corner-radius\"] .frm-slider-component' );\n\t\t\t\t\tthis.initSliderWidth( slider );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the width of sliders within a given section.\n\t *\n\t * @param {HTMLElement} section - The section containing the sliders.\n\t * @return {void}\n\t */\n\tinitSlidersWidth( section ) {\n\t\tconst sliders = section.querySelectorAll( '.frm-slider-component' );\n\t\tsliders.forEach( slider => {\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.initSliderWidth( slider );\n\t\t\t}, 100 );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the width of a slider.\n\t *\n\t * @param {HTMLElement} slider - The slider element.\n\t * @param {number} sliderIndex - The index of the slider.\n\t * @return {void}\n\t */\n\tinitSliderWidth( slider, sliderIndex = null ) {\n\t\tif ( slider.classList.contains( 'frm-disabled' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst index = sliderIndex !== null ? sliderIndex : this.getSliderIndex( slider );\n\t\tconst sliderWidth = slider.querySelector( '.frm-slider' ).offsetWidth - this.sliderBulletWidth;\n\t\tconst value = parseInt( slider.querySelector( '.frm-slider-value input[type=\"text\"]' ).value, 10 );\n\t\tconst unit = slider.querySelector( 'select' ).value;\n\t\tconst steps = this.options[ index ].steps;\n\t\tlet deltaX = Math.ceil( ( value / this.options[ index ].maxValue ) * sliderWidth );\n\n\t\tif ( '%' === unit ) {\n\t\t\tdeltaX = Math.round( sliderWidth * value / 100 );\n\t\t} else if ( steps && steps.length > 0 ) {\n\t\t\tdeltaX = frmSliderComponent.calculateDeltaXFromSteps( value, steps, sliderWidth );\n\t\t}\n\n\t\tslider.querySelector( '.frm-slider-active-track' ).style.width = `${ deltaX }px`;\n\t\tthis.options[ index ].translateX = deltaX;\n\t\tthis.options[ index ].value = value + unit;\n\t}\n\n\t/**\n\t * Calculates the deltaX position based on a value and steps array.\n\t *\n\t * @param {number} value - The current value.\n\t * @param {Array} steps - Array of step values.\n\t * @param {number} sliderWidth - The width of the slider.\n\t * @return {number} - The calculated deltaX position.\n\t */\n\tstatic calculateDeltaXFromSteps( value, steps, sliderWidth ) {\n\t\tconst stepIndex = steps.indexOf( value );\n\t\tif ( -1 === stepIndex ) {\n\t\t\t// If value not in steps, find closest and use its position\n\t\t\tconst closestValue = frmSliderComponent.snapToStep( value, steps );\n\t\t\tconst closestIndex = steps.indexOf( closestValue );\n\t\t\treturn Math.round( ( closestIndex / ( steps.length - 1 ) ) * sliderWidth );\n\t\t}\n\t\treturn Math.round( ( stepIndex / ( steps.length - 1 ) ) * sliderWidth );\n\t}\n\n\t/**\n\t * Initializes the width of child sliders.\n\t *\n\t * @param {HTMLElement} slider - The parent slider element.\n\t * @param {number} width - The width to set for the child sliders.\n\t * @param {number} index - The starting index for the child sliders.\n\t * @param {number} value - The value to set for the child sliders.\n\t */\n\tinitChildSlidersWidth( slider, width, index, value ) {\n\t\tif ( ! slider.classList.contains( 'frm-has-independent-fields' ) && ! slider.classList.contains( 'frm-has-multiple-values' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst childSliders = slider.classList.contains( 'frm-has-independent-fields' ) ? slider.querySelectorAll( '.frm-independent-slider-field' ) : this.getSliderGroupItems( slider );\n\n\t\tchildSliders.forEach( ( item, childIndex ) => {\n\t\t\titem.querySelector( '.frm-slider-active-track' ).style.width = `${ width }px`;\n\t\t\tthis.options[ index + childIndex + 1 ].translateX = width;\n\t\t\tthis.options[ index + childIndex + 1 ].value = value;\n\t\t} );\n\t}\n\n\t/**\n\t * Returns the index of the specified slider element.\n\t *\n\t * @param {HTMLElement} slider - The slider element.\n\t * @return {number} The index of the slider element.\n\t */\n\tgetSliderIndex( slider ) {\n\t\treturn this.options.filter( option => {\n\t\t\treturn option.element === slider;\n\t\t} )[ 0 ].index;\n\t}\n\n\t/**\n\t * Handles the movement of the slider tracker.\n\t *\n\t * @param {Event} event - The event object representing the mouse movement.\n\t * @param {number} index - The index of the slider element.\n\t * @return {void}\n\t */\n\tmoveTracker( event, index ) {\n\t\tif ( ! this.options[ index ].dragging ) {\n\t\t\treturn;\n\t\t}\n\t\tlet deltaX = event.clientX - this.options[ index ].startX;\n\t\tconst element = this.sliderElements[ index ];\n\t\tconst sliderWidth = element.querySelector( '.frm-slider' ).offsetWidth - this.sliderBulletWidth;\n\n\t\t// Clamp deltaX within valid range\n\t\tdeltaX = Math.max( deltaX, 0 );\n\t\tdeltaX = Math.min( deltaX, sliderWidth );\n\t\tconst unit = element.querySelector( 'select' ).value;\n\t\tconst value = frmSliderComponent.calculateValue( sliderWidth, deltaX, this.getMaxValue( unit, index ), this.options[ index ].steps );\n\n\t\telement.querySelector( '.frm-slider-value input[type=\"text\"]' ).value = value;\n\t\telement.querySelector( '.frm-slider-bullet .frm-slider-value-label' ).innerText = value;\n\t\telement.querySelector( '.frm-slider-active-track' ).style.width = `${ deltaX }px`;\n\t\tthis.initChildSlidersWidth( element, deltaX, index, value + unit );\n\n\t\tthis.options[ index ].translateX = deltaX;\n\t\tthis.options[ index ].value = value + unit;\n\t\tthis.options[ index ].fullValue = this.updateValue( element, this.options[ index ].value );\n\t\tthis.valueChangeDebouncer( index );\n\t}\n\n\t/**\n\t * Get the maximum value based on the unit and index.\n\t *\n\t * @param {string} unit - The unit of measurement.\n\t * @param {number} index - The index of the option.\n\t * @return {number} The maximum value.\n\t */\n\tgetMaxValue( unit, index ) {\n\t\treturn '%' === unit ? 100 : this.options[ index ].maxValue;\n\t}\n\n\t/**\n\t * Enables dragging for the slider component.\n\t *\n\t * @param {Event} event - The event object.\n\t * @param {number} index - The index of the option being dragged.\n\t */\n\tenableDragging( event, index ) {\n\t\tevent.target.classList.add( 'frm-dragging' );\n\t\tthis.options[ index ].dragging = true;\n\t\tthis.options[ index ].startX = event.clientX - this.options[ index ].translateX;\n\t}\n\n\t/**\n\t * Disables dragging for a specific index.\n\t *\n\t * @param {number} index - The index of the option to disable dragging for.\n\t */\n\tdisableDragging( index ) {\n\t\tif ( false === this.options[ index ].dragging ) {\n\t\t\treturn;\n\t\t}\n\t\tconst draggableBullet = this.sliderElements[ index ].querySelector( '.frm-slider-bullet' );\n\t\tdraggableBullet.classList.remove( 'frm-dragging' );\n\t\tthis.options[ index ].dragging = false;\n\t\tthis.triggerValueChange( index );\n\t}\n\n\t/**\n\t * Triggers a value change for the specified index.\n\t *\n\t * @param {number} index - The index of the value to be changed.\n\t */\n\ttriggerValueChange( index ) {\n\t\tif ( null !== this.options[ index ].dependentUpdater ) {\n\t\t\tthis.options[ index ].dependentUpdater.updateAllDependentElements( this.options[ index ].fullValue );\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = this.sliderElements[ index ].classList.contains( 'frm-has-multiple-values' ) ? this.sliderElements[ index ].closest( '.frm-style-component' ).querySelector( 'input[type=\"hidden\"]' ) : this.sliderElements[ index ].querySelectorAll( '.frm-slider-value input[type=\"hidden\"]' );\n\t\tif ( input instanceof NodeList ) {\n\t\t\tinput.forEach( item => {\n\t\t\t\titem.dispatchEvent( this.eventsChange[ index ] );\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\tinput.dispatchEvent( this.eventsChange[ index ] );\n\t}\n\n\t/**\n\t * Calculates the value based on the width, deltaX, and maxValue.\n\t *\n\t * @param {number} width - The width of the slider.\n\t * @param {number} deltaX - The change in x-coordinate.\n\t * @param {number} maxValue - The maximum value.\n\t * @param {Array|null} steps - Optional array of step values to snap to.\n\t * @return {number} - The calculated value.\n\t */\n\tstatic calculateValue( width, deltaX, maxValue, steps = null ) {\n\t\tif ( steps && steps.length > 0 ) {\n\t\t\t// For stepped sliders, map position directly to step index\n\t\t\tconst position = deltaX / width;\n\t\t\tconst stepIndex = Math.round( position * ( steps.length - 1 ) );\n\t\t\tconst clampedIndex = Math.max( 0, Math.min( stepIndex, steps.length - 1 ) );\n\t\t\treturn steps[ clampedIndex ];\n\t\t}\n\n\t\t// Calculate value as a simple proportion of the slider position\n\t\tconst value = Math.round( ( deltaX / width ) * maxValue );\n\n\t\treturn Math.min( value, maxValue );\n\t}\n\n\t/**\n\t * Snaps a value to the nearest step in the steps array.\n\t *\n\t * @param {number} value - The value to snap.\n\t * @param {Array} steps - Array of step values to snap to.\n\t * @return {number} - The nearest step value.\n\t */\n\tstatic snapToStep( value, steps ) {\n\t\tlet nearest = steps[ 0 ];\n\t\tlet minDiff = Math.abs( value - nearest );\n\n\t\tfor ( let i = 1; i < steps.length; i++ ) {\n\t\t\tconst diff = Math.abs( value - steps[ i ] );\n\t\t\tif ( diff < minDiff ) {\n\t\t\t\tminDiff = diff;\n\t\t\t\tnearest = steps[ i ];\n\t\t\t}\n\t\t}\n\n\t\treturn nearest;\n\t}\n\n\t/**\n\t * Updates the value of a slider component.\n\t *\n\t * @param {HTMLElement} element - The slider component element.\n\t * @param {string} value - The new value to be set.\n\t * @return {string} - The updated value.\n\t */\n\tupdateValue( element, value ) {\n\t\t// When the slider component is used for \"Base Font Size\", we need to update a hidden input field when change happens to indicate that the \"Base Font Size\" has been adjusted.\n\t\t// Used to avoid conflicts with other possible font sizes adjustemnts in \"Advanced Settings\" when moving from \"Quick Settings\" when \"Base Font Size\" is not changed.\n\t\tif ( element.classList.contains( 'frm-base-font-size' ) ) {\n\t\t\tconst userBaseFontSizeInput = document.querySelector( 'input[name=\"frm_style_setting[post_content][use_base_font_size]\"]' );\n\t\t\tif ( null !== userBaseFontSizeInput ) {\n\t\t\t\tuserBaseFontSizeInput.value = 'true';\n\t\t\t}\n\t\t}\n\t\tif ( element.classList.contains( 'frm-has-multiple-values' ) ) {\n\t\t\tconst input = element.closest( '.frm-style-component' ).querySelector( 'input[type=\"hidden\"]' );\n\t\t\tconst inputValue = input.value.split( ' ' );\n\t\t\tconst type = element.dataset.type;\n\n\t\t\tif ( ! inputValue[ 2 ] ) {\n\t\t\t\tinputValue[ 2 ] = '0px';\n\t\t\t}\n\n\t\t\tif ( ! inputValue[ 3 ] ) {\n\t\t\t\tinputValue[ 3 ] = '0px';\n\t\t\t}\n\n\t\t\tswitch ( type ) {\n\t\t\t\tcase 'vertical':\n\t\t\t\t\tinputValue[ 0 ] = value;\n\t\t\t\t\tinputValue[ 2 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'horizontal':\n\t\t\t\t\tinputValue[ 1 ] = value;\n\t\t\t\t\tinputValue[ 3 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'top':\n\t\t\t\t\tinputValue[ 0 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'bottom':\n\t\t\t\t\tinputValue[ 2 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'left':\n\t\t\t\t\tinputValue[ 3 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'right':\n\t\t\t\t\tinputValue[ 1 ] = value;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst newValue = inputValue.join( ' ' );\n\t\t\tinput.value = newValue;\n\n\t\t\tconst childSlidersGroup = this.getSliderGroupItems( element );\n\t\t\tchildSlidersGroup.forEach( slider => {\n\t\t\t\tconst unitMeasure = this.getUnitMeasureFromValue( value );\n\t\t\t\tslider.querySelector( '.frm-slider-value input[type=\"text\"]' ).value = parseInt( value, 10 );\n\t\t\t\tslider.querySelector( 'select' ).value = unitMeasure;\n\t\t\t} );\n\n\t\t\treturn newValue;\n\t\t}\n\n\t\tif ( element.classList.contains( 'frm-has-independent-fields' ) ) {\n\t\t\tconst inputValues = element.querySelectorAll( '.frm-slider-value input[type=\"hidden\"]' );\n\t\t\tconst visibleValues = element.querySelectorAll( '.frm-slider-value input[type=\"text\"]' );\n\t\t\tinputValues.forEach( ( input, index ) => {\n\t\t\t\tinput.value = value;\n\t\t\t\tvisibleValues[ index + 1 ].value = parseInt( value, 10 );\n\t\t\t} );\n\n\t\t\treturn value;\n\t\t}\n\n\t\telement.querySelector( '.frm-slider-value input[type=\"hidden\"]' ).value = value;\n\t\treturn value;\n\t}\n\n\t/**\n\t * Returns the unit of measurement used in the given value.\n\t *\n\t * @param {string} value - The value to check for the unit of measurement.\n\t * @return {string} The unit of measurement ('%', 'px', 'em') found in the value, or an empty string if none is found.\n\t */\n\tgetUnitMeasureFromValue( value ) {\n\t\treturn [ '%', 'px', 'em' ].find( unit => value.includes( unit ) ) || '';\n\t}\n}\n","import { frmTabsNavigator } from '../../components/class-tabs-navigator';\n/**\n * Represents a Tabs Component.\n *\n * @class\n */\nexport default class frmTabsComponent {\n\tconstructor() {\n\t\tthis.elements = document.querySelectorAll( '.frm-style-tabs-wrapper' );\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.init();\n\t\t}\n\t}\n\n\t/**\n\t * Initializes the Tabs Component.\n\t */\n\tinit() {\n\t\tthis.elements.forEach( element => {\n\t\t\tnew frmTabsNavigator( element );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the component on tab click.\n\t *\n\t * @param {Element} wrapper - The wrapper element.\n\t */\n\tinitOnTabClick( wrapper ) {\n\t\tthis.initActiveBackgroundWidth( wrapper );\n\t\twrapper.querySelectorAll( '.frm-tab-item' ).forEach( tab => {\n\t\t\ttab.addEventListener( 'click', event => {\n\t\t\t\tthis.onTabClick( event.target.closest( '.frm-tabs-wrapper' ) );\n\t\t\t} );\n\t\t} );\n\t}\n}\n","export * from './toggle-group.js';\n","/**\n * Group Toggle Component\n *\n * Handles toggling visibility and enabled state of related form elements\n */\n\n/**\n * Internal dependencies\n */\nimport { documentOn } from 'core/utils';\nimport { HIDDEN_CLASS, DISABLED_CLASS, SINGLE_SETTINGS_CLASS } from 'core/constants';\n\n/**\n * Class names for group toggle component\n *\n * @private\n */\nconst CLASS_NAMES = {\n\tGROUP_TOGGLE: 'frm-toggle-group',\n\tTOGGLE_BLOCK: 'frm_toggle_block',\n};\n\n/**\n * Data attributes for group toggle component\n *\n * @private\n */\nconst DATA_ATTRIBUTES = {\n\tGROUP_NAME: 'data-group-name',\n\tSHOW: 'data-show',\n\tDISABLE: 'data-disable',\n\tENABLE: 'data-enable',\n};\n\n/**\n * Initialize all group toggle components on the page\n *\n * @return {void}\n */\nfunction initToggleGroupComponents() {\n\tapplyInitialState();\n\taddEventListeners();\n}\n\n/**\n * Apply the initial state for all toggle buttons on the page\n *\n * @private\n * @return {void}\n */\nfunction applyInitialState() {\n\tconst toggleGroups = document.querySelectorAll( `.${ CLASS_NAMES.GROUP_TOGGLE }` );\n\n\tif ( ! toggleGroups.length ) {\n\t\treturn;\n\t}\n\n\ttoggleGroups.forEach( toggleGroup => {\n\t\tconst toggleButton = toggleGroup.querySelector( `[${ DATA_ATTRIBUTES.GROUP_NAME }]:checked` );\n\t\tif ( ! toggleButton ) {\n\t\t\treturn;\n\t\t}\n\n\t\tapplyToggleState( toggleButton, toggleGroup );\n\t} );\n}\n\n/**\n * Add event listeners to toggle buttons in a group toggle component\n *\n * @private\n * @return {void}\n */\nfunction addEventListeners() {\n\tdocumentOn( 'change', `.${ CLASS_NAMES.GROUP_TOGGLE } [${ DATA_ATTRIBUTES.GROUP_NAME }]`, handleToggleClick );\n}\n\n/**\n * Handle click events on toggle buttons\n *\n * @private\n * @param {Event} event The click event\n * @return {void}\n */\nfunction handleToggleClick( event ) {\n\tconst toggleButton = event.target;\n\tconst toggleGroup = toggleButton.closest( `.${ CLASS_NAMES.GROUP_TOGGLE }` );\n\n\tif ( ! toggleGroup ) {\n\t\treturn;\n\t}\n\n\tapplyToggleState( toggleButton, toggleGroup );\n}\n\n/**\n * Apply toggle state based on toggle button settings\n * Shared functionality used by both click handler and initial state\n *\n * @private\n * @param {HTMLElement} toggleButton The toggle button element\n * @param {HTMLElement} toggleGroup The toggle group container element\n * @return {void}\n */\nfunction applyToggleState( toggleButton, toggleGroup ) {\n\tconst fieldId = toggleGroup.closest( `.${ SINGLE_SETTINGS_CLASS }` )?.dataset.fid ||\n\t\ttoggleGroup.dataset.fid;\n\n\tconst isChecked = toggleButton.checked;\n\n\t// Handle show/hide elements\n\tconst showSelectors = toggleButton.getAttribute( DATA_ATTRIBUTES.SHOW );\n\tif ( showSelectors ) {\n\t\tdocument.querySelectorAll( normalizeSelector( showSelectors, fieldId ) )\n\t\t\t.forEach( element => element.classList.toggle( HIDDEN_CLASS, ! isChecked ) );\n\t}\n\n\t// Handle disable elements\n\tconst disableSelectors = toggleButton.getAttribute( DATA_ATTRIBUTES.DISABLE );\n\tif ( disableSelectors ) {\n\t\tdocument.querySelectorAll( normalizeSelector( disableSelectors, fieldId ) )\n\t\t\t.forEach( element => {\n\t\t\t\telement.classList.toggle( DISABLED_CLASS, isChecked );\n\t\t\t\telement.querySelectorAll( 'input, select, textarea' ).forEach(\n\t\t\t\t\tformElement => formElement.disabled = isChecked\n\t\t\t\t);\n\t\t\t\telement.querySelectorAll( '.frm-show-inline-modal[tabindex]' ).forEach(\n\t\t\t\t\tinlineModal => inlineModal.tabIndex = isChecked ? -1 : 0\n\t\t\t\t);\n\t\t\t} );\n\t}\n\n\t// Handle enable elements\n\tconst enableSelectors = toggleButton.getAttribute( DATA_ATTRIBUTES.ENABLE );\n\tif ( enableSelectors ) {\n\t\tdocument.querySelectorAll( normalizeSelector( enableSelectors, fieldId ) )\n\t\t\t.forEach( element => element.classList.toggle( DISABLED_CLASS, ! isChecked ) );\n\t}\n\n\t// Toggle disabled state for all other toggle blocks within the group\n\tconst currentToggleBlock = toggleButton.closest( `.${ CLASS_NAMES.TOGGLE_BLOCK }` );\n\tArray.from( toggleGroup.querySelectorAll( `.${ CLASS_NAMES.TOGGLE_BLOCK }` ) )\n\t\t.filter( toggleBlock => toggleBlock !== currentToggleBlock )\n\t\t.forEach( toggleBlock => {\n\t\t\ttoggleBlock.classList.toggle( DISABLED_CLASS, isChecked );\n\n\t\t\t// Disable toggle switch\n\t\t\tconst toggle = toggleBlock.querySelector( '.frm_toggle' );\n\t\t\ttoggle.tabIndex = isChecked ? -1 : 0;\n\t\t\ttoggle.setAttribute( 'aria-disabled', isChecked );\n\t\t} );\n}\n\n/**\n * Normalize a selector by replacing {id} placeholders with the actual field ID\n *\n * @private\n * @param {string} selector The selector string with potential {id} placeholders\n * @param {string} fieldId The field ID to replace placeholders with\n * @return {string} The normalized selector\n */\nfunction normalizeSelector( selector, fieldId ) {\n\treturn selector.replace( /{id}/g, fieldId );\n}\n\nexport { initToggleGroupComponents };\n","/**\n * Constants for token input component\n *\n * Reusable constants for class names and other static values\n */\n\nexport const CLASS_NAMES = {\n\tCONTAINER: 'frm-token-container',\n\tTOKENS_WRAPPER: 'frm-tokens',\n\tTOKEN: 'frm-token',\n\tTOKEN_VALUE: 'frm-token-value',\n\tTOKEN_REMOVE: 'frm-token-remove',\n\tTOKEN_INPUT_FIELD: 'frm-token-input-field',\n\tTOKEN_PROXY_INPUT: 'frm-token-proxy-input',\n\tWITH_RIGHT_ICON: 'frm-with-right-icon'\n};\n\nexport const KEYS = {\n\tSPACE: ' ',\n\tENTER: 'Enter',\n\tCOMMA: ',',\n\tTAB: 'Tab',\n\tBACKSPACE: 'Backspace'\n};\n\nexport const PROXY_INPUT_HEIGHT = 36;\nexport const TOKEN_GAP = 4;\n","/**\n * Event handlers\n *\n * Functions for handling token input events\n */\n\n/**\n * Internal dependencies\n */\nimport { CLASS_NAMES, KEYS } from './constants';\nimport { addToken, removeToken, synchronizeTokensDisplay } from './token-actions';\nimport { adjustProxyInputStyle } from './proxy-input-style';\n\n/**\n * Add event listeners to token input components\n *\n * @param {HTMLElement} field The original hidden input field\n * @param {HTMLElement} proxyInput The proxy input field for interaction\n * @param {HTMLElement} tokensWrapper The wrapper for token display\n * @return {void}\n */\nexport function addEventListeners( field, proxyInput, tokensWrapper ) {\n\t// The jQuery change event is required to catch programmatic updates, as \"Add Layout Classes\" modifies the field value via jQuery\n\tjQuery( field ).on( 'change', () => synchronizeTokensDisplay( field.value, proxyInput, tokensWrapper ) );\n\n\tproxyInput.addEventListener( 'keydown', event => onProxyInputKeydown( event, field, proxyInput, tokensWrapper ) );\n\tproxyInput.addEventListener( 'blur', () => addToken( proxyInput.value.trim(), field, proxyInput ) );\n\n\ttokensWrapper.addEventListener( 'click', event => handleTokenRemoval( event, field, proxyInput ) );\n}\n\n/**\n * Handle keydown events on the proxy input field\n *\n * @private\n *\n * @param {Event} event Keydown event\n * @param {HTMLElement} field The original hidden input field\n * @param {HTMLElement} proxyInput The proxy input field for interaction\n * @param {HTMLElement} tokensWrapper The wrapper for token display\n * @return {void}\n */\nfunction onProxyInputKeydown( event, field, proxyInput, tokensWrapper ) {\n\tconst { key } = event;\n\tconst value = proxyInput.value.trim();\n\n\tswitch ( key ) {\n\t\t// Remove the last token when backspace is pressed and input field is empty (no text being typed)\n\t\tcase KEYS.BACKSPACE:\n\t\t\tif ( ! value ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst lastToken = tokensWrapper.querySelector( `.${ CLASS_NAMES.TOKEN }:last-child` );\n\t\t\t\tremoveToken( lastToken, field, proxyInput );\n\t\t\t}\n\t\t\tbreak;\n\n\t\t// Create a token from current input when delimiter keys are pressed\n\t\tcase KEYS.SPACE:\n\t\tcase KEYS.COMMA:\n\t\tcase KEYS.ENTER:\n\t\t\tevent.preventDefault();\n\t\t\taddToken( value, field, proxyInput );\n\t\t\tbreak;\n\t}\n\n\tadjustProxyInputStyle( proxyInput, tokensWrapper );\n}\n\n/**\n * Handle token removal when clicking the remove button\n *\n * @private\n *\n * @param {Event} event Click event\n * @param {HTMLElement} field The original hidden input field\n * @param {HTMLElement} proxyInput The proxy input field for interaction\n * @return {void}\n */\nfunction handleTokenRemoval( event, field, proxyInput ) {\n\tconst removeButton = event.target.closest( `.${ CLASS_NAMES.TOKEN_REMOVE }` );\n\tif ( ! removeButton ) {\n\t\treturn;\n\t}\n\n\tconst token = removeButton.closest( `.${ CLASS_NAMES.TOKEN }` );\n\tif ( ! token ) {\n\t\treturn;\n\t}\n\n\tconst tokensWrapper = token.parentElement;\n\n\tremoveToken( token, field, proxyInput );\n\tadjustProxyInputStyle( proxyInput, tokensWrapper );\n}\n","export * from './token-input';\n","/**\n * Proxy input style\n *\n * Functions for adjusting proxy input styling\n */\n\nimport { CLASS_NAMES, PROXY_INPUT_HEIGHT, TOKEN_GAP } from './constants';\n\n/**\n * Adjust styling for all proxy inputs on the current settings\n *\n * @return {void}\n */\nexport function adjustAllProxyInputStyles() {\n\tdocument.querySelectorAll( `.${ CLASS_NAMES.CONTAINER }` ).forEach( container =>\n\t\tadjustProxyInputStyle(\n\t\t\tcontainer.querySelector( `.${ CLASS_NAMES.TOKEN_PROXY_INPUT }` ),\n\t\t\tcontainer.querySelector( `.${ CLASS_NAMES.TOKENS_WRAPPER }` )\n\t\t)\n\t);\n}\n\n/**\n * Adjust the styling of the proxy input based on tokens wrapper dimensions\n *\n * @param {HTMLElement} proxyInput The proxy input field\n * @param {HTMLElement} tokensWrapper The wrapper for token display\n * @return {void}\n */\nexport function adjustProxyInputStyle( proxyInput, tokensWrapper ) {\n\tif ( ! proxyInput || ! tokensWrapper ) {\n\t\treturn;\n\t}\n\n\tconst tokens = tokensWrapper.querySelectorAll( `.${ CLASS_NAMES.TOKEN }` );\n\tconst hasTokens = tokens.length > 0;\n\n\t// Reset all styles if no tokens\n\tif ( ! hasTokens ) {\n\t\tproxyInput.style.paddingLeft = '';\n\t\tproxyInput.style.paddingTop = '';\n\t\tproxyInput.style.height = '';\n\t\treturn;\n\t}\n\n\tconst tokensWrapperHeight = tokensWrapper.offsetHeight;\n\n\t// Calculate number of rows based on wrapper height\n\tconst numRows = Math.max( 1, Math.ceil( tokensWrapperHeight / PROXY_INPUT_HEIGHT ) );\n\n\tif ( numRows > 1 ) {\n\t\t// For multiple rows, calculate the width of tokens in the last row\n\t\tconst lastRowWidth = calculateLastRowWidth( getLastRowTokens( tokens ) );\n\n\t\tproxyInput.style.height = `${ tokensWrapperHeight }px`;\n\t\tproxyInput.style.paddingTop = `${ tokensWrapperHeight - PROXY_INPUT_HEIGHT + TOKEN_GAP }px`;\n\t\tproxyInput.style.paddingLeft = lastRowWidth ? `${ lastRowWidth + ( TOKEN_GAP * 2 ) }px` : '';\n\t} else {\n\t\t// For single row, use the full width of tokens\n\t\tproxyInput.style.height = '';\n\t\tproxyInput.style.paddingTop = '';\n\t\tproxyInput.style.paddingLeft = `${ tokensWrapper.offsetWidth - TOKEN_GAP }px`;\n\t}\n}\n\n/**\n * Identify tokens in the last row of a multi-row token layout\n *\n * @param {NodeList} tokens All token elements\n * @return {Array} Array of tokens in the last row\n */\nfunction getLastRowTokens( tokens ) {\n\tif ( ! tokens.length ) {\n\t\treturn [];\n\t}\n\n\tconst tokensArray = Array.from( tokens );\n\tlet lastRowY = -1;\n\n\ttokensArray.forEach( token => {\n\t\tconst tokenRect = token.getBoundingClientRect();\n\t\tconst tokenBottom = tokenRect.bottom;\n\n\t\tif ( tokenBottom > lastRowY ) {\n\t\t\tlastRowY = tokenBottom;\n\t\t}\n\t} );\n\n\tconst threshold = TOKEN_GAP / 2;\n\treturn tokensArray.filter( token => {\n\t\tconst tokenRect = token.getBoundingClientRect();\n\t\treturn Math.abs( tokenRect.bottom - lastRowY ) <= threshold;\n\t} );\n}\n\n/**\n * Calculate the total width of tokens in the last row\n *\n * @param {Array} lastRowTokens Array of token elements in the last row\n * @return {number} Total width of tokens in the last row\n */\nfunction calculateLastRowWidth( lastRowTokens ) {\n\tif ( ! lastRowTokens.length ) {\n\t\treturn 0;\n\t}\n\n\tlet totalWidth = 0;\n\n\tlastRowTokens.forEach( token => {\n\t\ttotalWidth += token.offsetWidth;\n\t} );\n\n\ttotalWidth += ( lastRowTokens.length - 1 ) * TOKEN_GAP;\n\n\treturn totalWidth + TOKEN_GAP;\n}\n","/**\n * Token actions\n *\n * Core functions for token operations and management\n */\n\n/**\n * Internal dependencies\n */\nimport { CLASS_NAMES } from './constants';\nimport { adjustProxyInputStyle } from './proxy-input-style';\nimport { createTokenElement } from './token-elements';\n\n/**\n * Synchronize token display with the field value\n *\n * @param {string} value The field value\n * @param {HTMLElement} proxyInput The proxy input field\n * @param {HTMLElement} tokensWrapper Wrapper element for tokens\n * @return {void}\n */\nexport function synchronizeTokensDisplay( value, proxyInput, tokensWrapper ) {\n\tif ( ! value || ! tokensWrapper || ! proxyInput ) {\n\t\treturn;\n\t}\n\n\t// Clear existing tokens display and render new tokens\n\ttokensWrapper.innerHTML = '';\n\tparseTokens( value ).forEach( token => createTokenElement( token, tokensWrapper ) );\n\n\tadjustProxyInputStyle( proxyInput, tokensWrapper );\n\n\tproxyInput.focus();\n}\n\n/**\n * Add a new token to the field\n *\n * @param {string} tokenValue The token value to add\n * @param {HTMLElement} field The original field\n * @param {HTMLElement} proxyInput The proxy input\n * @return {boolean} Whether a token was added\n */\nexport function addToken( tokenValue, field, proxyInput ) {\n\tif ( ! tokenValue || ! field || ! proxyInput ) {\n\t\treturn false;\n\t}\n\n\t// Get current tokens from field value\n\tconst tokens = parseTokens( field.value );\n\n\t// Skip duplicate tokens\n\tif ( tokens.includes( tokenValue ) ) {\n\t\tclearProxyInput( proxyInput );\n\t\treturn false;\n\t}\n\n\t// Add new token\n\ttokens.push( tokenValue );\n\tupdateFieldValue( field, tokens );\n\tclearProxyInput( proxyInput );\n\treturn true;\n}\n\n/**\n * Remove a specific token from the field\n *\n * @param {HTMLElement} token The token element to remove\n * @param {HTMLElement} field The original field\n * @param {HTMLElement} proxyInput The proxy input\n * @return {void}\n */\nexport function removeToken( token, field, proxyInput ) {\n\tif ( ! token || ! field || ! proxyInput ) {\n\t\treturn;\n\t}\n\n\tconst value = token.querySelector( `.${ CLASS_NAMES.TOKEN_VALUE }` ).textContent;\n\n\t// Filter out the token to remove\n\tconst tokens = parseTokens( field.value ).filter( tokenValue => tokenValue !== value );\n\tupdateFieldValue( field, tokens );\n\n\t// Remove the token element from DOM\n\ttoken.remove();\n\n\tproxyInput.focus();\n}\n\n/**\n * Parse string input into an array of tokens\n *\n * @param {string} value Space-separated string\n * @return {string[]} Array of tokens\n */\nexport function parseTokens( value = '' ) {\n\tvalue = value.trim();\n\n\tif ( ! value ) {\n\t\treturn [];\n\t}\n\n\treturn value.split( /\\s+/ ).filter( Boolean );\n}\n\n/**\n * Update field value with tokens and trigger change event\n *\n * @param {HTMLElement} field The field to update\n * @param {string[]} tokens Array of token values\n * @return {void}\n */\nexport function updateFieldValue( field, tokens = [] ) {\n\tif ( ! field ) {\n\t\treturn;\n\t}\n\n\tfield.value = tokens.join( ' ' );\n\tjQuery( field ).trigger( 'change' );\n}\n\n/**\n * Clear proxy input and maintain focus\n *\n * @param {HTMLElement} proxyInput The proxy input field\n * @return {void}\n */\nexport function clearProxyInput( proxyInput ) {\n\tif ( ! proxyInput ) {\n\t\treturn;\n\t}\n\n\tproxyInput.value = '';\n\tproxyInput.focus();\n}\n","/**\n * Token elements\n *\n * Functions for creating token DOM elements\n */\n\n/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\nimport { CLASS_NAMES } from './constants';\n\nconst { span, svg, tag } = window.frmDom;\n\n/**\n * Create token container and input elements\n *\n * @param {HTMLElement} field Input field for tokenization\n * @return {HTMLElement|null} The container element or null if already initialized\n */\nexport function createTokenContainerElement( field ) {\n\t// Get the main container (.frm-with-right-icon) to work with Formidable's modal system\n\tconst container = field.closest( `.${ CLASS_NAMES.WITH_RIGHT_ICON }` );\n\n\tif ( container.querySelector( `.${ CLASS_NAMES.TOKENS_WRAPPER }` ) ) {\n\t\treturn null;\n\t}\n\n\tcontainer.classList.add( CLASS_NAMES.CONTAINER );\n\n\tconst tokensWrapper = span( {\n\t\tclassName: CLASS_NAMES.TOKENS_WRAPPER\n\t} );\n\n\tcontainer.insertBefore( tokensWrapper, container.firstChild );\n\n\tconst proxyInput = tag( 'input', {\n\t\tclassName: CLASS_NAMES.TOKEN_PROXY_INPUT,\n\t\tid: `${ field.id }-proxy-input`\n\t} );\n\n\tproxyInput.type = 'text';\n\n\t// Inserting proxyInput after the field is important to maintain compatibility with Formidable's modal system\n\tfield.parentNode.insertBefore( proxyInput, field.nextSibling );\n\tfield.classList.add( HIDDEN_CLASS );\n\n\treturn container;\n}\n\n/**\n * Create a single token element\n *\n * @param {string} value Token value\n * @param {HTMLElement} tokensWrapper Wrapper element for tokens\n * @return {void}\n */\nexport function createTokenElement( value, tokensWrapper ) {\n\tconst tokenElement = span( {\n\t\tclassName: CLASS_NAMES.TOKEN,\n\t\tchildren: [\n\t\t\tspan( {\n\t\t\t\ttext: value,\n\t\t\t\tclassName: CLASS_NAMES.TOKEN_VALUE\n\t\t\t} ),\n\t\t\tspan( {\n\t\t\t\tclassName: CLASS_NAMES.TOKEN_REMOVE,\n\t\t\t\tchild: svg( { href: '#frm_close_icon' } )\n\t\t\t} )\n\t\t]\n\t} );\n\n\ttokensWrapper.append( tokenElement );\n}\n","/**\n * Token Input Component\n *\n * Transforms space-separated values in a text input into selectable tokens\n */\n\n/**\n * Internal dependencies\n */\nimport { HOOKS } from 'core/constants';\nimport { CLASS_NAMES } from './constants';\nimport { createTokenContainerElement } from './token-elements';\nimport { synchronizeTokensDisplay } from './token-actions';\nimport { adjustAllProxyInputStyles } from './proxy-input-style';\nimport { addEventListeners } from './event-handlers';\n\n/**\n * Initialize all token input fields on the page\n *\n * @return {void}\n */\nfunction initTokenInputFields() {\n\tfindAndInitializeTokenFields();\n\n\t/**\n\t * Initialize for newly added fields\n\t *\n\t * @param {Event} event The frm_added_field event.\n\t * @param {HTMLElement} event.frmField The added field object being destructured from the event.\n\t */\n\tdocument.addEventListener( 'frm_added_field', ( { frmField } ) =>\n\t\tfindAndInitializeTokenFields( frmField.dataset.fid )\n\t);\n\n\t/**\n\t * Initialize for newly added fields via AJAX\n\t *\n\t * @param {Event} event The frm_ajax_loaded_field event.\n\t * @param {HTMLElement} event.frmFields The added field objects being destructured from the event.\n\t */\n\tdocument.addEventListener( 'frm_ajax_loaded_field', ( { frmFields } ) =>\n\t\tfrmFields.forEach( field => findAndInitializeTokenFields( field.id ) )\n\t);\n\n\t// Adjust styling for all token inputs when field settings are shown\n\twp.hooks.addAction( HOOKS.SHOW_FIELD_SETTINGS, 'formidable-token-input', adjustAllProxyInputStyles );\n}\n\n/**\n * Find all token input fields and initialize them\n *\n * @private\n * @param {string|number} fieldId The ID of the field to initialize\n * @return {void}\n */\nfunction findAndInitializeTokenFields( fieldId ) {\n\tconst container = fieldId ? document.getElementById( `frm-single-settings-${ fieldId }` ) : document.body;\n\tconst tokenInputFields = container.querySelectorAll( `.${ CLASS_NAMES.TOKEN_INPUT_FIELD }` );\n\tif ( ! tokenInputFields.length ) {\n\t\treturn;\n\t}\n\n\t// Track processed fields to prevent duplicate initialization\n\tconst processedFields = new Set();\n\ttokenInputFields.forEach( field => {\n\t\tif ( ! processedFields.has( field.id ) ) {\n\t\t\tsetupTokenInput( field );\n\t\t\tprocessedFields.add( field.id );\n\t\t}\n\t} );\n}\n\n/**\n * Set up a token input field with token container\n *\n * @private\n *\n * @param {HTMLElement} field Input field for tokenization\n */\nfunction setupTokenInput( field ) {\n\tconst container = createTokenContainerElement( field );\n\tif ( ! container ) {\n\t\treturn;\n\t}\n\n\tconst proxyInput = container.querySelector( `.${ CLASS_NAMES.TOKEN_PROXY_INPUT }` );\n\tconst tokensWrapper = container.querySelector( `.${ CLASS_NAMES.TOKENS_WRAPPER }` );\n\n\tsynchronizeTokensDisplay( field.value, proxyInput, tokensWrapper );\n\taddEventListeners( field, proxyInput, tokensWrapper );\n}\n\nexport { initTokenInputFields };\n","/**\n * Internal dependencies\n */\nimport { documentOn } from 'core/utils';\n\n/**\n * Setup unit input handlers\n *\n * @return {void}\n */\nexport function setupUnitInputHandlers() {\n\tdocumentOn( 'change', '.frm-unit-input .frm-unit-input-control', onUnitInputChange );\n\tdocumentOn( 'change', '.frm-unit-input select', onUnitInputChange );\n}\n\n/**\n * Handle the change event for the unit input\n *\n * @private\n * @param {Event} event The event object.\n * @return {void}\n */\nfunction onUnitInputChange( event ) {\n\tconst unitInput = event.target.closest( '.frm-unit-input' );\n\tconst control = unitInput.querySelector( '.frm-unit-input-control' );\n\tconst unit = unitInput.querySelector( 'select' ).value;\n\n\t// Update input type when unit changes\n\tif ( event.target.matches( 'select' ) ) {\n\t\tcontrol.type = '' === unit ? 'text' : 'number';\n\t}\n\n\t// Update the actual field value\n\tconst inputValue = control.value.trim();\n\tunitInput.querySelector( 'input[type=\"hidden\"]' ).value = '' !== inputValue ? inputValue + unit : '';\n}\n\n","/**\n * Redirects to \"Add Fields\" tab when the \"Add Fields\" button is clicked.\n *\n * When users view the Field Options tab with no fields, they see an \"Add Fields\" button.\n * Clicking this button should take them to the \"Add Fields\" tab for field selection.\n */\n\n/**\n * Initializes the Add Fields button click handler.\n */\nconst initAddFieldsButtonHandler = () => {\n\tdocument.getElementById( 'frm-form-add-field' )?.addEventListener( 'click', event => {\n\t\tevent.preventDefault();\n\t\tdocument.querySelector( '.frm-settings-panel .frm-tabs-navs ul > li:first-child' )?.click();\n\t} );\n};\n\nexport default initAddFieldsButtonHandler;\n","export { default as initAddFieldsButtonHandler } from './add-fields-button-handler';\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](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\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))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * WordPress dependencies\n */\nimport domReady from '@wordpress/dom-ready';\n\n/**\n * Internal dependencies\n */\nimport { initAddFieldsButtonHandler } from './events';\nimport {\n\tfrmRadioComponent,\n\tfrmSliderComponent,\n\tfrmTabsComponent,\n\tinitTokenInputFields,\n\tinitToggleGroupComponents,\n\tsetupUnitInputHandlers\n} from './components';\n\ndomReady( () => {\n\tnew frmRadioComponent();\n\tnew frmSliderComponent();\n\tnew frmTabsComponent();\n\tinitAddFieldsButtonHandler();\n\tinitTokenInputFields();\n\tinitToggleGroupComponents();\n\tsetupUnitInputHandlers();\n} );\n"],"names":["frmStyleDependentUpdaterComponent","component","_classCallCheck","willChangeData","JSON","parse","dataset","willChange","data","propagateInputs","initPropagationList","changeEvent","Event","bubbles","error","console","_createClass","key","value","inputNames","list","forEach","name","input","document","querySelector","concat","push","updateAllDependentElements","dispatchEvent","default","frmTabsNavigator","wrapper","Element","flexboxSlidesGap","navs","querySelectorAll","slideTrackLine","slideTrack","slides","isRTL","documentElement","dir","body","resizeObserver","init","_this","length","initDefaultSlideTrackerWidth","nav","index","addEventListener","event","onNavClick","setupScrollbarObserver","window","cleanupObservers","navItem","currentTarget","preventDefault","removeActiveClassnameFromNavs","classList","add","initSlideTrackUnderline","changeSlide","navLink","id","closest","_window$frmAdminBuild","_window$frmAdminBuild2","frmAdminBuild","clearSettingsBox","call","initialWidth","style","width","remove","activeNav","filter","contains","positionUnderlineIndicator","_this2","scrollbarWrapper","ResizeObserver","observe","disconnect","_this3","requestAnimationFrame","position","parentElement","offsetWidth","offsetLeft","transform","clientWidth","removeActiveClassnameFromSlides","translate","parseInt","removeProperty","slide","_window$frmGlobal","frmGlobal","PLUGIN_URL","url","nonce","HIDDEN_CLASS","DISABLED_CLASS","HIDE_JS_CLASS","CURRENT_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","frmAnimate","elements","type","arguments","undefined","prepareElements","fadeIn","applyStyleToElements","element","resetOpacity","once","cascadeFadeIn","delay","setTimeout","transitionDelay","opacity","callback","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","hide","show","showFormError","inputId","errorId","message","inputElement","errorElement","warn","span","textContent","setAttribute","_frmDom","frmDom","div","tag","a","img","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","onClickPreventDefault","documentOn","doJsonPost","ajax","p","args","bold","button","URL","location","href","urlParams","searchParams","getQueryParam","paramName","get","removeQueryParam","delete","search","toString","setQueryParam","paramValue","updateMethod","set","includes","state","_defineProperty","history","hasQueryParam","has","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","HTMLElement","isEmptyObject","obj","Object","keys","constructor","showElements","_Array$from","Array","from","hideElements","_Array$from2","isVisible","styles","getComputedStyle","getPropertyValue","frmRadioComponent","frmSliderComponent","frmTabsComponent","radioElements","observers","Map","_ref","frmField","discoverAndInitFieldRadios","fid","_ref2","frmFields","field","resizeTimeout","throttledUpdateAllTrackers","initRadio","initTrackerOnAccordionClick","fieldId","fieldContainer","getElementById","Error","initOnRadioChange","initVisibilityObserver","accordionitems","accordionitem","target","radioButtons","radio","onRadioChange","radioElement","_this4","checked","activeItem","moveTracker","hideExtraElements","maybeShowExtraElements","elementAttr","getAttribute","_this5","_this6","observer","MutationObserver","attributes","attributeFilter","parent","i","clear","offset","tracker","left","frmDependentUpdaterComponent","sliderElements","settings","loadedByWebComponent","sliderBulletWidth","sliderMarginRight","eventsChange","debounce","valueChangeDebouncer","triggerValueChange","initOptions","options","parentWrapper","steps","dragging","startX","translateX","maxValue","dependentUpdater","initDraggable","initSlidersPositionInsideWebComponent","initSlidersPosition","cancelable","draggableBullet","valueInput","unit","getMaxValue","initSliderWidth","fullValue","updateValue","expandSliderGroup","updateOnUnitChange","changeSliderPositionOnClick","maybeDisableUnitDropdown","stopPropagation","enableDragging","onMouseMove","moveEvent","onMouseUp","disableDragging","removeEventListener","svgIcon","displaySliders","sliderGroupItems","getSliderGroupItems","item","toggle","toLowerCase","frmSlider","customEvent","sliderWidth","sliderRect","getBoundingClientRect","deltaX","clientX","calculateValue","initChildSlidersWidth","slidersGroup","split","query","map","join","_this7","quickSettings","openedAccordion","wp","hooks","addAction","imageBackgroundOpacitySlider","initSlidersWidth","initSliderPositionOnFieldShapeChange","_this8","fieldShapeType","slider","section","_this9","sliders","sliderIndex","getSliderIndex","Math","ceil","round","calculateDeltaXFromSteps","_this0","childSliders","childIndex","option","max","min","innerText","_this1","NodeList","_this10","userBaseFontSizeInput","inputValue","newValue","childSlidersGroup","unitMeasure","getUnitMeasureFromValue","inputValues","visibleValues","find","select","stepIndex","indexOf","closestValue","snapToStep","closestIndex","clampedIndex","nearest","minDiff","abs","diff","initOnTabClick","initActiveBackgroundWidth","tab","onTabClick","CLASS_NAMES","GROUP_TOGGLE","TOGGLE_BLOCK","DATA_ATTRIBUTES","GROUP_NAME","SHOW","DISABLE","ENABLE","initToggleGroupComponents","applyInitialState","addEventListeners","toggleGroups","toggleGroup","toggleButton","applyToggleState","handleToggleClick","_toggleGroup$closest","isChecked","showSelectors","normalizeSelector","disableSelectors","formElement","disabled","inlineModal","tabIndex","enableSelectors","currentToggleBlock","toggleBlock","selector","replace","CONTAINER","TOKENS_WRAPPER","TOKEN","TOKEN_VALUE","TOKEN_REMOVE","TOKEN_INPUT_FIELD","TOKEN_PROXY_INPUT","WITH_RIGHT_ICON","KEYS","SPACE","ENTER","COMMA","TAB","BACKSPACE","PROXY_INPUT_HEIGHT","TOKEN_GAP","addToken","removeToken","synchronizeTokensDisplay","adjustProxyInputStyle","proxyInput","tokensWrapper","jQuery","on","onProxyInputKeydown","trim","handleTokenRemoval","lastToken","removeButton","token","adjustAllProxyInputStyles","container","tokens","hasTokens","paddingLeft","paddingTop","height","tokensWrapperHeight","offsetHeight","numRows","lastRowWidth","calculateLastRowWidth","getLastRowTokens","tokensArray","lastRowY","tokenRect","tokenBottom","bottom","threshold","lastRowTokens","totalWidth","createTokenElement","innerHTML","parseTokens","focus","tokenValue","clearProxyInput","updateFieldValue","Boolean","trigger","_window$frmDom","createTokenContainerElement","className","insertBefore","firstChild","parentNode","nextSibling","tokenElement","children","text","child","append","initTokenInputFields","findAndInitializeTokenFields","tokenInputFields","processedFields","Set","setupTokenInput","setupUnitInputHandlers","onUnitInputChange","unitInput","control","matches","initAddFieldsButtonHandler","_document$getElementB","_document$querySelect","click","domReady"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"formidable-settings-components.js","mappings":";;;;;;;;;;;;;;AAAA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,YAAY;AACZ;AACe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,iC;;;;;;;;;;;;;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AALA,IAMqBA,iCAAiC;EACrD;AACD;AACA;AACA;AACA;EACC,SAAAA,kCAAaC,SAAS,EAAG;IAAAC,eAAA,OAAAF,iCAAA;IACxB,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI;MACH,IAAME,cAAc,GAAGC,IAAI,CAACC,KAAK,CAAE,IAAI,CAACJ,SAAS,CAACK,OAAO,CAACC,UAAW,CAAC;MACtE,IAAI,CAACC,IAAI,GAAG;QACXC,eAAe,EAAE,IAAI,CAACC,mBAAmB,CAAEP,cAAe,CAAC;QAC3DQ,WAAW,EAAE,IAAIC,KAAK,CAAE,QAAQ,EAAE;UAAEC,OAAO,EAAE;QAAK,CAAE;MACrD,CAAC;IACF,CAAC,CAAC,OAAQC,KAAK,EAAG;MACjBC,OAAO,CAACD,KAAK,CAAE,uDAAuD,EAAEA,KAAM,CAAC;IAChF;EACD;;EAEA;AACD;AACA;AACA;AACA;AACA;AACA;EANC,OAAAE,YAAA,CAAAhB,iCAAA;IAAAiB,GAAA;IAAAC,KAAA,EAOA,SAAAR,mBAAmBA,CAAES,UAAU,EAAG;MACjC,IAAMC,IAAI,GAAG,EAAE;MACfD,UAAU,CAACE,OAAO,CAAE,UAAAC,IAAI,EAAI;QAC3B,IAAMC,KAAK,GAAGC,QAAQ,CAACC,aAAa,iBAAAC,MAAA,CAAkBJ,IAAI,QAAM,CAAC;QACjE,IAAK,IAAI,KAAKC,KAAK,EAAG;UACrBH,IAAI,CAACO,IAAI,CAAEJ,KAAM,CAAC;QACnB;MACD,CAAE,CAAC;MACH,OAAOH,IAAI;IACZ;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAAH,GAAA;IAAAC,KAAA,EAKA,SAAAU,0BAA0BA,CAAEV,KAAK,EAAG;MACnC,IAAI,CAACV,IAAI,CAACC,eAAe,CAACY,OAAO,CAAE,UAAAE,KAAK,EAAI;QAC3CA,KAAK,CAACL,KAAK,GAAGA,KAAK;MACpB,CAAE,CAAC;MACH,IAAI,CAACV,IAAI,CAACC,eAAe,CAAE,CAAC,CAAE,CAACoB,aAAa,CAAE,IAAI,CAACrB,IAAI,CAACG,WAAY,CAAC;IACtE;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;ACrDK,IAAMoB,gBAAgB;EAC5B,SAAAA,iBAAaC,OAAO,EAAG;IAAA9B,eAAA,OAAA6B,gBAAA;IACtB,IAAKC,OAAO,KAAKC,SAAS,EAAG;MAC5B;IACD;IAEA,IAAI,CAACD,OAAO,GAAGA,OAAO,YAAYE,OAAO,GAAGF,OAAO,GAAGR,QAAQ,CAACC,aAAa,CAAEO,OAAQ,CAAC;IAEvF,IAAK,IAAI,KAAK,IAAI,CAACA,OAAO,EAAG;MAC5B;IACD;IAEA,IAAI,CAACG,gBAAgB,GAAG,MAAM;IAC9B,IAAI,CAACC,IAAI,GAAG,IAAI,CAACJ,OAAO,CAACK,gBAAgB,CAAE,wBAAyB,CAAC;IACrE,IAAI,CAACC,cAAc,GAAG,IAAI,CAACN,OAAO,CAACP,aAAa,CAAE,4BAA6B,CAAC;IAChF,IAAI,CAACc,UAAU,GAAG,IAAI,CAACP,OAAO,CAACP,aAAa,CAAE,uBAAwB,CAAC;IACvE,IAAI,CAACe,MAAM,GAAG,IAAI,CAACR,OAAO,CAACK,gBAAgB,CAAE,6BAA8B,CAAC;IAC5E,IAAI,CAACI,KAAK,GAAGjB,QAAQ,CAACkB,eAAe,CAACC,GAAG,KAAK,KAAK,IAAInB,QAAQ,CAACoB,IAAI,CAACD,GAAG,KAAK,KAAK;IAClF,IAAI,CAACE,cAAc,GAAG,IAAI;IAE1B,IAAI,CAACC,IAAI,CAAC,CAAC;EACZ;EAAC,OAAA9B,YAAA,CAAAe,gBAAA;IAAAd,GAAA;IAAAC,KAAA,EAED,SAAA4B,IAAIA,CAAA,EAAG;MAAA,IAAAC,KAAA;MACN,IAAK,IAAI,KAAK,IAAI,CAACf,OAAO,IAAI,CAAE,IAAI,CAACI,IAAI,CAACY,MAAM,IAAI,IAAI,KAAK,IAAI,CAACV,cAAc,IAAI,IAAI,KAAK,IAAI,CAACC,UAAU,IAAI,CAAE,IAAI,CAACC,MAAM,CAACQ,MAAM,EAAG;QACtI;MACD;MAEA,IAAI,CAACC,4BAA4B,CAAC,CAAC;MACnC,IAAI,CAACb,IAAI,CAACf,OAAO,CAAE,UAAE6B,GAAG,EAAEC,KAAK,EAAM;QACpCD,GAAG,CAACE,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK;UAAA,OAAIN,KAAI,CAACO,UAAU,CAAED,KAAK,EAAEF,KAAM,CAAC;QAAA,CAAC,CAAC;MAC1E,CAAE,CAAC;MAEH,IAAI,CAACI,sBAAsB,CAAC,CAAC;MAC7B;MACAC,MAAM,CAACJ,gBAAgB,CAAE,cAAc,EAAE,IAAI,CAACK,gBAAiB,CAAC;IACjE;EAAC;IAAAxC,GAAA;IAAAC,KAAA,EAED,SAAAoC,UAAUA,CAAED,KAAK,EAAEF,KAAK,EAAG;MAC1B,IAAMO,OAAO,GAAGL,KAAK,CAACM,aAAa;MAEnCN,KAAK,CAACO,cAAc,CAAC,CAAC;MAEtB,IAAI,CAACC,6BAA6B,CAAC,CAAC;MACpCH,OAAO,CAACI,SAAS,CAACC,GAAG,CAAE,YAAa,CAAC;MACrC,IAAI,CAACC,uBAAuB,CAAEN,OAAO,EAAEP,KAAM,CAAC;MAC9C,IAAI,CAACc,WAAW,CAAEd,KAAM,CAAC;;MAEzB;MACA,IAAMe,OAAO,GAAGR,OAAO,CAACjC,aAAa,CAAE,GAAI,CAAC;MAC5C,IAAKyC,OAAO,IAAIA,OAAO,CAACC,EAAE,KAAK,uBAAuB,IAAI,CAAED,OAAO,CAACE,OAAO,CAAE,eAAgB,CAAC,EAAG;QAAA,IAAAC,qBAAA,EAAAC,sBAAA;QAChG,CAAAD,qBAAA,GAAAb,MAAM,CAACe,aAAa,cAAAF,qBAAA,gBAAAC,sBAAA,GAApBD,qBAAA,CAAsBG,gBAAgB,cAAAF,sBAAA,eAAtCA,sBAAA,CAAAG,IAAA,CAAAJ,qBAAyC,CAAC;MAC3C;IACD;EAAC;IAAApD,GAAA;IAAAC,KAAA,EAED,SAAA+B,4BAA4BA,CAAA,EAAG;MAC9B,IAAK,CAAE,IAAI,CAACX,cAAc,CAAChC,OAAO,CAACoE,YAAY,EAAG;QACjD;MACD;MACA,IAAI,CAACpC,cAAc,CAACqC,KAAK,CAACC,KAAK,MAAAlD,MAAA,CAAO,IAAI,CAACY,cAAc,CAAChC,OAAO,CAACoE,YAAY,OAAK;IACpF;EAAC;IAAAzD,GAAA;IAAAC,KAAA,EACD,SAAA8C,uBAAuBA,CAAEd,GAAG,EAAEC,KAAK,EAAG;MACrC,IAAI,CAACb,cAAc,CAACwB,SAAS,CAACe,MAAM,CAAE,WAAW,EAAE,UAAW,CAAC;MAC/D,IAAMC,SAAS,GAAG5B,GAAG,KAAKjB,SAAS,GAAGiB,GAAG,GAAG,IAAI,CAACd,IAAI,CAAC2C,MAAM,CAAE,UAAA7B,GAAG;QAAA,OAAIA,GAAG,CAACY,SAAS,CAACkB,QAAQ,CAAE,YAAa,CAAC;MAAA,CAAC,CAAC;MAC7G,IAAI,CAACC,0BAA0B,CAAEH,SAAU,CAAC;IAC7C;;IAEA;AACD;AACA;AACA;EAHC;IAAA7D,GAAA;IAAAC,KAAA,EAIA,SAAAqC,sBAAsBA,CAAA,EAAG;MAAA,IAAA2B,MAAA;MACxB,IAAMC,gBAAgB,GAAG,IAAI,CAACnD,OAAO,CAACoC,OAAO,CAAE,wBAAyB,CAAC;MAEzE,IAAK,CAAEe,gBAAgB,IAAI,EAAI,gBAAgB,IAAI3B,MAAM,CAAE,EAAG;QAC7D;MACD;MAEA,IAAI,CAACX,cAAc,GAAG,IAAIuC,cAAc,CAAE,YAAM;QAC/C,IAAMN,SAAS,GAAGI,MAAI,CAAClD,OAAO,CAACP,aAAa,CAAE,mCAAoC,CAAC;QACnF,IAAKqD,SAAS,EAAG;UAChBI,MAAI,CAACD,0BAA0B,CAAEH,SAAU,CAAC;QAC7C;MACD,CAAE,CAAC;MAEH,IAAI,CAACjC,cAAc,CAACwC,OAAO,CAAEF,gBAAiB,CAAC;IAChD;;IAEA;AACD;AACA;EAFC;IAAAlE,GAAA;IAAAC,KAAA,EAGA,SAAAuC,gBAAgBA,CAAA,EAAG;MAClB,IAAK,IAAI,CAACZ,cAAc,EAAG;QAC1B,IAAI,CAACA,cAAc,CAACyC,UAAU,CAAC,CAAC;QAChC,IAAI,CAACzC,cAAc,GAAG,IAAI;MAC3B;IACD;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAA5B,GAAA;IAAAC,KAAA,EAKA,SAAA+D,0BAA0BA,CAAEH,SAAS,EAAG;MAAA,IAAAS,MAAA;MACvCC,qBAAqB,CAAE,YAAM;QAC5B,IAAMC,QAAQ,GAAGF,MAAI,CAAC9C,KAAK,GACxB,EAAGqC,SAAS,CAACY,aAAa,CAACC,WAAW,GAAGb,SAAS,CAACc,UAAU,GAAGd,SAAS,CAACa,WAAW,CAAE,GACvFb,SAAS,CAACc,UAAU;QAEvBL,MAAI,CAACjD,cAAc,CAACqC,KAAK,CAACkB,SAAS,iBAAAnE,MAAA,CAAkB+D,QAAQ,QAAM;QACnEF,MAAI,CAACjD,cAAc,CAACqC,KAAK,CAACC,KAAK,GAAGE,SAAS,CAACgB,WAAW,GAAG,IAAI;MAC/D,CAAE,CAAC;IACJ;EAAC;IAAA7E,GAAA;IAAAC,KAAA,EAED,SAAA+C,WAAWA,CAAEd,KAAK,EAAG;MACpB,IAAI,CAAC4C,+BAA+B,CAAC,CAAC;MACtC,IAAMC,SAAS,GAAG7C,KAAK,IAAI,CAAC,GAAG,KAAK,cAAAzB,MAAA,CAAiByB,KAAK,GAAG,GAAG,UAAAzB,MAAA,CAAWuE,QAAQ,CAAE,IAAI,CAAC9D,gBAAgB,EAAE,EAAG,CAAC,GAAGgB,KAAK,aAAAzB,MAAA,CAAY,IAAI,CAACe,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,OAAK;MAC5J,IAAK,KAAK,KAAKuD,SAAS,EAAG;QAC1B,IAAI,CAACzD,UAAU,CAACoC,KAAK,CAACkB,SAAS,iBAAAnE,MAAA,CAAkBsE,SAAS,MAAI;MAC/D,CAAC,MAAM;QACN,IAAI,CAACzD,UAAU,CAACoC,KAAK,CAACuB,cAAc,CAAE,WAAY,CAAC;MACpD;MACA,IAAK/C,KAAK,IAAI,IAAI,CAACX,MAAM,EAAG;QAC3B,IAAI,CAACA,MAAM,CAAEW,KAAK,CAAE,CAACW,SAAS,CAACC,GAAG,CAAE,YAAa,CAAC;MACnD;IACD;EAAC;IAAA9C,GAAA;IAAAC,KAAA,EAED,SAAA6E,+BAA+BA,CAAA,EAAG;MACjC,IAAI,CAACvD,MAAM,CAACnB,OAAO,CAAE,UAAA8E,KAAK;QAAA,OAAIA,KAAK,CAACrC,SAAS,CAACe,MAAM,CAAE,YAAa,CAAC;MAAA,CAAC,CAAC;IACvE;EAAC;IAAA5D,GAAA;IAAAC,KAAA,EAED,SAAA2C,6BAA6BA,CAAA,EAAG;MAC/B,IAAI,CAACzB,IAAI,CAACf,OAAO,CAAE,UAAA6B,GAAG;QAAA,OAAIA,GAAG,CAACY,SAAS,CAACe,MAAM,CAAE,YAAa,CAAC;MAAA,CAAC,CAAC;IACjE;EAAC;AAAA,I;;;;;;;;;;;;;;;;;;;;;;ACrIK,IAAAuB,iBAAA,GAAmC5C,MAAM,CAAC6C,SAAS;EAAtCC,UAAU,GAAAF,iBAAA,CAAfG,GAAG;EAAcC,KAAK,GAAAJ,iBAAA,CAALI,KAAK;AAAsB;AACpD,IAAMC,YAAY,GAAG,YAAY;AACjC,IAAMC,cAAc,GAAG,cAAc;AACrC,IAAMC,aAAa,GAAG,aAAa;AACnC,IAAMC,aAAa,GAAG,aAAa;AACnC,IAAMC,aAAa,GAAG,aAAa;AACnC,IAAMC,qBAAqB,GAAG,qBAAqB;AAEnD,IAAMC,KAAK,GAAG;EACpBC,mBAAmB,EAAE;AACtB,CAAC,C;;;;;;;;;;;;;;;;;;;;ACVM,IAAMC,UAAU;EACtB;AACD;AACA;AACA;AACA;AACA;EACC,SAAAA,WAAaC,QAAQ,EAAqB;IAAA,IAAnBC,IAAI,GAAAC,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAnF,SAAA,GAAAmF,SAAA,MAAG,SAAS;IAAAlH,eAAA,OAAA+G,UAAA;IACtC,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAEhB,IAAI,CAACE,eAAe,CAAC,CAAC;EACvB;;EAEA;AACD;AACA;AACA;AACA;EAJC,OAAArG,YAAA,CAAAiG,UAAA;IAAAhG,GAAA;IAAAC,KAAA,EAKA,SAAAoG,MAAMA,CAAA,EAAG;MAAA,IAAAvE,KAAA;MACR,IAAI,CAACwE,oBAAoB,CAAE,UAAAC,OAAO,EAAI;QACrCA,OAAO,CAAC1D,SAAS,CAACC,GAAG,CAAE,eAAgB,CAAC;QAExCyD,OAAO,CAACpE,gBAAgB,CAAE,cAAc,EAAE,YAAM;UAC/CL,KAAI,CAAC0E,YAAY,CAAC,CAAC;UACnBD,OAAO,CAAC1D,SAAS,CAACe,MAAM,CAAE,eAAgB,CAAC;QAC5C,CAAC,EAAE;UAAE6C,IAAI,EAAE;QAAK,CAAE,CAAC;MACpB,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EAPC;IAAAzG,GAAA;IAAAC,KAAA,EAQA,SAAAyG,aAAaA,CAAA,EAAiB;MAAA,IAAAzC,MAAA;MAAA,IAAf0C,KAAK,GAAAR,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAnF,SAAA,GAAAmF,SAAA,MAAG,IAAI;MAC1BS,UAAU,CAAE,YAAM;QACjB3C,MAAI,CAACqC,oBAAoB,CAAE,UAAEC,OAAO,EAAErE,KAAK,EAAM;UAChDqE,OAAO,CAAC1D,SAAS,CAACe,MAAM,CAAE,aAAc,CAAC;UACzC2C,OAAO,CAAC7C,KAAK,CAACmD,eAAe,GAAK,CAAE3E,KAAK,GAAG,CAAC,IAAKyE,KAAK,GAAK,GAAG;QAChE,CAAE,CAAC;MACJ,CAAC,EAAE,GAAI,CAAC;IACT;EAAC;IAAA3G,GAAA;IAAAC,KAAA,EAED,SAAAmG,eAAeA,CAAA,EAAG;MAAA,IAAA9B,MAAA;MACjB,IAAI,CAACgC,oBAAoB,CAAE,UAAAC,OAAO,EAAI;QACrC,IAAK,SAAS,KAAKjC,MAAI,CAAC4B,IAAI,EAAG;UAC9BK,OAAO,CAAC7C,KAAK,CAACoD,OAAO,GAAG,KAAK;QAC9B;QACA,IAAK,SAAS,KAAKxC,MAAI,CAAC4B,IAAI,EAAG;UAC9BK,OAAO,CAAC1D,SAAS,CAACC,GAAG,CAAE,4BAA6B,CAAC;QACtD;QACA,IAAK,YAAY,KAAKwB,MAAI,CAAC4B,IAAI,EAAG;UACjCK,OAAO,CAAC1D,SAAS,CAACC,GAAG,CAAE,oBAAqB,CAAC;QAC9C;QACAyD,OAAO,CAAC1D,SAAS,CAACC,GAAG,CAAE,aAAc,CAAC;MACvC,CAAE,CAAC;IACJ;EAAC;IAAA9C,GAAA;IAAAC,KAAA,EAED,SAAAuG,YAAYA,CAAA,EAAG;MACd,IAAI,CAACF,oBAAoB,CAAE,UAAAC,OAAO;QAAA,OAAIA,OAAO,CAAC7C,KAAK,CAACoD,OAAO,GAAG,KAAK;MAAA,CAAC,CAAC;IACtE;EAAC;IAAA9G,GAAA;IAAAC,KAAA,EAED,SAAAqG,oBAAoBA,CAAES,QAAQ,EAAG;MAChC,IAAK,IAAI,CAACd,QAAQ,YAAYhF,OAAO,EAAG;QACvC8F,QAAQ,CAAE,IAAI,CAACd,QAAQ,EAAE,CAAE,CAAC;QAC5B;MACD;MACA,IAAK,CAAC,GAAG,IAAI,CAACA,QAAQ,CAAClE,MAAM,EAAG;QAC/B,IAAI,CAACkE,QAAQ,CAAC7F,OAAO,CAAE,UAAEmG,OAAO,EAAErE,KAAK;UAAA,OAAM6E,QAAQ,CAAER,OAAO,EAAErE,KAAM,CAAC;QAAA,CAAC,CAAC;MAC1E;IACD;EAAC;AAAA,I;;;;;;;;;;;;;;AC1EF;AACA,IAAI8E,WAAW,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,IAAI;EAAA,OAAIJ,WAAW,GAAGA,WAAW,CAACK,IAAI,CAAED,IAAK,CAAC,CAACE,KAAK,CAAEF,IAAK,CAAC;AAAA,E;;;;;;;;;;;;;;;ACT7F;AACA;AACA;AAC+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMK,aAAa,GAAG,SAAhBA,aAAaA,CAAKC,OAAO,EAAEC,OAAO,EAAEzB,IAAI,EAAE0B,OAAO,EAAM;EACnE,IAAMC,YAAY,GAAGtH,QAAQ,CAACC,aAAa,CAAEkH,OAAQ,CAAC;EACtD,IAAMI,YAAY,GAAGvH,QAAQ,CAACC,aAAa,CAAEmH,OAAQ,CAAC;EAEtD,IAAK,CAAEE,YAAY,IAAI,CAAEC,YAAY,EAAG;IACvChI,OAAO,CAACiI,IAAI,CAAE,uDAAwD,CAAC;IACvE;EACD;;EAEA;EACA,IAAKH,OAAO,EAAG;IACd,IAAMI,IAAI,GAAGF,YAAY,CAACtH,aAAa,qBAAAC,MAAA,CAAsByF,IAAI,QAAM,CAAC;IACxE,IAAK8B,IAAI,EAAG;MACXA,IAAI,CAACC,WAAW,GAAGL,OAAO;IAC3B;EACD;;EAEA;EACAE,YAAY,CAACI,YAAY,CAAE,WAAW,EAAEhC,IAAK,CAAC;EAC9CsB,uCAAI,CAAEM,YAAa,CAAC;;EAEpB;EACAD,YAAY,CAAC1F,gBAAgB,CAAE,OAAO,EAAE,YAAM;IAC7CoF,uCAAI,CAAEO,YAAa,CAAC;EACrB,CAAC,EAAE;IAAErB,IAAI,EAAE;EAAK,CAAE,CAAC;AACpB,CAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCD,IAAA0B,OAAA,GAAwCC,MAAM;EAAtCC,GAAG,GAAAF,OAAA,CAAHE,GAAG;EAAEL,IAAI,GAAAG,OAAA,CAAJH,IAAI;EAAEM,GAAG,GAAAH,OAAA,CAAHG,GAAG;EAAEC,CAAC,GAAAJ,OAAA,CAADI,CAAC;EAAEC,GAAG,GAAAL,OAAA,CAAHK,GAAG;EAAEC,GAAG,GAAAN,OAAA,CAAHM,GAAG;AACnC,IAAAC,aAAA,GAA2CN,MAAM,CAACO,KAAK;EAA/CC,gBAAgB,GAAAF,aAAA,CAAhBE,gBAAgB;EAAEC,YAAY,GAAAH,aAAA,CAAZG,YAAY;AACtC,IAAAC,YAAA,GAA8CV,MAAM,CAACW,IAAI;EAAjDC,qBAAqB,GAAAF,YAAA,CAArBE,qBAAqB;EAAEC,UAAU,GAAAH,YAAA,CAAVG,UAAU;AACzC,IAAQC,UAAU,GAAKd,MAAM,CAACe,IAAI,CAA1BD,UAAU;AAClB,IAAME,CAAC,GAAG,SAAJA,CAACA,CAAGC,IAAI;EAAA,OAAIf,GAAG,CAAE,GAAG,EAAEe,IAAK,CAAC;AAAA;AAClC,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAGD,IAAI;EAAA,OAAIf,GAAG,CAAE,QAAQ,EAAEe,IAAK,CAAC;AAAA;AAC1C,IAAME,MAAM,GAAG,SAATA,MAAMA,CAAGF,IAAI;EAAA,OAAIf,GAAG,CAAE,QAAQ,EAAEe,IAAK,CAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNhB;AACJ;AACA;AACQ;AACV;AACO;;;;;;;;;;;;;;;;;;;;;;;ACL7B;AACA;AACA;AACA,IAAM/D,GAAG,GAAG,IAAIkE,GAAG,CAAEjH,MAAM,CAACkH,QAAQ,CAACC,IAAK,CAAC;AAC3C,IAAMC,SAAS,GAAGrE,GAAG,CAACsE,YAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,SAAS;EAAA,OAAIH,SAAS,CAACI,GAAG,CAAED,SAAU,CAAC;AAAA;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACO,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGF,SAAS,EAAI;EAC5CH,SAAS,CAACM,MAAM,CAAEH,SAAU,CAAC;EAC7BxE,GAAG,CAAC4E,MAAM,GAAGP,SAAS,CAACQ,QAAQ,CAAC,CAAC;EACjC,OAAO7E,GAAG,CAAC6E,QAAQ,CAAC,CAAC;AACtB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAKN,SAAS,EAAEO,UAAU,EAAkC;EAAA,IAAhCC,YAAY,GAAAnE,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAnF,SAAA,GAAAmF,SAAA,MAAG,WAAW;EAC/EwD,SAAS,CAACY,GAAG,CAAET,SAAS,EAAEO,UAAW,CAAC;EACtC/E,GAAG,CAAC4E,MAAM,GAAGP,SAAS,CAACQ,QAAQ,CAAC,CAAC;EAEjC,IAAK,CAAE,WAAW,EAAE,cAAc,CAAE,CAACK,QAAQ,CAAEF,YAAa,CAAC,EAAG;IAC/D,IAAMG,KAAK,GAAAC,eAAA,KAAOZ,SAAS,EAAIO,UAAU,CAAE;IAC3C9H,MAAM,CAACoI,OAAO,CAAEL,YAAY,CAAE,CAAEG,KAAK,EAAE,EAAE,EAAEnF,GAAI,CAAC;EACjD;EAEA,OAAOA,GAAG,CAAC6E,QAAQ,CAAC,CAAC;AACtB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,IAAMS,aAAa,GAAG,SAAhBA,aAAaA,CAAGd,SAAS;EAAA,OAAIH,SAAS,CAACkB,GAAG,CAAEf,SAAU,CAAC;AAAA;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACO,IAAMgB,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGhB,SAAS;EAAA,OAC9Ca,OAAO,CAACI,YAAY,CAAE,CAAC,CAAC,EAAE,EAAE,EAAEf,gBAAgB,CAAEF,SAAU,CAAE,CAAC;AAAA,E;;;;;;;;;;;;;;;;AC7D9D;AACA;AACA;AACA;AACA;AACA;AACO,IAAMkB,YAAY,GAAG,SAAfA,YAAYA,CAAGC,KAAK;EAAA,OAChC,OAAOA,KAAK,KAAK,QAAQ,GAAG,yJAAyJ,CAACC,IAAI,CAAED,KAAM,CAAC,GAAG,KAAK;AAAA;;AAE5M;AACA;AACA;AACA;AACA;AACA;AACO,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAG5E,OAAO;EAAA,OAAIA,OAAO,YAAY6E,WAAW,IAAItL,OAAO,CAACiI,IAAI,CAAE,8DAA+D,CAAC,IAAI,KAAK;AAAA;;AAEjK;AACA;AACA;AACA;AACA;AACA;AACO,IAAMsD,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,GAAG;EAAA,OAAIC,MAAM,CAACC,IAAI,CAAEF,GAAI,CAAC,CAACvJ,MAAM,KAAK,CAAC,IAAIuJ,GAAG,CAACG,WAAW,KAAKF,MAAM;AAAA,E;;;;;;;;;;;;;;;;;;;ACvBjG;AACA;AACA;AAC8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACO,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAGzF,QAAQ;EAAA,IAAA0F,WAAA;EAAA,QAAAA,WAAA,GACnCC,KAAK,CAACC,IAAI,CAAE5F,QAAS,CAAC,cAAA0F,WAAA,uBAAtBA,WAAA,CAAwBvL,OAAO,CAAE,UAAAmG,OAAO;IAAA,OAAIiB,IAAI,CAAEjB,OAAQ,CAAC;EAAA,CAAC,CAAC;AAAA;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACO,IAAMuF,YAAY,GAAG,SAAfA,YAAYA,CAAG7F,QAAQ;EAAA,IAAA8F,YAAA;EAAA,QAAAA,YAAA,GACnCH,KAAK,CAACC,IAAI,CAAE5F,QAAS,CAAC,cAAA8F,YAAA,uBAAtBA,YAAA,CAAwB3L,OAAO,CAAE,UAAAmG,OAAO;IAAA,OAAIgB,IAAI,CAAEhB,OAAQ,CAAC;EAAA,CAAC,CAAC;AAAA;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACO,IAAMiB,IAAI,GAAG,SAAPA,IAAIA,CAAGjB,OAAO;EAAA,OAAIA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE1D,SAAS,CAACe,MAAM,CAAE4B,wDAAa,CAAC;AAAA;;AAExE;AACA;AACA;AACA;AACA;AACA;AACO,IAAM+B,IAAI,GAAG,SAAPA,IAAIA,CAAGhB,OAAO;EAAA,OAAIA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE1D,SAAS,CAACC,GAAG,CAAE0C,wDAAa,CAAC;AAAA;;AAErE;AACA;AACA;AACA;AACA;AACA;AACO,IAAMwG,SAAS,GAAG,SAAZA,SAASA,CAAGzF,OAAO,EAAI;EACnC,IAAM0F,MAAM,GAAG1J,MAAM,CAAC2J,gBAAgB,CAAE3F,OAAQ,CAAC;EACjD,OAAO0F,MAAM,CAACE,gBAAgB,CAAE,SAAU,CAAC,KAAK,MAAM;AACvD,CAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;AChDgE;AACE;AACJ;AACjC;AACC;;;;;;;;;;;;;;;;;;;;;;;ACJ/B;AACA;AACA;AAC8C;AACK;;AAEnD;AACA;AACA;AACA;AACA;AAJA,IAKqBC,iBAAiB;EACrC,SAAAA,kBAAA,EAAc;IAAA,IAAAtK,KAAA;IAAA7C,eAAA,OAAAmN,iBAAA;IACb,IAAI,CAACG,aAAa,GAAGhM,QAAQ,CAACa,gBAAgB,CAAE,0CAA2C,CAAC;IAC5F,IAAI,CAACoL,SAAS,GAAG,IAAIC,GAAG,CAAC,CAAC;IAC1B,IAAK,CAAC,GAAG,IAAI,CAACF,aAAa,CAACxK,MAAM,EAAG;MACpC,IAAI,CAACF,IAAI,CAAC,CAAC;IACZ;;IAEA;AACF;AACA;AACA;AACA;AACA;IACEtB,QAAQ,CAAC4B,gBAAgB,CAAE,iBAAiB,EAAE,UAAAuK,IAAA;MAAA,IAAIC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;MAAA,OACzD7K,KAAI,CAAC8K,0BAA0B,CAAED,QAAQ,CAACtN,OAAO,CAACwN,GAAI,CAAC;IAAA,CACxD,CAAC;;IAED;AACF;AACA;AACA;AACA;AACA;IACEtM,QAAQ,CAAC4B,gBAAgB,CAAE,uBAAuB,EAAE,UAAA2K,KAAA;MAAA,IAAIC,SAAS,GAAAD,KAAA,CAATC,SAAS;MAAA,OAChEA,SAAS,CAAC3M,OAAO,CAAE,UAAA4M,KAAK;QAAA,OAAIlL,KAAI,CAAC8K,0BAA0B,CAAEI,KAAK,CAAC9J,EAAG,CAAC;MAAA,CAAC,CAAC;IAAA,CAC1E,CAAC;;IAED;IACAX,MAAM,CAACJ,gBAAgB,CAAE,cAAc,EAAE;MAAA,OAAML,KAAI,CAACU,gBAAgB,CAAC,CAAC;IAAA,CAAC,CAAC;;IAExE;IACA,IAAI,CAACyK,aAAa,GAAG,IAAI;IACzB1K,MAAM,CAACJ,gBAAgB,CAAE,QAAQ,EAAE;MAAA,OAAML,KAAI,CAACoL,0BAA0B,CAAC,CAAC;IAAA,CAAC,CAAC;EAC7E;;EAEA;AACD;AACA;EAFC,OAAAnN,YAAA,CAAAqM,iBAAA;IAAApM,GAAA;IAAAC,KAAA,EAGA,SAAA4B,IAAIA,CAAA,EAAG;MACN,IAAI,CAACsL,SAAS,CAAC,CAAC;MAChB,IAAI,CAACC,2BAA2B,CAAC,CAAC;IACnC;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAApN,GAAA;IAAAC,KAAA,EAMA,SAAA2M,0BAA0BA,CAAES,OAAO,EAAG;MACrC,IAAMC,cAAc,GAAG/M,QAAQ,CAACgN,cAAc,wBAAA9M,MAAA,CAA0B4M,OAAO,CAAI,CAAC;MAEpF,IAAK,CAAEC,cAAc,EAAG;QACvB,MAAM,IAAIE,KAAK,4CAAA/M,MAAA,CAA8C4M,OAAO,CAAI,CAAC;MAC1E;MAEA,IAAI,CAACd,aAAa,GAAGe,cAAc,CAAClM,gBAAgB,CAAE,0CAA2C,CAAC;MAClG,IAAI,CAAC+L,SAAS,CAAC,CAAC;IACjB;;IAEA;AACD;AACA;EAFC;IAAAnN,GAAA;IAAAC,KAAA,EAGA,SAAAkN,SAASA,CAAA,EAAG;MAAA,IAAAlJ,MAAA;MACX,IAAI,CAACsI,aAAa,CAACnM,OAAO,CAAE,UAAAmG,OAAO,EAAI;QACtCtC,MAAI,CAACwJ,iBAAiB,CAAElH,OAAQ,CAAC;QACjCtC,MAAI,CAACyJ,sBAAsB,CAAEnH,OAAQ,CAAC;MACvC,CAAE,CAAC;IACJ;EAAC;IAAAvG,GAAA;IAAAC,KAAA,EAED,SAAAmN,2BAA2BA,CAAA,EAAG;MAAA,IAAA9I,MAAA;MAC7B,IAAMqJ,cAAc,GAAGpN,QAAQ,CAACa,gBAAgB,CAAE,0CAA2C,CAAC;MAE9FuM,cAAc,CAACvN,OAAO,CAAE,UAAAwN,aAAa,EAAI;QACxCA,aAAa,CAACzL,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK,EAAI;UACjD,IAAMrB,OAAO,GAAGqB,KAAK,CAACyL,MAAM,CAAC1K,OAAO,CAAE,oBAAqB,CAAC;UAC5D,IAAM2K,YAAY,GAAG/M,OAAO,CAACK,gBAAgB,CAAE,sEAAuE,CAAC;UAEvH0M,YAAY,CAAC1N,OAAO,CAAE,UAAA2N,KAAK,EAAI;YAC9BnH,UAAU,CAAE;cAAA,OAAMtC,MAAI,CAAC0J,aAAa,CAAED,KAAM,CAAC;YAAA,GAAE,GAAI,CAAC;UACrD,CAAE,CAAC;QACJ,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAA/N,GAAA;IAAAC,KAAA,EAKA,SAAAwN,iBAAiBA,CAAEQ,YAAY,EAAG;MAAA,IAAAC,MAAA;MACjCD,YAAY,CAAC7M,gBAAgB,CAAE,qBAAsB,CAAC,CAAChB,OAAO,CAAE,UAAA2N,KAAK,EAAI;QACxE,IAAKA,KAAK,CAACI,OAAO,EAAG;UACpBD,MAAI,CAACF,aAAa,CAAED,KAAM,CAAC;QAC5B;QACAA,KAAK,CAAC5L,gBAAgB,CAAE,QAAQ,EAAE,UAAAC,KAAK,EAAI;UAC1C8L,MAAI,CAACF,aAAa,CAAE5L,KAAK,CAACyL,MAAO,CAAC;QACnC,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAA7N,GAAA;IAAAC,KAAA,EAKA,SAAA+N,aAAaA,CAAEH,MAAM,EAAG;MACvB,IAAM9M,OAAO,GAAG8M,MAAM,CAAC1K,OAAO,CAAE,0CAA2C,CAAC;MAC5E,IAAMiL,UAAU,GAAGrN,OAAO,CAACP,aAAa,CAAE,qCAAsC,CAAC;MAEjF,IAAK,IAAI,KAAK4N,UAAU,EAAG;QAC1B;MACD;MAEA,IAAI,CAACC,WAAW,CAAED,UAAU,EAAErN,OAAQ,CAAC;MACvC,IAAI,CAACuN,iBAAiB,CAAET,MAAO,CAAC;MAChC,IAAI,CAACU,sBAAsB,CAAEV,MAAO,CAAC;IACtC;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAA7N,GAAA;IAAAC,KAAA,EAKA,SAAAsO,sBAAsBA,CAAER,KAAK,EAAG;MAC/B,IAAMS,WAAW,GAAGT,KAAK,CAACU,YAAY,CAAE,uBAAwB,CAAC;MACjE,IAAK,IAAI,KAAKD,WAAW,EAAG;QAC3B;MACD;MAEA,IAAMvI,QAAQ,GAAG1F,QAAQ,CAACa,gBAAgB,2BAAAX,MAAA,CAA4B+N,WAAW,QAAM,CAAC;MAExF,IAAK,CAAC,KAAKvI,QAAQ,CAAClE,MAAM,EAAG;QAC5B;MACD;MAEAkE,QAAQ,CAAC7F,OAAO,CAAE,UAAAmG,OAAO,EAAI;QAC5BiB,gDAAI,CAAEjB,OAAQ,CAAC;QACfA,OAAO,CAAC1D,SAAS,CAACC,GAAG,CAAE,wBAAyB,CAAC;MAClD,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAA9C,GAAA;IAAAC,KAAA,EAKA,SAAAiN,0BAA0BA,CAAA,EAAG;MAAA,IAAAwB,MAAA;MAC5B,IAAK,IAAI,CAACzB,aAAa,EAAG;QACzB;MACD;MACA,IAAI,CAACA,aAAa,GAAG1I,qBAAqB,CAAE,YAAM;QACjDmK,MAAI,CAACzB,aAAa,GAAG,IAAI;QACzB1M,QAAQ,CAACa,gBAAgB,CAAE,kDAAmD,CAAC,CAAChB,OAAO,CAAE,UAAA2N,KAAK,EAAI;UACjG,IAAMhN,OAAO,GAAGgN,KAAK,CAAC5K,OAAO,CAAE,sBAAuB,CAAC;UACvD,IAAKpC,OAAO,IAAIA,OAAO,CAAC2D,WAAW,GAAG,CAAC,EAAG;YACzCgK,MAAI,CAACV,aAAa,CAAED,KAAM,CAAC;UAC5B;QACD,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAA/N,GAAA;IAAAC,KAAA,EAMA,SAAAyN,sBAAsBA,CAAEnH,OAAO,EAAG;MAAA,IAAAoI,MAAA;MACjC,IAAK,IAAI,CAACnC,SAAS,CAAC3B,GAAG,CAAEtE,OAAQ,CAAC,EAAG;QACpC,IAAI,CAACiG,SAAS,CAACzC,GAAG,CAAExD,OAAQ,CAAC,CAAClC,UAAU,CAAC,CAAC;MAC3C;MAEA,IAAMuK,QAAQ,GAAG,IAAIC,gBAAgB,CAAE,YAAM;QAC5C;QACA,IAAK7C,qDAAS,CAAEzF,OAAQ,CAAC,EAAG;UAC3B,IAAMwH,KAAK,GAAGxH,OAAO,CAAC/F,aAAa,CAAE,6BAA8B,CAAC;UACpE,IAAKuN,KAAK,EAAG;YACZY,MAAI,CAACX,aAAa,CAAED,KAAM,CAAC;UAC5B;QACD;MACD,CAAE,CAAC;MAEH,IAAI,CAACvB,SAAS,CAACjC,GAAG,CAAEhE,OAAO,EAAEqI,QAAS,CAAC;;MAEvC;MACAA,QAAQ,CAACxK,OAAO,CAAEmC,OAAO,EAAE;QAC1BuI,UAAU,EAAE,IAAI;QAChBC,eAAe,EAAE,CAAE,OAAO,EAAE,OAAO;MACpC,CAAE,CAAC;;MAEH;MACA,IAAIC,MAAM,GAAGzI,OAAO,CAAC9B,aAAa;MAClC,KAAM,IAAIwK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,IAAID,MAAM,EAAEC,CAAC,EAAE,EAAG;QACvCL,QAAQ,CAACxK,OAAO,CAAE4K,MAAM,EAAE;UACzBF,UAAU,EAAE,IAAI;UAChBC,eAAe,EAAE,CAAE,OAAO,EAAE,OAAO;QACpC,CAAE,CAAC;QACHC,MAAM,GAAGA,MAAM,CAACvK,aAAa;MAC9B;IACD;;IAEA;AACD;AACA;EAFC;IAAAzE,GAAA;IAAAC,KAAA,EAGA,SAAAuC,gBAAgBA,CAAA,EAAG;MAClB,IAAI,CAACgK,SAAS,CAACpM,OAAO,CAAE,UAAAwO,QAAQ,EAAI;QACnCA,QAAQ,CAACvK,UAAU,CAAC,CAAC;MACtB,CAAE,CAAC;MAEH,IAAI,CAACmI,SAAS,CAAC0C,KAAK,CAAC,CAAC;IACvB;;IAEA;AACD;AACA;EAFC;IAAAlP,GAAA;IAAAC,KAAA,EAGA,SAAAqO,iBAAiBA,CAAA,EAAG;MACnB,IAAMrI,QAAQ,GAAG1F,QAAQ,CAACa,gBAAgB,CAAE,yBAA0B,CAAC;MACvE,IAAK,CAAC,KAAK6E,QAAQ,CAAClE,MAAM,EAAG;QAC5B;MACD;MACAkE,QAAQ,CAAC7F,OAAO,CAAE,UAAAmG,OAAO,EAAI;QAC5BA,OAAO,CAAC1D,SAAS,CAACe,MAAM,CAAE,wBAAyB,CAAC;QACpD2C,OAAO,CAAC1D,SAAS,CAACC,GAAG,CAAE0C,wDAAa,CAAC;QACrC+B,gDAAI,CAAEhB,OAAQ,CAAC;MAChB,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAAvG,GAAA;IAAAC,KAAA,EAMA,SAAAoO,WAAWA,CAAED,UAAU,EAAErN,OAAO,EAAG;MAClC,IAAMoO,MAAM,GAAGf,UAAU,CAACzJ,UAAU;MACpC,IAAMhB,KAAK,GAAGyK,UAAU,CAAC1J,WAAW;MACpC,IAAM0K,OAAO,GAAGrO,OAAO,CAACP,aAAa,CAAE,2BAA4B,CAAC;MAEpE4O,OAAO,CAAC1L,KAAK,CAAC2L,IAAI,GAAG,CAAC;MACtBD,OAAO,CAAC1L,KAAK,CAACC,KAAK,MAAAlD,MAAA,CAAOkD,KAAK,OAAK;MACpCyL,OAAO,CAAC1L,KAAK,CAACkB,SAAS,iBAAAnE,MAAA,CAAkB0O,MAAM,QAAM;IACtD;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;AC9PF;AACA;AACA;AAC8C;AACgD;;AAE9F;AACA;AACA;AACA;AACA;AAJA,IAKqB9C,kBAAkB;EACtC,SAAAA,mBAAA,EAAkD;IAAA,IAAAvK,KAAA;IAAA,IAArCyN,cAAc,GAAApJ,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAnF,SAAA,GAAAmF,SAAA,MAAG,EAAE;IAAA,IAAEqJ,QAAQ,GAAArJ,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAnF,SAAA,GAAAmF,SAAA,MAAG,CAAC,CAAC;IAAAlH,eAAA,OAAAoN,kBAAA;IAC9C,IAAI,CAACoD,oBAAoB,GAAGF,cAAc,CAACxN,MAAM,GAAG,CAAC;IACrD,IAAI,CAACwN,cAAc,GAAGA,cAAc,CAACxN,MAAM,GAAG,CAAC,GAAGwN,cAAc,GAAGhP,QAAQ,CAACa,gBAAgB,CAAE,uBAAwB,CAAC;IACvH,IAAI,CAACoO,QAAQ,GAAGA,QAAQ;IAExB,IAAK,CAAC,KAAK,IAAI,CAACD,cAAc,CAACxN,MAAM,EAAG;MACvC;IACD;;IAEA;IACA,IAAI,CAAC2N,iBAAiB,GAAG,EAAE;IAC3B,IAAI,CAACC,iBAAiB,GAAG,CAAC;IAC1B,IAAI,CAACC,YAAY,GAAG,EAAE;IAEtB,IAAQC,QAAQ,GAAKzH,MAAM,CAACW,IAAI,CAAxB8G,QAAQ;IAChB,IAAI,CAACC,oBAAoB,GAAGD,QAAQ,CAAE,UAAA3N,KAAK;MAAA,OAAIJ,KAAI,CAACiO,kBAAkB,CAAE7N,KAAM,CAAC;IAAA,GAAE,EAAG,CAAC;IAErF,IAAI,CAAC8N,WAAW,CAAC,CAAC;IAClB,IAAI,CAACnO,IAAI,CAAC,CAAC;EACZ;;EAEA;AACD;AACA;EAFC,OAAA9B,YAAA,CAAAsM,kBAAA;IAAArM,GAAA;IAAAC,KAAA,EAGA,SAAA+P,WAAWA,CAAA,EAAG;MAAA,IAAA/L,MAAA;MACb,IAAI,CAACgM,OAAO,GAAG,EAAE;MACjB,IAAI,CAACV,cAAc,CAACnP,OAAO,CAAE,UAAEmG,OAAO,EAAErE,KAAK,EAAM;QAClD,IAAMgO,aAAa,GAAG3J,OAAO,CAAC1D,SAAS,CAACkB,QAAQ,CAAE,yBAA0B,CAAC,GAAGwC,OAAO,CAACpD,OAAO,CAAE,sBAAuB,CAAC,GAAGoD,OAAO;QACnI,IAAM4J,KAAK,GAAGlM,MAAI,CAACuL,QAAQ,CAACW,KAAK,KAAM5J,OAAO,CAAClH,OAAO,CAAC8Q,KAAK,GAAGhR,IAAI,CAACC,KAAK,CAAEmH,OAAO,CAAClH,OAAO,CAAC8Q,KAAM,CAAC,GAAG,IAAI,CAAE;QAC3GlM,MAAI,CAACgM,OAAO,CAACvP,IAAI,CAAE;UAClB0P,QAAQ,EAAE,KAAK;UACfC,MAAM,EAAE,CAAC;UACTC,UAAU,EAAE,CAAC;UACbC,QAAQ,EAAEvL,QAAQ,CAAEuB,OAAO,CAAClH,OAAO,CAACkR,QAAQ,EAAE,EAAG,CAAC;UAClDhK,OAAO,EAAPA,OAAO;UACPrE,KAAK,EAALA,KAAK;UACLjC,KAAK,EAAE,CAAC;UACRkQ,KAAK,EAALA,KAAK;UACLK,gBAAgB,EAAEN,aAAa,CAACrN,SAAS,CAACkB,QAAQ,CAAE,uCAAwC,CAAC,GAAG,IAAIuL,qFAA4B,CAAEY,aAAc,CAAC,GAAG;QACrJ,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;EAFC;IAAAlQ,GAAA;IAAAC,KAAA,EAGA,SAAA4B,IAAIA,CAAA,EAAG;MACN,IAAI,CAAC4O,aAAa,CAAC,CAAC;MAEpB,IAAK,IAAI,CAAChB,oBAAoB,EAAG;QAChC,IAAI,CAACiB,qCAAqC,CAAC,CAAC;QAC5C;MACD;MAEA,IAAI,CAACC,mBAAmB,CAAC,CAAC;IAC3B;;IAEA;AACD;AACA;EAFC;IAAA3Q,GAAA;IAAAC,KAAA,EAGA,SAAAwQ,aAAaA,CAAA,EAAG;MAAA,IAAAnM,MAAA;MACf,IAAI,CAACiL,cAAc,CAACnP,OAAO,CAAE,UAAEmG,OAAO,EAAErE,KAAK,EAAM;QAClDoC,MAAI,CAACsL,YAAY,CAAE1N,KAAK,CAAE,GAAG,IAAIvC,KAAK,CAAE,QAAQ,EAAE;UACjDC,OAAO,EAAE,IAAI;UACbgR,UAAU,EAAE;QACb,CAAE,CAAC;QACH,IAAMC,eAAe,GAAGtK,OAAO,CAAC/F,aAAa,CAAE,oBAAqB,CAAC;QACrE,IAAMsQ,UAAU,GAAGvK,OAAO,CAAC/F,aAAa,CAAE,sCAAuC,CAAC;QAElFsQ,UAAU,CAAC3O,gBAAgB,CAAE,QAAQ,EAAE,UAAAC,KAAK,EAAI;UAC/C,IAAM2O,IAAI,GAAGxK,OAAO,CAAC/F,aAAa,CAAE,QAAS,CAAC,CAACP,KAAK;UAEpD,IAAKqE,MAAI,CAAC0M,WAAW,CAAED,IAAI,EAAE7O,KAAM,CAAC,GAAG8C,QAAQ,CAAE5C,KAAK,CAACyL,MAAM,CAAC5N,KAAK,EAAE,EAAG,CAAC,EAAG;YAC3E;UACD;UAEAqE,MAAI,CAAC2M,eAAe,CAAE1K,OAAQ,CAAC;UAC/BjC,MAAI,CAAC2L,OAAO,CAAE/N,KAAK,CAAE,CAACgP,SAAS,GAAG5M,MAAI,CAAC6M,WAAW,CAAE5K,OAAO,EAAEuK,UAAU,CAAC7Q,KAAK,GAAG8Q,IAAK,CAAC;UACtFzM,MAAI,CAACyL,kBAAkB,CAAE7N,KAAM,CAAC;QACjC,CAAE,CAAC;QAEHoC,MAAI,CAAC8M,iBAAiB,CAAE7K,OAAQ,CAAC;QACjCjC,MAAI,CAAC+M,kBAAkB,CAAE9K,OAAO,EAAEuK,UAAU,EAAE5O,KAAM,CAAC;QACrDoC,MAAI,CAACgN,2BAA2B,CAAE/K,OAAO,EAAEuK,UAAU,EAAE5O,KAAM,CAAC;QAC9DmK,kBAAkB,CAACkF,wBAAwB,CAAEhL,OAAQ,CAAC;QAEtDsK,eAAe,CAAC1O,gBAAgB,CAAE,WAAW,EAAE,UAAAC,KAAK,EAAI;UACvDA,KAAK,CAACO,cAAc,CAAC,CAAC;UACtBP,KAAK,CAACoP,eAAe,CAAC,CAAC;UACvB,IAAKjL,OAAO,CAAC1D,SAAS,CAACkB,QAAQ,CAAE,cAAe,CAAC,EAAG;YACnD;UACD;UACAO,MAAI,CAACmN,cAAc,CAAErP,KAAK,EAAEF,KAAM,CAAC;UAEnC,IAAMwP,WAAW,GAAG,SAAdA,WAAWA,CAAGC,SAAS;YAAA,OAAIrN,MAAI,CAAC+J,WAAW,CAAEsD,SAAS,EAAEzP,KAAM,CAAC;UAAA;UAErE,IAAM0P,UAAS,GAAG,SAAZA,SAASA,CAAA,EAAS;YACvBtN,MAAI,CAACuN,eAAe,CAAE3P,KAAM,CAAC;YAC7B3B,QAAQ,CAACuR,mBAAmB,CAAE,WAAW,EAAEJ,WAAY,CAAC;YACxDnR,QAAQ,CAACuR,mBAAmB,CAAE,SAAS,EAAEF,UAAU,CAAC;UACrD,CAAC;UAEDrR,QAAQ,CAAC4B,gBAAgB,CAAE,WAAW,EAAEuP,WAAY,CAAC;UACrDnR,QAAQ,CAAC4B,gBAAgB,CAAE,SAAS,EAAEyP,UAAU,CAAC;QAClD,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;EAAC;IAAA5R,GAAA;IAAAC,KAAA,EAED,SAAAmR,iBAAiBA,CAAE7K,OAAO,EAAG;MAC5B,IAAMwL,OAAO,GAAGxL,OAAO,CAAC/F,aAAa,CAAE,SAAU,CAAC;MAElD,IAAK+F,OAAO,CAAClH,OAAO,CAAC2S,cAAc,KAAKhR,SAAS,IAAI,IAAI,KAAK+Q,OAAO,EAAG;QACvE;MACD;MAEA,IAAME,gBAAgB,GAAG,IAAI,CAACC,mBAAmB,CAAE3L,OAAQ,CAAC;MAC5DwL,OAAO,CAAC5P,gBAAgB,CAAE,OAAO,EAAE,YAAO;QACzC8P,gBAAgB,CAAC7R,OAAO,CAAE,UAAA+R,IAAI,EAAI;UACjCA,IAAI,CAACtP,SAAS,CAACuP,MAAM,CAAE5M,wDAAa,CAAC;QACtC,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;EAAC;IAAAxF,GAAA;IAAAC,KAAA,EAED,SAAAoR,kBAAkBA,CAAE9K,OAAO,EAAEuK,UAAU,EAAE5O,KAAK,EAAG;MAAA,IAAAgM,MAAA;MAChD3H,OAAO,CAAC/F,aAAa,CAAE,QAAS,CAAC,CAAC2B,gBAAgB,CAAE,QAAQ,EAAE,UAAAC,KAAK,EAAI;QACtE,IAAM2O,IAAI,GAAG3O,KAAK,CAACyL,MAAM,CAAC5N,KAAK,CAACoS,WAAW,CAAC,CAAC;QAE7C,IAAK,EAAE,KAAKtB,IAAI,EAAG;UAClBxK,OAAO,CAAC1D,SAAS,CAACC,GAAG,CAAE,cAAc,EAAE,WAAY,CAAC;UACpD;QACD;QAEA,IAAK,MAAM,KAAKiO,IAAI,EAAG;UACtBxK,OAAO,CAAC1D,SAAS,CAACC,GAAG,CAAE,cAAe,CAAC;UACvCoL,MAAI,CAACiD,WAAW,CAAE5K,OAAO,EAAE,MAAO,CAAC;UACnC2H,MAAI,CAAC6B,kBAAkB,CAAE7N,KAAM,CAAC;UAEhC;QACD;QAEAqE,OAAO,CAAC1D,SAAS,CAACe,MAAM,CAAE,cAAc,EAAE,WAAY,CAAC;QACvDsK,MAAI,CAAC+B,OAAO,CAAE/N,KAAK,CAAE,CAACgP,SAAS,GAAGJ,UAAU,CAAC7Q,KAAK,GAAG8Q,IAAI;QACzD7C,MAAI,CAACiD,WAAW,CAAE5K,OAAO,EAAE2H,MAAI,CAAC+B,OAAO,CAAE/N,KAAK,CAAE,CAACgP,SAAU,CAAC;QAC5DhD,MAAI,CAAC6B,kBAAkB,CAAE7N,KAAM,CAAC;MACjC,CAAE,CAAC;IACJ;EAAC;IAAAlC,GAAA;IAAAC,KAAA,EAED,SAAAqR,2BAA2BA,CAAE/K,OAAO,EAAEuK,UAAU,EAAE5O,KAAK,EAAG;MAAA,IAAAwM,MAAA;MACzD,IAAM4D,SAAS,GAAG/L,OAAO,CAAC/F,aAAa,CAAE,aAAc,CAAC;MACxD,IAAM+R,WAAW,GAAG,IAAI5S,KAAK,CAAE,QAAQ,EAAE;QACxCC,OAAO,EAAE,IAAI;QACbgR,UAAU,EAAE;MACb,CAAE,CAAC;MAEH0B,SAAS,CAACnQ,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK,EAAI;QAC7C,IAAKmE,OAAO,CAAC1D,SAAS,CAACkB,QAAQ,CAAE,cAAe,CAAC,EAAG;UACnD;QACD;QAEA3B,KAAK,CAACO,cAAc,CAAC,CAAC;QACtBP,KAAK,CAACoP,eAAe,CAAC,CAAC;QAEvB,IAAK,CAAEpP,KAAK,CAACyL,MAAM,CAAChL,SAAS,CAACkB,QAAQ,CAAE,YAAa,CAAC,IAAI,CAAE3B,KAAK,CAACyL,MAAM,CAAChL,SAAS,CAACkB,QAAQ,CAAE,yBAA0B,CAAC,EAAG;UAC1H;QACD;QAEA,IAAMyO,WAAW,GAAGF,SAAS,CAAC5N,WAAW,GAAGgK,MAAI,CAACgB,iBAAiB;QAClE,IAAM+C,UAAU,GAAGH,SAAS,CAACI,qBAAqB,CAAC,CAAC;QACpD,IAAMC,MAAM,GAAGvQ,KAAK,CAACwQ,OAAO,GAAGH,UAAU,CAACpD,IAAI,GAAGX,MAAI,CAACgB,iBAAiB;QACvE,IAAMqB,IAAI,GAAGxK,OAAO,CAAC/F,aAAa,CAAE,QAAS,CAAC,CAACP,KAAK;QACpD,IAAMA,KAAK,GAAGoM,kBAAkB,CAACwG,cAAc,CAAEL,WAAW,EAAEG,MAAM,EAAEjE,MAAI,CAACsC,WAAW,CAAED,IAAI,EAAE7O,KAAM,CAAC,EAAEwM,MAAI,CAACuB,OAAO,CAAE/N,KAAK,CAAE,CAACiO,KAAM,CAAC;QAEpI,IAAKlQ,KAAK,GAAG,CAAC,EAAG;UAChB;QACD;QAEAyO,MAAI,CAACuB,OAAO,CAAE/N,KAAK,CAAE,CAACgP,SAAS,GAAGxC,MAAI,CAACyC,WAAW,CAAE5K,OAAO,EAAEtG,KAAK,GAAG8Q,IAAK,CAAC;QAC3ErC,MAAI,CAACoE,qBAAqB,CAAEvM,OAAO,EAAEoM,MAAM,EAAEzQ,KAAK,EAAEjC,KAAK,GAAG8Q,IAAK,CAAC;QAElED,UAAU,CAAC7Q,KAAK,GAAGA,KAAK;QACxB6Q,UAAU,CAAClQ,aAAa,CAAE2R,WAAY,CAAC;MACxC,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAAvS,GAAA;IAAAC,KAAA;IAkBA;AACD;AACA;AACA;AACA;AACA;IACC,SAAAiS,mBAAmBA,CAAE3L,OAAO,EAAG;MAC9B,IAAKA,OAAO,CAAClH,OAAO,CAAC2S,cAAc,KAAKhR,SAAS,EAAG;QACnD,OAAO,EAAE;MACV;MACA,IAAM+R,YAAY,GAAGxM,OAAO,CAAClH,OAAO,CAAC2S,cAAc,CAACgB,KAAK,CAAE,GAAI,CAAC;MAChE,IAAMC,KAAK,GAAGF,YAAY,CAACG,GAAG,CAAE,UAAAf,IAAI,EAAI;QACvC,4CAAA1R,MAAA,CAA4C0R,IAAI;MACjD,CAAE,CAAC,CAACgB,IAAI,CAAE,IAAK,CAAC;MAEhB,OAAO5M,OAAO,CAACpD,OAAO,CAAE,sBAAuB,CAAC,CAAC/B,gBAAgB,CAAE6R,KAAM,CAAC;IAC3E;EAAC;IAAAjT,GAAA;IAAAC,KAAA,EAED,SAAAyQ,qCAAqCA,CAAA,EAAG;MAAA,IAAA/B,MAAA;MACvC,IAAI,CAACY,cAAc,CAACnP,OAAO,CAAE,UAAEmG,OAAO,EAAErE,KAAK,EAAM;QAClDyM,MAAI,CAACsC,eAAe,CAAE1K,OAAO,EAAErE,KAAM,CAAC;MACvC,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;EAFC;IAAAlC,GAAA;IAAAC,KAAA,EAGA,SAAA0Q,mBAAmBA,CAAA,EAAG;MAAA,IAAAyC,MAAA;MACrB,IAAMzF,cAAc,GAAGpN,QAAQ,CAACa,gBAAgB,CAAE,0CAA2C,CAAC;MAC9F,IAAMiS,aAAa,GAAG9S,QAAQ,CAACC,aAAa,CAAE,qBAAsB,CAAC;MACrE,IAAM8S,eAAe,GAAG/S,QAAQ,CAACC,aAAa,CAAE,yBAA0B,CAAC;;MAE3E;MACA+S,EAAE,CAACC,KAAK,CAACC,SAAS,CAAE,4BAA4B,EAAE,YAAY,EAAE,UAAArR,KAAK,EAAI;QACxE,IAAMsR,4BAA4B,GAAGtR,KAAK,CAACe,OAAO,CAAE,4BAA6B,CAAC,CAAC3C,aAAa,CAAE,8BAA+B,CAAC;QAClI4S,MAAI,CAACO,gBAAgB,CAAED,4BAA6B,CAAC;MACtD,CAAE,CAAC;;MAEH;MACA,IAAK,IAAI,KAAKL,aAAa,EAAG;QAC7B,IAAI,CAACM,gBAAgB,CAAEN,aAAc,CAAC;MACvC;;MAEA;MACA,IAAK,IAAI,KAAKC,eAAe,EAAG;QAC/B,IAAI,CAACK,gBAAgB,CAAEL,eAAgB,CAAC;MACzC;;MAEA;MACA3F,cAAc,CAACvN,OAAO,CAAE,UAAA+R,IAAI,EAAI;QAC/BA,IAAI,CAAChQ,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK,EAAI;UACxCgR,MAAI,CAACO,gBAAgB,CAAEvR,KAAK,CAACyL,MAAM,CAAC1K,OAAO,CAAE,oBAAqB,CAAE,CAAC;QACtE,CAAE,CAAC;MACJ,CAAE,CAAC;MAEH,IAAI,CAACyQ,oCAAoC,CAAC,CAAC;IAC5C;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAA5T,GAAA;IAAAC,KAAA,EAKA,SAAA2T,oCAAoCA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACtC,IAAMC,cAAc,GAAGvT,QAAQ,CAACC,aAAa,CAAE,sCAAuC,CAAC;MAEvF,IAAK,IAAI,KAAKsT,cAAc,EAAG;QAC9B;MACD;MAEA,IAAMhG,YAAY,GAAGgG,cAAc,CAAC1S,gBAAgB,CAAE,qBAAsB,CAAC;MAC7E0M,YAAY,CAAC1N,OAAO,CAAE,UAAA2N,KAAK,EAAI;QAC9BA,KAAK,CAAC5L,gBAAgB,CAAE,QAAQ,EAAE,UAAAC,KAAK,EAAI;UAC1C,IAAKA,KAAK,CAACyL,MAAM,CAACM,OAAO,IAAI,gBAAgB,KAAK/L,KAAK,CAACyL,MAAM,CAAC5N,KAAK,EAAG;YACtE,IAAM8T,MAAM,GAAGxT,QAAQ,CAACC,aAAa,CAAE,yEAA0E,CAAC;YAClHqT,MAAI,CAAC5C,eAAe,CAAE8C,MAAO,CAAC;UAC/B;QACD,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAA/T,GAAA;IAAAC,KAAA,EAMA,SAAA0T,gBAAgBA,CAAEK,OAAO,EAAG;MAAA,IAAAC,MAAA;MAC3B,IAAMC,OAAO,GAAGF,OAAO,CAAC5S,gBAAgB,CAAE,uBAAwB,CAAC;MACnE8S,OAAO,CAAC9T,OAAO,CAAE,UAAA2T,MAAM,EAAI;QAC1BnN,UAAU,CAAE,YAAM;UACjBqN,MAAI,CAAChD,eAAe,CAAE8C,MAAO,CAAC;QAC/B,CAAC,EAAE,GAAI,CAAC;MACT,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;EANC;IAAA/T,GAAA;IAAAC,KAAA,EAOA,SAAAgR,eAAeA,CAAE8C,MAAM,EAAuB;MAAA,IAArBI,WAAW,GAAAhO,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAnF,SAAA,GAAAmF,SAAA,MAAG,IAAI;MAC1C,IAAK4N,MAAM,CAAClR,SAAS,CAACkB,QAAQ,CAAE,cAAe,CAAC,EAAG;QAClD;MACD;MACA,IAAM7B,KAAK,GAAGiS,WAAW,KAAK,IAAI,GAAGA,WAAW,GAAG,IAAI,CAACC,cAAc,CAAEL,MAAO,CAAC;MAChF,IAAMvB,WAAW,GAAGuB,MAAM,CAACvT,aAAa,CAAE,aAAc,CAAC,CAACkE,WAAW,GAAG,IAAI,CAACgL,iBAAiB;MAC9F,IAAMzP,KAAK,GAAG+E,QAAQ,CAAE+O,MAAM,CAACvT,aAAa,CAAE,sCAAuC,CAAC,CAACP,KAAK,EAAE,EAAG,CAAC;MAClG,IAAM8Q,IAAI,GAAGgD,MAAM,CAACvT,aAAa,CAAE,QAAS,CAAC,CAACP,KAAK;MACnD,IAAMkQ,KAAK,GAAG,IAAI,CAACF,OAAO,CAAE/N,KAAK,CAAE,CAACiO,KAAK;MACzC,IAAIwC,MAAM,GAAG0B,IAAI,CAACC,IAAI,CAAIrU,KAAK,GAAG,IAAI,CAACgQ,OAAO,CAAE/N,KAAK,CAAE,CAACqO,QAAQ,GAAKiC,WAAY,CAAC;MAElF,IAAK,GAAG,KAAKzB,IAAI,EAAG;QACnB4B,MAAM,GAAG0B,IAAI,CAACE,KAAK,CAAE/B,WAAW,GAAGvS,KAAK,GAAG,GAAI,CAAC;MACjD,CAAC,MAAM,IAAKkQ,KAAK,IAAIA,KAAK,CAACpO,MAAM,GAAG,CAAC,EAAG;QACvC4Q,MAAM,GAAGtG,kBAAkB,CAACmI,wBAAwB,CAAEvU,KAAK,EAAEkQ,KAAK,EAAEqC,WAAY,CAAC;MAClF;MAEAuB,MAAM,CAACvT,aAAa,CAAE,0BAA2B,CAAC,CAACkD,KAAK,CAACC,KAAK,MAAAlD,MAAA,CAAOkS,MAAM,OAAK;MAChF,IAAI,CAAC1C,OAAO,CAAE/N,KAAK,CAAE,CAACoO,UAAU,GAAGqC,MAAM;MACzC,IAAI,CAAC1C,OAAO,CAAE/N,KAAK,CAAE,CAACjC,KAAK,GAAGA,KAAK,GAAG8Q,IAAI;IAC3C;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EAPC;IAAA/Q,GAAA;IAAAC,KAAA;IAmBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;IACC,SAAA6S,qBAAqBA,CAAEiB,MAAM,EAAEpQ,KAAK,EAAEzB,KAAK,EAAEjC,KAAK,EAAG;MAAA,IAAAwU,MAAA;MACpD,IAAK,CAAEV,MAAM,CAAClR,SAAS,CAACkB,QAAQ,CAAE,4BAA6B,CAAC,IAAI,CAAEgQ,MAAM,CAAClR,SAAS,CAACkB,QAAQ,CAAE,yBAA0B,CAAC,EAAG;QAC9H;MACD;MACA,IAAM2Q,YAAY,GAAGX,MAAM,CAAClR,SAAS,CAACkB,QAAQ,CAAE,4BAA6B,CAAC,GAAGgQ,MAAM,CAAC3S,gBAAgB,CAAE,+BAAgC,CAAC,GAAG,IAAI,CAAC8Q,mBAAmB,CAAE6B,MAAO,CAAC;MAEhLW,YAAY,CAACtU,OAAO,CAAE,UAAE+R,IAAI,EAAEwC,UAAU,EAAM;QAC7CxC,IAAI,CAAC3R,aAAa,CAAE,0BAA2B,CAAC,CAACkD,KAAK,CAACC,KAAK,MAAAlD,MAAA,CAAOkD,KAAK,OAAK;QAC7E8Q,MAAI,CAACxE,OAAO,CAAE/N,KAAK,GAAGyS,UAAU,GAAG,CAAC,CAAE,CAACrE,UAAU,GAAG3M,KAAK;QACzD8Q,MAAI,CAACxE,OAAO,CAAE/N,KAAK,GAAGyS,UAAU,GAAG,CAAC,CAAE,CAAC1U,KAAK,GAAGA,KAAK;MACrD,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAAD,GAAA;IAAAC,KAAA,EAMA,SAAAmU,cAAcA,CAAEL,MAAM,EAAG;MACxB,OAAO,IAAI,CAAC9D,OAAO,CAACnM,MAAM,CAAE,UAAA8Q,MAAM,EAAI;QACrC,OAAOA,MAAM,CAACrO,OAAO,KAAKwN,MAAM;MACjC,CAAE,CAAC,CAAE,CAAC,CAAE,CAAC7R,KAAK;IACf;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;EANC;IAAAlC,GAAA;IAAAC,KAAA,EAOA,SAAAoO,WAAWA,CAAEjM,KAAK,EAAEF,KAAK,EAAG;MAC3B,IAAK,CAAE,IAAI,CAAC+N,OAAO,CAAE/N,KAAK,CAAE,CAACkO,QAAQ,EAAG;QACvC;MACD;MACA,IAAIuC,MAAM,GAAGvQ,KAAK,CAACwQ,OAAO,GAAG,IAAI,CAAC3C,OAAO,CAAE/N,KAAK,CAAE,CAACmO,MAAM;MACzD,IAAM9J,OAAO,GAAG,IAAI,CAACgJ,cAAc,CAAErN,KAAK,CAAE;MAC5C,IAAMsQ,WAAW,GAAGjM,OAAO,CAAC/F,aAAa,CAAE,aAAc,CAAC,CAACkE,WAAW,GAAG,IAAI,CAACgL,iBAAiB;;MAE/F;MACAiD,MAAM,GAAG0B,IAAI,CAACQ,GAAG,CAAElC,MAAM,EAAE,CAAE,CAAC;MAC9BA,MAAM,GAAG0B,IAAI,CAACS,GAAG,CAAEnC,MAAM,EAAEH,WAAY,CAAC;MACxC,IAAMzB,IAAI,GAAGxK,OAAO,CAAC/F,aAAa,CAAE,QAAS,CAAC,CAACP,KAAK;MACpD,IAAMA,KAAK,GAAGoM,kBAAkB,CAACwG,cAAc,CAAEL,WAAW,EAAEG,MAAM,EAAE,IAAI,CAAC3B,WAAW,CAAED,IAAI,EAAE7O,KAAM,CAAC,EAAE,IAAI,CAAC+N,OAAO,CAAE/N,KAAK,CAAE,CAACiO,KAAM,CAAC;MAEpI5J,OAAO,CAAC/F,aAAa,CAAE,sCAAuC,CAAC,CAACP,KAAK,GAAGA,KAAK;MAC7EsG,OAAO,CAAC/F,aAAa,CAAE,4CAA6C,CAAC,CAACuU,SAAS,GAAG9U,KAAK;MACvFsG,OAAO,CAAC/F,aAAa,CAAE,0BAA2B,CAAC,CAACkD,KAAK,CAACC,KAAK,MAAAlD,MAAA,CAAOkS,MAAM,OAAK;MACjF,IAAI,CAACG,qBAAqB,CAAEvM,OAAO,EAAEoM,MAAM,EAAEzQ,KAAK,EAAEjC,KAAK,GAAG8Q,IAAK,CAAC;MAElE,IAAI,CAACd,OAAO,CAAE/N,KAAK,CAAE,CAACoO,UAAU,GAAGqC,MAAM;MACzC,IAAI,CAAC1C,OAAO,CAAE/N,KAAK,CAAE,CAACjC,KAAK,GAAGA,KAAK,GAAG8Q,IAAI;MAC1C,IAAI,CAACd,OAAO,CAAE/N,KAAK,CAAE,CAACgP,SAAS,GAAG,IAAI,CAACC,WAAW,CAAE5K,OAAO,EAAE,IAAI,CAAC0J,OAAO,CAAE/N,KAAK,CAAE,CAACjC,KAAM,CAAC;MAC1F,IAAI,CAAC6P,oBAAoB,CAAE5N,KAAM,CAAC;IACnC;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;EANC;IAAAlC,GAAA;IAAAC,KAAA,EAOA,SAAA+Q,WAAWA,CAAED,IAAI,EAAE7O,KAAK,EAAG;MAC1B,OAAO,GAAG,KAAK6O,IAAI,GAAG,GAAG,GAAG,IAAI,CAACd,OAAO,CAAE/N,KAAK,CAAE,CAACqO,QAAQ;IAC3D;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAAvQ,GAAA;IAAAC,KAAA,EAMA,SAAAwR,cAAcA,CAAErP,KAAK,EAAEF,KAAK,EAAG;MAC9BE,KAAK,CAACyL,MAAM,CAAChL,SAAS,CAACC,GAAG,CAAE,cAAe,CAAC;MAC5C,IAAI,CAACmN,OAAO,CAAE/N,KAAK,CAAE,CAACkO,QAAQ,GAAG,IAAI;MACrC,IAAI,CAACH,OAAO,CAAE/N,KAAK,CAAE,CAACmO,MAAM,GAAGjO,KAAK,CAACwQ,OAAO,GAAG,IAAI,CAAC3C,OAAO,CAAE/N,KAAK,CAAE,CAACoO,UAAU;IAChF;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAAtQ,GAAA;IAAAC,KAAA,EAKA,SAAA4R,eAAeA,CAAE3P,KAAK,EAAG;MACxB,IAAK,KAAK,KAAK,IAAI,CAAC+N,OAAO,CAAE/N,KAAK,CAAE,CAACkO,QAAQ,EAAG;QAC/C;MACD;MACA,IAAMS,eAAe,GAAG,IAAI,CAACtB,cAAc,CAAErN,KAAK,CAAE,CAAC1B,aAAa,CAAE,oBAAqB,CAAC;MAC1FqQ,eAAe,CAAChO,SAAS,CAACe,MAAM,CAAE,cAAe,CAAC;MAClD,IAAI,CAACqM,OAAO,CAAE/N,KAAK,CAAE,CAACkO,QAAQ,GAAG,KAAK;MACtC,IAAI,CAACL,kBAAkB,CAAE7N,KAAM,CAAC;IACjC;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAAlC,GAAA;IAAAC,KAAA,EAKA,SAAA8P,kBAAkBA,CAAE7N,KAAK,EAAG;MAAA,IAAA8S,MAAA;MAC3B,IAAK,IAAI,KAAK,IAAI,CAAC/E,OAAO,CAAE/N,KAAK,CAAE,CAACsO,gBAAgB,EAAG;QACtD,IAAI,CAACP,OAAO,CAAE/N,KAAK,CAAE,CAACsO,gBAAgB,CAAC7P,0BAA0B,CAAE,IAAI,CAACsP,OAAO,CAAE/N,KAAK,CAAE,CAACgP,SAAU,CAAC;QACpG;MACD;MAEA,IAAM5Q,KAAK,GAAG,IAAI,CAACiP,cAAc,CAAErN,KAAK,CAAE,CAACW,SAAS,CAACkB,QAAQ,CAAE,yBAA0B,CAAC,GAAG,IAAI,CAACwL,cAAc,CAAErN,KAAK,CAAE,CAACiB,OAAO,CAAE,sBAAuB,CAAC,CAAC3C,aAAa,CAAE,sBAAuB,CAAC,GAAG,IAAI,CAAC+O,cAAc,CAAErN,KAAK,CAAE,CAACd,gBAAgB,CAAE,wCAAyC,CAAC;MAC/R,IAAKd,KAAK,YAAY2U,QAAQ,EAAG;QAChC3U,KAAK,CAACF,OAAO,CAAE,UAAA+R,IAAI,EAAI;UACtBA,IAAI,CAACvR,aAAa,CAAEoU,MAAI,CAACpF,YAAY,CAAE1N,KAAK,CAAG,CAAC;QACjD,CAAE,CAAC;QACH;MACD;MACA5B,KAAK,CAACM,aAAa,CAAE,IAAI,CAACgP,YAAY,CAAE1N,KAAK,CAAG,CAAC;IAClD;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EARC;IAAAlC,GAAA;IAAAC,KAAA;IA8CA;AACD;AACA;AACA;AACA;AACA;AACA;IACC,SAAAkR,WAAWA,CAAE5K,OAAO,EAAEtG,KAAK,EAAG;MAAA,IAAAiV,OAAA;MAC7B;MACA;MACA,IAAK3O,OAAO,CAAC1D,SAAS,CAACkB,QAAQ,CAAE,oBAAqB,CAAC,EAAG;QACzD,IAAMoR,qBAAqB,GAAG5U,QAAQ,CAACC,aAAa,CAAE,mEAAoE,CAAC;QAC3H,IAAK,IAAI,KAAK2U,qBAAqB,EAAG;UACrCA,qBAAqB,CAAClV,KAAK,GAAG,MAAM;QACrC;MACD;MACA,IAAKsG,OAAO,CAAC1D,SAAS,CAACkB,QAAQ,CAAE,yBAA0B,CAAC,EAAG;QAC9D,IAAMzD,KAAK,GAAGiG,OAAO,CAACpD,OAAO,CAAE,sBAAuB,CAAC,CAAC3C,aAAa,CAAE,sBAAuB,CAAC;QAC/F,IAAM4U,UAAU,GAAG9U,KAAK,CAACL,KAAK,CAAC+S,KAAK,CAAE,GAAI,CAAC;QAC3C,IAAM9M,IAAI,GAAGK,OAAO,CAAClH,OAAO,CAAC6G,IAAI;QAEjC,IAAK,CAAEkP,UAAU,CAAE,CAAC,CAAE,EAAG;UACxBA,UAAU,CAAE,CAAC,CAAE,GAAG,KAAK;QACxB;QAEA,IAAK,CAAEA,UAAU,CAAE,CAAC,CAAE,EAAG;UACxBA,UAAU,CAAE,CAAC,CAAE,GAAG,KAAK;QACxB;QAEA,QAASlP,IAAI;UACZ,KAAK,UAAU;YACdkP,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvBmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvB;UAED,KAAK,YAAY;YAChBmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvBmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvB;UAED,KAAK,KAAK;YACTmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvB;UAED,KAAK,QAAQ;YACZmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvB;UAED,KAAK,MAAM;YACVmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvB;UAED,KAAK,OAAO;YACXmV,UAAU,CAAE,CAAC,CAAE,GAAGnV,KAAK;YACvB;QACF;QAEA,IAAMoV,QAAQ,GAAGD,UAAU,CAACjC,IAAI,CAAE,GAAI,CAAC;QACvC7S,KAAK,CAACL,KAAK,GAAGoV,QAAQ;QAEtB,IAAMC,iBAAiB,GAAG,IAAI,CAACpD,mBAAmB,CAAE3L,OAAQ,CAAC;QAC7D+O,iBAAiB,CAAClV,OAAO,CAAE,UAAA2T,MAAM,EAAI;UACpC,IAAMwB,WAAW,GAAGL,OAAI,CAACM,uBAAuB,CAAEvV,KAAM,CAAC;UACzD8T,MAAM,CAACvT,aAAa,CAAE,sCAAuC,CAAC,CAACP,KAAK,GAAG+E,QAAQ,CAAE/E,KAAK,EAAE,EAAG,CAAC;UAC5F8T,MAAM,CAACvT,aAAa,CAAE,QAAS,CAAC,CAACP,KAAK,GAAGsV,WAAW;QACrD,CAAE,CAAC;QAEH,OAAOF,QAAQ;MAChB;MAEA,IAAK9O,OAAO,CAAC1D,SAAS,CAACkB,QAAQ,CAAE,4BAA6B,CAAC,EAAG;QACjE,IAAM0R,WAAW,GAAGlP,OAAO,CAACnF,gBAAgB,CAAE,wCAAyC,CAAC;QACxF,IAAMsU,aAAa,GAAGnP,OAAO,CAACnF,gBAAgB,CAAE,sCAAuC,CAAC;QACxFqU,WAAW,CAACrV,OAAO,CAAE,UAAEE,KAAK,EAAE4B,KAAK,EAAM;UACxC5B,KAAK,CAACL,KAAK,GAAGA,KAAK;UACnByV,aAAa,CAAExT,KAAK,GAAG,CAAC,CAAE,CAACjC,KAAK,GAAG+E,QAAQ,CAAE/E,KAAK,EAAE,EAAG,CAAC;QACzD,CAAE,CAAC;QAEH,OAAOA,KAAK;MACb;MAEAsG,OAAO,CAAC/F,aAAa,CAAE,wCAAyC,CAAC,CAACP,KAAK,GAAGA,KAAK;MAC/E,OAAOA,KAAK;IACb;;IAEA;AACD;AACA;AACA;AACA;AACA;EALC;IAAAD,GAAA;IAAAC,KAAA,EAMA,SAAAuV,uBAAuBA,CAAEvV,KAAK,EAAG;MAChC,OAAO,CAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAE,CAAC0V,IAAI,CAAE,UAAA5E,IAAI;QAAA,OAAI9Q,KAAK,CAACuK,QAAQ,CAAEuG,IAAK,CAAC;MAAA,CAAC,CAAC,IAAI,EAAE;IACxE;EAAC;IAAA/Q,GAAA;IAAAC,KAAA,EApaD,SAAOsR,wBAAwBA,CAAEhL,OAAO,EAAG;MAC1C,IAAMqP,MAAM,GAAGrP,OAAO,CAAC/F,aAAa,CAAE,QAAS,CAAC;MAChD,IAAK,CAAEoV,MAAM,EAAG;QACf;MACD;MAEA,IAAM3F,OAAO,GAAGrE,KAAK,CAACC,IAAI,CAAE+J,MAAM,CAAC3F,OAAQ,CAAC,CAACnM,MAAM,CAAE,UAAA8Q,MAAM;QAAA,OAAI,EAAE,KAAKA,MAAM,CAAC3U,KAAK;MAAA,CAAC,CAAC;MACpF,IAAK,CAAC,IAAIgQ,OAAO,CAAClO,MAAM,EAAG;QAC1B6T,MAAM,CAAC/S,SAAS,CAACC,GAAG,CAAE,iBAAkB,CAAC;QACzC8S,MAAM,CAACzT,gBAAgB,CAAE,WAAW,EAAE,UAAAC,KAAK;UAAA,OAAIA,KAAK,CAACO,cAAc,CAAC,CAAC;QAAA,CAAC,CAAC;MACxE;IACD;EAAC;IAAA3C,GAAA;IAAAC,KAAA,EAuID,SAAOuU,wBAAwBA,CAAEvU,KAAK,EAAEkQ,KAAK,EAAEqC,WAAW,EAAG;MAC5D,IAAMqD,SAAS,GAAG1F,KAAK,CAAC2F,OAAO,CAAE7V,KAAM,CAAC;MACxC,IAAK,CAAC,CAAC,KAAK4V,SAAS,EAAG;QACvB;QACA,IAAME,YAAY,GAAG1J,kBAAkB,CAAC2J,UAAU,CAAE/V,KAAK,EAAEkQ,KAAM,CAAC;QAClE,IAAM8F,YAAY,GAAG9F,KAAK,CAAC2F,OAAO,CAAEC,YAAa,CAAC;QAClD,OAAO1B,IAAI,CAACE,KAAK,CAAI0B,YAAY,IAAK9F,KAAK,CAACpO,MAAM,GAAG,CAAC,CAAE,GAAKyQ,WAAY,CAAC;MAC3E;MACA,OAAO6B,IAAI,CAACE,KAAK,CAAIsB,SAAS,IAAK1F,KAAK,CAACpO,MAAM,GAAG,CAAC,CAAE,GAAKyQ,WAAY,CAAC;IACxE;EAAC;IAAAxS,GAAA;IAAAC,KAAA,EAuID,SAAO4S,cAAcA,CAAElP,KAAK,EAAEgP,MAAM,EAAEpC,QAAQ,EAAiB;MAAA,IAAfJ,KAAK,GAAAhK,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAnF,SAAA,GAAAmF,SAAA,MAAG,IAAI;MAC3D,IAAKgK,KAAK,IAAIA,KAAK,CAACpO,MAAM,GAAG,CAAC,EAAG;QAChC;QACA,IAAMyC,QAAQ,GAAGmO,MAAM,GAAGhP,KAAK;QAC/B,IAAMkS,SAAS,GAAGxB,IAAI,CAACE,KAAK,CAAE/P,QAAQ,IAAK2L,KAAK,CAACpO,MAAM,GAAG,CAAC,CAAG,CAAC;QAC/D,IAAMmU,YAAY,GAAG7B,IAAI,CAACQ,GAAG,CAAE,CAAC,EAAER,IAAI,CAACS,GAAG,CAAEe,SAAS,EAAE1F,KAAK,CAACpO,MAAM,GAAG,CAAE,CAAE,CAAC;QAC3E,OAAOoO,KAAK,CAAE+F,YAAY,CAAE;MAC7B;;MAEA;MACA,IAAMjW,KAAK,GAAGoU,IAAI,CAACE,KAAK,CAAI5B,MAAM,GAAGhP,KAAK,GAAK4M,QAAS,CAAC;MAEzD,OAAO8D,IAAI,CAACS,GAAG,CAAE7U,KAAK,EAAEsQ,QAAS,CAAC;IACnC;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;EANC;IAAAvQ,GAAA;IAAAC,KAAA,EAOA,SAAO+V,UAAUA,CAAE/V,KAAK,EAAEkQ,KAAK,EAAG;MACjC,IAAIgG,OAAO,GAAGhG,KAAK,CAAE,CAAC,CAAE;MACxB,IAAIiG,OAAO,GAAG/B,IAAI,CAACgC,GAAG,CAAEpW,KAAK,GAAGkW,OAAQ,CAAC;MAEzC,KAAM,IAAIlH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkB,KAAK,CAACpO,MAAM,EAAEkN,CAAC,EAAE,EAAG;QACxC,IAAMqH,IAAI,GAAGjC,IAAI,CAACgC,GAAG,CAAEpW,KAAK,GAAGkQ,KAAK,CAAElB,CAAC,CAAG,CAAC;QAC3C,IAAKqH,IAAI,GAAGF,OAAO,EAAG;UACrBA,OAAO,GAAGE,IAAI;UACdH,OAAO,GAAGhG,KAAK,CAAElB,CAAC,CAAE;QACrB;MACD;MAEA,OAAOkH,OAAO;IACf;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;AC9gBuE;AACzE;AACA;AACA;AACA;AACA;AAJA,IAKqB7J,gBAAgB;EACpC,SAAAA,iBAAA,EAAc;IAAArN,eAAA,OAAAqN,gBAAA;IACb,IAAI,CAACrG,QAAQ,GAAG1F,QAAQ,CAACa,gBAAgB,CAAE,yBAA0B,CAAC;IACtE,IAAK,CAAC,GAAG,IAAI,CAAC6E,QAAQ,CAAClE,MAAM,EAAG;MAC/B,IAAI,CAACF,IAAI,CAAC,CAAC;IACZ;EACD;;EAEA;AACD;AACA;EAFC,OAAA9B,YAAA,CAAAuM,gBAAA;IAAAtM,GAAA;IAAAC,KAAA,EAGA,SAAA4B,IAAIA,CAAA,EAAG;MACN,IAAI,CAACoE,QAAQ,CAAC7F,OAAO,CAAE,UAAAmG,OAAO,EAAI;QACjC,IAAIzF,8EAAgB,CAAEyF,OAAQ,CAAC;MAChC,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAAvG,GAAA;IAAAC,KAAA,EAKA,SAAAsW,cAAcA,CAAExV,OAAO,EAAG;MAAA,IAAAe,KAAA;MACzB,IAAI,CAAC0U,yBAAyB,CAAEzV,OAAQ,CAAC;MACzCA,OAAO,CAACK,gBAAgB,CAAE,eAAgB,CAAC,CAAChB,OAAO,CAAE,UAAAqW,GAAG,EAAI;QAC3DA,GAAG,CAACtU,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK,EAAI;UACvCN,KAAI,CAAC4U,UAAU,CAAEtU,KAAK,CAACyL,MAAM,CAAC1K,OAAO,CAAE,mBAAoB,CAAE,CAAC;QAC/D,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEnCF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACwC;AAC6C;;AAErF;AACA;AACA;AACA;AACA;AACA,IAAMwT,WAAW,GAAG;EACnBC,YAAY,EAAE,kBAAkB;EAChCC,YAAY,EAAE;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,IAAMC,eAAe,GAAG;EACvBC,UAAU,EAAE,iBAAiB;EAC7BC,IAAI,EAAE,WAAW;EACjBC,OAAO,EAAE,cAAc;EACvBC,MAAM,EAAE;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,SAASC,yBAAyBA,CAAA,EAAG;EACpCC,iBAAiB,CAAC,CAAC;EACnBC,iBAAiB,CAAC,CAAC;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASD,iBAAiBA,CAAA,EAAG;EAC5B,IAAME,YAAY,GAAG/W,QAAQ,CAACa,gBAAgB,KAAAX,MAAA,CAAOkW,WAAW,CAACC,YAAY,CAAI,CAAC;EAElF,IAAK,CAAEU,YAAY,CAACvV,MAAM,EAAG;IAC5B;EACD;EAEAuV,YAAY,CAAClX,OAAO,CAAE,UAAAmX,WAAW,EAAI;IACpC,IAAMC,YAAY,GAAGD,WAAW,CAAC/W,aAAa,KAAAC,MAAA,CAAOqW,eAAe,CAACC,UAAU,cAAa,CAAC;IAC7F,IAAK,CAAES,YAAY,EAAG;MACrB;IACD;IAEAC,gBAAgB,CAAED,YAAY,EAAED,WAAY,CAAC;EAC9C,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASF,iBAAiBA,CAAA,EAAG;EAC5BpO,sDAAU,CAAE,QAAQ,MAAAxI,MAAA,CAAOkW,WAAW,CAACC,YAAY,QAAAnW,MAAA,CAAOqW,eAAe,CAACC,UAAU,QAAMW,iBAAkB,CAAC;AAC9G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,iBAAiBA,CAAEtV,KAAK,EAAG;EACnC,IAAMoV,YAAY,GAAGpV,KAAK,CAACyL,MAAM;EACjC,IAAM0J,WAAW,GAAGC,YAAY,CAACrU,OAAO,KAAA1C,MAAA,CAAOkW,WAAW,CAACC,YAAY,CAAI,CAAC;EAE5E,IAAK,CAAEW,WAAW,EAAG;IACpB;EACD;EAEAE,gBAAgB,CAAED,YAAY,EAAED,WAAY,CAAC;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,gBAAgBA,CAAED,YAAY,EAAED,WAAW,EAAG;EAAA,IAAAI,oBAAA;EACtD,IAAMtK,OAAO,GAAG,EAAAsK,oBAAA,GAAAJ,WAAW,CAACpU,OAAO,KAAA1C,MAAA,CAAOoF,iEAAqB,CAAI,CAAC,cAAA8R,oBAAA,uBAApDA,oBAAA,CAAsDtY,OAAO,CAACwN,GAAG,KAChF0K,WAAW,CAAClY,OAAO,CAACwN,GAAG;EAExB,IAAM+K,SAAS,GAAGJ,YAAY,CAACrJ,OAAO;;EAEtC;EACA,IAAM0J,aAAa,GAAGL,YAAY,CAAC/I,YAAY,CAAEqI,eAAe,CAACE,IAAK,CAAC;EACvE,IAAKa,aAAa,EAAG;IACpBtX,QAAQ,CAACa,gBAAgB,CAAE0W,iBAAiB,CAAED,aAAa,EAAExK,OAAQ,CAAE,CAAC,CACtEjN,OAAO,CAAE,UAAAmG,OAAO;MAAA,OAAIA,OAAO,CAAC1D,SAAS,CAACuP,MAAM,CAAE5M,wDAAY,EAAE,CAAEoS,SAAU,CAAC;IAAA,CAAC,CAAC;EAC9E;;EAEA;EACA,IAAMG,gBAAgB,GAAGP,YAAY,CAAC/I,YAAY,CAAEqI,eAAe,CAACG,OAAQ,CAAC;EAC7E,IAAKc,gBAAgB,EAAG;IACvBxX,QAAQ,CAACa,gBAAgB,CAAE0W,iBAAiB,CAAEC,gBAAgB,EAAE1K,OAAQ,CAAE,CAAC,CACzEjN,OAAO,CAAE,UAAAmG,OAAO,EAAI;MACpBA,OAAO,CAAC1D,SAAS,CAACuP,MAAM,CAAE3M,0DAAc,EAAEmS,SAAU,CAAC;MACrDrR,OAAO,CAACnF,gBAAgB,CAAE,yBAA0B,CAAC,CAAChB,OAAO,CAC5D,UAAA4X,WAAW;QAAA,OAAIA,WAAW,CAACC,QAAQ,GAAGL,SAAS;MAAA,CAChD,CAAC;MACDrR,OAAO,CAACnF,gBAAgB,CAAE,kCAAmC,CAAC,CAAChB,OAAO,CACrE,UAAA8X,WAAW;QAAA,OAAIA,WAAW,CAACC,QAAQ,GAAGP,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;MAAA,CACzD,CAAC;IACF,CAAE,CAAC;EACL;;EAEA;EACA,IAAMQ,eAAe,GAAGZ,YAAY,CAAC/I,YAAY,CAAEqI,eAAe,CAACI,MAAO,CAAC;EAC3E,IAAKkB,eAAe,EAAG;IACtB7X,QAAQ,CAACa,gBAAgB,CAAE0W,iBAAiB,CAAEM,eAAe,EAAE/K,OAAQ,CAAE,CAAC,CACxEjN,OAAO,CAAE,UAAAmG,OAAO;MAAA,OAAIA,OAAO,CAAC1D,SAAS,CAACuP,MAAM,CAAE3M,0DAAc,EAAE,CAAEmS,SAAU,CAAC;IAAA,CAAC,CAAC;EAChF;;EAEA;EACA,IAAMS,kBAAkB,GAAGb,YAAY,CAACrU,OAAO,KAAA1C,MAAA,CAAOkW,WAAW,CAACE,YAAY,CAAI,CAAC;EACnFjL,KAAK,CAACC,IAAI,CAAE0L,WAAW,CAACnW,gBAAgB,KAAAX,MAAA,CAAOkW,WAAW,CAACE,YAAY,CAAI,CAAE,CAAC,CAC5E/S,MAAM,CAAE,UAAAwU,WAAW;IAAA,OAAIA,WAAW,KAAKD,kBAAkB;EAAA,CAAC,CAAC,CAC3DjY,OAAO,CAAE,UAAAkY,WAAW,EAAI;IACxBA,WAAW,CAACzV,SAAS,CAACuP,MAAM,CAAE3M,0DAAc,EAAEmS,SAAU,CAAC;;IAEzD;IACA,IAAMxF,MAAM,GAAGkG,WAAW,CAAC9X,aAAa,CAAE,aAAc,CAAC;IACzD4R,MAAM,CAAC+F,QAAQ,GAAGP,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;IACpCxF,MAAM,CAAClK,YAAY,CAAE,eAAe,EAAE0P,SAAU,CAAC;EAClD,CAAE,CAAC;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,iBAAiBA,CAAES,QAAQ,EAAElL,OAAO,EAAG;EAC/C,OAAOkL,QAAQ,CAACC,OAAO,CAAE,OAAO,EAAEnL,OAAQ,CAAC;AAC5C;;;;;;;;;;;;;;;;;;ACnKA;AACA;AACA;AACA;AACA;;AAEO,IAAMsJ,WAAW,GAAG;EAC1B8B,SAAS,EAAE,qBAAqB;EAChCC,cAAc,EAAE,YAAY;EAC5BC,KAAK,EAAE,WAAW;EAClBC,WAAW,EAAE,iBAAiB;EAC9BC,YAAY,EAAE,kBAAkB;EAChCC,iBAAiB,EAAE,uBAAuB;EAC1CC,iBAAiB,EAAE,uBAAuB;EAC1CC,eAAe,EAAE;AAClB,CAAC;AAEM,IAAMC,IAAI,GAAG;EACnBC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,GAAG;EACVC,GAAG,EAAE,KAAK;EACVC,SAAS,EAAE;AACZ,CAAC;AAEM,IAAMC,kBAAkB,GAAG,EAAE;AAC7B,IAAMC,SAAS,GAAG,CAAC,C;;;;;;;;;;;;;;;;;AC1B1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACgD;AACkC;AACtB;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASnC,iBAAiBA,CAAErK,KAAK,EAAE6M,UAAU,EAAEC,aAAa,EAAG;EACrE;EACAC,MAAM,CAAE/M,KAAM,CAAC,CAACgN,EAAE,CAAE,QAAQ,EAAE;IAAA,OAAML,wEAAwB,CAAE3M,KAAK,CAAC/M,KAAK,EAAE4Z,UAAU,EAAEC,aAAc,CAAC;EAAA,CAAC,CAAC;EAExGD,UAAU,CAAC1X,gBAAgB,CAAE,SAAS,EAAE,UAAAC,KAAK;IAAA,OAAI6X,mBAAmB,CAAE7X,KAAK,EAAE4K,KAAK,EAAE6M,UAAU,EAAEC,aAAc,CAAC;EAAA,CAAC,CAAC;EACjHD,UAAU,CAAC1X,gBAAgB,CAAE,MAAM,EAAE;IAAA,OAAMsX,wDAAQ,CAAEI,UAAU,CAAC5Z,KAAK,CAACia,IAAI,CAAC,CAAC,EAAElN,KAAK,EAAE6M,UAAW,CAAC;EAAA,CAAC,CAAC;EAEnGC,aAAa,CAAC3X,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK;IAAA,OAAI+X,kBAAkB,CAAE/X,KAAK,EAAE4K,KAAK,EAAE6M,UAAW,CAAC;EAAA,CAAC,CAAC;AACnG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,mBAAmBA,CAAE7X,KAAK,EAAE4K,KAAK,EAAE6M,UAAU,EAAEC,aAAa,EAAG;EACvE,IAAQ9Z,GAAG,GAAKoC,KAAK,CAAbpC,GAAG;EACX,IAAMC,KAAK,GAAG4Z,UAAU,CAAC5Z,KAAK,CAACia,IAAI,CAAC,CAAC;EAErC,QAASla,GAAG;IACX;IACA,KAAKiZ,4CAAI,CAACK,SAAS;MAClB,IAAK,CAAErZ,KAAK,EAAG;QACdmC,KAAK,CAACO,cAAc,CAAC,CAAC;QACtB,IAAMyX,SAAS,GAAGN,aAAa,CAACtZ,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAACgC,KAAK,gBAAe,CAAC;QACrFe,2DAAW,CAAEU,SAAS,EAAEpN,KAAK,EAAE6M,UAAW,CAAC;MAC5C;MACA;;IAED;IACA,KAAKZ,4CAAI,CAACC,KAAK;IACf,KAAKD,4CAAI,CAACG,KAAK;IACf,KAAKH,4CAAI,CAACE,KAAK;MACd/W,KAAK,CAACO,cAAc,CAAC,CAAC;MACtB8W,wDAAQ,CAAExZ,KAAK,EAAE+M,KAAK,EAAE6M,UAAW,CAAC;MACpC;EACF;EAEAD,yEAAqB,CAAEC,UAAU,EAAEC,aAAc,CAAC;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,kBAAkBA,CAAE/X,KAAK,EAAE4K,KAAK,EAAE6M,UAAU,EAAG;EACvD,IAAMQ,YAAY,GAAGjY,KAAK,CAACyL,MAAM,CAAC1K,OAAO,KAAA1C,MAAA,CAAOkW,mDAAW,CAACkC,YAAY,CAAI,CAAC;EAC7E,IAAK,CAAEwB,YAAY,EAAG;IACrB;EACD;EAEA,IAAMC,KAAK,GAAGD,YAAY,CAAClX,OAAO,KAAA1C,MAAA,CAAOkW,mDAAW,CAACgC,KAAK,CAAI,CAAC;EAC/D,IAAK,CAAE2B,KAAK,EAAG;IACd;EACD;EAEA,IAAMR,aAAa,GAAGQ,KAAK,CAAC7V,aAAa;EAEzCiV,2DAAW,CAAEY,KAAK,EAAEtN,KAAK,EAAE6M,UAAW,CAAC;EACvCD,yEAAqB,CAAEC,UAAU,EAAEC,aAAc,CAAC;AACnD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE7FA;AACA;AACA;AACA;AACA;;AAEyE;;AAEzE;AACA;AACA;AACA;AACA;AACO,SAASS,yBAAyBA,CAAA,EAAG;EAC3Cha,QAAQ,CAACa,gBAAgB,KAAAX,MAAA,CAAOkW,mDAAW,CAAC8B,SAAS,CAAI,CAAC,CAACrY,OAAO,CAAE,UAAAoa,SAAS;IAAA,OAC5EZ,qBAAqB,CACpBY,SAAS,CAACha,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAACoC,iBAAiB,CAAI,CAAC,EAChEyB,SAAS,CAACha,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAAC+B,cAAc,CAAI,CAC7D,CAAC;EAAA,CACF,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASkB,qBAAqBA,CAAEC,UAAU,EAAEC,aAAa,EAAG;EAClE,IAAK,CAAED,UAAU,IAAI,CAAEC,aAAa,EAAG;IACtC;EACD;EAEA,IAAMW,MAAM,GAAGX,aAAa,CAAC1Y,gBAAgB,KAAAX,MAAA,CAAOkW,mDAAW,CAACgC,KAAK,CAAI,CAAC;EAC1E,IAAM+B,SAAS,GAAGD,MAAM,CAAC1Y,MAAM,GAAG,CAAC;;EAEnC;EACA,IAAK,CAAE2Y,SAAS,EAAG;IAClBb,UAAU,CAACnW,KAAK,CAACiX,WAAW,GAAG,EAAE;IACjCd,UAAU,CAACnW,KAAK,CAACkX,UAAU,GAAG,EAAE;IAChCf,UAAU,CAACnW,KAAK,CAACmX,MAAM,GAAG,EAAE;IAC5B;EACD;EAEA,IAAMC,mBAAmB,GAAGhB,aAAa,CAACiB,YAAY;;EAEtD;EACA,IAAMC,OAAO,GAAG3G,IAAI,CAACQ,GAAG,CAAE,CAAC,EAAER,IAAI,CAACC,IAAI,CAAEwG,mBAAmB,GAAGvB,0DAAmB,CAAE,CAAC;EAEpF,IAAKyB,OAAO,GAAG,CAAC,EAAG;IAClB;IACA,IAAMC,YAAY,GAAGC,qBAAqB,CAAEC,gBAAgB,CAAEV,MAAO,CAAE,CAAC;IAExEZ,UAAU,CAACnW,KAAK,CAACmX,MAAM,MAAApa,MAAA,CAAOqa,mBAAmB,OAAK;IACtDjB,UAAU,CAACnW,KAAK,CAACkX,UAAU,MAAAna,MAAA,CAAOqa,mBAAmB,GAAGvB,0DAAkB,GAAGC,iDAAS,OAAK;IAC3FK,UAAU,CAACnW,KAAK,CAACiX,WAAW,GAAGM,YAAY,MAAAxa,MAAA,CAAOwa,YAAY,GAAKzB,iDAAS,GAAG,CAAG,UAAQ,EAAE;EAC7F,CAAC,MAAM;IACN;IACAK,UAAU,CAACnW,KAAK,CAACmX,MAAM,GAAG,EAAE;IAC5BhB,UAAU,CAACnW,KAAK,CAACkX,UAAU,GAAG,EAAE;IAChCf,UAAU,CAACnW,KAAK,CAACiX,WAAW,MAAAla,MAAA,CAAOqZ,aAAa,CAACpV,WAAW,GAAG8U,iDAAS,OAAK;EAC9E;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS2B,gBAAgBA,CAAEV,MAAM,EAAG;EACnC,IAAK,CAAEA,MAAM,CAAC1Y,MAAM,EAAG;IACtB,OAAO,EAAE;EACV;EAEA,IAAMqZ,WAAW,GAAGxP,KAAK,CAACC,IAAI,CAAE4O,MAAO,CAAC;EACxC,IAAIY,QAAQ,GAAG,CAAC,CAAC;EAEjBD,WAAW,CAAChb,OAAO,CAAE,UAAAka,KAAK,EAAI;IAC7B,IAAMgB,SAAS,GAAGhB,KAAK,CAAC5H,qBAAqB,CAAC,CAAC;IAC/C,IAAM6I,WAAW,GAAGD,SAAS,CAACE,MAAM;IAEpC,IAAKD,WAAW,GAAGF,QAAQ,EAAG;MAC7BA,QAAQ,GAAGE,WAAW;IACvB;EACD,CAAE,CAAC;EAEH,IAAME,SAAS,GAAGjC,iDAAS,GAAG,CAAC;EAC/B,OAAO4B,WAAW,CAACtX,MAAM,CAAE,UAAAwW,KAAK,EAAI;IACnC,IAAMgB,SAAS,GAAGhB,KAAK,CAAC5H,qBAAqB,CAAC,CAAC;IAC/C,OAAO2B,IAAI,CAACgC,GAAG,CAAEiF,SAAS,CAACE,MAAM,GAAGH,QAAS,CAAC,IAAII,SAAS;EAC5D,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASP,qBAAqBA,CAAEQ,aAAa,EAAG;EAC/C,IAAK,CAAEA,aAAa,CAAC3Z,MAAM,EAAG;IAC7B,OAAO,CAAC;EACT;EAEA,IAAI4Z,UAAU,GAAG,CAAC;EAElBD,aAAa,CAACtb,OAAO,CAAE,UAAAka,KAAK,EAAI;IAC/BqB,UAAU,IAAIrB,KAAK,CAAC5V,WAAW;EAChC,CAAE,CAAC;EAEHiX,UAAU,IAAI,CAAED,aAAa,CAAC3Z,MAAM,GAAG,CAAC,IAAKyX,iDAAS;EAEtD,OAAOmC,UAAU,GAAGnC,iDAAS;AAC9B,C;;;;;;;;;;;;;;;;;;;;;;ACnHA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAC0C;AACkB;AACN;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,wBAAwBA,CAAE1Z,KAAK,EAAE4Z,UAAU,EAAEC,aAAa,EAAG;EAC5E,IAAK,CAAE7Z,KAAK,IAAI,CAAE6Z,aAAa,IAAI,CAAED,UAAU,EAAG;IACjD;EACD;;EAEA;EACAC,aAAa,CAAC+B,SAAS,GAAG,EAAE;EAC5BC,WAAW,CAAE7b,KAAM,CAAC,CAACG,OAAO,CAAE,UAAAka,KAAK;IAAA,OAAIsB,mEAAkB,CAAEtB,KAAK,EAAER,aAAc,CAAC;EAAA,CAAC,CAAC;EAEnFF,yEAAqB,CAAEC,UAAU,EAAEC,aAAc,CAAC;EAElDD,UAAU,CAACkC,KAAK,CAAC,CAAC;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAStC,QAAQA,CAAEuC,UAAU,EAAEhP,KAAK,EAAE6M,UAAU,EAAG;EACzD,IAAK,CAAEmC,UAAU,IAAI,CAAEhP,KAAK,IAAI,CAAE6M,UAAU,EAAG;IAC9C,OAAO,KAAK;EACb;;EAEA;EACA,IAAMY,MAAM,GAAGqB,WAAW,CAAE9O,KAAK,CAAC/M,KAAM,CAAC;;EAEzC;EACA,IAAKwa,MAAM,CAACjQ,QAAQ,CAAEwR,UAAW,CAAC,EAAG;IACpCC,eAAe,CAAEpC,UAAW,CAAC;IAC7B,OAAO,KAAK;EACb;;EAEA;EACAY,MAAM,CAAC/Z,IAAI,CAAEsb,UAAW,CAAC;EACzBE,gBAAgB,CAAElP,KAAK,EAAEyN,MAAO,CAAC;EACjCwB,eAAe,CAAEpC,UAAW,CAAC;EAC7B,OAAO,IAAI;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASH,WAAWA,CAAEY,KAAK,EAAEtN,KAAK,EAAE6M,UAAU,EAAG;EACvD,IAAK,CAAES,KAAK,IAAI,CAAEtN,KAAK,IAAI,CAAE6M,UAAU,EAAG;IACzC;EACD;EAEA,IAAM5Z,KAAK,GAAGqa,KAAK,CAAC9Z,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAACiC,WAAW,CAAI,CAAC,CAAC3Q,WAAW;;EAEhF;EACA,IAAMwS,MAAM,GAAGqB,WAAW,CAAE9O,KAAK,CAAC/M,KAAM,CAAC,CAAC6D,MAAM,CAAE,UAAAkY,UAAU;IAAA,OAAIA,UAAU,KAAK/b,KAAK;EAAA,CAAC,CAAC;EACtFic,gBAAgB,CAAElP,KAAK,EAAEyN,MAAO,CAAC;;EAEjC;EACAH,KAAK,CAAC1W,MAAM,CAAC,CAAC;EAEdiW,UAAU,CAACkC,KAAK,CAAC,CAAC;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASD,WAAWA,CAAA,EAAe;EAAA,IAAb7b,KAAK,GAAAkG,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAnF,SAAA,GAAAmF,SAAA,MAAG,EAAE;EACtClG,KAAK,GAAGA,KAAK,CAACia,IAAI,CAAC,CAAC;EAEpB,IAAK,CAAEja,KAAK,EAAG;IACd,OAAO,EAAE;EACV;EAEA,OAAOA,KAAK,CAAC+S,KAAK,CAAE,KAAM,CAAC,CAAClP,MAAM,CAAEqY,OAAQ,CAAC;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASD,gBAAgBA,CAAElP,KAAK,EAAgB;EAAA,IAAdyN,MAAM,GAAAtU,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAnF,SAAA,GAAAmF,SAAA,MAAG,EAAE;EACnD,IAAK,CAAE6G,KAAK,EAAG;IACd;EACD;EAEAA,KAAK,CAAC/M,KAAK,GAAGwa,MAAM,CAACtH,IAAI,CAAE,GAAI,CAAC;EAChC4G,MAAM,CAAE/M,KAAM,CAAC,CAACoP,OAAO,CAAE,QAAS,CAAC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASH,eAAeA,CAAEpC,UAAU,EAAG;EAC7C,IAAK,CAAEA,UAAU,EAAG;IACnB;EACD;EAEAA,UAAU,CAAC5Z,KAAK,GAAG,EAAE;EACrB4Z,UAAU,CAACkC,KAAK,CAAC,CAAC;AACnB,C;;;;;;;;;;;;;;;;;ACtIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAC8C;AACJ;AAE1C,IAAAM,cAAA,GAA2B9Z,MAAM,CAAC6F,MAAM;EAAhCJ,IAAI,GAAAqU,cAAA,CAAJrU,IAAI;EAAES,GAAG,GAAA4T,cAAA,CAAH5T,GAAG;EAAEH,GAAG,GAAA+T,cAAA,CAAH/T,GAAG;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACO,SAASgU,2BAA2BA,CAAEtP,KAAK,EAAG;EACpD;EACA,IAAMwN,SAAS,GAAGxN,KAAK,CAAC7J,OAAO,KAAA1C,MAAA,CAAOkW,mDAAW,CAACqC,eAAe,CAAI,CAAC;EAEtE,IAAKwB,SAAS,CAACha,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAAC+B,cAAc,CAAI,CAAC,EAAG;IACpE,OAAO,IAAI;EACZ;EAEA8B,SAAS,CAAC3X,SAAS,CAACC,GAAG,CAAE6T,mDAAW,CAAC8B,SAAU,CAAC;EAEhD,IAAMqB,aAAa,GAAG9R,IAAI,CAAE;IAC3BuU,SAAS,EAAE5F,mDAAW,CAAC+B;EACxB,CAAE,CAAC;EAEH8B,SAAS,CAACgC,YAAY,CAAE1C,aAAa,EAAEU,SAAS,CAACiC,UAAW,CAAC;EAE7D,IAAM5C,UAAU,GAAGvR,GAAG,CAAE,OAAO,EAAE;IAChCiU,SAAS,EAAE5F,mDAAW,CAACoC,iBAAiB;IACxC7V,EAAE,KAAAzC,MAAA,CAAMuM,KAAK,CAAC9J,EAAE;EACjB,CAAE,CAAC;EAEH2W,UAAU,CAAC3T,IAAI,GAAG,MAAM;;EAExB;EACA8G,KAAK,CAAC0P,UAAU,CAACF,YAAY,CAAE3C,UAAU,EAAE7M,KAAK,CAAC2P,WAAY,CAAC;EAC9D3P,KAAK,CAACnK,SAAS,CAACC,GAAG,CAAE0C,wDAAa,CAAC;EAEnC,OAAOgV,SAAS;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASoB,kBAAkBA,CAAE3b,KAAK,EAAE6Z,aAAa,EAAG;EAC1D,IAAM8C,YAAY,GAAG5U,IAAI,CAAE;IAC1BuU,SAAS,EAAE5F,mDAAW,CAACgC,KAAK;IAC5BkE,QAAQ,EAAE,CACT7U,IAAI,CAAE;MACL8U,IAAI,EAAE7c,KAAK;MACXsc,SAAS,EAAE5F,mDAAW,CAACiC;IACxB,CAAE,CAAC,EACH5Q,IAAI,CAAE;MACLuU,SAAS,EAAE5F,mDAAW,CAACkC,YAAY;MACnCkE,KAAK,EAAEtU,GAAG,CAAE;QAAEiB,IAAI,EAAE;MAAkB,CAAE;IACzC,CAAE,CAAC;EAEL,CAAE,CAAC;EAEHoQ,aAAa,CAACkD,MAAM,CAAEJ,YAAa,CAAC;AACrC,C;;;;;;;;;;;;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACuC;AACG;AACqB;AACJ;AACK;AACX;;AAErD;AACA;AACA;AACA;AACA;AACA,SAASK,oBAAoBA,CAAA,EAAG;EAC/BC,4BAA4B,CAAC,CAAC;;EAE9B;AACD;AACA;AACA;AACA;AACA;EACC3c,QAAQ,CAAC4B,gBAAgB,CAAE,iBAAiB,EAAE,UAAAuK,IAAA;IAAA,IAAIC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAA,OACzDuQ,4BAA4B,CAAEvQ,QAAQ,CAACtN,OAAO,CAACwN,GAAI,CAAC;EAAA,CACrD,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;EACCtM,QAAQ,CAAC4B,gBAAgB,CAAE,uBAAuB,EAAE,UAAA2K,KAAA;IAAA,IAAIC,SAAS,GAAAD,KAAA,CAATC,SAAS;IAAA,OAChEA,SAAS,CAAC3M,OAAO,CAAE,UAAA4M,KAAK;MAAA,OAAIkQ,4BAA4B,CAAElQ,KAAK,CAAC9J,EAAG,CAAC;IAAA,CAAC,CAAC;EAAA,CACvE,CAAC;;EAED;EACAqQ,EAAE,CAACC,KAAK,CAACC,SAAS,CAAE3N,iDAAK,CAACC,mBAAmB,EAAE,wBAAwB,EAAEwU,yEAA0B,CAAC;AACrG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS2C,4BAA4BA,CAAE7P,OAAO,EAAG;EAChD,IAAMmN,SAAS,GAAGnN,OAAO,GAAG9M,QAAQ,CAACgN,cAAc,wBAAA9M,MAAA,CAA0B4M,OAAO,CAAI,CAAC,GAAG9M,QAAQ,CAACoB,IAAI;EACzG,IAAMwb,gBAAgB,GAAG3C,SAAS,CAACpZ,gBAAgB,KAAAX,MAAA,CAAOkW,mDAAW,CAACmC,iBAAiB,CAAI,CAAC;EAC5F,IAAK,CAAEqE,gBAAgB,CAACpb,MAAM,EAAG;IAChC;EACD;;EAEA;EACA,IAAMqb,eAAe,GAAG,IAAIC,GAAG,CAAC,CAAC;EACjCF,gBAAgB,CAAC/c,OAAO,CAAE,UAAA4M,KAAK,EAAI;IAClC,IAAK,CAAEoQ,eAAe,CAACvS,GAAG,CAAEmC,KAAK,CAAC9J,EAAG,CAAC,EAAG;MACxCoa,eAAe,CAAEtQ,KAAM,CAAC;MACxBoQ,eAAe,CAACta,GAAG,CAAEkK,KAAK,CAAC9J,EAAG,CAAC;IAChC;EACD,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASoa,eAAeA,CAAEtQ,KAAK,EAAG;EACjC,IAAMwN,SAAS,GAAG8B,4EAA2B,CAAEtP,KAAM,CAAC;EACtD,IAAK,CAAEwN,SAAS,EAAG;IAClB;EACD;EAEA,IAAMX,UAAU,GAAGW,SAAS,CAACha,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAACoC,iBAAiB,CAAI,CAAC;EACnF,IAAMe,aAAa,GAAGU,SAAS,CAACha,aAAa,KAAAC,MAAA,CAAOkW,mDAAW,CAAC+B,cAAc,CAAI,CAAC;EAEnFiB,wEAAwB,CAAE3M,KAAK,CAAC/M,KAAK,EAAE4Z,UAAU,EAAEC,aAAc,CAAC;EAClEzC,kEAAiB,CAAErK,KAAK,EAAE6M,UAAU,EAAEC,aAAc,CAAC;AACtD;;;;;;;;;;;;;;;;AC1FA;AACA;AACA;AACwC;;AAExC;AACA;AACA;AACA;AACA;AACO,SAASyD,sBAAsBA,CAAA,EAAG;EACxCtU,sDAAU,CAAE,QAAQ,EAAE,yCAAyC,EAAEuU,iBAAkB,CAAC;EACpFvU,sDAAU,CAAE,QAAQ,EAAE,wBAAwB,EAAEuU,iBAAkB,CAAC;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,iBAAiBA,CAAEpb,KAAK,EAAG;EACnC,IAAMqb,SAAS,GAAGrb,KAAK,CAACyL,MAAM,CAAC1K,OAAO,CAAE,iBAAkB,CAAC;EAC3D,IAAMua,OAAO,GAAGD,SAAS,CAACjd,aAAa,CAAE,yBAA0B,CAAC;EACpE,IAAMuQ,IAAI,GAAG0M,SAAS,CAACjd,aAAa,CAAE,QAAS,CAAC,CAACP,KAAK;;EAEtD;EACA,IAAKmC,KAAK,CAACyL,MAAM,CAAC8P,OAAO,CAAE,QAAS,CAAC,EAAG;IACvCD,OAAO,CAACxX,IAAI,GAAG,EAAE,KAAK6K,IAAI,GAAG,MAAM,GAAG,QAAQ;EAC/C;;EAEA;EACA,IAAMqE,UAAU,GAAGsI,OAAO,CAACzd,KAAK,CAACia,IAAI,CAAC,CAAC;EACvCuD,SAAS,CAACjd,aAAa,CAAE,sBAAuB,CAAC,CAACP,KAAK,GAAG,EAAE,KAAKmV,UAAU,GAAGA,UAAU,GAAGrE,IAAI,GAAG,EAAE;AACrG,C;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAM6M,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAA,EAAS;EAAA,IAAAC,qBAAA;EACxC,CAAAA,qBAAA,GAAAtd,QAAQ,CAACgN,cAAc,CAAE,oBAAqB,CAAC,cAAAsQ,qBAAA,eAA/CA,qBAAA,CAAiD1b,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK,EAAI;IAAA,IAAA0b,qBAAA;IACpF1b,KAAK,CAACO,cAAc,CAAC,CAAC;IACtB,CAAAmb,qBAAA,GAAAvd,QAAQ,CAACC,aAAa,CAAE,wDAAyD,CAAC,cAAAsd,qBAAA,eAAlFA,qBAAA,CAAoFC,KAAK,CAAC,CAAC;EAC5F,CAAE,CAAC;AACJ,CAAC;AAED,iEAAeH,0BAA0B,E;;;;;;;;;;;;;;;;;;;;;UEjBzC;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D,E;;;;;;;;;;;;;;ACNA;AACA;AACA;AAC4C;;AAE5C;AACA;AACA;AACsD;AAQhC;AAEtBI,gEAAQ,CAAE,YAAM;EACf,IAAI5R,0DAAiB,CAAC,CAAC;EACvB,IAAIC,2DAAkB,CAAC,CAAC;EACxB,IAAIC,yDAAgB,CAAC,CAAC;EACtBsR,mEAA0B,CAAC,CAAC;EAC5BX,iEAAoB,CAAC,CAAC;EACtB9F,sEAAyB,CAAC,CAAC;EAC3BoG,mEAAsB,CAAC,CAAC;AACzB,CAAE,CAAC,C","sources":["webpack://formidable/./node_modules/@wordpress/dom-ready/build-module/index.js","webpack://formidable/./js/src/admin/components/dependent-updater-component.js","webpack://formidable/./js/src/components/class-tabs-navigator.js","webpack://formidable/./js/src/core/constants.js","webpack://formidable/./js/src/core/utils/animation.js","webpack://formidable/./js/src/core/utils/async.js","webpack://formidable/./js/src/core/utils/error.js","webpack://formidable/./js/src/core/utils/globalModules.js","webpack://formidable/./js/src/core/utils/index.js","webpack://formidable/./js/src/core/utils/url.js","webpack://formidable/./js/src/core/utils/validation.js","webpack://formidable/./js/src/core/utils/visibility.js","webpack://formidable/./js/src/settings-components/components/index.js","webpack://formidable/./js/src/settings-components/components/radio-component.js","webpack://formidable/./js/src/settings-components/components/slider-component.js","webpack://formidable/./js/src/settings-components/components/tabs-component.js","webpack://formidable/./js/src/settings-components/components/toggle-group/index.js","webpack://formidable/./js/src/settings-components/components/toggle-group/toggle-group.js","webpack://formidable/./js/src/settings-components/components/token-input/constants.js","webpack://formidable/./js/src/settings-components/components/token-input/event-handlers.js","webpack://formidable/./js/src/settings-components/components/token-input/index.js","webpack://formidable/./js/src/settings-components/components/token-input/proxy-input-style.js","webpack://formidable/./js/src/settings-components/components/token-input/token-actions.js","webpack://formidable/./js/src/settings-components/components/token-input/token-elements.js","webpack://formidable/./js/src/settings-components/components/token-input/token-input.js","webpack://formidable/./js/src/settings-components/components/unit-input.js","webpack://formidable/./js/src/settings-components/events/add-fields-button-handler.js","webpack://formidable/./js/src/settings-components/events/index.js","webpack://formidable/webpack/bootstrap","webpack://formidable/webpack/runtime/define property getters","webpack://formidable/webpack/runtime/hasOwnProperty shorthand","webpack://formidable/webpack/runtime/make namespace object","webpack://formidable/./js/src/settings-components/index.js"],"sourcesContent":["/**\n * @typedef {() => void} Callback\n *\n * TODO: Remove this typedef and inline `() => void` type.\n *\n * This typedef is used so that a descriptive type is provided in our\n * automatically generated documentation.\n *\n * An in-line type `() => void` would be preferable, but the generated\n * documentation is `null` in that case.\n *\n * @see https://github.com/WordPress/gutenberg/issues/18045\n */\n\n/**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @param {Callback} callback A function to execute after the DOM is ready.\n *\n * @example\n * ```js\n * import domReady from '@wordpress/dom-ready';\n *\n * domReady( function() {\n * \t//do something after DOM loads.\n * } );\n * ```\n *\n * @return {void}\n */\nexport default function domReady(callback) {\n if (typeof document === 'undefined') {\n return;\n }\n\n if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.\n document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.\n ) {\n return void callback();\n } // DOMContentLoaded has not fired yet, delay callback until then.\n\n\n document.addEventListener('DOMContentLoaded', callback);\n}\n//# sourceMappingURL=index.js.map","/**\n * This component updates the dependent style element's values and triggers a custom change event for each style element, initiating the style preview.\n * The names of the elements that will be updated are specified using the \"will-change\" attribute.\n * It is primarily used in components from Style/Quick Settings.\n * For instance, when the \"FrmPrimaryColorStyleComponent\" is changed, it simultaneously updates various style elements like border color, text color, and button backgrounds.\n */\nexport default class frmStyleDependentUpdaterComponent {\n\t/**\n\t * Creates an instance of frmStyleDependentUpdaterComponent.\n\t *\n\t * @param {HTMLElement} component - The component element.\n\t */\n\tconstructor( component ) {\n\t\tthis.component = component;\n\t\ttry {\n\t\t\tconst willChangeData = JSON.parse( this.component.dataset.willChange );\n\t\t\tthis.data = {\n\t\t\t\tpropagateInputs: this.initPropagationList( willChangeData ),\n\t\t\t\tchangeEvent: new Event( 'change', { bubbles: true } )\n\t\t\t};\n\t\t} catch ( error ) {\n\t\t\tconsole.error( 'Error parsing JSON data from \"will-change\" attribute.', error );\n\t\t}\n\t}\n\n\t/**\n\t * Initializes the list of inputs to propagate changes to.\n\t * The selection is made by provided input's names list in \"will-change\" attribute.\n\t *\n\t * @param {string[]} inputNames - The names of the inputs to propagate changes to.\n\t * @returns {HTMLElement[]} - The list of inputs to propagate changes to.\n\t */\n\tinitPropagationList( inputNames ) {\n\t\tconst list = [];\n\t\tinputNames.forEach( name => {\n\t\t\tconst input = document.querySelector( `input[name=\"${ name }\"]` );\n\t\t\tif ( null !== input ) {\n\t\t\t\tlist.push( input );\n\t\t\t}\n\t\t} );\n\t\treturn list;\n\t}\n\n\t/**\n\t * Updates all dependent elements with the given value.\n\t *\n\t * @param {string} value - The value to update the dependent elements with.\n\t */\n\tupdateAllDependentElements( value ) {\n\t\tthis.data.propagateInputs.forEach( input => {\n\t\t\tinput.value = value;\n\t\t} );\n\t\tthis.data.propagateInputs[ 0 ].dispatchEvent( this.data.changeEvent );\n\t}\n}\n","export class frmTabsNavigator {\n\tconstructor( wrapper ) {\n\t\tif ( wrapper === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.wrapper = wrapper instanceof Element ? wrapper : document.querySelector( wrapper );\n\n\t\tif ( null === this.wrapper ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.flexboxSlidesGap = '16px';\n\t\tthis.navs = this.wrapper.querySelectorAll( '.frm-tabs-navs ul > li' );\n\t\tthis.slideTrackLine = this.wrapper.querySelector( '.frm-tabs-active-underline' );\n\t\tthis.slideTrack = this.wrapper.querySelector( '.frm-tabs-slide-track' );\n\t\tthis.slides = this.wrapper.querySelectorAll( '.frm-tabs-slide-track > div' );\n\t\tthis.isRTL = document.documentElement.dir === 'rtl' || document.body.dir === 'rtl';\n\t\tthis.resizeObserver = null;\n\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tif ( null === this.wrapper || ! this.navs.length || null === this.slideTrackLine || null === this.slideTrack || ! this.slides.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.initDefaultSlideTrackerWidth();\n\t\tthis.navs.forEach( ( nav, index ) => {\n\t\t\tnav.addEventListener( 'click', event => this.onNavClick( event, index ) );\n\t\t} );\n\n\t\tthis.setupScrollbarObserver();\n\t\t// Cleanup observers when page unloads to prevent memory leaks\n\t\twindow.addEventListener( 'beforeunload', this.cleanupObservers );\n\t}\n\n\tonNavClick( event, index ) {\n\t\tconst navItem = event.currentTarget;\n\n\t\tevent.preventDefault();\n\n\t\tthis.removeActiveClassnameFromNavs();\n\t\tnavItem.classList.add( 'frm-active' );\n\t\tthis.initSlideTrackUnderline( navItem, index );\n\t\tthis.changeSlide( index );\n\n\t\t// Handle special case for frm_insert_fields_tab\n\t\tconst navLink = navItem.querySelector( 'a' );\n\t\tif ( navLink && navLink.id === 'frm_insert_fields_tab' && ! navLink.closest( '#frm_adv_info' ) ) {\n\t\t\twindow.frmAdminBuild?.clearSettingsBox?.();\n\t\t}\n\t}\n\n\tinitDefaultSlideTrackerWidth() {\n\t\tif ( ! this.slideTrackLine.dataset.initialWidth ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.slideTrackLine.style.width = `${ this.slideTrackLine.dataset.initialWidth }px`;\n\t}\n\tinitSlideTrackUnderline( nav, index ) {\n\t\tthis.slideTrackLine.classList.remove( 'frm-first', 'frm-last' );\n\t\tconst activeNav = nav !== undefined ? nav : this.navs.filter( nav => nav.classList.contains( 'frm-active' ) );\n\t\tthis.positionUnderlineIndicator( activeNav );\n\t}\n\n\t/**\n\t * Sets up a ResizeObserver to watch for scrollbar changes in the parent container.\n\t * Automatically repositions the underline indicator when layout changes occur.\n\t */\n\tsetupScrollbarObserver() {\n\t\tconst scrollbarWrapper = this.wrapper.closest( '.frm-scrollbar-wrapper' );\n\n\t\tif ( ! scrollbarWrapper || ! ( 'ResizeObserver' in window ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.resizeObserver = new ResizeObserver( () => {\n\t\t\tconst activeNav = this.wrapper.querySelector( '.frm-tabs-navs ul > li.frm-active' );\n\t\t\tif ( activeNav ) {\n\t\t\t\tthis.positionUnderlineIndicator( activeNav );\n\t\t\t}\n\t\t} );\n\n\t\tthis.resizeObserver.observe( scrollbarWrapper );\n\t}\n\n\t/**\n\t * Cleans up observers to prevent memory leaks.\n\t */\n\tcleanupObservers() {\n\t\tif ( this.resizeObserver ) {\n\t\t\tthis.resizeObserver.disconnect();\n\t\t\tthis.resizeObserver = null;\n\t\t}\n\t}\n\n\t/**\n\t * Positions the underline indicator based on the active navigation element.\n\t *\n\t * @param {HTMLElement} activeNav The active navigation element to position the underline under\n\t */\n\tpositionUnderlineIndicator( activeNav ) {\n\t\trequestAnimationFrame( () => {\n\t\t\tconst position = this.isRTL\n\t\t\t\t? -( activeNav.parentElement.offsetWidth - activeNav.offsetLeft - activeNav.offsetWidth )\n\t\t\t\t: activeNav.offsetLeft;\n\n\t\t\tthis.slideTrackLine.style.transform = `translateX(${ position }px)`;\n\t\t\tthis.slideTrackLine.style.width = activeNav.clientWidth + 'px';\n\t\t} );\n\t}\n\n\tchangeSlide( index ) {\n\t\tthis.removeActiveClassnameFromSlides();\n\t\tconst translate = index == 0 ? '0px' : `calc( ( ${ ( index * 100 ) }% + ${ parseInt( this.flexboxSlidesGap, 10 ) * index }px ) * ${ this.isRTL ? 1 : -1 } )`;\n\t\tif ( '0px' !== translate ) {\n\t\t\tthis.slideTrack.style.transform = `translateX(${ translate })`;\n\t\t} else {\n\t\t\tthis.slideTrack.style.removeProperty( 'transform' );\n\t\t}\n\t\tif ( index in this.slides ) {\n\t\t\tthis.slides[ index ].classList.add( 'frm-active' );\n\t\t}\n\t}\n\n\tremoveActiveClassnameFromSlides() {\n\t\tthis.slides.forEach( slide => slide.classList.remove( 'frm-active' ) );\n\t}\n\n\tremoveActiveClassnameFromNavs() {\n\t\tthis.navs.forEach( nav => nav.classList.remove( 'frm-active' ) );\n\t}\n}\n","export const { url: PLUGIN_URL, nonce } = window.frmGlobal;\nexport const HIDDEN_CLASS = 'frm_hidden';\nexport const DISABLED_CLASS = 'frm_disabled';\nexport const HIDE_JS_CLASS = 'frm-hide-js';\nexport const CURRENT_CLASS = 'frm-current';\nexport const CHECKED_CLASS = 'frm-checked';\nexport const SINGLE_SETTINGS_CLASS = 'frm-single-settings';\n\nexport const HOOKS = {\n\tSHOW_FIELD_SETTINGS: 'frmShowedFieldSettings'\n};\n","export class frmAnimate {\n\t/**\n\t * Construct frmAnimate\n\t *\n\t * @param {Element|Element[]} elements The elements to animate.\n\t * @param {'default'|'cascade'|'cascade-3d'} type The animation type: default | cascade | cascade-3d\n\t */\n\tconstructor( elements, type = 'default' ) {\n\t\tthis.elements = elements;\n\t\tthis.type = type;\n\n\t\tthis.prepareElements();\n\t}\n\n\t/**\n\t * Init animation - fadeIn.\n\t * Requires this.type = 'default';\n\t * ex: new frmAnimate( elements ).fadeIn();\n\t */\n\tfadeIn() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\telement.classList.add( 'frm-fadein-up' );\n\n\t\t\telement.addEventListener( 'animationend', () => {\n\t\t\t\tthis.resetOpacity();\n\t\t\t\telement.classList.remove( 'frm-fadein-up' );\n\t\t\t}, { once: true } );\n\t\t} );\n\t}\n\n\t/**\n\t * Init animation - cascadeFadeIn.\n\t * Requires this.type = 'cascade'|'cascade-3d';\n\t * ex: new frmAnimate( elements, 'cascade' ).cascadeFadeIn();\n\t * new frmAnimate( elements, 'cascade-3d' ).cascadeFadeIn();\n\t *\n\t * @param {number} delay The transition delay value.\n\t */\n\tcascadeFadeIn( delay = 0.03 ) {\n\t\tsetTimeout( () => {\n\t\t\tthis.applyStyleToElements( ( element, index ) => {\n\t\t\t\telement.classList.remove( 'frm-animate' );\n\t\t\t\telement.style.transitionDelay = ( ( index + 1 ) * delay ) + 's';\n\t\t\t} );\n\t\t}, 200 );\n\t}\n\n\tprepareElements() {\n\t\tthis.applyStyleToElements( element => {\n\t\t\tif ( 'default' === this.type ) {\n\t\t\t\telement.style.opacity = '0.0';\n\t\t\t}\n\t\t\tif ( 'cascade' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-cascade-animation' );\n\t\t\t}\n\t\t\tif ( 'cascade-3d' === this.type ) {\n\t\t\t\telement.classList.add( 'frm-init-fadein-3d' );\n\t\t\t}\n\t\t\telement.classList.add( 'frm-animate' );\n\t\t} );\n\t}\n\n\tresetOpacity() {\n\t\tthis.applyStyleToElements( element => element.style.opacity = '1.0' );\n\t}\n\n\tapplyStyleToElements( callback ) {\n\t\tif ( this.elements instanceof Element ) {\n\t\t\tcallback( this.elements, 0 );\n\t\t\treturn;\n\t\t}\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.elements.forEach( ( element, index ) => callback( element, index ) );\n\t\t}\n\t}\n}\n","// Initialize lastPromise with a resolved promise as the starting point for the queue\nlet lastPromise = Promise.resolve();\n\n/**\n * Adds a task to the request queue.\n *\n * @param {function(): Promise} task A function that returns a promise.\n * @returns {Promise} The new last promise in the queue.\n */\nexport const addToRequestQueue = task => lastPromise = lastPromise.then( task ).catch( task );\n","/**\n * Internal dependencies\n */\nimport { hide, show } from '.';\n\n/**\n * Displays form validation error messages.\n *\n * @param {string} inputId The ID selector for the input field with the error.\n * @param {string} errorId The ID selector for the error message display element.\n * @param {string} type The categorization of the error (e.g., \"invalid\", \"empty\").\n * @param {string} [message] Optional. The specific error message to display.\n * @returns {void}\n */\nexport const showFormError = ( inputId, errorId, type, message ) => {\n\tconst inputElement = document.querySelector( inputId );\n\tconst errorElement = document.querySelector( errorId );\n\n\tif ( ! inputElement || ! errorElement ) {\n\t\tconsole.warn( 'showFormError: Unable to find input or error element.' );\n\t\treturn;\n\t}\n\n\t// If a message is provided, update the span element's text that matches the error type\n\tif ( message ) {\n\t\tconst span = errorElement.querySelector( `span[frm-error=\"${ type }\"]` );\n\t\tif ( span ) {\n\t\t\tspan.textContent = message;\n\t\t}\n\t}\n\n\t// Assign the error type and make the error message visible\n\terrorElement.setAttribute( 'frm-error', type );\n\tshow( errorElement );\n\n\t// Hide the error message when the user starts typing in the faulty input field\n\tinputElement.addEventListener( 'keyup', () => {\n\t\thide( errorElement );\n\t}, { once: true } );\n};\n","const { div, span, tag, a, img, svg } = frmDom;\nconst { maybeCreateModal, footerButton } = frmDom.modal;\nconst { onClickPreventDefault, documentOn } = frmDom.util;\nconst { doJsonPost } = frmDom.ajax;\nconst p = args => tag( 'p', args );\nconst bold = args => tag( 'strong', args );\nconst button = args => tag( 'button', args );\n\nexport { div, span, tag, a, img, svg, p, bold, button, maybeCreateModal, footerButton, onClickPreventDefault, documentOn, doJsonPost };\n\n","export * from './animation';\nexport * from './async';\nexport * from './error';\nexport * from './globalModules';\nexport * from './url';\nexport * from './validation';\nexport * from './visibility';\n","/**\n * Initializes URL and URLSearchParams objects from the current window's location\n */\nconst url = new URL( window.location.href );\nconst urlParams = url.searchParams;\n\n/**\n * Gets the value of a specified query parameter from the current URL.\n *\n * @param {string} paramName The name of the query parameter to retrieve.\n * @returns {string|null} The value associated with the specified query parameter name, or null if not found.\n */\nexport const getQueryParam = paramName => urlParams.get( paramName );\n\n/**\n * Removes a query parameter from the current URL and returns the updated URL string.\n *\n * @param {string} paramName The name of the query parameter to remove.\n * @returns {string} The updated URL string.\n */\nexport const removeQueryParam = paramName => {\n\turlParams.delete( paramName );\n\turl.search = urlParams.toString();\n\treturn url.toString();\n};\n\n/**\n * Sets the value of a query parameter in the current URL and optionally updates the browser's history state.\n *\n * @param {string} paramName The name of the query parameter to set.\n * @param {string} paramValue The value to set for the query parameter.\n * @param {string} [updateMethod='pushState'] The method to use for updating the history state. Accepts 'pushState' or 'replaceState'.\n * @returns {string} The updated URL string.\n */\nexport const setQueryParam = ( paramName, paramValue, updateMethod = 'pushState' ) => {\n\turlParams.set( paramName, paramValue );\n\turl.search = urlParams.toString();\n\n\tif ( [ 'pushState', 'replaceState' ].includes( updateMethod ) ) {\n\t\tconst state = { [ paramName ]: paramValue };\n\t\twindow.history[ updateMethod ]( state, '', url );\n\t}\n\n\treturn url.toString();\n};\n\n/**\n * Checks if a query parameter exists in the current URL.\n *\n * @param {string} paramName The name of the query parameter to check.\n * @returns {boolean} True if the query parameter exists, otherwise false.\n */\nexport const hasQueryParam = paramName => urlParams.has( paramName );\n\n/**\n * Removes a query parameter and updates history with replaceState.\n *\n * @param {string} paramName The query parameter to remove.\n * @returns {void}\n */\nexport const removeParamFromHistory = paramName =>\n\thistory.replaceState( {}, '', removeQueryParam( paramName ) );\n","/**\n * Validates an email address using a regular expression.\n *\n * @param {string} email The email address to validate.\n * @returns {boolean} True if the email address is valid, otherwise false.\n */\nexport const isValidEmail = email =>\n\ttypeof email === 'string' ? /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i.test( email ) : false;\n\n/**\n * Validates if the given element is an instance of HTMLElement.\n *\n * @param {any} element Element to be checked.\n * @returns {boolean} True if it's an HTMLElement, otherwise false.\n */\nexport const isHTMLElement = element => element instanceof HTMLElement || console.warn( 'Invalid argument: Element must be an instance of HTMLElement' ) || false;\n\n/**\n * Checks if the given object is empty.\n *\n * @param {Object} obj The object to check.\n * @returns {boolean} True if the object is empty, otherwise false.\n */\nexport const isEmptyObject = obj => Object.keys( obj ).length === 0 && obj.constructor === Object;\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\n\n/**\n * Shows specified elements by removing the hidden class.\n *\n * @param {Array} elements An array of elements to show.\n * @returns {void}\n */\nexport const showElements = elements =>\n\tArray.from( elements )?.forEach( element => show( element ) );\n\n/**\n * Hides specified elements by adding the hidden class.\n *\n * @param {Array} elements An array of elements to hide.\n * @returns {void}\n */\nexport const hideElements = elements =>\n\tArray.from( elements )?.forEach( element => hide( element ) );\n\n/**\n * Removes the hidden class to show the element.\n *\n * @param {Element} element The element to show.\n * @returns {void}\n */\nexport const show = element => element?.classList.remove( HIDDEN_CLASS );\n\n/**\n * Adds the hidden class to hide the element.\n *\n * @param {Element} element The element to hide.\n * @returns {void}\n */\nexport const hide = element => element?.classList.add( HIDDEN_CLASS );\n\n/**\n * Checks if an element is visible.\n *\n * @param {HTMLElement} element The HTML element to check for visibility.\n * @returns {boolean} Returns true if the element is visible, otherwise false.\n */\nexport const isVisible = element => {\n\tconst styles = window.getComputedStyle( element );\n\treturn styles.getPropertyValue( 'display' ) !== 'none';\n};\n","export { default as frmRadioComponent } from './radio-component';\nexport { default as frmSliderComponent } from './slider-component';\nexport { default as frmTabsComponent } from './tabs-component';\nexport * from './token-input';\nexport * from './toggle-group';\nexport * from './unit-input';\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\nimport { show, hide, isVisible } from 'core/utils';\n\n/**\n * Represents a radio component.\n *\n * @class\n */\nexport default class frmRadioComponent {\n\tconstructor() {\n\t\tthis.radioElements = document.querySelectorAll( '.frm-style-component.frm-radio-component' );\n\t\tthis.observers = new Map();\n\t\tif ( 0 < this.radioElements.length ) {\n\t\t\tthis.init();\n\t\t}\n\n\t\t/**\n\t\t * Handles the addition of new fields.\n\t\t *\n\t\t * @param {Event} event The frm_added_field event.\n\t\t * @param {HTMLElement} event.frmField The added field object being destructured from the event.\n\t\t */\n\t\tdocument.addEventListener( 'frm_added_field', ( { frmField } ) =>\n\t\t\tthis.discoverAndInitFieldRadios( frmField.dataset.fid )\n\t\t);\n\n\t\t/**\n\t\t * Handles the addition of new fields via AJAX.\n\t\t *\n\t\t * @param {Event} event The frm_ajax_loaded_field event.\n\t\t * @param {HTMLElement} event.frmFields The added field objects being destructured from the event.\n\t\t */\n\t\tdocument.addEventListener( 'frm_ajax_loaded_field', ( { frmFields } ) =>\n\t\t\tfrmFields.forEach( field => this.discoverAndInitFieldRadios( field.id ) )\n\t\t);\n\n\t\t// Cleanup observers when page unloads to prevent memory leaks\n\t\twindow.addEventListener( 'beforeunload', () => this.cleanupObservers() );\n\n\t\t// Handle window resize with throttling\n\t\tthis.resizeTimeout = null;\n\t\twindow.addEventListener( 'resize', () => this.throttledUpdateAllTrackers() );\n\t}\n\n\t/**\n\t * Initializes the radio component.\n\t */\n\tinit() {\n\t\tthis.initRadio();\n\t\tthis.initTrackerOnAccordionClick();\n\t}\n\n\t/**\n\t * Discovers and initializes radio components for a specific field.\n\t *\n\t * @param {string|number} fieldId The unique identifier of the field whose radio components should be discovered and initialized\n\t * @throws {Error} Throws an error if the field container is not found in the DOM\n\t */\n\tdiscoverAndInitFieldRadios( fieldId ) {\n\t\tconst fieldContainer = document.getElementById( `frm-single-settings-${ fieldId }` );\n\n\t\tif ( ! fieldContainer ) {\n\t\t\tthrow new Error( `Field container not found for field ID: ${ fieldId }` );\n\t\t}\n\n\t\tthis.radioElements = fieldContainer.querySelectorAll( '.frm-style-component.frm-radio-component' );\n\t\tthis.initRadio();\n\t}\n\n\t/**\n\t * Initializes the radio component.\n\t */\n\tinitRadio() {\n\t\tthis.radioElements.forEach( element => {\n\t\t\tthis.initOnRadioChange( element );\n\t\t\tthis.initVisibilityObserver( element );\n\t\t} );\n\t}\n\n\tinitTrackerOnAccordionClick() {\n\t\tconst accordionitems = document.querySelectorAll( '#frm_style_sidebar .accordion-section h3' );\n\n\t\taccordionitems.forEach( accordionitem => {\n\t\t\taccordionitem.addEventListener( 'click', event => {\n\t\t\t\tconst wrapper = event.target.closest( '.accordion-section' );\n\t\t\t\tconst radioButtons = wrapper.querySelectorAll( '.frm-style-component.frm-radio-component input[type=\"radio\"]:checked' );\n\n\t\t\t\tradioButtons.forEach( radio => {\n\t\t\t\t\tsetTimeout( () => this.onRadioChange( radio ), 200 );\n\t\t\t\t} );\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the onRadioChange event for the given wrapper.\n\t *\n\t * @param {HTMLElement} radioElement - The radio element.\n\t */\n\tinitOnRadioChange( radioElement ) {\n\t\tradioElement.querySelectorAll( 'input[type=\"radio\"]' ).forEach( radio => {\n\t\t\tif ( radio.checked ) {\n\t\t\t\tthis.onRadioChange( radio );\n\t\t\t}\n\t\t\tradio.addEventListener( 'change', event => {\n\t\t\t\tthis.onRadioChange( event.target );\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Handles the onRadioChange event for the given wrapper.\n\t *\n\t * @param {HTMLElement} target - The active radio button.\n\t */\n\tonRadioChange( target ) {\n\t\tconst wrapper = target.closest( '.frm-style-component.frm-radio-component' );\n\t\tconst activeItem = wrapper.querySelector( 'input[type=\"radio\"]:checked + label' );\n\n\t\tif ( null === activeItem ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.moveTracker( activeItem, wrapper );\n\t\tthis.hideExtraElements( target );\n\t\tthis.maybeShowExtraElements( target );\n\t}\n\n\t/**\n\t * Display additional elements related to the selected radio option.\n\t *\n\t * @param {HTMLElement} radio - The radio button element.\n\t */\n\tmaybeShowExtraElements( radio ) {\n\t\tconst elementAttr = radio.getAttribute( 'data-frm-show-element' );\n\t\tif ( null === elementAttr ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elements = document.querySelectorAll( `div[data-frm-element=\"${ elementAttr }\"]` );\n\n\t\tif ( 0 === elements.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\telements.forEach( element => {\n\t\t\tshow( element );\n\t\t\telement.classList.add( 'frm-element-is-visible' );\n\t\t} );\n\t}\n\n\t/**\n\t * Throttled update of all radio trackers on window resize.\n\t *\n\t * @returns {void}\n\t */\n\tthrottledUpdateAllTrackers() {\n\t\tif ( this.resizeTimeout ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.resizeTimeout = requestAnimationFrame( () => {\n\t\t\tthis.resizeTimeout = null;\n\t\t\tdocument.querySelectorAll( '.frm-radio-component input[type=\"radio\"]:checked' ).forEach( radio => {\n\t\t\t\tconst wrapper = radio.closest( '.frm-radio-component' );\n\t\t\t\tif ( wrapper && wrapper.offsetWidth > 0 ) {\n\t\t\t\t\tthis.onRadioChange( radio );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes visibility observer for the radio component. This handles cases when components are conditionally shown.\n\t *\n\t * @param {HTMLElement} element The radio component element\n\t * @returns {void}\n\t */\n\tinitVisibilityObserver( element ) {\n\t\tif ( this.observers.has( element ) ) {\n\t\t\tthis.observers.get( element ).disconnect();\n\t\t}\n\n\t\tconst observer = new MutationObserver( () => {\n\t\t\t// Check if element is now visible\n\t\t\tif ( isVisible( element ) ) {\n\t\t\t\tconst radio = element.querySelector( 'input[type=\"radio\"]:checked' );\n\t\t\t\tif ( radio ) {\n\t\t\t\t\tthis.onRadioChange( radio );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\tthis.observers.set( element, observer );\n\n\t\t// Observe for attribute changes on the component and its ancestors\n\t\tobserver.observe( element, {\n\t\t\tattributes: true,\n\t\t\tattributeFilter: [ 'class', 'style' ]\n\t\t} );\n\n\t\t// Also observe parent elements up to a reasonable depth\n\t\tlet parent = element.parentElement;\n\t\tfor ( let i = 0; i < 7 && parent; i++ ) {\n\t\t\tobserver.observe( parent, {\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: [ 'class', 'style' ]\n\t\t\t} );\n\t\t\tparent = parent.parentElement;\n\t\t}\n\t}\n\n\t/**\n\t * Cleanup all observers to prevent memory leaks.\n\t */\n\tcleanupObservers() {\n\t\tthis.observers.forEach( observer => {\n\t\t\tobserver.disconnect();\n\t\t} );\n\n\t\tthis.observers.clear();\n\t}\n\n\t/**\n\t * Hide the possible opepend extra elements.\n\t */\n\thideExtraElements() {\n\t\tconst elements = document.querySelectorAll( '.frm-element-is-visible' );\n\t\tif ( 0 === elements.length ) {\n\t\t\treturn;\n\t\t}\n\t\telements.forEach( element => {\n\t\t\telement.classList.remove( 'frm-element-is-visible' );\n\t\t\telement.classList.add( HIDDEN_CLASS );\n\t\t\thide( element );\n\t\t} );\n\t}\n\n\t/**\n\t * Moves the tracker to the active item.\n\t *\n\t * @param {HTMLElement} activeItem - The active item element.\n\t * @param {HTMLElement} wrapper - The wrapper element.\n\t */\n\tmoveTracker( activeItem, wrapper ) {\n\t\tconst offset = activeItem.offsetLeft;\n\t\tconst width = activeItem.offsetWidth;\n\t\tconst tracker = wrapper.querySelector( '.frm-radio-active-tracker' );\n\n\t\ttracker.style.left = 0;\n\t\ttracker.style.width = `${ width }px`;\n\t\ttracker.style.transform = `translateX(${ offset }px)`;\n\t}\n}\n","/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\nimport frmDependentUpdaterComponent from '../../admin/components/dependent-updater-component';\n\n/**\n * Represents a slider component.\n *\n * @class frmSliderComponent\n */\nexport default class frmSliderComponent {\n\tconstructor( sliderElements = [], settings = {} ) {\n\t\tthis.loadedByWebComponent = sliderElements.length > 0;\n\t\tthis.sliderElements = sliderElements.length > 0 ? sliderElements : document.querySelectorAll( '.frm-slider-component' );\n\t\tthis.settings = settings;\n\n\t\tif ( 0 === this.sliderElements.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The slider bullet point width in pixels. Used in value calculation on drag event.\n\t\tthis.sliderBulletWidth = 16;\n\t\tthis.sliderMarginRight = 5;\n\t\tthis.eventsChange = [];\n\n\t\tconst { debounce } = frmDom.util;\n\t\tthis.valueChangeDebouncer = debounce( index => this.triggerValueChange( index ), 25 );\n\n\t\tthis.initOptions();\n\t\tthis.init();\n\t}\n\n\t/**\n\t * Initializes the options for the slider component.\n\t */\n\tinitOptions() {\n\t\tthis.options = [];\n\t\tthis.sliderElements.forEach( ( element, index ) => {\n\t\t\tconst parentWrapper = element.classList.contains( 'frm-has-multiple-values' ) ? element.closest( '.frm-style-component' ) : element;\n\t\t\tconst steps = this.settings.steps || ( element.dataset.steps ? JSON.parse( element.dataset.steps ) : null );\n\t\t\tthis.options.push( {\n\t\t\t\tdragging: false,\n\t\t\t\tstartX: 0,\n\t\t\t\ttranslateX: 0,\n\t\t\t\tmaxValue: parseInt( element.dataset.maxValue, 10 ),\n\t\t\t\telement,\n\t\t\t\tindex,\n\t\t\t\tvalue: 0,\n\t\t\t\tsteps,\n\t\t\t\tdependentUpdater: parentWrapper.classList.contains( 'frm-style-dependent-updater-component' ) ? new frmDependentUpdaterComponent( parentWrapper ) : null\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the slider component.\n\t */\n\tinit() {\n\t\tthis.initDraggable();\n\n\t\tif ( this.loadedByWebComponent ) {\n\t\t\tthis.initSlidersPositionInsideWebComponent();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.initSlidersPosition();\n\t}\n\n\t/**\n\t * Initializes the draggable functionality for the slider component.\n\t */\n\tinitDraggable() {\n\t\tthis.sliderElements.forEach( ( element, index ) => {\n\t\t\tthis.eventsChange[ index ] = new Event( 'change', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true\n\t\t\t} );\n\t\t\tconst draggableBullet = element.querySelector( '.frm-slider-bullet' );\n\t\t\tconst valueInput = element.querySelector( '.frm-slider-value input[type=\"text\"]' );\n\n\t\t\tvalueInput.addEventListener( 'change', event => {\n\t\t\t\tconst unit = element.querySelector( 'select' ).value;\n\n\t\t\t\tif ( this.getMaxValue( unit, index ) < parseInt( event.target.value, 10 ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.initSliderWidth( element );\n\t\t\t\tthis.options[ index ].fullValue = this.updateValue( element, valueInput.value + unit );\n\t\t\t\tthis.triggerValueChange( index );\n\t\t\t} );\n\n\t\t\tthis.expandSliderGroup( element );\n\t\t\tthis.updateOnUnitChange( element, valueInput, index );\n\t\t\tthis.changeSliderPositionOnClick( element, valueInput, index );\n\t\t\tfrmSliderComponent.maybeDisableUnitDropdown( element );\n\n\t\t\tdraggableBullet.addEventListener( 'mousedown', event => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.enableDragging( event, index );\n\n\t\t\t\tconst onMouseMove = moveEvent => this.moveTracker( moveEvent, index );\n\n\t\t\t\tconst onMouseUp = () => {\n\t\t\t\t\tthis.disableDragging( index );\n\t\t\t\t\tdocument.removeEventListener( 'mousemove', onMouseMove );\n\t\t\t\t\tdocument.removeEventListener( 'mouseup', onMouseUp );\n\t\t\t\t};\n\n\t\t\t\tdocument.addEventListener( 'mousemove', onMouseMove );\n\t\t\t\tdocument.addEventListener( 'mouseup', onMouseUp );\n\t\t\t} );\n\t\t} );\n\t}\n\n\texpandSliderGroup( element ) {\n\t\tconst svgIcon = element.querySelector( '.frmsvg' );\n\n\t\tif ( element.dataset.displaySliders === undefined || null === svgIcon ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sliderGroupItems = this.getSliderGroupItems( element );\n\t\tsvgIcon.addEventListener( 'click', ( ) => {\n\t\t\tsliderGroupItems.forEach( item => {\n\t\t\t\titem.classList.toggle( HIDDEN_CLASS );\n\t\t\t} );\n\t\t} );\n\t}\n\n\tupdateOnUnitChange( element, valueInput, index ) {\n\t\telement.querySelector( 'select' ).addEventListener( 'change', event => {\n\t\t\tconst unit = event.target.value.toLowerCase();\n\n\t\t\tif ( '' === unit ) {\n\t\t\t\telement.classList.add( 'frm-disabled', 'frm-empty' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( 'auto' === unit ) {\n\t\t\t\telement.classList.add( 'frm-disabled' );\n\t\t\t\tthis.updateValue( element, 'auto' );\n\t\t\t\tthis.triggerValueChange( index );\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telement.classList.remove( 'frm-disabled', 'frm-empty' );\n\t\t\tthis.options[ index ].fullValue = valueInput.value + unit;\n\t\t\tthis.updateValue( element, this.options[ index ].fullValue );\n\t\t\tthis.triggerValueChange( index );\n\t\t} );\n\t}\n\n\tchangeSliderPositionOnClick( element, valueInput, index ) {\n\t\tconst frmSlider = element.querySelector( '.frm-slider' );\n\t\tconst customEvent = new Event( 'change', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true\n\t\t} );\n\n\t\tfrmSlider.addEventListener( 'click', event => {\n\t\t\tif ( element.classList.contains( 'frm-disabled' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\n\t\t\tif ( ! event.target.classList.contains( 'frm-slider' ) && ! event.target.classList.contains( 'frm-slider-active-track' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst sliderWidth = frmSlider.offsetWidth - this.sliderBulletWidth;\n\t\t\tconst sliderRect = frmSlider.getBoundingClientRect();\n\t\t\tconst deltaX = event.clientX - sliderRect.left - this.sliderBulletWidth;\n\t\t\tconst unit = element.querySelector( 'select' ).value;\n\t\t\tconst value = frmSliderComponent.calculateValue( sliderWidth, deltaX, this.getMaxValue( unit, index ), this.options[ index ].steps );\n\n\t\t\tif ( value < 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.options[ index ].fullValue = this.updateValue( element, value + unit );\n\t\t\tthis.initChildSlidersWidth( element, deltaX, index, value + unit );\n\n\t\t\tvalueInput.value = value;\n\t\t\tvalueInput.dispatchEvent( customEvent );\n\t\t} );\n\t}\n\n\t/**\n\t * Disables the unit dropdown if there is only a single unit option.\n\t *\n\t * @param {HTMLElement} element - The slider element.\n\t */\n\tstatic maybeDisableUnitDropdown( element ) {\n\t\tconst select = element.querySelector( 'select' );\n\t\tif ( ! select ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = Array.from( select.options ).filter( option => '' !== option.value );\n\t\tif ( 1 >= options.length ) {\n\t\t\tselect.classList.add( 'frm-single-unit' );\n\t\t\tselect.addEventListener( 'mousedown', event => event.preventDefault() );\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves an array of slider group items based on the provided element.\n\t *\n\t * @param {HTMLElement} element - The element to retrieve slider group items from.\n\t * @returns {NodeList} - An array-like object containing the slider group items.\n\t */\n\tgetSliderGroupItems( element ) {\n\t\tif ( element.dataset.displaySliders === undefined ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst slidersGroup = element.dataset.displaySliders.split( ',' );\n\t\tconst query = slidersGroup.map( item => {\n\t\t\treturn `.frm-slider-component[data-type=\"${ item }\"]`;\n\t\t} ).join( ', ' );\n\n\t\treturn element.closest( '.frm-style-component' ).querySelectorAll( query );\n\t}\n\n\tinitSlidersPositionInsideWebComponent() {\n\t\tthis.sliderElements.forEach( ( element, index ) => {\n\t\t\tthis.initSliderWidth( element, index );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the position of sliders when a accordion section is opened.\n\t */\n\tinitSlidersPosition() {\n\t\tconst accordionitems = document.querySelectorAll( '#frm_style_sidebar .accordion-section h3' );\n\t\tconst quickSettings = document.querySelector( '.frm-quick-settings' );\n\t\tconst openedAccordion = document.querySelector( '.accordion-section.open' );\n\n\t\t// Detect if upload background image upload has triggered and initialize the \"Image Opacity\" slider width.\n\t\twp.hooks.addAction( 'frm_pro_on_bg_image_upload', 'formidable', event => {\n\t\t\tconst imageBackgroundOpacitySlider = event.closest( '.accordion-section-content' ).querySelector( '#frm-bg-image-opacity-slider' );\n\t\t\tthis.initSlidersWidth( imageBackgroundOpacitySlider );\n\t\t} );\n\n\t\t// init the sliders width from \"Quick Settings\" page.\n\t\tif ( null !== quickSettings ) {\n\t\t\tthis.initSlidersWidth( quickSettings );\n\t\t}\n\n\t\t// Init the sliders width in opened accordion section from \"Advanced Settings\" page.\n\t\tif ( null !== openedAccordion ) {\n\t\t\tthis.initSlidersWidth( openedAccordion );\n\t\t}\n\n\t\t// init the sliders width everytime when an accordion section is opened from \"Advanced Settings\" page.\n\t\taccordionitems.forEach( item => {\n\t\t\titem.addEventListener( 'click', event => {\n\t\t\t\tthis.initSlidersWidth( event.target.closest( '.accordion-section' ) );\n\t\t\t} );\n\t\t} );\n\n\t\tthis.initSliderPositionOnFieldShapeChange();\n\t}\n\n\t/**\n\t * Initializes the width of \"Corner Radius\" slider that is dynamically is displayed on \"Field Shape\" option change from \"Quick Settings\".\n\t *\n\t * @returns {void}\n\t */\n\tinitSliderPositionOnFieldShapeChange() {\n\t\tconst fieldShapeType = document.querySelector( '.frm-style-component.frm-field-shape' );\n\n\t\tif ( null === fieldShapeType ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst radioButtons = fieldShapeType.querySelectorAll( 'input[type=\"radio\"]' );\n\t\tradioButtons.forEach( radio => {\n\t\t\tradio.addEventListener( 'change', event => {\n\t\t\t\tif ( event.target.checked && 'rounded-corner' === event.target.value ) {\n\t\t\t\t\tconst slider = document.querySelector( 'div[data-frm-element=\"field-shape-corner-radius\"] .frm-slider-component' );\n\t\t\t\t\tthis.initSliderWidth( slider );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the width of sliders within a given section.\n\t *\n\t * @param {HTMLElement} section - The section containing the sliders.\n\t * @returns {void}\n\t */\n\tinitSlidersWidth( section ) {\n\t\tconst sliders = section.querySelectorAll( '.frm-slider-component' );\n\t\tsliders.forEach( slider => {\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.initSliderWidth( slider );\n\t\t\t}, 100 );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the width of a slider.\n\t *\n\t * @param {HTMLElement} slider - The slider element.\n\t * @param {number} sliderIndex - The index of the slider.\n\t * @returns {void}\n\t */\n\tinitSliderWidth( slider, sliderIndex = null ) {\n\t\tif ( slider.classList.contains( 'frm-disabled' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst index = sliderIndex !== null ? sliderIndex : this.getSliderIndex( slider );\n\t\tconst sliderWidth = slider.querySelector( '.frm-slider' ).offsetWidth - this.sliderBulletWidth;\n\t\tconst value = parseInt( slider.querySelector( '.frm-slider-value input[type=\"text\"]' ).value, 10 );\n\t\tconst unit = slider.querySelector( 'select' ).value;\n\t\tconst steps = this.options[ index ].steps;\n\t\tlet deltaX = Math.ceil( ( value / this.options[ index ].maxValue ) * sliderWidth );\n\n\t\tif ( '%' === unit ) {\n\t\t\tdeltaX = Math.round( sliderWidth * value / 100 );\n\t\t} else if ( steps && steps.length > 0 ) {\n\t\t\tdeltaX = frmSliderComponent.calculateDeltaXFromSteps( value, steps, sliderWidth );\n\t\t}\n\n\t\tslider.querySelector( '.frm-slider-active-track' ).style.width = `${ deltaX }px`;\n\t\tthis.options[ index ].translateX = deltaX;\n\t\tthis.options[ index ].value = value + unit;\n\t}\n\n\t/**\n\t * Calculates the deltaX position based on a value and steps array.\n\t *\n\t * @param {number} value - The current value.\n\t * @param {Array} steps - Array of step values.\n\t * @param {number} sliderWidth - The width of the slider.\n\t * @returns {number} - The calculated deltaX position.\n\t */\n\tstatic calculateDeltaXFromSteps( value, steps, sliderWidth ) {\n\t\tconst stepIndex = steps.indexOf( value );\n\t\tif ( -1 === stepIndex ) {\n\t\t\t// If value not in steps, find closest and use its position\n\t\t\tconst closestValue = frmSliderComponent.snapToStep( value, steps );\n\t\t\tconst closestIndex = steps.indexOf( closestValue );\n\t\t\treturn Math.round( ( closestIndex / ( steps.length - 1 ) ) * sliderWidth );\n\t\t}\n\t\treturn Math.round( ( stepIndex / ( steps.length - 1 ) ) * sliderWidth );\n\t}\n\n\t/**\n\t * Initializes the width of child sliders.\n\t *\n\t * @param {HTMLElement} slider - The parent slider element.\n\t * @param {number} width - The width to set for the child sliders.\n\t * @param {number} index - The starting index for the child sliders.\n\t * @param {number} value - The value to set for the child sliders.\n\t */\n\tinitChildSlidersWidth( slider, width, index, value ) {\n\t\tif ( ! slider.classList.contains( 'frm-has-independent-fields' ) && ! slider.classList.contains( 'frm-has-multiple-values' ) ) {\n\t\t\treturn;\n\t\t}\n\t\tconst childSliders = slider.classList.contains( 'frm-has-independent-fields' ) ? slider.querySelectorAll( '.frm-independent-slider-field' ) : this.getSliderGroupItems( slider );\n\n\t\tchildSliders.forEach( ( item, childIndex ) => {\n\t\t\titem.querySelector( '.frm-slider-active-track' ).style.width = `${ width }px`;\n\t\t\tthis.options[ index + childIndex + 1 ].translateX = width;\n\t\t\tthis.options[ index + childIndex + 1 ].value = value;\n\t\t} );\n\t}\n\n\t/**\n\t * Returns the index of the specified slider element.\n\t *\n\t * @param {HTMLElement} slider - The slider element.\n\t * @returns {number} The index of the slider element.\n\t */\n\tgetSliderIndex( slider ) {\n\t\treturn this.options.filter( option => {\n\t\t\treturn option.element === slider;\n\t\t} )[ 0 ].index;\n\t}\n\n\t/**\n\t * Handles the movement of the slider tracker.\n\t *\n\t * @param {Event} event - The event object representing the mouse movement.\n\t * @param {number} index - The index of the slider element.\n\t * @returns {void}\n\t */\n\tmoveTracker( event, index ) {\n\t\tif ( ! this.options[ index ].dragging ) {\n\t\t\treturn;\n\t\t}\n\t\tlet deltaX = event.clientX - this.options[ index ].startX;\n\t\tconst element = this.sliderElements[ index ];\n\t\tconst sliderWidth = element.querySelector( '.frm-slider' ).offsetWidth - this.sliderBulletWidth;\n\n\t\t// Clamp deltaX within valid range\n\t\tdeltaX = Math.max( deltaX, 0 );\n\t\tdeltaX = Math.min( deltaX, sliderWidth );\n\t\tconst unit = element.querySelector( 'select' ).value;\n\t\tconst value = frmSliderComponent.calculateValue( sliderWidth, deltaX, this.getMaxValue( unit, index ), this.options[ index ].steps );\n\n\t\telement.querySelector( '.frm-slider-value input[type=\"text\"]' ).value = value;\n\t\telement.querySelector( '.frm-slider-bullet .frm-slider-value-label' ).innerText = value;\n\t\telement.querySelector( '.frm-slider-active-track' ).style.width = `${ deltaX }px`;\n\t\tthis.initChildSlidersWidth( element, deltaX, index, value + unit );\n\n\t\tthis.options[ index ].translateX = deltaX;\n\t\tthis.options[ index ].value = value + unit;\n\t\tthis.options[ index ].fullValue = this.updateValue( element, this.options[ index ].value );\n\t\tthis.valueChangeDebouncer( index );\n\t}\n\n\t/**\n\t * Get the maximum value based on the unit and index.\n\t *\n\t * @param {string} unit - The unit of measurement.\n\t * @param {number} index - The index of the option.\n\t * @returns {number} The maximum value.\n\t */\n\tgetMaxValue( unit, index ) {\n\t\treturn '%' === unit ? 100 : this.options[ index ].maxValue;\n\t}\n\n\t/**\n\t * Enables dragging for the slider component.\n\t *\n\t * @param {Event} event - The event object.\n\t * @param {number} index - The index of the option being dragged.\n\t */\n\tenableDragging( event, index ) {\n\t\tevent.target.classList.add( 'frm-dragging' );\n\t\tthis.options[ index ].dragging = true;\n\t\tthis.options[ index ].startX = event.clientX - this.options[ index ].translateX;\n\t}\n\n\t/**\n\t * Disables dragging for a specific index.\n\t *\n\t * @param {number} index - The index of the option to disable dragging for.\n\t */\n\tdisableDragging( index ) {\n\t\tif ( false === this.options[ index ].dragging ) {\n\t\t\treturn;\n\t\t}\n\t\tconst draggableBullet = this.sliderElements[ index ].querySelector( '.frm-slider-bullet' );\n\t\tdraggableBullet.classList.remove( 'frm-dragging' );\n\t\tthis.options[ index ].dragging = false;\n\t\tthis.triggerValueChange( index );\n\t}\n\n\t/**\n\t * Triggers a value change for the specified index.\n\t *\n\t * @param {number} index - The index of the value to be changed.\n\t */\n\ttriggerValueChange( index ) {\n\t\tif ( null !== this.options[ index ].dependentUpdater ) {\n\t\t\tthis.options[ index ].dependentUpdater.updateAllDependentElements( this.options[ index ].fullValue );\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = this.sliderElements[ index ].classList.contains( 'frm-has-multiple-values' ) ? this.sliderElements[ index ].closest( '.frm-style-component' ).querySelector( 'input[type=\"hidden\"]' ) : this.sliderElements[ index ].querySelectorAll( '.frm-slider-value input[type=\"hidden\"]' );\n\t\tif ( input instanceof NodeList ) {\n\t\t\tinput.forEach( item => {\n\t\t\t\titem.dispatchEvent( this.eventsChange[ index ] );\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\tinput.dispatchEvent( this.eventsChange[ index ] );\n\t}\n\n\t/**\n\t * Calculates the value based on the width, deltaX, and maxValue.\n\t *\n\t * @param {number} width - The width of the slider.\n\t * @param {number} deltaX - The change in x-coordinate.\n\t * @param {number} maxValue - The maximum value.\n\t * @param {Array|null} steps - Optional array of step values to snap to.\n\t * @returns {number} - The calculated value.\n\t */\n\tstatic calculateValue( width, deltaX, maxValue, steps = null ) {\n\t\tif ( steps && steps.length > 0 ) {\n\t\t\t// For stepped sliders, map position directly to step index\n\t\t\tconst position = deltaX / width;\n\t\t\tconst stepIndex = Math.round( position * ( steps.length - 1 ) );\n\t\t\tconst clampedIndex = Math.max( 0, Math.min( stepIndex, steps.length - 1 ) );\n\t\t\treturn steps[ clampedIndex ];\n\t\t}\n\n\t\t// Calculate value as a simple proportion of the slider position\n\t\tconst value = Math.round( ( deltaX / width ) * maxValue );\n\n\t\treturn Math.min( value, maxValue );\n\t}\n\n\t/**\n\t * Snaps a value to the nearest step in the steps array.\n\t *\n\t * @param {number} value - The value to snap.\n\t * @param {Array} steps - Array of step values to snap to.\n\t * @returns {number} - The nearest step value.\n\t */\n\tstatic snapToStep( value, steps ) {\n\t\tlet nearest = steps[ 0 ];\n\t\tlet minDiff = Math.abs( value - nearest );\n\n\t\tfor ( let i = 1; i < steps.length; i++ ) {\n\t\t\tconst diff = Math.abs( value - steps[ i ] );\n\t\t\tif ( diff < minDiff ) {\n\t\t\t\tminDiff = diff;\n\t\t\t\tnearest = steps[ i ];\n\t\t\t}\n\t\t}\n\n\t\treturn nearest;\n\t}\n\n\t/**\n\t * Updates the value of a slider component.\n\t *\n\t * @param {HTMLElement} element - The slider component element.\n\t * @param {string} value - The new value to be set.\n\t * @returns {string} - The updated value.\n\t */\n\tupdateValue( element, value ) {\n\t\t// When the slider component is used for \"Base Font Size\", we need to update a hidden input field when change happens to indicate that the \"Base Font Size\" has been adjusted.\n\t\t// Used to avoid conflicts with other possible font sizes adjustemnts in \"Advanced Settings\" when moving from \"Quick Settings\" when \"Base Font Size\" is not changed.\n\t\tif ( element.classList.contains( 'frm-base-font-size' ) ) {\n\t\t\tconst userBaseFontSizeInput = document.querySelector( 'input[name=\"frm_style_setting[post_content][use_base_font_size]\"]' );\n\t\t\tif ( null !== userBaseFontSizeInput ) {\n\t\t\t\tuserBaseFontSizeInput.value = 'true';\n\t\t\t}\n\t\t}\n\t\tif ( element.classList.contains( 'frm-has-multiple-values' ) ) {\n\t\t\tconst input = element.closest( '.frm-style-component' ).querySelector( 'input[type=\"hidden\"]' );\n\t\t\tconst inputValue = input.value.split( ' ' );\n\t\t\tconst type = element.dataset.type;\n\n\t\t\tif ( ! inputValue[ 2 ] ) {\n\t\t\t\tinputValue[ 2 ] = '0px';\n\t\t\t}\n\n\t\t\tif ( ! inputValue[ 3 ] ) {\n\t\t\t\tinputValue[ 3 ] = '0px';\n\t\t\t}\n\n\t\t\tswitch ( type ) {\n\t\t\t\tcase 'vertical':\n\t\t\t\t\tinputValue[ 0 ] = value;\n\t\t\t\t\tinputValue[ 2 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'horizontal':\n\t\t\t\t\tinputValue[ 1 ] = value;\n\t\t\t\t\tinputValue[ 3 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'top':\n\t\t\t\t\tinputValue[ 0 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'bottom':\n\t\t\t\t\tinputValue[ 2 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'left':\n\t\t\t\t\tinputValue[ 3 ] = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'right':\n\t\t\t\t\tinputValue[ 1 ] = value;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst newValue = inputValue.join( ' ' );\n\t\t\tinput.value = newValue;\n\n\t\t\tconst childSlidersGroup = this.getSliderGroupItems( element );\n\t\t\tchildSlidersGroup.forEach( slider => {\n\t\t\t\tconst unitMeasure = this.getUnitMeasureFromValue( value );\n\t\t\t\tslider.querySelector( '.frm-slider-value input[type=\"text\"]' ).value = parseInt( value, 10 );\n\t\t\t\tslider.querySelector( 'select' ).value = unitMeasure;\n\t\t\t} );\n\n\t\t\treturn newValue;\n\t\t}\n\n\t\tif ( element.classList.contains( 'frm-has-independent-fields' ) ) {\n\t\t\tconst inputValues = element.querySelectorAll( '.frm-slider-value input[type=\"hidden\"]' );\n\t\t\tconst visibleValues = element.querySelectorAll( '.frm-slider-value input[type=\"text\"]' );\n\t\t\tinputValues.forEach( ( input, index ) => {\n\t\t\t\tinput.value = value;\n\t\t\t\tvisibleValues[ index + 1 ].value = parseInt( value, 10 );\n\t\t\t} );\n\n\t\t\treturn value;\n\t\t}\n\n\t\telement.querySelector( '.frm-slider-value input[type=\"hidden\"]' ).value = value;\n\t\treturn value;\n\t}\n\n\t/**\n\t * Returns the unit of measurement used in the given value.\n\t *\n\t * @param {string} value - The value to check for the unit of measurement.\n\t * @returns {string} The unit of measurement ('%', 'px', 'em') found in the value, or an empty string if none is found.\n\t */\n\tgetUnitMeasureFromValue( value ) {\n\t\treturn [ '%', 'px', 'em' ].find( unit => value.includes( unit ) ) || '';\n\t}\n}\n","import { frmTabsNavigator } from '../../components/class-tabs-navigator';\n/**\n * Represents a Tabs Component.\n *\n * @class\n */\nexport default class frmTabsComponent {\n\tconstructor() {\n\t\tthis.elements = document.querySelectorAll( '.frm-style-tabs-wrapper' );\n\t\tif ( 0 < this.elements.length ) {\n\t\t\tthis.init();\n\t\t}\n\t}\n\n\t/**\n\t * Initializes the Tabs Component.\n\t */\n\tinit() {\n\t\tthis.elements.forEach( element => {\n\t\t\tnew frmTabsNavigator( element );\n\t\t} );\n\t}\n\n\t/**\n\t * Initializes the component on tab click.\n\t *\n\t * @param {Element} wrapper - The wrapper element.\n\t */\n\tinitOnTabClick( wrapper ) {\n\t\tthis.initActiveBackgroundWidth( wrapper );\n\t\twrapper.querySelectorAll( '.frm-tab-item' ).forEach( tab => {\n\t\t\ttab.addEventListener( 'click', event => {\n\t\t\t\tthis.onTabClick( event.target.closest( '.frm-tabs-wrapper' ) );\n\t\t\t} );\n\t\t} );\n\t}\n}\n","export * from './toggle-group.js';\n","/**\n * Group Toggle Component\n *\n * Handles toggling visibility and enabled state of related form elements\n */\n\n/**\n * Internal dependencies\n */\nimport { documentOn } from 'core/utils';\nimport { HIDDEN_CLASS, DISABLED_CLASS, SINGLE_SETTINGS_CLASS } from 'core/constants';\n\n/**\n * Class names for group toggle component\n *\n * @private\n */\nconst CLASS_NAMES = {\n\tGROUP_TOGGLE: 'frm-toggle-group',\n\tTOGGLE_BLOCK: 'frm_toggle_block',\n};\n\n/**\n * Data attributes for group toggle component\n *\n * @private\n */\nconst DATA_ATTRIBUTES = {\n\tGROUP_NAME: 'data-group-name',\n\tSHOW: 'data-show',\n\tDISABLE: 'data-disable',\n\tENABLE: 'data-enable',\n};\n\n/**\n * Initialize all group toggle components on the page\n *\n * @returns {void}\n */\nfunction initToggleGroupComponents() {\n\tapplyInitialState();\n\taddEventListeners();\n}\n\n/**\n * Apply the initial state for all toggle buttons on the page\n *\n * @private\n * @returns {void}\n */\nfunction applyInitialState() {\n\tconst toggleGroups = document.querySelectorAll( `.${ CLASS_NAMES.GROUP_TOGGLE }` );\n\n\tif ( ! toggleGroups.length ) {\n\t\treturn;\n\t}\n\n\ttoggleGroups.forEach( toggleGroup => {\n\t\tconst toggleButton = toggleGroup.querySelector( `[${ DATA_ATTRIBUTES.GROUP_NAME }]:checked` );\n\t\tif ( ! toggleButton ) {\n\t\t\treturn;\n\t\t}\n\n\t\tapplyToggleState( toggleButton, toggleGroup );\n\t} );\n}\n\n/**\n * Add event listeners to toggle buttons in a group toggle component\n *\n * @private\n * @returns {void}\n */\nfunction addEventListeners() {\n\tdocumentOn( 'change', `.${ CLASS_NAMES.GROUP_TOGGLE } [${ DATA_ATTRIBUTES.GROUP_NAME }]`, handleToggleClick );\n}\n\n/**\n * Handle click events on toggle buttons\n *\n * @private\n * @param {Event} event The click event\n * @returns {void}\n */\nfunction handleToggleClick( event ) {\n\tconst toggleButton = event.target;\n\tconst toggleGroup = toggleButton.closest( `.${ CLASS_NAMES.GROUP_TOGGLE }` );\n\n\tif ( ! toggleGroup ) {\n\t\treturn;\n\t}\n\n\tapplyToggleState( toggleButton, toggleGroup );\n}\n\n/**\n * Apply toggle state based on toggle button settings\n * Shared functionality used by both click handler and initial state\n *\n * @private\n * @param {HTMLElement} toggleButton The toggle button element\n * @param {HTMLElement} toggleGroup The toggle group container element\n * @returns {void}\n */\nfunction applyToggleState( toggleButton, toggleGroup ) {\n\tconst fieldId = toggleGroup.closest( `.${ SINGLE_SETTINGS_CLASS }` )?.dataset.fid ||\n\t\ttoggleGroup.dataset.fid;\n\n\tconst isChecked = toggleButton.checked;\n\n\t// Handle show/hide elements\n\tconst showSelectors = toggleButton.getAttribute( DATA_ATTRIBUTES.SHOW );\n\tif ( showSelectors ) {\n\t\tdocument.querySelectorAll( normalizeSelector( showSelectors, fieldId ) )\n\t\t\t.forEach( element => element.classList.toggle( HIDDEN_CLASS, ! isChecked ) );\n\t}\n\n\t// Handle disable elements\n\tconst disableSelectors = toggleButton.getAttribute( DATA_ATTRIBUTES.DISABLE );\n\tif ( disableSelectors ) {\n\t\tdocument.querySelectorAll( normalizeSelector( disableSelectors, fieldId ) )\n\t\t\t.forEach( element => {\n\t\t\t\telement.classList.toggle( DISABLED_CLASS, isChecked );\n\t\t\t\telement.querySelectorAll( 'input, select, textarea' ).forEach(\n\t\t\t\t\tformElement => formElement.disabled = isChecked\n\t\t\t\t);\n\t\t\t\telement.querySelectorAll( '.frm-show-inline-modal[tabindex]' ).forEach(\n\t\t\t\t\tinlineModal => inlineModal.tabIndex = isChecked ? -1 : 0\n\t\t\t\t);\n\t\t\t} );\n\t}\n\n\t// Handle enable elements\n\tconst enableSelectors = toggleButton.getAttribute( DATA_ATTRIBUTES.ENABLE );\n\tif ( enableSelectors ) {\n\t\tdocument.querySelectorAll( normalizeSelector( enableSelectors, fieldId ) )\n\t\t\t.forEach( element => element.classList.toggle( DISABLED_CLASS, ! isChecked ) );\n\t}\n\n\t// Toggle disabled state for all other toggle blocks within the group\n\tconst currentToggleBlock = toggleButton.closest( `.${ CLASS_NAMES.TOGGLE_BLOCK }` );\n\tArray.from( toggleGroup.querySelectorAll( `.${ CLASS_NAMES.TOGGLE_BLOCK }` ) )\n\t\t.filter( toggleBlock => toggleBlock !== currentToggleBlock )\n\t\t.forEach( toggleBlock => {\n\t\t\ttoggleBlock.classList.toggle( DISABLED_CLASS, isChecked );\n\n\t\t\t// Disable toggle switch\n\t\t\tconst toggle = toggleBlock.querySelector( '.frm_toggle' );\n\t\t\ttoggle.tabIndex = isChecked ? -1 : 0;\n\t\t\ttoggle.setAttribute( 'aria-disabled', isChecked );\n\t\t} );\n}\n\n/**\n * Normalize a selector by replacing {id} placeholders with the actual field ID\n *\n * @private\n * @param {string} selector The selector string with potential {id} placeholders\n * @param {string} fieldId The field ID to replace placeholders with\n * @returns {string} The normalized selector\n */\nfunction normalizeSelector( selector, fieldId ) {\n\treturn selector.replace( /{id}/g, fieldId );\n}\n\nexport { initToggleGroupComponents };\n","/**\n * Constants for token input component\n *\n * Reusable constants for class names and other static values\n */\n\nexport const CLASS_NAMES = {\n\tCONTAINER: 'frm-token-container',\n\tTOKENS_WRAPPER: 'frm-tokens',\n\tTOKEN: 'frm-token',\n\tTOKEN_VALUE: 'frm-token-value',\n\tTOKEN_REMOVE: 'frm-token-remove',\n\tTOKEN_INPUT_FIELD: 'frm-token-input-field',\n\tTOKEN_PROXY_INPUT: 'frm-token-proxy-input',\n\tWITH_RIGHT_ICON: 'frm-with-right-icon'\n};\n\nexport const KEYS = {\n\tSPACE: ' ',\n\tENTER: 'Enter',\n\tCOMMA: ',',\n\tTAB: 'Tab',\n\tBACKSPACE: 'Backspace'\n};\n\nexport const PROXY_INPUT_HEIGHT = 36;\nexport const TOKEN_GAP = 4;\n","/**\n * Event handlers\n *\n * Functions for handling token input events\n */\n\n/**\n * Internal dependencies\n */\nimport { CLASS_NAMES, KEYS } from './constants';\nimport { addToken, removeToken, synchronizeTokensDisplay } from './token-actions';\nimport { adjustProxyInputStyle } from './proxy-input-style';\n\n/**\n * Add event listeners to token input components\n *\n * @param {HTMLElement} field The original hidden input field\n * @param {HTMLElement} proxyInput The proxy input field for interaction\n * @param {HTMLElement} tokensWrapper The wrapper for token display\n * @returns {void}\n */\nexport function addEventListeners( field, proxyInput, tokensWrapper ) {\n\t// The jQuery change event is required to catch programmatic updates, as \"Add Layout Classes\" modifies the field value via jQuery\n\tjQuery( field ).on( 'change', () => synchronizeTokensDisplay( field.value, proxyInput, tokensWrapper ) );\n\n\tproxyInput.addEventListener( 'keydown', event => onProxyInputKeydown( event, field, proxyInput, tokensWrapper ) );\n\tproxyInput.addEventListener( 'blur', () => addToken( proxyInput.value.trim(), field, proxyInput ) );\n\n\ttokensWrapper.addEventListener( 'click', event => handleTokenRemoval( event, field, proxyInput ) );\n}\n\n/**\n * Handle keydown events on the proxy input field\n *\n * @private\n *\n * @param {Event} event Keydown event\n * @param {HTMLElement} field The original hidden input field\n * @param {HTMLElement} proxyInput The proxy input field for interaction\n * @param {HTMLElement} tokensWrapper The wrapper for token display\n * @returns {void}\n */\nfunction onProxyInputKeydown( event, field, proxyInput, tokensWrapper ) {\n\tconst { key } = event;\n\tconst value = proxyInput.value.trim();\n\n\tswitch ( key ) {\n\t\t// Remove the last token when backspace is pressed and input field is empty (no text being typed)\n\t\tcase KEYS.BACKSPACE:\n\t\t\tif ( ! value ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst lastToken = tokensWrapper.querySelector( `.${ CLASS_NAMES.TOKEN }:last-child` );\n\t\t\t\tremoveToken( lastToken, field, proxyInput );\n\t\t\t}\n\t\t\tbreak;\n\n\t\t// Create a token from current input when delimiter keys are pressed\n\t\tcase KEYS.SPACE:\n\t\tcase KEYS.COMMA:\n\t\tcase KEYS.ENTER:\n\t\t\tevent.preventDefault();\n\t\t\taddToken( value, field, proxyInput );\n\t\t\tbreak;\n\t}\n\n\tadjustProxyInputStyle( proxyInput, tokensWrapper );\n}\n\n/**\n * Handle token removal when clicking the remove button\n *\n * @private\n *\n * @param {Event} event Click event\n * @param {HTMLElement} field The original hidden input field\n * @param {HTMLElement} proxyInput The proxy input field for interaction\n * @returns {void}\n */\nfunction handleTokenRemoval( event, field, proxyInput ) {\n\tconst removeButton = event.target.closest( `.${ CLASS_NAMES.TOKEN_REMOVE }` );\n\tif ( ! removeButton ) {\n\t\treturn;\n\t}\n\n\tconst token = removeButton.closest( `.${ CLASS_NAMES.TOKEN }` );\n\tif ( ! token ) {\n\t\treturn;\n\t}\n\n\tconst tokensWrapper = token.parentElement;\n\n\tremoveToken( token, field, proxyInput );\n\tadjustProxyInputStyle( proxyInput, tokensWrapper );\n}\n","export * from './token-input';\n","/**\n * Proxy input style\n *\n * Functions for adjusting proxy input styling\n */\n\nimport { CLASS_NAMES, PROXY_INPUT_HEIGHT, TOKEN_GAP } from './constants';\n\n/**\n * Adjust styling for all proxy inputs on the current settings\n *\n * @returns {void}\n */\nexport function adjustAllProxyInputStyles() {\n\tdocument.querySelectorAll( `.${ CLASS_NAMES.CONTAINER }` ).forEach( container =>\n\t\tadjustProxyInputStyle(\n\t\t\tcontainer.querySelector( `.${ CLASS_NAMES.TOKEN_PROXY_INPUT }` ),\n\t\t\tcontainer.querySelector( `.${ CLASS_NAMES.TOKENS_WRAPPER }` )\n\t\t)\n\t);\n}\n\n/**\n * Adjust the styling of the proxy input based on tokens wrapper dimensions\n *\n * @param {HTMLElement} proxyInput The proxy input field\n * @param {HTMLElement} tokensWrapper The wrapper for token display\n * @returns {void}\n */\nexport function adjustProxyInputStyle( proxyInput, tokensWrapper ) {\n\tif ( ! proxyInput || ! tokensWrapper ) {\n\t\treturn;\n\t}\n\n\tconst tokens = tokensWrapper.querySelectorAll( `.${ CLASS_NAMES.TOKEN }` );\n\tconst hasTokens = tokens.length > 0;\n\n\t// Reset all styles if no tokens\n\tif ( ! hasTokens ) {\n\t\tproxyInput.style.paddingLeft = '';\n\t\tproxyInput.style.paddingTop = '';\n\t\tproxyInput.style.height = '';\n\t\treturn;\n\t}\n\n\tconst tokensWrapperHeight = tokensWrapper.offsetHeight;\n\n\t// Calculate number of rows based on wrapper height\n\tconst numRows = Math.max( 1, Math.ceil( tokensWrapperHeight / PROXY_INPUT_HEIGHT ) );\n\n\tif ( numRows > 1 ) {\n\t\t// For multiple rows, calculate the width of tokens in the last row\n\t\tconst lastRowWidth = calculateLastRowWidth( getLastRowTokens( tokens ) );\n\n\t\tproxyInput.style.height = `${ tokensWrapperHeight }px`;\n\t\tproxyInput.style.paddingTop = `${ tokensWrapperHeight - PROXY_INPUT_HEIGHT + TOKEN_GAP }px`;\n\t\tproxyInput.style.paddingLeft = lastRowWidth ? `${ lastRowWidth + ( TOKEN_GAP * 2 ) }px` : '';\n\t} else {\n\t\t// For single row, use the full width of tokens\n\t\tproxyInput.style.height = '';\n\t\tproxyInput.style.paddingTop = '';\n\t\tproxyInput.style.paddingLeft = `${ tokensWrapper.offsetWidth - TOKEN_GAP }px`;\n\t}\n}\n\n/**\n * Identify tokens in the last row of a multi-row token layout\n *\n * @param {NodeList} tokens All token elements\n * @returns {Array} Array of tokens in the last row\n */\nfunction getLastRowTokens( tokens ) {\n\tif ( ! tokens.length ) {\n\t\treturn [];\n\t}\n\n\tconst tokensArray = Array.from( tokens );\n\tlet lastRowY = -1;\n\n\ttokensArray.forEach( token => {\n\t\tconst tokenRect = token.getBoundingClientRect();\n\t\tconst tokenBottom = tokenRect.bottom;\n\n\t\tif ( tokenBottom > lastRowY ) {\n\t\t\tlastRowY = tokenBottom;\n\t\t}\n\t} );\n\n\tconst threshold = TOKEN_GAP / 2;\n\treturn tokensArray.filter( token => {\n\t\tconst tokenRect = token.getBoundingClientRect();\n\t\treturn Math.abs( tokenRect.bottom - lastRowY ) <= threshold;\n\t} );\n}\n\n/**\n * Calculate the total width of tokens in the last row\n *\n * @param {Array} lastRowTokens Array of token elements in the last row\n * @returns {number} Total width of tokens in the last row\n */\nfunction calculateLastRowWidth( lastRowTokens ) {\n\tif ( ! lastRowTokens.length ) {\n\t\treturn 0;\n\t}\n\n\tlet totalWidth = 0;\n\n\tlastRowTokens.forEach( token => {\n\t\ttotalWidth += token.offsetWidth;\n\t} );\n\n\ttotalWidth += ( lastRowTokens.length - 1 ) * TOKEN_GAP;\n\n\treturn totalWidth + TOKEN_GAP;\n}\n","/**\n * Token actions\n *\n * Core functions for token operations and management\n */\n\n/**\n * Internal dependencies\n */\nimport { CLASS_NAMES } from './constants';\nimport { adjustProxyInputStyle } from './proxy-input-style';\nimport { createTokenElement } from './token-elements';\n\n/**\n * Synchronize token display with the field value\n *\n * @param {string} value The field value\n * @param {HTMLElement} proxyInput The proxy input field\n * @param {HTMLElement} tokensWrapper Wrapper element for tokens\n * @returns {void}\n */\nexport function synchronizeTokensDisplay( value, proxyInput, tokensWrapper ) {\n\tif ( ! value || ! tokensWrapper || ! proxyInput ) {\n\t\treturn;\n\t}\n\n\t// Clear existing tokens display and render new tokens\n\ttokensWrapper.innerHTML = '';\n\tparseTokens( value ).forEach( token => createTokenElement( token, tokensWrapper ) );\n\n\tadjustProxyInputStyle( proxyInput, tokensWrapper );\n\n\tproxyInput.focus();\n}\n\n/**\n * Add a new token to the field\n *\n * @param {string} tokenValue The token value to add\n * @param {HTMLElement} field The original field\n * @param {HTMLElement} proxyInput The proxy input\n * @returns {boolean} Whether a token was added\n */\nexport function addToken( tokenValue, field, proxyInput ) {\n\tif ( ! tokenValue || ! field || ! proxyInput ) {\n\t\treturn false;\n\t}\n\n\t// Get current tokens from field value\n\tconst tokens = parseTokens( field.value );\n\n\t// Skip duplicate tokens\n\tif ( tokens.includes( tokenValue ) ) {\n\t\tclearProxyInput( proxyInput );\n\t\treturn false;\n\t}\n\n\t// Add new token\n\ttokens.push( tokenValue );\n\tupdateFieldValue( field, tokens );\n\tclearProxyInput( proxyInput );\n\treturn true;\n}\n\n/**\n * Remove a specific token from the field\n *\n * @param {HTMLElement} token The token element to remove\n * @param {HTMLElement} field The original field\n * @param {HTMLElement} proxyInput The proxy input\n * @returns {void}\n */\nexport function removeToken( token, field, proxyInput ) {\n\tif ( ! token || ! field || ! proxyInput ) {\n\t\treturn;\n\t}\n\n\tconst value = token.querySelector( `.${ CLASS_NAMES.TOKEN_VALUE }` ).textContent;\n\n\t// Filter out the token to remove\n\tconst tokens = parseTokens( field.value ).filter( tokenValue => tokenValue !== value );\n\tupdateFieldValue( field, tokens );\n\n\t// Remove the token element from DOM\n\ttoken.remove();\n\n\tproxyInput.focus();\n}\n\n/**\n * Parse string input into an array of tokens\n *\n * @param {string} value Space-separated string\n * @returns {string[]} Array of tokens\n */\nexport function parseTokens( value = '' ) {\n\tvalue = value.trim();\n\n\tif ( ! value ) {\n\t\treturn [];\n\t}\n\n\treturn value.split( /\\s+/ ).filter( Boolean );\n}\n\n/**\n * Update field value with tokens and trigger change event\n *\n * @param {HTMLElement} field The field to update\n * @param {string[]} tokens Array of token values\n * @returns {void}\n */\nexport function updateFieldValue( field, tokens = [] ) {\n\tif ( ! field ) {\n\t\treturn;\n\t}\n\n\tfield.value = tokens.join( ' ' );\n\tjQuery( field ).trigger( 'change' );\n}\n\n/**\n * Clear proxy input and maintain focus\n *\n * @param {HTMLElement} proxyInput The proxy input field\n * @returns {void}\n */\nexport function clearProxyInput( proxyInput ) {\n\tif ( ! proxyInput ) {\n\t\treturn;\n\t}\n\n\tproxyInput.value = '';\n\tproxyInput.focus();\n}\n","/**\n * Token elements\n *\n * Functions for creating token DOM elements\n */\n\n/**\n * Internal dependencies\n */\nimport { HIDDEN_CLASS } from 'core/constants';\nimport { CLASS_NAMES } from './constants';\n\nconst { span, svg, tag } = window.frmDom;\n\n/**\n * Create token container and input elements\n *\n * @param {HTMLElement} field Input field for tokenization\n * @returns {HTMLElement|null} The container element or null if already initialized\n */\nexport function createTokenContainerElement( field ) {\n\t// Get the main container (.frm-with-right-icon) to work with Formidable's modal system\n\tconst container = field.closest( `.${ CLASS_NAMES.WITH_RIGHT_ICON }` );\n\n\tif ( container.querySelector( `.${ CLASS_NAMES.TOKENS_WRAPPER }` ) ) {\n\t\treturn null;\n\t}\n\n\tcontainer.classList.add( CLASS_NAMES.CONTAINER );\n\n\tconst tokensWrapper = span( {\n\t\tclassName: CLASS_NAMES.TOKENS_WRAPPER\n\t} );\n\n\tcontainer.insertBefore( tokensWrapper, container.firstChild );\n\n\tconst proxyInput = tag( 'input', {\n\t\tclassName: CLASS_NAMES.TOKEN_PROXY_INPUT,\n\t\tid: `${ field.id }-proxy-input`\n\t} );\n\n\tproxyInput.type = 'text';\n\n\t// Inserting proxyInput after the field is important to maintain compatibility with Formidable's modal system\n\tfield.parentNode.insertBefore( proxyInput, field.nextSibling );\n\tfield.classList.add( HIDDEN_CLASS );\n\n\treturn container;\n}\n\n/**\n * Create a single token element\n *\n * @param {string} value Token value\n * @param {HTMLElement} tokensWrapper Wrapper element for tokens\n * @returns {void}\n */\nexport function createTokenElement( value, tokensWrapper ) {\n\tconst tokenElement = span( {\n\t\tclassName: CLASS_NAMES.TOKEN,\n\t\tchildren: [\n\t\t\tspan( {\n\t\t\t\ttext: value,\n\t\t\t\tclassName: CLASS_NAMES.TOKEN_VALUE\n\t\t\t} ),\n\t\t\tspan( {\n\t\t\t\tclassName: CLASS_NAMES.TOKEN_REMOVE,\n\t\t\t\tchild: svg( { href: '#frm_close_icon' } )\n\t\t\t} )\n\t\t]\n\t} );\n\n\ttokensWrapper.append( tokenElement );\n}\n","/**\n * Token Input Component\n *\n * Transforms space-separated values in a text input into selectable tokens\n */\n\n/**\n * Internal dependencies\n */\nimport { HOOKS } from 'core/constants';\nimport { CLASS_NAMES } from './constants';\nimport { createTokenContainerElement } from './token-elements';\nimport { synchronizeTokensDisplay } from './token-actions';\nimport { adjustAllProxyInputStyles } from './proxy-input-style';\nimport { addEventListeners } from './event-handlers';\n\n/**\n * Initialize all token input fields on the page\n *\n * @returns {void}\n */\nfunction initTokenInputFields() {\n\tfindAndInitializeTokenFields();\n\n\t/**\n\t * Initialize for newly added fields\n\t *\n\t * @param {Event} event The frm_added_field event.\n\t * @param {HTMLElement} event.frmField The added field object being destructured from the event.\n\t */\n\tdocument.addEventListener( 'frm_added_field', ( { frmField } ) =>\n\t\tfindAndInitializeTokenFields( frmField.dataset.fid )\n\t);\n\n\t/**\n\t * Initialize for newly added fields via AJAX\n\t *\n\t * @param {Event} event The frm_ajax_loaded_field event.\n\t * @param {HTMLElement} event.frmFields The added field objects being destructured from the event.\n\t */\n\tdocument.addEventListener( 'frm_ajax_loaded_field', ( { frmFields } ) =>\n\t\tfrmFields.forEach( field => findAndInitializeTokenFields( field.id ) )\n\t);\n\n\t// Adjust styling for all token inputs when field settings are shown\n\twp.hooks.addAction( HOOKS.SHOW_FIELD_SETTINGS, 'formidable-token-input', adjustAllProxyInputStyles );\n}\n\n/**\n * Find all token input fields and initialize them\n *\n * @private\n * @param {string|number} fieldId The ID of the field to initialize\n * @returns {void}\n */\nfunction findAndInitializeTokenFields( fieldId ) {\n\tconst container = fieldId ? document.getElementById( `frm-single-settings-${ fieldId }` ) : document.body;\n\tconst tokenInputFields = container.querySelectorAll( `.${ CLASS_NAMES.TOKEN_INPUT_FIELD }` );\n\tif ( ! tokenInputFields.length ) {\n\t\treturn;\n\t}\n\n\t// Track processed fields to prevent duplicate initialization\n\tconst processedFields = new Set();\n\ttokenInputFields.forEach( field => {\n\t\tif ( ! processedFields.has( field.id ) ) {\n\t\t\tsetupTokenInput( field );\n\t\t\tprocessedFields.add( field.id );\n\t\t}\n\t} );\n}\n\n/**\n * Set up a token input field with token container\n *\n * @private\n *\n * @param {HTMLElement} field Input field for tokenization\n */\nfunction setupTokenInput( field ) {\n\tconst container = createTokenContainerElement( field );\n\tif ( ! container ) {\n\t\treturn;\n\t}\n\n\tconst proxyInput = container.querySelector( `.${ CLASS_NAMES.TOKEN_PROXY_INPUT }` );\n\tconst tokensWrapper = container.querySelector( `.${ CLASS_NAMES.TOKENS_WRAPPER }` );\n\n\tsynchronizeTokensDisplay( field.value, proxyInput, tokensWrapper );\n\taddEventListeners( field, proxyInput, tokensWrapper );\n}\n\nexport { initTokenInputFields };\n","/**\n * Internal dependencies\n */\nimport { documentOn } from 'core/utils';\n\n/**\n * Setup unit input handlers\n *\n * @returns {void}\n */\nexport function setupUnitInputHandlers() {\n\tdocumentOn( 'change', '.frm-unit-input .frm-unit-input-control', onUnitInputChange );\n\tdocumentOn( 'change', '.frm-unit-input select', onUnitInputChange );\n}\n\n/**\n * Handle the change event for the unit input\n *\n * @private\n * @param {Event} event The event object.\n * @returns {void}\n */\nfunction onUnitInputChange( event ) {\n\tconst unitInput = event.target.closest( '.frm-unit-input' );\n\tconst control = unitInput.querySelector( '.frm-unit-input-control' );\n\tconst unit = unitInput.querySelector( 'select' ).value;\n\n\t// Update input type when unit changes\n\tif ( event.target.matches( 'select' ) ) {\n\t\tcontrol.type = '' === unit ? 'text' : 'number';\n\t}\n\n\t// Update the actual field value\n\tconst inputValue = control.value.trim();\n\tunitInput.querySelector( 'input[type=\"hidden\"]' ).value = '' !== inputValue ? inputValue + unit : '';\n}\n\n","/**\n * Redirects to \"Add Fields\" tab when the \"Add Fields\" button is clicked.\n *\n * When users view the Field Options tab with no fields, they see an \"Add Fields\" button.\n * Clicking this button should take them to the \"Add Fields\" tab for field selection.\n */\n\n/**\n * Initializes the Add Fields button click handler.\n */\nconst initAddFieldsButtonHandler = () => {\n\tdocument.getElementById( 'frm-form-add-field' )?.addEventListener( 'click', event => {\n\t\tevent.preventDefault();\n\t\tdocument.querySelector( '.frm-settings-panel .frm-tabs-navs ul > li:first-child' )?.click();\n\t} );\n};\n\nexport default initAddFieldsButtonHandler;\n","export { default as initAddFieldsButtonHandler } from './add-fields-button-handler';\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](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\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))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * WordPress dependencies\n */\nimport domReady from '@wordpress/dom-ready';\n\n/**\n * Internal dependencies\n */\nimport { initAddFieldsButtonHandler } from './events';\nimport {\n\tfrmRadioComponent,\n\tfrmSliderComponent,\n\tfrmTabsComponent,\n\tinitTokenInputFields,\n\tinitToggleGroupComponents,\n\tsetupUnitInputHandlers\n} from './components';\n\ndomReady( () => {\n\tnew frmRadioComponent();\n\tnew frmSliderComponent();\n\tnew frmTabsComponent();\n\tinitAddFieldsButtonHandler();\n\tinitTokenInputFields();\n\tinitToggleGroupComponents();\n\tsetupUnitInputHandlers();\n} );\n"],"names":["frmStyleDependentUpdaterComponent","component","_classCallCheck","willChangeData","JSON","parse","dataset","willChange","data","propagateInputs","initPropagationList","changeEvent","Event","bubbles","error","console","_createClass","key","value","inputNames","list","forEach","name","input","document","querySelector","concat","push","updateAllDependentElements","dispatchEvent","default","frmTabsNavigator","wrapper","undefined","Element","flexboxSlidesGap","navs","querySelectorAll","slideTrackLine","slideTrack","slides","isRTL","documentElement","dir","body","resizeObserver","init","_this","length","initDefaultSlideTrackerWidth","nav","index","addEventListener","event","onNavClick","setupScrollbarObserver","window","cleanupObservers","navItem","currentTarget","preventDefault","removeActiveClassnameFromNavs","classList","add","initSlideTrackUnderline","changeSlide","navLink","id","closest","_window$frmAdminBuild","_window$frmAdminBuild2","frmAdminBuild","clearSettingsBox","call","initialWidth","style","width","remove","activeNav","filter","contains","positionUnderlineIndicator","_this2","scrollbarWrapper","ResizeObserver","observe","disconnect","_this3","requestAnimationFrame","position","parentElement","offsetWidth","offsetLeft","transform","clientWidth","removeActiveClassnameFromSlides","translate","parseInt","removeProperty","slide","_window$frmGlobal","frmGlobal","PLUGIN_URL","url","nonce","HIDDEN_CLASS","DISABLED_CLASS","HIDE_JS_CLASS","CURRENT_CLASS","CHECKED_CLASS","SINGLE_SETTINGS_CLASS","HOOKS","SHOW_FIELD_SETTINGS","frmAnimate","elements","type","arguments","prepareElements","fadeIn","applyStyleToElements","element","resetOpacity","once","cascadeFadeIn","delay","setTimeout","transitionDelay","opacity","callback","lastPromise","Promise","resolve","addToRequestQueue","task","then","catch","hide","show","showFormError","inputId","errorId","message","inputElement","errorElement","warn","span","textContent","setAttribute","_frmDom","frmDom","div","tag","a","img","svg","_frmDom$modal","modal","maybeCreateModal","footerButton","_frmDom$util","util","onClickPreventDefault","documentOn","doJsonPost","ajax","p","args","bold","button","URL","location","href","urlParams","searchParams","getQueryParam","paramName","get","removeQueryParam","delete","search","toString","setQueryParam","paramValue","updateMethod","set","includes","state","_defineProperty","history","hasQueryParam","has","removeParamFromHistory","replaceState","isValidEmail","email","test","isHTMLElement","HTMLElement","isEmptyObject","obj","Object","keys","constructor","showElements","_Array$from","Array","from","hideElements","_Array$from2","isVisible","styles","getComputedStyle","getPropertyValue","frmRadioComponent","frmSliderComponent","frmTabsComponent","radioElements","observers","Map","_ref","frmField","discoverAndInitFieldRadios","fid","_ref2","frmFields","field","resizeTimeout","throttledUpdateAllTrackers","initRadio","initTrackerOnAccordionClick","fieldId","fieldContainer","getElementById","Error","initOnRadioChange","initVisibilityObserver","accordionitems","accordionitem","target","radioButtons","radio","onRadioChange","radioElement","_this4","checked","activeItem","moveTracker","hideExtraElements","maybeShowExtraElements","elementAttr","getAttribute","_this5","_this6","observer","MutationObserver","attributes","attributeFilter","parent","i","clear","offset","tracker","left","frmDependentUpdaterComponent","sliderElements","settings","loadedByWebComponent","sliderBulletWidth","sliderMarginRight","eventsChange","debounce","valueChangeDebouncer","triggerValueChange","initOptions","options","parentWrapper","steps","dragging","startX","translateX","maxValue","dependentUpdater","initDraggable","initSlidersPositionInsideWebComponent","initSlidersPosition","cancelable","draggableBullet","valueInput","unit","getMaxValue","initSliderWidth","fullValue","updateValue","expandSliderGroup","updateOnUnitChange","changeSliderPositionOnClick","maybeDisableUnitDropdown","stopPropagation","enableDragging","onMouseMove","moveEvent","onMouseUp","disableDragging","removeEventListener","svgIcon","displaySliders","sliderGroupItems","getSliderGroupItems","item","toggle","toLowerCase","frmSlider","customEvent","sliderWidth","sliderRect","getBoundingClientRect","deltaX","clientX","calculateValue","initChildSlidersWidth","slidersGroup","split","query","map","join","_this7","quickSettings","openedAccordion","wp","hooks","addAction","imageBackgroundOpacitySlider","initSlidersWidth","initSliderPositionOnFieldShapeChange","_this8","fieldShapeType","slider","section","_this9","sliders","sliderIndex","getSliderIndex","Math","ceil","round","calculateDeltaXFromSteps","_this0","childSliders","childIndex","option","max","min","innerText","_this1","NodeList","_this10","userBaseFontSizeInput","inputValue","newValue","childSlidersGroup","unitMeasure","getUnitMeasureFromValue","inputValues","visibleValues","find","select","stepIndex","indexOf","closestValue","snapToStep","closestIndex","clampedIndex","nearest","minDiff","abs","diff","initOnTabClick","initActiveBackgroundWidth","tab","onTabClick","CLASS_NAMES","GROUP_TOGGLE","TOGGLE_BLOCK","DATA_ATTRIBUTES","GROUP_NAME","SHOW","DISABLE","ENABLE","initToggleGroupComponents","applyInitialState","addEventListeners","toggleGroups","toggleGroup","toggleButton","applyToggleState","handleToggleClick","_toggleGroup$closest","isChecked","showSelectors","normalizeSelector","disableSelectors","formElement","disabled","inlineModal","tabIndex","enableSelectors","currentToggleBlock","toggleBlock","selector","replace","CONTAINER","TOKENS_WRAPPER","TOKEN","TOKEN_VALUE","TOKEN_REMOVE","TOKEN_INPUT_FIELD","TOKEN_PROXY_INPUT","WITH_RIGHT_ICON","KEYS","SPACE","ENTER","COMMA","TAB","BACKSPACE","PROXY_INPUT_HEIGHT","TOKEN_GAP","addToken","removeToken","synchronizeTokensDisplay","adjustProxyInputStyle","proxyInput","tokensWrapper","jQuery","on","onProxyInputKeydown","trim","handleTokenRemoval","lastToken","removeButton","token","adjustAllProxyInputStyles","container","tokens","hasTokens","paddingLeft","paddingTop","height","tokensWrapperHeight","offsetHeight","numRows","lastRowWidth","calculateLastRowWidth","getLastRowTokens","tokensArray","lastRowY","tokenRect","tokenBottom","bottom","threshold","lastRowTokens","totalWidth","createTokenElement","innerHTML","parseTokens","focus","tokenValue","clearProxyInput","updateFieldValue","Boolean","trigger","_window$frmDom","createTokenContainerElement","className","insertBefore","firstChild","parentNode","nextSibling","tokenElement","children","text","child","append","initTokenInputFields","findAndInitializeTokenFields","tokenInputFields","processedFields","Set","setupTokenInput","setupUnitInputHandlers","onUnitInputChange","unitInput","control","matches","initAddFieldsButtonHandler","_document$getElementB","_document$querySelect","click","domReady"],"sourceRoot":""} \ No newline at end of file diff --git a/js/formidable-web-components.js b/js/formidable-web-components.js index 24738ba74a..86f11cf776 100644 --- a/js/formidable-web-components.js +++ b/js/formidable-web-components.js @@ -1 +1 @@ -(()=>{var e={8616:e=>{e.exports=function(e,t){var r,n,i=0;function o(){var o,a,s=r,l=arguments.length;e:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var r,n,a,s,l,u,p,c,d,f=1,m=e.length,h="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?h+=r:(!i.number.test(s.type)||c&&!s.sign?d="":(d=c?"+":"-",r=r.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",p=s.width-(d+r).length,l=s.width&&p>0?u.repeat(p):"",h+=s.align?d+r+l:"0"===u?d+l+r:l+d+r)}return h}(function(e){if(s[e])return s[e];for(var t,r=e,n=[],o=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],l=t[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))a.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(u[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[e]=n}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(n=function(){return{sprintf:o,vsprintf:a}}.call(t,r,t,e))||(e.exports=n))}()}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";function e(t){return e="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},e(t)}function t(e,t){for(var r=0;r li"),this.slideTrackLine=this.wrapper.querySelector(".frm-tabs-active-underline"),this.slideTrack=this.wrapper.querySelector(".frm-tabs-slide-track"),this.slides=this.wrapper.querySelectorAll(".frm-tabs-slide-track > div"),this.isRTL="rtl"===document.documentElement.dir||"rtl"===document.body.dir,this.resizeObserver=null,this.init()))},(r=[{key:"init",value:function(){var e=this;null!==this.wrapper&&this.navs.length&&null!==this.slideTrackLine&&null!==this.slideTrack&&this.slides.length&&(this.initDefaultSlideTrackerWidth(),this.navs.forEach(function(t,r){t.addEventListener("click",function(t){return e.onNavClick(t,r)})}),this.setupScrollbarObserver(),window.addEventListener("beforeunload",this.cleanupObservers))}},{key:"onNavClick",value:function(e,t){var r=e.currentTarget;e.preventDefault(),this.removeActiveClassnameFromNavs(),r.classList.add("frm-active"),this.initSlideTrackUnderline(r,t),this.changeSlide(t);var n,i,o=r.querySelector("a");o&&"frm_insert_fields_tab"===o.id&&!o.closest("#frm_adv_info")&&(null===(n=window.frmAdminBuild)||void 0===n||null===(i=n.clearSettingsBox)||void 0===i||i.call(n))}},{key:"initDefaultSlideTrackerWidth",value:function(){this.slideTrackLine.dataset.initialWidth&&(this.slideTrackLine.style.width="".concat(this.slideTrackLine.dataset.initialWidth,"px"))}},{key:"initSlideTrackUnderline",value:function(e,t){this.slideTrackLine.classList.remove("frm-first","frm-last");var r=void 0!==e?e:this.navs.filter(function(e){return e.classList.contains("frm-active")});this.positionUnderlineIndicator(r)}},{key:"setupScrollbarObserver",value:function(){var e=this,t=this.wrapper.closest(".frm-scrollbar-wrapper");t&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(function(){var t=e.wrapper.querySelector(".frm-tabs-navs ul > li.frm-active");t&&e.positionUnderlineIndicator(t)}),this.resizeObserver.observe(t))}},{key:"cleanupObservers",value:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"positionUnderlineIndicator",value:function(e){var t=this;requestAnimationFrame(function(){var r=t.isRTL?-(e.parentElement.offsetWidth-e.offsetLeft-e.offsetWidth):e.offsetLeft;t.slideTrackLine.style.transform="translateX(".concat(r,"px)"),t.slideTrackLine.style.width=e.clientWidth+"px"})}},{key:"changeSlide",value:function(e){this.removeActiveClassnameFromSlides();var t=0==e?"0px":"calc( ( ".concat(100*e,"% + ").concat(parseInt(this.flexboxSlidesGap,10)*e,"px ) * ").concat(this.isRTL?1:-1," )");"0px"!==t?this.slideTrack.style.transform="translateX(".concat(t,")"):this.slideTrack.style.removeProperty("transform"),e in this.slides&&this.slides[e].classList.add("frm-active")}},{key:"removeActiveClassnameFromSlides",value:function(){this.slides.forEach(function(e){return e.classList.remove("frm-active")})}},{key:"removeActiveClassnameFromNavs",value:function(){this.navs.forEach(function(e){return e.classList.remove("frm-active")})}}])&&t(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,r}();function o(e){return o="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},o(e)}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r0&&(r.disconnect(),requestAnimationFrame(function(){return t()}))})},{threshold:.1});(e.useShadowDom()?e.shadowRoot.host:e)&&r.observe(e)}else requestAnimationFrame(function(){return t()})})}},{key:"frmLabel",set:function(e){this._labelText=e}},{key:"afterViewInit",value:function(e){}},{key:"initView",value:function(){}},{key:"connectedCallback",value:function(){this.initOptions(),this.render()}},{key:"disconnectedCallback",value:function(){}}])&&s(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(u(HTMLElement));function m(e){return m="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},m(e)}function h(e,t){for(var r=0;rspan.frm-component-label{font-weight:500;font-size:var(--text-sm) !important;color:var(--grey-900) !important;width:40% !important;display:block !important;margin-right:12px !important}.frm-colorpicker-component .wp-picker-container button[type=button]{position:relative;height:36px !important;background-image:none !important;background-color:#fff !important;overflow:hidden}.frm-colorpicker-component .wp-picker-container button[type=button]:after{content:"";width:20px;height:20px;display:block;position:absolute;top:0;right:8px;bottom:0;margin:auto;background:url("--frm-plugin-url/images/style/small-arrow.svg") no-repeat;background-position:center;z-index:10}.frm-colorpicker-component .wp-picker-container button[type=button]:focus{border-color:var(--primary-500) !important}.frm-colorpicker-component .wp-color-result-text{line-height:36px !important;padding:0 12px;border:0}.frm-colorpicker-component .color-alpha{width:20px !important;height:20px !important;border-radius:50% !important;border:1px solid #d0d5dd;top:0;left:0;bottom:0;margin:auto;margin-left:12px}.frm-colorpicker-component .wp-picker-input-wrap input{width:calc(100% - 10px) !important;margin:1px 5px;height:32px;line-height:32px}\n',e.attachInternals(),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&O(e,t)}(t,e),r=t,(n=[{key:"initView",value:function(){var e=document.createElement("div");return e.classList.add("frm-colorpicker-component","frm-colorpicker"),e.append(this.getInput()),e}},{key:"getInput",value:function(){var e=this;return this.input.type="text",this.input.classList.add("hex"),null!==this.fieldName&&(this.input.name=this.fieldName),null!==V(z,this)&&(this.input.value=V(z,this)),null!==this.componentId&&(this.input.id=this.componentId),this.input.addEventListener("blur",function(t){return V(A,e).call(e,t,null)}),this.input}},{key:"useShadowDom",value:function(){return!1}},{key:"afterViewInit",value:function(){var e=this,t={defaultColor:V(z,this)};"function"==typeof V(A,this)&&(t.change=function(t,r){return setTimeout(function(){return V(A,e).call(e,t,r)},20)}),jQuery(this.input).wpColorPicker(t)}},{key:"color",get:function(){return jQuery(this.input).wpColorPicker("color")},set:function(e){_(z,this,e),this.input.value=e}},{key:"onChange",set:function(e){if("function"!=typeof e)throw new TypeError("Expected a function, but received ".concat(w(e)));_(A,this,e)}}])&&k(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(f);T=W,C=!0,(P=I(P="formAssociated"))in T?Object.defineProperty(T,P,{value:C,enumerable:!0,configurable:!0,writable:!0}):T[P]=C;var M=window.frmColorpickerProComponent?window.frmColorpickerProComponent(W):W,D=window.frmGlobal;function R(e){return R="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},R(e)}function B(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.loadedByWebComponent=r.length>0,this.sliderElements=r.length>0?r:document.querySelectorAll(".frm-slider-component"),this.settings=n,0!==this.sliderElements.length){this.sliderBulletWidth=16,this.sliderMarginRight=5,this.eventsChange=[];var i=frmDom.util.debounce;this.valueChangeDebouncer=i(function(e){return t.triggerValueChange(e)},25),this.initOptions(),this.init()}}return function(e,t,r){return t&&N(e.prototype,t),r&&N(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(e,[{key:"initOptions",value:function(){var e=this;this.options=[],this.sliderElements.forEach(function(t,r){var n=t.classList.contains("frm-has-multiple-values")?t.closest(".frm-style-component"):t,i=e.settings.steps||(t.dataset.steps?JSON.parse(t.dataset.steps):null);e.options.push({dragging:!1,startX:0,translateX:0,maxValue:parseInt(t.dataset.maxValue,10),element:t,index:r,value:0,steps:i,dependentUpdater:n.classList.contains("frm-style-dependent-updater-component")?new q(n):null})})}},{key:"init",value:function(){this.initDraggable(),this.loadedByWebComponent?this.initSlidersPositionInsideWebComponent():this.initSlidersPosition()}},{key:"initDraggable",value:function(){var t=this;this.sliderElements.forEach(function(r,n){t.eventsChange[n]=new Event("change",{bubbles:!0,cancelable:!0});var i=r.querySelector(".frm-slider-bullet"),o=r.querySelector('.frm-slider-value input[type="text"]');o.addEventListener("change",function(e){var i=r.querySelector("select").value;t.getMaxValue(i,n)1&&void 0!==arguments[1]?arguments[1]:null;if(!t.classList.contains("frm-disabled")){var n=null!==r?r:this.getSliderIndex(t),i=t.querySelector(".frm-slider").offsetWidth-this.sliderBulletWidth,o=parseInt(t.querySelector('.frm-slider-value input[type="text"]').value,10),a=t.querySelector("select").value,s=this.options[n].steps,l=Math.ceil(o/this.options[n].maxValue*i);"%"===a?l=Math.round(i*o/100):s&&s.length>0&&(l=e.calculateDeltaXFromSteps(o,s,i)),t.querySelector(".frm-slider-active-track").style.width="".concat(l,"px"),this.options[n].translateX=l,this.options[n].value=o+a}}},{key:"initChildSlidersWidth",value:function(e,t,r,n){var i=this;(e.classList.contains("frm-has-independent-fields")||e.classList.contains("frm-has-multiple-values"))&&(e.classList.contains("frm-has-independent-fields")?e.querySelectorAll(".frm-independent-slider-field"):this.getSliderGroupItems(e)).forEach(function(e,o){e.querySelector(".frm-slider-active-track").style.width="".concat(t,"px"),i.options[r+o+1].translateX=t,i.options[r+o+1].value=n})}},{key:"getSliderIndex",value:function(e){return this.options.filter(function(t){return t.element===e})[0].index}},{key:"moveTracker",value:function(t,r){if(this.options[r].dragging){var n=t.clientX-this.options[r].startX,i=this.sliderElements[r],o=i.querySelector(".frm-slider").offsetWidth-this.sliderBulletWidth;n=Math.max(n,0),n=Math.min(n,o);var a=i.querySelector("select").value,s=e.calculateValue(o,n,this.getMaxValue(a,r),this.options[r].steps);i.querySelector('.frm-slider-value input[type="text"]').value=s,i.querySelector(".frm-slider-bullet .frm-slider-value-label").innerText=s,i.querySelector(".frm-slider-active-track").style.width="".concat(n,"px"),this.initChildSlidersWidth(i,n,r,s+a),this.options[r].translateX=n,this.options[r].value=s+a,this.options[r].fullValue=this.updateValue(i,this.options[r].value),this.valueChangeDebouncer(r)}}},{key:"getMaxValue",value:function(e,t){return"%"===e?100:this.options[t].maxValue}},{key:"enableDragging",value:function(e,t){e.target.classList.add("frm-dragging"),this.options[t].dragging=!0,this.options[t].startX=e.clientX-this.options[t].translateX}},{key:"disableDragging",value:function(e){!1!==this.options[e].dragging&&(this.sliderElements[e].querySelector(".frm-slider-bullet").classList.remove("frm-dragging"),this.options[e].dragging=!1,this.triggerValueChange(e))}},{key:"triggerValueChange",value:function(e){var t=this;if(null===this.options[e].dependentUpdater){var r=this.sliderElements[e].classList.contains("frm-has-multiple-values")?this.sliderElements[e].closest(".frm-style-component").querySelector('input[type="hidden"]'):this.sliderElements[e].querySelectorAll('.frm-slider-value input[type="hidden"]');r instanceof NodeList?r.forEach(function(r){r.dispatchEvent(t.eventsChange[e])}):r.dispatchEvent(this.eventsChange[e])}else this.options[e].dependentUpdater.updateAllDependentElements(this.options[e].fullValue)}},{key:"updateValue",value:function(e,t){var r=this;if(e.classList.contains("frm-base-font-size")){var n=document.querySelector('input[name="frm_style_setting[post_content][use_base_font_size]"]');null!==n&&(n.value="true")}if(e.classList.contains("frm-has-multiple-values")){var i=e.closest(".frm-style-component").querySelector('input[type="hidden"]'),o=i.value.split(" "),a=e.dataset.type;switch(o[2]||(o[2]="0px"),o[3]||(o[3]="0px"),a){case"vertical":o[0]=t,o[2]=t;break;case"horizontal":o[1]=t,o[3]=t;break;case"top":o[0]=t;break;case"bottom":o[2]=t;break;case"left":o[3]=t;break;case"right":o[1]=t}var s=o.join(" ");return i.value=s,this.getSliderGroupItems(e).forEach(function(e){var n=r.getUnitMeasureFromValue(t);e.querySelector('.frm-slider-value input[type="text"]').value=parseInt(t,10),e.querySelector("select").value=n}),s}if(e.classList.contains("frm-has-independent-fields")){var l=e.querySelectorAll('.frm-slider-value input[type="hidden"]'),u=e.querySelectorAll('.frm-slider-value input[type="text"]');return l.forEach(function(e,r){e.value=t,u[r+1].value=parseInt(t,10)}),t}return e.querySelector('.frm-slider-value input[type="hidden"]').value=t,t}},{key:"getUnitMeasureFromValue",value:function(e){return["%","px","em"].find(function(t){return e.includes(t)})||""}}],[{key:"maybeDisableUnitDropdown",value:function(e){var t=e.querySelector("select");t&&1>=Array.from(t.options).filter(function(e){return""!==e.value}).length&&(t.classList.add("frm-single-unit"),t.addEventListener("mousedown",function(e){return e.preventDefault()}))}},{key:"calculateDeltaXFromSteps",value:function(t,r,n){var i=r.indexOf(t);if(-1===i){var o=e.snapToStep(t,r),a=r.indexOf(o);return Math.round(a/(r.length-1)*n)}return Math.round(i/(r.length-1)*n)}},{key:"calculateValue",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(n&&n.length>0){var i=t/e,o=Math.round(i*(n.length-1));return n[Math.max(0,Math.min(o,n.length-1))]}var a=Math.round(t/e*r);return Math.min(a,r)}},{key:"snapToStep",value:function(e,t){for(var r=t[0],n=Math.abs(e-r),i=1;i":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},G=["(","?"],$={")":["("],":":["?","?:"]},J=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var te={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,r){if(e)throw t;return r}};var re={contextDelimiter:"",onMissingKey:null};function ne(e,t){var r;for(r in this.data=e,this.pluralForms={},this.options={},re)this.options[r]=void 0!==t&&r in t?t[r]:re[r]}function ie(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function oe(e){for(var t=1;t=0||X[i]3&&void 0!==arguments[3]?arguments[3]:10,a=e[t];if(ue(r)&&le(n))if("function"==typeof i)if("number"==typeof o){var s={callback:i,priority:o,namespace:n};if(a[r]){var l,u=a[r].handlers;for(l=u.length;l>0&&!(o>=u[l-1].priority);l--);l===u.length?u[l]=s:u.splice(l,0,s),a.__current.forEach(function(e){e.name===r&&e.currentIndex>=l&&e.currentIndex++})}else a[r]={handlers:[s],runs:0};"hookAdded"!==r&&e.doAction("hookAdded",r,n,i,o)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},ce=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n,i){var o=e[t];if(ue(n)&&(r||le(i))){if(!o[n])return 0;var a=0;if(r)a=o[n].handlers.length,o[n]={runs:o[n].runs,handlers:[]};else for(var s=o[n].handlers,l=function(e){s[e].namespace===i&&(s.splice(e,1),a++,o.__current.forEach(function(t){t.name===n&&t.currentIndex>=e&&t.currentIndex--}))},u=s.length-1;u>=0;u--)l(u);return"hookRemoved"!==n&&e.doAction("hookRemoved",n,i),a}}},de=function(e,t){return function(r,n){var i=e[t];return void 0!==n?r in i&&i[r].handlers.some(function(e){return e.namespace===n}):r in i}},fe=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(n){var i=e[t];i[n]||(i[n]={handlers:[],runs:0}),i[n].runs++;for(var o=i[n].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";n.data[t]=oe(oe(oe({},ae),n.data[t]),e),n.data[t][""]=oe(oe({},ae[""]),n.data[t][""])},s=function(e,t){a(e,t),o()},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return n.data[e]||a(void 0,e),n.dcnpgettext(e,t,r,i,o)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},p=function(e,t,n){var i=l(n,t,e);return r?(i=r.applyFilters("i18n.gettext_with_context",i,e,t,n),r.applyFilters("i18n.gettext_with_context_"+u(n),i,e,t,n)):i};if(r){var c=function(e){se.test(e)&&o()};r.addAction("hookAdded","core/i18n",c),r.addAction("hookRemoved","core/i18n",c)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return n.data[e]},setLocaleData:s,resetLocaleData:function(e,t){n.data={},n.pluralForms={},s(e,t)},subscribe:function(e){return i.add(e),function(){return i.delete(e)}},__:function(e,t){var n=l(t,void 0,e);return r?(n=r.applyFilters("i18n.gettext",n,e,t),r.applyFilters("i18n.gettext_"+u(t),n,e,t)):n},_x:p,_n:function(e,t,n,i){var o=l(i,void 0,e,t,n);return r?(o=r.applyFilters("i18n.ngettext",o,e,t,n,i),r.applyFilters("i18n.ngettext_"+u(i),o,e,t,n,i)):o},_nx:function(e,t,n,i,o){var a=l(o,i,e,t,n);return r?(a=r.applyFilters("i18n.ngettext_with_context",a,e,t,n,i,o),r.applyFilters("i18n.ngettext_with_context_"+u(o),a,e,t,n,i,o)):a},isRTL:function(){return"rtl"===p("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,s=t?t+""+e:e,l=!(null===(o=n.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[s]);return r&&(l=r.applyFilters("i18n.has_translation",l,e,t,i),l=r.applyFilters("i18n.has_translation_"+u(i),l,e,t,i)),l}}}(0,0,ye));ve.getLocaleData.bind(ve),ve.setLocaleData.bind(ve),ve.resetLocaleData.bind(ve),ve.subscribe.bind(ve);var ge=ve.__.bind(ve);function xe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function we(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2],n=document.createElement("option");return n.value=e,n.textContent=t,n.selected=r,n}},{key:"createSvgIcon",value:function(e){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");t.classList.add("frmsvg");var r=document.createElementNS("http://www.w3.org/2000/svg","use");return r.setAttribute("href","#".concat(e)),t.append(r),t}}])}(f),qe={_:0};function Ue(e){return Ue="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},Ue(e)}function Ne(e,t){for(var r=0;r\') no-repeat center center;background-size:20px}.frm-border-radius-component .frm-border-radius-container button.frm-active,.frm-border-radius-component .frm-border-radius-container button:hover{background-color:rgba(0,0,0,.05)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper{width:100%;justify-content:space-between;flex-wrap:wrap}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper:not(.frm_hidden){display:flex}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span{position:relative;display:block;overflow:hidden;width:calc(50% - 6px);height:36px;border-radius:var(--small-radius);border:1px solid var(--grey-300);margin-top:12px}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span input{width:100%;height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding:0 12px 0px 20px;box-sizing:border-box;border:none;text-align:right}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span input:focus{outline:none}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span:before{content:"";position:absolute;display:block;width:12px;height:12px;left:12px;top:0;bottom:0;right:auto;margin:auto;background:url(\'data:image/svg+xml,\') center center no-repeat;background-size:12px}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-top:before{transform:rotate(180deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-bottom:before{transform:rotate(0deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-left:before{transform:rotate(90deg)}.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-right:before{transform:rotate(-90deg)}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper{width:calc(100% - 36px - 12px);height:36px;display:flex;justify-content:center;box-sizing:border-box;background:#fff;border-radius:var(--small-radius);border:1px solid var(--grey-300);overflow:hidden}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper>*{border:none}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper input{width:calc(100% - 44px);height:100%;padding:0;font-size:var(--text-sm);color:#101828;padding-left:12px;box-sizing:border-box}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper input:focus{outline:none}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper select{text-align:right;padding:0;font-size:var(--text-sm);color:#667085;width:44px;background:url("../../images/style/small-arrow.svg") no-repeat;background-position:center right 12px}.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper select:focus{outline:none}\n',e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Et(e,t)}(t,e),function(e,t,r){return t&>(e.prototype,t),r&>(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initOptions",value:function(){var e;(function(e,t,r){var n=kt(St(e.prototype),"initOptions",r);return"function"==typeof n?function(e){return n.apply(r,e)}:n})(t,0,this)([]),null===this.componentId&&(this.componentId="frm-border-radius-web-component-".concat(zt._=(e=zt._,++e)))}},{key:"initView",value:function(){return this.wrapper=document.createElement("div"),this.container=document.createElement("div"),this.wrapper.classList.add("frm-border-radius-component"),this.container.classList.add("frm-border-radius-container"),this.container.append(this.getInputWrapper(),this.getButton(),this.getBorderIndividualInputsWrapper()),this.wrapper.append(this.container),this.wrapper}},{key:"parseDefaultValues",value:function(){if(!jt(Pt,this))return{top:{value:0,unit:"px"},bottom:{value:0,unit:"px"},left:{value:0,unit:"px"},right:{value:0,unit:"px"}};var e=jt(Pt,this).split(" ");return{top:t.parseValueUnit(e[0]||"0px"),bottom:t.parseValueUnit(e[2]||e[0]||"0px"),left:t.parseValueUnit(e[3]||e[1]||e[0]||"0px"),right:t.parseValueUnit(e[1]||e[0]||"0px")}}},{key:"getInputWrapper",value:function(){return this.inputWrapper=document.createElement("div"),this.inputWrapper.classList.add("frm-input-wrapper"),this.inputWrapper.append(this.getInputValue(),this.getInputUnit(),this.getHiddenInput()),this.inputWrapper}},{key:"getHiddenInput",value:function(){return this.hiddenInput=document.createElement("input"),this.hiddenInput.type="hidden",this.hiddenInput.value=jt(Tt,this),this.fieldName&&(this.hiddenInput.name=this.fieldName),this.hiddenInput}},{key:"getInputValue",value:function(){var e=this;return this.inputValue=document.createElement("input"),this.inputValue.type="text",this.inputValue.id="".concat(this.componentId,"-value"),this.inputValue.setAttribute("aria-label",ge("Border radius value","formidable")),this.inputValue.classList.add("frm-input-value"),jt(Ct,this)||(this.inputValue.value=parseInt(jt(Pt,this))||0),this.inputValue.addEventListener("change",function(){var t=e.inputValue.value+e.inputUnit.value;e.hiddenInput.value=t,e.borderInputBottom.value=e.inputValue.value,e.borderInputTop.value=e.inputValue.value,e.borderInputLeft.value=e.inputValue.value,e.borderInputRight.value=e.inputValue.value,e.updateValue(t)}),this.inputValue}},{key:"getInputUnit",value:function(){var e=this;return this.inputUnit=document.createElement("select"),this.inputUnit.id="".concat(this.componentId,"-unit"),this.inputUnit.setAttribute("aria-label",ge("Border radius unit","formidable")),this.inputUnit.classList.add("frm-input-unit"),jt(Lt,this).forEach(function(t){var r=document.createElement("option");r.value=t,r.textContent=t,e.inputUnit.append(r)}),this.inputUnit.addEventListener("change",function(){e.hiddenInput.value=e.inputValue.value+e.inputUnit.value}),this.inputUnit}},{key:"getBorderIndividualInputsWrapper",value:function(){return this.borderIndividualInputsWrapper=document.createElement("div"),this.borderIndividualInputsWrapper.classList.add("frm-border-individual-inputs-wrapper"),jt(Ct,this)||this.borderIndividualInputsWrapper.classList.add("frm_hidden"),this.borderIndividualInputsWrapper.append(this.getBorderInputTop(),this.getBorderInputRight(),this.getBorderInputLeft(),this.getBorderInputBottom()),this.borderIndividualInputsWrapper}},{key:"getBorderInputTop",value:function(){var e=this,t=this.parseDefaultValues(),r=document.createElement("span");return r.classList.add("frm-border-input-top"),this.borderInputTop=document.createElement("input"),this.borderInputTop.type="text",this.borderInputTop.id="".concat(this.componentId,"-top"),this.borderInputTop.setAttribute("aria-label",ge("Top border radius","formidable")),this.borderInputTop.value=parseInt(t.top.value),r.append(this.borderInputTop),this.borderInputTop.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),r}},{key:"getBorderInputBottom",value:function(){var e=this,t=this.parseDefaultValues(),r=document.createElement("span");return r.classList.add("frm-border-input-bottom"),this.borderInputBottom=document.createElement("input"),this.borderInputBottom.type="text",this.borderInputBottom.id="".concat(this.componentId,"-bottom"),this.borderInputBottom.setAttribute("aria-label",ge("Bottom border radius","formidable")),this.borderInputBottom.value=parseInt(t.bottom.value),r.append(this.borderInputBottom),this.borderInputBottom.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),r}},{key:"getBorderInputLeft",value:function(){var e=this,t=this.parseDefaultValues(),r=document.createElement("span");return r.classList.add("frm-border-input-left"),this.borderInputLeft=document.createElement("input"),this.borderInputLeft.type="text",this.borderInputLeft.id="".concat(this.componentId,"-left"),this.borderInputLeft.setAttribute("aria-label",ge("Left border radius","formidable")),this.borderInputLeft.value=parseInt(t.left.value),r.append(this.borderInputLeft),this.borderInputLeft.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),r}},{key:"getBorderInputRight",value:function(){var e=this,t=this.parseDefaultValues(),r=document.createElement("span");return r.classList.add("frm-border-input-right"),this.borderInputRight=document.createElement("input"),this.borderInputRight.type="text",this.borderInputRight.id="".concat(this.componentId,"-right"),this.borderInputRight.setAttribute("aria-label",ge("Right border radius","formidable")),this.borderInputRight.value=parseInt(t.right.value),r.append(this.borderInputRight),this.borderInputRight.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),r}},{key:"buildBorderRadiusIndividualValue",value:function(){var e=this.inputUnit.value,t="".concat(parseInt(this.borderInputTop.value,10)).concat(e," ").concat(parseInt(this.borderInputRight.value,10)).concat(e," ").concat(parseInt(this.borderInputBottom.value,10)).concat(e," ").concat(parseInt(this.borderInputLeft.value,10)).concat(e);this.updateValue(t)}},{key:"updateValue",value:function(e){this.hiddenInput.value=e,jt(Vt,this).call(this,e)}},{key:"getButton",value:function(){var e=this;return this.button=document.createElement("button"),this.button.type="button",this.button.textContent=ge("Border Radius","formidable"),jt(Ct,this)&&this.button.classList.add("frm-active"),this.button.addEventListener("click",function(){e.button.classList.toggle("frm-active"),e.borderIndividualInputsWrapper.classList.toggle("frm_hidden")}),this.button}},{key:"onChange",set:function(e){if("function"!=typeof e)throw new TypeError("Expected a function, but received ".concat(vt(e)));It(Vt,this,e)}},{key:"borderRadiusDefaultValue",set:function(e){It(Pt,this,e),It(Ct,this,!/^(\d+)(px|em|%)?$/.test(e)&&""!==e)}}],[{key:"parseValueUnit",value:function(e){var t=e.match(/^(\d+)(px|em|%)?$/);return t?{value:parseInt(t[1],10),unit:t[2]||"px"}:{value:0,unit:"px"}}}])}(f),zt={_:0};customElements.define("frm-tab-navigator-component",x),customElements.define("frm-colorpicker-component",M),customElements.define("frm-range-slider-component",Fe),customElements.define("frm-dropdown-component",et),customElements.define("frm-typography-component",bt),customElements.define("frm-border-radius-component",At)})()})(); \ No newline at end of file +(()=>{var e={8616:e=>{e.exports=function(e,t){var n,r,i=0;function o(){var o,a,s=n,l=arguments.length;e:for(;s;){if(s.args.length===arguments.length){for(a=0;a{var r;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(e){return function(e,t){var n,r,a,s,l,u,c,p,d,f=1,m=e.length,h="";for(r=0;r=0),s.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,s.width?parseInt(s.width):0);break;case"e":n=s.precision?parseFloat(n).toExponential(s.precision):parseFloat(n).toExponential();break;case"f":n=s.precision?parseFloat(n).toFixed(s.precision):parseFloat(n);break;case"g":n=s.precision?String(Number(n.toPrecision(s.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=s.precision?n.substring(0,s.precision):n;break;case"t":n=String(!!n),n=s.precision?n.substring(0,s.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=s.precision?n.substring(0,s.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=s.precision?n.substring(0,s.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?h+=n:(!i.number.test(s.type)||p&&!s.sign?d="":(d=p?"+":"-",n=n.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",c=s.width-(d+n).length,l=s.width&&c>0?u.repeat(c):"",h+=s.align?d+n+l:"0"===u?d+l+n:l+d+n)}return h}(function(e){if(s[e])return s[e];for(var t,n=e,r=[],o=0;n;){if(null!==(t=i.text.exec(n)))r.push(t[0]);else if(null!==(t=i.modulo.exec(n)))r.push("%");else{if(null===(t=i.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){o|=1;var a=[],l=t[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))a.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(u[1])}t[2]=a}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}n=n.substring(t[0].length)}return s[e]=r}(e),arguments)}function a(e,t){return o.apply(null,[e].concat(t||[]))}var s=Object.create(null);"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=a,void 0===(r=function(){return{sprintf:o,vsprintf:a}}.call(t,n,t,e))||(e.exports=r))}()}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.n=e=>{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";function e(t){return e="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},e(t)}function t(e,t){for(var n=0;n li"),this.slideTrackLine=this.wrapper.querySelector(".frm-tabs-active-underline"),this.slideTrack=this.wrapper.querySelector(".frm-tabs-slide-track"),this.slides=this.wrapper.querySelectorAll(".frm-tabs-slide-track > div"),this.isRTL="rtl"===document.documentElement.dir||"rtl"===document.body.dir,this.resizeObserver=null,this.init()))},(n=[{key:"init",value:function(){var e=this;null!==this.wrapper&&this.navs.length&&null!==this.slideTrackLine&&null!==this.slideTrack&&this.slides.length&&(this.initDefaultSlideTrackerWidth(),this.navs.forEach(function(t,n){t.addEventListener("click",function(t){return e.onNavClick(t,n)})}),this.setupScrollbarObserver(),window.addEventListener("beforeunload",this.cleanupObservers))}},{key:"onNavClick",value:function(e,t){var n=e.currentTarget;e.preventDefault(),this.removeActiveClassnameFromNavs(),n.classList.add("frm-active"),this.initSlideTrackUnderline(n,t),this.changeSlide(t);var r,i,o=n.querySelector("a");o&&"frm_insert_fields_tab"===o.id&&!o.closest("#frm_adv_info")&&(null===(r=window.frmAdminBuild)||void 0===r||null===(i=r.clearSettingsBox)||void 0===i||i.call(r))}},{key:"initDefaultSlideTrackerWidth",value:function(){this.slideTrackLine.dataset.initialWidth&&(this.slideTrackLine.style.width="".concat(this.slideTrackLine.dataset.initialWidth,"px"))}},{key:"initSlideTrackUnderline",value:function(e,t){this.slideTrackLine.classList.remove("frm-first","frm-last");var n=void 0!==e?e:this.navs.filter(function(e){return e.classList.contains("frm-active")});this.positionUnderlineIndicator(n)}},{key:"setupScrollbarObserver",value:function(){var e=this,t=this.wrapper.closest(".frm-scrollbar-wrapper");t&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(function(){var t=e.wrapper.querySelector(".frm-tabs-navs ul > li.frm-active");t&&e.positionUnderlineIndicator(t)}),this.resizeObserver.observe(t))}},{key:"cleanupObservers",value:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},{key:"positionUnderlineIndicator",value:function(e){var t=this;requestAnimationFrame(function(){var n=t.isRTL?-(e.parentElement.offsetWidth-e.offsetLeft-e.offsetWidth):e.offsetLeft;t.slideTrackLine.style.transform="translateX(".concat(n,"px)"),t.slideTrackLine.style.width=e.clientWidth+"px"})}},{key:"changeSlide",value:function(e){this.removeActiveClassnameFromSlides();var t=0==e?"0px":"calc( ( ".concat(100*e,"% + ").concat(parseInt(this.flexboxSlidesGap,10)*e,"px ) * ").concat(this.isRTL?1:-1," )");"0px"!==t?this.slideTrack.style.transform="translateX(".concat(t,")"):this.slideTrack.style.removeProperty("transform"),e in this.slides&&this.slides[e].classList.add("frm-active")}},{key:"removeActiveClassnameFromSlides",value:function(){this.slides.forEach(function(e){return e.classList.remove("frm-active")})}},{key:"removeActiveClassnameFromNavs",value:function(){this.navs.forEach(function(e){return e.classList.remove("frm-active")})}}])&&t(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n}();function o(e){return o="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},o(e)}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&(n.disconnect(),requestAnimationFrame(function(){return t()}))})},{threshold:.1});(e.useShadowDom()?e.shadowRoot.host:e)&&n.observe(e)}else requestAnimationFrame(function(){return t()})})}},{key:"frmLabel",set:function(e){this._labelText=e}},{key:"afterViewInit",value:function(e){}},{key:"initView",value:function(){}},{key:"connectedCallback",value:function(){this.initOptions(),this.render()}},{key:"disconnectedCallback",value:function(){}}])&&s(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(u(HTMLElement));function m(e){return m="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},m(e)}function h(e,t){for(var n=0;n span.frm-component-label {\n font-weight: 500;\n font-size: var(--text-sm) !important;\n color: var(--grey-900) !important;\n width: 40% !important;\n display: block !important;\n margin-right: 12px !important;\n}\n\n.frm-colorpicker-component .wp-picker-container button[type=button] {\n position: relative;\n height: 36px !important;\n background-image: none !important;\n background-color: #fff !important;\n overflow: hidden;\n}\n.frm-colorpicker-component .wp-picker-container button[type=button]:after {\n content: "";\n width: 20px;\n height: 20px;\n display: block;\n position: absolute;\n top: 0;\n right: 8px;\n bottom: 0;\n margin: auto;\n background: url("--frm-plugin-url/images/style/small-arrow.svg") no-repeat;\n background-position: center;\n z-index: 10;\n}\n.frm-colorpicker-component .wp-picker-container button[type=button]:focus {\n border-color: var(--primary-500) !important;\n}\n.frm-colorpicker-component .wp-color-result-text {\n line-height: 36px !important;\n padding: 0 12px;\n border: 0;\n}\n.frm-colorpicker-component .color-alpha {\n width: 20px !important;\n height: 20px !important;\n border-radius: 50% !important;\n border: 1px solid rgb(208, 213, 221);\n top: 0;\n left: 0;\n bottom: 0;\n margin: auto;\n margin-left: 12px;\n}\n.frm-colorpicker-component .wp-picker-input-wrap input {\n width: calc(100% - 10px) !important;\n margin: 1px 5px;\n height: 32px;\n line-height: 32px;\n}\n\n/*# sourceMappingURL=frm-colorpicker-component.css.map*/',e.attachInternals(),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&j(e,t)}(t,e),n=t,(r=[{key:"initView",value:function(){var e=document.createElement("div");return e.classList.add("frm-colorpicker-component","frm-colorpicker"),e.append(this.getInput()),e}},{key:"getInput",value:function(){var e=this;return this.input.type="text",this.input.classList.add("hex"),null!==this.fieldName&&(this.input.name=this.fieldName),null!==V(A,this)&&(this.input.value=V(A,this)),null!==this.componentId&&(this.input.id=this.componentId),this.input.addEventListener("blur",function(t){return V(D,e).call(e,t,null)}),this.input}},{key:"useShadowDom",value:function(){return!1}},{key:"afterViewInit",value:function(){var e=this,t={defaultColor:V(A,this)};"function"==typeof V(D,this)&&(t.change=function(t,n){return setTimeout(function(){return V(D,e).call(e,t,n)},20)}),jQuery(this.input).wpColorPicker(t)}},{key:"color",get:function(){return jQuery(this.input).wpColorPicker("color")},set:function(e){_(A,this,e),this.input.value=e}},{key:"onChange",set:function(e){if("function"!=typeof e)throw new TypeError("Expected a function, but received ".concat(w(e)));_(D,this,e)}}])&&k(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(f);T=M,C=!0,(P=O(P="formAssociated"))in T?Object.defineProperty(T,P,{value:C,enumerable:!0,configurable:!0,writable:!0}):T[P]=C;var z=window.frmColorpickerProComponent?window.frmColorpickerProComponent(M):M,R=window.frmGlobal;function W(e){return W="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},W(e)}function B(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.loadedByWebComponent=n.length>0,this.sliderElements=n.length>0?n:document.querySelectorAll(".frm-slider-component"),this.settings=r,0!==this.sliderElements.length){this.sliderBulletWidth=16,this.sliderMarginRight=5,this.eventsChange=[];var i=frmDom.util.debounce;this.valueChangeDebouncer=i(function(e){return t.triggerValueChange(e)},25),this.initOptions(),this.init()}}return function(e,t,n){return t&&N(e.prototype,t),n&&N(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}(e,[{key:"initOptions",value:function(){var e=this;this.options=[],this.sliderElements.forEach(function(t,n){var r=t.classList.contains("frm-has-multiple-values")?t.closest(".frm-style-component"):t,i=e.settings.steps||(t.dataset.steps?JSON.parse(t.dataset.steps):null);e.options.push({dragging:!1,startX:0,translateX:0,maxValue:parseInt(t.dataset.maxValue,10),element:t,index:n,value:0,steps:i,dependentUpdater:r.classList.contains("frm-style-dependent-updater-component")?new F(r):null})})}},{key:"init",value:function(){this.initDraggable(),this.loadedByWebComponent?this.initSlidersPositionInsideWebComponent():this.initSlidersPosition()}},{key:"initDraggable",value:function(){var t=this;this.sliderElements.forEach(function(n,r){t.eventsChange[r]=new Event("change",{bubbles:!0,cancelable:!0});var i=n.querySelector(".frm-slider-bullet"),o=n.querySelector('.frm-slider-value input[type="text"]');o.addEventListener("change",function(e){var i=n.querySelector("select").value;t.getMaxValue(i,r)1&&void 0!==arguments[1]?arguments[1]:null;if(!t.classList.contains("frm-disabled")){var r=null!==n?n:this.getSliderIndex(t),i=t.querySelector(".frm-slider").offsetWidth-this.sliderBulletWidth,o=parseInt(t.querySelector('.frm-slider-value input[type="text"]').value,10),a=t.querySelector("select").value,s=this.options[r].steps,l=Math.ceil(o/this.options[r].maxValue*i);"%"===a?l=Math.round(i*o/100):s&&s.length>0&&(l=e.calculateDeltaXFromSteps(o,s,i)),t.querySelector(".frm-slider-active-track").style.width="".concat(l,"px"),this.options[r].translateX=l,this.options[r].value=o+a}}},{key:"initChildSlidersWidth",value:function(e,t,n,r){var i=this;(e.classList.contains("frm-has-independent-fields")||e.classList.contains("frm-has-multiple-values"))&&(e.classList.contains("frm-has-independent-fields")?e.querySelectorAll(".frm-independent-slider-field"):this.getSliderGroupItems(e)).forEach(function(e,o){e.querySelector(".frm-slider-active-track").style.width="".concat(t,"px"),i.options[n+o+1].translateX=t,i.options[n+o+1].value=r})}},{key:"getSliderIndex",value:function(e){return this.options.filter(function(t){return t.element===e})[0].index}},{key:"moveTracker",value:function(t,n){if(this.options[n].dragging){var r=t.clientX-this.options[n].startX,i=this.sliderElements[n],o=i.querySelector(".frm-slider").offsetWidth-this.sliderBulletWidth;r=Math.max(r,0),r=Math.min(r,o);var a=i.querySelector("select").value,s=e.calculateValue(o,r,this.getMaxValue(a,n),this.options[n].steps);i.querySelector('.frm-slider-value input[type="text"]').value=s,i.querySelector(".frm-slider-bullet .frm-slider-value-label").innerText=s,i.querySelector(".frm-slider-active-track").style.width="".concat(r,"px"),this.initChildSlidersWidth(i,r,n,s+a),this.options[n].translateX=r,this.options[n].value=s+a,this.options[n].fullValue=this.updateValue(i,this.options[n].value),this.valueChangeDebouncer(n)}}},{key:"getMaxValue",value:function(e,t){return"%"===e?100:this.options[t].maxValue}},{key:"enableDragging",value:function(e,t){e.target.classList.add("frm-dragging"),this.options[t].dragging=!0,this.options[t].startX=e.clientX-this.options[t].translateX}},{key:"disableDragging",value:function(e){!1!==this.options[e].dragging&&(this.sliderElements[e].querySelector(".frm-slider-bullet").classList.remove("frm-dragging"),this.options[e].dragging=!1,this.triggerValueChange(e))}},{key:"triggerValueChange",value:function(e){var t=this;if(null===this.options[e].dependentUpdater){var n=this.sliderElements[e].classList.contains("frm-has-multiple-values")?this.sliderElements[e].closest(".frm-style-component").querySelector('input[type="hidden"]'):this.sliderElements[e].querySelectorAll('.frm-slider-value input[type="hidden"]');n instanceof NodeList?n.forEach(function(n){n.dispatchEvent(t.eventsChange[e])}):n.dispatchEvent(this.eventsChange[e])}else this.options[e].dependentUpdater.updateAllDependentElements(this.options[e].fullValue)}},{key:"updateValue",value:function(e,t){var n=this;if(e.classList.contains("frm-base-font-size")){var r=document.querySelector('input[name="frm_style_setting[post_content][use_base_font_size]"]');null!==r&&(r.value="true")}if(e.classList.contains("frm-has-multiple-values")){var i=e.closest(".frm-style-component").querySelector('input[type="hidden"]'),o=i.value.split(" "),a=e.dataset.type;switch(o[2]||(o[2]="0px"),o[3]||(o[3]="0px"),a){case"vertical":o[0]=t,o[2]=t;break;case"horizontal":o[1]=t,o[3]=t;break;case"top":o[0]=t;break;case"bottom":o[2]=t;break;case"left":o[3]=t;break;case"right":o[1]=t}var s=o.join(" ");return i.value=s,this.getSliderGroupItems(e).forEach(function(e){var r=n.getUnitMeasureFromValue(t);e.querySelector('.frm-slider-value input[type="text"]').value=parseInt(t,10),e.querySelector("select").value=r}),s}if(e.classList.contains("frm-has-independent-fields")){var l=e.querySelectorAll('.frm-slider-value input[type="hidden"]'),u=e.querySelectorAll('.frm-slider-value input[type="text"]');return l.forEach(function(e,n){e.value=t,u[n+1].value=parseInt(t,10)}),t}return e.querySelector('.frm-slider-value input[type="hidden"]').value=t,t}},{key:"getUnitMeasureFromValue",value:function(e){return["%","px","em"].find(function(t){return e.includes(t)})||""}}],[{key:"maybeDisableUnitDropdown",value:function(e){var t=e.querySelector("select");t&&1>=Array.from(t.options).filter(function(e){return""!==e.value}).length&&(t.classList.add("frm-single-unit"),t.addEventListener("mousedown",function(e){return e.preventDefault()}))}},{key:"calculateDeltaXFromSteps",value:function(t,n,r){var i=n.indexOf(t);if(-1===i){var o=e.snapToStep(t,n),a=n.indexOf(o);return Math.round(a/(n.length-1)*r)}return Math.round(i/(n.length-1)*r)}},{key:"calculateValue",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(r&&r.length>0){var i=t/e,o=Math.round(i*(r.length-1));return r[Math.max(0,Math.min(o,r.length-1))]}var a=Math.round(t/e*n);return Math.min(a,n)}},{key:"snapToStep",value:function(e,t){for(var n=t[0],r=Math.abs(e-n),i=1;i":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},G=["(","?"],$={")":["("],":":["?","?:"]},J=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var te={"!":function(e){return!e},"*":function(e,t){return e*t},"/":function(e,t){return e/t},"%":function(e,t){return e%t},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"<":function(e,t){return e":function(e,t){return e>t},">=":function(e,t){return e>=t},"==":function(e,t){return e===t},"!=":function(e,t){return e!==t},"&&":function(e,t){return e&&t},"||":function(e,t){return e||t},"?:":function(e,t,n){if(e)throw t;return n}};var ne={contextDelimiter:"",onMissingKey:null};function re(e,t){var n;for(n in this.data=e,this.pluralForms={},this.options={},ne)this.options[n]=void 0!==t&&n in t?t[n]:ne[n]}function ie(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 oe(e){for(var t=1;t=0||X[i]3&&void 0!==arguments[3]?arguments[3]:10,a=e[t];if(ue(n)&&le(r))if("function"==typeof i)if("number"==typeof o){var s={callback:i,priority:o,namespace:r};if(a[n]){var l,u=a[n].handlers;for(l=u.length;l>0&&!(o>=u[l-1].priority);l--);l===u.length?u[l]=s:u.splice(l,0,s),a.__current.forEach(function(e){e.name===n&&e.currentIndex>=l&&e.currentIndex++})}else a[n]={handlers:[s],runs:0};"hookAdded"!==n&&e.doAction("hookAdded",n,r,i,o)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}},pe=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r,i){var o=e[t];if(ue(r)&&(n||le(i))){if(!o[r])return 0;var a=0;if(n)a=o[r].handlers.length,o[r]={runs:o[r].runs,handlers:[]};else for(var s=o[r].handlers,l=function(e){s[e].namespace===i&&(s.splice(e,1),a++,o.__current.forEach(function(t){t.name===r&&t.currentIndex>=e&&t.currentIndex--}))},u=s.length-1;u>=0;u--)l(u);return"hookRemoved"!==r&&e.doAction("hookRemoved",r,i),a}}},de=function(e,t){return function(n,r){var i=e[t];return void 0!==r?n in i&&i[n].handlers.some(function(e){return e.namespace===r}):n in i}},fe=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var i=e[t];i[r]||(i[r]={handlers:[],runs:0}),i[r].runs++;for(var o=i[r].handlers,a=arguments.length,s=new Array(a>1?a-1:0),l=1;l1&&void 0!==arguments[1]?arguments[1]:"default";r.data[t]=oe(oe(oe({},ae),r.data[t]),e),r.data[t][""]=oe(oe({},ae[""]),r.data[t][""])},s=function(e,t){a(e,t),o()},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default",t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;return r.data[e]||a(void 0,e),r.dcnpgettext(e,t,n,i,o)},u=function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default"},c=function(e,t,r){var i=l(r,t,e);return n?(i=n.applyFilters("i18n.gettext_with_context",i,e,t,r),n.applyFilters("i18n.gettext_with_context_"+u(r),i,e,t,r)):i};if(n){var p=function(e){se.test(e)&&o()};n.addAction("hookAdded","core/i18n",p),n.addAction("hookRemoved","core/i18n",p)}return{getLocaleData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"default";return r.data[e]},setLocaleData:s,resetLocaleData:function(e,t){r.data={},r.pluralForms={},s(e,t)},subscribe:function(e){return i.add(e),function(){return i.delete(e)}},__:function(e,t){var r=l(t,void 0,e);return n?(r=n.applyFilters("i18n.gettext",r,e,t),n.applyFilters("i18n.gettext_"+u(t),r,e,t)):r},_x:c,_n:function(e,t,r,i){var o=l(i,void 0,e,t,r);return n?(o=n.applyFilters("i18n.ngettext",o,e,t,r,i),n.applyFilters("i18n.ngettext_"+u(i),o,e,t,r,i)):o},_nx:function(e,t,r,i,o){var a=l(o,i,e,t,r);return n?(a=n.applyFilters("i18n.ngettext_with_context",a,e,t,r,i,o),n.applyFilters("i18n.ngettext_with_context_"+u(o),a,e,t,r,i,o)):a},isRTL:function(){return"rtl"===c("ltr","text direction")},hasTranslation:function(e,t,i){var o,a,s=t?t+""+e:e,l=!(null===(o=r.data)||void 0===o||null===(a=o[null!=i?i:"default"])||void 0===a||!a[s]);return n&&(l=n.applyFilters("i18n.has_translation",l,e,t,i),l=n.applyFilters("i18n.has_translation_"+u(i),l,e,t,i)),l}}}(0,0,ye));ge.getLocaleData.bind(ge),ge.setLocaleData.bind(ge),ge.resetLocaleData.bind(ge),ge.subscribe.bind(ge);var ve=ge.__.bind(ge);function xe(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 we(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2],r=document.createElement("option");return r.value=e,r.textContent=t,r.selected=n,r}},{key:"createSvgIcon",value:function(e){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");t.classList.add("frmsvg");var n=document.createElementNS("http://www.w3.org/2000/svg","use");return n.setAttribute("href","#".concat(e)),t.append(n),t}}])}(f),Fe={_:0};function qe(e){return qe="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},qe(e)}function Ne(e,t){for(var n=0;n\') no-repeat center center;\n background-size: 20px;\n}\n.frm-border-radius-component .frm-border-radius-container button.frm-active, .frm-border-radius-component .frm-border-radius-container button:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper {\n width: 100%;\n justify-content: space-between;\n flex-wrap: wrap;\n}\n.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper:not(.frm_hidden) {\n display: flex;\n}\n.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span {\n position: relative;\n display: block;\n overflow: hidden;\n width: calc(50% - 6px);\n height: 36px;\n border-radius: var(--small-radius);\n border: 1px solid var(--grey-300);\n margin-top: 12px;\n}\n.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span input {\n width: 100%;\n height: 100%;\n padding: 0;\n font-size: var(--text-sm);\n color: rgb(16, 24, 40);\n padding: 0 12px 0px 20px;\n box-sizing: border-box;\n border: none;\n text-align: right;\n}\n.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span input:focus {\n outline: none;\n}\n.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span:before {\n content: "";\n position: absolute;\n display: block;\n width: 12px;\n height: 12px;\n left: 12px;\n top: 0;\n bottom: 0;\n right: auto;\n margin: auto;\n background: url(\'data:image/svg+xml,\') center center no-repeat;\n background-size: 12px;\n}\n.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-top:before {\n transform: rotate(180deg);\n}\n.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-bottom:before {\n transform: rotate(0deg);\n}\n.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-left:before {\n transform: rotate(90deg);\n}\n.frm-border-radius-component .frm-border-radius-container .frm-border-individual-inputs-wrapper span.frm-border-input-right:before {\n transform: rotate(-90deg);\n}\n.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper {\n width: calc(100% - 36px - 12px);\n height: 36px;\n display: flex;\n justify-content: center;\n box-sizing: border-box;\n background: white;\n border-radius: var(--small-radius);\n border: 1px solid var(--grey-300);\n overflow: hidden;\n}\n.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper > * {\n border: none;\n}\n.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper input {\n width: calc(100% - 44px);\n height: 100%;\n padding: 0;\n font-size: var(--text-sm);\n color: rgb(16, 24, 40);\n padding-left: 12px;\n box-sizing: border-box;\n}\n.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper input:focus {\n outline: none;\n}\n.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper select {\n text-align: right;\n padding: 0;\n font-size: var(--text-sm);\n color: rgb(102, 112, 133);\n width: 44px;\n background: url("../../images/style/small-arrow.svg") no-repeat;\n background-position: center right 12px;\n}\n.frm-border-radius-component .frm-border-radius-container .frm-input-wrapper select:focus {\n outline: none;\n}\n\n/*# sourceMappingURL=frm-border-radius-component.css.map*/',e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Et(e,t)}(t,e),function(e,t,n){return t&&vt(e.prototype,t),n&&vt(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}(t,[{key:"initOptions",value:function(){var e;(function(e,t,n){var r=kt(St(e.prototype),"initOptions",n);return"function"==typeof r?function(e){return r.apply(n,e)}:r})(t,0,this)([]),null===this.componentId&&(this.componentId="frm-border-radius-web-component-".concat(At._=(e=At._,++e)))}},{key:"initView",value:function(){return this.wrapper=document.createElement("div"),this.container=document.createElement("div"),this.wrapper.classList.add("frm-border-radius-component"),this.container.classList.add("frm-border-radius-container"),this.container.append(this.getInputWrapper(),this.getButton(),this.getBorderIndividualInputsWrapper()),this.wrapper.append(this.container),this.wrapper}},{key:"parseDefaultValues",value:function(){if(!It(Pt,this))return{top:{value:0,unit:"px"},bottom:{value:0,unit:"px"},left:{value:0,unit:"px"},right:{value:0,unit:"px"}};var e=It(Pt,this).split(" ");return{top:t.parseValueUnit(e[0]||"0px"),bottom:t.parseValueUnit(e[2]||e[0]||"0px"),left:t.parseValueUnit(e[3]||e[1]||e[0]||"0px"),right:t.parseValueUnit(e[1]||e[0]||"0px")}}},{key:"getInputWrapper",value:function(){return this.inputWrapper=document.createElement("div"),this.inputWrapper.classList.add("frm-input-wrapper"),this.inputWrapper.append(this.getInputValue(),this.getInputUnit(),this.getHiddenInput()),this.inputWrapper}},{key:"getHiddenInput",value:function(){return this.hiddenInput=document.createElement("input"),this.hiddenInput.type="hidden",this.hiddenInput.value=It(Tt,this),this.fieldName&&(this.hiddenInput.name=this.fieldName),this.hiddenInput}},{key:"getInputValue",value:function(){var e=this;return this.inputValue=document.createElement("input"),this.inputValue.type="text",this.inputValue.id="".concat(this.componentId,"-value"),this.inputValue.setAttribute("aria-label",ve("Border radius value","formidable")),this.inputValue.classList.add("frm-input-value"),It(Ct,this)||(this.inputValue.value=parseInt(It(Pt,this))||0),this.inputValue.addEventListener("change",function(){var t=e.inputValue.value+e.inputUnit.value;e.hiddenInput.value=t,e.borderInputBottom.value=e.inputValue.value,e.borderInputTop.value=e.inputValue.value,e.borderInputLeft.value=e.inputValue.value,e.borderInputRight.value=e.inputValue.value,e.updateValue(t)}),this.inputValue}},{key:"getInputUnit",value:function(){var e=this;return this.inputUnit=document.createElement("select"),this.inputUnit.id="".concat(this.componentId,"-unit"),this.inputUnit.setAttribute("aria-label",ve("Border radius unit","formidable")),this.inputUnit.classList.add("frm-input-unit"),It(Lt,this).forEach(function(t){var n=document.createElement("option");n.value=t,n.textContent=t,e.inputUnit.append(n)}),this.inputUnit.addEventListener("change",function(){e.hiddenInput.value=e.inputValue.value+e.inputUnit.value}),this.inputUnit}},{key:"getBorderIndividualInputsWrapper",value:function(){return this.borderIndividualInputsWrapper=document.createElement("div"),this.borderIndividualInputsWrapper.classList.add("frm-border-individual-inputs-wrapper"),It(Ct,this)||this.borderIndividualInputsWrapper.classList.add("frm_hidden"),this.borderIndividualInputsWrapper.append(this.getBorderInputTop(),this.getBorderInputRight(),this.getBorderInputLeft(),this.getBorderInputBottom()),this.borderIndividualInputsWrapper}},{key:"getBorderInputTop",value:function(){var e=this,t=this.parseDefaultValues(),n=document.createElement("span");return n.classList.add("frm-border-input-top"),this.borderInputTop=document.createElement("input"),this.borderInputTop.type="text",this.borderInputTop.id="".concat(this.componentId,"-top"),this.borderInputTop.setAttribute("aria-label",ve("Top border radius","formidable")),this.borderInputTop.value=parseInt(t.top.value),n.append(this.borderInputTop),this.borderInputTop.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),n}},{key:"getBorderInputBottom",value:function(){var e=this,t=this.parseDefaultValues(),n=document.createElement("span");return n.classList.add("frm-border-input-bottom"),this.borderInputBottom=document.createElement("input"),this.borderInputBottom.type="text",this.borderInputBottom.id="".concat(this.componentId,"-bottom"),this.borderInputBottom.setAttribute("aria-label",ve("Bottom border radius","formidable")),this.borderInputBottom.value=parseInt(t.bottom.value),n.append(this.borderInputBottom),this.borderInputBottom.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),n}},{key:"getBorderInputLeft",value:function(){var e=this,t=this.parseDefaultValues(),n=document.createElement("span");return n.classList.add("frm-border-input-left"),this.borderInputLeft=document.createElement("input"),this.borderInputLeft.type="text",this.borderInputLeft.id="".concat(this.componentId,"-left"),this.borderInputLeft.setAttribute("aria-label",ve("Left border radius","formidable")),this.borderInputLeft.value=parseInt(t.left.value),n.append(this.borderInputLeft),this.borderInputLeft.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),n}},{key:"getBorderInputRight",value:function(){var e=this,t=this.parseDefaultValues(),n=document.createElement("span");return n.classList.add("frm-border-input-right"),this.borderInputRight=document.createElement("input"),this.borderInputRight.type="text",this.borderInputRight.id="".concat(this.componentId,"-right"),this.borderInputRight.setAttribute("aria-label",ve("Right border radius","formidable")),this.borderInputRight.value=parseInt(t.right.value),n.append(this.borderInputRight),this.borderInputRight.addEventListener("change",function(){return e.buildBorderRadiusIndividualValue()}),n}},{key:"buildBorderRadiusIndividualValue",value:function(){var e=this.inputUnit.value,t="".concat(parseInt(this.borderInputTop.value,10)).concat(e," ").concat(parseInt(this.borderInputRight.value,10)).concat(e," ").concat(parseInt(this.borderInputBottom.value,10)).concat(e," ").concat(parseInt(this.borderInputLeft.value,10)).concat(e);this.updateValue(t)}},{key:"updateValue",value:function(e){this.hiddenInput.value=e,It(Vt,this).call(this,e)}},{key:"getButton",value:function(){var e=this;return this.button=document.createElement("button"),this.button.type="button",this.button.textContent=ve("Border Radius","formidable"),It(Ct,this)&&this.button.classList.add("frm-active"),this.button.addEventListener("click",function(){e.button.classList.toggle("frm-active"),e.borderIndividualInputsWrapper.classList.toggle("frm_hidden")}),this.button}},{key:"onChange",set:function(e){if("function"!=typeof e)throw new TypeError("Expected a function, but received ".concat(gt(e)));Ot(Vt,this,e)}},{key:"borderRadiusDefaultValue",set:function(e){Ot(Pt,this,e),Ot(Ct,this,!/^(\d+)(px|em|%)?$/.test(e)&&""!==e)}}],[{key:"parseValueUnit",value:function(e){var t=e.match(/^(\d+)(px|em|%)?$/);return t?{value:parseInt(t[1],10),unit:t[2]||"px"}:{value:0,unit:"px"}}}])}(f),At={_:0};customElements.define("frm-tab-navigator-component",x),customElements.define("frm-colorpicker-component",z),customElements.define("frm-range-slider-component",Ue),customElements.define("frm-dropdown-component",et),customElements.define("frm-typography-component",bt),customElements.define("frm-border-radius-component",Dt)})()})(); \ No newline at end of file diff --git a/js/formidable.js b/js/formidable.js index a7d853bd51..07209dae9e 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1678,6 +1678,27 @@ function frmFrontFormJS() { } ); } + function maybeUpdateInlineSubmitButtonLayout() { + const submitButtons = document.querySelectorAll( '.frm-show-form .frm_button_submit' ); + if ( submitButtons.length === 0 ) { + return; + } + + submitButtons.forEach( button => { + const submitContainer = button.closest( '.frm_form_field' ); + const previousSibling = submitContainer.previousElementSibling; + if ( getTopPositionOfElement( submitContainer ) === getTopPositionOfElement( previousSibling ) ) { + // If the submit button is inline with other fields, vertically align it with other fields in the same row. + submitContainer.classList.add( 'frm_inline_submit_button' ); + } + } ); + } + + function getTopPositionOfElement( element ) { + const rect = element.getBoundingClientRect(); + return rect.top; + } + /** * Destroys the formidable generated global hcaptcha object since it wouldn't otherwise render. */ @@ -1786,6 +1807,7 @@ function frmFrontFormJS() { 'frmPageChanged', destroyhCaptcha ); + maybeUpdateInlineSubmitButtonLayout(); }, getFieldId,