chem-generic-ui 0.2.9 → 0.2.10-app
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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.bundle.js","mappings":"CAAA,SAA2CA,EAAMC,GAChD,GAAsB,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,EAAQG,QAAQ,SAAUA,QAAQ,aAAcA,QAAQ,gBACrE,GAAqB,mBAAXC,QAAyBA,OAAOC,IAC9CD,OAAO,CAAC,QAAS,WAAY,UAAWJ,OACpC,CACJ,IACQM,EADJC,EAAuB,iBAAZN,QAAuBD,EAAQG,QAAQ,SAAUA,QAAQ,aAAcA,QAAQ,WAAaH,EAAQD,EAAY,MAAGA,EAAe,SAAGA,EAAQ,GAC5J,IAAQO,KAAKC,GAAuB,iBAAZN,QAAuBA,QAAUF,GAAMO,GAAKC,EAAED,IAPxE,CASGE,MAAM,SAASC,kCAAmCC,kCAAmCC,mCACxF,O,qmBC4HMC,EAAa,CACjBC,KADiB,SACZC,EAAaC,GACVC,EAAcD,EAAQE,UAAUC,QAChCC,EAjDK,SAACC,EAAMC,EAAOC,GAC3B,IACMC,EAAYF,GAASA,EAAMG,KAAOH,EAAMG,IAAIC,eAAkB,GAElEC,IADEH,EAASL,SAAWK,EAASL,QAAQI,KAAOA,KAGjCC,EAASI,aAAeJ,EAASK,cAAgBL,EAASL,UAGzE,OAAQE,GACN,IAAK,WACH,MAAO,CACLS,MAAOR,EAAMS,SAASR,GACtBS,QAAS,WACTC,SAAUX,EAAMY,oBAChBC,OAAQ,GAAF,OAAKb,EAAMS,SAASK,SAApB,aAAiCd,EAAMS,SAASM,cAE1D,IAAK,SACH,MAAO,CACLP,MAAOR,EAAMC,GACbe,QAAO,EACPC,QAAO,IAACZ,EAAmB,EAAI,EAC/BA,QAAAA,EACAK,QAAS,SACTC,SAAUX,EAAMkB,YAChBL,OAAQb,EAAMkB,aAElB,IAAK,UACH,MAAO,CACLV,MAAOR,EAAMC,GACbS,QAAS,UACTS,UAAYnB,EAAMoB,eAAiBpB,EAAMoB,cAAcD,WAAc,GACrEE,SAAUrB,EAAMD,KAChBY,SAAUX,EAAMkB,YAChBL,OAAQ,GAAF,OAAKb,EAAMsB,MAAX,aAAqBtB,EAAMuB,OAErC,QACE,MAAO,CACLf,MAAOR,EAAMC,GACbS,QAASV,EAAMD,KACfY,SAAUX,EAAMkB,YAChBL,OAAQb,EAAMkB,cAzCP,CAiDczB,EAAY+B,IAAIzB,KAAK0B,MAAM,KAAK,GAAI9B,EAAaF,EAAY+B,IAAIvB,IAC1FR,EAAYiC,OAAO5B,IAErB6B,QANiB,SAMTC,EAAcC,GACpB,OAAM,IAUJC,EAAAA,SAAAA,G,klCACJ,WACE,IAlIUN,EAAgBO,EAmIYP,EAApCQ,GADF,EAEIC,KAAKjC,OADPgC,kBAAmBE,EADrB,EACqBA,OAAQP,EAD7B,EAC6BA,QAErBI,GAF8BP,EADtC,EACsCA,KAE9BO,OACFI,EAAaX,EAAIY,UAAgC,aAApBZ,EAAIY,SAAS,GAAoB,SAAWZ,EAAIY,SAAS,GAE5F,OADMC,EAAY,SAAH,OAAYH,EAAS,WAAa,IAAlC,OAAuCP,EAAU,YAAc,IACvEK,EAAkB,yBAAKK,UAAWA,IAxI1BF,EAwIgDA,EAxIrCJ,EAwIgDA,GAxIhEP,EAwIgDA,GAvIpDc,OAASd,EAAIc,MAAM9B,OAEnB+B,GADAC,EAAOhB,EAAIc,MAAMzB,QAAUW,EAAIc,MAAMzB,OAAOY,MAAM,QACnB,GAAfe,EAAKC,QAAeD,EAAK,IAAO,GAChDE,EAAQF,GAAuB,GAAfA,EAAKC,QAAeD,EAAK,IAAO,GAChDG,EACJ,6BACGJ,EACD,6BACCG,GAGCE,EACJ,kBAAC,IAAD,CAAS3C,GAAG,cAAc4C,MAAOF,EAAKG,MAAO,CAAEC,SAAU,OAAQC,UAAW,SAC1E,yBAAKC,IAAKzB,EAAIc,MAAMY,OAAQJ,MAAO,CAAEK,OAAQ,OAAQC,MAAO,QAAUC,IAAI,MAG1E/B,EAAQE,EAAIc,MAAM3B,SAsBI,WAAtBa,EAAIc,MAAM5B,UAAAA,IACRc,EAAIc,MAAMtB,SACZM,EACE,uBAAGgC,KAAK,OAAOC,QAAS,kBAAMxB,EAAOP,EAAIc,MAAM5B,QAASc,EAAIc,MAAM9B,QAAQsC,MAAO,CAAEU,OAAQ,YACzF,0BAAMnB,UAAU,0BAA0Bf,KAKxB,YAAtBE,EAAIc,MAAM5B,UACZY,EACE,uBAAGgC,KAAK,OAAOC,QAAS,kBAAMxB,EAAOP,EAAIc,MAAMjB,SAAUG,EAAIc,MAAM9B,QAAQsC,MAAO,CAAEU,OAAQ,YAC1F,uBAAGnB,UAAWb,EAAIc,MAAMnB,YACvB,IACD,0BAAMkB,UAAU,0BAA0Bf,KAnClCmC,EAuCFjC,EAAIc,MAAMY,OAAQ1B,EAAIc,MAAMzB,OAvCf6C,EAuCuBpC,EAvCbmC,GAAiB,KAATA,EACzC,yBAAKpB,UAAU,SACb,kBAAC,IAAD,CAAgBsB,QAAS,CAAC,SAAUC,UAAU,OAAOC,WAAAA,EAAUC,OAAQ,KAAMC,QAASnB,GACpF,yBAAKK,IAAKQ,EAAMJ,IAAI,MAEtB,0BAAMhB,UAAU,QAAQqB,IAG1B,kBAAC,IAAD,CACEE,UAAU,MACVG,QACE,kBAAC,IAAD,CAAS9D,IAAAA,EAAI+D,EAAAA,MACVzB,EACD,6BACCG,IAIL,yBAAKL,UAAU,QAAQqB,KAuBX,YAAdvB,EACM,0BAAME,UAAU,0CAElB,0BAAMA,UAAS,eAAUF,EAAV,wB,yOAkEnBL,CAA4BmC,EAAAA,WAYlC,OACAC,EAAAA,KAAW,SAAAlE,GAAK,OAAIA,EAAMwB,IAAIY,WAAU7C,GAnBpB,SAAC4E,EAASzE,GAAV,MAAuB,CACzCsC,kBAAmBmC,EAAQ5E,aAC3B2C,OAAQxC,EAAQwC,SAChBP,QAASjC,EAAQiC,aAenB,CACiEG,GAEjEA,EAAoBsC,UAAY,CAC9BpC,kBAAmBqC,IAAAA,KAAAA,WACnBnC,OAAQmC,IAAAA,KAAAA,WACR1C,QAAS0C,IAAAA,KAAAA,a,qBCpKQ,SAAbC,EAActE,GAClB,IAAQsB,EAAgBtB,EAAhBsB,MACR,OAAQiD,EADgBvE,EAATuE,OACU,KAATA,EACd,kBAAC,IAAD,CAAgBX,UAAU,MAAMY,UAAW,IAAMT,QAAS,kBAAC,IAAD,CAAS9D,IAAAA,EAAI+D,EAAAA,MAASO,IAC9E,8BAAOjD,IAEP,8BAAOA,G,0EAGbgD,EAAWF,UAAY,CAAE9C,MAAO+C,IAAAA,OAAAA,WAA6BE,KAAMF,IAAAA,QACnEC,EAAWG,aAAe,CAAEF,KAAM,IAElC,O,uhGCMA,IAAMG,uBAAyB,SAAzBA,uBAA0BlD,KAC9B,IAAMmD,OAAUnD,IAAIoD,OAASpD,IAAIoD,MAAMD,QAAW,GAC9CE,QAAU,EACVC,QAAU,KACVC,WAAavD,IAAIwD,QAEfC,WAAAA,EAAYC,oCAAAA,QAAOP,QAAQ,SAAAQ,GAAC,MAAgB,YAAXA,EAAEpF,MAAiC,mBAAXoF,EAAEpF,QAC3DqF,KAAO,iBAEPC,UAAa7D,IAAIwD,SAAWxD,IAAIwD,QAAQM,MAAMF,MAAS5D,IAAIwD,QAAQM,MAAMF,MAAMG,MAAK,SAACrG,EAAGsG,GAAJ,OAAUA,EAAE/C,OAASvD,EAAEuD,UAAU,GAa3H,GAXA4C,UAAUI,SAAQ,SAACC,GACjB,IAEMC,EAFDC,MAAMF,KAELC,EAAWV,UAAUY,MAAK,SAAAC,GAAC,OAAIA,EAAEC,QAAUL,KAE/CX,gBAAAA,IADSY,GAAwC,MAAZA,EACxBZ,WAAWiB,QAAQN,EAAI,GAEJ,mBAAlBC,EAAS5F,KAA6BgF,WAAWiB,QAAQN,EAAIO,YAAW,EAAAC,0CAAAA,IAAeP,IAAa,IAAMZ,WAAWiB,QAAQN,EAAIO,WAAWN,EAASrD,OAAS,QAI/J,kBAAbd,IAAIzB,KACN,IACE8E,QAAUsB,KAAKpB,YACfD,QAAWc,MAAMf,SAA4C,EAAjCoB,WAAWpB,QAAQuB,QAAQ,IACvD,MAAON,GACHA,aAAaO,cACfvB,QAAUgB,EAAEQ,SAKlB,IAAMC,YAA4B,KAAd/E,IAAIF,MAAe,KAAQ,2DAAC,2CAAD,CAAYA,MAAOE,IAAIF,MAAOiD,KAAM/C,IAAIgF,cACvF,OACE,2DAAC,+CAAD,KACGD,YACD,2DAAC,+CAAD,KACE,2DAAC,+CAAD,CACExG,KAAK,OACLuC,MAAOwC,QACP2B,SAAUjF,IAAIiF,SACdpE,UAAU,WACVqE,SAAS,WACTC,UAAAA,EACAC,YAAapF,IAAIoF,YACjBC,IAAK,IAEP,2DAAC,sDAAD,KACE,2DAAC,gDAAD,CACEjD,UAAU,SACVG,QAAS,2DAAC,gDAAD,CAAS9D,GAAG,4BAAZ,WAET,2DAAC,gDAAD,CAAQ6G,QAAAA,EAAOzE,UAAU,eAAekB,QAAS,kBAAM/B,IAAIiF,SAAS3B,WAClE,gEAAGzC,UAAU,oBAAoB0E,cAAY,YAInD,2DAAC,+CAAD,CACEhH,KAAK,OACLuC,MAAOd,IAAIc,MACXmE,SAAUjF,IAAIiF,SACdE,UAAAA,EACAC,YAAapF,IAAIoF,YACjBC,IAAK,OAOTG,sBAAwB,SAAAxF,GAAG,OAC/B,2DAAC,+CAAD,KACE,2DAAC,gDAAD,CACED,KAAMC,EAAIuE,MACVkB,QAASzF,EAAIc,MACbmE,SAAUjF,EAAIiF,SACdS,SAAU1F,EAAIkF,UAEd,2DAAC,sDAAD,KAAqBlF,EAAIF,UAKzB6F,kBAAoB,SAAC3F,GACzB,IAAMa,EAAYb,EAAI4F,WAAa,yCAA2C,0BAE1EC,EAAY,KAgBVd,IAAAA,IAfF/E,EAAIc,MAAMtB,SACZqG,EACE,kEAAKhF,UAAU,iBACb,2DAAC,gDAAD,CAAgBuB,UAAU,MAAMG,QAAS,2DAAC,gDAAD,CAAS9D,IAAAA,EAAI+D,mCAAAA,MAAb,+BACvC,2DAAC,gDAAD,CAAOzC,KAAI,gBAAWC,EAAIc,MAAM9B,OAAS0G,UAAAA,IAAU1F,EAAIc,MAAMjC,QAAkB4G,QAA8B,IAArBzF,EAAIc,MAAMrB,OAAcwF,SAAU,kBAAMjF,EAAIiF,SAAJ,+BAAkBjF,EAAIc,OAAtB,IAA6BrB,OAAQ,MAAMqG,QAAAA,GAA3K,YAEF,2DAAC,gDAAD,CAAgB1D,UAAU,MAAMG,QAAS,2DAAC,gDAAD,CAAS9D,IAAAA,EAAI+D,mCAAAA,MAAb,2DACvC,2DAAC,gDAAD,CAAOzC,KAAI,gBAAWC,EAAIc,MAAM9B,OAASyG,QAA8B,IAArBzF,EAAIc,MAAMrB,OAAcwF,SAAU,kBAAMjF,EAAIiF,SAAJ,+BAAkBjF,EAAIc,OAAtB,IAA6BrB,OAAQ,MAAMqG,QAAAA,GAArI,UAEF,2DAAC,gDAAD,CAAgB1D,UAAU,MAAMG,QAAS,2DAAC,gDAAD,CAAS9D,IAAAA,EAAI+D,mCAAAA,MAAb,0DACvC,2DAAC,gDAAD,CAAOzC,KAAI,gBAAWC,EAAIc,MAAM9B,OAASyG,QAA8B,IAArBzF,EAAIc,MAAMrB,OAAcwF,SAAU,kBAAMjF,EAAIiF,SAAJ,+BAAkBjF,EAAIc,OAAtB,IAA6BrB,OAAQ,MAAMqG,QAAAA,GAArI,WAK0B,KAAd9F,EAAIF,MAAe,KAAO,2DAAC,2CAAD,CAAYA,MAAOE,EAAIF,MAAOiD,KAAM/C,EAAIgF,eAChFe,EAA2B,iBAAb/F,EAAIzB,KAA0B,mEAAMsC,UAAU,0CAA6C,mEAAMA,UAAU,0BAG/H,OAFMmF,GAAAA,IAAahG,EAAIiG,UAAqB,kEAAKpF,UAAU,UAAUkF,GAAqB,2DAAC,wDAAD,CAAqB/F,IAAKA,EAAKE,OAAQF,EAAIiF,WAGnI,2DAAC,+CAAD,KACGF,EACD,2DAAC,sDAAD,CAAoBzD,MAAO,CAAE4E,cAAe,QAC1C,kEAAKrF,UAAWA,GACbmF,EACAH,EACD,sEACE,2DAAC,gDAAD,CAAgBzD,UAAU,MAAMG,QAAS,2DAAC,gDAAD,CAAS9D,IAAAA,EAAI+D,mCAAAA,MAAb,WACvC,2DAAC,gDAAD,CAAQ3B,UAAU,UAAUsF,QAAQ,SAASC,OAAO,SAASrE,QAAS,kBAAM/B,EAAIiF,SAAS,MAAK,gEAAGpE,UAAU,gBAAgB0E,cAAY,gBAS/Ic,SAAW,kBACf,2DAAC,+CAAD,CAAWxF,UAAU,2BACnB,2DAAC,+CAAD,CAAatC,KAAK,OAAOsC,UAAU,QAAQqE,UAAAA,MAIzCoB,wBAA0B,SAACtG,GAC/B,IAAM+E,EAA4B,KAAd/E,EAAIF,MAAe,KAAO,2DAAC,2CAAD,CAAYA,MAAOE,EAAIF,MAAOiD,KAAM/C,EAAIgF,cAahFuB,EAAOvG,EAAIwG,OAASxG,EAAIwG,MAAMC,YAAczG,EAAIwG,MAAMC,WAAWC,KAAI,SAACpC,GAC1E,MAAe,UAAXA,EAAE/F,MAbK+F,EAa2BA,EAbtB,kEAAKqC,KAAAA,EAAKnE,mCAAAA,KAAQ3B,UAAU,oCAAoCyD,EAAExD,QAavB,mBAAXwD,EAAE/F,MAXtC+F,EAWgFA,EAV5F,mEAAMqC,IAAG,UAAKrC,EAAE7F,GAAP,4BAAqCoC,UAAU,cAAcS,MAAO,CAAEM,MAAO,SACpF,2DAAC,+CAAD,CAAa+E,IAAKrC,EAAE7F,GAAIF,KAAK,SAASwB,KAAMuE,EAAE7F,GAAIqC,MAAOwD,EAAExD,MAAOmE,SAAU,SAAAtB,GAAC,OAAI3D,EAAI4G,YAAYjD,EAAGW,EAAE7F,GAAIuB,EAAIwG,QAAQnB,IAAK,IAC3H,2DAAC,sDAAD,KACE,2DAAC,gDAAD,CAAQC,QAAAA,EAAOvD,QAAS,kBAAM/B,EAAI4G,YAAYtC,EAAGA,EAAE7F,GAAIuB,EAAIwG,QAAQL,QAAQ,cACxEU,0CAAAA,KAAAA,EAAWC,0CAAAA,IAAQxC,EAAEyC,cAAezC,EAAE0C,cAAclH,QAAU,QAN1DwE,EAYmGA,EAZ9F,2DAAC,+CAAD,CAAazD,UAAU,gBAAgB8F,IAAKrC,EAAE7F,GAAIF,KAAM+F,EAAE/F,KAAMwB,KAAMuE,EAAE7F,GAAIqC,MAAOwD,EAAExD,MAAOmE,SAAU,SAAAtB,GAAC,OAAI3D,EAAI4G,YAAYjD,EAAGW,EAAE7F,GAAIuB,EAAIwG,WAD7I,IAAAlC,EAECA,EADDA,KAcb,OACE,2DAAC,+CAAD,KACGS,EACD,2DAAC,+CAAD,CAAYzD,MAAO,CAAE2F,QAAS,SAC3BV,KAMHW,oBAAsB,SAAClH,GAC3B,IAAIa,EAAYb,EAAImH,WAAa,WAAa,WAExCpC,GADNlE,EAAYb,EAAI4F,YAAc5F,EAAImH,WAAa,WAAatG,EAC1B,KAAdb,EAAIF,MAAe,KAAO,2DAAC,2CAAD,CAAYA,MAAOE,EAAIF,MAAOiD,KAAM/C,EAAIgF,eACtF,OACE,2DAAC,+CAAD,KACGD,EACD,2DAAC,+CAAD,CACExG,KAAK,SACLuC,MAAOd,EAAIc,MACXmE,SAAUjF,EAAIiF,SACdpE,UAAWA,EACXqE,SAAUlF,EAAIkF,SACdC,SAAUnF,EAAI4F,WACdR,YAAapF,EAAIoF,YACjBC,IAAK,MAMP+B,oBAAsB,SAACpH,GAC3B,IAAMqH,EAAUrH,EAAIqH,QAAQX,KAAI,SAAAY,GAAE,MAAK,CAAExG,MAAOwG,EAAGX,IAAK5G,KAAMuH,EAAGX,IAAK7G,MAAOwH,EAAGxH,UAC5Ee,EAAYb,EAAImH,WAAa,qCAAuC,qCAGlEpC,GAFNlE,EAAYb,EAAI4F,YAAc5F,EAAImH,WAAa,qCAAuCtG,EACtFA,EAAY,GAAH,OAAMA,EAAN,kBACyB,KAAdb,EAAIF,MAAe,KAAO,2DAAC,2CAAD,CAAYA,MAAOE,EAAIF,MAAOiD,KAAM/C,EAAIgF,eAChFuC,EAAMF,EAAQhD,MAAK,SAAAV,GAAC,OAAIA,EAAE7C,QAAUd,EAAIc,UAAU,KACxD,OACE,2DAAC,+CAAD,KACGiE,EACD,2DAAC,8CAAD,CACEyC,aAAAA,EACAC,mBAAoB,CAAEC,SAAU,YAChC3H,KAAMC,EAAIuE,MACVoD,OAAAA,EACAN,QAASA,EACTvG,MAAOyG,EACPtC,SAAUjF,EAAIiF,SACdpE,UAAWA,EACX6E,SAAU1F,EAAIkF,aAMhB0C,2BAA6B,SAAC5H,GAClC,IAAIa,EAAYb,EAAImH,WAAa,WAAa,WAExCpC,GADNlE,EAAYb,EAAI4F,YAAc5F,EAAImH,WAAa,WAAatG,EAC1B,KAAdb,EAAIF,MAAe,KAAO,2DAAC,2CAAD,CAAYA,MAAOE,EAAIF,MAAOiD,KAAM/C,EAAIgF,eACtF,OACE,2DAAC,+CAAD,KACGD,EACD,2DAAC,+CAAD,KACE,2DAAC,+CAAD,CACExG,KAAK,SACLuC,MAAOd,EAAIc,MACXmE,SAAUjF,EAAIiF,SACdpE,UAAWA,EACXqE,SAAUlF,EAAIkF,SACdC,SAAUnF,EAAI4F,WACdR,YAAapF,EAAIoF,YACjBC,IAAK,IAEP,2DAAC,sDAAD,KACE,2DAAC,gDAAD,CAAQK,SAAU1F,EAAIkF,SAAUI,QAAAA,EAAOvD,QAAS/B,EAAI+B,QAASoE,QAAQ,cAClEU,0CAAAA,KAAAA,EAAWC,0CAAAA,IAAQ9G,EAAI+G,cAAe/G,EAAIgH,cAAclH,QAAU,QAQzE+H,mBAAqB,SAAC7H,GAC1B,IAAM+E,EAA4B,KAAd/E,EAAIF,MAAe,KAAO,2DAAC,2CAAD,CAAYA,MAAOE,EAAIF,MAAOiD,KAAM/C,EAAIgF,cACtF,OACE,2DAAC,+CAAD,KACGD,EACD,2DAAC,kDAAD,CAAa4B,IAAG,eAAU3G,EAAIwG,MAAMjC,OAASvE,IAAKA,MAKlD8H,kBAAoB,SAAC9H,GACzB,IAAIa,EAAYb,EAAImH,WAAa,WAAa,WAExCpC,GADNlE,EAAYb,EAAI4F,YAAc5F,EAAImH,WAAa,WAAatG,EAC1B,KAAdb,EAAIF,MAAe,KAAO,2DAAC,2CAAD,CAAYA,MAAOE,EAAIF,MAAOiD,KAAM/C,EAAIgF,eACtF,OACE,2DAAC,+CAAD,CAAWnE,UAAU,2BAClBkE,EACD,2DAAC,+CAAD,CACExG,KAAK,OACLuC,MAAOd,EAAIc,MACXmE,SAAUjF,EAAIiF,SACdpE,UAAWA,EACXqE,SAAUlF,EAAIkF,SACdC,SAAUnF,EAAI4F,WACdR,YAAapF,EAAIoF,gBAMnB2C,sBAAwB,SAAC/H,GAC7B,IAAIa,EAAYb,EAAImH,WAAa,WAAa,WAExCpC,GADNlE,EAAYb,EAAI4F,YAAc5F,EAAImH,WAAa,WAAatG,EAC1B,KAAdb,EAAIF,MAAe,KAAO,2DAAC,2CAAD,CAAYA,MAAOE,EAAIF,MAAOiD,KAAM/C,EAAIgF,eACtF,OACE,2DAAC,+CAAD,CAAWnE,UAAU,2BAClBkE,EACD,2DAAC,+CAAD,CACEiD,eAAe,WACflH,MAAOd,EAAIc,MACXmE,SAAUjF,EAAIiF,SACdpE,UAAWA,EACXqE,SAAUlF,EAAIkF,SACdC,SAAUnF,EAAI4F,WACdR,YAAapF,EAAIoF,gBAMnB6C,eAAiB,SAACjI,GACtB,IAAQkI,EAAWlI,EAAXkI,OACFnD,EAA4B,KAAd/E,EAAIF,MAAe,KAAO,2DAAC,2CAAD,CAAYA,MAAOE,EAAIF,MAAOiD,KAAM/C,EAAIgF,cAChFuB,EAAO,GAmBb,OAlBCvG,EAAIwG,OAASxG,EAAIwG,MAAM2B,iBAAiBzB,KAAI,SAACpC,GAC5C,IAGU8D,EAHFhF,EAA4BkB,EAA5BlB,MAAOmB,EAAqBD,EAArBC,MAAO8D,EAAc/D,EAAd+D,UAetB,OAdI9D,GAAmB,KAAVA,IACPA,EAAM+D,SAAS,SACXF,EAAM7D,EAAMtE,MAAM,UACE,IAAfmI,EAAInH,UACPsH,IAAQL,EAAO9E,IAAU,IAAID,QAAU,IAAIkB,MAAK,SAAAmE,GAAC,OAAIA,EAAEjE,QAAU6D,EAAI,IAAiB,UAAXI,EAAEjK,UAC1EgK,EAAIE,YAAe,IAAIxE,SAAQ,SAACyE,GACnCA,GAAOA,EAAIN,EAAI,KAAuB,KAAhBM,EAAIN,EAAI,MAAc7B,EAAKoC,KAAKD,EAAIN,EAAI,KAAM7B,EAAKoC,KAAKN,QAIhFO,IAAOV,EAAO9E,IAAU,IAAID,QAAU,IAAIkB,MAAK,SAAAmE,GAAC,OAAIA,EAAEjE,QAAUA,OAC5DqE,EAAG9H,OAAsB,KAAb8H,EAAG9H,QAAgByF,EAAKoC,KAAKC,EAAG9H,OAAQyF,EAAKoC,KAAKN,MAAAA,KAM5E,2DAAC,+CAAD,CAAWxH,UAAU,2BAClBkE,EACD,2DAAC,+CAAD,CACExG,KAAK,OACLuC,MAAOyF,EAAKsC,KAAK,IACjBhI,UAAU,WACVqE,UAAAA,EACAC,UAAAA,MAMF2D,oBAAsB,SAAC9I,EAAK+I,GAChC,IAAMC,EACJ,2DAAC,gDAAD,CAAQ5C,OAAO,SAAS3H,GAAIsK,EAAWE,IAAKpI,UAAU,eAAekB,QAAS,kBAAM/B,EAAIiF,SAAJ,+BAAkBjF,EAAIc,OAAtB,IAA6BoI,OAAQ,IAAKD,IAAKF,EAAWE,SAC5I,gEAAGpI,UAAU,cAAc0E,cAAY,UAGrC4D,EAAWJ,EAAWK,IACvB,gEAAGrH,QAAS,oBAAMsH,0CAAAA,IAAa,CAAEC,SAAU,uBAAF,OAAyBP,EAAWK,KAAOrJ,KAAMgJ,EAAWI,YAAa7H,MAAO,CAAEU,OAAQ,YAAc+G,EAAWI,UAAiBJ,EAAWI,SAC7L,OACE,kEAAKtI,UAAU,gBACb,sEACE,sEAAMmI,GACN,kEAAKnI,UAAU,oBAAoBsI,GACnC,kEAAKtI,UAAU,oBACb,2DAAC,+CAAD,CAAWuF,OAAO,SAChB,2DAAC,+CAAD,CACE7H,KAAK,OACLuC,MAAOiI,EAAWjJ,OAAS,GAC3BmF,SAAU,SAAAX,GAAC,OAAItE,EAAIiF,SAAJ,+BACVjF,EAAIc,OADM,IACCoI,OAAQ,IAAKD,IAAKF,EAAWE,IAAK1B,IAAKjD,aAU/DiF,oBAAsB,SAACvJ,GAC3B,IAAM+E,EAA4B,KAAd/E,EAAIF,MAAe,KAAO,2DAAC,2CAAD,CAAYA,MAAOE,EAAIF,MAAOiD,KAAM/C,EAAIgF,cAChFwE,EAAexJ,EAAIc,OAASd,EAAIc,MAAM2I,OAAU,GACtD,OAAIzJ,EAAI0J,SAAkB,6FAGxB,2DAAC,+CAAD,CAAW7I,UAAU,2BAClBkE,EACD,2DAAC,sDAAD,CAAoBzD,MAAO,CAAE4E,cAAe,QAC1C,2DAAC,sDAAD,CACEzH,GAAG,WACHyB,OAAQ,SAAAoE,GAAC,OAAItE,EAAIiF,SAAJ,+BACRjF,EAAIc,OADI,IACGoI,OAAQ,IAAK3B,IAAKjD,MAElChD,MAAO,CAAEK,OAAQ,GAAIC,MAAO,OAAQ+H,OAAQ,yBAE5C,kEAAKrI,MAAO,CAAEsI,UAAW,SAAUC,WAAY,EAAGC,MAAO,SAAzD,oCAKJ,2DAAC,gDAAD,KACGN,EAAY9C,KAAI,SAAAqC,GAAU,OACzB,2DAAC,gDAAD,CAAepC,IAAKoC,EAAWtK,GAAIoC,UAAU,iBAC1CiI,oBAAoB9I,EAAK+I,UAQhCgB,UAAY,SAAC/J,GACjB,IAAMqH,GAAWrH,EAAIwG,MAAMwD,YAAc,IAAItD,KAAI,SAACY,GAChD,IAAMxH,EAAQwH,EAAGxH,MAAMgE,MAAM,cAC7B,MAAQ,CAAEhD,MAAOwG,EAAGX,IAAK5G,KAAMuH,EAAGX,IAAK7G,MAAoB,KAAbA,EAAM,GAAYA,EAAM,GAAKA,EAAM,OAE/Ee,EAAYb,EAAImH,WAAa,qCAAuC,qCAGlEpC,GAFNlE,EAAYb,EAAI4F,YAAc5F,EAAImH,WAAa,qCAAuCtG,EACtFA,EAAY,GAAH,OAAMA,EAAN,kBACyB,KAAdb,EAAIF,MAAe,KAAO,2DAAC,2CAAD,CAAYA,MAAOE,EAAIF,MAAOiD,KAAM/C,EAAIgF,eAChFuC,EAAMF,EAAQhD,MAAK,SAAAV,GAAC,OAAIA,EAAE7C,QAAUd,EAAIc,UAAU,KACxD,OACE,2DAAC,+CAAD,KACGiE,EACD,2DAAC,8CAAD,CACE0C,mBAAoB,CAAEC,SAAU,YAChC3H,KAAMC,EAAIuE,MACVoD,OAAAA,EACAN,QAASA,EACTvG,MAAOyG,EACPtC,SAAUjF,EAAIiF,SACdpE,UAAWA,EACX6E,SAAU1F,EAAIkF,c,6OCraD+E,EAAAA,WACnB,WAAYC,G,KAAM,mB,yDAChBC,OAAOC,OAAO3J,KAAMyJ,GACfzJ,KAAKhC,KAAMgC,KAAKhC,GAAKwL,EAAgBI,W,4CAG5C,WAAmB,OAAM,EAAC7H,EAAAA,U,4DANPyH,I,qBCKH,SAAZK,EAAa,GAAD,IAAGC,EAAH,EAAGA,OAAH,OAChB,kBAACC,EAAA,EAAD,CAAgBxH,UAAW,IAAMZ,UAAU,MAAMG,QAAS,kBAACkI,EAAA,EAAD,CAAShM,IAAAA,EAAI+D,EAAAA,MAAb,cACxD,kBAACkI,EAAA,EAAD,CAAQ3I,QAAS,kBAAMwI,KAAUnE,OAAO,SAASD,QAAQ,WAAU,uBAAGtF,UAAU,aAAa0E,cAAY,WAM3F,SAAZoF,EAAa,GAAqB,IAAnBC,EAAmB,EAAnBA,OACXC,EAD8B,EAAXC,KACnBD,KACR,OACE,kBAACL,EAAA,EAAD,CAAgBxH,UAAW,IAAMZ,UAAU,MAAMG,QAAS,kBAACkI,EAAA,EAAD,CAAShM,IAAAA,EAAI+D,EAAAA,MAAb,WACxD,kBAACkI,EAAA,EAAD,CAAQ3I,QAAS,kBAAM6I,EAAOC,IAAOzE,OAAO,UAAS,uBAAGvF,UAAU,cAAc0E,cAAY,WAO/E,SAAbwF,IAAa,OAAO,yBAAKlK,UAAU,iBAAgB,0BAAMA,UAAU,kBAEvD,SAAZmK,EAAa,GAAD,IAChBC,EADgB,EAChBA,QAAS1G,EADO,EACPA,MAAOhG,EADA,EACAA,KADA,OACMuM,EADN,EACMA,KAEtB,kBAAC,EAAD,CAASvG,MAAOA,EAAOhG,KAAMA,EAAM2M,SAAUJ,EAAKD,KAAMM,WAAYF,I,oKCOtE,KAAeG,EAAAA,KAAAA,EACbC,EAAAA,KAAW,SAAAC,GAAC,OAAIA,EAAE/M,OAnCA,CAClBgN,UADkB,SACR/M,GAER,MAAO,CAAEgN,IADmBhN,EAApB+F,MACakH,IADOjN,EAAb0M,SACoBzM,OAad,SAACkE,EAASzE,GAAV,MAAuB,CAC9CwN,kBAAmB/I,EAAQgJ,aAC3BC,WAAY1N,EAAQ0N,kBAAAA,EAkBpBlJ,EAAAA,KAAW,SAAA4I,GAAC,OAAIA,EAAE/M,OA7BA,CAClBP,KADkB,SACbQ,EAAON,GACV,IAAQqG,EAAgC/F,EAAhC+F,MAAO2G,EAAyB1M,EAAzB0M,SAAUC,EAAe3M,EAAf2M,WACnBU,EAAM,CAAEL,IAAKjH,EAAOkH,IAAKP,EAASzM,IAClCgD,EAAMvD,EAAQE,UAChByN,EAAIL,MAAQ/J,EAAI+J,KAAOK,EAAIJ,MAAQhK,EAAIgK,KAAKN,EAAW1J,EAAIgK,IAAKI,EAAIJ,QASnD,SAAC9I,EAASzE,GAAV,MAAuB,CAC9CsC,kBAAmBmC,EAAQ5E,aAC3B2C,OAAQxC,EAAQwC,SAChBP,QAASjC,EAAQiC,cAUnB,EAPgB,SAAC,GAEX,IADJuL,EACI,EADJA,kBAAmBlL,EACf,EADeA,kBAAmBoL,EAClC,EADkCA,WAAYlL,EAC9C,EAD8CA,OAGlD,OAH0DP,EACtD,EADsDA,QAEpDU,EAAY,mBAAH,OAAsBH,EAAS,WAAa,IAA5C,OAAiDP,EAAU,YAAc,IAAzE,OAA8EyL,EAAa,eAAiB,KACrH,EAACR,EAAAA,IAAQM,EAAmBlL,EAA5B,CAA+C,yBAAKK,UAAWA,GAAW,yBAAKA,UAAU,WAAU,0BAAMA,UAAU,iC,GDtB3HyJ,EAAU1H,UAAY,CAAE2H,OAAQ1H,IAAAA,KAAAA,YAWhC8H,EAAU/H,UAAY,CAAEgI,OAAQ/H,IAAAA,KAAAA,WAA2BiI,KAAMjI,IAAAA,OAAAA,YAUjEmI,EAAUpI,UAAY,CACpBqI,QAASpI,IAAAA,KAAAA,WACT0B,MAAO1B,IAAAA,OAAAA,WACPtE,KAAMsE,IAAAA,OAAAA,WACNiI,KAAMjI,IAAAA,OAAAA,Y,qrBEhCmB,SAArBiJ,EAAqBtN,GACzB,IAAQuN,EAA2BvN,EAA3BuN,OAAQ9G,EAAmBzG,EAAnByG,SAAU6F,EAAStM,EAATsM,KAC1B,MAAoB,mBAAhBiB,EAAOxN,KAAkC,MACrCsM,EAASC,EAATD,KAEN,kBAACH,EAAA,EAAD,CAAQ/D,IAAG,cAASkE,EAAKpM,IAAM6G,QAAAA,EAAOvD,QAAS,kBAAMkD,EAAS8G,EAAQjB,IAAO3E,QAAQ,cAClFU,EAAAA,KAAAA,EAAWC,EAAAA,IAAQiF,EAAOhF,cAAe8D,EAAKkB,EAAOtN,IAAIuI,cAAclH,QAAU,KCRxF,I,UDmBA,GANAgM,EAAmBlJ,UAAY,CAC7BmJ,OAAQlJ,IAAAA,OAAAA,WACRoC,SAAUpC,IAAAA,KAAAA,WACViI,KAAMjI,IAAAA,OAAAA,YAGR,G,sdEba,SAAPmJ,EAAQhM,EAAKW,GAA8C,IAKvDS,EAKcc,EAVMhC,EAAmC,uDAA1B,aAAU+L,EAAgB,uDAAP,GAExD,OAAIjM,EAAIc,OAASd,EAAIc,MAAM9B,OACnBc,EAAQE,EAAIc,MAAM3B,SAClB+M,EAAOlM,EAAIc,MAAMY,QAAU1B,EAAIc,MAAMY,OAAOyK,SAAS,QAAWnM,EAAIc,MAAMY,OAHpE,4BAINN,EACJ,kBAACgL,EAAA,EAAD,CAAS3N,GAAG,cAAc4C,MAAOvB,EAAOwB,MAAO,CAAEC,SAAU,OAAQC,UAAW,SAC5E,yBAAKC,IAAKyK,EAAK5K,MAAO,CAAEK,OAAQ,OAAQC,MAAO,QAAUC,IAAI,MAG7CK,EAYHpC,GAZHmC,EAYFiK,IAZmC,KAATjK,EACpC,yBAAKpB,UAAU,SACb,kBAAC2J,EAAA,EAAD,CAAgBxH,UAAW,IAAMb,QAAS,CAAC,SAAUC,UAAU,MAAMC,WAAAA,EAAUC,OAAQ,KAAMC,QAASnB,GACpG,yBAAKP,UAAU,mBAAmBY,IAAKQ,EAAMJ,IAAI,MAEnD,yBAAKhB,UAAU,WACb,kBAAC2J,EAAA,EAAD,CAAgBxH,UAAW,IAAMZ,UAAU,MAAMG,QAAS,kBAACkI,EAAA,EAAD,CAAShM,IAAAA,EAAI+D,EAAAA,MAAb,yBACxD,kBAACkI,EAAA,EAAD,CAAQ7J,UAAU,UAAUuF,OAAO,SAASrE,QAAS,kBAAM7B,EAAO,GAAI+L,KAAS,uBAAGpL,UAAU,gBAAgB0E,cAAY,aAI3H,yBAAK1E,UAAU,OAAOS,MAAO,CAAEM,MAAO,QAAUM,IAG/C,0BAAMrB,UAAS,eAAUF,EAAV,cAAiCW,MAAO,CAAEM,MAAO,SC5BrD,SAAfyK,EAAe7N,GACnB,IACEwB,EACExB,EADFwB,IAAK+L,EACHvN,EADGuN,OAAQ9G,EACXzG,EADWyG,SAEf,OAFyB6F,EACrBtM,EADqBsM,KAEpB,CAAC,gBAAiB,eAAexC,SAASyD,EAAOxN,OAC9CsM,EAASC,EAATD,KACR7K,EAAIY,SAAW,CAACmL,EAAOxN,KAAK0B,MAAM,KAAK,IACvCD,EAAI+L,OAASA,EACb/L,EAAI6K,KAAOA,EACLyB,GAAAA,EAAOC,EAAAA,WAAUvM,GAErB,yBAAKa,UAAU,mDACb,kBAAC,EAAD,CAA0Bb,IAAKsM,EAAMpM,OAAQ+E,MARmB,KCL7C,SAAnBuH,EAAmBhO,GACvB,IAAQiO,EAAuBjO,EAAvBiO,KAAMV,EAAiBvN,EAAjBuN,OAGd,OAFIW,IAD2BlO,EAATsM,KACID,KAAKkB,EAAOtN,KAAO,IAAIqC,OAAS,IAAvC,aAAiD2L,EAAK3L,SAAY,GACrF4L,EAA+B,qBAAfD,EAAK3L,OAAiD,KAAjB4L,EAAuBA,EAAa9H,QAAQ,GAAK8H,EAEpG,kBAAClC,EAAA,EAAD,CAAgBpI,UAAU,MAAMG,QAAS,kBAACkI,EAAA,EAAD,CAAShM,GAAG,kBAAZ,sBACvC,yBAAKqD,KAAK,SAAS6K,sBAAqBD,EAAc7L,UAAU,eAAeS,MAAO,CAAEsL,UAAW,YAAa5K,OAAQ,SACrH0K,ICLgB,SAAnBG,EAAmBrO,GACvB,IAAQuN,EAAyBvN,EAAzBuN,OAAQjB,EAAiBtM,EAAjBsM,KAAMvK,EAAW/B,EAAX+B,OAChBuM,IAAQhC,EAAKD,KAAKkB,EAAOtN,KAAO,IAAIqC,OAAS,IAAI9B,OAAS,GAEhE,OADM+N,IAASjC,EAAKD,KAAKkB,EAAOtN,KAAO,IAAIqC,OAAS,IAAIkM,gBAAkB,IAC9D,KAARF,EAAmB,8BAErB,uBAAGhL,KAAK,OAAOC,QAAS,kBAAMxB,EAAO,SAAUuM,IAAMxL,MAAO,CAAEU,OAAQ,YACpE,0BAAMnB,UAAU,0BAA0BkM,ICR9B,SAAZE,EAAYzO,GAChB,IAAQuN,EAA2BvN,EAA3BuN,OAAQjB,EAAmBtM,EAAnBsM,KAAM7F,EAAazG,EAAbyG,SAGtB,KAAKiI,GADWrC,EADCC,EAATD,MACakB,EAAOtN,KAAOoM,EAAKkB,EAAOtN,IAAIqC,OAAU,IACjDtB,OAAQ,OAAO,8BAC3B,IAAM2N,GAAAA,EAAQ3K,EAAAA,KACd,OACE,yBAAK3B,UAAU,uBACb,kBAAC2J,EAAA,EAAD,CAAgBxH,UAAW,IAAMZ,UAAU,QAAQG,QAAS,kBAACkI,EAAA,EAAD,CAAShM,IAAAA,EAAI+D,EAAAA,MAAb,+BAC1D,kBAAC4K,EAAA,EAAD,CACErN,KAAI,gBAAWoN,GACfzH,SAAUwH,EAAOrO,QACjB4G,QAA2B,IAAlByH,EAAOzN,OAChBwF,SAAU,kBAAMA,EAAS,CAAE6F,KAAAA,EAAMuC,SAAUtB,EAAQuB,MAAO,MAJ5D,YASF,kBAAC9C,EAAA,EAAD,CAAgBxH,UAAW,IAAMZ,UAAU,QAAQG,QAAS,kBAACkI,EAAA,EAAD,CAAShM,IAAAA,EAAI+D,EAAAA,MAAb,2DAC1D,kBAAC4K,EAAA,EAAD,CACErN,KAAI,gBAAWoN,GACf1H,QAA2B,IAAlByH,EAAOzN,OAChBwF,SAAU,kBAAMA,EAAS,CAAE6F,KAAAA,EAAMuC,SAAUtB,EAAQuB,MAAO,MAH5D,UAQF,kBAAC9C,EAAA,EAAD,CAAgBxH,UAAW,IAAMZ,UAAU,QAAQG,QAAS,kBAACkI,EAAA,EAAD,CAAShM,IAAAA,EAAI+D,EAAAA,MAAb,0DAC1D,kBAAC4K,EAAA,EAAD,CACErN,KAAI,gBAAWoN,GACf1H,QAA2B,IAAlByH,EAAOzN,OAChBwF,SAAU,kBAAMA,EAAS,CAAE6F,KAAAA,EAAMuC,SAAUtB,EAAQuB,MAAO,MAH5D,UC7Be,SAAjBC,EAAiB/O,GACrB,IACEuN,EACEvN,EADFuN,OAAQ9G,EACNzG,EADMyG,SAAUuI,EAChBhP,EADgBgP,SAAU1C,EAC1BtM,EAD0BsM,KAE9B,GAAoB,WAAhBiB,EAAOxN,MAAqBiP,EAASvM,OAAS,EAAG,OAAO,KAC5D,IAAQ4J,EAASC,EAATD,KAER,OADMtD,EAAMiG,EAASnJ,MAAK,SAAAV,GAAC,OAAIA,EAAE7C,QAAU+J,EAAKkB,EAAOtN,IAAIqC,UAAU,KAEnE,kBAAC,KAAD,CACE0G,aAAAA,EACAC,mBAAoB,CAAEC,SAAU,YAChCC,OAAAA,EACAN,QAASmG,EACT1M,MAAOyG,EACPtC,SAAU,SAAAX,GAAC,OAAIW,EAASX,EAAGyH,EAAQjB,IACnCjK,UAAU,gBACVS,MAAO,CAAEsI,UAAW,UL0FpB6D,EAAAA,SAAAA,G,klCACJ,WACE,IACEjN,GADF,EAEIC,KAAKjC,OADPgC,kBAAmBE,EADrB,EACqBA,OAAQP,EAD7B,EAC6BA,QAASH,EADtC,EACsCA,IAAKE,EAD3C,EAC2CA,OAG3C,OADMW,EAAY,SAAH,OAAYH,EAAS,WAAa,IAAlC,OAAuCP,EAAU,YAAc,IACvEK,EAAkB,yBAAKK,UAAWA,EAAWS,MAAO,CAAE2F,QAAS,cAAeyG,eAAgB,YAhFtF/M,EAgF6G,SAhFlGT,EAgF4GA,EA/EvH,WADLF,EAgF6GA,GA/EjHzB,MACAwN,EAAS/L,EAAI+L,QAAU,GAGtBC,EAFD2B,EAAS3N,EAAI6K,KAAKkB,EAAOtN,IAEXkC,EAAWT,EAAQ,CAAE6L,OAAAA,EAAQlB,KADhC7K,EAAT6K,QAGHmB,EAAKhM,EAAKW,W,yOAmEb8M,CAAiChL,EAAAA,WArGvC,IA+GA,KACAC,EAAAA,KAAW,SAAAlE,GAAK,OAAIA,EAAMwB,IAAIY,WA7BX,CACjB5C,KADiB,SACZC,EAAaC,GACVC,EAAcD,EAAQE,UAAUC,QAEhCC,EAlDK,SAACC,EAAMC,EAAOC,GAC3B,IACMC,EAAYF,GAASA,EAAMG,KAAOH,EAAMG,IAAIC,eAAkB,GAElEC,IADEH,EAASL,SAAWK,EAASL,QAAQI,KAAOA,KAGjCC,EAASI,aAAeJ,EAASK,cAAgBL,EAASL,UAGzE,OAAQE,GACN,IAAK,WACH,MAAO,CACLS,MAAOR,EAAMS,SAASR,GACtBS,QAAS,WACTC,SAAUX,EAAMS,SAASM,aAAef,EAAMoP,kBAAoBpP,EAAMY,oBACxEyO,YAAarP,EAAMS,SAASK,SAC5BwO,UAAWtP,EAAMS,SAASM,YAC1BwO,SAAUvP,EAAMS,SAAS+O,WACzBC,oBAAqBzP,EAAMS,SAASiP,iBACpCxM,OAAQ,qBAAF,OAAuBlD,EAAMS,SAASkP,oBAEhD,IAAK,SACH,MAAO,CACLnP,MAAOR,EAAMC,GACbe,QAAO,EACPC,OAAQ,EACRZ,QAAAA,EACAK,QAAS,SACTC,SAAUX,EAAMkB,YAChBsN,eAAgBxO,EAAMkB,YACtB0O,QAAS5P,EAAMuB,KACfsO,kBAAmB7P,EAAM8P,eACzBL,oBAAqBzP,EAAM+P,0BAC3B7M,OAAQlD,EAAMgQ,gBAAN,0BAA2ChQ,EAAMgQ,iBAAjD,4BAA0FhQ,EAAMS,SAASkP,oBAErH,QACE,MAAO,CACLnP,MAAOR,EAAMC,GACbe,QAAO,EACPC,OAAQ,EACRP,QAASV,EAAMD,KACfY,SAAUX,EAAMkB,cAzCT,CAiDEzB,EAAY+B,IAAI+L,OAAOxN,KAAK0B,MAAM,KAAK,GACrB9B,EAAaF,EAAY+B,IAAIvB,IAC5DR,EAAYiC,OAAO5B,EAAWL,EAAY+B,MAE5CG,QAPiB,SAOTlC,EAAaC,GACnB,OAAM,KAIU,SAACyE,EAASzE,GAAV,MAAuB,CACzCsC,kBAAmBmC,EAAQ5E,aAC3B2C,OAAQxC,EAAQwC,SAChBP,QAASjC,EAAQiC,aAanB,CACiEsN,GC5FjE,GD8FAA,EAAyB7K,UAAY,CACnCpC,kBAAmBqC,IAAAA,KAAAA,WACnBnC,OAAQmC,IAAAA,KAAAA,WACR1C,QAAS0C,IAAAA,KAAAA,WACT7C,IAAK6C,IAAAA,OAAAA,WACL3C,OAAQ2C,IAAAA,MAGV4K,EAAyBxK,aAAe,CAAE/C,OAAQ,cC7GlDmM,EAAazJ,UAAY,CACvBmJ,OAAQlJ,IAAAA,OAAAA,WACR7C,IAAK6C,IAAAA,OAAAA,WACLoC,SAAUpC,IAAAA,KAAAA,WACViI,KAAMjI,IAAAA,OAAAA,YAGR,GCNA,GANA2J,EAAiB5J,UAAY,CAC3B6J,KAAM5J,IAAAA,OAAAA,WACNkJ,OAAQlJ,IAAAA,OAAAA,WACRiI,KAAMjI,IAAAA,OAAAA,YAGR,GCEA,GAPAgK,EAAiBjK,UAAY,CAC3BmJ,OAAQlJ,IAAAA,OAAAA,WACRiI,KAAMjI,IAAAA,OAAAA,WACNtC,OAAQsC,IAAAA,MAGVgK,EAAiB5J,aAAe,CAAE1C,OAAQ,cAC1C,G,UC0BA,GANA0M,EAAUrK,UAAY,CACpBmJ,OAAQlJ,IAAAA,OAAAA,WACRiI,KAAMjI,IAAAA,OAAAA,WACNoC,SAAUpC,IAAAA,KAAAA,YAGZ,G,UCnBA,GAPA0K,EAAe3K,UAAY,CACzBmJ,OAAQlJ,IAAAA,OAAAA,WACRoC,SAAUpC,IAAAA,KAAAA,WACViI,KAAMjI,IAAAA,OAAAA,WACN2K,SAAU3K,IAAAA,QAAkBA,IAAAA,QAAkB+C,YAGhD,G,qvCCXqB6I,EAAAA,SAAAA,G,w0BACnB,WAAYjQ,G,GAAO,yBACjB,cAAMA,IACDoM,OAAS,EAAKA,OAAO8D,KAAZ,MACd,EAAKnE,OAAS,EAAKA,OAAOmE,KAAZ,MACd,EAAKzD,QAAU,EAAKA,QAAQyD,KAAb,MACf,EAAKC,aAAe,EAAKA,aAAaD,KAAlB,MACpB,EAAKE,cAAgB,EAAKA,cAAcF,KAAnB,MACrB,EAAKG,YAAc,EAAKA,YAAYH,KAAjB,MACnB,EAAKxO,OAAS,EAAKA,OAAOwO,KAAZ,MACd,EAAKI,MAAQ,EAAKA,MAAMJ,KAAX,MACb,EAAKK,WAAa,EAAKA,WAAWL,KAAhB,MAVD,E,kGAanB,SAAazC,GACX,IAAQ3H,EAA2B2H,EAA3B3H,EAAG0K,EAAwB/C,EAAxB+C,UAAW9D,EAAae,EAAbf,SAGtB,GAFM+D,EAAW3K,EAAE4K,OAAOpO,OACpBqO,EAAWjE,EAAS8D,EAAUzK,OAAOzD,SAC1BmO,EAAjB,CAIA,GAHuB,SAAnBD,EAAUzQ,OACZ2M,EAAS8D,EAAUzK,OAAS0K,GAEP,mBAAnBD,EAAUzQ,KAA2B,CACvC,GAAI6F,MAAM6K,GAAW,OACrB/D,EAAS8D,EAAUzK,OAAOzD,MAAQsO,GAAAA,CAAQH,GAAUnO,QAIhDuO,GADAC,GADEtP,EAAQS,KAAKjC,MAAbwB,KACYwG,MAAMiC,YAAc,IACpB8G,WAAU,SAAAjE,GAAC,OAAIA,EAAE7M,KAAOyM,EAASzM,MACrD6Q,EAAQE,OAAOH,EAAK,EAAGnE,GACvBlL,EAAIwG,MAAMiC,WAAa6G,EACvBtP,EAAI4G,YAAY,EAAG,EAAG5G,EAAIwG,OAAM,M,2BAGlC,SAAclC,EAAG+I,EAAUvC,GACzB,IAAQD,EAASC,EAATD,KAEFyE,GADEtP,EAAQS,KAAKjC,MAAbwB,KACYwG,MAAMiC,YAAc,GAClCkF,EAAS2B,EAAQjL,MAAK,SAAAiH,GAAC,OAAIA,EAAE7M,KAAOoM,EAAKpM,MAC/CkP,EAAON,EAAS5O,IAAM,CAAEqC,MAAOwD,EAAIA,EAAExD,MAAQ,IACvCuO,EAAMC,EAAQC,WAAU,SAAAjE,GAAC,OAAIA,EAAE7M,KAAOoM,EAAKpM,MACjD6Q,EAAQE,OAAOH,EAAK,EAAG1B,GACvB3N,EAAIwG,MAAMiC,WAAa6G,EACvBtP,EAAI4G,YAAYyG,EAAUA,EAAS5O,GAAIuB,EAAIwG,OAAM,K,yBAGnD,SAAY6G,EAAUvC,GACpB,IAAQD,EAASC,EAATD,KAEFyE,GADEtP,EAAQS,KAAKjC,MAAbwB,KACYwG,MAAMiC,YAAc,GAClCkF,EAAS2B,EAAQjL,MAAK,SAAAiH,GAAC,OAAIA,EAAE7M,KAAOoM,EAAKpM,MAE3CgR,GADEC,GAAAA,EAAQC,EAAAA,IAAStC,EAAStG,gBACfwI,WAAU,SAAAK,GAAC,OAAIA,EAAEjJ,MAAQgH,EAAON,EAAS5O,IAAIuI,gBAExD6I,GADFJ,EAAOC,EAAMzO,OAAS,EAAGwO,GAAQ,EAAQA,EAAO,EAC1B,EAAfC,EAAMzO,OAAayO,EAAMD,GAAM9I,IAAM,IAC1CmJ,GAAAA,EAAIC,EAAAA,IAAe1C,EAAStG,cAAe8I,EAAIlC,EAAON,EAAS5O,IAAIqC,OACzE6M,EAAON,EAAS5O,IAAM,CAAEqC,MAAOgP,EAAG9I,aAAc6I,GAC1CR,EAAMC,EAAQC,WAAU,SAAAjE,GAAC,OAAIA,EAAE7M,KAAOoM,EAAKpM,MACjD6Q,EAAQE,OAAOH,EAAK,EAAG1B,GACvB3N,EAAIwG,MAAMiC,WAAa6G,EACvBtP,EAAI4G,YAAYyG,EAAUA,EAAS5O,GAAIuB,EAAIwG,OAAM,K,oBAGnD,SAAOvI,EAAa+R,GAClB,IAAQhQ,EAAQS,KAAKjC,MAAbwB,IACFqN,EAAW2C,EAAUjE,OACrBuD,EAAUtP,EAAIwG,MAAMiC,YAAc,GAClCkF,EAAS2B,EAAQjL,MAAK,SAAAiH,GAAC,OAAIA,EAAE7M,KAAOuR,EAAUnF,KAAKpM,MACzDkP,EAAON,EAAS5O,IAAM,CAAEqC,MAAO7C,GACzBoR,EAAMC,EAAQC,WAAU,SAAAjE,GAAC,OAAIA,EAAE7M,KAAOuR,EAAUnF,KAAKpM,MAC3D6Q,EAAQE,OAAOH,EAAK,EAAG1B,GACvB3N,EAAIwG,MAAMiC,WAAa6G,EACvBtP,EAAI4G,YAAYyG,EAAUA,EAAS5O,GAAIuB,EAAIwG,OAAM,K,mBAGnD,SAAMyF,GACJ,IAAQnB,EAA0BmB,EAA1BnB,KAAMuC,EAAoBpB,EAApBoB,SACNrN,GADgBsN,EAAUrB,EAAVqB,MACR7M,KAAKjC,MAAbwB,KACFsP,EAAUtP,EAAIwG,MAAMiC,YAAc,GAClCkF,EAAS2B,EAAQjL,MAAK,SAAAiH,GAAC,OAAIA,EAAE7M,KAAOqM,EAAKD,KAAKpM,MACpDqM,EAAKD,KAAKwC,EAAS5O,IAAIqC,MAAMrB,OAAS6N,EACtCK,EAAON,EAAS5O,IAAM,CAAEqC,MAAOgK,EAAKD,KAAKwC,EAAS5O,IAAIqC,OAChDuO,EAAMC,EAAQC,WAAU,SAAAjE,GAAC,OAAIA,EAAE7M,KAAOqM,EAAKD,KAAKpM,MACtD6Q,EAAQE,OAAOH,EAAK,EAAG1B,GACvB3N,EAAIwG,MAAMiC,WAAa6G,EACvBtP,EAAI4G,YAAYyG,EAAUA,EAAS5O,GAAIuB,EAAIwG,OAAM,K,wBAGnD,WAAa,WACHxG,EAAQS,KAAKjC,MAAbwB,IACAiQ,EAA0BjQ,EAA1BiQ,cAAe1P,EAAWP,EAAXO,OACjB2P,EAAWlQ,EAAIwG,MAAMiC,YAAc,GACrC0H,EAAa,GAmEXC,IAlELpQ,EAAIwG,MAAMC,YAAc,IAAIxC,SAAQ,SAAAoM,GACnC,IAsCQC,EAKAC,EA3CJC,EAAS,CACXjS,KAAM8R,EAAG9R,KAAMkS,WAAYJ,EAAGK,SAAUnM,MAAO8L,EAAG5R,IAE9CkS,EAAY,GACF,SAAZN,EAAG9R,OACLiS,EAAS,OAAKA,GAAR,IAAgBI,UAAS,EAAOjC,aAAc,EAAKA,gBAE3C,WAAZ0B,EAAG9R,OAELiP,GAAWA,EADKyC,EAAcI,EAAGtJ,gBAAkBkJ,EAAcI,EAAGtJ,eAAeM,SAAY,IAC3EX,KAAI,SAAAY,GAAE,MAAK,CAAExG,MAAOwG,EAAGX,IAAK5G,KAAMuH,EAAGX,IAAK7G,MAAOwH,EAAGxH,UAClE+Q,EAAa,CAAE9E,OAAQsE,EAAIpL,SAAU,EAAK2J,cAAepB,SAAAA,GAC/DgD,EAAS,OACJA,GADC,IACOM,aAAcvD,EAAgBsD,WAAAA,EAAYlC,aAAc,EAAKA,gBAG5D,mBAAZ0B,EAAG9R,OACCsS,EAAa,CAAE9E,OAAQsE,EAAIpL,SAAU,EAAK4J,aAChD2B,EAAS,OACJA,GADC,IACOM,aAAchF,EAAoB+E,WAAAA,EAAYlC,aAAc,EAAKA,gBAGhE,kBAAZ0B,EAAG9R,OACCsS,EAAa,CAAE9E,OAAQsE,EAAIrQ,IAAAA,EAAKiF,SAAU,EAAK/E,QACrDsQ,EAAS,OACJA,GADC,IACOM,aAAczE,EAAcwE,WAAAA,EAAYlC,aAAc,EAAKA,aAAc/M,MAAO,UAE9EyO,EAAGvP,OAAS,IAAIb,MAAM,MAAQ,IACxCgE,SAAQ,SAAA8M,GACX,IAAMtE,EAAOuE,EAAAA,GAAAA,MAAgB,SAAAC,GAAC,OAAIA,EAAEnQ,QAAUiQ,KAC1CtE,IACIyE,EAAM,CACVC,MAAOJ,EAAGH,UAAS,EAAQrS,KAAM,OAAQkS,WAAYhE,EAAK3M,MAAOgR,aAActE,EAAkBqE,WAAY,CAAEpE,KAAAA,EAAMV,OAAQsE,IAE/HM,EAAUhI,KAAKuI,QAIL,gBAAZb,EAAG9R,OACC+R,EAAOJ,EAAQxM,QAAO,SAAAC,GAAC,OAAIA,EAAE0M,EAAG5R,KAAOkF,EAAE0M,EAAG5R,IAAIqC,OAAS6C,EAAE0M,EAAG5R,IAAIqC,MAAMtB,UACxEqR,EAAa,CAAE9E,OAAQsE,EAAIrQ,IAAAA,EAAKiF,SAAU,EAAK/E,QACrDsQ,EAAS,OACJA,GADC,IACOM,aAAczE,EAAcwE,WAAAA,EAAYlC,aAAc,EAAKA,aAAc/M,MAAO,QAEvF2O,EAAY,CAChBY,MAAO,aAAcP,UAAS,EAAQrS,KAAM,OAAQkS,WAAY,GAAIK,aAAcM,EAAYP,WAAY,CAAE9E,OAAQsE,EAAIpL,SAAU,EAAK6J,OAASlN,MAAO,OAEvI,EAAd0O,EAAKrP,QAAY0P,EAAUhI,KAAK4H,GAIpCI,EAAUhI,KAHM,CACdwI,MAAO,WAAYP,UAAS,EAAQrS,KAAM,OAAQkS,WAAY,cAAeK,aAAcjE,EAAkBgE,WAAY,CAAE9E,OAAQsE,EAAI9P,OAAAA,GAAUqB,MAAO,UAG3IyO,EAAGvP,OAAS,IAAIb,MAAM,MAAQ,IACxCgE,SAAQ,SAAA8M,GACX,IAAMtE,EAAO4E,EAAAA,GAAAA,MAAgB,SAAAJ,GAAC,OAAIA,EAAEnQ,QAAUiQ,KAC1CtE,IACIyE,EAAM,CACVC,MAAOJ,EAAGH,UAAS,EAAQrS,KAAM,OAAQkS,WAAYhE,EAAK3M,MAAOgR,aAActE,EAAkBqE,WAAY,CAAEpE,KAAAA,EAAMV,OAAQsE,IAE/HM,EAAUhI,KAAKuI,QAIrBf,EAAWxH,KAAK6H,GACO,EAAnBG,EAAU1P,SAAYkP,EAAaA,EAAWmB,OAAOX,OAE/C,CACVpS,KAAM,SACNkS,WAAY,GACZU,MAAOnR,EAAIwG,MAAMjC,MACjBgN,gBAAiBjH,EACjBkH,aAAc,CAAEjH,OAAQ9J,KAAK8J,QAC7BuG,aAAcnG,EACdkG,WAAY,CAAEjG,OAAQnK,KAAKmK,QAC3BhJ,MAAO,UAeT,OAbAuO,EAAWX,OAAO,EAAG,EAAGY,GAClBqB,EAAQ,GAAH,OCrLC,eDqLD,YAAwCzR,EAAIoD,MAAMuD,IAAlD,YAAyD3G,EAAIwG,MAAMjC,OACxEmN,EAAO,CACXnT,KAAM,MACNgG,MAAOvE,EAAIwG,MAAMjC,MACjBkM,WAAY,GACZU,MAAO,GAAF,OAAKnR,EAAIwG,MAAMjC,MAAf,QACLgN,gBAAiBxG,EACjB+F,aAAc9F,EACd6F,WAAY,CAAE5F,QAASxK,KAAKwK,QAAS1G,MAAOvE,EAAIwG,MAAMjC,MAAOhG,KAAMkT,GACnE7P,MAAO,SAETuO,EAAWX,OAAO,EAAG,EAAGkC,GACjBvB,I,qBAGT,SAAQwB,EAAQzC,GACd,IAAQlP,EAAQS,KAAKjC,MAAbwB,IACF4R,EAAQ5R,EAAIwG,MAAMiC,WAClBoJ,EAAMD,EAAMrC,WAAU,SAAAjL,GAAC,OAAIA,EAAE7F,KAAOkT,KACpCG,EAAMF,EAAMrC,WAAU,SAAAjL,GAAC,OAAIA,EAAE7F,KAAOyQ,KACpC6C,EAAOH,EAAMC,GACnBD,EAAMC,GAAOD,EAAME,GACnBF,EAAME,GAAOC,EACb/R,EAAI4G,YAAY,EAAG,EAAG5G,EAAIwG,OAAM,K,oBAGlC,SAAOwL,GACL,IAAQhS,EAAQS,KAAKjC,MAAbwB,IACRA,EAAIwG,MAAMiC,WAAazI,EAAIwG,MAAMiC,WAAW/E,QAAO,SAAA4H,GAAC,OAAIA,EAAE7M,KAAOuT,EAAQvT,MACzEuB,EAAI4G,YAAY,EAAG,EAAG5G,EAAIwG,OAAM,K,oBAGlC,WACE,IAAQxG,EAAQS,KAAKjC,MAAbwB,IACFiS,EAAYjS,EAAIwG,MAAMC,YAAc,GACpCyL,EAAS,IAAIjI,EAAAA,EACnBgI,EAAUvL,KAAI,SAAApC,GACZ,MAAe,SAAXA,EAAE/F,KAAwB4L,OAAOC,OAAO8H,EAAd,KAAyB5N,EAAE7F,GAAK,KACvD0L,OAAOC,OAAO8H,EAAd,KAAyB5N,EAAE7F,GAAK,CAAEqC,MAAO,GAAIkG,aAAc1C,EAAE0C,mBAEtEhH,EAAIwG,MAAMiC,WAAazI,EAAIwG,MAAMiC,YAAc,GAC/CzI,EAAIwG,MAAMiC,WAAWE,KAAKuJ,GAC1BlS,EAAI4G,YAAY,EAAG,EAAG5G,EAAIwG,OAAM,K,oBAGlC,WACE,IAAQxG,EAAQS,KAAKjC,MAAbwB,IACR,GAAIA,EAAI0J,SAAU,OAAQ,kDAC1B,IAAK1J,EAAIwG,MAAMC,YAAc,IAAIxF,OAAS,EAAG,OAAO,KACpD,IPzKUkR,EOyKJhC,EAAa1P,KAAKsO,aACxB,OACE,6BPnNe,SAAAqD,GACnB,IACMC,EAAK,GAeX,OAhBmBD,EAeRnO,SAAQ,SAACqO,EAAKjD,GAAN,OAAcgD,EAAG1J,MAbpB0G,EAagCA,EAX5CzN,GAFO0Q,EAagCA,GAXvC1Q,MAAO6O,EACL6B,EADK7B,WAAYc,EACjBe,EADiBf,gBAAiBC,EAClCc,EADkCd,aAEhCe,EAAS,GACX3Q,GAASuI,OAAOC,OAAOmI,EAAQ,CAAE3Q,MAAAA,EAAO4Q,SAAU5Q,IAEpD,yBAAK+E,IAAG,wBAAmB2L,EAAInB,OAASmB,EAAI/N,MAApC,YAA6C8K,GAAOxO,UAAU,sBAAsBS,MAAOiR,GAChGhB,EAAkBA,EAAgBC,GAAgB,KACnD,yBAAKlQ,MAAOiR,GAAS9B,MATjB,IAEN7O,EAAO6O,EAAYc,EAAiBC,EAEhCe,KAUA,yBAAK1R,UAAU,eAAeS,MAAO,CAAEmR,aAAc,mBAAoB,6BAAMJ,IOmMhFK,CAAavC,GACd,8BP7KMgC,EO6KMnS,EAAIwG,MAAMiC,aP3KE,EADf0J,EACMlR,OAAmB,KAChC,yBAAKJ,UAAU,gBAAe,6BAAK,yBAAKA,UAAU,mBAAmBS,MAAO,CAAEM,MAAO,SAAlD,gBO2KrC,8BAAO5B,EAAIwG,MAAMiC,YAAc,IAAI/B,KAAI,SAAA4E,GAAC,OPlM9B,SAAC8G,EAAaO,GAC9B,IACMzH,EAAWyH,EACXN,EAAK,GAcX,OAhBmBD,EAeRnO,SAAQ,SAACqO,EAAKjD,GAAN,OAAcgD,EAAG1J,KAZ1B,SAAC2J,EAAK/K,EAAK8H,GACnB,IACE9K,EACE+N,EADF/N,MAAO3C,EACL0Q,EADK1Q,MAAOiP,EACZyB,EADYzB,WAAYC,EACxBwB,EADwBxB,aAEtByB,EAAS,GAEf,OADI3Q,GAASuI,OAAOC,OAAOmI,EAAQ,CAAE3Q,MAAAA,EAAO4Q,SAAU5Q,IAEpD,yBAAK+E,IAAG,qBAAgBY,EAAI9I,GAApB,YAA0B6T,EAAInB,OAASmB,EAAI/N,MAA3C,YAAoD8K,GAAOxO,UAAU,mBAAmBS,MAAOiR,GACpGhO,EA5DO,SAACyK,EAAW9D,GAC1B,IACE3M,EACEyQ,EADFzQ,KAAMgG,EACJyK,EADIzK,MAAOoK,EACXK,EADWL,aAAcmC,EACzB9B,EADyB8B,aAAcD,EACvC7B,EADuC6B,WAE3C,OAAQtS,GACN,IAAK,OACH,OACE,kBAACqU,EAAA,EAAD,CAAarU,KAAK,OAAOuC,MAAOoK,EAAS3G,IAAU,GAAIU,SAAU,SAAAX,GAAC,OAAIqK,EAAa,CAAErK,EAAAA,EAAG0K,UAAAA,EAAW9D,SAAAA,OAEvG,IAAK,iBACH,OACE,kBAAC2H,EAAA,EAAD,KACE,kBAACD,EAAA,EAAD,CAAarU,KAAK,SAASuC,MAAOoK,EAAS3G,GAAOzD,OAAS,GAAImE,SAAU,SAAAX,GAAC,OAAIqK,EAAa,CAAErK,EAAAA,EAAG0K,UAAAA,EAAW9D,SAAAA,OAC3G,kBAAC2H,EAAA,SAAD,KACG/B,EAAa,EAAD,KAAMD,GAAN,IAAkB/F,KAAM,CAAED,KAAMK,QAIrD,IAAK,SACL,IAAK,gBACL,IAAK,cACL,IAAK,MACH,OAAQ4F,EAAa,EAAD,KAAMD,GAAN,IAAkB/F,KAAM,CAAED,KAAMK,MACtD,QACE,OAAO,gCAxBG,CA4DUoH,EAAK/K,IAAQ,GAAOuJ,EAAa,EAAD,KAAMD,GAAN,IAAkB/F,KAAM,CAAED,KAAMtD,OAAY,IAI3DuL,CAAER,EAAKpH,EAAUmE,OAClD,yBAAK1I,IAAG,qBAAgBuE,EAASzM,IAAMoC,UAAU,gBAAe,6BAAMwR,IOiL5BU,CAAU5C,EAAY7E,a,yOAhOrDmD,CAAoBuE,IAAAA,WAsOzCvE,EAAY7L,UAAY,CACtB5C,IAAK6C,IAAAA,OAAAA,a,mdE7PP,EAEE,CACEM,OAAQ,CACN,CACE5E,KAAM,UACNgG,MAAO,eACPzE,MAAO,eACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,eACbsK,MAAO,CACL,CAAE/I,IAAK,QAAS7G,MAAO,sBAG3B,CACEvB,KAAM,UACNgG,MAAO,YACPzE,MAAO,YACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,YACbsK,MAAO,CACL,CAAE/I,IAAK,MAAO7G,MAAO,SAGzB,CACEvB,KAAM,UACNgG,MAAO,gBACPzE,MAAO,4BACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,4BACbsK,MAAO,CACL,CAAE/I,IAAK,IAAK7G,MAAO,IAAKoT,GAAI,GAC5B,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,OAGlC,CACE3U,KAAM,UACNgG,MAAO,WACPzE,MAAO,iCACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,WACbsK,MAAO,CACL,CAAE/I,IAAK,QAAS7G,MAAO,YAAaoT,GAAI,GACxC,CAAEvM,IAAK,SAAU7G,MAAO,cAAeoT,GAAI,KAC3C,CAAEvM,IAAK,SAAU7G,MAAO,cAAeoT,GAAI,KAC3C,CAAEvM,IAAK,SAAU7G,MAAO,cAAeoT,GAAI,OAG/C,CACE3U,KAAM,UACNgG,MAAO,iBACPzE,MAAO,kBACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,kBACbsK,MAAO,CACL,CAAE/I,IAAK,WAAY7G,MAAO,OAG9B,CACEvB,KAAM,UACNgG,MAAO,gBACPzE,MAAO,gBACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,gBACbsK,MAAO,CACL,CAAE/I,IAAK,OAAQ7G,MAAO,OAAQoT,GAAI,KAClC,CAAEvM,IAAK,OAAQ7G,MAAO,OAAQoT,GAAI,KAClC,CAAEvM,IAAK,MAAO7G,MAAO,MAAOoT,GAAI,KAGpC,CACE3U,KAAM,UACNgG,MAAO,eACPzE,MAAO,eACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,eACbsK,MAAO,CACL,CAAE/I,IAAK,MAAO7G,MAAO,MAAOoT,GAAI,KAGpC,CACE3U,KAAM,UACNgG,MAAO,UACPzE,MAAO,UACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,UACbsK,MAAO,CACL,CAAE/I,IAAK,IAAK7G,MAAO,IAAKoT,GAAI,GAC5B,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,KAC9B,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,KAC9B,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,OAGlC,CACE3U,KAAM,UACNgG,MAAO,SACPzE,MAAO,SACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,SACbsK,MAAO,CACL,CAAE/I,IAAK,SAAU7G,MAAO,OAG5B,CACEvB,KAAM,UACNgG,MAAO,UACPzE,MAAO,UACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,UACbsK,MAAO,CACL,CAAE/I,IAAK,QAAS7G,MAAO,mBAAoBoT,GAAI,GAC/C,CAAEvM,IAAK,OAAQ7G,MAAO,OAAQoT,GAAI,KAGtC,CACE3U,KAAM,UACNgG,MAAO,WACPzE,MAAO,WACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,WACbsK,MAAO,CACL,CAAE/I,IAAK,IAAK7G,MAAO,IAAKoT,GAAI,GAC5B,CAAEvM,IAAK,IAAK7G,MAAO,IAAKoT,GAAI,IAC5B,CAAEvM,IAAK,MAAO7G,MAAO,IAAKoT,GAAI,MAC9B,CAAEvM,IAAK,IAAK7G,MAAO,IAAKoT,GAAI,SAGhC,CACE3U,KAAM,UACNgG,MAAO,kBACPzE,MAAO,kBACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,kBACbsK,MAAO,CACL,CAAE/I,IAAK,OAAQ7G,MAAO,MAAOoT,GAAI,GACjC,CAAEvM,IAAK,OAAQ7G,MAAO,MAAOoT,GAAI,KACjC,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,OAGlC,CACE3U,KAAM,UACNgG,MAAO,iBACPzE,MAAO,iBACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,iBACbsK,MAAO,CACL,CAAE/I,IAAK,MAAO7G,MAAO,MAAOoT,GAAI,KAGpC,CACE3U,KAAM,UACNgG,MAAO,SACPzE,MAAO,SACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,QACbsK,MAAO,CACL,CAAE/I,IAAK,IAAK7G,MAAO,IAAKoT,GAAI,KAC5B,CAAEvM,IAAK,MAAO7G,MAAO,KAAMoT,GAAI,KAGnC,CACE3U,KAAM,UACNgG,MAAO,kBACPzE,MAAO,kBACPmT,QAAS,GACTvL,SAAU,GACVtC,YAAa,kBACbsK,MAAO,CACL,CAAE/I,IAAK,MAAO7G,MAAO,MAAOoT,GAAI,GAChC,CAAEvM,IAAK,OAAQ7G,MAAO,OAAQoT,GAAI,OAGtC,CACE3U,KAAM,UACNgG,MAAO,YACPzE,MAAO,YACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,YACbsK,MAAO,CACL,CAAE/I,IAAK,SAAU7G,MAAO,SAAUoT,GAAI,KACtC,CAAEvM,IAAK,SAAU7G,MAAO,SAAUoT,GAAI,KACtC,CAAEvM,IAAK,MAAO7G,MAAO,MAAOoT,GAAI,KAGpC,CACE3U,KAAM,UACNgG,MAAO,YACPzE,MAAO,YACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,YACbsK,MAAO,CACL,CAAE/I,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,KAC9B,CAAEvM,IAAK,MAAO7G,MAAO,MAAOoT,GAAI,KAGpC,CACE3U,KAAM,UACNgG,MAAO,eACPzE,MAAO,eACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,eACbsK,MAAO,CACL,CAAE/I,IAAK,QAAS7G,MAAO,QAASoT,GAAI,KAGxC,CACE3U,KAAM,UACNgG,MAAO,SACPzE,MAAO,SACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,SACbsK,MAAO,CACL,CAAE/I,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,KAC9B,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,KAC9B,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,KAC9B,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,KAC9B,CAAEvM,IAAK,IAAK7G,MAAO,IAAKoT,GAAI,KAGhC,CACE3U,KAAM,UACNgG,MAAO,wBACPzE,MAAO,oCACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,GACbsK,MAAO,CACL,CAAE/I,IAAK,IAAK7G,MAAO,IAAKoT,GAAI,KAGhC,CACE3U,KAAM,UACNgG,MAAO,OACPzE,MAAO,OACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,OACbsK,MAAO,CACL,CAAE/I,IAAK,IAAK7G,MAAO,IAAKoT,GAAI,GAC5B,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,KAC9B,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,OAGlC,CACE3U,KAAM,UACNgG,MAAO,gBACPzE,MAAO,mBACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,mBACbsK,MAAO,CACL,CAAE/I,IAAK,SAAU7G,MAAO,IAAKoT,GAAI,KACjC,CAAEvM,IAAK,cAAe7G,MAAO,KAAMoT,GAAI,KAG3C,CACE3U,KAAM,UACNgG,MAAO,mBACPzE,MAAO,mBACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,mBACbsK,MAAO,CACL,CAAE/I,IAAK,QAAS7G,MAAO,WAG3B,CACEvB,KAAM,UACNgG,MAAO,aACPzE,MAAO,aACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,aACbsK,MAAO,CACL,CAAE/I,IAAK,IAAK7G,MAAO,IAAKoT,GAAI,KAGhC,CACE3U,KAAM,UACNgG,MAAO,WACPzE,MAAO,WACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,WACbsK,MAAO,CACL,CAAE/I,IAAK,MAAO7G,MAAO,MAAOoT,GAAI,GAChC,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,QAC9B,CAAEvM,IAAK,OAAQ7G,MAAO,OAAQoT,GAAI,OAGtC,CACE3U,KAAM,UACNgG,MAAO,gBACPzE,MAAO,gBACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,gBACbsK,MAAO,CACL,CAAE/I,IAAK,WAAY7G,MAAO,WAAYoT,GAAI,GAC1C,CAAEvM,IAAK,WAAY7G,MAAO,SAAUoT,GAAI,MAG5C,CACE3U,KAAM,UACNgG,MAAO,kBACPzE,MAAO,kBACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,kBACbsK,MAAO,CACL,CAAE/I,IAAK,QAAS7G,MAAO,mBAAoBoT,GAAI,KAGnD,CACE3U,KAAM,UACNgG,MAAO,QACPzE,MAAO,QACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,QACbsK,MAAO,CACL,CAAE/I,IAAK,OAAQ7G,MAAO,OAAQoT,GAAI,GAClC,CAAEvM,IAAK,OAAQ7G,MAAO,OAAQoT,GAAI,IAClC,CAAEvM,IAAK,OAAQ7G,MAAO,OAAQoT,GAAI,MAClC,CAAEvM,IAAK,OAAQ7G,MAAO,OAAQoT,GAAI,QAGtC,CACE3U,KAAM,UACNgG,MAAO,UACPzE,MAAO,UACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,UACbsK,MAAO,CACL,CAAE/I,IAAK,MAAO7G,MAAO,iBACrB,CAAE6G,IAAK,OAAQ7G,MAAO,kBACtB,CAAE6G,IAAK,OAAQ7G,MAAO,oBAG1B,CACEvB,KAAM,UACNgG,MAAO,cACPzE,MAAO,cACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,cACbsK,MAAO,CACL,CAAE/I,IAAK,IAAK7G,MAAO,MACnB,CAAE6G,IAAK,IAAK7G,MAAO,MACnB,CAAE6G,IAAK,IAAK7G,MAAO,QAGvB,CACEvB,KAAM,UACNgG,MAAO,kBACPzE,MAAO,kBACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,kBACbsK,MAAO,CACL,CAAE/I,IAAK,MAAO7G,MAAO,SAGzB,CACEvB,KAAM,UACNgG,MAAO,YACPzE,MAAO,oBACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,oBACbsK,MAAO,CACL,CAAE/I,IAAK,MAAO7G,MAAO,MAAOoT,GAAI,GAChC,CAAEvM,IAAK,OAAQ7G,MAAO,OAAQoT,GAAI,OAGtC,CACE3U,KAAM,UACNgG,MAAO,sBACPzE,MAAO,sBACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,sBACbsK,MAAO,CACL,CAAE/I,IAAK,OAAQ7G,MAAO,kBAAmBoT,GAAI,KAGjD,CACE3U,KAAM,UACNgG,MAAO,UACPzE,MAAO,UACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,UACbsK,MAAO,CACL,CAAE/I,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,KAC9B,CAAEvM,IAAK,IAAK7G,MAAO,IAAKoT,GAAI,KAGhC,CACE3U,KAAM,UACNgG,MAAO,UACPzE,MAAO,UACPmT,QAAS,GACTvL,SAAU,IACVtC,YAAa,SACbsK,MAAO,CACL,CAAE/I,IAAK,IAAK7G,MAAO,IAAKoT,GAAI,GAC5B,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,KAC9B,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,KAC9B,CAAEvM,IAAK,KAAM7G,MAAO,KAAMoT,GAAI,S,umBC1anBC,EAAAA,WACnB,WAAYjJ,G,KAAM,mB,yDAChBC,OAAOC,OAAO3J,KAAMyJ,GACfzJ,KAAKhC,KAAMgC,KAAKhC,GAAK0U,EAAW9I,W,6CAGvC,WAAmB,OAAM,EAAC7H,EAAAA,O,sBAE1B,SAAgB4Q,GACd,OAAO,IAAID,EAAW,CACpBC,KAAAA,EACArT,KAAMqT,EAAKrT,KACXoJ,SAAUiK,EAAKrT,KACfsT,WAAYD,EAAK3U,GACjB6U,YAAW,Q,oBAIf,WACE,OAAM,IAAC7S,KAAKjB,S,uBAGd,WACE,OAAO,EAAP,2CAAuB,CACrB2J,SAAU1I,KAAK0I,SACfkK,WAAY5S,KAAK4S,WACjBD,KAAM3S,KAAK2S,KACXG,MAAO9S,KAAK8S,MACZC,aAAc/S,KAAK+S,aACnBF,WAAY7S,KAAK6S,WACjB7U,GAAIgC,KAAKhC,GACTe,OAAQiB,KAAKgT,QAAAA,S,gFA/BEN,GCUfO,EAAc,SAACC,EAAYC,EAAOrP,EAAOnB,GAC7C,IAAMqG,EAAQ,GAER3I,GADW6S,EAAWzL,OAAX,UAAqB9E,IAASD,OAAOkB,MAAK,SAAAC,GAAC,OAAIA,EAAEC,QAAUA,MAAU,IAC/DzD,OAAS,GAChC,OAAQ8S,EAAM1K,QACZ,IAAK,IACH,IAAM2K,GAAAA,EAAStE,EAAAA,WAAWzO,EAAM2I,OAAS,IAAK,SAAA9F,GAAC,OAAIA,EAAEsF,MAAQ2K,EAAM3K,OAC7DnJ,EAAQ8T,GAASA,EAAMrM,KAAOqM,EAAMrM,IAAI2H,QAAU0E,EAAMrM,IAAI2H,OAAOpO,MACrEA,EAAM2I,MAAMoK,IAAW/T,IAAOgB,EAAM2I,MAAMoK,GAAQ/T,MAAQA,GAC9D,MAEF,IAAK,KACF8T,EAAMrM,KAAO,IAAItD,SAAQ,SAAAmP,GACxB,IAAMnK,GAAAA,EAAMzG,EAAAA,UAAAA,IACD1B,EAAM2I,OAAyC,OAAhB3I,EAAM2I,QAAgB3I,EAAM2I,MAAQ,IAC9E3I,EAAM2I,MAAMd,KAAK,CAAEM,IAAAA,EAAKE,SAAUiK,EAAKrT,OACvC0J,EAAMd,KAAK,CAAEM,IAAAA,EAAKE,SAAUiK,EAAKrT,KAAMqT,KAAMD,EAAWA,SAASC,QAEnE,MAEF,IAAK,IAGH,OAFMS,GAAAA,EAAStE,EAAAA,WAAWzO,EAAM2I,OAAS,IAAK,SAAA9F,GAAC,OAAIA,EAAEsF,MAAQ2K,EAAM3K,OACrD,GAAV4K,GAAe/S,EAAM2I,OAA8B,EAArB3I,EAAM2I,MAAMxI,QAAYH,EAAM2I,MAAM+F,OAAOqE,EAAQ,GAC9E,CAAC/S,EAAO2I,EAAOmK,EAAM3K,KAE9B,QACE6K,QAAQC,IAAIH,GAEhB,MAAO,CAAC9S,EAAO2I,IAIXuK,EAAiB,SAACC,EAAM/L,GAC5B,IAAIgM,GAAAA,EACJ,GAAID,GAAQA,EAAKE,aAAyC,EAA1BF,EAAKE,YAAYlT,OAAY,CAC3DiT,GAAAA,EACA,IAF2D,IAElDzW,EAAI,EAAGA,EAAIwW,EAAKE,YAAYlT,QAAgB,UAFM,SAElDxD,GACP,IACQ2F,GADFgR,EAAOH,EAAKE,YAAY1W,IAAM,IAC5B2F,MAAOmB,EAAiB6P,EAAjB7P,MACf,GADsBzD,EAAUsT,EAAVtT,MAClByD,GAAmB,KAAVA,EAEX,MAAgB,cADVqE,IAAOV,EAAO9E,IAAU,IAAID,QAAU,IAAIkB,MAAK,SAAAmE,GAAC,OAAIA,EAAEjE,QAAUA,MAAU,IACzEhG,OAAyB,CAAC,QAAS,KAAM,IAAK,KAAK+J,UAAUxH,GAAS,IAAIuT,OAAOC,sBAAAA,KAA2B1L,GAAMA,EAAG9H,SAAAA,IAA0B8H,EAAG9H,QACrJ,CAAC,OAAQ,MAAO,IAAK,KAAKwH,UAAUxH,GAAS,IAAIuT,OAAOC,qBAAAA,KAA2B1L,GAAMA,EAAG9H,SAAAA,IAA0B8H,EAAG9H,QAGlH,CAAC,OAAQ,UAAUwH,SAASM,GAAMA,EAAGrK,YAAAA,KAAkBqK,GAAMA,EAAG9H,SAA4B8H,GAAMA,EAAG9H,OAAU,IAAIuT,UAAYvT,GAAS,IAAIuT,QAFrJH,GAAAA,EACA,gBAVqD,CAElDzW,GAAoCA,GAAK,IAgBpD,OAAOyW,GA+BHK,EAAkB,SAAAhN,GAAG,OAAIA,EAAI/C,SAAqB+C,GADpB,IAAItH,MAAM,KAAK,GAAGoU,OACQ,IAAI7P,QAAQ,IAAK,IAAI6P,QAC7EG,EAAQ,SAAAjN,GAEZ,OADMkN,EAAQC,OAAQnN,GAAO,IACtBmN,OAAOtQ,MAAMqQ,GAAS,EAAIA,GAG7B5N,EAAa,SAAAU,GACjB,OAAI,MAAOA,EAA4C,IAEjDoN,EADOpN,EAAIzD,MAAM,iEACN4C,KAAI,SAAAoJ,GACnB,IAAM8E,EAAS9E,EAAEhM,MAAM,4BACvB,OAAI8Q,EAAe,yBAAKjO,KAAAA,EAAKnE,EAAAA,MAASoS,EAAO,KACvCjH,EAASmC,EAAEhM,MAAM,6BACJ,yBAAK6C,KAAAA,EAAKnE,EAAAA,MAASmL,EAAO,IACtCmC,KAEF,8BAAO6E,KAGVE,EAAS,SAAAtN,GAEb,UADMuN,EAAWC,OAAOxN,GAAK+M,gBACM,UAAbQ,GAAqC,MAAbA,IAK1CnF,EAAW,SAAApL,GAAK,SAFQyQ,GAA4B,IAAI7R,QAAU,IAE5BkB,MAAK,SAAAuL,GAAC,OAAIA,EAAErL,QAAUA,MAAU,IAAImL,OAAS,IAEnF5I,EAAU,SAACvC,EAAOoC,GAEtB,OADcgJ,EAASpL,GACVF,MAAK,SAAAuL,GAAC,OAAIA,EAAEjJ,MAAQA,MAAQ,IAwBrCjC,EAAiB,WAAgB,IAAfH,EAAe,uDAAP,GACxBmL,EAAQC,EAASpL,EAAMwC,eAC7B,GAAI2I,EAAMzO,QAAU,EAClB,OAAOsD,EAAMzD,MAEf,IAAMuO,GAAAA,EAAME,EAAAA,WAAUG,GAAO,SAAAE,GAAC,OAAIA,EAAEjJ,MAAQpC,EAAMyC,gBAClD,OAAIqI,GAAO,EAAU9K,EAAMzD,MAClByD,EAAMzD,MAAQ4O,EAAM,GAAGwD,IAAQxD,EAAML,IAAQK,EAAML,GAAK6D,IAAO,IAAM,GAG1EnD,EAAiB,SAACxL,EAAOoC,EAAKY,GAClC,YAAWA,GAA8B,MAAPA,GAAuB,IAARA,GAAqB,KAARA,EAC5D,OAAOA,EAET,GAAc,gBAAVhD,EAAJ,CAIA,IADMmL,EAAQC,EAASpL,IACbtD,QAAU,EAClB,OAAOsG,EAET,IAAM8H,GAAAA,EAAME,EAAAA,WAAUG,GAAO,SAAAE,GAAC,OAAIA,EAAEjJ,MAAQA,KAC5C,IAAa,IAAT0I,EACF,OAAO9H,EAET,IACM0N,EAAOvF,GADPwF,EAAe,IAAR7F,EAAaK,EAAMzO,OAAUoO,GAChB,IAAMK,EAAMwF,EAAO,GAAGhC,IAAO,EAEvD,OADMiC,EAAQzF,EAAML,IAAQK,EAAML,GAAK6D,IAAO,EACvCzO,YAAYA,WAAW8C,IAAQ4N,EAAOF,IAAMrQ,QAAQ,IAblDwQ,IA5Be7N,EA4BEA,EA3B1B,OA2BqBZ,GA1BnB,IAAK,IACH,OAA2B,IAAlBlC,WAAW8C,GAAc,IAAI3C,QAAQ,GAChD,IAAK,IACH,OAAsC,GAA5BH,WAAW8C,GAAO,QAAe,GAAG3C,QAAQ,GACxD,IAAK,IACH,OAAQH,WAAW8C,GAAO,QAAQ3C,QAAQ,GAC5C,QACE,OAAO2C,IAkGPyJ,EAAa,CAAC,CAAElR,MAAO,WAAYgB,MAAO,YAAc,CAAEhB,MAAO,SAAUgB,MAAO,UAAY,CAAEhB,MAAO,QAASgB,MAAO,SAAW,CAAEhB,MAAO,OAAQgB,MAAO,qBAC1JuQ,EAAa,CAAC,CAAEvR,MAAO,OAAQgB,MAAO,QAAU,CAAEhB,MAAO,aAAcgB,MAAO,kBAAoB,CAAEhB,MAAO,OAAQgB,MAAO,qBAqC1HuU,EAAa,SAAA7W,GACjB,IAAQmV,EAAmCnV,EAAnCmV,WACA2B,GADYC,EAAuB/W,EAAvB+W,oBACZD,KAAMpN,EAAWqN,EAAXrN,OAwBd,OAtBMsN,GADAC,GAAAA,EAAOlJ,EAAAA,WAAU+I,KACFG,EAAKC,UAAa,IACnChP,KAAI,SAAAiP,GACN,IACUC,EAGFxS,EACAyS,EAaR,MAlBI,CAAC,WAAWvN,SAASqN,EAAEpX,OAASoX,EAAE9K,OAC5B+K,EAASD,EAAE9K,KAAX+K,KAEFE,GAAAA,EADKC,EAAAA,SAASpC,EAAWzL,QAAU,IAAK,SAAAvE,GAAC,OAAIA,EAAEqS,KAAOrS,EAAEgD,MAAQiP,GAAQjS,EAAEgD,IAAIsP,WAAN,UAAoBL,EAApB,UAC5D,yBAAKtU,MAAO,CAAEoG,SAAU,WAAYwO,IAAK,MAAOC,MAAO,MAAOrM,MAAO,QAASsM,OAAQ,QAAS,kBAAC,IAAD,CAAiBC,KAAK,yBAAkC,KACnKjT,EAAQ8E,EAAO0N,IAAS,GACxBC,EACJ,6BACGC,EACD,yBAAKxU,MAAO,CAAEgV,YAAa,kBAAmBC,YAAa,QAASC,YAAa,UAAW,2BAAIpT,EAAMtD,QACtG,iCAEGsD,EAAMuD,IAFT,MAOJgP,EAAE9K,KAAO,CAAE/K,MAAO+V,EAAID,KAAMxS,EAAMuD,MAE7BgP,KAEFH,GAgBHiB,EAAc,CAClB,CACEhY,GAAI,IAAKF,KAAM,QAASsM,KAAM,CAAE/K,MAAO,SAAW4H,SAAU,CAAEgP,EAAG,IAAKC,EAAG,KAE3E,CACElY,GAAI,IAAKF,KAAM,SAAUsM,KAAM,CAAE/K,MAAO,OAAS4H,SAAU,CAAEgP,EAAG,IAAKC,EAAG,OAkCtEC,EAAa,SAACC,EAAMC,EAAMC,GAC9B,IACMhF,EAAOiF,EAAIF,GAGjB,OAFAE,EAAIF,GAAQE,EAAID,GAChBC,EAAID,GAAQhF,EACLiF,GAoBH3N,EAAe,SAAA+J,GACnB,IAAQ9J,EAAmB8J,EAAnB9J,SACF2N,GADYlX,EAASqT,EAATrT,KACLmX,SAASC,cAAc,MACpCF,EAAKG,SAAWrX,EAChBkX,EAAKI,KAAO/N,EACNsK,EAAQ,IAAI0D,OAAOC,WAAW,QAAS,CAC3CC,KAAMF,OACNG,SAAQ,EACRC,YAAW,IAEbT,EAAKU,cAAc/D,K,6hBClYjBvM,EAAU,G,GAEdA,EAAQuQ,kBAAoB,IAC5BvQ,EAAQwQ,cAAgB,IAElBxQ,EAAQyQ,OAAS,SAAc,KAAM,QAE3CzQ,EAAQ0Q,OAAS,IACjB1Q,EAAQ2Q,mBAAqBva,IAEhB,IAAIsT,EAAA,EAAS1J,GAKJ0J,EAAA,GAAWA,EAAA,UAAiBA,EAAA,S,sICrB5B,SAAhBkH,EAAiBzZ,GACrB,IAAQ0Z,EAAQ1Z,EAAR0Z,IAGNC,GAFIC,EAAU,kBAAC3N,EAAA,EAAD,CAAShM,IAAAA,EAAI+D,EAAAA,MAAS0V,GAGlC1Z,EADF2Z,MAAME,EACJ7Z,EADI6Z,GAAIC,EACR9Z,EADQ8Z,QAASja,EACjBG,EADiBH,QAASka,EAC1B/Z,EAD0B+Z,MAAOC,EACjCha,EADiCga,GAAI9S,EACrClH,EADqCkH,SAQzC,OANM+S,GAAUvW,EADZ1D,EAD+C0D,KAGjD,8BACGA,EACA,KAED,GACO,KAAPmW,EAEA,kBAAC7N,EAAA,EAAD,CAAgBxH,UAAW,IAAMZ,UAAWmW,EAAOhW,QAAS6V,GAC1D,kBAAC1N,EAAA,EAAD,CAAQtE,OAAQ+R,EAAMpW,QAAS,kBAAMuW,EAAQja,IAAUqH,SAAUA,GAC9D+S,EACD,uBAAG5X,UAAS,aAAQ2X,GAAMjT,cAAY,WAM5C,kBAACiF,EAAA,EAAD,CAAgBxH,UAAW,IAAMZ,UAAWmW,EAAOhW,QAAS6V,GAC1D,kBAAC1N,EAAA,EAAD,CAAQtE,OAAQ+R,EAAMhS,QAASkS,EAAItW,QAAS,kBAAMuW,EAAQja,IAAUqH,SAAUA,GAC3E+S,EACD,uBAAG5X,UAAS,aAAQ2X,GAAMjT,cAAY,WC1BxB,SAAhBmT,EAAiBla,GACrB,IACEma,EACEna,EADFma,IAAKR,EACH3Z,EADG2Z,KAAME,EACT7Z,EADS6Z,GAAIC,EACb9Z,EADa8Z,QAASM,EACtBpa,EADsBoa,SAAUL,EAChC/Z,EADgC+Z,MAAOC,EACvCha,EADuCga,GAsB3C,OAtB+C9S,EAC3ClH,EAD2CkH,SAEzCmT,EACJ,kBAACzM,EAAA,EAAD,CAAS3N,GAAG,0BACTka,EACA,IACD,6BACA,yBAAK9X,UAAU,eACb,kBAAC6J,EAAA,EAAD,CACEtE,OAAO,SACPD,QAAQ,SACRZ,cAAY,OACZxD,QAAS,kBAAMuW,EAAQM,KAJzB,OAQA,oCACA,kBAAClO,EAAA,EAAD,CAAQtE,OAAO,SAASD,QAAQ,WAAhC,QAMJ,kBAACqE,EAAA,EAAD,CAAgBsO,WAAAA,EAAU1W,UAAWmW,EAAOrb,MAAAA,EAAKiF,QAAQ,QAAQI,QAASsW,GACxE,kBAACnO,EAAA,EAAD,CAAQtE,OAAQ+R,EAAMhS,QAASkS,EAAI3S,SAAUA,GAC3C,uBAAG7E,UAAS,aAAQ2X,GAAMjT,cAAY,WC7B9C,IAiBA,EAjBuB,WACrB,M,y0BAAA,IAA0BwT,EAAAA,UAAS,IAA5BC,EAAP,KAAcC,EAAd,KACA,OACE,6BACE,yCAEGD,EACA,IAHH,SAMA,kBAACtO,EAAA,EAAD,CAAQvE,QAAQ,UAAUpE,QAAS,kBAAMkX,EAASD,EAAQ,KAA1D,c,mDF8CN,GAtBAf,EAAcrV,UAAY,CACxBsV,IAAKrV,IAAAA,OAAAA,WACLxE,QAASwE,IAAAA,UAAoB,CAACA,IAAAA,OAAkBA,IAAAA,OAChDyV,QAASzV,IAAAA,KAAAA,WACTwV,GAAIxV,IAAAA,OACJsV,KAAMtV,IAAAA,OACN0V,MAAO1V,IAAAA,OACP2V,GAAI3V,IAAAA,OACJ6C,SAAU7C,IAAAA,KACVX,IAAKW,IAAAA,QAGPoV,EAAchV,aAAe,CAC3BoV,GAAI,GACJF,KAAM,KACNI,MAAO,MACPC,GAAI,qBACJ9S,UAAS,EACTxD,IAAK,KACL7D,QAAS,IAGX,G,UCNA,GAfAqa,EAAc9V,UAAY,CACxB+V,IAAK9V,IAAAA,OAAAA,WACL+V,SAAU/V,IAAAA,OAAAA,WACVyV,QAASzV,IAAAA,KAAAA,WACTwV,GAAIxV,IAAAA,OACJsV,KAAMtV,IAAAA,OACN0V,MAAO1V,IAAAA,OACP2V,GAAI3V,IAAAA,OACJ6C,SAAU7C,IAAAA,MAGZ6V,EAAczV,aAAe,CAC3BoV,GAAI,SAAUF,KAAM,KAAMI,MAAO,QAASC,GAAI,aAAc9S,UAAS,GAGvE,G,sJEjDA,IA2DA,EAX0B,SAACwT,EAAKjE,GACxBkE,GAAAA,EAAgB5M,EAAAA,WAAU2M,EAAIzS,YAAc,IAAlD,IAjDqB0S,EAAeC,EAC9BC,EACFnH,EAEEoH,EACAC,EACAC,EACAC,EA2CAL,GAAAA,EAAiB7M,EAAAA,WAAU0I,EAAIxO,YAAc,IAEnD,OADMiT,GAAAA,EAAiBnN,EAAAA,WAAU0I,EAAIxM,YAAc,IAC/C0Q,EAAclY,OAAS,GACtBmY,EAAenY,OAAS,GAAKyY,EAAezY,OAAS,EACjD,IAtDYkY,EAwDAA,EAxDeC,EAwDAA,EAxDgBM,EAwDAA,EAvD9CL,EAAS,GACXnH,EAAS,IAAIjI,EAAAA,EACjBkP,EAAczS,KAAI,SAAApC,GAAC,OAAI6F,OAAOC,OAAO8H,EAAd,KAAyB5N,EAAE7F,GAAK,QACjD6a,EAAkBnP,OAAOwP,KAAKzH,GAC9BqH,EAAoBpP,OAAOwP,KAAKD,EAAe,IAC/CF,EAAeD,EAAkB7V,QAAO,SAAAY,GAAC,OAAKgV,EAAgBhR,SAAShE,MACvEmV,EAAU,GAChBN,EAAczS,KAAI,SAAAqK,GAChB,MAAe,SAAXA,EAAExS,KAAwB4L,OAAOC,OAAOqP,EAAd,KAA0B1I,EAAEtS,GAAK,KACxD0L,OAAOC,OAAOqP,EAAd,KAA0B1I,EAAEtS,GAAK,CAAEqC,MAAO,GAAIkG,aAAc+J,EAAE/J,mBAEvE0S,EAAezV,SAAQ,SAAAK,GACrB4N,EAAS,IAAIjI,EAAAA,EACbE,OAAOC,OAAO8H,EAAQuH,EAASnV,GAC/BkV,EAAavV,SAAQ,SAAA8M,GAAC,cAAWmB,EAAOnB,MACxCwI,EAAkBtV,SAAQ,SAAA2V,GACxB,IACMzE,EACA0E,OAAAA,IAFF3H,EAAO0H,IAAoC,OAAXA,IAC9BzE,EAAOgE,EAAc9U,MAAK,SAAAmE,GAAC,OAAIA,EAAE/J,KAAOmb,KACxCC,EAAOT,EAAe/U,MAAK,SAAAmE,GAAC,OAAIA,EAAE/J,KAAOmb,KAC7B,kBAAdzE,EAAK5W,MACH,CAAC,OAAQ,iBAAkB,eAAe+J,SAASuR,EAAKtb,QAC1D2T,EAAO0H,GAAU,CAAE9Y,WAAM,IAGX,SAAdqU,EAAK5W,OACW,mBAAdsb,EAAKtb,OACP2T,EAAO0H,GAAU1H,EAAO0H,GAAQ9Y,OAE9B,CAAC,gBAAiB,eAAewH,SAASuR,EAAKtb,QACjD2T,EAAO0H,GAAU,KAGH,mBAAdzE,EAAK5W,OACW,mBAAdsb,EAAKtb,MAA8B4W,EAAKpO,gBAAkB8S,EAAK9S,gBACjEmL,EAAO0H,GAAQ5S,aAAemO,EAAKnO,cAEjC,CAAC,OAAQ,gBAAiB,eAAesB,SAASuR,EAAKtb,QACzD2T,EAAO0H,GAAU,CAAE9Y,MAAO,GAAIkG,aAAcmO,EAAKnO,eAEnDkL,EAAO0H,GAAQ9Y,OAAAA,EAAQiP,EAAAA,IAAeoF,EAAK2E,aAAc5H,EAAO0H,GAAQ5S,aAAckL,EAAO0H,GAAQ9Y,YAGzGuY,EAAO1Q,KAAKuJ,MAEPmH,I,u4BCzCY,SAAfU,EAAgBvb,GACpB,IAAQwb,EAA6Bxb,EAA7Bwb,MAAOC,EAAsBzb,EAAtByb,QAASC,EAAa1b,EAAb0b,SACxB,OAAID,SAAAA,IAAmBA,EAAQE,YAC5BF,EAAQE,aAAeH,EAAMxX,MAAQyX,EAAQza,QACvC,KAgBP,kBAACgL,EAAA,EAAD,CAAgBpI,UAAU,MAAMG,QAAS6X,GACvC,kBAAC1P,EAAA,EAAD,CAAQtE,OAAO,SAASD,QAAQ,UAAUpE,QAAS,WAdlC,IACfsY,EACEC,GAAAA,EAASC,EADXF,EAAaJ,EACuBD,IAC7B,IACTK,EAAW1G,WAAa2G,EAAO,GAC/BD,EAAWG,SAAAA,GAEXH,EAAaC,EAAO,GAEtBJ,EAASG,KAML,uBAAGxZ,UAAU,gBAAgB0E,cAAY,SACxC,IAFH,WCvBN,IA4FA,EA5FwB,SAAC0U,EAASD,GAChC,KAAKC,GAAYD,GAAUC,EAAQtG,YAAeqG,EAAMzE,oBACtD,MAAO,MAAC,OAAAkF,GAEV,IAAMC,GAAAA,EAAWnO,EAAAA,WAAUyN,EAAMzE,oBAqFjC,OApFAmF,EAASV,MAAQC,EAAQtG,WAAWqG,MACpCU,EAASP,WAAaH,EAAMxX,KAC5B2H,OAAOwP,KAAKe,EAASxS,QAAQjE,SAAQ,SAAC0C,GACpC,IAAMgU,EAAWD,EAASxS,OAAOvB,IAAQ,GACnCiU,EAAaX,EAAQtG,WAAWzL,OAAOvB,IAAQsT,EAAQtG,WAAWzL,OAAOvB,GAAKxD,QAC/E,IACJwX,EAASxX,QAAU,IAAIc,SAAQ,SAACuE,EAAG6G,GAClC,IAEQwL,EAgBEnL,EAUEoL,EACAC,EACAC,EA9BNC,GAAAA,EAAS1L,EAAAA,WAAUqL,GAAW,SAAAjX,GAAC,OAAIA,EAAEY,QAAUiE,EAAEjE,SACzC,GAAV0W,IAEIC,EAAU,EADVL,EAASZ,EAAQtG,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQna,OAEzD,CAAC,SAAU,OAAQ,WAAY,iBAAiBwH,SAASoS,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,QAC5Fmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAoB,cAAZoa,EAA0BL,EAAOM,WAAa,IAE3C,YAA1CT,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OACnCmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAqB,cAAZoa,GAAuC,YAAZA,GAAyB9W,MAAMyW,GAAW,EAAIO,SAASP,EAAQ,KAExF,aAA1CH,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OACnCmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAoB,cAAZoa,IAAAA,EAA0BrG,EAAAA,IAAOgG,KAE7B,gBAA1CH,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,MAAiF,gBAAvD0b,EAAQtG,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQ1c,MAChE,kBAA1Cmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,MAAmF,kBAAvD0b,EAAQtG,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQ1c,YAAAA,IAClGsc,IAAwBH,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAQ+Z,GAEhC,mBAA1CH,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OAE7BsR,GADAH,GAAAA,EAAQC,EAAAA,IAAS+K,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKtI,gBACvC1C,MAAK,SAAAuL,GAAC,OAAIA,EAAEjJ,MAAQsT,EAAQtG,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQjU,gBACnF0T,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKrI,aAAgB6I,GAAMA,EAAGlJ,KAAQ+I,EAAM,GAAG/I,IAC3E+T,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,OAAAA,EAAQ0T,EAAAA,IAAMqG,IAEH,gBAA1CH,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OAC/B0b,EAAQtG,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQ1c,OAC5Cmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,KACrCmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,WAAAA,GAE3Bga,EAAQJ,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK5I,YAAc,GACvDsU,EAAQd,EAAQtG,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQxU,YAAc,GACpEuU,EAAS,GACXF,EAAM7Z,OAAS,EACjByZ,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,WAAAA,EAEjCga,EAAM7W,SAAQ,SAACoX,GACb,IAQQC,EARFC,EAASR,EAAM1W,MAAK,SAAA0M,GAAC,OAAIA,EAAEtS,KAAO4c,EAAK5c,OAAO,GAClC,UAAd4c,EAAK9c,MAAoByc,EAAOrS,KAAK0S,GACvB,SAAdA,EAAK9c,OACa,UAAhBgd,EAAOhd,KACTyc,EAAOrS,KAAK0S,GACLL,EAAOrS,KAAP,OAAiB0S,GAAjB,IAAuBva,OAAQya,EAAOza,OAAS,IAAIqa,eAE1D,CAAC,SAAU,kBAAkB7S,SAAS+S,EAAK9c,QACvC+c,OAAAA,IAAcC,EAAOza,OAAyC,MAAhBya,EAAOza,OAAyC,IAAxBya,EAAOza,MAAMG,OAAgB,MAAKuT,EAAAA,IAAM+G,EAAOza,OACvHua,EAAKtU,gBAAkBwU,EAAOxU,cAChCiU,EAAOrS,KAAP,OAAiB0S,GAAjB,IAAuBva,MAAOwa,EAAKtU,aAAcuU,EAAOvU,gBAExDgU,EAAOrS,KAAP,OAAiB0S,GAAjB,IAAuBva,MAAOwa,SAKtCZ,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK5I,WAAauU,IAGJ,WAA1CN,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OAC/B0b,EAAQtG,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQ1c,OAC5Cmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,KACrCmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAQmZ,EAAQtG,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQna,MAEvF4Z,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAQ,IAGC,UAA1C4Z,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OAC/B0b,EAAQtG,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQ1c,OAC5Cmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,KACrCmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK5G,WAAa,GAE9CiS,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK5G,WAAa+S,EAC5Cd,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAC5B4K,EAAQtG,WAAWzL,OAAOvB,GAAKxD,OAAO8X,YAO3C,CAAChB,EAAQtG,WAAY+G,IDzFxBN,EAAiB,kBAAC3P,EAAA,EAAD,qCAwCvB,GARAsP,EAAanX,UAAY,CACvBoX,MAAOnX,IAAAA,OACPoX,QAASpX,IAAAA,OACTqX,SAAUrX,IAAAA,MAEZkX,EAAa9W,aAAe,CAC1B+W,MAAO,GAAIC,QAAS,GAAIC,SAAU,cAEpC,G,6zBE7BsB,SAsCtB,EAtCuBla,GACrB,IAAMyb,EAAa,OAAKzb,GAAR,IAAaY,SAAU,KACjCrC,EAAOkd,EAAWld,KAAK0B,MAAM,KAGnC,OAFID,EAAI0J,UAAwB,SAAZnL,EAAK,KAAeA,EAAK,GAAK,QAE1CA,EAAK,IACX,IAAK,WACH,OAAM,EAACiH,EAAAA,IAAsBiW,GAC/B,IAAK,gBACH,OAAM,EAACvY,EAAAA,GAAuBuY,GAChC,IAAK,SACH,OAAM,EAACrU,EAAAA,IAAoBqU,GAC7B,IAAK,OAEH,OADAA,EAAW7a,SAAX,U,moBAAA,CAA0B6a,EAAW7a,UAArC,CAA+CrC,EAAK,QAC7CoH,EAAAA,IAAkB8V,GAC3B,IAAK,UACH,OAAM,EAACvU,EAAAA,IAAoBuU,GAC7B,IAAK,iBACH,OAAM,EAAC7T,EAAAA,IAA2B6T,GACpC,IAAK,cACH,OAAM,EAACnV,EAAAA,IAAwBmV,GACjC,IAAK,WACH,OAAM,EAAC1T,EAAAA,IAAsB0T,GAC/B,IAAK,SACH,OAAM,EAAClS,EAAAA,IAAoBkS,GAC7B,IAAK,QACH,OAAM,EAACpV,EAAAA,MACT,IAAK,QACH,OAAM,EAACwB,EAAAA,IAAmB4T,GAC5B,IAAK,eACH,OAAM,EAACxT,EAAAA,IAAewT,GACxB,IAAK,UACH,OAAM,EAAC1R,EAAAA,IAAU0R,GACnB,QACE,OAAM,EAAC3T,EAAAA,IAAkB2T,I,SAlC/B,I,8BCwFA,KAAerQ,EAAAA,KAAAA,EACbC,EAAAA,KAAW,SAAAC,GAAC,OAAIA,EAAE/M,OAjGA,CAClBmd,QADkB,SACVld,GACN,OAAQA,EAAM4E,MAAM4S,IAEtBzK,UAJkB,SAIR/M,GACR,IAAQ4E,EAA2B5E,EAA3B4E,MAAOmB,EAAoB/F,EAApB+F,MACf,OADsB2G,EAAa1M,EAAb0M,SACf,CAAE8K,GAAI5S,EAAM4S,GAAIxK,IAAKjH,EAAOkH,IAAKP,EAASzM,OAmB5B,SAACkE,EAASzE,GAAV,MAAuB,CAC9CwN,kBAAmB/I,EAAQgJ,aAC3BC,WAAY1N,EAAQ0N,kBAAAA,EAuEpBlJ,EAAAA,KAAW,SAAA4I,GAAC,OAAIA,EAAE/M,OAxFA,CAClB4B,QADkB,SACV3B,EAAON,GAEb,OADMuD,EAAMvD,EAAQE,WACZI,EAAM4E,MAAM4S,KAAOvU,EAAIuU,IAEjChY,KALkB,SAKbQ,EAAON,GACV,IACEkF,EACE5E,EADF4E,MAAOmB,EACL/F,EADK+F,MAAO2G,EACZ1M,EADY0M,SAAUC,EACtB3M,EADsB2M,WAEpBU,EAAM,CAAEmK,GAAI5S,EAAM4S,GAAIxK,IAAKjH,EAAOkH,IAAKP,EAASzM,IAChDgD,EAAMvD,EAAQE,UAChByN,EAAIL,MAAQ/J,EAAI+J,KAAOK,EAAIJ,MAAQhK,EAAIgK,KAAKN,EAAW1J,EAAIgK,IAAKI,EAAIJ,QASnD,SAAC9I,EAASzE,GAAV,MAAuB,CAC9CsC,kBAAmBmC,EAAQ5E,aAC3B2C,OAAQxC,EAAQwC,SAChBP,QAASjC,EAAQiC,cA+DnB,EA5DiB,SAAC,GAGZ,IAFJuL,EAEI,EAFJA,kBAAmBlL,EAEf,EAFeA,kBAAmBoL,EAElC,EAFkCA,WAAYlL,EAE9C,EAF8CA,OAAQP,EAEtD,EAFsDA,QAC1DiD,EACI,EADJA,MAAO3E,EACH,EADGA,GAAIkd,EACP,EADOA,aAIK3F,GAJSqC,EACrB,EADqBA,GAEnBxX,EAAY,mBAAH,OAAsBH,EAAS,WAAa,IAA5C,OAAiDP,EAAU,YAAc,IAAzE,OAA8EyL,EAAa,eAAiB,IAEzHtK,EACE8B,EADF9B,MAAOxB,EACLsD,EADKtD,MACLsD,EADY4S,IAAIrP,EAChBvD,EADgBuD,IAGdiV,GADAC,GAAOva,GAAS,yBAAyBkD,QAAQ,wBAAyB,8BAE9E,kBAACgG,EAAA,EAAD,CAAgBxH,UAAW,IAAMZ,UAAU,MAAMG,QAAS,kBAACkI,EAAA,EAAD,CAAShM,GAAG,sBAAZ,cACxD,kBAACiM,EAAA,EAAD,CAAQtE,OAAO,SAASrE,QAAS,SAAA6R,GAAK,OAAI+H,EAAa/H,EAAOnV,EAAI2E,EAAO,iBAAgB,kBAAC,IAAD,CAAiBiT,KAAK,mBAG7GyF,EACJ,kBAACtR,EAAA,EAAD,CAAgBxH,UAAW,IAAMZ,UAAU,MAAMG,QAAS,kBAACkI,EAAA,EAAD,CAAShM,GAAG,yBAAZ,iBACxD,kBAACiM,EAAA,EAAD,CAAQtE,OAAO,SAASrE,QAAS,SAAA6R,GAAK,OAAI+H,EAAa/H,EAAOnV,EAAI2E,EAAO,kBAAiB,kBAAC,IAAD,CAAiBiT,KAAK,mBAG9G0F,EAAS/F,EACb,8BACE,kBAAC,IAAD,CAAiBK,KAAK,oBAEtB,KACE2F,EACJ,kBAACxR,EAAA,EAAD,CAAgBxH,UAAW,IAAMZ,UAAU,MAAMG,QAAS,kBAACkI,EAAA,EAAD,CAAShM,IAAAA,EAAI+D,EAAAA,MAAb,mCACxD,kBAACkI,EAAA,EAAD,CAAQ3I,QAAS,aAAUqE,OAAO,UAAS,kBAAC,IAAD,CAAiBiQ,KAAK,wBA+BrE,OA5BM4F,EAAWjG,EAAM,kBAACkG,EAAA,EAAD,CAAarb,UAAU,cAAc+a,GAC1D,kBAACM,EAAA,EAAD,CAAarb,UAAU,cACpB+a,EACAE,EACAE,GAGCG,EAAW,MAAMC,KAAKzV,GAC1B,wCAEGA,EACAoV,EAHH,KAME,KACEM,EACJ,kBAACC,EAAA,UAAD,CAAezb,UAAWgb,GACxB,kBAACS,EAAA,QAAD,CAAaC,QAAAA,EAAOjb,MAAO,CAAEkb,MAAO,OAAQC,WAAY,WACrD3c,EADH,IAGGqc,GAEFF,EACD,yBAAKpb,UAAU,cAGb6b,EAAqB,SAAPrE,EAAA,gBAAyBA,GAAO,GAC9CsE,GAAS3G,EAAK,YAAH,eAAe0G,IAC1B,EAACtR,EAAAA,IAAQM,EAAmBlL,EAA5B,CAA+C,yBAAKK,UAAWA,GAAW,yBAAKA,UAAW8b,GAASN,Q,+jBCtExF,SAAbO,GAAape,GACjB,IAP0Bqe,EACpBC,EAOJC,EACEve,EADFue,KAAM7U,EACJ1J,EADI0J,OAAQ8U,EACZxe,EADYwe,QAEhB,OAFyBH,EACrBre,EADqBqe,MAEpBE,GACCE,GAAAA,EAAeC,EAAAA,QAAOhV,EAAQ,CAAC,WAAY,iBAAmB,IACnDjH,OAAS,EAAU,MAZV4b,EAacA,EAZlCC,EAAS,GAYWG,EAXnBhZ,SAAQ,SAAAb,GAAW0Z,EAAOnU,KAAK,yBAAKhC,IAAKvD,EAAMuD,KAAMwW,GAAM/Z,EAAOyZ,QAWnEC,EAVCA,EAYL,kBAACM,GAAA,EAAD,CAAOL,KAAMA,EAAMza,OAAQ0a,GACzB,kBAACI,GAAA,SAAD,CAAcC,aAAAA,GAAY,kBAACD,GAAA,QAAD,sBAC1B,kBAACA,GAAA,OAAD,KACE,yBAAK9b,MAAO,CAAEE,UAAW,OAAQ8b,SAAU,SACzC,yBAAKzc,UAAU,gBAAgBic,OATrB,KCVG,SAAjBS,KAEJ,OAFuC,uDAAP,IAElBC,QAAO,SAAC5L,EAAO7R,GAC3B,IACM0d,EAAKtT,OAAOwP,KAAK+D,GASvB,OARID,EAAGnV,SAASvI,EAAK4G,MACbgX,EAAMF,EAAG/Z,QAAO,SAAAY,GAAC,OAAIA,IAAMvE,EAAK4G,KAAOrC,EAAE2R,WAAF,UAAgBlW,EAAK4G,IAArB,SAA8B1F,OACrE2c,EAAQ,GAAH,OAAM7d,EAAK4G,IAAX,YAAkBgX,GAE7BD,EADA3d,EAAK4G,IAAMiX,GACE7d,GAEb2d,EAAI3d,EAAK4G,KAAO5G,EAEX2d,IACN,I,IC5BgBG,GAAAA,SAAAA,G,00BACnB,WAAYrf,G,GAAO,yBACjB,cAAMA,IACDmd,aAAe,EAAKA,aAAajN,KAAlB,MACpB,EAAKoP,gBAAkB,EAAKA,gBAAgBpP,KAArB,MACvB,EAAKqP,UAAY,EAAKA,UAAUrP,KAAf,MAJA,E,kGAOnB,SAAapK,EAAGkE,EAAGwV,EAAGC,IAAAA,EACCxd,KAAKjC,MAAlByG,UACCX,EAAGkE,EAAGwV,EAAGC,K,6BAGpB,SAAgB3Z,EAAG7F,EAAI+J,GAAsB,IAKjCkH,EACFD,EANgByO,EAAmB,wDACnCtX,EAAgBnG,KAAKjC,MAArBoI,YACFuX,EAAM3V,EAAE/B,WAAWpC,MAAK,SAAA4M,GAAC,OAAIA,EAAExS,KAAOA,KACvCyf,IACY,mBAAX5Z,EAAE/F,OAEAkR,GADEC,GAAAA,EAAQC,EAAAA,IAASrL,EAAEyC,gBACRwI,WAAU,SAAAK,GAAC,OAAIA,EAAEjJ,MAAQrC,EAAE0C,iBACjC0I,EAAMzO,OAAS,EAAGwO,GAAQ,EAAQA,EAAO,EACpD0O,EAAInX,aAA8B,EAAf0I,EAAMzO,OAAayO,EAAMD,GAAM9I,IAAM,GACxDwX,EAAIrd,OAAAA,EAAQiP,EAAAA,IAAezL,EAAEyC,cAAeoX,EAAInX,aAAc1C,EAAExD,QAEhEqd,EAAIrd,MAAQwD,EAAE4K,OAAOpO,OAKzB8F,EAFkBnG,KAAKjC,MAAf4E,MAEUuD,IADN,CAAE6B,EAAAA,EAAG2V,IAAAA,GACWD,K,yBAG9B,SAAYE,EAAUC,EAAK9W,GACzB,IAAQxF,EAAYtB,KAAKjC,MAAjBuD,QACF2N,GAAAA,EAAQC,EAAAA,IAAS0O,EAAItX,eACvB0I,EAAOC,EAAMH,WAAU,SAAAjL,GAAC,OAAIA,EAAEqC,MAAQY,KACtCkI,EAAOC,EAAMzO,OAAS,EAAGwO,GAAQ,EAAQA,EAAO,EAEpD6O,EAAOtX,aAA8B,EAAf0I,EAAMzO,OAAayO,EAAMD,GAAM9I,IAAM,GAC3D5E,EAAQqc,EAAUE,K,mBAGpB,WAAQ,WAEJlb,GADF,EAEI3C,KAAKjC,OADP4E,MAAO6M,EADT,EACSA,cAAexR,EADxB,EACwBA,GAAIyJ,EAD5B,EAC4BA,OAAQjC,EADpC,EACoCA,UAAWyD,EAD/C,EAC+CA,SAAUnJ,EADzD,EACyDA,OAEjDge,EAAsBnb,EAAtBmb,KAAMpb,EAAgBC,EAAhBD,OAAQwD,EAAQvD,EAARuD,IAChB6X,EAASD,GAAQ,EACjBjM,EAAMmM,KAAKC,MAAM,GAAKF,GACtBG,EAAuB,EAAf,GAAKH,EAAc,UAAY,GACvC3O,EAAK,GACPvI,EAAK,GACLsX,EAAS,EACTC,EAAQ,EA0DZ,OAzDC1b,GAAU,IAAIc,SAAQ,SAACuE,EAAG/K,GACzB,IACQqhB,EAEAC,EASAC,GAAAA,EAZJhL,EAAAA,IAAexL,EAAGN,IACd4W,GAAAA,EAAOnP,EAAAA,IAASnH,EAAEzB,eAAe,IAAM,GACvCkY,IAAUzW,EAAE+V,MAAQ,GACpBQ,EAAmB,UAAXvW,EAAEjK,KAAqB,IAAM0gB,GAAU,GAAM3M,EAC3DsM,EAAqB,UAAXpW,EAAEjK,KAAoBqgB,EAAWJ,GAAUS,GAAU,GAAML,EAAU,EAElEJ,EAATI,IACF/O,EAAGlH,KAAK,kBAACuW,EAAA,EAAD,CAAKvY,IAAKkY,GAAQvX,IAC1BuX,GAAS,EACTvX,EAAK,GACLsX,EAAqB,UAAXpW,EAAEjK,KAA8BigB,GAAUS,GAAU,GAAe,GAEzED,EACJ,kBAACG,EAAA,EAAD,CAAKxY,IAAG,eAAUA,EAAV,YAAiB6B,EAAE4W,SAAnB,YAA+B5W,EAAEjE,OAAS8a,GAAIN,EAAMO,GAAIP,EAAMle,UAAsB,UAAX2H,EAAEjK,KAAmB,GAAKogB,GACzG,kBAAC,EAAD,CACEhY,IAAG,UAAKlI,EAAL,YAAW2E,EAAX,YAAoBoF,EAAEjE,MAAtB,uBACH2D,OAAQA,EACRzJ,GAAIA,EACJ2E,MAAOA,EACPoD,MAAOgC,EACP1I,MAAO0I,EAAE1I,MACTgB,MAAO0H,EAAE1H,OAAS,GAClBkE,YAAawD,EAAExD,aAAe,GAC9BzG,KAAMiK,EAAEjK,MAAQ,OAChBgG,MAAOiE,EAAEjE,OAAS,QAClBf,QAASgF,EAAEhF,SAAW,GACtB6D,QAAU4I,GAAiBA,EAAczH,EAAEzB,gBAAkBkJ,EAAczH,EAAEzB,eAAeM,SAAY,GACxGpC,SAAU,SAAA2O,GAAK,OAAI,EAAK+H,aAAa/H,EAAOpL,EAAEjE,MAAOoC,EAAK6B,EAAEjK,OAC5DqI,YAAa,EAAKkX,gBAClB3W,YAAAA,EACAlB,UAAWA,EACXyD,SAAUA,EACVxE,UAAAA,EACAU,WAAY4C,EAAErD,WAAAA,EACdC,YAAaoD,EAAEpD,aAAe,GAC9B2B,cAAeyB,EAAEzB,cACjBC,aAAcwB,EAAExB,cAAgB8X,EAAKnY,IACrC5E,QAAS,kBAAM,EAAKwd,YAAY5Y,EAAK6B,EAAIA,EAAExB,cAAgB8X,EAAKnY,MAChEsJ,cAAeA,GAAiB,GAChC1P,OAAQA,KAId+G,EAAGqB,KAAKqW,GAEQ,KADWJ,EAAvBA,EAASJ,GAAW,EAAY,EAC/BI,IAAkBzb,EAAOlC,SAAYxD,EAAI,IAC5CoS,EAAGlH,KAAK,kBAACuW,EAAA,EAAD,CAAKvY,IAAKkY,GAAQvX,IAC1BuX,GAAS,EACTvX,EAAK,KAEEnE,EAAOlC,SAAYxD,EAAI,IAChCoS,EAAGlH,KAAK,kBAACuW,EAAA,EAAD,CAAKvY,IAAKkY,GAAQvX,IAC1BuX,GAAS,EACTvX,EAAK,OAGFuI,I,uBAGT,SAAUpO,EAAKoK,GACbpL,KAAKkb,aAAa,KAAMla,EAAKoK,EAAK,gB,oBAGpC,WACE,IAAQpN,GAAR,EAAgCgC,KAAKjC,OAA7BC,GAAI2E,EAAZ,EAAYA,MAAOoc,EAAnB,EAAmBA,SACX1V,EAAwB1G,EAAxB0G,MAAOxI,EAAiB8B,EAAjB9B,MAAOxB,EAAUsD,EAAVtD,MAuBtB,OAtBIuY,EAAKvO,GAAS,UACZ2V,GAAMne,GAAS,yBAAyBkD,QAAQ,wBAAyB,8BAEzEkb,EACJ,kBAAC,EAAD,CACEnhB,KAAK,YACL6E,MAAOA,EACPmB,MAAM,QACN2G,SAAU,CAAEzM,GAAI2E,EAAMuD,KACtBwE,WAAY1K,KAAKsd,UACjBtf,GAAIA,EACJkd,aAAclb,KAAKkb,aACnBtD,GAAIA,IAGFgE,EAAwB,KAAVvc,EAAgB,+BAClC,kBAACwc,EAAA,UAAD,CAAezb,UAAW4e,GACxB,kBAACnD,EAAA,QAAD,CAAaC,QAAAA,GAAQzc,IAGnB6f,EAAmB,SAAPtH,EAAgB,qBAAuB,GAC9C,SAAPA,IAAeA,EAAK,WAEtB,kBAACuH,EAAA,EAAD,CAAYC,WAAAA,EAAUphB,GAAG,0BAA0BqhB,iBAAiB,IAAIxe,MAAO,CAAEye,aAAc,QAC7F,kBAACzD,EAAA,EAAD,CAAOnW,QAASkS,EAAIxX,UAAS,mCAA8B8e,GAAaK,SAAS,KAC9ER,EAAWE,EAAWrD,EACvB,kBAACC,EAAA,WAAD,KACE,kBAACA,EAAA,OAAD,CAAYzb,UAAU,iCAAiCJ,KAAKwf,iB,yOApJnDpC,CAA2Bpb,EAAAA,WC2EhD,IDiFAob,GAAmBjb,UAAY,CAC7BnE,GAAIoE,IAAAA,UAAoB,CAACA,IAAAA,OAAkBA,IAAAA,SAC3CO,MAAOP,IAAAA,OACPoN,cAAepN,IAAAA,OACfoC,SAAUpC,IAAAA,KAAAA,WACV+D,YAAa/D,IAAAA,KAAAA,WACbd,QAASc,IAAAA,KACTqF,OAAQrF,IAAAA,OAAAA,WACRoD,UAAWpD,IAAAA,KACX6G,SAAU7G,IAAAA,KACV2c,SAAU3c,IAAAA,KACVtC,OAAQsC,IAAAA,MAGVgb,GAAmB5a,aAAe,CAChCxE,GAAI,EACJwR,cAAe,GACflO,QAAS,aACTkE,WAAU,EACVyD,UAAS,EACT8V,UAAS,EACTjf,OAAQ,cCxLW,SACnB2H,EAAQb,EAAS6Y,GAGd,IAFHC,EAEG,uDAFa,aAAUC,EAEvB,uDAFmC,aAAuB3hB,EAE1D,uDAF+D,EAAGwH,EAElE,wDADHuZ,EACG,wDADe9V,EACf,wDADiC2W,EACjC,0DAD0C,aAEvCC,GAH0CC,EAE7C,uDAFsD,IAG9B7Z,KAAI,SAAApC,GAAC,OAC9B,kBAAC,EAAD,CACEqC,IAAG,UAAKrC,EAAE2V,QAAQxb,GAAf,2BACH8F,MAAOD,EAAEC,MACTzE,MAAM,GACNkF,YAAaV,EAAE2V,QAAQjV,aAAe,GACtClE,MAAOwD,EAAE2V,QAAQla,MAAQ,GACzBxB,KAAM+F,EAAE/F,KACR4I,WAAY7C,EAAE6C,aAAAA,EACdjC,SAAUZ,EAAEY,WAAAA,EACZU,WAAYtB,EAAEsB,aAAAA,EACdX,SAAU,SAAA2O,GAAK,OAAIsM,EAAWtM,EAAOtP,EAAEC,MAAO,GAAID,EAAE/F,YAGlD0e,GAAAA,EAAeC,EAAAA,QAAOhV,EAAQ,CAAC,WAAY,iBAAmB,GAC9D4U,EAAS,GAAGxL,OAAOgP,GA2DzB,OA1DArD,EAAahZ,SAAQ,SAACb,EAAOiM,GAE3B,GADMmR,EAAK,GAAH,OAAMpd,EAAMuD,IAAZ,YAAmB0I,QAC3B,IAAWjM,EAAM+Q,aAAoD,MAArB/Q,EAAM+Q,aAAoD,IAA7B/Q,EAAM+Q,YAAYlT,OAiB7F6b,EAAOnU,KAfL,kBAACkV,GAAD,CACEpf,GAAIA,EACJkI,IAAK6Z,EACLpd,MAAOA,EACP6B,SAAUib,EACVtZ,YAAauZ,EACblQ,cAAe5I,EACftF,QAASqe,EACTlY,OAAQA,EACRjC,UAAWA,EACXyD,SAAUA,EACV8V,SAAUA,EACVjf,OAAQ8f,UAIP,GAAIjd,EAAM+Q,aAA0C,EAA3B/Q,EAAM+Q,YAAYlT,OAAY,CAG5D,IAFA,IAAIwf,GAAAA,EAEKhjB,EAAI,EAAGA,EAAI2F,EAAM+Q,YAAYlT,QAAgB,UAHM,SAGnDxD,GACP,IAAM2W,EAAOhR,EAAM+Q,YAAY1W,IAAM,GAGrC,MAAgB,cAFVmL,IAAOV,EAAOkM,EAAKhR,QAAU,IAAID,QAAU,IAC9CkB,MAAK,SAAAmE,GAAC,OAAIA,EAAEjE,QAAU6P,EAAK7P,UAAU,IACjChG,OAAyB,CAAC,QAAS,KAAM,IAAK,KAAK+J,UAAU8L,EAAKtT,OAAS,IAAIuT,OAAOC,sBAAAA,KAA2B1L,GAAMA,EAAG9H,SAAAA,IAA0B8H,EAAG9H,QAC1J,CAAC,OAAQ,MAAO,IAAK,KAAKwH,UAAU8L,EAAKtT,OAAS,IAAIuT,OAAOC,qBAAAA,IAA0B1L,EAAG9H,QAAAA,IAAyB8H,EAAG9H,QAG/G,CAAC,OAAQ,UAAUwH,SAASM,EAAGrK,YAAAA,KAAkBqK,GAAMA,EAAG9H,SAA2B8H,EAAG9H,OAAS,IAAIuT,UAAYD,EAAKtT,OAAS,IAAIuT,QAF5IoM,GAAAA,EACA,gBAVwD,CAGnDhjB,GAAqCA,GAAK,IAUzC,IAINgjB,GAiBF3D,EAAOnU,KAfL,kBAACkV,GAAD,CACEpf,GAAIA,EACJkI,IAAK6Z,EACLpd,MAAOA,EACP6B,SAAUib,EACVtZ,YAAauZ,EACblQ,cAAe5I,EACftF,QAASqe,EACTlY,OAAQA,EACRjC,UAAWA,EACXyD,SAAUA,EACV8V,SAAUA,EACVjf,OAAQ8f,SAOXvD,I,WH3EHK,GAAQ,SAAC/Z,EAAOyZ,GAAR,OACZ,yBAAKhc,UAAU,wBACb,6BACE,6BACE,2BAAIuC,EAAMtD,OACV,6BAFF,IAIGsD,EAAMuD,IAJT,KAOA,kBAAC6D,EAAA,EAAD,CAAgBxH,UAAW,IAAMZ,UAAU,MAAMG,QAAS,kBAACkI,EAAA,EAAD,CAAShM,GAAG,mBAAZ,uBACxD,kBAACiM,EAAA,EAAD,CAAQvE,QAAQ,UAAUpE,QAAS,SAAA6R,GAAK,OAAIiJ,EAAMjJ,EAAOxQ,KAAQ,kBAAC,IAAD,CAAiBiT,KAAK,qBAuC/F,IAPAuG,GAAWha,UAAY,CACrBma,KAAMla,IAAAA,KAAAA,WACNqF,OAAQrF,IAAAA,OAAAA,WACRma,QAASna,IAAAA,KAAAA,WACTga,MAAOha,IAAAA,KAAAA,YAGT,IChBM6d,GAAmB,SAACC,EAAQC,GAChC,IAAMxd,EAAQud,EAqBd,OApBAvd,EAAMD,OAAOuD,KAAI,SAAAma,GACf,IACIC,EAAQtY,EAAE2L,YAEd,OAAK2M,GAASA,EAAM7f,OAAS,GAAK6f,EAAMpd,QAAO,SAAAC,GAAC,OAAKA,EAAEY,OAAqB,KAAZZ,EAAEY,SAActD,SAAW6f,EAAM7f,UACjG6f,EAAQA,EAAMpd,QAAO,SAAAC,GAAC,OAAIA,EAAEP,QAAUwd,MAE5B3f,OAAS,SACVuH,EAAE2L,aAIX2M,EAAQA,EAAMpa,KAAI,SAAA/C,GAGhB,OADAod,EAAE3d,MAAQA,EAAMuD,IACToa,KAETvY,EAAE2L,YAAc2M,IAbgGtY,KAgB3GpF,EAAMD,QA6BT6d,GAAmB,SAAnBA,EAAoB9Y,EAAQ+Y,GAChC,IAAIC,EAAM,GASV,OARA/W,OAAOwP,KAAKzR,GAAQjE,SAAQ,SAAAK,GACtB6F,OAAOgX,UAAUC,eAAeC,KAAKnZ,EAAQ5D,KAC3C4D,EAAO5D,GAAGqC,MAAQsa,EAAOC,EAAMA,EAAI5P,OAAO2P,GACrC/Y,EAAO5D,GAAGgd,SAAYpZ,EAAO5D,GAAGgd,QAAQC,eAAiBN,IAChEC,EAAMA,EAAI5P,OAAO0P,EAAiB9Y,EAAQA,EAAO5D,GAAGqC,WAInDua,G,43BGvFO,SAAVM,GAAWC,EAAOvY,GAAR,UAAC,MAAwBuY,GAAUvY,GAE9B,SAAfwY,GAAgBljB,GACpB,IAAOijB,GAAP,E,20BAAA,CClB6B,SAACD,EAASG,EAAcC,GACrD,IAAMC,GAAAA,EAAcC,EAAAA,UACbL,GAAP,E,20BAAA,IAA0BM,EAAAA,YAAWP,EAASG,EAAcC,IAA5D,MAAcI,EAAd,KAcA,OAdA,EAEAC,EAAAA,YAAU,WACJJ,EAAYK,UACdL,EAAYK,QAAQT,GACpBI,EAAYK,QAAU,QAEvB,CAACT,IAOG,CAACA,EALe,SAACvY,EAAQiZ,GAC9BN,EAAYK,QAAUC,EACtBH,EAAS9Y,KDKekZ,CAAuBZ,GAASG,MAA1D,GAAcK,EAAd,KAEE/H,EACEzb,EADFyb,QAASoI,EACP7jB,EADO6jB,SAAUC,EACjB9jB,EADiB8jB,UAAWC,EAC5B/jB,EAD4B+jB,MAAOtc,EACnCzH,EADmCyH,UAAWuc,EAC9ChkB,EAD8CgkB,WAAY9Y,EAC1DlL,EAD0DkL,SAG9D,OAHwE2W,EACpE7hB,EADoE6hB,OAGpC,IAAhClW,OAAOwP,KAAKM,GAAShZ,OAAqB,MAwOxCwhB,EAAeC,GACnBzI,EAAQtG,WAAWzL,OACnB+R,EAAQ1E,mBAAmBoN,gBAAkB,IApHrB,SAAC/O,EAAOrP,EAAOnB,GAAyB,IAnFvCA,EAInBwf,EArCWC,EAASC,EAClB5a,EAIF6a,EACFC,EA8G0CzkB,EAAkB,uDAAX,OAC7CoV,EAAesG,EAAftG,WACJ7S,EAAQ,GACRmiB,GAAAA,EACJ,OAAQ1kB,GACN,IAAK,aAzHUskB,EA0HHte,EA1HYue,EA0HL1f,EAzHb8E,EAAW+R,EAAQtG,WAAnBzL,OAGFgb,GAFFjG,GAAAA,EAAeC,EAAAA,QAAOhV,EAAQ,CAAC,WAAY,iBAEnBqH,WAAU,SAAAjL,GAAC,OAAIA,EAAEqC,MAAQkc,KAC/CE,EAAS9F,EAAaiG,GACxBF,EAAS/F,EAAa1N,WAAU,SAAAjL,GAAC,OAAIA,EAAEqC,MAAQmc,KACjB,IAA9BrE,KAAK0E,IAAID,EAASF,GACpB/F,GAAAA,EAAerG,EAAAA,IAAWqG,EAAciG,EAAQF,IAGhD/F,EAAazN,OAAO0T,EAAQ,GAE5BF,EAAS/F,EAAa1N,WAAU,SAAAjL,GAAC,OAAIA,EAAEqC,MAAQmc,KACzCM,EAASnG,EAAa+F,GAE5BD,EAAOrb,SAAW0b,EAAO1b,SACzBqb,EAAOM,aAAeD,EAAOC,aAAe,GAAK,EAEjDpG,EAAazN,OAAOwT,EAAS,EAAG,EAAGD,IAGrC9F,EAAavZ,QAAO,SAAAY,GAAC,OAAIA,EAAEoD,WAAaqb,EAAOrb,YAAUhB,KAAI,SAACpC,EAAG+K,GAG/D,OADAiU,EAAGD,YAAchU,EACViU,KAEHzN,EAAK0H,GAAeN,GAC1BhD,EAAQtG,WAAWzL,OAAS2N,EAC5BoE,EAAQO,SAAAA,EACR6H,EAASpI,GA6FLgJ,GAAAA,EACA,MACF,IAAK,eACHrP,EAAM2P,kBA7FengB,EA8FFA,EA7Ff8E,EAAW+R,EAAQtG,WAAnBzL,OAEFsb,GADAvG,GAAAA,EAAeC,EAAAA,QAAOhV,EAAQ,CAAC,WAAY,iBAChBqH,WAAU,SAAAjL,GAAC,OAAIA,EAAEqC,MAAQvD,EAAMuD,OAC1Dic,EAAW3F,EAAauG,GAC9BvG,EAAazN,OAAOgU,EAAa,GACjCvG,EAAavZ,QAAO,SAAAY,GAAC,OAAIA,EAAEoD,WAAakb,EAASlb,YAAUhB,KAAI,SAACpC,EAAG+K,GAGjE,OADAiU,EAAGD,YAAchU,EACViU,KAETrJ,EAAQtG,WAAWzL,OAASqV,GAAeN,GAC3ChD,EAAQO,SAAAA,EACR6H,EAASpI,GAkFLgJ,GAAAA,EACA,MACF,IAAK,cACHrP,EAAM2P,kBAENvB,EAAS,CAAEyB,gBADXR,GAAAA,GACgCS,iBAAkBtgB,EAAMuD,MACxD,MACF,IAAK,UACHsc,GAAAA,EACAU,EAAU/P,EAAOxQ,GACjB,MACF,IAAK,WACHtC,EAAQ8S,EAAM1E,OAAOzJ,QACrB,MACF,IAAK,gBAEE3E,EADD8S,EAAM1E,OACK0E,EAAM1E,OAAhBpO,MAEK8S,EAEV,MACF,IAAK,SACH,IAIQgQ,EAJFC,GAAAA,EAAOnQ,EAAAA,IAAYC,EAAYC,EAAOrP,EAAOnB,GACnDtC,EAAQ+iB,EAAK,GACQ,EAAjBA,EAAK,GAAG5iB,SAAYgZ,EAAQxQ,OAASwQ,EAAQxQ,OAAS,IAAI6H,OAAOuS,EAAK,KACxD,EAAdA,EAAK5iB,QAEQ,IADT2iB,GAAAA,EAAUrU,EAAAA,WAAW0K,EAAQxQ,OAAS,IAAK,SAAA9F,GAAC,OAAIA,EAAEsF,MAAQ2K,EAAM3K,SAClDgR,EAAQxQ,OAAgC,EAAvBwQ,EAAQxQ,MAAMxI,QACjDgZ,EAAQxQ,MAAM+F,OAAOoU,EAAS,GAGlC,MAEF,IAAK,SACH9iB,EAAQ8S,EAAQA,EAAM9S,MAAQ,KAC9B,MACF,IAAK,gBAGL,IAAK,cAGL,IAAK,eACHA,EAAQ8S,EACR,MACF,IAAK,UACA9S,EAAU8S,EAAM1E,OAAhBpO,MACHA,EAAQ2d,KAAKqF,MAAMhjB,GACnB,MACF,QACKA,EAAU8S,EAAM1E,OAAhBpO,MAEO,KAAVsC,GAA0B,SAAVmB,IAAkB0V,EAAQla,KAAOe,GACvC,KAAVsC,GAA0B,gBAAVmB,IAAyB0V,EAAQ8J,YAAcjjB,GACrD,KAAVsC,GAA0B,uBAAVmB,IAAgC0V,EAAQ+J,mBAAqBljB,GAE7EmiB,IACY,KAAV7f,GAAgB,CAAC,OAAQ,cAAe,sBAAsBkF,SAAS/D,GACzEuP,QAAQC,IAAIxP,IAEZoP,EAAWzL,OAAX,UAAqB9E,IAASD,OAAOkB,MAAK,SAAAC,GAAC,OAAIA,EAAEC,QAAUA,KAAOzD,MAAQA,EAC7D,mBAATvC,GAA+BoV,EAAWzL,OAAX,UAAqB9E,IAASD,OAAOkB,MAAK,SAAAC,GAAC,OAAIA,EAAEC,QAAUA,KAAOyC,cAAmG,KAAnF2M,EAAWzL,OAAX,UAAqB9E,IAASD,OAAOkB,MAAK,SAAAC,GAAC,OAAIA,EAAEC,QAAUA,KAAOyC,eAC/KhH,EAAM2T,EAAWzL,OAAX,UAAqB9E,IAASD,OACvCkB,MAAK,SAAAC,GAAC,OAAIA,EAAEC,QAAUA,KAAOwC,cAChC4M,EAAWzL,OAAX,UAAqB9E,IAASD,OAC3BkB,MAAK,SAAAC,GAAC,OAAIA,EAAEC,QAAUA,KAAOyC,cAAAA,EAAe2I,EAAAA,IAAS3P,GAAK,GAAG2G,KAElEsT,EAAQtG,WAAaA,EACjBjK,IAAUuQ,EAAQgK,kBAAoBtQ,IAE5CsG,EAAQO,SAAAA,EACR6H,EAASpI,OAIW,SAAC7W,EAAOib,GAA2B,IAGjDpM,EAEAiS,EAJAvQ,EAAesG,EAAftG,WADiD,0DAKjDuQ,GAFAjS,EAAY0B,EAAWzL,OAAX,UAAqB9E,IAASD,OAC7CkB,MAAK,SAAA4M,GAAC,OAAIA,EAAE1M,QAAU8Z,EAAI7V,EAAEjE,SAAOkC,YAAc,IAC3B8I,WAAU,SAAA0B,GAAC,OAAIA,EAAExS,KAAO4f,EAAIF,IAAI1f,MACzDwT,EAAUzC,OAAO0U,EAAQ,EAAG7F,EAAIF,KAChCxK,EAAWzL,OAAX,UAAqB9E,IAASD,OAC3BkB,MAAK,SAAAC,GAAC,OAAIA,EAAEC,QAAU8Z,EAAI7V,EAAEjE,SAAOkC,WAAawL,GAErD0B,EAAWzL,OAAX,UAAqB9E,IAASD,OAC3BkB,MAAK,SAAAC,GAAC,OAAIA,EAAEC,QAAU8Z,EAAI7V,EAAEjE,SAAOkE,WAAa4V,EAAI7V,EAAEC,YAAc,GACvEwR,EAAQtG,WAAaA,EACrBsG,EAAQO,SAAAA,EACR6H,EAASpI,MAGa,SAAC7W,EAAOib,GAC9B,IAAQ1K,EAAesG,EAAftG,WACFwQ,GAAAA,EAASpU,EAAAA,IAAesO,EAAItX,cAAesX,EAAIrX,aAAcqX,EAAIvd,OACvE6S,EAAWzL,OAAX,UAAqB9E,IAASD,OAAOkB,MAAK,SAAAC,GAAC,OAAIA,EAAEC,QAAU8Z,EAAI9Z,SAAOyC,aAAeqX,EAAIrX,aACzF2M,EAAWzL,OAAX,UAAqB9E,IAASD,OAAOkB,MAAK,SAAAC,GAAC,OAAIA,EAAEC,QAAU8Z,EAAI9Z,SAAOzD,MAAQqjB,EAC9ElK,EAAQtG,WAAaA,EACrBsG,EAAQO,SAAAA,EACR6H,EAASpI,KASTqI,EACAC,EACAtc,EACAuc,EACA9Y,EACA2W,GAGI+D,EACJ,kBAAC,GAAD,CACErH,KAAM0E,EAAMgC,cACZvb,QAAAA,EAAQqE,EAAAA,WAAU0N,EAAQ1E,mBAAmBrN,SAAW,GACxD8U,QAAS,kBAAMgF,EAAS,CAAEyB,eAAgBhC,EAAMgC,iBAChD5G,MAzKmB,SAACjJ,EAAO+M,GAC7B7M,QAAQC,IAAI,kBACZD,QAAQC,IAAI0N,GACZ,IAcQ4C,EAdFjhB,EAAQud,EAGRtR,GAFEnH,EAAW+R,EAAQtG,WAAnBzL,QACF+U,GAAAA,EAAeC,EAAAA,QAAOhV,EAAQ,CAAC,WAAY,iBACxBqH,WAAU,SAAAjL,GAAC,OAAIA,EAAEqC,MAAQ8a,EAAMiC,qBAElDY,EAAgBrH,EAAa5N,GAM7BsO,GALNva,EAAMsE,SAAW4c,EAAc5c,SAC/BtE,EAAMigB,YAAciB,EAAcjB,YAAc,EAChDjgB,EAAM4S,IAAAA,EACN5S,EAAMmhB,QAAU,KAEJtH,EACTvZ,QAAO,SAAAY,GAAC,OAAIA,EAAEqC,MAAQvD,EAAMuD,KAAOrC,EAAEqC,IAAIsP,WAAN,UAAoB7S,EAAMuD,IAA1B,SAAmC1F,QAC/D,EAAN0c,IACI0G,EAAUjhB,EAAMuD,IACtBvD,EAAMuD,IAAN,UAAevD,EAAMuD,IAArB,YAA4BgX,GAC5Bva,EAAMD,OAASud,GAAiBtd,EAAOihB,IAGzCpH,EAAazN,OAAOH,EAAM,EAAG,EAAGjM,GAEhC6Z,EAAavZ,QAAO,SAAAY,GAAC,OAAIA,EAAEoD,WAAa4c,EAAc5c,YAAUhB,KAAI,SAACpC,EAAGkgB,GAGtE,OADAlB,EAAGD,YAAcmB,EACVlB,KAEHzN,EAAK0H,GAAeN,GAC1BhD,EAAQtG,WAAWzL,OAAS2N,EAC5BmM,EAAS,CAAEyB,eAAc,EAAQC,iBAAkBtgB,EAAMuD,MAAO,WAC9D0b,EAASpI,SA8IX,oCACGwI,EACA2B,IA/Ma,SAAZT,EAAa/P,EAAOxQ,GACxB,IAEUuQ,EAEJ8Q,EACEC,EAKIpP,EAGFqP,EHvFYC,EAiELvG,EAAK1X,EAAKke,EACvB9S,EACA0L,GGQA3c,EADU8S,EAAQA,EAAM9S,MAAQ,QAE1B6S,EAAmCsG,EAAnCtG,WAAY4B,EAAuB0E,EAAvB1E,mBAEhBkP,GAAAA,EAEA3jB,KADE4jB,EAAW/Q,EAAWzL,OAAX,UAAqB9E,IAASD,OAAOkB,MAAK,SAAAC,GAAC,MAAgB,aAAZA,EAAEC,SAAsBzD,SAElF4jB,GAAyB,KAAbA,GAAmBA,IAAa5jB,IAC9C2jB,GAAAA,IAKIE,EHpFO,SAACG,EAAcF,EAAQG,EAAaC,GAGvD,IADMC,GADA3P,GAAAA,EAAO/I,EAAAA,WAAUuY,IACPpP,SAAShS,QAAO,SAAAY,GAAC,OAAIA,EAAE7F,KAAOmmB,MACvC3jB,OAAS,EAAG,OAAO,KAC1B,IAAQmC,EAAU6hB,EAAG,GAAGpa,KAAhBzH,MACF8hB,EAAK5P,EAAKI,SAAShS,QAAO,SAAAY,GAAC,OAAIA,EAAE6gB,YAEjCC,GADAC,EAAK/P,EAAKI,SAAShS,QAAO,SAAAY,GAAC,MAAe,YAAXA,EAAE/F,MAAsB+F,EAAEuG,QAClDqa,EAAGxhB,QAAO,SAAAY,GAAC,OAAIA,EAAEqN,SAAWiT,KAAQle,KAAI,SAAApC,GAAC,OAAIA,EAAE4K,WAU5D,OARoB,GADdoW,EAASD,EAAG3hB,QAAO,SAAAqd,GAAC,OAAIqE,EAAK9c,SAASyY,EAAEtiB,OAAKiI,KAAI,SAAApC,GAAC,MAAK,CAAEqC,IAAKrC,EAAE7F,GAAIqB,MAAO,GAAF,OAAKwE,EAAEuG,KAAKzH,MAAMtD,MAAlB,YAA2BwE,EAAEuG,KAAKzH,MAAMuD,IAAxC,UACpE1F,SACHyG,GAAYtE,EAAMD,QAAU,IAAIlC,OAAS,EAC/CmC,EAAMD,OAAOwF,KAAK,CAChBpK,KAAM,UAAW0U,QAAS,GAAI1O,MAAO,WAAYzE,MAAO,OAAQqF,UAAS,EAAQsB,WAAY,GAAI0B,gBAAiB,GAAIT,SAAAA,EAAUsC,WAAYsb,KAGhJliB,EAAMke,QAAU,CAAEiE,QAASX,EAAQrD,aAAcwD,GACjD3hB,EAAMigB,YAAc2B,EAAO,EACpB5hB,EAjBY,CGiFLkS,EAASC,EAATD,KAG2BxU,EAAOsC,GAFpCoiB,EAAW7R,EAAWzL,OAAX,UAAqB9E,KAEoBigB,gBAExD1P,EAAWzL,QHxBAmW,EGwBqB1K,EAAWzL,OHxB3BvB,EGwBmCvD,EHxB9ByhB,EGwBqCF,EHvB5D5S,EAAO,GACP0L,EAAKtT,OAAOwP,KAAK0E,GACvBlU,OAAOwP,KAAK0E,GAAKpa,SAAQ,SAAAK,GACvB,IAIUqZ,EAKE8H,EATRtb,OAAOgX,UAAUC,eAAeC,KAAKhD,EAAK/Z,KAC5CyN,EAAKzN,GAAK+Z,EAAI/Z,GACVA,IAAMqC,IACF+e,EAAc3T,EAAKzN,GAAGoD,SAEhB,KADNiW,EAAMF,EAAG/Z,QAAO,SAAAC,GAAC,OAAIA,IAAMkhB,EAASle,KAAOhD,EAAEsS,WAAF,UAAgB4O,EAASle,IAAzB,SAAkC1F,SAEjF8Q,EAAK8S,EAASle,KAAOke,EACrB9S,EAAK8S,EAASle,KAAKe,SAAWge,IAExBD,EAAOZ,EAASle,IACtBoL,EAAK,GAAD,OAAI8S,EAASle,IAAb,YAAoBgX,IAASkH,EACjC9S,EAAK,GAAD,OAAI8S,EAASle,IAAb,YAAoBgX,IAAOjW,SAAWge,EAC1C3T,EAAK,GAAD,OAAI8S,EAASle,IAAb,YAAoBgX,IAAOhX,IAA/B,UAAwCke,EAASle,IAAjD,YAAwDgX,GACxD5L,EAAK8S,EAASle,KAAKxD,OAASud,GAAiBmE,EAAUY,SAK/B,IAA5Btb,OAAOwP,KAAK0E,GAAKpd,SAAc8Q,EAAK8S,EAASle,KAAOke,GACjD9S,IGGG0S,IACF9Q,EAAWzL,OHYI,WAAwD,IAAvDyd,EAAuD,uDAAnC,GAAIC,EAA+B,uDAApB,GAAIC,EAAgB,uDAAP,GAClE3d,EAASyd,EAEf,KADgBE,EAAOhb,MAAQgb,EAAOhb,KAAKzH,OAAQyiB,EAAOhb,KAAKzH,MAAMuD,KACvD,MAAO,GACrB,IAAIua,EAAM,GAUV,OATA/W,OAAOwP,KAAKzR,GAAQjE,SAAQ,SAAAK,GAC1B,IACQ0R,EADJ7L,OAAOgX,UAAUC,eAAeC,KAAKnZ,EAAQ5D,KACzC0R,EAAK9N,EAAO5D,GAAGgd,UACVtL,EAAGuL,eAAiBqE,GAAc5P,EAAGuP,UAAYM,EAAOpnB,KACjEyiB,EAAMA,EAAI5P,OAAO0P,GAAiB9Y,EAAQA,EAAO5D,GAAGqC,UAI1Dua,EAAIjd,SAAQ,SAAAK,GAAC,cAAW4D,EAAO5D,MACxB4D,EAdgB,CGZsByL,EAAWzL,OAAQ9E,GH5FxCwhB,EG4F+DF,EAANpP,EH5FxCI,SAAShS,QAAO,SAAAY,GAAC,OAAIA,EAAE7F,KAAOmmB,KAAQ,MG+FzEjR,EAAWzL,OAAX,UAAqB9E,IAASD,OAAOkB,MAAK,SAAAC,GAAC,MAAgB,aAAZA,EAAEC,SAAsBzD,MAAQA,EAC/EmZ,EAAQtG,WAAaA,EACrBsG,EAAQO,SAAAA,EAER6H,EAASpI,MAvFjB,IAAM0H,GAAe,CAAE8B,eAAc,EAAQC,iBAAkB,IAmS/D,IAlBAhC,GAAa9e,UAAY,CACvBqX,QAASpX,IAAAA,OAAAA,WACTwf,SAAUxf,IAAAA,KAAAA,WACVyf,UAAWzf,IAAAA,MACX0f,MAAO1f,IAAAA,UAAoB,CAACA,IAAAA,OAAkBA,IAAAA,SAC9CoD,UAAWpD,IAAAA,KAAAA,WACX2f,WAAY3f,IAAAA,KAAAA,WACZ6G,SAAU7G,IAAAA,KACVwd,OAAQxd,IAAAA,MAGV6e,GAAaze,aAAe,CAC1Bqf,UAAW,GACX5Y,UAAS,EACT6Y,MAAO,EACPlC,OAAQ,cAGV,I,+kBEtSMyF,EAAAA,SAAAA,G,60BACJ,WAAYtnB,G,GAAO,yBACjB,cAAMA,IACDunB,aAAe,EAAKA,aAAarX,KAAlB,OAFH,E,kGAKnB,WACE,IAEQgM,EAFAV,GAAR,EAAuCvZ,KAAKjC,OAApCwb,MAAOgM,EAAf,EAAeA,UAAW/gB,EAA1B,EAA0BA,SACtB+U,EAAMzE,qBACFmF,GAAAA,EAAWnO,EAAAA,WAAUyN,EAAMzE,qBACxB4E,WAAaH,EAAMxX,KAC5B2H,OAAOwP,KAAKe,EAASxS,QAAQjE,SAAQ,SAAA0C,GACnC,IAAMgU,EAAWD,EAASxS,OAAOvB,IAAQ,GACnCiU,EAAaoL,EAAUrS,WAAWzL,OAAOvB,IAAQqf,EAAUrS,WAAWzL,OAAOvB,GAAKxD,QAAW,IAClGwX,EAASxX,QAAU,IAAIc,SAAQ,SAACuE,EAAG6G,GAClC,IAEQwL,EAaEnL,EACAG,EAhBJoL,GAAAA,EAAS1L,EAAAA,WAAUqL,GAAW,SAAAjX,GAAC,OAAIA,EAAEY,QAAUiE,EAAEjE,SACzC,GAAV0W,IAEIC,EAAU,GADVL,EAASmL,EAAUrS,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQna,OAE3D,CAAC,SAAU,OAAQ,WAAY,iBAAiBwH,SAASoS,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,QAC5Fmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAoB,cAAZoa,EAA0BL,EAAOM,WAAa,IAE3C,YAA1CT,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OAEnCmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAqB,cAAZoa,GAAuC,YAAZA,GAAyB9W,MAAMyW,GAAW,EAAIO,SAASP,EAAQ,KAExF,aAA1CH,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OACnCmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAoB,cAAZoa,IAAAA,EAA0BrG,EAAAA,IAAOgG,IAE9B,mBAA1CH,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OAE7BsR,GADAH,GAAAA,EAAQC,EAAAA,IAAS+K,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKtI,gBACvC1C,MAAK,SAAAuL,GAAC,OAAIA,EAAEjJ,MAAQqf,EAAUrS,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQjU,gBACrF0T,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKrI,aAAgB6I,GAAMA,EAAGlJ,KAAQ+I,EAAM,GAAG/I,IAC3E+T,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,OAAAA,EAAQ0T,EAAAA,IAAMqG,WAKvDmL,EAAUrS,WAAa+G,EACvBsL,EAAUC,iBAAmBjM,EAAMvb,GACnCunB,EAAUE,UAAYlM,EAAMmM,YAC5BH,EAAUI,YAAcpM,EAAMla,MAC9BkmB,EAAUxL,SAAAA,EACVvV,EAAS+gB,IAET/gB,OAAAA,K,qCAIJ,SAAwB+gB,GACtB,IAAQ/gB,EAAaxE,KAAKjC,MAAlByG,SAYR,OAXMwd,EACJ,kBAAC,GAAD,CACExI,QAAS+L,EACT3D,SAAUpd,EACVqd,UAAW,GACXC,MAAO,EACPtc,WAAAA,EACAyD,UAAAA,EACA8Y,YAAAA,IAGI,yBAAKlhB,MAAO,CAAE+kB,OAAQ,QAAU5D,K,oBAG1C,WAAS,WACC6D,GAAR,EAAoC7lB,KAAKjC,OAAjC8nB,OAAQN,EAAhB,EAAgBA,UAAWO,EAA3B,EAA2BA,KAC3B,OAAID,GAA4C,IAAlCnc,OAAOwP,KAAKqM,GAAW/kB,QAAgBslB,GAAiB,KAATA,EAEzD,kBAACjK,EAAA,EAAD,CAAOzb,UAAU,gBACf,kBAACyb,EAAA,OAAD,CAAYhb,MAAO,CAAEoG,SAAU,WAAY8e,UAAW,IAAKC,UAAW,UACnEhmB,KAAKimB,wBAAwBV,GAC9B,0BAAMnlB,UAAU,mBACd,0BAAMA,UAAU,cAAhB,QACA,6BAFF,0BAIG,OACA0T,EAAAA,IAAgBgS,GACjB,6BANF,2BAQG,IACAP,EAAUI,aAEb,kBAACO,GAAA,EAAD,CAAe9lB,UAAU,cACvB,kBAAC2J,EAAA,EAAD,CAAgBpI,UAAU,MAAMG,QAAS,kBAACkI,EAAA,EAAD,CAAShM,GAAG,mBAAZ,yCACvC,kBAACiM,EAAA,EAAD,CAAQtE,OAAO,SAASD,QAAQ,SAASpE,QAAS,kBAAM,EAAKgkB,iBAA7D,cAOL,U,yOA5FLD,CAAyBrjB,EAAAA,W,IA0G/B,IAVAqjB,EAAiBljB,UAAY,CAC3B0jB,OAAQzjB,IAAAA,KAAAA,WACR0jB,KAAM1jB,IAAAA,OACNmjB,UAAWnjB,IAAAA,OACXmX,MAAOnX,IAAAA,OACPoC,SAAUpC,IAAAA,KAAAA,YAEZijB,EAAiB7iB,aAAe,CAAEsjB,KAAM,GAAIP,UAAW,GAAIhM,MAAO,IAGlE,G,0uCC3GM4M,EAAAA,SAAAA,G,60BACJ,WAAYpoB,G,GAAO,yBACjB,cAAMA,IACDunB,aAAe,EAAKA,aAAarX,KAAlB,OAFH,E,kGAKnB,WACE,IAAQsL,GAAR,EAAqCvZ,KAAKjC,OAAlCwb,MAAO6M,EAAf,EAAeA,QAAS5hB,EAAxB,EAAwBA,SAClByV,GAAAA,EAAWnO,EAAAA,WAAUyN,EAAMzE,oBACjCmF,EAASP,WAAaH,EAAMxX,KAC5B2H,OAAOwP,KAAKe,EAASxS,QAAQjE,SAAQ,SAAA0C,GACnC,IAAMgU,EAAWD,EAASxS,OAAOvB,IAAQ,GACnCiU,EAAaiM,EAAQlT,WAAWzL,OAAOvB,IAAQkgB,EAAQlT,WAAWzL,OAAOvB,GAAKxD,QAC/E,IACJwX,EAASxX,QAAU,IAAIc,SAAQ,SAACuE,EAAG6G,GAClC,IAEQwL,EAYEnL,EAUEoL,EACAC,EACAC,EA1BNC,GAAAA,EAAS1L,EAAAA,WAAUqL,GAAW,SAAAjX,GAAC,OAAIA,EAAEY,QAAUiE,EAAEjE,SACzC,GAAV0W,IAEIC,EAAU,GADVL,EAASgM,EAAQlT,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQna,OAEzD,CAAC,SAAU,OAAQ,WAAY,iBAAiBwH,SAASoS,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,QAC5Fmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAoB,cAAZoa,EAA0BL,EAAOM,WAAa,IAE3C,YAA1CT,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OACnCmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAqB,cAAZoa,GAAuC,YAAZA,GAAyB9W,MAAMyW,GAAW,EAAIO,SAASP,EAAQ,KAExF,aAA1CH,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OACnCmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAoB,cAAZoa,IAAAA,EAA0BrG,EAAAA,IAAOgG,IAE9B,mBAA1CH,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OAE7BsR,GADAH,GAAAA,EAAQC,EAAAA,IAAS+K,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKtI,gBACvC1C,MAAK,SAAAuL,GAAC,OAAIA,EAAEjJ,MAAQkgB,EAAQlT,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQjU,gBACnF0T,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKrI,aAAgB6I,GAAMA,EAAGlJ,KAAQ+I,EAAM,GAAG/I,IAC3E+T,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,OAAAA,EAAQ0T,EAAAA,IAAMqG,IAEH,gBAA1CH,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OAC/BsoB,EAAQlT,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQ1c,OAC5Cmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,KACrCmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,WAAAA,GAE3Bga,EAAQJ,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK5I,YAAc,GACvDsU,EAAQ8L,EAAQlT,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQxU,YAAc,GACpEuU,EAAS,GACXF,EAAM7Z,OAAS,EACjByZ,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,WAAAA,EAEjCga,EAAM7W,SAAQ,SAAAoX,GACZ,IASQC,EATFC,EAASR,EAAM1W,MAAK,SAAA0M,GAAC,OAAIA,EAAEtS,KAAO4c,EAAK5c,OAAO,GAClC,UAAd4c,EAAK9c,MAAoByc,EAAOrS,KAAK0S,GACvB,SAAdA,EAAK9c,OACa,UAAhBgd,EAAOhd,KACTyc,EAAOrS,KAAK0S,GACLL,EAAOrS,KAAP,SAAiB0S,GAAjB,IAAuBva,OAAQya,EAAOza,OAAS,IAAIqa,eAG1D,CAAC,SAAU,kBAAkB7S,SAAS+S,EAAK9c,QACvC+c,OAAAA,IAAcC,EAAOza,OAAyC,MAAhBya,EAAOza,OAAyC,IAAxBya,EAAOza,MAAMG,OAAgB,MAAKuT,EAAAA,IAAM+G,EAAOza,OACvHua,EAAKtU,gBAAkBwU,EAAOxU,cAChCiU,EAAOrS,KAAP,SAAiB0S,GAAjB,IAAuBva,MAAOwa,EAAKtU,aAAcuU,EAAOvU,gBAExDgU,EAAOrS,KAAP,SAAiB0S,GAAjB,IAAuBva,MAAOwa,SAKtCZ,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK5I,WAAauU,IAGJ,WAA1CN,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OAC/BsoB,EAAQlT,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQ1c,OAC5Cmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,KACrCmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAQ+lB,EAAQlT,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQna,MAEvF4Z,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAKvO,MAAQ,IAGC,UAA1C4Z,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,OAC/BsoB,EAAQlT,WAAWzL,OAAOvB,GAAKxD,OAAO8X,GAAQ1c,OAC5Cmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK9Q,KACrCmc,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK5G,WAAa,GAE9CiS,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAAK5G,WAAa+S,EAC5Cd,EAASxS,OAAOvB,GAAKxD,OAAOkM,GAC5BwX,EAAQlT,WAAWzL,OAAOvB,GAAKxD,OAAO8X,YAOlD4L,EAAQlT,WAAa+G,EACrBmM,EAAQrM,SAAAA,EACRvV,EAAS4hB,K,qCAGX,SAAwBA,GACtB,IAAQ5hB,GAAR,EAAuCxE,KAAKjC,OAApCyG,SAAUob,EAAlB,EAAkBA,OAAQ3W,EAA1B,EAA0BA,SAa1B,OAZM+Y,EACJ,kBAAC,GAAD,CACExI,QAAS4M,EACTxE,SAAUpd,EACVqd,UAAW,GACXC,MAAO,EACPtc,WAAAA,EACAyD,SAAUA,EACV8Y,YAAAA,EACAnC,OAAQA,IAGJ,yBAAK/e,MAAO,CAAE+kB,OAAQ,QAAU5D,K,oBAG1C,WACE,IAAQ6D,GAAR,EAA4B7lB,KAAKjC,OAAzB8nB,OAAQO,EAAhB,EAAgBA,QAChB,OAAKP,GAA0C,IAAhCnc,OAAOwP,KAAKkN,GAAS5lB,OAElC,6BACE,kBAACqb,EAAA,EAAD,KACE,kBAACA,EAAA,OAAD,CAAYhb,MAAO,CAAEoG,SAAU,WAAY8e,UAAW,IAAKC,UAAW,UACnEhmB,KAAKimB,wBAAwBG,MALmB,U,yOAjHvDD,CAAuBnkB,EAAAA,W,IAwI7B,IAVAmkB,EAAehkB,UAAY,CACzB0jB,OAAQzjB,IAAAA,KAAAA,WACRgkB,QAAShkB,IAAAA,OACTmX,MAAOnX,IAAAA,OACPoC,SAAUpC,IAAAA,KAAAA,WACVwd,OAAQxd,IAAAA,MAGV+jB,EAAe3jB,aAAe,CAAE4jB,QAAS,GAAI7M,MAAO,GAAIqG,OAAQ,cAEhE,G,usBC9IkB,SAAZyG,GAAY7a,GAAM,OAAI6H,QAAQC,IAAI,mBAAoB9H,GAF5D,IAAM8a,GAAoB,CAAEC,WAAY,QAClCC,GAAqB,SAAKF,IAAR,IAA2B7Q,IAAK,KAkBxD,MAAegR,EAAAA,OAfG,SAAC,GAAD,OAAGrc,EAAH,EAAGA,KACnB,oCACE,kBAAC,MAAD,CAAQtM,KAAK,SAASmJ,SAAUyf,GAAAA,GAAAA,IAAc7lB,MAAOylB,GAAmBD,UAAWA,KACnF,6BACE,yBAAKxlB,MAAO,CAAEgV,YAAa,kBAAmBC,YAAa,QAASC,YAAa,UAAW,2BAAI3L,EAAKzH,MAAMtD,QAC3G,iCAEG+K,EAAKzH,MAAMuD,IAFd,MAMF,kBAAC,MAAD,CAAQpI,KAAK,SAASmJ,SAAUyf,GAAAA,GAAAA,OAAiB1oB,GAAG,IAAI6C,MAAO2lB,S,i8BCZlD,SAAXG,GAAW5oB,GACf,IAAQmV,EAAmCnV,EAAnCmV,WAAY4B,EAAuB/W,EAAvB+W,mBACpB,QAAkDwD,EAAAA,UAAS,MAA3D,GAAOsO,EAAP,KAA0BC,EAA1B,KACO5R,GAAP,QAAgCqD,EAAAA,UAAS,IAAzC,OAAiBwO,EAAjB,KAyBA,OAAM,EApBNtF,EAAAA,YAAU,WACR,IACAuF,EAA2B,GAAjBA,GAAAA,EADInS,EAAAA,IAAW7W,IACPyC,OAAaumB,EAAU/Q,EAAAA,GAEzC8Q,EAAYC,KACX,CAAC7T,EAAY4B,KAAAA,EAEhB0M,EAAAA,YAAU,WACR,IACAuF,EAA2B,GAAjBA,GAAAA,EADInS,EAAAA,IAAW7W,IACPyC,OAAaumB,EAAU/Q,EAAAA,GAEzC8Q,EAAYC,KACX,OAEHvF,EAAAA,YAAU,WACJoF,GAAqB3R,EAASzU,QAChComB,EAAkBI,YAEnB,CAACJ,EAAmB3R,EAASzU,SAG9B,kBAAC,MAAD,KACE,kBAAC,MAAD,CACEyU,SAAUA,EACVgS,OA5BS,SAAAC,GACbL,EAAqBK,IA4BjBC,eAAgBC,GAAAA,GAAAA,MAChBC,UAAW,CAAEC,aAAcC,IAC3BC,cAAe,IAEf,kBAAC,MAAD,QCpCgB,SAAlBC,GAAkB1pB,GACtB,IAAQue,EAAuBve,EAAvBue,KAAMlS,EAAiBrM,EAAjBqM,KACd,GADoBsd,EAAW3pB,EAAX2pB,QACfpL,EAAM,OAAO,KAClB,IAAQxH,EAA+C1K,EAA/C0K,mBAAoB5B,EAA2B9I,EAA3B8I,WAC5B,OADwCyU,EAAevd,EAAfud,WACpCje,OAAOwP,KAAKpE,GAAoBtU,OAAS,EAAU,KAClDkJ,OAAOwP,KAAKpE,EAAmBD,MAAQ,IAAIrU,OAAS,IACpDsU,EAAmBD,KAAKI,UAAY,IAAIzU,OAAS,EAElD,kBAACmc,GAAA,EAAD,CAAOL,KAAMA,EAAM3W,OAAO,QAAQ9D,OAAQ6lB,GACxC,kBAAC/K,GAAA,SAAD,CAAcC,aAAAA,GACZ,kBAACD,GAAA,QAAD,eAAiBgL,EAAjB,eAEF,kBAAChL,GAAA,OAAD,6BAMJ,kBAAC,KAAD,CAAWiL,OAAO,gBAAgBC,OAAO,QACvC,yBAAKznB,UAAU,uBACb,kBAACyb,EAAA,EAAD,CAAOnW,QAAQ,WACb,kBAACmW,EAAA,UAAD,CAAezb,UAAU,gBAAzB,UACMunB,EADN,aAEE,kBAAC1d,EAAA,EAAD,CAAQvE,QAAQ,SAASC,OAAO,SAASvF,UAAU,kBAAkBkB,QAASomB,GAAQ,kBAAC,IAAD,CAAiB9R,KAAK,mBAE9G,kBAACiG,EAAA,OAAD,KACE,yBAAKzb,UAAU,WACb,yBAAKA,UAAU,eAAc,kBAAC,GAAD,CAAU8S,WAAYA,EAAY4B,mBAAoBA,UDejG6R,GAASxkB,UAAY,CACnB+Q,WAAY9Q,IAAAA,OAAAA,YA5Cd,IA+CA,MCFA,IARAqlB,GAAgBtlB,UAAY,CAC1Bma,KAAMla,IAAAA,KAAAA,WACNgI,KAAMhI,IAAAA,MAAgB,CACpB0S,mBAAoB1S,IAAAA,OAAkB8Q,WAAY9Q,IAAAA,OAAkBulB,WAAYvlB,IAAAA,SAC/E+C,WACHuiB,OAAQtlB,IAAAA,KAAAA,YAGV,IC9CA0lB,EAAAA,GAAAA,IAAYC,EAAAA,IAAKC,EAAAA,M,yDCFbC,E,SAAsD,MAElC/f,KAAK,CAACtL,EAAOoB,GAAI,soQAA2oQ,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,oCAAoC,MAAQ,GAAG,SAAW,84GAA84G,eAAiB,CAAC,skSAA0kS,WAAa,MAEhwpB,O,iBCPApB,EAAOD,QAAUU,mC,iBCAjBT,EAAOD,QAAUQ,mC,iBCAjBP,EAAOD,QAAUS,oCCCb8qB,yBAA2B,GCD3BC,EDIJ,SAASC,oBAAoBC,GAE5B,IAAIC,EAAeJ,yBAAyBG,GAC5C,gBAAIC,IAIA1rB,EAASsrB,yBAAyBG,GAAY,CACjDrqB,GAAIqqB,EACJE,QAAO,EACP5rB,QAAS,IAIV6rB,oBAAoBH,GAAUzH,KAAKhkB,EAAOD,QAASC,EAAQA,EAAOD,QAASyrB,qBAG3ExrB,EAAO2rB,QAAAA,GAbCD,EAAa3rB,QAoBtByrB,oBAAoB5X,EAAIgY,oBC5BpBL,EAAW,GACfC,oBAAoBK,EAAI,SAAS7P,EAAQ8P,EAAUC,EAAIhK,GACtD,IAAG+J,EAAH,CAOA,IADA,IAAIE,EAAeC,EAAAA,EACV7rB,EAAI,EAAGA,EAAImrB,EAAS3nB,OAAQxD,IAAK,CACrC0rB,EAAWP,EAASnrB,GAAG,GACvB2rB,EAAKR,EAASnrB,GAAG,GACjB2hB,EAAWwJ,EAASnrB,GAAG,GAE3B,IAJA,IAcK8rB,EAXDC,GAAAA,EACKC,EAAI,EAAGA,EAAIN,EAASloB,OAAQwoB,MAAAA,EAC/BrK,GAAsCA,GAAhBiK,IAA6Blf,OAAOwP,KAAKkP,oBAAoBK,GAAGQ,OAAM,SAAS/iB,GAAO,OAAOkiB,oBAAoBK,EAAEviB,GAAKwiB,EAASM,OAC3JN,EAAS3Z,OAAOia,IAAK,IAErBD,GAAAA,EACGpK,EAAWiK,IAAcA,EAAejK,IAG1CoK,IACFZ,EAASpZ,OAAO/R,IAAK,aACjB8rB,EAAIH,OACa/P,EAASkQ,IAGhC,OAAOlQ,EAxBN,IADA+F,EAAWA,GAAY,EACf3hB,EAAImrB,EAAS3nB,OAAY,EAAJxD,GAASmrB,EAASnrB,EAAI,GAAG,GAAK2hB,EAAU3hB,IAAKmrB,EAASnrB,GAAKmrB,EAASnrB,EAAI,GACrGmrB,EAASnrB,GAAK,CAAC0rB,EAAUC,EAAIhK,ICJ/ByJ,oBAAoB9H,EAAI,SAAS1jB,GAChC,IAAIssB,EAAStsB,GAAUA,EAAOusB,WAC7B,WAAa,OAAOvsB,EAAgB,SACpC,WAAa,OAAOA,GAErB,OADAwrB,oBAAoBlT,EAAEgU,EAAQ,CAAEjsB,EAAGisB,IAC5BA,GCLRd,oBAAoBlT,EAAI,SAASvY,EAASysB,GACzC,IAAI,IAAIljB,KAAOkjB,EACXhB,oBAAoBllB,EAAEkmB,EAAYljB,KAASkiB,oBAAoBllB,EAAEvG,EAASuJ,IAC5EwD,OAAO2f,eAAe1sB,EAASuJ,EAAK,CAAEojB,YAAW,EAAOC,IAAKH,EAAWljB,MCJ3EkiB,oBAAoBoB,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOzpB,MAAQ,IAAI0pB,SAAS,cAAb,GACd,MAAO7lB,GACR,GAAsB,iBAAXgT,OAAqB,OAAOA,QALjB,GCAxBuR,oBAAoBuB,IAAM,SAAS/sB,GASlC,OARAA,EAAS8M,OAAOkgB,OAAOhtB,IACXitB,WAAUjtB,EAAOitB,SAAW,IACxCngB,OAAO2f,eAAezsB,EAAQ,UAAW,CACxC0sB,YAAW,EACXQ,IAAK,WACJ,MAAM,IAAIC,MAAM,0FAA4FntB,EAAOoB,OAG9GpB,GCTRwrB,oBAAoBllB,EAAI,SAAS0a,EAAKoM,GAAQ,OAAOtgB,OAAOgX,UAAUC,eAAeC,KAAKhD,EAAKoM,ICC/F5B,oBAAoBU,EAAI,SAASnsB,GACX,oBAAXstB,QAA0BA,OAAOC,aAC1CxgB,OAAO2f,eAAe1sB,EAASstB,OAAOC,YAAa,CAAE7pB,MAAO,WAE7DqJ,OAAO2f,eAAe1sB,EAAS,aAAc,CAAE0D,OAAM,K,WCiB3B,SAAvB8pB,EAAgCC,EAA4BhgB,GAC/D,IAKIie,EAAUgC,EAOGzR,EAZb8P,EAAWte,EAAK,GAChBkgB,EAAclgB,EAAK,GACnBmgB,EAAUngB,EAAK,GAGIpN,EAAI,EAC3B,GAAG0rB,EAAS8B,MAAK,SAASxsB,GAAM,OAA+B,IAAxBysB,EAAgBzsB,MAAe,CACrE,IAAIqqB,KAAYiC,EACZlC,oBAAoBllB,EAAEonB,EAAajC,KACrCD,oBAAoB5X,EAAE6X,GAAYiC,EAAYjC,IAG7CkC,IAAa3R,EAAS2R,EAAQnC,sBAGlC,IADGgC,GAA4BA,EAA2BhgB,GACrDpN,EAAI0rB,EAASloB,OAAQxD,IACzBqtB,EAAU3B,EAAS1rB,GAChBorB,oBAAoBllB,EAAEunB,EAAiBJ,IAAYI,EAAgBJ,IACrEI,EAAgBJ,GAAS,KAE1BI,EAAgBJ,GAAW,EAE5B,OAAOjC,oBAAoBK,EAAE7P,GAxC9B,IAAI6R,EAAkB,CACrBC,IAAK,GA0CFC,GA7BJvC,oBAAoBK,EAAEO,EAAI,SAASqB,GAAW,OAAoC,IAA7BI,EAAgBJ,IA6B5CntB,KAAkC,4BAAIA,KAAkC,6BAAK,IACtGytB,EAAmBnnB,QAAQ2mB,EAAqBlc,KAAK,KAAM,IAC3D0c,EAAmBziB,KAAOiiB,EAAqBlc,KAAK,KAAM0c,EAAmBziB,KAAK+F,KAAK0c,I,GC/CvF,IAAIC,oBAAsBxC,oBAAoBK,OAAE,EAAW,CAAC,MAAM,WAAa,OAAOL,oBAAoB,SAC1GwC,oBAAsBxC,oBAAoBK,EAAEmC,qB","sources":["webpack://chem-generic-ui/webpack/universalModuleDefinition","webpack://chem-generic-ui/./src/components/dnd/GenericElDropTarget.js","webpack://chem-generic-ui/./src/components/fields/FieldLabel.js","webpack://chem-generic-ui/./src/components/fields/GenPropertiesFields.js","webpack://chem-generic-ui/./src/components/models/GenericSubField.js","webpack://chem-generic-ui/./src/components/table/GridBtn.js","webpack://chem-generic-ui/./src/components/dnd/GridDnD.js","webpack://chem-generic-ui/./src/components/table/UConverterRenderer.js","webpack://chem-generic-ui/./src/components/table/GridEntry.js","webpack://chem-generic-ui/./src/components/table/GenericElTableDropTarget.js","webpack://chem-generic-ui/./src/components/table/DropRenderer.js","webpack://chem-generic-ui/./src/components/table/DropTextRenderer.js","webpack://chem-generic-ui/./src/components/table/DropLinkRenderer.js","webpack://chem-generic-ui/./src/components/table/SamOption.js","webpack://chem-generic-ui/./src/components/table/SelectRenderer.js","webpack://chem-generic-ui/./src/components/table/TableRecord.js","webpack://chem-generic-ui/./src/components/dnd/DragDropItemTypes.js","webpack://chem-generic-ui/./src/data/SystemUnits.js","webpack://chem-generic-ui/./src/components/models/Attachment.js","webpack://chem-generic-ui/./src/components/tools/utils.js","webpack://chem-generic-ui/./src/asserts/main.css?bcb4","webpack://chem-generic-ui/./src/components/fields/ButtonTooltip.js","webpack://chem-generic-ui/./src/components/fields/ButtonConfirm.js","webpack://chem-generic-ui/./src/components/admin/ElementManager.js","webpack://chem-generic-ui/./src/components/tools/collate.js","webpack://chem-generic-ui/./src/components/fields/ButtonReload.js","webpack://chem-generic-ui/./src/components/tools/reinventGeneric.js","webpack://chem-generic-ui/./src/components/fields/GenProperties.js","webpack://chem-generic-ui/./src/components/dnd/PanelDnD.js","webpack://chem-generic-ui/./src/components/layers/LayerModal.js","webpack://chem-generic-ui/./src/components/tools/orten.js","webpack://chem-generic-ui/./src/components/layers/GenPropertiesLayer.js","webpack://chem-generic-ui/./src/components/layers/LayersLayout.js","webpack://chem-generic-ui/./src/components/details/GenInterface.js","webpack://chem-generic-ui/./src/components/tools/useReducerWithCallback.js","webpack://chem-generic-ui/./src/components/details/GenDSDetails.js","webpack://chem-generic-ui/./src/components/details/GenSgDetails.js","webpack://chem-generic-ui/./src/components/flow/LayerNode.js","webpack://chem-generic-ui/./src/components/flow/FlowView.js","webpack://chem-generic-ui/./src/components/flow/FlowViewerModal.js","webpack://chem-generic-ui/./src/entry.js","webpack://chem-generic-ui/./src/asserts/main.css","webpack://chem-generic-ui/external umd {\"commonjs\":\"lodash\",\"commonjs2\":\"lodash\",\"amd\":\"lodash\",\"root\":\"_\"}","webpack://chem-generic-ui/external umd {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"React\",\"root\":\"React\"}","webpack://chem-generic-ui/external umd {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"ReactDOM\",\"root\":\"ReactDOM\"}","webpack://chem-generic-ui/webpack/bootstrap","webpack://chem-generic-ui/webpack/runtime/chunk loaded","webpack://chem-generic-ui/webpack/runtime/compat get default export","webpack://chem-generic-ui/webpack/runtime/define property getters","webpack://chem-generic-ui/webpack/runtime/global","webpack://chem-generic-ui/webpack/runtime/harmony module decorator","webpack://chem-generic-ui/webpack/runtime/hasOwnProperty shorthand","webpack://chem-generic-ui/webpack/runtime/make namespace object","webpack://chem-generic-ui/webpack/runtime/jsonp chunk loading","webpack://chem-generic-ui/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"), require(\"lodash\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\", \"ReactDOM\", \"lodash\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"react\"), require(\"react-dom\"), require(\"lodash\")) : factory(root[\"React\"], root[\"ReactDOM\"], root[\"_\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(self, function(__WEBPACK_EXTERNAL_MODULE__4639__, __WEBPACK_EXTERNAL_MODULE__1346__, __WEBPACK_EXTERNAL_MODULE__7607__) {\nreturn ","/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuid } from 'uuid';\nimport { DropTarget } from 'react-dnd';\n// import Aviator from 'aviator';\nimport { Tooltip, OverlayTrigger, Popover } from 'react-bootstrap';\n// import UIStore from '../stores/UIStore';\n\n// const handleSampleClick = (type, id) => {\n// const { currentCollection, isSync } = UIStore.getState();\n// if (!isNaN(id)) type += `/${id}`;\n// const collectionUrl = `${currentCollection.id}/${type}`;\n// Aviator.navigate(isSync ? `/scollection/${collectionUrl}` : `/collection/${collectionUrl}`);\n// };\n\n// const handleElementClick = (type, id) => {\n// const { currentCollection, isSync } = UIStore.getState();\n// if (!isNaN(id)) type += `/${id}`;\n// const collectionUrl = `${currentCollection.id}/${type}`;\n// Aviator.navigate(isSync ? `/scollection/${collectionUrl}` : `/collection/${collectionUrl}`);\n// };\n\nconst show = (opt, iconClass, onNavi) => {\n if (opt.value && opt.value.el_id) {\n const tips = opt.value.el_tip && opt.value.el_tip.split('@@');\n const tip1 = (tips && tips.length >= 1 && tips[0]) || '';\n const tip2 = (tips && tips.length >= 2 && tips[1]) || '';\n const tit = (\n <div>\n {tip1}\n <br />\n {tip2}\n </div>\n );\n const pop = (\n <Popover id=\"popover-svg\" title={tit} style={{ maxWidth: 'none', maxHeight: 'none' }}>\n <img src={opt.value.el_svg} style={{ height: '26vh', width: '26vh' }} alt=\"\" />\n </Popover>\n );\n let label = opt.value.el_label;\n const simg = (path, tip, txt) => ((path && path !== '') ? (\n <div className=\"s-img\">\n <OverlayTrigger trigger={['hover']} placement=\"left\" rootClose onHide={null} overlay={pop}>\n <img src={path} alt=\"\" />\n </OverlayTrigger>\n <span className=\"data\">{txt}</span>\n </div>\n ) : (\n <OverlayTrigger\n placement=\"top\"\n overlay={(\n <Tooltip id={uuid()}>\n {tip1}\n <br />\n {tip2}\n </Tooltip>\n )}\n >\n <div className=\"data\">{txt}</div>\n </OverlayTrigger>\n ));\n if (opt.value.el_type === 'sample') {\n if (opt.value.is_new !== true) {\n label = (\n <a role=\"link\" onClick={() => onNavi(opt.value.el_type, opt.value.el_id)} style={{ cursor: 'pointer' }}>\n <span className=\"reaction-material-link\">{label}</span>\n </a>\n );\n }\n }\n if (opt.value.el_type === 'element') {\n label = (\n <a role=\"link\" onClick={() => onNavi(opt.value.el_klass, opt.value.el_id)} style={{ cursor: 'pointer' }}>\n <i className={opt.value.icon_name} />\n {' '}\n <span className=\"reaction-material-link\">{label}</span>\n </a>\n );\n }\n return simg(opt.value.el_svg, opt.value.el_tip, label);\n }\n if (iconClass === 'element') {\n return (<span className=\"fa fa-link icon_generic_nav indicator\" />);\n }\n return (<span className={`icon-${iconClass} indicator`} />);\n};\n\nconst source = (type, props, id) => {\n let isAssoc = false;\n const taggable = (props && props.tag && props.tag.taggable_data) || {};\n if (taggable.element && taggable.element.id === id) {\n isAssoc = false;\n } else {\n isAssoc = !!(taggable.reaction_id || taggable.wellplate_id || taggable.element);\n }\n\n switch (type) {\n case 'molecule':\n return {\n el_id: props.molecule.id,\n el_type: 'molecule',\n el_label: props.molecule_name_label,\n el_tip: `${props.molecule.inchikey}@@${props.molecule.cano_smiles}`,\n };\n case 'sample':\n return {\n el_id: props.id,\n is_new: true,\n cr_opt: isAssoc === true ? 1 : 0,\n isAssoc,\n el_type: 'sample',\n el_label: props.short_label,\n el_tip: props.short_label\n };\n case 'element':\n return {\n el_id: props.id,\n el_type: 'element',\n icon_name: (props.element_klass && props.element_klass.icon_name) || '',\n el_klass: props.type,\n el_label: props.short_label,\n el_tip: `${props.label}@@${props.name}`\n };\n default:\n return {\n el_id: props.id,\n el_type: props.type,\n el_label: props.short_label,\n el_tip: props.short_label,\n };\n }\n};\n\nconst dropTarget = {\n drop(targetProps, monitor) {\n const sourceProps = monitor.getItem().element;\n const sourceTag = source(targetProps.opt.type.split('_')[1], sourceProps, targetProps.opt.id);\n targetProps.onDrop(sourceTag);\n },\n canDrop(_targetProps, _monitor) {\n return true;\n },\n};\n\nconst dropCollect = (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n canDrop: monitor.canDrop()\n});\n\nclass GenericElDropTarget extends Component {\n render() {\n const {\n connectDropTarget, isOver, canDrop, opt\n } = this.props;\n const { onNavi } = opt;\n const iconClass = (opt.dndItems && opt.dndItems[0] === 'molecule' ? 'sample' : opt.dndItems[0]);\n const className = `target${isOver ? ' is-over' : ''}${canDrop ? ' can-drop' : ''}`;\n return connectDropTarget(<div className={className}>{show(opt, iconClass, onNavi)}</div>);\n }\n}\n\nexport default\nDropTarget(props => props.opt.dndItems, dropTarget, dropCollect)(GenericElDropTarget);\n\nGenericElDropTarget.propTypes = {\n connectDropTarget: PropTypes.func.isRequired,\n isOver: PropTypes.bool.isRequired,\n canDrop: PropTypes.bool.isRequired,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { OverlayTrigger, Tooltip } from 'react-bootstrap';\nimport { v4 as uuid } from 'uuid';\n\nconst FieldLabel = (props) => {\n const { label, desc } = props;\n return (desc && desc !== '') ? (\n <OverlayTrigger placement=\"top\" delayShow={1000} overlay={<Tooltip id={uuid()}>{desc}</Tooltip>}>\n <span>{label}</span>\n </OverlayTrigger>\n ) : <span>{label}</span>;\n};\n\nFieldLabel.propTypes = { label: PropTypes.string.isRequired, desc: PropTypes.string };\nFieldLabel.defaultProps = { desc: '' };\n\nexport default FieldLabel;\n","/* eslint-disable react/destructuring-assignment */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable no-eval */\n/* eslint-disable no-restricted-globals */\n\nimport React from 'react';\nimport {\n Button, Checkbox, FormGroup, FormControl,\n InputGroup, ListGroup, ListGroupItem, OverlayTrigger, Radio, Tooltip\n} from 'react-bootstrap';\nimport Select from 'react-select';\nimport Dropzone from 'react-dropzone';\nimport { v4 as uuid } from 'uuid';\nimport { filter } from 'lodash';\nimport FieldLabel from './FieldLabel';\nimport {\n downloadFile, genUnit, genUnitSup, unitConvToBase\n} from '../tools/utils';\nimport GenericElDropTarget from '../dnd/GenericElDropTarget';\nimport TableRecord from '../table/TableRecord';\n\nconst GenPropertiesCalculate = (opt) => {\n const fields = (opt.layer && opt.layer.fields) || [];\n let showVal = 0;\n let showTxt = null;\n let newFormula = opt.formula;\n\n const calFields = filter(fields, o => (o.type === 'integer' || o.type === 'system-defined'));\n const regF = /[a-zA-Z0-9]+/gm;\n // eslint-disable-next-line max-len\n const varFields = (opt.formula && opt.formula.match(regF)) ? opt.formula.match(regF).sort((a, b) => b.length - a.length) : [];\n\n varFields.forEach((fi) => {\n if (!isNaN(fi)) return;\n\n const tmpField = calFields.find(e => e.field === fi);\n if (typeof tmpField === 'undefined' || tmpField == null) {\n newFormula = newFormula.replace(fi, 0);\n } else {\n newFormula = (tmpField.type === 'system-defined') ? newFormula.replace(fi, parseFloat(unitConvToBase(tmpField) || 0)) : newFormula.replace(fi, parseFloat(tmpField.value || 0));\n }\n });\n\n if (opt.type === 'formula-field') {\n try {\n showVal = eval(newFormula);\n showTxt = !isNaN(showVal) ? parseFloat(showVal.toFixed(5)) : 0;\n } catch (e) {\n if (e instanceof SyntaxError) {\n showTxt = e.message;\n }\n }\n }\n\n const fieldHeader = opt.label === '' ? null : (<FieldLabel label={opt.label} desc={opt.description} />);\n return (\n <FormGroup>\n {fieldHeader}\n <InputGroup>\n <FormControl\n type=\"text\"\n value={showTxt}\n onChange={opt.onChange}\n className=\"readonly\"\n readOnly=\"readonly\"\n required={false}\n placeholder={opt.placeholder}\n min={0}\n />\n <InputGroup.Button>\n <OverlayTrigger\n placement=\"bottom\"\n overlay={<Tooltip id=\"update_calculation_field\">adjust</Tooltip>}\n >\n <Button active className=\"clipboardBtn\" onClick={() => opt.onChange(showTxt)}>\n <i className=\"fa fa-arrow-right\" aria-hidden=\"true\" />\n </Button>\n </OverlayTrigger>\n </InputGroup.Button>\n <FormControl\n type=\"text\"\n value={opt.value}\n onChange={opt.onChange}\n required={false}\n placeholder={opt.placeholder}\n min={0}\n />\n </InputGroup>\n </FormGroup>\n );\n};\n\nconst GenPropertiesCheckbox = opt => (\n <FormGroup>\n <Checkbox\n name={opt.field}\n checked={opt.value}\n onChange={opt.onChange}\n disabled={opt.readOnly}\n >\n <FormControl.Static>{opt.label}</FormControl.Static>\n </Checkbox>\n </FormGroup>\n);\n\nconst GenPropertiesDrop = (opt) => {\n const className = opt.isRequired ? 'drop_generic_properties field_required' : 'drop_generic_properties';\n\n let createOpt = null;\n if (opt.value.is_new === true) {\n createOpt = (\n <div className=\"sample_radios\">\n <OverlayTrigger placement=\"top\" overlay={<Tooltip id={uuid()}>associate with this sample</Tooltip>}>\n <Radio name={`dropS_${opt.value.el_id}`} disabled={opt.value.isAssoc === true} checked={opt.value.cr_opt === 0} onChange={() => opt.onChange({ ...opt.value, cr_opt: 0 })} inline>Current</Radio>\n </OverlayTrigger>\n <OverlayTrigger placement=\"top\" overlay={<Tooltip id={uuid()}>split from the sample first and then associate with it</Tooltip>}>\n <Radio name={`dropS_${opt.value.el_id}`} checked={opt.value.cr_opt === 1} onChange={() => opt.onChange({ ...opt.value, cr_opt: 1 })} inline>Split</Radio>\n </OverlayTrigger>\n <OverlayTrigger placement=\"top\" overlay={<Tooltip id={uuid()}>duplicate the sample first and then associate with it</Tooltip>}>\n <Radio name={`dropS_${opt.value.el_id}`} checked={opt.value.cr_opt === 2} onChange={() => opt.onChange({ ...opt.value, cr_opt: 2 })} inline>Copy</Radio>\n </OverlayTrigger>\n </div>\n );\n }\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n const defaultIcon = opt.type === 'drag_element' ? <span className=\"fa fa-link icon_generic_nav indicator\" /> : <span className=\"icon-sample indicator\" />;\n const dragTarget = opt.isPreview === true ? <div className=\"target\">{defaultIcon}</div> : <GenericElDropTarget opt={opt} onDrop={opt.onChange} />;\n\n return (\n <FormGroup>\n {fieldHeader}\n <FormControl.Static style={{ paddingBottom: '0px' }}>\n <div className={className}>\n {dragTarget}\n {createOpt}\n <div>\n <OverlayTrigger placement=\"top\" overlay={<Tooltip id={uuid()}>remove</Tooltip>}>\n <Button className=\"btn_del\" bsStyle=\"danger\" bsSize=\"xsmall\" onClick={() => opt.onChange({})}><i className=\"fa fa-trash-o\" aria-hidden=\"true\" /></Button>\n </OverlayTrigger>\n </div>\n </div>\n </FormControl.Static>\n </FormGroup>\n );\n};\n\nconst GenDummy = () => (\n <FormGroup className=\"text_generic_properties\">\n <FormControl type=\"text\" className=\"dummy\" readOnly />\n </FormGroup>\n);\n\nconst GenPropertiesInputGroup = (opt) => {\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n const fLab = e => <div key={uuid()} className=\"form-control g_input_group_label\">{e.value}</div>;\n const fTxt = e => <FormControl className=\"g_input_group\" key={e.id} type={e.type} name={e.id} value={e.value} onChange={o => opt.onSubChange(o, e.id, opt.f_obj)} />;\n const fUnit = e => (\n <span key={`${e.id}_GenPropertiesInputGroup`} className=\"input-group\" style={{ width: '100%' }}>\n <FormControl key={e.id} type=\"number\" name={e.id} value={e.value} onChange={o => opt.onSubChange(o, e.id, opt.f_obj)} min={1} />\n <InputGroup.Button>\n <Button active onClick={() => opt.onSubChange(e, e.id, opt.f_obj)} bsStyle=\"success\">\n {genUnitSup(genUnit(e.option_layers, e.value_system).label) || ''}\n </Button>\n </InputGroup.Button>\n </span>\n );\n const subs = opt.f_obj && opt.f_obj.sub_fields && opt.f_obj.sub_fields.map((e) => {\n if (e.type === 'label') { return fLab(e); } if (e.type === 'system-defined') { return fUnit(e); } return fTxt(e);\n });\n return (\n <FormGroup>\n {fieldHeader}\n <InputGroup style={{ display: 'flex' }}>\n {subs}\n </InputGroup>\n </FormGroup>\n );\n};\n\nconst GenPropertiesNumber = (opt) => {\n let className = opt.isEditable ? 'editable' : 'readonly';\n className = opt.isRequired && opt.isEditable ? 'required' : className;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n return (\n <FormGroup>\n {fieldHeader}\n <FormControl\n type=\"number\"\n value={opt.value}\n onChange={opt.onChange}\n className={className}\n readOnly={opt.readOnly}\n required={opt.isRequired}\n placeholder={opt.placeholder}\n min={1}\n />\n </FormGroup>\n );\n};\n\nconst GenPropertiesSelect = (opt) => {\n const options = opt.options.map(op => ({ value: op.key, name: op.key, label: op.label }));\n let className = opt.isEditable ? 'select_generic_properties_editable' : 'select_generic_properties_readonly';\n className = opt.isRequired && opt.isEditable ? 'select_generic_properties_required' : className;\n className = `${className} status-select`;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n const val = options.find(o => o.value === opt.value) || null;\n return (\n <FormGroup>\n {fieldHeader}\n <Select\n isClearable\n menuContainerStyle={{ position: 'absolute' }}\n name={opt.field}\n multi={false}\n options={options}\n value={val}\n onChange={opt.onChange}\n className={className}\n disabled={opt.readOnly}\n />\n </FormGroup>\n );\n};\n\nconst GenPropertiesSystemDefined = (opt) => {\n let className = opt.isEditable ? 'editable' : 'readonly';\n className = opt.isRequired && opt.isEditable ? 'required' : className;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n return (\n <FormGroup>\n {fieldHeader}\n <InputGroup>\n <FormControl\n type=\"number\"\n value={opt.value}\n onChange={opt.onChange}\n className={className}\n readOnly={opt.readOnly}\n required={opt.isRequired}\n placeholder={opt.placeholder}\n min={1}\n />\n <InputGroup.Button>\n <Button disabled={opt.readOnly} active onClick={opt.onClick} bsStyle=\"success\">\n {genUnitSup(genUnit(opt.option_layers, opt.value_system).label) || ''}\n </Button>\n </InputGroup.Button>\n </InputGroup>\n </FormGroup>\n );\n};\n\nconst GenPropertiesTable = (opt) => {\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n return (\n <FormGroup>\n {fieldHeader}\n <TableRecord key={`grid_${opt.f_obj.field}`} opt={opt} />\n </FormGroup>\n );\n};\n\nconst GenPropertiesText = (opt) => {\n let className = opt.isEditable ? 'editable' : 'readonly';\n className = opt.isRequired && opt.isEditable ? 'required' : className;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n return (\n <FormGroup className=\"text_generic_properties\">\n {fieldHeader}\n <FormControl\n type=\"text\"\n value={opt.value}\n onChange={opt.onChange}\n className={className}\n readOnly={opt.readOnly}\n required={opt.isRequired}\n placeholder={opt.placeholder}\n />\n </FormGroup>\n );\n};\n\nconst GenPropertiesTextArea = (opt) => {\n let className = opt.isEditable ? 'editable' : 'readonly';\n className = opt.isRequired && opt.isEditable ? 'required' : className;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n return (\n <FormGroup className=\"text_generic_properties\">\n {fieldHeader}\n <FormControl\n componentClass=\"textarea\"\n value={opt.value}\n onChange={opt.onChange}\n className={className}\n readOnly={opt.readOnly}\n required={opt.isRequired}\n placeholder={opt.placeholder}\n />\n </FormGroup>\n );\n};\n\nconst GenTextFormula = (opt) => {\n const { layers } = opt;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n const subs = [];\n (opt.f_obj && opt.f_obj.text_sub_fields).map((e) => {\n const { layer, field, separator } = e;\n if (field && field !== '') {\n if (field.includes('[@@]')) {\n const fds = field.split('[@@]');\n if (fds && fds.length === 2) {\n const fdt = ((layers[layer] || {}).fields || []).find(f => f.field === fds[0] && f.type === 'table');\n ((fdt && fdt.sub_values) || []).forEach((svv) => {\n if (svv && svv[fds[1]] && svv[fds[1]] !== '') { subs.push(svv[fds[1]]); subs.push(separator); }\n });\n }\n } else {\n const fd = ((layers[layer] || {}).fields || []).find(f => f.field === field);\n if (fd && fd.value && fd.value !== '') { subs.push(fd.value); subs.push(separator); }\n }\n }\n return true;\n });\n return (\n <FormGroup className=\"text_generic_properties\">\n {fieldHeader}\n <FormControl\n type=\"text\"\n value={subs.join('')}\n className=\"readonly\"\n readOnly\n required={false}\n />\n </FormGroup>\n );\n};\n\nconst renderListGroupItem = (opt, attachment) => {\n const delBtn = (\n <Button bsSize=\"xsmall\" id={attachment.uid} className=\"button-right\" onClick={() => opt.onChange({ ...opt.value, action: 'd', uid: attachment.uid })}>\n <i className=\"fa fa-times\" aria-hidden=\"true\" />\n </Button>\n );\n const filename = attachment.aid\n ? (<a onClick={() => downloadFile({ contents: `/api/v1/attachments/${attachment.aid}`, name: attachment.filename })} style={{ cursor: 'pointer' }}>{attachment.filename}</a>) : attachment.filename;\n return (\n <div className=\"generic_grid\">\n <div>\n <div>{delBtn}</div>\n <div className=\"generic_grid_row\">{filename}</div>\n <div className=\"generic_grid_row\">\n <FormGroup bsSize=\"small\">\n <FormControl\n type=\"text\"\n value={attachment.label || ''}\n onChange={e => opt.onChange({\n ...opt.value, action: 'l', uid: attachment.uid, val: e\n })}\n />\n </FormGroup>\n </div>\n </div>\n </div>\n );\n};\n\nconst GenPropertiesUpload = (opt) => {\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n const attachments = (opt.value && opt.value.files) || [];\n if (opt.isSearch) return (<div>(This is an upload)</div>);\n\n return (\n <FormGroup className=\"text_generic_properties\">\n {fieldHeader}\n <FormControl.Static style={{ paddingBottom: '0px' }}>\n <Dropzone\n id=\"dropzone\"\n onDrop={e => opt.onChange({\n ...opt.value, action: 'f', val: e\n })}\n style={{ height: 30, width: '100%', border: '3px dashed lightgray' }}\n >\n <div style={{ textAlign: 'center', paddingTop: 6, color: 'gray' }}>\n Drop File, or Click to Select.\n </div>\n </Dropzone>\n </FormControl.Static>\n <ListGroup>\n {attachments.map(attachment => (\n <ListGroupItem key={attachment.id} className=\"generic_files\">\n {renderListGroupItem(opt, attachment)}\n </ListGroupItem>\n ))}\n </ListGroup>\n </FormGroup>\n );\n};\n\nconst GenWFNext = (opt) => {\n const options = (opt.f_obj.wf_options || []).map((op) => {\n const label = op.label.match(/(.*)\\(.*\\)/);\n return ({ value: op.key, name: op.key, label: label[1] === '' ? label[0] : label[1] });\n });\n let className = opt.isEditable ? 'select_generic_properties_editable' : 'select_generic_properties_readonly';\n className = opt.isRequired && opt.isEditable ? 'select_generic_properties_required' : className;\n className = `${className} status-select`;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n const val = options.find(o => o.value === opt.value) || null;\n return (\n <FormGroup>\n {fieldHeader}\n <Select\n menuContainerStyle={{ position: 'absolute' }}\n name={opt.field}\n multi={false}\n options={options}\n value={val}\n onChange={opt.onChange}\n className={className}\n disabled={opt.readOnly}\n />\n </FormGroup>\n );\n};\n\nexport {\n GenPropertiesCalculate,\n GenPropertiesCheckbox,\n GenPropertiesDrop,\n GenDummy,\n GenTextFormula,\n GenPropertiesInputGroup,\n GenPropertiesNumber,\n GenPropertiesSelect,\n GenPropertiesSystemDefined,\n GenPropertiesTable,\n GenPropertiesText,\n GenPropertiesTextArea,\n GenPropertiesUpload,\n GenWFNext\n};\n","import { v4 as uuid } from 'uuid';\n\nexport default class GenericSubField {\n constructor(args) {\n Object.assign(this, args);\n if (!this.id) { this.id = GenericSubField.buildID(); }\n }\n\n static buildID() { return uuid(); }\n}\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuid } from 'uuid';\nimport { Button, OverlayTrigger, Tooltip } from 'react-bootstrap';\nimport GridDnD from '../dnd/GridDnD';\n\nconst AddRowBtn = ({ addRow }) => (\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id={uuid()}>add entry</Tooltip>}>\n <Button onClick={() => addRow()} bsSize=\"xsmall\" bsStyle=\"primary\"><i className=\"fa fa-plus\" aria-hidden=\"true\" /></Button>\n </OverlayTrigger>\n);\n\nAddRowBtn.propTypes = { addRow: PropTypes.func.isRequired };\n\nconst DelRowBtn = ({ delRow, node }) => {\n const { data } = node;\n return (\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id={uuid()}>remove</Tooltip>}>\n <Button onClick={() => delRow(data)} bsSize=\"xsmall\"><i className=\"fa fa-times\" aria-hidden=\"true\" /></Button>\n </OverlayTrigger>\n );\n};\n\nDelRowBtn.propTypes = { delRow: PropTypes.func.isRequired, node: PropTypes.object.isRequired };\n\nconst NullRowBtn = () => (<div className=\"grid-btn-none\"><span className=\"fa fa-arrows\" /></div>);\n\nconst DnDRowBtn = ({\n moveRow, field, type, node\n}) => (\n <GridDnD field={field} type={type} rowValue={node.data} handleMove={moveRow} />\n);\n\nDnDRowBtn.propTypes = {\n moveRow: PropTypes.func.isRequired,\n field: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n node: PropTypes.object.isRequired\n};\n\nexport {\n AddRowBtn, DelRowBtn, DnDRowBtn, NullRowBtn\n};\n","import React from 'react';\nimport { DragSource, DropTarget } from 'react-dnd';\nimport { compose } from 'redux';\n\nconst orderSource = {\n beginDrag(props) {\n const { field, rowValue } = props;\n return { fid: field, rId: rowValue.id };\n },\n};\n\nconst orderTarget = {\n drop(props, monitor) {\n const { field, rowValue, handleMove } = props;\n const tar = { fid: field, rId: rowValue.id };\n const src = monitor.getItem();\n if (tar.fid === src.fid && tar.rId !== src.rId) handleMove(src.rId, tar.rId);\n },\n};\n\nconst orderDragCollect = (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n});\n\nconst orderDropCollect = (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n canDrop: monitor.canDrop(),\n});\n\nconst GridDnD = ({\n connectDragSource, connectDropTarget, isDragging, isOver, canDrop,\n}) => {\n const className = `generic_grid_dnd${isOver ? ' is-over' : ''}${canDrop ? ' can-drop' : ''}${isDragging ? ' is-dragging' : ''}`;\n return compose(connectDragSource, connectDropTarget)(<div className={className}><div className=\"dnd-btn\"><span className=\"text-info fa fa-arrows\" /></div></div>);\n};\n\nexport default compose(\n DragSource(s => s.type, orderSource, orderDragCollect),\n DropTarget(s => s.type, orderTarget, orderDropCollect)\n)(GridDnD);\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'react-bootstrap';\nimport { genUnit, genUnitSup } from '../tools/utils';\n\nconst UConverterRenderer = props => {\n const { sField, onChange, node } = props;\n if (sField.type !== 'system-defined') return null;\n const { data } = node;\n return (\n <Button key={`ucr_${data.id}`} active onClick={() => onChange(sField, node)} bsStyle=\"success\">\n {genUnitSup(genUnit(sField.option_layers, data[sField.id].value_system).label) || ''}\n </Button>\n );\n};\n\nUConverterRenderer.propTypes = {\n sField: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n node: PropTypes.object.isRequired\n};\n\nexport default UConverterRenderer;\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport { FormControl, InputGroup } from 'react-bootstrap';\n\nconst setCell = (columnDef, rowValue) => {\n const {\n type, field, onCellChange, cellRenderer, cellParams\n } = columnDef;\n switch (type) {\n case 'text':\n return (\n <FormControl type=\"text\" value={rowValue[field] || ''} onChange={e => onCellChange({ e, columnDef, rowValue })} />\n );\n case 'system-defined':\n return (\n <InputGroup>\n <FormControl type=\"number\" value={rowValue[field].value || ''} onChange={e => onCellChange({ e, columnDef, rowValue })} />\n <InputGroup.Button>\n {cellRenderer({ ...cellParams, node: { data: rowValue } })}\n </InputGroup.Button>\n </InputGroup>\n );\n case 'select':\n case 'drag_molecule':\n case 'drag_sample':\n case 'dnd':\n return (cellRenderer({ ...cellParams, node: { data: rowValue } }));\n default:\n return <span />;\n }\n};\n\nconst ColumnHeader = _columnDefs => {\n const columnDefs = _columnDefs;\n const ch = [];\n const h = (col, idx) => {\n const {\n width, headerName, headerComponent, headerParams\n } = col;\n const colCss = {};\n if (width) { Object.assign(colCss, { width, minWidth: width }); }\n return (\n <div key={`column_header_${col.colId || col.field}_${idx}`} className=\"generic_grid_header\" style={colCss}>\n {headerComponent ? headerComponent(headerParams) : null}\n <div style={colCss}>{headerName}</div>\n </div>\n );\n };\n columnDefs.forEach((col, idx) => ch.push(h(col, idx)));\n return (<div className=\"generic_grid\" style={{ borderBottom: '1px solid #ccc' }}><div>{ch}</div></div>);\n};\n\nconst ColumnRow = (_columnDefs, _rowValue) => {\n const columnDefs = _columnDefs;\n const rowValue = _rowValue;\n const ch = [];\n const h = (col, val, idx) => {\n const {\n field, width, cellParams, cellRenderer\n } = col;\n const colCss = {};\n if (width) { Object.assign(colCss, { width, minWidth: width }); }\n return (\n <div key={`column_row_${val.id}_${col.colId || col.field}_${idx}`} className=\"generic_grid_row\" style={colCss}>\n {field ? (setCell(col, val) || '') : (cellRenderer({ ...cellParams, node: { data: val } }) || '')}\n </div>\n );\n };\n columnDefs.forEach((col, idx) => ch.push(h(col, rowValue, idx)));\n return (<div key={`column_row_${rowValue.id}`} className=\"generic_grid\"><div>{ch}</div></div>);\n};\n\nconst NoRow = rows => {\n const values = rows;\n if (values && values.length > 0) return null;\n return (<div className=\"generic_grid\"><div><div className=\"generic_grid_row\" style={{ width: '100%' }}>(No data)</div></div></div>);\n};\n\nexport { ColumnHeader, ColumnRow, NoRow };\n","/* eslint-disable no-unused-vars */\n/* eslint-disable react/forbid-prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuid } from 'uuid';\nimport { DropTarget } from 'react-dnd';\nimport {\n Tooltip, OverlayTrigger, Popover, Button\n} from 'react-bootstrap';\n\nconst base = (opt, iconClass, onDrop = () => {}, params = {}) => {\n const noSvg = '/images/not_available.svg';\n if (opt.value && opt.value.el_id) {\n const label = opt.value.el_label;\n const svg = (opt.value.el_svg && opt.value.el_svg.endsWith('.svg')) ? opt.value.el_svg : noSvg;\n const pop = (\n <Popover id=\"popover-svg\" title={label} style={{ maxWidth: 'none', maxHeight: 'none' }}>\n <img src={svg} style={{ height: '26vh', width: '26vh' }} alt=\"\" />\n </Popover>\n );\n const simg = (path, txt) => ((path && path !== '') ? (\n <div className=\"s-img\">\n <OverlayTrigger delayShow={1000} trigger={['hover']} placement=\"top\" rootClose onHide={null} overlay={pop}>\n <img className=\"generic_grid_img\" src={path} alt=\"\" />\n </OverlayTrigger>\n <div className=\"del_btn\">\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id={uuid()}>remove this molecule</Tooltip>}>\n <Button className=\"btn_del\" bsSize=\"xsmall\" onClick={() => onDrop({}, params)}><i className=\"fa fa-trash-o\" aria-hidden=\"true\" /></Button>\n </OverlayTrigger>\n </div>\n </div>\n ) : (<div className=\"data\" style={{ width: '4vw' }}>{txt}</div>));\n return simg(svg, label);\n }\n return (<span className={`icon-${iconClass} indicator`} style={{ width: '4vw' }} />);\n};\n\nconst show = (opt, iconClass, onDrop) => {\n if (opt.type === 'table') {\n const sField = opt.sField || {};\n const subVal = opt.data[sField.id];\n const { data } = opt;\n return base(subVal, iconClass, onDrop, { sField, data });\n }\n return base(opt, iconClass);\n};\n\nconst source = (type, props, id) => {\n let isAssoc = false;\n const taggable = (props && props.tag && props.tag.taggable_data) || {};\n if (taggable.element && taggable.element.id === id) {\n isAssoc = false;\n } else {\n isAssoc = !!(taggable.reaction_id || taggable.wellplate_id || taggable.element);\n }\n\n switch (type) {\n case 'molecule':\n return {\n el_id: props.molecule.id,\n el_type: 'molecule',\n el_label: props.molecule.cano_smiles || props.molecule_formula || props.molecule_name_label,\n el_inchikey: props.molecule.inchikey,\n el_smiles: props.molecule.cano_smiles,\n el_iupac: props.molecule.iupac_name,\n el_molecular_weight: props.molecule.molecular_weight,\n el_svg: `/images/molecules/${props.molecule.molecule_svg_file}`,\n };\n case 'sample':\n return {\n el_id: props.id,\n is_new: true,\n cr_opt: 1,\n isAssoc,\n el_type: 'sample',\n el_label: props.short_label,\n el_short_label: props.short_label,\n el_name: props.name,\n el_external_label: props.external_label,\n el_molecular_weight: props.molecule_molecular_weight,\n el_svg: props.sample_svg_file ? `/images/samples/${props.sample_svg_file}` : `/images/molecules/${props.molecule.molecule_svg_file}`,\n };\n default:\n return {\n el_id: props.id,\n is_new: true,\n cr_opt: 0,\n el_type: props.type,\n el_label: props.short_label,\n };\n }\n};\n\nconst dropTarget = {\n drop(targetProps, monitor) {\n const sourceProps = monitor.getItem().element;\n const type = targetProps.opt.sField.type.split('_')[1];\n const sourceTag = source(type, sourceProps, targetProps.opt.id);\n targetProps.onDrop(sourceTag, targetProps.opt);\n },\n canDrop(targetProps, monitor) {\n return true;\n },\n};\n\nconst dropCollect = (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n canDrop: monitor.canDrop()\n});\n\nclass GenericElTableDropTarget extends Component {\n render() {\n const {\n connectDropTarget, isOver, canDrop, opt, onDrop\n } = this.props;\n const className = `target${isOver ? ' is-over' : ''}${canDrop ? ' can-drop' : ''}`;\n return connectDropTarget(<div className={className} style={{ display: 'inline-flex', justifyContent: 'center' }}>{show(opt, 'sample', onDrop)}</div>);\n }\n}\n\nexport default\nDropTarget(props => props.opt.dndItems, dropTarget, dropCollect)(GenericElTableDropTarget);\n\nGenericElTableDropTarget.propTypes = {\n connectDropTarget: PropTypes.func.isRequired,\n isOver: PropTypes.bool.isRequired,\n canDrop: PropTypes.bool.isRequired,\n opt: PropTypes.object.isRequired,\n onDrop: PropTypes.func\n};\n\nGenericElTableDropTarget.defaultProps = { onDrop: () => {} };\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { cloneDeep } from 'lodash';\nimport GenericElTableDropTarget from './GenericElTableDropTarget';\n\nconst DropRenderer = props => {\n const {\n opt, sField, onChange, node\n } = props;\n if (!['drag_molecule', 'drag_sample'].includes(sField.type)) return null;\n const { data } = node;\n opt.dndItems = [sField.type.split('_')[1]];\n opt.sField = sField;\n opt.data = data;\n const oopt = cloneDeep(opt);\n return (\n <div className=\"drop_generic_properties drop_generic_table_wrap\">\n <GenericElTableDropTarget opt={oopt} onDrop={onChange} />\n </div>\n );\n};\n\nDropRenderer.propTypes = {\n sField: PropTypes.object.isRequired,\n opt: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n node: PropTypes.object.isRequired\n};\n\nexport default DropRenderer;\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { OverlayTrigger, Tooltip } from 'react-bootstrap';\n\nconst DropTextRenderer = props => {\n const { attr, sField, node } = props;\n let displayValue = ((node.data[sField.id] || {}).value || {})[`el_${attr.value}`] || '';\n displayValue = (attr.value === 'molecular_weight' && displayValue !== '') ? displayValue.toFixed(6) : displayValue;\n return (\n <OverlayTrigger placement=\"top\" overlay={<Tooltip id=\"copy_clipboard\">copy to clipboard</Tooltip>}>\n <div role=\"button\" data-clipboard-text={displayValue} className=\"clipboardBtn\" style={{ wordBreak: 'break-all', cursor: 'copy' }}>\n {displayValue}\n </div>\n </OverlayTrigger>\n );\n};\n\nDropTextRenderer.propTypes = {\n attr: PropTypes.object.isRequired,\n sField: PropTypes.object.isRequired,\n node: PropTypes.object.isRequired\n};\n\nexport default DropTextRenderer;\n","/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/interactive-supports-focus */\n/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst DropLinkRenderer = props => {\n const { sField, node, onNavi } = props;\n const dId = ((node.data[sField.id] || {}).value || {}).el_id || '';\n const dVal = ((node.data[sField.id] || {}).value || {}).el_short_label || ' ';\n if (dId === '') return <div />;\n return (\n <a role=\"link\" onClick={() => onNavi('sample', dId)} style={{ cursor: 'pointer' }}>\n <span className=\"reaction-material-link\">{dVal}</span>\n </a>\n );\n};\n\nDropLinkRenderer.propTypes = {\n sField: PropTypes.object.isRequired,\n node: PropTypes.object.isRequired,\n onNavi: PropTypes.func\n};\n\nDropLinkRenderer.defaultProps = { onNavi: () => {} };\nexport default DropLinkRenderer;\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuid } from 'uuid';\nimport { OverlayTrigger, Radio, Tooltip } from 'react-bootstrap';\n\nconst SamOption = props => {\n const { sField, node, onChange } = props;\n const { data } = node;\n const fValue = (data[sField.id] && data[sField.id].value) || {};\n if (!fValue.is_new) return <div />;\n const rUUID = uuid();\n return (\n <div className=\"generic_sam_options\">\n <OverlayTrigger delayShow={1000} placement=\"right\" overlay={<Tooltip id={uuid()}>associate with this sample</Tooltip>}>\n <Radio\n name={`dropS_${rUUID}`}\n disabled={fValue.isAssoc}\n checked={fValue.cr_opt === 0}\n onChange={() => onChange({ node, subField: sField, crOpt: 0 })}\n >\n Current\n </Radio>\n </OverlayTrigger>\n <OverlayTrigger delayShow={1000} placement=\"right\" overlay={<Tooltip id={uuid()}>split from the sample first and then associate with it</Tooltip>}>\n <Radio\n name={`dropS_${rUUID}`}\n checked={fValue.cr_opt === 1}\n onChange={() => onChange({ node, subField: sField, crOpt: 1 })}\n >\n Split\n </Radio>\n </OverlayTrigger>\n <OverlayTrigger delayShow={1000} placement=\"right\" overlay={<Tooltip id={uuid()}>duplicate the sample first and then associate with it</Tooltip>}>\n <Radio\n name={`dropS_${rUUID}`}\n checked={fValue.cr_opt === 2}\n onChange={() => onChange({ node, subField: sField, crOpt: 2 })}\n >\n Copy\n </Radio>\n </OverlayTrigger>\n </div>\n );\n};\n\nSamOption.propTypes = {\n sField: PropTypes.object.isRequired,\n node: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired\n};\n\nexport default SamOption;\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from 'react-select';\n\nconst SelectRenderer = props => {\n const {\n sField, onChange, sOptions, node\n } = props;\n if (sField.type !== 'select' || sOptions.length < 1) return null;\n const { data } = node;\n const val = sOptions.find(o => o.value === data[sField.id].value) || null;\n return (\n <Select\n isClearable\n menuContainerStyle={{ position: 'absolute' }}\n multi={false}\n options={sOptions}\n value={val}\n onChange={e => onChange(e, sField, node)}\n className=\"status-select\"\n style={{ textAlign: 'left' }}\n />\n );\n};\n\nSelectRenderer.propTypes = {\n sField: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n node: PropTypes.object.isRequired,\n sOptions: PropTypes.arrayOf(PropTypes.object).isRequired\n};\n\nexport default SelectRenderer;\n","/* eslint-disable no-restricted-globals */\n/* eslint-disable no-empty */\n/* eslint-disable react/forbid-prop-types */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Numeral from 'numeral';\nimport GenericSubField from '../models/GenericSubField';\nimport {\n AddRowBtn, DelRowBtn, DnDRowBtn, NullRowBtn\n} from './GridBtn';\nimport { ColumnHeader, ColumnRow, NoRow } from './GridEntry';\nimport UConverterRenderer from './UConverterRenderer';\nimport {\n genUnits, unitConversion, molOptions, samOptions\n} from '../tools/utils';\nimport DropRenderer from './DropRenderer';\nimport DropTextRenderer from './DropTextRenderer';\nimport DropLinkRenderer from './DropLinkRenderer';\nimport SampOption from './SamOption';\nimport DragDropItemTypes from '../dnd/DragDropItemTypes';\nimport SelectRenderer from './SelectRenderer';\n\nexport default class TableRecord extends React.Component {\n constructor(props) {\n super(props);\n this.delRow = this.delRow.bind(this);\n this.addRow = this.addRow.bind(this);\n this.moveRow = this.moveRow.bind(this);\n this.onCellChange = this.onCellChange.bind(this);\n this.onSelectClick = this.onSelectClick.bind(this);\n this.onUnitClick = this.onUnitClick.bind(this);\n this.onDrop = this.onDrop.bind(this);\n this.onChk = this.onChk.bind(this);\n this.getColumns = this.getColumns.bind(this);\n }\n\n onCellChange(params) {\n const { e, columnDef, rowValue } = params;\n const newValue = e.target.value;\n const oldValue = rowValue[columnDef.field].value;\n if (oldValue === newValue) return;\n if (columnDef.type === 'text') {\n rowValue[columnDef.field] = newValue;\n }\n if (columnDef.type === 'system-defined') {\n if (isNaN(newValue)) return;\n rowValue[columnDef.field].value = Numeral(newValue).value();\n }\n const { opt } = this.props;\n const subVals = opt.f_obj.sub_values || [];\n const idx = subVals.findIndex(s => s.id === rowValue.id);\n subVals.splice(idx, 1, rowValue);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(0, 0, opt.f_obj, true);\n }\n\n onSelectClick(e, subField, node) {\n const { data } = node;\n const { opt } = this.props;\n const subVals = opt.f_obj.sub_values || [];\n const subVal = subVals.find(s => s.id === data.id);\n subVal[subField.id] = { value: e ? e.value : '' };\n const idx = subVals.findIndex(s => s.id === data.id);\n subVals.splice(idx, 1, subVal);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(subField, subField.id, opt.f_obj, true);\n }\n\n onUnitClick(subField, node) {\n const { data } = node;\n const { opt } = this.props;\n const subVals = opt.f_obj.sub_values || [];\n const subVal = subVals.find(s => s.id === data.id);\n const units = genUnits(subField.option_layers);\n let uIdx = units.findIndex(u => u.key === subVal[subField.id].value_system);\n if (uIdx < units.length - 1) uIdx += 1; else uIdx = 0;\n const vs = units.length > 0 ? units[uIdx].key : '';\n const v = unitConversion(subField.option_layers, vs, subVal[subField.id].value);\n subVal[subField.id] = { value: v, value_system: vs };\n const idx = subVals.findIndex(s => s.id === data.id);\n subVals.splice(idx, 1, subVal);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(subField, subField.id, opt.f_obj, true);\n }\n\n onDrop(targetProps, targetOpt) {\n const { opt } = this.props;\n const subField = targetOpt.sField;\n const subVals = opt.f_obj.sub_values || [];\n const subVal = subVals.find(s => s.id === targetOpt.data.id);\n subVal[subField.id] = { value: targetProps };\n const idx = subVals.findIndex(s => s.id === targetOpt.data.id);\n subVals.splice(idx, 1, subVal);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(subField, subField.id, opt.f_obj, true);\n }\n\n onChk(params) {\n const { node, subField, crOpt } = params;\n const { opt } = this.props;\n const subVals = opt.f_obj.sub_values || [];\n const subVal = subVals.find(s => s.id === node.data.id);\n node.data[subField.id].value.cr_opt = crOpt;\n subVal[subField.id] = { value: node.data[subField.id].value };\n const idx = subVals.findIndex(s => s.id === node.data.id);\n subVals.splice(idx, 1, subVal);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(subField, subField.id, opt.f_obj, true);\n }\n\n getColumns() {\n const { opt } = this.props;\n const { selectOptions, onNavi } = opt;\n const sValues = (opt.f_obj.sub_values || []);\n let columnDefs = [];\n (opt.f_obj.sub_fields || []).forEach(sF => {\n let colDef = {\n type: sF.type, headerName: sF.col_name, field: sF.id\n };\n const colDefExt = [];\n if (sF.type === 'text') {\n colDef = { ...colDef, editable: true, onCellChange: this.onCellChange };\n }\n if (sF.type === 'select') {\n let sOptions = (selectOptions[sF.option_layers] && selectOptions[sF.option_layers].options) || [];\n sOptions = sOptions.map(op => ({ value: op.key, name: op.key, label: op.label }));\n const cellParams = { sField: sF, onChange: this.onSelectClick, sOptions };\n colDef = {\n ...colDef, cellRenderer: SelectRenderer, cellParams, onCellChange: this.onCellChange\n };\n }\n if (sF.type === 'system-defined') {\n const cellParams = { sField: sF, onChange: this.onUnitClick };\n colDef = {\n ...colDef, cellRenderer: UConverterRenderer, cellParams, onCellChange: this.onCellChange\n };\n }\n if (sF.type === 'drag_molecule') {\n const cellParams = { sField: sF, opt, onChange: this.onDrop };\n colDef = {\n ...colDef, cellRenderer: DropRenderer, cellParams, onCellChange: this.onCellChange, width: '5vw'\n };\n const conf = ((sF.value || '').split(';') || []);\n conf.forEach(c => {\n const attr = molOptions.find(m => m.value === c);\n if (attr) {\n const ext = {\n colId: c, editable: false, type: 'text', headerName: attr.label, cellRenderer: DropTextRenderer, cellParams: { attr, sField: sF }\n };\n colDefExt.push(ext);\n }\n });\n }\n if (sF.type === 'drag_sample') {\n const sOpt = sValues.filter(o => o[sF.id] && o[sF.id].value && o[sF.id].value.is_new);\n const cellParams = { sField: sF, opt, onChange: this.onDrop };\n colDef = {\n ...colDef, cellRenderer: DropRenderer, cellParams, onCellChange: this.onCellChange, width: '5vw'\n };\n const addOption = {\n colId: 'sam_option', editable: false, type: 'text', headerName: '', cellRenderer: SampOption, cellParams: { sField: sF, onChange: this.onChk }, width: '3vw'\n };\n if (sOpt.length > 0) colDefExt.push(addOption);\n const addLink = {\n colId: 'sam_link', editable: false, type: 'text', headerName: 'Short label', cellRenderer: DropLinkRenderer, cellParams: { sField: sF, onNavi }, width: '5vw'\n };\n colDefExt.push(addLink);\n const conf = ((sF.value || '').split(';') || []);\n conf.forEach(c => {\n const attr = samOptions.find(m => m.value === c);\n if (attr) {\n const ext = {\n colId: c, editable: false, type: 'text', headerName: attr.label, cellRenderer: DropTextRenderer, cellParams: { attr, sField: sF }\n };\n colDefExt.push(ext);\n }\n });\n }\n columnDefs.push(colDef);\n if (colDefExt.length > 0) columnDefs = columnDefs.concat(colDefExt);\n });\n const act = {\n type: 'button',\n headerName: '',\n colId: opt.f_obj.field,\n headerComponent: AddRowBtn,\n headerParams: { addRow: this.addRow },\n cellRenderer: DelRowBtn,\n cellParams: { delRow: this.delRow },\n width: 'unset',\n };\n columnDefs.splice(0, 0, act);\n const dtype = `${DragDropItemTypes.GENERIC_GRID}_${opt.layer.key}_${opt.f_obj.field}`;\n const move = {\n type: 'dnd',\n field: opt.f_obj.field,\n headerName: '',\n colId: `${opt.f_obj.field}_dnd`,\n headerComponent: NullRowBtn,\n cellRenderer: DnDRowBtn,\n cellParams: { moveRow: this.moveRow, field: opt.f_obj.field, type: dtype },\n width: 'unset',\n };\n columnDefs.splice(0, 0, move);\n return columnDefs;\n }\n\n moveRow(source, target) {\n const { opt } = this.props;\n const alles = opt.f_obj.sub_values;\n const sid = alles.findIndex(e => e.id === source);\n const tid = alles.findIndex(e => e.id === target);\n const temp = alles[sid];\n alles[sid] = alles[tid];\n alles[tid] = temp;\n opt.onSubChange(0, 0, opt.f_obj, true);\n }\n\n delRow(rowData) {\n const { opt } = this.props;\n opt.f_obj.sub_values = opt.f_obj.sub_values.filter(s => s.id !== rowData.id);\n opt.onSubChange(0, 0, opt.f_obj, true);\n }\n\n addRow() {\n const { opt } = this.props;\n const subFields = opt.f_obj.sub_fields || [];\n const newSub = new GenericSubField();\n subFields.map(e => {\n if (e.type === 'text') return Object.assign(newSub, { [e.id]: '' });\n return Object.assign(newSub, { [e.id]: { value: '', value_system: e.value_system } });\n });\n opt.f_obj.sub_values = opt.f_obj.sub_values || [];\n opt.f_obj.sub_values.push(newSub);\n opt.onSubChange(0, 0, opt.f_obj, true);\n }\n\n render() {\n const { opt } = this.props;\n if (opt.isSearch) return (<div>(This is a table)</div>);\n if ((opt.f_obj.sub_fields || []).length < 1) return null;\n const columnDefs = this.getColumns();\n return (\n <div>\n {ColumnHeader(columnDefs)}\n <div>{NoRow(opt.f_obj.sub_values)}</div>\n <div>{(opt.f_obj.sub_values || []).map(s => ColumnRow(columnDefs, s))}</div>\n </div>\n );\n }\n}\n\nTableRecord.propTypes = {\n opt: PropTypes.object.isRequired,\n};\n","export default {\n ELEMENT: 'element',\n SAMPLE: 'sample',\n MOLECULE: 'molecule',\n LAYOUT: 'layout',\n GENERAL: 'general',\n DATA: 'data',\n UNLINKED_DATA: 'unlinked_data',\n DATASET: 'dataset',\n CONTAINER: 'container',\n ELEMENT_FIELD: 'element_field',\n GENERIC_GRID: 'generic_grid'\n};\n","export default {\n SYSTEM_UNITS:\n {\n fields: [\n {\n type: 'numeric',\n field: 'acceleration',\n label: 'Acceleration',\n default: '',\n position: 10,\n placeholder: 'acceleration',\n units: [\n { key: 'mm_s2', label: 'mm/s<sup>2</sup>' }\n ]\n },\n {\n type: 'numeric',\n field: 'agitation',\n label: 'Agitation',\n default: '',\n position: 20,\n placeholder: 'agitation',\n units: [\n { key: 'rpm', label: 'rpm' }\n ]\n },\n {\n type: 'numeric',\n field: 'amount_enzyme',\n label: 'Amount enzyme as nmol/min',\n default: '',\n position: 30,\n placeholder: 'amount enzyme as nmol/min',\n units: [\n { key: 'u', label: 'U', nm: 1 },\n { key: 'mu', label: 'mU', nm: 1000 }\n ]\n },\n {\n type: 'numeric',\n field: 'molarity',\n label: 'Chem. concentration (Molarity)',\n default: '',\n position: 40,\n placeholder: 'molarity',\n units: [\n { key: 'mol_l', label: 'mol/L (M)', nm: 1 },\n { key: 'mmol_l', label: 'mmol/L (mM)', nm: 1000 },\n { key: 'nmol_l', label: 'nmol/L (nM)', nm: 1000000 },\n { key: 'pmol_l', label: 'pmol/L (pM)', nm: 1000000000 }\n ]\n },\n {\n type: 'numeric',\n field: 'chem_distances',\n label: 'Chem. distances',\n default: '',\n position: 50,\n placeholder: 'Chem. distances',\n units: [\n { key: 'angstrom', label: 'Å' }\n ]\n },\n {\n type: 'numeric',\n field: 'concentration',\n label: 'Concentration',\n default: '',\n position: 60,\n placeholder: 'concentration',\n units: [\n { key: 'ng_l', label: 'ng/L', nm: 1000000 },\n { key: 'mg_l', label: 'mg/L', nm: 1000 },\n { key: 'g_l', label: 'g/L', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'conductivity',\n label: 'Conductivity',\n default: '',\n position: 66,\n placeholder: 'conductivity',\n units: [\n { key: 's_m', label: 'S/m', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'current',\n label: 'Current',\n default: '',\n position: 60,\n placeholder: 'Current',\n units: [\n { key: 'A', label: 'A', nm: 1 },\n { key: 'mA', label: 'mA', nm: 1000 },\n { key: 'uA', label: 'µA', nm: 1000000 },\n { key: 'nA', label: 'nA', nm: 1000000000 }\n ]\n },\n {\n type: 'numeric',\n field: 'degree',\n label: 'Degree',\n default: '',\n position: 70,\n placeholder: 'degree',\n units: [\n { key: 'degree', label: '°' }\n ]\n },\n {\n type: 'numeric',\n field: 'density',\n label: 'Density',\n default: '',\n position: 75,\n placeholder: 'density',\n units: [\n { key: 'g_cm3', label: 'g/cm<sup>3</sup>', nm: 1 },\n { key: 'kg_l', label: 'kg/l', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'duration',\n label: 'Duration',\n default: '',\n position: 80,\n placeholder: 'duration',\n units: [\n { key: 'd', label: 'd', nm: 1 },\n { key: 'h', label: 'h', nm: 24 },\n { key: 'min', label: 'm', nm: 1440 },\n { key: 's', label: 's', nm: 86400 }\n ]\n },\n {\n type: 'numeric',\n field: 'elastic_modulus',\n label: 'Elastic modulus',\n default: '',\n position: 86,\n placeholder: 'Elastic modulus',\n units: [\n { key: 'm_pa', label: 'MPa', nm: 1 },\n { key: 'k_pa', label: 'kPa', nm: 1000 },\n { key: 'pa', label: 'Pa', nm: 1000000 }\n ]\n },\n {\n type: 'numeric',\n field: 'electric_field',\n label: 'Electric field',\n default: '',\n position: 86,\n placeholder: 'Electric field',\n units: [\n { key: 'v_m', label: 'V/m', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'energy',\n label: 'Energy',\n default: '',\n position: 88,\n placeholder: 'Joule',\n units: [\n { key: 'j', label: 'J', nm: 1000 },\n { key: 'k_j', label: 'kJ', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'enzyme_activity',\n label: 'Enzyme activity',\n default: '',\n position: 90,\n placeholder: 'Enzyme activity',\n units: [\n { key: 'u_l', label: 'U/L', nm: 1 },\n { key: 'u_ml', label: 'U/mL', nm: 1000 }\n ]\n },\n {\n type: 'numeric',\n field: 'flow_rate',\n label: 'Flow rate',\n default: '',\n position: 100,\n placeholder: 'Flow rate',\n units: [\n { key: 'ul_min', label: 'µl/min', nm: 1000000 },\n { key: 'ml_min', label: 'ml/min', nm: 1000 },\n { key: 'l_m', label: 'l/m', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'frequency',\n label: 'Frequency',\n default: '',\n position: 100,\n placeholder: 'frequency',\n units: [\n { key: 'hz', label: 'Hz', nm: 1000 },\n { key: 'khz', label: 'kHz', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'heating_rate',\n label: 'Heating rate',\n default: '',\n position: 106,\n placeholder: 'heating rate',\n units: [\n { key: 'k_min', label: 'K/min', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'length',\n label: 'Length',\n default: '',\n position: 110,\n placeholder: 'length',\n units: [\n { key: 'pm', label: 'pm', nm: 100000 },\n { key: 'nm', label: 'nm', nm: 10000 },\n { key: 'mm', label: 'mm', nm: 1000 },\n { key: 'cm', label: 'cm', nm: 100 },\n { key: 'm', label: 'm', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'magnetic_flux_density',\n label: 'Magnetic flux density/inductivity',\n default: '',\n position: 120,\n placeholder: '',\n units: [\n { key: 'T', label: 'T', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'mass',\n label: 'Mass',\n default: '',\n position: 120,\n placeholder: 'mass',\n units: [\n { key: 'g', label: 'g', nm: 1 },\n { key: 'mg', label: 'mg', nm: 1000 },\n { key: 'ug', label: 'µg', nm: 1000000 }\n ]\n },\n {\n type: 'numeric',\n field: 'mass_molecule',\n label: 'Mass of molecule',\n default: '',\n position: 126,\n placeholder: 'mass of molecule',\n units: [\n { key: 'dalton', label: 'D', nm: 1000 },\n { key: 'kilo_dalton', label: 'kD', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'molecular_weight',\n label: 'Molecular weight',\n default: '',\n position: 130,\n placeholder: 'Molecular weight',\n units: [\n { key: 'g_mol', label: 'g/mol' }\n ]\n },\n {\n type: 'numeric',\n field: 'percentage',\n label: 'Percentage',\n default: '',\n position: 136,\n placeholder: 'percentage',\n units: [\n { key: 'p', label: '%', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'pressure',\n label: 'Pressure',\n default: '',\n position: 140,\n placeholder: 'pressure',\n units: [\n { key: 'atm', label: 'atm', nm: 1 },\n { key: 'pa', label: 'Pa', nm: 101325 },\n { key: 'torr', label: 'Torr', nm: 760 }\n ]\n },\n {\n type: 'numeric',\n field: 'reaction_rate',\n label: 'Reaction rate',\n default: '',\n position: 150,\n placeholder: 'Reaction rate',\n units: [\n { key: 'mol_lmin', label: 'mol/Lmin', nm: 1 },\n { key: 'mol_lsec', label: 'mol/Ls', nm: 60 }\n ]\n },\n {\n type: 'numeric',\n field: 'specific_volume',\n label: 'Specific Volume',\n default: '',\n position: 160,\n placeholder: 'Specific Volume',\n units: [\n { key: 'cm3_g', label: 'cm<sup>3</sup>/g', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'speed',\n label: 'Speed',\n default: '',\n position: 165,\n placeholder: 'speed',\n units: [\n { key: 'cm_s', label: 'cm/s', nm: 1 },\n { key: 'mm_s', label: 'mm/s', nm: 10 },\n { key: 'cm_h', label: 'cm/h', nm: 3600 },\n { key: 'mm_h', label: 'mm/h', nm: 36000 }\n ]\n },\n {\n type: 'numeric',\n field: 'surface',\n label: 'Surface',\n default: '',\n position: 170,\n placeholder: 'surface',\n units: [\n { key: 'a_2', label: 'A<sup>2</sup>' },\n { key: 'mm_2', label: 'mm<sup>2</sup>' },\n { key: 'cm_2', label: 'cm<sup>2</sup>' }\n ]\n },\n {\n type: 'numeric',\n field: 'temperature',\n label: 'Temperature',\n default: '',\n position: 180,\n placeholder: 'temperature',\n units: [\n { key: 'C', label: '°C' },\n { key: 'F', label: '°F' },\n { key: 'K', label: '°K' }\n ]\n },\n {\n type: 'numeric',\n field: 'turnover_number',\n label: 'Turnover number',\n default: '',\n position: 190,\n placeholder: 'Turnover number',\n units: [\n { key: '1_s', label: '1/s' }\n ]\n },\n {\n type: 'numeric',\n field: 'viscosity',\n label: 'Dynamic Viscosity',\n default: '',\n position: 200,\n placeholder: 'Dynamic Viscosity',\n units: [\n { key: 'pas', label: 'Pas', nm: 1 },\n { key: 'mpas', label: 'mPas', nm: 1000 }\n ]\n },\n {\n type: 'numeric',\n field: 'kinematic_viscosity',\n label: 'Kinematic Viscosity',\n default: '',\n position: 205,\n placeholder: 'Kinematic Viscosity',\n units: [\n { key: 'm2_s', label: 'm<sup>2</sup>/s', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'voltage',\n label: 'Voltage',\n default: '',\n position: 200,\n placeholder: 'voltage',\n units: [\n { key: 'mv', label: 'mV', nm: 1000 },\n { key: 'v', label: 'V', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'volumes',\n label: 'Volumes',\n default: '',\n position: 210,\n placeholder: 'volume',\n units: [\n { key: 'l', label: 'l', nm: 1 },\n { key: 'ml', label: 'ml', nm: 1000 },\n { key: 'ul', label: 'µl', nm: 1000000 },\n { key: 'nl', label: 'nl', nm: 1000000000 }\n ]\n }\n ]\n }\n};\n","import { v4 as uuid } from 'uuid';\n\nexport default class Attachment {\n constructor(args) {\n Object.assign(this, args);\n if (!this.id) { this.id = Attachment.buildID(); }\n }\n\n static buildID() { return uuid(); }\n\n static fromFile(file) {\n return new Attachment({\n file,\n name: file.name,\n filename: file.name,\n identifier: file.id,\n is_deleted: false,\n });\n }\n\n get isNew() {\n return this.is_new === true;\n }\n\n serialize() {\n return super.serialize({\n filename: this.filename,\n identifier: this.identifier,\n file: this.file,\n thumb: this.thumb,\n content_type: this.content_type,\n is_deleted: this.is_deleted,\n id: this.id,\n is_new: this.isNew || false\n });\n }\n}\n","import React from 'react';\n// import PropTypes from 'prop-types';\n// import { Button, OverlayTrigger, Tooltip, Popover, ControlLabel } from 'react-bootstrap';\n// import uuid from 'uuid';\nimport { v4 as uuid } from 'uuid';\nimport { findIndex, findKey, cloneDeep } from 'lodash';\n// import NotificationActions from '../../components/actions/NotificationActions';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport SystemUnits from '../../data/SystemUnits';\nimport Attachment from '../models/Attachment';\n\n// move from GenericElCommon.js\nconst uploadFiles = (properties, event, field, layer) => {\n const files = [];\n const fieldObj = properties.layers[`${layer}`].fields.find(e => e.field === field) || {};\n const value = fieldObj.value || {};\n switch (event.action) {\n case 'l': {\n const valIdx = findIndex((value.files || []), o => o.uid === event.uid);\n const label = event && event.val && event.val.target && event.val.target.value;\n if (value.files[valIdx] && label) value.files[valIdx].label = label;\n break;\n }\n case 'f': {\n (event.val || []).forEach(file => {\n const uid = uuid();\n if (typeof value.files === 'undefined' || value.files === null) value.files = [];\n value.files.push({ uid, filename: file.name });\n files.push({ uid, filename: file.name, file: Attachment.fromFile(file) });\n });\n break;\n }\n case 'd': {\n const valIdx = findIndex((value.files || []), o => o.uid === event.uid);\n if (valIdx >= 0 && value.files && value.files.length > 0) value.files.splice(valIdx, 1);\n return [value, files, event.uid];\n }\n default:\n console.log(event);\n }\n return [value, files];\n};\n\n// move from GenPropertiesLayer.js\nconst showProperties = (fObj, layers) => {\n let showField = true;\n if (fObj && fObj.cond_fields && fObj.cond_fields.length > 0) {\n showField = false;\n for (let i = 0; i < fObj.cond_fields.length; i += 1) {\n const cond = fObj.cond_fields[i] || {};\n const { layer, field, value } = cond;\n if (field && field !== '') {\n const fd = ((layers[layer] || {}).fields || []).find(f => f.field === field) || {};\n if (fd.type === 'checkbox' && ((['false', 'no', 'f', '0'].includes((value || '').trim().toLowerCase()) && (typeof (fd && fd.value) === 'undefined' || fd.value === false))\n || (['true', 'yes', 't', '1'].includes((value || '').trim().toLowerCase()) && (typeof (fd && fd.value) !== 'undefined' && fd.value === true)))) {\n showField = true;\n break;\n } else if (['text', 'select'].includes(fd && fd.type) && (typeof (fd && fd.value) !== 'undefined' && ((fd && fd.value) || '').trim() === (value || '').trim())) {\n showField = true;\n break;\n }\n }\n }\n }\n return showField;\n};\n\nclass GenericDummy {\n constructor() {\n this.type = 'dummy';\n this.field = uuid();\n this.position = 100;\n this.label = '';\n this.default = '';\n this.required = false;\n }\n}\n\nconst inputEventVal = (event, type) => {\n if (type === 'select') {\n return event ? event.value : null;\n } if (type.startsWith('drag')) {\n return event;\n } if (type === 'checkbox') {\n return event.target.checked;\n } if (type === 'formula-field') {\n if (event.target) {\n return event.target.value;\n }\n return event;\n }\n return event.target && event.target.value;\n};\n\nconst absOlsTermId = val => (val || '').split('|')[0].trim();\nconst absOlsTermLabel = val => val.replace(absOlsTermId(val), '').replace('|', '').trim();\nconst toNum = val => {\n const parse = Number((val || ''));\n return Number.isNaN(parse) ? 0 : parse;\n};\n\nconst genUnitSup = val => {\n if (typeof val === 'undefined' || val === null) return '';\n const vals = val.match(/<\\s*(\\w+\\b)(?:(?!<\\s*\\/\\s*\\1\\b)[\\s\\S])*<\\s*\\/\\s*\\1\\s*>|[^<]+/g);\n const reV = vals.map(v => {\n const supVal = v.match(/<sup[^>]*>([^<]+)<\\/sup>/);\n if (supVal) return <sup key={uuid()}>{supVal[1]}</sup>;\n const subVal = v.match(/<sub[^>]*>([^<]+)<\\/sub>/);\n if (subVal) return <sub key={uuid()}>{subVal[1]}</sub>;\n return v;\n });\n return <span>{reV}</span>;\n};\n\nconst toBool = val => {\n const valLower = String(val).toLowerCase();\n return !(!valLower || valLower === 'false' || valLower === '0');\n};\n\nconst genUnitsSystem = () => (SystemUnits.SYSTEM_UNITS || {}).fields || [];\n\nconst genUnits = field => (genUnitsSystem().find(u => u.field === field) || {}).units || [];\n\nconst genUnit = (field, key) => {\n const units = genUnits(field);\n return units.find(u => u.key === key) || {};\n};\n\nconst reUnit = (unitsSystem, optionLayers) => {\n const uniFileds = (unitsSystem.fields || []);\n const uniObj = uniFileds.find(fiel => fiel.field === optionLayers);\n const defaultUnit = ((uniObj && uniObj.field) || '');\n const preUnit = uniFileds.length > 0 ? uniFileds[0].field : '';\n return defaultUnit === '' ? preUnit : defaultUnit;\n};\n\nconst convertTemp = (key, val) => {\n switch (key) {\n case 'F':\n return ((parseFloat(val) * 1.8) + 32).toFixed(2);\n case 'K':\n return (((parseFloat(val) + 459.67) * 5) / 9).toFixed(2);\n case 'C':\n return (parseFloat(val) - 273.15).toFixed(2);\n default:\n return val;\n }\n};\n\nconst unitConvToBase = (field = {}) => {\n const units = genUnits(field.option_layers);\n if (units.length <= 1) {\n return field.value;\n }\n const idx = findIndex(units, u => u.key === field.value_system);\n if (idx <= 0) return field.value;\n return ((field.value * units[0].nm) / ((units[idx] && units[idx].nm) || 1) || 0);\n};\n\nconst unitConversion = (field, key, val) => {\n if (typeof val === 'undefined' || val == null || val === 0 || val === '') {\n return val;\n }\n if (field === 'temperature') {\n return convertTemp(key, val);\n }\n const units = genUnits(field);\n if (units.length <= 1) {\n return val;\n }\n const idx = findIndex(units, u => u.key === key);\n if (idx === -1) {\n return val;\n }\n const pIdx = idx === 0 ? (units.length) : idx;\n const pre = (units[pIdx - 1] && units[pIdx - 1].nm) || 1;\n const curr = (units[idx] && units[idx].nm) || 1;\n return parseFloat((parseFloat(val) * (curr / pre)).toFixed(5));\n};\n\n// const notification = props =>\n// (\n// NotificationActions.add({\n// title: props.title,\n// message: props.msg,\n// level: props.lvl,\n// position: 'tc',\n// dismissible: 'button',\n// autoDismiss: props.autoDismiss || 5,\n// uid: props.uid || uuid.v4()\n// })\n// );\n\n// const validateLayerInput = (layer, act = 'new') => {\n// if (layer.key === '') {\n// notification({ title: `Layer [${layer.key}]`, lvl: 'error', msg: 'Please input Name.' });\n// return false;\n// }\n// if (act === 'new' && !(/^[a-z][a-z_]+[a-z]$/g.test(layer.key))) {\n// notification({ title: `Layer [${layer.key}]`, lvl: 'error', msg: 'This Name is invalid, please try a different one.' });\n// return false;\n// }\n// if (parseInt((layer.cols || 1), 10) < 1) {\n// notification({ title: `Layer [${layer.key}]`, lvl: 'error', msg: 'The minimun of Column per Row is 1, please input a different one.' });\n// return false;\n// }\n// return true;\n// };\n\n// const validateSelectList = (selectName, element) => {\n// if (selectName === '') {\n// notification({ title: `Select List [${selectName}]`, lvl: 'error', msg: 'Please input Name.' });\n// return false;\n// }\n// if (!(/^[a-z][a-z_]+[a-z]$/g.test(selectName))) {\n// notification({ title: `Select List [${selectName}]`, lvl: 'error', msg: 'This Name is invalid, please try a different one.' });\n// return false;\n// }\n// if (element.properties_template.select_options[`${selectName}`]) {\n// notification({ title: `Select List [${selectName}]`, lvl: 'error', msg: 'This name of Select List is already taken. Please choose another one.' });\n// return false;\n// }\n// return true;\n// };\n\nconst clsInputGroup = el => {\n if (!el) return el;\n const genericEl = el;\n const { layers } = genericEl.properties_template;\n const keys = Object.keys(layers);\n keys.forEach(key => {\n const layer = layers[key];\n layer.fields.filter(e => e.type === 'input-group')\n .forEach(e => {\n e.sub_fields.forEach(s => {\n const ff = s;\n if (ff.type === 'text') { ff.value = ''; }\n });\n });\n });\n return genericEl;\n};\n\nconst molOptions = [{ label: 'InChiKey', value: 'inchikey' }, { label: 'SMILES', value: 'smiles' }, { label: 'IUPAC', value: 'iupac' }, { label: 'Mass', value: 'molecular_weight' }];\nconst samOptions = [{ label: 'Name', value: 'name' }, { label: 'Ext. Label', value: 'external_label' }, { label: 'Mass', value: 'molecular_weight' }];\n\nconst findCurrentNode = (_srcKey, _layerVals) => {\n const result = [];\n const fs = _layerVals.filter(o => o.wf && o.wf_info && o.wf_info.source_layer === _srcKey);\n if (fs.length > 1) {\n fs.forEach(o => {\n findCurrentNode(o, _layerVals);\n });\n } else if (fs.length === 1) {\n return findCurrentNode(fs[0].key, _layerVals);\n }\n return [_srcKey];\n};\n\nconst decorateNode = (_elements, _layers) => {\n if (!_elements || _elements.length < 1) return _elements;\n const m = {\n background: '#D6D5E6',\n color: '#333',\n // border: '1px solid #222138',\n // width: 180,\n };\n const elements = _elements;\n elements.map(e => {\n if (['input', 'output'].includes(e.type) || e.animated) return e;\n const lk = e.data.lKey;\n const fk = findKey(_layers, o => o.wf && (o.key === lk || o.key.startsWith(`${lk}.`)));\n if (fk) {\n e.style = m;\n return e;\n }\n return e;\n });\n return elements;\n};\n\nconst conFlowEls = props => {\n const { properties, properties_release } = props;\n const { flow, layers } = properties_release;\n const deep = cloneDeep(flow);\n const els = (deep && deep.elements) || [];\n els.map(d => {\n if (['default'].includes(d.type) && d.data) {\n const { lKey } = d.data;\n const fk = findKey((properties.layers || {}), o => o.wf && (o.key === lKey || o.key.startsWith(`${lKey}.`)));\n const chk = fk ? (<div style={{ position: 'absolute', top: '0px', right: '2px', color: 'green', zIndex: '100' }}><FontAwesomeIcon icon=\"far fa-check-circle\" /></div>) : null;\n const layer = layers[lKey] || {};\n const ll = (\n <div>\n {chk}\n <div style={{ borderWidth: '0px 0px 1px 0px', borderColor: 'black', borderStyle: 'solid' }}><b>{layer.label}</b></div>\n <div>\n (\n {layer.key}\n )\n </div>\n </div>\n );\n d.data = { label: ll, lKey: layer.key };\n }\n return d;\n });\n return els;\n};\n\nconst storeFlow = props => {\n const { elements } = props;\n const els = cloneDeep(elements);\n els.map(d => {\n if (['default'].includes(d.type) && d.data) {\n delete d.data.label;\n delete d.data.layer;\n }\n return d;\n });\n return els;\n};\n\nconst flowDefault = [\n {\n id: '1', type: 'input', data: { label: 'Start' }, position: { x: 250, y: 15 }\n },\n {\n id: '2', type: 'output', data: { label: 'End' }, position: { x: 250, y: 255 }\n }\n];\n\nconst isLayerInWF = (_element, _layerKey) => {\n const { flow } = _element.properties_template;\n const finds = ((flow || {}).elements || []).filter(e => e.type === 'default' && (e.data || {}).lKey === _layerKey);\n return (finds.length > 0);\n};\n\n// const validateLayerDeletion = (_element, _delKey) => {\n// if (isLayerInWF(_element, _delKey)) {\n// notification({ title: `Layer [${_delKey}]`, lvl: 'warning', msg: `This layer [${_delKey}] can not be removed because it is currently used in workflow.` });\n// return false;\n// }\n// return true;\n// };\n\n// const validateLayerUpdation = (_element, _updates) => {\n// const { key, wf } = _updates;\n// if (isLayerInWF(_element, key)) {\n// if (!wf) {\n// notification({ title: `Layer [${key}]`, lvl: 'warning', msg: `Can not change the attribute 'used in Workflow?' because this layer [${key}] is currently used in workflow.` });\n// return false;\n// }\n// }\n// const { layers } = _element.properties_template;\n// if (wf && layers[key] && (layers[key].cond_fields || []).length > 0) {\n// notification({ title: `Layer [${key}]`, lvl: 'warning', msg: 'Can not use in Workflow because the Layer Restriction has been set.' });\n// return false;\n// }\n// return true;\n// };\n\nconst swapAryEls = (_ary, idx1, idx2) => {\n const ary = _ary;\n const temp = ary[idx1];\n ary[idx1] = ary[idx2];\n ary[idx2] = temp;\n return ary;\n};\n\n// re-fetch workflow and set to state of store, should be out-of this project\n// const renderFlowModal = (generic, isToggle) => {\n// const segmentKlasses = (UserStore.getState() && UserStore.getState().segmentKlasses) || [];\n// let shortLabel = generic.short_label;\n// if (!shortLabel) {\n// shortLabel = segmentKlasses.filter(s => s.id === generic.segment_klass_id);\n// shortLabel = shortLabel.length > 0 ? shortLabel[0].label : '';\n// }\n// const params = {\n// properties_release: cloneDeep(generic.properties_release) || {},\n// properties: cloneDeep(generic.properties) || {},\n// shortLabel,\n// toggle: isToggle\n// };\n// UIActions.rerenderGenericWorkflow(params);\n// };\n\nconst downloadFile = file => {\n const { contents, name } = file;\n const link = document.createElement('a');\n link.download = name;\n link.href = contents;\n const event = new window.MouseEvent('click', {\n view: window,\n bubbles: true,\n cancelable: true\n });\n link.dispatchEvent(event);\n};\n\nexport {\n GenericDummy,\n // validateLayerInput,\n // validateSelectList,\n // notification,\n genUnitsSystem, genUnits, genUnit,\n unitConvToBase, unitConversion, toBool, toNum, genUnitSup, absOlsTermId, absOlsTermLabel, reUnit,\n clsInputGroup, inputEventVal, molOptions, samOptions, conFlowEls, storeFlow, flowDefault,\n // validateLayerUpdation,\n // validateLayerDeletion,\n swapAryEls, decorateNode, showProperties, downloadFile, uploadFiles\n};\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./main.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./main.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, OverlayTrigger, Tooltip } from 'react-bootstrap';\nimport { v4 as uuid } from 'uuid';\n\nconst ButtonTooltip = (props) => {\n const { tip } = props;\n const tooltip = <Tooltip id={uuid()}>{tip}</Tooltip>;\n const {\n size, bs, fnClick, element, place, fa, disabled, txt\n } = props;\n const content = txt ? (\n <span>\n {txt}\n {' '}\n </span>\n ) : '';\n if (bs === '') {\n return (\n <OverlayTrigger delayShow={1000} placement={place} overlay={tooltip}>\n <Button bsSize={size} onClick={() => fnClick(element)} disabled={disabled}>\n {content}\n <i className={`fa ${fa}`} aria-hidden=\"true\" />\n </Button>\n </OverlayTrigger>\n );\n }\n return (\n <OverlayTrigger delayShow={1000} placement={place} overlay={tooltip}>\n <Button bsSize={size} bsStyle={bs} onClick={() => fnClick(element)} disabled={disabled}>\n {content}\n <i className={`fa ${fa}`} aria-hidden=\"true\" />\n </Button>\n </OverlayTrigger>\n );\n};\n\nButtonTooltip.propTypes = {\n tip: PropTypes.string.isRequired,\n element: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n fnClick: PropTypes.func.isRequired,\n bs: PropTypes.string,\n size: PropTypes.string,\n place: PropTypes.string,\n fa: PropTypes.string,\n disabled: PropTypes.bool,\n txt: PropTypes.string,\n};\n\nButtonTooltip.defaultProps = {\n bs: '',\n size: 'xs',\n place: 'top',\n fa: 'fa-pencil-square-o',\n disabled: false,\n txt: null,\n element: {}\n};\n\nexport default ButtonTooltip;\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, OverlayTrigger, Popover } from 'react-bootstrap';\n\nconst ButtonConfirm = (props) => {\n const {\n msg, size, bs, fnClick, fnParams, place, fa, disabled\n } = props;\n const popover = (\n <Popover id=\"popover-button-confirm\">\n {msg}\n {' '}\n <br />\n <div className=\"btn-toolbar\">\n <Button\n bsSize=\"xsmall\"\n bsStyle=\"danger\"\n aria-hidden=\"true\"\n onClick={() => fnClick(fnParams)}\n >\n Yes\n </Button>\n <span> </span>\n <Button bsSize=\"xsmall\" bsStyle=\"warning\">No</Button>\n </div>\n </Popover>\n );\n\n return (\n <OverlayTrigger animation placement={place} root trigger=\"focus\" overlay={popover}>\n <Button bsSize={size} bsStyle={bs} disabled={disabled}>\n <i className={`fa ${fa}`} aria-hidden=\"true\" />\n </Button>\n </OverlayTrigger>\n );\n};\n\nButtonConfirm.propTypes = {\n msg: PropTypes.string.isRequired,\n fnParams: PropTypes.object.isRequired,\n fnClick: PropTypes.func.isRequired,\n bs: PropTypes.string,\n size: PropTypes.string,\n place: PropTypes.string,\n fa: PropTypes.string,\n disabled: PropTypes.bool,\n};\n\nButtonConfirm.defaultProps = {\n bs: 'danger', size: 'xs', place: 'right', fa: 'fa-trash-o', disabled: false\n};\n\nexport default ButtonConfirm;\n","import React, { useState } from 'react';\nimport { Button } from 'react-bootstrap';\n\nconst ElementManager = () => {\n const [count, setCount] = useState(0);\n return (\n <div>\n <p>\n You clicked\n {count}\n {' '}\n times\n </p>\n <Button bsStyle=\"primary\" onClick={() => setCount(count + 1)}>\n Click me\n </Button>\n </div>\n );\n};\n\nexport default ElementManager;\n","import { cloneDeep } from 'lodash';\nimport { unitConversion } from './utils';\nimport GenericSubField from '../models/GenericSubField';\n\nconst collateValues = (currentFields, previousFields, previousValues) => {\n const result = [];\n let newSub = new GenericSubField();\n currentFields.map(e => Object.assign(newSub, { [e.id]: '' }));\n const currentValuKeys = Object.keys(newSub);\n const previousValueKeys = Object.keys(previousValues[0]);\n const notInCurrent = previousValueKeys.filter(e => !currentValuKeys.includes(e));\n const currObj = {};\n currentFields.map(c => {\n if (c.type === 'text') return Object.assign(currObj, { [c.id]: '' });\n return Object.assign(currObj, { [c.id]: { value: '', value_system: c.value_system } });\n });\n previousValues.forEach(e => {\n newSub = new GenericSubField();\n Object.assign(newSub, currObj, e);\n notInCurrent.forEach(c => delete newSub[c]);\n previousValueKeys.forEach(preKey => {\n if (newSub[preKey] === undefined || preKey === 'id') return;\n const curr = currentFields.find(f => f.id === preKey);\n const prev = previousFields.find(f => f.id === preKey);\n if (curr.type === 'drag_molecule') {\n if (['text', 'system-defined', 'drag_sample'].includes(prev.type)) {\n newSub[preKey] = { value: undefined };\n }\n }\n if (curr.type === 'text') {\n if (prev.type === 'system-defined') {\n newSub[preKey] = newSub[preKey].value;\n }\n if (['drag_molecule', 'drag_sample'].includes(prev.type)) {\n newSub[preKey] = '';\n }\n }\n if (curr.type === 'system-defined') {\n if (prev.type === 'system-defined' && (curr.option_layers !== prev.option_layers)) {\n newSub[preKey].value_system = curr.value_system;\n }\n if (['text', 'drag_molecule', 'drag_sample'].includes(prev.type)) {\n newSub[preKey] = { value: '', value_system: curr.value_system };\n }\n newSub[preKey].value = unitConversion(curr.option_layer, newSub[preKey].value_system, newSub[preKey].value);\n }\n });\n result.push(newSub);\n });\n return result;\n};\n\nconst organizeSubValues = (cur, pre) => {\n const currentFields = cloneDeep(cur.sub_fields || []);\n const previousFields = cloneDeep(pre.sub_fields || []);\n const previousValues = cloneDeep(pre.sub_values || []);\n if (currentFields.length < 1\n || previousFields.length < 1 || previousValues.length < 1) {\n return [];\n }\n return collateValues(currentFields, previousFields, previousValues);\n};\n\nexport default organizeSubValues;\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, OverlayTrigger, Tooltip } from 'react-bootstrap';\nimport reinventGeneric from '../tools/reinventGeneric';\n\nconst BTN_RELOAD_TIP = <Tooltip>click to reload the template</Tooltip>;\n\nconst ButtonReload = (props) => {\n const { klass, generic, fnReload } = props;\n if (generic && (typeof generic.klass_uuid === 'undefined'\n || generic.klass_uuid === klass.uuid || generic.is_new)) {\n return null;\n }\n\n const handleReload = () => {\n let outGeneric = generic;\n const output = reinventGeneric(generic, klass);\n if (output[1]) {\n outGeneric.properties = output[1];\n outGeneric.changed = true;\n } else {\n outGeneric = output[1];\n }\n fnReload(outGeneric);\n };\n\n return (\n <OverlayTrigger placement=\"top\" overlay={BTN_RELOAD_TIP}>\n <Button bsSize=\"xsmall\" bsStyle=\"primary\" onClick={() => handleReload()}>\n <i className=\"fa fa-refresh\" aria-hidden=\"true\" />\n {' '}\n Reload\n </Button>\n </OverlayTrigger>\n );\n};\n\nButtonReload.propTypes = {\n klass: PropTypes.object,\n generic: PropTypes.object,\n fnReload: PropTypes.func\n};\nButtonReload.defaultProps = {\n klass: {}, generic: {}, fnReload: () => {}\n};\nexport default ButtonReload;\n","/* eslint-disable no-restricted-globals */\nimport { findIndex, cloneDeep } from 'lodash';\nimport { genUnits, toBool, toNum } from './utils';\nimport organizeSubValues from './collate';\n\n// current generic value, new klass value\nconst reinventGeneric = (generic, klass) => {\n if (!generic || !klass || !generic.properties || !klass.properties_release) {\n return [undefined, undefined];\n }\n const newProps = cloneDeep(klass.properties_release);\n newProps.klass = generic.properties.klass;\n newProps.klass_uuid = klass.uuid;\n Object.keys(newProps.layers).forEach((key) => {\n const newLayer = newProps.layers[key] || {};\n const curFields = (generic.properties.layers[key] && generic.properties.layers[key].fields)\n || [];\n (newLayer.fields || []).forEach((f, idx) => {\n const curIdx = findIndex(curFields, o => o.field === f.field);\n if (curIdx >= 0) {\n const curVal = generic.properties.layers[key].fields[curIdx].value;\n const curType = typeof curVal;\n if (['select', 'text', 'textarea', 'formula-field'].includes(newProps.layers[key].fields[idx].type)) {\n newProps.layers[key].fields[idx].value = curType !== 'undefined' ? curVal.toString() : '';\n }\n if (newProps.layers[key].fields[idx].type === 'integer') {\n newProps.layers[key].fields[idx].value = (curType === 'undefined' || curType === 'boolean' || isNaN(curVal)) ? 0 : parseInt(curVal, 10);\n }\n if (newProps.layers[key].fields[idx].type === 'checkbox') {\n newProps.layers[key].fields[idx].value = curType !== 'undefined' ? toBool(curVal) : false;\n }\n if ((newProps.layers[key].fields[idx].type === 'drag_sample' && generic.properties.layers[key].fields[curIdx].type === 'drag_sample')\n || (newProps.layers[key].fields[idx].type === 'drag_molecule' && generic.properties.layers[key].fields[curIdx].type === 'drag_molecule')) {\n if (typeof curVal !== 'undefined') newProps.layers[key].fields[idx].value = curVal;\n }\n if (newProps.layers[key].fields[idx].type === 'system-defined') {\n const units = genUnits(newProps.layers[key].fields[idx].option_layers);\n const vs = units.find(u => u.key === generic.properties.layers[key].fields[curIdx].value_system);\n newProps.layers[key].fields[idx].value_system = (vs && vs.key) || units[0].key;\n newProps.layers[key].fields[idx].value = toNum(curVal);\n }\n if (newProps.layers[key].fields[idx].type === 'input-group') {\n if (generic.properties.layers[key].fields[curIdx].type\n !== newProps.layers[key].fields[idx].type) {\n newProps.layers[key].fields[idx].value = undefined;\n } else {\n const nSubs = newProps.layers[key].fields[idx].sub_fields || [];\n const cSubs = generic.properties.layers[key].fields[curIdx].sub_fields || [];\n const exSubs = [];\n if (nSubs.length < 1) {\n newProps.layers[key].fields[idx].value = undefined;\n } else {\n nSubs.forEach((nSub) => {\n const hitSub = cSubs.find(c => c.id === nSub.id) || {};\n if (nSub.type === 'label') { exSubs.push(nSub); }\n if (nSub.type === 'text') {\n if (hitSub.type === 'label') {\n exSubs.push(nSub);\n } else { exSubs.push({ ...nSub, value: (hitSub.value || '').toString() }); }\n }\n if (['number', 'system-defined'].includes(nSub.type)) {\n const nvl = (typeof hitSub.value === 'undefined' || hitSub.value == null || hitSub.value.length === 0) ? '' : toNum(hitSub.value);\n if (nSub.option_layers === hitSub.option_layers) {\n exSubs.push({ ...nSub, value: nvl, value_system: hitSub.value_system });\n } else {\n exSubs.push({ ...nSub, value: nvl });\n }\n }\n });\n }\n newProps.layers[key].fields[idx].sub_fields = exSubs;\n }\n }\n if (newProps.layers[key].fields[idx].type === 'upload') {\n if (generic.properties.layers[key].fields[curIdx].type\n === newProps.layers[key].fields[idx].type) {\n newProps.layers[key].fields[idx].value = generic.properties.layers[key].fields[curIdx].value;\n } else {\n newProps.layers[key].fields[idx].value = {};\n }\n }\n if (newProps.layers[key].fields[idx].type === 'table') {\n if (generic.properties.layers[key].fields[curIdx].type\n !== newProps.layers[key].fields[idx].type) {\n newProps.layers[key].fields[idx].sub_values = [];\n } else {\n newProps.layers[key].fields[idx].sub_values = organizeSubValues(\n newProps.layers[key].fields[idx],\n generic.properties.layers[key].fields[curIdx]\n );\n }\n }\n }\n });\n });\n return [generic.properties, newProps];\n};\n\nexport default reinventGeneric;\n","import {\n GenPropertiesCheckbox,\n GenPropertiesCalculate,\n GenPropertiesSelect,\n GenPropertiesDrop,\n GenPropertiesNumber,\n GenPropertiesSystemDefined,\n GenPropertiesInputGroup,\n GenPropertiesTextArea,\n GenPropertiesUpload,\n GenDummy,\n GenPropertiesTable,\n GenTextFormula,\n GenWFNext,\n GenPropertiesText\n} from './GenPropertiesFields';\n\nconst GenProperties = (opt) => {\n const fieldProps = { ...opt, dndItems: [] };\n const type = fieldProps.type.split('_');\n if (opt.isSearch && type[0] === 'drag') type[0] = 'text';\n // if (opt.isPreview && (type[0] === 'drag' || type[0] === 'upload')) type[0] = 'text';\n switch (type[0]) {\n case 'checkbox':\n return GenPropertiesCheckbox(fieldProps);\n case 'formula-field':\n return GenPropertiesCalculate(fieldProps);\n case 'select':\n return GenPropertiesSelect(fieldProps);\n case 'drag':\n fieldProps.dndItems = [...fieldProps.dndItems, type[1]];\n return GenPropertiesDrop(fieldProps);\n case 'integer':\n return GenPropertiesNumber(fieldProps);\n case 'system-defined':\n return GenPropertiesSystemDefined(fieldProps);\n case 'input-group':\n return GenPropertiesInputGroup(fieldProps);\n case 'textarea':\n return GenPropertiesTextArea(fieldProps);\n case 'upload':\n return GenPropertiesUpload(fieldProps);\n case 'dummy':\n return GenDummy();\n case 'table':\n return GenPropertiesTable(fieldProps);\n case 'text-formula':\n return GenTextFormula(fieldProps);\n case 'wf-next':\n return GenWFNext(fieldProps);\n default:\n return GenPropertiesText(fieldProps);\n }\n};\n\nexport default GenProperties;\n","import React from 'react';\nimport { DragSource, DropTarget } from 'react-dnd';\nimport { compose } from 'redux';\nimport {\n Panel, ButtonGroup, OverlayTrigger, Tooltip, Button\n} from 'react-bootstrap';\nimport { v4 as uuid } from 'uuid';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nconst orderSource = {\n canDrag(props) {\n return !props.layer.wf;\n },\n beginDrag(props) {\n const { layer, field, rowValue } = props;\n return { wf: layer.wf, fid: field, rId: rowValue.id };\n },\n};\n\nconst orderTarget = {\n canDrop(props, monitor) {\n const src = monitor.getItem();\n return !props.layer.wf || !src.wf;\n },\n drop(props, monitor) {\n const {\n layer, field, rowValue, handleMove\n } = props;\n const tar = { wf: layer.wf, fid: field, rId: rowValue.id };\n const src = monitor.getItem();\n if (tar.fid === src.fid && tar.rId !== src.rId) handleMove(src.rId, tar.rId);\n },\n};\n\nconst orderDragCollect = (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n});\n\nconst orderDropCollect = (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n canDrop: monitor.canDrop(),\n});\n\nconst PanelDnD = ({\n connectDragSource, connectDropTarget, isDragging, isOver, canDrop,\n layer, id, handleChange, bs\n}) => {\n const className = `generic_grid_dnd${isOver ? ' is-over' : ''}${canDrop ? ' can-drop' : ''}${isDragging ? ' is-dragging' : ''}`;\n const {\n style, label, wf, key\n } = layer;\n const klz = (style || 'panel_generic_heading').replace('panel_generic_heading', 'panel_generic_heading_slim');\n const btnAdd = (\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id=\"_tooltip_add_layer\">add layer</Tooltip>}>\n <Button bsSize=\"xsmall\" onClick={event => handleChange(event, id, layer, 'layer-modal')}><FontAwesomeIcon icon=\"fas fa-plus\" /></Button>\n </OverlayTrigger>\n );\n const btnRemove = (\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id=\"_tooltip_remove_layer\">remove layer</Tooltip>}>\n <Button bsSize=\"xsmall\" onClick={event => handleChange(event, id, layer, 'layer-remove')}><FontAwesomeIcon icon=\"fas fa-minus\" /></Button>\n </OverlayTrigger>\n );\n const wfIcon = wf ? (\n <span>\n <FontAwesomeIcon icon=\"fas fa-sitemap\" />\n </span>\n ) : null;\n const moveIcon = (\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id={uuid()}>drag and drop to move position</Tooltip>}>\n <Button onClick={() => {}} bsSize=\"xsmall\"><FontAwesomeIcon icon=\"fas fa-arrows-alt\" /></Button>\n </OverlayTrigger>\n );\n const btnLayer = wf ? (<ButtonGroup className=\"pull-right\">{btnAdd}</ButtonGroup>) : (\n <ButtonGroup className=\"pull-right\">\n {btnAdd}\n {btnRemove}\n {moveIcon}\n </ButtonGroup>\n );\n const extHead = (/\\./g.test(key)) ? (\n <>\n (\n {key}\n {wfIcon}\n )\n </>\n ) : null;\n const panelHeader = (\n <Panel.Heading className={klz}>\n <Panel.Title toggle style={{ float: 'left', lineHeight: 'normal' }}>\n {label}\n \n {extHead}\n </Panel.Title>\n {btnLayer}\n <div className=\"clearfix\" />\n </Panel.Heading>\n );\n const panelHColor = bs !== 'none' ? `panel-${bs}` : '';\n const dndKlz = wf ? `dnd-none ${panelHColor}` : `dnd ${panelHColor}`;\n return compose(connectDragSource, connectDropTarget)(<div className={className}><div className={dndKlz}>{panelHeader}</div></div>);\n};\n\nexport default compose(\n DragSource(s => s.type, orderSource, orderDragCollect),\n DropTarget(s => s.type, orderTarget, orderDropCollect)\n)(PanelDnD);\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Button, Tooltip, Modal, OverlayTrigger\n} from 'react-bootstrap';\nimport { sortBy } from 'lodash';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nconst block = (layer, fnAdd) => (\n <div className=\"generic_layer_column\">\n <div>\n <div>\n <b>{layer.label}</b>\n <br />\n (\n {layer.key}\n )\n </div>\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id=\"_tooltip_layers\">click to add layer</Tooltip>}>\n <Button bsStyle=\"primary\" onClick={event => fnAdd(event, layer)}><FontAwesomeIcon icon=\"fas fa-plus\" /></Button>\n </OverlayTrigger>\n </div>\n </div>\n);\n\nconst drawLayout = (layers, fnAdd) => {\n const layout = [];\n layers.forEach(layer => { layout.push(<div key={layer.key}>{block(layer, fnAdd)}</div>); });\n return layout;\n};\n\nconst LayerModal = props => {\n const {\n show, layers, fnClose, fnAdd\n } = props;\n if (!show) return null;\n const sortedLayers = sortBy(layers, ['position', 'wf_position']) || [];\n if (sortedLayers.length < 1) return null;\n const layout = drawLayout(sortedLayers, fnAdd);\n return (\n <Modal show={show} onHide={fnClose}>\n <Modal.Header closeButton><Modal.Title>Choose Layer</Modal.Title></Modal.Header>\n <Modal.Body>\n <div style={{ maxHeight: '80vh', overflow: 'auto' }}>\n <div className=\"generic_grid\">{layout}</div>\n </div>\n </Modal.Body>\n </Modal>\n );\n};\n\nLayerModal.propTypes = {\n show: PropTypes.bool.isRequired,\n layers: PropTypes.object.isRequired,\n fnClose: PropTypes.func.isRequired,\n fnAdd: PropTypes.func.isRequired\n};\n\nexport default LayerModal;\n","import { cloneDeep, sortBy } from 'lodash';\nimport { v4 as uuid } from 'uuid';\n\nconst getWFNode = (_flow, nodeId) => _flow.elements.filter(e => e.id === nodeId)[0];\n\n// full-flow, node id\nconst getFlowLayer = (templateFlow, nodeId, sourceLayer, sIdx) => {\n const flow = cloneDeep(templateFlow);\n const nd = flow.elements.filter(e => e.id === nodeId); // fetch node\n if (nd.length < 1) return null;\n const { layer } = nd[0].data;\n const ls = flow.elements.filter(e => e.animated); // lines\n const ns = flow.elements.filter(e => e.type === 'default' && e.data); // nodes - Start - End\n const ndNs = ls.filter(e => e.source === nodeId).map(e => e.target); // next nodes' id\n const wfOpts = ns.filter(n => ndNs.includes(n.id)).map(e => ({ key: e.id, label: `${e.data.layer.label}(${e.data.layer.key})` })); // next nodes\n if (wfOpts.length > 0) {\n const position = (layer.fields || []).length + 1;\n layer.fields.push({\n type: 'wf-next', default: '', field: '_wf_next', label: 'Next', required: false, sub_fields: [], text_sub_fields: [], position, wf_options: wfOpts\n });\n }\n layer.wf_info = { node_id: nodeId, source_layer: sourceLayer };\n layer.wf_position = sIdx + 1;\n return layer;\n};\n\nconst orgLayerObject = (_layers = []) => {\n const layers = _layers;\n return layers.reduce((alles, name) => {\n const all = alles;\n const ok = Object.keys(all);\n if (ok.includes(name.key)) {\n const cnt = ok.filter(e => e === name.key || e.startsWith(`${name.key}.`)).length;\n const nName = `${name.key}.${cnt}`;\n name.key = nName;\n all[nName] = name;\n } else {\n all[name.key] = name;\n }\n return all;\n }, {});\n};\n\nconst reformCondFields = (_layer, _oKey) => {\n const layer = _layer;\n layer.fields.map(_f => {\n const f = _f;\n let conds = f.cond_fields;\n // no cond_fields\n if (!conds || conds.length < 1 || conds.filter(o => !o.field || o.field === '').length === conds.length) return f;\n conds = conds.filter(o => o.layer === _oKey);\n // no same layer, remove cond_fields\n if (conds.length < 1) {\n delete f.cond_fields;\n return f;\n }\n // rename layer\n conds = conds.map(o => {\n const n = o;\n n.layer = layer.key;\n return n;\n });\n f.cond_fields = conds;\n return f;\n });\n return layer.fields;\n};\n\nconst addToObject = (obj, key, addAfter) => {\n const temp = {};\n const ok = Object.keys(obj);\n Object.keys(obj).forEach(e => {\n if (Object.prototype.hasOwnProperty.call(obj, e)) {\n temp[e] = obj[e];\n if (e === key) {\n const srcPosition = temp[e].position;\n const cnt = ok.filter(o => o === addAfter.key || o.startsWith(`${addAfter.key}.`)).length;\n if (cnt === 0) {\n temp[addAfter.key] = addAfter;\n temp[addAfter.key].position = srcPosition;\n } else {\n const oKey = addAfter.key;\n temp[`${addAfter.key}.${cnt}`] = addAfter;\n temp[`${addAfter.key}.${cnt}`].position = srcPosition;\n temp[`${addAfter.key}.${cnt}`].key = `${addAfter.key}.${cnt}`;\n temp[addAfter.key].fields = reformCondFields(addAfter, oKey);\n }\n }\n }\n });\n if (Object.keys(obj).length === 0) temp[addAfter.key] = addAfter;\n return temp;\n};\n\nconst traverseToRemove = (layers, rmKey) => {\n let rms = [];\n Object.keys(layers).forEach(e => {\n if (Object.prototype.hasOwnProperty.call(layers, e)) {\n if (layers[e].key === rmKey) rms = rms.concat(rmKey);\n else if (layers[e].wf_info && (layers[e].wf_info.source_layer === rmKey)) {\n rms = rms.concat(traverseToRemove(layers, layers[e].key));\n }\n }\n });\n return rms;\n};\n\nconst removeFromObject = (_propertiesLayers = {}, srcLayer = '', rmNode = {}) => {\n const layers = _propertiesLayers;\n const rmLayer = rmNode.data && rmNode.data.layer ? rmNode.data.layer.key : null;\n if (!rmLayer) return [];\n let rms = [];\n Object.keys(layers).forEach(e => {\n if (Object.prototype.hasOwnProperty.call(layers, e)) {\n const wf = layers[e].wf_info;\n if (wf && (wf.source_layer === srcLayer) && (wf.node_id === rmNode.id)) {\n rms = rms.concat(traverseToRemove(layers, layers[e].key));\n }\n }\n });\n rms.forEach(e => delete layers[e]);\n return layers;\n};\n\nconst buildInitWF = template => {\n const orig = cloneDeep(template);\n const { layers, flow } = orig;\n const sortedLayers = sortBy(layers, l => l.position);\n if (flow && flow.elements.filter(e => !['input', 'output'].includes(e.type).length > 0)) {\n // id = 1 Start, id = 2 End\n const nls = flow.elements; // nodes + lines\n const ls = nls.filter(e => e.animated); // lines\n const ns = nls.filter(e => e.type === 'default' && e.data); // nodes - Start - End\n const nNs = ls.filter(e => e.source === '1').map(e => e.target); // get target ids from Start\n const nextNodes = ns.filter(n => nNs.includes(n.id)); // target nodes\n const result = [];\n sortedLayers.forEach(sortedLayer => {\n const fLayer = sortedLayer;\n if (fLayer.wf) {\n const position = (fLayer.fields || []).length + 1;\n const passen = nextNodes.filter(n => n.data.layer.key === fLayer.key);\n passen.forEach(pas => {\n const nextOptions = ls.filter(e => e.source === pas.id && e.source !== e.target).map(e => e.target);\n const wfOpts = ns.filter(n => nextOptions.includes(n.id)).map(e => ({ key: e.id, label: `${e.data.layer.label}(${e.data.layer.key})` })); // next nodes\n fLayer.fields.push({\n type: 'wf-next', default: '', field: '_wf_next', label: 'Next', required: false, sub_fields: [], text_sub_fields: [], position, wf_options: wfOpts\n });\n fLayer.wf_info = { node_id: pas.id };\n fLayer.wf_position = 1;\n fLayer.wf_uuid = uuid();\n result.push(fLayer);\n });\n } else {\n result.push(fLayer);\n }\n });\n const ll = orgLayerObject(result);\n orig.layers = ll;\n } else {\n orig.layers = layers;\n }\n return orig;\n};\n\nexport {\n getWFNode, getFlowLayer, orgLayerObject,\n addToObject, removeFromObject, reformCondFields, buildInitWF\n};\n","/* eslint-disable max-len */\n/* eslint-disable react/require-default-props */\n/* eslint-disable react/forbid-prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Panel, Col, PanelGroup, Row\n} from 'react-bootstrap';\nimport GenProperties from '../fields/GenProperties';\nimport { genUnits, showProperties, unitConversion } from '../tools/utils';\nimport PanelDnD from '../dnd/PanelDnD';\n\nexport default class GenPropertiesLayer extends Component {\n constructor(props) {\n super(props);\n this.handleChange = this.handleChange.bind(this);\n this.handleSubChange = this.handleSubChange.bind(this);\n this.moveLayer = this.moveLayer.bind(this);\n }\n\n handleChange(e, f, k, t) {\n const { onChange } = this.props;\n onChange(e, f, k, t);\n }\n\n handleSubChange(e, id, f, valueOnly = false) {\n const { onSubChange } = this.props;\n const sub = f.sub_fields.find(m => m.id === id);\n if (!valueOnly) {\n if (e.type === 'system-defined') {\n const units = genUnits(e.option_layers);\n let uIdx = units.findIndex(u => u.key === e.value_system);\n if (uIdx < units.length - 1) uIdx += 1; else uIdx = 0;\n sub.value_system = units.length > 0 ? units[uIdx].key : '';\n sub.value = unitConversion(e.option_layers, sub.value_system, e.value);\n } else {\n sub.value = e.target.value;\n }\n }\n const { layer } = this.props;\n const obj = { f, sub };\n onSubChange(layer.key, obj, valueOnly);\n }\n\n handleClick(keyLayer, obj, val) {\n const { onClick } = this.props;\n const units = genUnits(obj.option_layers);\n let uIdx = units.findIndex(e => e.key === val);\n if (uIdx < units.length - 1) uIdx += 1; else uIdx = 0;\n const update = obj;\n update.value_system = units.length > 0 ? units[uIdx].key : '';\n onClick(keyLayer, update);\n }\n\n views() {\n const {\n layer, selectOptions, id, layers, isPreview, isSearch, onNavi\n } = this.props;\n const { cols, fields, key } = layer;\n const perRow = cols || 1;\n const col = Math.floor(12 / perRow);\n const klaz = (12 % perRow) > 0 ? 'g_col_w' : '';\n const vs = [];\n let op = [];\n let newRow = 0;\n let rowId = 1;\n (fields || []).forEach((f, i) => {\n if (showProperties(f, layers)) {\n const unit = genUnits(f.option_layers)[0] || {};\n const tabCol = (f.cols || 1) * 1;\n const rCol = (f.type === 'table') ? (12 / (tabCol || 1)) : col;\n newRow = (f.type === 'table') ? newRow += (perRow / (tabCol || 1)) : newRow += 1;\n\n if (newRow > perRow) {\n vs.push(<Row key={rowId}>{op}</Row>);\n rowId += 1;\n op = [];\n newRow = (f.type === 'table') ? newRow = (perRow / (tabCol || 1)) : newRow = 1;\n }\n const eachCol = (\n <Col key={`prop_${key}_${f.priority}_${f.field}`} md={rCol} lg={rCol} className={f.type === 'table' ? '' : klaz}>\n <GenProperties\n key={`${id}_${layer}_${f.field}_GenPropertiesLayer`}\n layers={layers}\n id={id}\n layer={layer}\n f_obj={f}\n label={f.label}\n value={f.value || ''}\n description={f.description || ''}\n type={f.type || 'text'}\n field={f.field || 'field'}\n formula={f.formula || ''}\n options={(selectOptions && selectOptions[f.option_layers] && selectOptions[f.option_layers].options) || []}\n onChange={event => this.handleChange(event, f.field, key, f.type)}\n onSubChange={this.handleSubChange}\n isEditable\n isPreview={isPreview}\n isSearch={isSearch}\n readOnly={false}\n isRequired={f.required || false}\n placeholder={f.placeholder || ''}\n option_layers={f.option_layers}\n value_system={f.value_system || unit.key}\n onClick={() => this.handleClick(key, f, (f.value_system || unit.key))}\n selectOptions={selectOptions || {}}\n onNavi={onNavi}\n />\n </Col>\n );\n op.push(eachCol);\n if (newRow % perRow === 0) newRow = 0;\n if ((newRow === 0) || (fields.length === (i + 1))) {\n vs.push(<Row key={rowId}>{op}</Row>);\n rowId += 1;\n op = [];\n }\n } else if (fields.length === (i + 1)) {\n vs.push(<Row key={rowId}>{op}</Row>);\n rowId += 1;\n op = [];\n }\n });\n return vs;\n }\n\n moveLayer(src, tar) {\n this.handleChange(null, src, tar, 'drop-layer');\n }\n\n render() {\n const { id, layer, activeWF } = this.props;\n const { color, style, label } = layer;\n let bs = color || 'default';\n const cl = (style || 'panel_generic_heading').replace('panel_generic_heading', 'panel_generic_heading_slim');\n // panel header color is based on input bs value\n const panelDnD = (\n <PanelDnD\n type=\"gen_panel\"\n layer={layer}\n field=\"layer\"\n rowValue={{ id: layer.key }}\n handleMove={this.moveLayer}\n id={id}\n handleChange={this.handleChange}\n bs={bs}\n />\n );\n const panelHeader = label === '' ? (<span />) : (\n <Panel.Heading className={cl}>\n <Panel.Title toggle>{label}</Panel.Title>\n </Panel.Heading>\n );\n const noneKlass = bs === 'none' ? 'generic_panel_none' : '';\n if (bs === 'none') bs = 'default';\n return (\n <PanelGroup accordion id=\"accordion_generic_layer\" defaultActiveKey=\"1\" style={{ marginBottom: '0px' }}>\n <Panel bsStyle={bs} className={`panel_generic_properties ${noneKlass}`} eventKey=\"1\">\n {activeWF ? panelDnD : panelHeader}\n <Panel.Collapse>\n <Panel.Body className=\"panel_generic_properties_body\">{this.views()}</Panel.Body>\n </Panel.Collapse>\n </Panel>\n </PanelGroup>\n );\n }\n}\n\nGenPropertiesLayer.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), // element id or new id\n layer: PropTypes.object,\n selectOptions: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n onSubChange: PropTypes.func.isRequired,\n onClick: PropTypes.func,\n layers: PropTypes.object.isRequired,\n isPreview: PropTypes.bool,\n isSearch: PropTypes.bool,\n activeWF: PropTypes.bool,\n onNavi: PropTypes.func\n};\n\nGenPropertiesLayer.defaultProps = {\n id: 0,\n selectOptions: {},\n onClick: () => {},\n isPreview: false,\n isSearch: false,\n activeWF: false,\n onNavi: () => {}\n};\n","import React from 'react';\nimport { sortBy } from 'lodash';\nimport GenPropertiesLayer from './GenPropertiesLayer';\nimport GenProperties from '../fields/GenProperties';\n\nconst LayersLayout = (\n layers, options, funcChange,\n funcSubChange = () => {}, funcClick = () => {}, extLys = [], id = 0, isPreview = false,\n activeWF = false, isSearch = false, fnNavi = () => {}\n) => {\n const buildExtLys = extLys.map(e => (\n <GenProperties\n key={`${e.generic.id}_elementalPropertiesExt`}\n field={e.field}\n label=\"\"\n description={e.generic.description || ''}\n value={e.generic.name || ''}\n type={e.type}\n isEditable={e.isEditable || true}\n readOnly={e.readOnly || false}\n isRequired={e.isRequired || false}\n onChange={event => funcChange(event, e.field, '', e.type)}\n />\n ));\n const sortedLayers = sortBy(layers, ['position', 'wf_position']) || [];\n const layout = [].concat(buildExtLys);\n sortedLayers.forEach((layer, idx) => {\n const uk = `${layer.key}_${idx}`;\n if (typeof layer.cond_fields === 'undefined' || layer.cond_fields == null || layer.cond_fields.length === 0) {\n const ig = (\n <GenPropertiesLayer\n id={id}\n key={uk}\n layer={layer}\n onChange={funcChange}\n onSubChange={funcSubChange}\n selectOptions={options}\n onClick={funcClick}\n layers={layers}\n isPreview={isPreview}\n isSearch={isSearch}\n activeWF={activeWF}\n onNavi={fnNavi}\n />\n );\n layout.push(ig);\n } else if (layer.cond_fields && layer.cond_fields.length > 0) {\n let showLayer = false;\n\n for (let i = 0; i < layer.cond_fields.length; i += 1) {\n const cond = layer.cond_fields[i] || {};\n const fd = ((layers[cond.layer] || {}).fields || [])\n .find(f => f.field === cond.field) || {};\n if (fd.type === 'checkbox' && ((['false', 'no', 'f', '0'].includes((cond.value || '').trim().toLowerCase()) && (typeof (fd && fd.value) === 'undefined' || fd.value === false))\n || (['true', 'yes', 't', '1'].includes((cond.value || '').trim().toLowerCase()) && (typeof fd.value !== 'undefined' && fd.value === true)))) {\n showLayer = true;\n break;\n } else if (['text', 'select'].includes(fd.type) && (typeof (fd && fd.value) !== 'undefined' && (fd.value || '').trim() === (cond.value || '').trim())) {\n showLayer = true;\n break;\n }\n }\n\n if (showLayer === true) {\n const igs = (\n <GenPropertiesLayer\n id={id}\n key={uk}\n layer={layer}\n onChange={funcChange}\n onSubChange={funcSubChange}\n selectOptions={options}\n onClick={funcClick}\n layers={layers}\n isPreview={isPreview}\n isSearch={isSearch}\n activeWF={activeWF}\n onNavi={fnNavi}\n />\n );\n layout.push(igs);\n }\n }\n });\n return layout;\n};\n\nexport default LayersLayout;\n","/* eslint-disable camelcase */\n/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { cloneDeep, findIndex, sortBy } from 'lodash';\nimport LayersLayout from '../layers/LayersLayout';\nimport LayerModal from '../layers/LayerModal';\nimport {\n getWFNode, getFlowLayer, addToObject, removeFromObject, orgLayerObject, reformCondFields\n} from '../tools/orten';\nimport {\n genUnits, swapAryEls, unitConversion, uploadFiles\n} from '../tools/utils';\nimport useReducerWithCallback from '../tools/useReducerWithCallback';\n\nconst initialState = { showViewLayer: false, selectedLayerKey: '' };\n\nconst reducer = (state, action) => ({ ...state, ...action });\n\nconst GenInterface = (props) => {\n const [state, dispatch] = useReducerWithCallback(reducer, initialState);\n const {\n generic, fnChange, extLayers, genId, isPreview, isActiveWF, isSearch, fnNavi\n } = props;\n\n if (Object.keys(generic).length === 0) return null;\n\n const layerDrop = (_source, _target) => {\n const { layers } = generic.properties;\n let sortedLayers = sortBy(layers, ['position', 'wf_position']);\n // swap or move\n const srcIdx = sortedLayers.findIndex(e => e.key === _source);\n const tmpSrc = sortedLayers[srcIdx];\n let tarIdx = sortedLayers.findIndex(e => e.key === _target);\n if (Math.abs(srcIdx - tarIdx) === 1) {\n sortedLayers = swapAryEls(sortedLayers, srcIdx, tarIdx);\n } else {\n // delete src\n sortedLayers.splice(srcIdx, 1);\n // keep tar\n tarIdx = sortedLayers.findIndex(e => e.key === _target);\n const tmpTar = sortedLayers[tarIdx];\n // prepare new layer\n tmpSrc.position = tmpTar.position;\n tmpSrc.wf_position = (tmpTar.wf_position || 0) + 1;\n // insert new layer\n sortedLayers.splice(tarIdx + 1, 0, tmpSrc);\n }\n // re-count wf_position\n sortedLayers.filter(e => e.position === tmpSrc.position).map((e, idx) => {\n const el = e;\n el.wf_position = idx;\n return el;\n });\n const ll = orgLayerObject(sortedLayers);\n generic.properties.layers = ll;\n generic.changed = true;\n fnChange(generic);\n };\n\n const layerRemove = (elId, layer) => {\n const { layers } = generic.properties;\n const sortedLayers = sortBy(layers, ['position', 'wf_position']);\n const selectedIdx = sortedLayers.findIndex(e => e.key === layer.key);\n const selected = sortedLayers[selectedIdx];\n sortedLayers.splice(selectedIdx, 1);\n sortedLayers.filter(e => e.position === selected.position).map((e, idx) => {\n const el = e;\n el.wf_position = idx;\n return el;\n });\n generic.properties.layers = orgLayerObject(sortedLayers);\n generic.changed = true;\n fnChange(generic);\n };\n\n const layerNext = (event, layer) => {\n const value = event ? event.value : null;\n if (value) {\n const { properties, properties_release } = generic;\n // next step value if exists\n let rmNeeded = false;\n const preValue = properties.layers[`${layer}`].fields.find(e => e.field === '_wf_next').value;\n if (value !== preValue) {\n if (preValue && preValue !== '' && preValue !== value) {\n rmNeeded = true;\n }\n const { flow } = properties_release;\n const preLayer = properties.layers[`${layer}`];\n // value is the next node's id\n const nxLayer = getFlowLayer(flow, value, layer, preLayer.wf_position);\n if (nxLayer) {\n properties.layers = addToObject(properties.layers, layer, nxLayer);\n }\n if (rmNeeded) {\n properties.layers = removeFromObject(properties.layers, layer, getWFNode(flow, preValue));\n }\n // update next step value\n properties.layers[`${layer}`].fields.find(e => e.field === '_wf_next').value = value;\n generic.properties = properties;\n generic.changed = true;\n // this.props.onChange(segment, () => renderFlowModal(segment, false));\n fnChange(generic); // cb move to e.g. SampleDetails.js\n }\n }\n };\n\n const handleAddLayer = (event, _layer) => {\n console.log('handleAddLayer');\n console.log(state);\n const layer = _layer;\n const { layers } = generic.properties;\n const sortedLayers = sortBy(layers, ['position', 'wf_position']);\n const idx = sortedLayers.findIndex(e => e.key === state.selectedLayerKey);\n // re-set added layer attributes\n const selectedLayer = sortedLayers[idx];\n layer.position = selectedLayer.position;\n layer.wf_position = selectedLayer.wf_position + 1;\n layer.wf = false;\n layer.wf_uuid = null;\n // layer is standard layer (from released)\n const cnt = sortedLayers\n .filter(e => e.key === layer.key || e.key.startsWith(`${layer.key}.`)).length;\n if (cnt > 0) {\n const origKey = layer.key;\n layer.key = `${layer.key}.${cnt}`;\n layer.fields = reformCondFields(layer, origKey);\n }\n // insert new layer\n sortedLayers.splice(idx + 1, 0, layer);\n // re-count wf_position\n sortedLayers.filter(e => e.position === selectedLayer.position).map((e, ix) => {\n const el = e;\n el.wf_position = ix;\n return el;\n });\n const ll = orgLayerObject(sortedLayers);\n generic.properties.layers = ll;\n dispatch({ showViewLayer: false, selectedLayerKey: layer.key }, () => {\n fnChange(generic);\n });\n };\n\n const handleInputChange = (event, field, layer, type = 'text') => {\n const { properties } = generic;\n let value = '';\n let propsChange = true;\n switch (type) {\n case 'drop-layer':\n layerDrop(field, layer);\n propsChange = false;\n break;\n case 'layer-remove':\n event.stopPropagation();\n layerRemove(field, layer);\n propsChange = false;\n break;\n case 'layer-modal':\n event.stopPropagation();\n propsChange = false;\n dispatch({ showViewLayer: true, selectedLayerKey: layer.key });\n break;\n case 'wf-next':\n propsChange = false;\n layerNext(event, layer);\n break;\n case 'checkbox':\n value = event.target.checked;\n break;\n case 'formula-field':\n if (event.target) {\n ({ value } = event.target);\n } else {\n value = event;\n }\n break;\n case 'upload': {\n const vals = uploadFiles(properties, event, field, layer);\n value = vals[0];\n if (vals[1].length > 0) generic.files = (generic.files || []).concat(vals[1]);\n if (vals.length > 2) {\n const fileIdx = findIndex((generic.files || []), o => o.uid === event.uid);\n if (fileIdx >= 0 && generic.files && generic.files.length > 0) {\n generic.files.splice(fileIdx, 1);\n }\n }\n break;\n }\n case 'select':\n value = event ? event.value : null;\n break;\n case 'drag_molecule':\n value = event;\n break;\n case 'drag_sample':\n value = event;\n break;\n case 'drag_element':\n value = event;\n break;\n case 'integer':\n ({ value } = event.target);\n value = Math.trunc(value);\n break;\n default:\n ({ value } = event.target);\n }\n if (layer === '' && field === 'name') generic.name = value;\n if (layer === '' && field === 'search_name') generic.search_name = value;\n if (layer === '' && field === 'search_short_label') generic.search_short_label = value;\n\n if (propsChange) {\n if (layer === '' && ['name', 'search_name', 'search_short_label'].includes(field)) {\n console.log(field);\n } else {\n properties.layers[`${layer}`].fields.find(e => e.field === field).value = value;\n if (type === 'system-defined' && (!properties.layers[`${layer}`].fields.find(e => e.field === field).value_system || properties.layers[`${layer}`].fields.find(e => e.field === field).value_system === '')) {\n const opt = properties.layers[`${layer}`].fields\n .find(e => e.field === field).option_layers;\n properties.layers[`${layer}`].fields\n .find(e => e.field === field).value_system = genUnits(opt)[0].key;\n }\n generic.properties = properties;\n if (isSearch) generic.search_properties = properties;\n }\n generic.changed = true;\n fnChange(generic);\n }\n };\n\n const handleSubChange = (layer, obj, valueOnly = false) => {\n const { properties } = generic;\n if (!valueOnly) {\n const subFields = properties.layers[`${layer}`].fields\n .find(m => m.field === obj.f.field).sub_fields || [];\n const idxSub = subFields.findIndex(m => m.id === obj.sub.id);\n subFields.splice(idxSub, 1, obj.sub);\n properties.layers[`${layer}`].fields\n .find(e => e.field === obj.f.field).sub_fields = subFields;\n }\n properties.layers[`${layer}`].fields\n .find(e => e.field === obj.f.field).sub_values = obj.f.sub_values || [];\n generic.properties = properties;\n generic.changed = true;\n fnChange(generic);\n };\n\n const handleUnitClick = (layer, obj) => {\n const { properties } = generic;\n const newVal = unitConversion(obj.option_layers, obj.value_system, obj.value);\n properties.layers[`${layer}`].fields.find(e => e.field === obj.field).value_system = obj.value_system;\n properties.layers[`${layer}`].fields.find(e => e.field === obj.field).value = newVal;\n generic.properties = properties;\n generic.changed = true;\n fnChange(generic);\n };\n\n const layersLayout = LayersLayout(\n generic.properties.layers,\n generic.properties_release.select_options || {},\n handleInputChange,\n handleSubChange,\n handleUnitClick,\n extLayers,\n genId,\n isPreview,\n isActiveWF,\n isSearch,\n fnNavi\n );\n\n const addLayerModal = (\n <LayerModal\n show={state.showViewLayer}\n layers={cloneDeep(generic.properties_release.layers) || {}}\n fnClose={() => dispatch({ showViewLayer: !state.showViewLayer })}\n fnAdd={handleAddLayer}\n />\n );\n\n return (\n <>\n {layersLayout}\n {addLayerModal}\n </>\n );\n};\n\nGenInterface.propTypes = {\n generic: PropTypes.object.isRequired,\n fnChange: PropTypes.func.isRequired,\n extLayers: PropTypes.array,\n genId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n isPreview: PropTypes.bool.isRequired,\n isActiveWF: PropTypes.bool.isRequired,\n isSearch: PropTypes.bool,\n fnNavi: PropTypes.func\n};\n\nGenInterface.defaultProps = {\n extLayers: [],\n isSearch: false,\n genId: 0,\n fnNavi: () => {}\n};\n\nexport default GenInterface;\n","import { useEffect, useReducer, useRef } from 'react';\n\nconst useReducerWithCallback = (reducer, initialState, initializer) => {\n const callbackRef = useRef();\n const [state, dispatch] = useReducer(reducer, initialState, initializer);\n\n useEffect(() => {\n if (callbackRef.current) {\n callbackRef.current(state);\n callbackRef.current = null;\n }\n }, [state]);\n\n const customDispatch = (action, callback) => {\n callbackRef.current = callback;\n dispatch(action);\n };\n\n return [state, customDispatch];\n};\n\nexport default useReducerWithCallback;\n","/* eslint-disable react/forbid-prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { findIndex, cloneDeep } from 'lodash';\nimport {\n Panel, Button, ButtonToolbar, OverlayTrigger, Tooltip\n} from 'react-bootstrap';\nimport GenInterface from './GenInterface';\nimport {\n genUnits, toBool, toNum, absOlsTermLabel\n} from '../tools/utils';\n\nclass GenericDSDetails extends Component {\n constructor(props) {\n super(props);\n this.handleReload = this.handleReload.bind(this);\n }\n\n handleReload() {\n const { klass, genericDS, onChange } = this.props;\n if (klass.properties_release) {\n const newProps = cloneDeep(klass.properties_release);\n newProps.klass_uuid = klass.uuid;\n Object.keys(newProps.layers).forEach(key => {\n const newLayer = newProps.layers[key] || {};\n const curFields = (genericDS.properties.layers[key] && genericDS.properties.layers[key].fields) || [];\n (newLayer.fields || []).forEach((f, idx) => {\n const curIdx = findIndex(curFields, o => o.field === f.field);\n if (curIdx >= 0) {\n const curVal = genericDS.properties.layers[key].fields[curIdx].value;\n const curType = typeof curVal;\n if (['select', 'text', 'textarea', 'formula-field'].includes(newProps.layers[key].fields[idx].type)) {\n newProps.layers[key].fields[idx].value = curType !== 'undefined' ? curVal.toString() : '';\n }\n if (newProps.layers[key].fields[idx].type === 'integer') {\n // eslint-disable-next-line no-restricted-globals\n newProps.layers[key].fields[idx].value = (curType === 'undefined' || curType === 'boolean' || isNaN(curVal)) ? 0 : parseInt(curVal, 10);\n }\n if (newProps.layers[key].fields[idx].type === 'checkbox') {\n newProps.layers[key].fields[idx].value = curType !== 'undefined' ? toBool(curVal) : false;\n }\n if (newProps.layers[key].fields[idx].type === 'system-defined') {\n const units = genUnits(newProps.layers[key].fields[idx].option_layers);\n const vs = units.find(u => u.key === genericDS.properties.layers[key].fields[curIdx].value_system);\n newProps.layers[key].fields[idx].value_system = (vs && vs.key) || units[0].key;\n newProps.layers[key].fields[idx].value = toNum(curVal);\n }\n }\n });\n });\n genericDS.properties = newProps;\n genericDS.dataset_klass_id = klass.id;\n genericDS.klass_ols = klass.ols_term_id;\n genericDS.klass_label = klass.label;\n genericDS.changed = true;\n onChange(genericDS);\n } else {\n onChange(undefined);\n }\n }\n\n elementalPropertiesItem(genericDS) {\n const { onChange } = this.props;\n const layersLayout = (\n <GenInterface\n generic={genericDS}\n fnChange={onChange}\n extLayers={[]}\n genId={0}\n isPreview={false}\n isSearch={false}\n isActiveWF={false}\n />\n );\n return (<div style={{ margin: '5px' }}>{layersLayout}</div>);\n }\n\n render() {\n const { uiCtrl, genericDS, kind } = this.props;\n if (uiCtrl && Object.keys(genericDS).length !== 0 && kind && kind !== '') {\n return (\n <Panel className=\"panel-detail\">\n <Panel.Body style={{ position: 'relative', minHeight: 260, overflowY: 'unset' }}>\n {this.elementalPropertiesItem(genericDS)}\n <span className=\"g-ds-note label\">\n <span className=\"g-ds-title\">Note</span>\n <br />\n Selected analysis type:\n {' '}\n {absOlsTermLabel(kind)}\n <br />\n Content is designed for:\n {' '}\n {genericDS.klass_label}\n </span>\n <ButtonToolbar className=\"pull-right\">\n <OverlayTrigger placement=\"top\" overlay={<Tooltip id=\"_tooltip_reload\">click to reload the content template</Tooltip>}>\n <Button bsSize=\"xsmall\" bsStyle=\"danger\" onClick={() => this.handleReload()}>Reload</Button>\n </OverlayTrigger>\n </ButtonToolbar>\n </Panel.Body>\n </Panel>\n );\n }\n return null;\n }\n}\n\nGenericDSDetails.propTypes = {\n uiCtrl: PropTypes.bool.isRequired, // MatrixCheck(currentUser.matrix, 'genericDataset')\n kind: PropTypes.string, // selected analysis type\n genericDS: PropTypes.object,\n klass: PropTypes.object, // dataset_klass\n onChange: PropTypes.func.isRequired // change callback\n};\nGenericDSDetails.defaultProps = { kind: '', genericDS: {}, klass: {} };\n\n// export default DragDropContext(HTML5Backend)(GenericDSDetails);\nexport default GenericDSDetails;\n","/* eslint-disable react/forbid-prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { findIndex, cloneDeep } from 'lodash';\nimport { Panel } from 'react-bootstrap';\nimport GenInterface from './GenInterface';\nimport {\n genUnits, toBool, toNum\n} from '../tools/utils';\nimport organizeSubValues from '../tools/collate';\n\nclass SegmentDetails extends Component {\n constructor(props) {\n super(props);\n this.handleReload = this.handleReload.bind(this);\n }\n\n handleReload() {\n const { klass, segment, onChange } = this.props;\n const newProps = cloneDeep(klass.properties_release);\n newProps.klass_uuid = klass.uuid;\n Object.keys(newProps.layers).forEach(key => {\n const newLayer = newProps.layers[key] || {};\n const curFields = (segment.properties.layers[key] && segment.properties.layers[key].fields)\n || [];\n (newLayer.fields || []).forEach((f, idx) => {\n const curIdx = findIndex(curFields, o => o.field === f.field);\n if (curIdx >= 0) {\n const curVal = segment.properties.layers[key].fields[curIdx].value;\n const curType = typeof curVal;\n if (['select', 'text', 'textarea', 'formula-field'].includes(newProps.layers[key].fields[idx].type)) {\n newProps.layers[key].fields[idx].value = curType !== 'undefined' ? curVal.toString() : '';\n }\n if (newProps.layers[key].fields[idx].type === 'integer') {\n newProps.layers[key].fields[idx].value = (curType === 'undefined' || curType === 'boolean' || isNaN(curVal)) ? 0 : parseInt(curVal, 10);\n }\n if (newProps.layers[key].fields[idx].type === 'checkbox') {\n newProps.layers[key].fields[idx].value = curType !== 'undefined' ? toBool(curVal) : false;\n }\n if (newProps.layers[key].fields[idx].type === 'system-defined') {\n const units = genUnits(newProps.layers[key].fields[idx].option_layers);\n const vs = units.find(u => u.key === segment.properties.layers[key].fields[curIdx].value_system);\n newProps.layers[key].fields[idx].value_system = (vs && vs.key) || units[0].key;\n newProps.layers[key].fields[idx].value = toNum(curVal);\n }\n if (newProps.layers[key].fields[idx].type === 'input-group') {\n if (segment.properties.layers[key].fields[curIdx].type\n !== newProps.layers[key].fields[idx].type) {\n newProps.layers[key].fields[idx].value = undefined;\n } else {\n const nSubs = newProps.layers[key].fields[idx].sub_fields || [];\n const cSubs = segment.properties.layers[key].fields[curIdx].sub_fields || [];\n const exSubs = [];\n if (nSubs.length < 1) {\n newProps.layers[key].fields[idx].value = undefined;\n } else {\n nSubs.forEach(nSub => {\n const hitSub = cSubs.find(c => c.id === nSub.id) || {};\n if (nSub.type === 'label') { exSubs.push(nSub); }\n if (nSub.type === 'text') {\n if (hitSub.type === 'label') {\n exSubs.push(nSub);\n } else { exSubs.push({ ...nSub, value: (hitSub.value || '').toString() }); }\n }\n\n if (['number', 'system-defined'].includes(nSub.type)) {\n const nvl = (typeof hitSub.value === 'undefined' || hitSub.value == null || hitSub.value.length === 0) ? '' : toNum(hitSub.value);\n if (nSub.option_layers === hitSub.option_layers) {\n exSubs.push({ ...nSub, value: nvl, value_system: hitSub.value_system });\n } else {\n exSubs.push({ ...nSub, value: nvl });\n }\n }\n });\n }\n newProps.layers[key].fields[idx].sub_fields = exSubs;\n }\n }\n if (newProps.layers[key].fields[idx].type === 'upload') {\n if (segment.properties.layers[key].fields[curIdx].type\n === newProps.layers[key].fields[idx].type) {\n newProps.layers[key].fields[idx].value = segment.properties.layers[key].fields[curIdx].value;\n } else {\n newProps.layers[key].fields[idx].value = {};\n }\n }\n if (newProps.layers[key].fields[idx].type === 'table') {\n if (segment.properties.layers[key].fields[curIdx].type\n !== newProps.layers[key].fields[idx].type) {\n newProps.layers[key].fields[idx].sub_values = [];\n } else {\n newProps.layers[key].fields[idx].sub_values = organizeSubValues(\n newProps.layers[key].fields[idx],\n segment.properties.layers[key].fields[curIdx]\n );\n }\n }\n }\n });\n });\n segment.properties = newProps;\n segment.changed = true;\n onChange(segment);\n }\n\n elementalPropertiesItem(segment) {\n const { onChange, fnNavi, isSearch } = this.props;\n const layersLayout = (\n <GenInterface\n generic={segment}\n fnChange={onChange}\n extLayers={[]}\n genId={0}\n isPreview={false}\n isSearch={isSearch}\n isActiveWF\n fnNavi={fnNavi}\n />\n );\n return (<div style={{ margin: '5px' }}>{layersLayout}</div>);\n }\n\n render() {\n const { uiCtrl, segment } = this.props;\n if (!uiCtrl || Object.keys(segment).length === 0) return null;\n return (\n <div>\n <Panel>\n <Panel.Body style={{ position: 'relative', minHeight: 260, overflowY: 'unset' }}>\n {this.elementalPropertiesItem(segment)}\n </Panel.Body>\n </Panel>\n </div>\n );\n }\n}\n\nSegmentDetails.propTypes = {\n uiCtrl: PropTypes.bool.isRequired,\n segment: PropTypes.object,\n klass: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n fnNavi: PropTypes.func\n};\n\nSegmentDetails.defaultProps = { segment: {}, klass: {}, fnNavi: () => {} };\n\nexport default SegmentDetails;\n","import React, { memo } from 'react';\nimport { Handle, Position } from 'react-flow-renderer';\n\nconst targetHandleStyle = { background: '#555' };\nconst sourceHandleStyleA = { ...targetHandleStyle, top: 10 };\nconst onConnect = params => console.log('handle onConnect', params);\n\nconst LayerNode = ({ data }) => (\n <>\n <Handle type=\"target\" position={Position.Top} style={targetHandleStyle} onConnect={onConnect} />\n <div>\n <div style={{ borderWidth: '0px 0px 1px 0px', borderColor: 'black', borderStyle: 'solid' }}><b>{data.layer.label}</b></div>\n <div>\n (\n {data.layer.key}\n )\n </div>\n </div>\n <Handle type=\"source\" position={Position.Bottom} id=\"a\" style={sourceHandleStyleA} />\n </>\n);\n\nexport default memo(LayerNode);\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactFlow, { ReactFlowProvider, Controls, ConnectionMode } from 'react-flow-renderer';\nimport LayerNode from './LayerNode';\nimport { conFlowEls, flowDefault } from '../tools/utils';\n\nconst FlowView = props => {\n const { properties, properties_release } = props;\n const [reactFlowInstance, setReactFlowInstance] = useState(null);\n const [elements, setElements] = useState([]);\n const onLoad = _reactFlowInstance => {\n setReactFlowInstance(_reactFlowInstance);\n };\n\n useEffect(() => {\n let flowEls = conFlowEls(props);\n flowEls = flowEls.length > 0 ? flowEls : flowDefault;\n // flowEls = decorateNode(flowEls, properties.layers || {});\n setElements(flowEls);\n }, [properties, properties_release]);\n\n useEffect(() => {\n let flowEls = conFlowEls(props);\n flowEls = flowEls.length > 0 ? flowEls : flowDefault;\n // flowEls = decorateNode(flowEls, properties.layers || {});\n setElements(flowEls);\n }, []);\n\n useEffect(() => {\n if (reactFlowInstance && elements.length) {\n reactFlowInstance.fitView();\n }\n }, [reactFlowInstance, elements.length]);\n\n return (\n <ReactFlowProvider>\n <ReactFlow\n elements={elements}\n onLoad={onLoad}\n connectionMode={ConnectionMode.Loose}\n nodeTypes={{ selectorNode: LayerNode }}\n deleteKeyCode={46}\n >\n <Controls />\n </ReactFlow>\n </ReactFlowProvider>\n );\n};\n\nFlowView.propTypes = {\n properties: PropTypes.object.isRequired,\n};\n\nexport default FlowView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, Panel } from 'react-bootstrap';\nimport Draggable from 'react-draggable';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport FlowView from './FlowView';\n\nconst FlowViewerModal = props => {\n const { show, data, fnHide } = props;\n if (!show) return null;\n const { properties_release, properties, shortLabel } = data;\n if (Object.keys(properties_release).length < 1) return null;\n if ((Object.keys(properties_release.flow || {}).length < 1)\n || ((properties_release.flow.elements || []).length < 3)) {\n return (\n <Modal show={show} bsSize=\"small\" onHide={fnHide}>\n <Modal.Header closeButton>\n <Modal.Title>{`${shortLabel} workflow`}</Modal.Title>\n </Modal.Header>\n <Modal.Body>No defined workflow</Modal.Body>\n </Modal>\n );\n }\n\n return (\n <Draggable handle=\".layer_header\" bounds=\"body\">\n <div className=\"flow_view_draggable\">\n <Panel bsStyle=\"primary\">\n <Panel.Heading className=\"layer_header\">\n {`${shortLabel} workflow`}\n <Button bsStyle=\"danger\" bsSize=\"xsmall\" className=\"gu_button_right\" onClick={fnHide}><FontAwesomeIcon icon=\"fas fa-times\" /></Button>\n </Panel.Heading>\n <Panel.Body>\n <div className=\"body_bg\">\n <div className=\"body_canvas\"><FlowView properties={properties} properties_release={properties_release} /></div>\n </div>\n </Panel.Body>\n </Panel>\n </div>\n </Draggable>\n );\n};\n\nFlowViewerModal.propTypes = {\n show: PropTypes.bool.isRequired,\n data: PropTypes.shape({\n properties_release: PropTypes.object, properties: PropTypes.object, shortLabel: PropTypes.string\n }).isRequired,\n fnHide: PropTypes.func.isRequired\n};\n\nexport default FlowViewerModal;\n","import { library } from '@fortawesome/fontawesome-svg-core';\nimport { fas } from '@fortawesome/free-solid-svg-icons';\nimport { far } from '@fortawesome/free-regular-svg-icons';\nimport './asserts/main.css';\n\nlibrary.add(fas, far);\n\nexport { default as ElementManager } from './components/admin/ElementManager';\nexport { default as GenButtonTooltip } from './components/fields/ButtonTooltip';\nexport { default as GenButtonConfirm } from './components/fields/ButtonConfirm';\nexport { default as GenButtonReload } from './components/fields/ButtonReload';\nexport { default as GenInterface } from './components/details/GenInterface';\nexport { default as GenericDSDetails } from './components/details/GenDSDetails';\nexport { default as SegmentDetails } from './components/details/GenSgDetails';\nexport { default as FlowViewerModal } from './components/flow/FlowViewerModal';\nexport { default as reinventGeneric } from './components/tools/reinventGeneric';\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".gu_button_right{float:right;right:0px;z-index:1;margin-left:2px}.bg-bs-primary{background-color:#337ab7 !important}.bg-bs-warning{background-color:#f0ad4e !important}.icon_generic_nav{font-family:FontAwesome,Helvetica,Arial,sans-serif !important}.field_required{background-color:#ffffe0}.template_panel_heading{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:5px 10px 5px 10px !important}.panel_generic_properties{border-left:unset !important;border-right:unset !important;border-bottom:unset !important;line-height:26px !important;-webkit-box-shadow:unset !important;box-shadow:unset !important;margin-bottom:unset !important}.panel_generic_properties .panel-title{font-weight:bold}.panel_generic_properties .default_style{font-size:14px;line-height:normal}.panel_generic_properties_body{padding-left:unset !important;padding-right:unset !important}.panel_generic_heading_slim{padding:5px 0px !important}.panel_generic_heading{font-weight:bold;padding:10px 0px !important}.panel_generic_heading_bu{font-weight:bold;padding:10px 0px !important;text-decoration:underline}.panel_generic_heading_bui{font-weight:bold;padding:10px 0px !important;text-decoration:underline;font-style:italic}.text_generic_properties .dummy{background-color:unset !important;border:unset !important;-webkit-box-shadow:unset !important;box-shadow:unset !important}.text_generic_properties .editable{background-color:#fff}.text_generic_properties .readonly{background-color:#ddd}.text_generic_properties .required{background-color:#ffffe0}.text_generic_properties input:invalid{border:1px solid #f08080}.select_generic_properties_editable .Select-control{background-color:#fff}.select_generic_properties_readonly .Select-control{background-color:#ddd}.select_generic_properties_required .Select-control{background-color:#ffffe0}.drop_generic_properties{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.drop_generic_properties .target{height:100%;width:100%;margin:0px 10px 0px 10px;display:inline-block}.drop_generic_properties .target .indicator{font-size:x-large}.drop_generic_properties .target .s-img{display:-webkit-box;display:-ms-flexbox;display:flex}.drop_generic_properties .target .s-img img{height:4vh;width:4vw}.drop_generic_properties .target .data{font-size:medium;line-height:normal !important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;-ms-flex-item-align:center;align-self:center;width:100%}.drop_generic_properties .target.can-drop .indicator{border:2px dashed #d3d3d3;color:#d3d3d3}.drop_generic_properties .target.can-drop .data{border:2px dashed #d3d3d3;color:#d3d3d3}.drop_generic_properties .target.is-over .indicator{border:2px dashed #31708f;color:#31708f}.drop_generic_properties .target.is-over .data{border:2px dashed #31708f;color:#31708f}.drop_generic_properties .btn_del{float:right;-ms-flex-item-align:center;align-self:center}.drop_generic_properties .sample_radios{font-size:xx-small;line-height:2;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;padding-right:5px}.generic_criteria_modal{display:block;padding-left:0px;top:45% !important;width:75vw !important}.search_criteria_mof .modal_body{max-height:70vh;height:70vh;overflow:auto}.search_criteria_mof .btn_footer{margin-top:10px}.input-form .input-group-addon{font-weight:bold}.input-form .help{font-size:80%;margin:6px;font-style:italic}.g-ds-note{color:#000 !important;float:left !important;text-align:left !important;font-weight:lighter !important}.g-ds-note .g-ds-title{text-decoration:underline;font-weight:700;line-height:1.5}.g_input_group{padding:6px 6px !important}.g_input_group_label{background-color:#d3d3d3 !important;width:unset !important;white-space:nowrap !important;padding:6px 6px !important}.g_col_w{width:20% !important}.generic_grid{display:block}.generic_grid>div{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.generic_grid_header{width:100%;margin:6px 0px 6px 6px;text-align:center;line-height:15px;-ms-flex-item-align:center;align-self:center;font-weight:bolder;font-family:\\\"Franklin Gothic Medium\\\",\\\"Arial Narrow\\\",Arial,sans-serif}.generic_grid_row{width:100%;margin:6px 0px 6px 6px;text-align:center;line-height:15px;-ms-flex-item-align:center;align-self:center}.generic_version{background-color:#777;display:inline-block;padding:.35em .65em;font-size:.75em;text-align:center;vertical-align:baseline;white-space:nowrap;border-radius:.5rem;color:#fff;background-color:unset;color:blue}.generic_version_draft{background-color:#777;display:inline-block;padding:.35em .65em;font-size:.75em;text-align:center;vertical-align:baseline;white-space:nowrap;border-radius:.5rem;color:#fff;background-color:unset;color:#000}.generic_version_block{display:block;padding:6px 10px;margin:10px;border-radius:10px;border:thin solid #d3d3d3;font-size:1.2em}.generic_version_block>div{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.generic_block_select{border-width:medium;border-style:groove}.generic_panel_none{border-color:#ddd !important}.generic_panel_none>.panel-heading{background-color:#fff !important}.generic_tbl_chks{line-height:1em;margin:0px -10px !important}.generic_tbl_chks>label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-line-pack:center;align-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.generic_tbl_chks>label>input{margin-top:0px}.generic_btn_default{background-color:#777 !important;color:#fff !important}.drop_generic_table_wrap .target .s-img{position:relative;border:1px solid transparent}.drop_generic_table_wrap .target .s-img img{height:4vw;width:4vw}.drop_generic_table_wrap .target .s-img .del_btn{position:absolute;top:0%;left:0%}.drop_generic_table_wrap .target .s-img .link_btn{position:absolute;bottom:0%;left:0%}.drop_generic_table_wrap .target .s-img:hover{border:1px solid #0dcaf0}.drop_generic_table_wrap .target .data{font-size:unset;white-space:unset;text-align:left}.drop_generic_table_wrap .target.can-drop .s-img{border:2px dashed #d3d3d3;color:#d3d3d3}.drop_generic_table_wrap .target.is-over .s-img{border:2px dashed #31708f;color:#31708f}.generic_grid_img{border:#ddd solid thin}.generic_sam_options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;font-size:x-small}.generic_sam_options .radio{margin-top:unset;margin-bottom:unset}.generic_files{padding:0px 5px !important}.generic_files>div>div>div{text-align:left;-ms-flex-item-align:center;align-self:center}.generic_files>div>div>div .form-group{margin-bottom:0px}.grid-btn-none{font-size:large;color:#fff}.generic_grid_dnd .dnd{cursor:move}.generic_grid_dnd .dnd-btn{font-size:large}.generic_grid_dnd .dnd-btn span{cursor:move}.generic_grid_dnd.can-drop{border:2px dashed #d3d3d3;color:#d3d3d3}.generic_grid_dnd.is-over{border:2px dashed #31708f;color:#31708f}.generic_grid_dnd.is-dragging{opacity:.2}.generic_layer_modal>.layer_header{background-color:#fff;color:#337ab7;font-size:20px}.generic_layer_modal>.panel-body{background-color:#d9edf7}.generic_layer_column{width:100%;margin:6px 0px 6px 6px;text-align:center;line-height:15px;-ms-flex-item-align:center;align-self:center;border:1px solid #337ab7;background-color:#fff;margin:5px;padding:10px;color:#337ab7;border-radius:4px}.generic_layer_column>div:first-child{display:-webkit-box;display:-ms-flexbox;display:flex}.generic_layer_column>div:first-child>button{float:right;border-radius:50%}.generic_layer_column>div:first-child>div{width:100%}.generic_wf_modal{max-height:100%;overflow:auto}.generic_wf_modal>div:first-child{height:85vh;width:100%}.flow_view_draggable{z-index:100;position:absolute;top:12%;left:10%}.flow_view_draggable .panel-body{padding:5px}.flow_view_draggable .panel-body>.body_bg{max-height:100%;overflow:auto;background-color:#d9edf7}.flow_view_draggable .panel-body>.body_bg>.body_canvas{resize:both;overflow:auto;height:70vh;width:40vw;min-height:250px;min-width:300px;max-width:1600px;max-height:840px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/asserts/main.css\"],\"names\":[],\"mappings\":\"AAAA,iBACE,WAAA,CACA,SAAA,CACA,SAAA,CACA,eAAA,CAGF,eACE,mCAAA,CAGF,eACE,mCAAA,CAGF,kBACE,6DAAA,CAGF,gBACE,wBAAA,CAGF,wBACE,mBAAA,CAAA,mBAAA,CAAA,YAAA,CACA,wBAAA,CAAA,qBAAA,CAAA,6BAAA,CACA,wBAAA,CAAA,qBAAA,CAAA,kBAAA,CACA,oCAAA,CAGF,0BACE,4BAAA,CACA,6BAAA,CACA,8BAAA,CACA,2BAAA,CACA,mCAAA,CAAA,2BAAA,CACA,8BAAA,CAEF,uCACE,gBAAA,CAEF,yCACE,cAAA,CACA,kBAAA,CAGF,+BACE,6BAAA,CACA,8BAAA,CAGF,4BACE,0BAAA,CAGF,uBACE,gBAAA,CACA,2BAAA,CAGF,0BACE,gBAAA,CACA,2BAAA,CACA,yBAAA,CAGF,2BACE,gBAAA,CACA,2BAAA,CACA,yBAAA,CACA,iBAAA,CAGF,gCACE,iCAAA,CACA,uBAAA,CACA,mCAAA,CAAA,2BAAA,CAEF,mCACE,qBAAA,CAEF,mCACE,qBAAA,CAEF,mCACE,wBAAA,CAEF,uCACE,wBAAA,CAGF,oDACE,qBAAA,CAGF,oDACE,qBAAA,CAGF,oDACE,wBAAA,CAGF,yBACE,mBAAA,CAAA,mBAAA,CAAA,YAAA,CACA,wBAAA,CAAA,qBAAA,CAAA,kBAAA,CAEF,iCACE,WAAA,CACA,UAAA,CACA,wBAAA,CACA,oBAAA,CAEF,4CACE,iBAAA,CAEF,wCACE,mBAAA,CAAA,mBAAA,CAAA,YAAA,CAEF,4CACE,UAAA,CACA,SAAA,CAEF,uCACE,gBAAA,CACA,6BAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,0BAAA,CAAA,iBAAA,CACA,UAAA,CAEF,qDACE,yBAAA,CACA,aAAA,CAEF,gDACE,yBAAA,CACA,aAAA,CAEF,oDACE,yBAAA,CACA,aAAA,CAEF,+CACE,yBAAA,CACA,aAAA,CAEF,kCACE,WAAA,CACA,0BAAA,CAAA,iBAAA,CAEF,wCACE,kBAAA,CACA,aAAA,CACA,0BAAA,CAAA,0BAAA,CAAA,mBAAA,CACA,iBAAA,CAGF,wBACE,aAAA,CACA,gBAAA,CACA,kBAAA,CACA,qBAAA,CAGF,iCACE,eAAA,CACA,WAAA,CACA,aAAA,CAEF,iCACE,eAAA,CAGF,+BACE,gBAAA,CAEF,kBACE,aAAA,CACA,UAAA,CACA,iBAAA,CAGF,WACE,qBAAA,CACA,qBAAA,CACA,0BAAA,CACA,8BAAA,CAEF,uBACE,yBAAA,CACA,eAAA,CACA,eAAA,CAGF,eACE,0BAAA,CAGF,qBACE,mCAAA,CACA,sBAAA,CACA,6BAAA,CACA,0BAAA,CAGF,SACE,oBAAA,CAGF,cACE,aAAA,CAEF,kBACE,mBAAA,CAAA,mBAAA,CAAA,YAAA,CACA,oBAAA,CAAA,gBAAA,CAGF,qBACE,UAAA,CACA,sBAAA,CACA,iBAAA,CACA,gBAAA,CACA,0BAAA,CAAA,iBAAA,CACA,kBAAA,CACA,oEAAA,CAGF,kBACE,UAAA,CACA,sBAAA,CACA,iBAAA,CACA,gBAAA,CACA,0BAAA,CAAA,iBAAA,CAGF,iBACE,qBAAA,CACA,oBAAA,CACA,mBAAA,CACA,eAAA,CACA,iBAAA,CACA,uBAAA,CACA,kBAAA,CACA,mBAAA,CACA,UAAA,CACA,sBAAA,CACA,UAAA,CAGF,uBACE,qBAAA,CACA,oBAAA,CACA,mBAAA,CACA,eAAA,CACA,iBAAA,CACA,uBAAA,CACA,kBAAA,CACA,mBAAA,CACA,UAAA,CACA,sBAAA,CACA,UAAA,CAGF,uBACE,aAAA,CACA,gBAAA,CACA,WAAA,CACA,kBAAA,CACA,yBAAA,CACA,eAAA,CAEF,2BACE,mBAAA,CAAA,mBAAA,CAAA,YAAA,CACA,oBAAA,CAAA,gBAAA,CAGF,sBACE,mBAAA,CACA,mBAAA,CAGF,oBACE,4BAAA,CAEF,mCACE,gCAAA,CAGF,kBACE,eAAA,CACA,2BAAA,CAEF,wBACE,0BAAA,CAAA,0BAAA,CAAA,mBAAA,CACA,yBAAA,CAAA,oBAAA,CACA,wBAAA,CAAA,qBAAA,CAAA,kBAAA,CAEF,8BACE,cAAA,CAGF,qBACE,gCAAA,CACA,qBAAA,CAGF,wCACE,iBAAA,CACA,4BAAA,CAEF,4CACE,UAAA,CACA,SAAA,CAEF,iDACE,iBAAA,CACA,MAAA,CACA,OAAA,CAEF,kDACE,iBAAA,CACA,SAAA,CACA,OAAA,CAEF,8CACE,wBAAA,CAEF,uCACE,eAAA,CACA,iBAAA,CACA,eAAA,CAEF,iDACE,yBAAA,CACA,aAAA,CAEF,gDACE,yBAAA,CACA,aAAA,CAGF,kBACE,sBAAA,CAGF,qBACE,mBAAA,CAAA,mBAAA,CAAA,YAAA,CACA,2BAAA,CAAA,4BAAA,CAAA,yBAAA,CAAA,qBAAA,CACA,eAAA,CACA,iBAAA,CAEF,4BACE,gBAAA,CACA,mBAAA,CAGF,eACE,0BAAA,CAEF,2BACE,eAAA,CACA,0BAAA,CAAA,iBAAA,CAEF,uCACE,iBAAA,CAGF,eACE,eAAA,CACA,UAAA,CAGF,uBACE,WAAA,CAEF,2BACE,eAAA,CAEF,gCACE,WAAA,CAEF,2BACE,yBAAA,CACA,aAAA,CAEF,0BACE,yBAAA,CACA,aAAA,CAEF,8BACE,UAAA,CAGF,mCACE,qBAAA,CACA,aAAA,CACA,cAAA,CAEF,iCACE,wBAAA,CAGF,sBACE,UAAA,CACA,sBAAA,CACA,iBAAA,CACA,gBAAA,CACA,0BAAA,CAAA,iBAAA,CACA,wBAAA,CACA,qBAAA,CACA,UAAA,CACA,YAAA,CACA,aAAA,CACA,iBAAA,CAGF,sCACE,mBAAA,CAAA,mBAAA,CAAA,YAAA,CAGF,6CACE,WAAA,CACA,iBAAA,CAGF,0CACE,UAAA,CAGF,kBACE,eAAA,CACA,aAAA,CAGF,kCACE,WAAA,CACA,UAAA,CAGF,qBACE,WAAA,CACA,iBAAA,CACA,OAAA,CACA,QAAA,CAEF,iCACE,WAAA,CAEF,0CACE,eAAA,CACA,aAAA,CACA,wBAAA,CAEF,uDACE,WAAA,CACA,aAAA,CACA,WAAA,CACA,UAAA,CACA,gBAAA,CACA,eAAA,CACA,gBAAA,CACA,gBAAA\",\"sourcesContent\":[\".gu_button_right {\\n float: right;\\n right: 0px;\\n z-index: 1;\\n margin-left: 2px;\\n}\\n\\n.bg-bs-primary {\\n background-color: #337ab7 !important;\\n}\\n\\n.bg-bs-warning {\\n background-color: #f0ad4e !important;\\n}\\n\\n.icon_generic_nav {\\n font-family: FontAwesome, Helvetica, Arial, sans-serif !important;\\n}\\n\\n.field_required {\\n background-color: lightyellow;\\n}\\n\\n.template_panel_heading {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n padding: 5px 10px 5px 10px !important;\\n}\\n\\n.panel_generic_properties {\\n border-left: unset !important;\\n border-right: unset !important;\\n border-bottom: unset !important;\\n line-height: 26px !important;\\n box-shadow: unset !important;\\n margin-bottom: unset !important;\\n}\\n.panel_generic_properties .panel-title {\\n font-weight: bold;\\n}\\n.panel_generic_properties .default_style {\\n font-size: 14px;\\n line-height: normal;\\n}\\n\\n.panel_generic_properties_body {\\n padding-left: unset !important;\\n padding-right: unset !important;\\n}\\n\\n.panel_generic_heading_slim {\\n padding: 5px 0px !important;\\n}\\n\\n.panel_generic_heading {\\n font-weight: bold;\\n padding: 10px 0px !important;\\n}\\n\\n.panel_generic_heading_bu {\\n font-weight: bold;\\n padding: 10px 0px !important;\\n text-decoration: underline;\\n}\\n\\n.panel_generic_heading_bui {\\n font-weight: bold;\\n padding: 10px 0px !important;\\n text-decoration: underline;\\n font-style: italic;\\n}\\n\\n.text_generic_properties .dummy {\\n background-color: unset !important;\\n border: unset !important;\\n box-shadow: unset !important;\\n}\\n.text_generic_properties .editable {\\n background-color: #fff;\\n}\\n.text_generic_properties .readonly {\\n background-color: #ddd;\\n}\\n.text_generic_properties .required {\\n background-color: lightyellow;\\n}\\n.text_generic_properties input:invalid {\\n border: 1px solid lightcoral;\\n}\\n\\n.select_generic_properties_editable .Select-control {\\n background-color: #fff;\\n}\\n\\n.select_generic_properties_readonly .Select-control {\\n background-color: #ddd;\\n}\\n\\n.select_generic_properties_required .Select-control {\\n background-color: lightyellow;\\n}\\n\\n.drop_generic_properties {\\n display: flex;\\n align-items: center;\\n}\\n.drop_generic_properties .target {\\n height: 100%;\\n width: 100%;\\n margin: 0px 10px 0px 10px;\\n display: inline-block;\\n}\\n.drop_generic_properties .target .indicator {\\n font-size: x-large;\\n}\\n.drop_generic_properties .target .s-img {\\n display: flex;\\n}\\n.drop_generic_properties .target .s-img img {\\n height: 4vh;\\n width: 4vw;\\n}\\n.drop_generic_properties .target .data {\\n font-size: medium;\\n line-height: normal !important;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n align-self: center;\\n width: 100%;\\n}\\n.drop_generic_properties .target.can-drop .indicator {\\n border: 2px dashed lightgray;\\n color: lightgray;\\n}\\n.drop_generic_properties .target.can-drop .data {\\n border: 2px dashed lightgray;\\n color: lightgray;\\n}\\n.drop_generic_properties .target.is-over .indicator {\\n border: 2px dashed #31708f;\\n color: #31708f;\\n}\\n.drop_generic_properties .target.is-over .data {\\n border: 2px dashed #31708f;\\n color: #31708f;\\n}\\n.drop_generic_properties .btn_del {\\n float: right;\\n align-self: center;\\n}\\n.drop_generic_properties .sample_radios {\\n font-size: xx-small;\\n line-height: 2;\\n display: inline-flex;\\n padding-right: 5px;\\n}\\n\\n.generic_criteria_modal {\\n display: block;\\n padding-left: 0px;\\n top: 45% !important;\\n width: 75vw !important;\\n}\\n\\n.search_criteria_mof .modal_body {\\n max-height: 70vh;\\n height: 70vh;\\n overflow: auto;\\n}\\n.search_criteria_mof .btn_footer {\\n margin-top: 10px;\\n}\\n\\n.input-form .input-group-addon {\\n font-weight: bold;\\n}\\n.input-form .help {\\n font-size: 80%;\\n margin: 6px;\\n font-style: italic;\\n}\\n\\n.g-ds-note {\\n color: black !important;\\n float: left !important;\\n text-align: left !important;\\n font-weight: lighter !important;\\n}\\n.g-ds-note .g-ds-title {\\n text-decoration: underline;\\n font-weight: 700;\\n line-height: 1.5;\\n}\\n\\n.g_input_group {\\n padding: 6px 6px !important;\\n}\\n\\n.g_input_group_label {\\n background-color: lightgray !important;\\n width: unset !important;\\n white-space: nowrap !important;\\n padding: 6px 6px !important;\\n}\\n\\n.g_col_w {\\n width: 20% !important;\\n}\\n\\n.generic_grid {\\n display: block;\\n}\\n.generic_grid > div {\\n display: flex;\\n flex-wrap: nowrap;\\n}\\n\\n.generic_grid_header {\\n width: 100%;\\n margin: 6px 0px 6px 6px;\\n text-align: center;\\n line-height: 15px;\\n align-self: center;\\n font-weight: bolder;\\n font-family: \\\"Franklin Gothic Medium\\\", \\\"Arial Narrow\\\", Arial, sans-serif;\\n}\\n\\n.generic_grid_row {\\n width: 100%;\\n margin: 6px 0px 6px 6px;\\n text-align: center;\\n line-height: 15px;\\n align-self: center;\\n}\\n\\n.generic_version {\\n background-color: #777;\\n display: inline-block;\\n padding: 0.35em 0.65em;\\n font-size: 0.75em;\\n text-align: center;\\n vertical-align: baseline;\\n white-space: nowrap;\\n border-radius: 0.5rem;\\n color: white;\\n background-color: unset;\\n color: blue;\\n}\\n\\n.generic_version_draft {\\n background-color: #777;\\n display: inline-block;\\n padding: 0.35em 0.65em;\\n font-size: 0.75em;\\n text-align: center;\\n vertical-align: baseline;\\n white-space: nowrap;\\n border-radius: 0.5rem;\\n color: white;\\n background-color: unset;\\n color: black;\\n}\\n\\n.generic_version_block {\\n display: block;\\n padding: 6px 10px;\\n margin: 10px;\\n border-radius: 10px;\\n border: thin solid lightgray;\\n font-size: 1.2em;\\n}\\n.generic_version_block > div {\\n display: flex;\\n flex-wrap: nowrap;\\n}\\n\\n.generic_block_select {\\n border-width: medium;\\n border-style: groove;\\n}\\n\\n.generic_panel_none {\\n border-color: #ddd !important;\\n}\\n.generic_panel_none > .panel-heading {\\n background-color: white !important;\\n}\\n\\n.generic_tbl_chks {\\n line-height: 1em;\\n margin: 0px -10px !important;\\n}\\n.generic_tbl_chks > label {\\n display: inline-flex;\\n align-content: center;\\n align-items: center;\\n}\\n.generic_tbl_chks > label > input {\\n margin-top: 0px;\\n}\\n\\n.generic_btn_default {\\n background-color: #777 !important;\\n color: #fff !important;\\n}\\n\\n.drop_generic_table_wrap .target .s-img {\\n position: relative;\\n border: 1px solid transparent;\\n}\\n.drop_generic_table_wrap .target .s-img img {\\n height: 4vw;\\n width: 4vw;\\n}\\n.drop_generic_table_wrap .target .s-img .del_btn {\\n position: absolute;\\n top: 0%;\\n left: 0%;\\n}\\n.drop_generic_table_wrap .target .s-img .link_btn {\\n position: absolute;\\n bottom: 0%;\\n left: 0%;\\n}\\n.drop_generic_table_wrap .target .s-img:hover {\\n border: 1px solid #0dcaf0;\\n}\\n.drop_generic_table_wrap .target .data {\\n font-size: unset;\\n white-space: unset;\\n text-align: left;\\n}\\n.drop_generic_table_wrap .target.can-drop .s-img {\\n border: 2px dashed lightgray;\\n color: lightgray;\\n}\\n.drop_generic_table_wrap .target.is-over .s-img {\\n border: 2px dashed #31708f;\\n color: #31708f;\\n}\\n\\n.generic_grid_img {\\n border: #ddd solid thin;\\n}\\n\\n.generic_sam_options {\\n display: flex;\\n flex-direction: column;\\n text-align: left;\\n font-size: x-small;\\n}\\n.generic_sam_options .radio {\\n margin-top: unset;\\n margin-bottom: unset;\\n}\\n\\n.generic_files {\\n padding: 0px 5px !important;\\n}\\n.generic_files > div > div > div {\\n text-align: left;\\n align-self: center;\\n}\\n.generic_files > div > div > div .form-group {\\n margin-bottom: 0px;\\n}\\n\\n.grid-btn-none {\\n font-size: large;\\n color: white;\\n}\\n\\n.generic_grid_dnd .dnd {\\n cursor: move;\\n}\\n.generic_grid_dnd .dnd-btn {\\n font-size: large;\\n}\\n.generic_grid_dnd .dnd-btn span {\\n cursor: move;\\n}\\n.generic_grid_dnd.can-drop {\\n border: 2px dashed lightgray;\\n color: lightgray;\\n}\\n.generic_grid_dnd.is-over {\\n border: 2px dashed #31708f;\\n color: #31708f;\\n}\\n.generic_grid_dnd.is-dragging {\\n opacity: 0.2;\\n}\\n\\n.generic_layer_modal > .layer_header {\\n background-color: white;\\n color: #337ab7;\\n font-size: 20px;\\n}\\n.generic_layer_modal > .panel-body {\\n background-color: #d9edf7;\\n}\\n\\n.generic_layer_column {\\n width: 100%;\\n margin: 6px 0px 6px 6px;\\n text-align: center;\\n line-height: 15px;\\n align-self: center;\\n border: 1px solid #337ab7;\\n background-color: white;\\n margin: 5px;\\n padding: 10px;\\n color: #337ab7;\\n border-radius: 4px;\\n}\\n\\n.generic_layer_column > div:first-child {\\n display: flex;\\n}\\n\\n.generic_layer_column > div:first-child > button {\\n float: right;\\n border-radius: 50%;\\n}\\n\\n.generic_layer_column > div:first-child > div {\\n width: 100%;\\n}\\n\\n.generic_wf_modal {\\n max-height: 100%;\\n overflow: auto;\\n}\\n\\n.generic_wf_modal > div:first-child {\\n height: 85vh;\\n width: 100%;\\n}\\n\\n.flow_view_draggable {\\n z-index: 100;\\n position: absolute;\\n top: 12%;\\n left: 10%;\\n}\\n.flow_view_draggable .panel-body {\\n padding: 5px;\\n}\\n.flow_view_draggable .panel-body > .body_bg {\\n max-height: 100%;\\n overflow: auto;\\n background-color: #d9edf7;\\n}\\n.flow_view_draggable .panel-body > .body_bg > .body_canvas {\\n resize: both;\\n overflow: auto;\\n height: 70vh;\\n width: 40vw;\\n min-height: 250px;\\n min-width: 300px;\\n max-width: 1600px;\\n max-height: 840px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__7607__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4639__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1346__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = function(module) {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: function() {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkchem_generic_ui\"] = self[\"webpackChunkchem_generic_ui\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [369], function() { return __webpack_require__(2116); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["root","factory","exports","module","require","define","amd","i","a","self","__WEBPACK_EXTERNAL_MODULE__4639__","__WEBPACK_EXTERNAL_MODULE__1346__","__WEBPACK_EXTERNAL_MODULE__7607__","dropTarget","drop","targetProps","monitor","sourceProps","getItem","element","sourceTag","type","props","id","taggable","tag","taggable_data","isAssoc","reaction_id","wellplate_id","el_id","molecule","el_type","el_label","molecule_name_label","el_tip","inchikey","cano_smiles","is_new","cr_opt","short_label","icon_name","element_klass","el_klass","label","name","opt","split","onDrop","canDrop","_targetProps","_monitor","GenericElDropTarget","onNavi","connectDropTarget","this","isOver","iconClass","dndItems","className","value","tip1","tips","length","tip2","tit","pop","title","style","maxWidth","maxHeight","src","el_svg","height","width","alt","role","onClick","cursor","path","txt","trigger","placement","rootClose","onHide","overlay","uuid","Component","DropTarget","connect","propTypes","PropTypes","FieldLabel","desc","delayShow","defaultProps","GenPropertiesCalculate","fields","layer","showVal","showTxt","newFormula","formula","calFields","filter","o","regF","varFields","match","sort","b","forEach","fi","tmpField","isNaN","find","e","field","replace","parseFloat","unitConvToBase","eval","toFixed","SyntaxError","message","fieldHeader","description","onChange","readOnly","required","placeholder","min","active","aria-hidden","GenPropertiesCheckbox","checked","disabled","GenPropertiesDrop","isRequired","createOpt","inline","defaultIcon","dragTarget","isPreview","paddingBottom","bsStyle","bsSize","GenDummy","GenPropertiesInputGroup","subs","f_obj","sub_fields","map","key","onSubChange","genUnitSup","genUnit","option_layers","value_system","display","GenPropertiesNumber","isEditable","GenPropertiesSelect","options","op","val","isClearable","menuContainerStyle","position","multi","GenPropertiesSystemDefined","GenPropertiesTable","GenPropertiesText","GenPropertiesTextArea","componentClass","GenTextFormula","layers","text_sub_fields","fds","separator","includes","fdt","f","sub_values","svv","push","fd","join","renderListGroupItem","attachment","delBtn","uid","action","filename","aid","downloadFile","contents","GenPropertiesUpload","attachments","files","isSearch","border","textAlign","paddingTop","color","GenWFNext","wf_options","GenericSubField","args","Object","assign","buildID","AddRowBtn","addRow","OverlayTrigger","Tooltip","Button","DelRowBtn","delRow","data","node","NullRowBtn","DnDRowBtn","moveRow","rowValue","handleMove","compose","DragSource","s","beginDrag","fid","rId","connectDragSource","dragSource","isDragging","tar","UConverterRenderer","sField","base","params","svg","endsWith","Popover","DropRenderer","oopt","cloneDeep","DropTextRenderer","attr","displayValue","data-clipboard-text","wordBreak","DropLinkRenderer","dId","dVal","el_short_label","SamOption","fValue","rUUID","Radio","subField","crOpt","SelectRenderer","sOptions","GenericElTableDropTarget","justifyContent","subVal","molecule_formula","el_inchikey","el_smiles","el_iupac","iupac_name","el_molecular_weight","molecular_weight","molecule_svg_file","el_name","el_external_label","external_label","molecule_molecular_weight","sample_svg_file","TableRecord","bind","onCellChange","onSelectClick","onUnitClick","onChk","getColumns","columnDef","newValue","target","oldValue","Numeral","idx","subVals","findIndex","splice","uIdx","units","genUnits","u","vs","v","unitConversion","targetOpt","selectOptions","sValues","columnDefs","act","sF","sOpt","addOption","colDef","headerName","col_name","colDefExt","editable","cellParams","cellRenderer","c","molOptions","m","ext","colId","SampOption","samOptions","concat","headerComponent","headerParams","dtype","move","source","alles","sid","tid","temp","rowData","subFields","newSub","rows","_columnDefs","ch","col","colCss","minWidth","borderBottom","ColumnHeader","_rowValue","FormControl","InputGroup","h","ColumnRow","React","default","nm","Attachment","file","identifier","is_deleted","thumb","content_type","isNew","uploadFiles","properties","event","valIdx","console","log","showProperties","fObj","showField","cond_fields","cond","trim","toLowerCase","absOlsTermLabel","toNum","parse","Number","reV","supVal","toBool","valLower","String","SystemUnits","pre","pIdx","curr","convertTemp","conFlowEls","flow","properties_release","els","deep","elements","d","lKey","ll","chk","findKey","wf","startsWith","top","right","zIndex","icon","borderWidth","borderColor","borderStyle","flowDefault","x","y","swapAryEls","_ary","idx1","idx2","ary","link","document","createElement","download","href","window","MouseEvent","view","bubbles","cancelable","dispatchEvent","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","ButtonTooltip","tip","size","tooltip","bs","fnClick","place","fa","content","ButtonConfirm","msg","fnParams","popover","animation","useState","count","setCount","cur","currentFields","previousFields","result","currentValuKeys","previousValueKeys","notInCurrent","currObj","previousValues","keys","preKey","prev","option_layer","ButtonReload","klass","generic","fnReload","klass_uuid","BTN_RELOAD_TIP","outGeneric","output","reinventGeneric","changed","undefined","newProps","newLayer","curFields","curVal","nSubs","cSubs","exSubs","curIdx","curType","toString","parseInt","nSub","nvl","hitSub","organizeSubValues","fieldProps","canDrag","handleChange","btnAdd","klz","btnRemove","wfIcon","moveIcon","btnLayer","ButtonGroup","extHead","test","panelHeader","Panel","toggle","float","lineHeight","panelHColor","dndKlz","LayerModal","fnAdd","layout","show","fnClose","sortedLayers","sortBy","block","Modal","closeButton","overflow","orgLayerObject","reduce","ok","all","cnt","nName","GenPropertiesLayer","handleSubChange","moveLayer","k","t","valueOnly","sub","keyLayer","obj","update","cols","perRow","Math","floor","klaz","newRow","rowId","unit","rCol","eachCol","tabCol","Row","Col","priority","md","lg","handleClick","activeWF","cl","panelDnD","noneKlass","PanelGroup","accordion","defaultActiveKey","marginBottom","eventKey","views","funcChange","funcSubChange","funcClick","fnNavi","buildExtLys","extLys","uk","showLayer","reformCondFields","_layer","_oKey","_f","conds","n","traverseToRemove","rmKey","rms","prototype","hasOwnProperty","call","wf_info","source_layer","reducer","state","GenInterface","initialState","initializer","callbackRef","useRef","useReducer","dispatch","useEffect","current","callback","useReducerWithCallback","fnChange","extLayers","genId","isActiveWF","layersLayout","LayersLayout","select_options","selected","_source","_target","tmpSrc","tarIdx","propsChange","srcIdx","abs","tmpTar","wf_position","el","stopPropagation","selectedIdx","showViewLayer","selectedLayerKey","layerNext","fileIdx","vals","trunc","search_name","search_short_label","search_properties","idxSub","newVal","addLayerModal","origKey","selectedLayer","wf_uuid","ix","rmNeeded","preValue","nxLayer","nodeId","addAfter","templateFlow","sourceLayer","sIdx","nd","ls","animated","ndNs","ns","wfOpts","node_id","preLayer","oKey","srcPosition","_propertiesLayers","srcLayer","rmNode","GenericDSDetails","handleReload","genericDS","dataset_klass_id","klass_ols","ols_term_id","klass_label","margin","uiCtrl","kind","minHeight","overflowY","elementalPropertiesItem","ButtonToolbar","SegmentDetails","segment","onConnect","targetHandleStyle","background","sourceHandleStyleA","memo","Position","FlowView","reactFlowInstance","setReactFlowInstance","setElements","flowEls","fitView","onLoad","_reactFlowInstance","connectionMode","ConnectionMode","nodeTypes","selectorNode","LayerNode","deleteKeyCode","FlowViewerModal","fnHide","shortLabel","handle","bounds","library","fas","far","___CSS_LOADER_EXPORT___","__webpack_module_cache__","deferred","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","fn","notFulfilled","Infinity","r","fulfilled","j","every","getter","__esModule","definition","defineProperty","enumerable","get","g","globalThis","Function","hmd","create","children","set","Error","prop","Symbol","toStringTag","webpackJsonpCallback","parentChunkLoadingFunction","chunkId","moreModules","runtime","some","installedChunks","143","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
|