@openc3/vue-common 6.3.0 → 6.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ArrayWidget-DkjHrXsu.cjs → ArrayWidget-C7qsXQC9.cjs} +2 -2
- package/dist/{ArrayWidget-DkjHrXsu.cjs.map → ArrayWidget-C7qsXQC9.cjs.map} +1 -1
- package/dist/{ArrayWidget-BbsN1dzF.js → ArrayWidget-CeyoPOhk.js} +4 -4
- package/dist/{ArrayWidget-BbsN1dzF.js.map → ArrayWidget-CeyoPOhk.js.map} +1 -1
- package/dist/{ArrayplotWidget-CCKEyYIx.js → ArrayplotWidget-BEw4fJPY.js} +3 -3
- package/dist/{ArrayplotWidget-CCKEyYIx.js.map → ArrayplotWidget-BEw4fJPY.js.map} +1 -1
- package/dist/ArrayplotWidget-S4tyM6zU.cjs +2 -0
- package/dist/{ArrayplotWidget-COeaK_Lz.cjs.map → ArrayplotWidget-S4tyM6zU.cjs.map} +1 -1
- package/dist/BarColumn-B2FQVNoP.cjs +2 -0
- package/dist/{BarColumn-CJLW1nXy.cjs.map → BarColumn-B2FQVNoP.cjs.map} +1 -1
- package/dist/{BarColumn-C6p07yWK.js → BarColumn-CIWppEH6.js} +3 -3
- package/dist/{BarColumn-C6p07yWK.js.map → BarColumn-CIWppEH6.js.map} +1 -1
- package/dist/{BlockWidget-DlCHbqZX.js → BlockWidget-DRtBkPat.js} +4 -4
- package/dist/{BlockWidget-DlCHbqZX.js.map → BlockWidget-DRtBkPat.js.map} +1 -1
- package/dist/{BlockWidget-BFVYgbd_.cjs → BlockWidget-EZBTae9s.cjs} +2 -2
- package/dist/{BlockWidget-BFVYgbd_.cjs.map → BlockWidget-EZBTae9s.cjs.map} +1 -1
- package/dist/{ButtonWidget-CtfJzCBR.js → ButtonWidget-4GORf9BG.js} +14 -14
- package/dist/{ButtonWidget-CtfJzCBR.js.map → ButtonWidget-4GORf9BG.js.map} +1 -1
- package/dist/ButtonWidget-C0UM4M51.cjs +3 -0
- package/dist/{ButtonWidget-HN8UHsme.cjs.map → ButtonWidget-C0UM4M51.cjs.map} +1 -1
- package/dist/{CanvasWidget-CHmkxxMO.cjs → CanvasWidget-77u4rg8R.cjs} +2 -2
- package/dist/{CanvasWidget-CHmkxxMO.cjs.map → CanvasWidget-77u4rg8R.cjs.map} +1 -1
- package/dist/{CanvasWidget-CqRlXc4r.js → CanvasWidget-VW1uHIU0.js} +2 -2
- package/dist/{CanvasWidget-CqRlXc4r.js.map → CanvasWidget-VW1uHIU0.js.map} +1 -1
- package/dist/{CanvasdotWidget-B4bUcKRc.cjs → CanvasdotWidget-B4olJsKr.cjs} +2 -2
- package/dist/{CanvasdotWidget-B4bUcKRc.cjs.map → CanvasdotWidget-B4olJsKr.cjs.map} +1 -1
- package/dist/{CanvasdotWidget--Xr_KsZs.js → CanvasdotWidget-unc83V9l.js} +2 -2
- package/dist/{CanvasdotWidget--Xr_KsZs.js.map → CanvasdotWidget-unc83V9l.js.map} +1 -1
- package/dist/{CanvasimageWidget-B5YozXoI.cjs → CanvasimageWidget-BPk3GdGV.cjs} +2 -2
- package/dist/{CanvasimageWidget-B5YozXoI.cjs.map → CanvasimageWidget-BPk3GdGV.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-BPlj5QYK.js → CanvasimageWidget-CNPV5Ale.js} +3 -3
- package/dist/{CanvasimageWidget-BPlj5QYK.js.map → CanvasimageWidget-CNPV5Ale.js.map} +1 -1
- package/dist/{CanvasimagevalueWidget-Dx1HnbEw.cjs → CanvasimagevalueWidget-DpPDDitX.cjs} +2 -2
- package/dist/{CanvasimagevalueWidget-Dx1HnbEw.cjs.map → CanvasimagevalueWidget-DpPDDitX.cjs.map} +1 -1
- package/dist/{CanvasimagevalueWidget-DVFGLt8f.js → CanvasimagevalueWidget-DsQbSZt_.js} +3 -3
- package/dist/{CanvasimagevalueWidget-DVFGLt8f.js.map → CanvasimagevalueWidget-DsQbSZt_.js.map} +1 -1
- package/dist/{CanvaslabelWidget-CYNqmyP0.js → CanvaslabelWidget-B-5KAkZr.js} +2 -2
- package/dist/{CanvaslabelWidget-CYNqmyP0.js.map → CanvaslabelWidget-B-5KAkZr.js.map} +1 -1
- package/dist/{CanvaslabelWidget-DgadQD-D.cjs → CanvaslabelWidget-CjKvr47x.cjs} +2 -2
- package/dist/{CanvaslabelWidget-DgadQD-D.cjs.map → CanvaslabelWidget-CjKvr47x.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-C3k5gx5c.cjs → CanvaslabelvalueWidget-C0jdjHxr.cjs} +2 -2
- package/dist/{CanvaslabelvalueWidget-C3k5gx5c.cjs.map → CanvaslabelvalueWidget-C0jdjHxr.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-B7yIDmsn.js → CanvaslabelvalueWidget-DX-b_55r.js} +2 -2
- package/dist/{CanvaslabelvalueWidget-B7yIDmsn.js.map → CanvaslabelvalueWidget-DX-b_55r.js.map} +1 -1
- package/dist/{CanvaslineWidget-CYHkes0a.cjs → CanvaslineWidget-C-4EjDkj.cjs} +2 -2
- package/dist/{CanvaslineWidget-CYHkes0a.cjs.map → CanvaslineWidget-C-4EjDkj.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-BICdxX0Q.js → CanvaslineWidget-DiNWzbpu.js} +2 -2
- package/dist/{CanvaslineWidget-BICdxX0Q.js.map → CanvaslineWidget-DiNWzbpu.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-Cq-Ddh0P.js → CanvaslinevalueWidget-Du9pwAN7.js} +2 -2
- package/dist/{CanvaslinevalueWidget-Cq-Ddh0P.js.map → CanvaslinevalueWidget-Du9pwAN7.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-5DzhZ22p.cjs → CanvaslinevalueWidget-x81dANpk.cjs} +2 -2
- package/dist/{CanvaslinevalueWidget-5DzhZ22p.cjs.map → CanvaslinevalueWidget-x81dANpk.cjs.map} +1 -1
- package/dist/{CheckbuttonWidget-B74AWeaW.js → CheckbuttonWidget--QM-segm.js} +2 -2
- package/dist/{CheckbuttonWidget-B74AWeaW.js.map → CheckbuttonWidget--QM-segm.js.map} +1 -1
- package/dist/{CheckbuttonWidget-BCzsXnIF.cjs → CheckbuttonWidget-LWSGbUuH.cjs} +2 -2
- package/dist/{CheckbuttonWidget-BCzsXnIF.cjs.map → CheckbuttonWidget-LWSGbUuH.cjs.map} +1 -1
- package/dist/{ComboboxWidget-CtyKbEWb.js → ComboboxWidget-BDpHIcCo.js} +2 -2
- package/dist/{ComboboxWidget-CtyKbEWb.js.map → ComboboxWidget-BDpHIcCo.js.map} +1 -1
- package/dist/{ComboboxWidget-DQgDyDAC.cjs → ComboboxWidget-DR8EmM6T.cjs} +2 -2
- package/dist/{ComboboxWidget-DQgDyDAC.cjs.map → ComboboxWidget-DR8EmM6T.cjs.map} +1 -1
- package/dist/CriticalCmdDialog-Ct5WeIW_.cjs +2 -0
- package/dist/CriticalCmdDialog-Ct5WeIW_.cjs.map +1 -0
- package/dist/{CriticalCmdDialog-DPIZOBeP.js → CriticalCmdDialog-D4-eoA3P.js} +16 -16
- package/dist/CriticalCmdDialog-D4-eoA3P.js.map +1 -0
- package/dist/{DateWidget-BEVSczU8.js → DateWidget-BCmQNavZ.js} +3 -3
- package/dist/{DateWidget-BEVSczU8.js.map → DateWidget-BCmQNavZ.js.map} +1 -1
- package/dist/{DateWidget-BB4cIuUS.cjs → DateWidget-CBzHYk5i.cjs} +2 -2
- package/dist/{DateWidget-BB4cIuUS.cjs.map → DateWidget-CBzHYk5i.cjs.map} +1 -1
- package/dist/{DetailsDialog-DmEC5BTs.js → DetailsDialog-OMd7LWdZ.js} +18 -18
- package/dist/DetailsDialog-OMd7LWdZ.js.map +1 -0
- package/dist/DetailsDialog-T9G076-B.cjs +2 -0
- package/dist/DetailsDialog-T9G076-B.cjs.map +1 -0
- package/dist/EventListDialog-COOwwkxk.cjs +2 -0
- package/dist/EventListDialog-COOwwkxk.cjs.map +1 -0
- package/dist/{EventListDialog-CSMSmCIT.js → EventListDialog-ankpCg-n.js} +520 -593
- package/dist/EventListDialog-ankpCg-n.js.map +1 -0
- package/dist/FormatvalueWidget-CPn5mDHY.js +48 -0
- package/dist/FormatvalueWidget-CPn5mDHY.js.map +1 -0
- package/dist/FormatvalueWidget-wjsl4ty0.cjs +2 -0
- package/dist/FormatvalueWidget-wjsl4ty0.cjs.map +1 -0
- package/dist/Graph-hTOB_jv2.cjs +2 -0
- package/dist/Graph-hTOB_jv2.cjs.map +1 -0
- package/dist/{Graph-Bgo0cjl3.js → Graph-vUcIyyTp.js} +666 -801
- package/dist/Graph-vUcIyyTp.js.map +1 -0
- package/dist/{GraphWidget-DurWDmpg.js → GraphWidget-Cl97QQYm.js} +2 -2
- package/dist/{GraphWidget-DurWDmpg.js.map → GraphWidget-Cl97QQYm.js.map} +1 -1
- package/dist/{GraphWidget-sid4Ws9H.cjs → GraphWidget-D3rDXvA8.cjs} +2 -2
- package/dist/{GraphWidget-sid4Ws9H.cjs.map → GraphWidget-D3rDXvA8.cjs.map} +1 -1
- package/dist/{HorizontalWidget-_6IR0cR8.cjs → HorizontalWidget-72nrDrwn.cjs} +2 -2
- package/dist/{HorizontalWidget-_6IR0cR8.cjs.map → HorizontalWidget-72nrDrwn.cjs.map} +1 -1
- package/dist/{HorizontalWidget-Cd_wl1b3.js → HorizontalWidget-CtTkQHl-.js} +2 -2
- package/dist/{HorizontalWidget-Cd_wl1b3.js.map → HorizontalWidget-CtTkQHl-.js.map} +1 -1
- package/dist/{HorizontalboxWidget-zmnurtv1.cjs → HorizontalboxWidget-C8kuEm-u.cjs} +2 -2
- package/dist/{HorizontalboxWidget-zmnurtv1.cjs.map → HorizontalboxWidget-C8kuEm-u.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-BcMTFBU-.js → HorizontalboxWidget-Dn9zVn4r.js} +5 -5
- package/dist/{HorizontalboxWidget-BcMTFBU-.js.map → HorizontalboxWidget-Dn9zVn4r.js.map} +1 -1
- package/dist/{HorizontallineWidget-CXFqHclf.js → HorizontallineWidget-BBvYWaP7.js} +2 -2
- package/dist/{HorizontallineWidget-CXFqHclf.js.map → HorizontallineWidget-BBvYWaP7.js.map} +1 -1
- package/dist/{HorizontallineWidget-CM-6WqCj.cjs → HorizontallineWidget-Bs_p5rzY.cjs} +2 -2
- package/dist/{HorizontallineWidget-CM-6WqCj.cjs.map → HorizontallineWidget-Bs_p5rzY.cjs.map} +1 -1
- package/dist/{IframeWidget-EhncMob0.cjs → IframeWidget-Bhl0G51c.cjs} +2 -2
- package/dist/{IframeWidget-EhncMob0.cjs.map → IframeWidget-Bhl0G51c.cjs.map} +1 -1
- package/dist/{IframeWidget-BPerHCCa.js → IframeWidget-BmZOip3U.js} +2 -2
- package/dist/{IframeWidget-BPerHCCa.js.map → IframeWidget-BmZOip3U.js.map} +1 -1
- package/dist/ImageLoader-CXV42ZAx.cjs +2 -0
- package/dist/{ImageLoader-cRmBcpU9.cjs.map → ImageLoader-CXV42ZAx.cjs.map} +1 -1
- package/dist/{ImageLoader-4N-7Gj61.js → ImageLoader-wYNaGuuz.js} +2 -2
- package/dist/{ImageLoader-4N-7Gj61.js.map → ImageLoader-wYNaGuuz.js.map} +1 -1
- package/dist/{ImageviewerWidget-Bv3CreXd.cjs → ImageviewerWidget-BAK_GlYK.cjs} +2 -2
- package/dist/{ImageviewerWidget-Bv3CreXd.cjs.map → ImageviewerWidget-BAK_GlYK.cjs.map} +1 -1
- package/dist/{ImageviewerWidget-Cw_H_HmZ.js → ImageviewerWidget-ByuTqBHq.js} +2 -2
- package/dist/{ImageviewerWidget-Cw_H_HmZ.js.map → ImageviewerWidget-ByuTqBHq.js.map} +1 -1
- package/dist/InterfacesTab-BbsiYwEX.js +83 -0
- package/dist/InterfacesTab-BbsiYwEX.js.map +1 -0
- package/dist/InterfacesTab-CnQLkjoz.cjs +2 -0
- package/dist/InterfacesTab-CnQLkjoz.cjs.map +1 -0
- package/dist/{LabelWidget-mMcf5S8K.cjs → LabelWidget-BP72ze-R.cjs} +2 -2
- package/dist/{LabelWidget-mMcf5S8K.cjs.map → LabelWidget-BP72ze-R.cjs.map} +1 -1
- package/dist/{LabelWidget-xrmcVeq8.js → LabelWidget-Dmb5F5j-.js} +2 -2
- package/dist/{LabelWidget-xrmcVeq8.js.map → LabelWidget-Dmb5F5j-.js.map} +1 -1
- package/dist/{LabelledWidget-BoYCuDaH.cjs → LabelledWidget-DIflzlDv.cjs} +2 -2
- package/dist/{LabelledWidget-BoYCuDaH.cjs.map → LabelledWidget-DIflzlDv.cjs.map} +1 -1
- package/dist/{LabelledWidget-D48QoyMk.js → LabelledWidget-DV1IbbPS.js} +4 -4
- package/dist/{LabelledWidget-D48QoyMk.js.map → LabelledWidget-DV1IbbPS.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-DiucKsT2.cjs → LabelprogressbarWidget-B18EaMhU.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-DiucKsT2.cjs.map → LabelprogressbarWidget-B18EaMhU.cjs.map} +1 -1
- package/dist/{LabelprogressbarWidget-C_950t6g.js → LabelprogressbarWidget-BHBDYVZp.js} +4 -4
- package/dist/{LabelprogressbarWidget-C_950t6g.js.map → LabelprogressbarWidget-BHBDYVZp.js.map} +1 -1
- package/dist/{LabelsparklineWidget-0KXQyPoU.js → LabelsparklineWidget-BaoIdd7s.js} +4 -4
- package/dist/{LabelsparklineWidget-0KXQyPoU.js.map → LabelsparklineWidget-BaoIdd7s.js.map} +1 -1
- package/dist/{LabelsparklineWidget-A3MTEhQc.cjs → LabelsparklineWidget-Bdft2p6Y.cjs} +2 -2
- package/dist/{LabelsparklineWidget-A3MTEhQc.cjs.map → LabelsparklineWidget-Bdft2p6Y.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-DnKoz0-N.cjs → LabelvalueWidget-DiqMgePn.cjs} +2 -2
- package/dist/{LabelvalueWidget-DnKoz0-N.cjs.map → LabelvalueWidget-DiqMgePn.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-CQ06wWDK.js → LabelvalueWidget-wuW55zQP.js} +4 -4
- package/dist/{LabelvalueWidget-CQ06wWDK.js.map → LabelvalueWidget-wuW55zQP.js.map} +1 -1
- package/dist/{LabelvaluedescWidget-Bo8zT01X.js → LabelvaluedescWidget-BBHwqvj4.js} +9 -9
- package/dist/{LabelvaluedescWidget-Bo8zT01X.js.map → LabelvaluedescWidget-BBHwqvj4.js.map} +1 -1
- package/dist/LabelvaluedescWidget-fN9XLm-N.cjs +2 -0
- package/dist/{LabelvaluedescWidget-I6ljK--Y.cjs.map → LabelvaluedescWidget-fN9XLm-N.cjs.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-BucTw8Yk.js → LabelvaluelimitsbarWidget-77Rc3lCf.js} +4 -4
- package/dist/{LabelvaluelimitsbarWidget-BucTw8Yk.js.map → LabelvaluelimitsbarWidget-77Rc3lCf.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-Cb6i_Ixc.cjs → LabelvaluelimitsbarWidget-Dp5qsue9.cjs} +2 -2
- package/dist/{LabelvaluelimitsbarWidget-Cb6i_Ixc.cjs.map → LabelvaluelimitsbarWidget-Dp5qsue9.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-Dflb1hNd.js → LabelvaluelimitscolumnWidget-nounrACl.js} +5 -5
- package/dist/{LabelvaluelimitscolumnWidget-Dflb1hNd.js.map → LabelvaluelimitscolumnWidget-nounrACl.js.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-ClY5OxUC.cjs → LabelvaluelimitscolumnWidget-uR4QE_cm.cjs} +2 -2
- package/dist/{LabelvaluelimitscolumnWidget-ClY5OxUC.cjs.map → LabelvaluelimitscolumnWidget-uR4QE_cm.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-D8cbfXFM.js → LabelvaluerangebarWidget-B83Jj5Q1.js} +4 -4
- package/dist/{LabelvaluerangebarWidget-D8cbfXFM.js.map → LabelvaluerangebarWidget-B83Jj5Q1.js.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-9S5rVZaS.cjs → LabelvaluerangebarWidget-MVkSnTVH.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-9S5rVZaS.cjs.map → LabelvaluerangebarWidget-MVkSnTVH.cjs.map} +1 -1
- package/dist/{Layout-Tf--nruw.js → Layout-ByQC7nQ3.js} +2 -2
- package/dist/{Layout-Tf--nruw.js.map → Layout-ByQC7nQ3.js.map} +1 -1
- package/dist/Layout-CFJMHNqy.cjs +2 -0
- package/dist/{Layout-DuCYyOw4.cjs.map → Layout-CFJMHNqy.cjs.map} +1 -1
- package/dist/{LedWidget-qH_FthkK.js → LedWidget-Cccb8YTk.js} +13 -10
- package/dist/LedWidget-Cccb8YTk.js.map +1 -0
- package/dist/LedWidget-ghzR6jZJ.cjs +2 -0
- package/dist/LedWidget-ghzR6jZJ.cjs.map +1 -0
- package/dist/{LimitsbarWidget-B9lAB2RD.js → LimitsbarWidget-D1EBBwX1.js} +10 -7
- package/dist/LimitsbarWidget-D1EBBwX1.js.map +1 -0
- package/dist/LimitsbarWidget-Dg2_T5OY.cjs +2 -0
- package/dist/LimitsbarWidget-Dg2_T5OY.cjs.map +1 -0
- package/dist/{LimitscolorWidget-c6Qa6su7.js → LimitscolorWidget--1aPSNVB.js} +2 -2
- package/dist/{LimitscolorWidget-c6Qa6su7.js.map → LimitscolorWidget--1aPSNVB.js.map} +1 -1
- package/dist/{LimitscolorWidget-DORhDxRo.cjs → LimitscolorWidget-D9mHLFOs.cjs} +2 -2
- package/dist/{LimitscolorWidget-DORhDxRo.cjs.map → LimitscolorWidget-D9mHLFOs.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-C9Uyg7Fh.cjs → LimitscolumnWidget-D18x3aW-.cjs} +2 -2
- package/dist/{LimitscolumnWidget-C9Uyg7Fh.cjs.map → LimitscolumnWidget-D18x3aW-.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-CcLs_443.js → LimitscolumnWidget-swnMNApm.js} +2 -2
- package/dist/{LimitscolumnWidget-CcLs_443.js.map → LimitscolumnWidget-swnMNApm.js.map} +1 -1
- package/dist/{LinegraphWidget-BSVYLFo1.js → LinegraphWidget-BbI-wOnq.js} +4 -4
- package/dist/{LinegraphWidget-BSVYLFo1.js.map → LinegraphWidget-BbI-wOnq.js.map} +1 -1
- package/dist/LinegraphWidget-BdCc6zps.cjs +2 -0
- package/dist/{LinegraphWidget-Bf8DIwEn.cjs.map → LinegraphWidget-BdCc6zps.cjs.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-DXFpZTre.js → MatrixbycolumnsWidget-Bx2qMr8P.js} +3 -3
- package/dist/{MatrixbycolumnsWidget-DXFpZTre.js.map → MatrixbycolumnsWidget-Bx2qMr8P.js.map} +1 -1
- package/dist/MatrixbycolumnsWidget-CuhTHsdb.cjs +2 -0
- package/dist/{MatrixbycolumnsWidget-DpdFzNeP.cjs.map → MatrixbycolumnsWidget-CuhTHsdb.cjs.map} +1 -1
- package/dist/MicroservicesTab-7mVRcHEj.cjs +2 -0
- package/dist/MicroservicesTab-7mVRcHEj.cjs.map +1 -0
- package/dist/MicroservicesTab-CtI7BEt0.js +219 -0
- package/dist/MicroservicesTab-CtI7BEt0.js.map +1 -0
- package/dist/Openc3Screen-B4X70CVP.cjs +5 -0
- package/dist/Openc3Screen-B4X70CVP.cjs.map +1 -0
- package/dist/Openc3Screen-DFYYhHt7.js +1704 -0
- package/dist/Openc3Screen-DFYYhHt7.js.map +1 -0
- package/dist/{OutputDialog-zVPZiZay.js → OutputDialog-CqD5uI0m.js} +66 -78
- package/dist/OutputDialog-CqD5uI0m.js.map +1 -0
- package/dist/OutputDialog-Dft9Xm4R.cjs +2 -0
- package/dist/OutputDialog-Dft9Xm4R.cjs.map +1 -0
- package/dist/PackagesTab-BxP1kiSR.cjs +2 -0
- package/dist/PackagesTab-BxP1kiSR.cjs.map +1 -0
- package/dist/PackagesTab-DhMk-fi5.js +313 -0
- package/dist/PackagesTab-DhMk-fi5.js.map +1 -0
- package/dist/PluginsTab-BKJo5vK-.cjs +6 -0
- package/dist/PluginsTab-BKJo5vK-.cjs.map +1 -0
- package/dist/{PluginsTab-B64OvayB.js → PluginsTab-DxxEqPCA.js} +205 -244
- package/dist/PluginsTab-DxxEqPCA.js.map +1 -0
- package/dist/{ProgressbarWidget-iYGw8-Dc.js → ProgressbarWidget-7rJeuX6H.js} +2 -2
- package/dist/{ProgressbarWidget-iYGw8-Dc.js.map → ProgressbarWidget-7rJeuX6H.js.map} +1 -1
- package/dist/{ProgressbarWidget-fGWa6ipm.cjs → ProgressbarWidget-DLvbQ0g-.cjs} +2 -2
- package/dist/{ProgressbarWidget-fGWa6ipm.cjs.map → ProgressbarWidget-DLvbQ0g-.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-ZEPJbOp_.cjs → RadiobuttonWidget-C15SchQH.cjs} +2 -2
- package/dist/{RadiobuttonWidget-ZEPJbOp_.cjs.map → RadiobuttonWidget-C15SchQH.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-ytmoVZ3u.js → RadiobuttonWidget-DsEw3JiU.js} +2 -2
- package/dist/{RadiobuttonWidget-ytmoVZ3u.js.map → RadiobuttonWidget-DsEw3JiU.js.map} +1 -1
- package/dist/{RadiogroupWidget-EK4rEGUC.cjs → RadiogroupWidget-BZS_MkSP.cjs} +2 -2
- package/dist/{RadiogroupWidget-EK4rEGUC.cjs.map → RadiogroupWidget-BZS_MkSP.cjs.map} +1 -1
- package/dist/{RadiogroupWidget-CusMBhKH.js → RadiogroupWidget-DhfbTvQ8.js} +2 -2
- package/dist/{RadiogroupWidget-CusMBhKH.js.map → RadiogroupWidget-DhfbTvQ8.js.map} +1 -1
- package/dist/{RangebarWidget-D_zGTtCa.js → RangebarWidget-BEGvSL_K.js} +2 -2
- package/dist/{RangebarWidget-D_zGTtCa.js.map → RangebarWidget-BEGvSL_K.js.map} +1 -1
- package/dist/{RangebarWidget-DwIs-L5k.cjs → RangebarWidget-bBSBfvHk.cjs} +2 -2
- package/dist/{RangebarWidget-DwIs-L5k.cjs.map → RangebarWidget-bBSBfvHk.cjs.map} +1 -1
- package/dist/{RedisTab-CyPo6ADN.js → RedisTab-Bq8Frctp.js} +13 -13
- package/dist/{RedisTab-CyPo6ADN.js.map → RedisTab-Bq8Frctp.js.map} +1 -1
- package/dist/RedisTab-CWYntIvy.cjs +2 -0
- package/dist/{RedisTab-67UcKoPf.cjs.map → RedisTab-CWYntIvy.cjs.map} +1 -1
- package/dist/{RollupWidget-Dolsixyt.js → RollupWidget-BZhspgWd.js} +2 -2
- package/dist/{RollupWidget-Dolsixyt.js.map → RollupWidget-BZhspgWd.js.map} +1 -1
- package/dist/{RollupWidget-DC3OIP6G.cjs → RollupWidget-BueYskqE.cjs} +2 -2
- package/dist/{RollupWidget-DC3OIP6G.cjs.map → RollupWidget-BueYskqE.cjs.map} +1 -1
- package/dist/RoutersTab-Bg6dpAXr.js +85 -0
- package/dist/RoutersTab-Bg6dpAXr.js.map +1 -0
- package/dist/RoutersTab-DOseaOsv.cjs +2 -0
- package/dist/RoutersTab-DOseaOsv.cjs.map +1 -0
- package/dist/ScriptChooser-CHkObjcT.cjs +2 -0
- package/dist/ScriptChooser-CHkObjcT.cjs.map +1 -0
- package/dist/ScriptChooser-DBkFAc6E.js +176 -0
- package/dist/ScriptChooser-DBkFAc6E.js.map +1 -0
- package/dist/{ScrollwindowWidget-BWeqSUPc.cjs → ScrollwindowWidget-CJmuGHai.cjs} +2 -2
- package/dist/{ScrollwindowWidget-BWeqSUPc.cjs.map → ScrollwindowWidget-CJmuGHai.cjs.map} +1 -1
- package/dist/{ScrollwindowWidget-DV2nZuNi.js → ScrollwindowWidget-qZ3nhhVU.js} +3 -3
- package/dist/{ScrollwindowWidget-DV2nZuNi.js.map → ScrollwindowWidget-qZ3nhhVU.js.map} +1 -1
- package/dist/SecretsTab-B49h9PhL.cjs +2 -0
- package/dist/SecretsTab-B49h9PhL.cjs.map +1 -0
- package/dist/{SecretsTab-DVyyyGlG.js → SecretsTab-vdm8oj9_.js} +39 -49
- package/dist/SecretsTab-vdm8oj9_.js.map +1 -0
- package/dist/{SettingsTab-g29K6FyC.js → SettingsTab-C05e6-Xm.js} +3 -3
- package/dist/{SettingsTab-g29K6FyC.js.map → SettingsTab-C05e6-Xm.js.map} +1 -1
- package/dist/SettingsTab-fmHVuOps.cjs +3 -0
- package/dist/{SettingsTab-B1LvOLG2.cjs.map → SettingsTab-fmHVuOps.cjs.map} +1 -1
- package/dist/{SignalWidget-d9-6h85k.js → SignalWidget-Bh14Zrch.js} +16 -18
- package/dist/SignalWidget-Bh14Zrch.js.map +1 -0
- package/dist/{SignalWidget-RvRwpE8T.cjs → SignalWidget-J3LFoUd-.cjs} +2 -2
- package/dist/SignalWidget-J3LFoUd-.cjs.map +1 -0
- package/dist/SimpleTextDialog-CSsm9IoB.cjs +2 -0
- package/dist/SimpleTextDialog-CSsm9IoB.cjs.map +1 -0
- package/dist/SimpleTextDialog-plHG7LGh.js +97 -0
- package/dist/SimpleTextDialog-plHG7LGh.js.map +1 -0
- package/dist/{SpacerWidget-7_8bpLCb.cjs → SpacerWidget-CzqLoBdY.cjs} +2 -2
- package/dist/{SpacerWidget-7_8bpLCb.cjs.map → SpacerWidget-CzqLoBdY.cjs.map} +1 -1
- package/dist/{SpacerWidget-BH0p2OLi.js → SpacerWidget-D_NE46jZ.js} +2 -2
- package/dist/{SpacerWidget-BH0p2OLi.js.map → SpacerWidget-D_NE46jZ.js.map} +1 -1
- package/dist/{SparklineWidget-coxi9r2g.js → SparklineWidget-CJEEJdZ-.js} +4 -4
- package/dist/{SparklineWidget-coxi9r2g.js.map → SparklineWidget-CJEEJdZ-.js.map} +1 -1
- package/dist/SparklineWidget-DDRhatn7.cjs +2 -0
- package/dist/{SparklineWidget-60jVlbHA.cjs.map → SparklineWidget-DDRhatn7.cjs.map} +1 -1
- package/dist/{TabbookWidget-B1XKplGH.js → TabbookWidget-C-SU65IF.js} +2 -2
- package/dist/{TabbookWidget-B1XKplGH.js.map → TabbookWidget-C-SU65IF.js.map} +1 -1
- package/dist/{TabbookWidget-D1CVT9IK.cjs → TabbookWidget-C8k2kKLX.cjs} +2 -2
- package/dist/{TabbookWidget-D1CVT9IK.cjs.map → TabbookWidget-C8k2kKLX.cjs.map} +1 -1
- package/dist/TargetsTab-DyfyM9sC.js +117 -0
- package/dist/TargetsTab-DyfyM9sC.js.map +1 -0
- package/dist/TargetsTab-pU_wu9d-.cjs +2 -0
- package/dist/TargetsTab-pU_wu9d-.cjs.map +1 -0
- package/dist/TextBoxDialog-C60jmnyN.js +98 -0
- package/dist/TextBoxDialog-C60jmnyN.js.map +1 -0
- package/dist/TextBoxDialog-DWt30tB8.cjs +2 -0
- package/dist/TextBoxDialog-DWt30tB8.cjs.map +1 -0
- package/dist/TextboxWidget-CRDu77NK.cjs +2 -0
- package/dist/{TextboxWidget-BDG4NxRw.cjs.map → TextboxWidget-CRDu77NK.cjs.map} +1 -1
- package/dist/{TextboxWidget-C-_M2M4l.js → TextboxWidget-Dn1Ds-b0.js} +4 -4
- package/dist/{TextboxWidget-C-_M2M4l.js.map → TextboxWidget-Dn1Ds-b0.js.map} +1 -1
- package/dist/{TextfieldWidget-C08N4JE8.js → TextfieldWidget-C0C7NL53.js} +2 -2
- package/dist/{TextfieldWidget-C08N4JE8.js.map → TextfieldWidget-C0C7NL53.js.map} +1 -1
- package/dist/{TextfieldWidget-BGJv9Lox.cjs → TextfieldWidget-DGdD6b_-.cjs} +2 -2
- package/dist/{TextfieldWidget-BGJv9Lox.cjs.map → TextfieldWidget-DGdD6b_-.cjs.map} +1 -1
- package/dist/{TimeWidget-DtwdEcFg.js → TimeWidget-AFOTVB4w.js} +3 -3
- package/dist/{TimeWidget-DtwdEcFg.js.map → TimeWidget-AFOTVB4w.js.map} +1 -1
- package/dist/{TimeWidget-CGCOIouj.cjs → TimeWidget-BlZoS24B.cjs} +2 -2
- package/dist/{TimeWidget-CGCOIouj.cjs.map → TimeWidget-BlZoS24B.cjs.map} +1 -1
- package/dist/{TitleWidget-CT-aLcNb.js → TitleWidget-CbS_wrQw.js} +2 -2
- package/dist/{TitleWidget-CT-aLcNb.js.map → TitleWidget-CbS_wrQw.js.map} +1 -1
- package/dist/{TitleWidget-BljFH9RB.cjs → TitleWidget-DDEnHVPP.cjs} +2 -2
- package/dist/{TitleWidget-BljFH9RB.cjs.map → TitleWidget-DDEnHVPP.cjs.map} +1 -1
- package/dist/ToolsTab-BvpoO0wt.js +1501 -0
- package/dist/{ToolsTab-NveeVXz2.js.map → ToolsTab-BvpoO0wt.js.map} +1 -1
- package/dist/ToolsTab-DCRNrlhT.cjs +7 -0
- package/dist/{ToolsTab-RMTst_Sy.cjs.map → ToolsTab-DCRNrlhT.cjs.map} +1 -1
- package/dist/{TopBar-CnJNNJlV.js → TopBar-AjYGyx8W.js} +68 -64
- package/dist/TopBar-AjYGyx8W.js.map +1 -0
- package/dist/TopBar-vznpQjGN.cjs +2 -0
- package/dist/TopBar-vznpQjGN.cjs.map +1 -0
- package/dist/UpgradeToEnterpriseDialog-1fVtqbze.cjs +2 -0
- package/dist/UpgradeToEnterpriseDialog-1fVtqbze.cjs.map +1 -0
- package/dist/UpgradeToEnterpriseDialog-CMVEjihv.js +95 -0
- package/dist/UpgradeToEnterpriseDialog-CMVEjihv.js.map +1 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B98GsSQS.cjs +1497 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B98GsSQS.cjs.map +1 -0
- package/dist/{WidgetComponents-C1lSLZ0I.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BOiUmW4q.js} +10636 -10597
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BOiUmW4q.js.map +1 -0
- package/dist/{VWidget-DQqb7NVW.js → VWidget-BlF_o-7Z.js} +3 -3
- package/dist/{VWidget-DQqb7NVW.js.map → VWidget-BlF_o-7Z.js.map} +1 -1
- package/dist/{VWidget-2N2cOosI.cjs → VWidget-CMKh-tv6.cjs} +2 -2
- package/dist/{VWidget-2N2cOosI.cjs.map → VWidget-CMKh-tv6.cjs.map} +1 -1
- package/dist/{ValueWidget-C6RanBj3.js → ValueWidget-DFUfM5tw.js} +16 -14
- package/dist/ValueWidget-DFUfM5tw.js.map +1 -0
- package/dist/ValueWidget-K7SCPEB6.cjs +2 -0
- package/dist/ValueWidget-K7SCPEB6.cjs.map +1 -0
- package/dist/{ValuelimitsbarWidget-B3bvjfxc.js → ValuelimitsbarWidget-CALgABsT.js} +4 -4
- package/dist/{ValuelimitsbarWidget-B3bvjfxc.js.map → ValuelimitsbarWidget-CALgABsT.js.map} +1 -1
- package/dist/{ValuelimitsbarWidget-C0HROxrb.cjs → ValuelimitsbarWidget-DcY2NV9X.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-C0HROxrb.cjs.map → ValuelimitsbarWidget-DcY2NV9X.cjs.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-QvhI6EcE.js → ValuelimitscolumnWidget-Bs91VFLz.js} +4 -4
- package/dist/{ValuelimitscolumnWidget-QvhI6EcE.js.map → ValuelimitscolumnWidget-Bs91VFLz.js.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-CWvLfg8u.cjs → ValuelimitscolumnWidget-DQKvlGap.cjs} +2 -2
- package/dist/{ValuelimitscolumnWidget-CWvLfg8u.cjs.map → ValuelimitscolumnWidget-DQKvlGap.cjs.map} +1 -1
- package/dist/{ValuerangebarWidget-Dt3K9BnC.js → ValuerangebarWidget-C7WHyR2h.js} +4 -4
- package/dist/{ValuerangebarWidget-Dt3K9BnC.js.map → ValuerangebarWidget-C7WHyR2h.js.map} +1 -1
- package/dist/{ValuerangebarWidget-DyN78cQl.cjs → ValuerangebarWidget-DnWuvusw.cjs} +2 -2
- package/dist/{ValuerangebarWidget-DyN78cQl.cjs.map → ValuerangebarWidget-DnWuvusw.cjs.map} +1 -1
- package/dist/{VerticalWidget-BIIViZgI.js → VerticalWidget-COP5oVCK.js} +2 -2
- package/dist/{VerticalWidget-BIIViZgI.js.map → VerticalWidget-COP5oVCK.js.map} +1 -1
- package/dist/{VerticalWidget-CFTOu4H8.cjs → VerticalWidget-eMN4dvxL.cjs} +2 -2
- package/dist/{VerticalWidget-CFTOu4H8.cjs.map → VerticalWidget-eMN4dvxL.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-DY72fLHW.js → VerticalboxWidget-CDPoOx4C.js} +5 -5
- package/dist/{VerticalboxWidget-DY72fLHW.js.map → VerticalboxWidget-CDPoOx4C.js.map} +1 -1
- package/dist/{VerticalboxWidget-Z8-DWI8t.cjs → VerticalboxWidget-UIBpyEz_.cjs} +2 -2
- package/dist/{VerticalboxWidget-Z8-DWI8t.cjs.map → VerticalboxWidget-UIBpyEz_.cjs.map} +1 -1
- package/dist/Widget-Cg0pAxSF.cjs +2 -0
- package/dist/Widget-Cg0pAxSF.cjs.map +1 -0
- package/dist/{Widget-oyqWpFXJ.js → Widget-cmJ76_g1.js} +3 -3
- package/dist/Widget-cmJ76_g1.js.map +1 -0
- package/dist/components.cjs +3 -3
- package/dist/components.cjs.map +1 -1
- package/dist/components.js +285 -318
- package/dist/components.js.map +1 -1
- package/dist/index-DcL65Mqb.cjs +7 -0
- package/dist/index-DcL65Mqb.cjs.map +1 -0
- package/dist/{index-DwP8ryNM.js → index-qCq0L4jN.js} +332 -323
- package/dist/index-qCq0L4jN.js.map +1 -0
- package/dist/plugins.cjs +2 -2
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js +94 -89
- package/dist/plugins.js.map +1 -1
- package/dist/{timeFilters-CRYpYDdf.js → timeFilters-BKnCM4rv.js} +139 -136
- package/dist/{timeFilters-CRYpYDdf.js.map → timeFilters-BKnCM4rv.js.map} +1 -1
- package/dist/timeFilters-CJFxfjqN.cjs +2 -0
- package/dist/{timeFilters-8SaYvcH0.cjs.map → timeFilters-CJFxfjqN.cjs.map} +1 -1
- package/dist/tools/admin.cjs +10 -10
- package/dist/tools/admin.cjs.map +1 -1
- package/dist/tools/admin.js +380 -406
- package/dist/tools/admin.js.map +1 -1
- package/dist/tools/base.cjs +1 -1
- package/dist/tools/base.cjs.map +1 -1
- package/dist/tools/base.js +212 -215
- package/dist/tools/base.js.map +1 -1
- package/dist/tools/calendar.cjs +1 -1
- package/dist/tools/calendar.js +1 -1
- package/dist/tools/scriptrunner.cjs +7 -8
- package/dist/tools/scriptrunner.cjs.map +1 -1
- package/dist/tools/scriptrunner.js +2021 -2011
- package/dist/tools/scriptrunner.js.map +1 -1
- package/dist/util.cjs +1 -1
- package/dist/util.js +1 -1
- package/dist/vue-common.css +1 -1
- package/dist/widgets.cjs +1 -1
- package/dist/widgets.js +63 -63
- package/package.json +12 -12
- package/dist/ArrayplotWidget-COeaK_Lz.cjs +0 -2
- package/dist/BarColumn-CJLW1nXy.cjs +0 -2
- package/dist/ButtonWidget-HN8UHsme.cjs +0 -3
- package/dist/CriticalCmdDialog-BnxZlt7W.cjs +0 -2
- package/dist/CriticalCmdDialog-BnxZlt7W.cjs.map +0 -1
- package/dist/CriticalCmdDialog-DPIZOBeP.js.map +0 -1
- package/dist/DetailsDialog-DmEC5BTs.js.map +0 -1
- package/dist/DetailsDialog-mvxMFmgV.cjs +0 -2
- package/dist/DetailsDialog-mvxMFmgV.cjs.map +0 -1
- package/dist/EventListDialog-BHZLl28V.cjs +0 -2
- package/dist/EventListDialog-BHZLl28V.cjs.map +0 -1
- package/dist/EventListDialog-CSMSmCIT.js.map +0 -1
- package/dist/FormatvalueWidget-CdjCEAI7.cjs +0 -2
- package/dist/FormatvalueWidget-CdjCEAI7.cjs.map +0 -1
- package/dist/FormatvalueWidget-DN12xymS.js +0 -44
- package/dist/FormatvalueWidget-DN12xymS.js.map +0 -1
- package/dist/Graph-Bgo0cjl3.js.map +0 -1
- package/dist/Graph-Ujd2yaeI.cjs +0 -2
- package/dist/Graph-Ujd2yaeI.cjs.map +0 -1
- package/dist/ImageLoader-cRmBcpU9.cjs +0 -2
- package/dist/InterfacesTab-B4glsR9Z.js +0 -93
- package/dist/InterfacesTab-B4glsR9Z.js.map +0 -1
- package/dist/InterfacesTab-Co1Kd6Fa.cjs +0 -2
- package/dist/InterfacesTab-Co1Kd6Fa.cjs.map +0 -1
- package/dist/LabelvaluedescWidget-I6ljK--Y.cjs +0 -2
- package/dist/Layout-DuCYyOw4.cjs +0 -2
- package/dist/LedWidget-B2BcwiYF.cjs +0 -2
- package/dist/LedWidget-B2BcwiYF.cjs.map +0 -1
- package/dist/LedWidget-qH_FthkK.js.map +0 -1
- package/dist/LimitsbarWidget-B9lAB2RD.js.map +0 -1
- package/dist/LimitsbarWidget-CVCLFIhG.cjs +0 -2
- package/dist/LimitsbarWidget-CVCLFIhG.cjs.map +0 -1
- package/dist/LinegraphWidget-Bf8DIwEn.cjs +0 -2
- package/dist/MatrixbycolumnsWidget-DpdFzNeP.cjs +0 -2
- package/dist/MicroservicesTab-B5n-mN8G.cjs +0 -2
- package/dist/MicroservicesTab-B5n-mN8G.cjs.map +0 -1
- package/dist/MicroservicesTab-mCdS0v39.js +0 -264
- package/dist/MicroservicesTab-mCdS0v39.js.map +0 -1
- package/dist/Openc3Screen-BYhHaH_I.cjs +0 -5
- package/dist/Openc3Screen-BYhHaH_I.cjs.map +0 -1
- package/dist/Openc3Screen-Cud0OCFu.js +0 -1789
- package/dist/Openc3Screen-Cud0OCFu.js.map +0 -1
- package/dist/OutputDialog-DXoL9VPw.cjs +0 -2
- package/dist/OutputDialog-DXoL9VPw.cjs.map +0 -1
- package/dist/OutputDialog-zVPZiZay.js.map +0 -1
- package/dist/PackagesTab-CvT2JyMA.cjs +0 -2
- package/dist/PackagesTab-CvT2JyMA.cjs.map +0 -1
- package/dist/PackagesTab-SWcXumpK.js +0 -332
- package/dist/PackagesTab-SWcXumpK.js.map +0 -1
- package/dist/PluginsTab-B64OvayB.js.map +0 -1
- package/dist/PluginsTab-CfpwWsqv.cjs +0 -6
- package/dist/PluginsTab-CfpwWsqv.cjs.map +0 -1
- package/dist/RedisTab-67UcKoPf.cjs +0 -2
- package/dist/RoutersTab-BBPlFi_z.cjs +0 -2
- package/dist/RoutersTab-BBPlFi_z.cjs.map +0 -1
- package/dist/RoutersTab-Cs2dFVNA.js +0 -95
- package/dist/RoutersTab-Cs2dFVNA.js.map +0 -1
- package/dist/ScriptChooser-EV65rbWx.js +0 -199
- package/dist/ScriptChooser-EV65rbWx.js.map +0 -1
- package/dist/ScriptChooser-vyZwngrz.cjs +0 -2
- package/dist/ScriptChooser-vyZwngrz.cjs.map +0 -1
- package/dist/SecretsTab-0IFqUxNJ.cjs +0 -2
- package/dist/SecretsTab-0IFqUxNJ.cjs.map +0 -1
- package/dist/SecretsTab-DVyyyGlG.js.map +0 -1
- package/dist/SettingsTab-B1LvOLG2.cjs +0 -3
- package/dist/SignalWidget-RvRwpE8T.cjs.map +0 -1
- package/dist/SignalWidget-d9-6h85k.js.map +0 -1
- package/dist/SimpleTextDialog-Cpbt7Q-8.cjs +0 -2
- package/dist/SimpleTextDialog-Cpbt7Q-8.cjs.map +0 -1
- package/dist/SimpleTextDialog-pwN8oRy1.js +0 -107
- package/dist/SimpleTextDialog-pwN8oRy1.js.map +0 -1
- package/dist/SparklineWidget-60jVlbHA.cjs +0 -2
- package/dist/TargetsTab-BkBkXn9A.js +0 -129
- package/dist/TargetsTab-BkBkXn9A.js.map +0 -1
- package/dist/TargetsTab-C-m26Eqq.cjs +0 -2
- package/dist/TargetsTab-C-m26Eqq.cjs.map +0 -1
- package/dist/TextBoxDialog-DOJ5d2RM.js +0 -110
- package/dist/TextBoxDialog-DOJ5d2RM.js.map +0 -1
- package/dist/TextBoxDialog-DfMXg_5C.cjs +0 -2
- package/dist/TextBoxDialog-DfMXg_5C.cjs.map +0 -1
- package/dist/TextboxWidget-BDG4NxRw.cjs +0 -2
- package/dist/ToolsTab-NveeVXz2.js +0 -1521
- package/dist/ToolsTab-RMTst_Sy.cjs +0 -7
- package/dist/TopBar-CnJNNJlV.js.map +0 -1
- package/dist/TopBar-Cnmb6DyC.cjs +0 -2
- package/dist/TopBar-Cnmb6DyC.cjs.map +0 -1
- package/dist/UpgradeToEnterpriseDialog-BvfgoNB1.js +0 -94
- package/dist/UpgradeToEnterpriseDialog-BvfgoNB1.js.map +0 -1
- package/dist/UpgradeToEnterpriseDialog-sUipOVpB.cjs +0 -2
- package/dist/UpgradeToEnterpriseDialog-sUipOVpB.cjs.map +0 -1
- package/dist/ValueWidget-C6RanBj3.js.map +0 -1
- package/dist/ValueWidget-Cu7hgKja.cjs +0 -2
- package/dist/ValueWidget-Cu7hgKja.cjs.map +0 -1
- package/dist/Widget-ChoIB2dd.cjs +0 -2
- package/dist/Widget-ChoIB2dd.cjs.map +0 -1
- package/dist/Widget-oyqWpFXJ.js.map +0 -1
- package/dist/WidgetComponents-C1lSLZ0I.js.map +0 -1
- package/dist/WidgetComponents-utpQ592X.cjs +0 -1493
- package/dist/WidgetComponents-utpQ592X.cjs.map +0 -1
- package/dist/index-BX05anye.cjs +0 -7
- package/dist/index-BX05anye.cjs.map +0 -1
- package/dist/index-DwP8ryNM.js.map +0 -1
- package/dist/timeFilters-8SaYvcH0.cjs +0 -2
package/dist/tools/admin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sources":["../../src/tools/admin/DownloadDialog.vue","../../src/tools/admin/EditDialog.vue","../../src/tools/admin/ModifiedPluginDialog.vue","../../src/tools/admin/tabs/index.js","../../src/tools/admin/OpenC3Admin.vue","../../../openc3-cosmos-ace-diff/dist/ace-diff.min.js","../../src/tools/admin/PluginDialog.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"600\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span> Download Gems </span>\n <v-spacer />\n </v-toolbar>\n <v-card-text>\n <div class=\"pa-3\">\n <v-row class=\"my-2\"> Select a download option </v-row>\n <v-row>\n <v-col>\n <div class=\"px-2\">\n <v-btn\n @click=\"searchGithub\"\n block\n data-test=\"searchGithub\"\n color=\"primary\"\n :disabled=\"disableSearch\"\n >\n Github\n <v-icon end theme=\"dark\"> mdi-github </v-icon>\n </v-btn>\n </div>\n </v-col>\n </v-row>\n <!---\n <v-row>\n <v-col>\n <div class=\"px-2\">\n <v-btn\n @click=\"searchRuby\"\n block\n data-test=\"searchRuby\"\n color=\"primary\"\n :disabled=\"disableSearch\"\n >\n RubyGems\n <v-icon right dark> mdi-heart </v-icon>\n </v-btn>\n </div>\n </v-col>\n </v-row>\n --->\n <v-row class=\"mt-5\"> Community Gems </v-row>\n <div class=\"mt-4\" v-if=\"listData.length < 1\">\n <v-row class=\"mx-2\">\n <span> I’m sorry, Dave. No gems available.... </span>\n </v-row>\n </div>\n <div class=\"mt-4\" v-else>\n <div v-for=\"(data, index) in listData\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ data.name }}</v-list-item-title>\n\n <v-list-item icon>\n <div v-if=\"activeDownload\">\n <v-progress-circular indeterminate color=\"primary\" />\n </div>\n <div v-else>\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"downloadGem(data)\"\n :disabled=\"activeDownload\"\n >\n mdi-cloud-download\n </v-icon>\n </template>\n <span>Download Gem</span>\n </v-tooltip>\n </div>\n </v-list-item>\n </v-list-item>\n <v-divider v-if=\"index < listData.length - 1\" :key=\"index\" />\n </div>\n </div>\n </div>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\n// Directly use axios since we need no authentication or scope\nimport axios from 'axios'\n\nexport default {\n props: {\n modelValue: Boolean,\n },\n data() {\n return {\n url: '',\n type: null,\n response: null,\n activeDownload: false,\n disableSearch: false,\n expanded: [],\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n listData: function () {\n if (!this.response) return []\n if (this.type === 'github') {\n return this.parseGithub()\n } else {\n return this.parseRuby()\n }\n },\n },\n methods: {\n parseGithub: function () {\n const gemRegEx = /\\w+.gem/\n return this.response.tree\n .filter((f) => gemRegEx.exec(f.path))\n .map((f) => {\n return {\n name: f.path,\n url: `https://raw.github.com/OpenC3/openc3-tools/main/${f.path}`,\n }\n })\n },\n getResponse: function () {\n this.disableSearch = true\n axios.get(this.url).then((response) => {\n this.response = response.data\n })\n setTimeout(() => {\n this.disableSearch = false\n }, 10000)\n },\n searchGithub: function () {\n this.type = 'github'\n this.url =\n 'https://api.github.com/repos/OpenC3/openc3-tools/git/trees/main?recursive=1'\n this.getResponse()\n },\n downloadGem: function (gem) {\n const link = document.createElement('a')\n link.href = gem.url\n link.setAttribute('download', gem.name)\n link.click()\n link.remove()\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog :persistent=\"!readonly\" v-model=\"show\" width=\"80vw\">\n <v-card>\n <form v-on:submit.prevent=\"submit\">\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-text=\"title\" />\n <v-spacer />\n <div class=\"mx-2\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <div v-bind=\"props\">\n <v-icon data-test=\"downloadIcon\" @click=\"download\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </div>\n </v-toolbar>\n\n <v-card-text>\n <div class=\"pa-3\">\n <div v-if=\"!readonly\">\n <v-row class=\"mt-3\"> Upload a file. </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"3\">\n <v-btn\n block\n color=\"success\"\n @click=\"loadFile\"\n :disabled=\"!file || loadingFile || readonly\"\n :loading=\"loadingFile\"\n data-test=\"editScreenLoadBtn\"\n >\n Load\n <template v-slot:loader>\n <span>Loading...</span>\n </template>\n </v-btn>\n </v-col>\n <v-col cols=\"9\">\n <v-file-input\n v-model=\"file\"\n accept=\".json\"\n label=\"Click to select .json file.\"\n :disabled=\"readonly\"\n />\n </v-col>\n </v-row>\n </div>\n <v-row no-gutters>\n <pre\n class=\"editor\"\n ref=\"editor\"\n @contextmenu.prevent=\"showContextMenu\"\n ></pre>\n <v-menu v-model=\"contextMenu\" :target=\"[menuX, menuY]\">\n <v-list>\n <v-list-item\n title=\"Toggle Vim mode\"\n prepend-icon=\"extras:vim\"\n @click=\"toggleVimMode\"\n />\n </v-list>\n </v-menu>\n </v-row>\n <v-row class=\"my-3\">\n <span class=\"text-red\" v-show=\"error\" v-text=\"error\" />\n </v-row>\n <v-row>\n <v-spacer />\n <v-btn\n @click.prevent=\"close\"\n variant=\"outlined\"\n class=\"mx-2\"\n data-test=\"editCancelBtn\"\n >\n Cancel\n </v-btn>\n <v-btn\n v-if=\"!readonly\"\n class=\"mx-2\"\n color=\"primary\"\n type=\"submit\"\n data-test=\"editSubmitBtn\"\n :disabled=\"!!error || readonly\"\n >\n Save\n </v-btn>\n </v-row>\n </div>\n </v-card-text>\n </form>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport * as ace from 'ace-builds'\nimport 'ace-builds/src-min-noconflict/mode-ruby'\nimport 'ace-builds/src-min-noconflict/mode-json'\nimport 'ace-builds/src-min-noconflict/theme-twilight'\nimport 'ace-builds/src-min-noconflict/ext-language_tools'\nimport 'ace-builds/src-min-noconflict/ext-searchbox'\nimport { AceEditorUtils } from '../../components/ace'\n\nexport default {\n props: {\n content: {\n type: String,\n required: true,\n },\n type: String,\n name: String,\n modelValue: Boolean,\n readonly: Boolean,\n },\n data() {\n return {\n editor: null,\n contextMenu: false,\n menuX: 0,\n menuY: 0,\n }\n },\n mounted() {\n const openPluginMode = this.buildPluginMode()\n this.editor = ace.edit(this.$refs.editor)\n this.editor.setTheme('ace/theme/twilight')\n this.editor.session.setMode(new openPluginMode())\n this.editor.session.setTabSize(2)\n this.editor.session.setUseWrapMode(true)\n this.editor.$blockScrolling = Infinity\n this.editor.setHighlightActiveLine(false)\n this.editor.setValue(this.content)\n this.editor.clearSelection()\n AceEditorUtils.applyVimModeIfEnabled(this.editor)\n this.editor.focus()\n if (this.readonly) {\n this.editor.setReadOnly(true)\n }\n },\n beforeUnmount() {\n if (this.editor) {\n this.editor.destroy()\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n title: function () {\n return `${this.type}: ${this.name}`\n },\n error: function () {\n if (this.editor && this.editor.getValue() === '' && !this.file) {\n return 'Input can not be blank.'\n }\n return null\n },\n },\n methods: {\n submit: function () {\n this.$emit('submit', this.editor.getValue())\n this.show = !this.show\n },\n close: function () {\n this.show = !this.show\n },\n download: function () {\n const blob = new Blob([this.editor.getValue()], {\n type: 'text/plain',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute(\n 'download',\n `${this.type.toLowerCase()}_${this.name.toLowerCase()}.json`,\n )\n link.click()\n },\n buildPluginMode() {\n let oop = ace.require('ace/lib/oop')\n let JsonHighlightRules = ace.require(\n 'ace/mode/json_highlight_rules',\n ).JsonHighlightRules\n\n let MatchingBraceOutdent = ace.require(\n 'ace/mode/matching_brace_outdent',\n ).MatchingBraceOutdent\n let CstyleBehaviour = ace.require(\n 'ace/mode/behaviour/cstyle',\n ).CstyleBehaviour\n let FoldMode = ace.require('ace/mode/folding/ruby').FoldMode\n let Mode = function () {\n this.HighlightRules = JsonHighlightRules\n this.$outdent = new MatchingBraceOutdent()\n this.$behaviour = new CstyleBehaviour()\n this.foldingRules = new FoldMode()\n this.indentKeywords = this.foldingRules.indentKeywords\n }\n let RubyMode = ace.require('ace/mode/ruby').Mode\n oop.inherits(Mode, RubyMode)\n ;(function () {\n this.$id = 'ace/mode/openc3'\n }).call(Mode.prototype)\n return Mode\n },\n showContextMenu: function (event) {\n this.menuX = event.pageX\n this.menuY = event.pageY\n\n let position = this.editor.getCursorPosition()\n let token = this.editor.session.getTokenAt(position.row, position.column)\n if (token) {\n let value = token.value.trim()\n if (value.includes(' ')) {\n this.docsKeyword = value.split(' ')[0]\n } else {\n this.docsKeyword = value\n }\n this.contextMenu = true\n }\n },\n toggleVimMode: function () {\n AceEditorUtils.toggleVimMode(this.editor)\n },\n },\n}\n</script>\n\n<style scoped>\n.editor {\n height: 50vh;\n width: 75vw;\n position: relative;\n font-size: 16px;\n}\n.v-textarea :deep(textarea) {\n padding: 5px;\n}\n</style>\n","<!--\n# Copyright 2024 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"600\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span> Modified Plugin </span>\n <v-spacer />\n </v-toolbar>\n <v-card-text class=\"pa-3\">\n <div>\n Plugin {{ plugin }} was modified. Would you like to delete the\n existing modified files?\n </div>\n <v-list-item\n lines=\"two\"\n v-for=\"(target, index) in modifiedTargets\"\n :key=\"index\"\n >\n <v-list-item-title>{{ target.name }}</v-list-item-title>\n <v-list-item-subtitle\n v-for=\"(file, itemIndex) in target.files\"\n :key=\"itemIndex\"\n >{{ file }}</v-list-item-subtitle\n >\n </v-list-item>\n <v-checkbox\n v-model=\"deleteModified\"\n label=\"DELETE MODIFIED! THIS CAN NOT BE UNDONE!!!\"\n color=\"error\"\n data-test=\"modified-plugin-delete-checkbox\"\n />\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn\n variant=\"outlined\"\n data-test=\"modified-plugin-cancel\"\n @click=\"\n () => {\n show = false\n $emit('cancel')\n }\n \"\n >\n Cancel\n </v-btn>\n <v-btn\n variant=\"flat\"\n data-test=\"modified-plugin-submit\"\n @click=\"\n () => {\n show = false\n $emit('submit', deleteModified)\n }\n \"\n >\n Confirm\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n modelValue: Boolean,\n plugin: String,\n targets: Array,\n pluginDelete: Boolean,\n },\n data() {\n return {\n modifiedTargets: [],\n deleteModified: false,\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n created() {\n for (const target of this.targets) {\n Api.get(`/openc3-api/targets/${target.name}/modified_files`).then(\n (response) => {\n if (response.data.length !== 0) {\n // Only push targets which actually have modified files\n this.modifiedTargets.push({\n name: target.name,\n files: response.data,\n })\n }\n },\n )\n }\n },\n}\n</script>\n\n<style scoped></style>\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nconst TabsList = [\n {\n displayName: 'Plugins',\n name: 'PluginsTab',\n path: 'plugins',\n component: () => import('./PluginsTab.vue'),\n },\n {\n displayName: 'Targets',\n name: 'TargetsTab',\n path: 'targets',\n component: () => import('./TargetsTab.vue'),\n },\n {\n displayName: 'Interfaces',\n name: 'InterfacesTab',\n path: 'interfaces',\n component: () => import('./InterfacesTab.vue'),\n },\n {\n displayName: 'Routers',\n name: 'RoutersTab',\n path: 'routers',\n component: () => import('./RoutersTab.vue'),\n },\n {\n displayName: 'Microservices',\n name: 'MicroservicesTab',\n path: 'microservices',\n component: () => import('./MicroservicesTab.vue'),\n },\n {\n displayName: 'Packages',\n name: 'PackagesTab',\n path: 'packages',\n component: () => import('./PackagesTab.vue'),\n },\n {\n displayName: 'Tools',\n name: 'ToolsTab',\n path: 'tools',\n component: () => import('./ToolsTab.vue'),\n },\n {\n displayName: 'Redis',\n name: 'RedisTab',\n path: 'redis',\n component: () => import('./RedisTab.vue'),\n },\n {\n displayName: 'Secrets',\n name: 'SecretsTab',\n path: 'secrets',\n component: () => import('./SecretsTab.vue'),\n },\n {\n displayName: 'Settings',\n name: 'SettingsTab',\n path: 'settings',\n component: () => import('./SettingsTab.vue'),\n },\n]\n\nexport { TabsList }\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <top-bar :title=\"title\" />\n <v-card>\n <v-tabs v-model=\"curTab\" fixed-tabs>\n <v-tab v-for=\"(tab, index) in tabs\" :key=\"index\" :to=\"tab.path\">\n {{ tab.displayName }}\n </v-tab>\n </v-tabs>\n <router-view />\n </v-card>\n </div>\n</template>\n\n<script>\nimport { TopBar } from '@/components'\nimport { TabsList } from './tabs'\n\nexport default {\n components: {\n TopBar,\n },\n data() {\n return {\n title: 'Administrator Console',\n curTab: null,\n }\n },\n computed: {\n tabs: function () {\n return TabsList.map((tab) => {\n return {\n displayName: tab.displayName,\n path: { name: tab.name },\n }\n })\n },\n },\n}\n</script>\n","const g=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32};g.Diff=function(t,e){this[0]=t,this[1]=e};g.Diff.prototype.length=2;g.Diff.prototype.toString=function(){return this[0]+\",\"+this[1]};g.prototype.diff_main=function(t,e,n,i){typeof i>\"u\"&&(this.Diff_Timeout<=0?i=Number.MAX_VALUE:i=new Date().getTime()+this.Diff_Timeout*1e3);let l=i;if(t==null||e==null)throw new Error(\"Null input. (diff_main)\");if(t==e)return t?[new g.Diff(0,t)]:[];typeof n>\"u\"&&(n=!0);let r=n,s=this.diff_commonPrefix(t,e),o=t.substring(0,s);t=t.substring(s),e=e.substring(s),s=this.diff_commonSuffix(t,e);let h=t.substring(t.length-s);t=t.substring(0,t.length-s),e=e.substring(0,e.length-s);let a=this.diff_compute_(t,e,r,l);return o&&a.unshift(new g.Diff(0,o)),h&&a.push(new g.Diff(0,h)),this.diff_cleanupMerge(a),a};g.prototype.diff_compute_=function(t,e,n,i){let l;if(!t)return[new g.Diff(1,e)];if(!e)return[new g.Diff(-1,t)];let r=t.length>e.length?t:e,s=t.length>e.length?e:t,o=r.indexOf(s);return o!=-1?(l=[new g.Diff(1,r.substring(0,o)),new g.Diff(0,s),new g.Diff(1,r.substring(o+s.length))],t.length>e.length&&(l[0][0]=l[2][0]=-1),l):s.length==1?[new g.Diff(-1,t),new g.Diff(1,e)]:n&&t.length>100&&e.length>100?this.diff_lineMode_(t,e,i):this.diff_bisect_(t,e,i)};g.prototype.diff_lineMode_=function(t,e,n){let i=this.diff_linesToChars_(t,e);t=i.chars1,e=i.chars2;let l=i.lineArray,r=this.diff_main(t,e,!1,n);this.diff_charsToLines_(r,l),this.diff_cleanupSemantic(r),r.push(new g.Diff(0,\"\"));let s=0,o=0,h=0,a=\"\",c=\"\";for(;s<r.length;){switch(r[s][0]){case 1:h++,c+=r[s][1];break;case-1:o++,a+=r[s][1];break;case 0:if(o>=1&&h>=1){r.splice(s-o-h,o+h),s=s-o-h;let f=this.diff_main(a,c,!1,n);for(let u=f.length-1;u>=0;u--)r.splice(s,0,f[u]);s=s+f.length}h=0,o=0,a=\"\",c=\"\";break}s++}return r.pop(),r};g.prototype.diff_bisect_=function(t,e,n){let i=t.length,l=e.length,r=Math.ceil((i+l)/2),s=r,o=2*r,h=new Array(o),a=new Array(o);for(let d=0;d<o;d++)h[d]=-1,a[d]=-1;h[s+1]=0,a[s+1]=0;let c=i-l,f=c%2!=0,u=0,p=0,_=0,D=0;for(let d=0;d<r&&!(new Date().getTime()>n);d++){for(let E=-d+u;E<=d-p;E+=2){let L=s+E,m;E==-d||E!=d&&h[L-1]<h[L+1]?m=h[L+1]:m=h[L-1]+1;let F=m-E;for(;m<i&&F<l&&t.charAt(m)==e.charAt(F);)m++,F++;if(h[L]=m,m>i)p+=2;else if(F>l)u+=2;else if(f){let b=s+c-E;if(b>=0&&b<o&&a[b]!=-1){let w=i-a[b];if(m>=w)return this.diff_bisectSplit_(t,e,m,F,n)}}}for(let E=-d+_;E<=d-D;E+=2){let L=s+E,m;E==-d||E!=d&&a[L-1]<a[L+1]?m=a[L+1]:m=a[L-1]+1;let F=m-E;for(;m<i&&F<l&&t.charAt(i-m-1)==e.charAt(l-F-1);)m++,F++;if(a[L]=m,m>i)D+=2;else if(F>l)_+=2;else if(!f){let b=s+c-E;if(b>=0&&b<o&&h[b]!=-1){let w=h[b],y=s+w-b;if(m=i-m,w>=m)return this.diff_bisectSplit_(t,e,w,y,n)}}}}return[new g.Diff(-1,t),new g.Diff(1,e)]};g.prototype.diff_bisectSplit_=function(t,e,n,i,l){let r=t.substring(0,n),s=e.substring(0,i),o=t.substring(n),h=e.substring(i),a=this.diff_main(r,s,!1,l),c=this.diff_main(o,h,!1,l);return a.concat(c)};g.prototype.diff_linesToChars_=function(t,e){let n=[],i={};n[0]=\"\";function l(h){let a=\"\",c=0,f=-1,u=n.length;for(;f<h.length-1;){f=h.indexOf(`\n`,c),f==-1&&(f=h.length-1);let p=h.substring(c,f+1);(i.hasOwnProperty?i.hasOwnProperty(p):i[p]!==void 0)?a+=String.fromCharCode(i[p]):(u==r&&(p=h.substring(c),f=h.length),a+=String.fromCharCode(u),i[p]=u,n[u++]=p),c=f+1}return a}let r=4e4,s=l(t);r=65535;let o=l(e);return{chars1:s,chars2:o,lineArray:n}};g.prototype.diff_charsToLines_=function(t,e){for(let n=0;n<t.length;n++){let i=t[n][1],l=[];for(let r=0;r<i.length;r++)l[r]=e[i.charCodeAt(r)];t[n][1]=l.join(\"\")}};g.prototype.diff_commonPrefix=function(t,e){if(!t||!e||t.charAt(0)!=e.charAt(0))return 0;let n=0,i=Math.min(t.length,e.length),l=i,r=0;for(;n<l;)t.substring(r,l)==e.substring(r,l)?(n=l,r=n):i=l,l=Math.floor((i-n)/2+n);return l};g.prototype.diff_commonSuffix=function(t,e){if(!t||!e||t.charAt(t.length-1)!=e.charAt(e.length-1))return 0;let n=0,i=Math.min(t.length,e.length),l=i,r=0;for(;n<l;)t.substring(t.length-l,t.length-r)==e.substring(e.length-l,e.length-r)?(n=l,r=n):i=l,l=Math.floor((i-n)/2+n);return l};g.prototype.diff_commonOverlap_=function(t,e){let n=t.length,i=e.length;if(n==0||i==0)return 0;n>i?t=t.substring(n-i):n<i&&(e=e.substring(0,n));let l=Math.min(n,i);if(t==e)return l;let r=0,s=1;for(;;){let o=t.substring(l-s),h=e.indexOf(o);if(h==-1)return r;s+=h,(h==0||t.substring(l-s)==e.substring(0,s))&&(r=s,s++)}};g.prototype.diff_halfMatch_=function(t,e){if(this.Diff_Timeout<=0)return null;let n=t.length>e.length?t:e,i=t.length>e.length?e:t;if(n.length<4||i.length*2<n.length)return null;let l=this;function r(_,D,d){let E=_.substring(d,d+Math.floor(_.length/4)),L=-1,m=\"\",F,b,w,y;for(;(L=D.indexOf(E,L+1))!=-1;){let T=l.diff_commonPrefix(_.substring(d),D.substring(L)),C=l.diff_commonSuffix(_.substring(0,d),D.substring(0,L));m.length<C+T&&(m=D.substring(L-C,L)+D.substring(L,L+T),F=_.substring(0,d-C),b=_.substring(d+T),w=D.substring(0,L-C),y=D.substring(L+T))}return m.length*2>=_.length?[F,b,w,y,m]:null}let s=r(n,i,Math.ceil(n.length/4)),o=r(n,i,Math.ceil(n.length/2)),h;if(!s&&!o)return null;o?s?h=s[4].length>o[4].length?s:o:h=o:h=s;let a,c,f,u;t.length>e.length?(a=h[0],c=h[1],f=h[2],u=h[3]):(f=h[0],u=h[1],a=h[2],c=h[3]);let p=h[4];return[a,c,f,u,p]};g.prototype.diff_cleanupSemantic=function(t){let e=!1,n=[],i=0,l=null,r=0,s=0,o=0,h=0,a=0;for(;r<t.length;)t[r][0]==0?(n[i++]=r,s=h,o=a,h=0,a=0,l=t[r][1]):(t[r][0]==1?h+=t[r][1].length:a+=t[r][1].length,l&&l.length<=Math.max(s,o)&&l.length<=Math.max(h,a)&&(t.splice(n[i-1],0,new g.Diff(-1,l)),t[n[i-1]+1][0]=1,i--,i--,r=i>0?n[i-1]:-1,s=0,o=0,h=0,a=0,l=null,e=!0)),r++;for(e&&this.diff_cleanupMerge(t),this.diff_cleanupSemanticLossless(t),r=1;r<t.length;){if(t[r-1][0]==-1&&t[r][0]==1){let c=t[r-1][1],f=t[r][1],u=this.diff_commonOverlap_(c,f),p=this.diff_commonOverlap_(f,c);u>=p?(u>=c.length/2||u>=f.length/2)&&(t.splice(r,0,new g.Diff(0,f.substring(0,u))),t[r-1][1]=c.substring(0,c.length-u),t[r+1][1]=f.substring(u),r++):(p>=c.length/2||p>=f.length/2)&&(t.splice(r,0,new g.Diff(0,c.substring(0,p))),t[r-1][0]=1,t[r-1][1]=f.substring(0,f.length-p),t[r+1][0]=-1,t[r+1][1]=c.substring(p),r++),r++}r++}};g.prototype.diff_cleanupSemanticLossless=function(t){function e(i,l){if(!i||!l)return 6;let r=i.charAt(i.length-1),s=l.charAt(0),o=r.match(g.nonAlphaNumericRegex_),h=s.match(g.nonAlphaNumericRegex_),a=o&&r.match(g.whitespaceRegex_),c=h&&s.match(g.whitespaceRegex_),f=a&&r.match(g.linebreakRegex_),u=c&&s.match(g.linebreakRegex_),p=f&&i.match(g.blanklineEndRegex_),_=u&&l.match(g.blanklineStartRegex_);return p||_?5:f||u?4:o&&!a&&c?3:a||c?2:o||h?1:0}let n=1;for(;n<t.length-1;){if(t[n-1][0]==0&&t[n+1][0]==0){let i=t[n-1][1],l=t[n][1],r=t[n+1][1],s=this.diff_commonSuffix(i,l);if(s){i[i.length-s]===`\n`&&(s-=1);let f=l.substring(l.length-s);i=i.substring(0,i.length-s),l=f+l.substring(0,l.length-s),r=f+r}let o=i,h=l,a=r,c=e(i,l)+e(l,r);for(;l.charAt(0)===r.charAt(0);){i+=l.charAt(0),l=l.substring(1)+r.charAt(0),r=r.substring(1);let f=e(i,l)+e(l,r);f>=c&&(c=f,o=i,h=l,a=r)}t[n-1][1]!=o&&(o?t[n-1][1]=o:(t.splice(n-1,1),n--),t[n][1]=h,a?t[n+1][1]=a:(t.splice(n+1,1),n--))}n++}};g.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;g.whitespaceRegex_=/\\s/;g.linebreakRegex_=/[\\r\\n]/;g.blanklineEndRegex_=/\\n\\r?\\n$/;g.blanklineStartRegex_=/^\\r?\\n\\r?\\n/;g.prototype.diff_cleanupEfficiency=function(t){let e=!1,n=[],i=0,l=null,r=0,s=!1,o=!1,h=!1,a=!1;for(;r<t.length;)t[r][0]==0?(t[r][1].length<this.Diff_EditCost&&(h||a)?(n[i++]=r,s=h,o=a,l=t[r][1]):(i=0,l=null),h=a=!1):(t[r][0]==-1?a=!0:h=!0,l&&(s&&o&&h&&a||l.length<this.Diff_EditCost/2&&s+o+h+a==3)&&(t.splice(n[i-1],0,new g.Diff(-1,l)),t[n[i-1]+1][0]=1,i--,l=null,s&&o?(h=a=!0,i=0):(i--,r=i>0?n[i-1]:-1,h=a=!1),e=!0)),r++;e&&this.diff_cleanupMerge(t)};g.prototype.diff_cleanupMerge=function(t){t.push(new g.Diff(0,\"\"));let e=0,n=0,i=0,l=\"\",r=\"\",s;for(;e<t.length;)switch(t[e][0]){case 1:i++,r+=t[e][1],e++;break;case-1:n++,l+=t[e][1],e++;break;case 0:n+i>1?(n!==0&&i!==0&&(s=this.diff_commonPrefix(r,l),s!==0&&(e-n-i>0&&t[e-n-i-1][0]==0?t[e-n-i-1][1]+=r.substring(0,s):(t.splice(0,0,new g.Diff(0,r.substring(0,s))),e++),r=r.substring(s),l=l.substring(s)),s=this.diff_commonSuffix(r,l),s!==0&&(t[e][1]=r.substring(r.length-s)+t[e][1],r=r.substring(0,r.length-s),l=l.substring(0,l.length-s))),e-=n+i,t.splice(e,n+i),l.length&&(t.splice(e,0,new g.Diff(-1,l)),e++),r.length&&(t.splice(e,0,new g.Diff(1,r)),e++),e++):e!==0&&t[e-1][0]==0?(t[e-1][1]+=t[e][1],t.splice(e,1)):e++,i=0,n=0,l=\"\",r=\"\";break}t[t.length-1][1]===\"\"&&t.pop();let o=!1;for(e=1;e<t.length-1;)t[e-1][0]==0&&t[e+1][0]==0&&(t[e][1].substring(t[e][1].length-t[e-1][1].length)==t[e-1][1]?(t[e][1]=t[e-1][1]+t[e][1].substring(0,t[e][1].length-t[e-1][1].length),t[e+1][1]=t[e-1][1]+t[e+1][1],t.splice(e-1,1),o=!0):t[e][1].substring(0,t[e+1][1].length)==t[e+1][1]&&(t[e-1][1]+=t[e+1][1],t[e][1]=t[e][1].substring(t[e+1][1].length)+t[e+1][1],t.splice(e+1,1),o=!0)),e++;o&&this.diff_cleanupMerge(t)};g.prototype.diff_cleanupSplitSurrogates=function(t){let e;for(let n=0;n<t.length;n++){let i=t[n],l=i[1][0],r=i[1][i[1].length-1];if(i[1].length===0){t.splice(n--,1);continue}if(r&&this.isHighSurrogate(r)&&(e=r,i[1]=i[1].slice(0,-1)),e&&l&&this.isHighSurrogate(e)&&this.isLowSurrogate(l)&&(i[1]=e+i[1]),i[1].length===0){t.splice(n--,1);continue}}return t};g.prototype.isHighSurrogate=function(t){let e=t.charCodeAt(0);return e>=55296&&e<=56319};g.prototype.isLowSurrogate=function(t){let e=t.charCodeAt(0);return e>=56320&&e<=57343};g.prototype.digit16=function(t){switch(t){case\"0\":return 0;case\"1\":return 1;case\"2\":return 2;case\"3\":return 3;case\"4\":return 4;case\"5\":return 5;case\"6\":return 6;case\"7\":return 7;case\"8\":return 8;case\"9\":return 9;case\"A\":case\"a\":return 10;case\"B\":case\"b\":return 11;case\"C\":case\"c\":return 12;case\"D\":case\"d\":return 13;case\"E\":case\"e\":return 14;case\"F\":case\"f\":return 15;default:throw new Error(\"Invalid hex-code\")}};g.prototype.decodeURI=function(t){try{return decodeURI(t)}catch{let n=0,i=\"\";for(;n<t.length;){if(t[n]!==\"%\"){i+=t[n++];continue}let l=(this.digit16(t[n+1])<<4)+this.digit16(t[n+2]);if((l&128)===0){i+=String.fromCharCode(l),n+=3;continue}if(t[n+3]!==\"%\")throw new URIError(\"URI malformed\");let r=(this.digit16(t[n+4])<<4)+this.digit16(t[n+5]);if((r&192)!==128)throw new URIError(\"URI malformed\");if(r=r&63,(l&224)===192){i+=String.fromCharCode((l&31)<<6|r),n+=6;continue}if(t[n+6]!==\"%\")throw new URIError(\"URI malformed\");let s=(this.digit16(t[n+7])<<4)+this.digit16(t[n+8]);if((s&192)!==128)throw new URIError(\"URI malformed\");if(s=s&63,(l&240)===224){i+=String.fromCharCode((l&15)<<12|r<<6|s),n+=9;continue}if(t[n+9]!==\"%\")throw new URIError(\"URI malformed\");let o=(this.digit16(t[n+10])<<4)+this.digit16(t[n+11]);if((o&192)!==128)throw new URIError(\"URI malformed\");if(o=o&63,(l&248)===240){let h=(l&7)<<18|r<<12|s<<6|o;if(h>=65536&&h<=1114111){i+=String.fromCharCode((h&65535)>>>10&1023|55296),i+=String.fromCharCode(56320|h&65535&1023),n+=12;continue}}throw new URIError(\"URI malformed\")}return i}};g.prototype.diff_xIndex=function(t,e){let n=0,i=0,l=0,r=0,s;for(s=0;s<t.length&&(t[s][0]!==1&&(n+=t[s][1].length),t[s][0]!==-1&&(i+=t[s][1].length),!(n>e));s++)l=n,r=i;return t.length!=s&&t[s][0]===-1?r:r+(e-l)};g.prototype.diff_prettyHtml=function(t){t=this.diff_cleanupSplitSurrogates(t);let e=[],n=/&/g,i=/</g,l=/>/g,r=/\\n/g;for(let s=0;s<t.length;s++){let o=t[s][0],a=t[s][1].replace(n,\"&\").replace(i,\"<\").replace(l,\">\").replace(r,\"¶<br>\");switch(o){case 1:e[s]='<ins style=\"background:#e6ffe6;\">'+a+\"</ins>\";break;case-1:e[s]='<del style=\"background:#ffe6e6;\">'+a+\"</del>\";break;case 0:e[s]=\"<span>\"+a+\"</span>\";break}}return e.join(\"\")};g.prototype.diff_text1=function(t){let e=[];for(let n=0;n<t.length;n++)t[n][0]!==1&&(e[n]=t[n][1]);return e.join(\"\")};g.prototype.diff_text2=function(t){let e=[];for(let n=0;n<t.length;n++)t[n][0]!==-1&&(e[n]=t[n][1]);return e.join(\"\")};g.prototype.diff_levenshtein=function(t){let e=0,n=0,i=0;for(let l=0;l<t.length;l++){let r=t[l][0],s=t[l][1];switch(r){case 1:n+=s.length;break;case-1:i+=s.length;break;case 0:e+=Math.max(n,i),n=0,i=0;break}}return e+=Math.max(n,i),e};g.prototype.diff_toDelta=function(t){t=this.diff_cleanupSplitSurrogates(t);let e=[];for(let n=0;n<t.length;n++)switch(t[n][0]){case 1:e[n]=\"+\"+encodeURI(t[n][1]);break;case-1:e[n]=\"-\"+t[n][1].length;break;case 0:e[n]=\"=\"+t[n][1].length;break}return e.join(\"\t\").replace(/%20/g,\" \")};g.prototype.diff_fromDelta=function(t,e){let n=0,i=\"\",l=[],r=0,s=0,o=e.split(/\\t/g);for(let h=0;h<o.length;h++){let a=o[h].substring(1);switch(o[h].charAt(0)){case\"+\":try{l[r++]=new g.Diff(1,this.decodeURI(a))}catch{throw new Error(\"Illegal escape in diff_fromDelta: \"+a)}break;case\"-\":case\"=\":if(n=parseInt(a,10),isNaN(n)||n<0)throw new Error(\"Invalid number in diff_fromDelta: \"+a);i=t.substring(s,s+=n),o[h].charAt(0)==\"=\"?l[r++]=new g.Diff(0,i):l[r++]=new g.Diff(-1,i);break;default:if(o[h])throw new Error(\"Invalid diff operation in diff_fromDelta: \"+o[h])}}if(s!=t.length)throw new Error(\"Delta length (\"+s+\") does not equal source text length (\"+t.length+\").\");return l};g.prototype.match_main=function(t,e,n){if(t==null||e==null||n==null)throw new Error(\"Null input. (match_main)\");return n=Math.max(0,Math.min(n,t.length)),t==e?0:t.length?t.substring(n,n+e.length)==e?n:this.match_bitap_(t,e,n):-1};g.prototype.match_bitap_=function(t,e,n){if(e.length>this.Match_MaxBits)throw new Error(\"Pattern too long for this browser.\");let i=this.match_alphabet_(e),l=this;function r(p,_){let D=p/e.length,d=Math.abs(n-_);return l.Match_Distance?D+d/l.Match_Distance:d?1:D}let s=this.Match_Threshold,o=t.indexOf(e,n);o!=-1&&(s=Math.min(r(0,o),s),o=t.lastIndexOf(e,n+e.length),o!=-1&&(s=Math.min(r(0,o),s)));let h=1<<e.length-1;o=-1;let a,c,f=e.length+t.length,u;for(let p=0;p<e.length;p++){for(a=0,c=f;a<c;)r(p,n+c)<=s?a=c:f=c,c=Math.floor((f-a)/2+a);f=c;let _=Math.max(1,n-c+1),D=Math.min(n+c,t.length)+e.length,d=Array(D+2);d[D+1]=(1<<p)-1;for(let E=D;E>=_;E--){let L=i[t.charAt(E-1)];if(p===0?d[E]=(d[E+1]<<1|1)&L:d[E]=(d[E+1]<<1|1)&L|((u[E+1]|u[E])<<1|1)|u[E+1],d[E]&h){let m=r(p,E-1);if(m<=s)if(s=m,o=E-1,o>n)_=Math.max(1,2*n-o);else break}}if(r(p+1,n)>s)break;u=d}return o};g.prototype.match_alphabet_=function(t){let e={};for(let n=0;n<t.length;n++)e[t.charAt(n)]=0;for(let n=0;n<t.length;n++)e[t.charAt(n)]|=1<<t.length-n-1;return e};g.prototype.patch_addContext_=function(t,e){if(e.length==0)return;if(t.start2===null)throw Error(\"patch not initialized\");let n=e.substring(t.start2,t.start2+t.length1),i=0;for(;e.indexOf(n)!=e.lastIndexOf(n)&&n.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)i+=this.Patch_Margin,n=e.substring(t.start2-i,t.start2+t.length1+i);i+=this.Patch_Margin,t.start2-i>0&&g.prototype.isLowSurrogate(e[t.start2-i])&&i++;let l=e.substring(t.start2-i,t.start2);l&&t.diffs.unshift(new g.Diff(0,l)),t.start2+t.length1+i<e.length&&g.prototype.isHighSurrogate(e[t.start2+t.length1+i])&&i++;let r=e.substring(t.start2+t.length1,t.start2+t.length1+i);r&&t.diffs.push(new g.Diff(0,r)),t.start1-=l.length,t.start2-=l.length,t.length1+=l.length+r.length,t.length2+=l.length+r.length};g.prototype.patch_make=function(t,e,n){let i,l;if(typeof t==\"string\"&&typeof e==\"string\"&&typeof n>\"u\")i=t,l=this.diff_main(i,e,!0),l.length>2&&(this.diff_cleanupSemantic(l),this.diff_cleanupEfficiency(l));else if(t&&typeof t==\"object\"&&typeof e>\"u\"&&typeof n>\"u\")l=t,i=this.diff_text1(l);else if(typeof t==\"string\"&&e&&typeof e==\"object\"&&typeof n>\"u\")i=t,l=e;else if(typeof t==\"string\"&&typeof e==\"string\"&&n&&typeof n==\"object\")i=t,l=n;else throw new Error(\"Unknown call format to patch_make.\");if(l.length===0)return[];l=this.diff_cleanupSplitSurrogates(l);let r=[],s=new g.patch_obj,o=0,h=0,a=0,c=i,f=i;for(let u=0;u<l.length;u++){let p=l[u][0],_=l[u][1];switch(!o&&p!==0&&(s.start1=h,s.start2=a),p){case 1:s.diffs[o++]=l[u],s.length2+=_.length,f=f.substring(0,a)+_+f.substring(a);break;case-1:s.length1+=_.length,s.diffs[o++]=l[u],f=f.substring(0,a)+f.substring(a+_.length);break;case 0:_.length<=2*this.Patch_Margin&&o&&l.length!=u+1?(s.diffs[o++]=l[u],s.length1+=_.length,s.length2+=_.length):_.length>=2*this.Patch_Margin&&o&&(this.patch_addContext_(s,c),r.push(s),s=new g.patch_obj,o=0,c=f,h=a);break}p!==1&&(h+=_.length),p!==-1&&(a+=_.length)}return o&&(this.patch_addContext_(s,c),r.push(s)),r};g.prototype.patch_deepCopy=function(t){let e=[];for(let n=0;n<t.length;n++){let i=t[n],l=new g.patch_obj;l.diffs=[];for(let r=0;r<i.diffs.length;r++)l.diffs[r]=new g.Diff(i.diffs[r][0],i.diffs[r][1]);l.start1=i.start1,l.start2=i.start2,l.length1=i.length1,l.length2=i.length2,e[n]=l}return e};g.prototype.patch_apply=function(t,e){if(t.length==0)return[e,[]];t=this.patch_deepCopy(t);let n=this.patch_addPadding(t);e=n+e+n,this.patch_splitMax(t);let i=0,l=[];for(let r=0;r<t.length;r++){let s=t[r].start2+i,o=this.diff_text1(t[r].diffs),h,a=-1;if(o.length>this.Match_MaxBits?(h=this.match_main(e,o.substring(0,this.Match_MaxBits),s),h!=-1&&(a=this.match_main(e,o.substring(o.length-this.Match_MaxBits),s+o.length-this.Match_MaxBits),(a==-1||h>=a)&&(h=-1))):h=this.match_main(e,o,s),h==-1)l[r]=!1,i-=t[r].length2-t[r].length1;else{l[r]=!0,i=h-s;let c;if(a==-1?c=e.substring(h,h+o.length):c=e.substring(h,a+this.Match_MaxBits),o==c)e=e.substring(0,h)+this.diff_text2(t[r].diffs)+e.substring(h+o.length);else{let f=this.diff_main(o,c,!1);if(o.length>this.Match_MaxBits&&this.diff_levenshtein(f)/o.length>this.Patch_DeleteThreshold)l[r]=!1;else{this.diff_cleanupSemanticLossless(f);let u=0,p;for(let _=0;_<t[r].diffs.length;_++){let D=t[r].diffs[_];D[0]!==0&&(p=this.diff_xIndex(f,u)),D[0]===1?e=e.substring(0,h+p)+D[1]+e.substring(h+p):D[0]===-1&&(e=e.substring(0,h+p)+e.substring(h+this.diff_xIndex(f,u+D[1].length))),D[0]!==-1&&(u+=D[1].length)}}}}}return e=e.substring(n.length,e.length-n.length),[e,l]};g.prototype.patch_addPadding=function(t){let e=this.Patch_Margin,n=\"\";for(let r=1;r<=e;r++)n+=String.fromCharCode(r);for(let r=0;r<t.length;r++)t[r].start1+=e,t[r].start2+=e;let i=t[0],l=i.diffs;if(l.length==0||l[0][0]!=0)l.unshift(new g.Diff(0,n)),i.start1-=e,i.start2-=e,i.length1+=e,i.length2+=e;else if(e>l[0][1].length){let r=e-l[0][1].length;l[0][1]=n.substring(l[0][1].length)+l[0][1],i.start1-=r,i.start2-=r,i.length1+=r,i.length2+=r}if(i=t[t.length-1],l=i.diffs,l.length==0||l[l.length-1][0]!=0)l.push(new g.Diff(0,n)),i.length1+=e,i.length2+=e;else if(e>l[l.length-1][1].length){let r=e-l[l.length-1][1].length;l[l.length-1][1]+=n.substring(0,r),i.length1+=r,i.length2+=r}return n};g.prototype.patch_splitMax=function(t){let e=this.Match_MaxBits;for(let n=0;n<t.length;n++){if(t[n].length1<=e)continue;let i=t[n];t.splice(n--,1);let l=i.start1,r=i.start2,s=\"\";for(;i.diffs.length!==0;){let o=new g.patch_obj,h=!0;for(o.start1=l-s.length,o.start2=r-s.length,s!==\"\"&&(o.length1=o.length2=s.length,o.diffs.push(new g.Diff(0,s)));i.diffs.length!==0&&o.length1<e-this.Patch_Margin;){let c=i.diffs[0][0],f=i.diffs[0][1];c===1?(o.length2+=f.length,r+=f.length,o.diffs.push(i.diffs.shift()),h=!1):c===-1&&o.diffs.length==1&&o.diffs[0][0]==0&&f.length>2*e?(o.length1+=f.length,l+=f.length,h=!1,o.diffs.push(new g.Diff(c,f)),i.diffs.shift()):(f=f.substring(0,e-o.length1-this.Patch_Margin),o.length1+=f.length,l+=f.length,c===0?(o.length2+=f.length,r+=f.length):h=!1,o.diffs.push(new g.Diff(c,f)),f==i.diffs[0][1]?i.diffs.shift():i.diffs[0][1]=i.diffs[0][1].substring(f.length))}s=this.diff_text2(o.diffs),s=s.substring(s.length-this.Patch_Margin);let a=this.diff_text1(i.diffs).substring(0,this.Patch_Margin);a!==\"\"&&(o.length1+=a.length,o.length2+=a.length,o.diffs.length!==0&&o.diffs[o.diffs.length-1][0]===0?o.diffs[o.diffs.length-1][1]+=a:o.diffs.push(new g.Diff(0,a))),h||t.splice(++n,0,o)}}};g.prototype.patch_toText=function(t){let e=[];for(let n=0;n<t.length;n++)e[n]=t[n];return e.join(\"\")};g.prototype.patch_fromText=function(t){let e=[];if(!t)return e;let n=t.split(`\n`),i=0,l=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;for(;i<n.length;){let r=n[i].match(l);if(!r)throw new Error(\"Invalid patch string: \"+n[i]);let s=new g.patch_obj;for(e.push(s),s.start1=parseInt(r[1],10),r[2]===\"\"?(s.start1--,s.length1=1):r[2]==\"0\"?s.length1=0:(s.start1--,s.length1=parseInt(r[2],10)),s.start2=parseInt(r[3],10),r[4]===\"\"?(s.start2--,s.length2=1):r[4]==\"0\"?s.length2=0:(s.start2--,s.length2=parseInt(r[4],10)),i++;i<n.length;){let o=n[i].charAt(0),h=\"\";try{h=decodeURI(n[i].substring(1))}catch{throw new Error(\"Illegal escape in patch_fromText: \"+h)}if(o==\"-\")s.diffs.push(new g.Diff(-1,h));else if(o==\"+\")s.diffs.push(new g.Diff(1,h));else if(o==\" \")s.diffs.push(new g.Diff(0,h));else{if(o==\"@\")break;if(o!==\"\")throw new Error('Invalid patch mode \"'+o+'\" in: '+h)}i++}}return e};g.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0};g.patch_obj.prototype.toString=function(){let t,e;this.length1===0?t=this.start1+\",0\":this.length1==1?t=this.start1+1:t=this.start1+1+\",\"+this.length1,this.length2===0?e=this.start2+\",0\":this.length2==1?e=this.start2+1:e=this.start2+1+\",\"+this.length2;let n=[\"@@ -\"+t+\" +\"+e+` @@\n`],i;g.prototype.diff_cleanupSplitSurrogates(this.diffs);for(let l=0;l<this.diffs.length;l++){switch(this.diffs[l][0]){case 1:i=\"+\";break;case-1:i=\"-\";break;case 0:i=\" \";break}n[l+1]=i+encodeURI(this.diffs[l][1])+`\n`}return n.join(\"\").replace(/%20/g,\" \")};function R(t){return t&&typeof t==\"object\"&&!Array.isArray(t)&&t!==null}function U(t,e){return R(t)&&R(e)&&Object.keys(e).forEach(n=>{n===\"__proto__\"||n===\"constructor\"||(R(e[n])?((!t[n]||!R(t[n]))&&(t[n]=e[n]),U(t[n],e[n])):Object.assign(t,{[n]:e[n]}))}),t}function N(t,e,n=!1){let i=null,l=!0;return(...r)=>{const s=n&&l,o=()=>{t.apply(this,r),i=null};s&&(l=!1,o()),i||(i=setTimeout(o,e))}}function tt(t,e){let n;return(...i)=>{const l=this;clearTimeout(n),n=setTimeout(()=>t.apply(l,i),e)}}function O(t=\"\"){return t.replace(/\\r\\n/g,`\n`)}function v(t,e,n,i){const l=n-t,r=t+l/2;return`M ${t} ${e} C ${r},${e} ${r},${i} ${n},${i}`}const I={DIFF_EQUAL:0,DIFF_DELETE:-1,DIFF_INSERT:1,EDITOR_RIGHT:\"right\",EDITOR_LEFT:\"left\",RTL:\"rtl\",LTR:\"ltr\",SVG_NS:\"http://www.w3.org/2000/svg\",DIFF_GRANULARITY_SPECIFIC:\"specific\",DIFF_GRANULARITY_BROAD:\"broad\"};function H(t,e){let{mode:n}=t.options;return e===I.EDITOR_LEFT&&t.options.left.mode!==null&&(n=t.options.left.mode),e===I.EDITOR_RIGHT&&t.options.right.mode!==null&&(n=t.options.right.mode),n}function Q(t,e){let{theme:n}=t.options;return e===I.EDITOR_LEFT&&t.options.left.theme!==null&&(n=t.options.left.theme),e===I.EDITOR_RIGHT&&t.options.right.theme!==null&&(n=t.options.right.theme),n}function Y(t,e){return t.ace.getSession().doc.getLine(e)}function et(t){return document.getElementById(t.options.left.id).offsetHeight}function x(t){const e=document.createElement(\"div\"),n={class:t.className,style:`top:${t.topOffset}px`,title:t.tooltip,\"data-diff-index\":t.diffIndex};for(const i in n)e.setAttribute(i,n[i]);return e.innerHTML=t.arrowContent,e}function M(t,e){const n=Math.random().toString(36).substr(2,5),i=`js-${e}-${n}`,l=t.querySelector(`.${e}`);if(l)return l.id=l.id||i,l.id;const r=document.createElement(\"div\");return t.appendChild(r),r.className=e,r.id=i,r.id}function $(t,e,n,i){const l=t===\"document\"?document:document.querySelector(t);l.addEventListener(e,r=>{const s=l.querySelectorAll(n),{target:o}=r;for(let h=0,a=s.length;h<a;h+=1){let c=o;const f=s[h];for(;c&&c!==l;)c===f&&i.call(f,r),c=c.parentNode}})}let A;function nt(t){if(t.Range)return t.Range;const e=t.acequire||t.require;return e?e(\"ace/range\"):!1}function k(t={}){if(!(this instanceof k))return new k(t);const e=this,n=()=>window?window.ace:void 0;e.options=U({ace:n(),mode:null,theme:null,element:null,diffGranularity:I.DIFF_GRANULARITY_BROAD,lockScrolling:!1,showDiffs:!0,showConnectors:!0,maxDiffs:5e3,left:{id:null,content:null,mode:null,theme:null,editable:!0,copyLinkEnabled:!0},right:{id:null,content:null,mode:null,theme:null,editable:!0,copyLinkEnabled:!0},classes:{gutterID:\"acediff__gutter\",diff:\"acediff__diffLine\",connector:\"acediff__connector\",newCodeConnectorLink:\"acediff__newCodeConnector\",newCodeConnectorLinkContent:\"→\",deletedCodeConnectorLink:\"acediff__deletedCodeConnector\",deletedCodeConnectorLinkContent:\"←\",copyRightContainer:\"acediff__copy--right\",copyLeftContainer:\"acediff__copy--left\"},connectorYOffset:0},t);const{ace:i}=e.options;if(!i){const l=\"No ace editor found nor supplied - `options.ace` or `window.ace` is missing\";return console.error(l),new Error(l)}if(A=nt(i),!A){const l=\"Could not require Range module for Ace. Depends on your bundling strategy, but it usually comes with Ace itself. See https://ace.c9.io/api/range.html, open an issue on GitHub ace-diff/ace-diff\";return console.error(l),new Error(l)}if(e.options.element===null){const l=\"You need to specify an element for Ace-diff - `options.element` is missing\";return console.error(l),new Error(l)}if(e.options.element instanceof HTMLElement?e.el=e.options.element:e.el=document.body.querySelector(e.options.element),!e.el){const l=`Can't find the specified element ${e.options.element}`;return console.error(l),new Error(l)}e.options.left.id=M(e.el,\"acediff__left\"),e.options.classes.gutterID=M(e.el,\"acediff__gutter\"),e.options.right.id=M(e.el,\"acediff__right\"),e.el.innerHTML=`<div class=\"acediff__wrap\">${e.el.innerHTML}</div>`,e.editors={left:{ace:i.edit(e.options.left.id),markers:[],lineLengths:[]},right:{ace:i.edit(e.options.right.id),markers:[],lineLengths:[]},editorHeight:null},e.editors.left.ace.getSession().setMode(H(e,I.EDITOR_LEFT)),e.editors.right.ace.getSession().setMode(H(e,I.EDITOR_RIGHT)),e.editors.left.ace.setReadOnly(!e.options.left.editable),e.editors.right.ace.setReadOnly(!e.options.right.editable),e.editors.left.ace.setTheme(Q(e,I.EDITOR_LEFT)),e.editors.right.ace.setTheme(Q(e,I.EDITOR_RIGHT)),e.editors.left.ace.setValue(O(e.options.left.content),-1),e.editors.right.ace.setValue(O(e.options.right.content),-1),e.editors.editorHeight=et(e),setTimeout(()=>{e.lineHeight=e.editors.left.ace.renderer.lineHeight,it(e),ot(e),K(e),e.diff()},1)}k.prototype={setOptions(t){U(this.options,t),this.diff()},getNumDiffs(){return this.diffs.length},getEditors(){return{left:this.editors.left.ace,right:this.editors.right.ace}},diff(){const t=new g,e=this.editors.left.ace.getSession().getValue(),n=this.editors.right.ace.getSession().getValue(),i=t.diff_main(n,e);t.diff_cleanupSemantic(i),this.editors.left.lineLengths=G(this.editors.left),this.editors.right.lineLengths=G(this.editors.right);const l=[],r={left:0,right:0};i.forEach(s=>{const o=s[0];let h=s[1];h.length!==0&&(o===I.DIFF_EQUAL?(r.left+=h.length,r.right+=h.length):o===I.DIFF_DELETE?(l.push(q(this,I.DIFF_DELETE,r.left,r.right,h)),r.right+=h.length):o===I.DIFF_INSERT&&(l.push(q(this,I.DIFF_INSERT,r.left,r.right,h)),r.left+=h.length))},this),this.diffs=gt(this,l),!(this.diffs.length>this.options.maxDiffs)&&(J(this),X(this))},destroy(){const t=this.editors.left.ace.getValue();this.editors.left.ace.destroy();let e=this.editors.left.ace.container,n=e.cloneNode(!1);n.textContent=t,e.parentNode.replaceChild(n,e);const i=this.editors.right.ace.getValue();this.editors.right.ace.destroy(),e=this.editors.right.ace.container,n=e.cloneNode(!1),n.textContent=i,e.parentNode.replaceChild(n,e),document.getElementById(this.options.classes.gutterID).innerHTML=\"\",Z()}};let Z=()=>{};function it(t){t.editors.left.ace.getSession().on(\"changeScrollTop\",N(()=>{B(t)},16)),t.editors.right.ace.getSession().on(\"changeScrollTop\",N(()=>{B(t)},16));const e=t.diff.bind(t);t.editors.left.ace.on(\"change\",e),t.editors.right.ace.on(\"change\",e),t.options.left.copyLinkEnabled&&$(`#${t.options.classes.gutterID}`,\"click\",`.${t.options.classes.newCodeConnectorLink}`,i=>{P(t,i,I.LTR)}),t.options.right.copyLinkEnabled&&$(`#${t.options.classes.gutterID}`,\"click\",`.${t.options.classes.deletedCodeConnectorLink}`,i=>{P(t,i,I.RTL)});const n=tt(()=>{t.editors.availableHeight=document.getElementById(t.options.left.id).offsetHeight,t.diff()},250);window.addEventListener(\"resize\",n),Z=()=>{window.removeEventListener(\"resize\",n)}}function P(t,e,n){const i=parseInt(e.target.getAttribute(\"data-diff-index\"),10),l=t.diffs[i];let r,s,o,h,a,c;n===I.LTR?(r=t.editors.left,s=t.editors.right,o=l.leftStartLine,h=l.leftEndLine,a=l.rightStartLine,c=l.rightEndLine):(r=t.editors.right,s=t.editors.left,o=l.rightStartLine,h=l.rightEndLine,a=l.leftStartLine,c=l.leftEndLine);let f=\"\";for(let p=o;p<h;p+=1)f+=Y(r,p),p===o&&f===\"\"&&a!=0&&(f+=`\n`),p<r.ace.getSession().getLength()-1&&(f+=`\n`);const u=s.ace.getSession().getScrollTop();s.ace.getSession().replace(new A(a,0,c,0),f),s.ace.getSession().setScrollTop(parseInt(u,10)),t.diff()}function G(t){const e=t.ace.getSession().doc.getAllLines(),n=[];return e.forEach(i=>{n.push(i.length+1)}),n}function j(t,e,n,i,l){const r=t.editors[e];i<n&&(i=n);const s=`${l} ${i>n?\"lines\":\"targetOnly\"}`;i>n&&(i-=1),r.markers.push(r.ace.session.addMarker(new A(n,0,i,1),s,\"fullLine\"))}function B(t){J(t),X(t),st(t)}function J(t){t.editors.left.markers.forEach(e=>{t.editors.left.ace.getSession().removeMarker(e)},t),t.editors.right.markers.forEach(e=>{t.editors.right.ace.getSession().removeMarker(e)},t)}function rt(t,e,n,i,l){const r=t.editors.left.ace.getSession().getScrollTop(),s=t.editors.right.ace.getSession().getScrollTop();t.connectorYOffset=1;const o=-1,h=e*t.lineHeight-r+.5,a=t.gutterWidth+1,c=i*t.lineHeight-s+.5,f=-1,u=n*t.lineHeight-r+t.connectorYOffset+.5,p=t.gutterWidth+1,_=l*t.lineHeight-s+t.connectorYOffset+.5,D=v(o,h,a,c),d=v(p,_,f,u),E=`L${a},${c} ${p},${_}`,L=`L${f},${u} ${o},${h}`,m=`${D} ${E} ${d} ${L}`,F=document.createElementNS(I.SVG_NS,\"path\");F.setAttribute(\"d\",m),F.setAttribute(\"class\",t.options.classes.connector),t.gutterSVG.appendChild(F)}function lt(t,e,n){if(e.leftEndLine>e.leftStartLine&&t.options.left.copyLinkEnabled){const i=x({className:t.options.classes.newCodeConnectorLink,topOffset:e.leftStartLine*t.lineHeight,tooltip:\"Copy to right\",diffIndex:n,arrowContent:t.options.classes.newCodeConnectorLinkContent});t.copyRightContainer.appendChild(i)}if(e.rightEndLine>e.rightStartLine&&t.options.right.copyLinkEnabled){const i=x({className:t.options.classes.deletedCodeConnectorLink,topOffset:e.rightStartLine*t.lineHeight,tooltip:\"Copy to left\",diffIndex:n,arrowContent:t.options.classes.deletedCodeConnectorLinkContent});t.copyLeftContainer.appendChild(i)}}function st(t){const e=t.editors.left.ace.getSession().getScrollTop(),n=t.editors.right.ace.getSession().getScrollTop();t.copyRightContainer.style.cssText=`top: ${-e}px`,t.copyLeftContainer.style.cssText=`top: ${-n}px`}function q(t,e,n,i,l){let r={};if(e===I.DIFF_INSERT){let s=V(t.editors.left,n,l),o=z(t.editors.right,i),h=S(t.editors.right,o);const a=S(t.editors.left,s.startLine);let c=o,f=s.startLine===s.endLine,u=0;(s.startChar>0||f&&l.length<a)&&h>0&&s.startChar<a&&u++,r={leftStartLine:s.startLine,leftEndLine:s.endLine+1,rightStartLine:c,rightEndLine:c+u}}else{let s=V(t.editors.right,i,l),o=z(t.editors.left,n),h=S(t.editors.left,o);const a=S(t.editors.right,s.startLine);let c=o,f=s.startLine===s.endLine,u=0;(s.startChar>0||f&&l.length<a)&&h>0&&s.startChar<a&&u++,r={leftStartLine:c,leftEndLine:c+u,rightStartLine:s.startLine,rightEndLine:s.endLine+1}}return r}function V(t,e,n){const i={startLine:0,startChar:0,endLine:0,endChar:0},l=e+n.length;let r=0,s=!1,o=!1;t.lineLengths.forEach((a,c)=>{r+=a,!s&&e<r&&(i.startLine=c,i.startChar=e-r+a,s=!0),!o&&l<=r&&(i.endLine=c,i.endChar=l-r+a,o=!0)}),i.startChar>0&&S(t,i.startLine)===i.startChar&&(i.startLine++,i.startChar=0),i.endChar===0&&i.endLine--;const h=/\\n$/.test(n);return i.startChar>0&&h&&i.endLine++,i}function S(t,e){return Y(t,e).length}function z(t,e){const n=t.ace.getSession().doc.getAllLines();let i=0,l=0;for(let r=0;r<n.length;r+=1)if(l+=n[r].length+1,e<l){i=r;break}return l>t.ace.getSession().getValue().length&&(i+=1),i}function K(t){t.gutterHeight=document.getElementById(t.options.classes.gutterID).clientHeight,t.gutterWidth=document.getElementById(t.options.classes.gutterID).clientWidth;const e=W(t,I.EDITOR_LEFT),n=W(t,I.EDITOR_RIGHT),i=Math.max(e,n,t.gutterHeight);t.gutterSVG=document.createElementNS(I.SVG_NS,\"svg\"),t.gutterSVG.setAttribute(\"width\",t.gutterWidth),t.gutterSVG.setAttribute(\"height\",i),document.getElementById(t.options.classes.gutterID).appendChild(t.gutterSVG)}function W(t,e){return(e===I.EDITOR_LEFT?t.editors.left:t.editors.right).ace.getSession().getLength()*t.lineHeight}function ot(t){t.copyRightContainer=document.createElement(\"div\"),t.copyRightContainer.setAttribute(\"class\",t.options.classes.copyRightContainer),t.copyLeftContainer=document.createElement(\"div\"),t.copyLeftContainer.setAttribute(\"class\",t.options.classes.copyLeftContainer),document.getElementById(t.options.classes.gutterID).appendChild(t.copyRightContainer),document.getElementById(t.options.classes.gutterID).appendChild(t.copyLeftContainer)}function ht(t){document.getElementById(t.options.classes.gutterID).removeChild(t.gutterSVG),K(t)}function at(t){t.copyLeftContainer.innerHTML=\"\",t.copyRightContainer.innerHTML=\"\"}function gt(t,e){const n=[];function i(r){return t.options.diffGranularity===I.DIFF_GRANULARITY_SPECIFIC?r<1:r<=1}e.forEach((r,s)=>{if(s===0){n.push(r);return}let o=!1;for(let h=0;h<n.length;h+=1)if(i(Math.abs(r.leftStartLine-n[h].leftEndLine))&&i(Math.abs(r.rightStartLine-n[h].rightEndLine))){n[h].leftStartLine=Math.min(r.leftStartLine,n[h].leftStartLine),n[h].rightStartLine=Math.min(r.rightStartLine,n[h].rightStartLine),n[h].leftEndLine=Math.max(r.leftEndLine,n[h].leftEndLine),n[h].rightEndLine=Math.max(r.rightEndLine,n[h].rightEndLine),o=!0;break}o||n.push(r)});const l=[];return n.forEach(r=>{r.leftStartLine===r.leftEndLine&&r.rightStartLine===r.rightEndLine||l.push(r)}),l}function X(t){ht(t),at(t),t.diffs.forEach((e,n)=>{t.options.showDiffs&&(j(t,I.EDITOR_LEFT,e.leftStartLine,e.leftEndLine,t.options.classes.diff),j(t,I.EDITOR_RIGHT,e.rightStartLine,e.rightEndLine,t.options.classes.diff),t.options.showConnectors&&rt(t,e.leftStartLine,e.leftEndLine,e.rightStartLine,e.rightEndLine),lt(t,e,n))},t)}export{k as default};\n//# sourceMappingURL=ace-diff.min.js.map\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog persistent v-model=\"show\" width=\"80vw\">\n <v-card>\n <v-card-text>\n <v-card-title>{{ pluginName }} </v-card-title>\n <v-row v-if=\"existingPluginTxt !== null\" class=\"notice d-flex flex-row\">\n <v-icon size=\"x-large\" start color=\"yellow\"> mdi-alert-box </v-icon>\n <div style=\"flex: 1\">\n The existing plugin.txt is different from the {{ pluginName }}'s\n plugin.txt. Navigate the diffs making whatever edits you want before\n installing. You may want to update {{ pluginName }}'s plugin.txt\n going forward.\n </div>\n </v-row>\n <v-row class=\"pb-3 pr-3\">\n <v-tabs v-model=\"tab\" class=\"ml-3\">\n <v-tab :key=\"0\"> Variables </v-tab>\n <v-tab :key=\"1\"> plugin.txt </v-tab>\n </v-tabs>\n </v-row>\n <form @submit.prevent=\"onSubmit\">\n <v-window v-model=\"tab\">\n <v-window-item :key=\"0\" eager=\"true\" class=\"tab\">\n <div class=\"pa-3\">\n <v-row class=\"mt-3\">\n <div v-for=\"(value, name) in localVariables\" :key=\"name\">\n <v-col style=\"width: 220px\">\n <v-text-field\n clearable\n type=\"text\"\n :label=\"name\"\n v-model=\"localVariables[name]\"\n />\n </v-col>\n </div>\n </v-row>\n </div>\n </v-window-item>\n <v-window-item\n v-if=\"existingPluginTxt === null\"\n :key=\"1 + '-new'\"\n eager=\"true\"\n class=\"tab\"\n >\n <v-row class=\"pa-3\">\n <v-col> This can be edited before installation. </v-col>\n </v-row>\n <pre\n ref=\"editor\"\n class=\"editor\"\n @contextmenu.prevent=\"showContextMenu\"\n ></pre>\n <v-menu v-model=\"contextMenu\" :target=\"[menuX, menuY]\">\n <v-list>\n <v-list-item link>\n <v-list-item-title @click=\"openDocumentation\">\n {{ docsKeyword }} documentation\n </v-list-item-title>\n </v-list-item>\n <v-divider />\n <v-list-item\n title=\"Toggle Vim mode\"\n prepend-icon=\"extras:vim\"\n @click=\"toggleVimMode\"\n />\n </v-list>\n </v-menu>\n </v-window-item>\n <v-window-item\n v-else\n :key=\"1 + '-existing'\"\n eager=\"true\"\n class=\"tab\"\n >\n <v-row class=\"pa-3\">\n <v-col>\n Existing plugin.txt. This can be edited before installation.\n </v-col>\n <v-col class=\"ml-6\">\n Uneditable plugin.txt from the new plugin.\n </v-col>\n </v-row>\n <pre ref=\"editor\" class=\"editor\"></pre>\n </v-window-item>\n </v-window>\n\n <v-card-actions class=\"px-2 mt-2\">\n <div v-if=\"existingPluginTxt !== null\">\n <v-btn variant=\"text\" @click=\"nextDiff\"> Next Diff </v-btn>\n <v-btn variant=\"text\" @click=\"previousDiff\">\n Previous Diff\n </v-btn>\n </div>\n <v-spacer />\n <v-btn\n variant=\"outlined\"\n @click.prevent=\"close\"\n data-test=\"edit-cancel\"\n >\n Cancel\n </v-btn>\n <v-btn variant=\"flat\" @click=\"submit\" data-test=\"edit-submit\">\n Install\n </v-btn>\n </v-card-actions>\n </form>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport * as ace from 'ace-builds'\nimport 'ace-builds/src-min-noconflict/mode-ruby'\nimport 'ace-builds/src-min-noconflict/theme-twilight'\nimport 'ace-builds/src-min-noconflict/ext-language_tools'\nimport 'ace-builds/src-min-noconflict/ext-searchbox'\nimport AceDiff from '@openc3/ace-diff'\nimport '@openc3/ace-diff/dist/ace-diff-dark.min.css'\nimport { toRaw } from 'vue'\nimport { AceEditorUtils } from '../../components/ace'\n\nexport default {\n props: {\n pluginName: {\n type: String,\n required: true,\n },\n variables: {\n type: Object,\n required: true,\n },\n pluginTxt: {\n type: String,\n required: true,\n },\n existingPluginTxt: {\n type: String,\n required: false,\n },\n modelValue: Boolean, // modelValue is the default prop when using v-model\n },\n data() {\n return {\n tab: 0,\n localVariables: [],\n localPluginTxt: '',\n localExistingPluginTxt: null,\n editor: null,\n differ: null,\n contextMenu: false,\n menuX: 0,\n menuY: 0,\n }\n },\n mounted() {\n const pluginMode = this.buildPluginMode()\n if (this.existingPluginTxt === null) {\n this.editor = ace.edit(this.$refs.editor)\n this.editor.setTheme('ace/theme/twilight')\n this.editor.session.setMode(new pluginMode())\n this.editor.session.setTabSize(2)\n this.editor.session.setUseWrapMode(true)\n this.editor.$blockScrolling = Infinity\n this.editor.setHighlightActiveLine(false)\n this.editor.setValue(this.localPluginTxt)\n this.editor.clearSelection()\n AceEditorUtils.applyVimModeIfEnabled(this.editor)\n this.editor.focus()\n } else {\n this.tab = 1 // Show the diff right off the bat\n this.differ = new AceDiff({\n element: this.$refs.editor,\n mode: new pluginMode(),\n theme: 'ace/theme/twilight',\n left: {\n content: this.localExistingPluginTxt,\n copyLinkEnabled: false,\n },\n right: {\n content: this.localPluginTxt,\n editable: false,\n },\n })\n // Match our existing editors\n this.differ.getEditors().left.setFontSize(16)\n this.differ.getEditors().right.setFontSize(16)\n \n // Apply vim mode if enabled to both editor instances\n AceEditorUtils.applyVimModeIfEnabled(this.differ.getEditors().left)\n AceEditorUtils.applyVimModeIfEnabled(this.differ.getEditors().right)\n \n this.curDiff = -1 // so the first will be 0\n }\n },\n beforeUnmount() {\n if (this.editor) {\n this.editor.destroy()\n }\n if (this.differ) {\n this.differ.destroy()\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n watch: {\n value: {\n immediate: true,\n handler: function () {\n this.localVariables = JSON.parse(JSON.stringify(this.variables)) // deep copy\n this.localPluginTxt = this.pluginTxt.slice()\n if (this.existingPluginTxt !== null) {\n this.localExistingPluginTxt = this.existingPluginTxt.slice()\n }\n },\n },\n },\n methods: {\n previousDiff() {\n this.curDiff--\n if (this.curDiff < 0) {\n this.curDiff = this.differ.diffs.length - 1\n }\n this.scrollToCurDiff()\n },\n nextDiff() {\n this.curDiff++\n if (this.curDiff >= this.differ.diffs.length) {\n this.curDiff = 0\n }\n this.scrollToCurDiff()\n },\n scrollToCurDiff() {\n if (this.differ.diffs.length === 0) return\n let lrow = this.differ.diffs[this.curDiff].leftStartLine\n let rrow = this.differ.diffs[this.curDiff].rightStartLine\n // Give it a little breathing room\n if (lrow > 5) {\n lrow -= 5\n }\n if (rrow > 5) {\n rrow -= 5\n }\n this.differ.getEditors().left.scrollToLine(lrow)\n this.differ.getEditors().right.scrollToLine(rrow)\n },\n buildPluginMode() {\n let oop = ace.require('ace/lib/oop')\n let RubyHighlightRules = ace.require(\n 'ace/mode/ruby_highlight_rules',\n ).RubyHighlightRules\n\n // TODO: Grab from code\n let keywords = ['VARIABLE']\n let regex = new RegExp(`(\\\\b${keywords.join('\\\\b|\\\\b')}\\\\b)`)\n let PluginHighlightRules = function () {\n RubyHighlightRules.call(this)\n // add openc3 rules to the ruby rules\n for (let rule in this.$rules) {\n this.$rules[rule].unshift({\n regex: regex,\n token: 'support.function',\n })\n }\n }\n oop.inherits(PluginHighlightRules, RubyHighlightRules)\n\n let MatchingBraceOutdent = ace.require(\n 'ace/mode/matching_brace_outdent',\n ).MatchingBraceOutdent\n let CstyleBehaviour = ace.require(\n 'ace/mode/behaviour/cstyle',\n ).CstyleBehaviour\n let FoldMode = ace.require('ace/mode/folding/ruby').FoldMode\n let Mode = function () {\n this.HighlightRules = PluginHighlightRules\n this.$outdent = new MatchingBraceOutdent()\n this.$behaviour = new CstyleBehaviour()\n this.foldingRules = new FoldMode()\n this.indentKeywords = this.foldingRules.indentKeywords\n }\n let RubyMode = ace.require('ace/mode/ruby').Mode\n oop.inherits(Mode, RubyMode)\n ;(function () {\n this.$id = 'ace/mode/openc3'\n }).call(Mode.prototype)\n return Mode\n },\n submit: function () {\n if (this.existingPluginTxt === null) {\n this.emitSubmit(this.editor.getValue().split('\\n'))\n } else {\n // Existing plugin.txt with all diffs resolved\n if (this.differ.diffs.length === 0) {\n this.emitSubmit(this.differ.getEditors().left.getValue().split('\\n'))\n } else {\n // Existing plugin.txt with unresolved diffs\n this.$dialog\n .confirm(\n `Diffs still detected! Install using 'Existing plugin.txt' (left) and ignore additional changes in the new plugin.txt (right)?`,\n {\n okText: 'Install',\n cancelText: 'Cancel',\n },\n )\n .then((dialog) => {\n this.emitSubmit(\n this.differ.getEditors().left.getValue().split('\\n'),\n )\n })\n .catch((error) => {\n // Cancelled, do nothing\n })\n }\n }\n },\n emitSubmit(lines) {\n let pluginHash = {\n name: this.pluginName,\n variables: toRaw(this.localVariables),\n plugin_txt_lines: lines,\n }\n this.$emit('callback', pluginHash)\n },\n close: function () {\n this.show = !this.show\n },\n showContextMenu: function (event) {\n this.menuX = event.pageX\n this.menuY = event.pageY\n\n let position = this.editor.getCursorPosition()\n let token = this.editor.session.getTokenAt(position.row, position.column)\n if (token) {\n let value = token.value.trim()\n if (value.includes(' ')) {\n this.docsKeyword = value.split(' ')[0]\n } else {\n this.docsKeyword = value\n }\n this.contextMenu = true\n }\n },\n toggleVimMode: function () {\n if (this.editor) {\n AceEditorUtils.toggleVimMode(this.editor)\n // don't worry about this.differ since AceDiff replaces the editor anyway, and thus there's no context menu\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.editor {\n height: 50vh;\n position: relative;\n font-size: 16px;\n}\n\n.notice {\n font-size: 20px;\n margin: 10px;\n}\n.tab {\n background-color: var(--color-background-surface-default);\n}\n.v-textarea :deep(textarea) {\n padding: 5px;\n}\n</style>\n"],"names":["_sfc_main","value","gemRegEx","f","axios","response","gem","link","_hoisted_1","_hoisted_2","_createBlock","_component_v_dialog","$options","_cache","$event","_withCtx","_createVNode","_component_v_card","_component_v_toolbar","_component_v_spacer","_createElementVNode","_component_v_card_text","_component_v_row","_createTextVNode","_component_v_col","_component_v_btn","$data","_component_v_icon","_openBlock","_createElementBlock","_hoisted_3","_hoisted_4","_Fragment","_renderList","data","index","_component_v_list_item","_component_v_list_item_title","_toDisplayString","_hoisted_5","_component_v_progress_circular","_hoisted_6","_component_v_tooltip","props","_mergeProps","_component_v_divider","_createCommentVNode","openPluginMode","ace.edit","AceEditorUtils","blob","oop","ace.require","JsonHighlightRules","MatchingBraceOutdent","CstyleBehaviour","FoldMode","Mode","RubyMode","event","position","token","$props","_withModifiers","args","_normalizeProps","_guardReactiveProps","_ctx","_component_v_file_input","_component_v_menu","_component_v_list","target","Api","file","itemIndex","_component_v_list_item_subtitle","_component_v_checkbox","_component_v_card_actions","TabsList","TopBar","tab","_component_top_bar","_component_v_tabs","_component_v_tab","_component_router_view","g","t","e","i","r","o","h","a","c","u","d","p","_","D","E","L","m","F","b","w","y","T","C","n","l","s","R","U","N","tt","O","v","I","H","Q","Y","et","x","M","$","A","nt","k","it","ot","K","G","q","gt","J","X","Z","B","P","j","st","rt","lt","V","z","S","W","ht","at","pluginMode","AceDiff","lrow","rrow","RubyHighlightRules","keywords","regex","PluginHighlightRules","rule","dialog","error","lines","pluginHash","toRaw","_component_v_card_title","_component_v_window","_component_v_window_item","name","_component_v_text_field"],"mappings":";;;;;;AA+GA,MAAKA,KAAU;AAAA,EACb,OAAO;AAAA,IACL,YAAY;AAAA,EACb;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,UAAU,CAAE;AAAA,IACd;AAAA,EACD;AAAA,EACD,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AACJ,eAAO,KAAK;AAAA,MACb;AAAA,MACD,IAAIC,GAAO;AACT,aAAK,MAAM,qBAAqBA,CAAK;AAAA,MACtC;AAAA,IACF;AAAA,IACD,UAAU,WAAY;AACpB,aAAK,KAAK,WACN,KAAK,SAAS,WACT,KAAK,YAAW,IAEhB,KAAK,UAAS,IAJI,CAAA;AAAA,IAM5B;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,aAAa,WAAY;AACvB,YAAMC,IAAW;AACjB,aAAO,KAAK,SAAS,KAClB,OAAO,CAACC,MAAMD,EAAS,KAAKC,EAAE,IAAI,CAAC,EACnC,IAAI,CAACA,OACG;AAAA,QACL,MAAMA,EAAE;AAAA,QACR,KAAK,mDAAmDA,EAAE,IAAI;AAAA,MAChE,EACD;AAAA,IACJ;AAAA,IACD,aAAa,WAAY;AACvB,WAAK,gBAAgB,IACrBC,GAAM,IAAI,KAAK,GAAG,EAAE,KAAK,CAACC,MAAa;AACrC,aAAK,WAAWA,EAAS;AAAA,MAC1B,CAAA,GACD,WAAW,MAAM;AACf,aAAK,gBAAgB;AAAA,MACvB,GAAG,GAAK;AAAA,IACT;AAAA,IACD,cAAc,WAAY;AACxB,WAAK,OAAO,UACZ,KAAK,MACH,+EACF,KAAK,YAAW;AAAA,IACjB;AAAA,IACD,aAAa,SAAUC,GAAK;AAC1B,YAAMC,IAAO,SAAS,cAAc,GAAG;AACvC,MAAAA,EAAK,OAAOD,EAAI,KAChBC,EAAK,aAAa,YAAYD,EAAI,IAAI,GACtCC,EAAK,MAAK,GACVA,EAAK,OAAM;AAAA,IACZ;AAAA,EACF;AACH,GAnJaC,KAAA,EAAA,OAAM,OAAM,GAINC,KAAA,EAAA,OAAM,OAAM;EAnC/B,KAAA;AAAA,EAoEe,OAAM;;EApErB,KAAA;AAAA,EAyEe,OAAM;UAzErB,KAAA,EAAA,UAAA,KAAA,EAAA;;;cAuBEC,EAiFWC,GAAA;AAAA,IAxGb,YAuBqBC,EAAI;AAAA,IAvBzB,uBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAuBqBF,EAAI,OAAAE;AAAA,IAAE,OAAM;AAAA;IAvBjC,SAAAC,EAwBI,MA+ES;AAAA,MA/ETC,EA+ESC,GAAA,MAAA;AAAA,QAvGb,SAAAF,EAyBM,MAIY;AAAA,UAJZC,EAIYE,GAAA,EAJD,QAAO,KAAI,GAAA;AAAA,YAzB5B,SAAAH,EA0BQ,MAAY;AAAA,cAAZC,EAAYG,CAAA;AAAA,cACZN,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAO,EAA4B,cAAtB,mBAAe,EAAA;AAAA,cACrBJ,EAAYG,CAAA;AAAA;YA5BpB,GAAA;AAAA;UA8BMH,EAwEcK,GAAA,MAAA;AAAA,YAtGpB,SAAAN,EA+BQ,MAsEM;AAAA,cAtENK,EAsEM,OAtENZ,IAsEM;AAAA,gBArEJQ,EAAsDM,GAAA,EAA/C,OAAM,OAAM,GAAA;AAAA,kBAhC7B,SAAAP,EAgC8B,MAA0BF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,oBAhCxDU,EAgC8B,4BAA0B;AAAA;kBAhCxD,GAAA;AAAA;gBAiCUP,EAeQM,GAAA,MAAA;AAAA,kBAhDlB,SAAAP,EAkCY,MAaQ;AAAA,oBAbRC,EAaQQ,GAAA,MAAA;AAAA,sBA/CpB,SAAAT,EAmCc,MAWM;AAAA,wBAXNK,EAWM,OAXNX,IAWM;AAAA,0BAVJO,EASQS,GAAA;AAAA,4BARL,SAAOb,EAAY;AAAA,4BACpB,OAAA;AAAA,4BACA,aAAU;AAAA,4BACV,OAAM;AAAA,4BACL,UAAUc,EAAa;AAAA;4BAzC1C,SAAAX,EA0CiB,MAEC;AAAA,8BA5ClBF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAU,EA0CiB,UAEC;AAAA,8BAAAP,EAA8CW,GAAA;AAAA,gCAAtC,KAAA;AAAA,gCAAI,OAAM;AAAA;gCA5CpC,SAAAZ,EA4C2C,MAAYF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,kCA5CvDU,EA4C2C,cAAY;AAAA;gCA5CvD,GAAA;AAAA;;4BAAA,GAAA;AAAA;;;sBAAA,GAAA;AAAA;;kBAAA,GAAA;AAAA;gBAmEUP,EAA4CM,GAAA,EAArC,OAAM,OAAM,GAAA;AAAA,kBAnE7B,SAAAP,EAmE8B,MAAgBF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,oBAnE9CU,EAmE8B,kBAAgB;AAAA;kBAnE9C,GAAA;AAAA;gBAoEkCX,EAAA,SAAS,SAAM,KAAvCgB,KAAAC,EAIM,OAJNC,IAIM;AAAA,kBAHJd,EAEQM,GAAA,EAFD,OAAM,OAAM,GAAA;AAAA,oBArE/B,SAAAP,EAsEc,MAAqDF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,sBAArDO,EAAqD,cAA/C,4CAAwC,EAAA;AAAA;oBAtE5D,GAAA;AAAA;uBAyEUQ,KAAAC,EA2BM,OA3BNE,IA2BM;AAAA,mBA1BJH,EAAA,EAAA,GAAAC,EAyBMG,SAnGlBC,EA0EyCrB,EAAA,UA1EzC,CA0EyBsB,GAAMC,YAAnBN,EAyBM,OAAA,EAzBkC,KAAKM,KAAK;AAAA,oBAChDnB,EAsBcoB,GAAA,MAAA;AAAA,sBAjG5B,SAAArB,EA4EgB,MAAsD;AAAA,wBAAtDC,EAAsDqB,GAAA,MAAA;AAAA,0BA5EtE,SAAAtB,EA4EmC,MAAe;AAAA,4BA5ElDQ,EA4EsCe,EAAAJ,EAAK,IAAI,GAAA,CAAA;AAAA;0BA5E/C,GAAA;AAAA;wBA8EgBlB,EAkBcoB,GAAA,EAlBD,MAAA,GAAI,GAAA;AAAA,0BA9EjC,SAAArB,EA+EkB,MAEM;AAAA,4BAFKW,EAAc,kBAAzBE,KAAAC,EAEM,OAjFxBU,IAAA;AAAA,8BAgFoBvB,EAAqDwB,GAAA;AAAA,gCAAhC,eAAA;AAAA,gCAAc,OAAM;AAAA;mCAE3CZ,KAAAC,EAaM,OA/FxBY,IAAA;AAAA,8BAmFoBzB,EAWY0B,GAAA,EAXD,UAAS,MAAK,GAAA;AAAA,gCACN,WAAS3B,EACxB,CAMS,EAPmB,OAAA4B,QAAK;AAAA,kCACjC3B,EAMSW,GANTiB,GAMS,EA3FjC,SAAA,MAsFkCD,GAAK;AAAA,oCACZ,SAAK,CAAA7B,MAAEF,EAAW,YAACsB,CAAI;AAAA,oCACvB,UAAUR,EAAc;AAAA;oCAxFnD,SAAAX,EAyFyB,MAEDF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,sCA3FxBU,EAyFyB,sBAED;AAAA;oCA3FxB,GAAA;AAAA;;gCAAA,SAAAR,EA6FsB,MAAyB;AAAA,kCAAzBF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAO,EAAyB,cAAnB,gBAAY,EAAA;AAAA;gCA7FxC,GAAA;AAAA;;;0BAAA,GAAA;AAAA;;sBAAA,GAAA;AAAA;oBAkG+Be,IAAQvB,EAAQ,SAAC,SAAM,UAAxCF,EAA6DmC,GAAA,EAAd,KAAKV,EAAK,CAAA,KAlGvEW,EAAA,IAAA,EAAA;AAAA;;;;YAAA,GAAA;AAAA;;QAAA,GAAA;AAAA;;IAAA,GAAA;AAAA;;oDCkIK9C,KAAU;AAAA,EACb,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACD,MAAM;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,UAAU;AAAA,EACX;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,EACD;AAAA,EACD,UAAU;AACR,UAAM+C,IAAiB,KAAK,gBAAe;AAC3C,SAAK,SAASC,EAAAA,KAAS,KAAK,MAAM,MAAM,GACxC,KAAK,OAAO,SAAS,oBAAoB,GACzC,KAAK,OAAO,QAAQ,QAAQ,IAAID,EAAgB,CAAA,GAChD,KAAK,OAAO,QAAQ,WAAW,CAAC,GAChC,KAAK,OAAO,QAAQ,eAAe,EAAI,GACvC,KAAK,OAAO,kBAAkB,OAC9B,KAAK,OAAO,uBAAuB,EAAK,GACxC,KAAK,OAAO,SAAS,KAAK,OAAO,GACjC,KAAK,OAAO,eAAc,GAC1BE,EAAe,sBAAsB,KAAK,MAAM,GAChD,KAAK,OAAO,MAAK,GACb,KAAK,YACP,KAAK,OAAO,YAAY,EAAI;AAAA,EAE/B;AAAA,EACD,gBAAgB;AACd,IAAI,KAAK,UACP,KAAK,OAAO,QAAO;AAAA,EAEtB;AAAA,EACD,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AACJ,eAAO,KAAK;AAAA,MACb;AAAA,MACD,IAAIhD,GAAO;AACT,aAAK,MAAM,qBAAqBA,CAAK;AAAA,MACtC;AAAA,IACF;AAAA,IACD,OAAO,WAAY;AACjB,aAAO,GAAG,KAAK,IAAI,KAAK,KAAK,IAAI;AAAA,IAClC;AAAA,IACD,OAAO,WAAY;AACjB,aAAI,KAAK,UAAU,KAAK,OAAO,SAAQ,MAAO,MAAM,CAAC,KAAK,OACjD,4BAEF;AAAA,IACR;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,QAAQ,WAAY;AAClB,WAAK,MAAM,UAAU,KAAK,OAAO,SAAU,CAAA,GAC3C,KAAK,OAAO,CAAC,KAAK;AAAA,IACnB;AAAA,IACD,OAAO,WAAY;AACjB,WAAK,OAAO,CAAC,KAAK;AAAA,IACnB;AAAA,IACD,UAAU,WAAY;AACpB,YAAMiD,IAAO,IAAI,KAAK,CAAC,KAAK,OAAO,SAAQ,CAAE,GAAG;AAAA,QAC9C,MAAM;AAAA,MACP,CAAA,GAEK3C,IAAO,SAAS,cAAc,GAAG;AACvC,MAAAA,EAAK,OAAO,IAAI,gBAAgB2C,CAAI,GACpC3C,EAAK;AAAA,QACH;AAAA,QACA,GAAG,KAAK,KAAK,YAAa,CAAA,IAAI,KAAK,KAAK,YAAa,CAAA;AAAA,MACvD,GACAA,EAAK,MAAK;AAAA,IACX;AAAA,IACD,kBAAkB;AAChB,UAAI4C,IAAMC,EAAAA,QAAY,aAAa,GAC/BC,IAAqBD,EAAW;AAAA,QAClC;AAAA,MACF,EAAE,oBAEEE,IAAuBF,EAAW;AAAA,QACpC;AAAA,MACF,EAAE,sBACEG,IAAkBH,EAAW;AAAA,QAC/B;AAAA,MACF,EAAE,iBACEI,IAAWJ,UAAY,uBAAuB,EAAE,UAChDK,IAAO,WAAY;AACrB,aAAK,iBAAiBJ,GACtB,KAAK,WAAW,IAAIC,EAAoB,GACxC,KAAK,aAAa,IAAIC,EAAe,GACrC,KAAK,eAAe,IAAIC,EAAQ,GAChC,KAAK,iBAAiB,KAAK,aAAa;AAAA,MAC1C,GACIE,IAAWN,UAAY,eAAe,EAAE;AAC5C,aAAAD,EAAI,SAASM,GAAMC,CAAQ,IACzB,WAAY;AACZ,aAAK,MAAM;AAAA,SACV,KAAKD,EAAK,SAAS,GACfA;AAAA,IACR;AAAA,IACD,iBAAiB,SAAUE,GAAO;AAChC,WAAK,QAAQA,EAAM,OACnB,KAAK,QAAQA,EAAM;AAEnB,UAAIC,IAAW,KAAK,OAAO,kBAAiB,GACxCC,IAAQ,KAAK,OAAO,QAAQ,WAAWD,EAAS,KAAKA,EAAS,MAAM;AACxE,UAAIC,GAAO;AACT,YAAI5D,IAAQ4D,EAAM,MAAM,KAAI;AAC5B,QAAI5D,EAAM,SAAS,GAAG,IACpB,KAAK,cAAcA,EAAM,MAAM,GAAG,EAAE,CAAC,IAErC,KAAK,cAAcA,GAErB,KAAK,cAAc;AAAA,MACrB;AAAA,IACD;AAAA,IACD,eAAe,WAAY;AACzB,MAAAgD,EAAe,cAAc,KAAK,MAAM;AAAA,IACzC;AAAA,EACF;AACH,GAlQAzC,KAAA,CAAA,aAAA,GA8BeC,KAAA,EAAA,OAAM,OAAM,GAeZqB,KAAA,EAAA,OAAM,OAAM,UA7C3B,KAAA,EAAA,GAAAS,KAAA,CAAA,aAAA;;;cAuBE7B,EA+FWC,GAAA;AAAA,IA/FA,aAAamD,EAAQ;AAAA,IAvBlC,YAuB6ClD,EAAI;AAAA,IAvBjD,uBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAuB6CF,EAAI,OAAAE;AAAA,IAAE,OAAM;AAAA;IAvBzD,SAAAC,EAwBI,MA6FS;AAAA,MA7FTC,EA6FSC,GAAA,MAAA;AAAA,QArHb,SAAAF,EAyBM,MA2FO;AAAA,UA3FPK,EA2FO,QAAA;AAAA,YA3FI,UAAMP,EAAA,CAAA,MAAAA,EAAA,CAAA,IAzBvBkD,YAyBiCnD,EAAM,UAAAA,EAAA,OAAA,GAAAoD,CAAA,GAAA,CAAA,SAAA,CAAA;AAAA;YAC/BhD,EAgBYE,GAAA,EAhBD,QAAO,KAAI,GAAA;AAAA,cA1B9B,SAAAH,EA2BU,MAAY;AAAA,gBAAZC,EAAYG,CAAA;AAAA,gBACZC,EAAuB,QAAA;AAAA,kBA5BjC,aA4BgBkB,EAAc1B,EAAD,KAAA;AAAA,gBA5B7B,GAAA,MAAA,GAAAJ,EAAA;AAAA,gBA6BUQ,EAAYG,CAAA;AAAA,gBACZC,EAWM,OAXNX,IAWM;AAAA,kBAVJO,EASY0B,GAAA,EATD,UAAS,MAAK,GAAA;AAAA,oBACN,WAAS3B,EACxB,CAIM,EALsB,OAAA4B,QAAK;AAAA,sBACjCvB,EAIM,OArCtB6C,GAAAC,GAiC6BvB,CAAK,CAAA,GAAA;AAAA,wBAChB3B,EAESW,GAAA;AAAA,0BAFD,aAAU;AAAA,0BAAgB,SAAOf,EAAQ;AAAA;0BAlCnE,SAAAG,EAkCqE,MAEnDF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,4BApClBU,EAkCqE,gBAEnD;AAAA;0BApClB,GAAA;AAAA;;;oBAAA,SAAAR,EAuCc,MAAuB;AAAA,sBAAvBF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAO,EAAuB,cAAjB,cAAU,EAAA;AAAA;oBAvC9B,GAAA;AAAA;;;cAAA,GAAA;AAAA;YA4CQJ,EAuEcK,GAAA,MAAA;AAAA,cAnHtB,SAAAN,EA6CU,MAqEM;AAAA,gBArENK,EAqEM,OArENU,IAqEM;AAAA,kBApEQgC,EAAQ,WA9ChChB,EAAA,IAAA,EAAA,KA8CYlB,KAAAC,EA2BM,OAzElBE,IAAA;AAAA,oBA+Ccf,EAA4CM,GAAA,EAArC,OAAM,OAAM,GAAA;AAAA,sBA/CjC,SAAAP,EA+CkC,MAAgBF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,wBA/ClDU,EA+CkC,kBAAgB;AAAA;sBA/ClD,GAAA;AAAA;oBAgDcP,EAwBQM,GAAA;AAAA,sBAxBD,cAAA;AAAA,sBAAW,OAAM;AAAA;sBAhDtC,SAAAP,EAiDgB,MAcQ;AAAA,wBAdRC,EAcQQ,GAAA,EAdD,MAAK,IAAG,GAAA;AAAA,0BAjD/B,SAAAT,EAkDkB,MAYQ;AAAA,4BAZRC,EAYQS,GAAA;AAAA,8BAXN,OAAA;AAAA,8BACA,OAAM;AAAA,8BACL,SAAO0C,EAAQ;AAAA,8BACf,UAAW,CAAAA,EAAA,QAAQA,EAAA,eAAeL,EAAQ;AAAA,8BAC1C,SAASK,EAAW;AAAA,8BACrB,aAAU;AAAA;8BAGO,UACf,MAAuBtD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gCAAvBO,EAAuB,cAAjB,cAAU,EAAA;AAAA;8BA5DtC,SAAAL,EAyDmB,MAEC;AAAA,gCA3DpBF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAU,EAyDmB,QAEC;AAAA;8BA3DpB,GAAA;AAAA;;0BAAA,GAAA;AAAA;wBAgEgBP,EAOQQ,GAAA,EAPD,MAAK,IAAG,GAAA;AAAA,0BAhE/B,SAAAT,EAiEkB,MAKE;AAAA,4BALFC,EAKEoD,GAAA;AAAA,8BAtEpB,YAkE6BD,EAAI;AAAA,8BAlEjC,uBAAAtD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAkE6BqD,EAAI,OAAArD;AAAA,8BACb,QAAO;AAAA,8BACP,OAAM;AAAA,8BACL,UAAUgD,EAAQ;AAAA;;0BArEvC,GAAA;AAAA;;sBAAA,GAAA;AAAA;;kBA0EY9C,EAeQM,GAAA,EAfD,cAAA,GAAU,GAAA;AAAA,oBA1E7B,SAAAP,EA2Ec,MAIO;AAAA,sBAJPK,EAIO,OAAA;AAAA,wBAHL,OAAM;AAAA,wBACN,KAAI;AAAA,wBACH,eAAWP,EAAA,CAAA,MAAAA,EAAA,CAAA,IA9E5BkD,YA8EsCnD,EAAe,mBAAAA,EAAA,gBAAA,GAAAoD,CAAA,GAAA,CAAA,SAAA,CAAA;AAAA;sBAEvChD,EAQSqD,GAAA;AAAA,wBAxFvB,YAgF+B3C,EAAW;AAAA,wBAhF1C,uBAAAb,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAgF+BY,EAAW,cAAAZ;AAAA,wBAAG,QAAM,CAAGY,EAAK,OAAEA,EAAK,KAAA;AAAA;wBAhFlE,SAAAX,EAiFgB,MAMS;AAAA,0BANTC,EAMSsD,GAAA,MAAA;AAAA,4BAvFzB,SAAAvD,EAkFkB,MAIE;AAAA,8BAJFC,EAIEoB,GAAA;AAAA,gCAHA,OAAM;AAAA,gCACN,gBAAa;AAAA,gCACZ,SAAOxB,EAAa;AAAA;;4BArFzC,GAAA;AAAA;;wBAAA,GAAA;AAAA;;oBAAA,GAAA;AAAA;kBA0FYI,EAEQM,GAAA,EAFD,OAAM,OAAM,GAAA;AAAA,oBA1F/B,SAAAP,EA2Fc,MAAuD;AAAA,yBAAvDK,EAAuD,QAAA;AAAA,wBAAjD,OAAM;AAAA,wBA3F1B,aA2FoDkB,EAAc1B,EAAD,KAAA;AAAA,sBA3FjE,GAAA,MAAA,GAAA2B,EAAA,GAAA;AAAA,6BA2F6C3B,EAAK,KAAA;AAAA;;oBA3FlD,GAAA;AAAA;kBA6FYI,EAoBQM,GAAA,MAAA;AAAA,oBAjHpB,SAAAP,EA8Fc,MAAY;AAAA,sBAAZC,EAAYG,CAAA;AAAA,sBACZH,EAOQS,GAAA;AAAA,wBANL,SAhGjBsC,EAgGgCnD,EAAK,OAAA,CAAA,SAAA,CAAA;AAAA,wBACrB,SAAQ;AAAA,wBACR,OAAM;AAAA,wBACN,aAAU;AAAA;wBAnG1B,SAAAG,EAoGe,MAEDF,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,0BAtGdU,EAoGe,UAED;AAAA;wBAtGd,GAAA;AAAA;sBAwGuBuC,EAAQ,WAxG/BhB,EAAA,IAAA,EAAA,UAuGcpC,EASQe,GAAA;AAAA,wBAhHtB,KAAA;AAAA,wBAyGgB,OAAM;AAAA,wBACN,OAAM;AAAA,wBACN,MAAK;AAAA,wBACL,aAAU;AAAA,wBACT,UAAQ,CAAA,CAAIb,EAAK,SAAIkD,EAAQ;AAAA;wBA7G9C,SAAA/C,EA8Ge,MAEDF,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,0BAhHdU,EA8Ge,QAED;AAAA;wBAhHd,GAAA;AAAA;;oBAAA,GAAA;AAAA;;;cAAA,GAAA;AAAA;;;QAAA,GAAA;AAAA;;IAAA,GAAA;AAAA;;sFCoFKvB,KAAU;AAAA,EACb,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,cAAc;AAAA,EACf;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,iBAAiB,CAAE;AAAA,MACnB,gBAAgB;AAAA,IAClB;AAAA,EACD;AAAA,EACD,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AACJ,eAAO,KAAK;AAAA,MACb;AAAA,MACD,IAAIC,GAAO;AACT,aAAK,MAAM,qBAAqBA,CAAK;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AAAA,EACD,UAAU;AACR,eAAWsE,KAAU,KAAK;AACxBC,MAAAA,GAAI,IAAI,uBAAuBD,EAAO,IAAI,iBAAiB,EAAE;AAAA,QAC3D,CAAClE,MAAa;AACZ,UAAIA,EAAS,KAAK,WAAW,KAE3B,KAAK,gBAAgB,KAAK;AAAA,YACxB,MAAMkE,EAAO;AAAA,YACb,OAAOlE,EAAS;AAAA,UACjB,CAAA;AAAA,QAEJ;AAAA,MACH;AAAA,EAEH;AACH;;;cAvGEK,EA2DWC,GAAA;AAAA,IA9Eb,YAmBqBC,EAAI;AAAA,IAnBzB,uBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAmBqBF,EAAI,OAAAE;AAAA,IAAE,OAAM;AAAA;IAnBjC,SAAAC,EAoBI,MAyDS;AAAA,MAzDTC,EAyDSC,GAAA,MAAA;AAAA,QA7Eb,SAAAF,EAqBM,MAIY;AAAA,UAJZC,EAIYE,GAAA,EAJD,QAAO,KAAI,GAAA;AAAA,YArB5B,SAAAH,EAsBQ,MAAY;AAAA,cAAZC,EAAYG,CAAA;AAAA,cACZN,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAO,EAA8B,cAAxB,qBAAiB,EAAA;AAAA,cACvBJ,EAAYG,CAAA;AAAA;YAxBpB,GAAA;AAAA;UA0BMH,EAuBcK,GAAA,EAvBD,OAAM,OAAM,GAAA;AAAA,YA1B/B,SAAAN,EA2BQ,MAGM;AAAA,cAHNK,EAGM,OAHD,MAAA,aACOkB,EAAAwB,EAAA,MAAM,IAAG,yEAErB,CAAA;AAAA,eACAlC,EAAA,EAAA,GAAAC,EAWcG,SA1CtBC,EAiCoCP,EAAA,iBAjCpC,CAiCkB6C,GAAQpC,YAFlBzB,EAWc0B,GAAA;AAAA,gBAVZ,OAAM;AAAA,gBAEL,KAAKD;AAAA;gBAlChB,SAAApB,EAoCU,MAAwD;AAAA,kBAAxDC,EAAwDqB,GAAA,MAAA;AAAA,oBApClE,SAAAtB,EAoC6B,MAAiB;AAAA,sBApC9CQ,EAoCgCe,EAAAiC,EAAO,IAAI,GAAA,CAAA;AAAA;oBApC3C,GAAA;AAAA;0BAqCU1C,EAICG,GAAA,MAzCXC,EAsCwCsC,EAAO,OAtC/C,CAsCoBE,GAAMC,YADhBhE,EAICiE,GAAA,EAFE,KAAKD,KAAS;AAAA,oBAvC3B,SAAA3D,EAwCa,MAAU;AAAA,sBAxCvBQ,EAAAe,EAwCgBmC,CAAI,GAAA,CAAA;AAAA;oBAxCpB,GAAA;AAAA;;gBAAA,GAAA;AAAA;cA2CQzD,EAKE4D,GAAA;AAAA,gBAhDV,YA4CmBlD,EAAc;AAAA,gBA5CjC,uBAAAb,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MA4CmBY,EAAc,iBAAAZ;AAAA,gBACvB,OAAM;AAAA,gBACN,OAAM;AAAA,gBACN,aAAU;AAAA;;YA/CpB,GAAA;AAAA;UAkDME,EA0BiB6D,GAAA,EA1BD,OAAM,OAAM,GAAA;AAAA,YAlDlC,SAAA9D,EAmDQ,MAAY;AAAA,cAAZC,EAAYG,CAAA;AAAA,cACZH,EAWQS,GAAA;AAAA,gBAVN,SAAQ;AAAA,gBACR,aAAU;AAAA,gBACT,SAAKZ,EAAA,CAAA,MAAAA,EAAA,CAAA;AAAqC,kBAAAD,EAAI,OAAA,IAAuBuD,EAAK,MAAA,QAAA;AAAA;;gBAvDrF,SAAApD,EA6DS,MAEDF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,kBA/DRU,EA6DS,UAED;AAAA;gBA/DR,GAAA;AAAA;cAgEQP,EAWQS,GAAA;AAAA,gBAVN,SAAQ;AAAA,gBACR,aAAU;AAAA,gBACT,SAAKZ,EAAA,CAAA,MAAAA,EAAA,CAAA;AAAqC,kBAAAD,EAAI,OAAA,IAAuBuD,EAAA,gBAAgBzC,EAAc,cAAA;AAAA;;gBAnE9G,SAAAX,EAyES,MAEDF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,kBA3ERU,EAyES,WAED;AAAA;gBA3ER,GAAA;AAAA;;YAAA,GAAA;AAAA;;QAAA,GAAA;AAAA;;IAAA,GAAA;AAAA;;oDCsBMuD,KAAW;AAAA,EACf;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,2BAAkB;AAAA,EAC3C;AAAA,EACD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,2BAAkB;AAAA,EAC3C;AAAA,EACD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,8BAAqB;AAAA,EAC9C;AAAA,EACD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,2BAAkB;AAAA,EAC3C;AAAA,EACD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,iCAAwB;AAAA,EACjD;AAAA,EACD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,4BAAmB;AAAA,EAC5C;AAAA,EACD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,yBAAgB;AAAA,EACzC;AAAA,EACD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,yBAAgB;AAAA,EACzC;AAAA,EACD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,2BAAkB;AAAA,EAC3C;AAAA,EACD;AAAA,IACE,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,OAAO,4BAAmB;AAAA,EAC5C;AACH,GC3CK9E,KAAU;AAAA,EACb,YAAY;AAAA,IACV,QAAA+E;AAAA,EACD;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,EACD;AAAA,EACD,UAAU;AAAA,IACR,MAAM,WAAY;AAChB,aAAOD,GAAS,IAAI,CAACE,OACZ;AAAA,QACL,aAAaA,EAAI;AAAA,QACjB,MAAM,EAAE,MAAMA,EAAI,KAAM;AAAA,MAC1B,EACD;AAAA,IACF;AAAA,EACF;AACH;;;cArCEnD,EAUM,OAAA,MAAA;AAAA,IATJb,EAA0BiE,GAAA,EAAhB,OAAOvD,EAAK,MAAA,GAAA,MAAA,GAAA,CAAA,OAAA,CAAA;AAAA,IACtBV,EAOSC,GAAA,MAAA;AAAA,MAhCb,SAAAF,EA0BM,MAIS;AAAA,QAJTC,EAISkE,GAAA;AAAA,UA9Bf,YA0BuBxD,EAAM;AAAA,UA1B7B,uBAAAb,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MA0BuBY,EAAM,SAAAZ;AAAA,UAAE,cAAA;AAAA;UA1B/B,SAAAC,EA2Be,MAA4B;AAAA,aAAnCa,EAAA,EAAA,GAAAC,EAEQG,SA7BhBC,EA2BsCrB,EAAA,MA3BtC,CA2BuBoE,GAAK7C,YAApBzB,EAEQyE,GAAA;AAAA,cAF6B,KAAKhD;AAAA,cAAQ,IAAI6C,EAAI;AAAA;cA3BlE,SAAAjE,EA4BU,MAAqB;AAAA,gBA5B/BQ,EA4Bae,EAAA0C,EAAI,WAAW,GAAA,CAAA;AAAA;cA5B5B,GAAA;AAAA;;UAAA,GAAA;AAAA;QA+BMhE,EAAeoE,CAAA;AAAA;MA/BrB,GAAA;AAAA;;;oDCAMC,IAAE,WAAU;AAAC,OAAK,eAAa,GAAE,KAAK,gBAAc,GAAE,KAAK,kBAAgB,KAAG,KAAK,iBAAe,KAAI,KAAK,wBAAsB,KAAG,KAAK,eAAa,GAAE,KAAK,gBAAc;AAAE;AAAEA,EAAE,OAAK,SAASC,GAAEC,GAAE;AAAC,OAAK,CAAC,IAAED,GAAE,KAAK,CAAC,IAAEC;AAAC;AAAEF,EAAE,KAAK,UAAU,SAAO;AAAEA,EAAE,KAAK,UAAU,WAAS,WAAU;AAAC,SAAO,KAAK,CAAC,IAAE,MAAI,KAAK,CAAC;AAAC;AAAEA,EAAE,UAAU,YAAU,SAASC,GAAEC,GAAE,GAAEC,GAAE;AAAC,SAAOA,IAAE,QAAM,KAAK,gBAAc,IAAEA,IAAE,OAAO,YAAUA,KAAE,oBAAI,KAAI,GAAG,QAAO,IAAG,KAAK,eAAa;AAAK,MAAI,IAAEA;AAAE,MAAGF,KAAG,QAAMC,KAAG,KAAK,OAAM,IAAI,MAAM,yBAAyB;AAAE,MAAGD,KAAGC,EAAE,QAAOD,IAAE,CAAC,IAAID,EAAE,KAAK,GAAEC,CAAC,CAAC,IAAE,CAAE;AAAC,SAAO,IAAE,QAAM,IAAE;AAAI,MAAIG,IAAE,GAAE,IAAE,KAAK,kBAAkBH,GAAEC,CAAC,GAAEG,IAAEJ,EAAE,UAAU,GAAE,CAAC;AAAE,EAAAA,IAAEA,EAAE,UAAU,CAAC,GAAEC,IAAEA,EAAE,UAAU,CAAC,GAAE,IAAE,KAAK,kBAAkBD,GAAEC,CAAC;AAAE,MAAII,IAAEL,EAAE,UAAUA,EAAE,SAAO,CAAC;AAAE,EAAAA,IAAEA,EAAE,UAAU,GAAEA,EAAE,SAAO,CAAC,GAAEC,IAAEA,EAAE,UAAU,GAAEA,EAAE,SAAO,CAAC;AAAE,MAAIK,IAAE,KAAK,cAAcN,GAAEC,GAAEE,GAAE,CAAC;AAAE,SAAOC,KAAGE,EAAE,QAAQ,IAAIP,EAAE,KAAK,GAAEK,CAAC,CAAC,GAAEC,KAAGC,EAAE,KAAK,IAAIP,EAAE,KAAK,GAAEM,CAAC,CAAC,GAAE,KAAK,kBAAkBC,CAAC,GAAEA;AAAC;AAAEP,EAAE,UAAU,gBAAc,SAASC,GAAEC,GAAE,GAAEC,GAAE;AAAC,MAAI;AAAE,MAAG,CAACF,EAAE,QAAM,CAAC,IAAID,EAAE,KAAK,GAAEE,CAAC,CAAC;AAAE,MAAG,CAACA,EAAE,QAAM,CAAC,IAAIF,EAAE,KAAK,IAAGC,CAAC,CAAC;AAAE,MAAIG,IAAEH,EAAE,SAAOC,EAAE,SAAOD,IAAEC,GAAE,IAAED,EAAE,SAAOC,EAAE,SAAOA,IAAED,GAAEI,IAAED,EAAE,QAAQ,CAAC;AAAE,SAAOC,KAAG,MAAI,IAAE,CAAC,IAAIL,EAAE,KAAK,GAAEI,EAAE,UAAU,GAAEC,CAAC,CAAC,GAAE,IAAIL,EAAE,KAAK,GAAE,CAAC,GAAE,IAAIA,EAAE,KAAK,GAAEI,EAAE,UAAUC,IAAE,EAAE,MAAM,CAAC,CAAC,GAAEJ,EAAE,SAAOC,EAAE,WAAS,EAAE,CAAC,EAAE,CAAC,IAAE,EAAE,CAAC,EAAE,CAAC,IAAE,KAAI,KAAG,EAAE,UAAQ,IAAE,CAAC,IAAIF,EAAE,KAAK,IAAGC,CAAC,GAAE,IAAID,EAAE,KAAK,GAAEE,CAAC,CAAC,IAAE,KAAGD,EAAE,SAAO,OAAKC,EAAE,SAAO,MAAI,KAAK,eAAeD,GAAEC,GAAEC,CAAC,IAAE,KAAK,aAAaF,GAAEC,GAAEC,CAAC;AAAC;AAAEH,EAAE,UAAU,iBAAe,SAASC,GAAEC,GAAE,GAAE;AAAC,MAAIC,IAAE,KAAK,mBAAmBF,GAAEC,CAAC;AAAE,EAAAD,IAAEE,EAAE,QAAOD,IAAEC,EAAE;AAAO,MAAI,IAAEA,EAAE,WAAUC,IAAE,KAAK,UAAUH,GAAEC,GAAE,IAAG,CAAC;AAAE,OAAK,mBAAmBE,GAAE,CAAC,GAAE,KAAK,qBAAqBA,CAAC,GAAEA,EAAE,KAAK,IAAIJ,EAAE,KAAK,GAAE,EAAE,CAAC;AAAE,MAAI,IAAE,GAAEK,IAAE,GAAEC,IAAE,GAAEC,IAAE,IAAGC,IAAE;AAAG,SAAK,IAAEJ,EAAE,UAAQ;AAAC,YAAOA,EAAE,CAAC,EAAE,CAAC,GAAC;AAAA,MAAE,KAAK;AAAE,QAAAE,KAAIE,KAAGJ,EAAE,CAAC,EAAE,CAAC;AAAE;AAAA,MAAM,KAAM;AAAC,QAAAC,KAAIE,KAAGH,EAAE,CAAC,EAAE,CAAC;AAAE;AAAA,MAAM,KAAK;AAAE,YAAGC,KAAG,KAAGC,KAAG,GAAE;AAAC,UAAAF,EAAE,OAAO,IAAEC,IAAEC,GAAED,IAAEC,CAAC,GAAE,IAAE,IAAED,IAAEC;AAAE,cAAIxF,IAAE,KAAK,UAAUyF,GAAEC,GAAE,IAAG,CAAC;AAAE,mBAAQC,IAAE3F,EAAE,SAAO,GAAE2F,KAAG,GAAEA,IAAI,CAAAL,EAAE,OAAO,GAAE,GAAEtF,EAAE2F,CAAC,CAAC;AAAE,cAAE,IAAE3F,EAAE;AAAA,QAAM;AAAC,QAAAwF,IAAE,GAAED,IAAE,GAAEE,IAAE,IAAGC,IAAE;AAAG;AAAA,IAAK;AAAC;AAAA,EAAG;AAAC,SAAOJ,EAAE,IAAG,GAAGA;AAAC;AAAEJ,EAAE,UAAU,eAAa,SAASC,GAAEC,GAAE,GAAE;AAAC,MAAIC,IAAEF,EAAE,QAAO,IAAEC,EAAE,QAAOE,IAAE,KAAK,MAAMD,IAAE,KAAG,CAAC,GAAE,IAAEC,GAAEC,IAAE,IAAED,GAAEE,IAAE,IAAI,MAAMD,CAAC,GAAEE,IAAE,IAAI,MAAMF,CAAC;AAAE,WAAQK,IAAE,GAAEA,IAAEL,GAAEK,IAAI,CAAAJ,EAAEI,CAAC,IAAE,IAAGH,EAAEG,CAAC,IAAE;AAAG,EAAAJ,EAAE,IAAE,CAAC,IAAE,GAAEC,EAAE,IAAE,CAAC,IAAE;AAAE,MAAIC,IAAEL,IAAE,GAAErF,IAAE0F,IAAE,KAAG,GAAEC,IAAE,GAAEE,IAAE,GAAEC,IAAE,GAAEC,IAAE;AAAE,WAAQH,IAAE,GAAEA,IAAEN,KAAG,GAAE,oBAAI,QAAO,QAAS,IAAC,IAAGM,KAAI;AAAC,aAAQI,IAAE,CAACJ,IAAED,GAAEK,KAAGJ,IAAEC,GAAEG,KAAG,GAAE;AAAC,UAAIC,IAAE,IAAED,GAAEE;AAAE,MAAAF,KAAG,CAACJ,KAAGI,KAAGJ,KAAGJ,EAAES,IAAE,CAAC,IAAET,EAAES,IAAE,CAAC,IAAEC,IAAEV,EAAES,IAAE,CAAC,IAAEC,IAAEV,EAAES,IAAE,CAAC,IAAE;AAAE,UAAIE,IAAED,IAAEF;AAAE,aAAKE,IAAEb,KAAGc,IAAE,KAAGhB,EAAE,OAAOe,CAAC,KAAGd,EAAE,OAAOe,CAAC,IAAG,CAAAD,KAAIC;AAAI,UAAGX,EAAES,CAAC,IAAEC,GAAEA,IAAEb,EAAE,CAAAQ,KAAG;AAAA,eAAUM,IAAE,EAAE,CAAAR,KAAG;AAAA,eAAU3F,GAAE;AAAC,YAAIoG,IAAE,IAAEV,IAAEM;AAAE,YAAGI,KAAG,KAAGA,IAAEb,KAAGE,EAAEW,CAAC,KAAG,IAAG;AAAC,cAAIC,IAAEhB,IAAEI,EAAEW,CAAC;AAAE,cAAGF,KAAGG,EAAE,QAAO,KAAK,kBAAkBlB,GAAEC,GAAEc,GAAEC,GAAE,CAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;AAAC,aAAQH,IAAE,CAACJ,IAAEE,GAAEE,KAAGJ,IAAEG,GAAEC,KAAG,GAAE;AAAC,UAAIC,IAAE,IAAED,GAAEE;AAAE,MAAAF,KAAG,CAACJ,KAAGI,KAAGJ,KAAGH,EAAEQ,IAAE,CAAC,IAAER,EAAEQ,IAAE,CAAC,IAAEC,IAAET,EAAEQ,IAAE,CAAC,IAAEC,IAAET,EAAEQ,IAAE,CAAC,IAAE;AAAE,UAAIE,IAAED,IAAEF;AAAE,aAAKE,IAAEb,KAAGc,IAAE,KAAGhB,EAAE,OAAOE,IAAEa,IAAE,CAAC,KAAGd,EAAE,OAAO,IAAEe,IAAE,CAAC,IAAG,CAAAD,KAAIC;AAAI,UAAGV,EAAEQ,CAAC,IAAEC,GAAEA,IAAEb,EAAE,CAAAU,KAAG;AAAA,eAAUI,IAAE,EAAE,CAAAL,KAAG;AAAA,eAAU,CAAC9F,GAAE;AAAC,YAAIoG,IAAE,IAAEV,IAAEM;AAAE,YAAGI,KAAG,KAAGA,IAAEb,KAAGC,EAAEY,CAAC,KAAG,IAAG;AAAC,cAAIC,IAAEb,EAAEY,CAAC,GAAEE,IAAE,IAAED,IAAED;AAAE,cAAGF,IAAEb,IAAEa,GAAEG,KAAGH,EAAE,QAAO,KAAK,kBAAkBf,GAAEC,GAAEiB,GAAEC,GAAE,CAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAM,CAAC,IAAIpB,EAAE,KAAK,IAAGC,CAAC,GAAE,IAAID,EAAE,KAAK,GAAEE,CAAC,CAAC;AAAC;AAAEF,EAAE,UAAU,oBAAkB,SAASC,GAAEC,GAAE,GAAEC,GAAE,GAAE;AAAC,MAAIC,IAAEH,EAAE,UAAU,GAAE,CAAC,GAAE,IAAEC,EAAE,UAAU,GAAEC,CAAC,GAAEE,IAAEJ,EAAE,UAAU,CAAC,GAAEK,IAAEJ,EAAE,UAAUC,CAAC,GAAEI,IAAE,KAAK,UAAUH,GAAE,GAAE,IAAG,CAAC,GAAEI,IAAE,KAAK,UAAUH,GAAEC,GAAE,IAAG,CAAC;AAAE,SAAOC,EAAE,OAAOC,CAAC;AAAC;AAAER,EAAE,UAAU,qBAAmB,SAASC,GAAEC,GAAE;AAAC,MAAI,IAAE,CAAE,GAACC,IAAE,CAAA;AAAG,IAAE,CAAC,IAAE;AAAG,WAAS,EAAEG,GAAE;AAAC,QAAIC,IAAE,IAAGC,IAAE,GAAE1F,IAAE,IAAG2F,IAAE,EAAE;AAAO,WAAK3F,IAAEwF,EAAE,SAAO,KAAG;AAAC,MAAAxF,IAAEwF,EAAE,QAAQ;AAAA,GACzlGE,CAAC,GAAE1F,KAAG,OAAKA,IAAEwF,EAAE,SAAO;AAAG,UAAIK,IAAEL,EAAE,UAAUE,GAAE1F,IAAE,CAAC;AAAE,OAACqF,EAAE,iBAAeA,EAAE,eAAeQ,CAAC,IAAER,EAAEQ,CAAC,MAAI,UAAQJ,KAAG,OAAO,aAAaJ,EAAEQ,CAAC,CAAC,KAAGF,KAAGL,MAAIO,IAAEL,EAAE,UAAUE,CAAC,GAAE1F,IAAEwF,EAAE,SAAQC,KAAG,OAAO,aAAaE,CAAC,GAAEN,EAAEQ,CAAC,IAAEF,GAAE,EAAEA,GAAG,IAAEE,IAAGH,IAAE1F,IAAE;AAAA,IAAC;AAAC,WAAOyF;AAAA,EAAC;AAAC,MAAIH,IAAE,KAAI,IAAE,EAAEH,CAAC;AAAE,EAAAG,IAAE;AAAM,MAAIC,IAAE,EAAEH,CAAC;AAAE,SAAM,EAAC,QAAO,GAAE,QAAOG,GAAE,WAAU,EAAC;AAAC;AAAEL,EAAE,UAAU,qBAAmB,SAASC,GAAEC,GAAE;AAAC,WAAQ,IAAE,GAAE,IAAED,EAAE,QAAO,KAAI;AAAC,QAAIE,IAAEF,EAAE,CAAC,EAAE,CAAC,GAAE,IAAE,CAAE;AAAC,aAAQG,IAAE,GAAEA,IAAED,EAAE,QAAOC,IAAI,GAAEA,CAAC,IAAEF,EAAEC,EAAE,WAAWC,CAAC,CAAC;AAAE,IAAAH,EAAE,CAAC,EAAE,CAAC,IAAE,EAAE,KAAK,EAAE;AAAA,EAAC;AAAC;AAAED,EAAE,UAAU,oBAAkB,SAASC,GAAEC,GAAE;AAAC,MAAG,CAACD,KAAG,CAACC,KAAGD,EAAE,OAAO,CAAC,KAAGC,EAAE,OAAO,CAAC,EAAE,QAAO;AAAE,MAAI,IAAE,GAAEC,IAAE,KAAK,IAAIF,EAAE,QAAOC,EAAE,MAAM,GAAE,IAAEC,GAAEC,IAAE;AAAE,SAAK,IAAE,IAAG,CAAAH,EAAE,UAAUG,GAAE,CAAC,KAAGF,EAAE,UAAUE,GAAE,CAAC,KAAG,IAAE,GAAEA,IAAE,KAAGD,IAAE,GAAE,IAAE,KAAK,OAAOA,IAAE,KAAG,IAAE,CAAC;AAAE,SAAO;AAAC;AAAEH,EAAE,UAAU,oBAAkB,SAASC,GAAEC,GAAE;AAAC,MAAG,CAACD,KAAG,CAACC,KAAGD,EAAE,OAAOA,EAAE,SAAO,CAAC,KAAGC,EAAE,OAAOA,EAAE,SAAO,CAAC,EAAE,QAAO;AAAE,MAAI,IAAE,GAAEC,IAAE,KAAK,IAAIF,EAAE,QAAOC,EAAE,MAAM,GAAE,IAAEC,GAAEC,IAAE;AAAE,SAAK,IAAE,IAAG,CAAAH,EAAE,UAAUA,EAAE,SAAO,GAAEA,EAAE,SAAOG,CAAC,KAAGF,EAAE,UAAUA,EAAE,SAAO,GAAEA,EAAE,SAAOE,CAAC,KAAG,IAAE,GAAEA,IAAE,KAAGD,IAAE,GAAE,IAAE,KAAK,OAAOA,IAAE,KAAG,IAAE,CAAC;AAAE,SAAO;AAAC;AAAEH,EAAE,UAAU,sBAAoB,SAASC,GAAEC,GAAE;AAAC,MAAI,IAAED,EAAE,QAAOE,IAAED,EAAE;AAAO,MAAG,KAAG,KAAGC,KAAG,EAAE,QAAO;AAAE,MAAEA,IAAEF,IAAEA,EAAE,UAAU,IAAEE,CAAC,IAAE,IAAEA,MAAID,IAAEA,EAAE,UAAU,GAAE,CAAC;AAAG,MAAI,IAAE,KAAK,IAAI,GAAEC,CAAC;AAAE,MAAGF,KAAGC,EAAE,QAAO;AAAE,MAAIE,IAAE,GAAE,IAAE;AAAE,aAAO;AAAC,QAAIC,IAAEJ,EAAE,UAAU,IAAE,CAAC,GAAEK,IAAEJ,EAAE,QAAQG,CAAC;AAAE,QAAGC,KAAG,GAAG,QAAOF;AAAE,SAAGE,IAAGA,KAAG,KAAGL,EAAE,UAAU,IAAE,CAAC,KAAGC,EAAE,UAAU,GAAE,CAAC,OAAKE,IAAE,GAAE;AAAA,EAAI;AAAC;AAAEJ,EAAE,UAAU,kBAAgB,SAASC,GAAEC,GAAE;AAAC,MAAG,KAAK,gBAAc,EAAE,QAAO;AAAK,MAAI,IAAED,EAAE,SAAOC,EAAE,SAAOD,IAAEC,GAAEC,IAAEF,EAAE,SAAOC,EAAE,SAAOA,IAAED;AAAE,MAAG,EAAE,SAAO,KAAGE,EAAE,SAAO,IAAE,EAAE,OAAO,QAAO;AAAK,MAAI,IAAE;AAAK,WAASC,EAAEQ,GAAEC,GAAEH,GAAE;AAAC,QAAII,IAAEF,EAAE,UAAUF,GAAEA,IAAE,KAAK,MAAME,EAAE,SAAO,CAAC,CAAC,GAAEG,IAAE,IAAGC,IAAE,IAAGC,GAAEC,GAAEC,GAAEC;AAAE,YAAML,IAAEF,EAAE,QAAQC,GAAEC,IAAE,CAAC,MAAI,MAAI;AAAC,UAAIM,IAAE,EAAE,kBAAkBT,EAAE,UAAUF,CAAC,GAAEG,EAAE,UAAUE,CAAC,CAAC,GAAEO,IAAE,EAAE,kBAAkBV,EAAE,UAAU,GAAEF,CAAC,GAAEG,EAAE,UAAU,GAAEE,CAAC,CAAC;AAAE,MAAAC,EAAE,SAAOM,IAAED,MAAIL,IAAEH,EAAE,UAAUE,IAAEO,GAAEP,CAAC,IAAEF,EAAE,UAAUE,GAAEA,IAAEM,CAAC,GAAEJ,IAAEL,EAAE,UAAU,GAAEF,IAAEY,CAAC,GAAEJ,IAAEN,EAAE,UAAUF,IAAEW,CAAC,GAAEF,IAAEN,EAAE,UAAU,GAAEE,IAAEO,CAAC,GAAEF,IAAEP,EAAE,UAAUE,IAAEM,CAAC;AAAA,IAAE;AAAC,WAAOL,EAAE,SAAO,KAAGJ,EAAE,SAAO,CAACK,GAAEC,GAAEC,GAAEC,GAAEJ,CAAC,IAAE;AAAA,EAAI;AAAC,MAAI,IAAEZ,EAAE,GAAED,GAAE,KAAK,KAAK,EAAE,SAAO,CAAC,CAAC,GAAEE,IAAED,EAAE,GAAED,GAAE,KAAK,KAAK,EAAE,SAAO,CAAC,CAAC,GAAEG;AAAE,MAAG,CAAC,KAAG,CAACD,EAAE,QAAO;AAAK,EAAAA,IAAE,IAAEC,IAAE,EAAE,CAAC,EAAE,SAAOD,EAAE,CAAC,EAAE,SAAO,IAAEA,IAAEC,IAAED,IAAEC,IAAE;AAAE,MAAIC,GAAEC,GAAE1F,GAAE2F;AAAE,EAAAR,EAAE,SAAOC,EAAE,UAAQK,IAAED,EAAE,CAAC,GAAEE,IAAEF,EAAE,CAAC,GAAExF,IAAEwF,EAAE,CAAC,GAAEG,IAAEH,EAAE,CAAC,MAAIxF,IAAEwF,EAAE,CAAC,GAAEG,IAAEH,EAAE,CAAC,GAAEC,IAAED,EAAE,CAAC,GAAEE,IAAEF,EAAE,CAAC;AAAG,MAAIK,IAAEL,EAAE,CAAC;AAAE,SAAM,CAACC,GAAEC,GAAE1F,GAAE2F,GAAEE,CAAC;AAAC;AAAEX,EAAE,UAAU,uBAAqB,SAASC,GAAE;AAAC,MAAIC,IAAE,IAAG,IAAE,CAAE,GAACC,IAAE,GAAE,IAAE,MAAKC,IAAE,GAAE,IAAE,GAAEC,IAAE,GAAEC,IAAE,GAAEC,IAAE;AAAE,SAAKH,IAAEH,EAAE,SAAQ,CAAAA,EAAEG,CAAC,EAAE,CAAC,KAAG,KAAG,EAAED,GAAG,IAAEC,GAAE,IAAEE,GAAED,IAAEE,GAAED,IAAE,GAAEC,IAAE,GAAE,IAAEN,EAAEG,CAAC,EAAE,CAAC,MAAIH,EAAEG,CAAC,EAAE,CAAC,KAAG,IAAEE,KAAGL,EAAEG,CAAC,EAAE,CAAC,EAAE,SAAOG,KAAGN,EAAEG,CAAC,EAAE,CAAC,EAAE,QAAO,KAAG,EAAE,UAAQ,KAAK,IAAI,GAAEC,CAAC,KAAG,EAAE,UAAQ,KAAK,IAAIC,GAAEC,CAAC,MAAIN,EAAE,OAAO,EAAEE,IAAE,CAAC,GAAE,GAAE,IAAIH,EAAE,KAAK,IAAG,CAAC,CAAC,GAAEC,EAAE,EAAEE,IAAE,CAAC,IAAE,CAAC,EAAE,CAAC,IAAE,GAAEA,KAAIA,KAAIC,IAAED,IAAE,IAAE,EAAEA,IAAE,CAAC,IAAE,IAAG,IAAE,GAAEE,IAAE,GAAEC,IAAE,GAAEC,IAAE,GAAE,IAAE,MAAKL,IAAE,MAAKE;AAAI,OAAIF,KAAG,KAAK,kBAAkBD,CAAC,GAAE,KAAK,6BAA6BA,CAAC,GAAEG,IAAE,GAAEA,IAAEH,EAAE,UAAQ;AAAC,QAAGA,EAAEG,IAAE,CAAC,EAAE,CAAC,KAAG,MAAIH,EAAEG,CAAC,EAAE,CAAC,KAAG,GAAE;AAAC,UAAII,IAAEP,EAAEG,IAAE,CAAC,EAAE,CAAC,GAAEtF,IAAEmF,EAAEG,CAAC,EAAE,CAAC,GAAEK,IAAE,KAAK,oBAAoBD,GAAE1F,CAAC,GAAE6F,IAAE,KAAK,oBAAoB7F,GAAE0F,CAAC;AAAE,MAAAC,KAAGE,KAAGF,KAAGD,EAAE,SAAO,KAAGC,KAAG3F,EAAE,SAAO,OAAKmF,EAAE,OAAOG,GAAE,GAAE,IAAIJ,EAAE,KAAK,GAAElF,EAAE,UAAU,GAAE2F,CAAC,CAAC,CAAC,GAAER,EAAEG,IAAE,CAAC,EAAE,CAAC,IAAEI,EAAE,UAAU,GAAEA,EAAE,SAAOC,CAAC,GAAER,EAAEG,IAAE,CAAC,EAAE,CAAC,IAAEtF,EAAE,UAAU2F,CAAC,GAAEL,QAAMO,KAAGH,EAAE,SAAO,KAAGG,KAAG7F,EAAE,SAAO,OAAKmF,EAAE,OAAOG,GAAE,GAAE,IAAIJ,EAAE,KAAK,GAAEQ,EAAE,UAAU,GAAEG,CAAC,CAAC,CAAC,GAAEV,EAAEG,IAAE,CAAC,EAAE,CAAC,IAAE,GAAEH,EAAEG,IAAE,CAAC,EAAE,CAAC,IAAEtF,EAAE,UAAU,GAAEA,EAAE,SAAO6F,CAAC,GAAEV,EAAEG,IAAE,CAAC,EAAE,CAAC,IAAE,IAAGH,EAAEG,IAAE,CAAC,EAAE,CAAC,IAAEI,EAAE,UAAUG,CAAC,GAAEP,MAAKA;AAAA,IAAG;AAAC,IAAAA;AAAA,EAAG;AAAC;AAAEJ,EAAE,UAAU,+BAA6B,SAASC,GAAE;AAAC,WAASC,EAAEC,GAAE,GAAE;AAAC,QAAG,CAACA,KAAG,CAAC,EAAE,QAAO;AAAE,QAAIC,IAAED,EAAE,OAAOA,EAAE,SAAO,CAAC,GAAE,IAAE,EAAE,OAAO,CAAC,GAAEE,IAAED,EAAE,MAAMJ,EAAE,qBAAqB,GAAEM,IAAE,EAAE,MAAMN,EAAE,qBAAqB,GAAEO,IAAEF,KAAGD,EAAE,MAAMJ,EAAE,gBAAgB,GAAEQ,IAAEF,KAAG,EAAE,MAAMN,EAAE,gBAAgB,GAAElF,IAAEyF,KAAGH,EAAE,MAAMJ,EAAE,eAAe,GAAES,IAAED,KAAG,EAAE,MAAMR,EAAE,eAAe,GAAEW,IAAE7F,KAAGqF,EAAE,MAAMH,EAAE,kBAAkB,GAAEY,IAAEH,KAAG,EAAE,MAAMT,EAAE,oBAAoB;AAAE,WAAOW,KAAGC,IAAE,IAAE9F,KAAG2F,IAAE,IAAEJ,KAAG,CAACE,KAAGC,IAAE,IAAED,KAAGC,IAAE,IAAEH,KAAGC,IAAE,IAAE;AAAA,EAAC;AAAC,MAAI,IAAE;AAAE,SAAK,IAAEL,EAAE,SAAO,KAAG;AAAC,QAAGA,EAAE,IAAE,CAAC,EAAE,CAAC,KAAG,KAAGA,EAAE,IAAE,CAAC,EAAE,CAAC,KAAG,GAAE;AAAC,UAAIE,IAAEF,EAAE,IAAE,CAAC,EAAE,CAAC,GAAE,IAAEA,EAAE,CAAC,EAAE,CAAC,GAAEG,IAAEH,EAAE,IAAE,CAAC,EAAE,CAAC,GAAE,IAAE,KAAK,kBAAkBE,GAAE,CAAC;AAAE,UAAG,GAAE;AAAC,QAAAA,EAAEA,EAAE,SAAO,CAAC,MAAI;AAAA,MAC1jH,KAAG;AAAG,YAAIrF,IAAE,EAAE,UAAU,EAAE,SAAO,CAAC;AAAE,QAAAqF,IAAEA,EAAE,UAAU,GAAEA,EAAE,SAAO,CAAC,GAAE,IAAErF,IAAE,EAAE,UAAU,GAAE,EAAE,SAAO,CAAC,GAAEsF,IAAEtF,IAAEsF;AAAA,MAAC;AAAC,UAAIC,IAAEF,GAAEG,IAAE,GAAEC,IAAEH,GAAEI,IAAEN,EAAEC,GAAE,CAAC,IAAED,EAAE,GAAEE,CAAC;AAAE,aAAK,EAAE,OAAO,CAAC,MAAIA,EAAE,OAAO,CAAC,KAAG;AAAC,QAAAD,KAAG,EAAE,OAAO,CAAC,GAAE,IAAE,EAAE,UAAU,CAAC,IAAEC,EAAE,OAAO,CAAC,GAAEA,IAAEA,EAAE,UAAU,CAAC;AAAE,YAAItF,IAAEoF,EAAEC,GAAE,CAAC,IAAED,EAAE,GAAEE,CAAC;AAAE,QAAAtF,KAAG0F,MAAIA,IAAE1F,GAAEuF,IAAEF,GAAEG,IAAE,GAAEC,IAAEH;AAAA,MAAE;AAAC,MAAAH,EAAE,IAAE,CAAC,EAAE,CAAC,KAAGI,MAAIA,IAAEJ,EAAE,IAAE,CAAC,EAAE,CAAC,IAAEI,KAAGJ,EAAE,OAAO,IAAE,GAAE,CAAC,GAAE,MAAKA,EAAE,CAAC,EAAE,CAAC,IAAEK,GAAEC,IAAEN,EAAE,IAAE,CAAC,EAAE,CAAC,IAAEM,KAAGN,EAAE,OAAO,IAAE,GAAE,CAAC,GAAE;AAAA,IAAK;AAAC;AAAA,EAAG;AAAC;AAAED,EAAE,wBAAsB;AAAeA,EAAE,mBAAiB;AAAKA,EAAE,kBAAgB;AAASA,EAAE,qBAAmB;AAAWA,EAAE,uBAAqB;AAAcA,EAAE,UAAU,yBAAuB,SAASC,GAAE;AAAC,MAAIC,IAAE,IAAG,IAAE,IAAGC,IAAE,GAAE,IAAE,MAAKC,IAAE,GAAE,IAAE,IAAGC,IAAE,IAAGC,IAAE,IAAGC,IAAE;AAAG,SAAKH,IAAEH,EAAE,SAAQ,CAAAA,EAAEG,CAAC,EAAE,CAAC,KAAG,KAAGH,EAAEG,CAAC,EAAE,CAAC,EAAE,SAAO,KAAK,kBAAgBE,KAAGC,MAAI,EAAEJ,GAAG,IAAEC,GAAE,IAAEE,GAAED,IAAEE,GAAE,IAAEN,EAAEG,CAAC,EAAE,CAAC,MAAID,IAAE,GAAE,IAAE,OAAMG,IAAEC,IAAE,OAAKN,EAAEG,CAAC,EAAE,CAAC,KAAG,KAAGG,IAAE,KAAGD,IAAE,IAAG,MAAI,KAAGD,KAAGC,KAAGC,KAAG,EAAE,SAAO,KAAK,gBAAc,KAAG,IAAEF,IAAEC,IAAEC,KAAG,OAAKN,EAAE,OAAO,EAAEE,IAAE,CAAC,GAAE,GAAE,IAAIH,EAAE,KAAK,IAAG,CAAC,CAAC,GAAEC,EAAE,EAAEE,IAAE,CAAC,IAAE,CAAC,EAAE,CAAC,IAAE,GAAEA,KAAI,IAAE,MAAK,KAAGE,KAAGC,IAAEC,IAAE,IAAGJ,IAAE,MAAIA,KAAIC,IAAED,IAAE,IAAE,EAAEA,IAAE,CAAC,IAAE,IAAGG,IAAEC,IAAE,KAAIL,IAAE,MAAKE;AAAI,EAAAF,KAAG,KAAK,kBAAkBD,CAAC;AAAC;AAAED,EAAE,UAAU,oBAAkB,SAASC,GAAE;AAAC,EAAAA,EAAE,KAAK,IAAID,EAAE,KAAK,GAAE,EAAE,CAAC;AAAE,MAAIE,IAAE,GAAE,IAAE,GAAEC,IAAE,GAAE,IAAE,IAAGC,IAAE,IAAG;AAAE,SAAKF,IAAED,EAAE,SAAQ,SAAOA,EAAEC,CAAC,EAAE,CAAC,GAAC;AAAA,IAAE,KAAK;AAAE,MAAAC,KAAIC,KAAGH,EAAEC,CAAC,EAAE,CAAC,GAAEA;AAAI;AAAA,IAAM,KAAI;AAAG,WAAI,KAAGD,EAAEC,CAAC,EAAE,CAAC,GAAEA;AAAI;AAAA,IAAM,KAAK;AAAE,UAAEC,IAAE,KAAG,MAAI,KAAGA,MAAI,MAAI,IAAE,KAAK,kBAAkBC,GAAE,CAAC,GAAE,MAAI,MAAIF,IAAE,IAAEC,IAAE,KAAGF,EAAEC,IAAE,IAAEC,IAAE,CAAC,EAAE,CAAC,KAAG,IAAEF,EAAEC,IAAE,IAAEC,IAAE,CAAC,EAAE,CAAC,KAAGC,EAAE,UAAU,GAAE,CAAC,KAAGH,EAAE,OAAO,GAAE,GAAE,IAAID,EAAE,KAAK,GAAEI,EAAE,UAAU,GAAE,CAAC,CAAC,CAAC,GAAEF,MAAKE,IAAEA,EAAE,UAAU,CAAC,GAAE,IAAE,EAAE,UAAU,CAAC,IAAG,IAAE,KAAK,kBAAkBA,GAAE,CAAC,GAAE,MAAI,MAAIH,EAAEC,CAAC,EAAE,CAAC,IAAEE,EAAE,UAAUA,EAAE,SAAO,CAAC,IAAEH,EAAEC,CAAC,EAAE,CAAC,GAAEE,IAAEA,EAAE,UAAU,GAAEA,EAAE,SAAO,CAAC,GAAE,IAAE,EAAE,UAAU,GAAE,EAAE,SAAO,CAAC,KAAIF,KAAG,IAAEC,GAAEF,EAAE,OAAOC,GAAE,IAAEC,CAAC,GAAE,EAAE,WAASF,EAAE,OAAOC,GAAE,GAAE,IAAIF,EAAE,KAAK,IAAG,CAAC,CAAC,GAAEE,MAAKE,EAAE,WAASH,EAAE,OAAOC,GAAE,GAAE,IAAIF,EAAE,KAAK,GAAEI,CAAC,CAAC,GAAEF,MAAKA,OAAKA,MAAI,KAAGD,EAAEC,IAAE,CAAC,EAAE,CAAC,KAAG,KAAGD,EAAEC,IAAE,CAAC,EAAE,CAAC,KAAGD,EAAEC,CAAC,EAAE,CAAC,GAAED,EAAE,OAAOC,GAAE,CAAC,KAAGA,KAAIC,IAAE,GAAE,IAAE,GAAE,IAAE,IAAGC,IAAE;AAAG;AAAA,EAAK;AAAC,EAAAH,EAAEA,EAAE,SAAO,CAAC,EAAE,CAAC,MAAI,MAAIA,EAAE,IAAG;AAAG,MAAII,IAAE;AAAG,OAAIH,IAAE,GAAEA,IAAED,EAAE,SAAO,IAAG,CAAAA,EAAEC,IAAE,CAAC,EAAE,CAAC,KAAG,KAAGD,EAAEC,IAAE,CAAC,EAAE,CAAC,KAAG,MAAID,EAAEC,CAAC,EAAE,CAAC,EAAE,UAAUD,EAAEC,CAAC,EAAE,CAAC,EAAE,SAAOD,EAAEC,IAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAGD,EAAEC,IAAE,CAAC,EAAE,CAAC,KAAGD,EAAEC,CAAC,EAAE,CAAC,IAAED,EAAEC,IAAE,CAAC,EAAE,CAAC,IAAED,EAAEC,CAAC,EAAE,CAAC,EAAE,UAAU,GAAED,EAAEC,CAAC,EAAE,CAAC,EAAE,SAAOD,EAAEC,IAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAED,EAAEC,IAAE,CAAC,EAAE,CAAC,IAAED,EAAEC,IAAE,CAAC,EAAE,CAAC,IAAED,EAAEC,IAAE,CAAC,EAAE,CAAC,GAAED,EAAE,OAAOC,IAAE,GAAE,CAAC,GAAEG,IAAE,MAAIJ,EAAEC,CAAC,EAAE,CAAC,EAAE,UAAU,GAAED,EAAEC,IAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAGD,EAAEC,IAAE,CAAC,EAAE,CAAC,MAAID,EAAEC,IAAE,CAAC,EAAE,CAAC,KAAGD,EAAEC,IAAE,CAAC,EAAE,CAAC,GAAED,EAAEC,CAAC,EAAE,CAAC,IAAED,EAAEC,CAAC,EAAE,CAAC,EAAE,UAAUD,EAAEC,IAAE,CAAC,EAAE,CAAC,EAAE,MAAM,IAAED,EAAEC,IAAE,CAAC,EAAE,CAAC,GAAED,EAAE,OAAOC,IAAE,GAAE,CAAC,GAAEG,IAAE,MAAKH;AAAI,EAAAG,KAAG,KAAK,kBAAkBJ,CAAC;AAAC;AAAED,EAAE,UAAU,8BAA4B,SAASC,GAAE;AAAC,MAAIC;AAAE,WAAQ,IAAE,GAAE,IAAED,EAAE,QAAO,KAAI;AAAC,QAAIE,IAAEF,EAAE,CAAC,GAAE,IAAEE,EAAE,CAAC,EAAE,CAAC,GAAEC,IAAED,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,SAAO,CAAC;AAAE,QAAGA,EAAE,CAAC,EAAE,WAAS,GAAE;AAAC,MAAAF,EAAE,OAAO,KAAI,CAAC;AAAE;AAAA,IAAQ;AAAC,QAAGG,KAAG,KAAK,gBAAgBA,CAAC,MAAIF,IAAEE,GAAED,EAAE,CAAC,IAAEA,EAAE,CAAC,EAAE,MAAM,GAAE,EAAE,IAAGD,KAAG,KAAG,KAAK,gBAAgBA,CAAC,KAAG,KAAK,eAAe,CAAC,MAAIC,EAAE,CAAC,IAAED,IAAEC,EAAE,CAAC,IAAGA,EAAE,CAAC,EAAE,WAAS,GAAE;AAAC,MAAAF,EAAE,OAAO,KAAI,CAAC;AAAE;AAAA,IAAQ;AAAA,EAAC;AAAC,SAAOA;AAAC;AAAED,EAAE,UAAU,kBAAgB,SAASC,GAAE;AAAC,MAAIC,IAAED,EAAE,WAAW,CAAC;AAAE,SAAOC,KAAG,SAAOA,KAAG;AAAK;AAAEF,EAAE,UAAU,iBAAe,SAASC,GAAE;AAAC,MAAIC,IAAED,EAAE,WAAW,CAAC;AAAE,SAAOC,KAAG,SAAOA,KAAG;AAAK;AAAEF,EAAE,UAAU,UAAQ,SAASC,GAAE;AAAC,UAAOA,GAAG;AAAA,IAAA,KAAI;AAAI,aAAO;AAAA,IAAE,KAAI;AAAI,aAAO;AAAA,IAAE,KAAI;AAAI,aAAO;AAAA,IAAE,KAAI;AAAI,aAAO;AAAA,IAAE,KAAI;AAAI,aAAO;AAAA,IAAE,KAAI;AAAI,aAAO;AAAA,IAAE,KAAI;AAAI,aAAO;AAAA,IAAE,KAAI;AAAI,aAAO;AAAA,IAAE,KAAI;AAAI,aAAO;AAAA,IAAE,KAAI;AAAI,aAAO;AAAA,IAAE,KAAI;AAAA,IAAI,KAAI;AAAI,aAAO;AAAA,IAAG,KAAI;AAAA,IAAI,KAAI;AAAI,aAAO;AAAA,IAAG,KAAI;AAAA,IAAI,KAAI;AAAI,aAAO;AAAA,IAAG,KAAI;AAAA,IAAI,KAAI;AAAI,aAAO;AAAA,IAAG,KAAI;AAAA,IAAI,KAAI;AAAI,aAAO;AAAA,IAAG,KAAI;AAAA,IAAI,KAAI;AAAI,aAAO;AAAA,IAAG;AAAQ,YAAM,IAAI,MAAM,kBAAkB;AAAA,EAAC;AAAC;AAAED,EAAE,UAAU,YAAU,SAASC,GAAE;AAAC,MAAG;AAAC,WAAO,UAAUA,CAAC;AAAA,EAAC,QAAM;AAAC,QAAIsB,IAAE,GAAEpB,IAAE;AAAG,WAAKoB,IAAEtB,EAAE,UAAQ;AAAC,UAAGA,EAAEsB,CAAC,MAAI,KAAI;AAAC,QAAApB,KAAGF,EAAEsB,GAAG;AAAE;AAAA,MAAQ;AAAC,UAAIC,KAAG,KAAK,QAAQvB,EAAEsB,IAAE,CAAC,CAAC,KAAG,KAAG,KAAK,QAAQtB,EAAEsB,IAAE,CAAC,CAAC;AAAE,WAAIC,IAAE,SAAO,GAAE;AAAC,QAAArB,KAAG,OAAO,aAAaqB,CAAC,GAAED,KAAG;AAAE;AAAA,MAAQ;AAAC,UAAGtB,EAAEsB,IAAE,CAAC,MAAI,IAAI,OAAM,IAAI,SAAS,eAAe;AAAE,UAAInB,KAAG,KAAK,QAAQH,EAAEsB,IAAE,CAAC,CAAC,KAAG,KAAG,KAAK,QAAQtB,EAAEsB,IAAE,CAAC,CAAC;AAAE,WAAInB,IAAE,SAAO,IAAI,OAAM,IAAI,SAAS,eAAe;AAAE,UAAGA,IAAEA,IAAE,KAAIoB,IAAE,SAAO,KAAI;AAAC,QAAArB,KAAG,OAAO,cAAcqB,IAAE,OAAK,IAAEpB,CAAC,GAAEmB,KAAG;AAAE;AAAA,MAAQ;AAAC,UAAGtB,EAAEsB,IAAE,CAAC,MAAI,IAAI,OAAM,IAAI,SAAS,eAAe;AAAE,UAAIE,KAAG,KAAK,QAAQxB,EAAEsB,IAAE,CAAC,CAAC,KAAG,KAAG,KAAK,QAAQtB,EAAEsB,IAAE,CAAC,CAAC;AAAE,WAAIE,IAAE,SAAO,IAAI,OAAM,IAAI,SAAS,eAAe;AAAE,UAAGA,IAAEA,IAAE,KAAID,IAAE,SAAO,KAAI;AAAC,QAAArB,KAAG,OAAO,cAAcqB,IAAE,OAAK,KAAGpB,KAAG,IAAEqB,CAAC,GAAEF,KAAG;AAAE;AAAA,MAAQ;AAAC,UAAGtB,EAAEsB,IAAE,CAAC,MAAI,IAAI,OAAM,IAAI,SAAS,eAAe;AAAE,UAAIlB,KAAG,KAAK,QAAQJ,EAAEsB,IAAE,EAAE,CAAC,KAAG,KAAG,KAAK,QAAQtB,EAAEsB,IAAE,EAAE,CAAC;AAAE,WAAIlB,IAAE,SAAO,IAAI,OAAM,IAAI,SAAS,eAAe;AAAE,UAAGA,IAAEA,IAAE,KAAImB,IAAE,SAAO,KAAI;AAAC,YAAIlB,KAAGkB,IAAE,MAAI,KAAGpB,KAAG,KAAGqB,KAAG,IAAEpB;AAAE,YAAGC,KAAG,SAAOA,KAAG,SAAQ;AAAC,UAAAH,KAAG,OAAO,cAAcG,IAAE,WAAS,KAAG,OAAK,KAAK,GAAEH,KAAG,OAAO,aAAa,QAAMG,IAAE,QAAM,IAAI,GAAEiB,KAAG;AAAG;AAAA,QAAQ;AAAA,MAAC;AAAC,YAAM,IAAI,SAAS,eAAe;AAAA,IAAC;AAAC,WAAOpB;AAAA,EAAC;AAAC;AAAEH,EAAE,UAAU,cAAY,SAASC,GAAEC,GAAE;AAAC,MAAI,IAAE,GAAEC,IAAE,GAAE,IAAE,GAAEC,IAAE,GAAE;AAAE,OAAI,IAAE,GAAE,IAAEH,EAAE,WAASA,EAAE,CAAC,EAAE,CAAC,MAAI,MAAI,KAAGA,EAAE,CAAC,EAAE,CAAC,EAAE,SAAQA,EAAE,CAAC,EAAE,CAAC,MAAI,OAAKE,KAAGF,EAAE,CAAC,EAAE,CAAC,EAAE,SAAQ,EAAE,IAAEC,KAAI,IAAI,KAAE,GAAEE,IAAED;AAAE,SAAOF,EAAE,UAAQ,KAAGA,EAAE,CAAC,EAAE,CAAC,MAAI,KAAGG,IAAEA,KAAGF,IAAE;AAAE;AAAEF,EAAE,UAAU,kBAAgB,SAASC,GAAE;AAAC,EAAAA,IAAE,KAAK,4BAA4BA,CAAC;AAAE,MAAIC,IAAE,IAAG,IAAE,MAAKC,IAAE,MAAK,IAAE,MAAKC,IAAE;AAAM,WAAQ,IAAE,GAAE,IAAEH,EAAE,QAAO,KAAI;AAAC,QAAII,IAAEJ,EAAE,CAAC,EAAE,CAAC,GAAE,IAAEA,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAE,OAAO,EAAE,QAAQE,GAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAE,QAAQC,GAAE,YAAY;AAAE,YAAOC,GAAC;AAAA,MAAE,KAAK;AAAE,QAAAH,EAAE,CAAC,IAAE,sCAAoC,IAAE;AAAS;AAAA,MAAM;AAAO,QAAAA,EAAE,CAAC,IAAE,sCAAoC,IAAE;AAAS;AAAA,MAAM,KAAK;AAAE,QAAAA,EAAE,CAAC,IAAE,WAAS,IAAE;AAAU;AAAA,IAAK;AAAA,EAAC;AAAC,SAAOA,EAAE,KAAK,EAAE;AAAC;AAAEF,EAAE,UAAU,aAAW,SAASC,GAAE;AAAC,MAAIC,IAAE;AAAG,WAAQ,IAAE,GAAE,IAAED,EAAE,QAAO,IAAI,CAAAA,EAAE,CAAC,EAAE,CAAC,MAAI,MAAIC,EAAE,CAAC,IAAED,EAAE,CAAC,EAAE,CAAC;AAAG,SAAOC,EAAE,KAAK,EAAE;AAAC;AAAEF,EAAE,UAAU,aAAW,SAASC,GAAE;AAAC,MAAIC,IAAE;AAAG,WAAQ,IAAE,GAAE,IAAED,EAAE,QAAO,IAAI,CAAAA,EAAE,CAAC,EAAE,CAAC,MAAI,OAAKC,EAAE,CAAC,IAAED,EAAE,CAAC,EAAE,CAAC;AAAG,SAAOC,EAAE,KAAK,EAAE;AAAC;AAAEF,EAAE,UAAU,mBAAiB,SAASC,GAAE;AAAC,MAAIC,IAAE,GAAE,IAAE,GAAEC,IAAE;AAAE,WAAQ,IAAE,GAAE,IAAEF,EAAE,QAAO,KAAI;AAAC,QAAIG,IAAEH,EAAE,CAAC,EAAE,CAAC,GAAE,IAAEA,EAAE,CAAC,EAAE,CAAC;AAAE,YAAOG,GAAG;AAAA,MAAA,KAAK;AAAE,aAAG,EAAE;AAAO;AAAA,MAAM;AAAO,QAAAD,KAAG,EAAE;AAAO;AAAA,MAAM,KAAK;AAAE,QAAAD,KAAG,KAAK,IAAI,GAAEC,CAAC,GAAE,IAAE,GAAEA,IAAE;AAAE;AAAA,IAAK;AAAA,EAAC;AAAC,SAAOD,KAAG,KAAK,IAAI,GAAEC,CAAC,GAAED;AAAC;AAAEF,EAAE,UAAU,eAAa,SAASC,GAAE;AAAC,EAAAA,IAAE,KAAK,4BAA4BA,CAAC;AAAE,MAAIC,IAAE,CAAE;AAAC,WAAQ,IAAE,GAAE,IAAED,EAAE,QAAO,IAAI,SAAOA,EAAE,CAAC,EAAE,CAAC,GAAG;AAAA,IAAA,KAAK;AAAE,MAAAC,EAAE,CAAC,IAAE,MAAI,UAAUD,EAAE,CAAC,EAAE,CAAC,CAAC;AAAE;AAAA,IAAM,KAAI;AAAG,MAAAC,EAAE,CAAC,IAAE,MAAID,EAAE,CAAC,EAAE,CAAC,EAAE;AAAO;AAAA,IAAM,KAAK;AAAE,MAAAC,EAAE,CAAC,IAAE,MAAID,EAAE,CAAC,EAAE,CAAC,EAAE;AAAO;AAAA,EAAK;AAAC,SAAOC,EAAE,KAAK,GAAG,EAAE,QAAQ,QAAO,GAAG;AAAC;AAAEF,EAAE,UAAU,iBAAe,SAASC,GAAEC,GAAE;AAAC,MAAI,IAAE,GAAEC,IAAE,IAAG,IAAE,CAAA,GAAGC,IAAE,GAAE,IAAE,GAAEC,IAAEH,EAAE,MAAM,KAAK;AAAE,WAAQI,IAAE,GAAEA,IAAED,EAAE,QAAOC,KAAI;AAAC,QAAIC,IAAEF,EAAEC,CAAC,EAAE,UAAU,CAAC;AAAE,YAAOD,EAAEC,CAAC,EAAE,OAAO,CAAC,GAAG;AAAA,MAAA,KAAI;AAAI,YAAG;AAAC,YAAEF,GAAG,IAAE,IAAIJ,EAAE,KAAK,GAAE,KAAK,UAAUO,CAAC,CAAC;AAAA,QAAC,QAAM;AAAC,gBAAM,IAAI,MAAM,uCAAqCA,CAAC;AAAA,QAAC;AAAC;AAAA,MAAM,KAAI;AAAA,MAAI,KAAI;AAAI,YAAG,IAAE,SAASA,GAAE,EAAE,GAAE,MAAM,CAAC,KAAG,IAAE,EAAE,OAAM,IAAI,MAAM,uCAAqCA,CAAC;AAAE,QAAAJ,IAAEF,EAAE,UAAU,GAAE,KAAG,CAAC,GAAEI,EAAEC,CAAC,EAAE,OAAO,CAAC,KAAG,MAAI,EAAEF,GAAG,IAAE,IAAIJ,EAAE,KAAK,GAAEG,CAAC,IAAE,EAAEC,GAAG,IAAE,IAAIJ,EAAE,KAAK,IAAGG,CAAC;AAAE;AAAA,MAAM;AAAQ,YAAGE,EAAEC,CAAC,EAAE,OAAM,IAAI,MAAM,+CAA6CD,EAAEC,CAAC,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,MAAG,KAAGL,EAAE,OAAO,OAAM,IAAI,MAAM,mBAAiB,IAAE,0CAAwCA,EAAE,SAAO,IAAI;AAAE,SAAO;AAAC;AAAED,EAAE,UAAU,aAAW,SAASC,GAAEC,GAAE,GAAE;AAAC,MAAGD,KAAG,QAAMC,KAAG,QAAM,KAAG,KAAK,OAAM,IAAI,MAAM,0BAA0B;AAAE,SAAO,IAAE,KAAK,IAAI,GAAE,KAAK,IAAI,GAAED,EAAE,MAAM,CAAC,GAAEA,KAAGC,IAAE,IAAED,EAAE,SAAOA,EAAE,UAAU,GAAE,IAAEC,EAAE,MAAM,KAAGA,IAAE,IAAE,KAAK,aAAaD,GAAEC,GAAE,CAAC,IAAE;AAAE;AAAEF,EAAE,UAAU,eAAa,SAASC,GAAEC,GAAE,GAAE;AAAC,MAAGA,EAAE,SAAO,KAAK,cAAc,OAAM,IAAI,MAAM,oCAAoC;AAAE,MAAIC,IAAE,KAAK,gBAAgBD,CAAC,GAAE,IAAE;AAAK,WAASE,EAAEO,GAAEC,GAAE;AAAC,QAAIC,IAAEF,IAAET,EAAE,QAAOQ,IAAE,KAAK,IAAI,IAAEE,CAAC;AAAE,WAAO,EAAE,iBAAeC,IAAEH,IAAE,EAAE,iBAAeA,IAAE,IAAEG;AAAA,EAAC;AAAC,MAAI,IAAE,KAAK,iBAAgBR,IAAEJ,EAAE,QAAQC,GAAE,CAAC;AAAE,EAAAG,KAAG,OAAK,IAAE,KAAK,IAAID,EAAE,GAAEC,CAAC,GAAE,CAAC,GAAEA,IAAEJ,EAAE,YAAYC,GAAE,IAAEA,EAAE,MAAM,GAAEG,KAAG,OAAK,IAAE,KAAK,IAAID,EAAE,GAAEC,CAAC,GAAE,CAAC;AAAI,MAAIC,IAAE,KAAGJ,EAAE,SAAO;AAAE,EAAAG,IAAE;AAAG,MAAIE,GAAEC,GAAE1F,IAAEoF,EAAE,SAAOD,EAAE,QAAOQ;AAAE,WAAQE,IAAE,GAAEA,IAAET,EAAE,QAAOS,KAAI;AAAC,SAAIJ,IAAE,GAAEC,IAAE1F,GAAEyF,IAAEC,IAAG,CAAAJ,EAAEO,GAAE,IAAEH,CAAC,KAAG,IAAED,IAAEC,IAAE1F,IAAE0F,GAAEA,IAAE,KAAK,OAAO1F,IAAEyF,KAAG,IAAEA,CAAC;AAAE,IAAAzF,IAAE0F;AAAE,QAAII,IAAE,KAAK,IAAI,GAAE,IAAEJ,IAAE,CAAC,GAAEK,IAAE,KAAK,IAAI,IAAEL,GAAEP,EAAE,MAAM,IAAEC,EAAE,QAAOQ,IAAE,MAAMG,IAAE,CAAC;AAAE,IAAAH,EAAEG,IAAE,CAAC,KAAG,KAAGF,KAAG;AAAE,aAAQG,IAAED,GAAEC,KAAGF,GAAEE,KAAI;AAAC,UAAIC,IAAEZ,EAAEF,EAAE,OAAOa,IAAE,CAAC,CAAC;AAAE,UAAGH,MAAI,IAAED,EAAEI,CAAC,KAAGJ,EAAEI,IAAE,CAAC,KAAG,IAAE,KAAGC,IAAEL,EAAEI,CAAC,KAAGJ,EAAEI,IAAE,CAAC,KAAG,IAAE,KAAGC,MAAIN,EAAEK,IAAE,CAAC,IAAEL,EAAEK,CAAC,MAAI,IAAE,KAAGL,EAAEK,IAAE,CAAC,GAAEJ,EAAEI,CAAC,IAAER,GAAE;AAAC,YAAIU,IAAEZ,EAAEO,GAAEG,IAAE,CAAC;AAAE,YAAGE,KAAG,EAAE,KAAG,IAAEA,GAAEX,IAAES,IAAE,GAAET,IAAE,EAAE,CAAAO,IAAE,KAAK,IAAI,GAAE,IAAE,IAAEP,CAAC;AAAA,YAAO;AAAA,MAAK;AAAA,IAAC;AAAC,QAAGD,EAAEO,IAAE,GAAE,CAAC,IAAE,EAAE;AAAM,IAAAF,IAAEC;AAAA,EAAC;AAAC,SAAOL;AAAC;AAAEL,EAAE,UAAU,kBAAgB,SAASC,GAAE;AAAC,MAAIC,IAAE,CAAA;AAAG,WAAQ,IAAE,GAAE,IAAED,EAAE,QAAO,IAAI,CAAAC,EAAED,EAAE,OAAO,CAAC,CAAC,IAAE;AAAE,WAAQ,IAAE,GAAE,IAAEA,EAAE,QAAO,IAAI,CAAAC,EAAED,EAAE,OAAO,CAAC,CAAC,KAAG,KAAGA,EAAE,SAAO,IAAE;AAAE,SAAOC;AAAC;AAAEF,EAAE,UAAU,oBAAkB,SAASC,GAAEC,GAAE;AAAC,MAAGA,EAAE,UAAQ,EAAE;AAAO,MAAGD,EAAE,WAAS,KAAK,OAAM,MAAM,uBAAuB;AAAE,MAAI,IAAEC,EAAE,UAAUD,EAAE,QAAOA,EAAE,SAAOA,EAAE,OAAO,GAAEE,IAAE;AAAE,SAAKD,EAAE,QAAQ,CAAC,KAAGA,EAAE,YAAY,CAAC,KAAG,EAAE,SAAO,KAAK,gBAAc,KAAK,eAAa,KAAK,eAAc,CAAAC,KAAG,KAAK,cAAa,IAAED,EAAE,UAAUD,EAAE,SAAOE,GAAEF,EAAE,SAAOA,EAAE,UAAQE,CAAC;AAAE,EAAAA,KAAG,KAAK,cAAaF,EAAE,SAAOE,IAAE,KAAGH,EAAE,UAAU,eAAeE,EAAED,EAAE,SAAOE,CAAC,CAAC,KAAGA;AAAI,MAAI,IAAED,EAAE,UAAUD,EAAE,SAAOE,GAAEF,EAAE,MAAM;AAAE,OAAGA,EAAE,MAAM,QAAQ,IAAID,EAAE,KAAK,GAAE,CAAC,CAAC,GAAEC,EAAE,SAAOA,EAAE,UAAQE,IAAED,EAAE,UAAQF,EAAE,UAAU,gBAAgBE,EAAED,EAAE,SAAOA,EAAE,UAAQE,CAAC,CAAC,KAAGA;AAAI,MAAIC,IAAEF,EAAE,UAAUD,EAAE,SAAOA,EAAE,SAAQA,EAAE,SAAOA,EAAE,UAAQE,CAAC;AAAE,EAAAC,KAAGH,EAAE,MAAM,KAAK,IAAID,EAAE,KAAK,GAAEI,CAAC,CAAC,GAAEH,EAAE,UAAQ,EAAE,QAAOA,EAAE,UAAQ,EAAE,QAAOA,EAAE,WAAS,EAAE,SAAOG,EAAE,QAAOH,EAAE,WAAS,EAAE,SAAOG,EAAE;AAAM;AAAEJ,EAAE,UAAU,aAAW,SAASC,GAAEC,GAAE,GAAE;AAAC,MAAIC,GAAE;AAAE,MAAG,OAAOF,KAAG,YAAU,OAAOC,KAAG,YAAU,OAAO,IAAE,IAAI,CAAAC,IAAEF,GAAE,IAAE,KAAK,UAAUE,GAAED,GAAE,EAAE,GAAE,EAAE,SAAO,MAAI,KAAK,qBAAqB,CAAC,GAAE,KAAK,uBAAuB,CAAC;AAAA,WAAWD,KAAG,OAAOA,KAAG,YAAU,OAAOC,IAAE,OAAK,OAAO,IAAE,IAAI,KAAED,GAAEE,IAAE,KAAK,WAAW,CAAC;AAAA,WAAU,OAAOF,KAAG,YAAUC,KAAG,OAAOA,KAAG,YAAU,OAAO,IAAE,IAAI,CAAAC,IAAEF,GAAE,IAAEC;AAAA,WAAU,OAAOD,KAAG,YAAU,OAAOC,KAAG,YAAU,KAAG,OAAO,KAAG,SAAS,CAAAC,IAAEF,GAAE,IAAE;AAAA,MAAO,OAAM,IAAI,MAAM,oCAAoC;AAAE,MAAG,EAAE,WAAS,EAAE,QAAM,CAAA;AAAG,MAAE,KAAK,4BAA4B,CAAC;AAAE,MAAIG,IAAE,CAAA,GAAG,IAAE,IAAIJ,EAAE,aAAUK,IAAE,GAAEC,IAAE,GAAEC,IAAE,GAAEC,IAAEL,GAAErF,IAAEqF;AAAE,WAAQM,IAAE,GAAEA,IAAE,EAAE,QAAOA,KAAI;AAAC,QAAIE,IAAE,EAAEF,CAAC,EAAE,CAAC,GAAEG,IAAE,EAAEH,CAAC,EAAE,CAAC;AAAE,YAAO,CAACJ,KAAGM,MAAI,MAAI,EAAE,SAAOL,GAAE,EAAE,SAAOC,IAAGI,GAAG;AAAA,MAAA,KAAK;AAAE,UAAE,MAAMN,GAAG,IAAE,EAAEI,CAAC,GAAE,EAAE,WAASG,EAAE,QAAO9F,IAAEA,EAAE,UAAU,GAAEyF,CAAC,IAAEK,IAAE9F,EAAE,UAAUyF,CAAC;AAAE;AAAA,MAAM,KAAI;AAAG,UAAE,WAASK,EAAE,QAAO,EAAE,MAAMP,GAAG,IAAE,EAAEI,CAAC,GAAE3F,IAAEA,EAAE,UAAU,GAAEyF,CAAC,IAAEzF,EAAE,UAAUyF,IAAEK,EAAE,MAAM;AAAE;AAAA,MAAM,KAAK;AAAE,QAAAA,EAAE,UAAQ,IAAE,KAAK,gBAAcP,KAAG,EAAE,UAAQI,IAAE,KAAG,EAAE,MAAMJ,GAAG,IAAE,EAAEI,CAAC,GAAE,EAAE,WAASG,EAAE,QAAO,EAAE,WAASA,EAAE,UAAQA,EAAE,UAAQ,IAAE,KAAK,gBAAcP,MAAI,KAAK,kBAAkB,GAAEG,CAAC,GAAEJ,EAAE,KAAK,CAAC,GAAE,IAAE,IAAIJ,EAAE,aAAUK,IAAE,GAAEG,IAAE1F,GAAEwF,IAAEC;AAAG;AAAA,IAAK;AAAC,IAAAI,MAAI,MAAIL,KAAGM,EAAE,SAAQD,MAAI,OAAKJ,KAAGK,EAAE;AAAA,EAAO;AAAC,SAAOP,MAAI,KAAK,kBAAkB,GAAEG,CAAC,GAAEJ,EAAE,KAAK,CAAC,IAAGA;AAAC;AAAEJ,EAAE,UAAU,iBAAe,SAASC,GAAE;AAAC,MAAIC,IAAE,CAAA;AAAG,WAAQ,IAAE,GAAE,IAAED,EAAE,QAAO,KAAI;AAAC,QAAIE,IAAEF,EAAE,CAAC,GAAE,IAAE,IAAID,EAAE;AAAU,MAAE,QAAM,CAAE;AAAC,aAAQI,IAAE,GAAEA,IAAED,EAAE,MAAM,QAAOC,IAAI,GAAE,MAAMA,CAAC,IAAE,IAAIJ,EAAE,KAAKG,EAAE,MAAMC,CAAC,EAAE,CAAC,GAAED,EAAE,MAAMC,CAAC,EAAE,CAAC,CAAC;AAAE,MAAE,SAAOD,EAAE,QAAO,EAAE,SAAOA,EAAE,QAAO,EAAE,UAAQA,EAAE,SAAQ,EAAE,UAAQA,EAAE,SAAQD,EAAE,CAAC,IAAE;AAAA,EAAC;AAAC,SAAOA;AAAC;AAAEF,EAAE,UAAU,cAAY,SAASC,GAAEC,GAAE;AAAC,MAAGD,EAAE,UAAQ,EAAE,QAAM,CAACC,GAAE,CAAE,CAAA;AAAE,EAAAD,IAAE,KAAK,eAAeA,CAAC;AAAE,MAAI,IAAE,KAAK,iBAAiBA,CAAC;AAAE,EAAAC,IAAE,IAAEA,IAAE,GAAE,KAAK,eAAeD,CAAC;AAAE,MAAIE,IAAE,GAAE,IAAE,CAAA;AAAG,WAAQC,IAAE,GAAEA,IAAEH,EAAE,QAAOG,KAAI;AAAC,QAAI,IAAEH,EAAEG,CAAC,EAAE,SAAOD,GAAEE,IAAE,KAAK,WAAWJ,EAAEG,CAAC,EAAE,KAAK,GAAEE,GAAEC,IAAE;AAAG,QAAGF,EAAE,SAAO,KAAK,iBAAeC,IAAE,KAAK,WAAWJ,GAAEG,EAAE,UAAU,GAAE,KAAK,aAAa,GAAE,CAAC,GAAEC,KAAG,OAAKC,IAAE,KAAK,WAAWL,GAAEG,EAAE,UAAUA,EAAE,SAAO,KAAK,aAAa,GAAE,IAAEA,EAAE,SAAO,KAAK,aAAa,IAAGE,KAAG,MAAID,KAAGC,OAAKD,IAAE,QAAMA,IAAE,KAAK,WAAWJ,GAAEG,GAAE,CAAC,GAAEC,KAAG,GAAG,GAAEF,CAAC,IAAE,IAAGD,KAAGF,EAAEG,CAAC,EAAE,UAAQH,EAAEG,CAAC,EAAE;AAAA,SAAY;AAAC,QAAEA,CAAC,IAAE,IAAGD,IAAEG,IAAE;AAAE,UAAIE;AAAE,UAAGD,KAAG,KAAGC,IAAEN,EAAE,UAAUI,GAAEA,IAAED,EAAE,MAAM,IAAEG,IAAEN,EAAE,UAAUI,GAAEC,IAAE,KAAK,aAAa,GAAEF,KAAGG,EAAE,CAAAN,IAAEA,EAAE,UAAU,GAAEI,CAAC,IAAE,KAAK,WAAWL,EAAEG,CAAC,EAAE,KAAK,IAAEF,EAAE,UAAUI,IAAED,EAAE,MAAM;AAAA,WAAM;AAAC,YAAIvF,IAAE,KAAK,UAAUuF,GAAEG,GAAE,EAAE;AAAE,YAAGH,EAAE,SAAO,KAAK,iBAAe,KAAK,iBAAiBvF,CAAC,IAAEuF,EAAE,SAAO,KAAK,sBAAsB,GAAED,CAAC,IAAE;AAAA,aAAO;AAAC,eAAK,6BAA6BtF,CAAC;AAAE,cAAI2F,IAAE,GAAEE;AAAE,mBAAQC,IAAE,GAAEA,IAAEX,EAAEG,CAAC,EAAE,MAAM,QAAOQ,KAAI;AAAC,gBAAIC,IAAEZ,EAAEG,CAAC,EAAE,MAAMQ,CAAC;AAAE,YAAAC,EAAE,CAAC,MAAI,MAAIF,IAAE,KAAK,YAAY7F,GAAE2F,CAAC,IAAGI,EAAE,CAAC,MAAI,IAAEX,IAAEA,EAAE,UAAU,GAAEI,IAAEK,CAAC,IAAEE,EAAE,CAAC,IAAEX,EAAE,UAAUI,IAAEK,CAAC,IAAEE,EAAE,CAAC,MAAI,OAAKX,IAAEA,EAAE,UAAU,GAAEI,IAAEK,CAAC,IAAET,EAAE,UAAUI,IAAE,KAAK,YAAYxF,GAAE2F,IAAEI,EAAE,CAAC,EAAE,MAAM,CAAC,IAAGA,EAAE,CAAC,MAAI,OAAKJ,KAAGI,EAAE,CAAC,EAAE;AAAA,UAAO;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAOX,IAAEA,EAAE,UAAU,EAAE,QAAOA,EAAE,SAAO,EAAE,MAAM,GAAE,CAACA,GAAE,CAAC;AAAC;AAAEF,EAAE,UAAU,mBAAiB,SAASC,GAAE;AAAC,MAAIC,IAAE,KAAK,cAAa,IAAE;AAAG,WAAQE,IAAE,GAAEA,KAAGF,GAAEE,IAAI,MAAG,OAAO,aAAaA,CAAC;AAAE,WAAQA,IAAE,GAAEA,IAAEH,EAAE,QAAOG,IAAI,CAAAH,EAAEG,CAAC,EAAE,UAAQF,GAAED,EAAEG,CAAC,EAAE,UAAQF;AAAE,MAAIC,IAAEF,EAAE,CAAC,GAAE,IAAEE,EAAE;AAAM,MAAG,EAAE,UAAQ,KAAG,EAAE,CAAC,EAAE,CAAC,KAAG,EAAE,GAAE,QAAQ,IAAIH,EAAE,KAAK,GAAE,CAAC,CAAC,GAAEG,EAAE,UAAQD,GAAEC,EAAE,UAAQD,GAAEC,EAAE,WAASD,GAAEC,EAAE,WAASD;AAAA,WAAUA,IAAE,EAAE,CAAC,EAAE,CAAC,EAAE,QAAO;AAAC,QAAIE,IAAEF,IAAE,EAAE,CAAC,EAAE,CAAC,EAAE;AAAO,MAAE,CAAC,EAAE,CAAC,IAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,IAAE,EAAE,CAAC,EAAE,CAAC,GAAEC,EAAE,UAAQC,GAAED,EAAE,UAAQC,GAAED,EAAE,WAASC,GAAED,EAAE,WAASC;AAAA,EAAC;AAAC,MAAGD,IAAEF,EAAEA,EAAE,SAAO,CAAC,GAAE,IAAEE,EAAE,OAAM,EAAE,UAAQ,KAAG,EAAE,EAAE,SAAO,CAAC,EAAE,CAAC,KAAG,EAAE,GAAE,KAAK,IAAIH,EAAE,KAAK,GAAE,CAAC,CAAC,GAAEG,EAAE,WAASD,GAAEC,EAAE,WAASD;AAAA,WAAUA,IAAE,EAAE,EAAE,SAAO,CAAC,EAAE,CAAC,EAAE,QAAO;AAAC,QAAIE,IAAEF,IAAE,EAAE,EAAE,SAAO,CAAC,EAAE,CAAC,EAAE;AAAO,MAAE,EAAE,SAAO,CAAC,EAAE,CAAC,KAAG,EAAE,UAAU,GAAEE,CAAC,GAAED,EAAE,WAASC,GAAED,EAAE,WAASC;AAAA,EAAC;AAAC,SAAO;AAAC;AAAEJ,EAAE,UAAU,iBAAe,SAASC,GAAE;AAAC,MAAIC,IAAE,KAAK;AAAc,WAAQ,IAAE,GAAE,IAAED,EAAE,QAAO,KAAI;AAAC,QAAGA,EAAE,CAAC,EAAE,WAASC,EAAE;AAAS,QAAIC,IAAEF,EAAE,CAAC;AAAE,IAAAA,EAAE,OAAO,KAAI,CAAC;AAAE,QAAI,IAAEE,EAAE,QAAOC,IAAED,EAAE,QAAO,IAAE;AAAG,WAAKA,EAAE,MAAM,WAAS,KAAG;AAAC,UAAIE,IAAE,IAAIL,EAAE,aAAUM,IAAE;AAAG,WAAID,EAAE,SAAO,IAAE,EAAE,QAAOA,EAAE,SAAOD,IAAE,EAAE,QAAO,MAAI,OAAKC,EAAE,UAAQA,EAAE,UAAQ,EAAE,QAAOA,EAAE,MAAM,KAAK,IAAIL,EAAE,KAAK,GAAE,CAAC,CAAC,IAAGG,EAAE,MAAM,WAAS,KAAGE,EAAE,UAAQH,IAAE,KAAK,gBAAc;AAAC,YAAIM,IAAEL,EAAE,MAAM,CAAC,EAAE,CAAC,GAAErF,IAAEqF,EAAE,MAAM,CAAC,EAAE,CAAC;AAAE,QAAAK,MAAI,KAAGH,EAAE,WAASvF,EAAE,QAAOsF,KAAGtF,EAAE,QAAOuF,EAAE,MAAM,KAAKF,EAAE,MAAM,MAAK,CAAE,GAAEG,IAAE,MAAIE,MAAI,MAAIH,EAAE,MAAM,UAAQ,KAAGA,EAAE,MAAM,CAAC,EAAE,CAAC,KAAG,KAAGvF,EAAE,SAAO,IAAEoF,KAAGG,EAAE,WAASvF,EAAE,QAAO,KAAGA,EAAE,QAAOwF,IAAE,IAAGD,EAAE,MAAM,KAAK,IAAIL,EAAE,KAAKQ,GAAE1F,CAAC,CAAC,GAAEqF,EAAE,MAAM,MAAO,MAAGrF,IAAEA,EAAE,UAAU,GAAEoF,IAAEG,EAAE,UAAQ,KAAK,YAAY,GAAEA,EAAE,WAASvF,EAAE,QAAO,KAAGA,EAAE,QAAO0F,MAAI,KAAGH,EAAE,WAASvF,EAAE,QAAOsF,KAAGtF,EAAE,UAAQwF,IAAE,IAAGD,EAAE,MAAM,KAAK,IAAIL,EAAE,KAAKQ,GAAE1F,CAAC,CAAC,GAAEA,KAAGqF,EAAE,MAAM,CAAC,EAAE,CAAC,IAAEA,EAAE,MAAM,MAAK,IAAGA,EAAE,MAAM,CAAC,EAAE,CAAC,IAAEA,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,UAAUrF,EAAE,MAAM;AAAA,MAAE;AAAC,UAAE,KAAK,WAAWuF,EAAE,KAAK,GAAE,IAAE,EAAE,UAAU,EAAE,SAAO,KAAK,YAAY;AAAE,UAAIE,IAAE,KAAK,WAAWJ,EAAE,KAAK,EAAE,UAAU,GAAE,KAAK,YAAY;AAAE,MAAAI,MAAI,OAAKF,EAAE,WAASE,EAAE,QAAOF,EAAE,WAASE,EAAE,QAAOF,EAAE,MAAM,WAAS,KAAGA,EAAE,MAAMA,EAAE,MAAM,SAAO,CAAC,EAAE,CAAC,MAAI,IAAEA,EAAE,MAAMA,EAAE,MAAM,SAAO,CAAC,EAAE,CAAC,KAAGE,IAAEF,EAAE,MAAM,KAAK,IAAIL,EAAE,KAAK,GAAEO,CAAC,CAAC,IAAGD,KAAGL,EAAE,OAAO,EAAE,GAAE,GAAEI,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAEL,EAAE,UAAU,eAAa,SAASC,GAAE;AAAC,MAAIC,IAAE;AAAG,WAAQ,IAAE,GAAE,IAAED,EAAE,QAAO,IAAI,CAAAC,EAAE,CAAC,IAAED,EAAE,CAAC;AAAE,SAAOC,EAAE,KAAK,EAAE;AAAC;AAAEF,EAAE,UAAU,iBAAe,SAASC,GAAE;AAAC,MAAIC,IAAE,CAAA;AAAG,MAAG,CAACD,EAAE,QAAOC;AAAE,MAAI,IAAED,EAAE,MAAM;AAAA,CAC12Z,GAAEE,IAAE,GAAE,IAAE;AAAuC,SAAKA,IAAE,EAAE,UAAQ;AAAC,QAAIC,IAAE,EAAED,CAAC,EAAE,MAAM,CAAC;AAAE,QAAG,CAACC,EAAE,OAAM,IAAI,MAAM,2BAAyB,EAAED,CAAC,CAAC;AAAE,QAAI,IAAE,IAAIH,EAAE;AAAU,SAAIE,EAAE,KAAK,CAAC,GAAE,EAAE,SAAO,SAASE,EAAE,CAAC,GAAE,EAAE,GAAEA,EAAE,CAAC,MAAI,MAAI,EAAE,UAAS,EAAE,UAAQ,KAAGA,EAAE,CAAC,KAAG,MAAI,EAAE,UAAQ,KAAG,EAAE,UAAS,EAAE,UAAQ,SAASA,EAAE,CAAC,GAAE,EAAE,IAAG,EAAE,SAAO,SAASA,EAAE,CAAC,GAAE,EAAE,GAAEA,EAAE,CAAC,MAAI,MAAI,EAAE,UAAS,EAAE,UAAQ,KAAGA,EAAE,CAAC,KAAG,MAAI,EAAE,UAAQ,KAAG,EAAE,UAAS,EAAE,UAAQ,SAASA,EAAE,CAAC,GAAE,EAAE,IAAGD,KAAIA,IAAE,EAAE,UAAQ;AAAC,UAAIE,IAAE,EAAEF,CAAC,EAAE,OAAO,CAAC,GAAEG,IAAE;AAAG,UAAG;AAAC,QAAAA,IAAE,UAAU,EAAEH,CAAC,EAAE,UAAU,CAAC,CAAC;AAAA,MAAC,QAAM;AAAC,cAAM,IAAI,MAAM,uCAAqCG,CAAC;AAAA,MAAC;AAAC,UAAGD,KAAG,IAAI,GAAE,MAAM,KAAK,IAAIL,EAAE,KAAK,IAAGM,CAAC,CAAC;AAAA,eAAUD,KAAG,IAAI,GAAE,MAAM,KAAK,IAAIL,EAAE,KAAK,GAAEM,CAAC,CAAC;AAAA,eAAUD,KAAG,IAAI,GAAE,MAAM,KAAK,IAAIL,EAAE,KAAK,GAAEM,CAAC,CAAC;AAAA,WAAM;AAAC,YAAGD,KAAG,IAAI;AAAM,YAAGA,MAAI,GAAG,OAAM,IAAI,MAAM,yBAAuBA,IAAE,WAASC,CAAC;AAAA,MAAC;AAAC,MAAAH;AAAA,IAAG;AAAA,EAAC;AAAC,SAAOD;AAAC;AAAEF,EAAE,YAAU,WAAU;AAAC,OAAK,QAAM,CAAE,GAAC,KAAK,SAAO,MAAK,KAAK,SAAO,MAAK,KAAK,UAAQ,GAAE,KAAK,UAAQ;AAAC;AAAEA,EAAE,UAAU,UAAU,WAAS,WAAU;AAAC,MAAIC,GAAEC;AAAE,OAAK,YAAU,IAAED,IAAE,KAAK,SAAO,OAAK,KAAK,WAAS,IAAEA,IAAE,KAAK,SAAO,IAAEA,IAAE,KAAK,SAAO,IAAE,MAAI,KAAK,SAAQ,KAAK,YAAU,IAAEC,IAAE,KAAK,SAAO,OAAK,KAAK,WAAS,IAAEA,IAAE,KAAK,SAAO,IAAEA,IAAE,KAAK,SAAO,IAAE,MAAI,KAAK;AAAQ,MAAI,IAAE,CAAC,SAAOD,IAAE,OAAKC,IAAE;AAAA,CACnpC,GAAEC;AAAE,EAAAH,EAAE,UAAU,4BAA4B,KAAK,KAAK;AAAE,WAAQ,IAAE,GAAE,IAAE,KAAK,MAAM,QAAO,KAAI;AAAC,YAAO,KAAK,MAAM,CAAC,EAAE,CAAC,GAAG;AAAA,MAAA,KAAK;AAAE,QAAAG,IAAE;AAAI;AAAA,MAAM;AAAO,QAAAA,IAAE;AAAI;AAAA,MAAM,KAAK;AAAE,QAAAA,IAAE;AAAI;AAAA,IAAK;AAAC,MAAE,IAAE,CAAC,IAAEA,IAAE,UAAU,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAE;AAAA;AAAA,EACpN;AAAC,SAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,QAAO,GAAG;AAAC;AAAE,SAASuB,EAAEzB,GAAE;AAAC,SAAOA,KAAG,OAAOA,KAAG,YAAU,CAAC,MAAM,QAAQA,CAAC,KAAGA,MAAI;AAAI;AAAC,SAAS0B,EAAE1B,GAAEC,GAAE;AAAC,SAAOwB,EAAEzB,CAAC,KAAGyB,EAAExB,CAAC,KAAG,OAAO,KAAKA,CAAC,EAAE,QAAQ,OAAG;AAAC,UAAI,eAAa,MAAI,kBAAgBwB,EAAExB,EAAE,CAAC,CAAC,MAAI,CAACD,EAAE,CAAC,KAAG,CAACyB,EAAEzB,EAAE,CAAC,CAAC,OAAKA,EAAE,CAAC,IAAEC,EAAE,CAAC,IAAGyB,EAAE1B,EAAE,CAAC,GAAEC,EAAE,CAAC,CAAC,KAAG,OAAO,OAAOD,GAAE,EAAC,CAAC,CAAC,GAAEC,EAAE,CAAC,EAAC,CAAC;AAAA,EAAE,CAAC,GAAED;AAAC;AAAC,SAAS2B,EAAE3B,GAAEC,GAAE,IAAE,IAAG;AAAC,MAAIC,IAAE,MAAK,IAAE;AAAG,SAAM,IAAIC,MAAI;AAAC,UAAM,IAAE,KAAG,GAAEC,IAAE,MAAI;AAAC,MAAAJ,EAAE,MAAM,MAAKG,CAAC,GAAED,IAAE;AAAA,IAAI;AAAE,UAAI,IAAE,IAAGE,EAAC,IAAIF,MAAIA,IAAE,WAAWE,GAAEH,CAAC;AAAA,EAAE;AAAC;AAAC,SAAS2B,GAAG5B,GAAEC,GAAE;AAAC,MAAI;AAAE,SAAM,IAAIC,MAAI;AAAC,UAAM,IAAE;AAAK,iBAAa,CAAC,GAAE,IAAE,WAAW,MAAIF,EAAE,MAAM,GAAEE,CAAC,GAAED,CAAC;AAAA,EAAC;AAAC;AAAC,SAAS4B,EAAE7B,IAAE,IAAG;AAAC,SAAOA,EAAE,QAAQ,SAAQ;AAAA,CAC/jB;AAAC;AAAC,SAAS8B,GAAE9B,GAAEC,GAAE,GAAEC,GAAE;AAAC,QAAM,IAAE,IAAEF,GAAEG,IAAEH,IAAE,IAAE;AAAE,SAAM,KAAKA,CAAC,IAAIC,CAAC,MAAME,CAAC,IAAIF,CAAC,IAAIE,CAAC,IAAID,CAAC,IAAI,CAAC,IAAIA,CAAC;AAAE;AAAC,MAAM6B,IAAE,EAAC,YAAW,GAAE,aAAY,IAAG,aAAY,GAAE,cAAa,SAAQ,aAAY,QAAO,KAAI,OAAM,KAAI,OAAM,QAAO,8BAA6B,2BAA0B,YAAW,wBAAuB,QAAO;AAAE,SAASC,GAAEhC,GAAEC,GAAE;AAAC,MAAG,EAAC,MAAK,EAAC,IAAED,EAAE;AAAQ,SAAOC,MAAI8B,EAAE,eAAa/B,EAAE,QAAQ,KAAK,SAAO,SAAO,IAAEA,EAAE,QAAQ,KAAK,OAAMC,MAAI8B,EAAE,gBAAc/B,EAAE,QAAQ,MAAM,SAAO,SAAO,IAAEA,EAAE,QAAQ,MAAM,OAAM;AAAC;AAAC,SAASiC,GAAEjC,GAAEC,GAAE;AAAC,MAAG,EAAC,OAAM,EAAC,IAAED,EAAE;AAAQ,SAAOC,MAAI8B,EAAE,eAAa/B,EAAE,QAAQ,KAAK,UAAQ,SAAO,IAAEA,EAAE,QAAQ,KAAK,QAAOC,MAAI8B,EAAE,gBAAc/B,EAAE,QAAQ,MAAM,UAAQ,SAAO,IAAEA,EAAE,QAAQ,MAAM,QAAO;AAAC;AAAC,SAASkC,GAAElC,GAAEC,GAAE;AAAC,SAAOD,EAAE,IAAI,WAAY,EAAC,IAAI,QAAQC,CAAC;AAAC;AAAC,SAASkC,GAAGnC,GAAE;AAAC,SAAO,SAAS,eAAeA,EAAE,QAAQ,KAAK,EAAE,EAAE;AAAY;AAAC,SAASoC,GAAEpC,GAAE;AAAC,QAAMC,IAAE,SAAS,cAAc,KAAK,GAAE,IAAE,EAAC,OAAMD,EAAE,WAAU,OAAM,OAAOA,EAAE,SAAS,MAAK,OAAMA,EAAE,SAAQ,mBAAkBA,EAAE,UAAS;AAAE,aAAUE,KAAK,EAAE,CAAAD,EAAE,aAAaC,GAAE,EAAEA,CAAC,CAAC;AAAE,SAAOD,EAAE,YAAUD,EAAE,cAAaC;AAAC;AAAC,SAASoC,EAAErC,GAAEC,GAAE;AAAC,QAAM,IAAE,KAAK,OAAQ,EAAC,SAAS,EAAE,EAAE,OAAO,GAAE,CAAC,GAAEC,IAAE,MAAMD,CAAC,IAAI,CAAC,IAAG,IAAED,EAAE,cAAc,IAAIC,CAAC,EAAE;AAAE,MAAG,EAAE,QAAO,EAAE,KAAG,EAAE,MAAIC,GAAE,EAAE;AAAG,QAAMC,IAAE,SAAS,cAAc,KAAK;AAAE,SAAOH,EAAE,YAAYG,CAAC,GAAEA,EAAE,YAAUF,GAAEE,EAAE,KAAGD,GAAEC,EAAE;AAAE;AAAC,SAASmC,GAAEtC,GAAEC,GAAE,GAAEC,GAAE;AAAC,QAAM,IAAEF,MAAI,aAAW,WAAS,SAAS,cAAcA,CAAC;AAAE,IAAE,iBAAiBC,GAAE,CAAAE,MAAG;AAAC,UAAM,IAAE,EAAE,iBAAiB,CAAC,GAAE,EAAC,QAAOC,EAAC,IAAED;AAAE,aAAQE,IAAE,GAAEC,IAAE,EAAE,QAAOD,IAAEC,GAAED,KAAG,GAAE;AAAC,UAAIE,IAAEH;AAAE,YAAMvF,IAAE,EAAEwF,CAAC;AAAE,aAAKE,KAAGA,MAAI,IAAG,CAAAA,MAAI1F,KAAGqF,EAAE,KAAKrF,GAAEsF,CAAC,GAAEI,IAAEA,EAAE;AAAA,IAAU;AAAA,EAAC,CAAC;AAAC;AAAC,IAAIgC;AAAE,SAASC,GAAGxC,GAAE;AAAC,MAAGA,EAAE,MAAM,QAAOA,EAAE;AAAM,QAAMC,IAAED,EAAE,YAAUA,EAAE;AAAQ,SAAOC,IAAEA,EAAE,WAAW,IAAE;AAAE;AAAC,SAASwC,EAAEzC,IAAE,IAAG;AAAC,MAAG,EAAE,gBAAgByC,GAAG,QAAO,IAAIA,EAAEzC,CAAC;AAAE,QAAMC,IAAE,MAAK,IAAE,MAAI,SAAO,OAAO,MAAI;AAAO,EAAAA,EAAE,UAAQyB,EAAE,EAAC,KAAI,EAAG,GAAC,MAAK,MAAK,OAAM,MAAK,SAAQ,MAAK,iBAAgBK,EAAE,wBAAuB,eAAc,IAAG,WAAU,IAAG,gBAAe,IAAG,UAAS,KAAI,MAAK,EAAC,IAAG,MAAK,SAAQ,MAAK,MAAK,MAAK,OAAM,MAAK,UAAS,IAAG,iBAAgB,GAAE,GAAE,OAAM,EAAC,IAAG,MAAK,SAAQ,MAAK,MAAK,MAAK,OAAM,MAAK,UAAS,IAAG,iBAAgB,GAAE,GAAE,SAAQ,EAAC,UAAS,mBAAkB,MAAK,qBAAoB,WAAU,sBAAqB,sBAAqB,6BAA4B,6BAA4B,WAAU,0BAAyB,iCAAgC,iCAAgC,WAAU,oBAAmB,wBAAuB,mBAAkB,sBAAqB,GAAE,kBAAiB,EAAC,GAAE/B,CAAC;AAAE,QAAK,EAAC,KAAIE,EAAC,IAAED,EAAE;AAAQ,MAAG,CAACC,GAAE;AAAC,UAAM,IAAE;AAA8E,WAAO,QAAQ,MAAM,CAAC,GAAE,IAAI,MAAM,CAAC;AAAA,EAAC;AAAC,MAAGqC,IAAEC,GAAGtC,CAAC,GAAE,CAACqC,GAAE;AAAC,UAAM,IAAE;AAAmM,WAAO,QAAQ,MAAM,CAAC,GAAE,IAAI,MAAM,CAAC;AAAA,EAAC;AAAC,MAAGtC,EAAE,QAAQ,YAAU,MAAK;AAAC,UAAM,IAAE;AAA6E,WAAO,QAAQ,MAAM,CAAC,GAAE,IAAI,MAAM,CAAC;AAAA,EAAC;AAAC,MAAGA,EAAE,QAAQ,mBAAmB,cAAYA,EAAE,KAAGA,EAAE,QAAQ,UAAQA,EAAE,KAAG,SAAS,KAAK,cAAcA,EAAE,QAAQ,OAAO,GAAE,CAACA,EAAE,IAAG;AAAC,UAAM,IAAE,oCAAoCA,EAAE,QAAQ,OAAO;AAAG,WAAO,QAAQ,MAAM,CAAC,GAAE,IAAI,MAAM,CAAC;AAAA,EAAC;AAAC,EAAAA,EAAE,QAAQ,KAAK,KAAGoC,EAAEpC,EAAE,IAAG,eAAe,GAAEA,EAAE,QAAQ,QAAQ,WAASoC,EAAEpC,EAAE,IAAG,iBAAiB,GAAEA,EAAE,QAAQ,MAAM,KAAGoC,EAAEpC,EAAE,IAAG,gBAAgB,GAAEA,EAAE,GAAG,YAAU,8BAA8BA,EAAE,GAAG,SAAS,UAASA,EAAE,UAAQ,EAAC,MAAK,EAAC,KAAIC,EAAE,KAAKD,EAAE,QAAQ,KAAK,EAAE,GAAE,SAAQ,CAAA,GAAG,aAAY,CAAE,EAAA,GAAE,OAAM,EAAC,KAAIC,EAAE,KAAKD,EAAE,QAAQ,MAAM,EAAE,GAAE,SAAQ,CAAA,GAAG,aAAY,CAAE,EAAA,GAAE,cAAa,KAAI,GAAEA,EAAE,QAAQ,KAAK,IAAI,aAAa,QAAQ+B,GAAE/B,GAAE8B,EAAE,WAAW,CAAC,GAAE9B,EAAE,QAAQ,MAAM,IAAI,WAAU,EAAG,QAAQ+B,GAAE/B,GAAE8B,EAAE,YAAY,CAAC,GAAE9B,EAAE,QAAQ,KAAK,IAAI,YAAY,CAACA,EAAE,QAAQ,KAAK,QAAQ,GAAEA,EAAE,QAAQ,MAAM,IAAI,YAAY,CAACA,EAAE,QAAQ,MAAM,QAAQ,GAAEA,EAAE,QAAQ,KAAK,IAAI,SAASgC,GAAEhC,GAAE8B,EAAE,WAAW,CAAC,GAAE9B,EAAE,QAAQ,MAAM,IAAI,SAASgC,GAAEhC,GAAE8B,EAAE,YAAY,CAAC,GAAE9B,EAAE,QAAQ,KAAK,IAAI,SAAS4B,EAAE5B,EAAE,QAAQ,KAAK,OAAO,GAAE,EAAE,GAAEA,EAAE,QAAQ,MAAM,IAAI,SAAS4B,EAAE5B,EAAE,QAAQ,MAAM,OAAO,GAAE,EAAE,GAAEA,EAAE,QAAQ,eAAakC,GAAGlC,CAAC,GAAE,WAAW,MAAI;AAAC,IAAAA,EAAE,aAAWA,EAAE,QAAQ,KAAK,IAAI,SAAS,YAAWyC,GAAGzC,CAAC,GAAE0C,GAAG1C,CAAC,GAAE2C,GAAE3C,CAAC,GAAEA,EAAE,KAAM;AAAA,EAAA,GAAE,CAAC;AAAC;AAACwC,EAAE,YAAU,EAAC,WAAWzC,GAAE;AAAC,EAAA0B,EAAE,KAAK,SAAQ1B,CAAC,GAAE,KAAK,KAAI;AAAE,GAAE,cAAa;AAAC,SAAO,KAAK,MAAM;AAAM,GAAE,aAAY;AAAC,SAAM,EAAC,MAAK,KAAK,QAAQ,KAAK,KAAI,OAAM,KAAK,QAAQ,MAAM,IAAG;AAAC,GAAE,OAAM;AAAC,QAAMA,IAAE,IAAID,KAAEE,IAAE,KAAK,QAAQ,KAAK,IAAI,WAAY,EAAC,SAAQ,GAAG,IAAE,KAAK,QAAQ,MAAM,IAAI,WAAY,EAAC,SAAQ,GAAGC,IAAEF,EAAE,UAAU,GAAEC,CAAC;AAAE,EAAAD,EAAE,qBAAqBE,CAAC,GAAE,KAAK,QAAQ,KAAK,cAAY2C,GAAE,KAAK,QAAQ,IAAI,GAAE,KAAK,QAAQ,MAAM,cAAYA,GAAE,KAAK,QAAQ,KAAK;AAAE,QAAM,IAAE,CAAE,GAAC1C,IAAE,EAAC,MAAK,GAAE,OAAM,EAAC;AAAE,EAAAD,EAAE,QAAQ,OAAG;AAAC,UAAME,IAAE,EAAE,CAAC;AAAE,QAAIC,IAAE,EAAE,CAAC;AAAE,IAAAA,EAAE,WAAS,MAAID,MAAI2B,EAAE,cAAY5B,EAAE,QAAME,EAAE,QAAOF,EAAE,SAAOE,EAAE,UAAQD,MAAI2B,EAAE,eAAa,EAAE,KAAKe,GAAE,MAAKf,EAAE,aAAY5B,EAAE,MAAKA,EAAE,OAAME,CAAC,CAAC,GAAEF,EAAE,SAAOE,EAAE,UAAQD,MAAI2B,EAAE,gBAAc,EAAE,KAAKe,GAAE,MAAKf,EAAE,aAAY5B,EAAE,MAAKA,EAAE,OAAME,CAAC,CAAC,GAAEF,EAAE,QAAME,EAAE;AAAA,EAAQ,GAAE,IAAI,GAAE,KAAK,QAAM0C,GAAG,MAAK,CAAC,GAAE,EAAE,KAAK,MAAM,SAAO,KAAK,QAAQ,cAAYC,GAAE,IAAI,GAAEC,GAAE,IAAI;AAAE,GAAE,UAAS;AAAC,QAAMjD,IAAE,KAAK,QAAQ,KAAK,IAAI,SAAU;AAAC,OAAK,QAAQ,KAAK,IAAI,QAAO;AAAG,MAAIC,IAAE,KAAK,QAAQ,KAAK,IAAI,WAAU,IAAEA,EAAE,UAAU,EAAE;AAAE,IAAE,cAAYD,GAAEC,EAAE,WAAW,aAAa,GAAEA,CAAC;AAAE,QAAMC,IAAE,KAAK,QAAQ,MAAM,IAAI,SAAU;AAAC,OAAK,QAAQ,MAAM,IAAI,WAAUD,IAAE,KAAK,QAAQ,MAAM,IAAI,WAAU,IAAEA,EAAE,UAAU,EAAE,GAAE,EAAE,cAAYC,GAAED,EAAE,WAAW,aAAa,GAAEA,CAAC,GAAE,SAAS,eAAe,KAAK,QAAQ,QAAQ,QAAQ,EAAE,YAAU,IAAGiD,GAAC;AAAE,EAAC;AAAE,IAAIA,KAAE,MAAI;AAAE;AAAC,SAASR,GAAG1C,GAAE;AAAC,EAAAA,EAAE,QAAQ,KAAK,IAAI,WAAY,EAAC,GAAG,mBAAkB2B,EAAE,MAAI;AAAC,IAAAwB,GAAEnD,CAAC;AAAA,EAAC,GAAE,EAAE,CAAC,GAAEA,EAAE,QAAQ,MAAM,IAAI,WAAY,EAAC,GAAG,mBAAkB2B,EAAE,MAAI;AAAC,IAAAwB,GAAEnD,CAAC;AAAA,EAAC,GAAE,EAAE,CAAC;AAAE,QAAMC,IAAED,EAAE,KAAK,KAAKA,CAAC;AAAE,EAAAA,EAAE,QAAQ,KAAK,IAAI,GAAG,UAASC,CAAC,GAAED,EAAE,QAAQ,MAAM,IAAI,GAAG,UAASC,CAAC,GAAED,EAAE,QAAQ,KAAK,mBAAiBsC,GAAE,IAAItC,EAAE,QAAQ,QAAQ,QAAQ,IAAG,SAAQ,IAAIA,EAAE,QAAQ,QAAQ,oBAAoB,IAAG,CAAAE,MAAG;AAAC,IAAAkD,GAAEpD,GAAEE,GAAE6B,EAAE,GAAG;AAAA,EAAC,CAAC,GAAE/B,EAAE,QAAQ,MAAM,mBAAiBsC,GAAE,IAAItC,EAAE,QAAQ,QAAQ,QAAQ,IAAG,SAAQ,IAAIA,EAAE,QAAQ,QAAQ,wBAAwB,IAAG,CAAAE,MAAG;AAAC,IAAAkD,GAAEpD,GAAEE,GAAE6B,EAAE,GAAG;AAAA,EAAC,CAAC;AAAE,QAAM,IAAEH,GAAG,MAAI;AAAC,IAAA5B,EAAE,QAAQ,kBAAgB,SAAS,eAAeA,EAAE,QAAQ,KAAK,EAAE,EAAE,cAAaA,EAAE,KAAM;AAAA,EAAA,GAAE,GAAG;AAAE,SAAO,iBAAiB,UAAS,CAAC,GAAEkD,KAAE,MAAI;AAAC,WAAO,oBAAoB,UAAS,CAAC;AAAA,EAAC;AAAC;AAAC,SAASE,GAAEpD,GAAEC,GAAE,GAAE;AAAC,QAAMC,IAAE,SAASD,EAAE,OAAO,aAAa,iBAAiB,GAAE,EAAE,GAAE,IAAED,EAAE,MAAME,CAAC;AAAE,MAAIC,GAAE,GAAEC,GAAEC,GAAEC,GAAEC;AAAE,QAAIwB,EAAE,OAAK5B,IAAEH,EAAE,QAAQ,MAAK,IAAEA,EAAE,QAAQ,OAAMI,IAAE,EAAE,eAAcC,IAAE,EAAE,aAAYC,IAAE,EAAE,gBAAeC,IAAE,EAAE,iBAAeJ,IAAEH,EAAE,QAAQ,OAAM,IAAEA,EAAE,QAAQ,MAAKI,IAAE,EAAE,gBAAeC,IAAE,EAAE,cAAaC,IAAE,EAAE,eAAcC,IAAE,EAAE;AAAa,MAAI1F,IAAE;AAAG,WAAQ6F,IAAEN,GAAEM,IAAEL,GAAEK,KAAG,EAAE,CAAA7F,KAAGqH,GAAE/B,GAAEO,CAAC,GAAEA,MAAIN,KAAGvF,MAAI,MAAIyF,KAAG,MAAIzF,KAAG;AAAA,IAC/7M6F,IAAEP,EAAE,IAAI,WAAU,EAAG,UAAS,IAAG,MAAItF,KAAG;AAAA;AACxC,QAAM2F,IAAE,EAAE,IAAI,WAAY,EAAC,aAAY;AAAG,IAAE,IAAI,WAAY,EAAC,QAAQ,IAAI+B,EAAEjC,GAAE,GAAEC,GAAE,CAAC,GAAE1F,CAAC,GAAE,EAAE,IAAI,WAAU,EAAG,aAAa,SAAS2F,GAAE,EAAE,CAAC,GAAER,EAAE,KAAM;AAAA;AAAC,SAAS6C,GAAE7C,GAAE;AAAC,QAAMC,IAAED,EAAE,IAAI,WAAU,EAAG,IAAI,YAAa,GAAC,IAAE,CAAE;AAAC,SAAOC,EAAE,QAAQ,CAAAC,MAAG;AAAC,MAAE,KAAKA,EAAE,SAAO,CAAC;AAAA,EAAC,CAAC,GAAE;AAAC;AAAC,SAASmD,GAAErD,GAAEC,GAAE,GAAEC,GAAE,GAAE;AAAC,QAAMC,IAAEH,EAAE,QAAQC,CAAC;AAAE,EAAAC,IAAE,MAAIA,IAAE;AAAG,QAAM,IAAE,GAAG,CAAC,IAAIA,IAAE,IAAE,UAAQ,YAAY;AAAG,EAAAA,IAAE,MAAIA,KAAG,IAAGC,EAAE,QAAQ,KAAKA,EAAE,IAAI,QAAQ,UAAU,IAAIoC,EAAE,GAAE,GAAErC,GAAE,CAAC,GAAE,GAAE,UAAU,CAAC;AAAC;AAAC,SAASiD,GAAEnD,GAAE;AAAC,EAAAgD,GAAEhD,CAAC,GAAEiD,GAAEjD,CAAC,GAAEsD,GAAGtD,CAAC;AAAC;AAAC,SAASgD,GAAEhD,GAAE;AAAC,EAAAA,EAAE,QAAQ,KAAK,QAAQ,QAAQ,CAAAC,MAAG;AAAC,IAAAD,EAAE,QAAQ,KAAK,IAAI,WAAY,EAAC,aAAaC,CAAC;AAAA,EAAC,GAAED,CAAC,GAAEA,EAAE,QAAQ,MAAM,QAAQ,QAAQ,CAAAC,MAAG;AAAC,IAAAD,EAAE,QAAQ,MAAM,IAAI,WAAY,EAAC,aAAaC,CAAC;AAAA,EAAC,GAAED,CAAC;AAAC;AAAC,SAASuD,GAAGvD,GAAEC,GAAE,GAAEC,GAAE,GAAE;AAAC,QAAMC,IAAEH,EAAE,QAAQ,KAAK,IAAI,WAAY,EAAC,aAAY,GAAG,IAAEA,EAAE,QAAQ,MAAM,IAAI,WAAU,EAAG,aAAc;AAAC,EAAAA,EAAE,mBAAiB;AAAE,QAAMI,IAAE,IAAGC,IAAEJ,IAAED,EAAE,aAAWG,IAAE,KAAGG,IAAEN,EAAE,cAAY,GAAEO,IAAEL,IAAEF,EAAE,aAAW,IAAE,KAAGnF,IAAE,IAAG2F,IAAE,IAAER,EAAE,aAAWG,IAAEH,EAAE,mBAAiB,KAAGU,IAAEV,EAAE,cAAY,GAAEW,IAAE,IAAEX,EAAE,aAAW,IAAEA,EAAE,mBAAiB,KAAGY,IAAEkB,GAAE1B,GAAEC,GAAEC,GAAEC,CAAC,GAAEE,IAAEqB,GAAEpB,GAAEC,GAAE9F,GAAE2F,CAAC,GAAEK,IAAE,IAAIP,CAAC,IAAIC,CAAC,IAAIG,CAAC,IAAIC,CAAC,IAAGG,IAAE,IAAIjG,CAAC,IAAI2F,CAAC,IAAIJ,CAAC,IAAIC,CAAC,IAAGU,IAAE,GAAGH,CAAC,IAAIC,CAAC,IAAIJ,CAAC,IAAIK,CAAC,IAAGE,IAAE,SAAS,gBAAgBe,EAAE,QAAO,MAAM;AAAE,EAAAf,EAAE,aAAa,KAAID,CAAC,GAAEC,EAAE,aAAa,SAAQhB,EAAE,QAAQ,QAAQ,SAAS,GAAEA,EAAE,UAAU,YAAYgB,CAAC;AAAC;AAAC,SAASwC,GAAGxD,GAAEC,GAAE,GAAE;AAAC,MAAGA,EAAE,cAAYA,EAAE,iBAAeD,EAAE,QAAQ,KAAK,iBAAgB;AAAC,UAAME,IAAEkC,GAAE,EAAC,WAAUpC,EAAE,QAAQ,QAAQ,sBAAqB,WAAUC,EAAE,gBAAcD,EAAE,YAAW,SAAQ,iBAAgB,WAAU,GAAE,cAAaA,EAAE,QAAQ,QAAQ,4BAA2B,CAAC;AAAE,IAAAA,EAAE,mBAAmB,YAAYE,CAAC;AAAA,EAAC;AAAC,MAAGD,EAAE,eAAaA,EAAE,kBAAgBD,EAAE,QAAQ,MAAM,iBAAgB;AAAC,UAAME,IAAEkC,GAAE,EAAC,WAAUpC,EAAE,QAAQ,QAAQ,0BAAyB,WAAUC,EAAE,iBAAeD,EAAE,YAAW,SAAQ,gBAAe,WAAU,GAAE,cAAaA,EAAE,QAAQ,QAAQ,gCAA+B,CAAC;AAAE,IAAAA,EAAE,kBAAkB,YAAYE,CAAC;AAAA,EAAC;AAAC;AAAC,SAASoD,GAAGtD,GAAE;AAAC,QAAMC,IAAED,EAAE,QAAQ,KAAK,IAAI,WAAY,EAAC,aAAY,GAAG,IAAEA,EAAE,QAAQ,MAAM,IAAI,WAAY,EAAC,aAAY;AAAG,EAAAA,EAAE,mBAAmB,MAAM,UAAQ,QAAQ,CAACC,CAAC,MAAKD,EAAE,kBAAkB,MAAM,UAAQ,QAAQ,CAAC,CAAC;AAAI;AAAC,SAAS8C,GAAE9C,GAAEC,GAAE,GAAEC,GAAE,GAAE;AAAC,MAAIC,IAAE,CAAA;AAAG,MAAGF,MAAI8B,EAAE,aAAY;AAAC,QAAI,IAAE0B,GAAEzD,EAAE,QAAQ,MAAK,GAAE,CAAC,GAAEI,IAAEsD,GAAE1D,EAAE,QAAQ,OAAME,CAAC,GAAEG,IAAEsD,EAAE3D,EAAE,QAAQ,OAAMI,CAAC;AAAE,UAAME,IAAEqD,EAAE3D,EAAE,QAAQ,MAAK,EAAE,SAAS;AAAE,QAAIO,IAAEH,GAAEvF,IAAE,EAAE,cAAY,EAAE,SAAQ2F,IAAE;AAAE,KAAC,EAAE,YAAU,KAAG3F,KAAG,EAAE,SAAOyF,MAAID,IAAE,KAAG,EAAE,YAAUC,KAAGE,KAAIL,IAAE,EAAC,eAAc,EAAE,WAAU,aAAY,EAAE,UAAQ,GAAE,gBAAeI,GAAE,cAAaA,IAAEC,EAAC;AAAA,EAAC,OAAK;AAAC,QAAI,IAAEiD,GAAEzD,EAAE,QAAQ,OAAME,GAAE,CAAC,GAAEE,IAAEsD,GAAE1D,EAAE,QAAQ,MAAK,CAAC,GAAEK,IAAEsD,EAAE3D,EAAE,QAAQ,MAAKI,CAAC;AAAE,UAAME,IAAEqD,EAAE3D,EAAE,QAAQ,OAAM,EAAE,SAAS;AAAE,QAAIO,IAAEH,GAAEvF,IAAE,EAAE,cAAY,EAAE,SAAQ2F,IAAE;AAAE,KAAC,EAAE,YAAU,KAAG3F,KAAG,EAAE,SAAOyF,MAAID,IAAE,KAAG,EAAE,YAAUC,KAAGE,KAAIL,IAAE,EAAC,eAAcI,GAAE,aAAYA,IAAEC,GAAE,gBAAe,EAAE,WAAU,cAAa,EAAE,UAAQ,EAAC;AAAA,EAAC;AAAC,SAAOL;AAAC;AAAC,SAASsD,GAAEzD,GAAEC,GAAE,GAAE;AAAC,QAAMC,IAAE,EAAC,WAAU,GAAE,WAAU,GAAE,SAAQ,GAAE,SAAQ,EAAC,GAAE,IAAED,IAAE,EAAE;AAAO,MAAIE,IAAE,GAAE,IAAE,IAAGC,IAAE;AAAG,EAAAJ,EAAE,YAAY,QAAQ,CAACM,GAAEC,MAAI;AAAC,IAAAJ,KAAGG,GAAE,CAAC,KAAGL,IAAEE,MAAID,EAAE,YAAUK,GAAEL,EAAE,YAAUD,IAAEE,IAAEG,GAAE,IAAE,KAAI,CAACF,KAAG,KAAGD,MAAID,EAAE,UAAQK,GAAEL,EAAE,UAAQ,IAAEC,IAAEG,GAAEF,IAAE;AAAA,EAAG,CAAC,GAAEF,EAAE,YAAU,KAAGyD,EAAE3D,GAAEE,EAAE,SAAS,MAAIA,EAAE,cAAYA,EAAE,aAAYA,EAAE,YAAU,IAAGA,EAAE,YAAU,KAAGA,EAAE;AAAU,QAAMG,IAAE,MAAM,KAAK,CAAC;AAAE,SAAOH,EAAE,YAAU,KAAGG,KAAGH,EAAE,WAAUA;AAAC;AAAC,SAASyD,EAAE3D,GAAEC,GAAE;AAAC,SAAOiC,GAAElC,GAAEC,CAAC,EAAE;AAAM;AAAC,SAASyD,GAAE1D,GAAEC,GAAE;AAAC,QAAM,IAAED,EAAE,IAAI,WAAY,EAAC,IAAI,YAAW;AAAG,MAAIE,IAAE,GAAE,IAAE;AAAE,WAAQC,IAAE,GAAEA,IAAE,EAAE,QAAOA,KAAG,EAAE,KAAG,KAAG,EAAEA,CAAC,EAAE,SAAO,GAAEF,IAAE,GAAE;AAAC,IAAAC,IAAEC;AAAE;AAAA,EAAK;AAAC,SAAO,IAAEH,EAAE,IAAI,WAAU,EAAG,SAAU,EAAC,WAASE,KAAG,IAAGA;AAAC;AAAC,SAAS0C,GAAE5C,GAAE;AAAC,EAAAA,EAAE,eAAa,SAAS,eAAeA,EAAE,QAAQ,QAAQ,QAAQ,EAAE,cAAaA,EAAE,cAAY,SAAS,eAAeA,EAAE,QAAQ,QAAQ,QAAQ,EAAE;AAAY,QAAMC,IAAE2D,GAAE5D,GAAE+B,EAAE,WAAW,GAAE,IAAE6B,GAAE5D,GAAE+B,EAAE,YAAY,GAAE7B,IAAE,KAAK,IAAID,GAAE,GAAED,EAAE,YAAY;AAAE,EAAAA,EAAE,YAAU,SAAS,gBAAgB+B,EAAE,QAAO,KAAK,GAAE/B,EAAE,UAAU,aAAa,SAAQA,EAAE,WAAW,GAAEA,EAAE,UAAU,aAAa,UAASE,CAAC,GAAE,SAAS,eAAeF,EAAE,QAAQ,QAAQ,QAAQ,EAAE,YAAYA,EAAE,SAAS;AAAC;AAAC,SAAS4D,GAAE5D,GAAEC,GAAE;AAAC,UAAOA,MAAI8B,EAAE,cAAY/B,EAAE,QAAQ,OAAKA,EAAE,QAAQ,OAAO,IAAI,WAAU,EAAG,UAAW,IAACA,EAAE;AAAU;AAAC,SAAS2C,GAAG3C,GAAE;AAAC,EAAAA,EAAE,qBAAmB,SAAS,cAAc,KAAK,GAAEA,EAAE,mBAAmB,aAAa,SAAQA,EAAE,QAAQ,QAAQ,kBAAkB,GAAEA,EAAE,oBAAkB,SAAS,cAAc,KAAK,GAAEA,EAAE,kBAAkB,aAAa,SAAQA,EAAE,QAAQ,QAAQ,iBAAiB,GAAE,SAAS,eAAeA,EAAE,QAAQ,QAAQ,QAAQ,EAAE,YAAYA,EAAE,kBAAkB,GAAE,SAAS,eAAeA,EAAE,QAAQ,QAAQ,QAAQ,EAAE,YAAYA,EAAE,iBAAiB;AAAC;AAAC,SAAS6D,GAAG7D,GAAE;AAAC,WAAS,eAAeA,EAAE,QAAQ,QAAQ,QAAQ,EAAE,YAAYA,EAAE,SAAS,GAAE4C,GAAE5C,CAAC;AAAC;AAAC,SAAS8D,GAAG9D,GAAE;AAAC,EAAAA,EAAE,kBAAkB,YAAU,IAAGA,EAAE,mBAAmB,YAAU;AAAE;AAAC,SAAS+C,GAAG/C,GAAEC,GAAE;AAAC,QAAM,IAAE,CAAA;AAAG,WAASC,EAAEC,GAAE;AAAC,WAAOH,EAAE,QAAQ,oBAAkB+B,EAAE,4BAA0B5B,IAAE,IAAEA,KAAG;AAAA,EAAC;AAAC,EAAAF,EAAE,QAAQ,CAACE,GAAE,MAAI;AAAC,QAAG,MAAI,GAAE;AAAC,QAAE,KAAKA,CAAC;AAAE;AAAA,IAAM;AAAC,QAAIC,IAAE;AAAG,aAAQC,IAAE,GAAEA,IAAE,EAAE,QAAOA,KAAG,EAAE,KAAGH,EAAE,KAAK,IAAIC,EAAE,gBAAc,EAAEE,CAAC,EAAE,WAAW,CAAC,KAAGH,EAAE,KAAK,IAAIC,EAAE,iBAAe,EAAEE,CAAC,EAAE,YAAY,CAAC,GAAE;AAAC,QAAEA,CAAC,EAAE,gBAAc,KAAK,IAAIF,EAAE,eAAc,EAAEE,CAAC,EAAE,aAAa,GAAE,EAAEA,CAAC,EAAE,iBAAe,KAAK,IAAIF,EAAE,gBAAe,EAAEE,CAAC,EAAE,cAAc,GAAE,EAAEA,CAAC,EAAE,cAAY,KAAK,IAAIF,EAAE,aAAY,EAAEE,CAAC,EAAE,WAAW,GAAE,EAAEA,CAAC,EAAE,eAAa,KAAK,IAAIF,EAAE,cAAa,EAAEE,CAAC,EAAE,YAAY,GAAED,IAAE;AAAG;AAAA,IAAK;AAAC,IAAAA,KAAG,EAAE,KAAKD,CAAC;AAAA,EAAC,CAAC;AAAE,QAAM,IAAE,CAAE;AAAC,SAAO,EAAE,QAAQ,CAAAA,MAAG;AAAC,IAAAA,EAAE,kBAAgBA,EAAE,eAAaA,EAAE,mBAAiBA,EAAE,gBAAc,EAAE,KAAKA,CAAC;AAAA,EAAC,CAAC,GAAE;AAAC;AAAC,SAAS8C,GAAEjD,GAAE;AAAC,EAAA6D,GAAG7D,CAAC,GAAE8D,GAAG9D,CAAC,GAAEA,EAAE,MAAM,QAAQ,CAACC,GAAE,MAAI;AAAC,IAAAD,EAAE,QAAQ,cAAYqD,GAAErD,GAAE+B,EAAE,aAAY9B,EAAE,eAAcA,EAAE,aAAYD,EAAE,QAAQ,QAAQ,IAAI,GAAEqD,GAAErD,GAAE+B,EAAE,cAAa9B,EAAE,gBAAeA,EAAE,cAAaD,EAAE,QAAQ,QAAQ,IAAI,GAAEA,EAAE,QAAQ,kBAAgBuD,GAAGvD,GAAEC,EAAE,eAAcA,EAAE,aAAYA,EAAE,gBAAeA,EAAE,YAAY,GAAEuD,GAAGxD,GAAEC,GAAE,CAAC;AAAA,EAAE,GAAED,CAAC;AAAC;ACwIl8K,MAAKtF,KAAU;AAAA,EACb,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACD,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACD,YAAY;AAAA;AAAA,EACb;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,KAAK;AAAA,MACL,gBAAgB,CAAE;AAAA,MAClB,gBAAgB;AAAA,MAChB,wBAAwB;AAAA,MACxB,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,EACD;AAAA,EACD,UAAU;AACR,UAAMqJ,IAAa,KAAK,gBAAe;AACvC,IAAI,KAAK,sBAAsB,QAC7B,KAAK,SAASrG,EAAAA,KAAS,KAAK,MAAM,MAAM,GACxC,KAAK,OAAO,SAAS,oBAAoB,GACzC,KAAK,OAAO,QAAQ,QAAQ,IAAIqG,EAAY,CAAA,GAC5C,KAAK,OAAO,QAAQ,WAAW,CAAC,GAChC,KAAK,OAAO,QAAQ,eAAe,EAAI,GACvC,KAAK,OAAO,kBAAkB,OAC9B,KAAK,OAAO,uBAAuB,EAAK,GACxC,KAAK,OAAO,SAAS,KAAK,cAAc,GACxC,KAAK,OAAO,eAAc,GAC1BpG,EAAe,sBAAsB,KAAK,MAAM,GAChD,KAAK,OAAO,MAAK,MAEjB,KAAK,MAAM,GACX,KAAK,SAAS,IAAIqG,EAAQ;AAAA,MACxB,SAAS,KAAK,MAAM;AAAA,MACpB,MAAM,IAAID,EAAY;AAAA,MACtB,OAAO;AAAA,MACP,MAAM;AAAA,QACJ,SAAS,KAAK;AAAA,QACd,iBAAiB;AAAA,MAClB;AAAA,MACD,OAAO;AAAA,QACL,SAAS,KAAK;AAAA,QACd,UAAU;AAAA,MACX;AAAA,IACF,CAAA,GAED,KAAK,OAAO,WAAY,EAAC,KAAK,YAAY,EAAE,GAC5C,KAAK,OAAO,WAAY,EAAC,MAAM,YAAY,EAAE,GAG7CpG,EAAe,sBAAsB,KAAK,OAAO,WAAY,EAAC,IAAI,GAClEA,EAAe,sBAAsB,KAAK,OAAO,WAAY,EAAC,KAAK,GAEnE,KAAK,UAAU;AAAA,EAElB;AAAA,EACD,gBAAgB;AACd,IAAI,KAAK,UACP,KAAK,OAAO,QAAO,GAEjB,KAAK,UACP,KAAK,OAAO,QAAO;AAAA,EAEtB;AAAA,EACD,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AACJ,eAAO,KAAK;AAAA,MACb;AAAA,MACD,IAAIhD,GAAO;AACT,aAAK,MAAM,qBAAqBA,CAAK;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AAAA,EACD,OAAO;AAAA,IACL,OAAO;AAAA,MACL,WAAW;AAAA,MACX,SAAS,WAAY;AACnB,aAAK,iBAAiB,KAAK,MAAM,KAAK,UAAU,KAAK,SAAS,CAAC,GAC/D,KAAK,iBAAiB,KAAK,UAAU,MAAK,GACtC,KAAK,sBAAsB,SAC7B,KAAK,yBAAyB,KAAK,kBAAkB,MAAK;AAAA,MAE7D;AAAA,IACF;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,eAAe;AACb,WAAK,WACD,KAAK,UAAU,MACjB,KAAK,UAAU,KAAK,OAAO,MAAM,SAAS,IAE5C,KAAK,gBAAe;AAAA,IACrB;AAAA,IACD,WAAW;AACT,WAAK,WACD,KAAK,WAAW,KAAK,OAAO,MAAM,WACpC,KAAK,UAAU,IAEjB,KAAK,gBAAe;AAAA,IACrB;AAAA,IACD,kBAAkB;AAChB,UAAI,KAAK,OAAO,MAAM,WAAW,EAAG;AACpC,UAAIsJ,IAAO,KAAK,OAAO,MAAM,KAAK,OAAO,EAAE,eACvCC,IAAO,KAAK,OAAO,MAAM,KAAK,OAAO,EAAE;AAE3C,MAAID,IAAO,MACTA,KAAQ,IAENC,IAAO,MACTA,KAAQ,IAEV,KAAK,OAAO,WAAY,EAAC,KAAK,aAAaD,CAAI,GAC/C,KAAK,OAAO,WAAY,EAAC,MAAM,aAAaC,CAAI;AAAA,IACjD;AAAA,IACD,kBAAkB;AAChB,UAAIrG,IAAMC,EAAAA,QAAY,aAAa,GAC/BqG,IAAqBrG,EAAW;AAAA,QAClC;AAAA,MACF,EAAE,oBAGEsG,IAAW,CAAC,UAAU,GACtBC,IAAQ,IAAI,OAAO,OAAOD,EAAS,KAAK,SAAS,CAAC,MAAM,GACxDE,IAAuB,WAAY;AACrC,QAAAH,EAAmB,KAAK,IAAI;AAE5B,iBAASI,KAAQ,KAAK;AACpB,eAAK,OAAOA,CAAI,EAAE,QAAQ;AAAA,YACxB,OAAOF;AAAA,YACP,OAAO;AAAA,UACR,CAAA;AAAA,MAEL;AACA,MAAAxG,EAAI,SAASyG,GAAsBH,CAAkB;AAErD,UAAInG,IAAuBF,EAAW;AAAA,QACpC;AAAA,MACF,EAAE,sBACEG,IAAkBH,EAAW;AAAA,QAC/B;AAAA,MACF,EAAE,iBACEI,IAAWJ,UAAY,uBAAuB,EAAE,UAChDK,IAAO,WAAY;AACrB,aAAK,iBAAiBmG,GACtB,KAAK,WAAW,IAAItG,EAAoB,GACxC,KAAK,aAAa,IAAIC,EAAe,GACrC,KAAK,eAAe,IAAIC,EAAQ,GAChC,KAAK,iBAAiB,KAAK,aAAa;AAAA,MAC1C,GACIE,IAAWN,UAAY,eAAe,EAAE;AAC5C,aAAAD,EAAI,SAASM,GAAMC,CAAQ,IACzB,WAAY;AACZ,aAAK,MAAM;AAAA,SACV,KAAKD,EAAK,SAAS,GACfA;AAAA,IACR;AAAA,IACD,QAAQ,WAAY;AAClB,MAAI,KAAK,sBAAsB,OAC7B,KAAK,WAAW,KAAK,OAAO,SAAU,EAAC,MAAM;AAAA,CAAI,CAAC,IAG9C,KAAK,OAAO,MAAM,WAAW,IAC/B,KAAK,WAAW,KAAK,OAAO,aAAa,KAAK,SAAQ,EAAG,MAAM;AAAA,CAAI,CAAC,IAGpE,KAAK,QACF;AAAA,QACC;AAAA,QACA;AAAA,UACE,QAAQ;AAAA,UACR,YAAY;AAAA,QACb;AAAA,MACH,EACC,KAAK,CAACqG,MAAW;AAChB,aAAK;AAAA,UACH,KAAK,OAAO,WAAY,EAAC,KAAK,SAAU,EAAC,MAAM;AAAA,CAAI;AAAA,QACrD;AAAA,MACD,CAAA,EACA,MAAM,CAACC,MAAU;AAAA,MAEjB,CAAA;AAAA,IAGR;AAAA,IACD,WAAWC,GAAO;AAChB,UAAIC,IAAa;AAAA,QACf,MAAM,KAAK;AAAA,QACX,WAAWC,GAAM,KAAK,cAAc;AAAA,QACpC,kBAAkBF;AAAA,MACpB;AACA,WAAK,MAAM,YAAYC,CAAU;AAAA,IAClC;AAAA,IACD,OAAO,WAAY;AACjB,WAAK,OAAO,CAAC,KAAK;AAAA,IACnB;AAAA,IACD,iBAAiB,SAAUtG,GAAO;AAChC,WAAK,QAAQA,EAAM,OACnB,KAAK,QAAQA,EAAM;AAEnB,UAAIC,IAAW,KAAK,OAAO,kBAAiB,GACxCC,IAAQ,KAAK,OAAO,QAAQ,WAAWD,EAAS,KAAKA,EAAS,MAAM;AACxE,UAAIC,GAAO;AACT,YAAI5D,IAAQ4D,EAAM,MAAM,KAAI;AAC5B,QAAI5D,EAAM,SAAS,GAAG,IACpB,KAAK,cAAcA,EAAM,MAAM,GAAG,EAAE,CAAC,IAErC,KAAK,cAAcA,GAErB,KAAK,cAAc;AAAA,MACrB;AAAA,IACD;AAAA,IACD,eAAe,WAAY;AACzB,MAAI,KAAK,UACPgD,EAAe,cAAc,KAAK,MAAM;AAAA,IAG3C;AAAA,EACF;AACH,GA/VezC,KAAA,EAAA,OAAA,EAAe,MAAA,IAAA,EAAA,GAgBXC,KAAA,EAAA,OAAM,OAAM;EA2DZ,KAAI;AAAA,EAAS,OAAM;UAxGtC,KAAA,EAAA;;;cAuBEC,EA2GWC,GAAA;AAAA,IA3GD,YAAA;AAAA,IAvBZ,YAuBgCC,EAAI;AAAA,IAvBpC,uBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAuBgCF,EAAI,OAAAE;AAAA,IAAE,OAAM;AAAA;IAvB5C,SAAAC,EAwBI,MAyGS;AAAA,MAzGTC,EAyGSC,GAAA,MAAA;AAAA,QAjIb,SAAAF,EAyBM,MAuGc;AAAA,UAvGdC,EAuGcK,GAAA,MAAA;AAAA,YAhIpB,SAAAN,EA0BQ,MAA8C;AAAA,cAA9CC,EAA8CmJ,GAAA,MAAA;AAAA,gBA1BtD,SAAApJ,EA0BsB,MAAgB;AAAA,kBA1BtCQ,EAAAe,EA0ByBwB,EAAU,UAAA,GAAA,CAAA;AAAA;gBA1BnC,GAAA;AAAA;cA2BqBA,EAAiB,sBAAA,aAA9BpD,EAQQY,GAAA;AAAA,gBAnChB,KAAA;AAAA,gBA2BiD,OAAM;AAAA;gBA3BvD,SAAAP,EA4BU,MAAoE;AAAA,kBAApEC,EAAoEW,GAAA;AAAA,oBAA5D,MAAK;AAAA,oBAAU,OAAA;AAAA,oBAAM,OAAM;AAAA;oBA5B7C,SAAAZ,EA4BsD,MAAeF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,sBA5BrEU,EA4BsD,iBAAe;AAAA;oBA5BrE,GAAA;AAAA;kBA6BUH,EAKM,OALNZ,IAAqB,oDAC2B8B,EAAGwB,EAAU,UAAA,IAAG,gHAE3BxB,EAAGwB,EAAU,UAAA,IAAG,iCAErD,CAAA;AAAA;gBAlCV,GAAA;AAAA,oBAAAhB,EAAA,IAAA,EAAA;AAAA,cAoCQ9B,EAKQM,GAAA,EALD,OAAM,YAAW,GAAA;AAAA,gBApChC,SAAAP,EAqCU,MAGS;AAAA,kBAHTC,EAGSkE,GAAA;AAAA,oBAxCnB,YAqC2BxD,EAAG;AAAA,oBArC9B,uBAAAb,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAqC2BY,EAAG,MAAAZ;AAAA,oBAAE,OAAM;AAAA;oBArCtC,SAAAC,EAsCY,MAAmC;AAAA,4BAAnCL,EAAmCyE,GAAA,EAA3B,KAAK,EAAC,GAAA;AAAA,wBAtC1B,SAAApE,EAsC4B,MAAWF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,0BAtCvCU,EAsC4B,aAAW;AAAA;wBAtCvC,GAAA;AAAA;4BAuCYb,EAAoCyE,GAAA,EAA5B,KAAK,EAAC,GAAA;AAAA,wBAvC1B,SAAApE,EAuC4B,MAAYF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,0BAvCxCU,EAuC4B,cAAY;AAAA;wBAvCxC,GAAA;AAAA;;oBAAA,GAAA;AAAA;;gBAAA,GAAA;AAAA;cA0CQH,EAqFO,QAAA;AAAA,gBArFA,UAAMP,EAAA,CAAA,MAAAA,EAAA,CAAA,IA1CrBkD,YA0C+BI,EAAQ,YAAAA,EAAA,SAAA,GAAAH,CAAA,GAAA,CAAA,SAAA,CAAA;AAAA;gBAC7BhD,EA+DWoJ,GAAA;AAAA,kBA1GrB,YA2C6B1I,EAAG;AAAA,kBA3ChC,uBAAAb,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MA2C6BY,EAAG,MAAAZ;AAAA;kBA3ChC,SAAAC,EA4CY,MAegB;AAAA,0BAfhBL,EAegB2J,GAAA;AAAA,sBAfA,KAAK;AAAA,sBAAG,OAAM;AAAA,sBAAO,OAAM;AAAA;sBA5CvD,SAAAtJ,EA6Cc,MAaM;AAAA,wBAbNK,EAaM,OAbNX,IAaM;AAAA,0BAZJO,EAWQM,GAAA,EAXD,OAAM,OAAM,GAAA;AAAA,4BA9CnC,SAAAP,EA+CuB,MAAuC;AAAA,+BAA5Ca,EAAA,EAAA,GAAAC,EASMG,SAxDxBC,EA+C+CP,EAAA,gBA/C/C,CA+C+BzB,GAAOqK,YAApBzI,EASM,OAAA,EATwC,KAAKyI,KAAI;AAAA,gCACrDtJ,EAOQQ,GAAA,EAPD,OAAA,EAAoB,OAAA,QAAA,KAAA;AAAA,kCAhD/C,SAAAT,EAiDsB,MAKE;AAAA,oCALFC,EAKEuJ,GAAA;AAAA,sCAJA,WAAA;AAAA,sCACA,MAAK;AAAA,sCACJ,OAAOD;AAAA,sCApDhC,YAqDiC5I,EAAA,eAAe4I,CAAI;AAAA,sCArDpD,uBAqDiC,CAAAxJ,OAAAY,EAAA,eAAe4I,CAAI,IAAAxJ;AAAA;;kCArDpD,GAAA;AAAA;;;4BAAA,GAAA;AAAA;;;sBAAA,GAAA;AAAA;oBA6DoBgD,EAAiB,sBAAA,aADzBpD,EA6BgB2J,GAAA;AAAA,sBA3Bb,KAAK;AAAA,sBACN,OAAM;AAAA,sBACN,OAAM;AAAA;sBAhEpB,SAAAtJ,EAkEc,MAEQ;AAAA,wBAFRC,EAEQM,GAAA,EAFD,OAAM,OAAM,GAAA;AAAA,0BAlEjC,SAAAP,EAmEgB,MAAwD;AAAA,4BAAxDC,EAAwDQ,GAAA,MAAA;AAAA,8BAnExE,SAAAT,EAmEuB,MAAyCF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,gCAnEhEU,EAmEuB,2CAAyC;AAAA;8BAnEhE,GAAA;AAAA;;0BAAA,GAAA;AAAA;wBAqEcH,EAIO,OAAA;AAAA,0BAHL,KAAI;AAAA,0BACJ,OAAM;AAAA,0BACL,eAAWP,EAAA,CAAA,MAAAA,EAAA,CAAA,IAxE5BkD,YAwEsCnD,EAAe,mBAAAA,EAAA,gBAAA,GAAAoD,CAAA,GAAA,CAAA,SAAA,CAAA;AAAA;wBAEvChD,EAcSqD,GAAA;AAAA,0BAxFvB,YA0E+B3C,EAAW;AAAA,0BA1E1C,uBAAAb,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MA0E+BY,EAAW,cAAAZ;AAAA,0BAAG,QAAM,CAAGY,EAAK,OAAEA,EAAK,KAAA;AAAA;0BA1ElE,SAAAX,EA2EgB,MAYS;AAAA,4BAZTC,EAYSsD,GAAA,MAAA;AAAA,8BAvFzB,SAAAvD,EA4EkB,MAIc;AAAA,gCAJdC,EAIcoB,GAAA,EAJD,MAAA,GAAI,GAAA;AAAA,kCA5EnC,SAAArB,EA6EoB,MAEoB;AAAA,oCAFpBC,EAEoBqB,GAAA,EAFA,SAAO8B,EAAiB,kBAAA,GAAA;AAAA,sCA7EhE,SAAApD,EA8EsB,MAAiB;AAAA,wCA9EvCQ,EA8EyBe,EAAA6B,EAAA,WAAW,IAAG,mBACnB,CAAA;AAAA;sCA/EpB,GAAA;AAAA;;kCAAA,GAAA;AAAA;gCAiFkBnD,EAAa6B,CAAA;AAAA,gCACb7B,EAIEoB,GAAA;AAAA,kCAHA,OAAM;AAAA,kCACN,gBAAa;AAAA,kCACZ,SAAOxB,EAAa;AAAA;;8BArFzC,GAAA;AAAA;;0BAAA,GAAA;AAAA;;sBAAA,GAAA;AAAA,gCA0FYF,EAegB2J,GAAA;AAAA,sBAbb,KAAK;AAAA,sBACN,OAAM;AAAA,sBACN,OAAM;AAAA;sBA9FpB,SAAAtJ,EAgGc,MAOQ;AAAA,wBAPRC,EAOQM,GAAA,EAPD,OAAM,OAAM,GAAA;AAAA,0BAhGjC,SAAAP,EAiGgB,MAEQ;AAAA,4BAFRC,EAEQQ,GAAA,MAAA;AAAA,8BAnGxB,SAAAT,EAiGuB,MAEPF,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,gCAnGhBU,EAiGuB,gEAEP;AAAA;8BAnGhB,GAAA;AAAA;4BAoGgBP,EAEQQ,GAAA,EAFD,OAAM,OAAM,GAAA;AAAA,8BApGnC,SAAAT,EAoGoC,MAEpBF,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,gCAtGhBU,EAoGoC,8CAEpB;AAAA;8BAtGhB,GAAA;AAAA;;0BAAA,GAAA;AAAA;wBAwGcH,EAAuC,OAAvCU,IAAuC,MAAA,GAAA;AAAA;sBAxGrD,GAAA;AAAA;;kBAAA,GAAA;AAAA;gBA4GUd,EAkBiB6D,GAAA,EAlBD,OAAM,YAAW,GAAA;AAAA,kBA5G3C,SAAA9D,EA6GY,MAKM;AAAA,oBALK+C,EAAiB,sBAAA,QAA5BlC,KAAAC,EAKM,OAlHlBE,IAAA;AAAA,sBA8Gcf,EAA2DS,GAAA;AAAA,wBAApD,SAAQ;AAAA,wBAAQ,SAAOb,EAAQ;AAAA;wBA9GpD,SAAAG,EA8GsD,MAAWF,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,0BA9GjEU,EA8GsD,aAAW;AAAA;wBA9GjE,GAAA;AAAA;sBA+GcP,EAEQS,GAAA;AAAA,wBAFD,SAAQ;AAAA,wBAAQ,SAAOb,EAAY;AAAA;wBA/GxD,SAAAG,EA+G0D,MAE5CF,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,0BAjHdU,EA+G0D,iBAE5C;AAAA;wBAjHd,GAAA;AAAA;0BAAAuB,EAAA,IAAA,EAAA;AAAA,oBAmHY9B,EAAYG,CAAA;AAAA,oBACZH,EAMQS,GAAA;AAAA,sBALN,SAAQ;AAAA,sBACP,SAtHfsC,EAsH8BnD,EAAK,OAAA,CAAA,SAAA,CAAA;AAAA,sBACrB,aAAU;AAAA;sBAvHxB,SAAAG,EAwHa,MAEDF,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,wBA1HZU,EAwHa,UAED;AAAA;sBA1HZ,GAAA;AAAA;oBA2HYP,EAEQS,GAAA;AAAA,sBAFD,SAAQ;AAAA,sBAAQ,SAAOb,EAAM;AAAA,sBAAE,aAAU;AAAA;sBA3H5D,SAAAG,EA2H0E,MAE9DF,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,wBA7HZU,EA2H0E,WAE9D;AAAA;sBA7HZ,GAAA;AAAA;;kBAAA,GAAA;AAAA;;;YAAA,GAAA;AAAA;;QAAA,GAAA;AAAA;;IAAA,GAAA;AAAA;;;"}
|
|
1
|
+
{"version":3,"file":"admin.js","sources":["../../src/tools/admin/DownloadDialog.vue","../../src/tools/admin/EditDialog.vue","../../src/tools/admin/ModifiedPluginDialog.vue","../../src/tools/admin/tabs/index.js","../../src/tools/admin/OpenC3Admin.vue","../../../openc3-cosmos-ace-diff/dist/ace-diff.min.js","../../src/tools/admin/PluginDialog.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"600\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span> Download Gems </span>\n <v-spacer />\n </v-toolbar>\n <v-card-text>\n <div class=\"pa-3\">\n <v-row class=\"my-2\"> Select a download option </v-row>\n <v-row>\n <v-col>\n <div class=\"px-2\">\n <v-btn\n block\n data-test=\"searchGithub\"\n color=\"primary\"\n :disabled=\"disableSearch\"\n @click=\"searchGithub\"\n >\n Github\n <v-icon end theme=\"dark\"> mdi-github </v-icon>\n </v-btn>\n </div>\n </v-col>\n </v-row>\n <!---\n <v-row>\n <v-col>\n <div class=\"px-2\">\n <v-btn\n @click=\"searchRuby\"\n block\n data-test=\"searchRuby\"\n color=\"primary\"\n :disabled=\"disableSearch\"\n >\n RubyGems\n <v-icon right dark> mdi-heart </v-icon>\n </v-btn>\n </div>\n </v-col>\n </v-row>\n --->\n <v-row class=\"mt-5\"> Community Gems </v-row>\n <div v-if=\"listData.length < 1\" class=\"mt-4\">\n <v-row class=\"mx-2\">\n <span> I’m sorry, Dave. No gems available.... </span>\n </v-row>\n </div>\n <div v-else class=\"mt-4\">\n <div v-for=\"(data, index) in listData\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ data.name }}</v-list-item-title>\n\n <v-list-item icon>\n <v-progress-circular\n v-if=\"activeDownload\"\n indeterminate\n color=\"primary\"\n />\n <v-btn\n v-else\n icon=\"mdi-cloud-download\"\n variant=\"text\"\n :disabled=\"activeDownload\"\n @click=\"downloadGem(data)\"\n />\n </v-list-item>\n </v-list-item>\n <v-divider v-if=\"index < listData.length - 1\" :key=\"index\" />\n </div>\n </div>\n </div>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\n// Directly use axios since we need no authentication or scope\nimport axios from 'axios'\n\nexport default {\n props: {\n modelValue: Boolean,\n },\n data() {\n return {\n url: '',\n type: null,\n response: null,\n activeDownload: false,\n disableSearch: false,\n expanded: [],\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n listData: function () {\n if (!this.response) return []\n if (this.type === 'github') {\n return this.parseGithub()\n } else {\n return this.parseRuby()\n }\n },\n },\n methods: {\n parseGithub: function () {\n const gemRegEx = /\\w+.gem/\n return this.response.tree\n .filter((f) => gemRegEx.exec(f.path))\n .map((f) => {\n return {\n name: f.path,\n url: `https://raw.github.com/OpenC3/openc3-tools/main/${f.path}`,\n }\n })\n },\n getResponse: function () {\n this.disableSearch = true\n axios.get(this.url).then((response) => {\n this.response = response.data\n })\n setTimeout(() => {\n this.disableSearch = false\n }, 10000)\n },\n searchGithub: function () {\n this.type = 'github'\n this.url =\n 'https://api.github.com/repos/OpenC3/openc3-tools/git/trees/main?recursive=1'\n this.getResponse()\n },\n downloadGem: function (gem) {\n const link = document.createElement('a')\n link.href = gem.url\n link.setAttribute('download', gem.name)\n link.click()\n link.remove()\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"show\" :persistent=\"!readonly\" width=\"80vw\">\n <v-card>\n <form @submit.prevent=\"submit\">\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-text=\"title\" />\n <v-spacer />\n <v-btn\n class=\"mx-2\"\n icon=\"mdi-download\"\n variant=\"text\"\n density=\"compact\"\n data-test=\"downloadIcon\"\n @click=\"download\"\n />\n </v-toolbar>\n\n <v-card-text>\n <div class=\"pa-3\">\n <div v-if=\"!readonly\">\n <v-row class=\"mt-3\"> Upload a file. </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"3\">\n <v-btn\n block\n color=\"success\"\n :disabled=\"!file || loadingFile || readonly\"\n :loading=\"loadingFile\"\n data-test=\"editScreenLoadBtn\"\n @click=\"loadFile\"\n >\n Load\n <template #loader>\n <span>Loading...</span>\n </template>\n </v-btn>\n </v-col>\n <v-col cols=\"9\">\n <v-file-input\n v-model=\"file\"\n accept=\".json\"\n label=\"Click to select .json file.\"\n :disabled=\"readonly\"\n />\n </v-col>\n </v-row>\n </div>\n <v-row no-gutters>\n <pre\n ref=\"editor\"\n class=\"editor\"\n @contextmenu.prevent=\"showContextMenu\"\n ></pre>\n <v-menu v-model=\"contextMenu\" :target=\"[menuX, menuY]\">\n <v-list>\n <v-list-item\n title=\"Toggle Vim mode\"\n prepend-icon=\"extras:vim\"\n @click=\"toggleVimMode\"\n />\n </v-list>\n </v-menu>\n </v-row>\n <v-row class=\"my-3\">\n <span v-show=\"error\" class=\"text-red\" v-text=\"error\" />\n </v-row>\n <v-row>\n <v-spacer />\n <v-btn\n variant=\"outlined\"\n class=\"mx-2\"\n data-test=\"editCancelBtn\"\n @click.prevent=\"close\"\n >\n Cancel\n </v-btn>\n <v-btn\n v-if=\"!readonly\"\n class=\"mx-2\"\n color=\"primary\"\n type=\"submit\"\n data-test=\"editSubmitBtn\"\n :disabled=\"!!error || readonly\"\n >\n Save\n </v-btn>\n </v-row>\n </div>\n </v-card-text>\n </form>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport * as ace from 'ace-builds'\nimport 'ace-builds/src-min-noconflict/mode-ruby'\nimport 'ace-builds/src-min-noconflict/mode-json'\nimport 'ace-builds/src-min-noconflict/theme-twilight'\nimport 'ace-builds/src-min-noconflict/ext-language_tools'\nimport 'ace-builds/src-min-noconflict/ext-searchbox'\nimport { AceEditorUtils } from '../../components/ace'\n\nexport default {\n props: {\n content: {\n type: String,\n required: true,\n },\n type: String,\n name: String,\n modelValue: Boolean,\n readonly: Boolean,\n },\n data() {\n return {\n editor: null,\n contextMenu: false,\n menuX: 0,\n menuY: 0,\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n title: function () {\n return `${this.type}: ${this.name}`\n },\n error: function () {\n if (this.editor && this.editor.getValue() === '' && !this.file) {\n return 'Input can not be blank.'\n }\n return null\n },\n },\n mounted() {\n const openPluginMode = this.buildPluginMode()\n this.editor = ace.edit(this.$refs.editor)\n this.editor.setTheme('ace/theme/twilight')\n this.editor.session.setMode(new openPluginMode())\n this.editor.session.setTabSize(2)\n this.editor.session.setUseWrapMode(true)\n this.editor.$blockScrolling = Infinity\n this.editor.setHighlightActiveLine(false)\n this.editor.setValue(this.content)\n this.editor.clearSelection()\n AceEditorUtils.applyVimModeIfEnabled(this.editor)\n this.editor.focus()\n if (this.readonly) {\n this.editor.setReadOnly(true)\n }\n },\n beforeUnmount() {\n if (this.editor) {\n this.editor.destroy()\n }\n },\n methods: {\n submit: function () {\n this.$emit('submit', this.editor.getValue())\n this.show = !this.show\n },\n close: function () {\n this.show = !this.show\n },\n download: function () {\n const blob = new Blob([this.editor.getValue()], {\n type: 'text/plain',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute(\n 'download',\n `${this.type.toLowerCase()}_${this.name.toLowerCase()}.json`,\n )\n link.click()\n },\n buildPluginMode() {\n let oop = ace.require('ace/lib/oop')\n let JsonHighlightRules = ace.require(\n 'ace/mode/json_highlight_rules',\n ).JsonHighlightRules\n\n let MatchingBraceOutdent = ace.require(\n 'ace/mode/matching_brace_outdent',\n ).MatchingBraceOutdent\n let CstyleBehaviour = ace.require(\n 'ace/mode/behaviour/cstyle',\n ).CstyleBehaviour\n let FoldMode = ace.require('ace/mode/folding/ruby').FoldMode\n let Mode = function () {\n this.HighlightRules = JsonHighlightRules\n this.$outdent = new MatchingBraceOutdent()\n this.$behaviour = new CstyleBehaviour()\n this.foldingRules = new FoldMode()\n this.indentKeywords = this.foldingRules.indentKeywords\n }\n let RubyMode = ace.require('ace/mode/ruby').Mode\n oop.inherits(Mode, RubyMode)\n ;(function () {\n this.$id = 'ace/mode/openc3'\n }).call(Mode.prototype)\n return Mode\n },\n showContextMenu: function (event) {\n this.menuX = event.pageX\n this.menuY = event.pageY\n\n let position = this.editor.getCursorPosition()\n let token = this.editor.session.getTokenAt(position.row, position.column)\n if (token) {\n let value = token.value.trim()\n if (value.includes(' ')) {\n this.docsKeyword = value.split(' ')[0]\n } else {\n this.docsKeyword = value\n }\n this.contextMenu = true\n }\n },\n toggleVimMode: function () {\n AceEditorUtils.toggleVimMode(this.editor)\n },\n },\n}\n</script>\n\n<style scoped>\n.editor {\n height: 50vh;\n width: 75vw;\n position: relative;\n font-size: 16px;\n}\n\n.v-textarea :deep(textarea) {\n padding: 5px;\n}\n</style>\n","<!--\n# Copyright 2024 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"600\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span> Modified Plugin </span>\n <v-spacer />\n </v-toolbar>\n <v-card-text class=\"pa-3\">\n <div>\n Plugin {{ plugin }} was modified. Would you like to delete the\n existing modified files?\n </div>\n <v-list-item\n v-for=\"(target, index) in modifiedTargets\"\n :key=\"index\"\n lines=\"two\"\n >\n <v-list-item-title>{{ target.name }}</v-list-item-title>\n <v-list-item-subtitle\n v-for=\"(file, itemIndex) in target.files\"\n :key=\"itemIndex\"\n >{{ file }}</v-list-item-subtitle\n >\n </v-list-item>\n <v-checkbox\n v-model=\"deleteModified\"\n label=\"DELETE MODIFIED! THIS CAN NOT BE UNDONE!!!\"\n color=\"error\"\n data-test=\"modified-plugin-delete-checkbox\"\n />\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn\n variant=\"outlined\"\n data-test=\"modified-plugin-cancel\"\n @click=\"\n () => {\n show = false\n $emit('cancel')\n }\n \"\n >\n Cancel\n </v-btn>\n <v-btn\n variant=\"flat\"\n data-test=\"modified-plugin-submit\"\n @click=\"\n () => {\n show = false\n $emit('submit', deleteModified)\n }\n \"\n >\n Confirm\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n modelValue: Boolean,\n plugin: String,\n targets: Array,\n pluginDelete: Boolean,\n },\n data() {\n return {\n modifiedTargets: [],\n deleteModified: false,\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n created() {\n for (const target of this.targets) {\n Api.get(`/openc3-api/targets/${target.name}/modified_files`).then(\n (response) => {\n if (response.data.length !== 0) {\n // Only push targets which actually have modified files\n this.modifiedTargets.push({\n name: target.name,\n files: response.data,\n })\n }\n },\n )\n }\n },\n}\n</script>\n\n<style scoped></style>\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nconst TabsList = [\n {\n displayName: 'Plugins',\n name: 'PluginsTab',\n path: 'plugins',\n component: () => import('./PluginsTab.vue'),\n },\n {\n displayName: 'Targets',\n name: 'TargetsTab',\n path: 'targets',\n component: () => import('./TargetsTab.vue'),\n },\n {\n displayName: 'Interfaces',\n name: 'InterfacesTab',\n path: 'interfaces',\n component: () => import('./InterfacesTab.vue'),\n },\n {\n displayName: 'Routers',\n name: 'RoutersTab',\n path: 'routers',\n component: () => import('./RoutersTab.vue'),\n },\n {\n displayName: 'Microservices',\n name: 'MicroservicesTab',\n path: 'microservices',\n component: () => import('./MicroservicesTab.vue'),\n },\n {\n displayName: 'Packages',\n name: 'PackagesTab',\n path: 'packages',\n component: () => import('./PackagesTab.vue'),\n },\n {\n displayName: 'Tools',\n name: 'ToolsTab',\n path: 'tools',\n component: () => import('./ToolsTab.vue'),\n },\n {\n displayName: 'Redis',\n name: 'RedisTab',\n path: 'redis',\n component: () => import('./RedisTab.vue'),\n },\n {\n displayName: 'Secrets',\n name: 'SecretsTab',\n path: 'secrets',\n component: () => import('./SecretsTab.vue'),\n },\n {\n displayName: 'Settings',\n name: 'SettingsTab',\n path: 'settings',\n component: () => import('./SettingsTab.vue'),\n },\n]\n\nexport { TabsList }\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <top-bar :title=\"title\" />\n <v-card>\n <v-tabs v-model=\"curTab\" fixed-tabs>\n <v-tab v-for=\"(tab, index) in tabs\" :key=\"index\" :to=\"tab.path\">\n {{ tab.displayName }}\n </v-tab>\n </v-tabs>\n <router-view />\n </v-card>\n </div>\n</template>\n\n<script>\nimport { TopBar } from '@/components'\nimport { TabsList } from './tabs'\n\nexport default {\n components: {\n TopBar,\n },\n data() {\n return {\n title: 'Administrator Console',\n curTab: null,\n }\n },\n computed: {\n tabs: function () {\n return TabsList.map((tab) => {\n return {\n displayName: tab.displayName,\n path: { name: tab.name },\n }\n })\n },\n },\n}\n</script>\n","const g=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32};g.Diff=function(t,e){this[0]=t,this[1]=e};g.Diff.prototype.length=2;g.Diff.prototype.toString=function(){return this[0]+\",\"+this[1]};g.prototype.diff_main=function(t,e,n,i){typeof i>\"u\"&&(this.Diff_Timeout<=0?i=Number.MAX_VALUE:i=new Date().getTime()+this.Diff_Timeout*1e3);let l=i;if(t==null||e==null)throw new Error(\"Null input. (diff_main)\");if(t==e)return t?[new g.Diff(0,t)]:[];typeof n>\"u\"&&(n=!0);let r=n,s=this.diff_commonPrefix(t,e),o=t.substring(0,s);t=t.substring(s),e=e.substring(s),s=this.diff_commonSuffix(t,e);let h=t.substring(t.length-s);t=t.substring(0,t.length-s),e=e.substring(0,e.length-s);let a=this.diff_compute_(t,e,r,l);return o&&a.unshift(new g.Diff(0,o)),h&&a.push(new g.Diff(0,h)),this.diff_cleanupMerge(a),a};g.prototype.diff_compute_=function(t,e,n,i){let l;if(!t)return[new g.Diff(1,e)];if(!e)return[new g.Diff(-1,t)];let r=t.length>e.length?t:e,s=t.length>e.length?e:t,o=r.indexOf(s);return o!=-1?(l=[new g.Diff(1,r.substring(0,o)),new g.Diff(0,s),new g.Diff(1,r.substring(o+s.length))],t.length>e.length&&(l[0][0]=l[2][0]=-1),l):s.length==1?[new g.Diff(-1,t),new g.Diff(1,e)]:n&&t.length>100&&e.length>100?this.diff_lineMode_(t,e,i):this.diff_bisect_(t,e,i)};g.prototype.diff_lineMode_=function(t,e,n){let i=this.diff_linesToChars_(t,e);t=i.chars1,e=i.chars2;let l=i.lineArray,r=this.diff_main(t,e,!1,n);this.diff_charsToLines_(r,l),this.diff_cleanupSemantic(r),r.push(new g.Diff(0,\"\"));let s=0,o=0,h=0,a=\"\",c=\"\";for(;s<r.length;){switch(r[s][0]){case 1:h++,c+=r[s][1];break;case-1:o++,a+=r[s][1];break;case 0:if(o>=1&&h>=1){r.splice(s-o-h,o+h),s=s-o-h;let f=this.diff_main(a,c,!1,n);for(let u=f.length-1;u>=0;u--)r.splice(s,0,f[u]);s=s+f.length}h=0,o=0,a=\"\",c=\"\";break}s++}return r.pop(),r};g.prototype.diff_bisect_=function(t,e,n){let i=t.length,l=e.length,r=Math.ceil((i+l)/2),s=r,o=2*r,h=new Array(o),a=new Array(o);for(let d=0;d<o;d++)h[d]=-1,a[d]=-1;h[s+1]=0,a[s+1]=0;let c=i-l,f=c%2!=0,u=0,p=0,_=0,D=0;for(let d=0;d<r&&!(new Date().getTime()>n);d++){for(let E=-d+u;E<=d-p;E+=2){let L=s+E,m;E==-d||E!=d&&h[L-1]<h[L+1]?m=h[L+1]:m=h[L-1]+1;let F=m-E;for(;m<i&&F<l&&t.charAt(m)==e.charAt(F);)m++,F++;if(h[L]=m,m>i)p+=2;else if(F>l)u+=2;else if(f){let b=s+c-E;if(b>=0&&b<o&&a[b]!=-1){let w=i-a[b];if(m>=w)return this.diff_bisectSplit_(t,e,m,F,n)}}}for(let E=-d+_;E<=d-D;E+=2){let L=s+E,m;E==-d||E!=d&&a[L-1]<a[L+1]?m=a[L+1]:m=a[L-1]+1;let F=m-E;for(;m<i&&F<l&&t.charAt(i-m-1)==e.charAt(l-F-1);)m++,F++;if(a[L]=m,m>i)D+=2;else if(F>l)_+=2;else if(!f){let b=s+c-E;if(b>=0&&b<o&&h[b]!=-1){let w=h[b],y=s+w-b;if(m=i-m,w>=m)return this.diff_bisectSplit_(t,e,w,y,n)}}}}return[new g.Diff(-1,t),new g.Diff(1,e)]};g.prototype.diff_bisectSplit_=function(t,e,n,i,l){let r=t.substring(0,n),s=e.substring(0,i),o=t.substring(n),h=e.substring(i),a=this.diff_main(r,s,!1,l),c=this.diff_main(o,h,!1,l);return a.concat(c)};g.prototype.diff_linesToChars_=function(t,e){let n=[],i={};n[0]=\"\";function l(h){let a=\"\",c=0,f=-1,u=n.length;for(;f<h.length-1;){f=h.indexOf(`\n`,c),f==-1&&(f=h.length-1);let p=h.substring(c,f+1);(i.hasOwnProperty?i.hasOwnProperty(p):i[p]!==void 0)?a+=String.fromCharCode(i[p]):(u==r&&(p=h.substring(c),f=h.length),a+=String.fromCharCode(u),i[p]=u,n[u++]=p),c=f+1}return a}let r=4e4,s=l(t);r=65535;let o=l(e);return{chars1:s,chars2:o,lineArray:n}};g.prototype.diff_charsToLines_=function(t,e){for(let n=0;n<t.length;n++){let i=t[n][1],l=[];for(let r=0;r<i.length;r++)l[r]=e[i.charCodeAt(r)];t[n][1]=l.join(\"\")}};g.prototype.diff_commonPrefix=function(t,e){if(!t||!e||t.charAt(0)!=e.charAt(0))return 0;let n=0,i=Math.min(t.length,e.length),l=i,r=0;for(;n<l;)t.substring(r,l)==e.substring(r,l)?(n=l,r=n):i=l,l=Math.floor((i-n)/2+n);return l};g.prototype.diff_commonSuffix=function(t,e){if(!t||!e||t.charAt(t.length-1)!=e.charAt(e.length-1))return 0;let n=0,i=Math.min(t.length,e.length),l=i,r=0;for(;n<l;)t.substring(t.length-l,t.length-r)==e.substring(e.length-l,e.length-r)?(n=l,r=n):i=l,l=Math.floor((i-n)/2+n);return l};g.prototype.diff_commonOverlap_=function(t,e){let n=t.length,i=e.length;if(n==0||i==0)return 0;n>i?t=t.substring(n-i):n<i&&(e=e.substring(0,n));let l=Math.min(n,i);if(t==e)return l;let r=0,s=1;for(;;){let o=t.substring(l-s),h=e.indexOf(o);if(h==-1)return r;s+=h,(h==0||t.substring(l-s)==e.substring(0,s))&&(r=s,s++)}};g.prototype.diff_halfMatch_=function(t,e){if(this.Diff_Timeout<=0)return null;let n=t.length>e.length?t:e,i=t.length>e.length?e:t;if(n.length<4||i.length*2<n.length)return null;let l=this;function r(_,D,d){let E=_.substring(d,d+Math.floor(_.length/4)),L=-1,m=\"\",F,b,w,y;for(;(L=D.indexOf(E,L+1))!=-1;){let T=l.diff_commonPrefix(_.substring(d),D.substring(L)),C=l.diff_commonSuffix(_.substring(0,d),D.substring(0,L));m.length<C+T&&(m=D.substring(L-C,L)+D.substring(L,L+T),F=_.substring(0,d-C),b=_.substring(d+T),w=D.substring(0,L-C),y=D.substring(L+T))}return m.length*2>=_.length?[F,b,w,y,m]:null}let s=r(n,i,Math.ceil(n.length/4)),o=r(n,i,Math.ceil(n.length/2)),h;if(!s&&!o)return null;o?s?h=s[4].length>o[4].length?s:o:h=o:h=s;let a,c,f,u;t.length>e.length?(a=h[0],c=h[1],f=h[2],u=h[3]):(f=h[0],u=h[1],a=h[2],c=h[3]);let p=h[4];return[a,c,f,u,p]};g.prototype.diff_cleanupSemantic=function(t){let e=!1,n=[],i=0,l=null,r=0,s=0,o=0,h=0,a=0;for(;r<t.length;)t[r][0]==0?(n[i++]=r,s=h,o=a,h=0,a=0,l=t[r][1]):(t[r][0]==1?h+=t[r][1].length:a+=t[r][1].length,l&&l.length<=Math.max(s,o)&&l.length<=Math.max(h,a)&&(t.splice(n[i-1],0,new g.Diff(-1,l)),t[n[i-1]+1][0]=1,i--,i--,r=i>0?n[i-1]:-1,s=0,o=0,h=0,a=0,l=null,e=!0)),r++;for(e&&this.diff_cleanupMerge(t),this.diff_cleanupSemanticLossless(t),r=1;r<t.length;){if(t[r-1][0]==-1&&t[r][0]==1){let c=t[r-1][1],f=t[r][1],u=this.diff_commonOverlap_(c,f),p=this.diff_commonOverlap_(f,c);u>=p?(u>=c.length/2||u>=f.length/2)&&(t.splice(r,0,new g.Diff(0,f.substring(0,u))),t[r-1][1]=c.substring(0,c.length-u),t[r+1][1]=f.substring(u),r++):(p>=c.length/2||p>=f.length/2)&&(t.splice(r,0,new g.Diff(0,c.substring(0,p))),t[r-1][0]=1,t[r-1][1]=f.substring(0,f.length-p),t[r+1][0]=-1,t[r+1][1]=c.substring(p),r++),r++}r++}};g.prototype.diff_cleanupSemanticLossless=function(t){function e(i,l){if(!i||!l)return 6;let r=i.charAt(i.length-1),s=l.charAt(0),o=r.match(g.nonAlphaNumericRegex_),h=s.match(g.nonAlphaNumericRegex_),a=o&&r.match(g.whitespaceRegex_),c=h&&s.match(g.whitespaceRegex_),f=a&&r.match(g.linebreakRegex_),u=c&&s.match(g.linebreakRegex_),p=f&&i.match(g.blanklineEndRegex_),_=u&&l.match(g.blanklineStartRegex_);return p||_?5:f||u?4:o&&!a&&c?3:a||c?2:o||h?1:0}let n=1;for(;n<t.length-1;){if(t[n-1][0]==0&&t[n+1][0]==0){let i=t[n-1][1],l=t[n][1],r=t[n+1][1],s=this.diff_commonSuffix(i,l);if(s){i[i.length-s]===`\n`&&(s-=1);let f=l.substring(l.length-s);i=i.substring(0,i.length-s),l=f+l.substring(0,l.length-s),r=f+r}let o=i,h=l,a=r,c=e(i,l)+e(l,r);for(;l.charAt(0)===r.charAt(0);){i+=l.charAt(0),l=l.substring(1)+r.charAt(0),r=r.substring(1);let f=e(i,l)+e(l,r);f>=c&&(c=f,o=i,h=l,a=r)}t[n-1][1]!=o&&(o?t[n-1][1]=o:(t.splice(n-1,1),n--),t[n][1]=h,a?t[n+1][1]=a:(t.splice(n+1,1),n--))}n++}};g.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;g.whitespaceRegex_=/\\s/;g.linebreakRegex_=/[\\r\\n]/;g.blanklineEndRegex_=/\\n\\r?\\n$/;g.blanklineStartRegex_=/^\\r?\\n\\r?\\n/;g.prototype.diff_cleanupEfficiency=function(t){let e=!1,n=[],i=0,l=null,r=0,s=!1,o=!1,h=!1,a=!1;for(;r<t.length;)t[r][0]==0?(t[r][1].length<this.Diff_EditCost&&(h||a)?(n[i++]=r,s=h,o=a,l=t[r][1]):(i=0,l=null),h=a=!1):(t[r][0]==-1?a=!0:h=!0,l&&(s&&o&&h&&a||l.length<this.Diff_EditCost/2&&s+o+h+a==3)&&(t.splice(n[i-1],0,new g.Diff(-1,l)),t[n[i-1]+1][0]=1,i--,l=null,s&&o?(h=a=!0,i=0):(i--,r=i>0?n[i-1]:-1,h=a=!1),e=!0)),r++;e&&this.diff_cleanupMerge(t)};g.prototype.diff_cleanupMerge=function(t){t.push(new g.Diff(0,\"\"));let e=0,n=0,i=0,l=\"\",r=\"\",s;for(;e<t.length;)switch(t[e][0]){case 1:i++,r+=t[e][1],e++;break;case-1:n++,l+=t[e][1],e++;break;case 0:n+i>1?(n!==0&&i!==0&&(s=this.diff_commonPrefix(r,l),s!==0&&(e-n-i>0&&t[e-n-i-1][0]==0?t[e-n-i-1][1]+=r.substring(0,s):(t.splice(0,0,new g.Diff(0,r.substring(0,s))),e++),r=r.substring(s),l=l.substring(s)),s=this.diff_commonSuffix(r,l),s!==0&&(t[e][1]=r.substring(r.length-s)+t[e][1],r=r.substring(0,r.length-s),l=l.substring(0,l.length-s))),e-=n+i,t.splice(e,n+i),l.length&&(t.splice(e,0,new g.Diff(-1,l)),e++),r.length&&(t.splice(e,0,new g.Diff(1,r)),e++),e++):e!==0&&t[e-1][0]==0?(t[e-1][1]+=t[e][1],t.splice(e,1)):e++,i=0,n=0,l=\"\",r=\"\";break}t[t.length-1][1]===\"\"&&t.pop();let o=!1;for(e=1;e<t.length-1;)t[e-1][0]==0&&t[e+1][0]==0&&(t[e][1].substring(t[e][1].length-t[e-1][1].length)==t[e-1][1]?(t[e][1]=t[e-1][1]+t[e][1].substring(0,t[e][1].length-t[e-1][1].length),t[e+1][1]=t[e-1][1]+t[e+1][1],t.splice(e-1,1),o=!0):t[e][1].substring(0,t[e+1][1].length)==t[e+1][1]&&(t[e-1][1]+=t[e+1][1],t[e][1]=t[e][1].substring(t[e+1][1].length)+t[e+1][1],t.splice(e+1,1),o=!0)),e++;o&&this.diff_cleanupMerge(t)};g.prototype.diff_cleanupSplitSurrogates=function(t){let e;for(let n=0;n<t.length;n++){let i=t[n],l=i[1][0],r=i[1][i[1].length-1];if(i[1].length===0){t.splice(n--,1);continue}if(r&&this.isHighSurrogate(r)&&(e=r,i[1]=i[1].slice(0,-1)),e&&l&&this.isHighSurrogate(e)&&this.isLowSurrogate(l)&&(i[1]=e+i[1]),i[1].length===0){t.splice(n--,1);continue}}return t};g.prototype.isHighSurrogate=function(t){let e=t.charCodeAt(0);return e>=55296&&e<=56319};g.prototype.isLowSurrogate=function(t){let e=t.charCodeAt(0);return e>=56320&&e<=57343};g.prototype.digit16=function(t){switch(t){case\"0\":return 0;case\"1\":return 1;case\"2\":return 2;case\"3\":return 3;case\"4\":return 4;case\"5\":return 5;case\"6\":return 6;case\"7\":return 7;case\"8\":return 8;case\"9\":return 9;case\"A\":case\"a\":return 10;case\"B\":case\"b\":return 11;case\"C\":case\"c\":return 12;case\"D\":case\"d\":return 13;case\"E\":case\"e\":return 14;case\"F\":case\"f\":return 15;default:throw new Error(\"Invalid hex-code\")}};g.prototype.decodeURI=function(t){try{return decodeURI(t)}catch{let n=0,i=\"\";for(;n<t.length;){if(t[n]!==\"%\"){i+=t[n++];continue}let l=(this.digit16(t[n+1])<<4)+this.digit16(t[n+2]);if((l&128)===0){i+=String.fromCharCode(l),n+=3;continue}if(t[n+3]!==\"%\")throw new URIError(\"URI malformed\");let r=(this.digit16(t[n+4])<<4)+this.digit16(t[n+5]);if((r&192)!==128)throw new URIError(\"URI malformed\");if(r=r&63,(l&224)===192){i+=String.fromCharCode((l&31)<<6|r),n+=6;continue}if(t[n+6]!==\"%\")throw new URIError(\"URI malformed\");let s=(this.digit16(t[n+7])<<4)+this.digit16(t[n+8]);if((s&192)!==128)throw new URIError(\"URI malformed\");if(s=s&63,(l&240)===224){i+=String.fromCharCode((l&15)<<12|r<<6|s),n+=9;continue}if(t[n+9]!==\"%\")throw new URIError(\"URI malformed\");let o=(this.digit16(t[n+10])<<4)+this.digit16(t[n+11]);if((o&192)!==128)throw new URIError(\"URI malformed\");if(o=o&63,(l&248)===240){let h=(l&7)<<18|r<<12|s<<6|o;if(h>=65536&&h<=1114111){i+=String.fromCharCode((h&65535)>>>10&1023|55296),i+=String.fromCharCode(56320|h&65535&1023),n+=12;continue}}throw new URIError(\"URI malformed\")}return i}};g.prototype.diff_xIndex=function(t,e){let n=0,i=0,l=0,r=0,s;for(s=0;s<t.length&&(t[s][0]!==1&&(n+=t[s][1].length),t[s][0]!==-1&&(i+=t[s][1].length),!(n>e));s++)l=n,r=i;return t.length!=s&&t[s][0]===-1?r:r+(e-l)};g.prototype.diff_prettyHtml=function(t){t=this.diff_cleanupSplitSurrogates(t);let e=[],n=/&/g,i=/</g,l=/>/g,r=/\\n/g;for(let s=0;s<t.length;s++){let o=t[s][0],a=t[s][1].replace(n,\"&\").replace(i,\"<\").replace(l,\">\").replace(r,\"¶<br>\");switch(o){case 1:e[s]='<ins style=\"background:#e6ffe6;\">'+a+\"</ins>\";break;case-1:e[s]='<del style=\"background:#ffe6e6;\">'+a+\"</del>\";break;case 0:e[s]=\"<span>\"+a+\"</span>\";break}}return e.join(\"\")};g.prototype.diff_text1=function(t){let e=[];for(let n=0;n<t.length;n++)t[n][0]!==1&&(e[n]=t[n][1]);return e.join(\"\")};g.prototype.diff_text2=function(t){let e=[];for(let n=0;n<t.length;n++)t[n][0]!==-1&&(e[n]=t[n][1]);return e.join(\"\")};g.prototype.diff_levenshtein=function(t){let e=0,n=0,i=0;for(let l=0;l<t.length;l++){let r=t[l][0],s=t[l][1];switch(r){case 1:n+=s.length;break;case-1:i+=s.length;break;case 0:e+=Math.max(n,i),n=0,i=0;break}}return e+=Math.max(n,i),e};g.prototype.diff_toDelta=function(t){t=this.diff_cleanupSplitSurrogates(t);let e=[];for(let n=0;n<t.length;n++)switch(t[n][0]){case 1:e[n]=\"+\"+encodeURI(t[n][1]);break;case-1:e[n]=\"-\"+t[n][1].length;break;case 0:e[n]=\"=\"+t[n][1].length;break}return e.join(\"\t\").replace(/%20/g,\" \")};g.prototype.diff_fromDelta=function(t,e){let n=0,i=\"\",l=[],r=0,s=0,o=e.split(/\\t/g);for(let h=0;h<o.length;h++){let a=o[h].substring(1);switch(o[h].charAt(0)){case\"+\":try{l[r++]=new g.Diff(1,this.decodeURI(a))}catch{throw new Error(\"Illegal escape in diff_fromDelta: \"+a)}break;case\"-\":case\"=\":if(n=parseInt(a,10),isNaN(n)||n<0)throw new Error(\"Invalid number in diff_fromDelta: \"+a);i=t.substring(s,s+=n),o[h].charAt(0)==\"=\"?l[r++]=new g.Diff(0,i):l[r++]=new g.Diff(-1,i);break;default:if(o[h])throw new Error(\"Invalid diff operation in diff_fromDelta: \"+o[h])}}if(s!=t.length)throw new Error(\"Delta length (\"+s+\") does not equal source text length (\"+t.length+\").\");return l};g.prototype.match_main=function(t,e,n){if(t==null||e==null||n==null)throw new Error(\"Null input. (match_main)\");return n=Math.max(0,Math.min(n,t.length)),t==e?0:t.length?t.substring(n,n+e.length)==e?n:this.match_bitap_(t,e,n):-1};g.prototype.match_bitap_=function(t,e,n){if(e.length>this.Match_MaxBits)throw new Error(\"Pattern too long for this browser.\");let i=this.match_alphabet_(e),l=this;function r(p,_){let D=p/e.length,d=Math.abs(n-_);return l.Match_Distance?D+d/l.Match_Distance:d?1:D}let s=this.Match_Threshold,o=t.indexOf(e,n);o!=-1&&(s=Math.min(r(0,o),s),o=t.lastIndexOf(e,n+e.length),o!=-1&&(s=Math.min(r(0,o),s)));let h=1<<e.length-1;o=-1;let a,c,f=e.length+t.length,u;for(let p=0;p<e.length;p++){for(a=0,c=f;a<c;)r(p,n+c)<=s?a=c:f=c,c=Math.floor((f-a)/2+a);f=c;let _=Math.max(1,n-c+1),D=Math.min(n+c,t.length)+e.length,d=Array(D+2);d[D+1]=(1<<p)-1;for(let E=D;E>=_;E--){let L=i[t.charAt(E-1)];if(p===0?d[E]=(d[E+1]<<1|1)&L:d[E]=(d[E+1]<<1|1)&L|((u[E+1]|u[E])<<1|1)|u[E+1],d[E]&h){let m=r(p,E-1);if(m<=s)if(s=m,o=E-1,o>n)_=Math.max(1,2*n-o);else break}}if(r(p+1,n)>s)break;u=d}return o};g.prototype.match_alphabet_=function(t){let e={};for(let n=0;n<t.length;n++)e[t.charAt(n)]=0;for(let n=0;n<t.length;n++)e[t.charAt(n)]|=1<<t.length-n-1;return e};g.prototype.patch_addContext_=function(t,e){if(e.length==0)return;if(t.start2===null)throw Error(\"patch not initialized\");let n=e.substring(t.start2,t.start2+t.length1),i=0;for(;e.indexOf(n)!=e.lastIndexOf(n)&&n.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)i+=this.Patch_Margin,n=e.substring(t.start2-i,t.start2+t.length1+i);i+=this.Patch_Margin,t.start2-i>0&&g.prototype.isLowSurrogate(e[t.start2-i])&&i++;let l=e.substring(t.start2-i,t.start2);l&&t.diffs.unshift(new g.Diff(0,l)),t.start2+t.length1+i<e.length&&g.prototype.isHighSurrogate(e[t.start2+t.length1+i])&&i++;let r=e.substring(t.start2+t.length1,t.start2+t.length1+i);r&&t.diffs.push(new g.Diff(0,r)),t.start1-=l.length,t.start2-=l.length,t.length1+=l.length+r.length,t.length2+=l.length+r.length};g.prototype.patch_make=function(t,e,n){let i,l;if(typeof t==\"string\"&&typeof e==\"string\"&&typeof n>\"u\")i=t,l=this.diff_main(i,e,!0),l.length>2&&(this.diff_cleanupSemantic(l),this.diff_cleanupEfficiency(l));else if(t&&typeof t==\"object\"&&typeof e>\"u\"&&typeof n>\"u\")l=t,i=this.diff_text1(l);else if(typeof t==\"string\"&&e&&typeof e==\"object\"&&typeof n>\"u\")i=t,l=e;else if(typeof t==\"string\"&&typeof e==\"string\"&&n&&typeof n==\"object\")i=t,l=n;else throw new Error(\"Unknown call format to patch_make.\");if(l.length===0)return[];l=this.diff_cleanupSplitSurrogates(l);let r=[],s=new g.patch_obj,o=0,h=0,a=0,c=i,f=i;for(let u=0;u<l.length;u++){let p=l[u][0],_=l[u][1];switch(!o&&p!==0&&(s.start1=h,s.start2=a),p){case 1:s.diffs[o++]=l[u],s.length2+=_.length,f=f.substring(0,a)+_+f.substring(a);break;case-1:s.length1+=_.length,s.diffs[o++]=l[u],f=f.substring(0,a)+f.substring(a+_.length);break;case 0:_.length<=2*this.Patch_Margin&&o&&l.length!=u+1?(s.diffs[o++]=l[u],s.length1+=_.length,s.length2+=_.length):_.length>=2*this.Patch_Margin&&o&&(this.patch_addContext_(s,c),r.push(s),s=new g.patch_obj,o=0,c=f,h=a);break}p!==1&&(h+=_.length),p!==-1&&(a+=_.length)}return o&&(this.patch_addContext_(s,c),r.push(s)),r};g.prototype.patch_deepCopy=function(t){let e=[];for(let n=0;n<t.length;n++){let i=t[n],l=new g.patch_obj;l.diffs=[];for(let r=0;r<i.diffs.length;r++)l.diffs[r]=new g.Diff(i.diffs[r][0],i.diffs[r][1]);l.start1=i.start1,l.start2=i.start2,l.length1=i.length1,l.length2=i.length2,e[n]=l}return e};g.prototype.patch_apply=function(t,e){if(t.length==0)return[e,[]];t=this.patch_deepCopy(t);let n=this.patch_addPadding(t);e=n+e+n,this.patch_splitMax(t);let i=0,l=[];for(let r=0;r<t.length;r++){let s=t[r].start2+i,o=this.diff_text1(t[r].diffs),h,a=-1;if(o.length>this.Match_MaxBits?(h=this.match_main(e,o.substring(0,this.Match_MaxBits),s),h!=-1&&(a=this.match_main(e,o.substring(o.length-this.Match_MaxBits),s+o.length-this.Match_MaxBits),(a==-1||h>=a)&&(h=-1))):h=this.match_main(e,o,s),h==-1)l[r]=!1,i-=t[r].length2-t[r].length1;else{l[r]=!0,i=h-s;let c;if(a==-1?c=e.substring(h,h+o.length):c=e.substring(h,a+this.Match_MaxBits),o==c)e=e.substring(0,h)+this.diff_text2(t[r].diffs)+e.substring(h+o.length);else{let f=this.diff_main(o,c,!1);if(o.length>this.Match_MaxBits&&this.diff_levenshtein(f)/o.length>this.Patch_DeleteThreshold)l[r]=!1;else{this.diff_cleanupSemanticLossless(f);let u=0,p;for(let _=0;_<t[r].diffs.length;_++){let D=t[r].diffs[_];D[0]!==0&&(p=this.diff_xIndex(f,u)),D[0]===1?e=e.substring(0,h+p)+D[1]+e.substring(h+p):D[0]===-1&&(e=e.substring(0,h+p)+e.substring(h+this.diff_xIndex(f,u+D[1].length))),D[0]!==-1&&(u+=D[1].length)}}}}}return e=e.substring(n.length,e.length-n.length),[e,l]};g.prototype.patch_addPadding=function(t){let e=this.Patch_Margin,n=\"\";for(let r=1;r<=e;r++)n+=String.fromCharCode(r);for(let r=0;r<t.length;r++)t[r].start1+=e,t[r].start2+=e;let i=t[0],l=i.diffs;if(l.length==0||l[0][0]!=0)l.unshift(new g.Diff(0,n)),i.start1-=e,i.start2-=e,i.length1+=e,i.length2+=e;else if(e>l[0][1].length){let r=e-l[0][1].length;l[0][1]=n.substring(l[0][1].length)+l[0][1],i.start1-=r,i.start2-=r,i.length1+=r,i.length2+=r}if(i=t[t.length-1],l=i.diffs,l.length==0||l[l.length-1][0]!=0)l.push(new g.Diff(0,n)),i.length1+=e,i.length2+=e;else if(e>l[l.length-1][1].length){let r=e-l[l.length-1][1].length;l[l.length-1][1]+=n.substring(0,r),i.length1+=r,i.length2+=r}return n};g.prototype.patch_splitMax=function(t){let e=this.Match_MaxBits;for(let n=0;n<t.length;n++){if(t[n].length1<=e)continue;let i=t[n];t.splice(n--,1);let l=i.start1,r=i.start2,s=\"\";for(;i.diffs.length!==0;){let o=new g.patch_obj,h=!0;for(o.start1=l-s.length,o.start2=r-s.length,s!==\"\"&&(o.length1=o.length2=s.length,o.diffs.push(new g.Diff(0,s)));i.diffs.length!==0&&o.length1<e-this.Patch_Margin;){let c=i.diffs[0][0],f=i.diffs[0][1];c===1?(o.length2+=f.length,r+=f.length,o.diffs.push(i.diffs.shift()),h=!1):c===-1&&o.diffs.length==1&&o.diffs[0][0]==0&&f.length>2*e?(o.length1+=f.length,l+=f.length,h=!1,o.diffs.push(new g.Diff(c,f)),i.diffs.shift()):(f=f.substring(0,e-o.length1-this.Patch_Margin),o.length1+=f.length,l+=f.length,c===0?(o.length2+=f.length,r+=f.length):h=!1,o.diffs.push(new g.Diff(c,f)),f==i.diffs[0][1]?i.diffs.shift():i.diffs[0][1]=i.diffs[0][1].substring(f.length))}s=this.diff_text2(o.diffs),s=s.substring(s.length-this.Patch_Margin);let a=this.diff_text1(i.diffs).substring(0,this.Patch_Margin);a!==\"\"&&(o.length1+=a.length,o.length2+=a.length,o.diffs.length!==0&&o.diffs[o.diffs.length-1][0]===0?o.diffs[o.diffs.length-1][1]+=a:o.diffs.push(new g.Diff(0,a))),h||t.splice(++n,0,o)}}};g.prototype.patch_toText=function(t){let e=[];for(let n=0;n<t.length;n++)e[n]=t[n];return e.join(\"\")};g.prototype.patch_fromText=function(t){let e=[];if(!t)return e;let n=t.split(`\n`),i=0,l=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;for(;i<n.length;){let r=n[i].match(l);if(!r)throw new Error(\"Invalid patch string: \"+n[i]);let s=new g.patch_obj;for(e.push(s),s.start1=parseInt(r[1],10),r[2]===\"\"?(s.start1--,s.length1=1):r[2]==\"0\"?s.length1=0:(s.start1--,s.length1=parseInt(r[2],10)),s.start2=parseInt(r[3],10),r[4]===\"\"?(s.start2--,s.length2=1):r[4]==\"0\"?s.length2=0:(s.start2--,s.length2=parseInt(r[4],10)),i++;i<n.length;){let o=n[i].charAt(0),h=\"\";try{h=decodeURI(n[i].substring(1))}catch{throw new Error(\"Illegal escape in patch_fromText: \"+h)}if(o==\"-\")s.diffs.push(new g.Diff(-1,h));else if(o==\"+\")s.diffs.push(new g.Diff(1,h));else if(o==\" \")s.diffs.push(new g.Diff(0,h));else{if(o==\"@\")break;if(o!==\"\")throw new Error('Invalid patch mode \"'+o+'\" in: '+h)}i++}}return e};g.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0};g.patch_obj.prototype.toString=function(){let t,e;this.length1===0?t=this.start1+\",0\":this.length1==1?t=this.start1+1:t=this.start1+1+\",\"+this.length1,this.length2===0?e=this.start2+\",0\":this.length2==1?e=this.start2+1:e=this.start2+1+\",\"+this.length2;let n=[\"@@ -\"+t+\" +\"+e+` @@\n`],i;g.prototype.diff_cleanupSplitSurrogates(this.diffs);for(let l=0;l<this.diffs.length;l++){switch(this.diffs[l][0]){case 1:i=\"+\";break;case-1:i=\"-\";break;case 0:i=\" \";break}n[l+1]=i+encodeURI(this.diffs[l][1])+`\n`}return n.join(\"\").replace(/%20/g,\" \")};function R(t){return t&&typeof t==\"object\"&&!Array.isArray(t)&&t!==null}function U(t,e){return R(t)&&R(e)&&Object.keys(e).forEach(n=>{n===\"__proto__\"||n===\"constructor\"||(R(e[n])?((!t[n]||!R(t[n]))&&(t[n]=e[n]),U(t[n],e[n])):Object.assign(t,{[n]:e[n]}))}),t}function N(t,e,n=!1){let i=null,l=!0;return(...r)=>{const s=n&&l,o=()=>{t.apply(this,r),i=null};s&&(l=!1,o()),i||(i=setTimeout(o,e))}}function tt(t,e){let n;return(...i)=>{const l=this;clearTimeout(n),n=setTimeout(()=>t.apply(l,i),e)}}function O(t=\"\"){return t.replace(/\\r\\n/g,`\n`)}function v(t,e,n,i){const l=n-t,r=t+l/2;return`M ${t} ${e} C ${r},${e} ${r},${i} ${n},${i}`}const I={DIFF_EQUAL:0,DIFF_DELETE:-1,DIFF_INSERT:1,EDITOR_RIGHT:\"right\",EDITOR_LEFT:\"left\",RTL:\"rtl\",LTR:\"ltr\",SVG_NS:\"http://www.w3.org/2000/svg\",DIFF_GRANULARITY_SPECIFIC:\"specific\",DIFF_GRANULARITY_BROAD:\"broad\"};function H(t,e){let{mode:n}=t.options;return e===I.EDITOR_LEFT&&t.options.left.mode!==null&&(n=t.options.left.mode),e===I.EDITOR_RIGHT&&t.options.right.mode!==null&&(n=t.options.right.mode),n}function Q(t,e){let{theme:n}=t.options;return e===I.EDITOR_LEFT&&t.options.left.theme!==null&&(n=t.options.left.theme),e===I.EDITOR_RIGHT&&t.options.right.theme!==null&&(n=t.options.right.theme),n}function Y(t,e){return t.ace.getSession().doc.getLine(e)}function et(t){return document.getElementById(t.options.left.id).offsetHeight}function x(t){const e=document.createElement(\"div\"),n={class:t.className,style:`top:${t.topOffset}px`,title:t.tooltip,\"data-diff-index\":t.diffIndex};for(const i in n)e.setAttribute(i,n[i]);return e.innerHTML=t.arrowContent,e}function M(t,e){const n=Math.random().toString(36).substr(2,5),i=`js-${e}-${n}`,l=t.querySelector(`.${e}`);if(l)return l.id=l.id||i,l.id;const r=document.createElement(\"div\");return t.appendChild(r),r.className=e,r.id=i,r.id}function $(t,e,n,i){const l=t===\"document\"?document:document.querySelector(t);l.addEventListener(e,r=>{const s=l.querySelectorAll(n),{target:o}=r;for(let h=0,a=s.length;h<a;h+=1){let c=o;const f=s[h];for(;c&&c!==l;)c===f&&i.call(f,r),c=c.parentNode}})}let A;function nt(t){if(t.Range)return t.Range;const e=t.acequire||t.require;return e?e(\"ace/range\"):!1}function k(t={}){if(!(this instanceof k))return new k(t);const e=this,n=()=>window?window.ace:void 0;e.options=U({ace:n(),mode:null,theme:null,element:null,diffGranularity:I.DIFF_GRANULARITY_BROAD,lockScrolling:!1,showDiffs:!0,showConnectors:!0,maxDiffs:5e3,left:{id:null,content:null,mode:null,theme:null,editable:!0,copyLinkEnabled:!0},right:{id:null,content:null,mode:null,theme:null,editable:!0,copyLinkEnabled:!0},classes:{gutterID:\"acediff__gutter\",diff:\"acediff__diffLine\",connector:\"acediff__connector\",newCodeConnectorLink:\"acediff__newCodeConnector\",newCodeConnectorLinkContent:\"→\",deletedCodeConnectorLink:\"acediff__deletedCodeConnector\",deletedCodeConnectorLinkContent:\"←\",copyRightContainer:\"acediff__copy--right\",copyLeftContainer:\"acediff__copy--left\"},connectorYOffset:0},t);const{ace:i}=e.options;if(!i){const l=\"No ace editor found nor supplied - `options.ace` or `window.ace` is missing\";return console.error(l),new Error(l)}if(A=nt(i),!A){const l=\"Could not require Range module for Ace. Depends on your bundling strategy, but it usually comes with Ace itself. See https://ace.c9.io/api/range.html, open an issue on GitHub ace-diff/ace-diff\";return console.error(l),new Error(l)}if(e.options.element===null){const l=\"You need to specify an element for Ace-diff - `options.element` is missing\";return console.error(l),new Error(l)}if(e.options.element instanceof HTMLElement?e.el=e.options.element:e.el=document.body.querySelector(e.options.element),!e.el){const l=`Can't find the specified element ${e.options.element}`;return console.error(l),new Error(l)}e.options.left.id=M(e.el,\"acediff__left\"),e.options.classes.gutterID=M(e.el,\"acediff__gutter\"),e.options.right.id=M(e.el,\"acediff__right\"),e.el.innerHTML=`<div class=\"acediff__wrap\">${e.el.innerHTML}</div>`,e.editors={left:{ace:i.edit(e.options.left.id),markers:[],lineLengths:[]},right:{ace:i.edit(e.options.right.id),markers:[],lineLengths:[]},editorHeight:null},e.editors.left.ace.getSession().setMode(H(e,I.EDITOR_LEFT)),e.editors.right.ace.getSession().setMode(H(e,I.EDITOR_RIGHT)),e.editors.left.ace.setReadOnly(!e.options.left.editable),e.editors.right.ace.setReadOnly(!e.options.right.editable),e.editors.left.ace.setTheme(Q(e,I.EDITOR_LEFT)),e.editors.right.ace.setTheme(Q(e,I.EDITOR_RIGHT)),e.editors.left.ace.setValue(O(e.options.left.content),-1),e.editors.right.ace.setValue(O(e.options.right.content),-1),e.editors.editorHeight=et(e),setTimeout(()=>{e.lineHeight=e.editors.left.ace.renderer.lineHeight,it(e),ot(e),K(e),e.diff()},1)}k.prototype={setOptions(t){U(this.options,t),this.diff()},getNumDiffs(){return this.diffs.length},getEditors(){return{left:this.editors.left.ace,right:this.editors.right.ace}},diff(){const t=new g,e=this.editors.left.ace.getSession().getValue(),n=this.editors.right.ace.getSession().getValue(),i=t.diff_main(n,e);t.diff_cleanupSemantic(i),this.editors.left.lineLengths=G(this.editors.left),this.editors.right.lineLengths=G(this.editors.right);const l=[],r={left:0,right:0};i.forEach(s=>{const o=s[0];let h=s[1];h.length!==0&&(o===I.DIFF_EQUAL?(r.left+=h.length,r.right+=h.length):o===I.DIFF_DELETE?(l.push(q(this,I.DIFF_DELETE,r.left,r.right,h)),r.right+=h.length):o===I.DIFF_INSERT&&(l.push(q(this,I.DIFF_INSERT,r.left,r.right,h)),r.left+=h.length))},this),this.diffs=gt(this,l),!(this.diffs.length>this.options.maxDiffs)&&(J(this),X(this))},destroy(){const t=this.editors.left.ace.getValue();this.editors.left.ace.destroy();let e=this.editors.left.ace.container,n=e.cloneNode(!1);n.textContent=t,e.parentNode.replaceChild(n,e);const i=this.editors.right.ace.getValue();this.editors.right.ace.destroy(),e=this.editors.right.ace.container,n=e.cloneNode(!1),n.textContent=i,e.parentNode.replaceChild(n,e),document.getElementById(this.options.classes.gutterID).innerHTML=\"\",Z()}};let Z=()=>{};function it(t){t.editors.left.ace.getSession().on(\"changeScrollTop\",N(()=>{B(t)},16)),t.editors.right.ace.getSession().on(\"changeScrollTop\",N(()=>{B(t)},16));const e=t.diff.bind(t);t.editors.left.ace.on(\"change\",e),t.editors.right.ace.on(\"change\",e),t.options.left.copyLinkEnabled&&$(`#${t.options.classes.gutterID}`,\"click\",`.${t.options.classes.newCodeConnectorLink}`,i=>{P(t,i,I.LTR)}),t.options.right.copyLinkEnabled&&$(`#${t.options.classes.gutterID}`,\"click\",`.${t.options.classes.deletedCodeConnectorLink}`,i=>{P(t,i,I.RTL)});const n=tt(()=>{t.editors.availableHeight=document.getElementById(t.options.left.id).offsetHeight,t.diff()},250);window.addEventListener(\"resize\",n),Z=()=>{window.removeEventListener(\"resize\",n)}}function P(t,e,n){const i=parseInt(e.target.getAttribute(\"data-diff-index\"),10),l=t.diffs[i];let r,s,o,h,a,c;n===I.LTR?(r=t.editors.left,s=t.editors.right,o=l.leftStartLine,h=l.leftEndLine,a=l.rightStartLine,c=l.rightEndLine):(r=t.editors.right,s=t.editors.left,o=l.rightStartLine,h=l.rightEndLine,a=l.leftStartLine,c=l.leftEndLine);let f=\"\";for(let p=o;p<h;p+=1)f+=Y(r,p),p===o&&f===\"\"&&a!=0&&(f+=`\n`),p<r.ace.getSession().getLength()-1&&(f+=`\n`);const u=s.ace.getSession().getScrollTop();s.ace.getSession().replace(new A(a,0,c,0),f),s.ace.getSession().setScrollTop(parseInt(u,10)),t.diff()}function G(t){const e=t.ace.getSession().doc.getAllLines(),n=[];return e.forEach(i=>{n.push(i.length+1)}),n}function j(t,e,n,i,l){const r=t.editors[e];i<n&&(i=n);const s=`${l} ${i>n?\"lines\":\"targetOnly\"}`;i>n&&(i-=1),r.markers.push(r.ace.session.addMarker(new A(n,0,i,1),s,\"fullLine\"))}function B(t){J(t),X(t),st(t)}function J(t){t.editors.left.markers.forEach(e=>{t.editors.left.ace.getSession().removeMarker(e)},t),t.editors.right.markers.forEach(e=>{t.editors.right.ace.getSession().removeMarker(e)},t)}function rt(t,e,n,i,l){const r=t.editors.left.ace.getSession().getScrollTop(),s=t.editors.right.ace.getSession().getScrollTop();t.connectorYOffset=1;const o=-1,h=e*t.lineHeight-r+.5,a=t.gutterWidth+1,c=i*t.lineHeight-s+.5,f=-1,u=n*t.lineHeight-r+t.connectorYOffset+.5,p=t.gutterWidth+1,_=l*t.lineHeight-s+t.connectorYOffset+.5,D=v(o,h,a,c),d=v(p,_,f,u),E=`L${a},${c} ${p},${_}`,L=`L${f},${u} ${o},${h}`,m=`${D} ${E} ${d} ${L}`,F=document.createElementNS(I.SVG_NS,\"path\");F.setAttribute(\"d\",m),F.setAttribute(\"class\",t.options.classes.connector),t.gutterSVG.appendChild(F)}function lt(t,e,n){if(e.leftEndLine>e.leftStartLine&&t.options.left.copyLinkEnabled){const i=x({className:t.options.classes.newCodeConnectorLink,topOffset:e.leftStartLine*t.lineHeight,tooltip:\"Copy to right\",diffIndex:n,arrowContent:t.options.classes.newCodeConnectorLinkContent});t.copyRightContainer.appendChild(i)}if(e.rightEndLine>e.rightStartLine&&t.options.right.copyLinkEnabled){const i=x({className:t.options.classes.deletedCodeConnectorLink,topOffset:e.rightStartLine*t.lineHeight,tooltip:\"Copy to left\",diffIndex:n,arrowContent:t.options.classes.deletedCodeConnectorLinkContent});t.copyLeftContainer.appendChild(i)}}function st(t){const e=t.editors.left.ace.getSession().getScrollTop(),n=t.editors.right.ace.getSession().getScrollTop();t.copyRightContainer.style.cssText=`top: ${-e}px`,t.copyLeftContainer.style.cssText=`top: ${-n}px`}function q(t,e,n,i,l){let r={};if(e===I.DIFF_INSERT){let s=V(t.editors.left,n,l),o=z(t.editors.right,i),h=S(t.editors.right,o);const a=S(t.editors.left,s.startLine);let c=o,f=s.startLine===s.endLine,u=0;(s.startChar>0||f&&l.length<a)&&h>0&&s.startChar<a&&u++,r={leftStartLine:s.startLine,leftEndLine:s.endLine+1,rightStartLine:c,rightEndLine:c+u}}else{let s=V(t.editors.right,i,l),o=z(t.editors.left,n),h=S(t.editors.left,o);const a=S(t.editors.right,s.startLine);let c=o,f=s.startLine===s.endLine,u=0;(s.startChar>0||f&&l.length<a)&&h>0&&s.startChar<a&&u++,r={leftStartLine:c,leftEndLine:c+u,rightStartLine:s.startLine,rightEndLine:s.endLine+1}}return r}function V(t,e,n){const i={startLine:0,startChar:0,endLine:0,endChar:0},l=e+n.length;let r=0,s=!1,o=!1;t.lineLengths.forEach((a,c)=>{r+=a,!s&&e<r&&(i.startLine=c,i.startChar=e-r+a,s=!0),!o&&l<=r&&(i.endLine=c,i.endChar=l-r+a,o=!0)}),i.startChar>0&&S(t,i.startLine)===i.startChar&&(i.startLine++,i.startChar=0),i.endChar===0&&i.endLine--;const h=/\\n$/.test(n);return i.startChar>0&&h&&i.endLine++,i}function S(t,e){return Y(t,e).length}function z(t,e){const n=t.ace.getSession().doc.getAllLines();let i=0,l=0;for(let r=0;r<n.length;r+=1)if(l+=n[r].length+1,e<l){i=r;break}return l>t.ace.getSession().getValue().length&&(i+=1),i}function K(t){t.gutterHeight=document.getElementById(t.options.classes.gutterID).clientHeight,t.gutterWidth=document.getElementById(t.options.classes.gutterID).clientWidth;const e=W(t,I.EDITOR_LEFT),n=W(t,I.EDITOR_RIGHT),i=Math.max(e,n,t.gutterHeight);t.gutterSVG=document.createElementNS(I.SVG_NS,\"svg\"),t.gutterSVG.setAttribute(\"width\",t.gutterWidth),t.gutterSVG.setAttribute(\"height\",i),document.getElementById(t.options.classes.gutterID).appendChild(t.gutterSVG)}function W(t,e){return(e===I.EDITOR_LEFT?t.editors.left:t.editors.right).ace.getSession().getLength()*t.lineHeight}function ot(t){t.copyRightContainer=document.createElement(\"div\"),t.copyRightContainer.setAttribute(\"class\",t.options.classes.copyRightContainer),t.copyLeftContainer=document.createElement(\"div\"),t.copyLeftContainer.setAttribute(\"class\",t.options.classes.copyLeftContainer),document.getElementById(t.options.classes.gutterID).appendChild(t.copyRightContainer),document.getElementById(t.options.classes.gutterID).appendChild(t.copyLeftContainer)}function ht(t){document.getElementById(t.options.classes.gutterID).removeChild(t.gutterSVG),K(t)}function at(t){t.copyLeftContainer.innerHTML=\"\",t.copyRightContainer.innerHTML=\"\"}function gt(t,e){const n=[];function i(r){return t.options.diffGranularity===I.DIFF_GRANULARITY_SPECIFIC?r<1:r<=1}e.forEach((r,s)=>{if(s===0){n.push(r);return}let o=!1;for(let h=0;h<n.length;h+=1)if(i(Math.abs(r.leftStartLine-n[h].leftEndLine))&&i(Math.abs(r.rightStartLine-n[h].rightEndLine))){n[h].leftStartLine=Math.min(r.leftStartLine,n[h].leftStartLine),n[h].rightStartLine=Math.min(r.rightStartLine,n[h].rightStartLine),n[h].leftEndLine=Math.max(r.leftEndLine,n[h].leftEndLine),n[h].rightEndLine=Math.max(r.rightEndLine,n[h].rightEndLine),o=!0;break}o||n.push(r)});const l=[];return n.forEach(r=>{r.leftStartLine===r.leftEndLine&&r.rightStartLine===r.rightEndLine||l.push(r)}),l}function X(t){ht(t),at(t),t.diffs.forEach((e,n)=>{t.options.showDiffs&&(j(t,I.EDITOR_LEFT,e.leftStartLine,e.leftEndLine,t.options.classes.diff),j(t,I.EDITOR_RIGHT,e.rightStartLine,e.rightEndLine,t.options.classes.diff),t.options.showConnectors&&rt(t,e.leftStartLine,e.leftEndLine,e.rightStartLine,e.rightEndLine),lt(t,e,n))},t)}export{k as default};\n//# sourceMappingURL=ace-diff.min.js.map\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"show\" persistent width=\"80vw\">\n <v-card>\n <v-card-text>\n <v-card-title>{{ pluginName }} </v-card-title>\n <v-row v-if=\"existingPluginTxt !== null\" class=\"notice d-flex flex-row\">\n <v-icon size=\"x-large\" start color=\"yellow\"> mdi-alert-box </v-icon>\n <div style=\"flex: 1\">\n The existing plugin.txt is different from the {{ pluginName }}'s\n plugin.txt. Navigate the diffs making whatever edits you want before\n installing. You may want to update {{ pluginName }}'s plugin.txt\n going forward.\n </div>\n </v-row>\n <v-row class=\"pb-3 pr-3\">\n <v-tabs v-model=\"tab\" class=\"ml-3\">\n <v-tab :key=\"0\"> Variables </v-tab>\n <v-tab :key=\"1\"> plugin.txt </v-tab>\n </v-tabs>\n </v-row>\n <form @submit.prevent=\"onSubmit\">\n <v-window v-model=\"tab\">\n <v-window-item :key=\"0\" eager=\"true\" class=\"tab\">\n <div class=\"pa-3\">\n <v-row class=\"mt-3\">\n <div v-for=\"(value, name) in localVariables\" :key=\"name\">\n <v-col style=\"width: 220px\">\n <v-text-field\n v-model=\"localVariables[name]\"\n clearable\n type=\"text\"\n :label=\"name\"\n />\n </v-col>\n </div>\n </v-row>\n </div>\n </v-window-item>\n <v-window-item\n v-if=\"existingPluginTxt === null\"\n :key=\"1 + '-new'\"\n eager=\"true\"\n class=\"tab\"\n >\n <v-row class=\"pa-3\">\n <v-col> This can be edited before installation. </v-col>\n </v-row>\n <pre\n ref=\"editor\"\n class=\"editor\"\n @contextmenu.prevent=\"showContextMenu\"\n ></pre>\n <v-menu v-model=\"contextMenu\" :target=\"[menuX, menuY]\">\n <v-list>\n <v-list-item link>\n <v-list-item-title @click=\"openDocumentation\">\n {{ docsKeyword }} documentation\n </v-list-item-title>\n </v-list-item>\n <v-divider />\n <v-list-item\n title=\"Toggle Vim mode\"\n prepend-icon=\"extras:vim\"\n @click=\"toggleVimMode\"\n />\n </v-list>\n </v-menu>\n </v-window-item>\n <v-window-item\n v-else\n :key=\"1 + '-existing'\"\n eager=\"true\"\n class=\"tab\"\n >\n <v-row class=\"pa-3\">\n <v-col>\n Existing plugin.txt. This can be edited before installation.\n </v-col>\n <v-col class=\"ml-6\">\n Uneditable plugin.txt from the new plugin.\n </v-col>\n </v-row>\n <pre ref=\"editor\" class=\"editor\"></pre>\n </v-window-item>\n </v-window>\n\n <v-card-actions class=\"px-2 mt-2\">\n <div v-if=\"existingPluginTxt !== null\">\n <v-btn variant=\"text\" @click=\"nextDiff\"> Next Diff </v-btn>\n <v-btn variant=\"text\" @click=\"previousDiff\">\n Previous Diff\n </v-btn>\n </div>\n <v-spacer />\n <v-btn\n variant=\"outlined\"\n data-test=\"edit-cancel\"\n @click.prevent=\"close\"\n >\n Cancel\n </v-btn>\n <v-btn variant=\"flat\" data-test=\"edit-submit\" @click=\"submit\">\n Install\n </v-btn>\n </v-card-actions>\n </form>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport * as ace from 'ace-builds'\nimport 'ace-builds/src-min-noconflict/mode-ruby'\nimport 'ace-builds/src-min-noconflict/theme-twilight'\nimport 'ace-builds/src-min-noconflict/ext-language_tools'\nimport 'ace-builds/src-min-noconflict/ext-searchbox'\nimport AceDiff from '@openc3/ace-diff'\nimport '@openc3/ace-diff/dist/ace-diff-dark.min.css'\nimport { toRaw } from 'vue'\nimport { AceEditorUtils } from '../../components/ace'\n\nexport default {\n props: {\n pluginName: {\n type: String,\n required: true,\n },\n variables: {\n type: Object,\n required: true,\n },\n pluginTxt: {\n type: String,\n required: true,\n },\n existingPluginTxt: {\n type: String,\n required: false,\n },\n modelValue: Boolean, // modelValue is the default prop when using v-model\n },\n data() {\n return {\n tab: 0,\n localVariables: [],\n localPluginTxt: '',\n localExistingPluginTxt: null,\n editor: null,\n differ: null,\n contextMenu: false,\n menuX: 0,\n menuY: 0,\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n watch: {\n value: {\n immediate: true,\n handler: function () {\n this.localVariables = JSON.parse(JSON.stringify(this.variables)) // deep copy\n this.localPluginTxt = this.pluginTxt.slice()\n if (this.existingPluginTxt !== null) {\n this.localExistingPluginTxt = this.existingPluginTxt.slice()\n }\n },\n },\n },\n mounted() {\n const pluginMode = this.buildPluginMode()\n if (this.existingPluginTxt === null) {\n this.editor = ace.edit(this.$refs.editor)\n this.editor.setTheme('ace/theme/twilight')\n this.editor.session.setMode(new pluginMode())\n this.editor.session.setTabSize(2)\n this.editor.session.setUseWrapMode(true)\n this.editor.$blockScrolling = Infinity\n this.editor.setHighlightActiveLine(false)\n this.editor.setValue(this.localPluginTxt)\n this.editor.clearSelection()\n AceEditorUtils.applyVimModeIfEnabled(this.editor)\n this.editor.focus()\n } else {\n this.tab = 1 // Show the diff right off the bat\n this.differ = new AceDiff({\n element: this.$refs.editor,\n mode: new pluginMode(),\n theme: 'ace/theme/twilight',\n left: {\n content: this.localExistingPluginTxt,\n copyLinkEnabled: false,\n },\n right: {\n content: this.localPluginTxt,\n editable: false,\n },\n })\n // Match our existing editors\n this.differ.getEditors().left.setFontSize(16)\n this.differ.getEditors().right.setFontSize(16)\n\n // Apply vim mode if enabled to both editor instances\n AceEditorUtils.applyVimModeIfEnabled(this.differ.getEditors().left)\n AceEditorUtils.applyVimModeIfEnabled(this.differ.getEditors().right)\n\n this.curDiff = -1 // so the first will be 0\n }\n },\n beforeUnmount() {\n if (this.editor) {\n this.editor.destroy()\n }\n if (this.differ) {\n this.differ.destroy()\n }\n },\n methods: {\n previousDiff() {\n this.curDiff--\n if (this.curDiff < 0) {\n this.curDiff = this.differ.diffs.length - 1\n }\n this.scrollToCurDiff()\n },\n nextDiff() {\n this.curDiff++\n if (this.curDiff >= this.differ.diffs.length) {\n this.curDiff = 0\n }\n this.scrollToCurDiff()\n },\n scrollToCurDiff() {\n if (this.differ.diffs.length === 0) return\n let lrow = this.differ.diffs[this.curDiff].leftStartLine\n let rrow = this.differ.diffs[this.curDiff].rightStartLine\n // Give it a little breathing room\n if (lrow > 5) {\n lrow -= 5\n }\n if (rrow > 5) {\n rrow -= 5\n }\n this.differ.getEditors().left.scrollToLine(lrow)\n this.differ.getEditors().right.scrollToLine(rrow)\n },\n buildPluginMode() {\n let oop = ace.require('ace/lib/oop')\n let RubyHighlightRules = ace.require(\n 'ace/mode/ruby_highlight_rules',\n ).RubyHighlightRules\n\n // TODO: Grab from code\n let keywords = ['VARIABLE']\n let regex = new RegExp(`(\\\\b${keywords.join('\\\\b|\\\\b')}\\\\b)`)\n let PluginHighlightRules = function () {\n RubyHighlightRules.call(this)\n // add openc3 rules to the ruby rules\n for (let rule in this.$rules) {\n this.$rules[rule].unshift({\n regex: regex,\n token: 'support.function',\n })\n }\n }\n oop.inherits(PluginHighlightRules, RubyHighlightRules)\n\n let MatchingBraceOutdent = ace.require(\n 'ace/mode/matching_brace_outdent',\n ).MatchingBraceOutdent\n let CstyleBehaviour = ace.require(\n 'ace/mode/behaviour/cstyle',\n ).CstyleBehaviour\n let FoldMode = ace.require('ace/mode/folding/ruby').FoldMode\n let Mode = function () {\n this.HighlightRules = PluginHighlightRules\n this.$outdent = new MatchingBraceOutdent()\n this.$behaviour = new CstyleBehaviour()\n this.foldingRules = new FoldMode()\n this.indentKeywords = this.foldingRules.indentKeywords\n }\n let RubyMode = ace.require('ace/mode/ruby').Mode\n oop.inherits(Mode, RubyMode)\n ;(function () {\n this.$id = 'ace/mode/openc3'\n }).call(Mode.prototype)\n return Mode\n },\n submit: function () {\n if (this.existingPluginTxt === null) {\n this.emitSubmit(this.editor.getValue().split('\\n'))\n } else {\n // Existing plugin.txt with all diffs resolved\n if (this.differ.diffs.length === 0) {\n this.emitSubmit(this.differ.getEditors().left.getValue().split('\\n'))\n } else {\n // Existing plugin.txt with unresolved diffs\n this.$dialog\n .confirm(\n `Diffs still detected! Install using 'Existing plugin.txt' (left) and ignore additional changes in the new plugin.txt (right)?`,\n {\n okText: 'Install',\n cancelText: 'Cancel',\n },\n )\n .then((dialog) => {\n this.emitSubmit(\n this.differ.getEditors().left.getValue().split('\\n'),\n )\n })\n .catch((error) => {\n // Cancelled, do nothing\n })\n }\n }\n },\n emitSubmit(lines) {\n let pluginHash = {\n name: this.pluginName,\n variables: toRaw(this.localVariables),\n plugin_txt_lines: lines,\n }\n this.$emit('callback', pluginHash)\n },\n close: function () {\n this.show = !this.show\n },\n showContextMenu: function (event) {\n this.menuX = event.pageX\n this.menuY = event.pageY\n\n let position = this.editor.getCursorPosition()\n let token = this.editor.session.getTokenAt(position.row, position.column)\n if (token) {\n let value = token.value.trim()\n if (value.includes(' ')) {\n this.docsKeyword = value.split(' ')[0]\n } else {\n this.docsKeyword = value\n }\n this.contextMenu = true\n }\n },\n toggleVimMode: function () {\n if (this.editor) {\n AceEditorUtils.toggleVimMode(this.editor)\n // don't worry about this.differ since AceDiff replaces the editor anyway, and thus there's no context menu\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.editor {\n height: 50vh;\n position: relative;\n font-size: 16px;\n}\n\n.notice {\n font-size: 20px;\n margin: 10px;\n}\n.tab {\n background-color: var(--color-background-surface-default);\n}\n.v-textarea :deep(textarea) {\n padding: 5px;\n}\n</style>\n"],"names":["_sfc_main","value","gemRegEx","f","axios","response","gem","link","_hoisted_1","_hoisted_2","_createBlock","_component_v_dialog","$options","_cache","$event","_withCtx","_createVNode","_component_v_card","_component_v_toolbar","_component_v_spacer","_createElementVNode","_component_v_card_text","_component_v_row","_createTextVNode","_component_v_col","_component_v_btn","$data","_component_v_icon","_openBlock","_createElementBlock","_hoisted_3","_hoisted_4","_Fragment","_renderList","data","index","_component_v_list_item","_component_v_list_item_title","_toDisplayString","_component_v_progress_circular","_component_v_divider","_createCommentVNode","openPluginMode","ace.edit","AceEditorUtils","blob","oop","ace.require","JsonHighlightRules","MatchingBraceOutdent","CstyleBehaviour","FoldMode","Mode","RubyMode","event","position","token","$props","_withModifiers","args","_ctx","_component_v_file_input","_component_v_menu","_component_v_list","target","Api","file","itemIndex","_component_v_list_item_subtitle","_component_v_checkbox","_component_v_card_actions","TabsList","TopBar","tab","_component_top_bar","_component_v_tabs","_component_v_tab","_component_router_view","g","t","e","i","r","o","h","a","c","u","d","p","_","D","E","L","m","F","b","w","y","T","C","n","l","s","R","U","N","tt","O","v","I","H","Q","Y","et","x","M","$","A","nt","k","it","ot","K","G","q","gt","J","X","Z","B","P","j","st","rt","lt","V","z","S","W","ht","at","pluginMode","AceDiff","lrow","rrow","RubyHighlightRules","keywords","regex","PluginHighlightRules","rule","dialog","error","lines","pluginHash","toRaw","_component_v_card_title","_component_v_window","_component_v_window_item","name","_component_v_text_field"],"mappings":"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"}
|